audk/BaseTools/Source/Python/Common
Yonghong Zhu 2a29017e3e BaseTools: Add mixed PCD support feature
Problem statement:
The current build system requires that a PCD must use the same access
method for all modules. A Binary Module may use a different PCD access
method than: 1.A source tree build it is integrated into. 2.Other Binary
Modules in platform build that use the same PCD.

Solution:
1. Source build:
No change. PCDs must use the same access method for building all Source
Modules.
2. Mixed Source & Binary Builds or Binary Only Builds:
1) Source Modules - No changes
2) Module that is interpreted as a Binary Module
a.DSC file may optionally override default value of PatchableInModule
PCDs in scope of Binary Module.
b.DSC file must declare DynamicEx PCD subtype for all DynamicEx PCDs
from Binary Modules.
c.FDF file must list Binary Module INF

Build update:
1. PCDs in a binary module are permitted to use the PatchableInModule
or DynamicEx access methods (the Binary INF clearly identifies the PCD
access method for each PCD). The build must support binary modules that
use the same or different PCD access method than the Source INFs or
other Binary INFs.
2. Build report list PCDs that have mixed PCD access methods.

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-04-20 09:24:46 +08:00
..
BuildToolError.py BaseTools: Add support to merge Prebuild and Postbuild into build Process 2016-04-07 13:13:22 +08:00
BuildVersion.py BaseTools: Clear build versions to sync with buildtools/BaseTools 2014-07-25 21:10:33 +00:00
DataType.py BaseTools: Add support to merge Prebuild and Postbuild into build Process 2016-04-07 13:13:22 +08:00
Database.py There is a limitation on WINDOWS OS for the length of entire file path can’t be larger than 255. There is an OS API provided by Microsoft to add “\\?\” before the path header to support the long file path. Enable this feature on basetools. 2014-08-15 03:06:48 +00:00
DecClassObject.py There is a limitation on WINDOWS OS for the length of entire file path can’t be larger than 255. There is an OS API provided by Microsoft to add “\\?\” before the path header to support the long file path. Enable this feature on basetools. 2014-08-15 03:06:48 +00:00
Dictionary.py BaseTools: Clean some coding style issues 2015-12-01 04:22:16 +00:00
DscClassObject.py BaseTools: Add support to merge Prebuild and Postbuild into build Process 2016-04-07 13:13:22 +08:00
EdkIIWorkspace.py BaseTools: Clean some coding style issues 2015-12-01 04:22:16 +00:00
EdkIIWorkspaceBuild.py There is a limitation on WINDOWS OS for the length of entire file path can’t be larger than 255. There is an OS API provided by Microsoft to add “\\?\” before the path header to support the long file path. Enable this feature on basetools. 2014-08-15 03:06:48 +00:00
EdkLogger.py BaseTools/EdkLogger: Support unit tests with a SILENT log level 2015-06-23 23:34:09 +00:00
Expression.py BaseTools: Add two new sections for PCD in the build report 2016-03-29 15:21:46 +08:00
FdfClassObject.py Sync EDKII BaseTools to BaseTools project r1971 2010-05-18 05:04:32 +00:00
FdfParserLite.py BaseTools: Clean some coding style issues 2015-12-01 04:22:16 +00:00
GlobalData.py BaseTools: Add mixed PCD support feature 2016-04-20 09:24:46 +08:00
Identification.py Sync EDKII BaseTools to BaseTools project r1971 2010-05-18 05:04:32 +00:00
InfClassObject.py There is a limitation on WINDOWS OS for the length of entire file path can’t be larger than 255. There is an OS API provided by Microsoft to add “\\?\” before the path header to support the long file path. Enable this feature on basetools. 2014-08-15 03:06:48 +00:00
LongFilePathOs.py This patch is going to: 2014-08-21 07:51:21 +00:00
LongFilePathOsPath.py BaseTools: Update Build tool to support multiple workspaces 2015-10-08 09:27:14 +00:00
LongFilePathSupport.py BaseTools/Ecc: Add a checkpoint for invalid UNI file. 2015-06-25 07:50:55 +00:00
MigrationUtilities.py BaseTools: Clean some coding style issues 2015-12-01 04:22:16 +00:00
Misc.py BaseTools: Clean some coding style issues 2015-12-01 04:22:16 +00:00
MultipleWorkspace.py BaseTools: Fix the bug to correctly handle the [BuildOptions] 2016-04-15 08:41:21 +08:00
Parsing.py Sync BaseTool trunk (version r2670) into EDKII BaseTools. 2014-07-01 07:10:10 +00:00
PyUtility.pyd Sync BaseTool trunk (version r2599) into EDKII BaseTools. 2013-08-23 02:18:16 +00:00
RangeExpression.py BaseTools/Build: Fix the range expression evaluation error. 2015-07-06 00:55:15 +00:00
String.py BaseTools: Update Build tool to support multiple workspaces 2015-10-08 09:27:14 +00:00
TargetTxtClassObject.py License header updated to match correct format. 2014-08-28 13:53:34 +00:00
ToolDefClassObject.py BaseTools: Clean some coding style issues 2015-12-01 04:22:16 +00:00
VariableAttributes.py BaseTools/Build: Add SDL support 2015-04-10 06:59:47 +00:00
VpdInfoFile.py BaseTools: Add mixed PCD support feature 2016-04-20 09:24:46 +08:00
__init__.py Sync EDKII BaseTools to BaseTools project r1971 2010-05-18 05:04:32 +00:00