From nobody Sat Apr 27 07:59:52 2024 Delivered-To: importer@patchew.org Received-SPF: none (zoho.com: 198.145.21.10 is neither permitted nor denied by domain of lists.01.org) client-ip=198.145.21.10; envelope-from=edk2-devel-bounces@lists.01.org; helo=ml01.01.org; Authentication-Results: mx.zohomail.com; spf=none (zoho.com: 198.145.21.10 is neither permitted nor denied by domain of lists.01.org) smtp.mailfrom=edk2-devel-bounces@lists.01.org Return-Path: Received: from ml01.01.org (ml01.01.org [198.145.21.10]) by mx.zohomail.com with SMTPS id 1504514608285977.9248737086325; Mon, 4 Sep 2017 01:43:28 -0700 (PDT) Received: from [127.0.0.1] (localhost [IPv6:::1]) by ml01.01.org (Postfix) with ESMTP id 4183F21E3EA7D; Mon, 4 Sep 2017 01:40:39 -0700 (PDT) Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) (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 3062F21E3EA72 for ; Mon, 4 Sep 2017 01:40:37 -0700 (PDT) Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga103.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 04 Sep 2017 01:43:24 -0700 Received: from shwdeopenpsi168.ccr.corp.intel.com ([10.239.158.121]) by fmsmga002.fm.intel.com with ESMTP; 04 Sep 2017 01:43:23 -0700 X-Original-To: edk2-devel@lists.01.org X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.41,473,1498546800"; d="scan'208";a="1214412319" From: Yonghong Zhu To: edk2-devel@lists.01.org Date: Mon, 4 Sep 2017 16:42:57 +0800 Message-Id: <1504514577-61136-1-git-send-email-yonghong.zhu@intel.com> X-Mailer: git-send-email 2.6.1.windows.1 Subject: [edk2] [Patch] Build spec: add description for build with binary cache 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: , Cc: Michael Kinney , Kevin W Shaw , Liming Gao MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Errors-To: edk2-devel-bounces@lists.01.org Sender: "edk2-devel" X-ZohoMail: RSF_4 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" fixes:https://bugzilla.tianocore.org/show_bug.cgi?id=3D689 Cc: Liming Gao Cc: Michael Kinney Cc: Kevin W Shaw Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Yonghong Zhu Reviewed-by: Liming Gao --- .../82_auto-generation_process.md | 20 ++++++++++++++++= ++++ README.md | 1 + appendix_d_buildexe_command/d4_usage.md | 19 +++++++++++++++-= --- 3 files changed, 36 insertions(+), 4 deletions(-) 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 671a7d5..f1d7158 100644 --- a/8_pre-build_autogen_stage/82_auto-generation_process.md +++ b/8_pre-build_autogen_stage/82_auto-generation_process.md @@ -1031,10 +1031,30 @@ 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`, `ASLCC_= FLAGS`, and `ASM_FLAGS`. ********** =20 +#### 8.2.4.15 Build with Binary Cache + +**build** tool provides three new options for binary cache feature. +--hash enables hash-based caching during build process. when --hash is ena= bled, +build tool will base on the module hash value to do the incremental build,= without +--hash, build tool will base on the timestamp to do the incremental build.= --hash +option use md5 method to get every hash value, DSC/FDF, tools_def.txt, bui= ld_rule.txt +and build command are calculated as global hash value, Package DEC and its= include +header files are calculated as package hash value, Module source files and= its INF +file are calculated as module hash value. Library hash value will combine = the global +hash value and its dependent package hash value. Driver hash value will co= mbine the +global hash value, its dependent package hash value and its linked library= hash value. +When --hash and --bindest are specified, build tool will copy the generate= d binary=20 +files for each module into the directory specified by bindest at the build= phase. +Bindest caches all generated binary files. +When --hash and --binsource are specified, build tool will try to get the = binary +files from the binary source directory at the build phase. If the cached b= inary has +the same hash value, it will be directly used. Otherwise, build tool will = compile the +source files and generate the binary files. + ### 8.2.5 Post processing =20 Once all files are parsed, the build tools will do following work for each= EDK II module: =20 diff --git a/README.md b/README.md index 52abb6a..ca59a35 100644 --- a/README.md +++ b/README.md @@ -215,5 +215,6 @@ Copyright (c) 2008-2017, Intel Corporation. All rights = reserved. | | [#523](https://bugzilla.tianocore.org/show_bug.cgi?id=3D523= ) Build spec: add EBNF for the --pcd syntax in the Section D.4 = = = |= | | | [#517](https://bugzilla.tianocore.org/show_bug.cgi?id=3D517= ) Build spec: chapter 5.2.2 Guided Tools add description for Pkcs7Sign tool= and BrotliCompress tool = = |= | | | [#481](https://bugzilla.tianocore.org/show_bug.cgi?id=3D481= ) Build Spec: add clarification for not used Pcd that build tool will not d= o additional checks on its value = = |= | | | [#518](https://bugzilla.tianocore.org/show_bug.cgi?id=3D518= ) Build Spec: Update Precedence of PCD Values = = = |= | | | [#669](https://bugzilla.tianocore.org/show_bug.cgi?id=3D669= ) Build Spec: Add multi-arg support to PREBUILD/POSTBUILD = = = |= | +| | [#689](https://bugzilla.tianocore.org/show_bug.cgi?id=3D689= ) Build spec: add description for build with binary cache = = = |= | diff --git a/appendix_d_buildexe_command/d4_usage.md b/appendix_d_buildexe_= command/d4_usage.md index b71f2d0..6a91c3a 100644 --- a/appendix_d_buildexe_command/d4_usage.md +++ b/appendix_d_buildexe_command/d4_usage.md @@ -32,19 +32,20 @@ ## D.4 Usage =20 ```ini Usage: build.exe [options] [all|fds|genc|genmake|clean|cleanall|cleanlib|modules|libraries|run] -Copyright (c) 2007 - 2014, Intel Corporation All rights reserved. +Copyright (c) 2007 - 2017, Intel Corporation All rights reserved. =20 Options: --version show program's version number and exit -h, --help show this help message and exit -a TARGETARCH, --arch=3DTARGETARCH - ARCHS is one of list: IA32, X64, IPF, ARM, or EBC, - which overrides target.txt's TARGET_ARCH definitio= n. - To specify more archs, please repeat this option. + ARCHS is one of list: IA32, X64, IPF, ARM, AARCH64= or + EBC, which overrides target.txt's TARGET_ARCH + definition. To specify more archs, please repeat t= his + option. -p PLATFORMFILE, --platform=3DPLATFORMFILE Build the platform specified by the DSC file name argument, overriding target.txt's ACTIVE_PLATFORM definition. -m MODULEFILE, --module=3DMODULEFILE @@ -112,10 +113,20 @@ Options: -N, --no-cache Disable build cache mechanism --conf=3DCONFDIRECTORY Specify the customized Conf directory. --check-usage Check usage content of entries listed in INF file. --ignore-sources Focus to a binary build and ignore all source files --pcd=3DOPTIONPCD Set PCD value by command line. Format: "PcdName= =3DValue" + -l COMMANDLENGTH, --cmd-len=3DCOMMANDLENGTH + Specify the maximum line length of build command. + Default is 4096. + --hash Enable hash-based caching during build process. + --bindest=3DBINCACHEDEST + Generate a cache of binary files in the specified + directory. + --binsource=3DBINCACHESOURCE + Consume a cache of binary files from the specified + directory. ``` =20 ### D.4.1 Debug Levels =20 The numeric debug levels are defined as integer values 0-9. --=20 2.6.1.windows.1 _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel