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.11-2106


From: Stefano Lattarini
Subject: [Automake-commit] [SCM] GNU Automake branch, master, updated. v1.11-2106-g7a56bed
Date: Tue, 27 Mar 2012 20:44:50 +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=7a56bed0b38cd90b89339b8bd638bfc7e7f6fe29

The branch, master has been updated
       via  7a56bed0b38cd90b89339b8bd638bfc7e7f6fe29 (commit)
       via  b96263e1cc2d2977cf685d5596c7bbf57617a0da (commit)
       via  6805810d314e2b4ecb8ff14e04779d8f0ad2b4f8 (commit)
       via  619c1b265564ba2aac50004dec9761df567c69b3 (commit)
       via  8bf5cacff594974000979c5b70e33ebbcfcde29a (commit)
       via  d6f2cc911bad4d1d4457aee63f7c8c6d0b754a36 (commit)
       via  e8d53803885616b705b0b65bdb66da12fa818fd2 (commit)
       via  53161ce02c3e69e2cea4d6b7b477366fc371bf16 (commit)
      from  fe6743feae243a6ba0d05ac92221e3996a8e6aa5 (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 7a56bed0b38cd90b89339b8bd638bfc7e7f6fe29
Merge: fe6743f b96263e
Author: Stefano Lattarini <address@hidden>
Date:   Tue Mar 27 22:40:20 2012 +0200

    Merge branch 'maint'
    
    * maint:
      depcomp: support tcc (Tiny C Compiler)
      tests: workaround for automatic linker determination and conditionals
      info: allow user to inhibit pruning of '${infodir}/dir'
      vala tests: fix spurious failures with older valac (<= 0.7.2)
      tests: fix a timestamp issue, and other minor buglets
      tests: fix spurious failure with older autoconf
      build: remove duplicated entries in $(TESTS)
    
    + Extra non-trivia edits:
    * tests/link_cond.test: Use 'configure.ac', not 'configure.in'.
    
    Signed-off-by: Stefano Lattarini <address@hidden>

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

Summary of changes:
 NEWS                        |   11 ++++-
 THANKS                      |    1 +
 doc/automake.texi           |   10 ++--
 lib/am/texinfos.am          |   27 +++++++------
 lib/depcomp                 |   31 +++++++++-----
 tests/install-info-dir.test |   38 ++++++++++++++++--
 tests/link_cond.test        |   90 +++++++++++++++++++++++++++++++++++++++++++
 tests/list-of-tests.mk      |    1 +
 tests/vala-mix.test         |    2 +-
 tests/vala-mix2.test        |    2 +-
 tests/vala-vpath.test       |    2 +-
 11 files changed, 176 insertions(+), 39 deletions(-)
 create mode 100755 tests/link_cond.test

diff --git a/NEWS b/NEWS
index 7f6b923..fd8f38c 100644
--- a/NEWS
+++ b/NEWS
@@ -271,6 +271,11 @@ New in 1.11.3:
 
 * Miscellaneous changes:
 
+  - There is an initial, experimental support for automatic dependency
+    tracking with tcc (the Tiny C Compiler).  Its associated depmode is
+    currently recognized as "icc" (but this and other details are likely
+    to change in future versions).
+
   - Automatic dependency tracking now works also with the IBM XL C/C++
     compilers, thanks to the new new depmode 'xlc'.
 
@@ -370,9 +375,9 @@ New in 1.11.2:
     file generated by automake-provided rules by defining the special make
     variable `$(EXTRA_DEJAGNU_SITE_CONFIG)'.
 
-  - The `install-info' rule can now be instructed not to create/update
-    the `${infodir}/dir' file, by exporting the new environment variable
-    `AM_UPDATE_INFO_DIR' to the value "no".
+  - The `install-info' and `uninstall-info' rules can now be instructed
+    not to create/update the `${infodir}/dir' file, by exporting the new
+    environment variable `AM_UPDATE_INFO_DIR' to the value "no".
 
 Bugs fixed in 1.11.2:
   - For programs and libraries, automake now detects EXTRA_foo_DEPENDENCIES
diff --git a/THANKS b/THANKS
index 0973d0c..bfa94d2 100644
--- a/THANKS
+++ b/THANKS
@@ -152,6 +152,7 @@ James Youngman              address@hidden
 Jan Engelhardt         address@hidden
 Janos Farkas           address@hidden
 Jared Davis            address@hidden
+Jason DeVinney         address@hidden
 Jason Duell            address@hidden
 Jason Molenda          address@hidden
 Javier Jardón         address@hidden
diff --git a/doc/automake.texi b/doc/automake.texi
index 7d548c7..90a271c 100644
--- a/doc/automake.texi
+++ b/doc/automake.texi
@@ -7906,11 +7906,11 @@ be prevented via the @code{no-installinfo} option.  In 
this case,
 request this explicitly using @samp{make install-info}.
 
 @vindex AM_UPDATE_INFO_DIR
-By default, @code{make install-info} will try to run the
address@hidden program (if available) to update (or create)
-the @address@hidden@address@hidden/dir} index.  If this is undesired, it
-can be prevented by exporting the @code{AM_UPDATE_INFO_DIR} variable
-to "@code{no}".
+By default, @code{make install-info} and @code{make install-info}
+will try to run the @command{install-info} program (if available)
+to update (or create) the @address@hidden@address@hidden/dir} index.
+If this is undesired, it can be prevented by exporting the
address@hidden variable to "@code{no}".
 
 The following variables are used by the Texinfo build rules.
 
