automake-commit
[Top][All Lists]
Advanced

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

[Automake-commit] [SCM] GNU Automake branch, master, updated. v1.12.5-23


From: Stefano Lattarini
Subject: [Automake-commit] [SCM] GNU Automake branch, master, updated. v1.12.5-238-g6a38d74
Date: Tue, 27 Nov 2012 20:19:14 +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=6a38d7404f561cf4fd6494b3b243eae89951c947

The branch, master has been updated
       via  6a38d7404f561cf4fd6494b3b243eae89951c947 (commit)
       via  10ebd158644c2266607943de90a817e4f23c96bc (commit)
       via  54ec1e6b080c00d3b3f0b53fc15389a58abcb53a (commit)
       via  b4896ce44ca5883bc34a2df0355ed3c8ad19485c (commit)
       via  3e98c9d66b926a50ea7cabce7992bd30da2c6fb8 (commit)
       via  1df23e4ad00a924fcff94b0894b1d9de2a497300 (commit)
       via  691a1a829501c3503375ede305dced9fd12dddf8 (commit)
       via  a1e790331b4e5d7d96ff0208999b673feb363b95 (commit)
       via  993fd9f3f6ede8ef9c1cbb1fa91fa60b9ccf57d7 (commit)
       via  27954741470878f637c152a2666187ce2807abb1 (commit)
       via  71626475407387f8229367e52a1bd9a1f6292bfa (commit)
       via  0ff68f958c88e6dfbee2f1c5091561e2eb1f6cba (commit)
       via  487cf08d4c76d4cd1ff1e30d169eb6b5edf354a4 (commit)
       via  2543f06b180e91371eb9e20c38d96142e0827fde (commit)
       via  3a00a3c5db2ccdea53485e93e154ab7c89ed512e (commit)
       via  4f855e0d1078bb7c1d869d3929259c525f4c5fff (commit)
       via  24d0dcbe1777e20fb07505ebe215df72bda21c42 (commit)
       via  4d27453ce1fae61e4ef4a5e2f21122515e4f0260 (commit)
       via  afd3bc19e09591e1e11ef46513cccd2e38382922 (commit)
       via  2b09f2006452cc6b1dfb4ce56565b6af3f72fb92 (commit)
       via  3ad09d87325a64e5619268f4afa20a7adb9eeabf (commit)
       via  1518257a9328d914d763da188c5fda9a03dba3f2 (commit)
       via  83cc9fd054566db15736c07c0a46c288d28082c2 (commit)
       via  5d3b980bd2b63733a98f626e5f23c5c9661cc3cc (commit)
       via  b53a3b016eba7c20e0d445fa6bd8923c7a3334bb (commit)
       via  35ef2ffe421130676ee10361dda09bef4785a194 (commit)
       via  0c1a92102dc1cf17e32aacde6dc1f21584425711 (commit)
       via  5d84b891ff16e702cc273a0584e6746e7cd70458 (commit)
       via  1d51ce40acac781d98e23ab234b3a00bfc1885a7 (commit)
       via  8469853ac0e693b28a48e30310ff1417bcf61d6a (commit)
       via  883723873c94bdd3a9a3c9a376e3b2b266db5ca3 (commit)
       via  a55591f32d816db41335835eb8bc92aa4d5c5267 (commit)
       via  1f113f6bc81edabbbda7e14d58b10ac02d7a1137 (commit)
      from  fe1625a4b00b402d6333be0d7999a41ed4983204 (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 6a38d7404f561cf4fd6494b3b243eae89951c947
Merge: 10ebd15 0ff68f9
Author: Stefano Lattarini <address@hidden>
Date:   Tue Nov 27 21:05:25 2012 +0100

    Merge branch 'depcomp-work'
    
    * depcomp-work:
      depcomp: remove 'icc' depmode, add 'tcc' one
      news: update w.r.t. recent depcomp changes
      tests: fix spurious failures with tcc
      depcomp: improve comments about tcc support
      depcomp: remove last relics of libtool 1.4 support
      depcomp: remove an unused variable
      depcomp: rewrite a sed invocation for less quoting
      depcomp: whitespace fixes
      depcomp: shell code style changes
      depcomp: make some code more self-documenting
      depcomp: less duplication between AIX and Tru64 modes
      depcomp: avoid an extra fork when possible
      depcomp: reduce code duplication
      depcomp: don't rely on character ranges working as in C locale
      depcomp: cosmetic fixlets to a comment
      depcomp: safer quoting in variable expansion
      depcomp: correctly propagate exit status in exit trap
      depcomp: use "rmdir", not "rm -rf", to remove the empty lock directory
      depcomp: remove useless quoting in variable definitions
      depcomp: be more idiomatic in checking for zero exit statuses

commit 10ebd158644c2266607943de90a817e4f23c96bc
Merge: 2795474 54ec1e6
Author: Stefano Lattarini <address@hidden>
Date:   Tue Nov 27 20:46:32 2012 +0100

    Merge branch 'maint'
    
    * maint:
      news: we'll remove AM_PROG_MKDIR in 1.14, not 1.13
      tests: give few vala tests more significant names
      vala tests: don't use the 'posix' profile, it's no longer supported
      news: fixup: bug#8847 is fixed in 1.12.6, not in 1.12.5
      news: document the fix for automake bug#10227
      tests: fix a spurious testsuite failure on Solaris
      python: make installed modules find by default on Debian and Ubuntu

commit 27954741470878f637c152a2666187ce2807abb1
Author: Stefano Lattarini <address@hidden>
Date:   Sun Nov 25 12:48:36 2012 +0100

    tests: give few aclocal tests more significant names
    
    * t/dirlist-abspath.sh: Rename ...
    * t/aclocal-dirlist-abspath.sh: ... like this.
    * t/dirlist.sh: Rename ...
    * t/aclocal-dirlist.sh: ... like this.
    * t/dirlist2.sh: Rename ...
    * t/aclocal-dirlist-globbing.sh: ... like this.
    * t/list-of-tests.mk: Adjust.
    
    Signed-off-by: Stefano Lattarini <address@hidden>

commit 71626475407387f8229367e52a1bd9a1f6292bfa
Author: Stefano Lattarini <address@hidden>
Date:   Sat Nov 24 19:36:52 2012 +0100

    tests: remove a redundant workaround for a testsuite weakness
    
    * t/warnings-unknown.sh: Here, since we have improved our wrapper
    scripts for aclocal and automake enough to make that workaround
    unneeded.
    
    Signed-off-by: Stefano Lattarini <address@hidden>

commit 0ff68f958c88e6dfbee2f1c5091561e2eb1f6cba
Author: Stefano Lattarini <address@hidden>
Date:   Thu Oct 18 21:07:56 2012 +0200

    depcomp: remove 'icc' depmode, add 'tcc' one
    
    According to the comments in the now-removed test 'depcomp5.test' (removed
    by commit 'v1.11-1829-g5066c1b' of 2012-02-08, "tests: improve and rework
    tests on dependency tracking") "icc 8.0 and greater understand gcc options,
    so depmode is set to gcc".  According to Wikipedia, the 8.0 version of the
    Intel C compiler has been released in December 2003, that is, almost nine
    yeas ago.  So we can remove explicit support for icc 7.x from the depcomp
    script.
    
    Since our support for tcc has so far been relied on the icc depmode, we
    must write a new explicit 'tcc' depmode.  That is easy to do, since we can
    rely on the simpler and better-specified format of tcc-specified makefiles;
    for more info, see:
    <http://lists.gnu.org/archive/html/automake/2012-10/msg00043.html>
    
    * lib/depcomp (icc): Remove.
    (tcc): New.
    * NEWS: Update.
    
    Signed-off-by: Stefano Lattarini <address@hidden>

commit 487cf08d4c76d4cd1ff1e30d169eb6b5edf354a4
Author: Stefano Lattarini <address@hidden>
Date:   Thu Oct 18 17:17:17 2012 +0200

    news: update w.r.t. recent depcomp changes
    
    * NEWS: Here.
    
    Signed-off-by: Stefano Lattarini <address@hidden>

commit 2543f06b180e91371eb9e20c38d96142e0827fde
Author: Stefano Lattarini <address@hidden>
Date:   Thu Oct 18 17:47:46 2012 +0200

    tests: fix spurious failures with tcc
    
    * t/depcomp8a.sh, t/depcomp8b.sh: Here, by avoiding initialization of
    global 'extern' variables, preferring functions definitions instead.
    
    Signed-off-by: Stefano Lattarini <address@hidden>

commit 3a00a3c5db2ccdea53485e93e154ab7c89ed512e
Author: Stefano Lattarini <address@hidden>
Date:   Thu Oct 18 17:42:21 2012 +0200

    depcomp: improve comments about tcc support
    
    * lib/depcomp (icc): Here.  See also tcc commit 0394caf7 "Emit spaces
    for -MD" and automake commit v1.11-768-gb96263 "depcomp: support tcc
    (Tiny C Compiler)".
    
    Signed-off-by: Stefano Lattarini <address@hidden>

commit 4f855e0d1078bb7c1d869d3929259c525f4c5fff
Author: Stefano Lattarini <address@hidden>
Date:   Thu Oct 18 17:14:15 2012 +0200

    depcomp: remove last relics of libtool 1.4 support
    
    * lib/depcomp (tru64): Here.
    
    Signed-off-by: Stefano Lattarini <address@hidden>

commit 24d0dcbe1777e20fb07505ebe215df72bda21c42
Author: Stefano Lattarini <address@hidden>
Date:   Thu Oct 18 16:55:44 2012 +0200

    depcomp: remove an unused variable
    
    * lib/depcomp ($alnum): This.
    
    Signed-off-by: Stefano Lattarini <address@hidden>

commit 4d27453ce1fae61e4ef4a5e2f21122515e4f0260
Author: Stefano Lattarini <address@hidden>
Date:   Thu Oct 18 16:55:25 2012 +0200

    depcomp: rewrite a sed invocation for less quoting
    
    * lib/depcomp (dashmstdout): Here.
    
    Signed-off-by: Stefano Lattarini <address@hidden>

commit afd3bc19e09591e1e11ef46513cccd2e38382922
Author: Stefano Lattarini <address@hidden>
Date:   Thu Oct 18 16:49:23 2012 +0200

    depcomp: whitespace fixes
    
    * lib/depcomp: We indent by two spaces, and without using tabs.
    
    Signed-off-by: Stefano Lattarini <address@hidden>

commit 2b09f2006452cc6b1dfb4ce56565b6af3f72fb92
Author: Stefano Lattarini <address@hidden>
Date:   Thu Oct 18 16:47:41 2012 +0200

    depcomp: shell code style changes
    
    * lib/depcomp: Here, in comments and line continuations.
    
    Signed-off-by: Stefano Lattarini <address@hidden>

commit 3ad09d87325a64e5619268f4afa20a7adb9eeabf
Author: Stefano Lattarini <address@hidden>
Date:   Thu Oct 18 16:29:21 2012 +0200

    depcomp: make some code more self-documenting
    
    * lib/depcomp (make_dummy_makefile): With the help of this function.
    Use it throughout.
    
    Signed-off-by: Stefano Lattarini <address@hidden>

commit 1518257a9328d914d763da188c5fda9a03dba3f2
Author: Stefano Lattarini <address@hidden>
Date:   Thu Oct 18 14:45:38 2012 +0200

    depcomp: less duplication between AIX and Tru64 modes
    
    * lib/depcomp (tru64, aix): In these entries of the big 'case'
    switch, with the help of ...
    (aix_post_process_depfile): ... this new function.
    
    Signed-off-by: Stefano Lattarini <address@hidden>

commit 83cc9fd054566db15736c07c0a46c288d28082c2
Author: Stefano Lattarini <address@hidden>
Date:   Thu Oct 18 14:45:21 2012 +0200

    depcomp: avoid an extra fork when possible
    
    * lib/depcomp (set_dir_from): Here.
    
    Signed-off-by: Stefano Lattarini <address@hidden>

commit 5d3b980bd2b63733a98f626e5f23c5c9661cc3cc
Author: Stefano Lattarini <address@hidden>
Date:   Thu Oct 18 13:59:52 2012 +0200

    depcomp: reduce code duplication
    
    * lib/depcomp: Here, when we have to get the directory and basename
    components of objects or source files; do so with the help of ...
    (set_dir_from, set_base_from): ... these new shell functions.
    
    Signed-off-by: Stefano Lattarini <address@hidden>

commit b53a3b016eba7c20e0d445fa6bd8923c7a3334bb
Author: Stefano Lattarini <address@hidden>
Date:   Thu Oct 18 13:46:48 2012 +0200

    depcomp: don't rely on character ranges working as in C locale
    
    * lib/depcomp (pgcc): Here.
    Related reorganization, with the unconditional definition of ...
    ($upper, $lower, $digits, $alnum, $alpha): ... these shell variables.
    
    Signed-off-by: Stefano Lattarini <address@hidden>

commit 35ef2ffe421130676ee10361dda09bef4785a194
Author: Stefano Lattarini <address@hidden>
Date:   Thu Oct 18 13:36:20 2012 +0200

    depcomp: cosmetic fixlets to a comment
    
    * lib/depcomp (pgcc): Here, as that's unportable according to the
    autoconf manual.  In fact, there's no need to re-trap the signals
    just before exiting, since at that point a signal would cause at
    most a useless but harmless attempt to remove the
    
    Signed-off-by: Stefano Lattarini <address@hidden>

commit 0c1a92102dc1cf17e32aacde6dc1f21584425711
Author: Stefano Lattarini <address@hidden>
Date:   Thu Oct 18 13:28:54 2012 +0200

    depcomp: safer quoting in variable expansion
    
    * lib/depcomp (pgcc): Here.  Probably not needed, but since the
    rest of the script seems to employ proper quoting, better to be
    consistent.
    
    Signed-off-by: Stefano Lattarini <address@hidden>

commit 5d84b891ff16e702cc273a0584e6746e7cd70458
Author: Stefano Lattarini <address@hidden>
Date:   Thu Oct 18 13:27:19 2012 +0200

    depcomp: correctly propagate exit status in exit trap
    
    * lib/depcomp (pgcc): Here.
    
    Signed-off-by: Stefano Lattarini <address@hidden>

commit 1d51ce40acac781d98e23ab234b3a00bfc1885a7
Author: Stefano Lattarini <address@hidden>
Date:   Thu Oct 18 13:24:21 2012 +0200

    depcomp: use "rmdir", not "rm -rf", to remove the empty lock directory
    
    * lib/depcomp (pgcc): Here.
    
    Signed-off-by: Stefano Lattarini <address@hidden>

commit 8469853ac0e693b28a48e30310ff1417bcf61d6a
Author: Stefano Lattarini <address@hidden>
Date:   Thu Oct 18 13:22:56 2012 +0200

    depcomp: remove useless quoting in variable definitions
    
    * lib/depcomp (pgcc): Here.
    
    Signed-off-by: Stefano Lattarini <address@hidden>

commit 883723873c94bdd3a9a3c9a376e3b2b266db5ca3
Author: Stefano Lattarini <address@hidden>
Date:   Thu Oct 18 12:47:17 2012 +0200

    depcomp: be more idiomatic in checking for zero exit statuses
    
    * lib/depcomp: Prefer "if test $stat -ne 0; then ..." over the longer
    "if test $stat -eq 0; then :; else ...".
    
    Signed-off-by: Stefano Lattarini <address@hidden>

commit a55591f32d816db41335835eb8bc92aa4d5c5267
Author: Stefano Lattarini <address@hidden>
Date:   Sat Nov 24 14:32:06 2012 +0100

    tests: give some tests more significant names
    
    * t/req.sh: Rename ...
    * t/aclocal-req.sh: ... like this.
    * t/reqd.sh: Rename ...
    * t/add-missing-multiple.sh: ... like this.
    * t/block.sh: Rename ...
    * t/comment-block.sh: ... like this.
    * t/list-of-tests.mk: Adjust.
    
    Signed-off-by: Stefano Lattarini <address@hidden>

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

Summary of changes:
 NEWS                                               |   54 +++-
 lib/depcomp                                        |  407 ++++++++++----------
 m4/python.m4                                       |   37 ++-
 ...rlist-abspath.sh => aclocal-dirlist-abspath.sh} |    0
 t/{dirlist2.sh => aclocal-dirlist-globbing.sh}     |    0
 t/{dirlist.sh => aclocal-dirlist.sh}               |    0
 t/{req.sh => aclocal-req.sh}                       |    0
 t/{reqd.sh => add-missing-multiple.sh}             |    2 +
 t/amhello-binpkg.sh                                |    4 +-
 t/{block.sh => comment-block.sh}                   |    0
 t/depcomp8a.sh                                     |    9 +-
 t/depcomp8b.sh                                     |    4 +-
 t/list-of-tests.mk                                 |   26 +-
 t/{vala4.sh => vala-configure.sh}                  |    0
 t/{vala.sh => vala-grepping.sh}                    |    0
 t/vala-libs.sh                                     |    2 +-
 t/vala-mix.sh                                      |   10 +-
 t/vala-mix2.sh                                     |    6 +-
 t/{vala3.sh => vala-non-recursive-setup.sh}        |    0
 t/vala-parallel.sh                                 |    6 +-
 t/{vala5.sh => vala-per-target-flags.sh}           |    2 +-
 t/{vala2.sh => vala-recursive-setup.sh}            |    0
 t/vala-vapi.sh                                     |   13 +-
 t/vala-vpath.sh                                    |    8 +-
 t/warnings-unknown.sh                              |    4 -
 25 files changed, 341 insertions(+), 253 deletions(-)
 rename t/{dirlist-abspath.sh => aclocal-dirlist-abspath.sh} (100%)
 rename t/{dirlist2.sh => aclocal-dirlist-globbing.sh} (100%)
 rename t/{dirlist.sh => aclocal-dirlist.sh} (100%)
 rename t/{req.sh => aclocal-req.sh} (100%)
 rename t/{reqd.sh => add-missing-multiple.sh} (99%)
 rename t/{block.sh => comment-block.sh} (100%)
 rename t/{vala4.sh => vala-configure.sh} (100%)
 rename t/{vala.sh => vala-grepping.sh} (100%)
 rename t/{vala3.sh => vala-non-recursive-setup.sh} (100%)
 rename t/{vala5.sh => vala-per-target-flags.sh} (97%)
 rename t/{vala2.sh => vala-recursive-setup.sh} (100%)

diff --git a/NEWS b/NEWS
index e672ad1..982233f 100644
--- a/NEWS
+++ b/NEWS
@@ -148,6 +148,21 @@ New in 1.13:
     Automake versions will warn about its use, and later version will
     remove support for it altogether.
 
+* The depcomp script:
+
+  - Dropped support for libtool 1.4.
+
+  - Various internal refactorings.  They should cause no visible change,
+    but the chance for regression is there anyway, so please report any
+    unexpected or suspicious behaviour.
+
+  - Support for pre-8.0 versions of the Intel C Compiler has been dropped.
+    This should cause no problem, since icc 8.0 has been released in
+    December 2003 -- almost nine years ago.
+
+  - Support for tcc (the Tiny C Compiler) has been improved, and is now
+    handled through a dedicated 'tcc' mode.
+
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 New in 1.12.6:
@@ -162,7 +177,7 @@ New in 1.12.6:
     option) will be removed in the next major Automake release (1.13).
 
   - The long-obsolete (since automake 1.10) AM_PROG_MKDIR m4 macro will
