Makefile.inc1: Reinstate kbdcontrol bootstrap for BUILD_WITH_STRICT_TMPPATH

During BUILD_WITH_STRICT_TMPPATH builds we need to symlink the host's
kbdcontrol into WORLDTMP/legacy/bin so that it can be used. For
completeness, also check if the host has it, since technically the host
could have been built with WITHOUT_LEGACY_CONSOLE (though given nobody's
screamed since this code was removed that's likely not something that
gets hit in practice), and handle BOOTSTRAP_ALL_TOOLS (especially since
that case will cover cross-building if and when kbdcontrol can be built
on non-FreeBSD).

This allows a BUILD_WITH_STRICT_TMPPATH tinderbox to pass.

This partially reverts commit 33550b4739.

Reviewed by:	imp, emaste
Differential Revision:	https://reviews.freebsd.org/D41202
This commit is contained in:
Jessica Clarke 2023-07-27 05:10:49 +01:00
parent 246364454f
commit 2a4d73f3cf

View File

@ -2374,6 +2374,19 @@ _crunchgen= usr.sbin/crunch/crunchgen
_bootstrap_tools_links+=crunchgen
.endif
# The ATKBD_DFLT_KEYMAP, UKBD_DFLT_KEYMAP and KBDMUX_DFLT_KEYMAP kernel options
# require kbdcontrol. Note that, even on FreeBSD, the host will lack kbdcontrol
# if built with WITHOUT_LEGACY_CONSOLE.
#
# XXX: kbdcontrol cannot currently be bootstrapped on non-FreeBSD systems
.if !defined(CROSSBUILD_HOST)
.if defined(BOOTSTRAP_ALL_TOOLS) || !exists(/usr/sbin/kbdcontrol)
_kbdcontrol= usr.sbin/kbdcontrol
.else
_bootstrap_tools_links+=kbdcontrol
.endif
.endif
.if ${MK_DISK_IMAGE_TOOLS_BOOTSTRAP} != "no"
_etdump= usr.bin/etdump
_makefs= usr.sbin/makefs