diff options
author | Mans Rullgard <mans@mansr.com> | 2012-07-04 23:06:25 +0100 |
---|---|---|
committer | Luca Barbato <lu_zero@gentoo.org> | 2012-07-06 19:22:08 +0200 |
commit | 5adc829eb0787682111ca063bfc2b31558999dff (patch) | |
tree | 798bf335936fa83b728ef5d3132488deeae3b887 /configure | |
parent | b7558ac293f199ac408117618a61567ee1ee7077 (diff) | |
download | ffmpeg-5adc829eb0787682111ca063bfc2b31558999dff.tar.gz |
configure: add functions for testing code fragments
This simplifies testing arbitrary code fragments within a function
body.
Signed-off-by: Mans Rullgard <mans@mansr.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Diffstat (limited to 'configure')
-rwxr-xr-x | configure | 39 |
1 files changed, 18 insertions, 21 deletions
@@ -660,6 +660,20 @@ check_ld(){ check_cmd $ld $LDFLAGS $flags -o $TMPE $TMPO $libs $extralibs } +check_code(){ + log check_code "$@" + check=$1 + headers=$2 + code=$3 + shift 3 + { + for hdr in $headers; do + echo "#include <$hdr>" + done + echo "int main(void) { $code; return 0; }" + } | check_$check "$@" +} + check_cppflags(){ log check_cppflags "$@" set -- $($filter_cppflags "$@") @@ -817,15 +831,7 @@ check_type(){ type=$2 shift 2 disable_safe "$type" - incs="" - for hdr in $headers; do - incs="$incs -#include <$hdr>" - done - check_cc "$@" <<EOF && enable_safe "$type" -$incs -$type v; -EOF + check_code cc "$headers" "$type v" "$@" && enable_safe "$type" } check_struct(){ @@ -835,15 +841,8 @@ check_struct(){ member=$3 shift 3 disable_safe "${struct}_${member}" - incs="" - for hdr in $headers; do - incs="$incs -#include <$hdr>" - done - check_cc "$@" <<EOF && enable_safe "${struct}_${member}" -$incs -const void *p = &(($struct *)0)->$member; -EOF + check_code cc "$headers" "const void *p = &(($struct *)0)->$member" "$@" && + enable_safe "${struct}_${member}" } require(){ @@ -2399,9 +2398,7 @@ case "$arch" in ;; x86) subarch="x86_32" - check_cc <<EOF && subarch="x86_64" - int test[(int)sizeof(char*) - 7]; -EOF + check_code cc "" "int test[(int)sizeof(char*) - 7]" && subarch="x86_64" if test "$subarch" = "x86_64"; then spic=$shared fi |