You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by "Mark Thomas (Confluence)" <no...@apache.org> on 2020/04/24 17:50:06 UTC

[CONF] Apache Tomcat > Building the Tomcat Native Connector binaries for Windows

There's **1 new edit** on this page  
---  
|  
---  
|  | [![page icon](cid:page-
icon)](https://cwiki.apache.org/confluence/display/TOMCAT/Building+the+Tomcat+Native+Connector+binaries+for+Windows?src=mail&src.mail.product=confluence-
server&src.mail.timestamp=1587750606132&src.mail.notification=com.atlassian.confluence.plugins.confluence-
notifications-batch-plugin%3Abatching-
notification&src.mail.recipient=8aa9809569d423cd016a0413306f00db&src.mail.action=view
"page icon")  
---  
[Building the Tomcat Native Connector binaries for
Windows](https://cwiki.apache.org/confluence/display/TOMCAT/Building+the+Tomcat+Native+Connector+binaries+for+Windows?src=mail&src.mail.product=confluence-
server&src.mail.timestamp=1587750606132&src.mail.notification=com.atlassian.confluence.plugins.confluence-
notifications-batch-plugin%3Abatching-
notification&src.mail.recipient=8aa9809569d423cd016a0413306f00db&src.mail.action=view
"Building the Tomcat Native Connector binaries for Windows")  
|  |  |  |  | ![](cid:avatar_0e7b7d8d93bf536b4e2f8f7984d49115) |  | Mark
Thomas edited this page  
---  
|  
|  | Here's the version comment  
---  
|  
---  
|  |  | ![](cid:avatar_0e7b7d8d93bf536b4e2f8f7984d49115) |  | Mark Thomas
edited at [05:49
PM](https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=61320769)  
---  
|  |  |  Version updates  
---  
|  
|  | Here's what changed:  
---  
|

...

    
    
     c:
     cd \
     svn co https://svn.apache.org/repos/asf/tomcat/native/trunk/ tomcat-native-1.2.x
     cd tomcat-native-1.2.x\native\srclib\apr

  

Unpack APR 1.67.5 0 source distribution in this directory (C:\tomcat-
native-1.2.x\native\srclib\apr).  

...

    
    
     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 1.1.0 and earlier

...

    
    
    .
    

...

    
    
    .
    

...

    
    
    \openssl
    

...

Apply openssl-msvcrt.patch. Note that the patch will apply but depending on
exactly which revision you are working with you may need to skip the first
part of the patch.

    
    
     c:\cmsc\setenv.bat /x86
     perl Configure VC-WIN32
     ms\do_nasm
     nmake -f ms\nt.mak
     move out32 out32-x86
     
     c:\cmsc\setenv.bat /x64
     perl Configure VC-WIN64A
     ms\do_win64a
     nmake -f ms\nt.mak clean
     nmake -f ms\nt.mak
     move out32 out32-x64
    

## OpenSSL 1.1.1 and later

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

...

Keeping the various libraries in versioned directories saves having to rebuild
them next time if the version remains unchanged.  
    
    
     cd ..
     set OPENSSL_VER=1.01.2q1g
      
     set APR_VER=1.6.5
    
    
     
     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%\
    
    
     
     xcopy /E apr\include \deps-x86\apr-%APR_VER%\include\
     xcopy /E apr\include \deps-x64\apr-%APR_VER%\include\
     
     copy apr\WIN7_X86_LIB_RELEASE\apr-1.lib \deps-x86\apr-%APR_VER%\lib
     copy apr\WIN7_X64_LIB_RELEASE\apr-1.lib \deps-x64\apr-%APR_VER%\lib

...

    
    
     xcopy /E openssl\inc32 \deps-x86\openssl-%OPENSSL_VER%\include\
     xcopy /E openssl\inc32 \deps-x64\openssl-%OPENSSL_VER%\include\
    

#####  OpenSSL 1.1.1 and later

    
    
     xcopy /E openssl\include\openssl \deps-x86\openssl-%OPENSSL_VER%\include\openssl\
     xcopy /E openssl\include\openssl \deps-x64\openssl-%OPENSSL_VER%\include\openssl\

