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>