2004-11-10 Alexandre Duret-Lutz <adl@gnu.org>
+ * m4/python.m4 (AM_PATH_PYTHON): Fix the invocation of
+ AC_PATH_PROGS to correctly define PYTHON as `:' when no interpreter
+ is found (this worked correctly only when a minimal version was
+ passed to AM_PATH_PYTHON). Report from Stepan Kasal.
+ (_AM_PYTHON_INTERPRETER_LIST): Define using m4_define_default,
+ so we can easily override the list from the test suite.
+ * tests/python11.test: New file.
+ * tests/Makefile.am (TESTS): Add python11.test.
+
* doc/automake.texi (Libtool Modules): Make clearer that -module
should appear explicitly in _LDFLAGS.
dnl supported because the default installation locations changed from
dnl $prefix/lib/site-python in 1.4 to $prefix/lib/python1.5/site-packages
dnl in 1.5.
- m4_define([_AM_PYTHON_INTERPRETER_LIST],
- [python python2 python2.4 python2.3 python2.2 dnl
+ m4_define_default([_AM_PYTHON_INTERPRETER_LIST],
+ [python python2 python2.4 python2.3 python2.2 dnl
python2.1 python2.0 python1.6 python1.5])
m4_if([$1],[],[
dnl No version check is needed.
# Find any Python interpreter.
if test -z "$PYTHON"; then
- PYTHON=:
- AC_PATH_PROGS([PYTHON], _AM_PYTHON_INTERPRETER_LIST)
+ AC_PATH_PROGS([PYTHON], _AM_PYTHON_INTERPRETER_LIST, :)
fi
am_display_PYTHON=python
], [
--- /dev/null
+#! /bin/sh
+# Copyright (C) 2004 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 Automake; see the file COPYING. If not, write to
+# the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+# Boston, MA 02111-1307, USA.
+
+# Test missing python.
+
+# Python is not required for this test.
+. ./defs || exit 1
+
+set -e
+
+cat >>configure.in <<'EOF'
+m4_define([_AM_PYTHON_INTERPRETER_LIST], [IShouldNotExist1 IShouldNotExist2])
+AM_PATH_PYTHON
+# The following be executed only after the first run, once a
+# third argument has been added to the previous macro.
+echo PYTHON = $PYTHON
+test "$PYTHON" = : || exit 1
+EOF
+
+: > Makefile.am
+
+$ACLOCAL
+$AUTOCONF
+
+./configure >stdout 2>stderr && exit 1
+cat stdout
+cat stderr
+grep 'checking for IShouldNotExist1' stdout
+grep 'checking for IShouldNotExist2' stdout
+grep 'no suitable Python interpreter found' stderr
+
+$PERL -pi -e 's/AM_PATH_PYTHON/AM_PATH_PYTHON(,,:)/' configure.in
+$ACLOCAL
+$AUTOCONF
+# This one should define PYTHON as : and exit succesfully
+./configure
+
+# Any user setting should be used.
+./configure PYTHON=foo >stdout && exit 1
+cat stdout
+grep 'PYTHON = foo' stdout