Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 27 Jan 2024 17:42:05 -0800
From:      "Simon J. Gerraty" <sjg@juniper.net>
To:        void <void@f-m.fm>
Cc:        <freebsd-current@FreeBSD.org>, <sjg@juniper.net>
Subject:   Re: meta mode
Message-ID:  <71141.1706406125@kaos.jnpr.net>
In-Reply-To: <8c42cc06-d3de-432e-82ab-7fe040197223@app.fastmail.com>
References:  <8c42cc06-d3de-432e-82ab-7fe040197223@app.fastmail.com>

index | next in thread | previous in thread | raw e-mail

> I use meta-mode in /etc/src-env.conf so that if (for example) a small
> change in the kernel config is made, the machine doesn't take hours
> recompiling. 

> But, from time to time, one might be required to make
> cleanworld && make cleandir (to be sure) && make clean (to be *really* sure)

Almost never (as Warner said).
I have trees that go for years without ever being cleaned.
Unless I'm collecting timing data for clean tree builds.

If you use DIRDEPS_BUILD as well as META_MODE, there can be cases where
you need the stage tree cleaned (staging is like auto-install to
DESTDIR).  The most common case is when a library has switched from
staging its headers from $STAGE_ROOT/$MACHINE/usr/include to
$STAGE_ROOT/common/usr/include (so they only get staged once), if you
don't clean out $STAGE_ROOT/$MACHINE/usr/include, builds will continue to
find headers there that should be found in
$STAGE_ROOT/common/usr/include and thus revert Makefile.depend changes.
We added a mechanism to allow triggering auto-clean of stage tree when such
changes are made.

--sjg


help

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