Date: Tue, 30 Aug 2011 13:42:19 -0700 From: Garrett Cooper <yanegomi@gmail.com> To: Kevin Oberman <kob6558@gmail.com> Cc: Dimitry Andric <dim@freebsd.org>, freebsd-current <freebsd-current@freebsd.org>, "Hartmann, O." <ohartman@zedat.fu-berlin.de>, Alex Kuster <vertex.symphony@gmail.com> Subject: Re: CLANG; still cc in use when building the WORLD with CLANG? Message-ID: <CAGH67wSn3E6j3Acsy6kBLdPJXT8MP_BS5izLM2TQGQk%2B8yYweQ@mail.gmail.com> In-Reply-To: <CAN6yY1twJBTFXeuRqE5VWCMK=E6-XFJOxbWLBUh71MB7E2qxcg@mail.gmail.com> References: <4E5CB1E9.9080801@zedat.fu-berlin.de> <4E5D0DD3.20606@FreeBSD.org> <CABZ2EQM8oUoWd6c=2Arp8AZS1KfNCvZEJm40so%2BxTeyGg8a4Cg@mail.gmail.com> <4E5D24DE.8050909@FreeBSD.org> <4E5D2854.1030305@zedat.fu-berlin.de> <CAN6yY1v2%2B-jhbz=0mmU%2Bw4i%2BhWp53FhZ25V9YPdAr2pApGzQAQ@mail.gmail.com> <4E5D3B28.1060103@zedat.fu-berlin.de> <CAN6yY1twJBTFXeuRqE5VWCMK=E6-XFJOxbWLBUh71MB7E2qxcg@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Aug 30, 2011 at 1:25 PM, Kevin Oberman <kob6558@gmail.com> wrote: > On Tue, Aug 30, 2011 at 12:34 PM, Hartmann, O. > <ohartman@zedat.fu-berlin.de> wrote: >> On 08/30/11 21:27, Kevin Oberman wrote: >>> >>> On Tue, Aug 30, 2011 at 11:13 AM, Hartmann, O. >>> <ohartman@zedat.fu-berlin.de> =A0wrote: >>>> >>>> On 08/30/11 19:58, Dimitry Andric wrote: >>>>> >>>>> On 2011-08-30 18:44, Alex Kuster wrote: >>>>>> >>>>>> Thanks for pointing out those details ! >>>>>> This whole thing about make.conf& =A0 =A0src.conf is very confusing = and >>>>>> gives >>>>>> the >>>>>> impression of something half ported ... >>>>> >>>>> The only thing that is "half ported" at the moment, is an easy "use >>>>> clang to build world" switch. =A0This will be properly addressed afte= r 9.0 >>>>> is released. =A0As to the make.conf/src.conf confusion, it is very si= mple >>>>> really: >>>>> >>>>> - make.conf is used for system-wide settings, applied to every build >>>>> =A0using make. >>>>> >>>>> - src.conf is used for setting FreeBSD source tree settings, which ar= e >>>>> =A0always of the form WITH_XXX or WITHOUT_XXX. =A0See src.conf(5) for= a >>>>> =A0full list. =A0Any other "make" settings, such as CC, CFLAGS, etc, = are >>>>> =A0better specified in make.conf, though the manpage does not tell yo= u >>>>> =A0so explicitly. >>>> >>>> This is as I understood the manpage of src.conf. There is only a YES/s= et >>>> and >>>> NO/unset. >>> >>> No. There is only set and unset. WITH_option=3D"NO" has the same effect= as >>> WITH_option=3D"YES". >>> >>> I think this is confusing and often leads to unintended >>> consequences, but I and also say that some of the WITH_options document= ed >>> for src.conf (the man page is auto-generated from the code) are either >>> non-functional or broken. I've had some interesting issues with unexpec= ted >>> interactions of WITH_options, as well. Be very careful! >> >> Sorry being so unprecise. I meant WITH_ and WITHOUT_. I learned the hard= way >> that setting a variable >> to "be set" is simply done by naming it. >> >> Well, as I understand your comment, it seems that this /etc/src.conf fac= ilty >> isn't working properly yet? > > That's a semantic issue. It works as designed in that setting an > option in src.conf > does set the specified flags for make in /usr/src. Unfortunately some > of the options > were added as options, but the code to actually make the option > effective was not. > The more popular options work fine...SENDMAIL, BIND, BSNMP, and many more= . > Most of those that are simple skips of doing a make on a given > directory are fine, too. > In fact, most are working as expected. > > The problems are with more complex options that get involved with > complex library > dependencies. WITHOUT_SSH was broken for quite a while due to interaction= s > with several other options. (Just look through the Makefiles involved > in ssh and the > complexity of the other cryto-related tools. It's not trivial and > there are way too many > options to fully test all possible combinations. (As far as I can > tell, SSH issues are now > resolved.) > > I will also point out that several options DO state that they have no > effect in the man > page, but that assumes people actually read the text associated with a > given option. And there are some options which are truly just broken (or simply put -- don't disable / enable things properly). See http://phk.freebsd.dk/misc/stable7_build_options/ for an initial idea (there's another one hanging around in another FreeBSD dev's public directory -- I forget whom exactly). HTH, -Garrett
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAGH67wSn3E6j3Acsy6kBLdPJXT8MP_BS5izLM2TQGQk%2B8yYweQ>