-    be removed in Automake 1.13.  The $(mkdir_p) make variable and the
+    be removed in Automake 1.14.  The $(mkdir_p) make variable and the
     @mkdir_p@ substitution will still remain available (as aliases of
     $(MKDIR_P)) for the moment, for better backward compatibility.
 
@@ -215,10 +230,38 @@ New in 1.12.6:
 
 Bugs fixed in 1.12.6:
 
-* Bugs introduced in 1.12.5:
+* Python-related bugs:
+
+  - The default installation location for python modules has been improved
+    for Python 3 on Debian and Ubuntu systems, changing from:
 
-  - The maintainer rebuild rules for Makefiles and aclocal.m4 in Automake's
-    own build system works correctly again.
+        ${prefix}/lib/python3/dist-packages
+
+    to
+
+        ${prefix}/lib/python3.x/site-packages
+
+    This change should ensure modules installed using the default ${prefix}
+    "/usr/local" are found by default by system python 3.x installations.
+    See automake bug#10227.
+
+  - Python byte-compilation supports the new layout mandated by PEP-3147,
+    with its __pycache__ directory (automake bug#8847).
+
+* Build system issues:
+
+  - The maintainer rebuild rules for Makefiles and aclocal.m4 in
+    Automake's own build system works correctly again (bug introduced
+    in Automake 1.12.5).
+
+* Testsuite issues:
+
+  - The Vala-related tests has been changed to adjust to the removal of
+    the 'posix' profile in the valac compiler.  See automake bug#12934
+    a.k.a. bug#12522.
+
+  - Some spurious testsuite failures related to older tools and systems
+    have been fixed.
 
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
@@ -266,9 +309,6 @@ Bugs fixed in 1.12.5:
     finding classic 'libname.a' style libraries when 'name.lib' and
     'name.dll.lib' aren't available.
 
