mirror of https://github.com/acidanthera/audk.git
BaseTools/Conf: Add VS2017/ARM64 support
Build options for ARM64 are the same as for ARM, except for /BASE:0 which is removed from DLINK flags to avoid LNK1355 error: invalid base address 0x0; ARM64 image cannot have base address below 4GB Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Pete Batard <pete@akeo.ie> Reviewed-by: Liming Gao <liming.gao@intel.com>
This commit is contained in:
parent
c41100f05f
commit
5aef7ba3ce
|
@ -206,7 +206,7 @@
|
||||||
# For RVCTCYGWIN ASM_FLAGS must be first to work around pathing issues
|
# For RVCTCYGWIN ASM_FLAGS must be first to work around pathing issues
|
||||||
"$(ASM)" $(ASM_FLAGS) -o ${dst} $(INC) ${d_path}(+)${s_base}.iii
|
"$(ASM)" $(ASM_FLAGS) -o ${dst} $(INC) ${d_path}(+)${s_base}.iii
|
||||||
|
|
||||||
[Assembly-Code-File.COMMON.ARM]
|
[Assembly-Code-File.COMMON.ARM,Assembly-Code-File.COMMON.AARCH64]
|
||||||
# Remove --convert-hex for ARM as it breaks MSFT assemblers
|
# Remove --convert-hex for ARM as it breaks MSFT assemblers
|
||||||
<InputFile.MSFT, InputFile.INTEL, InputFile.RVCT>
|
<InputFile.MSFT, InputFile.INTEL, InputFile.RVCT>
|
||||||
?.asm, ?.Asm, ?.ASM
|
?.asm, ?.Asm, ?.ASM
|
||||||
|
|
|
@ -80,6 +80,7 @@ DEFINE VS2017_BIN_HOST = DEF(VS2017_BIN)\HostDEF(VS2017_HOST)\DEF(VS2017_HOST
|
||||||
DEFINE VS2017_BIN_IA32 = DEF(VS2017_BIN)\HostDEF(VS2017_HOST)\x86
|
DEFINE VS2017_BIN_IA32 = DEF(VS2017_BIN)\HostDEF(VS2017_HOST)\x86
|
||||||
DEFINE VS2017_BIN_X64 = DEF(VS2017_BIN)\HostDEF(VS2017_HOST)\x64
|
DEFINE VS2017_BIN_X64 = DEF(VS2017_BIN)\HostDEF(VS2017_HOST)\x64
|
||||||
DEFINE VS2017_BIN_ARM = DEF(VS2017_BIN)\HostDEF(VS2017_HOST)\arm
|
DEFINE VS2017_BIN_ARM = DEF(VS2017_BIN)\HostDEF(VS2017_HOST)\arm
|
||||||
|
DEFINE VS2017_BIN_AARCH64 = DEF(VS2017_BIN)\HostDEF(VS2017_HOST)\arm64
|
||||||
|
|
||||||
DEFINE WINSDK_BIN = ENV(WINSDK_PREFIX)
|
DEFINE WINSDK_BIN = ENV(WINSDK_PREFIX)
|
||||||
DEFINE WINSDKx86_BIN = ENV(WINSDKx86_PREFIX)
|
DEFINE WINSDKx86_BIN = ENV(WINSDKx86_PREFIX)
|
||||||
|
@ -330,7 +331,7 @@ DEFINE DTC_BIN = ENV(DTC_PREFIX)dtc
|
||||||
# Intel(r) ACPI Compiler (iasl.exe) from
|
# Intel(r) ACPI Compiler (iasl.exe) from
|
||||||
# https://acpica.org/downloads
|
# https://acpica.org/downloads
|
||||||
# VS2017 -win32- Requires:
|
# VS2017 -win32- Requires:
|
||||||
# Microsoft Visual Studio 2017 version 15.2 or later
|
# Microsoft Visual Studio 2017 version 15.2 (15.4 for ARM64) or later
|
||||||
# Optional:
|
# Optional:
|
||||||
# Required to build EBC drivers:
|
# Required to build EBC drivers:
|
||||||
# Intel(r) Compiler for Efi Byte Code (Intel(r) EBC Compiler)
|
# Intel(r) Compiler for Efi Byte Code (Intel(r) EBC Compiler)
|
||||||
|
@ -338,7 +339,7 @@ DEFINE DTC_BIN = ENV(DTC_PREFIX)dtc
|
||||||
# Intel(r) ACPI Compiler (iasl.exe) from
|
# Intel(r) ACPI Compiler (iasl.exe) from
|
||||||
# https://acpica.org/downloads
|
# https://acpica.org/downloads
|
||||||
# Note:
|
# Note:
|
||||||
# Building of XIP firmware images for ARM is not currently supported (only applications).
|
# Building of XIP firmware images for ARM/ARM64 is not currently supported (only applications).
|
||||||
# /FILEALIGN:4096 and other changes are needed for ARM firmware builds.
|
# /FILEALIGN:4096 and other changes are needed for ARM firmware builds.
|
||||||
# DDK3790 -win32- Requires:
|
# DDK3790 -win32- Requires:
|
||||||
# Microsoft Windows Server 2003 Driver Development Kit (Microsoft WINDDK) version 3790.1830
|
# Microsoft Windows Server 2003 Driver Development Kit (Microsoft WINDDK) version 3790.1830
|
||||||
|
@ -4201,6 +4202,33 @@ NOOPT_VS2017_ARM_ASM_FLAGS = /nologo
|
||||||
RELEASE_VS2017_ARM_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:ARM /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=.data
|
RELEASE_VS2017_ARM_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:ARM /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=.data
|
||||||
NOOPT_VS2017_ARM_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:ARM /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
|
NOOPT_VS2017_ARM_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:ARM /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
|
||||||
|
|
||||||
|
#####################
|
||||||
|
# AARCH64 definitions
|
||||||
|
#####################
|
||||||
|
*_VS2017_AARCH64_CC_PATH = DEF(VS2017_BIN_AARCH64)\cl.exe
|
||||||
|
*_VS2017_AARCH64_VFRPP_PATH = DEF(VS2017_BIN_AARCH64)\cl.exe
|
||||||
|
*_VS2017_AARCH64_SLINK_PATH = DEF(VS2017_BIN_AARCH64)\lib.exe
|
||||||
|
*_VS2017_AARCH64_DLINK_PATH = DEF(VS2017_BIN_AARCH64)\link.exe
|
||||||
|
*_VS2017_AARCH64_APP_PATH = DEF(VS2017_BIN_AARCH64)\cl.exe
|
||||||
|
*_VS2017_AARCH64_PP_PATH = DEF(VS2017_BIN_AARCH64)\cl.exe
|
||||||
|
*_VS2017_AARCH64_ASM_PATH = DEF(VS2017_BIN_AARCH64)\armasm64.exe
|
||||||
|
*_VS2017_AARCH64_ASLCC_PATH = DEF(VS2017_BIN_AARCH64)\cl.exe
|
||||||
|
*_VS2017_AARCH64_ASLPP_PATH = DEF(VS2017_BIN_AARCH64)\cl.exe
|
||||||
|
*_VS2017_AARCH64_ASLDLINK_PATH = DEF(VS2017_BIN_AARCH64)\link.exe
|
||||||
|
|
||||||
|
*_VS2017_AARCH64_MAKE_FLAGS = /nologo
|
||||||
|
DEBUG_VS2017_AARCH64_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Gm /Gw /Oi-
|
||||||
|
RELEASE_VS2017_AARCH64_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gw /Oi-
|
||||||
|
NOOPT_VS2017_AARCH64_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Gm /Od /Oi-
|
||||||
|
|
||||||
|
DEBUG_VS2017_AARCH64_ASM_FLAGS = /nologo /g
|
||||||
|
RELEASE_VS2017_AARCH64_ASM_FLAGS = /nologo
|
||||||
|
NOOPT_VS2017_AARCH64_ASM_FLAGS = /nologo
|
||||||
|
|
||||||
|
DEBUG_VS2017_AARCH64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:ARM64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /DRIVER /DEBUG
|
||||||
|
RELEASE_VS2017_AARCH64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:ARM64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /DRIVER /MERGE:.rdata=.data
|
||||||
|
NOOPT_VS2017_AARCH64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:ARM64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /DRIVER /DEBUG
|
||||||
|
|
||||||
##################
|
##################
|
||||||
# EBC definitions
|
# EBC definitions
|
||||||
##################
|
##################
|
||||||
|
|
Loading…
Reference in New Issue