Re: [CFT] WITH_META_MODE: Working incremental build

From: Bryan Drewery <bdrewery_at_FreeBSD.org>
Date: Sun, 5 Jun 2016 16:27:00 -0700
On 5/31/16 5:17 PM, Simon J. Gerraty wrote:
>> Another reported issue just now is that right after an installworld,
>> everything rebuilds due to changed /bin/sh (-dM flag to make tells you
>> why things rebuild).  I'll look into some mitigations for this.
> 
> It is probably sufficient to just add
> 
> .MAKE.META.IGNORE_PATHS += ${__MAKE_SHELL}
> 

Several fixes are now in after r301475 (using several bmake updates):

- buildworld->installworld->buildworld will no longer rebuild everything
- .meta files lacking filemon data will force a rebuild
- No 'make cleanworld' needed now. The lack of .meta files will force a
rebuild
- WITH_SYSTEM_COMPILER is forced off with WITH_META_MODE due to it
causing buildworld->installworld->buildworld to rebuild everything due
to using new --sysroot/-target in CFLAGS.  This shouldn't be a big deal
since the build is incremental; clang should build infrequently or fast.
- cross-building causing a rebuild of make_keys in lib/ncurses is fixed
- bmake's processing of .meta files (incremental build) is something
like 77% faster now
- NOP 'Building .depend' lines will no longer show
- Building some targets multiple times (like yacc output)

Still remaining to fix:
- Libraries being relinked during a NOP build
- Jail installworld with WITH_META_MODE enabled errors since it is
forcing filemon in that case. Just disable for now during install.


-- 
Regards,
Bryan Drewery
Received on Sun Jun 05 2016 - 21:27:05 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:05 UTC