switch tounconditionnal boostrapping while to build the tree

David O'Brien obrien at FreeBSD.org
Tue Jun 26 20:11:53 UTC 2012


On Sun, May 27, 2012 at 01:55:10AM +0200, Baptiste Daroussin wrote:
> After I replace yacc(1) by byacc(1) on current, we discovered than now it is
> impossible to build 9 on current, because byacc(1) is not 100% backward
> compatible with our yacc(1).

Can this backward compatibility not be addressed?  What are the details of
the incompatibility.

> this is because building a boostrap yacc(1) is conditionned on the
> version of the host that is building world.  Looking at Makefile.inc1 I
> can see that lots of tools are conditionned like this. I think if we
> want to go to be able to cross build the tree (I remember from
> EuroBSDcon that this is something we want to do) then we need to remove
> the conditions and always boostrap any tool necessary to be able to
> build the tree.

The problem with this approach is it leads to building things 2 and 3
times.  How long until 'make buildworld' is actually the sum of two
'make buildworld's?

I cannot wait for the day that we get to build clang first as a
cross-tool and then as a target-tool like we do with GCC.
Just building clang once already dominates the time of
'make buildworld' even with GCC built twice.


> so if no one care I'll remove the condition to boostrap at least
> yacc(1) and lex(1) on current, 9, 8 and 7.

Please keep the conditional to the minimal that's needed to build
10-CURRENT.

If that is all of 9, 8, 7 -- then I guess that is unconditioning,
but if the new byacc is MFC'ed to 9,  then I'd like to see it only
bootstrapped on older 9.

-- 
-- David  (obrien at FreeBSD.org)


More information about the freebsd-arch mailing list