# Top level configure fragment for libgccjit.so.
#   Copyright (C) 2013-2021 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="jit"

compilers=""

target_libs=""

gtfiles="\$(srcdir)/jit/dummy-frontend.c"

# The configuration requires --enable-host-shared
# for jit to be supported (only when not building for Mingw).
# Hence to get the jit, one must configure with:
#   --enable-host-shared --enable-languages=jit
build_by_default="no"
