This is the mail archive of the mailing list for the Cygwin 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]

Re: How do I export only specific symbols? What name should I pass to lt_dlopen?

Stephano Mariani wrote:

> Hello,
> I am using the current libtool with cygwin 1.3.9 (all packages up to
> date as of this morning):
> libtool             20010531a-1
> libtool-devel       20020202-1
> libtool-devel-src   20020202-1
> libtool-stable      1.4.2-2
> My project has to run on windows (NT/2000/XP) and Linux (2.4.9) and
> Solaris (8).
> Here is the relevant portion of the makefile
> [snip]
> libsk_la_SOURCES = ...
> libsk_la_LDFLAGS = -no-undefined -export-dynamic -version-info 1:0:0
> -module -export-symbols sk.sym

libtool uses '--export-all-symbols' in its link command, which 
apparently overrides your '-export-symbols sk.sym' option.  (BTW, 
-export-dynamic seems to have no effect in cygwin binutils.)

However, including a .def file in the list of objects to be linked will 
override '--export-all-symbols'.  I think.

> [/snip]
> However, when examining the libsk.dll.a on windows, ALL the symbols are
> exported! I have yet to see if the patched libtool even works on Linux
> or Solaris.

It works on Linux, for me.

> How do I specify a .def file for windows targets? The .sym seems to make
> no difference.

You need to figure out how to add the .def file to libsk_la_OBJECTS -- 
I'm not sure how to do that. As far as doing it conditionally (e.g. only 
on windows) -- first things first: figure out how to add it AT 
ALL...then worry about conditionalizing it.


Unsubscribe info:
Bug reporting:

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