Build environment notes (single CRT)
[email protected] ("Steph Fox")
| Newsgroups | php.internals.win |
|---|---|
| Message-ID | <004901c96380$dddf1c40$3ffc1f3e@foxbox> |
OK, you'll be glad to know everything's installed now, hopefully it'll all work :\ but I'll find that out later today. So here are some notes for anyone needing to do the same thing. Most likely this will be people who just want to build PHP for their own project or to test code developed under *nix. If you're following this, note that there's a strong recommendation that PHP contributors install both VC6 (with SP5/6 and the Feb 2003 SDK) and VC9 (with SDK 6.1, also known as .NET Framework 3.5) for the duration of the PHP 5.3.* life cycle. This setup is for a single-CRT environment. The recommended layout for a multiple-CRT environment is outlined here: http://news.php.net/php.internals.win/224. I've laid out my environment like so: /bin /include /include_extra /lib /lib_extra /pecl /php5.2 /php5.3 /php6 You can either have (include|lib)_extra defined early in your MSVS INCLUDE|LIB path for PHP_5_3 and HEAD, or you can load them via a configure option (not tested). If you choose the former approach, the directory paths need to be defined before the generic include|lib dir paths. The initial content of /bin, /include and /lib comes from Edin Kadribasic's original zip.zip. Edin's site appears to have gone offline over the last couple of days, so we need to trim it of 'dead' files and make whatever's left available online somewhere (unless it is already - Pierre?) Version info taken from http://wiki.php.net/internals/windows/libs Zip archives from http://pecl2.php.net/downloads/php-windows-builds/php-libs/ Parsers/lexers from http://pecl2.php.net/downloads/php-windows-builds/php-libs/binary-tools.zip (bison is 1.28, re2c currently 0.13.5, flex (for PHP 5.2 only) is 2.5.4). Updates for zip.zip includes and libs: apache-1.3.41.zip apache-2.0.63-vc6.zip apache-2.2.9-vc6.zip cclient-2004-vc6.zip (imap) libharu-2.1.0-vc6.zip (pecl/haru) libiconv-1.12-vc6.zip libjpeg-v6b-vc6.zip (gd) libmcrypt-2.5.8-vc6.zip libpng-1.2.33-vc6-asm.zip (gd) libpq-8.3.3-vc6.zip (pgsql) libxml2-2.6.32-vc6.zip libxslt-1.1.23-vc6.zip openssl-0.9.8i-vc6.zip zlib-1.2.3-vc6.zip 'Extra' libs and includes for PHP_5_3 and up cclient-2007b-vc6.zip (imap) freetype-2.3.7-vc6.zip (gd) gettext-runtime-0.17-vc6.zip (libintl) ICU-3.6.0-vc6.zip libbz2-1.0.5-vc6.zip libcurl-7.18.1-vc6.zip libtidy-20080322-vc6.zip - manifests included (for VC6??) libxpm-3.5.7-vc6.zip (gd) openldap-2.3.42-vc6.zip Problem libraries: libxslt-1.1.23.debug.vc6.zip - naming collision Ignores: bindlib-cvs-vc6.zip - broken path/filename, use bindlib from CVS (PHP_5_2 only) dirent-20080629-vc6.zip - not used in PHP build (fixed on wiki) qdmb-1.8.77-vc6.zip - partial support for ext/dba