This is the mail archive of the
cygwin-xfree@cygwin.com
mailing list for the Cygwin XFree86 project.
cygwin.rules - Enabling shared libXt finally?
- From: Harold L Hunt II <huntharo at msu dot edu>
- To: cygx <cygwin-xfree at cygwin dot com>
- Date: Tue, 30 Sep 2003 20:50:49 -0400
- Subject: cygwin.rules - Enabling shared libXt finally?
- Reply-to: cygwin-xfree at cygwin dot com
With the release of Cygwin 1.5.x and newer versions of binutils, can we
finally make libXt a shared library?
I have been working with Alan to try to build a shared version of the
library, but I keep getting the following message upon startup of
Xt-dependent apps:
Error: Unresolved inheritance operation
This error message comes from xc/lib/Xt/Initialize.c/XtInitialize().
This function has been the root of our problems for some time now. IBM
and Sun have ways to work around similar problems with XtInitialize,
thus the file xc/lib/Xt/sharedlib.c. Also, looking in
xc/config/cf/ibmLib.rules/SharedLibraryTarget shows that they manually
call 'ar' to link sharedlib.o into the equivalent of libXt-6.dll.a.
I have been able to manually add sharedlib.o to libXt-6.dll.a by running
the following command:
ar cq libXt-6.dll.a sharedlib.o
I am looking for some help at finding a pragmatic solution to this.
First of all, I want to take a survey of whether anyone thinks we
actually have the necessary support in binutils to do this yet.
Secondly, I want to know if anyone can help me to figure out how to do this.
Note that the first thing to do is edit xc/config/cf/cygwin.rules and
change the Xt, Xaw, Xmu, etc. shared lib flags from NO to YES. After
that, you can add $(UNSHAREDOBJS) to your
cygwin.rules/SharedLibraryTarget dependencies. This will cause
xc/lib/Xt/sharedlib.o to be built automatically, but it will not be
linked by default.
Awaiting some input,
Harold