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
################################################################
# 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:
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))
#################################################################
# 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)
source = source_list,
target=libname,
uselib_local = deps,
+ uselib = sysdeps,
includes='. ' + os.environ.get('PWD') + '/bin/default ' + ilist,
vnum=vnum)
# define a Samba binary
def SAMBA_BINARY(bld, binname, source_list,
deps='',
- syslibs='',
include_list='',
public_headers=None,
modules=None,
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)
#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:
source = source_list,
target = binname,
uselib_local = deps,
- uselib = syslibs,
+ uselib = sysdeps,
includes = ilist,
ccflags = ccflags,
top=True)
#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