From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=192.55.52.115; helo=mga14.intel.com; envelope-from=liming.gao@intel.com; receiver=edk2-devel@lists.01.org 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 BBF5322106DD5 for ; Thu, 29 Mar 2018 00:00:59 -0700 (PDT) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga005.jf.intel.com ([10.7.209.41]) by fmsmga103.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 29 Mar 2018 00:07:38 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.48,375,1517904000"; d="scan'208";a="212259408" Received: from fmsmsx104.amr.corp.intel.com ([10.18.124.202]) by orsmga005.jf.intel.com with ESMTP; 29 Mar 2018 00:07:38 -0700 Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by fmsmsx104.amr.corp.intel.com (10.18.124.202) with Microsoft SMTP Server (TLS) id 14.3.319.2; Thu, 29 Mar 2018 00:07:37 -0700 Received: from shsmsx104.ccr.corp.intel.com ([169.254.5.226]) by SHSMSX151.ccr.corp.intel.com ([169.254.3.108]) with mapi id 14.03.0319.002; Thu, 29 Mar 2018 15:07:36 +0800 From: "Gao, Liming" To: "edk2-lists@mc2research.org" , 'Laszlo Ersek' , "edk2-devel@lists.01.org" Thread-Topic: [edk2] Dependency expression inheritance problems Thread-Index: AdPGvaFZVJ4kcLanQm6BeBzDA1i3ef//hPKAgAAAVwCAAEcCgP/+73Hw Date: Thu, 29 Mar 2018 07:07:36 +0000 Message-ID: <4A89E2EF3DFEDB4C8BFDE51014F606A14E1EF9AF@SHSMSX104.ccr.corp.intel.com> References: <000401d3c6c0$aef61660$0ce24320$@mc2research.org> <51a644fe-dc27-8153-628b-c13bd37970f9@redhat.com> <3afc6f92-81aa-a90c-289e-2868caade361@redhat.com> <002001d3c6e6$d67d4cf0$8377e6d0$@mc2research.org> In-Reply-To: <002001d3c6e6$d67d4cf0$8377e6d0$@mc2research.org> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Subject: Re: Dependency expression inheritance problems X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.26 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 29 Mar 2018 07:01:00 -0000 Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Daryl: Do you try the source library INF file? EDK2 build system will inherit th= e depex section from its library. Seemly, this is an issue when the module = is the binary library.=20 Thanks Liming >-----Original Message----- >From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of >edk2-lists@mc2research.org >Sent: Thursday, March 29, 2018 6:48 AM >To: 'Laszlo Ersek' ; edk2-devel@lists.01.org >Subject: Re: [edk2] Dependency expression inheritance problems > >Laszlo, > >I think you are thinking of the old .dxs files. EDK II supports them, but= their >use is discouraged. >>From the "EDK II Build Specification", v1.27: >"For EDK II modules, the build tools will create the complete dependency >expression using the information in the [Depex] section along with all [De= pex] >sections from the linked in library instances." > >and > >"Once all files are parsed, the build tools will do following work for eac= h EDK II >module: > ... > * Inherit library instance dependency ( [Depex] sections) expressions >if a module does not list a separate dependency file." > >So, use of the [Depex] sections in the .DSC and .INF files is supposed to = be the >way to go. > >The spec. also states that if a .dxs file is specified, inheritance will n= ot be used >and the .dxs file must specify every dependency. "Use of a separate file = for >describing the dependencies is discouraged. ... Libraries may also have a >dependency, [Depex] , section. These dependencies must be appended to >the module's DEPEX sections unless the module includes a depex (.dxs) file= - >even if the module does not contain a [Depex] section. When a developer >chooses to write the .dxs file, the developer is responsible for specifyin= g all >dependencies in the .dxs file." > >I believe that according to the spec., what I am attempting should work. = The >EDK II build tools should generate a .depex file for the module that conta= ins >the module's depex as well as depex' inherited from the module's component >libraries. > >But, I could be misinterpreting the spec. or doing something wrong in the >build files (.DSC and .INF). > >Has anyone actually looked at the .depex that the tools produce and >compared it to what the expected contents are for binary and hybrid (binar= y + >source) builds? > >Thanks much, >Daryl > > >-----Original Message----- >From: Laszlo Ersek >Sent: Wednesday, March 28, 2018 11:34 AM >To: edk2-lists@mc2research.org; edk2-devel@lists.01.org >Subject: Re: [edk2] Dependency expression inheritance problems > >On 03/28/18 20:32, Laszlo Ersek wrote: >> On 03/28/18 20:14, edk2-lists@mc2research.org wrote: >>> Hopefully someone on the list can help with this problem. >>> >>> >>> >>> I have a DXE_DRIVER that links with several libraries. Some of these >>> libraries are from a binary distribution. I checked the binary >>> library's .INF file and it has the [LibraryClasses] and [Depex] >>> sections present in the same format as for a source .INF. (not >>> comments) >> >> Isn't that wrong (from the binary distribution)? The INF spec makes me >> think think that library instances provided in binary format should >> ship their standalone .depex files as well, and they should be >> referenced in the [Binaries] section of the respective lib instance INF = file. >> >> https://edk2-docs.gitbooks.io/edk-ii-inf-specification/content/2_inf_o >> verview/215_[depex]_section.html#215-depex-section >> >> "Binary .depex files are listed in [Binaries] sections of the INF files.= " >> >> I vaguely recall seeing an example somewhere, but nothing specific. I >> could be totally wrong. :) > >I should have looked a but further in the same spec :) See the "Example" >section here: > >https://edk2-docs.gitbooks.io/edk-ii-inf- >specification/content/3_edk_ii_inf_file_format/315_[binaries]_section.html > >Laszlo > >_______________________________________________ >edk2-devel mailing list >edk2-devel@lists.01.org >https://lists.01.org/mailman/listinfo/edk2-devel