summaryrefslogtreecommitdiff
path: root/setup.rc
diff options
context:
space:
mode:
authorMichael Forney <mforney@mforney.org>2016-04-12 18:50:07 -0700
committerMichael Forney <mforney@mforney.org>2016-04-15 02:10:08 -0700
commite6d88868e6b630e3cadd435592c113d852a7a739 (patch)
tree9a2714694fda2cdf9e0d04e15fff499a06f44a97 /setup.rc
parent04d877befb14eeff6d86b5ac1e6af93ad9da178f (diff)
Simplify adding variables to rule and build lines
Diffstat (limited to 'setup.rc')
-rwxr-xr-xsetup.rc21
1 files changed, 14 insertions, 7 deletions
diff --git a/setup.rc b/setup.rc
index 84c863cf..a77100c0 100755
--- a/setup.rc
+++ b/setup.rc
@@ -49,6 +49,18 @@ fn set {
}
}
+fn let {
+ vars=() {
+ while(! ~ $1 --) {
+ vars=( $vars $1' = '$2 )
+ shift 2
+ }
+ shift
+ $*
+ printf ' %s\n' $vars
+ }
+}
+
fn subninja {
echo subninja $*
}
@@ -60,10 +72,7 @@ fn include {
fn rule {
name=$1 {
shift
- echo rule $name
- for(var in 'command = '$* $ninja_vars) {
- echo ' '$var
- }
+ let command $"* -- echo rule $name
}
}
@@ -72,7 +81,6 @@ fn build {
shift 2
echo build $out: $rule $*
}
- for(var in $ninja_vars) echo ' '$var
}
fn subgen {
@@ -109,9 +117,8 @@ subgen .
include '$root_srcdir/config.ninja'
include '$root_srcdir/rules.ninja'
- ninja_vars=( 'generator = 1' 'pool = console' ) {
+ let generator 1 pool console --\
build $"setup_outs gen '$root_srcdir/setup.rc' '|' $setup_ins
- }
subninja local.ninja
} >$root_outdir/build.ninja.tmp