[Top][All Lists]

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

Re: mostlyclean and texinfo outputs

From: Ralf Wildenhues
Subject: Re: mostlyclean and texinfo outputs
Date: Fri, 3 Apr 2009 20:22:29 +0200
User-agent: Mutt/1.5.18 (2008-05-17)

[ let's drop bug-gnulib ]

Hello Bruno, Karl, all,

* Bruno Haible wrote on Fri, Apr 03, 2009 at 12:58:26PM CEST:
> > > For the {dvi,ps} formats this is (arguably) a bug in automake,
> > 
> > I agree; automake should remove {html,dvi,ps,pdf} only upon 'clean', but
> > not upon 'mostlyclean'.  Only the latex by-products should be removed
> > upon 'mostlyclean'.
> OK, this is issue #1.


> Issue #2: If I decide to distribute PDF formatted documentation, how to I tell
> automake to not remove these files during "make clean" or "make mostlyclean"?

Yes, this is an issue, too.  Hmm, but if you distribute this, then it
should be built in the source tree, too.

> Testcase: The doc/ directory in GNU hello. Neither a definition
>       EXTRA_DIST = hello.pdf

This could probably be a key.  Although testing EXTRA_DIST could be
expensive (but that is a minor implementation issue).

> nor a dependency
>       install : install-pdf

BTW, hat would better be
  install-data-local: install-pdf

However, whether something is installed or not should not decide about
whether something is distributed or not.

> did have the desired effect.

There is an undocumented "compatibility hack" inside automake that
decides whether to build info files in the build tree or in the source
tree: the latter is the default, but if info files appear to be cleaned,
i.e., the info files are listed in CLEANFILES or DISTCLEANFILES, then
the former is done.  There is a very long comment in automake, in the
handle_texinfo_helper function explaining the stuff.  The comment ends
      # Consequently, starting with Automake 1.8, .info files are
      # built in the source tree again.  Because we still plan to
      # support non-distributed .info files at some point, we
      # have a single variable ($INSRC) that controls whether
      # the current .info file must be built in the source tree
      # or in the build tree.  Actually this variable is switched
      # off for .info files that appear to be cleaned; this is
      # for backward compatibility with package such as Texinfo,
      # which do things like
      #   info_TEXINFOS = texinfo.txi info-stnd.texi info.texi
      #   DISTCLEANFILES = texinfo texinfo-* info*.info*
      #   # Do not create info files for distribution.
      #   dist-info:
      # in order not to distribute .info files.

Now, I'm not advocating we do alike for the other document output
formats, but it's worth a thought having a unified way ...

> Likewise for {html,dvi,ps} formatted documentation.


I would appreciate input on this, esp. in case there are plans to
standardize any of these semantics at some later point.


reply via email to

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