From db10db9e18ae0a00a04f9a5f5c3ce4e230d2b0c5 Mon Sep 17 00:00:00 2001 From: Refael Ackermann Date: Tue, 21 Aug 2018 19:28:53 -0400 Subject: [PATCH] build: move meta-shebang back to `configure` PR-URL: https://github.com/nodejs/node/pull/22450 Reviewed-By: Joyee Cheung --- configure | 28 ++++++++++++++++++++++++++++ configure.py | 27 +-------------------------- 2 files changed, 29 insertions(+), 26 deletions(-) create mode 100755 configure diff --git a/configure b/configure new file mode 100755 index 00000000000000..495d0e8848860c --- /dev/null +++ b/configure @@ -0,0 +1,28 @@ +#!/bin/sh + +# Locate python2 interpreter and re-execute the script. Note that the +# mix of single and double quotes is intentional, as is the fact that +# the ] goes on a new line. +_=[ 'exec' '/bin/sh' '-c' ''' +which python2.7 >/dev/null && exec python2.7 "$0" "$@" +which python2 >/dev/null && exec python2 "$0" "$@" +exec python "$0" "$@" +''' "$0" "$@" +] +del _ + +import sys +from distutils.spawn import find_executable as which +if sys.version_info[0] != 2 or sys.version_info[1] not in (6, 7): + sys.stderr.write('Please use either Python 2.6 or 2.7') + + python2 = which('python2') or which('python2.6') or which('python2.7') + + if python2: + sys.stderr.write(':\n\n') + sys.stderr.write(' ' + python2 + ' ' + ' '.join(sys.argv)) + + sys.stderr.write('\n') + sys.exit(1) + +import configure diff --git a/configure.py b/configure.py index 332071345f4487..71b33cbf9119eb 100755 --- a/configure.py +++ b/configure.py @@ -1,30 +1,4 @@ -#!/bin/sh - -# Locate python2 interpreter and re-execute the script. Note that the -# mix of single and double quotes is intentional, as is the fact that -# the ] goes on a new line. -_=[ 'exec' '/bin/sh' '-c' ''' -which python2.7 >/dev/null && exec python2.7 "$0" "$@" -which python2 >/dev/null && exec python2 "$0" "$@" -exec python "$0" "$@" -''' "$0" "$@" -] -del _ - import sys -from distutils.spawn import find_executable as which -if sys.version_info[0] != 2 or sys.version_info[1] not in (6, 7): - sys.stderr.write('Please use either Python 2.6 or 2.7') - - python2 = which('python2') or which('python2.6') or which('python2.7') - - if python2: - sys.stderr.write(':\n\n') - sys.stderr.write(' ' + python2 + ' ' + ' '.join(sys.argv)) - - sys.stderr.write('\n') - sys.exit(1) - import errno import optparse import os @@ -35,6 +9,7 @@ import subprocess import shutil import string +from distutils.spawn import find_executable as which # If not run from node/, cd to node/. os.chdir(os.path.dirname(__file__) or '.')