-
Notifications
You must be signed in to change notification settings - Fork 3
/
configure.ac
129 lines (109 loc) · 3.59 KB
/
configure.ac
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
AC_PREREQ([2.65])
AC_INIT([gapk],
m4_esyscmd([./git-version-gen .tarball-version]),
AM_INIT_AUTOMAKE([dist-bzip2 subdir-objects])
LT_INIT([disable-static])
CFLAGS="$CFLAGS -std=gnu11"
# kernel style compile messages
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
dnl include release helper
RELMAKE='-include osmo-release.mk'
AC_SUBST([RELMAKE])
AC_CONFIG_SRCDIR([src/app_osmo_gapk.c])
AC_CONFIG_HEADERS([config.h])
AC_CONFIG_MACRO_DIR([m4])
AC_CONFIG_TESTDIR(tests)
dnl patching ${archive_cmds} to affect generation of file "libtool" to fix linking with clang
AS_CASE(["$LD"],[*clang*],
[AS_CASE(["${host_os}"],
[*linux*],[archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'])])
# Options
AC_ARG_ENABLE(gsmhr,
[AS_HELP_STRING(
[--enable-gsmhr],
[Enable support for GSM HR codec using GSM 06.06 reference code]
)],
[enable_gsmhr="yes"], [enable_gsmhr=$enableval])
AM_CONDITIONAL(ENABLE_GSMHR, test "x$enable_gsmhr" = "xyes")
if test "x$enable_gsmhr" = "xyes"; then
AM_PATH_PYTHON([2.4])
AC_DEFINE(HAVE_LIBGSMHR, 1, [Define to 1 if libgsmhr is available])
fi
# Check for -fvisibility support
# (The following test is taken from WebKit's webkit.m4)
saved_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -fvisibility=hidden "
AC_MSG_CHECKING([if ${CC} supports -fvisibility=hidden])
AC_COMPILE_IFELSE([AC_LANG_SOURCE([char foo;])],
[ AC_MSG_RESULT([yes])
SYMBOL_VISIBILITY="-fvisibility=hidden"],
AC_MSG_RESULT([no]))
CFLAGS="$saved_CFLAGS"
AC_SUBST(SYMBOL_VISIBILITY)
dnl check os: some linker flags not available on osx
case $host in
*-darwin*)
;;
*)
LTLDFLAGS_OSMOGAPK='-Wl,--version-script=$(srcdir)/libosmogapk.map'
;;
esac
AC_SUBST(LTLDFLAGS_OSMOGAPK)
# Checks for programs.
AC_PROG_CC
AC_ARG_ENABLE(sanitize,
[AS_HELP_STRING([--enable-sanitize], [Compile with address sanitizer enabled], )],
[sanitize=$enableval], [sanitize="no"])
if test x"$sanitize" = x"yes"
then
CFLAGS="$CFLAGS -fsanitize=address -fsanitize=undefined"
CPPFLAGS="$CPPFLAGS -fsanitize=address -fsanitize=undefined"
fi
# Checks for libraries.
# libosmocore (codec module)
PKG_CHECK_MODULES(LIBOSMOCORE, libosmocore >= 0.3.2)
PKG_CHECK_MODULES(LIBOSMOCODEC, libosmocodec >= 0.1.25)
PKG_CHECK_MODULES(LIBALSA, alsa, [AC_DEFINE([HAVE_ALSA], [1], [We have ALSA])])
# opencore-amrnb for AMR and EFR decoding
found_opencore_amrnb=yes
PKG_CHECK_MODULES(OPENCORE_AMRNB, opencore-amrnb >= 0.1.0, , found_opencore_amrnb=no)
if test "$found_opencore_amrnb" = yes; then
AC_DEFINE(HAVE_OPENCORE_AMRNB, 1, [Define to 1 if OpenCore AMR-NB library is available])
fi
# libgsm for FR decoding
found_libgsm=yes
AC_CHECK_HEADERS(gsm/gsm.h, ,
[AC_CHECK_HEADERS(gsm.h, ,found_libgsm=no)])
AC_CHECK_LIB(gsm, gsm_create, LIBGSM_LIBS="-lgsm", found_libgsm=no)
if test "$found_libgsm" = yes; then
AC_DEFINE(HAVE_LIBGSM, 1, [Define to 1 if libgsm is available])
fi
AC_SUBST(LIBGSM_LIBS)
# Conditional codec tests
AC_SUBST(ENABLE_AMR_EFR_TESTS, [$found_opencore_amrnb])
AC_SUBST(ENABLE_HR_TESTS, [$enable_gsmhr])
AC_SUBST(ENABLE_FR_TESTS, [$found_libgsm])
# Checks for header files.
AC_CHECK_HEADERS([stdint.h stdlib.h string.h unistd.h])
# Checks for typedefs, structures, and compiler characteristics.
AC_C_INLINE
AC_TYPE_INT16_T
AC_TYPE_INT32_T
AC_TYPE_UINT16_T
AC_TYPE_UINT32_T
AC_TYPE_UINT64_T
AC_TYPE_UINT8_T
# Checks for library functions.
AC_FUNC_MALLOC
AC_CHECK_FUNCS([memset])
AC_CONFIG_FILES([
Makefile
src/Makefile
libgsmhr/Makefile
include/Makefile
include/gsmhr/Makefile
libosmogapk.pc
tests/atlocal
tests/Makefile])
AC_OUTPUT