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>
(cherry picked from commit edaf1ae276)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
Mans Rullgard 2011-03-07 02:49:55 +00:00 committed by Michael Niedermayer
parent 8ea36711b0
commit 05aa8c4441
1 changed files with 12 additions and 15 deletions

23
configure vendored
View File

@ -700,20 +700,17 @@ EOF
check_func_headers(){ check_func_headers(){
log check_func_headers "$@" log check_func_headers "$@"
headers=$1 headers=$1
func=$2 funcs=$2
shift 2 shift 2
disable $func {
incs=""
for hdr in $headers; do for hdr in $headers; do
incs="$incs echo "#include <$hdr>"
#include <$hdr>"
done done
check_ld "$@" <<EOF && enable $func && enable_safe $headers for func in $funcs; do
$incs echo "long check_$func(void) { return (long) $func; }"
int main(int argc, char **argv){ done
return (long) $func; echo "int main(void) { return 0; }"
} } | check_ld "$@" && enable $funcs && enable_safe $headers
EOF
} }
check_cpp_condition(){ check_cpp_condition(){
@ -740,9 +737,9 @@ check_lib(){
check_lib2(){ check_lib2(){
log check_lib2 "$@" log check_lib2 "$@"
headers="$1" headers="$1"
func="$2" funcs="$2"
shift 2 shift 2
check_func_headers "$headers" $func "$@" && add_extralibs "$@" check_func_headers "$headers" "$funcs" "$@" && add_extralibs "$@"
} }
check_exec(){ check_exec(){