<pre>Carlo Bramini wrote:<br><br>&gt;Hello,<br>&gt;as you probably know, poppler 0.10.4 does not compile shared libraries under mingw+msys.<br>&gt;I saw bug 20125 and it seems you have fixed it by adding AC_LIBTOOL_WIN32_DLL to configure script.<br>
&gt;I had not added it in my previous patches that I sent here some months ago because it&#39;s a deprecated macro by long time, about 4 years now.<br>&gt;autotools have been upgraded into poppler 0.10.4, but it seems to be a &quot;downgrade&quot; instead!<br>
&gt;May I ask what has happened?.<br>&gt;<br>&gt;Sincerely,<br>&gt;<br>&gt;Carlo Bramini.<br><br><br>Hello Carlo, Albert (and others),<br><br>Please allow me to speculate a bit on what happened and where the AC_LIBTOOL_WIN32_DLL comes from.<br>
<br>First, based on your work to compile poppler under MINGW+MSYS, I got poppler to cross compile on Ubuntu with the mingw cross compiler to windows.<br>For this to work, I had to add AC_LIBTOOL_WIN32_DLL to the <a href="http://configure.in">configure.in</a> file. <br>
Compiling natively on Windows, this line is probably unnecessary as autoconf on windows will probably do the right thing automatically. So for MINGW+MSYS, this line was unnecessary. <br>When cross compiling it is needed to tell libtool about windows DLLs. This can be done either by calling AC_LIBTOOL_WIN32_DLL or by initializing libtool with LT_INIT([win32-dll]).<br>
<br>As you noted, the macro AC_LIBTOOL_WIN32_DLL, is deprecated, so I initialy proposed to use LT_INIT(). Unfortunately, at the time I posted my patches, <br><a href="http://bugs.freedesktop.org/show_bug.cgi?id=19219">http://bugs.freedesktop.org/show_bug.cgi?id=19219</a>, Albert&#39;s autoconfig did not support LT_INIT. <br>
It did support AC_LIBTOOL_WIN32_DLL, so this macro call has ended up in poppler&#39;s master branch (<a href="http://cgit.freedesktop.org/poppler/poppler/commit/?id=84366d9e63b0d6a5ee1aae2463648cfc2ff5e1b8">http://cgit.freedesktop.org/poppler/poppler/commit/?id=84366d9e63b0d6a5ee1aae2463648cfc2ff5e1b8</a>)<br>
It did not get committed to the 0.10.x branch.<br><br>Now fast forward to recent times, and this where I speculate: at some point Albert updated his autoconfig program and this changed the produced configure file for the 0.10.x branch. <br>
This broke the MINGW+MSYS port because apparently the newer autoconfig version did no longer automatically produce a configure file that works well on MINGW+MSYS. Apparently if you generate a<br>configure file on unix from <a href="http://configure.in">configure.in</a> with a recent autoconf, it does not produce a configure script that works on MINGW+MSYS. If you generate the configure script with autoconf on Windows, it probably<br>
does work I think, but as the distributed configure files are generated on unix (?), they don&#39;t.<br><br>As reported in <a href="http://bugs.freedesktop.org/show_bug.cgi?id=20125">http://bugs.freedesktop.org/show_bug.cgi?id=20125</a>, this was fixed by adding(/copying form master) AC_LIBTOOL_WIN32_DLL to <a href="http://configure.in">configure.in</a>.<br>
<br>Now, as you noted this is deprecated syntax, and since Albert is now using a recent autoconf, it might be so that he can now use the newer syntax. So Albert, could you please try to replace the calls to <br><br>AC_LIBTOOL_WIN32_DLL<br>
AC_PROG_LIBTOOL<br><br>in <a href="http://configure.in">configure.in</a> with <br><br>LT_INIT([win32-dll])<br><br>and see if this will work now for you?<br><br><br>Kind regards,<br><br>Hib Eris<br><br><br><br><br><br><br>
<br><br><br><br><br></pre>