blob: f943a987210cfbbff9c3e351a4a3e39023354d73 [file] [log] [blame]
dnl Autoconf configure script for GDB, the GNU debugger.
dnl Copyright (C) 2022 Free Software Foundation, Inc.
dnl
dnl This file is part of GDB.
dnl
dnl This program is free software; you can redistribute it and/or modify
dnl it under the terms of the GNU General Public License as published by
dnl the Free Software Foundation; either version 3 of the License, or
dnl (at your option) any later version.
dnl
dnl This program is distributed in the hope that it will be useful,
dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
dnl GNU General Public License for more details.
dnl
dnl You should have received a copy of the GNU General Public License
dnl along with this program. If not, see <http://www.gnu.org/licenses/>.
# Sets up GDB_COMPILER_TYPE to either 'gcc', 'clang', or 'unknown'.
# The autoconf compiler check will set GCC=yes for clang as well as
# gcc, it's really more of a "is gcc like" check.
#
# By contrast, this will set the GDB_COMPILER_TYPE to 'gcc' only for
# versions of gcc.
#
# There's no reason why this can't be extended to identify other
# compiler types if needed in the future, users of this variable
# should therefore avoid relying on the 'unknown' value, instead
# checks should be written in terms of the known compiler types.
AC_DEFUN([AM_GDB_COMPILER_TYPE],[
AC_CACHE_CHECK([the compiler type],
[gdb_cv_compiler_type],
[gdb_cv_compiler_type=unknown
if test "$gdb_cv_compiler_type" = unknown; then
AC_COMPILE_IFELSE(
[AC_LANG_PROGRAM([],
[
#if !defined __GNUC__ || defined __clang__
#error not gcc
#endif
])],
[gdb_cv_compiler_type=gcc], [])
fi
if test "$gdb_cv_compiler_type" = unknown; then
AC_COMPILE_IFELSE(
[AC_LANG_PROGRAM([],
[
#ifndef __clang__
#error not clang
#endif
])],
[gdb_cv_compiler_type=clang], [])
fi
])
GDB_COMPILER_TYPE="$gdb_cv_compiler_type"
])