openwrt/tools/ninja/Makefile
Michael Pratt ac483e1c2a tools/ninja: update to 1.12.1
Update to the most recent stable release,
including a new job scheduler and bug fixes.

Backport a patch to assist in reworking jobserver support.

The original patch for jobserver support requires reworking
due to the function CanRunMore() and its usage
being significantly changed, including the return
becoming an integer instead of a boolean.

AcquireToken() must now be used in CanRunMore()
in order to quantify how much the job searching loop
is able to run at any time, and in order to do so
CanRunMore() cannot be a constant function anymore.

Added:
 - 010-backport-gtest.patch

Manually Adjust:
 - 100-make_jobserver_support.patch

Signed-off-by: Michael Pratt <mcpratt@pm.me>
Link: https://github.com/openwrt/openwrt/pull/16693
Signed-off-by: Robert Marko <robimarko@gmail.com>
2024-10-14 13:58:44 +02:00

37 lines
845 B
Makefile

include $(TOPDIR)/rules.mk
PKG_NAME:=ninja
PKG_VERSION:=1.12.1
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/ninja-build/ninja/tar.gz/v$(PKG_VERSION)?
PKG_HASH:=821bdff48a3f683bc4bb3b6f0b5fe7b2d647cf65d52aeb63328c91a6c6df285a
include $(INCLUDE_DIR)/host-build.mk
define Host/Configure
cd $(HOST_BUILD_DIR) && \
$(HOST_MAKE_VARS) \
CXX="$(HOSTCXX_NOCACHE)" \
$(STAGING_DIR_HOST)/bin/$(PYTHON) configure.py \
$(if $(shell $(STAGING_DIR_HOST)/bin/ninja --version),,--bootstrap) \
--no-rebuild \
--verbose
-$(Host/Install)
endef
define Host/Compile
+$(NINJA) -C $(HOST_BUILD_DIR)
endef
define Host/Install
$(INSTALL_BIN) $(HOST_BUILD_DIR)/ninja $(STAGING_DIR_HOST)/bin/
endef
define Host/Clean
rm -f $(STAGING_DIR_HOST)/bin/ninja
endef
$(eval $(call HostBuild))