mirror of https://gitlab.com/ita1024/waf.git
Add executable arguments for configuration tests / execute=True
conf.check(..., execute=True, test_args=['--abc=def'])
This commit is contained in:
parent
88fa1fab83
commit
bbaa976ae0
|
@ -27,12 +27,15 @@ def configure(conf):
|
||||||
conf.check(fragment='int main() { return 0; }\n', features='c')
|
conf.check(fragment='int main() { return 0; }\n', features='c')
|
||||||
|
|
||||||
try:
|
try:
|
||||||
conf.check(fragment="int main() { return 0; }\n", execute=True) # 1
|
conf.check(fragment="int main(int argc, char* argv[]) { return 0; }\n", execute=True) # 1
|
||||||
except conf.errors.WafError:
|
except conf.errors.WafError:
|
||||||
Logs.warn('You are probably using a cross-compiler (disabling specific configuration tests)')
|
Logs.warn('You are probably using a cross-compiler (disabling specific configuration tests)')
|
||||||
conf.check_library(test_exec=False)
|
conf.check_library(test_exec=False)
|
||||||
else:
|
else:
|
||||||
conf.check(fragment="""#include<stdio.h>\nint main(){fprintf(stderr, "mu"); printf("%d", 22);return 0;}\n""", execute=True, define_name='HAVE_MU')
|
conf.check(fragment="""#include<stdio.h>\nint main(){fprintf(stderr, "mu"); printf("%d", 22);return 0;}\n""",
|
||||||
|
msg='Checking for exec results', execute=True, define_name='HAVE_MU')
|
||||||
|
conf.check(fragment='int main(int argc, char* argv[]) { return argc - 2;}',
|
||||||
|
msg='Checking for test arguments', test_args=['--foo=bar'], execute=True)
|
||||||
conf.check_library(test_exec=True)
|
conf.check_library(test_exec=True)
|
||||||
|
|
||||||
conf.check(lib='m', cflags='-Wall', defines=['var=foo', 'x=y'], uselib_store='M', mandatory=False)
|
conf.check(lib='m', cflags='-Wall', defines=['var=foo', 'x=y'], uselib_store='M', mandatory=False)
|
||||||
|
|
|
@ -659,20 +659,21 @@ class test_exec(Task.Task):
|
||||||
"""
|
"""
|
||||||
color = 'PINK'
|
color = 'PINK'
|
||||||
def run(self):
|
def run(self):
|
||||||
|
cmd = [self.inputs[0].abspath()] + getattr(self.generator, 'test_args', [])
|
||||||
if getattr(self.generator, 'rpath', None):
|
if getattr(self.generator, 'rpath', None):
|
||||||
if getattr(self.generator, 'define_ret', False):
|
if getattr(self.generator, 'define_ret', False):
|
||||||
self.generator.bld.retval = self.generator.bld.cmd_and_log([self.inputs[0].abspath()])
|
self.generator.bld.retval = self.generator.bld.cmd_and_log(cmd)
|
||||||
else:
|
else:
|
||||||
self.generator.bld.retval = self.generator.bld.exec_command([self.inputs[0].abspath()])
|
self.generator.bld.retval = self.generator.bld.exec_command(cmd)
|
||||||
else:
|
else:
|
||||||
env = self.env.env or {}
|
env = self.env.env or {}
|
||||||
env.update(dict(os.environ))
|
env.update(dict(os.environ))
|
||||||
for var in ('LD_LIBRARY_PATH', 'DYLD_LIBRARY_PATH', 'PATH'):
|
for var in ('LD_LIBRARY_PATH', 'DYLD_LIBRARY_PATH', 'PATH'):
|
||||||
env[var] = self.inputs[0].parent.abspath() + os.path.pathsep + env.get(var, '')
|
env[var] = self.inputs[0].parent.abspath() + os.path.pathsep + env.get(var, '')
|
||||||
if getattr(self.generator, 'define_ret', False):
|
if getattr(self.generator, 'define_ret', False):
|
||||||
self.generator.bld.retval = self.generator.bld.cmd_and_log([self.inputs[0].abspath()], env=env)
|
self.generator.bld.retval = self.generator.bld.cmd_and_log(cmd, env=env)
|
||||||
else:
|
else:
|
||||||
self.generator.bld.retval = self.generator.bld.exec_command([self.inputs[0].abspath()], env=env)
|
self.generator.bld.retval = self.generator.bld.exec_command(cmd, env=env)
|
||||||
|
|
||||||
@feature('test_exec')
|
@feature('test_exec')
|
||||||
@after_method('apply_link')
|
@after_method('apply_link')
|
||||||
|
|
Loading…
Reference in New Issue