Remove support for the (deprecated) openrisc and or32 configurations and replace
[deliverable/binutils-gdb.git] / gas / configure.in
index a4982a44292c41f52513a292f174a422207af00a..33cd50b6507c3b8d41ddaf123d62da0f8413fa52 100644 (file)
@@ -3,47 +3,84 @@ dnl
 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 (C) 2012-2014 Free Software Foundation, Inc.
+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.57)
-AC_INIT(as.h)
+AC_PREREQ(2.59)
+AC_INIT
+AC_CONFIG_SRCDIR(as.h)
 
 dnl Autoconf 2.57 will find the aux dir without this.  However, unless
 dnl we specify this explicitly, automake-1.7 will assume that ylwrap is in
 dnl gas/ instead of gas/../.
 AC_CONFIG_AUX_DIR(..)
-AC_CANONICAL_SYSTEM
+AC_CANONICAL_TARGET
 AC_ISC_POSIX
 
 changequote(,)dnl
-BFD_VERSION=`sed -n -e 's/^.._INIT_AUTOMAKE.*,[        ]*\([^  ]*\)[   ]*).*/\1/p' < ${srcdir}/../bfd/configure.in`
+BFD_VERSION=`${srcdir}/../bfd/configure --version | sed -n -e '1s,.* ,,p'`
 changequote([,])dnl
 AM_INIT_AUTOMAKE(gas, ${BFD_VERSION})
 
-AM_PROG_LIBTOOL
+AC_PROG_CC
+AC_GNU_SOURCE
+AC_USE_SYSTEM_EXTENSIONS
+ACX_LARGEFILE
+
+LT_INIT
 
 AC_ARG_ENABLE(targets,
 [  --enable-targets        alternative target configurations besides the primary],
 [case "${enableval}" in
-  yes | "") AC_ERROR(enable-targets option must specify target names or 'all')
+  yes | "") AC_MSG_ERROR(enable-targets option must specify target names or 'all')
            ;;
   no)      enable_targets= ;;
   *)       enable_targets=$enableval ;;
 esac])dnl
-AC_ARG_ENABLE(commonbfdlib,
-[  --enable-commonbfdlib   build shared BFD/opcodes/libiberty library],
+
+ac_checking=yes
+if grep '^RELEASE=y' ${srcdir}/../bfd/Makefile.am >/dev/null 2>/dev/null ; then
+  ac_checking=
+fi
+AC_ARG_ENABLE(checking,
+[  --enable-checking       enable run-time checks],
 [case "${enableval}" in
-  yes) commonbfdlib=true ;;
-  no)  commonbfdlib=false ;;
-  *)   AC_MSG_ERROR([bad value ${enableval} for BFD commonbfdlib option]) ;;
+  no|none)  ac_checking= ;;
+  *)       ac_checking=yes ;;
 esac])dnl
+if test x$ac_checking != x ; then
+  AC_DEFINE(ENABLE_CHECKING, 1, [Define if you want run-time sanity checks.])
+fi
 
 using_cgen=no
 
 AM_BINUTILS_WARNINGS
 
 # Generate a header file
-AM_CONFIG_HEADER(config.h:config.in)
+AC_CONFIG_HEADERS(config.h:config.in)
+
+# PR 14072
+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(__FreeBSD_kernel__) && !defined(__CONFIG_H__)
+#  error config.h must be #included before system headers
+#endif
+#define __CONFIG_H__ 1])
 
 # If we are on a DOS filesystem, we must use gdb.ini rather than
 # .gdbinit.
@@ -124,22 +161,15 @@ for this_target in $target $canon_targets ; do
        AC_MSG_WARN(GAS support for ${generic_target} is preliminary and a work in progress)
        ;;
 
-      mips-sony-bsd*)
-       ;;
-      mips-*-bsd*)
-       AC_MSG_ERROR(Unknown vendor for mips-bsd configuration.)
-       ;;
+      microblaze*)
+        ;;
 
-      ppc-*-aix5.*)
+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,
@@ -203,15 +233,19 @@ changequote([,])dnl
          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
            ;;
          *)
