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.3, 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.3)
+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_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-bs
+AC_ARG_WITH([gsm-bs],
+ [AS_HELP_STRING([--with-gsm-bs],
+ [compile with OpenBSC support @<:@default=no@:>@])
+ ],
+ [],
+ [with_gsm_bs="check"])
+
+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=no@:>@])
+ ],
+ [],
+ [with_gsm_ms="check"])
+
+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],
+ [compile with CCITT No. 5 support @<:@default=no@:>@])
+ ],
+ [],
+ [with_ss5="check"])
+
+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)])
+