summaryrefslogtreecommitdiffstats
path: root/c/src/tests/aclocal/check-multiprocessing.m4
diff options
context:
space:
mode:
Diffstat (limited to 'c/src/tests/aclocal/check-multiprocessing.m4')
-rw-r--r--c/src/tests/aclocal/check-multiprocessing.m442
1 files changed, 42 insertions, 0 deletions
diff --git a/c/src/tests/aclocal/check-multiprocessing.m4 b/c/src/tests/aclocal/check-multiprocessing.m4
new file mode 100644
index 0000000000..355635ce54
--- /dev/null
+++ b/c/src/tests/aclocal/check-multiprocessing.m4
@@ -0,0 +1,42 @@
+dnl
+dnl $Id$
+dnl
+
+AC_DEFUN(RTEMS_CHECK_MULTIPROCESSING,
+[dnl
+AC_REQUIRE([RTEMS_ENABLE_MULTILIB])dnl
+AC_REQUIRE([RTEMS_ENV_RTEMSBSP])dnl
+AC_REQUIRE([RTEMS_TOP])dnl
+AC_REQUIRE([RTEMS_CHECK_CPU])dnl
+AC_REQUIRE([RTEMS_ENABLE_MULTIPROCESSING])dnl
+AC_REQUIRE([RTEMS_BSP_ALIAS])dnl
+
+AC_CACHE_CHECK([if wanting multiprocessing],
+ [rtems_cv_want_multiprocessing],
+ [
+ AS_IF([test x"$multilib" = x"no"],
+ [# no cpukit
+ rtems_cv_want_multiprocessing="$enable_multiprocessing"
+ ],[
+#HACK: Should check for RTEMS_MULTIPROCESSING in cpuopts.h, instead
+ rtems_cv_want_multiprocessing="$enable_multiprocessing"
+ ])
+ ])
+
+AS_IF([test "$rtems_cv_want_multiprocessing" = "yes"],
+[
+ AC_CACHE_CHECK([whether BSP supports multiprocessing],
+ [rtems_cv_HAS_MP],[
+ if test -d "$srcdir/${RTEMS_TOPdir}/c/src/lib/libbsp/${RTEMS_CPU}/${RTEMS_BSP_FAMILY}/shmsupp"; then
+ rtems_cv_HAS_MP="yes" ;
+ else
+ rtems_cv_HAS_MP="no";
+ fi
+ ])
+if test $rtems_cv_HAS_MP = "no"; then
+AC_MSG_ERROR([multiprocessing requested but not supported])
+fi
+],[rtems_cv_HAS_MP="no";])
+
+AC_SUBST(HAS_MP,[$rtems_cv_HAS_MP])
+])