import SCons.Util, os def generate(env) : def modify_targets(target, source, env) : target = [env.File("html/index.html")] return target, source def generate_actions(source, target, env, for_signature) : if env.WhereIs("$DOXYGEN") and env.WhereIs("$DOT") : return [SCons.Action.Action("$DOXYGEN $SOURCE", cmdstr = "$DOXYCOMSTR")] else : return [] env["DOXYGEN"] = "doxygen" # FIXME: For some reason, things go incredibly slow (at least on OS X) # when not doing this. Some environment flag is having an effect on # this; find out which env["ENV"] = os.environ env["DOT"] = "dot" env["BUILDERS"]["DoxyGen"] = SCons.Builder.Builder( emitter = modify_targets, generator = generate_actions, single_source = True) def exists(env) : return True