Commit f24818ef authored by Bill Stoddard's avatar Bill Stoddard
Browse files

Win32: Update docs to reflect new build environment.

Submitted by:	William Rowe


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85009 13f79535-47bb-0310-9956-ffa450edef68
parent 5c98e48f
Loading
Loading
Loading
Loading
+75 −41
Original line number Diff line number Diff line
@@ -14,22 +14,6 @@
>
<!--#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.
@@ -47,7 +31,7 @@

<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)
@@ -64,10 +48,10 @@
   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>
   <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>
@@ -75,15 +59,40 @@
   <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>
   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)
@@ -92,28 +101,53 @@
</UL>

   The dir argument to INSTDIR gives the installation directory; it can
be omitted if Apache is to be installed into <SAMP>\Apache</SAMP>.
   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>
   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.
<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.
   the conf/magic and conf/mime.types files as well.</P>

<!--#include virtual="footer.html" -->
</BODY>