Browse code

Support building with TI TMS470 compiler

Originally committed as revision 19465 to svn://svn.ffmpeg.org/ffmpeg/trunk

Måns Rullgård authored on 2009/07/19 19:52:35
Showing 1 changed files
... ...
@@ -1041,6 +1041,7 @@ ssse3_deps="sse"
1041 1041
 vis_deps="sparc"
1042 1042
 
1043 1043
 need_memalign="altivec neon sse"
1044
+inline_asm_deps="!tms470"
1044 1045
 
1045 1046
 # decoders / encoders / hardware accelerators
1046 1047
 aac_decoder_select="fft mdct"
... ...
@@ -1505,6 +1506,41 @@ elif $cc --vsn 2>/dev/null | grep -q RVCT; then
1505 1505
         die "Error creating armcc configuration file."
1506 1506
     cc="$cc --arm_linux_config_file=$armcc_conf --translate_gcc"
1507 1507
     as_default="${cross_prefix}gcc"
1508
+elif $cc -version 2>/dev/null | grep -q TMS470; then
1509
+    cc_type=tms470
1510
+    cc="$cc --gcc --abi=eabi -eo=.o -mc -me"
1511
+    CC_O='-fr=$(@D)'
1512
+    as_default="${cross_prefix}gcc"
1513
+    ld_default="${cross_prefix}gcc"
1514
+    dep_cc_default="${cross_prefix}gcc"
1515
+    TMPO=$(basename $TMPC .c).o
1516
+    append TMPFILES $TMPO
1517
+    add_cflags -D__gnuc_va_list=va_list -D__USER_LABEL_PREFIX__=
1518
+    DEPFLAGS='$(CPPFLAGS) -MM'
1519
+    filter_cflags=tms470_flags
1520
+    tms470_flags(){
1521
+        for flag; do
1522
+            case $flag in
1523
+                -march=*|-mcpu=*)
1524
+                    case "${flag#*=}" in
1525
+                        armv7-a|cortex-a*)      echo -mv=7a8 ;;
1526
+                        armv7-r|cortex-r*)      echo -mv=7r4 ;;
1527
+                        armv7-m|cortex-m*)      echo -mv=7m3 ;;
1528
+                        armv6*|arm11*)          echo -mv=6   ;;
1529
+                        armv5*e|arm[79]*e*|arm9[24]6*|arm96*|arm102[26])
1530
+                                                echo -mv=5e  ;;
1531
+                        armv4*|arm7*|arm9[24]*) echo -mv=4   ;;
1532
+                    esac
1533
+                    ;;
1534
+                -mfpu=neon)     echo --float_support=vfpv3 --neon ;;
1535
+                -mfpu=vfp)      echo --float_support=vfpv2        ;;
1536
+                -mfpu=softvfp)  echo --float_support=vfplib       ;;
1537
+                -Os)            echo -O3 -mf=2                    ;;
1538
+                -O[0-3])        echo $flag -mf=5                  ;;
1539
+                -g)             echo -g -mn                       ;;
1540
+            esac
1541
+        done
1542
+    }
1508 1543
 fi
1509 1544
 
1510 1545
 test -n "$cc_type" && enable $cc_type || echolog "Unknown C compiler $cc"
... ...
@@ -1523,6 +1559,10 @@ if test -n "$sysroot"; then
1523 1523
             add_cppflags --sysroot="$sysroot"
1524 1524
             add_ldflags --sysroot="$sysroot"
1525 1525
         ;;
1526
+        tms470)
1527
+            add_cppflags -I"$sysinclude"
1528
+            add_ldflags  --sysroot="$sysroot"
1529
+        ;;
1526 1530
     esac
1527 1531
 fi
1528 1532