summaryrefslogtreecommitdiffstats
path: root/BaseTools/Source/Python
Commit message (Collapse)AuthorAgeFilesLines
* BaseTools: Fix the bug to search Fv.txt file relative to workspaceYonghong Zhu2018-03-031-6/+9
| | | | | | | | | | when the SECTION FV_IMAGE = $(XX)/XX.Fv, the Fv file should relative to WORKSPACE, so when we search the XX.Fv.txt file, we should search the path relative to workspace first. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
* BaseTools: Correct Structure Pcd value in the reportYonghong Zhu2018-03-031-9/+63
| | | | | | | | | The patch "Fixed build failed issue" changed structure Pcd Object, so we need update build report to correct structure Pcd Value. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
* BaseTools: Pcd Value override issue.Feng, Bob C2018-03-031-6/+8
| | | | | | | | | | For the case that the structure PCD has no value assignment in DSC, but has value assignment in command line. 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>
* BaseTools: Fixed build failed issue.Feng, Bob C2018-03-031-7/+14
| | | | | | | | | | Case 1. A Pcd has no default sku setting in DSC. Case 2. Build as Single SKU. 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>
* BaseTools: Fixed Pcd value override issue.BobCF2018-03-035-62/+157
| | | | | | | | | | | | | 1. Handle the Pcd maxsize issue for the case that the length of Pcd value from CommandLine bigger that its maxsize 2. The Pcd value override in commandline. 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>
* BaseTools: DSC Components section support flexible PCDYunhua Feng2018-03-032-1/+17
| | | | | | | | | | | | | DSC Components section support flexible PCD, and for binary driver, we need patch this value. Update the split char ',' not ', ' because some value may have space, while others may not have this space. 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> Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
* BaseTools: Dsc/Fdf conditional statement parse issueFeng, YunhuaX2018-03-032-0/+8
| | | | | | | | | | Set PCD value with --pcd argument not replace DSC/Fdf PCD value. 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: Yonghong Zhu <yonghong.zhu@intel.com>
* BaseTools: report error if flag in LABEL() invalidFeng, YunhuaX2018-03-021-4/+10
| | | | | | | | | | Flag in LABEL() is not valid C variable name, will report error. 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: Yonghong Zhu <yonghong.zhu@intel.com>
* BaseTools: Fix the bug for display incorrect *M flag in reportYonghong Zhu2018-03-021-10/+10
| | | | | | | | | | | The root cause is the byte array value in the driver Pcd, some bytes have additional space character, while the value in DSC file doesn't have this space, it cause the string compare return false, so we remove the extra space. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
* BaseTools: Fix eval parse string issueFeng, YunhuaX2018-03-021-4/+26
| | | | | | | | | | | | | | | | eval argument start with " or ', but it is unicode string, will encounter error: List = list(eval(Value)) # translate escape character File "<string>", line 1 'j??=????????F?? ^ SyntaxError: EOL while scanning string literal 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: Yonghong Zhu <yonghong.zhu@intel.com>
* BaseTools: GlobalData.gConfDirectory is None when run GenFdsFeng, YunhuaX2018-03-021-1/+3
| | | | | | | | | | | | When run GenFds, GlobalData.gConfDirectory is None, On Linux self._ToolChainFamily default Value is "MSFT", and then generate the wrong PcdValueInit Makefile 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: Yonghong Zhu <yonghong.zhu@intel.com>
* BaseTools: Fix the bug for single module build with GenC/GenMakeYonghong Zhu2018-03-021-0/+8
| | | | | | | | copy the same logic from _BuildPa() function. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
* BaseTools: Enhance FV info report file path to support absolute pathYonghong Zhu2018-03-011-1/+7
| | | | | | | | | | | When generate build report, Tool will get the info like size, Fv Name, etc from the xx.Fv.txt file and add these info into the build report. This patch support the xx.Fv.txt to use absolute file path format since user may provide specified FV path. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
* BaseTools: Improve build performance of structure PCD value generationFeng, Bob C2018-02-282-103/+112
| | | | | | | | | Optimized the PcdValueInit.c size by abstract the common logic in the funciton. 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>
* BaseTool: GUID format PCD value assignment fail in Structure PCD fieldBobCF2018-02-282-110/+182
| | | | | | | | | | If Structure PCD field is assigned as GUID format, its data type should be the fixed GUID structure. No flexible check is required. 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>
* BaseTools: Improve build performance of structure PCD value generationFeng, Bob C2018-02-283-84/+101
| | | | | | | | | | Add cache for building PcdValueInit.c. If PcdValueInit.c is not changed, it will not be regenerated. 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>
* BaseTools: Fixed the pcd value override issue.Feng, Bob C2018-02-284-24/+44
| | | | | | | | | | | 1. the issue in the overriding value from command line. 2. dec fully value < dec field assign value < dsc fully value < dsc field assign value 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>
* BaseTools: Fix a bug override Pcd by DSC Components sectionYonghong Zhu2018-02-282-3/+17
| | | | | | | | | | | The case is: define a VOID* pcd in DEC file, eg: Value is {0x1}. then override this PCD on DSC component section, eg: Value is {0x1, 0x2, 0x3}, the max size of this PCD is calculate wrong which cause build error. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
* BaseTools: Fix report not used --pcd value incorrectlyFeng, YunhuaX2018-02-281-0/+1
| | | | | | | | | | | Argument --pcd gUefiOvmfPkgTokenSpaceGuid.test10=H"{1}", If the PCD is not used, report value {0x01, 0x00}, is incorrect. 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: Yonghong Zhu <yonghong.zhu@intel.com>
* BaseTools: Fix flexible PCD single quote and double quote bugsFeng, YunhuaX2018-02-285-65/+123
| | | | | | | | | | | | | | | | | | | | | | 1.The " and ' inside the string, must use escape character format (\", \') 2.'string' and L'string' format in --pcd, it must be double quoted first. Some examples that to match --pcd format and DSC format --pcd DSC format L"ABC" L"ABC" "AB\\\"C" "AB\"C" "AB\\\'C" "AB\'C" L"\'AB\\\"C\'" L'AB\"C' "\'AB\\\'C\'" 'AB\'C' H"{0, L\"AB\\\"B\", \'ab\\\"c\'}" {0, L"AB\"B", 'ab\"c'} 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: Yonghong Zhu <yonghong.zhu@intel.com>
* BaseTools: Add more error message when PcdValue is wrongLiming Gao2018-02-271-0/+2
| | | | | | | | | | For structure PCD, its field name is wrong and cause build failure. Its build error message will output to let user aware what's wrong. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Liming Gao <liming.gao@intel.com> Cc: Feng Bob C <bob.c.feng@intel.com> Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
* BaseTools:Override the MAKE_FLAGS by BuildOptions in DSCYonghong Zhu2018-02-271-0/+7
| | | | | | | | | The issue that *_*_*_MAKE_FLAGS doesn't work in DSC [BuildOptions] section. It means MAKE flags can't be set in platform DSC file. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
* BaseTools: Add *B Flag for the field that from command lineYonghong Zhu2018-02-251-7/+3
| | | | | | | | | | For structure PCD, the field value may override in the command line, so in the report when we print the field info we add *B Flag for those field. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
* BaseTools: Update ValueExpressionEx for flexible PCDFeng, YunhuaX2018-02-251-75/+130
| | | | | | | | | | | 1. Byte array number should less than 0xFF. 2. Add SplitPcdValueString for PCD split 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: Yonghong Zhu <yonghong.zhu@intel.com>
* BaseTools/Expression: Use 2nd passes on PCD valuesKinney, Michael D2018-02-251-1/+25
| | | | | | | | | | | | | | | | Use 2 passes when evaluating PCD values to discover all the LABEL() operators and compute the byte offset of each LABEL(). The 2nd pass then has the information to replace the OFFSET_OF() operator with the computed byte offset. The 2 passes allows OFFSET_OF() to be used before a LABEL() is declared. fixes:https://bugzilla.tianocore.org/show_bug.cgi?id=880 Cc: Liming Gao <liming.gao@intel.com> Cc: Yonghong Zhu <yonghong.zhu@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com> Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
* BaseTools: Fix the bug to display the single SKUID infoYonghong Zhu2018-02-231-0/+4
| | | | | | | | | | when defined SKUID_IDENTIFIER = DEFAULT|TEST in DSC [Defines] section, per spec it means current SKUID is single, the bug is build report print both DEFAULT and TEST info, it should only print TEST. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
* BaseTools: Add check for INF statement must be a .inf fileYonghong Zhu2018-02-231-1/+3
| | | | | | | | | Per FDF spec, INF statement must use a .inf file, we add this error check. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
* BaseTools: Fix VOID* type bugFeng, YunhuaX2018-02-101-0/+2
| | | | | | | | | | | Code miss UINT32 and UINT64 value type setting in VOID*, like as {UINT32({TRUE})} 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: Yonghong Zhu <yonghong.zhu@intel.com>
* BaseTool: correct the generate compress section processFeng, YunhuaX2018-02-091-8/+5
| | | | | | | | | | | First generate a dummy file with section alignment, then compress the dummy file to generate the compress file 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>
* BaseTools: Update Expression.py for string comparison and MACRO replace issueYunhua Feng2018-02-093-31/+13
| | | | | | | | | | | | 1. Fix string comparison incorrect issue, we expected "ABC" is greater than "AAD" since the second char 'B' is greater than 'A'. 2. fix MACRO not replace issue. 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: Yonghong Zhu <yonghong.zhu@intel.com>
* BaseTools: not specified value of MAX_CONCURRENT_THREAD_NUMBERYonghong Zhu2018-02-091-1/+2
| | | | | | | | | | when MAX_CONCURRENT_THREAD_NUMBER is not specified, tool will automatically detect number of processor threads. Fixes: https://bugzilla.tianocore.org/show_bug.cgi?id=775 Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
* BaseTools: Enhance error handling for unsupported toolchain Flags/PathYonghong Zhu2018-02-081-1/+5
| | | | | | | | | | | | Case1: Cover the Tool PATH is not exist, eg: build MdeModule under GCC5 toolchain and IPF arch. Case2: Cover the Tool FLAGS is not exist, eg: build OvmfPkg under CLANG35 toolchain and X64 arch. fixes: https://bugzilla.tianocore.org/show_bug.cgi?id=595 Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
* BaseTools: Fixed incorrect Structure Pcd Value.Feng, Bob C2018-02-081-7/+13
| | | | | | | | | | When structurePCD only has overall value assigned in Dsc under different SKU, the value under default sku is used. 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>
* BaseTools: Fixed Build failed issue.BobCF2018-02-081-1/+6
| | | | | | | | | | If the PCD is not used in DSC file and user set that PCD value from Command line, build will fail. 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>
* BaseTool: Fixed Pcd issues.Feng, Bob C2018-02-084-79/+100
| | | | | | | | | | | 1. Check variable offset when merging Hii Pcds 2. Fixed the issue of Hii value inherit with default store. 3. Error handling for incorrect structure pcd declare. 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>
* BaseTools: Fix COMPRESS alignment incorrect issueFeng, YunhuaX2018-02-071-0/+14
| | | | | | | | | | | | | | | | | | | | | | Doesn't generate the correct alignment for the leaf section in the compression section. Below FFS rule doesn't work as the expectation. [Rule.Common.PEIM.PE32] FILE PEIM = $(NAMED_GUID) { PEI_DEPEX PEI_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex COMPRESS { PE32 PE32 Align=Auto $(INF_OUTPUT)/$(MODULE_NAME).efi UI STRING="$(MODULE_NAME)" Optional VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER) } } 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: Yonghong Zhu <yonghong.zhu@intel.com>
* BaseTools: Report error when GUID format is incorrectFeng, YunhuaX2018-02-071-10/+4
| | | | | | | | | | | | | | | Flexible GUID format of PCD value support following format, so tool should report error when it is not correct. 1. { GUID("11E13869-1896-4A07-8B21-D8B23DD2A2B4") } 2. { GUID({ 0x11e13869, 0x1896, 0x4a07,{ 0x8b, 0x21, 0xd8, 0xb2, 0x3d, 0xd2, 0xa2, 0xb4 } }) } 3. { GUID(gEfiBlockIoProtocolGuid) } 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: Yonghong Zhu <yonghong.zhu@intel.com>
* BaseTools: Fix flexible PCD DEVICE_PATH parse issueFeng, YunhuaX2018-02-071-1/+2
| | | | | | | | | | | | When the format of DEVICE_PATH have string, like as: {DEVICE_PATH("BBS(1,"AB",0)")} have string "AB", will get the wrong value. 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: Yonghong Zhu <yonghong.zhu@intel.com>
* BaseTools: Fix build argument --pcd for flexible format bugsFeng, YunhuaX2018-02-073-7/+72
| | | | | | | | | | | | | | | | | | | | | | | | | | Build argument --pcd flexible format, like as: 1. VOID* type gTokenSpaceGuid.Test=H"{flexible format}" gTokenSpaceGuid.Test=L"string" gTokenSpaceGuid.Test="string" gTokenSpaceGuid.Test=L'string' gTokenSpaceGuid.Test='string' 2. UINT8/UINT16/UINT32/UINT64 type gTokenSpaceGuid.Test=H"{flexible format}" gTokenSpaceGuid.Test=L"string" gTokenSpaceGuid.Test="string" gTokenSpaceGuid.Test=L'string' gTokenSpaceGuid.Test='string' In linux, single quotes need escape gTokenSpaceGuid.Test=L\'string\' gTokenSpaceGuid.Test=\'string\' 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: Yonghong Zhu <yonghong.zhu@intel.com>
* BaseTools: enhance error check for DatumType formatYonghong Zhu2018-02-061-1/+6
| | | | | | | | | Add a check for DatumType format, eg: VOID *, original Tool will crash but no detail error message which cause confusion to user. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
* BaseTools: Update Expression.py for VOID* to support L'a' and 'a'Feng, YunhuaX2018-02-042-3/+20
| | | | | | | | | | | | | | | | | | | Original VOID* type support L"string" and "string" format, now we also add support for single quote string that without null terminator. Type VOID* support L'a' and 'a', the value transfer to c style value. L'a' --> {0x61, 0x00} L'ab' --> {0x61, 0x00, 0x62, 0x00} 'a' --> {0x61} 'ab' --> {0x61, 0x62} when the value is L'' or '' that not include any character, tool will report error. 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: Yonghong Zhu <yonghong.zhu@intel.com>
* BaseTools: StructurePcd array Value support flexible formatFeng, YunhuaX2018-02-041-2/+33
| | | | | | | | | | | | | | | | | if StructurePcd set item value is array, support flexible format like as: gEfiStructuredPcdPkgTokenSpaceGuid.Test.Array | {flexible format} {flexible format} = {L"ABC"} | {L'ABC'} | {"ABC"} | {UINT8(0x10)} | {UINT16(0x10)} | {UINT32(0x10)} | {UINT64(0x10)} | {DEVICE_PATH("PciRoot(0)/Pci(0,0)")} | {GUID(gPcdPkgTokenSpaceGuid)} | {L"ABC", L'ABC', UINT8(0x10)....} 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: Yonghong Zhu <yonghong.zhu@intel.com>
* BaseTools: Structure Pcd in CommandLine.Feng, Bob C2018-02-017-98/+233
| | | | | | | 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>
* BaseTools: Support multiple .h fileFeng, Bob C2018-02-014-7/+9
| | | | | | | | | for structure Pcd declaration in DEC file. 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>
* BaseTool: Enhance error handling.BobCF2018-02-011-49/+67
| | | | | | | 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>
* BaseTool: Add comments in PcdValueInit.c.Feng, Bob C2018-02-011-4/+6
| | | | | | | | | Add Comments for __FLEXIBLE_SIZE () statement. 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>
* BaseTools: Update BPDG to support L'' and '' format as VPD Pcd ValueYonghong Zhu2018-01-312-17/+21
| | | | | | | | | Current Pcd value support flexible format, this patch add support for BPDG Tool to support L'' and '' format. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
* BaseTools: Fix the bug to align VPD PCD based on value typeYonghong Zhu2018-01-311-2/+12
| | | | | | | | | | | Spec required for VOID* VPD Pcd, Ascii string use byte alignment, byte array use 8-byte alignment, unicode string use 2-byte alignment. while when the VPD pcd offset use *, the offset generated in the .map file not follow this rule. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
* BaseTools: Enhance parse performance by optimize ValueExpressionExYunhua Feng2018-01-305-178/+183
| | | | | | | | | | | | Optimize ValueExpressionEx function to enhance meta-data file parse performance. 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: Yonghong Zhu <yonghong.zhu@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
* BaseTools: Fix indentation in CParser.py fileGary Lin2018-01-302-18/+4
| | | | | | | | | | | Mixing usage of spaces and tabs may confuse the python compiler/interpreter. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Gary Lin <glin@suse.com> Cc: Yonghong Zhu <yonghong.zhu@intel.com> Cc: Liming Gao <liming.gao@intel.com> Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>