summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMåns Rullgård <mans@mansr.com>2010-09-02 21:41:07 +0000
committerMåns Rullgård <mans@mansr.com>2010-09-02 21:41:07 +0000
commit613a4e3f6d9c52251e1449c656ea0a85b424d001 (patch)
treeb11ab9ef365cfd8d6f86631f4fea19048137d96f
parent5c8ef670e7e7e12f0e66589b75661b2aaffb8df4 (diff)
Detect llvm-gcc and set appropriate flags
Originally committed as revision 25028 to svn://svn.ffmpeg.org/ffmpeg/trunk
-rwxr-xr-xconfigure17
1 files changed, 14 insertions, 3 deletions
diff --git a/configure b/configure
index f63bbbc17f..2f9c9b6e22 100755
--- a/configure
+++ b/configure
@@ -1799,7 +1799,16 @@ filter_cflags=echo
filter_cppflags=echo
filter_asflags=echo
-if $cc -v 2>&1 | grep -qi ^gcc; then
+if $cc -v 2>&1 | grep -q '^gcc.*LLVM'; then
+ cc_type=llvm_gcc
+ cc_version=__VERSION__
+ gcc_extra_ver=$(expr "$($cc --version | head -n1)" : '.*\((.*)\)')
+ cc_ident="llvm-gcc $($cc -dumpversion) $gcc_extra_ver"
+ CC_DEPFLAGS='-MMD -MF $(@:.o=.d) -MT $@'
+ AS_DEPFLAGS='-MMD -MF $(@:.o=.d) -MT $@'
+ speed_cflags='-O3'
+ size_cflags='-Os'
+elif $cc -v 2>&1 | grep -qi ^gcc; then
cc_type=gcc
cc_version=__VERSION__
gcc_extra_ver=$(expr "$($cc --version | head -n1)" : '.*\((.*)\)')
@@ -1969,7 +1978,7 @@ add_asflags $extra_cflags
if test -n "$sysroot"; then
case "$cc_type" in
- gcc)
+ gcc|llvm_gcc)
add_cppflags --sysroot="$sysroot"
add_ldflags --sysroot="$sysroot"
;;
@@ -1988,7 +1997,7 @@ if test "$cpu" = host; then
enabled cross_compile && die "--cpu=host makes no sense when cross-compiling."
case "$cc_type" in
- gcc)
+ gcc|llvm_gcc)
check_native(){
$cc $1=native -v -c -o $TMPO $TMPC >$TMPE 2>&1 || return
sed -n "/$1=/{
@@ -2876,6 +2885,8 @@ elif enabled gcc; then
check_cflags -fno-tree-vectorize
check_cflags -Werror=implicit-function-declaration
check_cflags -Werror=missing-prototypes
+elif enabled llvm_gcc; then
+ check_cflags -mllvm -stack-alignment=16
elif enabled clang; then
check_cflags -mllvm -stack-alignment=16
check_cflags -Qunused-arguments