configure: regroup and expand C compiler checks
[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([include/config.h include/lttng/ust-config.h include/lttng/ust-version.h])
42AC_CONFIG_AUX_DIR([config])
43AC_CONFIG_MACRO_DIR([m4])
44AC_CONFIG_SRCDIR([include/lttng/tracepoint.h])
45
46AC_CANONICAL_TARGET
47AC_CANONICAL_HOST
48
49
50## ##
51## Automake base setup ##
52## ##
53
54AM_INIT_AUTOMAKE([1.12 foreign dist-bzip2 no-dist-gzip tar-ustar nostdinc -Wall -Wno-portability -Werror])
55AM_MAINTAINER_MODE([enable])
56
57# Enable silent rules by default
58AM_SILENT_RULES([yes])
59
60
61## ##
62## C compiler checks ##
63## ##
64
65# Choose the C compiler
66AC_PROG_CC
67# AC_PROG_CC_STDC was merged in AC_PROG_CC in autoconf 2.70
68m4_version_prereq([2.70], [], [AC_PROG_CC_STDC])
69
70# Make sure the C compiler supports C99
71AS_IF([test "$ac_cv_prog_cc_c99" = "no"], [AC_MSG_ERROR([The compiler does not support C99])])
72
73# Enable available system extensions and LFS support
74AC_USE_SYSTEM_EXTENSIONS
75AC_SYS_LARGEFILE
76
77# Make sure the C compiler supports __attribute__
78AX_C___ATTRIBUTE__
79AS_IF([test "x$ax_cv___attribute__" != "xyes"],
80 [AC_MSG_ERROR([The compiler does not support __attribute__ extensions])])
81
82# Make sure we have pthread support
83AX_PTHREAD([], [AC_MSG_ERROR([Could not configure pthread support])])
84
85# Make sure the C compiler supports weak symbols
86AX_SYS_WEAK_ALIAS
87AS_IF([test "x$ax_cv_sys_weak_alias" = "xno"],
88 [AC_MSG_ERROR([Your platform doesn't support weak symbols.])])
89
90# Checks for typedefs, structures, and compiler characteristics.
91AC_C_INLINE
92AC_C_TYPEOF
93AC_TYPE_INT16_T
94AC_TYPE_INT32_T
95AC_TYPE_INT64_T
96AC_TYPE_INT8_T
97AC_TYPE_MODE_T
98AC_TYPE_OFF_T
99AC_TYPE_PID_T
100AC_TYPE_SIZE_T
101AC_TYPE_SSIZE_T
102AC_TYPE_UID_T
103AC_TYPE_UINT16_T
104AC_TYPE_UINT32_T
105AC_TYPE_UINT64_T
106AC_TYPE_UINT8_T
107AC_CHECK_TYPES([ptrdiff_t])
108
109
110## ##
111## C++ compiler checks ##
112## ##
113
114# Find an optional C++11 compiler without GNU extensions (-std=c++11)
115AX_CXX_COMPILE_STDCXX([11], [noext], [optional])
116AM_CONDITIONAL([HAVE_CXX], [test "$HAVE_CXX11" = "1"])
117
118
119# Checks for programs.
120AM_PROG_AR
121AC_PROG_SED
122AC_PROG_GREP
123AC_PROG_LN_S
124AC_PROG_MKDIR_P
125AC_PROG_MAKE_SET
126AC_CHECK_PROG([CMAKE], [cmake])
127AM_CONDITIONAL([HAVE_CMAKE], [test "x$CMAKE" != "x"])
128
129# libtool link_all_deplibs fixup. See http://bugs.lttng.org/issues/321.
130AC_ARG_ENABLE([libtool-linkdep-fixup], [
131AS_HELP_STRING([--disable-libtool-linkdep-fixup], [disable the libtool fixup for linking all dependent libraries (link_all_deplibs)])
132], [
133 libtool_fixup=$enableval
134], [
135 libtool_fixup=yes
136])
137
138AS_IF([test "x$libtool_fixup" = "xyes"], [
139 libtool_m4="$srcdir/m4/libtool.m4"
140 libtool_flag_pattern=".*link_all_deplibs\s*,\s*\$1\s*)"
141 AC_MSG_CHECKING([for occurence(s) of link_all_deplibs = no in $libtool_m4])
142 libtool_flag_pattern_count=$(grep -c "$libtool_flag_pattern\s*=\s*no" $libtool_m4)
143
144 AS_IF([test $libtool_flag_pattern_count -ne 0], [
145 AC_MSG_RESULT([$libtool_flag_pattern_count])
146 AC_MSG_WARN([the detected libtool will not link all dependencies, forcing link_all_deplibs = unknown])
147 $SED -i "s/\($libtool_flag_pattern\)\s*=\s*no/\1=unknown/g" $libtool_m4
148 ], [
149 AC_MSG_RESULT([none])
150 ])
151])
152LT_INIT([disable-static])
153
154AC_MSG_CHECKING([whether shared libraries are enabled])
155AS_IF([test "x$enable_shared" = "xyes"], [
156 AC_MSG_RESULT([yes])
157], [
158 AC_MSG_RESULT([no])
159 AC_MSG_ERROR([LTTng-UST requires shared libraries to be enabled])
160])
161
162# Checks for library functions.
163AC_FUNC_CHOWN
164AC_FUNC_FORK
165AC_FUNC_MMAP
166AC_FUNC_REALLOC
167AC_FUNC_STRERROR_R
168AC_FUNC_STRNLEN
169AC_CHECK_FUNCS([ \
170 atexit \
171 clock_gettime \
172 ftruncate \
173 getpagesize \
174 gettimeofday \
175 localeconv \
176 memchr \
177 memmove \
178 memset \
179 mkdir \
180 munmap \
181 realpath \
182 sched_getcpu \
183 socket \
184 strchr \
185 strdup \
186 strerror \
187 strtol \
188 strtoul \
189 sysconf \
190])
191
192# Check for pthread_setname_np and its signature
193LTTNG_PTHREAD_SETNAME_NP
194LTTNG_PTHREAD_GETNAME_NP
195
196# AC_FUNC_MALLOC causes problems when cross-compiling.
197#AC_FUNC_MALLOC
198
199# Checks for header files.
200AC_HEADER_STDBOOL
201AC_CHECK_HEADERS([ \
202 arpa/inet.h \
203 fcntl.h \
204 float.h \
205 limits.h \
206 locale.h \
207 stddef.h \
208 sys/socket.h \
209 sys/time.h \
210 wchar.h \
211])
212
213# Set architecture specific options
214AS_CASE([$host_cpu],
215 [i[[3456]]86], [],
216 [x86_64], [],
217 [amd64], [],
218 [powerpc], [],
219 [ppc64], [],
220 [ppc64le], [],
221 [powerpc64], [],
222 [powerpc64le], [],
223 [s390], [],
224 [s390x], [],
225 [arm*], [
226 NO_NUMA=1
227 ],
228 [aarch64*], [],
229 [mips*], [],
230 [tile*], [],
231 [
232 UNSUPPORTED_ARCH=1
233 ])
234
235# Set os specific options
236AS_CASE([$host_os],
237 [freebsd*], [NO_NUMA=1]
238)
239
240# Configuration options, which will be installed in the config.h
241AH_TEMPLATE([LTTNG_UST_HAVE_SDT_INTEGRATION], [SystemTap integration via sdt.h])
242
243# Checks for libraries.
244AC_CHECK_LIB([dl], [dlopen], [
245 libdl_name=dl
246 DL_LIBS="-ldl"
247], [
248 #libdl not found, check for dlopen in libc.
249 AC_CHECK_LIB([c], [dlopen], [
250 libdl_name=c
251 DL_LIBS="-lc"
252 ], [
253 AC_MSG_ERROR([Cannot find dlopen in libdl nor libc. Use [LDFLAGS]=-Ldir to specify their location.])
254 ])
255])
256AC_SUBST(DL_LIBS)
257
258# Check if libdl has dlmopen support.
259AH_TEMPLATE([HAVE_DLMOPEN], ["Define to 1 if dlmopen is available."])
260AC_CHECK_LIB([$libdl_name], [dlmopen],
261 [AC_DEFINE([HAVE_DLMOPEN], [1])]
262)
263
264# Check for dlfcn.h
265AC_CHECK_HEADER([dlfcn.h])
266AS_IF([test "x${ac_cv_header_dlfcn_h}" = "xyes"], [
267 AC_CHECK_DECLS([RTLD_DI_LINKMAP], [], [], [
268 #include <dlfcn.h>
269 ])
270], [
271 ac_cv_have_decl_RTLD_DI_LINKMAP="no"
272])
273
274AM_CONDITIONAL([ENABLE_UST_DL], [test "x${ac_cv_have_decl_RTLD_DI_LINKMAP}" = "xyes"])
275
276# Require URCU >= 0.12 for DEFINE_URCU_TLS_INIT
277PKG_CHECK_MODULES([URCU], [liburcu >= 0.12])
278
279# numa.h integration
280AS_IF([test "x$NO_NUMA" = "x1"],[
281 AS_IF([test "x$enable_numa" = "x" ], [enable_numa=no])
282])
283
284AC_ARG_ENABLE([numa], [
285AS_HELP_STRING([--disable-numa], [disable NUMA support])
286], [
287 enable_numa=$enableval
288], [
289 enable_numa=yes
290])
291
292AS_IF([test "x$enable_numa" = "xyes"], [
293 # numa - check that numa lib is available
294 AC_CHECK_LIB([numa], [numa_available], [],
295[AC_MSG_ERROR([libnuma is not available. Please either install it (e.g. libnuma-dev) or use [LDFLAGS]=-Ldir to specify the right location, or use --disable-numa configure argument to disable NUMA support.])])
296 have_libnuma=yes
297])
298AM_CONDITIONAL([ENABLE_NUMA], [test "x$have_libnuma" = "xyes"])
299
300# optional linux/perf_event.h
301AC_CHECK_HEADERS([linux/perf_event.h], [have_perf_event=yes], [])
302
303# Perf event counters are supported on all architectures supported by
304# perf, using the read system call as fallback.
305AM_CONDITIONAL([HAVE_PERF_EVENT], [test "x$have_perf_event" = "xyes"])
306
307AH_TEMPLATE([HAVE_PERF_EVENT], ["Perf event integration via perf_event.h"])
308AS_IF([test "x$have_perf_event" = "xyes"], [
309 AC_DEFINE([HAVE_PERF_EVENT], [1])
310])
311
312# Check for JNI header files if requested
313AC_ARG_ENABLE([jni-interface], [
314AS_HELP_STRING([--enable-jni-interface], [build JNI interface between C and Java. Needs Java include files [default=no]])
315], [
316 jni_interface=$enableval
317], [
318 jni_interface=no
319])
320
321AM_CONDITIONAL([ENABLE_JNI_INTERFACE], [test "x$jni_interface" = "xyes"])
322
323
324AC_ARG_ENABLE([java-agent-jul], [
325AS_HELP_STRING([--enable-java-agent-jul], [build the LTTng UST Java agent with JUL support [default=no]])
326], [
327 java_agent_jul=$enableval
328], [
329 java_agent_jul=no
330])
331
332AC_ARG_ENABLE([java-agent-log4j], [
333AS_HELP_STRING([--enable-java-agent-log4j], [build the LTTng UST Java agent with Log4j support [default=no]])
334], [
335 java_agent_log4j=$enableval
336], [
337 java_agent_log4j=no
338])
339
340AC_ARG_ENABLE([java-agent-all], [
341AS_HELP_STRING([--enable-java-agent-all], [build the LTTng UST Java agent with all supported backends [default=no]])
342], [
343 java_agent_jul=$enableval
344 java_agent_log4j=$enableval
345], [:])
346
347AM_CONDITIONAL([ENABLE_JAVA_AGENT], [test "x$java_agent_jul" = "xyes" || test "x$java_agent_log4j" = "xyes"])
348AM_CONDITIONAL([ENABLE_JAVA_AGENT_WITH_JUL], [test "x$java_agent_jul" = "xyes"])
349AM_CONDITIONAL([ENABLE_JAVA_AGENT_WITH_LOG4J], [test "x$java_agent_log4j" = "xyes"])
350
351AS_IF([test "x$jni_interface" = "xyes" || test "x$java_agent_jul" = "xyes" || test "x$java_agent_log4j" = "xyes"], [
352 AX_JAVA_OPTIONS
353 AX_PROG_JAVAC
354 AX_PROG_JAVA
355 AX_PROG_JAR
356 AC_ARG_VAR([CLASSPATH], [Java class path])
357
358 AX_JNI_INCLUDE_DIR
359 for JNI_INCLUDE_DIR in $JNI_INCLUDE_DIRS
360 do
361 JNI_CPPFLAGS="$JNI_CPPFLAGS -I$JNI_INCLUDE_DIR"
362 done
363
364 saved_CPPFLAGS="$CPPFLAGS"
365 CPPFLAGS="$CPPFLAGS $JNI_CPPFLAGS"
366 AX_PROG_JAVAH
367 CPPFLAGS="$saved_CPPFLAGS"
368])
369
370AM_CONDITIONAL([HAVE_JAVAH], [test "x$JAVAH" != "x"])
371
372AS_IF([test "x$java_agent_log4j" = "xyes"], [
373 AX_CHECK_CLASSPATH
374 AX_CHECK_CLASS([org.apache.log4j.Logger])
375 AS_IF([test "x$ac_cv_class_org_apache_log4j_Logger" = "xno"], [
376 AC_MSG_ERROR([The UST Java agent support for log4j was requested but the Log4j classes were not found. Please specify the location of the Log4j jar via the Java CLASSPATH e.g: export CLASSPATH="/path/to/log4j.jar"])
377 ])
378])
379
380# Option to build the python agent
381AC_ARG_ENABLE([python-agent], [
382AS_HELP_STRING([--enable-python-agent], [build the LTTng UST Python agent [default=no]])
383], [
384 python_agent=$enableval
385], [:])
386AM_CONDITIONAL([ENABLE_PYTHON_AGENT], [test "x$python_agent" = "xyes"])
387AS_IF([test "x$python_agent" = "xyes"], [
388 AM_PATH_PYTHON([2.7])
389])
390
391# sdt.h integration
392AC_ARG_WITH([sdt], [
393AS_HELP_STRING([--with-sdt], [provide SystemTap integration via sdt.h [default=no]])
394], [
395 with_sdt=$withval
396], [
397 with_sdt="no"
398])
399
400AS_IF([test "x$with_sdt" = "xyes"], [
401 AC_MSG_CHECKING([STAP_PROBEV()])
402 AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
403 #define SDT_USE_VARIADIC
404 #include <sys/sdt.h>
405 void fct(void)
406 {
407 STAP_PROBEV(provider,name,1,2,3,4,5,6,7,8,9,10);
408 }
409 ]])], [
410 AC_MSG_RESULT([yes])
411 AC_DEFINE([LTTNG_UST_HAVE_SDT_INTEGRATION], [1])
412 ], [
413 AC_MSG_RESULT([no])
414 AC_MSG_ERROR([The sdt.h integration was requested but the STAP_PROBEV define cannot be used. Make sure it is installed, and up to date, or use CPPFLAGS=-I/path/ to specify a non-standard path to sys/sdt.h])
415 ])
416])
417
418AC_ARG_WITH([lttng-system-rundir], [
419AS_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".]),
420], [
421 lttng_system_rundir="$withval"
422], [
423 lttng_system_rundir="/var/run/lttng"
424])
425AC_DEFINE_UNQUOTED([LTTNG_SYSTEM_RUNDIR], ["$lttng_system_rundir"],
426 [LTTng system runtime directory])
427
428AC_CHECK_PROG([ENABLE_GEN_TP_EXAMPLES], [python], ["yes"])
429AM_CONDITIONAL([ENABLE_GEN_TP_EXAMPLES], [test "x$ENABLE_GEN_TP_EXAMPLES" = "xyes"])
430
431# Enable building examples
432AC_ARG_ENABLE(
433 examples,
434 AS_HELP_STRING(
435 [--disable-examples],
436 [Do not build and install examples]
437 ),
438 [enable_examples=$enableval],
439 [enable_examples=yes]
440)
441
442AM_CONDITIONAL([ENABLE_EXAMPLES], [test "x$enable_examples" != "xno"])
443
444# Enable building man pages (user's intention).
445AC_ARG_ENABLE(
446 man-pages,
447 AS_HELP_STRING(
448 [--disable-man-pages],
449 [Do not build and install man pages (already built in a distributed tarball)]
450 ),
451 [man_pages_opt=$enableval],
452 [man_pages_opt=yes]
453)
454
455# Check for asciidoc and xmlto if we enabled building the man pages.
456have_asciidoc_xmlto=no
457warn_prebuilt_man_pages=no
458
459AS_IF([test "x$man_pages_opt" = "xyes"], [
460 AC_PATH_PROG([ASCIIDOC], [asciidoc], [no])
461 AC_PATH_PROG([XMLTO], [xmlto], [no])
462
463 AS_IF([test "x$ASCIIDOC" = "xno" || test "x$XMLTO" = "xno"], [
464 AE_IF_IN_GIT_REPO([
465 # This is an error because we're in the Git repo, which
466 # means the man pages are not already generated for us,
467 # thus asciidoc/xmlto are required because we were asked
468 # to build the man pages.
469 AC_MSG_ERROR([
470Both asciidoc and xmlto are needed to build the LTTng-UST man pages. Use
471--disable-man-pages to disable building the man pages, in which case
472they will not be installed.
473 ])
474 ], [
475 # Only warn here: since we're in the tarball, the man
476 # pages should already be generated at this point, thus
477 # asciidoc/xmlto are not strictly required.
478 warn_prebuilt_man_pages=yes
479 ])
480 ], [
481 have_asciidoc_xmlto=yes
482 ])
483])
484
485# Export man page build condition: build the man pages if the user
486# asked for it, and if the tools are available.
487AM_CONDITIONAL([ENABLE_MAN_PAGES], [test "x$man_pages_opt" != "xno"])
488AM_CONDITIONAL([HAVE_ASCIIDOC_XMLTO], [test "x$have_asciidoc_xmlto" = "xyes"])
489
490
491# Defined in include/lttng/ust-version.h
492AC_DEFINE([LTTNG_UST_MAJOR_VERSION], ust_version_major, [LTTng UST major version])
493AC_DEFINE([LTTNG_UST_MINOR_VERSION], ust_version_minor, [LTTng UST minor version])
494AC_DEFINE([LTTNG_UST_PATCHLEVEL_VERSION], ust_version_patch, [LTTng UST patch version])
495AC_DEFINE([LTTNG_UST_VERSION], ["]ust_version["], [LTTng UST version string])
496AC_DEFINE([LTTNG_UST_LIB_SONAME_MAJOR], [ust_lib_version_current], [Major SONAME number of liblttng-ust])
497AC_DEFINE([LTTNG_UST_CTL_LIB_SONAME_MAJOR], [ust_ctl_lib_version_current], [Major SONAME number of liblttng-ust-ctl])
498
499
500AM_CFLAGS="-Wall $URCU_CFLAGS $PTHREAD_CFLAGS"
501AC_SUBST(AM_CFLAGS)
502
503AM_CXXFLAGS="$AM_CFLAGS"
504AC_SUBST(AM_CXXFLAGS)
505
506# The order in which the include folders are searched is important.
507# The top_builddir should always be searched first in the event that a build
508# time generated file is included.
509AM_CPPFLAGS="-I\$(top_builddir)/include -I\$(top_srcdir)/include -include config.h"
510AC_SUBST(AM_CPPFLAGS)
511
512AC_SUBST(JNI_CPPFLAGS)
513
514
515## ##
516## Output files generated by configure ##
517## ##
518
519# List of files to be generated from '.in' templates by AC_OUTPUT
520AC_CONFIG_FILES([
521 Makefile
522 doc/Makefile
523 doc/examples/Makefile
524 doc/man/Makefile
525 include/Makefile
526 snprintf/Makefile
527 libcounter/Makefile
528 libmsgpack/Makefile
529 libringbuffer/Makefile
530 liblttng-ust-comm/Makefile
531 liblttng-ust/Makefile
532 liblttng-ust-ctl/Makefile
533 liblttng-ust-fork/Makefile
534 liblttng-ust-dl/Makefile
535 liblttng-ust-fd/Makefile
536 liblttng-ust-java/Makefile
537 liblttng-ust-java-agent/Makefile
538 liblttng-ust-java-agent/java/Makefile
539 liblttng-ust-java-agent/java/lttng-ust-agent-all/Makefile
540 liblttng-ust-java-agent/java/lttng-ust-agent-common/Makefile
541 liblttng-ust-java-agent/java/lttng-ust-agent-jul/Makefile
542 liblttng-ust-java-agent/java/lttng-ust-agent-log4j/Makefile
543 liblttng-ust-java-agent/jni/Makefile
544 liblttng-ust-java-agent/jni/common/Makefile
545 liblttng-ust-java-agent/jni/jul/Makefile
546 liblttng-ust-java-agent/jni/log4j/Makefile
547 liblttng-ust-libc-wrapper/Makefile
548 liblttng-ust-cyg-profile/Makefile
549 liblttng-ust-python-agent/Makefile
550 python-lttngust/Makefile
551 python-lttngust/setup.py
552 python-lttngust/lttngust/__init__.py
553 tools/Makefile
554 tests/Makefile
555 tests/compile/Makefile
556 tests/compile/ctf-types/Makefile
557 tests/compile/hello.cxx/Makefile
558 tests/compile/hello/Makefile
559 tests/compile/hello-many/Makefile
560 tests/compile/same_line_tracepoint/Makefile
561 tests/compile/test-app-ctx/Makefile
562 tests/benchmark/Makefile
563 tests/unit/gcc-weak-hidden/Makefile
564 tests/unit/libmsgpack/Makefile
565 tests/unit/Makefile
566 tests/unit/libringbuffer/Makefile
567 tests/unit/pthread_name/Makefile
568 tests/unit/snprintf/Makefile
569 tests/unit/ust-elf/Makefile
570 tests/utils/Makefile
571 lttng-ust.pc
572 lttng-ust-ctl.pc
573])
574
575AC_OUTPUT
576
577
578## ##
579## Mini-report on what will be built. ##
580## ##
581
582PPRINT_INIT
583PPRINT_SET_INDENT(1)
584PPRINT_SET_TS(38)
585
586AS_ECHO
587AS_IF([test -n "ust_version_name"], [
588 AS_ECHO("${PPRINT_COLOR_BLDBLU}LTTng-ust $PACKAGE_VERSION \"ust_version_name\"$PPRINT_COLOR_RST")
589], [
590 AS_ECHO("${PPRINT_COLOR_BLDBLU}LTTng-ust $PACKAGE_VERSION")
591])
592
593AS_ECHO
594
595AS_IF([test -n "ust_version_description"], [
596 AS_IF([test -n "$FOLD"], [
597 AS_ECHO("`AS_ECHO("ust_version_description") | $FOLD -s`")
598 ], [
599 AS_ECHO("ust_version_description")
600 ])
601 AS_ECHO
602])
603
604PPRINT_SUBTITLE([System])
605
606PPRINT_PROP_STRING([Target architecture], $host_cpu)
607
608AS_IF([test "x$UNSUPPORTED_ARCH" = "x1"],[
609 PPRINT_WARN([Your architecture ($host_cpu) is unsupported, using safe default of no unaligned access.])
610])
611
612AS_ECHO
613PPRINT_SUBTITLE([Features])
614PPRINT_SET_INDENT(1)
615
616test "x$with_sdt" = "xyes" && value=1 || value=0
617PPRINT_PROP_BOOL_CUSTOM([sdt.h integration], $value, [use --with-sdt])
618
619test "x$java_agent_jul" = xyes && value=1 || value=0
620PPRINT_PROP_BOOL_CUSTOM([Java agent (JUL support)], $value, [use --enable-java-agent-jul])
621
622test "x$java_agent_log4j" = xyes && value=1 || value=0
623PPRINT_PROP_BOOL_CUSTOM([Java agent (Log4j support)], $value, [use --enable-java-agent-log4j])
624
625test "x$jni_interface" = xyes && value=1 || value=0
626PPRINT_PROP_BOOL_CUSTOM([JNI interface (JNI)], $value, [use --enable-jni-interface])
627
628test "x$python_agent" = xyes && value=1 || value=0
629PPRINT_PROP_BOOL_CUSTOM([Python agent], $value, [use --enable-python-agent])
630
631test "x$have_perf_event" = "xyes" && value=1 || value=0
632PPRINT_PROP_BOOL_CUSTOM([Perf event integration], $value)
633
634test "x$enable_numa" = xyes && value=1 || value=0
635PPRINT_PROP_BOOL([NUMA], $value)
636
637AS_ECHO
638PPRINT_SET_INDENT(0)
639
640test "x$enable_examples" = xyes && value=1 || value=0
641PPRINT_PROP_BOOL([Build and install examples], $value, $PPRINT_COLOR_SUBTITLE)
642
643# man pages build enabled/disabled
644m4_pushdef([build_man_pages_msg], [Build and install man pages])
645
646AS_IF([test "x$man_pages_opt" != "xno"], [
647 AE_IF_IN_GIT_REPO([
648 PPRINT_PROP_BOOL([build_man_pages_msg], 1, $PPRINT_COLOR_SUBTITLE)
649 ], [
650 AS_IF([test "x$have_asciidoc_xmlto" = "xyes"], [
651 PPRINT_PROP_BOOL([build_man_pages_msg], 1, $PPRINT_COLOR_SUBTITLE)
652 ], [
653 PPRINT_PROP_STRING([build_man_pages_msg],
654 [${PPRINT_COLOR_BLDGRN}yes (already built)],
655 $PPRINT_COLOR_SUBTITLE)
656 ])
657 ])
658], [
659 PPRINT_PROP_BOOL([build_man_pages_msg], 0, $PPRINT_COLOR_SUBTITLE)
660])
661
662m4_popdef([build_man_pages_msg])
663
664PPRINT_SET_INDENT(1)
665
666report_bindir="`eval eval echo $bindir`"
667report_libdir="`eval eval echo $libdir`"
668
669# Print the bindir and libdir this `make install' will install into.
670AS_ECHO
671PPRINT_SUBTITLE([Install directories])
672PPRINT_PROP_STRING([Binaries], [$report_bindir])
673PPRINT_PROP_STRING([Libraries], [$report_libdir])
674
675AS_ECHO
676PPRINT_SUBTITLE([System directories])
677
678PPRINT_PROP_STRING([lttng-sessiond rundir], [$lttng_system_rundir])
679
680PPRINT_SET_INDENT(0)
681
682AS_IF([test "x$warn_prebuilt_man_pages" = "xyes" ], [
683 AS_ECHO
684 PPRINT_WARN([Both asciidoc and xmlto are needed to build the LTTng-UST man pages.
685
686Note that the man pages are already built in this distribution tarball,
687therefore asciidoc and xmlto are only needed if you intend to modify
688their sources.
689
690Use --disable-man-pages to completely disable building and installing
691the man pages.])
692])
This page took 0.024018 seconds and 4 git commands to generate.