0
0
mirror of https://github.com/vim/vim.git synced 2025-09-23 03:43:49 -04:00

patch 8.1.1119: no support for Windows on ARM64.

Problem:    No support for Windows on ARM64.
Solution:   Add ARM64 support (Leendert van Doorn)
This commit is contained in:
Bram Moolenaar
2019-04-04 20:32:24 +02:00
parent 652de23dc7
commit 577fadfc10
7 changed files with 30 additions and 4 deletions

View File

@@ -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)

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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
);

View File

@@ -771,6 +771,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
1119,
/**/
1118,
/**/

Binary file not shown.