[FFmpeg-cvslog] configure: add functions for testing code fragments
Mans Rullgard
git at videolan.org
Sat Jul 7 03:02:44 CEST 2012
ffmpeg | branch: master | Mans Rullgard <mans at mansr.com> | Wed Jul 4 23:06:25 2012 +0100| [5adc829eb0787682111ca063bfc2b31558999dff] | committer: Luca Barbato
configure: add functions for testing code fragments
This simplifies testing arbitrary code fragments within a function
body.
Signed-off-by: Mans Rullgard <mans at mansr.com>
Signed-off-by: Luca Barbato <lu_zero at gentoo.org>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=5adc829eb0787682111ca063bfc2b31558999dff
---
configure | 39 ++++++++++++++++++---------------------
1 file changed, 18 insertions(+), 21 deletions(-)
diff --git a/configure b/configure
index 9f70a36..a08b3af 100755
--- a/configure
+++ b/configure
@@ -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
More information about the ffmpeg-cvslog
mailing list