diff options
Diffstat (limited to 'main/lzo/autoconf/py-compile')
| -rwxr-xr-x | main/lzo/autoconf/py-compile | 68 | 
1 files changed, 46 insertions, 22 deletions
diff --git a/main/lzo/autoconf/py-compile b/main/lzo/autoconf/py-compile index 3f9d05b6..bc203914 100755 --- a/main/lzo/autoconf/py-compile +++ b/main/lzo/autoconf/py-compile @@ -1,10 +1,9 @@  #!/bin/sh  # py-compile - Compile a Python program -scriptversion=2009-04-28.21; # UTC +scriptversion=2011-06-08.12; # UTC -# Copyright (C) 2000, 2001, 2003, 2004, 2005, 2008, 2009 Free Software -# Foundation, Inc. +# Copyright (C) 2000-2014 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 @@ -32,28 +31,36 @@ if [ -z "$PYTHON" ]; then    PYTHON=python  fi +me=py-compile + +usage_error () +{ +  echo "$me: $*" >&2 +  echo "Try '$me --help' for more information." >&2 +  exit 1 +} +  basedir=  destdir= -files=  while test $# -ne 0; do    case "$1" in      --basedir) -      basedir=$2 -      if test -z "$basedir"; then -        echo "$0: Missing argument to --basedir." 1>&2 -        exit 1 +      if test $# -lt 2; then +        usage_error "option '--basedir' requires an argument" +      else +        basedir=$2        fi        shift        ;;      --destdir) -      destdir=$2 -      if test -z "$destdir"; then -        echo "$0: Missing argument to --destdir." 1>&2 -        exit 1 +      if test $# -lt 2; then +        usage_error "option '--destdir' requires an argument" +      else +        destdir=$2        fi        shift        ;; -    -h|--h*) +    -h|--help)        cat <<\EOF  Usage: py-compile [--help] [--version] [--basedir DIR] [--destdir DIR] FILES..." @@ -69,20 +76,27 @@ Report bugs to <bug-automake@gnu.org>.  EOF        exit $?        ;; -    -v|--v*) -      echo "py-compile $scriptversion" +    -v|--version) +      echo "$me $scriptversion"        exit $?        ;; +    --) +      shift +      break +      ;; +    -*) +      usage_error "unrecognized option '$1'" +      ;;      *) -      files="$files $1" +      break        ;;    esac    shift  done +files=$*  if test -z "$files"; then -    echo "$0: No files given.  Try \`$0 --help' for more information." 1>&2 -    exit 1 +    usage_error "no files given"  fi  # if basedir was given, then it should be prepended to filenames before @@ -102,7 +116,7 @@ else  fi  $PYTHON -c " -import sys, os, py_compile +import sys, os, py_compile, imp  files = '''$files''' @@ -115,12 +129,19 @@ for file in files.split():  	    continue      sys.stdout.write(file)      sys.stdout.flush() -    py_compile.compile(filepath, filepath + 'c', path) +    if hasattr(imp, 'get_tag'): +        py_compile.compile(filepath, imp.cache_from_source(filepath), path) +    else: +        py_compile.compile(filepath, filepath + 'c', path)  sys.stdout.write('\n')" || exit $?  # this will fail for python < 1.5, but that doesn't matter ...  $PYTHON -O -c " -import sys, os, py_compile +import sys, os, py_compile, imp + +# pypy does not use .pyo optimization +if hasattr(sys, 'pypy_translation_info'): +    sys.exit(0)  files = '''$files'''  sys.stdout.write('Byte-compiling python modules (optimized versions) ...\n') @@ -132,7 +153,10 @@ for file in files.split():  	    continue      sys.stdout.write(file)      sys.stdout.flush() -    py_compile.compile(filepath, filepath + 'o', path) +    if hasattr(imp, 'get_tag'): +        py_compile.compile(filepath, imp.cache_from_source(filepath, False), path) +    else: +        py_compile.compile(filepath, filepath + 'o', path)  sys.stdout.write('\n')" 2>/dev/null || :  # Local Variables:  | 
