From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from EUR04-VI1-obe.outbound.protection.outlook.com (EUR04-VI1-obe.outbound.protection.outlook.com [40.107.8.77]) by mx.groups.io with SMTP id smtpd.web10.54546.1585585264562197413 for ; Mon, 30 Mar 2020 09:21:05 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@armh.onmicrosoft.com header.s=selector2-armh-onmicrosoft-com header.b=NoOmLtZF; spf=pass (domain: arm.com, ip: 40.107.8.77, mailfrom: pierre.gondois@arm.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=LWsHtEdELBTf0XWTcly1bdfBofGmZponBS/ERGRRMX0=; b=NoOmLtZFiEWf7SBA2gL1JQ/WsxWWjALs0suXRooLZCR+JAku4nYnDuOnPaDdaatUg1BRw+rx6f6Pk7EBKKT/VTbGvpbocesq4C9OvUqtbiRRQbJXu8I1jgiCYE6yV+gfiPXzCR1R6qCs7zC8idvr6wdrRZBMFb5k32Zfa5adoxQ= Received: from DB8PR06CA0041.eurprd06.prod.outlook.com (2603:10a6:10:120::15) by AM0PR08MB5523.eurprd08.prod.outlook.com (2603:10a6:208:17f::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2856.19; Mon, 30 Mar 2020 16:21:01 +0000 Received: from DB5EUR03FT052.eop-EUR03.prod.protection.outlook.com (2603:10a6:10:120:cafe::fb) by DB8PR06CA0041.outlook.office365.com (2603:10a6:10:120::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2856.19 via Frontend Transport; Mon, 30 Mar 2020 16:21:01 +0000 Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; edk2.groups.io; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;edk2.groups.io; dmarc=bestguesspass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by DB5EUR03FT052.mail.protection.outlook.com (10.152.21.82) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2856.17 via Frontend Transport; Mon, 30 Mar 2020 16:21:01 +0000 Received: ("Tessian outbound 66307db0259d:v48"); Mon, 30 Mar 2020 16:21:01 +0000 X-CR-MTA-TID: 64aa7808 Received: from 995ae81d7638.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id DA9E109A-6B17-436F-AA77-ECDA0B7DD01B.1; Mon, 30 Mar 2020 16:20:56 +0000 Received: from EUR01-DB5-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 995ae81d7638.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Mon, 30 Mar 2020 16:20:56 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=im4t8gyBrIOO30uqIiMuKqvfHLRmPH6KS3MRhrI9L/bK270XIrniverlgBuk4aLebQk5qNVekaEqs0a/D1pZ4WeaXotRcmggUG1RZwzxxbg18ZiM14RFl3oSFFx0sjxASpHjcmGpVariOEkfAUhNCYAx9MTcMCm0AdTKecil3t8XmSOIaJlZlmXd3sd20TTAJT2uBd61LD2pO8NfQpHbJWPCsQv6rkYuV0sQreluIWOj5ph5KwEoh6VhOFPyi7CSi85kgtuqahCWCFwamSN7itHCkaKzvugLy8AnLb5avSt9kuXejScGg+JGoCKF7l7RWqFPMG1nA6+GdR56BOU35Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=LWsHtEdELBTf0XWTcly1bdfBofGmZponBS/ERGRRMX0=; b=dt1xzck2l2VzmRPaMPk/qnUmvjTUyR1WHpwtl6892Obij8DCzxC3ZtUT+f0RKi1tv3eHmNBzGxqjolrAdL0GlqqyKZBBsUzF0cRPXROL66jkZn40QP36QW14pcqeAXtg7v0/+6FTZ3xi3P4UtkxvXJDoffzAuBVLMVFjOSo+8iK50R05ejtbAJS5VJqQwJ9yzFyAoACYrd9yuz3EdjoBGgP6QBCtUyeLRH1Vu5smgu8//Z5rXSilQ0QQ+JwSB6dX/624XqMPxuG2fUro/LbgMaxkWiuw6SJWO+XdBuF3hPPvsWmVWdwDA+OYwsIwm5LvLpXolOi89WdW0qLIji245g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=LWsHtEdELBTf0XWTcly1bdfBofGmZponBS/ERGRRMX0=; b=NoOmLtZFiEWf7SBA2gL1JQ/WsxWWjALs0suXRooLZCR+JAku4nYnDuOnPaDdaatUg1BRw+rx6f6Pk7EBKKT/VTbGvpbocesq4C9OvUqtbiRRQbJXu8I1jgiCYE6yV+gfiPXzCR1R6qCs7zC8idvr6wdrRZBMFb5k32Zfa5adoxQ= Received: from DB7PR08MB3113.eurprd08.prod.outlook.com (52.134.111.149) by DB7PR08MB3146.eurprd08.prod.outlook.com (52.135.130.32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2856.19; Mon, 30 Mar 2020 16:20:55 +0000 Received: from DB7PR08MB3113.eurprd08.prod.outlook.com ([fe80::60d3:1160:c077:67ed]) by DB7PR08MB3113.eurprd08.prod.outlook.com ([fe80::60d3:1160:c077:67ed%3]) with mapi id 15.20.2856.019; Mon, 30 Mar 2020 16:20:55 +0000 From: "PierreGondois" To: Pierre Gondois , "devel@edk2.groups.io" CC: "liming.gao@intel.com" , Sami Mujawar , "bob.c.feng@intel.com" , nd Subject: Re: [PATCH v2 1/1] INF Spec: Add file dependency to [Sources] syntax Thread-Topic: [PATCH v2 1/1] INF Spec: Add file dependency to [Sources] syntax Thread-Index: AQHWBq64hv9MFHyFnU6t55pIQhh5QKhhUJDw Date: Mon, 30 Mar 2020 16:20:55 +0000 Message-ID: References: <20200330161714.4200-1-pierre.gondois@arm.com> In-Reply-To: <20200330161714.4200-1-pierre.gondois@arm.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ts-tracking-id: 353069f1-cb1c-47b1-a710-3f2230154085.1 x-checkrecipientchecked: true Authentication-Results-Original: spf=none (sender IP is ) smtp.mailfrom=Pierre.Gondois@arm.com; x-originating-ip: [217.140.106.52] x-ms-publictraffictype: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: 2b087294-f0e8-45dd-af13-08d7d4c6569a x-ms-traffictypediagnostic: DB7PR08MB3146:|DB7PR08MB3146:|AM0PR08MB5523: x-ms-exchange-transport-forked: True X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true nodisclaimer: true x-ms-oob-tlc-oobclassifiers: OLM:8882;OLM:8882; x-forefront-prvs: 0358535363 X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB7PR08MB3113.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFTY:;SFS:(10001)(10009020)(4636009)(396003)(136003)(346002)(39860400002)(376002)(366004)(5660300002)(86362001)(316002)(8936002)(81166006)(81156014)(8676002)(2906002)(966005)(478600001)(71200400001)(66556008)(26005)(55016002)(9686003)(186003)(110136005)(54906003)(52536014)(7696005)(64756008)(6506007)(53546011)(66446008)(66476007)(66946007)(4326008)(33656002)(76116006);DIR:OUT;SFP:1101; received-spf: None (protection.outlook.com: arm.com does not designate permitted sender hosts) X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: FKHRpOQBRwluLHo/T12wkDQTdGcTWadkxNIq8jmFrqWqSForMq9UtVvkehIAsScuhM+vq8e8g5IWMRQm5DhZAlAZzML0Eexw+/0ThAk7Ow9in3ZbyHQ+q3vxkCTzyH7vYBIq/k4oDlHJa0W/WMyu8SQGCFE6hAxAXzVy9finHgYBinFIaGuz3WDDotXG8ijHv6N49zIcclkfdJXwy/51j2M56MOEgVLriDyvgdooHmhYjpFWsfA1zIG4woV9gaROWq2XCbWsT0mUEEEVgr3B+4LYkuVtE8BJJV8I59UAfvIIat2o9PE7FAzBai9fCsxLWivY8AZuYRZfnADnpr136ysJ52ap9d9ou+gz7CWM57KT6mwsXBTZjzCj/R3Wrl/5J61VjKDiWcR6TbILYhqmcglNTPuYRe8SmkcBRgqAdxpApJB10UP5Npq5roE56gUQtsYZzVG9sfWkVS3Ca52UAUfJZA9fUYWbJD8ywS8A19XfmR/ZYFAKWlcLp+aaZC32JCwdpj1aDQy0xX7MrfLLEpQgjgATlvYQ6GHcmmDKd+IIn0yGCycIVkiCwlggk7sxa3m3/HWNQebEuQyU4pTAy0Ys4bytd0eLPTWuT0Th8P0nA4TRFSuMo5GJTt5nRvPlxeleuA39muWJs3XGew+N/0VccTBuEpAGsrDLPxmRBn0PJcptlnZLqNO2/SFYRRAD8lZnSYO//B+o5Ndeq5MuBQ== x-ms-exchange-antispam-messagedata: vsLBnuDY0VZ+6jRQ9iY810lmGT10JmPcb6USiTztwgNVh93aMYDW3uR3RDlkIMAysh5V4uPKinp2LXCFPvNYfucU9qiJEvLyD/nMFmoxlKhKcG68gyr2LQHrfG2RUIHwKEMyT0PCGJ7WVYmtbU5fgg== MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR08MB3146 Original-Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Pierre.Gondois@arm.com; Return-Path: Pierre.Gondois@arm.com X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: DB5EUR03FT052.eop-EUR03.prod.protection.outlook.com X-Forefront-Antispam-Report: CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFTY:;SFS:(10001)(10009020)(4636009)(346002)(39860400002)(396003)(136003)(376002)(46966005)(5660300002)(966005)(52536014)(26005)(70586007)(33656002)(70206006)(478600001)(2906002)(186003)(26826003)(336012)(356004)(81156014)(8676002)(53546011)(110136005)(9686003)(54906003)(81166006)(7696005)(4326008)(55016002)(6506007)(86362001)(8936002)(47076004)(82740400003)(316002);DIR:OUT;SFP:1101; X-MS-Office365-Filtering-Correlation-Id-Prvs: 1d2af1f0-a890-4edd-5a28-08d7d4c6530b X-Forefront-PRVS: 0358535363 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: uHJTD0fo1q8NYuFIJ/qfDs7vl05Rybk9NLXShdrOghm4iud5v3gD9RutIWj0I6/MntM+4muLmLEYlNZVVhP7/c/RFsAkTy4+7huSJnFdXvy073CdUeIjhYTD2ZG44VyKL+udjwNzbWMuTV9BGdA9xDLY320yI0e/Uv+8IxmVQeIyTfKtmBBxKtCIx0hTjfF3uMQUGLbhEot8Dz2qk75YqY4o/PRY1UsdBBnBClhwT8Vyq+NXadZ2dGh28guCzVeYiLhqao/7/CC9hfQgE2Haig4EwKpvrakPIIWXkTSmix0N73mU/Cia4flE7qauythLQZlcfEjRZ0EiLHoYYeK8N1uOW9EznZqgQ2kj1YwLVmR/RgTLUDH70o2BzQHjhmqfWH6/oOzKfTkGKwSUR8gRU7nTiXOjKND3usIekI+R3kkKWU4AE1HQiHc45NmXw49MC1JBZrI1W00G2dKRDnCc1EdTN4T/x4LCa7TkZHeMb+RgcDgwrX5HgJBJ7XaSCeq3vplxkVQuWVx384Nth+5Kn7e3ScFVz4yJcPSfIGnNxOULEYZ+qOn26rgclf2+Bg73YbbSz/rjIn7I7042lpSW4XVXWjMSTwWsQRWq0N6aQGlTSffn0ufLNiodXTHrXwnusJM9M02ctpMcQFKXRULUn4E6llFg37g9JQJR7TFwPRdt1CfCVr/643xSTzFEY4sino1ZXsIAq0brL9vR9Pvytev2G9I9WLyQhrwyyh3dBYfneSEQvhSqEde5FUuwgoJreuPsfEGVFuCAbpQspzowr3XatoR+gCi+6lMhDMv25Ys= X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Mar 2020 16:21:01.7745 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 2b087294-f0e8-45dd-af13-08d7d4c6569a X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB5523 Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable The Bugzilla ticket number was erroneous in the v1. The v1 is available at:= https://edk2.groups.io/g/devel/message/56658=20 Regards, Pierre -----Original Message----- From: PierreGondois =20 Sent: 30 March 2020 17:17 To: devel@edk2.groups.io Cc: Pierre Gondois ; liming.gao@intel.com; Sami Muj= awar ; nd Subject: [PATCH v2 1/1] INF Spec: Add file dependency to [Sources] syntax From: Pierre Gondois BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=3D2646 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 patc= h, - 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-InfSpecificati= on/tree/Bugzilla_2646_Enable_Build_Dependencies_v2 Notes: v2: - Correct the bugzilla ticket number from 2464 to 2646 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_[so= urces]_section.md index 54757e61e37268eed293a5288e607cf2c7cfacf6..5b9f0a8395ef2be4497d99197dc= 695625d841830 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 statement= : `#include C.uni`, both `B.uni` and `C.uni` files must be listed in the INF= diff --git a/3_edk_ii_inf_file_format/32_component_inf_definition.md b/3_e= dk_ii_inf_file_format/32_component_inf_definition.md index 164771cb4cfff6e81fbf762a67ff741c190cecde..d776714c24c0baf2348f53dc257= 6c9feb6f3cb5e 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 se= ction 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_i= nf_file_format/39_[sources]_sections.md index 810995df26ba409ca2cf3ebe6238aa5d55cf81f1..ac966425101fd44a57b09d36f95= a0f732eab1c59 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" binar= y 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" bina= ry 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..4f771fc0f6e4ff516be95b1879d= 58329ab3bbecc 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=3D11= 62) Correct the item in Table 1 to align with 3.4 section = = | = | | 1.28 | [#1453](https://bugzilla.tianocore.org/show_bug.cgi?id=3D14= 53) Update INF spec to remove EDK related contents = = = = | Mar 2019 = | | 1.29 | [#1952](https://bugzilla.tianocore.org/show_bug.cgi?id=3D19= 52) Add new MODULE_TYPE HOST_APPLICATION = = | July= 2019 | +| | [#2646](https://bugzilla.tianocore.org/show_bug.cgi?id=3D26= 46) Add file dependency to [Sources] syntax = = | = | -- 'Guid(CE165669-3EF3-493F-B85D-6190EE5B9759)'