Meta mode toolchain bootstrapping [was Re: FreeBSD targets/ out-of-date]

Simon J. Gerraty sjg at juniper.net
Fri Nov 13 19:55:06 UTC 2015


Bryan Drewery <bdrewery at FreeBSD.org> wrote:
> > WITH_META_FILES should give you improvements already in that regard.
> 
> Yes, it's a step. We'll need cookies in a lot of places too. I wish
> WITH_META_MODE had been WITH_META_BUILD or WITH_DIRDEPS_BUILD so I could

WITH_DIRDEPS_BUILD would be more accurate.

Its not too late to rename/add it.

> check for "META_MODE" in the buildworld world and for discussion sake.
> It seems I can use ${.MAKE.MODE:M*meta*} but that :U is needed in all
> the uses. I'm not sure yet if :U really is needed. We have some
> ${MK_META_MODE} checks now around some cookies that would need to change
> for what I'm planning.

I think I mentioned the otherday of having something like:

.if ${MK_META_MODE} == "yes"
# we can safely use cookies to avoid always
# re-running targets.
META_COOKIE_TOUCH= touch ${COOKIE.${.TARGET}:U${.TARGET}}
.else
META_COOKIE_TOUCH=
.endif

in meta.sys.mk so you could just add ${META_COOKIE_TOUCH}
to the end of suitable targets.

> > Indeed.  As I say, NetBSD have this reasonably sorted.
> > But of course they have 2k line shell script driving a lot of it ;-)
> 
> Yes the NetBSD build, behavior wise, really impresses me.

I prefer building it in meta mode though ;-)


More information about the freebsd-toolchain mailing list