X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=configure.ac;h=bd6f45d5d131b08440b1126535cc4e19675e8f62;hb=8466f0713f871bcbad5d5f6d0d6a291cb441e3df;hp=8ca893f7512698fd159cbbc6f46b26c7f21fb702;hpb=942003e52b8fe43bfb8f28a1884d3bda7e6d1e0b;p=lttng-tools.git diff --git a/configure.ac b/configure.ac index 8ca893f75..bd6f45d5d 100644 --- a/configure.ac +++ b/configure.ac @@ -59,20 +59,29 @@ AC_TYPE_UINT8_T # WARN_CFLAGS and WARN_CXXFLAGS. m4_define([WARN_FLAGS_COMMON_LIST], [ dnl -Wall dnl + -Wextra dnl + -Wmissing-declarations dnl -Wnull-dereference dnl -Wundef dnl + -Wredundant-decls dnl + -Wshadow dnl + -Wsuggest-attribute=format dnl + -Wtautological-constant-out-of-range-compare dnl Clang specific + -Wwrite-strings dnl + -Wformat=2 dnl + -Wstrict-aliasing dnl + -Wmissing-noreturn dnl + -Wduplicated-cond dnl + -Wduplicated-branches dnl -Wlogical-op dnl + -Winit-self 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 . [-Werror,-Wincomplete-setjmp-declaration] dnl extern int __sigsetjmp (struct __jmp_buf_tag __env[1], int __savemask) __THROWNL; dnl ^ -Wno-incomplete-setjmp-declaration dnl - -Wmissing-declarations dnl - -Wshadow dnl - -Wno-gnu-folding-constant dnl - -Wsuggest-attribute=format dnl - -Wformat=2 dnl + -Wno-gnu-folding-constant dnl Clang specific ]) # Detect warning flags specific to the C compiler and append them to @@ -81,6 +90,9 @@ m4_define([WARN_FLAGS_C_LIST], [ dnl -Wdiscarded-qualifiers dnl -Wmissing-prototypes dnl -Wmissing-parameter-type dnl + -Wsuggest-final-types dnl + -Wsuggest-final-methods dnl + -Wsuggest-override dnl ]) # Pass -Werror as an extra flag during the test: this is needed to make the @@ -149,15 +161,18 @@ AC_PATH_PROG([report_fold], [fold]) LT_INIT # Check for objcopy, required by the base address statedump and dynamic linker tests -AC_CHECK_TOOL([OBJCOPY], [objcopy], [no]) -AS_IF([test "x$OBJCOPY" = "xno"], +AC_CHECK_TOOL([OBJCOPY], [objcopy]) +AS_IF([test "x$OBJCOPY" = "x"], [AC_MSG_WARN([Cannot find objcopy. The base address statedump and dynamic linker tests will be disabled. Install the binutils package to remediate this.])] ) -AM_CONDITIONAL([HAVE_OBJCOPY], [test "x$OBJCOPY" != xno]) +AM_CONDITIONAL([HAVE_OBJCOPY], [test "x$OBJCOPY" != "x"]) # check for pgrep -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 @@ -288,7 +303,7 @@ AC_CHECK_HEADERS([ \ 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 \ - sys/mount.h sys/param.h sys/time.h elf.h + sys/mount.h sys/param.h sys/time.h elf.h sys/random.h sys/syscall.h ]) AM_CONDITIONAL([HAVE_ELF_H], [test x$ac_cv_header_elf_h = xyes]) @@ -300,7 +315,7 @@ AC_CHECK_FUNCS([ \ mkdir munmap putenv realpath rmdir socket strchr strcspn strdup \ strncasecmp strndup strnlen strpbrk strrchr strstr strtol strtoul \ strtoull dirfd gethostbyname2 getipnodebyname epoll_create1 \ - sched_getcpu sysconf sync_file_range + sched_getcpu sysconf sync_file_range getrandom ]) # Check for pthread_setname_np and pthread_getname_np @@ -557,8 +572,8 @@ PKG_CHECK_MODULES([libxml2], [libxml-2.0 >= 2.7.6]) 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, @@ -641,7 +656,7 @@ AM_CONDITIONAL([PYTHON_BINDING], [test "x$enable_python_binding" = xyes]) 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.]) ]) - AM_PATH_PYTHON([3.0]) + AM_PATH_PYTHON([3.4]) AC_ARG_VAR([PYTHON_INCLUDE], [Include flags for python, bypassing python-config]) AC_ARG_VAR([PYTHON_CONFIG], [Path to python-config]) @@ -649,9 +664,9 @@ if test "x$enable_python_binding" = xyes; then AS_IF([test -z "$PYTHON_CONFIG"], [ AC_PATH_PROGS([PYTHON_CONFIG], [python$PYTHON_VERSION-config python-config], - [no], + [], [`dirname $PYTHON`]) - AS_IF([test "$PYTHON_CONFIG" = no], [AC_MSG_ERROR([cannot find python-config for $PYTHON. Do you have python-dev installed?])]) + AS_IF([test "x$PYTHON_CONFIG" = "x"], [AC_MSG_ERROR([cannot find python-config for $PYTHON. Do you have python-dev installed?])]) ]) AC_MSG_CHECKING([python include flags]) PYTHON_INCLUDE=`$PYTHON_CONFIG --includes` @@ -755,10 +770,10 @@ have_asciidoc_xmlto=no 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$ASCIIDOC" = "xno" || test "x$XMLTO" = "xno"], [ + AS_IF([test "x$ASCIIDOC" = "x" || test "x$XMLTO" = "x"], [ 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, @@ -801,8 +816,8 @@ AS_IF([test "x$embedded_help" = "xyes"], [ 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.]) @@ -1191,6 +1206,7 @@ AC_CONFIG_FILES([ src/vendor/msgpack/Makefile tests/Makefile tests/destructive/Makefile + tests/meta/Makefile tests/regression/Makefile tests/regression/kernel/Makefile tests/regression/tools/Makefile @@ -1223,6 +1239,7 @@ AC_CONFIG_FILES([ tests/regression/tools/trigger/utils/Makefile tests/regression/tools/trigger/name/Makefile tests/regression/tools/trigger/hidden/Makefile + tests/regression/tools/context/Makefile tests/regression/ust/Makefile tests/regression/ust/nprocesses/Makefile tests/regression/ust/high-throughput/Makefile @@ -1255,6 +1272,7 @@ AC_CONFIG_FILES([ tests/unit/ini_config/Makefile tests/perf/Makefile tests/utils/Makefile + tests/utils/lttngtest/Makefile tests/utils/tap/Makefile tests/utils/testapp/Makefile tests/utils/testapp/gen-ns-events/Makefile @@ -1278,6 +1296,7 @@ AC_CONFIG_FILES([tests/regression/ust/python-logging/test_python_logging],[chmod # 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]) +AC_CONFIG_FILES([pre-inst-env],[chmod +x pre-inst-env]) AC_OUTPUT