Hello, 1) 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. 2) 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
2005-12-31 Stepan Kasal <[EMAIL PROTECTED]> * automake.in (handle_texinfo_helper): Declare that info files won't be distributed by default in future versions. (output_texinfo_build_rules): Mention this, too. (libtool_new_api): Fix a typo in the comment. Index: automake.in =================================================================== RCS file: /cvsroot/automake/automake/automake.in,v retrieving revision 1.1613 diff -u -p -r1.1613 automake.in --- automake.in 3 Oct 2005 20:52:27 -0000 1.1613 +++ automake.in 31 Dec 2005 15:00:04 -0000 @@ -353,7 +353,7 @@ my $ac_gettext_location; # Lists of tags supported by Libtool. my %libtool_tags = (); # 1 if Libtool uses LT_SUPPORTED_TAG. If it does, then it also -# use AC_REQUIRE_AUX_FILE. +# uses AC_REQUIRE_AUX_FILE. my $libtool_new_api = 0; # Most important AC_CANONICAL_* macro seen so far. @@ -2928,8 +2928,8 @@ sub output_texinfo_build_rules ($$$@) # different in each case. However we cannot output two different # set of generic rules. Because in-source builds are more usual, we # use generic rules in this case and fall back to "specific" rules - # for build-dir builds. (It should not be a problem to invert this - # if needed.) + # for build-dir builds. (This will be inverted in future versions + # of Automake, which won't distribute info files by default.) $generic = 0 unless $insrc; # We cannot use a suffix rule to build info files with an empty @@ -3124,6 +3124,11 @@ sub handle_texinfo_helper ($) # # Do not create info files for distribution. # dist-info: # in order not to distribute .info files. + # + # Future versions of Automake will not distribute the info files by + # default. (To install the info file, one needs the install-info + # program from Texinfo anyway.) + # my $insrc = ($out_file =~ $user_cleaned_files) ? 0 : 1; my $soutdir = '$(srcdir)/' . $outdir;