@conf
def CHECK_HEADERS(conf, list, add_headers=True):
ret = True
- for hdr in list.split():
+ for hdr in to_list(list):
if not CHECK_HEADER(conf, hdr, add_headers):
ret = False
return ret
@conf
def CHECK_TYPES(conf, list):
ret = True
- for t in list.split():
+ for t in to_list(list):
if not conf.check(type_name=t, header_name=conf.env.hlist):
ret = False
return ret
def CHECK_VARIABLE(conf, v, define=None, always=False, headers=None):
hdrs=''
if headers is not None:
- hlist = headers.split()
+ hlist = to_list(headers)
else:
hlist = conf.env.hlist
for h in hlist:
void *_x; _x=(void *)&%s;
#endif
return 0;
- }\n
+ }
''' % (hdrs, v, v),
execute=0,
msg="Checking for variable %s" % v):
When reverse==True then use HAVE_xxx_DECL instead of HAVE_DECL_xxx
'''
ret = True
- for v in vars.split():
+ for v in to_list(vars):
if not reverse:
define='HAVE_DECL_%s' % v.upper()
else:
@conf
def CHECK_FUNCS(conf, list):
ret = True
- for f in list.split():
+ for f in to_list(list):
if not CHECK_FUNC(conf, f):
ret = False
return ret
+@conf
+def CHECK_SIZEOF(conf, vars, headers=None):
+ hdrs=''
+ if headers is not None:
+ hlist = to_list(headers)
+ else:
+ hlist = conf.env.hlist
+ for h in hlist:
+ hdrs += '#include <%s>\n' % h
+ for v in to_list(vars):
+ conf.check(fragment=
+ '''
+ %s
+ int main(void) {
+ printf("%%u\\n", (unsigned)sizeof(%s));
+ return 0;
+ }
+ ''' % (hdrs, v),
+ execute=1,
+ define_ret=True,
+ define_name='SIZEOF_%s' % v.upper(),
+ quote=False,
+ msg="Checking size of %s" % v)
+
#################################################
# return True if a configuration option was found
# first see if the functions are in libc
if checklibc:
remaining = []
- for f in list.split():
+ for f in to_list(list):
if not CHECK_FUNC(conf, f):
remaining.append(f)
else:
- remaining = list.split()
+ remaining = to_list(list)
if remaining == []:
LOCAL_CACHE_SET(conf, 'EMPTY_TARGETS', library.upper(), True)
def ADD_CFLAGS(conf, flags):
if not 'EXTRA_CFLAGS' in conf.env:
conf.env['EXTRA_CFLAGS'] = []
- conf.env['EXTRA_CFLAGS'].extend(flags.split())
+ conf.env['EXTRA_CFLAGS'].extend(to_list(flags))
##############################################################
# add some extra include directories to all builds
def ADD_EXTRA_INCLUDES(conf, includes):
if not 'EXTRA_INCLUDES' in conf.env:
conf.env['EXTRA_INCLUDES'] = []
- conf.env['EXTRA_INCLUDES'].extend(includes.split())
+ conf.env['EXTRA_INCLUDES'].extend(to_list(includes))
##############################################################
list = []
else:
list = bld.env['EXTRA_CFLAGS'];
- ret = cflags.split()
+ ret = to_list(cflags)
ret.extend(list)
return ret