...

 copy openssl\out32-x86\\*.lib \deps-x86\openssl-%OPENSSL_VER%\lib\  
 copy openssl\out32-x64\\*.lib \deps-x64\openssl-%OPENSSL_VER%\lib\

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

    
    
     
     cd ..  
     
     SETset JAVA_HOME=C:\Program Files\Java\jdk1.7.0_71
    

#####  OpenSSL 1.1.0 and earlier

As below but remove:

    
    
     OPENSSL_NEW_LIBS=1
    

from each of the nmake lines

#####  OpenSSL 1.1.1 and later

    
    
    java\adopt-8.0.242.09-x64
    
    
    
     c:\cmsc\setenv.bat /x86  
     nmake -f NMAKEMakefile WITH_APR=C:\deps-x86\apr-%APR_VER% WITH_OPENSSL=C:\deps-x86\openssl-%OPENSSL_VER% APR_DECLARE_STATIC=1 OPENSSL_NEW_LIBS=1 ENABLE_OCSP=1  
     move WIN7_X86_DLL_RELEASE WIN7_X86_OCSP_DLL_RELEASE  
     nmake -f NMAKEMakefile WITH_APR=C:\deps-x86\apr-%APR_VER% WITH_OPENSSL=C:\deps-x86\openssl-%OPENSSL_VER% APR_DECLARE_STATIC=1 OPENSSL_NEW_LIBS=1

...

Construct the binary distributions  
    
    
     set VER=1.2.1824
    
    
    
     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\

...  
  
---  
|  |  | [Go to page
history](https://cwiki.apache.org/confluence/pages/viewpreviousversions.action?pageId=61320769&src=mail&src.mail.product=confluence-
server&src.mail.timestamp=1587750606132&src.mail.notification=com.atlassian.confluence.plugins.confluence-
notifications-batch-plugin%3Abatching-
notification&src.mail.recipient=8aa9809569d423cd016a0413306f00db "Go to page
history")  
---  
---  
| [View
page](https://cwiki.apache.org/confluence/display/TOMCAT/Building+the+Tomcat+Native+Connector+binaries+for+Windows?src=mail&src.mail.product=confluence-
server&src.mail.timestamp=1587750606132&src.mail.notification=com.atlassian.confluence.plugins.confluence-
notifications-batch-plugin%3Abatching-
notification&src.mail.recipient=8aa9809569d423cd016a0413306f00db&src.mail.action=view)  
---  
  
|  | [Stop watching
space](https://cwiki.apache.org/confluence/users/removespacenotification.action?spaceKey=TOMCAT&src=mail&src.mail.product=confluence-
server&src.mail.timestamp=1587750606132&src.mail.notification=com.atlassian.confluence.plugins.confluence-
notifications-batch-plugin%3Abatching-
notification&src.mail.recipient=8aa9809569d423cd016a0413306f00db&src.mail.action=stop-
watching&jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4c3JmOjhhYTk4MDk1NjlkNDIzY2QwMTZhMDQxMzMwNmYwMGRiIiwicXNoIjoiMjQyYzRiMTRmYjMzZjUyODE2ZDMyNzhhZDFjZjBlZmM2OGZjMDQ0YmY5NmY5NDE0YTAzM2U2YzBlNGYzMmYyYyIsImlzcyI6ImNvbmZsdWVuY2Vfbm90aWZpY2F0aW9uc0FSRUgtWFVEMS1QT1FHLUNTQU8iLCJleHAiOjE1ODgzNTU0MDYsImlhdCI6MTU4Nzc1MDYwNn0.zg9cEcV4vw3WO-
YL6lGDXNS8N-QLNrGMkEILb5Vpz5w) | •  
---|---  
[Manage
notifications](https://cwiki.apache.org/confluence/users/editmyemailsettings.action?src=mail&src.mail.product=confluence-
server&src.mail.timestamp=1587750606132&src.mail.notification=com.atlassian.confluence.plugins.confluence-
notifications-batch-plugin%3Abatching-
notification&src.mail.recipient=8aa9809569d423cd016a0413306f00db&src.mail.action=manage)  
---  
| ![Confluence logo big](cid:footer-desktop-logo)  
---  
This message was sent by Atlassian Confluence 7.1.2  
![](cid:footer-mobile-logo)  
---