Browse Source

tools: do not build addons during compilation

The current makefile runs both `cctest` and `build-addons` in parallel
under the assumption that both rely on `all`. Unfortunately
`build-addons` does not rely on all, and there is an edge case where
by it is possible to call `build-addons` while compilation is still
happening.

This patch takes the simplest route by forcing `build-addons` and
`cctest` to run in sequence like the other test targets. This ensures
that `build-addons` will never be run during compilation.

It would be possible to modify `build-addons` to rely on `all` but it
would be a much more aggressive change to the MAKEFILE for a fairly
minor perf bump, as cctest is so fast.

PR-URL: https://github.com/nodejs/node/pull/6723
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
process-exit-stdio-flushing
Myles Borins 9 years ago
parent
commit
5d64ff4f67
  1. 4
      Makefile

4
Makefile

@ -114,7 +114,9 @@ v8:
tools/make-v8.sh v8 tools/make-v8.sh v8
$(MAKE) -C deps/v8 $(V8_ARCH) $(V8_BUILD_OPTIONS) $(MAKE) -C deps/v8 $(V8_ARCH) $(V8_BUILD_OPTIONS)
test: | build-addons cctest # Both targets depend on 'all'. test: all
$(MAKE) build-addons
$(MAKE) cctest
$(PYTHON) tools/test.py --mode=release -J \ $(PYTHON) tools/test.py --mode=release -J \
addon doctool known_issues message parallel sequential addon doctool known_issues message parallel sequential
$(MAKE) lint $(MAKE) lint

Loading…
Cancel
Save