diff --git a/configure.ac b/configure.ac index 742fc839fb7812fccf073a30f936417a539a5202..dc40ec189b91ebf8fc14f415a5f0bd993f9db246 100644 --- a/configure.ac +++ b/configure.ac @@ -3,7 +3,7 @@ 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_COPYRIGHT([[Copyright (c) Savoir-Faire Linux 2004-2008]]) AC_REVISION([$Revision$]) dnl Compute canonical system name @@ -35,20 +35,23 @@ AC_CONFIG_FILES([libs/Makefile \ AC_CONFIG_FILES([src/Makefile \ src/sflphone \ src/audio/Makefile \ - src/audio/gsm/Makefile \ + src/audio/codecs/Makefile + src/audio/codecs/ilbc/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]) + src/memmanager/Makefile]) AC_CONFIG_FILES([skins/Makefile \ skins/metal/Makefile \ skins/gmetal/Makefile \ ringtones/Makefile]) + +AC_CONFIG_FILES([doc/Makefile \ + doc/doxygen/Makefile]) AC_CONFIG_FILES([platform/debian/changelog \ platform/rpm/sflphone.spec \ @@ -156,6 +159,11 @@ PKG_CHECK_MODULES([libosip2], [libosip2 >= ${LIBOSIP2_OSIPLISTNOPOINTER_MIN_VERS SIP_CFLAGS="$SIP_CFLAGS $LIBOSIP2_CFLAGS"; AC_SUBST(SIP_CFLAGS) +dnl LIBGSM1_MIN_VERSION=1.10 +dnl PKG_CHECK_MODULES(gsm, gsm >= ${LIBGSM1_MIN_VERSION}) +dnl SFLPHONE_CFLAGS="$SFLPHONE_CFLAGS $libgsm1_CFLAGS" +dnl SFLPHONE_LIBS="$SFLPHONE_LIBS $libgsm1_LIBS" + LIBSAMPLERATE_MIN_VERSION=0.1.1 PKG_CHECK_MODULES(samplerate, samplerate >= ${LIBSAMPLERATE_MIN_VERSION}) SFLPHONE_CFLAGS="$SFLPHONE_CFLAGS $samplerate_CFLAGS" @@ -191,43 +199,73 @@ 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" +# check for libboost (doesn't use pkg-config) +AC_CHECK_HEADER(boost/tokenizer.hpp, , AC_MSG_ERROR("Unable to find the libboost tokenizer headers; you may need to install the libboost-dev package" ) ) + +# check for libgsm1 (doesn't use pkg-config) +dnl Check for libspeex +AC_ARG_WITH([gsm], + [AS_HELP_STRING([--without-gsm], + [disable support for gsm codec])], + [], + [with_gsm=yes]) + +LIBGSM= +AS_IF([test "x$with_gsm" != xno], + [AC_CHECK_HEADER([gsm.h], , AC_MSG_FAILURE([Unable to find the libgsm1 headers (you may need to install the dev package). You may use --without-gsm to compile without gsm codec support.]))] + [AC_CHECK_LIB([gsm], [gsm_decode], + [], + [AC_MSG_FAILURE( + [libgsm link test failed. You may use --without-gsm to compile without gsm codec support.])] + ) + ] + ) + +AC_DEFINE([HAVE_GSM], test "x$with_gsm" = "xyes", [Define if you have libgsm]) +AM_CONDITIONAL(BUILD_GSM, test "x$with_gsm" = "xyes" ) + +dnl Check for libspeex +AC_ARG_WITH([speex], + [AS_HELP_STRING([--without-speex], + [disable support for speex codec])], + [], + [with_speex=yes]) + +LIBSPEEX= +AS_IF([test "x$with_speex" != xno], + [AC_CHECK_HEADER([speex/speex.h], , AC_MSG_FAILURE([Unable to find the libspeex headers (you may need to install the dev package). You may use --without-speex to compile without speex codec support.]))] + [AC_CHECK_LIB([speex], [speex_decode_int], + [], + [AC_MSG_FAILURE( + [libspeex link test failed. You may use --without-speex to compile without speex codec support.])] + ) + ] + ) + +AC_DEFINE([HAVE_SPEEX], test "x$with_speex" = "xyes", [Define if you have libspeex]) +AM_CONDITIONAL(BUILD_SPEEX, test "x$with_speex" = "xyes" ) -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) +AC_ARG_WITH([iax2], + [AS_HELP_STRING([--without-iax2], + [disable support for the iax2 protocol])], + [], + [with_iax2=yes]) + +LIBIAX2= +AS_IF([test "x$with_iax2" != xno], + [AC_CHECK_HEADER([iax/iax.h], , AC_MSG_FAILURE([Unable to find the libiax2 headers (you may need to install the dev package). You may use --without-iax2 to compile without iax2 protocol support.]))] + [AC_CHECK_LIB([iax], [iax_init], + [], + [AC_MSG_FAILURE( + [libiax2 link test failed. You may use --without-iax2 to compile without iax2 protocol support.])] + ) + ] + ) + +AC_DEFINE([HAVE_IAX], test "x$with_iax2" = "xyes", [Define if you have libiax2]) +AM_CONDITIONAL(USE_IAX, test "x$with_iax2" = "xyes" ) dnl Check for readline GNUPG_CHECK_READLINE @@ -279,6 +317,48 @@ fi AC_SUBST(LIB_DNSSD) AM_CONDITIONAL(USE_ZEROCONF, test "$have_libdns_sd" = "yes") + + +# check for doxygen, mostly stolen from http://log4cpp.sourceforge.net/ +# ---------------------------------------------------------------------------- +AC_DEFUN([BB_ENABLE_DOXYGEN], +[ +AC_ARG_ENABLE(doxygen, [ --enable-doxygen enable documentation generation with doxygen (auto)]) +AC_ARG_ENABLE(dot, [ --enable-dot use 'dot' to generate graphs in doxygen (auto)]) +AC_ARG_ENABLE(html-docs, [ --enable-html-docs enable HTML generation with doxygen (yes)], [], [ enable_html_docs=yes]) +AC_ARG_ENABLE(latex-docs, [ --enable-latex-docs enable LaTeX documentation generation with doxygen (no)], [], [ enable_latex_docs=no]) +if test "x$enable_doxygen" = xno; then + enable_doc=no +else + AC_PATH_PROG(DOXYGEN, doxygen, , $PATH) + if test x$DOXYGEN = x; then + if test "x$enable_doxygen" = xyes; then + AC_MSG_ERROR([could not find doxygen]) + fi + enable_doc=no + else + enable_doc=yes + AC_PATH_PROG(DOT, dot, , $PATH) + fi +fi +AM_CONDITIONAL(DOC, test x$enable_doc = xyes) + +if test x$DOT = x; then + if test "x$enable_dot" = xyes; then + AC_MSG_ERROR([could not find dot]) + fi + enable_dot=no +else + enable_dot=yes +fi +AM_CONDITIONAL(ENABLE_DOXYGEN, test x$enable_doc = xtrue) +AC_SUBST(enable_dot) +AC_SUBST(enable_html_docs) +AC_SUBST(enable_latex_docs) +]) +# Acutally perform the doxygen check +BB_ENABLE_DOXYGEN + dnl Datadir directory sflphone_datadir=$datadir/sflphone AC_SUBST(sflphone_datadir) diff --git a/src/Makefile.am b/src/Makefile.am index bc9cb7aa7ec07fa55ee5093646baf71949c44198..000b6f69c6716d55b3deebf7d2eb947c0601a430 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -28,7 +28,7 @@ IAXSOURCES = IAXHEADERS = endif -SUBDIRS = audio config dbus $(ZEROCONFDIR) +SUBDIRS = audio config dbus memmanager mixer video $(ZEROCONFDIR) sflphoned_SOURCES = eventthread.cpp main.cpp voiplink.cpp \ managerimpl.cpp observer.cpp \ @@ -51,6 +51,9 @@ libsflphone_la_LIBADD = \ ./audio/libaudio.la \ ./dbus/libdbus.la \ ./config/libconfig.la \ + ./memmanager/libmemmanager.la \ + ./mixer/libmixer.la \ + ./video/libvideo.la \ $(IAX_LIBS) libsflphone_la_SOURCES =