mirror of
git://git.savannah.gnu.org/libtool.git
synced 2024-11-21 01:40:57 +08:00
* libltdl/config/ltmain.m4sh (func_mode_link): Also apply the
symbol filtering for w32 and the include_expsyms feature in the case of exceeded command line length. Fixes test failure on MinGW.
This commit is contained in:
parent
e92a00f7c0
commit
0d492f4144
@ -1,5 +1,10 @@
|
||||
2007-03-06 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
|
||||
|
||||
* libltdl/config/ltmain.m4sh (func_mode_link): Also apply the
|
||||
symbol filtering for w32 and the include_expsyms feature in the
|
||||
case of exceeded command line length. Fixes test failure on
|
||||
MinGW.
|
||||
|
||||
* tests/stresstest.at: For const data object imported from
|
||||
shared library, define appropriate macros to expand
|
||||
__declspec(dllimport) on w32. Use two different main objects
|
||||
|
@ -5381,6 +5381,28 @@ EOF
|
||||
fi
|
||||
fi
|
||||
|
||||
if ${skipped_export-false}; then
|
||||
if test -n "$export_symbols" && test -n "$include_expsyms"; then
|
||||
tmp_export_symbols="$export_symbols"
|
||||
test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols"
|
||||
$opt_dry_run || eval '$ECHO "X$include_expsyms" | $Xsed | $SP2NL >> "$tmp_export_symbols"'
|
||||
fi
|
||||
|
||||
if test -n "$orig_export_symbols"; then
|
||||
# The given exports_symbols file has to be filtered, so filter it.
|
||||
func_echo "filter symbol list for \`$libname.la' to tag DATA exports"
|
||||
# FIXME: $output_objdir/$libname.filter potentially contains lots of
|
||||
# 's' commands which not all seds can handle. GNU sed should be fine
|
||||
# though. Also, the filter scales superlinearly with the number of
|
||||
# global variables. join(1) would be nice here, but unfortunately
|
||||
# isn't a blessed tool.
|
||||
$opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter
|
||||
delfiles="$delfiles $export_symbols $output_objdir/$libname.filter"
|
||||
export_symbols=$output_objdir/$libname.def
|
||||
$opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols
|
||||
fi
|
||||
fi
|
||||
|
||||
libobjs=$output
|
||||
# Restore the value of output.
|
||||
output=$save_output
|
||||
|
Loading…
Reference in New Issue
Block a user