-  - Python byte-compilation supports the new layout mandated by PEP-3147,
-    with its __pycache__ directory (automake bug#8847).
-
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 New in 1.12.4:
diff --git a/lib/depcomp b/lib/depcomp
index e1f51f4..3f02f5d 100755
--- a/lib/depcomp
+++ b/lib/depcomp
@@ -1,7 +1,7 @@
 #! /bin/sh
 # depcomp - compile a program generating dependencies as side-effects
 
-scriptversion=2012-07-12.20; # UTC
+scriptversion=2012-10-18.11; # UTC
 
 # Copyright (C) 1999-2012 Free Software Foundation, Inc.
 
@@ -27,9 +27,9 @@ scriptversion=2012-07-12.20; # UTC
 
 case $1 in
   '')
-     echo "$0: No command.  Try '$0 --help' for more information." 1>&2
-     exit 1;
-     ;;
+    echo "$0: No command.  Try '$0 --help' for more information." 1>&2
+    exit 1;
+    ;;
   -h | --h*)
     cat <<\EOF
 Usage: depcomp [--help] [--version] PROGRAM [ARGS]
@@ -56,11 +56,65 @@ EOF
     ;;
 esac
 
+# Get the directory component of the given path, and save it in the
+# global variables '$dir'.  Note that this directory component will
+# be either empty or ending with a '/' character.  This is deliberate.
+set_dir_from ()
+{
+  case $1 in
+    */*) dir=`echo "$1" | sed -e 's|/[^/]*$|/|'`;;
+      *) dir=;;
+  esac
+}
+
+# Get the suffix-stripped basename of the given path, and save it the
+# global variable '$base'.
+set_base_from ()
+{
+  base=`echo "$1" | sed -e 's|^.*/||' -e 's/\.[^.]*$//'`
+}
+
+# If no dependency file was actually created by the compiler invocation,
+# we still have to create a dummy depfile, to avoid errors with the
+# Makefile "include basename.Plo" scheme.
+make_dummy_depfile ()
+{
+  echo "#dummy" > "$depfile"
+}
+
+# Factor out some common post-processing of the generated depfile.
+# Requires the auxiliary global variable '$tmpdepfile' to be set.
+aix_post_process_depfile ()
+{
+  # If the compiler actually managed to produce a dependency file,
+  # post-process it.
+  if test -f "$tmpdepfile"; then
+    # Each line is of the form 'foo.o: dependency.h'.
+    # Do two passes, one to just change these to
+    #   $object: dependency.h
+    # and one to simply output
+    #   dependency.h:
+    # which is needed to avoid the deleted-header problem.
+    { sed -e "s,^.*\.[$lower]*:,$object:," < "$tmpdepfile"
+      sed -e "s,^.*\.[$lower]*:[$tab ]*,," -e 's,$,:,' < "$tmpdepfile"
+    } > "$depfile"
+    rm -f "$tmpdepfile"
+  else
+    make_dummy_depfile
+  fi
+}
+
 # A tabulation character.
 tab='  '
 # A newline character.
 nl='
 '
