mirror of https://gitlab.com/ita1024/waf.git
Remove field_name, type_name, function_name from conf.check() tests #1906
This commit is contained in:
parent
a5918ab433
commit
62fe305d04
|
@ -12,4 +12,5 @@ NEW IN WAF 2.0.0
|
||||||
* Remove Task.update_outputs, Task.always_run
|
* Remove Task.update_outputs, Task.always_run
|
||||||
* Remove atleast-version, exact-version and max-version from conf.check_cfg
|
* Remove atleast-version, exact-version and max-version from conf.check_cfg
|
||||||
* Remove c_preproc.trimquotes
|
* Remove c_preproc.trimquotes
|
||||||
|
* Remove field_name, type_name, function_name from conf.check() tests
|
||||||
|
|
||||||
|
|
|
@ -19,26 +19,6 @@ WAF_CONFIG_H = 'config.h'
|
||||||
DEFKEYS = 'define_key'
|
DEFKEYS = 'define_key'
|
||||||
INCKEYS = 'include_key'
|
INCKEYS = 'include_key'
|
||||||
|
|
||||||
SNIP_FUNCTION = '''
|
|
||||||
int main(int argc, char **argv) {
|
|
||||||
void (*p)();
|
|
||||||
(void)argc; (void)argv;
|
|
||||||
p=(void(*)())(%s);
|
|
||||||
return !p;
|
|
||||||
}
|
|
||||||
'''
|
|
||||||
"""Code template for checking for functions"""
|
|
||||||
|
|
||||||
SNIP_TYPE = '''
|
|
||||||
int main(int argc, char **argv) {
|
|
||||||
(void)argc; (void)argv;
|
|
||||||
if ((%(type_name)s *) 0) return 0;
|
|
||||||
if (sizeof (%(type_name)s)) return 0;
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
'''
|
|
||||||
"""Code template for checking for types"""
|
|
||||||
|
|
||||||
SNIP_EMPTY_PROGRAM = '''
|
SNIP_EMPTY_PROGRAM = '''
|
||||||
int main(int argc, char **argv) {
|
int main(int argc, char **argv) {
|
||||||
(void)argc; (void)argv;
|
(void)argc; (void)argv;
|
||||||
|
@ -46,15 +26,6 @@ int main(int argc, char **argv) {
|
||||||
}
|
}
|
||||||
'''
|
'''
|
||||||
|
|
||||||
SNIP_FIELD = '''
|
|
||||||
int main(int argc, char **argv) {
|
|
||||||
char *off;
|
|
||||||
(void)argc; (void)argv;
|
|
||||||
off = (char*) &((%(type_name)s*)0)->%(field_name)s;
|
|
||||||
return (size_t) off < sizeof(%(type_name)s);
|
|
||||||
}
|
|
||||||
'''
|
|
||||||
|
|
||||||
MACRO_TO_DESTOS = {
|
MACRO_TO_DESTOS = {
|
||||||
'__linux__' : 'linux',
|
'__linux__' : 'linux',
|
||||||
'__GNU__' : 'gnu', # hurd
|
'__GNU__' : 'gnu', # hurd
|
||||||
|
@ -456,6 +427,9 @@ def validate_c(self, kw):
|
||||||
:param auto_add_header_name: if header_name was set, add the headers in env.INCKEYS so the next tests will include these headers
|
:param auto_add_header_name: if header_name was set, add the headers in env.INCKEYS so the next tests will include these headers
|
||||||
:type auto_add_header_name: bool
|
:type auto_add_header_name: bool
|
||||||
"""
|
"""
|
||||||
|
for x in ('type_name', 'field_name', 'function_name'):
|
||||||
|
if x in kw:
|
||||||
|
Logs.warn('Invalid argument %r in test' % x)
|
||||||
|
|
||||||
if not 'build_fun' in kw:
|
if not 'build_fun' in kw:
|
||||||
kw['build_fun'] = build_fun
|
kw['build_fun'] = build_fun
|
||||||
|
@ -513,34 +487,6 @@ def validate_c(self, kw):
|
||||||
kw['msg'] = 'Checking for framework %s' % fwkname
|
kw['msg'] = 'Checking for framework %s' % fwkname
|
||||||
kw['framework'] = fwkname
|
kw['framework'] = fwkname
|
||||||
|
|
||||||
if 'function_name' in kw:
|
|
||||||
fu = kw['function_name']
|
|
||||||
if not 'msg' in kw:
|
|
||||||
kw['msg'] = 'Checking for function %s' % fu
|
|
||||||
kw['code'] = to_header(kw) + SNIP_FUNCTION % fu
|
|
||||||
if not 'uselib_store' in kw:
|
|
||||||
kw['uselib_store'] = fu.upper()
|
|
||||||
if not 'define_name' in kw:
|
|
||||||
kw['define_name'] = self.have_define(fu)
|
|
||||||
|
|
||||||
elif 'type_name' in kw:
|
|
||||||
tu = kw['type_name']
|
|
||||||
if not 'header_name' in kw:
|
|
||||||
kw['header_name'] = 'stdint.h'
|
|
||||||
if 'field_name' in kw:
|
|
||||||
field = kw['field_name']
|
|
||||||
kw['code'] = to_header(kw) + SNIP_FIELD % {'type_name' : tu, 'field_name' : field}
|
|
||||||
if not 'msg' in kw:
|
|
||||||
kw['msg'] = 'Checking for field %s in %s' % (field, tu)
|
|
||||||
if not 'define_name' in kw:
|
|
||||||
kw['define_name'] = self.have_define((tu + '_' + field).upper())
|
|
||||||
else:
|
|
||||||
kw['code'] = to_header(kw) + SNIP_TYPE % {'type_name' : tu}
|
|
||||||
if not 'msg' in kw:
|
|
||||||
kw['msg'] = 'Checking for type %s' % tu
|
|
||||||
if not 'define_name' in kw:
|
|
||||||
kw['define_name'] = self.have_define(tu.upper())
|
|
||||||
|
|
||||||
elif 'header_name' in kw:
|
elif 'header_name' in kw:
|
||||||
if not 'msg' in kw:
|
if not 'msg' in kw:
|
||||||
kw['msg'] = 'Checking for header %s' % kw['header_name']
|
kw['msg'] = 'Checking for header %s' % kw['header_name']
|
||||||
|
|
Loading…
Reference in New Issue