audk/BaseTools/Source/Python/Common
Yonghong Zhu 725cdb8fbf BaseTools: Fix nmake failure due to command-line length limitation
NMAKE is limited to command-line length of 4096 characters. Due to the
large number of /I directives specified on command line (one per include
directory), the path length of WORKSPACE is multiplied by the number of
/I directives and can exceed the limit.
This patch:
1. Add new build option -l, --cmd-len to set the maximum command line
length, default value is 4096.
2. Generate the response file only if the command line length exceed its
maximum characters (default is 4096) when build the module. Cover
PP_FLAGS, CC_FLAGS, VFRPP_FLAGS, APP_FLAGS, ASLPP_FLAGS, ASLCC_FLAGS and
ASM_FLAGS.
3. The content of the response file is combine from the FLAGS option and
INC option.
4. When build failure, it would print out the response file's file
location and its content.

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-22 17:16:49 +08:00
..
BuildToolError.py BaseTools/Build: Add SDL support 2015-04-10 06:59:47 +00:00
BuildVersion.py BaseTools: Clear build versions to sync with buildtools/BaseTools 2014-07-25 21:10:33 +00:00
DataType.py BaseTools: Implement BUILDRULEORDER for tools_def 2015-05-26 10:32:07 +00: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 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
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 Sync BaseTool trunk (version r2599) into EDKII BaseTools. 2013-08-23 02:18:16 +00: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: Fix nmake failure due to command-line length limitation 2016-03-22 17:16:49 +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 issue to support windows root directory 2015-10-14 09:43:43 +00: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:Incremental build not work if VPD values in DSC changed by -D 2016-01-29 04:48:55 +00:00
__init__.py Sync EDKII BaseTools to BaseTools project r1971 2010-05-18 05:04:32 +00:00