libtool
[Top][All Lists]
Advanced

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

Suggested minor patches for Win32


From: Tor Lillqvist
Subject: Suggested minor patches for Win32
Date: Fri, 26 Apr 2002 12:30:13 +0300 (EEST)

Hi,

For the current CVS libtool, I suggest the following patches:

- Pass the --enable-auto-image-base switch to the linker when building
a DLL.

- Grep case-insentively for drive letters in the gcc -print-search-dirs
output.

Index: libtool.m4
===================================================================
RCS file: /cvs/libtool/libtool.m4,v
retrieving revision 1.253
diff -u -2 -r1.253 libtool.m4
--- libtool.m4  24 Apr 2002 14:39:31 -0000      1.253
+++ libtool.m4  26 Apr 2002 09:20:48 -0000
@@ -488,5 +488,5 @@
     CFLAGS="$CFLAGS -mdll"
     AC_CACHE_CHECK([how to link DLLs], lt_cv_cc_dll_switch,
-      [AC_TRY_LINK([], [], 
[lt_cv_cc_dll_switch=-mdll],[lt_cv_cc_dll_switch=-dll])])
+      [AC_TRY_LINK([], [], [lt_cv_cc_dll_switch='-mdll 
-Wl,--enable-auto-image-base'],[lt_cv_cc_dll_switch=-dll])])
     CFLAGS="$SAVE_CFLAGS" ;;
   *-*-cygwin* | *-*-pw32*)
@@ -1104,5 +1104,5 @@
     library_names_spec='${libname}`echo ${release} | sed -e 
's/[[.]]/-/g'`${versuffix}.dll'
     sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | 
sed -e "s/^libraries://"`
-    if echo "$sys_lib_search_path_spec" | [egrep ';[C-Z]:/' >/dev/null]; then
+    if echo "$sys_lib_search_path_spec" | [egrep -i ';[C-Z]:/' >/dev/null]; 
then
       # It is most probably a Windows format PATH printed by
       # mingw gcc, but we are running on Cygwin. Gcc prints its search

Don't relink on Win32. Or have I misunderstood, is the relink phase
really sometime useful?

Index: ltmain.in
===================================================================
RCS file: /cvs/libtool/ltmain.in,v
retrieving revision 1.293
diff -u -2 -r1.293 ltmain.in
--- ltmain.in   14 Apr 2002 21:34:04 -0000      1.293
+++ ltmain.in   26 Apr 2002 09:20:54 -0000
@@ -2079,8 +2079,15 @@
        if test -n "$library_names" &&
           { test "$prefer_static_libs" = no || test -z "$old_library"; }; then
-         if test "$installed" = no; then
-           notinst_deplibs="$notinst_deplibs $lib"
-           need_relink=yes
-         fi
+         case $host in
+         *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
+           # I don't see the point of relinking Win32 DLLs?
+           ;;
+         *)
+           if test "$installed" = no; then
+             notinst_deplibs="$notinst_deplibs $lib"
+             need_relink=yes
+           fi
+           ;;
+         esac
          # This is a shared library
          if test "$linkmode" = lib &&




reply via email to

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