mirror of
				https://github.com/apache/httpd.git
				synced 2025-10-31 19:10:37 +03:00 
			
		
		
		
	git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1596444 13f79535-47bb-0310-9956-ffa450edef68
		
			
				
	
	
		
			474 lines
		
	
	
		
			26 KiB
		
	
	
	
		
			XML
		
	
	
	
	
	
			
		
		
	
	
			474 lines
		
	
	
		
			26 KiB
		
	
	
	
		
			XML
		
	
	
	
	
	
| <?xml version="1.0" encoding="ISO-8859-1"?>
 | |
| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 | |
| <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head><!--
 | |
|         XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 | |
|               This file is generated from xml source: DO NOT EDIT
 | |
|         XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 | |
|       -->
 | |
| <title>Compiling Apache for Microsoft Windows - Apache HTTP Server Version 2.5</title>
 | |
| <link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
 | |
| <link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
 | |
| <link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" />
 | |
| <script src="../style/scripts/prettify.min.js" type="text/javascript">
 | |
| </script>
 | |
| 
 | |
| <link href="../images/favicon.ico" rel="shortcut icon" /></head>
 | |
| <body id="manual-page"><div id="page-header">
 | |
| <p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p>
 | |
| <p class="apache">Apache HTTP Server Version 2.5</p>
 | |
| <img alt="" src="../images/feather.gif" /></div>
 | |
| <div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div>
 | |
| <div id="path">
 | |
| <a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Platform Specific Notes</a></div><div id="page-content"><div id="preamble"><h1>Compiling Apache for Microsoft Windows</h1>
 | |
| <div class="toplang">
 | |
| <p><span>Available Languages: </span><a href="../en/platform/win_compiling.html" title="English"> en </a> |
 | |
| <a href="../ko/platform/win_compiling.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
 | |
| </div>
 | |
| 
 | |
| 
 | |
|     <p>There are many important points to consider before you begin compiling
 | |
|     Apache. See <a href="windows.html">Using Apache with Microsoft
 | |
|     Windows</a> before you begin.</p>
 | |
| 
 | |
|   </div>
 | |
| <div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#requirements">Requirements</a></li>
 | |
| <li><img alt="" src="../images/down.gif" /> <a href="#unixsrcbuild">Building from Unix sources</a></li>
 | |
| <li><img alt="" src="../images/down.gif" /> <a href="#commandbuild">Command-Line Build</a></li>
 | |
| <li><img alt="" src="../images/down.gif" /> <a href="#workspacebuild">Developer Studio Workspace IDE Build</a></li>
 | |
| <li><img alt="" src="../images/down.gif" /> <a href="#exportingmakfiles">Exporting command-line .mak files</a></li>
 | |
| <li><img alt="" src="../images/down.gif" /> <a href="#installation">Installation</a></li>
 | |
| <li><img alt="" src="../images/down.gif" /> <a href="#projectcomponents-warn">Warning about building Apache from the development tree</a></li>
 | |
| </ul><ul class="seealso"><li><a href="#comments_section">Comments</a></li></ul></div>
 | |
| <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
 | |
| <div class="section">
 | |
| <h2><a name="requirements" id="requirements">Requirements</a></h2>
 | |
| 
 | |
|     
 | |
| 
 | |
|     <p>Compiling Apache requires the following environment to be
 | |
|     properly installed:</p>
 | |
| 
 | |
|     <ul>
 | |
|       <li>
 | |
|         <p>Disk Space</p>
 | |
| 
 | |
|         <p>Make sure you have at least 200 MB of free disk space
 | |
|         available. After installation Apache requires approximately
 | |
|         80 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, especially when OpenSSL
 | |
|         is also built.  Because many files are text and very easily
 | |
|         compressed, NTFS filesystem compression cuts these requirements
 | |
|         in half.</p>
 | |
|       </li>
 | |
| 
 | |
|       <li>
 | |
|         <p>Appropriate Patches</p>
 | |
| 
 | |
|         <p>The httpd binary is built with the help of several patches to
 | |
|         third party packages, which ensure the released code is buildable
 | |
|         and debuggable.  These patches are available and distributed from <a href="http://www.apache.org/dist/httpd/binaries/win32/patches_applied/">http://www.apache.org/dist/httpd/binaries/win32/patches_applied/</a>
 | |
|         and are recommended to be applied to obtain identical results as the
 | |
|         "official" ASF distributed binaries.</p>
 | |
|       </li>
 | |
| 
 | |
|       <li>
 | |
