X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=gas%2Fconfigure.in;h=9e1ba59660765e76c471afd7ddeb045a7b01c044;hb=5063daf7357ccdc2c9e899ca0421c2e8e580c88d;hp=fe69a51c92592bc92c824dc8ab5c73e24a1d39a2;hpb=108a6f8eb48006339bcb9d35cc5ae631bbd36df3;p=deliverable%2Fbinutils-gdb.git diff --git a/gas/configure.in b/gas/configure.in index fe69a51c92..9e1ba59660 100644 --- a/gas/configure.in +++ b/gas/configure.in @@ -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 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 . 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], +[ --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 | openrisc) 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 @@ -462,6 +593,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 +608,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 +619,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 +641,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 +649,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,34 +685,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" -CY_GNU_GETTEXT +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. @@ -597,20 +719,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 @@ -652,7 +774,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 ], [extern int getopt (int, char *const*, const char *);], +[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include ], [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 @@ -667,12 +789,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 -dnl Required for html and install-html targets. +# 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, pdf, install-pdf and install-html targets. AC_SUBST(datarootdir) AC_SUBST(docdir) AC_SUBST(htmldir) +AC_SUBST(pdfdir) dnl This must come last. @@ -691,9 +831,7 @@ AC_CONFIG_COMMANDS([default], echo '#include "itbl-'"${target_cpu_type}"'.h"' > itbl-cpu.h if test "x$cgen_cpu_prefix" != x ; then echo '#include "opcodes/'"${cgen_cpu_prefix}"'-desc.h"' > cgen-desc.h - fi - - sed -e '/POTFILES =/r po/POTFILES' po/Makefile.in > po/Makefile], + fi], [target_cpu_type=${target_cpu_type} cgen_cpu_prefix=${cgen_cpu_prefix} obj_format=${obj_format}