+# Character ranges might be problematic outside the C locale.
+# These definitions help.
+upper=ABCDEFGHIJKLMNOPQRSTUVWXYZ
+lower=abcdefghijklmnopqrstuvwxyz
+digits=0123456789
+alpha=${upper}${lower}
 
 if test -z "$depmode" || test -z "$source" || test -z "$object"; then
   echo "depcomp: Variables source, object and depmode must be set" 1>&2
@@ -88,32 +142,32 @@ if test "$depmode" = hp; then
 fi
 
 if test "$depmode" = dashXmstdout; then
-   # This is just like dashmstdout with a different argument.
-   dashmflag=-xM
-   depmode=dashmstdout
+  # This is just like dashmstdout with a different argument.
+  dashmflag=-xM
+  depmode=dashmstdout
 fi
 
 cygpath_u="cygpath -u -f -"
 if test "$depmode" = msvcmsys; then
-   # This is just like msvisualcpp but w/o cygpath translation.
-   # Just convert the backslash-escaped backslashes to single forward
-   # slashes to satisfy depend.m4
-   cygpath_u='sed s,\\\\,/,g'
-   depmode=msvisualcpp
+  # This is just like msvisualcpp but w/o cygpath translation.
+  # Just convert the backslash-escaped backslashes to single forward
+  # slashes to satisfy depend.m4
+  cygpath_u='sed s,\\\\,/,g'
+  depmode=msvisualcpp
 fi
 
 if test "$depmode" = msvc7msys; then
-   # This is just like msvc7 but w/o cygpath translation.
-   # Just convert the backslash-escaped backslashes to single forward
-   # slashes to satisfy depend.m4
-   cygpath_u='sed s,\\\\,/,g'
-   depmode=msvc7
+  # This is just like msvc7 but w/o cygpath translation.
+  # Just convert the backslash-escaped backslashes to single forward
+  # slashes to satisfy depend.m4
+  cygpath_u='sed s,\\\\,/,g'
+  depmode=msvc7
 fi
 
 if test "$depmode" = xlc; then
-   # IBM C/C++ Compilers xlc/xlC can output gcc-like dependency information.
-   gccflag=-qmakedep=gcc,-MF
-   depmode=gcc
+  # IBM C/C++ Compilers xlc/xlC can output gcc-like dependency information.
+  gccflag=-qmakedep=gcc,-MF
+  depmode=gcc
 fi
 
 case "$depmode" in
@@ -136,8 +190,7 @@ gcc3)
   done
   "$@"
   stat=$?
-  if test $stat -eq 0; then :
-  else
+  if test $stat -ne 0; then
     rm -f "$tmpdepfile"
     exit $stat
   fi
@@ -163,15 +216,14 @@ gcc)
   fi
   "$@" -Wp,"$gccflag$tmpdepfile"
   stat=$?
-  if test $stat -eq 0; then :
-  else
+  if test $stat -ne 0; then
     rm -f "$tmpdepfile"
     exit $stat
   fi
   rm -f "$depfile"
   echo "$object : \\" > "$depfile"
-  alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
-## The second -e expression handles DOS-style file names with drive letters.
+  # The second -e expression handles DOS-style file names with drive
+  # letters.
   sed -e 's/^[^:]*: / /' \
       -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
 ## This next piece of magic avoids the "deleted header file" problem.
@@ -180,15 +232,15 @@ gcc)
 ## typically no way to rebuild the header).  We avoid this by adding
 ## dummy dependencies for each header file.  Too bad gcc doesn't do
 ## this for us directly.
-  tr ' ' "$nl" < "$tmpdepfile" |
 ## Some versions of gcc put a space before the ':'.  On the theory
 ## that the space means something, we add a space to the output as
 ## well.  hp depmode also adds that space, but also prefixes the VPATH
 ## to the object.  Take care to not repeat it in the output.
 ## Some versions of the HPUX 10.20 sed can't process this invocation
 ## correctly.  Breaking it into two sed invocations is a workaround.
-    sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \
-      | sed -e 's/$/ :/' >> "$depfile"
+  tr ' ' "$nl" < "$tmpdepfile" \
+    | sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \
+    | sed -e 's/$/ :/' >> "$depfile"
   rm -f "$tmpdepfile"
   ;;
 
@@ -206,8 +258,7 @@ sgi)
     "$@" -MDupdate "$tmpdepfile"
   fi
   stat=$?
-  if test $stat -eq 0; then :
-  else
+  if test $stat -ne 0; then
     rm -f "$tmpdepfile"
     exit $stat
   fi
@@ -215,7 +266,6 @@ sgi)
 
   if test -f "$tmpdepfile"; then  # yes, the sourcefile depend on other files
     echo "$object : \\" > "$depfile"
-
     # Clip off the initial element (the dependent).  Don't try to be
     # clever and replace this with sed code, as IRIX sed won't handle
     # lines with more than a fixed number of characters (4096 in
@@ -223,19 +273,15 @@ sgi)
     # the IRIX cc adds comments like '#:fec' to the end of the
     # dependency line.
     tr ' ' "$nl" < "$tmpdepfile" \
-    | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
-    tr "$nl" ' ' >> "$depfile"
+      | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' \
+      | tr "$nl" ' ' >> "$depfile"
     echo >> "$depfile"
-
     # The second pass generates a dummy entry for each header file.
     tr ' ' "$nl" < "$tmpdepfile" \
-   | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
-   >> "$depfile"
+      | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
+      >> "$depfile"
   else
-    # The sourcefile does not contain any dependencies, so just
-    # store a dummy comment line, to avoid errors with the Makefile
-    # "include basename.Plo" scheme.
-    echo "#dummy" > "$depfile"
+    make_dummy_depfile
   fi
   rm -f "$tmpdepfile"
   ;;
@@ -253,9 +299,8 @@ aix)
   # current directory.  Also, the AIX compiler puts '$object:' at the
   # start of each line; $object doesn't have directory information.
   # Version 6 uses the directory in both cases.
-  dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
-  test "x$dir" = "x$object" && dir=
-  base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
+  set_dir_from "$object"
+  set_base_from "$object"
   if test "$libtool" = yes; then
     tmpdepfile1=$dir$base.u
     tmpdepfile2=$base.u
@@ -268,9 +313,7 @@ aix)
     "$@" -M
   fi
   stat=$?
-
-  if test $stat -eq 0; then :
-  else
+  if test $stat -ne 0; then
     rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
     exit $stat
   fi
@@ -279,65 +322,37 @@ aix)
   do
     test -f "$tmpdepfile" && break
   done
-  if test -f "$tmpdepfile"; then
-    # Each line is of the form 'foo.o: dependent.h'.
-    # Do two passes, one to just change these to
-    # '$object: dependent.h' and one to simply 'dependent.h:'.
-    sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
-    sed -e 's,^.*\.[a-z]*:['"$tab"' ]*,,' -e 's,$,:,' < "$tmpdepfile" >> 
"$depfile"
-  else
-    # The sourcefile does not contain any dependencies, so just
-    # store a dummy comment line, to avoid errors with the Makefile
-    # "include basename.Plo" scheme.
-    echo "#dummy" > "$depfile"
-  fi
-  rm -f "$tmpdepfile"
+  aix_post_process_depfile
   ;;
 
