]> git.proxmox.com Git - mirror_edk2.git/blobdiff - BaseTools/Conf/tools_def.template
BaseTools/Conf: Add VS2017/ARM64 support
[mirror_edk2.git] / BaseTools / Conf / tools_def.template
index 427ad60b0e26ddb5612f4db1b49170c05c60d889..5da229a715fae0bee820144d06c2b822864ab051 100755 (executable)
@@ -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\r
 DEFINE VS2017_BIN_X64     = DEF(VS2017_BIN)\HostDEF(VS2017_HOST)\x64\r
 DEFINE VS2017_BIN_ARM     = DEF(VS2017_BIN)\HostDEF(VS2017_HOST)\arm\r
+DEFINE VS2017_BIN_AARCH64 = DEF(VS2017_BIN)\HostDEF(VS2017_HOST)\arm64\r
 \r
 DEFINE WINSDK_BIN       = ENV(WINSDK_PREFIX)\r
 DEFINE WINSDKx86_BIN    = ENV(WINSDKx86_PREFIX)\r
@@ -237,6 +238,7 @@ DEFINE IPHONE_TOOLS            = /Developer/Platforms/iPhoneOS.platform/Develope
 \r
 DEFINE SOURCERY_CYGWIN_TOOLS = /cygdrive/c/Program Files/CodeSourcery/Sourcery G++ Lite/bin\r
 \r
+DEFINE DTCPP_BIN               = ENV(DTCPP_PREFIX)cpp\r
 DEFINE DTC_BIN                 = ENV(DTC_PREFIX)dtc\r
 \r
 ####################################################################################\r
@@ -329,7 +331,7 @@ DEFINE DTC_BIN                 = ENV(DTC_PREFIX)dtc
 #                               Intel(r) ACPI Compiler (iasl.exe) from\r
 #                               https://acpica.org/downloads\r
 #   VS2017      -win32-  Requires:\r
-#                             Microsoft Visual Studio 2017 version 15.2 or later\r
+#                             Microsoft Visual Studio 2017 version 15.2 (15.4 for ARM64) or later\r
 #                        Optional:\r
 #                             Required to build EBC drivers:\r
 #                               Intel(r) Compiler for Efi Byte Code (Intel(r) EBC Compiler)\r
@@ -337,7 +339,7 @@ DEFINE DTC_BIN                 = ENV(DTC_PREFIX)dtc
 #                               Intel(r) ACPI Compiler (iasl.exe) from\r
 #                               https://acpica.org/downloads\r
 #                        Note:\r
-#                             Building of XIP firmware images for ARM is not currently supported (only applications).\r
+#                             Building of XIP firmware images for ARM/ARM64 is not currently supported (only applications).\r
 #                             /FILEALIGN:4096 and other changes are needed for ARM firmware builds.\r
 #   DDK3790     -win32-  Requires:\r
 #                             Microsoft Windows Server 2003 Driver Development Kit (Microsoft WINDDK) version 3790.1830\r
@@ -4200,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\r
 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\r
 \r
