Carsey, Jaben 
							
						 
					 
					
						
						
							
						
						0a014fba41 
					 
					
						
						
							
							BaseTools: use in to compare single chars  
						
						... 
						
						
						
						instead if 3 Startswith for single chars, just use in with a list of chars
Cc: Yonghong Zhu <yonghong.zhu@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Jaben Carsey <jaben.carsey@intel.com >
Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com > 
						
						
					 
					
						2018-03-30 09:16:27 +08:00 
						 
				 
			
				
					
						
							
							
								Carsey, Jaben 
							
						 
					 
					
						
						
							
						
						0944818a19 
					 
					
						
						
							
							BaseTools: no need to do int() API work for it  
						
						... 
						
						
						
						int() with base=0 will already auto determine base from preceeding 0x/0X
Cc: Yonghong Zhu <yonghong.zhu@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Jaben Carsey <jaben.carsey@intel.com >
Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com > 
						
						
					 
					
						2018-03-30 09:16:01 +08:00 
						 
				 
			
				
					
						
							
							
								Carsey, Jaben 
							
						 
					 
					
						
						
							
						
						cc0321f22a 
					 
					
						
						
							
							BaseTools: refactor repeated RegExp when no special searching is needed.  
						
						... 
						
						
						
						use str.replace and try/except.
Cc: Liming Gao <liming.gao@intel.com >
Cc: Yonghong Zhu <yonghong.zhu@intel.com >
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Jaben Carsey <jaben.carsey@intel.com >
Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com > 
						
						
					 
					
						2018-03-29 16:33:55 +08:00 
						 
				 
			
				
					
						
							
							
								Carsey, Jaben 
							
						 
					 
					
						
						
							
						
						e52aed0d85 
					 
					
						
						
							
							BaseTools: dont use enumerate when un-needed  
						
						... 
						
						
						
						Since we only use the item from the list and not the numeric value,
dont bother with enumerate()
Cc: Liming Gao <liming.gao@intel.com >
Cc: Yonghong Zhu <yonghong.zhu@intel.com >
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Jaben Carsey <jaben.carsey@intel.com >
Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com > 
						
						
					 
					
						2018-03-29 16:31:24 +08:00 
						 
				 
			
				
					
						
							
							
								Carsey, Jaben 
							
						 
					 
					
						
						
							
						
						38504ad3e3 
					 
					
						
						
							
							BaseTools: move regular expression compile out of function call.  
						
						... 
						
						
						
						move to the root of the file and dont recompile.
Cc: Liming Gao <liming.gao@intel.com >
Cc: Yonghong Zhu <yonghong.zhu@intel.com >
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Jaben Carsey <jaben.carsey@intel.com >
Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com > 
						
						
					 
					
						2018-03-29 16:28:43 +08:00 
						 
				 
			
				
					
						
							
							
								Carsey, Jaben 
							
						 
					 
					
						
						
							
						
						663b9e061e 
					 
					
						
						
							
							BaseTools: expression can use single in instead of 3 API calls.  
						
						... 
						
						
						
						change 3 StartsWith() calls to a single 'in' operation.
Cc: Liming Gao <liming.gao@intel.com >
Cc: Yonghong Zhu <yonghong.zhu@intel.com >
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Jaben Carsey <jaben.carsey@intel.com >
Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com > 
						
						
					 
					
						2018-03-29 16:28:11 +08:00 
						 
				 
			
				
					
						
							
							
								Carsey, Jaben 
							
						 
					 
					
						
						
							
						
						56326323e6 
					 
					
						
						
							
							BaseTools: remove local hex number regular expression  
						
						... 
						
						
						
						Change to using the new shared hex number regular expression
Cc: Yonghong Zhu <yonghong.zhu@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Jaben Carsey <jaben.carsey@intel.com >
Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com > 
						
						
					 
					
						2018-03-29 16:26:38 +08:00 
						 
				 
			
				
					
						
							
							
								Carsey, Jaben 
							
						 
					 
					
						
						
							
						
						b1a9e404d4 
					 
					
						
						
							
							BaseTools: use new shared GUID regular expressions  
						
						... 
						
						
						
						remove local variables that are GUID matching and replace with shared
