Add m4 macro to check for C __attribute__ features
authorAmitay Isaacs <amitay@ozlabs.org>
Tue, 10 Jul 2018 04:38:50 +0000 (14:38 +1000)
committerErik de Castro Lopo <erikd@mega-nerd.com>
Mon, 20 Aug 2018 08:16:34 +0000 (18:16 +1000)
Signed-off-by: Amitay Isaacs <amitay@ozlabs.org>
m4/c_attribute.m4 [new file with mode: 0644]

diff --git a/m4/c_attribute.m4 b/m4/c_attribute.m4
new file mode 100644 (file)
index 0000000..48aa622
--- /dev/null
@@ -0,0 +1,18 @@
+#
+# Check for supported __attribute__ features
+#
+# AC_C_ATTRIBUTE(FEATURE, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
+#
+AC_DEFUN([AC_C_ATTRIBUTE],
+[AS_VAR_PUSHDEF([CACHEVAR], [ax_cv_c_attribute_$1])dnl
+AC_CACHE_CHECK([for  __attribute__ (($1))],
+  CACHEVAR,[
+  AC_COMPILE_IFELSE([AC_LANG_PROGRAM([],
+    [[ void foo(void) __attribute__ (($1)); ]])],
+    [AS_VAR_SET(CACHEVAR, [yes])],
+    [AS_VAR_SET(CACHEVAR, [no])])])
+AS_VAR_IF(CACHEVAR,yes,
+  [m4_default([$2], :)],
+  [m4_default([$3], :)])
+AS_VAR_POPDEF([CACHEVAR])dnl
+])dnl