Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 06 Oct 2015 08:19:11 -0600
From:      Ian Lepore <ian@freebsd.org>
To:        Rui Paulo <rpaulo@me.com>
Cc:        hackers@freebsd.org, NGie Cooper <yaneurabeya@gmail.com>
Subject:   Re: boostrap target
Message-ID:  <1444141151.66572.124.camel@freebsd.org>
In-Reply-To: <1444107547.6210.35.camel@me.com>
References:  <1444087075.6210.17.camel@me.com> <33379C03-977C-47B5-93AB-447715A9C215@gmail.com> <1444094009.66572.105.camel@freebsd.org> <1444096463.6210.31.camel@me.com> <1444096802.66572.115.camel@freebsd.org> <1444107547.6210.35.camel@me.com>

next in thread | previous in thread | raw e-mail | index | archive | help
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.
> 





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1444141151.66572.124.camel>