Blame third_party/waf/waflib/extras/local_rpath.py

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