1
0
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:
Thomas Nagy 2015-10-31 14:39:35 +01:00 committed by Andrew Bartlett
parent 77afc1baa2
commit 861018f143

View File

@ -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