diff options
authorWez Furlong <>2003-12-03 00:32:25 (GMT)
committerWez Furlong <>2003-12-03 00:32:25 (GMT)
commitccb682b652f69182d3de6fc08b1c716b4f687110 (patch)
tree2926bf59674286bd5030eaee8bc85265838bb1ac /README.WIN32-BUILD-SYSTEM
parent4e483f9d351069230927a6f6bda73fa1981abb39 (diff)
add win32 build readme
Diffstat (limited to 'README.WIN32-BUILD-SYSTEM')
1 files changed, 61 insertions, 0 deletions
new file mode 100644
index 0000000..798c60e
--- /dev/null
@@ -0,0 +1,61 @@
+I've committed the build infrastructure for the
+"real programmers don't need an IDE" build system for win32.
+- It's frustrating to have to use VC6 to work on PHP if you
+ have a newer version that has incompatible project files.
+- It's annoying to mess around with libxml2 stuff until it
+ stabilizes :-) and a pain to have to remember to edit
+ the config.w32.h header each time, and a pain to have to
+ avoid accidentally committing those changes each time.
+- It's difficult to set up a fully working build environment
+ for PHP without installing everything.
+- It's difficult for people without VC6 to create a win32
+ project file for their extensions.
+You need windows script host (cscript.exe) and JScript installed.
+This should be a standard config on windows machines since win98
+(perhaps optional under win98).
+You also need the Microsoft build tools (cl.exe, link.exe and nmake.exe).
+These are freely available as part of the Platform SDK, but also
+come with VC++/Visual Studio.
+Finally, you need the php_build dir that contains all the
+headers and libraries for the things that php is linked
+against; see [1] for details.
+Check out PHP 5 and run buildconf.bat from the root of the php
+source. This script is roughly equivalent to the unix buildconf
+in that it scans ext/* and sapi/* for config.w32 files describing
+optional build components and generates a configure script
+named configure.js
+Now run "cscript configure.js --help" to get a list of configure
+options; enable and disable stuff as appropriate.
+Then type nmake to build the things you configured.
+You will find the various .exe and .dll files in the build dir
+that configure selects for you based on debug and zts settings;
+it will be one of the usual Debug_TS, Release_TS, Debug or Release
+dirs found under the source root.
+You can also run the test suite by running "nmake test".
+[we have some issues under win32 with current CVS!]
+- Write config.w32 files for more extensions and sapis.
+ They're quite easy (just a couple of javascript function calls)
+ and can be put together almost without thinking by copying the
+ guts of the config.m4 file from the same extension.
+- add those .rc files with version info the generated .dll's and .exe's
+- Test if it actually works under win98 (Steph?)
+ There are only two places that I suspect might have difficulty
+ under win98.