X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=site_scons%2Fsite_tools%2FDoxygen.py;h=cd8c39b8e401e55d494ca8aeb1a5e5b94ba90d2c;hb=ad287a6e1241649e73188edf5b8902e4e65f615d;hp=44a105f8997cc6f73ffc9e21a905f29676a21d92;hpb=81bca7eaa075738ba2f2b7c36efaced331677836;p=senf.git diff --git a/site_scons/site_tools/Doxygen.py b/site_scons/site_tools/Doxygen.py index 44a105f..cd8c39b 100644 --- a/site_scons/site_tools/Doxygen.py +++ b/site_scons/site_tools/Doxygen.py @@ -196,7 +196,7 @@ class DoxyfileParser: parser.parse() return - raise ValueError,"@INCLUDE file not found" + raise ValueError,"@INCLUDE file '%s' not found" % value[0] def _INCLUDE_PATH(self, op, value): self._include_path.extend(value) @@ -360,14 +360,14 @@ def relpath(source, target): return os.path.join(*([".."] * (len(source_elts) - prefix_len) + target_elts[prefix_len:])) -def DoxyGenerator(source, target, env, for_signature): - data = DoxyfileParse(env, source[0].abspath) - actions = [ - SCons.Action.Action("$DOXYGENCOM"), - SCons.Action.Action([ "touch $TARGETS" ]), - ] - - return actions +def doxyAction(target, source, env): + e = {} + e.update(env['ENV']) + for k,v in env.get('DOXYENV',[]).iteritems() : e[k] = env.subst(v) + SCons.Action.Action("$DOXYGENCOM")(target, source, env.Clone(ENV = e), show=False) + +def doxyActionStr(target, source, env): + return env.subst("$DOXYGENCOM") def generate(env): """ @@ -381,7 +381,8 @@ def generate(env): ) doxyfile_builder = env.Builder( - generator = DoxyGenerator, + action = [ SCons.Action.Action(doxyAction, doxyActionStr), + SCons.Action.Action([ "touch $TARGETS" ]) ], emitter = DoxyEmitter, target_factory = env.fs.Entry, single_source = True,