expression.
Cc: Yonghong Zhu <yonghong.zhu@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Jaben Carsey <jaben.carsey@intel.com >
Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com > 
						
						
					 
					
						2018-03-29 16:18:29 +08:00 
						 
				 
			
				
					
						
							
							
								Carsey, Jaben 
							
						 
					 
					
						
						
							
						
						47f7040ddb 
					 
					
						
						
							
							BaseTools: Expression - remove variable  
						
						... 
						
						
						
						The InArary variable serves no purpose.  just do the work immediately.
Cc: Yonghong Zhu <yonghong.zhu@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Jaben Carsey <jaben.carsey@intel.com >
Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com > 
						
						
					 
					
						2018-03-19 09:26:21 +08:00 
						 
				 
			
				
					
						
							
							
								Carsey, Jaben 
							
						 
					 
					
						
						
							
						
						3e8bab960e 
					 
					
						
						
							
							BaseTools: Expression - change from series of if to elif  
						
						... 
						
						
						
						since the first character of the string cannot be found by multiple if
statements, use elif to optomize the behavior.
Cc: Yonghong Zhu <yonghong.zhu@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Jaben Carsey <jaben.carsey@intel.com >
Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com > 
						
						
					 
					
						2018-03-19 09:25:33 +08:00 
						 
				 
			
				
					
						
							
							
								Carsey, Jaben 
							
						 
					 
					
						
						
							
						
						1f901a89f0 
					 
					
						
						
							
							BaseTools: Expression refactor function  
						
						... 
						
						
						
						The function is about C Names, not C Strings.
Move the re.compile outside the function call
Cc: Yonghong Zhu <yonghong.zhu@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Jaben Carsey <jaben.carsey@intel.com >
Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com > 
						
						
					 
					
						2018-03-19 09:25:06 +08:00 
						 
				 
			
				
					
						
							
							
								Carsey, Jaben 
							
						 
					 
					
						
						
							
						
						ae4cc2b084 
					 
					
						
						
							
							BaseTools: Expression - remove redundant variable  
						
						... 
						
						
						
						Str is created and not needed.