-           AC_ERROR($target_cpu isn't a supported MIPS CPU name)
+           AC_MSG_ERROR($target_cpu isn't a supported MIPS CPU name)
            ;;
        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
@@ -232,10 +266,10 @@ changequote([,])dnl
        esac
        # Decide which ABI to target by default.
        case ${target} in
-         mips64*-linux* | mips-sgi-irix6*)
+         mips64*-linux* | mips-sgi-irix6* | mips64*-freebsd* | mips64*-kfreebsd*-gnu)
            mips_default_abi=N32_ABI
            ;;
-         mips*-linux*)
+         mips*-linux* | mips*-freebsd* | mips*-kfreebsd*-gnu)
            mips_default_abi=O32_ABI
            ;;
          mips64*-openbsd*)
@@ -258,7 +292,7 @@ changequote([,])dnl
 
     # Do we need the opcodes library?
     case ${cpu_type} in
-      vax | i386 | tic30)
+      vax | tic30)
        ;;
 
       *)
@@ -281,13 +315,13 @@ changequote([,])dnl
           extra_objects="$extra_objects bfin-parse.o"
         fi
 
-        echo ${extra_objects} | grep -s "bfin-lex.o"
+        echo ${extra_objects} | grep -s "bfin-lex-wrapper.o"
         if test $? -ne 0 ; then
-          extra_objects="$extra_objects bfin-lex.o"
+          extra_objects="$extra_objects bfin-lex-wrapper.o"
         fi
         ;;
 
-      fr30 | ip2k | iq2000 | m32r | openrisc)
+      epiphany | fr30 | ip2k | iq2000 | lm32 | m32r | or1k)
        using_cgen=yes
        ;;
 
@@ -304,18 +338,22 @@ changequote([,])dnl
        esac
        ;;
 
+      mep)
+       using_cgen=yes
+       ;;
+
       mips)
-       echo ${extra_objects} | grep -s "itbl-parse.o" 
+       echo ${extra_objects} | grep -s "itbl-parse.o"
        if test $? -ne 0 ; then
          extra_objects="$extra_objects itbl-parse.o"
        fi
 
-       echo ${extra_objects} | grep -s "itbl-lex.o" 
+       echo ${extra_objects} | grep -s "itbl-lex-wrapper.o"
        if test $? -ne 0 ; then
-         extra_objects="$extra_objects itbl-lex.o"
+         extra_objects="$extra_objects itbl-lex-wrapper.o"
        fi
 
-       echo ${extra_objects} | grep -s "itbl-ops.o" 
+       echo ${extra_objects} | grep -s "itbl-ops.o"
        if test $? -ne 0 ; then
          extra_objects="$extra_objects itbl-ops.o"
        fi
@@ -325,12 +363,95 @@ changequote([,])dnl
         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.])
        fi
        ;;
 
+      rl78)
+        echo ${extra_objects} | grep -s "rl78-parse.o"
+        if test $? -ne 0 ; then
+          extra_objects="$extra_objects rl78-parse.o"
+        fi
+       ;;
+
+      rx)
+        echo ${extra_objects} | grep -s "rx-parse.o"
+        if test $? -ne 0 ; then
+          extra_objects="$extra_objects rx-parse.o"
+        fi
+       ;;
+
       xstormy16)
        using_cgen=yes
        ;;
@@ -364,24 +485,17 @@ changequote([,])dnl
       te_file=$em
     fi
 
+   case ${te_file} in
+      vms) extra_objects="$extra_objects te-vms.o" ;;
+   esac
+
 # 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*-*) case "$endian" in
+      mips-*-*-*)      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
-                       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
@@ -417,15 +531,32 @@ if test ${all_targets} = "yes"; then
       ;;
     esac
   ;;
+  x86_64)
+    case ${obj_format} in
+    aout)
+      emulations="$emulations i386coff i386elf"
+      ;;
+    coff)
+      emulations="$emulations i386aout i386elf"
+    ;;
+    elf)
+      emulations="$emulations i386aout i386coff"
+      ;;
+    esac
+  ;;
   esac
 fi
 
