libsmbconf: add smbconf_create_set_share
[obnox/samba/samba-obnox.git] / wscript
diff --git a/wscript b/wscript
old mode 100755 (executable)
new mode 100644 (file)
index 3667a8d..efebfc4
--- a/wscript
+++ b/wscript
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#!/usr/bin/env python
 
 srcdir = '.'
 blddir = 'bin'
@@ -12,7 +12,7 @@ import wafsamba, Options, samba_dist, Scripting, Utils, samba_version
 
 
 samba_dist.DIST_DIRS('.')
-samba_dist.DIST_BLACKLIST('.gitignore .bzrignore')
+samba_dist.DIST_BLACKLIST('.gitignore .bzrignore source4/selftest/provisions/alpha13 source4/selftest/provisions/release-4-0-0/')
 
 # install in /usr/local/samba by default
 Options.default_prefix = '/usr/local/samba'
@@ -56,11 +56,14 @@ def set_options(opt):
                    help='disable AD DC functionality (enables Samba 4 client and Samba 3 code base).',
                    action='store_true', dest='without_ad_dc', default=False)
 
-    gr = opt.option_group('developer options')
+    opt.add_option('--with-pie',
+                  help=("Build Position Independent Executables (default)"),
+                  action="store_true", dest='enable_pie', default=True)
+    opt.add_option('--without-pie',
+                  help=("Disable Position Independent Executable builds"),
+                  action="store_false", dest='enable_pie')
 
-    opt.add_option('--disable-ntdb',
-                   help=("disable ntdb"),
-                   action="store_true", dest='disable_ntdb', default=False)
+    gr = opt.option_group('developer options')
 
 
     opt.tool_options('python') # options for disabling pyc or pyo compilation
@@ -82,13 +85,10 @@ def configure(conf):
 
     conf.RECURSE('lib/replace')
 
-    conf.find_program('python', var='PYTHON', mandatory=True)
     conf.find_program('perl', var='PERL', mandatory=True)
     conf.find_program('xsltproc', var='XSLTPROC')
 
-    # enable tool to build python extensions
-    conf.check_tool('python')
-    conf.check_python_version((2,4,2))
+    conf.SAMBA_CHECK_PYTHON(mandatory=True, version=(2,5,0))
     conf.SAMBA_CHECK_PYTHON_HEADERS(mandatory=True)
 
     if sys.platform == 'darwin' and not conf.env['HAVE_ENVIRON_DECL']:
@@ -123,11 +123,7 @@ def configure(conf):
     conf.RECURSE('source4/ntvfs/sysdep')
     conf.RECURSE('lib/util')
     conf.RECURSE('lib/ccan')
-    conf.env.disable_ntdb = getattr(Options.options, 'disable_ntdb', False)
-    if not Options.options.disable_ntdb:
-        conf.RECURSE('lib/ntdb')
-    else:
-        conf.DEFINE('DISABLE_NTDB', 1)
+    conf.RECURSE('lib/ntdb')
     conf.RECURSE('lib/zlib')
     conf.RECURSE('lib/util/charset')
     conf.RECURSE('source4/auth')
@@ -151,7 +147,7 @@ def configure(conf):
     # allows us to find problems on our development hosts faster.
     # It also results in faster load time.
 
-    if sys.platform != "openbsd4":
+    if not sys.platform.startswith("openbsd"):
         conf.env.asneeded_ldflags = conf.ADD_LDFLAGS('-Wl,--as-needed', testflags=True)
 
     if not conf.CHECK_NEED_LC("-lc not needed"):
@@ -171,6 +167,10 @@ def configure(conf):
     
     conf.SAMBA_CONFIG_H('include/config.h')
 
+    if Options.options.enable_pie == True:
+        conf.check_cc(cflags='-fPIE', ldflags='-pie', mandatory=True,
+                      msg="Checking compiler for PIE support")
+        conf.env['ENABLE_PIE'] = True
 
 def etags(ctx):
     '''build TAGS file using etags'''
@@ -237,14 +237,19 @@ def dist():
     '''makes a tarball for distribution'''
     sambaversion = samba_version.load_version(env=None)
 
+    os.system(srcdir + "/release-scripts/build-manpages-nogit")
+    samba_dist.DIST_FILES('bin/docs:docs', extend=True)
+
     if sambaversion.IS_SNAPSHOT:
         # write .distversion file and add to tar
+        if not os.path.isdir(blddir):
+            os.makedirs(blddir)
         distversionf = tempfile.NamedTemporaryFile(mode='w', prefix='.distversion',dir=blddir)
         for field in sambaversion.vcs_fields:
             distveroption = field + '=' + str(sambaversion.vcs_fields[field])
             distversionf.write(distveroption + '\n')
         distversionf.flush()
-        samba_dist.DIST_FILES('%s:.distversion' % distversionf.name)
+        samba_dist.DIST_FILES('%s:.distversion' % distversionf.name, extend=True)
 
         samba_dist.dist()
         distversionf.close()