diff --git a/lib/am/texinfos.am b/lib/am/texinfos.am
index 8e75ef3..42787c7 100644
--- a/lib/am/texinfos.am
+++ b/lib/am/texinfos.am
@@ -94,6 +94,18 @@ endif ! %?LOCAL-TEXIS%
 ## Installing.  ##
 ## ------------ ##
 
+## Some code should be run only if install-info actually exists, and
+## if the user doesn't request it not to be run (through the
+## 'AM_UPDATE_INFO_DIR' environment variable).  See automake bug#9773
+## and Debian Bug#543992.
+if %?FIRST%
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
+endif
+
 ## Look in both . and srcdir because the info pages might have been
 ## rebuilt in the build directory.  Can't cd to srcdir; that might
 ## break a possible install-sh reference.
@@ -222,16 +234,7 @@ install-info-am: $(INFO_DEPS)
          echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(infodir)'"; \
          $(INSTALL_DATA) $$files "$(DESTDIR)$(infodir)" || exit $$?; done
        @$(POST_INSTALL)
-## Only run this code if install-info actually exists, and if the user
-## doesn't request it not to be run (through the 'AM_UPDATE_INFO_DIR'
-## environment variable).  See automake bug#9773 and Debian Bug#543992.
-       @am__run_installinfo=yes; \
-       case $$AM_UPDATE_INFO_DIR in \
-         n|no|NO) am__run_installinfo=no;; \
-         *) (install-info --version) >/dev/null 2>&1 \
-              || am__run_installinfo=no;; \
-       esac; \
-       if test $$am__run_installinfo = yes; then \
+       @if $(am__can_run_installinfo); then \
          list='$(INFO_DEPS)'; test -n "$(infodir)" || list=; \
          for file in $$list; do \
 ## Strip directory
@@ -322,9 +325,7 @@ uninstall-info-am:
        @$(PRE_UNINSTALL)
 ## Run two loops here so that we can handle PRE_UNINSTALL and
 ## NORMAL_UNINSTALL correctly.
-       @if test -d '$(DESTDIR)$(infodir)' && \
-           (install-info --version && \
-            install-info --version 2>&1 | sed 1q | grep -i -v debian) 
>/dev/null 2>&1; then \
+       @if test -d '$(DESTDIR)$(infodir)' && $(am__can_run_installinfo); then \
          list='$(INFO_DEPS)'; \
          for file in $$list; do \
            relfile=`echo "$$file" | sed 's|^.*/||'`; \
diff --git a/lib/depcomp b/lib/depcomp
index 81e64f6..debb6ff 100755
--- a/lib/depcomp
+++ b/lib/depcomp
@@ -1,7 +1,7 @@
 #! /bin/sh
 # depcomp - compile a program generating dependencies as side-effects
 
