META_MODE: Allow not ignoring host headers with NO_META_IGNORE_HOST_HEADERS.

See r301467 for more details on NO_META_IGNORE_HOST.  Usually the full
list of host ignores should have no real impact on the host tools.  The
headers however may reliably define what the ABI is for the host.  It
may be useful to allow using the headers for the build but still not
caring about things like /bin/sh, /lib/libedit.so, etc.

Sponsored by:	Dell EMC Isilon
This commit is contained in:
Bryan Drewery 2017-06-05 05:17:36 +00:00
parent 8d4cde8e6d
commit ffe0978fbe

View File

@ -70,7 +70,8 @@ META_MODE+= missing-filemon=yes
META_MODE?= normal
.export META_MODE
.MAKE.MODE?= ${META_MODE}
.if !empty(.MAKE.MODE:Mmeta) && !defined(NO_META_IGNORE_HOST)
.if !empty(.MAKE.MODE:Mmeta)
.if !defined(NO_META_IGNORE_HOST)
# Ignore host file changes that will otherwise cause
# buildworld -> installworld -> buildworld to rebuild everything.
# Since the build is self-reliant and bootstraps everything it needs,
@ -85,17 +86,20 @@ META_MODE?= normal
/rescue \
/sbin \
/usr/bin \
/usr/include \
/usr/lib \
/usr/sbin \
/usr/share \
.else
NO_META_IGNORE_HOST_HEADERS= 1
.endif
.if !defined(NO_META_IGNORE_HOST_HEADERS)
.MAKE.META.IGNORE_PATHS+= /usr/include
.endif
.if !empty(.MAKE.MODE:Mmeta)
# We do not want everything out-of-date just because
# some unrelated shared lib updated this.
.MAKE.META.IGNORE_PATHS+= /usr/local/etc/libmap.d
.endif
.endif # !empty(.MAKE.MODE:Mmeta)
.if ${MK_AUTO_OBJ} == "yes"
# This needs to be done early - before .PATH is computed