Date: Tue, 7 May 2013 13:27:34 -0600 From: Warner Losh <imp@bsdimp.com> To: Pawel Jakub Dawidek <pjd@FreeBSD.org> Cc: =?iso-8859-1?Q?Dag-Erling_Sm=F8rgrav?= <des@des.no>, freebsd-arch@FreeBSD.org Subject: Re: Building library that depends on another library. Message-ID: <D4E8DD1C-2F19-4D3D-B6E6-1302D6033D66@bsdimp.com> In-Reply-To: <20130507185005.GB1888@garage.freebsd.pl> References: <20130505201436.GJ1374@garage.freebsd.pl> <86r4hkgd04.fsf@nine.des.no> <20130507185005.GB1888@garage.freebsd.pl>
next in thread | previous in thread | raw e-mail | index | archive | help
On May 7, 2013, at 12:50 PM, Pawel Jakub Dawidek wrote: > On Mon, May 06, 2013 at 08:49:15PM +0200, Dag-Erling Sm=F8rgrav wrote: >> Pawel Jakub Dawidek <pjd@FreeBSD.org> 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. >=20 > Yes, this also means SUBDIR_ORDERED in lib/Makefile doesn't make = sense. >=20 > 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. >=20 > I came up with something like the following. Instead of: >=20 > DPADD=3D ${LIBNV} > LDADD=3D -lnv > (plus modifying src/Makefile.inc1) >=20 > I only add: >=20 > LDADD=3D -L${.OBJDIR}/../libnv -lnv >=20 > What do people think? Still won't work. It won't ensure that libnv is built, leading to = cross-threading on upgrade issues. Better would be a 'plus modifying src/Makefile.inc1' would instead be = 'have Makefile.inc1 figure it out fast.' We have to get the order right, = there's no way around that. Warner=
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?D4E8DD1C-2F19-4D3D-B6E6-1302D6033D66>