Date: Mon, 5 Jan 2009 17:40:33 +0100 From: <Hartmut.Brandt@dlr.de> To: <rizzo@iet.unipi.it>, <des@des.no> Cc: svn-src-head@FreeBSD.org, luigi@FreeBSD.org, src-committers@FreeBSD.org, svn-src-all@FreeBSD.org Subject: RE: svn commit: r186502 - head/usr.bin/make Message-ID: <E2F5A6372272F744859F67CB11ABC1110507C7@exbe05.intra.dlr.de> In-Reply-To: <20090105142929.GA70683@onelab2.iet.unipi.it> References: <200812262231.mBQMVjHC052150@svn.freebsd.org> <867i59lvbj.fsf@ds4.des.no> <20090105142929.GA70683@onelab2.iet.unipi.it>
next in thread | previous in thread | raw e-mail | index | archive | help
> -----Original Message----- > From: owner-src-committers@FreeBSD.org=20 > [mailto:owner-src-committers@FreeBSD.org] On Behalf Of Luigi Rizzo > Sent: Monday, January 05, 2009 3:29 PM > To: Dag-Erling Sm??rgrav > Cc: Luigi Rizzo; src-committers@FreeBSD.org;=20 > svn-src-all@FreeBSD.org; svn-src-head@FreeBSD.org > Subject: Re: svn commit: r186502 - head/usr.bin/make >=20 > On Mon, Jan 05, 2009 at 02:46:24PM +0100, Dag-Erling Sm??rgrav wrote: > > Luigi Rizzo <luigi@FreeBSD.org> writes: > > > Log: > > > Clarify the behaviour of conditionals when dealing with=20 > comparisons. > > > In particular, point out that string comparison can=20 > only use !=3D and =3D=3D > > > (how weird, given that the underlying call to strcmp=20 > returns more > > > information), that floating point values are correctly=20 > interpreted > > > as numbers, and that the left-hand side must be a=20 > variable expansion. > >=20 > > Any chance of fixing items 1 and 3? >=20 > item 1 is easy except perhaps for Locale issues which however=20 > should not > be a big deal in this context. > item 3 should also be easy. >=20 > But the thing i wonder about is whether there is any standard that > mandates this beviour, or we are relatively free to make enhancements > to our "make" program. >From the Posix standpoint of view, we can do what we want as long as we are not syntax compatible with posix-make :-) This is the reason, why most of our make extensions are compatible with posix. As soon as you have a construct that is a syntax error according to the Posix specification you invoke implementation-defined behaviour and as such you just have to document it. There are several of these escape mechanisms in the standard: the .POSIX pseudo-target and all targets that start with a dot and consist of uppercase letters. With regard to conditionals: there is no standard. Posix decided to standard only minimal make, which is roughly compatible to V7 make. If you change things like conditional semantics you should: (1) document it, and (2) arrange a full ports build with the portcluster people. This takes some days, but is a good thing to do. harti
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?E2F5A6372272F744859F67CB11ABC1110507C7>