0
0
mirror of https://github.com/nodejs/node.git synced 2024-11-21 13:09:21 +01:00

build: make python executable configurable

Upstreamed in https://codereview.chromium.org/11418101/

Fixes #4287.
This commit is contained in:
Ben Noordhuis 2012-11-20 17:28:28 +01:00
parent 815a181d03
commit 1e738c5ef2
8 changed files with 19 additions and 11 deletions

View File

@ -9,6 +9,7 @@
'msvs_multi_core_compile': '0', # we do enable multicore compiles, but not using the V8 way
'gcc_version%': 'unknown',
'clang%': 0,
'python%': 'python',
# Turn on optimizations that may trigger compiler bugs.
# Use at your own risk. Do *NOT* report bugs if this option is enabled.

3
configure vendored
View File

@ -573,7 +573,7 @@ def configure_openssl(o):
output = {
'variables': {},
'variables': { 'python': sys.executable },
'include_dirs': [],
'libraries': [],
'defines': [],
@ -611,6 +611,7 @@ config = {
'BUILDTYPE': 'Debug' if options.debug else 'Release',
'USE_NINJA': str(int(options.use_ninja or 0)),
'USE_XCODE': str(int(options.use_xcode or 0)),
'PYTHON': sys.executable,
}
config = '\n'.join(map('='.join, config.iteritems())) + '\n'

9
deps/v8/Makefile vendored
View File

@ -24,6 +24,7 @@
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PYTHON ?= python
# Variable default definitions. Override them by exporting them in your shell.
@ -112,6 +113,8 @@ ifeq ($(hardfp), on)
GYPFLAGS += -Dv8_use_arm_eabi_hardfloat=true
endif
GYPFLAGS += "-Dpython=$(PYTHON)"
# ----------------- available targets: --------------------
# - "dependencies": pulls in external dependencies (currently: GYP)
# - any arch listed in ARCHES (see below)
@ -179,7 +182,7 @@ $(BUILDS): $(OUTDIR)/Makefile.$$(basename $$@)
@$(MAKE) -C "$(OUTDIR)" -f Makefile.$(basename $@) \
CXX="$(CXX)" LINK="$(LINK)" \
BUILDTYPE=$(shell echo $(subst .,,$(suffix $@)) | \
python -c "print raw_input().capitalize()") \
$(PYTHON) -c "print raw_input().capitalize()") \
builddir="$(shell pwd)/$(OUTDIR)/$@"
native: $(OUTDIR)/Makefile.native
@ -250,14 +253,14 @@ clean: $(addsuffix .clean, $(ARCHES) $(ANDROID_ARCHES)) native.clean
OUT_MAKEFILES = $(addprefix $(OUTDIR)/Makefile.,$(ARCHES))
$(OUT_MAKEFILES): $(GYPFILES) $(ENVFILE)
GYP_GENERATORS=make \
build/gyp/gyp --generator-output="$(OUTDIR)" build/all.gyp \
$(PYTHON) build/gyp/gyp --generator-output="$(OUTDIR)" build/all.gyp \
-Ibuild/standalone.gypi --depth=. \
-Dv8_target_arch=$(subst .,,$(suffix $@)) \
-S.$(subst .,,$(suffix $@)) $(GYPFLAGS)
$(OUTDIR)/Makefile.native: $(GYPFILES) $(ENVFILE)
GYP_GENERATORS=make \
build/gyp/gyp --generator-output="$(OUTDIR)" build/all.gyp \
$(PYTHON) build/gyp/gyp --generator-output="$(OUTDIR)" build/all.gyp \
-Ibuild/standalone.gypi --depth=. -S.native $(GYPFLAGS)
must-set-ANDROID_NDK_ROOT_OR_TOOLCHAIN:

View File

@ -103,6 +103,9 @@
# Interpreted regexp engine exists as platform-independent alternative
# based where the regular expression is compiled to a bytecode.
'v8_interpreted_regexp%': 0,
# Name of the python executable.
'python%': 'python',
},
'target_defaults': {
'conditions': [

2
deps/v8/src/d8.gyp vendored
View File

@ -99,7 +99,7 @@
'<(SHARED_INTERMEDIATE_DIR)/d8-js.cc',
],
'action': [
'python',
'<(python)',
'../tools/js2c.py',
'<@(_outputs)',
'D8',

View File

@ -187,7 +187,7 @@
'<(generated_file)',
],
'action': [
'python',
'<(python)',
'../../tools/js2c.py',
'<@(_outputs)',
'TEST', # type

View File

@ -796,7 +796,7 @@
'<(SHARED_INTERMEDIATE_DIR)/libraries.cc',
],
'action': [
'python',
'<(python)',
'../../tools/js2c.py',
'<@(_outputs)',
'CORE',
@ -814,7 +814,7 @@
'<(SHARED_INTERMEDIATE_DIR)/experimental-libraries.cc',
],
'action': [
'python',
'<(python)',
'../../tools/js2c.py',
'<@(_outputs)',
'EXPERIMENTAL',
@ -844,7 +844,7 @@
'<(SHARED_INTERMEDIATE_DIR)/debug-support.cc',
],
'action': [
'python',
'<(python)',
'../../tools/gen-postmortem-metadata.py',
'<@(_outputs)',
'<@(heapobject_files)'

View File

@ -314,14 +314,14 @@
' or node_use_systemtap=="true"',
{
'action': [
'python',
'<(python)',
'tools/js2c.py',
'<@(_outputs)',
'<@(_inputs)',
],
}, { # No Dtrace
'action': [
'python',
'<(python)',
'tools/js2c.py',
'<@(_outputs)',
'<@(_inputs)',