use AM_GNU_GETTEXT now
authorTom Tromey <tromey@redhat.com>
Thu, 5 Dec 1996 09:56:18 +0000 (09:56 +0000)
committerTom Tromey <tromey@redhat.com>
Thu, 5 Dec 1996 09:56:18 +0000 (09:56 +0000)
ChangeLog
TODO
aclocal.in
automake.in
automake.texi
version.texi

index 6d1238f..072af9a 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+Thu Dec  5 02:52:20 1996  Tom Tromey  <tromey@cygnus.com>
+
+       * aclocal.in (@obsolete_macros): ud_GNU_GETTEXT is obsolete.
+
+       * automake.in (handle_gettext): Use AM_GNU_GETTEXT, not
+       ud_GNU_GETTEXT.
+       (scan_configure): Ditto.  ud_GNU_GETTEXT is now obsolete.
+
 Wed Dec  4 00:41:23 1996  Tom Tromey  <tromey@cygnus.com>
 
        * automake.in (scan_configure): Skip empty elements when adding to
diff --git a/TODO b/TODO
index 107e223..2b3b0d5 100644 (file)
--- a/TODO
+++ b/TODO
@@ -345,10 +345,6 @@ in subdirs make rule
 
 a package that installs its own aclocal macros
 
---cygnus
-
-OMIT_DEPENDENCIES
-
 write example of using automake with dejagnu
 follow calc example in dejagnu docs
 
@@ -395,6 +391,8 @@ document that dependencies:
 
 clean-local rules
 
+add a concept index
+
 ================================================================
 
 Things to do for autoconf:
index 4aa8697..ffbbbe2 100644 (file)
@@ -76,6 +76,7 @@ $verbosity = 0;
      'jm_MAINTAINER_MODE',
      'md_TYPE_PTRDIFF_T',
      'ud_PATH_LISPDIR',
+     'ud_GNU_GETTEXT',
 
      # Now part of autoconf proper, under a different name.
      'AM_FUNC_FNMATCH',
index 2277dc5..89210d4 100755 (executable)
@@ -132,9 +132,9 @@ $config_aux_dir = '';
 # Whether AC_PROG_MAKE_SET has been seen in configure.in.
 $seen_make_set = 0;
 
-# Whether ud_GNU_GETTEXT has been seen in configure.in.
+# Whether AM_GNU_GETTEXT has been seen in configure.in.
 $seen_gettext = 0;
-# Line number at which ud_GNU_GETTEXT seen.
+# Line number at which AM_GNU_GETTEXT seen.
 $ac_gettext_line = 0;
 
 # Whether ALL_LINGUAS has been seen.
@@ -2435,7 +2435,7 @@ sub handle_gettext
     if (! &variable_defined ('SUBDIRS'))
     {
        &am_conf_error
-           ("ud_GNU_GETTEXT in configure.in but SUBDIRS not defined");
+           ("AM_GNU_GETTEXT in configure.in but SUBDIRS not defined");
        return;
     }
 
@@ -2446,11 +2446,11 @@ sub handle_gettext
     {
        &am_line_error
            ('SUBDIRS',
-            "ud_GNU_GETTEXT in configure.in but \`po' not in SUBDIRS")
+            "AM_GNU_GETTEXT in configure.in but \`po' not in SUBDIRS")
                if $contents{'SUBDIRS'} !~ /\bpo\b/;
        &am_line_error
            ('SUBDIRS',
-            "ud_GNU_GETTEXT in configure.in but \`intl' not in SUBDIRS")
+            "AM_GNU_GETTEXT in configure.in but \`intl' not in SUBDIRS")
                if $contents{'SUBDIRS'} !~ /\bintl\b/;
     }
 
@@ -2480,7 +2480,7 @@ sub handle_gettext
     }
     else
     {
-       &am_error ("ud_GNU_GETTEXT in configure.in but \`ALL_LINGUAS' not defined");
+       &am_error ("AM_GNU_GETTEXT in configure.in but \`ALL_LINGUAS' not defined");
     }
 }
 
@@ -3142,7 +3142,7 @@ sub scan_configure
            }
        }
 
