diff options
author | Matt Wilson <msw@redhat.com> | 1999-08-27 05:04:01 +0000 |
---|---|---|
committer | Matt Wilson <msw@redhat.com> | 1999-08-27 05:04:01 +0000 |
commit | adca6426e3d7cea55cd6b146cfefc2ddb5dedea8 (patch) | |
tree | 83f305c3f84fea208be21ab0e3d7b4f1bef68605 /py-compile | |
parent | 90cd463be6abaac3548e73019116ac4f7db9be76 (diff) | |
download | anaconda-adca6426e3d7cea55cd6b146cfefc2ddb5dedea8.tar.gz anaconda-adca6426e3d7cea55cd6b146cfefc2ddb5dedea8.tar.xz anaconda-adca6426e3d7cea55cd6b146cfefc2ddb5dedea8.zip |
python compiler
Diffstat (limited to 'py-compile')
-rwxr-xr-x | py-compile | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/py-compile b/py-compile new file mode 100755 index 000000000..b60649de6 --- /dev/null +++ b/py-compile @@ -0,0 +1,68 @@ +#!/bin/sh +# called as "py-compile [--basedir DIR] PY_FILES ... + +if [ -z "$PYTHON" ]; then + PYTHON=python +fi + +basedir= + +case "$1" in + --basedir) + basedir=$2 + shift 2 + ;; + --help) + echo "Usage: py-compile [--basedir DIR] PY_FILES ..." + echo "Byte compile some python scripts. This should be performed" + echo "after they have been moved to the final installation location" + exit 0 + ;; + --version) + echo "py-compile version 0.0" + exit 0 + ;; +esac + +if [ $# = 0 ]; then + echo "No files given to $0" 1>&2 + exit 1 +fi + +# if basedir was given, then it should be prepended to filenames before +# byte compilation. +if [ -z "$basedir" ]; then + trans="path = file" +else + trans="path = os.path.join('$basedir', file)" +fi + +$PYTHON -c " +import sys, os, string, py_compile + +files = '''$*''' +print 'Byte-compiling python modules...' +for file in string.split(files): + $trans + if not os.path.exists(path) or not (len(path) >= 3 and path[-3:] == '.py'): + continue + print file, + sys.stdout.flush() + py_compile.compile(path) +print" || exit $? + +# this will fail for python < 1.5, but that doesn't matter ... +$PYTHON -O -c " +import sys, os, string, py_compile + +files = '''$*''' +print 'Byte-compiling python modules (optimised versions) ...' +for file in string.split(files): + $trans + if not os.path.exists(path) or not (len(path) >= 3 and path[-3:] == '.py'): + continue + print file, + sys.stdout.flush() + py_compile.compile(path) +print" 2>/dev/null || : + |