>
<!--#include virtual="header.html" -->
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<HTML>
-<HEAD>
-<TITLE>Using Apache with Microsoft Windows</TITLE>
-</HEAD>
-
-<!-- Background white, links blue (unvisited), navy (visited), red (active) -->
-<BODY
- BGCOLOR="#FFFFFF"
- TEXT="#000000"
- LINK="#0000FF"
- VLINK="#000080"
- ALINK="#FF0000"
->
-<!--#include virtual="header.html" -->
-
<H1 ALIGN="CENTER">Compiling Apache for Microsoft Windows</H1>
<P>There are many important points before you begin compiling Apache.
<P>The master Apache makefile instructions are contained in the
<CODE>Makefile.win</CODE> file. To compile Apache on Windows, simply
- use one of the following commands:
+ use one of the following commands:<P>
<UL>
<LI><CODE>nmake /f Makefile.win _apacher</CODE> (release build)
<LI><CODE>nmake /f Makefile.win _apached</CODE> (debug build)
Project files (<CODE>.DSP</CODE>) are included for each of the
portions of Apache. To build Apache from the these projects files
you will need to build the following projects <EM>in this order</EM>:
-<STRONG> This needs updating for Apache 2.0 </STRONG>
- <OL>
- <LI><CODE>os\win32\ApacheOS.dsp</CODE>
+
+<OL>
<LI><CODE>regex\regex.dsp</CODE>
+ <LI><CODE>lib\apr\aprlib.dsp</CODE>
<LI><CODE>ap\ap.dsp</CODE>
<LI><CODE>main\gen_uri_delims.dsp</CODE>
<LI><CODE>main\gen_test_char.dsp</CODE>
<LI><CODE>ApacheCore.dsp</CODE>
<LI><CODE>Apache.dsp</CODE>
- </OL>
-
- In addition, the <CODE>src\os\win32</CODE> subdirectory contains
- project files for the optional modules (see below).</P>
+</OL>
+
+ In addition, the <CODE>os\win32</CODE> subdirectory contains
+ project files for the optional modules.
+
+<OL>
+ <LI><CODE>os\win32\ApacheModuleAuthAnon.dsp</CODE>
+ <LI><CODE>os\win32\ApacheModuleCERNMeta.dsp</CODE>
+ <LI><CODE>os\win32\ApacheModuleDigest.dsp</CODE>
+ <LI><CODE>os\win32\ApacheModuleExpires.dsp</CODE>
+ <LI><CODE>os\win32\ApacheModuleHeaders.dsp</CODE>
+ <LI><CODE>os\win32\ApacheModuleInfo.dsp</CODE>
+ <LI><CODE>os\win32\ApacheModuleRewrite.dsp</CODE>
+ <LI><CODE>os\win32\ApacheModuleSpeling.dsp</CODE>
+ <LI><CODE>os\win32\ApacheModuleStatus.dsp</CODE>
+ <LI><CODE>os\win32\ApacheModuleUserTrack.dsp</CODE>
+</OL>
+
+ The <CODE>support\</CODE> folder contains project files for additional
+ programs that are not part of the apache runtime, but are used by
+ the administrator to maintain password and log files.</P>
+
+<OL>
+ <LI><CODE>support\htdigest.dsp</CODE>
+ <LI><CODE>support\htpasswd.dsp</CODE>
+ <LI><CODE>support\logresolve.dsp</CODE>
+ <LI><CODE>support\rotatelogs.dsp</CODE>
+</OL>
<P>Once Apache has been compiled, it needs to be installed in its server
root directory. The default is the <CODE>\Apache</CODE>
directory, on the current hard drive. </P>
-<P>To install the files into the <CODE>\Apache</CODE> directory
- automatically, use one the following nmake commands (see above):</P>
+<P>To build and install all the files into the desired folder <EM>dir</EM>
+ automatically, use one the following nmake commands:
+
<UL>
-<LI><CODE>nmake /f Makefile.win installr INSTDIR=<EM>dir</EM></CODE>
- (for release build)
-<LI><CODE>nmake /f Makefile.win installd INSTDIR=<EM>dir</EM></CODE>
- (for debug build)
+ <LI><CODE>nmake /f Makefile.win installr INSTDIR=<EM>dir</EM></CODE>
+ (for release build)
+ <LI><CODE>nmake /f Makefile.win installd INSTDIR=<EM>dir</EM></CODE>
+ (for debug build)
</UL>
-The dir argument to INSTDIR gives the installation directory; it can
-be omitted if Apache is to be installed into <SAMP>\Apache</SAMP>.
+ The dir argument to INSTDIR gives the installation directory; it can
+ be omitted if Apache is to be installed into <SAMP>\Apache</SAMP>.</P>
<P>This will install the following:</P>
<UL>
<LI><CODE><EM>dir</EM>\Apache.exe</CODE> - Apache executable
- <LI><CODE><EM>dir</EM>\ApacheCore.dll</CODE> - Main Apache shared library
+ <LI><CODE><EM>dir</EM>\aprlib.dll</CODE> - Apache Portable Runtime shared library
+ <LI><CODE><EM>dir</EM>\ApacheCore.dll</CODE> - Apache Core application
<LI><CODE><EM>dir</EM>\modules\ApacheModule*.dll</CODE> - Optional Apache
modules (7 files)
+ <LI><CODE><EM>dir</EM>\support\*.exe</CODE> - Administrator support executables
<LI><CODE><EM>dir</EM>\conf</CODE> - Empty configuration directory
<LI><CODE><EM>dir</EM>\logs</CODE> - Empty logging directory
</UL>
<P>If you do not have nmake, or wish to install in a different directory,
- be sure to use a similar naming scheme.</P>
-
-<P>
-Before running the server you must fill out the conf directory.
-Copy the *.conf-dist-win from the distribution conf directory
-and rename *.conf. Edit the @@ServerRoot@@ entries to your
-actual server root (for example "C:\apache"). Copy over
-the conf/magic and conf/mime.types files as well.
+ be sure to use a similar naming scheme, or use the following shortcut.</P>
+
+<P>To simplify the process, dependencies between all projects
+ are defined in the Microsoft VisualStudio workspace file:
+
+<PRE>
+ src/Apache.dsw
+</PRE>
+
+ This assures that lower-level sources are rebuilt from within
+ VisualStudio. The top level project is InstallBin, which invokes
+ Makefile.win to move the compiled executables and dlls. You may
+ personalize the INSTDIR= setting by changing the Settings for
+ InstallBin, Build command line entry under the General tab.
+ The default from within the InstallBin.dsp project is one level up
+ (..) from the src tree.</P>
+
+<P><STRONG>Warning about building Apache from the development tree</STRONG></P>
+
+<P>Only the .dsp files are distributed between release builds. The
+ .mak files are NOT regenerated, due to the tremendous waste of
+ reviewer's time. Therefore, you cannot rely on the NMAKE commands
+ above unless you -frequently- export all .mak files yourself from
+ the project. This is unnecessary if you build from withing the
+ Microsoft DeveloperStudio environment.</P>
+
+<P>Before running the server you must fill out the conf directory.
+ Copy the *.conf-dist-win from the distribution conf directory
+ and rename *.conf. Edit the @@ServerRoot@@ entries to your
+ actual server root (for example "C:\apache"). Copy over
+ the conf/magic and conf/mime.types files as well.</P>
<!--#include virtual="footer.html" -->
</BODY>