From 577fadfc100ff8fa569a34b89f5ad055ad726646 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Thu, 4 Apr 2019 20:32:24 +0200 Subject: [PATCH] patch 8.1.1119: no support for Windows on ARM64. Problem: No support for Windows on ARM64. Solution: Add ARM64 support (Leendert van Doorn) --- Filelist | 5 +++-- src/GvimExt/Makefile | 10 +++++++++- src/INSTALLpc.txt | 9 +++++++++ src/Make_mvc.mak | 4 ++++ src/dosinst.c | 4 +++- src/version.c | 2 ++ src/xpm/arm64/lib-vc14/libXpm.lib | Bin 0 -> 127884 bytes 7 files changed, 30 insertions(+), 4 deletions(-) create mode 100644 src/xpm/arm64/lib-vc14/libXpm.lib diff --git a/Filelist b/Filelist index 1e4fee9f0..84ebd2557 100644 --- a/Filelist +++ b/Filelist @@ -508,13 +508,14 @@ SRC_DOS_BIN = \ src/vim.tlb \ src/xpm/COPYRIGHT \ src/xpm/README.txt \ + src/xpm/arm64/lib-vc14/libXpm.lib \ src/xpm/include/*.h \ + src/xpm/x64/lib-vc14/libXpm.lib \ src/xpm/x64/lib/libXpm.a \ src/xpm/x64/lib/libXpm.lib \ - src/xpm/x64/lib-vc14/libXpm.lib \ + src/xpm/x86/lib-vc14/libXpm.lib \ src/xpm/x86/lib/libXpm.a \ src/xpm/x86/lib/libXpm.lib \ - src/xpm/x86/lib-vc14/libXpm.lib \ nsis/icons.zip \ # source files for Amiga, DOS, etc. (also in the extra archive) diff --git a/src/GvimExt/Makefile b/src/GvimExt/Makefile index 27ff953e2..a865989cf 100644 --- a/src/GvimExt/Makefile +++ b/src/GvimExt/Makefile @@ -25,6 +25,8 @@ PLATFORM = $(TARGET_CPU) ! ifdef PLATFORM ! if ("$(PLATFORM)" == "x64") || ("$(PLATFORM)" == "X64") CPU = AMD64 +! elseif ("$(PLATFORM)" == "arm64") || ("$(PLATFORM)" == "ARM64") +CPU = ARM64 ! elseif ("$(PLATFORM)" != "x86") && ("$(PLATFORM)" != "X86") ! error *** ERROR Unknown target platform "$(PLATFORM)". Make aborted. ! endif @@ -56,11 +58,17 @@ SUBSYSTEM = console SUBSYSTEM = $(SUBSYSTEM),$(SUBSYSTEM_VER) !endif +!if "$(CPU)" == "ARM64" +OFFSET = 0x11C000000 +!else +OFFSET = 0x1C000000 +!endif + all: gvimext.dll gvimext.dll: gvimext.obj \ gvimext.res - $(link) $(lflags) -dll -def:gvimext.def -base:0x1C000000 -out:$*.dll $** $(olelibsdll) shell32.lib comctl32.lib -subsystem:$(SUBSYSTEM) + $(link) $(lflags) -dll -def:gvimext.def -base:$(OFFSET) -out:$*.dll $** $(olelibsdll) shell32.lib comctl32.lib -subsystem:$(SUBSYSTEM) if exist $*.dll.manifest mt -nologo -manifest $*.dll.manifest -outputresource:$*.dll;2 gvimext.obj: gvimext.h diff --git a/src/INSTALLpc.txt b/src/INSTALLpc.txt index 634f4ad71..4b2bd3df7 100644 --- a/src/INSTALLpc.txt +++ b/src/INSTALLpc.txt @@ -174,6 +174,15 @@ The following Visual C++ team blog can serve as a reference page: http://blogs.msdn.com/b/vcblog/archive/2012/10/08/windows-xp-targeting-with-c-in-visual-studio-2012.aspx +Cross compile support for Windows on ARM64 +------------------------------------------ + +This depends on VS2017 with the optional ARM64 compiler and SDK +installed. Use "vcvarsall.bat x64_arm64" as the build environment. + +The ARM64 support was provided by Leendert van Doorn. + + OLDER VERSIONS The minimal supported version is Windows XP. Building with older compilers diff --git a/src/Make_mvc.mak b/src/Make_mvc.mak index c502dec8b..b6a1ac0d1 100644 --- a/src/Make_mvc.mak +++ b/src/Make_mvc.mak @@ -240,6 +240,8 @@ PLATFORM = $(TARGET_CPU) ! ifdef PLATFORM ! if ("$(PLATFORM)" == "x64") || ("$(PLATFORM)" == "X64") CPU = AMD64 +! elseif ("$(PLATFORM)" == "arm64") || ("$(PLATFORM)" == "ARM64") +CPU = ARM64 ! elseif ("$(PLATFORM)" != "x86") && ("$(PLATFORM)" != "X86") ! error *** ERROR Unknown target platform "$(PLATFORM)". Make aborted. ! endif @@ -442,6 +444,8 @@ DIRECTX_OBJ = $(OUTDIR)\gui_dwrite.obj # on the architecture. !if "$(CPU)" == "AMD64" XPM = xpm\x64 +!elseif "$(CPU)" == "ARM64" +XPM = xpm\arm64 !elseif "$(CPU)" == "i386" XPM = xpm\x86 !else diff --git a/src/dosinst.c b/src/dosinst.c index 2c05cf4c2..ca74758e0 100644 --- a/src/dosinst.c +++ b/src/dosinst.c @@ -1677,7 +1677,9 @@ install_registry(void) printf("Creating an uninstall entry\n"); sprintf(display_name, "Vim " VIM_VERSION_SHORT -#ifdef _WIN64 +#ifdef _M_ARM64 + " (arm64)" +#elif _M_X64 " (x64)" #endif ); diff --git a/src/version.c b/src/version.c index 14512b82e..40d802a60 100644 --- a/src/version.c +++ b/src/version.c @@ -771,6 +771,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 1119, /**/ 1118, /**/ diff --git a/src/xpm/arm64/lib-vc14/libXpm.lib b/src/xpm/arm64/lib-vc14/libXpm.lib new file mode 100644 index 0000000000000000000000000000000000000000..7e3e244b2346b389afec4c57a9bb5020214fa76e GIT binary patch literal 127884 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 TggA?5@e*YGoZwMxl2iUa;!hJ1 literal 0 HcmV?d00001 -- 2.50.1