Update version to v2.11.8
[lttng-tools.git] / configure.ac
CommitLineData
5d5baaa3 1AC_PREREQ([2.64])
dd8ce0ac 2AC_INIT([lttng-tools],[2.11.8],[jeremie.galarneau@efficios.com],[],[https://lttng.org])
b7d2e95f
MJ
3
4AC_CONFIG_HEADERS([include/config.h])
fac6795d 5AC_CONFIG_AUX_DIR([config])
b7d2e95f
MJ
6AC_CONFIG_MACRO_DIR([m4])
7
6e2d116c
DG
8AC_CANONICAL_TARGET
9AC_CANONICAL_HOST
b7d2e95f 10
1b680139 11AM_INIT_AUTOMAKE([1.12 foreign dist-bzip2 no-dist-gzip tar-pax nostdinc])
d34cd287 12AM_MAINTAINER_MODE([enable])
b7d2e95f
MJ
13
14# Enable silent rules if available (Introduced in AM 1.11)
c615ee2f 15m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
fac6795d 16
a36b26b4
MJ
17AC_REQUIRE_AUX_FILE([tap-driver.sh])
18
b7d2e95f
MJ
19# Checks for C compiler
20AC_USE_SYSTEM_EXTENSIONS
21AC_SYS_LARGEFILE
22AC_PROG_CC
585e6d2e
JG
23# AC_PROG_CC_STDC was merged in AC_PROG_CC in autoconf 2.70
24m4_version_prereq([2.70], [], [AC_PROG_CC_STDC])
a9c2df2b 25AC_PROG_CXX
8d5afcd0 26RW_PROG_CXX_WORKS
a9c2df2b
FD
27AM_CONDITIONAL([CXX_WORKS], [test "x$rw_cv_prog_cxx_works" = "xyes"])
28
b7d2e95f
MJ
29# Checks for programs.
30AC_PROG_GREP
b7d2e95f 31AC_PROG_MAKE_SET
81265501 32AC_PROG_SED
a6c09be3 33AC_PATH_PROG([report_fold], [fold])
b7d2e95f
MJ
34LT_INIT
35
65385a82 36# Check for objcopy, required by the base address statedump and dynamic linker tests
a6c09be3
MJ
37AC_CHECK_TOOL([OBJCOPY], [objcopy], [no])
38AS_IF([test "x$OBJCOPY" = "xno"],
39 [AC_MSG_WARN([Cannot find objcopy. The base address statedump and dynamic linker tests will be disabled. Install the binutils package to remediate this.])]
65385a82
MJ
40)
41AM_CONDITIONAL([HAVE_OBJCOPY], [test "x$OBJCOPY" != xno])
42
a6c09be3
MJ
43# check for pgrep
44AC_PATH_PROG([PGREP], [pgrep], [no])
45AM_CONDITIONAL([HAVE_PGREP], [test "x$PGREP" != "xno"])
46
7b49875c
JG
47# set $IN_GIT_REPO if we're in the Git repository; the `bootstrap` file
48# is not distributed in tarballs
49AS_IF([test -f "$srcdir/bootstrap"], [in_git_repo=yes], [in_git_repo=no])
50AM_CONDITIONAL([IN_GIT_REPO], [test "x$in_git_repo" = "xyes"])
51
a6c09be3
MJ
52# check for bison
53AC_PROG_YACC
54BISON=$YACC
55AX_PROG_BISON_VERSION([2.4], [have_bison=yes])
56
57AS_IF([test "x$have_bison" != "xyes"], [
58 AS_IF([test "x$in_git_repo" = "xyes"], [
59 AC_MSG_FAILURE([
60Bison >= 2.4 is required when building from the Git repository. You can
61set the YACC variable to override automatic detection.
62 ])
63 ], [
64 AC_MSG_WARN([
65Missing Bison >= 2.4. Note that the parser files are already built in
66this distribution tarball, so Bison is only needed if you intend to
67modify their sources. You can set the YACC variable to override automatic
68detection.
69 ])
70 ])
71])
72AM_CONDITIONAL([HAVE_BISON], [test "x$have_bison" = "xyes"])
73
74# check for flex
585e6d2e
JG
75# Prior to autoconf 2.70, AC_PROG_FLEX did not take an argument. This is not a
76# problem since the argument is silently ignored by older versions.
77AC_PROG_LEX([noyywrap])
a6c09be3
MJ
78FLEX=$LEX
79AX_PROG_FLEX_VERSION([2.5.35], [have_flex=yes])
80
81AS_IF([test "x$have_flex" != "xyes"], [
82 AS_IF([test "x$in_git_repo" = "xyes"], [
83 AC_MSG_FAILURE([
84Flex >= 2.5.35 is required when building from the Git repository. You can
85set the LEX variable to override automatic detection.
86 ])
87 ], [
88 AC_MSG_WARN([
89Missing Flex >= 2.5.35. Note that the lexer files are already built in
90this distribution tarball, so Flex is only needed if you intend to
91modify their sources. You can set the LEX variable to override automatic
92detection.
93 ])
94 ])
95])
96AM_CONDITIONAL([HAVE_FLEX], [test "x$have_flex" = "xyes"])
97
98
b7d2e95f
MJ
99# Checks for typedefs, structures, and compiler characteristics.
100AC_C_INLINE
101AC_TYPE_INT32_T
102AC_TYPE_INT64_T
103AC_TYPE_MODE_T
104AC_TYPE_OFF_T
105AC_TYPE_PID_T
106AC_TYPE_SIZE_T
107AC_TYPE_SSIZE_T
108AC_TYPE_UID_T
109AC_TYPE_UINT16_T
110AC_TYPE_UINT32_T
111AC_TYPE_UINT64_T
112AC_TYPE_UINT8_T
113
114AX_C___ATTRIBUTE__
115AS_IF([test "x$ax_cv___attribute__" = "xyes"],
116 [:],
117 [AC_MSG_ERROR([The compiler does not support __attribute__ extensions])])
118
119AX_PTHREAD(,[AC_MSG_ERROR([Could not configure pthreads support])])
b7d2e95f 120
b75d311f
FD
121# Check if linker has the -no-pie option.
122AX_CHECK_LINK_FLAG([-no-pie], [linker_have_no_pie_option=yes])
123AM_CONDITIONAL([LINKER_HAVE_NO_PIE_OPTION], [test "x$linker_have_no_pie_option" = "xyes"])
124
507af6fc
MJ
125AX_LIB_SOCKET_NSL
126
d30b2041
MJ
127LT_NO_UNDEFINED=""
128AS_CASE([$host_os],
129 [cygwin*],
130 [
131 LT_NO_UNDEFINED="-no-undefined"
748399fc
MJ
132 ],
133 [cygwin*|darwin*|mingw*|solaris*],
134 [
135 # On platforms where we only support the relayd, disable the other binaries by default
136 AS_IF([test "x$enable_bin_lttng" = "x" ], [enable_bin_lttng=no])
137 AS_IF([test "x$enable_bin_lttng_consumerd" = "x" ], [enable_bin_lttng_consumerd=no])
138 AS_IF([test "x$enable_bin_lttng_crash" = "x" ], [enable_bin_lttng_crash=no])
139 AS_IF([test "x$enable_bin_lttng_sessiond" = "x" ], [enable_bin_lttng_sessiond=no])
140 AS_IF([test "x$enable_extras" = "x" ], [enable_extras=no])
141 AS_IF([test "x$with_lttng_ust" = "x" ], [with_lttng_ust=no])
d30b2041
MJ
142 ]
143)
144
145AC_SUBST(LT_NO_UNDEFINED)
146
b7d2e95f 147# Compute minor/major/patchlevel version numbers
18ecc6ae
MJ
148major_version=$(echo AC_PACKAGE_VERSION | $SED 's/^\([[0-9]]\)*\.[[0-9]]*\.[[0-9]]*.*$/\1/')
149minor_version=$(echo AC_PACKAGE_VERSION | $SED 's/^[[0-9]]*\.\([[0-9]]*\)\.[[0-9]]*.*$/\1/')
150patchlevel_version=$(echo AC_PACKAGE_VERSION | $SED 's/^[[0-9]]*\.[[0-9]]*\.\([[0-9]]*\).*$/\1/')
9d8c7763 151
81265501
MD
152AC_SUBST([MAJOR_VERSION], [$major_version])
153AC_SUBST([MINOR_VERSION], [$minor_version])
154AC_SUBST([PATCHLEVEL_VERSION], [$patchlevel_version])
8eaee515
DG
155AC_DEFINE_UNQUOTED([VERSION_MAJOR], $major_version, [LTTng-Tools major version number])
156AC_DEFINE_UNQUOTED([VERSION_MINOR], $minor_version, [LTTng-Tools minor version number])
157AC_DEFINE_UNQUOTED([VERSION_PATCHLEVEL], $patchlevel_version, [LTTng-Tools patchlevel version number])
81265501 158
efc720ad
JG
159version_name="Lafontaine"
160version_description="A modern Saison beer from Montréal's Oshlag microbrewery, Lafontaine is a refreshing, zesty, rice beer with hints of fruit and spices."
18ecc6ae 161version_description_c=$(echo $version_description | $SED 's/"/\\"/g')
0e4cbe7e
DG
162
163AC_DEFINE_UNQUOTED([VERSION_NAME], ["$version_name"], "")
34f69498 164AC_DEFINE_UNQUOTED([VERSION_DESCRIPTION], ["$version_description_c"], "")
c6d4a597 165
6bd5984c
CB
166# libtool link_all_deplibs fixup. See http://bugs.lttng.org/issues/321.
167AC_ARG_ENABLE(libtool-linkdep-fixup,
168 AS_HELP_STRING([--disable-libtool-linkdep-fixup],
169 [disable the libtool fixup for linking all dependent libraries (link_all_deplibs)]),
170 libtool_fixup=$enableval,
171 libtool_fixup=yes)
172
173AS_IF([test "x$libtool_fixup" = "xyes"],
174 [
b7d2e95f 175 libtool_m4="$srcdir/m4/libtool.m4"
6bd5984c
CB
176 libtool_flag_pattern=".*link_all_deplibs\s*,\s*\$1\s*)"
177 AC_MSG_CHECKING([for occurence(s) of link_all_deplibs = no in $libtool_m4])
18ecc6ae 178 libtool_flag_pattern_count=$($GREP -c "$libtool_flag_pattern\s*=\s*no" $libtool_m4)
6bd5984c
CB
179 AS_IF([test $libtool_flag_pattern_count -ne 0],
180 [
181 AC_MSG_RESULT([$libtool_flag_pattern_count])
182 AC_MSG_WARN([the detected libtool will not link all dependencies, forcing link_all_deplibs = unknown])
06884be1 183 $SED -i "s/\($libtool_flag_pattern\)\s*=\s*no/\1=unknown/g" $libtool_m4
6bd5984c
CB
184 ],
185 [
186 AC_MSG_RESULT([none])
187 ])
188 ])
189
347e0f14
CB
190AM_CONDITIONAL([NO_SHARED], [test x$enable_shared = xno])
191
fac6795d
DG
192AC_CHECK_HEADERS([ \
193 sys/types.h unistd.h fcntl.h string.h pthread.h limits.h \
194 signal.h stdlib.h sys/un.h sys/socket.h stdlib.h stdio.h \
d23e7e44
JR
195 getopt.h sys/ipc.h sys/shm.h popt.h grp.h arpa/inet.h \
196 netdb.h netinet/in.h paths.h stddef.h sys/file.h sys/ioctl.h \
df458f8c 197 sys/mount.h sys/param.h sys/time.h elf.h
fac6795d
DG
198])
199
df458f8c
MJ
200AM_CONDITIONAL([HAVE_ELF_H], [test x$ac_cv_header_elf_h = xyes])
201
b89ff596
JR
202# Basic functions check
203AC_CHECK_FUNCS([ \
afc5df03 204 atexit bzero clock_gettime dup2 fdatasync fls ftruncate \
4b223a67 205 gethostbyname gethostname getpagesize localtime_r memchr memrchr memset \
b89ff596 206 mkdir munmap putenv realpath rmdir socket strchr strcspn strdup \
f5436bfc 207 strncasecmp strndup strnlen strpbrk strrchr strstr strtol strtoul \
062fc3d8 208 strtoull dirfd gethostbyname2 getipnodebyname epoll_create1 \
85ce30d3 209 sched_getcpu sysconf sync_file_range
b89ff596 210])
7d617f1d 211
fbc08f38
MJ
212# Check if clock_gettime, timer_create, timer_settime, and timer_delete are available in lib rt, and if so,
213# add -lrt to LIBS
214AC_CHECK_LIB([rt], [clock_gettime, timer_create, timer_settime, timer_delete])
215
bc1d8ca0
PP
216# Checks for dl.
217AC_CHECK_LIB([dl], [dlopen], [
218 have_libdl=yes
219 libdl_name=dl
511880aa 220 DL_LIBS="-ldl"
bc1d8ca0
PP
221], [
222 # libdl not found, check for dlopen in libc.
223 AC_CHECK_LIB([c], [dlopen], [
224 have_libc_dl=yes
225 libdl_name=c
511880aa 226 DL_LIBS="-lc"
bc1d8ca0
PP
227 ], [
228 AC_MSG_ERROR([Cannot find dlopen in libdl nor libc. Use [LDFLAGS]=-Ldir to specify their location.])
229 ])
230])
511880aa 231AC_SUBST(DL_LIBS)
bc1d8ca0
PP
232
233# Check if libdl has dlmopen support.
234AH_TEMPLATE([HAVE_DLMOPEN], ["Define to 1 if dlmopen is available."])
235AC_CHECK_LIB([$libdl_name], [dlmopen], [
236 AC_DEFINE([HAVE_DLMOPEN], [1])
237 HAVE_DLMOPEN=1
238], [
239 HAVE_DLMOPEN=0
240])
241AC_SUBST(HAVE_DLMOPEN)
242
0c95f5b2
DG
243# Babeltrace viewer check
244AC_ARG_WITH([babeltrace-bin],
245 AS_HELP_STRING([--with-babeltrace-bin],
246 [Location of the babeltrace viewer executable (including the filename)]),
247 [BABELTRACE_BIN="$withval"],
248 [BABELTRACE_BIN=''])
249AC_SUBST([BABELTRACE_BIN])
250
251# lttv-gui
252AC_ARG_WITH([lttv-gui-bin],
253 AS_HELP_STRING([--with-lttv-gui-bin],
254 [Location of the lttv GUI viewer executable (including the filename)]),
255 [LTTV_GUI_BIN="$withval"],
256 [LTTV_GUI_BIN=''])
257AC_SUBST([LTTV_GUI_BIN])
258
fc7a59ce
AM
259AC_ARG_WITH([consumerd32-bin],
260 AS_HELP_STRING([--with-consumerd32-bin],
261 [Location of the 32-bit consumerd executable (including the filename)]),
262 [CONSUMERD32_BIN="$withval"],
263 [CONSUMERD32_BIN=''])
264AC_SUBST([CONSUMERD32_BIN])
ebaeda94 265
fc7a59ce
AM
266AC_ARG_WITH([consumerd64-bin],
267 AS_HELP_STRING([--with-consumerd64-bin],
268 [Location of the 64-bit consumerd executable (including the filename)]),
269 [CONSUMERD64_BIN="$withval"],
270 [CONSUMERD64_BIN=''])
271AC_SUBST([CONSUMERD64_BIN])
ebaeda94
MD
272
273AC_ARG_WITH([consumerd32-libdir],
a4b279ba 274 AS_HELP_STRING([--with-consumerd32-libdir],
fc7a59ce 275 [Directory containing the 32-bit consumerd libraries]),
ebaeda94
MD
276 [CONSUMERD32_LIBDIR="$withval"],
277 [CONSUMERD32_LIBDIR=''])
278AC_SUBST([CONSUMERD32_LIBDIR])
279
ec029701 280AC_ARG_WITH([consumerd64-libdir],
a4b279ba 281 AS_HELP_STRING([--with-consumerd64-libdir],
fc7a59ce 282 [Directory containing the 64-bit consumerd libraries]),
ebaeda94
MD
283 [CONSUMERD64_LIBDIR="$withval"],
284 [CONSUMERD64_LIBDIR=''])
285AC_SUBST([CONSUMERD64_LIBDIR])
286
b8ec3da8
SM
287AC_ARG_WITH([sessiond-bin],
288 AS_HELP_STRING([--with-sessiond-bin],
289 [Location of the sessiond executable (including the filename)]),
290 [SESSIOND_BIN="$withval"],
291 [SESSIOND_BIN=''])
292AC_SUBST([SESSIOND_BIN])
293
d386c872
MD
294AC_ARG_WITH([lttng-system-rundir],
295 AS_HELP_STRING([--with-lttng-system-rundir],
296 [Location of the system directory where the system-wide lttng-sessiond runtime files are kept. The default is "/var/run/lttng".]),
297 [LTTNG_SYSTEM_RUNDIR="$withval"],
298 [LTTNG_SYSTEM_RUNDIR="/var/run/lttng"])
299AC_SUBST([LTTNG_SYSTEM_RUNDIR])
300
839a9569
MJ
301AC_ARG_ENABLE([test-java-agent-jul],
302 [AS_HELP_STRING([--enable-test-java-agent-jul],[enable the LTTng UST Java agent JUL tests [default=no]])],
303 [test_java_agent_jul=$enableval],
304 [test_java_agent_jul=no]
305)
306
307AC_ARG_ENABLE([test-java-agent-log4j],
308 [AS_HELP_STRING([--enable-test-java-agent-log4j],[enable the LTTng UST Java agent Log4j tests [default=no]])],
309 [test_java_agent_log4j=$enableval],
310 [test_java_agent_log4j=no]
311)
312
313AC_ARG_ENABLE([test-java-agent-all],
314 [AS_HELP_STRING([--enable-test-java-agent-all],[enable all the LTTng UST Java agent tests [default=no]])],
315 [test_java_agent_jul=$enableval
316 test_java_agent_log4j=$enableval],
317 [:]
318)
319
fb6f1fa2
YB
320AC_DEFINE_UNQUOTED([CONFIG_CONSUMERD32_BIN], "$CONSUMERD32_BIN", [Location of the 32-bit consumerd executable.])
321AC_DEFINE_UNQUOTED([CONFIG_CONSUMERD64_BIN], "$CONSUMERD64_BIN", [Location of the 64-bit consumerd executable])
322AC_DEFINE_UNQUOTED([CONFIG_CONSUMERD32_LIBDIR], "$CONSUMERD32_LIBDIR", [Search for consumerd 32-bit libraries in this location.])
323AC_DEFINE_UNQUOTED([CONFIG_CONSUMERD64_LIBDIR], "$CONSUMERD64_LIBDIR", [Search for consumerd 64-bit libraries in this location.])
0c95f5b2
DG
324AC_DEFINE_UNQUOTED([CONFIG_BABELTRACE_BIN], "$BABELTRACE_BIN", [Location of the babeltrace viewer executable.])
325AC_DEFINE_UNQUOTED([CONFIG_LTTV_GUI_BIN], "$LTTV_GUI_BIN", [Location of the lttv GUI viewer executable.])
b8ec3da8 326AC_DEFINE_UNQUOTED([CONFIG_SESSIOND_BIN], "$SESSIOND_BIN", [Location of the sessiond executable.])
d386c872 327AC_DEFINE_UNQUOTED([CONFIG_LTTNG_SYSTEM_RUNDIR], ["$LTTNG_SYSTEM_RUNDIR"], [LTTng system runtime directory])
43cadc7e 328
7659d490
PP
329AC_DEFUN([_AC_DEFINE_AND_SUBST], [
330 AC_DEFINE_UNQUOTED([CONFIG_$1], [$2], [$1])
331 $1="$2"
332 AC_SUBST([$1])
333])
334
335AC_DEFUN([_AC_DEFINE_QUOTED_AND_SUBST], [
336 AC_DEFINE_UNQUOTED([CONFIG_$1], ["$2"], [$1])
337 $1="$2"
338 AC_SUBST([$1])
339])
340
341# Default values
c9eb1ddc 342m4_define([_DEFAULT_CHANNEL_SUBBUF_SIZE], [16384])
7659d490
PP
343m4_define([_DEFAULT_CHANNEL_SUBBUF_NUM], [4])
344m4_define([_DEFAULT_CHANNEL_SWITCH_TIMER], [0])
345m4_define([_DEFAULT_CHANNEL_LIVE_TIMER], [0])
346m4_define([_DEFAULT_CHANNEL_READ_TIMER], [200000])
e9404c27 347m4_define([_DEFAULT_CHANNEL_MONITOR_TIMER], [1000000])
491d1539 348m4_define([_DEFAULT_CHANNEL_BLOCKING_TIMEOUT], [0])
2288467f
JG
349_AC_DEFINE_AND_SUBST([DEFAULT_AGENT_TCP_PORT_RANGE_BEGIN], [5345])
350_AC_DEFINE_AND_SUBST([DEFAULT_AGENT_TCP_PORT_RANGE_END], [5354])
7659d490
PP
351_AC_DEFINE_AND_SUBST([DEFAULT_APP_SOCKET_RW_TIMEOUT], [5])
352_AC_DEFINE_AND_SUBST([DEFAULT_CHANNEL_SUBBUF_SIZE], [_DEFAULT_CHANNEL_SUBBUF_SIZE])
353_AC_DEFINE_AND_SUBST([DEFAULT_CHANNEL_TRACEFILE_COUNT], [0])
354_AC_DEFINE_AND_SUBST([DEFAULT_CHANNEL_TRACEFILE_SIZE], [0])
355_AC_DEFINE_AND_SUBST([DEFAULT_KERNEL_CHANNEL_LIVE_TIMER], [_DEFAULT_CHANNEL_LIVE_TIMER])
356_AC_DEFINE_AND_SUBST([DEFAULT_KERNEL_CHANNEL_READ_TIMER], [_DEFAULT_CHANNEL_READ_TIMER])
357_AC_DEFINE_AND_SUBST([DEFAULT_KERNEL_CHANNEL_SUBBUF_NUM], [_DEFAULT_CHANNEL_SUBBUF_NUM])
c9eb1ddc 358_AC_DEFINE_AND_SUBST([DEFAULT_KERNEL_CHANNEL_SUBBUF_SIZE], [1048576])
7659d490 359_AC_DEFINE_AND_SUBST([DEFAULT_KERNEL_CHANNEL_SWITCH_TIMER], [_DEFAULT_CHANNEL_SWITCH_TIMER])
e9404c27 360_AC_DEFINE_AND_SUBST([DEFAULT_KERNEL_CHANNEL_MONITOR_TIMER], [_DEFAULT_CHANNEL_MONITOR_TIMER])
491d1539 361_AC_DEFINE_AND_SUBST([DEFAULT_KERNEL_CHANNEL_BLOCKING_TIMEOUT], [_DEFAULT_CHANNEL_BLOCKING_TIMEOUT])
7659d490
PP
362_AC_DEFINE_AND_SUBST([DEFAULT_LTTNG_LIVE_TIMER], [1000000])
363_AC_DEFINE_AND_SUBST([DEFAULT_METADATA_CACHE_SIZE], [4096])
364_AC_DEFINE_AND_SUBST([DEFAULT_METADATA_READ_TIMER], [0])
365_AC_DEFINE_AND_SUBST([DEFAULT_METADATA_SUBBUF_NUM], [2])
366_AC_DEFINE_AND_SUBST([DEFAULT_METADATA_SUBBUF_SIZE], [4096])
367_AC_DEFINE_AND_SUBST([DEFAULT_METADATA_SWITCH_TIMER], [_DEFAULT_CHANNEL_SWITCH_TIMER])
368_AC_DEFINE_AND_SUBST([DEFAULT_NETWORK_CONTROL_PORT], [5342])
369_AC_DEFINE_AND_SUBST([DEFAULT_NETWORK_DATA_PORT], [5343])
370_AC_DEFINE_AND_SUBST([DEFAULT_NETWORK_VIEWER_PORT], [5344])
371_AC_DEFINE_AND_SUBST([DEFAULT_UST_PID_CHANNEL_LIVE_TIMER], [_DEFAULT_CHANNEL_LIVE_TIMER])
372_AC_DEFINE_AND_SUBST([DEFAULT_UST_PID_CHANNEL_READ_TIMER], [0])
491d1539 373_AC_DEFINE_AND_SUBST([DEFAULT_UST_PID_CHANNEL_BLOCKING_TIMEOUT], [0])
7659d490
PP
374_AC_DEFINE_AND_SUBST([DEFAULT_UST_PID_CHANNEL_SUBBUF_NUM], [_DEFAULT_CHANNEL_SUBBUF_NUM])
375_AC_DEFINE_AND_SUBST([DEFAULT_UST_PID_CHANNEL_SUBBUF_SIZE], [_DEFAULT_CHANNEL_SUBBUF_SIZE])
376_AC_DEFINE_AND_SUBST([DEFAULT_UST_PID_CHANNEL_SWITCH_TIMER], [_DEFAULT_CHANNEL_SWITCH_TIMER])
e9404c27 377_AC_DEFINE_AND_SUBST([DEFAULT_UST_PID_CHANNEL_MONITOR_TIMER], [_DEFAULT_CHANNEL_MONITOR_TIMER])
7659d490
PP
378_AC_DEFINE_AND_SUBST([DEFAULT_UST_UID_CHANNEL_LIVE_TIMER], [_DEFAULT_CHANNEL_LIVE_TIMER])
379_AC_DEFINE_AND_SUBST([DEFAULT_UST_UID_CHANNEL_READ_TIMER], [0])
491d1539 380_AC_DEFINE_AND_SUBST([DEFAULT_UST_UID_CHANNEL_BLOCKING_TIMEOUT], [0])
7659d490 381_AC_DEFINE_AND_SUBST([DEFAULT_UST_UID_CHANNEL_SUBBUF_NUM], [_DEFAULT_CHANNEL_SUBBUF_NUM])
c9eb1ddc 382_AC_DEFINE_AND_SUBST([DEFAULT_UST_UID_CHANNEL_SUBBUF_SIZE], [524288])
7659d490 383_AC_DEFINE_AND_SUBST([DEFAULT_UST_UID_CHANNEL_SWITCH_TIMER], [_DEFAULT_CHANNEL_SWITCH_TIMER])
e9404c27 384_AC_DEFINE_AND_SUBST([DEFAULT_UST_UID_CHANNEL_MONITOR_TIMER], [_DEFAULT_CHANNEL_MONITOR_TIMER])
7659d490
PP
385_AC_DEFINE_QUOTED_AND_SUBST([DEFAULT_AGENT_BIND_ADDRESS], [localhost])
386_AC_DEFINE_QUOTED_AND_SUBST([DEFAULT_NETWORK_CONTROL_BIND_ADDRESS], [0.0.0.0])
387_AC_DEFINE_QUOTED_AND_SUBST([DEFAULT_NETWORK_DATA_BIND_ADDRESS], [0.0.0.0])
388_AC_DEFINE_QUOTED_AND_SUBST([DEFAULT_NETWORK_VIEWER_BIND_ADDRESS], [localhost])
715e6fb1 389_AC_DEFINE_AND_SUBST([DEFAULT_NETWORK_RELAYD_CTRL_MAX_PAYLOAD_SIZE], [134217728])
82528808 390_AC_DEFINE_AND_SUBST([DEFAULT_ROTATE_PENDING_TIMER], [500000])
7659d490 391
61fa5028
PP
392# Command short descriptions
393_AC_DEFINE_QUOTED_AND_SUBST([CMD_DESCR_ADD_CONTEXT], [Add context fields to a channel])
61fa5028
PP
394_AC_DEFINE_QUOTED_AND_SUBST([CMD_DESCR_CREATE], [Create a tracing session])
395_AC_DEFINE_QUOTED_AND_SUBST([CMD_DESCR_DESTROY], [Tear down tracing sessions])
396_AC_DEFINE_QUOTED_AND_SUBST([CMD_DESCR_DISABLE_CHANNEL], [Disable tracing channels])
397_AC_DEFINE_QUOTED_AND_SUBST([CMD_DESCR_DISABLE_EVENT], [Disable event rules])
31099add 398_AC_DEFINE_QUOTED_AND_SUBST([CMD_DESCR_DISABLE_ROTATION], [Unset a rotation schedule])
61fa5028
PP
399_AC_DEFINE_QUOTED_AND_SUBST([CMD_DESCR_ENABLE_CHANNEL], [Create or enable tracing channels])
400_AC_DEFINE_QUOTED_AND_SUBST([CMD_DESCR_ENABLE_EVENT], [Create or enable event rules])
31099add 401_AC_DEFINE_QUOTED_AND_SUBST([CMD_DESCR_ENABLE_ROTATION], [Set a rotation schedule])
61fa5028
PP
402_AC_DEFINE_QUOTED_AND_SUBST([CMD_DESCR_HELP], [Display help information about a command])
403_AC_DEFINE_QUOTED_AND_SUBST([CMD_DESCR_LIST], [List tracing sessions, domains, channels, and events])
404_AC_DEFINE_QUOTED_AND_SUBST([CMD_DESCR_LOAD], [Load tracing session configurations])
faf04ce7 405_AC_DEFINE_QUOTED_AND_SUBST([CMD_DESCR_REGENERATE], [Manage an LTTng tracing session's data regeneration])
980bb5fd 406_AC_DEFINE_QUOTED_AND_SUBST([CMD_DESCR_ROTATE], [Archive a tracing session's current trace chunk])
61fa5028
PP
407_AC_DEFINE_QUOTED_AND_SUBST([CMD_DESCR_SAVE], [Save tracing session configurations])
408_AC_DEFINE_QUOTED_AND_SUBST([CMD_DESCR_SET_SESSION], [Set current tracing session])
409_AC_DEFINE_QUOTED_AND_SUBST([CMD_DESCR_SNAPSHOT], [Snapshot buffers of current tracing session])
410_AC_DEFINE_QUOTED_AND_SUBST([CMD_DESCR_START], [Start tracing])
411_AC_DEFINE_QUOTED_AND_SUBST([CMD_DESCR_STATUS], [Get the status of the current tracing session])
412_AC_DEFINE_QUOTED_AND_SUBST([CMD_DESCR_STOP], [Stop tracing])
6aa80720
JG
413_AC_DEFINE_QUOTED_AND_SUBST([CMD_DESCR_DISABLE_ROTATION], [Unset a rotation schedule])
414_AC_DEFINE_QUOTED_AND_SUBST([CMD_DESCR_ENABLE_ROTATION], [Set a rotation schedule])
61fa5028
PP
415_AC_DEFINE_QUOTED_AND_SUBST([CMD_DESCR_TRACK], [Track specific system resources])
416_AC_DEFINE_QUOTED_AND_SUBST([CMD_DESCR_UNTRACK], [Untrack specific system resources])
417_AC_DEFINE_QUOTED_AND_SUBST([CMD_DESCR_VERSION], [Show version information])
418_AC_DEFINE_QUOTED_AND_SUBST([CMD_DESCR_VIEW], [Start trace viewer])
419
26296c48
JG
420if test "x$prefix" = "xNONE"; then
421 prefix=$ac_default_prefix
422fi
423CONFDIR=`eval echo $sysconfdir`
424AC_SUBST(CONFDIR)
425AC_DEFINE_UNQUOTED([CONFIG_LTTNG_SYSTEM_CONFIGDIR],"$CONFDIR", [LTTng system configuration directory.])
426
43317de1 427AX_DEFINE_DIR([CONFIG_LTTNG_SYSTEM_DATADIR], [datadir], [LTTng system data directory.])
dcf266c0 428
fac6795d 429# Check libpopt
e9cee23a 430PKG_CHECK_MODULES([POPT], [popt],
4f985cf8
MJ
431 [
432 dnl PKG_CHECK_MODULES defines POPT_LIBS
433 ],
434 [
435 AC_MSG_WARN([pkg-config was unable to find a valid .pc for libpopt. Set PKG_CONFIG_PATH to specify the pkgconfig configuration file location])
436 AC_MSG_WARN([Finding libpopt without pkg-config.])
437 AC_CHECK_LIB([popt],
438 [poptGetContext],
439 [POPT_LIBS="-lpopt"],
440 [
441 AC_MSG_FAILURE([Cannot find libpopt. Either set PKG_CONFIG_PATH to the configuration file location or use LDFLAGS=-Ldir to specify the library location])
442 ]
443 )
444 ]
fac6795d 445)
4f985cf8 446AC_SUBST(POPT_LIBS)
fac6795d 447
34707125 448PKG_CHECK_MODULES([libxml2], [libxml-2.0 >= 2.7.6])
6c1494fd 449
009eade4
MJ
450# First, check for uuid in system libs
451AH_TEMPLATE([LTTNG_HAVE_LIBUUID], [Define if you have libuuid support])
81ba8833 452AC_CHECK_FUNCS([uuid_generate],
009eade4
MJ
453 [
454 AC_DEFINE([LTTNG_HAVE_LIBUUID], [1])
455 UUID_LIBS=""
456 ],
457 [
458 # Then, check if the pkg-config module is available, otherwise explicitly check
459 # for libuuid, or uuid support in the C-library.
460 PKG_CHECK_MODULES([UUID], [uuid],
461 [
462 AC_DEFINE([LTTNG_HAVE_LIBUUID], [1])
463 dnl PKG_CHECK_MODULES defines UUID_LIBS
464 ],
465 [
466 AC_MSG_WARN([pkg-config was unable to find a valid .pc for libuuid. Set PKG_CONFIG_PATH to specify the pkgconfig configuration file location])
467 AC_MSG_WARN([Finding libuuid without pkg-config.])
468 AC_CHECK_LIB([uuid], [uuid_generate],
469 [
470 AC_DEFINE([LTTNG_HAVE_LIBUUID], [1])
471 UUID_LIBS="-luuid"
472 ],
473 [
474 # libuuid not found, check for uuid_create in libc.
475 AC_CHECK_LIB([c], [uuid_create],
476 [
477 AC_DEFINE([LTTNG_HAVE_LIBUUID], [1])
478 UUID_LIBS="-lc"
479 ],
480 [
481 AC_MSG_FAILURE([Cannot find libuuid uuid_generate nor libc uuid_create. Either set PKG_CONFIG_PATH to the configuration file location or use LDFLAGS=-Ldir to specify the library location])
482 ]
483 )
484 ]
485 )
486 ]
487 )
488 ]
489)
490AC_SUBST(UUID_LIBS)
ffe60014 491
707de922
JG
492AC_CHECK_FUNC([clock_gettime], [AC_DEFINE_UNQUOTED([LTTNG_HAVE_CLOCK_GETTIME], 1, [Has clock_gettime() support.])])
493
6e59ae26 494# URCU library version needed or newer
96712f86 495m4_define([WRONG_LIBURCU_MSG], [Userspace RCU (liburcu) >= 0.11.0 is needed])
6e59ae26 496
3ffccaed 497# Check liburcu needed function calls
fac6795d 498AC_CHECK_DECL([cds_list_add], [],
3f7c0632 499 [AC_MSG_ERROR([WRONG_LIBURCU_MSG])], [[#include <urcu/list.h>]])
8bdee6e2 500AC_CHECK_DECL([cds_wfcq_init], [],
3f7c0632 501 [AC_MSG_ERROR([WRONG_LIBURCU_MSG])], [[#include <urcu/wfcqueue.h>]])
8bdee6e2 502AC_CHECK_DECL([cds_wfcq_dequeue_blocking], [],
3f7c0632 503 [AC_MSG_ERROR([WRONG_LIBURCU_MSG])], [[#include <urcu/wfcqueue.h>]])
8e12081b 504AC_CHECK_DECL([futex_async], [],
3f7c0632 505 [AC_MSG_ERROR([WRONG_LIBURCU_MSG])], [[#include <urcu/futex.h>]])
3ffccaed 506AC_CHECK_DECL([rcu_thread_offline], [],
3f7c0632 507 [AC_MSG_ERROR([WRONG_LIBURCU_MSG])], [[#include <urcu.h>]])
3ffccaed 508AC_CHECK_DECL([rcu_thread_online], [],
3f7c0632 509 [AC_MSG_ERROR([WRONG_LIBURCU_MSG])], [[#include <urcu.h>]])
6e59ae26 510AC_CHECK_DECL([caa_likely], [],
3f7c0632 511 [AC_MSG_ERROR([WRONG_LIBURCU_MSG])], [[#include <urcu.h>]])
9eadc48f
PP
512AC_CHECK_LIB([urcu-cds], [_cds_lfht_new], [],
513 [AC_MSG_ERROR([WRONG_LIBURCU_MSG])])
3f7c0632 514
e6b66098
YB
515#Function added in urcu 0.7.0
516AC_CHECK_DECL([cmm_smp_mb__before_uatomic_or], [],
3f7c0632 517 [AC_MSG_ERROR([WRONG_LIBURCU_MSG])], [[#include <urcu.h>]]
e6b66098 518)
6e59ae26 519
96712f86
JG
520#Function added in urcu 0.11.0
521AC_CHECK_DECL([urcu_memb_barrier], [],
522 [AC_MSG_ERROR([WRONG_LIBURCU_MSG])], [[#include <urcu/urcu-memb.h>]]
ce4d4083
MD
523)
524
83dcc026
MJ
525# Check for libkmod, it will be auto-neabled if found but won't fail if it's not,
526# it can be explicitly disabled with --without-kmod
527AH_TEMPLATE([HAVE_KMOD], [Define if you have kmod support])
528AC_ARG_WITH([kmod],
529 [AS_HELP_STRING([--with-kmod], [build with lkmod support @<:@default=check@:>@])],
530 [],
531 [with_kmod=check]
532)
234170ac 533
83dcc026
MJ
534AS_IF([test "x$with_kmod" != "xno"],
535 [
536 AC_CHECK_LIB([kmod], [kmod_module_probe_insert_module],
537 [
538 AC_DEFINE([HAVE_KMOD], [1])
539 KMOD_LIBS="-lkmod"
540 ],
541 [
542 if test "x$with_kmod" != xcheck; then
543 AC_MSG_FAILURE([Cannot find libkmod. Use [LDFLAGS]=-Ldir and [CPPFLAGS]=-Idir to specify its location.])
544 else
545 with_kmod=no
546 fi
547 ]
548 )
549 ]
550)
551AC_SUBST(KMOD_LIBS)
234170ac 552
5744bf89
MJ
553# Check for liblttng-ust-ctl, fail if it's not found,
554# it can be explicitly disabled with --without-lttng-ust
555AH_TEMPLATE([HAVE_LIBLTTNG_UST_CTL], [Define if you have LTTng-UST control support])
556AC_ARG_WITH([lttng-ust],
557 [AS_HELP_STRING([--without-lttng-ust], [build without LTTng-UST (Userspace Tracing) support])],
558 [],
559 [with_lttng_ust=yes]
560)
561
562AS_IF([test "x$with_lttng_ust" = "xyes"],
563 [
8341c74d 564 AC_CHECK_LIB([lttng-ust-ctl], [lttng_ust_enum_get_from_desc],
5744bf89
MJ
565 [
566 AC_DEFINE([HAVE_LIBLTTNG_UST_CTL], [1])
567 ],
568 [
8341c74d
MJ
569 AC_MSG_FAILURE([Cannot find LTTng-UST >= 2.11.x. Use [LDFLAGS]=-Ldir and [CPPFLAGS]=-Idir to specify its location, or specify --without-lttng-ust to build lttng-tools without LTTng-UST support.])
570 ]
5744bf89
MJ
571 )
572 ]
573)
574AM_CONDITIONAL([HAVE_LIBLTTNG_UST_CTL], [test "x$with_lttng_ust" = "xyes"])
575
b91dd016 576
53a80697
MD
577# Check for fmemopen
578AC_CHECK_LIB([c], [fmemopen],
579[
580 AC_DEFINE_UNQUOTED([LTTNG_HAVE_FMEMOPEN], 1, [Has fmemopen support.])
581]
582)
583
6faa26ca
JD
584# check for libpfm
585AC_CHECK_LIB([pfm], [pfm_initialize],
586 [
587 have_libpfm=yes
588 ])
589AM_CONDITIONAL([LTTNG_TOOLS_BUILD_WITH_LIBPFM], [test "x$have_libpfm" = "xyes"])
590
36907cb5
DS
591# For Python
592# SWIG version needed or newer:
593swig_version=2.0.0
594
595AC_ARG_ENABLE([python-bindings],
585e6d2e 596 [AS_HELP_STRING([--enable-python-bindings],
36907cb5 597 [compile Python bindings])],
e9c45a26 598 [enable_python_binding=$enableval], [enable_python_binding=no])
36907cb5 599
e9c45a26 600AM_CONDITIONAL([PYTHON_BINDING], [test "x$enable_python_binding" = xyes])
36907cb5 601
e9c45a26 602if test "x$enable_python_binding" = xyes; then
36907cb5 603 AX_PKG_SWIG($swig_version, [], [ AC_MSG_ERROR([SWIG $swig_version or newer is needed]) ])
f558e55e 604 AS_IF([test x$enable_shared = xno], [ AC_MSG_ERROR([Python bindings require shared libraries.]) ])
56aa2354 605 AM_PATH_PYTHON([3.0])
36907cb5
DS
606
607 AC_ARG_VAR([PYTHON_INCLUDE], [Include flags for python, bypassing python-config])
608 AC_ARG_VAR([PYTHON_CONFIG], [Path to python-config])
609 AS_IF([test -z "$PYTHON_INCLUDE"], [
610 AS_IF([test -z "$PYTHON_CONFIG"], [
611 AC_PATH_PROGS([PYTHON_CONFIG],
612 [python$PYTHON_VERSION-config python-config],
613 [no],
614 [`dirname $PYTHON`])
615 AS_IF([test "$PYTHON_CONFIG" = no], [AC_MSG_ERROR([cannot find python-config for $PYTHON. Do you have python-dev installed?])])
616 ])
617 AC_MSG_CHECKING([python include flags])
618 PYTHON_INCLUDE=`$PYTHON_CONFIG --includes`
619 AC_MSG_RESULT([$PYTHON_INCLUDE])
620 ])
621
622else
623 AC_MSG_NOTICE([You may configure with --enable-python-bindings ]dnl
624[if you want Python bindings.])
625
626fi
627
3ffccaed 628# Epoll check. If not present, the build will fallback on poll() API
71615260
DG
629AX_HAVE_EPOLL(
630 [AX_CONFIG_FEATURE_ENABLE(epoll)],
631 [AX_CONFIG_FEATURE_DISABLE(epoll)]
632)
71615260
DG
633AX_CONFIG_FEATURE(
634 [epoll], [This platform supports epoll(7)],
635 [HAVE_EPOLL], [This platform supports epoll(7).],
636 [enable_epoll="yes"], [enable_epoll="no"]
637)
71615260
DG
638AM_CONDITIONAL([COMPAT_EPOLL], [ test "$enable_epoll" = "yes" ])
639
a42089bd
JG
640AS_IF([test "x$ac_cv_func_dirfd" = "xyes"],
641 [AX_CONFIG_FEATURE_ENABLE(dirfd)],
642 [AX_CONFIG_FEATURE_DISABLE(dirfd)]
643)
644AX_CONFIG_FEATURE(
645 [dirfd], [Use directory file descriptors],
646 [COMPAT_DIRFD], [This platform supports directory file descriptors.],
647 [enable_dirfd="yes"], [enable_dirfd="no"]
648)
649AM_CONDITIONAL([COMPAT_DIRFD], [ test "$enable_dirfd" = "yes" ])
650
839a9569
MJ
651AM_CONDITIONAL([TEST_JAVA_JUL_AGENT], [test "x$test_java_agent_jul" = "xyes"])
652AM_CONDITIONAL([TEST_JAVA_LOG4J_AGENT], [test "x$test_java_agent_log4j" = "xyes"])
37175ce4 653
839a9569
MJ
654if test "x$test_java_agent_jul" = "xyes" || test "x$test_java_agent_log4j" = "xyes"; then
655 AX_JAVA_OPTIONS
656 AX_PROG_JAVAC
657 AX_PROG_JAVA
658 AX_PROG_JAR
37175ce4 659
839a9569 660 AX_CHECK_CLASSPATH
504d4ace 661
839a9569
MJ
662 # Check for Java UST agent common class first
663 AX_CHECK_CLASS(org.lttng.ust.agent.AbstractLttngAgent)
664 if test "x$ac_cv_class_org_lttng_ust_agent_AbstractLttngAgent" = "xno"; then
665 AC_MSG_ERROR([The UST Java agent common class was not found. Please specify the location of the jar via the Java CLASSPATH e.g: export CLASSPATH="/path/to/lttng-ust-agent-common.jar"])
504d4ace 666 fi
0b7af945 667
839a9569
MJ
668 if test "x$test_java_agent_jul" = "xyes"; then
669 # Check for JUL agent class
670 AX_CHECK_CLASS(org.lttng.ust.agent.jul.LttngLogHandler)
671 if test "x$ac_cv_class_org_lttng_ust_agent_jul_LttngLogHandler" = "xno"; then
672 AC_MSG_ERROR([The UST Java agent JUL class was not found. Please specify the location of the jar via the Java CLASSPATH e.g: export CLASSPATH="/path/to/lttng-ust-agent-jul.jar"])
0b7af945
MJ
673 fi
674 fi
675
839a9569
MJ
676 if test "x$test_java_agent_log4j" = "xyes"; then
677 # Check for Log4j agent class
678 AX_CHECK_CLASS(org.lttng.ust.agent.log4j.LttngLogAppender)
679 if test "x$ac_cv_class_org_lttng_ust_agent_log4j_LttngLogAppender" = "xno"; then
680 AC_MSG_ERROR([The UST Java agent Log4j class was not found. Please specify the location of the jar via the Java CLASSPATH e.g: export CLASSPATH="/path/to/lttng-ust-agent-log4j.jar"])
681 fi
0b7af945 682
839a9569
MJ
683 # Check for Log4j class
684 AX_CHECK_CLASS(org.apache.log4j.Logger)
685 if test "x$ac_cv_class_org_apache_log4j_Logger" = "xno"; then
686 AC_MSG_ERROR([The Log4j class was not found. Please specify the location of the jar via the Java CLASSPATH e.g: export CLASSPATH="/path/to/log4j.jar"])
687 fi
688 fi
689fi
37175ce4 690
a3eae3c9 691# enable building man pages (user's intention)
008559fa 692AC_ARG_ENABLE(
a3eae3c9 693 man-pages,
008559fa 694 AS_HELP_STRING(
a3eae3c9 695 [--disable-man-pages],
24c872d0 696 [Do not build and install man pages (already built in a distributed tarball)]
008559fa 697 ),
a3eae3c9
PP
698 [man_pages_opt=$enableval],
699 [man_pages_opt=yes]
008559fa
PP
700)
701
008559fa 702# check for asciidoc and xmlto if we enabled building the man pages
a3eae3c9 703have_asciidoc_xmlto=no
a24d43ae 704warn_prebuilt_man_pages=no
a3eae3c9
PP
705
706AS_IF([test "x$man_pages_opt" = "xyes"], [
008559fa
PP
707 AC_PATH_PROG([ASCIIDOC], [asciidoc], [no])
708 AC_PATH_PROG([XMLTO], [xmlto], [no])
709
710 AS_IF([test "x$ASCIIDOC" = "xno" || test "x$XMLTO" = "xno"], [
a3eae3c9
PP
711 AS_IF([test "x$in_git_repo" = "xyes"], [
712 # this is an error because we're in the Git repo, which
713 # means the man pages are not already generated for us,
714 # thus asciidoc/xmlto are required because we were asked
715 # to build the man pages
716 AC_MSG_ERROR([
fd3e1238 717You need asciidoc and xmlto to build the LTTng-tools man pages. Use
a3eae3c9
PP
718--disable-man-pages to disable building the man pages, in which case
719they will not be installed.
720 ])
721 ], [
722 # only warn here: since we're in the tarball, the man
723 # pages should already be generated at this point, thus
724 # asciidoc/xmlto are not strictly required
a24d43ae 725 warn_prebuilt_man_pages=yes
a3eae3c9
PP
726 ])
727 ], [
728 have_asciidoc_xmlto=yes
008559fa
PP
729 ])
730])
731
a3eae3c9
PP
732# export man page build condition: build the man pages if the user
733# asked for it, and if the tools are available
734AM_CONDITIONAL([MAN_PAGES_OPT], [test "x$man_pages_opt" != "xno"])
735AM_CONDITIONAL([HAVE_ASCIIDOC_XMLTO], [test "x$have_asciidoc_xmlto" = "xyes"])
736
f9c59cd0
MJ
737AC_DEFINE_UNQUOTED([MANPATH], ["`eval eval echo $mandir`"], [Path to man pages.])
738
4fc83d94
PP
739# embedded --help message
740AC_ARG_ENABLE(
741 [embedded-help],
742 AS_HELP_STRING(
743 [--enable-embedded-help],
744 [Embed the --help messages in the executable files]
745 ),
746 [embedded_help=$enableval],
747 [embedded_help=no]
748)
749AS_IF([test "x$embedded_help" = "xyes"], [
750 AS_IF([test "x$man_pages_opt" = "xno"], [
751 AC_MSG_ERROR([You need the --enable-man-pages option with the --enable-embedded-help option.])
752 ])
753 AC_PATH_PROG([man_prog_path], [man], [no])
754 AS_IF([test "x$man_prog_path" = "xno"], [
755 AC_MSG_ERROR([You need man with the --enable-embedded-help option.])
756 ])
757 AC_DEFINE_UNQUOTED([LTTNG_EMBED_HELP], 1, [Embed --help messages.])
758 AC_SUBST([MANPROG], [$man_prog_path])
759])
760AM_CONDITIONAL([EMBED_HELP], [test "x$embedded_help" != "xno"])
761
9586c198
JR
762# Python agent test
763UST_PYTHON_AGENT="lttngust"
764
765AC_ARG_ENABLE(test-python2-agent,
766 AS_HELP_STRING([--enable-test-python2-agent],
767 [enable tests for python2 agent. Python2 interpreter path can be overridden by setting the PYTHON2 environment variable. Default: Autodetect]
768 ),[:],[test_python2_agent_autodetect=yes]
769)
770
771AC_ARG_ENABLE(test-python3-agent,
772 AS_HELP_STRING([--enable-test-python3-agent],
773 [enable tests for python3 agent. Python3 interpreter path can be overridden by setting the PYTHON3 environment variable. Default: Autodetect]
774 ),[:],[test_python3_agent_autodetect=yes]
775)
776
777AC_ARG_ENABLE(test-python-agent-all,
778 AS_HELP_STRING([--enable-test-python-agent-all],
779 [enable test for all python{2/3} agent.]
780 ),
781)
782
783AS_IF([test ! -z "$enable_test_python_agent_all"], [
784 unset test_python2_agent_autodetect
785 unset test_python3_agent_autodetect
786])
787
788AS_IF([test "x$enable_test_python_agent_all" = "xyes"], [
789 enable_test_python2_agent=yes
790 enable_test_python3_agent=yes
791])
792
793AS_IF([test "x$enable_test_python_agent_all" = "xno"], [
794 enable_test_python2_agent=no
795 enable_test_python3_agent=no
796])
797
798
799AS_IF([test "x$enable_test_python2_agent" = "xyes" -o "x$test_python2_agent_autodetect" = "xyes" ], [
800 AS_IF([test -z "$PYTHON2"], [
801 PYTHON2=python2
802 ], [
803 AC_MSG_WARN([Using user-defined PYTHON2 ($PYTHON2) for lttng-ust python2 agent check])
804 ])
805
806 AC_PATH_PROG([PYTHON2_BIN],[$PYTHON2])
807 AS_IF([test -z "$PYTHON2_BIN"], [
808 AS_IF([test -z "$test_python2_agent_autodetect"],[
809 AC_MSG_ERROR([No python2 interpreter found. PYTHON2 can be set to override default interpreter path])
810 ])
811 ], [
812 AC_MSG_CHECKING([for python2 lttng-ust agent])
813 AS_IF([$PYTHON2_BIN -c "import $UST_PYTHON_AGENT" 2>/dev/null], [
814 PYTHON2_AGENT=$PYTHON2_BIN
815 AC_MSG_RESULT([yes])
816 RUN_PYTHON_AGENT_TEST=yes
817 ], [
818 AC_MSG_RESULT([no])
819 AS_IF([test -z "$test_python2_agent_autodetect"],[
820 AC_MSG_ERROR([No python2 agent found. The path to the agent can be specified by setting the PYTHONPATH environment variable.])
821 ])
822 ])
823
824 ])
825
826])
827
828AS_IF([test "x$enable_test_python3_agent" = "xyes" -o "x$test_python3_agent_autodetect" = "xyes" ], [
829 AS_IF([test -z "$PYTHON3"], [
830 PYTHON3=python3
831 ], [
832 AC_MSG_WARN([Using user-defined PYTHON3 ($PYTHON3) for lttng-ust python3 agent check])
833 ])
834
835 AC_PATH_PROG([PYTHON3_BIN],[$PYTHON3])
836 AS_IF([test -z "$PYTHON3_BIN"], [
837 AS_IF([test -z "$test_python3_agent_autodetect"],[
838 AC_MSG_ERROR([No python3 interpreter found. PYTHON3 can be set to override default interpreter path])
839 ])
840 ], [
841 AC_MSG_CHECKING([for python3 lttng-ust agent])
842 AS_IF([$PYTHON3_BIN -c "import $UST_PYTHON_AGENT" 2>/dev/null], [
843 PYTHON3_AGENT=$PYTHON3_BIN
844 AC_MSG_RESULT([yes])
845 RUN_PYTHON_AGENT_TEST=yes
846 ], [
847 AC_MSG_RESULT([no])
848 AS_IF([test -z "$test_python3_agent_autodetect"],[
849 AC_MSG_ERROR([No python3 agent found. The path to the agent can be specified by setting the PYTHONPATH environment variable.])
850 ])
851 ])
852
853 ])
854])
9586c198
JR
855AC_SUBST([RUN_PYTHON_AGENT_TEST])
856AC_SUBST([PYTHON2_AGENT])
857AC_SUBST([PYTHON3_AGENT])
858
c789d1be
MJ
859AC_ARG_ENABLE([test-sdt-uprobe],
860 [AS_HELP_STRING([--enable-test-sdt-uprobe], [enable the LTTng UST SDT uprobe tests [default=autodetect]])],
861 [test_sdt_uprobe="$enableval"],
862 [test_sdt_uprobe=autodetect]
863)
864
865AS_IF([test "$test_sdt_uprobe" != "no"], [
866 LTTNG_CHECK_SDT_WORKS
867 AC_PATH_PROG([DTRACE], [dtrace])
868])
869
870AS_IF([test "$test_sdt_uprobe" = "yes"], [
871 AS_IF([test "$lttng_cv_sdt_works" = "no"], [
872 AC_MSG_ERROR([Cannot find 'sys/sdt.h'.])
873 ])
874 AS_IF([test "x$DTRACE" = "x"], [
875 AC_MSG_ERROR([Cannot find SystemTap dtrace. You can set the DTRACE variable to override automatic detection.])
876 ])
877])
878
879AS_IF([test "$test_sdt_uprobe" = "autodetect"], [
880 AS_IF([test "$lttng_cv_sdt_works" = "yes"], [
881 AS_IF([test "x$DTRACE" != "x"], [
882 test_sdt_uprobe=yes
883 ])
884 ])
885])
886
887AM_CONDITIONAL([TEST_SDT_UPROBE], [test "$test_sdt_uprobe" = "yes"])
888
87fb9fc0
JR
889# Arguments for binaries build exclusion
890AC_ARG_ENABLE([bin-lttng], AS_HELP_STRING([--disable-bin-lttng],[Disable the build of lttng binaries]))
891AC_ARG_ENABLE([bin-lttng-consumerd], AS_HELP_STRING([--disable-bin-lttng-consumerd],
892 [Disable the build of lttng-consumerd binaries]))
893AC_ARG_ENABLE([bin-lttng-crash], AS_HELP_STRING([--disable-bin-lttng-crash],[Disable the build of lttng-crash binaries]))
894AC_ARG_ENABLE([bin-lttng-relayd], AS_HELP_STRING([--disable-bin-lttng-relayd],
895 [Disable the build of lttng-relayd binaries]))
896AC_ARG_ENABLE([bin-lttng-sessiond], AS_HELP_STRING([--disable-bin-lttng-sessiond],
897 [Disable the build of lttng-sessiond binaries]))
898AC_ARG_ENABLE([extras], AS_HELP_STRING([--disable-extras],
899 [Disable the build of the extra components]))
900
901
902# Always build libconfig since it a dependency of libcommon
903build_lib_config=yes
904
905build_lib_compat=no
906build_lib_consumer=no
907build_lib_hashtable=no
908build_lib_health=no
909build_lib_index=no
910build_lib_kernel_consumer=no
911build_lib_kernel_ctl=no
912build_lib_lttng_ctl=no
913build_lib_relayd=no
914build_lib_sessiond_comm=no
915build_lib_testpoint=no
916build_lib_ust_consumer=no
917
918# There is an overlap for enabled dependencies, but this makes everything
919# simpler. libcommon and libconfig are always compiled so they are not repeated
920# here.
921
922# Enable binary dependencies.
923AS_IF([test x$enable_bin_lttng != xno],
924 [
925 build_lib_lttng_ctl=yes
926 ]
927)
928
929AS_IF([test x$enable_bin_lttng_consumerd != xno],
930 [
931 build_lib_consumer=yes
932 build_lib_sessiond_comm=yes
933 build_lib_index=yes
934 build_lib_health=yes
935 build_lib_testpoint=yes
936 ]
937)
938
939AS_IF([test x$enable_bin_lttng_crash != xno],
940 # Do nothing since libconfig and libcommon are built by default.
941 []
942)
943
944AS_IF([test x$enable_bin_lttng_relayd != xno],
945 [
946 build_lib_lttng_ctl=yes
947 build_lib_sessiond_comm=yes
948 build_lib_hashtable=yes
949 build_lib_compat=yes
950 build_lib_index=yes
951 build_lib_health=yes
952 build_lib_testpoint=yes
953 ]
954)
955AS_IF([test x$enable_bin_lttng_sessiond != xno],
956 [
957 build_lib_lttng_ctl=yes
958 build_lib_sessiond_comm=yes
959 build_lib_kernel_ctl=yes
960 build_lib_hashtable=yes
961 build_lib_compat=yes
962 build_lib_relayd=yes
963 build_lib_testpoint=yes
964 build_lib_health=yes
87fb9fc0
JR
965 ]
966)
967
968# Libraries dependencies enabling
969AS_IF([test x$build_lib_lttng_ctl = xyes],
970 [
971 build_lib_sessiond_comm=yes
972 build_lib_hashtable=yes
973 ]
974)
975
976AS_IF([test x$build_lib_consumer = xyes],
977 [
978 build_lib_sessiond_comm=yes
979 build_lib_kernel_consumer=yes
980 build_lib_hashtable=yes
981 build_lib_compat=yes
982 build_lib_relayd=yes
5744bf89 983 AS_IF([test "x$with_lttng_ust" = "xyes"], [build_lib_ust_consumer=yes])
87fb9fc0
JR
984 ]
985)
986
987AS_IF([test x$build_lib_kernel_consumer = xyes],
988 [
989 build_lib_kernel_ctl=yes
990 build_lib_relayd=yes
991 ]
992)
993
994AS_IF([test x$build_lib_relayd = xyes],
995 [
996 build_lib_sessiond_comm=yes
997 ]
998)
999
373148e9
FG
1000# Find arch type
1001AS_CASE([$host_cpu],
1002 [k1om], [ARCHTYPE="x86"],
1003 [i386], [ARCHTYPE="x86"],
1004 [i486], [ARCHTYPE="x86"],
1005 [i586], [ARCHTYPE="x86"],
1006 [i686], [ARCHTYPE="x86"],
1007 [amd64], [ARCHTYPE="x86"],
1008 [x86_64], [ARCHTYPE="x86"],
1009 [powerpc], [ARCHTYPE="ppc"],
1010 [ppc64], [ARCHTYPE="ppc"],
1011 [powerpc64], [ARCHTYPE="ppc"],
1012 [powerpc64le], [ARCHTYPE="ppc"],
1013 [ppc], [ARCHTYPE="ppc"],
1014 [s390], [ARCHTYPE="s390"],
1015 [s390x], [ARCHTYPE="s390"],
1016 [sparc], [ARCHTYPE="sparc64"],
1017 [sparc64], [ARCHTYPE="sparc64"],
1018 [alpha*], [ARCHTYPE="alpha"],
1019 [ia64], [ARCHTYPE="ia64"],
1020 [arm*], [ARCHTYPE="arm"],
1021 [aarch64*], [ARCHTYPE="aarch64"],
1022 [mips*], [ARCHTYPE="mips"],
1023 [nios2*], [ARCHTYPE="nios2"],
1024 [tile*], [ARCHTYPE="tile"],
1025 [hppa*], [ARCHTYPE="hppa"],
1026 [m68k], [ARCHTYPE="m68k"],
1027 [riscv*], [ARCHTYPE="riscv"],
1028 [ARCHTYPE="unknown"]
1029)
1030
1031AC_SUBST(ARCHTYPE)
1032
1033AH_TEMPLATE([HAVE_MODULES_USERSPACE_CALLSTACK_CONTEXT], [Define if you have LTTng-modules userspace callstack tracing support])
1034AC_MSG_CHECKING([for architecture support of userspace callstack tracing from the kernel])
1035AS_IF([test "x$ARCHTYPE" = "xx86"],[
1036 # Userspace callstack capture is only supported by the Linux kernel on x86.
1037 AC_MSG_RESULT([yes])
1038 have_modules_userspace_callstack_context=yes
1039 AC_DEFINE([HAVE_MODULES_USERSPACE_CALLSTACK_CONTEXT], [1])
1040], [
1041 AC_MSG_RESULT([no])
1042 have_modules_userspace_callstack_context=no
1043])
1044AM_CONDITIONAL([HAVE_MODULES_USERSPACE_CALLSTACK_CONTEXT], [test x$have_modules_userspace_callstack_context != xno])
87fb9fc0
JR
1045
1046# Export binaries build conditions.
1047AM_CONDITIONAL([BUILD_BIN_LTTNG], [test x$enable_bin_lttng != xno])
1048AM_CONDITIONAL([BUILD_BIN_LTTNG_CONSUMERD], [test x$enable_bin_lttng_consumerd != xno])
1049AM_CONDITIONAL([BUILD_BIN_LTTNG_CRASH], [test x$enable_bin_lttng_crash != xno])
1050AM_CONDITIONAL([BUILD_BIN_LTTNG_RELAYD], [test x$enable_bin_lttng_relayd != xno])
1051AM_CONDITIONAL([BUILD_BIN_LTTNG_SESSIOND], [test x$enable_bin_lttng_sessiond != xno])
1052
1053# Export the tests and extras build conditions.
1054AS_IF([\
1055test "x$enable_bin_lttng" != "xno" && \
1056test "x$enable_bin_lttng_consumerd" != "xno" && \
1057test "x$enable_bin_lttng_crash" != "xno" && \
1058test "x$enable_bin_lttng_relayd" != "xno" && \
1059test "x$enable_bin_lttng_sessiond" != "xno"],
1060[build_tests=yes],
1061[build_tests=no]
1062)
1063
1064AM_CONDITIONAL([BUILD_TESTS], [test x$build_tests = xyes])
1065AM_CONDITIONAL([BUILD_EXTRAS], [test x$enable_extras != xno])
1066
1067# Export libraries build conditions.
1068AM_CONDITIONAL([BUILD_LIB_COMPAT], [test x$build_lib_compat = xyes])
1069AM_CONDITIONAL([BUILD_LIB_CONFIG], [test x$build_lib_config = xyes])
1070AM_CONDITIONAL([BUILD_LIB_CONSUMER], [test x$build_lib_consumer = xyes])
1071AM_CONDITIONAL([BUILD_LIB_HASHTABLE], [test x$build_lib_hashtable = xyes])
1072AM_CONDITIONAL([BUILD_LIB_HEALTH], [test x$build_lib_health = xyes])
1073AM_CONDITIONAL([BUILD_LIB_INDEX], [test x$build_lib_index = xyes])
1074AM_CONDITIONAL([BUILD_LIB_KERNEL_CONSUMER], [test x$build_lib_kernel_consumer = xyes])
1075AM_CONDITIONAL([BUILD_LIB_KERNEL_CTL], [test x$build_lib_kernel_ctl = xyes])
1076AM_CONDITIONAL([BUILD_LIB_LTTNG_CTL], [test x$build_lib_lttng_ctl = xyes])
1077AM_CONDITIONAL([BUILD_LIB_RELAYD], [test x$build_lib_relayd = xyes])
1078AM_CONDITIONAL([BUILD_LIB_SESSIOND_COMM], [test x$build_lib_sessiond_comm = xyes])
1079AM_CONDITIONAL([BUILD_LIB_TESTPOINT], [test x$build_lib_testpoint = xyes])
1080AM_CONDITIONAL([BUILD_LIB_UST_CONSUMER], [test x$build_lib_ust_consumer = xyes])
953192ba 1081
343af227
MJ
1082AM_CFLAGS="-Wall -fno-strict-aliasing $PTHREAD_CFLAGS"
1083AC_SUBST(AM_CFLAGS)
6e2d116c 1084
343af227
MJ
1085AM_CPPFLAGS="-I\$(top_srcdir)/include -I\$(top_builddir)/include -I\$(top_srcdir)/src -include config.h $AM_CPPFLAGS"
1086AC_SUBST(AM_CPPFLAGS)
6e2d116c
DG
1087
1088lttngincludedir="${includedir}/lttng"
6e2d116c 1089AC_SUBST(lttngincludedir)
a58c490f
JG
1090
1091lttngactionincludedir="${includedir}/lttng/action"
1092AC_SUBST(lttngactionincludedir)
1093
1094lttngconditionincludedir="${includedir}/lttng/condition"
1095AC_SUBST(lttngconditionincludedir)
1096
1097lttngnotificationincludedir="${includedir}/lttng/notification"
1098AC_SUBST(lttngnotificationincludedir)
1099
1100lttngtriggerincludedir="${includedir}/lttng/trigger"
1101AC_SUBST(lttngtriggerincludedir)
1102
386418ba
MD
1103lttnglibexecdir="${libdir}/lttng/libexec"
1104AC_SUBST(lttnglibexecdir)
1105
fac6795d
DG
1106AC_CONFIG_FILES([
1107 Makefile
10a8a223 1108 doc/Makefile
6991b181 1109 doc/man/Makefile
c4ee4984 1110 doc/man/asciidoc-attrs.conf
fac6795d 1111 include/Makefile
36907cb5
DS
1112 extras/Makefile
1113 extras/bindings/Makefile
1114 extras/bindings/swig/Makefile
1115 extras/bindings/swig/python/Makefile
57f0bd0c 1116 extras/core-handler/Makefile
10a8a223
DG
1117 src/Makefile
1118 src/common/Makefile
1119 src/common/kernel-ctl/Makefile
1120 src/common/kernel-consumer/Makefile
c8fea79c 1121 src/common/consumer/Makefile
10a8a223
DG
1122 src/common/ust-consumer/Makefile
1123 src/common/hashtable/Makefile
1124 src/common/sessiond-comm/Makefile
d31efcff 1125 src/common/compat/Makefile
00e2e675 1126 src/common/relayd/Makefile
6242251b 1127 src/common/testpoint/Makefile
309167d2 1128 src/common/index/Makefile
55d09795 1129 src/common/health/Makefile
bac6245e 1130 src/common/config/Makefile
9c55c241 1131 src/common/string-utils/Makefile
10a8a223
DG
1132 src/lib/Makefile
1133 src/lib/lttng-ctl/Makefile
d00c599e 1134 src/lib/lttng-ctl/filter/Makefile
2c452d45 1135 src/lib/lttng-ctl/lttng-ctl.pc
10a8a223
DG
1136 src/bin/Makefile
1137 src/bin/lttng-consumerd/Makefile
1138 src/bin/lttng-sessiond/Makefile
b8aa1682 1139 src/bin/lttng-relayd/Makefile
10a8a223 1140 src/bin/lttng/Makefile
d7ba1388 1141 src/bin/lttng-crash/Makefile
fac6795d 1142 tests/Makefile
512eb148 1143 tests/destructive/Makefile
9ac429ef
CB
1144 tests/regression/Makefile
1145 tests/regression/kernel/Makefile
1146 tests/regression/tools/Makefile
1147 tests/regression/tools/streaming/Makefile
1148 tests/regression/tools/filtering/Makefile
1149 tests/regression/tools/health/Makefile
d946d662 1150 tests/regression/tools/tracefile-limits/Makefile
07b86b52 1151 tests/regression/tools/snapshots/Makefile
1b368955 1152 tests/regression/tools/live/Makefile
345121ec 1153 tests/regression/tools/exclusion/Makefile
e02b109b 1154 tests/regression/tools/save-load/Makefile
192ac418 1155 tests/regression/tools/save-load/configuration/Makefile
68270f0f 1156 tests/regression/tools/mi/Makefile
075ffe1f 1157 tests/regression/tools/wildcard/Makefile
4c80129b 1158 tests/regression/tools/crash/Makefile
eded6438 1159 tests/regression/tools/regen-metadata/Makefile
54cd6107 1160 tests/regression/tools/regen-statedump/Makefile
434f8068 1161 tests/regression/tools/notification/Makefile
09a783a8 1162 tests/regression/tools/rotation/Makefile
a9d0716c 1163 tests/regression/tools/base-path/Makefile
38225775 1164 tests/regression/tools/metadata/Makefile
9ac429ef
CB
1165 tests/regression/ust/Makefile
1166 tests/regression/ust/nprocesses/Makefile
1167 tests/regression/ust/high-throughput/Makefile
1168 tests/regression/ust/low-throughput/Makefile
1169 tests/regression/ust/before-after/Makefile
f5481aa9 1170 tests/regression/ust/buffers-pid/Makefile
a788a3ed 1171 tests/regression/ust/periodical-metadata-flush/Makefile
9ac429ef 1172 tests/regression/ust/multi-session/Makefile
3f7f208a 1173 tests/regression/ust/multi-lib/Makefile
9ac429ef
CB
1174 tests/regression/ust/overlap/Makefile
1175 tests/regression/ust/overlap/demo/Makefile
91c75285 1176 tests/regression/ust/linking/Makefile
43c28d50 1177 tests/regression/ust/daemon/Makefile
ee28adfb 1178 tests/regression/ust/exit-fast/Makefile
37bd6c8e 1179 tests/regression/ust/fork/Makefile
5836cdc2 1180 tests/regression/ust/libc-wrapper/Makefile
d4f53cc3 1181 tests/regression/ust/baddr-statedump/Makefile
c70c42cc 1182 tests/regression/ust/ust-dl/Makefile
37175ce4 1183 tests/regression/ust/java-jul/Makefile
504d4ace 1184 tests/regression/ust/java-log4j/Makefile
0e115563 1185 tests/regression/ust/python-logging/Makefile
568d7e2d 1186 tests/regression/ust/getcpu-override/Makefile
199800b2 1187 tests/regression/ust/clock-override/Makefile
10b56aef 1188 tests/regression/ust/type-declarations/Makefile
ced06804 1189 tests/regression/ust/rotation-destroy-flush/Makefile
de7e372e 1190 tests/regression/ust/blocking/Makefile
605ac758 1191 tests/stress/Makefile
81d029da 1192 tests/unit/Makefile
1501a7f3 1193 tests/unit/ini_config/Makefile
6faa26ca 1194 tests/perf/Makefile
86a96e6c
CB
1195 tests/utils/Makefile
1196 tests/utils/tap/Makefile
7e0cc23b
CB
1197 tests/utils/testapp/Makefile
1198 tests/utils/testapp/gen-ust-events/Makefile
591ee332 1199 tests/utils/testapp/gen-syscall-events-callstack/Makefile
ffb08a8c 1200 tests/utils/testapp/gen-ust-nevents/Makefile
5400d18f 1201 tests/utils/testapp/gen-ust-nevents-str/Makefile
030312cf 1202 tests/utils/testapp/gen-syscall-events/Makefile
b02dcdb8 1203 tests/utils/testapp/gen-ust-tracef/Makefile
a9c2df2b
FD
1204 tests/utils/testapp/userspace-probe-elf-binary/Makefile
1205 tests/utils/testapp/userspace-probe-elf-cxx-binary/Makefile
1206 tests/utils/testapp/userspace-probe-sdt-binary/Makefile
fac6795d
DG
1207])
1208
87fb9fc0 1209# Inject variable into python test script.
9586c198 1210AC_CONFIG_FILES([tests/regression/ust/python-logging/test_python_logging],[chmod +x tests/regression/ust/python-logging/test_python_logging])
6faa26ca
JD
1211# Inject LTTNG_TOOLS_BUILD_WITH_LIBPFM variable in test script.
1212AC_CONFIG_FILES([tests/perf/test_perf_raw],[chmod +x tests/perf/test_perf_raw])
bc1d8ca0 1213AC_CONFIG_FILES([tests/regression/ust/ust-dl/test_ust-dl],[chmod +x tests/regression/ust/ust-dl/test_ust-dl])
9586c198 1214
fac6795d 1215AC_OUTPUT
6299f964 1216
994dd8a4 1217#
87fb9fc0 1218# Mini-report on what will be built.
994dd8a4 1219#
994dd8a4 1220
9d8c7763
JG
1221PPRINT_INIT
1222PPRINT_SET_INDENT(1)
1223PPRINT_SET_TS(38)
1224
1225AS_ECHO
1226AS_ECHO("${PPRINT_COLOR_BLDBLU}LTTng-tools $PACKAGE_VERSION \"$version_name\"$PPRINT_COLOR_RST")
1227AS_ECHO
1228
1229AS_IF([test -n "$report_fold"], [
1230 AS_ECHO("`AS_ECHO("$version_description") | $report_fold -s`")
1231], [
1232 AS_ECHO("$version_description")
1233])
0e4cbe7e 1234
9d8c7763
JG
1235AS_ECHO
1236PPRINT_SUBTITLE([Features])
0e4cbe7e 1237
87fb9fc0 1238# Target architecture we're building for.
2d90c6c8 1239target_arch=$host_cpu
994dd8a4
AM
1240[
1241for f in $CFLAGS; do
1242 if test $f = "-m32"; then
1243 target_arch="32-bit"
1244 elif test $f = "-m64"; then
1245 target_arch="64-bit"
1246 fi
1247done
1248]
9d8c7763 1249PPRINT_PROP_STRING([Target architecture], $target_arch)
994dd8a4 1250
234170ac 1251# kmod enabled/disabled
83dcc026 1252test "x$with_kmod" != "xno" && value=1 || value=0
9d8c7763 1253PPRINT_PROP_BOOL([libkmod support], $value)
234170ac 1254
994dd8a4 1255# LTTng-UST enabled/disabled
5744bf89 1256test "x$with_lttng_ust" = "xyes" && value=1 || value=0
9d8c7763 1257PPRINT_PROP_BOOL([LTTng-UST support], $value)
55bed213 1258
9d8c7763
JG
1259AS_ECHO
1260PPRINT_SUBTITLE([Binaries])
87fb9fc0
JR
1261
1262# List binaries to be built
9d8c7763
JG
1263test x$enable_bin_lttng != xno && value=1 || value=0
1264PPRINT_PROP_BOOL([lttng], $value)
87fb9fc0 1265
9d8c7763
JG
1266test x$enable_bin_lttng_consumerd != xno && value=1 || value=0
1267PPRINT_PROP_BOOL([lttng-consumerd], $value)
87fb9fc0 1268
9d8c7763
JG
1269test x$enable_bin_lttng_crash != xno && value=1 || value=0
1270PPRINT_PROP_BOOL([lttng-crash], $value)
87fb9fc0 1271
9d8c7763
JG
1272test x$enable_bin_lttng_relayd != xno && value=1 || value=0
1273PPRINT_PROP_BOOL([lttng-relayd], $value)
87fb9fc0 1274
9d8c7763
JG
1275test x$enable_bin_lttng_sessiond != xno && value=1 || value=0
1276PPRINT_PROP_BOOL([lttng-sessiond], $value)
87fb9fc0 1277
9d8c7763
JG
1278# Extras
1279test x$enable_extras != xno && value=1 || value=0
1280AS_ECHO
1281PPRINT_SET_INDENT(0)
1282PPRINT_PROP_BOOL([Extras], $value, $PPRINT_COLOR_SUBTITLE)
1283PPRINT_SET_INDENT(1)
87fb9fc0 1284
9d8c7763
JG
1285AS_ECHO
1286PPRINT_SUBTITLE([Tests])
87fb9fc0
JR
1287
1288# Print clear message that tests won't be built
1289AS_IF([test "x$build_tests" = "xno"],[
9d8c7763 1290 PPRINT_WARN([Tests won't be built since some binaries were disabled])
87fb9fc0
JR
1291])
1292
839a9569 1293# LTTng UST Java agent JUL tests enabled/disabled
9d8c7763
JG
1294test "x$test_java_agent_jul" = "xyes" && value=1 || value=0
1295PPRINT_PROP_BOOL([LTTng-UST Java agent JUL tests], $value)
839a9569
MJ
1296
1297# LTTng UST Java agent Log4j tests enabled/disabled
9d8c7763
JG
1298test "x$test_java_agent_log4j" = "xyes" && value=1 || value=0
1299PPRINT_PROP_BOOL([LTTng-UST Java agent Log4j tests], $value)
839a9569 1300
9d8c7763
JG
1301test ! -z "$PYTHON2_AGENT" && value=1 || value=0
1302PPRINT_PROP_BOOL([LTTng-UST Python2 agent tests], $value)
9586c198 1303
9d8c7763
JG
1304test ! -z "$PYTHON3_AGENT" && value=1 || value=0
1305PPRINT_PROP_BOOL([LTTng-UST Python3 agent tests], $value)
008559fa 1306
c789d1be
MJ
1307# LTTng UST Java agent Log4j tests enabled/disabled
1308test "x$test_sdt_uprobe" = "xyes" && value=1 || value=0
1309PPRINT_PROP_BOOL([LTTng-UST SDT uprobe tests], $value)
1310
36907cb5 1311#Python binding enabled/disabled
e9c45a26 1312test "x$enable_python_binding" = xyes && value=1 || value=0
9d8c7763
JG
1313AS_ECHO
1314PPRINT_SET_INDENT(0)
1315PPRINT_PROP_BOOL([Python binding], $value, $PPRINT_COLOR_SUBTITLE)
008559fa
PP
1316
1317# man pages build enabled/disabled
a3eae3c9
PP
1318m4_pushdef([build_man_pages_msg], [Build and install man pages])
1319
1320AS_IF([test "x$man_pages_opt" != "xno"], [
008559fa 1321 AS_IF([test "x$in_git_repo" = "xyes"], [
a3eae3c9 1322 PPRINT_PROP_BOOL([build_man_pages_msg], 1, $PPRINT_COLOR_SUBTITLE)
008559fa 1323 ], [
a3eae3c9
PP
1324 AS_IF([test "x$have_asciidoc_xmlto" = "xyes"], [
1325 PPRINT_PROP_BOOL([build_man_pages_msg], 1, $PPRINT_COLOR_SUBTITLE)
1326 ], [
1327 PPRINT_PROP_STRING([build_man_pages_msg],
1328 [${PPRINT_COLOR_BLDGRN}yes (already built)],
1329 $PPRINT_COLOR_SUBTITLE)
1330 ])
008559fa 1331 ])
a3eae3c9
PP
1332], [
1333 PPRINT_PROP_BOOL([build_man_pages_msg], 0, $PPRINT_COLOR_SUBTITLE)
008559fa
PP
1334])
1335
a3eae3c9
PP
1336m4_popdef([build_man_pages_msg])
1337
4fc83d94
PP
1338test "x$embedded_help" = xyes && value=1 || value=0
1339PPRINT_PROP_BOOL([Embed --help messages], $value, $PPRINT_COLOR_SUBTITLE)
1340
a3eae3c9 1341PPRINT_SET_INDENT(1)
008559fa 1342
9d8c7763
JG
1343report_bindir="`eval eval echo $bindir`"
1344report_libdir="`eval eval echo $libdir`"
1345
1346# Print the bindir and libdir this `make install' will install into.
1347AS_ECHO
1348PPRINT_SUBTITLE([Install directories])
1349PPRINT_PROP_STRING([Binaries], [$report_bindir])
1350PPRINT_PROP_STRING([Libraries], [$report_libdir])
1351
1352AS_ECHO
1353PPRINT_SUBTITLE([Search directories])
008559fa
PP
1354
1355# If we build the sessiond, print the paths it will use
4601fcce 1356AS_IF([test "$SESSIOND_BIN" = ""],[
9d8c7763 1357 path="$report_bindir/lttng-sessiond"
4601fcce 1358],[
9d8c7763 1359 path="$SESSIOND_BIN"
4601fcce 1360])
9d8c7763 1361PPRINT_PROP_STRING([lttng-sessiond executable], [$path])
b8ec3da8 1362
4601fcce 1363AS_IF([test "$CONSUMERD32_BIN" = ""],[
9d8c7763 1364 path="`eval eval echo $lttnglibexecdir`/lttng-consumerd"
4601fcce 1365],[
9d8c7763 1366 path="$CONSUMERD32_BIN"
4601fcce 1367])
9d8c7763 1368PPRINT_PROP_STRING([32-bit lttng-consumerd executable], [$path])
994dd8a4 1369
4601fcce 1370AS_IF([test "$CONSUMERD32_LIBDIR" = ""],[
9d8c7763 1371 path="`eval eval echo $libdir`"
4601fcce 1372],[
9d8c7763 1373 path="$CONSUMERD32_LIBDIR"
4601fcce 1374])
9d8c7763 1375PPRINT_PROP_STRING([32-bit consumer libraries], [$path])
994dd8a4 1376
4601fcce 1377AS_IF([test "$CONSUMERD64_BIN" = ""],[
9d8c7763 1378 path="`eval eval echo $lttnglibexecdir`/lttng-consumerd"
4601fcce 1379],[
9d8c7763 1380 path="$CONSUMERD64_BIN"
4601fcce 1381])
9d8c7763 1382PPRINT_PROP_STRING([64-bit lttng-consumerd executable], [$path])
994dd8a4 1383
4601fcce 1384AS_IF([test "$CONSUMERD64_LIBDIR" = ""],[
9d8c7763 1385 path="`eval eval echo $libdir`"
4601fcce 1386],[
9d8c7763 1387 path="$CONSUMERD64_LIBDIR"
994dd8a4 1388])
9d8c7763 1389PPRINT_PROP_STRING([64-bit consumer libraries], [$path])
a24d43ae
PP
1390PPRINT_SET_INDENT(0)
1391
1392AS_IF([test "x$warn_prebuilt_man_pages" = "xyes" ], [
1393 AS_ECHO
1394 PPRINT_WARN([You need asciidoc and xmlto to build the LTTng-tools man pages.
1395
1396Note that the man pages are already built in this distribution tarball,
1397therefore asciidoc and xmlto are only needed if you intend to modify
1398their sources.
1399
1400Also note that the installed man pages will contain the project's
1401default command-line option and environment variable values.
1402
1403Use --disable-man-pages to completely disable building and installing
1404the man pages.])
1405])
This page took 0.120586 seconds and 4 git commands to generate.