Skip site navigation (1)Skip section navigation (2)
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>