0ca0ae439e
svn: r1140
85 lines
2.4 KiB
Bash
Executable File
85 lines
2.4 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
# py-compile - Compile a Python program
|
|
# Copyright 2000, 2001 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
|
|
# the Free Software Foundation; either version 2, or (at your option)
|
|
# any later version.
|
|
|
|
# This program 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 this program; if not, write to the Free Software
|
|
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
|
# 02111-1307, USA.
|
|
|
|
# As a special exception to the GNU General Public License, if you
|
|
# distribute this file as part of a program that contains a
|
|
# configuration script generated by Autoconf, you may include it under
|
|
# the same distribution terms that you use for the rest of that program.
|
|
|
|
# called as "py-compile [--basedir DIR] PY_FILES ...
|
|
|
|
# GRAMPS-SPECIFIC COMMENTS:
|
|
# This is a modified version of the py-compile script distributed with
|
|
# GNU automake 1.6. The only difference is that this file has had the
|
|
# normal byte-compiling section removed since Gramps only uses optimized
|
|
# versions of byte-compiled code.
|
|
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
|
|
|
|
# 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 || :
|
|
|
|
|