From owner-freebsd-current@FreeBSD.ORG Tue Aug 30 20:42:20 2011 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B5923106566B for ; Tue, 30 Aug 2011 20:42:20 +0000 (UTC) (envelope-from yanegomi@gmail.com) Received: from mail-qw0-f54.google.com (mail-qw0-f54.google.com [209.85.216.54]) by mx1.freebsd.org (Postfix) with ESMTP id 549828FC0A for ; Tue, 30 Aug 2011 20:42:20 +0000 (UTC) Received: by qwc9 with SMTP id 9so46495qwc.13 for ; Tue, 30 Aug 2011 13:42:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; bh=Y0UFy85S9QSNSzN3FDY3tGx2mw4BYXkvS/aAh7LPtwU=; b=csFaW44K+DoEsLZBcr+NC0dOLLBwYZ4y2lkZwTvzhtaGTHzpQR/Hr+1WQrSV+x+5VW bZqOyLAMqtbSjpzH2zCwgkwWAEnpf2pUkr5ro8SAyz7g/6nUsaPOK3WbS0PvjxjW/3Gf XWBk/syv1LY4a7h/NVcER3luxKh4X8YrRXKoE= MIME-Version: 1.0 Received: by 10.224.198.73 with SMTP id en9mr3232686qab.29.1314736939566; Tue, 30 Aug 2011 13:42:19 -0700 (PDT) Received: by 10.224.37.83 with HTTP; Tue, 30 Aug 2011 13:42:19 -0700 (PDT) In-Reply-To: References: <4E5CB1E9.9080801@zedat.fu-berlin.de> <4E5D0DD3.20606@FreeBSD.org> <4E5D24DE.8050909@FreeBSD.org> <4E5D2854.1030305@zedat.fu-berlin.de> <4E5D3B28.1060103@zedat.fu-berlin.de> Date: Tue, 30 Aug 2011 13:42:19 -0700 Message-ID: From: Garrett Cooper To: Kevin Oberman Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Cc: Dimitry Andric , freebsd-current , "Hartmann, O." , Alex Kuster Subject: Re: CLANG; still cc in use when building the WORLD with CLANG? X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 Aug 2011 20:42:20 -0000 On Tue, Aug 30, 2011 at 1:25 PM, Kevin Oberman wrote: > On Tue, Aug 30, 2011 at 12:34 PM, Hartmann, O. > wrote: >> On 08/30/11 21:27, Kevin Oberman wrote: >>> >>> On Tue, Aug 30, 2011 at 11:13 AM, Hartmann, O. >>> =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