X-Git-Url: http://git.sourceforge.jp/view?p=pf3gnuchains%2Fgcc-fork.git;a=blobdiff_plain;f=configure.ac;h=337e11d202ae62ccfaa868b1097a5b605ca7b3f6;hp=58fdd309ea370fde6d71996ec2677eb3b9d72ab2;hb=40125f1c8fc1fdff755fe372aca2b0a4a7473c31;hpb=f24be4807bddd398aaff55f9be182e3bf685598d diff --git a/configure.ac b/configure.ac index 58fdd309ea3..337e11d202a 100644 --- a/configure.ac +++ b/configure.ac @@ -149,9 +149,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 \ @@ -444,6 +443,20 @@ no) ;; esac +AC_ARG_ENABLE(static-libjava, +[AS_HELP_STRING([[--enable-static-libjava[=ARG]]], + [build static libjava @<:@default=no@:>@])], +ENABLE_STATIC_LIBJAVA=$enableval, +ENABLE_STATIC_LIBJAVA=no) +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 +AC_SUBST(EXTRA_CONFIGARGS_LIBJAVA) # Disable libmudflap on some systems. if test x$enable_libmudflap = x ; then @@ -490,51 +503,6 @@ case "${target}" in ;; 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*) @@ -558,109 +526,97 @@ case "${target}" in ;; esac -# Disable Java, libgcj or related libraries for some systems. +# Disable Java if libffi is not supported. case "${target}" in - *-*-chorusos) + alpha*-*-*) ;; - powerpc-*-darwin*) + arm*-*-*) ;; - i[[3456789]]86-*-darwin*) + cris-*-*) ;; - x86_64-*-darwin[[912]]*) + frv-*-*) ;; - *-*-darwin*) - noconfigdirs="$noconfigdirs ${libgcj}" + hppa*-*-linux*) ;; - *-*-dragonfly*) + hppa*-*-hpux*) ;; - *-*-freebsd*) - # Skip some stuff that's unsupported on some FreeBSD configurations. - case "${target}" in - i*86-*-*) ;; - alpha*-*-*) ;; - x86_64-*-*) ;; - *) - noconfigdirs="$noconfigdirs ${libgcj}" - ;; - esac + i?86-*-*) ;; - *-*-kaos*) + ia64*-*-*) ;; - *-*-netbsd*) - # Skip some stuff that's unsupported on some NetBSD configurations. - case "${target}" in - i*86-*-netbsdelf*) ;; - arm*-*-netbsdelf*) ;; - *) - noconfigdirs="$noconfigdirs ${libgcj}" - ;; - esac + m32r*-*-*) ;; - *-*-netware*) - noconfigdirs="$noconfigdirs ${libgcj}" + m68k-*-*) ;; - *-*-rtems*) - noconfigdirs="$noconfigdirs ${libgcj}" + mips-sgi-irix6.* | mips*-*-rtems*) ;; - *-*-tpf*) - noconfigdirs="$noconfigdirs ${libgcj}" + mips*-*-linux*) ;; - *-*-uclinux*) - noconfigdirs="$noconfigdirs ${libgcj}" + powerpc*-*-linux*) ;; - *-*-vxworks*) - noconfigdirs="$noconfigdirs ${libgcj}" + powerpc-*-darwin*) ;; - alpha*-dec-osf*) + powerpc-*-aix* | rs6000-*-aix*) ;; - alpha*-*-*vms*) - noconfigdirs="$noconfigdirs ${libgcj}" + powerpc-*-freebsd*) ;; - alpha*-*-linux*) + powerpc64-*-freebsd*) ;; - alpha*-*-*) - noconfigdirs="$noconfigdirs ${libgcj}" + powerpc*-*-rtems*) ;; - am33_2.0-*-linux*) - noconfigdirs="$noconfigdirs ${libgcj}" + s390-*-* | s390x-*-*) ;; - sh-*-linux*) - noconfigdirs="$noconfigdirs ${libgcj}" - ;; - sh*-*-pe|mips*-*-pe|*arm-wince-pe) - noconfigdirs="$noconfigdirs ${libgcj}" + sh-*-* | sh[[34]]*-*-*) ;; - arc-*-*) + sh64-*-* | sh5*-*-*) ;; - arm-*-coff) + sparc*-*-*) ;; - arm-*-elf* | arm*-*-eabi* ) - noconfigdirs="$noconfigdirs target-libffi" + x86_64-*-*) ;; - arm*-*-linux-gnueabi) + *-*-*) + unsupported_languages="$unsupported_languages java" ;; - arm*-*-symbianelf*) +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}" ;; - arm-*-pe*) + *-*-netware*) noconfigdirs="$noconfigdirs ${libgcj}" ;; - arm-*-riscix*) + *-*-rtems*) + noconfigdirs="$noconfigdirs ${libgcj}" ;; - avr-*-*) + *-*-tpf*) noconfigdirs="$noconfigdirs ${libgcj}" ;; - bfin-*-*) - unsupported_languages="$unsupported_languages java" - noconfigdirs="$noconfigdirs target-boehm-gc" + *-*-uclinux*) + noconfigdirs="$noconfigdirs ${libgcj}" ;; - c4x-*-* | tic4x-*-*) + *-*-vxworks*) + noconfigdirs="$noconfigdirs ${libgcj}" ;; - tic54x-*-*) + alpha*-*-*vms*) + noconfigdirs="$noconfigdirs ${libgcj}" ;; - cr16-*-*) + arm-wince-pe) + noconfigdirs="$noconfigdirs ${libgcj}" + ;; + arm*-*-symbianelf*) noconfigdirs="$noconfigdirs ${libgcj}" ;; + bfin-*-*) + noconfigdirs="$noconfigdirs target-boehm-gc" + ;; cris-*-* | crisv32-*-*) unsupported_languages="$unsupported_languages java" case "${target}" in @@ -670,63 +626,25 @@ case "${target}" in noconfigdirs="$noconfigdirs target-libffi target-boehm-gc";; esac ;; - d10v-*-*) - ;; - d30v-*-*) - ;; - fr30-*-elf*) - noconfigdirs="$noconfigdirs ${libgcj}" - ;; - frv-*-*) - noconfigdirs="$noconfigdirs ${libgcj}" - ;; - moxie-*-*) - noconfigdirs="$noconfigdirs ${libgcj}" - ;; - h8300*-*-*) - noconfigdirs="$noconfigdirs ${libgcj}" - ;; - h8500-*-*) - ;; - 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*) + unsupported_languages="$unsupported_languages java" ;; - hppa*-*-*elf* | \ - hppa*-*-lites* | \ - hppa*-*-openbsd* | \ - hppa*64*-*-*) + hppa*64*-*-hpux*) noconfigdirs="$noconfigdirs ${libgcj}" ;; hppa*-hp-hpux11*) ;; - hppa*-*-pro*) - ;; - hppa*-*-*) + hppa*-*-hpux*) # According to Alexandre Oliva , libjava won't # build on HP-UX 10.20. noconfigdirs="$noconfigdirs ${libgcj}" ;; - i960-*-*) - ;; - ia64*-*-elf*) - ;; - ia64*-**-hpux*) - ;; ia64*-*-*vms*) noconfigdirs="$noconfigdirs ${libgcj}" ;; - i[[3456789]]86-*-coff | i[[3456789]]86-*-elf) - noconfigdirs="$noconfigdirs ${libgcj}" - ;; - i[[3456789]]86-*-linux*) - ;; i[[3456789]]86-w64-mingw*) noconfigdirs="$noconfigdirs ${libgcj}" ;; @@ -736,74 +654,16 @@ case "${target}" in x86_64-*-mingw*) noconfigdirs="$noconfigdirs ${libgcj}" ;; - *-*-cygwin*) - ;; - i[[3456789]]86-*-interix* ) - ;; - i[[3456789]]86-*-pe) - ;; - i[[3456789]]86-*-sco3.2v5*) - ;; - i[[3456789]]86-*-sco*) - ;; - i[[3456789]]86-*-solaris2*) - ;; - i[[3456789]]86-*-sysv4*) - ;; - i[[3456789]]86-*-beos*) - ;; - i[[3456789]]86-*-rdos*) - ;; - m32r-*-*) - noconfigdirs="$noconfigdirs ${libgcj}" - ;; - m68hc11-*-*|m6811-*-*|m68hc12-*-*|m6812-*-*) - ;; - m68k-*-elf*) - noconfigdirs="$noconfigdirs ${libgcj}" - ;; - m68*-*-* | fido-*-*) - ;; mmix-*-*) noconfigdirs="$noconfigdirs target-libffi target-boehm-gc" - unsupported_languages="$unsupported_languages java" - ;; - mt-*-*) ;; powerpc-*-aix*) # copied from rs6000-*-* entry noconfigdirs="$noconfigdirs ${libgcj}" ;; - powerpc*-*-winnt* | powerpc*-*-pe*) - ;; - powerpcle-*-solaris*) - ;; - powerpc-*-beos*) - ;; - powerpc-*-eabi) - noconfigdirs="$noconfigdirs ${libgcj}" - ;; - powerpc-*-eabi* | powerpcle-*-eabi* | powerpc-*-rtems* ) - ;; - rs6000-*-lynxos*) - noconfigdirs="$noconfigdirs ${libgcj}" - ;; rs6000-*-aix*) noconfigdirs="$noconfigdirs ${libgcj}" ;; - rs6000-*-*) - noconfigdirs="$noconfigdirs ${libgcj}" - ;; - m68k-apollo-*) - ;; - microblaze*) - noconfigdirs="$noconfigdirs ${libgcj}" - ;; - mips*-sde-elf*) - noconfigdirs="$noconfigdirs ${libgcj}" - ;; - mips*-*-irix5*) - ;; mips*-*-irix6*) # Linking libjava exceeds command-line length limits on at least # IRIX 6.2, but not on IRIX 6.5. @@ -811,54 +671,116 @@ case "${target}" in # noconfigdirs="$noconfigdirs ${libgcj}" ;; - mips*-*-bsd*) + *-*-lynxos*) + noconfigdirs="$noconfigdirs ${libgcj}" + ;; +esac + +# Default libgloss CPU subdirectory. +libgloss_dir="$target_cpu" + +case "${target}" in + sh*-*-pe|mips*-*-pe|*arm-wince-pe) + libgloss_dir=wince ;; - mips*-*-linux*) + arm*-*-*) + libgloss_dir=arm + ;; + 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*-*-*) - noconfigdirs="$noconfigdirs ${libgcj}" + libgloss_dir=mips ;; - sh-*-* | sh64-*-*) - noconfigdirs="$noconfigdirs ${libgcj}" + powerpc*-*-*) + libgloss_dir=rs6000 ;; - sparclet-*-aout* | sparc86x-*-*) + sparc*-*-*) + libgloss_dir=sparc ;; - sparc-*-elf*) - noconfigdirs="$noconfigdirs ${libgcj}" +esac + +# Disable newlib and libgloss for various target OSes. +case "${target}" in + alpha*-dec-osf*) + noconfigdirs="$noconfigdirs target-newlib target-libgloss" ;; - sparc64-*-elf*) - noconfigdirs="$noconfigdirs ${libgcj}" + 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. ;; - sparclite-*-*) + 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" ;; - sparc-*-solaris* | sparc64-*-solaris* | sparcv9-*-solaris*) + *-*-aix*) + noconfigdirs="$noconfigdirs target-newlib target-libgloss" ;; - tic6x-*-*) - noconfigdirs="$noconfigdirs ${libgcj}" + *-*-beos*) + noconfigdirs="$noconfigdirs target-newlib target-libgloss" ;; - v810-*-*) + *-*-chorusos) + noconfigdirs="$noconfigdirs target-newlib target-libgloss" ;; - vax-*-*) - noconfigdirs="$noconfigdirs ${libgcj}" + *-*-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 ${libgcj}" + noconfigdirs="$noconfigdirs target-newlib target-libgloss" ;; - *-*-*) - noconfigdirs="$noconfigdirs ${libgcj}" + *-*-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" @@ -877,10 +799,8 @@ case "${target}" in noconfigdirs="$noconfigdirs sim target-rda" ;; *-*-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 @@ -891,81 +811,45 @@ case "${target}" in noconfigdirs="$noconfigdirs target-libgloss" ;; *-*-netbsd*) - # Skip some stuff on all NetBSD configurations. - noconfigdirs="$noconfigdirs target-newlib target-libgloss" ;; *-*-netware*) - noconfigdirs="$noconfigdirs target-newlib target-libgloss" ;; *-*-rtems*) noconfigdirs="$noconfigdirs target-libgloss" ;; # The tpf target doesn't support gdb yet. *-*-tpf*) - noconfigdirs="$noconfigdirs target-newlib target-libgloss gdb tcl tk libgui itcl" + noconfigdirs="$noconfigdirs gdb tcl tk libgui itcl" ;; *-*-uclinux*) - noconfigdirs="$noconfigdirs target-newlib target-libgloss target-rda" + noconfigdirs="$noconfigdirs target-rda" ;; *-*-vxworks*) - noconfigdirs="$noconfigdirs target-newlib target-libgloss" ;; 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" ;; - alpha*-*-linux*) - # newlib is not 64 bit ready - noconfigdirs="$noconfigdirs target-newlib target-libgloss" - ;; alpha*-*-*) # newlib is not 64 bit ready noconfigdirs="$noconfigdirs target-newlib target-libgloss" ;; - am33_2.0-*-linux*) - noconfigdirs="$noconfigdirs target-newlib target-libgloss" - ;; - sh-*-linux*) - noconfigdirs="$noconfigdirs target-newlib target-libgloss" - ;; sh*-*-pe|mips*-*-pe|*arm-wince-pe) 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* ) - libgloss_dir=arm - ;; - arm*-*-linux-gnueabi) - case ${with_newlib} in - no) noconfigdirs="$noconfigdirs target-newlib target-libgloss" - esac - libgloss_dir=arm - ;; - arm*-*-symbianelf*) - libgloss_dir=arm - ;; arm-*-pe*) noconfigdirs="$noconfigdirs target-libgloss" ;; arm-*-riscix*) noconfigdirs="$noconfigdirs ld target-libgloss" ;; - avr-*-*) - ;; - bfin-*-*) - ;; c4x-*-* | tic4x-*-*) noconfigdirs="$noconfigdirs target-libgloss" ;; @@ -975,13 +859,6 @@ case "${target}" in cr16-*-*) noconfigdirs="$noconfigdirs gdb" ;; - cris-*-* | crisv32-*-*) - case "${target}" in - *-*-linux*) - noconfigdirs="$noconfigdirs target-newlib target-libgloss";; - esac - libgloss_dir=cris - ;; d10v-*-*) noconfigdirs="$noconfigdirs target-libgloss" ;; @@ -991,8 +868,6 @@ case "${target}" in fr30-*-elf*) noconfigdirs="$noconfigdirs gdb" ;; - frv-*-*) - ;; moxie-*-*) noconfigdirs="$noconfigdirs gprof" ;; @@ -1017,7 +892,6 @@ case "${target}" in noconfigdirs="$noconfigdirs ld" ;; hppa*-*-pro*) - libgloss_dir=pa ;; hppa*-*-*) noconfigdirs="$noconfigdirs ld" @@ -1037,30 +911,10 @@ case "${target}" in # No gdb or ld support yet. noconfigdirs="$noconfigdirs readline libgui itcl gdb ld" ;; - i[[3456789]]86-*-coff | i[[3456789]]86-*-elf) - 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. - ;; i[[3456789]]86-w64-mingw*) - noconfigdirs="$noconfigdirs target-libgloss target-newlib" ;; i[[3456789]]86-*-mingw*) target_configdirs="$target_configdirs target-winsup" - noconfigdirs="$noconfigdirs target-libgloss target-newlib" - ;; - x86_64-*-mingw*) - noconfigdirs="$noconfigdirs target-libgloss target-newlib" ;; *-*-cygwin*) target_configdirs="$target_configdirs target-libtermcap target-winsup" @@ -1072,8 +926,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" ;; @@ -1085,27 +937,17 @@ 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-*-*) - ;; - m68hc11-*-*|m6811-*-*|m68hc12-*-*|m6812-*-*) - libgloss_dir=m68hc11 - ;; - m68k-*-elf*) - ;; - m68*-*-* | fido-*-*) - libgloss_dir=m68k + noconfigdirs="$noconfigdirs gdb" ;; mmix-*-*) noconfigdirs="$noconfigdirs gdb" @@ -1115,7 +957,7 @@ case "${target}" in ;; powerpc-*-aix*) # copied from rs6000-*-* entry - noconfigdirs="$noconfigdirs gprof target-libgloss target-newlib" + noconfigdirs="$noconfigdirs gprof" ;; powerpc*-*-winnt* | powerpc*-*-pe*) target_configdirs="$target_configdirs target-winsup" @@ -1126,22 +968,15 @@ 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) - libgloss_dir=rs6000 - ;; - powerpc-*-eabi* | powerpcle-*-eabi* | powerpc-*-rtems* ) - libgloss_dir=rs6000 + noconfigdirs="$noconfigdirs gdb" ;; rs6000-*-lynxos*) - noconfigdirs="$noconfigdirs target-newlib gprof" + noconfigdirs="$noconfigdirs gprof" ;; rs6000-*-aix*) - noconfigdirs="$noconfigdirs gprof target-libgloss target-newlib" + noconfigdirs="$noconfigdirs gprof" ;; rs6000-*-*) noconfigdirs="$noconfigdirs gprof" @@ -1156,7 +991,6 @@ case "${target}" in if test x$with_newlib = xyes; then noconfigdirs="$noconfigdirs gprof" fi - libgloss_dir=mips ;; mips*-*-irix5*) noconfigdirs="$noconfigdirs gprof target-libgloss" @@ -1168,11 +1002,9 @@ case "${target}" in noconfigdirs="$noconfigdirs gprof target-libgloss" ;; mips*-*-linux*) - noconfigdirs="$noconfigdirs target-newlib target-libgloss" ;; mips*-*-*) noconfigdirs="$noconfigdirs gprof" - libgloss_dir=mips ;; sh-*-* | sh64-*-*) case "${target}" in @@ -1182,28 +1014,16 @@ case "${target}" in noconfigdirs="$noconfigdirs target-libgloss" ;; esac ;; - sparclet-*-aout* | sparc86x-*-*) - libgloss_dir=sparc - ;; - sparc-*-elf*) - ;; - sparc64-*-elf*) - 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" + noconfigdirs="$noconfigdirs sim" + ;; + tilepro-*-* | tilegx-*-*) + noconfigdirs="$noconfigdirs sim" ;; v810-*-*) noconfigdirs="$noconfigdirs bfd binutils gas gdb ld opcodes target-libgloss" @@ -1211,14 +1031,6 @@ case "${target}" in vax-*-*) 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" - ;; - *-*-*) - ;; esac # If we aren't building newlib, then don't build libgloss, since libgloss @@ -1321,6 +1133,49 @@ fi ACX_PROG_GNAT ACX_PROG_CMP_IGNORE_INITIAL +AC_ARG_ENABLE([bootstrap], +[AS_HELP_STRING([--enable-bootstrap], + [enable bootstrapping @<:@yes if native build@:>@])],, +enable_bootstrap=default) + +# Issue errors and warnings for invalid/strange bootstrap combinations. +if test -r $srcdir/gcc/configure; then + have_compiler=yes +else + have_compiler=no +fi + +case "$have_compiler:$host:$target:$enable_bootstrap" in + *:*:*:no) ;; + + # Default behavior. Enable bootstrap if we have a compiler + # and we are in a native configuration. + yes:$build:$build:default) + enable_bootstrap=yes ;; + + *:*:*:default) + enable_bootstrap=no ;; + + # We have a compiler and we are in a native configuration, bootstrap is ok + yes:$build:$build:yes) + ;; + + # Other configurations, but we have a compiler. Assume the user knows + # what he's doing. + yes:*:*:yes) + AC_MSG_WARN([trying to bootstrap a cross compiler]) + ;; + + # No compiler: if they passed --enable-bootstrap explicitly, fail + no:*:*:yes) + AC_MSG_ERROR([cannot bootstrap without a compiler]) ;; + + # Fail if wrong command line + *) + AC_MSG_ERROR([invalid option for --enable-bootstrap]) + ;; +esac + # See if we are building gcc with C++. AC_ARG_ENABLE(build-with-cxx, [AS_HELP_STRING([--enable-build-with-cxx], @@ -1328,6 +1183,13 @@ AC_ARG_ENABLE(build-with-cxx, ENABLE_BUILD_WITH_CXX=$enableval, ENABLE_BUILD_WITH_CXX=no) +# Build stage1 with C and build stages 2 and 3 with C++. +AC_ARG_ENABLE(build-poststage1-with-cxx, +[AS_HELP_STRING([--enable-build-poststage1-with-cxx], + [build stages 2 and 3 with C++, not C])], +ENABLE_BUILD_POSTSTAGE1_WITH_CXX=$enableval, +ENABLE_BUILD_POSTSTAGE1_WITH_CXX=yes) + # Used for setting $lt_cv_objdir _LT_CHECK_OBJDIR @@ -1809,6 +1671,19 @@ if test -d ${srcdir}/gcc; then ;; esac + # If bootstrapping, then using --enable-build-with-cxx or + # --enable-build-poststage1-with-cxx requires enabling C++. + case ",$enable_languages,:,$ENABLE_BUILD_WITH_CXX,$ENABLE_BUILD_POSTSTAGE1_WITH_CXX,:$enable_bootstrap" in + *,c++,*:*:*) ;; + *:*,yes,*:yes) + if test -f ${srcdir}/gcc/cp/config-lang.in; then + enable_languages="${enable_languages},c++" + else + AC_MSG_ERROR([bootstrapping with --enable-build-with-cxx or --enable-build-poststage1-with-cxx requires c++ sources]) + fi + ;; + esac + # First scan to see if an enabled language requires some other language. # We assume that a given config-lang.in will list all the language # front ends it requires, even if some are required indirectly. @@ -1898,9 +1773,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 @@ -2121,27 +1998,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. @@ -2269,6 +2125,8 @@ if test "x$CXXFLAGS_FOR_TARGET" = x; then fi AC_SUBST(CXXFLAGS_FOR_TARGET) +AC_SUBST(LDFLAGS_FOR_TARGET) + # 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 @@ -2464,14 +2322,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} @@ -2515,34 +2365,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 ;; @@ -2612,55 +2434,6 @@ INSTALL_GDB_TK=`echo ${GDB_TK} | sed s/-all-/-install-/g` # 99 commands in a script, for HP-UX sed. # Do not nest @if/@endif pairs, because configure will not warn you at all. -AC_ARG_ENABLE([bootstrap], -[AS_HELP_STRING([--enable-bootstrap], - [enable bootstrapping @<:@yes if native build@:>@])],, -enable_bootstrap=default) - -# Issue errors and warnings for invalid/strange bootstrap combinations. -case "$configdirs" in - *gcc*) have_compiler=yes ;; - *) have_compiler=no ;; -esac - -case "$have_compiler:$host:$target:$enable_bootstrap" in - *:*:*:no) ;; - - # Default behavior. Enable bootstrap if we have a compiler - # and we are in a native configuration. - yes:$build:$build:default) - enable_bootstrap=yes ;; - - *:*:*:default) - enable_bootstrap=no ;; - - # We have a compiler and we are in a native configuration, bootstrap is ok - yes:$build:$build:yes) - ;; - - # Other configurations, but we have a compiler. Assume the user knows - # what he's doing. - yes:*:*:yes) - AC_MSG_WARN([trying to bootstrap a cross compiler]) - ;; - - # No compiler: if they passed --enable-bootstrap explicitly, fail - no:*:*:yes) - AC_MSG_ERROR([cannot bootstrap without a compiler]) ;; - - # Fail if wrong command line - *) - AC_MSG_ERROR([invalid option for --enable-bootstrap]) - ;; -esac - -case ",$enable_languages,:$ENABLE_BUILD_WITH_CXX:$enable_bootstrap" in - *,c++,*:yes:yes) ;; - *:yes:yes) - AC_MSG_ERROR([bootstrapping with --enable-build-with-cxx requires c++ in --enable-languages]) - ;; -esac - case "$enable_bootstrap:$ENABLE_GOLD: $configdirs :,$stage1_languages," in yes:yes:*\ gold\ *:*,c++,*) ;; yes:yes:*\ gold\ *:*) @@ -3445,6 +3218,15 @@ case ${enable_werror} in esac AC_SUBST(stage2_werror_flag) +# If using ENABLE_BUILD_POSTSTAGE1_WITH_CXX, pass +# --enable-build-with-cxx after stage1. +if test "$ENABLE_BUILD_POSTSTAGE1_WITH_CXX" = "yes"; then + POSTSTAGE1_CONFIGURE_FLAGS=--enable-build-with-cxx +else + POSTSTAGE1_CONFIGURE_FLAGS= +fi +AC_SUBST(POSTSTAGE1_CONFIGURE_FLAGS) + # Specify what files to not compare during bootstrap. compare_exclusions="gcc/cc*-checksum\$(objext) | gcc/ada/*tools/*"