aboutsummaryrefslogtreecommitdiff
path: root/build.py
diff options
context:
space:
mode:
Diffstat (limited to 'build.py')
-rw-r--r--build.py14
1 files changed, 13 insertions, 1 deletions
diff --git a/build.py b/build.py
index 67d1303..64125a8 100644
--- a/build.py
+++ b/build.py
@@ -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: