libtool-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Mingw-users] libtool, dlls and -lm


From: Bob Friesenhahn
Subject: Re: [Mingw-users] libtool, dlls and -lm
Date: Mon, 19 Dec 2005 11:46:21 -0600 (CST)

On Mon, 19 Dec 2005, Ralf Wildenhues wrote:

Alternatively, just to try whether this works at all, you could
edit the libtool script directly and change
 deplibs_check_method="file_magic ^x86 archive import|^x86 DLL"

and
 file_magic_cmd="func_win32_libid"

once for each tag (for C: at the beginning of the script; for C++ etc.
at the very end).

Question to libtool folks: OK to apply this patch?

There are other reasons not to find the 'file' command. For example, it does not appear to be provided with the MSYS environment. But objdump is provided with MinGW. That is why I had MinGW using objdump while Cygwin uses file.

The patch assumes particular output from the 'file' command. Since there is no standard 'file' command provided with MSYS/MinGW, is this safe? What if MinGW is used in a cross-development environment (e.g. some *BSD environment) which uses a different 'file' program than expected?

Bob

       * libtool.m4 (AC_DEPLIBS_CHECK_METHOD) [ mingw, pw32 ]:
       If `file' is present, use `func_win32_libid' rather than
       `objdump -f', to facilitate cross-compilation.
       Reported by Pierre Ossman <address@hidden>.

Index: libtool.m4
===================================================================
RCS file: /cvsroot/libtool/libtool/Attic/libtool.m4,v
retrieving revision 1.314.2.145
diff -u -r1.314.2.145 libtool.m4
--- libtool.m4  18 Dec 2005 22:14:06 -0000      1.314.2.145
+++ libtool.m4  19 Dec 2005 12:47:58 -0000
@@ -2295,9 +2295,15 @@

mingw* | pw32*)
  # Base MSYS/MinGW do not provide the 'file' command needed by
-  # func_win32_libid shell function, so use a weaker test based on 'objdump'.
-  lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: 
i386)?'
-  lt_cv_file_magic_cmd='$OBJDUMP -f'
+  # func_win32_libid shell function, so use a weaker test based on 'objdump',
+  # unless we find 'file', for example because we are cross-compiling.
+  if ( file / ) >/dev/null 2>&1; then
+    lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
+    lt_cv_file_magic_cmd='func_win32_libid'
+  else
+    lt_cv_deplibs_check_method='file_magic file format 
pei*-i386(.*architecture: i386)?'
+    lt_cv_file_magic_cmd='$OBJDUMP -f'
+  fi
  ;;

darwin* | rhapsody*)



======================================
Bob Friesenhahn
address@hidden, http://www.simplesystems.org/users/bfriesen/
GraphicsMagick Maintainer,    http://www.GraphicsMagick.org/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]