dnl SFLPhone - configure.ac for automake 1.9 and autoconf 2.59 dnl dnl Process this file with autoconf to produce a configure script. AC_PREREQ(2.59) AC_INIT([SFLPhone],[0.7],[sflphoneteam@savoirfairelinux.com],[sflphone]) AC_COPYRIGHT([[Copyright (c) Savoir-Faire Linux 2004-2007]]) AC_REVISION([$Revision$]) dnl Compute canonical system name AC_CANONICAL_TARGET dnl Rewrite name of programs to be installed AC_ARG_PROGRAM dnl Automake options AM_INIT_AUTOMAKE([-Wall -Wno-portability]) dnl Improve make variable MAKE AC_PROG_MAKE_SET dnl Where to find configure files AC_CONFIG_SRCDIR([config.h.in]) AC_CONFIG_MACRO_DIR([m4]) dnl What to generate dnl AC_CONFIG_FILES([stamp-h], [echo timestamp > stamp-h]) AC_CONFIG_FILES([Makefile]) AC_CONFIG_FILES([libs/Makefile \ libs/taxidermy/Makefile \ libs/stund/Makefile \ libs/utilspp/Makefile \ libs/utilspp/functor/Makefile \ libs/utilspp/singleton/Makefile]) AC_CONFIG_FILES([src/Makefile \ src/sflphone \ src/audio/Makefile \ src/audio/gsm/Makefile \ src/config/Makefile \ src/dbus/Makefile \ src/zeroconf/Makefile \ src/video/Makefile \ src/video/VideoCodec/Makefile \ src/video/V4L/Makefile \ src/memmanager/Makefile \ src/mixer/Makefile]) AC_CONFIG_FILES([skins/Makefile \ skins/metal/Makefile \ skins/gmetal/Makefile \ ringtones/Makefile]) AC_CONFIG_FILES([platform/debian/changelog \ platform/rpm/sflphone.spec \ platform/fedora/sflphone.spec \ platform/fedora/sflphone-fc6.spec]) dnl the file stamp-h.in should be there before (instead of AC_CONFIG_HEADERS(config.h)) AM_CONFIG_HEADER(config.h) dnl Get project version VERSION=`sed -ne 's/^#define SFLPHONED_VERSION "\(.*\)"/\1/p' ${srcdir}/src/global.h` dnl Get rid of release number RPM_VERSION=`echo $VERSION | cut -d- -f1` AC_SUBST(RPM_VERSION) RPM_RELEASE=`echo $VERSION | sed -ne 's/.*-\(.*\)/\1/p' ` AC_SUBST(RPM_RELEASE) VERSION=`echo $VERSION | cut -d- -f1` AC_SUBST(VERSION) dnl Settings need Standard C++ Library LIBS="$LIBS -lstdc++" dnl Solaris pkgadd support definitions PKGADD_PKG="SFLPhone" PKGADD_NAME="SFLPhone - a SIP client and daemon" PKGADD_VENDOR="http://www.sflphone.org/" AC_SUBST(PKGADD_PKG) AC_SUBST(PKGADD_NAME) AC_SUBST(PKGADD_VENDOR) dnl Check for programs AC_PROG_CC SFL_CXX_WITH_DEBUG AC_PROG_CXX AC_PROG_CPP AC_PROG_INSTALL AC_PROG_LN_S AC_PROG_MAKE_SET dnl will have to remove this AC_PROG_LIBTOOL dnl Define C++ as default language AC_LANG(C++) dnl Setup C++ compiler flags CXXFLAGS="$CXXFLAGS $USE_EXCEPTIONS $USER_INCLUDES" dnl Check for header files AC_FUNC_ALLOCA AC_HEADER_STDC AC_CHECK_HEADERS([arpa/inet.h fcntl.h libintl.h limits.h malloc.h \ memory.h netdb.h netinet/in.h stdlib.h string.h strings.h \ sys/ioctl.h sys/socket.h sys/time.h unistd.h utime.h ostream]) dnl Check for typedefs, structures, and compiler characteristics AC_HEADER_STAT AC_HEADER_STDBOOL AC_C_CONST AC_C_INLINE AC_TYPE_PID_T AC_TYPE_SIZE_T AC_HEADER_TIME AC_C_VOLATILE AC_CHECK_TYPES([ptrdiff_t]) dnl Check for library functions AC_FUNC_CHOWN AC_FUNC_ERROR_AT_LINE AC_FUNC_FORK AC_PROG_GCC_TRADITIONAL AC_FUNC_MALLOC AC_FUNC_MEMCMP AC_FUNC_REALLOC AC_FUNC_SELECT_ARGTYPES AC_TYPE_SIGNAL AC_FUNC_STAT AC_FUNC_UTIME_NULL AC_FUNC_VPRINTF AC_CHECK_FUNCS([bzero floor gethostbyname gethrtime gettimeofday \ inet_ntoa memset mkdir pathconf pow regcomp select setlocale socket \ strchr strdup strerror strrchr strstr strtol utime]) dnl Check for portaudio dnl PORTAUDIO_SETUP dnl Check for exosip2 LP_CHECK_EXOSIP2 SFLPHONE_LIBS="$SFLPHONE_LIBS $EXOSIP_LIBS" dnl Check for samplerate dnl AC_CHECK_HEADER([samplerate.h], [ dnl AC_CHECK_LIB(samplerate, src_simple, [with_samplerate=yes], [with_samplerate=no]) dnl ], [ with_samplerate=no ] dnl ) dnl AM_CONDITIONAL(USE_SAMPLERATE, test x$with_samplerate = xyes) dnl Check for GNU ccRTP PKG_PROG_PKG_CONFIG LIBOSIP2_OSIPLISTNOPOINTER_MIN_VERSION=3.0.0 PKG_CHECK_MODULES([libosip2], [libosip2 >= ${LIBOSIP2_OSIPLISTNOPOINTER_MIN_VERSION}], [LIBOSIP2_CFLAGS=""], [LIBOSIP2_CFLAGS="-DLIBOSIP2_WITHPOINTER"]) SIP_CFLAGS="$SIP_CFLAGS $LIBOSIP2_CFLAGS"; AC_SUBST(SIP_CFLAGS) LIBSAMPLERATE_MIN_VERSION=0.1.1 PKG_CHECK_MODULES(samplerate, samplerate >= ${LIBSAMPLERATE_MIN_VERSION}) SFLPHONE_CFLAGS="$SFLPHONE_CFLAGS $samplerate_CFLAGS" SFLPHONE_LIBS="$SFLPHONE_LIBS $samplerate_LIBS" LIBCCGNU2_MIN_VERSION=1.3.1 PKG_CHECK_MODULES(libccgnu2, libccgnu2 >= ${LIBCCGNU2_MIN_VERSION}) SFLPHONE_CFLAGS="$SFLPHONE_CFLAGS $libccgnu2_CFLAGS" SFLPHONE_LIBS="$SFLPHONE_LIBS $libccgnu2_LIBS" LIBCCEXT2_MIN_VERSION=1.3.1 PKG_CHECK_MODULES(libccext2, libccext2 >= ${LIBCCEXT2_MIN_VERSION}) SFLPHONE_CFLAGS="$SFLPHONE_CFLAGS $libccext2_CFLAGS" SFLPHONE_LIBS="$SFLPHONE_LIBS $libccext2_LIBS" LIBCCRT_MIN_VERSION=1.3.0 PKG_CHECK_MODULES(libccrtp1, libccrtp1 >= ${LIBCCRT_MIN_VERSION}) SFLPHONE_CFLAGS="$SFLPHONE_CFLAGS $libccrtp1_CFLAGS" SFLPHONE_LIBS="$SFLPHONE_LIBS $libccrtp1_LIBS" LIBPORTAUDIO_MIN_VERSION=19 PKG_CHECK_MODULES(libportaudio, portaudio-2.0 >= ${LIBPORTAUDIO_MIN_VERSION}) SFLPHONE_CFLAGS="$SFLPHONE_CFLAGS $libportaudio_CFLAGS" SFLPHONE_LIBS="$SFLPHONE_LIBS $libportaudio_LIBS" LIBPORTAUDIOCPP_MIN_VERSION=12 PKG_CHECK_MODULES(libportaudiocpp, portaudiocpp >= ${LIBPORTAUDIOCPP_MIN_VERSION}) SFLPHONE_CFLAGS="$SFLPHONE_CFLAGS $libportaudiocpp_CFLAGS" SFLPHONE_LIBS="$SFLPHONE_LIBS $libportaudiocpp_LIBS" LIBDBUSCPP_MIN_VERSION=0.5 PKG_CHECK_MODULES(libdbuscpp, dbus-c++-1 >= ${LIBDBUSCPP_MIN_VERSION}) SFLPHONE_CFLAGS="$SFLPHONE_CFLAGS $libdbuscpp_CFLAGS" SFLPHONE_LIBS="$SFLPHONE_LIBS $libdbuscpp_LIBS" LIBAVCODEC_MIN_VERSION=0.5 PKG_CHECK_MODULES(libavcodec, libavcodec >= ${LIBAVCODEC_MIN_VERSION}) SFLPHONE_CFLAGS="$SFLPHONE_CFLAGS $LIBAVCODEC_CFLAGS" SFLPHONE_LIBS="$SFLPHONE_LIBS $LIBAVCODEC_LIBS" dnl Check for speex AC_ARG_ENABLE(speex, AS_HELP_STRING( [--enable-speex], [compile with speex codec @<:@default=no@:>@] ), [with_speex=$enableval], [with_speex=no] ) if test "x$with_speex" = "xyes" ; then AC_CHECK_HEADER([speex/speex.h], [ AC_CHECK_LIB(speex, speex_decode_int, [ with_speex=yes ], [ with_speex=no ] ) ], [ with_speex=no ] ) fi AM_CONDITIONAL(USE_SPEEX, test "x$with_speex" = "xyes" ) dnl Check for IAX AC_ARG_ENABLE(iax2, AS_HELP_STRING( [--disable-iax2], [disable iax2 library support @<:@default=no@:>@] ), [with_iax2=$enableval], [with_iax2=yes] ) AM_CONDITIONAL(USE_IAX, test x$with_iax2 = xyes) dnl Check for readline GNUPG_CHECK_READLINE dnl Check for zeroconf (from apple) AC_ARG_ENABLE(zeroconf, AS_HELP_STRING( [--disable-zeroconf], [disables libdns_sd (browsing and publishing DNS-SD services will not be possible) @<:@default=no@:>@] ), [without_zeroconf=$enableval], [without_zeroconf="no"] ) if test "x$without_zeroconf" = "xno"; then AC_MSG_CHECKING(for DNS-SD support) save_dnssdtest_LIBS="$LIBS" save_dnssdtest_LDFLAGS="$LDFLAGS" save_dnssdtest_CPPFLAGS="$CPPFLAGS" LDFLAGS="$all_libraries $LDFLAGS" CPPFLAGS="$CPPFLAGS $all_includes" case $host_os in darwin*) LIBS="" ;; *) LIBS="-ldns_sd" ;; esac have_libdns_sd="no" AC_LINK_IFELSE( [AC_LANG_SOURCE([[ #include ]], [[ DNSServiceRefDeallocate( (DNSServiceRef) 0); TXTRecordDeallocate( (TXTRecordRef*) 0); ]]) ],[ AC_DEFINE(HAVE_DNSSD, 1, [Define if dns-sd is available]) case $host_os in darwin*) LIB_DNSSD="" ;; *) LIB_DNSSD="-ldns_sd" ;; esac have_libdns_sd="yes" AC_MSG_RESULT(yes) ],[ AC_MSG_RESULT(no) LIB_DNSSD="" ]) CPPFLAGS=$save_dnssdtest_CPPFLAGS LDFLAGS=$save_dnssdtest_LDFLAGS LIBS=$save_dnssdtest_LIBS fi AC_SUBST(LIB_DNSSD) AM_CONDITIONAL(USE_ZEROCONF, test "$have_libdns_sd" = "yes") dnl Datadir directory sflphone_datadir=$datadir/sflphone AC_SUBST(sflphone_datadir) dnl Dbus Service activation part DBUS_SERVICES_DIR="$datadir/dbus-1/services" AC_SUBST(DBUS_SERVICES_DIR) AC_DEFINE_UNQUOTED(DBUS_SERVICES_DIR, "$DBUS_SERVICES_DIR", [Where services dir for DBUS is]) dnl QT interface AC_MSG_CHECKING([whether to enable sflphoneqt]) AC_ARG_ENABLE(sflphoneqt, AS_HELP_STRING( [--enable-sflphoneqt], [enable sflphone-qt compilation @<:@default=no@:>@] ), [with_sflphoneqt=$enableval], [with_sflphoneqt=no] ) AM_CONDITIONAL(WITH_QT, test "x$with_sflphoneqt" = "xyes") AM_CONDITIONAL(include_x11, test x$with_sflphoneqt = "xyes") if test "x$with_sflphoneqt" = "xno"; then AC_MSG_RESULT(no) else AC_MSG_RESULT(yes) gw_CHECK_QT fi # Go! AC_SUBST(SFLPHONE_CFLAGS) AC_SUBST(SFLPHONE_LIBS) AC_OUTPUT AC_MSG_NOTICE([[Configuration done! Run `make' to build the software.]])