Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 5 Nov 2014 16:24:54 -0800
From:      "Simon J. Gerraty" <sjg@juniper.net>
To:        Baptiste Daroussin <bapt@freebsd.org>
Cc:        Konstantin Belousov <kostikbel@gmail.com>, arch@freebsd.org
Subject:   Re: Overlinking in base
Message-ID:  <3912.1415233494@chaos>
In-Reply-To: <20141105134006.GL10388@ivaldir.etoilebsd.net>
References:  <20141105113839.GG10388@ivaldir.etoilebsd.net> <20141105125431.GD53947@kib.kiev.ua> <20141105125931.GJ10388@ivaldir.etoilebsd.net> <20141105133029.GH53947@kib.kiev.ua> <20141105134006.GL10388@ivaldir.etoilebsd.net>

next in thread | previous in thread | raw e-mail | index | archive | help
Baptiste Daroussin <bapt@freebsd.org> wrote:
> In the second case we could do it via make(1)
> LIBADD=	liba libc libc
> this will open something like a ${PATHTOTHELIB}/link.mk which will define
> DYNAMIC_ADD
> STATIC_ADD
> 
> And this could be recursive.

We do something like that in the Junos build

prog makefile might have DPLIBS+= ${LIBFOO}
which is exactly equivalent to

LDADD+= -lfoo
DPADD+= ${LIBFOO}

but ensures that they stay in sync (not so important now with meta
mode).

bsd.libnames.mk can then have

DPLIBS_libfoo += ${LIBGOO}
DPLIBS_libgoo += ${LIBZOO}

All of which is processed by dpadd.mk which you can find in
contrib/bmake/mk
Though dpadd.mk ignores DPLIBS_libgoo += ${LIBZOO} if LIBZOO has already
been added.




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3912.1415233494>