From 260eedb901c1b3df69598a724e23e33674ab654b Mon Sep 17 00:00:00 2001 From: Iain Buclaw Date: Wed, 31 Oct 2018 09:44:31 +0000 Subject: [PATCH] re PR d/87788 (Support D on x86_64-apple-darwin*) ChangeLog: 2018-10-31 Iain Buclaw PR bootstrap/87788 PR d/87799 * configure: Rebuild. * configure.ac: Disable D on systems where it is known not to work. libphobos/ChangeLog: 2018-10-31 Iain Buclaw PR bootstrap/87789 PR d/87818 PR d/87819 * configure.tgt: New file. From-SVN: r265658 --- ChangeLog | 7 +++++++ configure | 34 ++++++++++++++++++++++++++++++++++ configure.ac | 31 +++++++++++++++++++++++++++++++ libphobos/ChangeLog | 7 +++++++ libphobos/configure.tgt | 36 ++++++++++++++++++++++++++++++++++++ 5 files changed, 115 insertions(+) create mode 100644 libphobos/configure.tgt diff --git a/ChangeLog b/ChangeLog index 3ad23042bdd..82f077e4b4d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2018-10-31 Iain Buclaw + + PR bootstrap/87788 + PR d/87799 + * configure: Rebuild. + * configure.ac: Disable D on systems where it is known not to work. + 2018-10-28 Iain Buclaw * Makefile.def (target_modules): Add libphobos. diff --git a/configure b/configure index 77e7e1869ba..20741aef7e3 100755 --- a/configure +++ b/configure @@ -3345,6 +3345,40 @@ if test "${ENABLE_LIBSTDCXX}" = "default" ; then esac fi +# Disable D on systems where it is known to not work. +# For testing, you can override this with --enable-languages=d. +case ,${enable_languages}, in + *,d,*) + ;; + *) + case "${target}" in + *-*-darwin* | *-*-cygwin* | *-*-mingw*) + unsupported_languages="$unsupported_languages d" + ;; + esac + ;; +esac + +# Disable libphobos on unsupported systems. +# For testing, you can override this with --enable-libphobos. +if test -d ${srcdir}/libphobos; then + if test x$enable_libphobos = x; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libphobos support" >&5 +$as_echo_n "checking for libphobos support... " >&6; } + if (srcdir=${srcdir}/libphobos; \ + . ${srcdir}/configure.tgt; \ + test -n "$UNSUPPORTED") + then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + noconfigdirs="$noconfigdirs target-libphobos" + else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + fi + fi +fi + # Disable Fortran for some systems. case "${target}" in mmix-*-*) diff --git a/configure.ac b/configure.ac index 1e5979dc043..b10212b3be5 100644 --- a/configure.ac +++ b/configure.ac @@ -674,6 +674,37 @@ if test "${ENABLE_LIBSTDCXX}" = "default" ; then esac fi +# Disable D on systems where it is known to not work. +# For testing, you can override this with --enable-languages=d. +case ,${enable_languages}, in + *,d,*) + ;; + *) + case "${target}" in + *-*-darwin* | *-*-cygwin* | *-*-mingw*) + unsupported_languages="$unsupported_languages d" + ;; + esac + ;; +esac + +# Disable libphobos on unsupported systems. +# For testing, you can override this with --enable-libphobos. +if test -d ${srcdir}/libphobos; then + if test x$enable_libphobos = x; then + AC_MSG_CHECKING([for libphobos support]) + if (srcdir=${srcdir}/libphobos; \ + . ${srcdir}/configure.tgt; \ + test -n "$UNSUPPORTED") + then + AC_MSG_RESULT([no]) + noconfigdirs="$noconfigdirs target-libphobos" + else + AC_MSG_RESULT([yes]) + fi + fi +fi + # Disable Fortran for some systems. case "${target}" in mmix-*-*) diff --git a/libphobos/ChangeLog b/libphobos/ChangeLog index 66be66277ec..b5e25bb6855 100644 --- a/libphobos/ChangeLog +++ b/libphobos/ChangeLog @@ -1,3 +1,10 @@ +2018-10-31 Iain Buclaw + + PR bootstrap/87789 + PR d/87818 + PR d/87819 + * configure.tgt: New file. + 2018-10-28 Iain Buclaw * Makefile.am: New file. diff --git a/libphobos/configure.tgt b/libphobos/configure.tgt new file mode 100644 index 00000000000..8afd350c755 --- /dev/null +++ b/libphobos/configure.tgt @@ -0,0 +1,36 @@ +# -*- shell-script -*- +# Copyright (C) 2018 Free Software Foundation, Inc. +# +# GCC is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3, or (at your option) +# any later version. +# +# GCC is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GCC; see the file COPYING3. If not see +# . + +# This is the target specific configuration file. This is invoked by the +# autoconf generated configure script. Putting it in a separate shell file +# lets us skip running autoconf when modifying target specific information. + +# Disable the libphobos or libdruntime components on untested or known +# broken systems. More targets shall be added after testing. +case "${target}" in + arm*-*-linux*) + ;; + mips*-*-linux*) + ;; + x86_64-*-kfreebsd*-gnu | i?86-*-kfreebsd*-gnu) + ;; + x86_64-*-linux* | i?86-*-linux*) + ;; + *) + UNSUPPORTED=1 + ;; +esac -- 2.30.2