]> git.ipfire.org Git - thirdparty/libtool.git/commitdiff
* ltconfig.in (cygwin, export_symbols_cmds): If there is already
authorGary V. Vaughan <gary@gnu.org>
Wed, 23 Jun 1999 13:04:28 +0000 (13:04 +0000)
committerGary V. Vaughan <gary@gnu.org>
Wed, 23 Jun 1999 13:04:28 +0000 (13:04 +0000)
an extracted and compiled ltdll.c, then don't delete, reextract
and recompile.
(cygwin, archive_expsym_cmds): Make sure the ltdll source has been
extracted and compiled before referencing the object, since there
are paths through the code which run archive_expsym_cmds without
running export_symbols_cmds.

ChangeLog
ltconfig.in

index 662650b10d308c1ee7b42e0198d828e01b33fcb1..5f59750aee74c418603fc3a17ae45ad4efb9872c 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+1999-06-23  Gary V. Vaughan  <gary@oranda.demon.co.uk>
+
+       * ltconfig.in (cygwin, export_symbols_cmds): If there is already
+       an extracted and compiled ltdll.c, then don't delete, reextract
+       and recompile.
+       (cygwin, archive_expsym_cmds): Make sure the ltdll source has been
+       extracted and compiled before referencing the object, since there
+       are paths through the code which run archive_expsym_cmds without
+       running export_symbols_cmds.
+
 1999-06-18  Gary V. Vaughan  <gary@oranda.demon.co.uk>
 
        * ltmain.in (outputname): When generating the executable wrapper
index e232472e4e9bb155a90427a6e41ff4bf943a5702..1be753d18aacc79cf24a91250e7fec9ed4ae6720 100755 (executable)
@@ -1164,9 +1164,8 @@ EOF
     # Extract the symbol export list from an `--export-all' def file,
     # then regenerate the def file from the symbol export list, so that
     # the compiled dll only exports the symbol export list.
-    export_symbols_cmds='rm -f $objdir/$soname-ltdll.c~
-      sed -e "/^# \/\* ltdll\.c starts here \*\//,/^# \/\* ltdll.c ends here \*\// { s/^# //; p; }" -e d < $0 > $objdir/$soname-ltdll.c~
-      (cd $objdir && $CC -c $soname-ltdll.c)~
+    export_symbols_cmds='test -f $objdir/$soname-ltdll.c || sed -e "/^# \/\* ltdll\.c starts here \*\//,/^# \/\* ltdll.c ends here \*\// { s/^# //; p; }" -e d < $0 > $objdir/$soname-ltdll.c~
+      test -f $objdir/$soname-ltdll.$objext || (cd $objdir && $CC -c $soname-ltdll.c)~
       $DLLTOOL --export-all --exclude-symbols DllMain@12,_cygwin_dll_entry@12,_cygwin_noncygwin_dll_entry@12 --output-def $objdir/$soname-def  $objdir/$soname-ltdll.$objext $libobjs $convenience~
       sed -e "1,/EXPORTS/d" -e "s/ @ [0-9]* ; *//" < $objdir/$soname-def > $export_symbols'
 
@@ -1176,6 +1175,8 @@ EOF
        echo "  \$symbol @ \$_lt_hint ; " >> $objdir/$soname-def;
        _lt_hint=`expr 1 + \$_lt_hint`;
       done~
+      test -f $objdir/$soname-ltdll.c || sed -e "/^# \/\* ltdll\.c starts here \*\//,/^# \/\* ltdll.c ends here \*\// { s/^# //; p; }" -e d < $0 > $objdir/$soname-ltdll.c~
+      test -f $objdir/$soname-ltdll.$objext || (cd $objdir && $CC -c $soname-ltdll.c)~
       $CC -Wl,--base-file,$objdir/$soname-base -Wl,--dll -nostartfiles -Wl,-e,__cygwin_dll_entry@12 -o $lib $objdir/$soname-ltdll.$objext $libobjs $deplibs $linkopts~
       $DLLTOOL --as=$AS --dllname $soname --exclude-symbols DllMain@12,_cygwin_dll_entry@12,_cygwin_noncygwin_dll_entry@12 --def $objdir/$soname-def --base-file $objdir/$soname-base --output-exp $objdir/$soname-exp~
       $CC -Wl,--base-file,$objdir/$soname-base $objdir/$soname-exp -Wl,--dll -nostartfiles -Wl,-e,__cygwin_dll_entry@12 -o $lib $objdir/$soname-ltdll.$objext $libobjs $deplibs $linkopts~