-scriptversion=2012-03-12.15; # UTC
+scriptversion=2012-03-27.16; # UTC
 
 # Copyright (C) 1999-2012 Free Software Foundation, Inc.
 
@@ -288,23 +288,26 @@ aix)
   ;;
 
 icc)
-  # Intel's C compiler understands '-MD -MF file'.  However on
-  #    icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c
+  # 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:
+  # 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 \ :
+  # 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.
   "$@" -MD -MF "$tmpdepfile"
   stat=$?
   if test $stat -eq 0; then :
@@ -317,11 +320,17 @@ icc)
   # 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 "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 -e "s/^[ $tab][ $tab]*/  /" -e "s,^[^:]*:,$object :," \
+    < "$tmpdepfile" > "$depfile"
+  sed '
+    s/[ '"$tab"'][ '"$tab"']*/ /g
+    s/^ *//
+    s/ *\\*$//
+    s/^[^:]*: *//
+    /^$/d
+    /:$/d
+    s/$/ :/
+  ' < "$tmpdepfile" >> "$depfile"
   rm -f "$tmpdepfile"
   ;;
 
diff --git a/tests/install-info-dir.test b/tests/install-info-dir.test
index d7a0e7f..c76f424 100755
--- a/tests/install-info-dir.test
+++ b/tests/install-info-dir.test
@@ -76,12 +76,28 @@ fi
 # by default (if the 'install-info' program is available).
 # This should happen in a normal as well as in a DESTDIR installation.
 if test $have_installinfo = yes; then
+
   $MAKE install-info
   test -f $instdir/info/foo.info
   test -f $instdir/info/dir
+  $FGREP 'Does nothing at all, but has a nice name' $instdir/info/dir
+
+  $MAKE uninstall
+  test ! -f $instdir/info/foo.info
+  $FGREP 'but has a nice name' $instdir/info/dir && Exit 1
+
+  dir="$destdir/$cwd/$instdir/info"
+
   $MAKE DESTDIR="$cwd/$destdir" install-info
-  test -f "$destdir/$cwd/$instdir"/info/foo.info
-  test -f "$destdir/$cwd/$instdir"/info/dir
+  test -f "$dir"/foo.info
+  test -f "$dir"/dir
+  $FGREP 'Does nothing at all, but has a nice name' "$dir"/dir
+  $MAKE DESTDIR="$cwd/$destdir" uninstall
+  test ! -f "$dir"/foo.info
+  $FGREP 'but has a nice name' "$dir"/dir && Exit 1
+
+  unset dir
+
 fi
 
 rm -rf $instdir $destdir
@@ -119,6 +135,11 @@ END
   $MAKE install-info
   test -f $instdir/info/foo.info
   test -f $instdir/info/dir
+  $MAKE uninstall
+  test ! -f $instdir/info/foo.info
+  test -f $instdir/info/dir
+  $FGREP 'but has a nice name' $instdir/info/dir && Exit 1
+  : For shells with busted 'set -e'.
 fi
 
 rm -rf $instdir bin/install-info
@@ -132,15 +153,24 @@ for val in no NO n; do
   test -f $instdir/info/foo.info
   test ! -f $instdir/info/dir
 done
+
+$MAKE install-info
+chmod a-w $instdir/info/dir
+for val in no NO n; do
+  env AM_UPDATE_INFO_DIR="$val" $MAKE uninstall
+  $FGREP 'Does nothing at all, but has a nice name' $instdir/info/dir
+done
+
 if test $have_installinfo = yes; then
   for val in 'yes' 'who cares!'; do
     rm -rf $instdir
     env AM_UPDATE_INFO_DIR="$val" $MAKE install-info
     test -f $instdir/info/foo.info
     test -f $instdir/info/dir
+    env AM_UPDATE_INFO_DIR="$val" $MAKE uninstall
+    test ! -f $instdir/info/foo.info
+    $FGREP 'but has a nice name' $instdir/info/dir && Exit 1
   done
 fi
 
-rm -rf $instdir
-
 :
