Dear BaseTools maintainers,
please find this patch that allows to skip the '-a <ARCH>' parameters when the
DSC file contains a single architecture.
Note: 'self.ArchList' is always defined because it contains the architecture
defined by Conf/target.txt.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Olivier Martin <[email protected]>
Regards,
Olivier
-- IMPORTANT NOTICE: The contents of this email and any attachments are
confidential and may also be privileged. If you are not the intended recipient,
please notify the sender immediately and do not disclose the contents to any
other person, use it for any purpose, or store or copy the information in any
medium. Thank you.
ARM Limited, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, Registered
in England & Wales, Company No: 2557590
ARM Holdings plc, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ,
Registered in England & Wales, Company No: 2548782
From 58fcf2066c0eb1993dc9821125a426935e44ba2d Mon Sep 17 00:00:00 2001
From: Olivier Martin <[email protected]>
Date: Sun, 27 Oct 2013 20:55:23 +0000
Subject: BaseTools/AutoGen: Use the defined architecture when only one is defined by the DSC file
Always use the architecture defined by the DSC file when there is only one
whatever the command line or Conf/target.txt define.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Olivier Martin <[email protected]>
---
BaseTools/Source/Python/AutoGen/AutoGen.py | 9 +++++++--
1 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/BaseTools/Source/Python/AutoGen/AutoGen.py b/BaseTools/Source/Python/AutoGen/AutoGen.py
index 6711880..38928e6 100644
--- a/BaseTools/Source/Python/AutoGen/AutoGen.py
+++ b/BaseTools/Source/Python/AutoGen/AutoGen.py
@@ -214,8 +214,13 @@ class WorkspaceAutoGen(AutoGen):
else:
ArchList = set(self.ArchList) & set(self.Platform.SupArchList)
if not ArchList:
- EdkLogger.error("build", PARAMETER_INVALID,
- ExtraData = "Invalid ARCH specified. [Valid ARCH: %s]" % (" ".join(self.Platform.SupArchList)))
+ if len(self.Platform.SupArchList) == 1:
+ # We are in this case if the DSC file supports only one architecture and the given architecture is not the one supported.
+ EdkLogger.warn("build", "the platform architecture (ARCH: %s) does not match the given architecture (ARCH: %s)." % ((" ".join(self.Platform.SupArchList)), (" ".join(self.ArchList))))
+ ArchList = set(self.Platform.SupArchList)
+ else:
+ EdkLogger.error("build", PARAMETER_INVALID,
+ ExtraData = "Invalid ARCH (%s) specified. [Valid ARCH: %s]" % ((" ".join(ArchList)),(" ".join(self.Platform.SupArchList))))
elif self.ArchList and len(ArchList) != len(self.ArchList):
SkippedArchList = set(self.ArchList).symmetric_difference(set(self.Platform.SupArchList))
EdkLogger.verbose("\nArch [%s] is ignored because the platform supports [%s] only!"
--
1.7.5.4
------------------------------------------------------------------------------
Android is increasing in popularity, but the open development platform that
developers love is also attractive to malware creators. Download this white
paper to learn more about secure code signing practices that can help keep
Android apps secure.
http://pubads.g.doubleclick.net/gampad/clk?id=65839951&iu=/4140/ostg.clktrk
_______________________________________________
edk2-buildtools-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-buildtools-devel