Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:6027 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 92235 invoked by uid 1010); 3 Dec 2003 00:19:43 -0000 Delivered-To: ezmlm-scan-internals@lists.php.net Delivered-To: ezmlm-internals@lists.php.net Received: (qmail 92201 invoked from network); 3 Dec 2003 00:19:43 -0000 Received: from unknown (HELO mail.kromann.info) (64.186.239.125) by pb1.pair.com with SMTP; 3 Dec 2003 00:19:43 -0000 Received: from Swwwing2000 (unknown [64.186.239.115]) by mail.kromann.info (Postfix) with SMTP id 929212AE70; Tue, 2 Dec 2003 16:37:14 -0800 (PST) To: Wez Furlong Cc: X-Mailer: Swwwing 2000 Message-ID: <10704106966400000@9866357972520000.9866341568840000> MIME-Version: 1.0 Reply-To: "Frank M. Kromann" Date: Tue, 02 Dec 2003 16:18:17 -0800 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Subject: Re: [PHP-DEV] New win32 build system From: frank@kromann.info ("Frank M. Kromann") Hi Wez, Cool. So far it also requires apache. ++diable+apache does not seam to work! - Frank > I've committed the build infrastructure for the > "real programmers don't need an IDE" build system for win32. > > Why? > - 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. > > Requirements: > 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. > > Usage: > 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!] > > TODO: > - 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. > > [1] > http://www.php.net/manual/en/install.windows.php#install.windows.build > > -- > PHP Internals - PHP Runtime Development Mailing List > To unsubscribe, visit: http://www.php.net/unsub.php >