From d739d4d8cf9c873b0f3bb7836aaf3d0ba31a7b7f Mon Sep 17 00:00:00 2001 From: Werner Koch Date: Thu, 18 Apr 2013 14:40:43 +0200 Subject: Fix libtool 2.4.2 to correctly detect .def files. * build-aux/ltmain.sh (sed_uncomment_deffile): New. (orig_export_symbols): Uncomment def file before testing for EXPORTS. * m4/libtool.m4: Do the same for the generated code. -- The old code was not correct in that it only looked at the first line and puts an EXPORTS keyword in front if missing. Binutils 2.22 accepted a duplicated EXPORTS keyword but at least 2.23.2 is more stringent and bails out without this fix. There is no need to send this upstream. Upstream's git master has a lot of changes including a similar fix for this problems. There are no signs that a libtool 2.4.3 will be released to fix this problem and thus we need to stick to our copy of 2.4.2 along with this patch. Signed-off-by: Werner Koch --- build-aux/ltmain.sh | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'build-aux') diff --git a/build-aux/ltmain.sh b/build-aux/ltmain.sh index 905e09a6..859599aa 100644 --- a/build-aux/ltmain.sh +++ b/build-aux/ltmain.sh @@ -411,6 +411,10 @@ sed_make_literal_regex='s,[].[^$\\*\/],\\&,g' # (escaped) backslashes. A very naive implementation. lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g' +# Sed substitution to remove simple comments and empty +# lines from a Windows .def file. +sed_uncomment_deffile='/^;/d; /^[ ]*$/d' + # Re-`\' parameter expansions in output of double_quote_subst that were # `\'-ed in input to the same. If an odd number of `\' preceded a '$' # in input to double_quote_subst, that '$' was protected from expansion. @@ -8143,7 +8147,7 @@ EOF cygwin* | mingw* | cegcc*) if test -n "$export_symbols" && test -z "$export_symbols_regex"; then # exporting using user supplied symfile - if test "x`$SED 1q $export_symbols`" != xEXPORTS; then + if test "x`$SED "$sed_uncomment_deffile" $export_symbols | $SED 1q`" != xEXPORTS; then # and it's NOT already a .def file. Must figure out # which of the given symbols are data symbols and tag # them as such. So, trigger use of export_symbols_cmds. -- cgit v1.2.3