Commit df5cdc24 authored by Måns Rullgård's avatar Måns Rullgård

configure: handle --cpu before running compiler

It is possible that the compiler requires flags set by the --cpu
option, so we should not attempt to run it before those flags have
been added.

Originally committed as revision 19452 to svn://svn.ffmpeg.org/ffmpeg/trunk
parent a915980a
...@@ -1525,6 +1525,86 @@ if test -n "$sysroot"; then ...@@ -1525,6 +1525,86 @@ if test -n "$sysroot"; then
esac esac
fi fi
# Add processor-specific flags
case $cpu in
601|ppc601|PowerPC601)
cpuflags="-mcpu=601"
;;
603*|ppc603*|PowerPC603*)
cpuflags="-mcpu=603"
;;
604*|ppc604*|PowerPC604*)
cpuflags="-mcpu=604"
;;
G3|g3|75*|ppc75*|PowerPC75*)
cpuflags="-mcpu=750 -mpowerpc-gfxopt"
;;
G4|g4|745*|ppc745*|PowerPC745*)
cpuflags="-mcpu=7450 -mpowerpc-gfxopt"
;;
74*|ppc74*|PowerPC74*)
cpuflags="-mcpu=7400 -mpowerpc-gfxopt"
;;
G5|g5|970|ppc970|PowerPC970|power4*|Power4*)
cpuflags="-mcpu=970 -mpowerpc-gfxopt -mpowerpc64"
;;
Cell|CELL|cell)
cpuflags="-mcpu=cell"
enable ldbrx
;;
# targets that do NOT support conditional mov (cmov)
i[345]86|pentium|pentium-mmx|k6|k6-[23]|winchip-c6|winchip2|c3)
cpuflags="-march=$cpu"
disable cmov
;;
# targets that do support conditional mov (cmov)
i686|pentiumpro|pentium[23]|pentium-m|athlon|athlon-tbird|athlon-4|athlon-[mx]p|athlon64|k8|opteron|athlon-fx|core2)
cpuflags="-march=$cpu"
enable cmov
enable fast_cmov
;;
# targets that do support conditional mov but on which it's slow
pentium4|pentium4m|prescott|nocona)
cpuflags="-march=$cpu"
enable cmov
disable fast_cmov
;;
sparc64)
cpuflags="-mcpu=v9"
;;
arm11*|cortex*)
cpuflags="-mcpu=$cpu"
enable fast_unaligned
;;
armv[67]*)
cpuflags="-march=$cpu"
enable fast_unaligned
;;
armv*)
cpuflags="-march=$cpu"
;;
arm*)
cpuflags="-mcpu=$cpu"
;;
ev4|ev45|ev5|ev56|pca56|ev6|ev67)
enabled ccc && cpuflags="-arch $cpu" || cpuflags="-mcpu=$cpu"
;;
bf*)
cpuflags="-mcpu=$cpu"
;;
mips*|[45]k*|[237]4k*|m4k|r*000|loongson2[ef])
cpuflags="-march=$cpu"
;;
generic)
;;
*)
echo "WARNING: Unknown CPU \"$cpu\", ignored."
;;
esac
add_cflags $cpuflags
add_asflags $cpuflags
# compiler sanity check # compiler sanity check
check_exec <<EOF check_exec <<EOF
int main(void){ return 0; } int main(void){ return 0; }
...@@ -1855,86 +1935,6 @@ fi ...@@ -1855,86 +1935,6 @@ fi
disabled optimizations || check_cflags -fomit-frame-pointer disabled optimizations || check_cflags -fomit-frame-pointer
# Add processor-specific flags
case $cpu in
601|ppc601|PowerPC601)
cpuflags="-mcpu=601"
;;
603*|ppc603*|PowerPC603*)
cpuflags="-mcpu=603"
;;
604*|ppc604*|PowerPC604*)
cpuflags="-mcpu=604"
;;
G3|g3|75*|ppc75*|PowerPC75*)
cpuflags="-mcpu=750 -mpowerpc-gfxopt"
;;
G4|g4|745*|ppc745*|PowerPC745*)
cpuflags="-mcpu=7450 -mpowerpc-gfxopt"
;;
74*|ppc74*|PowerPC74*)
cpuflags="-mcpu=7400 -mpowerpc-gfxopt"
;;
G5|g5|970|ppc970|PowerPC970|power4*|Power4*)
cpuflags="-mcpu=970 -mpowerpc-gfxopt -mpowerpc64"
;;
Cell|CELL|cell)
cpuflags="-mcpu=cell"
enable ldbrx
;;
# targets that do NOT support conditional mov (cmov)
i[345]86|pentium|pentium-mmx|k6|k6-[23]|winchip-c6|winchip2|c3)
cpuflags="-march=$cpu"
disable cmov
;;
# targets that do support conditional mov (cmov)
i686|pentiumpro|pentium[23]|pentium-m|athlon|athlon-tbird|athlon-4|athlon-[mx]p|athlon64|k8|opteron|athlon-fx|core2)
cpuflags="-march=$cpu"
enable cmov
enable fast_cmov
;;
# targets that do support conditional mov but on which it's slow
pentium4|pentium4m|prescott|nocona)
cpuflags="-march=$cpu"
enable cmov
disable fast_cmov
;;
sparc64)
cpuflags="-mcpu=v9"
;;
arm11*|cortex*)
cpuflags="-mcpu=$cpu"
enable fast_unaligned
;;
armv[67]*)
cpuflags="-march=$cpu"
enable fast_unaligned
;;
armv*)
cpuflags="-march=$cpu"
;;
arm*)
cpuflags="-mcpu=$cpu"
;;
ev4|ev45|ev5|ev56|pca56|ev6|ev67)
enabled ccc && cpuflags="-arch $cpu" || cpuflags="-mcpu=$cpu"
;;
bf*)
cpuflags="-mcpu=$cpu"
;;
mips*|[45]k*|[237]4k*|m4k|r*000|loongson2[ef])
cpuflags="-march=$cpu"
;;
generic)
;;
*)
echo "WARNING: Unknown CPU \"$cpu\", ignored."
;;
esac
add_cflags $cpuflags
add_asflags $cpuflags
check_cc <<EOF || die "Symbol mangling check failed." check_cc <<EOF || die "Symbol mangling check failed."
int ff_extern; int ff_extern;
EOF EOF
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment