| 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) |
| ]) |
| |