+# PE code has way too many macros tweaking behaviour
+case ${te_file} in
+  pe*) emulations="" ;;
+esac
+
 # Assign floating point type.  Most processors with FP support
 # IEEE FP.  On those that don't support FP at all, usually IEEE
 # is emulated.
 case ${target_cpu} in
-  vax | tahoe )        atof=${target_cpu} ;;
-  pdp11)       atof=vax ;;
+  vax | pdp11 )        atof=vax ;;
   *)           atof=ieee ;;
 esac
 
@@ -437,6 +568,8 @@ esac
 cgen_cpu_prefix=""
 if test $using_cgen = yes ; then
   case ${target_cpu} in
+    or1knd)
+       cgen_cpu_prefix=or1k ;;
     *) cgen_cpu_prefix=${target_cpu} ;;
   esac
   AC_SUBST(cgen_cpu_prefix)
@@ -462,6 +595,7 @@ case ${obj_format} in
       i386) AC_DEFINE(I386COFF, 1, [Using i386 COFF?]) ;;
       m68k) AC_DEFINE(M68KCOFF, 1, [Using m68k COFF?]) ;;
       m88k) AC_DEFINE(M88KCOFF, 1, [Using m88k COFF?]) ;;
+      x86_64) AC_DEFINE(I386COFF, 1, [Using i386 COFF?]) ;;
     esac
     ;;
 esac
@@ -476,7 +610,7 @@ esac
 #
 # 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=""
@@ -487,8 +621,6 @@ for em in . $emulations ; do
     .) continue ;;
     mipsbelf | mipslelf | mipself)
        fmt=elf   file=mipself ;;
-    mipsbecoff | mipslecoff | mipsecoff)
-       fmt=ecoff file=mipsecoff ;;
     *coff)
        fmt=coff  file=$em ;;
     *aout)
@@ -511,7 +643,6 @@ if test `set . $formats ; shift ; echo $#` -gt 1 ; then
       ecoff)   AC_DEFINE(OBJ_MAYBE_ECOFF, 1,   [ECOFF support?])   ;;
       elf)     AC_DEFINE(OBJ_MAYBE_ELF, 1,     [ELF support?])     ;;
       generic) AC_DEFINE(OBJ_MAYBE_GENERIC, 1, [generic support?]) ;;
-      ieee)    AC_DEFINE(OBJ_MAYBE_IEEE, 1,    [IEEE support?])    ;;
       som)     AC_DEFINE(OBJ_MAYBE_SOM, 1,     [SOM support?])     ;;
     esac
     extra_objects="$extra_objects obj-$fmt.o"
@@ -520,11 +651,11 @@ if test `set . $formats ; shift ; echo $#` -gt 1 ; then
 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
@@ -556,35 +687,27 @@ yes)
   ;;
 esac
 
-BFDLIB=../bfd/libbfd.la
-BFDVER_H=../bfd/bfdver.h
-ALL_OBJ_DEPS="$ALL_OBJ_DEPS"' ../bfd/bfd.h $(INCDIR)/symcat.h'
-
-AC_SUBST(BFDLIB)
 AC_SUBST(OPCODES_LIB)
 
-AC_SUBST(BFDVER_H)
-AC_SUBST(ALL_OBJ_DEPS)
-
 AC_DEFINE_UNQUOTED(TARGET_ALIAS,       "${target_alias}", [Target alias.])
 AC_DEFINE_UNQUOTED(TARGET_CANONICAL,   "${target}",       [Canonical target.])
 AC_DEFINE_UNQUOTED(TARGET_CPU,         "${target_cpu}",   [Target CPU.])
 AC_DEFINE_UNQUOTED(TARGET_VENDOR,      "${target_vendor}", [Target vendor.])
 AC_DEFINE_UNQUOTED(TARGET_OS,          "${target_os}",    [Target OS.])
 
-AC_PROG_CC
-
 AC_PROG_YACC
 AM_PROG_LEX
 
