automake-ng
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Automake-NG] [PATCH 15/17] [ng] check: accept dot-less entries in $


From: Akim Demaille
Subject: Re: [Automake-NG] [PATCH 15/17] [ng] check: accept dot-less entries in $(TEST_EXTENSIONS)
Date: Wed, 23 May 2012 09:22:27 +0200

Le 22 mai 2012 à 23:51, Stefano Lattarini a écrit :

> On 05/22/2012 11:35 PM, Akim Demaille wrote:
>> 
>> Le 22 mai 2012 à 22:50, Stefano Lattarini a écrit :
>> 
>>> Since the beginning of the parallel-tests harness, we've been requiring
>>> that the entries in $(TEST_EXTENSIONS) begin with a dot (as suggested by
>>> the name "extensions").  But it's clear that if an user writes something
>>> like:
>>> 
>>>   TEST_EXTENSIONS = test sh
>>> 
>>> he actually means:
>>> 
>>>   TEST_EXTENSIONS = .test .sh
>>> 
>>> So let's try to be more user-friendly, and some DWIM processing on the
>>> content of $(TEST_EXTENSIONS).
>> 
>> Well, I'm not so sure about this one.  What if someone wants to
>> write tests with ,ext?
>> 
> That is definitely asking for trouble IMHO.  I'm not sure I want us to commit
> to support such an usage, until there is any real user request for it.

My point is that this feature is perfectly supported by GNU
Make, and plain make too.  But you are right that it is in
the tradition of Automake to stick to dot-suffixes.  And
actually many of the simplifications it introduces probably
come from this "limitation".

> Let's take a step back for the moment: drop this patch, and replace it with 
> one
> that introduces a make runtime check verifying that all $(TEST_EXTENSIONS)
> entries end with a dot, erroring out if this is not the case.  This is just
> a minimal change w.r.t. the behaviour of mailine Automake, and keep us free to
> define a proper semantic for dot-less extension in a second time, should the
> need ever arise.

OK.

>> Reading the diff I'm not sure it wouldn't
>> work, yet we'd have two different ways to say the same thing, which
>> I don't think is a good property.
>> 
>> Btw, it would be nice if Automake-ng could use a single convention
>> where automake uses several.
>> 
>>     AM_DEFAULT_SOURCE_EXT = .cpp

I forgot to mention SUFFIXES.

>> Also, OBJEXT does not include the dot, whereas EXEEXT does.
>> 
> That's because $(OBJEXT) is always non-empty ('.o' or '.obj'), while
> $(EXEEXT) might be empty (it is on most real POSIX hosts, while it is
> '.exe' on Cygwin and minGW).

Yes, I know :)  But it is still a needless difference.

Since automake-ng is throwing away inconsistencies,
it could also fuse the vocabulary and stick to
either suffix or extension, and have variables
named consistently.

> Anyway, I think the assumption "$(OBJEXT) is always dot-less" is so
> entrenched in the current codebase that trying to change them would
> cause endless troubles (more than it's worth).

Late consistency is always more costly than upfront,
sure.  No big deal, just a spot on the cover.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]