This is the mail archive of the
cygwin-xfree@cygwin.com
mailing list for the Cygwin XFree86 project.
RE: [XFree86-4.2.0] Now that we have an improved ld, please make libXt a shared library.
- From: "Ralf Habacker" <Ralf dot Habacker at freenet dot de>
- To: <cygwin-xfree at cygwin dot com>
- Date: Mon, 28 Jul 2003 20:49:04 +0200
- Subject: RE: [XFree86-4.2.0] Now that we have an improved ld, please make libXt a shared library.
- Reply-to: cygwin-xfree at cygwin dot com
Hi Alexander,
>
> for libXt it uses the direct address. For every other library using
> the libXt.dll it uses the address from the stub.
I see, this is another case. Please take a look into xc/lib/xt/Initialize.c and
xc/lib/xt/sharedlib.c which provides such a case for another os. I don't
understand the xfree build system very well, so I can't provide a working
solution for this, but in fact _XtInherit() should be located in the xt import
library, which references __XtInherit() which is located in the real xt dll.
Cheers
Ralf
<snip>
#ifdef SUNSHLIB
/*
* _XtInherit needs to be statically linked since it is compared against as
* well as called.
*/
void _XtInherit()
{
extern void __XtInherit();
__XtInherit();
}
#endif
In sharedlib.c there is similar code
<snip>
#ifdef SUNSHLIB
void _XtInherit()
{
extern void __XtInherit();
__XtInherit();
}
#define _XtInherit __XtInherit
#endif
void _XtInherit()
{
XtErrorMsg("invalidProcedure","inheritanceProc",XtCXtToolkitError,
"Unresolved inheritance operation",
(String *)NULL, (Cardinal *)NULL);
}