]> 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 12:50:23 +0000 (12:50 +0000)
committerGary V. Vaughan <gary@gnu.org>
Wed, 23 Jun 1999 12:50:23 +0000 (12:50 +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 97f50f28376e3cd2878725fd735aa27f79eb336d..c6063a7592138d0214ccedb4eeb1727461d91b41 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-20  Gary V. Vaughan  <gary@oranda.demon.co.uk>
 
        * ltconfig.in:  moved the test for NM after the test for
index bc1ed863fd40f584f5f3269e80e6b3fe75e3401d..1c8d027a6dbe91c4a92d75ecaa8e525376b64fd1 100755 (executable)
@@ -1284,9 +1284,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'
 
@@ -1296,6 +1295,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 $compiler_flags~
       $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 $compiler_flags~