Add kernel and userspace callstack event context
[lttng-tools.git] / configure.ac
index a99c0d3c5fafa5a66b9f08d5c4e67a08f573891c..6a26e49982ffa0286184c9131577d0ee83bef0ad 100644 (file)
@@ -40,6 +40,11 @@ AM_CONDITIONAL([HAVE_OBJCOPY], [test "x$OBJCOPY" != xno])
 AC_PATH_PROG([PGREP], [pgrep], [no])
 AM_CONDITIONAL([HAVE_PGREP], [test "x$PGREP" != "xno"])
 
+# set $IN_GIT_REPO if we're in the Git repository; the `bootstrap` file
+# is not distributed in tarballs
+AS_IF([test -f "$srcdir/bootstrap"], [in_git_repo=yes], [in_git_repo=no])
+AM_CONDITIONAL([IN_GIT_REPO], [test "x$in_git_repo" = "xyes"])
+
 # check for bison
 AC_PROG_YACC
 BISON=$YACC
@@ -375,10 +380,10 @@ _AC_DEFINE_QUOTED_AND_SUBST([CMD_DESCR_CREATE], [Create a tracing session])
 _AC_DEFINE_QUOTED_AND_SUBST([CMD_DESCR_DESTROY], [Tear down tracing sessions])
 _AC_DEFINE_QUOTED_AND_SUBST([CMD_DESCR_DISABLE_CHANNEL], [Disable tracing channels])
 _AC_DEFINE_QUOTED_AND_SUBST([CMD_DESCR_DISABLE_EVENT], [Disable event rules])
-_AC_DEFINE_QUOTED_AND_SUBST([CMD_DESCR_DISABLE_ROTATION], [Unset an automatic rotation schedule])
+_AC_DEFINE_QUOTED_AND_SUBST([CMD_DESCR_DISABLE_ROTATION], [Unset a rotation schedule])
 _AC_DEFINE_QUOTED_AND_SUBST([CMD_DESCR_ENABLE_CHANNEL], [Create or enable tracing channels])
 _AC_DEFINE_QUOTED_AND_SUBST([CMD_DESCR_ENABLE_EVENT], [Create or enable event rules])
-_AC_DEFINE_QUOTED_AND_SUBST([CMD_DESCR_ENABLE_ROTATION], [Set an automatic rotation schedule])
+_AC_DEFINE_QUOTED_AND_SUBST([CMD_DESCR_ENABLE_ROTATION], [Set a rotation schedule])
 _AC_DEFINE_QUOTED_AND_SUBST([CMD_DESCR_HELP], [Display help information about a command])
 _AC_DEFINE_QUOTED_AND_SUBST([CMD_DESCR_LIST], [List tracing sessions, domains, channels, and events])
 _AC_DEFINE_QUOTED_AND_SUBST([CMD_DESCR_LOAD], [Load tracing session configurations])
@@ -574,13 +579,6 @@ AC_CHECK_LIB([c], [fmemopen],
 ]
 )
 
