Building on Win 32 platforms
============================
31.7.1999, Sampo Kellomaki <sampo@iki..fi>
7.6.2002, reviewed and added comments, --Sampo
16.8.2002, added comments by Marcel Bucher --Sampo
10.7.2007. Complete rewrite to agree with latest version 1.31. References to
ancient versions and untested procedures removed --mikem
22.4.2010 Updated info for 64 bit versions --mikem

$Id: README.Win32 263 2010-04-22 11:29:02Z mikem-guest $

1. Windows Server 2003
   ActivePerl 5.8.8.820
   VC++ 6.0
   Microsoft Platform SDK SVR2003R2
   Shining Light Win32 OpenSSL 0.9.7L
      http://www.shininglightpro.com/products/Win32OpenSSL.html
   Dynamic linking to SSL DLLs

Install all packages in the order listed above
Unpack and install the Net-SSLeay package
 cd Net-SSLeay-xxxx
 perl Makefile.PL
 nmake
 nmake test
 nmake install

Caution. There is an issue with Shining Light Win32 OpenSSL 0.9.7m and 0.9.8e
on Server 2003: These versions were built with VC 7.1 and the packages are
missing the 7.1 runtime DLL. This means that the openssl binaries from those
versions will not run on a standard Server 2003 platform, and this prevents
Net-SSLeay being built. Shining Light say this problem will be fixed in later
versions, where they will revert to the earlier build procedures.

2. Windows Server 2003
   ActivePerl 5.8.8.820
   VC++ 6.0
   Microsoft Platform SDK SVR2003R2
   OpenSSL 0.9.8e source openssl-0.9.8e.tar.gz
   Dynamic linking to SSL DLLs

Install all packages in the order listed above
Unpack and build OpenSSL:
  cd openssl-0.9.8e
  perl Configure VC-WIN32 --prefix=c:/OpenSSL
  ms\do_ms
  nmake -f ms\ntdll.mak
  nmake -f ms\ntdll.mak install
(if you have trouble getting to this stage, consult INSTALL.W32)
  copy c:\OpenSSL\bin\*.dll c:\windows\system32

Unpack and install the Net-SSLeay package
 cd Net-SSLeay-xxxx
 perl Makefile.PL
 nmake
 copy c:\OpenSSL\bin\*.dll blib\arch\auto\Net\SSLeay\
 nmake test
 nmake install

3. Windows XP SP2 CAUTION: this is not working yet
   ActivePerl 5.8.8.820
   Visual Studio Express 2005
   Microsoft Platform SDK SVR2003R2
   OpenSSL 0.9.8e source openssl-0.9.8e.tar.gz
   Dynamic linking to SSL DLLs

- Install all packages in the order listed above (make sure you follow the
   instructions on the download page about adding the appropriate paths to the
   Projects and Solutions section of the Options dialog box, and updating
   corewin_express.vsprops file)
- Start a build shell with Start->All Programs->Microsoft Windows SDK->CMD Shell
- cd openssl-0.9.8e
- perl Configure VC-WIN32 --prefix=c:/OpenSSL
- ms\do_masm
- nmake -f ms\ntdll.mak
- nmake -f ms\ntdll.mak install
   (if you have trouble getting to this stage, consult INSTALL.W32)
- cd Net-SSLeay-xxxx
- perl Makefile.PL
- nmake
- copy c:\OpenSSL\bin\*.dll blib\arch\auto\Net\SSLeay\
- nmake test
  CAUTION: nmake test fails at this stage. Any suggestions?? This may be
   relevant: http://www.itwriting.com/blog/?postid=261&replyto=2542
- nmake install

4. Windows XP SP2
   Strawberry Perl 5.8.8-alpha-2
   OpenSSL 0.9.8e source openssl-0.9.8e.tar.gz

- Install Strawberry Perl by running the installer
  (strawberry-perl-5.8.8-alpha-2.exe in this example)
- Unpack openssl-0.9.8e.tar.gz
- cd openssl-0.9.8e
- ms\mingw32
- cd out
- ..\ms\test
   (if you have trouble getting to this stage, consult INSTALL.W32)
- md c:\openssl 
- md c:\openssl\bin
- md c:\openssl\lib
- md c:\openssl\include
- md c:\openssl\include\openssl
- copy /b inc32\openssl\*       c:\openssl\include\openssl
- copy /b out\libssl32.a c:\openssl\lib
- copy /b out\libeay32.a c:\openssl\lib
- copy /b libssl32.dll c:\openssl\bin
- copy /b libeay32.dll c:\openssl\bin
- copy /b out\openssl.exe  c:\openssl\bin
- cd Net-SSLeay-xxxx
- c:\strawberry-perl\perl\bin\perl Makefile.PL
- dmake
- copy c:\openssl\bin\*.dll blib/arch/auto/Net/SSLeay
- dmake install

4. Windows XP SP2
   Perl CamelPack perl-camelpack-5.8.7.exe
   Shining Light Win32 OpenSSL 0.9.7L
      http://www.shininglightpro.com/products/Win32OpenSSL.html

Install all packages in the order listed above
Unpack and install the Net-SSLeay package
 cd Net-SSLeay-xxxx
 perl Makefile.PL (accept external tests and extra CPAN installs)
 nmake
 nmake install

(Note that 'nmake test' does not seem to work with CamelPack 5.8.7)

5. Windows Server 2003
   ActivePerl 5.8.8.820
   VC++ 6.0
   Microsoft Platform SDK SVR2003R2
   OpenSSL 0.9.8e source openssl-0.9.8e.tar.gz + tls extensions patch 
    from Radiator/goodies/openssl-0.9.8e-session-ticket-osc.patch   
   Dynamic linking to SSL DLLs

Install all packages in the order listed above
Unpack, patch and  and build OpenSSL, patch with 
  cd openssl-0.9.8e+extensions
  patch -p1 < Radiator/goodies/openssl-0.9.8e-session-ticket-osc.patch                 
  perl Configure VC-WIN32 --prefix=c:/OpenSSL enable-tlsext
  ms\do_ms
  nmake -f ms\ntdll.mak
  nmake -f ms\ntdll.mak install
(if you have trouble getting to this stage, consult INSTALL.W32)
  copy c:\OpenSSL\bin\*.dll c:\windows\system32

Unpack and install the Net-SSLeay package
 cd Net-SSLeay-xxxx
 perl Makefile.PL
 nmake
 copy c:\OpenSSL\bin\*.dll blib\arch\auto\Net\SSLeay\
 nmake test
 nmake install

6. Windows Server 2003
   ActivePerl 5.10.1
   Microsoft Platform SDK 2003 SP1
   OpenSSL 0.9.8i source including TLS extensions
   Dynamic linking to SSL DLLs

Build OpenSSL
   S:
   cd \openssl-0.9.8i+extensions
   nmake -f ms\ntdll.mak clean
   perl Configure VC-WIN64A --prefix=c:/OpenSSL enable-tlsext
   ms\do_win64a
   nmake -f ms\ntdll.mak
   cd out32dll
   ..\ms\test
   nmake -f ms\ntdll.mak install
Now build Net-SSLeay
   nmake clean
   R:
   cd \net-ssleay\trunk
   perl Makefile.PL
   nmake
   copy c:\OpenSSL\bin\*.dll blib\arch\auto\Net\SSLeay
   nmake test
   nmake install
