]> sourceware.org Git - automake.git/commitdiff
* automake.in (require_variables): Search variable definitions
authorAlexandre Duret-Lutz <adl@gnu.org>
Thu, 19 Sep 2002 07:59:36 +0000 (07:59 +0000)
committerAlexandre Duret-Lutz <adl@gnu.org>
Thu, 19 Sep 2002 07:59:36 +0000 (07:59 +0000)
in any condition implied by $cond.
* tests/cond25.test: New file.
* tests/Makefile.am (TESTS): Add cond25.test.
Reported by Pavel Roskin.

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

index 22d1084129580e21e881bf471b9e647e90686870..9dccc4eb0c1c20b0d622f864841dada2f564a43a 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
 2002-09-19  Alexandre Duret-Lutz  <duret_g@epita.fr>
 
+       * automake.in (require_variables): Search variable definitions
+       in any condition implied by $cond.
+       * tests/cond25.test: New file.
+       * tests/Makefile.am (TESTS): Add cond25.test.
+       Reported by Pavel Roskin.
+
        * tests/subobj9.test: Skip this test on configure errors.
 
 2002-09-18  Alexandre Duret-Lutz  <duret_g@epita.fr>
index ea8e86290dcc4d1bdb0e5532d6a3dd087c893bfa..2e8820625595d1cc6f9ac60fd2b67806e458325a 100755 (executable)
@@ -8947,13 +8947,26 @@ sub require_variables ($$$@)
   my $res = 0;
   $reason .= ' but ' unless $reason eq '';
 
+ VARIABLE:
   foreach my $var (@vars)
     {
       # Nothing to do if the variable exists.  The $configure_vars test
       # needed for strange variables like AMDEPBACKSLASH or ANSI2KNR
       # that are AC_SUBST'ed but never macro_define'd.
-      next if ((exists $var_value{$var} && exists $var_value{$var}{$cond})
-              || exists $configure_vars{$var});
+      next VARIABLE
+       if ((exists $var_value{$var} && exists $var_value{$var}{$cond})
+           || exists $configure_vars{$var});
+
+      # If the variable exists but was not defined in $cond,
+      # look for any definition implied by $cond.
+      if (exists $var_value{$var})
+       {
+         for my $vcond (keys %{$var_value{$var}})
+           {
+             next VARIABLE
+               if (conditional_true_when ($vcond, $cond));
+           }
+       }
 
       ++$res;
 
index e1d0ab2b02a8ef982d42844f8a0057fd8c9120bc..ef561ae74555fbb8bd02dd2f7373b356d7a96dc9 100644 (file)
@@ -90,6 +90,7 @@ cond21.test \
 cond22.test \
 cond23.test \
 cond24.test \
+cond25.test \
 condd.test \
 condincl.test \
 condincl2.test \
index c53697c0d0ba2904a69373eb5a1c5c38632d9c93..fba367376085ab16cb5a53efb2f12ab9f69dc807 100644 (file)
@@ -181,6 +181,7 @@ cond21.test \
 cond22.test \
 cond23.test \
 cond24.test \
+cond25.test \
 condd.test \
 condincl.test \
 condincl2.test \
diff --git a/tests/cond25.test b/tests/cond25.test
new file mode 100755 (executable)
index 0000000..f3eb5b7
--- /dev/null
@@ -0,0 +1,43 @@
+#!/bin/sh
+# Copyright (C) 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake 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.
+#
+# GNU Automake 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 autoconf; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+# Boston, MA 02111-1307, USA.
+
+# Check that conditional primaries can use non-conditional directories.
+# From Pavel Roskin.
+
+. ./defs
+
+set -e
+
+cat >>configure.in << 'EOF'
+AM_CONDITIONAL([USE_FOO], [true])
+AC_PROG_CC
+EOF
+
+cat >Makefile.am << 'EOF'
+if USE_FOO
+foo_PROGRAMS = foo
+endif
+
+foodir = $(libdir)/foo
+foo_SOURCES = foo.c
+EOF
+
+$ACLOCAL
+$AUTOMAKE
This page took 0.045124 seconds and 5 git commands to generate.