aboutsummaryrefslogtreecommitdiff
path: root/interpreter.py
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2015-03-09 19:48:43 +0200
committerJussi Pakkanen <jpakkane@gmail.com>2015-03-09 19:48:43 +0200
commit64fd8f427fdad93c8995d412895825d84536db3a (patch)
tree06f3a2b54403c5401c3026b86ee512e710c0caea /interpreter.py
parent48477102c9791ba35b61e5fc76b2e615df9bbd44 (diff)
downloadmeson-64fd8f427fdad93c8995d412895825d84536db3a.zip
meson-64fd8f427fdad93c8995d412895825d84536db3a.tar.gz
meson-64fd8f427fdad93c8995d412895825d84536db3a.tar.bz2
Metaprogramming in da hause fixing.
Diffstat (limited to 'interpreter.py')
-rw-r--r--interpreter.py13
1 files changed, 8 insertions, 5 deletions
diff --git a/interpreter.py b/interpreter.py
index d9a845c..7b717cd 100644
--- a/interpreter.py
+++ b/interpreter.py
@@ -407,8 +407,8 @@ class SharedLibraryHolder(BuildTargetHolder):
super().__init__(target)
class JarHolder(BuildTargetHolder):
- def __init__(self, name, subdir, is_cross, sources, objects, environment, kwargs):
- super().__init__(build.Jar, name, subdir, is_cross, sources, objects, environment, kwargs)
+ def __init__(self, target):
+ super().__init__(target)
class CustomTargetHolder(InterpreterObject):
def __init__(self, object_to_hold):
@@ -1482,13 +1482,16 @@ class Interpreter():
if name in self.build.targets:
raise InvalidCode('Tried to create target "%s", but a target of that name already exists.' % name)
self.check_sources_exist(os.path.join(self.source_root, self.subdir), sources)
- if isinstance(targetholder, ExecutableHolder):
+ if targetholder is ExecutableHolder:
targetclass = build.Executable
- elif isinstance(targetholder, SharedLibraryHolder):
+ elif targetholder is SharedLibraryHolder:
targetclass = build.SharedLibrary
- elif isinstance(targetholder, StaticLibraryHolder):
+ elif targetholder is StaticLibraryHolder:
targetclass = build.StaticLibrary
+ elif targetholder is JarHolder:
+ targetclass = build.Jar
else:
+ print(targetholder)
raise RuntimeError('Unreachable code')
target = targetclass(name, self.subdir, is_cross, sources, objs, self.environment, kwargs)
l = targetholder(target)