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/vim.tlb \
|
||||||
src/xpm/COPYRIGHT \
|
src/xpm/COPYRIGHT \
|
||||||
src/xpm/README.txt \
|
src/xpm/README.txt \
|
||||||
|
src/xpm/arm64/lib-vc14/libXpm.lib \
|
||||||
src/xpm/include/*.h \
|
src/xpm/include/*.h \
|
||||||
|
src/xpm/x64/lib-vc14/libXpm.lib \
|
||||||
src/xpm/x64/lib/libXpm.a \
|
src/xpm/x64/lib/libXpm.a \
|
||||||
src/xpm/x64/lib/libXpm.lib \
|
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.a \
|
||||||
src/xpm/x86/lib/libXpm.lib \
|
src/xpm/x86/lib/libXpm.lib \
|
||||||
src/xpm/x86/lib-vc14/libXpm.lib \
|
|
||||||
nsis/icons.zip \
|
nsis/icons.zip \
|
||||||
|
|
||||||
# source files for Amiga, DOS, etc. (also in the extra archive)
|
# source files for Amiga, DOS, etc. (also in the extra archive)
|
||||||
|
@@ -25,6 +25,8 @@ PLATFORM = $(TARGET_CPU)
|
|||||||
! ifdef PLATFORM
|
! ifdef PLATFORM
|
||||||
! if ("$(PLATFORM)" == "x64") || ("$(PLATFORM)" == "X64")
|
! if ("$(PLATFORM)" == "x64") || ("$(PLATFORM)" == "X64")
|
||||||
CPU = AMD64
|
CPU = AMD64
|
||||||
|
! elseif ("$(PLATFORM)" == "arm64") || ("$(PLATFORM)" == "ARM64")
|
||||||
|
CPU = ARM64
|
||||||
! elseif ("$(PLATFORM)" != "x86") && ("$(PLATFORM)" != "X86")
|
! elseif ("$(PLATFORM)" != "x86") && ("$(PLATFORM)" != "X86")
|
||||||
! error *** ERROR Unknown target platform "$(PLATFORM)". Make aborted.
|
! error *** ERROR Unknown target platform "$(PLATFORM)". Make aborted.
|
||||||
! endif
|
! endif
|
||||||
@@ -56,11 +58,17 @@ SUBSYSTEM = console
|
|||||||
SUBSYSTEM = $(SUBSYSTEM),$(SUBSYSTEM_VER)
|
SUBSYSTEM = $(SUBSYSTEM),$(SUBSYSTEM_VER)
|
||||||
!endif
|
!endif
|
||||||
|
|
||||||
|
!if "$(CPU)" == "ARM64"
|
||||||
|
OFFSET = 0x11C000000
|
||||||
|
!else
|
||||||
|
OFFSET = 0x1C000000
|
||||||
|
!endif
|
||||||
|
|
||||||
all: gvimext.dll
|
all: gvimext.dll
|
||||||
|
|
||||||
gvimext.dll: gvimext.obj \
|
gvimext.dll: gvimext.obj \
|
||||||
gvimext.res
|
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
|
if exist $*.dll.manifest mt -nologo -manifest $*.dll.manifest -outputresource:$*.dll;2
|
||||||
|
|
||||||
gvimext.obj: gvimext.h
|
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
|
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
|
OLDER VERSIONS
|
||||||
|
|
||||||
The minimal supported version is Windows XP. Building with older compilers
|
The minimal supported version is Windows XP. Building with older compilers
|
||||||
|
@@ -240,6 +240,8 @@ PLATFORM = $(TARGET_CPU)
|
|||||||
! ifdef PLATFORM
|
! ifdef PLATFORM
|
||||||
! if ("$(PLATFORM)" == "x64") || ("$(PLATFORM)" == "X64")
|
! if ("$(PLATFORM)" == "x64") || ("$(PLATFORM)" == "X64")
|
||||||
CPU = AMD64
|
CPU = AMD64
|
||||||
|
! elseif ("$(PLATFORM)" == "arm64") || ("$(PLATFORM)" == "ARM64")
|
||||||
|
CPU = ARM64
|
||||||
! elseif ("$(PLATFORM)" != "x86") && ("$(PLATFORM)" != "X86")
|
! elseif ("$(PLATFORM)" != "x86") && ("$(PLATFORM)" != "X86")
|
||||||
! error *** ERROR Unknown target platform "$(PLATFORM)". Make aborted.
|
! error *** ERROR Unknown target platform "$(PLATFORM)". Make aborted.
|
||||||
! endif
|
! endif
|
||||||
@@ -442,6 +444,8 @@ DIRECTX_OBJ = $(OUTDIR)\gui_dwrite.obj
|
|||||||
# on the architecture.
|
# on the architecture.
|
||||||
!if "$(CPU)" == "AMD64"
|
!if "$(CPU)" == "AMD64"
|
||||||
XPM = xpm\x64
|
XPM = xpm\x64
|
||||||
|
!elseif "$(CPU)" == "ARM64"
|
||||||
|
XPM = xpm\arm64
|
||||||
!elseif "$(CPU)" == "i386"
|
!elseif "$(CPU)" == "i386"
|
||||||
XPM = xpm\x86
|
XPM = xpm\x86
|
||||||
!else
|
!else
|
||||||
|
@@ -1677,7 +1677,9 @@ install_registry(void)
|
|||||||
|
|
||||||
printf("Creating an uninstall entry\n");
|
printf("Creating an uninstall entry\n");
|
||||||
sprintf(display_name, "Vim " VIM_VERSION_SHORT
|
sprintf(display_name, "Vim " VIM_VERSION_SHORT
|
||||||
#ifdef _WIN64
|
#ifdef _M_ARM64
|
||||||
|
" (arm64)"
|
||||||
|
#elif _M_X64
|
||||||
" (x64)"
|
" (x64)"
|
||||||
#endif
|
#endif
|
||||||
);
|
);
|
||||||
|
@@ -771,6 +771,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
1119,
|
||||||
/**/
|
/**/
|
||||||
1118,
|
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