summaryrefslogtreecommitdiff
path: root/lib/replace
diff options
context:
space:
mode:
Diffstat (limited to 'lib/replace')
-rw-r--r--lib/replace/wafsamba.py26
1 files changed, 19 insertions, 7 deletions
diff --git a/lib/replace/wafsamba.py b/lib/replace/wafsamba.py
index 8596dfb37b..58b8e79e35 100644
--- a/lib/replace/wafsamba.py
+++ b/lib/replace/wafsamba.py
@@ -74,7 +74,6 @@ def CHECK_FUNCS_IN(conf, list, library):
conf.check(function_name=f, lib=library, header_name=conf.env.hlist)
conf.env['LIB_' + library.upper()] = library
-
#################################################
# write out config.h in the right directory
@conf
@@ -202,6 +201,7 @@ def CHECK_TARGET_DEPENDENCY(bld, target):
################################################################
# add to the dependency list. Return a new dependency list with
# any circular dependencies removed
+# returns a tuple containing (systemdeps, localdeps)
def ADD_DEPENDENCIES(bld, name, deps):
cache = BUILD_CACHE(bld, 'LIB_DEPS')
if not name in cache:
@@ -216,7 +216,17 @@ def ADD_DEPENDENCIES(bld, name, deps):
except AssertionError:
print "Removing dependency %s from target %s" % (d, name)
del(cache[name][d])
- return ' '.join(list2)
+
+ # extract out the system dependencies
+ sysdeps = []
+ localdeps = []
+ for d in list2:
+ libname = 'LIB_%s' % d.upper()
+ if libname in bld.env:
+ sysdeps.append(d)
+ else:
+ localdeps.append(d)
+ return (' '.join(sysdeps), ' '.join(localdeps))
#################################################################
@@ -243,7 +253,7 @@ def SAMBA_LIBRARY(bld, libname, source_list,
# print "Declaring SAMBA_LIBRARY %s" % libname
#print "SAMBA_LIBRARY '%s' with deps '%s'" % (libname, deps)
- deps = ADD_DEPENDENCIES(bld, libname, deps)
+ (sysdeps, deps) = ADD_DEPENDENCIES(bld, libname, deps)
ilist = bld.SAMBA_LIBRARY_INCLUDE_LIST(deps) + bld.SUBDIR(bld.curdir, include_list)
ilist = bld.NORMPATH(ilist)
@@ -252,6 +262,7 @@ def SAMBA_LIBRARY(bld, libname, source_list,
source = source_list,
target=libname,
uselib_local = deps,
+ uselib = sysdeps,
includes='. ' + os.environ.get('PWD') + '/bin/default ' + ilist,
vnum=vnum)
@@ -276,7 +287,6 @@ Build.BuildContext.SAMBA_LIBRARY = SAMBA_LIBRARY
# define a Samba binary
def SAMBA_BINARY(bld, binname, source_list,
deps='',
- syslibs='',
include_list='',
public_headers=None,
modules=None,
@@ -284,6 +294,8 @@ def SAMBA_BINARY(bld, binname, source_list,
ldflags=None,
cflags=None,
autoproto=None,
+ use_hostcc=None,
+ compiler=None,
manpages=None):
ilist = '. ' + os.environ.get('PWD') + '/bin/default ' + bld.SAMBA_LIBRARY_INCLUDE_LIST(deps) + ' ' + include_list
ilist = bld.NORMPATH(ilist)
@@ -291,7 +303,7 @@ def SAMBA_BINARY(bld, binname, source_list,
#print "SAMBA_BINARY '%s' with deps '%s'" % (binname, deps)
- deps = ADD_DEPENDENCIES(bld, binname, deps)
+ (sysdeps, deps) = ADD_DEPENDENCIES(bld, binname, deps)
cache = BUILD_CACHE(bld, 'INIT_FUNCTIONS')
if modules is not None:
@@ -305,7 +317,7 @@ def SAMBA_BINARY(bld, binname, source_list,
source = source_list,
target = binname,
uselib_local = deps,
- uselib = syslibs,
+ uselib = sysdeps,
includes = ilist,
ccflags = ccflags,
top=True)
@@ -326,7 +338,7 @@ def SAMBA_PYTHON(bld, name, source_list,
#print "SAMBA_PYTHON '%s' with deps '%s'" % (name, deps)
- deps = ADD_DEPENDENCIES(bld, name, deps)
+ (sysdeps, deps) = ADD_DEPENDENCIES(bld, name, deps)
Logs.debug('runner: PYTHON_SAMBA not implemented')
return