[SCM] libav/experimental: fix endian check when cross-compiling

siretart at users.alioth.debian.org siretart at users.alioth.debian.org
Sun Jun 30 16:05:51 UTC 2013


The following commit has been merged in the experimental branch:
commit 9eebe6873906bad11a352b2e7f2ac3c4805d7a4f
Author: Måns Rullgård <mans at mansr.com>
Date:   Wed Aug 22 20:42:25 2007 +0000

    fix endian check when cross-compiling
    
    Originally committed as revision 10187 to svn://svn.ffmpeg.org/ffmpeg/trunk

diff --git a/configure b/configure
index 0db02da..a9a4fd7 100755
--- a/configure
+++ b/configure
@@ -1519,20 +1519,10 @@ EOF
 
 # ---
 # big/little-endian test
-if ! enabled cross_compile; then
-    check_ld <<EOF || die "endian test failed" && $TMPE && bigendian="yes"
-#include <inttypes.h>
-int main(int argc, char ** argv){
-        volatile uint32_t i=0x01234567;
-        return (*((uint8_t*)(&i))) == 0x67;
-}
+check_cc <<EOF || die "endian test failed"
+unsigned int endian = 'B' << 24 | 'I' << 16 | 'G' << 8 | 'E';
 EOF
-else
-    # programs cannot be launched if cross compiling, so make a static guess
-    if test "$arch" = "powerpc" -o "$arch" = "mips" ; then
-        bigendian="yes"
-    fi
-fi
+strings $TMPO | grep -q BIGE && enable bigendian
 
 # ---
 # check availability of some header files

-- 
Libav/FFmpeg packaging



More information about the pkg-multimedia-commits mailing list