Re: git: a420a672bc53 - main - Bootstrap: Prune building from pre-FreeBSD 11 support
Date: Fri, 19 Nov 2021 07:13:20 UTC
On Thu, Nov 18, 2021 at 11:29 PM Kyle Evans <kevans91@ksu.edu> wrote: > On Fri, Nov 19, 2021 at 12:14 AM Warner Losh <imp@freebsd.org> wrote: > > > > The branch main has been updated by imp: > > > > URL: > https://cgit.FreeBSD.org/src/commit/?id=a420a672bc53bd3928626aa5d0ec5b41c0471356 > > > > commit a420a672bc53bd3928626aa5d0ec5b41c0471356 > > Author: Warner Losh <imp@FreeBSD.org> > > AuthorDate: 2021-10-10 17:28:54 +0000 > > Commit: Warner Losh <imp@FreeBSD.org> > > CommitDate: 2021-11-19 06:13:44 +0000 > > > > Bootstrap: Prune building from pre-FreeBSD 11 support > > > > We don't need to bootstrap lex or md4 anymore. > > Cat doesn't need to be bootstrapped (but is needed for buildkernel) > > cruncgen doesn't need to be bootstrapped at all. > > kbdcontrol isn't needed > > > > Sponsored by: Netflix > > Pull Request: https://github.com/freebsd/freebsd-src/pull/554 > > --- > > Makefile.inc1 | 51 ++++----------------------------------------------- > > 1 file changed, 4 insertions(+), 47 deletions(-) > > > > diff --git a/Makefile.inc1 b/Makefile.inc1 > > index d8f50cf77d4b..6573b4a079a1 100644 > > --- a/Makefile.inc1 > > +++ b/Makefile.inc1 > > @@ -681,8 +681,8 @@ PACKAGE= kernel > > > > BOOTSTRAPPING?= 0 > > # Keep these in sync > > -MINIMUM_SUPPORTED_OSREL?= 1002501 > > -MINIMUM_SUPPORTED_REL?= 10.3 > > +MINIMUM_SUPPORTED_OSREL?= 1102501 > > +MINIMUM_SUPPORTED_REL?= 11.3 > > > > # Common environment for world related stages > > CROSSENV+= \ > > @@ -2239,24 +2239,6 @@ _vtfontcvt= usr.bin/vtfontcvt > > # If you add a new bootstrap tool where we could also use the host > version, > > # please ensure that you also add a .else case where you add the tool > to the > > # _bootstrap_tools_links variable. > > -.if ${BOOTSTRAPPING} < 1000033 > > -# Note: lex needs m4 to build but m4 also depends on lex (which needs > m4 to > > -# generate any files). To fix this cyclic dependency we can build a > bootstrap > > -# version of m4 (with pre-generated files) then use that to build the > real m4. > > -# We can't simply use the host m4 since e.g. the macOS version does not > accept > > -# the flags that are passed by lex. > > -# For lex we also use the pre-gerated files since we would otherwise > need to > > -# build awk and sed first (which need lex to build) > > -# TODO: add a _bootstrap_lex and then build the real lex afterwards > > -_lex= usr.bin/lex > > -_m4= tools/build/bootstrap-m4 usr.bin/m4 > > -${_bt}-tools/build/bootstrap-m4: ${_bt}-usr.bin/lex > ${_bt}-lib/libopenbsd ${_bt}-usr.bin/yacc > > -${_bt}-usr.bin/m4: ${_bt}-lib/libopenbsd ${_bt}-usr.bin/yacc > ${_bt}-usr.bin/lex ${_bt}-tools/build/bootstrap-m4 > > -_bt_m4_depend=${_bt}-usr.bin/m4 > > -_bt_lex_depend=${_bt}-usr.bin/lex ${_bt_m4_depend} > > -.else > > -_bootstrap_tools_links+=m4 lex > > -.endif > > > > # ELF Tool Chain libraries are needed for ELF tools and dtrace tools. > > # r296685 fix cross-endian objcopy > > I'll leave a comment on just this first one, but it applies to the > others as well... this left a bunch of references to the removed > variables elsewhere in Makefile.inc1 that need to be removed. I'm also > not entirely convinced that flat removal was entirely right....these > should have probably been replaced with just the > _bootstrap_tools_links additions, because we presumably still want > them linked in if we're not building them. > I hadn't thought of that. I'm reverting until I can think this through. It worked in the test builds, but I want to understand when it might be needed. thanks for the feedback. Warner > > > @@ -2292,21 +2274,6 @@ ${_bt}-usr.sbin/nmtree: ${_bt}-lib/libnetbsd > > _bootstrap_tools_links+=mtree > > .endif > > > > -# r246097: log addition login.conf.db, passwd, pwd.db, and spwd.db with > cat -l > > -.if ${BOOTSTRAPPING} < 1000027 > > -_cat= bin/cat > > -.else > > -_bootstrap_tools_links+=cat > > -.endif > > - > > -# r277259 crunchide: Correct 64-bit section header offset > > -# r281674 crunchide: always include both 32- and 64-bit ELF support > > -.if ${BOOTSTRAPPING} < 1100078 > > -_crunchide= usr.sbin/crunch/crunchide > > -.else > > -_bootstrap_tools_links+=crunchide > > -.endif > > - > > # 1300115: Higher WARNS fixes > > .if ${BOOTSTRAPPING} < 1202502 || \ > > (${BOOTSTRAPPING} > 1300000 && ${BOOTSTRAPPING} < 1300131) > > @@ -2315,18 +2282,6 @@ _crunchgen= usr.sbin/crunch/crunchgen > > _bootstrap_tools_links+=crunchgen > > .endif > > > > -# r296926 -P keymap search path, MFC to stable/10 in r298297 > > -# Note: kbdcontrol can not be bootstrapped on non-FreeBSD systems > > -.if !defined(CROSSBUILD_HOST) > > -.if (${BOOTSTRAPPING} < 1003501 || \ > > - (${BOOTSTRAPPING} >= 1100000 && ${BOOTSTRAPPING} < 1100103) || \ > > - (!exists(/usr/sbin/kbdcontrol))) > > -_kbdcontrol= usr.sbin/kbdcontrol > > -.else > > -_bootstrap_tools_links+=kbdcontrol > > -.endif > > -.endif > > - > > # 1300102: VHDX support > > .if ${BOOTSTRAPPING} < 1201520 || \ > > (${BOOTSTRAPPING} > 1300000 && ${BOOTSTRAPPING} < 1300102) > > @@ -2423,6 +2378,8 @@ _basic_bootstrap_tools+=usr.sbin/services_mkdb > usr.sbin/pwd_mkdb > > # bootstrap ldd on non-FreeBSD systems > > _basic_bootstrap_tools+=usr.bin/ldd > > .endif > > +# cat is used by sys/kern/genoffset.sh and sys/conf/newvers.sh > > +_basic_bootstrap_tools+=bin/cat > > # sysctl/chflags are required for installkernel: > > .if !defined(CROSSBUILD_HOST) > > _basic_bootstrap_tools+=bin/chflags >