From d5b7129a701d9487015d6ec111aea6a3bdd90e95 Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Fri, 19 Nov 2010 22:06:27 +0000 Subject: Merge from gcc top-level. ./: * configure.ac: Add target-libgo to target_libraries. Set and substitute GOC_FOR_BUILD and GOC_FOR_TARGET. * Makefile.tpl (BUILD_EXPORTS): Add GOC and GOCFLAGS. (HOST_EXPORTS): Add GOC. (BASE_TARGET_EXPORTS): Add GOC. (GOC_FOR_BUILD, GOCFLAGS, GOC_FOR_TARGET): New variables. (GOCFLAGS_FOR_TARGET): New variable. (EXTRA_HOST_FLAGS): Add GOC. (EXTRA_TARGET_FLAGS): Add GOC and GOCFLAGS. * Makefile.def (target_modules): Add libgo. (flags_to_pass): Add GOC_FOR_TARGET and GOCFLAGS_FOR_TARGET. (dependencies): Add dependency from configure-target-libgo to configure-target-libffi and all-target-libstdc++-v3. Add dependencies from all-target-libgo to all-target-libffi. (languages): Add go. * configure: Rebuild. * Makefile.in: Rebuild. * config-ml.in: Add Go support: treat GOC and GOCFLAGS like other compiler/flag environment variables. * configure.ac: Check for lang_requires_boot_languages in config-lang.in files. * configure: Rebuild. PR fortran/32049 * Makefile.def: Add libquadmath; build it with language=fortran. * configure.ac: Add libquadmath. * Makefile.tpl: Handle multiple libs in check-[+language+]. * Makefile.in: Regenerate. * configure: Regenerate. * configure.ac: Fix spelling in option names. * configure: Regenerated. PR bootstrap/39622 * configure.ac (FLAGS_FOR_TARGET): Add include-fixed path. * configure: Regenerated. * config/cloog.m4: Add -enable-cloog-backend=(isl|ppl|ppl-legacy) to define the cloog backend to use. Furthermore, only pass the ppllibs to the configure checks, if necessary. * configure: Regenerate. * config/cloog.m4: Use CLooG predefined macro to check for CLooG PPL. * configure: regenerate * config/cloog.m4: Fix typo. verison -> version. * configure: Regenerate. * config/cloog.m4: Pass ppl libraries to the CLooG version check. * configure: Regenerate. * configure.ac: Support official CLooG.org versions. * configure: Regenerate. * config/cloog.m4: New. * configure.ac (*-*-darwin*): Use mh-darwin for all Darwin variants. * configure: Regenerate. config/: * cloog.m4 (CLOOG_INIT_FLAGS): Fix spelling in option names. * bootstrap-lto: Use -flto. * mh-darwin: Renamed from mh-ppc-darwin. --- configure.ac | 137 +++++++++++++++++++++++++++++------------------------------ 1 file changed, 67 insertions(+), 70 deletions(-) (limited to 'configure.ac') diff --git a/configure.ac b/configure.ac index c0e7384fd..eac635ae7 100644 --- a/configure.ac +++ b/configure.ac @@ -28,6 +28,7 @@ m4_include([ltoptions.m4]) m4_include([ltsugar.m4]) m4_include([ltversion.m4]) m4_include([lt~obsolete.m4]) +m4_include([config/cloog.m4]) AC_INIT(move-if-change) AC_PREREQ(2.64) @@ -194,11 +195,13 @@ target_libraries="target-libgcc \ target-libstdc++-v3 \ target-libmudflap \ target-libssp \ + target-libquadmath \ target-libgfortran \ target-boehm-gc \ ${libgcj} \ target-libobjc \ - target-libada" + target-libada \ + target-libgo" # these tools are built using the target libraries, and are intended to # run only in the target environment @@ -1157,8 +1160,8 @@ case "${host}" in tentative_cc="/usr/cygnus/progressive/bin/gcc" host_makefile_frag="config/mh-lynxrs6k" ;; - powerpc-*-darwin*) - host_makefile_frag="config/mh-ppc-darwin" + *-*-darwin*) + host_makefile_frag="config/mh-darwin" ;; powerpc-*-aix*) host_makefile_frag="config/mh-ppc-aix" @@ -1207,6 +1210,7 @@ if test "${build}" != "${host}" ; then CXX_FOR_BUILD=${CXX_FOR_BUILD-g++} GCJ_FOR_BUILD=${GCJ_FOR_BUILD-gcj} GFORTRAN_FOR_BUILD=${GFORTRAN_FOR_BUILD-gfortran} + GOC_FOR_BUILD=${GOC_FOR_BUILD-gccgo} DLLTOOL_FOR_BUILD=${DLLTOOL_FOR_BUILD-dlltool} LD_FOR_BUILD=${LD_FOR_BUILD-ld} NM_FOR_BUILD=${NM_FOR_BUILD-nm} @@ -1220,6 +1224,7 @@ else CXX_FOR_BUILD="\$(CXX)" GCJ_FOR_BUILD="\$(GCJ)" GFORTRAN_FOR_BUILD="\$(GFORTRAN)" + GOC_FOR_BUILD="\$(GOC)" DLLTOOL_FOR_BUILD="\$(DLLTOOL)" LD_FOR_BUILD="\$(LD)" NM_FOR_BUILD="\$(NM)" @@ -1272,9 +1277,9 @@ have_gmp=no AC_ARG_WITH(mpc, [ --with-mpc=PATH specify prefix directory for installed MPC package. Equivalent to --with-mpc-include=PATH/include plus --with-mpc-lib=PATH/lib]) -AC_ARG_WITH(mpc_include, [ --with-mpc-include=PATH +AC_ARG_WITH(mpc-include, [ --with-mpc-include=PATH specify directory for installed MPC include files]) -AC_ARG_WITH(mpc_lib, [ --with-mpc-lib=PATH specify directory for the installed MPC library]) +AC_ARG_WITH(mpc-lib, [ --with-mpc-lib=PATH specify directory for the installed MPC library]) if test "x$with_mpc" != x; then gmplibs="-L$with_mpc/lib $gmplibs" @@ -1305,9 +1310,9 @@ Use --with-mpfr=PATH or --with-mpfr-include=PATH plus --with-mpfr-lib=PATH])) AC_ARG_WITH(mpfr, [ --with-mpfr=PATH specify prefix directory for installed MPFR package. Equivalent to --with-mpfr-include=PATH/include plus --with-mpfr-lib=PATH/lib]) -AC_ARG_WITH(mpfr_include, [ --with-mpfr-include=PATH +AC_ARG_WITH(mpfr-include, [ --with-mpfr-include=PATH specify directory for installed MPFR include files]) -AC_ARG_WITH(mpfr_lib, [ --with-mpfr-lib=PATH specify directory for the installed MPFR library]) +AC_ARG_WITH(mpfr-lib, [ --with-mpfr-lib=PATH specify directory for the installed MPFR library]) if test "x$with_mpfr" != x; then gmplibs="-L$with_mpfr/lib $gmplibs" @@ -1338,8 +1343,8 @@ Use --with-gmp=PATH or --with-gmp-include=PATH plus --with-gmp-lib=PATH])) AC_ARG_WITH(gmp, [ --with-gmp=PATH specify prefix directory for the installed GMP package. Equivalent to --with-gmp-include=PATH/include plus --with-gmp-lib=PATH/lib]) -AC_ARG_WITH(gmp_include, [ --with-gmp-include=PATH specify directory for installed GMP include files]) -AC_ARG_WITH(gmp_lib, [ --with-gmp-lib=PATH specify directory for the installed GMP library]) +AC_ARG_WITH(gmp-include, [ --with-gmp-include=PATH specify directory for installed GMP include files]) +AC_ARG_WITH(gmp-lib, [ --with-gmp-lib=PATH specify directory for the installed GMP library]) if test "x$with_gmp" != x; then @@ -1538,8 +1543,8 @@ pplinc= AC_ARG_WITH(ppl, [ --with-ppl=PATH Specify prefix directory for the installed PPL package Equivalent to --with-ppl-include=PATH/include plus --with-ppl-lib=PATH/lib]) -AC_ARG_WITH(ppl_include, [ --with-ppl-include=PATH Specify directory for installed PPL include files]) -AC_ARG_WITH(ppl_lib, [ --with-ppl-lib=PATH Specify the directory for the installed PPL library]) +AC_ARG_WITH(ppl-include, [ --with-ppl-include=PATH Specify directory for installed PPL include files]) +AC_ARG_WITH(ppl-lib, [ --with-ppl-lib=PATH Specify the directory for the installed PPL library]) case $with_ppl in no) @@ -1587,69 +1592,39 @@ AC_SUBST(pplinc) # Check for CLOOG -clooglibs=" -lcloog " -clooginc=" -DCLOOG_PPL_BACKEND " - -AC_ARG_WITH(cloog, [ --with-cloog=PATH Specify prefix directory for the installed CLooG-PPL package - Equivalent to --with-cloog-include=PATH/include - plus --with-cloog-lib=PATH/lib]) -AC_ARG_WITH(cloog_include, [ --with-cloog-include=PATH Specify directory for installed CLooG include files]) -AC_ARG_WITH(cloog_lib, [ --with-cloog-lib=PATH Specify the directory for the installed CLooG library]) +dnl Provide configure switches and initialize clooginc & clooglibs +dnl with user input. +CLOOG_INIT_FLAGS if test "x$with_ppl" = "xno"; then with_cloog=no fi - -case $with_cloog in - no) - clooglibs= - clooginc= - ;; - "" | yes) - ;; - *) - clooglibs="-L$with_cloog/lib -lcloog" - clooginc="-I$with_cloog/include -DCLOOG_PPL_BACKEND " - ;; -esac -if test "x$with_cloog_include" != x; then - clooginc="-I$with_cloog_include -DCLOOG_PPL_BACKEND " -fi -if test "x$with_cloog_lib" != x; then - clooglibs="-L$with_cloog_lib -lcloog" -fi -if test "x$with_cloog$with_cloog_include$with_cloog_lib" = x && test -d ${srcdir}/cloog; then - clooglibs='-L$$r/$(HOST_SUBDIR)/cloog/'"$lt_cv_objdir"' -lcloog ' - clooginc='-I$$r/$(HOST_SUBDIR)/cloog/include -I$$s/cloog/include -DCLOOG_PPL_BACKEND ' - enable_cloog_version_check=no +if test "x${with_cloog}" = x && test "x${with_cloog_include}" = x \ + && test "x${with_cloog_lib}" = x && test -d ${srcdir}/cloog; then + clooglibs='-L$$r/$(HOST_SUBDIR)/cloog/'"$lt_cv_objdir"' ' + clooginc='-I$$r/$(HOST_SUBDIR)/cloog/include -I$$s/cloog/include ' fi - -AC_ARG_ENABLE(cloog-version-check, -[ --disable-cloog-version-check disable check for CLooG version], -ENABLE_CLOOG_CHECK=$enableval, -ENABLE_CLOOG_CHECK=yes) - -if test "x$with_cloog" != "xno" -a "${ENABLE_CLOOG_CHECK}" = "yes"; then - saved_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS $clooginc $gmpinc $pplinc" - AC_MSG_CHECKING([for version 0.15.5 (or later revision) of CLooG]) - AC_TRY_COMPILE([#include "cloog/cloog.h"],[ - #if CLOOG_VERSION_MAJOR != 0 || CLOOG_VERSION_MINOR != 15 || CLOOG_VERSION_REVISION < 5 - choke me - #endif - ], [AC_TRY_COMPILE([#include "cloog/cloog.h"],[ - #if CLOOG_VERSION_MAJOR != 0 || CLOOG_VERSION_MINOR != 15 || CLOOG_VERSION_REVISION < 9 - choke me - #endif - ], [AC_MSG_RESULT([yes])], [AC_MSG_RESULT([buggy but acceptable])])], - [AC_MSG_RESULT([no]); clooglibs= ; clooginc= ]) - CFLAGS="$saved_CFLAGS" +if test "x$with_cloog" != "xno"; then + dnl Version check for CLooG-Org + dnl As long as there is no new release of CLooG, + dnl we will check for 0.14.0. + dnl + dnl The first git revision that will work with + dnl GCC is: bd91b845a65805c290d43fc1bef8139864a163fb + dnl This is enforced implictly, as this is the commit that + dnl introduced the versioning information used within our + dnl checks. + dnl + dnl If we're using CLooG-Legacy, the provided version information + dnl will be ignored. + CLOOG_CHECK_VERSION(0,14,0) + + dnl Only execute fail-action, if CLooG has been + dnl requested. + CLOOG_IF_FAILED([ + AC_MSG_ERROR([Unable to find a usable CLooG. See config.log for details.])]) fi -# Flags needed for CLOOG -AC_SUBST(clooglibs) -AC_SUBST(clooginc) - # Check for LTO support. AC_ARG_ENABLE(lto, [ --enable-lto enable link time optimization support], @@ -1735,11 +1710,13 @@ if test -d ${srcdir}/gcc; then # an apparent bug in bash 1.12 on linux. ${srcdir}/gcc/[[*]]/config-lang.in) ;; *) - # From the config-lang.in, get $language, $lang_requires + # From the config-lang.in, get $language, $lang_requires, and + # $lang_requires_boot_languages. language= lang_requires= + lang_requires_boot_languages= . ${lang_frag} - for other in ${lang_requires} ; do + for other in ${lang_requires} ${lang_requires_boot_languages}; do case ,${enable_languages}, in *,$other,*) ;; *,all,*) ;; @@ -1749,6 +1726,22 @@ if test -d ${srcdir}/gcc; then ;; esac done + for other in ${lang_requires_boot_languages} ; do + if test "$other" != "c"; then + case ,${enable_stage1_languages}, in + *,$other,*) ;; + *,all,*) ;; + *) + case ,${enable_languages}, in + *,$language,*) + echo " '$other' language required by '$language' in stage 1; enabling" 1>&2 + enable_stage1_languages="$enable_stage1_languages,${other}" + ;; + esac + ;; + esac + fi + done ;; esac done @@ -2931,7 +2924,7 @@ case " $target_configdirs " in # to it. This is right: we don't want to search that directory # for binaries, but we want the header files in there, so add # them explicitly. - FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -isystem $$r/$(HOST_SUBDIR)/gcc/include' + FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -isystem $$r/$(HOST_SUBDIR)/gcc/include -isystem $$r/$(HOST_SUBDIR)/gcc/include-fixed' # Someone might think of using the pre-installed headers on # Canadian crosses, in case the installed compiler is not fully @@ -3062,6 +3055,7 @@ AC_SUBST(CXX_FOR_BUILD) AC_SUBST(DLLTOOL_FOR_BUILD) AC_SUBST(GCJ_FOR_BUILD) AC_SUBST(GFORTRAN_FOR_BUILD) +AC_SUBST(GOC_FOR_BUILD) AC_SUBST(LDFLAGS_FOR_BUILD) AC_SUBST(LD_FOR_BUILD) AC_SUBST(NM_FOR_BUILD) @@ -3172,6 +3166,7 @@ NCN_STRICT_CHECK_TARGET_TOOLS(CXX_FOR_TARGET, c++ g++ cxx gxx) 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(GOC_FOR_TARGET, gccgo) ACX_CHECK_INSTALLED_TARGET_TOOL(AR_FOR_TARGET, ar) ACX_CHECK_INSTALLED_TARGET_TOOL(AS_FOR_TARGET, as) @@ -3202,6 +3197,8 @@ GCC_TARGET_TOOL(gcj, GCJ_FOR_TARGET, GCJ, [gcc/gcj -B$$r/$(HOST_SUBDIR)/gcc/], java) GCC_TARGET_TOOL(gfortran, GFORTRAN_FOR_TARGET, GFORTRAN, [gcc/gfortran -B$$r/$(HOST_SUBDIR)/gcc/], fortran) +GCC_TARGET_TOOL(gccgo, GOC_FOR_TARGET, GOC, + [gcc/gccgo -B$$r/$(HOST_SUBDIR)/gcc/], go) GCC_TARGET_TOOL(ld, LD_FOR_TARGET, LD, [ld/ld-new]) GCC_TARGET_TOOL(lipo, LIPO_FOR_TARGET, LIPO) GCC_TARGET_TOOL(nm, NM_FOR_TARGET, NM, [binutils/nm-new]) -- cgit v1.2.3