configure: enable extended compiler warnings
[lttng-ust.git] / configure.ac
... / ...
CommitLineData
1dnl SPDX-License-Identifier: LGPL-2.1-only
2dnl
3dnl Copyright (C) 2021 EfficiOS, Inc.
4dnl
5dnl Process this file with autoconf to produce a configure script.
6
7
8# Project version information
9m4_define([ust_version_major], [2])
10m4_define([ust_version_minor], [13])
11m4_define([ust_version_patch], [0])
12m4_define([ust_version_dev_stage], [-pre])
13m4_define([ust_version], ust_version_major[.]ust_version_minor[.]ust_version_patch[]ust_version_dev_stage)
14m4_define([ust_version_name], [[Codename TBD]])
15m4_define([ust_version_description], [[Description TBD]])
16
17# Library version information of "liblttng-ust"
18# Following the numbering scheme proposed by libtool for the library version
19# http://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html
20m4_define([ust_lib_version_current], [1])
21m4_define([ust_lib_version_revision], [0])
22m4_define([ust_lib_version_age], [0])
23m4_define([ust_lib_version], ust_lib_version_current[:]ust_lib_version_revision[:]ust_lib_version_age)
24
25# Library version information of "liblttng-ust-ctl"
26# Following the numbering scheme proposed by libtool for the library version
27# http://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html
28m4_define([ust_ctl_lib_version_current], [5])
29m4_define([ust_ctl_lib_version_revision], [0])
30m4_define([ust_ctl_lib_version_age], [0])
31m4_define([ust_ctl_lib_version], ust_ctl_lib_version_current[:]ust_ctl_lib_version_revision[:]ust_ctl_lib_version_age)
32
33
34## ##
35## Autoconf base setup ##
36## ##
37
38AC_PREREQ([2.69])
39AC_INIT([lttng-ust],[ust_version],[mathieu dot desnoyers at efficios dot com],[],[https://lttng.org])
40
41AC_CONFIG_HEADERS([src/common/config.h include/lttng/ust-config.h include/lttng/ust-version.h])
42AC_CONFIG_AUX_DIR([config])
43AC_CONFIG_MACRO_DIR([m4])
44
45AC_CANONICAL_TARGET
46AC_CANONICAL_HOST
47
48
49## ##
50## Automake base setup ##
51## ##
52
53AM_INIT_AUTOMAKE([1.12 foreign dist-bzip2 no-dist-gzip tar-ustar nostdinc -Wall -Wno-portability -Werror])
54AM_MAINTAINER_MODE([enable])
55
56# Enable silent rules by default
57AM_SILENT_RULES([yes])
58
59
60## ##
61## OS and Arch specific defaults ##
62## ##
63
64# Set os specific options
65AS_CASE([$host_os],
66 [freebsd*], [AE_FEATURE_DISABLE([numa])]
67)
68
69# Set architecture specific options
70AS_CASE([$host_cpu],
71 [i[[3456]]86], [],
72 [x86_64], [],
73 [amd64], [],
74 [powerpc], [],
75 [ppc64], [],
76 [ppc64le], [],
77 [powerpc64], [],
78 [powerpc64le], [],
79 [s390], [],
80 [s390x], [],
81 [arm*], [AE_FEATURE_DISABLE([numa])],
82 [aarch64*], [],
83 [mips*], [],
84 [tile*], [],
85 [
86 unsupported_arch="yes"
87 ])
88
89
90## ##
91## C compiler checks ##
92## ##
93
94# Choose the C compiler
95AC_PROG_CC
96# AC_PROG_CC_STDC was merged in AC_PROG_CC in autoconf 2.70
97m4_version_prereq([2.70], [], [AC_PROG_CC_STDC])
98
99# Make sure the C compiler supports C99
100AS_IF([test "$ac_cv_prog_cc_c99" = "no"], [AC_MSG_ERROR([The compiler does not support C99])])
101
102# Enable available system extensions and LFS support
103AC_USE_SYSTEM_EXTENSIONS
104AC_SYS_LARGEFILE
105
106# Make sure the C compiler supports __attribute__
107AX_C___ATTRIBUTE__
108AS_IF([test "x$ax_cv___attribute__" != "xyes"],
109 [AC_MSG_ERROR([The compiler does not support __attribute__ extensions])])
110
111# Make sure we have pthread support
112AX_PTHREAD([], [AC_MSG_ERROR([Could not configure pthread support])])
113
114# Make sure the C compiler supports weak symbols
115AX_SYS_WEAK_ALIAS
116AS_IF([test "x$ax_cv_sys_weak_alias" = "xno"],
117 [AC_MSG_ERROR([Your platform doesn't support weak symbols.])])
118
119# Checks for typedefs, structures, and compiler characteristics.
120AC_C_INLINE
121AC_C_TYPEOF
122AC_TYPE_INT16_T
123AC_TYPE_INT32_T
124AC_TYPE_INT64_T
125AC_TYPE_INT8_T
126AC_TYPE_MODE_T
127AC_TYPE_OFF_T
128AC_TYPE_PID_T
129AC_TYPE_SIZE_T
130AC_TYPE_SSIZE_T
131AC_TYPE_UID_T
132AC_TYPE_UINT16_T
133AC_TYPE_UINT32_T
134AC_TYPE_UINT64_T
135AC_TYPE_UINT8_T
136AC_CHECK_TYPES([ptrdiff_t])
137
138# Detect warning flags supported by the C compiler and append them to
139# WARN_CFLAGS.
140m4_define([WARN_FLAGS_LIST], [ dnl
141 -Wall dnl
142 -Wextra dnl
143 -Wmissing-prototypes dnl
144 -Wmissing-declarations dnl
145 -Wnull-dereference dnl
146 -Wundef dnl
147 -Wshadow dnl
148 -Wjump-misses-init dnl
149 -Wsuggest-attribute=format dnl
150 -Wtautological-constant-out-of-range-compare dnl
151 -Wnested-externs dnl
152 -Wwrite-strings dnl
153 -Wformat=2 dnl
154 -Wstrict-aliasing dnl
155 -Wmissing-noreturn dnl
156 -Winit-self dnl
157 -Wduplicated-cond dnl
158 -Wduplicated-branches dnl
159 -Wlogical-op dnl
160 dnl These would require reworking the tracepoint macros
161 dnl-Wredundant-decls dnl
162 -Wno-sign-compare dnl
163 -Wno-missing-field-initializers dnl
164 -Wno-null-dereference dnl
165])
166
167# Pass -Werror as an extra flag during the test: this is needed to make the
168# -Wunknown-warning-option diagnostic fatal with clang.
169AC_LANG_PUSH([C])
170AX_APPEND_COMPILE_FLAGS([WARN_FLAGS_LIST], [WARN_CFLAGS], [-Werror])
171AC_LANG_POP([C])
172
173# The test used in AX_APPEND_COMPILE_FLAGS, generated using AC_LANG_PROGRAM, is
174# written in such a way that it triggers warnings with the following warning
175# flags. So they would always end up disabled if we put them there, because
176# the test program would not build.
177#
178# Enable them here unconditionally. They are supported by GCC >= 4.8 and by
179# Clang >= 3.3 (required by the project) and are only valid for C code.
180WARN_CFLAGS="${WARN_CFLAGS} -Wold-style-definition -Wstrict-prototypes"
181
182
183## ##
184## C++ compiler checks ##
185## ##
186
187# Find an optional C++11 compiler without GNU extensions (-std=c++11)
188AX_CXX_COMPILE_STDCXX([11], [noext], [optional])
189
190AS_IF([test "$HAVE_CXX11" = "1"], [
191 # Pass -Werror as an extra flag during the test: this is needed to make the
192 # -Wunknown-warning-option diagnostic fatal with clang.
193 AC_LANG_PUSH([C++])
194 AX_APPEND_COMPILE_FLAGS([WARN_FLAGS_LIST -Wno-undef -Wno-duplicated-branches], [WARN_CXXFLAGS], [-Werror])
195 AC_LANG_POP([C++])
196])
197
198
199## ##
200## Header checks ##
201## ##
202
203AC_HEADER_STDBOOL
204AC_CHECK_HEADERS([ \
205 arpa/inet.h \
206 dlfcn.h \
207 fcntl.h \
208 float.h \
209 limits.h \
210 linux/perf_event.h \
211 locale.h \
212 stddef.h \
213 sys/socket.h \
214 sys/time.h \
215 wchar.h \
216])
217
218# Check for dlinfo() by testing for RTLD_DI_LINKMAP in dlfcn.h
219AS_IF([test "x$ac_cv_header_dlfcn_h" = "xyes"], [
220 AC_CHECK_DECL([RTLD_DI_LINKMAP], [], [], [[#include <dlfcn.h>]])
221])
222
223
224## ##
225## Programs checks ##
226## ##
227
228AM_PROG_AR
229AC_PROG_SED
230AC_PROG_GREP
231AC_PROG_LN_S
232AC_PROG_MKDIR_P
233AC_PROG_MAKE_SET
234AC_CHECK_PROGS([ASCIIDOC], [asciidoc])
235AC_CHECK_PROGS([CMAKE], [cmake])
236AC_CHECK_PROGS([FOLD], [fold])
237AC_CHECK_PROGS([XMLTO], [xmlto])
238
239AM_PATH_PYTHON([2.7], [], [PYTHON=""])
240
241# Initialize and configure libtool
242LT_INIT([disable-static])
243
244
245## ##
246## Library checks ##
247## ##
248
249AC_FUNC_CHOWN
250AC_FUNC_FORK
251AC_FUNC_MMAP
252AC_FUNC_STRERROR_R
253AC_FUNC_STRNLEN
254AC_CHECK_FUNCS([ \
255 atexit \
256 clock_gettime \
257 ftruncate \
258 getpagesize \
259 gettimeofday \
260 localeconv \
261 memchr \
262 memmove \
263 memset \
264 mkdir \
265 munmap \
266 realpath \
267 sched_getcpu \
268 socket \
269 strchr \
270 strdup \
271 strerror \
272 strtol \
273 strtoul \
274 sysconf \
275])
276
277# AC_FUNC_MALLOC causes problems when cross-compiling.
278#AC_FUNC_MALLOC
279#AC_FUNC_REALLOC
280
281# Check for pthread_setname_np and its signature
282LTTNG_PTHREAD_SETNAME_NP
283LTTNG_PTHREAD_GETNAME_NP
284
285# Check dor dlopen() in -ldl or -lc
286AC_CHECK_LIB([dl], [dlopen], [
287 libdl_name=dl
288 DL_LIBS="-ldl"
289], [
290 # dlopen not found in libdl, check in libc
291 AC_CHECK_LIB([c], [dlopen], [
292 libdl_name=c
293 DL_LIBS="-lc"
294 ], [
295 AC_MSG_ERROR([Cannot find dlopen in libdl nor libc. Use [LDFLAGS]=-Ldir to specify their location.])
296 ])
297])
298AC_SUBST(DL_LIBS)
299
300# Check if libdl has dlmopen()
301AC_CHECK_LIB([$libdl_name], [dlmopen], [
302 AC_DEFINE([HAVE_DLMOPEN], [1], [Define to 1 if dlmopen is available.])
303])
304
305# Require URCU >= 0.12 for DEFINE_URCU_TLS_INIT
306PKG_CHECK_MODULES([URCU], [liburcu >= 0.12])
307
308
309## ##
310## User variables ##
311## ##
312
313# Additional variables captured during ./configure
314
315AC_ARG_VAR([CLASSPATH], [Java class path])
316
317
318## ##
319## Optionnal features selection ##
320## ##
321
322# numa integration
323# Enabled by default, except on some platforms
324AE_FEATURE_DEFAULT_ENABLE
325AE_FEATURE([numa],[disable NUMA support])
326
327# Java JNI interface library
328# Disabled by default
329AE_FEATURE_DEFAULT_DISABLE
330AE_FEATURE([jni-interface], [build JNI interface between C and Java])
331
332# Build the Java Logging API agent
333# Disabled by default
334AE_FEATURE_DEFAULT_DISABLE
335AE_FEATURE([java-agent-jul],[build the LTTng UST Java agent with JUL support])
336
337# Build the Java Log4j agent
338# Disabled by default
339AE_FEATURE_DEFAULT_DISABLE
340AE_FEATURE([java-agent-log4j],[build the LTTng UST Java agent with Log4j support])
341
342# Build both Java agents
343# Disabled by default
344AE_FEATURE_DEFAULT_DISABLE
345AE_FEATURE([java-agent-all],[build the LTTng UST Java agent with all supported backends])
346
347# Build the Python agent
348# Disabled by default
349AE_FEATURE_DEFAULT_DISABLE
350AE_FEATURE([python-agent],[build the LTTng UST Python agent])
351
352# Build the examples
353# Disabled by default
354AE_FEATURE_DEFAULT_ENABLE
355AE_FEATURE([examples],[Do not build and install examples])
356
357# Man pages
358# Enabled by default
359AE_FEATURE_DEFAULT_ENABLE
360AE_FEATURE([man-pages],[Do not build and install man pages (already built in a distributed tarball)])
361
362# Systemtap sdt.h integration
363# Disabled by default
364AC_ARG_WITH([sdt],
365 [AS_HELP_STRING([--with-sdt], [provide SystemTap integration via sdt.h [default=no]])]
366)
367
368# Override the default runtime directory
369AC_ARG_WITH([lttng-system-rundir], [
370AS_HELP_STRING([--with-lttng-system-rundir], [Location of the system directory where LTTng-UST expects the system-wide lttng-sessiond runtime files. The default is "/var/run/lttng".]),
371], [
372 lttng_system_rundir="$withval"
373], [
374 lttng_system_rundir="/var/run/lttng"
375])
376
377# Add the java command line arguments like '--wit-java-prefix'
378AX_JAVA_OPTIONS
379
380
381## ##
382## Check for conflicting features selection ##
383## ##
384
385AE_IF_FEATURE_DISABLED([shared], [
386 AC_MSG_ERROR(LTTng-UST requires shared libraries to be enabled)
387])
388
389AE_IF_FEATURE_ENABLED([java-agent-all], [
390 AE_FEATURE_ENABLE([java-agent-jul])
391 AE_FEATURE_ENABLE([java-agent-log4j])
392])
393
394
395## ##
396## Check for optional features dependencies ##
397## ##
398
399# The numa integration requires libnuma
400AE_IF_FEATURE_ENABLED([numa], [
401 AC_CHECK_LIB([numa], [numa_available], [], [
402 AC_MSG_ERROR([dnl
403libnuma is not available. Please either install it (e.g. libnuma-dev) or use
404[LDFLAGS]=-Ldir to specify the right location, or use --disable-numa configure
405argument to disable NUMA support.
406 ])
407 ])
408])
409
410# The JNI interface and Java Agents require a working Java JDK
411AS_IF([AE_IS_FEATURE_ENABLED([jni-interface]) || AE_IS_FEATURE_ENABLED([java-agent-jul]) || AE_IS_FEATURE_ENABLED([java-agent-log4j])], [
412 AX_PROG_JAVAC
413 AX_PROG_JAVA
414 AX_PROG_JAR
415
416 # Get the CPPFLAGS required to build jni libaries
417 AX_JNI_INCLUDE_DIR
418 for jni_include_dir in $JNI_INCLUDE_DIRS; do
419 JNI_CPPFLAGS="$JNI_CPPFLAGS -I$jni_include_dir"
420 done
421
422 # Check for javah and jni.h
423 saved_CPPFLAGS="$CPPFLAGS"
424 CPPFLAGS="$CPPFLAGS $JNI_CPPFLAGS"
425 AX_PROG_JAVAH
426 CPPFLAGS="$saved_CPPFLAGS"
427])
428
429# The log4j agent requires the log4j jar in the classpath
430AE_IF_FEATURE_ENABLED([java-agent-log4j], [
431 AX_CHECK_CLASS([org.apache.log4j.Logger])
432 AS_IF([test "x$ac_cv_class_org_apache_log4j_Logger" = "xno"], [
433 AC_MSG_ERROR([dnl
434The UST Java agent support for log4j was requested but the Log4j classes were
435not found. Please specify the location of the Log4j jar via the Java CLASSPATH
436environment variable, e.g. ./configure CLASSPATH="/path/to/log4j.jar"
437
438Current CLASSPATH: "$CLASSPATH"
439 ])
440 ])
441])
442
443# The python agent requires a python interpreter
444AE_IF_FEATURE_ENABLED([python-agent], [
445 AS_IF([test "x$PYTHON" = "x"], [
446 AC_MSG_ERROR([dnl
447Cannot find a suitable python interpreter. You can override it with the PYTHON
448environment variable.
449 ])
450 ])
451])
452
453# Check for asciidoc and xmlto if we enabled building the man pages.
454AE_IF_FEATURE_ENABLED([man-pages], [
455 AS_IF([test "x$ASCIIDOC" = "x" || test "x$XMLTO" = "x"], [
456 AE_IF_IN_GIT_REPO([
457 # This is an error because we're in the Git repo, which
458 # means the man pages are not already generated for us,
459 # thus asciidoc/xmlto are required because we were asked
460 # to build the man pages.
461 AC_MSG_ERROR([dnl
462Both asciidoc and xmlto are needed to build the LTTng-UST man pages. Use
463--disable-man-pages to disable building the man pages, in which case
464they will not be installed.
465 ])
466 ], [
467 # Only warn here: since we're in the tarball, the man
468 # pages should already be generated at this point, thus
469 # asciidoc/xmlto are not strictly required.
470 warn_prebuilt_man_pages=yes
471 ])
472 ], [
473 have_asciidoc_xmlto=yes
474 ])
475])
476
477AS_IF([test "x$with_sdt" = "xyes"], [
478 AC_MSG_CHECKING([STAP_PROBEV()])
479 AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
480 #define SDT_USE_VARIADIC
481 #include <sys/sdt.h>
482 void fct(void)
483 {
484 STAP_PROBEV(provider,name,1,2,3,4,5,6,7,8,9,10);
485 }
486 ]])], [
487 AC_MSG_RESULT([yes])
488 AC_DEFINE([LTTNG_UST_HAVE_SDT_INTEGRATION], [1], [SystemTap integration via sdt.h])
489 ], [
490 AC_MSG_RESULT([no])
491 AC_MSG_ERROR([dnl
492The sdt.h integration was requested but the STAP_PROBEV define cannot be used.
493Make sure it is installed, and up to date, or use CPPFLAGS=-I/path/ to specify
494a non-standard path to sys/sdt.h
495 ])
496 ])
497])
498
499
500## ##
501## Set defines for optional features conditionnals in the source code ##
502## ##
503
504AC_DEFINE_UNQUOTED([LTTNG_SYSTEM_RUNDIR], ["$lttng_system_rundir"], [LTTng system runtime directory])
505
506# Defined in include/lttng/ust-version.h
507AC_DEFINE([LTTNG_UST_MAJOR_VERSION], ust_version_major, [LTTng UST major version])
508AC_DEFINE([LTTNG_UST_MINOR_VERSION], ust_version_minor, [LTTng UST minor version])
509AC_DEFINE([LTTNG_UST_PATCHLEVEL_VERSION], ust_version_patch, [LTTng UST patch version])
510AC_DEFINE([LTTNG_UST_VERSION], ["]ust_version["], [LTTng UST version string])
511AC_DEFINE([LTTNG_UST_LIB_SONAME_MAJOR], [ust_lib_version_current], [Major SONAME number of liblttng-ust])
512AC_DEFINE([LTTNG_UST_CTL_LIB_SONAME_MAJOR], [ust_ctl_lib_version_current], [Major SONAME number of liblttng-ust-ctl])
513
514
515## ##
516## Set automake variables for optional feature conditionnals in Makefile.am ##
517## ##
518
519AM_CONDITIONAL([ENABLE_EXAMPLES], AE_IS_FEATURE_ENABLED([examples]))
520AM_CONDITIONAL([ENABLE_GEN_TP_EXAMPLES], [test "x$PYTHON" != "x"])
521AM_CONDITIONAL([ENABLE_JAVA_AGENT], AE_IS_FEATURE_ENABLED([java-agent-jul]) || AE_IS_FEATURE_ENABLED([java-agent-log4j]))
522AM_CONDITIONAL([ENABLE_JAVA_AGENT_WITH_JUL], AE_IS_FEATURE_ENABLED([java-agent-jul]))
523AM_CONDITIONAL([ENABLE_JAVA_AGENT_WITH_LOG4J], AE_IS_FEATURE_ENABLED([java-agent-log4j]))
524AM_CONDITIONAL([ENABLE_JNI_INTERFACE], AE_IS_FEATURE_ENABLED([jni-interface]))
525AM_CONDITIONAL([ENABLE_MAN_PAGES], AE_IS_FEATURE_ENABLED([man-pages]))
526AM_CONDITIONAL([ENABLE_NUMA], AE_IS_FEATURE_ENABLED([numa]))
527AM_CONDITIONAL([ENABLE_PYTHON_AGENT], AE_IS_FEATURE_ENABLED([python-agent]))
528AM_CONDITIONAL([ENABLE_UST_DL], [test "x$ac_cv_have_decl_RTLD_DI_LINKMAP" = "xyes"])
529AM_CONDITIONAL([HAVE_ASCIIDOC_XMLTO], [test "x$have_asciidoc_xmlto" = "xyes"])
530AM_CONDITIONAL([HAVE_CMAKE], [test "x$CMAKE" != "x"])
531AM_CONDITIONAL([HAVE_CXX], [test "$HAVE_CXX11" = "1"])
532AM_CONDITIONAL([HAVE_JAVAH], [test "x$JAVAH" != "x"])
533AM_CONDITIONAL([HAVE_PERF_EVENT], [test "x$ac_cv_header_linux_perf_event_h" = "xyes"])
534
535
536## ##
537## Substitute variables for use in Makefile.am ##
538## ##
539
540# Library versions for libtool
541AC_SUBST([LTTNG_UST_LIBRARY_VERSION], ust_lib_version)
542AC_SUBST([LTTNG_UST_CTL_LIBRARY_VERSION], ust_ctl_lib_version)
543
544# Major soname for python-lttngust
545AC_SUBST([LTTNG_UST_LIB_SONAME_MAJOR], [ust_lib_version_current])
546
547AM_CFLAGS="$WARN_CFLAGS $URCU_CFLAGS $PTHREAD_CFLAGS"
548AC_SUBST(AM_CFLAGS)
549
550AM_CXXFLAGS="$WARN_CXXFLAGS $URCU_CFLAGS $PTHREAD_CFLAGS"
551AC_SUBST(AM_CXXFLAGS)
552
553# The order in which the include folders are searched is important.
554# The top_builddir should always be searched first in the event that a build
555# time generated file is included.
556AM_CPPFLAGS="-I\$(top_builddir)/include -I\$(top_srcdir)/include -I\$(top_builddir)/src -I\$(top_srcdir)/src -include common/config.h"
557AC_SUBST(AM_CPPFLAGS)
558
559AC_SUBST(JNI_CPPFLAGS)
560
561
562## ##
563## Output files generated by configure ##
564## ##
565
566# List of files to be generated from '.in' templates by AC_OUTPUT
567AC_CONFIG_FILES([
568 Makefile
569 doc/examples/Makefile
570 doc/Makefile
571 doc/man/Makefile
572 include/Makefile
573 src/common/Makefile
574 src/lib/lttng-ust-common/Makefile
575 src/lib/lttng-ust-ctl/Makefile
576 src/lib/lttng-ust-cyg-profile/Makefile
577 src/lib/lttng-ust-dl/Makefile
578 src/lib/lttng-ust-fd/Makefile
579 src/lib/lttng-ust-fork/Makefile
580 src/lib/lttng-ust-java-agent/java/lttng-ust-agent-all/Makefile
581 src/lib/lttng-ust-java-agent/java/lttng-ust-agent-common/Makefile
582 src/lib/lttng-ust-java-agent/java/lttng-ust-agent-jul/Makefile
583 src/lib/lttng-ust-java-agent/java/lttng-ust-agent-log4j/Makefile
584 src/lib/lttng-ust-java-agent/java/Makefile
585 src/lib/lttng-ust-java-agent/jni/common/Makefile
586 src/lib/lttng-ust-java-agent/jni/jul/Makefile
587 src/lib/lttng-ust-java-agent/jni/log4j/Makefile
588 src/lib/lttng-ust-java-agent/jni/Makefile
589 src/lib/lttng-ust-java-agent/Makefile
590 src/lib/lttng-ust-java/Makefile
591 src/lib/lttng-ust-libc-wrapper/Makefile
592 src/lib/lttng-ust-pthread-wrapper/Makefile
593 src/lib/lttng-ust-tracepoint/Makefile
594 src/lib/lttng-ust/Makefile
595 src/lib/lttng-ust-python-agent/Makefile
596 src/lib/Makefile
597 src/lttng-ust-ctl.pc
598 src/lttng-ust.pc
599 src/Makefile
600 src/python-lttngust/lttngust/version.py
601 src/python-lttngust/Makefile
602 src/python-lttngust/setup.py
603 tests/benchmark/Makefile
604 tests/compile/ctf-types/Makefile
605 tests/compile/hello.cxx/Makefile
606 tests/compile/hello/Makefile
607 tests/compile/hello-many/Makefile
608 tests/compile/Makefile
609 tests/compile/same_line_tracepoint/Makefile
610 tests/compile/test-app-ctx/Makefile
611 tests/Makefile
612 tests/unit/gcc-weak-hidden/Makefile
613 tests/unit/libmsgpack/Makefile
614 tests/unit/libringbuffer/Makefile
615 tests/unit/Makefile
616 tests/unit/pthread_name/Makefile
617 tests/unit/snprintf/Makefile
618 tests/unit/ust-elf/Makefile
619 tests/unit/ust-error/Makefile
620 tests/unit/ust-utils/Makefile
621 tests/utils/Makefile
622 tools/Makefile
623])
624
625AC_OUTPUT
626
627
628## ##
629## Mini-report on what will be built. ##
630## ##
631
632PPRINT_INIT
633PPRINT_SET_INDENT(1)
634PPRINT_SET_TS(38)
635
636AS_ECHO
637AS_IF([test -n "ust_version_name"], [
638 AS_ECHO("${PPRINT_COLOR_BLDBLU}LTTng-ust $PACKAGE_VERSION \"ust_version_name\"$PPRINT_COLOR_RST")
639], [
640 AS_ECHO("${PPRINT_COLOR_BLDBLU}LTTng-ust $PACKAGE_VERSION")
641])
642
643AS_ECHO
644
645AS_IF([test -n "ust_version_description"], [
646 AS_IF([test -n "$FOLD"], [
647 AS_ECHO("`AS_ECHO("ust_version_description") | $FOLD -s`")
648 ], [
649 AS_ECHO("ust_version_description")
650 ])
651 AS_ECHO
652])
653
654PPRINT_SUBTITLE([System])
655
656PPRINT_PROP_STRING([Target architecture], $host_cpu)
657
658AS_IF([test "x$unsupported_arch" = "xyes"],[
659 PPRINT_WARN([Your architecture ($host_cpu) is unsupported, using safe default of no unaligned access.])
660])
661
662AS_ECHO
663PPRINT_SUBTITLE([Features])
664PPRINT_SET_INDENT(1)
665
666test "x$with_sdt" = "xyes" && value=1 || value=0
667PPRINT_PROP_BOOL_CUSTOM([sdt.h integration], $value, [use --with-sdt])
668
669AE_IS_FEATURE_ENABLED([java-agent-jul]) && value=1 || value=0
670PPRINT_PROP_BOOL_CUSTOM([Java agent (JUL support)], $value, [use --enable-java-agent-jul])
671
672AE_IS_FEATURE_ENABLED([java-agent-log4j]) && value=1 || value=0
673PPRINT_PROP_BOOL_CUSTOM([Java agent (Log4j support)], $value, [use --enable-java-agent-log4j])
674
675AE_IS_FEATURE_ENABLED([jni-interface]) && value=1 || value=0
676PPRINT_PROP_BOOL_CUSTOM([JNI interface (JNI)], $value, [use --enable-jni-interface])
677
678AE_IS_FEATURE_ENABLED([python-agent]) && value=1 || value=0
679PPRINT_PROP_BOOL_CUSTOM([Python agent], $value, [use --enable-python-agent])
680
681test "x$ac_cv_header_linux_perf_event_h" = "xyes" && value=1 || value=0
682PPRINT_PROP_BOOL_CUSTOM([Perf event integration], $value)
683
684AE_IS_FEATURE_ENABLED([numa]) && value=1 || value=0
685PPRINT_PROP_BOOL([NUMA], $value)
686
687AS_ECHO
688PPRINT_SET_INDENT(0)
689
690AE_IS_FEATURE_ENABLED([examples]) && value=1 || value=0
691PPRINT_PROP_BOOL([Build and install examples], $value, $PPRINT_COLOR_SUBTITLE)
692
693# man pages build enabled/disabled
694m4_pushdef([build_man_pages_msg], [Build and install man pages])
695
696AE_IF_FEATURE_ENABLED([man-pages], [
697 AE_IF_IN_GIT_REPO([
698 PPRINT_PROP_BOOL([build_man_pages_msg], 1, $PPRINT_COLOR_SUBTITLE)
699 ], [
700 AS_IF([test "x$have_asciidoc_xmlto" = "xyes"], [
701 PPRINT_PROP_BOOL([build_man_pages_msg], 1, $PPRINT_COLOR_SUBTITLE)
702 ], [
703 PPRINT_PROP_STRING([build_man_pages_msg],
704 [${PPRINT_COLOR_BLDGRN}yes (already built)],
705 $PPRINT_COLOR_SUBTITLE)
706 ])
707 ])
708], [
709 PPRINT_PROP_BOOL([build_man_pages_msg], 0, $PPRINT_COLOR_SUBTITLE)
710])
711
712m4_popdef([build_man_pages_msg])
713
714PPRINT_SET_INDENT(1)
715
716report_bindir="`eval eval echo $bindir`"
717report_libdir="`eval eval echo $libdir`"
718
719# Print the bindir and libdir this `make install' will install into.
720AS_ECHO
721PPRINT_SUBTITLE([Install directories])
722PPRINT_PROP_STRING([Binaries], [$report_bindir])
723PPRINT_PROP_STRING([Libraries], [$report_libdir])
724
725AS_ECHO
726PPRINT_SUBTITLE([System directories])
727
728PPRINT_PROP_STRING([lttng-sessiond rundir], [$lttng_system_rundir])
729
730PPRINT_SET_INDENT(0)
731
732AS_IF([test "x$warn_prebuilt_man_pages" = "xyes" ], [
733 AS_ECHO
734 PPRINT_WARN([dnl
735Both asciidoc and xmlto are needed to build the LTTng-UST man pages.
736
737Note that the man pages are already built in this distribution tarball,
738therefore asciidoc and xmlto are only needed if you intend to modify
739their sources.
740
741Use --disable-man-pages to completely disable building and installing
742the man pages.])
743])
744
745# vim: shiftwidth=2 softtabstop=2 expandtab
This page took 0.02529 seconds and 4 git commands to generate.