blob: e8fac4a5721a280e1f7bf9c1c56d58215f7f2e39 [file] [log] [blame]
dnl Copyright (C) 2012 Free Software Foundation, Inc.
dnl This file is free software, distributed under the terms of the GNU
dnl General Public License. As a special exception to the GNU General
dnl Public License, this file may be distributed as part of a program
dnl that contains a configuration script generated by Autoconf, under
dnl the same distribution terms as the rest of that program.
dnl Define thread model
dnl usage: GCC_AC_THREAD_MODEL
AC_DEFUN([GCC_AC_THREAD_MODEL],
[
# Specify the threading model for this GCC runtime library
# Pass with no value to take from compiler's metadata
# Pass with a value to specify a thread package
# 'single' means single threaded -- without threads.
AC_CACHE_CHECK([for the threading model used by GCC], [gcc_cv_target_thread_file], [
# Set new cache variable
gcc_cv_target_thread_file=`$CC -v 2>&1 | sed -n 's/^Thread model: //p'`
])
# Set variable name (not prefixed enough to be a good cache variable
# name) traditionally used for this purpose, to avoid having to change
# a bunch of configure scripts.
target_thread_file="$gcc_cv_target_thread_file"
])
dnl Define header location by thread model
dnl usage: GCC_AC_THREAD_HEADER([thread_model])
AC_DEFUN([GCC_AC_THREAD_HEADER],
[
case $1 in
aix) thread_header=config/rs6000/gthr-aix.h ;;
dce) thread_header=config/pa/gthr-dce.h ;;
gcn) thread_header=config/gcn/gthr-gcn.h ;;
lynx) thread_header=config/gthr-lynx.h ;;
mipssde) thread_header=config/mips/gthr-mipssde.h ;;
posix) thread_header=gthr-posix.h ;;
rtems) thread_header=config/gthr-rtems.h ;;
single) thread_header=gthr-single.h ;;
tpf) thread_header=config/s390/gthr-tpf.h ;;
vxworks) thread_header=config/gthr-vxworks.h ;;
win32) thread_header=config/i386/gthr-win32.h ;;
mcf) thread_header=config/i386/gthr-mcf.h ;;
*)
AC_MSG_ERROR([No known header for threading model '$1'.])
;;
esac
AC_SUBST(thread_header)
])