X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=configure.ac;h=4ac6f04a48f03653a7711f99ff1bab4dcde348b3;hb=415518de9afd158cc5090a1b602049fed8b6637f;hp=9e2e0dbbc3ff8f6e00e21010bfeb09fdb7ecb48c;hpb=74764fb415c49ea93dcb9b02caa6b45247fa2978;p=vlc diff --git a/configure.ac b/configure.ac index 9e2e0dbbc3..4ac6f04a48 100644 --- a/configure.ac +++ b/configure.ac @@ -1,10 +1,10 @@ dnl Autoconf settings for vlc dnl $Id$ -AC_INIT(vlc,0.8.4-svn) +AC_INIT(vlc,0.8.5-svn) VERSION_MAJOR="0" VERSION_MINOR="8" -VERSION_REVISION="4" +VERSION_REVISION="5" VERSION_EXTRA="svn" CONFIGURE_LINE="$0 $*" @@ -17,9 +17,12 @@ AC_CANONICAL_SYSTEM dnl XXX: we don't put any flags here, because automake 1.5 doesn't support dnl them. And we need the comma otherwize automake will choke on it. -AM_INIT_AUTOMAKE(vlc,0.8.4-svn) +AM_INIT_AUTOMAKE(vlc,0.8.5-svn) AM_CONFIG_HEADER(config.h) +dnl HA! HA! +AM_MAINTAINER_MODE + dnl dnl Save *FLAGS dnl @@ -73,38 +76,49 @@ AC_C_INLINE dnl dnl Check for the contrib directory dnl -topdir="`dirname $0`" -if test "`echo \"$topdir\" | cut -c 1`" != "/"; then - topdir="`pwd`/$topdir" -fi - -if test -d ${topdir}/extras/contrib/lib; then - export PATH=${topdir}/extras/contrib/bin:$PATH - CPPFLAGS="${CPPFLAGS} -I${topdir}/extras/contrib/include" - CPPFLAGS_save="${CPPFLAGS_save} -I${topdir}/extras/contrib/include" - CFLAGS="${CFLAGS} -I${topdir}/extras/contrib/include" - CFLAGS_save="${CFLAGS_save} -I${topdir}/extras/contrib/include" - CXXFLAGS="${CXXFLAGS} -I${topdir}/extras/contrib/include" - CXXFLAGS_save="${CXXFLAGS_save} -I${topdir}/extras/contrib/include" - OBJCFLAGS="${OBJCFLAGS} -I${topdir}/extras/contrib/include" - OBJCFLAGS_save="${OBJCFLAGS_save} -I${topdir}/extras/contrib/include" - if test -d ${topdir}/extras/contrib/vlc-lib; then - LDFLAGS="${LDFLAGS} -L${topdir}/extras/contrib/vlc-lib" - LDFLAGS_save="${LDFLAGS_save} -L${topdir}/extras/contrib/vlc-lib" - fi - LDFLAGS="${LDFLAGS} -L${topdir}/extras/contrib/lib" - LDFLAGS_save="${LDFLAGS_save} -L${topdir}/extras/contrib/lib" - with_livedotcom_tree=${topdir}/extras/contrib/src/live - with_goom_tree=${topdir}/extras/contrib/src/goom - if test ".`uname -s`" = ".Darwin"; then - export LD_LIBRARY_PATH=${topdir}/extras/contrib/lib:$LD_LIBRARY_PATH - export DYLD_LIBRARY_PATH=${topdir}/extras/contrib/lib:$DYLD_LIBRARY_PATH - elif test ".`uname -s`" = ".BeOS"; then - export LIBRARY_PATH=${topdir}/extras/contrib/lib:$LIBRARY_PATH - export BELIBRARIES=${topdir}/extras/contrib/lib:$BELIBRARIES +AC_ARG_WITH(contrib, + [ --without-contrib do not use the libraries in extras/contrib],[],[]) + if test "${with_contrib}" != "no"; then + + topdir="`dirname $0`" + if test "`echo \"$topdir\" | cut -c 1`" != "/"; then + topdir="`pwd`/$topdir" + fi + + if test -d ${topdir}/extras/contrib/lib; then + export PATH=${topdir}/extras/contrib/bin:$PATH +dnl kludge because only the debian package provides a ffmpeg-config + with_ffmpeg_config_path=${topdir}/extras/contrib/bin + CPPFLAGS="${CPPFLAGS} -I${topdir}/extras/contrib/include" + CPPFLAGS_save="${CPPFLAGS_save} -I${topdir}/extras/contrib/include" + CFLAGS="${CFLAGS} -I${topdir}/extras/contrib/include" + CFLAGS_save="${CFLAGS_save} -I${topdir}/extras/contrib/include" + CXXFLAGS="${CXXFLAGS} -I${topdir}/extras/contrib/include" + CXXFLAGS_save="${CXXFLAGS_save} -I${topdir}/extras/contrib/include" + OBJCFLAGS="${OBJCFLAGS} -I${topdir}/extras/contrib/include" + OBJCFLAGS_save="${OBJCFLAGS_save} -I${topdir}/extras/contrib/include" + if test $build = $host; then + export PKG_CONFIG_PATH=${topdir}/extras/contrib/lib/pkgconfig:$PKG_CONFIG_PATH + else + export PKG_CONFIG_LIBDIR=${topdir}/extras/contrib/lib/pkgconfig + fi + if test -d ${topdir}/extras/contrib/vlc-lib; then + LDFLAGS="${LDFLAGS} -L${topdir}/extras/contrib/vlc-lib" + LDFLAGS_save="${LDFLAGS_save} -L${topdir}/extras/contrib/vlc-lib" + fi + LDFLAGS="${LDFLAGS} -L${topdir}/extras/contrib/lib" + LDFLAGS_save="${LDFLAGS_save} -L${topdir}/extras/contrib/lib" + with_livedotcom_tree=${topdir}/extras/contrib/src/live + with_goom_tree=${topdir}/extras/contrib/src/goom + if test ".`uname -s`" = ".Darwin"; then + export LD_LIBRARY_PATH=${topdir}/extras/contrib/lib:$LD_LIBRARY_PATH + export DYLD_LIBRARY_PATH=${topdir}/extras/contrib/lib:$DYLD_LIBRARY_PATH + elif test ".`uname -s`" = ".BeOS"; then + export LIBRARY_PATH=${topdir}/extras/contrib/lib:$LIBRARY_PATH + export BELIBRARIES=${topdir}/extras/contrib/lib:$BELIBRARIES + fi fi fi - dnl dnl Set default values dnl @@ -167,7 +181,6 @@ case "${target_os}" in VLC_ADD_LDFLAGS([vlc],[-lws2_32 -lnetapi32 -lwinmm -mwindows]) VLC_ADD_LDFLAGS([vcdx cddax],[-lwinmm]) VLC_ADD_LDFLAGS([ipv4 ipv6 access_http access_mms access_udp access_tcp access_ftp access_output_udp sap slp http stream_out_standard stream_out_rtp vod_rtsp telnet netsync],[-lws2_32]) - VLC_ADD_LDFLAGS([ipv4],[-liphlpapi]) fi if test "${SYS}" = "mingwce"; then # add ws2 for closesocket, select, recv @@ -175,7 +188,6 @@ case "${target_os}" in VLC_ADD_CPPFLAGS([vlc],[-Dmain(a,b)=maince(a,b)]) VLC_ADD_LDFLAGS([vlc],[-lws2 -e WinMainCRTStartup]) VLC_ADD_LDFLAGS([ipv4 ipv6 access_http access_mms access_udp access_tcp access_ftp access_output_udp sap http netsync],[-lws2]) - VLC_ADD_LDFLAGS([ipv4],[-liphlpapi]) fi ;; *nto*) @@ -196,9 +208,15 @@ case "${target_os}" in CFLAGS_save="${CFLAGS_save} -Wno-multichar"; CFLAGS="${CFLAGS_save}" CXXFLAGS_save="${CXXFLAGS_save} -Wno-multichar"; CXXFLAGS="${CXXFLAGS_save}" VLC_ADD_CXXFLAGS([beos],[]) - VLC_ADD_LDFLAGS([vlc beos],[-lbe]) + VLC_ADD_LDFLAGS([vlc beos logger],[-lbe]) VLC_ADD_LDFLAGS([beos],[-lmedia -ltranslation -ltracker -lgame]) - VLC_ADD_LDFLAGS([access_file access_ftp access_mms access_output_udp telnet netsync sap ipv4 vlc],[-lnet]) + + dnl Check for BONE + if test -f /boot/beos/system/lib/libbind.so; then + VLC_ADD_LDFLAGS([access_file access_ftp access_mms access_output_udp telnet netsync sap ipv4 vlc],[-lbind -lsocket]) + else + VLC_ADD_LDFLAGS([access_file access_ftp access_mms access_output_udp telnet netsync sap ipv4 vlc],[-lnet]) + fi dnl Ugly check for Zeta if test -f /boot/beos/system/lib/libzeta.so; then @@ -217,7 +235,7 @@ AM_CONDITIONAL(HAVE_WINCE, test "${SYS}" = "mingwce") dnl dnl Gettext stuff dnl -ALL_LINGUAS="ca da de en_GB es fr it ja nl pt_BR ro ru tr zh_TW" +ALL_LINGUAS="ca da de en_GB es fr it ja ko nl pt_BR ro ru sv tr zh_CN zh_TW" AM_GNU_GETTEXT_VERSION(0.11.5) AM_GNU_GETTEXT if test "${nls_cv_force_use_gnu_gettext}" = "yes"; then @@ -237,8 +255,10 @@ XGETTEXT="${XGETTEXT} --keyword=_NS --keyword=_ANS" dnl dnl Iconv stuff dnl +if test "${SYS}" != "mingwce"; then AS_IF([test "$am_cv_func_iconv" != "yes"], [AC_MSG_ERROR([libiconv is needed for VLC to work properly])]) +fi VLC_ADD_CFLAGS([vlc],[${INCICONV}]) VLC_ADD_LDFLAGS([vlc],[${LIBICONV}]) @@ -321,7 +341,7 @@ CPPFLAGS_save="${CPPFLAGS_save} -DSYS_`echo ${SYS} | sed -e 's/-.*//' | tr 'abcd dnl Check for system libs needed need_libc=false -AC_CHECK_FUNCS(gettimeofday select strerror strtod strtol strtof strtoll strtoull strsep isatty vasprintf asprintf swab sigrelse getpwuid memalign posix_memalign if_nametoindex atoll getenv putenv setenv gmtime_r ctime_r localtime_r lrintf daemon scandir) +AC_CHECK_FUNCS(gettimeofday select strerror strtod strtol strtof strtoll strtoull strsep isatty vasprintf asprintf swab sigrelse getpwuid memalign posix_memalign if_nametoindex atoll getenv putenv setenv gmtime_r ctime_r localtime_r lrintf daemon scandir fork bsearch) dnl Check for usual libc functions AC_CHECK_FUNCS(strdup strndup atof) @@ -462,7 +482,7 @@ AC_CHECK_LIB(m,cos,[ VLC_ADD_LDFLAGS([adjust distort a52tofloat32 dtstofloat32 x264 goom],[-lm]) ]) AC_CHECK_LIB(m,pow,[ - VLC_ADD_LDFLAGS([ffmpeg ffmpegaltivec stream_out_transrate i420_rgb faad twolame equalizer vlc freetype],[-lm]) + VLC_ADD_LDFLAGS([ffmpeg ffmpegaltivec stream_out_transrate i420_rgb faad twolame equalizer vlc freetype mpc],[-lm]) ]) AC_CHECK_LIB(m,sqrt,[ VLC_ADD_LDFLAGS([headphone_channel_mixer normvol speex],[-lm]) @@ -657,6 +677,7 @@ AC_CHECK_HEADERS(arpa/inet.h net/if.h netinet/in.h sys/socket.h) if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then AC_CHECK_HEADERS(machine/param.h sys/shm.h) AC_CHECK_HEADERS(linux/version.h) +AC_CHECK_HEADERS(syslog.h) fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" AC_HEADER_TIME @@ -701,18 +722,31 @@ if test "${x_libraries}" = "NONE"; then x_libraries="/usr/X11R6/lib" fi +dnl it seems that autoconf do the pkg-config detection only for the first PKG_CHECK_MODULES in the configure.ac ( which is logical) but in our case it is nested in a if so it was not working if you're not on linux or have disable hal. + +PKG_PROG_PKG_CONFIG() + dnl Check for hal AC_ARG_ENABLE(hal, [ --enable-hal Linux HAL services discovery (default enabled)]) -if test "${enable_hal}" != "no" +if test "${enable_hal}" != "no" -a "${SYS}" = "linux" then - PKG_CHECK_MODULES(HAL, hal >= 0.2.97, - [AC_DEFINE(HAVE_HAL, [], [Define if you have the HAL library]) - VLC_ADD_PLUGINS([hal]) - VLC_ADD_LDFLAGS([vlc hal],[$HAL_LIBS]) - VLC_ADD_CFLAGS([vlc hal],[$HAL_CFLAGS])], - [AC_MSG_WARN(HAL library not found)]) + PKG_CHECK_MODULES(HAL, hal >= 0.5.0, + [ AC_DEFINE( HAVE_HAL_1, [] , [Define if you have the new HAL library API]) + AC_DEFINE( HAVE_HAL, [], [Define if you have the HAL library] ) + VLC_ADD_PLUGINS([hal]) + VLC_ADD_LDFLAGS([vlc hal],[$HAL_LIBS]) + VLC_ADD_CFLAGS([vlc hal],[$HAL_CFLAGS])], + dnl No hal 0.5 Test for 0.2 + [ PKG_CHECK_MODULES( HAL, hal >= 0.2.97, + [AC_DEFINE(HAVE_HAL, [], [Define if you have the HAL library]) + VLC_ADD_PLUGINS([hal]) + VLC_ADD_LDFLAGS([vlc hal],[$HAL_LIBS]) + VLC_ADD_CFLAGS([vlc hal],[$HAL_CFLAGS])], + [AC_MSG_WARN(HAL library not found)]) + ] + ) fi dnl Build the gtk_main plugins? @@ -986,8 +1020,8 @@ VLC_ADD_PLUGINS([deinterlace invert adjust transform distort motionblur rv32]) VLC_ADD_PLUGINS([fixed32tos16 s16tofixed32 u8tofixed32]) VLC_ADD_PLUGINS([trivial_resampler ugly_resampler]) VLC_ADD_PLUGINS([trivial_channel_mixer trivial_mixer]) -VLC_ADD_PLUGINS([playlist export sgimb m3u xtag]) -VLC_ADD_PLUGINS([i420_rgb rawvideo blend scale image logo]) +VLC_ADD_PLUGINS([playlist export sgimb m3u nsc xtag]) +VLC_ADD_PLUGINS([i420_rgb rawvideo blend scale image logo magnify]) VLC_ADD_PLUGINS([wav araw subtitle vobsub adpcm a52sys dtssys au ty voc xa nuv]) VLC_ADD_PLUGINS([access_directory access_file access_udp access_tcp]) VLC_ADD_PLUGINS([access_http access_mms access_ftp ipv4]) @@ -997,12 +1031,12 @@ VLC_ADD_PLUGINS([packetizer_mpeg4video packetizer_mpeg4audio]) if test "${SYS}" != "mingwce"; then dnl VLC_ADD_PLUGINS([externrun]) VLC_ADD_PLUGINS([access_fake access_filter_timeshift access_filter_record]) - VLC_ADD_PLUGINS([gestures rc telnet hotkeys netsync showintf time marq sap shout fake]) + VLC_ADD_PLUGINS([gestures rc telnet hotkeys netsync showintf time marq podcast shout sap fake]) VLC_ADD_PLUGINS([rss mosaic wall motiondetect clone crop]) VLC_ADD_PLUGINS([i420_yuy2 i422_yuy2 i420_ymga]) VLC_ADD_PLUGINS([aout_file linear_resampler bandlimited_resampler]) VLC_ADD_PLUGINS([float32_mixer spdif_mixer simple_channel_mixer]) - VLC_ADD_PLUGINS([headphone_channel_mixer normvol equalizer]) + VLC_ADD_PLUGINS([dolby_surround_decoder headphone_channel_mixer normvol equalizer]) VLC_ADD_PLUGINS([fixed32tofloat32 float32tos16 float32tos8 float32tou16 float32tou8 a52tospdif dtstospdif s16tofloat32 s16tofloat32swab s8tofloat32 u8tofloat32 audio_format]) fi @@ -1022,7 +1056,7 @@ dnl if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then VLC_ADD_PLUGINS([screensaver]) elif test "${SYS}" != "mingwce"; then - VLC_ADD_PLUGINS([ntservice access_smb dmo]) + VLC_ADD_PLUGINS([ntservice access_smb dmo msn]) VLC_ADD_LDFLAGS([dmo],[-lole32]) else VLC_ADD_PLUGINS([win32text]) @@ -1055,6 +1089,31 @@ if test "${ac_cv_mmx_inline}" != "no"; then ACCEL_MODULES="${ACCEL_MODULES} ${MMX_MODULES}" fi +dnl Check for fully workin MMX intrinsics +dnl We need support for -mmmx, we need , and we also need a +dnl working compiler (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23963) +AC_CACHE_CHECK([if \$CC groks MMX intrinsics], + [ac_cv_c_mmx_intrinsics], + [CFLAGS="${CFLAGS_save} -O -mmmx" + AC_TRY_COMPILE([#include + #include + uint64_t frobzor;], + [__m64 a, b, c; + a = b = c = (__m64)frobzor; + a = _mm_slli_pi16(a, 3); + a = _mm_adds_pi16(a, b); + c = _mm_srli_pi16(c, 8); + c = _mm_slli_pi16(c, 3); + b = _mm_adds_pi16(b, c); + a = _mm_unpacklo_pi8(a, b); + frobzor = (uint64_t)a;], + [ac_cv_c_mmx_intrinsics=yes], + [ac_cv_c_mmx_intrinsics=no])]) +if test "${ac_cv_c_mmx_intrinsics}" != "no"; then + AC_DEFINE(HAVE_MMX_INTRINSICS, 1, Define if MMX intrinsics are available.) + VLC_ADD_CFLAGS([i420_rgb_mmx],[-mmmx]) +fi + AC_CACHE_CHECK([if \$CC groks MMX EXT inline assembly], [ac_cv_mmxext_inline], [CFLAGS="${CFLAGS_save}" @@ -1108,43 +1167,59 @@ if test "${ac_cv_altivec_inline}" != "no"; then ACCEL_MODULES="${ACCEL_MODULES} ${ALTIVEC_MODULES}" fi -dnl Check for , gcc 4.x needs -maltivec for it -AC_CACHE_CHECK([if \$CC accepts -maltivec], - [ac_cv_c_maltivec], - [CFLAGS="${CFLAGS_save} -maltivec" - AC_TRY_COMPILE([],,ac_cv_c_maltivec=yes, ac_cv_c_maltivec=no)]) -if test "${ac_cv_c_maltivec}" != "no"; then - CPPFLAGS="${CPPFLAGS_save} -maltivec" +dnl The AltiVec C extensions +dnl +dnl There are several possible cases: +dnl - OS X PPC, gcc 4.x: use -mpim-altivec -force_cpusubtype_ALL, don't +dnl need +dnl - OS X PPC, gcc 3.x: need -faltivec, don't need +dnl - Linux PPC, gcc 3.4, 4.x: need which requires -maltivec +dnl - Linux PPC, gcc 3.3: need and -maltivec -mabi=altivec +dnl - Linux PPC, gcc 3.x: need and -fvec +dnl - Others: test should fail +AC_CACHE_CHECK([if \$CC groks AltiVec C extensions], + [ac_cv_c_altivec], + [# OS X/PPC test (gcc 4.x) + CFLAGS="${CFLAGS_save} -mpim-altivec -force_cpusubtype_ALL" + AC_TRY_COMPILE([], + [vec_ld(0, (unsigned char *)0);], + [ac_cv_c_altivec="-mpim-altivec -force_cpusubtype_ALL"], + [# OS X/PPC test (gcc 3.x) + CFLAGS="${CFLAGS_save} -faltivec" + AC_TRY_COMPILE([], + [vec_ld(0, (unsigned char *)0);], + [ac_cv_c_altivec="-faltivec"], + dnl Below this are the Linux tests + [# Linux/PPC test (gcc 4.x) + CFLAGS="${CFLAGS_save} -maltivec" + AC_TRY_COMPILE([#include ], + [vec_ld(0, (unsigned char *)0);], + [ac_cv_c_altivec="-maltivec"], + [# Linux/PPC test (gcc 3.3) + CFLAGS="${CFLAGS_save} -maltivec -mabi=altivec" + AC_TRY_COMPILE([#include ], + [vec_ld(0, (unsigned char *)0);], + [ac_cv_c_altivec="" + ac_cv_c_altivec_abi="-maltivec -mabi=altivec"], + [# Linux/PPC test (gcc 3.3) + CFLAGS="${CFLAGS_save} -fvec" + AC_TRY_COMPILE([#include ], + [vec_ld(0, (unsigned char *)0);], + [ac_cv_c_altivec="-fvec"], + [ac_cv_c_altivec=no]) + ]) + ]) + ]) + ]) + CFLAGS="${CFLAGS_save}" + ]) + +if test "${ac_cv_c_altivec}" != "no"; then + CPPFLAGS="${CPPFLAGS_save} ${ac_cv_c_altivec}" fi AC_CHECK_HEADERS(altivec.h) CPPFLAGS="${CPPFLAGS_save}" -AC_CACHE_CHECK([if \$CC groks AltiVec C extensions], - [ac_cv_c_altivec], - [# Darwin test - CFLAGS="${CFLAGS_save} -faltivec" - AC_TRY_COMPILE([], - [vec_ld(0, (unsigned char *)0);], - [ac_cv_c_altivec="-faltivec"], - [# Linux/PPC test (no flags) - CFLAGS="${CFLAGS_save} ${CFLAGS_idctaltivec} -maltivec -mabi=altivec" - AC_TRY_COMPILE([#ifdef HAVE_ALTIVEC_H - #include - #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 - #endif], - [vec_ld(0, (unsigned char *)0);], - [ac_cv_c_altivec="-fvec"], - [ac_cv_c_altivec=no]) - ]) - ]) - CFLAGS="${CFLAGS_save}"]) if test "${ac_cv_c_altivec}" != "no"; then AC_DEFINE(CAN_COMPILE_C_ALTIVEC, 1, Define if your compiler groks C AltiVec extensions.) VLC_ADD_CFLAGS([vlc],[${ac_cv_c_altivec}]) @@ -1174,7 +1249,9 @@ AC_ARG_WITH(tuning, [ --with-tuning=ARCH enable special tuning for an architecture (default Pentium 2 on IA-32 and 750 on PPC)]) if test -n "${with_tuning}"; then - CFLAGS_TUNING="-mtune=${with_tuning}" + if test "${with_tuning}" != "no"; then + CFLAGS_TUNING="-mtune=${with_tuning}" + fi else if test "${target_cpu}" = "i686" -o "${target_cpu}" = "i586" -o "${target_cpu}" = "i486" -o "${target_cpu}" = "i386"; then CFLAGS_TUNING="-mtune=pentium2" @@ -1183,20 +1260,23 @@ else elif test "${target_cpu}" = "powerpc"; then CFLAGS_TUNING="-mtune=750"; fi +fi - dnl NOTE: this can't be cached cleanly - AS_IF([test "${CFLAGS_TUNING}"], - [CFLAGS_save="${CFLAGS}" - CFLAGS="${CFLAGS} ${CFLAGS_TUNING}" +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_CHECKING([whether $CC accepts ${CFLAGS_TUNING}]) + AC_COMPILE_IFELSE([ ], + [tuning="yes"], + [CFLAGS_TUNING=""; tuning="no" + AS_IF([test "${with_tuning}"], + [AC_MSG_ERROR([requested tuning not supported])])]) - AC_MSG_RESULT([$tuning]) - CFLAGS="${CFLAGS_save}" - ]) -fi + AC_MSG_RESULT([$tuning]) + CFLAGS="${CFLAGS_save}" +]) dnl dnl x86 accelerations @@ -1247,6 +1327,15 @@ AC_ARG_ENABLE(release, [ --enable-release activate extra optimizations (default disabled)]) test "${enable_release}" != "yes" && enable_release="no" +dnl +dnl Is the shared libvlc forced ? +dnl +build_pic=no +AC_ARG_ENABLE(shared-libvlc, + [ --enable-shared-libvlc shared libvlc (default disabled EXPERIMENTAL)], + ,[shared_libvlc=no]) + + dnl dnl Stream output dnl @@ -1265,6 +1354,18 @@ then AC_DEFINE(ENABLE_SOUT, 1, Define if you want the stream output support) fi +dnl Check for libshout +AC_ARG_ENABLE(shout, + [ --enable-shout libshout output plugin (default disabled)]) +if test "${enable_shout}" = "yes"; then + PKG_CHECK_MODULES(SHOUT, shout >= 2.1, + [AC_DEFINE(HAVE_SHOUT, [], [Define if you have the libshout library]) + VLC_ADD_PLUGINS([access_output_shout]) + VLC_ADD_LDFLAGS([vlc access_output_shout],[$SHOUT_LIBS]) + VLC_ADD_CFLAGS([vlc access_output_shout],[$SHOUT_CFLAGS])], + [AC_MSG_WARN(libshout library not found)]) +fi + dnl dnl HTTP daemon dnl @@ -1328,7 +1429,7 @@ AC_ARG_WITH(,[Input plugins:]) dnl live.com input dnl AC_ARG_ENABLE(livedotcom, -[ --enable-livedotcom live.com input plugin (default disabled)]) +[ --enable-livedotcom live.com RTSP input plugin (default disabled)]) if test "${enable_livedotcom}" = "yes"; then AC_ARG_WITH(livedotcom-tree, [ --with-livedotcom-tree=PATH live.com tree for static linking]) @@ -1396,6 +1497,128 @@ if test "${enable_livedotcom}" = "yes"; then fi fi +dnl +dnl dv module: digital video module check for libraw1394 +dnl +AC_ARG_ENABLE(dv, +[ --enable-dv dv input module (default disabled)]) +if test "${enable_dv}" = "yes" +then + AC_ARG_WITH(dv-raw1394, + [ --with-dv-raw1394=PATH libraw1394 headers and libraries]) + AC_ARG_WITH(dv-raw1394-tree, + [ --with-dv-raw1394=PATH libraw1394 tree for static linking]) + + if test -z "${with_dv_raw1394}" -a "${with_dv_raw1394}" != "" + then + AC_MSG_CHECKING(for raw1394 headers in ${with_dv_raw1394}) + if test -f ${with_dv_raw1394}/include/libraw1394/raw1394.h + then + dnl Use ${with_dv_raw1394}/include/libraw1394/raw1394.h + AC_MSG_RESULT(yes) + VLC_ADD_PLUGINS([access_dv]) + VLC_ADD_LDFLAGS([access_dv],[-L${with_dv_raw1394}/lib -lraw1394 -lpthread]) + VLC_ADD_CPPFLAGS([access_dv],[-I${with_dv_raw1394}/include]) + else + dnl No libraw1394 could be found, sorry + AC_MSG_RESULT(no) + AC_MSG_ERROR([cannot find ${with_dv_raw1394}/include/libraw1394/raw1394.h]) + fi + else + AC_CHECK_HEADERS(libraw1394/raw1394.h, + [ VLC_ADD_PLUGINS([access_dv]) + VLC_ADD_LDFLAGS([access_dv],[-lraw1394 -lavc1394]) + ],[ + if test -n "${enable_dv}" + then + AC_MSG_ERROR([cannot find libraw1394 headers]) + fi + ]) + fi + + dnl Check for static linking of libraw1394 + if test -z "${with_dv_raw1394_tree}" -a "${with_dv_raw1394_tree}" != "" + then + AC_MSG_CHECKING(for libraw1394.a in ${with_dv_raw1394_tree}) + real_dv_raw1394_tree="`cd ${with_dv_raw1394_tree} 2>/dev/null && pwd`" + if test -z "${real_dv_raw1394_tree}" + then + dnl The given directory can't be found + AC_MSG_RESULT(no) + AC_MSG_ERROR([cannot cd to ${real_dv_raw1394_tree}]) + fi + if test -f "${real_dv_raw1394_tree}/src/.libs/libraw1394.a" + then + dnl Use a custom libraw1394 + AC_MSG_RESULT(${real_dv_raw1394_tree}/src/.libs/libraw1394.a) + VLC_ADD_BUILTINS([access_dv]) + VLC_ADD_LDFLAGS([access_dv],[-L${real_dv_raw1394_tree}/src/.libs -lraw1394]) + VLC_ADD_CPPFLAGS([access_dv],[-I${real_dv_raw1394_tree}]) + else + dnl The given libraw1394 wasn't built + AC_MSG_RESULT(no) + AC_MSG_ERROR([cannot find ${real_dv_raw1394_tree}/src/.libs/libraw1394.a, make sure you compiled libraw1394 in ${with_dv_raw1394_tree}]) + fi + fi + + dnl + dnl Check for libavc1394 + dnl + + AC_ARG_WITH(dv-avc1394, + [ --with-dv-avc1394=PATH libavc1394 headers and libraries]) + AC_ARG_WITH(dv-avc1394-tree, + [ --with-dv-avc1394=PATH libavc1394 tree for static linking]) + + if test -z "${with_dv_avc1394}" -a "${with_dv_avc1394}" != "" + then + AC_MSG_CHECKING(for avc1394 headers in ${with_dv_avc1394}) + if test -f ${with_dv_avc1394}/include/libavc1394/avc1394.h + then + dnl Use ${with_dv_avc1394}/include/libavc1394/avc1394.h + AC_MSG_RESULT(yes) + VLC_ADD_LDFLAGS([access_dv],[-L${with_dv_avc1394}/lib -lavc1394 -lrom1394 -lpthread]) + VLC_ADD_CPPFLAGS([access_dv],[-I${with_avc1394}/include]) + else + dnl No libavc1394 could be found, sorry + AC_MSG_RESULT(no) + AC_MSG_ERROR([cannot find ${with_dv_avc1394}/include/libavc1394/avc1394.h]) + fi + else + AC_CHECK_HEADERS(libavc1394/avc1394.h, + [ VLC_ADD_LDFLAGS([access_dv],[-lavc1394 -lrom1394 -lpthread]) + ],[ + if test -n "${enable_dv}" + then + AC_MSG_ERROR([cannot find libavc1394 headers]) + fi + ]) + fi + + dnl Check for static linking of libavc1394 + if test -z "${with_dv_avc1394_tree}" -a "${with_dv_avc1394_tree}" != "" + then + AC_MSG_CHECKING(for libavc1394.a in ${with_dv_avc1394_tree}) + real_dv_avc1394_tree="`cd ${with_dv_avc1394_tree} 2>/dev/null && pwd`" + if test -z "${real_dv_avc1394_tree}" + then + dnl The given directory can't be found + AC_MSG_RESULT(no) + AC_MSG_ERROR([cannot cd to ${real_dv_avc1394_tree}]) + fi + if test -f "${real_dv_avc1394_tree}/src/.libs/libavc1394.a" + then + dnl Use a custom libavc1394 + AC_MSG_RESULT(${real_dv_avc1394_tree}/src/.libs/libavc1394.a) + VLC_ADD_LDFLAGS([access_dv],[-L${real_dv_avc1394_tree}/src/.libs -lavc1394 -lrom1394 -lpthread]) + VLC_ADD_CPPFLAGS([access_dv],[-I${real_dv_avc1394_tree}]) + else + dnl The given libavc1394 wasn't built + AC_MSG_RESULT(no) + AC_MSG_ERROR([cannot find ${real_dv_avc1394_tree}/src/.libs/libavc1394.a, make sure you compiled libavc1394 in ${with_dv_avc1394_tree}]) + fi + fi +fi dnl dnl dvdread module: check for libdvdread @@ -1503,10 +1726,12 @@ if test "${enable_dshow}" != "no" then if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin" then + AC_LANG_PUSH(C++) AC_CHECK_HEADERS(dshow.h, [ VLC_ADD_PLUGINS([dshow]) VLC_ADD_CXXFLAGS([dshow],[]) VLC_ADD_LDFLAGS([dshow],[-lole32 -loleaut32 -luuid]) ]) + AC_LANG_POP(C++) fi fi @@ -1522,6 +1747,9 @@ if test "${enable_smb}" != "no"; then [ if test -n "${enable_smb}"; then AC_MSG_ERROR([cannot find libsmbclient headers]) fi ]) + AC_CHECK_MEMBER([struct _SMBCCTX.close_fn], + AC_DEFINE([HAVE__SMBCCTX_CLOSE_FN], [1], [Define if samba has _SMBCCTX.close_fn]),, + [#include ]) fi dnl @@ -1573,7 +1801,7 @@ 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]) + VLC_ADD_LDFLAGS([mux_ts ts dvb],[${real_dvbpsi_tree}/src/.libs/libdvbpsi.a]) else dnl The given libdvbpsi wasn't built AC_MSG_RESULT(no) @@ -1612,6 +1840,10 @@ then CPPFLAGS="${CPPFLAGS_save}" ;; esac + AC_CHECK_LIB(dvbpsi, dvbpsi_GenSDTSections, [ + AC_DEFINE(HAVE_DVBPSI_SDT, 1, [Define if you have dvbpsi_GenSDTSections.]) + ], [], [${LDFLAGS_ts}]) + fi dnl @@ -1645,10 +1877,26 @@ then VLC_ADD_PLUGINS([pvr]) fi +dnl +dnl gnomeVFS access module +dnl +AC_ARG_ENABLE(gnomevfs, + [ --enable-gnomevfs GnomeVFS access module (default enabled)]) +if test "${enable_gnomevfs}" != "no" -a "${SYS}" = "linux" +then + PKG_CHECK_MODULES(GNOMEVFS, gnome-vfs-2.0, + VLC_ADD_LDFLAGS([access_gnomevfs],[$GNOMEVFS_LIBS]) + VLC_ADD_CPPFLAGS([access_gnomevfs],[$GNOMEVFS_CPPFLAGS]) + VLC_ADD_CFLAGS([access_gnomevfs],[$GNOMEVFS_CFLAGS]) + VLC_ADD_PLUGINS([access_gnomevfs]), + AC_MSG_WARN([GnomeVFS support disabled because GnomeVFS development headers not found])) +fi + 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" @@ -1851,10 +2099,10 @@ have_ipv6=no AC_CHECK_FUNCS(inet_pton,[have_ipv6=yes],[ AC_CHECK_LIB(resolv,inet_pton, [have_ipv6=yes - VLC_ADD_LDFLAGS([ipv6],[-lresolv])]) + VLC_ADD_LDFLAGS([ipv6 vlc],[-lresolv])]) ]) -AS_IF([test "${have_ipv6}" == "yes"], [ +AS_IF([test "${have_ipv6}" = "yes"], [ AC_DEFINE(HAVE_INET_PTON, 1, [Define to 1 if you have inet_pton().])]) if test "${SYS}" != "nto" && @@ -1880,14 +2128,43 @@ AC_ARG_ENABLE(ogg, [ --enable-ogg Ogg demux support (default enabled)]) if test "${enable_ogg}" != "no" then - AC_CHECK_HEADERS(ogg/ogg.h, [ - AC_CHECK_LIB( ogg, oggpack_read, [ + AC_ARG_WITH(ogg-tree, + [ --with-ogg-tree=PATH ogg tree for static linking]) + if test -n "${with_ogg_tree}" + then + AC_MSG_CHECKING(for libogg.a in ${with_ogg_tree}) + real_ogg_tree="`cd ${with_ogg_tree} 2>/dev/null && pwd`" + if test -z "${real_ogg_tree}" + then + dnl The given directory can't be found + AC_MSG_RESULT(no) + AC_MSG_ERROR([cannot cd to ${with_ogg_tree}]) + fi + if test -f "${real_ogg_tree}/src/.libs/libogg.a" + then + dnl Use a custom ogg + AC_MSG_RESULT(${real_ogg_tree}/src/.libs/libogg.a) VLC_ADD_PLUGINS([ogg]) if test "${enable_sout}" != "no"; then VLC_ADD_PLUGINS([mux_ogg]) fi - VLC_ADD_LDFLAGS([ogg mux_ogg],[-logg])]) - ],[]) + VLC_ADD_LDFLAGS([ogg mux_ogg speex vorbis],[${real_ogg_tree}/src/.libs/libogg.a]) + VLC_ADD_CFLAGS([ogg mux_ogg speex vorbis],[-I${real_ogg_tree}/include]) + else + dnl The given ogg wasn't built + AC_MSG_RESULT(no) + AC_MSG_ERROR([cannot find ${real_ogg_tree}/src/.libs/libogg.a, make sure you compiled ogg in ${with_ogg_tree}]) + fi + else + AC_CHECK_HEADERS(ogg/ogg.h, [ + AC_CHECK_LIB( ogg, oggpack_read, [ + VLC_ADD_PLUGINS([ogg]) + if test "${enable_sout}" != "no"; then + VLC_ADD_PLUGINS([mux_ogg]) + fi + VLC_ADD_LDFLAGS([ogg mux_ogg],[-logg])]) + ],[]) + fi fi dnl @@ -1898,11 +2175,11 @@ AC_ARG_ENABLE(mkv, if test "${enable_mkv}" != "no" -a "${CXX}" != ""; then AC_LANG_PUSH(C++) AC_CHECK_HEADERS(ebml/EbmlVersion.h, [ - AC_MSG_CHECKING(for libebml version >= 0.7.3) + AC_MSG_CHECKING(for libebml version >= 0.7.6) AC_EGREP_CPP(yes, [#include #ifdef LIBEBML_VERSION - #if LIBEBML_VERSION >= 0x000703 + #if LIBEBML_VERSION >= 0x000706 yes #endif #endif], @@ -1953,12 +2230,51 @@ 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])]) + AC_ARG_WITH(mod-tree, + [ --with-mod-tree=PATH mod tree for static linking]) + if test -n "${with_mod_tree}" + then + AC_MSG_CHECKING(for libmodplug.a in ${with_mod_tree}) + real_mod_tree="`cd ${with_mod_tree} 2>/dev/null && pwd`" + if test -z "${real_mod_tree}" + then + dnl The given directory can't be found + AC_MSG_RESULT(no) + AC_MSG_ERROR([cannot cd to ${with_mod_tree}]) + fi + if test -f "${real_mod_tree}/src/.libs/libmodplug.a" + then + dnl Use a custom mod + AC_MSG_RESULT(${real_mod_tree}/src/.libs/libmodplug.a) + VLC_ADD_PLUGINS([mod]) + VLC_ADD_LDFLAGS([mod],[${real_mod_tree}/src/.libs/libmodplug.a]) + VLC_ADD_CFLAGS([mod],[-I${real_mod_tree}/include]) + else + dnl The given mod wasn't built + AC_MSG_RESULT(no) + AC_MSG_ERROR([cannot find ${real_mod_tree}/src/.libs/libmodplug.a, make sure you compiled mod in ${with_mod_tree}]) + fi + else + AC_CHECK_HEADERS(libmodplug/modplug.h, [ + VLC_ADD_PLUGINS([mod]) + VLC_ADD_CXXFLAGS([mod],[]) + VLC_ADD_LDFLAGS([mod],[-lmodplug])]) + fi +fi + +dnl +dnl mpc demux plugin +dnl +AC_ARG_ENABLE(mpc, + [ --enable-mpc Mpc demux support (default enabled)]) +if test "${enable_mpc}" != "no" +then + AC_CHECK_HEADERS(mpcdec/mpcdec.h, [ + VLC_ADD_PLUGINS([mpc]) + VLC_ADD_LDFLAGS([mpc],[-lmpcdec])]) fi + dnl dnl Codec plugins dnl @@ -2034,59 +2350,169 @@ AC_CHECK_HEADERS(id3tag.h, [ dnl dnl ffmpeg decoder/demuxer plugin dnl +dnl we try to find ffmpeg using : 1- given tree 2- ffmpeg-config, 3- pkg-config +dnl 4- default place, + AC_ARG_ENABLE(ffmpeg, [ --enable-ffmpeg ffmpeg codec (default enabled)]) if test "${enable_ffmpeg}" != "no" then + +dnl Those options have to be here because the .pc can be bogus for ffmpeg previous nov 05 + + AC_ARG_WITH(ffmpeg-mp3lame, + [ --with-ffmpeg-mp3lame specify if ffmpeg has been compiled with mp3lame support], + [ + if test "$with_ffmpeg_mp3lame" = "yes"; then + VLC_ADD_LDFLAGS([ffmpeg],[-lmp3lame]) + fi]) + + AC_ARG_WITH(ffmpeg-faac, + [ --with-ffmpeg-faac specify if ffmpeg has been compiled with faac support], + [ + if test "$with_ffmpeg_faac" = "yes"; then + VLC_ADD_LDFLAGS([ffmpeg],[-lfaac]) + fi]) + + AC_ARG_WITH(ffmpeg-dts, + [ --with-ffmpeg-dts specify if ffmpeg has been compiled with dts support], + [ + if test "$with_ffmpeg_dts" = "yes"; then + LDFLAGS="${LDFLAGS_save} ${LDFLAGS_ffmpeg}" + AC_CHECK_LIB(dts_pic, dts_free, + [ VLC_ADD_LDFLAGS([ffmpeg],[-ldts_pic]) ], + [ VLC_ADD_LDFLAGS([ffmpeg],[-ldts]) ]) + LDFLAGS="${LDFLAGS_save}" + fi]) + + AC_ARG_WITH(ffmpeg-zlib, + [ --with-ffmpeg-zlib specify if ffmpeg has been compiled with zlib support], + [ + if test "$with_ffmpeg_zlib" = "yes"; then + VLC_ADD_LDFLAGS([ffmpeg],[-lz]) + fi]) + + dnl + dnl test for --with-ffmpeg-tree + dnl + AC_ARG_WITH(ffmpeg-tree, + [ --with-ffmpeg-tree=PATH ffmpeg tree for static linking]) + + if test "${with_ffmpeg_tree}" != "no" -a -n "${with_ffmpeg_tree}"; then + AC_MSG_CHECKING(for libavcodec.a in ${with_ffmpeg_tree}) + real_ffmpeg_tree="`cd ${with_ffmpeg_tree} 2>/dev/null && pwd`" + if test -z "${real_ffmpeg_tree}"; then + dnl The given directory can't be found + AC_MSG_RESULT(no) + AC_MSG_ERROR([cannot cd to ${with_ffmpeg_tree}]) + fi + if ! test -f "${real_ffmpeg_tree}/libavcodec/libavcodec.a"; then + dnl The given libavcodec wasn't built + AC_MSG_RESULT(no) + AC_MSG_ERROR([cannot find ${real_ffmpeg_tree}/libavcodec/libavcodec.a, make sure you compiled libavcodec in ${with_ffmpeg_tree}]) + fi + if ! fgrep -s "pp_get_context" "${real_ffmpeg_tree}/libavcodec/libavcodec.a"; then + dnl The given libavcodec wasn't built with --enable-pp + AC_MSG_RESULT(no) + AC_MSG_ERROR([${real_ffmpeg_tree}/libavcodec/libavcodec.a was not compiled with postprocessing support, make sure you configured ffmpeg with --enable-pp]) + fi + dnl Use a custom libffmpeg + AC_MSG_RESULT(${real_ffmpeg_tree}/libavcodec/libavcodec.a) + + if fgrep -s "CONFIG_ZLIB=yes" "${real_ffmpeg_tree}/config.mak"; then + if test "${with_ffmpeg_zlib}" != "yes"; then + VLC_ADD_LDFLAGS([ffmpeg],[-lz]) + fi + fi + if fgrep -s "CONFIG_MP3LAME=yes" "${real_ffmpeg_tree}/config.mak"; then + if test "${with_ffmpeg_mp3lame}" != "yes"; then + VLC_ADD_LDFLAGS([ffmpeg],[-lmp3lame]) + fi + fi + if fgrep -s "CONFIG_FAAC=yes" "${real_ffmpeg_tree}/config.mak"; then + if test "${with_ffmpeg_faac}" != "yes"; then + VLC_ADD_LDFLAGS([ffmpeg],[-lfaac]) + fi + fi + if fgrep -s "CONFIG_DTS=yes" "${real_ffmpeg_tree}/config.mak"; then + if test "${with_ffmpeg_dts}" != "yes"; then + LDFLAGS="${LDFLAGS_save} ${LDFLAGS_ffmpeg}" + AC_CHECK_LIB(dts_pic, dts_free, + [ VLC_ADD_LDFLAGS([ffmpeg],[-ldts_pic]) ], + [ VLC_ADD_LDFLAGS([ffmpeg],[-ldts]) ]) + LDFLAGS="${LDFLAGS_save}" + fi + fi + if fgrep -s "CONFIG_VORBIS=yes" "${real_ffmpeg_tree}/config.mak"; then + VLC_ADD_LDFLAGS([ffmpeg],[-lvorbis -lvorbisenc]) + fi + if fgrep -s "CONFIG_FAAD=yes" "${real_ffmpeg_tree}/config.mak"; then + VLC_ADD_LDFLAGS([ffmpeg],[-lfaad]) + fi + if fgrep -s "CONFIG_XVID=yes" "${real_ffmpeg_tree}/config.mak"; then + VLC_ADD_LDFLAGS([ffmpeg],[-lxvidcore]) + fi + + VLC_ADD_BUILTINS([ffmpeg]) + if test "${enable_sout}" != "no"; then + VLC_ADD_BUILTINS([stream_out_switcher]) + fi + + if test -f "${real_ffmpeg_tree}/libavutil/libavutil.a"; then + VLC_ADD_LDFLAGS([ffmpeg],[-L${real_ffmpeg_tree}/libavutil ${real_ffmpeg_tree}/libavutil/libavutil.a]) + VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher],[-I${real_ffmpeg_tree}/libavutil]) + fi + + VLC_ADD_LDFLAGS([ffmpeg],[-L${real_ffmpeg_tree}/libavcodec ${real_ffmpeg_tree}/libavcodec/libavcodec.a]) + VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher],[-I${real_ffmpeg_tree}/libavcodec]) + + if test -f "${real_ffmpeg_tree}/libavformat/libavformat.a"; then + AC_DEFINE(HAVE_LIBAVFORMAT, 1, [Define if you have ffmpeg's libavformat.]) + VLC_ADD_LDFLAGS([ffmpeg],[-L${real_ffmpeg_tree}/libavformat ${real_ffmpeg_tree}/libavformat/libavformat.a]) + VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher],[-I${real_ffmpeg_tree}/libavformat]) + fi +else + dnl Look for a ffmpeg-config (we are on debian ) - FFMPEG_PATH="${PATH}" - AC_ARG_WITH(ffmpeg-config-path, - [ --with-ffmpeg-config-path=PATH ffmpeg-config path (default search in \$PATH)], - [ if test "${with_ffmpeg_config_path}" != "no" - then - FFMPEG_PATH="${with_ffmpeg_config_path}" - fi ]) - AC_PATH_PROG(FFMPEG_CONFIG, ffmpeg-config, no, ${FFMPEG_PATH}) - if test "${FFMPEG_CONFIG}" != "no" - then + FFMPEG_PATH="${PATH}" + AC_ARG_WITH(ffmpeg-config-path, + [ --with-ffmpeg-config-path=PATH ffmpeg-config path (default search in \$PATH)], + [ if test "${with_ffmpeg_config_path}" != "no" + then + FFMPEG_PATH="${with_ffmpeg_config_path}" + fi ]) + AC_PATH_PROG(FFMPEG_CONFIG, ffmpeg-config, no, ${FFMPEG_PATH}) + if test "${FFMPEG_CONFIG}" != "no" + then + AC_CHECK_HEADERS(ffmpeg/avcodec.h) + AC_CHECK_HEADERS(postproc/postprocess.h) + VLC_ADD_PLUGINS([ffmpeg]) + if test "${enable_sout}" != "no"; then + VLC_ADD_PLUGINS([stream_out_switcher]) + fi + VLC_ADD_CFLAGS([ffmpeg stream_out_switcher],[`${FFMPEG_CONFIG} --cflags`]) + VLC_ADD_LDFLAGS([ffmpeg stream_out_switcher],[`${FFMPEG_CONFIG} --plugin-libs avcodec avformat postproc`]) + + else + +dnl Trying with pkg-config + PKG_CHECK_MODULES(FFMPEG,[libavcodec, libavformat], + [ AC_CHECK_HEADERS(ffmpeg/avcodec.h) AC_CHECK_HEADERS(postproc/postprocess.h) - VLC_ADD_PLUGINS([ffmpeg]) + VLC_ADD_BUILTINS([ffmpeg]) if test "${enable_sout}" != "no"; then - VLC_ADD_PLUGINS([stream_out_switcher]) + VLC_ADD_BUILTINS([stream_out_switcher]) fi - VLC_ADD_CFLAGS([ffmpeg stream_out_switcher],[`${FFMPEG_CONFIG} --cflags`]) - VLC_ADD_LDFLAGS([ffmpeg stream_out_switcher],[`${FFMPEG_CONFIG} --plugin-libs avcodec avformat postproc`]) - - else - AC_ARG_WITH(ffmpeg-mp3lame, - [ --with-ffmpeg-mp3lame specify if ffmpeg has been compiled with mp3lame support], - [ - VLC_ADD_LDFLAGS([ffmpeg],[-lmp3lame]) ]) - - AC_ARG_WITH(ffmpeg-faac, - [ --with-ffmpeg-faac specify if ffmpeg has been compiled with faac support], - [ - VLC_ADD_LDFLAGS([ffmpeg],[-lfaac]) ]) - - AC_ARG_WITH(ffmpeg-dts, - [ --with-ffmpeg-dts specify if ffmpeg has been compiled with dts support], - [ - VLC_ADD_LDFLAGS([ffmpeg],[-ldts]) ]) - - AC_ARG_WITH(ffmpeg-zlib, - [ --with-ffmpeg-zlib specify if ffmpeg has been compiled with zlib support], - [ - VLC_ADD_LDFLAGS([ffmpeg],[-lz]) ]) - - AC_ARG_WITH(ffmpeg-tree, - [ --with-ffmpeg-tree=PATH ffmpeg tree for static linking]) + VLC_ADD_CFLAGS([ffmpeg stream_out_switcher],[${FFMPEG_CFLAGS}]) + VLC_ADD_LDFLAGS([ffmpeg],[${FFMPEG_LIBS}]) + ],[ + dnl - dnl test for !(--with-ffmpeg-tree) + dnl last chance: at the default place dnl - if test "${with_ffmpeg_tree}" = "no" -o -z "${with_ffmpeg_tree}"; then CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_ffmpeg}" LDFLAGS="${LDFLAGS_save} ${LDFLAGS_ffmpeg}" AC_CHECK_HEADERS(ffmpeg/avcodec.h, [], [AC_MSG_ERROR([Missing header file ffmpeg/avcodec.h.])] ) @@ -2098,6 +2524,8 @@ dnl Look for a ffmpeg-config (we are on debian ) AC_CHECK_LIB(avcodec, avcodec_init, [ VLC_ADD_BUILTINS([ffmpeg]) + + VLC_ADD_LDFLAGS([ffmpeg],[-lavcodec]) if test "${enable_sout}" != "no"; then VLC_ADD_BUILTINS([stream_out_switcher]) @@ -2106,93 +2534,20 @@ dnl Look for a ffmpeg-config (we are on debian ) AC_CHECK_LIB(avformat, av_open_input_stream, [ AC_DEFINE(HAVE_LIBAVFORMAT, 1, [Define if you have ffmpeg's libavformat.]) - VLC_ADD_LDFLAGS([ffmpeg],[-lavformat -lz]) ], [], [-lavcodec -lz]) + VLC_ADD_LDFLAGS([ffmpeg],[-lavformat -lz]) ], [], [-lavcodec -lz $LDAVUTIL]) LDFLAGS="${LDFLAGS_save}" CPPFLAGS="${CPPFLAGS_save}" - fi - - dnl - dnl test for --with-ffmpeg-tree - dnl - if test "${with_ffmpeg_tree}" != "no" -a -n "${with_ffmpeg_tree}"; then - AC_MSG_CHECKING(for libavcodec.a in ${with_ffmpeg_tree}) - real_ffmpeg_tree="`cd ${with_ffmpeg_tree} 2>/dev/null && pwd`" - if test -z "${real_ffmpeg_tree}"; then - dnl The given directory can't be found - AC_MSG_RESULT(no) - AC_MSG_ERROR([cannot cd to ${with_ffmpeg_tree}]) - fi - if ! test -f "${real_ffmpeg_tree}/libavcodec/libavcodec.a"; then - dnl The given libavcodec wasn't built - AC_MSG_RESULT(no) - AC_MSG_ERROR([cannot find ${real_ffmpeg_tree}/libavcodec/libavcodec.a, make sure you compiled libavcodec in ${with_ffmpeg_tree}]) - fi - if ! fgrep -s "pp_get_context" "${real_ffmpeg_tree}/libavcodec/libavcodec.a"; then - dnl The given libavcodec wasn't built with --enable-pp - AC_MSG_RESULT(no) - AC_MSG_ERROR([${real_ffmpeg_tree}/libavcodec/libavcodec.a was not compiled with postprocessing support, make sure you configured ffmpeg with --enable-pp]) - fi - dnl Use a custom libffmpeg - AC_MSG_RESULT(${real_ffmpeg_tree}/libavcodec/libavcodec.a) - - if fgrep -s "CONFIG_ZLIB=yes" "${real_ffmpeg_tree}/config.mak"; then - if test "${with_ffmpeg_zlib}" != "yes"; then - VLC_ADD_LDFLAGS([ffmpeg],[-lz]) - fi - fi - if fgrep -s "CONFIG_MP3LAME=yes" "${real_ffmpeg_tree}/config.mak"; then - if test "${with_ffmpeg_mp3lame}" != "yes"; then - VLC_ADD_LDFLAGS([ffmpeg],[-lmp3lame]) - fi - fi - if fgrep -s "CONFIG_FAAC=yes" "${real_ffmpeg_tree}/config.mak"; then - if test "${with_ffmpeg_faac}" != "yes"; then - VLC_ADD_LDFLAGS([ffmpeg],[-lfaac]) - fi - fi - if fgrep -s "CONFIG_DTS=yes" "${real_ffmpeg_tree}/config.mak"; then - if test "${with_ffmpeg_dts}" != "yes"; then - VLC_ADD_LDFLAGS([ffmpeg],[-ldts]) - fi - fi - if fgrep -s "CONFIG_VORBIS=yes" "${real_ffmpeg_tree}/config.mak"; then - VLC_ADD_LDFLAGS([ffmpeg],[-lvorbis -lvorbisenc]) - fi - if fgrep -s "CONFIG_FAAD=yes" "${real_ffmpeg_tree}/config.mak"; then - VLC_ADD_LDFLAGS([ffmpeg],[-lfaad]) - fi - if fgrep -s "CONFIG_XVID=yes" "${real_ffmpeg_tree}/config.mak"; then - VLC_ADD_LDFLAGS([ffmpeg],[-lxvidcore]) - fi - - VLC_ADD_BUILTINS([ffmpeg]) - if test "${enable_sout}" != "no"; then - VLC_ADD_BUILTINS([stream_out_switcher]) - fi - - if test -f "${real_ffmpeg_tree}/libavutil/libavutil.a"; then - VLC_ADD_LDFLAGS([ffmpeg],[-L${real_ffmpeg_tree}/libavutil ${real_ffmpeg_tree}/libavutil/libavutil.a]) - VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher],[-I${real_ffmpeg_tree}/libavutil]) - fi - - VLC_ADD_LDFLAGS([ffmpeg],[-L${real_ffmpeg_tree}/libavcodec ${real_ffmpeg_tree}/libavcodec/libavcodec.a]) - VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher],[-I${real_ffmpeg_tree}/libavcodec]) - - if test -f "${real_ffmpeg_tree}/libavformat/libavformat.a"; then - AC_DEFINE(HAVE_LIBAVFORMAT, 1, [Define if you have ffmpeg's libavformat.]) - VLC_ADD_LDFLAGS([ffmpeg],[-L${real_ffmpeg_tree}/libavformat ${real_ffmpeg_tree}/libavformat/libavformat.a]) - VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher],[-I${real_ffmpeg_tree}/libavformat]) - fi - fi + ]) fi + fi fi dnl -dnl ffmpeg decoder/demuxer plugin +dnl ffmpegaltivec plugin dnl AC_ARG_ENABLE(ffmpegaltivec, [ --enable-ffmpegaltivec ffmpegaltivec codec (DO NOT USE)]) -if test "${enable_ffmpegaltivec}" == "yes" +if test "${enable_ffmpegaltivec}" = "yes" then if test "${with_ffmpeg_tree}" != "no" -a -n "${with_ffmpeg_tree}"; then AC_MSG_CHECKING(for libavcodecaltivec.a in ${with_ffmpeg_tree}) @@ -2340,6 +2695,24 @@ then fi fi +dnl +dnl Real plugin +dnl +AC_ARG_ENABLE(real, + [ --enable-real Real audio module (default disabled)]) +if test "${enable_real}" = "yes"; then + VLC_ADD_PLUGINS([realaudio]) +fi + +dnl +dnl Real RTSP plugin +dnl +AC_ARG_ENABLE(realrtsp, + [ --enable-realrtsp Real RTSP module (default disabled)]) +if test "${enable_realrtsp}" = "yes"; then + VLC_ADD_PLUGINS([access_realrtsp]) +fi + dnl dnl MP4 module dnl @@ -2509,9 +2882,35 @@ AC_ARG_ENABLE(flac, [ --enable-flac flac decoder support (default disabled)]) if test "${enable_flac}" = "yes" then - AC_CHECK_HEADERS(FLAC/stream_decoder.h, [ - VLC_ADD_LDFLAGS([flacdec],[-lFLAC]) - ],[]) + AC_ARG_WITH(flac-tree, + [ --with-flac-tree=PATH flac tree for static linking]) + if test -n "${with_flac_tree}" + then + AC_MSG_CHECKING(for libFLAC.a in ${with_flac_tree}) + real_flac_tree="`cd ${with_flac_tree} 2>/dev/null && pwd`" + if test -z "${real_flac_tree}" + then + dnl The given directory can't be found + AC_MSG_RESULT(no) + AC_MSG_ERROR([cannot cd to ${with_flac_tree}]) + fi + if test -f "${real_flac_tree}/src/libFLAC/.libs/libFLAC.a" + then + dnl Use a custom flac + AC_MSG_RESULT(${real_flac_tree}/src/libFLAC/.libs/libFLAC.a) + VLC_ADD_LDFLAGS([flacdec],[${real_flac_tree}/src/libFLAC/.libs/libFLAC.a]) + VLC_ADD_CFLAGS([flacdec],[-I${real_flac_tree}/include]) + AC_DEFINE(HAVE_FLAC_STREAM_DECODER_H, 1, [Define if you have FLAC]) + else + dnl The given flac wasn't built + AC_MSG_RESULT(no) + AC_MSG_ERROR([cannot find ${real_flac_tree}/src/libFLAC/.libs/libFLAC.a, make sure you compiled flac in ${with_flac_tree}]) + fi + else + AC_CHECK_HEADERS(FLAC/stream_decoder.h, [ + VLC_ADD_LDFLAGS([flacdec],[-lFLAC]) + ],[]) + fi fi dnl @@ -2574,12 +2973,38 @@ AC_ARG_ENABLE(vorbis, [ --enable-vorbis Vorbis decoder support (default enabled)]) if test "${enable_vorbis}" != "no" then - AC_CHECK_HEADERS(vorbis/codec.h, [ - VLC_ADD_PLUGINS([vorbis]) - VLC_ADD_LDFLAGS([vorbis],[-lvorbis -logg]) ],[]) + AC_ARG_WITH(vorbis-tree, + [ --with-vorbis-tree=PATH vorbis tree for static linking]) + if test -n "${with_vorbis_tree}" + then + AC_MSG_CHECKING(for libvorbis.a in ${with_vorbis_tree}) + real_vorbis_tree="`cd ${with_vorbis_tree} 2>/dev/null && pwd`" + if test -z "${real_vorbis_tree}" + then + dnl The given directory can't be found + AC_MSG_RESULT(no) + AC_MSG_ERROR([cannot cd to ${with_vorbis_tree}]) + fi + if test -f "${real_vorbis_tree}/lib/.libs/libvorbis.a" + then + dnl Use a custom vorbis + AC_MSG_RESULT(${real_vorbis_tree}/lib/.libs/libvorbis.a) + VLC_ADD_PLUGINS([vorbis]) + VLC_ADD_LDFLAGS([vorbis],[${real_vorbis_tree}/lib/.libs/libvorbis.a ${real_vorbis_tree}/lib/.libs/libvorbisenc.a]) + VLC_ADD_CFLAGS([vorbis],[-I${real_vorbis_tree}/include]) + else + dnl The given vorbis wasn't built + AC_MSG_RESULT(no) + AC_MSG_ERROR([cannot find ${real_vorbis_tree}/lib/.libs/libvorbis.a, make sure you compiled vorbis in ${with_vorbis_tree}]) + fi + else + AC_CHECK_HEADERS(vorbis/codec.h, [ + VLC_ADD_PLUGINS([vorbis]) + VLC_ADD_LDFLAGS([vorbis],[-lvorbis -logg]) ],[]) - AC_CHECK_HEADERS(vorbis/vorbisenc.h, [ - VLC_ADD_LDFLAGS([vorbis],[-lvorbisenc]) ],[]) + AC_CHECK_HEADERS(vorbis/vorbisenc.h, [ + VLC_ADD_LDFLAGS([vorbis],[-lvorbisenc]) ],[]) + fi fi dnl @@ -2602,16 +3027,42 @@ AC_ARG_ENABLE(speex, [ --enable-speex Speex decoder support (default enabled)]) if test "${enable_speex}" != "no" then - AC_CHECK_HEADERS(speex/speex.h, [ - LDFLAGS="${LDFLAGS_save} ${LDFLAGS_speex}" - AC_CHECK_LIB(speex, speex_decode_int, [ + AC_ARG_WITH(speex-tree, + [ --with-speex-tree=PATH speex tree for static linking]) + if test -n "${with_speex_tree}" + then + AC_MSG_CHECKING(for libspeex.a in ${with_speex_tree}) + real_speex_tree="`cd ${with_speex_tree} 2>/dev/null && pwd`" + if test -z "${real_speex_tree}" + then + dnl The given directory can't be found + AC_MSG_RESULT(no) + AC_MSG_ERROR([cannot cd to ${with_speex_tree}]) + fi + if test -f "${real_speex_tree}/libspeex/.libs/libspeex.a" + then + dnl Use a custom speex + AC_MSG_RESULT(${real_speex_tree}/libspeex/.libs/libspeex.a) VLC_ADD_PLUGINS([speex]) - VLC_ADD_LDFLAGS([speex],[-lspeex]) ], - [ AC_MSG_RESULT([no]) - AC_MSG_WARN([Your libspeex is too old, please get the development - version.]) ],[]) - LDFLAGS="${LDFLAGS_save}" - ],[]) + VLC_ADD_LDFLAGS([speex],[${real_speex_tree}/libspeex/.libs/libspeex.a]) + VLC_ADD_CFLAGS([speex],[-I${real_speex_tree}/include]) + else + dnl The given speex wasn't built + AC_MSG_RESULT(no) + AC_MSG_ERROR([cannot find ${real_speex_tree}/libspeex/.libs/libspeex.a, make sure you compiled speex in ${with_speex_tree}]) + fi + else + AC_CHECK_HEADERS(speex/speex.h, [ + LDFLAGS="${LDFLAGS_save} ${LDFLAGS_speex}" + AC_CHECK_LIB(speex, speex_decode_int, [ + VLC_ADD_PLUGINS([speex]) + VLC_ADD_LDFLAGS([speex],[-lspeex]) ], + [ AC_MSG_RESULT([no]) + AC_MSG_WARN([Your libspeex is too old, please get the development + version.]) ],[]) + LDFLAGS="${LDFLAGS_save}" + ],[]) + fi fi dnl @@ -2670,12 +3121,11 @@ dnl AC_ARG_ENABLE(dirac, [ --enable-dirac experimental dirac codec (default disabled)]) if test "${enable_dirac}" = "yes"; then - AC_CHECK_HEADERS(libdirac_decoder/dirac_parser.h, [ - AC_CHECK_LIB(dirac_decoder, dirac_decoder_init, [ + PKG_CHECK_MODULES(DIRAC,dirac, [ VLC_ADD_PLUGINS([dirac]) - VLC_ADD_LDFLAGS([dirac],[-ldirac_decoder -ldirac_encoder -lstdc++]) ],[ - AC_MSG_ERROR([libdirac doesn't appear to be installed on you system.])], - [-lstdc++]) + VLC_ADD_CFLAGS([dirac],[$DIRAC_CFLAGS]) + VLC_ADD_LDFLAGS([dirac],[$DIRAC_LIBS -lstdc++]) ],[ + AC_MSG_ERROR([libdirac doesn't appear to be installed on you system.]) ]) fi @@ -2721,7 +3171,7 @@ if test "${enable_x264}" != "no"; then AC_MSG_RESULT(yes) VLC_ADD_CPPFLAGS([x264],[-I${real_x264_tree}]) VLC_ADD_LDFLAGS([x264],[-L${real_x264_tree}]) - LDFLAGS="${LDFLAGS_save} ${LDFLAGS_x264}" + LDFLAGS="${LDFLAGS_save} ${LDFLAGS_x264} ${THREAD_LIB}" AC_CHECK_LIB(x264, x264_encoder_open, [ VLC_ADD_BUILTINS([x264]) VLC_ADD_LDFLAGS([x264],[-lx264]) @@ -2734,7 +3184,7 @@ if test "${enable_x264}" != "no"; then AC_MSG_ERROR([the specified tree doesn't have x264.h]) fi else - LDFLAGS="${LDFLAGS_save} ${LDFLAGS_x264}" + LDFLAGS="${LDFLAGS_save} ${LDFLAGS_x264} ${THREAD_LIB}" AC_CHECK_HEADERS(x264.h, [ AC_CHECK_LIB(x264, x264_encoder_open, [ VLC_ADD_PLUGINS([x264]) @@ -3101,7 +3551,7 @@ dnl SVG module dnl AC_ARG_ENABLE(svg, [ --enable-svg SVG support (default disabled)]) -if test "${enable_svg}" == "yes" +if test "${enable_svg}" = "yes" then PKG_CHECK_MODULES(SVG, librsvg-2.0 >= 2.5.0, @@ -3112,6 +3562,16 @@ then [AC_MSG_WARN(SVG library not found)]) fi +dnl +dnl Snapshot vout module (with cache) +dnl +AC_ARG_ENABLE(snapshot, + [ --enable-snapshot snapshot module (default disabled)]) +if test "${enable_snapshot}" = "yes" +then + VLC_ADD_PLUGINS([snapshot]) +fi + dnl dnl Qt Embedded module dnl (disabled by default) @@ -3427,6 +3887,7 @@ then AC_CHECK_HEADER(alsa/asoundlib.h, AC_CHECK_LIB(asound, main, have_alsa="true", have_alsa="false"),have_alsa="false") if test "${have_alsa}" = "true" then + CFLAGS="${CFLAGS_save}" AC_TRY_COMPILE([#define ALSA_PCM_NEW_HW_PARAMS_API #define ALSA_PCM_NEW_SW_PARAMS_API #include ], @@ -3459,14 +3920,14 @@ fi dnl dnl CoreAudio plugin dnl -AC_ARG_ENABLE(coreaudio, - [ --enable-coreaudio CoreAudio module (default enabled on MacOS X)]) -if test "${enable_coreaudio}" != "no" && - (test "${SYS}" = "darwin" || test "${enable_coreaudio}" = "yes") +AC_ARG_ENABLE(macosx-audio, + [ --enable-macosx-audio Mac OS X audio module (default enabled on MacOS X)]) +if test "${enable_macosx-audio}" != "no" && + (test "${SYS}" = "darwin" || test "${enable_macosx-audio}" = "yes") then AC_CHECK_HEADERS(CoreAudio/CoreAudio.h, - [ VLC_ADD_BUILTINS([coreaudio auhal]) - VLC_ADD_LDFLAGS([coreaudio auhal],[-framework CoreAudio -framework AudioUnit -framework AudioToolbox]) + [ VLC_ADD_BUILTINS([auhal]) + VLC_ADD_LDFLAGS([auhal],[-framework CoreAudio -framework AudioUnit -framework AudioToolbox]) ], [ AC_MSG_ERROR([cannot find CoreAudio headers]) ]) fi @@ -3491,44 +3952,42 @@ dnl CyberLink for C++ UPnP stack dnl AC_ARG_ENABLE(cyberlink, [ --enable-cyberlink CyberLink for C++ UPnP stack (default disabled)]) -if test "${CXX}" != "" -a "${enable_cyberlink}" = "yes" || (test "${enable_cyberlink}" != "no"); then +AS_IF([test "${CXX}" != "" -a "${enable_cyberlink}" = "yes" || (test "${enable_cyberlink}" != "no")], [ AC_ARG_WITH(cyberlink-tree, [ --with-cyberlink-tree=PATH CyberLink for C++ tree for static linking]) dnl dnl test for --with-cyberlink-tree dnl - if test ! -z "${with_cyberlink_tree}" -a "${CXX}" != ""; then + AS_IF([test ! -z "${with_cyberlink_tree}" -a "${CXX}" != ""], [ AC_LANG_PUSH(C++) real_cyberlink_tree="`cd ${with_cyberlink_tree} 2>/dev/null && pwd`" - if test -z "${real_cyberlink_tree}" - then + AS_IF([test -z "${real_cyberlink_tree}"], [ dnl The given directory can't be found AC_MSG_RESULT(no) AC_MSG_ERROR([cannot cd to ${with_cyberlink_tree}]) - fi - CXXFLAGS_save="${CXXFLAGS}" - CXXFLAGS_cyberlink="-I${real_cyberlink_tree}/include" - CXXFLAGS="${CXXFLAGS} ${CXXFLAGS_cyberlink}" + ]) + CPPFLAGS_save="${CPPFLAGS}" + CPPFLAGS_cyberlink="-I${real_cyberlink_tree}/include" + CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_cyberlink}" AC_CHECK_HEADERS([cybergarage/upnp/MediaServer.h], - [ VLC_ADD_CXXFLAGS([upnp], [${CXXFLAGS_cyberlink}]) + [ VLC_ADD_CXXFLAGS([upnp], [${CPPFLAGS_cyberlink}]) VLC_ADD_PLUGINS([upnp]) ],[ AC_MSG_ERROR([cannot find CyberLink for C++ headers]) ]) AC_MSG_CHECKING(for libclink.a in ${with_cyberlink_tree}) - if test -f "${real_cyberlink_tree}/lib/unix/libclink.a" - then + AS_IF([test -f "${real_cyberlink_tree}/lib/unix/libclink.a"], [ AC_MSG_RESULT(${real_cyberlink_tree}/lib/unix/libclink.a) VLC_ADD_LDFLAGS([upnp], [${real_cyberlink_tree}/lib/unix/libclink.a -lexpat]) - else + ], [ AC_MSG_RESULT(no) - AC_MSG_ERROR([cannot find ${real_cyberlink_tree}/lib/unix/libclink.a, make sure you compiled CyberLink for C++ in ${with_cyberlink_tree}]) - fi - CXXFLAGS="${CXXFLAGS_save}" + AC_MSG_ERROR([cannot find ${real_cyberlink_tree}/lib/unix/libclink.a, make sure you compiled CyberLink for C++ in ${with_cyberlink_tree}]) + ]) + CPPFLAGS="${CPPFLAGS_save}" AC_LANG_POP([C++]) - fi -fi + ]) +]) dnl dnl Interface plugins @@ -3771,6 +4230,12 @@ then fi VLC_ADD_LDFLAGS([wxwidgets],[`${WX_CONFIG} --libs`]) VLC_ADD_CXXFLAGS([wxwidgets],[`${WX_CONFIG} --cxxflags`]) + if ${WX_CONFIG} --unicode + then + # wxwidgets should provide the following flags but does not + # the following is required to compile for win32 + VLC_ADD_CXXFLAGS([wxwidgets],[-D_UNICODE -DUNICODE]) + fi if test "$have_libcdio" = "yes" then VLC_ADD_LDFLAGS([wxwidgets],[$LIBCDIO_LIBS]) @@ -4067,43 +4532,6 @@ then fi fi -dnl -dnl SLP access plugin -dnl -AC_ARG_ENABLE(slp, - [ --enable-slp SLP service discovery support (default disabled)]) -if test "${enable_slp}" = "yes" -then - AC_ARG_WITH(slp, - [ --with-slp=PATH libslp headers and libraries]) - if test -z "${with_slp}" - then - AC_CHECK_HEADERS(slp.h, have_slp="true", have_slp="false") - if test "${have_slp}" = "true" - then - VLC_ADD_PLUGINS([slp]) - VLC_ADD_LDFLAGS([slp],[-lslp]) - VLC_ADD_LDFLAGS([stream_out_standard],[-lslp]) - fi - else - AC_MSG_CHECKING(for slp headers in ${with_slp}) - if test -f ${with_slp}/slp.h - then - dnl Use ${with_slp}/libslp/slp.h - AC_MSG_RESULT(yes) - VLC_ADD_PLUGINS([slp]) - VLC_ADD_LDFLAGS([slp],[-L${with_slp} -lslp]) - VLC_ADD_LDFLAGS([stream_out_standard],[-L${with_slp} -lslp]) - VLC_ADD_CPPFLAGS([slp],[-I${with_slp}]) - AC_DEFINE(HAVE_SLP_H) - else - dnl No libslp could be found, sorry - AC_MSG_RESULT(no) - AC_MSG_ERROR([cannot find ${with_slp}/slp.h]) - fi - fi -fi - dnl dnl DAAP access plugin and services discovery dnl @@ -4118,6 +4546,23 @@ then [AC_MSG_WARN(DAAP library not found)]) fi +dnl +dnl Bonjour services discovery +dnl +AC_ARG_ENABLE(bonjour, + [ --enable-bonjour Bonjour services discovery (default enabled)]) +if test "${enable_bonjour}" != "no" +then + PKG_CHECK_MODULES(BONJOUR, avahi-client >= 0.3, + [PKG_CHECK_MODULES(BONJOUR, avahi-client >= 0.6, + [AC_DEFINE(HAVE_AVAHI_06, [], [Define if you have avahi-client 0.6 or greater])],) + AC_DEFINE(HAVE_AVAHI_CLIENT, [], [Define if you have the avahi-client library]) + VLC_ADD_LDFLAGS([bonjour access_output_http],[$BONJOUR_LIBS]) + VLC_ADD_CFLAGS([bonjour access_output_http],[$BONJOUR_CFLAGS]) + VLC_ADD_PLUGINS([bonjour]) ], + [AC_MSG_WARN(avahi-client library not found)]) +fi + dnl dnl Lirc plugin dnl @@ -4133,14 +4578,6 @@ then fi fi -dnl -dnl Joystick plugin -dnl -AC_ARG_ENABLE(joystick, - [ --enable-joystick joystick control (default enabled)]) -if test "${enable_joystick}" = "yes"; then - AC_CHECK_HEADER(linux/joystick.h, [VLC_ADD_PLUGINS([joystick])]) -fi dnl dnl corba (ORBit) plugin @@ -4240,6 +4677,8 @@ AS_IF([test "${enable_loader}" = "yes"], VLC_ADD_LDFLAGS([dmo],[../../../loader/libloader.a]) VLC_ADD_CPPFLAGS([quicktime],[-I../../@top_srcdir@/loader]) VLC_ADD_LDFLAGS([quicktime],[../../loader/libloader.a]) + VLC_ADD_CPPFLAGS([realaudio],[-I../../@top_srcdir@/loader -DLOADER]) + VLC_ADD_LDFLAGS([realaudio],[../../loader/libloader.a]) ]) dnl @@ -4253,16 +4692,21 @@ then if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin" then AC_CHECK_PROGS(MIDL, [midl widl], no) + AC_LANG_PUSH(C++) AC_CHECK_HEADERS(ole2.h olectl.h, [ VLC_ADD_CXXFLAGS([activex],[-fno-exceptions]) VLC_ADD_LDFLAGS([activex],[-lole32 -loleaut32 -luuid -lshlwapi]) AC_CHECK_HEADERS(objsafe.h, - VLC_ADD_CXXFLAGS([activex],[-DHAVE_OBJSAFE_HEADER]) + VLC_ADD_CXXFLAGS([activex],[-DHAVE_OBJSAFE_HEADER]),, + [#if HAVE_OLE2_H + # include + #endif] ) activex=: ], [ AC_MSG_ERROR([required OLE headers are missing from your system]) ] ) + AC_LANG_POP(C++) fi fi AC_ARG_VAR(MIDL, [Microsoft IDL compiler (Win32 platform only)]) @@ -4275,7 +4719,10 @@ dnl mozilla=false AC_ARG_ENABLE(mozilla, [ --enable-mozilla build a vlc-based Mozilla plugin (default disabled)]) -if test "${enable_mozilla}" = "yes" -a "${SYS}" != "mingw32" +AC_ARG_WITH(mozilla-sdk-path, + [ --with-mozilla-sdk-path=PATH path to mozilla sdk]) + +if test "${enable_mozilla}" = "yes" -a "${with_mozilla_sdk_path}" = "" then AC_PATH_PROG(MOZILLA_CONFIG, mozilla-config, no) if test "${MOZILLA_CONFIG}" = "no" @@ -4303,23 +4750,29 @@ then dnl special case for mingw32 elif test "${enable_mozilla}" = "yes" then - AC_CHECK_TOOL(CYGPATH, cygpath, "") - AC_ARG_WITH(mozilla-sdk-path, - [ --with-mozilla-sdk-path=PATH path to win32 mozilla sdk], [ - real_mozilla_sdk="`cd ${with_mozilla_sdk_path} 2>/dev/null && pwd`" - CPPFLAGS="${CPPFLAGS_save} ${real_mozilla_sdk}" - AC_CHECK_HEADERS(mozilla-config.h, [ - mozilla=: - VLC_ADD_CPPFLAGS([mozilla],[-DXPCOM_GLUE -I${real_mozilla_sdk} -I${real_mozilla_sdk}/embedstring/include -I${real_mozilla_sdk}/xpcom/include -I${real_mozilla_sdk}/nspr/include -I${real_mozilla_sdk}/string/include -I${real_mozilla_sdk}/plugin/include -I${real_mozilla_sdk}/java/include]) - VLC_ADD_LDFLAGS([mozilla],[-L${real_mozilla_sdk}/embedstring/bin -L${real_mozilla_sdk}/xpcom/bin -L${real_mozilla_sdk}/nspr/bin -L${real_mozilla_sdk}/string/bin -lnspr4 -lplds4 -lplc4 -lembedstring -lxpcomglue -Wl,--kill-at]) - XPIDL_INCL="-I${real_mozilla_sdk}/xpcom/idl" - if test -n "${CYGPATH}"; then - XPIDL="${real_mozilla_sdk}/xpcom/bin/xpidl" - real_mozilla_sdk="`${CYGPATH} -w ${real_mozilla_sdk}`" - XPIDL_INCL="${XPIDL_INCL} -I\"${real_mozilla_sdk}/xpcom/idl\"" - fi ]) - CPPFLAGS="${CPPFLAGS_save}" - ]) + if test "${SYS}" = "mingw32"; then + AC_CHECK_TOOL(CYGPATH, cygpath, "") + mozilla_sdk_xpcom="/xpcom" + fi + + real_mozilla_sdk="`cd ${with_mozilla_sdk_path} 2>/dev/null && pwd`" + CPPFLAGS="${CPPFLAGS_save} -I${real_mozilla_sdk} -I${real_mozilla_sdk}/include" + AC_CHECK_HEADERS(mozilla-config.h, [ + mozilla=: + VLC_ADD_CPPFLAGS([mozilla],[-DXPCOM_GLUE -I${real_mozilla_sdk} -I${real_mozilla_sdk}/include -I${real_mozilla_sdk}/embedstring/include -I${real_mozilla_sdk}/xpcom/include -I${real_mozilla_sdk}/nspr/include -I${real_mozilla_sdk}/string/include -I${real_mozilla_sdk}/plugin/include -I${real_mozilla_sdk}/java/include]) + VLC_ADD_LDFLAGS([mozilla],[-L${real_mozilla_sdk}/embedstring/bin -L${real_mozilla_sdk}/xpcom/bin -L${real_mozilla_sdk}/nspr/bin -L${real_mozilla_sdk}/string/bin -L${real_mozilla_sdk}/lib -lnspr4 -lplds4 -lplc4 -lxpcomglue]) + if test "${SYS}" = "mingw32"; then + VLC_ADD_LDFLAGS([mozilla],[-lembedstring -Wl,--kill-at]) + fi + + XPIDL_INCL="-I${real_mozilla_sdk}${mozilla_sdk_xpcom}/idl" + XPIDL="${real_mozilla_sdk}${mozilla_sdk_xpcom}/bin/xpidl" + + if test -n "${CYGPATH}"; then + real_mozilla_sdk="`${CYGPATH} -w ${real_mozilla_sdk}`" + XPIDL_INCL="${XPIDL_INCL} -I\"${real_mozilla_sdk}${mozilla_sdk_xpcom}/idl\"" + fi ]) + CPPFLAGS="${CPPFLAGS_save}" fi dnl Not necessarily in ${PATH} @@ -4333,6 +4786,34 @@ AS_IF([test "${MOZILLA_CONFIG}"], [ fi ]) AM_CONDITIONAL(BUILD_MOZILLA,${mozilla}) +if test "${mozilla}" != "false" +then + build_pic=yes +fi + +dnl +dnl Python bindings +dnl +AC_ARG_ENABLE(python-bindings, + [ --enable-python-bindings Enable Python bindings (default disabled)]) +dnl TODO: look for python dev headers +AM_CONDITIONAL( BUILD_PYTHON, [test "${enable_python_bindings}" = "yes"] ) +if test "${enable_python_bindings}" = "yes" +then + build_pic=yes +fi + +dnl +dnl Java bindings +dnl +AC_ARG_ENABLE(java-bindings, + [ --enable-java-bindings Enable Java bindings (default disabled)]) +AM_CONDITIONAL( BUILD_JAVA, [test "${enable_java_bindings}" = "yes"] ) +if test "${enable_java_bindings}" = "yes" +then + build_pic=yes +fi + dnl dnl test plugins @@ -4446,20 +4927,18 @@ then fi] AM_CONDITIONAL(HAVE_BUILTINS, ${builtin_support}) -AC_ARG_ENABLE(shared-libvlc, - [ --enable-shared-libvlc shared libvlc (default disabled EXPERIMENTAL)], - ,[shared_libvlc=no]) - +dnl +dnl Pic and shared libvlc stuff +dnl AM_CONDITIONAL(BUILD_SHARED, [test "${shared_libvlc}" != "no"]) +AM_CONDITIONAL(BUILD_PIC, [test "${build_pic}" = "yes" -o "${shared_libvlc}" != "no"] ) AS_IF([test "${shared_libvlc}" != "no"], [ AC_DEFINE(HAVE_SHARED_LIBVLC, 1, [Define to 1 if libvlc is built as a shared library.]) ]) pic=no -AS_IF([test "${shared_libvlc}" != "no"], [pic=pic]) -AS_IF([${mozilla}], [pic=pic]) +AS_IF([test "${shared_libvlc}" != "no" -o "${build_pic}" = "yes"], [pic=pic]) AS_IF([test "${SYS}" = "mingw32"], [pic=no]) - AS_IF([test "${pic}" = "no"], [pic=]) AC_SUBST(pic) @@ -4496,11 +4975,6 @@ AC_DEFINE_UNQUOTED(MODULE_SYMBOL, $module_symbol, [Symbol suffix for module func VLC_ENTRY="vlc_entry__${module_symbol}" AC_SUBST(VLC_ENTRY) -DATA_PATH="${ac_tool_prefix}/share/vlc" -AC_SUBST(DATA_PATH) -PLUGIN_PATH="${ac_tool_prefix}/lib/vlc" -AC_SUBST(PLUGIN_PATH) - dnl dnl Handle substvars that use $(top_srcdir) dnl @@ -4544,6 +5018,9 @@ AC_CONFIG_FILES([ Makefile activex/Makefile activex/axvlc.inf + bindings/Makefile + bindings/java/Makefile + bindings/python/Makefile debian/Makefile doc/Makefile intl/Makefile @@ -4565,6 +5042,7 @@ AC_CONFIG_FILES([ modules/access/pvr/Makefile modules/access/v4l/Makefile modules/access/cdda/Makefile + modules/access/rtsp/Makefile modules/access/vcd/Makefile modules/access/vcdx/Makefile modules/access/screen/Makefile @@ -4638,6 +5116,12 @@ dnl for a in `./vlc-config --target builtin` ; do echo $a; done | sed -e 's,modu dnl echo "Enabled plugin modules :" dnl for a in `./vlc-config --target plugin` ; do echo $a; done | sed -e 's,modules\/\(.*\)\/lib\(.*\)_plugin,\2 (\1),' +dnl Shortcut to nice compile message +rm -f compile +echo '#! /bin/sh' >compile +echo "PATH=$PATH LANG=C make \$* 2>&1| ${srcdir}/extras/make.pl" >>compile +chmod a+x compile + printf " vlc configuration -------------------- @@ -4654,6 +5138,6 @@ echo " vlc aliases :${ALIASES} You can tune the compiler flags in vlc-config. -To build vlc and its plugins, type \`make'. +To build vlc and its plugins, type \`./compile' or \`make'. "