Separating out building bootstrap and system compilers

Warner Losh imp at bsdimp.com
Fri Apr 11 20:27:36 UTC 2014


On Apr 11, 2014, at 12:37 PM, Julian Elischer <julian at freebsd.org> wrote:

> On 4/9/14, 11:25 AM, Warner Losh wrote:
>> I’d love to be able to say
>> 
>> make buildworld WITHOUT_GCC=t WITHOUT_CLANG=t
>> 
>> and get a working system out of it, without compilers. Too bad I can’t right now.
>> 
>> Luckily, I worked up these patches. Here’s my proposed commit message. Please comment on the patch
>> (which can be found at http://people.freebsd.org/~imp/patch-queue/bootstrap)
>> 
>> Separate out enabling building clang and/or gcc for the system and
>> building clang and/or gcc as the bootstrap compiler. Normally, the
>> default compiler is used. WITH_CLANG_BOOTSTRAP and/or
>> WITH_GCC_BOOTSTRAP will enable building these compilers as part
>> bootstrap phase.  WITH/WITHOUT_CLANG_IS_CC controls which compiler is
>> used by default for the bootstrap phase, as well as which compiler is
>> installed as cc.  buildworld now successfully completes building the
>> cross compiler with WITHOUT_CLANG=t and WITHOUT_GCC=t and produces a
>> built system with neither of these included.
>> 
>> MK_CROSS_COMPILER will now force MK_CLANG_BOOTSTRAP=no and
>> MK_GCC_BOOTSTRAP=no.
>> 
>> BOOTSTRAP_COMPILER was considered, but rejected, since pc98 needs both
>> clang and gcc to bootstrap still. It should be revisisted in the
>> future if this requirement goes away. Values should be gcc, clang or
>> none.
>> 
>> Chances are good that MK_BINUTILS is a good candidate for similar
>> treatment. We likely need to fold Xxx causing things to magically not
>> happen into this scheme as well, but that may be a larger, more disruptive
>> change.
>> 
>> Comments?
> 
> for added credit add a top level arg that builds and installs all the bootstrap stuff (includes, libs, compilers, other tools) in a given destination..
> I happen to need this. (ok, not need but it would be nice)  at $JOB.  Do it by hand at the moment.

How does make xdev not fit your needs?

Warner

>> 
>> Warner
>> 
>> _______________________________________________
>> freebsd-arch at freebsd.org mailing list
>> http://lists.freebsd.org/mailman/listinfo/freebsd-arch
>> To unsubscribe, send any mail to "freebsd-arch-unsubscribe at freebsd.org"



More information about the freebsd-arch mailing list