patch 9.1.1499: MS-Windows: no indication of ARM64 architecture
Problem: MS-Windows: no indication of ARM64 architecture
Solution: Add ARM64 to version output and include in nsis installer
(RestorerZ)
related: vim/vim-win32-installer#381
closes: #17642
Signed-off-by: RestorerZ <restorer@mail2k.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
diff --git a/src/Make_mvc.mak b/src/Make_mvc.mak
index 08016d4..64b0331 100644
--- a/src/Make_mvc.mak
+++ b/src/Make_mvc.mak
@@ -342,7 +342,11 @@
### Set the default $(WINVER) to make it work with Windows 7
!ifndef WINVER
+! if "$(CPU)" == "ARM64"
+WINVER = 0x0A00
+! else
WINVER = 0x0601
+! endif
!endif
# Use multiprocess build
@@ -571,7 +575,8 @@
! error *** ERROR Unknown target architecture "$(CPUNR)". Make aborted.
! endif
!elseif "$(CPU)" == "ARM64"
-# TODO: Validate CPUNR.
+# TODO: Validate CPUNR depending on the VS version.
+CPUNR = armv8.0
!endif
# Convert processor ID to MVC-compatible number
diff --git a/src/version.c b/src/version.c
index 23a9f19..7181bae 100644
--- a/src/version.c
+++ b/src/version.c
@@ -720,6 +720,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 1499,
+/**/
1498,
/**/
1497,
@@ -3926,13 +3928,21 @@
# ifdef FEAT_GUI_MSWIN
# ifdef VIMDLL
# ifdef _WIN64
- msg_puts(_("\nMS-Windows 64-bit GUI/console version"));
+# if defined(_M_ARM64) || defined(_M_ARM64EC)
+ msg_puts(_("\nMS-Windows ARM64 GUI/console version"));
+# else
+ msg_puts(_("\nMS-Windows 64-bit GUI/console version"));
+# endif
# else
msg_puts(_("\nMS-Windows 32-bit GUI/console version"));
# endif
# else
# ifdef _WIN64
- msg_puts(_("\nMS-Windows 64-bit GUI version"));
+# if defined(_M_ARM64) || defined(_M_ARM64EC)
+ msg_puts(_("\nMS-Windows ARM64 GUI version"));
+# else
+ msg_puts(_("\nMS-Windows 64-bit GUI version"));
+# endif
# else
msg_puts(_("\nMS-Windows 32-bit GUI version"));
# endif
@@ -3942,7 +3952,11 @@
# endif
# else
# ifdef _WIN64
+# if defined(_M_ARM64) || defined(_M_ARM64EC)
+ msg_puts(_("\nMS-Windows ARM64 console version"));
+# else
msg_puts(_("\nMS-Windows 64-bit console version"));
+# endif
# else
msg_puts(_("\nMS-Windows 32-bit console version"));
# endif