blob: 535d1c391244a6362248e56421ea0c8547742bc7 [file] [log] [blame]
Pablo Neira Ayuso0ba77d52011-06-05 18:32:44 +02001AC_INIT([libosmo-abis],
2 m4_esyscmd([./git-version-gen .tarball-version]),
Holger Hans Peter Freyther584672e2012-03-26 16:36:21 +02003 [openbsc@lists.osmocom.org])
Pablo Neira Ayuso0ba77d52011-06-05 18:32:44 +02004
Neels Hofmeyrf5d28602016-10-01 00:33:39 +02005dnl *This* is the root dir, even if an install-sh exists in ../ or ../../
6AC_CONFIG_AUX_DIR([.])
7
Harald Welteb37c5d42015-08-15 10:50:53 +02008AM_INIT_AUTOMAKE([foreign dist-bzip2 no-dist-gzip 1.6 subdir-objects])
Holger Hans Peter Freyther5c65e792012-10-11 08:05:14 +02009AC_CONFIG_TESTDIR(tests)
Pablo Neira Ayuso0ba77d52011-06-05 18:32:44 +020010
11dnl kernel style compile messages
12m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
13
14dnl checks for programs
15AC_PROG_MAKE_SET
16AC_PROG_CC
17AC_PROG_INSTALL
Diego Elio Pettenò62f0e062012-06-30 15:22:56 -070018LT_INIT([pic-only])
Pablo Neira Ayuso0ba77d52011-06-05 18:32:44 +020019
Neels Hofmeyr24796f22016-10-01 00:48:43 +020020dnl check for pkg-config (explained in detail in libosmocore/configure.ac)
21AC_PATH_PROG(PKG_CONFIG_INSTALLED, pkg-config, no)
22if test "x$PKG_CONFIG_INSTALLED" = "xno"; then
23 AC_MSG_WARN([You need to install pkg-config])
24fi
25PKG_PROG_PKG_CONFIG([0.20])
26
Pablo Neira Ayuso0ba77d52011-06-05 18:32:44 +020027AC_CONFIG_MACRO_DIR([m4])
28
Pau Espin Pedrol62eddcd2017-06-21 07:43:14 +020029CFLAGS+=" -Wall"
30CPPFLAGS+=" -Wall"
31
Pablo Neira Ayuso0ba77d52011-06-05 18:32:44 +020032# The following test is taken from WebKit's webkit.m4
33saved_CFLAGS="$CFLAGS"
34CFLAGS="$CFLAGS -fvisibility=hidden "
35AC_MSG_CHECKING([if ${CC} supports -fvisibility=hidden])
36AC_COMPILE_IFELSE([AC_LANG_SOURCE([char foo;])],
37 [ AC_MSG_RESULT([yes])
38 SYMBOL_VISIBILITY="-fvisibility=hidden"],
39 AC_MSG_RESULT([no]))
40CFLAGS="$saved_CFLAGS"
41AC_SUBST(SYMBOL_VISIBILITY)
42
43dnl Generate the output
44AM_CONFIG_HEADER(config.h)
45
46PKG_CHECK_MODULES(LIBOSMOCORE, libosmocore >= 0.3.0)
47PKG_CHECK_MODULES(LIBOSMOVTY, libosmovty >= 0.3.0)
Harald Welte43f4e082011-10-10 08:49:01 +020048PKG_CHECK_MODULES(LIBOSMOGSM, libosmogsm >= 0.3.10)
Max15d9b792016-04-28 12:05:27 +020049PKG_CHECK_MODULES(ORTP, ortp >= 0.22.0)
Pablo Neira Ayuso0ba77d52011-06-05 18:32:44 +020050
Harald Welte3bc78852011-08-24 08:32:38 +020051AC_CHECK_HEADERS(dahdi/user.h,,AC_MSG_WARN(DAHDI input driver will not be built))
Pablo Neira Ayuso0b9ed9a2011-07-02 17:25:19 +020052
Max8a3be282017-02-20 18:24:03 +010053AC_ARG_ENABLE(sanitize,
54 [AS_HELP_STRING(
55 [--enable-sanitize],
56 [Compile with address sanitizer enabled],
57 )],
58 [sanitize=$enableval], [sanitize="no"])
59if test x"$sanitize" = x"yes"
60then
61 CFLAGS+=" -fsanitize=address -fsanitize=undefined"
62 CPPFLAGS+=" -fsanitize=address -fsanitize=undefined"
63fi
64
Harald Weltebf7976c2017-04-04 12:10:54 +000065_cflags_save=$CFLAGS
66CFLAGS="$CFLAGS $ORTP_CFLAGS"
Pau Espin Pedrolc42bf192017-03-24 17:26:49 +010067AC_COMPILE_IFELSE(
68 [AC_LANG_PROGRAM(
69 [[#include <ortp/ortp.h>]],
70 [[ortp_set_log_level_mask(NULL, 0xffff);]]
71 )],
72 [AC_DEFINE([HAVE_ORTP_LOG_DOMAIN], [1],
73 [ortp_set_log_level_mask requires domain parameter])],
74 [AC_DEFINE([HAVE_ORTP_LOG_DOMAIN], [0],
75 [ortp_set_log_level_mask has no domain parameter])])
Harald Weltebf7976c2017-04-04 12:10:54 +000076CFLAGS=$_cflags_save
Pau Espin Pedrolc42bf192017-03-24 17:26:49 +010077
Pau Espin Pedrol05df2d62017-06-21 07:37:45 +020078_cflags_save=$CFLAGS
79CFLAGS="$CFLAGS $ORTP_CFLAGS"
80AC_COMPILE_IFELSE(
81 [AC_LANG_PROGRAM(
82 [[#include <ortp/ortp.h>]],
83 [[void fake_cb(struct _RtpSession *r, void *arg1, void *arg2, void *arg3) { return; } rtp_session_signal_connect(NULL, "", fake_cb, (void*) fake_cb);]]
84 )],
85 [AC_DEFINE([RTP_SIGNAL_PTR_CAST(arg)], [(void*)(arg)],
86 [rtp_session_signal_connect requires pointer parameter])],
87 [AC_DEFINE([RTP_SIGNAL_PTR_CAST(arg)], [(unsigned long)(arg)],
88 [rtp_session_signal_connect requires ulong parameter])])
89CFLAGS=$_cflags_save
90
91
Pablo Neira Ayuso0ba77d52011-06-05 18:32:44 +020092AC_OUTPUT(
93 libosmoabis.pc
Harald Welte41d0d842011-09-03 15:33:24 +020094 libosmotrau.pc
Pablo Neira Ayuso0ba77d52011-06-05 18:32:44 +020095 include/Makefile
Pablo Neira Ayuso0ba77d52011-06-05 18:32:44 +020096 src/Makefile
Pablo Neira Ayuso0ba77d52011-06-05 18:32:44 +020097 tests/Makefile
98 Makefile)