2004-01-12 Alexandre Duret-Lutz <adl@gnu.org>
+ * lib/py-compile: Check input files after option processing.
+ Ensure --basedir has an argument.
+ * lib/am/python.am (install-%DIR%PYTHON): Do not run py-compile
+ if nothing was installed.
+ * tests/python10.test: New file.
+ * tests/Makefile.am (TESTS): Add python10.test.
+ Suggested by Sander Niemeijer.
+
* tests/txinfo29.test: Remove autom4te.cache.
Report from Greg Schafer.
#!/bin/sh
# py-compile - Compile a Python program
-scriptversion=2003-11-09.01
+scriptversion=2004-01-12.23
-# Copyright (C) 2000, 2001, 2003 Free Software Foundation, Inc.
+# Copyright (C) 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
basedir=
case "$1" in
- '')
- echo "$0: No files given. Try \`$0 --help' for more information." 1>&2
- exit 1
- ;;
--basedir)
basedir=$2
+ if test -z "$basedir"; then
+ echo "$0: Missing argument to --basedir." 1>&2
+ exit 1
+ fi
shift 2
;;
-h|--h*)
;;
esac
+if [ $# = 0 ]; then
+ echo "$0: No files given. Try \`$0 --help' for more information." 1>&2
+ exit 1
+fi
+
# if basedir was given, then it should be prepended to filenames before
# byte compilation.
if [ -z "$basedir" ]; then
--- /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 _PYTHON with conditionals.
+
+required=python
+. ./defs || exit 1
+
+set -e
+
+cat >>configure.in <<'EOF'
+AM_PATH_PYTHON
+AM_CONDITIONAL([ONE], [test "x$one" = x1])
+AC_OUTPUT
+EOF
+
+cat > Makefile.am <<'END'
+if ONE
+mydir=$(prefix)/my
+my_PYTHON = one.py
+else
+yourdir=$(prefix)/your
+your_PYTHON = two.py
+endif
+
+one.py:
+ echo 'def one(): return 1' >$@
+two.py:
+ echo 'def two(): return 1' >$@
+
+disttest: distdir
+ test -f $(distdir)/one.py
+ test -f $(distdir)/two.py
+END
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE --add-missing
+
+mkdir inst
+inst=`pwd`/inst
+mkdir build
+cd build
+../configure --prefix="$inst"
+$MAKE install
+test -f $inst/your/two.py
+test -f $inst/your/two.pyc
+test -f $inst/your/two.pyo
+test ! -f $inst/my/one.py
+test ! -f $inst/my/one.pyc
+test ! -f $inst/my/one.pyo
+$MAKE uninstall
+test ! -f $inst/your/two.py
+test ! -f $inst/your/two.pyc
+test ! -f $inst/your/two.pyo
+
+../configure --prefix="$inst" one=1
+$MAKE install
+test ! -f $inst/your/two.py
+test ! -f $inst/your/two.pyc
+test ! -f $inst/your/two.pyo
+test -f $inst/my/one.py
+test -f $inst/my/one.pyc
+test -f $inst/my/one.pyo
+$MAKE uninstall
+test ! -f $inst/my/one.py
+test ! -f $inst/my/one.pyc
+test ! -f $inst/my/one.pyo
+
+$MAKE disttest