VERSION: Disable git snapshots for the 4.2.12 release.
[samba.git] / wscript
diff --git a/wscript b/wscript
index cf4e93b1c07c5cf9474c5cbddefc43b9db517383..28528be06cbf6f11102d1da77ab17f7074bcb22b 100644 (file)
--- a/wscript
+++ b/wscript
@@ -43,6 +43,7 @@ def set_options(opt):
     opt.RECURSE('pidl')
     opt.RECURSE('source3')
     opt.RECURSE('lib/util')
+    opt.RECURSE('ctdb')
 
     opt.add_option('--with-system-mitkrb5',
                    help='enable system MIT krb5 build (includes Samba 4 client and Samba 3 code base).'+
@@ -69,14 +70,6 @@ def set_options(opt):
                   help=("Disable RELRO builds"),
                   action="store_false", dest='enable_relro')
 
-    opt.add_option('--with-systemd',
-                   help=("Enable systemd integration"),
-                   action='store_true', dest='enable_systemd')
-
-    opt.add_option('--without-systemd',
-                   help=("Disable systemd integration"),
-                   action='store_false', dest='enable_systemd')
-
     gr = opt.option_group('developer options')
 
     opt.tool_options('python') # options for disabling pyc or pyo compilation
@@ -99,7 +92,7 @@ def configure(conf):
     conf.env.replace_add_global_pthread = True
     conf.RECURSE('lib/replace')
 
-    conf.find_program('perl', var='PERL', mandatory=True)
+    conf.SAMBA_CHECK_PERL(mandatory=True)
     conf.find_program('xsltproc', var='XSLTPROC')
 
     conf.SAMBA_CHECK_PYTHON(mandatory=True, version=(2,5,0))
@@ -120,6 +113,21 @@ def configure(conf):
         raise Utils.WafError('Python version 3.x is not supported by Samba yet')
 
     conf.RECURSE('dynconfig')
+
+    if conf.CHECK_FOR_THIRD_PARTY():
+        conf.RECURSE('third_party/zlib')
+        conf.RECURSE('third_party/popt')
+    else:
+        if not conf.CHECK_ZLIB():
+            raise Utils.WafError('zlib development packages have not been found.\nIf third_party is installed, check that it is in the proper place.')
+        else:
+            conf.define('USING_SYSTEM_ZLIB',1)
+
+        if not conf.CHECK_POPT():
+            raise Utils.WafError('popt development packages have not been found.\nIf third_party is installed, check that it is in the proper place.')
+        else:
+            conf.define('USING_SYSTEM_POPT', 1)
+
     conf.RECURSE('lib/ldb')
 
     if Options.options.with_system_mitkrb5:
@@ -138,21 +146,21 @@ def configure(conf):
     conf.RECURSE('lib/util')
     conf.RECURSE('lib/ccan')
     conf.RECURSE('lib/ntdb')
-    conf.RECURSE('lib/zlib')
     conf.RECURSE('lib/util/charset')
     conf.RECURSE('source4/auth')
     conf.RECURSE('lib/nss_wrapper')
     conf.RECURSE('nsswitch')
     conf.RECURSE('lib/socket_wrapper')
     conf.RECURSE('lib/uid_wrapper')
-    conf.RECURSE('lib/popt')
-    conf.RECURSE('lib/iniparser/src')
     conf.RECURSE('lib/subunit/c')
     conf.RECURSE('libcli/smbreadline')
     conf.RECURSE('lib/crypto')
     conf.RECURSE('pidl')
     conf.RECURSE('selftest')
     conf.RECURSE('source3')
+    conf.RECURSE('lib/texpect')
+    if conf.env.with_ctdb:
+        conf.RECURSE('ctdb')
 
     conf.SAMBA_CHECK_UNDEFINED_SYMBOL_FLAGS()
 
@@ -161,8 +169,7 @@ def configure(conf):
     # allows us to find problems on our development hosts faster.
     # It also results in faster load time.
 
-    if not sys.platform.startswith("openbsd"):
-        conf.env.asneeded_ldflags = conf.ADD_LDFLAGS('-Wl,--as-needed', testflags=True)
+    conf.env.asneeded_ldflags = conf.ADD_LDFLAGS('-Wl,--as-needed', testflags=True)
 
     if not conf.CHECK_NEED_LC("-lc not needed"):
         conf.ADD_LDFLAGS('-lc', testflags=False)
@@ -198,20 +205,6 @@ def configure(conf):
                          msg="Checking compiler for full RELRO support"):
             conf.env['ENABLE_RELRO'] = True
 
-    if Options.options.enable_systemd != False:
-        conf.check_cfg(package='libsystemd-daemon', args='--cflags --libs',
-                       msg='Checking for libsystemd-daemon', uselib_store="SYSTEMD-DAEMON")
-        conf.CHECK_HEADERS('systemd/sd-daemon.h', lib='systemd-daemon')
-        conf.CHECK_LIB('systemd-daemon', shlib=True)
-
-    if (conf.CONFIG_SET('HAVE_SYSTEMD_SD_DAEMON_H') and
-        conf.CONFIG_SET('HAVE_LIBSYSTEMD_DAEMON')):
-        conf.DEFINE('HAVE_SYSTEMD', '1')
-        conf.env['ENABLE_SYSTEMD'] = True
-    else:
-        conf.SET_TARGET_TYPE('systemd-daemon', 'EMPTY')
-        conf.undefine('HAVE_SYSTEMD')
-
     conf.SAMBA_CONFIG_H('include/config.h')
 
 def etags(ctx):
@@ -289,6 +282,9 @@ def dist():
     '''makes a tarball for distribution'''
     sambaversion = samba_version.load_version(env=None)
 
+    os.system("make -C ctdb/doc")
+    samba_dist.DIST_FILES('ctdb/doc:ctdb/doc', extend=True)
+
     os.system(srcdir + "/release-scripts/build-manpages-nogit")
     samba_dist.DIST_FILES('bin/docs:docs', extend=True)