From nobody Sat Apr 27 03:52:34 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.12 as permitted sender) client-ip=66.175.222.12; envelope-from=bounce+27952+51213+1787277+3901457@groups.io; helo=web01.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.12 as permitted sender) smtp.mailfrom=bounce+27952+51213+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=intel.com ARC-Seal: i=1; a=rsa-sha256; t=1574661032; cv=none; d=zohomail.com; s=zohoarc; b=lkqjYhMPtThUnTVYWwzKLS8YE3+Se1jRiBf7SDbRzE8Y46jY+/Go2WIPrsgqt6oiBH9Kytm0PRwy7RUBX+sekeb3TNR8/SkgZ31iJU2xj3ukUK5A75zOmi3GMNcntA0vxTi4lIwqSJ12XkA/r94nuOsiEZSLLvFd1bcmCYyB6YM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1574661032; h=Content-Transfer-Encoding:Cc:Date:From:List-Id:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:Sender:Subject:To; bh=4qGP6LMKJkuXuLkMsQIubAGhpmL1obb9cQRBsKZjoHE=; b=jAdN+55uSCupo6JHrHpBGjUDDwuBSBn6Y4/C427Tr3deIeuKLJSgckVaXzUCkqBWNrwGc0ZMQEhXz+4YKJiVTtBseD3uPVWGpaHS1K22jW9Ytnm8jav76r3QNbB4LBVGVXX262j2xdIQgjcOxX0JuJPdagghL97PlIoKPYpdops= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.12 as permitted sender) smtp.mailfrom=bounce+27952+51213+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) header.from= Received: from web01.groups.io (web01.groups.io [66.175.222.12]) by mx.zohomail.com with SMTPS id 15746610324101020.7559499824044; Sun, 24 Nov 2019 21:50:32 -0800 (PST) Return-Path: X-Received: by 127.0.0.2 with SMTP id shhZYY1788612xulmGY7rlqb; Sun, 24 Nov 2019 21:50:30 -0800 X-Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by mx.groups.io with SMTP id smtpd.web09.97.1574661029748154095 for ; Sun, 24 Nov 2019 21:50:30 -0800 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False X-Received: from orsmga007.jf.intel.com ([10.7.209.58]) by orsmga106.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 24 Nov 2019 21:50:29 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.69,240,1571727600"; d="scan'208";a="198345537" X-Received: from shwdepsi1121.ccr.corp.intel.com ([10.239.158.47]) by orsmga007.jf.intel.com with ESMTP; 24 Nov 2019 21:50:28 -0800 From: "Bob Feng" To: devel@edk2.groups.io Cc: Liming Gao Subject: [edk2-devel] [Patch] Document: Update DSC spec to add Packages section Date: Mon, 25 Nov 2019 13:50:22 +0800 Message-Id: <20191125055022.32856-1-bob.c.feng@intel.com> MIME-Version: 1.0 Precedence: Bulk List-Unsubscribe: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,bob.c.feng@intel.com X-Gm-Message-State: ziQtWukEBU5nvCBznyuFcC7Sx1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1574661030; bh=EhxnC4uPsMqYhmzeKvKlKPYA5T2WAcWpsJTeP6SH8Oo=; h=Cc:Date:From:Reply-To:Subject:To; b=K+BobeKjEtyaUIexjy/fCdsIezPUrTMhTeReVi0yEQg/B6rPvmkH0vG2gM23dEToqrS FY0yo50vCqGLsXOOMsxCNc2L7ktEB2/wfFtxzhxN0fC7eR00hwUiMq2rAwUpFoO6Pnutw tMn9ccda+RAzw1whyXZ8hrQr1Xf8EY0oDBE= X-ZohoMail-DKIM: pass (identity @groups.io) Content-Type: text/plain; charset="utf-8" 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_ov= erview/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 o= f this +section is to involve the packages, which are not included by any componen= t, into +the platform. In this way, more FeatureFlagPcd or FixedAtBuildPcd can be u= sed in +platform DSC file or FDF file, even if those PCDs are not used in any comp= onent. + +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. The +locations of the packages listed in this section will be used for build to= ol 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 that +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 the= packages, +which are not included by any component, into the platform. In this way, m= ore +FeatureFlagPcd or FixedAtBuildPcd can be used in platform DSC file or FDF = 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 f= iles. +Each entry in this section contains a directory name, forward slash charac= ter +and the name of the DEC file contained in the directory name. + +Each package filename must be listed only once per section. Package filena= mes +listed in architectural sections are not permitted to be listed in the com= mon +architectural section. + +The `"common"` architecture modifier in a section tag must not be combined= with +other architecture type; doing so will result in a build break. + +Packages listed under the `"common"` architecture section must not be list= ed 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, forward +slash character and the name of the DEC file contained in the directory na= me. +Use of "..", "." and "../" in the directory path is not permitted. Use of = an +absolute path is prohibited. + +**_FeatureFlagExpress_** + +When present, the feature flag expression determines whether the entry lin= e is +valid. If the feature flag expression evaluates to FALSE, this entry will = 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 rights = reserved. | | Add structure PCD field value assignment syntax = = = = | | | | Add !error statement section = = = = | | | |[#1110](https://bugzilla.tianocore.org/show_bug.cgi?id=3D111= 0) Extend exclamation statement's keyword to case-insensitive = = = | | | 1.29 | [#1453](https://bugzilla.tianocore.org/show_bug.cgi?id=3D1453= ) Update DSC spec to remove EDK related contents = = = = | Mar 2019 = | | 1.30 | [#1952](https://bugzilla.tianocore.org/show_bug.cgi?id=3D1952= ) add HOST_APPLIACTION ModuleTpye = = = | July 2019 | +| |[#2383](https://bugzilla.tianocore.org/show_bug.cgi?id=3D238= 3) 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]_se= ction.md#211-userextensions-section) * [2.12 [DefaultStores] Section](2_dsc_overview/212_[defaultstores]_sect= ion_processing.md#212-defaultstores-section-processing) + * [2.13 [Packages] Section](2_dsc_overview/213_[packages]_section_proces= sing.md#213-packages-section-processing) * [3 EDK II DSC File Format](3_edk_ii_dsc_file_format/README.md#3-edk-ii-d= sc-file-format) * [3.1 Building multiple architectures](3_edk_ii_dsc_file_format/31_buil= ding_multiple_architectures.md#31-building-multiple-architectures) * [3.2 General Rules](3_edk_ii_dsc_file_format/32_general_rules.md#32-ge= neral-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_[librarycl= asses]_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_[userext= ensions]_sections.md#311-userextensions-sections) * [3.12 [DefaultStores] Sections](3_edk_ii_dsc_file_format/312_[defaults= tores]_section.md#312-defaultstores-section) + * [3.13 [Packages] Sections](3_edk_ii_dsc_file_format/313_[packages]_sec= tion.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-t= ypes) * [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_format.md#d1-edk-ii-build-system-output= -file-format) --=20 2.20.1.windows.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#51213): https://edk2.groups.io/g/devel/message/51213 Mute This Topic: https://groups.io/mt/61900004/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-