Hi Karl,

thanks for the quick review!

* Karl Berry wrote on Fri, Mar 27, 2009 at 11:26:24PM CET:
> 
>     +* SUBDIRS vs DIST_SUBDIRS::     Two sets of directories
> 
> Probably a period after "vs", to match the @subsection name (and because
> this manual is (primarily?) in American English rather than British
> English).

What about this node in (texinfo)Node Line Requirements:

   * Unfortunately, you cannot use periods, commas, colons or
     parentheses within a node name; these confuse the Texinfo
     processors.  Perhaps this limitation will be removed some day, too.

In light of that, I haven't added a period here yet.
It seems to work with makeinfo 4.11.90 though.
Has this recently been fixed, and if yes, in which texinfo version?
Thanks.  I don't want to have to require a very recent one.

>     +* Non-configured Subdirectories::  Not even creating a @samp{Makefile}
> 
> I think "Unconfigured" would be somewhat more idiomatic English, unless
> I'm missing some subtle distinction you're making.

Nope, fixed throughout the manual.

>     +* The two Parts of Install::    Installing data and programs separately
> 
> two should be capitalized.

Fixed.

>     +...@node Subdirectories with AM_CONDITIONAL
>     +...@subsection Conditional Subdirectories with @code{AM_CONDITIONAL}
> 
> I am a fan of making the node name and sectioning name the same,
> wherever possible.  Overall, this makes it easier for the reader.  I
> think length of the node name is far less important.

But it will make the menus all ugly, no?  Anyway, I like this too.

> So in this case (and the following similar cases) I would either have
> the "Conditional" in both names, or neither.

I've removed it from both now, as well as the next node.

