summaryrefslogtreecommitdiff
path: root/usr.sbin/httpd/htdocs/manual/win_compiling.html
diff options
context:
space:
mode:
Diffstat (limited to 'usr.sbin/httpd/htdocs/manual/win_compiling.html')
-rw-r--r--usr.sbin/httpd/htdocs/manual/win_compiling.html207
1 files changed, 207 insertions, 0 deletions
diff --git a/usr.sbin/httpd/htdocs/manual/win_compiling.html b/usr.sbin/httpd/htdocs/manual/win_compiling.html
new file mode 100644
index 00000000000..9cf31642655
--- /dev/null
+++ b/usr.sbin/httpd/htdocs/manual/win_compiling.html
@@ -0,0 +1,207 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<HTML>
+<HEAD>
+<TITLE>Compiling Apache for Microsoft Windows</TITLE>
+</HEAD>
+
+<!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+<BODY
+ BGCOLOR="#FFFFFF"
+ TEXT="#000000"
+ LINK="#0000FF"
+ VLINK="#000080"
+ ALINK="#FF0000"
+>
+<DIV ALIGN="CENTER">
+ <IMG SRC="images/sub.gif" ALT="[APACHE DOCUMENTATION]">
+ <H3>
+ Apache HTTP Server
+ </H3>
+</DIV>
+
+
+<H1 ALIGN="CENTER">Compiling Apache for Microsoft Windows</H1>
+
+<P>There are many important points before you begin compiling Apache.
+ See <A HREF="windows.html">Using Apache with Microsoft Windows</A>
+ before you begin.</P>
+
+<P>Compiling Apache requires Microsoft Visual C++ 5.0 or 6.0 to be properly
+ installed. It is easiest to compile with the command-line tools
+ (nmake, <EM>etc.</EM>..). Consult the VC++ manual to determine how
+ to install them. Be especially aware that the vcvars32.bat file
+ from the Program Files/DevStudio/VC/bin folder may be required to
+ prepare the command-line environment for command-line builds!</P>
+
+<P>First, unpack the Apache distribution into an appropriate
+ directory. Open a command-line prompt, and change to the
+ <CODE>src</CODE> subdirectory of the Apache distribution.</P>
+
+<P>The master Apache makefile instructions are contained in the
+ <CODE>Makefile.win</CODE> file. To compile Apache on Windows NT, simply
+ use one of the following commands:
+<UL>
+<LI><CODE>nmake /f Makefile.win _apacher</CODE> (release build)
+<LI><CODE>nmake /f Makefile.win _apached</CODE> (debug build)
+</UL>
+
+<P>These will both compile Apache. The latter will include debugging
+ information in the resulting files, making it easier to find bugs and
+ track down problems.</P>
+
+<P>If you get an error such as "the name specified is not recognized..."
+ then you need to run vcvars32.bat first. Enter the following command;
+<PRE>
+ "c:\Program Files\DevStudio\VC\Bin\VCVARS32.BAT"
+</PRE>
+ (you will need to adjust this command so it matches the directory where
+ your VC was installed.) Then try the nmake command again.</P>
+
+<P>Apache can also be compiled using VC++'s Visual Studio development
+ environment. To simplify this process, a Visual Studio workspace,
+ Apache.dsw, is provided in the <CODE>src</CODE> folder. This workspace
+ exposes the entire list of working .dsp projects that are required for the
+ complete Apache binary release. It includes dependencies between
+ the projects to assure that they are built in the appropriate order.</P>
+
+<P>These .dsp project files are distributed in Visual C++ 6.0 format. Visual
+ C++ 5.0 (97) will recognize them with the single exception of the /ZI flag,
+ which corresponds to the VC 5.0 /Zi flag for debugging symbols. To quickly
+ prepare the .dsp files for the Visual Studio 5.0 (97), you can use the
+ perl scripts distributed in the <CODE>src\helpers</CODE> folder:
+<PRE>
+ cd src\helpers
+ cvstodsp5.pl
+</PRE>
+ This command assumes you have a Perl interpreter installed and registered
+ for files of type .pl. The list of converted .dsp project files will
+ be displayed as they are converted. If you contribute back a patch that
+ offers revised project files, please convert them back with the script
+ dsp5tocvs.pl, which puts the projects back to Visual Studio 6.0 format.</P>
+
+<P>The core .dsp projects that are build by Apache.dsw or makefile.win are:</P>
+
+ <OL>
+ <LI><CODE>os\win32\ApacheOS.dsp</CODE>
+ <LI><CODE>regex\regex.dsp</CODE>
+ <LI><CODE>ap\ap.dsp</CODE>
+ <LI><CODE>lib\expat-lite\xmltok.dsp</CODE>
+ <LI><CODE>lib\expat-lite\xmlparse.dsp <EM>requires xmltok</EM></CODE>
+ <LI><CODE>main\gen_uri_delims.dsp</CODE>
+ <LI><CODE>main\gen_test_char.dsp</CODE>
+ <LI><CODE>ApacheCore.dsp <EM>requires all of the above</EM></CODE>
+ <LI><CODE>Apache.dsp <EM>requires ApacheCore</EM></CODE>
+ </OL>
+
+<P>In addition, the <CODE>os\win32</CODE> subdirectory contains
+ project files for the optional modules, all of which require ApacheCore.</P>
+
+<OL>
+ <LI><CODE>os\win32\ApacheModuleAuthAnon.dsp</CODE>
+ <LI><CODE>os\win32\ApacheModuleAuthDigest.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>
+ <LI><CODE>modules\proxy\ApacheModuleProxy.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>c:\ServerRoot</CODE> directory
+ automatically, use one the following nmake commands (see above):</P>
+
+<UL>
+<LI><CODE>nmake /f Makefile.win installr INSTDIR=<EM>c:\ServerRoot</EM></CODE>
+ (for release build)
+<LI><CODE>nmake /f Makefile.win installd INSTDIR=<EM>c:\ServerRoot</EM></CODE>
+ (for debug build)
+</UL>
+
+<P>The <EM>c:\ServerRoot</EM> 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>c:\ServerRoot</EM>\Apache.exe</CODE> - Apache executable
+ <LI><CODE><EM>c:\ServerRoot</EM>\ApacheCore.dll</CODE> - Main Apache
+ shared library
+ <LI><CODE><EM>c:\ServerRoot</EM>\modules\ApacheModule*.dll</CODE> -
+ Loadable Apache modules
+ <LI><CODE><EM>c:\ServerRoot</EM>\bin\*.exe</CODE> - Administrator support
+ executables from support
+ <LI><CODE><EM>c:\ServerRoot</EM>\conf</CODE> - Empty configuration directory
+ <LI><CODE><EM>c:\ServerRoot</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>To simplify the process, dependencies between all projects
+ are defined in the Microsoft VisualStudio workspace file:
+
+<PRE>
+ src/Apache.dsw
+</PRE>
+
+<P>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>Before running the server you must fill out the conf directory. Copy the
+ *.conf-dist-win from the distribution conf directory and rename them to
+ *.conf. You will need to copy over the conf/magic and conf/mime.types
+ files as well. In order to serve documents you will need to create a
+ htdocs\index.html or just copy over the standard Apache ones (This is a
+ good idea as then you get the full Apache documentation on line). If you
+ have previously run Apache from the c:\ServerRoot directory then please make
+ sure you backup any files you wish to retain or only copy the files you want
+ replaced. The following commands will copy all the required files to your
+ c:\ServerRoot directory (***over-writing any that were there***);</P>
+
+<UL>
+<LI><CODE>xcopy ..\conf\*.conf-dist-win <EM>c:\ServerRoot</EM>\conf\*.conf</CODE>
+<LI><CODE>xcopy ..\conf\magic <EM>c:\ServerRoot</EM>\conf\</CODE>
+<LI><CODE>xcopy ..\conf\mime.types <EM>c:\ServerRoot</EM>\conf\</CODE>
+<LI><CODE>xcopy ..\htdocs\*.* <EM>c:\ServerRoot</EM>\htdocs\ /s</CODE>
+</UL>
+<P>(adjust these so <EM>c:\ServerRoot</EM> matches the INSTDIR used above.)</P>
+
+<P>Change the @@ServerRoot@@ entries in <EM>c:\ServerRoot</EM>\conf\httpd.conf
+ to your actual server root (for example "<EM>c:/ServerRoot</EM>" Note: you
+ must use forward slashes in Apache configuration files!)</P>
+
+<HR>
+ <H3 ALIGN="CENTER">
+ Apache HTTP Server
+ </H3>
+
+<A HREF="./"><IMG SRC="images/index.gif" ALT="Index"></A>
+
+</BODY>
+</HTML>
+