summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--slice.jam15
1 files changed, 11 insertions, 4 deletions
diff --git a/slice.jam b/slice.jam
index bc038c1..0ea52ba 100644
--- a/slice.jam
+++ b/slice.jam
@@ -8,6 +8,8 @@ import toolset ;
type.register SLICE : ice ;
feature slicer : no yes pure ;
+feature allow-ice : no yes ;
+feature ice-visibility : public hidden ;
class slice-scanner : common-scanner
{
@@ -26,24 +28,29 @@ generators.register-standard slice.slicer : SLICE : CPP H : <slicer>yes ;
generators.register-standard slice.slicer.pure : SLICE : CPP : <slicer>pure ;
toolset.flags slice.slice2cpp INCLUDES <include> ;
+toolset.flags slice.slice2cpp DLLEXPORT <ice-visibility>public : --dll-export JAM_DLL_PUBLIC ;
+toolset.flags slice.slice2cpp ALLOWICE <allow-ice>yes : --ice ;
toolset.flags slice.slicer INCLUDES <include> ;
+toolset.flags slice.slicer DLLEXPORT <ice-visibility>public : --dll-export JAM_DLL_PUBLIC ;
+toolset.flags slice.slicer ALLOWICE <allow-ice>yes : --ice ;
toolset.flags slice.slicer.pure INCLUDES <include> ;
+toolset.flags slice.slicer.pure ALLOWICE <allow-ice>yes : --ice ;
actions slice.slice2cpp
{
- slice2cpp -I"$(INCLUDES)" --checksum --output-dir $(1[1]:D) $(2) --dll-export JAM_DLL_PUBLIC
+ slice2cpp -I"$(INCLUDES)" --checksum --output-dir $(1[1]:D) $(2) $(DLLEXPORT) $(ALLOWICE[1])
}
actions slice.slicer
{
- slice2cpp -I"$(INCLUDES)" --checksum --output-dir $(1[1]:D) $(2) --dll-export JAM_DLL_PUBLIC
- slicer -I"$(INCLUDES)" $(2) $(1[1])
+ slice2cpp -I"$(INCLUDES)" --checksum --output-dir $(1[1]:D) $(2) $(DLLEXPORT) $(ALLOWICE[1])
+ slicer -I"$(INCLUDES)" $(2) $(1[1]) $(ALLOWICE[1])
}
actions slice.slicer.pure
{
truncate -c -s 0 $(1[1])
- slicer -I"$(INCLUDES)" $(2) $(1[1])
+ slicer -I"$(INCLUDES)" $(2) $(1[1]) $(ALLOWICE[1])
}
IMPORT $(__name__) : slice.slice2cpp : : slice.slice2cpp ;