+#####################\r
+# AARCH64 definitions\r
+#####################\r
+*_VS2017_AARCH64_CC_PATH           = DEF(VS2017_BIN_AARCH64)\cl.exe\r
+*_VS2017_AARCH64_VFRPP_PATH        = DEF(VS2017_BIN_AARCH64)\cl.exe\r
+*_VS2017_AARCH64_SLINK_PATH        = DEF(VS2017_BIN_AARCH64)\lib.exe\r
+*_VS2017_AARCH64_DLINK_PATH        = DEF(VS2017_BIN_AARCH64)\link.exe\r
+*_VS2017_AARCH64_APP_PATH          = DEF(VS2017_BIN_AARCH64)\cl.exe\r
+*_VS2017_AARCH64_PP_PATH           = DEF(VS2017_BIN_AARCH64)\cl.exe\r
+*_VS2017_AARCH64_ASM_PATH          = DEF(VS2017_BIN_AARCH64)\armasm64.exe\r
+*_VS2017_AARCH64_ASLCC_PATH        = DEF(VS2017_BIN_AARCH64)\cl.exe\r
+*_VS2017_AARCH64_ASLPP_PATH        = DEF(VS2017_BIN_AARCH64)\cl.exe\r
+*_VS2017_AARCH64_ASLDLINK_PATH     = DEF(VS2017_BIN_AARCH64)\link.exe\r
+\r
+      *_VS2017_AARCH64_MAKE_FLAGS  = /nologo\r
+  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-\r
+RELEASE_VS2017_AARCH64_CC_FLAGS    = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gw /Oi-\r
+NOOPT_VS2017_AARCH64_CC_FLAGS      = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Gm /Od /Oi-\r
+\r
+  DEBUG_VS2017_AARCH64_ASM_FLAGS   = /nologo /g\r
+RELEASE_VS2017_AARCH64_ASM_FLAGS   = /nologo\r
+NOOPT_VS2017_AARCH64_ASM_FLAGS     = /nologo\r
+\r
+  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\r
+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\r
+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\r
+\r
 ##################\r
 # EBC definitions\r
 ##################\r
