Carlo Bramini wrote: >Hello, >as you probably know, poppler 0.10.4 does not compile shared libraries under >mingw+msys. >I saw bug 20125 and it seems you have fixed it by adding AC_LIBTOOL_WIN32_DLL >to configure script. >I had not added it in my previous patches that I sent here some months ago >because it's a deprecated macro by long time, about 4 years now. >autotools have been upgraded into poppler 0.10.4, but it seems to be a >"downgrade" instead! >May I ask what has happened?. > >Sincerely, > >Carlo Bramini.
Hello Carlo, Albert (and others), Please allow me to speculate a bit on what happened and where the AC_LIBTOOL_WIN32_DLL comes from. 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. For this to work, I had to add AC_LIBTOOL_WIN32_DLL to the configure.in file. 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. 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]). 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, http://bugs.freedesktop.org/show_bug.cgi?id=19219, Albert's autoconfig did not support LT_INIT. It did support AC_LIBTOOL_WIN32_DLL, so this macro call has ended up in poppler's master branch (http://cgit.freedesktop.org/poppler/poppler/commit/?id=84366d9e63b0d6a5ee1aae2463648cfc2ff5e1b8) It did not get committed to the 0.10.x branch. 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. 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 configure file on unix from configure.in 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 does work I think, but as the distributed configure files are generated on unix (?), they don't. As reported in http://bugs.freedesktop.org/show_bug.cgi?id=20125, this was fixed by adding(/copying form master) AC_LIBTOOL_WIN32_DLL to configure.in. 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 AC_LIBTOOL_WIN32_DLL AC_PROG_LIBTOOL in configure.in with LT_INIT([win32-dll]) and see if this will work now for you? Kind regards, Hib Eris
_______________________________________________ poppler mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/poppler
