diff options
author | Bram Moolenaar <Bram@vim.org> | 2019-04-04 20:32:24 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2019-04-04 20:32:24 +0200 |
commit | 577fadfc100ff8fa569a34b89f5ad055ad726646 (patch) | |
tree | eedcf55923909fd9b32d48c6cc2e276f16d2e7fc /src | |
parent | 652de23dc7abf6aa2721ccee7fe279b5cce8069c (diff) | |
download | vim-git-577fadfc100ff8fa569a34b89f5ad055ad726646.tar.gz |
patch 8.1.1119: no support for Windows on ARM64.v8.1.1119
Problem: No support for Windows on ARM64.
Solution: Add ARM64 support (Leendert van Doorn)
Diffstat (limited to 'src')
-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 |
6 files changed, 27 insertions, 2 deletions
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 @@ -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 000000000..7e3e244b2 --- /dev/null +++ b/src/xpm/arm64/lib-vc14/libXpm.lib |