+# Disable libatomic on unsupported systems.
+if test -d ${srcdir}/libatomic; then
+ if test x$enable_libatomic = x; then
+ AC_MSG_CHECKING([for libatomic support])
+ if (srcdir=${srcdir}/libatomic; \
+ . ${srcdir}/configure.tgt; \
+ test -n "$UNSUPPORTED")
+ then
+ AC_MSG_RESULT([no])
+ noconfigdirs="$noconfigdirs target-libatomic"
+ else
+ AC_MSG_RESULT([yes])
+ fi
+ fi
+fi
+
+# Disable libcilkrts on unsupported systems.
+if test -d ${srcdir}/libcilkrts; then
+ if test x$enable_libcilkrts = x; then
+ AC_MSG_CHECKING([for libcilkrts support])
+ if (srcdir=${srcdir}/libcilkrts; \
+ . ${srcdir}/configure.tgt; \
+ test -n "$UNSUPPORTED")
+ then
+ AC_MSG_RESULT([no])
+ noconfigdirs="$noconfigdirs target-libcilkrts"
+ else
+ AC_MSG_RESULT([yes])
+ fi
+ fi
+fi
+
+# Disable liboffloadmic on unsupported systems.
+if test -d ${srcdir}/liboffloadmic; then
+ if test x$enable_liboffloadmic != xno; then
+ AC_MSG_CHECKING([for liboffloadmic support])
+ if (srcdir=${srcdir}/liboffloadmic; \
+ . ${srcdir}/configure.tgt; \
+ test -n "$UNSUPPORTED")
+ then
+ AC_MSG_RESULT([no])
+ noconfigdirs="$noconfigdirs target-liboffloadmic"
+ else
+ AC_MSG_RESULT([yes])
+ fi
+ fi
+fi
+
+# Disable libitm on unsupported systems.
+if test -d ${srcdir}/libitm; then
+ if test x$enable_libitm = x; then
+ AC_MSG_CHECKING([for libitm support])
+ if (srcdir=${srcdir}/libitm; \
+ . ${srcdir}/configure.tgt; \
+ test -n "$UNSUPPORTED")
+ then
+ AC_MSG_RESULT([no])
+ noconfigdirs="$noconfigdirs target-libitm"
+ else
+ AC_MSG_RESULT([yes])
+ fi
+ fi
+fi
+
+# Disable libsanitizer on unsupported systems.
+if test -d ${srcdir}/libsanitizer; then
+ if test x$enable_libsanitizer = x; then
+ AC_MSG_CHECKING([for libsanitizer support])
+ if (srcdir=${srcdir}/libsanitizer; \
+ . ${srcdir}/configure.tgt; \
+ test -n "$UNSUPPORTED")
+ then
+ AC_MSG_RESULT([no])
+ noconfigdirs="$noconfigdirs target-libsanitizer"
+ else
+ AC_MSG_RESULT([yes])
+ fi
+ fi
+fi
+
+# Disable libvtv on unsupported systems.
+if test -d ${srcdir}/libvtv; then
+ if test x$enable_libvtv = x; then
+ AC_MSG_CHECKING([for libvtv support])
+ if (srcdir=${srcdir}/libvtv; \
+ . ${srcdir}/configure.tgt; \
+ test "$VTV_SUPPORTED" != "yes")
+ then
+ AC_MSG_RESULT([no])
+ noconfigdirs="$noconfigdirs target-libvtv"
+ else
+ AC_MSG_RESULT([yes])
+ fi
+ fi
+fi
+
+
+# Enable libmpx on supported systems by request.
+if test -d ${srcdir}/libmpx; then
+ if test x$enable_libmpx = x; then
+ AC_MSG_CHECKING([for libmpx support])
+ if (srcdir=${srcdir}/libmpx; \
+ . ${srcdir}/configure.tgt; \
+ test "$LIBMPX_SUPPORTED" != "yes")
+ then
+ AC_MSG_RESULT([no])
+ noconfigdirs="$noconfigdirs target-libmpx"
+ else
+ AC_MSG_RESULT([yes])
+ fi
+ fi
+fi
+
+
+
+# Disable libquadmath for some systems.
+case "${target}" in
+ avr-*-*)
+ noconfigdirs="$noconfigdirs target-libquadmath"
+ ;;
+ # libquadmath is unused on AIX and libquadmath build process use of
+ # LD_LIBRARY_PATH can break AIX bootstrap.
+ powerpc-*-aix* | rs6000-*-aix*)
+ noconfigdirs="$noconfigdirs target-libquadmath"
+ ;;
+esac
+
+# 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"
+ ;;
+ rl78-*-*)
+ # libssp uses a misaligned load to trigger a fault, but the RL78
+ # doesn't fault for those - instead, it gives a build-time error
+ # for explicit misaligned loads.
+ noconfigdirs="$noconfigdirs target-libssp"
+ ;;
+ visium-*-*)
+ # No hosted I/O support.
+ noconfigdirs="$noconfigdirs target-libssp"
+ ;;
+esac
+
+# Disable libstdc++-v3 for some systems.
+# Allow user to override this if they pass --enable-libstdc++-v3
+if test "${ENABLE_LIBSTDCXX}" = "default" ; then
+ 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"
+ ;;
+ ft32-*-*)
+ noconfigdirs="$noconfigdirs target-libstdc++-v3"
+ ;;
+ esac
+fi
+
+# Disable Fortran for some systems.
+case "${target}" in
+ mmix-*-*)
+ # See <http://gcc.gnu.org/ml/gcc-patches/2004-11/msg00572.html>.
+ unsupported_languages="$unsupported_languages fortran"
+ ;;
+esac
+
+# Disable Java if libffi is not supported.
+case "${target}" in
+ aarch64-*-*)
+ ;;
+ alpha*-*-*)
+ ;;
+ arm*-*-*)
+ ;;
+ cris-*-*)
+ ;;
+ frv-*-*)
+ ;;
+ hppa*-*-linux*)
+ ;;
+ hppa*-*-hpux*)
+ ;;
+ i?86-*-*)
+ ;;
+ ia64*-*-*)
+ ;;
+ m32r*-*-*)
+ ;;
+ m68k-*-*)
+ ;;
+ 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 ${libgcj}"
+ ;;
+ *-*-rtems*)
+ noconfigdirs="$noconfigdirs ${libgcj}"
+ ;;
+ *-*-tpf*)
+ noconfigdirs="$noconfigdirs ${libgcj}"
+ ;;
+ *-*-uclinux*)
+ noconfigdirs="$noconfigdirs ${libgcj}"
+ ;;
+ *-*-vxworks*)
+ noconfigdirs="$noconfigdirs ${libgcj}"
+ ;;
+ alpha*-*-*vms*)
+ noconfigdirs="$noconfigdirs ${libgcj}"
+ ;;
+ arm*-*-freebsd*)
+ noconfigdirs="$noconfigdirs ${libgcj}"
+ ;;
+ 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
+ *-*-linux*)
+ ;;
+ *) # See PR46792 regarding target-libffi.
+ noconfigdirs="$noconfigdirs target-libffi target-boehm-gc";;
+ esac
+ ;;
+ 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"
+ ;;
+ hppa*64*-*-hpux*)
+ noconfigdirs="$noconfigdirs ${libgcj}"
+ ;;
+ hppa*-hp-hpux11*)
+ ;;
+ hppa*-*-hpux*)
+ # According to Alexandre Oliva <aoliva@redhat.com>, 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}"
+ ;;
+ ft32-*-*)
+ noconfigdirs="$noconfigdirs ${libgcj}"
+ ;;
+ *-*-lynxos*)
+ noconfigdirs="$noconfigdirs ${libgcj}"
+ ;;
+esac
+
+# Disable the go frontend on systems where it is known to not work. Please keep
+# this in sync with contrib/config-list.mk.
+case "${target}" in
+*-*-darwin* | *-*-cygwin* | *-*-mingw* | *-*-aix*)
+ unsupported_languages="$unsupported_languages go"
+ ;;
+esac
+
+# Disable libgo for some systems where it is known to not work.
+# For testing, you can easily override this with --enable-libgo.
+if test x$enable_libgo = x; then
+ case "${target}" in
+ *-*-darwin*)
+ # PR 46986
+ noconfigdirs="$noconfigdirs target-libgo"
+ ;;
+ *-*-cygwin* | *-*-mingw*)
+ noconfigdirs="$noconfigdirs target-libgo"
+ ;;
+ *-*-aix*)
+ noconfigdirs="$noconfigdirs target-libgo"
+ ;;
+ esac
+fi
+