Fix local_rpath tool

This commit is contained in:
Eric Müller 2018-06-25 16:30:23 +02:00 committed by Yannik Stradmann
parent d536d3ebab
commit 68ec2057b9
1 changed files with 5 additions and 3 deletions

View File

@ -2,18 +2,20 @@
# encoding: utf-8 # encoding: utf-8
# Thomas Nagy, 2011 (ita) # Thomas Nagy, 2011 (ita)
import copy
from waflib.TaskGen import after_method, feature from waflib.TaskGen import after_method, feature
@after_method('propagate_uselib_vars') @after_method('propagate_uselib_vars')
@feature('cprogram', 'cshlib', 'cxxprogram', 'cxxshlib', 'fcprogram', 'fcshlib') @feature('cprogram', 'cshlib', 'cxxprogram', 'cxxshlib', 'fcprogram', 'fcshlib')
def add_rpath_stuff(self): def add_rpath_stuff(self):
all = self.to_list(getattr(self, 'use', [])) all = copy.copy(self.to_list(getattr(self, 'use', [])))
while all: while all:
name = all.pop() name = all.pop()
try: try:
tg = self.bld.get_tgen_by_name(name) tg = self.bld.get_tgen_by_name(name)
except: except:
continue continue
self.env.append_value('RPATH', tg.link_task.outputs[0].parent.abspath()) if hasattr(tg, 'link_task'):
all.extend(self.to_list(getattr(tg, 'use', []))) self.env.append_value('RPATH', tg.link_task.outputs[0].parent.abspath())
all.extend(self.to_list(getattr(tg, 'use', [])))