summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/ccan/wscript43
-rwxr-xr-xlib/ldb/wscript5
-rw-r--r--lib/ntdb/wscript11
-rw-r--r--lib/tdb_compat/wscript4
-rwxr-xr-xsource3/wscript_build5
5 files changed, 41 insertions, 27 deletions
diff --git a/lib/ccan/wscript b/lib/ccan/wscript
index c1dae41611..565a65757b 100644
--- a/lib/ccan/wscript
+++ b/lib/ccan/wscript
@@ -121,19 +121,38 @@ def configure(conf):
# backtrace could be in libexecinfo or in libc
conf.CHECK_FUNCS_IN('backtrace backtrace_symbols', 'execinfo', checklibc=True, headers='execinfo.h')
+def ccan_module(bld, name, deps=''):
+ bld.SAMBA_SUBSYSTEM('ccan-%s' % name,
+ source=bld.path.ant_glob('%s/*.c' % name),
+ deps=deps)
+
def build(bld):
+ # These have actual C files.
+ ccan_module(bld, 'hash', 'ccan-build_assert')
+ ccan_module(bld, 'ilog', 'ccan-compiler');
+ ccan_module(bld, 'read_write_all')
+ ccan_module(bld, 'str', 'ccan-build_assert')
+ ccan_module(bld, 'tally', 'ccan-build_assert ccan-likely')
- for ccan_dir in ["err", "hash", "htable", "ilog", "likely", "list", "read_write_all", "str", "tally", "time"]:
- bld.SAMBA_SUBSYSTEM('ccan-%s' % ccan_dir,
- source=bld.path.ant_glob('%s/*.c' % ccan_dir))
+ # These are headers only.
+ ccan_module(bld, 'array_size', 'ccan-build_assert')
+ ccan_module(bld, 'asearch','ccan-typesafe_cb ccan-array_size')
+ ccan_module(bld, 'build_assert')
+ ccan_module(bld, 'cast', 'ccan-build_assert')
+ ccan_module(bld, 'check_type', 'ccan-build_assert')
+ ccan_module(bld, 'compiler')
+ ccan_module(bld, 'endian')
+ ccan_module(bld, 'likely', 'ccan-str')
+ ccan_module(bld, 'typesafe_cb')
+ # Failtest pulls in a lot of stuff, and it's only for unit tests.
if bld.env.DEVELOPER_MODE:
- bld.SAMBA_LIBRARY('ccan-failtest',
- source=bld.path.ant_glob('failtest/*.c'),
- deps='execinfo ccan ccan-htable ccan-list ccan-read_write_all ccan-time',
- private_library=True)
-
- bld.SAMBA_LIBRARY('ccan',
- source='',
- deps='ccan-err ccan-hash ccan-ilog ccan-likely ccan-tally',
- private_library=True)
+ ccan_module(bld, 'container_of', 'ccan-check_type')
+ ccan_module(bld, 'err', 'ccan-compiler')
+ ccan_module(bld, 'htable', 'ccan-compiler')
+ ccan_module(bld, 'list', 'ccan-container_of')
+ ccan_module(bld, 'time')
+ ccan_module(bld, 'tcon')
+ ccan_module(bld, 'tlist', 'ccan-list ccan-tcon')
+ ccan_module(bld, 'failtest',
+ "ccan-err ccan-hash ccan-htable ccan-list ccan-read_write_all ccan-str ccan-time")
diff --git a/lib/ldb/wscript b/lib/ldb/wscript
index 94a9682df9..6cdddb30e9 100755
--- a/lib/ldb/wscript
+++ b/lib/ldb/wscript
@@ -16,7 +16,7 @@ sys.path.insert(0, srcdir + '/buildtools/wafsamba')
import wafsamba, samba_dist, Options
samba_dist.DIST_DIRS('''lib/ldb:. lib/replace:lib/replace lib/talloc:lib/talloc
- lib/tdb:lib/tdb lib/tdb2:lib/tdb2 lib/tdb:lib/tdb lib/ccan:lib/ccan lib/tevent:lib/tevent lib/popt:lib/popt
+ lib/tdb:lib/tdb lib/tdb:lib/tdb lib/tevent:lib/tevent lib/popt:lib/popt
buildtools:buildtools''')
@@ -39,9 +39,6 @@ def configure(conf):
conf.check_python_version((2,4,2))
conf.SAMBA_CHECK_PYTHON_HEADERS(mandatory=True)
- # This make #include <ccan/...> work.
- conf.ADD_EXTRA_INCLUDES('''#lib''')
-
# where does the default LIBDIR end up? in conf.env somewhere?
#
conf.CONFIG_PATH('LDB_MODULESDIR', conf.SUBST_ENV_VAR('MODULESDIR') + '/ldb')
diff --git a/lib/ntdb/wscript b/lib/ntdb/wscript
index abf6db3ed0..39802dbf3a 100644
--- a/lib/ntdb/wscript
+++ b/lib/ntdb/wscript
@@ -139,9 +139,10 @@ def build(bld):
summary.c ntdb.c transaction.c traverse.c'''
if not bld.CONFIG_SET('USING_SYSTEM_NTDB'):
+ NTDB_CCAN='ccan-likely ccan-ilog ccan-hash ccan-tally'
bld.SAMBA_LIBRARY('ntdb',
SRC,
- deps='replace ccan',
+ deps='replace ' + NTDB_CCAN ,
includes='.',
abi_directory='ABI',
abi_match='ntdb_*',
@@ -179,7 +180,7 @@ def build(bld):
# Workaround is to build a private, non-hiding version.
bld.SAMBA_SUBSYSTEM('ntdb-testing',
SRC,
- deps='replace ccan',
+ deps='replace ' + NTDB_CCAN,
includes='.')
bld.SAMBA_SUBSYSTEM('ntdb-test-helpers',
@@ -190,18 +191,18 @@ def build(bld):
deps='replace')
bld.SAMBA_SUBSYSTEM('ntdb-api-helpers',
bld.env.NTDB_TEST_API_HELPER_SRC,
- deps='replace ntdb-testing')
+ deps='replace')
for f in bld.env.NTDB_TEST_RUN_SRC:
base = os.path.splitext(os.path.basename(f))[0]
bld.SAMBA_BINARY('ntdb-' + base, f,
- deps='ccan replace ntdb-test-helpers ntdb-run-helpers ccan-failtest',
+ deps=NTDB_CCAN + ' ccan-failtest ntdb-test-helpers ntdb-run-helpers',
install=False)
for f in bld.env.NTDB_TEST_API_SRC:
base = os.path.splitext(os.path.basename(f))[0]
bld.SAMBA_BINARY('ntdb-' + base, f,
- deps='ccan replace ntdb-test-helpers ntdb-api-helpers',
+ deps='ntdb-test-helpers ntdb-api-helpers ntdb-testing',
install=False)
if not bld.CONFIG_SET('USING_SYSTEM_PYNTDB'):
diff --git a/lib/tdb_compat/wscript b/lib/tdb_compat/wscript
index 5f33f6d70b..2eac1e9223 100644
--- a/lib/tdb_compat/wscript
+++ b/lib/tdb_compat/wscript
@@ -7,12 +7,10 @@ def set_options(opt):
def configure(conf):
conf.RECURSE('lib/tdb')
- conf.RECURSE('lib/ccan')
def build(bld):
- bld.RECURSE('lib/ccan')
bld.RECURSE('lib/tdb')
bld.SAMBA_LIBRARY('tdb_compat',
source='tdb_compat.c',
- deps='replace tdb ccan',
+ deps='replace tdb',
private_library=True)
diff --git a/source3/wscript_build b/source3/wscript_build
index edb2f914b3..c407aa59c1 100755
--- a/source3/wscript_build
+++ b/source3/wscript_build
@@ -647,7 +647,7 @@ bld.SAMBA3_LIBRARY('netapi',
bld.SAMBA3_LIBRARY('smbsharemodes',
source=LIBSMBSHAREMODES_SRC,
public_deps='''talloc tdb_compat''',
- deps='''ccan''',
+ deps='''ccan-hash''',
public_headers='include/smb_share_modes.h',
pc_files='libsmb/smbsharemodes.pc',
vnum='0',
@@ -780,7 +780,7 @@ bld.SAMBA3_SUBSYSTEM('KRBCLIENT',
bld.SAMBA3_SUBSYSTEM('samba3util',
source=LIB_UTIL_SRC,
- deps='ndr security NDR_SECURITY samba-util util_tdb ccan',
+ deps='ndr security NDR_SECURITY samba-util util_tdb ccan-hash',
vars=locals())
bld.SAMBA3_SUBSYSTEM('pidfile',
@@ -803,7 +803,6 @@ bld.SAMBA3_SUBSYSTEM('samba3core',
param
dbwrap
samba3-util
- ccan
errors3''',
vars=locals())