Subject: Re: bug#13414: [Werner Koch] Re: [pkg-gnupg-maint] Bug#814951: libassuan: add libassuan-mingw-w64-dev for cross-building to Windows targets

From: Peter Rosin <[email-masked]>
Date: Mon, 07 Mar 2016 08:36:12 +0100

Hi!

On 2016-03-06 20:27, Daniel Kahn Gillmor wrote:
> Hi Peter--
> 
> On Thu 2016-03-03 16:41:58 -0500, Peter Rosin <[email-masked]> wrote:
>> Have you checked if libassuan has been libtoolized with 2.4.6? Mind you,
>> that is not automatically the case just because debian ships 2.4.6. Most
>> libraries carry a bundled copy of the libtool version they were
>> libtoolized with by the library maintainer prior to the library release.
>> Some distributions automatically relibtoolizes its packages, some don't.
> 
> the debian packaging for libassuan uses dh_autoreconf, which
> automatically libretoolizes.

Then it must be something fiddly going on, the def file looks simple enough...

Maybe your .def file is infested with CR/NL line-endings, does the below patch
(untested) help?

Cheers,
Peter

diff --git a/build-aux/ltmain.in b/build-aux/ltmain.in
index 2601564..e323165 100644
--- a/build-aux/ltmain.in
+++ b/build-aux/ltmain.in
@@ -1358,12 +1358,11 @@ func_dll_def_p ()
 {
   $debug_cmd
 
-  func_dll_def_p_tmp=`$SED -n \
+  func_dll_def_p_tmp=`tr -d '\015' < "$1" | $SED -n \
     -e 's/^[	 ]*//' \
     -e '/^\(;.*\)*$/d' \
     -e 's/^\(EXPORTS\|LIBRARY\)\([	 ].*\)*$/DEF/p' \
-    -e q \
-    "$1"`
+    -e q`
   test DEF = "$func_dll_def_p_tmp"
 }
 
diff --git a/m4/libtool.m4 b/m4/libtool.m4
index ee292af..7b33d6a 100644
--- a/m4/libtool.m4
+++ b/m4/libtool.m4
@@ -3847,12 +3847,11 @@ _LT_DECL([], [MANIFEST_TOOL], [1], [Manifest tool])dnl
 # Keep in sync with func_dll_def_p in the libtool script
 AC_DEFUN([_LT_DLL_DEF_P],
 [dnl
-  test DEF = "`$SED -n dnl
+  test DEF = "`tr -d '\''\015'\'' < $1 | $SED -n dnl
     -e '\''s/^[[	 ]]*//'\'' dnl Strip leading whitespace
     -e '\''/^\(;.*\)*$/d'\'' dnl      Delete empty lines and comments
     -e '\''s/^\(EXPORTS\|LIBRARY\)\([[	 ]].*\)*$/DEF/p'\'' dnl
-    -e q dnl                          Only consider the first "real" line
-    $1`" dnl
+    -e q`" dnl                        Only consider the first "real" line
 ])# _LT_DLL_DEF_P