+1999-12-12 Gary V. Vaughan <gary@oranda.demon.co.uk>
+
+ * ltconfig.in (cygwin*, mingw*, export_symbols_cmds): keep any
+ DATA tags associated with symbols by recent dlltool.
+ (cygwin*, mingw*, archive_expsym_cmds): Honor any DATA tags
+ found in the symbol list.
+ Reported by Jon Leichter <jon@symas.com>.
+
1999-12-07 Gary V. Vaughan <gary@oranda.demon.co.uk>
* configure.in: bumped version to 1.3.4a
* ltconfig.in (hardcode_into_libs): Remove the commented out
hardcode_into_libs reference. Doh!
+
1999-12-03 Alexandre Oliva <oliva@lsd.ic.unicamp.br>
* ltconfig.in (ac_compile): Use $ac_ext instead of .c.
# 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.
+ # Be careful not to strip the DATA tag left by newer dlltools.
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'
+ sed -e "1,/EXPORTS/d" -e "s/ @ [0-9]*//" -e "s/ *;.*$//" < $objdir/$soname-def > $export_symbols'
+ # If DATA tags from a recent dlltool are present, honour them!
archive_expsym_cmds='echo EXPORTS > $objdir/$soname-def~
_lt_hint=1;
- for symbol in `cat $export_symbols`; do
- echo " \$symbol @ \$_lt_hint ; " >> $objdir/$soname-def;
+ cat $export_symbols | while read symbol; do
+ set dummy \$symbol;
+ case \$# in
+ 2) echo " \$2 @ \$_lt_hint ; " >> $objdir/$soname-def;;
+ *) echo " \$2 @ \$_lt_hint \$3 ; " >> $objdir/$soname-def;;
+ esac;
_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~