-       if (/(fp_WITH_DMALLOC|fp_WITH_REGEX|fp_FUNC_FNMATCH|fp_PROG_INSTALL|fp_C_PROTOTYPES|jm_MAINTAINER_MODE)/)
+       if (/(fp_WITH_DMALLOC|fp_WITH_REGEX|fp_FUNC_FNMATCH|fp_PROG_INSTALL|fp_C_PROTOTYPES|jm_MAINTAINER_MODE|ud_GNU_GETTEXT)/)
        {
            &am_conf_line_error ($., "\`$1' is obsolete; use corresponding \`AM_' macro");
        }
@@ -3181,7 +3181,7 @@ sub scan_configure
        $am_c_prototypes = 1 if /AM_C_PROTOTYPES/;
 
        # Check for NLS support.
-       if (/ud_GNU_GETTEXT/)
+       if (/AM_GNU_GETTEXT/)
        {
            $seen_gettext = 1;
            $ac_gettext_line = $.;
index 1a83a33..78ab865 100644 (file)
@@ -48,7 +48,8 @@ by the Foundation.
 @titlepage
 @title GNU Automake
 @subtitle For version @value{VERSION}, @value{UPDATED}
-@c copyright page
+@author David MacKenzie and Tom Tromey
+
 @page
 @vskip 0pt plus 1filll
 Copyright @copyright{} 1995, 96 Free Software Foundation, Inc.
@@ -82,6 +83,11 @@ approved by the Free Software Foundation.
 @c Define an index of targets.
 @defcodeindex tr
 
+@c Put everything in one index (arbitrarily chosen to be the concept index).
+@syncodeindex cv cp
+@syncodeindex op cp
+@syncodeindex tr cp
+
 @ifinfo
 @node Top, Introduction, (dir), (dir)
 @comment  node-name,  next,  previous,  up
@@ -108,13 +114,12 @@ documents version @value{VERSION}.
 * Options::                     Changing Automake's behavior
 * Miscellaneous::               Miscellaneous rules
 * Gnits::                       The effect of --gnu and --gnits
+* Cygnus::                      The effect of --cygnus
 * Extending::                   Extending Automake
 * Distributing::                Distributing the Makefile.in
 * Examples::                    Some example packages
 * Future::                      Some ideas for the future
-* Variables::                   Index of variables
-* Configure variables::         Index of configure variables and macros
-* Targets::                     Index of targets
+* Index::                       General index
 @end menu
 
 @end ifinfo
@@ -129,7 +134,7 @@ definitions (with rules being thrown in occasionally).  The generated
 @file{Makefile.in}s are compliant with the GNU Makefile standards.
 
 The GNU Makefile Standards Document
-(@pxref{Makefile Conventions, , , standards.info, The GNU Coding Standards})
+(@pxref{Makefile Conventions, , , standards, The GNU Coding Standards})
 is long, complicated, and subject to change.  The goal of Automake is to
 remove the burden of Makefile maintenance from the back of the
 individual GNU maintainer (and put it on the back of the Automake
@@ -142,7 +147,7 @@ per directory of a project.
 
 Automake does constrain a project in certain ways; for instance it
 assumes that the project uses Autoconf
-(@pxref{Top, , The Autoconf Manual, autoconf.info, The Autoconf Manual}),
+(@pxref{Top, , The Autoconf Manual, autoconf, The Autoconf Manual}),
 and enforces certain restrictions on the @file{configure.in} contents.
 
 @code{Automake} requires @code{perl} in order to generate the
@@ -194,17 +199,21 @@ Tell Automake where the build directory is.  This option is used when
 including dependencies into a @file{Makefile.in} generated by @code{make
 dist}; it should not be used otherwise.
 
+@item --cygnus
+Causes the generated @file{Makefile.in}s to follow Cygnus rules, instead
+of GNU or Gnits rules.  @xref{Cygnus} for more information.
+
 @item --foreign
-Set the global strictness to @samp{foreign}.  @xref{Generalities} for
-more information.
+Set the global strictness to @samp{foreign}.  @xref{Strictness} for more
+information.
 
 @item --gnits
-Set the global strictness to @samp{gnits}.  @xref{Generalities} for
-more information.
+Set the global strictness to @samp{gnits}.  @xref{Gnits} for more
+information.
 
 @item --gnu
-Set the global strictness to @samp{gnu}.  @xref{Generalities} for
-more information.
+Set the global strictness to @samp{gnu}.  @xref{Gnits} for more
+information.
 
 @item --help
 Print a summary of the command line options and exit.
@@ -224,8 +233,8 @@ corresponding @file{Makefile.am}.  This option is used when making
 distributions.
 
 @item --srcdir-name=@var{dir}
-Tell Automake the name of the source directory used in the current
-build.  This option is used when including dependencies into a
+Tell Automake the name of the source directory associated with the
+current build.  This option is used when including dependencies into a
 @file{Makefile.in} generated by @code{make dist}; it should not be used
 otherwise.
 
@@ -396,7 +405,7 @@ should be installed.  These variables are named after the primary
 variables, but have a prefix indicating which standard directory should
 be used as the installation directory.  The standard directory names are
 given in the GNU standards
-(@pxref{Directory Variables, , , standards.info, The GNU Coding
+(@pxref{Directory Variables, , , standards, The GNU Coding
 Standards}).
 @code{automake} extends this list with @code{pkglibdir},
 @code{pkgincludedir}, and @code{pkgdatadir}; these are the same as the
@@ -646,7 +655,7 @@ This is required if any C++ source is included.
 
 @item AM_PROG_LIBTOOL
 Automake will turn on processing for @code{libtool} (@pxref{Top, , The
-Libtool Manual, libtool.info, The Libtool Manual}).
+Libtool Manual, libtool, The Libtool Manual}).
 @cvindex AM_PROG_LIBTOOL
 
 @item AC_PROG_YACC
@@ -675,12 +684,12 @@ named.
 This is required when using automatic de-ANSI-fication, see @ref{ANSI}.
 @cvindex AM_C_PROTOTYPES
 
-@item ud_GNU_GETTEXT
+@item AM_GNU_GETTEXT
 This macro is required for packages which use GNU gettext
 (@pxref{gettext}).  It is distributed with gettext.  If Automake sees
 this macro it ensures that the package meets some of gettext's
 requirements.
-@cvindex ud_GNU_GETTEXT
+@cvindex AM_GNU_GETTEXT
 
 @item AM_MAINTAINER_MODE
 This macro adds a @samp{--enable-maintainer-mode} option to
@@ -972,11 +981,11 @@ libcpio_a_LIBADD = @@LIBOBJS@@ @@ALLOCA@@
 @unnumberedsubsec Building Libraries with @code{libtool}
 
 The innovation used by GNU Libtool (@pxref{Top, , The Libtool Manual,
-libtool.info, The Libtool Manual}) is that libraries are programs.
+libtool, The Libtool Manual}) is that libraries are programs.
 
 So, if you have GNU Libtool and want to use it to build your libraries,
 you should use the @samp{lib_PROGRAMS} variable (@pxref{Using Automake,
-, Using Automake with Libtool, libtool.info, The Libtool Manual}).
+, Using Automake with Libtool, libtool, The Libtool Manual}).
 
 @node LIBOBJS
 @section Special handling for LIBOBJS and ALLOCA