|         <p>Microsoft Visual C++ 6.0 (Visual Studio 97) or later.</p>
 | |
| 
 | |
|         <p>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 <code>PATH</code>,
 | |
|         <code>INCLUDE</code>, <code>LIB</code> and other variables
 | |
|         that can be configured with the <code>vcvars32.bat</code> script.</p>
 | |
| 
 | |
|         <div class="note">You may want the Visual Studio Processor Pack for your older
 | |
|         version of Visual Studio, or a full (not Express) version of newer
 | |
|         Visual Studio editions, for the ml.exe assembler.  This will allow
 | |
|         you to build OpenSSL, if desired, using the more efficient assembly
 | |
|         code implementation.</div>
 | |
| 
 | |
|         <div class="note">Only the Microsoft compiler tool chain is actively supported by
 | |
|         the active httpd contributors.  Although the project regularly accepts
 | |
|         patches to ensure MinGW and other alternative builds work and improve
 | |
|         upon them, they are not actively maintained and are often broken in
 | |
|         the course of normal development.</div>
 | |
|       </li>
 | |
| 
 | |
|       <li>
 | |
|         <p>Updated Microsoft Windows Platform SDK, February 2003 or later.</p>
 | |
| 
 | |
|         <p>An appropriate Windows Platform SDK is included by default in the
 | |
|         full (not express/lite) versions  of Visual C++ 7.1 (Visual Studio 2002)
 | |
|         and later, these users can ignore these steps unless explicitly choosing
 | |
|         a newer or different version of the Platform SDK.</p>
 | |
| 
 | |
|         <p>To use Visual C++ 6.0 or 7.0 (Studio 2000 .NET), the Platform SDK
 | |
|         environment must be prepared using the <code>setenv.bat</code>
 | |
|         script (installed by the Platform SDK) before starting the command
 | |
|         line build or launching the msdev/devenv GUI environment.  Installing
 | |
|         the Platform SDK for Visual Studio Express versions (2003 and later)
 | |
|         should adjust the default environment appropriately.</p>
 | |
| 
 | |
|         <div class="example"><p><code>
 | |
|           "c:\Program Files\Microsoft Visual Studio\VC98\Bin\VCVARS32"<br />
 | |
|           "c:\Program Files\Platform SDK\setenv.bat"
 | |
|         </code></p></div>
 | |
|       </li>
 | |
| 
 | |
|       <li>
 | |
|         <p>Perl and awk</p>
 | |
| 
 | |
|         <p>Several steps recommended here require a perl interpreter during
 | |
|         the build preparation process, but it is otherwise not required.</p>
 | |
| 
 | |
|         <p>To install Apache within the build system, several files are
 | |
|         modified using the <code>awk.exe</code> utility. awk was chosen since
 | |
|         it is a very small download (compared with Perl or WSH/VB) and
 | |
|         accomplishes the task of modifying configuration files upon
 | |
|         installation.  Brian Kernighan's
 | |
|         <a href="http://www.cs.princeton.edu/~bwk/btl.mirror/">http://www.cs.princeton.edu/~bwk/btl.mirror/</a>
 | |
|         site has a compiled native Win32 binary,
 | |
|         <a href="http://www.cs.princeton.edu/~bwk/btl.mirror/awk95.exe">http://www.cs.princeton.edu/~bwk/btl.mirror/awk95.exe</a> which
 | |
|         you must save with the name <code>awk.exe</code> (rather than
 | |
|         <code>awk95.exe</code>).</p>
 | |
| 
 | |
|         <div class="note">If awk.exe is not found, Makefile.win's install target
 | |
|         will not perform substitutions in the installed .conf files.
 | |
|         You must manually modify the installed .conf files to allow
 | |
|         the server to start.  Search and replace all "@token@" tags
 | |
|         as appropriate.</div>
 | |
| 
 | |
|         <div class="note">The Visual Studio IDE will only find <code>awk.exe</code>
 | |
|         from the PATH, or executable path specified in the menu option
 | |
|         Tools -> Options -> (Projects ->) Directories.  Ensure
 | |
|         awk.exe is in your system path.</div>
 | |
| 
 | |
|         <div class="note">Also note that if you are using Cygwin tools
 | |
