[Top][All Lists]

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

Info files--declaration and distribution

From: Stepan Kasal
Subject: Info files--declaration and distribution
Date: Sat, 31 Dec 2005 16:37:49 +0100
User-agent: Mutt/1.4.1i


I suggest that the info files should not be distributed by default.

Current situation:
  Automake-generated makefiles distribute *.info files by default.
But the installation rules can install this file only if the program
install-info is available.  Because both install-info and makeinfo
are programs from the Texinfo package, people usually have both
or none of them.
  So people which don't have Texinfo installed must install the file
manually or use it directly from the source tree.  I hope that such
people will agree to install makeinfo to build the info file.

Attached please find a patch which adds some comments about this.

The function handle_texinfo_helper contains the following:
# which syntax we should use to indicate that .info files should
# not be distributed.  Akim Demaille suggested that eventually
# we switch to a new syntax:
# |  Maybe we should take some inspiration from what's already
# |  done in the rest of Automake.  Maybe there is too much
# |  syntactic sugar here, and you want
# |     nodist_INFO = bar.info
# |     dist_bar_info_SOURCES = bar.texi
# |     bar_texi_DEPENDENCIES = foo.texi
# |  with a bit of magic to have bar.info represent the whole
# |  bar*info set.  That's a lot more verbose that the current
# |  situation, but it is # not new, hence the user has less
# |  to learn.
# |
# |  But there is still too much room for meaningless specs:
# |     nodist_INFO = bar.info
# |     dist_bar_info_SOURCES = bar.texi
# |     dist_PS = bar.ps something-written-by-hand.ps
# |     nodist_bar_ps_SOURCES = bar.texi
# |     bar_texi_DEPENDENCIES = foo.texi
# |  here bar.texi is dist_ in line 2, and nodist_ in 4.

I would like to rephrase and slightly modify the first paragraph:

|  We should introduce a new primary, INFOS, and use the standard
|  SOURCES mechanism to declare the sources:
|    info_INFOS = bar.info
|    bar_info_SOURCES = bar.texi gpl.texi
|  According to a general rule, files from bar_info_SOURCES are distributed,
|  but one can use nodist_bar_info_SOURCES for generated texinfo files.
|  Another example:
|    nodist_info_INFOS = bar.info
|  (bar_info_SOURCES defaults to "bar.texi".)
|  To declare an html manual, one would use:
|    html_HTMLS = bar.html
|    bar_html_SOURCES = $(bar_info_SOURCES)
|  By default, INFOS would be installed and HTMLS not installed.

And I think that the second paragraph can be deleted.  Of course a user
can errorneously declare a source file both distributed and
non-distributed, that's not a special problem of texinfo sources.

Akim, would you agree with this change to the comment?

Have a nice year,
        Stepan Kasal

Attachment: automake-20051231-comment.patch
Description: Text document

reply via email to

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