[Top][All Lists]
[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