(zilch lang ninja): Support overriding source used for build
Change-Id: I6a6a696488f85192dbd911df3d2d28fee01f7b5b
This commit is contained in:
parent
5d4fb382a8
commit
275b56622d
2 changed files with 23 additions and 5 deletions
|
|
@ -6,7 +6,7 @@
|
|||
(zilch magic) (zilch nixpkgs) (zilch vfs)
|
||||
(zilch nix drv)
|
||||
(zilch zexpr)
|
||||
(srfi 132) (srfi 152))
|
||||
(srfi 132) (srfi 146) (srfi 152))
|
||||
|
||||
(export
|
||||
setup-ninja-environment
|
||||
|
|
@ -98,6 +98,18 @@
|
|||
|
||||
; This VFS contains two directories: `src` (source tree) and `build` (Ninja build files).
|
||||
(define configured-vfs (vfs-from-store configured-drv))
|
||||
|
||||
(when (ninja-build-config-override-source conf)
|
||||
(let
|
||||
((filtered (mapping-filter! (lambda (path val) (not (or (string=? "src" (car path)) (string-prefix? "src/" (car path))))) (vfs-contents configured-vfs))))
|
||||
(mapping-for-each
|
||||
(lambda (p v)
|
||||
(set! filtered
|
||||
(mapping-set! filtered
|
||||
(cons (if (string=? (car p) "") "src" (string-append "src/" (car p))) (cdr p))
|
||||
v)))
|
||||
(vfs-contents (ninja-build-config-override-source conf)))
|
||||
(set! configured-vfs (make-vfs filtered))))
|
||||
|
||||
(set-ninja-build-config-root-dir! conf configured-vfs)
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue