From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 46C9521A6F106 for ; Wed, 19 Apr 2017 00:18:20 -0700 (PDT) Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by orsmga104.jf.intel.com with ESMTP; 19 Apr 2017 00:18:19 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.37,220,1488873600"; d="scan'208";a="91217889" Received: from fmsmsx106.amr.corp.intel.com ([10.18.124.204]) by fmsmga005.fm.intel.com with ESMTP; 19 Apr 2017 00:18:16 -0700 Received: from shsmsx104.ccr.corp.intel.com (10.239.4.70) by FMSMSX106.amr.corp.intel.com (10.18.124.204) with Microsoft SMTP Server (TLS) id 14.3.319.2; Wed, 19 Apr 2017 00:18:16 -0700 Received: from shsmsx103.ccr.corp.intel.com ([169.254.4.117]) by SHSMSX104.ccr.corp.intel.com ([10.239.4.70]) with mapi id 14.03.0319.002; Wed, 19 Apr 2017 15:18:13 +0800 From: "Zhu, Yonghong" To: "Kinney, Michael D" , "edk2-devel@lists.01.org" CC: "Gao, Liming" , "Shaw, Kevin W" , "Zhu, Yonghong" Thread-Topic: [edk2-BuildSpecification PATCH] Add NMAKE response file for long command lines Thread-Index: AQHSuL6ihyFIrcZJpU6ZK/JXjvPGJqHLhZYAgADC/nA= Date: Wed, 19 Apr 2017 07:18:12 +0000 Message-ID: References: <1492573188-12276-1-git-send-email-michael.d.kinney@intel.com> <1492573188-12276-2-git-send-email-michael.d.kinney@intel.com> In-Reply-To: <1492573188-12276-2-git-send-email-michael.d.kinney@intel.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Subject: Re: [edk2-BuildSpecification PATCH] Add NMAKE response file for long command lines X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Apr 2017 07:18:20 -0000 Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Reviewed-by: Yonghong Zhu =20 Best Regards, Zhu Yonghong -----Original Message----- From: Kinney, Michael D=20 Sent: Wednesday, April 19, 2017 11:40 AM To: edk2-devel@lists.01.org Cc: Gao, Liming ; Zhu, Yonghong ; Shaw, Kevin W Subject: [edk2-BuildSpecification PATCH] Add NMAKE response file for long c= ommand lines https://bugzilla.tianocore.org/show_bug.cgi?id=3D479 If an NMAKE command line is too long, then the include paths and tool flags= are added to a response file that is passed to NMAKE. Cc: Liming Gao Cc: Yonghong Zhu Cc: Kevin W Shaw Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Michael Kinney --- .../82_auto-generation_process.md | 20 ++++++++++++++++= ++++ README.md | 1 + 2 files changed, 21 insertions(+) diff --git a/8_pre-build_autogen_stage/82_auto-generation_process.md b/8_pr= e-build_autogen_stage/82_auto-generation_process.md index 4175552..b7c81ea 100644 --- a/8_pre-build_autogen_stage/82_auto-generation_process.md +++ b/8_pre-build_autogen_stage/82_auto-generation_process.md @@ -991,6 +991,26 @@ Quotes are also required if the path to the pre-build = command contains space or special characters. ********** =20 +#### 8.2.4.14 NMAKE Command line limitation handling + +`NMAKE` is limited to command-line length of 4096 characters. Due to=20 +the large number of `/I` directives specified on command line (one per=20 +include directory), the path length of `WORKSPACE` is multiplied by the=20 +number of `/I` directives and can exceed this command-line length=20 +limitation. When this issue occurs, the build tools pass the command=20 +line options via a response file instead of directly on the command=20 +line. The contents of the response file is combination of `FLAGS`=20 +options and `INC` options. If a build fails, the build tools print the res= ponse file's file location and the contents of the response file. + +The **build** command supports the options `-l` and `--cmd-len` to set=20 +the maximum command line length. The default value is 4096. + +********** +**Note:** The following `FLAGS` options are included in the response file: +`PP_FLAGS`, `CC_FLAGS`, `VFRPP_FLAGS`, `APP_FLAGS`, `ASLPP_FLAGS`,=20 +`ASLCC_FLAGS`, and `ASM_FLAGS`. +********** + ### 8.2.5 Post processing =20 Once all files are parsed, the build tools will do following work for each= EDK diff --git a/README.md b/README.md index 2d9adb1..21bb782 100644 --- a/README.md +++ b/README.md @@ -205,3 +205,4 @@ Copyright (c) 2008-2017, Intel Corporation. All rights = reserved. | | [#472](https://bugzilla.tianocore.org/show_bug.cgi?id=3D472= ) [Build Spec] Extend macro usage in the !include statements for DSC/FDF fi= les = = |= | | | [#483](https://bugzilla.tianocore.org/show_bug.cgi?id=3D483= ) Build Spec: add description for merge Pre-build and Post-build into build= process = = |= | | | [#490](https://bugzilla.tianocore.org/show_bug.cgi?id=3D490= ) Build Spec: specify the alignment requirements for VOID* PCDs stored in a= PCD section = = |= | +| | [#479](https://bugzilla.tianocore.org/show_bug.cgi?id=3D479= ) Build spec: add description for nmake long command line handling = = = |= | -- 2.6.3.windows.1