X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=configure.in;h=def58c466cb051a6e3a51afc725b27deae3b520b;hb=880da1859de29e57910e6f1932a3694d46643fa9;hp=ad7ec4d9a4ddc1b38ad093aa63364850ac3e47f6;hpb=c02dabc388dd02d470eb85e75c9c7398371096bb;p=deliverable%2Fbinutils-gdb.git diff --git a/configure.in b/configure.in index ad7ec4d9a4..def58c466c 100644 --- a/configure.in +++ b/configure.in @@ -1,5 +1,5 @@ -# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, -# 1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, +# 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -148,10 +148,12 @@ target_libraries="target-libiberty \ target-libstdc++-v3 \ target-libmudflap \ target-libssp \ + target-libgcc-math \ target-libgfortran \ ${libgcj} \ target-libobjc \ - target-libada" + target-libada \ + target-libgomp" # these tools are built using the target libraries, and are intended to # run only in the target environment @@ -303,7 +305,6 @@ AC_ARG_ENABLE(libada, ENABLE_LIBADA=$enableval, ENABLE_LIBADA=yes) if test "${ENABLE_LIBADA}" != "yes" ; then - noconfigdirs="$noconfigdirs target-libada" noconfigdirs="$noconfigdirs gnattools" fi @@ -311,9 +312,18 @@ AC_ARG_ENABLE(libssp, [ --enable-libssp Builds libssp directory], ENABLE_LIBSSP=$enableval, ENABLE_LIBSSP=yes) -if test "${ENABLE_LIBSSP}" != "yes" ; then - noconfigdirs="$noconfigdirs target-libssp" -fi + +# Set the default so we build libgcc-math for ix86 and x86_64 +AC_ARG_ENABLE(libgcc-math, +[ --enable-libgcc-math Builds libgcc-math directory],, +[ +case "${target}" in + i?86-* | x86_64-* ) + enable_libgcc_math=yes ;; + *) + enable_libgcc_math=no ;; +esac +]) # Save it here so that, even in case of --enable-libgcj, if the Java # front-end isn't enabled, we still get libgcj disabled. @@ -332,16 +342,10 @@ no) esac -# Allow --disable-libmudflap to exclude target-libmudflap -case $enable_libmudflap in -yes) - ;; -no) - noconfigdirs="$noconfigdirs target-libmudflap" - ;; -"") +# Disable libmudflap on some systems. +if test x$enable_libmudflap = x ; then case "${target}" in - *-*-linux*-gnu | *-*-gnu* | *-*-k*bsd*-gnu) + *-*-linux* | *-*-gnu* | *-*-k*bsd*-gnu) # Enable libmudflap by default in GNU and friends. ;; *-*-freebsd*) @@ -352,7 +356,25 @@ no) noconfigdirs="$noconfigdirs target-libmudflap" ;; esac -esac +fi + +# Disable libgomp on non POSIX hosted systems. +if test x$enable_libgomp = x ; then + # Enable libgomp by default on hosted POSIX systems. + case "${target}" in + *-*-linux* | *-*-gnu* | *-*-k*bsd*-gnu) + ;; + *-*-netbsd* | *-*-freebsd* | *-*-openbsd*) + ;; + *-*-solaris2* | *-*-sysv4* | *-*-irix* | *-*-osf* | *-*-hpux*) + ;; + *-*-darwin* | *-*-aix*) + ;; + *) + noconfigdirs="$noconfigdirs target-libgomp" + ;; + esac +fi case "${target}" in @@ -656,6 +678,9 @@ case "${target}" in i[[3456789]]86-*-beos*) noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss ${libgcj}" ;; + i[[3456789]]86-*-rdos*) + noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss" + ;; m32r-*-*) noconfigdirs="$noconfigdirs ${libgcj}" ;; @@ -1016,8 +1041,6 @@ if test "${build}" != "${host}" ; then CXX=${CXX-${host_alias}-c++} CXXFLAGS=${CXXFLAGS-"-g -O2"} CC_FOR_BUILD=${CC_FOR_BUILD-gcc} - BUILD_PREFIX=${build_alias}- - BUILD_PREFIX_1=${build_alias}- else # Set reasonable default values for some tools even if not Canadian. @@ -1029,9 +1052,6 @@ else # This is all going to change when we autoconfiscate... CC_FOR_BUILD="\$(CC)" - BUILD_PREFIX= - BUILD_PREFIX_1=loser- - AC_PROG_CC # We must set the default linker to the linker used by gcc for the correct @@ -1298,6 +1318,14 @@ Recognised languages are: ${potential_languages}]) ac_configure_args=`echo " $ac_configure_args" | sed -e 's/ --enable-languages=[[^ ]]*//' -e 's/$/ --enable-languages='"$enable_languages"/ ` fi +# Handle --disable- generically. +for dir in $configdirs $build_configdirs $target_configdirs ; do + dirname=`echo $dir | sed -e s/target-//g -e s/build-//g -e s/-/_/g` + if eval test x\${enable_${dirname}} "=" xno ; then + noconfigdirs="$noconfigdirs $dir" + fi +done + # Remove the entries in $skipdirs and $noconfigdirs from $configdirs, # $build_configdirs and $target_configdirs. # If we have the source for $noconfigdirs entries, add them to $notsupp. @@ -1471,6 +1499,39 @@ if test x"${with_libs}" != x && test x"${with_libs}" != xno ; then fi fi +# Set with_gnu_as and with_gnu_ld as appropriate. +# +# This is done by determining whether or not the appropriate directory +# is available, and by checking whether or not specific configurations +# have requested that this magic not happen. +# +# The command line options always override the explicit settings in +# configure.in, and the settings in configure.in override this magic. +# +# If the default for a toolchain is to use GNU as and ld, and you don't +# want to do that, then you should use the --without-gnu-as and +# --without-gnu-ld options for the configure script. + +if test x${use_gnu_as} = x && + echo " ${configdirs} " | grep " gas " > /dev/null 2>&1 ; then + with_gnu_as=yes + extra_host_args="$extra_host_args --with-gnu-as" +fi + +if test x${use_gnu_ld} = x && + echo " ${configdirs} " | grep " ld " > /dev/null 2>&1 ; then + with_gnu_ld=yes + extra_host_args="$extra_host_args --with-gnu-ld" +fi + +# If using newlib, add --with-newlib to the extra_host_args so that gcc/configure +# can detect this case. + +if test x${with_newlib} != xno && echo " ${target_configdirs} " | grep " target-newlib " > /dev/null 2>&1 ; then + with_newlib=yes + extra_host_args="$extra_host_args --with-newlib" +fi + # Handle ${copy_dirs} set fnord ${copy_dirs} shift @@ -1502,6 +1563,55 @@ while test $# != 0 ; do shift; shift done +# Determine a target-dependent exec_prefix that the installed +# gcc will search in. Keep this list sorted by triplet, with +# the *-*-osname triplets last. +md_exec_prefix= +case "${target}" in + alpha*-*-*vms*) + md_exec_prefix=/gnu/lib/gcc-lib + ;; + i[34567]86-pc-msdosdjgpp*) + md_exec_prefix=/dev/env/DJDIR/bin + ;; + i[34567]86-*-sco3.2v5*) + if test $with_gnu_as = yes; then + md_exec_prefix=/usr/gnu/bin + else + md_exec_prefix=/usr/ccs/bin/elf + fi + ;; + + mn10300-*-* | \ + powerpc-*-chorusos* | \ + powerpc*-*-eabi* | \ + powerpc*-*-sysv* | \ + powerpc*-*-kaos* | \ + s390x-ibm-tpf*) + md_exec_prefix=/usr/ccs/bin + ;; + sparc64-*-elf*) + ;; + v850*-*-*) + md_exec_prefix=/usr/ccs/bin + ;; + xtensa-*-elf*) + ;; + + *-*-beos* | \ + *-*-elf* | \ + *-*-hpux* | \ + *-*-netware* | \ + *-*-nto-qnx* | \ + *-*-rtems* | \ + *-*-solaris2* | \ + *-*-sysv[45]* | \ + *-*-vxworks* | \ + *-wrs-windiss) + md_exec_prefix=/usr/ccs/bin + ;; +esac + extra_arflags_for_target= extra_nmflags_for_target= extra_ranlibflags_for_target= @@ -1559,39 +1669,6 @@ case "${enable_target_optspace}:${target}" in ;; esac -# Set with_gnu_as and with_gnu_ld as appropriate. -# -# This is done by determining whether or not the appropriate directory -# is available, and by checking whether or not specific configurations -# have requested that this magic not happen. -# -# The command line options always override the explicit settings in -# configure.in, and the settings in configure.in override this magic. -# -# If the default for a toolchain is to use GNU as and ld, and you don't -# want to do that, then you should use the --without-gnu-as and -# --without-gnu-ld options for the configure script. - -if test x${use_gnu_as} = x && - echo " ${configdirs} " | grep " gas " > /dev/null 2>&1 ; then - with_gnu_as=yes - extra_host_args="$extra_host_args --with-gnu-as" -fi - -if test x${use_gnu_ld} = x && - echo " ${configdirs} " | grep " ld " > /dev/null 2>&1 ; then - with_gnu_ld=yes - extra_host_args="$extra_host_args --with-gnu-ld" -fi - -# If using newlib, add --with-newlib to the extra_host_args so that gcc/configure -# can detect this case. - -if test x${with_newlib} != xno && echo " ${target_configdirs} " | grep " target-newlib " > /dev/null 2>&1 ; then - with_newlib=yes - extra_host_args="$extra_host_args --with-newlib" -fi - # Default to using --with-stabs for certain targets. if test x${with_stabs} = x ; then case "${target}" in @@ -1736,7 +1813,7 @@ INSTALL_GDB_TK=`echo ${GDB_TK} | sed s/-all-/-install-/g` # not to nest @if/@endif pairs, because configure will not warn you at all. AC_ARG_ENABLE([bootstrap], -[ --enable-bootstrap[=lean] Enable bootstrapping [no]],, +[ --enable-bootstrap Enable bootstrapping [yes if native build]],, enable_bootstrap=default) # Issue errors and warnings for invalid/strange bootstrap combinations. @@ -1757,17 +1834,17 @@ case "$have_compiler:$host:$target:$enable_bootstrap" in enable_bootstrap=no ;; # We have a compiler and we are in a native configuration, bootstrap is ok - yes:$build:$build:yes | yes:$build:$build:lean) + yes:$build:$build:yes) ;; # Other configurations, but we have a compiler. Assume the user knows # what he's doing. - yes:*:*:yes | yes:*:*:lean) + yes:*:*:yes) AC_MSG_WARN([trying to bootstrap a cross compiler]) ;; # No compiler: if they passed --enable-bootstrap explicitly, fail - no:*:*:yes | no:*:*:lean) + no:*:*:yes) AC_MSG_ERROR([cannot bootstrap without a compiler]) ;; # Fail if wrong command line @@ -1779,15 +1856,10 @@ esac # Adjust the toplevel makefile according to whether bootstrap was selected. case "$enable_bootstrap" in yes) - bootstrap_lean='#' - bootstrap_suffix=bootstrap ;; - lean) - bootstrap_lean='' bootstrap_suffix=bootstrap ;; no) bootstrap_suffix=no-bootstrap ;; esac -AC_SUBST(bootstrap_lean) for module in ${build_configdirs} ; do if test -z "${no_recursion}" \ @@ -1802,10 +1874,13 @@ for module in ${build_configdirs} ; do /^@endif build-$module-$bootstrap_suffix\$/d" done for module in ${configdirs} ; do - if test -z "${no_recursion}" \ - && test -f ${module}/Makefile; then - echo 1>&2 "*** removing ${module}/Makefile to force reconfigure" - rm -f ${module}/Makefile + if test -z "${no_recursion}"; then + for file in stage*-${module}/Makefile ${module}/Makefile; do + if test -f ${file}; then + echo 1>&2 "*** removing ${file} to force reconfigure" + rm -f ${file} + fi + done fi extrasub="$extrasub /^@if $module\$/d @@ -2069,8 +2144,6 @@ AC_SUBST_FILE(ospace_frag) # Miscellanea: directories, flags, etc. AC_SUBST(RPATH_ENVVAR) -AC_SUBST(BUILD_PREFIX) -AC_SUBST(BUILD_PREFIX_1) AC_SUBST(tooldir) AC_SUBST(build_tooldir) AC_SUBST(CONFIGURE_GDB_TK) @@ -2087,7 +2160,7 @@ AC_SUBST(configdirs) # Target module lists & subconfigure args. AC_SUBST(target_configargs) -AC_SUBST(target_configdirs) + # Build tools. AC_SUBST(CC_FOR_BUILD) @@ -2130,10 +2203,10 @@ case " $build_configdirs " in *" texinfo "*) MAKEINFO='$$r/$(BUILD_SUBDIR)/texinfo/makeinfo/makeinfo' ;; *) changequote(,) - # For an installed makeinfo, we require it to be from texinfo 4.2 or + # For an installed makeinfo, we require it to be from texinfo 4.4 or # higher, else we use the "missing" dummy. if ${MAKEINFO} --version \ - | egrep 'texinfo[^0-9]*([1-3][0-9]|4\.[2-9]|[5-9])' >/dev/null 2>&1; then + | egrep 'texinfo[^0-9]*([1-3][0-9]|4\.[4-9]|[5-9])' >/dev/null 2>&1; then : else MAKEINFO="$MISSING makeinfo" @@ -2178,21 +2251,34 @@ AC_SUBST(CFLAGS_FOR_BUILD) AC_SUBST(CXXFLAGS) # Target tools. -NCN_STRICT_CHECK_TARGET_TOOLS(AR_FOR_TARGET, ar) -NCN_STRICT_CHECK_TARGET_TOOLS(AS_FOR_TARGET, as) +AC_ARG_WITH([build-time-tools], + [ --with-build-time-tools=path + use given path to find target tools during the build], + [case x"$withval" in + x/*) ;; + *) + with_build_time_tools= + AC_MSG_WARN([argument to --with-build-time-tools must be an absolute path]) + ;; + esac], + [with_build_time_tools=]) + NCN_STRICT_CHECK_TARGET_TOOLS(CC_FOR_TARGET, cc gcc) NCN_STRICT_CHECK_TARGET_TOOLS(CXX_FOR_TARGET, c++ g++ cxx gxx) -NCN_STRICT_CHECK_TARGET_TOOLS(DLLTOOL_FOR_TARGET, dlltool) NCN_STRICT_CHECK_TARGET_TOOLS(GCC_FOR_TARGET, gcc, ${CC_FOR_TARGET}) NCN_STRICT_CHECK_TARGET_TOOLS(GCJ_FOR_TARGET, gcj) NCN_STRICT_CHECK_TARGET_TOOLS(GFORTRAN_FOR_TARGET, gfortran) -NCN_STRICT_CHECK_TARGET_TOOLS(LD_FOR_TARGET, ld) -NCN_STRICT_CHECK_TARGET_TOOLS(LIPO_FOR_TARGET, lipo) -NCN_STRICT_CHECK_TARGET_TOOLS(NM_FOR_TARGET, nm) -NCN_STRICT_CHECK_TARGET_TOOLS(OBJDUMP_FOR_TARGET, objdump) -NCN_STRICT_CHECK_TARGET_TOOLS(RANLIB_FOR_TARGET, ranlib, :) -NCN_STRICT_CHECK_TARGET_TOOLS(STRIP_FOR_TARGET, strip) -NCN_STRICT_CHECK_TARGET_TOOLS(WINDRES_FOR_TARGET, windres) + +ACX_CHECK_INSTALLED_TARGET_TOOL(AR_FOR_TARGET, ar) +ACX_CHECK_INSTALLED_TARGET_TOOL(AS_FOR_TARGET, as) +ACX_CHECK_INSTALLED_TARGET_TOOL(DLLTOOL_FOR_TARGET, dlltool) +ACX_CHECK_INSTALLED_TARGET_TOOL(LD_FOR_TARGET, ld) +ACX_CHECK_INSTALLED_TARGET_TOOL(LIPO_FOR_TARGET, lipo) +ACX_CHECK_INSTALLED_TARGET_TOOL(NM_FOR_TARGET, nm) +ACX_CHECK_INSTALLED_TARGET_TOOL(OBJDUMP_FOR_TARGET, objdump) +ACX_CHECK_INSTALLED_TARGET_TOOL(RANLIB_FOR_TARGET, ranlib, :) +ACX_CHECK_INSTALLED_TARGET_TOOL(STRIP_FOR_TARGET, strip) +ACX_CHECK_INSTALLED_TARGET_TOOL(WINDRES_FOR_TARGET, windres) RAW_CXX_FOR_TARGET="$CXX_FOR_TARGET" @@ -2287,36 +2373,6 @@ case $build in esac AC_SUBST(stage1_cflags) -# It makes debugging easier if we create as symlinks the stage directories -# gcc for stageN-gcc and stagePREV-gcc for stage(N-1). In case this is not -# possible, however, we can resort to mv. -AC_CACHE_CHECK([if symbolic links between directories work], -[gcc_cv_prog_ln_s_dir], -[if test "${LN_S}" = "ln -s" \ - && mkdir confdir.s1 \ - && ln -s confdir.s1 confdir.s2 \ - && echo timestamp1 > confdir.s1/conftest.1 \ - && cmp confdir.s1/conftest.1 confdir.s2/conftest.1 \ - && echo timestamp2 > confdir.s2/conftest.2 \ - && cmp confdir.s1/conftest.2 confdir.s1/conftest.2 \ - && rm -f confdir.s2; then - gcc_cv_prog_ln_s_dir=yes -else - gcc_cv_prog_ln_s_dir=no -fi -rm -rf confdir.s1 confdir.s2]) - -case ${gcc_cv_prog_ln_s_dir} in - yes) - CREATE_LINK_TO_DIR='ln -s $$1 $$2' - UNDO_LINK_TO_DIR='rm -f $$1' ;; - *) - CREATE_LINK_TO_DIR='mv $$1 $$2' - UNDO_LINK_TO_DIR='mv $$1 $$2' ;; -esac -AC_SUBST(CREATE_LINK_TO_DIR) -AC_SUBST(UNDO_LINK_TO_DIR) - # Enable -Werror in bootstrap stage2 and later. # Change the default to "no" on release branches. AC_ARG_ENABLE(werror,