The branch, master has been updated
       via  861018f build:wafsamba: Remove the now unneeded special treatment 
of rpath flags
       via  77afc1b build:wafsamba: Update waf/wafadmin/Tools/config_c.py from 
upstream
      from  9ef47d2 buildtools: Ignore exact Python version for ABI checking

https://git.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 861018f1432d6d601e4fcecf444fe8eca219ef65
Author: Thomas Nagy <tn...@waf.io>
Date:   Sat Oct 31 14:39:35 2015 +0100

    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 <tn...@waf.io>
    Reviewed-by: Andrew Bartlett <abart...@samba.org>
    Reviewed-by: Michael Adam <ob...@samba.org>
    
    Autobuild-User(master): Andrew Bartlett <abart...@samba.org>
    Autobuild-Date(master): Mon Nov  2 03:35:31 CET 2015 on sn-devel-104

commit 77afc1baa24df00cd8d283ab1f19c53e01e4343e
Author: Thomas Nagy <tn...@waf.io>
Date:   Sat Oct 31 14:38:10 2015 +0100

    build:wafsamba: Update waf/wafadmin/Tools/config_c.py from upstream
    
    The upstream version features the flags processing fixes present in Waf 1.8.
    
    Signed-off-by: Thomas Nagy <tn...@waf.io>
    Reviewed-by: Andrew Bartlett <abart...@samba.org>
    Reviewed-by: Michael Adam <ob...@samba.org>

-----------------------------------------------------------------------

Summary of changes:
 buildtools/wafsamba/samba_conftests.py     | 56 +-----------------------------
 third_party/waf/wafadmin/Tools/config_c.py |  4 +++
 2 files changed, 5 insertions(+), 55 deletions(-)


Changeset truncated at 500 lines:

diff --git a/buildtools/wafsamba/samba_conftests.py 
b/buildtools/wafsamba/samba_conftests.py
index 5a9c9d5..b4e44c5 100644
--- a/buildtools/wafsamba/samba_conftests.py
+++ b/buildtools/wafsamba/samba_conftests.py
@@ -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
diff --git a/third_party/waf/wafadmin/Tools/config_c.py 
b/third_party/waf/wafadmin/Tools/config_c.py
index 9f1103c..3ab447c 100644
--- a/third_party/waf/wafadmin/Tools/config_c.py
+++ b/third_party/waf/wafadmin/Tools/config_c.py
@@ -82,6 +82,10 @@ def parse_flags(line, uselib, env):
                # RPATH later, and hence can potentially lead to linking
                # in too old versions of our internal libs.
                #
+               elif x == '-Wl,-rpath' or x == '-Wl,-R':
+                       app('RPATH_' + uselib, lst.pop(0).lstrip('-Wl,'))
+               elif x.startswith('-Wl,-R,'):
+                       app('RPATH_' + uselib, x[7:])
                elif x.startswith('-Wl,-R'):
                        app('RPATH_' + uselib, x[6:])
                elif x.startswith('-Wl,-rpath,'):


-- 
Samba Shared Repository

Reply via email to