From 0bad3dacb02411f46921af23faccd66f4196268f Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Sat, 20 Mar 2010 17:10:51 +1100 Subject: [PATCH] build: cope with multiple checks for the same function/library --- buildtools/wafsamba/samba_autoconf.py | 3 ++- buildtools/wafsamba/samba_utils.py | 9 +++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/buildtools/wafsamba/samba_autoconf.py b/buildtools/wafsamba/samba_autoconf.py index 4d6ac26a6cc..028f5f269af 100644 --- a/buildtools/wafsamba/samba_autoconf.py +++ b/buildtools/wafsamba/samba_autoconf.py @@ -295,7 +295,8 @@ def CHECK_FUNCS_IN(conf, list, library, mandatory=False, checklibc=False): remaining = TO_LIST(list) if remaining == []: - SET_TARGET_TYPE(conf, library, 'EMPTY') + if GET_TARGET_TYPE(conf, library) != 'SYSLIB': + SET_TARGET_TYPE(conf, library, 'EMPTY') return True if not conf.check(lib=library, uselib_store=library): diff --git a/buildtools/wafsamba/samba_utils.py b/buildtools/wafsamba/samba_utils.py index 7c0f4644ab8..9893a86c300 100644 --- a/buildtools/wafsamba/samba_utils.py +++ b/buildtools/wafsamba/samba_utils.py @@ -34,6 +34,15 @@ def SET_TARGET_TYPE(ctx, target, value): debug("task_gen: Target '%s' created of type '%s' in %s" % (target, value, ctx.curdir)) return True + +def GET_TARGET_TYPE(ctx, target): + '''get target type from cache''' + cache = LOCAL_CACHE(ctx, 'TARGET_TYPE') + if not target in cache: + return None + return cache[target] + + ###################################################### # this is used as a decorator to make functions only # run once. Based on the idea from -- 2.34.1