From owner-cvs-src@FreeBSD.ORG Sun Sep 7 05:46:04 2003 Return-Path: Delivered-To: cvs-src@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 47E2916A4BF; Sun, 7 Sep 2003 05:46:04 -0700 (PDT) Received: from whale.sunbay.crimea.ua (whale.sunbay.crimea.ua [212.110.138.65]) by mx1.FreeBSD.org (Postfix) with ESMTP id 327B443FE5; Sun, 7 Sep 2003 05:46:00 -0700 (PDT) (envelope-from ru@sunbay.com) Received: from whale.sunbay.crimea.ua (ru@localhost [127.0.0.1]) h87CjYEV023352 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Sun, 7 Sep 2003 15:45:35 +0300 (EEST) (envelope-from ru@sunbay.com) Received: (from ru@localhost) by whale.sunbay.crimea.ua (8.12.9/8.12.8/Submit) id h87CjXw3023351; Sun, 7 Sep 2003 15:45:33 +0300 (EEST) (envelope-from ru) Date: Sun, 7 Sep 2003 15:45:33 +0300 From: Ruslan Ermilov To: "M. Warner Losh" Message-ID: <20030907124533.GA21121@sunbay.com> References: <200309070216.h872GBh2098385@repoman.freebsd.org> <20030907104614.GC10526@sunbay.com> <20030907.053010.130739333.imp@bsdimp.com> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="82I3+IH0IqGh5yIs" Content-Disposition: inline In-Reply-To: <20030907.053010.130739333.imp@bsdimp.com> User-Agent: Mutt/1.5.4i cc: cvs-src@FreeBSD.org cc: src-committers@FreeBSD.org cc: cvs-all@FreeBSD.org Subject: Re: cvs commit: src/usr.bin/make cond.c X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 07 Sep 2003 12:46:04 -0000 --82I3+IH0IqGh5yIs Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Sun, Sep 07, 2003 at 05:30:10AM -0600, M. Warner Losh wrote: > In message: <20030907104614.GC10526@sunbay.com> > Ruslan Ermilov writes: > : On Sat, Sep 06, 2003 at 07:16:10PM -0700, Warner Losh wrote: > : > imp 2003/09/06 19:16:10 PDT > : >=20 > : > FreeBSD src repository > : >=20 > : > Modified files: > : > usr.bin/make cond.c=20 > : > Log: > : > Keep up with minor changes to NetBSD. Consider a variable empty wh= en > : > not define. > : > =20 > : > Obtained From: NetBSD (rev 1.18; sjg) > : > =20 > : > Revision Changes Path > : > 1.27 +1 -1 src/usr.bin/make/cond.c > : >=20 > : Does it mean that ``.if empty(FOO)'' will not cause an error > : now when FOO is not defined? If so, what is the motivation > : for this change? >=20 > The NetBSD folks needed it for something, I'm not sure what. Since it > was easy, didn't brea anything and cross BSD make divergence has been > a problem in the past, I went ahead and added it. >=20 This change is in NetBSD for only 29 hours, the reasoning is not well understood, and our make(1)'s are so much different that I don't really think this particular one makes them really closer. It also seems counter-intuitive to me -- undefined variable doesn't have _any_ value, so we cannot say if it's empty or not. Like in SQL there's a special "IS NULL" operator to test if a value is null, I want we continue to treat undefined make variables specially, with the existing defined() function, unless there is a good reason not to. Sorry, but the above explanation does not sound like this. Could you please dig up what is the real reasoning behind the change? If the only reason is to ease writing constructs like .if defined(FOO) && !empty(FOO) ... which are common, then I'm strongly against it, FWIW. Cheers, --=20 Ruslan Ermilov Sysadmin and DBA, ru@sunbay.com Sunbay Software Ltd, ru@FreeBSD.org FreeBSD committer --82I3+IH0IqGh5yIs Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.1 (FreeBSD) iD8DBQE/WyhtUkv4P6juNwoRAvFXAJsGI0npfrDK/oNqovkJuqBVhDa6iACeMeF0 tcVg0NtXK1jC7GjpCVys6pk= =PJPZ -----END PGP SIGNATURE----- --82I3+IH0IqGh5yIs--