diff options
| author | Michael Forney <mforney@mforney.org> | 2017-08-21 00:53:08 -0700 |
|---|---|---|
| committer | Michael Forney <mforney@mforney.org> | 2017-10-23 21:43:52 -0700 |
| commit | 224b5fdbf9659815321b9bd94de7839d500dd760 (patch) | |
| tree | 578fb221d038f63f9cb32d1ae1bcd43295862030 | |
| parent | 7c4274cfb305a52296f0f03113f9bdabf3cd0aa4 (diff) | |
Add mechanism to probe for toolchain features
| -rw-r--r-- | gen.lua | 1 | ||||
| -rw-r--r-- | probe/gen.lua | 3 | ||||
| -rw-r--r-- | rules.ninja | 3 | ||||
| -rw-r--r-- | scripts/probe.rc | 7 |
4 files changed, 14 insertions, 0 deletions
@@ -20,6 +20,7 @@ include 'rules.ninja' toolchain 'target' +subgen 'probe' subgen 'pkg' subgen 'src' diff --git a/probe/gen.lua b/probe/gen.lua new file mode 100644 index 00000000..641443d1 --- /dev/null +++ b/probe/gen.lua @@ -0,0 +1,3 @@ +local function probe(var) + build('probe', '$outdir/'..var, '$dir/'..var, {var=var}) +end diff --git a/rules.ninja b/rules.ninja index 19458c89..8d02c75d 100644 --- a/rules.ninja +++ b/rules.ninja @@ -39,6 +39,9 @@ rule mc rule muse command = muse $museflags -o $out $in +rule probe + command = rc ./scripts/probe.rc $var $cc $cflags $ldflags -o /dev/null -x c $in >$out.tmp && mv $out.tmp $out + # misc tools rule touch command = touch $out diff --git a/scripts/probe.rc b/scripts/probe.rc new file mode 100644 index 00000000..aba1099d --- /dev/null +++ b/scripts/probe.rc @@ -0,0 +1,7 @@ +flag e + + +var=$1 +shift +if($* >[2]/dev/null) + echo '#define '$var' 1' +status=() |
