view xml/en/docs/howto_build_on_win32.xml @ 2083:fb5eef3637a4

Avoid double negative in if_not_empty. Use of "not" and "until" in the same sentence makes it confusing. Moreover, use of "until" with something that doesn't describe an event or point in time is wrong.
author Sergey Kandaurov <pluknet@nginx.com>
date Mon, 11 Dec 2017 19:15:31 +0300
parents bea2d4e62376
children fe66463d0799
line wrap: on
line source

<?xml version="1.0"?>

<!--
  Copyright (C) Nginx, Inc.
  -->

<!DOCTYPE article SYSTEM "../../../dtd/article.dtd">

<article name="Building nginx on the Win32 platform with Visual C"
         link="/en/docs/howto_build_on_win32.html"
         lang="en"
         rev="10">

<section name="Prerequisites">

<para>
To build nginx on the <registered>Microsoft Win32</registered> platform you need:

<list type="bullet">

<listitem>
Microsoft Visual C compiler. <registered>Microsoft Visual Studio</registered>
8 and 10 are known to work.
</listitem>

<listitem>
<link url="http://www.mingw.org/wiki/MSYS">MSYS</link>.
</listitem>

<listitem>
Perl, if you want to build <registered>OpenSSL</registered> and nginx with SSL support.
For example <link url="http://www.activestate.com/activeperl">ActivePerl</link>
or <link url="http://strawberryperl.com">Strawberry Perl</link>.
</listitem>

<listitem>
<link url="https://www.mercurial-scm.org">Mercurial</link> client.
</listitem>

<listitem>
<link url="http://www.pcre.org">PCRE</link>, <link url="http://zlib.net">zlib</link>
and <link url="http://www.openssl.org">OpenSSL</link> libraries sources.
</listitem>
</list>

</para>

</section>

<section id="build_steps"
         name="Build steps">

<para>
Ensure that paths to Perl, Mercurial and MSYS bin directories are added to
PATH environment variable before you start build. To set Visual C environment
run vcvarsall.bat script from Visual C directory.
</para>

<para>

To build nginx:
<list type="bullet">

<listitem>
Start MSYS bash.
</listitem>

<listitem>
Check out nginx sources from the hg.nginx.org repository. For example:
<programlisting>
hg clone http://hg.nginx.org/nginx
</programlisting>
</listitem>

<listitem>
Create a build and lib directories, and unpack zlib, PCRE and OpenSSL libraries
sources into lib directory:
<programlisting>
mkdir objs
mkdir objs/lib
cd objs/lib
tar -xzf ../../pcre-8.41.tar.gz
tar -xzf ../../zlib-1.2.11.tar.gz
tar -xzf ../../openssl-1.0.2m.tar.gz
</programlisting>
</listitem>

<listitem>
Run configure script:
<programlisting>
auto/configure \
    --with-cc=cl \
    --with-debug \
    --prefix= \
    --conf-path=conf/nginx.conf \
    --pid-path=logs/nginx.pid \
    --http-log-path=logs/access.log \
    --error-log-path=logs/error.log \
    --sbin-path=nginx.exe \
    --http-client-body-temp-path=temp/client_body_temp \
    --http-proxy-temp-path=temp/proxy_temp \
    --http-fastcgi-temp-path=temp/fastcgi_temp \
    --http-scgi-temp-path=temp/scgi_temp \
    --http-uwsgi-temp-path=temp/uwsgi_temp \
    --with-cc-opt=-DFD_SETSIZE=1024 \
    --with-pcre=objs/lib/pcre-8.41 \
    --with-zlib=objs/lib/zlib-1.2.11 \
    --with-openssl=objs/lib/openssl-1.0.2m \
    --with-openssl-opt=no-asm \
    --with-select_module \
    --with-http_ssl_module
</programlisting>
</listitem>

<listitem>
Run make:
<programlisting>
nmake
</programlisting>
</listitem>


</list>

</para>

</section>

<section id="see_also"
         name="See also">

<para>
<list type="bullet">

<listitem>
<link doc="windows.xml"/>
</listitem>

</list>
</para>

</section>
</article>