Date: Sat, 8 Nov 2014 14:46:21 +0100 From: Dimitry Andric <dim@FreeBSD.org> To: Chris H <bsd-lists@bsdforge.com> Cc: freebsd-hackers@freebsd.org, FreeBSD CURRENT <current@freebsd.org>, FreeBSD ports <freebsd-ports@FreeBSD.org> Subject: Re: How exactly does the base toolchain determine WHICH language to build with? Message-ID: <2D6D79A7-D05E-4DE2-A2B6-EFE261204B02@FreeBSD.org> In-Reply-To: <6810431a15d054459a29d434dd22619e@ultimatedns.net> References: <6810431a15d054459a29d434dd22619e@ultimatedns.net>
next in thread | previous in thread | raw e-mail | index | archive | help
On 08 Nov 2014, at 01:23, Chris H <bsd-lists@bsdforge.com> wrote: > Sorry for the long title. I've been [needlessly] struggling > with getting ports within the ports tree to build, on a > fresh 11-CURRENT install from 2014-11-05. With custom > KERNEL and WORLD built, and installed. > Here's my situation, which has worked well since ~8.2; > make.conf(5) > WITHOUT_CLANG=true > FAVORITE_COMPILER=gcc > src.conf(5) > WITHOUT_CLANG=true If you don't want to use and build clang at all, I think you also need these two settings (at least on recent -CURRENT): WITHOUT_CLANG_BOOTSTRAP=foo WITHOUT_CLANG_IS_CC=foo The latter variable determines whether /usr/bin/cc, /usr/bin/c++ and so on are linked to clang or gcc. I suspect the root of all your problems is that you don't have this setting. > I'll neither argue, nor defend rational for w/o clang. To > boring and out of scope for this thread. That said; I > realize that lang/clang(33/34/35) is the default toolchain > for 10+, and that's just fine by me. So I shouldn't be > terribly surprised when install kernel/world, followed by > make delete-old removes the clang built, or provided by > the base install from the (initial) install procedure. But > what _does_ surprise me, is that the install of lang/gcc-48 > does _not_ become the compiler of choice with the above > $ENV, after [seemingly] deleting clang. It does not work that way. If you configure the base system to use gcc only, individual ports can decide that they need newer C++ support, or other features not available in the version of gcc in base (which is very old by now). In that case, they will use one of the gcc ports, or possibly even one of the clang ports. -Dimitry
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?2D6D79A7-D05E-4DE2-A2B6-EFE261204B02>