* [edk2-devel] RFC: Updating IA32/X64 cross-compilation to work like other archs
@ 2024-10-18 2:21 Rebecca Cran
0 siblings, 0 replies; only message in thread
From: Rebecca Cran @ 2024-10-18 2:21 UTC (permalink / raw)
To: devel@edk2.groups.io, Liming Gao, Bob Feng, Yuwei Chen,
Andrew Fish, Leif Lindholm, Michael D Kinney
[-- Attachment #1: Type: text/plain, Size: 1069 bytes --]
Cross-compilation to platforms other than IA32 and X64 work by setting
an environment variable such as GCC_AARCH64_PREFIX that contains the
path/name of the cross-compiler without the "gcc", "objcopy" etc. suffix.
On IA32 and X64 however, the environment variable GCC_BIN has been used
instead. With fast AArch64 and other non-x86 platforms now being
available, I'd like to propose updating IA32 and X64 to work the same as
other platforms by using e.g. GCC_IA32_PREFIX and GCC_X64_PREFIX.
I've attached a proposed patch: I'm attaching it here to gather feedback
before opening a PR since it does change how builds are done and I want
to check if it's something people want to proceed with.
Rebecca
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#120630): https://edk2.groups.io/g/devel/message/120630
Mute This Topic: https://groups.io/mt/109076070/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-
[-- Attachment #2: x86-x64-basetools-cross-compilation.diff --]
[-- Type: text/x-patch, Size: 18449 bytes --]
diff --git a/BaseTools/Conf/tools_def.template b/BaseTools/Conf/tools_def.template
index 13cf0f91b625..ca2a404230b6 100755
--- a/BaseTools/Conf/tools_def.template
+++ b/BaseTools/Conf/tools_def.template
@@ -84,19 +84,6 @@ 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/
-DEFINE GCC48_IA32_PREFIX = ENV(GCC48_BIN)
-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
@@ -1050,17 +1037,17 @@ DEFINE GCC5_LOONGARCH64_PP_FLAGS = -mabi=lp64d -march=loongarch64 DEF(
##################
# GCC48 IA32 definitions
##################
-*_GCC48_IA32_OBJCOPY_PATH = DEF(GCC48_IA32_PREFIX)objcopy
-*_GCC48_IA32_CC_PATH = DEF(GCC48_IA32_PREFIX)gcc
-*_GCC48_IA32_SLINK_PATH = DEF(GCC48_IA32_PREFIX)ar
-*_GCC48_IA32_DLINK_PATH = DEF(GCC48_IA32_PREFIX)gcc
-*_GCC48_IA32_ASLDLINK_PATH = DEF(GCC48_IA32_PREFIX)gcc
-*_GCC48_IA32_ASM_PATH = DEF(GCC48_IA32_PREFIX)gcc
-*_GCC48_IA32_PP_PATH = DEF(GCC48_IA32_PREFIX)gcc
-*_GCC48_IA32_VFRPP_PATH = DEF(GCC48_IA32_PREFIX)gcc
-*_GCC48_IA32_ASLCC_PATH = DEF(GCC48_IA32_PREFIX)gcc
-*_GCC48_IA32_ASLPP_PATH = DEF(GCC48_IA32_PREFIX)gcc
-*_GCC48_IA32_RC_PATH = DEF(GCC48_IA32_PREFIX)objcopy
+*_GCC48_IA32_OBJCOPY_PATH = ENV(GCC48_IA32_PREFIX)objcopy
+*_GCC48_IA32_CC_PATH = ENV(GCC48_IA32_PREFIX)gcc
+*_GCC48_IA32_SLINK_PATH = ENV(GCC48_IA32_PREFIX)ar
+*_GCC48_IA32_DLINK_PATH = ENV(GCC48_IA32_PREFIX)gcc
+*_GCC48_IA32_ASLDLINK_PATH = ENV(GCC48_IA32_PREFIX)gcc
+*_GCC48_IA32_ASM_PATH = ENV(GCC48_IA32_PREFIX)gcc
+*_GCC48_IA32_PP_PATH = ENV(GCC48_IA32_PREFIX)gcc
+*_GCC48_IA32_VFRPP_PATH = ENV(GCC48_IA32_PREFIX)gcc
+*_GCC48_IA32_ASLCC_PATH = ENV(GCC48_IA32_PREFIX)gcc
+*_GCC48_IA32_ASLPP_PATH = ENV(GCC48_IA32_PREFIX)gcc
+*_GCC48_IA32_RC_PATH = ENV(GCC48_IA32_PREFIX)objcopy
*_GCC48_IA32_ASLCC_FLAGS = DEF(GCC48_ASLCC_FLAGS) -m32
*_GCC48_IA32_ASLDLINK_FLAGS = DEF(GCC48_IA32_X64_ASLDLINK_FLAGS) -Wl,-m,elf_i386
@@ -1078,17 +1065,17 @@ RELEASE_GCC48_IA32_CC_FLAGS = DEF(GCC48_IA32_CC_FLAGS) -Wno-unused-but-set
##################
# GCC48 X64 definitions
##################
-*_GCC48_X64_OBJCOPY_PATH = DEF(GCC48_X64_PREFIX)objcopy
-*_GCC48_X64_CC_PATH = DEF(GCC48_X64_PREFIX)gcc
-*_GCC48_X64_SLINK_PATH = DEF(GCC48_X64_PREFIX)ar
-*_GCC48_X64_DLINK_PATH = DEF(GCC48_X64_PREFIX)gcc
-*_GCC48_X64_ASLDLINK_PATH = DEF(GCC48_X64_PREFIX)gcc
-*_GCC48_X64_ASM_PATH = DEF(GCC48_X64_PREFIX)gcc
-*_GCC48_X64_PP_PATH = DEF(GCC48_X64_PREFIX)gcc
-*_GCC48_X64_VFRPP_PATH = DEF(GCC48_X64_PREFIX)gcc
-*_GCC48_X64_ASLCC_PATH = DEF(GCC48_X64_PREFIX)gcc
-*_GCC48_X64_ASLPP_PATH = DEF(GCC48_X64_PREFIX)gcc
-*_GCC48_X64_RC_PATH = DEF(GCC48_X64_PREFIX)objcopy
+*_GCC48_X64_OBJCOPY_PATH = ENV(GCC48_X64_PREFIX)objcopy
+*_GCC48_X64_CC_PATH = ENV(GCC48_X64_PREFIX)gcc
+*_GCC48_X64_SLINK_PATH = ENV(GCC48_X64_PREFIX)ar
+*_GCC48_X64_DLINK_PATH = ENV(GCC48_X64_PREFIX)gcc
+*_GCC48_X64_ASLDLINK_PATH = ENV(GCC48_X64_PREFIX)gcc
+*_GCC48_X64_ASM_PATH = ENV(GCC48_X64_PREFIX)gcc
+*_GCC48_X64_PP_PATH = ENV(GCC48_X64_PREFIX)gcc
+*_GCC48_X64_VFRPP_PATH = ENV(GCC48_X64_PREFIX)gcc
+*_GCC48_X64_ASLCC_PATH = ENV(GCC48_X64_PREFIX)gcc
+*_GCC48_X64_ASLPP_PATH = ENV(GCC48_X64_PREFIX)gcc
+*_GCC48_X64_RC_PATH = ENV(GCC48_X64_PREFIX)objcopy
*_GCC48_X64_ASLCC_FLAGS = DEF(GCC48_ASLCC_FLAGS) -m64
*_GCC48_X64_ASLDLINK_FLAGS = DEF(GCC48_IA32_X64_ASLDLINK_FLAGS) -Wl,-m,elf_x86_64
@@ -1187,17 +1174,17 @@ RELEASE_GCC48_AARCH64_CC_FLAGS = DEF(GCC48_AARCH64_CC_FLAGS) -Wno-unused-but-s
##################
# GCC49 IA32 definitions
##################
-*_GCC49_IA32_OBJCOPY_PATH = DEF(GCC49_IA32_PREFIX)objcopy
-*_GCC49_IA32_CC_PATH = DEF(GCC49_IA32_PREFIX)gcc
-*_GCC49_IA32_SLINK_PATH = DEF(GCC49_IA32_PREFIX)ar
-*_GCC49_IA32_DLINK_PATH = DEF(GCC49_IA32_PREFIX)gcc
-*_GCC49_IA32_ASLDLINK_PATH = DEF(GCC49_IA32_PREFIX)gcc
-*_GCC49_IA32_ASM_PATH = DEF(GCC49_IA32_PREFIX)gcc
-*_GCC49_IA32_PP_PATH = DEF(GCC49_IA32_PREFIX)gcc
-*_GCC49_IA32_VFRPP_PATH = DEF(GCC49_IA32_PREFIX)gcc
-*_GCC49_IA32_ASLCC_PATH = DEF(GCC49_IA32_PREFIX)gcc
-*_GCC49_IA32_ASLPP_PATH = DEF(GCC49_IA32_PREFIX)gcc
-*_GCC49_IA32_RC_PATH = DEF(GCC49_IA32_PREFIX)objcopy
+*_GCC49_IA32_OBJCOPY_PATH = ENV(GCC49_IA32_PREFIX)objcopy
+*_GCC49_IA32_CC_PATH = ENV(GCC49_IA32_PREFIX)gcc
+*_GCC49_IA32_SLINK_PATH = ENV(GCC49_IA32_PREFIX)ar
+*_GCC49_IA32_DLINK_PATH = ENV(GCC49_IA32_PREFIX)gcc
+*_GCC49_IA32_ASLDLINK_PATH = ENV(GCC49_IA32_PREFIX)gcc
+*_GCC49_IA32_ASM_PATH = ENV(GCC49_IA32_PREFIX)gcc
+*_GCC49_IA32_PP_PATH = ENV(GCC49_IA32_PREFIX)gcc
+*_GCC49_IA32_VFRPP_PATH = ENV(GCC49_IA32_PREFIX)gcc
+*_GCC49_IA32_ASLCC_PATH = ENV(GCC49_IA32_PREFIX)gcc
+*_GCC49_IA32_ASLPP_PATH = ENV(GCC49_IA32_PREFIX)gcc
+*_GCC49_IA32_RC_PATH = ENV(GCC49_IA32_PREFIX)objcopy
*_GCC49_IA32_ASLCC_FLAGS = DEF(GCC49_ASLCC_FLAGS) -m32
*_GCC49_IA32_ASLDLINK_FLAGS = DEF(GCC49_IA32_X64_ASLDLINK_FLAGS) -Wl,-m,elf_i386
@@ -1215,17 +1202,17 @@ RELEASE_GCC49_IA32_CC_FLAGS = DEF(GCC49_IA32_CC_FLAGS) -Wno-unused-but-set
##################
# GCC49 X64 definitions
##################
-*_GCC49_X64_OBJCOPY_PATH = DEF(GCC49_X64_PREFIX)objcopy
-*_GCC49_X64_CC_PATH = DEF(GCC49_X64_PREFIX)gcc
-*_GCC49_X64_SLINK_PATH = DEF(GCC49_X64_PREFIX)ar
-*_GCC49_X64_DLINK_PATH = DEF(GCC49_X64_PREFIX)gcc
-*_GCC49_X64_ASLDLINK_PATH = DEF(GCC49_X64_PREFIX)gcc
-*_GCC49_X64_ASM_PATH = DEF(GCC49_X64_PREFIX)gcc
-*_GCC49_X64_PP_PATH = DEF(GCC49_X64_PREFIX)gcc
-*_GCC49_X64_VFRPP_PATH = DEF(GCC49_X64_PREFIX)gcc
-*_GCC49_X64_ASLCC_PATH = DEF(GCC49_X64_PREFIX)gcc
-*_GCC49_X64_ASLPP_PATH = DEF(GCC49_X64_PREFIX)gcc
-*_GCC49_X64_RC_PATH = DEF(GCC49_X64_PREFIX)objcopy
+*_GCC49_X64_OBJCOPY_PATH = ENV(GCC49_X64_PREFIX)objcopy
+*_GCC49_X64_CC_PATH = ENV(GCC49_X64_PREFIX)gcc
+*_GCC49_X64_SLINK_PATH = ENV(GCC49_X64_PREFIX)ar
+*_GCC49_X64_DLINK_PATH = ENV(GCC49_X64_PREFIX)gcc
+*_GCC49_X64_ASLDLINK_PATH = ENV(GCC49_X64_PREFIX)gcc
+*_GCC49_X64_ASM_PATH = ENV(GCC49_X64_PREFIX)gcc
+*_GCC49_X64_PP_PATH = ENV(GCC49_X64_PREFIX)gcc
+*_GCC49_X64_VFRPP_PATH = ENV(GCC49_X64_PREFIX)gcc
+*_GCC49_X64_ASLCC_PATH = ENV(GCC49_X64_PREFIX)gcc
+*_GCC49_X64_ASLPP_PATH = ENV(GCC49_X64_PREFIX)gcc
+*_GCC49_X64_RC_PATH = ENV(GCC49_X64_PREFIX)objcopy
*_GCC49_X64_ASLCC_FLAGS = DEF(GCC49_ASLCC_FLAGS) -m64
*_GCC49_X64_ASLDLINK_FLAGS = DEF(GCC49_IA32_X64_ASLDLINK_FLAGS) -Wl,-m,elf_x86_64
@@ -1331,17 +1318,17 @@ RELEASE_GCC49_AARCH64_DLINK_XIPFLAGS = -z common-page-size=0x20
##################
# 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_OBJCOPY_PATH = ENV(GCCNOLTO_IA32_PREFIX)objcopy
+*_GCCNOLTO_IA32_CC_PATH = ENV(GCCNOLTO_IA32_PREFIX)gcc
+*_GCCNOLTO_IA32_SLINK_PATH = ENV(GCCNOLTO_IA32_PREFIX)ar
+*_GCCNOLTO_IA32_DLINK_PATH = ENV(GCCNOLTO_IA32_PREFIX)gcc
+*_GCCNOLTO_IA32_ASLDLINK_PATH = ENV(GCCNOLTO_IA32_PREFIX)gcc
+*_GCCNOLTO_IA32_ASM_PATH = ENV(GCCNOLTO_IA32_PREFIX)gcc
+*_GCCNOLTO_IA32_PP_PATH = ENV(GCCNOLTO_IA32_PREFIX)gcc
+*_GCCNOLTO_IA32_VFRPP_PATH = ENV(GCCNOLTO_IA32_PREFIX)gcc
+*_GCCNOLTO_IA32_ASLCC_PATH = ENV(GCCNOLTO_IA32_PREFIX)gcc
+*_GCCNOLTO_IA32_ASLPP_PATH = ENV(GCCNOLTO_IA32_PREFIX)gcc
+*_GCCNOLTO_IA32_RC_PATH = ENV(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
@@ -1359,17 +1346,17 @@ RELEASE_GCCNOLTO_IA32_CC_FLAGS = DEF(GCC49_IA32_CC_FLAGS) -Wno-unused-but-
##################
# 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_OBJCOPY_PATH = ENV(GCCNOLTO_X64_PREFIX)objcopy
+*_GCCNOLTO_X64_CC_PATH = ENV(GCCNOLTO_X64_PREFIX)gcc
+*_GCCNOLTO_X64_SLINK_PATH = ENV(GCCNOLTO_X64_PREFIX)ar
+*_GCCNOLTO_X64_DLINK_PATH = ENV(GCCNOLTO_X64_PREFIX)gcc
+*_GCCNOLTO_X64_ASLDLINK_PATH = ENV(GCCNOLTO_X64_PREFIX)gcc
+*_GCCNOLTO_X64_ASM_PATH = ENV(GCCNOLTO_X64_PREFIX)gcc
+*_GCCNOLTO_X64_PP_PATH = ENV(GCCNOLTO_X64_PREFIX)gcc
+*_GCCNOLTO_X64_VFRPP_PATH = ENV(GCCNOLTO_X64_PREFIX)gcc
+*_GCCNOLTO_X64_ASLCC_PATH = ENV(GCCNOLTO_X64_PREFIX)gcc
+*_GCCNOLTO_X64_ASLPP_PATH = ENV(GCCNOLTO_X64_PREFIX)gcc
+*_GCCNOLTO_X64_RC_PATH = ENV(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
@@ -1475,17 +1462,17 @@ RELEASE_GCCNOLTO_AARCH64_DLINK_XIPFLAGS = -z common-page-size=0x20
##################
# GCC5 IA32 definitions
##################
-*_GCC5_IA32_OBJCOPY_PATH = DEF(GCC5_IA32_PREFIX)objcopy
-*_GCC5_IA32_CC_PATH = DEF(GCC5_IA32_PREFIX)gcc
-*_GCC5_IA32_SLINK_PATH = DEF(GCC5_IA32_PREFIX)gcc-ar
-*_GCC5_IA32_DLINK_PATH = DEF(GCC5_IA32_PREFIX)gcc
-*_GCC5_IA32_ASLDLINK_PATH = DEF(GCC5_IA32_PREFIX)gcc
-*_GCC5_IA32_ASM_PATH = DEF(GCC5_IA32_PREFIX)gcc
-*_GCC5_IA32_PP_PATH = DEF(GCC5_IA32_PREFIX)gcc
-*_GCC5_IA32_VFRPP_PATH = DEF(GCC5_IA32_PREFIX)gcc
-*_GCC5_IA32_ASLCC_PATH = DEF(GCC5_IA32_PREFIX)gcc
-*_GCC5_IA32_ASLPP_PATH = DEF(GCC5_IA32_PREFIX)gcc
-*_GCC5_IA32_RC_PATH = DEF(GCC5_IA32_PREFIX)objcopy
+*_GCC5_IA32_OBJCOPY_PATH = ENV(GCC5_IA32_PREFIX)objcopy
+*_GCC5_IA32_CC_PATH = ENV(GCC5_IA32_PREFIX)gcc
+*_GCC5_IA32_SLINK_PATH = ENV(GCC5_IA32_PREFIX)gcc-ar
+*_GCC5_IA32_DLINK_PATH = ENV(GCC5_IA32_PREFIX)gcc
+*_GCC5_IA32_ASLDLINK_PATH = ENV(GCC5_IA32_PREFIX)gcc
+*_GCC5_IA32_ASM_PATH = ENV(GCC5_IA32_PREFIX)gcc
+*_GCC5_IA32_PP_PATH = ENV(GCC5_IA32_PREFIX)gcc
+*_GCC5_IA32_VFRPP_PATH = ENV(GCC5_IA32_PREFIX)gcc
+*_GCC5_IA32_ASLCC_PATH = ENV(GCC5_IA32_PREFIX)gcc
+*_GCC5_IA32_ASLPP_PATH = ENV(GCC5_IA32_PREFIX)gcc
+*_GCC5_IA32_RC_PATH = ENV(GCC5_IA32_PREFIX)objcopy
*_GCC5_IA32_ASLCC_FLAGS = DEF(GCC5_ASLCC_FLAGS) -m32
*_GCC5_IA32_ASLDLINK_FLAGS = DEF(GCC5_IA32_X64_ASLDLINK_FLAGS) -Wl,-m,elf_i386 -no-pie
@@ -1507,17 +1494,17 @@ RELEASE_GCC5_IA32_DLINK_FLAGS = DEF(GCC5_IA32_X64_DLINK_FLAGS) -flto -Os -Wl,
##################
# GCC5 X64 definitions
##################
-*_GCC5_X64_OBJCOPY_PATH = DEF(GCC5_X64_PREFIX)objcopy
-*_GCC5_X64_CC_PATH = DEF(GCC5_X64_PREFIX)gcc
-*_GCC5_X64_SLINK_PATH = DEF(GCC5_X64_PREFIX)gcc-ar
-*_GCC5_X64_DLINK_PATH = DEF(GCC5_X64_PREFIX)gcc
-*_GCC5_X64_ASLDLINK_PATH = DEF(GCC5_X64_PREFIX)gcc
-*_GCC5_X64_ASM_PATH = DEF(GCC5_X64_PREFIX)gcc
-*_GCC5_X64_PP_PATH = DEF(GCC5_X64_PREFIX)gcc
-*_GCC5_X64_VFRPP_PATH = DEF(GCC5_X64_PREFIX)gcc
-*_GCC5_X64_ASLCC_PATH = DEF(GCC5_X64_PREFIX)gcc
-*_GCC5_X64_ASLPP_PATH = DEF(GCC5_X64_PREFIX)gcc
-*_GCC5_X64_RC_PATH = DEF(GCC5_X64_PREFIX)objcopy
+*_GCC5_X64_OBJCOPY_PATH = ENV(GCC5_X64_PREFIX)objcopy
+*_GCC5_X64_CC_PATH = ENV(GCC5_X64_PREFIX)gcc
+*_GCC5_X64_SLINK_PATH = ENV(GCC5_X64_PREFIX)gcc-ar
+*_GCC5_X64_DLINK_PATH = ENV(GCC5_X64_PREFIX)gcc
+*_GCC5_X64_ASLDLINK_PATH = ENV(GCC5_X64_PREFIX)gcc
+*_GCC5_X64_ASM_PATH = ENV(GCC5_X64_PREFIX)gcc
+*_GCC5_X64_PP_PATH = ENV(GCC5_X64_PREFIX)gcc
+*_GCC5_X64_VFRPP_PATH = ENV(GCC5_X64_PREFIX)gcc
+*_GCC5_X64_ASLCC_PATH = ENV(GCC5_X64_PREFIX)gcc
+*_GCC5_X64_ASLPP_PATH = ENV(GCC5_X64_PREFIX)gcc
+*_GCC5_X64_RC_PATH = ENV(GCC5_X64_PREFIX)objcopy
*_GCC5_X64_ASLCC_FLAGS = DEF(GCC5_ASLCC_FLAGS) -m64
*_GCC5_X64_ASLDLINK_FLAGS = DEF(GCC5_IA32_X64_ASLDLINK_FLAGS) -Wl,-m,elf_x86_64
@@ -1692,17 +1679,17 @@ RELEASE_GCC5_LOONGARCH64_CC_FLAGS = DEF(GCC5_LOONGARCH64_CC_FLAGS) -Wno-un
##################
# 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_OBJCOPY_PATH = ENV(GCC_IA32_PREFIX)objcopy
+*_GCC_IA32_CC_PATH = ENV(GCC_IA32_PREFIX)gcc
+*_GCC_IA32_SLINK_PATH = ENV(GCC_IA32_PREFIX)gcc-ar
+*_GCC_IA32_DLINK_PATH = ENV(GCC_IA32_PREFIX)gcc
+*_GCC_IA32_ASLDLINK_PATH = ENV(GCC_IA32_PREFIX)gcc
+*_GCC_IA32_ASM_PATH = ENV(GCC_IA32_PREFIX)gcc
+*_GCC_IA32_PP_PATH = ENV(GCC_IA32_PREFIX)gcc
+*_GCC_IA32_VFRPP_PATH = ENV(GCC_IA32_PREFIX)gcc
+*_GCC_IA32_ASLCC_PATH = ENV(GCC_IA32_PREFIX)gcc
+*_GCC_IA32_ASLPP_PATH = ENV(GCC_IA32_PREFIX)gcc
+*_GCC_IA32_RC_PATH = ENV(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
@@ -1724,17 +1711,17 @@ RELEASE_GCC_IA32_DLINK_FLAGS = DEF(GCC5_IA32_X64_DLINK_FLAGS) -flto -Os -Wl,-
##################
# 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_OBJCOPY_PATH = ENV(GCC_X64_PREFIX)objcopy
+*_GCC_X64_CC_PATH = ENV(GCC_X64_PREFIX)gcc
+*_GCC_X64_SLINK_PATH = ENV(GCC_X64_PREFIX)gcc-ar
+*_GCC_X64_DLINK_PATH = ENV(GCC_X64_PREFIX)gcc
+*_GCC_X64_ASLDLINK_PATH = ENV(GCC_X64_PREFIX)gcc
+*_GCC_X64_ASM_PATH = ENV(GCC_X64_PREFIX)gcc
+*_GCC_X64_PP_PATH = ENV(GCC_X64_PREFIX)gcc
+*_GCC_X64_VFRPP_PATH = ENV(GCC_X64_PREFIX)gcc
+*_GCC_X64_ASLCC_PATH = ENV(GCC_X64_PREFIX)gcc
+*_GCC_X64_ASLPP_PATH = ENV(GCC_X64_PREFIX)gcc
+*_GCC_X64_RC_PATH = ENV(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
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2024-10-18 2:22 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-10-18 2:21 [edk2-devel] RFC: Updating IA32/X64 cross-compilation to work like other archs Rebecca Cran
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox