This is the mail archive of the cygwin-xfree@cygwin.com mailing list for the Cygwin XFree86 project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

cygwin.rules - Enabling shared libXt finally?


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]