mirror of
https://gitlab.linphone.org/BC/public/linphone-iphone.git
synced 2026-04-21 14:58:29 +00:00
git-svn-id: svn+ssh://svn.savannah.nongnu.org/linphone/trunk@157 3f6dc0c8-ddfe-455d-9043-3cd528dc4637
483 lines
13 KiB
Text
483 lines
13 KiB
Text
dnl Process this file with autoconf to produce a configure script.
|
|
AC_INIT([mediastreamer],[2.2.2])
|
|
|
|
AC_MSG_NOTICE([$PACKAGE_NAME-$PACKAGE_VERSION A mediastreaming library for telephony application.])
|
|
AC_MSG_NOTICE([licensed under the terms of the General Public License (GPL)])
|
|
|
|
AC_CANONICAL_SYSTEM
|
|
|
|
dnl Source packaging numbers
|
|
MEDIASTREAMER_MAJOR_VERSION=$(echo $PACKAGE_VERSION | cut -d. -f1)
|
|
MEDIASTREAMER_MINOR_VERSION=$(echo $PACKAGE_VERSION | cut -d. -f2)
|
|
MEDIASTREAMER_MICRO_VERSION=$(echo $PACKAGE_VERSION | cut -d. -f3)
|
|
MEDIASTREAMER_EXTRA_VERSION=$(echo $PACKAGE_VERSION | cut -d. -f4)
|
|
|
|
LIBMEDIASTREAMER_SO_CURRENT=0 dnl increment this number when you add/change/remove an interface
|
|
LIBMEDIASTREAMER_SO_REVISION=1 dnl increment this number when you change source code, without changing interfaces; set to 0 when incrementing CURRENT
|
|
LIBMEDIASTREAMER_SO_AGE=0 dnl increment this number when you add an interface, set to 0 if you remove an interface
|
|
|
|
LIBMEDIASTREAMER_SO_VERSION=$LIBMEDIASTREAMER_SO_CURRENT:$LIBMEDIASTREAMER_SO_REVISION:$LIBMEDIASTREAMER_SO_AGE
|
|
MEDIASTREAMER_VERSION=${MEDIASTREAMER_MAJOR_VERSION}.${MEDIASTREAMER_MINOR_VERSION}.${MEDIASTREAMER_MICRO_VERSION}
|
|
|
|
if test -n "$MEDIASTREAMER_EXTRA_VERSION" ; then
|
|
MEDIASTREAMER_VERSION="${MEDIASTREAMER_VERSION}.${MEDIASTREAMER_EXTRA_VERSION}"
|
|
fi
|
|
|
|
AC_SUBST(LIBMEDIASTREAMER_SO_VERSION)
|
|
AC_SUBST(MEDIASTREAMER_VERSION)
|
|
|
|
PACKAGE=mediastreamer
|
|
|
|
OS=`uname|sed -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
|
|
AC_MSG_RESULT([Building Package on ${OS}])
|
|
|
|
AM_INIT_AUTOMAKE([tar-ustar])
|
|
AC_CONFIG_HEADERS(mediastreamer-config.h)
|
|
AC_DEFINE_UNQUOTED(MEDIASTREAMER_MAJOR_VERSION,$MEDIASTREAMER_MAJOR_VERSION, [major version])
|
|
AC_DEFINE_UNQUOTED(MEDIASTREAMER_MINOR_VERSION,$MEDIASTREAMER_MINOR_VERSION, [minor version])
|
|
AC_DEFINE_UNQUOTED(MEDIASTREAMER_MICRO_VERSION,$MEDIASTREAMER_MICRO_VERSION, [micro version])
|
|
AC_DEFINE_UNQUOTED(MEDIASTREAMER_VERSION,"$MEDIASTREAMER_VERSION",[MEDIASTREAMER version number])
|
|
|
|
AC_SUBST([mkdir_p])
|
|
|
|
AC_MSG_CHECKING([warning make an error on compilation])
|
|
AC_ARG_ENABLE(strict,
|
|
[ --enable-strict Enable error on compilation warning [default=no]],
|
|
[wall_werror=$enableval],
|
|
[wall_werror=no]
|
|
)
|
|
|
|
CFLAGS="-DORTP_INET6 $CFLAGS "
|
|
|
|
dnl enable ipv6 support
|
|
AC_ARG_ENABLE(ipv6,
|
|
[ --enable-ipv6 Turn on ipv6 support],
|
|
[case "${enableval}" in
|
|
yes) ipv6=true;;
|
|
no) ipv6=false;;
|
|
*) AC_MSG_ERROR(bad value ${enableval} for --enable-ipv6) ;;
|
|
esac],[ipv6=true])
|
|
if test x$ipv6 = xtrue ; then
|
|
CFLAGS="$CFLAGS -DINET6"
|
|
fi
|
|
|
|
|
|
AC_ARG_ENABLE(debug,
|
|
[ --enable-debug=[yes/no] enables the display of traces showing the execution of the library. [default=yes]],
|
|
[case "${enableval}" in
|
|
yes) debug_enabled=yes;;
|
|
no) debug_enabled=no;;
|
|
*) AC_MSG_ERROR("Bad value for --enable-debug");;
|
|
esac],
|
|
[debug_enabled=no] )
|
|
|
|
|
|
dnl Checks for programs.
|
|
AC_PROG_CC
|
|
AC_PROG_LIBTOOL
|
|
AC_ENABLE_SHARED(yes)
|
|
AC_ENABLE_STATIC(no)
|
|
|
|
if test "$GCC" != "yes" ; then
|
|
case $target_os in
|
|
*hpux*)
|
|
dnl we are probably using HPUX cc compiler, so add a +O2 to CFLAGS
|
|
CFLAGS="$CFLAGS +O2 -g "
|
|
;;
|
|
esac
|
|
else
|
|
CFLAGS="$CFLAGS -Wall"
|
|
fi
|
|
|
|
|
|
|
|
if test $debug_enabled = "yes"; then
|
|
CFLAGS="$CFLAGS -g -DDEBUG"
|
|
else
|
|
CFLAGS="$CFLAGS -O2 -g "
|
|
fi
|
|
|
|
dnl Checks for header files.
|
|
AC_HEADER_STDC
|
|
|
|
dnl Checks for typedefs, structures, and compiler characteristics.
|
|
AC_C_CONST
|
|
AC_C_INLINE
|
|
AC_HEADER_TIME
|
|
AC_WORDS_BIGENDIAN
|
|
if test x$ac_cv_c_bigendian = xyes ; then
|
|
CFLAGS="$CFLAGS -D_BIGENDIAN "
|
|
fi
|
|
|
|
if test $GCC = yes && test $wall_werror = yes; then
|
|
CFLAGS="$CFLAGS -Werror "
|
|
fi
|
|
|
|
macosx_found=no
|
|
|
|
dnl add thread flags
|
|
case $OS in
|
|
darwin*)
|
|
MSPLUGINS_CFLAGS=""
|
|
MSPLUGINS_LIBS="-dynamiclib"
|
|
macosx_found=yes
|
|
;;
|
|
*)
|
|
MSPLUGINS_CFLAGS="-pthread"
|
|
MSPLUGINS_LIBS="-shared -pthread"
|
|
CFLAGS="$CFLAGS -pthread -D_REENTRANT"
|
|
LIBS="$LIBS -pthread -lpthread"
|
|
;;
|
|
esac
|
|
|
|
AM_CONDITIONAL(BUILD_MACOSX, test x$macosx_found = xyes)
|
|
|
|
AC_SUBST(MSPLUGINS_CFLAGS)
|
|
AC_SUBST(MSPLUGINS_LIBS)
|
|
|
|
AC_CHECK_LIB(rt,clock_gettime,[LIBS="$LIBS -lrt"])
|
|
|
|
dnl *********************************
|
|
dnl various checks for soundcard apis
|
|
dnl *********************************
|
|
|
|
found_sound=no
|
|
|
|
AC_CHECK_HEADERS(soundcard.h sys/soundcard.h machine/soundcard.h sys/audio.h)
|
|
if test "${ac_cv_header_sys_soundcard_h}" = "yes" || \
|
|
test "${ac_cv_header_soundcard_h}" = "yes" || \
|
|
test "${ac_cv_header_sys_audio_h}" = "yes" || \
|
|
test "${ac_cv_header_machine_soundcard_h}" = "yes"; then
|
|
found_sound=yes
|
|
fi
|
|
|
|
AM_CONDITIONAL(BUILD_OSS, test x$found_sound = xyes)
|
|
|
|
dnl conditionnal build of ALSA support
|
|
AC_ARG_ENABLE(alsa,
|
|
[ --enable-alsa Turn on alsa native support compiling],
|
|
[case "${enableval}" in
|
|
yes) alsa=true ;;
|
|
no) alsa=false ;;
|
|
*) AC_MSG_ERROR(bad value ${enableval} for --enable-alsa) ;;
|
|
esac],[alsa=true])
|
|
|
|
if test "$alsa" = "true"; then
|
|
AC_CHECK_HEADERS(alsa/asoundlib.h,
|
|
[ AC_CHECK_LIB(asound,snd_pcm_open,
|
|
[ ALSA_LIBS="-lasound"
|
|
found_sound=yes
|
|
AC_DEFINE(__ALSA_ENABLED__,1,[defined if alsa support is available])
|
|
alsa_enabled=true
|
|
])
|
|
]
|
|
)
|
|
fi
|
|
AC_SUBST(ALSA_LIBS)
|
|
|
|
AM_CONDITIONAL(BUILD_ALSA, test x$alsa_enabled = xtrue)
|
|
|
|
|
|
AC_ARG_ENABLE(artsc,
|
|
[ --enable-artsc Turn on artsc (kde) sound input/output (auto) ],
|
|
[case "${enableval}" in
|
|
yes) artsc=true ;;
|
|
no) artsc=false ;;
|
|
*) AC_MSG_ERROR(bad value ${enableval} for --enable-artsc) ;;
|
|
esac],[artsc=true])
|
|
|
|
arts_enabled=false
|
|
|
|
PKG_PROG_PKG_CONFIG()
|
|
|
|
if test "$artsc" = "true" ; then
|
|
|
|
dnl check for arts (kde sound daemon) support
|
|
PKG_CHECK_MODULES(ARTS, [artsc],[
|
|
dnl New detection
|
|
arts_enabled=true
|
|
],[
|
|
dnl Old detection
|
|
if test x$artsc = xtrue ; then
|
|
AC_CHECK_HEADERS(kde/artsc/artsc.h,
|
|
[ AC_CHECK_LIB(artsc,arts_init,
|
|
[ ARTS_LIBS="-lartsc"
|
|
arts_enabled=true
|
|
])
|
|
]
|
|
)
|
|
fi
|
|
AC_SUBST(ARTS_LIBS)
|
|
])
|
|
fi
|
|
|
|
if test x$arts_enabled = xtrue; then
|
|
found_sound=yes
|
|
AC_DEFINE(__ARTS_ENABLED__,1,[defined if arts support is available])
|
|
fi
|
|
|
|
AM_CONDITIONAL(BUILD_ARTS, test x$arts_enabled = xtrue)
|
|
|
|
AC_ARG_ENABLE(portaudio,
|
|
[ --enable-portaudio Turn on portaudio native support compiling],
|
|
[case "${enableval}" in
|
|
yes) portaudio=true ;;
|
|
no) portaudio=false ;;
|
|
*) AC_MSG_ERROR(bad value ${enableval} for --enable-portaudio) ;;
|
|
esac],[portaudio=false])
|
|
|
|
if test "$portaudio" = "true"; then
|
|
AC_CHECK_HEADERS(portaudio.h,
|
|
[ AC_CHECK_LIB(portaudio,Pa_Initialize,
|
|
[ PORTAUDIO_LIBS="-lportaudio"
|
|
found_sound=yes
|
|
AC_DEFINE(__PORTAUDIO_ENABLED__,1,[defined if portaudio support is available])
|
|
portaudio_enabled=true
|
|
])
|
|
]
|
|
)
|
|
fi
|
|
|
|
AC_SUBST(PORTAUDIO_LIBS)
|
|
AM_CONDITIONAL(BUILD_PORTAUDIO, test x$portaudio_enabled = xtrue)
|
|
|
|
AC_ARG_ENABLE(macsnd,
|
|
[ --enable-macsnd Turn on native macosx sound support],
|
|
[case "${enableval}" in
|
|
yes) macsnd=true ;;
|
|
no) macsnd=false ;;
|
|
*) AC_MSG_ERROR(bad value ${enableval} for --enable-macsnd) ;;
|
|
esac],[macsnd=false])
|
|
|
|
if test "$macsnd" = "true"; then
|
|
AC_DEFINE(__MACSND_ENABLED__,1,[defined if native macosx sound support is available])
|
|
macsnd_enabled=true
|
|
found_sound=yes
|
|
fi
|
|
|
|
AM_CONDITIONAL(BUILD_MACSND, test x$macsnd_enabled = xtrue)
|
|
|
|
AC_ARG_ENABLE(macaqsnd,
|
|
[ --enable-macaqsnd Turn on native macosx Audio Queue sound support],
|
|
[case "${enableval}" in
|
|
yes) macaqsnd=true ;;
|
|
no) macaqsnd=false ;;
|
|
*) AC_MSG_ERROR(bad value ${enableval} for --enable-macaqsnd) ;;
|
|
esac],[macaqsnd=false])
|
|
|
|
if test "$macaqsnd" = "true"; then
|
|
AC_DEFINE(__MAC_AQ_ENABLED__,1,[defined if native macosx AQ sound support is available])
|
|
macaqsnd_enabled=true
|
|
found_sound=yes
|
|
fi
|
|
|
|
AM_CONDITIONAL(BUILD_MACAQSND, test x$macaqsnd_enabled = xtrue)
|
|
|
|
dnl Check for samplerate libraries
|
|
dnl Check for jack libraries (sound output plugin)
|
|
PKG_CHECK_MODULES(JACK,jack >= 0.15.0,
|
|
[
|
|
dnl we' found jack devel files
|
|
PKG_CHECK_MODULES(SAMPLERATE, samplerate >= 0.0.13,
|
|
[AC_DEFINE(__JACK_ENABLED__,1,[Jack support])
|
|
found_sound=yes
|
|
jack_found=yes] ,
|
|
[echo "libsamplerate not found, jack support disabled."])
|
|
AC_SUBST(SAMPLERATE_CFLAGS)
|
|
AC_SUBST(SAMPLERATE_LIBS)
|
|
],
|
|
[echo "No jack support."] )
|
|
|
|
if test x$jack_found = xno ; then
|
|
dnl reset flags
|
|
JACK_CFLAGS=
|
|
JACK_LIBS=
|
|
SAMPLERATE_CFLAGS=
|
|
SAMPLERATE_LIBS=
|
|
fi
|
|
|
|
AC_SUBST(JACK_CFLAGS)
|
|
AC_SUBST(JACK_LIBS)
|
|
|
|
if test "$found_sound" = "no"; then
|
|
AC_MSG_ERROR([Could not find a support sound driver API])
|
|
fi
|
|
|
|
|
|
dnl *************************************
|
|
dnl check for various codecs libraries
|
|
dnl *************************************
|
|
|
|
dnl check for installed version of speex
|
|
PKG_CHECK_MODULES(SPEEX, speex >= 1.1.12,
|
|
[ AC_DEFINE(HAVE_SPEEX_NOISE,1,[tells whether the noise arg of speex_echo_cancel can be used]) ],
|
|
[try_other_speex=yes]
|
|
)
|
|
PKG_CHECK_MODULES(SPEEX, speex >= 1.1.6, build_speex=yes)
|
|
build_resample=false
|
|
PKG_CHECK_MODULES(SPEEXDSP, speexdsp >= 1.2beta3,
|
|
[SPEEX_LIBS="$SPEEX_LIBS $SPEEXDSP_LIBS"
|
|
build_resample=yes] ,
|
|
[AC_MSG_NOTICE([No speexdsp library found.])
|
|
]
|
|
)
|
|
AC_SUBST(SPEEX_CFLAGS)
|
|
AC_SUBST(SPEEX_LIBS)
|
|
AM_CONDITIONAL(BUILD_SPEEX, test x$build_speex = xyes )
|
|
AM_CONDITIONAL(BUILD_RESAMPLE, test x$build_resample = xyes )
|
|
|
|
dnl check for gsm
|
|
build_gsm=no
|
|
AC_ARG_WITH( gsm,
|
|
[ --with-gsm Sets the installation prefix of gsm codec library [default=/usr] ],
|
|
[ gsmdir=${withval}],[ gsmdir=/usr ])
|
|
|
|
if test x"$gsmdir" != xno ; then
|
|
test x"$gmsdir" = xyes && gsmdir=/usr
|
|
MS_CHECK_DEP([gsm codec],[GSM],[${gsmdir}/include],
|
|
[${gsmdir}/lib],[gsm/gsm.h],[gsm],[gsm_create])
|
|
if test "$GSM_found" = "yes" ; then
|
|
build_gsm=yes
|
|
fi
|
|
else
|
|
build_gsm=no
|
|
fi
|
|
AM_CONDITIONAL(BUILD_GSM, test x$build_gsm = xyes )
|
|
|
|
MS_CHECK_VIDEO
|
|
AM_CONDITIONAL(BUILD_VIDEO, test "$video" = "true")
|
|
AM_CONDITIONAL(BUILD_THEORA, test "$have_theora" = "yes")
|
|
|
|
dnl *********************************************
|
|
dnl setup oRTP dependency
|
|
dnl *********************************************
|
|
AC_ARG_ENABLE(external-ortp,
|
|
[ --enable-external-ortp Use external oRTP library],
|
|
[case "${enableval}" in
|
|
yes) external_ortp=true ;;
|
|
no) external_ortp=false ;;
|
|
*) AC_MSG_ERROR(bad value ${enableval} for --enable-external-ortp) ;;
|
|
esac],[external_ortp=false])
|
|
|
|
if test "$external_ortp" = 'false'; then
|
|
if test -e $srcdir/../oRTP/include/ortp/ortp.h ; then
|
|
echo "building from linphone source tree, using ../oRTP/include/ortp/ortp.h"
|
|
ORTP_CFLAGS="-I\$(top_srcdir)/../oRTP/include"
|
|
ORTP_LIBS="\$(top_builddir)/../oRTP/src/libortp.la"
|
|
if test x$ac_cv_c_bigendian = xyes ; then
|
|
ORTP_CFLAGS="$ORTP_CFLAGS -DORTP_BIGENDIAN"
|
|
fi
|
|
else
|
|
external_ortp=true
|
|
fi
|
|
fi
|
|
if test "$external_ortp" = 'true'; then
|
|
PKG_CHECK_MODULES(ORTP, ortp >= 0.9.0, ,
|
|
[ AC_MSG_ERROR([Couldn't find ortp library]) ] )
|
|
fi
|
|
AC_SUBST(ORTP_CFLAGS)
|
|
AC_SUBST(ORTP_LIBS)
|
|
|
|
|
|
dnl check dlopen support in headers and libraries, so that we can use mediastreamer plugins
|
|
AC_CHECK_HEADERS(dlfcn.h)
|
|
have_dlopen=false
|
|
AC_CHECK_LIB(dl,dlopen,[LIBS="$LIBS -ldl"; have_dlopen=true])
|
|
AC_CHECK_FUNC(dlopen,[have_dlopen=true])
|
|
if test "$have_dlopen" = "true" ; then
|
|
AC_DEFINE(HAVE_DLOPEN,1,[Defined if dlopen() is availlable])
|
|
fi
|
|
|
|
dnl check various things
|
|
AC_FUNC_ALLOCA
|
|
|
|
dnl define path of plugins:
|
|
AC_DEFINE_UNQUOTED(PACKAGE_PLUGINS_DIR, "${prefix}/lib/mediastreamer/plugins" ,[path of plugins])
|
|
PACKAGE_PLUGINS_DIR="${prefix}/lib/mediastreamer/plugins"
|
|
AC_SUBST(PACKAGE_PLUGINS_DIR)
|
|
|
|
PACKAGE_DATA_DIR="$prefix/share"
|
|
AC_DEFINE_UNQUOTED(PACKAGE_DATA_DIR, "$prefix/share" ,[path of data])
|
|
AC_SUBST(PACKAGE_DATA_DIR)
|
|
|
|
dnl check for video4linux headers
|
|
AC_CHECK_HEADERS(linux/videodev.h linux/videodev2.h)
|
|
|
|
|
|
dnl ##################################################
|
|
dnl # Check for ESP Packager
|
|
dnl ##################################################
|
|
|
|
AC_PATH_PROG(EPM,epm,false)
|
|
AC_PATH_PROG(MKEPMLIST,mkepmlist,false)
|
|
AC_PATH_PROG(EPMINSTALL,epminstall,false)
|
|
AM_CONDITIONAL(WITH_EPM,test $EPM != false && test $MKEPMLIST != false && test $EPMINSTALL != false)
|
|
|
|
|
|
# Preferred packaging system, as per EPM terminology
|
|
case $target in
|
|
*-*-linux*)
|
|
if test -f /etc/debian_version ; then
|
|
EPM_PKG_EXT=deb
|
|
else
|
|
EPM_PKG_EXT=rpm
|
|
fi
|
|
;;
|
|
*-hp-hpux*)
|
|
EPM_PKG_EXT=depot.gz;;
|
|
*-dec-osf*)
|
|
EPM_PKG_EXT=setld;;
|
|
esac
|
|
AC_SUBST(EPM_PKG_EXT)
|
|
|
|
# System software User & Group names
|
|
case $target in
|
|
*-*-linux*)
|
|
SYS_USER=root
|
|
SYS_GROUP=root
|
|
;;
|
|
*-*-hpux*|*-dec-osf*)
|
|
SYS_USER=bin
|
|
SYS_GROUP=bin
|
|
;;
|
|
esac
|
|
AC_SUBST(SYS_USER)
|
|
AC_SUBST(SYS_GROUP)
|
|
|
|
# CPU Architecture
|
|
case $target_cpu in
|
|
i?86) ARCH=i386;;
|
|
*) ARCH=$target_cpu;;
|
|
esac
|
|
AC_SUBST(ARCH)
|
|
|
|
# Various other packaging variables, that can be over-ridden ad `make
|
|
# package' time
|
|
SUMMARY="A mediastreaming library."
|
|
AC_SUBST(SUMMARY)
|
|
PACKAGER=anonymous
|
|
AC_SUBST(PACKAGER)
|
|
LICENSE=GPL
|
|
AC_SUBST(LICENSE)
|
|
VENDOR=Linphone
|
|
AC_SUBST(VENDOR)
|
|
RELEASE=1
|
|
AC_SUBST(RELEASE)
|
|
|
|
|
|
AC_OUTPUT(
|
|
Makefile
|
|
include/Makefile
|
|
include/mediastreamer2/Makefile
|
|
src/Makefile
|
|
tests/Makefile
|
|
build/Makefile
|
|
build/win32native/Makefile
|
|
build/win32-novideo/Makefile
|
|
build/wince/Makefile
|
|
mediastreamer.pc
|
|
mediastreamer2.spec
|
|
help/Makefile
|
|
help/DoxyFile
|
|
help/doxygen.dox
|
|
)
|