Author: kevans
Date: Sun Jan 12 04:18:36 2020
New Revision: 356650
URL: https://svnweb.freebsd.org/changeset/base/356650

Log:
  Makefile.inc1: push /usr/libexec into the BPATH/TMPPATH
  
  ${WORLDTMP}/legacy/usr/libexec will only have libexec/ bits that we've
  pushed as bootstrap tools, so this is generally safe to include prior to
  PATH. The following are the ramifications of this change:
  
  - BPATH addition gets us at least bootstrap flua in WMAKEENV path for
    buildenv, for those earlier systems where it's bootstrapped still
  
  - Reworked the sysent target to just set PATH and let it get worked out in
    src.lua.mk or individual sysent makefiles -- this gives us back the
    ability to overwrite LUA_CMD and use a different/external lua for these
    targets.  sysent can also now work cleanly in buildenv.
  
  - tools/build/Makefile will now symlink the host flua into build's host
    tools so that the above can work without needing to add the host's
    /usr/libexec explicitly into TMPPATH.
  
  Reviewed by:  arichardson, brooks, imp (all slightly earlier version)
  Differential Revision:        https://reviews.freebsd.org/D22464

Modified:
  head/Makefile.inc1
  head/tools/build/Makefile

Modified: head/Makefile.inc1
==============================================================================
--- head/Makefile.inc1  Sun Jan 12 04:07:03 2020        (r356649)
+++ head/Makefile.inc1  Sun Jan 12 04:18:36 2020        (r356650)
@@ -590,7 +590,7 @@ BUILD_ARCH!=        uname -p
 .endif
 .endif
 WORLDTMP?=     ${OBJTOP}/tmp
-BPATH=         
${CCACHE_WRAPPER_PATH_PFX}${WORLDTMP}/legacy/usr/sbin:${WORLDTMP}/legacy/usr/bin:${WORLDTMP}/legacy/bin
+BPATH=         
${CCACHE_WRAPPER_PATH_PFX}${WORLDTMP}/legacy/usr/sbin:${WORLDTMP}/legacy/usr/bin:${WORLDTMP}/legacy/bin:${WORLDTMP}/legacy/usr/libexec
 XPATH=         ${WORLDTMP}/usr/sbin:${WORLDTMP}/usr/bin
 
 # When building we want to find the cross tools before the host tools in 
${BPATH}.
@@ -1500,11 +1500,11 @@ makeman: .PHONY
        ${_+_}cd ${.CURDIR}/tools/build/options; sh makeman > \
            ${.CURDIR}/share/man/man5/src.conf.5
 
-.if make(sysent)
-.include <src.lua.mk>
-.endif
-
-_sysent_PATH=  ${WORLDTMP}/legacy/usr/libexec:/usr/libexec:${PATH}
+# We can't assume here that ${TMPPATH} will include ${PATH} or /usr/libexec
+# because we may be building with a STRICTTMPPATH, so we explicitly include
+# /usr/libexec here for flua.  ${TMPPATH} still usefully includes anything else
+# we may need to function.
+_sysent_PATH=  ${TMPPATH}:/usr/libexec
 _sysent_dirs=  sys/kern
 _sysent_dirs+= sys/compat/freebsd32
 _sysent_dirs+= sys/compat/cloudabi32   \
@@ -1517,8 +1517,7 @@ _sysent_dirs+=    sys/amd64/linux         \
 sysent: .PHONY
 .for _dir in ${_sysent_dirs}
        @echo "${MAKE} -C ${.CURDIR}/${_dir} sysent"
-       ${_+_}@env PATH=${_sysent_PATH} LUA=${LUA_CMD} \
-           ${MAKE} -C ${.CURDIR}/${_dir} sysent
+       ${_+_}@env PATH=${_sysent_PATH} ${MAKE} -C ${.CURDIR}/${_dir} sysent
 .endfor
 
 #

Modified: head/tools/build/Makefile
==============================================================================
--- head/tools/build/Makefile   Sun Jan 12 04:07:03 2020        (r356649)
+++ head/tools/build/Makefile   Sun Jan 12 04:18:36 2020        (r356650)
@@ -116,6 +116,9 @@ host-symlinks:
                ln -sfnv "$${source_path}" "$${target_path}"; \
        fi
 .endfor
+.if exists(/usr/libexec/flua)
+       ln -sf /usr/libexec/flua ${DESTDIR}/usr/libexec/flua
+.endif
 
 # Create all the directories that are needed during the legacy, bootstrap-tools
 # and cross-tools stages. We do this here using mkdir since mtree may not exist
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "[email protected]"

Reply via email to