diff options
author | Ralf Wildenhues <Ralf.Wildenhues@gmx.de> | 2011-01-16 12:15:19 +0100 |
---|---|---|
committer | Ralf Wildenhues <Ralf.Wildenhues@gmx.de> | 2011-01-16 12:15:19 +0100 |
commit | 1456186dab6c7e9384aa54d113b2e1ad0aadc2dd (patch) | |
tree | ae79b61cb04c75d621e25502a9ad4b8ae60e698d | |
parent | f4f5bbe6f3094c3817efa63695844a5b1dca2ceb (diff) | |
parent | e5fb6dce45aae3a3bc403cd3f3e0d4e3babf2f75 (diff) | |
download | automake-1456186dab6c7e9384aa54d113b2e1ad0aadc2dd.tar.gz |
Merge branch 'maint'
-rw-r--r-- | ChangeLog | 29 | ||||
-rw-r--r-- | doc/automake.texi | 19 | ||||
-rwxr-xr-x | tests/parallel-tests.test | 5 | ||||
-rwxr-xr-x | tests/substref.test | 2 | ||||
-rwxr-xr-x | tests/txinfo.test | 1 | ||||
-rwxr-xr-x | tests/txinfo8.test | 7 |
6 files changed, 60 insertions, 3 deletions
@@ -1,3 +1,32 @@ +2011-01-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> + + Fix parallel-tests.test failure with HP-UX make. + * tests/parallel-tests.test: Sleep inside inner tests, so logs + are newer than logs of tests they depend on, for HP-UX make. + +2011-01-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> + + docs: ensure example are separated with empty lines in the input + * doc/automake.texi (Extending aclocal, Emacs Lisp, Rebuilding) + (API Versioning, Renamed Objects, Multiple Outputs): Add empty + lines before `@example' and after `@end example' lines, so info + output is rendered correctly, and a following @noindent honored. + Report by Stefano Lattarini. + +2011-01-15 Jim Meyering <meyering@redhat.com> + + tests: fix comment typo + * tests/substref.test: Fix grammar in a comment. + +2011-01-13 Stefano Lattarini <stefano.lattarini@gmail.com> + + tests: fix spurious failures in two texinfo tests + * tests/txinfo.test ($required): Add 'makeinfo'. + * tests/txinfo8.test: Create a dummy 'textutils.info' file, so + that make won't try to run makeinfo (which could be unavailable) + to build it. + Found by NixOS Hydra, reported by Ralf Wildenhues. + 2011-01-15 Stefano Lattarini <stefano.lattarini@gmail.com> Update docs w.r.t. warning and strictness options. diff --git a/doc/automake.texi b/doc/automake.texi index 51d73046d..9f66a9d79 100644 --- a/doc/automake.texi +++ b/doc/automake.texi @@ -3471,6 +3471,7 @@ not actually needed. Doing so should alleviate many problems of the current implementation, however it requires a stricter style from the macro authors. Hopefully it is easy to revise the existing macros. For instance, + @example # bad style AC_PREREQ(2.57) @@ -3480,8 +3481,10 @@ AX_FOO AX_BAR ]) @end example + @noindent should be rewritten as + @example AC_DEFUN([AX_FOOBAR], [AC_PREREQ([2.57])dnl @@ -7483,18 +7486,20 @@ installation less nice for everybody else. There are two ways to avoid byte-compiling. Historically, we have recommended the following construct. + @example lisp_LISP = file1.el file2.el ELCFILES = @end example + @noindent @code{ELCFILES} is an internal Automake variable that normally lists all @file{.elc} files that must be byte-compiled. Automake defines @code{ELCFILES} automatically from @code{lisp_LISP}. Emptying this variable explicitly prevents byte-compilation. -Since Automake 1.8, we now recommend using @code{lisp_DATA} instead. As -in +Since Automake 1.8, we now recommend using @code{lisp_DATA} instead: + @example lisp_DATA = file1.el file2.el @end example @@ -8967,9 +8972,11 @@ output in all them), so it is safer and easier to @code{AC_SUBST} them from @file{configure.ac}. For instance, the following statement will cause @file{configure} to be rerun each time @file{version.sh} is changed. + @example AC_SUBST([CONFIG_STATUS_DEPENDENCIES], ['$(top_srcdir)/version.sh']) @end example + @noindent Note the @samp{$(top_srcdir)/} in the file name. Since this variable is to be used in all @file{Makefile}s, its value must be sensible at @@ -8995,12 +9002,14 @@ Speaking of @file{version.sh} scripts, we recommend against them today. They are mainly used when the version of a package is updated automatically by a script (e.g., in daily builds). Here is what some old-style @file{configure.ac}s may look like: + @example AC_INIT . $srcdir/version.sh AM_INIT_AUTOMAKE([name], $VERSION_NUMBER) @dots{} @end example + @noindent Here, @file{version.sh} is a shell fragment that sets @code{VERSION_NUMBER}. The problem with this example is that @@ -9011,12 +9020,14 @@ to the user), and that it uses the obsolete form of @code{AC_INIT} and straightforward, because shell variables are not allowed in @code{AC_INIT}'s arguments. We recommend that @file{version.sh} be replaced by an M4 file that is included by @file{configure.ac}: + @example m4_include([version.m4]) AC_INIT([name], VERSION_NUMBER) AM_INIT_AUTOMAKE @dots{} @end example + @noindent Here @file{version.m4} could contain something like @samp{m4_define([VERSION_NUMBER], [1.2])}. The advantage of this @@ -10401,12 +10412,14 @@ older releases will not be used. For instance, use this in your @example AM_INIT_AUTOMAKE([1.6.1]) dnl Require Automake 1.6.1 or better. @end example + @noindent or, in a particular @file{Makefile.am}: @example AUTOMAKE_OPTIONS = 1.6.1 # Require Automake 1.6.1 or better. @end example + @noindent Automake will print an error message if its version is older than the requested version. @@ -11293,6 +11306,7 @@ true_CPPFLAGS = -DEXIT_CODE=0 false_SOURCES = generic.c false_CPPFLAGS = -DEXIT_CODE=1 @end example + @noindent Obviously the two programs are built from the same source, but it would be bad if they shared the same object, because @file{generic.o} @@ -11462,6 +11476,7 @@ data.c: data.foo data.h: data.foo data.c foo data.foo @end example + @noindent therefore a parallel @command{make} will have to serialize the builds of @file{data.c} and @file{data.h}, and will detect that the second is diff --git a/tests/parallel-tests.test b/tests/parallel-tests.test index 9a9c70392..da961e12a 100755 --- a/tests/parallel-tests.test +++ b/tests/parallel-tests.test @@ -39,14 +39,19 @@ foo.log: bar.log bar.log: baz.log END +# foo.test and bar.test sleep to ensure their logs are always strictly newer +# than the logs of their prerequisites, for HP-UX make. The quoting pleases +# maintainer-check. cat >>foo.test <<'END' #! /bin/sh echo "this is $0" +sleep '1' exit 0 END cat >>bar.test <<'END' #! /bin/sh echo "this is $0" +sleep '1' exit 99 END cat >>baz.test <<'END' diff --git a/tests/substref.test b/tests/substref.test index b45c8ab39..12f72e351 100755 --- a/tests/substref.test +++ b/tests/substref.test @@ -61,7 +61,7 @@ diff exp got # This is unrelated to the rest of this test. But while we are # at it, make sure we don't use am__helldl_SOURCES_DIST here, since -# it's not needed. DIST_SOURCES should contains $(helldl_SOURCES). +# it's not needed. DIST_SOURCES should contain $(helldl_SOURCES). grep am__helldl_SOURCES_DIST Makefile && Exit 1 grep 'DIST_SOURCES.*\$(helldl_SOURCES)' Makefile diff --git a/tests/txinfo.test b/tests/txinfo.test index cda39d266..3b7be7642 100755 --- a/tests/txinfo.test +++ b/tests/txinfo.test @@ -18,6 +18,7 @@ # Test to ensure texinfo.tex is included in distribution. Bug report by # Jim Meyering. +required=makeinfo . ./defs || Exit 1 cat >> configure.in <<'END' diff --git a/tests/txinfo8.test b/tests/txinfo8.test index 971e9edbd..74acc339f 100755 --- a/tests/txinfo8.test +++ b/tests/txinfo8.test @@ -51,6 +51,13 @@ $AUTOMAKE -a test -f auxdir/texinfo.tex ./configure + +# Create textutils.info by hand, so that we don't have to require +# makeinfo. Also ensure it's really newer than textutils.texi, so +# that make won't try to re-create it. +$sleep +: > textutils.info + $MAKE test1 test2 : |