Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 7 Apr 2011 23:58:21 +0200
From:      Ulrich Spoerlein <uqs@FreeBSD.ORG>
To:        Alexander Best <arundel@FreeBSD.ORG>
Cc:        Juli Mallett <jmallett@FreeBSD.ORG>, svn-src-head@FreeBSD.ORG, svn-src-all@FreeBSD.ORG, src-committers@FreeBSD.ORG, Warner Losh <imp@bsdimp.com>
Subject:   Re: svn commit: r220401 - in head: . share/mk tools/build/mk tools/build/options
Message-ID:  <20110407215821.GW85668@acme.spoerlein.net>
In-Reply-To: <20110407073114.GA15050@freebsd.org>
References:  <201104062008.p36K8NR0015687@svn.freebsd.org> <20110406210416.GA62173@freebsd.org> <BANLkTik=kCL79VrcWsChoRexjxgdfCAB2Q@mail.gmail.com> <20110406214133.GA66860@freebsd.org> <D05CD16D-494B-4902-9D1E-F2AA349CE0F3@bsdimp.com> <20110407073114.GA15050@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, 07.04.2011 at 07:31:14 +0000, Alexander Best wrote:
> On Wed Apr  6 11, Warner Losh wrote:
> > On Apr 6, 2011, at 3:41 PM, Alexander Best wrote:
> > > On Wed Apr  6 11, Juli Mallett wrote:
> > >> On Wed, Apr 6, 2011 at 14:04, Alexander Best <arundel@freebsd.org> wrote:
> > >>> On Wed Apr  6 11, Ulrich Spoerlein wrote:
> > >>>> Author: uqs
> > >>>> Date: Wed Apr  6 20:08:23 2011
> > >>>> New Revision: 220401
> > >>>> URL: http://svn.freebsd.org/changeset/base/220401
> > >>>> 
> > >>>> Log:
> > >>>>   Complete WITHOUT_CXX support. It implies WITHOUT_GROFF and
> > >>>>   WITHOUT_CLANG.
> > >>> 
> > >>> is there no way to build clang/llvm without CXX support?
> > >> 
> > >> Clang and LLVM are written in C++.  Even if their support for
> > >> compiling C++ could be disabled, you'd still need a C++ cross-compiler
> > >> to build them, which ought to be disabled by WITHOUT_CXX, right?
> > > 
> > > good point. is it even possible to build a world *with* C++ support, if the
> > > installed world *doesn't* have C++ support? is the C++ part of gcc written in
> > > C? if that's the case it's possible.
> > 
> > Yes.  We don't need c++ to bootstrap g++ or anything else in the base system.  Once we build the compilers, we can build the c++ that's in the tree.

While technically true, that c++ (the binary) is not needed, our g++
requires gperf(1) to build, which is written in C++. So we need gperf +
C compiler to bootstrap. How the gperf binary comes into existence on
the host system is someone else's problem :)

> however that means that FreeBSD can never get rid of gcc. so clang can never
> become the main and only base compiler.

Not quite true, right now the host system (whatever that is) needs a
working C compiler plus a whole lot of other stuff. With clang the host
system needs a C++ compiler + lots of other stuff. I haven't tested any
other compilers, but gcc and/or clang might also build with the Sun
compilers, for example.

Cheers,
Uli



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20110407215821.GW85668>