summaryrefslogtreecommitdiff
path: root/slice.jam
diff options
context:
space:
mode:
authorrandomdan <randomdan@localhost>2014-06-02 10:38:29 +0000
committerrandomdan <randomdan@localhost>2014-06-02 10:38:29 +0000
commitdba1b0f45e6ebbb459887a4942a53cd3e05e4ffe (patch)
tree8ff0f659abedb71a2e2f89bc13fb8d10fd578231 /slice.jam
parentFix slice scanner and split .ice files back into logical blocks (diff)
downloadlibadhocutil-dba1b0f45e6ebbb459887a4942a53cd3e05e4ffe.tar.bz2
libadhocutil-dba1b0f45e6ebbb459887a4942a53cd3e05e4ffe.tar.xz
libadhocutil-dba1b0f45e6ebbb459887a4942a53cd3e05e4ffe.zip
Split out ICE support from project jam file, add support for slicer
Diffstat (limited to 'slice.jam')
-rw-r--r--slice.jam39
1 files changed, 39 insertions, 0 deletions
diff --git a/slice.jam b/slice.jam
new file mode 100644
index 0000000..5c7fc83
--- /dev/null
+++ b/slice.jam
@@ -0,0 +1,39 @@
+import type : register ;
+import generators : register-standard ;
+import type ;
+import feature : feature ;
+import scanner ;
+
+type.register SLICE : ice ;
+
+feature slicer : no yes : propagated ;
+
+class slice-scanner : common-scanner
+{
+ rule pattern ( )
+ {
+ return "^[ \t]*#[ \t]*include[ ]*[<\"]([^>\"]*)[>\"]" ;
+ }
+}
+
+scanner.register slice-scanner : include ;
+
+type.set-scanner SLICE : slice-scanner ;
+
+generators.register-standard slice.slice2cpp : SLICE : CPP H : <slicer>no ;
+generators.register-standard slice.slicer : SLICE : CPP H : <slicer>yes ;
+
+actions slice.slice2cpp
+{
+ slice2cpp --checksum --output-dir $(1[1]:D) $(2)
+}
+
+actions slice.slicer
+{
+ slice2cpp --checksum --output-dir $(1[1]:D) $(2)
+ slicer $(2) $(1[1])
+}
+
+IMPORT $(__name__) : slice.slice2cpp : : slice.slice2cpp ;
+IMPORT $(__name__) : slice.slicer : : slice.slicer ;
+