build: set up basic multi-arch/mode build
Make `make -f Makefile.build ia32.release x64.debug` work. It's not perfect yet: it requires running `./configure` first and the generated `config.gypi` is shared across builds. PR-URL: https://github.com/node-forward/node/pull/24 Reviewed-By: Fedor Indutny <fedor@indutny.com>
This commit is contained in:
parent
91b249262b
commit
5ec2b3fc3d
@ -31,7 +31,8 @@ CXX ?= g++
|
|||||||
LINK ?= g++
|
LINK ?= g++
|
||||||
OUTDIR ?= out
|
OUTDIR ?= out
|
||||||
TESTJOBS ?=
|
TESTJOBS ?=
|
||||||
GYPFLAGS ?=
|
# TODO(bnoordhuis) Make i18n support configurable.
|
||||||
|
GYPFLAGS ?= -Dv8_enable_i18n_support=0
|
||||||
TESTFLAGS ?=
|
TESTFLAGS ?=
|
||||||
ANDROID_NDK_ROOT ?=
|
ANDROID_NDK_ROOT ?=
|
||||||
ANDROID_NDK_HOST_ARCH ?=
|
ANDROID_NDK_HOST_ARCH ?=
|
||||||
@ -229,9 +230,16 @@ ANDROID_ARCHES = android_ia32 android_arm android_arm64 android_mipsel android_x
|
|||||||
NACL_ARCHES = nacl_ia32 nacl_x64
|
NACL_ARCHES = nacl_ia32 nacl_x64
|
||||||
|
|
||||||
# List of files that trigger Makefile regeneration:
|
# List of files that trigger Makefile regeneration:
|
||||||
GYPFILES = build/all.gyp build/features.gypi build/standalone.gypi \
|
GYPFILES = \
|
||||||
build/toolchain.gypi samples/samples.gyp src/compiler/compiler.gyp \
|
common.gypi \
|
||||||
src/d8.gyp test/cctest/cctest.gyp tools/gyp/v8.gyp
|
deps/cares/cares.gyp \
|
||||||
|
deps/debugger-agent/debugger-agent.gyp \
|
||||||
|
deps/http_parser/http_parser.gyp \
|
||||||
|
deps/openssl/openssl.gyp \
|
||||||
|
deps/uv/uv.gyp \
|
||||||
|
deps/v8/tools/gyp/v8.gyp \
|
||||||
|
deps/zlib/zlib.gyp \
|
||||||
|
node.gyp \
|
||||||
|
|
||||||
# If vtunejit=on, the v8vtune.gyp will be appended.
|
# If vtunejit=on, the v8vtune.gyp will be appended.
|
||||||
ifeq ($(vtunejit), on)
|
ifeq ($(vtunejit), on)
|
||||||
@ -403,10 +411,10 @@ $(OUT_MAKEFILES): $(GYPFILES) $(ENVFILE)
|
|||||||
cut -f 2 -d " " | cut -f 1 -d "-" ))
|
cut -f 2 -d " " | cut -f 1 -d "-" ))
|
||||||
$(eval CXX_TARGET_ARCH:=$(subst aarch64,arm64,$(CXX_TARGET_ARCH)))
|
$(eval CXX_TARGET_ARCH:=$(subst aarch64,arm64,$(CXX_TARGET_ARCH)))
|
||||||
$(eval V8_TARGET_ARCH:=$(subst .,,$(suffix $(basename $@))))
|
$(eval V8_TARGET_ARCH:=$(subst .,,$(suffix $(basename $@))))
|
||||||
PYTHONPATH="$(shell pwd)/tools/generate_shim_headers:$(shell pwd)/build:$(PYTHONPATH):$(shell pwd)/build/gyp/pylib:$(PYTHONPATH)" \
|
|
||||||
GYP_GENERATORS=make \
|
GYP_GENERATORS=make \
|
||||||
build/gyp/gyp --generator-output="$(OUTDIR)" build/all.gyp \
|
tools/gyp/gyp --generator-output="$(OUTDIR)" node.gyp \
|
||||||
-Ibuild/standalone.gypi --depth=. \
|
-Icommon.gypi --depth=. \
|
||||||
|
-Dtarget_arch=$(V8_TARGET_ARCH) \
|
||||||
-Dv8_target_arch=$(V8_TARGET_ARCH) \
|
-Dv8_target_arch=$(V8_TARGET_ARCH) \
|
||||||
$(if $(findstring $(CXX_TARGET_ARCH),$(V8_TARGET_ARCH)), \
|
$(if $(findstring $(CXX_TARGET_ARCH),$(V8_TARGET_ARCH)), \
|
||||||
-Dtarget_arch=$(V8_TARGET_ARCH),) \
|
-Dtarget_arch=$(V8_TARGET_ARCH),) \
|
||||||
@ -414,10 +422,9 @@ $(OUT_MAKEFILES): $(GYPFILES) $(ENVFILE)
|
|||||||
-S$(suffix $(basename $@))$(suffix $@) $(GYPFLAGS)
|
-S$(suffix $(basename $@))$(suffix $@) $(GYPFLAGS)
|
||||||
|
|
||||||
$(OUTDIR)/Makefile.native: $(GYPFILES) $(ENVFILE)
|
$(OUTDIR)/Makefile.native: $(GYPFILES) $(ENVFILE)
|
||||||
PYTHONPATH="$(shell pwd)/tools/generate_shim_headers:$(shell pwd)/build:$(PYTHONPATH):$(shell pwd)/build/gyp/pylib:$(PYTHONPATH)" \
|
|
||||||
GYP_GENERATORS=make \
|
GYP_GENERATORS=make \
|
||||||
build/gyp/gyp --generator-output="$(OUTDIR)" build/all.gyp \
|
tools/gyp/gyp --generator-output="$(OUTDIR)" node.gyp \
|
||||||
-Ibuild/standalone.gypi --depth=. -S.native $(GYPFLAGS)
|
-Icommon.gypi --depth=. -S.native $(GYPFLAGS)
|
||||||
|
|
||||||
must-set-ANDROID_NDK_ROOT_OR_TOOLCHAIN:
|
must-set-ANDROID_NDK_ROOT_OR_TOOLCHAIN:
|
||||||
ifndef ANDROID_NDK_ROOT
|
ifndef ANDROID_NDK_ROOT
|
||||||
|
@ -12,6 +12,12 @@
|
|||||||
'clang%': 0,
|
'clang%': 0,
|
||||||
'python%': 'python',
|
'python%': 'python',
|
||||||
|
|
||||||
|
'node_tag%': '',
|
||||||
|
'uv_library%': 'static_library',
|
||||||
|
|
||||||
|
# Default to -O0 for debug builds.
|
||||||
|
'v8_optimized_debug%': 0,
|
||||||
|
|
||||||
# Enable disassembler for `--print-code` v8 options
|
# Enable disassembler for `--print-code` v8 options
|
||||||
'v8_enable_disassembler': 1,
|
'v8_enable_disassembler': 1,
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user