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