Re: How exactly does the base toolchain determine WHICH language to build with?

From: Chris H <bsd-lists_at_bsdforge.com>
Date: Fri, 07 Nov 2014 20:50:28 -0800
On Fri, 7 Nov 2014 22:39:27 -0600 Scot Hetzel <swhetzel_at_gmail.com> wrote

> On Fri, Nov 7, 2014 at 6:23 PM, Chris H <bsd-lists_at_bsdforge.com> wrote:
> > Greetings,
> >  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
> >
> > 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
> 
> lang/clang(33/34/35) is not the default toolchain in 10+.  10+ uses a
> version of clang that is included in the FreeBSD source (/usr/src).
> 
> > 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. I understand that
> 
> FAVORITE_COMPILER is used by Mk/Uses/compiler.mk.
> 
> If you want ports to build with lang/gcc-48, then you would need to
> check that the ports you are trying to compile have either
> USES=compiler or USES_GCC defined in their Makefile. Otherwise the
> ports will use the compiler that is provided by the FreeBSD source
> (gcc 2.4.x or clang).
> 
> When WITHOUT_CLANG is defined in make.conf/src.conf.  The FreeBSD
> source will be built using gcc 2.4.x from the FreeBSD source.
> /usr/bin/{cc,c++} will then be linked to the gcc versions.  The ports
> will then use this version to build if there is no USES_GCC or
> USES=compiler in the ports Makefile.
Perfect, and thank you very much, Scott, for the clarification.
For what ever reason. Mine (CC,cc++,...) are linked to what's left
of clang. I guess I'll need to try and dig deeper, and see if I can
discover, why, and what happened.
Just for the record. Re-reading my comment above, I realize that
my statement regarding clang, might be interpreted as my having
negative feelings about clang/llvm. For clarity, that is not the
case. This install is targeted at development. As such, I want
more granular control of what I build, and test with. So I'll
actually be installing every version of lang/clang, and testing
accordingly.

Thank you again, Scott, for taking the time to respond.

--Chris

> 
> -- 
> DISCLAIMER:
> 
> No electrons were maimed while sending this message. Only slightly bruised.
> _______________________________________________
> freebsd-ports_at_freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-ports
> To unsubscribe, send any mail to "freebsd-ports-unsubscribe_at_freebsd.org"
Received on Sat Nov 08 2014 - 03:50:24 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:53 UTC