[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Automake-commit] [SCM] GNU Automake branch, ng/master, updated. v1.12-1
From: |
Stefano Lattarini |
Subject: |
[Automake-commit] [SCM] GNU Automake branch, ng/master, updated. v1.12-135-g4980dc1 |
Date: |
Mon, 30 Apr 2012 21:44:32 +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=4980dc1f15c5516d46c434f21784d1d4e9707c40
The branch, ng/master has been updated
via 4980dc1f15c5516d46c434f21784d1d4e9707c40 (commit)
via de9e3447ddbaa5488d0d695611eeaa880b09a035 (commit)
via 99dc7acd670f31595dae28ff0a3970e5b484e1e4 (commit)
via c5efa2704646803fadd4f42d9985c0c714d85f3c (commit)
via 22e26c6f413402afbfb0536566db03119d59ed83 (commit)
via 06ed2f31cdf18dfcd12b5c79475d3288bcf19648 (commit)
via f44ae9eaac3e22bd318dcca0cb37e23d0feb6ee8 (commit)
via b105d40dc70fde616dd222c03ae642317fa205a6 (commit)
via 1564671026d62a31e6194162b0c3d3e5f424b2f5 (commit)
via 0842c52351b512e1b67ae35afb39de9e0b893418 (commit)
via d6294a1283a3d88665ca9ec1592e959517172e59 (commit)
via d8a5518d6deedbd6cbbce9213c897e836783f44b (commit)
via d3303684e6f05d550b4bec305b6a8650bb0ebfb9 (commit)
via 807f3cf63a223f1d7eb6b06c02ec0abb1d4486ae (commit)
via 8a1c64fec9c31ea0145f576e8fce7c2c7140d701 (commit)
via 7a1eb9ff9027929687f12905e131f6fda3fa6d0c (commit)
via b4653256c2210d721e603023220e6fe05277286b (commit)
from d3b9280103cd5cc8a63d98a194bfe60074bbff23 (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 4980dc1f15c5516d46c434f21784d1d4e9707c40
Merge: d3b9280 de9e344
Author: Stefano Lattarini <address@hidden>
Date: Mon Apr 30 23:34:17 2012 +0200
Merge branch 'master' into ng/master
* master:
news: Automake 1.13 will require Autoconf >= 2.65
news: put planned future backward-incompatibilities on top
readme: update INSTALL to latest version from Autoconf
sync: some auxiliary files synced from upstream
hacking: copyright notices must be updated before releasing
color-tests: coloring can be forced on non-ANSI terminals as well
tests: root can write on files without write perms; cater for this
tests: require lex, not yacc, in a lex test case
AM_PROG_MKDIR_P: remove as obsolete
AM_PROG_MKDIR_P: deprecate, to be removed in Automake 1.13
maint: fix a comment typo
Signed-off-by: Stefano Lattarini <address@hidden>
-----------------------------------------------------------------------
Summary of changes:
HACKING | 4 ++++
INSTALL | 8 ++++----
Makefile.am | 1 -
NEWS | 36 ++++++++++++++++++++++++++++++------
configure.ac | 2 +-
lib/am/check.am | 38 +++++++++++++++++++++-----------------
lib/config.sub | 8 +++++++-
m4/init.m4 | 2 +-
m4/mkdirp.m4 | 28 ----------------------------
syntax-checks.mk | 7 -------
t/ax/tap-summary-aux.sh | 4 +++-
t/ax/testsuite-summary-checks.sh | 4 +++-
t/color.sh | 7 +++++--
t/color2.sh | 10 ++++++----
t/dist-readonly.sh | 4 +++-
t/gettext-macros.sh | 12 ++++++++----
t/lex-clean.sh | 2 +-
t/parallel-tests-reset-term.sh | 21 ++++-----------------
t/tap-color.sh | 12 +++++-------
19 files changed, 106 insertions(+), 104 deletions(-)
delete mode 100644 m4/mkdirp.m4
diff --git a/HACKING b/HACKING
index e3153cc..7ab4e7f 100644
--- a/HACKING
+++ b/HACKING
@@ -223,6 +223,10 @@
running "make fetch". In case any file in the automake repository
has been updated, commit and re-run the testsuite.
+* Ensure that the copyright notices of the distributed files is up to
+ date. The maintainer-only target "update-copyright" can help with
+ this.
+
* Update NEWS.
* Update the version number in configure.ac.
diff --git a/INSTALL b/INSTALL
index a1e89e1..6e90e07 100644
--- a/INSTALL
+++ b/INSTALL
@@ -1,7 +1,7 @@
Installation Instructions
*************************
-Copyright (C) 1994-1996, 1999-2002, 2004-2011 Free Software Foundation,
+Copyright (C) 1994-1996, 1999-2002, 2004-2012 Free Software Foundation,
Inc.
Copying and distribution of this file, with or without modification,
@@ -309,9 +309,10 @@ causes the specified `gcc' to be used as the C compiler
(unless it is
overridden in the site shell script).
Unfortunately, this technique does not work for `CONFIG_SHELL' due to
-an Autoconf bug. Until the bug is fixed you can use this workaround:
+an Autoconf limitation. Until the limitation is lifted, you can use
+this workaround:
- CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash
+ CONFIG_SHELL=/bin/bash ./configure CONFIG_SHELL=/bin/bash
`configure' Invocation
======================
@@ -367,4 +368,3 @@ operates.
`configure' also accepts some other, not widely useful, options. Run
`configure --help' for more details.
-
diff --git a/Makefile.am b/Makefile.am
index bc8d557..5e90109 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -287,7 +287,6 @@ dist_automake_ac_DATA = \
m4/maintainer.m4 \
m4/minuso.m4 \
m4/missing.m4 \
- m4/mkdirp.m4 \
m4/options.m4 \
m4/protos.m4 \
m4/python.m4 \
diff --git a/NEWS b/NEWS
index 8653603..a8f5dc2 100644
--- a/NEWS
+++ b/NEWS
@@ -2,6 +2,11 @@ New in 1.13:
* Obsolete features removed:
+ - The automake-provided $(mkdir_p) make variable, @mkdir_p@ configure
+ time substitution and AM_PROG_MKDIR m4 macro have been removed. They
+ had been obsolete since automake 1.10, and actively deprecated since
+ Automake 1.12.1.
+
- The deprecated aclocal option '--acdir' has been removed. You
should use the options '--automake-acdir' and '--system-acdir'
instead (which have been introduced in Automake 1.11.2).
@@ -24,10 +29,14 @@ New in 1.13:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-New in 1.12:
+New in 1.12.1:
* WARNING: Future backward-incompatibilities!
+ - Autoconf 2.65 or later will be required by the next major Automake
+ version (1.13). Until now, Automake has been working with any
+ Autoconf version up to 2.62.
+
- Starting from the next major Automake version (1.13), the rules to
build pdf, ps and dvi output from Texinfo input will use the '--tidy'
option by default. Since such an option was introduced in Texinfo
@@ -48,15 +57,30 @@ New in 1.12:
AM_INIT_AUTOMAKE macro will be deprecated in the next minor version
of Automake (1.12.1) and removed in the next major version (1.13).
- - The long-obsolete (since 1.10) automake-provided $(mkdir_p) make
- variable, @mkdir_p@ substitution and AM_PROG_MKDIR m4 macro will
- all be deprecated in the next minor version of Automake (1.12.1)
- and removed in the next major version (1.13).
-
- The exact order in which the directories in the aclocal macro
search path are looked up is probably going to be changed in the
next Automake release (1.13).
+* Deprecated obsolescent features:
+
+ - The long-obsolete (since 1.10) automake-provided $(mkdir_p) make
+ variable, @mkdir_p@ configure-time substitution and AM_PROG_MKDIR
+ m4 macro are deprecated, eliciting a warning in the 'obsolete'
+ category. They will be removed in the next major version (1.13).
+
+Bugs fixed in 1.12.1:
+
+* Long-standing bugs:
+
+ - When the 'color-tests' option is in use, forcing of colored testsuite
+ output through "AM_COLOR_TESTS=always" works even if the terminal is
+ a non-ANSI one, i.e., if the TERM environment variable has a value of
+ "dumb".
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+New in 1.12:
+
* Obsolete features removed:
- The never documented nor truly used script 'acinstall' has been
diff --git a/configure.ac b/configure.ac
index 25208bd..f92902a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -43,7 +43,7 @@ AM_INIT_AUTOMAKE([dist-xz filename-length-max=99 color-tests
parallel-tests no-define no-dependencies])
## Keep this on a line of its own, since it must be found and processed
-## by the 'update-copyright' rule in out Makefile.
+## by the 'update-copyright' rule in our Makefile.
RELEASE_YEAR=2012
AC_SUBST([RELEASE_YEAR])
diff --git a/lib/am/check.am b/lib/am/check.am
index 9c20892..05264c6 100644
--- a/lib/am/check.am
+++ b/lib/am/check.am
@@ -18,23 +18,27 @@ am__tty_colors_dummy = \
mgn= red= grn= lgn= blu= brg= std=; \
am__color_tests=no
if %?COLOR%
-# If stdout is a non-dumb tty, use colors. If test -t is not supported,
-# then this fails; a conservative approach. Of course do not redirect
-# stdout here, just stderr.
-am__tty_colors = \
-$(am__tty_colors_dummy); \
-test "X$(AM_COLOR_TESTS)" != Xno \
-&& test "X$$TERM" != Xdumb \
-&& { test "X$(AM_COLOR_TESTS)" = Xalways || test -t 1 2>/dev/null; } \
-&& { \
- am__color_tests=yes; \
- red='[0;31m'; \
- grn='[0;32m'; \
- lgn='[1;32m'; \
- blu='[1;34m'; \
- mgn='[0;35m'; \
- brg='[1m'; \
- std='[m'; \
+am__tty_colors = { \
+ $(am__tty_colors_dummy); \
+ if test "X$(AM_COLOR_TESTS)" = Xno; then \
+ am__color_tests=no; \
+ elif test "X$(AM_COLOR_TESTS)" = Xalways; then \
+ am__color_tests=yes; \
+## If stdout is a non-dumb tty, use colors. If test -t is not supported,
+## then this check fails; a conservative approach. Of course do not
+## redirect stdout here, just stderr.
+ elif test "X$$TERM" != Xdumb && { test -t 1; } 2>/dev/null; then \
+ am__color_tests=yes; \
+ fi; \
+ if test $$am__color_tests = yes; then \
+ red='[0;31m'; \
+ grn='[0;32m'; \
+ lgn='[1;32m'; \
+ blu='[1;34m'; \
+ mgn='[0;35m'; \
+ brg='[1m'; \
+ std='[m'; \
+ fi; \
}
else !%?COLOR%
am__tty_colors = $(am__tty_colors_dummy)
diff --git a/lib/config.sub b/lib/config.sub
index c894da4..59bb593 100755
--- a/lib/config.sub
+++ b/lib/config.sub
@@ -4,7 +4,7 @@
# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
# 2011, 2012 Free Software Foundation, Inc.
-timestamp='2012-02-10'
+timestamp='2012-04-18'
# This file is (in principle) common to ALL GNU software.
# The presence of a machine in this file suggests that SOME GNU software
@@ -225,6 +225,12 @@ case $os in
-isc*)
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;;
+ -lynx*178)
+ os=-lynxos178
+ ;;
+ -lynx*5)
+ os=-lynxos5
+ ;;
-lynx*)
os=-lynxos
;;
diff --git a/m4/init.m4 b/m4/init.m4
index dfad84a..f479114 100644
--- a/m4/init.m4
+++ b/m4/init.m4
@@ -78,7 +78,7 @@ AM_MISSING_PROG([AUTOHEADER], [autoheader])
AM_MISSING_PROG([MAKEINFO], [makeinfo])
AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
-AC_REQUIRE([AM_PROG_MKDIR_P])dnl
+AC_REQUIRE([AC_PROG_MKDIR_P])dnl
# We need awk for the "check" target. The system "awk" is bad on
# some platforms.
AC_REQUIRE([AC_PROG_AWK])dnl
diff --git a/m4/mkdirp.m4 b/m4/mkdirp.m4
deleted file mode 100644
index 2d88b92..0000000
--- a/m4/mkdirp.m4
+++ /dev/null
@@ -1,28 +0,0 @@
-## -*- Autoconf -*-
-# Copyright (C) 2003-2012 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 2
-
-# AM_PROG_MKDIR_P
-# ---------------
-# Check for 'mkdir -p'.
-AC_DEFUN([AM_PROG_MKDIR_P],
-[AC_PREREQ([2.60])dnl
-AC_REQUIRE([AC_PROG_MKDIR_P])dnl
-dnl Automake 1.8 to 1.9.6 used to define mkdir_p. We now use MKDIR_P,
-dnl while keeping a definition of mkdir_p for backward compatibility.
-dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile.
-dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of
-dnl Makefile.ins that do not define MKDIR_P, so we do our own
-dnl adjustment using top_builddir (which is defined more often than
-dnl MKDIR_P).
-AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl
-case $mkdir_p in
- [[\\/$]]* | ?:[[\\/]]*) ;;
- */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
-esac
-])
diff --git a/syntax-checks.mk b/syntax-checks.mk
index 1124bfc..86bd352 100644
--- a/syntax-checks.mk
+++ b/syntax-checks.mk
@@ -84,7 +84,6 @@ sc_tests_no_configure_in \
sc_tests_PATH_SEPARATOR \
sc_tests_logs_duplicate_prefixes \
sc_tests_makefile_variable_order \
-sc_mkdir_p \
sc_perl_at_substs \
sc_unquoted_DESTDIR \
sc_tabs_in_texi \
@@ -602,12 +601,6 @@ sc_tests_PATH_SEPARATOR:
exit 1; \
fi
-sc_mkdir_p:
- @if grep 'mkdir_p' $(srcdir)/automake.in $(ams) $(xtests); then \
- echo 'Do not use mkdir_p in the above files, use MKDIR_P.' 1>&2; \
- exit 1; \
- fi
-
## Try to make sure all @...@ substitutions are covered by our
## substitution rule.
sc_perl_at_substs:
diff --git a/t/ax/tap-summary-aux.sh b/t/ax/tap-summary-aux.sh
index 49b86f2..77dd098 100644
--- a/t/ax/tap-summary-aux.sh
+++ b/t/ax/tap-summary-aux.sh
@@ -56,7 +56,9 @@ do_check ()
cat all.test
st=0
if test $use_colors = yes; then
- make_cmd="$MAKE TERM=ansi AM_COLOR_TESTS=always"
+ # Forced colorization should take place also with non-ANSI terminals;
+ # hence the "TERM=dumb" definition.
+ make_cmd="$MAKE TERM=dumb AM_COLOR_TESTS=always"
else
make_cmd=$MAKE
fi
diff --git a/t/ax/testsuite-summary-checks.sh b/t/ax/testsuite-summary-checks.sh
index 5531729..df51b14 100644
--- a/t/ax/testsuite-summary-checks.sh
+++ b/t/ax/testsuite-summary-checks.sh
@@ -26,7 +26,9 @@ am_parallel_tests=yes
case $use_colors in
yes)
AM_COLOR_TESTS=always; export AM_COLOR_TESTS
- TERM=ansi; export TERM
+ # Forced colorization should take place also with non-ANSI
+ # terminals; hence this setting.
+ TERM=dumb; export TERM
am_opts='parallel-tests color-tests'
;;
no)
diff --git a/t/color.sh b/t/color.sh
index edae625..a08ea19 100755
--- a/t/color.sh
+++ b/t/color.sh
@@ -114,11 +114,14 @@ for vpath in false :; do
$srcdir/configure
- $MAKE check AM_COLOR_TESTS=always >stdout && { cat stdout; Exit 1; }
+ # Forced colorization should take place also with non-ANSI terminals;
+ # hence the "TERM=dumb" definition.
+ $MAKE check AM_COLOR_TESTS=always TERM=dumb >stdout \
+ && { cat stdout; Exit 1; }
cat stdout
test_color
- $MAKE check >stdout && { cat stdout; Exit 1; }
+ $MAKE check TERM=ansi >stdout && { cat stdout; Exit 1; }
cat stdout
test_no_color
diff --git a/t/color2.sh b/t/color2.sh
index 4e8bb48..d03c6a2 100755
--- a/t/color2.sh
+++ b/t/color2.sh
@@ -19,9 +19,6 @@
. ./defs || Exit 1
-TERM=ansi
-export TERM
-
esc=''
# Escape '[' for grep, below.
red="$esc\[0;31m"
@@ -126,11 +123,16 @@ for vpath in false :; do
$srcdir/configure
- MAKE=$MAKE expect -f $srcdir/expect-make >stdout \
+ TERM=ansi MAKE=$MAKE expect -f $srcdir/expect-make >stdout \
|| { cat stdout; Exit 1; }
cat stdout
test_color
+ TERM=dumb MAKE=$MAKE expect -f $srcdir/expect-make >stdout \
+ || { cat stdout; Exit 1; }
+ cat stdout
+ test_no_color
+
AM_COLOR_TESTS=no MAKE=$MAKE expect -f $srcdir/expect-make >stdout \
|| { cat stdout; Exit 1; }
cat stdout
diff --git a/t/dist-readonly.sh b/t/dist-readonly.sh
index 1aa32c8..2bf2a6d 100755
--- a/t/dist-readonly.sh
+++ b/t/dist-readonly.sh
@@ -17,7 +17,9 @@
# Test that a readonly files are distributed as such, and not make
# writable while being copied in the $(distdir).
-required=cc
+# This test expect the user to be unable to write on files lacking
+# write permissions -- so it won't work if the user is 'root'.
+required='non-root cc'
. ./defs || Exit 1
cat >> configure.ac << 'END'
diff --git a/t/gettext-macros.sh b/t/gettext-macros.sh
index 8adcb0d..e9a4739 100755
--- a/t/gettext-macros.sh
+++ b/t/gettext-macros.sh
@@ -61,10 +61,7 @@ AM_GNU_GETTEXT
AM_GNU_GETTEXT_VERSION([$autopoint_version])
END
-if $am_gettextize_command --force && test -f m4/gettext.m4; then
- echo "ACLOCAL_PATH='`pwd`/m4':\$ACLOCAL_PATH" >> get.sh
- echo "export ACLOCAL_PATH" >> get.sh
-else
+if $am_gettextize_command --force && test -f m4/gettext.m4; then :; else
# Older versions of gettext might not have a gettextize program
# available, but this doesn't mean the user hasn't made the gettext
# macros available, e.g., by properly setting ACLOCAL_PATH.
@@ -78,6 +75,13 @@ else
fi
fi
+echo "ACLOCAL_PATH='`pwd`/m4':\$ACLOCAL_PATH" >> get.sh
+echo "export ACLOCAL_PATH" >> get.sh
+
+# Even recent versions of gettext used the now-obsolete 'AM_PROG_MKDIR_P'
+# m4 macro. So we need the following to avoid spurious errors.
+echo 'AC_DEFUN([AM_MKDIR_P], [AC_MKDIR_P(address@hidden)])' >> m4/mk-dirp.m4
+
. ./get.sh
$ACLOCAL --force -I m4 || cat >> get.sh <<'END'
diff --git a/t/lex-clean.sh b/t/lex-clean.sh
index 9b23f01..4213195 100755
--- a/t/lex-clean.sh
+++ b/t/lex-clean.sh
@@ -19,7 +19,7 @@
# distributed .l sources are cleaned by "make maintainer-clean".
# See also sister test 'lex-clean-cxx.test'.
-required=yacc
+required=lex
. ./defs || Exit 1
cat >> configure.ac << 'END'
diff --git a/t/parallel-tests-reset-term.sh b/t/parallel-tests-reset-term.sh
index 6307f6e..53e542c 100755
--- a/t/parallel-tests-reset-term.sh
+++ b/t/parallel-tests-reset-term.sh
@@ -22,6 +22,8 @@ am_parallel_tests=yes
esc='['
+TERM=ansi; export TERM
+
# Check that grep can parse nonprinting characters.
# BSD 'grep' works from a pipe, but not a seekable file.
# GNU or BSD 'grep -a' works on files, but is not portable.
@@ -43,14 +45,13 @@ END
cat > foobar << 'END'
#!/bin/sh
echo "TERM='$TERM'"
-echo "expected_term='$expected_term'"
-test x"$TERM" = x"$expected_term"
+test x"$TERM" = x"dumb"
END
chmod a+x foobar
mkcheck ()
{
- if env AM_COLOR_TESTS=always $* $MAKE check > stdout; then
+ if $MAKE "$@" check > stdout; then
rc=0
else
rc=1
@@ -66,24 +67,10 @@ $AUTOCONF
$AUTOMAKE -a
./configure
-TERM=ansi; export TERM
-expected_term=dumb; export expected_term
mkcheck TESTS_ENVIRONMENT='TERM=dumb'
cat stdout | grep "PASS.*foobar" | $FGREP "$esc"
-TERM=dumb; export TERM
-expected_term=ansi; export expected_term
-mkcheck TESTS_ENVIRONMENT='TERM=ansi'
-cat stdout | $FGREP "$esc" && Exit 1
-
-TERM=ansi; export TERM
-expected_term=dumb; export expected_term
mkcheck AM_TESTS_ENVIRONMENT='TERM=dumb'
cat stdout | grep "PASS.*foobar" | $FGREP "$esc"
-TERM=dumb; export TERM
-expected_term=ansi; export expected_term
-mkcheck AM_TESTS_ENVIRONMENT='TERM=ansi'
-cat stdout | $FGREP "$esc" && Exit 1
-
:
diff --git a/t/tap-color.sh b/t/tap-color.sh
index 794f459..64f85a3 100755
--- a/t/tap-color.sh
+++ b/t/tap-color.sh
@@ -20,8 +20,6 @@
am_parallel_tests=yes
. ./defs || Exit 1
-TERM=ansi; export TERM
-
esc=''
# Escape '[' for grep, below.
red="$esc\[0;31m"
@@ -102,9 +100,6 @@ ok 1
ok 2
END
-AM_COLOR_TESTS=always $MAKE check >stdout && { cat stdout; Exit 1; }
-cat stdout
-
test_color ()
{
# Not a useless use of cat; see above comments about grep.
@@ -136,11 +131,14 @@ test_no_color ()
# It should be possible to override AM_COLOR_TESTS also from the
# environment.
-AM_COLOR_TESTS=always $MAKE check >stdout && { cat stdout; Exit 1; }
+# Forced colorization should take place also with non-ANSI terminals;
+# hence the "TERM=dumb" definition.
+TERM=dumb AM_COLOR_TESTS=always $MAKE check >stdout \
+ && { cat stdout; Exit 1; }
cat stdout
test_color
-$MAKE check >stdout && { cat stdout; Exit 1; }
+$MAKE check TERM=ansi >stdout && { cat stdout; Exit 1; }
cat stdout
test_no_color
hooks/post-receive
--
GNU Automake
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Automake-commit] [SCM] GNU Automake branch, ng/master, updated. v1.12-135-g4980dc1,
Stefano Lattarini <=