X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=configure.ac;h=0676d7062f2fab573f8956d87838c9ce08322f09;hb=7cde22ed8c2041a4396f5a7ad8da7fa1aadf1d5f;hp=67f755fe840b600e0dce99b08f9e44e9f79b3f51;hpb=21cd1cd4a299476d3a3b751fc1e80ec66623a4a5;p=vlc diff --git a/configure.ac b/configure.ac index 67f755fe84..0676d7062f 100644 --- a/configure.ac +++ b/configure.ac @@ -355,6 +355,15 @@ 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 @@ -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 @@ -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]) @@ -1255,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 @@ -1272,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]) @@ -1384,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) @@ -1443,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], @@ -1456,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"], @@ -2235,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 @@ -2833,6 +2901,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 @@ -2893,9 +2967,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 $AVUTIL_LIBS]) - VLC_ADD_CFLAGS([avformat],[$AVFORMAT_CFLAGS $AVUTIL_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.]) @@ -3279,7 +3358,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}]) @@ -3299,7 +3378,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}" @@ -3509,9 +3588,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!]) ]) @@ -3787,15 +3870,12 @@ if test "${enable_directx}" != "no" then 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]) @@ -3804,23 +3884,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 @@ -3980,24 +4066,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"; 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 @@ -4877,8 +4945,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,[