mirror of
https://github.com/samba-team/samba.git
synced 2024-12-22 13:34:15 +03:00
build:wafsamba: Remove the now unneeded special treatment of rpath flags
The flags parsing fixes were backported to waf 1.5 from waf 1.8. There is no reason to keep the flags parsing fixes in Samba. Signed-off-by: Thomas Nagy <tnagy@waf.io> Reviewed-by: Andrew Bartlett <abartlet@samba.org> Reviewed-by: Michael Adam <obnox@samba.org> Autobuild-User(master): Andrew Bartlett <abartlet@samba.org> Autobuild-Date(master): Mon Nov 2 03:35:31 CET 2015 on sn-devel-104
This commit is contained in:
parent
77afc1baa2
commit
861018f143
@ -1,10 +1,9 @@
|
||||
# a set of config tests that use the samba_autoconf functions
|
||||
# to test for commonly needed configuration options
|
||||
|
||||
import os, shutil, re, shlex
|
||||
import os, shutil, re
|
||||
import Build, Configure, Utils, Options, Logs
|
||||
from Configure import conf
|
||||
import config_c
|
||||
from samba_utils import TO_LIST, ADD_LD_LIBRARY_PATH
|
||||
|
||||
|
||||
@ -247,9 +246,6 @@ def CHECK_SHLIB_W_PYTHON(conf, msg):
|
||||
'''check if we need -undefined dynamic_lookup'''
|
||||
|
||||
dir = find_config_dir(conf)
|
||||
|
||||
env = conf.env
|
||||
|
||||
snip = '''
|
||||
#include <Python.h>
|
||||
#include <crt_externs.h>
|
||||
@ -524,53 +520,3 @@ def CHECK_STANDARD_LIBPATH(conf):
|
||||
|
||||
conf.env.STANDARD_LIBPATH = dirlist
|
||||
|
||||
|
||||
waf_config_c_parse_flags = config_c.parse_flags;
|
||||
def samba_config_c_parse_flags(line1, uselib, env):
|
||||
#
|
||||
# We do a special treatment of the rpath components
|
||||
# in the linkflags line, because currently the upstream
|
||||
# parse_flags function is incomplete with respect to
|
||||
# treatment of the rpath. The remainder of the linkflags
|
||||
# line is later passed to the original funcion.
|
||||
#
|
||||
lst1 = shlex.split(line1)
|
||||
lst2 = []
|
||||
while lst1:
|
||||
x = lst1.pop(0)
|
||||
|
||||
#
|
||||
# NOTE on special treatment of -Wl,-R and -Wl,-rpath:
|
||||
#
|
||||
# It is important to not put a library provided RPATH
|
||||
# into the LINKFLAGS but in the RPATH instead, since
|
||||
# the provided LINKFLAGS get prepended to our own internal
|
||||
# RPATH later, and hence can potentially lead to linking
|
||||
# in too old versions of our internal libs.
|
||||
#
|
||||
# We do this filtering here on our own because of some
|
||||
# bugs in the real parse_flags() function.
|
||||
#
|
||||
if x == '-Wl,-rpath' or x == '-Wl,-R':
|
||||
x = lst1.pop(0)
|
||||
if x.startswith('-Wl,'):
|
||||
rpath = x[4:]
|
||||
else:
|
||||
rpath = x
|
||||
elif x.startswith('-Wl,-R,'):
|
||||
rpath = x[7:]
|
||||
elif x.startswith('-Wl,-R'):
|
||||
rpath = x[6:]
|
||||
elif x.startswith('-Wl,-rpath,'):
|
||||
rpath = x[11:]
|
||||
else:
|
||||
lst2.append(x)
|
||||
continue
|
||||
|
||||
env.append_value('RPATH_' + uselib, rpath)
|
||||
|
||||
line2 = ' '.join(lst2)
|
||||
waf_config_c_parse_flags(line2, uselib, env)
|
||||
|
||||
return
|
||||
config_c.parse_flags = samba_config_c_parse_flags
|
||||
|
Loading…
Reference in New Issue
Block a user