return wrapper
-
-def set_rpath(bld):
- '''setup the default rpath'''
- if bld.env.RPATH_ON_BUILD:
- rpath = os.path.normpath('%s/%s' % (bld.env['BUILD_DIRECTORY'], LIB_PATH))
- bld.env.append_value('RPATH', '-Wl,-rpath=%s' % rpath)
- else:
- os.environ['LD_LIBRARY_PATH'] = os.path.normpath('%s/../shared' % bld.srcnode.abspath(bld.env))
-Build.BuildContext.set_rpath = set_rpath
-
def install_rpath(bld):
'''the rpath value for installation'''
+ bld.env['RPATH'] = []
+ bld.env['RPATH_ST'] = []
if bld.env.RPATH_ON_INSTALL:
return ['-Wl,-rpath=%s/lib' % bld.env.PREFIX]
return []
+def build_rpath(bld):
+ '''the rpath value for build'''
+ rpath = os.path.normpath('%s/%s' % (bld.env['BUILD_DIRECTORY'], LIB_PATH))
+ bld.env['RPATH'] = []
+ bld.env['RPATH_ST'] = []
+ if bld.env.RPATH_ON_BUILD:
+ return ['-Wl,-rpath=%s' % rpath]
+ os.environ['LD_LIBRARY_PATH'] = rpath
+ return []
+
+
#############################################################
# return a named build cache dictionary, used to store
# state inside the following functions
samba_includes = includes,
local_include = local_include,
vnum = vnum,
- install_path = None
+ install_path = None,
+ ldflags = build_rpath(bld)
)
if install_path is None:
vnum = vnum,
install_as = libname,
install_path = None,
+ ldflags = install_rpath(bld)
)
- t.env['RPATH'] = install_rpath(bld)
if install:
if vnum:
samba_modules = modules,
top = True,
samba_subsystem= subsystem_name,
- install_path = None
+ install_path = None,
+ ldflags = build_rpath(bld)
)
if install_path is None:
samba_modules = modules,
top = True,
samba_subsystem= subsystem_name,
- install_path = None
+ install_path = None,
+ ldflags = install_rpath(bld)
)
- t.env['RPATH'] = install_rpath(bld)
if install:
bld.install_as(os.path.join(install_path, binname),
def build(bld):
- bld.set_rpath()
-
# libreplace needs to put the library in the right build groups
# as libreplace is a base library for everything, even for our
# compilers, we need libreplace to build very early