mirror of
https://github.com/samba-team/samba.git
synced 2025-01-11 05:18:09 +03:00
build: added CHECK_CODE_COMPILES()
This commit is contained in:
parent
572fc43a4a
commit
2dfced59d5
@ -165,6 +165,33 @@ def CHECK_SIZEOF(conf, vars, headers=None, define=None):
|
||||
msg="Checking size of %s" % v)
|
||||
|
||||
|
||||
@conf
|
||||
def CHECK_CODE_COMPILES(conf, code, define,
|
||||
always=False, headers=None):
|
||||
'''check if some code compiles'''
|
||||
hdrs=''
|
||||
if headers is not None:
|
||||
hlist = to_list(headers)
|
||||
else:
|
||||
hlist = conf.env.hlist
|
||||
for h in hlist:
|
||||
hdrs += '#include <%s>\n' % h
|
||||
if conf.check(fragment='''
|
||||
%s
|
||||
int main(void) {
|
||||
%s;
|
||||
return 0;
|
||||
}
|
||||
''' % (hdrs, code),
|
||||
execute=0,
|
||||
msg="Checking %s" % define):
|
||||
conf.DEFINE(define, 1)
|
||||
return True
|
||||
elif always:
|
||||
conf.DEFINE(define, 0)
|
||||
return False
|
||||
|
||||
|
||||
@conf
|
||||
def CHECK_STRUCTURE_MEMBER(conf, structname, member,
|
||||
always=False, define=None, headers=None):
|
||||
|
@ -10,3 +10,5 @@ conf.CHECK_HEADERS('sys/attributes.h attr/xattr.h sys/xattr.h')
|
||||
conf.CHECK_FUNCS_IN('flistxattr', 'attr', checklibc=True)
|
||||
|
||||
conf.CHECK_STRUCTURE_MEMBER('struct statvfs', 'f_frsize', define='HAVE_FRSIZE')
|
||||
|
||||
conf.CHECK_CODE_COMPILES('gettimeofday(NULL, NULL)', 'HAVE_GETTIMEOFDAY_TZ')
|
||||
|
Loading…
Reference in New Issue
Block a user