1AC_PREREQ(2.61)
2AC_INIT([realtime],[realtime-20090930],[ltp-results@lists.sourceforge.net])
3AC_CONFIG_AUX_DIR([.])
4AM_INIT_AUTOMAKE
5AC_CONFIG_HEADERS([include/realtime_config.h])
6AC_CONFIG_FILES([   \
7	m4/Makefile \
8])
9AC_CHECK_HEADERS_ONCE([ \
10	pthread.h \
11])
12AM_CONDITIONAL(CROSS_COMPILATION, test x$cross_compiling = xyes)
13
14AC_CANONICAL_HOST
15
16AC_PROG_CC
17# <= autoconf 2.61 doesn't have AC_PROG_AR, but 2.63 has it. Not sure about
18# 2.62.
19AC_DEFUN([AC_PROG_AR], [AC_CHECK_TOOL(AR, ar, :)])
20AC_PROG_AR
21AC_PROG_RANLIB
22
23AC_MSG_CHECKING([for __sync_add_and_fetch gcc builtin function])
24AC_LINK_IFELSE([AC_LANG_SOURCE([
25#ifndef _GNU_SOURCE
26#define _GNU_SOURCE
27#endif
28#include <stdlib.h>
29int main(void) {
30	char *c;
31	return __sync_add_and_fetch(c, 1);
32}])],[has___sync_add_and_fetch=yes])
33if test "x$has___sync_add_and_fetch" = xyes; then
34	AC_DEFINE(HAVE___SYNC_ADD_AND_FETCH,1,[Define to 1 if you have the __sync_add_and_fetch gcc builtin function])
35	AC_MSG_RESULT(yes)
36else
37	AC_MSG_RESULT(no)
38fi
39
40REALTIME_CHECK_PRIO_INHERIT
41
42if test "x$has_priority_inherit" = xyes; then
43
44	AC_MSG_CHECKING([for pthread mutex attr protocol functions])
45	AC_TRY_COMPILE([
46#ifndef _GNU_SOURCE
47#define _GNU_SOURCE
48#endif
49#include <pthread.h>],[int main(void) {
50	pthread_mutexattr_t attr;
51	(void) pthread_mutexattr_getprotocol(&attr, (void*) NULL);
52	(void) pthread_mutexattr_setprotocol(&attr, 0);
53	return 0;
54}],[has_pthread_mutexattr_protocol_functions="yes"])
55fi
56if test "x$has_pthread_mutexattr_protocol_functions" = "xyes" ; then
57	AC_DEFINE(HAS_PTHREAD_MUTEXATTR_PROTOCOL_FUNCTIONS,1,[Define to 1 if you have the pthread_mutexattr protocol APIs])
58	AC_MSG_RESULT(yes)
59else
60	AC_MSG_RESULT(no)
61fi
62REALTIME_CHECK_ROBUST_APIS
63
64LTP_CHECK_EXP10
65
66AC_OUTPUT
67