summaryrefslogtreecommitdiff
path: root/buildtools
diff options
context:
space:
mode:
authorAlexander Bokovoy <ab@samba.org>2012-05-21 12:45:12 +0300
committerAlexander Bokovoy <ab@samba.org>2012-05-23 17:51:50 +0300
commit2ddf89a2bc3c00b71dec230f071416e594f89113 (patch)
tree1fad0fc85214ffcd807a767677692846a7fd1848 /buildtools
parent2fc96e695599312c26576b5d0a0f6a86852131c4 (diff)
downloadsamba-2ddf89a2bc3c00b71dec230f071416e594f89113.tar.gz
samba-2ddf89a2bc3c00b71dec230f071416e594f89113.tar.bz2
samba-2ddf89a2bc3c00b71dec230f071416e594f89113.zip
Introduce system MIT krb5 build with --with-system-mitkrb5 option.
System MIT krb5 build also enabled by specifying --without-ad-dc When --with-system-mitkrb5 (or --withou-ad-dc) option is passed to top level configure in WAF build we are trying to detect and use system-wide MIT krb5 libraries. As result, Samba 4 DC functionality will be disabled due to the fact that it is currently impossible to implement embedded KDC server with MIT krb5. Thus, --with-system-mitkrb5/--without-ad-dc build will only produce * Samba 4 client libraries and their Python bindings * Samba 3 server (smbd, nmbd, winbindd from source3/) * Samba 3 client libraries In addition, Samba 4 DC server-specific tests will not be compiled into smbtorture. This in particular affects spoolss_win, spoolss_notify, and remote_pac rpc tests.
Diffstat (limited to 'buildtools')
-rw-r--r--buildtools/wafsamba/samba_utils.py11
-rw-r--r--buildtools/wafsamba/wafsamba.py7
2 files changed, 17 insertions, 1 deletions
diff --git a/buildtools/wafsamba/samba_utils.py b/buildtools/wafsamba/samba_utils.py
index 477e0b41db..70d06704e7 100644
--- a/buildtools/wafsamba/samba_utils.py
+++ b/buildtools/wafsamba/samba_utils.py
@@ -642,8 +642,17 @@ def PROCESS_SEPARATE_RULE(self, rule):
if txt:
dc = {'ctx': self}
if getattr(self.__class__, 'pre_recurse', None):
- dc = self.pre_recurse(txt, file_path, [])
+ dc = self.pre_recurse(txt, file_path, self.curdir)
exec(compile(txt, file_path, 'exec'), dc)
+ if getattr(self.__class__, 'post_recurse', None):
+ dc = self.post_recurse(txt, file_path, self.curdir)
Build.BuildContext.PROCESS_SEPARATE_RULE = PROCESS_SEPARATE_RULE
ConfigurationContext.PROCESS_SEPARATE_RULE = PROCESS_SEPARATE_RULE
+
+def AD_DC_BUILD_IS_ENABLED(self):
+ if self.CONFIG_SET('AD_DC_BUILD_IS_ENABLED'):
+ return True
+ return False
+
+Build.BuildContext.AD_DC_BUILD_IS_ENABLED = AD_DC_BUILD_IS_ENABLED
diff --git a/buildtools/wafsamba/wafsamba.py b/buildtools/wafsamba/wafsamba.py
index 534bace25b..f1e7affbef 100644
--- a/buildtools/wafsamba/wafsamba.py
+++ b/buildtools/wafsamba/wafsamba.py
@@ -413,6 +413,9 @@ def SAMBA_MODULE(bld, modname, source,
source = bld.SUBDIR(subdir, source)
if internal_module or BUILTIN_LIBRARY(bld, modname):
+ # Do not create modules for disabled subsystems
+ if subsystem and GET_TARGET_TYPE(bld, subsystem) == 'DISABLED':
+ return
bld.SAMBA_SUBSYSTEM(modname, source,
deps=deps,
includes=includes,
@@ -430,6 +433,10 @@ def SAMBA_MODULE(bld, modname, source,
SET_TARGET_TYPE(bld, modname, 'DISABLED')
return
+ # Do not create modules for disabled subsystems
+ if subsystem and GET_TARGET_TYPE(bld, subsystem) == 'DISABLED':
+ return
+
obj_target = modname + '.objlist'
realname = modname