]> git.sesse.net Git - ffmpeg/blobdiff - configure
cosmetics: Sort CODEC_ID list.
[ffmpeg] / configure
index d6be405e063c54ad42cc11270b423ea8c1beedf7..ae8e6ff794bc0919db73eefb08bb275924bba907 100755 (executable)
--- a/configure
+++ b/configure
@@ -410,6 +410,18 @@ check_cpp(){
     check_cmd $cc $CFLAGS "$@" -E -o $TMPO $TMPC
 }
 
+check_asm(){
+    log check_asm "$@"
+    name="$1"
+    asm="$2"
+    shift 2
+    check_cc "$@" <<EOF && enable $name || disable $name
+int foo(void){
+    asm volatile($asm);
+}
+EOF
+}
+
 check_ld(){
     log check_ld "$@"
     check_cc || return
@@ -657,6 +669,7 @@ ARCH_EXT_LIST='
     mmi
     mmx
     ssse3
+    vis
 '
 
 HAVE_LIST="
@@ -726,6 +739,7 @@ iwmmxt_deps="armv4l"
 mmi_deps="mips"
 mmx_deps="x86"
 ssse3_deps="x86"
+vis_deps="sparc"
 
 # decoders / encoders
 ac3_decoder_deps="gpl"
@@ -1412,18 +1426,10 @@ if enabled x86; then
 EOF
 
     # check wether EBX is available on x86
-    check_cc <<EOF && enable ebx_available
-int main(){
-    asm volatile ("":::"%ebx");
-}
-EOF
+    check_asm ebx_available '"":::"%ebx"'
 
     # check whether binutils is new enough to compile SSSE3
-    enabled ssse3 && check_cc <<EOF || disable ssse3
-int main(){
-    asm volatile ("pabsw %xmm0, %xmm0");
-}
-EOF
+    enabled ssse3 && check_asm ssse3 '"pabsw %xmm0, %xmm0"'
 fi
 
 # check for assembler specific support
@@ -1463,33 +1469,13 @@ int main(void) {
 EOF
 fi
 
-# check armv5te instructions support
-enabled armv5te && check_cc <<EOF || disable armv5te
-int main(void) {
-    __asm__ __volatile__ ("qadd r0, r0, r0");
-}
-EOF
-
-enabled armv6 && check_cc <<EOF || disable armv6
-int main(void) {
-    __asm__ __volatile__ ("sadd16 r0, r0, r0");
-}
-EOF
-
-# check iwmmxt support
-enabled iwmmxt && check_cc <<EOF || disable iwmmxt
-int main(void) {
-    __asm__ __volatile__ ("wunpckelub wr6, wr4");
-}
-EOF
+enabled armv5te && check_asm armv5te '"qadd r0, r0, r0"'
+enabled armv6   && check_asm armv6   '"sadd16 r0, r0, r0"'
+enabled iwmmxt  && check_asm iwmmxt  '"wunpckelub wr6, wr4"'
+enabled mmi     && check_asm mmi     '"lq $2, 0($2)"'
+enabled vis     && check_asm vis     '"pdist %f0, %f0, %f0"' -mcpu=ultrasparc
 
-# check if our compiler supports mmi
-enabled mmi && check_cc <<EOF || disable mmi
-int main(void) {
-    __asm__ ("lq \$2, 0(\$2)");
-    return 0;
-}
-EOF
+enabled vis && add_cflags "-mcpu=ultrasparc -mtune=ultrasparc"
 
 # ---
 # big/little-endian test
@@ -1501,22 +1487,30 @@ grep -q BIGE $TMPO && enable bigendian
 # ---
 # check availability of some header files
 
-check_header malloc.h
-check_func memalign
-
-if ! enabled_any memalign memalign_hack && enabled need_memalign ; then
-    die "Error, no memalign() but SSE enabled, disable it or use --enable-memalign-hack."
+if check_func dlopen; then
+    ldl=
+elif check_func dlopen -ldl; then
+    ldl=-ldl
 fi
 
-check_header byteswap.h
-
-check_func mkstemp
+check_func fork
 check_func gethrtime
+check_func getrusage
+check_func inet_aton
+check_func memalign
+check_func mkstemp
+check_func2 windows.h GetProcessTimes
 
-check_header termios.h
+check_header byteswap.h
 check_header conio.h
+check_header dlfcn.h
+check_header malloc.h
+check_header termios.h
+
+if ! enabled_any memalign memalign_hack && enabled need_memalign ; then
+    die "Error, no memalign() but SSE enabled, disable it or use --enable-memalign-hack."
+fi
 
-check_func inet_aton
 enabled zlib && check_lib zlib.h zlibVersion -lz || disable zlib
 
 # ffserver uses poll(),
@@ -1586,21 +1580,6 @@ void foo(char * $restrict_keyword p);
 EOF
 done
 
-# dlopen/dlfcn.h probing
-
-check_header dlfcn.h
-
-if check_func dlopen; then
-    ldl=
-elif check_func dlopen -ldl; then
-    ldl=-ldl
-fi
-
-check_func getrusage
-check_func2 windows.h GetProcessTimes
-
-check_func fork
-
 test "$vhook" = "default" && vhook="$dlopen"
 
 if test "$targetos" = cygwin -o "$targetos" = mingw32 && enabled_all static vhook ; then
@@ -1861,6 +1840,7 @@ echo "MAKE=$make" >> config.mak
 echo "CC=$cc" >> config.mak
 echo "AR=$ar" >> config.mak
 echo "RANLIB=$ranlib" >> config.mak
+echo "LDCONFIG=$LDCONFIG" >> config.mak
 echo "LN_S=$ln_s" >> config.mak
 enabled dostrip &&
     echo "STRIP=$strip" >> config.mak ||
@@ -1869,7 +1849,6 @@ enabled dostrip &&
 echo "OPTFLAGS=$CFLAGS" >> config.mak
 echo "VHOOKCFLAGS=$VHOOKCFLAGS">>config.mak
 echo "LDFLAGS=$LDFLAGS" >> config.mak
-echo "LDCONFIG=$LDCONFIG" >> config.mak
 echo "FFSERVERLDFLAGS=$FFSERVERLDFLAGS" >> config.mak
 echo "SHFLAGS=$SHFLAGS" >> config.mak
 echo "VHOOKSHFLAGS=$VHOOKSHFLAGS" >> config.mak