Cc: Yonghong Zhu <yonghong.zhu@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Jaben Carsey <jaben.carsey@intel.com >
Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com > 
						
						
					 
					
						2018-03-19 09:24:31 +08:00 
						 
				 
			
				
					
						
							
							
								Feng, YunhuaX 
							
						 
					 
					
						
						
							
						
						b31501c90a 
					 
					
						
						
							
							BaseTools: Fix parse OFFSET_OF get wrong offset  
						
						... 
						
						
						
						Fix parse OFFSET_OF get wrong offset
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 > 
						
						
					 
					
						2018-03-09 17:34:10 +08:00 
						 
				 
			
				
					
						
							
							
								Yonghong Zhu 
							
						 
					 
					
						
						
							
						
						8565b5829c 
					 
					
						
						
							
							BaseTools: Update --pcd parser to support flexible pcd format  
						
						... 
						
						
						
						This patch update --pcd parser to support flexible pcd 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 > 
						
						
					 
					
						2018-03-09 16:34:37 +08:00 
						 
				 
			
				
					
						
							
							
								Feng, YunhuaX 
							
						 
					 
					
						
						
							
						
						5ac0a5450b 
					 
					
						
						
							
							BaseTools: report error if flag in LABEL() invalid  
						
						... 
						
						
						
						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 > 
						
						
					 
					
						2018-03-02 10:18:50 +08:00 
						 
				 
			
				
					
						
							
							
								Feng, YunhuaX 
							
						 
					 
					
						
						
							
						
						ea927d2f3f 
					 
					
						
						
							
							BaseTools: Fix flexible PCD single quote and double quote bugs  
						
						... 
						
						
						
						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 > 
						
						
					 
					
						2018-02-28 08:47:11 +08:00 
						 
				 
			
				
					
						
							
							
								Feng, YunhuaX 
							
						 
					 
					
						
						
							
						
						3be421e987 
					 
					
						
						
							
							BaseTools: Update ValueExpressionEx for flexible PCD  
						
						... 
						
						
						
						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 > 
						
						
					 
					
						2018-02-25 16:04:23 +08:00 
						 
				 
			
				
					
						
							
							
								Kinney, Michael D 
							
						 
					 
					
						
						
							
						
						8bd72d7c05 
					 
					
						
						
							
							BaseTools/Expression: Use 2nd passes on PCD values  
						
						... 
						
						
						
						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 > 
						
						
					 
					
						2018-02-25 16:03:14 +08:00 
						 
				 
			
				
					
						
							
							
								Feng, YunhuaX 
							
						 
					 
					
						
						
							
						
						a35918caae 
					 
					
						
						
							
							BaseTools: Fix VOID* type bug  
						
						... 
						
						
						
						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 > 
						
						
					 
					
						2018-02-10 19:55:13 +08:00 
						 
				 
			
				
					
						
							
							
								Yunhua Feng 
							
						 
					 
					
						
						
							
						
						9efe8d6040 
					 
					
						
						
							
							BaseTools: Update Expression.py for string comparison and MACRO replace issue  
						
						... 
						
						
						
						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 > 
						
						
					 
					
						2018-02-09 08:34:36 +08:00 
						 
				 
			
				
					
						
							
							
								Feng, YunhuaX 
							
						 
					 
					
						
						
							
						
						0e6b86731e 
					 
					
						
						
							
							BaseTools: Update Expression.py for VOID* to support L'a' and 'a'  
						
						... 
						
						
						
						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 > 
						
						
					 
					
						2018-02-04 11:19:39 +08:00 
						 
				 
			
				
					
						
							
							
								Feng, Bob C 
							
						 
					 
					
						
						
							
						
						6f49996ced 
					 
					
						
						
							
							BaseTools: Structure Pcd 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 > 
						
						
					 
					
						2018-02-01 09:21:47 +08:00 
						 
				 
			
				
					
						
							
							
								Yunhua Feng 
							
						 
					 
					
						
						
							
						
						35f613d96c 
					 
					
						
						
							
							BaseTools: Enhance parse performance by optimize ValueExpressionEx  
						
						... 
						
						
						
						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 > 
						
						
					 
					
						2018-01-30 22:44:59 +08:00 
						 
				 
			
				
					
						
							
							
								Zhu, Yonghong 
							
						 
					 
					
						
						
							
						
						f13f306b3b 
					 
					
						
						
							
							BaseTools: Fix the bug for QuarkPlatformPkg build failure  
						
						... 
						
						
						
						The issue is that the string 'LPC' starts with the 'L' character and
this is being confused with L" or L' for a Unicode string or Unicode
character.
Fixes:https://bugzilla.tianocore.org/show_bug.cgi?id=831 
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 > 
						
						
					 
					
						2017-12-29 11:07:56 +08:00 
						 
				 
			
				
					
						
							
							
								Yonghong Zhu 
							
						 
					 
					
						
						
							
						
						726c501c2c 
					 
					
						
						
							
							BaseTools: Support PCD flexible values format  
						
						... 
						
						
						
						https://bugzilla.tianocore.org/show_bug.cgi?id=541 
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 > 
					
						2017-12-27 14:43:27 +08:00 
						 
				 
			
				
					
						
							
							
								Yunhua Feng 
							
						 
					 
					
						
						
							
						
						bc0d723392 
					 
					
						
						
							
							BaseTools: Add PCDs conditional operator function  
						
						... 
						
						
						
						Parse PCDS value like A >B ? C :D
