Commit | Line | Data |
---|---|---|
0235b0db | 1 | dnl SPDX-License-Identifier: MIT |
9ffc0257 | 2 | dnl |
0235b0db | 3 | dnl Copyright (C) 2017 EfficiOS, Inc. |
9ffc0257 | 4 | dnl |
0235b0db | 5 | dnl Process this file with autoconf to produce a configure script. |
9ffc0257 MJ |
6 | |
7 | ## ## | |
8 | ## Autoconf base setup ## | |
9 | ## ## | |
10 | ||
e97fe75e | 11 | AC_PREREQ([2.69]) |
9ffc0257 | 12 | |
a2edfc7d | 13 | m4_define([bt_version_major], [2]) |
d5427d80 | 14 | m4_define([bt_version_minor], [1]) |
a2edfc7d | 15 | m4_define([bt_version_patch], [0]) |
d5427d80 | 16 | m4_define([bt_version_dev_stage], [-rc1]) |
2671dfad | 17 | m4_define([bt_version], bt_version_major[.]bt_version_minor[.]bt_version_patch[]bt_version_dev_stage) |
d5427d80 | 18 | m4_define([bt_version_name], []) |
9ffc0257 | 19 | |
e97fe75e | 20 | AC_INIT([babeltrace2],[bt_version],[jeremie dot galarneau at efficios dot com],[],[https://efficios.com/babeltrace/]) |
3fbccce7 MD |
21 | |
22 | # Following the numbering scheme proposed by libtool for the library version | |
23 | # http://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html | |
7e69c04f MJ |
24 | m4_define([bt_lib_version_current], [0]) |
25 | m4_define([bt_lib_version_revision], [0]) | |
26 | m4_define([bt_lib_version_age], [0]) | |
27 | m4_define([bt_lib_version], bt_lib_version_current[:]bt_lib_version_revision[:]bt_lib_version_age) | |
e97fe75e MJ |
28 | m4_define([bt_version_description], []) |
29 | m4_define([bt_version_description_c_safe], AS_ESCAPE(bt_version_description)) | |
af597f37 | 30 | |
7e69c04f | 31 | AC_SUBST([BABELTRACE_LIBRARY_VERSION], bt_lib_version) |
3fbccce7 | 32 | |
578e048b | 33 | AC_CONFIG_HEADERS([src/common/config.h]) |
ac65e355 | 34 | AC_CONFIG_AUX_DIR([config]) |
80e2fb15 MJ |
35 | AC_CONFIG_MACRO_DIR([m4]) |
36 | ||
7e69c04f MJ |
37 | AC_DEFINE([BT_VERSION_MAJOR], bt_version_major, [Babeltrace major version]) |
38 | AC_DEFINE([BT_VERSION_MINOR], bt_version_minor, [Babeltrace minor version]) | |
39 | AC_DEFINE([BT_VERSION_PATCH], bt_version_patch, [Babeltrace patch version]) | |
2671dfad | 40 | AC_DEFINE([BT_VERSION_DEV_STAGE], ["]bt_version_dev_stage["], [Babeltrace version development stage (can be empty)]) |
aaa8b698 | 41 | AC_DEFINE([BT_VERSION_NAME], ["]bt_version_name["], [Babeltrace version name]) |
e97fe75e | 42 | AC_DEFINE([BT_VERSION_DESCRIPTION], ["]bt_version_description_c_safe["], [Babeltrace version description]) |
a2edfc7d | 43 | |
ac65e355 MD |
44 | AC_CANONICAL_TARGET |
45 | AC_CANONICAL_HOST | |
80e2fb15 | 46 | |
9ffc0257 MJ |
47 | |
48 | ## ## | |
49 | ## Automake base setup ## | |
50 | ## ## | |
51 | ||
e97fe75e | 52 | AM_INIT_AUTOMAKE([1.12 foreign dist-bzip2 no-dist-gzip tar-ustar nostdinc -Wall -Wno-portability -Werror]) |
99e3ba41 | 53 | AM_MAINTAINER_MODE([enable]) |
ac65e355 | 54 | |
e97fe75e MJ |
55 | # Enable silent rules by default |
56 | AM_SILENT_RULES([yes]) | |
0671bd13 | 57 | |
3d5e9596 | 58 | |
9ffc0257 MJ |
59 | ## ## |
60 | ## OS specific defaults ## | |
61 | ## ## | |
62 | ||
63 | MINGW32=no | |
ca9f27f3 | 64 | DEFAULT_ENABLE_DEBUG_INFO=yes |
9ffc0257 MJ |
65 | LT_NO_UNDEFINED="" |
66 | AS_CASE([$host_os], | |
67 | [solaris*|darwin*], | |
68 | [ | |
69 | DEFAULT_ENABLE_DEBUG_INFO=no | |
70 | ], | |
f4f8f798 MJ |
71 | [freebsd*], |
72 | [ | |
73 | DEFAULT_ENABLE_DEBUG_INFO=no | |
74 | ], | |
9ffc0257 MJ |
75 | [cygwin*], |
76 | [ | |
77 | DEFAULT_ENABLE_DEBUG_INFO=no | |
78 | LT_NO_UNDEFINED="-no-undefined" | |
79 | ], | |
80 | [mingw*], | |
81 | [ | |
82 | MINGW32=yes | |
83 | DEFAULT_ENABLE_DEBUG_INFO=no | |
84 | LT_NO_UNDEFINED="-no-undefined" | |
85 | ] | |
86 | ) | |
87 | ||
88 | AM_CONDITIONAL([BABELTRACE_BUILD_WITH_MINGW], [test "x$MINGW32" = "xyes"]) | |
89 | AC_SUBST(LT_NO_UNDEFINED) | |
90 | ||
91 | ||
92 | ## ## | |
93 | ## C compiler checks ## | |
94 | ## ## | |
95 | ||
9ffc0257 | 96 | # Choose the c compiler |
e97fe75e | 97 | AC_PROG_CC_STDC |
217108a9 | 98 | |
9ffc0257 | 99 | # Make sure the c compiler supports C99 |
e97fe75e MJ |
100 | AS_IF([test "$ac_cv_prog_cc_c99" = "no"], [AC_MSG_ERROR([The compiler does not support C99])]) |
101 | ||
102 | # Enable available system extensions and LFS support | |
103 | AC_USE_SYSTEM_EXTENSIONS | |
104 | AC_SYS_LARGEFILE | |
ac65e355 | 105 | |
9ffc0257 | 106 | # Make sure the c compiler supports __attributes__ |
ec8add54 | 107 | AX_C___ATTRIBUTE__ |
9ffc0257 MJ |
108 | AS_IF([test "x$ax_cv___attribute__" != "xyes"], |
109 | [AC_MSG_ERROR([The compiler does not support __attribute__ extensions])]) | |
ec8add54 | 110 | |
9ffc0257 MJ |
111 | # Make sur we have pthread support |
112 | AX_PTHREAD([], [AC_MSG_ERROR([Could not configure pthread support])]) | |
113 | ||
114 | # Checks for typedefs, structures, and compiler characteristics. | |
115 | AC_C_INLINE | |
116 | AC_C_TYPEOF | |
117 | AC_TYPE_PID_T | |
118 | AC_TYPE_SIZE_T | |
119 | AC_TYPE_INT16_T | |
120 | AC_TYPE_INT32_T | |
121 | AC_TYPE_INT64_T | |
122 | AC_TYPE_INT8_T | |
123 | AC_TYPE_OFF_T | |
124 | AC_TYPE_SSIZE_T | |
125 | AC_TYPE_UINT16_T | |
126 | AC_TYPE_UINT32_T | |
127 | AC_TYPE_UINT64_T | |
128 | AC_TYPE_UINT8_T | |
129 | AC_CHECK_TYPES([ptrdiff_t]) | |
a2bc83d4 | 130 | |
9ffc0257 MJ |
131 | |
132 | ## ## | |
133 | ## Header checks ## | |
134 | ## ## | |
f0d8d709 | 135 | |
f847f3ae MJ |
136 | AC_HEADER_STDBOOL |
137 | AC_CHECK_HEADERS([ \ | |
138 | fcntl.h \ | |
139 | float.h \ | |
e1f4c4f7 | 140 | ftw.h \ |
f847f3ae MJ |
141 | libintl.h \ |
142 | limits.h \ | |
143 | malloc.h \ | |
144 | netdb.h \ | |
145 | netinet/in.h \ | |
146 | stddef.h \ | |
147 | sys/socket.h \ | |
9ffc0257 | 148 | sys/time.h |
f847f3ae | 149 | ]) |
80e2fb15 | 150 | |
9ffc0257 MJ |
151 | |
152 | ## ## | |
153 | ## Linker checks ## | |
154 | ## ## | |
155 | ||
156 | # Check if the linker supports no-as-needed | |
157 | AX_APPEND_LINK_FLAGS([-Wl,--no-as-needed], [LD_NO_AS_NEEDED]) | |
158 | AC_SUBST([LD_NO_AS_NEEDED]) | |
159 | ||
1244e794 MJ |
160 | # Check if the linker supports whole-archive |
161 | AX_CHECK_LINK_FLAG([-Wl,--whole-archive,--no-whole-archive], | |
162 | [ | |
163 | AC_SUBST([LD_WHOLE_ARCHIVE], [-Wl,--whole-archive,]) | |
164 | AC_SUBST([LD_NO_WHOLE_ARCHIVE], [,--no-whole-archive]) | |
165 | ],[ | |
166 | # Fallback to force_load for the macOS linker | |
167 | AX_CHECK_LINK_FLAG([-Wl,-force_load], | |
168 | [ | |
169 | AC_SUBST([LD_WHOLE_ARCHIVE], [-Wl,-force_load,]) | |
170 | AC_SUBST([LD_NO_WHOLE_ARCHIVE], []) | |
171 | ],[ | |
172 | AC_MSG_WARN([Can't find a linker option to force the inclusion of the static plugin archive objects.]) | |
173 | ] | |
174 | ) | |
175 | ] | |
176 | ) | |
177 | ||
5e8a0751 MJ |
178 | # Check if the linker supports the "notext" keyword |
179 | AX_CHECK_LINK_FLAG([-Wl,-z,notext],[ | |
180 | AC_SUBST([LD_NOTEXT], [-Wl,-z,notext]) | |
181 | ]) | |
182 | ||
9ffc0257 MJ |
183 | |
184 | ## ## | |
185 | ## Programs checks ## | |
186 | ## ## | |
187 | ||
e97fe75e | 188 | AM_PROG_AR |
9ffc0257 MJ |
189 | AC_PROG_MAKE_SET |
190 | AC_PROG_MKDIR_P | |
191 | AC_PROG_LN_S | |
e97fe75e | 192 | AC_PROG_SED |
aaa8b698 | 193 | AC_PATH_PROG([report_fold], [fold]) |
9ffc0257 | 194 | |
540d833d MJ |
195 | # set $IN_GIT_REPO if we're in the Git repository; the `bootstrap` file |
196 | # is not distributed in tarballs | |
197 | AS_IF([test -f "$srcdir/bootstrap"], [in_git_repo=yes], [in_git_repo=no]) | |
198 | AM_CONDITIONAL([IN_GIT_REPO], [test "x$in_git_repo" = "xyes"]) | |
199 | ||
200 | # check for bison | |
201 | AC_PROG_YACC | |
042f640b | 202 | AX_PROG_BISON_VERSION([2.5], [have_bison=yes]) |
540d833d MJ |
203 | |
204 | AS_IF([test "x$have_bison" != "xyes"], [ | |
205 | AS_IF([test "x$in_git_repo" = "xyes"], [ | |
9ffc0257 | 206 | AC_MSG_FAILURE([dnl |
540d833d MJ |
207 | Bison >= 2.4 is required when building from the Git repository. You can |
208 | set the YACC variable to override automatic detection. | |
209 | ]) | |
210 | ], [ | |
9ffc0257 | 211 | AC_MSG_WARN([dnl |
540d833d MJ |
212 | Missing Bison >= 2.4. Note that the parser files are already built in |
213 | this distribution tarball, so Bison is only needed if you intend to | |
214 | modify their sources. You can set the YACC variable to override automatic | |
215 | detection. | |
216 | ]) | |
217 | ]) | |
218 | ]) | |
219 | AM_CONDITIONAL([HAVE_BISON], [test "x$have_bison" = "xyes"]) | |
220 | ||
221 | # check for flex | |
222 | AC_PROG_LEX | |
223 | AX_PROG_FLEX_VERSION([2.5.35], [have_flex=yes]) | |
224 | ||
225 | AS_IF([test "x$have_flex" != "xyes"], [ | |
226 | AS_IF([test "x$in_git_repo" = "xyes"], [ | |
9ffc0257 | 227 | AC_MSG_FAILURE([dnl |
540d833d MJ |
228 | Flex >= 2.5.35 is required when building from the Git repository. You can |
229 | set the LEX variable to override automatic detection. | |
230 | ]) | |
231 | ], [ | |
9ffc0257 | 232 | AC_MSG_WARN([dnl |
540d833d MJ |
233 | Missing Flex >= 2.5.35. Note that the lexer files are already built in |
234 | this distribution tarball, so Flex is only needed if you intend to | |
235 | modify their sources. You can set the LEX variable to override automatic | |
236 | detection. | |
237 | ]) | |
238 | ]) | |
239 | ]) | |
240 | AM_CONDITIONAL([HAVE_FLEX], [test "x$have_flex" = "xyes"]) | |
331d78f5 | 241 | |
e97fe75e MJ |
242 | # Initialize and configure libtool |
243 | LT_INIT([win32-dll]) | |
244 | ||
e5f5317f | 245 | |
9ffc0257 MJ |
246 | ## ## |
247 | ## Library checks ## | |
248 | ## ## | |
ac65e355 | 249 | |
39fa4402 MJ |
250 | # Check what libraries are required on this platform to link sockets programs. |
251 | AX_LIB_SOCKET_NSL | |
252 | ||
ef9559ae SM |
253 | # Check for glib >= 2.28 with gmodule support |
254 | AM_PATH_GLIB_2_0([2.28.0], [], | |
255 | AC_MSG_ERROR([glib >= 2.28 is required - download it from ftp://ftp.gtk.org/pub/gtk]), | |
9ffc0257 MJ |
256 | [gmodule-no-export] |
257 | ) | |
ac65e355 MD |
258 | |
259 | # Checks for library functions. | |
f847f3ae MJ |
260 | AC_FUNC_ALLOCA |
261 | AC_FUNC_FORK | |
f847f3ae | 262 | AC_FUNC_MKTIME |
ac65e355 | 263 | AC_FUNC_MMAP |
f847f3ae | 264 | AC_FUNC_STRERROR_R |
9ffc0257 | 265 | AC_FUNC_STRNLEN |
2f8c0e47 | 266 | AC_CHECK_FUNCS([ \ |
f847f3ae | 267 | atexit \ |
f847f3ae MJ |
268 | dup2 \ |
269 | ftruncate \ | |
270 | gethostbyname \ | |
f847f3ae MJ |
271 | gettimeofday \ |
272 | localtime_r \ | |
273 | memchr \ | |
274 | memset \ | |
275 | mkdir \ | |
276 | mkdtemp \ | |
277 | munmap \ | |
278 | rmdir \ | |
279 | setenv \ | |
280 | socket \ | |
281 | strchr \ | |
282 | strdup \ | |
283 | strerror \ | |
284 | strndup \ | |
285 | strnlen \ | |
286 | strrchr \ | |
9ffc0257 | 287 | strstr \ |
f847f3ae MJ |
288 | strtoul \ |
289 | strtoull \ | |
290 | tzset \ | |
2f8c0e47 | 291 | ]) |
ac65e355 | 292 | |
dc4cb410 MJ |
293 | # AC_FUNC_MALLOC causes problems when cross-compiling. |
294 | #AC_FUNC_MALLOC | |
295 | #AC_FUNC_REALLOC | |
296 | ||
f8370579 MD |
297 | # Check for fmemopen |
298 | AC_CHECK_LIB([c], [fmemopen], | |
9ffc0257 | 299 | [AC_DEFINE_UNQUOTED([BABELTRACE_HAVE_FMEMOPEN], 1, [Has fmemopen support.])] |
f8370579 MD |
300 | ) |
301 | ||
302 | # Check for open_memstream | |
303 | AC_CHECK_LIB([c], [open_memstream], | |
9ffc0257 | 304 | [AC_DEFINE_UNQUOTED([BABELTRACE_HAVE_OPEN_MEMSTREAM], 1, [Has open_memstream support.])] |
f8370579 MD |
305 | ) |
306 | ||
a323afb2 JG |
307 | # Check for posix_fallocate |
308 | AC_CHECK_LIB([c], [posix_fallocate], | |
9ffc0257 | 309 | [AC_DEFINE_UNQUOTED([BABELTRACE_HAVE_POSIX_FALLOCATE], 1, [Has posix_fallocate support.])] |
a323afb2 JG |
310 | ) |
311 | ||
9ffc0257 MJ |
312 | ## ## |
313 | ## User variables ## | |
314 | ## ## | |
315 | ||
316 | AC_ARG_VAR([PYTHON_INCLUDE], [Include flags for Python, bypassing python-config]) | |
0b9113bf | 317 | AC_ARG_VAR([PYTHON_LDFLAGS], [Linker flags for Python, bypassing python-config]) |
9ffc0257 MJ |
318 | AC_ARG_VAR([PYTHON_CONFIG], [Path to python-config]) |
319 | ||
056632bf MJ |
320 | # BABELTRACE_PLUGINS_DIR: Plugins directory |
321 | AC_ARG_VAR([BABELTRACE_PLUGINS_DIR], [built-in plugins install directory [LIBDIR/babeltrace2/plugins]]) | |
322 | AS_IF([test "x$BABELTRACE_PLUGINS_DIR" = x], [BABELTRACE_PLUGINS_DIR='${libdir}/babeltrace2/plugins']) | |
a094f13b | 323 | |
b14c7bf1 MJ |
324 | # BABELTRACE_PLUGIN_PROVIDERS_DIR: Plugin providers directory |
325 | AC_ARG_VAR([BABELTRACE_PLUGIN_PROVIDERS_DIR], [built-in plugin providers install directory [LIBDIR/babeltrace2/plugin-providers]]) | |
326 | AS_IF([test "x$BABELTRACE_PLUGIN_PROVIDERS_DIR" = x], [BABELTRACE_PLUGIN_PROVIDERS_DIR='${libdir}/babeltrace2/plugin-providers']) | |
327 | ||
9ffc0257 | 328 | # BABELTRACE_MINIMAL_LOG_LEVEL: |
dd22a91f | 329 | AC_ARG_VAR([BABELTRACE_MINIMAL_LOG_LEVEL], [Minimal log level for Babeltrace program, library, and plugins (TRACE, DEBUG (default), or INFO)]) |
f7a9ecd3 | 330 | AS_IF([test "x$BABELTRACE_MINIMAL_LOG_LEVEL" = x], [BABELTRACE_MINIMAL_LOG_LEVEL="DEBUG"]) |
ef267d12 | 331 | AS_IF([test "$BABELTRACE_MINIMAL_LOG_LEVEL" != "TRACE" && \ |
9ffc0257 | 332 | test "$BABELTRACE_MINIMAL_LOG_LEVEL" != "DEBUG" && \ |
dd22a91f PP |
333 | test "$BABELTRACE_MINIMAL_LOG_LEVEL" != "INFO"], |
334 | [AC_MSG_ERROR([Invalid BABELTRACE_MINIMAL_LOG_LEVEL value ($BABELTRACE_MINIMAL_LOG_LEVEL): use TRACE, DEBUG, or INFO.])] | |
9ffc0257 | 335 | ) |
510400a9 | 336 | AC_DEFINE_UNQUOTED([BT_MINIMAL_LOG_LEVEL], [BT_LOG_$BABELTRACE_MINIMAL_LOG_LEVEL], [Minimal log level]) |
9ffc0257 | 337 | |
464ebc31 PP |
338 | # BABELTRACE_DEV_MODE: |
339 | AC_ARG_VAR([BABELTRACE_DEV_MODE], [Set to 1 to enable the Babeltrace developer mode (enables run-time checks for plugin developers)]) | |
340 | AS_IF([test "x$BABELTRACE_DEV_MODE" = x1], [ | |
464ebc31 PP |
341 | AC_DEFINE([BT_DEV_MODE], 1, [Babeltrace developer mode]) |
342 | ], [BABELTRACE_DEV_MODE=0]) | |
5d7e8359 | 343 | AM_CONDITIONAL([DEV_MODE], [test "x$BABELTRACE_DEV_MODE" = x1]) |
464ebc31 PP |
344 | |
345 | # BABELTRACE_DEBUG_MODE: | |
346 | AC_ARG_VAR([BABELTRACE_DEBUG_MODE], [Set to 1 to enable the Babeltrace debug mode (enables internal assertions for Babeltrace maintainers)]) | |
347 | AS_IF([test "x$BABELTRACE_DEBUG_MODE" = x1], [ | |
348 | AC_DEFINE([BT_DEBUG_MODE], 1, [Babeltrace debug mode]) | |
349 | ], [BABELTRACE_DEBUG_MODE=0]) | |
350 | ||
9ffc0257 MJ |
351 | |
352 | ## ## | |
353 | ## Optionnal features selection ## | |
354 | ## ## | |
24a3136a | 355 | |
9ffc0257 MJ |
356 | # Python bindings |
357 | # Disabled by default | |
94a6cea3 | 358 | AC_ARG_ENABLE([python-bindings], |
e97fe75e | 359 | [AS_HELP_STRING([--enable-python-bindings],[build the Python bindings])], |
38c609ff FD |
360 | [], dnl AC_ARG_ENABLE will fill enable_python_bindings with the user choice |
361 | [enable_python_bindings=unspecified] | |
9ffc0257 MJ |
362 | ) |
363 | ||
ba64dfcc SM |
364 | # Python bindings documentation |
365 | # Disabled by default | |
366 | AC_ARG_ENABLE([python-bindings-doc], | |
e97fe75e | 367 | [AS_HELP_STRING([--enable-python-bindings-doc],[build the Python bindings documentation])], |
ba64dfcc SM |
368 | [], dnl AC_ARG_ENABLE will fill enable_python_bindings_doc with the user choice |
369 | [enable_python_bindings_doc=no] | |
370 | ) | |
371 | ||
9ffc0257 MJ |
372 | # Python plugins |
373 | # Disabled by default | |
374 | AC_ARG_ENABLE([python-plugins], | |
e97fe75e | 375 | [AS_HELP_STRING([--enable-python-plugins],[enable the Python plugins support for the library and converter])] |
0f3224e9 | 376 | dnl AC_ARG_ENABLE will fill enable_python_plugins with the user choice |
9ffc0257 MJ |
377 | ) |
378 | ||
379 | # Debug info | |
380 | # Enabled by default, except on some platforms | |
381 | AC_ARG_ENABLE([debug-info], | |
e97fe75e | 382 | [AS_HELP_STRING([--disable-debug-info],[disable the debug info support (default on macOS, Solaris and Windows)])], |
9ffc0257 MJ |
383 | [], dnl AC_ARG_ENABLE will fill enable_debug_info with the user choice |
384 | [enable_debug_info="$DEFAULT_ENABLE_DEBUG_INFO"] | |
385 | ) | |
386 | ||
387 | # API documentation | |
388 | # Disabled by default | |
389 | AC_ARG_ENABLE([api-doc], | |
e97fe75e | 390 | [AS_HELP_STRING([--enable-api-doc],[build the HTML API documentation])], |
0f3224e9 | 391 | [enable_api_doc=$enableval] |
9ffc0257 MJ |
392 | ) |
393 | ||
394 | # Built-in plugins | |
395 | # Disabled by default | |
396 | AC_ARG_ENABLE([built-in-plugins], | |
e97fe75e | 397 | [AS_HELP_STRING([--enable-built-in-plugins],[Statically-link in-tree plug-ins into the babeltrace2 executable])] |
0f3224e9 | 398 | dnl AC_ARG_ENABLE will fill enable_built_in_plugins with the user choice |
9ffc0257 MJ |
399 | ) |
400 | ||
401 | # Built-in python plugin support | |
402 | # Disabled by default | |
403 | AC_ARG_ENABLE([built-in-python-plugin-support], | |
e97fe75e | 404 | [AS_HELP_STRING([--enable-built-in-python-plugin-support],[Statically-link Python plugin support into the babeltrace library])] |
0f3224e9 | 405 | dnl AC_ARG_ENABLE will fill enable_built_in_python_plugin_support with the user choice |
9ffc0257 MJ |
406 | ) |
407 | ||
0659f3af PP |
408 | # Man pages |
409 | # Enabled by default | |
410 | AC_ARG_ENABLE([man-pages], | |
411 | [AS_HELP_STRING([--disable-man-pages], [Do not build and install man pages (already built in a distributed tarball])], | |
0f3224e9 | 412 | [], dnl AC_ARG_ENABLE will fill enable_man_pages with the user choice |
0659f3af PP |
413 | [enable_man_pages=yes] |
414 | ) | |
415 | ||
9ffc0257 MJ |
416 | |
417 | # Set automake variables for optionnal feature conditionnals in Makefile.am | |
418 | AM_CONDITIONAL([ENABLE_PYTHON_BINDINGS], [test "x$enable_python_bindings" = xyes]) | |
ba64dfcc | 419 | AM_CONDITIONAL([ENABLE_PYTHON_BINDINGS_DOC], [test "x$enable_python_bindings_doc" = xyes]) |
9ffc0257 MJ |
420 | AM_CONDITIONAL([ENABLE_PYTHON_PLUGINS], [test "x$enable_python_plugins" = xyes]) |
421 | AM_CONDITIONAL([ENABLE_DEBUG_INFO], [test "x$enable_debug_info" = xyes]) | |
422 | AM_CONDITIONAL([ENABLE_API_DOC], [test "x$enable_api_doc" = xyes]) | |
423 | AM_CONDITIONAL([ENABLE_BUILT_IN_PLUGINS], [test "x$enable_built_in_plugins" = xyes]) | |
424 | AM_CONDITIONAL([ENABLE_BUILT_IN_PYTHON_PLUGIN_SUPPORT], [test "x$enable_built_in_python_plugin_support" = xyes]) | |
0659f3af | 425 | AM_CONDITIONAL([ENABLE_MAN_PAGES], [test "x$enable_man_pages" = xyes]) |
419fff0b | 426 | AM_CONDITIONAL([ENABLE_PYTHON_COMMON_DEPS], [test "x$enable_python_bindings" = xyes || test "x$enable_python_plugins" = xyes]) |
9ffc0257 MJ |
427 | |
428 | # Set defines for optionnal features conditionnals in the source code | |
429 | ||
9ffc0257 MJ |
430 | AS_IF([test "x$enable_built_in_plugins" = xyes], |
431 | [AC_DEFINE([BT_BUILT_IN_PLUGINS], [1], [Define to 1 to register plug-in attributes in static executable sections])] | |
432 | ) | |
433 | ||
434 | AS_IF([test "x$enable_built_in_python_plugin_support" = xyes], | |
435 | [AC_DEFINE([BT_BUILT_IN_PYTHON_PLUGIN_SUPPORT], [1], [Define to 1 to register plug-in attributes in static executable sections])] | |
436 | ) | |
437 | ||
0659f3af PP |
438 | AS_IF([test "x$enable_debug_info" = xyes], |
439 | [ENABLE_DEBUG_INFO_VAL=1], | |
440 | [ENABLE_DEBUG_INFO_VAL=0] | |
441 | ) | |
442 | ||
443 | AC_SUBST([ENABLE_DEBUG_INFO_VAL]) | |
444 | ||
38c609ff FD |
445 | # Check for conflicting Python related features user choices. |
446 | AS_IF([test "x$enable_python_plugins" = xyes], | |
447 | [ | |
448 | AS_IF([test "x$enable_python_bindings" = xunspecified], | |
449 | [ | |
450 | # --enable-python-plugins was provided but --enable-python-bindings was | |
451 | # omitted. Turn the Python bindings ON anyway because it's needed to | |
452 | # use the Python plugins. | |
453 | enable_python_bindings=yes | |
454 | ], | |
455 | [ | |
456 | AS_IF([test "x$enable_python_bindings" = xno], | |
457 | [ | |
458 | # --enable-python-plugins _and_ --disable-python-bindings were | |
459 | # used. This is invalid because Python plugins need the Python | |
460 | # bindings to be useful. | |
461 | AC_MSG_ERROR(--enable-python-bindings must be used to support Python plugins) | |
462 | ] | |
463 | ) | |
464 | ] | |
465 | ) | |
466 | ] | |
467 | ) | |
9ffc0257 | 468 | |
811644b8 | 469 | # Check for conflicting optional features user choices |
9ffc0257 | 470 | |
9ffc0257 MJ |
471 | AS_IF([test "x$enable_built_in_plugins" = xyes], |
472 | [ | |
473 | # Built-in plug-ins are only available when the --disable-shared --enable-static options are used. | |
ec2c5e50 MJ |
474 | AS_IF([test "x$enable_static" != xyes], [AC_MSG_ERROR(--enable-static must be used to bundle plug-ins in the babeltrace2 executable)]) |
475 | 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 |
476 | ] |
477 | ) | |
478 | ||
479 | AS_IF([test "x$enable_built_in_python_plugin_support" = xyes], | |
480 | [ | |
0f3224e9 | 481 | AS_IF([test "x$enable_python_plugins" != xyes], [AC_MSG_ERROR([--enable-python-plugins must be used to bundle Python plugin support in the babeltrace2 executable])]) |
9ffc0257 | 482 | # Built-in plug-ins are only available when the --disable-shared --enable-static options are used. |
ec2c5e50 MJ |
483 | AS_IF([test "x$enable_static" != xyes], [AC_MSG_ERROR(--enable-static must be used to bundle Python plugin support in the babeltrace2 executable)]) |
484 | 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 | 485 | ] |
55bb57e0 | 486 | ) |
9cf643d1 | 487 | |
4f5f37d9 | 488 | |
9ffc0257 MJ |
489 | # Check for optionnal features dependencies |
490 | ||
491 | AS_IF([test "x$enable_python_bindings" = xyes], | |
492 | [AX_PKG_SWIG(2.0.0, [], [AC_MSG_ERROR([SWIG 2.0.0 or newer is required to build the python bindings])])] | |
493 | ) | |
494 | ||
419fff0b | 495 | AM_PATH_PYTHON([3.0], [ |
1b39e2de | 496 | AM_PATH_PYTHON_MODULES([PYTHON]) |
419fff0b | 497 | |
1b39e2de JG |
498 | # pythondir is the path where extra modules are to be installed |
499 | pythondir=$PYTHON_PREFIX/$PYTHON_MODULES_PATH | |
419fff0b | 500 | |
1b39e2de JG |
501 | # pyexecdir is the path that contains shared objects used by the extra modules |
502 | pyexecdir=$PYTHON_EXEC_PREFIX/$PYTHON_MODULES_PATH | |
419fff0b PP |
503 | |
504 | AS_IF([test -z "$PYTHON_CONFIG"], [ | |
505 | AC_PATH_PROGS([PYTHON_CONFIG], | |
506 | [python$PYTHON_VERSION-config python-config], | |
507 | [], | |
508 | [`dirname $PYTHON`]) | |
24a3136a | 509 | ]) |
419fff0b PP |
510 | |
511 | AS_IF([test -n "$PYTHON_CONFIG"], [ | |
512 | AS_IF([test -z "$PYTHON_INCLUDE"], [ | |
513 | AC_MSG_CHECKING([Python include flags]) | |
514 | PYTHON_INCLUDE=`$PYTHON_CONFIG --includes` | |
515 | AC_MSG_RESULT([$PYTHON_INCLUDE]) | |
516 | ]) | |
517 | ||
518 | AS_IF([test -z "$PYTHON_LDFLAGS"], [ | |
519 | AC_MSG_CHECKING([Python library flags]) | |
2d786d15 SM |
520 | # Python 3.8+ requires that we pass --embed to get the -lpython3.x flag. |
521 | AS_IF([! PYTHON_LDFLAGS=`$PYTHON_CONFIG --ldflags --embed`], [ | |
522 | PYTHON_LDFLAGS=`$PYTHON_CONFIG --ldflags` | |
523 | ]) | |
419fff0b | 524 | AC_MSG_RESULT([$PYTHON_LDFLAGS]) |
55bb57e0 | 525 | ]) |
55bb57e0 | 526 | ]) |
419fff0b PP |
527 | ], [:]) |
528 | ||
529 | AS_IF([test "$PYTHON" != :], [have_python=yes], [have_python=no]) | |
530 | AS_IF([test -n "$PYTHON_CONFIG"], [have_python_dev=yes], [have_python_dev=no]) | |
531 | ||
532 | AM_CONDITIONAL([HAVE_PYTHON], [test "x$have_python" = xyes]) | |
533 | AM_CONDITIONAL([HAVE_PYTHON_DEV], [test "x$have_python_dev" = xyes]) | |
534 | ||
535 | AS_IF([test "x$enable_python_bindings" = xyes || test "x$enable_python_plugins" = xyes], [ | |
536 | AS_IF([test "x$have_python_dev" = xno], [ | |
537 | AC_MSG_ERROR([Cannot find a suitable python-config. You can override the python-config path with the PYTHON_CONFIG environment variable.]) | |
538 | ]) | |
539 | ]) | |
55bb57e0 | 540 | |
ba64dfcc SM |
541 | AS_IF([test "x$enable_python_bindings_doc" = xyes], |
542 | [ | |
543 | AM_CHECK_PYTHON_SPHINX([PYTHON]) | |
544 | AS_IF([test "x$PYTHON_SPHINX_EXISTS" = xno], [ | |
545 | AC_MSG_ERROR([The Sphinx package for Python 3 is required to build the Python bindings documentation]) | |
546 | ]) | |
547 | ||
548 | AS_IF([test "x$enable_python_bindings" != xyes], [ | |
549 | AC_MSG_ERROR([The Python bindings are required to build their documentation]) | |
550 | ]) | |
551 | ] | |
552 | ) | |
553 | ||
e97fe75e MJ |
554 | AS_IF([test "x$enable_debug_info" = xyes], [ |
555 | # Check if libelf and libdw are present | |
556 | PKG_CHECK_MODULES([ELFUTILS], [libelf >= 0.154 libdw >= 0.154], | |
557 | [ | |
558 | dnl PKG_CHECK_MODULES defines ELFUTILS_LIBS | |
559 | ], | |
560 | [ | |
561 | AC_MSG_ERROR([elfutils >= 0.154 is required to use the debug info feature. You can disable this feature using --disable-debug-info.]) | |
562 | ]) | |
563 | ]) | |
901e5c12 | 564 | AC_SUBST([ELFUTILS_LIBS]) |
6fbd4105 | 565 | |
9ffc0257 MJ |
566 | AS_IF([test "x$enable_api_doc" = "xyes"], |
567 | [ | |
568 | DX_DOXYGEN_FEATURE(ON) | |
569 | DX_DOT_FEATURE(OFF) | |
570 | DX_HTML_FEATURE(ON) | |
571 | DX_CHM_FEATURE(OFF) | |
572 | DX_CHI_FEATURE(OFF) | |
573 | DX_MAN_FEATURE(OFF) | |
574 | DX_RTF_FEATURE(OFF) | |
575 | DX_XML_FEATURE(OFF) | |
576 | DX_PDF_FEATURE(OFF) | |
577 | DX_PS_FEATURE(OFF) | |
43c59509 | 578 | DX_INIT_DOXYGEN([Babeltrace 2], [$(builddir)/Doxyfile], [output]) |
9ffc0257 MJ |
579 | AS_IF([test -z "$DX_DOXYGEN"], |
580 | [AC_MSG_ERROR([You need doxygen to enable the API documentation])] | |
581 | ) | |
582 | ] | |
583 | ) | |
ac65e355 | 584 | |
0659f3af PP |
585 | have_asciidoc_xmlto=no |
586 | warn_prebuilt_man_pages=no | |
587 | ||
4a9f5414 MJ |
588 | AC_PATH_PROG([ASCIIDOC], [asciidoc], [no]) |
589 | AC_PATH_PROG([XMLTO], [xmlto], [no]) | |
0659f3af | 590 | |
4a9f5414 | 591 | AS_IF([test "x$enable_man_pages" = "xyes"], [ |
0659f3af PP |
592 | AS_IF([test "x$ASCIIDOC" = "xno" || test "x$XMLTO" = "xno"], [ |
593 | AS_IF([test "x$in_git_repo" = "xyes"], [ | |
594 | # this is an error because we're in the Git repo, which | |
595 | # means the man pages are not already generated for us, | |
596 | # thus asciixmlto are required because we were asked | |
597 | # to build the man pages | |
598 | AC_MSG_ERROR([ | |
599 | You need asciidoc and xmlto to build the Babeltrace man pages. Use | |
600 | --disable-man-pages to disable building the man pages, in which case | |
601 | they will not be installed. | |
602 | ]) | |
603 | ], [ | |
604 | # only warn here: since we're in the tarball, the man | |
605 | # pages should already be generated at this point, thus | |
606 | # asciidoc/xmlto are not strictly required | |
607 | warn_prebuilt_man_pages=yes | |
608 | ]) | |
609 | ], [ | |
610 | have_asciidoc_xmlto=yes | |
611 | ]) | |
612 | ]) | |
613 | ||
614 | # export AsciiDoc and xmlto existence | |
615 | AM_CONDITIONAL([HAVE_ASCIIDOC_XMLTO], [test "x$have_asciidoc_xmlto" = "xyes"]) | |
616 | ||
617 | # a wonderful hack that seems necessary because $libdir is | |
618 | # literally `${exec_prefix}/lib`, and $exec_prefix is set to `NONE` | |
619 | # by autoconf when it's not specified by the user | |
620 | AS_IF([test "x$exec_prefix" = xNONE], [ | |
621 | AS_IF([test "x$prefix" = xNONE], [ | |
622 | PREFIX="$ac_default_prefix" | |
623 | ], [ | |
624 | PREFIX="$prefix" | |
625 | ]) | |
626 | ||
627 | LIBDIR="$PREFIX/lib" | |
628 | ], [ | |
629 | LIBDIR="$libdir" | |
630 | ]) | |
631 | ||
632 | AC_SUBST(LIBDIR) | |
633 | ||
02bb4fcc SM |
634 | # CFLAGS from libraries (the glib ones are needed for the following sizeof |
635 | # test). | |
636 | AM_CFLAGS="${PTHREAD_CFLAGS} ${GLIB_CFLAGS}" | |
38424656 | 637 | |
5b5959d4 MJ |
638 | # Check that the current size_t matches the size that glib thinks it should |
639 | # be. This catches problems on multi-arch where people try to do a 32-bit | |
640 | # build while pointing at 64-bit glib headers. This is a common error because | |
641 | # glib.h is not platform specific but it includes glibconfig.h which is and | |
642 | # is usually installed in a non-standard path. | |
643 | ||
02bb4fcc SM |
644 | # Do this before enabling all the warning flags, as the |
645 | # AC_LANG_PROGRAM-generated program may generate some warning, which makes this | |
646 | # test fail unnecessarily. | |
647 | ||
3d130ada MJ |
648 | # Older versions of the pkg-config macros disallows PKG_* in the autoconf |
649 | # output. Specifically allow pkg_config_libdir to be able to print the | |
650 | # error message. | |
651 | m4_pattern_allow([PKG_CONFIG_LIBDIR]) | |
652 | ||
5b5959d4 MJ |
653 | save_CFLAGS=${CFLAGS} |
654 | CFLAGS="${CFLAGS} ${AM_CFLAGS}" | |
655 | AC_COMPILE_IFELSE([ | |
656 | AC_LANG_PROGRAM([dnl | |
657 | #include <glib.h> | |
658 | #include <unistd.h> | |
659 | ], [dnl | |
660 | G_STATIC_ASSERT(sizeof(size_t) == GLIB_SIZEOF_SIZE_T); | |
661 | ]) | |
662 | ],[:],[ | |
663 | AC_MSG_ERROR([dnl | |
664 | sizeof(size_t) doesn't match GLIB_SIZEOF_SIZE_T. You probably need to set | |
665 | PKG_CONFIG_LIBDIR to point to the right pkg-config files for your build | |
666 | target. | |
667 | ]) | |
668 | ]) | |
669 | CFLAGS=${save_CFLAGS} | |
670 | ||
02bb4fcc | 671 | # Detect C and LD warning flags supported by the compiler. |
28ba44ad SM |
672 | |
673 | # Detect warning flags supported by the compiler, append them to WARN_CFLAGS. | |
674 | # | |
675 | # Pass -Werror as an extra flag during the test: this is needed to make the | |
676 | # -Wunknown-warning-option diagnostic fatal with clang. | |
677 | AX_APPEND_COMPILE_FLAGS([ dnl | |
678 | -Wall dnl | |
679 | -Wextra dnl | |
28ba44ad SM |
680 | -Wmissing-prototypes dnl |
681 | -Wmissing-declarations dnl | |
682 | -Wnull-dereference dnl | |
683 | -Wundef dnl | |
684 | -Wredundant-decls dnl | |
685 | -Wshadow dnl | |
686 | -Wjump-misses-init dnl | |
8b305066 | 687 | -Wsuggest-attribute=format dnl |
28ba44ad SM |
688 | -Wtautological-constant-out-of-range-compare dnl |
689 | -Wnested-externs dnl | |
690 | -Wwrite-strings dnl | |
691 | -Wformat=2 dnl | |
28ba44ad SM |
692 | -Wstrict-aliasing dnl |
693 | -Wmissing-noreturn dnl | |
694 | -Winit-self dnl | |
695 | -Wduplicated-cond dnl | |
696 | -Wduplicated-branches dnl | |
697 | -Wlogical-op dnl | |
698 | -Wno-unused-parameter dnl | |
699 | -Wno-sign-compare dnl | |
c29c23a0 SM |
700 | dnl |
701 | dnl Some versions of SWIG (like 3.0.12) generate code that produces | |
702 | dnl -Wcast-function-type warnings. This warning is present in gcc >= 8. This | |
703 | dnl combo happens on RHEL/Centos 8, for example. Later versions of SWIG (like | |
704 | dnl 4.0.1) have the correct function signatures to not produce this warning. | |
705 | dnl It's simpler to just disable the warning globally. | |
706 | dnl | |
707 | dnl Note that the Debian/Ubuntu SWIG package 3.0.12-2 contains a local patch to | |
708 | dnl fix this (python-fix-function-cast-warnings.patch), so you won't be able to | |
709 | dnl reproduce the warning using that package. | |
710 | dnl | |
711 | dnl Ref: https://github.com/swig/swig/issues/1259 | |
712 | -Wno-cast-function-type dnl | |
28ba44ad SM |
713 | -Wno-missing-field-initializers dnl |
714 | ], | |
715 | [WARN_CFLAGS], | |
716 | [-Werror]) | |
717 | ||
718 | # When given, add -Werror to WARN_CFLAGS. | |
719 | AC_ARG_ENABLE([Werror], | |
720 | [AS_HELP_STRING([--enable-Werror], [Treat compiler warnings as errors.])] | |
721 | ) | |
722 | AS_IF([test "x$enable_Werror" = "xyes"], | |
723 | [WARN_CFLAGS="${WARN_CFLAGS} -Werror"] | |
724 | ) | |
02bb4fcc | 725 | |
28ba44ad | 726 | # The test used in AX_APPEND_COMPILE_FLAGS, generated using AC_LANG_PROGRAM, is |
65679347 SM |
727 | # written in such a way that it triggers warnings with the following warning |
728 | # flags. So they would always end up disabled if we put them there, because | |
729 | # the test program would not build. | |
02bb4fcc | 730 | # |
65679347 SM |
731 | # Enable them here unconditionally. They are supported by GCC >= 4.8 and by |
732 | # Clang >= 4.0. | |
733 | WARN_CFLAGS="${WARN_CFLAGS} -Wold-style-definition -Wstrict-prototypes" | |
02bb4fcc | 734 | |
28ba44ad SM |
735 | # CFLAGS from AX_APPEND_COMPILE_FLAGS. |
736 | AM_CFLAGS="${AM_CFLAGS} ${WARN_CFLAGS}" | |
02bb4fcc SM |
737 | |
738 | # Done for AM_CFLAGS. | |
739 | AC_SUBST(AM_CFLAGS) | |
740 | ||
741 | # Set global CPPFLAGS in AM_CPPFLAGS | |
742 | AM_CPPFLAGS="-I\$(top_srcdir)/include -I\$(top_builddir)/src -I\$(top_srcdir)/src -include common/config.h" | |
743 | AC_SUBST(AM_CPPFLAGS) | |
744 | ||
745 | # Add glib to global link libs | |
746 | LIBS="$LIBS $GLIB_LIBS" | |
747 | ||
9ffc0257 | 748 | # Abuse autoconf's AC_ARG_PROGRAM output variable 'program_transform_name' |
ec2c5e50 | 749 | # to rename babeltrace2.bin to babeltrace2 at install time. |
bb30da78 | 750 | program_transform_name="s&babeltrace2\.bin&babeltrace2&;$program_transform_name" |
33b34c43 | 751 | AC_SUBST(program_transform_name) |
591999ca | 752 | |
ac65e355 | 753 | AC_CONFIG_FILES([ |
578e048b | 754 | doc/api/Makefile |
43c59509 PP |
755 | doc/api/libbabeltrace2/Doxyfile |
756 | doc/api/libbabeltrace2/Makefile | |
ba64dfcc SM |
757 | doc/bindings/Makefile |
758 | doc/bindings/python/Makefile | |
f9ded0e0 | 759 | doc/contributing-images/Makefile |
578e048b MJ |
760 | doc/Makefile |
761 | doc/man/asciidoc-attrs.conf | |
762 | doc/man/Makefile | |
e92927d1 | 763 | include/Makefile |
578e048b | 764 | Makefile |
fac21c87 | 765 | src/argpar/Makefile |
97010665 | 766 | src/autodisc/Makefile |
578e048b MJ |
767 | src/babeltrace2-ctf-writer.pc |
768 | src/babeltrace2.pc | |
769 | src/bindings/Makefile | |
07041daf | 770 | src/bindings/python/bt2/bt2/version.py |
578e048b MJ |
771 | src/bindings/python/bt2/Makefile |
772 | src/bindings/python/bt2/setup.py | |
773 | src/bindings/python/Makefile | |
774 | src/cli/Makefile | |
775 | src/common/Makefile | |
776 | src/compat/Makefile | |
777 | src/ctfser/Makefile | |
778 | src/ctf-writer/Makefile | |
779 | src/fd-cache/Makefile | |
780 | src/lib/graph/Makefile | |
781 | src/lib/graph/message/Makefile | |
782 | src/lib/Makefile | |
783 | src/lib/plugin/Makefile | |
784 | src/lib/prio-heap/Makefile | |
785 | src/lib/trace-ir/Makefile | |
786 | src/logging/Makefile | |
787 | src/Makefile | |
1aca5200 FD |
788 | src/plugins/common/Makefile |
789 | src/plugins/common/muxing/Makefile | |
d0d4e0ed | 790 | src/plugins/common/param-validation/Makefile |
578e048b MJ |
791 | src/plugins/ctf/common/bfcr/Makefile |
792 | src/plugins/ctf/common/Makefile | |
793 | src/plugins/ctf/common/metadata/Makefile | |
794 | src/plugins/ctf/common/msg-iter/Makefile | |
578e048b MJ |
795 | src/plugins/ctf/fs-sink/Makefile |
796 | src/plugins/ctf/fs-src/Makefile | |
797 | src/plugins/ctf/lttng-live/Makefile | |
798 | src/plugins/ctf/Makefile | |
799 | src/plugins/lttng-utils/debug-info/Makefile | |
800 | src/plugins/lttng-utils/Makefile | |
801 | src/plugins/Makefile | |
802 | src/plugins/text/dmesg/Makefile | |
803 | src/plugins/text/Makefile | |
804 | src/plugins/text/pretty/Makefile | |
55478183 | 805 | src/plugins/text/details/Makefile |
578e048b MJ |
806 | src/plugins/utils/counter/Makefile |
807 | src/plugins/utils/dummy/Makefile | |
808 | src/plugins/utils/Makefile | |
809 | src/plugins/utils/muxer/Makefile | |
810 | src/plugins/utils/trimmer/Makefile | |
7085eeaa | 811 | src/py-common/Makefile |
578e048b | 812 | src/python-plugin-provider/Makefile |
5869b179 | 813 | src/param-parse/Makefile |
ec532b44 | 814 | src/string-format/Makefile |
906ac65f | 815 | tests/bitfield/Makefile |
331731aa | 816 | tests/ctf-writer/Makefile |
aa968dde | 817 | tests/lib/Makefile |
cbb9e0b1 | 818 | tests/lib/test-plugin-plugins/Makefile |
5d7e8359 | 819 | tests/lib/conds/Makefile |
578e048b | 820 | tests/Makefile |
d0d4e0ed | 821 | tests/param-validation/Makefile |
578e048b | 822 | tests/plugins/Makefile |
e30aed9e PP |
823 | tests/plugins/src.ctf.fs/Makefile |
824 | tests/plugins/src.ctf.fs/succeed/Makefile | |
4d227882 FD |
825 | tests/plugins/sink.ctf.fs/Makefile |
826 | tests/plugins/sink.ctf.fs/succeed/Makefile | |
66251464 | 827 | tests/plugins/flt.lttng-utils.debug-info/Makefile |
38403bf5 FD |
828 | tests/plugins/flt.utils.muxer/Makefile |
829 | tests/plugins/flt.utils.muxer/succeed/Makefile | |
188edac1 | 830 | tests/plugins/flt.utils.trimmer/Makefile |
ed30eb8d | 831 | tests/plugins/sink.text.pretty/Makefile |
1833a3d1 CB |
832 | tests/utils/Makefile |
833 | tests/utils/tap/Makefile | |
ac65e355 | 834 | ]) |
c41a7502 | 835 | |
ac65e355 | 836 | AC_OUTPUT |
1a0399f9 MJ |
837 | |
838 | # | |
839 | # Mini-report on what will be built. | |
840 | # | |
841 | ||
842 | PPRINT_INIT | |
843 | PPRINT_SET_INDENT(1) | |
844 | PPRINT_SET_TS(38) | |
845 | ||
846 | AS_ECHO | |
aaa8b698 PP |
847 | |
848 | AS_IF([test -n "bt_version_name"], [ | |
849 | AS_ECHO("${PPRINT_COLOR_BLDBLU}Babeltrace $PACKAGE_VERSION \"bt_version_name\"$PPRINT_COLOR_RST") | |
850 | ], [ | |
851 | AS_ECHO("${PPRINT_COLOR_BLDBLU}Babeltrace $PACKAGE_VERSION") | |
852 | ]) | |
853 | ||
1a0399f9 MJ |
854 | AS_ECHO |
855 | ||
e97fe75e | 856 | AS_IF([test -n "bt_version_description"], [ |
aaa8b698 | 857 | AS_IF([test -n "$report_fold"], [ |
e97fe75e | 858 | AS_ECHO("`AS_ECHO("bt_version_description") | $report_fold -s`") |
aaa8b698 | 859 | ], [ |
e97fe75e | 860 | AS_ECHO("bt_version_description") |
aaa8b698 PP |
861 | ]) |
862 | ||
863 | AS_ECHO | |
864 | ]) | |
865 | ||
4266f2ad | 866 | PPRINT_SUBTITLE([System]) |
1a0399f9 MJ |
867 | |
868 | # Target architecture we're building for. | |
869 | target_arch=$host_cpu | |
870 | [ | |
871 | for f in $CFLAGS; do | |
872 | if test $f = "-m32"; then | |
873 | target_arch="32-bit" | |
874 | elif test $f = "-m64"; then | |
875 | target_arch="64-bit" | |
876 | fi | |
877 | done | |
878 | ] | |
beb0fb75 | 879 | |
4266f2ad | 880 | PPRINT_PROP_STRING([Target architecture], $target_arch) |
d1dab1d2 | 881 | |
4266f2ad PP |
882 | AS_ECHO |
883 | PPRINT_SUBTITLE([Python 3 language support]) | |
419fff0b PP |
884 | test "x$have_python" = "xyes" && value=1 || value=0 |
885 | PPRINT_PROP_BOOL([Have Python interpreter], $value) | |
886 | test "x$have_python_dev" = "xyes" && value=1 || value=0 | |
887 | PPRINT_PROP_BOOL([Have Python development libraries], $value) | |
55bb57e0 | 888 | test "x$enable_python_bindings" = "xyes" && value=1 || value=0 |
f75e50ab | 889 | PPRINT_PROP_BOOL_CUSTOM([Python bindings], $value, [To enable, use --enable-python-bindings]) |
55bb57e0 | 890 | test "x$enable_python_plugins" = "xyes" && value=1 || value=0 |
f75e50ab | 891 | PPRINT_PROP_BOOL_CUSTOM([Python plugin support], $value, [To enable, use --enable-python-plugins]) |
419fff0b PP |
892 | AS_IF([test "x$have_python" = "xyes"], [ |
893 | PPRINT_PROP_STRING([Python interpreter path], [$PYTHON]) | |
894 | ]) | |
895 | AS_IF([test "x$have_python_dev" = "xyes"], [ | |
896 | PPRINT_PROP_STRING([python-config path], [$PYTHON_CONFIG]) | |
4266f2ad | 897 | PPRINT_PROP_STRING([Python include paths], [$PYTHON_INCLUDE]) |
0b9113bf | 898 | PPRINT_PROP_STRING([Python linker flags], [$PYTHON_LDFLAGS]) |
419fff0b PP |
899 | ]) |
900 | AS_IF([test "x$enable_python_bindings" = "xyes"], [ | |
8c102541 SM |
901 | PPRINT_PROP_STRING([SWIG executable], [$SWIG]) |
902 | PPRINT_PROP_STRING([SWIG library], [$SWIG_LIB]) | |
4266f2ad | 903 | ]) |
55bb57e0 | 904 | |
4266f2ad PP |
905 | AS_ECHO |
906 | PPRINT_SUBTITLE([Plugins]) | |
907 | PPRINT_PROP_BOOL(['ctf' plugin], 1) | |
9ffc0257 | 908 | test "x$enable_debug_info" = "xyes" && value=1 || value=0 |
f75e50ab | 909 | PPRINT_PROP_BOOL_CUSTOM(['lttng-utils' plugin], $value, [To enable, use --enable-debug-info]) |
4266f2ad PP |
910 | PPRINT_PROP_BOOL(['text' plugin], 1) |
911 | PPRINT_PROP_BOOL(['utils' plugin], 1) | |
912 | ||
913 | AS_ECHO | |
914 | PPRINT_SUBTITLE([Built-in features]) | |
9ffc0257 | 915 | test "x$enable_built_in_plugins" = "xyes" && value=1 || value=0 |
f75e50ab | 916 | PPRINT_PROP_BOOL_CUSTOM([Built-in plugins], $value, [To enable, use --enable-built-in-plugins]) |
9ffc0257 | 917 | test "x$enable_built_in_python_plugin_support" = "xyes" && value=1 || value=0 |
f75e50ab | 918 | PPRINT_PROP_BOOL_CUSTOM([Built-in Python plugin support], $value, [To enable, use --enable-built-in-python-plugin-support]) |
6fbd4105 | 919 | |
4266f2ad PP |
920 | AS_ECHO |
921 | PPRINT_SUBTITLE([Documentation]) | |
0659f3af PP |
922 | |
923 | # man pages build enabled/disabled | |
924 | m4_pushdef([build_man_pages_msg], [Build and install man pages]) | |
925 | ||
926 | AS_IF([test "x$enable_man_pages" != "xno"], [ | |
927 | AS_IF([test "x$in_git_repo" = "xyes"], [ | |
928 | PPRINT_PROP_BOOL([build_man_pages_msg], 1) | |
929 | ], [ | |
930 | AS_IF([test "x$have_asciidoc_xmlto" = "xyes"], [ | |
931 | PPRINT_PROP_BOOL([build_man_pages_msg], 1) | |
932 | ], [ | |
933 | PPRINT_PROP_STRING([build_man_pages_msg], | |
934 | [${PPRINT_COLOR_BLDGRN}yes (already built)], | |
935 | $PPRINT_COLOR_SUBTITLE) | |
936 | ]) | |
937 | ]) | |
938 | ], [ | |
f75e50ab | 939 | PPRINT_PROP_BOOL_CUSTOM([build_man_pages_msg], 0, [To build man pages, use --enable-man-pages]) |
0659f3af PP |
940 | ]) |
941 | ||
942 | m4_popdef([build_man_pages_msg]) | |
943 | ||
4266f2ad | 944 | test "x$enable_api_doc" = "xyes" && value=1 || value=0 |
f75e50ab | 945 | PPRINT_PROP_BOOL_CUSTOM([HTML API documentation], $value, [To build documentation, use --enable-api-doc]) |
ba64dfcc SM |
946 | test "x$enable_python_bindings_doc" = "xyes" && value=1 || value=0 |
947 | PPRINT_PROP_BOOL_CUSTOM([Python bindings documentation], $value, [To build the Python bindings documentation, use --enable-python-bindings-doc]) | |
1a0399f9 | 948 | |
4266f2ad PP |
949 | AS_ECHO |
950 | PPRINT_SUBTITLE([Logging]) | |
951 | PPRINT_PROP_STRING([Minimal log level], $BABELTRACE_MINIMAL_LOG_LEVEL) | |
952 | ||
464ebc31 PP |
953 | AS_ECHO |
954 | PPRINT_SUBTITLE([Special build modes]) | |
f75e50ab GB |
955 | PPRINT_PROP_BOOL_CUSTOM([Debug mode], $BABELTRACE_DEBUG_MODE, [To enable, set the BABELTRACE_DEBUG_MODE environment variable to 1]) |
956 | PPRINT_PROP_BOOL_CUSTOM([Developer mode], $BABELTRACE_DEV_MODE, [To enable, set the BABELTRACE_DEV_MODE environment variable to 1]) | |
464ebc31 | 957 | |
1a0399f9 MJ |
958 | report_bindir="`eval eval echo $bindir`" |
959 | report_libdir="`eval eval echo $libdir`" | |
4266f2ad | 960 | report_sysconfdif="`eval eval echo $sysconfdir`" |
056632bf | 961 | report_pluginsdir="`eval eval eval echo $BABELTRACE_PLUGINS_DIR`" |
b14c7bf1 | 962 | report_pluginprovidersdir="`eval eval eval echo $BABELTRACE_PLUGIN_PROVIDERS_DIR`" |
1a0399f9 MJ |
963 | |
964 | # Print the bindir and libdir this `make install' will install into. | |
965 | AS_ECHO | |
966 | PPRINT_SUBTITLE([Install directories]) | |
967 | PPRINT_PROP_STRING([Binaries], [$report_bindir]) | |
968 | PPRINT_PROP_STRING([Libraries], [$report_libdir]) | |
056632bf | 969 | PPRINT_PROP_STRING([Plugins], [$report_pluginsdir]) |
b14c7bf1 | 970 | PPRINT_PROP_STRING([Plugin providers], [$report_pluginprovidersdir]) |
4266f2ad | 971 | PPRINT_PROP_STRING([Configuration], [$report_sysconfdif]) |