From owner-freebsd-arch Sun Jan 6 15:30:24 2002 Delivered-To: freebsd-arch@freebsd.org Received: from thuvia.demon.co.uk (thuvia.demon.co.uk [193.237.34.248]) by hub.freebsd.org (Postfix) with ESMTP id ACC4237B400; Sun, 6 Jan 2002 15:30:08 -0800 (PST) Received: from dotar-sojat.thuvia.org (dotar-sojat.thuvia.org [10.0.0.4]) by phaidor.thuvia.org (8.11.6/8.11.6) with ESMTP id g06NWBk11276; Sun, 6 Jan 2002 23:32:12 GMT (envelope-from mark@thuvia.demon.co.uk) Received: (from mark@localhost) by dotar-sojat.thuvia.org (8.11.6/8.11.6) id g06NYFN84452; Sun, 6 Jan 2002 23:34:15 GMT (envelope-from mark) Date: Sun, 6 Jan 2002 23:34:15 GMT From: Mark Valentine Message-Id: <200201062334.g06NYFN84452@dotar-sojat.thuvia.org> In-Reply-To: Peter Pentchev's message of Jan 6, 11:30pm X-Mailer: Mail User's Shell (7.2.6 beta(5) 10/07/98) To: Peter Pentchev Subject: Re: make(1) enhancement - an 'environment processor' option Cc: arch@freebsd.org, audit@freebsd.org Sender: owner-freebsd-arch@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG > From: Peter Pentchev > Date: Sun 6 Jan, 2002 > Subject: Re: make(1) enhancement - an 'environment processor' option > > It looks like it should be easy enough to provide this functionality in > > the build system (e.g. bsd.port.mk). > > But would it really? I had this idea initially, before I wrote penv(1) > as a standalone preprocessor, and believe me, I tried - but it quickly > got ugly, when things came to trusting or checking the output of a program > to determine which variables should be unset and which ones should be set, > including setting variables to values containing whitespace :) Why the complexity? Why the need to run an external program to read the values of these variables? I'm not familiar with penv(1), but from a perusal it seems that it manages some set of simple variable assignments under /var/db, in some horrendous file-per-variable format(?). Why aren't these just stored in a file in make(1) compatible format? Fix that, and just have bsd.port.mk include /var/db/penv/${PORTNAME} if it exists. > > Can you suggest any other uses for this feature besides supporting penv(1)? > > Not for the moment, no; but supporting penv(1) is nice, Touching a fundamental, universal utility to specifically support an application for which it's used 0.001% of the time isn't very nice... > > make(1) already contains too many hacks for the FreeBSD build system. > > This particular change should be easy to add to GNU make, too; this is > on my to-do list for the next couple of days. I'd be quite interested to see how willing the GNU Make maintainers are to adopt this. Cheers, Mark. -- Mark Valentine, Thuvia Labs "Tigers will do ANYTHING for a tuna fish sandwich." Mark Valentine uses "We're kind of stupid that way." *munch* *munch* and endorses FreeBSD -- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-arch" in the body of the message