isdn4k-utils/isdnlog/configure.ac

233 lines
7.3 KiB
Plaintext

dnl Process this file with autoconf to produce a configure script.
AC_PREREQ([2.68])
AC_INIT(isdnlog/isdnlog.c)
AC_PREFIX_DEFAULT([/usr])
dnl i4l package setup, get variables from central config-snippet .config
dnl If a variable is not set there, set default also.
if test -r ../.config ; then
source ../.config
fi
I4LVERSION=${I4LVERSION:-"?.?"}
I4LCONFDIR=${CONFIG_I4LCONFDIR:-"/etc/isdn"}
OLDCONFDIR=${CONFIG_ISDNLOG_OLDI4LCONFDIR:-"/etc/isdnlog"}
OLDCONFFILE=${CONFIG_ISDNLOG_OLDI4LCONFFILE:-"isdnlog.conf"}
CONFFILE=${CONFIG_CONFFILE:-"isdn.conf"}
CALLERIDFILE=${CONFIG_CALLERIDFILE:-"callerid.conf"}
RUNDIR=${CONFIG_RUNDIR:-"/var/run"}
SERV_PORT=${CONFIG_ISDNLOG_SERV_PORT:-20011}
USERFILE=${CONFIG_ISDNLOG_USERFILE:-"isdnlog.users"}
LOGFILE=${CONFIG_ISDNLOG_LOGFILE:-"/var/log/isdn.log"}
CHARGEFILE=${CONFIG_ISDNLOG_CHARGEFILE:-"charge.dat"}
RELOADCMD=${CONFIG_ISDNLOG_RELOADCMD:-"reload"}
STOPCMD=${CONFIG_ISDNLOG_STOPCMD:-"stop"}
REBOOTCMD=${CONFIG_ISDNLOG_REBOOTCMD:-"/sbin/reboot"}
COUNTRYCODE=${CONFIG_COUNTRYCODE:-"49"}
COUNTRYPREFIX=${CONFIG_COUNTRY_PREFIX:-"+"}
AREACODE=${CONFIG_AREACODE:-""}
AREAPREFIX=${CONFIG_AREA_PREFIX:-"0"}
CONFIG_LIB_AREACODE=${CONFIG_LIB_AREACODE:-"y"}
CONFIG_ISDNLOG_POSTGRESDIR=${CONFIG_ISDNLOG_POSTGRESDIR:-""}
CONFIG_ISDNLOG_MYSQLDIR=${CONFIG_ISDNLOG_MYSQLDIR:-""}
LIBISDNDIR="../lib"
bindir=${CONFIG_BINDIR:-"/usr/bin"}
sbindir=${CONFIG_SBINDIR:-"/sbin"}
mandir=${CONFIG_MANDIR:-"/usr/man"}
datadir=${CONFIG_DATADIR:-"/usr/lib/isdn"}
DOCDIR=${CONFIG_ISDNLOG_DOCDIR:-"/usr/doc/packages/i4l/isdnlog"}
DATADIR=$datadir
ISDNLOG_VERSION=`grep "^VERSION \+= \+" Makefile.in | awk '{print $3}'`
if test "$CONFIG_LIB_AREACODE" = "y" ; then
ALIB=area
fi
dnl
dnl To make it possible to set variables in policy.h
dnl they have to be defined with AC_DEFINE...
dnl
AC_DEFINE_UNQUOTED(OLDCONFDIR, ["$OLDCONFDIR"], [isdnlog old config directory])
AC_DEFINE_UNQUOTED(OLDCONFFILE, ["$OLDCONFFILE"], [isdnlog old config file])
AC_DEFINE_UNQUOTED(DATADIR, ["$datadir"], [isdnlog data directory])
AC_DEFINE_UNQUOTED(CONFIG_DATADIR, ["$CONFIG_DATADIR"], [isdnlog data directory])
AC_DEFINE_UNQUOTED(CONFIG_I4LCONFDIR, ["$CONFIG_I4LCONFDIR"], [isdnlog i4l config directory])
AC_DEFINE_UNQUOTED(SERV_PORT, [$SERV_PORT], [isdnlog server port])
AC_DEFINE_UNQUOTED(USERFILE, ["$USERFILE"], [isdnlog users file])
AC_DEFINE_UNQUOTED(LOGFILE, ["$LOGFILE"], [isdnlog log file])
AC_DEFINE_UNQUOTED(CHARGEFILE, ["$CHARGEFILE"], [isdnlog charge file])
AC_DEFINE_UNQUOTED(RELOADCMD, ["$RELOADCMD"], [isdnlog reload command])
AC_DEFINE_UNQUOTED(STOPCMD, ["$STOPCMD"], [sdnlog stop command])
AC_DEFINE_UNQUOTED(REBOOTCMD, ["$REBOOTCMD"], [isdnlog reboot command])
if test "$CONFIG_ISDN_LOG_DE" = "y" ; then
NATION="de"
NATION_MACRO="ISDN_DE"
AC_DEFINE(ISDN_DE, 1, [ISDN in Germany])
fi
if test "$CONFIG_ISDN_LOG_AT" = "y" ; then
NATION="at"
NATION_MACRO="ISDN_AT"
AC_DEFINE(ISDN_AT, 1, [ISDN in Austria])
fi
if test "$CONFIG_ISDN_LOG_CH" = "y" ; then
NATION="ch"
NATION_MACRO="ISDN_CH"
AC_DEFINE(ISDN_CH, 1, [ISDN in Switzerland])
fi
if test "$CONFIG_ISDN_LOG_NL" = "y" ; then
NATION="nl"
NATION_MACRO="ISDN_NL"
AC_DEFINE(ISDN_NL, 1, [ISDN in the Netherlands])
fi
if test "$CONFIG_ISDN_LOG_LU" = "y" ; then
NATION="lu"
NATION_MACRO="ISDN_LU"
AC_DEFINE(ISDN_LU, 1, [ISDN in Luxemburg])
fi
if test "$CONFIG_ISDN_LOG_XX" = "y" ; then
NATION=$CONFIG_ISDN_LOG_CC
NATION_MACRO="ISDN_XX"
AC_DEFINE(ISDN_XX, 1, [ISDN])
fi
dnl Checks for programs.
AC_PROG_CC
AC_PROG_INSTALL
AC_PROG_AWK
AC_PATH_PROG(SED,sed)
AC_PROG_MAKE_SET
AC_PATH_PROGS(BZIP2, bzip2, /usr/bin/bzip2, $PATH:/bin:/usr/bin:/usr/local/bin)
dnl Checks for libraries.
if test -e tools/cdb/i4l_cdb.c ; then
AC_DEFINE(USE_CDB, 1, [use CDB as database])
CDBEXTRALIBS="tools/cdb/i4l_cdb.a"
DBEXT=".cdb"
RDBEXT=".cdb"
AC_MSG_RESULT([Using CDB as database])
else
AC_CHECK_LIB(gdbm, gdbm_open,
[DBMLIB=-lgdbm
AC_DEFINE(HAVE_LIBGDBM, 1, [use GDBM as database])],
[AC_CHECK_LIB(dbm, dbm_open,
[DBMLIB=-ldbm
AC_DEFINE(HAVE_LIBDBM, 1, [use DBM as database])],
[AC_CHECK_LIB(db, dbm_open,
[DBMLIB=-ldb
AC_DEFINE(HAVE_LIBDB, 1, [use DB as database])])])])
fi
AC_DEFINE_UNQUOTED(RDBEXT, ["$RDBEXT"], [extension of the respective DB files])
dnl log database support
AC_CHECK_POSTGRES
AC_CHECK_MYSQLDB
AC_CHECK_ORACLE
dnl TODO: replace main by a funcion within libdbmalloc
#AC_CHECK_LIB(dbmalloc, main)
dnl Checks for header files.
AC_HEADER_STDC
AC_HEADER_SYS_WAIT
AC_CHECK_HEADERS(fcntl.h limits.h sys/ioctl.h sys/time.h syslog.h unistd.h)
dnl Manual config
AC_ARG_WITH(isdnlib,
[ --with-isdnlib=DIR Set isdn library [../lib]],
LIBISDNDIR=$withval; AC_DEFINE_UNQUOTED(LIBISDNDIR, ["$withval"], [ISDN library]))
AC_ARG_WITH(area-lib,
[ --with-area-lib=STRING Set area library type [area]],
ALIB=$withval)
AC_ARG_WITH(charge,
[ --with-charge=XX Set country specific chargeinfo [DE]],
CHARGECOUNTRY=$withval)
AC_ARG_WITH(oldconfdir,
[ --with-oldconfdir=DIR Set old config directory [/etc/isdnlog]],
OLDCONFDIR=$withval; AC_DEFINE_UNQUOTED(OLDCONFDIR, ["$withval"], [isdnlog old config directory]))
AC_ARG_WITH(oldconf,
[ --with-oldconf=NAME Set old config file name [isdnlog.conf]],
OLDCONFFILE=$withval; AC_DEFINE_UNQUOTED(OLDCONFFILE, ["$withval"], [isdnlog old config file]))
AC_ARG_WITH(datadir,
[ --with-datadir=DIR Set data directory [/usr/lib/isdn]],
datadir=$withval; AC_DEFINE_UNQUOTED(DATADIR, ["$withval"], [isdnlog data directory]))
AC_ARG_WITH(sport,
[ --with-sport=INT Set server port [20011]],
SERV_PORT=$withval; AC_DEFINE_UNQUOTED(SERV_PORT, [$withval], [isdnlog server port]))
dnl Checks for typedefs, structures, and compiler characteristics.
AC_C_CONST
AC_TYPE_PID_T
AC_TYPE_SIZE_T
AC_HEADER_TIME
AC_STRUCT_TM
dnl Checks for C library functions.
AC_FUNC_MEMCMP
AC_TYPE_SIGNAL
AC_FUNC_UTIME_NULL
AC_CHECK_FUNCS(mktime select socket stime strdup strerror strftime strstr strtod strtol)
dnl Set variables in output files.
if test "$ALIB" = "area" ; then
LIBAREA=1
AC_DEFINE(LIBAREA, 1, [area library])
fi
case "$CHARGECOUNTRY" in
DE)
NATION="de"
NATION_MACRO="ISDN_DE"
AC_DEFINE(ISDN_DE, 1, [ISDN in Germany])
;;
AT)
NATION="at"
NATION_MACRO="ISDN_AT"
AC_DEFINE(ISDN_AT, 1, [ISDN in Austria])
;;
CH)
NATION="ch"
NATION_MACRO="ISDN_CH"
AC_DEFINE(ISDN_CH, 1, [ISDN in Switzerland])
;;
NL)
NATION="nl"
NATION_MACRO="ISDN_NL"
AC_DEFINE(ISDN_NL, 1, [ISDN in the Netherlands])
;;
esac
AC_SUBST(AREACODE)
AC_SUBST(AREAPREFIX)
AC_SUBST(CALLERIDFILE)
AC_SUBST(CDBEXTRALIBS)
AC_SUBST(CONFFILE)
AC_SUBST(COUNTRYCODE)
AC_SUBST(COUNTRYPREFIX)
AC_SUBST(DATADIR)
AC_SUBST(DBMLIB)
AC_SUBST(DOCDIR)
AC_SUBST(I4LCONFDIR)
AC_SUBST(I4LVERSION)
AC_SUBST(ISDNLOG_VERSION)
AC_SUBST(LIBAREA)
AC_SUBST(LIBISDNDIR)
AC_SUBST(LOGFILE)
AC_SUBST(NATION)
AC_SUBST(NATION_MACRO)
AC_SUBST(OLDCONFDIR)
AC_SUBST(OLDCONFFILE)
AC_SUBST(REBOOTCMD)
AC_SUBST(RELOADCMD)
AC_SUBST(RUNDIR)
AC_SUBST(SERV_PORT)
AC_SUBST(STOPCMD)
AC_SUBST(USERFILE)
AC_CONFIG_HEADERS(policy.h)
AC_OUTPUT(Makefile isdnlog/callerid.conf.5 isdnlog/isdn.conf.5 tools/rate.conf.5 isdnlog/isdnformat.5 isdnlog/isdnlog.5 isdnlog/isdnlog.8 isdnlog/isdnlog.users.5 isdnrep/isdnrep.1 isdnrep/isdnbill.1 isdnconf/isdnconf.1 samples/isdn.conf samples/isdn.conf.at samples/isdn.conf.de samples/isdn.conf.lu samples/isdn.conf.nl samples/isdn.conf.no samples/isdn.conf.pl)