summaryrefslogtreecommitdiffstats
path: root/cpukit/acinclude.m4
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2020-10-05 11:58:11 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2020-10-05 12:00:29 +0200
commit2c367617688edd17d41fc8d837d53d27838d9ef6 (patch)
tree68dcf45b89ebff04bcd65c8faaaeb842aa9779f8 /cpukit/acinclude.m4
parentbuild: Use exact match by default for BSP names (diff)
downloadrtems-2c367617688edd17d41fc8d837d53d27838d9ef6.tar.bz2
build: Add testopts.h to configure script
Close #4120.
Diffstat (limited to 'cpukit/acinclude.m4')
-rw-r--r--cpukit/acinclude.m463
1 files changed, 63 insertions, 0 deletions
diff --git a/cpukit/acinclude.m4 b/cpukit/acinclude.m4
index f1889b6677..54d1a39a4b 100644
--- a/cpukit/acinclude.m4
+++ b/cpukit/acinclude.m4
@@ -60,3 +60,66 @@ AS_IF([test -f ${RTEMS_BUILD_ROOT}/include/rtems/score/cpuopts.h],
mv cpuopts.tmp ${RTEMS_BUILD_ROOT}/include/rtems/score/cpuopts.h
])
])
+
+# RTEMS_TESTOPT(NAME,CONDITION,VALUE,EXPLANATION)
+
+AC_DEFUN([_RTEMS_TESTOPT_INIT],[
+AC_BEFORE([_RTEMS_TESTOPT])
+cat >>testopts.tmp <<\_ACEOF
+/**
+ * @file rtems/testopts.h
+ */
+
+/* target test dependent options file */
+/* automatically generated -- DO NOT EDIT!! */
+#ifndef _RTEMS_TESTOPTS_H
+#define _RTEMS_TESTOPTS_H
+_ACEOF
+])
+
+AC_DEFUN([RTEMS_TESTOPT],[
+AC_REQUIRE([_RTEMS_TESTOPT_INIT])
+AC_BEFORE([_RTEMS_TESTOPT_FINI])
+ if $2; then
+cat >>testopts.tmp <<_ACEOF
+
+/* $4 */
+#define $1 $3
+_ACEOF
+## FIXME: Duplicate the define to the autoheader
+## Sanity check - Should be removed in future
+ AC_DEFINE_UNQUOTED([$1],[$3],[$4])
+ else
+cat >>testopts.tmp <<\_ACEOF
+
+/* $4 */
+/* #undef $1 */
+_ACEOF
+ fi
+])
+
+AC_DEFUN([_RTEMS_TESTOPT_FINI],[
+AC_REQUIRE([RTEMS_BUILD_TOP])
+cat >>testopts.tmp <<\_ACEOF
+
+#endif /* _RTEMS_TESTOPTS_H */
+_ACEOF
+
+AS_MKDIR_P(${RTEMS_BUILD_ROOT}/include/rtems)
+AS_IF([test -f ${RTEMS_BUILD_ROOT}/include/rtems/testopts.h],
+[
+ AS_IF([cmp -s ${RTEMS_BUILD_ROOT}/include/rtems/testopts.h testopts.tmp 2>/dev/null],
+ [
+ AC_MSG_NOTICE([${RTEMS_BUILD_ROOT}/include/rtems/testopts.h is unchanged])
+ rm -f testopts.tmp
+ ],[
+ AC_MSG_NOTICE([creating ${RTEMS_BUILD_ROOT}/include/rtems/testopts.h])
+ rm -f ${RTEMS_BUILD_ROOT}/include/rtems/testopts.h
+ mv testopts.tmp ${RTEMS_BUILD_ROOT}/include/rtems/testopts.h
+ ])
+],[
+ AC_MSG_NOTICE([creating ${RTEMS_BUILD_ROOT}/include/rtems/testopts.h])
+ rm -f ${RTEMS_BUILD_ROOT}/include/rtems/testopts.h
+ mv testopts.tmp ${RTEMS_BUILD_ROOT}/include/rtems/testopts.h
+])
+])