X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=configure.ac;h=9eab3398406cf602a24bd32a500430361163dfbd;hb=55bede9470e38578fc47c970cd2f95a3f9c878db;hp=39d64c281bb4306c70a84a2a6a01bd5814abd1c1;hpb=0b137bffd5cf6849c231e9fc75f168aa50ac9806;p=vlc diff --git a/configure.ac b/configure.ac index 39d64c281b..9eab339840 100644 --- a/configure.ac +++ b/configure.ac @@ -1,7 +1,11 @@ dnl Autoconf settings for vlc dnl $Id$ - -AC_INIT(vlc,0.8.4-svn) + +AC_INIT(vlc,0.8.4-test1) +VERSION_MAJOR="0" +VERSION_MINOR="8" +VERSION_REVISION="4" +VERSION_EXTRA="test1" CONFIGURE_LINE="$0 $*" CODENAME="Janus" @@ -13,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.4-test1) AM_CONFIG_HEADER(config.h) +dnl HA! HA! +AM_MAINTAINER_MODE + dnl dnl Save *FLAGS dnl @@ -69,34 +76,42 @@ AC_C_INLINE dnl dnl Check for the contrib directory dnl -topdir="`pwd`" -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 + 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 + fi fi fi - dnl dnl Set default values dnl @@ -158,7 +173,7 @@ case "${target_os}" in CPPFLAGS_save="${CPPFLAGS_save} -D_OFF_T_ -D_off_t=long"; CPPFLAGS="${CPPFLAGS_save}" 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 telnet netsync],[-lws2_32]) + 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]) fi if test "${SYS}" = "mingwce"; then # add ws2 for closesocket, select, recv @@ -166,7 +181,7 @@ 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]) - fi + fi ;; *nto*) SYS=nto @@ -188,7 +203,13 @@ case "${target_os}" in VLC_ADD_CXXFLAGS([beos],[]) VLC_ADD_LDFLAGS([vlc beos],[-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 @@ -207,7 +228,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 ru tr zh_TW" +ALL_LINGUAS="ca da de en_GB es fr it ja ko nl pt_BR ro ru 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 @@ -224,17 +245,13 @@ fi AM_CONDITIONAL(BUILD_INTL, test "${nls_cv_force_use_gnu_gettext}" = "yes") XGETTEXT="${XGETTEXT} --keyword=_NS --keyword=_ANS" -AC_ARG_ENABLE(utf8, - [ --enable-utf8 unicode utf8 support (default enabled on darwin/beos/win32)]) -if test "${enable_utf8}" = "yes" || (test "${enable_utf8}" != "no" && (test "${SYS}" = "mingw32" || test "${SYS}" = "beos" || test "${SYS}" = "darwin" ) ) -then - AC_DEFINE(ENABLE_UTF8, 1, - Define if you want utf8 support) -fi - 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}]) @@ -292,6 +309,9 @@ dnl Plugin compilation stuff VLC_LIBRARY_SUFFIX +VLC_SYMBOL_PREFIX +AC_SUBST(SYMPREF) + case "${SYS}" in mingw32|cygwin) VLC_ADD_CFLAGS([pic plugin mozilla activex],[${CFLAGS_mingw32_special}]) @@ -314,7 +334,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) +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) @@ -455,7 +475,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]) @@ -648,7 +668,7 @@ AC_CHECK_HEADERS(signal.h time.h errno.h stdint.h stdbool.h getopt.h strings.h i AC_CHECK_HEADERS(sys/sockio.h fcntl.h sys/types.h sys/time.h sys/times.h sys/ioctl.h sys/stat.h) 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 altivec.h) +AC_CHECK_HEADERS(machine/param.h sys/shm.h) AC_CHECK_HEADERS(linux/version.h) fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" @@ -694,11 +714,15 @@ 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]) @@ -975,11 +999,11 @@ dnl VLC_ADD_PLUGINS([dummy logger memcpy]) VLC_ADD_PLUGINS([mpgv mpga m4v m4a h264 ps pva avi asf mp4 rawdv nsv real aiff mjpeg demuxdump flac]) VLC_ADD_PLUGINS([cvdsub svcdsub spudec subsdec dvbsub mpeg_audio lpcm a52 dts cinepak flacdec]) -VLC_ADD_PLUGINS([deinterlace invert adjust transform distort motionblur]) +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([playlist export sgimb m3u nsc xtag]) VLC_ADD_PLUGINS([i420_rgb rawvideo blend scale image logo]) 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]) @@ -990,12 +1014,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([mosaic wall motiondetect clone crop]) + VLC_ADD_PLUGINS([gestures rc telnet hotkeys netsync showintf time marq 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 @@ -1048,6 +1072,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}" @@ -1101,32 +1150,58 @@ if test "${ac_cv_altivec_inline}" != "no"; then ACCEL_MODULES="${ACCEL_MODULES} ${ALTIVEC_MODULES}" fi +dnl The AltiVec C extensions +dnl +dnl There are several possible cases: +dnl - OS X PPC, gcc 4.x: use -mpim-altivec, don't 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], - [# 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]) + [ac_cv_c_altivec], + [# OS X/PPC test (gcc 4.x) + CFLAGS="${CFLAGS_save} -mpim-altivec" + AC_TRY_COMPILE([], + [vec_ld(0, (unsigned char *)0);], + [ac_cv_c_altivec="-mpim-altivec"], + [# 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}"]) + ]) + 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}" + 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}]) @@ -1154,23 +1229,35 @@ dnl Special arch tuning dnl AC_ARG_WITH(tuning, [ --with-tuning=ARCH enable special tuning for an architecture - (default i686 on IA-32 and 750 on PPC)]) + (default Pentium 2 on IA-32 and 750 on PPC)]) if test -n "${with_tuning}"; then - if test "${target_cpu}" = "powerpc"; then - CFLAGS_TUNING="-mtune=${with_tuning}" - else - CFLAGS_TUNING="-mcpu=${with_tuning}" - fi + CFLAGS_TUNING="-mtune=${with_tuning}" else if test "${target_cpu}" = "i686" -o "${target_cpu}" = "i586" -o "${target_cpu}" = "i486" -o "${target_cpu}" = "i386"; then - CFLAGS_TUNING="-mcpu=pentiumpro" + CFLAGS_TUNING="-mtune=pentium2" elif test "${target_cpu}" = "x86_64"; then - CFLAGS_TUNING="-mtune=opteron" + CFLAGS_TUNING="-mtune=athlon64" 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}" + + 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}" +]) + dnl dnl x86 accelerations dnl @@ -1238,6 +1325,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 @@ -1301,7 +1400,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]) @@ -1487,7 +1586,7 @@ dnl dnl libsmbclient plugin dnl AC_ARG_ENABLE(smb, - [ --enable-smb smb input module (default enabled)]) + [ --enable-smb smb input module (default enabled)]) if test "${enable_smb}" != "no"; then AC_CHECK_HEADERS(libsmbclient.h, [ VLC_ADD_PLUGINS([access_smb]) @@ -1495,6 +1594,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 @@ -1546,7 +1648,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) @@ -1585,6 +1687,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 @@ -1619,37 +1725,66 @@ then fi dnl -dnl VCDX and CDDAX modules +dnl gnomeVFS access module dnl +AC_ARG_ENABLE(gnomevfs, + [ --enable-gnomevfs GnomeVFS access module (default enabled)]) +if test "${enable_gnomevfs}" != "no" +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 CDDA support via libcdio (default enabled)]) + [ --enable-libcdio CD input and control library support (default enabled)]) + + +have_libcdio=no +have_libvcdinfo=no +if test "${enable_libcdio}" != "no" +then + PKG_CHECK_MODULES(LIBCDIO, libcdio >= 0.72, + 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 CDDAX (default enabled)]) - -AC_ARG_ENABLE(vcdx, - [ --enable-vcdx VCD support with Navigation (default disabled)]) - -AC_ARG_ENABLE(cdda, - [ --enable-cdda CDDA plugin support (default enabled)]) - -AC_ARG_ENABLE(cddax, - [ --enable-cddax CDDA plugin with CD Text and possibly CDDB and paranoia support (default disabled)]) + [ --enable-libcddb CDDB support for libcdio audio CD (default enabled)]) if test "${enable_cddax}" = "yes" then - PKG_CHECK_MODULES(LIBCDIO, libcdio >= 0.71, - [ - AC_DEFINE(HAVE_CDDAX, [], [Define for the CD-DA plugin using libcdio]) + 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])], - [AC_MSG_WARN(libcdio library not found) - HAVE_CDDAX=no]) - - PKG_CHECK_MODULES(LIBCDIO_PARANOIA, libcdio_paranoia >= 0.72, [ - VLC_ADD_LDFLAGS([cddax],[$LIBCDIO_CDDA_LIBS $LIBCDIO_PARANOIA_LIBS])], - HAVE_CDDAX=no) + 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, [ @@ -1664,35 +1799,47 @@ then fi +AC_ARG_ENABLE(vcdx, + [ --enable-vcdx VCD with navigation via libvcdinfo (default disabled)]) + if test "${enable_vcdx}" = "yes" then - PKG_CHECK_MODULES(LIBCDIO, libcdio >= 0.72, - [VLC_ADD_LDFLAGS([vcdx],[$LIBCDIO_LIBS]) - VLC_ADD_CFLAGS([vcdx],[$LIBCDIO_CFLAGS])], - [AC_MSG_WARN(libcdio library not found) - HAVE_VCDX=no]) + 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 PKG_CHECK_MODULES(LIBCDIO, libiso9660 >= 0.72, [VLC_ADD_LDFLAGS([vcdx],[$LIBISO9660_LIBS]) VLC_ADD_CFLAGS([vcdx],[$LIBISO9660_CFLAGS])], - [AC_MSG_WARN(libiso9660 library not found) + [AC_MSG_WARN([vcdx plugin disabled because ok libiso9660 library not found]) HAVE_VCDX=no]) - PKG_CHECK_MODULES(VCDINFO, libvcdinfo >= 0.7.21, - [AC_DEFINE(HAVE_VCDX, [], + 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])], - [AC_MSG_WARN(vcdinfo library not found) - HAVE_VCDX=no]) + VLC_ADD_PLUGINS([vcdx]) + else + AC_MSG_WARN([vcdx plugin disabled because ok libvcdinfo library not found]) + HAVE_VCDX=no + fi fi dnl -dnl VCD module +dnl Built-in CD-DA and VCD module dnl +AC_ARG_ENABLE(cdda, + [ --enable-cdda audio CD via built-in VCD (default enabled)]) + AC_ARG_ENABLE(vcd, - [ --enable-vcd VCD support for Linux, FreeBSD, MacOS X and Win32 (default enabled)]) + [ --enable-vcd built-in VCD (default enabled)]) if test "${enable_vcd}" != "no" then @@ -1735,18 +1882,6 @@ then fi fi -dnl -dnl Satellite input module -dnl -AC_ARG_ENABLE(satellite, - [ --enable-satellite satellite card support (default disabled)], - [ if test "${enable_satellite}" = "yes" - then - AC_DEFINE(HAVE_SATELLITE, [], - [Define for the VCD plugin using libcdio/libvcdinfo]) - VLC_ADD_PLUGINS([satellite]) - fi]) - dnl dnl DVB-S/DVB-T/DVB-C satellite/teresterial/cable input using v4l2 dnl @@ -1769,7 +1904,7 @@ then else VLC_ADD_BUILTINS([dvb]) fi - ],[]) + ],[AC_MSG_WARN(linux-dvb headers not found, dvb disabled)]) CPPFLAGS="${CPPFLAGS_save}" fi @@ -1807,21 +1942,24 @@ fi dnl dnl ipv6 plugin - not for QNX yet dnl +have_ipv6=no +AC_CHECK_FUNCS(inet_pton,[have_ipv6=yes],[ + AC_CHECK_LIB(resolv,inet_pton, + [have_ipv6=yes + VLC_ADD_LDFLAGS([ipv6 vlc],[-lresolv])]) +]) + +AS_IF([test "${have_ipv6}" = "yes"], [ + AC_DEFINE(HAVE_INET_PTON, 1, [Define to 1 if you have inet_pton().])]) + if test "${SYS}" != "nto" && test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" then - have_ipv6=false - AC_CHECK_FUNCS(inet_pton,[have_ipv6=:],[ - AC_CHECK_LIB(resolv,inet_pton, - [have_ipv6=: - VLC_ADD_LDFLAGS([ipv6],[-lresolv])]) - ]) 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=false]) - if ${have_ipv6}; then - VLC_ADD_PLUGINS([ipv6]) - fi + [AC_MSG_RESULT(yes)], [AC_MSG_RESULT(no); have_ipv6=no]) + AS_IF([test "${have_ipv6}" != "no"], [ + VLC_ADD_PLUGINS([ipv6])]) fi if test "${SYS}" = "mingw32" then @@ -1855,11 +1993,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], @@ -1916,6 +2054,19 @@ then VLC_ADD_LDFLAGS([mod],[-lmodplug])]) 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 @@ -1991,52 +2142,81 @@ AC_CHECK_HEADERS(id3tag.h, [ dnl dnl ffmpeg decoder/demuxer plugin dnl +dnl we try to find ffmpeg using : 1- ffmpeg-config, 2- pkg-config +dnl 3- default place, 4- given tree + AC_ARG_ENABLE(ffmpeg, [ --enable-ffmpeg ffmpeg codec (default enabled)]) if test "${enable_ffmpeg}" != "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}:${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`]) +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 + 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 - AC_ARG_WITH(ffmpeg-mp3lame, + +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], [ - VLC_ADD_LDFLAGS([ffmpeg],[-lmp3lame]) ]) + 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], [ - VLC_ADD_LDFLAGS([ffmpeg],[-lfaac]) ]) + 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], [ - VLC_ADD_LDFLAGS([ffmpeg],[-ldts]) ]) + if test "$with_ffmpeg_dts" = "yes"; then + VLC_ADD_LDFLAGS([ffmpeg],[-ldts]) + fi]) 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]) + if test "$with_ffmpeg_zlib" = "yes"; then + VLC_ADD_LDFLAGS([ffmpeg],[-lz]) + fi]) + +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_BUILTINS([ffmpeg]) + if test "${enable_sout}" != "no"; then + VLC_ADD_BUILTINS([stream_out_switcher]) + fi + VLC_ADD_CFLAGS([ffmpeg stream_out_switcher],[${FFMPEG_CFLAGS}]) + VLC_ADD_LDFLAGS([ffmpeg],[${FFMPEG_LIBS}]) + ],[ + dnl dnl test for !(--with-ffmpeg-tree) dnl @@ -2045,17 +2225,24 @@ then LDFLAGS="${LDFLAGS_save} ${LDFLAGS_ffmpeg}" AC_CHECK_HEADERS(ffmpeg/avcodec.h, [], [AC_MSG_ERROR([Missing header file ffmpeg/avcodec.h.])] ) AC_CHECK_HEADERS(postproc/postprocess.h, [], [AC_MSG_ERROR([Missing header file postproc/postprocess.h.])] ) + + AC_CHECK_LIB(avutil, av_add_i, [ + VLC_ADD_LDFLAGS([ffmpeg],[-lavutil]) + LDAVUTIL="-lavutil"]) + 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]) fi], - [ AC_MSG_ERROR([Could not find ffmpeg on your system: you may get it from http://ffmpeg.sf.net/ (cvs version is recommended). Alternatively you can use --disable-ffmpeg to disable the ffmpeg plugins.]) ]) + [ AC_MSG_ERROR([Could not find ffmpeg on your system: you may get it from http://ffmpeg.sf.net/ (cvs version is recommended). Alternatively you can use --disable-ffmpeg to disable the ffmpeg plugins.]) ], [$LDAVUTIL]) 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 @@ -2116,8 +2303,14 @@ then VLC_ADD_BUILTINS([ffmpeg]) if test "${enable_sout}" != "no"; then - VLC_ADD_BUILTINS([stream_out_switcher]) + 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]) @@ -2127,6 +2320,10 @@ then VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher],[-I${real_ffmpeg_tree}/libavformat]) fi fi + ]) + AC_ARG_WITH(ffmpeg-tree, + [ --with-ffmpeg-tree=PATH ffmpeg tree for static linking]) + fi fi @@ -2135,7 +2332,7 @@ dnl ffmpeg decoder/demuxer 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}) @@ -2283,6 +2480,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 @@ -2633,6 +2848,7 @@ AC_CHECK_HEADERS(png.h, [ AC_CHECK_LIB(png, png_set_rows, [ VLC_ADD_LDFLAGS([png],[-lpng -lz]) VLC_ADD_PLUGINS([png]) + VLC_ADD_PLUGINS([osdmenu]) AC_DEFINE(HAVE_LIBPNG, [], [Define if you have the PNG library: libpng])], [],[-lz]) LDFLAGS="${LDFLAGS_save}" @@ -2871,16 +3087,19 @@ then AC_PATH_PROG(SDL12_CONFIG, sdl12-config, no, ${SDL_PATH}) SDL_CONFIG="${SDL12_CONFIG}" SDL_HEADER="SDL12/SDL.h" + SDL_IMAGE="SDL12/SDL_image.h" if test "${SDL_CONFIG}" = "no" then AC_PATH_PROG(SDL11_CONFIG, sdl11-config, no, ${SDL_PATH}) SDL_CONFIG=${SDL11_CONFIG} SDL_HEADER="SDL11/SDL.h" + SDL_IMAGE="SDL11/SDL_image.h" fi if test "${SDL_CONFIG}" = "no" then AC_PATH_PROG(SDL_CONFIG, sdl-config, no, ${SDL_PATH}) SDL_HEADER="SDL/SDL.h" + SDL_IMAGE="SDL/SDL_image.h" fi # check for cross-compiling SDL_PREFIX= @@ -2894,9 +3113,12 @@ then fi if test "${SDL_CONFIG}" != "no" then - VLC_ADD_PLUGINS([vout_sdl aout_sdl]) - VLC_ADD_CFLAGS([vout_sdl aout_sdl],[`${SDL_CONFIG} ${SDL_PREFIX} --cflags | sed 's,SDL,,'`]) - VLC_ADD_LDFLAGS([vout_sdl aout_sdl],[`${SDL_CONFIG} ${SDL_PREFIX} --libs | sed 's,-rdynamic,,'`]) + # SDL on Darwin is heavily patched and can only run SDL_image + if test "${SYS}" != "darwin" -a "${SYS}" != "mingw32"; then + VLC_ADD_PLUGINS([vout_sdl aout_sdl]) + fi + VLC_ADD_CFLAGS([vout_sdl aout_sdl sdl_image],[`${SDL_CONFIG} ${SDL_PREFIX} --cflags | sed 's,SDL,,'`]) + VLC_ADD_LDFLAGS([vout_sdl aout_sdl sdl_image],[`${SDL_CONFIG} ${SDL_PREFIX} --libs | sed 's,-rdynamic,,'`]) CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_vout_sdl}" AC_CHECK_HEADERS(${SDL_HEADER}, AC_DEFINE_UNQUOTED(SDL_INCLUDE_FILE, <${SDL_HEADER}>, Indicate whether we should use SDL/SDL.h or SDL11/SDL.h), @@ -2906,6 +3128,21 @@ then Please install it and try again. Alternatively you can also configure with --disable-sdl.]) ])]) + AC_CHECK_HEADERS(${SDL_IMAGE}, [AC_DEFINE_UNQUOTED(SDL_IMAGE_INCLUDE_FILE, + <${SDL_IMAGE}>, Indicate the path of SDL_image.h) + VLC_ADD_PLUGINS([sdl_image]) + AC_CHECK_LIB(png, png_set_rows, + [VLC_ADD_LDFLAGS([sdl_image],[-lpng -lz])],[],[-lz]) + AC_CHECK_LIB(jpeg, jpeg_start_decompress, + [VLC_ADD_LDFLAGS([sdl_image],[-ljpeg])]) + AC_CHECK_LIB(tiff, TIFFClientOpen, + [VLC_ADD_LDFLAGS([sdl_image],[-ltiff])]) + VLC_ADD_LDFLAGS([sdl_image], [-lSDL_image])], + [ AC_CHECK_HEADERS(SDL_image.h, AC_DEFINE(SDL_IMAGE_INCLUDE_FILE, , + As a last resort we also test for SDL_image.h presence), + [ AC_MSG_WARN([The development package for SDL_image is not installed. +You should install it alongside your SDL package.]) + ])]) CPPFLAGS="${CPPFLAGS_save}" if expr 1.1.5 \> `${SDL_CONFIG} --version` >/dev/null then @@ -2913,6 +3150,7 @@ Please install it and try again. Alternatively you can also configure with Please install it and try again. Alternatively you can also configure with --disable-sdl.]) fi + elif test "${enable_sdl}" = "yes" then AC_MSG_ERROR([I couldn't find the SDL package. You can download libSDL @@ -3021,7 +3259,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, @@ -3322,20 +3560,20 @@ AC_ARG_ENABLE(portaudio, fi]) dnl -dnl aRts module +dnl aRts module -- broken (freeze wxWidgets) dnl AC_ARG_ENABLE(arts, - [ --enable-arts aRts sound server (default disabled)], - [if test "${enable_arts}" = "yes" - then - AC_PATH_PROG(ARTS_CONFIG, artsc-config, no) - if test "${ARTS_CONFIG}" != "no" - then - VLC_ADD_PLUGINS([arts]) - VLC_ADD_CFLAGS([arts],[`${ARTS_CONFIG} --cflags`]) - VLC_ADD_LDFLAGS([arts],[`${ARTS_CONFIG} --libs `]) - fi - fi]) + [ --enable-arts aRts sound server (default disabled)], + [if test "${enable_arts}" = "yes" + then + AC_PATH_PROG(ARTS_CONFIG, artsc-config, no) + if test "${ARTS_CONFIG}" != "no" + then + VLC_ADD_PLUGINS([arts]) + VLC_ADD_CFLAGS([arts],[`${ARTS_CONFIG} --cflags`]) + VLC_ADD_LDFLAGS([arts],[`${ARTS_CONFIG} --libs `]) + fi + fi]) dnl dnl ALSA module @@ -3347,6 +3585,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 ], @@ -3406,6 +3645,50 @@ then AC_LANG_POP([C++]) fi +dnl +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 + 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 + AC_LANG_PUSH(C++) + real_cyberlink_tree="`cd ${with_cyberlink_tree} 2>/dev/null && pwd`" + if test -z "${real_cyberlink_tree}" + then + 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}" + AC_CHECK_HEADERS([cybergarage/upnp/MediaServer.h], + [ VLC_ADD_CXXFLAGS([upnp], [${CXXFLAGS_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 + 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_LANG_POP([C++]) + fi +fi + dnl dnl Interface plugins dnl @@ -3596,33 +3879,42 @@ dnl fi dnl fi dnl -dnl wxWindows module +dnl wxWidgets module dnl -AC_ARG_ENABLE(wxwindows, - [ --enable-wxwindows wxWindows support (default enabled)]) -if test "${enable_wxwindows}" != "no" +AC_ARG_ENABLE(wxwidgets, + [ --enable-wxwidgets wxWidgets support (default enabled)]) +if test "${enable_wxwindows}" +then + AC_MSG_WARN(--{en|dis}able-wxwindows is deprecated. Use --{en|dis}able-wxwidgets instead.) +fi + +if test "${enable_wxwindows}" = "no" +then + enable_wxwidgets="no" +fi +if test "${enable_wxwidgets}" != "no" then - WXWINDOWS_PATH="${PATH}" + WXWIDGETS_PATH="${PATH}" AC_ARG_WITH(wx-config-path, [ --with-wx-config-path=PATH wx-config path (default search in \$PATH)], [ if test "${with_wx_config_path}" != "no" then - WXWINDOWS_PATH="${with_wx_config_path}:${PATH}" + WXWIDGETS_PATH="${with_wx_config_path}:${PATH}" fi ]) - WXWINDOWS_NAME="wx-config" + WXWIDGETS_NAME="wx-config" AC_ARG_WITH(wx-config, [ --with-wx-config=NAME wx-config name (default is wx-config)], [ if test "${with_wx_config}" != "no" then - WXWINDOWS_NAME="${with_wx_config}" + WXWIDGETS_NAME="${with_wx_config}" fi ]) # look for wx-config - AC_PATH_PROG(WX_CONFIG, ${WXWINDOWS_NAME}, no, ${WXWINDOWS_PATH}) + AC_PATH_PROG(WX_CONFIG, ${WXWIDGETS_NAME}, no, ${WXWIDGETS_PATH}) if test "${WX_CONFIG}" != "no" -a "${CXX}" != "" then if expr 2.3.0 \> `${WX_CONFIG} --version` >/dev/null then - AC_MSG_ERROR([Your development package for wxWindows is too old, you need at least version 2.3.0. Please upgrade and try again. Alternatively you can also configure with --disable-wxwindows.]) + AC_MSG_ERROR([Your development package for wxWidgets is too old, you need at least version 2.3.0. Please upgrade and try again. Alternatively you can also configure with --disable-wxwidgets.]) fi AC_LANG_PUSH(C++) # Turn this error: @@ -3634,20 +3926,42 @@ then AC_TRY_COMPILE([],,ac_cv_cxx_fpermissive=yes, ac_cv_cxx_fpermissive=no)]) if test "${ac_cv_cxx_fpermissive}" = "yes"; then - VLC_ADD_CXXFLAGS([wxwindows],-fpermissive) + VLC_ADD_CXXFLAGS([wxwidgets],-fpermissive) fi - VLC_ADD_CXXFLAGS([wxwindows],[`${WX_CONFIG} --cxxflags`]) - VLC_ADD_LDFLAGS([wxwindows],[`${WX_CONFIG} --libs`]) + 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]) + VLC_ADD_CXXFLAGS([wxwidgets],[$LIBCDIO_CFLAGS]) + else + AC_MSG_WARN([Probe disc disabled because ok libcdio library not found]) + fi + + if test "$have_libvcdinfo" = "yes" + then + VLC_ADD_LDFLAGS([wxwidgets],[$VCDINFO_LIBS]) + VLC_ADD_CXXFLAGS([wxwidgets],[$VCDINFO_CFLAGS]) + else + AC_MSG_WARN([VCD information on Probe disc disabled because ok libvcdinfo not found]) + fi + # now look for the wxprec.h header - CPPFLAGS="${CPPFLAGS_save} ${CXXFLAGS_wxwindows}" + CPPFLAGS="${CPPFLAGS_save} ${CXXFLAGS_wxwidgets}" ac_cv_wx_headers=yes AC_CHECK_HEADERS(wx/wxprec.h, , [ ac_cv_wx_headers=no - echo "Cannot find wxWindows development headers." + echo "Cannot find wxWidgets development headers." ]) if test "${ac_cv_wx_headers}" = "yes" then - VLC_ADD_PLUGINS([wxwindows]) + VLC_ADD_PLUGINS([wxwidgets]) ALIASES="${ALIASES} wxvlc" fi CPPFLAGS="${CPPFLAGS_save}" @@ -3678,7 +3992,7 @@ if test "${enable_skins2}" != "no" then if test "${WX_CONFIG}" = "no" then - AC_MSG_ERROR([The skins2 module depends on the wxWindows development package. Without it you won't be able to open any dialog box from the interface, which makes the skins2 interface rather useless. Install the wxWindows development package or alternatively you can also configure with: --disable-wxwindows --disable-skins2.]) + AC_MSG_ERROR([The skins2 module depends on the wxWidgets development package. Without it you won't be able to open any dialog box from the interface, which makes the skins2 interface rather useless. Install the wxWidgets development package or alternatively you can also configure with: --disable-wxwidgets --disable-skins2.]) fi fi @@ -3969,6 +4283,21 @@ 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, + [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 @@ -4091,6 +4420,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 @@ -4126,7 +4457,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" @@ -4154,23 +4488,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} @@ -4297,6 +4637,23 @@ then fi] AM_CONDITIONAL(HAVE_BUILTINS, ${builtin_support}) +AC_ARG_ENABLE(shared-libvlc, + [ --enable-shared-libvlc shared libvlc (default disabled EXPERIMENTAL)], + ,[shared_libvlc=no]) + +AM_CONDITIONAL(BUILD_SHARED, [test "${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 "${SYS}" = "mingw32"], [pic=no]) + +AS_IF([test "${pic}" = "no"], [pic=]) +AC_SUBST(pic) + dnl Import conditional variables generated by bootstrap VLC_CONDITIONALS @@ -4304,18 +4661,31 @@ dnl dnl Stuff used by the program dnl AC_DEFINE_UNQUOTED(VERSION_MESSAGE, "${VERSION} ${CODENAME}", [Simple version string]) -AC_DEFINE_UNQUOTED(COPYRIGHT_MESSAGE, "VLC media player - version ${VERSION} ${CODENAME} - (c) 1996-2005 VideoLAN", [Copyright string]) +AC_DEFINE_UNQUOTED(COPYRIGHT_MESSAGE, "VLC media player - version ${VERSION} ${CODENAME} - (c) 1996-2005 the VideoLAN team", [Copyright string]) AC_DEFINE_UNQUOTED(CONFIGURE_LINE, "${CONFIGURE_LINE}", [The ./configure command line]) +AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MAJOR,"${VERSION_MAJOR}", [version major number]) +AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MINOR,"${VERSION_MINOR}", [version minor number]) +AC_DEFINE_UNQUOTED(PACKAGE_VERSION_REVISION,"${VERSION_REVISION}", [version minor number]) +AC_DEFINE_UNQUOTED(PACKAGE_VERSION_EXTRA,"${VERSION_EXTRA}", [version minor number]) +AC_SUBST(VERSION_MAJOR) +AC_SUBST(VERSION_MINOR) +AC_SUBST(VERSION_REVISION) +AC_DEFINE_UNQUOTED(VLC_COMPILE_BY, "`whoami`", [user who ran configure]) +AC_DEFINE_UNQUOTED(VLC_COMPILE_HOST, "`hostname`", [host which ran configure]) +AC_DEFINE_UNQUOTED(VLC_COMPILE_DOMAIN, "`dnsdomainname 2>/dev/null || domainname 2>/dev/null || echo unknown`", [domain of the host which ran configure]) +AC_DEFINE_UNQUOTED(VLC_COMPILER, "`$CC -v 2>&1 | tail -n 1`", [compiler]) dnl Old definitions for version-dependant plugins dnl VLC_SYMBOL="`echo ${VERSION} | sed -e 'y/.-+/___/'`" dnl AC_DEFINE_UNQUOTED(MODULE_SUFFIX, "__${VLC_SYMBOL}", [String suffix for module functions]) dnl AC_DEFINE_UNQUOTED(MODULE_SYMBOL, ${VLC_SYMBOL}, [Symbol suffix for module functions]) -dnl New definitions with value matching 0.8.2 release -AC_DEFINE_UNQUOTED(MODULE_SUFFIX, "__0_8_2", [String suffix for module functions]) -AC_DEFINE_UNQUOTED(MODULE_SYMBOL, 0_8_2, [Symbol suffix for module functions]) - +dnl New definitions with value matching 0.8.4 release +module_symbol="0_8_4" +AC_DEFINE_UNQUOTED(MODULE_SUFFIX, "__${module_symbol}", [String suffix for module functions]) +AC_DEFINE_UNQUOTED(MODULE_SYMBOL, $module_symbol, [Symbol suffix for module functions]) +VLC_ENTRY="vlc_entry__${module_symbol}" +AC_SUBST(VLC_ENTRY) DATA_PATH="${ac_tool_prefix}/share/vlc" AC_SUBST(DATA_PATH) @@ -4364,6 +4734,7 @@ VLC_OUTPUT_VLC_CONFIG_IN AC_CONFIG_FILES([ Makefile activex/Makefile + activex/axvlc.inf debian/Makefile doc/Makefile intl/Makefile @@ -4375,7 +4746,6 @@ AC_CONFIG_FILES([ m4/Makefile po/Makefile.in share/Makefile - src/Makefile ]) AC_CONFIG_FILES([ @@ -4384,9 +4754,9 @@ AC_CONFIG_FILES([ modules/access/dvb/Makefile modules/access/mms/Makefile modules/access/pvr/Makefile - modules/access/satellite/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 @@ -4404,6 +4774,7 @@ AC_CONFIG_FILES([ modules/codec/ffmpeg/Makefile modules/codec/spudec/Makefile modules/control/Makefile + modules/control/http/Makefile modules/control/corba/Makefile modules/demux/Makefile modules/demux/asf/Makefile @@ -4415,14 +4786,10 @@ AC_CONFIG_FILES([ modules/gui/Makefile modules/gui/beos/Makefile modules/gui/pda/Makefile - modules/gui/gtk/Makefile - modules/gui/gtk2/Makefile - modules/gui/kde/Makefile modules/gui/macosx/Makefile modules/gui/qnx/Makefile - modules/gui/qt/Makefile modules/gui/skins2/Makefile - modules/gui/wxwindows/Makefile + modules/gui/wxwidgets/Makefile modules/gui/wince/Makefile modules/misc/Makefile modules/misc/dummy/Makefile