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:
5
Filelist
5
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)
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
);
|
||||
|
@@ -771,6 +771,8 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
1119,
|
||||
/**/
|
||||
1118,
|
||||
/**/
|
||||
|
BIN
src/xpm/arm64/lib-vc14/libXpm.lib
Normal file
BIN
src/xpm/arm64/lib-vc14/libXpm.lib
Normal file
Binary file not shown.
Reference in New Issue
Block a user