Sathya Ravichandran
98d1f8a6fd
BaseTools: Remove DXE_SAL_DRIVER
...
The DXE_SAL_DRIVER module type was introduced to support
Itanium (IPF) platforms. Since support for Itanium processors has been
dropped, the instances of DXE_SAL_DRIVER have been removed.
Ref: [3cb0a311cb ]
Cc: Sachin Ganesh <sachinganesh@ami.com >
Signed-off-by: Sathya Ravichandran <sathyar@ami.com >
2025-10-30 10:00:32 +00:00
Oliver Smith-Denny
2ff173af12
BaseTools: Remove ARM32 Support
...
edk2 is dropping support for the ARM32 architecture. This
commit removes ARM32 code from BaseTools.
Signed-off-by: Oliver Smith-Denny <osde@microsoft.com >
2025-09-25 22:04:10 +00:00
Pierre Gondois
70d53c2df0
BaseTools: UPT/Library: Remove unnecessary code
...
Running the vulture tool on the UPT/Library folder gave the following
report. Remove the unnecessary code.
- UPT/Library/CommentGenerating.py:50:
unused function 'GenGenericComment' (60% confidence)
- UPT/Library/CommentGenerating.py:172:
unused function 'GenInfPcdTailComment' (60% confidence)
- UPT/Library/CommentGenerating.py:185:
unused function 'GenInfProtocolPPITailComment' (60% confidence)
- UPT/Library/CommentGenerating.py:203:
unused function 'GenInfGuidTailComment' (60% confidence)
- UPT/Library/Misc.py:504:
unused class 'MergeCommentDict' (60% confidence)
- UPT/Library/Misc.py:527:
unused function 'GenDummyHelpTextObj' (60% confidence)
- UPT/Library/ParserValidate.py:110:
unused function 'IsValidInfComponentType' (60% confidence)
- UPT/Library/ParserValidate.py:122:
unused function 'IsValidToolFamily' (60% confidence)
- UPT/Library/ParserValidate.py:134:
unused function 'IsValidToolTagName' (60% confidence)
- UPT/Library/ParserValidate.py:465:
unused function 'IsValidBuildNumber' (60% confidence)
- UPT/Library/ParserValidate.py:478:
unused function 'IsValidDepex' (60% confidence)
- UPT/Library/ParserValidate.py:546:
unused function 'IsValidVersionString' (60% confidence)
- UPT/Library/ParserValidate.py:721:
unused function 'CheckUTF16FileHeader' (60% confidence)
- UPT/Library/Parsing.py:52:
unused function 'GetBuildOption' (60% confidence)
- UPT/Library/Parsing.py💯
unused function 'GetLibraryClassOfInf' (60% confidence)
- UPT/Library/Parsing.py:150:
unused function 'GetPcd' (60% confidence)
- UPT/Library/Parsing.py:177:
unused function 'GetFeatureFlagPcd' (60% confidence)
- UPT/Library/Parsing.py:201:
unused function 'GetDynamicDefaultPcd' (60% confidence)
- UPT/Library/Parsing.py:227:
unused function 'GetDynamicHiiPcd' (60% confidence)
- UPT/Library/Parsing.py:254:
unused function 'GetDynamicVpdPcd' (60% confidence)
- UPT/Library/Parsing.py:277:
unused function 'GetComponent' (60% confidence)
- UPT/Library/Parsing.py:392:
unused function 'GetExec' (60% confidence)
- UPT/Library/Parsing.py:416:
unused function 'GetComponents' (60% confidence)
- UPT/Library/Parsing.py:532:
unused function 'GetSource' (60% confidence)
- UPT/Library/Parsing.py:581:
unused function 'GetGuidsProtocolsPpisOfInf' (60% confidence)
- UPT/Library/Parsing.py:595:
unused function 'GetGuidsProtocolsPpisOfDec' (60% confidence)
- UPT/Library/Parsing.py:645:
unused function 'GetPcdOfInf' (60% confidence)
- UPT/Library/Parsing.py:682:
unused function 'GetPcdOfDec' (60% confidence)
- UPT/Library/Parsing.py:739:
unused function 'InsertSectionItems' (60% confidence)
- UPT/Library/Parsing.py:776:
unused function 'GenMetaDatSectionItem' (60% confidence)
- UPT/Library/StringUtils.py:87:
unused function 'GetLibraryClassesWithModuleType' (60% confidence)
- UPT/Library/StringUtils.py:107:
unused function 'GetDynamics' (60% confidence)
- UPT/Library/StringUtils.py:350:
unused function 'GetMultipleValuesOfKeyFromLines' (60% confidence)
- UPT/Library/StringUtils.py:396:
unused function 'GetSingleValueOfKeyFromLines' (60% confidence)
- UPT/Library/StringUtils.py:463:
unused function 'PreCheck' (60% confidence)
- UPT/Library/StringUtils.py:675:
unused function 'StringArrayLength' (60% confidence)
- UPT/Library/StringUtils.py:718:
unused function 'IsHexDigit' (60% confidence)
- UPT/Library/UniClassObject.py:86:
unused function 'UniToStr' (60% confidence)
- UPT/Library/UniClassObject.py:227:
unused attribute 'StringNameByteList' (60% confidence)
- UPT/Library/UniClassObject.py:237:
unused attribute 'StringNameByteList' (60% confidence)
- UPT/Library/UniClassObject.py:377:
unused method 'GetIncludeFile' (60% confidence)
- UPT/Library/UniClassObject.py:947:
unused method 'FindStringValue' (60% confidence)
- UPT/Library/UniClassObject.py:957:
unused method 'FindByToken' (60% confidence)
- UPT/Library/UniClassObject.py:1022:
unused method 'ReadIncludeUNIfile' (60% confidence)
- UPT/Library/StringUtils.py:718:
unused function 'IsHexDigit' (60% confidence)
- UPT/Library/Xml/XmlRoutines.py:176:
unused function 'XmlElementList' (60% confidence)
- UPT/Library/Xml/XmlRoutines.py:202:
unused function 'XmlNodeName' (60% confidence)
Signed-off-by: Pierre Gondois <pierre.gondois@arm.com >
2025-07-01 09:51:38 +08:00
Pierre Gondois
c169a5420b
BaseTools: Remove unreachable code
...
Running the vulture tool gave the following report.
Remove the unreachable code.
- TargetTool/TargetTool.py:49:
unreachable code after 'raise' (100% confidence)
- UPT/Library/UniClassObject.py:137:
unreachable code after 'return' (100% confidence)
- UPT/Object/Parser/InfDefineObject.py:795:
unreachable code after 'if' (100% confidence)
- Ecc/Check.py:1504:
unreachable code after 'return' (100% confidence)
Signed-off-by: Pierre Gondois <pierre.gondois@arm.com >
2025-07-01 09:51:38 +08:00
Pierre Gondois
f54fe78d9a
BaseTools: Remove unused import
...
Running the vulture tool gave the following report.
Remove the unused import.
- BPDG/BPDG.py:21:
unused import 'encodings' (90% confidence)
- build/build.py:61:
unused import 'Manager' (90% confidence)
- Ecc/CParser4/CLexer.py:4:
unused import 'TextIO' (90% confidence)
- Ecc/CParser4/CParser.py:5:
unused import 'TextIO' (90% confidence)
- Eot/CParser4/CLexer.py:4:
unused import 'TextIO' (90% confidence)
- Eot/CParser4/CParser.py:5:
unused import 'TextIO' (90% confidence)
- Eot/EotMain.py:28:
unused import 'ConvertGuid' (90% confidence)
- GenFds/FdfParser.py:16:
unused import 'hexdigits' (90% confidence)
- Table/TableEotReport.py:16:
unused import 'EotToolError' (90% confidence)
- UPT/Library/CommentGenerating.py:19:
unused import 'USAGE_ITEM_NOTIFY' (90% confidence)
- UPT/Library/ParserValidate.py:18:
unused import 'COMPONENT_TYPE_LIST' (90% confidence)
- UPT/Library/UniClassObject.py:25:
unused import 'CheckUTF16FileHeader' (90% confidence)
Signed-off-by: Pierre Gondois <pierre.gondois@arm.com >
2025-07-01 09:51:38 +08:00
Mike Beaton
6820004b3e
BaseTools: Fix multiple 'invalid escape sequence' warnings in tests
...
In Python 3.12 invalid escape sequences in strings moved from
DeprecationWarning to SyntaxWarning
(ref https://docs.python.org/3/whatsnew/changelog.html#python-3-12-0-final
and search for gh-98401). In a future Python version this will become
SyntaxError.
Multiple instances of these SyntaxWarnings are currently printed when
running the BaseTools tests using Python 3.12 (though without actually
failing the affected tests).
This commit updates all lines which were causing this type of warning.
Typical examples which needed fixing are:
- "BaseTools\Source\Python" representing a path: "\S" and "\P" are invalid
escape sequences, therefore left unchanged, therefore the test works
(with a warning in Python 3.12). r"BaseTools\Source\Python" represents
the same string, but with escapes turned off completely thus no warning.
- Where '\t\s' is used as a regex pattern, then chr(9) + '\\s' is sent
to the regex parser (with a warning in Python 3.12) since '\s' is not a
valid Python escape sequence. This works correctly, though arguably for
the wrong reasons. r'\t\s' sends the same as '\\t\\s', as originally
intended and with no warning.
(Note that ' and " are not fundamentally different in Python.)
Signed-off-by: Mike Beaton <mjsbeaton@gmail.com >
2024-09-23 04:55:53 +00:00
Chao Li
c53807cb7b
BaseTools: Updated build tools to support new LoongArch.
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4053
Python code changes for building EDK2 LoongArch platform.
Cc: Bob Feng <bob.c.feng@intel.com >
Cc: Liming Gao <gaoliming@byosoft.com.cn >
Cc: Yuwei Chen <yuwei.chen@intel.com >
Signed-off-by: Chao Li <lichao@loongson.cn >
Co-authored-by: Baoqi Zhang <zhangbaoqi@loongson.cn >
Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn >
2022-10-14 02:16:33 +00:00
Rebecca Cran
708620d29d
BaseTools: Remove RVCT support
...
RVCT is obsolete and no longer used.
Remove support for it.
Signed-off-by: Rebecca Cran <quic_rcran@quicinc.com >
Reviewed-by: Ard Biesheuvel <ardb@kernel.org >
2022-05-13 14:58:54 +00:00
Cole
0b1b0a9674
python: Replace distutils.utils.split_quotes with shlex.split
...
distutils is deprecated and may be removed in python 3.12.
Use shlex.split which has been around since python 2.3.
shlex.split does not split on all the ASCII control characters that
split_quoted will[1], but for edk2 usage I don't think that matters.
[1] https://stackoverflow.com/questions/54999301/what-is-the-difference-between-distutils-util-split-quoted-and-shlex-split
Signed-off-by: Cole Robinson <crobinso@redhat.com >
Reviewed-by: Bob Feng <bob.c.feng@intel.com >
2021-08-02 03:09:59 +00:00
Antoine Cœur
2d53d54a5b
BaseTools: Fix various typos
...
Fix various typos in BaseTools.
Signed-off-by: Cœur <coeur@gmx.fr >
Reviewed-by: Bob Feng <bob.c.feng@intel.com >
2019-07-08 08:59:29 +08:00
Michael D Kinney
2e351cbe8e
BaseTools: Replace BSD License with BSD+Patent License
...
https://bugzilla.tianocore.org/show_bug.cgi?id=1373
Replace BSD 2-Clause License with BSD+Patent License. This change is
based on the following emails:
https://lists.01.org/pipermail/edk2-devel/2019-February/036260.html
https://lists.01.org/pipermail/edk2-devel/2018-October/030385.html
RFCs with detailed process for the license change:
V3: https://lists.01.org/pipermail/edk2-devel/2019-March/038116.html
V2: https://lists.01.org/pipermail/edk2-devel/2019-March/037669.html
V1: https://lists.01.org/pipermail/edk2-devel/2019-March/037500.html
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com >
Reviewed-by: Bob Feng <bob.c.feng@intel.com >
2019-04-09 09:10:20 -07:00
Feng, Bob C
2f2c51acfb
BaseTools: Remove the logic SourceOverridePath
...
BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=1350
SOURCE_OVERRIDE_PATH is for EDK component INF files.
The corresponding logic should be removed.
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Bob Feng <bob.c.feng@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Reviewed-by: Liming Gao <liming.gao@intel.com >
2019-03-24 16:12:38 +08:00
Feng, Bob C
7da3ed89d4
BaseTools: replace Sdict with OrderedDict in UPT
...
BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=1504
V2: import OrderredDict as Sdict in Misc.py instead
updating all the py files.
Sdict class is removed on the commit
174a9d3cc8
but there are still some py files import it.
This patch is to use collections.OrderedDict to replace Sdict.
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Bob Feng <bob.c.feng@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Cc: Jaben Carsey <jaben.carsey@intel.com >
Reviewed-by: Jaben Carsey <jaben.carsey@intel.com >
2019-02-20 13:16:56 +08:00
Feng, Bob C
8059cd2483
BaseTools: Correct the error message for UPT
...
This patch is going to correct the error message
for UPT.
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Hess Chen <hess.chen@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Reviewed-by: Liming Gao <liming.gao@intel.com >
Reviewed-by: Bob Feng <bob.c.feng@intel.com >
2019-02-18 09:11:46 +08:00
Antoine Coeur
fb0b35e05f
BaseTools: Various typo
...
Various typo in BaseTools.
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Coeur <coeur@gmx.fr >
Reviewed-by: Liming Gao <liming.gao@intel.com >
2019-02-14 10:02:28 +08:00
Feng, Bob C
d943b0c339
BaseTools: Handle the bytes and str difference
...
Deal with bytes and str is different, remove the unicode(),
correct open file parameter.
Using utcfromtimestamp instead of fromtimestamp.
Cc: Bob Feng <bob.c.feng@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Cc: Yonghong Zhu <yonghong.zhu@intel.com >
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Zhiju.Fan <zhijux.fan@intel.com >
Tested-by: Laszlo Ersek <lersek@redhat.com >
Tested-by: Ard Biesheuvel <ard.biesheuvel@linaro.org >
Reviewed-by: Liming Gao <liming.gao@intel.com >
Reviewed-by: Bob Feng <bob.c.feng@intel.com >
2019-02-01 11:09:24 +08:00
Zhijux Fan
174a9d3cc8
BaseTools/UPT:merge UPT Tool use Python2 and Python3
...
In UPT Tool,merge python2 and python3
Cc: Bob Feng <bob.c.feng@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Cc: Yonghong Zhu <yonghong.zhu@intel.com >
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Zhiju.Fan <zhijux.fan@intel.com >
Tested-by: Laszlo Ersek <lersek@redhat.com >
Tested-by: Ard Biesheuvel <ard.biesheuvel@linaro.org >
Reviewed-by: Liming Gao <liming.gao@intel.com >
Reviewed-by: Bob Feng <bob.c.feng@intel.com >
2019-02-01 11:09:19 +08:00
Hess Chen
90c64aada8
BaseTools/UPT: Fix an issue of UNI string checking.
...
The tool now can detect the error that the content between double
quotes contains another double quotes or enter key.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Hess Chen <hesheng.chen@intel.com >
Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com >
2018-10-24 08:41:05 +08:00
Liming Gao
1ccc4d895d
Revert BaseTools: PYTHON3 migration
...
This reverts commit 6693f359b3c213513c5096a06c6f67244a44dc52..
678f851312 .
Python3 migration is the fundamental change. It requires every developer
to install Python3. Before this migration, the well communication and wide
verification must be done. But now, most people is not aware of this change,
and not try it. So, Python3 migration is reverted and be moved to edk2-staging
Python3 branch for the edk2 user evaluation.
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Liming Gao <liming.gao@intel.com >
2018-10-15 08:29:14 +08:00
Yonghong Zhu
1b2e077260
BaseTools/UPT: Porting UPT Tool from Python2 to Python3
...
Cc: Liming Gao <liming.gao@intel.com >
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com >
Reviewed-by: Liming Gao <liming.gao@intel.com >
2018-10-13 09:57:16 +08:00
Yunhua Feng
86e6cf98a8
BaseTools: Handle the bytes and str difference
...
Deal with bytes and str is different, remove the unicode()
Using utcfromtimestamp instead of fromtimestamp.
Cc: Liming Gao <liming.gao@intel.com >
Cc: Yonghong Zhu <yonghong.zhu@intel.com >
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Yunhua Feng <yunhuax.feng@intel.com >
Reviewed-by: Liming Gao <liming.gao@intel.com >
2018-10-13 09:54:07 +08:00
Gary Lin
ac10741648
BaseTools: Use absolute import in UPT
...
Based on "futurize -f libfuturize.fixes.fix_absolute_import
Contributed-under: TianoCore Contribution Agreement 1.1
Cc: Yonghong Zhu <yonghong.zhu@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Signed-off-by: Gary Lin <glin@suse.com >
Reviewed-by: Jaben Carsey <jaben.carsey@intel.com >
2018-07-16 11:22:18 +08:00
Liming Gao
f7496d7173
BaseTools: Clean up source files
...
1. Do not use tab characters
2. No trailing white space in one line
3. All files must end with CRLF
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Liming Gao <liming.gao@intel.com >
Cc: Yonghong Zhu <yonghong.zhu@intel.com >
Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com >
2018-07-09 10:25:47 +08:00
Gary Lin
0d1f5b2b5d
BaseTools: Fix old python2 idioms
...
Based on "futurize -f lib2to3.fixes.fix_idioms"
* Change some type comparisons to isinstance() calls:
type(x) == T -> isinstance(x, T)
type(x) is T -> isinstance(x, T)
type(x) != T -> not isinstance(x, T)
type(x) is not T -> not isinstance(x, T)
* Change "while 1:" into "while True:".
* Change both
v = list(EXPR)
v.sort()
foo(v)
and the more general
v = EXPR
v.sort()
foo(v)
into
v = sorted(EXPR)
foo(v)
Contributed-under: TianoCore Contribution Agreement 1.1
Cc: Yonghong Zhu <yonghong.zhu@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Signed-off-by: Gary Lin <glin@suse.com >
Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com >
2018-06-27 16:33:27 +08:00
Gary Lin
ccaa7754a2
BaseTools: Adjust the spaces around commas and colons
...
Based on "futurize -f lib2to3.fixes.fix_ws_comma"
Contributed-under: TianoCore Contribution Agreement 1.1
Cc: Yonghong Zhu <yonghong.zhu@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Signed-off-by: Gary Lin <glin@suse.com >
Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com >
2018-06-27 16:33:25 +08:00