Disable build of LOCAL_MODULES for cross-builds by default.

WITHOUT_LOCAL_MODULES can be set to disable LOCAL_MODULES for native
builds.  WITH_LOCAL_MODULES can be set to leave it enabled for cross
builds.

This does not use a knob in kern.opts.mk because the options framework
does not currently support options whose default varies on the build
type.  I discussed a few options there with Warner (e.g. maybe having
a tri-state where the default value is "auto" and having Makefile.inc1
apply logic when MK_LOCAL_MODULES is set to "auto"), but Warner ok'd
this approach for now until a better solution is implemented.

Requested by:	many
Reviewed by:	imp (in person at EuroBSDCon)
Differential Revision:	https://reviews.freebsd.org/D21608
This commit is contained in:
John Baldwin 2019-09-28 14:20:28 +00:00
parent 821a573826
commit c6b00391b3

View File

@ -678,6 +678,10 @@ CROSSENV+= BUILD_TOOLS_META=.NOMETA
.if defined(TARGET_CFLAGS) .if defined(TARGET_CFLAGS)
CROSSENV+= ${TARGET_CFLAGS} CROSSENV+= ${TARGET_CFLAGS}
.endif .endif
.if (${TARGET} != ${MACHINE} && !defined(WITH_LOCAL_MODULES)) || \
defined(WITHOUT_LOCAL_MODULES)
CROSSENV+= LOCAL_MODULES=
.endif
BOOTSTRAPPING_OSRELDATE?=${OSRELDATE} BOOTSTRAPPING_OSRELDATE?=${OSRELDATE}