2011-09-10 11:13:51 +02:00
|
|
|
#! /usr/bin/env python
|
|
|
|
# encoding: utf-8
|
|
|
|
# Thomas Nagy, 2011 (ita)
|
|
|
|
|
2018-06-25 16:30:23 +02:00
|
|
|
import copy
|
2011-09-10 11:13:51 +02:00
|
|
|
from waflib.TaskGen import after_method, feature
|
|
|
|
|
|
|
|
@after_method('propagate_uselib_vars')
|
|
|
|
@feature('cprogram', 'cshlib', 'cxxprogram', 'cxxshlib', 'fcprogram', 'fcshlib')
|
|
|
|
def add_rpath_stuff(self):
|
2018-06-25 16:30:23 +02:00
|
|
|
all = copy.copy(self.to_list(getattr(self, 'use', [])))
|
2011-09-10 11:13:51 +02:00
|
|
|
while all:
|
|
|
|
name = all.pop()
|
|
|
|
try:
|
|
|
|
tg = self.bld.get_tgen_by_name(name)
|
|
|
|
except:
|
|
|
|
continue
|
2018-06-25 16:30:23 +02:00
|
|
|
if hasattr(tg, 'link_task'):
|
|
|
|
self.env.append_value('RPATH', tg.link_task.outputs[0].parent.abspath())
|
|
|
|
all.extend(self.to_list(getattr(tg, 'use', [])))
|
2011-09-10 11:13:51 +02:00
|
|
|
|