- i*86)
- ARCH="X86"
- AS="yasm"
- ASFLAGS="$ASFLAGS -O2"
- if [[ "$asm" == auto && "$CFLAGS" != *-march* ]]; then
- CFLAGS="$CFLAGS -march=i686"
- fi
- if [[ "$asm" == auto && "$CFLAGS" != *-mfpmath* ]]; then
- CFLAGS="$CFLAGS -mfpmath=sse -msse"
- fi
- if [ "$SYS" = MACOSX ]; then
- ASFLAGS="$ASFLAGS -f macho -DPREFIX"
- elif [ "$SYS" = MINGW ]; then
- ASFLAGS="$ASFLAGS -f win32 -DPREFIX"
- LDFLAGS="$LDFLAGS -Wl,--large-address-aware"
- else
- ASFLAGS="$ASFLAGS -f elf"
- fi
- ;;
- x86_64)
- ARCH="X86_64"
- AS="yasm"
- if [ "$SYS" = MACOSX ];then
- ASFLAGS="$ASFLAGS -f macho64 -m amd64 -DPIC -DPREFIX"
- if cc_check '' "-arch x86_64"; then
- CFLAGS="$CFLAGS -arch x86_64"
- LDFLAGS="$LDFLAGS -arch x86_64"
- fi
- elif [ "$SYS" = MINGW ]; then
- ASFLAGS="$ASFLAGS -f win32 -m amd64 -DPREFIX"
- else
- ASFLAGS="$ASFLAGS -f elf -m amd64"
- fi
- ;;
- powerpc|powerpc64)
- ARCH="PPC"
- if [ $asm = auto ] ; then
- define HAVE_ALTIVEC
- AS="${AS-${cross_prefix}gcc}"
- if [ $SYS = MACOSX ] ; then
- CFLAGS="$CFLAGS -faltivec -fastf -mcpu=G4"
- else
- CFLAGS="$CFLAGS -maltivec -mabi=altivec"
- define HAVE_ALTIVEC_H
- fi
- fi
- ;;
- sparc)
- if [ $asm = auto ] && test "$(uname -m)" = "sun4u"; then
- ARCH="UltraSparc"
- CFLAGS="$CFLAGS -mcpu=ultrasparc"
- LDFLAGS="$LDFLAGS -mcpu=ultrasparc"
- AS="${AS-${cross_prefix}as}"
- ASFLAGS="$ASFLAGS -xarch=v8plusa"
- else
- ARCH="Sparc"
- fi
- ;;
- mips|mipsel|mips64|mips64el)
- ARCH="MIPS"
- ;;
- arm*)
- ARCH="ARM"
- if [ "$SYS" = MACOSX ] ; then
- AS="${AS-extras/gas-preprocessor.pl $CC}"
- ASFLAGS="$ASFLAGS -DPREFIX -DPIC" # apple's ld doesn't support movw/movt relocations at all
- # build for armv7 by default
- if ! echo $CFLAGS | grep -Eq '\-arch' ; then
- CFLAGS="$CFLAGS -arch armv7"
- LDFLAGS="$LDFLAGS -arch armv7"
- fi
- else
- AS="${AS-${cross_prefix}gcc}"
- fi
- ;;
- s390|s390x)
- ARCH="S390"
- ;;
- parisc|parisc64)
- ARCH="PARISC"
- ;;
- ia64)
- ARCH="IA64"
- ;;
- *)
- ARCH="$(echo $host_cpu | tr a-z A-Z)"
- ;;
+ i*86)
+ ARCH="X86"
+ AS="yasm"
+ ASFLAGS="$ASFLAGS -O2"
+ if [ $compiler = GNU ]; then
+ if [[ "$asm" == auto && "$CFLAGS" != *-march* ]]; then
+ CFLAGS="$CFLAGS -march=i686"
+ fi
+ if [[ "$asm" == auto && "$CFLAGS" != *-mfpmath* ]]; then
+ CFLAGS="$CFLAGS -mfpmath=sse -msse"
+ fi
+ else
+ # icc on linux has various degrees of mod16 stack support
+ if [ $SYS = LINUX ]; then
+ # < 11 is completely incapable of keeping a mod16 stack
+ if cpp_check "" "" "__INTEL_COMPILER < 1100" ; then
+ define BROKEN_STACK_ALIGNMENT
+ # 11 <= x < 12 is capable of keeping a mod16 stack, but defaults to not doing so.
+ elif cpp_check "" "" "__INTEL_COMPILER < 1200" ; then
+ CFLAGS="$CFLAGS -falign-stack=assume-16-byte"
+ fi
+ # >= 12 defaults to a mod16 stack
+ fi
+ # icl on windows has no mod16 stack support
+ [ $SYS = WINDOWS ] && define BROKEN_STACK_ALIGNMENT
+ fi
+ if [ "$SYS" = MACOSX ]; then
+ ASFLAGS="$ASFLAGS -f macho -DPREFIX"
+ elif [ "$SYS" = WINDOWS -o "$SYS" = CYGWIN ]; then
+ ASFLAGS="$ASFLAGS -f win32 -DPREFIX"
+ LDFLAGS="$LDFLAGS -Wl,--large-address-aware"
+ else
+ ASFLAGS="$ASFLAGS -f elf"
+ fi
+ ;;
+ x86_64)
+ ARCH="X86_64"
+ AS="yasm"
+ if [ "$SYS" = MACOSX ]; then
+ ASFLAGS="$ASFLAGS -f macho64 -m amd64 -DPIC -DPREFIX"
+ if cc_check '' "-arch x86_64"; then
+ CFLAGS="$CFLAGS -arch x86_64"
+ LDFLAGS="$LDFLAGS -arch x86_64"
+ fi
+ elif [ "$SYS" = WINDOWS ]; then
+ ASFLAGS="$ASFLAGS -f win32 -m amd64"
+ # only the GNU toolchain is inconsistent in prefixing function names with _
+ [ $compiler = GNU ] && cc_check "" "-S" && grep -q "_main:" conftest && ASFLAGS="$ASFLAGS -DPREFIX"
+ else
+ ASFLAGS="$ASFLAGS -f elf -m amd64"
+ fi
+ ;;
+ powerpc|powerpc64)
+ ARCH="PPC"
+ if [ $asm = auto ] ; then
+ define HAVE_ALTIVEC
+ AS="${AS-${cross_prefix}gcc}"
+ if [ $SYS = MACOSX ] ; then
+ CFLAGS="$CFLAGS -faltivec -fastf -mcpu=G4"
+ else
+ CFLAGS="$CFLAGS -maltivec -mabi=altivec"
+ define HAVE_ALTIVEC_H
+ fi
+ fi
+ ;;
+ sparc)
+ ARCH="SPARC"
+ case $(uname -m) in
+ sun4u|sun4v)
+ if [ $asm = auto ]; then
+ ARCH="UltraSPARC"
+ if ! echo $CFLAGS | grep -Eq '\-mcpu' ; then
+ CFLAGS="$CFLAGS -mcpu=ultrasparc"
+ LDFLAGS="$LDFLAGS -mcpu=ultrasparc"
+ fi
+ AS="${AS-${cross_prefix}as}"
+ ASFLAGS="$ASFLAGS -xarch=v8plusa"
+ fi
+ ;;
+ esac
+ ;;
+ mips|mipsel|mips64|mips64el)
+ ARCH="MIPS"
+ ;;
+ arm*)
+ ARCH="ARM"
+ if [ "$SYS" = MACOSX ] ; then
+ AS="${AS-extras/gas-preprocessor.pl $CC}"
+ ASFLAGS="$ASFLAGS -DPREFIX -DPIC" # apple's ld doesn't support movw/movt relocations at all
+ # build for armv7 by default
+ if ! echo $CFLAGS | grep -Eq '\-arch' ; then
+ CFLAGS="$CFLAGS -arch armv7"
+ LDFLAGS="$LDFLAGS -arch armv7"
+ fi
+ else
+ AS="${AS-${cross_prefix}gcc}"
+ fi
+ ;;
+ s390|s390x)
+ ARCH="S390"
+ ;;
+ parisc|parisc64)
+ ARCH="PARISC"
+ ;;
+ ia64)
+ ARCH="IA64"
+ ;;
+ *)
+ ARCH="$(echo $host_cpu | tr a-z A-Z)"
+ ;;