X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=binutils%2Fconfigure.in;h=4864380861dd07e4a3765ff5132848dad49626a6;hb=569283d40e3546979fd7c222c61408dd107de32b;hp=83704c943b81ae423d4f1a0bfcd3653344f2a4f8;hpb=80f2eaf0782d6cd5bf8e3b74a7915cafea92dafb;p=deliverable%2Fbinutils-gdb.git diff --git a/binutils/configure.in b/binutils/configure.in index 83704c943b..4864380861 100644 --- a/binutils/configure.in +++ b/binutils/configure.in @@ -1,39 +1,73 @@ dnl Process this file with autoconf to produce a configure script. dnl -AC_PREREQ(2.57) -AC_INIT(ar.c) +dnl Copyright 2012 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 + +AC_PREREQ(2.59) +AC_INIT +AC_CONFIG_SRCDIR(ar.c) -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(binutils, ${BFD_VERSION}) AC_PROG_CC AC_GNU_SOURCE -AC_PROG_LIBTOOL +AC_USE_SYSTEM_EXTENSIONS + +ACX_LARGEFILE +LT_INIT AC_ARG_ENABLE(targets, [ --enable-targets alternative target configurations], [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], -[case "${enableval}" in - yes) commonbfdlib=true ;; - no) commonbfdlib=false ;; - *) AC_MSG_ERROR([bad value ${enableval} for BFD commonbfdlib option]) ;; -esac])dnl + +AC_ARG_ENABLE(deterministic-archives, +[AS_HELP_STRING([--enable-deterministic-archives], + [ar and ranlib default to -D behavior])], [ +if test "${enableval}" = no; then + default_ar_deterministic=0 +else + default_ar_deterministic=1 +fi], [default_ar_deterministic=0]) + +AC_DEFINE_UNQUOTED(DEFAULT_AR_DETERMINISTIC, $default_ar_deterministic, + [Should ar and ranlib use -D behavior by default?]) AM_BINUTILS_WARNINGS - -AM_CONFIG_HEADER(config.h:config.in) + +AC_CONFIG_HEADERS(config.h:config.in) + +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 test -z "$target" ; then AC_MSG_ERROR(Unrecognized target system type; please check config.sub.) @@ -45,7 +79,7 @@ fi AC_PROG_YACC AM_PROG_LEX -ALL_LINGUAS="fr tr ja es sv da zh_CN ru ro rw zh_TW fi vi uk" +ALL_LINGUAS="bg da es fi fr id it ja ro ru rw sk sv tr uk vi zh_CN zh_TW hr" ZW_GNU_GETTEXT_SISTER_DIR AM_PO_SUBDIRS @@ -80,62 +114,34 @@ case "${host}" in esac AC_SUBST(DEMANGLER_NAME) -AC_CHECK_HEADERS(string.h strings.h stdlib.h unistd.h fcntl.h sys/file.h limits.h sys/param.h) +AC_CHECK_HEADERS(string.h strings.h stdlib.h unistd.h fcntl.h sys/file.h limits.h locale.h sys/param.h wchar.h) AC_HEADER_SYS_WAIT +ACX_HEADER_STRING AC_FUNC_ALLOCA -AC_CHECK_FUNCS(sbrk utimes setmode getc_unlocked strcoll) +AC_CHECK_FUNCS(sbrk utimes setmode getc_unlocked strcoll setlocale) AC_CHECK_FUNC([mkstemp], AC_DEFINE([HAVE_MKSTEMP], 1, [Define to 1 if you have the `mkstemp' function.])) AC_CHECK_FUNC([mkdtemp], AC_DEFINE([HAVE_MKDTEMP], 1, [Define to 1 if you have the `mkdtemp' function.])) - -# Check whether fopen64 is available and whether _LARGEFILE64_SOURCE -# needs to be defined for it -AC_MSG_CHECKING([for fopen64]) -AC_CACHE_VAL(bu_cv_have_fopen64, -[AC_TRY_LINK([#include ], [FILE *f = fopen64 ("/tmp/foo","r");], -bu_cv_have_fopen64=yes, -[saved_CPPFLAGS=$CPPFLAGS - CPPFLAGS="$CPPFLAGS -D_LARGEFILE64_SOURCE" - AC_TRY_LINK([#include ], [FILE *f = fopen64 ("/tmp/foo","r");], -bu_cv_have_fopen64="need -D_LARGEFILE64_SOURCE", -bu_cv_have_fopen64=no) - CPPFLAGS=$saved_CPPFLAGS])]) -AC_MSG_RESULT($bu_cv_have_fopen64) -if test "$bu_cv_have_fopen64" != no; then - AC_DEFINE([HAVE_FOPEN64], 1, - [Is fopen64 available?]) -fi -AC_MSG_CHECKING([for stat64]) -AC_CACHE_VAL(bu_cv_have_stat64, -[AC_TRY_LINK([#include ], [struct stat64 st; stat64 ("/tmp/foo", &st);], -bu_cv_have_stat64=yes, -[saved_CPPFLAGS=$CPPFLAGS - CPPFLAGS="$CPPFLAGS -D_LARGEFILE64_SOURCE" - AC_TRY_LINK([#include ], [struct stat64 st; stat64 ("/tmp/foo", &st);], -bu_cv_have_stat64="need -D_LARGEFILE64_SOURCE", -bu_cv_have_stat64=no) - CPPFLAGS=$saved_CPPFLAGS])]) -AC_MSG_RESULT($bu_cv_have_stat64) -if test "$bu_cv_have_stat64" != no; then - AC_DEFINE([HAVE_STAT64], 1, - [Is stat64 available?]) -fi -if test "$bu_cv_have_fopen64" = "need -D_LARGEFILE64_SOURCE" \ - || test "$bu_cv_have_stat64" = "need -D_LARGEFILE64_SOURCE"; then - AC_DEFINE([_LARGEFILE64_SOURCE], 1, - [Enable LFS]) - CPPFLAGS="$CPPFLAGS -D_LARGEFILE64_SOURCE" -fi + AC_MSG_CHECKING([for mbstate_t]) + AC_TRY_COMPILE([#include ], + [mbstate_t teststate;], + have_mbstate_t=yes, have_mbstate_t=no) + AC_MSG_RESULT($have_mbstate_t) + if test x"$have_mbstate_t" = xyes; then + AC_DEFINE(HAVE_MBSTATE_T,1,[Define if mbstate_t exists in wchar.h.]) + fi # Some systems have frexp only in -lm, not in -lc. AC_SEARCH_LIBS(frexp, m) +AM_LC_MESSAGES + AC_MSG_CHECKING(for time_t in time.h) AC_CACHE_VAL(bu_cv_decl_time_t_time_h, -[AC_TRY_COMPILE([#include ], [time_t i;], +[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include ], [time_t i;])], bu_cv_decl_time_t_time_h=yes, bu_cv_decl_time_t_time_h=no)]) AC_MSG_RESULT($bu_cv_decl_time_t_time_h) if test $bu_cv_decl_time_t_time_h = yes; then @@ -145,7 +151,7 @@ fi AC_MSG_CHECKING(for time_t in sys/types.h) AC_CACHE_VAL(bu_cv_decl_time_t_types_h, -[AC_TRY_COMPILE([#include ], [time_t i;], +[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include ], [time_t i;])], bu_cv_decl_time_t_types_h=yes, bu_cv_decl_time_t_types_h=no)]) AC_MSG_RESULT($bu_cv_decl_time_t_types_h) if test $bu_cv_decl_time_t_types_h = yes; then @@ -155,7 +161,7 @@ fi AC_MSG_CHECKING(for a known getopt prototype in unistd.h) AC_CACHE_VAL(bu_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 *);])], bu_cv_decl_getopt_unistd_h=yes, bu_cv_decl_getopt_unistd_h=no)]) AC_MSG_RESULT($bu_cv_decl_getopt_unistd_h) if test $bu_cv_decl_getopt_unistd_h = yes; then @@ -167,12 +173,12 @@ fi # by default. AC_MSG_CHECKING([for utime.h]) AC_CACHE_VAL(bu_cv_header_utime_h, -[AC_TRY_COMPILE([#include +[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include #ifdef HAVE_TIME_H #include #endif #include ], -[struct utimbuf s;], +[struct utimbuf s;])], bu_cv_header_utime_h=yes, bu_cv_header_utime_h=no)]) AC_MSG_RESULT($bu_cv_header_utime_h) if test $bu_cv_header_utime_h = yes; then @@ -182,6 +188,11 @@ fi AC_CHECK_DECLS([fprintf, stpcpy, strstr, sbrk, getenv, environ, getc_unlocked, snprintf, vsnprintf]) +# Link in zlib if we can. This allows us to read compressed debug +# sections. This is used only by readelf.c (objdump uses bfd for +# reading compressed sections). +AM_ZLIB + BFD_BINARY_FOPEN # target-specific stuff: @@ -216,6 +227,9 @@ BUILD_DLLWRAP= BUILD_MISC= BUILD_INSTALL_MISC= OBJDUMP_DEFS= +OBJDUMP_PRIVATE_VECTORS= +OBJDUMP_PRIVATE_OFILES= +od_vectors= for targ in $target $canon_targets do @@ -225,10 +239,19 @@ do BUILD_SRCONV='$(SRCONV_PROG)' NLMCONV_DEFS="-DNLMCONV_I386 -DNLMCONV_ALPHA -DNLMCONV_POWERPC -DNLMCONV_SPARC" BUILD_MISC="${BUILD_MISC} "'bin2c$(EXEEXT_FOR_BUILD)' + BUILD_WINDRES='$(WINDRES_PROG)$(EXEEXT)' + BUILD_WINDMC='$(WINDMC_PROG)$(EXEEXT)' + BUILD_DLLTOOL='$(DLLTOOL_PROG)$(EXEEXT)' + if test -z "$DLLTOOL_DEFAULT"; then + DLLTOOL_DEFAULT="-DDLLTOOL_DEFAULT_I386" + fi + DLLTOOL_DEFS="$DLLTOOL_DEFS -DDLLTOOL_I386" + BUILD_DLLWRAP='$(DLLWRAP_PROG)$(EXEEXT)' + od_vectors="$od_vectors objdump_private_desc_xcoff" else case $targ in changequote(,)dnl - i[3-7]86*-*-netware*) + i[3-7]86*-*-netware*) changequote([,])dnl BUILD_NLMCONV='$(NLMCONV_PROG)$(EXEEXT)' NLMCONV_DEFS="$NLMCONV_DEFS -DNLMCONV_I386" @@ -246,9 +269,11 @@ changequote([,])dnl NLMCONV_DEFS="$NLMCONV_DEFS -DNLMCONV_SPARC" ;; esac + case $targ in *-*-hms*) BUILD_SRCONV='$(SRCONV_PROG)' ;; esac + case $targ in arm-epoc-pe*) BUILD_DLLTOOL='$(DLLTOOL_PROG)$(EXEEXT)' @@ -259,7 +284,7 @@ changequote([,])dnl BUILD_WINDRES='$(WINDRES_PROG)$(EXEEXT)' BUILD_WINDMC='$(WINDMC_PROG)$(EXEEXT)' ;; - arm-wince-pe* | arm-*-wince) + arm-wince-pe* | arm-*-wince | arm*-*-cegcc* | arm*-*-mingw32ce*) BUILD_DLLTOOL='$(DLLTOOL_PROG)$(EXEEXT)' if test -z "$DLLTOOL_DEFAULT"; then DLLTOOL_DEFAULT="-DDLLTOOL_DEFAULT_ARM_WINCE" @@ -277,15 +302,6 @@ changequote([,])dnl BUILD_WINDRES='$(WINDRES_PROG)$(EXEEXT)' BUILD_WINDMC='$(WINDMC_PROG)$(EXEEXT)' ;; - thumb-*-pe*) - BUILD_DLLTOOL='$(DLLTOOL_PROG)$(EXEEXT)' - if test -z "$DLLTOOL_DEFAULT"; then - DLLTOOL_DEFAULT="-DDLLTOOL_DEFAULT_ARM" - fi - DLLTOOL_DEFS="$DLLTOOL_DEFS -DDLLTOOL_ARM" - BUILD_WINDRES='$(WINDRES_PROG)$(EXEEXT)' - BUILD_WINDMC='$(WINDMC_PROG)$(EXEEXT)' - ;; x86_64-*-mingw*) BUILD_DLLTOOL='$(DLLTOOL_PROG)$(EXEEXT)' if test -z "$DLLTOOL_DEFAULT"; then @@ -321,7 +337,9 @@ changequote(,)dnl powerpc*-aix5.[01]) changequote([,])dnl ;; - powerpc*-aix5.*) +changequote(,)dnl + powerpc*-aix[5-9].*) +changequote([,])dnl OBJDUMP_DEFS="-DAIX_WEAK_SUPPORT" ;; powerpc*-*-pe* | powerpc*-*-cygwin*) @@ -333,8 +351,11 @@ changequote([,])dnl BUILD_WINDRES='$(WINDRES_PROG)$(EXEEXT)' BUILD_WINDMC='$(WINDMC_PROG)$(EXEEXT)' ;; - powerpc*-*-linux* | powerpc*-*-elf*) - BUILD_INSTALL_MISC="${BUILD_INSTALL_MISC} embedspu" + powerpc*-*-linux* | powerpc*-*-elf* | powerpc*-*-eabi*) + case "$BUILD_INSTALL_MISC" in + *embedspu*) ;; + *) BUILD_INSTALL_MISC="${BUILD_INSTALL_MISC} embedspu" + esac ;; sh*-*-pe) BUILD_DLLTOOL='$(DLLTOOL_PROG)$(EXEEXT)' @@ -377,9 +398,51 @@ changequote([,])dnl OBJDUMP_DEFS="-DSKIP_ZEROES=256 -DSKIP_ZEROES_AT_END=0" ;; esac + + # Add objdump private vectors. + case $targ in + powerpc-*-aix*) + od_vectors="$od_vectors objdump_private_desc_xcoff" + ;; + *-*-darwin*) + od_vectors="$od_vectors objdump_private_desc_mach_o" + ;; + esac fi done +# Uniq objdump private vector, build objdump target ofiles. +od_files= +f="" +for i in $od_vectors ; do + case " $f " in + *" $i "*) ;; + *) + f="$f $i" + OBJDUMP_PRIVATE_VECTORS="$OBJDUMP_PRIVATE_VECTORS &$i," + case $i in + objdump_private_desc_xcoff) + od_files="$od_files od-xcoff" ;; + objdump_private_desc_mach_o) + od_files="$od_files od-macho" ;; + *) AC_MSG_ERROR(*** unknown private vector $i) ;; + esac + ;; + esac +done + +# Uniq objdump target ofiles +f="" +for i in $od_files ; do + case " $f " in + *" $i "*) ;; + *) + f="$f $i" + OBJDUMP_PRIVATE_OFILES="$OBJDUMP_PRIVATE_OFILES $i.$objext" + ;; + esac +done + DLLTOOL_DEFS="$DLLTOOL_DEFS $DLLTOOL_DEFAULT" if test "${with_windres+set}" = set; then @@ -390,6 +453,8 @@ if test "${with_windmc+set}" = set; then BUILD_WINDMC='$(WINDMC_PROG)$(EXEEXT)' fi +OBJDUMP_DEFS="${OBJDUMP_DEFS} -DOBJDUMP_PRIVATE_VECTORS=\"${OBJDUMP_PRIVATE_VECTORS}\"" + AC_SUBST(NLMCONV_DEFS) AC_SUBST(BUILD_NLMCONV) AC_SUBST(BUILD_SRCONV) @@ -401,6 +466,7 @@ AC_SUBST(BUILD_DLLWRAP) AC_SUBST(BUILD_MISC) AC_SUBST(BUILD_INSTALL_MISC) AC_SUBST(OBJDUMP_DEFS) +AC_SUBST(OBJDUMP_PRIVATE_OFILES) AC_DEFINE_UNQUOTED(TARGET, "${target}", [Configured target name.]) @@ -414,22 +480,11 @@ fi AC_DEFINE_UNQUOTED(TARGET_PREPENDS_UNDERSCORE, $UNDERSCORE, [Define to 1 if user symbol names have a leading underscore, 0 if not.]) -# Emulation -for targ_alias in `echo $target_alias $enable_targets | sed 's/,/ /g'` -do - # Canonicalize the secondary target names. - result=`$ac_config_sub $targ_alias 2>/dev/null` - if test -n "$result"; then - targ=$result - else - targ=$targ_alias - fi - - . ${srcdir}/configure.tgt - - EMULATION=$targ_emul - EMULATION_VECTOR=$targ_emul_vector -done +# Emulation +targ=$target +. ${srcdir}/configure.tgt +EMULATION=$targ_emul +EMULATION_VECTOR=$targ_emul_vector AC_SUBST(EMULATION) AC_SUBST(EMULATION_VECTOR) @@ -438,5 +493,7 @@ AC_SUBST(EMULATION_VECTOR) AC_SUBST(datarootdir) AC_SUBST(docdir) AC_SUBST(htmldir) +AC_SUBST(pdfdir) -AC_OUTPUT(Makefile doc/Makefile po/Makefile.in:po/Make-in) +AC_CONFIG_FILES(Makefile doc/Makefile po/Makefile.in:po/Make-in) +AC_OUTPUT