diff options
author | Jussi Pakkanen <jpakkane@gmail.com> | 2013-10-04 23:04:26 +0300 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2013-10-04 23:04:26 +0300 |
commit | 3673791b4f7d8fbc290629b1173fff91d7aee781 (patch) | |
tree | 369732a900d2a15e8e0e3de8506b3fbfb7dc6a6c /build.py | |
parent | 2e656bce021e22113014470d2ef04ae46ff938c9 (diff) | |
download | meson-3673791b4f7d8fbc290629b1173fff91d7aee781.zip meson-3673791b4f7d8fbc290629b1173fff91d7aee781.tar.gz meson-3673791b4f7d8fbc290629b1173fff91d7aee781.tar.bz2 |
Rpaths start working.
Diffstat (limited to 'build.py')
-rw-r--r-- | build.py | 14 |
1 files changed, 13 insertions, 1 deletions
@@ -108,7 +108,7 @@ class BuildTarget(): self.process_kwargs(kwargs) if len(self.sources) == 0 and len(self.generated) == 0: raise InvalidArguments('Build target %s has no sources.' % name) - + def process_sourcelist(self, sources): if not isinstance(sources, list): sources = [sources] @@ -143,6 +143,15 @@ class BuildTarget(): newd.append(i) self.kwargs['deps'] = newd + def get_rpaths(self): + return self.get_transitive_rpaths() + + def get_transitive_rpaths(self): + result = [] + for i in self.link_targets: + result += i.get_rpaths() + return result + def process_kwargs(self, kwargs): self.copy_kwargs(kwargs) kwargs.get('modules', []) @@ -404,6 +413,9 @@ class SharedLibrary(BuildTarget): def get_shbase(self): return self.prefix + self.name + '.' + self.suffix + def get_rpaths(self): + return [self.subdir] + self.get_transitive_rpaths() + def get_filename(self): fname = self.get_shbase() if self.version is None: |