samba_dist.DIST_DIRS('.')
-samba_dist.DIST_BLACKLIST('.gitignore .bzrignore source4/selftest/provisions/alpha13 source4/selftest/provisions/release-4-0-0/')
+samba_dist.DIST_BLACKLIST('.gitignore .bzrignore source4/selftest/provisions/alpha13 source4/selftest/provisions/release-4-0-0/ source4/selftest/provisions/release-4-1-0rc3/')
# install in /usr/local/samba by default
Options.default_prefix = '/usr/local/samba'
opt.RECURSE('lib/ntdb')
opt.RECURSE('selftest')
opt.RECURSE('source4/lib/tls')
- opt.RECURSE('lib/nss_wrapper')
- opt.RECURSE('lib/socket_wrapper')
- opt.RECURSE('lib/uid_wrapper')
opt.RECURSE('pidl')
opt.RECURSE('source3')
opt.RECURSE('lib/util')
action='store_true', dest='without_ad_dc', default=False)
opt.add_option('--with-pie',
- help=("Build Position Independent Executables (default)"),
- action="store_true", dest='enable_pie', default=True)
+ 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')
- gr = opt.option_group('developer options')
+ 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')
+
+ 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
# enable options related to building python extensions
if not conf.CHECK_CODE('#include "tests/summary.c"',
define='SUMMARY_PASSES',
addmain=False,
- execute=True,
msg='Checking configure summary'):
raise Utils.WafError('configure summary failed')
-
- 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
+ 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
+
+ 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'):
+ 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):
'''build TAGS file using etags'''