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>
This commit is contained in:
Michael Pratt
2024-10-12 14:55:04 -04:00
committed by Robert Marko
parent df303c7ef4
commit ac483e1c2a
4 changed files with 259 additions and 135 deletions

View File

@@ -1,6 +1,6 @@
--- a/configure.py
+++ b/configure.py
@@ -201,6 +201,8 @@ parser = OptionParser()
@@ -198,6 +198,8 @@ parser = OptionParser()
profilers = ['gmon', 'pprof']
parser.add_option('--bootstrap', action='store_true',
help='bootstrap a ninja binary from nothing')
@@ -9,7 +9,7 @@
parser.add_option('--verbose', action='store_true',
help='enable verbose build')
parser.add_option('--platform',
@@ -693,7 +695,11 @@ n.build('all', 'phony', all_targets)
@@ -756,7 +758,11 @@ n.build('all', 'phony', all_targets)
n.close()
print('wrote %s.' % BUILD_FILENAME)