|         (<a href="http://www.cygwin.com/">http://www.cygwin.com/</a>)
 | |
|         the awk utility is named <code>gawk.exe</code> and that the file
 | |
|         <code>awk.exe</code> is really a symlink to the <code>gawk.exe</code>
 | |
|         file. The Windows command shell does not recognize symlinks, and
 | |
|         because of this building InstallBin will fail. A workaround is
 | |
|         to delete <code>awk.exe</code> from the cygwin installation and
 | |
|         copy <code>gawk.exe</code> to <code>awk.exe</code>.  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.</div>
 | |
|       </li>
 | |
| 
 | |
|       <li>
 | |
|         <p>[Optional] zlib library (for <code class="module"><a href="../mod/mod_deflate.html">mod_deflate</a></code>)</p>
 | |
| 
 | |
|         <p>Zlib must be installed into a <code>srclib</code> subdirectory named
 | |
|         <code>zlib</code>.  This must be built in-place.  Zlib can be obtained
 | |
|         from <a href="http://www.zlib.net/">http://www.zlib.net/</a> -- the
 | |
|         <code class="module"><a href="../mod/mod_deflate.html">mod_deflate</a></code> is confirmed to work correctly with
 | |
|         version 1.2.3.</p>
 | |
| 
 | |
|         <div class="example"><p><code>
 | |
|           nmake -f win32\Makefile.msc<br />
 | |
|           nmake -f win32\Makefile.msc test
 | |
|         </code></p></div>
 | |
|       </li>
 | |
| 
 | |
|       <li>
 | |
|         <p>[Optional] OpenSSL libraries (for <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code>
 | |
|         and <code>ab.exe</code> with ssl support)</p>
 | |
| 
 | |
|         <div class="note">The OpenSSL library is cryptographic software.  The country
 | |
|         in which you currently reside may have restrictions on the import,
 | |
|         possession, use, and/or re-export to another country, of encryption
 | |
|         software.  BEFORE using any encryption software, please check your
 | |
|         country's laws, regulations and policies concerning the import,
 | |
|         possession, or use, and re-export of encryption software, to see
 | |
|         if this is permitted.  See
 | |
|         <a href="http://www.wassenaar.org/">http://www.wassenaar.org/</a>
 | |
|         for more information.</div>
 | |
| 
 | |
|         <p>Configuring and building OpenSSL requires perl to be installed.</p>
 | |
| 
 | |
|         <p>OpenSSL must be installed into a <code>srclib</code> subdirectory
 | |
|         named <code>openssl</code>, obtained from
 | |
|         <a href="http://www.openssl.org/source/">http://www.openssl.org/source/</a>, in order to compile
 | |
|         <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> or the <code>abs.exe</code> project, which
 | |
|         is ab.c with SSL support enabled.  To prepare OpenSSL to be linked
 | |
|         to Apache mod_ssl or abs.exe, and disable patent encumbered features
 | |
|         in OpenSSL,  you might use the following build commands:</p>
 | |
| 
 | |
|         <div class="example"><p><code>
 | |
|           perl Configure no-rc5 no-idea enable-mdc2 enable-zlib VC-WIN32
 | |
|                -Ipath/to/srclib/zlib -Lpath/to/srclib/zlib<br />
 | |
|           ms\do_masm.bat<br />
 | |
|           nmake -f ms\ntdll.mak
 | |
|         </code></p></div>
 | |
| 
 | |
|         <div class="note">It is not advisable to use zlib-dynamic, as that transfers
 | |
|         the cost of deflating SSL streams to the first request which must
 | |
|         load the zlib dll.  Note the suggested patch enables the -L flag to
 | |
|         work with windows builds, corrects the name of zdll.lib and ensures
 | |
|         .pdb files are generated for troubleshooting.  If the assembler is
 | |
|         not installed, you would add no-asm above and use ms\do_ms.bat
 | |
|         instead of the ms\do_masm.bat script.</div>
 | |
|       </li>
 | |
| 
 | |
|       <li>
 | |
|         <p>[Optional] Database libraries (for <code class="module"><a href="../mod/mod_dbd.html">mod_dbd</a></code>
 | |
|         and <code class="module"><a href="../mod/mod_authn_dbm.html">mod_authn_dbm</a></code>)</p>
 | |
| 
 | |
|         <p>The apr-util library exposes dbm (keyed database) and dbd (query
 | |
|         oriented database) client functionality to the httpd server and its
 | |
|         modules, such as authentication and authorization.  The sdbm dbm and
 | |
|         odbc dbd providers are compiled unconditionally.</p>
 | |
| 
 | |
|         <p>The dbd support includes the Oracle instantclient package, MySQL,
 | |
|         PostgreSQL and sqlite.  To build these all, for example, set up the
 | |
|         LIB to include the library path, INCLUDE to include the headers path,
 | |
|         and PATH to include the dll bin path of all four SDK's, and set the
 | |
|         DBD_LIST environment variable to inform the build which client driver
 | |
|         SDKs are installed correctly, e.g.;</p>
 | |
| 
 | |
|         <div class="example"><p><code>
 | |
|           set DBD_LIST=sqlite3 pgsql oracle mysql
 | |
|         </code></p></div>
 | |
| 
 | |
|         <p>Similarly, the dbm support can be extended with DBM_LIST to
 | |
|         build a Berkeley DB provider (db) and/or gdbm provider, by similarly
 | |
|         configuring LIB, INCLUDE and PATH first to ensure the client library
 | |
|         libs and headers are available.</p>
 | |
| 
 | |
|         <div class="example"><p><code>
 | |
|           set DBM_LIST=db gdbm
 | |
|         </code></p></div>
 | |
| 
 | |
|         <div class="note">Depending on the choice of database distributions, it may be
 | |
|         necessary to change the actual link target name (e.g. gdbm.lib vs.
 | |
|         libgdb.lib) that are listed in the corresponding .dsp/.mak files
 | |
|         within the directories srclib\apr-util\dbd or ...\dbm.</div>
 | |
| 
 | |
|         <p>See the README-win32.txt file for more hints on obtaining the
 | |
|         various database driver SDKs.</p>
 | |
|       </li>
 | |
|     </ul>
 | |
| 
 | |
|   </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
 | |
| <div class="section">
 | |
| <h2><a name="unixsrcbuild" id="unixsrcbuild">Building from Unix sources</a></h2>
 | |
| 
 | |
|     
 | |
| 
 | |
|     <p>The policy of the Apache HTTP Server project is to only release Unix sources.
 | |
|     Windows source packages made available for download have been supplied by 
 | |
|     volunteers and may not be available for every release. You can still build 
 | |
|     the server on Windows from the Unix source tarball with just a few additional
 | |
|     steps.</p>
 | |
| 
 | |
|     <ol>
 | |
|     	<li>Download and unpack the Unix source tarball for the latest version.</li>
 | |
|     	<li>Download and unpack the Unix source tarball for latest version of
 | |
|         APR, AR-Util and APR-Iconv, place these sources in directories  httpd-2.x.x\srclib\apr, httpd-2.x.x\srclib\apr-util and httpd-2.x.x\srclib\apr-iconv</li>
 | |
|     	<li>Open a Command Prompt and CD to the httpd-2.x.x folder</li>
 | |
|     	<li>Run the line endings conversion utility at the prompt;</li>
 | |
|     </ol>
 | |
| 
 | |
|     <div class="example"><p><code>
 | |
|       perl srclib\apr\build\lineends.pl
 | |
|     </code></p></div>
 | |
| 
 | |
|     <p>You can now build the server with the Visual Studio 6.0 development 
 | |
|     environment using the IDE. Command-Line builds of the server are not 
 | |
|     possible from Unix sources unless you export .mak files as explained 
 | |
|     below.
 | |
|     </p>
 | |
| 
 | |
|   </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
 | |
| <div class="section">
 | |
| <h2><a name="commandbuild" id="commandbuild">Command-Line Build</a></h2>
 | |
| 
 | |
|     
 | |
| 
 | |
|     <p><code>Makefile.win</code> is the top level Apache makefile.
 | |
|     To compile Apache on Windows, simply use one of the following commands
 | |
|     to build the <code>release</code> or <code>debug</code> flavor:</p>
 | |
| 
 | |
|     <div class="example"><p><code>
 | |
|       nmake /f Makefile.win _apacher<br /><br />
 | |
|       nmake /f Makefile.win _apached
 | |
|     </code></p></div>
 | |
| 
 | |
|     <p>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.</p>
 | |
| 
 | |
|     <p>You can add your apr-util dbd and dbm provider choices with the
 | |
|     additional make (environment) variables DBD_LIST and DBM_LIST,
 | |
|     see the comments about [Optional] Database libraries, above.
 | |
|     Review the initial comments in Makefile.win for additional options
 | |
|     that can be provided when invoking the build.</p>
 | |
| 
 | |
|   </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
 | |
| <div class="section">
 | |
| <h2><a name="workspacebuild" id="workspacebuild">Developer Studio Workspace IDE Build</a></h2>
 | |
| 
 | |
|     
 | |
| 
 | |
|     <p>Apache can also be compiled using VC++'s Visual Studio
 | |
|     development environment. To simplify this process, a
 | |
|     Visual Studio workspace, <code>Apache.dsw</code>, is provided.
 | |
|     This workspace exposes the entire list of working <code>.dsp</code>
 | |
|     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>Open the <code>Apache.dsw</code> workspace, and select
 | |
|     <code>InstallBin</code> (<code>Release</code> or <code>Debug</code> build,
 | |
|     as desired) as the Active Project. <code>InstallBin</code> causes all
 | |
|     related project to be built, and then invokes <code>Makefile.win</code> to
 | |
|     move the compiled executables and dlls. You may personalize the
 | |
|     <code>INSTDIR=</code> choice by changing <code>InstallBin</code>'s Settings,
 | |
|     General tab, Build command line entry. <code>INSTDIR</code> defaults to the
 | |
|     <code>/Apache2</code> directory. If you only want a test compile (without
 | |
|     installing) you may build the <code>BuildBin</code> project instead.</p>
 | |
| 
 | |
|     <p>The <code>.dsp</code> project files are distributed in Visual Studio 6.0
 | |
|     (98) format. Visual C++ 5.0 (97) will recognize them. Visual Studio
 | |
|     2002 (.NET) and later users must convert <code>Apache.dsw</code> plus
 | |
|     the <code>.dsp</code> files into an <code>Apache.sln</code> plus
 | |
|     <code>.msproj</code> files.  Be sure you reconvert the <code>.msproj</code>
 | |
|     file again if its source <code>.dsp</code> file changes! This is really
 | |
|     trivial, just open <code>Apache.dsw</code> in the VC++ 7.0 IDE once again
 | |
|     and reconvert.</p>
 | |
| 
 | |
|     <div class="note">There is a flaw in the .vcproj conversion of .dsp files.  devenv.exe
 | |
|     will mis-parse the /D flag for RC flags containing long quoted /D'efines
 | |
|     which contain spaces.  The command:
 | |
|     <div class="example"><p><code>
 | |
|       perl srclib\apr\build\cvtdsp.pl -2005
 | |
|     </code></p></div>
 | |
|     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 its exported .mak files.  These /D flags are used to pass the long
 | |
|     description of the mod_apachemodule.so files to the shared .rc resource
 | |
|     version-identifier build.</div>
 | |
| 
 | |
|     <p>Visual Studio 2002 (.NET) and later users should also use the Build
 | |
|     menu, Configuration Manager dialog to uncheck both the <code>Debug</code>
 | |
|     and <code>Release</code> Solution modules <code>abs</code>,
 | |
|     <code class="module"><a href="../mod/mod_deflate.html">mod_deflate</a></code> and <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> components, as
 | |
|     well as every component starting with <code>apr_db*</code>.  These modules
 | |
|     are built by invoking <code>nmake</code>, or the IDE directly with the
 | |
|     <code>BinBuild</code> target, which builds those modules conditionally
 | |
|     if the <code>srclib</code> directories <code>openssl</code> and/or
 | |
|     <code>zlib</code> exist, and based on the setting of <code>DBD_LIST</code>
 | |
|     and <code>DBM_LIST</code> environment variables.</p>
 | |
| 
 | |
|   </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
 | |
| <div class="section">
 | |
| <h2><a name="exportingmakfiles" id="exportingmakfiles">Exporting command-line .mak files</a></h2>
 | |
| 
 | |
|     
 | |
| 
 | |
|     <p>Exported <code>.mak</code> files pose a greater hassle, but they are
 | |
|     required for Visual C++ 5.0 users to build <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code>,
 | |
|     abs (<code class="program"><a href="../programs/ab.html">ab</a></code> with SSL support) and/or
 | |
|     <code class="module"><a href="../mod/mod_deflate.html">mod_deflate</a></code>.  The .mak files also support a broader
 | |
|     range of C++ tool chain distributions, such as Visual Studio Express.</p>
 | |
| 
 | |
|     <p>You must first build all projects in order to create all dynamic
 | |
|     auto-generated targets, so that dependencies can be parsed correctly.
 | |
|     Build the entire project from within the Visual Studio 6.0 (98) IDE,
 | |
|     using the <code>BuildAll</code> target, then use the Project Menu Export
 | |
|     for all makefiles (checking on "with dependencies".)  Run the following
 | |
|     command to correct absolute paths into relative paths so they will build
 | |
|     anywhere:</p>
 | |
| 
 | |
|     <div class="example"><p><code>
 | |
|       perl srclib\apr\build\fixwin32mak.pl
 | |
|     </code></p></div>
 | |
| 
 | |
|     <p>You must type this command from the <em>top level</em>
 | |
|     directory of the httpd source tree. Every
 | |
|     <code>.mak</code> and <code>.dep</code> project file within
 | |
|     the current directory and below will be corrected, and the
 | |
|     timestamps adjusted to reflect the <code>.dsp</code>.</p>
 | |
| 
 | |
|     <p>Always review the generated <code>.mak</code> and <code>.dep</code>
 | |
|     files for Platform SDK or other local, machine specific file paths.
 | |
|     The <code>DevStudio\Common\MSDev98\bin\</code> (VC6) directory contains
 | |
|     a <code>sysincl.dat</code> file, which lists all exceptions.  Update
 | |
|     this file (including both forward and backslashed paths, such as both
 | |
|     <code>sys/time.h</code> and <code>sys\time.h</code>) to ignore such
 | |
|     newer dependencies.  Including local-install paths in a distributed
 | |
|     <code>.mak</code> file will cause the build to fail completely.</p>
 | |
| 
 | |
|     <p>If you contribute back a patch that revises project files, we
 | |
|     must commit project files in Visual Studio 6.0 format. Changes
 | |
|     should be simple, with minimal compilation and linkage flags that
 | |
|     can be recognized by all Visual Studio environments.</p>
 | |
| 
 | |
|   </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
 | |
| <div class="section">
 | |
| <h2><a name="installation" id="installation">Installation</a></h2>
 | |
| 
 | |
|     
 | |
| 
 | |
|     <p>Once Apache has been compiled, it needs to be installed in
 | |
|     its server root directory. The default is the
 | |
|     <code>\Apache2</code> directory, of the same drive.</p>
 | |
| 
 | |
|     <p>To build and install all the files into the desired folder
 | |
|     <em>dir</em> automatically, use one of the following
 | |
|     <code>nmake</code> commands:</p>
 | |
| 
 | |
|     <div class="example"><p><code>
 | |
|       nmake /f Makefile.win installr INSTDIR=<em>dir</em><br />
 | |
|       nmake /f Makefile.win installd INSTDIR=<em>dir</em>
 | |
|     </code></p></div>
 | |
| 
 | |
|     <p>The <em>dir</em> argument to <code>INSTDIR</code> provides
 | |
|     the installation directory; it can be omitted if Apache is
 | |
|     to be installed into <code>\Apache22</code> (of the current
 | |
|     drive).</p>
 | |
| 
 | |
|   </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
 | |
| <div class="section">
 | |
| <h2><a name="projectcomponents-warn" id="projectcomponents-warn">Warning about building Apache from the development tree</a></h2>
 | |
| 
 | |
|     
 | |
| 
 | |
|     <div class="note">Note only the <code>.dsp</code> files are maintained between <code>release</code>
 | |
|     builds. The <code>.mak</code> files are NOT regenerated, due to the tremendous
 | |
|     waste of reviewer's time. Therefore, you cannot rely on the <code>NMAKE</code>
 | |
|     commands above to build revised <code>.dsp</code> project files unless you
 | |
|     then export all <code>.mak</code> files yourself from the project. This is
 | |
|     unnecessary if you build from within the Microsoft
 | |
|     Developer Studio environment.</div>
 | |
| 
 | |
|   </div></div>
 | |
| <div class="bottomlang">
 | |
| <p><span>Available Languages: </span><a href="../en/platform/win_compiling.html" title="English"> en </a> |
 | |
| <a href="../ko/platform/win_compiling.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
 | |
| </div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
 | |
| <script type="text/javascript"><!--//--><![CDATA[//><!--
 | |
| var comments_shortname = 'httpd';
 | |
| var comments_identifier = 'http://httpd.apache.org/docs/trunk/platform/win_compiling.html';
 | |
| (function(w, d) {
 | |
|     if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
 | |
|         d.write('<div id="comments_thread"><\/div>');
 | |
|         var s = d.createElement('script');
 | |
|         s.type = 'text/javascript';
 | |
|         s.async = true;
 | |
|         s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
 | |
|         (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
 | |
|     }
 | |
|     else {
 | |
|         d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
 | |
|     }
 | |
| })(window, document);
 | |
| //--><!]]></script></div><div id="footer">
 | |
| <p class="apache">Copyright 2014 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
 | |
| <p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
 | |
| if (typeof(prettyPrint) !== 'undefined') {
 | |
|     prettyPrint();
 | |
| }
 | |
| //--><!]]></script>
 | |
| </body></html> |