-icc)
-  # Intel's C compiler anf tcc (Tiny C Compiler) understand '-MD -MF file'.
-  # However on
-  #    $CC -MD -MF foo.d -c -o sub/foo.o sub/foo.c
-  # ICC 7.0 will fill foo.d with something like
-  #    foo.o: sub/foo.c
-  #    foo.o: sub/foo.h
-  # which is wrong.  We want
-  #    sub/foo.o: sub/foo.c
-  #    sub/foo.o: sub/foo.h
-  #    sub/foo.c:
-  #    sub/foo.h:
-  # ICC 7.1 will output
-  #    foo.o: sub/foo.c sub/foo.h
-  # and will wrap long lines using '\':
-  #    foo.o: sub/foo.c ... \
-  #     sub/foo.h ... \
-  #     ...
-  # tcc 0.9.26 (FIXME still under development at the moment of writing)
-  # will emit a similar output, but also prepend the continuation lines
-  # with horizontal tabulation characters.
+tcc)
+  # tcc (Tiny C Compiler) understand '-MD -MF file' since version 0.9.26
+  # FIXME: That version still under development at the moment of writing.
+  #        Make that this statement remains true also for stable, released
+  #        versions.
+  # It will wrap lines (doesn't matter whether long or short) with a
+  # trailing '\', as in:
+  #
+  #   foo.o : \
+  #    foo.c \
+  #    foo.h \
+  #
+  # It will put a trailing '\' even on the last line, and will use leading
+  # spaces rather than leading tabs (at least since its commit 0394caf7
+  # "Emit spaces for -MD").
   "$@" -MD -MF "$tmpdepfile"
   stat=$?
-  if test $stat -eq 0; then :
-  else
+  if test $stat -ne 0; then
     rm -f "$tmpdepfile"
     exit $stat
   fi
   rm -f "$depfile"
-  # Each line is of the form 'foo.o: dependent.h',
-  # or 'foo.o: dep1.h dep2.h \', or ' dep3.h dep4.h \'.
-  # Do two passes, one to just change these to
-  # '$object: dependent.h' and one to simply 'dependent.h:'.
-  sed -e "s/^[ $tab][ $tab]*/  /" -e "s,^[^:]*:,$object :," \
-    < "$tmpdepfile" > "$depfile"
-  sed '
-    s/[ '"$tab"'][ '"$tab"']*/ /g
-    s/^ *//
-    s/ *\\*$//
-    s/^[^:]*: *//
-    /^$/d
-    /:$/d
-    s/$/ :/
-  ' < "$tmpdepfile" >> "$depfile"
+  # Each non-empty line is of the form 'foo.o : \' or ' dep.h \'.
+  # We have to change lines of the first kind to '$object: \'.
+  sed -e "s|.*:|$object :|" < "$tmpdepfile" > "$depfile"
+  # And for each line of the second kind, we have to emit a 'dep.h:'
+  # dummy dependency, to avoid the deleted-header problem.
+  sed -n -e 's|^  *\(.*\) *\\$|\1:|p' < "$tmpdepfile" >> "$depfile"
   rm -f "$tmpdepfile"
   ;;
 
@@ -356,34 +371,37 @@ pgcc)
   #    foo.o: sub/foo.c ... \
   #     sub/foo.h ... \
   #     ...
-  dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
-  test "x$dir" = "x$object" && dir=
+  set_dir_from "$object"
   # Use the source, not the object, to determine the base name, since
   # that's sadly what pgcc will do too.
-  base=`echo "$source" | sed -e 's|^.*/||' -e 's/\.[-_a-zA-Z0-9]*$//'`
-  tmpdepfile="$base.d"
+  set_base_from "$source"
+  tmpdepfile=$base.d
 
   # For projects that build the same source file twice into different object
   # files, the pgcc approach of using the *source* file root name can cause
   # problems in parallel builds.  Use a locking strategy to avoid stomping on
   # the same $tmpdepfile.
-  lockdir="$base.d-lock"
-  trap "echo '$0: caught signal, cleaning up...' >&2; rm -rf $lockdir" 1 2 13 
15
+  lockdir=$base.d-lock
+  trap "
+    echo '$0: caught signal, cleaning up...' >&2
+    rmdir '$lockdir'
+    exit 1
+  " 1 2 13 15
   numtries=100
   i=$numtries
-  while test $i -gt 0 ; do
+  while test $i -gt 0; do
     # mkdir is a portable test-and-set.
-    if mkdir $lockdir 2>/dev/null; then
+    if mkdir "$lockdir" 2>/dev/null; then
       # This process acquired the lock.
       "$@" -MD
       stat=$?
       # Release the lock.
-      rm -rf $lockdir
+      rmdir "$lockdir"
       break
     else
-      ## the lock is being held by a different process,
-      ## wait until the winning process is done or we timeout
-      while test -d $lockdir && test $i -gt 0; do
+      # If the lock is being held by a different process, wait
+      # until the winning process is done or we timeout.
+      while test -d "$lockdir" && test $i -gt 0; do
         sleep 1
         i=`expr $i - 1`
       done
@@ -409,8 +427,8 @@ pgcc)
   sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
   # Some versions of the HPUX 10.20 sed can't process this invocation
   # correctly.  Breaking it into two sed invocations is a workaround.
-  sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" |
-    sed -e 's/$/ :/' >> "$depfile"
+  sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" \
+    | sed -e 's/$/ :/' >> "$depfile"
   rm -f "$tmpdepfile"
   ;;
 
@@ -421,9 +439,8 @@ hp2)
   # 'foo.d', which lands next to the object file, wherever that
   # happens to be.
   # Much of this is similar to the tru64 case; see comments there.
-  dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
-  test "x$dir" = "x$object" && dir=
-  base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
+  set_dir_from  "$object"
+  set_base_from "$object"
   if test "$libtool" = yes; then
     tmpdepfile1=$dir$base.d
     tmpdepfile2=$dir.libs/$base.d
@@ -434,8 +451,7 @@ hp2)
     "$@" +Maked
   fi
   stat=$?
-  if test $stat -eq 0; then :
-  else
+  if test $stat -ne 0; then
      rm -f "$tmpdepfile1" "$tmpdepfile2"
      exit $stat
   fi
@@ -445,76 +461,61 @@ hp2)
     test -f "$tmpdepfile" && break
   done
   if test -f "$tmpdepfile"; then
-    sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile"
+    sed -e "s,^.*\.[$lower]*:,$object:," "$tmpdepfile" > "$depfile"
     # Add 'dependent.h:' lines.
     sed -ne '2,${
-              s/^ *//
-              s/ \\*$//
-              s/$/:/
-              p
-            }' "$tmpdepfile" >> "$depfile"
+               s/^ *//
+               s/ \\*$//
+               s/$/:/
+               p
+             }' "$tmpdepfile" >> "$depfile"
   else
-    echo "#dummy" > "$depfile"
+    make_dummy_depfile
   fi
   rm -f "$tmpdepfile" "$tmpdepfile2"
   ;;
 
 tru64)