@@ -1219,21 +1228,34 @@ in the current directory.
 
 When you decide to make a distribution, the @code{dist} target will
 @trindex dist
-re-run @code{automake} with the @samp{--include-deps} option.  This
-@c FIXME XREF?
-causes the previously generated dependencies to be inserted into the
-generated @file{Makefile.in}, and thus into the distribution.
-@samp{--include-deps} also turns off inclusion of the dependency
-generation code.
-
-This mode can be suppressed by putting @code{no-dependencies} in the
-variable @code{AUTOMAKE_OPTIONS}.
+re-run @code{automake} with @samp{--include-deps} and other options.
+This will cause the previously generated dependencies to be inserted
+into the generated @file{Makefile.in}, and thus into the distribution.
+This step also turns off inclusion of the dependency generation code.
+
+When added to the @file{Makefile.in}, the dependencies have all
+system-specific dependencies automatically removed.  This can be done by
+listing the files in @samp{OMIT_DEPENDENCIES}.
+@vindex OMIT_DEPENDENCIES
+For instance all references to system header files are removed by
+@code{automake}.  Sometimes it is useful to specify that a certain
+header file should be removed.  For instance if your @file{configure.in}
+uses @samp{AM_WITH_REGEX}, then any dependency on @file{rx.h} or
+@file{regex.h} should be removed, because the correct one cannot be
+known until the user configures the package.
+
+As it turns out, @code{automake} is actually smart enough to handle this
+particular case.  It will also automatically omit @file{libintl.h} if
+@samp{AM_GNU_GETTEXT} is used.
+
+Automatic dependency tracking can be suppressed by putting
+@code{no-dependencies} in the variable @code{AUTOMAKE_OPTIONS}.
 @vindex AUTOMAKE_OPTIONS
 @opindex no-dependencies
 
 If you unpack a distribution made by @code{make dist}, and you want to
