From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: None (no SPF record) identity=mailfrom; client-ip=69.167.158.73; helo=host12.webserveralpha.com; envelope-from=darylm@mc2research.com; receiver=edk2-devel@lists.01.org Received: from host12.webserveralpha.com (host12.webserveralpha.com [69.167.158.73]) (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 7564C22106DCE for ; Wed, 28 Mar 2018 15:41:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mc2research.com; s=default; h=Content-Transfer-Encoding:Content-Type: MIME-Version:Message-ID:Date:Subject:In-Reply-To:References:To:Sender:From: Reply-To:Cc:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help: List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=jD2ESNBbaK2ktI2HlhdK+3d4WFTCr7XfsSjrhnbUB+Q=; b=ST5BmrXq/jyNoA5qikSjlvndpz x/4msiQkS1hqfqR4qb3zPrlkNKFjUXU4udWUPAsXo6GgAtwyCK0zWXfFJdzrilI7qvkkmaeh8irlX nhFVNIrb7q5Klh4mGznhYvaLA; Received: from mobile-166-176-184-188.mycingular.net ([166.176.184.188]:51114 helo=DWIM) by host12.webserveralpha.com with esmtpsa (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.89_1) (envelope-from ) id 1f1JrO-0003sK-VI; Wed, 28 Mar 2018 18:48:03 -0400 From: Sender: To: "'Laszlo Ersek'" , References: <000401d3c6c0$aef61660$0ce24320$@mc2research.org> <51a644fe-dc27-8153-628b-c13bd37970f9@redhat.com> <3afc6f92-81aa-a90c-289e-2868caade361@redhat.com> In-Reply-To: <3afc6f92-81aa-a90c-289e-2868caade361@redhat.com> Date: Wed, 28 Mar 2018 15:48:05 -0700 Message-ID: <002001d3c6e6$d67d4cf0$8377e6d0$@mc2research.org> MIME-Version: 1.0 X-Mailer: Microsoft Outlook 16.0 Thread-Index: AQHw8jyUM++hGKuaad5p0gnKeR0aiQLOIJusAfCXsaSjhetX4A== X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - host12.webserveralpha.com X-AntiAbuse: Original Domain - lists.01.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - mc2research.com X-Get-Message-Sender-Via: host12.webserveralpha.com: authenticated_id: darylm@mc2research.com X-Authenticated-Sender: host12.webserveralpha.com: darylm@mc2research.com X-Source: X-Source-Args: X-Source-Dir: 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: Wed, 28 Mar 2018 22:41:25 -0000 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Content-Language: en-us 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 = [Depex] sections from the linked in library instances." and "Once all files are parsed, the build tools will do following work for = each 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 = not 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 specifying 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 contains 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 = (binary + source) builds? Thanks much, Daryl -----Original Message----- From: Laszlo Ersek =20 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. >> >> =20 >> >> I have a DXE_DRIVER that links with several libraries. Some of these = >> libraries are from a binary distribution. I checked the binary=20 >> library's .INF file and it has the [LibraryClasses] and [Depex]=20 >> sections present in the same format as for a source .INF. (not=20 >> comments) >=20 > Isn't that wrong (from the binary distribution)? The INF spec makes me = > think think that library instances provided in binary format should=20 > ship their standalone .depex files as well, and they should be=20 > referenced in the [Binaries] section of the respective lib instance = INF file. >=20 > https://edk2-docs.gitbooks.io/edk-ii-inf-specification/content/2_inf_o > verview/215_[depex]_section.html#215-depex-section >=20 > "Binary .depex files are listed in [Binaries] sections of the INF = files." >=20 > I vaguely recall seeing an example somewhere, but nothing specific. I=20 > 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_i= nf_file_format/315_[binaries]_section.html Laszlo