From 64ffb95441efad61aac023942f26b5c7f0868396 Mon Sep 17 00:00:00 2001 From: Ard Biesheuvel Date: Wed, 12 Aug 2015 05:25:48 +0000 Subject: [PATCH] BaseTools: remove ARMGCC and ARMLINUXGCC toolchains The ARMGCC and ARMLINUXGCC toolchains are specific to the ARM and AARCH64 architectures, and overlap with the toolchain configuration that is provided by the GCC44 - GCC49 toolchains, which are defined for all architectures. To reduce the maintenance burden, and make it easier to keep these different architectures aligned, remove the ARMGCC and ARMLINUXGCC toolchains entirely. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel Reviewed-by: Leif Lindholm Reviewed-by: Liming Gao git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18212 6f19259b-4bc3-4df7-8a09-765794883524 --- BaseTools/Conf/build_rule.template | 16 +-- BaseTools/Conf/tools_def.template | 200 ----------------------------- 2 files changed, 5 insertions(+), 211 deletions(-) diff --git a/BaseTools/Conf/build_rule.template b/BaseTools/Conf/build_rule.template index 1035025b66..3637ef4741 100644 --- a/BaseTools/Conf/build_rule.template +++ b/BaseTools/Conf/build_rule.template @@ -134,7 +134,7 @@ # For RVCTCYGWIN CC_FLAGS must be first to work around pathing issues "$(CC)" $(CC_FLAGS) -o ${dst} $(INC) ${src} - + "$(CC)" $(CC_FLAGS) -o ${dst} $(INC) ${src} [C-Code-File.COMMON.IPF] @@ -258,7 +258,7 @@ "$(SLINK)" $(SLINK_FLAGS) ${dst} --via $(OBJECT_FILES_LIST) - + # $(OBJECT_FILES_LIST) has wrong paths for cygwin "$(SLINK)" $(SLINK_FLAGS) ${dst} $(OBJECT_FILES) @@ -282,9 +282,6 @@ "$(DLINK)" -o ${dst} $(DLINK_FLAGS) --start-group $(DLINK_SPATH) @$(STATIC_LIBRARY_FILES_LIST) --end-group $(DLINK2_FLAGS) "$(OBJCOPY)" $(OBJCOPY_FLAGS) ${dst} - - "$(DLINK)" -o ${dst} $(DLINK_FLAGS) --start-group $(DLINK_SPATH) $(STATIC_LIBRARY_FILES) --end-group $(DLINK2_FLAGS) - "$(DLINK)" $(DLINK_FLAGS) -o ${dst} $(DLINK_SPATH) --via $(STATIC_LIBRARY_FILES_LIST) $(DLINK2_FLAGS) @@ -312,9 +309,6 @@ "$(DLINK)" $(DLINK_FLAGS) --start-group $(DLINK_SPATH) @$(STATIC_LIBRARY_FILES_LIST) --end-group $(DLINK2_FLAGS) - - "$(DLINK)" $(DLINK_FLAGS) --start-group $(DLINK_SPATH) $(STATIC_LIBRARY_FILES) --end-group $(DLINK2_FLAGS) - "$(DLINK)" $(DLINK_FLAGS) -o ${dst} $(DLINK_SPATH) --via $(STATIC_LIBRARY_FILES_LIST) $(DLINK2_FLAGS) @@ -333,7 +327,7 @@ $(DEBUG_DIR)(+)$(MODULE_NAME).efi - + "$(GENFW)" -e $(MODULE_TYPE) -o ${dst} ${src} $(GENFW_FLAGS) $(CP) ${dst} $(OUTPUT_DIR) $(CP) ${dst} $(BIN_DIR)(+)$(MODULE_NAME_GUID).efi @@ -582,7 +576,7 @@ $(OUTPUT_DIR)(+)$(MODULE_NAME)hii.lib - + $(OUTPUT_DIR)(+)$(MODULE_NAME)hii.rc @@ -593,7 +587,7 @@ "$(GENFW)" -o $(OUTPUT_DIR)(+)$(MODULE_NAME)hii.rc -g $(MODULE_GUID) --hiibinpackage $(HII_BINARY_PACKAGES) $(GENFW_FLAGS) "$(RC)" $(RC_FLAGS) $(OUTPUT_DIR)(+)$(MODULE_NAME)hii.rc ${dst} - + GenFw -o $(OUTPUT_DIR)(+)$(MODULE_NAME)hii.rc -g $(MODULE_GUID) --hiibinpackage $(HII_BINARY_PACKAGES) diff --git a/BaseTools/Conf/tools_def.template b/BaseTools/Conf/tools_def.template index 0c41c862af..6e2d4909b9 100644 --- a/BaseTools/Conf/tools_def.template +++ b/BaseTools/Conf/tools_def.template @@ -633,18 +633,6 @@ DEFINE SOURCERY_CYGWIN_TOOLS = /cygdrive/c/Program Files/CodeSourcery/Sourcery G # Required to build platforms or ACPI tables: # Microsoft ASL ACPI Compiler (asl.exe) v4.0.0 from # http://download.microsoft.com/download/2/c/1/2c16c7e0-96c1-40f5-81fc-3e4bf7b65496/microsoft_asl_compiler-v4-0-0.msi -# ARMGCC -unix- Requires: -# ARM None EABI GCC 4.6.0 -# Optional: -# Required to build platforms or ACPI tables: -# Intel(r) ACPI Compiler from -# https://acpica.org/downloads -# ARMLINUXGCC -unix- Requires: -# ARM Linux GNU EABI GCC 4.6.0 -# Optional: -# Required to build platforms or ACPI tables: -# Intel(r) ACPI Compiler from -# https://acpica.org/downloads # RVCT -win- Requires: # ARM C/C++ Compiler, 5.00 # Optional: @@ -6751,194 +6739,6 @@ RELEASE_RVCTCYGWIN_ARM_CC_FLAGS = "$(CCPATH_FLAG)" $(ARCHCC_FLAGS) $(PLATFORM_F *_RVCTCYGWIN_ARM_VFRPP_PATH = ENV(WORKSPACE)/BaseTools/Bin/CYGWIN_NT-5.1-i686/armcc_wrapper.py *_RVCTCYGWIN_ARM_FROMELF_PATH = ENV(WORKSPACE)/BaseTools/Bin/CYGWIN_NT-5.1-i686/armcc_wrapper.py -#################################################################################### -# -# ARM EABI GCC (www.codesourcery.com) -# -#################################################################################### -# ARMGCC - ARM version of the GCC cross compiler - -*_ARMGCC_*_*_FAMILY = GCC -*_ARMGCC_*_*_BUILDRULEFAMILY = ARMGCC - -*_ARMGCC_*_MAKE_PATH = make -*_ARMGCC_*_MAKE_FLAGS = --no-print-directory - -################## -# ASL definitions -################## -*_ARMGCC_*_ASL_PATH = DEF(UNIX_IASL_BIN) -*_ARMGCC_*_ASL_FLAGS = DEF(IASL_FLAGS) -*_ARMGCC_*_ASL_OUTFLAGS = DEF(IASL_OUTFLAGS) -*_ARMGCC_*_ASLPP_FLAGS = -x c -E -P -*_ARMGCC_*_ASLCC_FLAGS = -x c -*_ARMGCC_*_ASLDLINK_FLAGS = DEF(GCC_DLINK_FLAGS_COMMON) --entry ReferenceAcpiTable - -################## -# ARM definitions -################## - -*_ARMGCC_ARM_ASLCC_PATH = ENV(CROSS_COMPILE)gcc -*_ARMGCC_ARM_ASLDLINK_PATH = ENV(CROSS_COMPILE)ld -*_ARMGCC_ARM_ASLPP_PATH = ENV(CROSS_COMPILE)gcc - -*_ARMGCC_ARM_CC_PATH = ENV(CROSS_COMPILE)gcc -*_ARMGCC_ARM_SLINK_PATH = ENV(CROSS_COMPILE)ar -*_ARMGCC_ARM_DLINK_PATH = ENV(CROSS_COMPILE)ld -*_ARMGCC_ARM_ASM_PATH = ENV(CROSS_COMPILE)as -*_ARMGCC_ARM_PP_PATH = ENV(CROSS_COMPILE)gcc -*_ARMGCC_ARM_VFRPP_PATH = ENV(CROSS_COMPILE)gcc - -# -# Use default values, or override in DSC file -# -*_ARMGCC_ARM_ARCHCC_FLAGS = -*_ARMGCC_ARM_ARCHASM_FLAGS = -*_ARMGCC_ARM_ARCHDLINK_FLAGS = -*_ARMGCC_ARM_PLATFORM_FLAGS = -march=armv7-a - - DEBUG_ARMGCC_ARM_ASM_FLAGS = $(ARCHASM_FLAGS) $(PLATFORM_FLAGS) -mlittle-endian -g -RELEASE_ARMGCC_ARM_ASM_FLAGS = $(ARCHASM_FLAGS) $(PLATFORM_FLAGS) -mlittle-endian - -*_ARMGCC_ARM_PP_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -E -x assembler-with-cpp -include $(DEST_DIR_DEBUG)/AutoGen.h -*_ARMGCC_ARM_VFRPP_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -x c -E -P -DVFRCOMPILE --include $(DEST_DIR_DEBUG)/$(MODULE_NAME)StrDefs.h - -*_ARMGCC_ARM_SLINK_FLAGS = -rc -*_ARMGCC_ARM_DLINK_FLAGS = $(ARCHDLINK_FLAGS) DEF(GCC_ARM_AARCH64_DLINK_COMMON) --oformat=elf32-littlearm - - DEBUG_ARMGCC_ARM_CC_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_ARM_CC_FLAGS) -O0 -RELEASE_ARMGCC_ARM_CC_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_ARM_CC_FLAGS) -Wno-unused - -###################### -# AArch64 definitions -###################### -# AARCH64 64bit ARM Bare-metal GCC (ARM Architecture 64) - -*_ARMGCC_AARCH64_ASLCC_PATH = ENV(CROSS_COMPILE)gcc -*_ARMGCC_AARCH64_ASLDLINK_PATH = ENV(CROSS_COMPILE)ld -*_ARMGCC_AARCH64_ASLPP_PATH = ENV(CROSS_COMPILE)gcc - -*_ARMGCC_AARCH64_CC_PATH = ENV(CROSS_COMPILE)gcc -*_ARMGCC_AARCH64_SLINK_PATH = ENV(CROSS_COMPILE)ar -*_ARMGCC_AARCH64_DLINK_PATH = ENV(CROSS_COMPILE)ld -*_ARMGCC_AARCH64_ASM_PATH = ENV(CROSS_COMPILE)as -*_ARMGCC_AARCH64_PP_PATH = ENV(CROSS_COMPILE)gcc -*_ARMGCC_AARCH64_VFRPP_PATH = ENV(CROSS_COMPILE)gcc - -# -# Use default values, or override in DSC file -# -*_ARMGCC_AARCH64_ARCHCC_FLAGS = -*_ARMGCC_AARCH64_ARCHASM_FLAGS = -*_ARMGCC_AARCH64_ARCHDLINK_FLAGS = -*_ARMGCC_AARCH64_PLATFORM_FLAGS = - - DEBUG_ARMGCC_AARCH64_ASM_FLAGS = $(ARCHASM_FLAGS) $(PLATFORM_FLAGS) -g -RELEASE_ARMGCC_AARCH64_ASM_FLAGS = $(ARCHASM_FLAGS) $(PLATFORM_FLAGS) - -*_ARMGCC_AARCH64_PP_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -E -x assembler-with-cpp -include $(DEST_DIR_DEBUG)/AutoGen.h -*_ARMGCC_AARCH64_VFRPP_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -x c -E -P -DVFRCOMPILE --include $(DEST_DIR_DEBUG)/$(MODULE_NAME)StrDefs.h - -*_ARMGCC_AARCH64_SLINK_FLAGS = -rc -*_ARMGCC_AARCH64_DLINK_FLAGS = $(ARCHDLINK_FLAGS) DEF(GCC_ARM_AARCH64_DLINK_COMMON) - - DEBUG_ARMGCC_AARCH64_CC_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_AARCH64_CC_FLAGS) -Wno-address -O0 -RELEASE_ARMGCC_AARCH64_CC_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_AARCH64_CC_FLAGS) -Wno-address -Wno-unused-but-set-variable - -#################################################################################### -# -# ARM GNU/Linux GCC -# -#################################################################################### -# ARMLINUXGCC - ARM version of the GCC cross compiler - -*_ARMLINUXGCC_*_*_FAMILY = GCC -*_ARMLINUXGCC_*_*_BUILDRULEFAMILY = ARMLINUXGCC - -*_ARMLINUXGCC_*_MAKE_PATH = make -*_ARMLINUXGCC_*_MAKE_FLAGS = --no-print-directory - -################## -# ASL definitions -################## -*_ARMLINUXGCC_*_ASL_PATH = DEF(UNIX_IASL_BIN) -*_ARMLINUXGCC_*_ASL_FLAGS = DEF(IASL_FLAGS) -*_ARMLINUXGCC_*_ASL_OUTFLAGS = DEF(IASL_OUTFLAGS) -*_ARMLINUXGCC_*_ASLPP_FLAGS = -x c -E -P -*_ARMLINUXGCC_*_ASLCC_FLAGS = -x c -*_ARMLINUXGCC_*_ASLDLINK_FLAGS = DEF(GCC_DLINK_FLAGS_COMMON) --entry ReferenceAcpiTable - -################## -# ARM definitions -################## - -*_ARMLINUXGCC_ARM_ASLCC_PATH = ENV(ARMLINUXGCC_TOOLS_PATH)arm-linux-gnueabi-gcc -*_ARMLINUXGCC_ARM_ASLDLINK_PATH = ENV(ARMLINUXGCC_TOOLS_PATH)arm-linux-gnueabi-ld -*_ARMLINUXGCC_ARM_ASLPP_PATH = ENV(ARMLINUXGCC_TOOLS_PATH)arm-linux-gnueabi-gcc - -*_ARMLINUXGCC_ARM_CC_PATH = ENV(ARMLINUXGCC_TOOLS_PATH)arm-linux-gnueabi-gcc -*_ARMLINUXGCC_ARM_SLINK_PATH = ENV(ARMLINUXGCC_TOOLS_PATH)arm-linux-gnueabi-ar -*_ARMLINUXGCC_ARM_DLINK_PATH = ENV(ARMLINUXGCC_TOOLS_PATH)arm-linux-gnueabi-ld -*_ARMLINUXGCC_ARM_ASM_PATH = ENV(ARMLINUXGCC_TOOLS_PATH)arm-linux-gnueabi-as -*_ARMLINUXGCC_ARM_PP_PATH = ENV(ARMLINUXGCC_TOOLS_PATH)arm-linux-gnueabi-gcc -*_ARMLINUXGCC_ARM_VFRPP_PATH = ENV(ARMLINUXGCC_TOOLS_PATH)arm-linux-gnueabi-gcc - -# -# Use default values, or override in DSC file -# -*_ARMLINUXGCC_ARM_ARCHCC_FLAGS = -*_ARMLINUXGCC_ARM_ARCHASM_FLAGS = -*_ARMLINUXGCC_ARM_ARCHDLINK_FLAGS = -*_ARMLINUXGCC_ARM_PLATFORM_FLAGS = -march=armv7-a - - DEBUG_ARMLINUXGCC_ARM_ASM_FLAGS = $(ARCHASM_FLAGS) $(PLATFORM_FLAGS) -mlittle-endian -g -RELEASE_ARMLINUXGCC_ARM_ASM_FLAGS = $(ARCHASM_FLAGS) $(PLATFORM_FLAGS) -mlittle-endian - -*_ARMLINUXGCC_ARM_PP_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -E -x assembler-with-cpp -include $(DEST_DIR_DEBUG)/AutoGen.h -*_ARMLINUXGCC_ARM_VFRPP_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -x c -E -P -DVFRCOMPILE --include $(DEST_DIR_DEBUG)/$(MODULE_NAME)StrDefs.h - -*_ARMLINUXGCC_ARM_SLINK_FLAGS = -rc -*_ARMLINUXGCC_ARM_DLINK_FLAGS = $(ARCHDLINK_FLAGS) DEF(GCC_ARM_AARCH64_DLINK_COMMON) --oformat=elf32-littlearm - - DEBUG_ARMLINUXGCC_ARM_CC_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_ARM_CC_FLAGS) -mno-unaligned-access -O0 -RELEASE_ARMLINUXGCC_ARM_CC_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_ARM_CC_FLAGS) -mno-unaligned-access -Wno-unused-but-set-variable - -###################### -# AArch64 definitions -###################### -# AARCH64 64bit ARM GNU/Linux GCC (ARM Architecture 64) - -*_ARMLINUXGCC_AARCH64_ASLCC_PATH = ENV(AARCH64LINUXGCC_TOOLS_PATH)aarch64-linux-gnu-gcc -*_ARMLINUXGCC_AARCH64_ASLDLINK_PATH = ENV(AARCH64LINUXGCC_TOOLS_PATH)aarch64-linux-gnu-ld -*_ARMLINUXGCC_AARCH64_ASLPP_PATH = ENV(AARCH64LINUXGCC_TOOLS_PATH)aarch64-linux-gnu-gcc - -*_ARMLINUXGCC_AARCH64_CC_PATH = ENV(AARCH64LINUXGCC_TOOLS_PATH)aarch64-linux-gnu-gcc -*_ARMLINUXGCC_AARCH64_SLINK_PATH = ENV(AARCH64LINUXGCC_TOOLS_PATH)aarch64-linux-gnu-ar -*_ARMLINUXGCC_AARCH64_DLINK_PATH = ENV(AARCH64LINUXGCC_TOOLS_PATH)aarch64-linux-gnu-ld -*_ARMLINUXGCC_AARCH64_ASM_PATH = ENV(AARCH64LINUXGCC_TOOLS_PATH)aarch64-linux-gnu-as -*_ARMLINUXGCC_AARCH64_PP_PATH = ENV(AARCH64LINUXGCC_TOOLS_PATH)aarch64-linux-gnu-gcc -*_ARMLINUXGCC_AARCH64_VFRPP_PATH = ENV(AARCH64LINUXGCC_TOOLS_PATH)aarch64-linux-gnu-gcc - -# -# Use default values, or override in DSC file -# -*_ARMLINUXGCC_AARCH64_ARCHCC_FLAGS = -*_ARMLINUXGCC_AARCH64_ARCHASM_FLAGS = -*_ARMLINUXGCC_AARCH64_ARCHDLINK_FLAGS = -*_ARMLINUXGCC_AARCH64_PLATFORM_FLAGS = - - DEBUG_ARMLINUXGCC_AARCH64_ASM_FLAGS = $(ARCHASM_FLAGS) $(PLATFORM_FLAGS) -g -RELEASE_ARMLINUXGCC_AARCH64_ASM_FLAGS = $(ARCHASM_FLAGS) $(PLATFORM_FLAGS) - -*_ARMLINUXGCC_AARCH64_PP_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -E -x assembler-with-cpp -include $(DEST_DIR_DEBUG)/AutoGen.h -*_ARMLINUXGCC_AARCH64_VFRPP_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -x c -E -P -DVFRCOMPILE --include $(DEST_DIR_DEBUG)/$(MODULE_NAME)StrDefs.h - -*_ARMLINUXGCC_AARCH64_SLINK_FLAGS = -rc -*_ARMLINUXGCC_AARCH64_DLINK_FLAGS = $(ARCHDLINK_FLAGS) DEF(GCC_ARM_AARCH64_DLINK_COMMON) - - DEBUG_ARMLINUXGCC_AARCH64_CC_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_AARCH64_CC_FLAGS) -Wno-address -O0 -RELEASE_ARMLINUXGCC_AARCH64_CC_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_AARCH64_CC_FLAGS) -Wno-address -Wno-unused-but-set-variable - ################# # ASM 16 linker defintions #################