boostrap target

Ian Lepore ian at freebsd.org
Tue Oct 6 14:19:20 UTC 2015


On Mon, 2015-10-05 at 21:59 -0700, Rui Paulo wrote:
> On Mon, 2015-10-05 at 20:00 -0600, Ian Lepore wrote:
> > I decided the "beforedepend: bootstrap" attempt at a fix was wrong,
> > because it led to always using the precompiled/processed versions of
> > the
> > generated files on every pass (boostrap tools, world, crossbuilding),
> > and I think that wasn't the intention.  I discovered (by accident,
> > actually) that there was no need to run the bootstap target at all as
> > long as m4 got built before lex during the bootstrap-tools stage, so
> > that's the fix I applied, and it was sufficient to build current and
> > stable-10 on a stable-8 build host.
> 
> Well, I thought that was what jkim added in 2013.  Is your
> BOOTSTRAPPING variable set correctly?
> 
> diff --git a/Makefile.inc1 b/Makefile.inc1
> index 1e58f47..f0649ef 100644
> --- a/Makefile.inc1
> +++ b/Makefile.inc1
> @@ -1206,6 +1206,10 @@ _sed=            usr.bin/sed
>  _lex=          usr.bin/lex
>  .endif
>  
> +.if ${BOOTSTRAPPING} < 1000002
> +_m4=           usr.bin/m4
> +.endif
> +
>  .if ${BOOTSTRAPPING} < 1000013
>  _yacc=         lib/liby \
>                 usr.bin/yacc
> @@ -1283,6 +1287,7 @@ bootstrap-tools:
>      usr.bin/rpcgen \
>      ${_sed} \
>      ${_yacc} \
> +    ${_m4} \
>      ${_lex} \
>      lib/libmd \
>      usr.bin/xinstall \
> 

This was necessary, but not sufficient without the dependency to ensure
m4 is built before lex while parallel-building.  It may be that it was
sufficient in 2013, I can't remember when we added the increased
parallelism in the bootstrap-tools stage.

-- Ian

> > 
> > I suppose at this point the bootstrap target, and all the pre
> > -generated
> > files it copies, could be deleted.  Unless they're serving some other
> > purpose I'm not aware of, like maybe some folks have a need to run
> > that
> > target manually.
> 
> Looking again, all the GENFILES are generated by the bootstrap target
> based on the rule init$f -> $f.
> 
> However, as you say it probably should be deleted because there's no
> difference between init$f and $f.
> 




More information about the freebsd-hackers mailing list