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"),
29 env['BUILDERS']['PkgDraw'] = PkgDraw
30 env['PKGDRAW'] = "doclib/pkgdraw"
31 env['PKGDRAWCOM'] = "$PKGDRAW $SOURCE $TARGET $PKGDRAWPACKETS -- $CPPFLAGS $_CPPINCFLAGS $_CPPDEFFLAGS"
32 env['PKGDRAWPACKETS'] = ''
35 return env.Detect("#/doclib/pkgdraw")