From: Alexandre Duret-Lutz Date: Mon, 12 Jan 2004 22:56:49 +0000 (+0000) Subject: * lib/py-compile: Check input files after option processing. X-Git-Tag: Release-1-8b~84 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a4e14767f64c59ff63d1fea1a71a4419531ff1d5;p=thirdparty%2Fautomake.git * 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. --- diff --git a/ChangeLog b/ChangeLog index b3943c37a..b66c6a8e4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,13 @@ 2004-01-12 Alexandre Duret-Lutz + * 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. diff --git a/lib/am/python.am b/lib/am/python.am index e6cf68b95..f6f4daee9 100644 --- a/lib/am/python.am +++ b/lib/am/python.am @@ -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% diff --git a/lib/py-compile b/lib/py-compile index e712f4bf9..f5d4fdc58 100755 --- a/lib/py-compile +++ b/lib/py-compile @@ -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 diff --git a/tests/Makefile.am b/tests/Makefile.am index 9e93caf3d..683d8395b 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -391,6 +391,7 @@ python6.test \ python7.test \ python8.test \ python9.test \ +python10.test \ recurs.test \ recurs2.test \ remake.test \ diff --git a/tests/Makefile.in b/tests/Makefile.in index 39c535343..c76aaaa5d 100644 --- a/tests/Makefile.in +++ b/tests/Makefile.in @@ -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 index 000000000..784b73645 --- /dev/null +++ b/tests/python10.test @@ -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