automake-commit
[Top][All Lists]
Advanced

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

[Automake-commit] [SCM] GNU Automake branch, maint, updated. v1.13b-43-g


From: Stefano Lattarini
Subject: [Automake-commit] [SCM] GNU Automake branch, maint, updated. v1.13b-43-g873fed9
Date: Thu, 20 Jun 2013 09:38:24 +0000

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU Automake".

http://git.sv.gnu.org/gitweb/?p=automake.git;a=commitdiff;h=873fed9e417dbe87209910a6dad3477e05233829

The branch, maint has been updated
       via  873fed9e417dbe87209910a6dad3477e05233829 (commit)
       via  a9926a4cef6defb457218042bbed8784e5c47330 (commit)
       via  5fed69b66e6ccce2ebf65d8bdc9b2227f15f6f3c (commit)
       via  f387e513e36f2b7858befc4de6b41d7838d94482 (commit)
       via  3f1d7622a9a4c818d5d0b20d8a52c09754806d99 (commit)
       via  68ea9a2a2cd7822702d6d133530519b823b1f8ff (commit)
       via  f1d4efdd05ffd439110eae36477bab516361f7d6 (commit)
       via  9dd6d5f97d83bedcb33817ac2b64a0424d567385 (commit)
       via  3492f226311377857a54032e43e1a982e7d804bc (commit)
       via  5b4d68bc82c4fafbcf8b0580c707e0d1fd0d4c99 (commit)
       via  a7c00e1935726a32dca6871dd0f1b7eda28d0a5b (commit)
       via  90c69318b90f7d00013b4d4cbb3fbc1c469d2cec (commit)
       via  77247849e3df464fd68e6699a9ccfa0409162212 (commit)
       via  9367069c21859d9c3ce1b540fab05df91f1a82c4 (commit)
       via  5fd58b0a8234aa7d8aef3b25afdcf7198c2259b6 (commit)
      from  e4a0b83273e5c51a4f8d6877407e117c4746d8ed (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
-----------------------------------------------------------------------

Summary of changes:
 NEWS                                          |  150 +++++++++++++----------
 maintainer/maint.mk                           |    2 +-
 maintainer/rename-tests                       |   22 +++-
 t/ccnoco-deps.sh                              |    2 +-
 t/check5.sh                                   |    9 +-
 t/check7.sh                                   |    9 +-
 t/exeext.sh                                   |   35 +++---
 t/{extra2.sh => extra-sources-no-spurious.sh} |    0
 t/{exsource.sh => extra-sources.sh}           |    5 +-
 t/{lflags2.sh => lflags-cxx.sh}               |    8 +-
 t/lflags.sh                                   |    6 +-
 t/list-of-tests.mk                            |    9 +-
 t/pluseq10.sh                                 |    8 +-
 t/preproc-demo.sh                             |    3 +-
 t/subst-no-trailing-empty-line.sh             |   24 ++--
 t/txinfo-include.sh                           |  164 +++++++++++++++++++++++++
 t/{yflags2.sh => yflags-cxx.sh}               |    8 +-
 t/yflags-force-override.sh                    |    2 +-
 t/yflags.sh                                   |    6 +-
 19 files changed, 333 insertions(+), 139 deletions(-)
 rename t/{extra2.sh => extra-sources-no-spurious.sh} (100%)
 rename t/{exsource.sh => extra-sources.sh} (97%)
 rename t/{lflags2.sh => lflags-cxx.sh} (92%)
 create mode 100644 t/txinfo-include.sh
 rename t/{yflags2.sh => yflags-cxx.sh} (92%)

diff --git a/NEWS b/NEWS
index 1cc00a4..39ad7a3 100644
--- a/NEWS
+++ b/NEWS
@@ -1,23 +1,24 @@
 * WARNING: New versioning scheme for Automake.
 
-  - Starting with this version onward, Automake will use an update and
-    more rational versioning scheme, one that will allow users to know
-    which kind of changes can be expected from a new version, based on
-    its version number.
-
-    + Micro versions (e.g., 1.13.3, 2.0.1, 3.2.8) will introduce only
-      documentation updates and bug and regression fixes; they will
-      not introduce new features, nor any backward-incompatibility (any
+  - Beginning with the release 1.13.2, Automake has started to use a
+    more rational versioning scheme, that should allow users to know
+    which kind of changes can be expected from a new version, based
+    on its version number.
+
+    + Micro releases (e.g., 1.13.3, 2.0.1, 3.2.8) introduce only bug
+      and regression fixes and documentation updates; they should not
+      introduce new features, nor any backward-incompatibility (any
       such incompatibility would be considered a bug, to be fixed with
       a further micro release).
 
-    + Minor versions (e.g., 1.14, 2.1) can introduce new backward
+    + Minor releases (e.g., 1.14, 2.1) can introduce new backward
       compatible features; the only backward-incompatibilities allowed
       in such a release are new *non-fatal* deprecations and warnings,
       and possibly fixes for old or non-trivial bugs (or even inefficient
-      behaviours) that could unfortunately have been seen, and used, by
-      some developers as "corner case features".  Possible disruptions
-      caused by this kind of fixes should hopefully be quite rare.
+      behaviours) that could unfortunately have been seen and used by
+      some as "corner case features".  Possible disruptions caused by
+      this kind of fixes should hopefully be quite rare, and their
+      effects limited in scope.
 
     + Major versions (now expected to be released every 18 or 24 months,
       and not more often) can introduce new big features (possibly with
@@ -29,26 +30,36 @@
       should be duly implemented in the preceding minor releases.
 
   - According to this new scheme, the next major version of Automake
-    (the one that has until now been labelled as '1.14') will actually
-    become "Automake 2.0".  Automake 1.14 will be the next minor version,
-    which will introduce new features, deprecations and bug fixes, but
-    no serious backward incompatibility.
+    (the one that had previously been labelled as "1.14") will actually
+    become "Automake 2.0".  Automake 1.14 is *this* release (which is
+    a minor one).  It introduces new features, deprecations and bug
+    fixes, but no serious backward incompatibility.  A partial exception
+    is given by the behavioural changes in the AM_PROG_CC_C_O macro
+    (described in details below) but such changes can also be seen as a
+    fix for the old suboptimal and somewhat confusing behaviour.
 
   - See discussion about automake bug#13578 for more details and
     background: <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=13578>
 
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
 * WARNING: Future backward-incompatibilities!
 
   - Makefile recipes generated by Automake 2.0 will expect to use an
     'rm' program that doesn't complain when called without any non-option
     argument if the '-f' option is given (so that commands like "rm -f"
     and "rm -rf" will act as a no-op, instead of raising usage errors).
-    Accordingly, AM_INIT_AUTOMAKE will expand new shell code checking
-    that the default 'rm' program in PATH satisfies this requirement, and
-    aborting the configure process if this is not the case.  This behavior
-    of 'rm' is very widespread in the wild, and it will be required in the
-    next POSIX version:
-    <http://austingroupbugs.net/view.php?id=542>
+    This behavior of 'rm' is very widespread in the wild, and it will be
+    required in the next POSIX version:
+
+      <http://austingroupbugs.net/view.php?id=542>
+
+    Accordingly, AM_INIT_AUTOMAKE now expands some shell code that checks
+    that the default 'rm' program in PATH satisfies this requirement,
+    aborting the configure process if this is not the case.  For the
+    moment, it's still possible to force the configuration process to
+    succeed even with a broken 'rm', that that will no longer be the case
+    for Automake 2.0.
 
   - Automake 2.0 will require Autoconf 2.70 or later (which is still
     unreleased at the moment of writing, but is planned to be released
@@ -58,11 +69,12 @@
     name for the Autoconf input file.  You are advised to start using the
     recommended name 'configure.ac' instead, ASAP.
 
-  - The ACLOCAL_AMFLAGS special make variable will be fully deprecated
-    in Automake 2.0 (where it will raise warnings in the "obsolete"
-    category).  You are advised to start relying on the new Automake
-    support for AC_CONFIG_MACRO_DIRS instead (which was introduced in
-    Automake 1.13).
+  - The ACLOCAL_AMFLAGS special make variable will be fully deprecated in
+    Automake 2.0: it will raise warnings in the "obsolete" category (but
+    still no hard error of course, for compatibilities with the many, many
+    packages that still relies on that variable).  You are advised to
+    start relying on the new Automake support for AC_CONFIG_MACRO_DIRS
+    instead (which was introduced in Automake 1.13).
 
   - Automake 2.0 will remove support for automatic dependency tracking
     with the SGI C/C++ compilers on IRIX.  The SGI depmode has been
@@ -78,7 +90,11 @@
     versions will continue to be fully supported.
 
   - Automake-provided scripts and makefile recipes might (finally!)
-    start assuming a POSIX shell in Automake 2.0.
+    start assuming a POSIX shell in Automake 2.0.  There still is no
+    certainty about this though: we'd first like to wait and see
+    whether future Autoconf versions will be enhanced to guarantee
+    that such a shell is always found and provided by the checks in
+    ./configure.
 
   - Starting from Automake 2.0, third-party m4 files located in the
     system-wide aclocal directory, as well as in any directory listed
@@ -95,44 +111,45 @@ New in 1.14:
 
 * C compilation, and the AC_PROG_CC and AM_PROG_CC_C_O macros:
 
-  - The 'compile' script is now unconditionally required for all
-    packages that perform C compilation (note that if you are using
-    the '--add-missing' option, automake will fetch that script for
-    you, so you shouldn't need any explicit adjustment).
-    This new behaviour is needed to avoid obscure errors when the
-    'subdir-objects' option is used, and the compiler is an inferior
-    one that doesn't grasp the combined use of both the "-c -o"
-    options; see discussion about automake bug#13378 for more details:
+  - The 'compile' script is now unconditionally required for all packages
+    that perform C compilation (if you are using the '--add-missing'
+    option, automake will fetch that script for you, so you shouldn't
+    need any explicit adjustment).  This new behaviour is needed to avoid
+    obscure errors when the 'subdir-objects' option is used, and the
+    compiler is an inferior one that doesn't grasp the combined use of
+    both the "-c -o" options; see discussion about automake bug#13378 for
+    more details:
     <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=13378#35>
     <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=13378#44>
 
-  - The next major Automake version (2.0) will unconditionally turn on
+  - The next major Automake version (2.0) will unconditionally activate
     the 'subdir-objects' option.  In order to smooth out the transition,
     we now give a warning (in the category 'unsupported') whenever a
     source file is present in a subdirectory but the 'subdir-object' is
     not enabled.  For example, the following usage will trigger such a
-    warning (of course, assuming the 'subdir-objects' option is off):
+    warning:
 
         bin_PROGRAMS = sub/foo
         sub_foo_SOURCES = sub/main.c sub/bar.c
 
-  - Automake will automatically enhance the AC_PROG_CC autoconf macro
-    to make it check, at configure time, that the C compiler supports
-    the combined use of both the "-c -o" options.  The result of this
-    check is saved in the cache variable 'am_cv_prog_cc_c_o', and said
-    result can be overridden by pre-defining that variable.
+  - Automake will automatically enhance the autoconf-provided macro
+    AC_PROG_CC to force it to check, at configure time, that the
+    C compiler supports the combined use of both the '-c' and '-o'
+    options.  The result of this check is saved in the cache variable
+    'am_cv_prog_cc_c_o', and said result can be overridden by
+    pre-defining that variable.
 
-  - The AM_PROG_CC_C_O can still be called, but that should no longer
-    be necessary. This macro is now just a thin wrapper around the
+  - The AM_PROG_CC_C_O macro can still be called, albeit that should no
+    longer be necessary. This macro is now just a thin wrapper around the
     Automake-enhanced AC_PROG_CC.  This means, among the other things,
     that its behaviour is changed in three ways:
 
       1. It no longer invokes the Autoconf-provided AC_PROG_CC_C_O
-         macros behind the scenes.
+         macro behind the scenes.
 
-      2. It caches the check result in the 'am_cv_prog_cc_c_o'variable,
-         and not in a 'ac_cv_prog_cc_*_c_o' variable whose exact name
-         in only dynamically computed at configure runtime (sic!) from
+      2. It caches the check result in the 'am_cv_prog_cc_c_o' variable,
+         and not in a 'ac_cv_prog_cc_*_c_o' variable whose exact name is
+         dynamically computed only at configure runtime (really!) from
          the content of the '$CC' variable.
 
       3. It no longer automatically AC_DEFINE the C preprocessor
@@ -149,10 +166,10 @@ New in 1.14:
 
   - For quite a long time, Automake has been implementing an undocumented
     hack which ensured that '.info' files which appeared to be cleaned
-    (by e.g. being listed in the CLEANFILES or DISTCLEANFILES variables)
-    were built in the builddir rather than in the srcdir; this hack was
-    introduced to ensure better backward-compatibility with packages such
-    as Texinfo, which did things like:
+    (by being listed in the CLEANFILES or DISTCLEANFILES variables) were
+    built in the builddir rather than in the srcdir; this hack was
+    introduced to ensure better backward-compatibility with package
+    such as Texinfo, which do things like:
 
         info_TEXINFOS = texinfo.txi info-stnd.texi info.texi
         DISTCLEANFILES = texinfo texinfo-* info*.info*
@@ -172,19 +189,27 @@ New in 1.14:
   - The special Automake-time substitutions '%reldir%' and '%canon_reldir%'
     (and their short versions, '%D%' and '%C%' respectively) can now be used
     in an included Makefile fragment.  The former is substituted with the
-    relative directory of the included fragment (compared to the top level
+    relative directory of the included fragment (compared to the top-level
     including Makefile), and the latter with the canonicalized version of
-    the same relative directory:
+    the same relative directory.
+
+        # in 'Makefile.am':
+        bin_PROGRAMS = # will be updated by included Makefile fragments
+        include src/Makefile.inc
 
+        # in 'src/Makefile.inc':
         bin_PROGRAMS += %reldir%/foo
         %canon_reldir%_foo_SOURCES = %reldir%/bar.c
 
+    This should be especially useful for packages using a non-recursive
+    build system.
+
 * Deprecated distribution formats:
 
   - The 'shar' and 'compress' distribution formats are deprecated, and
     scheduled for removal in Automake 2.0.  Accordingly, the use of the
     'dist-shar' and 'dist-tarZ' will cause warnings at automake runtime
-    (in the 'obsolete' category), and the recipes for the Automake-generated
+    (in the 'obsolete' category), and the recipes of the Automake-generated
     targets 'dist-shar' and 'dist-tarZ' will unconditionally display
     (non-fatal) warnings at make runtime.
 
@@ -193,13 +218,12 @@ New in 1.14:
   - To simplify transition to Automake 2.0, the shell code expanded by
     AM_INIT_AUTOMAKE now checks (at configure runtime) that the default
     'rm' program in PATH doesn't complain when called without any
-    non-option argument if the '-f' option is given (so that commands
-    like "rm -f" and "rm -rf" act as a no-op, instead of raising usage
-    error).  If this is not the case,
-    the configure script is aborted, to call the attention of the user
-    on the issue, and invite him to fix his PATH.  The checked 'rm'
-    behavior is very widespread in the wild, and will be required by
-    future POSIX version:
+    non-option argument if the '-f' option is given (so that commands like
+    "rm -f" and "rm -rf" act as a no-op, instead of raising usage errors).
+    If this is not the case, the configure script is aborted, to call the
+    attention of the user on the issue, and invite him to fix his PATH.
+    The checked 'rm' behavior is very widespread in the wild, and will be
+    required by future POSIX versions:
 
         <http://austingroupbugs.net/view.php?id=542>
 
diff --git a/maintainer/maint.mk b/maintainer/maint.mk
index e46b6db..d180b09 100644
--- a/maintainer/maint.mk
+++ b/maintainer/maint.mk
@@ -566,7 +566,7 @@ check-minimal-autoconf:
          && autoconf --version | sed -e 's/^/ /; s/$$/ /' -e 1q \
               | $(FGREP) '$(ac-v)' >/dev/null \
          && echo === configure \
-         && ./configure $(shell ./config.status --config) \
+         && $(srcdir)/configure $(shell ./config.status --config) \
          && echo === build and test \
          && $(MAKE) check
 .PHONY: check-minimal-autoconf
diff --git a/maintainer/rename-tests b/maintainer/rename-tests
index 28963fa..ca65e34 100755
--- a/maintainer/rename-tests
+++ b/maintainer/rename-tests
@@ -19,6 +19,8 @@
 set -e -u
 
 me=${0##*/}
+msg_file=$me.git-msg
+
 fatal () { echo "$me: $*" >&2; exit 1; }
 
 case $# in
@@ -36,18 +38,19 @@ SED=${SED-sed}
 $SED --version 2>&1 | grep GNU >/dev/null 2>&1 \
   || fatal "GNU sed is required by this script"
 
-# Validate and cleanup input.
+# Input validation and cleanup.
 input=$(
-  $AWK -v me="$me" "
+  $AWK -v me="$me" '
     /^#/ { next; }
     (NF == 0) { next; }
-    (NF != 2) { print me \": wrong number of fields at line \" NR;
+    (NF != 2) { print me ": wrong number of fields at line " NR;
                 exit(1); }
-    { printf (\"t/%s t/%s\\n\", \$1, \$2); }
-  " <<<"$input")
+    { printf ("t/%s t/%s\n", $1, $2); }
+  ' <<<"$input"
+) || exit $?
 
 # Prepare git commit message.
-exec 5>$me.git-msg
+exec 5>"$msg_file"
 echo "tests: more significant names for some tests" >&5
 echo >&5
 $AWK >&5 <<<"$input" \
@@ -58,10 +61,15 @@ exec 5>&-
 eval "$($AWK '{ printf ("git mv %s %s\n", $1, $2) }' <<<"$input")"
 
 # Adjust the list of tests (do this conditionally, since such a
-# list is not required nor used in Automake-NG.
+# list is not required nor used in Automake-NG).
 if test -f t/list-of-tests.mk; then
   $SED -e "$($AWK '{ printf ("s|^%s |%s |\n", $1, $2) }' <<<"$input")" \
        -i t/list-of-tests.mk
+  git add t/list-of-tests.mk
 fi
 
 git status
+echo
+echo "NOTICE: pre-filled commit message is in file '$msg_file'"
+
+exit 0
diff --git a/t/ccnoco-deps.sh b/t/ccnoco-deps.sh
index d4931d5..5d9e9b8 100755
--- a/t/ccnoco-deps.sh
+++ b/t/ccnoco-deps.sh
@@ -42,7 +42,7 @@ check-deps: all
        grep 'stdio\.h' $(DEPDIR)/foo.Po
        grep 'foobar\.h' $(DEPDIR)/foo.Po
 check-updated: all
-       is_newest foo foobar.h
+       is_newest foo$(EXEEXT) foobar.h
 END
 
 # We deliberately don't invoke AM_PROG_CC_C_O here.
diff --git a/t/check5.sh b/t/check5.sh
index 738b3a1..5351ff8 100644
--- a/t/check5.sh
+++ b/t/check5.sh
@@ -32,9 +32,8 @@ check-local:
        test -f one$(EXEEXT)
        test -f two$(EXEEXT)
        touch ok
-.PHONY: print-tests
-print-tests:
-       echo BEG: $(TESTS) :END
+expect-tests:
+       is $(TESTS) == one$(EXEEXT) two$(EXEEXT)
 END
 
 $ACLOCAL
@@ -52,8 +51,8 @@ cp one.c two.c
 ./configure
 $MAKE check
 test -f ok
-run_make -O EXEEXT=.bin print-tests
-$FGREP 'BEG: one.bin two.bin :END' stdout
+run_make expect-tests
+run_make expect-tests EXEEXT=.bin
 # No am__EXEEXT_* variable is needed.
 grep '_EXEEXT_[1-9]' Makefile.in && exit 1
 $FGREP 'TESTS = $(check_PROGRAMS)' Makefile.in
diff --git a/t/check7.sh b/t/check7.sh
index 1dd918b..5d3cd58 100644
--- a/t/check7.sh
+++ b/t/check7.sh
@@ -32,9 +32,8 @@ check_PROGRAMS = a c d
 check_SCRIPTS = b
 EXTRA_DIST = $(check_SCRIPTS)
 
-.PHONY: print-xfail-tests
-print-xfail-tests:
-       @echo BEG: $(XFAIL_TESTS) :END
+expect-xfail-tests:
+       is $(XFAIL_TESTS) == a$(EXEEXT) b c$(EXEEXT) d$(EXEEXT)
 END
 
 cat > b <<'END'
@@ -60,8 +59,8 @@ $AUTOMAKE -a
 
 ./configure
 $MAKE check
-run_make -O EXEEXT=.bin print-xfail-tests
-$FGREP 'BEG: a.bin b c.bin d.bin :END' stdout
+run_make expect-xfail-tests
+run_make expect-xfail-tests EXEEXT=.bin
 
 $MAKE distcheck
 
diff --git a/t/exeext.sh b/t/exeext.sh
index 7290233..414108d 100644
--- a/t/exeext.sh
+++ b/t/exeext.sh
@@ -32,7 +32,6 @@ AC_OUTPUT
 END
 
 cat > Makefile.am << 'END'
-## Use a different dir for each to make grep easy.
 bin_PROGRAMS = maude
 sbin_PROGRAMS = maude.static
 ## We don't define this one for now.  Probably it is an error.
@@ -46,11 +45,17 @@ if WANT_RMT
   libexec_PROGRAMS = rmt
 endif
 
-print:
-       @echo 1BEG: $(bin_PROGRAMS) :END1
-       @echo 2BEG: $(sbin_PROGRAMS) :END2
-       @echo 3BEG: $(check_PROGRAMS) :END3
-       @echo 4BEG: $(libexec_PROGRAMS) :END4
+test-default:
+       is $(bin_PROGRAMS)      ==  maude$(EXEEXT) mt$(EXEEXT)
+       is $(sbin_PROGRAMS)     ==  maude.static$(EXEEXT)
+       is $(check_PROGRAMS)    ==  maude3$(EXEEXT)
+       is $(libexec_PROGRAMS)  ==  rmt$(EXEEXT)
+
+test-revert:
+       is $(bin_PROGRAMS)      ==  maude$(EXEEXT)
+       is $(sbin_PROGRAMS)     ==  maude.static$(EXEEXT)
+       is $(check_PROGRAMS)    ==  maude3$(EXEEXT)
+       is $(libexec_PROGRAMS)  ==
 END
 
 $ACLOCAL
@@ -68,21 +73,11 @@ test $(grep -c '^bin_PROGRAMS =' Makefile.in) -eq 1
 grep 'maude3__EXEEXT__OBJECTS' Makefile.in && exit 1
 
 ./configure
-
-run_make -O EXEEXT=.foo print
-
-grep '1BEG: maude.foo mt.foo :END1' stdout
-grep '2BEG: maude.static.foo :END2' stdout
-grep '3BEG: maude3.foo :END3' stdout
-grep '4BEG: rmt.foo :END4' stdout
+run_make test-default
+run_make test-default EXEEXT=.foo
 
 ./configure revert=yes
-
-run_make -O EXEEXT=.foo print
-
-grep '1BEG: maude.foo :END1' stdout
-grep '2BEG: maude.static.foo :END2' stdout
-grep '3BEG: maude3.foo :END3' stdout
-grep '4BEG: :END4' stdout
+run_make test-revert
+run_make test-revert EXEEXT=.foo
 
 :
diff --git a/t/extra2.sh b/t/extra-sources-no-spurious.sh
similarity index 100%
rename from t/extra2.sh
rename to t/extra-sources-no-spurious.sh
diff --git a/t/exsource.sh b/t/extra-sources.sh
similarity index 97%
rename from t/exsource.sh
rename to t/extra-sources.sh
index 3986562..6f98766 100644
--- a/t/exsource.sh
+++ b/t/extra-sources.sh
@@ -28,10 +28,9 @@ EXTRA_www_SOURCES = xtra.c
 www_LDADD = @extra_stuff@
 END
 
-: > www.c
-: > xtra.c
-
 $ACLOCAL
 $AUTOMAKE
 
 grep '@am__include@ .*/xtra\.P' Makefile.in
+
+:
diff --git a/t/lflags2.sh b/t/lflags-cxx.sh
similarity index 92%
rename from t/lflags2.sh
rename to t/lflags-cxx.sh
index bcc42c7..6dbf163 100644
--- a/t/lflags2.sh
+++ b/t/lflags-cxx.sh
@@ -15,9 +15,11 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # Check that $(LFLAGS) takes precedence over both $(AM_LFLAGS) and
-# $(foo_LFLAGS).
-# Please keep this in sync with the sister tests lflags.sh, yflags.sh
-# and yflags2.sh.
+# $(foo_LFLAGS).  This is the C++ case.
+# Please keep this in sync with the sister tests:
+#  - lflags.sh
+#  - yflags.sh
+#  - yflags-cxx.sh
 
 . test-init.sh
 
diff --git a/t/lflags.sh b/t/lflags.sh
index a7a5927..0d630ad 100644
--- a/t/lflags.sh
+++ b/t/lflags.sh
@@ -16,8 +16,10 @@
 
 # Check that $(LFLAGS) takes precedence over both $(AM_LFLAGS) and
 # $(foo_LFLAGS).
-# Please keep this in sync with the sister tests lflags2.sh, yflags.sh
-# and yflags2.sh.
+# Please keep this in sync with the sister tests:
+#  - lflags-cxx.sh
+#  - yflags.sh
+#  - yflags-cxx.sh
 
 required=cc
 . test-init.sh
diff --git a/t/list-of-tests.mk b/t/list-of-tests.mk
index d4d1fda..9069b08 100644
--- a/t/list-of-tests.mk
+++ b/t/list-of-tests.mk
@@ -443,12 +443,12 @@ t/exeext.sh \
 t/exeext2.sh \
 t/exeext3.sh \
 t/exeext4.sh \
-t/exsource.sh \
+t/extra-sources.sh \
 t/ext.sh \
 t/ext2.sh \
 t/ext3.sh \
 t/extra.sh \
-t/extra2.sh \
+t/extra-sources-no-spurious.sh \
 t/extra-data.sh \
 t/extra-dist-vpath-dir.sh \
 t/extra-dist-dirs-and-subdirs.sh \
@@ -591,7 +591,7 @@ t/lex-line.sh \
 t/lex-nodist.sh \
 t/lex-pr204.sh \
 t/lflags.sh \
-t/lflags2.sh \
+t/lflags-cxx.sh \
 t/libexec.sh \
 t/libobj-basic.sh \
 t/libobj2.sh \
@@ -1191,6 +1191,7 @@ t/txinfo-builddir.sh \
 t/txinfo-clean.sh \
 t/txinfo-dvi-recurs.sh \
 t/txinfo-info-in-srcdir.sh \
+t/txinfo-include.sh \
 t/txinfo-makeinfo-error-no-clobber.sh \
 t/txinfo-many-output-formats.sh \
 t/txinfo-many-output-formats-vpath.sh \
@@ -1295,7 +1296,7 @@ t/yacc-pr204.sh \
 t/yacc-subdir.sh \
 t/yacc-weirdnames.sh \
 t/yflags.sh \
-t/yflags2.sh \
+t/yflags-cxx.sh \
 t/yflags-cmdline-override.sh \
 t/yflags-conditional.sh \
 t/yflags-d-false-positives.sh \
diff --git a/t/pluseq10.sh b/t/pluseq10.sh
index c80d23a..deed6e3 100644
--- a/t/pluseq10.sh
+++ b/t/pluseq10.sh
@@ -38,9 +38,8 @@ foo += b0.h \
   b1.h
 endif
 
-.PHONY: print
-print:
-       @echo BEG: $(foo) :END
+test:
+       is $(foo) == 0.h a0.h a1.h a2.h a3.h
 END
 
 $ACLOCAL
@@ -48,7 +47,6 @@ $AUTOCONF
 $AUTOMAKE
 
 ./configure
-run_make -O print
-$FGREP 'BEG: 0.h a0.h a1.h a2.h a3.h :END' stdout
+$MAKE test
 
 :
diff --git a/t/preproc-demo.sh b/t/preproc-demo.sh
index 1f29057..8d16e92 100644
--- a/t/preproc-demo.sh
+++ b/t/preproc-demo.sh
@@ -142,7 +142,6 @@ END
 cat > lib/tests/gnulib-check.am <<'END'
 check_PROGRAMS += %D%/safe-print-test
 TESTS += $(check_PROGRAMS)
-AM_TESTS_ENVIRONMENT += EXEEXT='$(EXEEXT)'; export EXEEXT;
 END
 
 cat > lib/tests/safe-print-test.c <<'END'
@@ -161,6 +160,8 @@ cat > tests/check.am <<'END'
 TEST_EXTENSIONS = .sh
 SH_LOG_COMPILER = $(SHELL)
 
+AM_TESTS_ENVIRONMENT += EXEEXT='$(EXEEXT)'; export EXEEXT;
+
 handwritten_TESTS = \
   %D%/hello.sh \
   %D%/built.sh
diff --git a/t/subst-no-trailing-empty-line.sh 
b/t/subst-no-trailing-empty-line.sh
index 5097f5f..b057d95 100644
--- a/t/subst-no-trailing-empty-line.sh
+++ b/t/subst-no-trailing-empty-line.sh
@@ -58,10 +58,15 @@ check_PROGRAMS = zardoz \$(noinst_PROGRAMS)
 ## PROGRAMS primary, otherwise automake will complain.
 EXTRA_PROGRAMS =
 
-print-programs:
-       @echo BEG1: \$(noinst_PROGRAMS) :END1
-       @echo BEG2: \$(bin_PROGRAMS) :END2
-       @echo BEG3: \$(check_PROGRAMS) :END3
+test-real-empty:
+       is \$(noinst_PROGRAMS) == x
+       is \$(bin_PROGRAMS)    ==
+       is \$(check_PROGRAMS)  == zardoz x
+
+test-fake-empty:
+       is \$(noinst_PROGRAMS) == x X
+       is \$(bin_PROGRAMS)    == X
+       is \$(check_PROGRAMS)  == zardoz x X
 END
 
 $ACLOCAL
@@ -82,14 +87,7 @@ test $($EGREP -c "^[ address@hidden@ @address@hidden 
$tab]*$bs?$" Makefile.in) -eq 3
 cat t-programs
 grep '^ *$' t-programs && exit 1
 
-run_make -O print-programs
-grep '^BEG1: x :END1$' stdout
-grep '^BEG2: :END2$' stdout
-grep '^BEG3: zardoz x :END3$' stdout
-
-run_make -O am__empty=X print-programs
-grep '^BEG1: x X :END1$' stdout
-grep '^BEG2: X :END2$' stdout
-grep '^BEG3: zardoz x X :END3$' stdout
+run_make test-real-empty
+run_make test-fake-empty am__empty=X
 
 :
diff --git a/t/txinfo-include.sh b/t/txinfo-include.sh
new file mode 100644
index 0000000..5bb8963
--- /dev/null
+++ b/t/txinfo-include.sh
@@ -0,0 +1,164 @@
+#! /bin/sh
+# Copyright (C) 2012-2013 Free Software Foundation, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+# Texinfo input files using @include directives.  Check both in-tree
+# and VPATH builds, and both top-level and subdir input.
+
+required='makeinfo tex texi2dvi'
+. test-init.sh
+
+echo AC_OUTPUT >> configure.ac
+
+cat > Makefile.am << 'END'
+info_TEXINFOS = main.texi sub/more.texi
+main_TEXINFOS = one.texi two.texi three.texi
+sub_more_TEXINFOS = sub/desc.texi sub/hist.texi
+END
+
+cat > main.texi << 'END'
+\input texinfo
address@hidden main.info
address@hidden main
address@hidden
address@hidden Top
address@hidden GNU dummy.
address@hidden
+* one::   Chapter one
+* two::   Chapter two
+* three:: Chapter three
address@hidden menu
address@hidden ifnottex
address@hidden one.texi
address@hidden two.texi
address@hidden three.texi
address@hidden
+END
+
+cat > one.texi << 'END'
address@hidden one
address@hidden Chapter one
+Foo bar, baz.
+END
+
+cat > two.texi << 'END'
address@hidden two
address@hidden Chapter two
+Blah Blah Blah.
+END
+
+cat > three.texi << 'END'
address@hidden three
address@hidden Chapter two
+GNU's Not Unix.
+END
+
+mkdir sub
+
+cat > sub/more.texi << 'END'
+\input texinfo
address@hidden more.info
address@hidden main
address@hidden
address@hidden Top
address@hidden GNU more.
address@hidden
+* desc:: Description of this program
+* hist:: History of this program
address@hidden menu
address@hidden ifnottex
address@hidden desc.texi
address@hidden hist.texi
address@hidden
+END
+
+cat > sub/desc.texi << 'END'
address@hidden desc
address@hidden Description of this program
+It does something, really.
+END
+
+cat > sub/hist.texi << 'END'
address@hidden hist
address@hidden History of this program
+It was written somehow.
+END
+
+cat > exp << 'END'
+./main.info
+./sub/more.info
+END
+
+check_info_contents ()
+{
+  srcdir=${1-.}
+  $FGREP "Foo bar, baz."                        $srcdir/main.info
+  $FGREP "Blah Blah Blah."                      $srcdir/main.info
+  $FGREP "GNU's Not Unix."                      $srcdir/main.info
+  $FGREP 'It does something, really.'           $srcdir/sub/more.info
+  $FGREP 'It was written somehow.'              $srcdir/sub/more.info
+}
+
+get_info_names ()
+{
+  find ${1-.} -type f -name '*.info' | LC_ALL=C sort > got
+}
+
+check_expected ()
+{
+  cat exp
+  cat got
+  diff exp got
+}
+
+$ACLOCAL
+$AUTOMAKE --add-missing
+$AUTOCONF
+
+./configure
+
+$MAKE info
+get_info_names
+check_expected
+
+check_info_contents
+
+$MAKE dvi
+test -f main.dvi
+test -f sub/more.dvi
+
+$MAKE maintainer-clean
+test ! -f main.dvi
+test ! -f sub/more.dvi
+test ! -f main.info
+test ! -f sub/more.info
+
+mkdir build
+cd build
+../configure
+$MAKE all dvi
+
+get_info_names ..
+sed 's|^\./|../|' ../exp > exp
+check_expected
+
+test -f main.dvi
+test -f sub/more.dvi
+
+check_info_contents ..
+
+$MAKE distcheck
+
+:
diff --git a/t/yflags2.sh b/t/yflags-cxx.sh
similarity index 92%
rename from t/yflags2.sh
rename to t/yflags-cxx.sh
index 1987cac..1d34dc5 100644
--- a/t/yflags2.sh
+++ b/t/yflags-cxx.sh
@@ -15,9 +15,11 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # Check that $(YFLAGS) takes precedence over both $(AM_YFLAGS) and
-# $(foo_YFLAGS).
-# Please keep this in sync with the sister tests yflags.sh, lflags.sh
-# and lflags2.sh.
+# $(foo_YFLAGS).  This is the C++ case.
+# Please keep this in sync with the sister tests:
+#  - yflags.sh
+#  - lflags.sh
+#  - lflags-cxx.sh
 
 . test-init.sh
 
diff --git a/t/yflags-force-override.sh b/t/yflags-force-override.sh
index 02ce5ea..6e52b32 100644
--- a/t/yflags-force-override.sh
+++ b/t/yflags-force-override.sh
@@ -48,7 +48,7 @@ $ACLOCAL
 $AUTOMAKE -a -Wno-gnu
 
 $EGREP '(foo|YFLAGS)' Makefile.in # For debugging.
-grep '^foo.h *:' Makefile.in
+grep '^foo\.h *:' Makefile.in
 
 $AUTOCONF
 ./configure
diff --git a/t/yflags.sh b/t/yflags.sh
index 7485516..dcd2f58 100644
--- a/t/yflags.sh
+++ b/t/yflags.sh
@@ -16,8 +16,10 @@
 
 # Check that $(YFLAGS) takes precedence over both $(AM_YFLAGS) and
 # $(foo_YFLAGS).
-# Please keep this in sync with the sister tests yflags2.sh, lflags.sh
-# and lflags2.sh.
+# Please keep this in sync with the sister tests:
+#  - yflags-cxx.sh
+#  - lflags.sh
+#  - lflags-cxx.sh
 
 . test-init.sh
 


hooks/post-receive
-- 
GNU Automake



reply via email to

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