docs: update unicode default to be consistent with testparm
[abartlet/samba.git/.git] / wscript
diff --git a/wscript b/wscript
index 3509939a7ba0dfe024123b6da17845c0e391e6eb..47b7b50639fda67bd8bd13ba8a7eeed55dfee330 100644 (file)
--- a/wscript
+++ b/wscript
@@ -56,6 +56,22 @@ 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)
 
+    opt.add_option('--with-pie',
+                  help=("Build Position Independent Executables " +
+                        "(default if supported by compiler)"),
+                  action="store_true", dest='enable_pie')
+    opt.add_option('--without-pie',
+                  help=("Disable Position Independent Executable builds"),
+                  action="store_false", dest='enable_pie')
+
+    opt.add_option('--with-relro',
+                  help=("Build with full RELocation Read-Only (RELRO)" +
+                        "(default if supported by compiler)"),
+                  action="store_true", dest='enable_relro')
+    opt.add_option('--without-relro',
+                  help=("Disable RELRO builds"),
+                  action="store_false", dest='enable_relro')
+
     gr = opt.option_group('developer options')
 
 
@@ -160,6 +176,25 @@ def configure(conf):
     
     conf.SAMBA_CONFIG_H('include/config.h')
 
+    if Options.options.enable_pie != False:
+        if Options.options.enable_pie == True:
+                need_pie = True
+        else:
+                # not specified, only build PIEs if supported by compiler
+                need_pie = False
+        if conf.check_cc(cflags='-fPIE', ldflags='-pie', mandatory=need_pie,
+                         msg="Checking compiler for PIE support"):
+               conf.env['ENABLE_PIE'] = True
+
+    if Options.options.enable_relro != False:
+        if Options.options.enable_relro == True:
+            need_relro = True
+        else:
+            # not specified, only build RELROs if supported by compiler
+            need_relro = False
+        if conf.check_cc(cflags='', ldflags='-Wl,-z,relro,-z,now', mandatory=need_relro,
+                         msg="Checking compiler for full RELRO support"):
+            conf.env['ENABLE_RELRO'] = True
 
 def etags(ctx):
     '''build TAGS file using etags'''
@@ -229,13 +264,6 @@ def dist():
     os.system(srcdir + "/release-scripts/build-manpages-nogit")
     samba_dist.DIST_FILES('bin/docs:docs', extend=True)
 
-    os.system(srcdir + "/source3/autogen.sh")
-    samba_dist.DIST_FILES('source3/configure', extend=True)
-    samba_dist.DIST_FILES('source3/autoconf', extend=True)
-    samba_dist.DIST_FILES('source3/include/autoconf', extend=True)
-    samba_dist.DIST_FILES('examples/VFS/configure', extend=True)
-    samba_dist.DIST_FILES('examples/VFS/module_config.h.in', extend=True)
-
     if sambaversion.IS_SNAPSHOT:
         # write .distversion file and add to tar
         if not os.path.isdir(blddir):