[XFree86-4.2.0] Now that we have an improved ld, please make libXt a shared library.
Ralf Habacker
Ralf.Habacker@freenet.de
Mon Jul 28 18:48:00 GMT 2003
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);
}
More information about the Cygwin-xfree
mailing list