-dnl ========================================================
-dnl = Enable building the Thumb2 instruction set
-dnl ========================================================
-MOZ_ARG_ENABLE_BOOL(thumb2,
- [ --enable-thumb2 Enable Thumb2 instruction set (implies ARMv7)],
- MOZ_THUMB2=1,
- MOZ_THUMB2=)
-if test -n "$MOZ_THUMB2"; then
- MOZ_ARM_ARCH=armv7
-fi
-
-dnl ========================================================
-dnl = Enable building for ARM specific CPU features
-dnl ========================================================
-MOZ_ARG_WITH_STRING(cpu-arch,
-[ --with-cpu-arch=arch Use specific arm architecture CPU features, default armv7],
- MOZ_ARM_ARCH=$withval)
-
-if test -n "$MOZ_THUMB2"; then
- case "$target_cpu" in
- arm*)
- if test "$MOZ_ARM_ARCH" != "armv7"; then
- AC_MSG_ERROR([--enable-thumb2 is not compatible with cpu-arch=$MOZ_ARM_ARCH])
- fi
- if test "$GNU_CC"; then
- AC_DEFINE(MOZ_THUMB2)
- AC_DEFINE(MOZ_ARM_ARCH)
- CFLAGS="$CFLAGS -march=armv7-a -mthumb -mfloat-abi=softfp $MOZ_ARM_VFP_FLAGS"
- CXXFLAGS="$CXXFLAGS -march=armv7-a -mthumb -mfloat-abi=softfp $MOZ_ARM_VFP_FLAGS"
- ASFLAGS="$ASFLAGS -march=armv7-a -mthumb -mfloat-abi=softfp $MOZ_ARM_VFP_FLAGS"
- else
- AC_MSG_ERROR([--enable-thumb2 is not supported for non-GNU toolchains])
- fi
- ;;
- *)
- AC_MSG_ERROR([--enable-thumb2 is not supported for non-ARM CPU architectures])
- ;;
- esac
-elif test "$MOZ_ARM_ARCH" = "armv7"; then
- case "$target_cpu" in
- arm*)
- if test "$GNU_CC"; then
- AC_DEFINE(MOZ_ARM_ARCH)
- CFLAGS="$CFLAGS -march=armv7-a -marm -mfloat-abi=softfp $MOZ_ARM_VFP_FLAGS"
- CXXFLAGS="$CXXFLAGS -march=armv7-a -marm -mfloat-abi=softfp $MOZ_ARM_VFP_FLAGS"
- ASFLAGS="$ASFLAGS -march=armv7-a -marm -mfloat-abi=softfp $MOZ_ARM_VFP_FLAGS"
- else
- AC_MSG_ERROR([--with-cpu-arch=armv7 is not supported for non-GNU toolchains])
- fi
- ;;
- *)
- AC_MSG_ERROR([--with-cpu-arch=armv7 is not supported for non-ARM CPU architectures])
- ;;
- esac
-else
- case "$target_cpu" in
- arm*)
- if test "$GNU_CC"; then
- CFLAGS="$CFLAGS -march=armv5te -mthumb-interwork -msoft-float"
- CXXFLAGS="$CXXFLAGS -march=armv5te -mthumb-interwork -msoft-float"
- ASFLAGS="$ASFLAGS -march=armv5te -mthumb-interwork -msoft-float"
- fi
- ;;
- esac
-fi
-
-AC_SUBST(MOZ_THUMB2)
-AC_SUBST(MOZ_ARM_ARCH)