X-Git-Url: http://git.sourceforge.jp/view?p=pf3gnuchains%2Fgcc-fork.git;a=blobdiff_plain;f=configure.ac;h=e6e91254c41e216b7138cc62d35bd43880e17e99;hp=920457464e57319e637debde345bfb333b989f14;hb=6e193e6f7bd5b09660292d638a8a379dc147ea7d;hpb=23433d7293fea64ed743db3193d07473f2ac789f diff --git a/configure.ac b/configure.ac index 920457464e5..e6e91254c41 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 +# 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 # Free Software Foundation, Inc. # # This file is free software; you can redistribute it and/or modify it @@ -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) @@ -88,42 +89,6 @@ AC_PROG_LN_S AC_PROG_SED AC_PROG_AWK -### we might need to use some other shell than /bin/sh for running subshells -### If we are on Windows, search for the shell. This will permit people -### to not have /bin/sh, but to be able to see /SOME/PATH/sh configure -### without also having to set CONFIG_SHELL. This code will work when -### using bash, which sets OSTYPE. -case "${OSTYPE}" in -*win32*) - if test x${CONFIG_SHELL} = x ; then - if test ! -f /bin/sh ; then - if test x${SHELL} != x && test -f ${SHELL} ; then - CONFIG_SHELL=${SHELL} - export CONFIG_SHELL - else - for prog in sh sh.exe bash bash.exe; do - IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}:" - for dir in $PATH; do - test -z "$dir" && dir=. - if test -f $dir/$prog; then - CONFIG_SHELL=$dir/$prog - export CONFIG_SHELL - break - fi - done - IFS="$save_ifs" - test -n "${CONFIG_SHELL}" && break - done - fi - fi - fi - ;; -esac - -config_shell=${CONFIG_SHELL-/bin/sh} - -moveifchange=${srcdir}/move-if-change - srcpwd=`cd ${srcdir} ; ${PWDCMD-pwd}` # We pass INSTALL explicitly to sub-makes. Make sure that it is not @@ -194,20 +159,21 @@ 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 # # note: any program that *uses* libraries that are in the "target_libraries" -# list belongs in this list. those programs are also very likely -# candidates for the "native_only" list which follows +# list belongs in this list. # -target_tools="target-examples target-groff target-gperf target-rda" +target_tools="target-examples target-gperf target-rda" ################################################################################ @@ -221,7 +187,14 @@ target_configdirs=`echo ${target_libraries} ${target_tools}` build_configdirs=`echo ${build_libs} ${build_tools}` m4_divert_text([PARSE_ARGS], -[ac_subdirs_all=`cd $srcdir && echo */configure | sed 's,/configure,,g'` +[case $srcdir in + *" "*) +m4_pushdef([AS_MESSAGE_LOG_FD], [])dnl + AC_MSG_ERROR([path to source, $srcdir, contains spaces]) +m4_popdef([AS_MESSAGE_LOG_FD])dnl + ;; +esac +ac_subdirs_all=`cd $srcdir && echo */configure | sed 's,/configure,,g'` ]) ################################################################################ @@ -286,17 +259,12 @@ case ${with_x} in *) echo "*** bad value \"${with_x}\" for -with-x flag; ignored" 1>&2 ;; esac -# Some tools are only suitable for building in a "native" situation. -# Remove these if host!=target. -native_only="autoconf automake libtool fileutils find gawk gettext gzip hello indent m4 rcs recode sed shellutils tar textutils uudecode wdiff target-groff guile perl time ash bash bzip2 prms gnuserv target-gperf" - -# Similarly, some are only suitable for cross toolchains. +# Some are only suitable for cross toolchains. # Remove these if host=target. cross_only="target-libgloss target-newlib target-opcodes" case $is_cross_compiler in no) skipdirs="${skipdirs} ${cross_only}" ;; - yes) skipdirs="${skipdirs} ${native_only}" ;; esac # If both --with-headers and --with-libs are specified, default to @@ -314,25 +282,39 @@ case ${with_newlib} in yes) skipdirs=`echo " ${skipdirs} " | sed -e 's/ target-newlib / /'` ;; esac -# Handle --enable-gold. -# --enable-gold Build only gold -# --disable-gold [default] Build only ld -# --enable-gold=both Build both gold and ld, ld is default -# --enable-gold=both/ld Same -# --enable-gold=both/gold Build both gold and ld, gold is default, ld is renamed ld.bfd - +# Handle --enable-gold, --enable-ld. +# --disable-gold [--enable-ld] +# Build only ld. Default option. +# --enable-gold [--enable-ld] +# Build both gold and ld. Install gold as "ld.gold", install ld +# as "ld.bfd" and "ld". +# --enable-gold=default [--enable-ld] +# Build both gold and ld. Install gold as "ld.gold" and "ld", +# install ld as "ld.bfd". +# --enable-gold[=default] --disable-ld +# Build only gold, which is then installed as both "ld.gold" and "ld". +# --enable-gold --enable-ld=default +# Build both gold (installed as "ld.gold") and ld (installed as "ld" +# and ld.bfd). +# In other words, ld is default +# --enable-gold=default --enable-ld=default +# Error. + +default_ld= AC_ARG_ENABLE(gold, -[[ --enable-gold[=ARG] build gold [ARG={both}[/{gold,ld}]]]], +[AS_HELP_STRING([[--enable-gold[=ARG]]], + [build gold @<:@ARG={default,yes,no}@:>@])], ENABLE_GOLD=$enableval, ENABLE_GOLD=no) - case "${ENABLE_GOLD}" in - yes|both|both/gold|both/ld) +case "${ENABLE_GOLD}" in + yes|default) # Check for ELF target. is_elf=no case "${target}" in *-*-elf* | *-*-sysv4* | *-*-unixware* | *-*-eabi* | hppa*64*-*-hpux* \ | *-*-linux* | frv-*-uclinux* | *-*-irix5* | *-*-irix6* \ - | *-*-netbsd* | *-*-openbsd* | *-*-freebsd* | *-*-solaris2* | *-*-nto*) + | *-*-netbsd* | *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* \ + | *-*-solaris2* | *-*-nto*) case "${target}" in *-*-linux*aout* | *-*-linux*oldld*) ;; @@ -346,14 +328,10 @@ ENABLE_GOLD=no) # Check for target supported by gold. case "${target}" in i?86-*-* | x86_64-*-* | sparc*-*-* | powerpc*-*-* | arm*-*-*) - case "${ENABLE_GOLD}" in - both*) - configdirs="$configdirs gold" - ;; - *) - configdirs="`echo " ${configdirs} " | sed -e 's/ ld / gold /'`" - ;; - esac + configdirs="$configdirs gold" + if test x${ENABLE_GOLD} = xdefault; then + default_ld=gold + fi ENABLE_GOLD=yes ;; esac @@ -364,7 +342,32 @@ ENABLE_GOLD=no) *) AC_MSG_ERROR([invalid --enable-gold argument]) ;; - esac +esac + +AC_ARG_ENABLE(ld, +[AS_HELP_STRING([[--enable-ld[=ARG]]], + [build ld @<:@ARG={default,yes,no}@:>@])], +ENABLE_LD=$enableval, +ENABLE_LD=yes) + +case "${ENABLE_LD}" in + default) + if test x${default_ld} != x; then + AC_MSG_ERROR([either gold or ld can be the default ld]) + fi + ;; + yes) + ;; + no) + if test x${ENABLE_GOLD} != xyes; then + AC_MSG_WARN([neither ld nor gold are enabled]) + fi + configdirs=`echo " ${configdirs} " | sed -e 's/ ld / /'` + ;; + *) + AC_MSG_ERROR([invalid --enable-ld argument]) + ;; +esac # Configure extra directories which are host specific @@ -382,42 +385,35 @@ unsupported_languages= # exist yet. case "${host}" in - hppa*64*-*-*) - noconfigdirs="$noconfigdirs byacc" - ;; - i[[3456789]]86-*-vsta) - noconfigdirs="$noconfigdirs tcl expect dejagnu make texinfo bison patch flex byacc send-pr gprof uudecode dejagnu diff guile perl itcl gnuserv gettext" - ;; - i[[3456789]]86-*-go32* | i[[3456789]]86-*-msdosdjgpp*) - noconfigdirs="$noconfigdirs tcl tk expect dejagnu send-pr uudecode guile itcl gnuserv libffi" - ;; - x86_64-*-mingw*) - noconfigdirs="$noconfigdirs expect dejagnu autoconf automake send-pr rcs guile perl texinfo libtool newlib" - ;; - i[[3456789]]86-*-mingw32*) - # noconfigdirs="tcl tk expect dejagnu make texinfo bison patch flex byacc send-pr uudecode dejagnu diff guile perl itcl gnuserv" - noconfigdirs="$noconfigdirs expect dejagnu autoconf automake send-pr rcs guile perl texinfo libtool newlib" - ;; - i[[3456789]]86-*-beos*) - noconfigdirs="$noconfigdirs tk itcl libgui gdb" - ;; - *-*-cygwin*) - noconfigdirs="$noconfigdirs autoconf automake send-pr rcs guile perl" - ;; - *-*-netbsd*) - noconfigdirs="$noconfigdirs rcs" - ;; - ppc*-*-pe) - noconfigdirs="$noconfigdirs patch diff make tk tcl expect dejagnu autoconf automake texinfo bison send-pr gprof rcs guile perl itcl gnuserv" - ;; - powerpc-*-beos*) - noconfigdirs="$noconfigdirs tk itcl libgui gdb dejagnu readline" + i[[3456789]]86-*-msdosdjgpp*) + noconfigdirs="$noconfigdirs tcl tk itcl" ;; esac +AC_ARG_ENABLE(libquadmath, +AS_HELP_STRING([--disable-libquadmath], + [do not build libquadmath directory]), +ENABLE_LIBQUADMATH=$enableval, +ENABLE_LIBQUADMATH=yes) +if test "${ENABLE_LIBQUADMATH}" = "no" ; then + noconfigdirs="$noconfigdirs target-libquadmath" +fi + + +AC_ARG_ENABLE(libquadmath-support, +AS_HELP_STRING([--disable-libquadmath-support], + [disable libquadmath support for Fortran]), +ENABLE_LIBQUADMATH_SUPPORT=$enableval, +ENABLE_LIBQUADMATH_SUPPORT=yes) +enable_libquadmath_support= +if test "${ENABLE_LIBQUADMATH_SUPPORT}" = "no" ; then + enable_libquadmath_support=no +fi + + AC_ARG_ENABLE(libada, -[ --enable-libada build libada directory], +[AS_HELP_STRING([--enable-libada], [build libada directory])], ENABLE_LIBADA=$enableval, ENABLE_LIBADA=yes) if test "${ENABLE_LIBADA}" != "yes" ; then @@ -425,7 +421,7 @@ if test "${ENABLE_LIBADA}" != "yes" ; then fi AC_ARG_ENABLE(libssp, -[ --enable-libssp build libssp directory], +[AS_HELP_STRING([--enable-libssp], [build libssp directory])], ENABLE_LIBSSP=$enableval, ENABLE_LIBSSP=yes) @@ -441,7 +437,11 @@ yes) ;; no) # Make sure we get it printed in the list of not supported target libs. - noconfigdirs="$noconfigdirs ${libgcj}" + # Don't disable libffi, though, other languages use it. + noconfigdirs="$noconfigdirs `echo ${libgcj} | sed -e 's/target-libffi//'`" + # Clear libgcj_saved so that even if java is enabled libffi won't be + # built. + libgcj_saved= ;; esac @@ -468,9 +468,9 @@ if test x$enable_libgomp = x ; then case "${target}" in *-*-linux* | *-*-gnu* | *-*-k*bsd*-gnu | *-*-kopensolaris*-gnu) ;; - *-*-netbsd* | *-*-freebsd* | *-*-openbsd*) + *-*-netbsd* | *-*-freebsd* | *-*-openbsd* | *-*-dragonfly*) ;; - *-*-solaris2* | *-*-sysv4* | *-*-irix6* | *-*-osf* | *-*-hpux11*) + *-*-solaris2* | *-*-irix6* | *-*-osf* | *-*-hpux11*) ;; *-*-darwin* | *-*-aix*) ;; @@ -480,12 +480,91 @@ if test x$enable_libgomp = x ; then esac fi +# Disable libssp for some systems. +case "${target}" in + avr-*-*) + # No hosted I/O support. + noconfigdirs="$noconfigdirs target-libssp" + ;; + powerpc-*-aix* | rs6000-*-aix*) + noconfigdirs="$noconfigdirs target-libssp" + ;; +esac + +# Disable target libiberty for some systems. +case "${target}" in + *-*-kaos*) + # Remove unsupported stuff on all kaOS configurations. + skipdirs="target-libiberty" + ;; + *-*-netbsd*) + # Skip some stuff on all NetBSD configurations. + noconfigdirs="$noconfigdirs target-libiberty" + ;; + *-*-netware*) + noconfigdirs="$noconfigdirs target-libiberty" + ;; + *-*-rtems*) + skipdirs="${skipdirs} target-libiberty" + ;; + *-*-tpf*) + noconfigdirs="$noconfigdirs target-libiberty" + ;; + *-*-vxworks*) + noconfigdirs="$noconfigdirs target-libiberty" + ;; + sh*-*-pe|mips*-*-pe|*arm-wince-pe) + noconfigdirs="$noconfigdirs target-libiberty" + ;; + arm*-*-symbianelf*) + noconfigdirs="$noconfigdirs target-libiberty" + ;; + avr-*-*) + noconfigdirs="$noconfigdirs target-libiberty" + ;; + m68hc11-*-*|m6811-*-*|m68hc12-*-*|m6812-*-*) + noconfigdirs="$noconfigdirs target-libiberty" + ;; + picochip-*-*) + noconfigdirs="$noconfigdirs target-libiberty" + ;; + mips*-sde-elf*) + skipdirs="$skipdirs target-libiberty" + ;; + ip2k-*-*) + noconfigdirs="$noconfigdirs target-libiberty" + ;; +esac + +# Disable libstdc++-v3 for some systems. +case "${target}" in + *-*-vxworks*) + # VxWorks uses the Dinkumware C++ library. + noconfigdirs="$noconfigdirs target-libstdc++-v3" + ;; + arm*-wince-pe*) + # the C++ libraries don't build on top of CE's C libraries + noconfigdirs="$noconfigdirs target-libstdc++-v3" + ;; + avr-*-*) + noconfigdirs="$noconfigdirs target-libstdc++-v3" + ;; +esac + +# Disable Fortran for some systems. +case "${target}" in + mmix-*-*) + # See . + unsupported_languages="$unsupported_languages fortran" + ;; +esac + # Default libgloss CPU subdirectory. libgloss_dir="$target_cpu" case "${target}" in *-*-chorusos) - noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}" + noconfigdirs="$noconfigdirs target-newlib target-libgloss" ;; powerpc-*-darwin*) noconfigdirs="$noconfigdirs ld gas gdb gprof" @@ -504,8 +583,8 @@ case "${target}" in noconfigdirs="$noconfigdirs sim target-rda" noconfigdirs="$noconfigdirs ${libgcj}" ;; - *-*-freebsd[[12]] | *-*-freebsd[[12]].* | *-*-freebsd*aout*) - noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}" + *-*-dragonfly*) + noconfigdirs="$noconfigdirs target-newlib target-libgloss" ;; *-*-freebsd*) noconfigdirs="$noconfigdirs target-newlib target-libgloss" @@ -526,14 +605,11 @@ case "${target}" in ;; *-*-kaos*) # Remove unsupported stuff on all kaOS configurations. - skipdirs="target-libiberty ${libgcj} target-libstdc++-v3 target-librx" - skipdirs="$skipdirs target-libobjc target-examples target-groff target-gperf" - skipdirs="$skipdirs zlib fastjar target-libjava target-boehm-gc target-zlib" noconfigdirs="$noconfigdirs target-libgloss" ;; *-*-netbsd*) # Skip some stuff on all NetBSD configurations. - noconfigdirs="$noconfigdirs target-newlib target-libiberty target-libgloss" + noconfigdirs="$noconfigdirs target-newlib target-libgloss" # Skip some stuff that's unsupported on some NetBSD configurations. case "${target}" in @@ -545,27 +621,26 @@ case "${target}" in esac ;; *-*-netware*) - noconfigdirs="$noconfigdirs target-newlib target-libiberty target-libgloss ${libgcj} target-libmudflap" + noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}" ;; *-*-rtems*) - skipdirs="${skipdirs} target-libiberty" noconfigdirs="$noconfigdirs target-libgloss ${libgcj}" ;; # The tpf target doesn't support gdb yet. *-*-tpf*) - noconfigdirs="$noconfigdirs target-newlib target-libgloss target-libiberty ${libgcj} target-libmudflap gdb tcl tk libgui itcl" + noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj} gdb tcl tk libgui itcl" ;; *-*-uclinux*) noconfigdirs="$noconfigdirs target-newlib target-libgloss target-rda ${libgcj}" ;; *-*-vxworks*) - noconfigdirs="$noconfigdirs target-newlib target-libgloss target-libiberty target-libstdc++-v3 ${libgcj}" + noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}" ;; alpha*-dec-osf*) # ld works, but does not support shared libraries. - # newlib is not 64 bit ready. I'm not sure about fileutils. + # newlib is not 64 bit ready. # gas doesn't generate exception information. - noconfigdirs="$noconfigdirs gas ld fileutils target-newlib target-libgloss" + noconfigdirs="$noconfigdirs gas ld target-newlib target-libgloss" ;; alpha*-*-*vms*) noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss ${libgcj}" @@ -586,74 +661,48 @@ case "${target}" in ;; sh*-*-pe|mips*-*-pe|*arm-wince-pe) noconfigdirs="$noconfigdirs ${libgcj}" - noconfigdirs="$noconfigdirs target-examples" - noconfigdirs="$noconfigdirs target-libiberty texinfo send-pr" noconfigdirs="$noconfigdirs tcl tk itcl libgui sim" - noconfigdirs="$noconfigdirs expect dejagnu" - # the C++ libraries don't build on top of CE's C libraries - noconfigdirs="$noconfigdirs target-libstdc++-v3" noconfigdirs="$noconfigdirs target-newlib" - case "${host}" in - *-*-cygwin*) ;; # keep gdb and readline - *) noconfigdirs="$noconfigdirs gdb readline" - ;; - esac libgloss_dir=wince ;; arc-*-*) - noconfigdirs="$noconfigdirs target-libgloss ${libgcj}" - ;; - arm-semi-aof ) + noconfigdirs="$noconfigdirs target-libgloss" ;; - arm-*-coff | strongarm-*-coff | xscale-*-coff) - noconfigdirs="$noconfigdirs ${libgcj}" + arm-*-coff) libgloss_dir=arm ;; - arm-*-elf* | strongarm-*-elf* | xscale-*-elf* | arm*-*-eabi* ) - noconfigdirs="$noconfigdirs target-libffi target-qthreads" + arm-*-elf* | arm*-*-eabi* ) + noconfigdirs="$noconfigdirs target-libffi" libgloss_dir=arm ;; arm*-*-linux-gnueabi) - noconfigdirs="$noconfigdirs target-qthreads" case ${with_newlib} in no) noconfigdirs="$noconfigdirs target-newlib target-libgloss" esac libgloss_dir=arm ;; arm*-*-symbianelf*) - noconfigdirs="$noconfigdirs ${libgcj} target-libiberty" + noconfigdirs="$noconfigdirs ${libgcj}" libgloss_dir=arm ;; arm-*-pe*) noconfigdirs="$noconfigdirs target-libgloss ${libgcj}" ;; - thumb-*-coff) - noconfigdirs="$noconfigdirs target-libgloss ${libgcj}" - ;; - thumb-*-elf) - noconfigdirs="$noconfigdirs target-libgloss ${libgcj}" - ;; - thumb-*-pe) - noconfigdirs="$noconfigdirs target-libgloss ${libgcj}" - ;; arm-*-riscix*) - noconfigdirs="$noconfigdirs ld target-libgloss ${libgcj}" + noconfigdirs="$noconfigdirs ld target-libgloss" ;; avr-*-*) - noconfigdirs="$noconfigdirs target-libiberty target-libstdc++-v3 ${libgcj} target-libssp" + noconfigdirs="$noconfigdirs ${libgcj}" ;; bfin-*-*) unsupported_languages="$unsupported_languages java" - noconfigdirs="$noconfigdirs target-boehm-gc gdb" - if test x${is_cross_compiler} != xno ; then - target_configdirs="${target_configdirs} target-bsp target-cygmon" - fi + noconfigdirs="$noconfigdirs target-boehm-gc" ;; c4x-*-* | tic4x-*-*) - noconfigdirs="$noconfigdirs target-libstdc++-v3 target-libgloss ${libgcj}" + noconfigdirs="$noconfigdirs target-libgloss" ;; - c54x*-*-* | tic54x-*-*) - noconfigdirs="$noconfigdirs target-libstdc++-v3 target-libgloss ${libgcj} gcc gdb newlib" + tic54x-*-*) + noconfigdirs="$noconfigdirs target-libgloss gdb" ;; cr16-*-*) noconfigdirs="$noconfigdirs ${libgcj} gdb" @@ -661,30 +710,18 @@ case "${target}" in cris-*-* | crisv32-*-*) unsupported_languages="$unsupported_languages java" case "${target}" in - *-*-aout) - unsupported_languages="$unsupported_languages fortran" - noconfigdirs="$noconfigdirs target-libffi target-boehm-gc";; - *-*-elf) - noconfigdirs="$noconfigdirs target-boehm-gc";; *-*-linux*) noconfigdirs="$noconfigdirs target-newlib target-libgloss";; - *) - unsupported_languages="$unsupported_languages fortran" - noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss";; + *) # See PR46792 regarding target-libffi. + noconfigdirs="$noconfigdirs target-libffi target-boehm-gc";; esac libgloss_dir=cris ;; - crx-*-*) - noconfigdirs="$noconfigdirs target-libstdc++-v3 target-mudflap ${libgcj}" - ;; d10v-*-*) - noconfigdirs="$noconfigdirs target-libstdc++-v3 target-libgloss ${libgcj}" + noconfigdirs="$noconfigdirs target-libgloss" ;; d30v-*-*) - noconfigdirs="$noconfigdirs ${libgcj} gdb" - ;; - ep9312-*-elf | ep9312-*-coff) - libgloss_dir=arm + noconfigdirs="$noconfigdirs gdb" ;; fr30-*-elf*) noconfigdirs="$noconfigdirs ${libgcj} gdb" @@ -700,17 +737,17 @@ case "${target}" in noconfigdirs="$noconfigdirs target-libgloss ${libgcj}" ;; h8500-*-*) - noconfigdirs="$noconfigdirs target-libstdc++-v3 target-libgloss ${libgcj}" + noconfigdirs="$noconfigdirs target-libgloss" ;; hppa1.1-*-osf* | hppa1.1-*-bsd* ) ;; - hppa*64*-*-linux* | parisc*64*-*-linux*) + hppa*64*-*-linux*) # In this case, it's because the hppa64-linux target is for # the kernel only at this point and has no libc, and thus no # headers, crt*.o, etc., all of which are needed by these. noconfigdirs="$noconfigdirs target-zlib" ;; - parisc*-*-linux* | hppa*-*-linux*) + hppa*-*-linux*) ;; hppa*-*-*elf* | \ hppa*-*-lites* | \ @@ -719,7 +756,7 @@ case "${target}" in noconfigdirs="$noconfigdirs ${libgcj}" ;; hppa*-hp-hpux11*) - noconfigdirs="$noconfigdirs ld shellutils" + noconfigdirs="$noconfigdirs ld" ;; hppa*-*-pro*) libgloss_dir=pa @@ -727,37 +764,28 @@ case "${target}" in hppa*-*-*) # According to Alexandre Oliva , libjava won't # build on HP-UX 10.20. - noconfigdirs="$noconfigdirs ld shellutils ${libgcj}" + noconfigdirs="$noconfigdirs ld ${libgcj}" ;; i960-*-*) - noconfigdirs="$noconfigdirs ${libgcj} gdb" + noconfigdirs="$noconfigdirs gdb" ;; ia64*-*-elf*) # No gdb support yet. - noconfigdirs="$noconfigdirs readline mmalloc libgui itcl gdb" + noconfigdirs="$noconfigdirs readline libgui itcl gdb" ;; ia64*-**-hpux*) - # No gdb or ld support yet. - noconfigdirs="$noconfigdirs ${libgcj} readline mmalloc libgui itcl gdb ld" + # No ld support yet. + noconfigdirs="$noconfigdirs ${libgcj} libgui itcl ld" ;; ia64*-*-*vms*) # No gdb or ld support yet. - noconfigdirs="$noconfigdirs ${libgcj} tix readline mmalloc libgui itcl gdb ld" - ;; - i370-*-opened*) + noconfigdirs="$noconfigdirs ${libgcj} readline libgui itcl gdb ld" ;; i[[3456789]]86-*-coff | i[[3456789]]86-*-elf) noconfigdirs="$noconfigdirs ${libgcj}" libgloss_dir=i386 ;; i[[3456789]]86-*-linux*) - # The GCC port for glibc1 has no MD_FALLBACK_FRAME_STATE_FOR, so let's - # not build java stuff by default. - case "${target}" in - *-*-*libc1*) - noconfigdirs="$noconfigdirs ${libgcj}";; - esac - # This section makes it possible to build newlib natively on linux. # If we are using a cross compiler then don't configure newlib. if test x${is_cross_compiler} != xno ; then @@ -770,18 +798,18 @@ case "${target}" in # 'target-newlib' will appear in skipdirs. ;; i[[3456789]]86-w64-mingw*) - noconfigdirs="$noconfigdirs expect target-libgloss target-newlib ${libgcj}" + noconfigdirs="$noconfigdirs target-libgloss target-newlib ${libgcj}" ;; i[[3456789]]86-*-mingw*) target_configdirs="$target_configdirs target-winsup" - noconfigdirs="$noconfigdirs expect target-libgloss target-newlib ${libgcj}" + noconfigdirs="$noconfigdirs target-libgloss target-newlib ${libgcj}" ;; x86_64-*-mingw*) - noconfigdirs="$noconfigdirs expect target-libgloss target-newlib ${libgcj}" + noconfigdirs="$noconfigdirs target-libgloss target-newlib ${libgcj}" ;; *-*-cygwin*) target_configdirs="$target_configdirs target-libtermcap target-winsup" - noconfigdirs="$noconfigdirs target-gperf target-libgloss" + noconfigdirs="$noconfigdirs target-libgloss" # always build newlib if winsup directory is present. if test -d "$srcdir/winsup/cygwin"; then skipdirs=`echo " ${skipdirs} " | sed -e 's/ target-newlib / /'` @@ -789,28 +817,27 @@ case "${target}" in echo "Warning: winsup/cygwin is missing so newlib can't be built." fi ;; - i[[3456789]]86-moss-msdos | i[[3456789]]86-*-moss* | \ - i[[3456789]]86-*-uwin* | i[[3456789]]86-*-interix* ) + i[[3456789]]86-*-interix* ) ;; i[[3456789]]86-*-pe) - noconfigdirs="$noconfigdirs target-libstdc++-v3 target-libgloss ${libgcj}" + noconfigdirs="$noconfigdirs target-libgloss" ;; i[[3456789]]86-*-sco3.2v5*) # The linker does not yet know about weak symbols in COFF, # and is not configured to handle mixed ELF and COFF. - noconfigdirs="$noconfigdirs ld target-libgloss ${libgcj}" + noconfigdirs="$noconfigdirs ld target-libgloss" ;; i[[3456789]]86-*-sco*) - noconfigdirs="$noconfigdirs gprof target-libgloss ${libgcj}" + noconfigdirs="$noconfigdirs gprof target-libgloss" ;; i[[3456789]]86-*-solaris2*) noconfigdirs="$noconfigdirs target-libgloss" ;; i[[3456789]]86-*-sysv4*) - noconfigdirs="$noconfigdirs target-libgloss ${libgcj}" + noconfigdirs="$noconfigdirs target-libgloss" ;; i[[3456789]]86-*-beos*) - noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss ${libgcj}" + noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss" ;; i[[3456789]]86-*-rdos*) noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss" @@ -819,53 +846,38 @@ case "${target}" in noconfigdirs="$noconfigdirs ${libgcj}" ;; m68hc11-*-*|m6811-*-*|m68hc12-*-*|m6812-*-*) - noconfigdirs="$noconfigdirs target-libiberty target-libstdc++-v3 ${libgcj}" libgloss_dir=m68hc11 ;; m68k-*-elf*) noconfigdirs="$noconfigdirs ${libgcj}" ;; - m68k-*-coff*) - noconfigdirs="$noconfigdirs ${libgcj}" - ;; m68*-*-* | fido-*-*) libgloss_dir=m68k ;; - mcore-*-pe*) - # The EPOC C++ environment does not support exceptions or rtti, - # and so building libstdc++-v3 tends not to always work. - noconfigdirs="$noconfigdirs target-libstdc++-v3" - ;; mmix-*-*) - noconfigdirs="$noconfigdirs target-libffi target-boehm-gc gdb libgloss" - unsupported_languages="$unsupported_languages fortran java" - ;; - mn10200-*-*) - noconfigdirs="$noconfigdirs ${libgcj}" - ;; - mn10300-*-*) - noconfigdirs="$noconfigdirs ${libgcj}" + noconfigdirs="$noconfigdirs target-libffi target-boehm-gc gdb" + unsupported_languages="$unsupported_languages java" ;; mt-*-*) noconfigdirs="$noconfigdirs sim" ;; powerpc-*-aix*) # copied from rs6000-*-* entry - noconfigdirs="$noconfigdirs gprof target-libgloss target-libssp target-newlib ${libgcj}" + noconfigdirs="$noconfigdirs gprof target-libgloss target-newlib ${libgcj}" ;; - powerpc*-*-winnt* | powerpc*-*-pe* | ppc*-*-pe) + powerpc*-*-winnt* | powerpc*-*-pe*) target_configdirs="$target_configdirs target-winsup" - noconfigdirs="$noconfigdirs gdb tcl tk make expect target-libgloss itcl gnuserv ${libgcj}" + noconfigdirs="$noconfigdirs gdb tcl tk target-libgloss itcl" # always build newlib. skipdirs=`echo " ${skipdirs} " | sed -e 's/ target-newlib / /'` ;; # This is temporary until we can link against shared libraries powerpcle-*-solaris*) - noconfigdirs="$noconfigdirs gdb sim make tcl tk expect itcl gnuserv ${libgcj}" + noconfigdirs="$noconfigdirs gdb sim tcl tk itcl" libgloss_dir=rs6000 ;; powerpc-*-beos*) - noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss ${libgcj}" + noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss" ;; powerpc-*-eabi) noconfigdirs="$noconfigdirs ${libgcj}" @@ -878,19 +890,18 @@ case "${target}" in noconfigdirs="$noconfigdirs target-newlib gprof ${libgcj}" ;; rs6000-*-aix*) - noconfigdirs="$noconfigdirs gprof target-libgloss target-libssp target-newlib ${libgcj}" + noconfigdirs="$noconfigdirs gprof target-libgloss target-newlib ${libgcj}" ;; rs6000-*-*) noconfigdirs="$noconfigdirs gprof ${libgcj}" ;; m68k-apollo-*) - noconfigdirs="$noconfigdirs ld binutils gprof target-libgloss ${libgcj}" + noconfigdirs="$noconfigdirs ld binutils gprof target-libgloss" ;; microblaze*) noconfigdirs="$noconfigdirs gprof ${libgcj}" ;; mips*-sde-elf*) - skipdirs="$skipdirs target-libiberty" noconfigdirs="$noconfigdirs ${libgcj}" if test x$with_newlib = xyes; then noconfigdirs="$noconfigdirs gprof" @@ -898,7 +909,7 @@ case "${target}" in libgloss_dir=mips ;; mips*-*-irix5*) - noconfigdirs="$noconfigdirs gprof target-libgloss ${libgcj}" + noconfigdirs="$noconfigdirs gprof target-libgloss" ;; mips*-*-irix6*) # Linking libjava exceeds command-line length limits on at least @@ -908,7 +919,7 @@ case "${target}" in noconfigdirs="$noconfigdirs gprof target-libgloss ${libgcj}" ;; mips*-*-bsd*) - noconfigdirs="$noconfigdirs gprof target-libgloss ${libgcj}" + noconfigdirs="$noconfigdirs gprof target-libgloss" ;; mips*-*-linux*) noconfigdirs="$noconfigdirs target-newlib target-libgloss" @@ -917,16 +928,7 @@ case "${target}" in noconfigdirs="$noconfigdirs gprof ${libgcj}" libgloss_dir=mips ;; - romp-*-*) - noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes target-libgloss ${libgcj}" - ;; sh-*-* | sh64-*-*) - case "${host}" in - i[[3456789]]86-*-vsta) ;; # don't add gprof back in - i[[3456789]]86-*-go32*) ;; # don't add gprof back in - i[[3456789]]86-*-msdosdjgpp*) ;; # don't add gprof back in - *) skipdirs=`echo " ${skipdirs} " | sed -e 's/ gprof / /'` ;; - esac case "${target}" in sh*-*-elf) noconfigdirs="$noconfigdirs ${libgcj}" ;; @@ -945,49 +947,26 @@ case "${target}" in libgloss_dir=sparc ;; sparclite-*-*) - noconfigdirs="$noconfigdirs ${libgcj}" libgloss_dir=sparc ;; sparc-*-sunos4*) - noconfigdirs="$noconfigdirs ${libgcj}" if test x${is_cross_compiler} != xno ; then noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss" else use_gnu_ld=no fi ;; - sparc-*-solaris2.[[0-6]] | sparc-*-solaris2.[[0-6]].*) - noconfigdirs="$noconfigdirs ${libgcj}" - ;; sparc-*-solaris* | sparc64-*-solaris* | sparcv9-*-solaris*) ;; tic6x-*-*) noconfigdirs="$noconfigdirs gdb sim ${libgcj}" ;; v810-*-*) - noconfigdirs="$noconfigdirs bfd binutils gas gcc gdb ld target-libstdc++-v3 opcodes target-libgloss ${libgcj}" - ;; - v850-*-*) - noconfigdirs="$noconfigdirs target-libgloss ${libgcj}" - ;; - v850e-*-*) - noconfigdirs="$noconfigdirs target-libgloss ${libgcj}" - ;; - v850ea-*-*) - noconfigdirs="$noconfigdirs target-libgloss ${libgcj}" - ;; - vax-*-vms) - noconfigdirs="$noconfigdirs bfd binutils gdb ld target-newlib opcodes target-libgloss ${libgcj}" + noconfigdirs="$noconfigdirs bfd binutils gas gdb ld opcodes target-libgloss" ;; vax-*-*) noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}" ;; - xtensa*-*-*) - noconfigdirs="$noconfigdirs ${libgcj}" - ;; - ip2k-*-*) - noconfigdirs="$noconfigdirs target-libiberty target-libstdc++-v3 ${libgcj}" - ;; *-*-linux* | *-*-gnu* | *-*-k*bsd*-gnu | *-*-kopensolaris*-gnu) noconfigdirs="$noconfigdirs target-newlib target-libgloss" ;; @@ -1007,111 +986,9 @@ case "${noconfigdirs}" in esac # Work in distributions that contain no compiler tools, like Autoconf. -tentative_cc="" host_makefile_frag=/dev/null if test -d ${srcdir}/config ; then case "${host}" in - m68k-hp-hpux*) - # Avoid "too much defining" errors from HPUX compiler. - tentative_cc="cc -Wp,-H256000" - # If "ar" in $PATH is GNU ar, the symbol table may need rebuilding. - # If it's HP/UX ar, this should be harmless. - RANLIB="ar ts" - ;; - m68k-apollo-sysv*) - tentative_cc="cc -A ansi -A runtype,any -A systype,any -U__STDC__ -DUSG" - ;; - m68k-apollo-bsd*) - #None of the Apollo compilers can compile gas or binutils. The preprocessor - # chokes on bfd, the compiler won't let you assign integers to enums, and - # other problems. Defining CC to gcc is a questionable way to say "don't use - # the apollo compiler" (the preferred version of GCC could be called cc, - # or whatever), but I'm not sure leaving CC as cc is any better... - #CC=cc -A ansi -A runtype,any -A systype,any -U__STDC__ -DNO_STDARG - # Used to have BISON=yacc. - tentative_cc=gcc - ;; - m88k-dg-dgux*) - tentative_cc="gcc -Wall -ansi -D__using_DGUX" - ;; - m88k-harris-cxux*) - # Under CX/UX, we want to tell the compiler to use ANSI mode. - tentative_cc="cc -Xa" - host_makefile_frag="config/mh-cxux" - ;; - m88k-motorola-sysv*) - ;; - mips*-dec-ultrix*) - tentative_cc="cc -Wf,-XNg1000" - host_makefile_frag="config/mh-decstation" - ;; - mips*-nec-sysv4*) - # The C compiler on NEC MIPS SVR4 needs bigger tables. - tentative_cc="cc -ZXNd=5000 -ZXNg=1000" - host_makefile_frag="config/mh-necv4" - ;; - mips*-sgi-irix4*) - # Tell compiler to use K&R C. We can't compile under the SGI Ansi - # environment. Also bump switch table size so that cp-parse will - # compile. Bump string length limit so linker builds. - tentative_cc="cc -cckr -Wf,-XNg1500 -Wf,-XNk1000 -Wf,-XNh2000 -Wf,-XNl8192" - ;; - mips*-*-sysv4*) - host_makefile_frag="config/mh-sysv4" - ;; - mips*-*-sysv*) - # This is for a MIPS running RISC/os 4.52C. - - # This is needed for GDB, but needs to be in the top-level make because - # if a library is compiled with the bsd headers and gets linked with the - # sysv system libraries all hell can break loose (e.g. a jmp_buf might be - # a different size). - # ptrace(2) apparently has problems in the BSD environment. No workaround is - # known except to select the sysv environment. Could we use /proc instead? - # These "sysv environments" and "bsd environments" often end up being a pain. - # - # This is not part of CFLAGS because perhaps not all C compilers have this - # option. - tentative_cc="cc -systype sysv" - ;; - i370-ibm-opened*) - tentative_cc="c89" - ;; - i[[3456789]]86-*-sysv5*) - host_makefile_frag="config/mh-sysv5" - ;; - i[[3456789]]86-*-dgux*) - tentative_cc="gcc -Wall -ansi -D__using_DGUX" - host_makefile_frag="config/mh-dgux386" - ;; - i[[3456789]]86-ncr-sysv4.3*) - # The MetaWare compiler will generate a copyright message unless you - # turn it off by adding the -Hnocopyr flag. - tentative_cc="cc -Hnocopyr" - ;; - i[[3456789]]86-ncr-sysv4*) - # for an NCR 3000 (i486/SVR4) system. - # The NCR 3000 ships with a MetaWare compiler installed as /bin/cc. - # This compiler not only emits obnoxious copyright messages every time - # you run it, but it chokes and dies on a whole bunch of GNU source - # files. Default to using the AT&T compiler installed in /usr/ccs/ATT/cc. - tentative_cc="/usr/ccs/ATT/cc" - host_makefile_frag="config/mh-ncr3000" - ;; - i[[3456789]]86-*-sco3.2v5*) - ;; - i[[3456789]]86-*-sco*) - # The native C compiler botches some simple uses of const. Unfortunately, - # it doesn't defined anything like "__sco__" for us to test for in ansidecl.h. - tentative_cc="cc -Dconst=" - host_makefile_frag="config/mh-sco" - ;; - i[[3456789]]86-*-udk*) - host_makefile_frag="config/mh-sysv5" - ;; - i[[3456789]]86-*-solaris2*) - host_makefile_frag="config/mh-sysv4" - ;; i[[3456789]]86-*-msdosdjgpp*) host_makefile_frag="config/mh-djgpp" ;; @@ -1125,39 +1002,17 @@ case "${host}" in *-interix*) host_makefile_frag="config/mh-interix" ;; - vax-*-ultrix2*) - # The old BSD pcc isn't up to compiling parts of gdb so use gcc - tentative_cc=gcc - ;; - *-*-solaris2*) - host_makefile_frag="config/mh-solaris" - ;; - m68k-sun-sunos*) - # Sun's C compiler needs the -J flag to be able to compile cp-parse.c - # without overflowing the jump tables (-J says to use a 32 bit table) - tentative_cc="cc -J" - ;; hppa*-hp-hpux10*) - tentative_cc="cc -Wp,-H256000" host_makefile_frag="config/mh-pa-hpux10" ;; - hppa*-hp-hpux* | hppa*-*-hiux*) - tentative_cc="cc -Wp,-H256000" + hppa*-hp-hpux*) host_makefile_frag="config/mh-pa" ;; hppa*-*) host_makefile_frag="config/mh-pa" ;; - *-hp-hpux* | *-*-hiux*) - tentative_cc="cc -Wp,-H256000" - ;; - rs6000-*-lynxos*) - # /bin/cc is less than useful for our purposes. Always use GCC - 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" @@ -1165,40 +1020,9 @@ case "${host}" in rs6000-*-aix*) host_makefile_frag="config/mh-ppc-aix" ;; - *-*-lynxos*) - # /bin/cc is less than useful for our purposes. Always use GCC - tentative_cc="/bin/gcc" - ;; - *-*-sysv4*) - host_makefile_frag="config/mh-sysv4" - ;; - # This is placed last to prevent interfering with the cases above. - i[[3456789]]86-*-*) - # Build the stage2 and stage3 compilers with -fomit-frame-pointer. - host_makefile_frag="config/mh-x86omitfp" - ;; esac fi -# If we aren't going to be using gcc, see if we can extract a definition -# of CC from the fragment. -# Actually, use the 'pre-extracted' version above. -if test -z "${CC}" && test "${build}" = "${host}" ; then - IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}:" - found= - for dir in $PATH; do - test -z "$dir" && dir=. - if test -f $dir/gcc; then - found=yes - break - fi - done - IFS="$save_ifs" - if test -z "${found}" && test -n "${tentative_cc}" ; then - CC=$tentative_cc - fi -fi - if test "${build}" != "${host}" ; then AR_FOR_BUILD=${AR_FOR_BUILD-ar} AS_FOR_BUILD=${AS_FOR_BUILD-as} @@ -1206,6 +1030,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} @@ -1219,6 +1044,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)" @@ -1254,7 +1080,8 @@ ACX_PROG_CMP_IGNORE_INITIAL # See if we are building gcc with C++. AC_ARG_ENABLE(build-with-cxx, -[ --enable-build-with-cxx build with C++ compiler instead of C compiler], +[AS_HELP_STRING([--enable-build-with-cxx], + [build with C++ compiler instead of C compiler])], ENABLE_BUILD_WITH_CXX=$enableval, ENABLE_BUILD_WITH_CXX=no) @@ -1268,12 +1095,17 @@ have_gmp=no # Specify a location for mpc # check for this first so it ends up on the link line before mpfr. -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 - 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, +[AS_HELP_STRING([--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, +[AS_HELP_STRING([--with-mpc-include=PATH], + [specify directory for installed MPC include files])]) +AC_ARG_WITH(mpc-lib, +[AS_HELP_STRING([--with-mpc-lib=PATH], + [specify directory for the installed MPC library])]) if test "x$with_mpc" != x; then gmplibs="-L$with_mpc/lib $gmplibs" @@ -1297,16 +1129,22 @@ fi # Specify a location for mpfr # check for this first so it ends up on the link line before gmp. -AC_ARG_WITH(mpfr-dir, [ --with-mpfr-dir=PATH this option has been REMOVED], - AC_MSG_ERROR([The --with-mpfr-dir=PATH option has been removed. -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 - 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-dir, +[AS_HELP_STRING([--with-mpfr-dir=PATH], [this option has been REMOVED])], +[AC_MSG_ERROR([The --with-mpfr-dir=PATH option has been removed. +Use --with-mpfr=PATH or --with-mpfr-include=PATH plus --with-mpfr-lib=PATH])]) + +AC_ARG_WITH(mpfr, +[AS_HELP_STRING([--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, +[AS_HELP_STRING([--with-mpfr-include=PATH], + [specify directory for installed MPFR include files])]) +AC_ARG_WITH(mpfr-lib, +[AS_HELP_STRING([--with-mpfr-lib=PATH], + [specify directory for the installed MPFR library])]) if test "x$with_mpfr" != x; then gmplibs="-L$with_mpfr/lib $gmplibs" @@ -1330,15 +1168,22 @@ if test "x$with_mpfr$with_mpfr_include$with_mpfr_lib" = x && test -d ${srcdir}/m fi # Specify a location for gmp -AC_ARG_WITH(gmp-dir, [ --with-gmp-dir=PATH this option has been REMOVED], - AC_MSG_ERROR([The --with-gmp-dir=PATH option has been removed. -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-dir, +[AS_HELP_STRING([--with-gmp-dir=PATH], [this option has been REMOVED])], +[AC_MSG_ERROR([The --with-gmp-dir=PATH option has been removed. +Use --with-gmp=PATH or --with-gmp-include=PATH plus --with-gmp-lib=PATH])]) + +AC_ARG_WITH(gmp, +[AS_HELP_STRING([--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, +[AS_HELP_STRING([--with-gmp-include=PATH], + [specify directory for installed GMP include files])]) +AC_ARG_WITH(gmp-lib, +[AS_HELP_STRING([--with-gmp-lib=PATH], + [specify directory for the installed GMP library])]) if test "x$with_gmp" != x; then @@ -1354,7 +1199,7 @@ fi if test "x$with_gmp$with_gmp_include$with_gmp_lib" = x && test -d ${srcdir}/gmp; then gmplibs='-L$$r/$(HOST_SUBDIR)/gmp/'"$lt_cv_objdir $gmplibs" gmpinc='-I$$r/$(HOST_SUBDIR)/gmp -I$$s/gmp '"$gmpinc" - extra_mpfr_configure_flags='--with-gmp-build=$$r/$(HOST_SUBDIR)/gmp' + extra_mpfr_configure_flags='--with-gmp-include=$$r/$(HOST_SUBDIR)/gmp --with-gmp-lib=$$r/$(HOST_SUBDIR)/gmp/'"$lt_cv_objdir" extra_mpc_gmp_configure_flags='--with-gmp-include=$$r/$(HOST_SUBDIR)/gmp --with-gmp-lib=$$r/$(HOST_SUBDIR)/gmp/'"$lt_cv_objdir" # Do not test the gmp version. Assume that it is sufficient, since # it is in the source tree, and the library has not been built yet @@ -1470,8 +1315,10 @@ AC_SUBST(extra_mpc_gmp_configure_flags) AC_SUBST(extra_mpc_mpfr_configure_flags) # Allow host libstdc++ to be specified for static linking with PPL. -AC_ARG_WITH(host-libstdcxx, [ --with-host-libstdcxx=L Use linker arguments L to link with libstdc++ - when linking with PPL]) +AC_ARG_WITH(host-libstdcxx, +[AS_HELP_STRING([--with-host-libstdcxx=L], + [use linker arguments L to link with libstdc++ + when linking with PPL])]) case $with_host_libstdcxx in no|yes) @@ -1481,7 +1328,7 @@ esac # Linker flags to use for stage1 or when not boostrapping. AC_ARG_WITH(stage1-ldflags, -[ --with-stage1-ldflags=FLAGS Linker flags for stage1], +[AS_HELP_STRING([--with-stage1-ldflags=FLAGS], [linker flags for stage1])], [if test "$withval" = "no" -o "$withval" = "yes"; then stage1_ldflags= else @@ -1492,7 +1339,7 @@ AC_SUBST(stage1_ldflags) # Libraries to use for stage1 or when not bootstrapping. AC_ARG_WITH(stage1-libs, -[ -with-stage1-libs=LIBS Libraries for stage1], +[AS_HELP_STRING([--with-stage1-libs=LIBS], [libraries for stage1])], [if test "$withval" = "no" -o "$withval" = "yes"; then stage1_libs= else @@ -1504,7 +1351,7 @@ AC_SUBST(stage1_libs) # Libraries to use for stage2 and later builds. This defaults to the # argument passed to --with-host-libstdcxx. AC_ARG_WITH(boot-libs, -[ --with-boot-libs=LIBS Libraries for stage2 and later], +[AS_HELP_STRING([--with-boot-libs=LIBS], [libraries for stage2 and later])], [if test "$withval" = "no" -o "$withval" = "yes"; then poststage1_libs= else @@ -1515,69 +1362,98 @@ AC_SUBST(poststage1_libs) # Linker flags to use for stage2 and later builds. AC_ARG_WITH(boot-ldflags, -[ --with-boot-ldflags=FLAGS Linker flags for stage2 and later], +[AS_HELP_STRING([--with-boot-ldflags=FLAGS], + [linker flags for stage2 and later])], [if test "$withval" = "no" -o "$withval" = "yes"; then poststage1_ldflags= else poststage1_ldflags=$withval fi], [poststage1_ldflags= - # With --enable-build-with-cxx, default to linking libstdc++ and - # libgcc statically. But if the user explicitly specified the - # libraries to use, trust that they are doing what they want. - if test "$ENABLE_BUILD_WITH_CXX" = "yes" -a "$poststage1_libs" = ""; then + # In stages 2 and 3, default to linking libstdc++ and libgcc + # statically. But if the user explicitly specified the libraries to + # use, trust that they are doing what they want. + if test "$poststage1_libs" = ""; then poststage1_ldflags="-static-libstdc++ -static-libgcc" fi]) AC_SUBST(poststage1_ldflags) # Check for PPL -ppllibs=" -lppl_c -lppl -lgmpxx" +ppllibs= pplinc= +pwllib= + +AC_ARG_WITH(ppl, +[AS_HELP_STRING([--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, +[AS_HELP_STRING([--with-ppl-include=PATH], + [specify directory for installed PPL include files])]) +AC_ARG_WITH(ppl-lib, +[AS_HELP_STRING([--with-ppl-lib=PATH], + [specify directory for the installed PPL library])]) -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_ENABLE(ppl-version-check, +[AS_HELP_STRING([--disable-ppl-version-check], + [disable check for PPL version])]) -case $with_ppl in - no) - ppllibs= - ;; - "" | yes) +case $with_ppl in + yes | no | "") ;; *) - ppllibs="-L$with_ppl/lib -lppl_c -lppl -lgmpxx" + ppllibs="-L$with_ppl/lib" pplinc="-I$with_ppl/include $pplinc" + if test -d "$with_ppl/lib" && test -d "$with_ppl/include"; then + with_ppl=yes + else + AC_MSG_ERROR([cannot find directories "$with_ppl/lib" or "$with_ppl/include"]) + fi ;; esac -if test "x$with_ppl_include" != x; then + +if test x"$with_ppl_include" != x; then pplinc="-I$with_ppl_include $pplinc" + with_ppl=yes fi + if test "x$with_ppl_lib" != x; then - ppllibs="-L$with_ppl_lib -lppl_c -lppl -lgmpxx" + ppllibs="-L$with_ppl_lib" + with_ppl=yes fi -if test "x$with_ppl$with_ppl_include$with_ppl_lib" = x && test -d ${srcdir}/ppl; then - ppllibs='-L$$r/$(HOST_SUBDIR)/ppl/interfaces/C/'"$lt_cv_objdir"' -L$$r/$(HOST_SUBDIR)/ppl/src/'"$lt_cv_objdir"' -lppl_c -lppl -lgmpxx ' + +if test x"$with_ppl$with_ppl_include$with_ppl_lib" = x && test -d ${srcdir}/ppl; then + if test x"$enable_watchdog" = xyes; then + pwllib="-lpwl" + fi + ppllibs='-L$$r/$(HOST_SUBDIR)/ppl/interfaces/C/'"$lt_cv_objdir"' -L$$r/$(HOST_SUBDIR)/ppl/src/'"$lt_cv_objdir" pplinc='-I$$r/$(HOST_SUBDIR)/ppl/src -I$$r/$(HOST_SUBDIR)/ppl/interfaces/C ' enable_ppl_version_check=no + with_ppl=yes fi -AC_ARG_ENABLE(ppl-version-check, -[ --disable-ppl-version-check disable check for PPL version], -ENABLE_PPL_CHECK=$enableval, -ENABLE_PPL_CHECK=yes) +if test "x$with_ppl" != xno; then + if test "x$pwllib" = x; then + saved_LIBS="$LIBS" + LIBS="$LIBS $ppllibs -lstdc++ -lm" + AC_CHECK_LIB(pwl, PWL_handle_timeout, [pwllib="-lpwl"]) + LIBS="$saved_LIBS" + fi -if test "x$with_ppl" != "xno" -a "${ENABLE_PPL_CHECK}" = "yes"; then - saved_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS $pplinc $gmpinc" - AC_MSG_CHECKING([for version 0.10 (or later revision) of PPL]) - AC_TRY_COMPILE([#include "ppl_c.h"],[ - #if PPL_VERSION_MAJOR != 0 || PPL_VERSION_MINOR < 10 - choke me - #endif - ], [AC_MSG_RESULT([yes])], [AC_MSG_RESULT([no]); ppllibs= ; pplinc= ; with_ppl=no ]) - CFLAGS="$saved_CFLAGS" + ppllibs="$ppllibs -lppl_c -lppl $pwllib -lgmpxx" + + if test "$enable_ppl_version_check" != no; then + saved_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS $pplinc $gmpinc" + AC_MSG_CHECKING([for version 0.11 (revision 0 or later) of PPL]) + AC_TRY_COMPILE([#include "ppl_c.h"],[ + #if PPL_VERSION_MAJOR != 0 || PPL_VERSION_MINOR < 11 + choke me + #endif + ], [AC_MSG_RESULT([yes])], [AC_MSG_RESULT([no]); ppllibs= ; pplinc= ; with_ppl=no ]) + CFLAGS="$saved_CFLAGS" + fi fi # Flags needed for PPL @@ -1586,231 +1462,70 @@ 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 + dnl Only execute fail-action, if CLooG has been requested. + CLOOG_REQUESTED([graphite_requested=yes], [graphite_requested=no]) + if test "${graphite_requested}" = yes; then + AC_MSG_ERROR([Unable to find a usable PPL. See config.log for details.]) + fi 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" +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 -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" != "xno"; then + dnl The minimal version of CLooG required for Graphite. + dnl + dnl If we use CLooG-Legacy, the provided version information is + dnl ignored. + CLOOG_CHECK_VERSION(0,16,1) + + dnl Only execute fail-action, if CLooG has been requested. + CLOOG_IF_FAILED([ + AC_MSG_ERROR([Unable to find a usable CLooG. See config.log for details.])]) 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" -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], +[AS_HELP_STRING([--enable-lto], [enable link time optimization support])], enable_lto=$enableval, enable_lto=yes; default_enable_lto=yes) - -ACX_ELF_TARGET_IFELSE([if test x"$enable_lto" = x"yes" ; then - # Make sure that libelf.h and gelf.h are available. - AC_ARG_WITH(libelf, [ --with-libelf=PATH Specify prefix directory for the installed libelf package - Equivalent to --with-libelf-include=PATH/include - plus --with-libelf-lib=PATH/lib]) - - AC_ARG_WITH(libelf_include, [ --with-libelf-include=PATH Specify directory for installed libelf include files]) - - AC_ARG_WITH(libelf_lib, [ --with-libelf-lib=PATH Specify the directory for the installed libelf library]) - - saved_CFLAGS="$CFLAGS" - saved_CPPFLAGS="$CPPFLAGS" - saved_LIBS="$LIBS" - - case $with_libelf in - "") - libelflibs="-lelf" - libelfinc="-I/usr/include/libelf" - ;; - *) - libelflibs="-L$with_libelf/lib -lelf" - libelfinc="-I$with_libelf/include -I$with_libelf/include/libelf" - LIBS="$libelflibs $LIBS" - ;; - esac - - if test "x$with_libelf_include" != x; then - libelfinc="-I$with_libelf_include" - fi - - if test "x$with_libelf_lib" != x; then - libelflibs="-L$with_libelf_lib -lelf" - LIBS="$libelflibs $LIBS" - fi - - if test "x$with_libelf$with_libelf_include$with_libelf_lib" = x \ - && test -d ${srcdir}/libelf; then - libelflibs='-L$$r/$(HOST_SUBDIR)/libelf/lib -lelf ' - libelfinc='-D__LIBELF_INTERNAL__ -I$$r/$(HOST_SUBDIR)/libelf/lib -I$$s/libelf/lib' - LIBS="$libelflibs $LIBS" - - else - - CFLAGS="$CFLAGS $libelfinc" - CPPFLAGS="$CPPFLAGS $libelfinc" - LIBS="$LIBS $libelflibs" - - AC_CHECK_HEADERS(libelf.h, [have_libelf_h=yes]) - AC_CHECK_HEADERS(gelf.h, [have_gelf_h=yes]) - - AC_CHECK_HEADERS(libelf/libelf.h, [have_libelf_libelf_h=yes]) - AC_CHECK_HEADERS(libelf/gelf.h, [have_libelf_gelf_h=yes]) - - # If we couldn't find libelf.h and the user forced it, emit an error. - if test x"$have_libelf_h" != x"yes" \ - && test x"$have_libelf_libelf_h" != x"yes" ; then - if test x"$default_enable_lto" != x"yes" ; then - AC_MSG_ERROR([LTO support requires libelf.h or libelf/libelf.h.]) - else - enable_lto=no - libelflibs= - libelfinc= - fi - fi - - # If we couldn't find gelf.h and the user forced it, emit an error. - if test x"$have_gelf_h" != x"yes" \ - && test x"$have_libelf_gelf_h" != x"yes" ; then - if test x"$default_enable_lto" != x"yes" ; then - AC_MSG_ERROR([LTO support requires gelf.h or libelf/gelf.h.]) - else - enable_lto=no - libelflibs= - libelfinc= - fi - fi - - # Check that the detected libelf has the functions we need. We cannot - # rely on just detecting the headers since they do not include - # versioning information. Add functions, if needed. - if test x"$enable_lto" = x"yes" ; then - AC_MSG_CHECKING([for the correct version of libelf]) - AC_TRY_LINK( - [#include ],[ - elf_errmsg (0); - elf_getscn (0, 0); - elf_nextscn (0, 0); - elf_strptr (0, 0, 0); - elf_getident (0, 0); - elf_begin (0, 0, 0); - elf_ndxscn (0); - elf_end (0); - ], - [AC_MSG_RESULT([yes]);], - [AC_MSG_RESULT([no]); enable_lto=no; libelflibs= ; libelfinc= ] - ) - - # Check for elf_getshdrstrndx or elf_getshstrndx. The latter's flavor - # is determined in gcc/configure.ac. - if test x"$enable_lto" = x"yes" ; then - AC_MSG_CHECKING([for elf_getshdrstrndx]) - AC_TRY_LINK( - [#include ],[ - elf_getshdrstrndx (0, 0); - ], - [AC_MSG_RESULT([yes]);], - [AC_MSG_RESULT([no]); - AC_MSG_CHECKING([for elf_getshstrndx]) - AC_TRY_LINK( - [#include ],[ - elf_getshstrndx (0, 0); - ], - [AC_MSG_RESULT([yes]);], - [AC_MSG_RESULT([no]); enable_lto=no; libelflibs= ; libelfinc= ] - )] - ) - fi - - # If we couldn't enable LTO and the user forced it, emit an error. - if test x"$enable_lto" = x"no" \ - && test x"$default_enable_lto" != x"yes" ; then - AC_MSG_ERROR([To enable LTO, GCC requires libelf v0.8.12+. -Try the --with-libelf, --with-libelf-include and --with-libelf-lib options -to specify its location.]) - fi - fi - - CFLAGS="$saved_CFLAGS" - CPPFLAGS="$saved_CPPFLAGS" - LIBS="$saved_LIBS" - - fi - - # Flags needed for libelf. - AC_SUBST(libelflibs) - AC_SUBST(libelfinc) -fi],[if test x"$default_enable_lto" = x"yes" ; then - # On non-ELF platforms, LTO must be explicitly enabled. - enable_lto=no +ACX_ELF_TARGET_IFELSE([# ELF platforms build the lto-plugin always. + build_lto_plugin=yes +],[if test x"$default_enable_lto" = x"yes" ; then + case $target in + *-apple-darwin9 | *-cygwin* | *-mingw*) ;; + # On other non-ELF platforms, LTO has yet to be validated. + *) enable_lto=no ;; + esac else - # Apart from ELF platforms, only Windows supports LTO so far. It - # would also be nice to check the binutils support, but we don't + # Apart from ELF platforms, only Windows and Darwin support LTO so far. + # It would also be nice to check the binutils support, but we don't # have gcc_GAS_CHECK_FEATURE available here. For now, we'll just # warn during gcc/ subconfigure; unless you're bootstrapping with # -flto it won't be needed until after installation anyway. case $target in - *-cygwin*|*-mingw*) ;; - x86_64-apple-darwin*) ;; + *-cygwin* | *-mingw* | *-apple-darwin*) ;; *) if test x"$enable_lto" = x"yes"; then AC_MSG_ERROR([LTO support is not enabled for this target.]) fi ;; esac fi - default_enable_lto=no]) + # Among non-ELF, only Windows platforms support the lto-plugin so far. + # Build it unless LTO was explicitly disabled. + case $target in + *-cygwin* | *-mingw*) build_lto_plugin=$enable_lto ;; + *) ;; + esac +]) # By default, C is the only stage 1 language. @@ -1861,11 +1576,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,*) ;; @@ -1875,6 +1592,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 @@ -1888,7 +1621,7 @@ if test -d ${srcdir}/gcc; then *,lto,*) ;; *) enable_languages="${enable_languages},lto" ;; esac - if test "${ENABLE_GOLD}" = "yes" ; then + if test "${build_lto_plugin}" = "yes" ; then configdirs="$configdirs lto-plugin" extra_host_libiberty_configure_flags=--enable-shared fi @@ -1898,6 +1631,9 @@ if test -d ${srcdir}/gcc; then missing_languages=`echo ",$enable_languages," | sed -e s/,all,/,/ -e s/,c,/,/ ` potential_languages=,c, + enabled_target_libs= + disabled_target_libs= + for lang_frag in ${srcdir}/gcc/*/config-lang.in .. ; do case ${lang_frag} in ..) ;; @@ -1975,17 +1711,20 @@ if test -d ${srcdir}/gcc; then case $add_this_lang in unsupported) # Remove language-dependent dirs. - eval noconfigdirs='"$noconfigdirs "'\"$target_libs $lang_dirs\" + disabled_target_libs="$disabled_target_libs $target_libs" + noconfigdirs="$noconfigdirs $lang_dirs" ;; no) # Remove language-dependent dirs; still show language as supported. - eval noconfigdirs='"$noconfigdirs "'\"$target_libs $lang_dirs\" + disabled_target_libs="$disabled_target_libs $target_libs" + noconfigdirs="$noconfigdirs $lang_dirs" potential_languages="${potential_languages}${language}," ;; yes) new_enable_languages="${new_enable_languages}${language}," potential_languages="${potential_languages}${language}," missing_languages=`echo "$missing_languages" | sed "s/,$language,/,/"` + enabled_target_libs="$enabled_target_libs $target_libs" case "${boot_language}:,$enable_stage1_languages," in yes:* | *:*,$language,* | *:*,yes, | *:*,all,) # Add to (comma-separated) list of stage 1 languages. @@ -2003,9 +1742,21 @@ if test -d ${srcdir}/gcc; then esac done + # Add target libraries which are only needed for disabled languages + # to noconfigdirs. + if test -n "$disabled_target_libs"; then + for dir in $disabled_target_libs; do + case " $enabled_target_libs " in + *" ${dir} "*) ;; + *) noconfigdirs="$noconfigdirs $dir" ;; + esac + done + fi + AC_ARG_ENABLE(stage1-languages, -[ --enable-stage1-languages@<:@=all@:>@ choose additional languages to build during - stage1. Mostly useful for compiler development.], + [AS_HELP_STRING([[--enable-stage1-languages[=all]]], + [choose additional languages to build during + stage1. Mostly useful for compiler development])], [case ,${enable_stage1_languages}, in ,no,|,,) # Set it to something that will have no effect in the loop below @@ -2066,8 +1817,9 @@ done # Check for Boehm's garbage collector AC_ARG_ENABLE(objc-gc, -[ --enable-objc-gc enable use of Boehm's garbage collector with the - GNU Objective-C runtime], +[AS_HELP_STRING([--enable-objc-gc], + [enable use of Boehm's garbage collector with the + GNU Objective-C runtime])], [case ,${enable_languages},:${enable_objc_gc}:${noconfigdirs} in *,objc,*:*:yes:*target-boehm-gc*) AC_MSG_ERROR([Boehm's garbage collector was requested yet not supported in this configuration]) @@ -2222,8 +1974,8 @@ ACX_TOOL_DIRS copy_dirs= AC_ARG_WITH([build-sysroot], - [ --with-build-sysroot=SYSROOT - use sysroot as the system root during the build], + [AS_HELP_STRING([--with-build-sysroot=SYSROOT], + [use sysroot as the system root during the build])], [if test x"$withval" != x ; then SYSROOT_CFLAGS_FOR_TARGET="--sysroot=$withval" fi], @@ -2231,8 +1983,8 @@ AC_ARG_WITH([build-sysroot], AC_SUBST(SYSROOT_CFLAGS_FOR_TARGET) AC_ARG_WITH([debug-prefix-map], - [ --with-debug-prefix-map='A=B C=D ...' - map A to B, C to D ... in debug information], + [AS_HELP_STRING([--with-debug-prefix-map='A=B C=D ...'], + [map A to B, C to D ... in debug information])], [if test x"$withval" != x; then DEBUG_PREFIX_CFLAGS_FOR_TARGET= for debug_map in $withval; do @@ -2384,46 +2136,12 @@ done # 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) + *-*-solaris2*) md_exec_prefix=/usr/ccs/bin ;; esac @@ -2433,9 +2151,6 @@ extra_nmflags_for_target= extra_ranlibflags_for_target= target_makefile_frag=/dev/null case "${target}" in - mep*-*-*) - target_makefile_frag="config/mt-mep" - ;; spu-*-*) target_makefile_frag="config/mt-spu" ;; @@ -2448,9 +2163,6 @@ case "${target}" in mips*-*-*linux* | mips*-*-gnu*) target_makefile_frag="config/mt-mips-gnu" ;; - *-*-netware*) - target_makefile_frag="config/mt-netware" - ;; *-*-linux* | *-*-gnu* | *-*-k*bsd*-gnu | *-*-kopensolaris*-gnu) target_makefile_frag="config/mt-gnu" ;; @@ -2465,9 +2177,6 @@ case "${target}" in # ranlib before Darwin10 requires the -c flag to look at common symbols. extra_ranlibflags_for_target=" -c" ;; - mips*-*-pe | sh*-*-pe | *arm-wince-pe) - target_makefile_frag="config/mt-wince" - ;; esac alphaieee_frag=/dev/null @@ -2594,7 +2303,7 @@ esac # Decide which environment variable is used to find dynamic libraries. case "${host}" in *-*-hpux*) RPATH_ENVVAR=SHLIB_PATH ;; - *-*-darwin* | *-*-rhapsody* ) RPATH_ENVVAR=DYLD_LIBRARY_PATH ;; + *-*-darwin*) RPATH_ENVVAR=DYLD_LIBRARY_PATH ;; *-*-mingw* | *-*-cygwin ) RPATH_ENVVAR=PATH ;; *) RPATH_ENVVAR=LD_LIBRARY_PATH ;; esac @@ -2661,7 +2370,8 @@ INSTALL_GDB_TK=`echo ${GDB_TK} | sed s/-all-/-install-/g` # Do not nest @if/@endif pairs, because configure will not warn you at all. AC_ARG_ENABLE([bootstrap], -[ --enable-bootstrap enable bootstrapping @<:@yes if native build@:>@],, +[AS_HELP_STRING([--enable-bootstrap], + [enable bootstrapping @<:@yes if native build@:>@])],, enable_bootstrap=default) # Issue errors and warnings for invalid/strange bootstrap combinations. @@ -2730,8 +2440,8 @@ esac AC_MSG_CHECKING(for default BUILD_CONFIG) AC_ARG_WITH([build-config], - [--with-build-config='NAME NAME2...' - Use config/NAME.mk build configuration], + [AS_HELP_STRING([--with-build-config='NAME NAME2...'], + [use config/NAME.mk build configuration])], [case $with_build_config in yes) with_build_config= ;; no) with_build_config= BUILD_CONFIG= ;; @@ -2816,10 +2526,10 @@ extrasub_target="$extrasub_target # Create the serialization dependencies. This uses a temporary file. AC_ARG_ENABLE([serial-configure], -[ --enable-serial-@<:@{host,target,build}-@:>@configure - force sequential configuration of - sub-packages for the host, target or build - machine, or all sub-packages]) +[AS_HELP_STRING([[--enable-serial-[{host,target,build}-]configure]], + [force sequential configuration of + sub-packages for the host, target or build + machine, or all sub-packages])]) case ${enable_serial_configure} in yes) @@ -2871,6 +2581,7 @@ AC_SUBST_FILE(serialization_dependencies) # Also strip program-prefix, program-suffix, and program-transform-name, # so that we can pass down a consistent program-transform-name. baseargs= +tbaseargs= keep_next=no skip_next=no eval "set -- $ac_configure_args" @@ -2886,6 +2597,7 @@ do ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac baseargs="$baseargs '$ac_arg'" + tbaseargs="$tbaseargs '$ac_arg'" keep_next=no continue fi @@ -2907,11 +2619,45 @@ do ;; esac + skip_targ=no + case $ac_arg in +changequote(,) + --with-* | --without-*) + libopt=`echo "$ac_arg" | sed -e 's,^--[^-_]*[-_],,' -e 's,=.*$,,'` + + case $libopt in + *[-_]include) + lib=`echo "$libopt" | sed 's,[-_]include$,,'` + ;; + *[-_]lib) + lib=`echo "$libopt" | sed 's,[-_]lib$,,'` + ;; + *) + lib=$libopt + ;; + esac +changequote([,]) + + case $lib in + mpc | mpfr | gmp | ppl | cloog) + # If we're processing --with-$lib, --with-$lib-include or + # --with-$lib-lib, for one of the libs above, and target is + # different from host, don't pass the current argument to any + # target library's configure. + if test x$is_cross_compiler = xyes; then + skip_targ=yes + fi + ;; + esac + ;; + esac + case "$ac_arg" in --cache-file=/dev/null | \ -cache-file=/dev/null ) # Handled here to avoid the test to skip args below. baseargs="$baseargs '$ac_arg'" + tbaseargs="$tbaseargs '$ac_arg'" # Assert: $separate_arg should always be no. keep_next=$separate_arg ;; @@ -2942,6 +2688,9 @@ do ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac baseargs="$baseargs '$ac_arg'" + if test X"$skip_targ" = Xno; then + tbaseargs="$tbaseargs '$ac_arg'" + fi keep_next=$separate_arg ;; *) @@ -2968,15 +2717,26 @@ EOF_SED gcc_transform_name=`cat conftestsed.out` rm -f conftestsed.out baseargs="$baseargs --program-transform-name='${gcc_transform_name}'" +tbaseargs="$tbaseargs --program-transform-name='${gcc_transform_name}'" if test "$silent" = yes; then baseargs="$baseargs --silent" + tbaseargs="$tbaseargs --silent" fi baseargs="$baseargs --disable-option-checking" +tbaseargs="$tbaseargs --disable-option-checking" + +# Record and document user additions to sub configure arguments. +AC_ARG_VAR([build_configargs], + [additional configure arguments for build directories]) +AC_ARG_VAR([host_configargs], + [additional configure arguments for host directories]) +AC_ARG_VAR([target_configargs], + [additional configure arguments for target directories]) # For the build-side libraries, we just need to pretend we're native, # and not use the same cache file. Multilibs are neither needed nor # desired. -build_configargs="--cache-file=../config.cache ${baseargs}" +build_configargs="$build_configargs --cache-file=../config.cache ${baseargs}" # For host modules, accept cache file option, or specification as blank. case "${cache_file}" in @@ -2990,9 +2750,9 @@ esac # Host dirs don't like to share a cache file either, horribly enough. # This seems to be due to autoconf 2.5x stupidity. -host_configargs="--cache-file=./config.cache ${extra_host_args} ${baseargs}" +host_configargs="$host_configargs --cache-file=./config.cache ${extra_host_args} ${baseargs}" -target_configargs=${baseargs} +target_configargs="$target_configargs ${tbaseargs}" # Passing a --with-cross-host argument lets the target libraries know # whether they are being built with a cross-compiler or being built @@ -3049,7 +2809,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 @@ -3180,13 +2940,13 @@ 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) AC_SUBST(RANLIB_FOR_BUILD) AC_SUBST(WINDMC_FOR_BUILD) AC_SUBST(WINDRES_FOR_BUILD) -AC_SUBST(config_shell) # Generate default definitions for YACC, M4, LEX and other programs that run # on the build machine. These are used if the Makefile can't locate these @@ -3274,8 +3034,8 @@ AC_SUBST(CXXFLAGS) # Target tools. AC_ARG_WITH([build-time-tools], - [ --with-build-time-tools=PATH - use given path to find target tools during the build], + [AS_HELP_STRING([--with-build-time-tools=PATH], + [use given path to find target tools during the build])], [case x"$withval" in x/*) ;; *) @@ -3290,6 +3050,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) @@ -3308,8 +3069,9 @@ RAW_CXX_FOR_TARGET="$CXX_FOR_TARGET" GCC_TARGET_TOOL(ar, AR_FOR_TARGET, AR, [binutils/ar]) GCC_TARGET_TOOL(as, AS_FOR_TARGET, AS, [gas/as-new]) GCC_TARGET_TOOL(cc, CC_FOR_TARGET, CC, [gcc/xgcc -B$$r/$(HOST_SUBDIR)/gcc/]) +dnl see comments for CXX_FOR_TARGET_FLAG_TO_PASS GCC_TARGET_TOOL(c++, CXX_FOR_TARGET, CXX, - [gcc/g++ -B$$r/$(HOST_SUBDIR)/gcc/ -nostdinc++ `test ! -f $$r/$(TARGET_SUBDIR)/libstdc++-v3/scripts/testsuite_flags || $(SHELL) $$r/$(TARGET_SUBDIR)/libstdc++-v3/scripts/testsuite_flags --build-includes` -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src/.libs], + [gcc/g++ -B$$r/$(HOST_SUBDIR)/gcc/ -nostdinc++ `if test -f $$r/$(TARGET_SUBDIR)/libstdc++-v3/scripts/testsuite_flags; then $(SHELL) $$r/$(TARGET_SUBDIR)/libstdc++-v3/scripts/testsuite_flags --build-includes; else echo -funconfigured-libstdc++-v3 ; fi` -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src/.libs], c++) GCC_TARGET_TOOL(c++ for libstdc++, RAW_CXX_FOR_TARGET, CXX, [gcc/xgcc -shared-libgcc -B$$r/$(HOST_SUBDIR)/gcc -nostdinc++ -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src/.libs], @@ -3320,12 +3082,14 @@ 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]) GCC_TARGET_TOOL(objdump, OBJDUMP_FOR_TARGET, OBJDUMP, [binutils/objdump]) GCC_TARGET_TOOL(ranlib, RANLIB_FOR_TARGET, RANLIB, [binutils/ranlib]) -GCC_TARGET_TOOL(strip, STRIP_FOR_TARGET, STRIP, [binutils/strip]) +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]) @@ -3358,8 +3122,9 @@ AC_SUBST(COMPILER_NM_FOR_TARGET) AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles]) AC_ARG_ENABLE(maintainer-mode, -[ --enable-maintainer-mode enable make rules and dependencies not useful - (and sometimes confusing) to the casual installer], +[AS_HELP_STRING([--enable-maintainer-mode], + [enable make rules and dependencies not useful + (and sometimes confusing) to the casual installer])], USE_MAINTAINER_MODE=$enableval, USE_MAINTAINER_MODE=no) AC_MSG_RESULT($USE_MAINTAINER_MODE) @@ -3413,8 +3178,8 @@ AC_SUBST(stage1_cflags) # Enable --enable-checking in stage1 of the compiler. AC_ARG_ENABLE(stage1-checking, -[ --enable-stage1-checking@<:@=all@:>@ choose additional checking for stage1 - of the compiler], +[AS_HELP_STRING([[--enable-stage1-checking[=all]]], + [choose additional checking for stage1 of the compiler])], [stage1_checking=--enable-checking=${enable_stage1_checking}], [if test "x$enable_checking" = xno || test "x$enable_checking" = x; then stage1_checking=--enable-checking=yes,types @@ -3425,7 +3190,8 @@ AC_SUBST(stage1_checking) # Enable -Werror in bootstrap stage2 and later. AC_ARG_ENABLE(werror, -[ --enable-werror enable -Werror in bootstrap stage2 and later], [], +[AS_HELP_STRING([--enable-werror], + [enable -Werror in bootstrap stage2 and later])], [], [if test -d ${srcdir}/gcc && test x"`cat $srcdir/gcc/DEV-PHASE`" = xexperimental; then enable_werror=yes else