summaryrefslogtreecommitdiffstats
path: root/rubbos/app/httpd-2.0.64/docs/manual/platform/win_compiling.html.en
diff options
context:
space:
mode:
Diffstat (limited to 'rubbos/app/httpd-2.0.64/docs/manual/platform/win_compiling.html.en')
-rw-r--r--rubbos/app/httpd-2.0.64/docs/manual/platform/win_compiling.html.en431
1 files changed, 431 insertions, 0 deletions
diff --git a/rubbos/app/httpd-2.0.64/docs/manual/platform/win_compiling.html.en b/rubbos/app/httpd-2.0.64/docs/manual/platform/win_compiling.html.en
new file mode 100644
index 00000000..96a130a7
--- /dev/null
+++ b/rubbos/app/httpd-2.0.64/docs/manual/platform/win_compiling.html.en
@@ -0,0 +1,431 @@
+<?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</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 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/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p>
+<p class="apache">Apache HTTP Server Version 2.0</p>
+<img alt="" src="../images/feather.gif" /></div>
+<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
+<div id="path">
+<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP Server</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="../">Version 2.0</a> &gt; <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">&nbsp;en&nbsp;</a> |
+<a href="../ko/platform/win_compiling.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
+</div>
+
+
+ <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>
+
+ </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="#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="#projectcomponents">Project Components</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 50 MB of free disk space
+ available. After installation Apache requires approximately
+ 10 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.</p>
+ </li>
+
+ <li>
+ <p>Microsoft Visual C++ 5.0 or higher.</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</code> batch file:</p>
+
+ <div class="example"><p><code>
+ "c:\Program Files\DevStudio\VC\Bin\vcvars32.bat"
+ </code></p></div>
+ </li>
+
+ <li>
+ <p>The Windows Platform SDK.</p>
+ <p>Visual C++ 5.0 builds require an updated Microsoft Windows
+ Platform SDK to enable some Apache features. For command line
+ builds, the Platform SDK environment is prepared by the
+ <code>setenv</code> batch file:</p>
+
+ <div class="example"><p><code>
+ "c:\Program Files\Platform SDK\setenv.bat"
+ </code></p></div>
+
+ <p>The Platform SDK files distributed with Visual C++ 6.0 and
+ later are sufficient, so users of later version may skip
+ this requirement.</p>
+
+ <div class="note">Note that the Windows Platform SDK update is required
+ to enable all supported <code class="module"><a href="../mod/mod_isapi.html">mod_isapi</a></code> features.
+ Without a recent update, Apache will issue warnings under
+ MSVC++ 5.0 that some <code class="module"><a href="../mod/mod_isapi.html">mod_isapi</a></code> features
+ will be disabled. Look for the update at <a href="http://msdn.microsoft.com/downloads/sdks/platform/platform.asp">http://msdn.microsoft.com/downloads/sdks/platform/platform.asp</a>.</div>
+ </li>
+
+ <li>
+ <p>The awk utility (awk, gawk or similar).</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 generating files. Brian Kernighan's
+ <a href="http://cm.bell-labs.com/cm/cs/who/bwk/">http://cm.bell-labs.com/cm/cs/who/bwk/</a>
+ site has a compiled native Win32 binary,
+ <a href="http://cm.bell-labs.com/cm/cs/who/bwk/awk95.exe">http://cm.bell-labs.com/cm/cs/who/bwk/awk95.exe</a> which
+ you must save with the name <code>awk.exe</code> rather than
+ <code>awk95.exe</code>.</p>
+
+ <div class="note">Note that Developer Studio IDE will only find
+ <code>awk.exe</code> 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 <code>awk.exe</code>
+ to this list, and your system <code>PATH</code> environment variable,
+ as needed.</div>
+
+ <div class="note">Also note that if you are using Cygwin (<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 that
+ building InstallBin will fail. A workaround is to delete <code>awk.exe</code> from
+ the cygwin installation and rename <code>gawk.exe</code> to <code>awk.exe</code>.</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>
+ <p><strong>Caution: there are significant restrictions and
+ prohibitions on the use and distribution of strong cryptography
+ and patented intellectual property throughout the world.</strong>
+ OpenSSL includes strong cryptography controlled by both export
+ regulations and domestic law, as well as intellectual property
+ protected by patent, in the United States and elsewhere. Neither
+ the Apache Software Foundation nor the OpenSSL project can provide
+ legal advise regarding possession, use, or distribution of the code
+ provided by the OpenSSL project. <strong>Consult your own legal
+ counsel, you are responsible for your own actions.</strong></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 abs project (<code>ab.exe</code> with SSL support.) To prepare OpenSSL
+ for both <code>release</code> and <code>debug</code> builds of Apache, and
+ disable the patent protected features in OpenSSL, you might use the following
+ build commands:</p>
+
+ <div class="example"><p><code>
+ perl Configure VC-WIN32<br />
+ perl util\mkfiles.pl &gt;MINFO<br />
+ perl util\mk1mf.pl dll no-asm no-mdc2 no-rc5 no-idea VC-WIN32 &gt;makefile.rel<br />
+ perl util\mk1mf.pl dll debug no-asm no-mdc2 no-rc5 no-idea VC-WIN32 &gt;makefile.dbg<br />
+ perl util\mkdef.pl 32 libeay no-asm no-mdc2 no-rc5 no-idea &gt;ms\libeay32.def<br />
+ perl util\mkdef.pl 32 ssleay no-asm no-mdc2 no-rc5 no-idea &gt;ms\ssleay32.def<br />
+ nmake -f makefile.rel<br />
+ nmake -f makefile.dbg
+ </code></p></div>
+
+ <p>Note; you can use the scripts in the <code>ms\</code> subdirectory, however,
+ it's rather tricky to force <code>ms\do_masm.bat</code>, 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.</p>
+ </li>
+
+ <li>
+ <p>[Optional] zlib sources (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>, however those sources need not be compiled. The build system
+ will compile the compression sources directly into the <code class="module"><a href="../mod/mod_deflate.html">mod_deflate</a></code>
+ module. Zlib can be obtained from <a href="http://www.zlib.net/">http://www.zlib.net/</a> -- <code class="module"><a href="../mod/mod_deflate.html">mod_deflate</a></code> is confirmed to build
+ correctly with version 1.1.4. To use a later version of zlib, upgrade to
+ Apache HTTP Server release 2.2 or later.</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="commandbuild" id="commandbuild">Command-Line Build</a></h2>
+
+
+
+ <p>First, unpack the Apache distribution into an appropriate
+ directory. Open a command-line prompt and <code>cd</code> to that
+ directory.</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 to compiled the
+ <code>release</code> or <code>debug</code> build, respectively:</p>
+
+ <div class="example"><pre>
+nmake /f Makefile.win _apacher
+
+nmake /f Makefile.win _apached
+ </pre></div>
+
+ <p>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.</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
+ C++ 6.0 format. Visual C++ 5.0 (97) will recognize them. Visual C++
+ 7.0 (.net) 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 if any of the source
+ <code>.dsp</code> files change! This is really trivial, just open
+ <code>Apache.dsw</code> in the VC++ 7.0 IDE once again.</p>
+
+ <p>Visual C++ 7.0 (.net) users should also use the Build
+ menu, Configuration Manager dialog to uncheck both the <code>Debug</code>
+ and <code>Release</code> Solution modules abs, <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code>
+ and <code class="module"><a href="../mod/mod_deflate.html">mod_deflate</a></code>.
+ These modules are built by invoking <code>nmake</code> or the IDE directly
+ with the <code>BinBuild</code> target to build those modules explicitly,
+ only if the <code>srclib</code> directories <code>openssl</code>
+ and/or <code>zlib</code> exist.</p>
+
+ <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>.
+ VC++ 7.0 (.net) users also benefit, <code>nmake</code> builds
+ are faster than <code>binenv</code> 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:</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>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
+ will be recognized by all VC++ 5.0 through 7.0 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="projectcomponents" id="projectcomponents">Project Components</a></h2>
+
+
+
+ <p>The <code>Apache.dsw</code> workspace and <code>makefile.win</code>
+ <code>nmake</code> script both build the <code>.dsp</code> projects
+ of the Apache server in the following sequence:</p>
+
+ <ol>
+ <li><code>srclib\apr\apr.dsp</code></li>
+
+ <li><code>srclib\apr\libapr.dsp</code></li>
+
+ <li><code>srclib\apr-util\uri\gen_uri_delims.dsp</code></li>
+
+ <li><code>srclib\apr-util\xml\expat\lib\xml.dsp</code></li>
+
+ <li><code>srclib\apr-util\aprutil.dsp</code></li>
+
+ <li><code>srclib\apr-util\libaprutil.dsp</code></li>
+
+ <li><code>srclib\pcre\dftables.dsp</code></li>
+
+ <li><code>srclib\pcre\pcre.dsp</code></li>
+
+ <li><code>srclib\pcre\pcreposix.dsp</code></li>
+
+ <li><code>server\gen_test_char.dsp</code></li>
+
+ <li><code>libhttpd.dsp</code></li>
+
+ <li><code>Apache.dsp</code></li>
+ </ol>
+
+ <p>In addition, the <code>modules\</code> subdirectory tree contains
+ project files for the majority of the modules.</p>
+
+ <p>The <code>support\</code> directory contains project files for
+ additional programs that are not part of the Apache runtime,
+ but are used by the administrator to test Apache and maintain
+ password and log files. Windows-specific support projects are
+ broken out in the <code>support\win32\</code> directory.</p>
+
+ <ol>
+ <li><code>support\ab.dsp</code></li>
+
+ <li><code>support\htdigest.dsp</code></li>
+
+ <li><code>support\htpasswd.dsp</code></li>
+
+ <li><code>support\logresolve.dsp</code></li>
+
+ <li><code>support\rotatelogs.dsp</code></li>
+
+ <li><code>support\win32\ApacheMonitor.dsp</code></li>
+
+ <li><code>support\win32\wintty.dsp</code></li>
+ </ol>
+
+ <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"><pre>
+nmake /f Makefile.win installr INSTDIR=<em>dir</em>
+
+nmake /f Makefile.win installd INSTDIR=<em>dir</em>
+ </pre></div>
+
+ <p>The <em>dir</em> argument to <code>INSTDIR</code> gives
+ the installation directory; it can be omitted if Apache is
+ to be installed into <code>\Apache2</code>.</p>
+
+ <p>This will install the following:</p>
+
+ <ul>
+ <li><code><em>dir</em>\bin\Apache.exe</code> - Apache
+ executable</li>
+
+ <li><code><em>dir</em>\bin\ApacheMonitor.exe</code> - Service
+ monitor taskbar icon utility</li>
+
+ <li><code><em>dir</em>\bin\htdigest.exe</code> - Digest auth
+ password file utility</li>
+
+ <li><code><em>dir</em>\bin\htdbm.exe</code> - SDBM auth
+ database password file utility</li>
+
+ <li><code><em>dir</em>\bin\htpasswd.exe</code> - Basic auth
+ password file utility</li>
+
+ <li><code><em>dir</em>\bin\logresolve.exe</code> - Log file
+ dns name lookup utility</li>
+
+ <li><code><em>dir</em>\bin\rotatelogs.exe</code> - Log file
+ cycling utility</li>
+
+ <li><code><em>dir</em>\bin\wintty.exe</code> - Console window
+ utility</li>
+
+ <li><code><em>dir</em>\bin\libapr.dll</code> - Apache
+ Portable Runtime shared library</li>
+
+ <li><code><em>dir</em>\bin\libaprutil.dll</code> - Apache
+ Utility Runtime shared library</li>
+
+ <li><code><em>dir</em>\bin\libhttpd.dll</code> - Apache Core
+ library</li>
+
+ <li><code><em>dir</em>\modules\mod_*.so</code> - Loadable
+ Apache modules</li>
+
+ <li><code><em>dir</em>\conf</code> - Configuration
+ directory</li>
+
+ <li><code><em>dir</em>\logs</code> - Empty logging
+ directory</li>
+
+ <li><code><em>dir</em>\include</code> - C language header
+ files</li>
+
+ <li><code><em>dir</em>\lib</code> - Link library files</li>
+ </ul>
+
+ <h3><a name="projectcomponents-warn" id="projectcomponents-warn">Warning about building Apache from the development tree</a></h3>
+
+
+
+ <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 class="note">Also note it is very worthwhile to build the <code>BuildBin</code>
+ target project (or the command line <code>_apacher</code> or
+ <code>_apached</code> target) prior to exporting the make files.
+ Many files are autogenerated in the build process. Only a full
+ build provides all of the dependent files required to build proper
+ dependency trees for correct build behavior.</div>
+
+ <p>In order to create distribution <code>.mak</code> files, always review
+ the generated <code>.mak</code> (or <code>.dep</code>) dependencies for
+ Platform SDK or other garbage includes. The <code>DevStudio\SharedIDE\bin\</code>
+ (VC5) or <code>DevStudio\Common\MSDev98\bin\</code> (VC6) directory contains
+ the <code>sysincl.dat</code> file, which must list 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 include such dependencies.
+ Including local-install paths in a distributed <code>.mak</code> file will
+ cause the build to fail completely. And don't forget to run
+ <code>srclib/apr/build/fixwin32mak.pl</code> in order to fix absolute
+ paths within the <code>.mak</code> files.</p>
+
+
+
+ </div></div>
+<div class="bottomlang">
+<p><span>Available Languages: </span><a href="../en/platform/win_compiling.html" title="English">&nbsp;en&nbsp;</a> |
+<a href="../ko/platform/win_compiling.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
+</div><div id="footer">
+<p class="apache">Copyright 2009 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/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
+</body></html> \ No newline at end of file