-turn on the dependency-tracking code again, simply run @code{automake}
-with no arguments.
+turn on the dependency-tracking code again, simply re-run
+@code{automake}.
 
 
 @node Other objects
@@ -1368,10 +1390,10 @@ byte-compiling, simply define the variable @samp{ELCFILES} to be empty.
 @node gettext
 @section Gettext
 
-If @code{ud_GNU_GETTEXT} is seen in @file{configure.in}, then Automake
+If @code{AM_GNU_GETTEXT} is seen in @file{configure.in}, then Automake
 turns on support for GNU gettext, a message catalog system for
 internationalization
-(@pxref{GNU Gettext, , , gettext.info, GNU gettext utilities}).
+(@pxref{GNU Gettext, , , gettext, GNU gettext utilities}).
 
 The @code{gettext} support in Automake requires the addition of two
 subdirectories to the package, @file{intl} and @file{po}.  Automake
@@ -1461,7 +1483,7 @@ This can be prevented via the @code{no-installinfo} option.
 @section Man pages
 
 A package can also include man pages.  (Though see the GNU standards on
-this matter, @ref{Man Pages, , , standards.info, The GNU Coding
+this matter, @ref{Man Pages, , , standards, The GNU Coding
 Standards}.)  Man pages are declared using the @samp{MANS} primary.
 Generally the @code{man_MANS} macro is used.  Man pages are
 automatically installed in the correct subdirectory of @code{mandir},
@@ -1469,7 +1491,7 @@ based on the file extension.
 @vindex MANS
 @vindex man_MANS
 
-@c Use @samp{make install} per documentation: (texi.info)code.
+@c Use @samp{make install} per documentation: (texi)code.
 By default, man pages are installed by @samp{make install}.  However,
 since the GNU project does not require man pages, many maintainers do
 not expend effort to keep the man pages up to date.  In these cases, the
@@ -1816,6 +1838,48 @@ The file @file{THANKS} is required.
 @end itemize
 
 
+@node Cygnus
+@chapter The effect of --cygnus
+
+Cygnus Support has slightly different rules for how a @file{Makefile.in}
+is to be constructed.  Passing @samp{--cygnus} to @code{automake} will
+cause any generated @file{Makefile.in} to comply with Cygnus rules.
+
+Here are the precise effects of @samp{--cygnus}:
+
+@itemize @bullet
+@item
+Info files are always created in the build directory, and not in the
+source directory.
+
+@item
+@file{texinfo.tex} is not required if a Texinfo source file is
+specified.  The assumption is that the file will be supplied, but in a
+place that @code{automake} cannot find.  This assumption is an artifact
+of how Cygnus packages are typically bundled.
+
+@item
+@samp{make dist} will look for files in the build directory as well as
+the source directory.  This is required to support putting info files
+into the build directory.
+
+@item
+Certain tools will be searched for in the build tree as well as in the
+user's @samp{PATH}.  These tools are @code{runtest}, @code{expect},
+@code{makeinfo} and @code{texi2dvi}.
+
+@item
+@samp{--foreign} is implied.
+
+@item
+The options @samp{no-installinfo} and @samp{no-dependencies} are
+implied.
+
+@item
+The macro @samp{AM_MAINTAINER_MODE} is required.
+@end itemize
+
+
 @node Extending
 @chapter When Automake Isn't Enough
 
@@ -2205,22 +2269,10 @@ Support for automatically generating packages (eg Solaris packages, or
 RPM packages).
 @end itemize
 
-@node Variables
-@unnumbered Index of Variables
-
-@printindex vr
-
-
-@node Configure variables
-@unnumbered Index of Configure Variables and Macros
-
-@printindex cv
-
-
-@node Targets
-@unnumbered Index of Targets
-
-@printindex tr
+@node Index
+@unnumbered Index
 
+@printindex cp
 
+@contents
 @bye
index 6d473ec..cc28ebd 100644 (file)
@@ -1,3 +1,3 @@
-@set UPDATED 4 December 1996
+@set UPDATED 5 December 1996
 @set EDITION 1.1k
 @set VERSION 1.1k