Building apr on windows
-----------------------

Apply apr-enable-ipv6.patch.
This will enable IPV6 support for windows builds.

Open Visual Studio command prompt and execute
nmake -f NMAKEMakefile BUILD_CPU=x86 APR_DECLARE_STATIC=1

For building 64-bit version execute
nmake -f NMAKEMakefile BUILD_CPU=x64 APR_DECLARE_STATIC=1

Make sure you select the correct Visual Studio command prompt
environment before calling nmake so that correct
compiler is setup for the target architecture.


Building OpenSSL 1.1.0 and earlier
----------------------------------

Apply openssl-msvcrt.patch

This patch makes sure that static version of OpenSSL libraries
is linked to msvcrt.dll instead statically linking msvcrt.
Without that patch it won't be possible to create statically linked
Tomcat native .dll

Then follow the standard OpenSSL make procedure ...

> perl Configure VC-WIN32
> ms\do_nasm
> nmake -f ms\nt.mak

For 64-bit Windows use
> perl Configure VC-WIN64A
> ms\do_win64a
> nmake -f ms\nt.mak


Building OpenSSL 1.1.1 and later
----------------------------------

Apply openssl-msvcrt-1.1.1.patch

This patch addresses issues caused by CMSC compiling against an older Windows
API than expected for the compiler version in additional to the static linking
issues described above.

Then follow the standard OpenSSL make procedure ...

> perl Configure no-shared VC-WIN32
> nmake

For 64-bit Windows use
> perl Configure no-shared VC-WIN64A
> nmake


For a step-by-step guide to building OpenSSL on Windows see:
https://cwiki.apache.org/confluence/display/TOMCAT/Building+the+Tomcat+Native+Connector+binaries+for+Windows
