* [PATCH v3 01/13] BaseTools,CryptoPkg: Update CLANGDWARF, remove CLANG 35/38 toolchains
2023-04-16 17:05 [PATCH v3 00/13] BaseTools,CryptoPkg,EmulatorPkg,MdePkg,others: Delete CLANG35,CLANG38,VS2008-2013,EBC, deprecate GCC48,GCC49,GCC5, add GCC and GCCNOLTO, update CLANGDWARF Rebecca Cran
@ 2023-04-16 17:05 ` Rebecca Cran
2023-04-16 17:05 ` [PATCH v3 02/13] BaseTools: Remove VS2008, 2010, 2012 and 2013 toolchain definitions Rebecca Cran
` (12 subsequent siblings)
13 siblings, 0 replies; 17+ messages in thread
From: Rebecca Cran @ 2023-04-16 17:05 UTC (permalink / raw)
To: devel, Liming Gao, Bob Feng, Yuwei Chen, Michael D Kinney,
Michael Kubacki, Sean Brogan, Chasel Chiu, Nate DeSimone,
Star Zeng, Andrew Fish, Ray Ni, Leif Lindholm, Zhiguang Liu,
Jian J Wang, Xiaoyu Lu, Guomin Jiang, Gua Guo, Ard Biesheuvel,
Pedro Falcato, Gerd Hoffmann, Marvin Häuser
Cc: Rebecca Cran
Update the CLANGDWARF toolchain definition in tools_def.template with the
settings from CLANG38, and delete the CLANG35 and CLANG38 toolchains.
The CLANG35 and CLANG38 toolchains were added for compatibility with
ARM's proprietary clang-based toolchain. Things have since moved on, and
with the latest clang version being 16.0.0, versions 3.5 and 3.9 are
obsolete and can be removed.
Update CryptoPkg: Add CLANGDWARF and remove CLANG35 and CLANG38 compiler flags
With the removal of CLANG35 and CLANG38 and the update of the CLANGDWARF
toolchain definition in Conf/tools_def.txt update the compiler flags in
BaseCryptLib and OpensslLib.
Signed-off-by: Rebecca Cran <rebecca@bsdio.com>
---
CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf | 3 +-
CryptoPkg/Library/BaseCryptLib/PeiCryptLib.inf | 3 +-
CryptoPkg/Library/BaseCryptLib/RuntimeCryptLib.inf | 3 +-
CryptoPkg/Library/BaseCryptLib/SecCryptLib.inf | 3 +-
CryptoPkg/Library/BaseCryptLib/SmmCryptLib.inf | 3 +-
CryptoPkg/Library/BaseCryptLib/UnitTestHostBaseCryptLib.inf | 3 +-
CryptoPkg/Library/OpensslLib/OpensslLib.inf | 3 +-
CryptoPkg/Library/OpensslLib/OpensslLibAccel.inf | 3 +-
CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf | 3 +-
CryptoPkg/Library/OpensslLib/OpensslLibFull.inf | 3 +-
CryptoPkg/Library/OpensslLib/OpensslLibFullAccel.inf | 3 +-
BaseTools/Conf/tools_def.template | 471 ++++++++------------
12 files changed, 200 insertions(+), 304 deletions(-)
diff --git a/CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf b/CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf
index 5be1724f0852..d99337a9ea39 100644
--- a/CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf
+++ b/CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf
@@ -110,8 +110,7 @@ [BuildOptions]
#
# suppress the following warnings so we do not break the build with warnings-as-errors:
#
- GCC:*_CLANG35_*_CC_FLAGS = -std=c99
- GCC:*_CLANG38_*_CC_FLAGS = -std=c99
+ GCC:*_CLANGDWARF_*_CC_FLAGS = -std=c99
GCC:*_CLANGPDB_*_CC_FLAGS = -std=c99 -Wno-error=incompatible-pointer-types
XCODE:*_*_*_CC_FLAGS = -std=c99
diff --git a/CryptoPkg/Library/BaseCryptLib/PeiCryptLib.inf b/CryptoPkg/Library/BaseCryptLib/PeiCryptLib.inf
index 66261138a00b..5203941c75c1 100644
--- a/CryptoPkg/Library/BaseCryptLib/PeiCryptLib.inf
+++ b/CryptoPkg/Library/BaseCryptLib/PeiCryptLib.inf
@@ -97,8 +97,7 @@ [BuildOptions]
#
# suppress the following warnings so we do not break the build with warnings-as-errors:
#
- GCC:*_CLANG35_*_CC_FLAGS = -std=c99
- GCC:*_CLANG38_*_CC_FLAGS = -std=c99
+ GCC:*_CLANGDWARF_*_CC_FLAGS = -std=c99
GCC:*_CLANGPDB_*_CC_FLAGS = -std=c99 -Wno-error=incompatible-pointer-types
XCODE:*_*_*_CC_FLAGS = -std=c99
diff --git a/CryptoPkg/Library/BaseCryptLib/RuntimeCryptLib.inf b/CryptoPkg/Library/BaseCryptLib/RuntimeCryptLib.inf
index 07dbc0e7a8bd..ea64d2aa72a9 100644
--- a/CryptoPkg/Library/BaseCryptLib/RuntimeCryptLib.inf
+++ b/CryptoPkg/Library/BaseCryptLib/RuntimeCryptLib.inf
@@ -106,8 +106,7 @@ [BuildOptions]
#
# suppress the following warnings so we do not break the build with warnings-as-errors:
#
- GCC:*_CLANG35_*_CC_FLAGS = -std=c99
- GCC:*_CLANG38_*_CC_FLAGS = -std=c99
+ GCC:*_CLANGDWARF_*_CC_FLAGS = -std=c99
GCC:*_CLANGPDB_*_CC_FLAGS = -std=c99 -Wno-error=incompatible-pointer-types
XCODE:*_*_*_CC_FLAGS = -std=c99
diff --git a/CryptoPkg/Library/BaseCryptLib/SecCryptLib.inf b/CryptoPkg/Library/BaseCryptLib/SecCryptLib.inf
index 4ad59b7bbc59..426cab2c5c8f 100644
--- a/CryptoPkg/Library/BaseCryptLib/SecCryptLib.inf
+++ b/CryptoPkg/Library/BaseCryptLib/SecCryptLib.inf
@@ -81,8 +81,7 @@ [BuildOptions]
#
# suppress the following warnings so we do not break the build with warnings-as-errors:
#
- GCC:*_CLANG35_*_CC_FLAGS = -std=c99
- GCC:*_CLANG38_*_CC_FLAGS = -std=c99
+ GCC:*_CLANGDWARF_*_CC_FLAGS = -std=c99
GCC:*_CLANGPDB_*_CC_FLAGS = -std=c99 -Wno-error=incompatible-pointer-types
XCODE:*_*_*_CC_FLAGS = -std=c99
diff --git a/CryptoPkg/Library/BaseCryptLib/SmmCryptLib.inf b/CryptoPkg/Library/BaseCryptLib/SmmCryptLib.inf
index ab1993087167..df345a8996e0 100644
--- a/CryptoPkg/Library/BaseCryptLib/SmmCryptLib.inf
+++ b/CryptoPkg/Library/BaseCryptLib/SmmCryptLib.inf
@@ -105,6 +105,5 @@ [BuildOptions]
XCODE:*_*_*_CC_FLAGS = -mmmx -msse -std=c99
- GCC:*_CLANG35_*_CC_FLAGS = -std=c99
- GCC:*_CLANG38_*_CC_FLAGS = -std=c99
+ GCC:*_CLANGDWARF_*_CC_FLAGS = -std=c99
GCC:*_CLANGPDB_*_CC_FLAGS = -std=c99 -Wno-error=incompatible-pointer-types
diff --git a/CryptoPkg/Library/BaseCryptLib/UnitTestHostBaseCryptLib.inf b/CryptoPkg/Library/BaseCryptLib/UnitTestHostBaseCryptLib.inf
index 80261794470f..1f0f11c22cc5 100644
--- a/CryptoPkg/Library/BaseCryptLib/UnitTestHostBaseCryptLib.inf
+++ b/CryptoPkg/Library/BaseCryptLib/UnitTestHostBaseCryptLib.inf
@@ -78,8 +78,7 @@ [BuildOptions]
#
# suppress the following warnings so we do not break the build with warnings-as-errors:
#
- GCC:*_CLANG35_*_CC_FLAGS = -std=c99
- GCC:*_CLANG38_*_CC_FLAGS = -std=c99
+ GCC:*_CLANGDWARF_*_CC_FLAGS = -std=c99
GCC:*_CLANGPDB_*_CC_FLAGS = -std=c99 -Wno-error=incompatible-pointer-types
XCODE:*_*_*_CC_FLAGS = -std=c99
diff --git a/CryptoPkg/Library/OpensslLib/OpensslLib.inf b/CryptoPkg/Library/OpensslLib/OpensslLib.inf
index 86a00b1c4b2a..003e17cb8e17 100644
--- a/CryptoPkg/Library/OpensslLib/OpensslLib.inf
+++ b/CryptoPkg/Library/OpensslLib/OpensslLib.inf
@@ -639,8 +639,7 @@ [BuildOptions]
GCC:*_*_AARCH64_CC_FLAGS = $(OPENSSL_FLAGS) -Wno-error=maybe-uninitialized -Wno-format -Wno-error=unused-but-set-variable -Wno-error=format
GCC:*_*_RISCV64_CC_FLAGS = $(OPENSSL_FLAGS) -Wno-error=maybe-uninitialized -Wno-format -Wno-error=unused-but-set-variable
GCC:*_*_LOONGARCH64_CC_FLAGS = $(OPENSSL_FLAGS) -Wno-error=maybe-uninitialized -Wno-format -Wno-error=unused-but-set-variable
- GCC:*_CLANG35_*_CC_FLAGS = -std=c99 -Wno-error=uninitialized
- GCC:*_CLANG38_*_CC_FLAGS = -std=c99 -Wno-error=uninitialized
+ GCC:*_CLANGDWARF_*_CC_FLAGS = -std=c99 -Wno-error=uninitialized
GCC:*_CLANGPDB_*_CC_FLAGS = -std=c99 -Wno-error=uninitialized -Wno-error=incompatible-pointer-types -Wno-error=pointer-sign -Wno-error=implicit-function-declaration -Wno-error=ignored-pragma-optimize
# Revisit after switching to 3.0 branch
GCC:*_GCC5_*_CC_FLAGS = -Wno-unused-but-set-variable
diff --git a/CryptoPkg/Library/OpensslLib/OpensslLibAccel.inf b/CryptoPkg/Library/OpensslLib/OpensslLibAccel.inf
index 2e4f95909b51..dded0b66806b 100644
--- a/CryptoPkg/Library/OpensslLib/OpensslLibAccel.inf
+++ b/CryptoPkg/Library/OpensslLib/OpensslLibAccel.inf
@@ -687,8 +687,7 @@ [BuildOptions]
#
GCC:*_*_IA32_CC_FLAGS = -U_WIN32 -U_WIN64 $(OPENSSL_FLAGS) $(OPENSSL_FLAGS_CONFIG) -Wno-error=maybe-uninitialized -Wno-error=unused-but-set-variable
GCC:*_*_X64_CC_FLAGS = -U_WIN32 -U_WIN64 $(OPENSSL_FLAGS) $(OPENSSL_FLAGS_CONFIG) -Wno-error=maybe-uninitialized -Wno-error=format -Wno-format -Wno-error=unused-but-set-variable -DNO_MSABI_VA_FUNCS
- GCC:*_CLANG35_*_CC_FLAGS = -std=c99 -Wno-error=uninitialized
- GCC:*_CLANG38_*_CC_FLAGS = -std=c99 -Wno-error=uninitialized
+ GCC:*_CLANGDWARF_*_CC_FLAGS = -std=c99 -Wno-error=uninitialized
GCC:*_CLANGPDB_*_CC_FLAGS = -std=c99 -Wno-error=uninitialized -Wno-error=incompatible-pointer-types -Wno-error=pointer-sign -Wno-error=implicit-function-declaration -Wno-error=ignored-pragma-optimize
# Revisit after switching to 3.0 branch
GCC:*_GCC5_*_CC_FLAGS = -Wno-unused-but-set-variable
diff --git a/CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf b/CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf
index 637d4769e8ca..523d766f6be0 100644
--- a/CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf
+++ b/CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf
@@ -589,8 +589,7 @@ [BuildOptions]
GCC:*_*_AARCH64_CC_FLAGS = $(OPENSSL_FLAGS) -Wno-error=maybe-uninitialized -Wno-format -Wno-error=unused-but-set-variable -Wno-error=format
GCC:*_*_RISCV64_CC_FLAGS = $(OPENSSL_FLAGS) -Wno-error=maybe-uninitialized -Wno-format -Wno-error=unused-but-set-variable
GCC:*_*_LOONGARCH64_CC_FLAGS = $(OPENSSL_FLAGS) -Wno-error=maybe-uninitialized -Wno-format -Wno-error=unused-but-set-variable
- GCC:*_CLANG35_*_CC_FLAGS = -std=c99 -Wno-error=uninitialized
- GCC:*_CLANG38_*_CC_FLAGS = -std=c99 -Wno-error=uninitialized
+ GCC:*_CLANGDWARF_*_CC_FLAGS = -std=c99 -Wno-error=uninitialized
GCC:*_CLANGPDB_*_CC_FLAGS = -std=c99 -Wno-error=uninitialized -Wno-error=incompatible-pointer-types -Wno-error=pointer-sign -Wno-error=implicit-function-declaration -Wno-error=ignored-pragma-optimize
# Revisit after switching to 3.0 branch
GCC:*_GCC5_*_CC_FLAGS = -Wno-unused-but-set-variable
diff --git a/CryptoPkg/Library/OpensslLib/OpensslLibFull.inf b/CryptoPkg/Library/OpensslLib/OpensslLibFull.inf
index c5f90221fc66..9baf0cbfb42c 100644
--- a/CryptoPkg/Library/OpensslLib/OpensslLibFull.inf
+++ b/CryptoPkg/Library/OpensslLib/OpensslLibFull.inf
@@ -694,8 +694,7 @@ [BuildOptions]
GCC:*_*_AARCH64_CC_FLAGS = $(OPENSSL_FLAGS) -Wno-error=maybe-uninitialized -Wno-format -Wno-error=unused-but-set-variable -Wno-error=format
GCC:*_*_RISCV64_CC_FLAGS = $(OPENSSL_FLAGS) -Wno-error=maybe-uninitialized -Wno-format -Wno-error=unused-but-set-variable
GCC:*_*_LOONGARCH64_CC_FLAGS = $(OPENSSL_FLAGS) -Wno-error=maybe-uninitialized -Wno-format -Wno-error=unused-but-set-variable
- GCC:*_CLANG35_*_CC_FLAGS = -std=c99 -Wno-error=uninitialized
- GCC:*_CLANG38_*_CC_FLAGS = -std=c99 -Wno-error=uninitialized
+ GCC:*_CLANGDWARF_*_CC_FLAGS = -std=c99 -Wno-error=uninitialized
GCC:*_CLANGPDB_*_CC_FLAGS = -std=c99 -Wno-error=uninitialized -Wno-error=incompatible-pointer-types -Wno-error=pointer-sign -Wno-error=implicit-function-declaration -Wno-error=ignored-pragma-optimize
# Revisit after switching to 3.0 branch
GCC:*_GCC5_*_CC_FLAGS = -Wno-unused-but-set-variable
diff --git a/CryptoPkg/Library/OpensslLib/OpensslLibFullAccel.inf b/CryptoPkg/Library/OpensslLib/OpensslLibFullAccel.inf
index 076295244a2a..beb8e6986a4a 100644
--- a/CryptoPkg/Library/OpensslLib/OpensslLibFullAccel.inf
+++ b/CryptoPkg/Library/OpensslLib/OpensslLibFullAccel.inf
@@ -742,8 +742,7 @@ [BuildOptions]
#
GCC:*_*_IA32_CC_FLAGS = -U_WIN32 -U_WIN64 $(OPENSSL_FLAGS) $(OPENSSL_FLAGS_CONFIG) -Wno-error=maybe-uninitialized -Wno-error=unused-but-set-variable
GCC:*_*_X64_CC_FLAGS = -U_WIN32 -U_WIN64 $(OPENSSL_FLAGS) $(OPENSSL_FLAGS_CONFIG) -Wno-error=maybe-uninitialized -Wno-error=format -Wno-format -Wno-error=unused-but-set-variable -DNO_MSABI_VA_FUNCS
- GCC:*_CLANG35_*_CC_FLAGS = -std=c99 -Wno-error=uninitialized
- GCC:*_CLANG38_*_CC_FLAGS = -std=c99 -Wno-error=uninitialized
+ GCC:*_CLANGDWARF_*_CC_FLAGS = -std=c99 -Wno-error=uninitialized
GCC:*_CLANGPDB_*_CC_FLAGS = -std=c99 -Wno-error=uninitialized -Wno-error=incompatible-pointer-types -Wno-error=pointer-sign -Wno-error=implicit-function-declaration -Wno-error=ignored-pragma-optimize
# Revisit after switching to 3.0 branch
GCC:*_GCC5_*_CC_FLAGS = -Wno-unused-but-set-variable
diff --git a/BaseTools/Conf/tools_def.template b/BaseTools/Conf/tools_def.template
index 9a5c11f6a385..b9788662b4cd 100755
--- a/BaseTools/Conf/tools_def.template
+++ b/BaseTools/Conf/tools_def.template
@@ -273,32 +273,21 @@ DEFINE DTC_BIN = ENV(DTC_PREFIX)dtc
# Required to build platforms or ACPI tables:
# Intel(r) ACPI Compiler from
# https://acpica.org/downloads
-#
-# CLANG35 -Linux,Windows- Requires:
-# Clang v3.5 or later, and GNU binutils targeting aarch64-linux-gnu or arm-linux-gnueabi
-# Optional:
-# Required to build platforms or ACPI tables:
-# Intel(r) ACPI Compiler from
-# https://acpica.org/downloads
-# CLANG38 -Linux- Requires:
-# Clang v3.8, LLVMgold plugin and GNU binutils 2.26 targeting x86_64-linux-gnu, aarch64-linux-gnu or arm-linux-gnueabi
-# Clang v3.9 or later, LLVMgold plugin and GNU binutils 2.28 targeting x86_64-linux-gnu, aarch64-linux-gnu or arm-linux-gnueabi
+# CLANGDWARF -Linux- Requires:
+# Clang 9 or above, and GNU binutils targeting x86_64-linux-gnu, aaarch64-linux-gnu or arm-linux-gnuaebi
# Optional:
# Required to build platforms or ACPI tables:
# Intel(r) ACPI Compiler from
# https://acpica.org/downloads
+# Required to compile nasm source:
+# nasm compiler from
+# NASM -- https://nasm.us
# CLANGPDB -Linux, Windows, Mac- Requires:
# Clang 9 or above from http://releases.llvm.org/
# Optional:
# Required to compile nasm source:
# nasm compiler from
# NASM -- http://www.nasm.us/
-# CLANGDWARF -Linux, Windows, Mac- Requires:
-# Clang 9 or above from http://releases.llvm.org/
-# Optional:
-# Required to compile nasm source:
-# nasm compiler from
-# NASM -- http://www.nasm.us/
# VS2008x86 -win64- Requires:
# Microsoft Visual Studio 2008 (x86)
# Microsoft Windows Server 2003 Driver Development Kit (Microsoft WINDDK) version 3790.1830
@@ -2480,273 +2469,191 @@ RELEASE_GCC5_LOONGARCH64_CC_FLAGS = DEF(GCC5_LOONGARCH64_CC_FLAGS) -Wno-un
####################################################################################
#
-# CLANG35 - This configuration is used to compile under Linux to produce
-# PE/COFF binaries using the clang compiler and assembler (v3.5 and up)
-# and GNU linker
+# Clang - This configuration is used to compile under Linux to produce
+# PE/COFF binaries using LLVM/Clang with Link Time Optimization enabled
#
####################################################################################
-*_CLANG35_*_*_FAMILY = GCC
+*_CLANGDWARF_*_*_FAMILY = GCC
+*_CLANGDWARF_*_MAKE_PATH = make
+*_CLANGDWARF_*_*_DLL = ENV(CLANGDWARF_DLL)
+*_CLANGDWARF_*_ASL_PATH = DEF(UNIX_IASL_BIN)
-*_CLANG35_*_MAKE_PATH = make
-*_CLANG35_*_*_DLL = ENV(CLANG35_DLL)
-*_CLANG35_*_ASL_PATH = DEF(UNIX_IASL_BIN)
+*_CLANGDWARF_*_APP_FLAGS =
+*_CLANGDWARF_*_ASL_FLAGS = DEF(IASL_FLAGS)
+*_CLANGDWARF_*_ASL_OUTFLAGS = DEF(IASL_OUTFLAGS)
+*_CLANGDWARF_*_DEPS_FLAGS = DEF(GCC_DEPS_FLAGS)
+DEFINE CLANGDWARF_IA32_PREFIX = ENV(CLANGDWARF_BIN)
+DEFINE CLANGDWARF_X64_PREFIX = ENV(CLANGDWARF_BIN)
-*_CLANG35_*_PP_FLAGS = DEF(GCC_PP_FLAGS)
-*_CLANG35_*_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS)
-*_CLANG35_*_APP_FLAGS =
-*_CLANG35_*_ASL_FLAGS = DEF(IASL_FLAGS)
-*_CLANG35_*_ASL_OUTFLAGS = DEF(IASL_OUTFLAGS)
-*_CLANG35_*_DTCPP_FLAGS = DEF(GCC_DTCPP_FLAGS)
+DEFINE CLANGDWARF_IA32_TARGET = -target i686-pc-linux-gnu
+DEFINE CLANGDWARF_X64_TARGET = -target x86_64-pc-linux-gnu
-*_CLANG35_*_CC_PATH = ENV(CLANG35_BIN)clang
-*_CLANG35_*_ASM_PATH = ENV(CLANG35_BIN)clang
-*_CLANG35_*_PP_PATH = ENV(CLANG35_BIN)clang
-*_CLANG35_*_VFRPP_PATH = ENV(CLANG35_BIN)clang
-*_CLANG35_*_ASLCC_PATH = ENV(CLANG35_BIN)clang
-*_CLANG35_*_ASLPP_PATH = ENV(CLANG35_BIN)clang
-*_CLANG35_*_DLINK_PATH = ENV(CLANG35_BIN)clang
-*_CLANG35_*_ASLDLINK_PATH = ENV(CLANG35_BIN)clang
-*_CLANG35_*_DEPS_FLAGS = DEF(GCC_DEPS_FLAGS)
-
-DEFINE CLANG35_ARM_TARGET = -target arm-linux-gnueabi
-DEFINE CLANG35_AARCH64_TARGET = -target aarch64-linux-gnu
-
-DEFINE CLANG35_WARNING_OVERRIDES = -Wno-parentheses-equality -Wno-tautological-compare -Wno-tautological-constant-out-of-range-compare -Wno-empty-body -Wno-unknown-warning-option -Wno-unused-but-set-variable -Wno-unused-const-variable
-DEFINE CLANG35_ARM_CC_FLAGS = DEF(GCC_ARM_CC_FLAGS) DEF(CLANG35_ARM_TARGET) DEF(CLANG35_WARNING_OVERRIDES)
-DEFINE CLANG35_AARCH64_CC_FLAGS = DEF(GCC_AARCH64_CC_FLAGS) DEF(CLANG35_AARCH64_TARGET) -mcmodel=small DEF(CLANG35_WARNING_OVERRIDES)
-
-##################
-# CLANG35 ARM definitions
-##################
-*_CLANG35_ARM_SLINK_PATH = ENV(CLANG35_ARM_PREFIX)ar
-*_CLANG35_ARM_RC_PATH = ENV(CLANG35_ARM_PREFIX)objcopy
-
-*_CLANG35_ARM_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS)
-*_CLANG35_ARM_ASLDLINK_FLAGS = DEF(CLANG35_ARM_TARGET) DEF(GCC_ARM_ASLDLINK_FLAGS)
-*_CLANG35_ARM_ASM_FLAGS = DEF(GCC_ASM_FLAGS) DEF(CLANG35_ARM_TARGET) $(PLATFORM_FLAGS) -Qunused-arguments
-*_CLANG35_ARM_DLINK_FLAGS = DEF(CLANG35_ARM_TARGET) DEF(GCC_ARM_DLINK_FLAGS)
-*_CLANG35_ARM_DLINK2_FLAGS = DEF(GCC_DLINK2_FLAGS_COMMON) -Wl,--defsym=PECOFF_HEADER_SIZE=0x220
-*_CLANG35_ARM_PLATFORM_FLAGS = -march=armv7-a -mkernel -Qunused-arguments
-*_CLANG35_ARM_PP_FLAGS = DEF(GCC_PP_FLAGS) DEF(CLANG35_ARM_TARGET) $(PLATFORM_FLAGS)
-*_CLANG35_ARM_RC_FLAGS = DEF(GCC_ARM_RC_FLAGS)
-*_CLANG35_ARM_VFRPP_FLAGS = DEF(GCC_VFRPP_FLAGS) DEF(CLANG35_ARM_TARGET) $(PLATFORM_FLAGS)
-*_CLANG35_ARM_ASLPP_FLAGS = DEF(GCC_ASLPP_FLAGS) DEF(CLANG35_ARM_TARGET)
-*_CLANG35_ARM_CC_XIPFLAGS = DEF(GCC_ARM_CC_XIPFLAGS)
-
- DEBUG_CLANG35_ARM_CC_FLAGS = DEF(CLANG35_ARM_CC_FLAGS) $(PLATFORM_FLAGS) -O1
-RELEASE_CLANG35_ARM_CC_FLAGS = DEF(CLANG35_ARM_CC_FLAGS) $(PLATFORM_FLAGS) -Oz
- NOOPT_CLANG35_ARM_CC_FLAGS = DEF(CLANG35_ARM_CC_FLAGS) $(PLATFORM_FLAGS) -O0
-
-##################
-# CLANG35 AARCH64 definitions
-##################
-*_CLANG35_AARCH64_SLINK_PATH = ENV(CLANG35_AARCH64_PREFIX)ar
-*_CLANG35_AARCH64_RC_PATH = ENV(CLANG35_AARCH64_PREFIX)objcopy
-
-*_CLANG35_AARCH64_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS)
-*_CLANG35_AARCH64_ASLDLINK_FLAGS = DEF(CLANG35_AARCH64_TARGET) DEF(GCC_AARCH64_ASLDLINK_FLAGS)
-*_CLANG35_AARCH64_ASM_FLAGS = DEF(GCC_ASM_FLAGS) DEF(CLANG35_AARCH64_TARGET) $(PLATFORM_FLAGS) -Qunused-arguments
-*_CLANG35_AARCH64_DLINK_FLAGS = DEF(CLANG35_AARCH64_TARGET) DEF(GCC_AARCH64_DLINK_FLAGS) -z common-page-size=0x1000
-*_CLANG35_AARCH64_DLINK_XIPFLAGS = -z common-page-size=0x20
-*_CLANG35_AARCH64_DLINK2_FLAGS = DEF(GCC_DLINK2_FLAGS_COMMON) -Wl,--defsym=PECOFF_HEADER_SIZE=0x228
-*_CLANG35_AARCH64_PLATFORM_FLAGS =
-*_CLANG35_AARCH64_PP_FLAGS = DEF(GCC_PP_FLAGS) DEF(CLANG35_AARCH64_TARGET) $(PLATFORM_FLAGS)
-*_CLANG35_AARCH64_RC_FLAGS = DEF(GCC_AARCH64_RC_FLAGS)
-*_CLANG35_AARCH64_VFRPP_FLAGS = DEF(GCC_VFRPP_FLAGS) DEF(CLANG35_AARCH64_TARGET) $(PLATFORM_FLAGS)
-*_CLANG35_AARCH64_ASLPP_FLAGS = DEF(GCC_ASLPP_FLAGS) DEF(CLANG35_AARCH64_TARGET)
-*_CLANG35_AARCH64_CC_XIPFLAGS = DEF(GCC_AARCH64_CC_XIPFLAGS)
-
- DEBUG_CLANG35_AARCH64_CC_FLAGS = DEF(CLANG35_AARCH64_CC_FLAGS) $(PLATFORM_FLAGS) -O1
-RELEASE_CLANG35_AARCH64_CC_FLAGS = DEF(CLANG35_AARCH64_CC_FLAGS) $(PLATFORM_FLAGS) -Oz
- NOOPT_CLANG35_AARCH64_CC_FLAGS = DEF(CLANG35_AARCH64_CC_FLAGS) $(PLATFORM_FLAGS) -O0
-
-####################################################################################
-#
-# Clang 3.8 - This configuration is used to compile under Linux to produce
-# PE/COFF binaries using LLVM/Clang 3.8 with Link Time Optimization enabled
-#
-####################################################################################
-*_CLANG38_*_*_FAMILY = GCC
-*_CLANG38_*_MAKE_PATH = make
-*_CLANG38_*_*_DLL = ENV(CLANG38_DLL)
-*_CLANG38_*_ASL_PATH = DEF(UNIX_IASL_BIN)
-
-*_CLANG38_*_APP_FLAGS =
-*_CLANG38_*_ASL_FLAGS = DEF(IASL_FLAGS)
-*_CLANG38_*_ASL_OUTFLAGS = DEF(IASL_OUTFLAGS)
-*_CLANG38_*_DEPS_FLAGS = DEF(GCC_DEPS_FLAGS)
-DEFINE CLANG38_IA32_PREFIX = ENV(CLANG38_BIN)
-DEFINE CLANG38_X64_PREFIX = ENV(CLANG38_BIN)
-
-DEFINE CLANG38_IA32_TARGET = -target i686-pc-linux-gnu
-DEFINE CLANG38_X64_TARGET = -target x86_64-pc-linux-gnu
-
-DEFINE CLANG38_WARNING_OVERRIDES = -Wno-parentheses-equality -Wno-tautological-compare -Wno-tautological-constant-out-of-range-compare -Wno-empty-body -Wno-unused-const-variable -Wno-varargs -Wno-unknown-warning-option -Wno-unused-but-set-variable -Wno-unused-const-variable -Wno-unaligned-access
-DEFINE CLANG38_ALL_CC_FLAGS = DEF(GCC48_ALL_CC_FLAGS) DEF(CLANG38_WARNING_OVERRIDES) -fno-stack-protector -mms-bitfields -Wno-address -Wno-shift-negative-value -Wno-unknown-pragmas -Wno-incompatible-library-redeclaration -fno-asynchronous-unwind-tables -mno-sse -mno-mmx -msoft-float -mno-implicit-float -ftrap-function=undefined_behavior_has_been_optimized_away_by_clang -funsigned-char -fno-ms-extensions -Wno-null-dereference
+DEFINE CLANGDWARF_WARNING_OVERRIDES = -Wno-parentheses-equality -Wno-tautological-compare -Wno-tautological-constant-out-of-range-compare -Wno-empty-body -Wno-unused-const-variable -Wno-varargs -Wno-unknown-warning-option -Wno-unused-but-set-variable -Wno-unused-const-variable -Wno-unaligned-access
+DEFINE CLANGDWARF_ALL_CC_FLAGS = DEF(GCC48_ALL_CC_FLAGS) DEF(CLANGDWARF_WARNING_OVERRIDES) -fno-stack-protector -mms-bitfields -Wno-address -Wno-shift-negative-value -Wno-unknown-pragmas -Wno-incompatible-library-redeclaration -fno-asynchronous-unwind-tables -mno-sse -mno-mmx -msoft-float -mno-implicit-float -ftrap-function=undefined_behavior_has_been_optimized_away_by_clang -funsigned-char -fno-ms-extensions -Wno-null-dereference
###########################
-# CLANG38 IA32 definitions
+# CLANGDWARF IA32 definitions
###########################
-*_CLANG38_IA32_OBJCOPY_PATH = objcopy
-*_CLANG38_IA32_CC_PATH = DEF(CLANG38_IA32_PREFIX)clang
-*_CLANG38_IA32_SLINK_PATH = DEF(CLANG38_IA32_PREFIX)llvm-ar
-*_CLANG38_IA32_DLINK_PATH = DEF(CLANG38_IA32_PREFIX)clang
-*_CLANG38_IA32_ASLDLINK_PATH = DEF(CLANG38_IA32_PREFIX)clang
-*_CLANG38_IA32_ASM_PATH = DEF(CLANG38_IA32_PREFIX)clang
-*_CLANG38_IA32_PP_PATH = DEF(CLANG38_IA32_PREFIX)clang
-*_CLANG38_IA32_VFRPP_PATH = DEF(CLANG38_IA32_PREFIX)clang
-*_CLANG38_IA32_ASLCC_PATH = DEF(CLANG38_IA32_PREFIX)clang
-*_CLANG38_IA32_ASLPP_PATH = DEF(CLANG38_IA32_PREFIX)clang
-*_CLANG38_IA32_RC_PATH = objcopy
-
-*_CLANG38_IA32_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) -m32 -fno-lto DEF(CLANG38_IA32_TARGET)
-*_CLANG38_IA32_ASLDLINK_FLAGS = DEF(GCC5_IA32_X64_ASLDLINK_FLAGS) -Wl,-m,elf_i386
-*_CLANG38_IA32_ASM_FLAGS = DEF(GCC5_ASM_FLAGS) -m32 -march=i386 DEF(CLANG38_IA32_TARGET)
-*_CLANG38_IA32_RC_FLAGS = DEF(GCC_IA32_RC_FLAGS)
-*_CLANG38_IA32_OBJCOPY_FLAGS =
-*_CLANG38_IA32_NASM_FLAGS = -f elf32
-*_CLANG38_IA32_PP_FLAGS = DEF(GCC_PP_FLAGS) DEF(CLANG38_IA32_TARGET)
-*_CLANG38_IA32_ASLPP_FLAGS = DEF(GCC_ASLPP_FLAGS) DEF(CLANG38_IA32_TARGET)
-*_CLANG38_IA32_VFRPP_FLAGS = DEF(GCC_VFRPP_FLAGS) DEF(CLANG38_IA32_TARGET)
-
-DEBUG_CLANG38_IA32_CC_FLAGS = DEF(CLANG38_ALL_CC_FLAGS) -m32 -Oz -flto -march=i586 DEF(CLANG38_IA32_TARGET) -g -malign-double
-DEBUG_CLANG38_IA32_DLINK_FLAGS = DEF(GCC5_IA32_X64_DLINK_FLAGS) -flto -Wl,-Oz -Wl,-melf_i386 -Wl,--oformat=elf32-i386
-DEBUG_CLANG38_IA32_DLINK2_FLAGS = DEF(GCC5_IA32_DLINK2_FLAGS) -O3
-
-RELEASE_CLANG38_IA32_CC_FLAGS = DEF(CLANG38_ALL_CC_FLAGS) -m32 -Oz -flto -march=i586 DEF(CLANG38_IA32_TARGET) -malign-double
-RELEASE_CLANG38_IA32_DLINK_FLAGS = DEF(GCC5_IA32_X64_DLINK_FLAGS) -flto -Wl,-Oz -Wl,-melf_i386 -Wl,--oformat=elf32-i386
-RELEASE_CLANG38_IA32_DLINK2_FLAGS = DEF(GCC5_IA32_DLINK2_FLAGS) -O3
-
-NOOPT_CLANG38_IA32_CC_FLAGS = DEF(CLANG38_ALL_CC_FLAGS) -m32 -O0 -march=i586 DEF(CLANG38_IA32_TARGET) -g -malign-double
-NOOPT_CLANG38_IA32_DLINK_FLAGS = DEF(GCC5_IA32_X64_DLINK_FLAGS) -Wl,-O0 -Wl,-melf_i386 -Wl,--oformat=elf32-i386
-NOOPT_CLANG38_IA32_DLINK2_FLAGS = DEF(GCC5_IA32_DLINK2_FLAGS) -O0
+*_CLANGDWARF_IA32_OBJCOPY_PATH = objcopy
+*_CLANGDWARF_IA32_CC_PATH = DEF(CLANGDWARF_IA32_PREFIX)clang
+*_CLANGDWARF_IA32_SLINK_PATH = DEF(CLANGDWARF_IA32_PREFIX)llvm-ar
+*_CLANGDWARF_IA32_DLINK_PATH = DEF(CLANGDWARF_IA32_PREFIX)clang
+*_CLANGDWARF_IA32_ASLDLINK_PATH = DEF(CLANGDWARF_IA32_PREFIX)clang
+*_CLANGDWARF_IA32_ASM_PATH = DEF(CLANGDWARF_IA32_PREFIX)clang
+*_CLANGDWARF_IA32_PP_PATH = DEF(CLANGDWARF_IA32_PREFIX)clang
+*_CLANGDWARF_IA32_VFRPP_PATH = DEF(CLANGDWARF_IA32_PREFIX)clang
+*_CLANGDWARF_IA32_ASLCC_PATH = DEF(CLANGDWARF_IA32_PREFIX)clang
+*_CLANGDWARF_IA32_ASLPP_PATH = DEF(CLANGDWARF_IA32_PREFIX)clang
+*_CLANGDWARF_IA32_RC_PATH = objcopy
+
+*_CLANGDWARF_IA32_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) -m32 -fno-lto DEF(CLANGDWARF_IA32_TARGET)
+*_CLANGDWARF_IA32_ASLDLINK_FLAGS = DEF(GCC5_IA32_X64_ASLDLINK_FLAGS) -Wl,-m,elf_i386
+*_CLANGDWARF_IA32_ASM_FLAGS = DEF(GCC5_ASM_FLAGS) -m32 -march=i386 DEF(CLANGDWARF_IA32_TARGET)
+*_CLANGDWARF_IA32_RC_FLAGS = DEF(GCC_IA32_RC_FLAGS)
+*_CLANGDWARF_IA32_OBJCOPY_FLAGS =
+*_CLANGDWARF_IA32_NASM_FLAGS = -f elf32
+*_CLANGDWARF_IA32_PP_FLAGS = DEF(GCC_PP_FLAGS) DEF(CLANGDWARF_IA32_TARGET)
+*_CLANGDWARF_IA32_ASLPP_FLAGS = DEF(GCC_ASLPP_FLAGS) DEF(CLANGDWARF_IA32_TARGET)
+*_CLANGDWARF_IA32_VFRPP_FLAGS = DEF(GCC_VFRPP_FLAGS) DEF(CLANGDWARF_IA32_TARGET)
+
+DEBUG_CLANGDWARF_IA32_CC_FLAGS = DEF(CLANGDWARF_ALL_CC_FLAGS) -m32 -Oz -flto -march=i586 DEF(CLANGDWARF_IA32_TARGET) -g -malign-double
+DEBUG_CLANGDWARF_IA32_DLINK_FLAGS = DEF(GCC5_IA32_X64_DLINK_FLAGS) -flto -Wl,-Oz -Wl,-melf_i386 -Wl,--oformat=elf32-i386
+DEBUG_CLANGDWARF_IA32_DLINK2_FLAGS = DEF(GCC5_IA32_DLINK2_FLAGS) -O3
+
+RELEASE_CLANGDWARF_IA32_CC_FLAGS = DEF(CLANGDWARF_ALL_CC_FLAGS) -m32 -Oz -flto -march=i586 DEF(CLANGDWARF_IA32_TARGET) -malign-double
+RELEASE_CLANGDWARF_IA32_DLINK_FLAGS = DEF(GCC5_IA32_X64_DLINK_FLAGS) -flto -Wl,-Oz -Wl,-melf_i386 -Wl,--oformat=elf32-i386
+RELEASE_CLANGDWARF_IA32_DLINK2_FLAGS = DEF(GCC5_IA32_DLINK2_FLAGS) -O3
+
+NOOPT_CLANGDWARF_IA32_CC_FLAGS = DEF(CLANGDWARF_ALL_CC_FLAGS) -m32 -O0 -march=i586 DEF(CLANGDWARF_IA32_TARGET) -g -malign-double
+NOOPT_CLANGDWARF_IA32_DLINK_FLAGS = DEF(GCC5_IA32_X64_DLINK_FLAGS) -Wl,-O0 -Wl,-melf_i386 -Wl,--oformat=elf32-i386
+NOOPT_CLANGDWARF_IA32_DLINK2_FLAGS = DEF(GCC5_IA32_DLINK2_FLAGS) -O0
##########################
-# CLANG38 X64 definitions
+# CLANGDWARF X64 definitions
##########################
-*_CLANG38_X64_OBJCOPY_PATH = objcopy
-*_CLANG38_X64_CC_PATH = DEF(CLANG38_X64_PREFIX)clang
-*_CLANG38_X64_SLINK_PATH = DEF(CLANG38_X64_PREFIX)llvm-ar
-*_CLANG38_X64_DLINK_PATH = DEF(CLANG38_X64_PREFIX)clang
-*_CLANG38_X64_ASLDLINK_PATH = DEF(CLANG38_X64_PREFIX)clang
-*_CLANG38_X64_ASM_PATH = DEF(CLANG38_X64_PREFIX)clang
-*_CLANG38_X64_PP_PATH = DEF(CLANG38_X64_PREFIX)clang
-*_CLANG38_X64_VFRPP_PATH = DEF(CLANG38_X64_PREFIX)clang
-*_CLANG38_X64_ASLCC_PATH = DEF(CLANG38_X64_PREFIX)clang
-*_CLANG38_X64_ASLPP_PATH = DEF(CLANG38_X64_PREFIX)clang
-*_CLANG38_X64_RC_PATH = objcopy
-
-*_CLANG38_X64_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) -m64 -fno-lto DEF(CLANG38_X64_TARGET)
-*_CLANG38_X64_ASLDLINK_FLAGS = DEF(GCC5_IA32_X64_ASLDLINK_FLAGS) -Wl,-m,elf_x86_64
-*_CLANG38_X64_ASM_FLAGS = DEF(GCC5_ASM_FLAGS) -m64 DEF(CLANG38_X64_TARGET)
-*_CLANG38_X64_RC_FLAGS = DEF(GCC_X64_RC_FLAGS)
-*_CLANG38_X64_OBJCOPY_FLAGS =
-*_CLANG38_X64_NASM_FLAGS = -f elf64
-*_CLANG38_X64_PP_FLAGS = DEF(GCC_PP_FLAGS) DEF(CLANG38_X64_TARGET)
-*_CLANG38_X64_ASLPP_FLAGS = DEF(GCC_ASLPP_FLAGS) DEF(CLANG38_X64_TARGET)
-*_CLANG38_X64_VFRPP_FLAGS = DEF(GCC_VFRPP_FLAGS) DEF(CLANG38_X64_TARGET)
-
-DEBUG_CLANG38_X64_CC_FLAGS = DEF(CLANG38_ALL_CC_FLAGS) -m64 "-DEFIAPI=__attribute__((ms_abi))" -mno-red-zone -mcmodel=small -fpie -Oz -flto DEF(CLANG38_X64_TARGET) -g
-DEBUG_CLANG38_X64_DLINK_FLAGS = DEF(GCC5_IA32_X64_DLINK_FLAGS) -flto -Wl,-Oz -Wl,-melf_x86_64 -Wl,--oformat=elf64-x86-64 -Wl,-pie -mcmodel=small
-DEBUG_CLANG38_X64_DLINK2_FLAGS = DEF(GCC5_X64_DLINK2_FLAGS) -O3
-
-RELEASE_CLANG38_X64_CC_FLAGS = DEF(CLANG38_ALL_CC_FLAGS) -m64 "-DEFIAPI=__attribute__((ms_abi))" -mno-red-zone -mcmodel=small -fpie -Oz -flto DEF(CLANG38_X64_TARGET)
-RELEASE_CLANG38_X64_DLINK_FLAGS = DEF(GCC5_IA32_X64_DLINK_FLAGS) -flto -Wl,-Oz -Wl,-melf_x86_64 -Wl,--oformat=elf64-x86-64 -Wl,-pie -mcmodel=small
-RELEASE_CLANG38_X64_DLINK2_FLAGS = DEF(GCC5_X64_DLINK2_FLAGS) -O3
-
-NOOPT_CLANG38_X64_CC_FLAGS = DEF(CLANG38_ALL_CC_FLAGS) -m64 "-DEFIAPI=__attribute__((ms_abi))" -mno-red-zone -mcmodel=small -fpie -O0 DEF(CLANG38_X64_TARGET) -g
-NOOPT_CLANG38_X64_DLINK_FLAGS = DEF(GCC5_IA32_X64_DLINK_FLAGS) -Wl,-O0 -Wl,-melf_x86_64 -Wl,--oformat=elf64-x86-64 -Wl,-pie -mcmodel=small
-NOOPT_CLANG38_X64_DLINK2_FLAGS = DEF(GCC5_X64_DLINK2_FLAGS) -O0
+*_CLANGDWARF_X64_OBJCOPY_PATH = objcopy
+*_CLANGDWARF_X64_CC_PATH = DEF(CLANGDWARF_X64_PREFIX)clang
+*_CLANGDWARF_X64_SLINK_PATH = DEF(CLANGDWARF_X64_PREFIX)llvm-ar
+*_CLANGDWARF_X64_DLINK_PATH = DEF(CLANGDWARF_X64_PREFIX)clang
+*_CLANGDWARF_X64_ASLDLINK_PATH = DEF(CLANGDWARF_X64_PREFIX)clang
+*_CLANGDWARF_X64_ASM_PATH = DEF(CLANGDWARF_X64_PREFIX)clang
+*_CLANGDWARF_X64_PP_PATH = DEF(CLANGDWARF_X64_PREFIX)clang
+*_CLANGDWARF_X64_VFRPP_PATH = DEF(CLANGDWARF_X64_PREFIX)clang
+*_CLANGDWARF_X64_ASLCC_PATH = DEF(CLANGDWARF_X64_PREFIX)clang
+*_CLANGDWARF_X64_ASLPP_PATH = DEF(CLANGDWARF_X64_PREFIX)clang
+*_CLANGDWARF_X64_RC_PATH = objcopy
+
+*_CLANGDWARF_X64_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) -m64 -fno-lto DEF(CLANGDWARF_X64_TARGET)
+*_CLANGDWARF_X64_ASLDLINK_FLAGS = DEF(GCC5_IA32_X64_ASLDLINK_FLAGS) -Wl,-m,elf_x86_64
+*_CLANGDWARF_X64_ASM_FLAGS = DEF(GCC5_ASM_FLAGS) -m64 DEF(CLANGDWARF_X64_TARGET)
+*_CLANGDWARF_X64_RC_FLAGS = DEF(GCC_X64_RC_FLAGS)
+*_CLANGDWARF_X64_OBJCOPY_FLAGS =
+*_CLANGDWARF_X64_NASM_FLAGS = -f elf64
+*_CLANGDWARF_X64_PP_FLAGS = DEF(GCC_PP_FLAGS) DEF(CLANGDWARF_X64_TARGET)
+*_CLANGDWARF_X64_ASLPP_FLAGS = DEF(GCC_ASLPP_FLAGS) DEF(CLANGDWARF_X64_TARGET)
+*_CLANGDWARF_X64_VFRPP_FLAGS = DEF(GCC_VFRPP_FLAGS) DEF(CLANGDWARF_X64_TARGET)
+
+DEBUG_CLANGDWARF_X64_CC_FLAGS = DEF(CLANGDWARF_ALL_CC_FLAGS) -m64 "-DEFIAPI=__attribute__((ms_abi))" -mno-red-zone -mcmodel=small -fpie -Oz -flto DEF(CLANGDWARF_X64_TARGET) -g
+DEBUG_CLANGDWARF_X64_DLINK_FLAGS = DEF(GCC5_IA32_X64_DLINK_FLAGS) -flto -Wl,-Oz -Wl,-melf_x86_64 -Wl,--oformat=elf64-x86-64 -Wl,-pie -mcmodel=small
+DEBUG_CLANGDWARF_X64_DLINK2_FLAGS = DEF(GCC5_X64_DLINK2_FLAGS) -O3
+
+RELEASE_CLANGDWARF_X64_CC_FLAGS = DEF(CLANGDWARF_ALL_CC_FLAGS) -m64 "-DEFIAPI=__attribute__((ms_abi))" -mno-red-zone -mcmodel=small -fpie -Oz -flto DEF(CLANGDWARF_X64_TARGET)
+RELEASE_CLANGDWARF_X64_DLINK_FLAGS = DEF(GCC5_IA32_X64_DLINK_FLAGS) -flto -Wl,-O3 -Wl,-melf_x86_64 -Wl,--oformat=elf64-x86-64 -Wl,-pie -mcmodel=small -fuse-ld=lld
+RELEASE_CLANGDWARF_X64_DLINK2_FLAGS = DEF(GCC5_X64_DLINK2_FLAGS) -O3 -fuse-ld=lld
+
+NOOPT_CLANGDWARF_X64_CC_FLAGS = DEF(CLANGDWARF_ALL_CC_FLAGS) -m64 "-DEFIAPI=__attribute__((ms_abi))" -mno-red-zone -mcmodel=small -fpie -O0 DEF(CLANGDWARF_X64_TARGET) -g
+NOOPT_CLANGDWARF_X64_DLINK_FLAGS = DEF(GCC5_IA32_X64_DLINK_FLAGS) -flto -Wl,-O0 -Wl,-melf_x86_64 -Wl,--oformat=elf64-x86-64 -Wl,-pie -mcmodel=small
+NOOPT_CLANGDWARF_X64_DLINK2_FLAGS = DEF(GCC5_X64_DLINK2_FLAGS) -O0
##################
-# CLANG38 ARM definitions
+# CLANGDWARF ARM definitions
##################
-DEFINE CLANG38_ARM_TARGET = -target arm-linux-gnueabi
-DEFINE CLANG38_ARM_CC_FLAGS = DEF(GCC_ARM_CC_FLAGS) DEF(CLANG38_ARM_TARGET) DEF(CLANG38_WARNING_OVERRIDES) -mno-movt
-DEFINE CLANG38_ARM_DLINK_FLAGS = DEF(CLANG38_ARM_TARGET) DEF(GCC_ARM_DLINK_FLAGS)
-
-*_CLANG38_ARM_PP_FLAGS = DEF(GCC_PP_FLAGS)
-*_CLANG38_ARM_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS)
-*_CLANG38_ARM_APP_FLAGS =
-*_CLANG38_ARM_ASL_FLAGS = DEF(IASL_FLAGS)
-*_CLANG38_ARM_ASL_OUTFLAGS = DEF(IASL_OUTFLAGS)
-*_CLANG38_ARM_DTCPP_FLAGS = DEF(GCC_DTCPP_FLAGS)
-
-*_CLANG38_ARM_CC_PATH = ENV(CLANG38_BIN)clang
-*_CLANG38_ARM_ASM_PATH = ENV(CLANG38_BIN)clang
-*_CLANG38_ARM_PP_PATH = ENV(CLANG38_BIN)clang
-*_CLANG38_ARM_VFRPP_PATH = ENV(CLANG38_BIN)clang
-*_CLANG38_ARM_ASLCC_PATH = ENV(CLANG38_BIN)clang
-*_CLANG38_ARM_ASLPP_PATH = ENV(CLANG38_BIN)clang
-*_CLANG38_ARM_DLINK_PATH = ENV(CLANG38_BIN)clang
-*_CLANG38_ARM_ASLDLINK_PATH = ENV(CLANG38_BIN)clang
-
-*_CLANG38_ARM_SLINK_PATH = ENV(CLANG38_BIN)llvm-ar
-*_CLANG38_ARM_RC_PATH = ENV(CLANG38_ARM_PREFIX)objcopy
-
-*_CLANG38_ARM_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) -fno-lto
-*_CLANG38_ARM_ASLDLINK_FLAGS = DEF(CLANG38_ARM_TARGET) DEF(GCC_ARM_ASLDLINK_FLAGS)
-*_CLANG38_ARM_ASM_FLAGS = DEF(GCC_ASM_FLAGS) DEF(CLANG38_ARM_TARGET) $(PLATFORM_FLAGS) -Qunused-arguments
-*_CLANG38_ARM_DLINK2_FLAGS = DEF(GCC_DLINK2_FLAGS_COMMON) -Wl,--defsym=PECOFF_HEADER_SIZE=0x220
-*_CLANG38_ARM_PLATFORM_FLAGS = -march=armv7-a
-*_CLANG38_ARM_PP_FLAGS = DEF(GCC_PP_FLAGS) DEF(CLANG38_ARM_TARGET) $(PLATFORM_FLAGS)
-*_CLANG38_ARM_RC_FLAGS = DEF(GCC_ARM_RC_FLAGS)
-*_CLANG38_ARM_VFRPP_FLAGS = DEF(GCC_VFRPP_FLAGS) DEF(CLANG38_ARM_TARGET) $(PLATFORM_FLAGS)
-*_CLANG38_ARM_ASLPP_FLAGS = DEF(GCC_ASLPP_FLAGS) DEF(CLANG38_ARM_TARGET)
-*_CLANG38_ARM_CC_XIPFLAGS = DEF(GCC_ARM_CC_XIPFLAGS)
-
- DEBUG_CLANG38_ARM_CC_FLAGS = DEF(CLANG38_ARM_CC_FLAGS) $(PLATFORM_FLAGS) -flto -O1
- DEBUG_CLANG38_ARM_DLINK_FLAGS = DEF(CLANG38_ARM_DLINK_FLAGS) -flto -Wl,-O1 -L$(WORKSPACE)/ArmPkg/Library/GccLto -llto-arm -Wl,-plugin-opt=-pass-through=-llto-arm
- NOOPT_CLANG38_ARM_CC_FLAGS = DEF(CLANG38_ARM_CC_FLAGS) $(PLATFORM_FLAGS) -O0
- NOOPT_CLANG38_ARM_DLINK_FLAGS = DEF(CLANG38_ARM_DLINK_FLAGS)
-RELEASE_CLANG38_ARM_CC_FLAGS = DEF(CLANG38_ARM_CC_FLAGS) $(PLATFORM_FLAGS) -flto -O3
-RELEASE_CLANG38_ARM_DLINK_FLAGS = DEF(CLANG38_ARM_DLINK_FLAGS) -flto -Wl,-O3 -L$(WORKSPACE)/ArmPkg/Library/GccLto -llto-arm -Wl,-plugin-opt=-pass-through=-llto-arm
+DEFINE CLANGDWARF_ARM_TARGET = -target arm-linux-gnueabi
+DEFINE CLANGDWARF_ARM_CC_FLAGS = $(PLATFORM_FLAGS) DEF(GCC_ALL_CC_FLAGS) -mlittle-endian -mabi=aapcs -fno-short-enums -funsigned-char -fomit-frame-pointer -Wno-address -mthumb -fno-pic -fno-pie DEF(CLANGDWARF_ARM_TARGET) DEF(CLANGDWARF_WARNING_OVERRIDES) -mno-movt
+DEFINE CLANGDWARF_ARM_DLINK_FLAGS = DEF(CLANGDWARF_ARM_TARGET) DEF(GCC_ARM_DLINK_FLAGS)
+
+*_CLANGDWARF_ARM_PP_FLAGS = DEF(GCC_PP_FLAGS)
+*_CLANGDWARF_ARM_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS)
+*_CLANGDWARF_ARM_APP_FLAGS =
+*_CLANGDWARF_ARM_ASL_FLAGS = DEF(IASL_FLAGS)
+*_CLANGDWARF_ARM_ASL_OUTFLAGS = DEF(IASL_OUTFLAGS)
+*_CLANGDWARF_ARM_DTCPP_FLAGS = DEF(GCC_DTCPP_FLAGS)
+
+*_CLANGDWARF_ARM_CC_PATH = ENV(CLANGDWARF_BIN)clang
+*_CLANGDWARF_ARM_ASM_PATH = ENV(CLANGDWARF_BIN)clang
+*_CLANGDWARF_ARM_PP_PATH = ENV(CLANGDWARF_BIN)clang
+*_CLANGDWARF_ARM_VFRPP_PATH = ENV(CLANGDWARF_BIN)clang
+*_CLANGDWARF_ARM_ASLCC_PATH = ENV(CLANGDWARF_BIN)clang
+*_CLANGDWARF_ARM_ASLPP_PATH = ENV(CLANGDWARF_BIN)clang
+*_CLANGDWARF_ARM_DLINK_PATH = ENV(CLANGDWARF_BIN)clang
+*_CLANGDWARF_ARM_ASLDLINK_PATH = ENV(CLANGDWARF_BIN)clang
+
+*_CLANGDWARF_ARM_SLINK_PATH = ENV(CLANGDWARF_BIN)llvm-ar
+*_CLANGDWARF_ARM_RC_PATH = ENV(CLANGDWARF_ARM_PREFIX)objcopy
+
+*_CLANGDWARF_ARM_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) -fno-lto
+*_CLANGDWARF_ARM_ASLDLINK_FLAGS = DEF(CLANGDWARF_ARM_TARGET) DEF(GCC_ARM_ASLDLINK_FLAGS)
+*_CLANGDWARF_ARM_ASM_FLAGS = DEF(GCC_ASM_FLAGS) DEF(CLANGDWARF_ARM_TARGET) $(PLATFORM_FLAGS) -Qunused-arguments
+*_CLANGDWARF_ARM_DLINK2_FLAGS = DEF(GCC_DLINK2_FLAGS_COMMON) -Wl,--defsym=PECOFF_HEADER_SIZE=0x220
+*_CLANGDWARF_ARM_PLATFORM_FLAGS = -march=armv7-a
+*_CLANGDWARF_ARM_PP_FLAGS = DEF(GCC_PP_FLAGS) DEF(CLANGDWARF_ARM_TARGET) $(PLATFORM_FLAGS)
+*_CLANGDWARF_ARM_RC_FLAGS = DEF(GCC_ARM_RC_FLAGS)
+*_CLANGDWARF_ARM_VFRPP_FLAGS = DEF(GCC_VFRPP_FLAGS) DEF(CLANGDWARF_ARM_TARGET) $(PLATFORM_FLAGS)
+*_CLANGDWARF_ARM_ASLPP_FLAGS = DEF(GCC_ASLPP_FLAGS) DEF(CLANGDWARF_ARM_TARGET)
+*_CLANGDWARF_ARM_CC_XIPFLAGS = DEF(GCC_ARM_CC_XIPFLAGS)
+
+ DEBUG_CLANGDWARF_ARM_CC_FLAGS = DEF(CLANGDWARF_ARM_CC_FLAGS) $(PLATFORM_FLAGS) -flto -O1
+ DEBUG_CLANGDWARF_ARM_DLINK_FLAGS = DEF(CLANGDWARF_ARM_DLINK_FLAGS) -flto -Wl,-O1 -L$(WORKSPACE)/ArmPkg/Library/GccLto -llto-arm -Wl,-plugin-opt=-pass-through=-llto-arm
+ NOOPT_CLANGDWARF_ARM_CC_FLAGS = DEF(CLANGDWARF_ARM_CC_FLAGS) $(PLATFORM_FLAGS) -O0
+ NOOPT_CLANGDWARF_ARM_DLINK_FLAGS = DEF(CLANGDWARF_ARM_DLINK_FLAGS)
+RELEASE_CLANGDWARF_ARM_CC_FLAGS = DEF(CLANGDWARF_ARM_CC_FLAGS) $(PLATFORM_FLAGS) -flto -O3
+RELEASE_CLANGDWARF_ARM_DLINK_FLAGS = DEF(CLANGDWARF_ARM_DLINK_FLAGS) -flto -Wl,-O3 -L$(WORKSPACE)/ArmPkg/Library/GccLto -llto-arm -Wl,-plugin-opt=-pass-through=-llto-arm
##################
-# CLANG38 AARCH64 definitions
+# CLANGDWARF AARCH64 definitions
##################
-DEFINE CLANG38_AARCH64_TARGET = -target aarch64-linux-gnu
-DEFINE CLANG38_AARCH64_CC_FLAGS = DEF(GCC_AARCH64_CC_FLAGS) DEF(CLANG38_AARCH64_TARGET) -mcmodel=small DEF(CLANG38_WARNING_OVERRIDES)
-DEFINE CLANG38_AARCH64_DLINK_FLAGS = DEF(CLANG38_AARCH64_TARGET) DEF(GCC_AARCH64_DLINK_FLAGS) -z common-page-size=0x1000
-
-*_CLANG38_AARCH64_PP_FLAGS = DEF(GCC_PP_FLAGS)
-*_CLANG38_AARCH64_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS)
-*_CLANG38_AARCH64_APP_FLAGS =
-*_CLANG38_AARCH64_ASL_FLAGS = DEF(IASL_FLAGS)
-*_CLANG38_AARCH64_ASL_OUTFLAGS = DEF(IASL_OUTFLAGS)
-*_CLANG38_AARCH64_DTCPP_FLAGS = DEF(GCC_DTCPP_FLAGS)
-
-*_CLANG38_AARCH64_CC_PATH = ENV(CLANG38_BIN)clang
-*_CLANG38_AARCH64_ASM_PATH = ENV(CLANG38_BIN)clang
-*_CLANG38_AARCH64_PP_PATH = ENV(CLANG38_BIN)clang
-*_CLANG38_AARCH64_VFRPP_PATH = ENV(CLANG38_BIN)clang
-*_CLANG38_AARCH64_ASLCC_PATH = ENV(CLANG38_BIN)clang
-*_CLANG38_AARCH64_ASLPP_PATH = ENV(CLANG38_BIN)clang
-*_CLANG38_AARCH64_DLINK_PATH = ENV(CLANG38_BIN)clang
-*_CLANG38_AARCH64_ASLDLINK_PATH = ENV(CLANG38_BIN)clang
-
-*_CLANG38_AARCH64_SLINK_PATH = ENV(CLANG38_BIN)llvm-ar
-*_CLANG38_AARCH64_RC_PATH = ENV(CLANG38_AARCH64_PREFIX)objcopy
-
-*_CLANG38_AARCH64_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) -fno-lto
-*_CLANG38_AARCH64_ASLDLINK_FLAGS = DEF(CLANG38_AARCH64_TARGET) DEF(GCC_AARCH64_ASLDLINK_FLAGS)
-*_CLANG38_AARCH64_ASM_FLAGS = DEF(GCC_ASM_FLAGS) DEF(CLANG38_AARCH64_TARGET) $(PLATFORM_FLAGS) -Qunused-arguments
-*_CLANG38_AARCH64_DLINK_FLAGS = DEF(CLANG38_AARCH64_TARGET) DEF(GCC_AARCH64_DLINK_FLAGS) -z common-page-size=0x1000
-*_CLANG38_AARCH64_DLINK_XIPFLAGS = -z common-page-size=0x20
-*_CLANG38_AARCH64_DLINK2_FLAGS = DEF(GCC_DLINK2_FLAGS_COMMON) -Wl,--defsym=PECOFF_HEADER_SIZE=0x228
-*_CLANG38_AARCH64_PLATFORM_FLAGS =
-*_CLANG38_AARCH64_PP_FLAGS = DEF(GCC_PP_FLAGS) DEF(CLANG38_AARCH64_TARGET) $(PLATFORM_FLAGS)
-*_CLANG38_AARCH64_RC_FLAGS = DEF(GCC_AARCH64_RC_FLAGS) DEF(GCC_AARCH64_RC_BTI_FLAGS)
-*_CLANG38_AARCH64_VFRPP_FLAGS = DEF(GCC_VFRPP_FLAGS) DEF(CLANG38_AARCH64_TARGET) $(PLATFORM_FLAGS)
-*_CLANG38_AARCH64_ASLPP_FLAGS = DEF(GCC_ASLPP_FLAGS) DEF(CLANG38_AARCH64_TARGET)
-*_CLANG38_AARCH64_CC_XIPFLAGS = DEF(GCC_AARCH64_CC_XIPFLAGS)
-
- DEBUG_CLANG38_AARCH64_CC_FLAGS = DEF(CLANG38_AARCH64_CC_FLAGS) $(PLATFORM_FLAGS) -flto -O1
- DEBUG_CLANG38_AARCH64_DLINK_FLAGS = DEF(CLANG38_AARCH64_DLINK_FLAGS) -flto -Wl,-O1 -L$(WORKSPACE)/ArmPkg/Library/GccLto -llto-aarch64 -Wl,-plugin-opt=-pass-through=-llto-aarch64
- NOOPT_CLANG38_AARCH64_CC_FLAGS = DEF(CLANG38_AARCH64_CC_FLAGS) $(PLATFORM_FLAGS) -O0
- NOOPT_CLANG38_AARCH64_DLINK_FLAGS = DEF(CLANG38_AARCH64_DLINK_FLAGS)
-RELEASE_CLANG38_AARCH64_CC_FLAGS = DEF(CLANG38_AARCH64_CC_FLAGS) $(PLATFORM_FLAGS) -flto -O3
-RELEASE_CLANG38_AARCH64_DLINK_FLAGS = DEF(CLANG38_AARCH64_DLINK_FLAGS) -flto -Wl,-O3 -L$(WORKSPACE)/ArmPkg/Library/GccLto -llto-aarch64 -Wl,-plugin-opt=-pass-through=-llto-aarch64
+DEFINE CLANGDWARF_AARCH64_TARGET = -target aarch64-linux-gnu
+DEFINE CLANGDWARF_AARCH64_CC_FLAGS = DEF(GCC_AARCH64_CC_FLAGS) DEF(CLANGDWARF_AARCH64_TARGET) -mcmodel=small DEF(CLANGDWARF_WARNING_OVERRIDES)
+DEFINE CLANGDWARF_AARCH64_DLINK_FLAGS = DEF(CLANGDWARF_AARCH64_TARGET) DEF(GCC_AARCH64_DLINK_FLAGS) -z common-page-size=0x1000
+
+*_CLANGDWARF_AARCH64_PP_FLAGS = DEF(GCC_PP_FLAGS)
+*_CLANGDWARF_AARCH64_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS)
+*_CLANGDWARF_AARCH64_APP_FLAGS =
+*_CLANGDWARF_AARCH64_ASL_FLAGS = DEF(IASL_FLAGS)
+*_CLANGDWARF_AARCH64_ASL_OUTFLAGS = DEF(IASL_OUTFLAGS)
+*_CLANGDWARF_AARCH64_DTCPP_FLAGS = DEF(GCC_DTCPP_FLAGS)
+
+*_CLANGDWARF_AARCH64_CC_PATH = ENV(CLANGDWARF_BIN)clang
+*_CLANGDWARF_AARCH64_ASM_PATH = ENV(CLANGDWARF_BIN)clang
+*_CLANGDWARF_AARCH64_PP_PATH = ENV(CLANGDWARF_BIN)clang
+*_CLANGDWARF_AARCH64_VFRPP_PATH = ENV(CLANGDWARF_BIN)clang
+*_CLANGDWARF_AARCH64_ASLCC_PATH = ENV(CLANGDWARF_BIN)clang
+*_CLANGDWARF_AARCH64_ASLPP_PATH = ENV(CLANGDWARF_BIN)clang
+*_CLANGDWARF_AARCH64_DLINK_PATH = ENV(CLANGDWARF_BIN)clang
+*_CLANGDWARF_AARCH64_ASLDLINK_PATH = ENV(CLANGDWARF_BIN)clang
+
+*_CLANGDWARF_AARCH64_SLINK_PATH = ENV(CLANGDWARF_BIN)llvm-ar
+*_CLANGDWARF_AARCH64_RC_PATH = ENV(CLANGDWARF_AARCH64_PREFIX)objcopy
+
+*_CLANGDWARF_AARCH64_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) -fno-lto
+*_CLANGDWARF_AARCH64_ASLDLINK_FLAGS = DEF(CLANGDWARF_AARCH64_TARGET) DEF(GCC_AARCH64_ASLDLINK_FLAGS)
+*_CLANGDWARF_AARCH64_ASM_FLAGS = DEF(GCC_ASM_FLAGS) DEF(CLANGDWARF_AARCH64_TARGET) $(PLATFORM_FLAGS) -Qunused-arguments
+*_CLANGDWARF_AARCH64_DLINK_FLAGS = DEF(CLANGDWARF_AARCH64_TARGET) DEF(GCC_AARCH64_DLINK_FLAGS) -z common-page-size=0x1000
+*_CLANGDWARF_AARCH64_DLINK_XIPFLAGS = -z common-page-size=0x20
+*_CLANGDWARF_AARCH64_DLINK2_FLAGS = DEF(GCC_DLINK2_FLAGS_COMMON) -Wl,--defsym=PECOFF_HEADER_SIZE=0x228
+*_CLANGDWARF_AARCH64_PLATFORM_FLAGS =
+*_CLANGDWARF_AARCH64_PP_FLAGS = DEF(GCC_PP_FLAGS) DEF(CLANGDWARF_AARCH64_TARGET) $(PLATFORM_FLAGS)
+*_CLANGDWARF_AARCH64_RC_FLAGS = DEF(GCC_AARCH64_RC_FLAGS) DEF(GCC_AARCH64_RC_BTI_FLAGS)
+*_CLANGDWARF_AARCH64_VFRPP_FLAGS = DEF(GCC_VFRPP_FLAGS) DEF(CLANGDWARF_AARCH64_TARGET) $(PLATFORM_FLAGS)
+*_CLANGDWARF_AARCH64_ASLPP_FLAGS = DEF(GCC_ASLPP_FLAGS) DEF(CLANGDWARF_AARCH64_TARGET)
+*_CLANGDWARF_AARCH64_CC_XIPFLAGS = DEF(GCC_AARCH64_CC_XIPFLAGS)
+
+ DEBUG_CLANGDWARF_AARCH64_CC_FLAGS = DEF(CLANGDWARF_AARCH64_CC_FLAGS) $(PLATFORM_FLAGS) -flto -O1
+ DEBUG_CLANGDWARF_AARCH64_DLINK_FLAGS = DEF(CLANGDWARF_AARCH64_DLINK_FLAGS) -flto -Wl,-O1 -fuse-ld=lld -L$(WORKSPACE)/ArmPkg/Library/GccLto -llto-aarch64 -Wl,-plugin-opt=-pass-through=-llto-aarch64 -Wl,--no-pie,--no-relax
+ NOOPT_CLANGDWARF_AARCH64_CC_FLAGS = DEF(CLANGDWARF_AARCH64_CC_FLAGS) $(PLATFORM_FLAGS) -O0
+ NOOPT_CLANGDWARF_AARCH64_DLINK_FLAGS = DEF(CLANGDWARF_AARCH64_DLINK_FLAGS) -fuse-ld=lld -Wl,--no-pie,--no-relax
+RELEASE_CLANGDWARF_AARCH64_CC_FLAGS = DEF(CLANGDWARF_AARCH64_CC_FLAGS) $(PLATFORM_FLAGS) -flto -O3
+RELEASE_CLANGDWARF_AARCH64_DLINK_FLAGS = DEF(CLANGDWARF_AARCH64_DLINK_FLAGS) -flto -Wl,-O3 -fuse-ld=lld -L$(WORKSPACE)/ArmPkg/Library/GccLto -llto-aarch64 -Wl,-plugin-opt=-pass-through=-llto-aarch64 -Wl,--no-pie,--no-relax
####################################################################################
#
@@ -2888,25 +2795,25 @@ DEFINE CLANGDWARF_X64_DLINK2_FLAGS = -Wl,--defsym=PECOFF_HEADER_SIZE=0x22
*_CLANGDWARF_IA32_ASLPP_PATH = DEF(CLANGDWARF_IA32_PREFIX)clang
*_CLANGDWARF_IA32_RC_PATH = DEF(CLANGDWARF_IA32_PREFIX)llvm-rc
-*_CLANGDWARF_IA32_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) -m32 -fno-lto DEF(CLANG38_IA32_TARGET)
+*_CLANGDWARF_IA32_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) -m32 -fno-lto DEF(CLANGDWARF_IA32_TARGET)
*_CLANGDWARF_IA32_ASLDLINK_FLAGS = DEF(CLANGDWARF_IA32_X64_ASLDLINK_FLAGS) -Wl,-m,elf_i386 -fuse-ld=lld -no-pie
-*_CLANGDWARF_IA32_ASM_FLAGS = DEF(GCC5_ASM_FLAGS) -m32 -march=i386 DEF(CLANG38_IA32_TARGET)
+*_CLANGDWARF_IA32_ASM_FLAGS = DEF(GCC5_ASM_FLAGS) -m32 -march=i386 DEF(CLANGDWARF_IA32_TARGET)
*_CLANGDWARF_IA32_RC_FLAGS = DEF(GCC_IA32_RC_FLAGS)
*_CLANGDWARF_IA32_OBJCOPY_FLAGS =
*_CLANGDWARF_IA32_NASM_FLAGS = -f elf32
-*_CLANGDWARF_IA32_PP_FLAGS = DEF(GCC_PP_FLAGS) DEF(CLANG38_IA32_TARGET)
-*_CLANGDWARF_IA32_ASLPP_FLAGS = DEF(GCC_ASLPP_FLAGS) DEF(CLANG38_IA32_TARGET)
-*_CLANGDWARF_IA32_VFRPP_FLAGS = DEF(GCC_VFRPP_FLAGS) DEF(CLANG38_IA32_TARGET)
+*_CLANGDWARF_IA32_PP_FLAGS = DEF(GCC_PP_FLAGS) DEF(CLANGDWARF_IA32_TARGET)
+*_CLANGDWARF_IA32_ASLPP_FLAGS = DEF(GCC_ASLPP_FLAGS) DEF(CLANGDWARF_IA32_TARGET)
+*_CLANGDWARF_IA32_VFRPP_FLAGS = DEF(GCC_VFRPP_FLAGS) DEF(CLANGDWARF_IA32_TARGET)
-DEBUG_CLANGDWARF_IA32_CC_FLAGS = DEF(CLANG38_ALL_CC_FLAGS) -fno-pic -fno-pie -m32 -Oz -flto -march=i586 DEF(CLANG38_IA32_TARGET) -g -malign-double
+DEBUG_CLANGDWARF_IA32_CC_FLAGS = DEF(CLANGDWARF_ALL_CC_FLAGS) -fno-pic -fno-pie -m32 -Oz -flto -march=i586 DEF(CLANGDWARF_IA32_TARGET) -g -malign-double
DEBUG_CLANGDWARF_IA32_DLINK_FLAGS = DEF(CLANGDWARF_IA32_X64_DLINK_FLAGS) -flto -Wl,-O3 -Wl,-melf_i386 -Wl,--oformat,elf32-i386
DEBUG_CLANGDWARF_IA32_DLINK2_FLAGS = DEF(CLANGDWARF_IA32_DLINK2_FLAGS) -O3 -fuse-ld=lld -no-pie
-RELEASE_CLANGDWARF_IA32_CC_FLAGS = DEF(CLANG38_ALL_CC_FLAGS) -fno-pic -fno-pie -m32 -Oz -flto -march=i586 DEF(CLANG38_IA32_TARGET) -malign-double
+RELEASE_CLANGDWARF_IA32_CC_FLAGS = DEF(CLANGDWARF_ALL_CC_FLAGS) -fno-pic -fno-pie -m32 -Oz -flto -march=i586 DEF(CLANGDWARF_IA32_TARGET) -malign-double
RELEASE_CLANGDWARF_IA32_DLINK_FLAGS = DEF(CLANGDWARF_IA32_X64_DLINK_FLAGS) -flto -Wl,-O3 -Wl,-melf_i386 -Wl,--oformat,elf32-i386
RELEASE_CLANGDWARF_IA32_DLINK2_FLAGS = DEF(CLANGDWARF_IA32_DLINK2_FLAGS) -O3 -fuse-ld=lld -no-pie
-NOOPT_CLANGDWARF_IA32_CC_FLAGS = DEF(CLANG38_ALL_CC_FLAGS) -fno-pic -fno-pie -m32 -O0 -march=i586 DEF(CLANG38_IA32_TARGET) -g -malign-double
+NOOPT_CLANGDWARF_IA32_CC_FLAGS = DEF(CLANGDWARF_ALL_CC_FLAGS) -fno-pic -fno-pie -m32 -O0 -march=i586 DEF(CLANGDWARF_IA32_TARGET) -g -malign-double
NOOPT_CLANGDWARF_IA32_DLINK_FLAGS = DEF(CLANGDWARF_IA32_X64_DLINK_FLAGS) -Wl,-O0 -Wl,-melf_i386 -Wl,--oformat,elf32-i386
NOOPT_CLANGDWARF_IA32_DLINK2_FLAGS = DEF(CLANGDWARF_IA32_DLINK2_FLAGS) -O0 -fuse-ld=lld -no-pie
@@ -2924,25 +2831,25 @@ NOOPT_CLANGDWARF_IA32_DLINK2_FLAGS = DEF(CLANGDWARF_IA32_DLINK2_FLAGS) -O0 -
*_CLANGDWARF_X64_ASLPP_PATH = DEF(CLANGDWARF_X64_PREFIX)clang
*_CLANGDWARF_X64_RC_PATH = DEF(CLANGDWARF_X64_PREFIX)llvm-rc
-*_CLANGDWARF_X64_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) -m64 -fno-lto DEF(CLANG38_X64_TARGET)
+*_CLANGDWARF_X64_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) -m64 -fno-lto DEF(CLANGDWARF_X64_TARGET)
*_CLANGDWARF_X64_ASLDLINK_FLAGS = DEF(CLANGDWARF_IA32_X64_ASLDLINK_FLAGS) -Wl,-m,elf_x86_64 -fuse-ld=lld
-*_CLANGDWARF_X64_ASM_FLAGS = DEF(GCC5_ASM_FLAGS) -m64 DEF(CLANG38_X64_TARGET)
+*_CLANGDWARF_X64_ASM_FLAGS = DEF(GCC5_ASM_FLAGS) -m64 DEF(CLANGDWARF_X64_TARGET)
*_CLANGDWARF_X64_RC_FLAGS = DEF(GCC_X64_RC_FLAGS)
*_CLANGDWARF_X64_OBJCOPY_FLAGS =
*_CLANGDWARF_X64_NASM_FLAGS = -f elf64
-*_CLANGDWARF_X64_PP_FLAGS = DEF(GCC_PP_FLAGS) DEF(CLANG38_X64_TARGET)
-*_CLANGDWARF_X64_ASLPP_FLAGS = DEF(GCC_ASLPP_FLAGS) DEF(CLANG38_X64_TARGET)
-*_CLANGDWARF_X64_VFRPP_FLAGS = DEF(GCC_VFRPP_FLAGS) DEF(CLANG38_X64_TARGET)
+*_CLANGDWARF_X64_PP_FLAGS = DEF(GCC_PP_FLAGS) DEF(CLANGDWARF_X64_TARGET)
+*_CLANGDWARF_X64_ASLPP_FLAGS = DEF(GCC_ASLPP_FLAGS) DEF(CLANGDWARF_X64_TARGET)
+*_CLANGDWARF_X64_VFRPP_FLAGS = DEF(GCC_VFRPP_FLAGS) DEF(CLANGDWARF_X64_TARGET)
-DEBUG_CLANGDWARF_X64_CC_FLAGS = DEF(CLANG38_ALL_CC_FLAGS) -m64 "-DEFIAPI=__attribute__((ms_abi))" -mno-red-zone -mcmodel=small -fpie -Oz -flto DEF(CLANG38_X64_TARGET) -g
+DEBUG_CLANGDWARF_X64_CC_FLAGS = DEF(CLANGDWARF_ALL_CC_FLAGS) -m64 "-DEFIAPI=__attribute__((ms_abi))" -mno-red-zone -mcmodel=small -fpie -Oz -flto DEF(CLANGDWARF_X64_TARGET) -g
DEBUG_CLANGDWARF_X64_DLINK_FLAGS = DEF(CLANGDWARF_IA32_X64_DLINK_FLAGS) -flto -Wl,-O3 -Wl,-melf_x86_64 -Wl,--oformat,elf64-x86-64 -Wl,-pie -mcmodel=small -Wl,--apply-dynamic-relocs
DEBUG_CLANGDWARF_X64_DLINK2_FLAGS = DEF(CLANGDWARF_X64_DLINK2_FLAGS) -O3 -fuse-ld=lld
-RELEASE_CLANGDWARF_X64_CC_FLAGS = DEF(CLANG38_ALL_CC_FLAGS) -m64 "-DEFIAPI=__attribute__((ms_abi))" -mno-red-zone -mcmodel=small -fpie -Oz -flto DEF(CLANG38_X64_TARGET)
+RELEASE_CLANGDWARF_X64_CC_FLAGS = DEF(CLANGDWARF_ALL_CC_FLAGS) -m64 "-DEFIAPI=__attribute__((ms_abi))" -mno-red-zone -mcmodel=small -fpie -Oz -flto DEF(CLANGDWARF_X64_TARGET)
RELEASE_CLANGDWARF_X64_DLINK_FLAGS = DEF(CLANGDWARF_IA32_X64_DLINK_FLAGS) -flto -Wl,-O3 -Wl,-melf_x86_64 -Wl,--oformat,elf64-x86-64 -Wl,-pie -mcmodel=small -Wl,--apply-dynamic-relocs
RELEASE_CLANGDWARF_X64_DLINK2_FLAGS = DEF(CLANGDWARF_X64_DLINK2_FLAGS) -O3 -fuse-ld=lld
-NOOPT_CLANGDWARF_X64_CC_FLAGS = DEF(CLANG38_ALL_CC_FLAGS) -m64 "-DEFIAPI=__attribute__((ms_abi))" -mno-red-zone -mcmodel=small -fpie -O0 DEF(CLANG38_X64_TARGET) -g
+NOOPT_CLANGDWARF_X64_CC_FLAGS = DEF(CLANGDWARF_ALL_CC_FLAGS) -m64 "-DEFIAPI=__attribute__((ms_abi))" -mno-red-zone -mcmodel=small -fpie -O0 DEF(CLANGDWARF_X64_TARGET) -g
NOOPT_CLANGDWARF_X64_DLINK_FLAGS = DEF(CLANGDWARF_IA32_X64_DLINK_FLAGS) -Wl,-O0 -Wl,-melf_x86_64 -Wl,--oformat,elf64-x86-64 -Wl,-pie -mcmodel=small -Wl,--apply-dynamic-relocs
NOOPT_CLANGDWARF_X64_DLINK2_FLAGS = DEF(CLANGDWARF_X64_DLINK2_FLAGS) -O0 -fuse-ld=lld
--
2.37.2
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH v3 02/13] BaseTools: Remove VS2008, 2010, 2012 and 2013 toolchain definitions
2023-04-16 17:05 [PATCH v3 00/13] BaseTools,CryptoPkg,EmulatorPkg,MdePkg,others: Delete CLANG35,CLANG38,VS2008-2013,EBC, deprecate GCC48,GCC49,GCC5, add GCC and GCCNOLTO, update CLANGDWARF Rebecca Cran
2023-04-16 17:05 ` [PATCH v3 01/13] BaseTools,CryptoPkg: Update CLANGDWARF, remove CLANG 35/38 toolchains Rebecca Cran
@ 2023-04-16 17:05 ` Rebecca Cran
2023-04-16 17:05 ` [PATCH v3 03/13] BaseTools: Remove VS2008-VS2013 remnants Rebecca Cran
` (11 subsequent siblings)
13 siblings, 0 replies; 17+ messages in thread
From: Rebecca Cran @ 2023-04-16 17:05 UTC (permalink / raw)
To: devel, Liming Gao, Bob Feng, Yuwei Chen, Michael D Kinney,
Michael Kubacki, Sean Brogan, Chasel Chiu, Nate DeSimone,
Star Zeng, Andrew Fish, Ray Ni, Leif Lindholm, Zhiguang Liu,
Jian J Wang, Xiaoyu Lu, Guomin Jiang, Gua Guo, Ard Biesheuvel,
Pedro Falcato, Gerd Hoffmann, Marvin Häuser
Cc: Rebecca Cran, Oliver Smith-Denny
With recent changes, Visual Studio versions older than VS2015 are
unable to build EDK2 code.
To avoid confusion, remove VS2008, 2010, 2012 and 2013 toolchain
definitions from Conf/tools_def.template, leaving only versions that can
be used to successfully build firmware.
Signed-off-by: Rebecca Cran <rebecca@bsdio.com>
Reviewed-by: Oliver Smith-Denny <osd@smith-denny.com>
---
BaseTools/Conf/tools_def.template | 1005 --------------------
1 file changed, 1005 deletions(-)
diff --git a/BaseTools/Conf/tools_def.template b/BaseTools/Conf/tools_def.template
index b9788662b4cd..006d03745809 100755
--- a/BaseTools/Conf/tools_def.template
+++ b/BaseTools/Conf/tools_def.template
@@ -21,42 +21,6 @@
IDENTIFIER = Default TOOL_CHAIN_CONF
# common path macros
-DEFINE VS2008_BIN = ENV(VS2008_PREFIX)Vc\bin
-DEFINE VS2008_DLL = ENV(VS2008_PREFIX)Common7\IDE;DEF(VS2008_BIN)
-DEFINE VS2008_BINX64 = DEF(VS2008_BIN)\x86_amd64
-DEFINE VS2008_BIN64 = DEF(VS2008_BIN)\x86_ia64
-
-DEFINE VS2008x86_BIN = ENV(VS2008_PREFIX)Vc\bin
-DEFINE VS2008x86_DLL = ENV(VS2008_PREFIX)Common7\IDE;DEF(VS2008x86_BIN)
-DEFINE VS2008x86_BINX64 = DEF(VS2008x86_BIN)\x86_amd64
-DEFINE VS2008x86_BIN64 = DEF(VS2008x86_BIN)\x86_ia64
-
-DEFINE VS2010_BIN = ENV(VS2010_PREFIX)Vc\bin
-DEFINE VS2010_DLL = ENV(VS2010_PREFIX)Common7\IDE;DEF(VS2010_BIN)
-DEFINE VS2010_BINX64 = DEF(VS2010_BIN)\x86_amd64
-DEFINE VS2010_BIN64 = DEF(VS2010_BIN)\x86_ia64
-
-DEFINE VS2010x86_BIN = ENV(VS2010_PREFIX)Vc\bin
-DEFINE VS2010x86_DLL = ENV(VS2010_PREFIX)Common7\IDE;DEF(VS2010x86_BIN)
-DEFINE VS2010x86_BINX64 = DEF(VS2010x86_BIN)\x86_amd64
-DEFINE VS2010x86_BIN64 = DEF(VS2010x86_BIN)\x86_ia64
-
-DEFINE VS2012_BIN = ENV(VS2012_PREFIX)Vc\bin
-DEFINE VS2012_DLL = ENV(VS2012_PREFIX)Common7\IDE;DEF(VS2012_BIN)
-DEFINE VS2012_BINX64 = DEF(VS2012_BIN)\x86_amd64
-
-DEFINE VS2012x86_BIN = ENV(VS2012_PREFIX)Vc\bin
-DEFINE VS2012x86_DLL = ENV(VS2012_PREFIX)Common7\IDE;DEF(VS2012x86_BIN)
-DEFINE VS2012x86_BINX64 = DEF(VS2012x86_BIN)\x86_amd64
-
-DEFINE VS2013_BIN = ENV(VS2013_PREFIX)Vc\bin
-DEFINE VS2013_DLL = ENV(VS2013_PREFIX)Common7\IDE;DEF(VS2013_BIN)
-DEFINE VS2013_BINX64 = DEF(VS2013_BIN)\x86_amd64
-
-DEFINE VS2013x86_BIN = ENV(VS2013_PREFIX)Vc\bin
-DEFINE VS2013x86_DLL = ENV(VS2013_PREFIX)Common7\IDE;DEF(VS2013x86_BIN)
-DEFINE VS2013x86_BINX64 = DEF(VS2013x86_BIN)\x86_amd64
-
DEFINE VS2015_BIN = ENV(VS2015_PREFIX)Vc\bin
DEFINE VS2015_DLL = ENV(VS2015_PREFIX)Common7\IDE;DEF(VS2015_BIN)
DEFINE VS2015_BINX64 = DEF(VS2015_BIN)\x86_amd64
@@ -112,11 +76,6 @@ DEFINE WINSDK10_BIN = ENV(WINSDK10_PREFIX)DEF(VS_HOST)
# are used by other toolchains. An example is that ICC on Windows normally
# uses Microsoft's nmake.exe.
-# Some MS_VS_BIN options: DEF(VS2008_BIN), DEF(VS2008x86_BIN)
-DEFINE MS_VS_BIN = DEF(VS2008_BIN)
-# Some MS_VS_DLL options: DEF(VS2008_DLL), DEF(VS2008x86_DLL)
-DEFINE MS_VS_DLL = DEF(VS2008_DLL)
-
DEFINE WINDDK_BIN16 = ENV(WINDDK3790_PREFIX)bin16
DEFINE WINDDK_BINX64 = ENV(WINDDK3790_PREFIX)win64\x86\amd64
@@ -188,42 +147,6 @@ DEFINE DTC_BIN = ENV(DTC_PREFIX)dtc
#
# Supported Tool Chains
# =====================
-# VS2008 -win32- Requires:
-# Microsoft Visual Studio 2008 Team Suite Edition
-# Microsoft Windows Server 2003 Driver Development Kit (Microsoft WINDDK) version 3790.1830
-# Optional:
-# Required to build EBC drivers:
-# Intel(r) Compiler for Efi Byte Code (Intel(r) EBC Compiler)
-# Required to build platforms or ACPI tables:
-# Intel(r) ACPI Compiler (iasl.exe) from
-# https://acpica.org/downloads
-# VS2010 -win32- Requires:
-# Microsoft Visual Studio 2010 Premium Edition
-# Microsoft Windows Server 2003 Driver Development Kit (Microsoft WINDDK) version 3790.1830
-# Optional:
-# Required to build EBC drivers:
-# Intel(r) Compiler for Efi Byte Code (Intel(r) EBC Compiler)
-# Required to build platforms or ACPI tables:
-# Intel(r) ACPI Compiler (iasl.exe) from
-# https://acpica.org/downloads
-# VS2012 -win32- Requires:
-# Microsoft Visual Studio 2012 Professional Edition
-# Microsoft Windows Server 2003 Driver Development Kit (Microsoft WINDDK) version 3790.1830
-# Optional:
-# Required to build EBC drivers:
-# Intel(r) Compiler for Efi Byte Code (Intel(r) EBC Compiler)
-# Required to build platforms or ACPI tables:
-# Intel(r) ACPI Compiler (iasl.exe) from
-# https://acpica.org/downloads
-# VS2013 -win32- Requires:
-# Microsoft Visual Studio 2013 Professional Edition
-# Microsoft Windows Server 2003 Driver Development Kit (Microsoft WINDDK) version 3790.1830
-# Optional:
-# Required to build EBC drivers:
-# Intel(r) Compiler for Efi Byte Code (Intel(r) EBC Compiler)
-# Required to build platforms or ACPI tables:
-# Intel(r) ACPI Compiler (iasl.exe) from
-# https://acpica.org/downloads
# VS2015 -win32- Requires:
# Microsoft Visual Studio 2015 Professional Edition
# Microsoft Windows Server 2003 Driver Development Kit (Microsoft WINDDK) version 3790.1830
@@ -288,34 +211,6 @@ DEFINE DTC_BIN = ENV(DTC_PREFIX)dtc
# Required to compile nasm source:
# nasm compiler from
# NASM -- http://www.nasm.us/
-# VS2008x86 -win64- Requires:
-# Microsoft Visual Studio 2008 (x86)
-# Microsoft Windows Server 2003 Driver Development Kit (Microsoft WINDDK) version 3790.1830
-# Optional:
-# Required to build platforms or ACPI tables:
-# Intel(r) ACPI Compiler (iasl.exe) from
-# https://acpica.org/downloads
-# VS2010x86 -win64- Requires:
-# Microsoft Visual Studio 2010 (x86) Premium Edition
-# Microsoft Windows Server 2003 Driver Development Kit (Microsoft WINDDK) version 3790.1830
-# Optional:
-# Required to build platforms or ACPI tables:
-# Intel(r) ACPI Compiler (iasl.exe) from
-# https://acpica.org/downloads
-# VS2012x86 -win64- Requires:
-# Microsoft Visual Studio 2012 (x86) Professional Edition
-# Microsoft Windows Server 2003 Driver Development Kit (Microsoft WINDDK) version 3790.1830
-# Optional:
-# Required to build platforms or ACPI tables:
-# Intel(r) ACPI Compiler (iasl.exe) from
-# https://acpica.org/downloads
-# VS2013x86 -win64- Requires:
-# Microsoft Visual Studio 2013 (x86) Professional Edition
-# Microsoft Windows Server 2003 Driver Development Kit (Microsoft WINDDK) version 3790.1830
-# Optional:
-# Required to build platforms or ACPI tables:
-# Intel(r) ACPI Compiler (iasl.exe) from
-# https://acpica.org/downloads
# VS2015x86 -win64- Requires:
# Microsoft Visual Studio 2015 (x86) Update 2 or above
# Microsoft Windows Server 2003 Driver Development Kit (Microsoft WINDDK) version 3790.1830
@@ -379,906 +274,6 @@ DEFINE DTC_BIN = ENV(DTC_PREFIX)dtc
#
####################################################################################
-####################################################################################
-#
-# Microsoft Visual Studio 2008
-#
-# VS2008 - Microsoft Visual Studio 2005 All Edition, including Standard, Professional, Express, TeamSuite
-# ASL - Intel ACPI Source Language Compiler
-####################################################################################
-# VS2008 - Microsoft Visual Studio 2008 ALL Edition, including Standard, Professional, Express, TeamSuite
-*_VS2008_*_*_FAMILY = MSFT
-
-*_VS2008_*_MAKE_PATH = DEF(VS2008_BIN)\nmake.exe
-*_VS2008_*_MAKE_FLAGS = /nologo
-*_VS2008_*_RC_PATH = DEF(WINSDK_BIN)\rc.exe
-
-*_VS2008_*_SLINK_FLAGS = /NOLOGO /LTCG
-*_VS2008_*_APP_FLAGS = /nologo /E /TC
-*_VS2008_*_PP_FLAGS = /nologo /E /TC /FIAutoGen.h
-*_VS2008_*_VFRPP_FLAGS = /nologo /E /TC /DVFRCOMPILE /FI$(MODULE_NAME)StrDefs.h
-*_VS2008_*_DEPS_FLAGS = DEF(MSFT_DEPS_FLAGS)
-*_VS2008_*_ASM16_PATH = DEF(VS2008_BIN)\ml.exe
-
-##################
-# ASL definitions
-##################
-*_VS2008_*_ASL_PATH = DEF(DEFAULT_WIN_ASL_BIN)
-*_VS2008_*_ASL_FLAGS = DEF(DEFAULT_WIN_ASL_FLAGS)
-*_VS2008_*_ASL_OUTFLAGS = DEF(DEFAULT_WIN_ASL_OUTFLAGS)
-*_VS2008_*_ASLCC_FLAGS = DEF(MSFT_ASLCC_FLAGS)
-*_VS2008_*_ASLPP_FLAGS = DEF(MSFT_ASLPP_FLAGS)
-*_VS2008_*_ASLDLINK_FLAGS = DEF(MSFT_ASLDLINK_FLAGS)
-
-##################
-# IA32 definitions
-##################
-*_VS2008_IA32_*_DLL = DEF(VS2008_DLL)
-
-*_VS2008_IA32_CC_PATH = DEF(VS2008_BIN)\cl.exe
-*_VS2008_IA32_VFRPP_PATH = DEF(VS2008_BIN)\cl.exe
-*_VS2008_IA32_SLINK_PATH = DEF(VS2008_BIN)\lib.exe
-*_VS2008_IA32_DLINK_PATH = DEF(VS2008_BIN)\link.exe
-*_VS2008_IA32_APP_PATH = DEF(VS2008_BIN)\cl.exe
-*_VS2008_IA32_PP_PATH = DEF(VS2008_BIN)\cl.exe
-*_VS2008_IA32_ASM_PATH = DEF(VS2008_BIN)\ml.exe
-*_VS2008_IA32_ASLCC_PATH = DEF(VS2008_BIN)\cl.exe
-*_VS2008_IA32_ASLPP_PATH = DEF(VS2008_BIN)\cl.exe
-*_VS2008_IA32_ASLDLINK_PATH = DEF(VS2008_BIN)\link.exe
-
- DEBUG_VS2008_IA32_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Gm
-RELEASE_VS2008_IA32_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF
-NOOPT_VS2008_IA32_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Gm /Od
-
- DEBUG_VS2008_IA32_ASM_FLAGS = /nologo /c /WX /W3 /Cx /coff /Zd /Zi
-RELEASE_VS2008_IA32_ASM_FLAGS = /nologo /c /WX /W3 /Cx /coff /Zd
-NOOPT_VS2008_IA32_ASM_FLAGS = /nologo /c /WX /W3 /Cx /coff /Zd /Zi
-
- DEBUG_VS2008_IA32_NASM_FLAGS = -Ox -f win32 -g
-RELEASE_VS2008_IA32_NASM_FLAGS = -Ox -f win32
-NOOPT_VS2008_IA32_NASM_FLAGS = -O0 -f win32 -g
-
- DEBUG_VS2008_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
-RELEASE_VS2008_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=.data
-NOOPT_VS2008_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
-
-##################
-# X64 definitions
-##################
-*_VS2008_X64_*_DLL = DEF(VS2008_DLL)
-
-*_VS2008_X64_CC_PATH = DEF(VS2008_BINX64)\cl.exe
-*_VS2008_X64_PP_PATH = DEF(VS2008_BINX64)\cl.exe
-*_VS2008_X64_APP_PATH = DEF(VS2008_BINX64)\cl.exe
-*_VS2008_X64_VFRPP_PATH = DEF(VS2008_BINX64)\cl.exe
-*_VS2008_X64_ASM_PATH = DEF(VS2008_BINX64)\ml64.exe
-*_VS2008_X64_SLINK_PATH = DEF(VS2008_BINX64)\lib.exe
-*_VS2008_X64_DLINK_PATH = DEF(VS2008_BINX64)\link.exe
-*_VS2008_X64_ASLCC_PATH = DEF(VS2008_BINX64)\cl.exe
-*_VS2008_X64_ASLPP_PATH = DEF(VS2008_BINX64)\cl.exe
-*_VS2008_X64_ASLDLINK_PATH = DEF(VS2008_BINX64)\link.exe
-
- DEBUG_VS2008_X64_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Z7
-RELEASE_VS2008_X64_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF
-NOOPT_VS2008_X64_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Z7 /Od
-
- DEBUG_VS2008_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd /Zi
-RELEASE_VS2008_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd
-NOOPT_VS2008_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd /Zi
-
- DEBUG_VS2008_X64_NASM_FLAGS = -Ox -f win64 -g
-RELEASE_VS2008_X64_NASM_FLAGS = -Ox -f win64
-NOOPT_VS2008_X64_NASM_FLAGS = -O0 -f win64 -g
-
- DEBUG_VS2008_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
-RELEASE_VS2008_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=.data
-NOOPT_VS2008_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
-
-##################
-# EBC definitions
-##################
-*_VS2008_EBC_*_FAMILY = INTEL
-*_VS2008_EBC_*_DLL = DEF(VS2008_DLL)
-
-*_VS2008_EBC_PP_PATH = DEF(EBC_BIN)\iec.exe
-*_VS2008_EBC_VFRPP_PATH = DEF(EBC_BIN)\iec.exe
-*_VS2008_EBC_CC_PATH = DEF(EBC_BIN)\iec.exe
-*_VS2008_EBC_SLINK_PATH = DEF(VS2008_BIN)\link.exe
-*_VS2008_EBC_DLINK_PATH = DEF(VS2008_BIN)\link.exe
-
-*_VS2008_EBC_PP_FLAGS = /nologo /E /TC /FIAutoGen.h
-*_VS2008_EBC_CC_FLAGS = /nologo /c /WX /W3 /FIAutoGen.h /D$(MODULE_ENTRY_POINT)=$(ARCH_ENTRY_POINT)
-*_VS2008_EBC_VFRPP_FLAGS = /nologo /E /TC /DVFRCOMPILE /FI$(MODULE_NAME)StrDefs.h
-*_VS2008_EBC_SLINK_FLAGS = /lib /NOLOGO /MACHINE:EBC
-*_VS2008_EBC_DLINK_FLAGS = "C:\Program Files\Intel\EBC\Lib\EbcLib.lib" /NOLOGO /NODEFAULTLIB /MACHINE:EBC /OPT:REF /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /MAP /ALIGN:32 /DRIVER
-
-
-####################################################################################
-# VS2008x86 - Microsoft Visual Studio 2008 (x86) with Intel ASL
-# ASL - Intel ACPI Source Language Compiler (iasl.exe)
-####################################################################################
-# VS2008x86 - Microsoft Visual Studio 2008 (x86) ALL Edition with Intel ASL
-*_VS2008x86_*_*_FAMILY = MSFT
-
-*_VS2008x86_*_MAKE_PATH = DEF(VS2008x86_BIN)\nmake.exe
-*_VS2008x86_*_MAKE_FLAGS = /nologo
-*_VS2008x86_*_RC_PATH = DEF(WINSDK_BIN)\rc.exe
-
-*_VS2008x86_*_SLINK_FLAGS = /NOLOGO /LTCG
-*_VS2008x86_*_APP_FLAGS = /nologo /E /TC
-*_VS2008x86_*_PP_FLAGS = /nologo /E /TC /FIAutoGen.h
-*_VS2008x86_*_VFRPP_FLAGS = /nologo /E /TC /DVFRCOMPILE /FI$(MODULE_NAME)StrDefs.h
-*_VS2008x86_*_DEPS_FLAGS = DEF(MSFT_DEPS_FLAGS)
-*_VS2008x86_*_ASM16_PATH = DEF(VS2008x86_BIN)\ml.exe
-
-##################
-# ASL definitions
-##################
-*_VS2008x86_*_ASL_PATH = DEF(WIN_IASL_BIN)
-*_VS2008x86_*_ASL_FLAGS = DEF(DEFAULT_WIN_ASL_FLAGS)
-*_VS2008x86_*_ASL_OUTFLAGS = DEF(DEFAULT_WIN_ASL_OUTFLAGS)
-*_VS2008x86_*_ASLCC_FLAGS = DEF(MSFT_ASLCC_FLAGS)
-*_VS2008x86_*_ASLPP_FLAGS = DEF(MSFT_ASLPP_FLAGS)
-*_VS2008x86_*_ASLDLINK_FLAGS = DEF(MSFT_ASLDLINK_FLAGS)
-
-##################
-# IA32 definitions
-##################
-*_VS2008x86_IA32_*_DLL = DEF(VS2008x86_DLL)
-
-*_VS2008x86_IA32_CC_PATH = DEF(VS2008x86_BIN)\cl.exe
-*_VS2008x86_IA32_VFRPP_PATH = DEF(VS2008x86_BIN)\cl.exe
-*_VS2008x86_IA32_ASLCC_PATH = DEF(VS2008x86_BIN)\cl.exe
-*_VS2008x86_IA32_ASLPP_PATH = DEF(VS2008x86_BIN)\cl.exe
-*_VS2008x86_IA32_SLINK_PATH = DEF(VS2008x86_BIN)\lib.exe
-*_VS2008x86_IA32_DLINK_PATH = DEF(VS2008x86_BIN)\link.exe
-*_VS2008x86_IA32_ASLDLINK_PATH= DEF(VS2008x86_BIN)\link.exe
-*_VS2008x86_IA32_APP_PATH = DEF(VS2008x86_BIN)\cl.exe
-*_VS2008x86_IA32_PP_PATH = DEF(VS2008x86_BIN)\cl.exe
-*_VS2008x86_IA32_ASM_PATH = DEF(VS2008x86_BIN)\ml.exe
-
- DEBUG_VS2008x86_IA32_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Z7
-RELEASE_VS2008x86_IA32_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF
-NOOPT_VS2008x86_IA32_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Z7 /Od
-
- DEBUG_VS2008x86_IA32_ASM_FLAGS = /nologo /c /WX /W3 /Cx /coff /Zd /Zi
-RELEASE_VS2008x86_IA32_ASM_FLAGS = /nologo /c /WX /W3 /Cx /coff /Zd
-NOOPT_VS2008x86_IA32_ASM_FLAGS = /nologo /c /WX /W3 /Cx /coff /Zd /Zi
-
- DEBUG_VS2008x86_IA32_NASM_FLAGS = -Ox -f win32 -g
-RELEASE_VS2008x86_IA32_NASM_FLAGS = -Ox -f win32
-NOOPT_VS2008x86_IA32_NASM_FLAGS = -O0 -f win32 -g
-
- DEBUG_VS2008x86_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
-RELEASE_VS2008x86_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=.data
-NOOPT_VS2008x86_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
-
-##################
-# X64 definitions
-##################
-*_VS2008x86_X64_*_DLL = DEF(VS2008x86_DLL)
-
-*_VS2008x86_X64_CC_PATH = DEF(VS2008x86_BINX64)\cl.exe
-*_VS2008x86_X64_PP_PATH = DEF(VS2008x86_BINX64)\cl.exe
-*_VS2008x86_X64_APP_PATH = DEF(VS2008x86_BINX64)\cl.exe
-*_VS2008x86_X64_VFRPP_PATH = DEF(VS2008x86_BINX64)\cl.exe
-*_VS2008x86_X64_ASLCC_PATH = DEF(VS2008x86_BINX64)\cl.exe
-*_VS2008x86_X64_ASLPP_PATH = DEF(VS2008x86_BINX64)\cl.exe
-*_VS2008x86_X64_ASM_PATH = DEF(VS2008x86_BINX64)\ml64.exe
-*_VS2008x86_X64_SLINK_PATH = DEF(VS2008x86_BINX64)\lib.exe
-*_VS2008x86_X64_DLINK_PATH = DEF(VS2008x86_BINX64)\link.exe
-*_VS2008x86_X64_ASLDLINK_PATH = DEF(VS2008x86_BINX64)\link.exe
-
- DEBUG_VS2008x86_X64_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Z7
-RELEASE_VS2008x86_X64_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF
-NOOPT_VS2008x86_X64_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Z7 /Od
- DEBUG_VS2008x86_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd /Zi
-RELEASE_VS2008x86_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd
-NOOPT_VS2008x86_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd /Zi
-
- DEBUG_VS2008x86_X64_NASM_FLAGS = -Ox -f win64 -g
-RELEASE_VS2008x86_X64_NASM_FLAGS = -Ox -f win64
-NOOPT_VS2008x86_X64_NASM_FLAGS = -O0 -f win64 -g
-
- DEBUG_VS2008x86_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
-RELEASE_VS2008x86_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=.data
-NOOPT_VS2008x86_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
-
-##################
-# EBC definitions
-##################
-*_VS2008x86_EBC_*_FAMILY = INTEL
-*_VS2008x86_EBC_*_DLL = DEF(VS2008x86_DLL)
-
-*_VS2008x86_EBC_PP_PATH = DEF(EBC_BINx86)\iec.exe
-*_VS2008x86_EBC_VFRPP_PATH = DEF(EBC_BINx86)\iec.exe
-*_VS2008x86_EBC_CC_PATH = DEF(EBC_BINx86)\iec.exe
-*_VS2008x86_EBC_SLINK_PATH = DEF(VS2008x86_BIN)\link.exe
-*_VS2008x86_EBC_DLINK_PATH = DEF(VS2008x86_BIN)\link.exe
-
-*_VS2008x86_EBC_PP_FLAGS = /nologo /E /TC /FIAutoGen.h
-*_VS2008x86_EBC_CC_FLAGS = /nologo /c /WX /W3 /FIAutoGen.h /D$(MODULE_ENTRY_POINT)=$(ARCH_ENTRY_POINT)
-*_VS2008x86_EBC_VFRPP_FLAGS = /nologo /E /TC /DVFRCOMPILE /FI$(MODULE_NAME)StrDefs.h
-*_VS2008x86_EBC_SLINK_FLAGS = /lib /NOLOGO /MACHINE:EBC
-*_VS2008x86_EBC_DLINK_FLAGS = "C:\Program Files (x86)\Intel\EBC\Lib\EbcLib.lib" /NOLOGO /NODEFAULTLIB /MACHINE:EBC /OPT:REF /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /MAP /ALIGN:32 /DRIVER
-
-
-
-####################################################################################
-#
-# Microsoft Visual Studio 2010
-#
-# VS2010 - Microsoft Visual Studio 2010 Premium Edition with Intel ASL
-# ASL - Intel ACPI Source Language Compiler
-####################################################################################
-# VS2010 - Microsoft Visual Studio 2010 Premium Edition
-*_VS2010_*_*_FAMILY = MSFT
-
-*_VS2010_*_MAKE_PATH = DEF(VS2010_BIN)\nmake.exe
-*_VS2010_*_MAKE_FLAGS = /nologo
-*_VS2010_*_RC_PATH = DEF(WINSDK7_BIN)\rc.exe
-
-*_VS2010_*_SLINK_FLAGS = /NOLOGO /LTCG
-*_VS2010_*_APP_FLAGS = /nologo /E /TC
-*_VS2010_*_PP_FLAGS = /nologo /E /TC /FIAutoGen.h
-*_VS2010_*_VFRPP_FLAGS = /nologo /E /TC /DVFRCOMPILE /FI$(MODULE_NAME)StrDefs.h
-*_VS2010_*_DEPS_FLAGS = DEF(MSFT_DEPS_FLAGS)
-*_VS2010_*_ASM16_PATH = DEF(VS2010_BIN)\ml.exe
-
-##################
-# ASL definitions
-##################
-*_VS2010_*_ASL_PATH = DEF(DEFAULT_WIN_ASL_BIN)
-*_VS2010_*_ASL_FLAGS = DEF(DEFAULT_WIN_ASL_FLAGS)
-*_VS2010_*_ASL_OUTFLAGS = DEF(DEFAULT_WIN_ASL_OUTFLAGS)
-*_VS2010_*_ASLCC_FLAGS = DEF(MSFT_ASLCC_FLAGS)
-*_VS2010_*_ASLPP_FLAGS = DEF(MSFT_ASLPP_FLAGS)
-*_VS2010_*_ASLDLINK_FLAGS = DEF(MSFT_ASLDLINK_FLAGS)
-
-##################
-# IA32 definitions
-##################
-*_VS2010_IA32_*_DLL = DEF(VS2010_DLL)
-
-*_VS2010_IA32_CC_PATH = DEF(VS2010_BIN)\cl.exe
-*_VS2010_IA32_VFRPP_PATH = DEF(VS2010_BIN)\cl.exe
-*_VS2010_IA32_SLINK_PATH = DEF(VS2010_BIN)\lib.exe
-*_VS2010_IA32_DLINK_PATH = DEF(VS2010_BIN)\link.exe
-*_VS2010_IA32_APP_PATH = DEF(VS2010_BIN)\cl.exe
-*_VS2010_IA32_PP_PATH = DEF(VS2010_BIN)\cl.exe
-*_VS2010_IA32_ASM_PATH = DEF(VS2010_BIN)\ml.exe
-*_VS2010_IA32_ASLCC_PATH = DEF(VS2010_BIN)\cl.exe
-*_VS2010_IA32_ASLPP_PATH = DEF(VS2010_BIN)\cl.exe
-*_VS2010_IA32_ASLDLINK_PATH = DEF(VS2010_BIN)\link.exe
-
- DEBUG_VS2010_IA32_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Z7
-RELEASE_VS2010_IA32_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF
-NOOPT_VS2010_IA32_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi /Gm /Od
-
- DEBUG_VS2010_IA32_ASM_FLAGS = /nologo /c /WX /W3 /Cx /coff /Zd /Zi
-RELEASE_VS2010_IA32_ASM_FLAGS = /nologo /c /WX /W3 /Cx /coff /Zd
-NOOPT_VS2010_IA32_ASM_FLAGS = /nologo /c /WX /W3 /Cx /coff /Zd /Zi
-
- DEBUG_VS2010_IA32_NASM_FLAGS = -Ox -f win32 -g
-RELEASE_VS2010_IA32_NASM_FLAGS = -Ox -f win32
-NOOPT_VS2010_IA32_NASM_FLAGS = -O0 -f win32 -g
-
- DEBUG_VS2010_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
-RELEASE_VS2010_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=.data
-NOOPT_VS2010_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
-
-##################
-# X64 definitions
-##################
-*_VS2010_X64_*_DLL = DEF(VS2010_DLL)
-
-*_VS2010_X64_CC_PATH = DEF(VS2010_BINX64)\cl.exe
-*_VS2010_X64_PP_PATH = DEF(VS2010_BINX64)\cl.exe
-*_VS2010_X64_APP_PATH = DEF(VS2010_BINX64)\cl.exe
-*_VS2010_X64_VFRPP_PATH = DEF(VS2010_BINX64)\cl.exe
-*_VS2010_X64_ASM_PATH = DEF(VS2010_BINX64)\ml64.exe
-*_VS2010_X64_SLINK_PATH = DEF(VS2010_BINX64)\lib.exe
-*_VS2010_X64_DLINK_PATH = DEF(VS2010_BINX64)\link.exe
-*_VS2010_X64_ASLCC_PATH = DEF(VS2010_BINX64)\cl.exe
-*_VS2010_X64_ASLPP_PATH = DEF(VS2010_BINX64)\cl.exe
-*_VS2010_X64_ASLDLINK_PATH = DEF(VS2010_BINX64)\link.exe
-
- DEBUG_VS2010_X64_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Z7
-RELEASE_VS2010_X64_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF
-NOOPT_VS2010_X64_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Z7 /Od
-
- DEBUG_VS2010_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd /Zi
-RELEASE_VS2010_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd
-NOOPT_VS2010_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd /Zi
-
- DEBUG_VS2010_X64_NASM_FLAGS = -Ox -f win64 -g
-RELEASE_VS2010_X64_NASM_FLAGS = -Ox -f win64
-NOOPT_VS2010_X64_NASM_FLAGS = -O0 -f win64 -g
-
- DEBUG_VS2010_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
-RELEASE_VS2010_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=.data
-NOOPT_VS2010_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
-
-##################
-# EBC definitions
-##################
-*_VS2010_EBC_*_FAMILY = INTEL
-*_VS2010_EBC_*_DLL = DEF(VS2010_DLL)
-
-*_VS2010_EBC_PP_PATH = DEF(EBC_BIN)\iec.exe
-*_VS2010_EBC_VFRPP_PATH = DEF(EBC_BIN)\iec.exe
-*_VS2010_EBC_CC_PATH = DEF(EBC_BIN)\iec.exe
-*_VS2010_EBC_SLINK_PATH = DEF(VS2010_BIN)\link.exe
-*_VS2010_EBC_DLINK_PATH = DEF(VS2010_BIN)\link.exe
-
-*_VS2010_EBC_PP_FLAGS = /nologo /E /TC /FIAutoGen.h
-*_VS2010_EBC_CC_FLAGS = /nologo /c /WX /W3 /FIAutoGen.h /D$(MODULE_ENTRY_POINT)=$(ARCH_ENTRY_POINT)
-*_VS2010_EBC_VFRPP_FLAGS = /nologo /E /TC /DVFRCOMPILE /FI$(MODULE_NAME)StrDefs.h
-*_VS2010_EBC_SLINK_FLAGS = /lib /NOLOGO /MACHINE:EBC
-*_VS2010_EBC_DLINK_FLAGS = "C:\Program Files\Intel\EBC\Lib\EbcLib.lib" /NOLOGO /NODEFAULTLIB /MACHINE:EBC /OPT:REF /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /MAP /ALIGN:32 /DRIVER
-
-
-####################################################################################
-# VS2010x86 - Microsoft Visual Studio 2010 (x86) with Intel ASL
-# ASL - Intel ACPI Source Language Compiler (iasl.exe)
-####################################################################################
-# VS2010x86 - Microsoft Visual Studio 2010 (x86) ALL Edition with Intel ASL
-*_VS2010x86_*_*_FAMILY = MSFT
-
-*_VS2010x86_*_MAKE_PATH = DEF(VS2010x86_BIN)\nmake.exe
-*_VS2010x86_*_MAKE_FLAGS = /nologo
-*_VS2010x86_*_RC_PATH = DEF(WINSDK7x86_BIN)\rc.exe
-
-*_VS2010x86_*_SLINK_FLAGS = /NOLOGO /LTCG
-*_VS2010x86_*_APP_FLAGS = /nologo /E /TC
-*_VS2010x86_*_PP_FLAGS = /nologo /E /TC /FIAutoGen.h
-*_VS2010x86_*_VFRPP_FLAGS = /nologo /E /TC /DVFRCOMPILE /FI$(MODULE_NAME)StrDefs.h
-*_VS2010x86_*_DEPS_FLAGS = DEF(MSFT_DEPS_FLAGS)
-*_VS2010x86_*_ASM16_PATH = DEF(VS2010x86_BIN)\ml.exe
-
-##################
-# ASL definitions
-##################
-*_VS2010x86_*_ASL_PATH = DEF(WIN_IASL_BIN)
-*_VS2010x86_*_ASL_FLAGS = DEF(DEFAULT_WIN_ASL_FLAGS)
-*_VS2010x86_*_ASL_OUTFLAGS = DEF(DEFAULT_WIN_ASL_OUTFLAGS)
-*_VS2010x86_*_ASLCC_FLAGS = DEF(MSFT_ASLCC_FLAGS)
-*_VS2010x86_*_ASLPP_FLAGS = DEF(MSFT_ASLPP_FLAGS)
-*_VS2010x86_*_ASLDLINK_FLAGS = DEF(MSFT_ASLDLINK_FLAGS)
-
-##################
-# IA32 definitions
-##################
-*_VS2010x86_IA32_*_DLL = DEF(VS2010x86_DLL)
-
-*_VS2010x86_IA32_CC_PATH = DEF(VS2010x86_BIN)\cl.exe
-*_VS2010x86_IA32_VFRPP_PATH = DEF(VS2010x86_BIN)\cl.exe
-*_VS2010x86_IA32_ASLCC_PATH = DEF(VS2010x86_BIN)\cl.exe
-*_VS2010x86_IA32_ASLPP_PATH = DEF(VS2010x86_BIN)\cl.exe
-*_VS2010x86_IA32_SLINK_PATH = DEF(VS2010x86_BIN)\lib.exe
-*_VS2010x86_IA32_DLINK_PATH = DEF(VS2010x86_BIN)\link.exe
-*_VS2010x86_IA32_ASLDLINK_PATH= DEF(VS2010x86_BIN)\link.exe
-*_VS2010x86_IA32_APP_PATH = DEF(VS2010x86_BIN)\cl.exe
-*_VS2010x86_IA32_PP_PATH = DEF(VS2010x86_BIN)\cl.exe
-*_VS2010x86_IA32_ASM_PATH = DEF(VS2010x86_BIN)\ml.exe
-
- DEBUG_VS2010x86_IA32_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Z7
-RELEASE_VS2010x86_IA32_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF
-NOOPT_VS2010x86_IA32_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Z7 /Od
-
- DEBUG_VS2010x86_IA32_ASM_FLAGS = /nologo /c /WX /W3 /Cx /coff /Zd /Zi
-RELEASE_VS2010x86_IA32_ASM_FLAGS = /nologo /c /WX /W3 /Cx /coff /Zd
-NOOPT_VS2010x86_IA32_ASM_FLAGS = /nologo /c /WX /W3 /Cx /coff /Zd /Zi
-
- DEBUG_VS2010x86_IA32_NASM_FLAGS = -Ox -f win32 -g
-RELEASE_VS2010x86_IA32_NASM_FLAGS = -Ox -f win32
-NOOPT_VS2010x86_IA32_NASM_FLAGS = -O0 -f win32 -g
-
- DEBUG_VS2010x86_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
-RELEASE_VS2010x86_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=.data
-NOOPT_VS2010x86_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
-
-##################
-# X64 definitions
-##################
-*_VS2010x86_X64_*_DLL = DEF(VS2010x86_DLL)
-
-*_VS2010x86_X64_CC_PATH = DEF(VS2010x86_BINX64)\cl.exe
-*_VS2010x86_X64_PP_PATH = DEF(VS2010x86_BINX64)\cl.exe
-*_VS2010x86_X64_APP_PATH = DEF(VS2010x86_BINX64)\cl.exe
-*_VS2010x86_X64_VFRPP_PATH = DEF(VS2010x86_BINX64)\cl.exe
-*_VS2010x86_X64_ASLCC_PATH = DEF(VS2010x86_BINX64)\cl.exe
-*_VS2010x86_X64_ASLPP_PATH = DEF(VS2010x86_BINX64)\cl.exe
-*_VS2010x86_X64_ASM_PATH = DEF(VS2010x86_BINX64)\ml64.exe
-*_VS2010x86_X64_SLINK_PATH = DEF(VS2010x86_BINX64)\lib.exe
-*_VS2010x86_X64_DLINK_PATH = DEF(VS2010x86_BINX64)\link.exe
-*_VS2010x86_X64_ASLDLINK_PATH = DEF(VS2010x86_BINX64)\link.exe
-
- DEBUG_VS2010x86_X64_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Z7
-RELEASE_VS2010x86_X64_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF
-NOOPT_VS2010x86_X64_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Z7 /Od
-
- DEBUG_VS2010x86_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd /Zi
-RELEASE_VS2010x86_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd
-NOOPT_VS2010x86_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd /Zi
-
- DEBUG_VS2010x86_X64_NASM_FLAGS = -Ox -f win64 -g
-RELEASE_VS2010x86_X64_NASM_FLAGS = -Ox -f win64
-NOOPT_VS2010x86_X64_NASM_FLAGS = -O0 -f win64 -g
-
- DEBUG_VS2010x86_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
-RELEASE_VS2010x86_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=.data
-NOOPT_VS2010x86_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
-
-##################
-# EBC definitions
-##################
-*_VS2010x86_EBC_*_FAMILY = INTEL
-*_VS2010x86_EBC_*_DLL = DEF(VS2010x86_DLL)
-
-*_VS2010x86_EBC_PP_PATH = DEF(EBC_BINx86)\iec.exe
-*_VS2010x86_EBC_VFRPP_PATH = DEF(EBC_BINx86)\iec.exe
-*_VS2010x86_EBC_CC_PATH = DEF(EBC_BINx86)\iec.exe
-*_VS2010x86_EBC_SLINK_PATH = DEF(VS2010x86_BIN)\link.exe
-*_VS2010x86_EBC_DLINK_PATH = DEF(VS2010x86_BIN)\link.exe
-
-*_VS2010x86_EBC_PP_FLAGS = /nologo /E /TC /FIAutoGen.h
-*_VS2010x86_EBC_CC_FLAGS = /nologo /c /WX /W3 /FIAutoGen.h /D$(MODULE_ENTRY_POINT)=$(ARCH_ENTRY_POINT)
-*_VS2010x86_EBC_VFRPP_FLAGS = /nologo /E /TC /DVFRCOMPILE /FI$(MODULE_NAME)StrDefs.h
-*_VS2010x86_EBC_SLINK_FLAGS = /lib /NOLOGO /MACHINE:EBC
-*_VS2010x86_EBC_DLINK_FLAGS = "C:\Program Files (x86)\Intel\EBC\Lib\EbcLib.lib" /NOLOGO /NODEFAULTLIB /MACHINE:EBC /OPT:REF /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /MAP /ALIGN:32 /DRIVER
-
-
-####################################################################################
-#
-# Microsoft Visual Studio 2012
-#
-# VS2012 - Microsoft Visual Studio 2012 Professional Edition with Intel ASL
-# ASL - Intel ACPI Source Language Compiler
-####################################################################################
-# VS2012 - Microsoft Visual Studio 2012 Professional Edition
-*_VS2012_*_*_FAMILY = MSFT
-
-*_VS2012_*_MAKE_PATH = DEF(VS2012_BIN)\nmake.exe
-*_VS2012_*_MAKE_FLAGS = /nologo
-*_VS2012_*_RC_PATH = DEF(WINSDK71_BIN)\rc.exe
-
-*_VS2012_*_SLINK_FLAGS = /NOLOGO /LTCG
-*_VS2012_*_APP_FLAGS = /nologo /E /TC
-*_VS2012_*_PP_FLAGS = /nologo /E /TC /FIAutoGen.h
-*_VS2012_*_VFRPP_FLAGS = /nologo /E /TC /DVFRCOMPILE /FI$(MODULE_NAME)StrDefs.h
-*_VS2012_*_DEPS_FLAGS = DEF(MSFT_DEPS_FLAGS)
-*_VS2012_*_ASM16_PATH = DEF(VS2012_BIN)\ml.exe
-
-##################
-# ASL definitions
-##################
-*_VS2012_*_ASL_PATH = DEF(DEFAULT_WIN_ASL_BIN)
-*_VS2012_*_ASL_FLAGS = DEF(DEFAULT_WIN_ASL_FLAGS)
-*_VS2012_*_ASL_OUTFLAGS = DEF(DEFAULT_WIN_ASL_OUTFLAGS)
-*_VS2012_*_ASLCC_FLAGS = DEF(MSFT_ASLCC_FLAGS)
-*_VS2012_*_ASLPP_FLAGS = DEF(MSFT_ASLPP_FLAGS)
-*_VS2012_*_ASLDLINK_FLAGS = DEF(MSFT_ASLDLINK_FLAGS)
-
-##################
-# IA32 definitions
-##################
-*_VS2012_IA32_*_DLL = DEF(VS2012_DLL)
-
-*_VS2012_IA32_CC_PATH = DEF(VS2012_BIN)\cl.exe
-*_VS2012_IA32_VFRPP_PATH = DEF(VS2012_BIN)\cl.exe
-*_VS2012_IA32_SLINK_PATH = DEF(VS2012_BIN)\lib.exe
-*_VS2012_IA32_DLINK_PATH = DEF(VS2012_BIN)\link.exe
-*_VS2012_IA32_APP_PATH = DEF(VS2012_BIN)\cl.exe
-*_VS2012_IA32_PP_PATH = DEF(VS2012_BIN)\cl.exe
-*_VS2012_IA32_ASM_PATH = DEF(VS2012_BIN)\ml.exe
-*_VS2012_IA32_ASLCC_PATH = DEF(VS2012_BIN)\cl.exe
-*_VS2012_IA32_ASLPP_PATH = DEF(VS2012_BIN)\cl.exe
-*_VS2012_IA32_ASLDLINK_PATH = DEF(VS2012_BIN)\link.exe
-
- DEBUG_VS2012_IA32_CC_FLAGS = /nologo /arch:IA32 /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Z7
-RELEASE_VS2012_IA32_CC_FLAGS = /nologo /arch:IA32 /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF
-NOOPT_VS2012_IA32_CC_FLAGS = /nologo /arch:IA32 /c /WX /GS- /W4 /Gs32768 /D UNICODE /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Z7 /Od
-
- DEBUG_VS2012_IA32_ASM_FLAGS = /nologo /c /WX /W3 /Cx /coff /Zd /Zi
-RELEASE_VS2012_IA32_ASM_FLAGS = /nologo /c /WX /W3 /Cx /coff /Zd
-NOOPT_VS2012_IA32_ASM_FLAGS = /nologo /c /WX /W3 /Cx /coff /Zd /Zi
-
- DEBUG_VS2012_IA32_NASM_FLAGS = -Ox -f win32 -g
-RELEASE_VS2012_IA32_NASM_FLAGS = -Ox -f win32
-NOOPT_VS2012_IA32_NASM_FLAGS = -O0 -f win32 -g
-
- DEBUG_VS2012_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
-RELEASE_VS2012_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=.data
-NOOPT_VS2012_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
-
-##################
-# X64 definitions
-##################
-*_VS2012_X64_*_DLL = DEF(VS2012_DLL)
-
-*_VS2012_X64_CC_PATH = DEF(VS2012_BINX64)\cl.exe
-*_VS2012_X64_PP_PATH = DEF(VS2012_BINX64)\cl.exe
-*_VS2012_X64_APP_PATH = DEF(VS2012_BINX64)\cl.exe
-*_VS2012_X64_VFRPP_PATH = DEF(VS2012_BINX64)\cl.exe
-*_VS2012_X64_ASM_PATH = DEF(VS2012_BINX64)\ml64.exe
-*_VS2012_X64_SLINK_PATH = DEF(VS2012_BINX64)\lib.exe
-*_VS2012_X64_DLINK_PATH = DEF(VS2012_BINX64)\link.exe
-*_VS2012_X64_ASLCC_PATH = DEF(VS2012_BINX64)\cl.exe
-*_VS2012_X64_ASLPP_PATH = DEF(VS2012_BINX64)\cl.exe
-*_VS2012_X64_ASLDLINK_PATH = DEF(VS2012_BINX64)\link.exe
-
- DEBUG_VS2012_X64_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Z7
-RELEASE_VS2012_X64_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF
-NOOPT_VS2012_X64_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Z7 /Od
-
- DEBUG_VS2012_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd /Zi
-RELEASE_VS2012_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd
-NOOPT_VS2012_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd /Zi
-
- DEBUG_VS2012_X64_NASM_FLAGS = -Ox -f win64 -g
-RELEASE_VS2012_X64_NASM_FLAGS = -Ox -f win64
-NOOPT_VS2012_X64_NASM_FLAGS = -O0 -f win64 -g
-
- DEBUG_VS2012_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
-RELEASE_VS2012_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=.data
-NOOPT_VS2012_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
-
-##################
-# EBC definitions
-##################
-*_VS2012_EBC_*_FAMILY = INTEL
-*_VS2012_EBC_*_DLL = DEF(VS2012_DLL)
-
-*_VS2012_EBC_PP_PATH = DEF(EBC_BIN)\iec.exe
-*_VS2012_EBC_VFRPP_PATH = DEF(EBC_BIN)\iec.exe
-*_VS2012_EBC_CC_PATH = DEF(EBC_BIN)\iec.exe
-*_VS2012_EBC_SLINK_PATH = DEF(VS2012_BIN)\link.exe
-*_VS2012_EBC_DLINK_PATH = DEF(VS2012_BIN)\link.exe
-
-*_VS2012_EBC_PP_FLAGS = /nologo /E /TC /FIAutoGen.h
-*_VS2012_EBC_CC_FLAGS = /nologo /c /WX /W3 /FIAutoGen.h /D$(MODULE_ENTRY_POINT)=$(ARCH_ENTRY_POINT)
-*_VS2012_EBC_VFRPP_FLAGS = /nologo /E /TC /DVFRCOMPILE /FI$(MODULE_NAME)StrDefs.h
-*_VS2012_EBC_SLINK_FLAGS = /lib /NOLOGO /MACHINE:EBC
-*_VS2012_EBC_DLINK_FLAGS = "C:\Program Files\Intel\EBC\Lib\EbcLib.lib" /NOLOGO /NODEFAULTLIB /MACHINE:EBC /OPT:REF /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /MAP /ALIGN:32 /DRIVER
-
-
-####################################################################################
-# VS2012x86 - Microsoft Visual Studio 2012 (x86) professional with Intel ASL
-# ASL - Intel ACPI Source Language Compiler (iasl.exe)
-####################################################################################
-# VS2012x86 - Microsoft Visual Studio 2012 (x86) professional Edition with Intel ASL
-*_VS2012x86_*_*_FAMILY = MSFT
-
-*_VS2012x86_*_MAKE_PATH = DEF(VS2012x86_BIN)\nmake.exe
-*_VS2012x86_*_MAKE_FLAGS = /nologo
-*_VS2012x86_*_RC_PATH = DEF(WINSDK71x86_BIN)\rc.exe
-
-*_VS2012x86_*_SLINK_FLAGS = /NOLOGO /LTCG
-*_VS2012x86_*_APP_FLAGS = /nologo /E /TC
-*_VS2012x86_*_PP_FLAGS = /nologo /E /TC /FIAutoGen.h
-*_VS2012x86_*_VFRPP_FLAGS = /nologo /E /TC /DVFRCOMPILE /FI$(MODULE_NAME)StrDefs.h
-*_VS2012x86_*_DEPS_FLAGS = DEF(MSFT_DEPS_FLAGS)
-*_VS2012x86_*_ASM16_PATH = DEF(VS2012x86_BIN)\ml.exe
-
-##################
-# ASL definitions
-##################
-*_VS2012x86_*_ASL_PATH = DEF(WIN_IASL_BIN)
-*_VS2012x86_*_ASL_FLAGS = DEF(DEFAULT_WIN_ASL_FLAGS)
-*_VS2012x86_*_ASL_OUTFLAGS = DEF(DEFAULT_WIN_ASL_OUTFLAGS)
-*_VS2012x86_*_ASLCC_FLAGS = DEF(MSFT_ASLCC_FLAGS)
-*_VS2012x86_*_ASLPP_FLAGS = DEF(MSFT_ASLPP_FLAGS)
-*_VS2012x86_*_ASLDLINK_FLAGS = DEF(MSFT_ASLDLINK_FLAGS)
-
-##################
-# IA32 definitions
-##################
-*_VS2012x86_IA32_*_DLL = DEF(VS2012x86_DLL)
-
-*_VS2012x86_IA32_CC_PATH = DEF(VS2012x86_BIN)\cl.exe
-*_VS2012x86_IA32_VFRPP_PATH = DEF(VS2012x86_BIN)\cl.exe
-*_VS2012x86_IA32_ASLCC_PATH = DEF(VS2012x86_BIN)\cl.exe
-*_VS2012x86_IA32_ASLPP_PATH = DEF(VS2012x86_BIN)\cl.exe
-*_VS2012x86_IA32_SLINK_PATH = DEF(VS2012x86_BIN)\lib.exe
-*_VS2012x86_IA32_DLINK_PATH = DEF(VS2012x86_BIN)\link.exe
-*_VS2012x86_IA32_ASLDLINK_PATH= DEF(VS2012x86_BIN)\link.exe
-*_VS2012x86_IA32_APP_PATH = DEF(VS2012x86_BIN)\cl.exe
-*_VS2012x86_IA32_PP_PATH = DEF(VS2012x86_BIN)\cl.exe
-*_VS2012x86_IA32_ASM_PATH = DEF(VS2012x86_BIN)\ml.exe
-
- DEBUG_VS2012x86_IA32_CC_FLAGS = /nologo /arch:IA32 /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Z7
-RELEASE_VS2012x86_IA32_CC_FLAGS = /nologo /arch:IA32 /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF
-NOOPT_VS2012x86_IA32_CC_FLAGS = /nologo /arch:IA32 /c /WX /GS- /W4 /Gs32768 /D UNICODE /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Z7 /Od
-
- DEBUG_VS2012x86_IA32_ASM_FLAGS = /nologo /c /WX /W3 /Cx /coff /Zd /Zi
-RELEASE_VS2012x86_IA32_ASM_FLAGS = /nologo /c /WX /W3 /Cx /coff /Zd
-NOOPT_VS2012x86_IA32_ASM_FLAGS = /nologo /c /WX /W3 /Cx /coff /Zd /Zi
-
- DEBUG_VS2012x86_IA32_NASM_FLAGS = -Ox -f win32 -g
-RELEASE_VS2012x86_IA32_NASM_FLAGS = -Ox -f win32
-NOOPT_VS2012x86_IA32_NASM_FLAGS = -O0 -f win32 -g
-
- DEBUG_VS2012x86_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
-RELEASE_VS2012x86_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=.data
-NOOPT_VS2012x86_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
-
-##################
-# X64 definitions
-##################
-*_VS2012x86_X64_*_DLL = DEF(VS2012x86_DLL)
-
-*_VS2012x86_X64_CC_PATH = DEF(VS2012x86_BINX64)\cl.exe
-*_VS2012x86_X64_PP_PATH = DEF(VS2012x86_BINX64)\cl.exe
-*_VS2012x86_X64_APP_PATH = DEF(VS2012x86_BINX64)\cl.exe
-*_VS2012x86_X64_VFRPP_PATH = DEF(VS2012x86_BINX64)\cl.exe
-*_VS2012x86_X64_ASLCC_PATH = DEF(VS2012x86_BINX64)\cl.exe
-*_VS2012x86_X64_ASLPP_PATH = DEF(VS2012x86_BINX64)\cl.exe
-*_VS2012x86_X64_ASM_PATH = DEF(VS2012x86_BINX64)\ml64.exe
-*_VS2012x86_X64_SLINK_PATH = DEF(VS2012x86_BINX64)\lib.exe
-*_VS2012x86_X64_DLINK_PATH = DEF(VS2012x86_BINX64)\link.exe
-*_VS2012x86_X64_ASLDLINK_PATH = DEF(VS2012x86_BINX64)\link.exe
-
- DEBUG_VS2012x86_X64_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Z7
-RELEASE_VS2012x86_X64_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF
-NOOPT_VS2012x86_X64_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Z7 /Od
-
- DEBUG_VS2012x86_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd /Zi
-RELEASE_VS2012x86_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd
-NOOPT_VS2012x86_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd /Zi
-
- DEBUG_VS2012x86_X64_NASM_FLAGS = -Ox -f win64 -g
-RELEASE_VS2012x86_X64_NASM_FLAGS = -Ox -f win64
-NOOPT_VS2012x86_X64_NASM_FLAGS = -O0 -f win64 -g
-
- DEBUG_VS2012x86_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
-RELEASE_VS2012x86_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=.data
-NOOPT_VS2012x86_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
-
-##################
-# EBC definitions
-##################
-*_VS2012x86_EBC_*_FAMILY = INTEL
-*_VS2012x86_EBC_*_DLL = DEF(VS2012x86_DLL)
-
-*_VS2012x86_EBC_PP_PATH = DEF(EBC_BINx86)\iec.exe
-*_VS2012x86_EBC_VFRPP_PATH = DEF(EBC_BINx86)\iec.exe
-*_VS2012x86_EBC_CC_PATH = DEF(EBC_BINx86)\iec.exe
-*_VS2012x86_EBC_SLINK_PATH = DEF(VS2012x86_BIN)\link.exe
-*_VS2012x86_EBC_DLINK_PATH = DEF(VS2012x86_BIN)\link.exe
-
-*_VS2012x86_EBC_PP_FLAGS = /nologo /E /TC /FIAutoGen.h
-*_VS2012x86_EBC_CC_FLAGS = /nologo /c /WX /W3 /FIAutoGen.h /D$(MODULE_ENTRY_POINT)=$(ARCH_ENTRY_POINT)
-*_VS2012x86_EBC_VFRPP_FLAGS = /nologo /E /TC /DVFRCOMPILE /FI$(MODULE_NAME)StrDefs.h
-*_VS2012x86_EBC_SLINK_FLAGS = /lib /NOLOGO /MACHINE:EBC
-*_VS2012x86_EBC_DLINK_FLAGS = "C:\Program Files (x86)\Intel\EBC\Lib\EbcLib.lib" /NOLOGO /NODEFAULTLIB /MACHINE:EBC /OPT:REF /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /MAP /ALIGN:32 /DRIVER
-
-
-####################################################################################
-#
-# Microsoft Visual Studio 2013
-#
-# VS2013 - Microsoft Visual Studio 2013 Professional Edition with Intel ASL
-# ASL - Intel ACPI Source Language Compiler
-####################################################################################
-# VS2013 - Microsoft Visual Studio 2013 Professional Edition
-*_VS2013_*_*_FAMILY = MSFT
-
-*_VS2013_*_MAKE_PATH = DEF(VS2013_BIN)\nmake.exe
-*_VS2013_*_MAKE_FLAGS = /nologo
-*_VS2013_*_RC_PATH = DEF(WINSDK8_BIN)\rc.exe
-
-*_VS2013_*_SLINK_FLAGS = /NOLOGO /LTCG
-*_VS2013_*_APP_FLAGS = /nologo /E /TC
-*_VS2013_*_PP_FLAGS = /nologo /E /TC /FIAutoGen.h
-*_VS2013_*_VFRPP_FLAGS = /nologo /E /TC /DVFRCOMPILE /FI$(MODULE_NAME)StrDefs.h
-*_VS2013_*_DEPS_FLAGS = DEF(MSFT_DEPS_FLAGS)
-*_VS2013_*_ASM16_PATH = DEF(VS2013_BIN)\ml.exe
-
-##################
-# ASL definitions
-##################
-*_VS2013_*_ASL_PATH = DEF(DEFAULT_WIN_ASL_BIN)
-*_VS2013_*_ASL_FLAGS = DEF(DEFAULT_WIN_ASL_FLAGS)
-*_VS2013_*_ASL_OUTFLAGS = DEF(DEFAULT_WIN_ASL_OUTFLAGS)
-*_VS2013_*_ASLCC_FLAGS = DEF(MSFT_ASLCC_FLAGS)
-*_VS2013_*_ASLPP_FLAGS = DEF(MSFT_ASLPP_FLAGS)
-*_VS2013_*_ASLDLINK_FLAGS = DEF(MSFT_ASLDLINK_FLAGS)
-
-##################
-# IA32 definitions
-##################
-*_VS2013_IA32_*_DLL = DEF(VS2013_DLL)
-
-*_VS2013_IA32_CC_PATH = DEF(VS2013_BIN)\cl.exe
-*_VS2013_IA32_VFRPP_PATH = DEF(VS2013_BIN)\cl.exe
-*_VS2013_IA32_SLINK_PATH = DEF(VS2013_BIN)\lib.exe
-*_VS2013_IA32_DLINK_PATH = DEF(VS2013_BIN)\link.exe
-*_VS2013_IA32_APP_PATH = DEF(VS2013_BIN)\cl.exe
-*_VS2013_IA32_PP_PATH = DEF(VS2013_BIN)\cl.exe
-*_VS2013_IA32_ASM_PATH = DEF(VS2013_BIN)\ml.exe
-*_VS2013_IA32_ASLCC_PATH = DEF(VS2013_BIN)\cl.exe
-*_VS2013_IA32_ASLPP_PATH = DEF(VS2013_BIN)\cl.exe
-*_VS2013_IA32_ASLDLINK_PATH = DEF(VS2013_BIN)\link.exe
-
- DEBUG_VS2013_IA32_CC_FLAGS = /nologo /arch:IA32 /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Z7 /Gw
-RELEASE_VS2013_IA32_CC_FLAGS = /nologo /arch:IA32 /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gw
-NOOPT_VS2013_IA32_CC_FLAGS = /nologo /arch:IA32 /c /WX /GS- /W4 /Gs32768 /D UNICODE /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Z7 /Od
-
- DEBUG_VS2013_IA32_ASM_FLAGS = /nologo /c /WX /W3 /Cx /coff /Zd /Zi
-RELEASE_VS2013_IA32_ASM_FLAGS = /nologo /c /WX /W3 /Cx /coff /Zd
-NOOPT_VS2013_IA32_ASM_FLAGS = /nologo /c /WX /W3 /Cx /coff /Zd /Zi
-
- DEBUG_VS2013_IA32_NASM_FLAGS = -Ox -f win32 -g
-RELEASE_VS2013_IA32_NASM_FLAGS = -Ox -f win32
-NOOPT_VS2013_IA32_NASM_FLAGS = -O0 -f win32 -g
-
- DEBUG_VS2013_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
-RELEASE_VS2013_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=.data
-NOOPT_VS2013_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
-
-##################
-# X64 definitions
-##################
-*_VS2013_X64_*_DLL = DEF(VS2013_DLL)
-
-*_VS2013_X64_CC_PATH = DEF(VS2013_BINX64)\cl.exe
-*_VS2013_X64_PP_PATH = DEF(VS2013_BINX64)\cl.exe
-*_VS2013_X64_APP_PATH = DEF(VS2013_BINX64)\cl.exe
-*_VS2013_X64_VFRPP_PATH = DEF(VS2013_BINX64)\cl.exe
-*_VS2013_X64_ASM_PATH = DEF(VS2013_BINX64)\ml64.exe
-*_VS2013_X64_SLINK_PATH = DEF(VS2013_BINX64)\lib.exe
-*_VS2013_X64_DLINK_PATH = DEF(VS2013_BINX64)\link.exe
-*_VS2013_X64_ASLCC_PATH = DEF(VS2013_BINX64)\cl.exe
-*_VS2013_X64_ASLPP_PATH = DEF(VS2013_BINX64)\cl.exe
-*_VS2013_X64_ASLDLINK_PATH = DEF(VS2013_BINX64)\link.exe
-
- DEBUG_VS2013_X64_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Z7 /Gw
-RELEASE_VS2013_X64_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Gw
-NOOPT_VS2013_X64_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Z7 /Od
-
- DEBUG_VS2013_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd /Zi
-RELEASE_VS2013_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd
-NOOPT_VS2013_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd /Zi
-
- DEBUG_VS2013_X64_NASM_FLAGS = -Ox -f win64 -g
-RELEASE_VS2013_X64_NASM_FLAGS = -Ox -f win64
-NOOPT_VS2013_X64_NASM_FLAGS = -O0 -f win64 -g
-
- DEBUG_VS2013_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
-RELEASE_VS2013_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=.data
-NOOPT_VS2013_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
-
-##################
-# EBC definitions
-##################
-*_VS2013_EBC_*_FAMILY = INTEL
-*_VS2013_EBC_*_DLL = DEF(VS2013_DLL)
-
-*_VS2013_EBC_PP_PATH = DEF(EBC_BIN)\iec.exe
-*_VS2013_EBC_VFRPP_PATH = DEF(EBC_BIN)\iec.exe
-*_VS2013_EBC_CC_PATH = DEF(EBC_BIN)\iec.exe
-*_VS2013_EBC_SLINK_PATH = DEF(VS2013_BIN)\link.exe
-*_VS2013_EBC_DLINK_PATH = DEF(VS2013_BIN)\link.exe
-
-*_VS2013_EBC_PP_FLAGS = /nologo /E /TC /FIAutoGen.h
-*_VS2013_EBC_CC_FLAGS = /nologo /c /WX /W3 /FIAutoGen.h /D$(MODULE_ENTRY_POINT)=$(ARCH_ENTRY_POINT)
-*_VS2013_EBC_VFRPP_FLAGS = /nologo /E /TC /DVFRCOMPILE /FI$(MODULE_NAME)StrDefs.h
-*_VS2013_EBC_SLINK_FLAGS = /lib /NOLOGO /MACHINE:EBC
-*_VS2013_EBC_DLINK_FLAGS = "C:\Program Files\Intel\EBC\Lib\EbcLib.lib" /NOLOGO /NODEFAULTLIB /MACHINE:EBC /OPT:REF /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /MAP /ALIGN:32 /DRIVER
-
-
-####################################################################################
-# VS2013x86 - Microsoft Visual Studio 2013 (x86) professional with Intel ASL
-# ASL - Intel ACPI Source Language Compiler (iasl.exe)
-####################################################################################
-# VS2013x86 - Microsoft Visual Studio 2013 (x86) professional Edition with Intel ASL
-*_VS2013x86_*_*_FAMILY = MSFT
-
-*_VS2013x86_*_MAKE_PATH = DEF(VS2013x86_BIN)\nmake.exe
-*_VS2013x86_*_MAKE_FLAGS = /nologo
-*_VS2013x86_*_RC_PATH = DEF(WINSDK8x86_BIN)\rc.exe
-
-*_VS2013x86_*_SLINK_FLAGS = /NOLOGO /LTCG
-*_VS2013x86_*_APP_FLAGS = /nologo /E /TC
-*_VS2013x86_*_PP_FLAGS = /nologo /E /TC /FIAutoGen.h
-*_VS2013x86_*_VFRPP_FLAGS = /nologo /E /TC /DVFRCOMPILE /FI$(MODULE_NAME)StrDefs.h
-*_VS2013x86_*_DEPS_FLAGS = DEF(MSFT_DEPS_FLAGS)
-*_VS2013x86_*_ASM16_PATH = DEF(VS2013x86_BIN)\ml.exe
-
-##################
-# ASL definitions
-##################
-*_VS2013x86_*_ASL_PATH = DEF(WIN_IASL_BIN)
-*_VS2013x86_*_ASL_FLAGS = DEF(DEFAULT_WIN_ASL_FLAGS)
-*_VS2013x86_*_ASL_OUTFLAGS = DEF(DEFAULT_WIN_ASL_OUTFLAGS)
-*_VS2013x86_*_ASLCC_FLAGS = DEF(MSFT_ASLCC_FLAGS)
-*_VS2013x86_*_ASLPP_FLAGS = DEF(MSFT_ASLPP_FLAGS)
-*_VS2013x86_*_ASLDLINK_FLAGS = DEF(MSFT_ASLDLINK_FLAGS)
-
-##################
-# IA32 definitions
-##################
-*_VS2013x86_IA32_*_DLL = DEF(VS2013x86_DLL)
-
-*_VS2013x86_IA32_CC_PATH = DEF(VS2013x86_BIN)\cl.exe
-*_VS2013x86_IA32_VFRPP_PATH = DEF(VS2013x86_BIN)\cl.exe
-*_VS2013x86_IA32_ASLCC_PATH = DEF(VS2013x86_BIN)\cl.exe
-*_VS2013x86_IA32_ASLPP_PATH = DEF(VS2013x86_BIN)\cl.exe
-*_VS2013x86_IA32_SLINK_PATH = DEF(VS2013x86_BIN)\lib.exe
-*_VS2013x86_IA32_DLINK_PATH = DEF(VS2013x86_BIN)\link.exe
-*_VS2013x86_IA32_ASLDLINK_PATH= DEF(VS2013x86_BIN)\link.exe
-*_VS2013x86_IA32_APP_PATH = DEF(VS2013x86_BIN)\cl.exe
-*_VS2013x86_IA32_PP_PATH = DEF(VS2013x86_BIN)\cl.exe
-*_VS2013x86_IA32_ASM_PATH = DEF(VS2013x86_BIN)\ml.exe
-
- DEBUG_VS2013x86_IA32_CC_FLAGS = /nologo /arch:IA32 /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Z7 /Gw
-RELEASE_VS2013x86_IA32_CC_FLAGS = /nologo /arch:IA32 /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Gw
-NOOPT_VS2013x86_IA32_CC_FLAGS = /nologo /arch:IA32 /c /WX /GS- /W4 /Gs32768 /D UNICODE /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Z7 /Od
-
- DEBUG_VS2013x86_IA32_ASM_FLAGS = /nologo /c /WX /W3 /Cx /coff /Zd /Zi
-RELEASE_VS2013x86_IA32_ASM_FLAGS = /nologo /c /WX /W3 /Cx /coff /Zd
-NOOPT_VS2013x86_IA32_ASM_FLAGS = /nologo /c /WX /W3 /Cx /coff /Zd /Zi
-
- DEBUG_VS2013x86_IA32_NASM_FLAGS = -Ox -f win32 -g
-RELEASE_VS2013x86_IA32_NASM_FLAGS = -Ox -f win32
-NOOPT_VS2013x86_IA32_NASM_FLAGS = -O0 -f win32 -g
-
- DEBUG_VS2013x86_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
-RELEASE_VS2013x86_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=.data
-NOOPT_VS2013x86_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
-
-##################
-# X64 definitions
-##################
-*_VS2013x86_X64_*_DLL = DEF(VS2013x86_DLL)
-
-*_VS2013x86_X64_CC_PATH = DEF(VS2013x86_BINX64)\cl.exe
-*_VS2013x86_X64_PP_PATH = DEF(VS2013x86_BINX64)\cl.exe
-*_VS2013x86_X64_APP_PATH = DEF(VS2013x86_BINX64)\cl.exe
-*_VS2013x86_X64_VFRPP_PATH = DEF(VS2013x86_BINX64)\cl.exe
-*_VS2013x86_X64_ASLCC_PATH = DEF(VS2013x86_BINX64)\cl.exe
-*_VS2013x86_X64_ASLPP_PATH = DEF(VS2013x86_BINX64)\cl.exe
-*_VS2013x86_X64_ASM_PATH = DEF(VS2013x86_BINX64)\ml64.exe
-*_VS2013x86_X64_SLINK_PATH = DEF(VS2013x86_BINX64)\lib.exe
-*_VS2013x86_X64_DLINK_PATH = DEF(VS2013x86_BINX64)\link.exe
-*_VS2013x86_X64_ASLDLINK_PATH = DEF(VS2013x86_BINX64)\link.exe
-
- DEBUG_VS2013x86_X64_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Z7 /Gw
-RELEASE_VS2013x86_X64_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /O1b2s /GL /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Gw
-NOOPT_VS2013x86_X64_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs32768 /D UNICODE /Gy /FIAutoGen.h /EHs-c- /GR- /GF /Z7 /Od
-
- DEBUG_VS2013x86_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd /Zi
-RELEASE_VS2013x86_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd
-NOOPT_VS2013x86_X64_ASM_FLAGS = /nologo /c /WX /W3 /Cx /Zd /Zi
-
- DEBUG_VS2013x86_X64_NASM_FLAGS = -Ox -f win64 -g
-RELEASE_VS2013x86_X64_NASM_FLAGS = -Ox -f win64
-NOOPT_VS2013x86_X64_NASM_FLAGS = -O0 -f win64 -g
-
- DEBUG_VS2013x86_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
-RELEASE_VS2013x86_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=.data
-NOOPT_VS2013x86_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
-
-##################
-# EBC definitions
-##################
-*_VS2013x86_EBC_*_FAMILY = INTEL
-*_VS2013x86_EBC_*_DLL = DEF(VS2013x86_DLL)
-
-*_VS2013x86_EBC_PP_PATH = DEF(EBC_BINx86)\iec.exe
-*_VS2013x86_EBC_VFRPP_PATH = DEF(EBC_BINx86)\iec.exe
-*_VS2013x86_EBC_CC_PATH = DEF(EBC_BINx86)\iec.exe
-*_VS2013x86_EBC_SLINK_PATH = DEF(VS2013x86_BIN)\link.exe
-*_VS2013x86_EBC_DLINK_PATH = DEF(VS2013x86_BIN)\link.exe
-
-*_VS2013x86_EBC_PP_FLAGS = /nologo /E /TC /FIAutoGen.h
-*_VS2013x86_EBC_CC_FLAGS = /nologo /c /WX /W3 /FIAutoGen.h /D$(MODULE_ENTRY_POINT)=$(ARCH_ENTRY_POINT)
-*_VS2013x86_EBC_VFRPP_FLAGS = /nologo /E /TC /DVFRCOMPILE /FI$(MODULE_NAME)StrDefs.h
-*_VS2013x86_EBC_SLINK_FLAGS = /lib /NOLOGO /MACHINE:EBC
-*_VS2013x86_EBC_DLINK_FLAGS = "C:\Program Files (x86)\Intel\EBC\Lib\EbcLib.lib" /NOLOGO /NODEFAULTLIB /MACHINE:EBC /OPT:REF /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /MAP /ALIGN:32 /DRIVER
-
-
####################################################################################
#
# Microsoft Visual Studio 2015
--
2.37.2
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH v3 03/13] BaseTools: Remove VS2008-VS2013 remnants
2023-04-16 17:05 [PATCH v3 00/13] BaseTools,CryptoPkg,EmulatorPkg,MdePkg,others: Delete CLANG35,CLANG38,VS2008-2013,EBC, deprecate GCC48,GCC49,GCC5, add GCC and GCCNOLTO, update CLANGDWARF Rebecca Cran
2023-04-16 17:05 ` [PATCH v3 01/13] BaseTools,CryptoPkg: Update CLANGDWARF, remove CLANG 35/38 toolchains Rebecca Cran
2023-04-16 17:05 ` [PATCH v3 02/13] BaseTools: Remove VS2008, 2010, 2012 and 2013 toolchain definitions Rebecca Cran
@ 2023-04-16 17:05 ` Rebecca Cran
2023-04-16 17:05 ` [PATCH v3 04/13] MdePkg: " Rebecca Cran
` (10 subsequent siblings)
13 siblings, 0 replies; 17+ messages in thread
From: Rebecca Cran @ 2023-04-16 17:05 UTC (permalink / raw)
To: devel, Liming Gao, Bob Feng, Yuwei Chen, Michael D Kinney,
Michael Kubacki, Sean Brogan, Chasel Chiu, Nate DeSimone,
Star Zeng, Andrew Fish, Ray Ni, Leif Lindholm, Zhiguang Liu,
Jian J Wang, Xiaoyu Lu, Guomin Jiang, Gua Guo, Ard Biesheuvel,
Pedro Falcato, Gerd Hoffmann, Marvin Häuser
Cc: Rebecca Cran, Oliver Smith-Denny
Remove remnants of Visual Studio 2008-2013 support from
Conf/tools_def.txt and various batch scripts.
Signed-off-by: Rebecca Cran <rebecca@bsdio.com>
Reviewed-by: Oliver Smith-Denny <osd@smith-denny.com>
---
BaseTools/Conf/tools_def.template | 12 ----
BaseTools/Scripts/SetVisualStudio.bat | 22 +------
BaseTools/Scripts/ShowEnvironment.bat | 44 --------------
BaseTools/get_vsvars.bat | 13 ----
BaseTools/set_vsprefix_envs.bat | 64 --------------------
BaseTools/toolsetup.bat | 24 +-------
6 files changed, 2 insertions(+), 177 deletions(-)
diff --git a/BaseTools/Conf/tools_def.template b/BaseTools/Conf/tools_def.template
index 006d03745809..782ebb3fe658 100755
--- a/BaseTools/Conf/tools_def.template
+++ b/BaseTools/Conf/tools_def.template
@@ -53,18 +53,6 @@ DEFINE RC_PATH = ENV(WINSDK_PATH_FOR_RC_EXE)\rc.exe
DEFINE WINSDK_BIN = ENV(WINSDK_PREFIX)
DEFINE WINSDKx86_BIN = ENV(WINSDKx86_PREFIX)
-# Microsoft Visual Studio 2010
-DEFINE WINSDK7_BIN = ENV(WINSDK7_PREFIX)
-DEFINE WINSDK7x86_BIN = ENV(WINSDK7x86_PREFIX)
-
-# Microsoft Visual Studio 2012 Update 1 (required for rc.exe that was not included in the initial release)
-DEFINE WINSDK71_BIN = ENV(WINSDK71_PREFIX)
-DEFINE WINSDK71x86_BIN = ENV(WINSDK71x86_PREFIX)
-
-# Microsoft Visual Studio 2013 Professional Edition
-DEFINE WINSDK8_BIN = ENV(WINSDK8_PREFIX)x86\
-DEFINE WINSDK8x86_BIN = ENV(WINSDK8x86_PREFIX)x64
-
# Microsoft Visual Studio 2015 Professional Edition
DEFINE WINSDK81_BIN = ENV(WINSDK81_PREFIX)x86\
DEFINE WINSDK81x86_BIN = ENV(WINSDK81x86_PREFIX)x64
diff --git a/BaseTools/Scripts/SetVisualStudio.bat b/BaseTools/Scripts/SetVisualStudio.bat
index 60d493a4110d..fba9f846effb 100755
--- a/BaseTools/Scripts/SetVisualStudio.bat
+++ b/BaseTools/Scripts/SetVisualStudio.bat
@@ -2,7 +2,7 @@
@REM Windows batch file to set up the Microsoft Visual Studio environment
@REM
@REM This script is used to set up one of the Microsoft Visual Studio
-@REM environments, VS2008x86, VS2010x86, VS2012x86 or VS2013x86 for
+@REM environments, VS2015 for
@REM building the Nt32Pkg/Nt32Pkg.dsc emulation environment to run on
@REM an X64 version of Windows.
@REM The system environment variables in this script are set by the
@@ -23,26 +23,6 @@ echo.
@set "COMMONTOOLSx64=C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\x86_amd64"
@goto SetVs
)
-
-@if defined VS120COMNTOOLS (
- @set "COMMONTOOLSx64=C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\x86_amd64"
- @goto SetVs
-)
-
-@if defined VS110COMNTOOLS (
- @set "COMMONTOOLSx64=C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin\x86_amd64"
- @goto SetVs
-)
-
-@if defined VS100COMNTOOLS (
- @set "COMMONTOOLSx64=C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\x86_amd64"
- @goto SetVs
-)
-
-@if defined VS90COMNTOOLS (
- @set "COMMONTOOLSx64=C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin\x86_amd64"
- @goto SetVs
-)
@echo.
@echo No version of Microsoft Visual Studio was found on this system
@echo.
diff --git a/BaseTools/Scripts/ShowEnvironment.bat b/BaseTools/Scripts/ShowEnvironment.bat
index b91886b6a955..1301d5fcb11b 100755
--- a/BaseTools/Scripts/ShowEnvironment.bat
+++ b/BaseTools/Scripts/ShowEnvironment.bat
@@ -80,50 +80,6 @@ if defined SRC_CONF @goto SetEnv
@goto End
:CheckVsVer
-@set "TEST_VS=C:\Program Files (x86)\Microsoft Visual Studio 9.0\"
-@if "%VSINSTALLDIR%"=="%TEST_VS%" (
- @echo TOOL_CHAIN_TAG = VS2008x86
- @goto :EOF
-)
-@set "TEST_VS=C:\Program Files\Microsoft Visual Studio 9.0\"
-@if "%VSINSTALLDIR%"=="%TEST_VS%" (
- @echo TOOL_CHAIN_TAG = VS2008
- @goto :EOF
-)
-
-@set "TEST_VS=C:\Program Files (x86)\Microsoft Visual Studio 10.0\"
-@if "%VSINSTALLDIR%"=="%TEST_VS%" (
- @echo TOOL_CHAIN_TAG = VS2010x86
- @goto :EOF
-)
-@set "TEST_VS=C:\Program Files\Microsoft Visual Studio 10.0\"
-@if "%VSINSTALLDIR%"=="%TEST_VS%" (
- @echo TOOL_CHAIN_TAG = VS2010
- @goto :EOF
-)
-
-@set "TEST_VS=C:\Program Files (x86)\Microsoft Visual Studio 11.0\"
-@if "%VSINSTALLDIR%"=="%TEST_VS%" (
- @echo TOOL_CHAIN_TAG = VS2012x86
- @goto :EOF
-)
-@set "TEST_VS=C:\Program Files\Microsoft Visual Studio 11.0\"
-@if "%VSINSTALLDIR%"=="%TEST_VS%" (
- @echo TOOL_CHAIN_TAG = VS2012
- @goto :EOF
-)
-
-@set "TEST_VS=C:\Program Files (x86)\Microsoft Visual Studio 12.0\"
-@if "%VSINSTALLDIR%"=="%TEST_VS%" (
- @echo TOOL_CHAIN_TAG = VS2013x86
- @goto :EOF
-)
-@set "TEST_VS=C:\Program Files\Microsoft Visual Studio 12.0\"
-@if "%VSINSTALLDIR%"=="%TEST_VS%" (
- @echo TOOL_CHAIN_TAG = VS2013
- @goto :EOF
-)
-
@set "TEST_VS=C:\Program Files (x86)\Microsoft Visual Studio 14.0\"
@if "%VSINSTALLDIR%"=="%TEST_VS%" (
@echo TOOL_CHAIN_TAG = VS2015x86
diff --git a/BaseTools/get_vsvars.bat b/BaseTools/get_vsvars.bat
index 3beb113be296..b67e147ee61a 100644
--- a/BaseTools/get_vsvars.bat
+++ b/BaseTools/get_vsvars.bat
@@ -13,8 +13,6 @@ if "%1"=="" goto main
if /I "%1"=="VS2019" goto VS2019Vars
if /I "%1"=="VS2017" goto VS2017Vars
if /I "%1"=="VS2015" goto VS2015Vars
-if /I "%1"=="VS2013" goto VS2013Vars
-if /I "%1"=="VS2012" goto VS2012Vars
:set_vsvars
if defined VCINSTALLDIR goto :EOF
@@ -85,16 +83,5 @@ if defined VCINSTALLDIR goto :done
:VS2015Vars
if defined VS140COMNTOOLS (call :read_vsvars "%VS140COMNTOOLS%") else (if /I "%1"=="VS2015" goto ToolNotInstall)
- :VS2013Vars
- if defined VS120COMNTOOLS ( call :read_vsvars "%VS120COMNTOOLS%") else (if /I "%1"=="VS2013" goto ToolNotInstall)
-
- :VS2012Vars
- if defined VS110COMNTOOLS (call :read_vsvars "%VS110COMNTOOLS%") else (if /I "%1"=="VS2012" goto ToolNotInstall)
-
- if defined VS100COMNTOOLS call :read_vsvars "%VS100COMNTOOLS%"
- if defined VS90COMNTOOLS call :read_vsvars "%VS90COMNTOOLS%"
- if defined VS80COMNTOOLS call :read_vsvars "%VS80COMNTOOLS%"
- if defined VS71COMNTOOLS call :read_vsvars "%VS71COMNTOOLS%"
-
:done
set GET_VSVARS_BAT_CHECK_DIR=
diff --git a/BaseTools/set_vsprefix_envs.bat b/BaseTools/set_vsprefix_envs.bat
index d4eb84f0648d..0b9a0c75b975 100644
--- a/BaseTools/set_vsprefix_envs.bat
+++ b/BaseTools/set_vsprefix_envs.bat
@@ -21,8 +21,6 @@ goto :EOF
if /I "%1"=="VS2019" goto SetVS2019
if /I "%1"=="VS2017" goto SetVS2017
if /I "%1"=="VS2015" goto SetVS2015
-if /I "%1"=="VS2013" goto SetVS2013
-if /I "%1"=="VS2012" goto SetVS2012
if defined VS71COMNTOOLS (
if not defined VS2003_PREFIX (
@@ -30,68 +28,6 @@ if defined VS71COMNTOOLS (
)
)
-if defined VS80COMNTOOLS (
- if not defined VS2005_PREFIX (
- set "VS2005_PREFIX=%VS80COMNTOOLS:~0,-14%"
- )
-)
-
-if defined VS90COMNTOOLS (
- if not defined VS2008_PREFIX (
- set "VS2008_PREFIX=%VS90COMNTOOLS:~0,-14%"
- )
- if not defined WINSDK_PREFIX (
- set "WINSDK_PREFIX=c:\Program Files\Microsoft SDKs\Windows\v6.0A\bin\"
- )
- if not defined WINSDKx86_PREFIX (
- set "WINSDKx86_PREFIX=c:\Program Files (x86)\Microsoft SDKs\Windows\v6.0A\bin\"
- )
-)
-
-if defined VS100COMNTOOLS (
- if not defined VS2010_PREFIX (
- set "VS2010_PREFIX=%VS100COMNTOOLS:~0,-14%"
- )
- if not defined WINSDK7_PREFIX (
- set "WINSDK7_PREFIX=c:\Program Files\Microsoft SDKs\Windows\v7.0A\Bin\"
- )
- if not defined WINSDK7x86_PREFIX (
- set "WINSDK7x86_PREFIX=c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\"
- )
-)
-
-:SetVS2012
-if defined VS110COMNTOOLS (
- if not defined VS2012_PREFIX (
- set "VS2012_PREFIX=%VS110COMNTOOLS:~0,-14%"
- )
- if not defined WINSDK71_PREFIX (
- set "WINSDK71_PREFIX=c:\Program Files\Microsoft SDKs\Windows\v7.1A\Bin\"
- )
- if not defined WINSDK71x86_PREFIX (
- set "WINSDK71x86_PREFIX=c:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Bin\"
- )
-) else (
- if /I "%1"=="VS2012" goto ToolNotInstall
-)
-if /I "%1"=="VS2012" goto SetWinDDK
-
-:SetVS2013
-if defined VS120COMNTOOLS (
- if not defined VS2013_PREFIX (
- set "VS2013_PREFIX=%VS120COMNTOOLS:~0,-14%"
- )
- if not defined WINSDK8_PREFIX (
- set "WINSDK8_PREFIX=c:\Program Files\Windows Kits\8.0\bin\"
- )
- if not defined WINSDK8x86_PREFIX (
- set "WINSDK8x86_PREFIX=c:\Program Files (x86)\Windows Kits\8.0\bin\"
- )
-) else (
- if /I "%1"=="VS2013" goto ToolNotInstall
-)
-if /I "%1"=="VS2013" goto SetWinDDK
-
:SetVS2015
if defined VS140COMNTOOLS (
if not defined VS2015_PREFIX (
diff --git a/BaseTools/toolsetup.bat b/BaseTools/toolsetup.bat
index 58fd26a4b585..25d13d559cd6 100755
--- a/BaseTools/toolsetup.bat
+++ b/BaseTools/toolsetup.bat
@@ -60,18 +60,6 @@ if /I "%1"=="/?" goto Usage
set VSTool=VS2015
goto loop
)
- if /I "%1"=="VS2013" (
- shift
- set VS2013=TRUE
- set VSTool=VS2013
- goto loop
- )
- if /I "%1"=="VS2012" (
- shift
- set VS2012=TRUE
- set VSTool=VS2012
- goto loop
- )
if "%1"=="" goto setup_workspace
if exist %1 (
if not defined BASE_TOOLS_PATH (
@@ -189,12 +177,6 @@ if defined VS2019 (
) else if defined VS2015 (
call %EDK_TOOLS_PATH%\set_vsprefix_envs.bat VS2015
call %EDK_TOOLS_PATH%\get_vsvars.bat VS2015
-) else if defined VS2013 (
- call %EDK_TOOLS_PATH%\set_vsprefix_envs.bat VS2013
- call %EDK_TOOLS_PATH%\get_vsvars.bat VS2013
-) else if defined VS2012 (
- call %EDK_TOOLS_PATH%\set_vsprefix_envs.bat VS2012
- call %EDK_TOOLS_PATH%\get_vsvars.bat VS2012
) else (
call %EDK_TOOLS_PATH%\set_vsprefix_envs.bat
call %EDK_TOOLS_PATH%\get_vsvars.bat
@@ -472,7 +454,7 @@ goto end
:Usage
@echo.
- echo Usage: "%0 [-h | -help | --help | /h | /help | /?] [ Rebuild | ForceRebuild ] [Reconfig] [base_tools_path [edk_tools_path]] [VS2019] [VS2017] [VS2015] [VS2013] [VS2012]"
+ echo Usage: "%0 [-h | -help | --help | /h | /help | /?] [ Rebuild | ForceRebuild ] [Reconfig] [base_tools_path [edk_tools_path]] [VS2019] [VS2017] [VS2015]"
@echo.
@echo base_tools_path BaseTools project path, BASE_TOOLS_PATH will be set to this path.
@echo edk_tools_path EDK_TOOLS_PATH will be set to this path.
@@ -481,8 +463,6 @@ goto end
@echo ForceRebuild If sources are available, rebuild all tools regardless of
@echo whether they have been updated or not.
@echo Reconfig Reinstall target.txt, tools_def.txt and build_rule.txt.
- @echo VS2012 Set the env for VS2012 build.
- @echo VS2013 Set the env for VS2013 build.
@echo VS2015 Set the env for VS2015 build.
@echo VS2017 Set the env for VS2017 build.
@echo VS2019 Set the env for VS2019 build.
@@ -495,8 +475,6 @@ set RECONFIG=
set VS2019=
set VS2017=
set VS2015=
-set VS2013=
-set VS2012=
set VSTool=
popd
--
2.37.2
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH v3 04/13] MdePkg: Remove VS2008-VS2013 remnants
2023-04-16 17:05 [PATCH v3 00/13] BaseTools,CryptoPkg,EmulatorPkg,MdePkg,others: Delete CLANG35,CLANG38,VS2008-2013,EBC, deprecate GCC48,GCC49,GCC5, add GCC and GCCNOLTO, update CLANGDWARF Rebecca Cran
` (2 preceding siblings ...)
2023-04-16 17:05 ` [PATCH v3 03/13] BaseTools: Remove VS2008-VS2013 remnants Rebecca Cran
@ 2023-04-16 17:05 ` Rebecca Cran
2023-04-16 17:05 ` [PATCH v3 05/13] edksetup.bat: " Rebecca Cran
` (9 subsequent siblings)
13 siblings, 0 replies; 17+ messages in thread
From: Rebecca Cran @ 2023-04-16 17:05 UTC (permalink / raw)
To: devel, Liming Gao, Bob Feng, Yuwei Chen, Michael D Kinney,
Michael Kubacki, Sean Brogan, Chasel Chiu, Nate DeSimone,
Star Zeng, Andrew Fish, Ray Ni, Leif Lindholm, Zhiguang Liu,
Jian J Wang, Xiaoyu Lu, Guomin Jiang, Gua Guo, Ard Biesheuvel,
Pedro Falcato, Gerd Hoffmann, Marvin Häuser
Cc: Rebecca Cran, Oliver Smith-Denny
Since Visual Studio versions older than VS2015 are no longer supported,
remove mention of them from MdePkg.
Signed-off-by: Rebecca Cran <rebecca@bsdio.com>
Reviewed-by: Oliver Smith-Denny <osd@smith-denny.com>
---
MdePkg/Include/Ia32/ProcessorBind.h | 8 ++------
MdePkg/Include/X64/ProcessorBind.h | 8 ++------
2 files changed, 4 insertions(+), 12 deletions(-)
diff --git a/MdePkg/Include/Ia32/ProcessorBind.h b/MdePkg/Include/Ia32/ProcessorBind.h
index ee39d1cfe10b..62ca7f8607d3 100644
--- a/MdePkg/Include/Ia32/ProcessorBind.h
+++ b/MdePkg/Include/Ia32/ProcessorBind.h
@@ -88,19 +88,15 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
#if defined (_MSC_VER) && _MSC_VER >= 1800
-//
-// Disable these warnings for VS2013.
-//
-
//
// This warning is for potentially uninitialized local variable, and it may cause false
-// positive issues in VS2013 and VS2015 build
+// positive issues in VS2015 build
//
#pragma warning ( disable : 4701 )
//
// This warning is for potentially uninitialized local pointer variable, and it may cause
-// false positive issues in VS2013 and VS2015 build
+// false positive issues in VS2015 build
//
#pragma warning ( disable : 4703 )
diff --git a/MdePkg/Include/X64/ProcessorBind.h b/MdePkg/Include/X64/ProcessorBind.h
index f0a4d00142b9..cdbb4fd6d3d1 100644
--- a/MdePkg/Include/X64/ProcessorBind.h
+++ b/MdePkg/Include/X64/ProcessorBind.h
@@ -102,19 +102,15 @@
#if defined (_MSC_VER) && _MSC_VER >= 1800
-//
-// Disable these warnings for VS2013.
-//
-
//
// This warning is for potentially uninitialized local variable, and it may cause false
-// positive issues in VS2013 and VS2015 build
+// positive issues in VS2015 build
//
#pragma warning ( disable : 4701 )
//
// This warning is for potentially uninitialized local pointer variable, and it may cause
-// false positive issues in VS2013 and VS2015 build
+// false positive issues in VS2015 build
//
#pragma warning ( disable : 4703 )
--
2.37.2
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH v3 05/13] edksetup.bat: Remove VS2008-VS2013 remnants
2023-04-16 17:05 [PATCH v3 00/13] BaseTools,CryptoPkg,EmulatorPkg,MdePkg,others: Delete CLANG35,CLANG38,VS2008-2013,EBC, deprecate GCC48,GCC49,GCC5, add GCC and GCCNOLTO, update CLANGDWARF Rebecca Cran
` (3 preceding siblings ...)
2023-04-16 17:05 ` [PATCH v3 04/13] MdePkg: " Rebecca Cran
@ 2023-04-16 17:05 ` Rebecca Cran
2023-04-16 17:05 ` [PATCH v3 06/13] BaseTools: Remove unused IPHONE_TOOLS and SOURCERY_CYGWIN_TOOLS defs Rebecca Cran
` (8 subsequent siblings)
13 siblings, 0 replies; 17+ messages in thread
From: Rebecca Cran @ 2023-04-16 17:05 UTC (permalink / raw)
To: devel, Liming Gao, Bob Feng, Yuwei Chen, Michael D Kinney,
Michael Kubacki, Sean Brogan, Chasel Chiu, Nate DeSimone,
Star Zeng, Andrew Fish, Ray Ni, Leif Lindholm, Zhiguang Liu,
Jian J Wang, Xiaoyu Lu, Guomin Jiang, Gua Guo, Ard Biesheuvel,
Pedro Falcato, Gerd Hoffmann, Marvin Häuser
Cc: Rebecca Cran, Oliver Smith-Denny
Since Visual Studio versions older than VS2015 are no longer supported,
remove mention of them from edksetup.bat.
Signed-off-by: Rebecca Cran <rebecca@bsdio.com>
Reviewed-by: Oliver Smith-Denny <osd@smith-denny.com>
---
edksetup.bat | 6 +-----
1 file changed, 1 insertion(+), 5 deletions(-)
diff --git a/edksetup.bat b/edksetup.bat
index 7ad137bb3e9b..2fdf130e00e2 100755
--- a/edksetup.bat
+++ b/edksetup.bat
@@ -148,19 +148,15 @@ if /I "%1"=="ForceRebuild" shift
if /I "%1"=="VS2019" shift
if /I "%1"=="VS2017" shift
if /I "%1"=="VS2015" shift
-if /I "%1"=="VS2013" shift
-if /I "%1"=="VS2012" shift
if "%1"=="" goto end
:Usage
@echo.
- @echo Usage: "%0 [-h | -help | --help | /h | /help | /?] [Reconfig] [Rebuild] [ForceRebuild] [VS2019] [VS2017] [VS2015] [VS2013] [VS2012]"
+ @echo Usage: "%0 [-h | -help | --help | /h | /help | /?] [Reconfig] [Rebuild] [ForceRebuild] [VS2019] [VS2017] [VS2015]"
@echo.
@echo Reconfig Reinstall target.txt, tools_def.txt and build_rule.txt.
@echo Rebuild Perform incremental rebuild of BaseTools binaries.
@echo ForceRebuild Force a full rebuild of BaseTools binaries.
- @echo VS2012 Set the env for VS2012 build.
- @echo VS2013 Set the env for VS2013 build.
@echo VS2015 Set the env for VS2015 build.
@echo VS2017 Set the env for VS2017 build.
@echo VS2019 Set the env for VS2019 build.
--
2.37.2
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH v3 06/13] BaseTools: Remove unused IPHONE_TOOLS and SOURCERY_CYGWIN_TOOLS defs
2023-04-16 17:05 [PATCH v3 00/13] BaseTools,CryptoPkg,EmulatorPkg,MdePkg,others: Delete CLANG35,CLANG38,VS2008-2013,EBC, deprecate GCC48,GCC49,GCC5, add GCC and GCCNOLTO, update CLANGDWARF Rebecca Cran
` (4 preceding siblings ...)
2023-04-16 17:05 ` [PATCH v3 05/13] edksetup.bat: " Rebecca Cran
@ 2023-04-16 17:05 ` Rebecca Cran
2023-04-16 17:05 ` [PATCH v3 07/13] BaseTools: Remove EBC (EFI Byte Code) compiler definitions Rebecca Cran
` (7 subsequent siblings)
13 siblings, 0 replies; 17+ messages in thread
From: Rebecca Cran @ 2023-04-16 17:05 UTC (permalink / raw)
To: devel, Liming Gao, Bob Feng, Yuwei Chen, Michael D Kinney,
Michael Kubacki, Sean Brogan, Chasel Chiu, Nate DeSimone,
Star Zeng, Andrew Fish, Ray Ni, Leif Lindholm, Zhiguang Liu,
Jian J Wang, Xiaoyu Lu, Guomin Jiang, Gua Guo, Ard Biesheuvel,
Pedro Falcato, Gerd Hoffmann, Marvin Häuser
Cc: Rebecca Cran, Oliver Smith-Denny
Remove the unused IPHONE_TOOLS and SOURCERY_CYGWIN_TOOLS definitions
from Conf/tools_def.template.
Signed-off-by: Rebecca Cran <rebecca@bsdio.com>
Reviewed-by: Oliver Smith-Denny <osd@smith-denny.com>
---
BaseTools/Conf/tools_def.template | 4 ----
1 file changed, 4 deletions(-)
diff --git a/BaseTools/Conf/tools_def.template b/BaseTools/Conf/tools_def.template
index 782ebb3fe658..39f17067e153 100755
--- a/BaseTools/Conf/tools_def.template
+++ b/BaseTools/Conf/tools_def.template
@@ -102,10 +102,6 @@ DEFINE MSFT_ASLPP_FLAGS = /nologo /E /C /FIAutoGen.h
DEFINE MSFT_ASLCC_FLAGS = /nologo /c /FIAutoGen.h /TC /Dmain=ReferenceAcpiTable
DEFINE MSFT_ASLDLINK_FLAGS = /NODEFAULTLIB /ENTRY:ReferenceAcpiTable /SUBSYSTEM:CONSOLE
-DEFINE IPHONE_TOOLS = /Developer/Platforms/iPhoneOS.platform/Developer
-
-DEFINE SOURCERY_CYGWIN_TOOLS = /cygdrive/c/Program Files/CodeSourcery/Sourcery G++ Lite/bin
-
DEFINE DTCPP_BIN = ENV(DTCPP_PREFIX)cpp
DEFINE DTC_BIN = ENV(DTC_PREFIX)dtc
--
2.37.2
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH v3 07/13] BaseTools: Remove EBC (EFI Byte Code) compiler definitions
2023-04-16 17:05 [PATCH v3 00/13] BaseTools,CryptoPkg,EmulatorPkg,MdePkg,others: Delete CLANG35,CLANG38,VS2008-2013,EBC, deprecate GCC48,GCC49,GCC5, add GCC and GCCNOLTO, update CLANGDWARF Rebecca Cran
` (5 preceding siblings ...)
2023-04-16 17:05 ` [PATCH v3 06/13] BaseTools: Remove unused IPHONE_TOOLS and SOURCERY_CYGWIN_TOOLS defs Rebecca Cran
@ 2023-04-16 17:05 ` Rebecca Cran
2023-04-16 17:05 ` [PATCH v3 08/13] BaseTools: Update VS toolchain descriptions in tools_def.txt.template Rebecca Cran
` (6 subsequent siblings)
13 siblings, 0 replies; 17+ messages in thread
From: Rebecca Cran @ 2023-04-16 17:05 UTC (permalink / raw)
To: devel, Liming Gao, Bob Feng, Yuwei Chen, Michael D Kinney,
Michael Kubacki, Sean Brogan, Chasel Chiu, Nate DeSimone,
Star Zeng, Andrew Fish, Ray Ni, Leif Lindholm, Zhiguang Liu,
Jian J Wang, Xiaoyu Lu, Guomin Jiang, Gua Guo, Ard Biesheuvel,
Pedro Falcato, Gerd Hoffmann, Marvin Häuser
Cc: Rebecca Cran, Oliver Smith-Denny
The edk2-stable202302 release was the last to support building
EFI Byte Code drivers. Since the Intel EFI Byte Code Compiler is no
longer available, a decision has been made to remove support for EBC
from edk2.
Remove the definitions for Intel's EBC compiler from
Conf/tools_def.template.
Signed-off-by: Rebecca Cran <rebecca@bsdio.com>
Reviewed-by: Oliver Smith-Denny <osd@smith-denny.com>
---
BaseTools/Conf/tools_def.template | 98 --------------------
1 file changed, 98 deletions(-)
diff --git a/BaseTools/Conf/tools_def.template b/BaseTools/Conf/tools_def.template
index 39f17067e153..5fad1b292a60 100755
--- a/BaseTools/Conf/tools_def.template
+++ b/BaseTools/Conf/tools_def.template
@@ -67,10 +67,6 @@ DEFINE WINSDK10_BIN = ENV(WINSDK10_PREFIX)DEF(VS_HOST)
DEFINE WINDDK_BIN16 = ENV(WINDDK3790_PREFIX)bin16
DEFINE WINDDK_BINX64 = ENV(WINDDK3790_PREFIX)win64\x86\amd64
-DEFINE EBC_BIN = C:\Program Files\Intel\EBC\Bin
-DEFINE EBC_BINx86 = C:\Program Files (x86)\Intel\EBC\Bin
-
-
DEFINE CYGWIN_BIN = c:/cygwin/bin
DEFINE CYGWIN_BINIA32 = c:/cygwin/opt/tiano/i386-tiano-pe/i386-tiano-pe/bin/
DEFINE CYGWIN_BINX64 = c:/cygwin/opt/tiano/x86_64-pc-mingw64/x86_64-pc-mingw64/bin/
@@ -135,16 +131,12 @@ DEFINE DTC_BIN = ENV(DTC_PREFIX)dtc
# Microsoft Visual Studio 2015 Professional Edition
# Microsoft Windows Server 2003 Driver Development Kit (Microsoft WINDDK) version 3790.1830
# Optional:
-# Required to build EBC drivers:
-# Intel(r) Compiler for Efi Byte Code (Intel(r) EBC Compiler)
# Required to build platforms or ACPI tables:
# Intel(r) ACPI Compiler (iasl.exe) from
# https://acpica.org/downloads
# VS2017 -win32- Requires:
# Microsoft Visual Studio 2017 version 15.2 (15.4 for ARM64) or later
# Optional:
-# Required to build EBC drivers:
-# Intel(r) Compiler for Efi Byte Code (Intel(r) EBC Compiler)
# Required to build platforms or ACPI tables:
# Intel(r) ACPI Compiler (iasl.exe) from
# https://acpica.org/downloads
@@ -154,8 +146,6 @@ DEFINE DTC_BIN = ENV(DTC_PREFIX)dtc
# VS2019 -win32- Requires:
# Microsoft Visual Studio 2019 version 16.2 or later
# Optional:
-# Required to build EBC drivers:
-# Intel(r) Compiler for Efi Byte Code (Intel(r) EBC Compiler)
# Required to build platforms or ACPI tables:
# Intel(r) ACPI Compiler (iasl.exe) from
# https://acpica.org/downloads
@@ -224,22 +214,6 @@ DEFINE DTC_BIN = ENV(DTC_PREFIX)dtc
####################################################################################
####################################################################################
#
-# Intel EFI Byte Code Compiler (Template)
-#
-####################################################################################
-# *_*_EBC_*_FAMILY = INTEL
-#
-# *_*_EBC_PP_PATH = C:\Program Files\Intel\EBC\Bin\iec.exe
-# *_*_EBC_CC_PATH = C:\Program Files\Intel\EBC\Bin\iec.exe
-# *_*_EBC_SLINK_PATH = C:\Program Files\Intel\EBC\Bin\link.exe
-#
-# *_*_EBC_SLINK_FLAGS = /lib /NOLOGO /MACHINE:EBC
-# *_*_EBC_PP_FLAGS = /nologo /E /TC /FIAutoGen.h
-# *_*_EBC_CC_FLAGS = /nologo /FAcs /c /W3 /WX /FIAutoGen.h
-# *_*_EBC_DLINK_FLAGS = "C:\Program Files\Intel\EBC\Lib\EbcLib.lib" /NOLOGO /MACHINE:EBC /OPT:REF /NODEFAULTLIB /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /ALIGN:32 /DRIVER
-#
-####################################################################################
-#
# Intel ACPI Source Language Compiler (Template)
#
####################################################################################
@@ -354,25 +328,6 @@ NOOPT_VS2015_X64_NASM_FLAGS = -O0 -f win64 -g
RELEASE_VS2015_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=.data
NOOPT_VS2015_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
-##################
-# EBC definitions
-##################
-*_VS2015_EBC_*_FAMILY = INTEL
-*_VS2015_EBC_*_DLL = DEF(VS2015_DLL)
-
-*_VS2015_EBC_PP_PATH = DEF(EBC_BIN)\iec.exe
-*_VS2015_EBC_VFRPP_PATH = DEF(EBC_BIN)\iec.exe
-*_VS2015_EBC_CC_PATH = DEF(EBC_BIN)\iec.exe
-*_VS2015_EBC_SLINK_PATH = DEF(VS2015_BIN)\link.exe
-*_VS2015_EBC_DLINK_PATH = DEF(VS2015_BIN)\link.exe
-
-*_VS2015_EBC_PP_FLAGS = /nologo /E /TC /FIAutoGen.h
-*_VS2015_EBC_CC_FLAGS = /nologo /c /WX /W3 /FIAutoGen.h /D$(MODULE_ENTRY_POINT)=$(ARCH_ENTRY_POINT)
-*_VS2015_EBC_VFRPP_FLAGS = /nologo /E /TC /DVFRCOMPILE /FI$(MODULE_NAME)StrDefs.h
-*_VS2015_EBC_SLINK_FLAGS = /lib /NOLOGO /MACHINE:EBC
-*_VS2015_EBC_DLINK_FLAGS = "C:\Program Files\Intel\EBC\Lib\EbcLib.lib" /NOLOGO /NODEFAULTLIB /MACHINE:EBC /OPT:REF /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /MAP /ALIGN:32 /DRIVER
-
-
####################################################################################
# VS2015x86 - Microsoft Visual Studio 2015 (x86) professional with Intel ASL
# ASL - Intel ACPI Source Language Compiler (iasl.exe)
@@ -466,25 +421,6 @@ NOOPT_VS2015x86_X64_NASM_FLAGS = -O0 -f win64 -g
RELEASE_VS2015x86_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=.data
NOOPT_VS2015x86_X64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
-##################
-# EBC definitions
-##################
-*_VS2015x86_EBC_*_FAMILY = INTEL
-*_VS2015x86_EBC_*_DLL = DEF(VS2015x86_DLL)
-
-*_VS2015x86_EBC_PP_PATH = DEF(EBC_BINx86)\iec.exe
-*_VS2015x86_EBC_VFRPP_PATH = DEF(EBC_BINx86)\iec.exe
-*_VS2015x86_EBC_CC_PATH = DEF(EBC_BINx86)\iec.exe
-*_VS2015x86_EBC_SLINK_PATH = DEF(VS2015x86_BIN)\link.exe
-*_VS2015x86_EBC_DLINK_PATH = DEF(VS2015x86_BIN)\link.exe
-
-*_VS2015x86_EBC_PP_FLAGS = /nologo /E /TC /FIAutoGen.h
-*_VS2015x86_EBC_CC_FLAGS = /nologo /c /WX /W3 /FIAutoGen.h /D$(MODULE_ENTRY_POINT)=$(ARCH_ENTRY_POINT)
-*_VS2015x86_EBC_VFRPP_FLAGS = /nologo /E /TC /DVFRCOMPILE /FI$(MODULE_NAME)StrDefs.h
-*_VS2015x86_EBC_SLINK_FLAGS = /lib /NOLOGO /MACHINE:EBC
-*_VS2015x86_EBC_DLINK_FLAGS = "C:\Program Files (x86)\Intel\EBC\Lib\EbcLib.lib" /NOLOGO /NODEFAULTLIB /MACHINE:EBC /OPT:REF /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /MAP /ALIGN:32 /DRIVER
-
-
####################################################################################
# VS2017 - Microsoft Visual Studio 2017 with Intel ASL
# ASL - Intel ACPI Source Language Compiler (iasl.exe)
@@ -626,23 +562,6 @@ NOOPT_VS2017_AARCH64_ASM_FLAGS = /nologo
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
-##################
-*_VS2017_EBC_*_FAMILY = INTEL
-
-*_VS2017_EBC_PP_PATH = DEF(EBC_BINx86)\iec.exe
-*_VS2017_EBC_VFRPP_PATH = DEF(EBC_BINx86)\iec.exe
-*_VS2017_EBC_CC_PATH = DEF(EBC_BINx86)\iec.exe
-*_VS2017_EBC_SLINK_PATH = DEF(VS2017_BIN_IA32)\link.exe
-*_VS2017_EBC_DLINK_PATH = DEF(VS2017_BIN_IA32)\link.exe
-
-*_VS2017_EBC_PP_FLAGS = /nologo /E /TC /FIAutoGen.h
-*_VS2017_EBC_CC_FLAGS = /nologo /c /WX /W3 /FIAutoGen.h /D$(MODULE_ENTRY_POINT)=$(ARCH_ENTRY_POINT)
-*_VS2017_EBC_VFRPP_FLAGS = /nologo /E /TC /DVFRCOMPILE /FI$(MODULE_NAME)StrDefs.h
-*_VS2017_EBC_SLINK_FLAGS = /lib /NOLOGO /MACHINE:EBC
-*_VS2017_EBC_DLINK_FLAGS = "C:\Program Files (x86)\Intel\EBC\Lib\EbcLib.lib" /NOLOGO /NODEFAULTLIB /MACHINE:EBC /OPT:REF /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /MAP /ALIGN:32 /DRIVER
-
####################################################################################
# VS2019 - Microsoft Visual Studio 2019 with Intel ASL
# ASL - Intel ACPI Source Language Compiler (iasl.exe)
@@ -784,23 +703,6 @@ NOOPT_VS2019_AARCH64_ASM_FLAGS = /nologo
RELEASE_VS2019_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_VS2019_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
-##################
-*_VS2019_EBC_*_FAMILY = INTEL
-
-*_VS2019_EBC_PP_PATH = DEF(EBC_BINx86)\iec.exe
-*_VS2019_EBC_VFRPP_PATH = DEF(EBC_BINx86)\iec.exe
-*_VS2019_EBC_CC_PATH = DEF(EBC_BINx86)\iec.exe
-*_VS2019_EBC_SLINK_PATH = DEF(VS2019_BIN_IA32)\link.exe
-*_VS2019_EBC_DLINK_PATH = DEF(VS2019_BIN_IA32)\link.exe
-
-*_VS2019_EBC_PP_FLAGS = /nologo /E /TC /FIAutoGen.h
-*_VS2019_EBC_CC_FLAGS = /nologo /c /WX /W3 /FIAutoGen.h /D$(MODULE_ENTRY_POINT)=$(ARCH_ENTRY_POINT)
-*_VS2019_EBC_VFRPP_FLAGS = /nologo /E /TC /DVFRCOMPILE /FI$(MODULE_NAME)StrDefs.h
-*_VS2019_EBC_SLINK_FLAGS = /lib /NOLOGO /MACHINE:EBC
-*_VS2019_EBC_DLINK_FLAGS = "C:\Program Files (x86)\Intel\EBC\Lib\EbcLib.lib" /NOLOGO /NODEFAULTLIB /MACHINE:EBC /OPT:REF /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /MAP /ALIGN:32 /DRIVER
-
####################################################################################
# GCC Common
####################################################################################
--
2.37.2
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH v3 08/13] BaseTools: Update VS toolchain descriptions in tools_def.txt.template
2023-04-16 17:05 [PATCH v3 00/13] BaseTools,CryptoPkg,EmulatorPkg,MdePkg,others: Delete CLANG35,CLANG38,VS2008-2013,EBC, deprecate GCC48,GCC49,GCC5, add GCC and GCCNOLTO, update CLANGDWARF Rebecca Cran
` (6 preceding siblings ...)
2023-04-16 17:05 ` [PATCH v3 07/13] BaseTools: Remove EBC (EFI Byte Code) compiler definitions Rebecca Cran
@ 2023-04-16 17:05 ` Rebecca Cran
2023-04-16 17:05 ` [PATCH v3 09/13] BaseTools/Conf/tools_def.template: Add GCC and GCCNOLTO toolchains Rebecca Cran
` (5 subsequent siblings)
13 siblings, 0 replies; 17+ messages in thread
From: Rebecca Cran @ 2023-04-16 17:05 UTC (permalink / raw)
To: devel, Liming Gao, Bob Feng, Yuwei Chen, Michael D Kinney,
Michael Kubacki, Sean Brogan, Chasel Chiu, Nate DeSimone,
Star Zeng, Andrew Fish, Ray Ni, Leif Lindholm, Zhiguang Liu,
Jian J Wang, Xiaoyu Lu, Guomin Jiang, Gua Guo, Ard Biesheuvel,
Pedro Falcato, Gerd Hoffmann, Marvin Häuser
Cc: Rebecca Cran
Update the Visual Studio toolchain descriptions in
tools_def.txt.template:
- The WinDDK is no longer needed.
- Update 3 is required for VS 2015.
- VS 2005 has been removed.
Signed-off-by: Rebecca Cran <rebecca@bsdio.com>
---
BaseTools/Conf/tools_def.template | 7 ++-----
1 file changed, 2 insertions(+), 5 deletions(-)
diff --git a/BaseTools/Conf/tools_def.template b/BaseTools/Conf/tools_def.template
index 5fad1b292a60..56297637d1c2 100755
--- a/BaseTools/Conf/tools_def.template
+++ b/BaseTools/Conf/tools_def.template
@@ -128,8 +128,7 @@ DEFINE DTC_BIN = ENV(DTC_PREFIX)dtc
# Supported Tool Chains
# =====================
# VS2015 -win32- Requires:
-# Microsoft Visual Studio 2015 Professional Edition
-# Microsoft Windows Server 2003 Driver Development Kit (Microsoft WINDDK) version 3790.1830
+# Microsoft Visual Studio 2015 Professional Edition, Update 3
# Optional:
# Required to build platforms or ACPI tables:
# Intel(r) ACPI Compiler (iasl.exe) from
@@ -186,13 +185,11 @@ DEFINE DTC_BIN = ENV(DTC_PREFIX)dtc
# nasm compiler from
# NASM -- http://www.nasm.us/
# VS2015x86 -win64- Requires:
-# Microsoft Visual Studio 2015 (x86) Update 2 or above
-# Microsoft Windows Server 2003 Driver Development Kit (Microsoft WINDDK) version 3790.1830
+# Microsoft Visual Studio 2015 (x86) Update 3 or above
# Optional:
# Required to build platforms or ACPI tables:
# Intel(r) ACPI Compiler (iasl.exe) from
# https://acpica.org/downloads
-# * Commented out - All versions of VS2005 use the same standard install directory
#
####################################################################################
####################################################################################
--
2.37.2
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH v3 09/13] BaseTools/Conf/tools_def.template: Add GCC and GCCNOLTO toolchains
2023-04-16 17:05 [PATCH v3 00/13] BaseTools,CryptoPkg,EmulatorPkg,MdePkg,others: Delete CLANG35,CLANG38,VS2008-2013,EBC, deprecate GCC48,GCC49,GCC5, add GCC and GCCNOLTO, update CLANGDWARF Rebecca Cran
` (7 preceding siblings ...)
2023-04-16 17:05 ` [PATCH v3 08/13] BaseTools: Update VS toolchain descriptions in tools_def.txt.template Rebecca Cran
@ 2023-04-16 17:05 ` Rebecca Cran
2023-04-17 11:03 ` Gerd Hoffmann
2023-04-16 17:05 ` [PATCH v3 10/13] BaseTools: Only call LoadConfiguration once in build.py Rebecca Cran
` (4 subsequent siblings)
13 siblings, 1 reply; 17+ messages in thread
From: Rebecca Cran @ 2023-04-16 17:05 UTC (permalink / raw)
To: devel, Liming Gao, Bob Feng, Yuwei Chen, Michael D Kinney,
Michael Kubacki, Sean Brogan, Chasel Chiu, Nate DeSimone,
Star Zeng, Andrew Fish, Ray Ni, Leif Lindholm, Zhiguang Liu,
Jian J Wang, Xiaoyu Lu, Guomin Jiang, Gua Guo, Ard Biesheuvel,
Pedro Falcato, Gerd Hoffmann, Marvin Häuser
Cc: Rebecca Cran
Add a 'GCC' toolchain that's a copy of the existing GCC5 definition.
Add a 'GCCNOLTO' toolchain that's a copy of the existing GCC48
toolchain.
Signed-off-by: Rebecca Cran <rebecca@bsdio.com>
---
UnitTestFrameworkPkg/UnitTestFrameworkPkgHost.dsc.inc | 2 +
IntelFsp2Pkg/Tools/Tests/QemuFspPkg.dsc | 9 +-
EmulatorPkg/Unix/Host/Host.inf | 2 +
BaseTools/Conf/tools_def.template | 366 ++++++++++++++++++++
4 files changed, 378 insertions(+), 1 deletion(-)
diff --git a/UnitTestFrameworkPkg/UnitTestFrameworkPkgHost.dsc.inc b/UnitTestFrameworkPkg/UnitTestFrameworkPkgHost.dsc.inc
index 7866c36e6693..b24ecdbf8661 100644
--- a/UnitTestFrameworkPkg/UnitTestFrameworkPkgHost.dsc.inc
+++ b/UnitTestFrameworkPkg/UnitTestFrameworkPkgHost.dsc.inc
@@ -31,6 +31,8 @@ [BuildOptions]
!endif
GCC:*_GCC5_*_CC_FLAGS = --coverage
GCC:*_GCC5_*_DLINK_FLAGS = --coverage
+ GCC:*_GCC_*_CC_FLAGS = --coverage
+ GCC:*_GCC_*_DLINK_FLAGS = --coverage
[BuildOptions.common.EDKII.HOST_APPLICATION]
#
# MSFT
diff --git a/IntelFsp2Pkg/Tools/Tests/QemuFspPkg.dsc b/IntelFsp2Pkg/Tools/Tests/QemuFspPkg.dsc
index 31558121185d..2db3854274c8 100644
--- a/IntelFsp2Pkg/Tools/Tests/QemuFspPkg.dsc
+++ b/IntelFsp2Pkg/Tools/Tests/QemuFspPkg.dsc
@@ -461,10 +461,17 @@ [Components.IA32]
###################################################################################################
[BuildOptions]
# Append build options for EDK and EDKII drivers (= is Append, == is Replace)
- # Enable link-time optimization when building with GCC49
+ # Enable link-time optimization when building with GCC49 or GCCNOLTO
*_GCC49_IA32_CC_FLAGS = -flto
*_GCC49_IA32_DLINK_FLAGS = -flto
+ *_GCCNOLTO_IA32_CC_FLAGS = -flto
+ *_GCCNOLTO_IA32_DLINK_FLAGS = -flto
*_GCC5_IA32_CC_FLAGS = -fno-pic
*_GCC5_IA32_DLINK_FLAGS = -no-pie
*_GCC5_IA32_ASLCC_FLAGS = -fno-pic
*_GCC5_IA32_ASLDLINK_FLAGS = -no-pie
+ *_GCC_IA32_CC_FLAGS = -fno-pic
+ *_GCC_IA32_DLINK_FLAGS = -no-pie
+ *_GCC_IA32_ASLCC_FLAGS = -fno-pic
+ *_GCC_IA32_ASLDLINK_FLAGS = -no-pie
+
diff --git a/EmulatorPkg/Unix/Host/Host.inf b/EmulatorPkg/Unix/Host/Host.inf
index f5ebbed68344..90e8c36b6186 100644
--- a/EmulatorPkg/Unix/Host/Host.inf
+++ b/EmulatorPkg/Unix/Host/Host.inf
@@ -123,7 +123,9 @@ [BuildOptions]
GCC:*_*_X64_CC_FLAGS == -m64 -g -fshort-wchar -fno-strict-aliasing -Wall -malign-double -idirafter/usr/include -c -include $(DEST_DIR_DEBUG)/AutoGen.h -DSTRING_ARRAY_NAME=$(BASE_NAME)Strings
GCC:*_GCC48_X64_CC_FLAGS = "-DEFIAPI=__attribute__((ms_abi))"
GCC:*_GCC49_X64_CC_FLAGS = "-DEFIAPI=__attribute__((ms_abi))"
+ GCC:*_GCCNOLTO_X64_CC_FLAGS = "-DEFIAPI=__attribute__((ms_abi))"
GCC:*_GCC5_X64_CC_FLAGS = "-DEFIAPI=__attribute__((ms_abi))" -flto -DUSING_LTO -Os
+ GCC:*_GCC_X64_CC_FLAGS = "-DEFIAPI=__attribute__((ms_abi))" -flto -DUSING_LTO -Os
GCC:*_*_X64_PP_FLAGS == -m64 -E -x assembler-with-cpp -include $(DEST_DIR_DEBUG)/AutoGen.h
GCC:*_*_X64_ASM_FLAGS == -m64 -c -x assembler -imacros $(DEST_DIR_DEBUG)/AutoGen.h
diff --git a/BaseTools/Conf/tools_def.template b/BaseTools/Conf/tools_def.template
index 56297637d1c2..615d02f8ad9c 100755
--- a/BaseTools/Conf/tools_def.template
+++ b/BaseTools/Conf/tools_def.template
@@ -77,8 +77,13 @@ DEFINE GCC48_X64_PREFIX = ENV(GCC48_BIN)
DEFINE GCC49_IA32_PREFIX = ENV(GCC49_BIN)
DEFINE GCC49_X64_PREFIX = ENV(GCC49_BIN)
+DEFINE GCCNOLTO_IA32_PREFIX = ENV(GCCNOLTO_BIN)
+DEFINE GCCNOLTO_X64_PREFIX = ENV(GCCNOLTO_BIN)
+
DEFINE GCC5_IA32_PREFIX = ENV(GCC5_BIN)
DEFINE GCC5_X64_PREFIX = ENV(GCC5_BIN)
+DEFINE GCC_IA32_PREFIX = ENV(GCC_BIN)
+DEFINE GCC_X64_PREFIX = ENV(GCC_BIN)
DEFINE GCC_HOST_PREFIX = ENV(GCC_HOST_BIN)
DEFINE UNIX_IASL_BIN = ENV(IASL_PREFIX)iasl
@@ -1128,6 +1133,150 @@ RELEASE_GCC49_AARCH64_DLINK_XIPFLAGS = -z common-page-size=0x20
NOOPT_GCC49_AARCH64_DLINK_FLAGS = DEF(GCC49_AARCH64_DLINK_FLAGS) -O0
NOOPT_GCC49_AARCH64_DLINK_XIPFLAGS = -z common-page-size=0x20 -O0
+####################################################################################
+#
+# GCC NOLTO - This configuration is used to compile under Linux to produce
+# PE/COFF binaries using GCC without Link Time Optimization
+#
+####################################################################################
+*_GCCNOLTO_*_*_FAMILY = GCC
+
+*_GCCNOLTO_*_MAKE_PATH = DEF(GCC_HOST_PREFIX)make
+*_GCCNOLTO_*_*_DLL = ENV(GCCNOLTO_DLL)
+*_GCCNOLTO_*_ASL_PATH = DEF(UNIX_IASL_BIN)
+
+*_GCCNOLTO_*_PP_FLAGS = DEF(GCC_PP_FLAGS)
+*_GCCNOLTO_*_ASLPP_FLAGS = DEF(GCC_ASLPP_FLAGS)
+*_GCCNOLTO_*_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS)
+*_GCCNOLTO_*_VFRPP_FLAGS = DEF(GCC_VFRPP_FLAGS)
+*_GCCNOLTO_*_APP_FLAGS =
+*_GCCNOLTO_*_ASL_FLAGS = DEF(IASL_FLAGS)
+*_GCCNOLTO_*_ASL_OUTFLAGS = DEF(IASL_OUTFLAGS)
+*_GCCNOLTO_*_DEPS_FLAGS = DEF(GCC_DEPS_FLAGS)
+
+##################
+# GCCNOLTO IA32 definitions
+##################
+*_GCCNOLTO_IA32_OBJCOPY_PATH = DEF(GCCNOLTO_IA32_PREFIX)objcopy
+*_GCCNOLTO_IA32_CC_PATH = DEF(GCCNOLTO_IA32_PREFIX)gcc
+*_GCCNOLTO_IA32_SLINK_PATH = DEF(GCCNOLTO_IA32_PREFIX)ar
+*_GCCNOLTO_IA32_DLINK_PATH = DEF(GCCNOLTO_IA32_PREFIX)gcc
+*_GCCNOLTO_IA32_ASLDLINK_PATH = DEF(GCCNOLTO_IA32_PREFIX)gcc
+*_GCCNOLTO_IA32_ASM_PATH = DEF(GCCNOLTO_IA32_PREFIX)gcc
+*_GCCNOLTO_IA32_PP_PATH = DEF(GCCNOLTO_IA32_PREFIX)gcc
+*_GCCNOLTO_IA32_VFRPP_PATH = DEF(GCCNOLTO_IA32_PREFIX)gcc
+*_GCCNOLTO_IA32_ASLCC_PATH = DEF(GCCNOLTO_IA32_PREFIX)gcc
+*_GCCNOLTO_IA32_ASLPP_PATH = DEF(GCCNOLTO_IA32_PREFIX)gcc
+*_GCCNOLTO_IA32_RC_PATH = DEF(GCCNOLTO_IA32_PREFIX)objcopy
+
+*_GCCNOLTO_IA32_ASLCC_FLAGS = DEF(GCC49_ASLCC_FLAGS) -m32
+*_GCCNOLTO_IA32_ASLDLINK_FLAGS = DEF(GCC49_IA32_X64_ASLDLINK_FLAGS) -Wl,-m,elf_i386
+*_GCCNOLTO_IA32_ASM_FLAGS = DEF(GCC49_ASM_FLAGS) -m32 -march=i386
+*_GCCNOLTO_IA32_DLINK_FLAGS = DEF(GCC49_IA32_X64_DLINK_FLAGS) -Wl,-m,elf_i386,--oformat=elf32-i386
+*_GCCNOLTO_IA32_DLINK2_FLAGS = DEF(GCC49_IA32_DLINK2_FLAGS)
+*_GCCNOLTO_IA32_RC_FLAGS = DEF(GCC_IA32_RC_FLAGS)
+*_GCCNOLTO_IA32_OBJCOPY_FLAGS =
+*_GCCNOLTO_IA32_NASM_FLAGS = -f elf32
+
+ DEBUG_GCCNOLTO_IA32_CC_FLAGS = DEF(GCC49_IA32_CC_FLAGS)
+RELEASE_GCCNOLTO_IA32_CC_FLAGS = DEF(GCC49_IA32_CC_FLAGS) -Wno-unused-but-set-variable -Wno-unused-const-variable
+ NOOPT_GCCNOLTO_IA32_CC_FLAGS = DEF(GCC49_IA32_CC_FLAGS) -O0
+
+##################
+# GCCNOLTO X64 definitions
+##################
+*_GCCNOLTO_X64_OBJCOPY_PATH = DEF(GCCNOLTO_X64_PREFIX)objcopy
+*_GCCNOLTO_X64_CC_PATH = DEF(GCCNOLTO_X64_PREFIX)gcc
+*_GCCNOLTO_X64_SLINK_PATH = DEF(GCCNOLTO_X64_PREFIX)ar
+*_GCCNOLTO_X64_DLINK_PATH = DEF(GCCNOLTO_X64_PREFIX)gcc
+*_GCCNOLTO_X64_ASLDLINK_PATH = DEF(GCCNOLTO_X64_PREFIX)gcc
+*_GCCNOLTO_X64_ASM_PATH = DEF(GCCNOLTO_X64_PREFIX)gcc
+*_GCCNOLTO_X64_PP_PATH = DEF(GCCNOLTO_X64_PREFIX)gcc
+*_GCCNOLTO_X64_VFRPP_PATH = DEF(GCCNOLTO_X64_PREFIX)gcc
+*_GCCNOLTO_X64_ASLCC_PATH = DEF(GCCNOLTO_X64_PREFIX)gcc
+*_GCCNOLTO_X64_ASLPP_PATH = DEF(GCCNOLTO_X64_PREFIX)gcc
+*_GCCNOLTO_X64_RC_PATH = DEF(GCCNOLTO_X64_PREFIX)objcopy
+
+*_GCCNOLTO_X64_ASLCC_FLAGS = DEF(GCC49_ASLCC_FLAGS) -m64
+*_GCCNOLTO_X64_ASLDLINK_FLAGS = DEF(GCC49_IA32_X64_ASLDLINK_FLAGS) -Wl,-m,elf_x86_64
+*_GCCNOLTO_X64_ASM_FLAGS = DEF(GCC49_ASM_FLAGS) -m64
+*_GCCNOLTO_X64_DLINK_FLAGS = DEF(GCC49_X64_DLINK_FLAGS)
+*_GCCNOLTO_X64_DLINK2_FLAGS = DEF(GCC49_X64_DLINK2_FLAGS)
+*_GCCNOLTO_X64_RC_FLAGS = DEF(GCC_X64_RC_FLAGS)
+*_GCCNOLTO_X64_OBJCOPY_FLAGS =
+*_GCCNOLTO_X64_NASM_FLAGS = -f elf64
+
+ DEBUG_GCCNOLTO_X64_CC_FLAGS = DEF(GCC49_X64_CC_FLAGS)
+RELEASE_GCCNOLTO_X64_CC_FLAGS = DEF(GCC49_X64_CC_FLAGS) -Wno-unused-but-set-variable -Wno-unused-const-variable
+ NOOPT_GCCNOLTO_X64_CC_FLAGS = DEF(GCC49_X64_CC_FLAGS) -O0
+
+##################
+# GCCNOLTO ARM definitions
+##################
+*_GCCNOLTO_ARM_CC_PATH = ENV(GCCNOLTO_ARM_PREFIX)gcc
+*_GCCNOLTO_ARM_SLINK_PATH = ENV(GCCNOLTO_ARM_PREFIX)ar
+*_GCCNOLTO_ARM_DLINK_PATH = ENV(GCCNOLTO_ARM_PREFIX)gcc
+*_GCCNOLTO_ARM_ASLDLINK_PATH = ENV(GCCNOLTO_ARM_PREFIX)gcc
+*_GCCNOLTO_ARM_ASM_PATH = ENV(GCCNOLTO_ARM_PREFIX)gcc
+*_GCCNOLTO_ARM_PP_PATH = ENV(GCCNOLTO_ARM_PREFIX)gcc
+*_GCCNOLTO_ARM_VFRPP_PATH = ENV(GCCNOLTO_ARM_PREFIX)gcc
+*_GCCNOLTO_ARM_ASLCC_PATH = ENV(GCCNOLTO_ARM_PREFIX)gcc
+*_GCCNOLTO_ARM_ASLPP_PATH = ENV(GCCNOLTO_ARM_PREFIX)gcc
+*_GCCNOLTO_ARM_RC_PATH = ENV(GCCNOLTO_ARM_PREFIX)objcopy
+
+*_GCCNOLTO_ARM_ASLCC_FLAGS = DEF(GCC49_ASLCC_FLAGS)
+*_GCCNOLTO_ARM_ASLDLINK_FLAGS = DEF(GCC49_ARM_ASLDLINK_FLAGS)
+*_GCCNOLTO_ARM_ASM_FLAGS = DEF(GCC49_ARM_ASM_FLAGS)
+*_GCCNOLTO_ARM_DLINK_FLAGS = DEF(GCC49_ARM_DLINK_FLAGS)
+*_GCCNOLTO_ARM_DLINK2_FLAGS = DEF(GCC49_ARM_DLINK2_FLAGS)
+*_GCCNOLTO_ARM_DTCPP_FLAGS = DEF(GCC_DTCPP_FLAGS)
+*_GCCNOLTO_ARM_PLATFORM_FLAGS = -march=armv7-a
+*_GCCNOLTO_ARM_PP_FLAGS = $(PLATFORM_FLAGS) DEF(GCC_PP_FLAGS)
+*_GCCNOLTO_ARM_RC_FLAGS = DEF(GCC_ARM_RC_FLAGS)
+*_GCCNOLTO_ARM_VFRPP_FLAGS = $(PLATFORM_FLAGS) DEF(GCC_VFRPP_FLAGS)
+*_GCCNOLTO_ARM_CC_XIPFLAGS = DEF(GCC49_ARM_CC_XIPFLAGS)
+
+ DEBUG_GCCNOLTO_ARM_CC_FLAGS = DEF(GCC49_ARM_CC_FLAGS) -O0
+RELEASE_GCCNOLTO_ARM_CC_FLAGS = DEF(GCC49_ARM_CC_FLAGS) -Wno-unused-but-set-variable -Wno-unused-const-variable
+ NOOPT_GCCNOLTO_ARM_CC_FLAGS = DEF(GCC49_ARM_CC_FLAGS) -O0
+
+##################
+# GCCNOLTO AARCH64 definitions
+##################
+*_GCCNOLTO_AARCH64_CC_PATH = ENV(GCCNOLTO_AARCH64_PREFIX)gcc
+*_GCCNOLTO_AARCH64_SLINK_PATH = ENV(GCCNOLTO_AARCH64_PREFIX)ar
+*_GCCNOLTO_AARCH64_DLINK_PATH = ENV(GCCNOLTO_AARCH64_PREFIX)gcc
+*_GCCNOLTO_AARCH64_ASLDLINK_PATH = ENV(GCCNOLTO_AARCH64_PREFIX)gcc
+*_GCCNOLTO_AARCH64_ASM_PATH = ENV(GCCNOLTO_AARCH64_PREFIX)gcc
+*_GCCNOLTO_AARCH64_PP_PATH = ENV(GCCNOLTO_AARCH64_PREFIX)gcc
+*_GCCNOLTO_AARCH64_VFRPP_PATH = ENV(GCCNOLTO_AARCH64_PREFIX)gcc
+*_GCCNOLTO_AARCH64_ASLCC_PATH = ENV(GCCNOLTO_AARCH64_PREFIX)gcc
+*_GCCNOLTO_AARCH64_ASLPP_PATH = ENV(GCCNOLTO_AARCH64_PREFIX)gcc
+*_GCCNOLTO_AARCH64_RC_PATH = ENV(GCCNOLTO_AARCH64_PREFIX)objcopy
+
+*_GCCNOLTO_AARCH64_ASLCC_FLAGS = DEF(GCC49_ASLCC_FLAGS)
+*_GCCNOLTO_AARCH64_ASLDLINK_FLAGS = DEF(GCC49_AARCH64_ASLDLINK_FLAGS)
+*_GCCNOLTO_AARCH64_ASM_FLAGS = DEF(GCC49_AARCH64_ASM_FLAGS)
+*_GCCNOLTO_AARCH64_DLINK2_FLAGS = DEF(GCC49_AARCH64_DLINK2_FLAGS)
+*_GCCNOLTO_AARCH64_DTCPP_FLAGS = DEF(GCC_DTCPP_FLAGS)
+*_GCCNOLTO_AARCH64_PLATFORM_FLAGS =
+*_GCCNOLTO_AARCH64_PP_FLAGS = $(PLATFORM_FLAGS) DEF(GCC_PP_FLAGS)
+*_GCCNOLTO_AARCH64_RC_FLAGS = DEF(GCC_AARCH64_RC_FLAGS)
+*_GCCNOLTO_AARCH64_VFRPP_FLAGS = $(PLATFORM_FLAGS) DEF(GCC_VFRPP_FLAGS)
+*_GCCNOLTO_AARCH64_CC_XIPFLAGS = DEF(GCC49_AARCH64_CC_XIPFLAGS)
+
+ DEBUG_GCCNOLTO_AARCH64_CC_FLAGS = DEF(GCC49_AARCH64_CC_FLAGS) -O0
+ DEBUG_GCCNOLTO_AARCH64_DLINK_FLAGS = DEF(GCC49_AARCH64_DLINK_FLAGS)
+ DEBUG_GCCNOLTO_AARCH64_DLINK_XIPFLAGS = -z common-page-size=0x20
+
+RELEASE_GCCNOLTO_AARCH64_CC_FLAGS = DEF(GCC49_AARCH64_CC_FLAGS) -Wno-unused-but-set-variable -Wno-unused-const-variable
+RELEASE_GCCNOLTO_AARCH64_DLINK_FLAGS = DEF(GCC49_AARCH64_DLINK_FLAGS)
+RELEASE_GCCNOLTO_AARCH64_DLINK_XIPFLAGS = -z common-page-size=0x20
+
+ NOOPT_GCCNOLTO_AARCH64_CC_FLAGS = DEF(GCC49_AARCH64_CC_FLAGS) -O0
+ NOOPT_GCCNOLTO_AARCH64_DLINK_FLAGS = DEF(GCC49_AARCH64_DLINK_FLAGS) -O0
+ NOOPT_GCCNOLTO_AARCH64_DLINK_XIPFLAGS = -z common-page-size=0x20 -O0
+
####################################################################################
#
# GCC 5 - This configuration is used to compile under Linux to produce
@@ -1345,6 +1494,223 @@ RELEASE_GCC5_AARCH64_DLINK_XIPFLAGS = -z common-page-size=0x20
DEBUG_GCC5_LOONGARCH64_CC_FLAGS = DEF(GCC5_LOONGARCH64_CC_FLAGS)
RELEASE_GCC5_LOONGARCH64_CC_FLAGS = DEF(GCC5_LOONGARCH64_CC_FLAGS) -Wno-unused-but-set-variable -Wno-unused-variable
+####################################################################################
+#
+# GCC - This configuration is used to compile under Linux to produce
+# PE/COFF binaries using GCC 5 or newer
+#
+####################################################################################
+*_GCC_*_*_FAMILY = GCC
+
+*_GCC_*_MAKE_PATH = DEF(GCC_HOST_PREFIX)make
+*_GCC_*_*_DLL = ENV(GCC_DLL)
+*_GCC_*_ASL_PATH = DEF(UNIX_IASL_BIN)
+
+*_GCC_*_PP_FLAGS = DEF(GCC_PP_FLAGS)
+*_GCC_*_ASLPP_FLAGS = DEF(GCC_ASLPP_FLAGS)
+*_GCC_*_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS)
+*_GCC_*_VFRPP_FLAGS = DEF(GCC_VFRPP_FLAGS)
+*_GCC_*_APP_FLAGS =
+*_GCC_*_ASL_FLAGS = DEF(IASL_FLAGS)
+*_GCC_*_ASL_OUTFLAGS = DEF(IASL_OUTFLAGS)
+*_GCC_*_DEPS_FLAGS = DEF(GCC_DEPS_FLAGS)
+
+##################
+# GCC IA32 definitions
+##################
+*_GCC_IA32_OBJCOPY_PATH = DEF(GCC_IA32_PREFIX)objcopy
+*_GCC_IA32_CC_PATH = DEF(GCC_IA32_PREFIX)gcc
+*_GCC_IA32_SLINK_PATH = DEF(GCC_IA32_PREFIX)gcc-ar
+*_GCC_IA32_DLINK_PATH = DEF(GCC_IA32_PREFIX)gcc
+*_GCC_IA32_ASLDLINK_PATH = DEF(GCC_IA32_PREFIX)gcc
+*_GCC_IA32_ASM_PATH = DEF(GCC_IA32_PREFIX)gcc
+*_GCC_IA32_PP_PATH = DEF(GCC_IA32_PREFIX)gcc
+*_GCC_IA32_VFRPP_PATH = DEF(GCC_IA32_PREFIX)gcc
+*_GCC_IA32_ASLCC_PATH = DEF(GCC_IA32_PREFIX)gcc
+*_GCC_IA32_ASLPP_PATH = DEF(GCC_IA32_PREFIX)gcc
+*_GCC_IA32_RC_PATH = DEF(GCC_IA32_PREFIX)objcopy
+
+*_GCC_IA32_ASLCC_FLAGS = DEF(GCC5_ASLCC_FLAGS) -m32
+*_GCC_IA32_ASLDLINK_FLAGS = DEF(GCC5_IA32_X64_ASLDLINK_FLAGS) -Wl,-m,elf_i386 -no-pie
+*_GCC_IA32_ASM_FLAGS = DEF(GCC5_ASM_FLAGS) -m32 -march=i386
+*_GCC_IA32_DLINK2_FLAGS = DEF(GCC5_IA32_DLINK2_FLAGS) -no-pie
+*_GCC_IA32_RC_FLAGS = DEF(GCC_IA32_RC_FLAGS)
+*_GCC_IA32_OBJCOPY_FLAGS =
+*_GCC_IA32_NASM_FLAGS = -f elf32
+
+ DEBUG_GCC_IA32_CC_FLAGS = DEF(GCC5_IA32_CC_FLAGS) -flto
+ DEBUG_GCC_IA32_DLINK_FLAGS = DEF(GCC5_IA32_X64_DLINK_FLAGS) -flto -Os -Wl,-m,elf_i386,--oformat=elf32-i386
+
+RELEASE_GCC_IA32_CC_FLAGS = DEF(GCC5_IA32_CC_FLAGS) -flto -Wno-unused-but-set-variable -Wno-unused-const-variable
+RELEASE_GCC_IA32_DLINK_FLAGS = DEF(GCC5_IA32_X64_DLINK_FLAGS) -flto -Os -Wl,-m,elf_i386,--oformat=elf32-i386
+
+ NOOPT_GCC_IA32_CC_FLAGS = DEF(GCC5_IA32_CC_FLAGS) -O0
+ NOOPT_GCC_IA32_DLINK_FLAGS = DEF(GCC5_IA32_X64_DLINK_FLAGS) -Wl,-m,elf_i386,--oformat=elf32-i386 -O0
+
+##################
+# GCC X64 definitions
+##################
+*_GCC_X64_OBJCOPY_PATH = DEF(GCC_X64_PREFIX)objcopy
+*_GCC_X64_CC_PATH = DEF(GCC_X64_PREFIX)gcc
+*_GCC_X64_SLINK_PATH = DEF(GCC_X64_PREFIX)gcc-ar
+*_GCC_X64_DLINK_PATH = DEF(GCC_X64_PREFIX)gcc
+*_GCC_X64_ASLDLINK_PATH = DEF(GCC_X64_PREFIX)gcc
+*_GCC_X64_ASM_PATH = DEF(GCC_X64_PREFIX)gcc
+*_GCC_X64_PP_PATH = DEF(GCC_X64_PREFIX)gcc
+*_GCC_X64_VFRPP_PATH = DEF(GCC_X64_PREFIX)gcc
+*_GCC_X64_ASLCC_PATH = DEF(GCC_X64_PREFIX)gcc
+*_GCC_X64_ASLPP_PATH = DEF(GCC_X64_PREFIX)gcc
+*_GCC_X64_RC_PATH = DEF(GCC_X64_PREFIX)objcopy
+
+*_GCC_X64_ASLCC_FLAGS = DEF(GCC5_ASLCC_FLAGS) -m64
+*_GCC_X64_ASLDLINK_FLAGS = DEF(GCC5_IA32_X64_ASLDLINK_FLAGS) -Wl,-m,elf_x86_64
+*_GCC_X64_ASM_FLAGS = DEF(GCC5_ASM_FLAGS) -m64
+*_GCC_X64_DLINK2_FLAGS = DEF(GCC5_X64_DLINK2_FLAGS)
+*_GCC_X64_RC_FLAGS = DEF(GCC_X64_RC_FLAGS)
+*_GCC_X64_OBJCOPY_FLAGS =
+*_GCC_X64_NASM_FLAGS = -f elf64
+
+ DEBUG_GCC_X64_CC_FLAGS = DEF(GCC5_X64_CC_FLAGS) -flto -DUSING_LTO
+ DEBUG_GCC_X64_DLINK_FLAGS = DEF(GCC5_X64_DLINK_FLAGS) -flto -Os
+
+RELEASE_GCC_X64_CC_FLAGS = DEF(GCC5_X64_CC_FLAGS) -flto -DUSING_LTO -Wno-unused-but-set-variable -Wno-unused-const-variable
+RELEASE_GCC_X64_DLINK_FLAGS = DEF(GCC5_X64_DLINK_FLAGS) -flto -Os
+
+ NOOPT_GCC_X64_CC_FLAGS = DEF(GCC5_X64_CC_FLAGS) -O0
+ NOOPT_GCC_X64_DLINK_FLAGS = DEF(GCC5_X64_DLINK_FLAGS) -O0
+
+##################
+# GCC ARM definitions
+##################
+*_GCC_ARM_CC_PATH = ENV(GCC_ARM_PREFIX)gcc
+*_GCC_ARM_SLINK_PATH = ENV(GCC_ARM_PREFIX)gcc-ar
+*_GCC_ARM_DLINK_PATH = ENV(GCC_ARM_PREFIX)gcc
+*_GCC_ARM_ASLDLINK_PATH = ENV(GCC_ARM_PREFIX)gcc
+*_GCC_ARM_ASM_PATH = ENV(GCC_ARM_PREFIX)gcc
+*_GCC_ARM_PP_PATH = ENV(GCC_ARM_PREFIX)gcc
+*_GCC_ARM_VFRPP_PATH = ENV(GCC_ARM_PREFIX)gcc
+*_GCC_ARM_ASLCC_PATH = ENV(GCC_ARM_PREFIX)gcc
+*_GCC_ARM_ASLPP_PATH = ENV(GCC_ARM_PREFIX)gcc
+*_GCC_ARM_RC_PATH = ENV(GCC_ARM_PREFIX)objcopy
+
+*_GCC_ARM_ASLCC_FLAGS = DEF(GCC5_ASLCC_FLAGS)
+*_GCC_ARM_ASLDLINK_FLAGS = DEF(GCC5_ARM_ASLDLINK_FLAGS)
+*_GCC_ARM_ASM_FLAGS = DEF(GCC5_ARM_ASM_FLAGS)
+*_GCC_ARM_DLINK2_FLAGS = DEF(GCC5_ARM_DLINK2_FLAGS)
+*_GCC_ARM_DTCPP_FLAGS = DEF(GCC_DTCPP_FLAGS)
+*_GCC_ARM_PLATFORM_FLAGS = -march=armv7-a -mfloat-abi=soft
+*_GCC_ARM_PP_FLAGS = $(PLATFORM_FLAGS) DEF(GCC_PP_FLAGS)
+*_GCC_ARM_RC_FLAGS = DEF(GCC_ARM_RC_FLAGS)
+*_GCC_ARM_VFRPP_FLAGS = $(PLATFORM_FLAGS) DEF(GCC_VFRPP_FLAGS)
+*_GCC_ARM_CC_XIPFLAGS = DEF(GCC5_ARM_CC_XIPFLAGS)
+
+ DEBUG_GCC_ARM_CC_FLAGS = DEF(GCC5_ARM_CC_FLAGS) -flto -Wno-unused-but-set-variable -Wno-unused-const-variable
+ DEBUG_GCC_ARM_DLINK_FLAGS = DEF(GCC5_ARM_DLINK_FLAGS) -flto -Os -L$(WORKSPACE)/ArmPkg/Library/GccLto -llto-arm -Wl,-plugin-opt=-pass-through=-llto-arm
+
+RELEASE_GCC_ARM_CC_FLAGS = DEF(GCC5_ARM_CC_FLAGS) -flto -Wno-unused-but-set-variable -Wno-unused-const-variable
+RELEASE_GCC_ARM_DLINK_FLAGS = DEF(GCC5_ARM_DLINK_FLAGS) -flto -Os -L$(WORKSPACE)/ArmPkg/Library/GccLto -llto-arm -Wl,-plugin-opt=-pass-through=-llto-arm
+
+ NOOPT_GCC_ARM_CC_FLAGS = DEF(GCC5_ARM_CC_FLAGS) -O0
+ NOOPT_GCC_ARM_DLINK_FLAGS = DEF(GCC5_ARM_DLINK_FLAGS) -O0
+
+##################
+# GCC AARCH64 definitions
+##################
+*_GCC_AARCH64_CC_PATH = ENV(GCC_AARCH64_PREFIX)gcc
+*_GCC_AARCH64_SLINK_PATH = ENV(GCC_AARCH64_PREFIX)gcc-ar
+*_GCC_AARCH64_DLINK_PATH = ENV(GCC_AARCH64_PREFIX)gcc
+*_GCC_AARCH64_ASLDLINK_PATH = ENV(GCC_AARCH64_PREFIX)gcc
+*_GCC_AARCH64_ASM_PATH = ENV(GCC_AARCH64_PREFIX)gcc
+*_GCC_AARCH64_PP_PATH = ENV(GCC_AARCH64_PREFIX)gcc
+*_GCC_AARCH64_VFRPP_PATH = ENV(GCC_AARCH64_PREFIX)gcc
+*_GCC_AARCH64_ASLCC_PATH = ENV(GCC_AARCH64_PREFIX)gcc
+*_GCC_AARCH64_ASLPP_PATH = ENV(GCC_AARCH64_PREFIX)gcc
+*_GCC_AARCH64_RC_PATH = ENV(GCC_AARCH64_PREFIX)objcopy
+
+*_GCC_AARCH64_ASLCC_FLAGS = DEF(GCC5_ASLCC_FLAGS)
+*_GCC_AARCH64_ASLDLINK_FLAGS = DEF(GCC5_AARCH64_ASLDLINK_FLAGS)
+*_GCC_AARCH64_ASM_FLAGS = DEF(GCC5_AARCH64_ASM_FLAGS)
+*_GCC_AARCH64_DLINK2_FLAGS = DEF(GCC5_AARCH64_DLINK2_FLAGS)
+*_GCC_AARCH64_DTCPP_FLAGS = DEF(GCC_DTCPP_FLAGS)
+*_GCC_AARCH64_PLATFORM_FLAGS =
+*_GCC_AARCH64_PP_FLAGS = $(PLATFORM_FLAGS) DEF(GCC_PP_FLAGS)
+*_GCC_AARCH64_RC_FLAGS = DEF(GCC_AARCH64_RC_FLAGS) DEF(GCC_AARCH64_RC_BTI_FLAGS)
+*_GCC_AARCH64_VFRPP_FLAGS = $(PLATFORM_FLAGS) DEF(GCC_VFRPP_FLAGS)
+*_GCC_AARCH64_CC_XIPFLAGS = DEF(GCC5_AARCH64_CC_XIPFLAGS)
+
+ DEBUG_GCC_AARCH64_CC_FLAGS = DEF(GCC5_AARCH64_CC_FLAGS) -flto -Wno-unused-but-set-variable -Wno-unused-const-variable
+ DEBUG_GCC_AARCH64_DLINK_FLAGS = DEF(GCC5_AARCH64_DLINK_FLAGS) -flto -Os -L$(WORKSPACE)/ArmPkg/Library/GccLto -llto-aarch64 -Wl,-plugin-opt=-pass-through=-llto-aarch64 -Wno-lto-type-mismatch
+ DEBUG_GCC_AARCH64_DLINK_XIPFLAGS = -z common-page-size=0x20
+
+RELEASE_GCC_AARCH64_CC_FLAGS = DEF(GCC5_AARCH64_CC_FLAGS) -flto -Wno-unused-but-set-variable -Wno-unused-const-variable
+RELEASE_GCC_AARCH64_DLINK_FLAGS = DEF(GCC5_AARCH64_DLINK_FLAGS) -flto -Os -L$(WORKSPACE)/ArmPkg/Library/GccLto -llto-aarch64 -Wl,-plugin-opt=-pass-through=-llto-aarch64 -Wno-lto-type-mismatch
+RELEASE_GCC_AARCH64_DLINK_XIPFLAGS = -z common-page-size=0x20
+
+ NOOPT_GCC_AARCH64_CC_FLAGS = DEF(GCC5_AARCH64_CC_FLAGS) -O0
+ NOOPT_GCC_AARCH64_DLINK_FLAGS = DEF(GCC5_AARCH64_DLINK_FLAGS) -O0
+ NOOPT_GCC_AARCH64_DLINK_XIPFLAGS = -z common-page-size=0x20 -O0
+
+####################################################################################
+#
+# GCC RISC-V This configuration is used to compile under Linux to produce
+# PE/COFF binaries using GCC RISC-V tool chain
+#
+####################################################################################
+
+##################
+# GCC RISCV64 definitions
+##################
+*_GCC_RISCV64_OBJCOPY_PATH = ENV(GCC_RISCV64_PREFIX)objcopy
+*_GCC_RISCV64_CC_PATH = ENV(GCC_RISCV64_PREFIX)gcc
+*_GCC_RISCV64_SLINK_PATH = ENV(GCC_RISCV64_PREFIX)gcc-ar
+*_GCC_RISCV64_DLINK_PATH = ENV(GCC_RISCV64_PREFIX)gcc
+*_GCC_RISCV64_ASLDLINK_PATH = ENV(GCC_RISCV64_PREFIX)gcc
+*_GCC_RISCV64_ASM_PATH = ENV(GCC_RISCV64_PREFIX)gcc
+*_GCC_RISCV64_PP_PATH = ENV(GCC_RISCV64_PREFIX)gcc
+*_GCC_RISCV64_VFRPP_PATH = ENV(GCC_RISCV64_PREFIX)gcc
+*_GCC_RISCV64_ASLCC_PATH = ENV(GCC_RISCV64_PREFIX)gcc
+*_GCC_RISCV64_ASLPP_PATH = ENV(GCC_RISCV64_PREFIX)gcc
+*_GCC_RISCV64_RC_PATH = ENV(GCC_RISCV64_PREFIX)objcopy
+
+*_GCC_RISCV64_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS)
+*_GCC_RISCV64_ASLDLINK_FLAGS = DEF(GCC5_RISCV32_RISCV64_ASLDLINK_FLAGS)
+*_GCC_RISCV64_ASM_FLAGS = DEF(GCC5_RISCV64_ASM_FLAGS)
+*_GCC_RISCV64_CC_FLAGS = DEF(GCC5_RISCV64_CC_FLAGS) -save-temps
+*_GCC_RISCV64_DLINK_FLAGS = DEF(GCC5_RISCV64_DLINK_FLAGS)
+*_GCC_RISCV64_DLINK2_FLAGS = DEF(GCC5_RISCV64_DLINK2_FLAGS)
+*_GCC_RISCV64_RC_FLAGS = DEF(GCC_RISCV64_RC_FLAGS)
+*_GCC_RISCV64_OBJCOPY_FLAGS =
+*_GCC_RISCV64_DTCPP_FLAGS = DEF(GCC_DTCPP_FLAGS)
+*_GCC_RISCV64_PP_FLAGS = DEF(GCC_PP_FLAGS) DEF(GCC5_RISCV_OPENSBI_TYPES)
+
+##################
+# GCC LOONGARCH64 definitions
+##################
+*_GCC_LOONGARCH64_OBJCOPY_PATH = ENV(GCC_LOONGARCH64_PREFIX)objcopy
+*_GCC_LOONGARCH64_CC_PATH = ENV(GCC_LOONGARCH64_PREFIX)gcc
+*_GCC_LOONGARCH64_SLINK_PATH = ENV(GCC_LOONGARCH64_PREFIX)gcc-ar
+*_GCC_LOONGARCH64_DLINK_PATH = ENV(GCC_LOONGARCH64_PREFIX)gcc
+*_GCC_LOONGARCH64_ASLDLINK_PATH = ENV(GCC_LOONGARCH64_PREFIX)gcc
+*_GCC_LOONGARCH64_ASM_PATH = ENV(GCC_LOONGARCH64_PREFIX)gcc
+*_GCC_LOONGARCH64_PP_PATH = ENV(GCC_LOONGARCH64_PREFIX)gcc
+*_GCC_LOONGARCH64_VFRPP_PATH = ENV(GCC_LOONGARCH64_PREFIX)gcc
+*_GCC_LOONGARCH64_ASLCC_PATH = ENV(GCC_LOONGARCH64_PREFIX)gcc
+*_GCC_LOONGARCH64_ASLPP_PATH = ENV(GCC_LOONGARCH64_PREFIX)gcc
+*_GCC_LOONGARCH64_RC_PATH = ENV(GCC_LOONGARCH64_PREFIX)objcopy
+
+*_GCC_LOONGARCH64_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS)
+*_GCC_LOONGARCH64_ASLDLINK_FLAGS = DEF(GCC5_LOONGARCH64_ASLDLINK_FLAGS)
+*_GCC_LOONGARCH64_ASM_FLAGS = DEF(GCC5_LOONGARCH64_ASM_FLAGS)
+*_GCC_LOONGARCH64_DLINK_FLAGS = DEF(GCC5_LOONGARCH64_DLINK_FLAGS)
+*_GCC_LOONGARCH64_DLINK2_FLAGS = DEF(GCC5_LOONGARCH64_DLINK2_FLAGS)
+*_GCC_LOONGARCH64_RC_FLAGS = DEF(GCC_LOONGARCH64_RC_FLAGS)
+*_GCC_LOONGARCH64_OBJCOPY_FLAGS =
+*_GCC_LOONGARCH64_NASM_FLAGS = -f elf32
+*_GCC_LOONGARCH64_PP_FLAGS = DEF(GCC5_LOONGARCH64_PP_FLAGS)
+
+DEBUG_GCC_LOONGARCH64_CC_FLAGS = DEF(GCC5_LOONGARCH64_CC_FLAGS)
+RELEASE_GCC_LOONGARCH64_CC_FLAGS = DEF(GCC5_LOONGARCH64_CC_FLAGS) -Wno-unused-but-set-variable -Wno-unused-variable
+
####################################################################################
#
# Clang - This configuration is used to compile under Linux to produce
--
2.37.2
^ permalink raw reply related [flat|nested] 17+ messages in thread
* Re: [PATCH v3 09/13] BaseTools/Conf/tools_def.template: Add GCC and GCCNOLTO toolchains
2023-04-16 17:05 ` [PATCH v3 09/13] BaseTools/Conf/tools_def.template: Add GCC and GCCNOLTO toolchains Rebecca Cran
@ 2023-04-17 11:03 ` Gerd Hoffmann
2023-04-17 14:26 ` Rebecca Cran
0 siblings, 1 reply; 17+ messages in thread
From: Gerd Hoffmann @ 2023-04-17 11:03 UTC (permalink / raw)
To: Rebecca Cran
Cc: devel, Liming Gao, Bob Feng, Yuwei Chen, Michael D Kinney,
Michael Kubacki, Sean Brogan, Chasel Chiu, Nate DeSimone,
Star Zeng, Andrew Fish, Ray Ni, Leif Lindholm, Zhiguang Liu,
Jian J Wang, Xiaoyu Lu, Guomin Jiang, Gua Guo, Ard Biesheuvel,
Pedro Falcato, Marvin Häuser
> +DEFINE GCCNOLTO_IA32_PREFIX = ENV(GCCNOLTO_BIN)
> +DEFINE GCCNOLTO_X64_PREFIX = ENV(GCCNOLTO_BIN)
> +
> DEFINE GCC5_IA32_PREFIX = ENV(GCC5_BIN)
> DEFINE GCC5_X64_PREFIX = ENV(GCC5_BIN)
> +DEFINE GCC_IA32_PREFIX = ENV(GCC_BIN)
> +DEFINE GCC_X64_PREFIX = ENV(GCC_BIN)
Does it make sense to have a separate prefix for each gcc variant?
I guess it makes sense for the existing GCC5 and GCC4x configs for
backward compatibility reasons, but for the new GCC / GCCNOLTO variants
not so much.
Trying to build ia32 ovmf with clang (15) and openssl fails btw:
ld.lld: error: undefined symbol: __lshrdi3
But I guess that isn't something new introduced by this series.
take care,
Gerd
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH v3 09/13] BaseTools/Conf/tools_def.template: Add GCC and GCCNOLTO toolchains
2023-04-17 11:03 ` Gerd Hoffmann
@ 2023-04-17 14:26 ` Rebecca Cran
0 siblings, 0 replies; 17+ messages in thread
From: Rebecca Cran @ 2023-04-17 14:26 UTC (permalink / raw)
To: Gerd Hoffmann
Cc: devel, Liming Gao, Bob Feng, Yuwei Chen, Michael D Kinney,
Michael Kubacki, Sean Brogan, Chasel Chiu, Nate DeSimone,
Star Zeng, Andrew Fish, Ray Ni, Leif Lindholm, Zhiguang Liu,
Jian J Wang, Xiaoyu Lu, Guomin Jiang, Gua Guo, Ard Biesheuvel,
Pedro Falcato, Marvin Häuser
On 4/17/23 5:03 AM, Gerd Hoffmann wrote:
> Does it make sense to have a separate prefix for each gcc variant?
>
> I guess it makes sense for the existing GCC5 and GCC4x configs for
> backward compatibility reasons, but for the new GCC / GCCNOLTO variants
> not so much.
I think I'd prefer to add the new prefixes just since it's something
people might expect.
> Trying to build ia32 ovmf with clang (15) and openssl fails btw:
>
> ld.lld: error: undefined symbol: __lshrdi3
>
> But I guess that isn't something new introduced by this series.
If it's an existing issue, then I won't try and fix it in this patch
series but revisit it later on.
--
Rebecca Cran
^ permalink raw reply [flat|nested] 17+ messages in thread
* [PATCH v3 10/13] BaseTools: Only call LoadConfiguration once in build.py
2023-04-16 17:05 [PATCH v3 00/13] BaseTools,CryptoPkg,EmulatorPkg,MdePkg,others: Delete CLANG35,CLANG38,VS2008-2013,EBC, deprecate GCC48,GCC49,GCC5, add GCC and GCCNOLTO, update CLANGDWARF Rebecca Cran
` (8 preceding siblings ...)
2023-04-16 17:05 ` [PATCH v3 09/13] BaseTools/Conf/tools_def.template: Add GCC and GCCNOLTO toolchains Rebecca Cran
@ 2023-04-16 17:05 ` Rebecca Cran
2023-04-16 17:05 ` [PATCH v3 11/13] BaseTools: Add a deprecation warning for GCC48,GCC49,GCC5 to build.py Rebecca Cran
` (3 subsequent siblings)
13 siblings, 0 replies; 17+ messages in thread
From: Rebecca Cran @ 2023-04-16 17:05 UTC (permalink / raw)
To: devel, Liming Gao, Bob Feng, Yuwei Chen, Michael D Kinney,
Michael Kubacki, Sean Brogan, Chasel Chiu, Nate DeSimone,
Star Zeng, Andrew Fish, Ray Ni, Leif Lindholm, Zhiguang Liu,
Jian J Wang, Xiaoyu Lu, Guomin Jiang, Gua Guo, Ard Biesheuvel,
Pedro Falcato, Gerd Hoffmann, Marvin Häuser
Cc: Rebecca Cran
Avoid calling LoadConfiguration twice, in both InitPreBuild and
InitBuild. Since InitPreBuild is called first, delete the second call
from InitBuild.
Signed-off-by: Rebecca Cran <rebecca@bsdio.com>
---
BaseTools/Source/Python/build/build.py | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/BaseTools/Source/Python/build/build.py b/BaseTools/Source/Python/build/build.py
index 51fb1f433eb7..8681b98776a9 100755
--- a/BaseTools/Source/Python/build/build.py
+++ b/BaseTools/Source/Python/build/build.py
@@ -1002,9 +1002,6 @@ class Build():
# command line and target.txt, then get the final build configurations.
#
def InitBuild(self):
- # parse target.txt, tools_def.txt, and platform file
- self.LoadConfiguration()
-
# Allow case-insensitive for those from command line or configuration file
ErrorCode, ErrorInfo = self.PlatformFile.Validate(".dsc", False)
if ErrorCode != 0:
@@ -1012,6 +1009,7 @@ class Build():
def InitPreBuild(self):
+ # parse target.txt, tools_def.txt, and platform file
self.LoadConfiguration()
ErrorCode, ErrorInfo = self.PlatformFile.Validate(".dsc", False)
if ErrorCode != 0:
--
2.37.2
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH v3 11/13] BaseTools: Add a deprecation warning for GCC48,GCC49,GCC5 to build.py
2023-04-16 17:05 [PATCH v3 00/13] BaseTools,CryptoPkg,EmulatorPkg,MdePkg,others: Delete CLANG35,CLANG38,VS2008-2013,EBC, deprecate GCC48,GCC49,GCC5, add GCC and GCCNOLTO, update CLANGDWARF Rebecca Cran
` (9 preceding siblings ...)
2023-04-16 17:05 ` [PATCH v3 10/13] BaseTools: Only call LoadConfiguration once in build.py Rebecca Cran
@ 2023-04-16 17:05 ` Rebecca Cran
2023-04-16 17:05 ` [PATCH v3 12/13] BaseTools/Conf/tools_def.template: Add section for deprecated toolchains Rebecca Cran
` (2 subsequent siblings)
13 siblings, 0 replies; 17+ messages in thread
From: Rebecca Cran @ 2023-04-16 17:05 UTC (permalink / raw)
To: devel, Liming Gao, Bob Feng, Yuwei Chen, Michael D Kinney,
Michael Kubacki, Sean Brogan, Chasel Chiu, Nate DeSimone,
Star Zeng, Andrew Fish, Ray Ni, Leif Lindholm, Zhiguang Liu,
Jian J Wang, Xiaoyu Lu, Guomin Jiang, Gua Guo, Ard Biesheuvel,
Pedro Falcato, Gerd Hoffmann, Marvin Häuser
Cc: Rebecca Cran
The GCC48, GCC49 and GCC5 toolchains will be deleted in the coming
months. Inform users that they're deprecated and tell them what replaces
them.
Signed-off-by: Rebecca Cran <rebecca@bsdio.com>
---
BaseTools/Source/Python/build/build.py | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/BaseTools/Source/Python/build/build.py b/BaseTools/Source/Python/build/build.py
index 8681b98776a9..61f66e7b04d7 100755
--- a/BaseTools/Source/Python/build/build.py
+++ b/BaseTools/Source/Python/build/build.py
@@ -64,6 +64,8 @@ from AutoGen.IncludesAutoGen import IncludesAutoGen
from GenFds.GenFds import resetFdsGlobalVariable
from AutoGen.AutoGen import CalculatePriorityValue
+gDeprecatedToolChains = ['GCC48', 'GCC49', 'GCC5']
+
## standard targets of build command
gSupportedTarget = ['all', 'genc', 'genmake', 'modules', 'libraries', 'fds', 'clean', 'cleanall', 'cleanlib', 'run']
@@ -898,6 +900,12 @@ class Build():
for BuildTarget in self.BuildTargetList:
GlobalData.gGlobalDefines['TARGET'] = BuildTarget
for BuildToolChain in self.ToolChainList:
+ if BuildToolChain in gDeprecatedToolChains:
+ EdkLogger.warn("build", "Toolchain " + BuildToolChain + \
+ " is deprecated and will be removed before the edk2-stable202402 release. " \
+ "You should use 'GCCNOLTO' instead of 'GCC49', and 'GCC' instead of 'GCC5'")
+ time.sleep(2)
+
GlobalData.gGlobalDefines['TOOLCHAIN'] = BuildToolChain
GlobalData.gGlobalDefines['TOOL_CHAIN_TAG'] = BuildToolChain
for BuildArch in self.ArchList:
@@ -2768,6 +2776,12 @@ def Main():
if not BuildError:
MyBuild.BuildReport.GenerateReport(BuildDurationStr, LogBuildTime(MyBuild.AutoGenTime), LogBuildTime(MyBuild.MakeTime), LogBuildTime(MyBuild.GenFdsTime))
+ if any(tc in Option.ToolChain for tc in gDeprecatedToolChains):
+ EdkLogger.warn("build", "Toolchains " + str(gDeprecatedToolChains) + " are " \
+ "deprecated and will be removed before the edk2-stable202402 release. " \
+ "You should use 'GCCNOLTO' instead of 'GCC49', and 'GCC' instead of 'GCC5'.")
+ time.sleep(2)
+
EdkLogger.SetLevel(EdkLogger.QUIET)
EdkLogger.quiet("\n- %s -" % Conclusion)
EdkLogger.quiet(time.strftime("Build end time: %H:%M:%S, %b.%d %Y", time.localtime()))
--
2.37.2
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH v3 12/13] BaseTools/Conf/tools_def.template: Add section for deprecated toolchains
2023-04-16 17:05 [PATCH v3 00/13] BaseTools,CryptoPkg,EmulatorPkg,MdePkg,others: Delete CLANG35,CLANG38,VS2008-2013,EBC, deprecate GCC48,GCC49,GCC5, add GCC and GCCNOLTO, update CLANGDWARF Rebecca Cran
` (10 preceding siblings ...)
2023-04-16 17:05 ` [PATCH v3 11/13] BaseTools: Add a deprecation warning for GCC48,GCC49,GCC5 to build.py Rebecca Cran
@ 2023-04-16 17:05 ` Rebecca Cran
2023-04-16 17:05 ` [PATCH v3 13/13] BaseTools/Conf/tools_def.template: Bump VERSION to 3.00 Rebecca Cran
2023-04-17 11:32 ` [PATCH v3 00/13] BaseTools,CryptoPkg,EmulatorPkg,MdePkg,others: Delete CLANG35,CLANG38,VS2008-2013,EBC, deprecate GCC48,GCC49,GCC5, add GCC and GCCNOLTO, update CLANGDWARF Gerd Hoffmann
13 siblings, 0 replies; 17+ messages in thread
From: Rebecca Cran @ 2023-04-16 17:05 UTC (permalink / raw)
To: devel, Liming Gao, Bob Feng, Yuwei Chen, Michael D Kinney,
Michael Kubacki, Sean Brogan, Chasel Chiu, Nate DeSimone,
Star Zeng, Andrew Fish, Ray Ni, Leif Lindholm, Zhiguang Liu,
Jian J Wang, Xiaoyu Lu, Guomin Jiang, Gua Guo, Ard Biesheuvel,
Pedro Falcato, Gerd Hoffmann, Marvin Häuser
Cc: Rebecca Cran
In order to make it clear for anyone reading tools_def.template, add
a section for deprecated tool chains and move GCC48, GCC49 and GCC5
into it.
Signed-off-by: Rebecca Cran <rebecca@bsdio.com>
---
BaseTools/Conf/tools_def.template | 31 +++++++++++++++-----
1 file changed, 23 insertions(+), 8 deletions(-)
diff --git a/BaseTools/Conf/tools_def.template b/BaseTools/Conf/tools_def.template
index 615d02f8ad9c..413087676b73 100755
--- a/BaseTools/Conf/tools_def.template
+++ b/BaseTools/Conf/tools_def.template
@@ -156,19 +156,13 @@ DEFINE DTC_BIN = ENV(DTC_PREFIX)dtc
# Note:
# 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.
-# GCC48 -Linux,Windows- Requires:
-# GCC 4.8 targeting x86_64-linux-gnu, aarch64-linux-gnu, or arm-linux-gnueabi
-# Optional:
-# Required to build platforms or ACPI tables:
-# Intel(r) ACPI Compiler from
-# https://acpica.org/downloads
-# GCC49 -Linux,Windows- Requires:
+# GCCNOLTO -Linux,Windows- Requires:
# GCC 4.9 targeting x86_64-linux-gnu, aarch64-linux-gnu, or arm-linux-gnueabi
# Optional:
# Required to build platforms or ACPI tables:
# Intel(r) ACPI Compiler from
# https://acpica.org/downloads
-# GCC5 -Linux,Windows- Requires:
+# GCC -Linux,Windows- Requires:
# GCC 5 with LTO support, targeting x86_64-linux-gnu, aarch64-linux-gnu, arm-linux-gnueabi, riscv64-linux-gnu or loongarch64-linux-gnu
# Optional:
# Required to build platforms or ACPI tables:
@@ -196,6 +190,27 @@ DEFINE DTC_BIN = ENV(DTC_PREFIX)dtc
# Intel(r) ACPI Compiler (iasl.exe) from
# https://acpica.org/downloads
#
+# Deprecated Tool Chains
+# ======================
+# GCC48 -Linux,Windows- Requires:
+# GCC 4.8 targeting x86_64-linux-gnu, aarch64-linux-gnu, or arm-linux-gnueabi
+# Optional:
+# Required to build platforms or ACPI tables:
+# Intel(r) ACPI Compiler from
+# https://acpica.org/downloads
+# GCC49 -Linux,Windows- Requires:
+# GCC 4.9 targeting x86_64-linux-gnu, aarch64-linux-gnu, or arm-linux-gnueabi
+# Optional:
+# Required to build platforms or ACPI tables:
+# Intel(r) ACPI Compiler from
+# https://acpica.org/downloads
+# GCC5 -Linux,Windows- Requires:
+# GCC 5 with LTO support, targeting x86_64-linux-gnu, aarch64-linux-gnu, arm-linux-gnueabi, riscv64-linux-gnu or loongarch64-linux-gnu
+# Optional:
+# Required to build platforms or ACPI tables:
+# Intel(r) ACPI Compiler from
+# https://acpica.org/downloads
+#
####################################################################################
####################################################################################
#
--
2.37.2
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH v3 13/13] BaseTools/Conf/tools_def.template: Bump VERSION to 3.00
2023-04-16 17:05 [PATCH v3 00/13] BaseTools,CryptoPkg,EmulatorPkg,MdePkg,others: Delete CLANG35,CLANG38,VS2008-2013,EBC, deprecate GCC48,GCC49,GCC5, add GCC and GCCNOLTO, update CLANGDWARF Rebecca Cran
` (11 preceding siblings ...)
2023-04-16 17:05 ` [PATCH v3 12/13] BaseTools/Conf/tools_def.template: Add section for deprecated toolchains Rebecca Cran
@ 2023-04-16 17:05 ` Rebecca Cran
2023-04-17 11:32 ` [PATCH v3 00/13] BaseTools,CryptoPkg,EmulatorPkg,MdePkg,others: Delete CLANG35,CLANG38,VS2008-2013,EBC, deprecate GCC48,GCC49,GCC5, add GCC and GCCNOLTO, update CLANGDWARF Gerd Hoffmann
13 siblings, 0 replies; 17+ messages in thread
From: Rebecca Cran @ 2023-04-16 17:05 UTC (permalink / raw)
To: devel, Liming Gao, Bob Feng, Yuwei Chen, Michael D Kinney,
Michael Kubacki, Sean Brogan, Chasel Chiu, Nate DeSimone,
Star Zeng, Andrew Fish, Ray Ni, Leif Lindholm, Zhiguang Liu,
Jian J Wang, Xiaoyu Lu, Guomin Jiang, Gua Guo, Ard Biesheuvel,
Pedro Falcato, Gerd Hoffmann, Marvin Häuser
Cc: Rebecca Cran
Bump VERSION to 3.00 and explain the changes made to the toolchains.
Signed-off-by: Rebecca Cran <rebecca@bsdio.com>
---
BaseTools/Conf/tools_def.template | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/BaseTools/Conf/tools_def.template b/BaseTools/Conf/tools_def.template
index 413087676b73..5f859b379610 100755
--- a/BaseTools/Conf/tools_def.template
+++ b/BaseTools/Conf/tools_def.template
@@ -15,8 +15,13 @@
#
# 2.00 - Initial version with changes for CI
# - Change RC path to use plugin
+# 3.00 - Update toolchains
+# - Add support for ARM and AARCH64 to CLANGDWARF
+# - Remove VS2008, VS2010, VS2012, VS2013, CLANG35, CLANG38, EBC
+# - Add GCC and GCCNOLTO
+# - Deprecate GCC48, GCC49 and GCC5.
#
-#!VERSION=2.00
+#!VERSION=3.00
IDENTIFIER = Default TOOL_CHAIN_CONF
--
2.37.2
^ permalink raw reply related [flat|nested] 17+ messages in thread
* Re: [PATCH v3 00/13] BaseTools,CryptoPkg,EmulatorPkg,MdePkg,others: Delete CLANG35,CLANG38,VS2008-2013,EBC, deprecate GCC48,GCC49,GCC5, add GCC and GCCNOLTO, update CLANGDWARF
2023-04-16 17:05 [PATCH v3 00/13] BaseTools,CryptoPkg,EmulatorPkg,MdePkg,others: Delete CLANG35,CLANG38,VS2008-2013,EBC, deprecate GCC48,GCC49,GCC5, add GCC and GCCNOLTO, update CLANGDWARF Rebecca Cran
` (12 preceding siblings ...)
2023-04-16 17:05 ` [PATCH v3 13/13] BaseTools/Conf/tools_def.template: Bump VERSION to 3.00 Rebecca Cran
@ 2023-04-17 11:32 ` Gerd Hoffmann
13 siblings, 0 replies; 17+ messages in thread
From: Gerd Hoffmann @ 2023-04-17 11:32 UTC (permalink / raw)
To: Rebecca Cran
Cc: devel, Liming Gao, Bob Feng, Yuwei Chen, Michael D Kinney,
Michael Kubacki, Sean Brogan, Chasel Chiu, Nate DeSimone,
Star Zeng, Andrew Fish, Ray Ni, Leif Lindholm, Zhiguang Liu,
Jian J Wang, Xiaoyu Lu, Guomin Jiang, Gua Guo, Ard Biesheuvel,
Pedro Falcato, Marvin Häuser
On Sun, Apr 16, 2023 at 11:05:19AM -0600, Rebecca Cran wrote:
> Update the toolchain definitions:
>
> - Delete the CLANG35 and CLANG38 toolchains, and replace CLANG38 with
> CLANGDWARF, updating it to support ARM and AARCH64 in addition to X64
> and IA32.
ARM not working for me in the cross build case:
/usr/bin/ld: unrecognised emulation mode: armelf_linux_eabi
Supported emulations: elf_x86_64 elf32_x86_64 elf_i386 elf_iamcu elf_l1om elf_k1om i386pep i386pe elf64bpf
I guess that is just the wrong linker (ld instead of lld)?
take care,
Gerd
^ permalink raw reply [flat|nested] 17+ messages in thread