@@ -4499,6 +4528,8 @@ DEBUG_*_*_OBJCOPY_ADDDEBUGFLAG     = --add-gnu-debuglink=$(DEBUG_DIR)/$(MODULE_N
 RELEASE_*_*_OBJCOPY_ADDDEBUGFLAG   =\r
 NOOPT_*_*_OBJCOPY_ADDDEBUGFLAG     = --add-gnu-debuglink=$(DEBUG_DIR)/$(MODULE_NAME).debug\r
 *_*_*_DTC_FLAGS                    = -H epapr\r
+*_*_*_DTCPP_PATH                   = DEF(DTCPP_BIN)\r
+*_*_*_DTC_PATH                     = DEF(DTC_BIN)\r
 \r
 DEFINE GCC_ALL_CC_FLAGS            = -g -Os -fshort-wchar -fno-builtin -fno-strict-aliasing -Wall -Werror -Wno-array-bounds -include AutoGen.h -fno-common\r
 DEFINE GCC_IA32_CC_FLAGS           = DEF(GCC_ALL_CC_FLAGS) -m32 -malign-double -freorder-blocks -freorder-blocks-and-partition -O2 -mno-stack-arg-probe\r
@@ -4912,7 +4943,6 @@ RELEASE_GCC45_X64_CC_FLAGS       = DEF(GCC45_X64_CC_FLAGS) -Os
 *_GCC46_*_MAKE_PATH                    = DEF(GCC46_IA32_PREFIX)make\r
 *_GCC46_*_*_DLL                        = ENV(GCC46_DLL)\r
 *_GCC46_*_ASL_PATH                     = DEF(UNIX_IASL_BIN)\r
-*_GCC46_*_DTC_PATH                     = DEF(DTC_BIN)\r
 \r
 *_GCC46_*_PP_FLAGS                     = DEF(GCC_PP_FLAGS)\r
 *_GCC46_*_ASLPP_FLAGS                  = DEF(GCC_ASLPP_FLAGS)\r
@@ -5023,7 +5053,6 @@ RELEASE_GCC46_ARM_CC_FLAGS       = DEF(GCC46_ARM_CC_FLAGS) -Wno-unused-but-set-v
 *_GCC47_*_MAKE_PATH                    = DEF(GCC47_IA32_PREFIX)make\r
 *_GCC47_*_*_DLL                        = ENV(GCC47_DLL)\r
 *_GCC47_*_ASL_PATH                     = DEF(UNIX_IASL_BIN)\r
-*_GCC47_*_DTC_PATH                     = DEF(DTC_BIN)\r
 \r
 *_GCC47_*_PP_FLAGS                     = DEF(GCC_PP_FLAGS)\r
 *_GCC47_*_ASLPP_FLAGS                  = DEF(GCC_ASLPP_FLAGS)\r
@@ -5163,7 +5192,6 @@ RELEASE_GCC47_AARCH64_CC_FLAGS   = DEF(GCC47_AARCH64_CC_FLAGS) -Wno-unused-but-s
 *_GCC48_*_MAKE_PATH                    = DEF(GCC48_IA32_PREFIX)make\r
 *_GCC48_*_*_DLL                        = ENV(GCC48_DLL)\r
 *_GCC48_*_ASL_PATH                     = DEF(UNIX_IASL_BIN)\r
-*_GCC48_*_DTC_PATH                     = DEF(DTC_BIN)\r
 \r
 *_GCC48_*_PP_FLAGS                     = DEF(GCC_PP_FLAGS)\r
 *_GCC48_*_ASLPP_FLAGS                  = DEF(GCC_ASLPP_FLAGS)\r
@@ -5303,7 +5331,6 @@ RELEASE_GCC48_AARCH64_CC_FLAGS   = DEF(GCC48_AARCH64_CC_FLAGS) -Wno-unused-but-s
 *_GCC49_*_MAKE_PATH                    = DEF(GCC49_IA32_PREFIX)make\r
 *_GCC49_*_*_DLL                        = ENV(GCC49_DLL)\r
 *_GCC49_*_ASL_PATH                     = DEF(UNIX_IASL_BIN)\r
-*_GCC49_*_DTC_PATH                     = DEF(DTC_BIN)\r
 \r
 *_GCC49_*_PP_FLAGS                     = DEF(GCC_PP_FLAGS)\r
 *_GCC49_*_ASLPP_FLAGS                  = DEF(GCC_ASLPP_FLAGS)\r
@@ -5449,7 +5476,6 @@ RELEASE_GCC49_AARCH64_DLINK_FLAGS  = DEF(GCC49_AARCH64_DLINK_FLAGS)
 *_GCC5_*_MAKE_PATH               = DEF(GCC5_IA32_PREFIX)make\r
 *_GCC5_*_*_DLL                   = ENV(GCC5_DLL)\r
 *_GCC5_*_ASL_PATH                = DEF(UNIX_IASL_BIN)\r
-*_GCC5_*_DTC_PATH                = DEF(DTC_BIN)\r
 \r
 *_GCC5_*_PP_FLAGS                = DEF(GCC_PP_FLAGS)\r
 *_GCC5_*_ASLPP_FLAGS             = DEF(GCC_ASLPP_FLAGS)\r
@@ -5606,7 +5632,6 @@ RELEASE_GCC5_AARCH64_DLINK_FLAGS = DEF(GCC5_AARCH64_DLINK_FLAGS) -flto -Os -L$(W
 *_CLANG35_*_MAKE_PATH            = make\r
 *_CLANG35_*_*_DLL                = ENV(CLANG35_DLL)\r
 *_CLANG35_*_ASL_PATH             = DEF(UNIX_IASL_BIN)\r
-*_CLANG35_*_DTC_PATH             = DEF(DTC_BIN)\r
 \r
 *_CLANG35_*_PP_FLAGS             = DEF(GCC_PP_FLAGS)\r
 *_CLANG35_*_ASLCC_FLAGS          = DEF(GCC_ASLCC_FLAGS)\r
@@ -5684,7 +5709,6 @@ RELEASE_CLANG35_AARCH64_CC_FLAGS = DEF(CLANG35_AARCH64_CC_FLAGS) $(ARCHCC_FLAGS)
 *_CLANG38_*_MAKE_PATH               = make\r
 *_CLANG38_*_*_DLL                   = ENV(CLANG38_DLL)\r
 *_CLANG38_*_ASL_PATH                = DEF(UNIX_IASL_BIN)\r
-*_CLANG38_*_DTC_PATH                = DEF(DTC_BIN)\r
 \r
 *_CLANG38_*_APP_FLAGS               =\r
 *_CLANG38_*_ASL_FLAGS               = DEF(IASL_FLAGS)\r