From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by mx.groups.io with SMTP id smtpd.web12.2278.1585731211547851367 for ; Wed, 01 Apr 2020 01:53:31 -0700 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: intel.com, ip: 134.134.136.126, mailfrom: bob.c.feng@intel.com) IronPort-SDR: eSDWdEfC/kFN4YDAu2YMxJxyIqmjCs6/QbGznWZvOofcPU3ieoc1IEbDBqSSvjz+Fq7EpW7JPd z9CQX9WvgG9Q== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga005.jf.intel.com ([10.7.209.41]) by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 01 Apr 2020 01:53:30 -0700 IronPort-SDR: j/4uQD1yxf3PjB59EJbhQHt2cvIcliOCJNlEO6oOLbgHV+Yhp6pC9dVEnfFmpdbQyM2Z0IL/rj blB0Mq2fpK1A== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.72,331,1580803200"; d="scan'208";a="422635780" Received: from fmsmsx106.amr.corp.intel.com ([10.18.124.204]) by orsmga005.jf.intel.com with ESMTP; 01 Apr 2020 01:53:28 -0700 Received: from shsmsx606.ccr.corp.intel.com (10.109.6.216) by FMSMSX106.amr.corp.intel.com (10.18.124.204) with Microsoft SMTP Server (TLS) id 14.3.439.0; Wed, 1 Apr 2020 01:53:26 -0700 Received: from shsmsx601.ccr.corp.intel.com (10.109.6.141) by SHSMSX606.ccr.corp.intel.com (10.109.6.216) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Wed, 1 Apr 2020 16:53:24 +0800 Received: from shsmsx601.ccr.corp.intel.com ([10.109.6.141]) by SHSMSX601.ccr.corp.intel.com ([10.109.6.141]) with mapi id 15.01.1713.004; Wed, 1 Apr 2020 16:53:24 +0800 From: "Bob Feng" To: "devel@edk2.groups.io" , "pierre.gondois@arm.com" , Sami Mujawar , "Gao, Liming" CC: nd Subject: Re: [edk2-devel] [PATCH v1 1/1] INF Spec: Add file dependency to [Sources] syntax Thread-Topic: [edk2-devel] [PATCH v1 1/1] INF Spec: Add file dependency to [Sources] syntax Thread-Index: AQHWBqoDIJJuAfxjG0iyd0PQMmHIc6hgwsCAgAM1i7A= Date: Wed, 1 Apr 2020 08:53:24 +0000 Message-ID: <2a878026944a490e83dc3fbe5726244b@intel.com> References: <20200330154307.48220-1-pierre.gondois@arm.com> In-Reply-To: Accept-Language: zh-CN, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.239.127.36] MIME-Version: 1.0 Return-Path: bob.c.feng@intel.com Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Hi Pierre, I will review the spec and code change in this week. Thanks, Bob -----Original Message----- From: devel@edk2.groups.io [mailto:devel@edk2.groups.io] On Behalf Of Pier= reGondois Sent: Monday, March 30, 2020 11:52 PM To: devel@edk2.groups.io; Sami Mujawar ; Feng, Bob C= ; Gao, Liming Cc: nd Subject: Re: [edk2-devel] [PATCH v1 1/1] INF Spec: Add file dependency to = [Sources] syntax Hello Liming and Bob, I couldn't find the list of maintainers for the specification files, but i= t seems Liming is a maintainer. If a maintainer is missing, please feel fre= e to cc him, Regards, Pierre -----Original Message----- From: PierreGondois Sent: Monday, March 30, 2020 4:43 PM To: devel@edk2.groups.io Cc: Pierre Gondois ; liming.gao@intel.com; sami.mu= jawar@arm.org; nd Subject: [PATCH v1 1/1] INF Spec: Add file dependency to [Sources] syntax From: Pierre Gondois BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=3D2464 When building an edk2 module, a C file was including a .hex file generated= by the compilation of an ASL file. To describe this dependency between an ASL file and a C file, the edk2 pat= ch, - named "BaseTools: Build ASL files before C files", - discussed at: https://edk2.groups.io/g/devel/message/52550 has been created. This patch allows to establish build dependencies in the [Sources] section= , between files that are not of the same language. E.g.: [Sources] FileName1.X FileName2.Y : FileName1.X FileName3.Z : FileName1.X FileName2.Y Here: * FileName1.X will be built prior to FileName2.Y. * FileName1.X and FileName2.Y will be built prior to FileName3.Z. This patch updates the Inf specification accordingly. Signed-off-by: Pierre Gondois --- The changes can be seen at https://github.com/PierreARM/edk2-InfSpecificat= ion/tree/Bugzilla_2464_Enable_Build_Dependencies_v1 Notes: v1: - Enable build dependencies in the [Sources] section 2_inf_overview/25_[sources]_section.md | 12 ++++++++++++ 3_edk_ii_inf_file_format/32_component_inf_definition.md | 3 +++ 3_edk_ii_inf_file_format/39_[sources]_sections.md | 6 ++++-- README.md | 1 + 4 files changed, 20 insertions(+), 2 deletions(-) diff --git a/2_inf_overview/25_[sources]_section.md b/2_inf_overview/25_[s= ources]_section.md index 54757e61e37268eed293a5288e607cf2c7cfacf6..5b9f0a8395ef2be4497d99197d= c695625d841830 100644 --- a/2_inf_overview/25_[sources]_section.md +++ b/2_inf_overview/25_[sources]_section.md @@ -2,6 +2,7 @@ 2.5 [Sources] Section =20 Copyright (c) 2007-2019, Intel Corporation. All rights reserved.
+ Copyright (c) 2020, ARM Limited. All rights reserved.
=20 Redistribution and use in source (original document form) and 'compiled= ' forms (converted to PDF, epub, HTML and other formats) with or without = @@ -94,6 +95,17 @@ The following is an example for sources sections. =20 ``` =20 +The following example depicts the syntax to establish dependencies=20 +between files of different source types. As shown in the example below,= =20 +Dsdt.asl will be compiled before DadtHandler.c: + +```ini +[Sources.common] + DsdtHandler.c : Dsdt.asl + DsdtHandler.h + Dsdt.asl +``` + All Unicode files must be listed in the source section. If a Unicode file= , `A.uni`, has the statement: `#include B.uni`, and `B.uni` has a statemen= t: `#include C.uni`, both `B.uni` and `C.uni` files must be listed in the IN= F diff --git a/3_edk_ii_inf_file_format/32_component_inf_definition.md b/3_= edk_ii_inf_file_format/32_component_inf_definition.md index 164771cb4cfff6e81fbf762a67ff741c190cecde..d776714c24c0baf2348f53dc25= 76c9feb6f3cb5e 100644 --- a/3_edk_ii_inf_file_format/32_component_inf_definition.md +++ b/3_edk_ii_inf_file_format/32_component_inf_definition.md @@ -2,6 +2,7 @@ 3.2 Component INF Definition =20 Copyright (c) 2007-2019, Intel Corporation. All rights reserved.
+ Copyright (c) 2020, ARM Limited. All rights reserved.
=20 Redistribution and use in source (original document form) and 'compiled= ' forms (converted to PDF, epub, HTML and other formats) with or without = @@ -133,6 +134,8 @@ The following are common definitions used by multiple s= ection types. ::=3D "=3D" ::=3D "|" ::=3D + ::=3D ":" + ::=3D ::=3D "*" ::=3D "," * ::=3D "," * diff --git a/3_edk_ii_inf_file_format/39_[sources]_sections.md b/3_edk_ii_= inf_file_format/39_[sources]_sections.md index 810995df26ba409ca2cf3ebe6238aa5d55cf81f1..ac966425101fd44a57b09d36f9= 5a0f732eab1c59 100644 --- a/3_edk_ii_inf_file_format/39_[sources]_sections.md +++ b/3_edk_ii_inf_file_format/39_[sources]_sections.md @@ -2,6 +2,7 @@ 3.9 [Sources] Sections =20 Copyright (c) 2007-2019, Intel Corporation. All rights reserved.
+ Copyright (c) 2020, ARM Limited. All rights reserved.
=20 Redistribution and use in source (original document form) and 'compiled= ' forms (converted to PDF, epub, HTML and other formats) with or without = @@ -74,7 +75,8 @@ This section is not valid for a generated "As Built" bina= ry INF file. ::=3D [] [] ::=3D [] [] ::=3D [] [] - ::=3D [] + ::=3D [] [] + ::=3D + ::=3D {"MSFT"} {"GCC"} {"INTEL"} {} ::=3D {} {"*"} ::=3D _CommandCode_ @@ -83,7 +85,7 @@ This section is not valid for a generated "As Built" bin= ary INF file. =20 #### Parameters =20 -**_Filename_** +**_Filename_, _FileNameDependency_** =20 Paths listed in the filename elements of the `[Sources]` section must be = relative to the directory the INF file resides in. Use of "..", "." and ".= ./" diff --git a/README.md b/README.md index 60fba19fd67fd8d3dd33199de23f9bfe20aea7c9..4f771fc0f6e4ff516be95b1879= d58329ab3bbecc 100644 --- a/README.md +++ b/README.md @@ -203,3 +203,4 @@ Copyright (c) 2007-2017, Intel Corporation. All rights= reserved. | | [#1162](https://bugzilla.tianocore.org/show_bug.cgi?id=3D1= 162) Correct the item in Table 1 to align with 3.4 section = = | = | | 1.28 | [#1453](https://bugzilla.tianocore.org/show_bug.cgi?id=3D1= 453) Update INF spec to remove EDK related contents = = = = | Mar 2019 = | | 1.29 | [#1952](https://bugzilla.tianocore.org/show_bug.cgi?id=3D1= 952) Add new MODULE_TYPE HOST_APPLICATION = = | Jul= y 2019 | +| | [#2646](https://bugzilla.tianocore.org/show_bug.cgi?id=3D2= 646) Add file dependency to [Sources] syntax = = | = | -- 'Guid(CE165669-3EF3-493F-B85D-6190EE5B9759)'