summaryrefslogtreecommitdiff
path: root/slice.jam
blob: 5c7fc8337c5a947c371c06a88365c47d40e18c9e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
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 ;