Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Review prior to starting 2.0.6/1.2.39 releases

...

E.g.: To build the latest 12.20.x development build from trunkmain

 c:
 cd \
 svn git coclone https://svngithub.com/apache.org/repos/asf/tomcat/-native/trunk/ tomcat-native-12.20.x
 cd tomcat-native-12.20.x\native\srclib\apr


Unpack APR 1.7.0 4 source distribution in this directory (C:\tomcat-native-12.20.x\native\srclib\apr).    

Apply the apr-enable-ipv6.patch. Note that the patch will Note: If you build the 1.2.x branch you will need to some patches. The patches should apply but depending on exactly which revision you are working with you may need to skip the first part parts of the patch and/or apply an offset will probably be required.    

git apply apr-enable-ipv6.patch
git apply win-ipv6.patch

Then build:

 c:\cmsc\setenv.bat /x86 
nmake -f NMAKEmakefile BUILD_CPU=x86 APR_DECLARE_STATIC=1    c:\cmsc\setenv.bat /x64  nmake -f NMAKEmakefile BUILD_CPU=x64 APR_DECLARE_STATIC=1    cd ..\openssl

OpenSSL

...

3.

...

0.

...

x and later

Unpack the OpenSSL 13.10.1k source x source distribution in this directory (C:\tomcat-native-1.2.x\native\srclib\openssl).

Apply openssl-msvcrt-13.0.1x.1patch. The patch . Note that should apply cleanly to the current recommended OpenSSL version. If you use a different version you may need to skip and/or use an offset to get the patch to apply.

 c:\cmsc\setenv.bat /x86
perl Configure no-shared VC-WIN32
 nmake
mkdir out32-x86
copy libssl.lib out32-x86\
copy libcrypto.lib out32-x86\
copy apps\openssl.exe out32-x86\

nmake clean

c:\cmsc\setenv.bat /x64
perl Configure no-shared VC-WIN64A
 nmake
mkdir out32-x64
copy libssl.lib out32-x64\
copy libcrypto.lib out32-x64\
copy apps\openssl.exe out32-x64\

...

Keeping the various libraries in versioned directories saves having to rebuild them next time if the version remains unchanged.    

 cd ..
 set OPENSSL_VER=13.10.1k11
set APR_VER=1.7.04
 
 mkdir \deps-x86\apr-%APR_VER%\include
 mkdir \deps-x86\apr-%APR_VER%\lib
 mkdir \deps-x86\openssl-%OPENSSL_VER%\include
 mkdir \deps-x86\openssl-%OPENSSL_VER%\lib
 xcopy /E \deps-x86\apr-%APR_VER% \deps-x64\apr-%APR_VER%\
xcopy /E \deps-x86\openssl-%OPENSSL_VER% \deps-x64\openssl-%OPENSSL_VER%\

...

 copy openssl\out32-x86\openssl.exe \deps-x86\openssl-%OPENSSL_VER%\
 copy openssl\out32-x64\openssl.exe \deps-x64\openssl-%OPENSSL_VER%\

 
 cd ..
set JAVA_HOME=C:\java\adopt-8.0.242.09-x64

...

Tomcat Native Connector DLLs may then be found in C:\tomcat-native-12.20.x\native\WIN7_*_[OCSP_]DLL_RELEASE    

Construct the binary distributions    

 set VER=12.20.246
 mkdir tomcat-native-%VER%-openssl-%OPENSSL_VER%-win32-bin
 copy LICENSE.bin.win tomcat-native-%VER%-openssl-%OPENSSL_VER%-win32-bin\LICENSE
copy NOTICE.bin.win tomcat-native-%VER%-openssl-%OPENSSL_VER%-win32-bin\NOTICE
copy ..\README.txt tomcat-native-%VER%-openssl-%OPENSSL_VER%-win32-bin\
copy srclib\VERSIONS tomcat-native-%VER%-openssl-%OPENSSL_VER%-win32-bin\

...

The Windows binary distributions may then be found in C:\tomcat-native-12.20.x\native\    

These need to be signed and hashed before uploading for the release vote.    

...