git: ba373fca78a1 - main - Do not clean (in buildworld/buildkernel) by default
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Mon, 29 Jul 2024 17:17:37 UTC
The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=ba373fca78a114768244d6a8c27983da870c1169 commit ba373fca78a114768244d6a8c27983da870c1169 Author: Ed Maste <emaste@FreeBSD.org> AuthorDate: 2024-07-29 00:00:00 +0000 Commit: Ed Maste <emaste@FreeBSD.org> CommitDate: 2024-07-29 17:16:52 +0000 Do not clean (in buildworld/buildkernel) by default As discussed on the freebsd-arch mailing list[1]. For historical reasons FreeBSD's buildworld and buildkernel targets started by cleaning the object tree, for traditional (non-metamode) builds. Cleaning is not necessary when dependencies are properly tracked, and we have a somewhat kludgey script[2] to handle some known cases where deps were mishandled by traditional builds. Be consistent with the vast majority of open source build systems by default, and do not clean at the beginning of buildworld or buildkernel. Users may set WITH_CLEAN in src.conf(5) to restore the previous behaviour, or run `make cleanworld` and/or `make cleankernel` before starting a build. [1] https://lists.freebsd.org/archives/freebsd-arch/2024-July/000727.html [2] tools/build/depend-cleanup.sh Reviewed by: jhb, imp Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D46172 --- UPDATING | 10 ++++++++++ share/man/man5/src.conf.5 | 6 +++--- share/mk/src.opts.mk | 2 +- tools/build/options/WITH_CLEAN | 1 + 4 files changed, 15 insertions(+), 4 deletions(-) diff --git a/UPDATING b/UPDATING index fc3abb285039..cffafdb5d247 100644 --- a/UPDATING +++ b/UPDATING @@ -27,6 +27,16 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 15.x IS SLOW: world, or to merely disable the most expensive debugging functionality at runtime, run "ln -s 'abort:false,junk:false' /etc/malloc.conf".) +20240729: + The build now defaults to WITHOUT_CLEAN - i.e., no automatic clean + is performed at the beginning of buildworld or buildkernel. The + WITH_CLEAN src.conf(5) knob can be used to restore the previous + behaviour. + + If you encounter incremental build issues, please report them to the + freebsd-current mailing list so that a special-case dependency can be + added, if necessary. + 20240712: Support for armv6 has been disconnected and is being removed. diff --git a/share/man/man5/src.conf.5 b/share/man/man5/src.conf.5 index 1d35823fc9c4..a12a2a8cb9f4 100644 --- a/share/man/man5/src.conf.5 +++ b/share/man/man5/src.conf.5 @@ -1,5 +1,5 @@ .\" DO NOT EDIT-- this file is @generated by tools/build/options/makeman. -.Dd May 22, 2024 +.Dd July 29, 2024 .Dt SRC.CONF 5 .Os .Sh NAME @@ -383,8 +383,8 @@ Build clang-format. .It Va WITHOUT_CLANG_FULL Avoid building the ARCMigrate, Rewriter and StaticAnalyzer components of the Clang C/C++ compiler. -.It Va WITHOUT_CLEAN -Do not clean before building world and/or kernel. +.It Va WITH_CLEAN +Clean before building world and/or kernel. .It Va WITHOUT_CPP Do not build .Xr cpp 1 . diff --git a/share/mk/src.opts.mk b/share/mk/src.opts.mk index 501df88cd776..d7e246d10396 100644 --- a/share/mk/src.opts.mk +++ b/share/mk/src.opts.mk @@ -80,7 +80,6 @@ __DEFAULT_YES_OPTIONS = \ CDDL \ CLANG \ CLANG_BOOTSTRAP \ - CLEAN \ CPP \ CROSS_COMPILER \ CRYPT \ @@ -195,6 +194,7 @@ __DEFAULT_NO_OPTIONS = \ BHYVE_SNAPSHOT \ CLANG_EXTRAS \ CLANG_FORMAT \ + CLEAN \ DIALOG \ DETECT_TZ_CHANGES \ DISK_IMAGE_TOOLS_BOOTSTRAP \ diff --git a/tools/build/options/WITH_CLEAN b/tools/build/options/WITH_CLEAN new file mode 100644 index 000000000000..d5962258bcc0 --- /dev/null +++ b/tools/build/options/WITH_CLEAN @@ -0,0 +1 @@ +Clean before building world and/or kernel.