|
From: | Charles Wilson |
Subject: | Re: How do I export only specific symbols? What name should I pass to lt_dlopen? |
Date: | Sun, 17 Feb 2002 13:03:24 -0500 |
User-agent: | Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:0.9.4) Gecko/20011019 Netscape6/6.2 |
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 Makefile.am: [snip] lib_LTLIBRARIES = libsk.la 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.
--Chuck
[Prev in Thread] | Current Thread | [Next in Thread] |