#!/usr/bin/env python APPNAME = 'tdb' VERSION = '1.2.1' blddir = 'bin' import sys, os # find the buildtools directory buildtools = 'buildtools' while not os.path.exists(buildtools) and len(buildtools.split('/')) < 5: buildtools = '../' + buildtools srcdir = os.path.dirname(buildtools) or '.' sys.path.insert(0, buildtools + "/wafsamba") import wafsamba, samba_dist samba_dist.DIST_DIRS('lib/tdb:. lib/replace:lib/replace buildtools:buildtools') LIBREPLACE_DIR= '../replace' def set_options(opt): opt.BUILTIN_DEFAULT('replace') opt.BUNDLED_EXTENSION_DEFAULT('tdb', noextenion='tdb') opt.recurse(LIBREPLACE_DIR) def configure(conf): conf.sub_config(LIBREPLACE_DIR) if conf.CHECK_BUNDLED_SYSTEM('tdb', minversion=VERSION, implied_deps='replace'): conf.define('USING_SYSTEM_TDB', 1) conf.SAMBA_CONFIG_H() def build(bld): bld.BUILD_SUBDIR(LIBREPLACE_DIR) 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', vnum=VERSION) bld.SAMBA_BINARY('tdbtorture', 'tools/tdbtorture.c', 'tdb') bld.SAMBA_BINARY('tdbdump', 'tools/tdbdump.c', 'tdb') bld.SAMBA_BINARY('tdbbackup', 'tools/tdbbackup.c', 'tdb') bld.SAMBA_BINARY('tdbtool', 'tools/tdbtool.c', 'tdb') s4_build = getattr(bld.env, '_SAMBA_BUILD_', 0) == 4 bld.SAMBA_PYTHON('pytdb', 'pytdb.c', deps='tdb', enabled=s4_build, realname='tdb.so')