mirror of
				https://github.com/acidanthera/audk.git
				synced 2025-10-31 03:03:46 +01:00 
			
		
		
		
	Fix the EDKT414, the old value should be replaced with new value.
Another modification, For some settings, there are one and only one valid value, such as ACTIVE_PLATFORM and TOOL_CHAIN_CONF. Add a protection to ensure the valid number of these setting in this version. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1774 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
		
							parent
							
								
									2fcfed38cb
								
							
						
					
					
						commit
						d3f458486e
					
				| @ -97,11 +97,12 @@ public class ParseParameter { | |||||||
|                     npflag = true; |                     npflag = true; | ||||||
|                     continue; |                     continue; | ||||||
|                 } |                 } | ||||||
|                 if(curpstr == null){ |                 String[] S = argstr.split(" "); | ||||||
|                     curpstr = pstr.concat(argstr.substring(2)); |                 if(S.length > 2){ | ||||||
|                 }else{ |                     System.out.printf( "%s\n", "The number of ACTIVE_PLATFORM can not more than 1."); | ||||||
|                     curpstr = mergeSetting(curpstr, argstr); |                     return 3; | ||||||
|                 } |                 } | ||||||
|  |                 curpstr = pstr.concat(argstr.substring(2)); | ||||||
|                 npflag = true; |                 npflag = true; | ||||||
|             } else if (argstr.charAt(1) == 't') { |             } else if (argstr.charAt(1) == 't') { | ||||||
|                 if(argstr.length() < 4 && argstr.charAt(2) == ' '){ |                 if(argstr.length() < 4 && argstr.charAt(2) == ' '){ | ||||||
| @ -117,11 +118,7 @@ public class ParseParameter { | |||||||
|                     ntflag = true; |                     ntflag = true; | ||||||
|                     continue; |                     continue; | ||||||
|                 } |                 } | ||||||
|                 if(curtstr == null){ |  | ||||||
|                 curtstr = tstr.concat(argstr.substring(2)); |                 curtstr = tstr.concat(argstr.substring(2)); | ||||||
|                 }else{ |  | ||||||
|                     curtstr = mergeSetting(curtstr, argstr); |  | ||||||
|                 } |  | ||||||
|                 ntflag = true; |                 ntflag = true; | ||||||
|             } else if (argstr.charAt(1) == 'a') { |             } else if (argstr.charAt(1) == 'a') { | ||||||
|                 if(argstr.length() < 4 && argstr.charAt(2) == ' '){ |                 if(argstr.length() < 4 && argstr.charAt(2) == ' '){ | ||||||
| @ -137,11 +134,7 @@ public class ParseParameter { | |||||||
|                     naflag = true; |                     naflag = true; | ||||||
|                     continue; |                     continue; | ||||||
|                 } |                 } | ||||||
|                 if(curastr == null){ |  | ||||||
|                 curastr = astr.concat(argstr.substring(2)); |                 curastr = astr.concat(argstr.substring(2)); | ||||||
|                 }else{ |  | ||||||
|                     curastr = mergeSetting(curastr, argstr); |  | ||||||
|                 } |  | ||||||
|                 naflag = true; |                 naflag = true; | ||||||
|             } else if (argstr.charAt(1) == 'c') { |             } else if (argstr.charAt(1) == 'c') { | ||||||
|                 if(argstr.length() < 4 && argstr.charAt(2) == ' '){ |                 if(argstr.length() < 4 && argstr.charAt(2) == ' '){ | ||||||
| @ -157,11 +150,12 @@ public class ParseParameter { | |||||||
|                     ncflag = true; |                     ncflag = true; | ||||||
|                     continue; |                     continue; | ||||||
|                 } |                 } | ||||||
|                 if(curcstr == null){ |                 String[] S = argstr.split(" "); | ||||||
|                     curcstr = pstr.concat(argstr.substring(2)); |                 if(S.length > 2){ | ||||||
|                 }else{ |                     System.out.printf( "%s\n", "The number of TOOL_CHAIN_CONF can not more than 1."); | ||||||
|                     curcstr = mergeSetting(curcstr, argstr); |                     return 3; | ||||||
|                 } |                 } | ||||||
|  |                 curcstr = cstr.concat(argstr.substring(2)); | ||||||
|                 ncflag = true; |                 ncflag = true; | ||||||
|             } else if (argstr.charAt(1) == 'n') { |             } else if (argstr.charAt(1) == 'n') { | ||||||
|                 if(argstr.length() < 4 && argstr.charAt(2) == ' '){ |                 if(argstr.length() < 4 && argstr.charAt(2) == ' '){ | ||||||
| @ -177,11 +171,7 @@ public class ParseParameter { | |||||||
|                     nnflag = true; |                     nnflag = true; | ||||||
|                     continue; |                     continue; | ||||||
|                 } |                 } | ||||||
|                 if(curnstr == null){ |  | ||||||
|                 curnstr = nstr.concat(argstr.substring(2)); |                 curnstr = nstr.concat(argstr.substring(2)); | ||||||
|                 }else{ |  | ||||||
|                     curnstr = mergeSetting(curnstr, argstr); |  | ||||||
|                 } |  | ||||||
|                 nnflag = true; |                 nnflag = true; | ||||||
|             } else if (argstr.charAt(1) == 'm') { |             } else if (argstr.charAt(1) == 'm') { | ||||||
|                 if(argstr.length() < 4 && argstr.charAt(2) == ' '){ |                 if(argstr.length() < 4 && argstr.charAt(2) == ' '){ | ||||||
| @ -192,6 +182,11 @@ public class ParseParameter { | |||||||
|                     System.out.printf( "%s\n", "The number of concurrent threads. Default is 2. Recommend to set this value to one more than the number of your compurter cores or CPUs." ); |                     System.out.printf( "%s\n", "The number of concurrent threads. Default is 2. Recommend to set this value to one more than the number of your compurter cores or CPUs." ); | ||||||
|                     return 2; |                     return 2; | ||||||
|                 } |                 } | ||||||
|  |                 String[] S = argstr.split(" "); | ||||||
|  |                 if(S.length > 2){ | ||||||
|  |                     System.out.printf( "%s\n", "The format of number is wrong."); | ||||||
|  |                     return 3; | ||||||
|  |                 } | ||||||
|                 mstr += argstr.substring(2); |                 mstr += argstr.substring(2); | ||||||
|                 curmstr = mstr; |                 curmstr = mstr; | ||||||
|                 nmflag = true; |                 nmflag = true; | ||||||
| @ -209,29 +204,58 @@ public class ParseParameter { | |||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|      |      | ||||||
|     public static String mergeSetting( String S1, String S2){ |  | ||||||
|          |  | ||||||
|         String[] S = S2.split(" "); |  | ||||||
| 
 |  | ||||||
|         for(int i = 1; i < S.length; i++){ |  | ||||||
|             if(S1.contains(S[i]) == false){ |  | ||||||
|                 S1 = S1.concat(" ").concat(S[i]); |  | ||||||
|             } |  | ||||||
|         } |  | ||||||
|          |  | ||||||
|         return S1; |  | ||||||
|     } |  | ||||||
|      |  | ||||||
|     public static boolean outputCurSetting(){ |     public static boolean outputCurSetting(){ | ||||||
|          |          | ||||||
|         System.out.printf( "%s\n", "The current setting is:" ); |         System.out.printf( "%s\n", "The current setting is:" ); | ||||||
|  |          | ||||||
|  |         if(curpstr != null){ | ||||||
|             System.out.printf( "%s\n", curpstr ); |             System.out.printf( "%s\n", curpstr ); | ||||||
|  |         } | ||||||
|  |         else{ | ||||||
|  |             System.out.printf( "%s\n", pstr ); | ||||||
|  |         } | ||||||
|  |          | ||||||
|  |         if(curtstr != null){ | ||||||
|             System.out.printf( "%s\n", curtstr ); |             System.out.printf( "%s\n", curtstr ); | ||||||
|  |         } | ||||||
|  |         else{ | ||||||
|  |             System.out.printf( "%s\n", tstr ); | ||||||
|  |         } | ||||||
|  |          | ||||||
|  |         if(curastr != null){ | ||||||
|             System.out.printf( "%s\n", curastr ); |             System.out.printf( "%s\n", curastr ); | ||||||
|  |         } | ||||||
|  |         else{ | ||||||
|  |             System.out.printf( "%s\n", astr ); | ||||||
|  |         } | ||||||
|  |          | ||||||
|  |         if(curcstr != null){ | ||||||
|             System.out.printf( "%s\n", curcstr ); |             System.out.printf( "%s\n", curcstr ); | ||||||
|  |         } | ||||||
|  |         else{ | ||||||
|  |             System.out.printf( "%s\n", cstr ); | ||||||
|  |         } | ||||||
|  |          | ||||||
|  |         if(curnstr != null){ | ||||||
|             System.out.printf( "%s\n", curnstr ); |             System.out.printf( "%s\n", curnstr ); | ||||||
|  |         } | ||||||
|  |         else{ | ||||||
|  |             System.out.printf( "%s\n", nstr ); | ||||||
|  |         } | ||||||
|  |          | ||||||
|  |         if(curmstr != null){ | ||||||
|             System.out.printf( "%s\n", curmstr ); |             System.out.printf( "%s\n", curmstr ); | ||||||
|  |         } | ||||||
|  |         else{ | ||||||
|  |             System.out.printf( "%s\n", mstr ); | ||||||
|  |         } | ||||||
|  |          | ||||||
|  |         if(curmstr != null){ | ||||||
|             System.out.printf( "%s\n", curmestr ); |             System.out.printf( "%s\n", curmestr ); | ||||||
|  |         } | ||||||
|  |         else{ | ||||||
|  |             System.out.printf( "%s\n", mestr ); | ||||||
|  |         } | ||||||
|          |          | ||||||
|         return true; |         return true; | ||||||
|     } |     } | ||||||
|  | |||||||
| @ -152,7 +152,7 @@ public class TargetFile { | |||||||
|                     bw.newLine(); |                     bw.newLine(); | ||||||
|                 } else { |                 } else { | ||||||
|                     // |                     // | ||||||
|                     //modify at the first time, and there should be *ACTIVE_PLATFORM*=* in the line |                     //modify at the first time, and there should be "*ACTIVE_PLATFORM*=*" in the line | ||||||
|                     // |                     // | ||||||
|                     if (textLine.indexOf("ACTIVE_PLATFORM") != -1) { |                     if (textLine.indexOf("ACTIVE_PLATFORM") != -1) { | ||||||
|                         if(pflag == true){ |                         if(pflag == true){ | ||||||
| @ -418,26 +418,6 @@ public class TargetFile { | |||||||
|         return true; |         return true; | ||||||
|     } |     } | ||||||
|      |      | ||||||
|     private static String convertStr(String str){ |  | ||||||
|         String convertStr = null; |  | ||||||
|          |  | ||||||
|         if( str.compareTo("-p") == 0 ){ |  | ||||||
|             convertStr =  "ACTIVE_PLATFORM"; |  | ||||||
|         }else if( str.compareTo("-a") == 0){ |  | ||||||
|             convertStr =  "TARGET_ARCH"; |  | ||||||
|         }else if( str.compareTo("-t") == 0){ |  | ||||||
|             convertStr =  "TARGET"; |  | ||||||
|         }else if( str.compareTo("-c") == 0){ |  | ||||||
|             convertStr =  "TOOL_CHAIN_CONF"; |  | ||||||
|         }else if( str.compareTo("-n") == 0){ |  | ||||||
|             convertStr =  "TOOL_CHAIN_TAG"; |  | ||||||
|         }else if( str.compareTo("-m") == 0){ |  | ||||||
|             convertStr =  "MAX_CONCURRENT_THREAD_NUMBER"; |  | ||||||
|         } |  | ||||||
|          |  | ||||||
|         return convertStr; |  | ||||||
|     } |  | ||||||
|      |  | ||||||
| 
 | 
 | ||||||
|     /** |     /** | ||||||
|      * according to user's input args, write the file directly |      * according to user's input args, write the file directly | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user