>From acf4b65fb20f86e0757f13a0dce11c1fb27411d3 Mon Sep 17 00:00:00 2001
From: Peter Rosin <p...@lysator.liu.se>
Date: Wed, 1 Sep 2010 22:03:23 +0200
Subject: [PATCH 6/7] 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.

Signed-off-by: Peter Rosin <p...@lysator.liu.se>
---
 ChangeLog                  |    9 +++++++++
 libltdl/config/ltmain.m4sh |   23 +++++++++++++++--------
 2 files changed, 24 insertions(+), 8 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index d086d9a..06d2e76 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2010-09-01  Peter Rosin  <p...@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.
+
 2010-08-25  Peter Rosin  <p...@lysator.liu.se>
 
        Convert POSIX file names to toolchain format for MSVC
diff --git a/libltdl/config/ltmain.m4sh b/libltdl/config/ltmain.m4sh
index 1a49977..f75f6af 100644
--- a/libltdl/config/ltmain.m4sh
+++ b/libltdl/config/ltmain.m4sh
@@ -2499,8 +2499,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_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
@@ -2575,20 +2576,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"
+                 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"
+                 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"
+               eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | 
$global_symbol_pipe >> '$nlist'"
              }
            ;;
           esac
@@ -2750,7 +2754,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"
+      win32_nmres=`eval $NM -f posix -A \"$func_to_tool_file_result\" |
        $SED -n -e '
            1,100{
                / I /{
@@ -2862,7 +2867,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_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"
 }
 
@@ -2873,7 +2879,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_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"
 }
 
-- 
1.7.1

Reply via email to