[nginx] Win32: added detection of ARM64 target.

noreply at nginx.com noreply at nginx.com
Fri Apr 18 19:58:03 UTC 2025


details:   https://github.com/nginx/nginx/commit/020b1db7eb187d4a9a5f1d6154c664a463473b36
branches:  master
commit:    020b1db7eb187d4a9a5f1d6154c664a463473b36
user:      Aleksei Bavshin <a.bavshin at nginx.com>
date:      Tue, 14 Jan 2025 11:11:28 -0800
description:
Win32: added detection of ARM64 target.

This extends the target selection implemented in dad6ec3aa63f to support
Windows ARM64 platforms.  OpenSSL support for VC-WIN64-ARM target first
appeared in 1.1.1 and is present in all currently supported (3.x)
branches.

As a side effect, ARM64 Windows builds will get 16-byte alignment along
with the rest of non-x86 platforms.  This is safe, as malloc on 64-bit
Windows guarantees the fundamental alignment of allocations, 16 bytes.

---
 auto/cc/msvc          | 4 ++++
 auto/lib/openssl/make | 4 ++++
 2 files changed, 8 insertions(+)

diff --git a/auto/cc/msvc b/auto/cc/msvc
index 567bac7bc..fe7c34e49 100644
--- a/auto/cc/msvc
+++ b/auto/cc/msvc
@@ -26,6 +26,10 @@ ngx_msvc_ver=`echo $NGX_MSVC_VER | sed -e 's/^\([0-9]*\).*/\1/'`
 
 case "$NGX_MSVC_VER" in
 
+    *ARM64)
+        NGX_MACHINE=arm64
+    ;;
+
     *x64)
         NGX_MACHINE=amd64
     ;;
diff --git a/auto/lib/openssl/make b/auto/lib/openssl/make
index a7e9369e7..f8480146d 100644
--- a/auto/lib/openssl/make
+++ b/auto/lib/openssl/make
@@ -13,6 +13,10 @@ case "$CC" in
                 OPENSSL_TARGET=VC-WIN64A
             ;;
 
+            arm64)
+                OPENSSL_TARGET=VC-WIN64-ARM
+            ;;
+
             *)
                 OPENSSL_TARGET=VC-WIN32
             ;;


More information about the nginx-devel mailing list