1
0
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:
Andrew Tridgell 2010-03-07 16:18:33 +11:00
parent 572fc43a4a
commit 2dfced59d5
2 changed files with 29 additions and 0 deletions

View File

@ -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):

View File

@ -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')