internals:windows:libs

This is an old revision of the document!


Libraries Needed to Build on Windows

Libraries are available for download at http://windows.php.net/downloads/php-sdk/ . The sources prepared to be built for PHP are available under https://github.com/winlibs/

Mandatory

Library name Project Bundled 5.3 5.4 master
bindlib http://svn.php.net/viewvc/php/bindlib_w32/ No Needed only for PHP ⇐ 5.2 or some specific extensions
pcre (bundled) ext/pcre/pcrelib Yes 8.12 8.12 8.12
zlib http://www.zlib.net/ No 1.2.7 1.2.7 1.2.7
libiconv http://www.gnu.org/software/libiconv/ No 1.14 1.14 1.14
libxml2 http://libxml.org No 2.7.8 2.7.8 2.7.8
ICU http://icu-project.org No 49.1.2 49.1.2 49.1.2

SAPIS

SAPI's are reliant on third party libraries to link against, and since client and server compiler versions should match, these are not distributed by PHP (we are not in the server business)

SAPI server version released VC6 V8 V9
aolserverhttp://aolserver.com/ N/A N/A N/A N/A N/A
apache (1.x) http://httpd.apache.org/ 1.3.41 2008-01-19 Yes N/A N/A
apache_hooks (1.x) http://httpd.apache.org/1.3.412008-01-19 Yes N/A N/A
apache2handlerhttp://httpd.apache.org/2.0.632008-01-19 Yes TbD Yes
apache2filterhttp://httpd.apache.org/2.0.632008-01-19 Yes TbD Yes
apache2-2handlerhttp://httpd.apache.org/2.2.92008-01-19 Yes TbD TbD
apache2-2filterhttp://httpd.apache.org/2.2.92008-01-19 Yes TbD TbD
clibundledN/AN/A Yes Yes Yes
fastcgi/cgibundledN/AN/A Yes Yes Yes
embedbundledN/AN/A Yes Yes Yes
isapiIIS - in Microsoft SDKN/AN/A Yes Yes Yes
nsapihttp://www.sun.com/software/products/web_srvr/home_web_srvr.xmlunknownunknown Yes TbD TbD
pi3webhttp://pi3web.sourceforge.net/2.0.308/2004 Yes TbD TbD

Aolserver does not provide binaries, and so is not currently being built for PHP

Libraries for the core extensions

Libraries are available for download at http://windows.php.net/downloads/php-sdk/

Library name Project Bundled 5.3 5.4 master
bzip2 http://www.bzip.org/ No 1.0.6 1.0.6 1.0.6
libcurl http://curl.haxx.se/ No 7.27.0 7.27.0 7.27.0
libssh2 http://libssh.org/ No 1.4.2 1.4.2 1.4.2
Berkley DB http://www.oracle.com/database/berkeley-db/index.html No 3.1.17 TbD TbD
glib No
qdbm http://qdbm.sourceforge.net/ No N/A 1.8.77 1.8.77
libJPEG http://www.ijg.org/ No 8d 8d 8d
libPNG http://libpng.org/pub/png/libpng.html No 1.2.46 1.2.46 1.2.46
Freetype http://freetype.org No 2.4.3 2.4.3 2.4.3
libxpm http://www.x.org No 3.5.7 3.5.7 3.5.7
libintl http://www.gnu.org/software/gettext/ No ? 0.17 0.17
libgmp http://gmplib.org/ No see MPIR
mpir http://mpir.org/ No 1.3.1 2.5.1 2.5.1
libpq http://postgresql.org No 8.3.6 8.3.6 8.3.6
cclient http://www.washington.edu/imap/ No 2007e 2007e 2007e
ibase http://info.borland.com/devsupport/interbase/opensource/ No ? ? ?
fbclient http://www.firebirdsql.org/ No 2.5.0 2.5.0 2.5.0
ldap http://openldap.org No 2004 2.3.42 2.3.42
libmcrypt http://mcrypt.sourceforge.net/ No 2.5.8 2.5.8 2.5.8
freetds http://www.freetds.org/ No ? ? ?
ming http://www.libming.org/ No 0.3beta1 NA NA
mysqlnd http://php.net Yes 5.1.4 5.1.4 5.1.4
libmysql http://mysql.com/ No 5.0.51a N/A N/A
Openssl http://openssl.org No 0.9.8x 0.9.8x 0.9.8x
aspell http://aspell.net/ No NA NA NA
ucd-snmp http://www.net-snmp.org/ No 4.2.3 4.2.3 4.2.3
tidy http://tidy.sourceforge.net/ No 2007/08/15 2009/03/25 2009/03/25
libxslt http://libxml.org No 1.1.27 1.1.27 1.1.27
libmhash http://mhash.sourceforge.net/ No 20020524 N/A N/A
odbc32.lib http://en.wikipedia.org/wiki/Microsoft_Windows_SDK No N/A N/A N/A
oleaut32.lib http://en.wikipedia.org/wiki/Microsoft_Windows_SDK No N/A N/A N/A
libbcmath N/A Yes N/A N/A N/A
libinifile N/A Yes N/A N/A N/A
libflatfile N/A Yes N/A N/A N/A
libcdb N/A Yes N/A N/A N/A
regex N/A Yes N/A N/A N/A
oniguruma http://www.geocities.jp/kosako3/oniguruma/ Yes 4.4.4 4.4.4 4.4.4
libmbfl N/A Yes 1.1.0 1.1.0 1.1.0
libxmlrpc N/A Yes N/A N/A N/A
sqlite2 http://www.sqlite.org/ Yes 2.8.17 2.8.17 2.8.17
sqlite3 http://www.sqlite.org/ Yes 3.7.7.1 3.7.7.1 3.7.7.1
timezonedb ftp://elsie.nci.nih.gov/pub/ Yes N/A N/A N/A

