diff options
author | Stefano Lattarini <stefano.lattarini@gmail.com> | 2012-04-06 13:12:25 +0200 |
---|---|---|
committer | Stefano Lattarini <stefano.lattarini@gmail.com> | 2012-04-06 21:29:30 +0200 |
commit | 8a5096d150cf9803b8963768b7366cd68edcce03 (patch) | |
tree | a49c0e54876b8b9877d7ca2df386377e7b6037d1 /t/gettext-macros.sh | |
parent | f8e822bbc197f01fc722aa6def7cddb4182e3c66 (diff) | |
download | automake-8a5096d150cf9803b8963768b7366cd68edcce03.tar.gz |
tests: rename 'tests/' => 't/', '*.test' => '*.sh'
When we (soon) convert the Automake testsuite to a non-recursive
make setup, we'll have to fix the entries of $(TESTS) to be
prepended with the subdirectory they are in; this will increase
the length of $(TESTS), and thus increase the possibility of
exceeding the command-line length limits on some systems (most
notably, MinGW/MSYS). See automake bug#7868 for more information.
Thus we rename the 'tests/' subdirectory to 't/', and each 'x.test'
script in there to 'x.sh'; this way, the $(TESTS) entry 'foo.test'
will become 't/foo.sh', which have the same number of characters.
* tests/: Rename ...
* t/: ... to this.
* t/*.test: Rename ...
* t/*.sh: ... to this.
* t/.gitignore: Removed as obsolete.
* t/defs: Adjust.
* t/gen-testsuite-part: Likewise.
* t/list-of-tests.mk: Likewise.
* t/ccnoco.sh: Likewise.
* t/ccnoco3.sh: Likewise.
* t/self-check-cleanup.tap: Likewise.
* t/self-check-dir.tap: Likewise.
* t/self-check-me.tap: Likewise.
* t/self-check-reexec.tap: Likewise.
* README: Likewise.
* bootstrap: Likewise
* configure.ac: Likewise.
* Makefile.am: Likewise.
* .gitignore: Likewise.
* syntax-check.mk: Likewise.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Diffstat (limited to 't/gettext-macros.sh')
-rwxr-xr-x | t/gettext-macros.sh | 94 |
1 files changed, 94 insertions, 0 deletions
diff --git a/t/gettext-macros.sh b/t/gettext-macros.sh new file mode 100755 index 000000000..38749d36c --- /dev/null +++ b/t/gettext-macros.sh @@ -0,0 +1,94 @@ +#! /bin/sh +# Copyright (C) 2011-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/>. + +# Try to find the gettext '.m4' files and make them easily accessed +# to the test cases requiring them. +# See also automake bug#9807. + +. ./defs || Exit 1 + +extract_program_version () +{ + "$1" --version | sed 1q | $PERL -ne '/(\d(?:\.\d+)+)/ and print "$1\n"' +} + +echo "# Automatically generated by $me." > get.sh +echo : >> get.sh + +# The 'gettextize' and 'autopoint' scripts will look into Makefile.am. +echo ACLOCAL_AMFLAGS = -I m4 > Makefile.am + +# Prefer autopoint to gettextize, since the more modern versions of the +# latter might unconditionally require user interaction to complete; +# yes, this means confirmation from /dev/tty (!) -- see: +# <http://lists.gnu.org/archive/html/bug-gettext/2011-12/msg00000.html> +# Since this "forced interaction" behaviour of gettextize wasn't present +# before the introduction of autopoint, we should be able to safely +# fall back to calling gettextize non-interactively if autopoint is not +# present. +if autopoint --version; then + am_gettextize_command=autopoint +else + am_gettextize_command=gettextize +fi + +# We will need to specify the correct autopoint (or gettextize) version +# in the AM_GNU_GETTEXT_VERSION call in configure.ac if we want autopoint +# (or gettextize) to setup the correct infrastructure -- in particular, +# for what concerns us, to bring in all the required .m4 files. +autopoint_version=`extract_program_version $am_gettextize_command` \ + && test -n "$autopoint_version" \ + || autopoint_version=0.10.35 + +cat > configure.ac <<END +AC_INIT([foo], [1.0]) +AC_PROG_CC +# Both required by autopoint. +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 + # 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. + rm -rf m4 + mkdir m4 + # See below for an explanation about the use the of '-Wno-syntax'. + if $ACLOCAL -Wno-syntax -I m4 --install && test -f m4/gettext.m4; then + : # Gettext macros already accessible by default. + else + echo "skip_all_ \"couldn't find or get gettext macros\"" >> get.sh + fi +fi + +. ./get.sh + +$ACLOCAL --force -I m4 || cat >> get.sh <<'END' +# We need to use '-Wno-syntax', since we do not want our test suite +# to fail merely because some third-party '.m4' file is underquoted. +ACLOCAL="$ACLOCAL -Wno-syntax" +END + +# The file gettextize or autopoint might have copied in the 'm4' +# subdirectory of the test directory are going to be needed by +# other tests, so we must not remove the test directory. +keep_testdirs=yes + +: |