Separating out building bootstrap and system compilers

Brooks Davis brooks at freebsd.org
Wed Apr 9 16:11:03 UTC 2014


On Tue, Apr 08, 2014 at 09:25:15PM -0600, 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?

Looks good to me.  Thanks for taking the next step in disentangling
these variables.

-- Brooks
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 326 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/freebsd-arch/attachments/20140409/91e7cd83/attachment.sig>


More information about the freebsd-arch mailing list