audk/Tools/Java/Source/FrameworkWizard
jlin16 e4f1ff6cf9 Modify FrameworkModules editor for FPD files to meet the new PCD type adjust operation rules:
a. Add a module with PCD type Dyn. 
	If this PCD not exists in platform, 
ModuleSA.PcdType is set as Dyn (choose one from spd).
	Else
		ModuleSA.PcdType is set as existing type ? 
(Give a error message if this module pcd can NOT be set as existing type. And Pcd will not be added for this module into platform.)
		
	If PCD type is determined to be Dyn.
Add PCD to DynamicPcdBuildDefinitions if it not exists there.
SkuId = 0;
SkuInfo.value = MSA default | SPD default | give default based on DatumType.
If DatumType == void*
	Set ModuleSA.PcdMaxDatumSize;


b. Add a module with PCD type DynEx.
If this PCD not exists in platform, 
ModuleSA.PcdType is set as DynEx.
	Else
		ModuleSA.PcdType is set as existing type ? 
(Give a error message if this module pcd can NOT be set as existing type. And Pcd will not be added for this module into platform.)

Add PCD to DynamicPcdBuildDefinitions if it not exists there.
SkuId = 0;
SkuInfo.value = MSA default | SPD default | give default based on DatumType.
If DatumType == void*
	    Set ModuleSA.PcdMaxDatumSize;


c. Add a module with PCD type FixedAtBuild, PIM, FF
If this PCD not exists in platform, 
ModuleSA.PcdType is set as FaB | PIM | FF.
	Else
		ModuleSA.PcdType is set as existing type ? 
(Give a error message if this module pcd can NOT be set as existing type. And Pcd will not be added for this module into platform..)

ModuleSA.PcdValue = MSA default | SPD default | give default based on DatumType.
If DatumType == void*
		Set ModuleSA.PcdMaxDatumSize;


d. Edit ModuleSA.PcdType
	Get the corresponding MSA.PcdType in MSA file for this ModuleSA.
	
	If MSA.PcdType == Dyn.
		ModuleSA.PcdType could be [(valid Pcd types in SPD)]
		
    Else 
		ModuleSA.PcdType can NOT be changed.

	1) Change ModuleSa.PcdType from Dynamic. to [valid Pcd types in SPD]: 
	All same PCDs in FrameworkModules are changed to one of valid Pcd types in SPD according to user selection. 
	Check in whole platform other ModuleSA for the same pcd, if the corresponding MSAes for other ModuleSAes pcd can NOT accept the new type, give error message.
        
Keep old ModuleSA.PcdValue.
	Remove this PCD in DynamicPcdBuildDefintion.

2) Change ModuleSa.PcdType from [FaBor PIM] to Dynamic, DynEx.: 
	All same PCDs in FrameworkModules are changed to Dynamic | DynEx. 
Check in whole platform other ModuleSA for the same pcd, if the corresponding MSAes for other ModuleSAes pcd can NOT accept the new type, give error message.

Keep old ModuleSA.PcdValue?
	Add one new dynamic PCD in DynamicPcdBuildDefintion.


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1888 6f19259b-4bc3-4df7-8a09-765794883524
2006-11-02 11:04:27 +00:00
..
rsc/resources/images Restructuring for better separation of Tool packages. 2006-10-05 23:12:07 +00:00
src/org/tianocore/frameworkwizard Modify FrameworkModules editor for FPD files to meet the new PCD type adjust operation rules: 2006-11-02 11:04:27 +00:00
FrameworkWizard.msa Update several MSA/Filenames which do not inconsistent with current source files. 2006-10-25 10:10:55 +00:00
MANIFEST.MF Restructuring for better separation of Tool packages. 2006-10-05 23:12:07 +00:00
build.xml Standardized property name WORKSPACE and fixed cleanall messages. 2006-10-11 16:40:33 +00:00