[Top][All Lists]
[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
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Automake-commit] [SCM] GNU Automake branch, master, updated. v1.11-2106-g7a56bed,
Stefano Lattarini <=