dnl This file is part of linux-call-router
dnl Copyright (C) 2007 Joerg Habenicht (j.habenicht@gmx.de)
dnl Copyright (C) 2008 Peter Schlaile (peter -at- schlaile.de)
+dnl Copyright (C) 2010 Andreas Eversberg (jolly@eversberg.eu)
dnl This program is free software; you can redistribute it and/or
dnl modify it under the terms of the GNU General Public License as
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.7, andreas@eversberg.eu)
+AC_INIT(lcr, 1.9, andreas@eversberg.eu)
AC_PREREQ(2.59)
AC_CONFIG_SRCDIR([main.c])
AM_CONFIG_HEADER(config.h)
# fix warnings from autoconf + automake
AC_GNU_SOURCE
# AC_USE_SYSTEM_EXTENSIONS
-AM_INIT_AUTOMAKE(lcr,1.7)
+AM_INIT_AUTOMAKE(lcr,1.9)
])
])
+if test "x$with_asterisk" = "xyes"; then
+ ast_tone_zone_sound=
+ ast_1_8_or_higher=
+
+ AC_MSG_CHECKING([for struct tone_zone_sound in asterisk/indications.h])
+ tzs_test_result=no
+ AC_COMPILE_IFELSE([
+ AC_LANG_PROGRAM(
+ [[#include <asterisk.h>],
+ [#include <asterisk/linkedlists.h>],
+ [#include <asterisk/indications.h>]],
+ [[struct tone_zone_sound * ts = NULL; (void) ts->data;]])],
+ [tzs_test_result=yes])
+ AC_MSG_RESULT([$tzs_test_result])
+
+ if test "x$tzs_test_result" = "xyes"; then
+ ast_tone_zone_sound=tone_zone_sound
+ fi
+
+ if test "x$ast_tone_zone_sound" = "x"; then
+ AC_MSG_CHECKING([for struct ast_tone_zone_sound in asterisk/indications.h])
+ tzs_test_result=no
+ AC_COMPILE_IFELSE([
+ AC_LANG_PROGRAM(
+ [[#include <asterisk.h>],
+ [#include <asterisk/linkedlists.h>],
+ [#include <asterisk/indications.h>]],
+ [[struct ast_tone_zone_sound * ts = NULL; (void) ts->name;]])],
+ [tzs_test_result=yes])
+ AC_MSG_RESULT([$tzs_test_result])
+
+ if test "x$tzs_test_result" = "xyes"; then
+ ast_tone_zone_sound=ast_tone_zone_sound
+ fi
+ fi
+
+ if test "x$ast_tone_zone_sound" = "x"; then
+ AC_MSG_FAILURE([No ast_tone_zone_sound, confused...])
+ fi
+
+ AC_MSG_CHECKING([for struct ast_party_caller in asterisk/channel.h])
+ apc_test_result=no
+ AC_COMPILE_IFELSE([
+ AC_LANG_PROGRAM(
+ [[#include <asterisk.h>],
+ [#include <asterisk/channel.h>]],
+ [[struct ast_party_caller * caller = NULL; (void) caller->id;]])],
+ [apc_test_result=yes])
+ AC_MSG_RESULT([$apc_test_result])
+
+ if test "x$apc_test_result" = "xyes"; then
+ ast_1_8_or_higher="-DAST_1_8_OR_HIGHER"
+ fi
+
+ AST_CFLAGS="-Dtone_zone_sound=$ast_tone_zone_sound $ast_1_8_or_higher"
+
+ AC_SUBST([AST_CFLAGS])
+fi
+
AM_CONDITIONAL(ENABLE_ASTERISK_CHANNEL_DRIVER, test "x$with_asterisk" == "xyes" )
# check for crypto
]
)
-# check for gsm
-AC_ARG_WITH([gsm],
- [AS_HELP_STRING([--with-gsm],
+# check for gsm-bs
+AC_ARG_WITH([gsm-bs],
+ [AS_HELP_STRING([--with-gsm-bs],
[compile with OpenBSC support @<:@default=check@:>@])
],
[],
- [with_gsm="check"])
-
-AS_IF([test "x$with_gsm" != xno],
- [AC_CHECK_FILE([openbsc/include/openbsc/gsm_data.h],
- [with_gsm="yes"],
- [if test "x$with_gsm" != xcheck ; then
- AC_MSG_FAILURE(
- [--with-gsm was given, but openbsc/include/openbsc/gsm_data.h was not found! Pleas link OpenBSC source directory to LCR source directory: ln -s path_to_openbsc/openbsc/ .])
- fi
- ])
+ [with_gsm_bs="check"])
+
+AS_IF([test "x$with_gsm_bs" != xno],
+ [AC_MSG_CHECKING(openbsc/include/openbsc/gsm_data.h)
+ if test -e openbsc/include/openbsc/gsm_data.h; then
+ with_gsm_bs="yes"
+ AC_MSG_RESULT(yes)
+ elif test "x$with_gsm_bs" != xcheck ; then
+ AC_MSG_FAILURE([--with-gsm-bs was given, but openbsc/include/openbsc/gsm_data.h was not found! Please link OpenBSC and libosmocore source directory to LCR source directory: ln -s path_to_openbsc/openbsc/ openbsc ; ln -s patch_to_libosmocore libosmocore])
+ else
+ AC_MSG_RESULT(no)
+ fi
])
-AM_CONDITIONAL(ENABLE_GSM, test "x$with_gsm" == "xyes" )
+AM_CONDITIONAL(ENABLE_GSM_BS, test "x$with_gsm_bs" == "xyes" )
+
+# check for gsm-ms
+AC_ARG_WITH([gsm-ms],
+ [AS_HELP_STRING([--with-gsm-ms],
+ [compile with Osmocom-bb support @<:@default=check@:>@])
+ ],
+ [],
+ [with_gsm_ms="check"])
+
+AS_IF([test "x$with_gsm_ms" != xno],
+ [AC_MSG_CHECKING(layer23/include/osmocom/bb/common/osmocom_data.h)
+ if test -e layer23/include/osmocom/bb/common/osmocom_data.h; then
+ with_gsm_ms="yes"
+ AC_MSG_RESULT(yes)
+ elif test "x$with_gsm_ms" != xcheck ; then
+ AC_MSG_FAILURE([--with-gsm-ms was given, but layer23/include/osmocom/bb/common/osmocom_data.h was not found! Please link Osmocom-BB and libosmocore source directory to LCR source directory: ln -s path_to_osmocom-bb/src/host/layer23/ layer23 ; ln -s path_to_libosmocore libosmocore])
+ else
+ AC_MSG_RESULT(no)
+ fi
+ ])
+
+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")
# check for ss5
AC_ARG_WITH([ss5],