1AC_DEFUN([LIBUNWIND___THREAD],
2[dnl Check whether the compiler supports the __thread keyword.
3if test "x$enable___thread" != xno; then
4  AC_CACHE_CHECK([for __thread], libc_cv_gcc___thread,
5		 [cat > conftest.c <<\EOF
6    __thread int a = 42;
7EOF
8  if AC_TRY_COMMAND([${CC-cc} $CFLAGS -c conftest.c >&AS_MESSAGE_LOG_FD]); then
9    libc_cv_gcc___thread=yes
10  else
11    libc_cv_gcc___thread=no
12  fi
13  rm -f conftest*])
14  if test "$libc_cv_gcc___thread" = yes; then
15    AC_DEFINE(HAVE___THREAD, 1,
16	[Define to 1 if __thread keyword is supported by the C compiler.])
17  fi
18else
19  libc_cv_gcc___thread=no
20fi])
21
22AC_DEFUN([CHECK_ATOMIC_OPS],
23[dnl Check whether the system has the atomic_ops package installed.
24  AC_CHECK_HEADERS(atomic_ops.h)
25#
26# Don't link against libatomic_ops for now.  We don't want libunwind
27# to depend on libatomic_ops.so.  Fortunately, none of the platforms
28# we care about so far need libatomic_ops.a (everything is done via
29# inline macros).
30#
31#  AC_CHECK_LIB(atomic_ops, main)
32])
33
34# ANDROID support update.
35AC_DEFUN([CHECK_ANDROID],
36[dnl Check whether the system has __ANDROID__ defined.
37if test "x$enable_conserve_stack" != xno; then
38  AC_CACHE_CHECK([for __ANDROID__], ac_cv_android,
39         [cat > conftest.c <<\EOF
40  #if !defined(__ANDROID__)
41    value = fail
42  #endif
43EOF
44  if AC_TRY_COMMAND([${CC-cc} $CFLAGS -c conftest.c >&AS_MESSAGE_LOG_FD]); then
45    ac_cv_android=yes
46  else
47    ac_cv_android=no
48  fi
49  rm -f conftest*])
50  if test "$ac_cv_android" = yes; then
51    AC_DEFINE([CONSERVE_STACK], [],
52              [Allocate large structures rather than place them on the stack.])
53  fi
54else
55  ac_cv_android=no
56fi])
57# End of ANDROID update.
58