summaryrefslogtreecommitdiffstats
path: root/src/engine/SCons/Builder.py
diff options
context:
space:
mode:
authorSteven Knight <knight@baldmt.com>2010-02-17 14:20:41 (GMT)
committerSteven Knight <knight@baldmt.com>2010-02-17 14:20:41 (GMT)
commitadd807fa0aa088d65ef5e760b0f77643239df42d (patch)
treef2b5d74c1ef37c1d7837afd73cf7486e8e639858 /src/engine/SCons/Builder.py
parentdacc40883c2844eae068d1b4cf7e8849c56f7cb3 (diff)
downloadSCons-add807fa0aa088d65ef5e760b0f77643239df42d.zip
SCons-add807fa0aa088d65ef5e760b0f77643239df42d.tar.gz
SCons-add807fa0aa088d65ef5e760b0f77643239df42d.tar.bz2
Generate an error message if a BUILDERS entry is set to something that isn't
a Builder object, or known to generate a Builder object, or a callable.
Diffstat (limited to 'src/engine/SCons/Builder.py')
-rw-r--r--src/engine/SCons/Builder.py10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/engine/SCons/Builder.py b/src/engine/SCons/Builder.py
index 0f5bc76..6405da3 100644
--- a/src/engine/SCons/Builder.py
+++ b/src/engine/SCons/Builder.py
@@ -861,6 +861,16 @@ class CompositeBuilder(SCons.Util.Proxy):
self.cmdgen.add_action(suffix, action)
self.set_src_suffix(self.cmdgen.src_suffixes())
+def is_a_Builder(obj):
+ """"Returns True iff the specified obj is one of our Builder classes.
+
+ The test is complicated a bit by the fact that CompositeBuilder
+ is a proxy, not a subclass of BuilderBase.
+ """
+ return (isinstance(obj, BuilderBase)
+ or isinstance(obj, CompositeBuilder)
+ or callable(obj))
+
# Local Variables:
# tab-width:4
# indent-tabs-mode:nil