From owner-cvs-all@FreeBSD.ORG Thu Oct 13 16:15:25 2005 Return-Path: X-Original-To: cvs-all@freebsd.org Delivered-To: cvs-all@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id C769516A41F; Thu, 13 Oct 2005 16:15:25 +0000 (GMT) (envelope-from imp@bsdimp.com) Received: from harmony.bsdimp.com (vc4-2-0-87.dsl.netrack.net [199.45.160.85]) by mx1.FreeBSD.org (Postfix) with ESMTP id 426DF43D46; Thu, 13 Oct 2005 16:15:25 +0000 (GMT) (envelope-from imp@bsdimp.com) Received: from localhost (localhost.village.org [127.0.0.1] (may be forged)) by harmony.bsdimp.com (8.13.3/8.13.3) with ESMTP id j9DGCCOm074394; Thu, 13 Oct 2005 10:12:12 -0600 (MDT) (envelope-from imp@bsdimp.com) Date: Thu, 13 Oct 2005 10:13:20 -0600 (MDT) Message-Id: <20051013.101320.59655637.imp@bsdimp.com> To: ru@freebsd.org From: "M. Warner Losh" In-Reply-To: <20051013143010.GC91109@ip.net.ua> References: <20051012.155313.60482924.imp@bsdimp.com> <20051013135453.GC56193@comp.chem.msu.su> <20051013143010.GC91109@ip.net.ua> X-Mailer: Mew version 3.3 on Emacs 21.3 / Mule 5.0 (SAKAKI) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-2.0 (harmony.bsdimp.com [127.0.0.1]); Thu, 13 Oct 2005 10:12:13 -0600 (MDT) Cc: yar@comp.chem.msu.su, src-committers@freebsd.org, cvs-all@freebsd.org, cvs-src@freebsd.org Subject: Re: cvs commit: src/usr.bin/make make.1 X-BeenThere: cvs-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: CVS commit messages for the entire tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 13 Oct 2005 16:15:25 -0000 In message: <20051013143010.GC91109@ip.net.ua> Ruslan Ermilov writes: : Having /etc/make.conf included with every make(1) run is a : design bug. Definitely. That's why I'm working on fixing it. However, we gotta document what we have today... : It's a bug because the implementation doesn't : match the goal. The goal (as advertised in the make.conf : manpage) is to "contain settings that control the compilation : of the FreeBSD sources and ported applications" and "it is : included by the various makefiles in /usr/src, /usr/ports : and /usr/doc". I mean, the visibility of /etc/make.conf : would better be constrained by src/, ports/, and doc/ : makefiles, not the universe under the control of FreeBSD. : I think it's too late to change that, so we'll have to : live with this backward compatibility bug or come up : with a better replacement. Agreed. But including an empty file is no big deal for BC. : NetBSD, for example, that : has a very elegant build system, doesn't suffer from this : bug. They only include their mk.conf for system builds. NetBSD's system suffers from other issues... However, many of the good ideas in there I have prototyped in my tree. NetBSD requires an entire tree to build. Well, most of one anyway. That would break stand-alone builds. Last time we talked about that, you really didn't want to see us go further down that path than we already are (just try to build amdq w/o the rest of amd checked out to see one example). I have a scheme in mind, and phk kindly implemented a 'sinclude'[*] which does the right thing for climbing up the tree. This is what NetBSD does, and what we do at work very successfully. I'll try to re-establish carrier with you on this subject, since we seem to have lost it a while ago. The general idea is two fold. First, we revamp how we subset FreeBSD. That's a huge bikeshed, so let's just say it is happening and I'll talk more baout that piece when I have a workign prototype. The second part is working on how we get that data into the build system. I have a prototype of it working right now in one of my trees (not yet in p4), but it suffers from the 'can't build it unless you have all the directories checked out' problem. Now that phk has implemented sinclude, I can mostly fix that problem as well. I'm purposely trying to keep quiet about this rework until I have a working prototype. We've had long-ranging discussions in the past, and I'd rather see the effort spent at having something to evaluate rather than on theoretical vaporware. Warner [*] s == silent. include this, if you can, but if you can't solder on and don't bother me with a complaint.