configure: regroup and expand C compiler checks
[lttng-ust.git] / configure.ac
CommitLineData
f4a9899e
MJ
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)
94480b71 24
f4a9899e 25# Library version information of "liblttng-ust-ctl"
a334646a
MD
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
f4a9899e
MJ
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
23e08412 33
f4a9899e
MJ
34## ##
35## Autoconf base setup ##
36## ##
a334646a 37
f4a9899e
MJ
38AC_PREREQ([2.69])
39AC_INIT([lttng-ust],[ust_version],[mathieu dot desnoyers at efficios dot com],[],[https://lttng.org])
41a2a9aa 40
f4a9899e 41AC_CONFIG_HEADERS([include/config.h include/lttng/ust-config.h include/lttng/ust-version.h])
55355fa5 42AC_CONFIG_AUX_DIR([config])
94480b71
MJ
43AC_CONFIG_MACRO_DIR([m4])
44AC_CONFIG_SRCDIR([include/lttng/tracepoint.h])
45
9441df61
PMF
46AC_CANONICAL_TARGET
47AC_CANONICAL_HOST
94480b71 48
f4a9899e
MJ
49
50## ##
51## Automake base setup ##
52## ##
53
0f6f0e89 54AM_INIT_AUTOMAKE([1.12 foreign dist-bzip2 no-dist-gzip tar-ustar nostdinc -Wall -Wno-portability -Werror])
846154aa 55AM_MAINTAINER_MODE([enable])
94480b71 56
80268473
MJ
57# Enable silent rules by default
58AM_SILENT_RULES([yes])
4846fadc 59
2bee6b25
MJ
60
61## ##
62## C compiler checks ##
63## ##
64
65# Choose the C compiler
94480b71 66AC_PROG_CC
f436dc74
JG
67# AC_PROG_CC_STDC was merged in AC_PROG_CC in autoconf 2.70
68m4_version_prereq([2.70], [], [AC_PROG_CC_STDC])
23c8854a 69
2bee6b25
MJ
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
94480b71 86AX_SYS_WEAK_ALIAS
2bee6b25
MJ
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"])
94480b71 117
161239e0 118
94480b71 119# Checks for programs.
8aeb3cae 120AM_PROG_AR
46a73fe4 121AC_PROG_SED
faebb418 122AC_PROG_GREP
85e09133 123AC_PROG_LN_S
4c70c05c 124AC_PROG_MKDIR_P
94480b71 125AC_PROG_MAKE_SET
d41d33d0
MJ
126AC_CHECK_PROG([CMAKE], [cmake])
127AM_CONDITIONAL([HAVE_CMAKE], [test "x$CMAKE" != "x"])
46a73fe4 128
faebb418 129# libtool link_all_deplibs fixup. See http://bugs.lttng.org/issues/321.
86adb855 130AC_ARG_ENABLE([libtool-linkdep-fixup], [
94480b71 131AS_HELP_STRING([--disable-libtool-linkdep-fixup], [disable the libtool fixup for linking all dependent libraries (link_all_deplibs)])
86adb855
PP
132], [
133 libtool_fixup=$enableval
134], [
135 libtool_fixup=yes
136])
137
138AS_IF([test "x$libtool_fixup" = "xyes"], [
093c3f9b 139 libtool_m4="$srcdir/m4/libtool.m4"
86adb855
PP
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])
94480b71 147 $SED -i "s/\($libtool_flag_pattern\)\s*=\s*no/\1=unknown/g" $libtool_m4
86adb855
PP
148 ], [
149 AC_MSG_RESULT([none])
150 ])
151])
94480b71 152LT_INIT([disable-static])
faebb418 153
94480b71
MJ
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])
86adb855 161
94480b71
MJ
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 \
0f6f0e89 188 strtoul \
94480b71 189 sysconf \
86adb855 190])
340f7763 191
d9c56a93
MJ
192# Check for pthread_setname_np and its signature
193LTTNG_PTHREAD_SETNAME_NP
653f7d34 194LTTNG_PTHREAD_GETNAME_NP
d9c56a93 195
94480b71
MJ
196# AC_FUNC_MALLOC causes problems when cross-compiling.
197#AC_FUNC_MALLOC
f1d4b810 198
94480b71
MJ
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 \
0e7d861a 211])
f1d4b810 212
c95c332a
MJ
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], [],
2eba8e39
MJ
223 [s390], [],
224 [s390x], [],
c95c332a 225 [arm*], [
c95c332a
MJ
226 NO_NUMA=1
227 ],
2eba8e39
MJ
228 [aarch64*], [],
229 [mips*], [],
230 [tile*], [],
c95c332a
MJ
231 [
232 UNSUPPORTED_ARCH=1
c95c332a
MJ
233 ])
234
37a5fa45
MJ
235# Set os specific options
236AS_CASE([$host_os],
237 [freebsd*], [NO_NUMA=1]
238)
239
94480b71 240# Configuration options, which will be installed in the config.h
94480b71 241AH_TEMPLATE([LTTNG_UST_HAVE_SDT_INTEGRATION], [SystemTap integration via sdt.h])
94480b71 242
b54f2130 243# Checks for libraries.
86adb855 244AC_CHECK_LIB([dl], [dlopen], [
42330adc 245 libdl_name=dl
9d4d2a63 246 DL_LIBS="-ldl"
86adb855 247], [
c6c454ab 248 #libdl not found, check for dlopen in libc.
86adb855 249 AC_CHECK_LIB([c], [dlopen], [
42330adc 250 libdl_name=c
9d4d2a63 251 DL_LIBS="-lc"
86adb855 252 ], [
c6c454ab
MD
253 AC_MSG_ERROR([Cannot find dlopen in libdl nor libc. Use [LDFLAGS]=-Ldir to specify their location.])
254 ])
255])
9d4d2a63 256AC_SUBST(DL_LIBS)
86adb855 257
42330adc
JR
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
f9ff7aa4
RN
264# Check for dlfcn.h
265AC_CHECK_HEADER([dlfcn.h])
86adb855
PP
266AS_IF([test "x${ac_cv_header_dlfcn_h}" = "xyes"], [
267 AC_CHECK_DECLS([RTLD_DI_LINKMAP], [], [], [
86adb855
PP
268 #include <dlfcn.h>
269 ])
270], [
271 ac_cv_have_decl_RTLD_DI_LINKMAP="no"
272])
273
41ad81d8 274AM_CONDITIONAL([ENABLE_UST_DL], [test "x${ac_cv_have_decl_RTLD_DI_LINKMAP}" = "xyes"])
f9ff7aa4 275
ff1ee9bc
MJ
276# Require URCU >= 0.12 for DEFINE_URCU_TLS_INIT
277PKG_CHECK_MODULES([URCU], [liburcu >= 0.12])
4b68c31f 278
bfcda6ce 279# numa.h integration
c95c332a
MJ
280AS_IF([test "x$NO_NUMA" = "x1"],[
281 AS_IF([test "x$enable_numa" = "x" ], [enable_numa=no])
282])
283
bfcda6ce
MD
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
126bf5f4
MD
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.])])
bfcda6ce
MD
296 have_libnuma=yes
297])
41ad81d8 298AM_CONDITIONAL([ENABLE_NUMA], [test "x$have_libnuma" = "xyes"])
e3073410 299
d58d1454
MD
300# optional linux/perf_event.h
301AC_CHECK_HEADERS([linux/perf_event.h], [have_perf_event=yes], [])
d58d1454 302
723f78e3
MD
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"])
1113f842 306
bd8c1787 307AH_TEMPLATE([HAVE_PERF_EVENT], ["Perf event integration via perf_event.h"])
723f78e3 308AS_IF([test "x$have_perf_event" = "xyes"], [
bd8c1787 309 AC_DEFINE([HAVE_PERF_EVENT], [1])
0e7d861a 310])
d58d1454 311
2b6f8df9 312# Check for JNI header files if requested
86adb855 313AC_ARG_ENABLE([jni-interface], [
94480b71 314AS_HELP_STRING([--enable-jni-interface], [build JNI interface between C and Java. Needs Java include files [default=no]])
86adb855
PP
315], [
316 jni_interface=$enableval
317], [
318 jni_interface=no
319])
2b6f8df9 320
41ad81d8 321AM_CONDITIONAL([ENABLE_JNI_INTERFACE], [test "x$jni_interface" = "xyes"])
2b6f8df9 322
501f6777 323
86adb855 324AC_ARG_ENABLE([java-agent-jul], [
94480b71 325AS_HELP_STRING([--enable-java-agent-jul], [build the LTTng UST Java agent with JUL support [default=no]])
86adb855
PP
326], [
327 java_agent_jul=$enableval
328], [
329 java_agent_jul=no
330])
501f6777 331
86adb855 332AC_ARG_ENABLE([java-agent-log4j], [
94480b71 333AS_HELP_STRING([--enable-java-agent-log4j], [build the LTTng UST Java agent with Log4j support [default=no]])
86adb855
PP
334], [
335 java_agent_log4j=$enableval
336], [
337 java_agent_log4j=no
338])
501f6777 339
86adb855 340AC_ARG_ENABLE([java-agent-all], [
94480b71 341AS_HELP_STRING([--enable-java-agent-all], [build the LTTng UST Java agent with all supported backends [default=no]])
86adb855
PP
342], [
343 java_agent_jul=$enableval
344 java_agent_log4j=$enableval
345], [:])
501f6777 346
41ad81d8
MJ
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"])
501f6777 350
0e7d861a
PP
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
b1035e61 356 AC_ARG_VAR([CLASSPATH], [Java class path])
501f6777 357
0e7d861a
PP
358 AX_JNI_INCLUDE_DIR
359 for JNI_INCLUDE_DIR in $JNI_INCLUDE_DIRS
360 do
e1c62734 361 JNI_CPPFLAGS="$JNI_CPPFLAGS -I$JNI_INCLUDE_DIR"
0e7d861a 362 done
501f6777 363
e1c62734
MJ
364 saved_CPPFLAGS="$CPPFLAGS"
365 CPPFLAGS="$CPPFLAGS $JNI_CPPFLAGS"
0e7d861a 366 AX_PROG_JAVAH
e1c62734 367 CPPFLAGS="$saved_CPPFLAGS"
0e7d861a 368])
501f6777 369
1f0418c7
MD
370AM_CONDITIONAL([HAVE_JAVAH], [test "x$JAVAH" != "x"])
371
0e7d861a
PP
372AS_IF([test "x$java_agent_log4j" = "xyes"], [
373 AX_CHECK_CLASSPATH
0e7d861a 374 AX_CHECK_CLASS([org.apache.log4j.Logger])
0e7d861a
PP
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])
501f6777 379
c3e14096 380# Option to build the python agent
86adb855 381AC_ARG_ENABLE([python-agent], [
94480b71 382AS_HELP_STRING([--enable-python-agent], [build the LTTng UST Python agent [default=no]])
86adb855
PP
383], [
384 python_agent=$enableval
385], [:])
41ad81d8 386AM_CONDITIONAL([ENABLE_PYTHON_AGENT], [test "x$python_agent" = "xyes"])
0e7d861a 387AS_IF([test "x$python_agent" = "xyes"], [
55c9e5ae 388 AM_PATH_PYTHON([2.7])
0e7d861a 389])
c3e14096 390
4846fadc 391# sdt.h integration
86adb855 392AC_ARG_WITH([sdt], [
94480b71 393AS_HELP_STRING([--with-sdt], [provide SystemTap integration via sdt.h [default=no]])
86adb855
PP
394], [
395 with_sdt=$withval
396], [
397 with_sdt="no"
398])
4846fadc 399
86adb855 400AS_IF([test "x$with_sdt" = "xyes"], [
491f30fe
MD
401 AC_MSG_CHECKING([STAP_PROBEV()])
402 AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
86adb855
PP
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 ]])], [
491f30fe 410 AC_MSG_RESULT([yes])
562c813a 411 AC_DEFINE([LTTNG_UST_HAVE_SDT_INTEGRATION], [1])
86adb855 412 ], [
491f30fe 413 AC_MSG_RESULT([no])
135987a5 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])
4846fadc
AM
415 ])
416])
417
86adb855 418AC_ARG_WITH([lttng-system-rundir], [
94480b71 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".]),
86adb855
PP
420], [
421 lttng_system_rundir="$withval"
422], [
423 lttng_system_rundir="/var/run/lttng"
424])
751d4e91 425AC_DEFINE_UNQUOTED([LTTNG_SYSTEM_RUNDIR], ["$lttng_system_rundir"],
86adb855 426 [LTTng system runtime directory])
751d4e91 427
41ad81d8
MJ
428AC_CHECK_PROG([ENABLE_GEN_TP_EXAMPLES], [python], ["yes"])
429AM_CONDITIONAL([ENABLE_GEN_TP_EXAMPLES], [test "x$ENABLE_GEN_TP_EXAMPLES" = "xyes"])
2b90f1d3 430
08aa9a26
PP
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
4ddbd0b7
PP
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
94480b71 457warn_prebuilt_man_pages=no
4ddbd0b7
PP
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"], [
0c2f8444 464 AE_IF_IN_GIT_REPO([
4ddbd0b7
PP
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.
94480b71 478 warn_prebuilt_man_pages=yes
4ddbd0b7
PP
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.
41ad81d8 487AM_CONDITIONAL([ENABLE_MAN_PAGES], [test "x$man_pages_opt" != "xno"])
4ddbd0b7
PP
488AM_CONDITIONAL([HAVE_ASCIIDOC_XMLTO], [test "x$have_asciidoc_xmlto" = "xyes"])
489
f4a9899e
MJ
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
ff1ee9bc 500AM_CFLAGS="-Wall $URCU_CFLAGS $PTHREAD_CFLAGS"
e1c62734 501AC_SUBST(AM_CFLAGS)
fb54defd 502
04022848
MJ
503AM_CXXFLAGS="$AM_CFLAGS"
504AC_SUBST(AM_CXXFLAGS)
505
fb54defd
MJ
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
e1c62734
MJ
512AC_SUBST(JNI_CPPFLAGS)
513
f4a9899e
MJ
514
515## ##
516## Output files generated by configure ##
517## ##
518
519# List of files to be generated from '.in' templates by AC_OUTPUT
55355fa5
JB
520AC_CONFIG_FILES([
521 Makefile
7ccf75d3
MD
522 doc/Makefile
523 doc/examples/Makefile
4ddbd0b7 524 doc/man/Makefile
69400ac4 525 include/Makefile
69400ac4 526 snprintf/Makefile
ebabbf58 527 libcounter/Makefile
49705576 528 libmsgpack/Makefile
4931a13e 529 libringbuffer/Makefile
69400ac4
MD
530 liblttng-ust-comm/Makefile
531 liblttng-ust/Makefile
532 liblttng-ust-ctl/Makefile
533 liblttng-ust-fork/Makefile
b13d93c2 534 liblttng-ust-dl/Makefile
95e6d268 535 liblttng-ust-fd/Makefile
69400ac4 536 liblttng-ust-java/Makefile
501f6777
CB
537 liblttng-ust-java-agent/Makefile
538 liblttng-ust-java-agent/java/Makefile
8e6b6350 539 liblttng-ust-java-agent/java/lttng-ust-agent-all/Makefile
8e57e02f
AM
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
501f6777 543 liblttng-ust-java-agent/jni/Makefile
8ab5c06b 544 liblttng-ust-java-agent/jni/common/Makefile
501f6777
CB
545 liblttng-ust-java-agent/jni/jul/Makefile
546 liblttng-ust-java-agent/jni/log4j/Makefile
476037d9 547 liblttng-ust-libc-wrapper/Makefile
70d654f2 548 liblttng-ust-cyg-profile/Makefile
c3e14096 549 liblttng-ust-python-agent/Makefile
5b6ff569
PP
550 python-lttngust/Makefile
551 python-lttngust/setup.py
552 python-lttngust/lttngust/__init__.py
b25c5b37 553 tools/Makefile
6dd969b5 554 tests/Makefile
dbe6ade0
MJ
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
a44af49d 562 tests/benchmark/Makefile
dbe6ade0 563 tests/unit/gcc-weak-hidden/Makefile
49705576 564 tests/unit/libmsgpack/Makefile
dbe6ade0 565 tests/unit/Makefile
8707de35 566 tests/unit/libringbuffer/Makefile
dbe6ade0
MJ
567 tests/unit/pthread_name/Makefile
568 tests/unit/snprintf/Makefile
569 tests/unit/ust-elf/Makefile
9a4b88ff 570 tests/utils/Makefile
74a6d87b 571 lttng-ust.pc
a1acf2a6 572 lttng-ust-ctl.pc
55355fa5 573])
1f9eff07 574
1304f3df 575AC_OUTPUT
1f9eff07 576
94480b71 577
f4a9899e
MJ
578## ##
579## Mini-report on what will be built. ##
580## ##
94480b71
MJ
581
582PPRINT_INIT
583PPRINT_SET_INDENT(1)
584PPRINT_SET_TS(38)
585
2770ab16 586AS_ECHO
f4a9899e
MJ
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
2a5b1cfe 593AS_ECHO
649282a8 594
f4a9899e
MJ
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])
94480b71 603
94480b71
MJ
604PPRINT_SUBTITLE([System])
605
606PPRINT_PROP_STRING([Target architecture], $host_cpu)
607
94480b71
MJ
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])
1f9eff07 630
3207efee
MJ
631test "x$have_perf_event" = "xyes" && value=1 || value=0
632PPRINT_PROP_BOOL_CUSTOM([Perf event integration], $value)
633
bfcda6ce
MD
634test "x$enable_numa" = xyes && value=1 || value=0
635PPRINT_PROP_BOOL([NUMA], $value)
636
2a5b1cfe 637AS_ECHO
94480b71 638PPRINT_SET_INDENT(0)
501f6777 639
08aa9a26
PP
640test "x$enable_examples" = xyes && value=1 || value=0
641PPRINT_PROP_BOOL([Build and install examples], $value, $PPRINT_COLOR_SUBTITLE)
642
94480b71
MJ
643# man pages build enabled/disabled
644m4_pushdef([build_man_pages_msg], [Build and install man pages])
501f6777 645
94480b71 646AS_IF([test "x$man_pages_opt" != "xno"], [
0c2f8444 647 AE_IF_IN_GIT_REPO([
94480b71
MJ
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])
501f6777 661
94480b71 662m4_popdef([build_man_pages_msg])
1f9eff07 663
94480b71 664PPRINT_SET_INDENT(1)
c3e14096 665
94480b71
MJ
666report_bindir="`eval eval echo $bindir`"
667report_libdir="`eval eval echo $libdir`"
1f9eff07 668
94480b71 669# Print the bindir and libdir this `make install' will install into.
2a5b1cfe 670AS_ECHO
94480b71
MJ
671PPRINT_SUBTITLE([Install directories])
672PPRINT_PROP_STRING([Binaries], [$report_bindir])
673PPRINT_PROP_STRING([Libraries], [$report_libdir])
0ea8bd08 674
94480b71
MJ
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.
1f9eff07 685
94480b71
MJ
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.071978 seconds and 4 git commands to generate.