summaryrefslogtreecommitdiff
path: root/configure.ac
diff options
context:
space:
mode:
Diffstat (limited to 'configure.ac')
-rw-r--r--configure.ac23
1 files changed, 22 insertions, 1 deletions
diff --git a/configure.ac b/configure.ac
index 88a00a61..26939597 100644
--- a/configure.ac
+++ b/configure.ac
@@ -47,6 +47,10 @@ AC_ARG_WITH([max-cpus],
[opt_max_cpus=$withval],
[opt_max_cpus=128])
+AC_ARG_ENABLE([mutex-adaptive],
+ [AS_HELP_STRING([--enable-mutex-adaptive],
+ [enable adaptive spinning mutexes])])
+
AC_ARG_ENABLE([mutex-pi],
[AS_HELP_STRING([--enable-mutex-pi],
[enable priority inheritance for regular mutexes
@@ -107,10 +111,27 @@ AC_DEFINE_UNQUOTED([X15_MAX_CPUS], [$opt_max_cpus],
[maximum number of supported processors])
AC_MSG_NOTICE([maximum number of supported processors: $opt_max_cpus])
+AS_IF([test x"$enable_mutex_adaptive" = xyes -a x"$enable_mutex_pi" = xyes],
+ [AC_MSG_ERROR([--enable-mutex-adaptive and --enable-mutex-pi are mutually exclusive])])
+
+AS_IF([test x"$enable_mutex_adaptive" = xyes],
+ [mutex_impl="adaptive spinning"],
+ [test x"$enable_mutex_pi" = xyes],
+ [mutex_impl="priority inheritance"],
+ [mutex_impl=plain])
+AC_MSG_NOTICE([mutex implementation: $mutex_impl])
+
+AS_IF([test x"$enable_mutex_adaptive" = xyes],
+ [AC_DEFINE_UNQUOTED([X15_MUTEX_ADAPTIVE], [],
+ [Enable adaptive mutexes])])
+AM_CONDITIONAL([MUTEX_ADAPTIVE],
+ [test x"$enable_mutex_adaptive" = xyes])
+
AS_IF([test x"$enable_mutex_pi" = xyes],
[AC_DEFINE_UNQUOTED([X15_MUTEX_PI], [],
[Enable priority inheritance for regular mutexes])])
-AC_MSG_NOTICE([priority inheritance for regular mutexes: $enable_mutex_pi])
+AM_CONDITIONAL([MUTEX_PI],
+ [test x"$enable_mutex_pi" = xyes])
AM_CONDITIONAL([X15_SHELL],
[test x"$enable_shell" = xyes])