-ALL_LINGUAS="fr tr es rw"
+ALL_LINGUAS="fr tr es rw id ru fi ja"
 ZW_GNU_GETTEXT_SISTER_DIR
 AM_PO_SUBDIRS
 
 AM_MAINTAINER_MODE
+AM_CONDITIONAL(GENINSRC_NEVER, false)
 AC_EXEEXT
 
-AC_CHECK_HEADERS(string.h stdlib.h memory.h strings.h unistd.h stdarg.h varargs.h errno.h sys/types.h)
+AC_CHECK_HEADERS(string.h stdlib.h memory.h strings.h unistd.h errno.h sys/types.h limits.h locale.h time.h sys/stat.h)
+ACX_HEADER_STRING
 
 # Put this here so that autoconf's "cross-compiling" message doesn't confuse
 # people who are not cross-compiling but are compiling cross-assemblers.
@@ -598,20 +721,20 @@ fi
 AC_MSG_RESULT($cross_gas)
 
 dnl ansidecl.h will deal with const
-dnl AC_CONST
+dnl AC_C_CONST
 AC_FUNC_ALLOCA
 AC_C_INLINE
 
 # VMS doesn't have unlink.
 AC_CHECK_FUNCS(unlink remove, break)
+AC_CHECK_FUNCS(sbrk setlocale)
 
-# Some systems don't have sbrk().
-AC_CHECK_FUNCS(sbrk)
+AM_LC_MESSAGES
 
 # do we need the math library?
 case "${need_libm}" in
-yes) 
-  AC_CHECK_LIBM
+yes)
+  LT_LIB_M
   AC_SUBST(LIBM)
   ;;
 esac
@@ -653,7 +776,7 @@ GAS_CHECK_DECL_NEEDED(errno, f, int f, [
 
 AC_MSG_CHECKING(for a known getopt prototype in unistd.h)
 AC_CACHE_VAL(gas_cv_decl_getopt_unistd_h,
-[AC_TRY_COMPILE([#include <unistd.h>], [extern int getopt (int, char *const*, const char *);],
+[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <unistd.h>], [extern int getopt (int, char *const*, const char *);])],
 gas_cv_decl_getopt_unistd_h=yes, gas_cv_decl_getopt_unistd_h=no)])
 AC_MSG_RESULT($gas_cv_decl_getopt_unistd_h)
 if test $gas_cv_decl_getopt_unistd_h = yes; then
@@ -668,12 +791,30 @@ GAS_CHECK_DECL_NEEDED(malloc, f, char *(*f)(), $gas_test_headers)
 GAS_CHECK_DECL_NEEDED(sbrk, f, char *(*f)(), $gas_test_headers)
 GAS_CHECK_DECL_NEEDED(strstr, f, char *(*f)(), $gas_test_headers)
 
-AC_CHECK_DECLS([vsnprintf])
+AC_CHECK_DECLS([free, getenv, malloc, mempcpy, realloc, stpcpy, strstr, vsnprintf])
+
+BFD_BINARY_FOPEN
+
+# Link in zlib if we can.  This allows us to write compressed debug sections.
+AM_ZLIB
+
+# Support for VMS timestamps via cross compile
+
+if test "$ac_cv_header_time_h" = yes; then
+  GAS_HAVE_TIME_TYPE_MEMBER(struct tm, tm_gmtoff)
+fi
+
+if test "$ac_cv_header_sys_stat_h" = yes; then
+    GAS_HAVE_SYS_STAT_TYPE_MEMBER(struct stat, st_mtim, tv_sec)
+    GAS_HAVE_SYS_STAT_TYPE_MEMBER(struct stat, st_mtim, tv_nsec)
+fi
+
 
-dnl Required for html and install-html targets.
+dnl Required for html, pdf, install-pdf and install-html targets.
 AC_SUBST(datarootdir)
 AC_SUBST(docdir)
 AC_SUBST(htmldir)
+AC_SUBST(pdfdir)
 
 dnl This must come last.
 
This page took 0.028894 seconds and 4 git commands to generate.