X-Git-Url: https://granicus.if.org/sourcecode?a=blobdiff_plain;f=docs%2Fmanual%2Fplatform%2Fwin_compiling.xml;h=a3124ec728920bab35fa7046d0a2ec3aa7a12335;hb=711b5b856e7cd0f30799b8891f400d4d18421bd2;hp=cb55fae3d1d0961225ac4a8cb99445d7500d1a8a;hpb=ad8cfa73008d124197ae88c9968363cc2dbd980b;p=apache 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 @@
Disk Space
-Make sure you have at least 50 MB of free disk space +
Make sure you have at least 180 MB of free disk space available. After installation Apache requires approximately - 10 MB of disk space, plus space for log and cache files, + 60 MB of disk space, plus space for log and cache files, which can grow rapidly. The actual disk space requirements will vary considerably based on your chosen configuration and - any third-party modules or libraries.
+ any third-party modules or libraries, especially when OpenSSL + is also built. Because many files are text and very easily + compressed, NTFS filesystem compression cuts these requirements + in half.Microsoft Visual C++ (Microsoft Visual Studio) 5.0 or higher.
+Microsoft Visual C++ (Microsoft Visual Studio) 6.0 or higher.
+Apache can be built using the command line tools, or from
within the Visual Studio IDE Workbench. The command line
build requires the environment to reflect the PATH
,
INCLUDE
, LIB
and other variables
- that can be configured with the vcvars32
batch file:
vcvars32.bat
file:
The Windows Platform SDK.
-Apache's APR and APR-util builds require an updated Microsoft
- Windows Platform SDK, from 2003 or later. For command line
- builds, the Platform SDK environment is prepared by the
- setenv
batch file:
The Windows Platform SDK for Visual C 6.0 (97) or 7.0 (.NET)
+Apache's APR and APR-util builds require an updated Microsoft
+ Windows Platform SDK, from Feb 2003 or later, included in the
+ Visual C++ 7.1 (Studio 2003) and later. For command line builds with
+ Visual C++ 6.0 or 7.0, the Platform SDK environment is prepared by
+ the setenv.bat
file:
The Platform SDK files distributed with Visual C++ 5.0, 6.0 - and Visual Studio .NET (2000) are no longer sufficient. - Users of Visual Studio 2003 and later versions (of the full product, - not the 'express' flavor) and later versions may skip this - requirement.
+The Platform SDK files distributed with Visual C++ 6.0 and + Visual Studio .NET (2000) are no longer sufficient and cause many + compilation warnings and linkage errors. Users of Visual C++ 8.0 + (Studio 2003) and later versions (of the full product, not the + 'Visual Studio Express' flavor) may skip this requirement.
+ +If using the GUI, either start msdev or devenv with the /setenv + flag (after invoking setenv.bat), or ensure the paths are correct + under the Tools -> Options -> (Projects ->) Directories + menu option. The Platform SDK installer will generally help you + configure this.
To install Apache within the build system, several files are
modified using the awk.exe
utility. awk was chosen since
it is a very small download (compared with Perl or WSH/VB) and
- accomplishes the task of generating files. Brian Kernighan's
+ accomplishes the task of modifying configuration files upon
+ installation. Brian Kernighan's
http://cm.bell-labs.com/cm/cs/who/bwk/
site has a compiled native Win32 binary,
@@ -96,25 +108,43 @@
you must save with the name awk.exe
rather than
awk95.exe
.
awk.exe
from the Tools menu Options... Directories
- tab (the Projects - VC++ Directories pane in Developer Studio 7.0)
- listing Executable file paths. Add the path for awk.exe
- to this list, and your system PATH
environment variable,
- as needed.Note that Developer Studio IDE will only find
+ awk.exe
from the Executable path specified in the menu
+ option Tools -> Options -> (Projects ->) Directories.
+ Add the path for awk.exe
to this list, and your
+ system PATH
environment variable, as needed.
gawk.exe
and that the file
awk.exe
is really a symlink to the gawk.exe
file. The Windows command shell does not recognize symlinks, and
- because of that building InstallBin will fail. A workaround is
+ because of this building InstallBin will fail. A workaround is
to delete awk.exe
from the cygwin installation and
copy gawk.exe
to awk.exe
. Also note the
cygwin/mingw ports of gawk 3.0.x were buggy, please upgrade to 3.1.x
before attempting to use any gawk port.[Optional] zlib library (for
Zlib must be installed into a srclib
subdirectory named
+ zlib
. This must be built in-place. Zlib can be obtained
+ from http://www.zlib.net/ -- the
+
[Optional] OpenSSL libraries (for ab.exe
with ssl support)
OpenSSL must be installed into a srclib
subdirectory named
- openssl
, obtained from http://www.openssl.org/source/, in order to compile ab.exe
with SSL support.) To prepare OpenSSL
- for both release
and debug
builds of Apache, and
- disable the patent protected features in OpenSSL, you might use the following
- build commands:
OpenSSL must be installed into a srclib
subdirectory
+ named openssl
, obtained from
+ http://www.openssl.org/source/, in order to compile
+ ab.exe
+ enabled with SSL support.) To prepare OpenSSL for both
+ release
and debug
builds of Apache, and
+ disable the patent protected features in OpenSSL, you might use
+ the following build commands:
Note; you can use the scripts in the ms\
subdirectory, however,
- it's rather tricky to force ms\do_masm.bat
, for example, to perform
- the patent encumberances as mentioned above. Patches to add the $* argument list
- to the appropriate .bat lines in these scripts aren't incorporated, thus far.
[Optional] zlib library (for
Zlib must be installed into a srclib
subdirectory named
- zlib
. This must be built in-place. Zlib can be obtained
- from http://www.zlib.net/ -- the
-
Note: It is not advisable to use zlib-dynamic, as that could + pose a thread race condition. If building zlib on win32, be sure + to adjust the resulting ms\ntdll.mak file to link to the full + path of srclib\zlib\zdll.lib rather than zlib1.lib (that error in + configuration of OpenSSL through 0.9.8d and earlier reflects older + zlib 1.1 versions.)
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.
+ 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, nmake
or the IDE directly
- with the BinBuild
target to build those modules explicitly,
- only if the srclib
directories openssl
- and/or zlib
exist.
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 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:
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:
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.