if A > B is True, the result is C, else the result is D
Cc: Liming Gao <liming.gao@intel.com >
Cc: Yonghong Zhu <yonghong.zhu@intel.com >
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Yunhua Feng <yunhuax.feng@intel.com >
Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com > 
						
						
					 
					
						2017-07-10 09:58:13 +08:00 
						 
				 
			
				
					
						
							
							
								Yonghong Zhu 
							
						 
					 
					
						
						
							
						
						5e06f1a00b 
					 
					
						
						
							
							BaseTools: Enhance expression to support some more operation  
						
						... 
						
						
						
						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 > 
						
						
					 
					
						2017-04-01 13:34:48 +08:00 
						 
				 
			
				
					
						
							
							
								Yonghong Zhu 
							
						 
					 
					
						
						
							
						
						c8d07c5eeb 
					 
					
						
						
							
							BaseTools: Add two new sections for PCD in the build report  
						
						... 
						
						
						
						Build Spec updated to add two new sections for PCD in the build report.
1.Conditional directives section:If the DSC or FDF file contains
conditional directive statements.
2.Unused PCDs section: If the DSC or FDF file define values for PCDs that
are not used by any module and are not used in conditional directive
statements.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com >
Reviewed-by: Liming Gao <liming.gao@intel.com > 
						
						
					 
					
						2016-03-29 15:21:46 +08:00 
						 
				 
			
				
					
						
							
							
								Liming Gao 
							
						 
					 
					
						
						
							
						
						4afd3d0422 
					 
					
						
						
							
							Sync BaseTool trunk (version r2599) into EDKII BaseTools.  
						
						... 
						
						
						
						Signed-off-by: Liming Gao <liming.gao@intel.com >
Reviewed-by: Heshen Chen <chen.heshen@intel.com >
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14591  6f19259b-4bc3-4df7-8a09-765794883524 
						
						
					 
					
						2013-08-23 02:18:16 +00:00 
						 
				 
			
				
					
						
							
							
								lgao4 
							
						 
					 
					
						
						
							
						
						25918452ed 
					 
					
						
						
							
							Sync BaseTools Trunk (version r2524) to EDKII main trunk.  
						
						... 
						
						
						
						Signed-off-by: Liming Gao <liming.gao@intel.com >
Reviewed-by: Liu Yingke <yingke.d.liu@intel.com >
Reviewed-by: Yurui Zeng <yurui.zeng@intel.com >
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13353  6f19259b-4bc3-4df7-8a09-765794883524 
						
						
					 
					
						2012-05-23 08:27:14 +00:00 
						 
				 
			
				
					
						
							
							
								lgao4 
							
						 
					 
					
						
						
							
						
						64b2609fcf 
					 
					
						
						
							
							Sync BaseTools Trunk (version r2518) to EDKII main trunk.  
						
						... 
						
						
						
						Signed-off-by: Liming Gao <liming.gao@intel.com >
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13178  6f19259b-4bc3-4df7-8a09-765794883524 
						
						
					 
					
						2012-04-10 07:18:20 +00:00 
						 
				 
			
				
					
						
							
							
								lgao4 
							
						 
					 
					
						
						
							
						
						d0acc87a41 
					 
					
						
						
							
							Sync BaseTool trunk (version r2460) into EDKII BaseTools.  The change mainly includes:  
						
						... 
						
						
						
						1. Support use expression as DSC file PCD value.
  2. Update FDF parser to fix bug to get complete macro value.
  3. Fix bug to replace SET statement macro and evaluate SET statement PCD value in FDF file.
  4. Fix a bug for MACRO defined in conditional block cannot be processed correctly
Signed-off-by: lgao4
Reviewed-by: gikidy
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12827  6f19259b-4bc3-4df7-8a09-765794883524 
						
						
					 
					
						2011-12-07 06:19:28 +00:00 
						 
				 
			
				
					
						
							
							
								lgao4 
							
						 
					 
					
						
						
							
						
						0d2711a693 
					 
					
						
						
							
							Sync BaseTools Trunk (version r2387) to EDKII main trunk.  
						
						... 
						
						
						
						Signed-off-by: lgao4
Reviewed-by: gikidy
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12602  6f19259b-4bc3-4df7-8a09-765794883524 
						
						
					 
					
						2011-10-29 06:59:30 +00:00