From db0aa3d49d61b56698389554388be9f3c881ce8b Mon Sep 17 00:00:00 2001 From: Dan Goodliffe <dan@randomdan.homeip.net> Date: Sun, 26 Jun 2016 14:06:54 +0100 Subject: Allow control of --dll-export and --ice --- slice.jam | 15 +++++++++++---- 1 file 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 ; -- cgit v1.2.3