- speed_cflags='-O3'
- size_cflags='-Os'
-elif $cc --version 2>/dev/null | grep -q Intel; then
- cc_type=icc
- cc_version="AV_STRINGIFY(__INTEL_COMPILER)"
- cc_ident=$($cc --version | head -n1)
- icc_version=$($cc -dumpversion)
- CC_DEPFLAGS='-MMD'
- AS_DEPFLAGS='-MMD'
- speed_cflags='-O3'
- size_cflags='-Os'
- noopt_cflags='-O1'
-elif $cc -v 2>&1 | grep -q xlc; then
- cc_type=xlc
- cc_version="AV_STRINGIFY(__IBMC__)"
- cc_ident=$($cc -qversion 2>/dev/null | head -n1)
- speed_cflags='-O5'
- size_cflags='-O5 -qcompact'
-elif $cc -V 2>/dev/null | grep -q Compaq; then
- cc_type=ccc
- cc_version="AV_STRINGIFY(__DECC_VER)"
- cc_ident=$($cc -V | head -n1 | cut -d' ' -f1-3)
- DEPFLAGS='$(CPPFLAGS) $(CFLAGS) -M'
- debuglevel=3
- add_ldflags -Wl,-z,now # calls to libots crash without this
- speed_cflags='-fast'
- size_cflags='-O1'
-elif $cc --vsn 2>/dev/null | grep -q "ARM C/C++ Compiler"; then
- test -d "$sysroot" || die "No valid sysroot specified."
- cc_type=armcc
- cc_version="AV_STRINGIFY(__ARMCC_VERSION)"
- cc_ident=$($cc --vsn | head -n1)
- armcc_conf="$PWD/armcc.conf"
- $cc --arm_linux_configure \
- --arm_linux_config_file="$armcc_conf" \
- --configure_sysroot="$sysroot" \
- --configure_cpp_headers="$sysinclude" >>$logfile 2>&1 ||
- die "Error creating armcc configuration file."
- $cc --vsn | grep -q RVCT && armcc_opt=rvct || armcc_opt=armcc
- cc="$cc --arm_linux_config_file=$armcc_conf --translate_gcc"
- as_default="${cross_prefix}gcc"
- CC_DEPFLAGS='-MMD'
- AS_DEPFLAGS='-MMD'
- speed_cflags='-O3'
- size_cflags='-Os'
- filter_asflags="filter_out -W${armcc_opt}*"
-elif $cc -version 2>/dev/null | grep -q TMS470; then
- cc_type=tms470
- cc_version="AV_STRINGIFY(__TI_COMPILER_VERSION__)"
- cc_ident=$($cc -version | head -n1 | tr -s ' ')
- cc="$cc --gcc --abi=eabi -eo=.o -mc -me"
- CC_O='-fr=$(@D)'
- as_default="${cross_prefix}gcc"
- ld_default="${cross_prefix}gcc"
- TMPO=$(basename $TMPC .c).o
- append TMPFILES $TMPO
- add_cflags -D__gnuc_va_list=va_list -D__USER_LABEL_PREFIX__=
- CC_DEPFLAGS='-ppa -ppd=$(@:.o=.d)'
- AS_DEPFLAGS='-MMD'
- speed_cflags='-O3 -mf=5'
- size_cflags='-O3 -mf=2'
- filter_cflags=tms470_flags
- tms470_flags(){
- for flag; do
- case $flag in
- -march=*|-mcpu=*)
- case "${flag#*=}" in
- armv7-a|cortex-a*) echo -mv=7a8 ;;
- armv7-r|cortex-r*) echo -mv=7r4 ;;
- armv7-m|cortex-m*) echo -mv=7m3 ;;
- armv6*|arm11*) echo -mv=6 ;;
- armv5*e|arm[79]*e*|arm9[24]6*|arm96*|arm102[26])
- echo -mv=5e ;;
- armv4*|arm7*|arm9[24]*) echo -mv=4 ;;
- esac
- ;;
- -mfpu=neon) echo --float_support=vfpv3 --neon ;;
- -mfpu=vfp) echo --float_support=vfpv2 ;;
- -mfpu=vfpv3) echo --float_support=vfpv3 ;;
- -msoft-float) echo --float_support=vfplib ;;
- -O[0-3]|-mf=*) echo $flag ;;
- -g) echo -g -mn ;;
- -pds=*) echo $flag ;;
- esac
- done
- }
-elif $cc -v 2>&1 | grep -q clang; then
- cc_type=clang
- $cc -dM -E $TMPC | grep -q __clang_version__ &&
- cc_version=__clang_version__ || cc_version=__VERSION__
- cc_ident=$($cc --version | head -n1)
- CC_DEPFLAGS='-MMD'
- AS_DEPFLAGS='-MMD'
- speed_cflags='-O3'
- size_cflags='-Os'
-elif $cc -V 2>&1 | grep -q Sun; then
- cc_type=suncc
- cc_version="AV_STRINGIFY(__SUNPRO_C)"
- cc_ident=$($cc -V 2>&1 | head -n1 | cut -d' ' -f 2-)
- DEPEND_CMD='$(DEPCC) $(DEPFLAGS) $< | sed -e "1s,^.*: ,$@: ," -e "\$$!s,\$$, \\\," -e "1!s,^.*: , ," > $(@:.o=.d)'
- DEPFLAGS='$(CPPFLAGS) $(CFLAGS) -xM1'
- add_ldflags -xc99
- speed_cflags='-O5'
- size_cflags='-O5 -xspace'
- filter_cflags=suncc_flags
- suncc_flags(){
- for flag; do
- case $flag in
- -march=*|-mcpu=*)
- case "${flag#*=}" in
- native) echo -xtarget=native ;;
- v9|niagara) echo -xarch=sparc ;;
- ultrasparc) echo -xarch=sparcvis ;;
- ultrasparc3|niagara2) echo -xarch=sparcvis2 ;;
- i586|pentium) echo -xchip=pentium ;;
- i686|pentiumpro|pentium2) echo -xtarget=pentium_pro ;;
- pentium3*|c3-2) echo -xtarget=pentium3 ;;
- pentium-m) echo -xarch=sse2 -xchip=pentium3 ;;
- pentium4*) echo -xtarget=pentium4 ;;
- prescott|nocona) echo -xarch=sse3 -xchip=pentium4 ;;
- *-sse3) echo -xarch=sse3 ;;
- core2) echo -xarch=ssse3 -xchip=core2 ;;
- amdfam10|barcelona) echo -xarch=sse4_1 ;;
- athlon-4|athlon-[mx]p) echo -xarch=ssea ;;
- k8|opteron|athlon64|athlon-fx)
- echo -xarch=sse2a ;;
- athlon*) echo -xarch=pentium_proa ;;
- esac
- ;;
- -std=c99) echo -xc99 ;;
- -fomit-frame-pointer) echo -xregs=frameptr ;;
- -fPIC) echo -KPIC -xcode=pic32 ;;
- -W*,*) echo $flag ;;
- -f*-*|-W*) ;;
- *) echo $flag ;;
- esac
- done
- }
-elif $cc -v 2>&1 | grep -q 'PathScale\|Path64'; then
- cc_type=pathscale
- cc_version=__PATHSCALE__
- cc_ident=$($cc -v 2>&1 | head -n1 | tr -d :)
- CC_DEPFLAGS='-MMD -MF $(@:.o=.d) -MT $@'
- AS_DEPFLAGS='-MMD -MF $(@:.o=.d) -MT $@'
- speed_cflags='-O2'
- size_cflags='-Os'
- filter_cflags='filter_out -Wdisabled-optimization'
-elif $cc -v 2>&1 | grep -q Open64; then
- cc_type=open64
- cc_version=__OPEN64__
- cc_ident=$($cc -v 2>&1 | head -n1 | tr -d :)
- CC_DEPFLAGS='-MMD -MF $(@:.o=.d) -MT $@'
- AS_DEPFLAGS='-MMD -MF $(@:.o=.d) -MT $@'
- speed_cflags='-O2'
- size_cflags='-Os'
- filter_cflags='filter_out -Wdisabled-optimization|-Wtype-limits|-fno-signed-zeros'
-elif $cc -V 2>&1 | grep -q Portland; then
- cc_type=pgi
- cc_version='AV_STRINGIFY(__PGIC__.__PGIC_MINOR__.__PGIC_PATCHLEVEL__)'
- cc_ident="PGI $($cc -V 2>&1 | awk '/^pgcc/ { print $2; exit }')"
- opt_common='-alias=ansi -Mlre -Mpre'
- speed_cflags="-O3 -Mautoinline -Munroll=c:4 $opt_common"
- size_cflags="-O2 -Munroll=c:1 $opt_common"
- noopt_cflags="-O1"
- filter_cflags=pgi_flags
- pgi_flags(){
- for flag; do
- case $flag in
- -fomit-frame-pointer) echo -Mnoframe ;;
- -g) echo -gopt ;;
- *) echo $flag ;;
- esac
- done
- }
-fi