mirror of
https://https.git.savannah.gnu.org/git/libtool.git
synced 2026-01-26 15:39:10 +00:00
Support for response files with $NM.
* libltdl/m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS) <nm_file_list_spec>: New tag variable. Set it to '@' if input files can be passed to $NM in a file named with the '@' option. * libltdl/config/ltmain.m4sh (func_mode_link): When nm_file_list_spec is nonempty, use it to avoid skipped_export. * doc/libtool.texi (libtool script contents): Document new variable.
This commit is contained in:
parent
1e7ce72416
commit
0b56641c03
12
ChangeLog
12
ChangeLog
@ -1,3 +1,15 @@
|
||||
2010-07-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
|
||||
Peter Rosin <peda@lysator.liu.se>
|
||||
|
||||
Support for response files with $NM.
|
||||
* libltdl/m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS)
|
||||
<nm_file_list_spec>: New tag variable. Set it to '@' if input
|
||||
files can be passed to $NM in a file named with the '@' option.
|
||||
* libltdl/config/ltmain.m4sh (func_mode_link): When
|
||||
nm_file_list_spec is nonempty, use it to avoid skipped_export.
|
||||
* doc/libtool.texi (libtool script contents): Document
|
||||
new variable.
|
||||
|
||||
2010-07-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
|
||||
|
||||
Fix ccache test for MSVC.
|
||||
|
||||
@ -6171,6 +6171,10 @@ Whether files must be locked to prevent conflicts when compiling
|
||||
simultaneously. Set to @samp{yes} or @samp{no}.
|
||||
@end defvar
|
||||
|
||||
@defvar nm_file_list_spec
|
||||
Specify filename containing input files for @code{NM}.
|
||||
@end defvar
|
||||
|
||||
@defvar no_builtin_flag
|
||||
Compiler flag to disable builtin functions that conflict with declaring
|
||||
external global symbols as @code{char}.
|
||||
|
||||
@ -6719,14 +6719,30 @@ EOF
|
||||
$opt_dry_run || $RM $export_symbols
|
||||
cmds=$export_symbols_cmds
|
||||
save_ifs="$IFS"; IFS='~'
|
||||
for cmd in $cmds; do
|
||||
for cmd1 in $cmds; do
|
||||
IFS="$save_ifs"
|
||||
eval cmd=\"$cmd\"
|
||||
eval cmd=\"$cmd1\"
|
||||
func_len " $cmd"
|
||||
len=$func_len_result
|
||||
if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
|
||||
func_show_eval "$cmd" 'exit $?'
|
||||
skipped_export=false
|
||||
elif test -n "$nm_file_list_spec"; then
|
||||
output_la=`$ECHO "X$output" | $Xsed -e "$basename"`
|
||||
save_libobjs=$libobjs
|
||||
save_output=$output
|
||||
output=${output_objdir}/${output_la}.nm
|
||||
libobjs=$nm_file_list_spec$output
|
||||
func_append delfiles " $output"
|
||||
func_verbose "creating $NM input file list: $output"
|
||||
for obj in $save_libobjs; do
|
||||
$ECHO "$obj"
|
||||
done > "$output"
|
||||
eval cmd=\"$cmd1\"
|
||||
func_show_eval "$cmd" 'exit $?'
|
||||
output=$save_output
|
||||
libobjs=$save_libobjs
|
||||
skipped_export=false
|
||||
else
|
||||
# The command line is too long to execute in one step.
|
||||
func_verbose "using reloadable object file for export list..."
|
||||
|
||||
9
libltdl/m4/libtool.m4
vendored
9
libltdl/m4/libtool.m4
vendored
@ -3615,6 +3615,13 @@ else
|
||||
AC_MSG_RESULT(ok)
|
||||
fi
|
||||
|
||||
# Response file support.
|
||||
if test "$lt_cv_nm_interface" = "MS dumpbin"; then
|
||||
nm_file_list_spec='@'
|
||||
elif $NM --help 2>/dev/null | grep '[[@]]FILE' >/dev/null; then
|
||||
nm_file_list_spec='@'
|
||||
fi
|
||||
|
||||
_LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1],
|
||||
[Take the output of nm and produce a listing of raw symbols and C names])
|
||||
_LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1],
|
||||
@ -3625,6 +3632,8 @@ _LT_DECL([global_symbol_to_c_name_address],
|
||||
_LT_DECL([global_symbol_to_c_name_address_lib_prefix],
|
||||
[lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1],
|
||||
[Transform the output of nm in a C name address pair when lib prefix is needed])
|
||||
_LT_DECL([], [nm_file_list_spec], [1],
|
||||
[Specify filename containing input files for $NM])
|
||||
]) # _LT_CMD_GLOBAL_SYMBOLS
|
||||
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user