X-Git-Url: http://git.sourceforge.jp/view?p=pf3gnuchains%2Fgcc-fork.git;a=blobdiff_plain;f=configure;h=eb69f28d59ef6d752b59d224647949a90b4ab397;hp=3a9de0f459aa8d8e8ae6cefad85459ba4cf72fc4;hb=1958c0ba7a53a26cc4807e1f5163d5c2a1c0ba93;hpb=b990d06f5c486e4abf9cdeff148949f39f4588f7 diff --git a/configure b/configure index 3a9de0f459a..eb69f28d59e 100755 --- a/configure +++ b/configure @@ -556,6 +556,7 @@ enable_option_checking=no ac_subst_vars='LTLIBOBJS LIBOBJS compare_exclusions +POSTSTAGE1_CONFIGURE_FLAGS stage2_werror_flag stage1_checking stage1_cflags @@ -634,6 +635,7 @@ target_configargs host_configargs build_configargs BUILD_CONFIG +LDFLAGS_FOR_TARGET CXXFLAGS_FOR_TARGET CFLAGS_FOR_TARGET DEBUG_PREFIX_CFLAGS_FOR_TARGET @@ -666,6 +668,7 @@ CPPFLAGS LDFLAGS CFLAGS CC +EXTRA_CONFIGARGS_LIBJAVA target_subdir host_subdir build_subdir @@ -745,7 +748,10 @@ enable_libquadmath enable_libquadmath_support enable_libada enable_libssp +enable_static_libjava +enable_bootstrap enable_build_with_cxx +enable_build_poststage1_with_cxx with_mpc with_mpc_include with_mpc_lib @@ -776,7 +782,6 @@ enable_stage1_languages enable_objc_gc with_build_sysroot with_debug_prefix_map -enable_bootstrap with_build_config enable_serial_configure with_build_time_tools @@ -1459,7 +1464,12 @@ Optional Features: disable libquadmath support for Fortran --enable-libada build libada directory --enable-libssp build libssp directory + --enable-static-libjava[=ARG] + build static libjava [default=no] + --enable-bootstrap enable bootstrapping [yes if native build] --enable-build-with-cxx build with C++ compiler instead of C compiler + --enable-build-poststage1-with-cxx + build stages 2 and 3 with C++, not C --disable-ppl-version-check disable check for PPL version --enable-cloog-backend[=BACKEND] @@ -1473,7 +1483,6 @@ Optional Features: Mostly useful for compiler development --enable-objc-gc enable use of Boehm's garbage collector with the GNU Objective-C runtime - --enable-bootstrap enable bootstrapping [yes if native build] --enable-serial-[{host,target,build}-]configure force sequential configuration of sub-packages for the host, target or build machine, or all @@ -2667,9 +2676,8 @@ libgcj="target-libffi \ # these libraries are built for the target environment, and are built after # the host libraries and the host tools (which may be a cross compiler) -# +# Note that libiberty is not a target library. target_libraries="target-libgcc \ - target-libiberty \ target-libgloss \ target-newlib \ target-libgomp \ @@ -2997,6 +3005,22 @@ no) ;; esac +# Check whether --enable-static-libjava was given. +if test "${enable_static_libjava+set}" = set; then : + enableval=$enable_static_libjava; ENABLE_STATIC_LIBJAVA=$enableval +else + ENABLE_STATIC_LIBJAVA=no +fi + +enable_static_libjava= +if test "${ENABLE_STATIC_LIBJAVA}" = "yes" ; then + enable_static_libjava=yes +fi + +if test x$enable_static_libjava != xyes ; then + EXTRA_CONFIGARGS_LIBJAVA=--disable-static +fi + # Disable libmudflap on some systems. if test x$enable_libmudflap = x ; then @@ -3043,80 +3067,284 @@ case "${target}" in ;; esac -# Disable target libiberty for some systems. +# Disable libstdc++-v3 for some systems. case "${target}" in - *-*-kaos*) - # Remove unsupported stuff on all kaOS configurations. - skipdirs="target-libiberty" + *-*-vxworks*) + # VxWorks uses the Dinkumware C++ library. + noconfigdirs="$noconfigdirs target-libstdc++-v3" ;; - *-*-netbsd*) - # Skip some stuff on all NetBSD configurations. - noconfigdirs="$noconfigdirs target-libiberty" + 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 + +# Disable Java if libffi is not supported. +case "${target}" in + alpha*-*-*) + ;; + arm*-*-*) + ;; + cris-*-*) + ;; + frv-*-*) + ;; + hppa*-*-linux*) + ;; + hppa*-*-hpux*) + ;; + i?86-*-*) + ;; + ia64*-*-*) + ;; + m32r*-*-*) + ;; + m68k-*-*) + ;; + mips-sgi-irix6.* | mips*-*-rtems*) + ;; + mips*-*-linux*) + ;; + powerpc*-*-linux*) + ;; + powerpc-*-darwin*) + ;; + powerpc-*-aix* | rs6000-*-aix*) + ;; + powerpc-*-freebsd*) + ;; + powerpc64-*-freebsd*) + ;; + powerpc*-*-rtems*) + ;; + s390-*-* | s390x-*-*) + ;; + sh-*-* | sh[34]*-*-*) + ;; + sh64-*-* | sh5*-*-*) + ;; + sparc*-*-*) + ;; + x86_64-*-*) + ;; + *-*-*) + unsupported_languages="$unsupported_languages java" + ;; +esac + +# Disable Java, libgcj or related libraries for some systems. +case "${target}" in + powerpc-*-darwin*) + ;; + i[3456789]86-*-darwin*) + ;; + x86_64-*-darwin[912]*) + ;; + *-*-darwin*) + noconfigdirs="$noconfigdirs ${libgcj}" ;; *-*-netware*) - noconfigdirs="$noconfigdirs target-libiberty" + noconfigdirs="$noconfigdirs ${libgcj}" ;; *-*-rtems*) - skipdirs="${skipdirs} target-libiberty" + noconfigdirs="$noconfigdirs ${libgcj}" ;; *-*-tpf*) - noconfigdirs="$noconfigdirs target-libiberty" + noconfigdirs="$noconfigdirs ${libgcj}" + ;; + *-*-uclinux*) + noconfigdirs="$noconfigdirs ${libgcj}" ;; *-*-vxworks*) - noconfigdirs="$noconfigdirs target-libiberty" + noconfigdirs="$noconfigdirs ${libgcj}" ;; - sh*-*-pe|mips*-*-pe|*arm-wince-pe) - noconfigdirs="$noconfigdirs target-libiberty" + alpha*-*-*vms*) + noconfigdirs="$noconfigdirs ${libgcj}" + ;; + arm-wince-pe) + noconfigdirs="$noconfigdirs ${libgcj}" ;; arm*-*-symbianelf*) - noconfigdirs="$noconfigdirs target-libiberty" + noconfigdirs="$noconfigdirs ${libgcj}" ;; - avr-*-*) - noconfigdirs="$noconfigdirs target-libiberty" + bfin-*-*) + noconfigdirs="$noconfigdirs target-boehm-gc" ;; - m68hc11-*-*|m6811-*-*|m68hc12-*-*|m6812-*-*) - noconfigdirs="$noconfigdirs target-libiberty" + cris-*-* | crisv32-*-*) + unsupported_languages="$unsupported_languages java" + case "${target}" in + *-*-linux*) + ;; + *) # See PR46792 regarding target-libffi. + noconfigdirs="$noconfigdirs target-libffi target-boehm-gc";; + esac ;; - picochip-*-*) - noconfigdirs="$noconfigdirs target-libiberty" + 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. + unsupported_languages="$unsupported_languages java" ;; - mips*-sde-elf*) - skipdirs="$skipdirs target-libiberty" + hppa*64*-*-hpux*) + noconfigdirs="$noconfigdirs ${libgcj}" ;; - ip2k-*-*) - noconfigdirs="$noconfigdirs target-libiberty" + hppa*-hp-hpux11*) + ;; + hppa*-*-hpux*) + # According to Alexandre Oliva , libjava won't + # build on HP-UX 10.20. + noconfigdirs="$noconfigdirs ${libgcj}" + ;; + ia64*-*-*vms*) + noconfigdirs="$noconfigdirs ${libgcj}" + ;; + i[3456789]86-w64-mingw*) + noconfigdirs="$noconfigdirs ${libgcj}" + ;; + i[3456789]86-*-mingw*) + noconfigdirs="$noconfigdirs ${libgcj}" + ;; + x86_64-*-mingw*) + noconfigdirs="$noconfigdirs ${libgcj}" + ;; + mmix-*-*) + noconfigdirs="$noconfigdirs target-libffi target-boehm-gc" + ;; + powerpc-*-aix*) + # copied from rs6000-*-* entry + noconfigdirs="$noconfigdirs ${libgcj}" + ;; + rs6000-*-aix*) + noconfigdirs="$noconfigdirs ${libgcj}" + ;; + mips*-*-irix6*) + # Linking libjava exceeds command-line length limits on at least + # IRIX 6.2, but not on IRIX 6.5. + # Also, boehm-gc won't build on IRIX 6.5, according to Jeffrey Oldham + # + noconfigdirs="$noconfigdirs ${libgcj}" + ;; + *-*-lynxos*) + noconfigdirs="$noconfigdirs ${libgcj}" ;; esac -# Disable libstdc++-v3 for some systems. +# Default libgloss CPU subdirectory. +libgloss_dir="$target_cpu" + case "${target}" in - *-*-vxworks*) - # VxWorks uses the Dinkumware C++ library. - noconfigdirs="$noconfigdirs target-libstdc++-v3" + sh*-*-pe|mips*-*-pe|*arm-wince-pe) + libgloss_dir=wince ;; - arm*-wince-pe*) - # the C++ libraries don't build on top of CE's C libraries - noconfigdirs="$noconfigdirs target-libstdc++-v3" + arm*-*-*) + libgloss_dir=arm ;; - avr-*-*) - noconfigdirs="$noconfigdirs target-libstdc++-v3" + cris-*-* | crisv32-*-*) + libgloss_dir=cris + ;; + hppa*-*-*) + libgloss_dir=pa + ;; + i[3456789]86-*-*) + libgloss_dir=i386 + ;; + m68hc11-*-*|m6811-*-*|m68hc12-*-*|m6812-*-*) + libgloss_dir=m68hc11 + ;; + m68*-*-* | fido-*-*) + libgloss_dir=m68k + ;; + mips*-*-*) + libgloss_dir=mips + ;; + powerpc*-*-*) + libgloss_dir=rs6000 + ;; + sparc*-*-*) + libgloss_dir=sparc ;; esac -# Disable Fortran for some systems. +# Disable newlib and libgloss for various target OSes. case "${target}" in - mmix-*-*) - # See . - unsupported_languages="$unsupported_languages fortran" + alpha*-dec-osf*) + noconfigdirs="$noconfigdirs target-newlib target-libgloss" + ;; + i[3456789]86-*-linux*) + # 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 + noconfigdirs="$noconfigdirs target-newlib" + fi + noconfigdirs="$noconfigdirs target-libgloss" + # If we are not using a cross compiler, do configure newlib. + # Note however, that newlib will only be configured in this situation + # if the --with-newlib option has been given, because otherwise + # 'target-newlib' will appear in skipdirs. + ;; + i[3456789]86-*-rdos*) + noconfigdirs="$noconfigdirs target-newlib target-libgloss" + ;; + sh*-*-pe|mips*-*-pe|arm-wince-pe) + noconfigdirs="$noconfigdirs target-newlib target-libgloss" + ;; + sparc-*-sunos4*) + noconfigdirs="$noconfigdirs target-newlib target-libgloss" + ;; + *-*-aix*) + noconfigdirs="$noconfigdirs target-newlib target-libgloss" + ;; + *-*-beos*) + noconfigdirs="$noconfigdirs target-newlib target-libgloss" + ;; + *-*-chorusos) + noconfigdirs="$noconfigdirs target-newlib target-libgloss" + ;; + *-*-dragonfly*) + noconfigdirs="$noconfigdirs target-newlib target-libgloss" + ;; + *-*-freebsd*) + noconfigdirs="$noconfigdirs target-newlib target-libgloss" + ;; + *-*-linux* | *-*-gnu* | *-*-k*bsd*-gnu | *-*-kopensolaris*-gnu) + noconfigdirs="$noconfigdirs target-newlib target-libgloss" + ;; + *-*-lynxos*) + noconfigdirs="$noconfigdirs target-newlib target-libgloss" + ;; + *-*-mingw*) + noconfigdirs="$noconfigdirs target-newlib target-libgloss" + ;; + *-*-netbsd*) + noconfigdirs="$noconfigdirs target-newlib target-libgloss" + ;; + *-*-netware*) + noconfigdirs="$noconfigdirs target-newlib target-libgloss" + ;; + *-*-tpf*) + noconfigdirs="$noconfigdirs target-newlib target-libgloss" + ;; + *-*-uclinux*) + noconfigdirs="$noconfigdirs target-newlib target-libgloss" + ;; + *-*-vxworks*) + noconfigdirs="$noconfigdirs target-newlib target-libgloss" ;; esac -# Default libgloss CPU subdirectory. -libgloss_dir="$target_cpu" - case "${target}" in *-*-chorusos) - noconfigdirs="$noconfigdirs target-newlib target-libgloss" ;; powerpc-*-darwin*) noconfigdirs="$noconfigdirs ld gas gdb gprof" @@ -3133,123 +3361,59 @@ case "${target}" in *-*-darwin*) noconfigdirs="$noconfigdirs ld gas gdb gprof" noconfigdirs="$noconfigdirs sim target-rda" - noconfigdirs="$noconfigdirs ${libgcj}" ;; *-*-dragonfly*) - noconfigdirs="$noconfigdirs target-newlib target-libgloss" ;; *-*-freebsd*) - noconfigdirs="$noconfigdirs target-newlib target-libgloss" if test "x$with_gmp" = x && test "x$with_gmp_dir" = x \ && test -f /usr/local/include/gmp.h; then with_gmp=/usr/local fi - - # Skip some stuff that's unsupported on some FreeBSD configurations. - case "${target}" in - i*86-*-*) ;; - alpha*-*-*) ;; - x86_64-*-*) ;; - *) - noconfigdirs="$noconfigdirs ${libgcj}" - ;; - esac ;; *-*-kaos*) # Remove unsupported stuff on all kaOS configurations. noconfigdirs="$noconfigdirs target-libgloss" ;; *-*-netbsd*) - # Skip some stuff on all NetBSD configurations. - noconfigdirs="$noconfigdirs target-newlib target-libgloss" - - # Skip some stuff that's unsupported on some NetBSD configurations. - case "${target}" in - i*86-*-netbsdelf*) ;; - arm*-*-netbsdelf*) ;; - *) - noconfigdirs="$noconfigdirs ${libgcj}" - ;; - esac ;; *-*-netware*) - noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}" ;; *-*-rtems*) - noconfigdirs="$noconfigdirs target-libgloss ${libgcj}" + noconfigdirs="$noconfigdirs target-libgloss" ;; # The tpf target doesn't support gdb yet. *-*-tpf*) - noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj} gdb tcl tk libgui itcl" + noconfigdirs="$noconfigdirs gdb tcl tk libgui itcl" ;; *-*-uclinux*) - noconfigdirs="$noconfigdirs target-newlib target-libgloss target-rda ${libgcj}" + noconfigdirs="$noconfigdirs target-rda" ;; *-*-vxworks*) - noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}" ;; alpha*-dec-osf*) # ld works, but does not support shared libraries. - # newlib is not 64 bit ready. # gas doesn't generate exception information. - noconfigdirs="$noconfigdirs gas ld target-newlib target-libgloss" + noconfigdirs="$noconfigdirs gas ld" ;; alpha*-*-*vms*) - noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss ${libgcj}" - ;; - alpha*-*-linux*) - # newlib is not 64 bit ready - noconfigdirs="$noconfigdirs target-newlib target-libgloss" + noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss" ;; alpha*-*-*) # newlib is not 64 bit ready - noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}" - ;; - am33_2.0-*-linux*) - noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss" - ;; - sh-*-linux*) - noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss" + noconfigdirs="$noconfigdirs target-newlib target-libgloss" ;; sh*-*-pe|mips*-*-pe|*arm-wince-pe) - noconfigdirs="$noconfigdirs ${libgcj}" noconfigdirs="$noconfigdirs tcl tk itcl libgui sim" - noconfigdirs="$noconfigdirs target-newlib" - libgloss_dir=wince ;; arc-*-*) noconfigdirs="$noconfigdirs target-libgloss" ;; - arm-*-coff) - libgloss_dir=arm - ;; - arm-*-elf* | arm*-*-eabi* ) - noconfigdirs="$noconfigdirs target-libffi" - libgloss_dir=arm - ;; - arm*-*-linux-gnueabi) - case ${with_newlib} in - no) noconfigdirs="$noconfigdirs target-newlib target-libgloss" - esac - libgloss_dir=arm - ;; - arm*-*-symbianelf*) - noconfigdirs="$noconfigdirs ${libgcj}" - libgloss_dir=arm - ;; arm-*-pe*) - noconfigdirs="$noconfigdirs target-libgloss ${libgcj}" + noconfigdirs="$noconfigdirs target-libgloss" ;; arm-*-riscix*) noconfigdirs="$noconfigdirs ld target-libgloss" ;; - avr-*-*) - noconfigdirs="$noconfigdirs ${libgcj}" - ;; - bfin-*-*) - unsupported_languages="$unsupported_languages java" - noconfigdirs="$noconfigdirs target-boehm-gc" - ;; c4x-*-* | tic4x-*-*) noconfigdirs="$noconfigdirs target-libgloss" ;; @@ -3257,17 +3421,7 @@ case "${target}" in noconfigdirs="$noconfigdirs target-libgloss gdb" ;; cr16-*-*) - noconfigdirs="$noconfigdirs ${libgcj} gdb" - ;; - cris-*-* | crisv32-*-*) - unsupported_languages="$unsupported_languages java" - case "${target}" in - *-*-linux*) - noconfigdirs="$noconfigdirs target-newlib target-libgloss";; - *) # See PR46792 regarding target-libffi. - noconfigdirs="$noconfigdirs target-libffi target-boehm-gc";; - esac - libgloss_dir=cris + noconfigdirs="$noconfigdirs gdb" ;; d10v-*-*) noconfigdirs="$noconfigdirs target-libgloss" @@ -3276,17 +3430,13 @@ case "${target}" in noconfigdirs="$noconfigdirs gdb" ;; fr30-*-elf*) - noconfigdirs="$noconfigdirs ${libgcj} gdb" - ;; - frv-*-*) - noconfigdirs="$noconfigdirs ${libgcj}" + noconfigdirs="$noconfigdirs gdb" ;; moxie-*-*) - noconfigdirs="$noconfigdirs ${libgcj}" noconfigdirs="$noconfigdirs gprof" ;; h8300*-*-*) - noconfigdirs="$noconfigdirs target-libgloss ${libgcj}" + noconfigdirs="$noconfigdirs target-libgloss" ;; h8500-*-*) noconfigdirs="$noconfigdirs target-libgloss" @@ -3294,10 +3444,6 @@ case "${target}" in hppa1.1-*-osf* | hppa1.1-*-bsd* ) ;; 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" ;; hppa*-*-linux*) ;; @@ -3305,18 +3451,14 @@ case "${target}" in hppa*-*-lites* | \ hppa*-*-openbsd* | \ hppa*64*-*-*) - noconfigdirs="$noconfigdirs ${libgcj}" ;; hppa*-hp-hpux11*) noconfigdirs="$noconfigdirs ld" ;; hppa*-*-pro*) - libgloss_dir=pa ;; hppa*-*-*) - # According to Alexandre Oliva , libjava won't - # build on HP-UX 10.20. - noconfigdirs="$noconfigdirs ld ${libgcj}" + noconfigdirs="$noconfigdirs ld" ;; i960-*-*) noconfigdirs="$noconfigdirs gdb" @@ -3327,37 +3469,16 @@ case "${target}" in ;; ia64*-**-hpux*) # No ld support yet. - noconfigdirs="$noconfigdirs ${libgcj} libgui itcl ld" + noconfigdirs="$noconfigdirs libgui itcl ld" ;; ia64*-*-*vms*) # No gdb or ld support yet. - 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*) - # 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 - noconfigdirs="$noconfigdirs target-newlib" - fi - noconfigdirs="$noconfigdirs target-libgloss" - # If we are not using a cross compiler, do configure newlib. - # Note however, that newlib will only be configured in this situation - # if the --with-newlib option has been given, because otherwise - # 'target-newlib' will appear in skipdirs. + noconfigdirs="$noconfigdirs readline libgui itcl gdb ld" ;; i[3456789]86-w64-mingw*) - noconfigdirs="$noconfigdirs target-libgloss target-newlib ${libgcj}" ;; i[3456789]86-*-mingw*) target_configdirs="$target_configdirs target-winsup" - noconfigdirs="$noconfigdirs target-libgloss target-newlib ${libgcj}" - ;; - x86_64-*-mingw*) - noconfigdirs="$noconfigdirs target-libgloss target-newlib ${libgcj}" ;; *-*-cygwin*) target_configdirs="$target_configdirs target-libtermcap target-winsup" @@ -3369,8 +3490,6 @@ case "${target}" in echo "Warning: winsup/cygwin is missing so newlib can't be built." fi ;; - i[3456789]86-*-interix* ) - ;; i[3456789]86-*-pe) noconfigdirs="$noconfigdirs target-libgloss" ;; @@ -3382,40 +3501,27 @@ case "${target}" in i[3456789]86-*-sco*) noconfigdirs="$noconfigdirs gprof target-libgloss" ;; - i[3456789]86-*-solaris2*) + i[3456789]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*) noconfigdirs="$noconfigdirs target-libgloss" ;; i[3456789]86-*-sysv4*) noconfigdirs="$noconfigdirs target-libgloss" ;; i[3456789]86-*-beos*) - noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss" + noconfigdirs="$noconfigdirs gdb" ;; i[3456789]86-*-rdos*) - noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss" - ;; - m32r-*-*) - noconfigdirs="$noconfigdirs ${libgcj}" - ;; - m68hc11-*-*|m6811-*-*|m68hc12-*-*|m6812-*-*) - libgloss_dir=m68hc11 - ;; - m68k-*-elf*) - noconfigdirs="$noconfigdirs ${libgcj}" - ;; - m68*-*-* | fido-*-*) - libgloss_dir=m68k + noconfigdirs="$noconfigdirs gdb" ;; mmix-*-*) - noconfigdirs="$noconfigdirs target-libffi target-boehm-gc gdb" - unsupported_languages="$unsupported_languages java" + noconfigdirs="$noconfigdirs gdb" ;; mt-*-*) noconfigdirs="$noconfigdirs sim" ;; powerpc-*-aix*) # copied from rs6000-*-* entry - noconfigdirs="$noconfigdirs gprof target-libgloss target-newlib ${libgcj}" + noconfigdirs="$noconfigdirs gprof" ;; powerpc*-*-winnt* | powerpc*-*-pe*) target_configdirs="$target_configdirs target-winsup" @@ -3426,108 +3532,69 @@ case "${target}" in # This is temporary until we can link against shared libraries powerpcle-*-solaris*) noconfigdirs="$noconfigdirs gdb sim tcl tk itcl" - libgloss_dir=rs6000 ;; powerpc-*-beos*) - noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss" - ;; - powerpc-*-eabi) - noconfigdirs="$noconfigdirs ${libgcj}" - libgloss_dir=rs6000 - ;; - powerpc-*-eabi* | powerpcle-*-eabi* | powerpc-*-rtems* ) - libgloss_dir=rs6000 + noconfigdirs="$noconfigdirs gdb" ;; rs6000-*-lynxos*) - noconfigdirs="$noconfigdirs target-newlib gprof ${libgcj}" + noconfigdirs="$noconfigdirs gprof" ;; rs6000-*-aix*) - noconfigdirs="$noconfigdirs gprof target-libgloss target-newlib ${libgcj}" + noconfigdirs="$noconfigdirs gprof" ;; rs6000-*-*) - noconfigdirs="$noconfigdirs gprof ${libgcj}" + noconfigdirs="$noconfigdirs gprof" ;; m68k-apollo-*) noconfigdirs="$noconfigdirs ld binutils gprof target-libgloss" ;; microblaze*) - noconfigdirs="$noconfigdirs gprof ${libgcj}" + noconfigdirs="$noconfigdirs gprof" ;; mips*-sde-elf*) - noconfigdirs="$noconfigdirs ${libgcj}" if test x$with_newlib = xyes; then noconfigdirs="$noconfigdirs gprof" fi - libgloss_dir=mips ;; mips*-*-irix5*) noconfigdirs="$noconfigdirs gprof target-libgloss" ;; mips*-*-irix6*) - # Linking libjava exceeds command-line length limits on at least - # IRIX 6.2, but not on IRIX 6.5. - # Also, boehm-gc won't build on IRIX 6.5, according to Jeffrey Oldham - # - noconfigdirs="$noconfigdirs gprof target-libgloss ${libgcj}" + noconfigdirs="$noconfigdirs gprof target-libgloss" ;; mips*-*-bsd*) noconfigdirs="$noconfigdirs gprof target-libgloss" ;; mips*-*-linux*) - noconfigdirs="$noconfigdirs target-newlib target-libgloss" ;; mips*-*-*) - noconfigdirs="$noconfigdirs gprof ${libgcj}" - libgloss_dir=mips + noconfigdirs="$noconfigdirs gprof" ;; sh-*-* | sh64-*-*) case "${target}" in sh*-*-elf) - noconfigdirs="$noconfigdirs ${libgcj}" ;; + ;; *) - noconfigdirs="$noconfigdirs target-libgloss ${libgcj}" ;; + noconfigdirs="$noconfigdirs target-libgloss" ;; esac ;; - sparclet-*-aout* | sparc86x-*-*) - libgloss_dir=sparc - ;; - sparc-*-elf*) - noconfigdirs="$noconfigdirs ${libgcj}" - ;; - sparc64-*-elf*) - noconfigdirs="$noconfigdirs ${libgcj}" - libgloss_dir=sparc - ;; - sparclite-*-*) - libgloss_dir=sparc - ;; sparc-*-sunos4*) - if test x${is_cross_compiler} != xno ; then - noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss" - else + if test x${is_cross_compiler} = xno ; then use_gnu_ld=no fi ;; - sparc-*-solaris* | sparc64-*-solaris* | sparcv9-*-solaris*) - ;; tic6x-*-*) - noconfigdirs="$noconfigdirs gdb sim ${libgcj}" + noconfigdirs="$noconfigdirs sim" + ;; + tilepro-*-* | tilegx-*-*) + noconfigdirs="$noconfigdirs sim" ;; v810-*-*) noconfigdirs="$noconfigdirs bfd binutils gas gdb ld opcodes target-libgloss" ;; vax-*-*) - noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}" - ;; - *-*-linux* | *-*-gnu* | *-*-k*bsd*-gnu | *-*-kopensolaris*-gnu) noconfigdirs="$noconfigdirs target-newlib target-libgloss" ;; - *-*-lynxos*) - noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}" - ;; - *-*-*) - noconfigdirs="$noconfigdirs ${libgcj}" - ;; esac # If we aren't building newlib, then don't build libgloss, since libgloss @@ -4916,6 +4983,53 @@ do_compare="$gcc_cv_prog_cmp_skip" +# Check whether --enable-bootstrap was given. +if test "${enable_bootstrap+set}" = set; then : + enableval=$enable_bootstrap; +else + enable_bootstrap=default +fi + + +# 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) + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: trying to bootstrap a cross compiler" >&5 +$as_echo "$as_me: WARNING: trying to bootstrap a cross compiler" >&2;} + ;; + + # No compiler: if they passed --enable-bootstrap explicitly, fail + no:*:*:yes) + as_fn_error "cannot bootstrap without a compiler" "$LINENO" 5 ;; + + # Fail if wrong command line + *) + as_fn_error "invalid option for --enable-bootstrap" "$LINENO" 5 + ;; +esac + # See if we are building gcc with C++. # Check whether --enable-build-with-cxx was given. if test "${enable_build_with_cxx+set}" = set; then : @@ -4925,6 +5039,15 @@ else fi +# Build stage1 with C and build stages 2 and 3 with C++. +# Check whether --enable-build-poststage1-with-cxx was given. +if test "${enable_build_poststage1_with_cxx+set}" = set; then : + enableval=$enable_build_poststage1_with_cxx; ENABLE_BUILD_POSTSTAGE1_WITH_CXX=$enableval +else + ENABLE_BUILD_POSTSTAGE1_WITH_CXX=yes +fi + + # Used for setting $lt_cv_objdir { $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5 $as_echo_n "checking for objdir... " >&6; } @@ -5946,7 +6069,7 @@ fi target_elf=no case $target in *-darwin* | *-aix* | *-cygwin* | *-mingw* | *-aout* | *-*coff* | \ - *-msdosdjgpp* | *-netware* | *-vms* | *-wince* | *-*-pe* | \ + *-msdosdjgpp* | *-vms* | *-wince* | *-*-pe* | \ alpha*-dec-osf* | *-interix* | hppa[12]*-*-hpux*) target_elf=no ;; @@ -6029,6 +6152,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 + as_fn_error "bootstrapping with --enable-build-with-cxx or --enable-build-poststage1-with-cxx requires c++ sources" "$LINENO" 5 + 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. @@ -6118,9 +6254,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 @@ -6341,27 +6479,6 @@ for dir in . $skipdirs $noconfigdirs ; do fi done -# Sometimes the tools are distributed with libiberty but with no other -# libraries. In that case, we don't want to build target-libiberty. -# Don't let libgcc imply libiberty either. -if test -n "${target_configdirs}" ; then - libgcc= - others= - for i in `echo ${target_configdirs} | sed -e s/target-//g` ; do - if test "$i" = "libgcc"; then - libgcc=target-libgcc - elif test "$i" != "libiberty" ; then - if test -r $srcdir/$i/configure ; then - others=yes; - break; - fi - fi - done - if test -z "${others}" ; then - target_configdirs=$libgcc - fi -fi - # Quietly strip out all directories which aren't configurable in this tree. # This relies on all configurable subdirectories being autoconfiscated, which # is now the case. @@ -6540,6 +6657,8 @@ if test "x$CXXFLAGS_FOR_TARGET" = x; then fi + + # Handle --with-headers=XXX. If the value is not "yes", the contents of # the named directory are copied to $(tooldir)/sys-include. if test x"${with_headers}" != x && test x"${with_headers}" != xno ; then @@ -6735,14 +6854,6 @@ if test x${with_stabs} = x ; then esac fi -# hpux11 in 64bit mode has libraries in a weird place. Arrange to find -# them automatically. -case "${host}" in - hppa*64*-*-hpux11*) - extra_host_args="$extra_host_args -x-libraries=/usr/lib/pa20_64 -x-includes=/usr/X11R6/include" - ;; -esac - # Some systems (e.g., one of the i386-aix systems the gas testers are # using) don't handle "\$" correctly, so don't use it here. tooldir='${exec_prefix}'/${target_noncanonical} @@ -6786,34 +6897,6 @@ case $we_are_ok in esac rm -f conftest* -# The Solaris /usr/ucb/cc compiler does not appear to work. -case "${host}" in - sparc-sun-solaris2*) - CCBASE="`echo ${CC-cc} | sed 's/ .*$//'`" - if test "`type $CCBASE | sed 's/^[^/]*//'`" = "/usr/ucb/cc" ; then - could_use= - test -d /opt/SUNWspro/bin && could_use="/opt/SUNWspro/bin" - if test -d /opt/cygnus/bin ; then - if test "$could_use" = "" ; then - could_use="/opt/cygnus/bin" - else - could_use="$could_use or /opt/cygnus/bin" - fi - fi - if test "$could_use" = "" ; then - echo "Warning: compilation may fail because you're using" - echo "/usr/ucb/cc. You should change your PATH or CC " - echo "variable and rerun configure." - else - echo "Warning: compilation may fail because you're using" - echo "/usr/ucb/cc, when you should use the C compiler from" - echo "$could_use. You should change your" - echo "PATH or CC variable and rerun configure." - fi - fi - ;; -esac - # Decide which environment variable is used to find dynamic libraries. case "${host}" in *-*-hpux*) RPATH_ENVVAR=SHLIB_PATH ;; @@ -6883,59 +6966,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. -# Check whether --enable-bootstrap was given. -if test "${enable_bootstrap+set}" = set; then : - enableval=$enable_bootstrap; -else - enable_bootstrap=default -fi - - -# 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) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: trying to bootstrap a cross compiler" >&5 -$as_echo "$as_me: WARNING: trying to bootstrap a cross compiler" >&2;} - ;; - - # No compiler: if they passed --enable-bootstrap explicitly, fail - no:*:*:yes) - as_fn_error "cannot bootstrap without a compiler" "$LINENO" 5 ;; - - # Fail if wrong command line - *) - as_fn_error "invalid option for --enable-bootstrap" "$LINENO" 5 - ;; -esac - -case ",$enable_languages,:$ENABLE_BUILD_WITH_CXX:$enable_bootstrap" in - *,c++,*:yes:yes) ;; - *:yes:yes) - as_fn_error "bootstrapping with --enable-build-with-cxx requires c++ in --enable-languages" "$LINENO" 5 - ;; -esac - case "$enable_bootstrap:$ENABLE_GOLD: $configdirs :,$stage1_languages," in yes:yes:*\ gold\ *:*,c++,*) ;; yes:yes:*\ gold\ *:*) @@ -13982,6 +14012,15 @@ case ${enable_werror} in esac +# 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 + + # Specify what files to not compare during bootstrap. compare_exclusions="gcc/cc*-checksum\$(objext) | gcc/ada/*tools/*"