gcc/libphobos/configure.tgt
Iain Buclaw 261bd78d57 libphobos: Add --with-libphobos-druntime-only option.
The intended purpose of the option is both for targets that don't
support phobos yet, and for gdc itself to support bootstrapping itself
as a self-hosted D compiler.

The libphobos testsuite has been updated to only add libphobos to the
search paths if it's being built.  A new D2 testsuite directive
RUNNABLE_PHOBOS_TEST has also been patched in to disable some runnable
tests that have phobos dependencies, of which is a temporary measure
until upstream DMD fixes or removes these tests entirely.

gcc/testsuite/ChangeLog:

	* lib/gdc-utils.exp (gdc-convert-test): Add dg-skip-if for tests that
	depending on the phobos standard library.

libphobos/ChangeLog:

	* configure: Regenerate.
	* configure.ac: Add --with-libphobos-druntime-only option and the
	conditional ENABLE_LIBDRUNTIME_ONLY.
	* configure.tgt: Define LIBDRUNTIME_ONLY.
	* src/Makefile.am: Add phobos sources if not ENABLE_LIBDRUNTIME_ONLY.
	* src/Makefile.in: Regenerate.
	* testsuite/testsuite_flags.in: Add phobos path if compiling phobos.
2020-04-18 18:25:49 +02:00

55 lines
1.6 KiB
Plaintext

# -*- shell-script -*-
# Copyright (C) 2018-2020 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
# <http://www.gnu.org/licenses/>.
# 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.
LIBPHOBOS_SUPPORTED=no
LIBDRUNTIME_ONLY=auto
case "${target}" in
aarch64*-*-linux*)
LIBPHOBOS_SUPPORTED=yes
;;
arm*-*-linux*)
LIBPHOBOS_SUPPORTED=yes
;;
mips*-*-linux*)
LIBPHOBOS_SUPPORTED=yes
;;
riscv*-*-linux*)
LIBPHOBOS_SUPPORTED=yes
;;
s390*-linux*)
LIBPHOBOS_SUPPORTED=yes
;;
x86_64-*-kfreebsd*-gnu | i?86-*-kfreebsd*-gnu)
LIBPHOBOS_SUPPORTED=yes
;;
x86_64-*-linux* | i?86-*-linux*)
LIBPHOBOS_SUPPORTED=yes
;;
x86_64-*-netbsd* | i?86-*-netbsd*)
LIBPHOBOS_SUPPORTED=yes
;;
x86_64-*-solaris2.11* | i?86-*-solaris2.11*)
LIBPHOBOS_SUPPORTED=yes
;;
esac