Subject: Re: bug#14126: dist_EXTRA_SCRIPTS

From: Nick Bowler <[email-masked]>
Date: Tue, 2 Apr 2013 17:50:49 -0400

On 2013-04-02 21:32 +0200, Дилян Палаузов wrote:
> As of Automake 1.13.1, in the documentaion, in node The Uniform Naming 
> Scheme, last paragraph:
> 
>       Some primaries also allow additional prefixes that control other
>    aspects of `automake''s behavior.  The currently defined prefixes are
>    `dist_', `nodist_', `nobase_', and `notrans_'.  These prefixes are
>    explained later (*note Program and Library Variables::) (*note Man
>    Pages::).
> 
> is not written, which primaries allow additional prefixes, and which do 
> not allow.
> 
> Moreover, I got confused by EXTRA_ , dist_ and _SCRIPTS.  "EXTRA_SCRIPTS 
> = file" is legal, as is "dist_EXTRA_SCRIPTS = file" .  According to my 
> expectations, the last shall mean, that on "make dist" the latter 
> implies, that "file" is included in the tarball, but it isn't. 
> Eventually, I had to use dist_noinst_SCRIPTS.

Disclaimer: I did not look closely at what Automake actually does.

I suspect the reason is that EXTRA_SCRIPTS doesn't really make a lot
of sense, so nobody has ever tried it before.  That would mean "the
following scripts are not distributed, not installed, not built by
default, and outside of the scope of any built-in Automake rules".
In other words, it is saying that Automake doesn't have to do anything,
so the expected behaviour is the same as if you did not write anything
at all.

By that token, dist_EXTRA_SCRIPTS means "the only thing you need to do
with these files is include them in the tarball".  There is already a
variable for that: EXTRA_DIST.

I think Automake probably just ignores both versions (i.e., it treats
them like ordinary make variables).

> Do I misread the documentation, that dist_EXTRA_SCRIPTS is wrong, or is 
> it not written?

There is probably an improvement to be made (either to Automake or to
the manual), since the documentation does say that there is an EXTRA
version "for each primary" (which would include SCRIPTS) in §3.3:

  https://www.gnu.org/software/automake/manual/automake.html#Uniform

Cheers,
-- 
Nick Bowler, Elliptic Technologies (http://www.elliptictech.com/)