blob: c24e8f025242a007297c3b7b9e14ec9b56c3a4dd [file] [log] [blame]
Sylvain Munaut96b1c3b2010-10-24 10:22:06 +02001AC_PREREQ([2.65])
Harald Welte0790f032015-11-05 21:25:32 +01002AC_INIT([gapk],
3 m4_esyscmd([./git-version-gen .tarball-version]), [main@lists.airprobe.org])
Sylvain Munaut96b1c3b2010-10-24 10:22:06 +02004
Sylvain Munautea1c6c62015-12-30 10:53:16 +01005AM_INIT_AUTOMAKE([dist-bzip2 subdir-objects])
Sylvain Munautac967d22015-12-30 10:53:53 +01006LT_INIT([disable-static])
Sylvain Munaut96b1c3b2010-10-24 10:22:06 +02007
8# kernel style compile messages
9m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
10
11AC_CONFIG_SRCDIR([src/main.c])
12AC_CONFIG_HEADERS([config.h])
13AC_CONFIG_MACRO_DIR([m4])
14AC_CONFIG_FILES([
15 Makefile
16 src/Makefile
Sylvain Munaut0d2a82c2010-11-12 17:10:44 +010017 libgsmhr/Makefile
Sylvain Munaut96b1c3b2010-10-24 10:22:06 +020018 include/Makefile
Sylvain Munaut294db602010-10-24 13:01:56 +020019 include/gapk/Makefile
Sylvain Munaut0d2a82c2010-11-12 17:10:44 +010020 include/gsmhr/Makefile
Sylvain Munaut96b1c3b2010-10-24 10:22:06 +020021])
22
Sylvain Munaut0d2a82c2010-11-12 17:10:44 +010023# Options
24AC_ARG_ENABLE(gsmhr,
25 [AS_HELP_STRING(
26 [--disable-gsmhr],
27 [Disable support for GSM HR codec using reference code]
28 )],
29 [enable_gsmhr=0], [enable_gsmhr=1])
30AM_CONDITIONAL(ENABLE_GSMHR, test "x$enable_gsmhr" = "x1")
31if test "x$enable_gsmhr" = "x1"; then
Sylvain Munautaa55d302010-11-12 19:36:21 +010032 AM_PATH_PYTHON([2.4])
Sylvain Munaut0d2a82c2010-11-12 17:10:44 +010033 AC_DEFINE(HAVE_LIBGSMHR, 1, [Define to 1 if libgsmhr is available])
34fi
35
36# Check for -fvisibility support
37# (The following test is taken from WebKit's webkit.m4)
38saved_CFLAGS="$CFLAGS"
39CFLAGS="$CFLAGS -fvisibility=hidden "
40AC_MSG_CHECKING([if ${CC} supports -fvisibility=hidden])
Sylvain Munaut19428ca2011-09-30 12:15:12 +020041AC_COMPILE_IFELSE([AC_LANG_SOURCE([char foo;])],
Sylvain Munaut0d2a82c2010-11-12 17:10:44 +010042 [ AC_MSG_RESULT([yes])
43 SYMBOL_VISIBILITY="-fvisibility=hidden"],
44 AC_MSG_RESULT([no]))
45CFLAGS="$saved_CFLAGS"
46AC_SUBST(SYMBOL_VISIBILITY)
47
Sylvain Munaut96b1c3b2010-10-24 10:22:06 +020048# Checks for programs.
49AC_PROG_CC
50
51# Checks for libraries.
Sylvain Munautdc5b38b2010-11-11 13:51:31 +010052 # libosmocore (codec module)
Harald Weltece94d972013-02-11 11:34:58 +010053PKG_CHECK_MODULES(LIBOSMOCORE, libosmocore >= 0.3.2)
Sylvain Munaut553b3b62010-10-24 18:33:20 +020054PKG_CHECK_MODULES(LIBOSMOCODEC, libosmocodec >= 0.1.25)
Harald Welte2ae47af2017-05-27 23:35:23 +020055PKG_CHECK_MODULES(LIBALSA, alsa, [AC_DEFINE([HAVE_ALSA], [1], [We have ALSA])])
Sylvain Munaut96b1c3b2010-10-24 10:22:06 +020056
Sylvain Munaut8552b9d2010-11-11 13:57:41 +010057 # opencore-amrnb for AMR and EFR decoding
58found_opencore_amrnb=yes
Sylvain Munaut3c9c2fb2010-11-13 00:19:09 +010059PKG_CHECK_MODULES(OPENCORE_AMRNB, opencore-amrnb >= 0.1.0, , found_opencore_amrnb=no)
Sylvain Munaut8552b9d2010-11-11 13:57:41 +010060if test "$found_opencore_amrnb" = yes; then
61 AC_DEFINE(HAVE_OPENCORE_AMRNB, 1, [Define to 1 if OpenCore AMR-NB library is available])
62fi
63
Sylvain Munautdc5b38b2010-11-11 13:51:31 +010064 # libgsm for FR decoding
65found_libgsm=yes
66AC_CHECK_HEADERS(gsm/gsm.h, ,
67 [AC_CHECK_HEADERS(gsm.h, ,found_libgsm=no)])
68 AC_CHECK_LIB(gsm, gsm_create, LIBGSM_LIBS="-lgsm", found_libgsm=no)
69if test "$found_libgsm" = yes; then
70 AC_DEFINE(HAVE_LIBGSM, 1, [Define to 1 if libgsm is available])
71fi
72AC_SUBST(LIBGSM_LIBS)
73
Sylvain Munaut96b1c3b2010-10-24 10:22:06 +020074# Checks for header files.
75AC_CHECK_HEADERS([stdint.h stdlib.h string.h unistd.h])
76
77# Checks for typedefs, structures, and compiler characteristics.
78AC_C_INLINE
79AC_TYPE_INT16_T
80AC_TYPE_INT32_T
81AC_TYPE_UINT16_T
82AC_TYPE_UINT32_T
83AC_TYPE_UINT64_T
84AC_TYPE_UINT8_T
85
86# Checks for library functions.
87AC_FUNC_MALLOC
88AC_CHECK_FUNCS([memset])
89
90AC_OUTPUT