msvc: don't try to export import descriptors.

* libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS) [cygwin, mingw]
[pw32, cegcc] <cl*, exclude_expsyms>: Don't export symbols in
import libraries related to describing what dll(s) the import
library is importing. Fixes problem in tests/demo-make.test
and some other tests.

Signed-off-by: Peter Rosin <peda@lysator.liu.se>
This commit is contained in:
Peter Rosin 2010-09-24 08:44:24 +02:00
parent 67bbe0490f
commit 888582c631
2 changed files with 13 additions and 1 deletions

View File

@ -1,3 +1,12 @@
2010-09-23 Peter Rosin <peda@lysator.liu.se>
msvc: don't try to export import descriptors.
* libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS) [cygwin, mingw]
[pw32, cegcc] <cl*, exclude_expsyms>: Don't export symbols in
import libraries related to describing what dll(s) the import
library is importing. Fixes problem in tests/demo-make.test
and some other tests.
2010-09-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Fix regression in command-line length computation.

View File

@ -4492,7 +4492,9 @@ m4_if([$1], [CXX], [
;;
cygwin* | mingw* | cegcc*)
case $cc_basename in
cl*) ;;
cl*)
_LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
;;
*)
_LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
_LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname']
@ -5064,6 +5066,7 @@ _LT_EOF
# The linker will not automatically build a static lib if we build a DLL.
# _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
_LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
_LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1,DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols'
# Don't use ranlib
_LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'