Hi Tor,

On Wednesday 21 February 2001  4:36 pm, Tor Lillqvist wrote:
> New try... I changed "lib" to "cyg" in the wrong place. Sorry. Now it
> should affect only the name of the dll (and related files), I hope.

I split your patch into two and applied to the HEAD branch.  I also ported
both patches to the multi-language-branch.  Please test these for me, since
I don't have a working cygwin at the moment...

The attached files are FYI, and represent the commits I made to HEAD.

Cheers,
        Gary.
-- 
  ___              _   ___   __              _         mailto: [EMAIL PROTECTED]
 / __|__ _ _ ___ _| | / / | / /_ _ _  _ __ _| |_  __ _ ___       [EMAIL PROTECTED]
| (_ / _` | '_|// / |/ /| |/ / _` | || / _` | ' \/ _` | _ \
 \___\__,_|_|\_, /|___(_)___/\__,_|\_,_\__, |_||_\__,_|//_/
home page:  /___/                      /___/                  gpg public key:
http://www.oranda.demon.co.uk           http://www.oranda.demon.co.uk/key.asc
from  Gary V. Vaughan  <[EMAIL PROTECTED]>

        * libtool.m4 (library_names_spec): Use an appropriate filename
        prefix for dlls -- lib for mingw; cyg for cygwin; pw for pw32.
        From Tor Lillqvist <[EMAIL PROTECTED]>

Index: libtool.m4
===================================================================
RCS file: /cvsroot/libtool/libtool/libtool.m4,v
retrieving revision 1.145
diff -u -r1.145 libtool.m4
--- libtool.m4 2001/03/06 11:20:37 1.145
+++ libtool.m4 2001/03/07 00:26:48
@@ -1818,11 +1818,21 @@
   version_type=windows
   need_version=no
   need_lib_prefix=no
-  if test "$GCC" = yes; then
-    library_names_spec='${libname}`echo ${release} | [sed -e 
's/[.]/-/g']`${versuffix}.dll'
-  else
-    library_names_spec='${libname}`echo ${release} | [sed -e 
's/[.]/-/g']`${versuffix}.dll $libname.lib'
-  fi
+  case $GCC,$host_os in
+  yes,cygwin*)
+    library_names_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | 
+[sed -e 's/[.]/-/g']`${versuffix}.dll'
+    ;;
+  yes,mingw*)
+    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://" -e "s/;/ /g"`
+    ;;
+  yes,pw32*)
+    library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | sed 
+-e 's/[.]/-/g'`${versuffix}.dll'
+    ;;
+  *)
+    library_names_spec='${libname}`echo ${release} | [sed -e 
+'s/[.]/-/g']`${versuffix}.dll $libname.lib'
+    ;;
+  esac
   dynamic_linker='Win32 ld.exe'
   # FIXME: first we should search . and the directory the executable is in
   shlibpath_var=PATH
from  Gary V. Vaughan  <[EMAIL PROTECTED]>
        From Tor Lillqvist <[EMAIL PROTECTED]>
        * libtool.m4 (export_symbols): On Windows, if the export_symbols
        file (which has been passed to libtool with the -export-symbols
        command line switch) already is a .def file, use it as is. 

Index: libtool.m4
===================================================================
RCS file: /cvsroot/libtool/libtool/libtool.m4,v
retrieving revision 1.147
diff -u -r1.147 libtool.m4
--- libtool.m4 2001/03/07 01:16:21 1.147
+++ libtool.m4 2001/03/07 01:38:01
@@ -1272,17 +1272,23 @@
       $DLLTOOL --export-all --exclude-symbols '$dll_exclude_symbols' --output-def 
$output_objdir/$soname-def '$ltdll_obj'$libobjs $convenience~
       [sed -e "1,/EXPORTS/d" -e "s/ @ [0-9]*//" -e "s/ *;.*$//"] < 
$output_objdir/$soname-def > $export_symbols'
 
+    # If the export-symbols file already is a .def file (1st line
+    # is EXPORTS), use it as is.
     # If DATA tags from a recent dlltool are present, honour them!
-    archive_expsym_cmds='echo EXPORTS > $output_objdir/$soname-def~
-      _lt_hint=1;
-      cat $export_symbols | while read symbol; do
-       set dummy \$symbol;
-       case \[$]# in
-         2) echo "     \[$]2 @ \$_lt_hint ; " >> $output_objdir/$soname-def;;
-         *) echo "     \[$]2 @ \$_lt_hint \[$]3 ; " >> $output_objdir/$soname-def;;
-       esac;
-       _lt_hint=`expr 1 + \$_lt_hint`;
-      done~
+    archive_expsym_cmds='if test "x`head -1 $export_symbols`" = xEXPORTS; then
+        cp $export_symbols $output_objdir/$soname-def;
+      else
+        echo EXPORTS > $output_objdir/$soname-def;
+        _lt_hint=1;
+        cat $export_symbols | while read symbol; do
+         set dummy \$symbol;
+         case \[$]# in
+           2) echo "   \[$]2 @ \$_lt_hint ; " >> $output_objdir/$soname-def;;
+           *) echo "     \[$]2 @ \$_lt_hint \[$]3 ; " >> $output_objdir/$soname-def;;
+         esac;
+         _lt_hint=`expr 1 + \$_lt_hint`;
+        done;
+      fi~
       '"$ltdll_cmds"'
       $CC -Wl,--base-file,$output_objdir/$soname-base '$lt_cv_cc_dll_switch' 
-Wl,-e,'$dll_entry' -o $lib '$ltdll_obj'$libobjs $deplibs $compiler_flags~
       $DLLTOOL --as=$AS --dllname $soname --exclude-symbols '$dll_exclude_symbols' 
--def $output_objdir/$soname-def --base-file $output_objdir/$soname-base --output-exp 
$output_objdir/$soname-exp~

Reply via email to