[edk2-devel] [PATCH v5 11/13] BaseTools: Add a deprecation warning for GCC48, GCC49, GCC5 to build.py

Rebecca Cran rebecca at bsdio.com
Fri Apr 21 17:15:06 UTC 2023


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 at bsdio.com>
Reviewed-by: Liming Gao <gaoliming at byosoft.com.cn>
---
 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.39.2



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#103424): https://edk2.groups.io/g/devel/message/103424
Mute This Topic: https://groups.io/mt/98415533/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-




More information about the edk2-devel-archive mailing list