aboutsummaryrefslogtreecommitdiffstats
path: root/Makefile.libcompat
diff options
context:
space:
mode:
authorBryan Drewery <bdrewery@FreeBSD.org>2017-04-06 18:21:59 +0000
committerBryan Drewery <bdrewery@FreeBSD.org>2017-04-06 18:21:59 +0000
commitdbbb03c244c981d86163d47a771dc5b1374e1a43 (patch)
tree452fdfe4f12c7fa89308396b46f4563f1db53a18 /Makefile.libcompat
parente41fab8d404a80323255521bc3201053ea36688c (diff)
downloadsrc-dbbb03c244c981d86163d47a771dc5b1374e1a43.tar.gz
src-dbbb03c244c981d86163d47a771dc5b1374e1a43.zip
META_MODE: Fix build-tools still sometimes rebuilding during target build.
In a cross-build, the build-tools are native host binaries. We do not want to rebuild them when building for the target. Bmake previously did not support checking .NOMETA on an existing target, so .NOMETA_CMP was used here. However, .NOMETA_CMP still triggers meta mode conditions if the number of commands or the command changes. In r312467 the paths to build ncurses files were modified and thus triggered meta mode to rebuild the build tools (make_keys, make_hash) in ncurses during the target build. Bmake 20160604 committed in r301462 changed .NOMETA to also skip meta mode logic for an existing .meta file as well, thus it is now the proper fix here. I explored moving the build-tools output to WORLDTMP/tools with relatively good success, but have concerns that doing so would be problematic for downstream vendors who use LOCAL_TOOL_DIRS and expect the tools to be in current OBJDIR for the target. It also adds more complexity into finding the tools during target build and handling of where they are for rescue/rescue and mkcsmapper_static/mkesdb_static which should really not be connected in build-tools anyway. MFC after: 2 weeks Reported by: many Sponsored by: Dell EMC Isilon
Notes
Notes: svn path=/head/; revision=316586
Diffstat (limited to 'Makefile.libcompat')
-rw-r--r--Makefile.libcompat2
1 files changed, 1 insertions, 1 deletions
diff --git a/Makefile.libcompat b/Makefile.libcompat
index 2f135eb8b54a..e28639391df3 100644
--- a/Makefile.libcompat
+++ b/Makefile.libcompat
@@ -116,7 +116,7 @@ LIBCOMPATWMAKEENV+= MAKEOBJDIRPREFIX=${LIBCOMPAT_OBJTREE} \
DTRACE="${LIB$COMPATDTRACE:U${DTRACE}}"
.if ${MK_META_MODE} != "no"
# Don't rebuild build-tools targets during normal build.
-LIBCOMPATWMAKEENV+= BUILD_TOOLS_META=.NOMETA_CMP
+LIBCOMPATWMAKEENV+= BUILD_TOOLS_META=.NOMETA
.endif
LIBCOMPATWMAKEFLAGS+= CC="${XCC} ${LIBCOMPATCFLAGS}" \
CXX="${XCXX} ${LIBCOMPATCXXFLAGS} ${LIBCOMPATCFLAGS}" \