Newer
Older
VLC_ADD_PLUGINS([fixed32tofloat32 float32tos16 float32tos8 float32tou16 float32tou8 a52tospdif dtstospdif s16tofloat32 s16tofloat32swab s8tofloat32 u8tofloat32 audio_format])
fi
dnl
dnl Switch to enable a version of VLC where most modules will be builtin
dnl
AC_ARG_ENABLE(mostly-builtin,
[ --enable-mostly-builtin most modules will be built-in (default disabled)])
if test "${enable_mostly_builtin}" = "yes"; then
if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
elif test "${SYS}" != "mingwce"; then
VLC_ADD_PLUGINS([ntservice access_smb dmo])
VLC_ADD_LDFLAGS([dmo],[-lole32])
else
VLC_ADD_PLUGINS([win32text])
MMX_MODULES="memcpymmx i420_rgb_mmx i422_yuy2_mmx i420_ymga_mmx"
#MMX_MODULES="${MMX_MODULES} idctmmx motionmmx"
MMXEXT_MODULES="memcpymmxext"
#MMXEXT_MODULES="${MMXEXT_MODULES} idctmmxext motionmmxext"
THREEDNOW_MODULES="memcpy3dn"
SSE_MODULES=""
ALTIVEC_MODULES="memcpyaltivec i420_yuy2_altivec"
#ALTIVEC_MODULES="${ALTIVEC_MODULES} idctaltivec motionaltivec"
if test "${enable_gprof}" != "yes"
then
MMX_MODULES="${MMX_MODULES} i420_yuy2_mmx"
fi
AC_CACHE_CHECK([if \$CC groks MMX inline assembly],
[ac_cv_mmx_inline],
Samuel Hocevar
committed
[CFLAGS="${CFLAGS_save}"
AC_TRY_COMPILE(,[void *p;asm volatile("packuswb %%mm1,%%mm2"::"r"(p));],
ac_cv_mmx_inline=yes, ac_cv_mmx_inline=no)])
AC_DEFINE(CAN_COMPILE_MMX, 1, Define if \$CC groks MMX inline assembly.)
fi
AC_CACHE_CHECK([if \$CC groks MMX EXT inline assembly],
[ac_cv_mmxext_inline],
Samuel Hocevar
committed
[CFLAGS="${CFLAGS_save}"
AC_TRY_COMPILE(,[void *p;asm volatile("maskmovq %%mm1,%%mm2"::"r"(p));],
ac_cv_mmxext_inline=yes, ac_cv_mmxext_inline=no)])
if test "${ac_cv_mmxext_inline}" != "no"; then
AC_DEFINE(CAN_COMPILE_MMXEXT, 1, Define if \$CC groks MMX EXT inline assembly.)
fi
AC_CACHE_CHECK([if \$CC groks 3D Now! inline assembly],
[ac_cv_3dnow_inline],
Samuel Hocevar
committed
[CFLAGS="${CFLAGS_save}"
AC_TRY_COMPILE(,[void *p;asm volatile("pfadd %%mm1,%%mm2"::"r"(p));],
ac_cv_3dnow_inline=yes, ac_cv_3dnow_inline=no)])
if test "${ac_cv_3dnow_inline}" != "no"; then
AC_DEFINE(CAN_COMPILE_3DNOW, 1, Define if \$CC groks 3D Now! inline assembly.)
fi
AC_CACHE_CHECK([if \$CC groks SSE inline assembly],
[ac_cv_sse_inline],
Samuel Hocevar
committed
[CFLAGS="${CFLAGS_save}"
AC_TRY_COMPILE(,[void *p;asm volatile("xorps %%xmm1,%%xmm2"::"r"(p));],
ac_cv_sse_inline=yes, ac_cv_sse_inline=no)])
if test "${ac_cv_sse_inline}" != "no" -a "${SYS}" != "mingw32" -a "${SYS}" != "solaris"; then
AC_DEFINE(CAN_COMPILE_SSE, 1, Define if \$CC groks SSE inline assembly.)
fi
if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
[ac_cv_altivec_inline],
Samuel Hocevar
committed
[CFLAGS="${CFLAGS_save}"
ac_cv_altivec_inline=yes,
Samuel Hocevar
committed
[CFLAGS="${CFLAGS_save} -Wa,-m7400"
ac_cv_altivec_inline=no)
if test "${ac_cv_altivec_inline}" != "no"; then
AC_DEFINE(CAN_COMPILE_ALTIVEC, 1, Define if \$CC groks AltiVec inline assembly.)
if test "${ac_cv_altivec_inline}" != "yes"; then
VLC_ADD_CFLAGS([idctaltivec],[${ac_cv_altivec_inline}])
VLC_ADD_CFLAGS([motionaltivec],[${ac_cv_altivec_inline}])
VLC_ADD_CFLAGS([memcpyaltivec],[${ac_cv_altivec_inline}])
VLC_ADD_CFLAGS([i420_yuy2_altivec],[${ac_cv_altivec_inline}])
VLC_ADD_CFLAGS([vlc],[${ac_cv_altivec_inline}])
Christophe Massiot
committed
ACCEL_MODULES="${ACCEL_MODULES} ${ALTIVEC_MODULES}"
fi
Christophe Massiot
committed
[# Darwin test
CFLAGS="${CFLAGS_save} -faltivec"
AC_TRY_COMPILE([],
[# Linux/PPC test (no flags)
CFLAGS="${CFLAGS_save} ${CFLAGS_idctaltivec} -maltivec -mabi=altivec"
AC_TRY_COMPILE([#ifdef HAVE_ALTIVEC_H
#include <altivec.h>
#endif],
[vec_ld(0, (unsigned char *)0);],
[ac_cv_c_altivec=""
ac_cv_c_altivec_abi="-maltivec -mabi=altivec"],
[# Linux/PPC test (old GCC versions)
CFLAGS="${CFLAGS_save} ${CFLAGS_idctaltivec} -fvec"
AC_TRY_COMPILE([#ifdef HAVE_ALTIVEC_H
#include <altivec.h>
#endif],
[vec_ld(0, (unsigned char *)0);],
[ac_cv_c_altivec="-fvec"],
[ac_cv_c_altivec=no])
])
Samuel Hocevar
committed
CFLAGS="${CFLAGS_save}"])
AC_DEFINE(CAN_COMPILE_C_ALTIVEC, 1, Define if your compiler groks C AltiVec extensions.)
VLC_ADD_CFLAGS([vlc],[${ac_cv_c_altivec}])
VLC_ADD_CFLAGS([idctaltivec motionaltivec],[${ac_cv_c_altivec}])
VLC_ADD_CFLAGS([i420_yuy2_altivec memcpyaltivec deinterlace],[${ac_cv_c_altivec} ${ac_cv_c_altivec_abi}])
ACCEL_MODULES="${ACCEL_MODULES} ${ALTIVEC_MODULES}"
fi
AC_CACHE_CHECK([if linker needs -framework vecLib],
[ac_cv_ld_altivec],
Samuel Hocevar
committed
[LDFLAGS="${LDFLAGS_vlc} -framework vecLib"
AC_TRY_LINK([],,ac_cv_ld_altivec=yes,ac_cv_ld_altivec=no)
Samuel Hocevar
committed
LDFLAGS="${LDFLAGS_save}"
VLC_ADD_LDFLAGS([vlc idctaltivec motionaltivec memcpyaltivec],[-framework vecLib])
fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
dnl Special arch tuning
AC_ARG_WITH(tuning,
(default Pentium 2 on IA-32 and 750 on PPC)])
CFLAGS_TUNING="-mtune=${with_tuning}"
if test "${target_cpu}" = "i686" -o "${target_cpu}" = "i586" -o "${target_cpu}" = "i486" -o "${target_cpu}" = "i386"; then
CFLAGS_TUNING="-mtune=pentium2"
elif test "${target_cpu}" = "x86_64"; then
elif test "${target_cpu}" = "powerpc"; then
CFLAGS_TUNING="-mtune=750";
dnl NOTE: this can't be cached cleanly
AS_IF([test "${CFLAGS_TUNING}"],
[CFLAGS_save="${CFLAGS}"
CFLAGS="${CFLAGS} ${CFLAGS_TUNING}"
AC_MSG_CHECKING([whether $CC accepts ${CFLAGS_TUNING}])
AC_COMPILE_IFELSE([ ], [tuning="yes"],
[CFLAGS_TUNING=""; tuning="no"])
AC_MSG_RESULT([$tuning])
CFLAGS="${CFLAGS_save}"
])
if test "${target_cpu}" = "i686" -o "${target_cpu}" = "i586" -o "${target_cpu}" = "x86" -o "${target_cpu}" = "i386" -o "${target_cpu}" = "x86_64"
dnl
dnl Memory usage
dnl
AC_ARG_ENABLE(optimize-memory,
[ --enable-optimize-memory optimize memory usage over performance])
if test "${enable_optimize_memory}" = "yes"; then
AC_DEFINE(OPTIMIZE_MEMORY, 1, Define if you want to optimize memory usage over performance)
fi
dnl
dnl Enable/disable optimizations
dnl
AC_ARG_ENABLE(optimizations,
Samuel Hocevar
committed
[ --disable-optimizations disable compiler optimizations (default enabled)])
test "${enable_optimizations}" != "no" && enable_optimizations="yes"
AC_ARG_ENABLE(altivec,
[ --disable-altivec disable AltiVec optimizations (default enabled on PPC)],
[ if test "${enable_altivec}" = "yes"; then ARCH="${ARCH} altivec";
[ if test "${target_cpu}" = "powerpc"; then ARCH="${ARCH} altivec";
AC_ARG_ENABLE(debug,
Samuel Hocevar
committed
[ --enable-debug debug mode (default disabled)])
Samuel Hocevar
committed
[ --enable-release activate extra optimizations (default disabled)])
dnl
dnl Stream output
dnl
AC_ARG_ENABLE(sout,
[ --enable-sout Stream output modules (default enabled)])
VLC_ADD_PLUGINS([access_output_dummy access_output_udp access_output_file access_output_http])
VLC_ADD_PLUGINS([mux_ps mux_avi mux_mp4 mux_asf mux_dummy mux_wav mux_mpjpeg])
VLC_ADD_PLUGINS([stream_out_dummy stream_out_standard stream_out_es stream_out_rtp stream_out_description vod_rtsp])
VLC_ADD_PLUGINS([stream_out_duplicate stream_out_gather stream_out_display stream_out_transcode stream_out_bridge stream_out_mosaic_bridge])
gbazin
committed
# VLC_ADD_PLUGINS([stream_out_transrate])
AC_DEFINE(ENABLE_SOUT, 1, Define if you want the stream output support)
dnl
dnl HTTP daemon
dnl
AC_ARG_ENABLE(httpd,
[ --enable-httpd HTTP daemon (default enabled)])
if test "${enable_httpd}" != "no"
then
AC_DEFINE(ENABLE_HTTPD, 1, Define if you want the HTTP dameon support)
fi
dnl
dnl VideoLAN manager
dnl
AC_ARG_ENABLE(vlm,
[ --enable-vlm VideoLAN manager (default enabled)])
if test "${enable_vlm}" != "no"
then
AC_DEFINE(ENABLE_VLM, 1, Define if you want the VideoLAN manager support)
fi
[ --enable-gnutls gnutls TLS/SSL support (default enabled)])
AS_IF([test "${enable_gnutls}" != "no"], [
gcrypt_LIBS="-lgpg-error"
AS_IF([test "${SYS}" = "mingw32"],
[gcrypt_LIBS="${gcrypt_LIBS} -lws2_32"
VLC_ADD_LDFLAGS([gnutls],[-lws2_32])]
)
gnutls_LIBS="-lgcrypt -lz ${gcrypt_LIBS}"
AC_CHECK_HEADER(gcrypt.h,
[AC_CHECK_LIB(gcrypt, gcry_control,
[AC_CHECK_HEADER(gnutls/gnutls.h,
[AC_CHECK_LIB(gnutls, gnutls_certificate_verify_peers2,
[have_gnutls="yes"],[old_gnutls="yes"], ${gnutls_LIBS})])],,
${gcrypt_LIBS})])
AS_IF([test "${have_gnutls}" = "yes"], [
VLC_ADD_PLUGINS([gnutls])
VLC_ADD_LDFLAGS([gnutls], [-lgnutls ${gnutls_LIBS}])
], [
AS_IF([test "${enable_gnutls}" = "yes"], [
AC_MSG_ERROR([gnutls not present or too old (version 1.0.17 required)])]
)]
)]
)
dnl live.com input
dnl
AC_ARG_ENABLE(livedotcom,
[ --enable-livedotcom live.com input plugin (default disabled)])
AC_ARG_WITH(livedotcom-tree,
[ --with-livedotcom-tree=PATH live.com tree for static linking])
dnl
dnl test for --with-livedotcom-tree
dnl
if test -z "${with_livedotcom_tree}" -a "${CXX}" != ""; then
AC_LANG_PUSH(C++)
CPPFLAGS_save="${CPPFLAGS}"
CPPFLAGS_livedotcom="-I/usr/include/liveMedia -I/usr/include/groupsock -I/usr/include/BasicUsageEnvironment -I/usr/include/UsageEnvironment"
CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_livedotcom}"
AC_CHECK_HEADERS(liveMedia.hh, [
VLC_ADD_CXXFLAGS([livedotcom], [${CPPFLAGS_livedotcom}])
AC_CHECK_LIB(liveMedia_pic, main, [
# We have -lliveMedia_pic, build plugins
VLC_ADD_PLUGINS([livedotcom])
VLC_ADD_LDFLAGS([livedotcom], [-lliveMedia_pic -lgroupsock_pic -lBasicUsageEnvironment_pic -lUsageEnvironment_pic])
], [
AC_CHECK_LIB(liveMedia, main, [
# We only have -lliveMedia, do builtins
VLC_ADD_BUILTINS([livedotcom])
VLC_ADD_LDFLAGS([livedotcom], [-lliveMedia -lgroupsock -lBasicUsageEnvironment -lUsageEnvironment])
])
])
if test "${SYS}" = "mingw32"; then
# add ws2_32 for closesocket, select, recv
fi
])
CPPFLAGS="${CPPFLAGS_save}"
AC_LANG_POP(C++)
else
AC_MSG_CHECKING(for liveMedia/libliveMedia.a in ${with_livedotcom_tree})
real_livedotcom_tree="`cd ${with_livedotcom_tree} 2>/dev/null && pwd`"
if test -z "${real_livedotcom_tree}"; then
dnl The given directory can't be found
AC_MSG_RESULT(no)
AC_MSG_ERROR([cannot cd to ${with_livedotcom_tree}])
fi
if test -f "${real_livedotcom_tree}/liveMedia/libliveMedia.a"; then
AC_MSG_RESULT(${real_livedotcom_tree}/liveMedia/libliveMedia.a)
if test "${SYS}" = "mingw32"; then
# add ws2_32 for closesocket, select, recv
VLC_ADD_LDFLAGS([livedotcom],[-L${real_livedotcom_tree}/liveMedia -lliveMedia])
VLC_ADD_LDFLAGS([livedotcom],[-L${real_livedotcom_tree}/BasicUsageEnvironment -lBasicUsageEnvironment])
VLC_ADD_LDFLAGS([livedotcom],[-L${real_livedotcom_tree}/groupsock -lgroupsock])
VLC_ADD_LDFLAGS([livedotcom],[-L${real_livedotcom_tree}/UsageEnvironment -lUsageEnvironment])
VLC_ADD_CXXFLAGS([livedotcom],[-I${real_livedotcom_tree}/BasicUsageEnvironment/include])
VLC_ADD_CXXFLAGS([livedotcom],[-I${real_livedotcom_tree}/groupsock/include])
VLC_ADD_CXXFLAGS([livedotcom],[-I${real_livedotcom_tree}/liveMedia/include])
VLC_ADD_CXXFLAGS([livedotcom],[-I${real_livedotcom_tree}/UsageEnvironment/include ])
else
dnl The given live.com wasn't built
AC_MSG_RESULT(no)
AC_MSG_ERROR([cannot find ${real_livedotcom_tree}/liveMedia/libliveMedia.a, make sure you compiled live.com in ${with_livedotcom_tree}])
fi
fi
fi
dnl
dnl dvdread module: check for libdvdread
dnl
AC_ARG_ENABLE(dvdread,
[ --enable-dvdread dvdread input module (default disabled)])
if test "${enable_dvdread}" != "no"
then
AC_ARG_WITH(dvdread,
[ --with-dvdread=PATH libdvdread headers and libraries])
AC_ARG_WITH(dvdread-tree,
[ --with-dvdread-tree=PATH libdvdread tree for static linking])
dnl Temporary hack (yeah, sure ;)
if test "${SYS}" = "mingw32" || test "${SYS}" = "darwin" || test "${SYS}" = "beos" ; then
VLC_ADD_LDFLAGS([dvdread],[-ldvdcss])
fi
if test -z "${with_dvdread}"
then
if test -z "${with_dvdread_tree}"
then
AC_CHECK_HEADERS(dvdread/dvd_reader.h,
[ VLC_ADD_PLUGINS([dvdread])
VLC_ADD_LDFLAGS([dvdread],[-ldvdread ${LDFLAGS_dvdcss}])
],[
if test -n "${enable_dvdread}"
then
AC_MSG_ERROR([cannot find libdvdread headers])
fi
])
else
AC_MSG_CHECKING(for libdvdread.a in ${with_dvdread_tree})
real_dvdread_tree="`cd ${with_dvdread_tree} 2>/dev/null && pwd`"
if test -z "${real_dvdread_tree}"
then
dnl The given directory can't be found
AC_MSG_RESULT(no)
AC_MSG_ERROR([cannot cd to ${with_dvdread_tree}])
fi
if test -f "${real_dvdread_tree}/dvdread/.libs/libdvdread.a"
then
dnl Use a custom libdvdread
AC_MSG_RESULT(${real_dvdread_tree}/dvdread/.libs/libdvdread.a)
VLC_ADD_BUILTINS([dvdread])
VLC_ADD_LDFLAGS([dvdread],[-L${real_dvdread_tree}/dvdread/.libs -ldvdread ${LDFLAGS_dvdcss}])
VLC_ADD_CPPFLAGS([dvdread],[-I${real_dvdread_tree}])
else
dnl The given libdvdread wasn't built
AC_MSG_RESULT(no)
AC_MSG_ERROR([cannot find ${real_dvdread_tree}/dvdread/.libs/libdvdread.a, make sure you compiled libdvdread in ${with_dvdread_tree}])
fi
fi
else
AC_MSG_CHECKING(for dvdread headers in ${with_dvdread})
if test -f ${with_dvdread}/include/dvdread/dvd_reader.h
then
dnl Use ${with_dvdread}/include/dvdread/dvd_reader.h
AC_MSG_RESULT(yes)
VLC_ADD_PLUGINS([dvdread])
VLC_ADD_LDFLAGS([dvdread],[-L${with_dvdread}/lib -ldvdread ${LDFLAGS_dvdcss}])
VLC_ADD_CPPFLAGS([dvdread],[-I${with_dvdread}/include])
else
dnl No libdvdread could be found, sorry
AC_MSG_RESULT(no)
AC_MSG_ERROR([cannot find ${with_dvdread}/include/dvdread/dvd_reader.h])
fi
fi
fi
dnl
dnl libdvdnav plugin
dnl
AC_ARG_ENABLE(dvdnav,
[ --enable-dvdnav dvdnav input module (default enabled)])
dnl Same hack than dvdread
if test "${SYS}" = "mingw32" || test "${SYS}" = "darwin" || test "${SYS}" = "beos" ; then
VLC_ADD_LDFLAGS([dvdnav],[-ldvdcss])
fi
DVDNAV_PATH="${PATH}"
AC_ARG_WITH(dvdnav-config-path,
[ --with-dvdnav-config-path=PATH dvdnav-config path (default search in \$PATH)],
[ if test "${with_dvdnav_config_path}" != "no"
then
DVDNAV_PATH="${with_dvdnav_config_path}:${PATH}"
fi ])
AC_PATH_PROG(DVDNAV_CONFIG, dvdnav-config, no, ${DVDNAV_PATH})
if test "${DVDNAV_CONFIG}" != "no"
then
VLC_ADD_PLUGINS([dvdnav])
VLC_ADD_CFLAGS([dvdnav],[`${DVDNAV_CONFIG} --cflags`])
VLC_ADD_LDFLAGS([dvdnav],[`${DVDNAV_CONFIG} --libs`])
dnl
dnl Windows DirectShow access module
dnl
AC_ARG_ENABLE(dshow,
[ --enable-dshow Win32 DirectShow support (default enabled on Win32)])
if test "${enable_dshow}" != "no"
then
if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
then
AC_CHECK_HEADERS(dshow.h,
[ VLC_ADD_PLUGINS([dshow])
VLC_ADD_CXXFLAGS([dshow],[])
VLC_ADD_LDFLAGS([dshow],[-lole32 -loleaut32 -luuid]) ])
dnl
dnl libsmbclient plugin
dnl
AC_ARG_ENABLE(smb,
[ --enable-smb smb input module (default enabled)])
if test "${enable_smb}" != "no"; then
AC_CHECK_HEADERS(libsmbclient.h,
[ VLC_ADD_PLUGINS([access_smb])
VLC_ADD_LDFLAGS([access_smb],[-lsmbclient]) ],
[ if test -n "${enable_smb}"; then
AC_MSG_ERROR([cannot find libsmbclient headers])
fi ])
fi
Laurent Aimar
committed
dnl libdvbpsi ts demux/mux
dnl
AC_ARG_ENABLE(dvbpsi,
Laurent Aimar
committed
[ --enable-dvbpsi dvbpsi ts mux and demux module (default enabled)])
then
Samuel Hocevar
committed
AC_ARG_WITH(dvbpsi,
[ --with-dvbpsi=PATH libdvbpsi headers and libraries])
AC_ARG_WITH(dvbpsi,
[ --with-dvbpsi-tree=PATH libdvbpsi tree for static linking])
then
[ VLC_ADD_PLUGINS([ts])
if test "${enable_sout}" != "no"; then
VLC_ADD_BUILTINS([mux_ts])
fi
VLC_ADD_LDFLAGS([mux_ts ts dvb],[-ldvbpsi]) ],
[ AC_MSG_WARN([cannot find libdvbpsi headers]) ],
[#if defined( HAVE_STDINT_H )
# include <stdint.h>
#elif defined( HAVE_INTTYPES_H )
# include <inttypes.h>
#endif
#include <dvbpsi/dvbpsi.h>
#include <dvbpsi/descriptor.h>
#include <dvbpsi/pat.h>
#include <dvbpsi/pmt.h>])
else
AC_MSG_CHECKING(for libdvbpsi.a in ${with_dvbpsi_tree})
real_dvbpsi_tree="`cd ${with_dvbpsi_tree} 2>/dev/null && pwd`"
then
dnl The given directory can't be found
AC_MSG_RESULT(no)
AC_MSG_ERROR([cannot cd to ${with_dvbpsi_tree}])
fi
if test -f "${real_dvbpsi_tree}/src/.libs/libdvbpsi.a"
then
dnl Use a custom libdvbpsi
AC_MSG_RESULT(${real_dvbpsi_tree}/src/.libs/libdvbpsi.a)
VLC_ADD_BUILTINS([ts])
if test "${enable_sout}" != "no"; then
VLC_ADD_BUILTINS([mux_ts])
fi
VLC_ADD_CPPFLAGS([mux_ts ts dvb],[-I${real_dvbpsi_tree}/src])
VLC_ADD_LDFLAGS([mux_ts ts dvb],[-L${real_dvbpsi_tree}/src/.libs -ldvbpsi])
else
dnl The given libdvbpsi wasn't built
AC_MSG_RESULT(no)
AC_MSG_ERROR([cannot find ${real_dvbpsi_tree}/src/.libs/libdvbpsi.a, make sure you compiled libdvbpsi in ${with_dvbpsi_tree}])
fi
dnl Compile without dvbpsi
;;
*)
AC_MSG_CHECKING(for dvbpsi headers in ${with_dvbpsi})
Samuel Hocevar
committed
LDFLAGS_test=""
CPPFLAGS_test=""
Samuel Hocevar
committed
LDFLAGS_test="-L${with_dvbpsi}/lib"
CPPFLAGS_test="-I${with_dvbpsi}/include"
Samuel Hocevar
committed
CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_test}"
VLC_ADD_PLUGINS([ts])
if test "${enable_sout}" != "no"; then
VLC_ADD_PLUGINS([mux_ts])
VLC_ADD_CPPFLAGS([mux_ts ts dvb],[${CPPFLAGS_test}])
VLC_ADD_LDFLAGS([mux_ts ts dvb],[${LDFLAGS_test} -ldvbpsi])
Laurent Aimar
committed
then
AC_MSG_ERROR([Could not find libdvbpsi on your system: you may get it from www.videolan.org, you'll need at least version 0.1.1])
fi
])
Samuel Hocevar
committed
CPPFLAGS="${CPPFLAGS_save}"
Samuel Hocevar
committed
dnl
dnl Video4Linux plugin
dnl
AC_ARG_ENABLE(v4l,
[ --enable-v4l Video4Linux input support (default disabled)])
Samuel Hocevar
committed
then
AC_ARG_WITH(v4l,
[ --with-v4l=PATH path to a v4l-enabled kernel tree],[],[])
VLC_ADD_CPPFLAGS([v4l],[-I${with_v4l}/include])
fi
CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_v4l}"
],[])
CPPFLAGS="${CPPFLAGS_save}"
Samuel Hocevar
committed
fi
dnl
dnl special access module for Hauppauge PVR cards
dnl
AC_ARG_ENABLE(pvr,
[ --enable-pvr PVR cards access module (default disabled)])
dnl Need to test libcdio and libvcdinfo for a number of things. Do it now.
AC_ARG_ENABLE(libcdio,
[ --enable-libcdio CD input and control library support (default enabled)])
have_libcdio=no
have_libvcdinfo=no
if test "${enable_libcdio}" != "no"
then
have_libcdio=yes
AC_DEFINE(HAVE_LIBCDIO, [],
[Define if you have libcdio 0.72 or greater installed]),
[AC_MSG_WARN(CD Reading and information library not found)])
PKG_CHECK_MODULES(VCDINFO, libvcdinfo >= 0.7.21,
[have_libvcdinfo=yes
AC_DEFINE(HAVE_VCDINFO, [],
[Define if you have libvcdinfo 0.7.21 or greater installed])],
[AC_MSG_WARN(VCD information library not found)])
fi
dnl
dnl VCDX and CDDAX modules
dnl
AC_ARG_ENABLE(cddax,
[ --enable-cddax audio CD plugin with CD Text and CD paranoia via libcdio (default disabled)])
AC_ARG_ENABLE(libcddb,
[ --enable-libcddb CDDB support for libcdio audio CD (default enabled)])
if test "${enable_cddax}" = "yes"
if test "$have_libcdio" = "yes"
then
AC_DEFINE(HAVE_CDDAX, [], [Define for the audio CD plugin using libcdio])
VLC_ADD_LDFLAGS([cddax],[$LIBCDIO_LIBS])
VLC_ADD_CFLAGS([cddax],[$LIBCDIO_CFLAGS])
VLC_ADD_PLUGINS([cddax])
PKG_CHECK_MODULES(LIBCDIO_PARANOIA, libcdio_paranoia >= 0.72, [
VLC_ADD_LDFLAGS([cddax],[$LIBCDIO_CDDA_LIBS $LIBCDIO_CDDA_LIBS $LIBCDIO_PARANOIA_LIBS])],
AC_MSG_WARN([CD Paranoia support disabled because no libcdio >= 0.72 found]))
else
AC_MSG_WARN([cddax plugin disabled because ok libcdio library not found or disabled])
HAVE_CDDAX=no
fi
if test "$enable_libcddb" != "no"; then
PKG_CHECK_MODULES(LIBCDDB, libcddb >= 0.9.5, [
HAVE_LIBCDDB=yes
AC_DEFINE(HAVE_LIBCDDB, [], [Define this if you have libcddb installed])
VLC_ADD_LDFLAGS([cddax],[$LIBCDDB_LIBS])
VLC_ADD_CFLAGS([cddax],[$LIBCDDB_CFLAGS])
],
[AC_MSG_WARN(new enough libcddb not found. CDDB access disabled)
HAVE_LIBCDDB=no])
fi
fi
AC_ARG_ENABLE(vcdx,
[ --enable-vcdx VCD with navigation via libvcdinfo (default disabled)])
if test "${enable_vcdx}" = "yes"
then
if test "${have_libvcdinfo}" = "yes"
then
VLC_ADD_LDFLAGS([vcdx],[$VCDINFO_LIBS])
VLC_ADD_CFLAGS([vcdx],[$VCDINFO_CFLAGS])
else
AC_MSG_WARN([vcdx plugin disabled because ok libvcdinfo library not found or disabled])
HAVE_VCDX=no
fi
[VLC_ADD_LDFLAGS([vcdx],[$LIBISO9660_LIBS])
VLC_ADD_CFLAGS([vcdx],[$LIBISO9660_CFLAGS])],
[AC_MSG_WARN([vcdx plugin disabled because ok libiso9660 library not found])
HAVE_VCDX=no])
if test "$have_libvcdinfo" = "yes"
then
AC_DEFINE(HAVE_VCDX, [],
[Define for the VCD plugin using libcdio/libvcdinfo])
VLC_ADD_LDFLAGS([vcdx],[$VCDINFO_LIBS])
VLC_ADD_CFLAGS([vcdx],[$VCDINFO_CFLAGS])
VLC_ADD_PLUGINS([vcdx])
else
AC_MSG_WARN([vcdx plugin disabled because ok libvcdinfo library not found])
HAVE_VCDX=no
fi
dnl Built-in CD-DA and VCD module
AC_ARG_ENABLE(cdda,
[ --enable-cdda audio CD via built-in VCD (default enabled)])
Rocky Bernstein
committed
[ --enable-vcd built-in VCD (default enabled)])
AC_MSG_CHECKING(for cdrom_msf0 in linux/cdrom.h)
AC_MSG_RESULT(yes)
],[
AC_MSG_RESULT(no)
Samuel Hocevar
committed
AC_MSG_CHECKING(for scsireq in sys/scsiio.h)
AC_EGREP_HEADER(scsireq,sys/scsiio.h,[
AC_MSG_RESULT(yes)
AC_DEFINE(HAVE_SCSIREQ_IN_SYS_SCSIIO_H, 1, For NetBSD VCD support)
],[
AC_MSG_RESULT(no)
])
AC_MSG_CHECKING(for ioc_toc_header in sys/cdio.h)
AC_EGREP_HEADER(ioc_toc_header ,sys/cdio.h,[
AC_MSG_RESULT(yes)
AC_DEFINE(HAVE_IOC_TOC_HEADER_IN_SYS_CDIO_H, 1, For FreeBSD VCD support)
],[
AC_MSG_RESULT(no)
Samuel Hocevar
committed
if test "${SYS}" = "bsdi" -o "${SYS}" = "mingw32"
VLC_ADD_LDFLAGS([vcd vcdx cdda cddax],[-framework IOKit -framework CoreFoundation])
VLC_ADD_LDFLAGS([vcdx cddax],[-liconv])
dnl
dnl DVB-S/DVB-T/DVB-C satellite/teresterial/cable input using v4l2
dnl
AC_ARG_ENABLE(dvb,
[ --enable-dvb DVB-S/T/C card support (default disabled)])
if test "${enable_dvb}" = "yes"
then
AC_ARG_WITH(dvb,
[ --with-dvb=PATH path to a dvb- and v4l2-enabled kernel tree],[],[])
if test "${with_dvb}" != "no" -a -n "${with_dvb}"
then
VLC_ADD_CFLAGS([dvb],[-I${with_dvb}/include])

Jean-Paul Saman
committed
CPPFLAGS="${CPPFLAGS_save} -I${with_dvb}/include"
AC_CHECK_HEADERS(linux/dvb/version.h linux/dvb/frontend.h, [
Christophe Massiot
committed
if test -z "${with_dvbpsi_tree}"
then
VLC_ADD_PLUGINS([dvb])
else
VLC_ADD_BUILTINS([dvb])
fi
],[])
CPPFLAGS="${CPPFLAGS_save}"
fi
dnl
dnl Screen capture module
dnl
AC_ARG_ENABLE(screen,
[ --enable-screen Screen capture support (default enabled)])
hartman
committed
if test "${enable_screen}" != "no"; then
hartman
committed
AC_CHECK_HEADERS(ApplicationServices/ApplicationServices.h, [
VLC_ADD_PLUGINS([screen])
VLC_ADD_LDFLAGS([screen],[-framework ApplicationServices])
])
VLC_ADD_PLUGINS([screen])
VLC_ADD_LDFLAGS([screen],[-lgdi32])
elif test "${SYS}" = "mingwce"; then
CPPFLAGS="${CPPFLAGS_save}"
elif test "${SYS}" = "beos"; then
VLC_ADD_PLUGINS([screen])
VLC_ADD_CXXFLAGS([screen],[])
VLC_ADD_LDFLAGS([screen],[-lbe])
else
CPPFLAGS="${CPPFLAGS_save} -I${x_includes}"
AC_CHECK_HEADERS(X11/Xlib.h, [
VLC_ADD_PLUGINS([screen])
VLC_ADD_LDFLAGS([screen],[-L${x_libraries} -lX11 -lXext])
VLC_ADD_CPPFLAGS([screen],[-I${x_includes}])
])
CPPFLAGS="${CPPFLAGS_save}"
fi
fi
Christophe Massiot
committed
dnl
dnl ipv6 plugin - not for QNX yet
Christophe Massiot
committed
dnl
have_ipv6=no
AC_CHECK_FUNCS(inet_pton,[have_ipv6=yes],[
VLC_ADD_LDFLAGS([ipv6],[-lresolv])])
])
AC_DEFINE(HAVE_INET_PTON, 1, [Define to 1 if you have inet_pton().])])
if test "${SYS}" != "nto" &&
test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
AC_MSG_CHECKING(for sockaddr_in6 in netinet/in.h)
AC_EGREP_HEADER(sockaddr_in6,netinet/in.h,
[AC_MSG_RESULT(yes)], [AC_MSG_RESULT(no); have_ipv6=no])
AS_IF([test "${have_ipv6}" != "no"], [
VLC_ADD_PLUGINS([ipv6])])
then
AC_MSG_CHECKING(for getaddrinfo in ws2tcpip.h)
AC_EGREP_HEADER(addrinfo,ws2tcpip.h,[AC_MSG_RESULT(yes)
VLC_ADD_PLUGINS([ipv6])],[AC_MSG_RESULT(no)])
Christophe Massiot
committed
dnl
AC_ARG_ENABLE(ogg,
[ --enable-ogg Ogg demux support (default enabled)])
VLC_ADD_PLUGINS([ogg])
if test "${enable_sout}" != "no"; then
VLC_ADD_PLUGINS([mux_ogg])
fi
if test "${enable_mkv}" != "no" -a "${CXX}" != ""; then
AC_LANG_PUSH(C++)
AC_CHECK_HEADERS(ebml/EbmlVersion.h, [
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
AC_MSG_CHECKING(for libebml version >= 0.7.3)
AC_EGREP_CPP(yes,
[#include <ebml/EbmlVersion.h>
#ifdef LIBEBML_VERSION
#if LIBEBML_VERSION >= 0x000703
yes
#endif
#endif],
[AC_MSG_RESULT([yes])
AC_CHECK_HEADERS(matroska/KaxVersion.h, [
AC_MSG_CHECKING(for libmatroska version >= 0.7.5)
AC_EGREP_CPP(yes,
[#include <matroska/KaxVersion.h>
#ifdef LIBMATROSKA_VERSION
#if LIBMATROSKA_VERSION >= 0x000705
yes
#endif
#endif],
[AC_MSG_RESULT([yes])
AC_CHECK_HEADERS(matroska/KaxAttachments.h)
VLC_ADD_CXXFLAGS([mkv],[])
if test "${SYS}" = "darwin"; then
VLC_ADD_CXXFLAGS([mkv],[-O1])
fi
AC_CHECK_LIB(ebml_pic, main, [
# We have ebml_pic, that's good, we can build an mkv.so plugin !
VLC_ADD_PLUGINS([mkv])
VLC_ADD_LDFLAGS([mkv],[-lmatroska_pic -lebml_pic])
], [
AC_CHECK_LIB(ebml, main, [
# We only have libebml, make mkv.a a builtin
VLC_ADD_BUILTINS([mkv])
VLC_ADD_LDFLAGS([mkv],[-lmatroska -lebml])
])
])
],
[AC_MSG_RESULT([no])
AC_MSG_ERROR([Your libmatroska is too old: you may get a more recent one from http://dl.matroska.org/downloads/libmatroska/. Alternatively you can use --disable-mkv to disable the matroska plugin.])
])
],
[AC_MSG_RESULT([no])
AC_MSG_ERROR([Your libebml is too old: you may get a more recent one from http://dl.matroska.org/downloads/libebml/. Alternatively you can use --disable-mkv to disable the matroska plugin.])
Samuel Hocevar
committed
])
dnl
dnl modplug demux plugin
dnl
AC_ARG_ENABLE(mod,
[ --enable-mod Mod demux support (default enabled)])
if test "${enable_mod}" != "no"
then
AC_CHECK_HEADERS(libmodplug/modplug.h, [
VLC_ADD_PLUGINS([mod])
VLC_ADD_CXXFLAGS([mod],[])
VLC_ADD_LDFLAGS([mod],[-lmodplug])])
[ --enable-mad libmad module (default enabled)])
VLC_ADD_CPPFLAGS([mpgatofixed32],[-I${with_mad}/include])
VLC_ADD_LDFLAGS([mpgatofixed32],[-L${with_mad}/lib])
fi
AC_ARG_WITH(mad-tree,
[ --with-mad-tree=PATH mad tree for static linking],[],[])
if test "${with_mad_tree}" != "no" -a -n "${with_mad_tree}"
then
dnl The given directory can't be found
AC_MSG_RESULT(no)
AC_MSG_ERROR([${with_mad_tree} directory doesn't exist])
fi
dnl Use a custom libmad
AC_MSG_CHECKING(for mad.h in ${real_mad_tree})
if test -f ${real_mad_tree}/mad.h
VLC_ADD_CPPFLAGS([mpgatofixed32],[-I${real_mad_tree}])
VLC_ADD_LDFLAGS([mpgatofixed32],[-L${real_mad_tree}/.libs])
LDFLAGS="${LDFLAGS_save} ${LDFLAGS_mpgatofixed32}"
VLC_ADD_BUILTINS([mpgatofixed32])
VLC_ADD_LDFLAGS([mpgatofixed32],[-lmad])
Samuel Hocevar
committed
LDFLAGS="${LDFLAGS_save}"
else
AC_MSG_RESULT(no)
AC_MSG_ERROR([the specified tree doesn't have mad.h])
fi
else
CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_mpgatofixed32}"
LDFLAGS="${LDFLAGS_save} ${LDFLAGS_mpgatofixed32}"