automake-commit
[Top][All Lists]
Advanced

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

[Automake-commit] [SCM] GNU Automake branch, ng/master, updated. v1.13.2


From: Stefano Lattarini
Subject: [Automake-commit] [SCM] GNU Automake branch, ng/master, updated. v1.13.2-987-g23a94fd
Date: Wed, 15 May 2013 22:14:06 +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=23a94fd76b904b95fee399b7ff696affe7fd130c

The branch, ng/master has been updated
       via  23a94fd76b904b95fee399b7ff696affe7fd130c (commit)
       via  05f889a017a262a40459d94c6e20e6c2b4579f5d (commit)
       via  c91f24a5a72e0eced917507ff092e7845448b27d (commit)
       via  52a760136d216ab867f02fd295d0b3d77d1ad438 (commit)
       via  e89b9083e11432affd2307a5d51b99bceedebf85 (commit)
       via  21824fbc407f12131727b259b7e07a575d27716e (commit)
       via  4348577bc8beda1443f137e82ce088c300404916 (commit)
       via  3a4c7cf9abecea754012c3ad7e13b2b01fd3ef16 (commit)
       via  1a05e9259f6bde1bf1200f82cc9c3bb84bc7a0d3 (commit)
       via  563ecade28bb4ec0f285019959267015af5725b3 (commit)
       via  7810a65de4899ef3c6489fb30cc2458c24c25ca8 (commit)
       via  c6b827b2f82ed40a3ddee2f1e986e186cacffb67 (commit)
       via  cce6192b67e6e66a39dd4ee002bf3b8919cbf30b (commit)
       via  6653939c0d4c551502bb4b74cf4ae9c7441a9436 (commit)
       via  83609bfeee6b69ac4d1257bfdafd4f9e04a4d5e3 (commit)
       via  e142bcb0e2f29ff444195c5ea934b834dc63d048 (commit)
       via  3c331df4e854ce4a66c2bd81f8223e1ead363448 (commit)
       via  722f25b9875d55c0bb89d69e1916dfcaafde5b8a (commit)
       via  c148dc73a92c1df5e70a61e9495e62c010090bd4 (commit)
       via  32eb770b73903a6b09216709790a093b33afff8d (commit)
       via  f233bf8f277775f37b7dd4559af237d129231cbb (commit)
      from  90079e8bba596a39a145f46ea97988bf24f4867f (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 -----------------------------------------------------------------
commit 23a94fd76b904b95fee399b7ff696affe7fd130c
Author: Stefano Lattarini <address@hidden>
Date:   Thu May 16 00:11:26 2013 +0200

    tests: fix a couple of spurious failures
    
    These failures were deriving from the recent changes about how we
    handle AC_PROG_CC, AM_PROG_CC_C_O, and generally detection of C
    compilers that doesn't grasp both '-c' and '-o' at the same time.
    
    * t/subobj-c.sh: Adjust.
    * t/subobj-libtool.sh: Likewise.
    
    Signed-off-by: Stefano Lattarini <address@hidden>

commit 05f889a017a262a40459d94c6e20e6c2b4579f5d
Merge: 722f25b c91f24a
Author: Stefano Lattarini <address@hidden>
Date:   Thu May 16 00:00:13 2013 +0200

    Merge branch 'master' into ng/master
    
    * master:
      post-release: micro version bump (1.13.2a)
      release: stable micro release 1.13.2
      vala tests: skip in a cross compiler setup
      HACKING: miscellaneous fixes, updates and enhancements
      NEWS: minor improvements to wording (about new versioning scheme)
      THANKS: update Akim's e-mail address
      tests: less uses of "make -e"; avoid spurious failures in 
'check-cc-no-c-o'
      build: be more respectful of user-specified verbosity
      check-cc-no-c-o: unify initializations in a single place
      check-cc-no-c-o: avoid a spurious failure
      build: fixup for building in a VPATH setup
      Use AC_DEFUN_ONCE to define AM_PROG_CC_C_O
      compile: avoid AC_PROG_CC messy rewrite
      options: tiny simplification in dealing with incompatible versions
    
    Signed-off-by: Stefano Lattarini <address@hidden>

commit 722f25b9875d55c0bb89d69e1916dfcaafde5b8a
Author: Stefano Lattarini <address@hidden>
Date:   Mon May 13 20:07:39 2013 +0200

    comments: fix typos and imprecisions
    
    * lib/am/header-vars.mk: Here.
    
    Reported-by: Akim Demaille <address@hidden>
    Signed-off-by: Stefano Lattarini <address@hidden>

-----------------------------------------------------------------------

Summary of changes:
 HACKING                 |   93 ++++++++++++++++++++++++-----------------------
 NEWS                    |    8 ++--
 THANKS                  |    2 +-
 bin/Makefile.inc        |    1 +
 lib/Automake/Options.pm |    3 +-
 lib/am/header-vars.mk   |   20 +++++-----
 m4/init.m4              |   52 +++-----------------------
 m4/minuso.m4            |   29 +++++++++------
 t/Makefile.inc          |   18 ++++-----
 t/add-missing.tap       |    9 ++---
 t/am-prog-cc-c-o.sh     |    8 +++-
 t/ax/am-test-lib.sh     |   13 +++++++
 t/ax/test-defs.in       |   16 ++++++++-
 t/instdir-ltlib.sh      |    1 +
 t/instdir-prog.sh       |    2 +-
 t/subobj-c.sh           |    2 +-
 t/subobj-libtool.sh     |    2 +-
 17 files changed, 138 insertions(+), 141 deletions(-)

diff --git a/HACKING b/HACKING
index 1bf1351..57a93dd 100644
--- a/HACKING
+++ b/HACKING
@@ -12,16 +12,16 @@
   and check everything in.
 
 * If you incorporate a change from somebody on the net:
-  First, if it is a large change, you must make sure they have signed the
-  appropriate paperwork.
-  Second, be sure to add their name and email address to THANKS.
+  - First, if it is a large change, you must make sure they have
+    signed the appropriate paperwork.
+  - Second, be sure to add their name and email address to THANKS.
 
 * If a change fixes a test, mention the test in the commit message.
   If a change fixes a bug registered in the Automake debbugs tracker,
   mention the bug number in the commit message.
 
 * If somebody reports a new bug, mention his name in the commit message
-  and in the test case you write.  Put him into THANKS.
+  that fixes or exposes the bug, and put him into THANKS.
 
 * When documenting a non-trivial idiom or example in the manual, be
   sure to add a test case for it, and to reference such test case from
@@ -35,8 +35,7 @@
   which should be updated by hand whenever the GPL gets updated (which
   shouldn't happen that often anyway :-)
 
-* Changes other than bug fixes must be mentioned in NEWS.  Important
-  bug fixes should be mentioned in NEWS, too.
+* Changes other than *trivial* bug fixes must be mentioned in NEWS.
 
 * Changes which are potentially controversial, require a non-trivial
   plan, or must be implemented gradually with a roadmap spanning several
@@ -68,17 +67,16 @@
 
 * Always use $(...) and not ${...}
 
-* Use ':', not 'true'.  Use 'exit 1', not 'false'.
+* Prefer ':' over 'true', mostly for consistency with existing code.
 
-* Use '##' comments liberally.  Comment anything even remotely
-  unusual.
+* Use '##' comments liberally.  Comment anything even remotely unusual.
 
-* Never use basename or dirname.  Instead use sed.
+* Never use basename or dirname.  Instead, use sed.
 
 * For install and uninstall rules, if a loop is required, it should be
-  silent.  Then the body of the loop itself should print each
-  "important" command it runs.  The printed commands should be preceded
-  by a single space.
+  silent.  Then the body of the loop itself should print each "important"
+  command it runs.  The printed commands should be preceded by a single
+  space.
 
 * Ensure install rules do not create any installation directory where
   nothing is to be actually installed.  See automake bug#11030.
@@ -120,18 +118,21 @@
   should be added, and ideally, only trivial bugs, recent regressions,
   or documentation issues should be addressed by them.
 
-* Minor releases can introduce new "safe" features, do non-trivial
-  but mostly safe code clean-ups, and even add new runtime warnings
-  (rigorously non-fatal); but they shouldn't include any backward
-  incompatible change, nor contain any potentially destabilizing
-  refactoring or sweeping change, nor introduce new features whose
-  implementation might be liable to cause bugs or regressions in
-  existing code.
-
-* Major releases can introduce backward-incompatibilities (albeit
-  such incompatibilities should be announced well in advance, and
-  a smooth transition plan prepared for them), and try more risking
-  and daring refactorings and code cleanups.
+* Minor releases can introduce new "safe" features, do non-trivial but
+  mostly safe code clean-ups, and even add new runtime warnings (rigorously
+  non-fatal).  But they shouldn't include any backward incompatible change,
+  nor contain any potentially destabilizing refactoring or sweeping change,
+  nor introduce new features whose implementation might be liable to cause
+  bugs or regressions in existing code.  However, it might be acceptable to
+  introduce very limited and localized backward-incompatibilities, *only*
+  if that is necessary to fix non-trivial bugs, address serious performance
+  issues, or greatly enhance usability.  But please, do this sparsely and
+  rarely!
+
+* Major releases can introduce backward-incompatibilities (albeit such
+  incompatibilities should be announced well in advance, and a smooth
+  transition plan prepared for them), and try more risking and daring
+  refactorings and code cleanups.
 
 * For more information, refer to the extensive discussion associated
   with automake bug#13578.
@@ -147,30 +148,30 @@
   latest stable version of Autoconf installed and available early
   in your PATH.
 
-* The Automake git tree currently carries three basic branches: 'maint',
-  'master' and 'next'.
+* The Automake git tree currently carries three basic branches: 'micro',
+  'maint' and 'master'.
 
-* The 'maint' branch, reserved to changes that should go into the next
+* The 'micro' branch, reserved to changes that should go into the next
   micro release; so it will just see fixes for regressions, trivial
   bugs, or documentation issues, and no "active" development whatsoever.
   Since emergency regression-fixing or security releases could be cut
   from this branch at any time, it should always be kept in a releasable
   state.
 
-* The 'master' branch is where the development of the next minor release
+* The 'maint' branch is where the development of the next minor release
   takes place.  It should be kept in a stable, almost-releasable state,
   to simplify testing and deploying of new minor version.  Note that
   this is not a hard rule, and such "stability" is not expected to be
-  absolute (emergency releases are cut from maint anyway).
+  absolute (emergency releases are cut from the 'micro' branch anyway).
 
-* The 'next' branch is reserved for the development of the next major
-  release.  Experimenting a little here is OK, but don't let the branch
-  grow too unstable; if you need to do exploratory programming
-  or over-arching change, you should use a dedicated topic branch, and
+* The 'master' branch is reserved for the development of the next major
+  release.  Experimenting a little is OK here, but don't let the branch
+  grow too unstable; if you need to do exploratory programming or
+  over-arching change, you should use a dedicated topic branch, and
   only merge that back once it is reasonably stable.
 
-* The 'maint' branch should be kept regularly merged into the 'master'
-  branch, and the 'master' branch into the 'next' branch.  It is advisable
+* The 'micro' branch should be kept regularly merged into the 'maint'
+  branch, and the 'maint' branch into the 'master' branch.  It is advisable
   to merge only after a set of related commits have been applied, to avoid
   introducing too much noise in the history.
 
@@ -178,12 +179,12 @@
   developments.  They should be based off of a common ancestor of all
   active branches to which the feature should or might be merged later.
 
-* After a new minor release is done, the 'master' branch is to be merged
-  into the 'maint' branch, and then a "new" 'master' branch created
+* After a new minor release is done, the 'maint' branch is to be merged
+  into the 'micro' branch, and then a "new" 'maint' branch created
   stemming from the resulting commit.
-  Similarly, after a new major release is done, the 'next' branch is to
-  be merged into both the 'master' and 'maint' branch, and then "new"
-  'master' and 'next' branches created stemming from the resulting commit.
+  Similarly, after a new major release is done, the 'master' branch is to
+  be merged into both the 'micro' and 'maint' branches, and then "new"
+  'master' branch created stemming from the resulting commit.
 
 * When fixing a bug (especially a long-standing one), it may be useful
   to commit the fix to a new temporary branch based off the commit that
@@ -195,11 +196,11 @@
   a later 'git log' gives an indication of which actual patches were
   merged even when they don't appear early in the list.
 
-* The 'master' and 'maint' branches should not be rewound, i.e., should
-  always fast-forward, except maybe for privacy issues.  For 'next'
-  (if that will ever be implemented), and for feature branches, the
-  announcement for the branch should document rewinding policy.  If a
-  topic branch is expected to be rewound, it is good practice to put
+* The 'master', 'maint' and 'micro' branches should not be rewound, i.e.,
+  should always fast-forward, except maybe for privacy issues.  For
+  feature branches, the announcement for the branch should document
+  the rewinding policy.
+  If a topic branch is expected to be rewound, it is good practice to put
   it in the 'experimental/*' namespace; for example, a rewindable branch
   dealing with Vala support could be named like "experimental/vala-work".
 
diff --git a/NEWS b/NEWS
index 1d035b6..7472096 100644
--- a/NEWS
+++ b/NEWS
@@ -64,8 +64,8 @@ New in 2.0:
       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".  This kind of fixes
-      should hopefully be quite rare.
+      some developers as "corner case features".  Possible disruptions
+      caused by this kind of fixes should hopefully be quite rare.
 
     + Major versions (now expected to be released every 18 or 24 months,
       and not more often) can introduce new big features (possibly with
@@ -79,8 +79,8 @@ New in 2.0:
   - 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 and deprecation, but no backward
-    incompatibility.
+    which will introduce new features, deprecations and bug fixes, but
+    no real backward incompatibility.
 
   - See discussion about automake bug#13578 for more details and
     background: <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=13578>
diff --git a/THANKS b/THANKS
index fe7a7de..853c379 100644
--- a/THANKS
+++ b/THANKS
@@ -6,7 +6,7 @@ Adam J. Richter                 address@hidden
 Adam Mercer                     address@hidden
 Adam Sampson                    address@hidden
 Adrian Bunk                     address@hidden
-Akim Demaille                   address@hidden
+Akim Demaille                   address@hidden
 Alan Modra                      address@hidden
 Alex Hornby                     address@hidden
 Alex Unleashed                  address@hidden
diff --git a/bin/Makefile.inc b/bin/Makefile.inc
index 5958829..34b990f 100644
--- a/bin/Makefile.inc
+++ b/bin/Makefile.inc
@@ -54,6 +54,7 @@ uninstall-hook:
 # $(datadir) or other do_subst'd variables change.
 %D%/automake %D%/aclocal: %: %.in Makefile %D%/gen-perl-protos
        $(AM_V_GEN)rm -f $@ address@hidden address@hidden \
+         && $(MKDIR_P) $(@D) \
 ## Common substitutions.
          && $(do_subst)  \
 ## Auto-compute prototypes of perl subroutines.
diff --git a/lib/Automake/Options.pm b/lib/Automake/Options.pm
index ee72cc4..361879e 100644
--- a/lib/Automake/Options.pm
+++ b/lib/Automake/Options.pm
@@ -360,8 +360,7 @@ sub _process_option_list (\%@)
           # Got a version number.
           if (Automake::Version::check ($VERSION, $&))
             {
-              error ($where, "require Automake $_, but have $VERSION",
-                     uniq_scope => US_GLOBAL);
+              error ($where, "require Automake $_, but have $VERSION");
               $ret = 0;
             }
         }
diff --git a/lib/am/header-vars.mk b/lib/am/header-vars.mk
index 37f0c87..6135b22 100644
--- a/lib/am/header-vars.mk
+++ b/lib/am/header-vars.mk
@@ -38,7 +38,7 @@ MAKEFLAGS += --no-builtin-rules
        @:
 
 # Declare an error, without immediately terminating the execution (proper
-# code will take care later of that).  This will allow us to diagnose more
+# code will take care of that later).  This will allow us to diagnose more
 # issues at once, rather than stopping at the first one.
 am.error.seen :=
 define am.error
@@ -158,27 +158,27 @@ am.vpath.rewrite = \
 # with mainline Automake.
 DESTDIR ?=
 
-# Shell code that determines whether the current make instance is
-# running with a given letter option (e.g., -k, -n) that takes
-# no argument.  It is either 'true' or 'false', so that it can be
-# easily used in shell code as well as in GNU make conditionals.
+# Determine whether the current make instance is running with a given
+# single-character option (e.g., -k, -n) that takes no argument.
+# It is either 'true' or 'false', so that it can be easily used in
+# shell code as well as in GNU make conditionals.
 # Use $(MFLAGS), not $(MAKEFLAGS), since the former doesn't contain
 # the command line variable definitions, and it always begins with
 # a hyphen unless it is empty, assumptions that allow a simpler
 # implementation.  It is worthwhile to note that, when expanded
 # from the top-level make, $(MFLAGS) doesn't contain references to
 # options that take an argument, either mandatory (e.g., '-I') or
-# optional (e.g., '-O').  This *vastly* semplifies the implementation
+# optional (e.g., '-O').  This *vastly* simplifies the implementation
 # of this macro.
 am.make.is-running-with-option = \
   $(if $(findstring $(strip $1),filter-out --%,$(MFLAGS)),true,false)
 
-# Tell whether make is running in "dry mode".
+# Tell whether make is running in dry mode ("make -n") or not.
 am.make.dry-run := $(call am.make.is-running-with-option, n)
 
-# Shell code that determines whether make is running in "keep-going mode"
-# ("make -k") or not.  Useful in rules that must recursively descend into
-# subdirectories, and decide whether to stop at the first error or not.
+# Tell whether make is running in "keep-going mode" ("make -k") or not.
+# Useful in rules that must recursively descend into subdirectories,
+# and decide whether to stop at the first error or not.
 am.make.keep-going := $(call am.make.is-running-with-option, k)
 
 am.util.strip-first-word = $(wordlist 2,$(words $(1)),$(1))
diff --git a/m4/init.m4 b/m4/init.m4
index 8a01b8c..a2f301c 100644
--- a/m4/init.m4
+++ b/m4/init.m4
@@ -101,6 +101,12 @@ AC_PROVIDE_IFELSE([AC_PROG_OBJCXX],
                  [m4_define([AC_PROG_OBJCXX],
                             
m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl
 ])
+dnl Automatically invoke AM_PROG_CC_C_O as necessary.  Since AC_PROG_CC is
+dnl usually called after AM_INIT_AUTOMAKE, we arrange for the test to be
+dnl done later by AC_CONFIG_COMMANDS_PRE.
+AC_CONFIG_COMMANDS_PRE([AC_PROVIDE_IFELSE(
+    [AC_PROG_CC],
+    [AC_LANG_PUSH([C]) AM_PROG_CC_C_O AC_LANG_POP([C])])])dnl
 AC_REQUIRE([AM_SILENT_RULES])dnl
 
 # POSIX will say in a future version that running "rm -f" with no argument
@@ -145,52 +151,6 @@ END
   fi
 fi])
 
-dnl We have to redefine AC_PROG_CC to allow our compile rules to use
-dnl "-c -o" together also with losing compilers.
-dnl FIXME: Add references to the original discussion and bug report.
-dnl FIXME: Shameless copy & paste from Autoconf internals, since trying to
-dnl        play smart among tangles of AC_REQUIRE, m4_defn, m4_provide and
-dnl        other tricks was proving too difficult, and in the end, likely
-dnl        more brittle too.  And this should anyway be just a temporary
-dnl        band-aid, until Autoconf provides the semantics and/or hooks we
-dnl        need (hint hint, nudge nudge) ...
-AC_DEFUN([AC_PROG_CC],
-m4_defn([AC_PROG_CC])
-[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-AC_REQUIRE_AUX_FILE([compile])dnl
-dnl FIXME The following abomination is expected to disappear in
-dnl       Automake 1.14.
-AC_MSG_CHECKING([whether $CC understands -c and -o together])
-set dummy $CC; am__cc=`AS_ECHO(["$[2]"]) | \
-                       sed 's/[[^a-zA-Z0-9_]]/_/g;s/^[[0-9]]/_/'`
-AC_CACHE_VAL([am_cv_prog_cc_${am__cc}_c_o],
-[AC_LANG_CONFTEST([AC_LANG_PROGRAM([])])
-# Make sure it works both with $CC and with simple cc.
-# We do the test twice because some compilers refuse to overwrite an
-# existing .o file with -o, though they will create one.
-ac_try='$CC -c conftest.$ac_ext -o conftest2.$ac_objext >&AS_MESSAGE_LOG_FD'
-rm -f conftest2.*
-if _AC_DO_VAR(ac_try) && test -f conftest2.$ac_objext
-then
-  eval am_cv_prog_cc_${am__cc}_c_o=yes
-else
-  eval am_cv_prog_cc_${am__cc}_c_o=no
-fi
-rm -f core conftest*
-])dnl
-if eval test \"\$am_cv_prog_cc_${am__cc}_c_o\" = yes; then
-  AC_MSG_RESULT([yes])
-else
-  AC_MSG_RESULT([no])
-  # Losing compiler, so wrap it with the 'compile' script.
-  # FIXME: It is wrong to rewrite CC.
-  # But if we don't then we get into trouble of one sort or another.
-  # A longer-term fix would be to have automake use am__CC in this case,
-  # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
-  CC="$am_aux_dir/compile $CC"
-fi
-])
-
 # When config.status generates a header, we must update the stamp-h file.
 # This file resides in the same directory as the config header
 # that is generated.  The stamp files are numbered to have different names.
diff --git a/m4/minuso.m4 b/m4/minuso.m4
index 17fa8c9..06f74c9 100644
--- a/m4/minuso.m4
+++ b/m4/minuso.m4
@@ -7,19 +7,26 @@
 
 # AM_PROG_CC_C_O
 # --------------
-# Basically a no-op now, completely superseded by the AC_PROG_CC
-# adjusted by Automake.  Kept for backward-compatibility.
-AC_DEFUN([AM_PROG_CC_C_O],
-[AC_REQUIRE([AC_PROG_CC])dnl
+# Like AC_PROG_CC_C_O, but changed for automake.
+AC_DEFUN_ONCE([AM_PROG_CC_C_O],
+[AC_REQUIRE([AC_PROG_CC_C_O])dnl
+AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+AC_REQUIRE_AUX_FILE([compile])dnl
+# FIXME: we rely on the cache variable name because
+# there is no other way.
+set dummy $CC
+am_cc=`echo $[2] | sed ['s/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/']`
+eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o
+if test "$am_t" != yes; then
+   # Losing compiler, so override with the script.
+   # FIXME: It is wrong to rewrite CC.
+   # But if we don't then we get into trouble of one sort or another.
+   # A longer-term fix would be to have automake use am__CC in this case,
+   # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
+   CC="$am_aux_dir/compile $CC"
+fi
 dnl Make sure AC_PROG_CC is never called again, or it will override our
 dnl setting of CC.
 m4_define([AC_PROG_CC],
           [m4_fatal([AC_PROG_CC cannot be called after AM_PROG_CC_C_O])])
-# For better backward-compatibility.  Users are advised to stop
-# relying on this cache variable and C preprocessor symbol ASAP.
-eval ac_cv_prog_cc_${am__cc}_c_o=\$am_cv_prog_cc_${am__cc}_c_o
-if eval test \"\$ac_cv_prog_cc_${am__cc}_c_o\" != yes; then
-  AC_DEFINE([NO_MINUS_C_MINUS_O], [1],
-            [Define to 1 if your C compiler doesn't accept -c and -o 
together.])
-fi
 ])
diff --git a/t/Makefile.inc b/t/Makefile.inc
index 05c9edb..0fe591e 100644
--- a/t/Makefile.inc
+++ b/t/Makefile.inc
@@ -256,7 +256,7 @@ check-local: check-tests-syntax
 # that helps catching such problems in Automake-generated recipes.
 # See automake bug#10436.
 check-no-trailing-backslash-in-recipes:
-       $(AM_V_at)$(MAKE) check \
+       $(AM_V_GEN)$(MAKE) check \
          CONFIG_SHELL='$(abs_top_builddir)/%D%/ax/shell-no-trail-bslash'
 .PHONY: check-no-trailing-backslash-in-recipes
 
@@ -266,27 +266,25 @@ check-no-trailing-backslash-in-recipes:
 # otherwise only present themselves later "in the wild".  See also the
 # long discussion about automake bug#13378.
 check-cc-no-c-o:
-       $(AM_V_at)$(MAKE) check \
-         CC='$(abs_top_builddir)/%D%/ax/cc-no-c-o' \
-         GNU_CC='$(abs_top_builddir)/%D%/ax/cc-no-c-o'
+       $(AM_V_GEN)$(MAKE) check AM_TESTSUITE_SIMULATING_NO_CC_C_O=yes
 .PHONY: check-cc-no-c-o
 
 # Run the testsuite with the installed aclocal and automake.
 installcheck-local: installcheck-testsuite
 installcheck-testsuite:
-       am_running_installcheck=yes $(MAKE) check
+       $(AM_V_GEN)$(MAKE) check am_running_installcheck=yes
 
 # Run the testsuite without skipping expensive tests by default.
 check-expensive installcheck-expensive: %-expensive:
-       $(MAKE) $* RUN_EXPENSIVE_TESTS=yes
+       $(AM_V_GEN)$(MAKE) $* RUN_EXPENSIVE_TESTS=yes
  
 # Performance tests.
 perf: all
-       $(MAKE) TEST_SUITE_LOG='$(PERF_TEST_SUITE_LOG)' \
-               TESTS='$(perf_TESTS)' check
+       $(AM_V_GEN)$(MAKE) check \
+         TEST_SUITE_LOG='$(PERF_TEST_SUITE_LOG)' TESTS='$(perf_TESTS)'
 .PHONY: perf
-perf_TESTS = $(wildcard $(srcdir)/t/perf/*.sh) \
-             $(wildcard $(srcdir)/t/perf/*.tap)
+perf_TESTS = $(wildcard $(srcdir)/%D%/perf/*.sh) \
+             $(wildcard $(srcdir)/%D%/perf/*.tap)
 PERF_TEST_SUITE_LOG = %D%/perf/test-suite.log
 CLEANFILES += $(PERF_TEST_SUITE_LOG)
 EXTRA_DIST += $(perf_TESTS)
diff --git a/t/add-missing.tap b/t/add-missing.tap
index 2733788..594e465 100755
--- a/t/add-missing.tap
+++ b/t/add-missing.tap
@@ -62,6 +62,7 @@ AC_CANONICAL_TARGET
 AC_CANONICAL_SYSTEM
 AM_PATH_LISPDIR
 AM_PATH_PYTHON
+AC_OUTPUT
 END
 $ACLOCAL || framework_failure_ "cannot pre-compute aclocal.m4"
 
@@ -247,7 +248,6 @@ check_ <<'END'
 depcomp/C
 == Files ==
 depcomp
-compile
 == configure.ac ==
 AC_PROG_CC
 == Makefile.am ==
@@ -272,9 +272,10 @@ compile
 == Files ==
 compile
 == configure.ac ==
-# Using AC_PROG_CC in configure.ac should be enough.  No
-# need to also define, say, xxx_PROGRAMS in Makefile.am.
+# Using AC_PROG_CC and AC_OUTPUT in configure.ac should be enough.
+# No need to also define, say, xxx_PROGRAMS in Makefile.am.
 AC_PROG_CC
+AC_OUTPUT
 END
 
 # For config.guess and config.sub.
@@ -295,7 +296,6 @@ check_ <<'END'
 == Name ==
 ylwrap/Lex
 == Files ==
-compile
 ylwrap
 == configure.ac ==
 AC_PROG_CC
@@ -310,7 +310,6 @@ check_ <<'END'
 == Name ==
 ylwrap/Yacc
 == Files ==
-compile
 ylwrap
 == configure.ac ==
 AC_PROG_CC
diff --git a/t/am-prog-cc-c-o.sh b/t/am-prog-cc-c-o.sh
index da6a3a4..920a0dc 100755
--- a/t/am-prog-cc-c-o.sh
+++ b/t/am-prog-cc-c-o.sh
@@ -56,7 +56,11 @@ $AUTOMAKE --add-missing
 
 ./configure >stdout || { cat stdout; exit 1; }
 cat stdout
-grep 'understands -c and -o together.* yes$' stdout
+if test "$AM_TESTSUITE_SIMULATING_NO_CC_C_O" != no; then
+  $EGREP 'understands? -c and -o together.* no$' stdout
+else
+  $EGREP 'understands? -c and -o together.* yes$' stdout
+fi
 # No repeated checks please.
 test $(grep -c ".*-c['\" ].*-o['\" ]" stdout) -eq 1
 $MAKE
@@ -83,7 +87,7 @@ CC=$am_testaux_builddir/cc-no-c-o; export CC
 
 ./configure >stdout || { cat stdout; exit 1; }
 cat stdout
-grep 'understands -c and -o together.* no$' stdout
+$EGREP 'understands? -c and -o together.* no$' stdout
 # No repeated checks please.
 test $(grep -c ".*-c['\" ].*-o['\" ]" stdout) -eq 1
 $MAKE
diff --git a/t/ax/am-test-lib.sh b/t/ax/am-test-lib.sh
index 2ea58fa..8214315 100644
--- a/t/ax/am-test-lib.sh
+++ b/t/ax/am-test-lib.sh
@@ -637,6 +637,19 @@ require_tool ()
       echo "$me: running bison --version"
       bison --version || skip_all_ "required program 'bison' not available"
       ;;
+    valac)
+      echo "$me: running valac --version"
+      if ! valac --version; then
+        skip_all_ "required program 'valac' not available"
+      elif cross_compiling; then
+        skip_all_ "cross-compiling valac-generated C files is brittle"
+      fi
+      # TODO: We also know we need GNU make, the C compiler, and pkg-config
+      # here, but there is no easy way to express this with the current
+      # code organization.  We should improve the situation, sooner or
+      # later.  At which point the tests requiring 'valac' can drop the
+      # explicit requirements for those tools.
+      ;;
     *)
       # Generic case: the tool must support --version.
       echo "$me: running $1 --version"
diff --git a/t/ax/test-defs.in b/t/ax/test-defs.in
index 1083743..9662c79 100644
--- a/t/ax/test-defs.in
+++ b/t/ax/test-defs.in
@@ -76,6 +76,11 @@ PATH_SEPARATOR='@PATH_SEPARATOR@'
 host_alias=${host_alias-'@host_alias@'}; export host_alias
 build_alias=${build_alias-'@build_alias@'}; export build_alias
 
+# Whether the testsuite is being run by faking the presence of a C
+# compiler that doesn't grasp the '-c' and '-o' flags together.  By
+# default, of course, it isn't.
+: "${AM_TESTSUITE_SIMULATING_NO_CC_C_O:=no}"
+
 # A concurrency-safe "mkdir -p" implementation.
 MKDIR_P=${AM_TESTSUITE_MKDIR_P-'@MKDIR_P@'}
 
@@ -136,7 +141,11 @@ FGREP=${AM_TESTSUITE_FGREP-'@FGREP@'}
 
 # Compilers and their flags.  These can point to non-GNU compilers (and
 # on non-Linux and non-BSD systems, they probably will).
-CC=${AM_TESTSUITE_CC-${CC-'@CC@'}}
+if test $AM_TESTSUITE_SIMULATING_NO_CC_C_O = no; then
+  CC=${AM_TESTSUITE_CC-${CC-'@CC@'}}
+else
+  CC=$am_testaux_builddir/cc-no-c-o
+fi
 CXX=${AM_TESTSUITE_CXX-${CXX-'@CXX@'}}
 F77=${AM_TESTSUITE_F77-${F77-'@F77@'}}
 FC=${AM_TESTSUITE_FC-${FC-'@FC@'}}
@@ -147,6 +156,11 @@ FFLAGS=${AM_TESTSUITE_FFLAGS-${FFLAGS-'@FFLAGS@'}}
 CPPFLAGS=${AM_TESTSUITE_CPPFLAGS-${CPPFLAGS-'@CPPFLAGS@'}}
 
 # GNU compilers and their flags.
+if test $AM_TESTSUITE_SIMULATING_NO_CC_C_O = no; then
+  GNU_CC=${AM_TESTSUITE_GNU_CC-${GNU_CC-'@GNU_CC@'}}
+else
+  GNU_CC=$am_testaux_builddir/cc-no-c-o
+fi
 GNU_CC=${AM_TESTSUITE_GNU_CC-${GNU_CC-'@GNU_CC@'}}
 GNU_CXX=${AM_TESTSUITE_GNU_CXX-${GNU_CXX-'@GNU_CXX@'}}
 GNU_F77=${AM_TESTSUITE_GNU_F77-${GNU_F77-'@GNU_F77@'}}
diff --git a/t/instdir-ltlib.sh b/t/instdir-ltlib.sh
index bb6e822..6a4911f 100755
--- a/t/instdir-ltlib.sh
+++ b/t/instdir-ltlib.sh
@@ -65,6 +65,7 @@ cd build
 ../configure --prefix="$instdir" PYTHON="echo" \
              am_cv_python_pythondir="$instdir/python" \
              am_cv_python_pyexecdir="$instdir/pyexec"
+
 $MAKE
 
 xMAKE() { $MAKE bindir= libdir= pyexecdir= "$@"; }
diff --git a/t/instdir-prog.sh b/t/instdir-prog.sh
index a5adfa6..0286f7e 100755
--- a/t/instdir-prog.sh
+++ b/t/instdir-prog.sh
@@ -64,11 +64,11 @@ cd build
 ../configure --prefix="$instdir" PYTHON="echo" \
              am_cv_python_pythondir="$instdir/python" \
              am_cv_python_pyexecdir="$instdir/pyexec"
+
 $MAKE
 
 xMAKE () { $MAKE bindir= libdir= pyexecdir= "$@"; }
 
-export bindir libdir pyexecdir
 xMAKE install
 test ! -e "$instdir"
 xMAKE install DESTDIR="$destdir"
diff --git a/t/subobj-c.sh b/t/subobj-c.sh
index 5d7b24a..e0c2ad2 100755
--- a/t/subobj-c.sh
+++ b/t/subobj-c.sh
@@ -74,7 +74,7 @@ $AUTOMAKE --add-missing 2>stderr || { cat stderr >&2; exit 1; 
}
 cat stderr >&2
 
 # Make sure compile is installed, and that Automake says so.
-grep '^configure\.ac:4:.*install.*compile' stderr
+grep '^configure\.ac:7:.*install.*compile' stderr
 test -f compile
 
 $EGREP '[^/](a|b|foo)\.\$(OBJEXT)' Makefile.in && exit 1
diff --git a/t/subobj-libtool.sh b/t/subobj-libtool.sh
index 8afad6b..2011d61 100755
--- a/t/subobj-libtool.sh
+++ b/t/subobj-libtool.sh
@@ -58,7 +58,7 @@ $ACLOCAL
 rm -f compile
 $AUTOMAKE --add-missing 2>stderr || { cat stderr >&2; exit 1; }
 cat stderr >&2
-grep '^configure\.ac:4:.*install.*compile' stderr
+grep '^configure\.ac:7:.*install.*compile' stderr
 test -f compile
 
 grep '[^/][123]\.lo' Makefile.in && exit 1


hooks/post-receive
-- 
GNU Automake



reply via email to

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