Add a note about why we have the conditional before including

bsd.compiler.mk. It's so fmake from older 9.x systems still
works (still a supported build config, and having the note here
will let us know when we can cull it more easily).

Also pull in a related change from include to sinclude from
arichardson@'s cross building work, as well as it's companion in
Makefile.inc1 with a note about why we do the odd thing there.

Submitted by: archardson
Differential Revision: https://reviews.freebsd.org/D14241
This commit is contained in:
Warner Losh 2018-02-07 16:28:26 +00:00
parent 4816408016
commit 207efdb345
2 changed files with 10 additions and 4 deletions

View File

@ -106,9 +106,13 @@
#
# This is included so CC is set to ccache for -V, and COMPILER_TYPE/VERSION
# can be cached for sub-makes.
# can be cached for sub-makes. We can't do this while still running on the
# old fmake from FreeBSD 9.x or older, so avoid including it then to avoid
# heartburn upgrading from older systems. The need for CC is done with new
# make later in the build, and caching COMPILER_TYPE/VERSION is only an
# optimization. Also sinclude it to be friendlier to foreign OS hosted builds.
.if ${MAKE_VERSION} >= 20140620 && defined(.PARSEDIR)
.include <bsd.compiler.mk>
.sinclude <bsd.compiler.mk>
.endif
# Note: we use this awkward construct to be compatible with FreeBSD's

View File

@ -85,8 +85,10 @@ MK_GCC_BOOTSTRAP= no
.-include "${OBJTOP}/compiler-metadata.mk"
.endif
# Pull in COMPILER_TYPE and COMPILER_FREEBSD_VERSION early.
.include <bsd.compiler.mk>
# Pull in COMPILER_TYPE and COMPILER_FREEBSD_VERSION early. Pull it from the
# tree to be friendlier to foreign OS builds. It's safe to do so unconditionally
# here since we will always have the right make, unlike in src/Makefile
.include "share/mk/bsd.compiler.mk"
.include "share/mk/src.opts.mk"
# Check if there is a local compiler that can satisfy as an external compiler.