Commit | Line | Data |
---|---|---|
9ffc0257 MJ |
1 | dnl Process this file with autoconf to produce a configure script. |
2 | dnl | |
3 | dnl Copyright (c) 2017 EfficiOS, Inc. | |
4 | dnl | |
5 | dnl Permission is hereby granted, free of charge, to any person obtaining a copy | |
6 | dnl of this software and associated documentation files (the "Software"), to deal | |
7 | dnl in the Software without restriction, including without limitation the rights | |
8 | dnl to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | |
9 | dnl copies of the Software, and to permit persons to whom the Software is | |
10 | dnl furnished to do so, subject to the following conditions: | |
11 | dnl | |
12 | dnl The above copyright notice and this permission notice shall be included in | |
13 | dnl all copies or substantial portions of the Software. | |
14 | dnl | |
15 | dnl THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | |
16 | dnl IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | |
17 | dnl FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | |
18 | dnl AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | |
19 | dnl LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | |
20 | dnl OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | |
21 | dnl SOFTWARE. | |
22 | ||
23 | ## ## | |
24 | ## Autoconf base setup ## | |
25 | ## ## | |
26 | ||
9d594903 | 27 | AC_PREREQ([2.50]) |
9ffc0257 | 28 | |
a2edfc7d PP |
29 | m4_define([bt_version_major], [2]) |
30 | m4_define([bt_version_minor], [0]) | |
31 | m4_define([bt_version_patch], [0]) | |
aac930e5 | 32 | m4_define([bt_version_extra], [-pre6]) |
a2edfc7d | 33 | m4_define([bt_version], bt_version_major[.]bt_version_minor[.]bt_version_patch[]bt_version_extra) |
9ffc0257 MJ |
34 | |
35 | AC_INIT([babeltrace], bt_version, [jeremie dot galarneau at efficios dot com], [], [https://efficios.com/babeltrace/]) | |
3fbccce7 MD |
36 | |
37 | # Following the numbering scheme proposed by libtool for the library version | |
38 | # http://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html | |
7e69c04f MJ |
39 | m4_define([bt_lib_version_current], [0]) |
40 | m4_define([bt_lib_version_revision], [0]) | |
41 | m4_define([bt_lib_version_age], [0]) | |
42 | m4_define([bt_lib_version], bt_lib_version_current[:]bt_lib_version_revision[:]bt_lib_version_age) | |
43 | ||
44 | AC_SUBST([BABELTRACE_LIBRARY_VERSION], bt_lib_version) | |
3fbccce7 | 45 | |
578e048b | 46 | AC_CONFIG_HEADERS([src/common/config.h]) |
ac65e355 | 47 | AC_CONFIG_AUX_DIR([config]) |
80e2fb15 | 48 | AC_CONFIG_MACRO_DIR([m4]) |
9ffc0257 | 49 | AC_REQUIRE_AUX_FILE([tap-driver.sh]) |
80e2fb15 | 50 | |
7e69c04f MJ |
51 | AC_DEFINE([BT_VERSION_MAJOR], bt_version_major, [Babeltrace major version]) |
52 | AC_DEFINE([BT_VERSION_MINOR], bt_version_minor, [Babeltrace minor version]) | |
53 | AC_DEFINE([BT_VERSION_PATCH], bt_version_patch, [Babeltrace patch version]) | |
54 | AC_DEFINE([BT_VERSION_EXTRA], ["]bt_version_extra["], [Babeltrace extra version]) | |
a2edfc7d | 55 | |
ac65e355 MD |
56 | AC_CANONICAL_TARGET |
57 | AC_CANONICAL_HOST | |
80e2fb15 | 58 | |
9ffc0257 MJ |
59 | |
60 | ## ## | |
61 | ## Automake base setup ## | |
62 | ## ## | |
63 | ||
05c03100 | 64 | AM_INIT_AUTOMAKE([foreign dist-bzip2 no-dist-gzip tar-ustar nostdinc]) |
99e3ba41 | 65 | AM_MAINTAINER_MODE([enable]) |
ac65e355 | 66 | |
80e2fb15 MJ |
67 | # Enable silent rules if available (Introduced in AM 1.11) |
68 | m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) | |
0671bd13 | 69 | |
3d5e9596 | 70 | |
9ffc0257 MJ |
71 | ## ## |
72 | ## OS specific defaults ## | |
73 | ## ## | |
74 | ||
75 | MINGW32=no | |
ca9f27f3 | 76 | DEFAULT_ENABLE_DEBUG_INFO=yes |
9ffc0257 MJ |
77 | LT_NO_UNDEFINED="" |
78 | AS_CASE([$host_os], | |
79 | [solaris*|darwin*], | |
80 | [ | |
81 | DEFAULT_ENABLE_DEBUG_INFO=no | |
82 | ], | |
83 | [cygwin*], | |
84 | [ | |
85 | DEFAULT_ENABLE_DEBUG_INFO=no | |
86 | LT_NO_UNDEFINED="-no-undefined" | |
87 | ], | |
88 | [mingw*], | |
89 | [ | |
90 | MINGW32=yes | |
91 | DEFAULT_ENABLE_DEBUG_INFO=no | |
92 | LT_NO_UNDEFINED="-no-undefined" | |
93 | ] | |
94 | ) | |
95 | ||
96 | AM_CONDITIONAL([BABELTRACE_BUILD_WITH_MINGW], [test "x$MINGW32" = "xyes"]) | |
97 | AC_SUBST(LT_NO_UNDEFINED) | |
98 | ||
99 | ||
100 | ## ## | |
101 | ## C compiler checks ## | |
102 | ## ## | |
103 | ||
80e2fb15 | 104 | AC_USE_SYSTEM_EXTENSIONS |
217108a9 | 105 | AC_SYS_LARGEFILE |
9ffc0257 MJ |
106 | |
107 | # Choose the c compiler | |
80e2fb15 | 108 | AC_PROG_CC |
217108a9 | 109 | |
9ffc0257 MJ |
110 | # Make sure the c compiler supports C99 |
111 | AC_PROG_CC_C99([], [AC_MSG_ERROR([The compiler does not support C99])]) | |
ac65e355 | 112 | |
9ffc0257 | 113 | # Make sure the c compiler supports __attributes__ |
ec8add54 | 114 | AX_C___ATTRIBUTE__ |
9ffc0257 MJ |
115 | AS_IF([test "x$ax_cv___attribute__" != "xyes"], |
116 | [AC_MSG_ERROR([The compiler does not support __attribute__ extensions])]) | |
ec8add54 | 117 | |
9ffc0257 MJ |
118 | # Make sur we have pthread support |
119 | AX_PTHREAD([], [AC_MSG_ERROR([Could not configure pthread support])]) | |
120 | ||
121 | # Checks for typedefs, structures, and compiler characteristics. | |
122 | AC_C_INLINE | |
123 | AC_C_TYPEOF | |
124 | AC_TYPE_PID_T | |
125 | AC_TYPE_SIZE_T | |
126 | AC_TYPE_INT16_T | |
127 | AC_TYPE_INT32_T | |
128 | AC_TYPE_INT64_T | |
129 | AC_TYPE_INT8_T | |
130 | AC_TYPE_OFF_T | |
131 | AC_TYPE_SSIZE_T | |
132 | AC_TYPE_UINT16_T | |
133 | AC_TYPE_UINT32_T | |
134 | AC_TYPE_UINT64_T | |
135 | AC_TYPE_UINT8_T | |
136 | AC_CHECK_TYPES([ptrdiff_t]) | |
a2bc83d4 | 137 | |
9ffc0257 MJ |
138 | |
139 | ## ## | |
140 | ## Header checks ## | |
141 | ## ## | |
f0d8d709 | 142 | |
f847f3ae MJ |
143 | AC_HEADER_STDBOOL |
144 | AC_CHECK_HEADERS([ \ | |
145 | fcntl.h \ | |
146 | float.h \ | |
e1f4c4f7 | 147 | ftw.h \ |
f847f3ae MJ |
148 | libintl.h \ |
149 | limits.h \ | |
150 | malloc.h \ | |
151 | netdb.h \ | |
152 | netinet/in.h \ | |
153 | stddef.h \ | |
154 | sys/socket.h \ | |
9ffc0257 | 155 | sys/time.h |
f847f3ae | 156 | ]) |
80e2fb15 | 157 | |
9ffc0257 MJ |
158 | |
159 | ## ## | |
160 | ## Linker checks ## | |
161 | ## ## | |
162 | ||
163 | # Check if the linker supports no-as-needed | |
164 | AX_APPEND_LINK_FLAGS([-Wl,--no-as-needed], [LD_NO_AS_NEEDED]) | |
165 | AC_SUBST([LD_NO_AS_NEEDED]) | |
166 | ||
1244e794 MJ |
167 | # Check if the linker supports whole-archive |
168 | AX_CHECK_LINK_FLAG([-Wl,--whole-archive,--no-whole-archive], | |
169 | [ | |
170 | AC_SUBST([LD_WHOLE_ARCHIVE], [-Wl,--whole-archive,]) | |
171 | AC_SUBST([LD_NO_WHOLE_ARCHIVE], [,--no-whole-archive]) | |
172 | ],[ | |
173 | # Fallback to force_load for the macOS linker | |
174 | AX_CHECK_LINK_FLAG([-Wl,-force_load], | |
175 | [ | |
176 | AC_SUBST([LD_WHOLE_ARCHIVE], [-Wl,-force_load,]) | |
177 | AC_SUBST([LD_NO_WHOLE_ARCHIVE], []) | |
178 | ],[ | |
179 | AC_MSG_WARN([Can't find a linker option to force the inclusion of the static plugin archive objects.]) | |
180 | ] | |
181 | ) | |
182 | ] | |
183 | ) | |
184 | ||
9ffc0257 MJ |
185 | # Initialize and configure libtool |
186 | LT_INIT([win32-dll]) | |
187 | ||
188 | ||
189 | ## ## | |
190 | ## Programs checks ## | |
191 | ## ## | |
192 | ||
193 | AC_PROG_MAKE_SET | |
194 | AC_PROG_MKDIR_P | |
195 | AC_PROG_LN_S | |
196 | ||
540d833d MJ |
197 | # set $IN_GIT_REPO if we're in the Git repository; the `bootstrap` file |
198 | # is not distributed in tarballs | |
199 | AS_IF([test -f "$srcdir/bootstrap"], [in_git_repo=yes], [in_git_repo=no]) | |
200 | AM_CONDITIONAL([IN_GIT_REPO], [test "x$in_git_repo" = "xyes"]) | |
201 | ||
202 | # check for bison | |
203 | AC_PROG_YACC | |
204 | AX_PROG_BISON_VERSION([2.4], [have_bison=yes]) | |
205 | ||
206 | AS_IF([test "x$have_bison" != "xyes"], [ | |
207 | AS_IF([test "x$in_git_repo" = "xyes"], [ | |
9ffc0257 | 208 | AC_MSG_FAILURE([dnl |
540d833d MJ |
209 | Bison >= 2.4 is required when building from the Git repository. You can |
210 | set the YACC variable to override automatic detection. | |
211 | ]) | |
212 | ], [ | |
9ffc0257 | 213 | AC_MSG_WARN([dnl |
540d833d MJ |
214 | Missing Bison >= 2.4. Note that the parser files are already built in |
215 | this distribution tarball, so Bison is only needed if you intend to | |
216 | modify their sources. You can set the YACC variable to override automatic | |
217 | detection. | |
218 | ]) | |
219 | ]) | |
220 | ]) | |
221 | AM_CONDITIONAL([HAVE_BISON], [test "x$have_bison" = "xyes"]) | |
222 | ||
223 | # check for flex | |
224 | AC_PROG_LEX | |
225 | AX_PROG_FLEX_VERSION([2.5.35], [have_flex=yes]) | |
226 | ||
227 | AS_IF([test "x$have_flex" != "xyes"], [ | |
228 | AS_IF([test "x$in_git_repo" = "xyes"], [ | |
9ffc0257 | 229 | AC_MSG_FAILURE([dnl |
540d833d MJ |
230 | Flex >= 2.5.35 is required when building from the Git repository. You can |
231 | set the LEX variable to override automatic detection. | |
232 | ]) | |
233 | ], [ | |
9ffc0257 | 234 | AC_MSG_WARN([dnl |
540d833d MJ |
235 | Missing Flex >= 2.5.35. Note that the lexer files are already built in |
236 | this distribution tarball, so Flex is only needed if you intend to | |
237 | modify their sources. You can set the LEX variable to override automatic | |
238 | detection. | |
239 | ]) | |
240 | ]) | |
241 | ]) | |
242 | AM_CONDITIONAL([HAVE_FLEX], [test "x$have_flex" = "xyes"]) | |
331d78f5 | 243 | |
e5f5317f | 244 | |
9ffc0257 MJ |
245 | ## ## |
246 | ## Library checks ## | |
247 | ## ## | |
ac65e355 | 248 | |
39fa4402 MJ |
249 | # Check what libraries are required on this platform to link sockets programs. |
250 | AX_LIB_SOCKET_NSL | |
251 | ||
9ffc0257 MJ |
252 | # Check for glib >= 2.22 with gmodule support |
253 | AM_PATH_GLIB_2_0([2.22.0], [], | |
254 | AC_MSG_ERROR([glib >= 2.22 is required - download it from ftp://ftp.gtk.org/pub/gtk]), | |
255 | [gmodule-no-export] | |
256 | ) | |
ac65e355 MD |
257 | |
258 | # Checks for library functions. | |
f847f3ae MJ |
259 | AC_FUNC_ALLOCA |
260 | AC_FUNC_FORK | |
f847f3ae | 261 | AC_FUNC_MKTIME |
ac65e355 | 262 | AC_FUNC_MMAP |
f847f3ae | 263 | AC_FUNC_STRERROR_R |
9ffc0257 | 264 | AC_FUNC_STRNLEN |
2f8c0e47 | 265 | AC_CHECK_FUNCS([ \ |
f847f3ae | 266 | atexit \ |
f847f3ae MJ |
267 | dup2 \ |
268 | ftruncate \ | |
269 | gethostbyname \ | |
f847f3ae MJ |
270 | gettimeofday \ |
271 | localtime_r \ | |
272 | memchr \ | |
273 | memset \ | |
274 | mkdir \ | |
275 | mkdtemp \ | |
276 | munmap \ | |
277 | rmdir \ | |
278 | setenv \ | |
279 | socket \ | |
280 | strchr \ | |
281 | strdup \ | |
282 | strerror \ | |
283 | strndup \ | |
284 | strnlen \ | |
285 | strrchr \ | |
9ffc0257 | 286 | strstr \ |
f847f3ae MJ |
287 | strtoul \ |
288 | strtoull \ | |
289 | tzset \ | |
2f8c0e47 | 290 | ]) |
ac65e355 | 291 | |
dc4cb410 MJ |
292 | # AC_FUNC_MALLOC causes problems when cross-compiling. |
293 | #AC_FUNC_MALLOC | |
294 | #AC_FUNC_REALLOC | |
295 | ||
60725cf9 MJ |
296 | # First, check for uuid in system libs |
297 | AH_TEMPLATE([BABELTRACE_HAVE_LIBUUID], [Define if you have libuuid support]) | |
4120f662 | 298 | AC_CHECK_FUNCS([uuid_generate], |
4120f662 | 299 | [ |
60725cf9 MJ |
300 | AC_DEFINE([BABELTRACE_HAVE_LIBUUID], [1]) |
301 | UUID_LIBS="" | |
4120f662 MJ |
302 | ], |
303 | [ | |
60725cf9 MJ |
304 | # Then, check if the pkg-config module is available, otherwise explicitly check |
305 | # for libuuid, or uuid support in the C-library. | |
306 | PKG_CHECK_MODULES([UUID], [uuid], | |
2741f55b | 307 | [ |
60725cf9 MJ |
308 | AC_DEFINE([BABELTRACE_HAVE_LIBUUID], [1]) |
309 | dnl PKG_CHECK_MODULES defines UUID_LIBS | |
2741f55b SM |
310 | ], |
311 | [ | |
60725cf9 MJ |
312 | 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]) |
313 | AC_MSG_WARN([Finding libuuid without pkg-config.]) | |
314 | AC_CHECK_LIB([uuid], [uuid_generate], | |
315 | [ | |
316 | AC_DEFINE([BABELTRACE_HAVE_LIBUUID], [1]) | |
317 | UUID_LIBS="-luuid" | |
318 | ], | |
319 | [ | |
320 | # libuuid not found, check for uuid_create in libc. | |
321 | AC_CHECK_LIB([c], [uuid_create], | |
322 | [ | |
323 | AC_DEFINE([BABELTRACE_HAVE_LIBUUID], [1]) | |
324 | UUID_LIBS="-lc" | |
325 | ], | |
326 | [ | |
327 | # for MinGW32 we have our own internal implementation of uuid using Windows functions. | |
9ffc0257 MJ |
328 | AS_IF([test "x$MINGW32" = xno], |
329 | [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])] | |
330 | ) | |
60725cf9 MJ |
331 | ] |
332 | ) | |
333 | ] | |
334 | ) | |
335 | ] | |
336 | ) | |
337 | ] | |
338 | ) | |
339 | AC_SUBST(UUID_LIBS) | |
fd55fc57 | 340 | |
f8370579 MD |
341 | # Check for fmemopen |
342 | AC_CHECK_LIB([c], [fmemopen], | |
9ffc0257 | 343 | [AC_DEFINE_UNQUOTED([BABELTRACE_HAVE_FMEMOPEN], 1, [Has fmemopen support.])] |
f8370579 MD |
344 | ) |
345 | ||
346 | # Check for open_memstream | |
347 | AC_CHECK_LIB([c], [open_memstream], | |
9ffc0257 | 348 | [AC_DEFINE_UNQUOTED([BABELTRACE_HAVE_OPEN_MEMSTREAM], 1, [Has open_memstream support.])] |
f8370579 MD |
349 | ) |
350 | ||
a323afb2 JG |
351 | # Check for posix_fallocate |
352 | AC_CHECK_LIB([c], [posix_fallocate], | |
9ffc0257 | 353 | [AC_DEFINE_UNQUOTED([BABELTRACE_HAVE_POSIX_FALLOCATE], 1, [Has posix_fallocate support.])] |
a323afb2 JG |
354 | ) |
355 | ||
4817cd5b MJ |
356 | # Check libpopt |
357 | PKG_CHECK_MODULES([POPT], [popt], | |
358 | [ | |
359 | dnl PKG_CHECK_MODULES defines POPT_LIBS | |
360 | ], | |
361 | [ | |
362 | 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]) | |
363 | AC_MSG_WARN([Finding libpopt without pkg-config.]) | |
364 | AC_CHECK_LIB([popt], | |
365 | [poptGetContext], | |
366 | [POPT_LIBS="-lpopt"], | |
367 | [ | |
368 | 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]) | |
369 | ] | |
370 | ) | |
371 | ] | |
0f536a74 | 372 | ) |
4817cd5b | 373 | AC_SUBST(POPT_LIBS) |
0f536a74 | 374 | |
9ffc0257 MJ |
375 | |
376 | ## ## | |
377 | ## User variables ## | |
378 | ## ## | |
379 | ||
380 | AC_ARG_VAR([PYTHON_INCLUDE], [Include flags for Python, bypassing python-config]) | |
381 | AC_ARG_VAR([PYTHON_LIBS], [Library flags for Python, bypassing python-config]) | |
382 | AC_ARG_VAR([PYTHON_CONFIG], [Path to python-config]) | |
383 | ||
384 | # PLUGINSDIR: Plugins directory | |
a12f3d62 MJ |
385 | AC_ARG_VAR([PLUGINSDIR], [built-in plugins install directory [LIBDIR/babeltrace2/plugins]]) |
386 | AS_IF([test "x$PLUGINSDIR" = x], [PLUGINSDIR='$(libdir)/babeltrace2/plugins']) | |
a094f13b | 387 | |
9ffc0257 MJ |
388 | # BABELTRACE_MINIMAL_LOG_LEVEL: |
389 | AC_ARG_VAR([BABELTRACE_MINIMAL_LOG_LEVEL], [Minimal log level for Babeltrace program, library, and plugins (VERBOSE, DEBUG, INFO, WARN, ERROR (default), FATAL, or NONE)]) | |
390 | AS_IF([test "x$BABELTRACE_MINIMAL_LOG_LEVEL" = x], [BABELTRACE_MINIMAL_LOG_LEVEL="VERBOSE"]) | |
391 | AS_IF([test "$BABELTRACE_MINIMAL_LOG_LEVEL" != "VERBOSE" && \ | |
392 | test "$BABELTRACE_MINIMAL_LOG_LEVEL" != "DEBUG" && \ | |
393 | test "$BABELTRACE_MINIMAL_LOG_LEVEL" != "INFO" && \ | |
394 | test "$BABELTRACE_MINIMAL_LOG_LEVEL" != "WARN" && \ | |
395 | test "$BABELTRACE_MINIMAL_LOG_LEVEL" != "ERROR" && \ | |
396 | test "$BABELTRACE_MINIMAL_LOG_LEVEL" != "FATAL" && \ | |
397 | test "$BABELTRACE_MINIMAL_LOG_LEVEL" != "NONE"], | |
398 | [AC_MSG_ERROR([Invalid BABELTRACE_MINIMAL_LOG_LEVEL value ($BABELTRACE_MINIMAL_LOG_LEVEL): use VERBOSE, DEBUG, INFO, WARN, ERROR, FATAL, or NONE.])] | |
399 | ) | |
400 | AC_DEFINE_UNQUOTED([BT_LOG_LEVEL], [BT_LOG_$BABELTRACE_MINIMAL_LOG_LEVEL], [Minimal log level]) | |
401 | ||
464ebc31 PP |
402 | # BABELTRACE_DEV_MODE: |
403 | AC_ARG_VAR([BABELTRACE_DEV_MODE], [Set to 1 to enable the Babeltrace developer mode (enables run-time checks for plugin developers)]) | |
404 | AS_IF([test "x$BABELTRACE_DEV_MODE" = x1], [ | |
405 | AS_IF([test "x$BABELTRACE_MINIMAL_LOG_LEVEL" = "xNONE"], [ | |
406 | AC_MSG_ERROR([Babeltrace developer mode (\$BABELTRACE_DEV_MODE) needs \$BABELTRACE_MINIMAL_LOG_LEVEL to be at least FATAL.]) | |
407 | ]) | |
408 | AC_DEFINE([BT_DEV_MODE], 1, [Babeltrace developer mode]) | |
409 | ], [BABELTRACE_DEV_MODE=0]) | |
410 | ||
411 | # BABELTRACE_DEBUG_MODE: | |
412 | AC_ARG_VAR([BABELTRACE_DEBUG_MODE], [Set to 1 to enable the Babeltrace debug mode (enables internal assertions for Babeltrace maintainers)]) | |
413 | AS_IF([test "x$BABELTRACE_DEBUG_MODE" = x1], [ | |
414 | AC_DEFINE([BT_DEBUG_MODE], 1, [Babeltrace debug mode]) | |
415 | ], [BABELTRACE_DEBUG_MODE=0]) | |
416 | ||
9ffc0257 MJ |
417 | |
418 | ## ## | |
419 | ## Optionnal features selection ## | |
420 | ## ## | |
24a3136a | 421 | |
9ffc0257 MJ |
422 | # Python bindings |
423 | # Disabled by default | |
94a6cea3 | 424 | AC_ARG_ENABLE([python-bindings], |
9ffc0257 MJ |
425 | [AC_HELP_STRING([--enable-python-bindings], [build the Python bindings])], |
426 | [], dnl AC_ARG_ENABLE will fill enable_python_bindings with the user choice | |
427 | [enable_python_bindings=no] | |
428 | ) | |
429 | ||
430 | # Python bindings documentation | |
431 | # Disabled by default | |
432 | AC_ARG_ENABLE([python-bindings-doc], | |
433 | [AC_HELP_STRING([--enable-python-bindings-doc], [build the Python bindings documentation])], | |
434 | [], dnl AC_ARG_ENABLE will fill enable_python_bindings_doc with the user choice | |
435 | [enable_python_bindings_doc=no] | |
436 | ) | |
437 | ||
9ffc0257 MJ |
438 | # Python plugins |
439 | # Disabled by default | |
440 | AC_ARG_ENABLE([python-plugins], | |
441 | [AC_HELP_STRING([--enable-python-plugins], [enable the Python plugins support for the library and converter])], | |
442 | [], dnl AC_ARG_ENABLE will fill enable_python_plugins with the user choice | |
443 | [enable_python_plugins=no] | |
444 | ) | |
445 | ||
446 | # Debug info | |
447 | # Enabled by default, except on some platforms | |
448 | AC_ARG_ENABLE([debug-info], | |
449 | [AC_HELP_STRING([--disable-debug-info], [disable the debug info support (default on macOS, Solaris and Windows)])], | |
450 | [], dnl AC_ARG_ENABLE will fill enable_debug_info with the user choice | |
451 | [enable_debug_info="$DEFAULT_ENABLE_DEBUG_INFO"] | |
452 | ) | |
453 | ||
454 | # API documentation | |
455 | # Disabled by default | |
456 | AC_ARG_ENABLE([api-doc], | |
457 | [AC_HELP_STRING([--enable-api-doc], [build the HTML API documentation])], | |
458 | [enable_api_doc=$enableval], | |
459 | [enable_api_doc=no] | |
460 | ) | |
461 | ||
462 | # Built-in plugins | |
463 | # Disabled by default | |
464 | AC_ARG_ENABLE([built-in-plugins], | |
ec2c5e50 | 465 | [AC_HELP_STRING([--enable-built-in-plugins], [Statically-link in-tree plug-ins into the babeltrace2 executable])], |
9ffc0257 MJ |
466 | [], dnl AC_ARG_ENABLE will fill enable_built_in_plugins with the user choice |
467 | [enable_built_in_plugins=no] | |
468 | ) | |
469 | ||
470 | # Built-in python plugin support | |
471 | # Disabled by default | |
472 | AC_ARG_ENABLE([built-in-python-plugin-support], | |
473 | [AC_HELP_STRING([--enable-built-in-python-plugin-support], [Statically-link Python plugin support into the babeltrace library])], | |
474 | [], dnl AC_ARG_ENABLE will fill enable_built_in_python_plugin_support with the user choice | |
475 | [enable_built_in_python_plugin_support=no] | |
476 | ) | |
477 | ||
0659f3af PP |
478 | # Man pages |
479 | # Enabled by default | |
480 | AC_ARG_ENABLE([man-pages], | |
481 | [AS_HELP_STRING([--disable-man-pages], [Do not build and install man pages (already built in a distributed tarball])], | |
482 | [], dnl AC_ARG_ENABLE will fill enable_built_in_plugins with the user choice | |
483 | [enable_man_pages=yes] | |
484 | ) | |
485 | ||
9ffc0257 MJ |
486 | |
487 | # Set automake variables for optionnal feature conditionnals in Makefile.am | |
488 | AM_CONDITIONAL([ENABLE_PYTHON_BINDINGS], [test "x$enable_python_bindings" = xyes]) | |
489 | AM_CONDITIONAL([ENABLE_PYTHON_BINDINGS_DOC], [test "x$enable_python_bindings_doc" = xyes]) | |
9ffc0257 MJ |
490 | AM_CONDITIONAL([ENABLE_PYTHON_PLUGINS], [test "x$enable_python_plugins" = xyes]) |
491 | AM_CONDITIONAL([ENABLE_DEBUG_INFO], [test "x$enable_debug_info" = xyes]) | |
492 | AM_CONDITIONAL([ENABLE_API_DOC], [test "x$enable_api_doc" = xyes]) | |
493 | AM_CONDITIONAL([ENABLE_BUILT_IN_PLUGINS], [test "x$enable_built_in_plugins" = xyes]) | |
494 | AM_CONDITIONAL([ENABLE_BUILT_IN_PYTHON_PLUGIN_SUPPORT], [test "x$enable_built_in_python_plugin_support" = xyes]) | |
0659f3af | 495 | AM_CONDITIONAL([ENABLE_MAN_PAGES], [test "x$enable_man_pages" = xyes]) |
9ffc0257 MJ |
496 | |
497 | ||
498 | # Set defines for optionnal features conditionnals in the source code | |
499 | ||
500 | ## jgalar: still used? | |
501 | AS_IF([test "x$enable_python_plugins" = xyes], | |
502 | [AC_DEFINE([PYTHON_PLUGINS], [1], [Python plugin support.])] | |
503 | ) | |
504 | ||
505 | AS_IF([test "x$enable_debug_info" = xyes], | |
506 | [AC_DEFINE([ENABLE_DEBUG_INFO], [1], [Define to 1 if you enable the 'debug info' feature])] | |
507 | ) | |
508 | ||
509 | AS_IF([test "x$enable_built_in_plugins" = xyes], | |
510 | [AC_DEFINE([BT_BUILT_IN_PLUGINS], [1], [Define to 1 to register plug-in attributes in static executable sections])] | |
511 | ) | |
512 | ||
513 | AS_IF([test "x$enable_built_in_python_plugin_support" = xyes], | |
514 | [AC_DEFINE([BT_BUILT_IN_PYTHON_PLUGIN_SUPPORT], [1], [Define to 1 to register plug-in attributes in static executable sections])] | |
515 | ) | |
516 | ||
0659f3af PP |
517 | AS_IF([test "x$enable_debug_info" = xyes], |
518 | [ENABLE_DEBUG_INFO_VAL=1], | |
519 | [ENABLE_DEBUG_INFO_VAL=0] | |
520 | ) | |
521 | ||
522 | AC_SUBST([ENABLE_DEBUG_INFO_VAL]) | |
523 | ||
9ffc0257 | 524 | |
811644b8 | 525 | # Check for conflicting optional features user choices |
9ffc0257 MJ |
526 | |
527 | AS_IF([test "x$enable_python_bindings" = xno], | |
528 | [ | |
529 | AS_IF([test "x$enable_python_bindings_doc" = xyes], [AC_MSG_ERROR([--enable-python-bindings-doc was specified without --enable-python-bindings])]) | |
9ffc0257 MJ |
530 | ] |
531 | ) | |
532 | ||
533 | AS_IF([test "x$enable_built_in_plugins" = xyes], | |
534 | [ | |
535 | # Built-in plug-ins are only available when the --disable-shared --enable-static options are used. | |
ec2c5e50 MJ |
536 | AS_IF([test "x$enable_static" != xyes], [AC_MSG_ERROR(--enable-static must be used to bundle plug-ins in the babeltrace2 executable)]) |
537 | AS_IF([test "x$enable_shared" = xyes], [AC_MSG_ERROR(--disable-shared must be used to bundle plug-ins in the babeltrace2 executable)]) | |
9ffc0257 MJ |
538 | ] |
539 | ) | |
540 | ||
541 | AS_IF([test "x$enable_built_in_python_plugin_support" = xyes], | |
542 | [ | |
ec2c5e50 | 543 | AS_IF([test "x$enable_python_plugins" = xno], [AC_MSG_ERROR([--enable-python-plugins must be used to bundle Python plugin support in the babeltrace2 executable])]) |
9ffc0257 | 544 | # Built-in plug-ins are only available when the --disable-shared --enable-static options are used. |
ec2c5e50 MJ |
545 | AS_IF([test "x$enable_static" != xyes], [AC_MSG_ERROR(--enable-static must be used to bundle Python plugin support in the babeltrace2 executable)]) |
546 | AS_IF([test "x$enable_shared" = xyes], [AC_MSG_ERROR(--disable-shared must be used to bundle Python plugin support in the babeltrace2 executable)]) | |
9ffc0257 | 547 | ] |
55bb57e0 | 548 | ) |
9cf643d1 | 549 | |
4f5f37d9 | 550 | |
9ffc0257 MJ |
551 | # Check for optionnal features dependencies |
552 | ||
553 | AS_IF([test "x$enable_python_bindings" = xyes], | |
554 | [AX_PKG_SWIG(2.0.0, [], [AC_MSG_ERROR([SWIG 2.0.0 or newer is required to build the python bindings])])] | |
555 | ) | |
556 | ||
557 | AS_IF([test "x$enable_python_bindings" = xyes || test "x$enable_python_plugins" = xyes], | |
558 | [ | |
559 | AM_PATH_PYTHON([3.0], [], [AC_MSG_ERROR(Python 3 is not available or is not the default Python interpreter on your system. See the README file to learn how to override your distribution's default Python interpreter.)]) | |
24a3136a | 560 | |
1b39e2de JG |
561 | AM_PATH_PYTHON_MODULES([PYTHON]) |
562 | # pythondir is the path where extra modules are to be installed | |
563 | pythondir=$PYTHON_PREFIX/$PYTHON_MODULES_PATH | |
564 | # pyexecdir is the path that contains shared objects used by the extra modules | |
565 | pyexecdir=$PYTHON_EXEC_PREFIX/$PYTHON_MODULES_PATH | |
24a3136a DS |
566 | AS_IF([test -z "$PYTHON_INCLUDE"], [ |
567 | AS_IF([test -z "$PYTHON_CONFIG"], [ | |
568 | AC_PATH_PROGS([PYTHON_CONFIG], | |
569 | [python$PYTHON_VERSION-config python-config], | |
570 | [no], | |
571 | [`dirname $PYTHON`]) | |
9ffc0257 | 572 | AS_IF([test "$PYTHON_CONFIG" = no], [AC_MSG_ERROR([cannot find python-config for $PYTHON. Is python-dev installed?])]) |
24a3136a | 573 | ]) |
55bb57e0 | 574 | AC_MSG_CHECKING([Python include flags]) |
24a3136a DS |
575 | PYTHON_INCLUDE=`$PYTHON_CONFIG --includes` |
576 | AC_MSG_RESULT([$PYTHON_INCLUDE]) | |
577 | ]) | |
55bb57e0 PP |
578 | AS_IF([test -z "$PYTHON_LIBS"], [ |
579 | AS_IF([test -z "$PYTHON_CONFIG"], [ | |
580 | AC_PATH_PROGS([PYTHON_CONFIG], | |
581 | [python$PYTHON_VERSION-config python-config], | |
582 | [no], | |
583 | [`dirname $PYTHON`]) | |
9ffc0257 | 584 | AS_IF([test "$PYTHON_CONFIG" = no], [AC_MSG_ERROR([cannot find python-config for $PYTHON. Is python-dev installed?])]) |
55bb57e0 PP |
585 | ]) |
586 | AC_MSG_CHECKING([Python library flags]) | |
587 | PYTHON_LIBS=`$PYTHON_CONFIG --libs` | |
588 | AC_MSG_RESULT([$PYTHON_LIBS]) | |
589 | ]) | |
9ffc0257 | 590 | ] |
55bb57e0 PP |
591 | ) |
592 | ||
9ffc0257 MJ |
593 | AS_IF([test "x$enable_python_bindings_doc" = xyes], |
594 | [ | |
17137804 PP |
595 | AM_CHECK_PYTHON_SPHINX([PYTHON]) |
596 | AS_IF([test "x$PYTHON_SPHINX_EXISTS" = xno], | |
9ffc0257 | 597 | [AC_MSG_ERROR([The Sphinx package for Python 3 is required to build the Python bindings documentation])] |
4f5f37d9 | 598 | ) |
9ffc0257 MJ |
599 | ] |
600 | ) | |
4f5f37d9 | 601 | |
9ffc0257 MJ |
602 | AS_IF([test "x$enable_debug_info" = xyes], |
603 | [ | |
604 | # Check if libelf and libdw are present | |
901e5c12 MJ |
605 | AC_CHECK_LIB([elf], [elf_version], [:], [AC_MSG_ERROR(Missing libelf (from elfutils >= 0.154) which is required by debug info. You can disable this feature using --disable-debug-info.)]) |
606 | AC_CHECK_LIB([dw], [dwarf_begin], [:], [AC_MSG_ERROR(Missing libdw (from elfutils >= 0.154) which is required by debug info. You can disable this feature using --disable-debug-info.)]) | |
9ffc0257 | 607 | BT_LIB_ELFUTILS([0], [154], [:], [AC_MSG_ERROR(elfutils >= 0.154 is required to use the debug info feature. You can disable this feature using --disable-debug-info.)]) |
901e5c12 | 608 | ELFUTILS_LIBS="-lelf -ldw" |
9ffc0257 MJ |
609 | ] |
610 | ) | |
901e5c12 | 611 | AC_SUBST([ELFUTILS_LIBS]) |
6fbd4105 | 612 | |
9ffc0257 MJ |
613 | AS_IF([test "x$enable_api_doc" = "xyes"], |
614 | [ | |
615 | DX_DOXYGEN_FEATURE(ON) | |
616 | DX_DOT_FEATURE(OFF) | |
617 | DX_HTML_FEATURE(ON) | |
618 | DX_CHM_FEATURE(OFF) | |
619 | DX_CHI_FEATURE(OFF) | |
620 | DX_MAN_FEATURE(OFF) | |
621 | DX_RTF_FEATURE(OFF) | |
622 | DX_XML_FEATURE(OFF) | |
623 | DX_PDF_FEATURE(OFF) | |
624 | DX_PS_FEATURE(OFF) | |
625 | DX_INIT_DOXYGEN([Babeltrace], [$(srcdir)/Doxyfile], [output]) | |
626 | AS_IF([test -z "$DX_DOXYGEN"], | |
627 | [AC_MSG_ERROR([You need doxygen to enable the API documentation])] | |
628 | ) | |
629 | ] | |
630 | ) | |
ac65e355 | 631 | |
0659f3af PP |
632 | have_asciidoc_xmlto=no |
633 | warn_prebuilt_man_pages=no | |
634 | ||
4a9f5414 MJ |
635 | AC_PATH_PROG([ASCIIDOC], [asciidoc], [no]) |
636 | AC_PATH_PROG([XMLTO], [xmlto], [no]) | |
0659f3af | 637 | |
4a9f5414 | 638 | AS_IF([test "x$enable_man_pages" = "xyes"], [ |
0659f3af PP |
639 | AS_IF([test "x$ASCIIDOC" = "xno" || test "x$XMLTO" = "xno"], [ |
640 | AS_IF([test "x$in_git_repo" = "xyes"], [ | |
641 | # this is an error because we're in the Git repo, which | |
642 | # means the man pages are not already generated for us, | |
643 | # thus asciixmlto are required because we were asked | |
644 | # to build the man pages | |
645 | AC_MSG_ERROR([ | |
646 | You need asciidoc and xmlto to build the Babeltrace man pages. Use | |
647 | --disable-man-pages to disable building the man pages, in which case | |
648 | they will not be installed. | |
649 | ]) | |
650 | ], [ | |
651 | # only warn here: since we're in the tarball, the man | |
652 | # pages should already be generated at this point, thus | |
653 | # asciidoc/xmlto are not strictly required | |
654 | warn_prebuilt_man_pages=yes | |
655 | ]) | |
656 | ], [ | |
657 | have_asciidoc_xmlto=yes | |
658 | ]) | |
659 | ]) | |
660 | ||
661 | # export AsciiDoc and xmlto existence | |
662 | AM_CONDITIONAL([HAVE_ASCIIDOC_XMLTO], [test "x$have_asciidoc_xmlto" = "xyes"]) | |
663 | ||
664 | # a wonderful hack that seems necessary because $libdir is | |
665 | # literally `${exec_prefix}/lib`, and $exec_prefix is set to `NONE` | |
666 | # by autoconf when it's not specified by the user | |
667 | AS_IF([test "x$exec_prefix" = xNONE], [ | |
668 | AS_IF([test "x$prefix" = xNONE], [ | |
669 | PREFIX="$ac_default_prefix" | |
670 | ], [ | |
671 | PREFIX="$prefix" | |
672 | ]) | |
673 | ||
674 | LIBDIR="$PREFIX/lib" | |
675 | ], [ | |
676 | LIBDIR="$libdir" | |
677 | ]) | |
678 | ||
679 | AC_SUBST(LIBDIR) | |
680 | ||
beb0fb75 | 681 | |
9ffc0257 | 682 | # Set global CFLAGS in AM_CFLAGS |
f9ddd099 | 683 | AM_CFLAGS="-Wall -Wformat -Werror=implicit-function-declaration $PTHREAD_CFLAGS $GLIB_CFLAGS" |
05c03100 | 684 | AC_SUBST(AM_CFLAGS) |
ac65e355 | 685 | |
9ffc0257 | 686 | # Set global CPPFLAGS in AM_CPPFLAGS |
578e048b | 687 | AM_CPPFLAGS="-I\$(top_srcdir)/include -I\$(top_builddir)/src -I\$(top_srcdir)/src -include common/config.h" |
05c03100 MJ |
688 | AC_SUBST(AM_CPPFLAGS) |
689 | ||
9ffc0257 | 690 | # Add glib to global link libs |
582e61bb | 691 | LIBS="$LIBS $GLIB_LIBS" |
38424656 | 692 | |
5b5959d4 MJ |
693 | # Check that the current size_t matches the size that glib thinks it should |
694 | # be. This catches problems on multi-arch where people try to do a 32-bit | |
695 | # build while pointing at 64-bit glib headers. This is a common error because | |
696 | # glib.h is not platform specific but it includes glibconfig.h which is and | |
697 | # is usually installed in a non-standard path. | |
698 | ||
3d130ada MJ |
699 | # Older versions of the pkg-config macros disallows PKG_* in the autoconf |
700 | # output. Specifically allow pkg_config_libdir to be able to print the | |
701 | # error message. | |
702 | m4_pattern_allow([PKG_CONFIG_LIBDIR]) | |
703 | ||
5b5959d4 MJ |
704 | save_CFLAGS=${CFLAGS} |
705 | CFLAGS="${CFLAGS} ${AM_CFLAGS}" | |
706 | AC_COMPILE_IFELSE([ | |
707 | AC_LANG_PROGRAM([dnl | |
708 | #include <glib.h> | |
709 | #include <unistd.h> | |
710 | ], [dnl | |
711 | G_STATIC_ASSERT(sizeof(size_t) == GLIB_SIZEOF_SIZE_T); | |
712 | ]) | |
713 | ],[:],[ | |
714 | AC_MSG_ERROR([dnl | |
715 | sizeof(size_t) doesn't match GLIB_SIZEOF_SIZE_T. You probably need to set | |
716 | PKG_CONFIG_LIBDIR to point to the right pkg-config files for your build | |
717 | target. | |
718 | ]) | |
719 | ]) | |
720 | CFLAGS=${save_CFLAGS} | |
721 | ||
9ffc0257 | 722 | # Abuse autoconf's AC_ARG_PROGRAM output variable 'program_transform_name' |
ec2c5e50 MJ |
723 | # to rename babeltrace2.bin to babeltrace2 at install time. |
724 | program_transform_name="s&babeltrace2\.bin&babeltrace2&;s&babeltrace2-log\.bin&babeltrace2-log&;$program_transform_name" | |
33b34c43 | 725 | AC_SUBST(program_transform_name) |
591999ca | 726 | |
ac65e355 | 727 | AC_CONFIG_FILES([ |
dc3fffef | 728 | doc/api/Doxyfile |
578e048b | 729 | doc/api/Makefile |
4f5f37d9 PP |
730 | doc/bindings/Makefile |
731 | doc/bindings/python/Makefile | |
f9ded0e0 | 732 | doc/contributing-images/Makefile |
578e048b MJ |
733 | doc/Makefile |
734 | doc/man/asciidoc-attrs.conf | |
735 | doc/man/Makefile | |
e92927d1 | 736 | include/Makefile |
578e048b MJ |
737 | Makefile |
738 | src/babeltrace2-ctf-writer.pc | |
739 | src/babeltrace2.pc | |
740 | src/bindings/Makefile | |
741 | src/bindings/python/bt2/bt2/__init__.py | |
742 | src/bindings/python/bt2/Makefile | |
743 | src/bindings/python/bt2/setup.py | |
744 | src/bindings/python/Makefile | |
745 | src/cli/Makefile | |
746 | src/common/Makefile | |
747 | src/compat/Makefile | |
748 | src/ctfser/Makefile | |
749 | src/ctf-writer/Makefile | |
750 | src/fd-cache/Makefile | |
751 | src/lib/graph/Makefile | |
752 | src/lib/graph/message/Makefile | |
753 | src/lib/Makefile | |
754 | src/lib/plugin/Makefile | |
755 | src/lib/prio-heap/Makefile | |
756 | src/lib/trace-ir/Makefile | |
757 | src/logging/Makefile | |
758 | src/Makefile | |
759 | src/plugins/ctf/common/bfcr/Makefile | |
760 | src/plugins/ctf/common/Makefile | |
761 | src/plugins/ctf/common/metadata/Makefile | |
762 | src/plugins/ctf/common/msg-iter/Makefile | |
763 | src/plugins/ctf/common/utils/Makefile | |
764 | src/plugins/ctf/fs-sink/Makefile | |
765 | src/plugins/ctf/fs-src/Makefile | |
766 | src/plugins/ctf/lttng-live/Makefile | |
767 | src/plugins/ctf/Makefile | |
768 | src/plugins/lttng-utils/debug-info/Makefile | |
769 | src/plugins/lttng-utils/Makefile | |
770 | src/plugins/Makefile | |
771 | src/plugins/text/dmesg/Makefile | |
772 | src/plugins/text/Makefile | |
773 | src/plugins/text/pretty/Makefile | |
774 | src/plugins/utils/counter/Makefile | |
775 | src/plugins/utils/dummy/Makefile | |
776 | src/plugins/utils/Makefile | |
777 | src/plugins/utils/muxer/Makefile | |
778 | src/plugins/utils/trimmer/Makefile | |
779 | src/python-plugin-provider/Makefile | |
331731aa | 780 | tests/ctf-writer/Makefile |
aa968dde | 781 | tests/lib/Makefile |
cbb9e0b1 | 782 | tests/lib/test-plugin-plugins/Makefile |
578e048b MJ |
783 | tests/Makefile |
784 | tests/plugins/Makefile | |
03f007c8 | 785 | tests/utils/common.sh |
1833a3d1 CB |
786 | tests/utils/Makefile |
787 | tests/utils/tap/Makefile | |
ac65e355 | 788 | ]) |
c41a7502 | 789 | |
7bb90dd0 | 790 | AC_CONFIG_FILES([tests/cli/test_intersection], [chmod +x tests/cli/test_intersection]) |
73d7fabb | 791 | AC_CONFIG_FILES([tests/cli/test_convert_args], [chmod +x tests/cli/test_convert_args]) |
b4c499ed | 792 | AC_CONFIG_FILES([tests/cli/test_output_ctf_metadata], [chmod +x tests/cli/test_output_ctf_metadata]) |
9ffc0257 MJ |
793 | AC_CONFIG_FILES([tests/cli/test_packet_seq_num], [chmod +x tests/cli/test_packet_seq_num]) |
794 | AC_CONFIG_FILES([tests/cli/test_trace_copy], [chmod +x tests/cli/test_trace_copy]) | |
795 | AC_CONFIG_FILES([tests/cli/test_trace_read], [chmod +x tests/cli/test_trace_read]) | |
796 | AC_CONFIG_FILES([tests/cli/test_trimmer], [chmod +x tests/cli/test_trimmer]) | |
331731aa | 797 | AC_CONFIG_FILES([tests/ctf-writer/test_ctf_writer], [chmod +x tests/ctf-writer/test_ctf_writer]) |
9ffc0257 | 798 | AC_CONFIG_FILES([tests/lib/test_plugin_complete], [chmod +x tests/lib/test_plugin_complete]) |
56e18c4c | 799 | AC_CONFIG_FILES([tests/lib/trace-ir/test_trace_ir], [chmod +x tests/lib/trace-ir/test_trace_ir]) |
d907165c | 800 | AC_CONFIG_FILES([tests/plugins/ctf/test_ctf_plugin], [chmod +x tests/plugins/ctf/test_ctf_plugin]) |
f651e984 | 801 | AC_CONFIG_FILES([tests/plugins/test_utils_muxer_complete], [chmod +x tests/plugins/test_utils_muxer_complete]) |
d8992d68 | 802 | AC_CONFIG_FILES([tests/plugins/test_lttng_utils_debug_info], [chmod +x tests/plugins/test_lttng_utils_debug_info]) |
48c91dde | 803 | AC_CONFIG_FILES([tests/plugins/test_dwarf_i386-linux-gnu], [chmod +x tests/plugins/test_dwarf_i386-linux-gnu]) |
5d30f567 | 804 | AC_CONFIG_FILES([tests/plugins/test_dwarf_powerpc-linux-gnu], [chmod +x tests/plugins/test_dwarf_powerpc-linux-gnu]) |
6d224992 | 805 | AC_CONFIG_FILES([tests/plugins/test_dwarf_powerpc64le-linux-gnu], [chmod +x tests/plugins/test_dwarf_powerpc64le-linux-gnu]) |
6a284733 | 806 | AC_CONFIG_FILES([tests/plugins/test_dwarf_x86_64-linux-gnu], [chmod +x tests/plugins/test_dwarf_x86_64-linux-gnu]) |
48c91dde | 807 | AC_CONFIG_FILES([tests/plugins/test_bin_info_i386-linux-gnu], [chmod +x tests/plugins/test_bin_info_i386-linux-gnu]) |
5d30f567 | 808 | AC_CONFIG_FILES([tests/plugins/test_bin_info_powerpc-linux-gnu], [chmod +x tests/plugins/test_bin_info_powerpc-linux-gnu]) |
6d224992 | 809 | AC_CONFIG_FILES([tests/plugins/test_bin_info_powerpc64le-linux-gnu], [chmod +x tests/plugins/test_bin_info_powerpc64le-linux-gnu]) |
6a284733 | 810 | AC_CONFIG_FILES([tests/plugins/test_bin_info_x86_64-linux-gnu], [chmod +x tests/plugins/test_bin_info_x86_64-linux-gnu]) |
c41a7502 | 811 | |
d85a1248 | 812 | AS_IF([test "x$enable_python_bindings" = xyes], |
b016b06b JG |
813 | [ |
814 | AC_CONFIG_FILES([tests/bindings/python/bt2/test_python_bt2], [chmod +x tests/bindings/python/bt2/test_python_bt2]) | |
d4b704b0 | 815 | AC_CONFIG_FILES([tests/utils/test_python_bt2_env], [chmod +x tests/utils/test_python_bt2_env]) |
b016b06b | 816 | ] |
9ffc0257 | 817 | ) |
9cf643d1 | 818 | |
4965530a | 819 | AS_IF([test "x$enable_python_plugins" = "xyes"], |
66e4fcb5 | 820 | [AC_CONFIG_FILES([tests/python-plugin-provider/test_python_plugin_provider], [chmod +x tests/python-plugin-provider/test_python_plugin_provider])] |
88b3fc9c | 821 | [AC_CONFIG_FILES([tests/python-plugin-provider/test_python_plugin_provider_env], [chmod +x tests/python-plugin-provider/test_python_plugin_provider_env])] |
4965530a PP |
822 | ) |
823 | ||
ac65e355 | 824 | AC_OUTPUT |
1a0399f9 MJ |
825 | |
826 | # | |
827 | # Mini-report on what will be built. | |
828 | # | |
829 | ||
830 | PPRINT_INIT | |
831 | PPRINT_SET_INDENT(1) | |
832 | PPRINT_SET_TS(38) | |
833 | ||
834 | AS_ECHO | |
835 | AS_ECHO("${PPRINT_COLOR_BLDBLU}Babeltrace $PACKAGE_VERSION$PPRINT_COLOR_RST") | |
836 | AS_ECHO | |
837 | ||
4266f2ad | 838 | PPRINT_SUBTITLE([System]) |
1a0399f9 MJ |
839 | |
840 | # Target architecture we're building for. | |
841 | target_arch=$host_cpu | |
842 | [ | |
843 | for f in $CFLAGS; do | |
844 | if test $f = "-m32"; then | |
845 | target_arch="32-bit" | |
846 | elif test $f = "-m64"; then | |
847 | target_arch="64-bit" | |
848 | fi | |
849 | done | |
850 | ] | |
beb0fb75 | 851 | |
4266f2ad | 852 | PPRINT_PROP_STRING([Target architecture], $target_arch) |
d1dab1d2 | 853 | |
4266f2ad PP |
854 | AS_ECHO |
855 | PPRINT_SUBTITLE([Python 3 language support]) | |
55bb57e0 | 856 | test "x$enable_python_bindings" = "xyes" && value=1 || value=0 |
1a0399f9 | 857 | PPRINT_PROP_BOOL([Python bindings], $value) |
55bb57e0 PP |
858 | test "x$enable_python_plugins" = "xyes" && value=1 || value=0 |
859 | PPRINT_PROP_BOOL([Python plugin support], $value) | |
4266f2ad PP |
860 | AS_IF([test "x$enable_python_bindings" = "xyes" || test "x$enable_python_plugins" = "xyes"], [ |
861 | PPRINT_PROP_STRING([Python include paths], [$PYTHON_INCLUDE]) | |
862 | PPRINT_PROP_STRING([Python libraries], [$PYTHON_LIBS]) | |
863 | ]) | |
55bb57e0 | 864 | |
4266f2ad PP |
865 | AS_ECHO |
866 | PPRINT_SUBTITLE([Plugins]) | |
867 | PPRINT_PROP_BOOL(['ctf' plugin], 1) | |
9ffc0257 | 868 | test "x$enable_debug_info" = "xyes" && value=1 || value=0 |
4266f2ad PP |
869 | PPRINT_PROP_BOOL(['lttng-utils' plugin], $value) |
870 | PPRINT_PROP_BOOL(['text' plugin], 1) | |
871 | PPRINT_PROP_BOOL(['utils' plugin], 1) | |
872 | ||
873 | AS_ECHO | |
874 | PPRINT_SUBTITLE([Built-in features]) | |
9ffc0257 | 875 | test "x$enable_built_in_plugins" = "xyes" && value=1 || value=0 |
4266f2ad | 876 | PPRINT_PROP_BOOL([Built-in plugins], $value) |
9ffc0257 | 877 | test "x$enable_built_in_python_plugin_support" = "xyes" && value=1 || value=0 |
6fbd4105 PP |
878 | PPRINT_PROP_BOOL([Built-in Python plugin support], $value) |
879 | ||
4266f2ad PP |
880 | AS_ECHO |
881 | PPRINT_SUBTITLE([Documentation]) | |
0659f3af PP |
882 | |
883 | # man pages build enabled/disabled | |
884 | m4_pushdef([build_man_pages_msg], [Build and install man pages]) | |
885 | ||
886 | AS_IF([test "x$enable_man_pages" != "xno"], [ | |
887 | AS_IF([test "x$in_git_repo" = "xyes"], [ | |
888 | PPRINT_PROP_BOOL([build_man_pages_msg], 1) | |
889 | ], [ | |
890 | AS_IF([test "x$have_asciidoc_xmlto" = "xyes"], [ | |
891 | PPRINT_PROP_BOOL([build_man_pages_msg], 1) | |
892 | ], [ | |
893 | PPRINT_PROP_STRING([build_man_pages_msg], | |
894 | [${PPRINT_COLOR_BLDGRN}yes (already built)], | |
895 | $PPRINT_COLOR_SUBTITLE) | |
896 | ]) | |
897 | ]) | |
898 | ], [ | |
899 | PPRINT_PROP_BOOL([build_man_pages_msg], 0) | |
900 | ]) | |
901 | ||
902 | m4_popdef([build_man_pages_msg]) | |
903 | ||
4266f2ad PP |
904 | test "x$enable_api_doc" = "xyes" && value=1 || value=0 |
905 | PPRINT_PROP_BOOL([HTML API documentation], $value) | |
906 | test "x$enable_python_bindings_doc" = "xyes" && value=1 || value=0 | |
907 | PPRINT_PROP_BOOL([Python bindings documentation], $value) | |
1a0399f9 | 908 | |
4266f2ad PP |
909 | AS_ECHO |
910 | PPRINT_SUBTITLE([Logging]) | |
911 | PPRINT_PROP_STRING([Minimal log level], $BABELTRACE_MINIMAL_LOG_LEVEL) | |
912 | ||
464ebc31 PP |
913 | AS_ECHO |
914 | PPRINT_SUBTITLE([Special build modes]) | |
915 | PPRINT_PROP_BOOL([Debug mode], $BABELTRACE_DEBUG_MODE) | |
916 | PPRINT_PROP_BOOL([Developer mode], $BABELTRACE_DEV_MODE) | |
917 | ||
1a0399f9 MJ |
918 | report_bindir="`eval eval echo $bindir`" |
919 | report_libdir="`eval eval echo $libdir`" | |
4266f2ad | 920 | report_sysconfdif="`eval eval echo $sysconfdir`" |
1a0399f9 MJ |
921 | |
922 | # Print the bindir and libdir this `make install' will install into. | |
923 | AS_ECHO | |
924 | PPRINT_SUBTITLE([Install directories]) | |
925 | PPRINT_PROP_STRING([Binaries], [$report_bindir]) | |
926 | PPRINT_PROP_STRING([Libraries], [$report_libdir]) | |
a12f3d62 | 927 | PPRINT_PROP_STRING([Plugins], [$report_libdir/babeltrace2/plugins]) |
4266f2ad | 928 | PPRINT_PROP_STRING([Configuration], [$report_sysconfdif]) |