Date: Sat, 12 Apr 2014 02:37:30 +0800 From: Julian Elischer <julian@freebsd.org> To: Warner Losh <imp@bsdimp.com>, freebsd-arch <freebsd-arch@freebsd.org> Subject: Re: Separating out building bootstrap and system compilers Message-ID: <5348366A.1030001@freebsd.org> In-Reply-To: <09D78C17-A4F6-4A79-96D4-413B937265F4@bsdimp.com> References: <09D78C17-A4F6-4A79-96D4-413B937265F4@bsdimp.com>
next in thread | previous in thread | raw e-mail | index | archive | help
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. > > Warner > > _______________________________________________ > freebsd-arch@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-arch > To unsubscribe, send any mail to "freebsd-arch-unsubscribe@freebsd.org" > >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?5348366A.1030001>