Libraries used by our windows ports of the different libraries (not when building only php)

Libraries are available for download at http://windows.php.net/downloads/php-sdk/

Library name Project Bundled Version for 5.2.x Version for 5.3.x Version for 6.x 6.0 2k5 2k8 64bits Debug
dirent http://windows.php.net/downloads/php-sdk/ No 20080629 20080629 20080629 Y Y Y Y Y

Third Party Libraries

Third party libraries are not available in our repositories. The reason are the miscellaneous restricted licenses and non open sources code. However, we are authorized to distribute them with our PHP releases but not their SDK.

Library dependencies

Library Deps
libxml2 libiconv
libxslt libxml2, libiconv
libcurl libssh2, openssl, zlib
libssh2 openssl, zlib

Extensions and their libraries

Extension Library name Project Bundled
bcmath libbcmath http://www.php.net/bcmath Yes
bz2 bzip2 http://www.php.net/bzip2 No
com_donet oleaut32.lib http://www.php.net/com No
curl libcurl http://www.php.net/curl No
date timezonedb http://www.php.net/datetime Yes
dba Berkley DB http://www.php.net/dba No
qdbm http://www.php.net/dba No
libinifile http://www.php.net/dba Yes
libflatfile http://www.php.net/dba Yes
libcdb http://www.php.net/dba Yes
ereg regex N/A Yes
gd libJPEG http://www.php.net/image No
libPNG http://www.php.net/image No
Freetype http://www.php.net/image No
libxmp http://www.php.net/image No
gettext libintl http://www.php.net/gettext No
gmp libgmp or mpir http://www.php.net/gmp No
ibm_db2 ibm_db2 http://www.php.net/ibm_db2 Yes
imap cclient http://www.php.net/imap No
interbase ibase http://www.php.net/interbase No
intl icu http://www.php.net/intl No
pdo_firebird fbclient http://www.php.net/pdo-firebird No
ldap ldap http://www.php.net/ldap No
mbstring oniguruma http://www.php.net/ldap Yes
libmbfl N/A Yes
mcrypt libmcrypt http://www.php.net/mcrypt No
mhash libmhash http://www.php.net/mhash No
ming ming http://www.php.net/ming No
mssql freetds http://www.php.net/mssql No
pdo_mysql mysqlnd http://www.php.net/pdo-mysql Yes
libmysql http://www.php.net/pdo-mysql No
mysqli mysqlnd http://www.php.net/mysqli Yes
libmysql http://www.php.net/mysqli No
mysql mysqlnd http://www.php.net/mysql Yes
libmysql http://www.php.net/mysql No
oci8 oci8 http://www.php.net/oci8 Yes
pdo_odbc odbc32.lib http://www.php.net/pdo-odbc No
odbc odbc32.lib http://www.php.net/odbc No
openssl Openssl http://www.php.net/openssl No
pdo_sqlite sqlite http://www.php.net/pdo-sqlite Yes
sqlite sqlite http://www.php.net/sqlite Yes
pgsql/pdo_pgsql libpg http://www.php.net/pdo-pgsql No
pgsql libpg http://www.php.net/pgsql No
pspell aspell http://www.php.net/pspell No
snmp ucd-snmp http://www.php.net/snmp No
tidy tidy http://www.php.net/tidy No
xmlrpc libxmlrpc http://www.php.net/xmlrpc Yes
xsl libxslt http://www.php.net/xsl No

Extensions using mandatory libs

  • dom
  • iconv
  • libxml
  • pcre
  • simplexml
  • soap
  • xml
  • xmlreader
  • xmlwriter
  • zlib
  • zip

Extensions not needing libraries

  • calendar
  • ctype
  • dbase
  • filter
  • ftp
  • json
  • mime-magic (does require file set in ini)
  • pcntl (currently not available on windows)
  • pdo (core)
  • phar (although it does depend on other extensions)
  • posix (never available on windows)
  • recode (library not available on windows)
  • readline (library not available on Windows)
  • session
  • shmop
  • skeleton
  • sockets
  • spl
  • standard
  • sybase (old old not available on windows)
  • sysvmsg (currently not available on windows)
  • sysvsem (currently not available on windows)
  • sysvshm (currently not available on windows)
  • tokenizer
  • wddx

PECL Extensions

General Compiling Guidelines

Any makefiles, project files, source, .rc files - basically anything used to compile a library for PHP should be bundled into a source distribution.

dlls should have a .rc file with a minimum of the version and compiler used

Because windows doesn't differentiate between static libs and dll stub libs (both end in .lib) use a _a suffix for a static lib (libxml2_a.lib)

Any debug version of a library or dll should have a _debug suffix

internals/windows/libs.1348230637.txt.gz · Last modified: 2012/09/21 14:30 by ab