From 30da2b4d89ffb8c715873ce8b8159eace4344b8f Mon Sep 17 00:00:00 2001 From: Jeff Dickey <216188+jdxcode@users.noreply.github.com> Date: Mon, 22 Aug 2022 06:39:00 -0500 Subject: [PATCH] build: added NINJA env to customize ninja binary Fixes: https://github.com/nodejs/node/issues/44286 PR-URL: https://github.com/nodejs/node/pull/44293 Reviewed-By: Richard Lau Reviewed-By: Luigi Pinca Reviewed-By: Antoine du Hamel --- Makefile | 5 +++-- doc/contributing/building-node-with-ninja.md | 9 +++++++++ 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index e0d756fea3ac35..9c01f8f244ee19 100644 --- a/Makefile +++ b/Makefile @@ -115,6 +115,7 @@ $(NODE_EXE) $(NODE_G_EXE): config.gypi out/Makefile ln -fs out/${build_type}/$(NODE_EXE) $@; fi else ifeq ($(BUILD_WITH), ninja) +NINJA ?= ninja ifeq ($(V),1) NINJA_ARGS := $(NINJA_ARGS) -v endif @@ -124,11 +125,11 @@ else NINJA_ARGS := $(NINJA_ARGS) $(filter -j%,$(MAKEFLAGS)) endif $(NODE_EXE): config.gypi out/Release/build.ninja - ninja -C out/Release $(NINJA_ARGS) + $(NINJA) -C out/Release $(NINJA_ARGS) if [ ! -r $@ ] || [ ! -L $@ ]; then ln -fs out/Release/$(NODE_EXE) $@; fi $(NODE_G_EXE): config.gypi out/Debug/build.ninja - ninja -C out/Debug $(NINJA_ARGS) + $(NINJA) -C out/Debug $(NINJA_ARGS) if [ ! -r $@ ] || [ ! -L $@ ]; then ln -fs out/Debug/$(NODE_EXE) $@; fi else $(NODE_EXE) $(NODE_G_EXE): diff --git a/doc/contributing/building-node-with-ninja.md b/doc/contributing/building-node-with-ninja.md index 8aae340e227034..01a04c3c2cfbe2 100644 --- a/doc/contributing/building-node-with-ninja.md +++ b/doc/contributing/building-node-with-ninja.md @@ -40,4 +40,13 @@ To create a debug build rather than a release build: ./configure --ninja --debug && make ``` +## Customizing `ninja` path + +On some systems (such as RHEL7 and below), the Ninja binary might be installed +with a different name. For these systems use the `NINJA` env var: + +```bash +./configure --ninja && NINJA="ninja-build" make +``` + [Ninja]: https://ninja-build.org/