-   # The Tru64 compiler uses -MD to generate dependencies as a side
-   # effect.  'cc -MD -o foo.o ...' puts the dependencies into 'foo.o.d'.
-   # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
-   # dependencies in 'foo.d' instead, so we check for that too.
-   # Subdirectories are respected.
-   dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
-   test "x$dir" = "x$object" && dir=
-   base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
-
-   if test "$libtool" = yes; then
-      # With Tru64 cc, shared objects can also be used to make a
-      # static library.  This mechanism is used in libtool 1.4 series to
-      # handle both shared and static libraries in a single compilation.
-      # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d.
-      #
-      # With libtool 1.5 this exception was removed, and libtool now
-      # generates 2 separate objects for the 2 libraries.  These two
-      # compilations output dependencies in $dir.libs/$base.o.d and
-      # in $dir$base.o.d.  We have to check for both files, because
-      # one of the two compilations can be disabled.  We should prefer
-      # $dir$base.o.d over $dir.libs/$base.o.d because the latter is
-      # automatically cleaned when .libs/ is deleted, while ignoring
-      # the former would cause a distcleancheck panic.
-      tmpdepfile1=$dir.libs/$base.lo.d   # libtool 1.4
-      tmpdepfile2=$dir$base.o.d          # libtool 1.5
-      tmpdepfile3=$dir.libs/$base.o.d    # libtool 1.5
-      tmpdepfile4=$dir.libs/$base.d      # Compaq CCC V6.2-504
-      "$@" -Wc,-MD
-   else
-      tmpdepfile1=$dir$base.o.d
-      tmpdepfile2=$dir$base.d
-      tmpdepfile3=$dir$base.d
-      tmpdepfile4=$dir$base.d
-      "$@" -MD
-   fi
-
-   stat=$?
-   if test $stat -eq 0; then :
-   else
-      rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
-      exit $stat
-   fi
-
-   for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" 
"$tmpdepfile4"
-   do
-     test -f "$tmpdepfile" && break
-   done
-   if test -f "$tmpdepfile"; then
-      sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
-      sed -e 's,^.*\.[a-z]*:['"$tab"' ]*,,' -e 's,$,:,' < "$tmpdepfile" >> 
"$depfile"
-   else
-      echo "#dummy" > "$depfile"
-   fi
-   rm -f "$tmpdepfile"
-   ;;
+  # The Tru64 compiler uses -MD to generate dependencies as a side
+  # effect.  'cc -MD -o foo.o ...' puts the dependencies into 'foo.o.d'.
+  # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
+  # dependencies in 'foo.d' instead, so we check for that too.
+  # Subdirectories are respected.
+  set_dir_from  "$object"
+  set_base_from "$object"
+
+  if test "$libtool" = yes; then
+    # Libtool generates 2 separate objects for the 2 libraries.  These
+    # two compilations output dependencies in $dir.libs/$base.o.d and
+    # in $dir$base.o.d.  We have to check for both files, because
+    # one of the two compilations can be disabled.  We should prefer
+    # $dir$base.o.d over $dir.libs/$base.o.d because the latter is
+    # automatically cleaned when .libs/ is deleted, while ignoring
+    # the former would cause a distcleancheck panic.
+    tmpdepfile1=$dir$base.o.d          # libtool 1.5
+    tmpdepfile2=$dir.libs/$base.o.d    # Likewise.
+    tmpdepfile3=$dir.libs/$base.d      # Compaq CCC V6.2-504
+    "$@" -Wc,-MD
+  else
+    tmpdepfile1=$dir$base.d
+    tmpdepfile2=$dir$base.d
+    tmpdepfile3=$dir$base.d
+    "$@" -MD
+  fi
+
+  stat=$?
+  if test $stat -ne 0; then
+    rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
+    exit $stat
+  fi
+
+  for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
+  do
+    test -f "$tmpdepfile" && break
+  done
+  # Same post-processing that is required for AIX mode.
+  aix_post_process_depfile
+  ;;
 
 msvc7)
   if test "$libtool" = yes; then
@@ -525,8 +526,7 @@ msvc7)
   "$@" $showIncludes > "$tmpdepfile"
   stat=$?
   grep -v '^Note: including file: ' "$tmpdepfile"
-  if test "$stat" = 0; then :
-  else
+  if test $stat -ne 0; then
     rm -f "$tmpdepfile"
     exit $stat
   fi
@@ -603,13 +603,14 @@ dashmstdout)
   # in the target name.  This is to cope with DOS-style filenames:
   # a dependency such as 'c:/foo/bar' could be seen as target 'c' otherwise.
   "$@" $dashmflag |
-    sed 's:^['"$tab"' ]*[^:'"$tab"' ][^:][^:]*\:['"$tab"' ]*:'"$object"'\: :' 
> "$tmpdepfile"
+    sed "s|^[$tab ]*[^:$tab ][^:][^:]*:[$tab ]*|$object: |" > "$tmpdepfile"
   rm -f "$depfile"
   cat < "$tmpdepfile" > "$depfile"
-  tr ' ' "$nl" < "$tmpdepfile" | \
-## Some versions of the HPUX 10.20 sed can't process this invocation
-## correctly.  Breaking it into two sed invocations is a workaround.
-    sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
+  # Some versions of the HPUX 10.20 sed can't process this sed invocation
+  # correctly.  Breaking it into two sed invocations is a workaround.
+  tr ' ' "$nl" < "$tmpdepfile" \
+    | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \
+    | sed -e 's/$/ :/' >> "$depfile"
   rm -f "$tmpdepfile"
   ;;
 
@@ -662,10 +663,12 @@ makedepend)
   # makedepend may prepend the VPATH from the source file name to the object.
   # No need to regex-escape $object, excess matching of '.' is harmless.
   sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile"
-  sed '1,2d' "$tmpdepfile" | tr ' ' "$nl" | \
-## Some versions of the HPUX 10.20 sed can't process this invocation
-## correctly.  Breaking it into two sed invocations is a workaround.
-    sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
+  # Some versions of the HPUX 10.20 sed can't process the last invocation
+  # correctly.  Breaking it into two sed invocations is a workaround.
+  sed '1,2d' "$tmpdepfile" \
+    | tr ' ' "$nl" \
+    | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \
+    | sed -e 's/$/ :/' >> "$depfile"
   rm -f "$tmpdepfile" "$tmpdepfile".bak
   ;;
 
@@ -701,10 +704,10 @@ cpp)
     esac
   done
 
-  "$@" -E |
-    sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
-       -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
-    sed '$ s: \\$::' > "$tmpdepfile"
+  "$@" -E \
+    | sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
+             -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
+    | sed '$ s: \\$::' > "$tmpdepfile"
   rm -f "$depfile"
   echo "$object : \\" > "$depfile"
   cat < "$tmpdepfile" >> "$depfile"
@@ -736,15 +739,15 @@ msvisualcpp)
       shift
       ;;
     "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
-       set fnord "$@"
-       shift
-       shift
-       ;;
+        set fnord "$@"
+        shift
+        shift
+        ;;
     *)
-       set fnord "$@" "$arg"
-       shift
-       shift
-       ;;
+        set fnord "$@" "$arg"
+        shift
+        shift
+        ;;
     esac
   done
   "$@" -E 2>/dev/null |
diff --git a/m4/python.m4 b/m4/python.m4
index 50213a9..5d9d057 100644
--- a/m4/python.m4
+++ b/m4/python.m4
@@ -106,6 +106,25 @@ AC_DEFUN([AM_PATH_PYTHON],
     [am_cv_python_platform=`$PYTHON -c "import sys; 
sys.stdout.write(sys.platform)"`])
   AC_SUBST([PYTHON_PLATFORM], [$am_cv_python_platform])
 
+  # Just factor out some code duplication.
+  am_python_setup_sysconfig="\
+import sys
+# Prefer sysconfig over distutils.sysconfig, for better compatibility
+# with python 3.x.  See automake bug#10227.
+try:
+    import sysconfig
+except ImportError:
+    can_use_sysconfig = 0
+else:
+    can_use_sysconfig = 1
+# Can't use sysconfig in CPython 2.7, since it's broken in virtualenvs:
+# <https://github.com/pypa/virtualenv/issues/118>
+try:
+    from platform import python_implementation
+    if python_implementation() == 'CPython' and sys.version[[:3]] == '2.7':
+        can_use_sysconfig = 0
+except ImportError:
+    pass"
 
   dnl Set up 4 directories:
 
@@ -122,7 +141,14 @@ AC_DEFUN([AM_PATH_PYTHON],
      else
        am_py_prefix=$prefix
      fi
-     am_cv_python_pythondir=`$PYTHON -c "import sys; from distutils import 
sysconfig; 
sys.stdout.write(sysconfig.get_python_lib(0,0,prefix='$am_py_prefix'))" 
2>/dev/null`
+     am_cv_python_pythondir=`$PYTHON -c "
+$am_python_setup_sysconfig
+if can_use_sysconfig:
+    sitedir = sysconfig.get_path('purelib', vars={'base':'$am_py_prefix'})
+else:
+    from distutils import sysconfig
+    sitedir = sysconfig.get_python_lib(0, 0, prefix='$am_py_prefix')
+sys.stdout.write(sitedir)"`
      case $am_cv_python_pythondir in
      $am_py_prefix*)
        am__strip_prefix=`echo "$am_py_prefix" | sed 's|.|.|g'`
@@ -157,7 +183,14 @@ AC_DEFUN([AM_PATH_PYTHON],
      else
        am_py_exec_prefix=$exec_prefix
      fi
-     am_cv_python_pyexecdir=`$PYTHON -c "import sys; from distutils import 
sysconfig; 
sys.stdout.write(sysconfig.get_python_lib(1,0,prefix='$am_py_exec_prefix'))" 
2>/dev/null`
+     am_cv_python_pyexecdir=`$PYTHON -c "
+$am_python_setup_sysconfig
+if can_use_sysconfig:
+    sitedir = sysconfig.get_path('platlib', vars={'platbase':'$am_py_prefix'})
+else:
+    from distutils import sysconfig
+    sitedir = sysconfig.get_python_lib(1, 0, prefix='$am_py_prefix')
+sys.stdout.write(sitedir)"`
      case $am_cv_python_pyexecdir in
      $am_py_exec_prefix*)
        am__strip_prefix=`echo "$am_py_exec_prefix" | sed 's|.|.|g'`
