* automake.in (seen_gettext_external): New variable.
(handle_gettext): Conditionalize the intl/ check on
$seen_gettext_external. Fix grep usage.
(scan_autoconf_traces): Set $seen_gettext_external if
`external' is passed to AM_GNU_GETTEXT.
* tests/gettext.test, tests/gettext2.test: New files.
* tests/Makefile.am (TESTS): Add gettext.test and gettext2.test.
+2002-07-19 Alexandre Duret-Lutz <duret_g@epita.fr>
+
+ Fix for PR automake/338:
+ * automake.in (seen_gettext_external): New variable.
+ (handle_gettext): Conditionalize the intl/ check on
+ $seen_gettext_external. Fix grep usage.
+ (scan_autoconf_traces): Set $seen_gettext_external if
+ `external' is passed to AM_GNU_GETTEXT.
+ * tests/gettext.test, tests/gettext2.test: New files.
+ * tests/Makefile.am (TESTS): Add gettext.test and gettext2.test.
+
2002-07-18 Alexandre Duret-Lutz <duret_g@epita.fr>
Akim Demaille <akim@epita.fr>
# Whether AM_GNU_GETTEXT has been seen in configure.ac.
my $seen_gettext = 0;
+# Whether AM_GNU_GETTEXT([external]) is used.
+my $seen_gettext_external = 0;
# Where AM_GNU_GETTEXT appears.
my $ac_gettext_location;
my @subdirs = &variable_value_as_list_recursive ('SUBDIRS', 'all');
err_var 'SUBDIRS', "AM_GNU_GETTEXT used but `po' not in SUBDIRS"
- if ! grep ('po', @subdirs);
+ if ! grep ($_ eq 'po', @subdirs);
+ # intl/ is not required when AM_GNU_GETTEXT is called with
+ # the `external' option.
err_var 'SUBDIRS', "AM_GNU_GETTEXT used but `intl' not in SUBDIRS"
- if ! grep ('intl', @subdirs);
+ if (! $seen_gettext_external
+ && ! grep ($_ eq 'intl', @subdirs));
require_file ($ac_gettext_location, GNU, 'ABOUT-NLS');
}
{
$seen_gettext = $here;
$ac_gettext_location = $here;
+ $seen_gettext_external = grep ($_ eq 'external', @args);
}
elsif ($macro eq 'AM_INIT_AUTOMAKE')
{
gcj4.test \
gcj5.test \
getopt.test \
+gettext.test \
+gettext2.test \
gnuwarn.test \
gnits.test \
gnits2.test \
gcj4.test \
gcj5.test \
getopt.test \
+gettext.test \
+gettext2.test \
gnuwarn.test \
gnits.test \
gnits2.test \
--- /dev/null
+#! /bin/sh
+
+# Check gettext support.
+
+required='gettext'
+. $srcdir/defs || exit 1
+
+set -e
+
+cat >>configure.in <<END
+AM_GNU_GETTEXT
+AC_OUTPUT
+END
+
+: >Makefile.am
+mkdir po intl
+
+$ACLOCAL
+
+
+# po/ and intl/ are required
+
+$AUTOMAKE --add-missing 2>stderr && exit 1
+cat stderr
+grep 'AM_GNU_GETTEXT.*SUBDIRS' stderr
+
+echo 'SUBDIRS = po' >Makefile.am
+$AUTOMAKE --add-missing 2>stderr && exit 1
+cat stderr
+grep 'AM_GNU_GETTEXT.*intl' stderr
+
+echo 'SUBDIRS = intl' >Makefile.am
+$AUTOMAKE --add-missing 2>stderr && exit 1
+cat stderr
+grep 'AM_GNU_GETTEXT.*po' stderr
+
+# Ok.
+
+echo 'SUBDIRS = po intl' >Makefile.am
+$AUTOMAKE --add-missing
--- /dev/null
+#! /bin/sh
+
+# Check gettext `external' support.
+# PR/338, reported by Charles Wilson.
+
+required='gettext'
+. $srcdir/defs || exit 1
+
+set -e
+
+cat >>configure.in <<END
+AM_GNU_GETTEXT([external])
+AC_OUTPUT
+END
+
+: >Makefile.am
+mkdir foo po
+
+$ACLOCAL
+
+# po/ is required, but intl/ isn't.
+
+$AUTOMAKE --add-missing 2>stderr && exit 1
+cat stderr
+grep 'AM_GNU_GETTEXT.*SUBDIRS' stderr
+
+echo 'SUBDIRS = foo' >Makefile.am
+$AUTOMAKE --add-missing 2>stderr && exit 1
+cat stderr
+grep 'AM_GNU_GETTEXT.*po' stderr
+
+# Ok.
+
+echo 'SUBDIRS = po' >Makefile.am
+$AUTOMAKE --add-missing