Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 8 Apr 2014 21:25:15 -0600
From:      Warner Losh <imp@bsdimp.com>
To:        freebsd-arch <freebsd-arch@freebsd.org>
Subject:   Separating out building bootstrap and system compilers
Message-ID:  <09D78C17-A4F6-4A79-96D4-413B937265F4@bsdimp.com>

next in thread | raw e-mail | index | archive | help
I=92d love to be able to say

make buildworld WITHOUT_GCC=3Dt WITHOUT_CLANG=3Dt

and get a working system out of it, without compilers. Too bad I can=92t =
right now.

Luckily, I worked up these patches. Here=92s 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=3Dt and WITHOUT_GCC=3Dt and produces a
built system with neither of these included.

MK_CROSS_COMPILER will now force MK_CLANG_BOOTSTRAP=3Dno and
MK_GCC_BOOTSTRAP=3Dno.

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?

Warner




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?09D78C17-A4F6-4A79-96D4-413B937265F4>