>>> "Pavel" == Pavel Roskin <[EMAIL PROTECTED]> 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 <[EMAIL PROTECTED]> * 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