WIP: chan_lcr support for Asterisk 11.5
[lcr.git] / configure.ac
index 2440d44..d778c2c 100644 (file)
@@ -25,7 +25,7 @@ dnl    Boston, MA 02110-1301, USA.
 dnl This keeps being the first instruction.
 dnl Change the 2nd argument if the version increases
 dnl 1st + 2nd argument is used for distribution package name
-AC_INIT(lcr, 1.13, andreas@eversberg.eu)
+AC_INIT(lcr, 1.14, andreas@eversberg.eu)
 AC_PREREQ(2.59)
 AC_CONFIG_SRCDIR([main.c])
 AM_CONFIG_HEADER(config.h)
@@ -33,7 +33,7 @@ AM_CONFIG_HEADER(config.h)
 # fix warnings from autoconf + automake
 AC_GNU_SOURCE
 # AC_USE_SYSTEM_EXTENSIONS
-AM_INIT_AUTOMAKE(lcr,1.13)
+AM_INIT_AUTOMAKE(lcr,1.14)
 
 
 
@@ -44,6 +44,7 @@ AC_PROG_CXX
 AC_PROG_CC
 AC_PROG_INSTALL
 AC_PROG_MAKE_SET
+AC_PROG_LIBTOOL
 dnl required, if per binary CFLAGS are used
 dnl AM_PROG_CC_C_O
 
@@ -132,6 +133,23 @@ if test "x$with_asterisk" = "xyes"; then
        AST_CFLAGS="-Dast_tone_zone_sound=$ast_tone_zone_sound $ast_1_8_or_higher"
 
        AC_SUBST([AST_CFLAGS])
+
+       AC_CHECK_PROG(ASTERISK, asterisk, executable found,)
+       if test x"$ASTERISK" = x; then
+               AC_MSG_ERROR([asterisk executable not found])
+       fi
+
+       AC_MSG_CHECKING([for asterisk's version])
+               version=`asterisk -V`
+               pri=`echo $version | sed 's#.* \([0-9]*\)\.\([0-9]*\)\.\([0-9]*\)#\1#' `
+               sec=`echo $version | sed 's#.* \([0-9]*\)\.\([0-9]*\)\.\([0-9]*\)#\2#' `
+               ter=`echo $version | sed 's#.* \([0-9]*\)\.\([0-9]*\)\.\([0-9]*\)#\3#' `
+               numver="$(printf '%02d' "$pri")$(printf '%02d' "$sec")$(printf '%02d' "$ter")"
+#              if [ $numver -lt 100000 ]; then
+#                      AC_MSG_ERROR([Asterisk version found is too old; x.y.z required])
+#              fi
+       AC_MSG_RESULT([$numver])
+       AC_DEFINE_UNQUOTED([ASTERISK_VERSION_NUM], $numver, [Asterisk version found])
 fi
 
 AM_CONDITIONAL(ENABLE_ASTERISK_CHANNEL_DRIVER, test "x$with_asterisk" == "xyes" )
@@ -183,14 +201,26 @@ AM_CONDITIONAL(ENABLE_GSM_MS, test "x$with_gsm_ms" == "xyes" )
 
 AM_CONDITIONAL(ENABLE_GSM, test "x$with_gsm_bs" == "xyes" -o "x$with_gsm_ms" == "xyes")
 
-AS_IF([test "x$with_gsm_bs" == xyes -o "x$with_gsm_ms" == xyes],
-       [AC_MSG_CHECKING(/usr/include/gsm/gsm.h)
-       if test -e /usr/include/gsm/gsm.h; then
-               AC_MSG_RESULT(yes)
-       else
-       AC_MSG_FAILURE([You have enabled GSM, but /usr/include/gsm/gsm.h not found! Please install the lossy GSM codec. Be sure to install it in /usr/ and not in /usr/local/. You will also find a copy on http://www.linux-call-router.de.])
-       fi
-       ])
+# check for 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)
+AM_CONDITIONAL(ENABLE_GSMAMR, test "$found_opencore_amrnb" = "yes")
+if test "$found_opencore_amrnb" = yes; then
+       AC_DEFINE(HAVE_OPENCORE_AMRNB, 1, [Define to 1 if OpenCore AMR-NB library is available])
+fi
+
+# check for HR codec
+AC_ARG_ENABLE(gsmhr,
+       [AS_HELP_STRING(
+               [--enable-gsmhr],
+               [Enable support for GSM HR codec using reference code]
+       )],
+       [enable_gsmhr=1], [enable_gsmhr=0])
+AM_CONDITIONAL(ENABLE_GSMHR, test "x$enable_gsmhr" = "x1")
+if test "x$enable_gsmhr" = "x1"; then
+       AM_PATH_PYTHON([2.4])
+       AC_DEFINE(HAVE_LIBGSMHR, 1, [Define to 1 if libgsmhr is available])
+fi
 
 # check for ss5
 AC_ARG_WITH([ss5],
@@ -249,13 +279,15 @@ AC_FUNC_VPRINTF
 AC_CHECK_FUNCS([gettimeofday memmove memset mkdir socket strcasecmp strchr strerror strncasecmp strstr strtol strtoul])
 
 
-AC_CONFIG_FILES([Makefile])
+AC_CONFIG_FILES([Makefile include/Makefile include/gsmhr/Makefile libgsmhr/Makefile])
 AC_OUTPUT
 
 
 AS_IF([test "x$with_misdn" == xyes],[AC_MSG_NOTICE( Compiled with mISDN support )],[AC_MSG_NOTICE( Not compiled with mISDN support)])
 AS_IF([test "x$with_gsm_bs" == xyes],[AC_MSG_NOTICE( Compiled with GSM network side support )],[AC_MSG_NOTICE( Not compiled with GSM network side support)])
 AS_IF([test "x$with_gsm_ms" == xyes],[AC_MSG_NOTICE( Compiled with GSM mobile side support )],[AC_MSG_NOTICE( Not compiled with GSM mobile side support)])
+AS_IF([test "x$enable_gsmhr" == x1],[AC_MSG_NOTICE( Compiled with GSM half rate codec support )],[AC_MSG_NOTICE( Not compiled with GSM half rate codec support)])
+AS_IF([test "x$found_opencore_amrnb" == xyes],[AC_MSG_NOTICE( Compiled with GSM AMR codec support )],[AC_MSG_NOTICE( Not compiled with GSM AMR codec support)])
 AS_IF([test "x$with_asterisk" == xyes],[AC_MSG_NOTICE( Compiled with Asterisk channel driver support )],[AC_MSG_NOTICE( Not compiled with Asterisk channel driver support)])
 AS_IF([test "x$with_ss5" == xyes],[AC_MSG_NOTICE( Compiled with CCITT No.5 support )],[AC_MSG_NOTICE( Not compiled with CCITT No.5 support)])
 AS_IF([test "x$with_sip" == xyes],[AC_MSG_NOTICE( Compiled with SIP support )],[AC_MSG_NOTICE( Not compiled with SIP support)])