diff --git a/t/dirlist-abspath.sh b/t/aclocal-dirlist-abspath.sh
similarity index 100%
rename from t/dirlist-abspath.sh
rename to t/aclocal-dirlist-abspath.sh
diff --git a/t/dirlist2.sh b/t/aclocal-dirlist-globbing.sh
similarity index 100%
rename from t/dirlist2.sh
rename to t/aclocal-dirlist-globbing.sh
diff --git a/t/dirlist.sh b/t/aclocal-dirlist.sh
similarity index 100%
rename from t/dirlist.sh
rename to t/aclocal-dirlist.sh
diff --git a/t/req.sh b/t/aclocal-req.sh
similarity index 100%
rename from t/req.sh
rename to t/aclocal-req.sh
diff --git a/t/reqd.sh b/t/add-missing-multiple.sh
similarity index 99%
rename from t/reqd.sh
rename to t/add-missing-multiple.sh
index f349798..a817d5b 100755
--- a/t/reqd.sh
+++ b/t/add-missing-multiple.sh
@@ -43,3 +43,5 @@ test -f one/mdate-sh
 test -f one/texinfo.tex
 test -f two/mdate-sh
 test -f two/texinfo.tex
+
+:
diff --git a/t/amhello-binpkg.sh b/t/amhello-binpkg.sh
index c87717c..58d0fdd 100755
--- a/t/amhello-binpkg.sh
+++ b/t/amhello-binpkg.sh
@@ -44,8 +44,8 @@ if tar --version </dev/null | grep GNU; then
 END
 else
   : Be laxer with other tar implementations, to avoid spurious failures.
-  $EGREP '(^| )\./usr/bin/hello'$EXEEXT'( |$)' tar.got
-  $EGREP '(^| )\./usr/share/doc/amhello/README( |$)' tar.got
+  $EGREP '(^| )(\./)?usr/bin/hello'$EXEEXT'( |$)' tar.got
+  $EGREP '(^| )(\./)?usr/share/doc/amhello/README( |$)' tar.got
 fi
 
 :
diff --git a/t/block.sh b/t/comment-block.sh
similarity index 100%
rename from t/block.sh
rename to t/comment-block.sh
diff --git a/t/depcomp8a.sh b/t/depcomp8a.sh
index 61ffa56..3d58a3e 100755
--- a/t/depcomp8a.sh
+++ b/t/depcomp8a.sh
@@ -37,12 +37,15 @@ mkdir sub
 cat > foo.c << 'END'
 int main (void)
 {
-  extern int bar;
-  return bar;
+  extern int bar (void);
+  return bar ();
 }
 END
 cat > sub/bar.c << 'END'
-extern int bar = 0;
+int bar (void)
+{
+  return 0;
+}
 END
 
 $ACLOCAL
diff --git a/t/depcomp8b.sh b/t/depcomp8b.sh
index a97e2c3..6fed215 100755
--- a/t/depcomp8b.sh
+++ b/t/depcomp8b.sh
@@ -36,8 +36,8 @@ libzardoz_la_SOURCES = foo.c sub/bar.c
 END
 
 mkdir sub
-echo 'extern int foo = 0;' > foo.c
-echo 'extern int bar = 0;' > sub/bar.c
+echo 'int foo (void) { return 0; }' > foo.c
+echo 'int bar (void) { return 0; }' > sub/bar.c
 
 libtoolize
 
diff --git a/t/list-of-tests.mk b/t/list-of-tests.mk
index 6585ce6..3f48e51 100644
--- a/t/list-of-tests.mk
+++ b/t/list-of-tests.mk
@@ -84,6 +84,9 @@ t/aclocal-deleted-header-aclocal-amflags.sh \
 t/aclocal-deleted-header.sh \
 t/aclocal-deps-subdir.sh \
 t/aclocal-deps.sh \
+t/aclocal-dirlist.sh \
+t/aclocal-dirlist-globbing.sh \
+t/aclocal-dirlist-abspath.sh \
 t/aclocal-install-absdir.sh \
 t/aclocal-install-fail.sh \
 t/aclocal-install-mkdir.sh \
@@ -105,6 +108,7 @@ t/aclocal-path-nonexistent.sh \
 t/aclocal-path-precedence.sh \
 t/aclocal-pr450.sh \
 t/aclocal-print-acdir.sh \
+t/aclocal-req.sh \
 t/aclocal-remake-misc.sh \
 t/aclocal-scan-configure-ac-pr319.sh \
 t/aclocal-serial.sh \
@@ -115,6 +119,7 @@ t/acsilent.sh \
 t/acsubst.sh \
 t/acsubst2.sh \
 t/add-missing.tap \
+t/add-missing-multiple.sh \
 t/all.sh \
 t/all2.sh \
 t/alloca.sh \
@@ -186,7 +191,6 @@ t/backsl4.sh \
 t/badline.sh \
 t/badopt.sh \
 t/badprog.sh \
-t/block.sh \
 t/built-sources-check.sh \
 t/built-sources-cond.sh \
 t/built-sources-fork-bomb.sh \
@@ -249,6 +253,7 @@ t/comment8.sh \
 t/comment9.sh \
 t/commen10.sh \
 t/commen11.sh \
+t/comment-block.sh \
 t/comments-in-var-def.sh \
 t/compile.sh \
 t/compile2.sh \
@@ -377,9 +382,6 @@ t/depend6.sh \
 t/deprecated-acinit.sh \
 t/destdir.sh \
 t/dir-named-obj-is-bad.sh \
-t/dirlist.sh \
-t/dirlist2.sh \
-t/dirlist-abspath.sh \
 t/discover.sh \
 t/dist-formats.tap \
 t/dist-auxdir-many-subdirs.sh \
@@ -947,8 +949,6 @@ t/remake-renamed-am.sh \
 t/remake-aclocal-version-mismatch.sh \
 t/remake-macrodir.sh \
 t/remake-timing-bug-pr8365.sh \
-t/req.sh \
-t/reqd.sh \
 t/reqd2.sh \
 t/repeated-options.sh \
 t/rulepat.sh \
@@ -1193,18 +1193,18 @@ t/unused.sh \
 t/upc.sh \
 t/upc2.sh \
 t/upc3.sh \
-t/vala.sh \
-t/vala2.sh \
-t/vala3.sh \
-t/vala4.sh \
-t/vala5.sh \
-t/vala-vapi.sh \
+t/vala-configure.sh \
+t/vala-grepping.sh \
 t/vala-headers.sh \
 t/vala-libs.sh \
-t/vala-vpath.sh \
 t/vala-mix.sh \
 t/vala-mix2.sh \
+t/vala-non-recursive-setup.sh \
 t/vala-parallel.sh \
+t/vala-per-target-flags.sh \
+t/vala-recursive-setup.sh \
+t/vala-vapi.sh \
+t/vala-vpath.sh \
 t/vars.sh \
 t/vars3.sh \
 t/var-recurs.sh \
diff --git a/t/vala4.sh b/t/vala-configure.sh
similarity index 100%
rename from t/vala4.sh
rename to t/vala-configure.sh
diff --git a/t/vala.sh b/t/vala-grepping.sh
similarity index 100%
rename from t/vala.sh
rename to t/vala-grepping.sh
diff --git a/t/vala-libs.sh b/t/vala-libs.sh
index c38740f..852051b 100755
--- a/t/vala-libs.sh
+++ b/t/vala-libs.sh
@@ -36,7 +36,7 @@ lib_LIBRARIES = libmu.a
 lib_LTLIBRARIES = src/libzardoz.la
 libmu_a_SOURCES = mu.vala mu2.c mu.vapi mu2.h
 libmu_a_CPPFLAGS = -DOKOKIMDEFINED=1
