From 711b5b856e7cd0f30799b8891f400d4d18421bd2 Mon Sep 17 00:00:00 2001 From: "William A. Rowe Jr" Date: Fri, 17 Aug 2007 19:56:13 +0000 Subject: [PATCH] Refresh the win_compiling instructions for 2.2 generation, where we've changed several steps. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@567120 13f79535-47bb-0310-9956-ffa450edef68 --- docs/manual/platform/win_compiling.xml | 196 ++++++++++++++----------- 1 file changed, 113 insertions(+), 83 deletions(-) diff --git a/docs/manual/platform/win_compiling.xml b/docs/manual/platform/win_compiling.xml index cb55fae3d1..a3124ec728 100644 --- a/docs/manual/platform/win_compiling.xml +++ b/docs/manual/platform/win_compiling.xml @@ -43,43 +43,54 @@ @@ -191,9 +206,9 @@ nmake /f Makefile.win _apacher nmake /f Makefile.win _apached -

Either command will compile Apache. The latter will include - debugging information in the resulting files, making it easier - to find bugs and track down problems.

+

Either command will compile Apache. The latter will disable + optimization of the resulting files, making it easier to single + step the code to find bugs and track down problems.

@@ -227,27 +242,41 @@ nmake /f Makefile.win _apached .dsp files change! This is really trivial, just open Apache.dsw in the VC++ 7.0 IDE once again.

+ There is a flaw in the .vcproj conversion of .dsp through + Visual Studio 2005 SP1; devenv.exe will mis-parse the /D flag for RC + flags containing long quoted /D'efines containing spaces. The command: + + perl srclib\apr\build\cvtdsp.pl -2005 + + will convert the /D flags for RC flags to use an alternate, parseable + syntax; unfortunately this syntax isn't supported by Visual Studio 97 + or it's exported .mak files. These /D flags are used to pass the long + description of the mod_apachemodule.so files to their .rc resource + version-identifier compilations, and replace the use of awk for generating + .rc files formerly used for Apache 2.0. +

Visual C++ 7.0 (.net) users should also use the Build menu, Configuration Manager dialog to uncheck both the Debug and Release Solution modules abs, mod_ssl and mod_deflate. These modules are built by invoking nmake or the IDE directly - with the BinBuild target to build those modules explicitly, - only if the srclib directories openssl - and/or zlib exist.

+ with the BinBuild target to build those modules conditionally + if the srclib directories openssl and/or + zlib exist.

Exported .mak files pose a greater hassle, but they are required for Visual C++ 5.0 users to build mod_ssl, abs (ab with SSL support) and/or - mod_deflate. - VC++ 7.0 (.net) users also benefit, nmake builds - are faster than binenv builds. - Build the entire project from within the VC++ 5.0 or 6.0 IDE, - then use the Project Menu Export for all makefiles. - You must build the projects first in order to create all dynamic - auto-generated targets, so that dependencies can be parsed - correctly. Run the following command to fix the paths so they - will build anywhere:

+ mod_deflate. VC++ 7.0 (Visual Studio .NET) users + also benefit, nmake builds were faster than + binenv builds until the parallel compilation features + introduced in Visual Studio 2005. Build the entire project from within + the VC++ 5.0 or 6.0 IDE, preferably with mod_deflate, mod_ssl and abs, + then use the Project Menu Export for all makefiles (preferably, with + dependencies.) You must build the projects first in order to create + all dynamic auto-generated targets, so that dependencies can be parsed + correctly. Run the following command to fix the paths so they will build + anywhere:

perl srclib\apr\build\fixwin32mak.pl @@ -413,17 +442,18 @@ nmake /f Makefile.win installd INSTDIR=dir build provides all of the dependent files required to build proper dependency trees for correct build behavior. -

In order to create distribution .mak files, always review - the generated .mak (or .dep) dependencies for - Platform SDK or other garbage includes. The DevStudio\SharedIDE\bin\ - (VC5) or DevStudio\Common\MSDev98\bin\ (VC6) directory contains - the sysincl.dat file, which must list all exceptions. Update this - file (including both forward and backslashed paths, such as both - sys/time.h and sys\time.h) to include such dependencies. - Including local-install paths in a distributed .mak file will - cause the build to fail completely. And don't forget to run - srclib/apr/build/fixwin32mak.pl in order to fix absolute - paths within the .mak files.

+

In order to create distribution .mak files, always + review the generated .mak (or .dep) + dependencies for Platform SDK or other garbage, machine specific + includes. The DevStudio\SharedIDE\bin\ (VC5) or + DevStudio\Common\MSDev98\bin\ (VC6) directory contains + the sysincl.dat file, which must list all exceptions. + Update this file (including both forward and backslashed paths, such + as both sys/time.h and sys\time.h) to ignore + such dependencies. Including local-install paths in a distributed + .mak file will cause the build to fail completely. And + don't forget to run srclib/apr/build/fixwin32mak.pl in + order to fix absolute paths within the .mak files.

-- 2.40.0