[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: "make distcheck" vs. EXTRA_DIST files made during "make dist"
From: |
Alexandre Duret-Lutz |
Subject: |
Re: "make distcheck" vs. EXTRA_DIST files made during "make dist" |
Date: |
Tue, 14 May 2002 09:56:21 +0200 |
User-agent: |
Gnus/5.090006 (Oort Gnus v0.06) Emacs/21.2 (i386-debian-linux-gnu) |
>>> "Greg" == Greg A Woods <address@hidden> writes:
[...]
Greg> Potentially any product file which is derived from a source file, and
Greg> which must be included in the distribution, and thus which must _not_ be
Greg> removed by "make distclean" is could cause the same problem. In some
Greg> cases the dependency might be on config.status, while in others it might
Greg> be on another built file (or both, as is the case with my *-dist files).
Greg> I understand what you mean by strictly saying these final EXTRA_DIST
Greg> files depend on files which are not distributed, but the same is true of
Greg> config.status and obviously it must not be distributed at all,
I don't get this. What's the trouble with config.status? I
really can't see how its related to your problem.
`config.status' is a non-distributed file which depends upon
a distributed file (configure, which itself depends upon
distributed files only).
All the files which depend upon config.status are not
distributed (they are even cleaned by `make distclean').
I'm sorry to state this again: as far we are concerned, the
`distcheck' failures happens when distributed files are
dependent upon non-distributed built files.
Fortunately, neither config.status, not its dependencies, nor
its dependent files, do fit into this scheme. That's why it
works without trouble. Amen.
Greg> and ultimately any dependency on config.status is only a
Greg> way to represent the recording of "configure-time"
Greg> environmental dependencies in a way that 'make' can
Greg> understand.
Of course. Yet I still do get your point.
[...]
>> << distributed files dependent upon non-distributed built files >>
Greg> Whether or not the final product file depends on an intermediate product
Greg> file or not is really irrelevant.
What is relevant is that `make' or `make install' causes this
intermediate products to be built ("non-distributed built
files"), and hence latter (during `make dist' in this case, but
`make' in the other cases) triggers the rules for the final
product ("dependent upon").
[...]
>> >> In your case I think a workaround would be to create your files
>> >> during `make dist' but directly in the *distribution* directory,
>> >> not in the source directory.
[...]
Greg> Ultimately my only complaint is with "make distcheck", so strictly
Greg> you're talking about a fix that won't work to fix the problem I'm
Greg> actually encountering
Did you tried?
`make distcheck' fails because the second `make dist' it runs
creates files in `$(srcdir)'. If you change `make dist' to not
populate `$(srcdir)' (using `dist-hook' instead of your
EXTRA_DIST dependencies), `make distcheck' won't fail.
[...]
--
Alexandre Duret-Lutz