From edaf1ae2763ce1a23dec70e730ba2bb8ee476dfd Mon Sep 17 00:00:00 2001 From: Mans Rullgard <mans@mansr.com> Date: Mon, 7 Mar 2011 02:49:55 +0000 Subject: [PATCH] configure: allow checking multiple functions in check_func_headers() This makes it possible to pass a space-separated list of functions to check_func_headers and check_lib2. If any function is missing, none are enabled as available, so this should only be used for all-or-nothing sets, i.e. groups in which none will be used if any one is missing. Signed-off-by: Mans Rullgard <mans@mansr.com> --- configure | 27 ++++++++++++--------------- 1 file changed, 12 insertions(+), 15 deletions(-) diff --git a/configure b/configure index 04f6e132111..ebeea1853db 100755 --- a/configure +++ b/configure @@ -699,20 +699,17 @@ EOF check_func_headers(){ log check_func_headers "$@" headers=$1 - func=$2 + funcs=$2 shift 2 - disable $func - incs="" - for hdr in $headers; do - incs="$incs -#include <$hdr>" - done - check_ld "$@" <<EOF && enable $func && enable_safe $headers -$incs -int main(int argc, char **argv){ - return (long) $func; -} -EOF + { + for hdr in $headers; do + echo "#include <$hdr>" + done + for func in $funcs; do + echo "long check_$func(void) { return (long) $func; }" + done + echo "int main(void) { return 0; }" + } | check_ld "$@" && enable $funcs && enable_safe $headers } check_cpp_condition(){ @@ -739,9 +736,9 @@ check_lib(){ check_lib2(){ log check_lib2 "$@" headers="$1" - func="$2" + funcs="$2" shift 2 - check_func_headers "$headers" $func "$@" && add_extralibs "$@" + check_func_headers "$headers" "$funcs" "$@" && add_extralibs "$@" } check_exec(){ -- GitLab