]> git.ipfire.org Git - thirdparty/automake.git/commitdiff
* lib/py-compile: Check input files after option processing.
authorAlexandre Duret-Lutz <adl@gnu.org>
Mon, 12 Jan 2004 22:56:49 +0000 (22:56 +0000)
committerAlexandre Duret-Lutz <adl@gnu.org>
Mon, 12 Jan 2004 22:56:49 +0000 (22:56 +0000)
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.

ChangeLog
lib/am/python.am
lib/py-compile
tests/Makefile.am
tests/Makefile.in
tests/python10.test [new file with mode: 0755]

index b3943c37aafa079add001131f9ef25e7df2931a6..b66c6a8e4d88181bab49c82b0a4313515849ffcc 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,13 @@
 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.
 
index e6cf68b953c89185b4d749435899637087043628..f6f4daee91ac8d85b669aeb32155baaf6506f1ca 100644 (file)
@@ -52,6 +52,7 @@ install-%DIR%PYTHON: $(%DIR%_PYTHON)
        done; \
 ## Byte-compile must be done at install time, since file times are
 ## encoded in the actual files.
+       test -z "$$dlist" || \
        PYTHON=$(PYTHON) $(py_compile) --basedir $(DESTDIR)$(%NDIR%dir) $$dlist
 endif %?INSTALL%
 
index e712f4bf90e5a98310388a9b6ca8b5f93473fac9..f5d4fdc5888e9acb6a69a1cfa7f2cec9987c6fed 100755 (executable)
@@ -1,9 +1,9 @@
 #!/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
@@ -36,12 +36,12 @@ fi
 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*)
@@ -61,6 +61,11 @@ EOF
     ;;
 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
index 9e93caf3d5b623b6b159d9931e129e4a96f5b3ab..683d8395b306c1f8d757a0b0378967acebb5c703 100644 (file)
@@ -391,6 +391,7 @@ python6.test \
 python7.test \
 python8.test \
 python9.test \
+python10.test \
 recurs.test \
 recurs2.test \
 remake.test \
index 39c53534368d19b51342e07dc1f1b2244ff572a0..c76aaaa5dbf8babfad491ebe8c0270c8f020dde2 100644 (file)
@@ -505,6 +505,7 @@ python6.test \
 python7.test \
 python8.test \
 python9.test \
+python10.test \
 recurs.test \
 recurs2.test \
 remake.test \
diff --git a/tests/python10.test b/tests/python10.test
new file mode 100755 (executable)
index 0000000..784b736
--- /dev/null
@@ -0,0 +1,87 @@
+#! /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