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