-# Check for open_memstream
-AC_CHECK_LIB([c], [open_memstream],
-[
-       AC_DEFINE_UNQUOTED([LTTNG_HAVE_OPEN_MEMSTREAM], 1, [Has open_memstream support.])
-]
-)
-
 # check for libpfm
 AC_CHECK_LIB([pfm], [pfm_initialize],
             [
@@ -588,15 +586,6 @@ AC_CHECK_LIB([pfm], [pfm_initialize],
              ])
 AM_CONDITIONAL([LTTNG_TOOLS_BUILD_WITH_LIBPFM], [test "x$have_libpfm" = "xyes"])
 
-AC_ARG_ENABLE([git-version],
-              [AC_HELP_STRING([--disable-git-version],
-                              [Do not use the git version for the build])],
-              [have_git_version=$enableval], [have_git_version=yes]
-)
-
-AM_CONDITIONAL([LTTNG_TOOLS_BUILD_GIT_SOURCE],
-       [test "x${have_git_version}" = "xyes"])
-
 # For Python
 # SWIG version needed or newer:
 swig_version=2.0.0
@@ -686,11 +675,6 @@ if test "x$test_java_agent_jul" = "xyes" || test "x$test_java_agent_log4j" = "xy
        fi
 fi
 
-# set $IN_GIT_REPO if we're in the Git repository; the `bootstrap` file
-# is not distributed in tarballs
-AS_IF([test -f "$srcdir/bootstrap"], [in_git_repo=yes], [in_git_repo=no])
-AM_CONDITIONAL([IN_GIT_REPO], [test "x$in_git_repo" = "xyes"])
-
 # enable building man pages (user's intention)
 AC_ARG_ENABLE(
        man-pages,
@@ -971,6 +955,51 @@ AS_IF([test x$build_lib_relayd = xyes],
       ]
 )
 
+# Find arch type
+AS_CASE([$host_cpu],
+        [k1om], [ARCHTYPE="x86"],
+        [i386], [ARCHTYPE="x86"],
+        [i486], [ARCHTYPE="x86"],
+        [i586], [ARCHTYPE="x86"],
+        [i686], [ARCHTYPE="x86"],
+        [amd64], [ARCHTYPE="x86"],
+        [x86_64], [ARCHTYPE="x86"],
+        [powerpc], [ARCHTYPE="ppc"],
+        [ppc64], [ARCHTYPE="ppc"],
+        [powerpc64], [ARCHTYPE="ppc"],
+        [powerpc64le], [ARCHTYPE="ppc"],
+        [ppc], [ARCHTYPE="ppc"],
+        [s390], [ARCHTYPE="s390"],
+        [s390x], [ARCHTYPE="s390"],
+        [sparc], [ARCHTYPE="sparc64"],
+        [sparc64], [ARCHTYPE="sparc64"],
+        [alpha*], [ARCHTYPE="alpha"],
+        [ia64], [ARCHTYPE="ia64"],
+        [arm*], [ARCHTYPE="arm"],
+        [aarch64*], [ARCHTYPE="aarch64"],
+        [mips*], [ARCHTYPE="mips"],
+        [nios2*], [ARCHTYPE="nios2"],
+        [tile*], [ARCHTYPE="tile"],
+        [hppa*], [ARCHTYPE="hppa"],
+        [m68k], [ARCHTYPE="m68k"],
+        [riscv*], [ARCHTYPE="riscv"],
+        [ARCHTYPE="unknown"]
+)
+
+AC_SUBST(ARCHTYPE)
+
+AH_TEMPLATE([HAVE_MODULES_USERSPACE_CALLSTACK_CONTEXT], [Define if you have LTTng-modules userspace callstack tracing support])
+AC_MSG_CHECKING([for architecture support of userspace callstack tracing from the kernel])
+AS_IF([test "x$ARCHTYPE" = "xx86"],[
+        # Userspace callstack capture is only supported by the Linux kernel on x86.
+        AC_MSG_RESULT([yes])
+        have_modules_userspace_callstack_context=yes
+        AC_DEFINE([HAVE_MODULES_USERSPACE_CALLSTACK_CONTEXT], [1])
+], [
+        AC_MSG_RESULT([no])
+        have_modules_userspace_callstack_context=no
+])
+AM_CONDITIONAL([HAVE_MODULES_USERSPACE_CALLSTACK_CONTEXT], [test x$have_modules_userspace_callstack_context != xno])
 
 # Export binaries build conditions.
 AM_CONDITIONAL([BUILD_BIN_LTTNG], [test x$enable_bin_lttng != xno])
@@ -1097,6 +1126,7 @@ AC_CONFIG_FILES([
        tests/regression/ust/buffers-pid/Makefile
        tests/regression/ust/periodical-metadata-flush/Makefile
        tests/regression/ust/multi-session/Makefile
+       tests/regression/ust/multi-lib/Makefile
        tests/regression/ust/overlap/Makefile
        tests/regression/ust/overlap/demo/Makefile
        tests/regression/ust/linking/Makefile
This page took 0.026371 seconds and 5 git commands to generate.