summaryrefslogtreecommitdiff
path: root/README.WIN32-BUILD-SYSTEM
diff options
context:
space:
mode:
Diffstat (limited to 'README.WIN32-BUILD-SYSTEM')
-rw-r--r--README.WIN32-BUILD-SYSTEM174
1 files changed, 0 insertions, 174 deletions
diff --git a/README.WIN32-BUILD-SYSTEM b/README.WIN32-BUILD-SYSTEM
deleted file mode 100644
index 7d3c792767..0000000000
--- a/README.WIN32-BUILD-SYSTEM
+++ /dev/null
@@ -1,174 +0,0 @@
-The Win32 Build System.
-$Id$
-Wez Furlong <wez@thebrainroom.com>
-
-If you need help with the build system, send mail to
-internals@lists.php.net; please don't email me directly.
-
-===========================================================
-Contents:
-1. How to build PHP under windows
- a. Requirements
- b. Opening a command prompt
- c. Generating configure.js
- d. Configuring
- e. Building
- f. Cleaning up
- g. Running the test suite
- h. snapshot building
-
-2. How to write config.w32 files
- x. to be written.
-
-===========================================================
-1. How to build PHP under windows
-a. Requirements
-
- You need:
- - Windows Scripting Host (cscript.exe)
- - Microsoft Build Tools from:
- Microsoft Visual Studio (VC6) or later
-
- You also need:
- - bindlib_w32 [http://www.php.net/extra/bindlib_w32.zip]
- - win32build [http://www.php.net/extra/win32build.zip]
-
- b. Opening the Build Environment Command Prompt:
- - Using Visual Studio (VC6)
- 1. Install it
- 2. If you have a VC++ Command Prompt icon on your start menu,
- click on it to get a Command Prompt with the env vars
- set up correctly.
-
- If not, create a new shortcut and set the Target to:
-
- %comspec% /k "C:\Program Files\Microsoft Visual Studio\VC98\Bin\vcvars32.bat"
-
- You might also want to set the prompt to start in
- a convenient location (such as the root of your
- PHP source checkout).
-
- - Using Visual Studio .Net
- 1. Install it.
- 2. Under the Visual Studio .Net Tools sub menu of your start
- menu, you should have a Visual Studio .Net Command Prompt
- icon. If not, create a new shortcut and set the Target to:
-
- %comspec% /k "C:\Program Files\Microsoft Visual Studio .NET 2003\Common7\Tools\vsvars32.bat"
-
- You might also want to set the prompt to start in
- a convenient location (such as the root of your
- PHP source checkout).
-
- - Using the Platform SDK tools
- 1. Download the Platform SDK:
- http://www.microsoft.com/msdownload/platformsdk/sdkupdate/
-
- - You need the Core SDK, which is approx 200MB to download
- and requires approx 500MB of disk space.
- - The other components of the SDK are not required by PHP
- - You might be able to reduce the download size by downloading
- the installer control component first and then selecting
- only the Build Environment (around 30MB), but I haven't
- tried this.
-
- ** Note: it seems that MS don't include the 32 bit
- build tools in the platform SDK any longer, so
- you will probably have very limited luck if you
- don't also have VC++ or VS.Net already installed.
-
- 2. Once installed, you will have an icon on your start menu
- that will launch the build environment; the latest SDK's
- install a number of different versions of this; you probably
- want to choose the Windows 2000 Retail build environment.
- Clicking on this will open a command prompt with its Path,
- Include and Lib env vars set to point to the build tools
- and win32 headers.
-
-c. Generating configure
-
- Change directory to where you have your PHP 5 sources.
- Run buildconf.bat.
-
-d. Configuring
-
- cscript /nologo configure.js --help
-
- Will give you a list of configuration options; these will
- have the form:
-
- --enable-foo or --disable-foo or --with-foo or --without-foo.
-
- --enable-foo will turn something on, and is equivalent to
- specifying --enable-foo=yes
-
- --disable-foo will turn something off, and is equivalent to
- specifying --enable-foo=no
-
- --enable-foo=shared will attempt to build that feature as
- a shared, dynamically loadable module.
-
- Sometimes a configure option needs additional information
- about where to find headers and libraries; quite often
- you can specify --enable-foo=option where option could be
- the path to where to find those files. If you want to
- specify a parameter and build it as shared, you can use
- this syntax instead: --enable-foo=shared,option
-
- The same rules all apply to --with-foo and --without-foo;
- the only difference is the way the options are named;
- the convention is that --enable-foo means that you are
- switching on something that comes with PHP, whereas
- --with-foo means that you want to build in something
- external to PHP.
-
-e. Building
-
- Once you have successfully configured your build (make
- sure you read the output from the command to make sure
- it worked correctly), you can build the code; simply type
-
- "nmake" at the command prompt, and it will build everthing
- you asked for.
-
- Once the build has completed, you will find your binaries
- in the build dir determined by configure; this is typically
- Release_TS for release builds or Debug_TS for debug builds.
- If you build a non-thread-safe build, it will use Release
- or Debug to store the files. Also in this build dir you
- will find sub directories for each module that went into
- your PHP build. The files you'll want to keep are the
- .exe and .dll files directly in your build dir.
-
-f. Cleaning Up
-
- You can automatically delete everything that was built
- by running "nmake clean". This will delete everything
- that was put there when you ran nmake, including the
- .exe and .dll files.
-
-g. Running the test suite
-
- You can verify that your build is working well by running
- the regression test suite. You do this by typing
- "nmake test". You can specify the tests you want to run
- by defing the TESTS variable - if you wanted to run the
- sqlite test suite only, you would type
- "nmake /D TESTS=ext/sqlite/tests test"
-
-h. Snapshot Building
-
- If you want to set up an automated build that will tolerate
- breakages in some of the modules, you can use the
- --enable-snapshot-build configure option to generate a
- makefile optimized for that purpose. A snapshot build will
- switch the argument parser so that the default option for
- configure switches that your don't specify will be set
- to "shared". The effect of this is to turn on all options
- unless you explicitly disable them. When you have configured
- your snapshot build, you can use "nmake build-snap" to build
- everything, ignoring build errors in individual extensions
- or SAPI.
-
-vim:tw=78:sw=1:ts=1:et
-