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>
index | next in thread | raw e-mail
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? Warnerhelp
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?09D78C17-A4F6-4A79-96D4-413B937265F4>
