From owner-freebsd-arch@FreeBSD.ORG Tue May 7 18:47:37 2013 Return-Path: Delivered-To: freebsd-arch@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 7450318F for ; Tue, 7 May 2013 18:47:37 +0000 (UTC) (envelope-from pawel@dawidek.net) Received: from mail.dawidek.net (garage.dawidek.net [91.121.88.72]) by mx1.freebsd.org (Postfix) with ESMTP id 1B394B11 for ; Tue, 7 May 2013 18:47:36 +0000 (UTC) Received: from localhost (89-73-195-149.dynamic.chello.pl [89.73.195.149]) by mail.dawidek.net (Postfix) with ESMTPSA id 9C81F95C; Tue, 7 May 2013 20:43:39 +0200 (CEST) Date: Tue, 7 May 2013 20:50:05 +0200 From: Pawel Jakub Dawidek To: Dag-Erling =?iso-8859-1?Q?Sm=F8rgrav?= Subject: Re: Building library that depends on another library. Message-ID: <20130507185005.GB1888@garage.freebsd.pl> References: <20130505201436.GJ1374@garage.freebsd.pl> <86r4hkgd04.fsf@nine.des.no> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="rS8CxjVDS/+yyDmU" Content-Disposition: inline In-Reply-To: <86r4hkgd04.fsf@nine.des.no> X-OS: FreeBSD 10.0-CURRENT amd64 User-Agent: Mutt/1.5.21 (2010-09-15) Cc: freebsd-arch@FreeBSD.org X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 07 May 2013 18:47:37 -0000 --rS8CxjVDS/+yyDmU Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Mon, May 06, 2013 at 08:49:15PM +0200, Dag-Erling Sm=F8rgrav wrote: > Pawel Jakub Dawidek writes: > > It looks like to make such dependency work one HAS TO add libnv to > > _prebuild_libs in src/Makefile.inc1, which seems wrong. >=20 > It may seem wrong, but it is correct, cf the following comment in > Makefile.inc1: >=20 > # The list of libraries with dependents (${_prebuild_libs}) and their > # interdependencies (__L) are built automatically by the > # ${.CURDIR}/tools/make_libdeps.sh script. Yes, this also means SUBDIR_ORDERED in lib/Makefile doesn't make sense. All in all I really don't like to add libraries to Makefile.inc1, it doesn't sound right. I'd like this to be self-contained. For bsd.prog.mk it is enough to specify DPADD/LDADD in program's Makefile instead of hacking some central Makefile. I came up with something like the following. Instead of: DPADD=3D ${LIBNV} LDADD=3D -lnv (plus modifying src/Makefile.inc1) I only add: LDADD=3D -L${.OBJDIR}/../libnv -lnv What do people think? --=20 Pawel Jakub Dawidek http://www.wheelsystems.com FreeBSD committer http://www.FreeBSD.org Am I Evil? Yes, I Am! http://mobter.com --rS8CxjVDS/+yyDmU Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.19 (FreeBSD) iEYEARECAAYFAlGJTN0ACgkQForvXbEpPzQynACdG9bsv2qpBsUu+9fEk1IzDc6T CJYAoNVWNy5l+DKFJVIaHC8m2gHQM80p =IZ85 -----END PGP SIGNATURE----- --rS8CxjVDS/+yyDmU--