GNU bug report logs -
#14126
dist_EXTRA_SCRIPTS
Previous Next
To reply to this bug, email your comments to 14126 AT debbugs.gnu.org.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
bug-automake <at> gnu.org
:
bug#14126
; Package
automake
.
(Tue, 02 Apr 2013 20:58:03 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Дилян Палаузов <dilyan.palauzov <at> aegee.org>
:
New bug report received and forwarded. Copy sent to
bug-automake <at> gnu.org
.
(Tue, 02 Apr 2013 20:58:04 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
Hello,
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.
Do I misread the documentation, that dist_EXTRA_SCRIPTS is wrong, or is
it not written?
Greetings
Дилян
Information forwarded
to
bug-automake <at> gnu.org
:
bug#14126
; Package
automake
.
(Tue, 02 Apr 2013 21:54:01 GMT)
Full text and
rfc822 format available.
Message #8 received at 14126 <at> debbugs.gnu.org (full text, mbox):
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/)
Information forwarded
to
bug-automake <at> gnu.org
:
bug#14126
; Package
automake
.
(Sat, 20 Apr 2013 12:49:02 GMT)
Full text and
rfc822 format available.
Message #11 received at 14126 <at> debbugs.gnu.org (full text, mbox):
severity 14126 minor
stop
Hi Nick, Дилян, sorry for the delay.
On 04/02/2013 11:50 PM, Nick Bowler wrote:
> 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.
>
More precisely, it has no usefulness whatsoever. The 'EXTRA_' prefix [1]
is actually only needed to list objects, programs or libraries that may or
may not be built, depending on what configure decides; its use is required
because Automake must *statically* know (at Automake runtime) the entire
list of objects that may be built in order to generate a Makefile.in that
will work in all cases. In all other cases, the use of 'EXTRA_' is
pointless.
[1] With the exclusion of its use in the very ad-hoc variable EXTRA_DIST
> 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.
>
Exactly. Perhaps Automake should catch this no-op constructs, and warn
against them? WDYT?
> 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.
>
While this is true, the use of the 'SCRIPTS' primary can also serve for
documentation purpose (sorta), explicitly stating that the listed files
are scripts. While Automake might not care about that presently, the
idiom might help making the Makefile.am clearer to human readers. That
said, the correct way to express the concept that "these files are scripts,
but you should not install them, only distribute them" is with the 'noinst_'
prefix, not the 'EXTRA_' prefix; so something like:
dist_noinst_SCRIPTS = foo.sh
> 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
>
Still, the manual also says that:
This variable is used to list objects that may or may not be built,
depending on what configure decides. This variable is required because
Automake must statically know the entire list of objects that may be
built in order to generate a Makefile.in that will work in all cases.
Maybe we should find a way to stress the point that any use of 'EXTRA_'
that does not cater to this situation is pointless?
Regards,
Stefano
Severity set to 'minor' from 'normal'
Request was from
Stefano Lattarini <stefano.lattarini <at> gmail.com>
to
control <at> debbugs.gnu.org
.
(Sat, 20 Apr 2013 12:49:03 GMT)
Full text and
rfc822 format available.
This bug report was last modified 12 years and 59 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.