From owner-freebsd-current@FreeBSD.ORG Tue Aug 30 20:25:21 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 80A24106564A; Tue, 30 Aug 2011 20:25:21 +0000 (UTC) (envelope-from kob6558@gmail.com) Received: from mail-iy0-f182.google.com (mail-iy0-f182.google.com [209.85.210.182]) by mx1.freebsd.org (Postfix) with ESMTP id 3A6578FC17; Tue, 30 Aug 2011 20:25:20 +0000 (UTC) Received: by iadx2 with SMTP id x2so2564710iad.13 for ; Tue, 30 Aug 2011 13:25:20 -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=HTk2Tjb5G5CED4bz8a4yMT6xOgqjBrC4wob5CrDsoK0=; b=EiLTdKWQfXUgJRUzgVRD5fY927nlBsvsROufo9hQgznoBlLAHEGeLgEw0KaXMHWWwW VY7QalRMZ6/poKQl2Gd08Cm1CEziKBX7ESMAjC6XboQaEzSVhkzoO7/+fZRabTDRmJVR pvG197seRoy+08LRBkKIWySZlnMGmXs34VNkw= MIME-Version: 1.0 Received: by 10.231.62.149 with SMTP id x21mr13912019ibh.96.1314735920350; Tue, 30 Aug 2011 13:25:20 -0700 (PDT) Received: by 10.231.149.204 with HTTP; Tue, 30 Aug 2011 13:25:20 -0700 (PDT) In-Reply-To: <4E5D3B28.1060103@zedat.fu-berlin.de> 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:25:20 -0700 Message-ID: From: Kevin Oberman To: "Hartmann, O." Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Cc: freebsd-current , Dimitry Andric , 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:25:21 -0000 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 a= nd >>>>> 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 after= 9.0 >>>> is released. =A0As to the make.conf/src.conf confusion, it is very sim= ple >>>> 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 are >>>> =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, a= re >>>> =A0better specified in make.conf, though the manpage does not tell you >>>> =A0so explicitly. >>> >>> This is as I understood the manpage of src.conf. There is only a YES/se= t >>> 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 documente= d >> 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 unexpect= ed >> 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 faci= lty > 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 interactions 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. --=20 R. Kevin Oberman, Network Engineer - Retired E-mail: kob6558@gmail.com