diff options
Diffstat (limited to 'source4/lib/ldb/wscript')
-rwxr-xr-x | source4/lib/ldb/wscript | 287 |
1 files changed, 0 insertions, 287 deletions
diff --git a/source4/lib/ldb/wscript b/source4/lib/ldb/wscript deleted file mode 100755 index 7de95494c7..0000000000 --- a/source4/lib/ldb/wscript +++ /dev/null @@ -1,287 +0,0 @@ -#!/usr/bin/env python - -APPNAME = 'ldb' -VERSION = '1.1.0' - -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 - -samba_dist.DIST_DIRS('''source4/lib/ldb:. lib/replace:lib/replace lib/talloc:lib/talloc - lib/tdb:lib/tdb lib/tdb2:lib/tdb2 lib/tdb_compat:lib/tdb_compat lib/ccan:lib/ccan lib/tevent:lib/tevent lib/popt:lib/popt - buildtools:buildtools''') - - -def set_options(opt): - opt.BUILTIN_DEFAULT('replace') - opt.PRIVATE_EXTENSION_DEFAULT('ldb', noextension='ldb') - opt.RECURSE('lib/tdb_compat') - opt.RECURSE('lib/tevent') - opt.RECURSE('lib/replace') - opt.tool_options('python') # options for disabling pyc or pyo compilation - -def configure(conf): - conf.RECURSE('lib/tdb_compat') - conf.RECURSE('lib/tevent') - conf.RECURSE('lib/popt') - conf.RECURSE('lib/replace') - conf.RECURSE('lib/tdb_compat') - conf.find_program('python', var='PYTHON') - conf.find_program('xsltproc', var='XSLTPROC') - conf.check_tool('python') - 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') - - conf.env.standalone_ldb = conf.IN_LAUNCH_DIR() - - if not conf.env.standalone_ldb: - if conf.CHECK_BUNDLED_SYSTEM('ldb', minversion=VERSION, - onlyif='talloc tdb tevent', - implied_deps='replace talloc tdb tevent'): - conf.define('USING_SYSTEM_LDB', 1) - if conf.CHECK_BUNDLED_SYSTEM('pyldb-util', minversion=VERSION, - onlyif='talloc tdb tevent ldb', - implied_deps='replace talloc tdb tevent ldb'): - conf.define('USING_SYSTEM_PYLDB_UTIL', 1) - - if conf.env.standalone_ldb: - conf.CHECK_XSLTPROC_MANPAGES() - - # we need this for the ldap backend - if conf.CHECK_FUNCS_IN('ber_flush ldap_open ldap_initialize', 'lber ldap', headers='lber.h ldap.h'): - conf.env.ENABLE_LDAP_BACKEND = True - - conf.DEFINE('HAVE_CONFIG_H', 1, add_to_cflags=True) - - # we don't want any libraries or modules to rely on runtime - # resolution of symbols - if sys.platform != "openbsd4": - conf.ADD_LDFLAGS('-Wl,-no-undefined', testflags=True) - - conf.SAMBA_CONFIG_H() - -def build(bld): - bld.RECURSE('lib/tdb_compat') - bld.RECURSE('lib/tevent') - bld.RECURSE('lib/popt') - bld.RECURSE('lib/replace') - bld.RECURSE('lib/tdb_compat') - - if bld.env.standalone_ldb: - private_library = False - ldb_pc_files='ldb.pc' - pyldb_pc_files='pyldb-util.pc' - else: - private_library = True - ldb_pc_files=None - pyldb_pc_files=None - - LDB_MAP_SRC = bld.SUBDIR('ldb_map', - 'ldb_map.c ldb_map_inbound.c ldb_map_outbound.c') - - COMMON_SRC = bld.SUBDIR('common', - '''ldb_modules.c ldb_ldif.c ldb_parse.c ldb_msg.c ldb_utf8.c - ldb_debug.c ldb_dn.c ldb_match.c ldb_options.c - ldb_attributes.c attrib_handlers.c ldb_controls.c qsort.c''') - - bld.SAMBA_MODULE('ldb_ldap', 'ldb_ldap/ldb_ldap.c', - init_function='ldb_ldap_init', - module_init_name='ldb_init_module', - deps='talloc lber ldap ldb', - enabled=bld.env.ENABLE_LDAP_BACKEND, - internal_module=False, - subsystem='ldb') - - # we're not currently linking against the ldap libs, but ldb.pc.in - # has @LDAP_LIBS@ - bld.env.LDAP_LIBS = '' - - if not 'PACKAGE_VERSION' in bld.env: - bld.env.PACKAGE_VERSION = VERSION - bld.env.PKGCONFIGDIR = '${LIBDIR}/pkgconfig' - - if not bld.CONFIG_SET('USING_SYSTEM_PYLDB_UTIL'): - bld.SAMBA_LIBRARY('pyldb-util', - deps='ldb pytalloc-util', - source='pyldb_util.c', - public_headers='pyldb.h', - public_headers_install=not private_library, - vnum=VERSION, - private_library=private_library, - pc_files=pyldb_pc_files, - pyext=True) - - if not bld.CONFIG_SET('USING_SYSTEM_LDB'): - if Options.is_install: - modules_dir = bld.EXPAND_VARIABLES('${LDB_MODULESDIR}') - else: - # when we run from the source directory, we want to use - # the current modules, not the installed ones - modules_dir = os.path.join(os.getcwd(), 'bin/modules/ldb') - - abi_match = '!ldb_*module_ops !ldb_*backend_ops ldb_*' - - bld.SAMBA_LIBRARY('ldb', - COMMON_SRC + ' ' + LDB_MAP_SRC, - deps='tevent LIBLDB_MAIN', - includes='include', - public_headers='include/ldb.h include/ldb_errors.h '\ - 'include/ldb_module.h include/ldb_handlers.h', - public_headers_install=not private_library, - pc_files=ldb_pc_files, - vnum=VERSION, - private_library=private_library, - manpages='man/ldb.3', - abi_directory = 'ABI', - abi_match = abi_match) - - # generate a include/ldb_version.h - t = bld.SAMBA_GENERATOR('ldb_version.h', - rule='echo "#define LDB_VERSION \\"${LDB_VERSION}\\"" > ${TGT}', - target='include/ldb_version.h', - public_headers='include/ldb_version.h', - public_headers_install=not private_library) - t.env.LDB_VERSION = VERSION - bld.add_manual_dependency(bld.path.find_or_declare('include/ldb_version.h'), VERSION) - - - - bld.SAMBA_PYTHON('pyldb', 'pyldb.c', - deps='ldb pyldb-util', - realname='ldb.so', - cflags='-DPACKAGE_VERSION=\"%s\"' % VERSION) - - bld.SAMBA_MODULE('ldb_paged_results', - 'modules/paged_results.c', - init_function='ldb_paged_results_init', - module_init_name='ldb_init_module', - internal_module=False, - deps='ldb', - subsystem='ldb') - - bld.SAMBA_MODULE('ldb_asq', - 'modules/asq.c', - init_function='ldb_asq_init', - module_init_name='ldb_init_module', - internal_module=False, - deps='ldb', - subsystem='ldb') - - bld.SAMBA_MODULE('ldb_server_sort', - 'modules/sort.c', - init_function='ldb_server_sort_init', - internal_module=False, - module_init_name='ldb_init_module', - deps='ldb', - subsystem='ldb') - - bld.SAMBA_MODULE('ldb_paged_searches', - 'modules/paged_searches.c', - init_function='ldb_paged_searches_init', - internal_module=False, - module_init_name='ldb_init_module', - deps='ldb', - subsystem='ldb') - - bld.SAMBA_MODULE('ldb_rdn_name', - 'modules/rdn_name.c', - init_function='ldb_rdn_name_init', - internal_module=False, - module_init_name='ldb_init_module', - deps='ldb', - subsystem='ldb') - - bld.SAMBA_MODULE('ldb_sample', - 'tests/sample_module.c', - init_function='ldb_sample_init', - internal_module=False, - module_init_name='ldb_init_module', - deps='ldb', - subsystem='ldb') - - bld.SAMBA_MODULE('ldb_skel', - 'modules/skel.c', - init_function='ldb_skel_init', - internal_module=False, - module_init_name='ldb_init_module', - deps='ldb', - subsystem='ldb') - - bld.SAMBA_MODULE('ldb_sqlite3', - 'sqlite3/ldb_sqlite3.c', - init_function='ldb_sqlite3_init', - internal_module=False, - module_init_name='ldb_init_module', - enabled=False, - deps='ldb', - subsystem='ldb') - - bld.SAMBA_MODULE('ldb_tdb', - bld.SUBDIR('ldb_tdb', - '''ldb_tdb.c ldb_pack.c ldb_search.c ldb_index.c - ldb_cache.c ldb_tdb_wrap.c'''), - init_function='ldb_tdb_init', - module_init_name='ldb_init_module', - internal_module=False, - deps='tdb_compat ldb', - subsystem='ldb') - - # have a separate subsystem for common/ldb.c, so it can rebuild - # for install with a different -DLDB_MODULESDIR= - bld.SAMBA_SUBSYSTEM('LIBLDB_MAIN', - 'common/ldb.c', - deps='tevent tdb_compat', - includes='include', - cflags=['-DLDB_MODULESDIR=\"%s\"' % modules_dir]) - - LDB_TOOLS='ldbadd ldbsearch ldbdel ldbmodify ldbedit ldbrename' - for t in LDB_TOOLS.split(): - bld.SAMBA_BINARY(t, 'tools/%s.c' % t, deps='ldb-cmdline ldb', - manpages='man/%s.1' % t) - - # ldbtest doesn't get installed - bld.SAMBA_BINARY('ldbtest', 'tools/ldbtest.c', deps='ldb-cmdline ldb', - install=False) - - bld.SAMBA_LIBRARY('ldb-cmdline', - source='tools/ldbutil.c tools/cmdline.c', - deps='ldb dl popt', - private_library=True) - - -def test(ctx): - '''run ldb testsuite''' - import Utils, samba_utils, shutil - test_prefix = "%s/st" % (Utils.g_module.blddir) - shutil.rmtree(test_prefix, ignore_errors=True) - os.makedirs(test_prefix) - os.environ['TEST_DATA_PREFIX'] = test_prefix - cmd = 'tests/test-tdb.sh' - ret = samba_utils.RUN_COMMAND(cmd) - print("testsuite returned %d" % ret) - # FIXME: Run python testsuite - sys.exit(ret) - -def dist(): - '''makes a tarball for distribution''' - samba_dist.dist() - -def reconfigure(ctx): - '''reconfigure if config scripts have changed''' - import samba_utils - samba_utils.reconfigure(ctx) |