>     +...@node Required file ltmain.sh not found
>      @subsubsection @samp{required file `./ltmain.sh' not found}
> 
> Perhaps prepend the word "Error:" to both, and downcase "required" in
> the @node.

Again, what about colons which are disallowed in @node names, and
actually cause errors with this makeinfo version?

>     @subsubsection Objects @samp{created with both libtool and without}
> 
> Why @samp?  Is this more error message text?

Yes.

>     -...@subsection Third-party files
>     +...@subheading Third-party files
> 
> Files should be capitalized for consistency.  Probably something to
> check throughout ...

Done in all headings and node names.

>     +...@node Recommendations for Tools
>      @subsection Recommendations for Tool Writers
> 
> Again I'd make the two names the same.  In this case, the two versions
> even mean different things :).

Indeed.  Adjusted.

>     +* Future Directions for Dependencies::  Languages Automake does not know
>     ...
>     +...@node Future Directions for Dependencies
>      @subsection Future Directions for Automake's Dependency Tracking
> 
> I think the @subsection should be made the same as @node here.
> "Automake's" doesn't buy anything.

Agreed.

> That's an unusual description in the menu, but interesting :).

| * Future Directions for Dependencies::  Languages Automake does not know

What is unusual about it?

>     For example, one thing I don't like much with the result yet is that the
>     introductory chapter has a section about two-part install, and its name
>     is very similar to the section about two-part install later.
> 
> Can you send me the whole master menu after applying changes above as
> you see fit, and I'll look again?

Thanks, here you go.

Cheers,
Ralf

@menu
* Introduction::                Automake's purpose
* Autotools Introduction::      An Introduction to the Autotools
* Generalities::                General ideas
* Examples::                    Some example packages
* Invoking Automake::           Creating a Makefile.in
* configure::                   Scanning configure.ac or configure.in
* Directories::                 Declaring subdirectories
* Programs::                    Building programs and libraries
* Other objects::               Other derived objects
* Other GNU Tools::             Other GNU Tools
* Documentation::               Building documentation
* Install::                     What gets installed
* Clean::                       What gets cleaned
* Dist::                        What goes in a distribution
* Tests::                       Support for test suites
* Rebuilding::                  Automatic rebuilding of Makefile
* Options::                     Changing Automake's behavior
* Miscellaneous::               Miscellaneous rules
* Include::                     Including extra files in an Automake template
* Conditionals::                Conditionals
* Gnits::                       The effect of @option{--gnu} and 
@option{--gnits}
* Cygnus::                      The effect of @option{--cygnus}
* Not Enough::                  When Automake is not Enough
* Distributing::                Distributing the Makefile.in
* API versioning::              About compatibility between Automake versions
* Upgrading::                   Upgrading to a Newer Automake Version
* FAQ::                         Frequently Asked Questions
* History::                     Notes about the history of Automake
* Copying This Manual::         How to make copies of this manual
* Indices::                     Indices of variables, macros, and concepts

@detailmenu
 --- The Detailed Node Listing ---

An Introduction to the Autotools

* GNU Build System::            Introducing the GNU Build System
* Use Cases::                   Use Cases for the GNU Build System
* Why Autotools::               How Autotools Help
* Hello World::                 A Small Hello World Package

Use Cases for the GNU Build System

* Basic Installation::          Common installation procedure
* Standard Targets::            A list of standard Makefile targets
* Standard Directory Variables::  A list of standard directory variables
* Standard Configuration Variables::  Using configuration variables
* config.site::                 Using a config.site file
* VPATH Builds::                Parallel build trees
* Two-Part Install::            Installing data and programs separately
* Cross-Compilation::           Building for other architectures
* Renaming::                    Renaming programs at install time
* DESTDIR::                     Building binary packages with DESTDIR
* Preparing Distributions::     Rolling out tarballs
* Dependency Tracking::         Automatic dependency tracking
* Nested Packages::             The GNU Build Systems can be nested

A Small Hello World

* Creating amhello::            Create @file{amhello-1.0.tar.gz} from scratch
* amhello Explained::           @file{configure.ac} and @file{Makefile.am} 
explained

General ideas

* General Operation::           General operation of Automake
* Strictness::                  Standards conformance checking
* Uniform::                     The Uniform Naming Scheme
* Canonicalization::            How derived variables are named
* Length limitations::          Staying below the command line length limit
* User Variables::              Variables reserved for the user
* Auxiliary Programs::          Programs automake might require

Some example packages

* Complete::                    A simple example, start to finish
* true::                        Building true and false

Scanning @file{configure.ac}

* Requirements::                Configuration requirements
* Optional::                    Other things Automake recognizes
* Invoking aclocal::            Auto-generating aclocal.m4
* Macros::                      Autoconf macros supplied with Automake

Auto-generating aclocal.m4

* aclocal options::             Options supported by aclocal
* Macro search path::           How aclocal finds .m4 files
* Extending aclocal::           Writing your own aclocal macros
* Local Macros::                Organizing local macros
* Serials::                     Serial lines in Autoconf macros
* Future of aclocal::           aclocal's scheduled death

Autoconf macros supplied with Automake

* Public macros::               Macros that you can use.
* Obsolete macros::             Macros that you should stop using.
* Private macros::              Macros that you should not use.

Directories

* Subdirectories::              Building subdirectories recursively
* Conditional Subdirectories::  Conditionally not building directories
* Alternative::                 Subdirectories without recursion
* Subpackages::                 Nesting packages

Conditional Subdirectories

* SUBDIRS vs DIST_SUBDIRS::     Two sets of directories
* Subdirectories with AM_CONDITIONAL::  Specifying conditional subdirectories
* Subdirectories with AC_SUBST::  Another way for conditional recursion
* Unconfigured Subdirectories::  Not even creating a @samp{Makefile}

Building Programs and Libraries

* A Program::                   Building a program
* A Library::                   Building a library
* A Shared Library::            Building a Libtool library
* Program and Library Variables::  Variables controlling program and
                                library builds
* Default _SOURCES::            Default source files
* LIBOBJS::                     Special handling for LIBOBJS and ALLOCA
* Program variables::           Variables used when building a program
* Yacc and Lex::                Yacc and Lex support
* C++ Support::                 Compiling C++ sources
* Objective C Support::         Compiling Objective C sources
* Unified Parallel C Support::  Compiling Unified Parallel C sources
* Assembly Support::            Compiling assembly sources
* Fortran 77 Support::          Compiling Fortran 77 sources
* Fortran 9x Support::          Compiling Fortran 9x sources
* Java Support::                Compiling Java sources
* Support for Other Languages::  Compiling other languages
* ANSI::                        Automatic de-ANSI-fication (obsolete)
* Dependencies::                Automatic dependency tracking
* EXEEXT::                      Support for executable extensions

Building a program

* Program Sources::             Defining program sources
* Linking::                     Linking with libraries or extra objects
* Conditional Sources::         Handling conditional sources
* Conditional Programs::        Building program conditionally

Building a Shared Library

* Libtool Concept::             Introducing Libtool
* Libtool Libraries::           Declaring Libtool Libraries
* Conditional Libtool Libraries::  Building Libtool Libraries Conditionally
* Conditional Libtool Sources::  Choosing Library Sources Conditionally
* Libtool Convenience Libraries::  Building Convenience Libtool Libraries
* Libtool Modules::             Building Libtool Modules
* Libtool Flags::               Using _LIBADD, _LDFLAGS, and _LIBTOOLFLAGS
* LTLIBOBJS::                   Using $(LTLIBOBJS) and $(LTALLOCA)
* Libtool Issues::              Common Issues Related to Libtool's Use

Fortran 77 Support

* Preprocessing Fortran 77::    Preprocessing Fortran 77 sources
* Compiling Fortran 77 Files::  Compiling Fortran 77 sources
* Mixing Fortran 77 With C and C++::  Mixing Fortran 77 With C and C++

Mixing Fortran 77 With C and C++

* How the Linker is Chosen::    Automatic linker selection

Fortran 9x Support

* Compiling Fortran 9x Files::  Compiling Fortran 9x sources

Other Derived Objects

* Scripts::                     Executable scripts
* Headers::                     Header files
* Data::                        Architecture-independent data files
* Sources::                     Derived sources

Built sources

* Built sources example::       Several ways to handle built sources.

Other GNU Tools

* Emacs Lisp::                  Emacs Lisp
* gettext::                     Gettext
* Libtool::                     Libtool
* Java::                        Java
* Python::                      Python

Building documentation

* Texinfo::                     Texinfo
* Man pages::                   Man pages

Installation

* Basics of Installation::      What gets installed where
* The Two Parts of Install::    Installing data and programs separately
* Extending Installation::      Adding your own rules for installation
* Staged Installs::             Installation in a temporary location
* Install Rules for the User::  Useful additional rules

Distribution

* Basics of Distribution::      Files distributed by default
* Fine-grained Distribution Control::  @code{dist_} and @code{nodist_} prefixes
* The dist Hook::               A target for last-minute distribution changes
* Checking the Distribution::   @samp{make distcheck} explained
* The Types of Distributions::  A variety of formats and compression methods

Support for Test Suites

* Simple Tests::                Listing programs and scripts in @code{TESTS}
* Simple Tests using parallel-tests::  More powerful test driver
* DejaGnu Tests::               Interfacing with the external testing framework
* Install Tests::               Running tests on installed packages

Miscellaneous Rules

* Tags::                        Interfacing to etags and mkid
* Suffixes::                    Handling new file extensions
* Multilibs::                   Support for multilibs.

Conditionals

* Usage of Conditionals::       Declaring conditional content
* Limits of Conditionals::      Enclosing complete statements

When Automake Isn't Enough

* Extending::                   Adding new rules or overriding existing ones.
* Third-Party Makefiles::       Integrating Non-Automake @file{Makefile}s.

Frequently Asked Questions about Automake

* CVS::                         CVS and generated files
* maintainer-mode::             missing and AM_MAINTAINER_MODE
* wildcards::                   Why doesn't Automake support wildcards?
* Limitations on File Names::   Limitations on source and installed file names
* distcleancheck::              Files left in build directory after distclean
* Flag Variables Ordering::     CFLAGS vs.@: AM_CFLAGS vs.@: mumble_CFLAGS
* renamed objects::             Why are object files sometimes renamed?
* Per-Object Flags::            How to simulate per-object flags?
* Multiple Outputs::            Writing rules for tools with many output files
* Hard-Coded Install Paths::    Installing to Hard-Coded Locations

History of Automake

* Timeline::                    The Automake story.
* Dependency Tracking Evolution::  Evolution of Automatic Dependency Tracking
* Releases::                    Statistics about Automake Releases

Dependency Tracking Evolution

* First Take on Dependencies::  Precomputed dependency tracking
* Dependencies As Side Effects::  Update at developer compile time
* Dependencies for the User::   Update at user compile time
* Techniques for Dependencies:: Alternative approaches
* Recommendations for Tool Writers::  What tool writers can do to help
* Future Directions for Dependencies::  Languages Automake does not know

Copying This Manual

* GNU Free Documentation License::  License for copying this manual

Indices

* Macro Index::                 Index of Autoconf macros
* Variable Index::              Index of Makefile variables
* General Index::               General index

@end detailmenu
@end menu


Reply via email to