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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.