From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by mx.groups.io with SMTP id smtpd.web09.3377.1574842877202470666 for ; Wed, 27 Nov 2019 00:21:17 -0800 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: intel.com, ip: 192.55.52.115, mailfrom: liming.gao@intel.com) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga103.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 27 Nov 2019 00:21:16 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.69,248,1571727600"; d="scan'208";a="220901608" Received: from fmsmsx103.amr.corp.intel.com ([10.18.124.201]) by orsmga002.jf.intel.com with ESMTP; 27 Nov 2019 00:21:16 -0800 Received: from fmsmsx156.amr.corp.intel.com (10.18.116.74) by FMSMSX103.amr.corp.intel.com (10.18.124.201) with Microsoft SMTP Server (TLS) id 14.3.439.0; Wed, 27 Nov 2019 00:21:15 -0800 Received: from shsmsx105.ccr.corp.intel.com (10.239.4.158) by fmsmsx156.amr.corp.intel.com (10.18.116.74) with Microsoft SMTP Server (TLS) id 14.3.439.0; Wed, 27 Nov 2019 00:21:15 -0800 Received: from shsmsx104.ccr.corp.intel.com ([169.254.5.127]) by SHSMSX105.ccr.corp.intel.com ([169.254.11.225]) with mapi id 14.03.0439.000; Wed, 27 Nov 2019 16:21:13 +0800 From: "Liming Gao" To: "devel@edk2.groups.io" , "Feng, Bob C" Subject: Re: [edk2-devel] [Patch] Document: Update DSC spec to add Packages section Thread-Topic: [edk2-devel] [Patch] Document: Update DSC spec to add Packages section Thread-Index: AQHVo1RFJJ6Nlry8jUGT6aRwVI5j5aeerzXg Date: Wed, 27 Nov 2019 08:21:13 +0000 Message-ID: <4A89E2EF3DFEDB4C8BFDE51014F606A14E54966A@SHSMSX104.ccr.corp.intel.com> References: <20191125055022.32856-1-bob.c.feng@intel.com> In-Reply-To: <20191125055022.32856-1-bob.c.feng@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 Return-Path: liming.gao@intel.com Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable I have two comments.=20 1. Remove FeatureFlagExpress. This is not required.=20 2. Please use real example, such as UefiCpuPkg. Don't use IA32FamilyCpuPkg= as the example.=20 Thanks Liming >-----Original Message----- >From: devel@edk2.groups.io [mailto:devel@edk2.groups.io] On Behalf Of >Bob Feng >Sent: Monday, November 25, 2019 1:50 PM >To: devel@edk2.groups.io >Cc: Gao, Liming >Subject: [edk2-devel] [Patch] Document: Update DSC spec to add Packages >section > >BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=3D2383 > >Update DSC spec to add Packages section. > >The purpose of this section is to involve the packages, >which are not included by any component, into the platform. >In this way, more FeatureFlagPcd or FixedAtBuildPcd >can be used in platform DSC file or FDF file, >even if those PCDs are not used in any component. > >Signed-off-by: Bob Feng >Cc: Liming Gao >--- > .../213_[packages]_section_processing.md | 70 ++++++++++++++ > .../313_[packages]_section.md | 93 +++++++++++++++++++ > README.md | 1 + > SUMMARY.md | 2 + > 4 files changed, 166 insertions(+) > create mode 100644 >2_dsc_overview/213_[packages]_section_processing.md > create mode 100644 3_edk_ii_dsc_file_format/313_[packages]_section.md > >diff --git a/2_dsc_overview/213_[packages]_section_processing.md >b/2_dsc_overview/213_[packages]_section_processing.md >new file mode 100644 >index 0000000..7a73031 >--- /dev/null >+++ b/2_dsc_overview/213_[packages]_section_processing.md >@@ -0,0 +1,70 @@ >+ >+ >+## 2.13 [Packages] Section Processing >+ >+The `[Packages]` section lists the EDK II declaration files. The purpose= of this >+section is to involve the packages, which are not included by any compon= ent, >into >+the platform. In this way, more FeatureFlagPcd or FixedAtBuildPcd can be >used in >+platform DSC file or FDF file, even if those PCDs are not used in any >component. >+ >+Packages listed in architectural sections must not be listed in common >+`[Packages]` sections. The architectural section modifier is used as a >+restriction to mask items from architectures that are not applicable. Th= e >+locations of the packages listed in this section will be used for build = tool to >+get the PCD declaration. The packages must be listed >+in the order that resolves any include dependencies. >+ >+This section uses one of the following section definitions: >+ >+```ini >+[Packages] >+[Packages.common] >+[Packages.IA32] >+[Packages.X64] >+[Packages.EBC] >+``` >+ >+The path must include the DEC file name and the name of the directory th= at >+contains the DEC file. >+ >+``` >+MdeModulePkg/MdeModulePkg.dec # MdeModulePkg >+MdePkg/MdePkg.dec # MdePkg >+``` >+ >+The following is an example of a packages section: >+ >+```ini >+[Packages] >+ MdeModulePkg/MdeModulePkg.dec >+ MdePkg/MdePkg.dec >+``` >diff --git a/3_edk_ii_dsc_file_format/313_[packages]_section.md >b/3_edk_ii_dsc_file_format/313_[packages]_section.md >new file mode 100644 >index 0000000..0594048 >--- /dev/null >+++ b/3_edk_ii_dsc_file_format/313_[packages]_section.md >@@ -0,0 +1,93 @@ >+ >+ >+## 3.13 [Packages] Section >+ >+These are optional sections. The purpose of this section is to involve t= he >packages, >+which are not included by any component, into the platform. In this way, >more >+FeatureFlagPcd or FixedAtBuildPcd can be used in platform DSC file or FD= F >file, >+even if those PCDs are not used in any component. >+ >+#### Summary >+ >+Defines the `[Packages]` section tag that is used in EDK II platform DSC= files. >+Each entry in this section contains a directory name, forward slash char= acter >+and the name of the DEC file contained in the directory name. >+ >+Each package filename must be listed only once per section. Package >filenames >+listed in architectural sections are not permitted to be listed in the c= ommon >+architectural section. >+ >+The `"common"` architecture modifier in a section tag must not be combin= ed >with >+other architecture type; doing so will result in a build break. >+ >+Packages listed under the `"common"` architecture section must not be >listed in >+sections that have other architecture modifiers. >+ >+#### Prototype >+ >+```c >+ ::=3D "[Packages" [] "]" * >+ ::=3D {".common"} {} >+ ::=3D ["," "Packages" ] >+ ::=3D "." >+ ::=3D {} {} >+ ::=3D [] >+ ::=3D >+ ::=3D >+``` >+ >+#### Parameters >+ >+**_Filename_** >+ >+Paths listed in the `[Packages]` section contain a directory name, forwa= rd >+slash character and the name of the DEC file contained in the directory = name. >+Use of "..", "." and "../" in the directory path is not permitted. Use o= f an >+absolute path is prohibited. >+ >+**_FeatureFlagExpress_** >+ >+When present, the feature flag expression determines whether the entry >line is >+valid. If the feature flag expression evaluates to FALSE, this entry wil= l be >+ignored by the EDK II build tools. >+ >+#### Example >+ >+```ini >+[Packages] >+ MdePkg/MdePkg.dec >+ MdeModulePkg/MdeModulePkg.dec >+ >+[Packages.IA32] >+ DEFINE CPUS =3D IA32FamilyCpuPkg >+ $(CPUS)/DualCore/DualCore.dec >+``` >diff --git a/README.md b/README.md >index 42febaf..4ec9105 100644 >--- a/README.md >+++ b/README.md >@@ -194,5 +194,6 @@ Copyright (c) 2006-2017, Intel Corporation. All right= s >reserved. > | | Add structure PCD field value assignment syntax >| | > | | Add !error statement section >| | > | |[#1110](https://bugzilla.tianocore.org/show_bug.cgi?id=3D1= 110) >Extend exclamation statement's keyword to case-insensitive >| | > | 1.29 | [#1453](https://bugzilla.tianocore.org/show_bug.cgi?id=3D14= 53) >Update DSC spec to remove EDK related contents >| Mar 2019 | > | 1.30 | [#1952](https://bugzilla.tianocore.org/show_bug.cgi?id=3D19= 52) add >HOST_APPLIACTION ModuleTpye >| July 2019 | >+| |[#2383](https://bugzilla.tianocore.org/show_bug.cgi?id=3D2= 383) Add >[Packages] section into DSC file >| | >diff --git a/SUMMARY.md b/SUMMARY.md >index e00a040..bd206e1 100644 >--- a/SUMMARY.md >+++ b/SUMMARY.md >@@ -48,10 +48,11 @@ > * [2.8 PCD Sections](2_dsc_overview/28_pcd_sections.md#28-pcd-sections= ) > * [2.9 PCD Database](2_dsc_overview/29_pcd_database.md#29-pcd- >database) > * [2.10 [Components] Section >Processing](2_dsc_overview/210_[components]_section_processing.md#210 >-components-section-processing) > * [2.11 [UserExtensions] >Section](2_dsc_overview/211_[userextensions]_section.md#211- >userextensions-section) > * [2.12 [DefaultStores] >Section](2_dsc_overview/212_[defaultstores]_section_processing.md#212- >defaultstores-section-processing) >+ * [2.13 [Packages] >Section](2_dsc_overview/213_[packages]_section_processing.md#213- >packages-section-processing) > * [3 EDK II DSC File Format](3_edk_ii_dsc_file_format/README.md#3-edk-ii= - >dsc-file-format) > * [3.1 Building multiple >architectures](3_edk_ii_dsc_file_format/31_building_multiple_architecture= s. >md#31-building-multiple-architectures) > * [3.2 General Rules](3_edk_ii_dsc_file_format/32_general_rules.md#32- >general-rules) > * [3.3 Platform DSC >Definition](3_edk_ii_dsc_file_format/33_platform_dsc_definition.md#33- >platform-dsc-definition) > * [3.4 Header >Section](3_edk_ii_dsc_file_format/34_header_section.md#34-header- >section) >@@ -61,10 +62,11 @@ > * [3.8 [LibraryClasses] >Sections](3_edk_ii_dsc_file_format/38_[libraryclasses]_sections.md#38- >libraryclasses-sections) > * [3.9 PCD Sections](3_edk_ii_dsc_file_format/39_pcd_sections.md#39- >pcd-sections) > * [3.10 [Components] >Sections](3_edk_ii_dsc_file_format/310_[components]_sections.md#310- >components-sections) > * [3.11 [UserExtensions] >Sections](3_edk_ii_dsc_file_format/311_[userextensions]_sections.md#311- >userextensions-sections) > * [3.12 [DefaultStores] >Sections](3_edk_ii_dsc_file_format/312_[defaultstores]_section.md#312- >defaultstores-section) >+ * [3.13 [Packages] >Sections](3_edk_ii_dsc_file_format/313_[packages]_section.md#313- >packages-section) > * [Appendix A Variables](appendix_a_variables.md#appendix-a-variables) > * [Appendix B Sample EDK II DSC >File](appendix_b_sample_edk_ii_dsc_file.md#appendix-b-sample-edk-ii-dsc- >file) > * [Appendix C Module Types](appendix_c_module_types.md#appendix-c- >module-types) > * [Appendix D Vpd Data >Files](appendix_d_vpd_data_files/README.md#appendix-d-vpd-data-files) > * [D.1 EDK II Build System Output File >Format](appendix_d_vpd_data_files/d1_edk_ii_build_system_output_file_f >ormat.md#d1-edk-ii-build-system-output-file-format) >-- >2.20.1.windows.1 > > >