dnl And be careful when changing it! If you must add tests with square
dnl brackets, be sure changequote invocations surround it.
dnl
+dnl Copyright 2012, 2013 Free Software Foundation
+dnl
+dnl This file is free software; you can redistribute it and/or modify
+dnl it under the terms of the GNU General Public License as published by
+dnl the Free Software Foundation; either version 3 of the License, or
+dnl (at your option) any later version.
+dnl
+dnl This program is distributed in the hope that it will be useful,
+dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
+dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+dnl GNU General Public License for more details.
+dnl
+dnl You should have received a copy of the GNU General Public License
+dnl along with this program; see the file COPYING3. If not see
+dnl <http://www.gnu.org/licenses/>.
dnl
dnl v2.5 needed for --bindir et al
AC_PREREQ(2.59)
AH_VERBATIM([00_CONFIG_H_CHECK],
[/* Check that config.h is #included before system headers
(this works only for glibc, but that should be enough). */
-#if defined(__GLIBC__) && !defined(__CONFIG_H__)
+#if defined(__GLIBC__) && !defined(__FreeBSD_kernel__) && !defined(__CONFIG_H__)
# error config.h must be #included before system headers
#endif
#define __CONFIG_H__ 1])
microblaze*)
;;
- mips-sony-bsd*)
- ;;
- mips-*-bsd*)
- AC_MSG_ERROR(Unknown vendor for mips-bsd configuration.)
- ;;
-
changequote(,)dnl
ppc-*-aix[5-9].*)
changequote([,])dnl
AC_DEFINE(AIX_WEAK_SUPPORT, 1,
[Define if using AIX 5.2 value for C_WEAKEXT.])
;;
- ppc-*-linux-*)
- case "$endian" in
- big) ;;
- *) AC_MSG_ERROR(GNU/Linux must be configured big endian) ;;
- esac
- ;;
ppc-*-solaris*)
if test ${this_target} = $target; then
AC_DEFINE(TARGET_SOLARIS_COMMENT, 1,
mips64* | mipsisa64* | mipsisa32*)
changequote(,)dnl
mips_cpu=`echo $target_cpu | sed -e 's/[a-z]*..//' -e 's/el$//'`
+changequote([,])dnl
+ ;;
+ mips*)
+changequote(,)dnl
+ mips_cpu=`echo $target_cpu | sed -e 's/^mips//' -e 's/el$//'`
changequote([,])dnl
;;
*)
esac
# See whether it's appropriate to set E_MIPS_ABI_O32 for o32
# binaries. It's a GNU extension that some OSes don't understand.
- # The value only matters on ELF targets.
case ${target} in
*-*-irix*)
use_e_mips_abi_o32=0
using_cgen=yes
;;
+ nds32)
+ # Decide BASELINE, REDUCED_REGS, FPU_DP_EXT, FPU_SP_EXT features
+ # based on arch_name.
+ AC_MSG_CHECKING(for default configuration of --with-arch)
+ if test "x${with_arch}" != x; then
+ case ${with_arch} in
+ v2j | v2s | v2f | v2 | v3m | v3j | v3s | v3f | v3 )
+ AC_DEFINE_UNQUOTED(NDS32_DEFAULT_ARCH_NAME, "$with_arch",
+ [Define value for nds32_arch_name])
+ ;;
+ *)
+ AC_MSG_ERROR(This kind of arch name does *NOT* exist!)
+ ;;
+ esac
+ fi
+ AC_MSG_RESULT($with_arch)
+
+ # Decide features one by one.
+ AC_MSG_CHECKING(for default configuration of --enable-dx-regs)
+ if test "x${enable_dx_regs}" == xyes; then
+ AC_DEFINE(NDS32_DEFAULT_DX_REGS, 1,
+ [Define value for nds32_dx_regs])
+ else
+ AC_DEFINE(NDS32_DEFAULT_DX_REGS, 0,
+ [Define default value for nds32_dx_regs])
+ fi
+ AC_MSG_RESULT($enable_dx_regs)
+
+ AC_MSG_CHECKING(for default configuration of --enable-perf-ext)
+ if test "x${enable_perf_ext}" == xno; then
+ AC_DEFINE(NDS32_DEFAULT_PERF_EXT, 0,
+ [Define value for nds32_perf_ext])
+ else
+ AC_DEFINE(NDS32_DEFAULT_PERF_EXT, 1,
+ [Define default value for nds32_perf_ext])
+ fi
+ AC_MSG_RESULT($enable_perf_ext)
+
+ AC_MSG_CHECKING(for default configuration of --enable-perf-ext2)
+ if test "x${enable_perf_ext2}" == xno; then
+ AC_DEFINE(NDS32_DEFAULT_PERF_EXT2, 0,
+ [Define value for nds32_perf_ext2])
+ else
+ AC_DEFINE(NDS32_DEFAULT_PERF_EXT2, 1,
+ [Define default value for nds32_perf_ext2])
+ fi
+ AC_MSG_RESULT($enable_perf_ext2)
+
+ AC_MSG_CHECKING(for default configuration of --enable-string-ext)
+ if test "x${enable_string_ext}" == xno; then
+ AC_DEFINE(NDS32_DEFAULT_STRING_EXT, 0,
+ [Define value for nds32_string_ext])
+ else
+ AC_DEFINE(NDS32_DEFAULT_STRING_EXT, 1,
+ [Define default value for nds32_string_ext])
+ fi
+ AC_MSG_RESULT($enable_string_ext)
+
+ AC_MSG_CHECKING(for default configuration of --enable-audio-ext)
+ if test "x${enable_audio_ext}" == xno; then
+ AC_DEFINE(NDS32_DEFAULT_AUDIO_EXT, 0,
+ [Define value for nds32_audio_ext])
+ else
+ AC_DEFINE(NDS32_DEFAULT_AUDIO_EXT, 1,
+ [Define default value for nds32_audio_ext])
+ fi
+ AC_MSG_RESULT($enable_audio_ext)
+ ;;
+
i386 | s390 | sparc)
if test $this_target = $target ; then
AC_DEFINE_UNQUOTED(DEFAULT_ARCH, "${arch}", [Default architecture.])
# From target name and format, produce a list of supported emulations.
case ${generic_target}-${fmt} in
- mips-*-irix5*-*) emulation="mipsbelf mipslelf mipself mipsbecoff mipslecoff mipsecoff" ;;
- mips*-*-linux*-* | mips*-*-freebsd* | mips*-*-kfreebsd*-gnu)
- case "$endian" in
- big) emulation="mipsbelf mipslelf mipself" ;;
- *) emulation="mipslelf mipsbelf mipself" ;;
- esac ;;
- mips-*-lnews*-ecoff) ;;
- mips-*-*-ecoff) case "$endian" in
- big) emulation="mipsbecoff mipslecoff mipsecoff" ;;
- *) emulation="mipslecoff mipsbecoff mipsecoff" ;;
- esac ;;
- mips-*-*-elf) case "$endian" in
+ mips-*-*-*) case "$endian" in
big) emulation="mipsbelf mipslelf mipself" ;;
*) emulation="mipslelf mipsbelf mipself" ;;
esac ;;
- mips-*-sysv4*MP*-*) emulation="mipsbelf mipslelf mipself mipsbecoff mipslecoff mipsecoff" ;;
# i386-pc-pe-coff != i386-pc-coff.
i386-*-pe-coff) ;;
# Uncommenting the next line will turn on support for i386 AOUT
#
# And then there's "--enable-targets=all"....
#
-# For now, just always do it for MIPS ELF or ECOFF configurations. Sigh.
+# For now, just always do it for MIPS ELF configurations. Sigh.
formats="${obj_format}"
emfiles=""
.) continue ;;
mipsbelf | mipslelf | mipself)
fmt=elf file=mipself ;;
- mipsbecoff | mipslecoff | mipsecoff)
- fmt=ecoff file=mipsecoff ;;
*coff)
fmt=coff file=$em ;;
*aout)
fi
if test `set . $emfiles ; shift ; echo $#` -gt 0 ; then
DEFAULT_EMULATION=`set . $emulations ; echo $2`
- # e-mips* has more than one emulation per file, e-i386* has just one at the
+ # e-mipself has more than one emulation per file, e-i386* has just one at the
# moment. If only one emulation is specified, then don't define
# USE_EMULATIONS or include any of the e-files as they will only be bloat.
case "${obj_format}${emfiles}" in
- multi* | *mips*)
+ multi* | *mipself*)
extra_objects="$extra_objects $emfiles"
AC_DEFINE(USE_EMULATIONS, 1, [Use emulation support?]) ;;
esac