From 260f478c15789b355ce63cb3f41fde3b06a3ff29 Mon Sep 17 00:00:00 2001 From: Alexandre Duret-Lutz Date: Fri, 19 Jul 2002 11:04:14 +0000 Subject: [PATCH] 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. --- ChangeLog | 11 +++++++++++ automake.in | 10 ++++++++-- tests/Makefile.am | 2 ++ tests/Makefile.in | 2 ++ tests/gettext.test | 40 ++++++++++++++++++++++++++++++++++++++++ tests/gettext2.test | 35 +++++++++++++++++++++++++++++++++++ 6 files changed, 98 insertions(+), 2 deletions(-) create mode 100755 tests/gettext.test create mode 100755 tests/gettext2.test diff --git a/ChangeLog b/ChangeLog index 38225a762..c64209a79 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,14 @@ +2002-07-19 Alexandre Duret-Lutz + + 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 Akim Demaille diff --git a/automake.in b/automake.in index 6cf0e0b26..b3ac32bbd 100755 --- a/automake.in +++ b/automake.in @@ -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') { diff --git a/tests/Makefile.am b/tests/Makefile.am index edd2a773b..d4bade7a3 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -174,6 +174,8 @@ gcj3.test \ gcj4.test \ gcj5.test \ getopt.test \ +gettext.test \ +gettext2.test \ gnuwarn.test \ gnits.test \ gnits2.test \ diff --git a/tests/Makefile.in b/tests/Makefile.in index e49685a64..108732fdf 100644 --- a/tests/Makefile.in +++ b/tests/Makefile.in @@ -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 index 000000000..099aeba5e --- /dev/null +++ b/tests/gettext.test @@ -0,0 +1,40 @@ +#! /bin/sh + +# Check gettext support. + +required='gettext' +. $srcdir/defs || exit 1 + +set -e + +cat >>configure.in <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 index 000000000..0aec6bfef --- /dev/null +++ b/tests/gettext2.test @@ -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 <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 -- 2.47.2