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.12, 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.12)
dnl enable this to have all special options on one place
dnl AC_PRESERVE_HELP_ORDER
+# check for mISDN
+AC_ARG_WITH([misdn],
+ [AS_HELP_STRING([--with-misdn],
+ [compile with mISDN driver @<:@default=check@:>@])
+ ],
+ [],
+ [with_misdn="check"])
+
+AS_IF([test "x$with_misdn" != xno],
+ [AC_CHECK_HEADERS([mISDN/mbuffer.h],
+ [with_misdn="yes"],
+ [if test "x$with_misdn" != xcheck ; then
+ AC_MSG_FAILURE(
+ [--with-misdn was given, but test for header-file mISDN/mbuffer.h failed])
+ fi
+ ])
+ ])
+
+AM_CONDITIONAL(ENABLE_MISDN, test "x$with_misdn" == "xyes" )
+
# check for asterisk
AC_ARG_WITH([asterisk],
[AS_HELP_STRING([--with-asterisk],
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_MSG_FAILURE([No ast_tone_zone_sound, confused...])
fi
- AST_CFLAGS="-Dtone_zone_sound=$ast_tone_zone_sound"
+ 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
# check for gsm-bs
AC_ARG_WITH([gsm-bs],
[AS_HELP_STRING([--with-gsm-bs],
- [compile with OpenBSC support @<:@default=check@:>@])
+ [compile with OpenBSC support @<:@default=no@:>@])
],
[],
[with_gsm_bs="check"])
-AS_IF([test "x$with_gsm_bs" != xno],
- [AC_MSG_CHECKING(openbsc/include/openbsc/gsm_data.h)
- if test -d 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])
- fi
- ])
-
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@:>@])
+ [compile with Osmocom-bb support @<:@default=no@:>@])
],
[],
[with_gsm_ms="check"])
-AS_IF([test "x$with_gsm_ms" != xno],
- [AC_MSG_CHECKING(layer23/include/osmocom/osmocom_data.h)
- if test -d layer23/include/osmocom/osmocom_data.h; then
- with_gsm_ms="yes"
- AC_MSG_RESULT(yes)
- elif test "x$with_gsm_bs" != xcheck ; then
- AC_MSG_FAILURE([--with-gsm-ms was given, but layer23/include/osmocom/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])
- 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")
+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 ss5
AC_ARG_WITH([ss5],
[AS_HELP_STRING([--with-ss5],
AM_CONDITIONAL(ENABLE_SS5, test "x$with_ss5" == "xyes" )
+# check for SIP
+AC_ARG_WITH([sip],
+ [AS_HELP_STRING([--with-sip],
+ [compile with SIP support (sofia-sip is required) @<:@default=no@:>@])
+ ],
+ [],
+ [with_sip="check"])
+
+AM_CONDITIONAL(ENABLE_SIP, test "x$with_sip" == "xyes" )
+
+AS_IF([test "x$with_sip" == xyes -o "x$with_sip" == xyes], [
+ PKG_CHECK_MODULES(SOFIA, sofia-sip-ua >= 1.12)
+ ])
+
# Checks for libraries.
AC_CHECK_LIB([m], [main])
AC_CHECK_LIB([ncurses], [main])
AC_HEADER_DIRENT
AC_HEADER_STDC
AC_HEADER_SYS_WAIT
-AC_CHECK_HEADERS([fcntl.h netinet/in.h stdlib.h string.h sys/file.h sys/ioctl.h sys/socket.h sys/time.h unistd.h ctype.h assert.h mISDNuser/mbuffer.h assert.h])
+AC_CHECK_HEADERS([fcntl.h netinet/in.h stdlib.h string.h sys/file.h sys/ioctl.h sys/socket.h sys/time.h unistd.h ctype.h assert.h assert.h])
# Checks for typedefs, structures, and compiler characteristics.
AC_HEADER_STDBOOL
AC_CONFIG_FILES([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$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)])
+