Bug 263958 - handbook/cutting-edge: Added info for re-using /usr/obj for builds
Summary: handbook/cutting-edge: Added info for re-using /usr/obj for builds
Status: New
Alias: None
Product: Documentation
Classification: Unclassified
Component: Documentation (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: freebsd-doc (Nobody)
Depends on:
Reported: 2022-05-13 19:24 UTC by Jonathan Vasquez
Modified: 2022-05-13 19:53 UTC (History)
1 user (show)

See Also:

[patch] Added info for re-using /usr/obj for builds (1.25 KB, text/plain)
2022-05-13 19:24 UTC, Jonathan Vasquez
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Jonathan Vasquez 2022-05-13 19:24:14 UTC
Created attachment 233898 [details]
[patch] Added info for re-using /usr/obj for builds

Started as an observation here: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=263880

I've added a bit more info to the " Performing a Clean Build" section since at the moment it reads as if re-using /usr/obj is the default and you have to explicitly clean up. On my FreeBSD 13.1-STABLE box (and also 14-CURRENT, and also stated here: https://forums.freebsd.org/threads/make-buildworld-speed-up-possibilities.73127/#post-445913) I've observed that make will clean up automatically before doing 'buildworld buildkernel'. Adding the -DNO_CACHE option or specifying "WITHOUT_CLEAN=" in /etc/src.conf does what we want (re-using /usr/obj and speeding up builds).

I've also added a warning (based on my previous experience running Gentoo and ccache) letting the user know that re-using build objects could lead to situations where there are bugs/instabilities/weirdness and that if in doubt, one should clean world and compile/install fresh sources.

Since I'm not familiar with building FreeBSD pre v13, someone more experienced than me can confirm and probably help me rewrite this part "Some versions of the FreeBSD build system leave previously-", where "some" is what I don't know, thus I specified 13 or later explicitly. Also if you are confident that there wouldn't be any weirdness with re-using the /usr/obj build objects, we can drop the warning all together.