diff options
author | Mans Rullgard <mans@mansr.com> | 2011-03-07 02:49:55 +0000 |
---|---|---|
committer | Mans Rullgard <mans@mansr.com> | 2011-03-11 20:13:22 +0000 |
commit | edaf1ae2763ce1a23dec70e730ba2bb8ee476dfd (patch) | |
tree | 1253614982dd8b1c832c7a4a6579e6ffbb804d1e | |
parent | 35d7d6f7489c75aaa2fcb39820fb25b0fd44524b (diff) | |
download | ffmpeg-edaf1ae2763ce1a23dec70e730ba2bb8ee476dfd.tar.gz |
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>
-rwxr-xr-x | configure | 27 |
1 files changed, 12 insertions, 15 deletions
@@ -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(){ |