diff options
-rw-r--r-- | Filelist | 5 | ||||
-rw-r--r-- | src/GvimExt/Makefile | 10 | ||||
-rw-r--r-- | src/INSTALLpc.txt | 9 | ||||
-rw-r--r-- | src/Make_mvc.mak | 4 | ||||
-rw-r--r-- | src/dosinst.c | 4 | ||||
-rw-r--r-- | src/version.c | 2 | ||||
-rw-r--r-- | src/xpm/arm64/lib-vc14/libXpm.lib | bin | 0 -> 127884 bytes |
7 files changed, 30 insertions, 4 deletions
@@ -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 27ff953e23..a865989cf7 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 634f4ad71b..4b2bd3df7c 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 c502dec8bf..b6a1ac0d1c 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 2c05cf4c2c..ca74758e0f 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 14512b82ef..40d802a600 100644 --- a/src/version.c +++ b/src/version.c @@ -772,6 +772,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 1119, +/**/ 1118, /**/ 1117, diff --git a/src/xpm/arm64/lib-vc14/libXpm.lib b/src/xpm/arm64/lib-vc14/libXpm.lib Binary files differnew file mode 100644 index 0000000000..7e3e244b23 --- /dev/null +++ b/src/xpm/arm64/lib-vc14/libXpm.lib |