diff --git a/tests/link_cond.test b/tests/link_cond.test
new file mode 100755
index 0000000..7b9fd5a
--- /dev/null
+++ b/tests/link_cond.test
@@ -0,0 +1,90 @@
+#! /bin/sh
+# Copyright (C) 2012 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/>.
+
+# Test that automatic determination of the linker works well with
+# conditional use of languages in a single program.
+# This currently doesn't truly work, but we have an easy workaround
+# at least, that is tested here.
+# See automake bug#11089.
+
+required='cc c++'
+. ./defs || Exit 1
+
+set -e
+
+cat >> configure.ac << 'END'
+AC_PROG_CC
+AC_PROG_CXX
+AM_CONDITIONAL([HAVE_CXX], [test $have_cxx = yes])
+AC_OUTPUT
+END
+
+cat > Makefile.am << 'END'
+bin_PROGRAMS = foo
+if HAVE_CXX
+foo_SOURCES = more.c++
+else
+foo_SOURCES = less.c
+endif
+## FIXME: ideally, this workaround shouldn't be needed.
+if HAVE_CXX
+foo_LINK = $(CXXLINK)
+else
+foo_LINK = $(LINK)
+endif
+END
+
+$ACLOCAL
+$AUTOMAKE
+$AUTOCONF
+
+rm -f *.c++
+cat > less.c <<'END'
+/* Valid C but deliberately invalid C++ */
+main ()
+{
+  int new = 0;
+  return new;
+}
+END
+
+./configure have_cxx=no
+CXX=false $MAKE -e
+
+# Sanity check.
+rm -f foo foo.exe
+CC=false $MAKE -e && Exit 99
+
+$MAKE distclean
+
+rm -f *.c
+cat > more.c++ <<'END'
+/* Valid C++ but deliberately invalid C */
+using namespace std;
+int main (void)
+{
+  return 0;
+}
+END
+
+./configure have_cxx=yes
+CC=false $MAKE -e
+
+# Sanity check.
+rm -f foo foo.exe
+CXX=false $MAKE -e && Exit 99
+
+:
diff --git a/tests/list-of-tests.mk b/tests/list-of-tests.mk
index af114ad..de022a2 100644
--- a/tests/list-of-tests.mk
+++ b/tests/list-of-tests.mk
@@ -612,6 +612,7 @@ libtoo11.test \
 license.test \
 license2.test \
 link_c_cxx.test \
+link_cond.test \
 link_dist.test \
 link_f90_only.test \
 link_fc.test \
diff --git a/tests/vala-mix.test b/tests/vala-mix.test
index acf47d9..58ab500 100755
--- a/tests/vala-mix.test
+++ b/tests/vala-mix.test
@@ -22,7 +22,7 @@ required='valac cc GNUmake'
 cat >> configure.ac <<'END'
 AC_PROG_CC
 AM_PROG_CC_C_O
-AM_PROG_VALAC
+AM_PROG_VALAC([0.7.3])
 AC_OUTPUT
 END
 
diff --git a/tests/vala-mix2.test b/tests/vala-mix2.test
index e9a0aa4..5162467 100755
--- a/tests/vala-mix2.test
+++ b/tests/vala-mix2.test
@@ -23,7 +23,7 @@ required='valac cc c++ GNUmake'
 cat >> configure.ac <<'END'
 AC_PROG_CC
 AC_PROG_CXX
-AM_PROG_VALAC
+AM_PROG_VALAC([0.7.3])
 AC_OUTPUT
 END
 
diff --git a/tests/vala-vpath.test b/tests/vala-vpath.test
index 636e66e..a968afa 100755
--- a/tests/vala-vpath.test
+++ b/tests/vala-vpath.test
@@ -23,7 +23,7 @@ required="valac GNUmake"
 cat >> configure.ac << 'END'
 AC_CONFIG_SRCDIR([hello.vala])
 AC_PROG_CC
-AM_PROG_VALAC([0.7])
+AM_PROG_VALAC([0.7.3])
 AC_OUTPUT
 END
 


hooks/post-receive
-- 
GNU Automake



reply via email to

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