aboutsummaryrefslogtreecommitdiff
blob: 92e14c651c862b5e13e43395d3ee39b9de0a83e4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
--- 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