2 # \brief PkgDraw builder
4 ## \package senfscons.PkgDraw
5 # \brief Generate network packet diagram
7 # This builder will call pkgdraw to scan a header file and create network package diagrams
8 # from SENF_PARSER macro calls.
10 # \par Construction Envrionment Variables:
11 # <table class="senf">
12 # <tr><td>\c PKGDRAWCOM</td><td>pkgdraw command, defaults to \c #/doclib/pkgdraw</td></tr>
13 # <tr><td>\c PKGDRAWPACKETS</td><td>list packet types to include in
14 # the diagram, defaults to empty (include all packets)</td></tr>
20 import SCons.Builder, SCons.Action
22 PkgDraw = SCons.Builder.Builder(
25 action = SCons.Action.Action("$PKGDRAWCOM $PKGDRAWPACKETS <$SOURCE >$TARGET"),
29 env['BUILDERS']['PkgDraw'] = PkgDraw
30 env['PKGDRAWCOM'] = env.Dir('#').abspath + "/doclib/pkgdraw"
31 env['PKGDRAWPACKETS'] = ''
34 return env.Detect("#/doclib/pkgdraw")