mirror of
https://git.FreeBSD.org/src.git
synced 2025-01-29 16:44:03 +00:00
8f62bca488
Inheriting $PATH during the build phase can cause the build to fail when compiling on a different system due to missing build tools or incompatible versions somewhere in $PATH. This has cause build failures for us before due to the jenkins slaves still running FreeBSD 10. Listing the tools we depend on explicitly instead of just using whatever happens to be in $PATH allows us to check that we don't accidentally add a new build dependency. All tools that do no need to be bootstrapped will now be symlinked to ${WORLDTMP}/legacy/bin and during the build phase $PATH will only contain ${WORLDTMP}. There is also a new variable "BOOTSTRAP_ALL_TOOLS" which can be set to force compiling almost all bootstrap tools instead of symlinking them. This will not bootstrap tools such as cp,mv, etc. since they may be used during the build and for those we should really only be using POSIX compatible options. Furthermore, this change is required in order to be able to build on non-FreeBSD hosts. While the same binaries may exist on Linux/MacOS they often accept different flags or produce incompatible output. Approved By: brooks (mentor) Differential Revision: https://reviews.freebsd.org/D16815 |
||
---|---|---|
.. | ||
cross-build | ||
make_check | ||
mk | ||
options | ||
beinstall.sh | ||
check-links.sh | ||
dummy.c | ||
futimens.c | ||
Makefile | ||
Makefile.depend | ||
stat.h | ||
stdlib.h | ||
strings.h | ||
utimensat.c |