summaryrefslogtreecommitdiffstats
path: root/BaseTools/Source/Python
Commit message (Collapse)AuthorAgeFilesLines
* BaseTools: update error message for SKUID_IDENTIFIER formatYonghong Zhu2017-04-061-2/+2
| | | | | | | | | | Per DSC spec, the SkuUiName use '|' as separator, so this patch update the error message to use '|' but not space as separator. Cc: Liming Gao <liming.gao@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
* BaseTools/UPT: Fix a parser issueHess Chen2017-04-052-11/+7
| | | | | | | | Update the method to get PCD information and support empty section. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Hess Chen <hesheng.chen@intel.com> Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
* BaseTools/UPT: Support Unicode pathHess Chen2017-04-052-5/+10
| | | | | | | | Update the IpiDb.py to support Unicode path for localization Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Hess Chen <hesheng.chen@intel.com> Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
* BaseTools/UPT: Use a simple way to get package pathHess Chen2017-04-051-20/+36
| | | | | | | | | Instead of parsing all content of DEC file, just get the package path only to save time. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Hess Chen <hesheng.chen@intel.com> Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
* BaseTools: Enhance StrDefs.h to include ImageDefs.hYonghong Zhu2017-04-011-0/+3
| | | | | | | | | | Enhance StrDefs.h to include ImageDefs.h for VfrCompiler to support IMAGE_TOKEN usage. Cc: Liming Gao <liming.gao@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
* BaseTools: Enhance expression to support some more operationYonghong Zhu2017-04-011-5/+23
| | | | | | | | | | Enhance expression to support some more operation that allowed in the spec, eg: *, /, %, <<, >>, ~. Cc: Liming Gao <liming.gao@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
* BaseTools: Update Pkcs7 and RSA2048 tool with shell=TrueYonghong Zhu2017-03-293-8/+8
| | | | | | | | | | Pkcs7Sign, Rsa2048Sha256Sign and Rsa2048Sha256GenerateKeys doesn't work on Linux. It needs to be changed with shell=True. Cc: Liming Gao <liming.gao@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
* BaseTools: Fix build failure for DynamicEx Pcd used in the LibraryYonghong Zhu2017-03-271-5/+3
| | | | | | | | | | | Update DynExPcdTokenNumberMapping logic, currently even it is Library, its self's Pcd is saved into ModulePcdList. Fixes:https://bugzilla.tianocore.org/show_bug.cgi?id=434 Cc: Liming Gao <liming.gao@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
* BaseTools: Skip module AutoGen by comparing timestamp.Derek Lin2017-03-254-0/+147
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [Introduction] The BaseTool Build.py AutoGen parse INF meta-file and generate AutoGen.c/AutoGen.h/makefile. When we only change .c .h code, the AutoGen might be not necessary, but Build.py spend a lot of time on it. There's a -u flag to skip all module's AutoGen. In my environment, it save 35%~50% of time in rebuild a ROM. However, if user change one .INF meta-file, then -u flag is not available. [Idea] AutoGen can compare meta-file's timestamp and decide if the module's AutoGen can be skipped. With this, when a module's INF is changed, we only run this module's AutoGen, we don't need to run other module's. [Implementation] In the end of a module's AutoGen, we create a AutoGenTimeStamp. The file save a file list that related to this module's AutoGen. In other word, the file list in AutoGenTimeStamp is INPUT files of module AutoGen, AutoGenTimeStamp file is OUTPUT. During rebuild, we compare time stamp between INPUT and OUTPUT, and decide if we can skip it. Below is the Input/Output of a module's AutoGen. [Input] 1. All the DSC/DEC/FDF used by the platform. 2. Macro and PCD defined by Build Options such as "build -D AAA=TRUE --pcd BbbPcd=0". 3. INF file of a module. 4. Source files of a module, list in [Sources] section of INF. 5. All the library link by the module. 6. All the .h files included by the module's sources. [Output] AutoGen.c/AutoGen.h/makefile/AutoGenTimeStamp [Testing] This patch save my build time. When I make a change without touching DSC/DEC/FDF, it is absolutely much faster than original rebuild, 35%~50% time saving in my environment (compare to original tool rebuild time). If I change any DSC/DEC/FDF, there's no performance improve, because it can't skip any module's AutoGen. Please note that if your environment will generate DSC/FDF during prebuild, it will not skip any AutoGen because of DSC timestamp is changed. This will require prebuild script not to update metafile when content is not changed.
* BaseTools: GenFds get the Size info for FV image in the FD regionYonghong Zhu2017-03-182-1/+21
| | | | | | | | | | | When the FV size is specify in the FD region, Tool generate the FV file may not use the correct size. Fixes: https://bugzilla.tianocore.org/show_bug.cgi?id=387 Cc: Liming Gao <liming.gao@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
* BaseTools: Update some tool with shell=TrueYonghong Zhu2017-03-183-6/+6
| | | | | | | | | | | Pkcs7Sign, Rsa2048Sha256Sign and Rsa2048Sha256GenerateKeys doesn't work on Linux. It needs to be changed with shell=True. Fixes: https://bugzilla.tianocore.org/show_bug.cgi?id=423 Cc: Liming Gao <liming.gao@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
* BaseTools/UPT: Fix an issue in subst commandHess Chen2017-03-142-12/+15
| | | | | | | | | UPT used to use "B:" as the temp directory which may cause conflict, now it will choose a valid volume. Also UPT now accepts empty sections. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Hess Chen <hesheng.chen@intel.com> Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
* BaseTools/UPT: Fix an issue of adding Event twiceHess Chen2017-03-091-6/+12
| | | | | | | | Fix the issue of after installing a package the Event information is duplicated. The tool checks if the EVENT information existing in UserExtension or not. If already existing in UserExtension the tool will not add additional information. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Hess Chen <hesheng.chen@intel.com> Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
* BaseTools/UPT: Add a checkpoint for missing '"'Hess Chen2017-03-091-2/+11
| | | | | | | | Add a checkpoint for UNI file which is missing '"' at the end of a line. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Hess Chen <hesheng.chen@intel.com> Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
* BaseTools/ECC: Fix an issue of parameter parserHess Chen2017-03-091-2/+2
| | | | | | | | | The original solution of getting parameter name is to skip "_" but now it doesn't ignore "_" anymore. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Hess Chen <hesheng.chen@intel.com> Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
* BaseTools: Fix the regression issue caused by commit dc4c77Yonghong Zhu2017-02-231-2/+2
| | | | | | | | | | | | In the last commit dc4c77, the _GetHeaderInfo will be called more than once, which cause the self._ConstructorList.append(Value) append some duplicate value. Cc: Liming Gao <liming.gao@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com> Tested-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Liming Gao <liming.gao@intel.com>
* BaseTools: add error check for Macro usage in the INF fileYonghong Zhu2017-02-222-2/+11
| | | | | | | | | | | Use of MACRO statements in the EDK II INF files is limited to local usage only; global or external macros are not permitted. This patch add the check for not defined macros. Cc: Liming Gao <liming.gao@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
* BaseTools: Fix bug for GUIDED tool path override by DSC [BuildOptions]Yonghong Zhu2017-02-172-22/+68
| | | | | | | | | | | Current the GUIDED tool path can't be override to the different path in the [BuildOptions] of DSC file. This patch fix the bug. Fixes: https://bugzilla.tianocore.org/show_bug.cgi?id=283 Cc: Liming Gao <liming.gao@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
* BaseTools: Enhance BaseTools supports FixedAtBuild usage in VFR fileYonghong Zhu2017-02-143-3/+38
| | | | | | | | | | | | | | | This patch is to update BaseTools generate Fixed PCD APIs and Value into $(MODULE_NAME)StrDefs.h for VFR only. If the module has VFR files, and it directly consumes FixedAtBuild PCD, BaseTool will generate those FixedAtBuild PCD value into its $(MODULE_NAME)StrDefs.h. FixedPcdGetXX macro are always generated. Every FixedPcd _PCD_VALUE_PcdName will be generated without the postfix U or UL or ULL. Fixes: https://bugzilla.tianocore.org/show_bug.cgi?id=348 Cc: Liming Gao <liming.gao@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
* BaseTools: Fix the bug to parse the short varname in map fileYonghong Zhu2017-02-081-4/+10
| | | | | | | | | | | current in the map file, there have two ways for var to save its offset, if the varname is short, then the offset will in the same line with varname, otherwise, it saved in the next line. Cc: Liming Gao <liming.gao@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
* BaseTools: Extend the Macro used in the FDF !include statementYonghong Zhu2017-01-231-11/+30
| | | | | | | | | | | | Current it only support the system environment variables in the !include statement, $(WORKSPACE), $(PACKAGES_PATH), $(EFI_SOURCE), $(EDK_SOURCE), $(ECP_SOURCE), this patch extend the usage to support the Global macros and the macro which defined before the statement. Cc: Liming Gao <liming.gao@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
* BaseTools: not report error for the optional items in the FmpTokensYonghong Zhu2017-01-062-10/+11
| | | | | | | | | | | | <FmpTokens> in the FDF spec defined some optional items, eg: IMAGE_INDEX, HARDWARE_INSTANCE. but current tool report error if no such item is exist in the FDF file. Fixes: https://bugzilla.tianocore.org/show_bug.cgi?id=293 Cc: Liming Gao <liming.gao@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
* BaseTools: fix the bug for Mixed Pcd display in the reportYonghong Zhu2017-01-041-6/+15
| | | | | | | | | | Fix the bug to not display the mixed PCD in the Global PCD section, and correct the Pcd display name. Cc: Liming Gao <liming.gao@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
* BaseTools: Fix the bug for RAW file alignment value supportYonghong Zhu2016-12-291-0/+7
| | | | | | | | | | | | Fix the bug for RAW file to support Align=32 and Align=64. Current FDF spec FfsAlignmentValues support this two values, while it is not the valid value for GenFfs. So this patch add the logic to handle it. Fixes: https://bugzilla.tianocore.org/show_bug.cgi?id=248 Cc: Liming Gao <liming.gao@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
* BaseTools/Ecc: Fix the issue of not recognizing "FILE_GUID"Hess Chen2016-12-291-1/+6
| | | | | | | | Fix the issue of not recognizing "FILE_GUID" Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Hess Chen <hesheng.chen@intel.com> Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
* BaseTools: Support QuotedString for PREBUILD/POSTBUILD in DSC fileYonghong Zhu2016-12-021-2/+14
| | | | | | | | | | | If the prebuild/postbuild script statement start with double quotations, current tool report error, while DSC spec allow this usage. so update tool to support it. Cc: Liming Gao <liming.gao@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
* BaseTools: Fix the bug to parse the new map file formatYonghong Zhu2016-12-022-9/+16
| | | | | | | | | | Current the variable and Pcd format save in the map file is changed, so this patch is to support this new format. Cc: Liming Gao <liming.gao@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
* BaseTools: add error check for "#image" for idf file formatYonghong Zhu2016-12-021-1/+4
| | | | | | | | | | Add new error check for "#image" keyword used in the image definition file. Cc: Liming Gao <liming.gao@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
* BaseTools: fix the bug to add PaletteSize info into AutoGenYonghong Zhu2016-11-301-3/+4
| | | | | | | | | | Fix the bug to add PaletteSize info into AutoGen.c when the flag UEFI_HII_RESOURCE_SECTION is set to FALSE. Cc: Liming Gao <liming.gao@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
* BaseTools: Fix bug for decimal value of VPDPCD offset display in reportYonghong Zhu2016-11-291-1/+4
| | | | | | | | | | | current if we set VPD PCD's offset to a decimal value, eg: 22, this value is displayed incorrectly in the "FD VPD Region" section in the report.txt. Cc: Liming Gao <liming.gao@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
* BaseTools: report error for same Guid's Private definition conflictYonghong Zhu2016-11-231-0/+33
| | | | | | | | | | | Add error check for the same Guid/Protocol/PPIs/Includes defined as both Private and non-Private attribute. Fixes: https://bugzilla.tianocore.org/show_bug.cgi?id=209 Cc: Liming Gao <liming.gao@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
* BaseTools: FILE DATA to support relative path under Multiple workspaceYonghong Zhu2016-11-151-1/+4
| | | | | | | | | | Fix the bug that FILE DATA to support relative path under Multiple workspace. Cc: Liming Gao <liming.gao@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
* BaseTools: Fix the bug to support generate FFS by Align=AutoYonghong Zhu2016-11-151-1/+3
| | | | | | | | | | | FDF spec support to use 'Auto' as <FfsAlignmentValues>, but current Tool report error about -a=Auto is invalid option when we set Align=Auto for RAW File. Cc: Liming Gao <liming.gao@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
* BaseTools: Add the support for character '<' and '>' in the map fileYonghong Zhu2016-11-051-2/+2
| | | | | | | | | | | | Current the regex for the symbol in the map file doesn't support the '<' and '>' character, while user use Lambda Expression (C++11 feature), it would generate the something like @V<lambda_xxx>@ in the map file which cause build fail to parse the symbol in map file. Cc: Liming Gao <liming.gao@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
* BaseTools/Pkcs7: Add readme.mdJiewen Yao2016-11-041-0/+84
| | | | | | | | | | | | Add readme.md to describe the X.509 certificate generation. Cc: Yonghong Zhu <yonghong.zhu@intel.com> Cc: Liming Gao <liming.gao@intel.com> Cc: Michael D Kinney <michael.d.kinney@intel.com> Cc: Qin Long <qin.long@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jiewen Yao <jiewen.yao@intel.com> Reviewed-by: Qin Long <qin.long@intel.com>
* BaseTools: Fix the Windows GCC Build Failure with too long pathYonghong Zhu2016-11-041-1/+5
| | | | | | | | | | | When path is too long, build tool will wrap them into resp.txt, then call gcc @resp.txt. It will cause windows GCC build failure, because resp.txt still uses windows directory separator \. This patch change the \ to /. Cc: Liming Gao <liming.gao@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
* BaseTool/Pkcs7: Add TestRoot.cer.Jiewen Yao2016-11-031-0/+0
| | | | | | | | | | | | | | | We add this binary data file for TestRoot.cer. So that a platform may include this default file in FDF, to check if the platform is using default test key, or different production key. Cc: Yonghong Zhu <yonghong.zhu@intel.com> Cc: Liming Gao <liming.gao@intel.com> Cc: Michael D Kinney <michael.d.kinney@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jiewen Yao <jiewen.yao@intel.com> Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com> Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com>
* BaseTools: Fix a bug for tooldef class not include the newly EnvYonghong Zhu2016-11-021-0/+2
| | | | | | | | | | | Prebuild script may update os.environ, but the tooldef class not include the new ENV variables. so after the Launch prebuild script, we should re-init the tooldef class to include the new ENV variables. Cc: Liming Gao <liming.gao@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
* BaseTools: Fix a bug for ExpandMacros to support mixed case ENV varYonghong Zhu2016-11-021-4/+7
| | | | | | | | | | | | os.environ contains all environment variables uppercase on Windows which cause the key in the self.MacroDictionary is uppercase, but the real variable name maybe mixed case, eg:WINSDK81x86, then we can't find the variable in the self.MacroDictionary. Cc: Liming Gao <liming.gao@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
* BaseTools: Fix the bug for OptionRom generation with different archYonghong Zhu2016-11-021-3/+3
| | | | | | | | | | | The GenFds tool uses the same output for the same module with the different arch, IA32 and X64 module will have the same output. The solution is add the arch info in the output directory. Cc: Liming Gao <liming.gao@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
* BaseTools: support PCD value to use expression in the DEC fileYonghong Zhu2016-10-192-29/+49
| | | | | | | | | This patch add the support for Pcd value to use expression in the DEC file. Cc: Liming Gao <liming.gao@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
* BaseTools: Enhance tool to generate EFI_HII_IIBT_DUPLICATE image blockYonghong Zhu2016-10-191-0/+14
| | | | | | | | | | | | | | When *.IDF file contains multiple definitions of image which point to the same image, current build tool generates multiple image blocks which contain the same image content. This patch enhance tool to generate EFI_HII_IIBT_DUPLICATE image blocks for non-first images for such case, to save the HII package size. Fixes: https://bugzilla.tianocore.org/show_bug.cgi?id=145 Cc: Liming Gao <liming.gao@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
* BaseTools: Update sign tool to make MonotonicCount *after* PayloadYonghong Zhu2016-10-172-8/+8
| | | | | | | | | | | | | | | The WIN_CERTIFICATE_UEFI_GUID AuthInfo defined in the UEFI spec mentioned that It is a signature across the image data and the Monotonic Count value. After clarification, we do the signature calculation, we put MonotonicCount after Payload. Cc: Liming Gao <liming.gao@intel.com> Cc: Jiewen Yao <jiewen.yao@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com> Reviewed-by: Jiewen Yao <jiewen.yao@intel.com> Tested-by: Jiewen Yao <jiewen.yao@intel.com>
* BaseTools/GenFds: Support FDF sections in any orderMichael Kinney2016-10-121-19/+4
| | | | | | | | | | | | | | https://bugzilla.tianocore.org/show_bug.cgi?id=141 This patch updates EDK II FDF parser in GenFds to allow sections to be placed in any order in the FDF file. Cc: Kelly Steele <kelly.steele@intel.com> Cc: Yonghong Zhu <yonghong.zhu@intel.com> Cc: Liming Gao <liming.gao@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Michael Kinney <michael.d.kinney@intel.com> Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
* BaseTools: Extend FMP to support FV statement and FD statementYonghong Zhu2016-10-123-16/+53
| | | | | | | | | | | This patch extend the <FmpFileData> to support <FvStatements> and <FdStatenents>, just like the normal [Capsule] section format. In order to fix the bug https://bugzilla.tianocore.org/show_bug.cgi?id=132 Cc: Liming Gao <liming.gao@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
* BaseTools Build: Fix build break for clean target in LinuxHao Wu2016-09-301-3/+3
| | | | | | | | | In Linux, Command needs to be String instead of list when Command run as shell with True. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Liming Gao <liming.gao@intel.com> Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
* BaseTools: List missing source python files for Ecc tool in MakefileHao Wu2016-09-271-0/+20
| | | | | | | | | | | | Add missing python sources files that are dependent for Ecc tool in Makefile. Cc: Yonghong Zhu <yonghong.zhu@intel.com> Cc: Liming Gao <liming.gao@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Hao Wu <hao.a.wu@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com> Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
* BaseTools: support generating image package from BMP/JPEG/PNG filesYonghong Zhu2016-09-275-6/+434
| | | | | | | | | | | | | | | | | | BaseTools add support to generating image package from BMP/JPEG/PNG files. 1) New file type *.idf Image definition file to describe HII image resource. It is the ASCII text file, and includes one or more "#image IMAGE_ID [TRANSPARENT] ImageFileName". 2) New IMAGE_TOKEN macro is used to refer to IMAGE_ID. 3) New AutoGen header file $(MODULE_NAME)ImgDefs.h to include the generated ImageId definition. 4) New $(MODULE_NAME)Idf.hpk or $(MODULE_NAME)Images are generated as the output binary HII image package. Cc: Liming Gao <liming.gao@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
* BaseTools: handling the case that map file is not existYonghong Zhu2016-09-251-16/+17
| | | | | | | | | | | We meet a case that add the library inf file which has the uni file in the [Sources] section, for this case there will no map file exist, it cause build tools report Traceback error. Cc: Liming Gao <liming.gao@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
* BaseTools: Update Python Makefile not to depend on PYTHON_FREEZER_PATHLiming Gao2016-09-211-4/+13
| | | | | | | | | | | | If PYTHON_FREEZER_PATH is not set, Python tools will not be freeze. Cc: Yonghong Zhu <yonghong.zhu@intel.com> Cc: Michael Kinney <michael.d.kinney@intel.com> Cc: Erik Bjorge <erik.c.bjorge@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Liming Gao <liming.gao@intel.com> Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com> Reviewed-by: Erik Bjorge <erik.c.bjorge@intel.com>