X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=configure.ac;h=92e6db39851ba404b7e6c5b0af8fe5b91f4b19ca;hb=969120981e1ad51bc5f64462a74c3aa25a285aa3;hp=7085eeaf23583747fbdb057751c1092d21f0afc0;hpb=d7e52ac92ed645bd46f17e825fc48044e8e33cf0;p=pf3gnuchains%2Fgcc-fork.git diff --git a/configure.ac b/configure.ac index 7085eeaf235..92e6db39851 100644 --- a/configure.ac +++ b/configure.ac @@ -1,5 +1,5 @@ # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, -# 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 +# 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 # Free Software Foundation, Inc. # # This file is free software; you can redistribute it and/or modify it @@ -154,6 +154,7 @@ target_libraries="target-libgcc \ target-libgloss \ target-newlib \ target-libgomp \ + target-libitm \ target-libstdc++-v3 \ target-libmudflap \ target-libssp \ @@ -492,6 +493,22 @@ if test x$enable_libgomp = x ; then esac fi +# Disable libitm on unsupported systems. +if test -d ${srcdir}/libitm; then + if test x$enable_libitm = x; then + AC_MSG_CHECKING([for libitm support]) + if (srcdir=${srcdir}/libitm; \ + . ${srcdir}/configure.tgt; \ + test -n "$UNSUPPORTED") + then + AC_MSG_RESULT([no]) + noconfigdirs="$noconfigdirs target-libitm" + else + AC_MSG_RESULT([yes]) + fi + fi +fi + # Disable libssp for some systems. case "${target}" in avr-*-*) @@ -501,6 +518,12 @@ case "${target}" in powerpc-*-aix* | rs6000-*-aix*) noconfigdirs="$noconfigdirs target-libssp" ;; + rl78-*-*) + # libssp uses a misaligned load to trigger a fault, but the RL78 + # doesn't fault for those - instead, it gives a build-time error + # for explicit misaligned loads. + noconfigdirs="$noconfigdirs target-libssp" + ;; esac # Disable libstdc++-v3 for some systems. @@ -856,9 +879,6 @@ case "${target}" in tic54x-*-*) noconfigdirs="$noconfigdirs target-libgloss gdb" ;; - cr16-*-*) - noconfigdirs="$noconfigdirs gdb" - ;; d10v-*-*) noconfigdirs="$noconfigdirs target-libgloss" ;; @@ -1020,7 +1040,7 @@ case "${target}" in fi ;; tic6x-*-*) - noconfigdirs="$noconfigdirs gdb sim" + noconfigdirs="$noconfigdirs sim" ;; tilepro-*-* | tilegx-*-*) noconfigdirs="$noconfigdirs sim" @@ -1054,9 +1074,6 @@ case "${host}" in *-mingw*) host_makefile_frag="config/mh-mingw" ;; - *-interix*) - host_makefile_frag="config/mh-interix" - ;; hppa*-hp-hpux10*) host_makefile_frag="config/mh-pa-hpux10" ;; @@ -1133,6 +1150,49 @@ fi ACX_PROG_GNAT ACX_PROG_CMP_IGNORE_INITIAL +AC_ARG_ENABLE([bootstrap], +[AS_HELP_STRING([--enable-bootstrap], + [enable bootstrapping @<:@yes if native build@:>@])],, +enable_bootstrap=default) + +# Issue errors and warnings for invalid/strange bootstrap combinations. +if test -r $srcdir/gcc/configure; then + have_compiler=yes +else + have_compiler=no +fi + +case "$have_compiler:$host:$target:$enable_bootstrap" in + *:*:*:no) ;; + + # Default behavior. Enable bootstrap if we have a compiler + # and we are in a native configuration. + yes:$build:$build:default) + enable_bootstrap=yes ;; + + *:*:*:default) + enable_bootstrap=no ;; + + # We have a compiler and we are in a native configuration, bootstrap is ok + yes:$build:$build:yes) + ;; + + # Other configurations, but we have a compiler. Assume the user knows + # what he's doing. + yes:*:*:yes) + AC_MSG_WARN([trying to bootstrap a cross compiler]) + ;; + + # No compiler: if they passed --enable-bootstrap explicitly, fail + no:*:*:yes) + AC_MSG_ERROR([cannot bootstrap without a compiler]) ;; + + # Fail if wrong command line + *) + AC_MSG_ERROR([invalid option for --enable-bootstrap]) + ;; +esac + # See if we are building gcc with C++. AC_ARG_ENABLE(build-with-cxx, [AS_HELP_STRING([--enable-build-with-cxx], @@ -1140,6 +1200,13 @@ AC_ARG_ENABLE(build-with-cxx, ENABLE_BUILD_WITH_CXX=$enableval, ENABLE_BUILD_WITH_CXX=no) +# Build stage1 with C and build stages 2 and 3 with C++. +AC_ARG_ENABLE(build-poststage1-with-cxx, +[AS_HELP_STRING([--enable-build-poststage1-with-cxx], + [build stages 2 and 3 with C++, not C])], +ENABLE_BUILD_POSTSTAGE1_WITH_CXX=$enableval, +ENABLE_BUILD_POSTSTAGE1_WITH_CXX=yes) + # Used for setting $lt_cv_objdir _LT_CHECK_OBJDIR @@ -1621,6 +1688,19 @@ if test -d ${srcdir}/gcc; then ;; esac + # If bootstrapping, then using --enable-build-with-cxx or + # --enable-build-poststage1-with-cxx requires enabling C++. + case ",$enable_languages,:,$ENABLE_BUILD_WITH_CXX,$ENABLE_BUILD_POSTSTAGE1_WITH_CXX,:$enable_bootstrap" in + *,c++,*:*:*) ;; + *:*,yes,*:yes) + if test -f ${srcdir}/gcc/cp/config-lang.in; then + enable_languages="${enable_languages},c++" + else + AC_MSG_ERROR([bootstrapping with --enable-build-with-cxx or --enable-build-poststage1-with-cxx requires c++ sources]) + fi + ;; + esac + # First scan to see if an enabled language requires some other language. # We assume that a given config-lang.in will list all the language # front ends it requires, even if some are required indirectly. @@ -1710,9 +1790,11 @@ if test -d ${srcdir}/gcc; then exit 1 fi - if test "$language" = "c++" \ - && test "$ENABLE_BUILD_WITH_CXX" = "yes"; then - boot_language=yes + if test "$language" = "c++"; then + if test "$ENABLE_BUILD_WITH_CXX" = "yes" \ + || test "$ENABLE_BUILD_POSTSTAGE1_WITH_CXX" = "yes"; then + boot_language=yes + fi fi case ,${enable_languages}, in @@ -1894,6 +1976,14 @@ case ,${enable_languages},:${enable_objc_gc} in ;; esac +# Disable libitm if we're not building C++ +case ,${enable_languages}, in + *,c++,*) ;; + *) + noconfigdirs="$noconfigdirs target-libitm" + ;; +esac + # 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. @@ -2209,10 +2299,6 @@ case "${target}" in extra_arflags_for_target=" -X32_64" extra_nmflags_for_target=" -B -X32_64" ;; - *-*-darwin[[3-9]]*) - # ranlib before Darwin10 requires the -c flag to look at common symbols. - extra_ranlibflags_for_target=" -c" - ;; esac alphaieee_frag=/dev/null @@ -2369,55 +2455,6 @@ INSTALL_GDB_TK=`echo ${GDB_TK} | sed s/-all-/-install-/g` # 99 commands in a script, for HP-UX sed. # Do not nest @if/@endif pairs, because configure will not warn you at all. -AC_ARG_ENABLE([bootstrap], -[AS_HELP_STRING([--enable-bootstrap], - [enable bootstrapping @<:@yes if native build@:>@])],, -enable_bootstrap=default) - -# Issue errors and warnings for invalid/strange bootstrap combinations. -case "$configdirs" in - *gcc*) have_compiler=yes ;; - *) have_compiler=no ;; -esac - -case "$have_compiler:$host:$target:$enable_bootstrap" in - *:*:*:no) ;; - - # Default behavior. Enable bootstrap if we have a compiler - # and we are in a native configuration. - yes:$build:$build:default) - enable_bootstrap=yes ;; - - *:*:*:default) - enable_bootstrap=no ;; - - # We have a compiler and we are in a native configuration, bootstrap is ok - yes:$build:$build:yes) - ;; - - # Other configurations, but we have a compiler. Assume the user knows - # what he's doing. - yes:*:*:yes) - AC_MSG_WARN([trying to bootstrap a cross compiler]) - ;; - - # No compiler: if they passed --enable-bootstrap explicitly, fail - no:*:*:yes) - AC_MSG_ERROR([cannot bootstrap without a compiler]) ;; - - # Fail if wrong command line - *) - AC_MSG_ERROR([invalid option for --enable-bootstrap]) - ;; -esac - -case ",$enable_languages,:$ENABLE_BUILD_WITH_CXX:$enable_bootstrap" in - *,c++,*:yes:yes) ;; - *:yes:yes) - AC_MSG_ERROR([bootstrapping with --enable-build-with-cxx requires c++ in --enable-languages]) - ;; -esac - case "$enable_bootstrap:$ENABLE_GOLD: $configdirs :,$stage1_languages," in yes:yes:*\ gold\ *:*,c++,*) ;; yes:yes:*\ gold\ *:*) @@ -3026,6 +3063,7 @@ NCN_STRICT_CHECK_TOOLS(WINDRES, windres) NCN_STRICT_CHECK_TOOLS(WINDMC, windmc) NCN_STRICT_CHECK_TOOLS(OBJCOPY, objcopy) NCN_STRICT_CHECK_TOOLS(OBJDUMP, objdump) +NCN_STRICT_CHECK_TOOLS(READELF, readelf) AC_SUBST(CC) AC_SUBST(CXX) AC_SUBST(CFLAGS) @@ -3059,6 +3097,7 @@ 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(READELF_FOR_TARGET, readelf) ACX_CHECK_INSTALLED_TARGET_TOOL(STRIP_FOR_TARGET, strip) ACX_CHECK_INSTALLED_TARGET_TOOL(WINDRES_FOR_TARGET, windres) ACX_CHECK_INSTALLED_TARGET_TOOL(WINDMC_FOR_TARGET, windmc) @@ -3088,6 +3127,7 @@ GCC_TARGET_TOOL(lipo, LIPO_FOR_TARGET, LIPO) GCC_TARGET_TOOL(nm, NM_FOR_TARGET, NM, [binutils/nm-new]) GCC_TARGET_TOOL(objdump, OBJDUMP_FOR_TARGET, OBJDUMP, [binutils/objdump]) GCC_TARGET_TOOL(ranlib, RANLIB_FOR_TARGET, RANLIB, [binutils/ranlib]) +GCC_TARGET_TOOL(readelf, READELF_FOR_TARGET, READELF, [binutils/readelf]) GCC_TARGET_TOOL(strip, STRIP_FOR_TARGET, STRIP, [binutils/strip-new]) GCC_TARGET_TOOL(windres, WINDRES_FOR_TARGET, WINDRES, [binutils/windres]) GCC_TARGET_TOOL(windmc, WINDMC_FOR_TARGET, WINDMC, [binutils/windmc]) @@ -3202,6 +3242,15 @@ case ${enable_werror} in esac AC_SUBST(stage2_werror_flag) +# If using ENABLE_BUILD_POSTSTAGE1_WITH_CXX, pass +# --enable-build-with-cxx after stage1. +if test "$ENABLE_BUILD_POSTSTAGE1_WITH_CXX" = "yes"; then + POSTSTAGE1_CONFIGURE_FLAGS=--enable-build-with-cxx +else + POSTSTAGE1_CONFIGURE_FLAGS= +fi +AC_SUBST(POSTSTAGE1_CONFIGURE_FLAGS) + # Specify what files to not compare during bootstrap. compare_exclusions="gcc/cc*-checksum\$(objext) | gcc/ada/*tools/*"