# WARN_CFLAGS and WARN_CXXFLAGS.
m4_define([WARN_FLAGS_COMMON_LIST], [ dnl
-Wall dnl
# WARN_CFLAGS and WARN_CXXFLAGS.
m4_define([WARN_FLAGS_COMMON_LIST], [ dnl
-Wall dnl
dnl We currently get this warning when building with Clang:
dnl
dnl /usr/include/setjmp.h:54:12: error: declaration of built-in function '__sigsetjmp' requires the declaration of the 'jmp_buf' type, commonly provided in the header <setjmp.h>. [-Werror,-Wincomplete-setjmp-declaration]
dnl extern int __sigsetjmp (struct __jmp_buf_tag __env[1], int __savemask) __THROWNL;
dnl ^
-Wno-incomplete-setjmp-declaration dnl
dnl We currently get this warning when building with Clang:
dnl
dnl /usr/include/setjmp.h:54:12: error: declaration of built-in function '__sigsetjmp' requires the declaration of the 'jmp_buf' type, commonly provided in the header <setjmp.h>. [-Werror,-Wincomplete-setjmp-declaration]
dnl extern int __sigsetjmp (struct __jmp_buf_tag __env[1], int __savemask) __THROWNL;
dnl ^
-Wno-incomplete-setjmp-declaration dnl
-AC_CHECK_TOOL([OBJCOPY], [objcopy], [no])
-AS_IF([test "x$OBJCOPY" = "xno"],
+AC_CHECK_TOOL([OBJCOPY], [objcopy])
+AS_IF([test "x$OBJCOPY" = "x"],
-AC_PATH_PROG([PGREP], [pgrep], [no])
-AM_CONDITIONAL([HAVE_PGREP], [test "x$PGREP" != "xno"])
+AC_PATH_PROG([PGREP], [pgrep])
+AM_CONDITIONAL([HAVE_PGREP], [test "x$PGREP" != "x"])
+
+AC_PATH_PROG([SHELLCHECK], [shellcheck])
+AM_CONDITIONAL([HAVE_SHELLCHECK], [test "x$SHELLCHECK" != "x"])
# set $IN_GIT_REPO if we're in the Git repository; the `bootstrap` file
# is not distributed in tarballs
# set $IN_GIT_REPO if we're in the Git repository; the `bootstrap` file
# is not distributed in tarballs
signal.h stdlib.h sys/un.h sys/socket.h stdlib.h stdio.h \
getopt.h sys/ipc.h sys/shm.h popt.h grp.h arpa/inet.h \
netdb.h netinet/in.h paths.h stddef.h sys/file.h sys/ioctl.h \
signal.h stdlib.h sys/un.h sys/socket.h stdlib.h stdio.h \
getopt.h sys/ipc.h sys/shm.h popt.h grp.h arpa/inet.h \
netdb.h netinet/in.h paths.h stddef.h sys/file.h sys/ioctl.h \
mkdir munmap putenv realpath rmdir socket strchr strcspn strdup \
strncasecmp strndup strnlen strpbrk strrchr strstr strtol strtoul \
strtoull dirfd gethostbyname2 getipnodebyname epoll_create1 \
mkdir munmap putenv realpath rmdir socket strchr strcspn strdup \
strncasecmp strndup strnlen strpbrk strrchr strstr strtol strtoul \
strtoull dirfd gethostbyname2 getipnodebyname epoll_create1 \
AC_CHECK_FUNC([clock_gettime], [AC_DEFINE_UNQUOTED([LTTNG_HAVE_CLOCK_GETTIME], 1, [Has clock_gettime() support.])])
# URCU library version needed or newer
AC_CHECK_FUNC([clock_gettime], [AC_DEFINE_UNQUOTED([LTTNG_HAVE_CLOCK_GETTIME], 1, [Has clock_gettime() support.])])
# URCU library version needed or newer
-PKG_CHECK_MODULES([URCU], [liburcu >= 0.11])
-PKG_CHECK_MODULES([URCU_CDS], [liburcu-cds >= 0.11])
+PKG_CHECK_MODULES([URCU], [liburcu >= 0.14])
+PKG_CHECK_MODULES([URCU_CDS], [liburcu-cds >= 0.14])
AM_CPPFLAGS="$AM_CPPFLAGS $URCU_CFLAGS"
# Check for libkmod, it will be auto-neabled if found but won't fail if it's not,
AM_CPPFLAGS="$AM_CPPFLAGS $URCU_CFLAGS"
# Check for libkmod, it will be auto-neabled if found but won't fail if it's not,
if test "x$enable_python_binding" = xyes; then
AX_PKG_SWIG($swig_version, [], [ AC_MSG_ERROR([SWIG $swig_version or newer is needed]) ])
AS_IF([test x$enable_shared = xno], [ AC_MSG_ERROR([Python bindings require shared libraries.]) ])
if test "x$enable_python_binding" = xyes; then
AX_PKG_SWIG($swig_version, [], [ AC_MSG_ERROR([SWIG $swig_version or newer is needed]) ])
AS_IF([test x$enable_shared = xno], [ AC_MSG_ERROR([Python bindings require shared libraries.]) ])
AC_ARG_VAR([PYTHON_INCLUDE], [Include flags for python, bypassing python-config])
AC_ARG_VAR([PYTHON_CONFIG], [Path to python-config])
AC_ARG_VAR([PYTHON_INCLUDE], [Include flags for python, bypassing python-config])
AC_ARG_VAR([PYTHON_CONFIG], [Path to python-config])
AS_IF([test -z "$PYTHON_CONFIG"], [
AC_PATH_PROGS([PYTHON_CONFIG],
[python$PYTHON_VERSION-config python-config],
AS_IF([test -z "$PYTHON_CONFIG"], [
AC_PATH_PROGS([PYTHON_CONFIG],
[python$PYTHON_VERSION-config python-config],
warn_prebuilt_man_pages=no
AS_IF([test "x$man_pages_opt" = "xyes"], [
warn_prebuilt_man_pages=no
AS_IF([test "x$man_pages_opt" = "xyes"], [
- AC_PATH_PROG([ASCIIDOC], [asciidoc], [no])
- AC_PATH_PROG([XMLTO], [xmlto], [no])
+ AC_PATH_PROG([ASCIIDOC], [asciidoc])
+ AC_PATH_PROG([XMLTO], [xmlto])
AS_IF([test "x$in_git_repo" = "xyes"], [
# this is an error because we're in the Git repo, which
# means the man pages are not already generated for us,
AS_IF([test "x$in_git_repo" = "xyes"], [
# this is an error because we're in the Git repo, which
# means the man pages are not already generated for us,
AS_IF([test "x$man_pages_opt" = "xno"], [
AC_MSG_ERROR([You need the --enable-man-pages option with the --enable-embedded-help option.])
])
AS_IF([test "x$man_pages_opt" = "xno"], [
AC_MSG_ERROR([You need the --enable-man-pages option with the --enable-embedded-help option.])
])
- AC_PATH_PROG([man_prog_path], [man], [no])
- AS_IF([test "x$man_prog_path" = "xno"], [
+ AC_PATH_PROG([man_prog_path], [man])
+ AS_IF([test "x$man_prog_path" = "x"], [
AC_MSG_ERROR([You need man with the --enable-embedded-help option.])
])
AC_DEFINE_UNQUOTED([LTTNG_EMBED_HELP], 1, [Embed --help messages.])
AC_MSG_ERROR([You need man with the --enable-embedded-help option.])
])
AC_DEFINE_UNQUOTED([LTTNG_EMBED_HELP], 1, [Embed --help messages.])
# Arguments for binaries build exclusion
AC_ARG_ENABLE([bin-lttng], AS_HELP_STRING([--disable-bin-lttng],[Disable the build of lttng binaries]))
AC_ARG_ENABLE([bin-lttng-consumerd], AS_HELP_STRING([--disable-bin-lttng-consumerd],
# Arguments for binaries build exclusion
AC_ARG_ENABLE([bin-lttng], AS_HELP_STRING([--disable-bin-lttng],[Disable the build of lttng binaries]))
AC_ARG_ENABLE([bin-lttng-consumerd], AS_HELP_STRING([--disable-bin-lttng-consumerd],
+# If we want to build liblttng-ctl
+AS_IF([test x$enable_lib_lttng_ctl != xno],
+ [
+ build_lib_lttng_ctl=yes
+ ]
+)
+# If we need to build liblttng-ctl because a binary depends on it
AS_IF([test x$build_lib_lttng_ctl = xyes],
[
build_lib_sessiond_comm=yes
]
)
AS_IF([test x$build_lib_lttng_ctl = xyes],
[
build_lib_sessiond_comm=yes
]
)
+# Fail if we didn't want to build liblttng-ctl but need to build it anyway
+AS_IF([test "x$build_lib_lttng_ctl" = "xyes" -a "x$enable_lib_lttng_ctl" = "xno"],[
+ AC_MSG_FAILURE(
+ [liblttng-ctl must be built, because at least one binary that depends on it is enabled])
+])
tests/regression/Makefile
tests/regression/kernel/Makefile
tests/regression/tools/Makefile
tests/regression/Makefile
tests/regression/kernel/Makefile
tests/regression/tools/Makefile
tests/regression/tools/trigger/utils/Makefile
tests/regression/tools/trigger/name/Makefile
tests/regression/tools/trigger/hidden/Makefile
tests/regression/tools/trigger/utils/Makefile
tests/regression/tools/trigger/name/Makefile
tests/regression/tools/trigger/hidden/Makefile
tests/regression/ust/Makefile
tests/regression/ust/nprocesses/Makefile
tests/regression/ust/high-throughput/Makefile
tests/regression/ust/Makefile
tests/regression/ust/nprocesses/Makefile
tests/regression/ust/high-throughput/Makefile
tests/regression/ust/rotation-destroy-flush/Makefile
tests/regression/ust/blocking/Makefile
tests/regression/ust/namespaces/Makefile
tests/regression/ust/rotation-destroy-flush/Makefile
tests/regression/ust/blocking/Makefile
tests/regression/ust/namespaces/Makefile
tests/utils/testapp/gen-ns-events/Makefile
tests/utils/testapp/gen-kernel-test-events/Makefile
tests/utils/testapp/gen-py-events/Makefile
tests/utils/testapp/gen-ust-events/Makefile
tests/utils/testapp/gen-ns-events/Makefile
tests/utils/testapp/gen-kernel-test-events/Makefile
tests/utils/testapp/gen-py-events/Makefile
tests/utils/testapp/gen-ust-events/Makefile
tests/utils/testapp/gen-ust-events-ns/Makefile
tests/utils/testapp/gen-syscall-events-callstack/Makefile
tests/utils/testapp/gen-ust-nevents/Makefile
tests/utils/testapp/gen-ust-events-ns/Makefile
tests/utils/testapp/gen-syscall-events-callstack/Makefile
tests/utils/testapp/gen-ust-nevents/Makefile
# Inject LTTNG_TOOLS_BUILD_WITH_LIBPFM variable in test script.
AC_CONFIG_FILES([tests/perf/test_perf_raw],[chmod +x tests/perf/test_perf_raw])
AC_CONFIG_FILES([tests/regression/ust/ust-dl/test_ust-dl],[chmod +x tests/regression/ust/ust-dl/test_ust-dl])
# Inject LTTNG_TOOLS_BUILD_WITH_LIBPFM variable in test script.
AC_CONFIG_FILES([tests/perf/test_perf_raw],[chmod +x tests/perf/test_perf_raw])
AC_CONFIG_FILES([tests/regression/ust/ust-dl/test_ust-dl],[chmod +x tests/regression/ust/ust-dl/test_ust-dl])
test "x$with_lttng_ust" = "xyes" && value=1 || value=0
PPRINT_PROP_BOOL([LTTng-UST support], $value)
test "x$with_lttng_ust" = "xyes" && value=1 || value=0
PPRINT_PROP_BOOL([LTTng-UST support], $value)
+AS_ECHO
+PPRINT_SUBTITLE([Libraries])
+
+# liblttng-ctl enabled/disabled
+test x$build_lib_lttng_ctl != xno && value=1 || value=0
+PPRINT_PROP_BOOL([liblttng-ctl], $value)
+