--- ldb-1.1.27/lib/talloc/wscript +++ ldb-1.1.27/lib/talloc/wscript @@ -48,7 +48,7 @@ if conf.CHECK_BUNDLED_SYSTEM_PKG('talloc', minversion=VERSION, implied_deps='replace'): conf.define('USING_SYSTEM_TALLOC', 1) - if conf.CHECK_BUNDLED_SYSTEM_PKG('pytalloc-util', minversion=VERSION, + if not conf.env.disable_python and conf.CHECK_BUNDLED_SYSTEM_PKG('pytalloc-util', minversion=VERSION, implied_deps='talloc replace'): conf.define('USING_SYSTEM_PYTALLOC_UTIL', 1) --- ldb-1.1.27/wscript +++ ldb-1.1.27/wscript @@ -5,6 +5,7 @@ blddir = 'bin' +import Logs import sys, os # find the buildtools directory @@ -13,7 +14,7 @@ srcdir = srcdir + '/..' sys.path.insert(0, srcdir + '/buildtools/wafsamba') -import wafsamba, samba_dist, Utils +import wafsamba, samba_dist, Utils, Options samba_dist.DIST_DIRS('''lib/ldb:. lib/replace:lib/replace lib/talloc:lib/talloc lib/tdb:lib/tdb lib/tdb:lib/tdb lib/tevent:lib/tevent @@ -28,8 +29,21 @@ opt.RECURSE('lib/tevent') opt.RECURSE('lib/replace') opt.tool_options('python') # options for disabling pyc or pyo compilation + if opt.IN_LAUNCH_DIR(): + opt.add_option('--disable-python', + help=("disable the pyldb modules"), + action="store_true", dest='disable_python', default=False) + if opt.IN_LAUNCH_DIR(): + opt.add_option('--disable-ldap', + help=("disable ldap support"), + action="store_true", dest='disable_ldap', default=False) def configure(conf): + conf.env.standalone_ldb = conf.IN_LAUNCH_DIR() + + conf.env.disable_python = getattr(Options.options, 'disable_python', False) + conf.env.disable_ldap = getattr(Options.options, 'disable_ldap', False) + conf.RECURSE('lib/tdb') conf.RECURSE('lib/tevent') @@ -44,16 +58,18 @@ conf.RECURSE('lib/replace') 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) + + if not conf.env.disable_python: + conf.SAMBA_CHECK_PYTHON(mandatory=False, version=(2,4,2)) + conf.SAMBA_CHECK_PYTHON_HEADERS(mandatory=False) + if not conf.env.HAVE_PYTHON_H: + Logs.warn('Disabling pyldb-util as python devel libs not found') + conf.env.disable_python = True # 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_PKG('pyldb-util', minversion=VERSION, onlyif='talloc tdb tevent', @@ -67,9 +83,12 @@ 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 + if not conf.env.disable_ldap: + # 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 + else: + conf.env.ENABLE_LDAP_BACKEND = False # we don't want any libraries or modules to rely on runtime # resolution of symbols