Harald Welte | 4cd3d8a | 2010-03-23 00:30:19 +0800 | [diff] [blame] | 1 | AC_INIT([libosmocore], |
| 2 | m4_esyscmd([./git-version-gen .tarball-version]), |
Holger Hans Peter Freyther | 8db7020 | 2012-03-26 16:34:37 +0200 | [diff] [blame] | 3 | [openbsc@lists.osmocom.org]) |
Harald Welte | 3cae039 | 2010-02-20 21:09:24 +0100 | [diff] [blame] | 4 | |
Neels Hofmeyr | cbdfa65 | 2016-09-30 23:45:28 +0200 | [diff] [blame] | 5 | dnl *This* is the root dir, even if an install-sh exists in ../ or ../../ |
| 6 | AC_CONFIG_AUX_DIR([.]) |
| 7 | |
Sylvain Munaut | 69b1b8b | 2015-08-19 11:15:14 +0200 | [diff] [blame] | 8 | AM_INIT_AUTOMAKE([foreign dist-bzip2 no-dist-gzip 1.6 subdir-objects]) |
Holger Hans Peter Freyther | f9eda74 | 2011-11-13 01:02:54 +0100 | [diff] [blame] | 9 | AC_CONFIG_TESTDIR(tests) |
Harald Welte | 3cae039 | 2010-02-20 21:09:24 +0100 | [diff] [blame] | 10 | |
Oliver Smith | f2afb98 | 2021-01-21 11:42:40 +0100 | [diff] [blame] | 11 | CFLAGS="$CFLAGS -std=gnu11" |
| 12 | |
Harald Welte | 3cae039 | 2010-02-20 21:09:24 +0100 | [diff] [blame] | 13 | dnl kernel style compile messages |
| 14 | m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) |
| 15 | |
Max | ff932bb | 2017-07-04 18:19:38 +0200 | [diff] [blame] | 16 | dnl include release helper |
| 17 | RELMAKE='-include osmo-release.mk' |
| 18 | AC_SUBST([RELMAKE]) |
| 19 | |
Harald Welte | 3cae039 | 2010-02-20 21:09:24 +0100 | [diff] [blame] | 20 | dnl checks for programs |
| 21 | AC_PROG_MAKE_SET |
Diego Elio Pettenò | d471a21 | 2012-06-29 13:01:19 -0700 | [diff] [blame] | 22 | AC_PROG_MKDIR_P |
Harald Welte | 3cae039 | 2010-02-20 21:09:24 +0100 | [diff] [blame] | 23 | AC_PROG_CC |
| 24 | AC_PROG_INSTALL |
Jan Engelhardt | c2ddc4f | 2015-09-16 14:32:31 +0200 | [diff] [blame] | 25 | LT_INIT([pic-only disable-static]) |
Harald Welte | 3cae039 | 2010-02-20 21:09:24 +0100 | [diff] [blame] | 26 | |
Harald Welte | 4cd3d8a | 2010-03-23 00:30:19 +0800 | [diff] [blame] | 27 | AC_CONFIG_MACRO_DIR([m4]) |
| 28 | |
Eric | 099c834 | 2020-04-10 22:10:13 +0200 | [diff] [blame] | 29 | dnl patching ${archive_cmds} to affect generation of file "libtool" to fix linking with clang |
| 30 | AS_CASE(["$LD"],[*clang*], |
| 31 | [AS_CASE(["${host_os}"], |
| 32 | [*linux*],[archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'])]) |
| 33 | |
Neels Hofmeyr | fef2fa2 | 2016-08-08 15:38:35 +0200 | [diff] [blame] | 34 | dnl check for pkg-config |
| 35 | dnl * If pkg-config is missing, we get a "syntax error" for PKG_CHECK_MODULES. |
| 36 | dnl Instead, we want to say that pkg-config and pkg.m4 are missing. |
| 37 | dnl * The proper way is PKG_PROG_PKG_CONFIG() but unfortunately that does not |
| 38 | dnl produce an intelligible error message if pkg-config is missing entirely |
| 39 | dnl ("syntax error near unexpected token `0.20'"). |
| 40 | dnl * To produce a hint that pkg-config is missing, check for the pkg-config |
| 41 | dnl binary; but AC_PATH_PROG breaks if the distribution provides only |
| 42 | dnl prefixed (<arch>-pkg-config) versions, so just print a warning. |
| 43 | AC_PATH_PROG(PKG_CONFIG_INSTALLED, pkg-config, no) |
| 44 | if test "x$PKG_CONFIG_INSTALLED" = "xno"; then |
| 45 | AC_MSG_WARN([You need to install pkg-config]) |
| 46 | fi |
| 47 | PKG_PROG_PKG_CONFIG([0.20]) |
| 48 | |
Tobias Engel | 597460f | 2012-10-24 17:52:52 +0200 | [diff] [blame] | 49 | dnl check os: some linker flags not available on osx |
| 50 | case $host in |
| 51 | *-darwin*) |
| 52 | ;; |
| 53 | *) |
| 54 | LTLDFLAGS_OSMOGB='-Wl,--version-script=$(srcdir)/libosmogb.map' |
| 55 | LTLDFLAGS_OSMOGSM='-Wl,--version-script=$(srcdir)/libosmogsm.map' |
Vadim Yanitskiy | 3262f82 | 2016-09-23 01:48:59 +0700 | [diff] [blame] | 56 | LTLDFLAGS_OSMOCODING='-Wl,--version-script=$(srcdir)/libosmocoding.map' |
Harald Welte | ed60578 | 2018-05-26 17:07:39 +0200 | [diff] [blame] | 57 | LTLDFLAGS_OSMOCTRL='-Wl,--version-script=$(srcdir)/libosmoctrl.map' |
Tobias Engel | 597460f | 2012-10-24 17:52:52 +0200 | [diff] [blame] | 58 | ;; |
| 59 | esac |
| 60 | AC_SUBST(LTLDFLAGS_OSMOGB) |
| 61 | AC_SUBST(LTLDFLAGS_OSMOGSM) |
Vadim Yanitskiy | 272bd4f | 2017-08-31 17:53:04 +0700 | [diff] [blame] | 62 | AC_SUBST(LTLDFLAGS_OSMOCODING) |
Harald Welte | ed60578 | 2018-05-26 17:07:39 +0200 | [diff] [blame] | 63 | AC_SUBST(LTLDFLAGS_OSMOCTRL) |
Tobias Engel | 597460f | 2012-10-24 17:52:52 +0200 | [diff] [blame] | 64 | |
Harald Welte | 3cae039 | 2010-02-20 21:09:24 +0100 | [diff] [blame] | 65 | dnl checks for header files |
| 66 | AC_HEADER_STDC |
Harald Welte | e4cd267 | 2019-08-06 19:56:16 +0200 | [diff] [blame] | 67 | AC_CHECK_HEADERS(execinfo.h poll.h sys/select.h sys/socket.h sys/signalfd.h sys/eventfd.h sys/timerfd.h syslog.h ctype.h netinet/tcp.h netinet/in.h) |
Holger Hans Peter Freyther | 4772348 | 2011-11-09 11:26:15 +0100 | [diff] [blame] | 68 | # for src/conv.c |
| 69 | AC_FUNC_ALLOCA |
Pau Espin Pedrol | cacaa4a | 2018-05-04 19:21:58 +0200 | [diff] [blame] | 70 | AC_SEARCH_LIBS([dlopen], [dl dld], [LIBRARY_DLOPEN="$LIBS";LIBS=""]) |
| 71 | AC_SUBST(LIBRARY_DLOPEN) |
| 72 | AC_SEARCH_LIBS([dlsym], [dl dld], [LIBRARY_DLSYM="$LIBS";LIBS=""]) |
| 73 | AC_SUBST(LIBRARY_DLSYM) |
Holger Hans Peter Freyther | c2c042d | 2014-04-17 23:19:10 +0200 | [diff] [blame] | 74 | # for src/backtrace.c |
| 75 | AC_CHECK_LIB(execinfo, backtrace, BACKTRACE_LIB=-lexecinfo, BACKTRACE_LIB=) |
| 76 | AC_SUBST(BACKTRACE_LIB) |
Harald Welte | 3cae039 | 2010-02-20 21:09:24 +0100 | [diff] [blame] | 77 | |
Pau Espin Pedrol | d12f698 | 2019-09-17 18:38:58 +0200 | [diff] [blame] | 78 | # check for pthread (PTHREAD_CFLAGS, PTHREAD_LIBS) |
| 79 | AX_PTHREAD |
| 80 | |
Alexander Couzens | a2f696f | 2018-04-24 16:15:23 +0200 | [diff] [blame] | 81 | # check for old glibc < 2.17 to get clock_gettime |
Pau Espin Pedrol | 47eb4e1 | 2020-05-01 16:51:20 +0200 | [diff] [blame] | 82 | AC_SEARCH_LIBS([clock_gettime], [rt posix4], |
| 83 | [AC_DEFINE(HAVE_CLOCK_GETTIME, 1, [Define if clock_gettime is available]) |
| 84 | LIBRARY_RT="$LIBS";LIBS="";]) |
Alexander Couzens | a2f696f | 2018-04-24 16:15:23 +0200 | [diff] [blame] | 85 | AC_SUBST(LIBRARY_RT) |
| 86 | |
Pau Espin Pedrol | 639c408 | 2017-07-06 10:45:22 +0200 | [diff] [blame] | 87 | AC_ARG_ENABLE(doxygen, |
| 88 | [AS_HELP_STRING( |
| 89 | [--disable-doxygen], |
| 90 | [Disable generation of documentation using doxygen], |
| 91 | )], |
| 92 | [doxygen=$enableval], [doxygen="yes"]) |
Harald Welte | 21e73c2 | 2011-08-17 19:33:06 +0200 | [diff] [blame] | 93 | AC_PATH_PROG(DOXYGEN,doxygen,false) |
Pau Espin Pedrol | 639c408 | 2017-07-06 10:45:22 +0200 | [diff] [blame] | 94 | AM_CONDITIONAL(HAVE_DOXYGEN, test $DOXYGEN != false && test "x$doxygen" = "xyes") |
Harald Welte | 21e73c2 | 2011-08-17 19:33:06 +0200 | [diff] [blame] | 95 | |
Max | 4b2b0cc | 2017-07-10 14:32:48 +0200 | [diff] [blame] | 96 | # check for syscal fallback on glibc < 2.25 - can be removed once glibc version requirement is bumped |
| 97 | AC_CHECK_DECLS([SYS_getrandom], [], [], [[#include <sys/syscall.h>]]) |
| 98 | |
Harald Welte | 3cae039 | 2010-02-20 21:09:24 +0100 | [diff] [blame] | 99 | # The following test is taken from WebKit's webkit.m4 |
| 100 | saved_CFLAGS="$CFLAGS" |
| 101 | CFLAGS="$CFLAGS -fvisibility=hidden " |
| 102 | AC_MSG_CHECKING([if ${CC} supports -fvisibility=hidden]) |
Alexander Huemer | 3d79f53 | 2011-05-24 15:16:13 +0200 | [diff] [blame] | 103 | AC_COMPILE_IFELSE([AC_LANG_SOURCE([char foo;])], |
Harald Welte | 3cae039 | 2010-02-20 21:09:24 +0100 | [diff] [blame] | 104 | [ AC_MSG_RESULT([yes]) |
| 105 | SYMBOL_VISIBILITY="-fvisibility=hidden"], |
| 106 | AC_MSG_RESULT([no])) |
| 107 | CFLAGS="$saved_CFLAGS" |
| 108 | AC_SUBST(SYMBOL_VISIBILITY) |
| 109 | |
Pau Espin Pedrol | 47eb4e1 | 2020-05-01 16:51:20 +0200 | [diff] [blame] | 110 | AC_CHECK_FUNCS(localtime_r) |
Harald Welte | 14c4c49 | 2018-06-28 08:28:52 +0200 | [diff] [blame] | 111 | |
Harald Welte | 7c8e2cc | 2012-08-29 16:47:30 +0200 | [diff] [blame] | 112 | AC_DEFUN([CHECK_TM_INCLUDES_TM_GMTOFF], [ |
| 113 | AC_CACHE_CHECK( |
| 114 | [whether struct tm has tm_gmtoff member], |
| 115 | osmo_cv_tm_includes_tm_gmtoff, |
| 116 | [AC_LINK_IFELSE([ |
| 117 | AC_LANG_PROGRAM([ |
| 118 | #include <time.h> |
| 119 | ], [ |
| 120 | time_t t = time(NULL); |
| 121 | struct tm* lt = localtime(&t); |
| 122 | int off = lt->tm_gmtoff; |
| 123 | ]) |
| 124 | ], |
| 125 | osmo_cv_tm_includes_tm_gmtoff=yes, |
| 126 | osmo_cv_tm_includes_tm_gmtoff=no |
| 127 | )] |
| 128 | ) |
| 129 | if test "x$osmo_cv_tm_includes_tm_gmtoff" = xyes; then |
| 130 | AC_DEFINE(HAVE_TM_GMTOFF_IN_TM, 1, |
| 131 | [Define if struct tm has tm_gmtoff member.]) |
| 132 | fi |
| 133 | ]) |
| 134 | |
| 135 | CHECK_TM_INCLUDES_TM_GMTOFF |
| 136 | |
Pau Espin Pedrol | 88e4058 | 2021-02-17 17:46:02 +0100 | [diff] [blame] | 137 | # Check if gettid is available (despite not being documented in glibc doc, |
| 138 | # it requires __USE_GNU on some systems) |
| 139 | # C compiler is used since __USE_GNU seems to be always defined for g++. |
| 140 | save_CPPFLAGS=$CPPFLAGS |
| 141 | AC_LANG_PUSH(C) |
| 142 | CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE" |
| 143 | AC_CHECK_FUNCS([gettid]) |
| 144 | AC_LANG_POP(C) |
| 145 | CPPFLAGS=$save_CPPFLAGS |
| 146 | |
Pau Espin Pedrol | e188b8c | 2019-08-05 13:46:33 +0200 | [diff] [blame] | 147 | dnl Check if We need to apply workaround for TLS bug on ARM platform for GCC < 7.3.0: |
Pau Espin Pedrol | afce89d | 2019-08-06 12:46:46 +0200 | [diff] [blame] | 148 | ARG_ENABLE_DETECT_TLS_GCC_ARM_BUG |
Pau Espin Pedrol | e188b8c | 2019-08-05 13:46:33 +0200 | [diff] [blame] | 149 | |
Harald Welte | 3cae039 | 2010-02-20 21:09:24 +0100 | [diff] [blame] | 150 | dnl Generate the output |
Christian Vogel | 854debc | 2013-01-05 20:30:41 +0100 | [diff] [blame] | 151 | AC_CONFIG_HEADER(config.h) |
Harald Welte | 3cae039 | 2010-02-20 21:09:24 +0100 | [diff] [blame] | 152 | |
Harald Welte | 90e614f | 2015-12-05 23:38:18 +0100 | [diff] [blame] | 153 | PKG_CHECK_MODULES(TALLOC, [talloc >= 2.0.1]) |
| 154 | |
Harald Welte | 495fe26 | 2012-09-10 16:28:17 +0200 | [diff] [blame] | 155 | AC_ARG_ENABLE([pcsc], [AS_HELP_STRING([--disable-pcsc], [Build without PC/SC support])], |
| 156 | [ |
Neels Hofmeyr | 9683104 | 2016-11-15 17:31:14 +0100 | [diff] [blame] | 157 | ENABLE_PCSC=$enableval |
Harald Welte | 495fe26 | 2012-09-10 16:28:17 +0200 | [diff] [blame] | 158 | ], |
| 159 | [ |
Neels Hofmeyr | 9683104 | 2016-11-15 17:31:14 +0100 | [diff] [blame] | 160 | ENABLE_PCSC="yes" |
Harald Welte | 495fe26 | 2012-09-10 16:28:17 +0200 | [diff] [blame] | 161 | ]) |
Neels Hofmeyr | 9683104 | 2016-11-15 17:31:14 +0100 | [diff] [blame] | 162 | AS_IF([test "x$ENABLE_PCSC" = "xyes"], [ |
Holger Hans Peter Freyther | 18bcc8a | 2014-11-14 15:06:09 +0100 | [diff] [blame] | 163 | PKG_CHECK_MODULES(PCSC, libpcsclite) |
Harald Welte | 3c44a64 | 2020-03-15 22:50:06 +0100 | [diff] [blame] | 164 | AC_DEFINE([HAVE_PCSC],[1],[Build with PC/SC support]) |
Harald Welte | d086f21 | 2015-11-21 11:38:09 +0100 | [diff] [blame] | 165 | ]) |
Neels Hofmeyr | 9683104 | 2016-11-15 17:31:14 +0100 | [diff] [blame] | 166 | AM_CONDITIONAL(ENABLE_PCSC, test "x$ENABLE_PCSC" = "xyes") |
| 167 | AC_SUBST(ENABLE_PCSC) |
Harald Welte | 495fe26 | 2012-09-10 16:28:17 +0200 | [diff] [blame] | 168 | |
Harald Welte | da432cd | 2019-12-15 19:13:26 +0100 | [diff] [blame] | 169 | AC_ARG_ENABLE([libusb], [AS_HELP_STRING([--disable-libusb], [Build without libusb support])], |
| 170 | [ |
| 171 | ENABLE_LIBUSB=$enableval |
| 172 | ], |
| 173 | [ |
| 174 | ENABLE_LIBUSB="yes" |
| 175 | ]) |
| 176 | AS_IF([test "x$ENABLE_LIBUSB" = "xyes"], [ |
| 177 | PKG_CHECK_MODULES(LIBUSB, libusb-1.0) |
| 178 | ]) |
| 179 | AM_CONDITIONAL(ENABLE_LIBUSB, test "x$ENABLE_LIBUSB" = "xyes") |
| 180 | AC_SUBST(ENABLE_LIBUSB) |
| 181 | |
Max | ed029df | 2017-10-26 10:56:04 +0200 | [diff] [blame] | 182 | AC_ARG_ENABLE([gnutls], [AS_HELP_STRING([--disable-gnutls], [Do not use GnuTLS fallback for missing getrandom()])], |
| 183 | [ENABLE_GNUTLS=$enableval], [ENABLE_GNUTLS="yes"]) |
| 184 | AM_CONDITIONAL(ENABLE_GNUTLS, test x"$ENABLE_GNUTLS" = x"yes") |
| 185 | AS_IF([test "x$ENABLE_GNUTLS" = "xyes"], [ |
| 186 | PKG_CHECK_MODULES([LIBGNUTLS], [gnutls >= 2.12.0]) |
| 187 | ]) |
| 188 | AC_SUBST(ENABLE_GNUTLS) |
| 189 | if test x"$ENABLE_GNUTLS" = x"yes" |
| 190 | then |
| 191 | AC_SUBST([LIBGNUTLS_CFLAGS]) |
| 192 | AC_SUBST([LIBGNUTLS_LIBS]) |
| 193 | AC_DEFINE([USE_GNUTLS], [1], [Use GnuTLS as a fallback for missing getrandom()]) |
| 194 | fi |
| 195 | |
Vadim Yanitskiy | e7bf435 | 2020-09-09 03:36:48 +0700 | [diff] [blame] | 196 | AC_ARG_ENABLE([systemd_logging], |
| 197 | [AS_HELP_STRING( |
| 198 | [--enable-systemd-logging], |
| 199 | [Build with systemd-journal logging support] |
| 200 | )], |
| 201 | [systemd_logging=$enableval], [systemd_logging="no"]) |
| 202 | AS_IF([test "x$systemd_logging" = "xyes"], [ |
| 203 | PKG_CHECK_MODULES(SYSTEMD, libsystemd) |
| 204 | AC_DEFINE([ENABLE_SYSTEMD_LOGGING], [1], [Enable systemd-journal logging target]) |
| 205 | ]) |
| 206 | AM_CONDITIONAL(ENABLE_SYSTEMD_LOGGING, test "x$systemd_logging" = "xyes") |
| 207 | AC_SUBST(ENABLE_SYSTEMD_LOGGING) |
| 208 | |
Harald Welte | 53a2fde | 2020-12-01 22:21:14 +0100 | [diff] [blame] | 209 | AC_ARG_ENABLE([libmnl], |
| 210 | [AS_HELP_STRING( |
| 211 | [--disable-libmnl], |
| 212 | [Build without netlink socket support via libmnl] |
| 213 | )], |
| 214 | [mnl=$enableval], [mnl="yes"]) |
| 215 | AS_IF([test "x$mnl" = "xyes"], [ |
| 216 | PKG_CHECK_MODULES(LIBMNL, libmnl) |
| 217 | AC_DEFINE([ENABLE_LIBMNL], [1], [Enable netlink socket support via libmnl]) |
| 218 | ]) |
| 219 | AM_CONDITIONAL(ENABLE_LIBMNL, test "x$mnl" = "xyes") |
| 220 | AC_SUBST(ENABLE_LIBMNL) |
| 221 | |
Pau Espin Pedrol | ea2afb2 | 2019-10-24 15:41:32 +0200 | [diff] [blame] | 222 | AC_ARG_ENABLE([libsctp], [AS_HELP_STRING([--disable-libsctp], [Do not enable socket multiaddr APIs requiring libsctp])], |
| 223 | [ENABLE_LIBSCTP=$enableval], [ENABLE_LIBSCTP="yes"]) |
| 224 | AM_CONDITIONAL(ENABLE_LIBSCTP, test x"$ENABLE_LIBSCTP" = x"yes") |
| 225 | AS_IF([test "x$ENABLE_LIBSCTP" = "xyes"], [ |
| 226 | old_LIBS=$LIBS |
| 227 | AC_SEARCH_LIBS([sctp_bindx], [sctp], [ |
| 228 | AC_DEFINE(HAVE_LIBSCTP, 1, [Define 1 to enable SCTP support]) |
| 229 | AC_SUBST(HAVE_LIBSCTP, [1]) |
| 230 | if test -n "$ac_lib"; then |
| 231 | AC_SUBST(LIBSCTP_LIBS, [-l$ac_lib]) |
| 232 | fi |
| 233 | ], [ |
| 234 | AC_MSG_ERROR([sctp_bindx not found in searched libs])]) |
| 235 | LIBS=$old_LIBS |
| 236 | ]) |
| 237 | |
Pau Espin Pedrol | 16b076c | 2020-08-25 13:56:43 +0200 | [diff] [blame] | 238 | AC_ARG_ENABLE([sctp-tests], [AS_HELP_STRING([--disable-sctp-tests], [Do not run socket tests requiring system SCTP support])], |
| 239 | [ENABLE_SCTP_TESTS=$enableval], [ENABLE_SCTP_TESTS="yes"]) |
| 240 | AM_CONDITIONAL(ENABLE_SCTP_TESTS, test x"$ENABLE_SCTP_TESTS" = x"yes") |
| 241 | |
Harald Welte | b9ce51c | 2010-06-30 19:43:11 +0200 | [diff] [blame] | 242 | AC_ARG_ENABLE(plugin, |
Sylvain Munaut | f23abab | 2010-07-25 16:16:42 +0200 | [diff] [blame] | 243 | [AS_HELP_STRING( |
| 244 | [--disable-plugin], |
| 245 | [Disable support for dlopen plugins], |
| 246 | )], |
job | 36b4a20 | 2011-08-21 17:18:23 +0200 | [diff] [blame] | 247 | [enable_plugin=$enableval], [enable_plugin="yes"]) |
| 248 | AM_CONDITIONAL(ENABLE_PLUGIN, test x"$enable_plugin" = x"yes") |
Harald Welte | b9ce51c | 2010-06-30 19:43:11 +0200 | [diff] [blame] | 249 | |
Harald Welte | 1067e8c | 2010-06-25 03:00:58 +0200 | [diff] [blame] | 250 | AC_ARG_ENABLE(vty, |
Sylvain Munaut | f23abab | 2010-07-25 16:16:42 +0200 | [diff] [blame] | 251 | [AS_HELP_STRING( |
| 252 | [--disable-vty], |
| 253 | [Disable building VTY telnet interface] |
| 254 | )], |
job | 36b4a20 | 2011-08-21 17:18:23 +0200 | [diff] [blame] | 255 | [enable_vty=$enableval], [enable_vty="yes"]) |
| 256 | AM_CONDITIONAL(ENABLE_VTY, test x"$enable_vty" = x"yes") |
Harald Welte | 5440377 | 2010-05-29 11:49:51 +0200 | [diff] [blame] | 257 | |
Sylvain Munaut | ac3e61a | 2010-07-25 18:08:54 +0200 | [diff] [blame] | 258 | AC_ARG_ENABLE(panic_infloop, |
| 259 | [AS_HELP_STRING( |
| 260 | [--enable-panic-infloop], |
| 261 | [Trigger infinite loop on panic rather than fprintf/abort] |
| 262 | )], |
job | 36b4a20 | 2011-08-21 17:18:23 +0200 | [diff] [blame] | 263 | [panic_infloop=$enableval], [panic_infloop="no"]) |
| 264 | if test x"$panic_infloop" = x"yes" |
Sylvain Munaut | ac3e61a | 2010-07-25 18:08:54 +0200 | [diff] [blame] | 265 | then |
| 266 | AC_DEFINE([PANIC_INFLOOP],[1],[Use infinite loop on panic rather than fprintf/abort]) |
| 267 | fi |
| 268 | |
Holger Hans Peter Freyther | 4355831 | 2010-08-06 06:48:43 +0800 | [diff] [blame] | 269 | AC_ARG_ENABLE(bsc_fd_check, |
| 270 | [AS_HELP_STRING( |
| 271 | [--enable-bsc-fd-check], |
Pau Espin Pedrol | d05def0 | 2020-05-09 19:24:21 +0200 | [diff] [blame] | 272 | [Instrument osmo_fd_register to check that the fd is registered] |
Holger Hans Peter Freyther | 4355831 | 2010-08-06 06:48:43 +0800 | [diff] [blame] | 273 | )], |
job | 36b4a20 | 2011-08-21 17:18:23 +0200 | [diff] [blame] | 274 | [fd_check=$enableval], [fd_check="no"]) |
| 275 | if test x"$fd_check" = x"no" |
Holger Hans Peter Freyther | 4355831 | 2010-08-06 06:48:43 +0800 | [diff] [blame] | 276 | then |
Pau Espin Pedrol | d05def0 | 2020-05-09 19:24:21 +0200 | [diff] [blame] | 277 | AC_DEFINE([OSMO_FD_CHECK],[1],[Instrument the osmo_fd_register]) |
Holger Hans Peter Freyther | 4355831 | 2010-08-06 06:48:43 +0800 | [diff] [blame] | 278 | fi |
| 279 | |
Harald Welte | b904e42 | 2020-10-18 21:24:13 +0200 | [diff] [blame] | 280 | AC_ARG_ENABLE([force_io_select], |
| 281 | [AS_HELP_STRING( |
| 282 | [--enable-force-io-select], |
| 283 | [Build with old select I/O instead of poll] |
| 284 | )], |
| 285 | [force_io_select=$enableval], [force_io_select="no"]) |
| 286 | AS_IF([test "x$force_io_select" = "xyes"], [ |
| 287 | AC_DEFINE([FORCE_IO_SELECT], [1], [Force the use of select() instaed of poll()]) |
| 288 | ]) |
| 289 | |
Holger Hans Peter Freyther | c87f266 | 2010-10-07 00:00:15 +0800 | [diff] [blame] | 290 | AC_ARG_ENABLE(msgfile, |
| 291 | [AS_HELP_STRING( |
| 292 | [--disable-msgfile], |
| 293 | [Disable support for the msgfile], |
| 294 | )], |
job | 36b4a20 | 2011-08-21 17:18:23 +0200 | [diff] [blame] | 295 | [enable_msgfile=$enableval], [enable_msgfile="yes"]) |
| 296 | AM_CONDITIONAL(ENABLE_MSGFILE, test x"$enable_msgfile" = x"yes") |
Holger Hans Peter Freyther | c87f266 | 2010-10-07 00:00:15 +0800 | [diff] [blame] | 297 | |
Sylvain Munaut | fe28ded | 2011-09-02 22:18:24 +0200 | [diff] [blame] | 298 | AC_ARG_ENABLE(serial, |
| 299 | [AS_HELP_STRING( |
| 300 | [--disable-serial], |
| 301 | [Disable support for the serial helpers], |
| 302 | )], |
| 303 | [enable_serial=$enableval], [enable_serial="yes"]) |
| 304 | AM_CONDITIONAL(ENABLE_SERIAL, test x"$enable_serial" = x"yes") |
| 305 | |
job | 8e4deb6 | 2011-08-21 17:18:24 +0200 | [diff] [blame] | 306 | AC_ARG_ENABLE(utilities, |
| 307 | [AS_HELP_STRING( |
| 308 | [--disable-utilities], |
| 309 | [Disable building utility programs], |
| 310 | )], |
| 311 | [enable_utilities=$enableval], [enable_utilities="yes"]) |
| 312 | AM_CONDITIONAL(ENABLE_UTILITIES, test x"$enable_utilities" = x"yes") |
| 313 | |
Harald Welte | e3a10b6 | 2012-09-08 22:18:43 +0200 | [diff] [blame] | 314 | AC_ARG_ENABLE(gb, |
| 315 | [AS_HELP_STRING( |
| 316 | [--disable-gb], |
| 317 | [Disable building Gb library], |
| 318 | )], |
| 319 | [enable_gb=$enableval], [enable_gb="yes"]) |
| 320 | AM_CONDITIONAL(ENABLE_GB, test x"$enable_gb" = x"yes") |
| 321 | |
Harald Welte | 1c67e75 | 2017-01-15 17:52:30 +0100 | [diff] [blame] | 322 | AC_ARG_ENABLE(ctrl, |
| 323 | [AS_HELP_STRING( |
| 324 | [--disable-ctrl], |
| 325 | [Disable building CTRL library], |
| 326 | )], |
| 327 | [enable_ctrl=$enableval], [enable_ctrl="yes"]) |
| 328 | AM_CONDITIONAL(ENABLE_CTRL, test x"$enable_ctrl" = x"yes") |
| 329 | |
Harald Welte | 898ffef | 2017-05-15 21:37:34 +0200 | [diff] [blame] | 330 | AC_ARG_ENABLE(pseudotalloc, |
| 331 | [AS_HELP_STRING( |
| 332 | [--enable-pseudotalloc], |
| 333 | [Enable building pseudotalloc library], |
| 334 | )], |
| 335 | [enable_pseudotalloc=$enableval], [enable_pseudotalloc="no"]) |
| 336 | AM_CONDITIONAL(ENABLE_PSEUDOTALLOC, test x"$enable_pseudotalloc" = x"yes") |
| 337 | |
job | 8e4deb6 | 2011-08-21 17:18:24 +0200 | [diff] [blame] | 338 | AC_ARG_ENABLE(embedded, |
| 339 | [AS_HELP_STRING( |
| 340 | [--enable-embedded], |
| 341 | [Enable building for embedded use and disable unsupported features] |
| 342 | )], |
| 343 | [embedded=$enableval], [embedded="no"]) |
Max | 89c8c40 | 2018-01-18 16:05:27 +0100 | [diff] [blame] | 344 | |
Harald Welte | c6a8697 | 2019-12-16 23:14:45 +0100 | [diff] [blame] | 345 | AM_CONDITIONAL(EMBEDDED, false) |
Max | 3da7938 | 2018-01-18 16:50:51 +0100 | [diff] [blame] | 346 | AM_CONDITIONAL(ENABLE_SERCOM_STUB, false) |
Max | 89c8c40 | 2018-01-18 16:05:27 +0100 | [diff] [blame] | 347 | |
job | 8e4deb6 | 2011-08-21 17:18:24 +0200 | [diff] [blame] | 348 | if test x"$embedded" = x"yes" |
| 349 | then |
| 350 | AC_DEFINE([EMBEDDED],[1],[Select building for embedded use]) |
job | 8e4deb6 | 2011-08-21 17:18:24 +0200 | [diff] [blame] | 351 | AM_CONDITIONAL(ENABLE_PLUGIN, false) |
| 352 | AM_CONDITIONAL(ENABLE_MSGFILE, false) |
Sylvain Munaut | fe28ded | 2011-09-02 22:18:24 +0200 | [diff] [blame] | 353 | AM_CONDITIONAL(ENABLE_SERIAL, false) |
Max | ed029df | 2017-10-26 10:56:04 +0200 | [diff] [blame] | 354 | AM_CONDITIONAL(ENABLE_GNUTLS, false) |
job | 8e4deb6 | 2011-08-21 17:18:24 +0200 | [diff] [blame] | 355 | AM_CONDITIONAL(ENABLE_VTY, false) |
Harald Welte | 1c67e75 | 2017-01-15 17:52:30 +0100 | [diff] [blame] | 356 | AM_CONDITIONAL(ENABLE_CTRL, false) |
job | 8e4deb6 | 2011-08-21 17:18:24 +0200 | [diff] [blame] | 357 | AM_CONDITIONAL(ENABLE_UTILITIES, false) |
Harald Welte | e3a10b6 | 2012-09-08 22:18:43 +0200 | [diff] [blame] | 358 | AM_CONDITIONAL(ENABLE_GB, false) |
Max | ed029df | 2017-10-26 10:56:04 +0200 | [diff] [blame] | 359 | AM_CONDITIONAL(ENABLE_GNUTLS, false) |
Pau Espin Pedrol | ea2afb2 | 2019-10-24 15:41:32 +0200 | [diff] [blame] | 360 | AM_CONDITIONAL(ENABLE_LIBSCTP, false) |
Harald Welte | 1a7d64c | 2017-01-15 17:53:23 +0100 | [diff] [blame] | 361 | AM_CONDITIONAL(ENABLE_PCSC, false) |
Harald Welte | 898ffef | 2017-05-15 21:37:34 +0200 | [diff] [blame] | 362 | AM_CONDITIONAL(ENABLE_PSEUDOTALLOC, true) |
Max | 3da7938 | 2018-01-18 16:50:51 +0100 | [diff] [blame] | 363 | AM_CONDITIONAL(ENABLE_SERCOM_STUB, true) |
Harald Welte | c6a8697 | 2019-12-16 23:14:45 +0100 | [diff] [blame] | 364 | AM_CONDITIONAL(EMBEDDED, true) |
Max | ed029df | 2017-10-26 10:56:04 +0200 | [diff] [blame] | 365 | AC_DEFINE([USE_GNUTLS], [0]) |
job | 8e4deb6 | 2011-08-21 17:18:24 +0200 | [diff] [blame] | 366 | AC_DEFINE([PANIC_INFLOOP],[1],[Use infinite loop on panic rather than fprintf/abort]) |
| 367 | fi |
Harald Welte | 5440377 | 2010-05-29 11:49:51 +0200 | [diff] [blame] | 368 | |
Neels Hofmeyr | a238176 | 2016-09-30 01:25:45 +0200 | [diff] [blame] | 369 | AC_ARG_ENABLE(sanitize, |
| 370 | [AS_HELP_STRING( |
| 371 | [--enable-sanitize], |
| 372 | [Compile with address sanitizer enabled], |
| 373 | )], |
| 374 | [sanitize=$enableval], [sanitize="no"]) |
| 375 | if test x"$sanitize" = x"yes" |
| 376 | then |
Pau Espin Pedrol | 1349249 | 2017-06-23 11:18:04 +0200 | [diff] [blame] | 377 | CFLAGS="$CFLAGS -fsanitize=address -fsanitize=undefined" |
| 378 | CPPFLAGS="$CPPFLAGS -fsanitize=address -fsanitize=undefined" |
Neels Hofmeyr | a238176 | 2016-09-30 01:25:45 +0200 | [diff] [blame] | 379 | fi |
| 380 | |
Neels Hofmeyr | 09ecbb7 | 2018-03-05 20:40:05 +0100 | [diff] [blame] | 381 | AC_ARG_ENABLE(werror, |
| 382 | [AS_HELP_STRING( |
| 383 | [--enable-werror], |
| 384 | [Turn all compiler warnings into errors, with exceptions: |
| 385 | a) deprecation (allow upstream to mark deprecation without breaking builds); |
| 386 | b) "#warning" pragmas (allow to remind ourselves of errors without breaking builds) |
| 387 | ] |
| 388 | )], |
| 389 | [werror=$enableval], [werror="no"]) |
| 390 | if test x"$werror" = x"yes" |
| 391 | then |
| 392 | WERROR_FLAGS="-Werror" |
| 393 | WERROR_FLAGS+=" -Wno-error=deprecated -Wno-error=deprecated-declarations" |
| 394 | WERROR_FLAGS+=" -Wno-error=cpp" # "#warning" |
| 395 | CFLAGS="$CFLAGS $WERROR_FLAGS" |
| 396 | CPPFLAGS="$CPPFLAGS $WERROR_FLAGS" |
| 397 | fi |
| 398 | |
Neels Hofmeyr | 3a9ff11 | 2018-09-10 17:18:28 +0200 | [diff] [blame] | 399 | AC_ARG_ENABLE([external_tests], |
| 400 | AC_HELP_STRING([--enable-external-tests], |
| 401 | [Include the VTY/CTRL tests in make check [default=no]]), |
| 402 | [enable_ext_tests="$enableval"],[enable_ext_tests="no"]) |
| 403 | if test "x$enable_ext_tests" = "xyes" ; then |
| 404 | AM_PATH_PYTHON |
| 405 | AC_CHECK_PROG(OSMOTESTEXT_CHECK,osmo_verify_transcript_vty.py,yes) |
| 406 | if test "x$OSMOTESTEXT_CHECK" != "xyes" ; then |
| 407 | AC_MSG_ERROR([Please install git://osmocom.org/python/osmo-python-tests to run the VTY/CTRL tests.]) |
| 408 | fi |
| 409 | fi |
| 410 | AC_MSG_CHECKING([whether to enable VTY/CTRL tests]) |
| 411 | AC_MSG_RESULT([$enable_ext_tests]) |
| 412 | AM_CONDITIONAL(ENABLE_EXT_TESTS, test "x$enable_ext_tests" = "xyes") |
| 413 | |
Pau Espin Pedrol | 1349249 | 2017-06-23 11:18:04 +0200 | [diff] [blame] | 414 | CFLAGS="$CFLAGS -DBUILDING_LIBOSMOCORE -Wall" |
| 415 | CPPFLAGS="$CPPFLAGS -DBUILDING_LIBOSMOCORE -Wall" |
Pau Espin Pedrol | 69dfe5a | 2017-06-17 23:18:11 +0200 | [diff] [blame] | 416 | |
Vadim Yanitskiy | 2c3066e | 2017-04-30 19:41:56 +0700 | [diff] [blame] | 417 | AC_ARG_ENABLE(simd, |
| 418 | [AS_HELP_STRING( |
| 419 | [--disable-simd], |
| 420 | [Disable SIMD support] |
| 421 | )], |
| 422 | [simd=$enableval], [simd="yes"]) |
| 423 | if test x"$simd" = x"yes" |
| 424 | then |
| 425 | # Find and define supported SIMD extensions |
| 426 | AX_CHECK_SIMD |
| 427 | else |
| 428 | AM_CONDITIONAL(HAVE_AVX2, false) |
Harald Welte | b93f60f | 2017-11-17 11:41:34 +0100 | [diff] [blame] | 429 | AM_CONDITIONAL(HAVE_SSSE3, false) |
Vadim Yanitskiy | 2c3066e | 2017-04-30 19:41:56 +0700 | [diff] [blame] | 430 | AM_CONDITIONAL(HAVE_SSE4_1, false) |
| 431 | fi |
| 432 | |
Eric | 3afc1d1 | 2020-07-23 02:16:46 +0200 | [diff] [blame] | 433 | AC_ARG_ENABLE(neon, |
| 434 | [AS_HELP_STRING( |
| 435 | [--enable-neon], |
Vadim Yanitskiy | 325d9b3 | 2020-08-07 03:53:40 +0700 | [diff] [blame] | 436 | [Enable ARM NEON instructions support [default=no]] |
Eric | 3afc1d1 | 2020-07-23 02:16:46 +0200 | [diff] [blame] | 437 | )], |
| 438 | [neon=$enableval], [neon="no"]) |
Vadim Yanitskiy | 2ecb71b | 2021-01-14 18:55:26 +0100 | [diff] [blame] | 439 | AS_IF([test "x$neon" = "xyes"], [ |
| 440 | AC_DEFINE([HAVE_NEON],, [Support ARM NEON instructions]) |
| 441 | ]) |
Vadim Yanitskiy | 7dbae9e | 2020-08-07 04:01:12 +0700 | [diff] [blame] | 442 | AC_MSG_CHECKING([whether to enable ARM NEON instructions support]) |
| 443 | AC_MSG_RESULT([$neon]) |
Eric | 3afc1d1 | 2020-07-23 02:16:46 +0200 | [diff] [blame] | 444 | AM_CONDITIONAL(HAVE_NEON, [test "x$neon" != "xno"]) |
| 445 | |
Harald Welte | 433005c | 2020-09-26 11:51:32 +0200 | [diff] [blame] | 446 | # |
| 447 | # SystemTap support |
| 448 | # |
| 449 | AC_MSG_CHECKING([whether to include systemtap tracing support]) |
| 450 | AC_ARG_ENABLE([systemtap], |
| 451 | [AS_HELP_STRING([--enable-systemtap], |
| 452 | [Enable inclusion of systemtap trace support])], |
| 453 | [ENABLE_SYSTEMTAP="${enableval}"], [ENABLE_SYSTEMTAP='no']) |
| 454 | AM_CONDITIONAL([ENABLE_SYSTEMTAP], [test x$ENABLE_SYSTEMTAP = xyes]) |
| 455 | AC_MSG_RESULT(${ENABLE_SYSTEMTAP}) |
| 456 | |
| 457 | if test "x${ENABLE_SYSTEMTAP}" = xyes; then |
| 458 | # Additional configuration for --enable-systemtap is HERE |
| 459 | AC_CHECK_PROGS(DTRACE, dtrace) |
| 460 | if test -z "$DTRACE"; then |
| 461 | AC_MSG_ERROR([dtrace not found]) |
| 462 | fi |
| 463 | AC_CHECK_HEADER([sys/sdt.h], [SDT_H_FOUND='yes'], |
| 464 | [SDT_H_FOUND='no'; |
| 465 | AC_MSG_ERROR([systemtap support needs sys/sdt.h header])]) |
| 466 | AC_DEFINE([HAVE_SYSTEMTAP], [1], [Define to 1 if using SystemTap probes.]) |
| 467 | AC_ARG_WITH([tapset-install-dir], |
| 468 | [AS_HELP_STRING([--with-tapset-install-dir], |
| 469 | [The absolute path where the tapset dir will be installed])], |
| 470 | [if test "x${withval}" = x; then |
| 471 | ABS_TAPSET_DIR="\$(datadir)/systemtap/tapset" |
| 472 | else |
| 473 | ABS_TAPSET_DIR="${withval}" |
| 474 | fi], [ABS_TAPSET_DIR="\$(datadir)/systemtap/tapset"]) |
| 475 | AC_SUBST(ABS_TAPSET_DIR) |
| 476 | fi |
| 477 | |
Eric | 3afc1d1 | 2020-07-23 02:16:46 +0200 | [diff] [blame] | 478 | |
Vasil Velichkov | 499510b | 2019-04-03 02:32:37 +0300 | [diff] [blame] | 479 | OSMO_AC_CODE_COVERAGE |
| 480 | |
Vadim Yanitskiy | a8a5819 | 2017-05-08 00:07:21 +0700 | [diff] [blame] | 481 | dnl Check if the compiler supports specified GCC's built-in function |
| 482 | AC_DEFUN([CHECK_BUILTIN_SUPPORT], [ |
| 483 | AC_CACHE_CHECK( |
| 484 | [whether ${CC} has $1 built-in], |
| 485 | [osmo_cv_cc_has_builtin], [ |
| 486 | AC_LINK_IFELSE([ |
| 487 | AC_LANG_PROGRAM([], [ |
| 488 | __builtin_cpu_supports("sse"); |
| 489 | ]) |
| 490 | ], |
| 491 | [AS_VAR_SET([osmo_cv_cc_has_builtin], [yes])], |
| 492 | [AS_VAR_SET([osmo_cv_cc_has_builtin], [no])]) |
| 493 | ] |
| 494 | ) |
| 495 | |
| 496 | AS_IF([test yes = AS_VAR_GET([osmo_cv_cc_has_builtin])], [ |
| 497 | AC_DEFINE_UNQUOTED(AS_TR_CPP(HAVE_$1), 1, |
| 498 | [Define to 1 if compiler has the '$1' built-in function]) |
| 499 | ], [ |
| 500 | AC_MSG_WARN($2) |
| 501 | ]) |
| 502 | ]) |
| 503 | |
| 504 | dnl Check if the compiler supports runtime SIMD detection |
| 505 | CHECK_BUILTIN_SUPPORT([__builtin_cpu_supports], |
| 506 | [Runtime SIMD detection will be disabled]) |
| 507 | |
Neels Hofmeyr | 09ecbb7 | 2018-03-05 20:40:05 +0100 | [diff] [blame] | 508 | AC_MSG_RESULT([CFLAGS="$CFLAGS"]) |
| 509 | AC_MSG_RESULT([CPPFLAGS="$CPPFLAGS"]) |
| 510 | |
Harald Welte | 3cae039 | 2010-02-20 21:09:24 +0100 | [diff] [blame] | 511 | AC_OUTPUT( |
| 512 | libosmocore.pc |
Sylvain Munaut | b99b930 | 2010-10-24 18:23:10 +0200 | [diff] [blame] | 513 | libosmocodec.pc |
Vadim Yanitskiy | 3262f82 | 2016-09-23 01:48:59 +0700 | [diff] [blame] | 514 | libosmocoding.pc |
Harald Welte | e352c52 | 2010-05-19 19:42:32 +0200 | [diff] [blame] | 515 | libosmovty.pc |
Pablo Neira Ayuso | fba495e | 2011-03-23 18:08:08 +0100 | [diff] [blame] | 516 | libosmogsm.pc |
Harald Welte | 641f7ce | 2012-06-17 23:05:26 +0800 | [diff] [blame] | 517 | libosmogb.pc |
Harald Welte | 3ff81b1 | 2014-08-20 19:58:40 +0200 | [diff] [blame] | 518 | libosmoctrl.pc |
Harald Welte | d54c2ee | 2012-01-17 18:25:50 +0100 | [diff] [blame] | 519 | libosmosim.pc |
Harald Welte | da432cd | 2019-12-15 19:13:26 +0100 | [diff] [blame] | 520 | libosmousb.pc |
Harald Welte | 3cae039 | 2010-02-20 21:09:24 +0100 | [diff] [blame] | 521 | include/Makefile |
| 522 | src/Makefile |
Harald Welte | 3fb0b6f | 2010-05-19 19:02:52 +0200 | [diff] [blame] | 523 | src/vty/Makefile |
Sylvain Munaut | 1a4ea5b | 2010-10-08 15:09:16 +0200 | [diff] [blame] | 524 | src/codec/Makefile |
Vadim Yanitskiy | 3262f82 | 2016-09-23 01:48:59 +0700 | [diff] [blame] | 525 | src/coding/Makefile |
Harald Welte | d54c2ee | 2012-01-17 18:25:50 +0100 | [diff] [blame] | 526 | src/sim/Makefile |
Harald Welte | da432cd | 2019-12-15 19:13:26 +0100 | [diff] [blame] | 527 | src/usb/Makefile |
Pablo Neira Ayuso | fba495e | 2011-03-23 18:08:08 +0100 | [diff] [blame] | 528 | src/gsm/Makefile |
Harald Welte | 641f7ce | 2012-06-17 23:05:26 +0800 | [diff] [blame] | 529 | src/gb/Makefile |
Harald Welte | 3ff81b1 | 2014-08-20 19:58:40 +0200 | [diff] [blame] | 530 | src/ctrl/Makefile |
Harald Welte | 898ffef | 2017-05-15 21:37:34 +0200 | [diff] [blame] | 531 | src/pseudotalloc/Makefile |
Harald Welte | 433005c | 2020-09-26 11:51:32 +0200 | [diff] [blame] | 532 | tapset/Makefile |
Harald Welte | 3cae039 | 2010-02-20 21:09:24 +0100 | [diff] [blame] | 533 | tests/Makefile |
Neels Hofmeyr | 9683104 | 2016-11-15 17:31:14 +0100 | [diff] [blame] | 534 | tests/atlocal |
Harald Welte | eeb78dd | 2011-08-02 13:44:54 +0200 | [diff] [blame] | 535 | utils/Makefile |
Harald Welte | c7859ed | 2011-08-20 12:54:17 +0200 | [diff] [blame] | 536 | Doxyfile.core |
Harald Welte | 49e1056 | 2011-08-17 19:21:07 +0200 | [diff] [blame] | 537 | Doxyfile.gsm |
| 538 | Doxyfile.vty |
| 539 | Doxyfile.codec |
Vadim Yanitskiy | 3262f82 | 2016-09-23 01:48:59 +0700 | [diff] [blame] | 540 | Doxyfile.coding |
Neels Hofmeyr | 249fb71 | 2017-06-20 02:52:38 +0200 | [diff] [blame] | 541 | Doxyfile.gb |
Harald Welte | b418682 | 2018-05-26 17:25:11 +0200 | [diff] [blame] | 542 | Doxyfile.ctrl |
Oliver Smith | 6370f5d | 2020-05-14 11:27:08 +0200 | [diff] [blame] | 543 | Makefile |
| 544 | contrib/libosmocore.spec) |