]> git.ipfire.org Git - thirdparty/automake.git/commitdiff
Fix for PR automake/338:
authorAlexandre Duret-Lutz <adl@gnu.org>
Fri, 19 Jul 2002 11:04:14 +0000 (11:04 +0000)
committerAlexandre Duret-Lutz <adl@gnu.org>
Fri, 19 Jul 2002 11:04:14 +0000 (11:04 +0000)
* 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.

ChangeLog
automake.in
tests/Makefile.am
tests/Makefile.in
tests/gettext.test [new file with mode: 0755]
tests/gettext2.test [new file with mode: 0755]

index 38225a762f129adee16e2eb202813f471e9b6291..c64209a79a90510c482ff4bc69097312cef9981d 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+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>
 
index 6cf0e0b26c474663bbd9149579b49e3422c13e2f..b3ac32bbdca83b0085ba7d3967cf0964314d2afb 100755 (executable)
@@ -362,6 +362,8 @@ my $config_aux_dir_set_in_configure_in = 0;
 
 # 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;
 
@@ -4451,9 +4453,12 @@ sub handle_gettext
 
   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');
 }
@@ -5019,6 +5024,7 @@ sub scan_autoconf_traces ($)
        {
          $seen_gettext = $here;
          $ac_gettext_location = $here;
+         $seen_gettext_external = grep ($_ eq 'external', @args);
        }
       elsif ($macro eq 'AM_INIT_AUTOMAKE')
        {
index edd2a773b9c4470d1f8f3743d45146d0cd562d2d..d4bade7a3123d63cdb6b77902ee964b0f25a72b3 100644 (file)
@@ -174,6 +174,8 @@ gcj3.test \
 gcj4.test \
 gcj5.test \
 getopt.test \
+gettext.test \
+gettext2.test \
 gnuwarn.test \
 gnits.test \
 gnits2.test \
index e49685a64604e5c2af1fcb341887f2d619a505e9..108732fdf09b9d6edbded385070751c5c42e0475 100644 (file)
@@ -261,6 +261,8 @@ gcj3.test \
 gcj4.test \
 gcj5.test \
 getopt.test \
+gettext.test \
+gettext2.test \
 gnuwarn.test \
 gnits.test \
 gnits2.test \
diff --git a/tests/gettext.test b/tests/gettext.test
new file mode 100755 (executable)
index 0000000..099aeba
--- /dev/null
@@ -0,0 +1,40 @@
+#! /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
diff --git a/tests/gettext2.test b/tests/gettext2.test
new file mode 100755 (executable)
index 0000000..0aec6bf
--- /dev/null
@@ -0,0 +1,35 @@
+#! /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