X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=configure.ac;h=d3b9c8bfdc87b6837fb60aceca41773d5084d929;hb=0132bb5d2eb90f4878dd4c0b5038bd06b854719e;hp=c9fd1efd9d4c1071c252b4aed953eb4ecefa1c3b;hpb=fa7e52308caca32f493ca79c06b49e3ed0ed06da;p=vlc diff --git a/configure.ac b/configure.ac index c9fd1efd9d..d3b9c8bfdc 100644 --- a/configure.ac +++ b/configure.ac @@ -343,7 +343,7 @@ case "${host_os}" in [#ifdef WIN32 yes #endif], - SYS=mingw32, SYS=cygwin) + SYS=mingw32, AC_MSG_ERROR([VLC requires -mno-cygwin])) ;; esac @@ -352,13 +352,22 @@ case "${host_os}" in VLC_ADD_LIBS([libvlccore],[-lws2_32 -lnetapi32 -lwinmm]) VLC_ADD_LDFLAGS([vlc],[-mwindows]) VLC_ADD_LIBS([activex mozilla],[-lgdi32]) - VLC_ADD_LIBS([cdda vcdx cddax sdl_image],[-lwinmm]) + VLC_ADD_LIBS([cdda vcdx cddax sdl_image aout_sdl vout_sdl],[-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 stream_out_raop vod_rtsp access_realrtsp rtp telnet rc netsync gnutls growl_udp flac ts audioscrobbler lua remoteosd zvbi],[-lws2_32]) VLC_ADD_LIBS([access_file], [-lshlwapi]) + dnl + dnl DEP and ASLR options + dnl + AC_ARG_ENABLE(peflags, + [ --enable-peflags peflags use (default enabled)]) + if test "${enable_peflags}" != "no" + then + AC_CHECK_TOOL(PEFLAGS, peflags, :) + fi fi if test "${SYS}" = "mingwce"; then # add ws2 for closesocket, select, recv - VLC_ADD_LIBS([libvlccore access_http access_mms access_udp access_tcp access_ftp access_rtmp access_output_udp access_output_rtmp sap http netsync audioscrobbler growl rtp stream_out_rtp remoteosd ts],[-lws2]) + VLC_ADD_LIBS([libvlccore access_http access_mms access_udp access_tcp access_ftp access_rtmp access_output_udp access_output_rtmp sap http netsync audioscrobbler growl rtp stream_out_rtp remoteosd ts telnet],[-lws2]) VLC_ADD_LIBS([libvlccore],[-lmmtimer]) fi ;; @@ -402,6 +411,7 @@ AM_CONDITIONAL(HAVE_DARWIN, test "${SYS}" = "darwin") AM_CONDITIONAL(HAVE_LINUX, [test "${SYS}" = "linux"]) AM_CONDITIONAL(HAVE_WIN32, test "${SYS}" = "mingw32") AM_CONDITIONAL(HAVE_WINCE, test "${SYS}" = "mingwce") +AM_CONDITIONAL(USE_PEFLAGS, [test "${enable_peflags}" = "yes"]) dnl dnl Sadly autoconf doesn't think about testing foo.exe when ask to test @@ -479,7 +489,7 @@ if test "${SYS}" = "mingw32" then AC_CHECK_LIB(mingwex,opendir, AC_CHECK_LIB(mingw32,opendir,, - [VLC_ADD_LIBS([libvlccore gtk],[-lmingwex])]) + [VLC_ADD_LIBS([libvlccore],[-lmingwex])]) ) fi @@ -562,16 +572,15 @@ need_libc=false dnl Check for usual libc functions AC_CHECK_FUNCS([gettimeofday isatty sigrelse getpwuid_r memalign posix_memalign if_nametoindex getenv putenv setenv ctime_r daemon fork lstat posix_fadvise posix_madvise uselocale]) -AC_FUNC_ALLOCA AC_CHECK_FUNCS(fcntl) -AC_REPLACE_FUNCS([asprintf atof atoll getcwd gmtime_r lldiv localtime_r rewind strcasecmp strcasestr strdup strlcpy strncasecmp strndup strnlen strsep strtof strtoll vasprintf swab]) +AC_REPLACE_FUNCS([asprintf atof atoll getcwd getpid gmtime_r lldiv localtime_r rewind strcasecmp strcasestr strdup strlcpy strncasecmp strndup strnlen strsep strtof strtoll vasprintf swab]) AC_CHECK_FUNCS([stricmp strnicmp]) AC_CHECK_FUNCS(fdatasync,, [AC_DEFINE(fdatasync, fsync, [Alias fdatasync() to fsync() if missing.]) ]) dnl Check for non-standard system calls -AC_CHECK_FUNCS([vmsplice fstatfs]) +AC_CHECK_FUNCS([vmsplice eventfd fstatfs]) AH_BOTTOM([#include ]) @@ -715,7 +724,7 @@ AM_CONDITIONAL(BUILD_GETOPT, ${need_getopt}) if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then AC_TYPE_SIGNAL AC_CHECK_LIB(m,cos,[ - VLC_ADD_LIBS([adjust wave ripple psychedelic gradient a52tofloat32 dtstofloat32 x264 goom visual panoramix rotate noise grain scene],[-lm]) + VLC_ADD_LIBS([adjust wave ripple psychedelic gradient a52tofloat32 dtstofloat32 x264 goom visual panoramix rotate noise grain scene kate flac lua chorus_flanger],[-lm]) ]) AC_CHECK_LIB(m,pow,[ VLC_ADD_LIBS([avcodec avformat swscale postproc ffmpegaltivec i420_rgb faad twolame equalizer spatializer param_eq libvlccore freetype mod mpc dmo quicktime realaudio realvideo opengl],[-lm]) @@ -724,7 +733,7 @@ AC_CHECK_LIB(m,sqrt,[ VLC_ADD_LIBS([headphone_channel_mixer normvol speex mono colorthres extract],[-lm]) ]) AC_CHECK_LIB(m,ceil,[ - VLC_ADD_LIBS([hotkeys mosaic],[-lm]) + VLC_ADD_LIBS([hotkeys mosaic swscale_omap],[-lm]) ]) AC_CHECK_LIB(m,exp,[ VLC_ADD_LIBS([gaussianblur],[-lm]) @@ -732,15 +741,16 @@ AC_CHECK_LIB(m,exp,[ AC_CHECK_LIB(m,round,[ VLC_ADD_LIBS([dbus],[-lm]) ]) -AC_CHECK_LIB(m,lrintf, [ - AC_DEFINE(HAVE_LRINTF, 1, [Define to 1 if you have the lrintf function]) - VLC_ADD_LIBS([skins2],[-lm]) -]) AC_CHECK_LIB(m,sqrtf,[ VLC_ADD_LIBS([x264],[-lm]) ]) fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" +AC_CHECK_LIB(m,lrintf, [ + AC_DEFINE(HAVE_LRINTF, 1, [Define to 1 if you have the lrintf function]) + VLC_ADD_LIBS([skins2],[-lm]) +]) + dnl Check for dynamic plugins ac_cv_have_plugins=no @@ -761,7 +771,7 @@ fi # Win32 style if test "${ac_cv_have_plugins}" = "no"; then - if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"; then + if test "${SYS}" = "mingw32" ; then AC_CHECK_LIB(kernel32, main, [VLC_ADD_LIBS([libvlccore],[-lkernel32]) AC_DEFINE(HAVE_DL_WINDOWS, 1, [Define if you have Windows' LoadLibrary]) @@ -793,7 +803,7 @@ if test "${ac_cv_have_plugins}" = "no" -o "${SYS}" = "darwin"; then ac_cv_my_have_dlopen=yes, AC_CHECK_LIB(dl, dlopen, ac_cv_my_have_dlopen=yes - VLC_ADD_LIBS([libvlccore realaudio realvideo],[-ldl]), + VLC_ADD_LIBS([libvlccore realaudio realvideo lua],[-ldl]), AC_CHECK_LIB(svld, dlopen, ac_cv_my_have_dlopen=yes VLC_ADD_LIBS([libvlccore],[-lsvld])))) @@ -862,7 +872,7 @@ AC_CHECK_HEADERS([net/if.h], [], [], ]) if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then AC_CHECK_HEADERS(machine/param.h sys/shm.h) -AC_CHECK_HEADERS([linux/version.h linux/dccp.h scsi/scsi.h]) +AC_CHECK_HEADERS([linux/version.h linux/dccp.h scsi/scsi.h linux/magic.h]) AC_CHECK_HEADERS(syslog.h) fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" @@ -876,7 +886,7 @@ AC_CHECK_TYPE(ssize_t,, [ dnl Check for poll AC_SEARCH_LIBS(poll, [poll], [AC_DEFINE(HAVE_POLL, 1, [Define to 1 if the OS is usabl... err, has poll().])], [ -if test ${SYS} != "mingw32" +if test ${SYS} != "mingw32" -a ${SYS} != "mingwce" then AC_MSG_WARN([Your platform does not support poll(). VLC has it's own poll() implementation, but it is only intended to be used on Windows. VLC might crash or be insecure when you see this message. Either switch to an OS with a proper poll() implementation, or implement one for your OS in VLC]) fi @@ -914,12 +924,20 @@ if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then AC_CHECK_HEADERS(pthread.h) fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" -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. +dnl It seems that autoconf detects pkg-config only during the first +dnl PKG_CHECK_MODULES from configure.ac - which makes sense. But in our case, +dnl it is nested within a conditional block, so it was not working right. dnl Make PKG_CONFIG_PATH precious so that it appears in the help and get saved AC_ARG_VAR(PKG_CONFIG_PATH, [Paths where to find .pc not at the default location]) PKG_PROG_PKG_CONFIG() +dnl On some OS we need static linking +AS_IF([test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce" -o "${SYS}" = "darwin" ],[ + PKG_CONFIG="${PKG_CONFIG} --static" + ]) + + dnl dnl Check for zlib.h and -lz along with system -lminizip if available dnl @@ -957,8 +975,8 @@ then dnl api stable dbus PKG_CHECK_MODULES(DBUS, dbus-1 >= 1.0.0, [ AC_DEFINE( HAVE_DBUS, 1, [Define if you have the D-BUS library] ) - VLC_ADD_LIBS([screensaver libvlccore],[$DBUS_LIBS]) - VLC_ADD_CFLAGS([screensaver libvlccore],[$DBUS_CFLAGS]) + VLC_ADD_LIBS([libvlccore],[$DBUS_LIBS]) + VLC_ADD_CFLAGS([libvlccore],[$DBUS_CFLAGS]) dnl Check for dbus control interface AC_ARG_ENABLE(dbus-control, [ --disable-dbus-control D-BUS control interface (default enabled)]) if test "${enable_dbus_control}" != "no" @@ -986,12 +1004,6 @@ fi ;; esac -dnl Build the gtk_main plugins? -NEED_GTK_MAIN=no -NEED_GNOME_MAIN=no -NEED_GTK2_MAIN=no -NEED_GNOME2_MAIN=no - dnl build the qte plugin ? NEED_QTE_MAIN=no @@ -1007,7 +1019,7 @@ if test "${ac_cv_c_ntohl_sys_param_h}" != "no"; then fi CFLAGS="${CFLAGS_save}" -RDC_PROG_CC_WFLAGS([all extra sign-compare undef pointer-arith bad-function-cast cast-align write-strings missing-prototypes volatile-register-var error-implicit-function-declaration]) +RDC_PROG_CC_WFLAGS([all extra sign-compare undef pointer-arith bad-function-cast write-strings missing-prototypes volatile-register-var error-implicit-function-declaration]) RDC_PROG_CC_FLAGS([-pipe]) AC_ARG_ENABLE(warnings-as-error, @@ -1015,7 +1027,8 @@ AC_ARG_ENABLE(warnings-as-error, AS_IF([test "${enable_warnings_as_error}" = "yes"], [ RDC_PROG_CC_WERRORFLAGS([unused-function unused-label unused-value unused-parameter unused-variable unused \ missing-braces nonnull parentheses uninitialized address enum-compare undef comment switch \ - bad-function-cast ignored]) + bad-function-cast implicit sequence-point strict-aliasing array-bounds missing-parameter-type \ + overflow int-to-pointer-cast pointer-to-int-cast div-by-zero overflow ignored]) ]) AC_SUBST(CFLAGS_WERROR) @@ -1227,6 +1240,7 @@ if test "${SYS}" != "mingwce"; then VLC_ADD_PLUGIN([podcast]) VLC_ADD_PLUGIN([shout]) VLC_ADD_PLUGIN([sap]) + VLC_ADD_PLUGIN([mediadirs]) VLC_ADD_PLUGIN([fake]) VLC_ADD_PLUGIN([folder]) VLC_ADD_PLUGIN([rss]) @@ -1258,10 +1272,8 @@ if test "${SYS}" != "mingwce"; then VLC_ADD_PLUGIN([equalizer]) VLC_ADD_PLUGIN([param_eq]) VLC_ADD_PLUGIN([scaletempo]) - VLC_ADD_PLUGIN([converter_float]) VLC_ADD_PLUGIN([a52tospdif]) VLC_ADD_PLUGIN([dtstospdif]) - VLC_ADD_PLUGIN([audio_format]) ALIASES="${ALIASES} rvlc" fi @@ -1275,10 +1287,8 @@ if test "${SYS}" = "mingwce"; then VLC_ADD_PLUGIN([simple_channel_mixer]) VLC_ADD_PLUGIN([headphone_channel_mixer]) VLC_ADD_PLUGIN([normvol]) - VLC_ADD_PLUGIN([converter_float]) VLC_ADD_PLUGIN([a52tospdif]) VLC_ADD_PLUGIN([dtstospdif]) - VLC_ADD_PLUGIN([audio_format]) VLC_ADD_PLUGIN([i420_yuy2]) VLC_ADD_PLUGIN([i422_yuy2]) VLC_ADD_PLUGIN([i420_ymga]) @@ -1307,7 +1317,7 @@ else fi if test "${SYS}" = "darwin"; then VLC_ADD_PLUGIN([quartztext]) - VLC_ADD_LDFLAGS([quartztext],[-Wl,-framework,Carbon,-framework,ApplicationServices]) + VLC_ADD_LDFLAGS([quartztext],[-Wl,-framework,ApplicationServices]) fi dnl @@ -1387,7 +1397,7 @@ dnl Check for fully workin SSE2 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_ARG_ENABLE(sse, -[ --disable-sse disable SSE (1 and 2) optimizations (default auto)] +[ --disable-sse disable SSE (1, 2, 3 and 4) optimizations (default auto)] ,, [ case "${host_cpu}" in i686|x86_64) @@ -1446,6 +1456,42 @@ AS_IF([test "${enable_sse}" != "no"], [ VLC_ADD_PLUGIN([i420_yuy2_sse2]) VLC_ADD_PLUGIN([i422_yuy2_sse2]) ]) + + # SSE3 + AC_CACHE_CHECK([if $CC groks SSE3 inline assembly], + [ac_cv_sse3_inline], + [CFLAGS="${CFLAGS_save} -O -msse3" + AC_TRY_COMPILE(,[void *p;asm volatile("movsldup %%xmm1,%%xmm0"::"r"(p));], + ac_cv_sse3_inline=yes, ac_cv_sse3_inline=no) + ARCH="${ARCH} sse3" + ]) + AS_IF([test "${ac_cv_sse3_inline}" != "no"], [ + AC_DEFINE(CAN_COMPILE_SSE3, 1, + [Define to 1 if SSE3 inline assembly is available.]) ]) + # SSSE3 + AC_CACHE_CHECK([if $CC groks SSSE3 inline assembly], + [ac_cv_ssse3_inline], + [CFLAGS="${CFLAGS_save} -O -mssse3" + AC_TRY_COMPILE(,[void *p;asm volatile("pabsw %%xmm0,%%xmm0"::"r"(p));], + ac_cv_ssse3_inline=yes, ac_cv_ssse3_inline=no) + ARCH="${ARCH} ssse3" + ]) + + AS_IF([test "${ac_cv_ssse3_inline}" != "no"], [ + AC_DEFINE(CAN_COMPILE_SSSE3, 1, + [Define to 1 if SSSE3 inline assembly is available.]) ]) + + # SSE4 + AC_CACHE_CHECK([if $CC groks SSE4 inline assembly], + [ac_cv_sse4_inline], + [CFLAGS="${CFLAGS_save} -O -msse4" + AC_TRY_COMPILE(,[void *p;asm volatile("pmaxsb %%xmm1,%%xmm0"::"r"(p));], + ac_cv_sse4_inline=yes, ac_cv_sse4_inline=no) + ARCH="${ARCH} sse4" + ]) + AS_IF([test "${ac_cv_sse4_inline}" != "no"], [ + AC_DEFINE(CAN_COMPILE_SSE4, 1, + [Define to 1 if SSE4 inline assembly is available.]) ]) ]) AC_CACHE_CHECK([if $CC groks 3D Now! inline assembly], @@ -1459,6 +1505,24 @@ AS_IF([test "${ac_cv_3dnow_inline}" != "no"], [ VLC_ADD_PLUGIN([memcpy3dn]) ]) + +AC_ARG_ENABLE(neon, +[ --disable-neon disable NEON optimizations (default auto)],, [ + AS_IF([test "${host_cpu}" = "arm"], [enable_neon="yes"] ,[enable_neon="no"]) +]) +AS_IF([test "${enable_neon}" != "no"], [ + AC_CACHE_CHECK([if $CC groks NEON inline assembly], [ac_cv_neon_inline], [ + AC_COMPILE_IFELSE([ + AC_LANG_PROGRAM(,[[asm volatile("vqmovun.s64 d0, q1":::"d0");]]) + ], [ + ac_cv_neon_inline="yes" + ], [ + ac_cv_neon_inline="no" + ]) + ]) +]) +AM_CONDITIONAL(HAVE_NEON, [test "${ac_cv_neon_inline}" = "yes"]) + AC_ARG_ENABLE(altivec, [ --disable-altivec disable AltiVec optimizations (default auto)],, [ AS_IF([test "${host_cpu}" = "powerpc"], @@ -1705,14 +1769,15 @@ then AC_CHECK_LIB( lua , luaL_newstate, [LUA_LIBS="-llua"], [ have_lua=no - AC_MSG_WARN([lua >= 5.1 not found!]) - ]) + AS_IF([test "x${enable_lua}" = "xyes"], + [AC_MSG_ERROR([lua >= 5.1 not found!])], + [AC_MSG_WARN([lua >= 5.1 not found!])]) + ], [-lm]) ) ) ]) ]) if test "x${have_lua}" = "xyes" ; then - AC_DEFINE(HAVE_LUA, 1, [Define if you have the lua library]) VLC_ADD_LIBS([lua],[$LUA_LIBS]) VLC_ADD_CFLAGS([lua],[$LUA_CFLAGS]) fi @@ -1734,7 +1799,19 @@ AM_CONDITIONAL(BUILD_HTTPD, [test "${enable_httpd}" != "no"]) dnl dnl libproxy support dnl -PKG_ENABLE_MODULES_VLC([LIBPROXY], [], [libproxy-1.0], [libproxy support], [auto]) +AC_ARG_ENABLE(libproxy, + [ --enable-libproxy libproxy support (default auto)]) +AS_IF([test "${enable_libproxy}" != "no"], [ + PKG_CHECK_MODULES(LIBPROXY, libproxy-1.0, [ + AC_DEFINE(HAVE_LIBPROXY, 1, [Define if libproxy is available]) + VLC_ADD_CFLAGS([access_http],[$LIBPROXY_CFLAGS]) + VLC_ADD_LIBS([access_http],[$LIBPROXY_LIBS]) + ], [ + AS_IF([test "x${enable_libproxy}" != "x"], [ + AC_MSG_ERROR([libproxy could not be found on your system]) + ]) + ]) +]) dnl @@ -1789,8 +1866,7 @@ AC_ARG_ENABLE(taglib, [ --disable-taglib Taglib support (default enabled) ]) AS_IF([test "${enable_taglib}" != "no"],[ PKG_CHECK_MODULES(TAGLIB, taglib >= 1.5, - [ AC_DEFINE( HAVE_TAGLIB, 1, [Define if you have taglib plugin built] ) - VLC_ADD_PLUGIN([taglib]) + [ VLC_ADD_PLUGIN([taglib]) VLC_ADD_LIBS([taglib],[$TAGLIB_LIBS -lz]) VLC_ADD_CXXFLAGS([taglib],[$TAGLIB_CFLAGS]) ], [AC_MSG_WARN(TagLib library not found)]) @@ -2049,7 +2125,7 @@ AC_ARG_ENABLE(dshow, [ --enable-dshow Win32 DirectShow support (default enabled on Win32)]) if test "${enable_dshow}" != "no" then - if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin" + if test "${SYS}" = "mingw32" then AC_LANG_PUSH(C++) AC_CHECK_HEADERS(dshow.h, @@ -2068,7 +2144,7 @@ AC_ARG_ENABLE(bda, enabled on Win32)])) if test "${enable_bda}" != "no" then - if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin" + if test "${SYS}" = "mingw32" then AC_CHECK_HEADERS(dshow.h, [ VLC_ADD_PLUGIN([bda]) @@ -2087,7 +2163,7 @@ if test "${enable_opencv}" = "yes" -a "${CXX}" != ""; then AC_ARG_WITH(opencv-tree, [ --with-opencv-tree=PATH opencv tree for linking]) - if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin" + if test "${SYS}" = "mingw32" then test -z "${with_opencv_tree}" && AC_MSG_ERROR([You have to specify --with-opencv-tree]) AC_MSG_CHECKING(for opencv in ${with_opencv_tree}) @@ -2103,11 +2179,11 @@ then VLC_ADD_LIBS([opencv_example],[-L${with_opencv_tree}/lib -lcv -lcxcore -lcvaux -lhighgui]) VLC_ADD_CXXFLAGS([opencv_example],[-I${with_opencv_tree}/cv/include -I${with_opencv_tree}/cxcore/include -I${with_opencv_tree}/cvaux/include -I${with_opencv_tree}/otherlibs/highgui]) AC_LANG_POP(C++) - else + else dnl No opencv could be found, sorry AC_MSG_RESULT(no) AC_MSG_ERROR([cannot find opencv in ${with_opencv_tree}]) - fi + fi else PKG_CHECK_MODULES(OPENCV, opencv, [ @@ -2137,6 +2213,19 @@ if test "${enable_smb}" != "no"; then fi ]) fi + +dnl +dnl sftp access support +dnl +AC_ARG_ENABLE(sftp, + [ --enable-sftp sftp input access module (default disable)]) +if test "${enable_sftp}" = "yes"; then + AC_CHECK_HEADERS(libssh2.h, [ + VLC_ADD_PLUGIN([access_sftp]) + VLC_ADD_LIBS([access_sftp], [-lssh2]) + ]) +fi + dnl dnl libdvbpsi ts demux/mux dnl @@ -2224,7 +2313,16 @@ then then AC_MSG_ERROR([Could not find libdvbpsi on your system: you may get it from www.videolan.org, you'll need at least version 0.1.1]) fi - ]) + ], + [#if defined( HAVE_STDINT_H ) +# include +#elif defined( HAVE_INTTYPES_H ) +# include +#endif +#include +#include +#include +#include ]) CPPFLAGS="${CPPFLAGS_save}" ;; esac @@ -2350,9 +2448,7 @@ then if test "${enable_vcdinfo}" != "no" then PKG_CHECK_MODULES(VCDINFO, libvcdinfo >= 0.7.22, - [have_libvcdinfo=yes - AC_DEFINE(HAVE_VCDINFO, 1, - [Define if you have libvcdinfo 0.7.22 or greater installed])], + [have_libvcdinfo=yes], [AC_MSG_WARN(VCD information library not found)]) fi fi @@ -2818,6 +2914,12 @@ AS_IF([test "${enable_id3tag}" = "yes"], [ ]) ]) +AC_ARG_ENABLE(merge-ffmpeg, +[ --enable-merged-ffmpeg merge FFmpeg-based plugins (default disabled)],, [ + enable_merge_ffmpeg="no" +]) +AM_CONDITIONAL([MERGE_FFMPEG], [test "$enable_merge_ffmpeg" != "no"]) + dnl dnl avcodec decoder/encoder plugin dnl @@ -2848,6 +2950,26 @@ then ]) fi +dnl +dnl libva needs avcodec +dnl +AC_ARG_ENABLE(libva, + [ --enable-libva libva VAAPI support (default disabled)]) +AS_IF([test "${enable_libva}" = "yes"], [ + AS_IF([test "x${have_avcodec}" = "xyes"], [ + PKG_CHECK_MODULES(LIBVA, [libva libva-x11], + [ + VLC_ADD_LIBS([avcodec],[$LIBVA_LIBS]) + VLC_ADD_CFLAGS([avcodec],[$LIBVA_CFLAGS]) + AC_DEFINE(HAVE_AVCODEC_VAAPI, 1, [Define if avcodec has to be built with VAAPI support.]) + ],[ + AC_MSG_ERROR([Could not find libva.]) + ]) + ],[ + AC_MSG_ERROR([libva VAAPI support depends on libavcodec.]) + ]) +]) + dnl dnl stream_out switcher needs libavcodec dnl @@ -2856,8 +2978,8 @@ AC_ARG_ENABLE(switcher, AS_IF([test "${enable_switcher}" = "yes"], [ AS_IF([test "x${have_avcodec}" = "xyes"], [ VLC_ADD_PLUGIN([stream_out_switcher]) - VLC_ADD_LIBS([stream_out_switcher],[$AVCODEC_LIBS]) - VLC_ADD_CFLAGS([stream_out_switcher],[$AVCODEC_CFLAGS]) + VLC_ADD_LIBS([stream_out_switcher],[$AVCODEC_LIBS $AVUTIL_LIBS]) + VLC_ADD_CFLAGS([stream_out_switcher],[$AVCODEC_CFLAGS $AVUTIL_CFLAGS]) ],[AC_MSG_ERROR([Stream_out switcher depends on avcodec]) ]) ]) @@ -2878,9 +3000,14 @@ then 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]) + AS_IF([test "$enable_merge_ffmpeg" = "no"], [ + VLC_ADD_PLUGIN([avformat]) + VLC_ADD_LIBS([avformat],[$AVFORMAT_LIBS $AVUTIL_LIBS]) + VLC_ADD_CFLAGS([avformat],[$AVFORMAT_CFLAGS $AVUTIL_CFLAGS]) + ], [ + VLC_ADD_LIBS([avcodec],[$AVFORMAT_LIBS $AVUTIL_LIBS]) + VLC_ADD_CFLAGS([avcodec],[$AVFORMAT_CFLAGS $AVUTIL_CFLAGS]) + ]) VLC_RESTORE_FLAGS ],[ AC_MSG_ERROR([Could not find libavformat or libavutil. Use --disable-avformat to ignore this error.]) @@ -2924,10 +3051,10 @@ then VLC_SAVE_FLAGS CPPFLAGS="${CPPFLAGS} ${POSTPROC_CFLAGS}" CFLAGS="${CFLAGS} ${POSTPROC_CFLAGS}" - AC_CHECK_HEADERS(libpostproc/postproc.h postproc/postprocess.h) + AC_CHECK_HEADERS(postproc/postprocess.h) VLC_ADD_PLUGIN([postproc]) - VLC_ADD_LIBS([postproc],[$POSTPROC_LIBS]) - VLC_ADD_CFLAGS([postproc],[$POSTPROC_CFLAGS]) + VLC_ADD_LIBS([postproc],[$POSTPROC_LIBS $AVUTIL_LIBS]) + VLC_ADD_CFLAGS([postproc],[$POSTPROC_CFLAGS $AVUTIL_CFLAGS]) VLC_RESTORE_FLAGS ],[ AC_MSG_ERROR([Could not find libpostproc. Use --disable-postproc to ignore this error.]) @@ -3216,8 +3343,7 @@ AC_CHECK_HEADERS(png.h, [ VLC_ADD_LIBS([png],[-lpng -lz]) VLC_ADD_PLUGIN([png]) VLC_ADD_PLUGIN([osdmenu]) - VLC_ADD_PLUGIN([osd_parser]) - AC_DEFINE(HAVE_LIBPNG, 1, [Define if you have the PNG library: libpng])], + VLC_ADD_PLUGIN([osd_parser])], [],[-lz]) LDFLAGS="${LDFLAGS_save}" ]) @@ -3264,7 +3390,7 @@ if test "${enable_x264}" != "no"; then AC_MSG_ERROR([the specified tree doesn't have x264.h]) fi else - PKG_CHECK_MODULES(X264,x264, [ + PKG_CHECK_MODULES(X264,x264 >= 0.76, [ VLC_ADD_PLUGIN([x264]) VLC_ADD_LDFLAGS([x264],[${X264_LIBS}]) @@ -3284,7 +3410,7 @@ if test "${enable_x264}" != "no"; then fi ],[ if test "${enable_x264}" = "yes"; then - AC_MSG_ERROR([Could not find libx264 on your system: you may get it from http://www.videolan.org/x264.html]) + AC_MSG_ERROR([Could not find libx264 >= 0.76 on your system: you may get it from http://www.videolan.org/x264.html]) fi ]) LDFLAGS="${LDFLAGS_save}" @@ -3340,17 +3466,13 @@ AC_ARG_ENABLE(libass, AS_IF( [test "${enable_libass}" = "yes"], [ PKG_CHECK_MODULES(LIBASS, libass >= 0.9.6, [ - VLC_ADD_LDFLAGS([libass],[$LIBASS_LIBS]) + VLC_ADD_LIBS([libass],[$LIBASS_LIBS]) VLC_ADD_CFLAGS([libass],[$LIBASS_CFLAGS]) VLC_ADD_PLUGIN([libass]) AC_CHECK_HEADERS(fontconfig/fontconfig.h, [VLC_ADD_CPPFLAGS([libass],[-DHAVE_FONTCONFIG]) - if test "${SYS}" = "mingw32"; then - VLC_ADD_LIBS([libass],[-lfontconfig -lfreetype -liconv -lz]) - else VLC_ADD_LIBS([libass],[-lfontconfig]) - fi ]) ],[ AC_MSG_WARN([LIBASS library not found]) @@ -3494,9 +3616,13 @@ AC_ARG_ENABLE(xvmc, ]) AS_IF([test "${enable_xvmc}" != "no"], [ AC_CHECK_HEADERS(X11/extensions/vldXvMC.h, [ - VLC_ADD_PLUGIN([xvmc]) - VLC_ADD_LIBS([xvmc],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lXvMCW -lXv ${LIBMPEG2_LIBS}]) - VLC_ADD_CPPFLAGS([xvmc],[${X_CFLAGS} ${LIBMPEG2_CFLAGS}]) + AS_IF([test "${enable_libmpeg2}" = "yes"], [ + VLC_ADD_PLUGIN([xvmc]) + VLC_ADD_LIBS([xvmc],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lXvMCW -lXv ${LIBMPEG2_LIBS}]) + VLC_ADD_CPPFLAGS([xvmc],[${X_CFLAGS} ${LIBMPEG2_CFLAGS}]) + ], [ + AC_MSG_ERROR([XVideo-MotionCompensation needs libmpeg2 which isn't available]) + ]) ], [ AC_MSG_ERROR([XVideo-MotionCompensation extension not found!]) ]) @@ -3522,14 +3648,16 @@ AC_ARG_ENABLE(xvideo, enable_xvideo="$enable_xcb" ]) +need_xid_provider="no" AS_IF([test "${enable_xcb}" != "no"], [ PKG_CHECK_MODULES(XPROTO, [xproto]) dnl libxcb PKG_CHECK_MODULES(XCB, [xcb]) PKG_CHECK_MODULES(XCB_SHM, [xcb-shm]) - VLC_ADD_PLUGIN([xcb]) + VLC_ADD_PLUGIN([xcb_x11]) VLC_ADD_PLUGIN([xcb_screen]) + VLC_SET_CFLAGS_WERROR([xcb_screen], [-Wno-error=uninitialized]) # some gcc report a warning which doesn't reveal an error AS_IF([test "${enable_xvideo}" != "no"], [ PKG_CHECK_MODULES(XCB_XV, [xcb-xv >= 1.1.90.1], [ @@ -3549,12 +3677,25 @@ AS_IF([test "${enable_xcb}" != "no"], [ ], [true]) dnl xcb-utils - PKG_CHECK_MODULES(XCB_KEYSYMS, [xcb-keysyms]) + PKG_CHECK_MODULES(XCB_KEYSYMS, [xcb-keysyms >= 0.3.4], [ + have_xcb_keysyms="yes" + ], [ + PKG_CHECK_MODULES(XCB_KEYSYMS, [xcb-keysyms], [ + have_xcb_keysyms="yes" + VLC_ADD_CFLAGS([globalhotkeys], [-DXCB_KEYSYM_OLD_API]) + ], [ + have_xcb_keysyms="no" + need_xid_provider="yes" + ]) + ]) - VLC_ADD_PLUGIN([xcb_window]) - VLC_ADD_PLUGIN([globalhotkeys]) - VLC_ADD_CFLAGS([globalhotkeys],[${XCB_KEYSYMS_CFLAGS} ${XCB_CFLAGS}] ) - VLC_ADD_LIBS([globalhotkeys],[${XCB_KEYSYMS_LIBS} ${XCB_LIBS}] ) + AS_IF([test "${have_xcb_keysyms}" = "yes"], [ + VLC_ADD_PLUGIN([xcb_window]) + VLC_ADD_PLUGIN([globalhotkeys]) + VLC_ADD_CFLAGS([globalhotkeys], [${XCB_KEYSYMS_CFLAGS} ${XCB_CFLAGS}]) + VLC_ADD_LIBS([globalhotkeys], [${XCB_KEYSYMS_LIBS} ${XCB_LIBS}]) + ]) + VLC_ADD_PLUGIN([xdg_screensaver]) ]) @@ -3598,81 +3739,41 @@ then then SDL_PATH="${with_sdl_config_path}:${PATH}" fi ]) - 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= - AC_ARG_WITH(sdl-prefix, - [ --with-sdl-prefix=PATH path to libsdl (needed for cross-compiling), - e.g use as: - --with-sdl-prefix=/usr/local/arm/2.95.3/arm-linux/usr)],[],[]) - if test "${with_sdl_prefix}" != "no" -a -n "${with_sdl_prefix}" - then - SDL_PREFIX="--prefix=${with_sdl_prefix}" - fi - if test "${SDL_CONFIG}" != "no" - then - # SDL on Darwin is heavily patched and can only run SDL_image - if test "${SYS}" != "darwin" -a "${SYS}" != "mingw32"; then - VLC_ADD_PLUGIN([vout_sdl]) - VLC_ADD_PLUGIN([aout_sdl]) - fi - VLC_ADD_CFLAGS([vout_sdl aout_sdl sdl_image],[`${SDL_CONFIG} ${SDL_PREFIX} --cflags | sed 's,SDL,,'`]) - VLC_ADD_LIBS([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), - [ AC_CHECK_HEADERS(SDL.h, AC_DEFINE(SDL_INCLUDE_FILE, , - As a last resort we also test for SDL.h presence), - [ AC_MSG_ERROR([The development package for SDL is not installed. -Please install it and try again. Alternatively you can also configure with ---disable-sdl.]) - ])]) - AS_IF([ test "${enable_sdl_image}" != "no"],[ - AC_CHECK_HEADERS(${SDL_IMAGE}, [AC_DEFINE_UNQUOTED(SDL_IMAGE_INCLUDE_FILE, - <${SDL_IMAGE}>, Indicate the path of SDL_image.h) - VLC_ADD_PLUGIN([sdl_image]) - AC_CHECK_LIB(png, png_set_rows, - [VLC_ADD_LIBS([sdl_image],[-lpng -lz])],[],[-lz]) - AC_CHECK_LIB(jpeg, jpeg_start_decompress, - [VLC_ADD_LIBS([sdl_image],[-ljpeg])]) - AC_CHECK_LIB(tiff, TIFFClientOpen, - [VLC_ADD_LIBS([sdl_image],[-ltiff])]) - VLC_ADD_LIBS([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 - AC_MSG_ERROR([The development package for SDL is not installed. -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 + AC_PATH_PROG(SDL_CONFIG, sdl-config, no, ${SDL_PATH}) + SDL_HEADER="SDL/SDL.h" + SDL_IMAGE="SDL/SDL_image.h" + + if test "${SDL_CONFIG}" != "no"; then + PKG_CHECK_MODULES(SDL, [sdl >= 1.2.10], [ + # SDL on Darwin is heavily patched and can only run SDL_image + if test "${SYS}" != "darwin"; then + VLC_ADD_PLUGIN([vout_sdl]) + VLC_ADD_PLUGIN([aout_sdl]) + fi + VLC_ADD_CFLAGS([vout_sdl aout_sdl sdl_image],[`${SDL_CONFIG} --cflags | sed 's,SDL,,'`]) + VLC_ADD_LIBS([vout_sdl aout_sdl sdl_image],[`${SDL_CONFIG} --libs | sed 's,-rdynamic,,'`]) + + # SDL_image + AS_IF([ test "${enable_sdl_image}" != "no"],[ + AC_CHECK_HEADERS("SDL/SDL_image.h", [ + VLC_ADD_PLUGIN([sdl_image]) + AC_CHECK_LIB(png, png_set_rows, [VLC_ADD_LIBS([sdl_image],[-lpng -lz])],[],[-lz]) + AC_CHECK_LIB(jpeg, jpeg_start_decompress, [VLC_ADD_LIBS([sdl_image],[-ljpeg])]) + AC_CHECK_LIB(tiff, TIFFClientOpen, [VLC_ADD_LIBS([sdl_image],[-ltiff])]) + VLC_ADD_LIBS([sdl_image], [-lSDL_image])], + [ AC_MSG_WARN([The development package for SDL_image is not installed. + You should install it alongside your SDL package.]) + ]) + ]) + ],[ + AC_MSG_ERROR([The development package for SDL is too old. You need 1.2.10. + Alternatively you can also configure with --disable-sdl.]) + ]) + else if test "${enable_sdl}" = "yes"; then + AC_MSG_ERROR([I could not find the SDL package. You can download libSDL from http://www.libsdl.org/, or configure with --disable-sdl. Have a nice day. ]) + fi fi fi @@ -3727,7 +3828,7 @@ fi dnl dnl libxml2 module dnl -PKG_ENABLE_MODULES_VLC([libxml2], [], [libxml-2.0 >= 2.5], [libxml2 support],[auto]) +PKG_ENABLE_MODULES_VLC([libxml2], [xml], [libxml-2.0 >= 2.5], [libxml2 support],[auto]) dnl dnl SVG module @@ -3800,7 +3901,7 @@ dnl dnl Windows DirectX module dnl -if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce" -o "${SYS}" = "cygwin" +if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce" then VLC_ADD_PLUGIN([panoramix]) fi @@ -3809,17 +3910,14 @@ AC_ARG_ENABLE(directx, [ --enable-directx Win32 DirectX support (default enabled on Win32)]) if test "${enable_directx}" != "no" then - if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce" -o "${SYS}" = "cygwin" + if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce" then - AC_ARG_WITH(directx, - [ --with-directx=PATH Win32 DirectX headers]) - if test -z "${with_directx}" - then AC_CHECK_HEADERS(ddraw.h, [ VLC_ADD_PLUGIN([directx]) VLC_ADD_PLUGIN([aout_directx]) VLC_ADD_LIBS([directx],[-lgdi32]) - ]) + ],[AC_MSG_ERROR([Cannot find DirectX headers!])] + ) AC_CHECK_HEADERS(GL/gl.h, [ VLC_ADD_PLUGIN([glwin32]) VLC_ADD_LIBS([glwin32],[-lopengl32 -lgdi32]) @@ -3828,23 +3926,29 @@ then [ VLC_ADD_PLUGIN([direct3d]) VLC_ADD_LIBS([direct3d],[-lgdi32]) ]) - else - AC_MSG_CHECKING(for directX headers in ${with_directx}) - if test -f ${with_directx}/ddraw.h - then - VLC_ADD_PLUGIN([directx]) - VLC_ADD_PLUGIN([aout_directx]) - VLC_ADD_CPPFLAGS([directx aout_directx],[-I${with_directx}]) - VLC_ADD_LIBS([directx],[-lgdi32]) - AC_MSG_RESULT(yes) - else - AC_MSG_RESULT(no) - AC_MSG_ERROR([Cannot find ${with_directx}/ddraw.h!]) - fi - fi + VLC_ADD_LIBS([direct3d directx glwin32],[-lole32]) fi fi +dnl +dnl win32 GDI plugin +dnl +AC_ARG_ENABLE(wingdi, + [ --enable-wingdi Win32 GDI module (default enabled on Win32)]) +if test "${enable_wingdi}" != "no"; then + if test "${SYS}" = "mingw32"; then + VLC_ADD_PLUGIN([wingdi]) + VLC_ADD_LIBS([wingdi],[-lgdi32 -lole32]) + fi + if test "${SYS}" = "mingwce"; then + VLC_ADD_PLUGIN([wingdi]) + VLC_ADD_PLUGIN([wingapi]) + VLC_ADD_LIBS([wingdi],[-laygshell]) + VLC_ADD_LIBS([wingapi],[-laygshell]) + fi +fi + + dnl dnl Linux framebuffer module dnl @@ -3879,6 +3983,7 @@ AC_ARG_ENABLE(omapfb, AC_CHECK_HEADERS(X11/Xlib.h, [ VLC_ADD_LIBS([omapfb],[${X_LIBS} ${X_PRE_LIBS} -lX11]) ]) ]) + VLC_ADD_PLUGIN([swscale_omap]) fi dnl @@ -4004,24 +4109,6 @@ dnl libcaca plugin dnl PKG_ENABLE_MODULES_VLC([caca], [], [caca >= 0.99.beta1], [libcaca output],[auto]) -dnl -dnl win32 GDI plugin -dnl -AC_ARG_ENABLE(wingdi, - [ --enable-wingdi Win32 GDI module (default enabled on Win32)]) -if test "${enable_wingdi}" != "no"; then - if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"; then - VLC_ADD_PLUGIN([wingdi]) - VLC_ADD_LIBS([wingdi],[-lgdi32]) - fi - if test "${SYS}" = "mingwce"; then - VLC_ADD_PLUGIN([wingdi]) - VLC_ADD_PLUGIN([wingapi]) - VLC_ADD_LIBS([wingdi],[-laygshell]) - VLC_ADD_LIBS([wingapi],[-laygshell]) - fi -fi - dnl dnl Audio plugins dnl @@ -4059,6 +4146,7 @@ dnl dnl ALSA module dnl PKG_ENABLE_MODULES_VLC([ALSA], [], [alsa >= 1.0.0], [Alsa sound support for linux], [auto]) +PKG_ENABLE_MODULES_VLC([ACCESS_ALSA], [access_alsa], [alsa >= 1.0.0], [Alsa access for linux], [auto]) dnl dnl win32 waveOut plugin @@ -4066,7 +4154,7 @@ dnl AC_ARG_ENABLE(waveout, [ --enable-waveout Win32 waveOut module (default enabled on Win32)]) if test "${enable_waveout}" != "no"; then - if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"; then + if test "${SYS}" = "mingw32"; then VLC_ADD_PLUGIN([waveout]) VLC_ADD_LIBS([waveout],[-lwinmm]) fi @@ -4223,7 +4311,7 @@ if test "${enable_skins2}" = "yes" || fi fi - if test "${skins2_missing_lib}" = "no" && (test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"); then + if test "${skins2_missing_lib}" = "no" && (test "${SYS}" = "mingw32"); then VLC_ADD_PLUGIN([skins2]) ALIASES="${ALIASES} svlc" VLC_ADD_CPPFLAGS([skins2],[-U_OFF_T_ -U_off_t -Imodules/gui/skins2 -DWIN32_SKINS]) @@ -4243,6 +4331,7 @@ if test "${enable_skins2}" = "yes" || VLC_ADD_CPPFLAGS([skins2],[-Imodules/gui/skins2 ${X_CFLAGS} -DX11_SKINS]) VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti]) VLC_ADD_LIBS([skins2],[${X_LIBS} ${X_PRE_LIBS} -lXext -lX11]) + need_xid_provider="no" fi fi fi fi AM_CONDITIONAL(BUILD_SKINS, [test "${enable_skins2}" = "yes" || @@ -4250,49 +4339,25 @@ AM_CONDITIONAL(BUILD_SKINS, [test "${enable_skins2}" = "yes" || test "${SYS}" != "mingwce" && test "${enable_skins2}" != "no")]) dnl -dnl PDA Gtk+2 module -dnl -AC_ARG_ENABLE(pda, - [ --enable-pda PDA interface needs Gtk2 support (default disabled)]) -if test "${enable_pda}" = "yes" -then - PKG_CHECK_MODULES(GTK2, [gtk+-2.0 >= 2.0.0, gthread-2.0]) - VLC_ADD_CFLAGS([gtk2],[${GTK2_CFLAGS}]) - VLC_ADD_LIBS([gtk2],[${GTK2_LIBS}]) - VLC_ADD_CFLAGS([pda],[${GTK2_CFLAGS} ${CFLAGS_pda}]) - VLC_ADD_LIBS([pda],[${LDFLAGS_pda}]) - VLC_ADD_LIBS([pda],[${GTK2_LIBS}]) - VLC_ADD_PLUGIN([pda]) - if test "${SYS}" != "mingw32"; then - NEED_GTK2_MAIN=yes - VLC_ADD_CFLAGS([gtk2_main],[$GTK2_CFLAGS]) - VLC_ADD_LIBS([gtk2_main],[$GTK2_LIBS]) - fi -fi -AM_CONDITIONAL(BUILD_PDA, [test "${enable_pda}" = "yes"]) - -dnl -dnl Maemo +dnl Hildon UI dnl -AC_ARG_ENABLE(maemo, - [ --enable-maemo Internet tablets based on Maemo SDK (default disabled)]) -if test "${enable_maemo}" = "yes" -then +AC_ARG_ENABLE(hildon, + [ --enable-hildon Hildon touchscreen UI (default disabled)]) +AS_IF([test "${enable_hildon}" = "yes"], [ PKG_CHECK_MODULES(HILDON, [hildon-1 hildon-fm-2], [ - VLC_ADD_CFLAGS([maemo],[${HILDON_CFLAGS}]) - VLC_ADD_LIBS([maemo],[${HILDON_LIBS}]) - VLC_ADD_PLUGIN([maemo]) - VLC_ADD_PLUGIN([swscale_maemo]) - AC_DEFINE([BUILD_MAEMO], 1, [Define if you are using Maemo interfaces]) + VLC_ADD_CFLAGS([hildon],[${HILDON_CFLAGS}]) + VLC_ADD_LIBS([hildon],[${HILDON_LIBS}]) + VLC_ADD_PLUGIN([hildon]) ALIASES="${ALIASES} mvlc" + need_xid_provider="no" ], [ - AS_IF([test "${enable_maemo}" = "yes"],[ + AS_IF([test "${enable_hildon}" = "yes"],[ AC_MSG_ERROR([Hildon libraries not found]) ]) - enable_maemo="no" + enable_hildon="no" ]) -fi -AM_CONDITIONAL(BUILD_MAEMO, [test "${enable_maemo}" = "yes"]) +]) +AM_CONDITIONAL(BUILD_HILDON, [test "${enable_hildon}" = "yes"]) dnl dnl QT 4 @@ -4304,19 +4369,19 @@ AC_ARG_ENABLE(qt4, AS_IF([test "${enable_qt4}" != "no"], [ PKG_CHECK_MODULES(QT4, [QtCore QtGui >= 4.4.0], [ VLC_ADD_PLUGIN([qt4]) - AC_DEFINE([HAVE_QT4], 1, [Define to 1 if you have QT4 library.]) ALIASES="${ALIASES} qvlc" - AS_IF([test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" -a "${SYS}" != "cygwin" -a "${SYS}" != "darwin"], [ + AS_IF([test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" -a "${SYS}" != "darwin"], [ VLC_ADD_LIBS([qt4],[$QT4_LIBS -lX11]) + need_xid_provider="no" ], [ VLC_ADD_LIBS([qt4],[$QT4_LIBS -lole32]) ]) - QT4LOCALEDIR="$($PKG_CONFIG --variable=prefix QtCore)/share/qt4/translations/" + QT4LOCALEDIR="$(eval $PKG_CONFIG --variable=prefix QtCore)/share/qt4/translations/" AC_SUBST(QT4LOCALEDIR) VLC_ADD_CXXFLAGS([qt4],[$QT4_CFLAGS -DQT4LOCALEDIR=\\\\\\\"${QT4LOCALEDIR}\\\\\\\"]) - AC_PATH_PROGS(MOC, [moc-qt4 moc], moc,`$PKG_CONFIG --variable=exec_prefix QtCore`/bin) - AC_PATH_PROG(RCC, rcc, rcc,`$PKG_CONFIG --variable=exec_prefix QtCore`/bin) - AC_PATH_PROGS(UIC, [uic-qt4 uic], uic,`$PKG_CONFIG --variable=exec_prefix QtCore`/bin) + AC_PATH_PROGS(MOC, [moc-qt4 moc], moc,`eval $PKG_CONFIG --variable=exec_prefix QtCore`/bin) + AC_PATH_PROG(RCC, rcc, rcc,`eval $PKG_CONFIG --variable=exec_prefix QtCore`/bin) + AC_PATH_PROGS(UIC, [uic-qt4 uic], uic,`eval $PKG_CONFIG --variable=exec_prefix QtCore`/bin) ], [ AS_IF([test "${enable_qt4}" = "yes"],[ AC_MSG_ERROR([Qt 4 library not found]) @@ -4407,7 +4472,7 @@ then VLC_ADD_OBJCFLAGS([macosx], [-F\\\${top_srcdir}/extras/contrib/Sparkle]) dnl For bug report VLC_ADD_LDFLAGS([macosx], [-Wl,-framework,AddressBook]) - VLC_ADD_LDFLAGS([macosx qtcapture], [-Wl,-framework,QTKit]) + VLC_ADD_LDFLAGS([qtcapture], [-Wl,-framework,QTKit]) VLC_ADD_LDFLAGS([qtcapture], [-Wl,-framework,CoreAudio]) VLC_ADD_LDFLAGS([macosx], [-Wl,-framework,WebKit]) VLC_ADD_LDFLAGS([opengllayer qtcapture], [-Wl,-framework,QuartzCore]) @@ -4501,6 +4566,13 @@ then ]) fi +dnl +dnl Post-interface configuration checks +dnl +AS_IF([test "$need_xid_provider" = "yes"], [ + AC_MSG_ERROR([X11 video outputs need a window provider (Qt4, Skins2, Hildon or xcb-utils), but none were found. Please install xcb-keysyms.]) +]) + dnl dnl Visualisation plugin dnl @@ -4524,24 +4596,24 @@ PKG_ENABLE_MODULES_VLC([projectm], [], [libprojectM], [projectM visualization pl dnl dnl AtmoLight (homebrew AmbiLight) dnl -if test "${SYS}" = "mingw32" -o "${SYS}" = "linux"; then - AC_ARG_ENABLE(atmo, -AS_HELP_STRING([--disable-atmo],[AtmoLight (homebrew philips ambilight) - (default enabled)])) - if test "${enable_atmo}" != "no"; then - AC_LANG_PUSH(C++) - VLC_ADD_PLUGIN([atmo]) - AC_LANG_POP(C++) - fi -fi +AC_ARG_ENABLE(atmo, +AS_HELP_STRING([--disable-atmo],[AtmoLight (homebrew Philips ambilight) + (broken, default disabled)]),, [enable_atmo="no"]) +AS_IF([test "${enable_atmo}" != no], [ + AS_IF([test "${SYS}" = "mingw32" -o "${SYS}" = "linux"], [ + AC_LANG_PUSH(C++) + VLC_ADD_PLUGIN([atmo]) + AC_LANG_POP(C++) + ]) +]) dnl dnl Bonjour services discovery PKG_ENABLE_MODULES_VLC([BONJOUR], [], [avahi-client >= 0.6], [Bonjour services discovery], [auto]) dnl -dnl HAL services discovery -PKG_ENABLE_MODULES_VLC([HAL], [], [hal >= 0.5.0], [Linux HAL services discovery], [auto]) +dnl libudev services discovery +PKG_ENABLE_MODULES_VLC([UDEV], [], [libudev >= 142], [Linux udev services discovery], [auto]) dnl dnl MTP devices services discovery @@ -4569,16 +4641,32 @@ dnl dnl libgcrypt dnl AC_ARG_ENABLE(libgcrypt, - [ --disable-libgcrypt libgcrypts support (default enabled)]) + [ --disable-libgcrypt gcrypt support (default enabled)]) AS_IF([test "${enable_libgcrypt}" != "no"], [ - AM_PATH_LIBGCRYPT([1:1.1.94], [have_libgcrypt="yes"], [have_libgcrypt="no"]) + AC_CHECK_DECL([GCRYCTL_SET_THREAD_CBS], [ + libgcrypt-config --version >/dev/null || \ + AC_MSG_ERROR([gcrypt.h present but libgcrypt-config could not be found]) + AC_CHECK_LIB(gcrypt, gcry_control, [ + have_libgcrypt="yes" + GCRYPT_CFLAGS="`libgcrypt-config --cflags`" + GCRYPT_LIBS="`libgcrypt-config --libs`" + ], [ + AC_MSG_ERROR([libgcrypt not found. Install libgcrypt or use --disable-libgcrypt. Have a nice day.]) + ], [`libgcrypt-config --libs`]) + ], [ + AC_MSG_ERROR([libgcrypt version 1.1.94 or higher not found. Install libgcrypt or use --disable-libgcrypt. Have a nice day.]) + ], [#include ] + ) ]) + if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"; then AS_IF([test "${have_libgcrypt}" = "yes"],[ - VLC_ADD_LIBS([rtp stream_out_rtp], [${LIBGCRYPT_LIBS}]) + VLC_ADD_LIBS([rtp stream_out_rtp], [${GCRYPT_LIBS}]) ]) fi -AM_CONDITIONAL([HAVE_LIBGCRYPT], [test "${have_libgcrypt}" = "yes"]) +AC_SUBST(GCRYPT_CFLAGS) +AC_SUBST(GCRYPT_LIBS) +AM_CONDITIONAL([HAVE_GCRYPT], [test "${have_libgcrypt}" = "yes"]) dnl dnl TLS/SSL @@ -4597,13 +4685,13 @@ AS_IF([test "${enable_gnutls}" != "no"], [ ]) dnl The GnuTLS plugin invokes gcry_control directly. AS_IF([test "${have_libgcrypt}" = "yes"],[ - VLC_ADD_LIBS([gnutls], [${LIBGCRYPT_LIBS}]) - VLC_ADD_CFLAGS([gnutls], [${LIBGCRYPT_CFLAGS}]) + VLC_ADD_LIBS([gnutls], [${GCRYPT_LIBS}]) + VLC_ADD_CFLAGS([gnutls], [${GCRYPT_CFLAGS}]) ]) VLC_ADD_LIBS([gnutls], [$GNUTLS_LIBS]) ], [ AS_IF([test "${enable_gnutls}" = "yes"], [ - AC_MSG_ERROR([gnutls not present or too old (version 1.2.9 required)]) + AC_MSG_ERROR([gnutls not present or too old (version 1.7.4 required)]) ]) ]) ]) @@ -4618,8 +4706,8 @@ AC_ARG_ENABLE(remoteosd, 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}) + VLC_ADD_LIBS([remoteosd], ${GCRYPT_LIBS}) + VLC_ADD_CFLAGS([remoteosd], ${GCRYPT_CFLAGS}) ], [ AC_MSG_ERROR([libgcrypt support required for RemoteOSD plugin]) ]) @@ -4633,14 +4721,24 @@ AC_MSG_CHECKING([whether to enable RAOP plugin]) AS_IF([test "${have_libgcrypt}" = "yes"], [ AC_MSG_RESULT(yes) VLC_ADD_PLUGIN([stream_out_raop]) - VLC_ADD_LIBS([stream_out_raop], [${LIBGCRYPT_LIBS} -lgpg-error]) - VLC_ADD_CFLAGS([stream_out_raop], [${LIBGCRYPT_CFLAGS}]) + VLC_ADD_LIBS([stream_out_raop], [${GCRYPT_LIBS} -lgpg-error]) + VLC_ADD_CFLAGS([stream_out_raop], [${GCRYPT_CFLAGS}]) ], [ AC_MSG_RESULT(no) AC_MSG_WARN([libgcrypt support required for RAOP plugin]) ]) +dnl +dnl OSSO (Maemo screen blanking) plugin +dnl +PKG_ENABLE_MODULES_VLC([OSSO], [], [libosso], [Maemo support], [auto]) + +AS_IF([test -f "/etc/maemo_version"], [ + AC_DEFINE([HAVE_MAEMO], 1, [Define to 1 if building for the Maemo platform.]) +]) + + dnl dnl update checking system dnl @@ -4652,8 +4750,8 @@ then then AC_MSG_ERROR([libgcrypt is required for update checking system]) fi - VLC_ADD_LIBS([libvlccore], [${LIBGCRYPT_LIBS}]) - VLC_ADD_CFLAGS([libvlccore], [${LIBGCRYPT_CFLAGS}]) + VLC_ADD_LIBS([libvlccore], [${GCRYPT_LIBS}]) + VLC_ADD_CFLAGS([libvlccore], [${GCRYPT_CFLAGS}]) AC_DEFINE([UPDATE_CHECK], 1, [Define if you want to use the VLC update mechanism]) fi @@ -4709,7 +4807,7 @@ AC_ARG_WITH(wine-sdk-path, [ --with-wine-sdk-path=PATH path to wine sdk]) if test "${enable_activex}" != "no" then - if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin" + if test "${SYS}" = "mingw32" then AC_CHECK_PROGS(MIDL, [midl], no) if test "${with_wine_sdk_path}" != "" @@ -4785,8 +4883,8 @@ then echo "Using $i.pc files." >&5 echo "Using $i.pc files." >&6 found=1 - MOZILLA_CFLAGS=$( $PKG_CONFIG --cflags "$i" ) - MOZILLA_LIBS=$( $PKG_CONFIG --libs "$i" ) + MOZILLA_CFLAGS=$(eval $PKG_CONFIG --cflags "$i" ) + MOZILLA_LIBS=$(eval $PKG_CONFIG --libs "$i" ) break fi done @@ -4919,13 +5017,7 @@ fi AC_LANG_POP(C++) AM_CONDITIONAL(BUILD_MOZILLA,${mozilla}) -dnl Tests for Osso and Xsp -AC_CHECK_LIB(osso, osso_display_blanking_pause, [ - PKG_CHECK_MODULES(GLIB2, glib-2.0, [ - VLC_ADD_CPPFLAGS([xvmc glx omapfb],[-DHAVE_OSSO ${DBUS_CFLAGS} ${GLIB2_CFLAGS}]) - VLC_ADD_LIBS([xvmc glx omapfb],[-losso]) - ]) -]) +dnl Tests for Xsp AC_CHECK_LIB(Xsp, XSPSetPixelDoubling,[ VLC_ADD_CPPFLAGS([xvmc glx],[-DHAVE_XSP]) VLC_ADD_LIBS([xvmc glx],[-lXsp]) @@ -4952,39 +5044,6 @@ then VLC_ADD_PLUGIN([test4]) fi -dnl -dnl gtk_main plugin -dnl -if test "${NEED_GTK_MAIN}" != "no" -then - VLC_ADD_PLUGIN([gtk_main]) - VLC_ADD_CFLAGS([gtk_main],[${CFLAGS_gtk}]) - VLC_ADD_LDFLAGS([gtk_main],[${LDFLAGS_gtk}]) -fi - -if test "${NEED_GNOME_MAIN}" != "no" -then - VLC_ADD_PLUGIN([gnome_main]) - VLC_ADD_CFLAGS([gnome_main],[${CFLAGS_gtk} ${CFLAGS_gnome}]) - VLC_ADD_LDFLAGS([gnome_main],[${LDFLAGS_gtk} ${LDFLAGS_gnome}]) -fi - -if test "${NEED_GTK2_MAIN}" != "no" -then - VLC_ADD_PLUGIN([gtk2_main]) - VLC_ADD_CFLAGS([gtk2],[-DNEED_GTK2_MAIN]) - VLC_ADD_CFLAGS([pda],[-DNEED_GTK2_MAIN]) - VLC_ADD_CFLAGS([gtk2_main],[${CFLAGS_gtk2} ${CFLAGS_pda}]) - VLC_ADD_LDFLAGS([gtk2_main],[${LDFLAGS_gtk2} ${LDFLAGS_pda}]) -fi - -if test "${NEED_GNOME2_MAIN}" != "no" -then - VLC_ADD_PLUGIN([gnome2_main]) - VLC_ADD_CFLAGS([gnome2_main],[${CFLAGS_gtk2} ${CFLAGS_gnome2}]) - VLC_ADD_LDFLAGS([gnome2_main],[${LDFLAGS_gtk2} ${LDFLAGS_gnome2}]) -fi - dnl dnl qte_main plugin dnl @@ -5140,7 +5199,6 @@ AC_CONFIG_FILES([ modules/access/cdda/Makefile modules/access/rtp/Makefile modules/access/rtsp/Makefile - modules/access/rtmp/Makefile modules/access/vcd/Makefile modules/access/vcdx/Makefile modules/access/screen/Makefile @@ -5175,9 +5233,8 @@ AC_CONFIG_FILES([ modules/demux/playlist/Makefile modules/gui/Makefile modules/gui/beos/Makefile - modules/gui/pda/Makefile modules/gui/macosx/Makefile - modules/gui/maemo/Makefile + modules/gui/hildon/Makefile modules/gui/minimal_macosx/Makefile modules/gui/qnx/Makefile modules/gui/qt4/Makefile @@ -5194,7 +5251,6 @@ AC_CONFIG_FILES([ modules/misc/osd/Makefile modules/misc/stats/Makefile modules/misc/xml/Makefile - modules/misc/probe/Makefile modules/mux/Makefile modules/mux/mpeg/Makefile modules/packetizer/Makefile @@ -5203,7 +5259,6 @@ AC_CONFIG_FILES([ modules/stream_out/Makefile modules/video_chroma/Makefile modules/video_filter/Makefile - modules/video_filter/atmo/Makefile modules/video_filter/dynamicoverlay/Makefile modules/video_output/Makefile modules/video_output/msw/Makefile