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 <ard.biesheu...@linaro.org>
---
 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 1035025b668c..3637ef47414e 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}
 
-    <Command.ARMGCC, Command.ARMLINUXGCC, command.XCODE>
+    <Command.XCODE>
         "$(CC)" $(CC_FLAGS) -o ${dst} $(INC) ${src}
 
 [C-Code-File.COMMON.IPF]
@@ -258,7 +258,7 @@
     <Command.RVCT>
         "$(SLINK)" $(SLINK_FLAGS) ${dst} --via $(OBJECT_FILES_LIST)
     
-    <Command.RVCTCYGWIN, Command.ARMGCC, Command.ARMLINUXGCC>
+    <Command.RVCTCYGWIN>
         # $(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}
 
-    <Command.ARMGCC, Command.ARMLINUXGCC>
-        "$(DLINK)" -o ${dst} $(DLINK_FLAGS) --start-group $(DLINK_SPATH) 
$(STATIC_LIBRARY_FILES) --end-group $(DLINK2_FLAGS)
-
     <Command.RVCT>
         "$(DLINK)" $(DLINK_FLAGS) -o ${dst} $(DLINK_SPATH) --via 
$(STATIC_LIBRARY_FILES_LIST) $(DLINK2_FLAGS)
 
@@ -312,9 +309,6 @@
     <Command.GCC>
         "$(DLINK)" $(DLINK_FLAGS) --start-group $(DLINK_SPATH) 
@$(STATIC_LIBRARY_FILES_LIST) --end-group $(DLINK2_FLAGS)
 
-    <Command.ARMGCC, Command.ARMLINUXGCC>
-        "$(DLINK)" $(DLINK_FLAGS) --start-group $(DLINK_SPATH) 
$(STATIC_LIBRARY_FILES) --end-group $(DLINK2_FLAGS)
-
     <Command.RVCT>
         "$(DLINK)" $(DLINK_FLAGS) -o ${dst} $(DLINK_SPATH) --via 
$(STATIC_LIBRARY_FILES_LIST) $(DLINK2_FLAGS)
 
@@ -333,7 +327,7 @@
     <OutputFile>
         $(DEBUG_DIR)(+)$(MODULE_NAME).efi
 
-    <Command.MSFT, Command.INTEL, Command.RVCT, Command.ARMGCC, 
Command.ARMLINUXGCC>  
+    <Command.MSFT, Command.INTEL, Command.RVCT>
         "$(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 @@
     <OutputFile.MSFT, OutputFile.INTEL, OutputFile.GCC>
         $(OUTPUT_DIR)(+)$(MODULE_NAME)hii.lib
 
-    <OutputFile.XCODE, OutputFile.RVCT, OutputFile.ARMGCC>
+    <OutputFile.XCODE, OutputFile.RVCT>
         $(OUTPUT_DIR)(+)$(MODULE_NAME)hii.rc
 
     <Command.MSFT, Command.INTEL>
@@ -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}
         
-    <Command.XCODE, Command.RVCT, Command.ARMGCC, Command.ARMLINUXGCC>  
+    <Command.XCODE, Command.RVCT>
         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 0c41c862af83..6e2d4909b9fc 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
 #################
-- 
1.9.1

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to