Dodji Seketeli | c80f792 | 2020-05-29 16:26:04 +0200 | [diff] [blame] | 1 | # SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception |
Dodji Seketeli | 2313dd1 | 2020-12-01 21:42:08 +0100 | [diff] [blame] | 2 | m4_define([version_major], [2]) |
Dodji Seketeli | c757289 | 2021-10-05 11:08:49 +0200 | [diff] [blame] | 3 | m4_define([version_minor], [1]) |
Dodji Seketeli | e4fefbd | 2013-05-07 12:42:53 +0200 | [diff] [blame] | 4 | |
Dodji Seketeli | d7d371a | 2013-02-28 11:42:57 +0100 | [diff] [blame] | 5 | AC_INIT([libabigail], |
Dodji Seketeli | cbf3c5d | 2017-11-06 00:32:36 +0100 | [diff] [blame] | 6 | [version_major.version_minor], |
Dodji Seketeli | d7d371a | 2013-02-28 11:42:57 +0100 | [diff] [blame] | 7 | [http://sourceware.org/bugzilla], |
| 8 | [libabigail], |
| 9 | [http://sourceware.org/libabigail]) |
| 10 | |
| 11 | AC_PREREQ([2.63]) |
Jan Engelhardt | 0b1224f | 2014-09-09 12:36:24 +0200 | [diff] [blame] | 12 | AC_CONFIG_AUX_DIR([build-aux]) |
Dodji Seketeli | d7d371a | 2013-02-28 11:42:57 +0100 | [diff] [blame] | 13 | AC_CONFIG_HEADER([config.h]) |
| 14 | AC_CONFIG_SRCDIR([README]) |
| 15 | AC_CONFIG_MACRO_DIR([m4]) |
| 16 | |
Chenxiong Qi | 57dcfb1 | 2016-02-09 18:05:33 +0800 | [diff] [blame] | 17 | dnl Include some autoconf macros to check for python modules. |
| 18 | dnl |
| 19 | dnl These macros are coming from the autoconf archive at |
| 20 | dnl http://www.gnu.org/software/autoconf-archive |
| 21 | |
Dodji Seketeli | 38ac2a8 | 2016-06-03 16:36:52 +0200 | [diff] [blame] | 22 | dnl This one is for the AX_CHECK_PYTHON_MODULES() macro. |
| 23 | m4_include([autoconf-archive/ax_check_python_modules.m4]) |
Chenxiong Qi | 57dcfb1 | 2016-02-09 18:05:33 +0800 | [diff] [blame] | 24 | |
| 25 | dnl These two below are for the AX_PROG_PYTHON_VERSION() module. |
| 26 | m4_include([autoconf-archive/ax_compare_version.m4]) |
| 27 | m4_include([autoconf-archive/ax_prog_python_version.m4]) |
| 28 | |
Dodji Seketeli | 3dbe842 | 2016-05-21 02:09:50 +0200 | [diff] [blame] | 29 | dnl This one is to be able to run "make check-valgrind" |
| 30 | dnl and have unit tests run under der Valgrind. |
| 31 | m4_include([autoconf-archive/ax_valgrind_check.m4]) |
| 32 | |
Dodji Seketeli | 05615c9 | 2014-12-27 12:54:28 +0100 | [diff] [blame] | 33 | AM_INIT_AUTOMAKE([1.11.1 foreign subdir-objects tar-ustar parallel-tests]) |
Dodji Seketeli | d7d371a | 2013-02-28 11:42:57 +0100 | [diff] [blame] | 34 | AM_MAINTAINER_MODE([enable]) |
| 35 | |
| 36 | AM_SILENT_RULES([yes]) |
| 37 | |
Dodji Seketeli | e4fefbd | 2013-05-07 12:42:53 +0200 | [diff] [blame] | 38 | VERSION_MAJOR=version_major |
| 39 | VERSION_MINOR=version_minor |
Dodji Seketeli | 2df84dd | 2018-01-09 18:03:42 +0100 | [diff] [blame] | 40 | VERSION_REVISION=0 |
Dodji Seketeli | 522cc62 | 2021-11-12 09:47:03 +0100 | [diff] [blame] | 41 | ABIXML_VERSION_MAJOR=2 |
| 42 | ABIXML_VERSION_MINOR=1 |
Dodji Seketeli | e4fefbd | 2013-05-07 12:42:53 +0200 | [diff] [blame] | 43 | |
| 44 | AC_SUBST(VERSION_MAJOR) |
| 45 | AC_SUBST(VERSION_MINOR) |
| 46 | AC_SUBST(VERSION_REVISION) |
Dodji Seketeli | 522cc62 | 2021-11-12 09:47:03 +0100 | [diff] [blame] | 47 | AC_SUBST(ABIXML_VERSION_MAJOR) |
| 48 | AC_SUBST(ABIXML_VERSION_MINOR) |
Dodji Seketeli | e4fefbd | 2013-05-07 12:42:53 +0200 | [diff] [blame] | 49 | |
Matthias Maennich | ade58f9 | 2019-12-15 23:51:51 +0000 | [diff] [blame] | 50 | dnl This VERSION_SUFFIX environment variable is to allow appending |
| 51 | dnl arbitrary text to the libabigail version string representation. |
| 52 | dnl That is useful to identify custom versions of the library |
| 53 | dnl (e.g. development versions or versions of a particular origin). |
| 54 | dnl |
| 55 | dnl The feature can be enabled by passing VERSION_SUFFIX to `configure`, |
| 56 | dnl e.g. |
| 57 | dnl |
| 58 | dnl $ configure VERSION_SUFFIX="-dev" |
| 59 | AC_SUBST(VERSION_SUFFIX) |
| 60 | |
Dodji Seketeli | 28090ba | 2015-08-14 12:49:57 +0200 | [diff] [blame] | 61 | AC_ARG_ENABLE(rpm, |
| 62 | AS_HELP_STRING([--enable-rpm=yes|no|auto], |
Dodji Seketeli | 72b42c3 | 2015-08-22 14:27:37 +0200 | [diff] [blame] | 63 | [enable the support of rpm in abipkgdiff (default is auto)]), |
Dodji Seketeli | 28090ba | 2015-08-14 12:49:57 +0200 | [diff] [blame] | 64 | ENABLE_RPM=$enableval, |
| 65 | ENABLE_RPM=auto) |
| 66 | |
Thomas Schwinge | 7015455 | 2021-12-10 17:52:46 +0100 | [diff] [blame] | 67 | # '--enable-rpm415' option name preserved for backwards compatibility. |
Dodji Seketeli | e1a1fd9 | 2020-12-01 11:26:27 +0100 | [diff] [blame] | 68 | AC_ARG_ENABLE(rpm415, |
| 69 | AS_HELP_STRING([--enable-rpm415=yes|no|auto], |
Thomas Schwinge | 7015455 | 2021-12-10 17:52:46 +0100 | [diff] [blame] | 70 | [enable rpm/zstd in abipkgdiff testing (default is auto)]), |
| 71 | ENABLE_RPM_ZSTD=$enableval, |
| 72 | ENABLE_RPM_ZSTD=auto) |
Dodji Seketeli | e1a1fd9 | 2020-12-01 11:26:27 +0100 | [diff] [blame] | 73 | |
Giuliano Procida | e5a13c8 | 2022-01-10 10:58:17 +0000 | [diff] [blame] | 74 | AC_ARG_ENABLE(debug-self-comparison, |
| 75 | AS_HELP_STRING([--enable-debug-self-comparison=yes|no], |
| 76 | [enable debugging of self comparison with 'abidw --debug-abidiff'(default is no)]), |
| 77 | ENABLE_DEBUG_SELF_COMPARISON=$enableval, |
| 78 | ENABLE_DEBUG_SELF_COMPARISON=no) |
| 79 | |
Dodji Seketeli | 623391a | 2021-10-14 12:12:01 +0200 | [diff] [blame] | 80 | AC_ARG_ENABLE(debug-type-canonicalization, |
| 81 | AS_HELP_STRING([--enable-debug-type-canonicalization=yes|no], |
| 82 | [enable debugging of type canonicalization 'abidw --debug-tc'(default is no)]), |
| 83 | ENABLE_DEBUG_TYPE_CANONICALIZATION=$enableval, |
| 84 | ENABLE_DEBUG_TYPE_CANONICALIZATION=no) |
| 85 | |
Dodji Seketeli | 28090ba | 2015-08-14 12:49:57 +0200 | [diff] [blame] | 86 | AC_ARG_ENABLE(deb, |
Roland McGrath | 5cfa9af | 2016-03-18 10:25:49 -0700 | [diff] [blame] | 87 | AS_HELP_STRING([--enable-deb=yes|no|auto], |
Dodji Seketeli | 72b42c3 | 2015-08-22 14:27:37 +0200 | [diff] [blame] | 88 | [enable the support of deb in abipkgdiff (default is auto)]), |
Dodji Seketeli | 28090ba | 2015-08-14 12:49:57 +0200 | [diff] [blame] | 89 | ENABLE_DEB=$enableval, |
| 90 | ENABLE_DEB=auto) |
| 91 | |
Dodji Seketeli | 585fc4c | 2015-08-22 13:59:18 +0200 | [diff] [blame] | 92 | AC_ARG_ENABLE(tar, |
| 93 | AS_HELP_STRING([--enable-tar=yes|no|auto], |
| 94 | [enable the support of GNU tar archives in abipkgdiff (default is auto)]), |
| 95 | ENABLE_TAR=$enableval, |
| 96 | ENABLE_TAR=auto) |
| 97 | |
Dodji Seketeli | 52a3357 | 2014-11-19 17:08:10 +0100 | [diff] [blame] | 98 | AC_ARG_ENABLE(apidoc, |
| 99 | AS_HELP_STRING([--enable-apidoc=yes|no|auto], |
| 100 | [enable generation of the apidoc in html]), |
| 101 | ENABLE_APIDOC=$enableval, |
| 102 | ENABLE_APIDOC=auto) |
| 103 | |
| 104 | AC_ARG_ENABLE(manual, |
| 105 | AS_HELP_STRING([--enable-manual=yes|no|auto], |
| 106 | [enable generation of the manual in html]), |
| 107 | ENABLE_MANUAL=$enableval, |
| 108 | ENABLE_MANUAL=auto) |
| 109 | |
Ondrej Oprala | c738b5c | 2015-11-14 18:32:01 +0100 | [diff] [blame] | 110 | AC_ARG_ENABLE([bash-completion], |
| 111 | AS_HELP_STRING([--enable-bash-completion=yes|no|auto], |
| 112 | [enable using completion files for tools]), |
| 113 | ENABLE_BASH_COMPLETION=$enableval, |
| 114 | ENABLE_BASH_COMPLETION=auto) |
| 115 | |
Chenxiong Qi | 57dcfb1 | 2016-02-09 18:05:33 +0800 | [diff] [blame] | 116 | AC_ARG_ENABLE([fedabipkgdiff], |
| 117 | AS_HELP_STRING([--enable-fedabipkgdiff=yes|no|auto], |
| 118 | [enable the fedabipkgdiff tool]), |
| 119 | ENABLE_FEDABIPKGDIFF=$enableval, |
| 120 | ENABLE_FEDABIPKGDIFF=auto) |
| 121 | |
Chenxiong Qi | 1ac0c05 | 2018-03-25 15:34:59 +0800 | [diff] [blame] | 122 | AC_ARG_ENABLE([python3], |
| 123 | AS_HELP_STRING([--enable-python3=yes|no|auto], |
| 124 | [enable running abigail tools with python3 (default is auto)]), |
| 125 | ENABLE_PYTHON3=$enableval, |
| 126 | ENABLE_PYTHON3=auto) |
| 127 | |
Dodji Seketeli | 39f02b6 | 2019-04-18 15:46:34 +0200 | [diff] [blame] | 128 | AC_ARG_ENABLE(asan, |
| 129 | AS_HELP_STRING([--enable-asan=yes|no], |
| 130 | [enable the support of building with -fsanitize=address)]), |
| 131 | ENABLE_ASAN=$enableval, |
| 132 | ENABLE_ASAN=no) |
| 133 | |
Matthias Maennich | 5f70e6b | 2020-03-18 00:18:37 +0100 | [diff] [blame] | 134 | AC_ARG_ENABLE(msan, |
| 135 | AS_HELP_STRING([--enable-msan=yes|no], |
| 136 | [enable the support of building with -fsanitize=memory)]), |
| 137 | ENABLE_MSAN=$enableval, |
| 138 | ENABLE_MSAN=no) |
| 139 | |
Matthias Maennich | 059a59a | 2020-03-12 12:31:57 +0100 | [diff] [blame] | 140 | AC_ARG_ENABLE(tsan, |
| 141 | AS_HELP_STRING([--enable-tsan=yes|no], |
| 142 | [enable the support of building with -fsanitize=thread)]), |
| 143 | ENABLE_TSAN=$enableval, |
| 144 | ENABLE_TSAN=no) |
| 145 | |
Dodji Seketeli | 39f02b6 | 2019-04-18 15:46:34 +0200 | [diff] [blame] | 146 | AC_ARG_ENABLE(ubsan, |
| 147 | AS_HELP_STRING([--enable-ubsan=yes|no], |
| 148 | [enable the support of building with -fsanitize=undefined)]), |
| 149 | ENABLE_UBSAN=$enableval, |
| 150 | ENABLE_UBSAN=no) |
| 151 | |
Jose E. Marchesi via Libabigail | 8c22f5f | 2021-10-29 00:51:32 +0200 | [diff] [blame] | 152 | dnl check if user has enabled CTF code |
| 153 | AC_ARG_ENABLE(ctf, |
| 154 | AS_HELP_STRING([--enable-ctf=yes|no], |
| 155 | [disable support of ctf files)]), |
| 156 | ENABLE_CTF=$enableval, |
| 157 | ENABLE_CTF=no) |
| 158 | |
Giuliano Procida | 2ec38c2 | 2021-05-24 11:03:15 +0100 | [diff] [blame] | 159 | AC_ARG_ENABLE(cxx17, |
| 160 | AS_HELP_STRING([--enable-cxx17=yes|no], |
| 161 | [enable features that use the C++17 compiler]), |
| 162 | ENABLE_CXX17=$enableval, |
| 163 | ENABLE_CXX17=no) |
| 164 | |
Dodji Seketeli | 8e225db | 2013-03-08 13:49:05 +0100 | [diff] [blame] | 165 | dnl ************************************************* |
Dodji Seketeli | 9d601b2 | 2015-08-14 12:46:36 +0200 | [diff] [blame] | 166 | dnl check for dependencies |
Dodji Seketeli | 8e225db | 2013-03-08 13:49:05 +0100 | [diff] [blame] | 167 | dnl ************************************************* |
| 168 | |
Dodji Seketeli | d7d371a | 2013-02-28 11:42:57 +0100 | [diff] [blame] | 169 | AC_PROG_CXX |
| 170 | AC_USE_SYSTEM_EXTENSIONS |
| 171 | AC_PROG_INSTALL |
| 172 | |
| 173 | LT_PREREQ([2.2]) |
| 174 | LT_INIT |
| 175 | |
| 176 | AC_LANG([C++]) |
| 177 | AC_LANG_COMPILER_REQUIRE |
| 178 | |
Dodji Seketeli | a126e92 | 2016-07-22 11:01:41 +0200 | [diff] [blame] | 179 | dnl |
Giuliano Procida | 2ec38c2 | 2021-05-24 11:03:15 +0100 | [diff] [blame] | 180 | dnl We use C++11 or C++17 if enabled |
Dodji Seketeli | 4f8c9b1 | 2020-12-03 10:53:08 +0100 | [diff] [blame] | 181 | dnl |
| 182 | CXX_STANDARD=c++11 |
| 183 | |
| 184 | dnl |
Dodji Seketeli | a126e92 | 2016-07-22 11:01:41 +0200 | [diff] [blame] | 185 | dnl check if the c++ compiler has support __attribute__((visibility("hidden"))) |
| 186 | dnl |
| 187 | AC_MSG_NOTICE([checking for GCC visibility attribute support ...]) |
| 188 | AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ |
| 189 | struct __attribute__((visibility("hidden"))) Foo |
| 190 | { |
| 191 | int m0; |
| 192 | |
| 193 | Foo() |
| 194 | : m0() |
| 195 | {} |
| 196 | }; |
| 197 | ]])], |
| 198 | [SUPPORTS_GCC_VISIBILITY_ATTRIBUTE=yes], |
| 199 | [SUPPORTS_GCC_VISIBILITY_ATTRIBUTE=no] |
| 200 | ) |
| 201 | |
| 202 | if test x$SUPPORTS_GCC_VISIBILITY_ATTRIBUTE = xyes; then |
| 203 | AC_MSG_NOTICE([GCC visibility attribute is supported]) |
| 204 | AC_DEFINE([HAS_GCC_VISIBILITY_ATTRIBUTE], 1, |
| 205 | [Defined if the compiler supports the attribution visibility syntax __attribute__((visibility("hidden")))]) |
Dodji Seketeli | 103a6eb | 2016-07-27 12:18:58 +0200 | [diff] [blame] | 206 | VISIBILITY_FLAGS="-fvisibility=hidden" |
Dodji Seketeli | a126e92 | 2016-07-22 11:01:41 +0200 | [diff] [blame] | 207 | else |
| 208 | AC_MSG_NOTICE([GCC visibility attribute is not supported]) |
Dodji Seketeli | 103a6eb | 2016-07-27 12:18:58 +0200 | [diff] [blame] | 209 | VISIBILITY_FLAGS= |
Dodji Seketeli | a126e92 | 2016-07-22 11:01:41 +0200 | [diff] [blame] | 210 | fi |
| 211 | |
Dodji Seketeli | 103a6eb | 2016-07-27 12:18:58 +0200 | [diff] [blame] | 212 | AC_SUBST(VISIBILITY_FLAGS) |
| 213 | |
Dodji Seketeli | 2c33f16 | 2017-11-13 12:52:07 +0100 | [diff] [blame] | 214 | dnl Older glibc had a broken fts that didn't work with Large File Systems. |
| 215 | dnl We want the version that can handler LFS, but include workaround if we |
| 216 | dnl get a bad one. Add define to CFLAGS (not AC_DEFINE it) since we need to |
| 217 | dnl check it before including config.h (which might define _FILE_OFFSET_BITS). |
| 218 | AC_CACHE_CHECK([whether including fts.h with _FILE_OFFSET_BITS set breaks], ac_cv_bad_fts, |
| 219 | [AC_COMPILE_IFELSE([AC_LANG_SOURCE([[ |
| 220 | #define _FILE_OFFSET_BITS 64 |
| 221 | #include <fts.h> |
| 222 | ]])], |
| 223 | ac_cv_bad_fts=no, ac_cv_bad_fts=yes)]) |
| 224 | AS_IF([test "x$ac_cv_bad_fts" = "xyes"], |
| 225 | [CFLAGS="$CFLAGS -DBAD_FTS=1", |
| 226 | CXXFLAGS="$CXXFLAGS -DBAD_FTS=1"]) |
| 227 | |
Dodji Seketeli | 929db0a | 2015-01-07 13:45:53 +0100 | [diff] [blame] | 228 | dnl Check for dependency: libelf, libdw, libebl (elfutils) |
Dodji Seketeli | 5a80db0 | 2016-02-11 12:37:03 +0100 | [diff] [blame] | 229 | dnl Note that we need to use at least elfutils 0.159 but |
| 230 | dnl at that time elfutils didnt have pkgconfig capabilities |
| 231 | dnl to easily query for its version. |
Dodji Seketeli | 929db0a | 2015-01-07 13:45:53 +0100 | [diff] [blame] | 232 | ELF_LIBS= |
Jan Engelhardt | f505d05 | 2014-09-09 14:53:41 +0200 | [diff] [blame] | 233 | AC_CHECK_LIB([elf], [elf_end], [ELF_LIBS="-lelf"]) |
| 234 | AC_CHECK_HEADER([libelf.h], |
| 235 | [], |
| 236 | [AC_MSG_ERROR([could not find libelf.h])]) |
Dodji Seketeli | bd1af4c | 2013-12-07 08:07:54 +0100 | [diff] [blame] | 237 | |
Dodji Seketeli | 929db0a | 2015-01-07 13:45:53 +0100 | [diff] [blame] | 238 | DW_LIBS= |
| 239 | AC_CHECK_LIB(dw, dwfl_begin, [DW_LIBS=-ldw]) |
Dodji Seketeli | ce5e488 | 2016-05-22 11:39:33 +0200 | [diff] [blame] | 240 | AC_CHECK_LIB(dw, dwarf_getalt, |
| 241 | [FOUND_DWARF_GETALT_IN_LIBDW=yes], |
| 242 | [FOUND_DWARF_GETALT_IN_LIBDW=no]) |
| 243 | |
Dodji Seketeli | 929db0a | 2015-01-07 13:45:53 +0100 | [diff] [blame] | 244 | AC_CHECK_HEADER(elfutils/libdwfl.h, |
| 245 | [], |
| 246 | [AC_MSG_ERROR([could not find elfutils/libdwfl.h installed])]) |
| 247 | |
Dodji Seketeli | ad87323 | 2019-01-09 15:22:01 +0100 | [diff] [blame] | 248 | dnl Allow users to compile with the NDEBUG macro defined, |
| 249 | dnl meaning they are compiling in a mode where the |
| 250 | dnl assert call does nothing. With the directive below, |
| 251 | dnl users just need to pass the --disable-assert |
| 252 | dnl option to configure. |
| 253 | AC_HEADER_ASSERT |
| 254 | |
Dodji Seketeli | 929db0a | 2015-01-07 13:45:53 +0100 | [diff] [blame] | 255 | if test x$ELF_LIBS = x; then |
| 256 | AC_MSG_ERROR([could not find elfutils elf library installed]) |
| 257 | fi |
| 258 | |
Dodji Seketeli | bd1af4c | 2013-12-07 08:07:54 +0100 | [diff] [blame] | 259 | if test x$DW_LIBS = x; then |
| 260 | AC_MSG_ERROR([could not find elfutils dwarf library installed]) |
| 261 | fi |
| 262 | |
Dodji Seketeli | ae1cade | 2016-10-27 16:05:35 +0200 | [diff] [blame] | 263 | if test x$FOUND_DWARF_GETALT_IN_LIBDW = xyes; then |
Dodji Seketeli | ce5e488 | 2016-05-22 11:39:33 +0200 | [diff] [blame] | 264 | AC_DEFINE([LIBDW_HAS_DWARF_GETALT], 1, |
| 265 | [Defined if libdw has the function dwarf_getalt]) |
| 266 | fi |
| 267 | |
Dodji Seketeli | bd1af4c | 2013-12-07 08:07:54 +0100 | [diff] [blame] | 268 | AC_SUBST(DW_LIBS) |
Jan Engelhardt | f505d05 | 2014-09-09 14:53:41 +0200 | [diff] [blame] | 269 | AC_SUBST([ELF_LIBS]) |
Dodji Seketeli | bd1af4c | 2013-12-07 08:07:54 +0100 | [diff] [blame] | 270 | |
Jose E. Marchesi via Libabigail | 8c22f5f | 2021-10-29 00:51:32 +0200 | [diff] [blame] | 271 | dnl check for libctf presence if CTF code has been enabled by command line |
| 272 | dnl argument, and then define CTF flag (to build CTF file code) if libctf is |
| 273 | dnl found on the system |
| 274 | CTF_LIBS= |
| 275 | if test x$ENABLE_CTF = xyes; then |
| 276 | LIBCTF= |
| 277 | AC_CHECK_LIB(ctf, ctf_open, [LIBCTF=yes], [LIBCTF=no]) |
| 278 | if test x$LIBCTF = xyes; then |
| 279 | AC_MSG_NOTICE([activating CTF code]) |
| 280 | AC_DEFINE([WITH_CTF], 1, |
| 281 | [Defined if user enables and system has the libctf library]) |
| 282 | CTF_LIBS=-lctf |
| 283 | else |
| 284 | AC_MSG_NOTICE([CTF enabled but no libctf found]) |
| 285 | ENABLE_CTF=no |
| 286 | fi |
| 287 | fi |
| 288 | |
Benjamin Kosnik | 342b932 | 2013-03-27 12:07:03 -0700 | [diff] [blame] | 289 | dnl Check for dependency: libxml |
| 290 | LIBXML2_VERSION=2.6.22 |
| 291 | PKG_CHECK_MODULES(XML, libxml-2.0 >= $LIBXML2_VERSION) |
Dodji Seketeli | 849b598 | 2013-08-22 16:57:42 +0200 | [diff] [blame] | 292 | |
| 293 | AC_SUBST(LIBXML2_VERSION) |
Benjamin Kosnik | 342b932 | 2013-03-27 12:07:03 -0700 | [diff] [blame] | 294 | AC_SUBST(XML_LIBS) |
| 295 | AC_SUBST(XML_CFLAGS) |
Dodji Seketeli | 8e225db | 2013-03-08 13:49:05 +0100 | [diff] [blame] | 296 | |
Dodji Seketeli | 393fe31 | 2015-08-14 12:48:35 +0200 | [diff] [blame] | 297 | dnl Check for some programs like rm, mkdir, etc ... |
| 298 | AC_CHECK_PROG(HAS_RM, rm, yes, no) |
| 299 | if test x$HAS_RM = xno; then |
| 300 | AC_MSG_ERROR([could not find the program 'rm' installed]) |
| 301 | fi |
| 302 | |
| 303 | AC_CHECK_PROG(HAS_MKDIR, mkdir, yes, no) |
| 304 | if test x$HAS_MKDIR = xno; then |
| 305 | AC_MSG_ERROR([could not find the program 'mkdir' installed]) |
| 306 | fi |
| 307 | |
Dodji Seketeli | 28090ba | 2015-08-14 12:49:57 +0200 | [diff] [blame] | 308 | dnl Check for the rpm2cpio and cpio programs |
| 309 | if test x$ENABLE_RPM = xyes -o x$ENABLE_RPM = xauto; then |
| 310 | AC_CHECK_PROG(HAS_RPM2CPIO, rpm2cpio, yes, no) |
| 311 | AC_CHECK_PROG(HAS_CPIO, cpio, yes, no) |
Dodji Seketeli | 7642dc1 | 2018-03-29 13:28:29 +0200 | [diff] [blame] | 312 | AC_CHECK_PROG(HAS_RPM, rpm, yes, no) |
Roland McGrath | 5cfa9af | 2016-03-18 10:25:49 -0700 | [diff] [blame] | 313 | |
Dodji Seketeli | 7642dc1 | 2018-03-29 13:28:29 +0200 | [diff] [blame] | 314 | if test x$HAS_RPM2CPIO = xyes -a x$HAS_CPIO = xyes -a x$HAS_RPM = xyes; then |
Ondrej Oprala | c7ec20a | 2016-12-12 16:37:54 +0100 | [diff] [blame] | 315 | ENABLE_RPM=yes |
| 316 | else |
| 317 | if test x$ENABLE_RPM = xyes; then |
Dodji Seketeli | 7642dc1 | 2018-03-29 13:28:29 +0200 | [diff] [blame] | 318 | AC_MSG_ERROR([rpm support in abipkgdiff needs 'rpm2cpio', 'cpio' and 'rpm' programs to be installed]) |
Dodji Seketeli | 28090ba | 2015-08-14 12:49:57 +0200 | [diff] [blame] | 319 | fi |
Ondrej Oprala | c7ec20a | 2016-12-12 16:37:54 +0100 | [diff] [blame] | 320 | ENABLE_RPM=no |
Dodji Seketeli | 28090ba | 2015-08-14 12:49:57 +0200 | [diff] [blame] | 321 | fi |
| 322 | fi |
| 323 | |
Thomas Schwinge | 7015455 | 2021-12-10 17:52:46 +0100 | [diff] [blame] | 324 | dnl Point to a rpm/zstd file, that is: |
| 325 | dnl $ rpm -qp --qf '%{PAYLOADCOMPRESSOR}\n' [rpm_zstd_file] |
| 326 | dnl zstd |
| 327 | m4_define([rpm_zstd_file], [tests/data/test-diff-pkg/mesa-libGLU-9.0.1-3.fc33.x86_64.rpm]) |
| 328 | AC_CONFIG_SRCDIR([rpm_zstd_file]) |
| 329 | if test x$ENABLE_RPM_ZSTD = xyes -o x$ENABLE_RPM_ZSTD = xauto; then |
| 330 | if test x$ENABLE_RPM = xno; then |
| 331 | if test x$ENABLE_RPM_ZSTD = xyes; then |
| 332 | AC_MSG_ERROR([rpm/zstd support needs rpm support]) |
| 333 | fi |
| 334 | ENABLE_RPM_ZSTD=n/a |
| 335 | else |
| 336 | AC_MSG_CHECKING([for rpm/zstd support]) |
| 337 | rpm2cpio > /dev/null 2>&AS_MESSAGE_LOG_FD "$srcdir"/rpm_zstd_file |
| 338 | if test $? -eq 0; then |
| 339 | enable_rpm_zstd=yes |
| 340 | else |
| 341 | enable_rpm_zstd=no |
| 342 | fi |
| 343 | AC_MSG_RESULT([$enable_rpm_zstd]) |
| 344 | if test x$ENABLE_RPM_ZSTD:$enable_rpm_zstd = xyes:no; then |
| 345 | AC_MSG_ERROR([rpm/zstd support not available]) |
| 346 | fi |
| 347 | ENABLE_RPM_ZSTD=$enable_rpm_zstd |
| 348 | fi |
Dodji Seketeli | c2ce1a3 | 2020-11-23 10:48:01 +0100 | [diff] [blame] | 349 | fi |
| 350 | |
Dodji Seketeli | 28090ba | 2015-08-14 12:49:57 +0200 | [diff] [blame] | 351 | if test x$ENABLE_RPM = xyes; then |
| 352 | AC_DEFINE([WITH_RPM], 1, [compile the rpm package support in abipkgdiff]) |
Dodji Seketeli | c2ce1a3 | 2020-11-23 10:48:01 +0100 | [diff] [blame] | 353 | AC_MSG_NOTICE([rpm support in abipkgdiff is enabled]); |
| 354 | |
Thomas Schwinge | 7015455 | 2021-12-10 17:52:46 +0100 | [diff] [blame] | 355 | if test x$ENABLE_RPM_ZSTD = xyes; then |
| 356 | AC_DEFINE([WITH_RPM_ZSTD], 1, [has rpm/zstd support]) |
| 357 | AC_MSG_NOTICE([rpm/zstd in abipkgdiff testing is enabled]) |
Dodji Seketeli | c2ce1a3 | 2020-11-23 10:48:01 +0100 | [diff] [blame] | 358 | fi |
Dodji Seketeli | 28090ba | 2015-08-14 12:49:57 +0200 | [diff] [blame] | 359 | else |
Dodji Seketeli | c2ce1a3 | 2020-11-23 10:48:01 +0100 | [diff] [blame] | 360 | AC_MSG_NOTICE([rpm support in abipkgdiff is disabled]); |
Dodji Seketeli | 28090ba | 2015-08-14 12:49:57 +0200 | [diff] [blame] | 361 | fi |
| 362 | |
| 363 | AM_CONDITIONAL(ENABLE_RPM, test x$ENABLE_RPM = xyes) |
| 364 | |
Giuliano Procida | e5a13c8 | 2022-01-10 10:58:17 +0000 | [diff] [blame] | 365 | dnl enable the debugging of self comparison when doing abidw --debug-abidiff <binary> |
| 366 | if test x$ENABLE_DEBUG_SELF_COMPARISON = xyes; then |
| 367 | AC_DEFINE([WITH_DEBUG_SELF_COMPARISON], 1, [compile support of debugging abidw --abidiff]) |
| 368 | AC_MSG_NOTICE([support of debugging self comparison is enabled]) |
| 369 | else |
| 370 | AC_MSG_NOTICE([support of debugging self comparison is disabled]) |
| 371 | fi |
| 372 | |
| 373 | AM_CONDITIONAL(ENABLE_DEBUG_SELF_COMPARISON, test x$ENABLE_DEBUG_SELF_COMPARISON = xyes) |
| 374 | |
Dodji Seketeli | 623391a | 2021-10-14 12:12:01 +0200 | [diff] [blame] | 375 | dnl enable the debugging of type canonicalization when doing abidw --debug-tc <binary> |
| 376 | if test x$ENABLE_DEBUG_TYPE_CANONICALIZATION = xyes; then |
| 377 | AC_DEFINE([WITH_DEBUG_TYPE_CANONICALIZATION], |
| 378 | 1, |
| 379 | [compile support of debugging type canonicalization while using abidw --debug-tc]) |
| 380 | AC_MSG_NOTICE([support of debugging type canonicalization is enabled]) |
| 381 | else |
| 382 | AC_MSG_NOTICE([support of debugging type canonicalization is disabled]) |
| 383 | fi |
| 384 | |
| 385 | AM_CONDITIONAL(ENABLE_DEBUG_TYPE_CANONICALIZATION, test x$ENABLE_DEBUG_TYPE_CANONICALIZATION = xyes) |
| 386 | |
Dodji Seketeli | 28090ba | 2015-08-14 12:49:57 +0200 | [diff] [blame] | 387 | dnl Check for the dpkg program |
| 388 | if test x$ENABLE_DEB = xauto -o x$ENABLE_DEB = xyes; then |
| 389 | AC_CHECK_PROG(HAS_DPKG, dpkg, yes, no) |
| 390 | |
| 391 | if test x$ENABLE_DEB = xauto; then |
| 392 | if test x$HAS_DPKG = xyes; then |
| 393 | ENABLE_DEB=yes |
Dodji Seketeli | 95de84b | 2015-10-15 12:51:33 +0200 | [diff] [blame] | 394 | else |
| 395 | ENABLE_DEB=no |
Dodji Seketeli | 28090ba | 2015-08-14 12:49:57 +0200 | [diff] [blame] | 396 | fi |
| 397 | fi |
| 398 | fi |
| 399 | |
| 400 | if test x$ENABLE_DEB = xyes; then |
| 401 | AC_DEFINE([WITH_DEB], 1, [compile the deb package support in abipkgdiff]) |
| 402 | AC_MSG_NOTICE(deb support in abipkgdiff is enabled); |
| 403 | else |
| 404 | AC_MSG_NOTICE(deb support in abipkgdiff is disabled); |
| 405 | fi |
| 406 | |
| 407 | AM_CONDITIONAL(ENABLE_DEB, test x$ENABLE_DEB = xyes) |
| 408 | |
Dodji Seketeli | 585fc4c | 2015-08-22 13:59:18 +0200 | [diff] [blame] | 409 | dnl Check for the tar program |
| 410 | if test x$ENABLE_TAR = xauto -o x$ENABLE_TAR = xyes; then |
| 411 | AC_CHECK_PROG(HAS_TAR, tar, yes, no) |
| 412 | |
| 413 | if test x$ENABLE_TAR = xauto; then |
| 414 | if test x$HAS_TAR = xyes; then |
| 415 | ENABLE_TAR=yes |
| 416 | fi |
| 417 | fi |
| 418 | fi |
| 419 | |
| 420 | if test x$ENABLE_TAR = xyes; then |
| 421 | AC_DEFINE([WITH_TAR], 1, [compile the GNU tar archive support in abipkgdiff]) |
| 422 | AC_MSG_NOTICE(GNU tar support in abipkgdiff is enabled); |
| 423 | else |
| 424 | AC_MSG_NOTICE(GNU tar support in abipkgdiff is disabled); |
| 425 | fi |
| 426 | |
| 427 | AM_CONDITIONAL(ENABLE_TAR, test x$ENABLE_TAR = xyes) |
| 428 | |
Ondrej Oprala | c738b5c | 2015-11-14 18:32:01 +0100 | [diff] [blame] | 429 | dnl Check for the bash-completion package |
| 430 | if test x$ENABLE_BASH_COMPLETION = xauto -o x$ENABLE_BASH_COMPLETION = xyes; then |
| 431 | AC_CHECK_PROG(HAS_BASH_COMPLETION, bash-completion, yes, no) |
| 432 | |
| 433 | if test x$ENABLE_BASH_COMPLETION = xauto; then |
| 434 | if test x$HAS_BASH_COMPLETION = xyes; then |
| 435 | ENABLE_BASH_COMPLETION=yes |
Dodji Seketeli | ca21881 | 2016-05-21 03:01:32 +0200 | [diff] [blame] | 436 | else |
| 437 | ENABLE_BASH_COMPLETION=no |
Ondrej Oprala | c738b5c | 2015-11-14 18:32:01 +0100 | [diff] [blame] | 438 | fi |
| 439 | fi |
| 440 | fi |
| 441 | |
| 442 | if test x$ENABLE_BASH_COMPLETION = xyes; then |
| 443 | AC_MSG_NOTICE(bash-completion support in libabigail is enabled); |
| 444 | else |
| 445 | AC_MSG_NOTICE(bash-completion support in libabigail is disabled); |
| 446 | fi |
| 447 | |
| 448 | AM_CONDITIONAL(ENABLE_BASH_COMPLETION, test x$ENABLE_BASH_COMPLETION = xyes) |
| 449 | |
Dodji Seketeli | 4b2dac6 | 2018-07-17 12:11:02 +0200 | [diff] [blame] | 450 | # The minimal python 2 version we want to support is 2.6.6 because EL6 |
| 451 | # distributions have that version installed. |
| 452 | MINIMAL_PYTHON2_VERSION="2.6.6" |
| 453 | |
| 454 | AC_PATH_PROG(PYTHON, python, no) |
| 455 | AX_PROG_PYTHON_VERSION($MINIMAL_PYTHON2_VERSION, |
| 456 | [MINIMAL_PYTHON_VERSION_FOUND=yes], |
| 457 | [MINIMAL_PYTHON_VERSION_FOUND=no]) |
| 458 | |
| 459 | # The minimal python 3 version we want to support is 3.5, which is |
| 460 | # available in Fedora releases and in EL7. |
| 461 | if test x$ENABLE_PYTHON3 != xno; then |
| 462 | AC_CHECK_PROGS(PYTHON3_INTERPRETER, [python3 python3.5 python3.6 python3.7], no) |
| 463 | else |
| 464 | PYTHON3_INTERPRETER=no |
| 465 | fi |
| 466 | |
| 467 | if test x$ENABLE_PYTHON3 = xauto; then |
| 468 | if test x$PYTHON3_INTERPRETER != xno; then |
| 469 | ENABLE_PYTHON3=yes |
| 470 | else |
| 471 | # When enabling python3 is auto, tests only run if the |
| 472 | # python3 interpreter was found on the system. Otherwise, |
| 473 | # just ignore it. |
| 474 | ENABLE_PYTHON3=no |
| 475 | AC_MSG_NOTICE([Python 3 was not found. Skip running tests with Python 3.]) |
| 476 | fi |
| 477 | fi |
| 478 | |
| 479 | if test x$ENABLE_PYTHON3 = xyes; then |
| 480 | if test x$PYTHON3_INTERPRETER != xno; then |
| 481 | # We were asked to enable python3 implicitely (auto and |
| 482 | # python3 was found) or explicitly. So enable running tests |
| 483 | # using python3 then. |
| 484 | RUN_TESTS_WITH_PY3=yes |
| 485 | else |
| 486 | AC_MSG_ERROR([Python 3 was not found]) |
| 487 | fi |
| 488 | fi |
| 489 | |
| 490 | if test x$PYTHON3_INTERPRETER = xyes; then |
| 491 | MINIMAL_PYTHON_VERSION_FOUND=yes |
| 492 | fi |
| 493 | |
| 494 | if test x$MINIMAL_PYTHON_VERSION_FOUND = xno; then |
| 495 | AC_MSG_NOTICE([no minimal version of python found]) |
| 496 | if test x$PYTHON = xno; then |
| 497 | AC_MSG_NOTICE([python binary wasn't found]) |
| 498 | if test x$PYTHON3_INTERPRETER != xno; then |
| 499 | AC_MSG_NOTICE([using $PYTHON3_INTERPRETER instead]) |
| 500 | PYTHON=$PYTHON3_INTERPRETER |
| 501 | MINIMAL_PYTHON_VERSION_FOUND=yes |
| 502 | MISSING_FEDABIPKGDIFF_DEP=no |
| 503 | fi |
| 504 | fi |
| 505 | else |
| 506 | AC_MSG_NOTICE([a minimal version of python was found ...]) |
| 507 | if test x$PYTHON3_INTERPRETER != xno; then |
| 508 | # We were instructed to use python3 and it's present on the |
| 509 | # system. Let's update the PYTHON variable that points to the |
| 510 | # actual python interpreter we are going to be using |
| 511 | AC_MSG_NOTICE([... and it was $PYTHON3_INTERPRETER]) |
| 512 | PYTHON=$PYTHON3_INTERPRETER |
| 513 | fi |
| 514 | fi |
| 515 | |
Chenxiong Qi | 57dcfb1 | 2016-02-09 18:05:33 +0800 | [diff] [blame] | 516 | dnl if --enable-fedabipkgdiff has the 'auto' value, then check for the required |
| 517 | dnl python modules. If they are present, then enable the fedabipkgdiff program. |
| 518 | dnl If they are not then disable the program. |
| 519 | dnl |
| 520 | dnl If --enable-fedabipkgdiff has the 'yes' value, then check for the required |
| 521 | dnl python modules and whatever dependency fedabipkgdiff needs. If they are |
| 522 | dnl not present then the configure script will error out. |
| 523 | |
| 524 | if test x$ENABLE_FEDABIPKGDIFF = xauto -o x$ENABLE_FEDABIPKGDIFF = xyes; then |
| 525 | CHECK_DEPS_FOR_FEDABIPKGDIFF=yes |
| 526 | else |
| 527 | CHECK_DEPS_FOR_FEDABIPKGDIFF=no |
| 528 | fi |
| 529 | |
| 530 | if test x$CHECK_DEPS_FOR_FEDABIPKGDIFF = xyes; then |
Dodji Seketeli | ce293c2 | 2016-09-12 12:09:59 +0200 | [diff] [blame] | 531 | MISSING_FEDABIPKGDIFF_DEP=no |
| 532 | |
Chenxiong Qi | 57dcfb1 | 2016-02-09 18:05:33 +0800 | [diff] [blame] | 533 | if test x$ENABLE_FEDABIPKGDIFF = xyes; then |
Dodji Seketeli | ce293c2 | 2016-09-12 12:09:59 +0200 | [diff] [blame] | 534 | MISSING_FEDABIPKGDIFF_DEP_FATAL=yes |
| 535 | else |
| 536 | MISSING_FEDABIPKGDIFF_DEP_FATAL=no |
Chenxiong Qi | 57dcfb1 | 2016-02-09 18:05:33 +0800 | [diff] [blame] | 537 | fi |
| 538 | |
| 539 | AC_PATH_PROG(WGET, wget, no) |
| 540 | |
Dodji Seketeli | ce293c2 | 2016-09-12 12:09:59 +0200 | [diff] [blame] | 541 | if test x$WGET = xno; then |
Thomas Schwinge | 7d30a3d | 2021-12-11 19:18:52 +0100 | [diff] [blame] | 542 | MISSING_FEDABIPKGDIFF_DEP=yes |
Dodji Seketeli | ce293c2 | 2016-09-12 12:09:59 +0200 | [diff] [blame] | 543 | if test x$MISSING_FEDABIPKGDIFF_DEP_FATAL = xyes; then |
| 544 | AC_MSG_ERROR(could not find the wget program) |
| 545 | else |
Dodji Seketeli | a44a4c1 | 2016-11-23 13:13:19 +0100 | [diff] [blame] | 546 | AC_MSG_NOTICE([could not find the wget program]) |
| 547 | AC_MSG_NOTICE([disabling fedabipkgdiff as a result]) |
Dodji Seketeli | ce293c2 | 2016-09-12 12:09:59 +0200 | [diff] [blame] | 548 | fi |
Chenxiong Qi | 57dcfb1 | 2016-02-09 18:05:33 +0800 | [diff] [blame] | 549 | fi |
| 550 | |
Chenxiong Qi | 57dcfb1 | 2016-02-09 18:05:33 +0800 | [diff] [blame] | 551 | if test x$MINIMAL_PYTHON_VERSION_FOUND = xno; then |
Dodji Seketeli | ce293c2 | 2016-09-12 12:09:59 +0200 | [diff] [blame] | 552 | MISSING_FEDABIPKGDIFF_DEP=yes |
| 553 | if test x$MISSING_FEDABIPKGDIFF_DEP_FATAL = xyes; then |
Chenxiong Qi | 1ac0c05 | 2018-03-25 15:34:59 +0800 | [diff] [blame] | 554 | AC_MSG_ERROR([could not find a python program of version at least $MINIMAL_PYTHON2_VERSION]) |
| 555 | fi |
Chenxiong Qi | 57dcfb1 | 2016-02-09 18:05:33 +0800 | [diff] [blame] | 556 | fi |
| 557 | |
Chenxiong Qi | 1ac0c05 | 2018-03-25 15:34:59 +0800 | [diff] [blame] | 558 | ################################################################### |
| 559 | # Now we are going to check the presence of the required python |
| 560 | # modules using either python2 or python3 as required until now. |
| 561 | ################################################################### |
| 562 | |
| 563 | # Grrr, the urlparse python2 module got renamed in python3 as |
| 564 | # urllib.parse. Oh well. |
| 565 | if test x$PYTHON = xpython3; then |
| 566 | URLPARSE_MODULE=urllib.parse |
| 567 | else |
| 568 | URLPARSE_MODULE=urlparse |
| 569 | fi |
| 570 | |
Dodji Seketeli | 38ac2a8 | 2016-06-03 16:36:52 +0200 | [diff] [blame] | 571 | REQUIRED_PYTHON_MODULES_FOR_FEDABIPKGDIFF="\ |
Chenxiong Qi | 1ac0c05 | 2018-03-25 15:34:59 +0800 | [diff] [blame] | 572 | argparse logging os re subprocess sys $URLPARSE_MODULE \ |
| 573 | xdg koji mock rpm imp tempfile mimetypes shutil six" |
Chenxiong Qi | 57dcfb1 | 2016-02-09 18:05:33 +0800 | [diff] [blame] | 574 | |
Thomas Schwinge | 7d30a3d | 2021-12-11 19:18:52 +0100 | [diff] [blame] | 575 | AX_CHECK_PYTHON_MODULES([$REQUIRED_PYTHON_MODULES_FOR_FEDABIPKGDIFF], |
| 576 | [$PYTHON], |
| 577 | [FOUND_ALL_PYTHON_MODULES=yes], |
| 578 | [FOUND_ALL_PYTHON_MODULES=no]) |
Dodji Seketeli | 38ac2a8 | 2016-06-03 16:36:52 +0200 | [diff] [blame] | 579 | |
Thomas Schwinge | 7d30a3d | 2021-12-11 19:18:52 +0100 | [diff] [blame] | 580 | if test x$FOUND_ALL_PYTHON_MODULES = xno; then |
| 581 | MISSING_FEDABIPKGDIFF_DEP=yes |
| 582 | if test x$MISSING_FEDABIPKGDIFF_DEP_FATAL = xyes; then |
| 583 | AC_MSG_ERROR([missing python modules: $MISSING_PYTHON_MODULES]); |
Dodji Seketeli | 38ac2a8 | 2016-06-03 16:36:52 +0200 | [diff] [blame] | 584 | else |
Thomas Schwinge | 7d30a3d | 2021-12-11 19:18:52 +0100 | [diff] [blame] | 585 | AC_MSG_NOTICE([missing python modules: $MISSING_PYTHON_MODULES]) |
| 586 | AC_MSG_NOTICE([disabling fedabipkgdiff as a result]) |
Dodji Seketeli | 38ac2a8 | 2016-06-03 16:36:52 +0200 | [diff] [blame] | 587 | fi |
Thomas Schwinge | 7d30a3d | 2021-12-11 19:18:52 +0100 | [diff] [blame] | 588 | else |
| 589 | # On some old platforms, the koji client object doesn't have |
| 590 | # the required .read_config method. Alas, that module doesn't |
| 591 | # have any __version__ string either. So we do as well as we |
| 592 | # can to try and detect that case and disable fedabipkgdiff if |
| 593 | # necessary. |
| 594 | AC_MSG_CHECKING([if koji client is recent enough]) |
| 595 | $PYTHON 2>&AS_MESSAGE_LOG_FD -c " |
Chenxiong Qi | 57dcfb1 | 2016-02-09 18:05:33 +0800 | [diff] [blame] | 596 | import koji |
Thomas Schwinge | feb441e | 2021-12-17 23:16:26 +0100 | [diff] [blame] | 597 | try: |
| 598 | koji.read_config('koji') |
| 599 | except koji.ConfigurationError: |
| 600 | # See 'tools/fedabipkgdiff'. |
| 601 | pass" |
Thomas Schwinge | 7d30a3d | 2021-12-11 19:18:52 +0100 | [diff] [blame] | 602 | if test $? -eq 0; then |
| 603 | koji_version_check_ok=yes |
| 604 | else |
| 605 | koji_version_check_ok=no |
Chenxiong Qi | 57dcfb1 | 2016-02-09 18:05:33 +0800 | [diff] [blame] | 606 | fi |
Thomas Schwinge | 7d30a3d | 2021-12-11 19:18:52 +0100 | [diff] [blame] | 607 | AC_MSG_RESULT([$koji_version_check_ok]) |
| 608 | if test x$koji_version_check_ok = xno; then |
| 609 | MISSING_FEDABIPKGDIFF_DEP=yes |
| 610 | if test x$MISSING_FEDABIPKGDIFF_DEP_FATAL = xyes; then |
| 611 | AC_MSG_ERROR([unsuitable koji client]) |
| 612 | else |
| 613 | AC_MSG_WARN([disabling fedabipkgdiff]) |
| 614 | fi |
| 615 | fi |
| 616 | fi |
| 617 | |
| 618 | if test x$MISSING_FEDABIPKGDIFF_DEP = xno; then |
| 619 | ENABLE_FEDABIPKGDIFF=yes |
| 620 | else |
| 621 | ENABLE_FEDABIPKGDIFF=no |
Chenxiong Qi | 57dcfb1 | 2016-02-09 18:05:33 +0800 | [diff] [blame] | 622 | fi |
| 623 | fi |
| 624 | |
| 625 | AM_CONDITIONAL(ENABLE_FEDABIPKGDIFF, test x$ENABLE_FEDABIPKGDIFF = xyes) |
Chenxiong Qi | 1ac0c05 | 2018-03-25 15:34:59 +0800 | [diff] [blame] | 626 | AM_CONDITIONAL(ENABLE_RUNNING_TESTS_WITH_PY3, test x$RUN_TESTS_WITH_PY3 = xyes) |
| 627 | AM_CONDITIONAL(ENABLE_PYTHON3_INTERPRETER, test x$PYTHON3_INTERPRETER != xno) |
Dodji Seketeli | 899cc4b | 2018-05-16 14:24:31 +0200 | [diff] [blame] | 628 | AC_SUBST(PYTHON) |
Chenxiong Qi | 57dcfb1 | 2016-02-09 18:05:33 +0800 | [diff] [blame] | 629 | |
Ben Woodard via Libabigail | 05d33d6 | 2021-03-12 11:42:41 -0800 | [diff] [blame] | 630 | DEPS_CPPFLAGS="$XML_CFLAGS" |
Dodji Seketeli | c57e950 | 2013-08-27 15:18:59 +0200 | [diff] [blame] | 631 | AC_SUBST(DEPS_CPPFLAGS) |
| 632 | |
Dodji Seketeli | 52a3357 | 2014-11-19 17:08:10 +0100 | [diff] [blame] | 633 | dnl Check for the presence of doxygen program |
| 634 | |
| 635 | if test x$ENABLE_APIDOC != xno; then |
| 636 | AC_CHECK_PROG(FOUND_DOXYGEN, doxygen, yes, no) |
| 637 | if test x$ENABLE_APIDOC = xauto; then |
| 638 | if test x$FOUND_DOXYGEN = xyes; then |
| 639 | ENABLE_APIDOC=yes |
| 640 | else |
| 641 | ENABLE_APIDOC=no |
| 642 | fi |
| 643 | fi |
| 644 | fi |
| 645 | AM_CONDITIONAL(ENABLE_APIDOC, test x$ENABLE_APIDOC = xyes) |
| 646 | |
| 647 | dnl Check for the presence of the sphinx-build program |
| 648 | |
| 649 | if test x$ENABLE_MANUAL != xno; then |
| 650 | AC_CHECK_PROG(FOUND_SPHINX_BUILD, sphinx-build, yes, no) |
| 651 | if test x$ENABLE_MANUAL = xauto; then |
| 652 | if test x$FOUND_SPHINX_BUILD = xyes; then |
| 653 | ENABLE_MANUAL=yes |
| 654 | else |
| 655 | ENABLE_MANUAL=no |
| 656 | fi |
| 657 | fi |
| 658 | fi |
| 659 | AM_CONDITIONAL(ENABLE_MANUAL, test x$ENABLE_MANUAL = xyes) |
| 660 | |
Dodji Seketeli | 3dbe842 | 2016-05-21 02:09:50 +0200 | [diff] [blame] | 661 | dnl Check for the presence of Valgrind and do the plumbing to allow |
| 662 | dnl the running of "make check-valgrind". |
| 663 | AX_VALGRIND_DFLT(memcheck, on) |
| 664 | AX_VALGRIND_DFLT(helgrind, on) |
| 665 | AX_VALGRIND_DFLT(drd, off) |
| 666 | AX_VALGRIND_DFLT(sgcheck, off) |
| 667 | |
| 668 | AX_VALGRIND_CHECK |
| 669 | |
Giuliano Procida | 2ec38c2 | 2021-05-24 11:03:15 +0100 | [diff] [blame] | 670 | dnl Handle conditional use of a C++17 compiler |
| 671 | if test x$ENABLE_CXX17 = xyes; then |
| 672 | CXX_STANDARD=c++17 |
| 673 | fi |
| 674 | AM_CONDITIONAL(ENABLE_CXX17, test x$ENABLE_CXX17 = xyes) |
| 675 | |
Dodji Seketeli | 52a3357 | 2014-11-19 17:08:10 +0100 | [diff] [blame] | 676 | dnl Set the list of libraries libabigail depends on |
| 677 | |
Jose E. Marchesi via Libabigail | 8c22f5f | 2021-10-29 00:51:32 +0200 | [diff] [blame] | 678 | DEPS_LIBS="$XML_LIBS $ELF_LIBS $DW_LIBS $CTF_LIBS" |
Dodji Seketeli | c57e950 | 2013-08-27 15:18:59 +0200 | [diff] [blame] | 679 | AC_SUBST(DEPS_LIBS) |
| 680 | |
Dodji Seketeli | fc27d10 | 2013-03-21 23:42:41 +0100 | [diff] [blame] | 681 | if test x$ABIGAIL_DEVEL != x; then |
Dodji Seketeli | 84f3740 | 2020-05-18 12:01:14 +0200 | [diff] [blame] | 682 | CFLAGS="-g -Og -Wall -Wextra -Werror -D_FORTIFY_SOURCE=2" |
| 683 | CXXFLAGS="-g -Og -Wall -Wextra -Werror -D_FORTIFY_SOURCE=2 -D_GLIBCXX_DEBUG" |
Dodji Seketeli | 39f02b6 | 2019-04-18 15:46:34 +0200 | [diff] [blame] | 684 | fi |
| 685 | |
Matthias Maennich | 6c23841 | 2020-05-15 11:19:55 +0200 | [diff] [blame] | 686 | if test x$ABIGAIL_DEBUG != x; then |
| 687 | CFLAGS="$CFLAGS -Og -g3 -ggdb" |
| 688 | CXXFLAGS="$CXXFLAGS -Og -g3 -ggdb" |
| 689 | fi |
| 690 | |
Dodji Seketeli | 8d7ffe3 | 2020-10-13 18:15:05 +0200 | [diff] [blame] | 691 | if test x$ABIGAIL_NO_OPTIMIZATION_DEBUG != x; then |
| 692 | CFLAGS="-g -O0 -Wall -Wextra -Werror" |
| 693 | CXXFLAGS="-g -O0 -Wall -Wextra -Werror" |
| 694 | fi |
| 695 | |
Dodji Seketeli | 39f02b6 | 2019-04-18 15:46:34 +0200 | [diff] [blame] | 696 | if test x$ENABLE_ASAN = xyes; then |
| 697 | CFLAGS="$CFLAGS -fsanitize=address" |
| 698 | CXXFLAGS="$CXXFLAGS -fsanitize=address" |
| 699 | fi |
| 700 | |
Matthias Maennich | 5f70e6b | 2020-03-18 00:18:37 +0100 | [diff] [blame] | 701 | if test x$ENABLE_MSAN = xyes; then |
| 702 | CFLAGS="$CFLAGS -fsanitize=memory -fsanitize-memory-track-origins" |
| 703 | CXXFLAGS="$CXXFLAGS -fsanitize=memory -fsanitize-memory-track-origins" |
| 704 | fi |
| 705 | |
Matthias Maennich | 059a59a | 2020-03-12 12:31:57 +0100 | [diff] [blame] | 706 | if test x$ENABLE_TSAN = xyes; then |
| 707 | CFLAGS="$CFLAGS -fsanitize=thread" |
| 708 | CXXFLAGS="$CXXFLAGS -fsanitize=thread" |
| 709 | fi |
| 710 | |
Dodji Seketeli | 39f02b6 | 2019-04-18 15:46:34 +0200 | [diff] [blame] | 711 | if test x$ENABLE_UBSAN = xyes; then |
| 712 | CFLAGS="$CFLAGS -fsanitize=undefined" |
| 713 | CXXFLAGS="$CXXFLAGS -fsanitize=undefined" |
Dodji Seketeli | fc27d10 | 2013-03-21 23:42:41 +0100 | [diff] [blame] | 714 | fi |
| 715 | |
Jose E. Marchesi via Libabigail | 8c22f5f | 2021-10-29 00:51:32 +0200 | [diff] [blame] | 716 | dnl Set a few Automake conditionals |
| 717 | |
| 718 | AM_CONDITIONAL([CTF_READER],[test "x$ENABLE_CTF" = "xyes"]) |
| 719 | |
Dodji Seketeli | 4f8c9b1 | 2020-12-03 10:53:08 +0100 | [diff] [blame] | 720 | dnl Set the level of C++ standard we use. |
| 721 | CXXFLAGS="$CXXFLAGS -std=$CXX_STANDARD" |
| 722 | |
Dodji Seketeli | ffec27f | 2019-01-18 11:21:48 +0100 | [diff] [blame] | 723 | dnl Check if several decls and constant are defined in dependant |
| 724 | dnl libraries |
Sinny Kumari | 388f990 | 2015-03-31 15:46:45 +0530 | [diff] [blame] | 725 | HAS_EM_AARCH64=no |
| 726 | AC_CHECK_DECL([EM_AARCH64], |
| 727 | [HAS_EM_AARCH64=yes], |
| 728 | [HAS_EM_AARCH64=no], |
| 729 | [[#include <elf.h>]]) |
| 730 | |
| 731 | if test x$HAS_EM_AARCH64 = xyes; then |
| 732 | AC_DEFINE([HAVE_EM_AARCH64_MACRO], |
| 733 | 1, |
| 734 | [Defined to 1 if elf.h has EM_AARCH64 macro defined]) |
| 735 | fi |
| 736 | |
| 737 | HAS_EM_TILEPRO=no |
| 738 | AC_CHECK_DECL([EM_TILEPRO], |
| 739 | [HAS_EM_TILEPRO=yes], |
| 740 | [HAS_EM_TILEPRO=no], |
| 741 | [[#include <elf.h>]]) |
| 742 | |
| 743 | if test x$HAS_EM_TILEPRO = xyes; then |
| 744 | AC_DEFINE([HAVE_EM_TILEPRO_MACRO], |
| 745 | 1, |
| 746 | [Defined to 1 if elf.h has EM_TILEPR0 macro defined]) |
| 747 | fi |
| 748 | |
| 749 | HAS_EM_TILEGX=no |
| 750 | AC_CHECK_DECL([EM_TILEGX], |
| 751 | [HAS_EM_TILEGX=yes], |
| 752 | [HAS_EM_TILEGX=no], |
| 753 | [[#include <elf.h>]]) |
| 754 | |
| 755 | if test x$HAS_EM_TILEGX = xyes; then |
| 756 | AC_DEFINE([HAVE_EM_TILEGX_MACRO], |
| 757 | 1, |
| 758 | [Defined to 1 if elf.h has EM_TILEGX macro defined]) |
| 759 | fi |
| 760 | |
Dodji Seketeli | ce0d10d | 2019-09-18 09:16:27 +0200 | [diff] [blame] | 761 | HAS_R_AARCH64_ABS64=no |
| 762 | AC_CHECK_DECL([R_AARCH64_ABS64], |
| 763 | [HAS_R_AARCH64_ABS64=yes], |
| 764 | [HAS_R_AARCH64_ABS64=no], |
| 765 | [[#include <elf.h>]]) |
| 766 | |
| 767 | if test x$HAS_R_AARCH64_ABS64 = xyes; then |
| 768 | AC_DEFINE([HAVE_R_AARCH64_ABS64_MACRO], |
| 769 | 1, |
| 770 | [Defined to 1 if elf.h has R_AARCH64_ABS64 macro defined]) |
| 771 | fi |
| 772 | |
| 773 | HAS_R_AARCH64_PREL32=no |
| 774 | AC_CHECK_DECL([R_AARCH64_PREL32], |
| 775 | [HAS_R_AARCH64_PREL32=yes], |
| 776 | [HAS_R_AARCH64_PREL32=no], |
| 777 | [[#include <elf.h>]]) |
| 778 | |
| 779 | if test x$HAS_R_AARCH64_PREL32 = xyes; then |
| 780 | AC_DEFINE([HAVE_R_AARCH64_PREL32_MACRO], |
| 781 | 1, |
| 782 | [Defined to 1 if elf.h has R_AARCH64_PREL32 macro defined]) |
| 783 | fi |
| 784 | |
Dodji Seketeli | ffec27f | 2019-01-18 11:21:48 +0100 | [diff] [blame] | 785 | HAS_DW_LANG_UPC=no |
| 786 | AC_CHECK_DECL([DW_LANG_UPC], |
| 787 | [HAS_DW_LANG_UPC=yes], |
| 788 | [HAS_DW_LANG_UPC=no], |
| 789 | [[#include <dwarf.h>]]) |
| 790 | if test x$HAS_DW_LANG_UPC = xyes; then |
| 791 | AC_DEFINE([HAVE_DW_LANG_UPC_enumerator], |
| 792 | 1, |
| 793 | [Define to 1 if dwarf.h has the DW_LANG_UPC enumerator]) |
| 794 | fi |
| 795 | |
| 796 | HAS_DW_LANG_D=no |
| 797 | AC_CHECK_DECL([DW_LANG_D], |
| 798 | [HAS_DW_LANG_D=yes], |
| 799 | [HAS_DW_LANG_D=no], |
| 800 | [[#include <dwarf.h>]]) |
| 801 | if test x$HAS_DW_LANG_D = xyes; then |
| 802 | AC_DEFINE([HAVE_DW_LANG_D_enumerator], |
| 803 | 1, |
| 804 | [Define to 1 if dwarf.h has the DW_LANG_D enumerator]) |
| 805 | fi |
| 806 | |
| 807 | HAS_DW_LANG_Python=no |
| 808 | AC_CHECK_DECL([DW_LANG_Python], |
| 809 | [HAS_DW_LANG_Python=yes], |
| 810 | [HAS_DW_LANG_Python=no], |
| 811 | [[#include <dwarf.h>]]) |
| 812 | if test x$HAS_DW_LANG_Python = xyes; then |
| 813 | AC_DEFINE([HAVE_DW_LANG_Python_enumerator], |
| 814 | 1, |
| 815 | [Define to 1 if dwarf.h has the DW_LANG_Python enumerator]) |
| 816 | fi |
| 817 | |
| 818 | HAS_DW_LANG_Go=no |
| 819 | AC_CHECK_DECL([DW_LANG_Go], |
| 820 | [HAS_DW_LANG_Go=yes], |
| 821 | [HAS_DW_LANG_Go=no], |
| 822 | [[#include <dwarf.h>]]) |
| 823 | if test x$HAS_DW_LANG_Go = xyes; then |
| 824 | AC_DEFINE([HAVE_DW_LANG_Go_enumerator], |
| 825 | 1, |
| 826 | [Define to 1 if dwarf.h has the DW_LANG_Go enumerator]) |
| 827 | fi |
| 828 | |
| 829 | HAS_DW_LANG_C11=no |
| 830 | AC_CHECK_DECL([DW_LANG_C11], |
| 831 | [HAS_DW_LANG_C11=yes], |
| 832 | [HAS_DW_LANG_C11=no], |
| 833 | [[#include <dwarf.h>]]) |
| 834 | if test x$HAS_DW_LANG_C11 = xyes; then |
| 835 | AC_DEFINE([HAVE_DW_LANG_C11_enumerator], |
| 836 | 1, |
| 837 | [Define to 1 if dwarf.h has the DW_LANG_C11 enumerator]) |
| 838 | fi |
| 839 | |
| 840 | HAS_DW_LANG_C_plus_plus_03=no |
| 841 | AC_CHECK_DECL([DW_LANG_C_plus_plus_03], |
| 842 | [HAS_DW_LANG_C_plus_plus_03=yes], |
| 843 | [HAS_DW_LANG_C_plus_plus_03=no], |
| 844 | [[#include <dwarf.h>]]) |
| 845 | if test x$HAS_DW_LANG_C_plus_plus_03 = xyes; then |
| 846 | AC_DEFINE([HAVE_DW_LANG_C_plus_plus_03_enumerator], |
| 847 | 1, |
| 848 | [Define to 1 if dwarf.h has the DW_LANG_C_plus_plus_03 enumerator]) |
| 849 | fi |
| 850 | |
| 851 | HAS_DW_LANG_C_plus_plus_11=no |
| 852 | AC_CHECK_DECL([DW_LANG_C_plus_plus_11], |
| 853 | [HAS_DW_LANG_C_plus_plus_11=yes], |
| 854 | [HAS_DW_LANG_C_plus_plus_11=no], |
| 855 | [[#include <dwarf.h>]]) |
| 856 | if test x$HAS_DW_LANG_C_plus_plus_11 = xyes; then |
| 857 | AC_DEFINE([HAVE_DW_LANG_C_plus_plus_11_enumerator], |
| 858 | 1, |
| 859 | [Define to 1 if dwarf.h has the DW_LANG_C_plus_plus_11 enumerator]) |
| 860 | fi |
| 861 | |
| 862 | HAS_DW_LANG_C_plus_plus_14=no |
| 863 | AC_CHECK_DECL([DW_LANG_C_plus_plus_14], |
| 864 | [HAS_DW_LANG_C_plus_plus_14=yes], |
| 865 | [HAS_DW_LANG_C_plus_plus_14=no], |
| 866 | [[#include <dwarf.h>]]) |
| 867 | if test x$HAS_DW_LANG_C_plus_plus_14 = xyes; then |
| 868 | AC_DEFINE([HAVE_DW_LANG_C_plus_plus_14_enumerator], |
| 869 | 1, |
| 870 | [Define to 1 if dwarf.h has the DW_LANG_C_plus_plus_14 enumerator]) |
| 871 | fi |
| 872 | |
| 873 | HAS_DW_LANG_Mips_Assembler=no |
| 874 | AC_CHECK_DECL([DW_LANG_Mips_Assembler], |
| 875 | [HAS_DW_LANG_Mips_Assembler=yes], |
| 876 | [HAS_DW_LANG_Mips_Assembler=no], |
| 877 | [[#include <dwarf.h>]]) |
| 878 | if test x$HAS_DW_LANG_Mips_Assembler = xyes; then |
| 879 | AC_DEFINE([HAVE_DW_LANG_Mips_Assembler_enumerator], |
| 880 | 1, |
| 881 | [Define to 1 if dwarf.h has the DW_LANG_Mips_Assembler enumerator]) |
| 882 | fi |
| 883 | |
| 884 | HAS_DW_LANG_Rust=no |
| 885 | AC_CHECK_DECL([DW_LANG_Rust], |
Dodji Seketeli | 6e9b2ae | 2019-01-24 10:31:57 +0100 | [diff] [blame] | 886 | [HAS_DW_LANG_Rust=yes], |
| 887 | [HAS_DW_LANG_Rust=no], |
Dodji Seketeli | ffec27f | 2019-01-18 11:21:48 +0100 | [diff] [blame] | 888 | [[#include <dwarf.h>]]) |
| 889 | |
| 890 | if test x$HAS_DW_LANG_Rust = xyes; then |
| 891 | AC_DEFINE([HAVE_DW_LANG_Rust_enumerator], |
| 892 | 1, |
| 893 | [Define to 1 if dwarf.h has the DW_LANG_Rust enumerator]) |
| 894 | fi |
| 895 | |
Dodji Seketeli | 568dee1 | 2019-09-30 17:36:58 +0200 | [diff] [blame] | 896 | HAS_DW_FORM_strx1=no |
| 897 | HAS_DW_FORM_strx2=no |
| 898 | HAS_DW_FORM_strx3=no |
| 899 | HAS_DW_FORM_strx4=no |
Dodji Seketeli | 43c59da | 2021-02-08 12:03:19 +0100 | [diff] [blame] | 900 | HAS_DW_FORM_line_strp=no |
Dodji Seketeli | 568dee1 | 2019-09-30 17:36:58 +0200 | [diff] [blame] | 901 | |
| 902 | AC_CHECK_DECL([DW_FORM_strx1], |
| 903 | [HAS_DW_FORM_strx1=yes], |
| 904 | [HAS_DW_FORM_strx1=no], |
| 905 | [[#include <dwarf.h>]]) |
| 906 | |
| 907 | if test x$HAS_DW_FORM_strx1 = xyes; then |
| 908 | AC_DEFINE([HAVE_DW_FORM_strx1], |
| 909 | 1, |
| 910 | [Define to 1 if dwarf.h has the DW_FORM_strx1 enumerator]) |
| 911 | fi |
| 912 | |
| 913 | AC_CHECK_DECL([DW_FORM_strx2], |
| 914 | [HAS_DW_FORM_strx2=yes], |
| 915 | [HAS_DW_FORM_strx2=no], |
| 916 | [[#include <dwarf.h>]]) |
| 917 | |
| 918 | if test x$HAS_DW_FORM_strx2 = xyes; then |
| 919 | AC_DEFINE([HAVE_DW_FORM_strx2], |
| 920 | 1, |
| 921 | [Define to 1 if dwarf.h has the DW_FORM_strx2 enumerator]) |
| 922 | fi |
| 923 | |
| 924 | AC_CHECK_DECL([DW_FORM_strx3], |
| 925 | [HAS_DW_FORM_strx3=yes], |
| 926 | [HAS_DW_FORM_strx3=no], |
| 927 | [[#include <dwarf.h>]]) |
| 928 | |
| 929 | if test x$HAS_DW_FORM_strx3 = xyes; then |
| 930 | AC_DEFINE([HAVE_DW_FORM_strx3], |
| 931 | 1, |
| 932 | [Define to 1 if dwarf.h has the DW_FORM_strx3 enumerator]) |
| 933 | fi |
| 934 | |
| 935 | AC_CHECK_DECL([DW_FORM_strx4], |
| 936 | [HAS_DW_FORM_strx4=yes], |
| 937 | [HAS_DW_FORM_strx4=no], |
| 938 | [[#include <dwarf.h>]]) |
| 939 | |
| 940 | if test x$HAS_DW_FORM_strx4 = xyes; then |
| 941 | AC_DEFINE([HAVE_DW_FORM_strx4], |
| 942 | 1, |
| 943 | [Define to 1 if dwarf.h has the DW_FORM_strx4 enumerator]) |
| 944 | fi |
| 945 | |
Dodji Seketeli | 43c59da | 2021-02-08 12:03:19 +0100 | [diff] [blame] | 946 | AC_CHECK_DECL([DW_FORM_line_strp], |
| 947 | [HAS_DW_FORM_line_strp=yes], |
| 948 | [HAS_DW_FORM_line_strp=no], |
| 949 | [[#include <dwarf.h>]]) |
| 950 | |
| 951 | if test x$HAS_DW_FORM_line_strp = xyes; then |
| 952 | AC_DEFINE([HAVE_DW_FORM_line_strp], |
| 953 | 1, |
| 954 | [Define to 1 if dwarf.h has the DW_FORM_line_strp enumerator]) |
| 955 | fi |
| 956 | |
Dodji Seketeli | 1f53d1f | 2019-10-01 16:50:37 +0200 | [diff] [blame] | 957 | if test x$HAS_DW_FORM_strx1 = xyes -a \ |
| 958 | x$HAS_DW_FORM_strx2 = xyes -a \ |
| 959 | x$HAS_DW_FORM_strx3 = xyes -a \ |
| 960 | x$HAS_DW_FORM_strx4 = xyes ; then |
Dodji Seketeli | 568dee1 | 2019-09-30 17:36:58 +0200 | [diff] [blame] | 961 | AC_DEFINE([HAVE_DW_FORM_strx], |
| 962 | 1, |
| 963 | [Define to 1 if dwarf.h has the DW_FORM_strx enumerators]) |
| 964 | fi |
| 965 | |
Dodji Seketeli | 944025e | 2015-06-23 12:30:27 +0200 | [diff] [blame] | 966 | dnl Set large files support |
| 967 | AC_SYS_LARGEFILE |
| 968 | |
Dodji Seketeli | d7d371a | 2013-02-28 11:42:57 +0100 | [diff] [blame] | 969 | AC_CONFIG_FILES([Makefile |
Dodji Seketeli | 849b598 | 2013-08-22 16:57:42 +0200 | [diff] [blame] | 970 | libabigail.pc |
Dodji Seketeli | 7fbe6a9 | 2014-11-18 23:32:50 +0100 | [diff] [blame] | 971 | include/Makefile |
| 972 | include/abg-version.h |
| 973 | doc/Makefile |
| 974 | doc/manuals/Makefile |
| 975 | src/Makefile |
| 976 | tools/Makefile |
Dodji Seketeli | 5c19aa1 | 2014-11-20 11:26:30 +0100 | [diff] [blame] | 977 | tests/Makefile |
Ondrej Oprala | c738b5c | 2015-11-14 18:32:01 +0100 | [diff] [blame] | 978 | tests/data/Makefile |
| 979 | bash-completion/Makefile]) |
Dodji Seketeli | d7d371a | 2013-02-28 11:42:57 +0100 | [diff] [blame] | 980 | |
Dodji Seketeli | 8b28d17 | 2015-02-13 20:20:57 +0100 | [diff] [blame] | 981 | dnl Some test scripts are generated by autofoo. |
Chenxiong Qi | 57dcfb1 | 2016-02-09 18:05:33 +0800 | [diff] [blame] | 982 | AC_CONFIG_FILES([tests/runtestcanonicalizetypes.sh], |
| 983 | [chmod +x tests/runtestcanonicalizetypes.sh]) |
Dodji Seketeli | cac59a1 | 2020-11-16 12:22:05 +0100 | [diff] [blame] | 984 | AC_CONFIG_FILES([tests/runtestslowselfcompare.sh], |
| 985 | [chmod +x tests/runtestslowselfcompare.sh]) |
Chenxiong Qi | 1a00cad | 2016-07-06 17:51:13 +0800 | [diff] [blame] | 986 | AC_CONFIG_FILES([tests/mockfedabipkgdiff], |
| 987 | [chmod +x tests/mockfedabipkgdiff]) |
Chenxiong Qi | 57dcfb1 | 2016-02-09 18:05:33 +0800 | [diff] [blame] | 988 | AC_CONFIG_FILES([tests/runtestfedabipkgdiff.py], |
| 989 | [chmod +x tests/runtestfedabipkgdiff.py]) |
Chenxiong Qi | 1ac0c05 | 2018-03-25 15:34:59 +0800 | [diff] [blame] | 990 | AC_CONFIG_FILES([tests/runtestfedabipkgdiffpy3.sh], |
| 991 | [chmod +x tests/runtestfedabipkgdiffpy3.sh]) |
Dodji Seketeli | b36ca15 | 2016-05-30 10:37:48 +0200 | [diff] [blame] | 992 | AC_CONFIG_FILES([tests/runtestdefaultsupprs.py], |
| 993 | [chmod +x tests/runtestdefaultsupprs.py]) |
Chenxiong Qi | 1ac0c05 | 2018-03-25 15:34:59 +0800 | [diff] [blame] | 994 | AC_CONFIG_FILES([tests/runtestdefaultsupprspy3.sh], |
| 995 | [chmod +x tests/runtestdefaultsupprspy3.sh]) |
Dodji Seketeli | 8b28d17 | 2015-02-13 20:20:57 +0100 | [diff] [blame] | 996 | |
Dodji Seketeli | d7d371a | 2013-02-28 11:42:57 +0100 | [diff] [blame] | 997 | AC_OUTPUT |
Dodji Seketeli | e6e7680 | 2014-08-31 11:17:03 +0200 | [diff] [blame] | 998 | |
| 999 | AC_MSG_NOTICE([ |
| 1000 | ===================================================================== |
Matthias Maennich | ade58f9 | 2019-12-15 23:51:51 +0000 | [diff] [blame] | 1001 | Libabigail: $VERSION_MAJOR.$VERSION_MINOR.$VERSION_REVISION$VERSION_SUFFIX |
Dodji Seketeli | e6e7680 | 2014-08-31 11:17:03 +0200 | [diff] [blame] | 1002 | ===================================================================== |
| 1003 | |
| 1004 | Here is the configuration of the package: |
| 1005 | |
Dodji Seketeli | 585fc4c | 2015-08-22 13:59:18 +0200 | [diff] [blame] | 1006 | Prefix : ${prefix} |
| 1007 | Source code location : ${srcdir} |
| 1008 | C Compiler : ${CC} |
| 1009 | C++ Compiler : ${CXX} |
Dodji Seketeli | a126e92 | 2016-07-22 11:01:41 +0200 | [diff] [blame] | 1010 | GCC visibility attribute supported : ${SUPPORTS_GCC_VISIBILITY_ATTRIBUTE} |
Dodji Seketeli | 4f8c9b1 | 2020-12-03 10:53:08 +0100 | [diff] [blame] | 1011 | CXXFLAGS : ${CXXFLAGS} |
Chenxiong Qi | 1ac0c05 | 2018-03-25 15:34:59 +0800 | [diff] [blame] | 1012 | Python : ${PYTHON} |
Dodji Seketeli | e6e7680 | 2014-08-31 11:17:03 +0200 | [diff] [blame] | 1013 | |
| 1014 | OPTIONAL FEATURES: |
Dodji Seketeli | 4f8c9b1 | 2020-12-03 10:53:08 +0100 | [diff] [blame] | 1015 | C++ standard level : ${CXX_STANDARD} |
Dodji Seketeli | ce5e488 | 2016-05-22 11:39:33 +0200 | [diff] [blame] | 1016 | libdw has the dwarf_getalt function : ${FOUND_DWARF_GETALT_IN_LIBDW} |
Dodji Seketeli | 585fc4c | 2015-08-22 13:59:18 +0200 | [diff] [blame] | 1017 | Enable rpm support in abipkgdiff : ${ENABLE_RPM} |
Thomas Schwinge | 7015455 | 2021-12-10 17:52:46 +0100 | [diff] [blame] | 1018 | Enable rpm/zstd in abipkgdiff testing : ${ENABLE_RPM_ZSTD} |
Giuliano Procida | e5a13c8 | 2022-01-10 10:58:17 +0000 | [diff] [blame] | 1019 | Enable self comparison debugging : ${ENABLE_DEBUG_SELF_COMPARISON} |
Dodji Seketeli | 623391a | 2021-10-14 12:12:01 +0200 | [diff] [blame] | 1020 | Enable type canonicalization debugging : ${ENABLE_DEBUG_TYPE_CANONICALIZATION} |
Dodji Seketeli | 585fc4c | 2015-08-22 13:59:18 +0200 | [diff] [blame] | 1021 | Enable deb support in abipkgdiff : ${ENABLE_DEB} |
| 1022 | Enable GNU tar archive support in abipkgdiff : ${ENABLE_TAR} |
Ondrej Oprala | c738b5c | 2015-11-14 18:32:01 +0100 | [diff] [blame] | 1023 | Enable bash completion : ${ENABLE_BASH_COMPLETION} |
Dodji Seketeli | b28cb4e | 2016-05-21 03:02:19 +0200 | [diff] [blame] | 1024 | Enable fedabipkgdiff : ${ENABLE_FEDABIPKGDIFF} |
Chenxiong Qi | 1ac0c05 | 2018-03-25 15:34:59 +0800 | [diff] [blame] | 1025 | Enable python 3 : ${ENABLE_PYTHON3} |
Jose E. Marchesi via Libabigail | 8c22f5f | 2021-10-29 00:51:32 +0200 | [diff] [blame] | 1026 | Enable CTF front-end : ${ENABLE_CTF} |
Dodji Seketeli | 3dbe842 | 2016-05-21 02:09:50 +0200 | [diff] [blame] | 1027 | Enable running tests under Valgrind : ${enable_valgrind} |
Dodji Seketeli | 39f02b6 | 2019-04-18 15:46:34 +0200 | [diff] [blame] | 1028 | Enable build with -fsanitize=address : ${ENABLE_ASAN} |
Matthias Maennich | 5f70e6b | 2020-03-18 00:18:37 +0100 | [diff] [blame] | 1029 | Enable build with -fsanitize=memory : ${ENABLE_MSAN} |
Matthias Maennich | 059a59a | 2020-03-12 12:31:57 +0100 | [diff] [blame] | 1030 | Enable build with -fsanitize=thread : ${ENABLE_TSAN} |
Dodji Seketeli | 39f02b6 | 2019-04-18 15:46:34 +0200 | [diff] [blame] | 1031 | Enable build with -fsanitize=undefined : ${ENABLE_UBSAN} |
Dodji Seketeli | 585fc4c | 2015-08-22 13:59:18 +0200 | [diff] [blame] | 1032 | Generate html apidoc : ${ENABLE_APIDOC} |
| 1033 | Generate html manual : ${ENABLE_MANUAL} |
Dodji Seketeli | e6e7680 | 2014-08-31 11:17:03 +0200 | [diff] [blame] | 1034 | ]) |