From 05449befeabebfe1b568275dd0a7555a5fb3693c Mon Sep 17 00:00:00 2001 From: Jeff Dickey <216188+jdxcode@users.noreply.github.com> Date: Fri, 19 Aug 2022 07:08:59 -0500 Subject: [PATCH] build: added NINJA_BIN to customize ninja binary Fixes: https://github.com/nodejs/node/issues/44286 --- Makefile | 5 +++-- doc/contributing/building-node-with-ninja.md | 8 ++++++++ 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index e0d756fea3ac35..615eac4eabe07f 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_BIN ?= 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_BIN) -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_BIN) -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..7e2182cafc9c2e 100644 --- a/doc/contributing/building-node-with-ninja.md +++ b/doc/contributing/building-node-with-ninja.md @@ -40,4 +40,12 @@ To create a debug build rather than a release build: ./configure --ninja --debug && make ``` +## Customizing `ninja` path + +On some systems (RHEL7 and below), `ninja` is not offered in the yum package. +For these systems use the `NINJA_BIN` env var: +``` +./configure --ninja && NINJA_BIN="ninja-build" make +``` + [Ninja]: https://ninja-build.org/