Print

Print


There seems to be a bug in the way the "make dist" targets are working.
For instance, if I do a complete new checkout of cupid, and then do

% ./bootstrap
% ./configure
% make dist

the resulting cupid-xxx.tar.gz file does not contain the ancillary files
(install_sh, missing, etc) needed by the distributed configure script, so
configuring the distribution fails. If I then (without doing a new cvs
checkout or update or anything) do:

% ./bootstrap
% ./configure
% make dist

again, the resulting distributon tar file *does* include the ancillary
files and the distribution can be configured succesfully.

After the first bootstrap, Makefile.in contains:

DIST_COMMON = $(am__configure_deps) $(dist_bin_SCRIPTS) \
        $(dist_noinst_SCRIPTS) $(dist_starnews_DATA) \
        $(srcdir)/../config.guess $(srcdir)/../config.sub \
        $(srcdir)/../depcomp $(srcdir)/../install-sh \
        $(srcdir)/../ltmain.sh $(srcdir)/../missing \
        $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
        $(srcdir)/component.xml.in $(srcdir)/cupid.ifd.in \
        $(srcdir)/make_doc.in $(srcdir)/make_h.in \
        $(srcdir)/make_history_help.in $(srcdir)/make_quickdes.in \
        $(stardocs_DATA) $(top_srcdir)/configure clumps.ifl \
        cupidhelp.ifl makeclumps.ifl

This seems like it is trying to distribute the ancillary files from the
parent directory (the current directory does not yet contain the ancillary
files at this point, but the parent directory does).

Then, the "make dist" step seems to be copying the ancillary files from
../missing (for instance) to $(distdir)/../missing. That is, the directory
path "../" is not being stripped of the destination file name. So the
ancillary files end up in the current ( i.e. $(srcdir) ) directory rather
than the intended $(distdir) directory.

So, the next time I run ./bootstrap, it finds the ancillary files in the
current directory and creates a different Makefile.in containing

DIST_COMMON = $(am__configure_deps) $(dist_bin_SCRIPTS) \
        $(dist_noinst_SCRIPTS) $(dist_starnews_DATA) \
        $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
        $(srcdir)/component.xml.in $(srcdir)/cupid.ifd.in \
        $(srcdir)/make_doc.in $(srcdir)/make_h.in \
        $(srcdir)/make_history_help.in $(srcdir)/make_quickdes.in \
        $(stardocs_DATA) $(top_srcdir)/configure clumps.ifl \
        config.guess config.sub cupidhelp.ifl depcomp install-sh \
        ltmain.sh makeclumps.ifl missing

i.e. the ancillary files are now being picked up from the current
directory rather than the parent directory. And so when you do the next
"make dist" there is no "../" in the file path and so the files get copied
correctly to $(distdir).

Do any of you CVS/build system chaps know what should be done about this?

David