Subject: | Ext-libs: redesign planned for Jan-2010 release |
Goals:
------
*) Switch all dynamic libs (DLLs) to new naming conventions
*) Update libs to current versions
*) Fix some known issues concerning ext-libs
*) Prepare binaries (*.a/*.dll) for both 32-bit/64-bit (quite interesting!!)
*) Keep build scripts somewhere at svn.ali.as (not to be dependant on kmx)
*) No urgent need for adding another libs (correct me if I it is not true)
Dynamic libraries:
------------------
*) Openssl 0.9.8k - libeay32_.dll libssl32_.dll
- missing _CONF_get_string/_CONF_add_string/... (blocker for
Crypt::OpenSSL::CA)
- unfortunately it is "a standard" in Win32/mingw build
- 64-bit version should be OpenSSL 1.0.0-beta (0.9.x doesn't support
MINGW64)
*) LibXML2 2.7.3 - libxml2_.dll
- upgrade to 2.7.6
*) LibXSLT 1.1.24 - libxslt_.dll libexslt_.dll
- upgrade to 1.1.26
*) Postgres 8.4.0 - libpq_.dll
- upgrade to 8.4.1
- probably still without Kerberos support (MSVCR71.DLL dependency)
- there are reported issues with building PG libs on MINGW64 (I'll check
this)
- see:
http://www.mail-archive.com/pgsql-general@postgresql.org/msg133245.html
*) Zlib 1.2.3 - zlib1.dll
- rebuild with new DLL naming convention
*) Expat 2.0.1 - libexpat.dll libexpatw.dll
- rebuild with new DLL naming convention
- libexpatw.dll probably can be removed (I'll check this)
*) Iconv 1.9.2 - libiconv2.dll libcharset1.dll
- upgrade to 1.13.1
- rebuild with new DLL naming convention
- rebuild without dependency on libintl
*) LibIntl 0.14.4 - libintl3.dll
- this lib will be removed
- required just by iconv.exe (dependency will be removed)
*) LibFreetype 2.3.5-1 - freetype6.dll (+freetype-config)
- upgrade to 2.3.11
- rebuild with new DLL naming convention
- make freetype-config ready for spaces in dirnames
*) LibGif 4.1.4-1 - giflib4.dll
- upgrade to 4.1.6
- rebuild with new DLL naming convention
*) LibJpeg 6b-4 - jpeg62.dll
- upgrade to version 7
- rebuild with new DLL naming convention
*) LibPng 1.2.38 - libpng12.dll libpng13.dll libpng3.dll
(+libpng12-config, libpng-config)
- upgrade to 1.2.40
- rebuild with new DLL naming convention
- just one DLL (still supporting both link options -lpng and -lpng12)
- make libpng-config ready for spaces in dirnames
*) LibTiff 3.8.2-1 - libtiff3.dll
- upgrade to 3.9.1
- rebuild with new DLL naming convention
*) LibXpm 3.5.1 - xpm4.dll
- upgrade to 3.5.8
- rebuild with new DLL naming convention
*) LibGD 2.0.33-1 - libgd2.dll (+gdlib-config)
- upgrade to 2.0.35
- rebuild with new DLL naming convention
- make gdlib-config ready for spaces in dirnames
- will be linked link with the new libtiff, libpng, libxmp, libfreetype,
libiconv, libz
Static libraries (libs coming with Win32-API package not incldued):
-------------------------------------------------------------------
*) Berkeley DB 4.7.25 - libdb.a
- upgrade to 4.8.24
- +fix for RT http://rt.cpan.org/Ticket/Display.html?id=49474 (I have
already done)
*) GNU MP 4.2.1 - libgmp.a
- upgrade to 4.3.1
- 64-bit version has to be carefully tested (by make check)
32-bit/64-bit naming convention:
--------------------------------
- to avoid collisions in DLL names I propose changing DLL naming like this
- 32-bit: <name>_32_.dll
- 64-bit: <name>_64_.dll
- or tell me what you prefer
In order to make bug hunting easier I will try to build 32-bit/64-bit
version of the same lib always in the same way with the same (or
similar) options - BTW: this is the reason why I propose not to use
gnuwin32 binaries as there is no gnuwin64 project.
64-bit versions will be built by MinGW-w64 compiler (currently the only
available gcc for 64-bit MS Windows).
I will prepare at least 32-bit libs no later than 1 December 2009.
Any comments welcome (preferably before the end of October when I'll
start working on this).
Slightly OT: It would be a good idea to make Perl-Dist* packcages
somehow ready for dual (32-bit/64-bit) packaging.
--
kmx