X-Git-Url: http://git.samba.org/?a=blobdiff_plain;f=wscript;h=83c82e354087743366c675a8eba949df7badda1f;hb=05578dcdbfa1734ae7bafb70859a76f4cd2a023d;hp=fcf4a0ff6a7e4fba6fc224b570889ffc5f3b05c4;hpb=a81795974ca838f48f8c323bc7563c56795e6bdd;p=obnox%2Fsamba%2Fsamba-obnox.git diff --git a/wscript b/wscript old mode 100755 new mode 100644 index fcf4a0ff6a7..83c82e35408 --- 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,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''' @@ -237,15 +243,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 - os.makedirs(blddir) + 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()