automake
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: This conditional test fails in 1.6d


From: Alexandre Duret-Lutz
Subject: Re: This conditional test fails in 1.6d
Date: Thu, 19 Sep 2002 09:59:21 +0200
User-agent: Gnus/5.090008 (Oort Gnus v0.08) Emacs/21.2 (i386-debian-linux-gnu)

>>> "Pavel" == Pavel Roskin <address@hidden> writes:

[...]

 Pavel> Well, my package doesn't.  Here's the test (full test
 Pavel> with copyright is attached):

Thanks a lot!  I'm installing the following fix.

2002-09-19  Alexandre Duret-Lutz  <address@hidden>

        * 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.
 
Index: automake.in
===================================================================
RCS file: /cvs/automake/automake/automake.in,v
retrieving revision 1.1357
diff -u -r1.1357 automake.in
--- automake.in 18 Sep 2002 19:37:35 -0000      1.1357
+++ automake.in 19 Sep 2002 07:57:50 -0000
@@ -8947,13 +8947,26 @@
   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: tests/Makefile.am
===================================================================
RCS file: /cvs/automake/automake/tests/Makefile.am,v
retrieving revision 1.440
diff -u -r1.440 Makefile.am
--- tests/Makefile.am   18 Sep 2002 18:43:24 -0000      1.440
+++ tests/Makefile.am   19 Sep 2002 07:57:52 -0000
@@ -90,6 +90,7 @@
 cond22.test \
 cond23.test \
 cond24.test \
+cond25.test \
 condd.test \
 condincl.test \
 condincl2.test \
Index: tests/cond25.test
===================================================================
RCS file: tests/cond25.test
diff -N tests/cond25.test
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ tests/cond25.test   19 Sep 2002 07:57:52 -0000
@@ -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
-- 
Alexandre Duret-Lutz





reply via email to

[Prev in Thread] Current Thread [Next in Thread]