gcc/libphobos/configure.tgt
liushuyu 00d7c37df2 LoongArch: Add support for D frontend.
gcc/ChangeLog:

	* config.gcc: Add loongarch-d.o to d_target_objs for LoongArch
	architecture.
	* config/loongarch/t-loongarch: Add object target for loongarch-d.cc.
	* config/loongarch/loongarch-d.cc
	(loongarch_d_target_versions): add interface function to define builtin
	D versions for LoongArch architecture.
	(loongarch_d_handle_target_float_abi): add interface function to define
	builtin D traits for LoongArch architecture.
	(loongarch_d_register_target_info): add interface function to register
	loongarch_d_handle_target_float_abi function.
	* config/loongarch/loongarch-d.h
	(loongarch_d_target_versions): add function prototype.
	(loongarch_d_register_target_info): Likewise.

libphobos/ChangeLog:

	* configure.tgt: Enable libphobos for LoongArch architecture.
	* libdruntime/gcc/sections/elf.d: Add TLS_DTV_OFFSET constant for
	LoongArch64.
	* libdruntime/gcc/unwind/generic.d: Add __aligned__ constant for
	LoongArch64.
2023-12-18 10:04:10 +08:00

76 lines
2 KiB
Text

# -*- shell-script -*-
# Copyright (C) 2018-2023 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
*-*-dragonfly*)
LIBPHOBOS_SUPPORTED=yes
;;
aarch64*-*-linux*)
LIBPHOBOS_SUPPORTED=yes
;;
arm*-*-linux*)
LIBPHOBOS_SUPPORTED=yes
;;
hppa-*-linux*)
LIBPHOBOS_SUPPORTED=yes
;;
loongarch*-*-linux*)
LIBPHOBOS_SUPPORTED=yes
;;
mips*-*-linux*)
LIBPHOBOS_SUPPORTED=yes
;;
power*-*-freebsd*)
LIBPHOBOS_SUPPORTED=yes
;;
power*-*-linux*)
LIBPHOBOS_SUPPORTED=yes
LIBDRUNTIME_ONLY=yes
;;
riscv*-*-linux*)
LIBPHOBOS_SUPPORTED=yes
;;
s390*-linux*)
LIBPHOBOS_SUPPORTED=yes
;;
sparc*-*-solaris2.11*)
LIBPHOBOS_SUPPORTED=yes
;;
x86_64-*-freebsd* | i?86-*-freebsd*)
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