# config-lang.in -- Top level configure fragment for gcc BRIG (HSAIL) frontend.

# Copyright (C) 2015-2020 Free Software Foundation, Inc.

# This file is part of GCC.

# 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/>.

# Configure looks for the existence of this file to auto-config each language.
# We define several parameters used by configure:
#
# language	- name of language as it would appear in $(LANGUAGES)
# compilers	- value to add to $(COMPILERS)

language="brig"

compilers="brig1\$(exeext)"

target_libs="target-libhsail-rt"

# The BRIG frontend is written in C++, so we need to build the C++
# compiler during stage 1.  Note: when cross-compiling / not bootstrapping,
# this can be safely removed. gcc 4.9.1 force enables c++/libstdc++ to the
# target compiler due to this.
lang_requires_boot_languages=c++

gtfiles="\$(srcdir)/brig/brig-lang.c \$(srcdir)/brig/brig-c.h"

build_by_default="no"
