This is an automated email from the ASF dual-hosted git repository.
markt pushed a commit to branch 1.3.x
in repository https://gitbox.apache.org/repos/asf/tomcat-native.git
The following commit(s) were added to refs/heads/1.3.x by this push:
new b4968c773 Update Windows build environment to use Visual Studio 2022
b4968c773 is described below
commit b4968c77320917693e914e7a05c88e4b3d203276
Author: Mark Thomas <[email protected]>
AuthorDate: Wed Dec 17 13:04:24 2025 +0000
Update Windows build environment to use Visual Studio 2022
---
jnirelease.sh | 1 -
native/BUILDING | 155 +++++++++++++++--------
native/NMAKEmakefile | 26 +---
native/NMAKEmakefile.inc | 5 +-
native/os/win32/libtcnative.rc | 1 -
native/srclib/apr/apr-enable-ipv6.patch | 11 --
native/srclib/apr/win-ipv6.patch | 125 ------------------
native/srclib/openssl/openssl-msvcrt-3.0.x.patch | 87 -------------
xdocs/miscellaneous/changelog.xml | 3 +
9 files changed, 114 insertions(+), 300 deletions(-)
diff --git a/jnirelease.sh b/jnirelease.sh
index aa4cc82f0..643cd97cc 100755
--- a/jnirelease.sh
+++ b/jnirelease.sh
@@ -294,6 +294,5 @@ do
$PERL ${JKWINDIST}/native/build/lineends.pl --cr ${JKWINDIST}/${i}
done
$PERL ${JKWINDIST}/native/build/lineends.pl --cr ${JKWINDIST}/CHANGELOG.txt
-$PERL ${JKWINDIST}/native/build/lineends.pl --nocr
${JKWINDIST}/native/srclib/openssl/openssl-msvcrt-3.0.x.patch
zip -9rqyo ${JKWINDIST}.zip ${JKWINDIST}
diff --git a/native/BUILDING b/native/BUILDING
index f4fc5d27f..8e89741af 100644
--- a/native/BUILDING
+++ b/native/BUILDING
@@ -83,70 +83,119 @@ Windows
1. Prerequisites
- These steps assume a suitable build environment has been set up.
-
https://cwiki.apache.org/confluence/display/TOMCAT/Common+Native+Build+Environment
+ Currently supported Windows OS (release builds use a Windows 2022 VM running
+ on VMware)
+ Currently support JDK installed (release builds use Temurin 21.0.9)
+ git (if you wish to build from source)
+ Perl - see OpenSSL build instructions for Windows (release builds use
+ Strawberry Perl 5.42.0.1)
+ NASM - see OpenSSL build instructions for Windows (release builds use
2.16.01
+ included in Strawberry Perl 5.42.0.1)
+ Microsoft Visual C compiler (release builds use Visual Studio 2022 17.14.23)
2. Obtain tc-native source
Download and expand the source package or use an git checkout
-3. Build APR
+3. Build APR (1.7.6 or later)
Unpack the APR source distribution into native\srclib\apr
- No patches necessary if using APR 1.7.6 or later
- > c:\cmsc\setenv.bat x86
- > set WINVER=WIN7
- > nmake -f NMAKEmakefile BUILD_CPU=x86 APR_DECLARE_STATIC=1
- > mkdir WIN7_X86_LIB_RELEASE\include
- > mkdir WIN7_X86_LIB_RELEASE\lib
- > xcopy /E include WIN7_X86_LIB_RELEASE\include\
- > copy WIN7_X86_LIB_RELEASE\apr-1.lib WIN7_X86_LIB_RELEASE\lib
-
- > c:\cmsc\setenv.bat x64
- > set WINVER=WIN7
- > nmake -f NMAKEmakefile BUILD_CPU=x64 APR_DECLARE_STATIC=1
- > mkdir WIN7_X64_LIB_RELEASE\include
- > mkdir WIN7_X64_LIB_RELEASE\lib
- > xcopy /E include WIN7_X64_LIB_RELEASE\include\
- > copy WIN7_X64_LIB_RELEASE\apr-1.lib WIN7_X64_LIB_RELEASE\lib
-
-4. Build OpenSSL
+ > "c:\Program Files\Microsoft Visual
Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars32.bat"
+ > nmake -f NMAKEmakefile CPU=X86 APR_DECLARE_STATIC=1
+
+ > "c:\Program Files\Microsoft Visual
Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat"
+ > nmake -f NMAKEmakefile CPU=X64 APR_DECLARE_STATIC=1
+
+4. Build OpenSSL (3.0.18 or later)
+
+ > cd ..\openssl
+
+ Unpack the OpenSSL 3.0.x source distribution in this directory
+
+ > "c:\Program Files\Microsoft Visual
Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars32.bat"
+ > perl Configure no-shared VC-WIN32
+ > nmake
+ > mkdir out32-x86
+ > copy libssl.lib out32-x86\
+ > copy libcrypto.lib out32-x86\
+ > copy ossl_static.pdb out32-x86\
+ > copy apps\openssl.exe out32-x86\
+
+ > nmake clean
- Unpack the OpenSSL source distribution into native\srclib\openssl
- Apply openssl-msvcrt-3.0.x.patch
+ > "c:\Program Files\Microsoft Visual
Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat"
+ > perl Configure no-shared VC-WIN64A
+ > nmake
+ > mkdir out32-x64
+ > copy libssl.lib out32-x64\
+ > copy libcrypto.lib out32-x64\
+ > copy ossl_static.pdb out32-x64\
+ > copy apps\openssl.exe out32-x64\
+
+5. Copy APR and OpenSSL to versioned directories
+
+ Keeping the various libraries in versioned directories saves having to
+ rebuild them next time if the version remains unchanged.
+
+ > cd ..
+ > set OPENSSL_VER=3.0.18
+ > set APR_VER=1.7.6
+
+ > 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
- > c:\cmsc\setenv.bat x86
- > perl Configure VC-WIN32
- > ms\do_nasm
- > nmake -f ms\nt.mak
- > mkdir release-x86
- > mkdir release-x86\include
- > mkdir release-x86\lib
- > xcopy /E inc32 release-x86\include\
- > copy out32\*.lib release-x86\lib\
-
- > c:\cmsc\setenv.bat x64
- > perl Configure VC-WIN64A
- > ms\do_win64a
- > nmake -f ms\nt.mak clean
- > nmake -f ms\nt.mak
- > mkdir release-x64
- > mkdir release-x64\include
- > mkdir release-x64\lib
- > xcopy /E inc32 release-x64\include\
- > copy out32\*.lib release-x64\lib\
-
-5. Build tc-native
-
- > SET JAVA_HOME=C:\Program Files\Java\jdk1.7.0_71
-
- > c:\cmsc\setenv.bat x86
- > nmake -f NMAKEMakefile WITH_APR=srclib\apr\WIN7_X86_LIB_RELEASE
WITH_OPENSSL=srclib\openssl\release-x86 APR_DECLARE_STATIC=1
-
- > c:\cmsc\setenv.bat x64
- > nmake -f NMAKEMakefile WITH_APR=srclib\apr\WIN7_X64_LIB_RELEASE
WITH_OPENSSL=srclib\openssl\release-x64 APR_DECLARE_STATIC=1
+ > 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\*.pdb \deps-x86\openssl-%OPENSSL_VER%\lib\
+ > copy openssl\out32-x64\*.pdb \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%\
+
+6. Build Tomcat Native
+
+ > cd ..
+ >set JAVA_HOME=C:\java\21.0.9-tem
+
+ > "c:\Program Files\Microsoft Visual
Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars32.bat"
+ > nmake -f NMAKEMakefile WITH_APR=C:\deps-x86\apr-%APR_VER%
WITH_OPENSSL=C:\deps-x86\openssl-%OPENSSL_VER% CPU=X86 APR_DECLARE_STATIC=1
STATIC_CRT=Hybrid
+
+ > "c:\Program Files\Microsoft Visual
Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat"
+ > nmake -f NMAKEMakefile WITH_APR=C:\deps-x64\apr-%APR_VER%
WITH_OPENSSL=C:\deps-x64\openssl-%OPENSSL_VER% CPU=X64 APR_DECLARE_STATIC=1
STATIC_CRT=Hybrid
+
+ Tomcat Native Connector DLLs may then be found in native\WIN7_*_DLL_RELEASE
+
+7. Construct the binary distributions
+
+ > set VER=1.3.2
+ > 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\
+ > mkdir tomcat-native-%VER%-openssl-%OPENSSL_VER%-win32-bin\bin
+ > mkdir tomcat-native-%VER%-openssl-%OPENSSL_VER%-win32-bin\bin\x64
+ > copy C:\deps-x86\openssl-%OPENSSL_VER%\openssl.exe
tomcat-native-%VER%-openssl-%OPENSSL_VER%-win32-bin\bin
+ > copy WIN7_X86_DLL_RELEASE\tcnative-2.dll
tomcat-native-%VER%-openssl-%OPENSSL_VER%-win32-bin\bin
+ > copy WIN7_X86_DLL_RELEASE\tcnative-2.pdb
tomcat-native-%VER%-openssl-%OPENSSL_VER%-win32-bin\bin
+ > copy WIN7_X64_DLL_RELEASE\tcnative-2.dll
tomcat-native-%VER%-openssl-%OPENSSL_VER%-win32-bin\bin\x64
+ > copy WIN7_X64_DLL_RELEASE\tcnative-2.pdb
tomcat-native-%VER%-openssl-%OPENSSL_VER%-win32-bin\bin\x64
+ > set PATH=%PATH%;%JAVA_HOME%\bin
+ > cd tomcat-native-%VER%-openssl-%OPENSSL_VER%-win32-bin
+ > jar -cMf ..\tomcat-native-%VER%-openssl-%OPENSSL_VER%-win32-bin.zip *
FIPS
====
diff --git a/native/NMAKEmakefile b/native/NMAKEmakefile
index 492335369..76c097367 100644
--- a/native/NMAKEmakefile
+++ b/native/NMAKEmakefile
@@ -20,7 +20,8 @@
# APR_DECLARE_STATIC=1 Use static version of the APR
# DISABLE_OCSP=1 Disable OpenSSL OCSP code
# OPENSSL_NEW_LIBS=1 Use new OpenSSL lib file names
-# DEBUG=1 Build DEBUG version of TCN
+# DEBUG=1 Build DEBUG version of TCN
+# STATIC_CRT=Hybrid Build using the 'Hybrid CRT' technique
#
# Originally contributed by Mladen Turk <mturk redhat.com>
#
@@ -70,17 +71,8 @@ LDIRS = $(LDIRS) /libpath:"$(WITH_OPENSSL)\out32"
!ENDIF
LFLAGS = $(LFLAGS) /version:1.3
-LFLAGS = $(LFLAGS) user32.lib psapi.lib gdi32.lib shlwapi.lib wldap32.lib
ole32.lib
-LFLAGS = $(LFLAGS) $(APR_LIB)
-!IF DEFINED(WITH_FIPS)
-LFLAGS = $(LFLAGS) libeayfips32.lib libeaycompat32.lib ssleay32.lib
/NODEFAULTLIB:LIBCMT
-!ELSE
-!IF DEFINED(OPENSSL_NEW_LIBS)
-LFLAGS = $(LFLAGS) libssl.lib libcrypto.lib crypt32.lib
-!ELSE
-LFLAGS = $(LFLAGS) libeay32.lib ssleay32.lib
-!ENDIF
-!ENDIF
+LIBS = $(LIBS) user32.lib gdi32.lib $(APR_LIB)
+LIBS = $(LIBS) libssl.lib libcrypto.lib crypt32.lib
CFLAGS = $(CFLAGS) -DZLIB_WINAPI -DNO_IDEA -DNO_RC5 -DNO_MDC2
-DOPENSSL_NO_IDEA \
-DOPENSSL_NO_RC5 -DOPENSSL_NO_MDC2 -DHAVE_OPENSSL -DHAVE_SSL_SET_STATE=1
@@ -117,16 +109,8 @@ OBJECTS = \
$(WORKDIR)\ntpipe.obj \
$(WORKDIR)\registry.obj \
$(WORKDIR)\system.obj
-!IF DEFINED(WITH_FIPS)
-OBJECTS = $(OBJECTS) srclib\openssl\tmp32\fips_premain.obj
-!ENDIF
-!IF DEFINED(WITH_FIPS)
-FIPS_OPTS = /map
-LINK_WRAPPER = perl $(FIPSDIR)\bin\fipslink.pl
-!ELSE
LINK_WRAPPER = $(LINK)
-!ENDIF
HEADERS = \
$(SRCDIR)\include\tcn.h \
@@ -164,7 +148,7 @@ $(BUILDBIN): $(WORKDIR) $(OBJECTS) $(BUILDRES)
SET FIPS_LINK=$(LINK)
SET FIPS_CC=$(CC)
SET FIPS_CC_ARGS=/Fosrclib\openssl\tmp32\fips_premain.obj /MD -c
- SET PREMAIN_DSO_EXE=srclib\openssl\\out32\fips_premain_dso.exe
+ SET PREMAIN_DSO_EXE=srclib\openssl\out32\fips_premain_dso.exe
SET FIPS_TARGET=$(BUILDBIN)
SET FIPS_SHA1_EXE=$(FIPSDIR)\bin\fips_standalone_sha1.exe
SET FIPSLIB_D=$(FIPSDIR)\lib
diff --git a/native/NMAKEmakefile.inc b/native/NMAKEmakefile.inc
index 257d30b6d..2f9892467 100644
--- a/native/NMAKEmakefile.inc
+++ b/native/NMAKEmakefile.inc
@@ -256,7 +256,7 @@ CXXFLAGS = $(EXTRA_CXXFLAGS)
!ENDIF
# Linker section
-LIBS = kernel32.lib advapi32.lib ws2_32.lib mswsock.lib ole32.lib shell32.lib
rpcrt4.lib
+LIBS = kernel32.lib advapi32.lib ws2_32.lib ole32.lib shell32.lib rpcrt4.lib
# Extra libs from command line or env
!IF DEFINED(EXTRA_LIBS)
LIBS = $(LIBS) $(EXTRA_LIBS)
@@ -276,6 +276,9 @@ COMMON_LFLAGS = /NOLOGO
OPT_LFLAGS = /INCREMENTAL:NO /DEBUG
!IF "$(BUILD)" == "RELEASE"
OPT_LFLAGS = /OPT:REF
+!IF DEFINED(STATIC_CRT) && "$(STATIC_CRT)" == "Hybrid"
+OPT_LFLAGS = $(OPT_LFLAGS) /NODEFAULTLIB:msvcrt.lib /NODEFAULTLIB:libucrt.lib
/DEFAULTLIB:ucrt.lib
+!ENDIF
!ENDIF
!IF "$(TARGET)" == "EXE"
diff --git a/native/os/win32/libtcnative.rc b/native/os/win32/libtcnative.rc
index 6ae51fbfa..929653c26 100644
--- a/native/os/win32/libtcnative.rc
+++ b/native/os/win32/libtcnative.rc
@@ -1,7 +1,6 @@
#include <windows.h>
LANGUAGE 0x9,0x1
-1 11 logmessages.bin
#define TCN_COPYRIGHT "Licensed to the Apache Software Foundation (ASF) under
" \
"one or more contributor license agreements. See the " \
diff --git a/native/srclib/apr/apr-enable-ipv6.patch
b/native/srclib/apr/apr-enable-ipv6.patch
deleted file mode 100644
index a58721c01..000000000
--- a/native/srclib/apr/apr-enable-ipv6.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- /include/apr.hw
-+++ /include/apr.hw
-@@ -367,7 +367,7 @@
- /* If we have a TCP implementation that can be "corked", what flag
- * do we use?
- */
--#define APR_TCP_NOPUSH_FLAG @apr_tcp_nopush_flag@
-+#define APR_TCP_NOPUSH_FLAG 0
-
- /* Is the TCP_NODELAY socket option inherited from listening sockets?
- */
diff --git a/native/srclib/apr/win-ipv6.patch b/native/srclib/apr/win-ipv6.patch
deleted file mode 100644
index 103987242..000000000
--- a/native/srclib/apr/win-ipv6.patch
+++ /dev/null
@@ -1,125 +0,0 @@
-Index: apr/apr/branches/1.7.x/include/arch/win32/apr_arch_misc.h
-===================================================================
---- apr/apr/branches/1.7.x/include/arch/win32/apr_arch_misc.h (revision
1890229)
-+++ apr/apr/branches/1.7.x/include/arch/win32/apr_arch_misc.h (revision
1890230)
-@@ -110,7 +110,11 @@
- APR_WIN_XP_SP2 = 62,
- APR_WIN_2003 = 70,
- APR_WIN_VISTA = 80,
-- APR_WIN_7 = 90
-+ APR_WIN_7 = 90,
-+ APR_WIN_7_SP1 = 91,
-+ APR_WIN_8 = 100,
-+ APR_WIN_8_1 = 110,
-+ APR_WIN_10 = 120
- } apr_oslevel_e;
-
- extern APR_DECLARE_DATA apr_oslevel_e apr_os_level;
-Index: apr/apr/branches/1.7.x/misc/win32/misc.c
-===================================================================
---- apr/apr/branches/1.7.x/misc/win32/misc.c (revision 1890229)
-+++ apr/apr/branches/1.7.x/misc/win32/misc.c (revision 1890230)
-@@ -27,25 +27,15 @@
- {
- if (apr_os_level == APR_WIN_UNK)
- {
-- static OSVERSIONINFO oslev;
-- oslev.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
-- GetVersionEx(&oslev);
-+ OSVERSIONINFOEXW oslev;
-+ oslev.dwOSVersionInfoSize = sizeof(oslev);
-+ if (!GetVersionExW((OSVERSIONINFOW*) &oslev)) {
-+ return apr_get_os_error();
-+ }
-
- if (oslev.dwPlatformId == VER_PLATFORM_WIN32_NT)
- {
-- static unsigned int servpack = 0;
-- TCHAR *pservpack;
-- if ((pservpack = oslev.szCSDVersion)) {
-- while (*pservpack && !apr_isdigit(*pservpack)) {
-- pservpack++;
-- }
-- if (*pservpack)
--#ifdef _UNICODE
-- servpack = _wtoi(pservpack);
--#else
-- servpack = atoi(pservpack);
--#endif
-- }
-+ unsigned int servpack = oslev.wServicePackMajor;
-
- if (oslev.dwMajorVersion < 3) {
- apr_os_level = APR_WIN_UNSUP;
-@@ -99,11 +89,19 @@
- else if (oslev.dwMajorVersion == 6) {
- if (oslev.dwMinorVersion == 0)
- apr_os_level = APR_WIN_VISTA;
-+ else if (oslev.dwMinorVersion == 1) {
-+ if (servpack < 1)
-+ apr_os_level = APR_WIN_7;
-+ else
-+ apr_os_level = APR_WIN_7_SP1;
-+ }
-+ else if (oslev.dwMinorVersion == 2)
-+ apr_os_level = APR_WIN_8;
- else
-- apr_os_level = APR_WIN_7;
-+ apr_os_level = APR_WIN_8_1;
- }
- else {
-- apr_os_level = APR_WIN_XP;
-+ apr_os_level = APR_WIN_10;
- }
- }
- #ifndef WINNT
-@@ -151,7 +149,7 @@
-
- *level = apr_os_level;
-
-- if (apr_os_level < APR_WIN_UNSUP) {
-+ if (apr_os_level <= APR_WIN_UNSUP) {
- return APR_EGENERAL;
- }
-
-Index: apr/apr/branches/1.7.x/network_io/win32/sockets.c
-===================================================================
---- apr/apr/branches/1.7.x/network_io/win32/sockets.c (revision 1890229)
-+++ apr/apr/branches/1.7.x/network_io/win32/sockets.c (revision 1890230)
-@@ -24,6 +24,13 @@
- #include "apr_arch_inherit.h"
- #include "apr_arch_misc.h"
-
-+/* Borrow the definition of SOMAXCONN_HINT() from Windows SDK 8,
-+ * in case the SDK we are building against doesn't have it.
-+ */
-+#ifndef SOMAXCONN_HINT
-+#define SOMAXCONN_HINT(b) (-(b))
-+#endif
-+
- static char generic_inaddr_any[16] = {0}; /* big enough for IPv4 or IPv6 */
-
- static apr_status_t socket_cleanup(void *sock)
-@@ -223,7 +230,21 @@
- APR_DECLARE(apr_status_t) apr_socket_listen(apr_socket_t *sock,
- apr_int32_t backlog)
- {
-- if (listen(sock->socketdes, backlog) == SOCKET_ERROR)
-+ int backlog_val;
-+
-+ if (apr_os_level >= APR_WIN_8) {
-+ /* Starting from Windows 8, listen() accepts a special
SOMAXCONN_HINT()
-+ * arg that allows setting the listen backlog value to a larger
-+ * value than the predefined Winsock 2 limit (several hundred).
-+ *
https://blogs.msdn.microsoft.com/winsdk/2015/06/01/winsocks-listen-backlog-offers-more-flexibility-in-windows-8/
-+ */
-+ backlog_val = SOMAXCONN_HINT(backlog);
-+ }
-+ else {
-+ backlog_val = backlog;
-+ }
-+
-+ if (listen(sock->socketdes, backlog_val) == SOCKET_ERROR)
- return apr_get_netos_error();
- else
- return APR_SUCCESS;
diff --git a/native/srclib/openssl/openssl-msvcrt-3.0.x.patch
b/native/srclib/openssl/openssl-msvcrt-3.0.x.patch
deleted file mode 100644
index 7d181907e..000000000
--- a/native/srclib/openssl/openssl-msvcrt-3.0.x.patch
+++ /dev/null
@@ -1,87 +0,0 @@
-diff --git a/Configurations/10-main.conf b/Configurations/10-main.conf
-index 66bc81dfb4..52345e4f33 100644
---- a/Configurations/10-main.conf
-+++ b/Configurations/10-main.conf
-@@ -1379,7 +1379,7 @@ my %targets = (
- # prefer [non-debug] openssl.exe to be free from Micorosoft RTL
- # redistributable.
- bin_cflags => add(picker(debug => "/MDd",
-- release => sub { $disabled{shared} ?
"/MT" : () },
-+ release => "/MD",
- )),
- bin_lflags => add("/subsystem:console /opt:ref"),
- ex_libs => add(sub {
-diff --git a/apps/lib/s_socket.c b/apps/lib/s_socket.c
-index 059afe47b9..cbece5fcb3 100644
---- a/apps/lib/s_socket.c
-+++ b/apps/lib/s_socket.c
-@@ -31,7 +31,7 @@ typedef unsigned int u_int;
-
- /* MSVC renamed some POSIX functions to have an underscore prefix. */
- # ifdef _MSC_VER
--# define getpid _getpid
-+# define getpid GetCurrentProcessId
- # endif
- #endif
-
-diff --git a/crypto/cmp/cmp_util.c b/crypto/cmp/cmp_util.c
-index ed611d64dd..09238bfb7d 100644
---- a/crypto/cmp/cmp_util.c
-+++ b/crypto/cmp/cmp_util.c
-@@ -9,6 +9,7 @@
- * https://www.openssl.org/source/license.html
- */
-
-+#include "e_os.h"
- #include <string.h>
- #include <openssl/cmp_util.h>
- #include "cmp_local.h" /* just for decls of internal functions defined here */
-diff --git a/crypto/engine/eng_openssl.c b/crypto/engine/eng_openssl.c
-index 91656e6b80..e0692e5618 100644
---- a/crypto/engine/eng_openssl.c
-+++ b/crypto/engine/eng_openssl.c
-@@ -18,6 +18,7 @@
- #include "internal/deprecated.h"
-
- #include <stdio.h>
-+#include "e_os.h"
- #include <openssl/crypto.h>
- #include "internal/cryptlib.h"
- #include "crypto/engine.h"
-diff --git a/engines/e_capi.c b/engines/e_capi.c
-index 6f223a6922..045d1368fd 100644
---- a/engines/e_capi.c
-+++ b/engines/e_capi.c
-@@ -18,6 +18,7 @@
- # include <wincrypt.h>
-
- # include <stdio.h>
-+# include "e_os.h"
- # include <string.h>
- # include <stdlib.h>
- # include <malloc.h>
-diff --git a/test/testutil/basic_output.c b/test/testutil/basic_output.c
-index 92f3de9300..e84301946e 100644
---- a/test/testutil/basic_output.c
-+++ b/test/testutil/basic_output.c
-@@ -7,6 +7,7 @@
- * https://www.openssl.org/source/license.html
- */
-
-+#include "e_os.h"
- #include "../testutil.h"
- #include "output.h"
- #include "tu_local.h"
-diff --git a/test/testutil/provider.c b/test/testutil/provider.c
-index d073d732da..8a96f9a151 100644
---- a/test/testutil/provider.c
-+++ b/test/testutil/provider.c
-@@ -7,6 +7,7 @@
- * https://www.openssl.org/source/license.html
- */
-
-+#include "e_os.h"
- #include "../testutil.h"
- #include <ctype.h>
- #include <openssl/provider.h>
-
\ No newline at end of file
diff --git a/xdocs/miscellaneous/changelog.xml
b/xdocs/miscellaneous/changelog.xml
index f1a8d1fdf..1431038e1 100644
--- a/xdocs/miscellaneous/changelog.xml
+++ b/xdocs/miscellaneous/changelog.xml
@@ -76,6 +76,9 @@
connections using TLS 1.2 and earlier. Pull request provided by gastush.
(markt)
</add>
+ <update>
+ Update the Windows build environment to use Visual Studio 2022. (markt)
+ </update>
</changelog>
</section>
<section name="Changes in 1.3.1">
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]