X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=configure.ac;h=7cdd018abb744a9ebce21cf4541733cff3cd5fc8;hb=a7cde6734406704ee529a3bef09e1f4af5d3637d;hp=056f89fff28353706d81dacede6cec96845bfc91;hpb=8c140b9e37ab05d0f766a133c34f897e0a3fed92;p=vlc diff --git a/configure.ac b/configure.ac index 056f89fff2..7cdd018abb 100644 --- a/configure.ac +++ b/configure.ac @@ -192,9 +192,9 @@ case "${host_os}" in VLC_ADD_LDFLAGS([mkv mp4], [-Wl,-framework,IOKit,-framework,CoreFoundation]) VLC_ADD_LDFLAGS([vlc],[-Wl,-undefined,dynamic_lookup]) VLC_ADD_LDFLAGS([libvlc_control],[-Wl,dynamic_lookup]) - VLC_ADD_LDFLAGS([ffmpeg i420_rgb_mmx x264],[-Wl,-read_only_relocs,suppress]) + VLC_ADD_LDFLAGS([avcodec avformat swscale imgresample postproc i420_rgb_mmx x264],[-Wl,-read_only_relocs,suppress]) VLC_ADD_CFLAGS([motion],[-fconstant-cfstrings]) - VLC_ADD_LDFLAGS([libvlc],[-Wl,-framework,Cocoa,-framework,CoreFoundation]) + VLC_ADD_LDFLAGS([libvlc],[-Wl,-framework,CoreFoundation]) VLC_ADD_LDFLAGS([motion],[-Wl,-framework,IOKit,-framework,CoreFoundation]) AC_ARG_ENABLE(macosx-defaults, [ --enable-macosx-defaults Build the default configuration on Mac OS X (default enabled)]) @@ -231,6 +231,8 @@ case "${host_os}" in echo " Assuming --enable-twolame" enable_realrtsp="yes" echo " Assuming --enable-realrtsp" + enable_update_check="yes" + echo " Assuming --enable-update-check" enable_skins2="no" echo " Assuming --disable-skins2" @@ -313,13 +315,13 @@ case "${host_os}" in VLC_ADD_LDFLAGS([vlc],[-mwindows]) VLC_ADD_LIBS([activex mozilla],[-lgdi32]) VLC_ADD_LIBS([cdda vcdx cddax sdl_image],[-lwinmm]) - VLC_ADD_LIBS([access_http access_mms access_udp access_tcp access_ftp access_rtmp access_output_udp access_output_shout access_output_rtmp sap slp http stream_out_standard stream_out_rtp vod_rtsp access_realrtsp telnet rc netsync gnutls growl_udp flac ts audioscrobbler lua],[-lws2_32]) + VLC_ADD_LIBS([access_http access_mms access_udp access_tcp access_ftp access_rtmp access_output_udp access_output_shout access_output_rtmp sap slp http stream_out_standard stream_out_rtp vod_rtsp access_realrtsp rtp telnet rc netsync gnutls growl_udp flac ts audioscrobbler lua remoteosd],[-lws2_32]) fi if test "${SYS}" = "mingwce"; then # add ws2 for closesocket, select, recv VLC_ADD_CPPFLAGS([libvlc vlc],[-Dmain(a,b)=maince(a,b)]) VLC_ADD_LDFLAGS([libvlc vlc],[-e WinMainCRTStartup]) - VLC_ADD_LIBS([libvlc access_http access_mms access_udp access_tcp access_ftp access_rtmp access_output_udp sap http netsync audioscrobbler growl rtp stream_out_rtp],[-lws2]) + VLC_ADD_LIBS([libvlc access_http access_mms access_udp access_tcp access_ftp access_rtmp access_output_udp sap http netsync audioscrobbler growl rtp stream_out_rtp remoteosd],[-lws2]) VLC_ADD_LIBS([libvlc],[-lmmtimer]) fi ;; @@ -518,7 +520,7 @@ AC_CHECK_FUNCS(connect,,[ AC_CHECK_FUNCS(send,,[ AC_CHECK_LIB(socket,send,[ - VLC_ADD_LIBS([access_http access_mms access_udp access_tcp access_ftp access_rtmp sap access_output_udp access_output_rtmp stream_out_standard growl_udp],[-lsocket]) + VLC_ADD_LIBS([access_http access_mms access_udp access_tcp access_ftp access_rtmp sap access_output_udp access_output_rtmp stream_out_standard growl_udp remoteosd],[-lsocket]) ]) ]) @@ -645,7 +647,7 @@ AC_CHECK_LIB(m,cos,[ VLC_ADD_LIBS([adjust wave ripple psychedelic gradient a52tofloat32 dtstofloat32 x264 goom visual panoramix rotate noise grain],[-lm]) ]) AC_CHECK_LIB(m,pow,[ - VLC_ADD_LIBS([ffmpeg ffmpegaltivec stream_out_transrate i420_rgb faad twolame equalizer spatializer param_eq libvlc vorbis freetype mod mpc dmo quicktime realaudio galaktos opengl],[-lm]) + VLC_ADD_LIBS([avcodec avformat swscale imgresample postproc ffmpegaltivec stream_out_transrate i420_rgb faad twolame equalizer spatializer param_eq libvlc vorbis freetype mod mpc dmo quicktime realaudio realvideo galaktos opengl],[-lm]) ]) AC_CHECK_LIB(m,sqrt,[ VLC_ADD_LIBS([headphone_channel_mixer normvol speex mono colorthres extract],[-lm]) @@ -730,7 +732,7 @@ if test "${ac_cv_have_plugins}" = "no"; then ac_cv_my_have_dlopen=yes, AC_CHECK_LIB(dl, dlopen, ac_cv_my_have_dlopen=yes - VLC_ADD_LIBS([libvlc realaudio],[-ldl]), + VLC_ADD_LIBS([libvlc realaudio realvideo],[-ldl]), AC_CHECK_LIB(svld, dlopen, ac_cv_my_have_dlopen=yes VLC_ADD_LIBS([libvlc],[-lsvld])))) @@ -861,20 +863,13 @@ AC_ARG_ENABLE(hal, if test "${enable_hal}" != "no" then PKG_CHECK_MODULES(HAL, hal >= 0.5.0, - [ AC_DEFINE( HAVE_HAL_1, 1 , [Define if you have the new HAL library API]) + [ AC_DEFINE( HAVE_HAL, 1, [Define if you have the HAL library] ) VLC_ADD_PLUGIN([hal]) VLC_ADD_PLUGIN([probe_hal]) VLC_ADD_LIBS([libvlc hal probe_hal],[$HAL_LIBS]) - VLC_ADD_CFLAGS([libvlc hal probe_hal],[$HAL_CFLAGS])], - dnl No hal 0.5 Test for 0.2 - [ PKG_CHECK_MODULES( HAL, hal >= 0.2.97, - [AC_DEFINE(HAVE_HAL, 1, [Define if you have the HAL library]) - VLC_ADD_PLUGIN([hal]) - VLC_ADD_LIBS([libvlc hal],[$HAL_LIBS]) - VLC_ADD_CFLAGS([libvlc hal],[$HAL_CFLAGS])], - [AC_MSG_WARN(HAL library not found)]) - ] + VLC_ADD_CFLAGS([libvlc hal probe_hal],[$HAL_CFLAGS])], + [AC_MSG_WARN([libhal >= 0.5.0 was not found. Install libhal-dev ?])] ) fi @@ -887,10 +882,7 @@ if test "${enable_dbus}" != "no" then dnl api stable dbus PKG_CHECK_MODULES(DBUS, dbus-1 >= 1.0.0, - [ AC_DEFINE( HAVE_DBUS_3, 1, [Define if you have the D-BUS library API >= 1.0.0] ) - AC_DEFINE( HAVE_DBUS_2, 1, [Define if you have the D-BUS library API >= 0.92] ) - AC_DEFINE( HAVE_DBUS_1, 1, [Define if you have the D-BUS library API >= 0.30] ) - AC_DEFINE( HAVE_DBUS, 1, [Define if you have the D-BUS library] ) + [ AC_DEFINE( HAVE_DBUS, 1, [Define if you have the D-BUS library] ) VLC_ADD_LIBS([screensaver libvlc],[$DBUS_LIBS]) VLC_ADD_CFLAGS([screensaver libvlc],[$DBUS_CFLAGS]) dnl Check for dbus control interface @@ -912,49 +904,8 @@ then VLC_ADD_PLUGIN([inhibit]) VLC_ADD_LIBS([inhibit],[$DBUS_LIBS]) VLC_ADD_CFLAGS([inhibit],[$DBUS_CFLAGS]) - ], - if ${PKG_CONFIG} --exists dbus-1 - then - [AC_ARG_ENABLE(old-dbus, - [ --enable-old-dbus Deprecated D-Bus support (default disabled)])] - - if test "${enable_old_dbus}" != "yes" - then - echo "" - echo "****** WARNING **** WARNING ***** WARNING *************" - echo "*** Your D-Bus version is < 1.0.0" - echo "*** You are using old and buggy software and so" - echo "*** D-Bus support has been disabled." - echo "*** Please upgrade D-Bus : http://dbus.freedesktop.org" - echo "*** Alternatively you can force the use of your old and" - echo "*** buggy D-Bus version by specifying --enable-old-dbus" - echo "*******************************************************" - echo "" - else - dnl not too old dbus - [ PKG_CHECK_MODULES(DBUS, dbus-1 >= 0.92, - [ AC_DEFINE( HAVE_DBUS_2, 1, [Define if you have the D-BUS library API >= 0.92] ) - AC_DEFINE( HAVE_DBUS_1, 1, [Define if you have the D-BUS library API >= 0.30] ) - AC_DEFINE( HAVE_DBUS, 1, [Define if you have the D-BUS library] ) - VLC_ADD_LIBS([screensaver],[$DBUS_LIBS]) - VLC_ADD_CFLAGS([screensaver],[$DBUS_CFLAGS])], - dnl older dbus - [ PKG_CHECK_MODULES(DBUS, dbus-1 >= 0.30, - [ AC_DEFINE( HAVE_DBUS_1, 1, [Define if you have the D-BUS library API >= 0.30 ] ) - AC_DEFINE( HAVE_DBUS, 1, [Define if you have the D-BUS library] ) - VLC_ADD_LIBS([screensaver],[$DBUS_LIBS]) - VLC_ADD_CFLAGS([screensaver],[$DBUS_CFLAGS])], - dnl much older dbus - [ PKG_CHECK_MODULES( DBUS, dbus-1, - [AC_DEFINE(HAVE_DBUS, 1, [Define if you have the D-BUS library]) - VLC_ADD_LIBS([screensaver],[$DBUS_LIBS]) - VLC_ADD_CFLAGS([screensaver],[$DBUS_CFLAGS])], - [AC_MSG_WARN(DBUS library not found)]) - ] - )] - )] - fi - fi + ], + [AC_MSG_ERROR([Couldn't find DBus >= 1.0.0, install libdbus-dev ?])] ) fi ;; @@ -1066,16 +1017,6 @@ if test "${ac_cv_c_omit_frame_pointer}" != "no"; then CFLAGS_OPTIM_NODEBUG="${CFLAGS_OPTIM_NODEBUG} -fomit-frame-pointer" fi -dnl Check for -mdynamic-no-pic -dnl AC_CACHE_CHECK([if \$CC accepts -mdynamic-no-pic], -dnl [ac_cv_c_dynamic_no_pic], -dnl [CFLAGS="${CFLAGS_save} -mdynamic-no-pic" -dnl AC_TRY_COMPILE([],,ac_cv_c_dynamic_no_pic=yes, ac_cv_c_dynamic_no_pic=no)]) -dnl AS_IF([test "${ac_cv_c_dynamic_no_pic}" != "no"], [ -dnl VLC_ADD_CFLAGS([builtin],[-mdynamic-no-pic]) -dnl VLC_ADD_CFLAGS([libvlc],[-mdynamic-no-pic]) -dnl ]) - dnl Check for Darwin plugin linking flags AC_CACHE_CHECK([if \$CC accepts -bundle -undefined error], [ac_cv_ld_darwin], @@ -1085,20 +1026,6 @@ if test "${ac_cv_ld_darwin}" != "no"; then VLC_ADD_LDFLAGS([plugin],[-bundle -undefined error]) fi -dnl Check for standard plugin linking flags -dnl BeOS' gcc needs -nostart instead of -shared, even if -shared isn't harmful (just a warning) -dnl AS_IF([test "${SYS}" = "beos"], [ -dnl VLC_ADD_LDFLAGS([plugin mozilla],[-nostart]) -dnl ], [ -dnl AC_CACHE_CHECK([if \$CC accepts -shared], -dnl [ac_cv_ld_plugins], -dnl [CFLAGS="${CFLAGS_save} -shared" -dnl AC_TRY_COMPILE([],, ac_cv_ld_plugins=yes, ac_cv_ld_plugins=no)]) -dnl AS_IF([test "${ac_cv_ld_plugins}" != "no"], [ -dnl VLC_ADD_LDFLAGS([plugin mozilla],[-shared]) -dnl ]) -dnl ]) - dnl Checks for __attribute__(aligned()) directive AC_CACHE_CHECK([__attribute__ ((aligned ())) support], [ac_cv_c_attribute_aligned], @@ -1137,6 +1064,10 @@ case "${host_cpu}" in ;; esac +dnl Check for backtrace() support +AC_CHECK_HEADERS(execinfo.h) +AC_CHECK_FUNCS(backtrace) + dnl dnl Enable profiling dnl @@ -1151,6 +1082,7 @@ dnl dnl default modules dnl VLC_ADD_PLUGIN([dummy]) +VLC_ADD_PLUGIN([stats]) VLC_ADD_PLUGIN([logger]) VLC_ADD_PLUGIN([memcpy]) dnl Demuxers: @@ -1159,34 +1091,11 @@ VLC_ADD_PLUGIN([mpga]) VLC_ADD_PLUGIN([m4v]) VLC_ADD_PLUGIN([m4a]) VLC_ADD_PLUGIN([h264]) -VLC_ADD_PLUGIN([vc1]) -VLC_ADD_PLUGIN([demux_cdg]) VLC_ADD_PLUGIN([cdg]) VLC_ADD_PLUGIN([ps]) -VLC_ADD_PLUGIN([pva]) VLC_ADD_PLUGIN([avi]) VLC_ADD_PLUGIN([asf]) VLC_ADD_PLUGIN([mp4]) -VLC_ADD_PLUGIN([rawdv]) -VLC_ADD_PLUGIN([rawvid]) -VLC_ADD_PLUGIN([nsv]) -VLC_ADD_PLUGIN([real]) -VLC_ADD_PLUGIN([aiff]) -VLC_ADD_PLUGIN([mjpeg]) -VLC_ADD_PLUGIN([wav]) -VLC_ADD_PLUGIN([voc]) -VLC_ADD_PLUGIN([smf]) -VLC_ADD_PLUGIN([demuxdump]) -VLC_ADD_PLUGIN([flacsys]) -VLC_ADD_PLUGIN([tta]) -VLC_ADD_PLUGIN([subtitle]) -VLC_ADD_PLUGIN([vobsub]) -VLC_ADD_PLUGIN([a52sys]) -VLC_ADD_PLUGIN([dtssys]) -VLC_ADD_PLUGIN([au]) -VLC_ADD_PLUGIN([ty]) -VLC_ADD_PLUGIN([xa]) -VLC_ADD_PLUGIN([nuv]) dnl Text codecs: VLC_ADD_PLUGIN([cvdsub]) VLC_ADD_PLUGIN([svcdsub]) @@ -1320,6 +1229,7 @@ if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then VLC_ADD_PLUGIN([screensaver]) VLC_ADD_PLUGIN([motion]) VLC_ADD_PLUGIN([dynamicoverlay]) + VLC_ADD_PLUGIN([signals]) elif test "${SYS}" != "mingwce"; then VLC_ADD_PLUGIN([ntservice]) VLC_ADD_PLUGIN([access_smb]) @@ -2406,8 +2316,8 @@ dnl dnl Video4Linux2 plugin dnl AC_ARG_ENABLE(v4l2, - [ --enable-v4l2 Video4Linux2 input support (default disabled)]) -if test "${enable_v4l2}" = "yes" + [ --enable-v4l2 Video4Linux2 input support (default enabled)]) +if test "${enable_v4l2}" != "no" then AC_ARG_WITH(v4l2, [ --with-v4l2=PATH path to a v4l2-enabled kernel tree],[],[]) @@ -2454,7 +2364,7 @@ then AC_CACHE_CHECK([for new linux/videodev2.h], - [new_linux_videodev2_h], + [ac_cv_new_linux_videodev2_h], [AC_TRY_COMPILE([ #include # ifdef VIDEODEV2_H_FILE @@ -2464,9 +2374,9 @@ then # endif ], [struct v4l2_ext_controls ctrls; ctrls.ctrl_class = V4L2_CTRL_CLASS_MPEG; ], - new_linux_videodev2_h=yes, - new_linux_videodev2_h=no)]) - if test "${new_linux_videodev2_h}" != "no"; then + ac_cv_new_linux_videodev2_h=yes, + ac_cv_new_linux_videodev2_h=no)]) + if test "${ac_cv_new_linux_videodev2_h}" != "no"; then AC_DEFINE(HAVE_NEW_LINUX_VIDEODEV2_H, 1, [Define if new linux/videodev2.h present]) fi fi @@ -2649,9 +2559,9 @@ dnl dnl DVB-S/DVB-T/DVB-C satellite/teresterial/cable input using v4l2 dnl AC_ARG_ENABLE(dvb, - [ --enable-dvb DVB-S/T/C card support (default disabled)]) + [ --enable-dvb DVB-S/T/C card support (default enabled)]) -if test "${enable_dvb}" = "yes" +if test "${enable_dvb}" != "no" then AC_ARG_WITH(dvb, [ --with-dvb=PATH path to a dvb- and v4l2-enabled kernel tree],[],[]) @@ -2988,102 +2898,137 @@ AS_IF([test "${enable_id3tag}" != "no"], [ ]) dnl -dnl ffmpeg decoder/demuxer plugin +dnl avcodec decoder/encoder plugin dnl -dnl we try to find ffmpeg using : 1- given tree, 2- pkg-config -dnl 3- default place, -AC_ARG_ENABLE(ffmpeg, -[ --enable-ffmpeg ffmpeg codec (default enabled)]) -if test "${enable_ffmpeg}" != "no" +AC_ARG_ENABLE(avcodec, +[ --enable-avcodec libavcodec codec (default enabled)]) +if test "${enable_avcodec}" != "no" then + PKG_CHECK_MODULES(AVCODEC,[libavcodec libavutil], + [ + VLC_SAVE_FLAGS + CPPFLAGS="${CPPFLAGS} ${AVCODEC_CFLAGS}" + CFLAGS="${CFLAGS} ${AVCODEC_CFLAGS}" + AC_CHECK_HEADERS(libavcodec/avcodec.h ffmpeg/avcodec.h) + AC_CHECK_HEADERS(libavutil/avutil.h ffmpeg/avutil.h) + VLC_ADD_PLUGIN([avcodec]) + VLC_ADD_LIBS([avcodec],[$AVCODEC_LIBS]) + VLC_ADD_CFLAGS([avcodec],[$AVCODEC_CFLAGS]) + VLC_RESTORE_FLAGS + ],[ + AC_MSG_ERROR([Could not find libavcodec or libavutil. Use --disable-avcodec to ignore this error.]) + ]) +fi + +dnl +dnl avformat demuxer/muxer plugin +dnl -dnl Trying with pkg-config - PKG_CHECK_MODULES(FFMPEG,[libavcodec, libavformat], +AC_ARG_ENABLE(avformat, +[ --enable-avformat libavformat containers (default enabled)]) +if test "${enable_avformat}" != "no" +then + PKG_CHECK_MODULES(AVFORMAT,[libavformat libavutil], [ - VLC_SAVE_FLAGS - CPPFLAGS="${CPPFLAGS} ${FFMPEG_CFLAGS}" - CFLAGS="${CFLAGS} ${FFMPEG_CFLAGS}" - AC_CHECK_HEADERS(ffmpeg/avcodec.h libavcodec/avcodec.h) - AC_CHECK_HEADERS(ffmpeg/avformat.h libavformat/avformat.h) - AC_CHECK_HEADERS(ffmpeg/avutil.h libavutil/avutil.h) - dnl newer ffmpeg have a separate libpostproc - PKG_CHECK_MODULES(POSTPROC, libpostproc,[ - VLC_ADD_CFLAGS([ffmpeg],[${POSTPROC_CFLAGS}]) - VLC_ADD_LIBS([ffmpeg],[${POSTPROC_LIBS}]) - ]) - CPPFLAGS="${CPPFLAGS} ${POSTPROC_CFLAGS}" - CFLAGS="${CFLAGS} ${POSTPROC_CFLAGS}" - AC_CHECK_HEADERS(postproc/postprocess.h) - VLC_ADD_PLUGIN([ffmpeg]) - if test "${enable_sout}" != "no" -a "${enable_switcher}" = "yes"; then - VLC_ADD_PLUGIN([stream_out_switcher]) - fi - VLC_ADD_CFLAGS([ffmpeg stream_out_switcher],[${FFMPEG_CFLAGS}]) - VLC_ADD_LIBS([ffmpeg stream_out_switcher],[${FFMPEG_LIBS}]) - - dnl even newer ffmpeg has a libswscale - PKG_CHECK_MODULES(SWSCALE,[libswscale],[ - VLC_ADD_CFLAGS([ffmpeg],[${SWSCALE_CFLAGS}]) - VLC_ADD_LIBS([ffmpeg],[${SWSCALE_LIBS}]) - AC_CHECK_LIB(swscale, sws_getContext, - [AC_CHECK_HEADERS([ffmpeg/swscale.h libswscale/swscale.h])], - [AC_CHECK_LIB(avcodec,img_resample,[], - [AC_MSG_ERROR([Your FFmpeg library doesn't have the needed img_resample() function. You should rebuild it with software scaler disabled, or install the swscale headers.])], - [${FFMPEG_LIBS}]) - ], - [${SWSCALE_LIBS}]) - ],[AC_CHECK_LIB(avcodec,img_resample,[], - [AC_MSG_ERROR([Your FFmpeg library doesn't have the needed img_resample() function. You should rebuild it with software scaler disabled, or install the swscale headers.])], - [${FFMPEG_LIBS}]) - ] - ) - VLC_RESTORE_FLAGS + VLC_SAVE_FLAGS + CPPFLAGS="${CPPFLAGS} ${AVFORMAT_CFLAGS}" + CFLAGS="${CFLAGS} ${AVFORMAT_CFLAGS}" + AC_CHECK_HEADERS(libavformat/avformat.h ffmpeg/avformat.h) + AC_CHECK_HEADERS(libavutil/avutil.h ffmpeg/avutil.h) + VLC_ADD_PLUGIN([avformat]) + VLC_ADD_LIBS([avformat],[$AVFORMAT_LIBS]) + VLC_ADD_CFLAGS([avformat],[$AVFORMAT_CFLAGS]) + VLC_RESTORE_FLAGS + ],[ + AC_MSG_ERROR([Could not find libavformat or libavutil. Use --disable-avformat to ignore this error.]) + ]) +fi - ],[ +dnl +dnl swscale image scaling and conversion plugin +dnl - dnl - dnl last chance: at the default place - dnl +AC_ARG_ENABLE(swscale, +[ --enable-swscale libswscale image scaling and conversion (default enabled)]) +if test "${enable_swscale}" != "no" +then + PKG_CHECK_MODULES(SWSCALE,[libswscale], + [ VLC_SAVE_FLAGS - CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_ffmpeg}" - LDFLAGS="${LDFLAGS_save} ${LDFLAGS_ffmpeg} ${LIBS_ffmpeg}" - AC_CHECK_HEADERS(ffmpeg/avcodec.h libavcodec/avcodec.h) - AC_CHECK_HEADERS(ffmpeg/avformat.h libavformat/avformat.h) - AC_CHECK_HEADERS(ffmpeg/avutil.h libavutil/avutil.h) - AC_CHECK_HEADERS(postproc/postprocess.h) - - AC_CHECK_LIB(avutil, av_crc_init, [ - VLC_ADD_LIBS([ffmpeg],[-lavutil]) - LDAVUTIL="-lavutil"]) - - AC_CHECK_LIB(avcodec, avcodec_init, [ - VLC_ADD_BUILTINS([ffmpeg]) - VLC_ADD_LIBS([ffmpeg],[-lavcodec]) - if test "${enable_sout}" != "no" -a "${enable_switcher}" = "yes"; 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/ (svn version is recommended). Alternatively you can use --disable-ffmpeg to disable the ffmpeg plugins.]) ], [$LDAVUTIL]) - - AC_CHECK_LIB(postproc, pp_postprocess, [ - VLC_ADD_LIBS([ffmpeg],[-lpostproc])], - AC_MSG_ERROR([Could not find libpostproc inside FFmpeg. You should configure FFmpeg with --enable-gpl --enable-postproc.]), - [$LDAVUTIL]) - - AC_CHECK_LIB(avformat, av_open_input_stream, [ - VLC_ADD_LIBS([ffmpeg],[-lavformat -lz]) ], [], [-lavcodec -lz $LDAVUTIL]) + CPPFLAGS="${CPPFLAGS} ${SWSCALE_CFLAGS}" + CFLAGS="${CFLAGS} ${SWSCALE_CFLAGS}" + AC_CHECK_HEADERS(libswscale/swscale.h ffmpeg/swscale.h) + VLC_ADD_PLUGIN([swscale]) + VLC_ADD_LIBS([swscale],[$SWSCALE_LIBS]) + VLC_ADD_CFLAGS([swscale],[$SWSCALE_CFLAGS]) VLC_RESTORE_FLAGS + ],[ + AC_MSG_WARN([Could not find libswscale. Trying to enable imgresample.]) + enable_imgresample=yes + ]) +fi - AC_CHECK_LIB(swscale, sws_getContext, [ - AC_CHECK_HEADERS(ffmpeg/swscale.h libswscale/swscale.h) - VLC_ADD_LIBS([ffmpeg],[-lswscale]) ], - [AC_CHECK_LIB(avcodec,img_resample,[], - [AC_MSG_ERROR([Your FFmpeg library doesn't have the needed img_resample() function. You should rebuild it with software scaler disabled, or install the swscale headers.])], - [-lavcodec $LDAVUTIL]) - ], - [${SWSCALE_LIBS}]) +dnl +dnl avcodec (deprecated API) image scaling and conversion plugin +dnl +dnl This is build as a seperate module than the avcodec one to prevent +dnl stupid run time library load errors from disabling most codecs +dnl from VLC. +dnl + +AC_ARG_ENABLE(imgresample, +[ --enable-imgresample deprecated libavcodec image scaling and conversion (default disabled)]) +if test "${enable_imgresample}" = "yes" +then + PKG_CHECK_MODULES(IMGRESAMPLE,[libavcodec], + [ + VLC_SAVE_FLAGS + CPPFLAGS="${CPPFLAGS} ${IMGRESAMPLE_CFLAGS}" + CFLAGS="${CFLAGS} ${IMGRESAMPLE_CFLAGS}" + AC_CHECK_HEADERS(libavcodec/avcodec.h ffmpeg/avcodec.h) + AC_CHECK_LIB(avcodec,img_resample, + [ + VLC_ADD_PLUGIN([imgresample]) + VLC_ADD_LIBS([imgresample],[$IMGRESAMPLE_LIBS]) + VLC_ADD_CFLAGS([imgresample],[$IMGRESAMPLE_CFLAGS]) + ],[ + AC_MSG_WARN([Could not find img_resample in libavcodec.]) + if test "${enable_swscale}" != "no" + then + AC_MSG_ERROR([swscale (and its fallback module imgresample) support will be missing. Use --disable-swscale to ignore this error. (This basically means that you will be missing any good software scaling module and some video chroma converters.)]) + fi + # That sed hack to add -rpath is kind of ugly but at least it fixes + # detection when linking against a shared libavcodec with + # a libavutil not in one of your ld.so.conf directories. + # (for example a local install) + ],[${IMGRESAMPLE_LIBS} `echo ${IMGRESAMPLE_LIBS}|sed s'/-L/-Wl,-rpath=/'`]) + VLC_RESTORE_FLAGS + ],[ + AC_MSG_WARN([Could not find libavcodec.]) + ]) +fi + +dnl +dnl postproc plugin +dnl +AC_ARG_ENABLE(postproc, +[ --enable-postproc libpostproc image post-processing (default enabled)]) +if test "${enable_postproc}" != "no" +then + PKG_CHECK_MODULES(POSTPROC,[libpostproc libavutil], + [ + VLC_SAVE_FLAGS + CPPFLAGS="${CPPFLAGS} ${POSTPROC_CFLAGS}" + CFLAGS="${CFLAGS} ${POSTPROC_CFLAGS}" + AC_CHECK_HEADERS(libpostproc/postproc.h postproc/postprocess.h) + VLC_ADD_PLUGIN([postproc]) + VLC_ADD_LIBS([postproc],[$POSTPROC_LIBS]) + VLC_ADD_CFLAGS([postproc],[$POSTPROC_CFLAGS]) VLC_RESTORE_FLAGS + ],[ + AC_MSG_ERROR([Could not find libpostproc.]) ]) fi @@ -3203,9 +3148,10 @@ dnl dnl Real plugin dnl AC_ARG_ENABLE(real, - [ --enable-real Real audio module (default disabled)]) + [ --enable-real Real media module (default disabled)]) if test "${enable_real}" = "yes"; then VLC_ADD_PLUGIN([realaudio]) + VLC_ADD_PLUGIN([realvideo]) fi dnl @@ -3786,7 +3732,7 @@ dnl AC_ARG_ENABLE(kate, [ --enable-kate kate codec (default enabled)]) AS_IF([test "${enable_kate}" != "no"], [ - PKG_CHECK_MODULES(KATE,[kate >= 0.1.1], [ + PKG_CHECK_MODULES(KATE,[kate >= 0.1.2], [ VLC_ADD_PLUGIN([kate]) VLC_ADD_CFLAGS([kate],[$KATE_CFLAGS]) VLC_ADD_LIBS([kate],[$KATE_LIBS]) ],[ @@ -4254,29 +4200,6 @@ then CPPFLAGS="${CPPFLAGS_save}" fi -dnl -dnl Qt Video output module -dnl (disabled by default) -dnl -dnl AC_ARG_ENABLE(qt_video, -dnl [ --enable-qt_video QT Video Output support (default disabled)]) -dnl if test "${enable_qt_video}" = "yes" -dnl then -dnl VLC_ADD_PLUGIN([qt_video]) -dnl VLC_ADD_LIBS([qt_video],[-L${QTDIR}/lib]) -dnl LDFLAGS="${LDFLAGS_save} ${LDFLAGS_qt_video}" -dnl AC_CHECK_LIB(qt-mt,main,[ -dnl VLC_ADD_LIBS([qt_video],[-lqt-mt]) -dnl ],[ -dnl AC_CHECK_LIB(qt,main,[ -dnl VLC_ADD_LIBS([qt_video],[-lqt]) -dnl ]) -dnl ]) -dnl NEED_QTE_MAIN=yes -dnl LDFLAGS="${LDFLAGS_save}" -dnl VLC_ADD_CXXFLAGS([qt_video],[-I/usr/include/qt3 -I/usr/include/qt -I${QTDIR}/include]) -dnl fi - dnl dnl Roku HD1000 Video output module dnl @@ -4609,7 +4532,7 @@ AC_ARG_ENABLE(pulse, [ VLC_ADD_PLUGIN([pulse]) VLC_ADD_CFLAGS([pulse],[${PULSE_CFLAGS}]) VLC_ADD_LDFLAGS([pulse],[${PULSE_LIBS}])], - [AC_MSG_WARN(pulsaudio library not found)]) + [AC_MSG_WARN(pulseaudio library not found)]) fi dnl @@ -4881,75 +4804,6 @@ if test "${enable_skins2}" = "yes" || fi AM_CONDITIONAL(BUILD_SKINS, [test "${enable_skins2}" = "yes"]) -dnl dnl -dnl dnl Gtk+ module -dnl dnl -dnl AC_ARG_ENABLE(gtk, -dnl [ --enable-gtk Gtk+ support (default enabled)]) -dnl if test "${enable_gtk}" != "no" -dnl then -dnl GTK_PATH="${PATH}" -dnl AC_ARG_WITH(gtk-config-path, -dnl [ --with-gtk-config-path=PATH gtk-config path (default search in \$PATH)], -dnl [ if test "${with_gtk_config_path}" != "no" -dnl then -dnl GTK_PATH="${with_gtk_config_path}:${PATH}" -dnl fi ]) -dnl # look for gtk-config -dnl AC_PATH_PROG(GTK12_CONFIG, gtk12-config, no, ${GTK_PATH}) -dnl GTK_CONFIG=${GTK12_CONFIG} -dnl if test "${GTK_CONFIG}" = "no" -dnl then -dnl AC_PATH_PROG(GTK_CONFIG, gtk-config, no, ${GTK_PATH}) -dnl fi -dnl if test "${GTK_CONFIG}" != "no" -dnl then -dnl if expr 1.2.0 \> `${GTK_CONFIG} --version` >/dev/null -dnl then -dnl AC_MSG_ERROR([Your development package for Gtk+ is too old, you need at least version 1.2.0. Please upgrade and try again. Alternatively you can also configure with --disable-gtk.]) -dnl fi -dnl if test "${SYS}" != "mingw32"; then -dnl VLC_ADD_CFLAGS([gtk],[`${GTK_CONFIG} --cflags gtk gthread`]) -dnl VLC_ADD_LIBS([gtk],[`${GTK_CONFIG} --libs gtk gthread | sed 's,-rdynamic,,'`]) -dnl else -dnl VLC_ADD_CFLAGS([gtk],[`${GTK_CONFIG} --cflags gtk`]) -dnl VLC_ADD_LIBS([gtk],[`${GTK_CONFIG} --libs gtk | sed 's,-rdynamic,,'`]) -dnl fi -dnl # now look for the gtk.h header -dnl CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_gtk}" -dnl ac_cv_gtk_headers=yes -dnl AC_CHECK_HEADERS(gtk/gtk.h glib.h gdk/gdk.h, , [ -dnl ac_cv_gtk_headers=no -dnl echo "Cannot find gtk development headers." -dnl ]) -dnl if test "${ac_cv_gtk_headers}" = "yes" -dnl then -dnl VLC_ADD_PLUGIN([gtk]) -dnl if test "${SYS}" != "mingw32"; then -dnl NEED_GTK_MAIN=yes -dnl fi -dnl ALIASES="${ALIASES} gvlc" -dnl fi -dnl CPPFLAGS="${CPPFLAGS_save}" -dnl fi -dnl fi -dnl -dnl -dnl Gtk+2 module ! Disabled for now as it is unusable and confuses users -dnl -dnl AC_ARG_ENABLE(gtk2, -dnl [ --enable-gtk2 Gtk2 support (default disabled)]) -dnl if test "${enable_gtk2}" = "yes" -dnl then -dnl PKG_CHECK_MODULES(GTK2, [gtk+-2.0 >= 2.0.0, gthread-2.0]) -dnl VLC_ADD_CFLAGS([gtk2],[${GTK2_CFLAGS}]) -dnl VLC_ADD_LIBS([gtk2],[${GTK2_LIBS}]) -dnl VLC_ADD_PLUGIN([gtk2]) -dnl if test "${SYS}" != "mingw32"; then -dnl NEED_GTK2_MAIN=yes -dnl fi -dnl fi - dnl dnl PDA Gtk+2 module dnl @@ -4972,56 +4826,6 @@ then fi AM_CONDITIONAL(BUILD_PDA, [test "${enable_pda}" = "yes"]) -dnl dnl -dnl dnl Gnome module -dnl dnl -dnl AC_ARG_ENABLE(gnome, -dnl [ --enable-gnome Gnome interface support (default disabled)], -dnl [if test "${enable_gnome}" = "yes"; then -dnl # look for gnome-config -dnl AC_PATH_PROG(GNOME_CONFIG, gnome-config, no) -dnl if test -x ${GNOME_CONFIG} -dnl then -dnl VLC_ADD_CFLAGS([gnome],[`${GNOME_CONFIG} --cflags gtk gnomeui`]) -dnl VLC_ADD_LIBS([gnome],[`${GNOME_CONFIG} --libs gnomeui | sed 's,-rdynamic,,'`]) -dnl fi -dnl # now look for the gnome.h header -dnl CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_gnome}" -dnl AC_CHECK_HEADERS(gnome.h, [ -dnl VLC_ADD_PLUGIN([gnome]) -dnl NEED_GTK_MAIN=yes -dnl NEED_GNOME_MAIN=yes -dnl ALIASES="${ALIASES} gnome-vlc" -dnl dnl We need this because of some moronic gnomesupport.h flavours -dnl AC_MSG_CHECKING(for strndup in gnome.h) -dnl AC_EGREP_HEADER(strndup,gnome.h,[ -dnl AC_MSG_RESULT(yes) -dnl AC_DEFINE(STRNDUP_IN_GNOME_H, 1, -dnl Define if defines strndup.)],[ -dnl AC_MSG_RESULT(no)]) -dnl ],[ -dnl AC_MSG_ERROR([Can't find gnome headers. Please install the gnome -dnl developement tools or remove the --enable-gnome option]) -dnl ]) -dnl CPPFLAGS="${CPPFLAGS_save}" -dnl fi]) - -dnl -dnl Gnome2 module ! Disabled for know as it is unuseable and confuses users -dnl -dnl AC_ARG_ENABLE(gnome2, -dnl [ --enable-gnome2 Gnome2 support (default disabled)]) -dnl if test "${enable_gnome2}" = "yes" -dnl then -dnl PKG_CHECK_MODULES(GNOME2, [libgnomeui-2.0]) -dnl VLC_ADD_CFLAGS([gnome2],[${GNOME2_CFLAGS}]) -dnl VLC_ADD_LIBS([gnome2],[${GNOME2_LIBS}]) -dnl VLC_ADD_PLUGIN([gnome2]) -dnl if test "${SYS}" != "mingw32"; then -dnl NEED_GNOME2_MAIN=yes -dnl fi -dnl fi - dnl dnl wxWidgets module dnl @@ -5186,66 +4990,6 @@ then fi fi -dnl dnl -dnl dnl Qt module -dnl dnl -dnl AC_ARG_ENABLE(qt, -dnl [ --enable-qt Qt interface support (default disabled)], -dnl [if test "${enable_qt}" = "yes"; then -dnl VLC_ADD_PLUGIN([qt]) -dnl ALIASES="${ALIASES} qvlc" -dnl VLC_ADD_LIBS([qt],[-L${QTDIR}/lib]) -dnl LDFLAGS="${LDFLAGS_save} ${LDFLAGS_qt}" -dnl AC_CHECK_LIB(qt-mt,main,[ -dnl VLC_ADD_LIBS([qt],[-lqt-mt]) -dnl ],[ -dnl AC_CHECK_LIB(qt,main,[ -dnl VLC_ADD_LIBS([qt],[-lqt]) -dnl ]) -dnl ]) -dnl LDFLAGS="${LDFLAGS_save}" -dnl VLC_ADD_CXXFLAGS([qt],[-I/usr/include/qt3 -I/usr/include/qt -I${QTDIR}/include]) -dnl if test -x ${QTDIR}/bin/moc -dnl then -dnl MOC=${QTDIR}/bin/moc -dnl else -dnl MOC=moc -dnl fi -dnl fi]) -dnl -dnl dnl -dnl dnl KDE module -dnl dnl -dnl AC_ARG_ENABLE(kde, -dnl [ --enable-kde KDE interface support (default disabled)], -dnl [if test "${enable_kde}" = "yes"; then -dnl VLC_ADD_PLUGIN([kde]) -dnl ALIASES="${ALIASES} kvlc" -dnl VLC_ADD_LIBS([kde],[-L${KDEDIR}/lib]) -dnl dnl Check for -lkfile (only in KDE 2) or -lkdeui -lkio (KDE 3) -dnl LDFLAGS="${LDFLAGS_save} ${LDFLAGS_kde}" -dnl AC_CHECK_LIB(kfile,main,[ -dnl VLC_ADD_LIBS([kde],[-lkfile]) -dnl ]) -dnl LDFLAGS="${LDFLAGS_save} ${LDFLAGS_kde}" -dnl AC_CHECK_LIB(kdeui,main,[ -dnl VLC_ADD_LIBS([kde],[-lkdeui]) -dnl ]) -dnl LDFLAGS="${LDFLAGS_save} ${LDFLAGS_kde}" -dnl AC_CHECK_LIB(kio,main,[ -dnl VLC_ADD_LIBS([kde],[-lkio]) -dnl ]) -dnl LDFLAGS="${LDFLAGS_save}" -dnl VLC_ADD_CXXFLAGS([kde],[-I/usr/include/kde -I/usr/include/qt3 -I/usr/include/qt]) -dnl VLC_ADD_CXXFLAGS([kde],[-I${KDEDIR}/include -I${QTDIR}/include]) -dnl if test -x ${QTDIR}/bin/moc -dnl then -dnl MOC=${QTDIR}/bin/moc -dnl else -dnl MOC=moc -dnl fi -dnl fi]) - dnl dnl Opie QT embedded module dnl @@ -5535,33 +5279,15 @@ dnl libgcrypt dnl AC_ARG_ENABLE(libgcrypt, [ --enable-libgcrypt libgcrypts support (default enabled)]) - -GCRYPT_PATH="${PATH}" -AC_ARG_WITH(libgcrypt-config-path, -[ --with-libgcrypt-config-path=PATH libgcrypt-config path (default search in \$PATH)], - [ if test "${with_libgcrypt_config_path}" != "no" - then - GCRYPT_PATH="${with_libgcrypt_config_path}:${PATH}" - fi ]) - -if test "${enable_libgcrypt}" != "no" -then - dnl Workaround for cross-compiling since AM_PATH_LIBGRYPT doesn't dectect - dnl it and looks for libgcrypt headers in the wrong place. - if test "${host_cpu}" = "${build_cpu}" - then - AM_PATH_LIBGCRYPT([1:1.1.94], [have_libgcrypt="yes"], [have_libgcrypt="no"]) - else - AC_CHECK_HEADERS(gcrypt.h,have_libgcrypt="yes",have_libgcrypt="no") - fi +AS_IF([test "${enable_libgcrypt}" != "no"], [ + AM_PATH_LIBGCRYPT([1:1.1.94], [have_libgcrypt="yes"], [have_libgcrypt="no"]) +]) +if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"; then + AS_IF([test "${have_libgcrypt}" = "yes"],[ + VLC_ADD_LIBS([rtp], [${LIBGCRYPT_LIBS}]) + ]) fi AM_CONDITIONAL([HAVE_LIBGCRYPT], [test "${have_libgcrypt}" = "yes"]) -AS_IF([test "${have_libgcrypt}" = "yes"],[ - # look for libgcrypt-config - AC_PATH_PROG(GCRYPT_CONFIG, "libgcrypt-config", no, ${GCRYPT_PATH}) - GCRYPT_CFLAGS=`${GCRYPT_CONFIG} --cflags` - GCRYPT_LIBS=`${GCRYPT_CONFIG} --libs` -]) dnl dnl TLS/SSL @@ -5578,10 +5304,11 @@ AS_IF([test "${enable_gnutls}" != "no"], [ VLC_ADD_LIBS([gnutls], [-lz]) VLC_ADD_LIBS([gnutls], [${LTLIBINTL}]) ]) + dnl The GnuTLS plugin invokes gcry_control directly. AS_IF([test "${have_libgcrypt}" = "yes"],[ - VLC_ADD_LIBS([gnutls], ${GCRYPT_LIBS}) - VLC_ADD_CFLAGS([gnutls], ${GCRYPT_CFLAGS}) - ], [-lgpg-error]) + VLC_ADD_LIBS([gnutls], [${LIBGCRYPT_LIBS}]) + VLC_ADD_CFLAGS([gnutls], [${LIBGCRYPT_CFLAGS}]) + ]) VLC_ADD_LIBS([gnutls], [$GNUTLS_LIBS]) ], [ AS_IF([test "${enable_gnutls}" = "yes"], [ @@ -5590,6 +5317,24 @@ AS_IF([test "${enable_gnutls}" != "no"], [ ]) ]) + +dnl +dnl RemoteOSD plugin (VNC client as video filter) +dnl +AC_ARG_ENABLE(remoteosd, + [ --disable-remoteosd RemoteOSD plugin (default enabled)]) + +AS_IF([test "${enable_remoteosd}" != "no"], [ + AS_IF([test "${have_libgcrypt}" = "yes"],[ + VLC_ADD_PLUGIN([remoteosd]) + VLC_ADD_LIBS([remoteosd], ${LIBGCRYPT_LIBS}) + VLC_ADD_CFLAGS([remoteosd], ${LIBGCRYPT_CFLAGS}) + ], [ + AC_MSG_ERROR([libgcrypt support required for RemoteOSD plugin]) + ]) +]) + + dnl dnl update checking system dnl @@ -5601,8 +5346,8 @@ then then AC_MSG_ERROR([libgcrypt is required for update checking system]) fi - VLC_ADD_LIBS([libvlc], ${GCRYPT_LIBS}) - VLC_ADD_CFLAGS([libvlc], ${GCRYPT_CFLAGS}) + VLC_ADD_LIBS([libvlc], [${LIBGCRYPT_LIBS}]) + VLC_ADD_CFLAGS([libvlc], [${LIBGCRYPT_CFLAGS}]) AC_DEFINE([UPDATE_CHECK], 1, [Define if you want to use the VLC update mechanism]) fi @@ -5632,6 +5377,8 @@ AS_IF([test "${enable_loader}" = "yes"], VLC_ADD_LIBS([quicktime],[../../libs/loader/libloader.la -lpthread]) VLC_ADD_CPPFLAGS([realaudio],[-I../../@top_srcdir@/libs/loader -DLOADER]) VLC_ADD_LIBS([realaudio],[../../libs/loader/libloader.la]) + VLC_ADD_CPPFLAGS([realvideo],[-I../../@top_srcdir@/libs/loader -DLOADER]) + VLC_ADD_LIBS([realvideo],[../../libs/loader/libloader.la]) ]) AC_ARG_WITH(,[Components:]) @@ -6099,9 +5846,9 @@ AC_CONFIG_FILES([ modules/audio_mixer/Makefile modules/audio_output/Makefile modules/codec/Makefile + modules/codec/avcodec/Makefile modules/codec/cmml/Makefile modules/codec/dmo/Makefile - modules/codec/ffmpeg/Makefile modules/codec/subtitles/Makefile modules/codec/spudec/Makefile modules/codec/xvmc/Makefile @@ -6109,6 +5856,7 @@ AC_CONFIG_FILES([ modules/control/http/Makefile modules/demux/Makefile modules/demux/asf/Makefile + modules/demux/avformat/Makefile modules/demux/avi/Makefile modules/demux/mp4/Makefile modules/demux/mpeg/Makefile @@ -6132,11 +5880,11 @@ AC_CONFIG_FILES([ modules/misc/testsuite/Makefile modules/misc/playlist/Makefile modules/misc/osd/Makefile + modules/misc/stats/Makefile modules/misc/xml/Makefile modules/misc/probe/Makefile modules/mux/Makefile modules/mux/mpeg/Makefile - modules/mux/rtp/Makefile modules/packetizer/Makefile modules/services_discovery/Makefile modules/stream_out/Makefile @@ -6162,11 +5910,8 @@ AC_OUTPUT ${SHELL} ./config.status --file=vlc-config chmod 0755 vlc-config -dnl echo "Enabled builtin modules :" -dnl for a in `./vlc-config --target builtin` ; do echo $a; done | sed -e 's,modules\/\(.*\)\/lib\(.*\)\.a,\2 (\1),' - -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),' +/bin/echo -n "Enabled modules :" +./vlc-config --list plugin dnl Shortcut to nice compile message rm -f compile @@ -6201,8 +5946,6 @@ echo "build vlc executable : no" fi echo "plugins/bindings :${PLUGINS_BINDINGS} -You can check which modules have been enabled -with \`./vlc-config --list plugin'. You can tune the compiler flags in vlc-config. To build vlc and its plugins, type \`./compile' or \`make'. "