[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: AM_CONDITIONAL error
From: |
Alexandre Duret-Lutz |
Subject: |
Re: AM_CONDITIONAL error |
Date: |
Mon, 17 May 2004 22:19:02 +0200 |
User-agent: |
Gnus/5.1003 (Gnus v5.10.3) Emacs/21.3 (gnu/linux) |
>>> "Volker" == Volker Boerchers <address@hidden> writes:
Volker> Hi,
Volker> i experienced an error in witch AM_CONDITIONAL is involved. My
Volker> configure.in contains the following lines
[...]
Volker> AM_CONDITIONAL([SWIG_PYTHON], [test x$enable_swig_python = xyes])
Volker> After updating my swig installation (www.swig.org) the
Volker> following error occured (I'm using automake 1.5 and
Volker> 1.7.6, autoconf 2.52 and 2.57):
[...]
Volker> ./configure: line 2901: syntax error near unexpected token `"(c'
Volker> ./configure: line 2901: ` echo $ECHO_N "(cached) $ECHO_C" >&6'
[...]
Volker> It took a long time until I realized what went wrong: swig installs a
Volker> m4 file that defines a macro 'SWIG_PYTHON' too. So actually the
Volker> problem is not really an automake problem...
Thanks for the detailed report. I'm installing the following
fix on HEAD and branch-1-8.
2004-05-17 Alexandre Duret-Lutz <address@hidden>
* m4/cond.m4 (AM_CONDITIONAL): Double-quote diagnostic.
* tests/condd.test: Define a macro with the same name as a
conditional.
* tests/pr220.test: Modernize, and make sure the diagnostics
contains the macro name.
Report from Volker Boerchers.
Index: THANKS
===================================================================
RCS file: /cvs/automake/automake/THANKS,v
retrieving revision 1.252
diff -u -r1.252 THANKS
--- THANKS 15 May 2004 21:01:03 -0000 1.252
+++ THANKS 17 May 2004 20:16:12 -0000
@@ -252,6 +252,7 @@
Ulrich Drepper address@hidden
Václav Haisman address@hidden
Vadim Zeitlin address@hidden
+Volker Boerchers address@hidden
Werner John address@hidden
Werner Koch address@hidden
William S Fulton address@hidden
Index: m4/cond.m4
===================================================================
RCS file: /cvs/automake/automake/m4/cond.m4,v
retrieving revision 1.11
diff -u -r1.11 cond.m4
--- m4/cond.m4 24 Aug 2003 19:56:07 -0000 1.11
+++ m4/cond.m4 17 May 2004 20:16:19 -0000
@@ -1,6 +1,6 @@
# AM_CONDITIONAL -*- Autoconf -*-
-# Copyright (C) 1997, 2000, 2001, 2003 Free Software Foundation, Inc.
+# Copyright (C) 1997, 2000, 2001, 2003, 2004 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -37,6 +37,6 @@
fi
AC_CONFIG_COMMANDS_PRE(
[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
- AC_MSG_ERROR([conditional "$1" was never defined.
-Usually this means the macro was only invoked conditionally.])
+ AC_MSG_ERROR([[conditional "$1" was never defined.
+Usually this means the macro was only invoked conditionally.]])
fi])])
Index: tests/condd.test
===================================================================
RCS file: /cvs/automake/automake/tests/condd.test,v
retrieving revision 1.5
diff -u -r1.5 condd.test
--- tests/condd.test 14 Nov 2003 21:25:58 -0000 1.5
+++ tests/condd.test 17 May 2004 20:16:19 -0000
@@ -1,5 +1,5 @@
#! /bin/sh
-# Copyright (C) 2001, 2002 Free Software Foundation, Inc.
+# Copyright (C) 2001, 2002, 2004 Free Software Foundation, Inc.
#
# This file is part of GNU Automake.
#
@@ -26,7 +26,10 @@
cat >> configure.in << 'END'
AC_PROG_CC
-AM_CONDITIONAL(COND1, false)
+dnl Define a macro with the same name as the conditional to exhibit
+dnl any underquotted bug.
+AC_DEFUN([COND1], ["some'meaningless;characters`])
+AM_CONDITIONAL([COND1], false)
AC_CONFIG_FILES([foo/Makefile])
AC_CONFIG_FILES([bar/Makefile])
AC_OUTPUT
@@ -65,6 +68,7 @@
$ACLOCAL
$AUTOCONF
+grep "meaningless;characters" configure && exit 1
$AUTOMAKE
./configure
$MAKE test
Index: tests/pr220.test
===================================================================
RCS file: /cvs/automake/automake/tests/pr220.test,v
retrieving revision 1.6
diff -u -r1.6 pr220.test
--- tests/pr220.test 14 Nov 2003 21:25:59 -0000 1.6
+++ tests/pr220.test 17 May 2004 20:16:19 -0000
@@ -1,5 +1,5 @@
#! /bin/sh
-# Copyright (C) 2001, 2002 Free Software Foundation, Inc.
+# Copyright (C) 2001, 2002, 2004 Free Software Foundation, Inc.
#
# This file is part of GNU Automake.
#
@@ -23,6 +23,8 @@
required=gcc
. ./defs || exit 1
+set -e
+
cat >main.c <<EOF
int main() { return 0; }
EOF
@@ -36,9 +38,7 @@
main_SOURCES = main.c $(NEVER_DEFINED)
EOF
-cat > configure.in << 'EOF'
-AC_INIT(main.c)
-AM_INIT_AUTOMAKE(test_am, 1.0)
+cat >> configure.in << 'EOF'
AC_PROG_CC
AC_ARG_ENABLE(foo,
[ --enable-foo Enable foo],
@@ -48,18 +48,17 @@
AM_CONDITIONAL(NEVER_TRUE, false)
fi
])
-AC_OUTPUT(Makefile)
+AC_OUTPUT
EOF
-touch README NEWS AUTHORS ChangeLog
-
mkdir build
-$ACLOCAL \
- && $AUTOCONF \
- && $AUTOMAKE -a || exit 1
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE -a
cd build
# configure should fail since we've done something invalid.
-../configure && exit 1
-exit 0
+../configure 2>stderr && exit 1
+cat stderr
+grep NEVER_TRUE stderr
--
Alexandre Duret-Lutz
- AM_CONDITIONAL error, Volker Boerchers, 2004/05/07
- Re: AM_CONDITIONAL error,
Alexandre Duret-Lutz <=