immortalwrt/tools/ninja/patches/010-bootstrap-configure-only.patch
Michael Pratt df303c7ef4 tools/ninja: use existing ninja to build ninja
Add methods to skip the building and execution of Ninja by python
in order to allow Make to execute Ninja after the configure script.

This allows the user to build Ninja only once
if they already have an older version of Ninja built.

It also allows the user to test the jobserver functionality
by having Ninja built twice (clean then compile).

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

25 lines
873 B
Diff

--- a/configure.py
+++ b/configure.py
@@ -201,6 +201,8 @@ parser = OptionParser()
profilers = ['gmon', 'pprof']
parser.add_option('--bootstrap', action='store_true',
help='bootstrap a ninja binary from nothing')
+parser.add_option('--no-rebuild', action='store_true',
+ help='let user execute ninja after build.ninja generation')
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)
n.close()
print('wrote %s.' % BUILD_FILENAME)
-if options.bootstrap:
+if options.bootstrap and options.no_rebuild:
+ print('bootstrap complete. execute ninja in this directory...')
+ print(os.getcwd())
+
+elif options.bootstrap:
print('bootstrap complete. rebuilding...')
rebuild_args = []