mirror of
https://github.com/samba-team/samba.git
synced 2025-01-11 05:18:09 +03:00
waf: build PIEs if supported by the compiler
Currently waf performs a mandatory check for compiler PIE support, unless --without-pie is specified. This change makes Waf only perform the mandatory check if --with-pie is specified. If neither --with-pie nor --without-pie are specified, then PIEs are only built if compiler support is available. Signed-off-by: David Disseldorp <ddiss@samba.org> Reviewed-by: Alexander Bokovoy <ab@samba.org>
This commit is contained in:
parent
d86fda9b18
commit
b48ceef1d3
18
wscript
18
wscript
@ -57,8 +57,9 @@ def set_options(opt):
|
|||||||
action='store_true', dest='without_ad_dc', default=False)
|
action='store_true', dest='without_ad_dc', default=False)
|
||||||
|
|
||||||
opt.add_option('--with-pie',
|
opt.add_option('--with-pie',
|
||||||
help=("Build Position Independent Executables (default)"),
|
help=("Build Position Independent Executables " +
|
||||||
action="store_true", dest='enable_pie', default=True)
|
"(default if supported by compiler)"),
|
||||||
|
action="store_true", dest='enable_pie')
|
||||||
opt.add_option('--without-pie',
|
opt.add_option('--without-pie',
|
||||||
help=("Disable Position Independent Executable builds"),
|
help=("Disable Position Independent Executable builds"),
|
||||||
action="store_false", dest='enable_pie')
|
action="store_false", dest='enable_pie')
|
||||||
@ -167,10 +168,15 @@ def configure(conf):
|
|||||||
|
|
||||||
conf.SAMBA_CONFIG_H('include/config.h')
|
conf.SAMBA_CONFIG_H('include/config.h')
|
||||||
|
|
||||||
if Options.options.enable_pie == True:
|
if Options.options.enable_pie != False:
|
||||||
conf.check_cc(cflags='-fPIE', ldflags='-pie', mandatory=True,
|
if Options.options.enable_pie == True:
|
||||||
msg="Checking compiler for PIE support")
|
need_pie = True
|
||||||
conf.env['ENABLE_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):
|
def etags(ctx):
|
||||||
'''build TAGS file using etags'''
|
'''build TAGS file using etags'''
|
||||||
|
Loading…
Reference in New Issue
Block a user