zilch-cli-ninja: Support looking at subprojects

Change-Id: I6a6a6964150b0d9ea1767c815eeea23c3d7f3d02
This commit is contained in:
puck 2025-09-29 15:20:29 +00:00
parent 3a6e716a5e
commit cdee2291fb
2 changed files with 15 additions and 0 deletions

View file

@ -21,6 +21,7 @@
(max-jobs #t #\j) (max-jobs #t #\j)
(verbose #f #\v) (verbose #f #\v)
(source #t #\s) (source #t #\s)
(project #t #\p)
(print-build-logs #f #\L)) (print-build-logs #f #\L))
(list->vector (cdr (command-line))) (list->vector (cdr (command-line)))
print-help)) print-help))
@ -64,6 +65,16 @@
(call-with-output-file (ninja-build-config-depfile-path config) (lambda (p) (write (mapping->alist (finalized-drv-depfile finalized-drv)) p)))) (call-with-output-file (ninja-build-config-depfile-path config) (lambda (p) (write (mapping->alist (finalized-drv-depfile finalized-drv)) p))))
(for-each (lambda (v) (export-depfiles (force (drv-rewrite-finalized-drv v)))) (finalized-drv-rewritten-drvs finalized-drv))) (for-each (lambda (v) (export-depfiles (force (drv-rewrite-finalized-drv v)))) (finalized-drv-rewritten-drvs finalized-drv)))
(for-each
(lambda (c)
(when (eq? (car c) 'project)
(let loop ((rewrites (ninja-build-config-rewrites config)))
(cond
((null? rewrites) (error "Subproject not found" (cdr c)))
((string=? (caar rewrites) (cdr c)) (set! config (cdar rewrites)))
(else (loop (cdr rewrites)))))))
options)
(cond (cond
((string=? (car args) "source") ((string=? (car args) "source")
(let*-values (let*-values

View file

@ -41,6 +41,10 @@ written. See the documentation at https://puck.moe/zilch/docs/.
*--help*:: *--help*::
Print a help message. Print a help message.
*-p* _NAME_::
*--project* _NAME_::
Operate only on a rewritten input derivation.
*-s* _DIR_:: *-s* _DIR_::
*--source* _DIR_:: *--source* _DIR_::
Override the input source for builds. Doesn't reconfigure the build, Override the input source for builds. Doesn't reconfigure the build,