]> git.ipfire.org Git - thirdparty/libtool.git/commitdiff
Convert file name to toolchain format when invoking $NM.
authorPeter Rosin <peda@lysator.liu.se>
Fri, 10 Sep 2010 13:04:17 +0000 (15:04 +0200)
committerPeter Rosin <peda@lysator.liu.se>
Fri, 10 Sep 2010 13:04:17 +0000 (15:04 +0200)
* 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>
ChangeLog
libltdl/config/ltmain.m4sh

index 5d4876b9a71ba2ea2a081dbc6d2ee7d4a3f165eb..564589d30077e6bdd09e77861ff4016fc899654e 100644 (file)
--- a/ChangeLog
+++ b/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>
 
        Fix dependency tracking for MSYS/MinGW.
index b2d0f880f4e81f18bf81dec4eeb573d74fe7cc16..2b829d37f599b7eb07d389848f965a0d517b8d1a 100644 (file)
@@ -2505,8 +2505,9 @@ extern \"C\" {
          # Add our own program objects to the symbol list.
          progfiles=`$ECHO "$objs$old_deplibs" | $SP2NL | $SED "$lo2o" | $NL2SP`
          for progfile in $progfiles; do
-           func_verbose "extracting global C symbols from \`$progfile'"
-           $opt_dry_run || eval "$NM $progfile | $global_symbol_pipe >> '$nlist'"
+           func_to_tool_file "$progfile" func_convert_file_msys_to_w32
+           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
 
          if test -n "$exclude_expsyms"; then
@@ -2581,20 +2582,23 @@ extern \"C\" {
                    func_warning "Could not compute DLL name from $name"
                    eval '$ECHO ": $name " >> "$nlist"'
                  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'"
                }
              else # not an import lib
                $opt_dry_run || {
                  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
            ;;
            *)
              $opt_dry_run || {
                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
@@ -2756,7 +2760,8 @@ func_win32_libid ()
     # 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 |
        $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 '
            1,100{
                / I /{
@@ -2868,7 +2873,8 @@ func_cygming_dll_for_implib_fallback_core ()
 func_cygming_gnu_implib_p ()
 {
   $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"
 }
 
@@ -2879,7 +2885,8 @@ func_cygming_gnu_implib_p ()
 func_cygming_ms_implib_p ()
 {
   $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"
 }