Skip to content
Snippets Groups Projects
Select Git revision
  • master default protected
  • release/202005
  • release/202001
  • release/201912
  • release/201911
  • release/releaseWindowsTestOne
  • release/windowsReleaseTest
  • release/releaseTest
  • release/releaseWindowsTest
  • release/201910
  • release/qt/201910
  • release/windows-test/201910
  • release/201908
  • release/201906
  • release/201905
  • release/201904
  • release/201903
  • release/201902
  • release/201901
  • release/201812
  • 4.0.0
  • 2.2.0
  • 2.1.0
  • 2.0.1
  • 2.0.0
  • 1.4.1
  • 1.4.0
  • 1.3.0
  • 1.2.0
  • 1.1.0
30 results

configure.ac

Blame
  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    configure.ac 7.84 KiB
    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-2006]])
    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/gui/Makefile \
      src/gui/qt/Makefile \
      src/gui/cli/Makefile \
      src/gui/server/Makefile \
      src/zeroconf/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"
    
    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(
       [--enable-iax2],
       [compile with iax2 library support @<:@default=no@:>@]
     ),
     [with_iax2=$enableval],
     [with_iax2=no]
    )
    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 <dns_sd.h>
          ]], [[
            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 QT interface
    AC_MSG_CHECKING([whether to enable sflphoneqt])
    AC_ARG_ENABLE(sflphoneqt,
       AS_HELP_STRING(
         [--disable-sflphoneqt],
         [disable sflphone-qt compilation @<:@default=no@:>@]
       ),
       [with_sflphoneqt=$enableval],
       [with_sflphoneqt=yes]
    )
    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.]])