From: Gary V. Vaughan Date: Wed, 23 Jun 1999 13:04:28 +0000 (+0000) Subject: * ltconfig.in (cygwin, export_symbols_cmds): If there is already X-Git-Tag: release-1-3-3~10 X-Git-Url: http://git.ipfire.org/gitweb/gitweb.cgi?a=commitdiff_plain;h=8b73192b6abc4903efa24907bd0e8abc0751c460;p=thirdparty%2Flibtool.git * 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. --- diff --git a/ChangeLog b/ChangeLog index 662650b10..5f59750ae 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +1999-06-23 Gary V. Vaughan + + * 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 * ltmain.in (outputname): When generating the executable wrapper diff --git a/ltconfig.in b/ltconfig.in index e232472e4..1be753d18 100755 --- a/ltconfig.in +++ b/ltconfig.in @@ -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~