mirror of
git://git.savannah.gnu.org/libtool.git
synced 2025-01-18 14:16:00 +08:00
* ltconfig.in (export_symbols_cmds): Add $convenience.
(cygwin, export_symbols_cmds): Ditto. * ltmain.in: Generate export symbol list before expanding convenience libraries, to avoid passing whole_archive_flag_spec to $NM. Reported by Godmar Back <gback@cs.utah.edu>
This commit is contained in:
parent
6b6c388699
commit
ec523ab5d2
@ -1,3 +1,12 @@
|
|||||||
|
1999-05-27 Alexandre Oliva <oliva@dcc.unicamp.br>
|
||||||
|
|
||||||
|
* ltconfig.in (export_symbols_cmds): Add $convenience.
|
||||||
|
(cygwin, export_symbols_cmds): Ditto.
|
||||||
|
* ltmain.in: Generate export symbol list before expanding
|
||||||
|
convenience libraries, to avoid passing whole_archive_flag_spec to
|
||||||
|
$NM.
|
||||||
|
Reported by Godmar Back <gback@cs.utah.edu>
|
||||||
|
|
||||||
1999-05-27 David Jones <jones@mosaid.com>
|
1999-05-27 David Jones <jones@mosaid.com>
|
||||||
|
|
||||||
* libltdl/ltdl.c (LTDL_BIND_FLAGS): Remove BIND_VERBOSE, to avoid
|
* libltdl/ltdl.c (LTDL_BIND_FLAGS): Remove BIND_VERBOSE, to avoid
|
||||||
|
@ -1051,7 +1051,7 @@ hardcode_shlibpath_var=unsupported
|
|||||||
runpath_var=
|
runpath_var=
|
||||||
link_all_deplibs=unknown
|
link_all_deplibs=unknown
|
||||||
always_export_symbols=no
|
always_export_symbols=no
|
||||||
export_symbols_cmds='$NM $libobjs | $global_symbol_pipe | sed '\''s/.* //'\'' | sort | uniq > $export_symbols'
|
export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | sed '\''s/.* //'\'' | sort | uniq > $export_symbols'
|
||||||
# include_expsyms should be a list of space-separated symbols to be *always*
|
# include_expsyms should be a list of space-separated symbols to be *always*
|
||||||
# included in the symbol list
|
# included in the symbol list
|
||||||
include_expsyms=
|
include_expsyms=
|
||||||
@ -1145,7 +1145,7 @@ EOF
|
|||||||
export_symbols_cmds='rm -f $objdir/$soname-ltdll.c~
|
export_symbols_cmds='rm -f $objdir/$soname-ltdll.c~
|
||||||
sed -e "/^# \/\* ltdll\.c starts here \*\//,/^# \/\* ltdll.c ends here \*\// { s/^# //; p; }" -e d < $0 > $objdir/$soname-ltdll.c~
|
sed -e "/^# \/\* ltdll\.c starts here \*\//,/^# \/\* ltdll.c ends here \*\// { s/^# //; p; }" -e d < $0 > $objdir/$soname-ltdll.c~
|
||||||
(cd $objdir && $CC -c $soname-ltdll.c)~
|
(cd $objdir && $CC -c $soname-ltdll.c)~
|
||||||
$DLLTOOL --export-all --exclude-symbols DllMain@12,_cygwin_dll_entry@12,_cygwin_noncygwin_dll_entry@12 --output-def $objdir/$soname-def $objdir/$soname-ltdll.$objext $libobjs~
|
$DLLTOOL --export-all --exclude-symbols DllMain@12,_cygwin_dll_entry@12,_cygwin_noncygwin_dll_entry@12 --output-def $objdir/$soname-def $objdir/$soname-ltdll.$objext $libobjs $convenience~
|
||||||
sed -e "1,/EXPORTS/d" -e "s/ @ [0-9]* ;.*//" < $objdir/$soname-def > $export_symbols'
|
sed -e "1,/EXPORTS/d" -e "s/ @ [0-9]* ;.*//" < $objdir/$soname-def > $export_symbols'
|
||||||
|
|
||||||
archive_expsym_cmds='echo EXPORTS > $objdir/$soname-def~
|
archive_expsym_cmds='echo EXPORTS > $objdir/$soname-def~
|
||||||
|
54
ltmain.in
54
ltmain.in
@ -2196,6 +2196,33 @@ EOF
|
|||||||
# Use standard objects if they are pic
|
# Use standard objects if they are pic
|
||||||
test -z "$pic_flag" && libobjs=`$echo "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
|
test -z "$pic_flag" && libobjs=`$echo "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
|
||||||
|
|
||||||
|
# Prepare the list of exported symbols
|
||||||
|
if test -z "$export_symbols"; then
|
||||||
|
if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then
|
||||||
|
$show "generating symbol list for \`$libname.la'"
|
||||||
|
export_symbols="$output_objdir/$libname.exp"
|
||||||
|
$run $rm $export_symbols
|
||||||
|
eval cmds=\"$export_symbols_cmds\"
|
||||||
|
IFS="${IFS= }"; save_ifs="$IFS"; IFS='~'
|
||||||
|
for cmd in $cmds; do
|
||||||
|
IFS="$save_ifs"
|
||||||
|
$show "$cmd"
|
||||||
|
$run eval "$cmd" || exit $?
|
||||||
|
done
|
||||||
|
IFS="$save_ifs"
|
||||||
|
if test -n "$export_symbols_regex"; then
|
||||||
|
$show "egrep -e \"$export_symbols_regex\" \"$export_symbols\" > \"${export_symbols}T\""
|
||||||
|
$run eval 'egrep -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
|
||||||
|
$show "$mv \"${export_symbols}T\" \"$export_symbols\""
|
||||||
|
$run eval '$mv "${export_symbols}T" "$export_symbols"'
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test -n "$export_symbols" && test -n "$include_expsyms"; then
|
||||||
|
$run eval '$echo "X$include_expsyms" | $SP2NL >> "$export_symbols"'
|
||||||
|
fi
|
||||||
|
|
||||||
if test -n "$whole_archive_flag_spec"; then
|
if test -n "$whole_archive_flag_spec"; then
|
||||||
if test -n "$convenience"; then
|
if test -n "$convenience"; then
|
||||||
eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
|
eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
|
||||||
@ -2241,33 +2268,6 @@ EOF
|
|||||||
linker_flags="$linker_flags $flag"
|
linker_flags="$linker_flags $flag"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Prepare the list of exported symbols
|
|
||||||
if test -z "$export_symbols"; then
|
|
||||||
if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then
|
|
||||||
$show "generating symbol list for \`$libname.la'"
|
|
||||||
export_symbols="$output_objdir/$libname.exp"
|
|
||||||
$run $rm $export_symbols
|
|
||||||
eval cmds=\"$export_symbols_cmds\"
|
|
||||||
IFS="${IFS= }"; save_ifs="$IFS"; IFS='~'
|
|
||||||
for cmd in $cmds; do
|
|
||||||
IFS="$save_ifs"
|
|
||||||
$show "$cmd"
|
|
||||||
$run eval "$cmd" || exit $?
|
|
||||||
done
|
|
||||||
IFS="$save_ifs"
|
|
||||||
if test -n "$export_symbols_regex"; then
|
|
||||||
$show "egrep -e \"$export_symbols_regex\" \"$export_symbols\" > \"${export_symbols}T\""
|
|
||||||
$run eval 'egrep -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
|
|
||||||
$show "$mv \"${export_symbols}T\" \"$export_symbols\""
|
|
||||||
$run eval '$mv "${export_symbols}T" "$export_symbols"'
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test -n "$export_symbols" && test -n "$include_expsyms"; then
|
|
||||||
$run eval '$echo "X$include_expsyms" | $SP2NL >> "$export_symbols"'
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Do each of the archive commands.
|
# Do each of the archive commands.
|
||||||
if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
|
if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
|
||||||
eval cmds=\"$archive_expsym_cmds\"
|
eval cmds=\"$archive_expsym_cmds\"
|
||||||
|
Loading…
Reference in New Issue
Block a user