1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-23 17:34:34 +03:00

build: tweak the strategy for finding functions

Based on a problem with res_ndestroy() on sunx in the build farm, I've
changed the default strategy for finding functions with
CHECK_FUNC(). It now accepts either a macro of a linked function, but
won't accept a declaration only unless you set link=False.
This commit is contained in:
Andrew Tridgell 2010-03-30 12:47:54 +11:00
parent 9da89b4dda
commit 7da57cc94b

View File

@ -187,7 +187,7 @@ def CHECK_DECLS(conf, vars, reverse=False, headers=None):
return ret
def CHECK_FUNC(conf, f, link=None, lib=None, headers=None):
def CHECK_FUNC(conf, f, link=True, lib=None, headers=None):
'''check for a function'''
define='HAVE_%s' % f.upper()
@ -206,7 +206,12 @@ def CHECK_FUNC(conf, f, link=None, lib=None, headers=None):
if link is None or link == True:
ret = CHECK_CODE(conf,
'int main(void) { extern void %s(void); %s(); return 0; }' % (f, f),
'''int main(void) {
#ifndef %s
extern void %s(void); %s();
#endif
return 0;
}''' % (f, f, f),
execute=False,
link=True,
addmain=False,
@ -226,7 +231,7 @@ def CHECK_FUNC(conf, f, link=None, lib=None, headers=None):
@conf
def CHECK_FUNCS(conf, list, link=None, lib=None, headers=None):
def CHECK_FUNCS(conf, list, link=True, lib=None, headers=None):
'''check for a list of functions'''
ret = True
for f in TO_LIST(list):
@ -416,7 +421,7 @@ def CHECK_LIB(conf, libs, mandatory=False, empty_decl=True):
@conf
def CHECK_FUNCS_IN(conf, list, library, mandatory=False, checklibc=False,
headers=None, link=None, empty_decl=True):
headers=None, link=True, empty_decl=True):
"""
check that the functions in 'list' are available in 'library'
if they are, then make that library available as a dependency