diff options
Diffstat (limited to 'bundled/tdb/wscript')
-rw-r--r-- | bundled/tdb/wscript | 113 |
1 files changed, 113 insertions, 0 deletions
diff --git a/bundled/tdb/wscript b/bundled/tdb/wscript new file mode 100644 index 00000000..2fdd67f2 --- /dev/null +++ b/bundled/tdb/wscript @@ -0,0 +1,113 @@ +#!/usr/bin/env python + +APPNAME = 'tdb' +VERSION = '1.2.3' + +blddir = 'bin' + +import sys, os + +# find the buildtools directory +srcdir = '.' +while not os.path.exists(srcdir+'/buildtools') and len(srcdir.split('/')) < 5: + srcdir = '../' + srcdir +sys.path.insert(0, srcdir + '/buildtools/wafsamba') + +import wafsamba, samba_dist, Options, Logs + +samba_dist.DIST_DIRS('lib/tdb:. lib/replace:lib/replace buildtools:buildtools') + +def set_options(opt): + opt.BUILTIN_DEFAULT('replace') + opt.BUNDLED_EXTENSION_DEFAULT('tdb', noextension='tdb') + opt.RECURSE('lib/replace') + if opt.IN_LAUNCH_DIR(): + opt.add_option('--disable-python', + help=("disable the pytdb module"), + action="store_true", dest='disable_python', default=False) + + +def configure(conf): + conf.RECURSE('lib/replace') + + conf.env.standalone_tdb = conf.IN_LAUNCH_DIR() + + if not conf.env.standalone_tdb: + if conf.CHECK_BUNDLED_SYSTEM('tdb', minversion=VERSION, + implied_deps='replace'): + conf.define('USING_SYSTEM_TDB', 1) + + conf.env.disable_python = getattr(Options.options, 'disable_python', False) + + conf.CHECK_XSLTPROC_MANPAGES() + + if not conf.env.disable_python: + # also disable if we don't have the python libs installed + conf.check_tool('python') + conf.check_python_version((2,4,2)) + conf.check_python_headers(mandatory=False) + if not conf.env.HAVE_PYTHON_H: + Logs.warn('Disabling pytdb as python devel libs not found') + conf.env.disable_python = True + + conf.SAMBA_CONFIG_H() + +def build(bld): + bld.RECURSE('lib/replace') + + COMMON_SRC = bld.SUBDIR('common', + '''check.c error.c tdb.c traverse.c + freelistcheck.c lock.c dump.c freelist.c + io.c open.c transaction.c''') + + if not bld.CONFIG_SET('USING_SYSTEM_TDB'): + bld.SAMBA_LIBRARY('tdb', + COMMON_SRC, + deps='replace rt', + includes='include', + abi_file='ABI/tdb-%s.sigs' % VERSION, + abi_match='tdb_*', + hide_symbols=True, + vnum=VERSION, is_bundled=not bld.env.standalone_tdb) + + bld.SAMBA_BINARY('tdbtorture', + 'tools/tdbtorture.c', + 'tdb', + install=False) + + bld.SAMBA_BINARY('tdbdump', + 'tools/tdbdump.c', + 'tdb', manpages='manpages/tdbdump.8') + + bld.SAMBA_BINARY('tdbbackup', + 'tools/tdbbackup.c', + 'tdb', + manpages='manpages/tdbbackup.8') + + bld.SAMBA_BINARY('tdbtool', + 'tools/tdbtool.c', + 'tdb', manpages='manpages/tdbtool.8') + + s4_build = getattr(bld.env, '_SAMBA_BUILD_', 0) == 4 + + bld.SAMBA_PYTHON('pytdb', + 'pytdb.c', + deps='tdb', + enabled=not bld.env.disable_python, + realname='tdb.so') + + if bld.env.standalone_tdb: + bld.env.PKGCONFIGDIR = '${LIBDIR}/pkgconfig' + bld.PKG_CONFIG_FILES('tdb.pc', vnum=VERSION) + bld.INSTALL_FILES('${INCLUDEDIR}', 'include/tdb.h', flat=True) + + +def test(ctx): + '''run tdb testsuite''' + import Utils + cmd = os.path.join(Utils.g_module.blddir, 'tdbtorture') + os.system(cmd) + +def dist(): + '''makes a tarball for distribution''' + samba_dist.dist() |