summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2010-03-20 17:17:56 +1100
committerAndrew Tridgell <tridge@samba.org>2010-04-06 20:26:56 +1000
commit7628cb7da1d2b1f5bcdacecfd27866aad8b199a2 (patch)
tree2fc5b2e67c71f96fbd860458a2191bbcd4a4ee4b
parent0bad3dacb02411f46921af23faccd66f4196268f (diff)
downloadsamba-7628cb7da1d2b1f5bcdacecfd27866aad8b199a2.tar.gz
samba-7628cb7da1d2b1f5bcdacecfd27866aad8b199a2.tar.bz2
samba-7628cb7da1d2b1f5bcdacecfd27866aad8b199a2.zip
build: cope with multiple libs in CHECK_FUNCS_IN()
-rw-r--r--buildtools/wafsamba/samba_autoconf.py20
-rw-r--r--lib/replace/wscript3
2 files changed, 12 insertions, 11 deletions
diff --git a/buildtools/wafsamba/samba_autoconf.py b/buildtools/wafsamba/samba_autoconf.py
index 028f5f269a..6ad188b760 100644
--- a/buildtools/wafsamba/samba_autoconf.py
+++ b/buildtools/wafsamba/samba_autoconf.py
@@ -299,21 +299,21 @@ def CHECK_FUNCS_IN(conf, list, library, mandatory=False, checklibc=False):
SET_TARGET_TYPE(conf, library, 'EMPTY')
return True
- if not conf.check(lib=library, uselib_store=library):
- conf.ASSERT(not mandatory,
- "Mandatory library '%s' not found for functions '%s'" % (library, list))
- # if it isn't a mandatory library, then remove it from dependency lists
- SET_TARGET_TYPE(conf, library, 'EMPTY')
- return False
-
- conf.define('HAVE_LIB%s' % string.replace(library.upper(),'-','_'), 1)
+ for lib in TO_LIST(library):
+ if not conf.check(lib=lib, uselib_store=lib):
+ conf.ASSERT(not mandatory,
+ "Mandatory library '%s' not found for functions '%s'" % (library, list))
+ # if it isn't a mandatory library, then remove it from dependency lists
+ SET_TARGET_TYPE(conf, library, 'EMPTY')
+ return False
+ conf.define('HAVE_LIB%s' % string.replace(lib.upper(),'-','_'), 1)
+ conf.env['LIB_' + lib.upper()] = lib
+ LOCAL_CACHE_SET(conf, 'TARGET_TYPE', lib, 'SYSLIB')
ret = True
for f in remaining:
if not conf.check(function_name=f, lib=library, header_name=conf.env.hlist):
ret = False
- conf.env['LIB_' + library.upper()] = library
- LOCAL_CACHE_SET(conf, 'TARGET_TYPE', library, 'SYSLIB')
return ret
diff --git a/lib/replace/wscript b/lib/replace/wscript
index 036df59352..560a699060 100644
--- a/lib/replace/wscript
+++ b/lib/replace/wscript
@@ -189,7 +189,6 @@ def configure(conf):
conf.CHECK_FUNCS('asprintf vasprintf setenv unsetenv strnlen strtoull __strtoull')
conf.CHECK_FUNCS('strtouq strtoll __strtoll strtoq memmem printf memset memcpy')
conf.CHECK_FUNCS('connect gethostbyname if_nametoindex socketpair')
- conf.CHECK_FUNCS('inet_ntoa inet_aton inet_ntop inet_pton')
conf.CHECK_FUNCS('dirfd getdirentries getdents syslog getaddrinfo freeaddrinfo')
conf.CHECK_FUNCS('gai_strerror get_current_dir_name')
conf.CHECK_FUNCS('timegm getifaddrs freeifaddrs mmap setgroups setsid')
@@ -197,6 +196,8 @@ def configure(conf):
conf.CHECK_FUNCS('getpwent_r getpwnam_r getpwuid_r epoll_create')
+ conf.CHECK_FUNCS_IN('inet_ntoa inet_aton inet_ntop inet_pton', 'socket nsl')
+
conf.CHECK_FUNCS_IN('dlopen dlsym dlerror dlclose', 'dl', checklibc=True)
conf.CHECK_FUNCS_IN('poptGetContext', 'popt')
conf.CHECK_FUNCS_IN('res_search', 'resolv', checklibc=True)