Namespace check_sdt_works custom macro
[lttng-tools.git] / m4 / lttng_check_sdt_works.m4
diff --git a/m4/lttng_check_sdt_works.m4 b/m4/lttng_check_sdt_works.m4
new file mode 100644 (file)
index 0000000..7f2a1ba
--- /dev/null
@@ -0,0 +1,46 @@
+# SYNOPSIS
+#
+#   LTTNG_CHECK_SDT_WORKS([ACTION-SUCCESS], [ACTION-FAILURE])
+#
+# DESCRIPTION
+#
+#   Check whether it's possible to build a binary with Systemtap SDT probes.
+#
+#   ACTION-SUCCESS/ACTION-FAILURE are shell commands to execute on
+#   success/failure.
+#
+# LICENSE
+#
+#   Copyright (c) 2018 Francis Deslauriers <francis.deslauriers@efficios.com>
+#   Copyright (c) 2019 Michael Jeanson <mjeanson@efficios.com>
+#
+#   Copying and distribution of this file, with or without modification, are
+#   permitted in any medium without royalty provided the copyright notice
+#   and this notice are preserved.  This file is offered as-is, without any
+#   warranty.
+
+#serial 1
+
+AC_DEFUN([LTTNG_CHECK_SDT_WORKS], [
+  AC_CACHE_CHECK([whether SDT probes compile], [lttng_cv_sdt_works], [
+    AC_COMPILE_IFELSE([
+      AC_LANG_SOURCE([[
+       #define SDT_USE_VARIADIC
+       #include <sys/sdt.h>
+       void fct(void)
+       {
+               STAP_PROBEV(provider,name,1,2,3,4,5,6,7,8,9,10);
+       }
+      ]])
+    ], [
+      lttng_cv_sdt_works=yes
+    ], [
+      lttng_cv_sdt_works=no
+    ])
+  ])
+  AS_IF([test "x$lttng_cv_sdt_works" = "xyes"], [
+    m4_default([$1], :)
+  ], [
+    m4_default([$2], :)
+  ])
+])
This page took 0.027099 seconds and 5 git commands to generate.