mirror of
git://git.savannah.gnu.org/libtool.git
synced 2024-11-27 06:09:57 +08:00
Convert file name to toolchain format when invoking $NM.
* libltdl/config/ltmain.m4sh (func_generate_dlsyms) (func_win32_libid, func_cygming_gnu_implib_p) (func_cygming_ms_implib_p): When using the name lister to find symbols in files, convert the file names to a format appropriate for the tool. Fixes testsuite issues in mdemo-static-make.test and mdemo-make.test when doing a cross from Cygwin/Wine to MinGW using MinGW native tools (a.k.a. a "faked" cross). Signed-off-by: Peter Rosin <peda@lysator.liu.se>
This commit is contained in:
parent
18a85621b9
commit
7db93c0218
11
ChangeLog
11
ChangeLog
@ -1,3 +1,14 @@
|
|||||||
|
2010-09-10 Peter Rosin <peda@lysator.liu.se>
|
||||||
|
|
||||||
|
Convert file name to toolchain format when invoking $NM.
|
||||||
|
* libltdl/config/ltmain.m4sh (func_generate_dlsyms)
|
||||||
|
(func_win32_libid, func_cygming_gnu_implib_p)
|
||||||
|
(func_cygming_ms_implib_p): When using the name lister to find
|
||||||
|
symbols in files, convert the file names to a format appropriate
|
||||||
|
for the tool. Fixes testsuite issues in mdemo-static-make.test
|
||||||
|
and mdemo-make.test when doing a cross from Cygwin/Wine to MinGW
|
||||||
|
using MinGW native tools (a.k.a. a "faked" cross).
|
||||||
|
|
||||||
2010-09-09 Peter Rosin <peda@lysator.liu.se>
|
2010-09-09 Peter Rosin <peda@lysator.liu.se>
|
||||||
|
|
||||||
Fix dependency tracking for MSYS/MinGW.
|
Fix dependency tracking for MSYS/MinGW.
|
||||||
|
@ -2505,8 +2505,9 @@ extern \"C\" {
|
|||||||
# Add our own program objects to the symbol list.
|
# Add our own program objects to the symbol list.
|
||||||
progfiles=`$ECHO "$objs$old_deplibs" | $SP2NL | $SED "$lo2o" | $NL2SP`
|
progfiles=`$ECHO "$objs$old_deplibs" | $SP2NL | $SED "$lo2o" | $NL2SP`
|
||||||
for progfile in $progfiles; do
|
for progfile in $progfiles; do
|
||||||
func_verbose "extracting global C symbols from \`$progfile'"
|
func_to_tool_file "$progfile" func_convert_file_msys_to_w32
|
||||||
$opt_dry_run || eval "$NM $progfile | $global_symbol_pipe >> '$nlist'"
|
func_verbose "extracting global C symbols from \`$func_to_tool_file_result'"
|
||||||
|
$opt_dry_run || eval "$NM $func_to_tool_file_result | $global_symbol_pipe >> '$nlist'"
|
||||||
done
|
done
|
||||||
|
|
||||||
if test -n "$exclude_expsyms"; then
|
if test -n "$exclude_expsyms"; then
|
||||||
@ -2581,20 +2582,23 @@ extern \"C\" {
|
|||||||
func_warning "Could not compute DLL name from $name"
|
func_warning "Could not compute DLL name from $name"
|
||||||
eval '$ECHO ": $name " >> "$nlist"'
|
eval '$ECHO ": $name " >> "$nlist"'
|
||||||
fi
|
fi
|
||||||
eval "$NM $dlprefile 2>/dev/null | $global_symbol_pipe |
|
func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32
|
||||||
|
eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe |
|
||||||
$SED -e '/I __imp/d' -e 's/I __nm_/D /;s/_nm__//' >> '$nlist'"
|
$SED -e '/I __imp/d' -e 's/I __nm_/D /;s/_nm__//' >> '$nlist'"
|
||||||
}
|
}
|
||||||
else # not an import lib
|
else # not an import lib
|
||||||
$opt_dry_run || {
|
$opt_dry_run || {
|
||||||
eval '$ECHO ": $name " >> "$nlist"'
|
eval '$ECHO ": $name " >> "$nlist"'
|
||||||
eval "$NM $dlprefile 2>/dev/null | $global_symbol_pipe >> '$nlist'"
|
func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32
|
||||||
|
eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'"
|
||||||
}
|
}
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
$opt_dry_run || {
|
$opt_dry_run || {
|
||||||
eval '$ECHO ": $name " >> "$nlist"'
|
eval '$ECHO ": $name " >> "$nlist"'
|
||||||
eval "$NM $dlprefile 2>/dev/null | $global_symbol_pipe >> '$nlist'"
|
func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32
|
||||||
|
eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'"
|
||||||
}
|
}
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
@ -2756,7 +2760,8 @@ func_win32_libid ()
|
|||||||
# Keep the egrep pattern in sync with the one in _LT_CHECK_MAGIC_METHOD.
|
# Keep the egrep pattern in sync with the one in _LT_CHECK_MAGIC_METHOD.
|
||||||
if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null |
|
if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null |
|
||||||
$EGREP 'file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' >/dev/null; then
|
$EGREP 'file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' >/dev/null; then
|
||||||
win32_nmres=`eval $NM -f posix -A $1 |
|
func_to_tool_file "$1" func_convert_file_msys_to_w32
|
||||||
|
win32_nmres=`eval $NM -f posix -A \"$func_to_tool_file_result\" |
|
||||||
$SED -n -e '
|
$SED -n -e '
|
||||||
1,100{
|
1,100{
|
||||||
/ I /{
|
/ I /{
|
||||||
@ -2868,7 +2873,8 @@ func_cygming_dll_for_implib_fallback_core ()
|
|||||||
func_cygming_gnu_implib_p ()
|
func_cygming_gnu_implib_p ()
|
||||||
{
|
{
|
||||||
$opt_debug
|
$opt_debug
|
||||||
func_cygming_gnu_implib_tmp=`$NM $1 | eval "$global_symbol_pipe" | $EGREP ' (_head_[A-Za-z0-9_]+_[ad]l*|[A-Za-z0-9_]+_[ad]l*_iname)$'`
|
func_to_tool_file "$1" func_convert_file_msys_to_w32
|
||||||
|
func_cygming_gnu_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $EGREP ' (_head_[A-Za-z0-9_]+_[ad]l*|[A-Za-z0-9_]+_[ad]l*_iname)$'`
|
||||||
test -n "$func_cygming_gnu_implib_tmp"
|
test -n "$func_cygming_gnu_implib_tmp"
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2879,7 +2885,8 @@ func_cygming_gnu_implib_p ()
|
|||||||
func_cygming_ms_implib_p ()
|
func_cygming_ms_implib_p ()
|
||||||
{
|
{
|
||||||
$opt_debug
|
$opt_debug
|
||||||
func_cygming_ms_implib_tmp=`$NM $1 | eval "$global_symbol_pipe" | $GREP '_NULL_IMPORT_DESCRIPTOR'`
|
func_to_tool_file "$1" func_convert_file_msys_to_w32
|
||||||
|
func_cygming_ms_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $GREP '_NULL_IMPORT_DESCRIPTOR'`
|
||||||
test -n "$func_cygming_ms_implib_tmp"
|
test -n "$func_cygming_ms_implib_tmp"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user