X-Git-Url: http://git.samba.org/?a=blobdiff_plain;f=wscript;h=83c82e354087743366c675a8eba949df7badda1f;hb=b4f349bfc85a612f0955f4b547f2ebe4d0ea9d30;hp=4f823102dd5cf31131d6331671ae614e9fdd3ceb;hpb=6146b609e7add16a34067a4c40902f63d19fe5fe;p=obnox%2Fsamba%2Fsamba-obnox.git diff --git a/wscript b/wscript index 4f823102dd5..83c82e35408 100644 --- 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 source4/selftest/provisions/alpha13') +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,15 @@ 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 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('--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 +86,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 +124,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 +148,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 +168,15 @@ 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 def etags(ctx): '''build TAGS file using etags''' @@ -240,13 +246,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):