From owner-freebsd-toolchain@FreeBSD.ORG Tue May 7 06:20:25 2013 Return-Path: Delivered-To: toolchain@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 13D0DB87; Tue, 7 May 2013 06:20:25 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Received: from mail-vc0-f176.google.com (mail-vc0-f176.google.com [209.85.220.176]) by mx1.freebsd.org (Postfix) with ESMTP id 96CB9172; Tue, 7 May 2013 06:20:24 +0000 (UTC) Received: by mail-vc0-f176.google.com with SMTP id ib11so163772vcb.7 for ; Mon, 06 May 2013 23:20:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:x-received:in-reply-to:references:date:message-id :subject:from:to:cc:content-type; bh=SYjQP34PLhMNXPrvg1+fI7TcPhQBtxTjq8d+a1Qm9kk=; b=z+HaExWQVig0R1ZYdOqB/H3A2h4uNkuyL6zqSzYgxNznBReJxxTrpzuNy/xVvv4wjS Yr1anhT0wtMFFH2/rjg80wheUqm8R0BiRzPdlI/B/kO+b8jA1OIHD1NtwZEjWqwEEwpe IwpgLHMxgS49Zaq7ijRcFx6si79dRQw+A+jlN1OrJGNObZ4l/MQ3bq5Cf7QAsZWhlCU2 Lc4Wwqr/U4D3xsG2WDdsVJ88HCq2qD78e0lCWaorqx9wLHq5YQyoup5ktvU8IMwM3LAV mHCQa1usJrY5AL3qSnkJr+gP6Hm2KoOtnMpxROhzBBCEqCyh9ar7ERS5XgnxcO0MK+vJ AlMg== MIME-Version: 1.0 X-Received: by 10.52.156.99 with SMTP id wd3mr258829vdb.98.1367907618095; Mon, 06 May 2013 23:20:18 -0700 (PDT) Received: by 10.220.141.72 with HTTP; Mon, 6 May 2013 23:20:18 -0700 (PDT) In-Reply-To: <20130501220750.GD45806@lor.one-eyed-alien.net> References: <201305012123.r41LNcEL048006@red.freebsd.org> <201305012130.r41LU031023258@freefall.freebsd.org> <20130501220750.GD45806@lor.one-eyed-alien.net> Date: Mon, 6 May 2013 23:20:18 -0700 Message-ID: Subject: Re: Fwd: docs/178286: [PATCH] document the LOCAL_* vars in build(7) From: Garrett Cooper To: Brooks Davis Content-Type: text/plain; charset=ISO-8859-1 Cc: sjg@freebsd.org, toolchain@freebsd.org, russell.cattelan@isilon.com, joel@freebsd.org X-BeenThere: freebsd-toolchain@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Maintenance of FreeBSD's integrated toolchain List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 07 May 2013 06:20:25 -0000 On Wed, May 1, 2013 at 3:07 PM, Brooks Davis wrote: > > On Wed, May 01, 2013 at 02:35:17PM -0700, Garrett Cooper wrote: >> Hi Brooks and Joel, >> I'd really appreciate if you guys could help out with this. I'm >> having to fix the Isilon build system due to severe lack of >> documentation in build(7). So many mistakes have been made because >> people don't understand how to write FreeBSD Makefiles... > > One minor concern I have with this patch is documenting LOCAL_LIB_DIRS. > I've not posted to the lists yet, but now that I understand buildworld > better, I think I implemented it wrong. It should have required that > the directories be also be listed in LOCAL_DIRS. The reason is that you > could then have LOCAL_DIRS=foo and LOCAL_LIB_DIRS=foo/lib so you only > added one directory to the FreeBSD tree but could still have libs. I > feared that someone might have started using this feature which would > mean we can't easily change that. That's assuming that someone hasn't hacked the base system (e.g. bin/cp, etc) and introduced awesome build dependencies on external libraries that don't cleanly fit into the current structure for buildworld :). This is part of the reason why I opened up http://www.freebsd.org/cgi/query-pr.cgi?pr=conf/178066 , but I realize that this is starting to turn into a slippery slope and could be articulated via meta-make and proper DPADD definitions _much_ better than it is today... Makefile.inc1 is full of pixie dust and carefully placed dependencies today, such that once you step outside that box it's difficult to work within the system due to its lack of flexibility and hooks. It's nice that the __L ".PHONY" rules are automatically generated by Makefile.inc1 because I really want buildworld-ish encapsulation; in particular, the way things are done in the OneFS build system could really be done better -- I'm not confident that some of my predecessors working on the build system truly understood how the FreeBSD build process works or were under extreme time crunches and thus didn't look for a perfect/good solution and instead resorted to some nasty build hacks that I'm now trying to unwind. > Is Isilon using it? Russell and I started using it recently. I'd like this support to stick around until meta-make can be realized (even if it's going to get ripped out eventually...) as it does make things cleaner when people hack away at the base system. Thanks! -Garrett