X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=configure.ac;h=29adb16f9c369145015c57420e85cb72c564d289;hb=410a3de5b3690091f267f344f4c1fb182bfaed06;hp=3e4ddb00931590ac51931cd6b683d8339c723bc0;hpb=2d15a4ba3fcbbdba0251766f43963cc2f7a6a75d;p=vlc diff --git a/configure.ac b/configure.ac index 3e4ddb0093..29adb16f9c 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 @@ -355,10 +355,19 @@ case "${host_os}" in 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,7 +572,6 @@ 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 getpid gmtime_r lldiv localtime_r rewind strcasecmp strcasestr strdup strlcpy strncasecmp strndup strnlen strsep strtof strtoll vasprintf swab]) AC_CHECK_FUNCS([stricmp strnicmp]) @@ -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 kate flac lua],[-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]) @@ -762,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]) @@ -863,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" @@ -987,12 +996,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 @@ -1008,7 +1011,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, @@ -1261,10 +1264,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 @@ -1278,10 +1279,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]) @@ -1310,7 +1309,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 @@ -1390,7 +1389,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) @@ -1449,6 +1448,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], @@ -1462,6 +1497,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"], @@ -1708,8 +1761,10 @@ 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]) ) ) ]) @@ -2064,7 +2119,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, @@ -2083,7 +2138,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]) @@ -2102,7 +2157,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}) @@ -2239,7 +2294,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 @@ -2582,15 +2646,11 @@ dnl PKG_ENABLE_MODULES_VLC([OGG], [], [ogg >= 1.0], [Ogg demux support], [auto]) if test "${enable_sout}" != "no"; then PKG_ENABLE_MODULES_VLC([MUX_OGG], [], [ogg >= 1.0], [Ogg demux support], [auto]) -else - AM_CONDITIONAL(HAVE_MUX_OGG, 0) fi if test "${enable_sout}" != "no"; then dnl Check for libshout PKG_ENABLE_MODULES_VLC([shout], [access_output_shout], [shout >= 2.1], [libshout output plugin], [auto]) -else - AM_CONDITIONAL(HAVE_shout, 0) fi dnl @@ -2837,6 +2897,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 @@ -2875,8 +2941,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]) ]) ]) @@ -2897,9 +2963,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.]) @@ -2945,8 +3016,8 @@ then 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_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.]) @@ -3283,7 +3354,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}]) @@ -3303,7 +3374,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}" @@ -3513,9 +3584,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!]) ]) @@ -3549,6 +3624,7 @@ AS_IF([test "${enable_xcb}" != "no"], [ PKG_CHECK_MODULES(XCB_SHM, [xcb-shm]) 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], [ @@ -3617,81 +3693,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"; 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 @@ -3819,7 +3855,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 @@ -3828,17 +3864,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]) @@ -3847,23 +3880,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 @@ -4023,24 +4062,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 @@ -4086,7 +4107,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 @@ -4243,7 +4264,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]) @@ -4269,28 +4290,6 @@ AM_CONDITIONAL(BUILD_SKINS, [test "${enable_skins2}" = "yes" || (test "${SYS}" != "darwin" && test "${SYS}" != "beos" && 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 @@ -4326,7 +4325,7 @@ AS_IF([test "${enable_qt4}" != "no"], [ 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]) ], [ VLC_ADD_LIBS([qt4],[$QT4_LIBS -lole32]) @@ -4427,7 +4426,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]) @@ -4589,16 +4588,27 @@ 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], [ + have_libgcrypt="yes" + GCRYPT_CFLAGS="" + GCRYPT_LIBS="-lgcrypt" + ], [ + AS_IF([test "${enable_libgcrypt}"], [ + AC_MSG_ERROR([libgcrypt version 1.1.94 or higher not found.]) + ]) + have_libgcrypt="no" + ], [#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 @@ -4617,8 +4627,8 @@ 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]) ], [ @@ -4638,8 +4648,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]) ]) @@ -4653,8 +4663,8 @@ 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]) @@ -4672,8 +4682,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 @@ -4729,7 +4739,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}" != "" @@ -4942,8 +4952,8 @@ 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]) + VLC_ADD_CPPFLAGS([xvmc glx],[-DHAVE_OSSO ${DBUS_CFLAGS} ${GLIB2_CFLAGS}]) + VLC_ADD_LIBS([xvmc glx],[-losso]) ]) ]) AC_CHECK_LIB(Xsp, XSPSetPixelDoubling,[ @@ -4972,39 +4982,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 @@ -5194,7 +5171,6 @@ 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/minimal_macosx/Makefile