configure: enable extended compiler warnings
[lttng-ust.git] / configure.ac
1 dnl SPDX-License-Identifier: LGPL-2.1-only
2 dnl
3 dnl Copyright (C) 2021 EfficiOS, Inc.
4 dnl
5 dnl Process this file with autoconf to produce a configure script.
6
7
8 # Project version information
9 m4_define([ust_version_major], [2])
10 m4_define([ust_version_minor], [13])
11 m4_define([ust_version_patch], [0])
12 m4_define([ust_version_dev_stage], [-pre])
13 m4_define([ust_version], ust_version_major[.]ust_version_minor[.]ust_version_patch[]ust_version_dev_stage)
14 m4_define([ust_version_name], [[Codename TBD]])
15 m4_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
20 m4_define([ust_lib_version_current], [1])
21 m4_define([ust_lib_version_revision], [0])
22 m4_define([ust_lib_version_age], [0])
23 m4_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
28 m4_define([ust_ctl_lib_version_current], [5])
29 m4_define([ust_ctl_lib_version_revision], [0])
30 m4_define([ust_ctl_lib_version_age], [0])
31 m4_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
38 AC_PREREQ([2.69])
39 AC_INIT([lttng-ust],[ust_version],[mathieu dot desnoyers at efficios dot com],[],[https://lttng.org])
40
41 AC_CONFIG_HEADERS([src/common/config.h include/lttng/ust-config.h include/lttng/ust-version.h])
42 AC_CONFIG_AUX_DIR([config])
43 AC_CONFIG_MACRO_DIR([m4])
44
45 AC_CANONICAL_TARGET
46 AC_CANONICAL_HOST
47
48
49 ## ##
50 ## Automake base setup ##
51 ## ##
52
53 AM_INIT_AUTOMAKE([1.12 foreign dist-bzip2 no-dist-gzip tar-ustar nostdinc -Wall -Wno-portability -Werror])
54 AM_MAINTAINER_MODE([enable])
55
56 # Enable silent rules by default
57 AM_SILENT_RULES([yes])
58
59
60 ## ##
61 ## OS and Arch specific defaults ##
62 ## ##
63
64 # Set os specific options
65 AS_CASE([$host_os],
66 [freebsd*], [AE_FEATURE_DISABLE([numa])]
67 )
68
69 # Set architecture specific options
70 AS_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
95 AC_PROG_CC
96 # AC_PROG_CC_STDC was merged in AC_PROG_CC in autoconf 2.70
97 m4_version_prereq([2.70], [], [AC_PROG_CC_STDC])
98
99 # Make sure the C compiler supports C99
100 AS_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
103 AC_USE_SYSTEM_EXTENSIONS
104 AC_SYS_LARGEFILE
105
106 # Make sure the C compiler supports __attribute__
107 AX_C___ATTRIBUTE__
108 AS_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
112 AX_PTHREAD([], [AC_MSG_ERROR([Could not configure pthread support])])
113
114 # Make sure the C compiler supports weak symbols
115 AX_SYS_WEAK_ALIAS
116 AS_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.
120 AC_C_INLINE
121 AC_C_TYPEOF
122 AC_TYPE_INT16_T
123 AC_TYPE_INT32_T
124 AC_TYPE_INT64_T
125 AC_TYPE_INT8_T
126 AC_TYPE_MODE_T
127 AC_TYPE_OFF_T
128 AC_TYPE_PID_T
129 AC_TYPE_SIZE_T
130 AC_TYPE_SSIZE_T
131 AC_TYPE_UID_T
132 AC_TYPE_UINT16_T
133 AC_TYPE_UINT32_T
134 AC_TYPE_UINT64_T
135 AC_TYPE_UINT8_T
136 AC_CHECK_TYPES([ptrdiff_t])
137
138 # Detect warning flags supported by the C compiler and append them to
139 # WARN_CFLAGS.
140 m4_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.
169 AC_LANG_PUSH([C])
170 AX_APPEND_COMPILE_FLAGS([WARN_FLAGS_LIST], [WARN_CFLAGS], [-Werror])
171 AC_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.
180 WARN_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)
188 AX_CXX_COMPILE_STDCXX([11], [noext], [optional])
189
190 AS_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
203 AC_HEADER_STDBOOL
204 AC_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
219 AS_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
228 AM_PROG_AR
229 AC_PROG_SED
230 AC_PROG_GREP
231 AC_PROG_LN_S
232 AC_PROG_MKDIR_P
233 AC_PROG_MAKE_SET
234 AC_CHECK_PROGS([ASCIIDOC], [asciidoc])
235 AC_CHECK_PROGS([CMAKE], [cmake])
236 AC_CHECK_PROGS([FOLD], [fold])
237 AC_CHECK_PROGS([XMLTO], [xmlto])
238
239 AM_PATH_PYTHON([2.7], [], [PYTHON=""])
240
241 # Initialize and configure libtool
242 LT_INIT([disable-static])
243
244
245 ## ##
246 ## Library checks ##
247 ## ##
248
249 AC_FUNC_CHOWN
250 AC_FUNC_FORK
251 AC_FUNC_MMAP
252 AC_FUNC_STRERROR_R
253 AC_FUNC_STRNLEN
254 AC_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
282 LTTNG_PTHREAD_SETNAME_NP
283 LTTNG_PTHREAD_GETNAME_NP
284
285 # Check dor dlopen() in -ldl or -lc
286 AC_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 ])
298 AC_SUBST(DL_LIBS)
299
300 # Check if libdl has dlmopen()
301 AC_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
306 PKG_CHECK_MODULES([URCU], [liburcu >= 0.12])
307
308
309 ## ##
310 ## User variables ##
311 ## ##
312
313 # Additional variables captured during ./configure
314
315 AC_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
324 AE_FEATURE_DEFAULT_ENABLE
325 AE_FEATURE([numa],[disable NUMA support])
326
327 # Java JNI interface library
328 # Disabled by default
329 AE_FEATURE_DEFAULT_DISABLE
330 AE_FEATURE([jni-interface], [build JNI interface between C and Java])
331
332 # Build the Java Logging API agent
333 # Disabled by default
334 AE_FEATURE_DEFAULT_DISABLE
335 AE_FEATURE([java-agent-jul],[build the LTTng UST Java agent with JUL support])
336
337 # Build the Java Log4j agent
338 # Disabled by default
339 AE_FEATURE_DEFAULT_DISABLE
340 AE_FEATURE([java-agent-log4j],[build the LTTng UST Java agent with Log4j support])
341
342 # Build both Java agents
343 # Disabled by default
344 AE_FEATURE_DEFAULT_DISABLE
345 AE_FEATURE([java-agent-all],[build the LTTng UST Java agent with all supported backends])
346
347 # Build the Python agent
348 # Disabled by default
349 AE_FEATURE_DEFAULT_DISABLE
350 AE_FEATURE([python-agent],[build the LTTng UST Python agent])
351
352 # Build the examples
353 # Disabled by default
354 AE_FEATURE_DEFAULT_ENABLE
355 AE_FEATURE([examples],[Do not build and install examples])
356
357 # Man pages
358 # Enabled by default
359 AE_FEATURE_DEFAULT_ENABLE
360 AE_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
364 AC_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
369 AC_ARG_WITH([lttng-system-rundir], [
370 AS_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'
378 AX_JAVA_OPTIONS
379
380
381 ## ##
382 ## Check for conflicting features selection ##
383 ## ##
384
385 AE_IF_FEATURE_DISABLED([shared], [
386 AC_MSG_ERROR(LTTng-UST requires shared libraries to be enabled)
387 ])
388
389 AE_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
400 AE_IF_FEATURE_ENABLED([numa], [
401 AC_CHECK_LIB([numa], [numa_available], [], [
402 AC_MSG_ERROR([dnl
403 libnuma 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
405 argument to disable NUMA support.
406 ])
407 ])
408 ])
409
410 # The JNI interface and Java Agents require a working Java JDK
411 AS_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
430 AE_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
434 The UST Java agent support for log4j was requested but the Log4j classes were
435 not found. Please specify the location of the Log4j jar via the Java CLASSPATH
436 environment variable, e.g. ./configure CLASSPATH="/path/to/log4j.jar"
437
438 Current CLASSPATH: "$CLASSPATH"
439 ])
440 ])
441 ])
442
443 # The python agent requires a python interpreter
444 AE_IF_FEATURE_ENABLED([python-agent], [
445 AS_IF([test "x$PYTHON" = "x"], [
446 AC_MSG_ERROR([dnl
447 Cannot find a suitable python interpreter. You can override it with the PYTHON
448 environment variable.
449 ])
450 ])
451 ])
452
453 # Check for asciidoc and xmlto if we enabled building the man pages.
454 AE_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
462 Both 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
464 they 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
477 AS_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
492 The sdt.h integration was requested but the STAP_PROBEV define cannot be used.
493 Make sure it is installed, and up to date, or use CPPFLAGS=-I/path/ to specify
494 a 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
504 AC_DEFINE_UNQUOTED([LTTNG_SYSTEM_RUNDIR], ["$lttng_system_rundir"], [LTTng system runtime directory])
505
506 # Defined in include/lttng/ust-version.h
507 AC_DEFINE([LTTNG_UST_MAJOR_VERSION], ust_version_major, [LTTng UST major version])
508 AC_DEFINE([LTTNG_UST_MINOR_VERSION], ust_version_minor, [LTTng UST minor version])
509 AC_DEFINE([LTTNG_UST_PATCHLEVEL_VERSION], ust_version_patch, [LTTng UST patch version])
510 AC_DEFINE([LTTNG_UST_VERSION], ["]ust_version["], [LTTng UST version string])
511 AC_DEFINE([LTTNG_UST_LIB_SONAME_MAJOR], [ust_lib_version_current], [Major SONAME number of liblttng-ust])
512 AC_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
519 AM_CONDITIONAL([ENABLE_EXAMPLES], AE_IS_FEATURE_ENABLED([examples]))
520 AM_CONDITIONAL([ENABLE_GEN_TP_EXAMPLES], [test "x$PYTHON" != "x"])
521 AM_CONDITIONAL([ENABLE_JAVA_AGENT], AE_IS_FEATURE_ENABLED([java-agent-jul]) || AE_IS_FEATURE_ENABLED([java-agent-log4j]))
522 AM_CONDITIONAL([ENABLE_JAVA_AGENT_WITH_JUL], AE_IS_FEATURE_ENABLED([java-agent-jul]))
523 AM_CONDITIONAL([ENABLE_JAVA_AGENT_WITH_LOG4J], AE_IS_FEATURE_ENABLED([java-agent-log4j]))
524 AM_CONDITIONAL([ENABLE_JNI_INTERFACE], AE_IS_FEATURE_ENABLED([jni-interface]))
525 AM_CONDITIONAL([ENABLE_MAN_PAGES], AE_IS_FEATURE_ENABLED([man-pages]))
526 AM_CONDITIONAL([ENABLE_NUMA], AE_IS_FEATURE_ENABLED([numa]))
527 AM_CONDITIONAL([ENABLE_PYTHON_AGENT], AE_IS_FEATURE_ENABLED([python-agent]))
528 AM_CONDITIONAL([ENABLE_UST_DL], [test "x$ac_cv_have_decl_RTLD_DI_LINKMAP" = "xyes"])
529 AM_CONDITIONAL([HAVE_ASCIIDOC_XMLTO], [test "x$have_asciidoc_xmlto" = "xyes"])
530 AM_CONDITIONAL([HAVE_CMAKE], [test "x$CMAKE" != "x"])
531 AM_CONDITIONAL([HAVE_CXX], [test "$HAVE_CXX11" = "1"])
532 AM_CONDITIONAL([HAVE_JAVAH], [test "x$JAVAH" != "x"])
533 AM_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
541 AC_SUBST([LTTNG_UST_LIBRARY_VERSION], ust_lib_version)
542 AC_SUBST([LTTNG_UST_CTL_LIBRARY_VERSION], ust_ctl_lib_version)
543
544 # Major soname for python-lttngust
545 AC_SUBST([LTTNG_UST_LIB_SONAME_MAJOR], [ust_lib_version_current])
546
547 AM_CFLAGS="$WARN_CFLAGS $URCU_CFLAGS $PTHREAD_CFLAGS"
548 AC_SUBST(AM_CFLAGS)
549
550 AM_CXXFLAGS="$WARN_CXXFLAGS $URCU_CFLAGS $PTHREAD_CFLAGS"
551 AC_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.
556 AM_CPPFLAGS="-I\$(top_builddir)/include -I\$(top_srcdir)/include -I\$(top_builddir)/src -I\$(top_srcdir)/src -include common/config.h"
557 AC_SUBST(AM_CPPFLAGS)
558
559 AC_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
567 AC_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
625 AC_OUTPUT
626
627
628 ## ##
629 ## Mini-report on what will be built. ##
630 ## ##
631
632 PPRINT_INIT
633 PPRINT_SET_INDENT(1)
634 PPRINT_SET_TS(38)
635
636 AS_ECHO
637 AS_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
643 AS_ECHO
644
645 AS_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
654 PPRINT_SUBTITLE([System])
655
656 PPRINT_PROP_STRING([Target architecture], $host_cpu)
657
658 AS_IF([test "x$unsupported_arch" = "xyes"],[
659 PPRINT_WARN([Your architecture ($host_cpu) is unsupported, using safe default of no unaligned access.])
660 ])
661
662 AS_ECHO
663 PPRINT_SUBTITLE([Features])
664 PPRINT_SET_INDENT(1)
665
666 test "x$with_sdt" = "xyes" && value=1 || value=0
667 PPRINT_PROP_BOOL_CUSTOM([sdt.h integration], $value, [use --with-sdt])
668
669 AE_IS_FEATURE_ENABLED([java-agent-jul]) && value=1 || value=0
670 PPRINT_PROP_BOOL_CUSTOM([Java agent (JUL support)], $value, [use --enable-java-agent-jul])
671
672 AE_IS_FEATURE_ENABLED([java-agent-log4j]) && value=1 || value=0
673 PPRINT_PROP_BOOL_CUSTOM([Java agent (Log4j support)], $value, [use --enable-java-agent-log4j])
674
675 AE_IS_FEATURE_ENABLED([jni-interface]) && value=1 || value=0
676 PPRINT_PROP_BOOL_CUSTOM([JNI interface (JNI)], $value, [use --enable-jni-interface])
677
678 AE_IS_FEATURE_ENABLED([python-agent]) && value=1 || value=0
679 PPRINT_PROP_BOOL_CUSTOM([Python agent], $value, [use --enable-python-agent])
680
681 test "x$ac_cv_header_linux_perf_event_h" = "xyes" && value=1 || value=0
682 PPRINT_PROP_BOOL_CUSTOM([Perf event integration], $value)
683
684 AE_IS_FEATURE_ENABLED([numa]) && value=1 || value=0
685 PPRINT_PROP_BOOL([NUMA], $value)
686
687 AS_ECHO
688 PPRINT_SET_INDENT(0)
689
690 AE_IS_FEATURE_ENABLED([examples]) && value=1 || value=0
691 PPRINT_PROP_BOOL([Build and install examples], $value, $PPRINT_COLOR_SUBTITLE)
692
693 # man pages build enabled/disabled
694 m4_pushdef([build_man_pages_msg], [Build and install man pages])
695
696 AE_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
712 m4_popdef([build_man_pages_msg])
713
714 PPRINT_SET_INDENT(1)
715
716 report_bindir="`eval eval echo $bindir`"
717 report_libdir="`eval eval echo $libdir`"
718
719 # Print the bindir and libdir this `make install' will install into.
720 AS_ECHO
721 PPRINT_SUBTITLE([Install directories])
722 PPRINT_PROP_STRING([Binaries], [$report_bindir])
723 PPRINT_PROP_STRING([Libraries], [$report_libdir])
724
725 AS_ECHO
726 PPRINT_SUBTITLE([System directories])
727
728 PPRINT_PROP_STRING([lttng-sessiond rundir], [$lttng_system_rundir])
729
730 PPRINT_SET_INDENT(0)
731
732 AS_IF([test "x$warn_prebuilt_man_pages" = "xyes" ], [
733 AS_ECHO
734 PPRINT_WARN([dnl
735 Both asciidoc and xmlto are needed to build the LTTng-UST man pages.
736
737 Note that the man pages are already built in this distribution tarball,
738 therefore asciidoc and xmlto are only needed if you intend to modify
739 their sources.
740
741 Use --disable-man-pages to completely disable building and installing
742 the man pages.])
743 ])
744
745 # vim: shiftwidth=2 softtabstop=2 expandtab
This page took 0.044876 seconds and 5 git commands to generate.