Fix: Follow struct dirent allocation guidelines of READDIR(3)
[lttng-tools.git] / configure.ac
CommitLineData
5d5baaa3 1AC_PREREQ([2.64])
fbe833f7 2AC_INIT([lttng-tools],[2.7.0-pre],[jeremie.galarneau@efficios.com],[],[https://lttng.org])
fac6795d 3AC_CONFIG_AUX_DIR([config])
6e2d116c
DG
4AC_CANONICAL_TARGET
5AC_CANONICAL_HOST
fac6795d 6AC_CONFIG_MACRO_DIR([config])
0403d7c9 7AM_INIT_AUTOMAKE([foreign dist-bzip2 no-dist-gzip])
d34cd287 8AM_MAINTAINER_MODE([enable])
c615ee2f 9m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
fac6795d 10
81265501
MD
11# Compute minor/major/patchlevel version numbers
12AC_PROG_SED
13major_version=$(echo AC_PACKAGE_VERSION | sed 's/^\([[0-9]]\)*\.[[0-9]]*\.[[0-9]]*.*$/\1/')
14minor_version=$(echo AC_PACKAGE_VERSION | sed 's/^[[0-9]]*\.\([[0-9]]*\)\.[[0-9]]*.*$/\1/')
15patchlevel_version=$(echo AC_PACKAGE_VERSION | sed 's/^[[0-9]]*\.[[0-9]]*\.\([[0-9]]*\).*$/\1/')
16AC_SUBST([MAJOR_VERSION], [$major_version])
17AC_SUBST([MINOR_VERSION], [$minor_version])
18AC_SUBST([PATCHLEVEL_VERSION], [$patchlevel_version])
8eaee515
DG
19AC_DEFINE_UNQUOTED([VERSION_MAJOR], $major_version, [LTTng-Tools major version number])
20AC_DEFINE_UNQUOTED([VERSION_MINOR], $minor_version, [LTTng-Tools minor version number])
21AC_DEFINE_UNQUOTED([VERSION_PATCHLEVEL], $patchlevel_version, [LTTng-Tools patchlevel version number])
81265501 22
b82b3032
DG
23version_name="Gaia"
24version_description="From Benelux brewery in Montreal, the Gaia is a witbier with a cloudy light amber ale color. Aroma of coriander with floral hay notes is enchanting. Taste is also dominated by the very floral coriander note and some medium sweet malt notes."
0e4cbe7e
DG
25
26AC_DEFINE_UNQUOTED([VERSION_NAME], ["$version_name"], "")
27AC_DEFINE_UNQUOTED([VERSION_DESCRIPTION], ["$version_description"], "")
c6d4a597 28
3bd1e081
MD
29AC_CONFIG_HEADERS([include/config.h])
30
6bd5984c
CB
31AC_PROG_GREP
32# libtool link_all_deplibs fixup. See http://bugs.lttng.org/issues/321.
33AC_ARG_ENABLE(libtool-linkdep-fixup,
34 AS_HELP_STRING([--disable-libtool-linkdep-fixup],
35 [disable the libtool fixup for linking all dependent libraries (link_all_deplibs)]),
36 libtool_fixup=$enableval,
37 libtool_fixup=yes)
38
39AS_IF([test "x$libtool_fixup" = "xyes"],
40 [
41 libtool_m4="$srcdir/config/libtool.m4"
42 libtool_flag_pattern=".*link_all_deplibs\s*,\s*\$1\s*)"
43 AC_MSG_CHECKING([for occurence(s) of link_all_deplibs = no in $libtool_m4])
44 libtool_flag_pattern_count=$(grep -c "$libtool_flag_pattern\s*=\s*no" $libtool_m4)
45 AS_IF([test $libtool_flag_pattern_count -ne 0],
46 [
47 AC_MSG_RESULT([$libtool_flag_pattern_count])
48 AC_MSG_WARN([the detected libtool will not link all dependencies, forcing link_all_deplibs = unknown])
49 sed -i "s/\($libtool_flag_pattern\)\s*=\s*no/\1=unknown/g" $libtool_m4
50 ],
51 [
52 AC_MSG_RESULT([none])
53 ])
54 ])
55
347e0f14
CB
56AM_CONDITIONAL([NO_SHARED], [test x$enable_shared = xno])
57
fac6795d
DG
58AC_CHECK_HEADERS([ \
59 sys/types.h unistd.h fcntl.h string.h pthread.h limits.h \
60 signal.h stdlib.h sys/un.h sys/socket.h stdlib.h stdio.h \
d23e7e44
JR
61 getopt.h sys/ipc.h sys/shm.h popt.h grp.h arpa/inet.h \
62 netdb.h netinet/in.h paths.h stddef.h sys/file.h sys/ioctl.h \
63 sys/mount.h sys/param.h sys/time.h
fac6795d
DG
64])
65
b89ff596
JR
66# Basic functions check
67AC_CHECK_FUNCS([ \
68 atexit bzero clock_gettime dup2 fdatasync ftruncate \
69 gethostbyname gethostname getpagesize localtime_r memchr memset \
70 mkdir munmap putenv realpath rmdir socket strchr strcspn strdup \
71 strncasecmp strndup strpbrk strrchr strstr strtol strtoul \
72 strtoull \
73])
7d617f1d 74
0c95f5b2
DG
75# Babeltrace viewer check
76AC_ARG_WITH([babeltrace-bin],
77 AS_HELP_STRING([--with-babeltrace-bin],
78 [Location of the babeltrace viewer executable (including the filename)]),
79 [BABELTRACE_BIN="$withval"],
80 [BABELTRACE_BIN=''])
81AC_SUBST([BABELTRACE_BIN])
82
83# lttv-gui
84AC_ARG_WITH([lttv-gui-bin],
85 AS_HELP_STRING([--with-lttv-gui-bin],
86 [Location of the lttv GUI viewer executable (including the filename)]),
87 [LTTV_GUI_BIN="$withval"],
88 [LTTV_GUI_BIN=''])
89AC_SUBST([LTTV_GUI_BIN])
90
fc7a59ce
AM
91AC_ARG_WITH([consumerd32-bin],
92 AS_HELP_STRING([--with-consumerd32-bin],
93 [Location of the 32-bit consumerd executable (including the filename)]),
94 [CONSUMERD32_BIN="$withval"],
95 [CONSUMERD32_BIN=''])
96AC_SUBST([CONSUMERD32_BIN])
ebaeda94 97
fc7a59ce
AM
98AC_ARG_WITH([consumerd64-bin],
99 AS_HELP_STRING([--with-consumerd64-bin],
100 [Location of the 64-bit consumerd executable (including the filename)]),
101 [CONSUMERD64_BIN="$withval"],
102 [CONSUMERD64_BIN=''])
103AC_SUBST([CONSUMERD64_BIN])
ebaeda94
MD
104
105AC_ARG_WITH([consumerd32-libdir],
a4b279ba 106 AS_HELP_STRING([--with-consumerd32-libdir],
fc7a59ce 107 [Directory containing the 32-bit consumerd libraries]),
ebaeda94
MD
108 [CONSUMERD32_LIBDIR="$withval"],
109 [CONSUMERD32_LIBDIR=''])
110AC_SUBST([CONSUMERD32_LIBDIR])
111
ec029701 112AC_ARG_WITH([consumerd64-libdir],
a4b279ba 113 AS_HELP_STRING([--with-consumerd64-libdir],
fc7a59ce 114 [Directory containing the 64-bit consumerd libraries]),
ebaeda94
MD
115 [CONSUMERD64_LIBDIR="$withval"],
116 [CONSUMERD64_LIBDIR=''])
117AC_SUBST([CONSUMERD64_LIBDIR])
118
b8ec3da8
SM
119AC_ARG_WITH([sessiond-bin],
120 AS_HELP_STRING([--with-sessiond-bin],
121 [Location of the sessiond executable (including the filename)]),
122 [SESSIOND_BIN="$withval"],
123 [SESSIOND_BIN=''])
124AC_SUBST([SESSIOND_BIN])
125
d386c872
MD
126AC_ARG_WITH([lttng-system-rundir],
127 AS_HELP_STRING([--with-lttng-system-rundir],
128 [Location of the system directory where the system-wide lttng-sessiond runtime files are kept. The default is "/var/run/lttng".]),
129 [LTTNG_SYSTEM_RUNDIR="$withval"],
130 [LTTNG_SYSTEM_RUNDIR="/var/run/lttng"])
131AC_SUBST([LTTNG_SYSTEM_RUNDIR])
132
fb6f1fa2
YB
133AC_DEFINE_UNQUOTED([CONFIG_CONSUMERD32_BIN], "$CONSUMERD32_BIN", [Location of the 32-bit consumerd executable.])
134AC_DEFINE_UNQUOTED([CONFIG_CONSUMERD64_BIN], "$CONSUMERD64_BIN", [Location of the 64-bit consumerd executable])
135AC_DEFINE_UNQUOTED([CONFIG_CONSUMERD32_LIBDIR], "$CONSUMERD32_LIBDIR", [Search for consumerd 32-bit libraries in this location.])
136AC_DEFINE_UNQUOTED([CONFIG_CONSUMERD64_LIBDIR], "$CONSUMERD64_LIBDIR", [Search for consumerd 64-bit libraries in this location.])
0c95f5b2
DG
137AC_DEFINE_UNQUOTED([CONFIG_BABELTRACE_BIN], "$BABELTRACE_BIN", [Location of the babeltrace viewer executable.])
138AC_DEFINE_UNQUOTED([CONFIG_LTTV_GUI_BIN], "$LTTV_GUI_BIN", [Location of the lttv GUI viewer executable.])
b8ec3da8 139AC_DEFINE_UNQUOTED([CONFIG_SESSIOND_BIN], "$SESSIOND_BIN", [Location of the sessiond executable.])
d386c872 140AC_DEFINE_UNQUOTED([CONFIG_LTTNG_SYSTEM_RUNDIR], ["$LTTNG_SYSTEM_RUNDIR"], [LTTng system runtime directory])
43cadc7e 141
26296c48
JG
142if test "x$prefix" = "xNONE"; then
143 prefix=$ac_default_prefix
144fi
145CONFDIR=`eval echo $sysconfdir`
146AC_SUBST(CONFDIR)
147AC_DEFINE_UNQUOTED([CONFIG_LTTNG_SYSTEM_CONFIGDIR],"$CONFDIR", [LTTng system configuration directory.])
148
dcf266c0
JG
149AC_DEFINE_DIR([CONFIG_LTTNG_SYSTEM_DATADIR],[datadir], [LTTng system data directory.])
150
26296c48 151#
fac6795d
DG
152# Check for pthread
153AC_CHECK_LIB([pthread], [pthread_create], [],
154 [AC_MSG_ERROR([Cannot find libpthread. Use [LDFLAGS]=-Ldir to specify its location.])]
155)
156
157# Check libpopt
158AC_CHECK_LIB([popt], [poptGetContext], [],
159 [AC_MSG_ERROR([Cannot find libpopt. Use [LDFLAGS]=-Ldir to specify its location.])]
160)
161
3c038aa8 162AM_PATH_XML2(2.7.6, true, AC_MSG_ERROR(No supported version of libxml2 found.))
6c1494fd 163
ffe60014
DG
164# Check for libuuid
165AC_CHECK_LIB([uuid], [uuid_generate],
166[
167 AC_DEFINE_UNQUOTED([LTTNG_HAVE_LIBUUID], 1, [Has libuuid support.])
168 have_libuuid=yes
169],
170[
171 # libuuid not found, check for uuid_create in libc.
172 AC_CHECK_LIB([c], [uuid_create],
173 [
174 AC_DEFINE_UNQUOTED([LTTNG_HAVE_LIBC_UUID], 1, [Has libc uuid support.])
175 have_libc_uuid=yes
176 ],
177 [
178 AC_MSG_ERROR([Cannot find libuuid uuid_generate nor libc uuid_create. Use [LDFLAGS]=-Ldir to specify their location.])
179 ])
180]
181)
182AM_CONDITIONAL([LTTNG_BUILD_WITH_LIBUUID], [test "x$have_libuuid" = "xyes"])
183AM_CONDITIONAL([LTTNG_BUILD_WITH_LIBC_UUID], [test "x$have_libc_uuid" = "xyes"])
184
6e59ae26 185# URCU library version needed or newer
8bdee6e2 186liburcu_version=">= 0.8.0"
6e59ae26 187
3ffccaed 188# Check liburcu needed function calls
fac6795d 189AC_CHECK_DECL([cds_list_add], [],
8e12081b 190 [AC_MSG_ERROR([liburcu $liburcu_version or newer is needed])], [[#include <urcu/list.h>]]
fac6795d 191)
8bdee6e2
SM
192AC_CHECK_DECL([cds_wfcq_init], [],
193 [AC_MSG_ERROR([liburcu $liburcu_version or newer is needed])], [[#include <urcu/wfcqueue.h>]]
8e12081b 194)
8bdee6e2
SM
195AC_CHECK_DECL([cds_wfcq_dequeue_blocking], [],
196 [AC_MSG_ERROR([liburcu $liburcu_version or newer is needed])], [[#include <urcu/wfcqueue.h>]]
487cf67c 197)
8e12081b
DG
198AC_CHECK_DECL([futex_async], [],
199 [AC_MSG_ERROR([liburcu $liburcu_version or newer is needed])], [[#include <urcu/futex.h>]]
099e26bd 200)
3ffccaed
DG
201AC_CHECK_DECL([rcu_thread_offline], [],
202 [AC_MSG_ERROR([liburcu $liburcu_version or newer is needed])], [[#include <urcu.h>]]
203)
204AC_CHECK_DECL([rcu_thread_online], [],
205 [AC_MSG_ERROR([liburcu $liburcu_version or newer is needed])], [[#include <urcu.h>]]
206)
6e59ae26
DG
207AC_CHECK_DECL([caa_likely], [],
208 [AC_MSG_ERROR([liburcu $liburcu_version or newer is needed])], [[#include <urcu.h>]]
209)
e6b66098
YB
210#Function added in urcu 0.7.0
211AC_CHECK_DECL([cmm_smp_mb__before_uatomic_or], [],
212 [AC_MSG_ERROR([liburcu $liburcu_version or newer is needed])], [[#include <urcu.h>]]
213)
6e59ae26 214
234170ac
UTL
215# Check kmod library
216AC_ARG_WITH(kmod-prefix,
217 AS_HELP_STRING([--with-kmod-prefix=PATH],
218 [Specify the installation prefix of the kmod library.
219 Headers must be in PATH/include; libraries in PATH/lib.]),
220 [
221 CPPFLAGS="$CPPFLAGS -I${withval}/include"
222 LDFLAGS="$LDFLAGS -L${withval}/lib64 -L${withval}/lib"
223 ])
224
225AC_ARG_ENABLE(kmod,
226 AS_HELP_STRING([--disable-kmod],[build without kmod support]),
227 kmod_support=zz$enableval, kmod_support=yes)
228
229AS_IF([test "x$kmod_support" = "xyes"], [
230 AC_CHECK_LIB([kmod], [kmod_module_probe_insert_module],
231 [
232 AC_DEFINE([HAVE_KMOD], [1], [has kmod support])
233 LIBS="$LIBS -lkmod"
234 kmod_found=yes
235 ],
236 kmod_found=no
237 )
238])
239AM_CONDITIONAL([HAVE_KMOD], [test "x$kmod_found" = xyes])
240
b91dd016
SS
241AC_ARG_WITH(lttng-ust-prefix,
242 AS_HELP_STRING([--with-lttng-ust-prefix=PATH],
243 [Specify the installation prefix of the lttng-ust library.
244 Headers must be in PATH/include; libraries in PATH/lib.]),
245 [
246 CPPFLAGS="$CPPFLAGS -I${withval}/include"
247 LDFLAGS="$LDFLAGS -L${withval}/lib64 -L${withval}/lib"
248 ])
249
74d0b642
MD
250# Check liblttng-ust-ctl library
251AC_ARG_ENABLE(lttng-ust,
6299f964 252 AS_HELP_STRING([--disable-lttng-ust],[build without LTTng-UST (Userspace Tracing) support]),
0e636c80 253 lttng_ust_support=$enableval, lttng_ust_support=yes)
74d0b642 254
6299f964 255AS_IF([test "x$lttng_ust_support" = "xyes"], [
b33f11e2 256 AC_CHECK_LIB([lttng-ust-ctl], [ustctl_recv_channel_from_consumer],
082d0908
CB
257 [
258 AC_DEFINE([HAVE_LIBLTTNG_UST_CTL], [1], [has LTTng-UST control support])
259 lttng_ust_ctl_found=yes
260 ],
b33f11e2 261 [AC_MSG_ERROR([Cannot find LTTng-UST >= 2.2.x. Use --with-lttng-ust-prefix=PREFIX to specify its location, or specify --disable-lttng-ust to build lttng-tools without LTTng-UST support.])],
0d8f86e9 262 [-lurcu-common -lurcu-bp -lurcu-cds -lrt -ldl]
74d0b642 263 )
6299f964 264])
082d0908 265AM_CONDITIONAL([HAVE_LIBLTTNG_UST_CTL], [test "x$lttng_ust_ctl_found" = xyes])
281047b8 266AC_CHECK_FUNCS([sched_getcpu sysconf sync_file_range])
f6a9efaa 267
6816a5cb
MD
268# check for dlopen
269AC_CHECK_LIB([dl], [dlopen],
270[
271 have_libdl=yes
272],
273[
274 #libdl not found, check for dlopen in libc.
275 AC_CHECK_LIB([c], [dlopen],
276 [
277 have_libc_dl=yes
278 ],
279 [
280 AC_MSG_ERROR([Cannot find dlopen in libdl nor libc. Use [LDFLAGS]=-Ldir to specify their location.])
281 ])
282])
283AM_CONDITIONAL([LTTNG_TOOLS_BUILD_WITH_LIBDL], [test "x$have_libdl" = "xyes"])
284AM_CONDITIONAL([LTTNG_TOOLS_BUILD_WITH_LIBC_DL], [test "x$have_libc_dl" = "xyes"])
285
53a80697
MD
286# Check for fmemopen
287AC_CHECK_LIB([c], [fmemopen],
288[
289 AC_DEFINE_UNQUOTED([LTTNG_HAVE_FMEMOPEN], 1, [Has fmemopen support.])
290]
291)
292
293# Check for open_memstream
294AC_CHECK_LIB([c], [open_memstream],
295[
296 AC_DEFINE_UNQUOTED([LTTNG_HAVE_OPEN_MEMSTREAM], 1, [Has open_memstream support.])
297]
298)
299
ceb6ba51
DG
300AC_ARG_ENABLE([git-version],
301 [AC_HELP_STRING([--disable-git-version],
302 [Do not use the git version for the build])],
4c6ac053 303 [have_git_version=$enableval], [have_git_version=yes]
ceb6ba51 304)
4c6ac053
MD
305
306AM_CONDITIONAL([LTTNG_TOOLS_BUILD_GIT_SOURCE],
307 [test "x${have_git_version}" = "xyes"])
ceb6ba51 308
36907cb5
DS
309# For Python
310# SWIG version needed or newer:
311swig_version=2.0.0
312
313AC_ARG_ENABLE([python-bindings],
314 [AC_HELP_STRING([--enable-python-bindings],
315 [compile Python bindings])],
316 [enable_python=yes], [enable_python=no])
317
318AM_CONDITIONAL([USE_PYTHON], [test "x${enable_python:-yes}" = xyes])
319
320if test "x${enable_python:-yes}" = xyes; then
321 AX_PKG_SWIG($swig_version, [], [ AC_MSG_ERROR([SWIG $swig_version or newer is needed]) ])
322 AM_PATH_PYTHON
323
324 AC_ARG_VAR([PYTHON_INCLUDE], [Include flags for python, bypassing python-config])
325 AC_ARG_VAR([PYTHON_CONFIG], [Path to python-config])
326 AS_IF([test -z "$PYTHON_INCLUDE"], [
327 AS_IF([test -z "$PYTHON_CONFIG"], [
328 AC_PATH_PROGS([PYTHON_CONFIG],
329 [python$PYTHON_VERSION-config python-config],
330 [no],
331 [`dirname $PYTHON`])
332 AS_IF([test "$PYTHON_CONFIG" = no], [AC_MSG_ERROR([cannot find python-config for $PYTHON. Do you have python-dev installed?])])
333 ])
334 AC_MSG_CHECKING([python include flags])
335 PYTHON_INCLUDE=`$PYTHON_CONFIG --includes`
336 AC_MSG_RESULT([$PYTHON_INCLUDE])
337 ])
338
339else
340 AC_MSG_NOTICE([You may configure with --enable-python-bindings ]dnl
341[if you want Python bindings.])
342
343fi
344
3ffccaed 345# Epoll check. If not present, the build will fallback on poll() API
71615260
DG
346AX_HAVE_EPOLL(
347 [AX_CONFIG_FEATURE_ENABLE(epoll)],
348 [AX_CONFIG_FEATURE_DISABLE(epoll)]
349)
71615260
DG
350AX_CONFIG_FEATURE(
351 [epoll], [This platform supports epoll(7)],
352 [HAVE_EPOLL], [This platform supports epoll(7).],
353 [enable_epoll="yes"], [enable_epoll="no"]
354)
71615260
DG
355AM_CONDITIONAL([COMPAT_EPOLL], [ test "$enable_epoll" = "yes" ])
356
37175ce4 357# Set compile flags to java include files if given. This is only used to
504d4ace 358# compile java agent tests.
37175ce4
DG
359AC_ARG_WITH([java-jdk],
360 [AS_HELP_STRING([--with-java-jdk=DIR],[use the Java JDK in DIR. Ex : $JAVA_HOME.])],
361 [JAVA_JDK=$withval],
362 [JAVA_JDK=""]
363)
364AM_CONDITIONAL([HAVE_JAVA_JDK], [test $JAVA_JDK], [Java JDK path])
365AC_SUBST([JAVA_JDK])
366
367AS_IF([test $JAVA_JDK],[
368 AS_IF([test -d $JAVA_JDK],
369 [
370 AC_MSG_RESULT([using Java includes in $JAVA_SDK])
371 SUBDIRS=`find $JAVA_JDK/include -type d`
372 CPPFLAGS+=" "
373 CPPFLAGS+=`for x in $SUBDIRS; do echo -n "-I$x "; done`
374 CPPFLAGS+=" "
375 ],[AC_MSG_ERROR(Unable to find Java include files in $JAVA_JDK)]
376 )
377])
378
504d4ace 379# Check for the UST agent jar file in the system. Hardcoded path is added here
37175ce4 380# since we have *no* idea where this could be installed. Note that this is only
504d4ace
DG
381# used for agent testing.
382AC_MSG_CHECKING(Java UST agent jar file)
383java_agent_jar_path="${prefix}/share/java/liblttng-ust-agent.jar"
384if test -f $java_agent_jar_path; then
385 build_java_agent=yes
37175ce4
DG
386 AC_MSG_RESULT(found)
387else
504d4ace 388 build_java_agent=no
37175ce4
DG
389 AC_MSG_RESULT(not found)
390fi
504d4ace
DG
391AM_CONDITIONAL([BUILD_JAVA_AGENT], [test "x$build_java_agent" = "xyes"])
392AC_SUBST([java_agent_jar_path])
393
394# Check for log4j support on the system to know if we can build or not the
395# log4j tests.
396if test "x$build_java_agent" = "xyes"; then
397 AC_MSG_CHECKING(Java agent support for log4j)
398 AX_JAVA_OPTIONS
399 AX_PROG_JAR
400 AX_PROG_JAVA
401 AX_PROG_JAVAC
402
403 # By default, use a commonly used classpath on the system to ease things up
404 # for the Java testing in this directory.
405 LOG4J_CLASSPATH="$java_agent_jar_path:$CLASSPATH:.:/usr/share/java/*"
406 JAVAFLAGS="-cp $LOG4J_CLASSPATH"
407 JAVACFLAGS="$JAVAFLAGS"
408 AX_CHECK_CLASS(org.apache.log4j.Logger)
409
410 if test "x$ac_cv_class_org_apache_log4j_Logger" = "xno"; then
411 build_java_log4j_agent=no
412 else
413 build_java_log4j_agent=yes
414 fi
415fi
416AM_CONDITIONAL([BUILD_JAVA_LOG4J_AGENT], [test "x$build_java_log4j_agent" = "xyes"])
37175ce4 417
c72b7d96 418AC_SYS_LARGEFILE
7d617f1d
JR
419
420# C compiler tests
fac6795d 421AC_PROG_CC
7d617f1d
JR
422AC_C_INLINE
423
7fb8a0cf
JR
424# Type availability checking
425AC_TYPE_INT32_T
426AC_TYPE_INT64_T
427AC_TYPE_MODE_T
428AC_TYPE_OFF_T
429AC_TYPE_PID_T
430AC_TYPE_SIZE_T
431AC_TYPE_SSIZE_T
432AC_TYPE_UID_T
433AC_TYPE_UINT16_T
434AC_TYPE_UINT32_T
435AC_TYPE_UINT64_T
436AC_TYPE_UINT8_T
437
3889a2d6 438LT_INIT
953192ba
MD
439AC_PROG_YACC
440AC_PROG_LEX
441
6ed49714
YB
442if test ! -f "$srcdir/src/lib/lttng-ctl/filter/filter-parser.h"; then
443 if test x"$YACC" != "xbison -y"; then
444 AC_MSG_ERROR([[bison not found and is required when building from git.
445 Please install bison]])
446 fi
926c87ac
JR
447 AC_PATH_PROG([BISON],[bison])
448 AX_PROG_BISON_VERSION([2.4], [],[
449 AC_MSG_ERROR([[Bison >= 2.4 is required when building from git]])
450 ])
6ed49714
YB
451fi
452
453if test ! -f "$srcdir/src/lib/lttng-ctl/filter/filter-lexer.c"; then
454 if test x"$LEX" != "xflex"; then
455 AC_MSG_ERROR([[flex not found and is required when building from git.
456 Please install flex]])
457 fi
ea70e634
JR
458 AC_PATH_PROG([FLEX],[flex])
459 AX_PROG_FLEX_VERSION([2.5.35], [],[
460 AC_MSG_ERROR([[Flex >= 2.5.35 is required when building from git]])
461 ])
6ed49714 462fi
fac6795d 463
6e2d116c
DG
464CFLAGS="-Wall $CFLAGS -g -fno-strict-aliasing"
465
c72b7d96 466DEFAULT_INCLUDES="-I\$(top_srcdir) -I\$(top_builddir) -I\$(top_builddir)/src -I\$(top_builddir)/include -include config.h"
6e2d116c
DG
467
468lttngincludedir="${includedir}/lttng"
469
470AC_SUBST(lttngincludedir)
471AC_SUBST(DEFAULT_INCLUDES)
472
386418ba
MD
473lttnglibexecdir="${libdir}/lttng/libexec"
474AC_SUBST(lttnglibexecdir)
475
fac6795d
DG
476AC_CONFIG_FILES([
477 Makefile
10a8a223 478 doc/Makefile
6991b181 479 doc/man/Makefile
fac6795d 480 include/Makefile
36907cb5
DS
481 extras/Makefile
482 extras/bindings/Makefile
483 extras/bindings/swig/Makefile
484 extras/bindings/swig/python/Makefile
57f0bd0c 485 extras/core-handler/Makefile
10a8a223
DG
486 src/Makefile
487 src/common/Makefile
488 src/common/kernel-ctl/Makefile
489 src/common/kernel-consumer/Makefile
490 src/common/ust-consumer/Makefile
491 src/common/hashtable/Makefile
492 src/common/sessiond-comm/Makefile
d31efcff 493 src/common/compat/Makefile
00e2e675 494 src/common/relayd/Makefile
6242251b 495 src/common/testpoint/Makefile
309167d2 496 src/common/index/Makefile
55d09795 497 src/common/health/Makefile
bac6245e 498 src/common/config/Makefile
10a8a223
DG
499 src/lib/Makefile
500 src/lib/lttng-ctl/Makefile
d00c599e 501 src/lib/lttng-ctl/filter/Makefile
2c452d45 502 src/lib/lttng-ctl/lttng-ctl.pc
10a8a223
DG
503 src/bin/Makefile
504 src/bin/lttng-consumerd/Makefile
505 src/bin/lttng-sessiond/Makefile
b8aa1682 506 src/bin/lttng-relayd/Makefile
10a8a223 507 src/bin/lttng/Makefile
d7ba1388 508 src/bin/lttng-crash/Makefile
fac6795d 509 tests/Makefile
9ac429ef
CB
510 tests/regression/Makefile
511 tests/regression/kernel/Makefile
512 tests/regression/tools/Makefile
513 tests/regression/tools/streaming/Makefile
514 tests/regression/tools/filtering/Makefile
515 tests/regression/tools/health/Makefile
d946d662 516 tests/regression/tools/tracefile-limits/Makefile
07b86b52 517 tests/regression/tools/snapshots/Makefile
1b368955 518 tests/regression/tools/live/Makefile
345121ec 519 tests/regression/tools/exclusion/Makefile
e02b109b 520 tests/regression/tools/save-load/Makefile
68270f0f 521 tests/regression/tools/mi/Makefile
9ac429ef
CB
522 tests/regression/ust/Makefile
523 tests/regression/ust/nprocesses/Makefile
524 tests/regression/ust/high-throughput/Makefile
525 tests/regression/ust/low-throughput/Makefile
526 tests/regression/ust/before-after/Makefile
f5481aa9 527 tests/regression/ust/buffers-pid/Makefile
a788a3ed 528 tests/regression/ust/periodical-metadata-flush/Makefile
9ac429ef
CB
529 tests/regression/ust/multi-session/Makefile
530 tests/regression/ust/overlap/Makefile
531 tests/regression/ust/overlap/demo/Makefile
91c75285 532 tests/regression/ust/linking/Makefile
43c28d50 533 tests/regression/ust/daemon/Makefile
ee28adfb 534 tests/regression/ust/exit-fast/Makefile
37bd6c8e 535 tests/regression/ust/fork/Makefile
5836cdc2 536 tests/regression/ust/libc-wrapper/Makefile
37175ce4 537 tests/regression/ust/java-jul/Makefile
504d4ace 538 tests/regression/ust/java-log4j/Makefile
0e115563 539 tests/regression/ust/python-logging/Makefile
605ac758 540 tests/stress/Makefile
81d029da 541 tests/unit/Makefile
1501a7f3 542 tests/unit/ini_config/Makefile
86a96e6c
CB
543 tests/utils/Makefile
544 tests/utils/tap/Makefile
7e0cc23b
CB
545 tests/utils/testapp/Makefile
546 tests/utils/testapp/gen-ust-events/Makefile
ffb08a8c 547 tests/utils/testapp/gen-ust-nevents/Makefile
b02dcdb8 548 tests/utils/testapp/gen-ust-tracef/Makefile
fac6795d
DG
549])
550
551AC_OUTPUT
6299f964 552
994dd8a4 553#
6299f964 554# Mini-report on what will be built
994dd8a4
AM
555#
556AS_ECHO()
557
0e4cbe7e
DG
558AS_ECHO("Version name: $version_name")
559AS_ECHO("$version_description")
560
561AS_ECHO()
562
994dd8a4 563# Target architecture we're building for
2d90c6c8 564target_arch=$host_cpu
994dd8a4
AM
565[
566for f in $CFLAGS; do
567 if test $f = "-m32"; then
568 target_arch="32-bit"
569 elif test $f = "-m64"; then
570 target_arch="64-bit"
571 fi
572done
573]
574AS_ECHO_N("Target architecture: ")
575AS_ECHO($target_arch)
576
234170ac
UTL
577# kmod enabled/disabled
578AS_ECHO_N("libkmod support: ")
579AS_IF([test "x$kmod_found" = "xyes"],[
580 AS_ECHO("Enabled")
581],[
582 AS_ECHO("Disabled")
583])
584
994dd8a4 585# LTTng-UST enabled/disabled
6299f964 586AS_ECHO_N("Lttng-UST support: ")
994dd8a4
AM
587AS_IF([test "x$lttng_ust_support" = "xyes"],[
588 AS_ECHO("Enabled")
589],[
590 AS_ECHO("Disabled")
591])
55bed213 592
36907cb5
DS
593#Python binding enabled/disabled
594AS_ECHO_N("Python binding: ")
595AS_IF([test "x${enable_python:-yes}" = xyes], [
596 AS_ECHO("Enabled")
597],[
598 AS_ECHO("Disabled")
599])
600
994dd8a4
AM
601# Do we build only the consumerd, or everything
602AS_IF([test "x$consumerd_only" = "xyes"],[
603 AS_ECHO("Only the consumerd daemon will be built.")
604],[
605 AS_ECHO("All binaries will be built.")
606])
607
5fb528f1
AM
608# Print the bindir and libdir this `make install' will install into.
609AS_ECHO()
610AS_ECHO_N("Binaries will be installed in: ")
611AS_ECHO("`eval eval echo $bindir`")
612AS_ECHO_N("Libraries will be installed in: ")
613AS_ECHO("`eval eval echo $libdir`")
614
994dd8a4
AM
615# If we build the sessiond, print the paths it will use
616AS_IF([test "x$consumerd_only" = "xno"],[
b8ec3da8
SM
617 AS_ECHO()
618 AS_ECHO_N("The lttng command will look for the lttng-sessiond executable at: ")
619 AS_IF([test "$SESSIOND_BIN" = ""],[
620 AS_ECHO_N("`eval eval echo $bindir`")
621 AS_ECHO("/lttng-sessiond")
622 ],[
623 AS_ECHO("$SESSIOND_BIN")
624 ])
625
994dd8a4
AM
626 AS_ECHO()
627 AS_ECHO("The sessiond daemon will look in the following directories: ")
628 AS_ECHO_N("32-bit consumerd executable at: ")
629 AS_IF([test "$CONSUMERD32_BIN" = ""],[
386418ba 630 AS_ECHO_N("`eval eval echo $lttnglibexecdir`")
994dd8a4
AM
631 AS_ECHO("/lttng-consumerd")
632 ],[
633 AS_ECHO("$CONSUMERD32_BIN")
634 ])
635
636 AS_ECHO_N("32-bit consumer libraries in: ")
637 AS_IF([test "$CONSUMERD32_LIBDIR" = ""],[
638 AS_ECHO("`eval eval echo $libdir`")
639 ],[
640 AS_ECHO("$CONSUMERD32_LIBDIR")
641 ])
642
643 AS_ECHO_N("64-bit consumerd executable at: ")
644 AS_IF([test "$CONSUMERD64_BIN" = ""],[
386418ba 645 AS_ECHO_N("`eval eval echo $lttnglibexecdir`")
994dd8a4
AM
646 AS_ECHO("/lttng-consumerd")
647 ],[
648 AS_ECHO("$CONSUMERD64_BIN")
649 ])
650
651 AS_ECHO_N("64-bit consumer libraries in: ")
652 AS_IF([test "$CONSUMERD64_LIBDIR" = ""],[
653 AS_ECHO("`eval eval echo $libdir`")
654 ],[
655 AS_ECHO("$CONSUMERD64_LIBDIR")
656 ])
657])
6299f964 658
994dd8a4 659AS_ECHO()
6299f964 660
This page took 0.07879 seconds and 5 git commands to generate.