Commit reconcilled conflicting merge.

This commit is contained in:
Russel Winder 2013-08-12 15:21:06 +01:00 committed by Ichthyostega
commit 701e7f053e

View file

@ -7,6 +7,9 @@
#
# Copyright (C) 2007 Christoph Boehme
#
# Copyright (C) 2012 Dirk Baechle
# Copyright (C) 2012 Eric Anderson
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License version 2.1 as published by the Free Software Foundation.
@ -293,8 +296,30 @@ def DoxyEmitter(target, source, env):
tagfile = os.path.join(conf_dir, tagfile)
targets.append(env.File(tagfile))
# don't clobber targets
for node in targets:
env.Precious(node)
# set up cleaning stuff
for node in targets:
env.Clean(node, node)
return (targets, source)
def generate_doxygen_commands(source, target, env, for_signature):
"""Generate the doxygen command line (easy) and the post-execution
timestamping (harder). The second part requires us to know which
directories are being built, which is why we do this as a Generator
(after the Emitter has run)"""
dox_cmd = "cd ${SOURCE.dir} && ${DOXYGEN} ${SOURCE.file}"
timestamp_cmds = ["date > %s"%(str(t)) for t in target]
print dox_cmd
print timestamp_cmds
return [dox_cmd] + timestamp_cmds
def generate(env):
"""
Add builders and construction variables for the
@ -308,7 +333,7 @@ def generate(env):
import SCons.Builder
doxyfile_builder = SCons.Builder.Builder(
action = "cd ${SOURCE.dir} && ${DOXYGEN} ${SOURCE.file}",
generator = generate_doxygen_commands,
emitter = DoxyEmitter,
target_factory = env.fs.Entry,
single_source = True,