X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=senfscons%2FPkgDraw.py;fp=senfscons%2FPkgDraw.py;h=81309b2b595bd482c378df13bf64276e3987c99b;hb=cb01986c60bd68d43a56e1f648aecd23b43cb893;hp=0000000000000000000000000000000000000000;hpb=bdbba4bce64d25fdc42c2531b3b2e60bd8849e4f;p=senf.git diff --git a/senfscons/PkgDraw.py b/senfscons/PkgDraw.py new file mode 100644 index 0000000..81309b2 --- /dev/null +++ b/senfscons/PkgDraw.py @@ -0,0 +1,34 @@ +## \file +# \brief PkgDraw builder + +## \package senfscons.PkgDraw +# \brief Generate network packet diagram +# +# This builder will call pkgdraw to scan a header file and create network package diagrams +# from SENF_PARSER macro calls. +# +# \par Construction Envrionment Variables: +# +# +# +#
\c PKGDRAWCOMpkgdraw command, defaults to \c #/doclib/pkgdraw
\c PKGDRAWPACKETSlist packet types to include in +# the diagram, defaults to empty (include all packets)
+# +# \ingroup builder + +import os +import SCons.Builder, SCons.Action + +PkgDraw = SCons.Builder.Builder( + suffix = ".png", + src_suffix = ".hh", + action = SCons.Action.Action("$PKGDRAWCOM $PKGDRAWPACKETS <$SOURCE >$TARGET"), + single_source = 1) + +def generate(env): + env['BUILDERS']['PkgDraw'] = PkgDraw + env['PKGDRAWCOM'] = env.Dir('#').abspath + "/doclib/pkgdraw" + env['PKGDRAWPACKETS'] = '' + +def exists(env): + return env.Detect("#/doclib/pkgdraw")