-libmu_a_VALAFLAGS = --profile=posix --vapidir=$(srcdir)
+libmu_a_VALAFLAGS = --vapidir=$(srcdir)
 AM_CFLAGS = $(GOBJECT_CFLAGS)
 src_libzardoz_la_LIBADD = $(GOBJECT_LIBS)
 src_libzardoz_la_SOURCES = src/zardoz-foo.vala src/zardoz-bar.vala
diff --git a/t/vala-mix.sh b/t/vala-mix.sh
index 5e2e7ce..44b5a3b 100755
--- a/t/vala-mix.sh
+++ b/t/vala-mix.sh
@@ -16,23 +16,25 @@
 
 # Vala sources and C sources in the same program.  Functional test.
 
-required='valac cc GNUmake'
+required='valac cc pkg-config GNUmake'
 . test-init.sh
 
 cat >> configure.ac <<'END'
 AC_PROG_CC
 AM_PROG_CC_C_O
 AM_PROG_VALAC([0.7.3])
+PKG_CHECK_MODULES([GOBJECT], [gobject-2.0 >= 2.4])
 AC_OUTPUT
 END
 
 cat > Makefile.am <<'END'
 bin_PROGRAMS = zardoz mu baz
-AM_VALAFLAGS = --profile=posix
+AM_CFLAGS = $(GOBJECT_CFLAGS)
+LDADD = $(GOBJECT_LIBS)
 zardoz_SOURCES = foo.vala bar.c
 mu_SOURCES = 1.vala 2.c
-mu_VALAFLAGS = $(AM_VALAFLAGS) --main=run
-mu_CFLAGS = -DHAVE_MU
+mu_VALAFLAGS = --main=run
+mu_CFLAGS = -DHAVE_MU $(AM_CFLAGS)
 baz_SOURCES = baz.c
 END
 
diff --git a/t/vala-mix2.sh b/t/vala-mix2.sh
index 9b2402d..3e823e2 100755
--- a/t/vala-mix2.sh
+++ b/t/vala-mix2.sh
@@ -17,19 +17,21 @@
 # Vala sources, C and C++ sources and C and C++ headers in the same
 # program.  Functional test.  See automake bug#10894.
 
-required='valac cc c++ GNUmake'
+required='valac cc c++ pkg-config GNUmake'
 . test-init.sh
 
 cat >> configure.ac <<'END'
 AC_PROG_CC
 AC_PROG_CXX
 AM_PROG_VALAC([0.7.3])
+PKG_CHECK_MODULES([GOBJECT], [gobject-2.0 >= 2.4])
 AC_OUTPUT
 END
 
 cat > Makefile.am <<'END'
 bin_PROGRAMS = zardoz
-AM_VALAFLAGS = --profile=posix
+AM_CFLAGS = $(GOBJECT_CFLAGS)
+zardoz_LDADD = $(GOBJECT_LIBS)
 zardoz_SOURCES = zardoz.vala foo.h bar.c baz.c zen.hh master.cxx
 END
 
diff --git a/t/vala3.sh b/t/vala-non-recursive-setup.sh
similarity index 100%
rename from t/vala3.sh
rename to t/vala-non-recursive-setup.sh
diff --git a/t/vala-parallel.sh b/t/vala-parallel.sh
index c71420a..b68d762 100755
--- a/t/vala-parallel.sh
+++ b/t/vala-parallel.sh
@@ -16,19 +16,21 @@
 
 # Vala support with parallel make.
 
-required='valac cc GNUmake'
+required='valac cc pkg-config GNUmake'
 . test-init.sh
 
 cat >> configure.ac <<'END'
 AC_PROG_CC
 AC_PROG_CXX
+PKG_CHECK_MODULES([GOBJECT], [gobject-2.0 >= 2.4])
 AM_PROG_VALAC([0.7.3])
 AC_OUTPUT
 END
 
 cat > Makefile.am <<'END'
 bin_PROGRAMS = zardoz
-AM_VALAFLAGS = --profile=posix
+AM_CFLAGS = $(GOBJECT_CFLAGS)
+LDADD = $(GOBJECT_LIBS)
 zardoz_SOURCES = main.vala 1.vala 2.vala 3.vala 4.vala 5.vala 6.vala
 END
 
diff --git a/t/vala5.sh b/t/vala-per-target-flags.sh
similarity index 97%
rename from t/vala5.sh
rename to t/vala-per-target-flags.sh
index 9cd57f8..5eae281 100755
--- a/t/vala5.sh
+++ b/t/vala-per-target-flags.sh
@@ -14,7 +14,7 @@
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-# Test per-target flags.
+# Test per-target flags in vala support.
 
 required="pkg-config valac gcc GNUmake"
 . test-init.sh
diff --git a/t/vala2.sh b/t/vala-recursive-setup.sh
similarity index 100%
rename from t/vala2.sh
rename to t/vala-recursive-setup.sh
diff --git a/t/vala-vapi.sh b/t/vala-vapi.sh
index f006832..545a0ea 100755
--- a/t/vala-vapi.sh
+++ b/t/vala-vapi.sh
@@ -16,27 +16,30 @@
 
 # Test and that vapi files are correctly handled by Vala support.
 
-required='valac cc GNUmake'
+required='pkg-config valac cc GNUmake'
 . test-init.sh
 
 cat >> configure.ac <<'END'
 AC_PROG_CC
 AM_PROG_CC_C_O
 AM_PROG_VALAC([0.7.3])
+PKG_CHECK_MODULES([GOBJECT], [gobject-2.0 >= 2.4])
 AC_OUTPUT
 END
 
 cat > Makefile.am <<'END'
 bin_PROGRAMS = zardoz
-AM_VALAFLAGS = --profile=posix
+AM_CFLAGS = $(GOBJECT_CFLAGS)
+LDADD = $(GOBJECT_LIBS)
 zardoz_SOURCES = zardoz.vala foo.vapi foo.h
 END
 
 cat > zardoz.vala <<'END'
-int main ()
-{
+using GLib;
+public class Zardoz {
+  public static void main () {
     stdout.printf (BARBAR);
-    return 0;
+  }
 }
 END
 
diff --git a/t/vala-vpath.sh b/t/vala-vpath.sh
index 7428b97..7e2a984 100755
--- a/t/vala-vpath.sh
+++ b/t/vala-vpath.sh
@@ -17,21 +17,23 @@
 # Test to make sure vala support handles from-scratch VPATH builds.
 # See automake bug#8753.
 
-required="cc valac GNUmake"
+required="cc valac pkg-config GNUmake"
 . test-init.sh
 
 cat >> configure.ac << 'END'
 AC_CONFIG_SRCDIR([hello.vala])
 AC_PROG_CC
 AM_PROG_VALAC([0.7.3])
+PKG_CHECK_MODULES([GOBJECT], [gobject-2.0 >= 2.4])
 AC_OUTPUT
 END
 
 cat > Makefile.am <<'END'
 bin_PROGRAMS = foo bar
-AM_VALAFLAGS = --profile=posix
+AM_CFLAGS = $(GOBJECT_CFLAGS)
+LDADD = $(GOBJECT_LIBS)
 foo_SOURCES = hello.vala
-bar_VALAFLAGS = $(AM_VALAFLAGS) -H zardoz.h
+bar_VALAFLAGS = -H zardoz.h
 bar_SOURCES = goodbye.vala
 END
 
diff --git a/t/warnings-unknown.sh b/t/warnings-unknown.sh
index 2677d08..f5e809f 100755
--- a/t/warnings-unknown.sh
+++ b/t/warnings-unknown.sh
@@ -34,10 +34,6 @@ END
 $ACLOCAL
 
 AUTOMAKE_fails -Wbazquux
-# FIXME: we could get rid of this once we improve our wrapper scripts.
-sed "s/^automake:/automake-$APIVERSION:/" stderr > t
-mv -f t stderr
-cat stderr >&2
 grep '^configure\.ac:2:.* unknown warning category.*zardoz' stderr
 grep '^Makefile\.am:1:.* unknown warning category.*foobar' stderr
 grep "^automake-$APIVERSION:.* unknown warning category.*bazquux" stderr


hooks/post-receive
-- 
GNU Automake



reply via email to

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