X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=configure.ac;h=fbf21a123f2489a85885b5cfd54c60e07f82f551;hb=ff241764f59729c01a0dcf4b149803a63c071bcd;hp=d01256835d18a30ab736e460bfda1d7802e0538d;hpb=5fd4ccc7c5e763c4e314f83f24c788431ffe55e1;p=vlc diff --git a/configure.ac b/configure.ac index d01256835d..fbf21a123f 100644 --- a/configure.ac +++ b/configure.ac @@ -24,7 +24,7 @@ AC_CANONICAL_BUILD AC_CANONICAL_HOST AC_PRESERVE_HELP_ORDER -AM_INIT_AUTOMAKE(tar-ustar color-tests) +AM_INIT_AUTOMAKE(tar-ustar color-tests foreign) AM_CONFIG_HEADER(config.h) # Disable with "./configure --disable-silent-rules" or "make V=1" @@ -155,10 +155,10 @@ case "${host_os}" in CPPFLAGS="${CPPFLAGS} ${ARCH_flag}" OBJCFLAGS="${OBJCFLAGS} -D_INTL_REDIRECT_MACROS -std=gnu99 ${ARCH_flag}" LDFLAGS="${LDFLAGS} -Wl,-headerpad_max_install_names ${ARCH_flag}" - VLC_ADD_LIBS([mkv motion], [-Wl,-framework,IOKit,-framework,CoreFoundation]) - VLC_ADD_LIBS([libvlc vlc],[-Wl,-undefined,dynamic_lookup,-framework,Appkit]) - VLC_ADD_LIBS([avcodec avformat access_avio swscale postproc i420_rgb_mmx x264 x26410b],[-Wl,-read_only_relocs,suppress]) - VLC_ADD_CFLAGS([motion],[-fconstant-cfstrings]) + VLC_ADD_LIBS([motion rotate], [-Wl,-framework,IOKit,-framework,CoreFoundation]) + VLC_ADD_LIBS([libvlc vlc],[-Wl,-undefined,dynamic_lookup,-framework,AppKit]) + VLC_ADD_LIBS([avcodec access_avio swscale postproc i420_rgb_mmx x264 x26410b],[-Wl,-read_only_relocs,suppress]) + VLC_ADD_CFLAGS([motion rotate],[-fconstant-cfstrings]) VLC_ADD_LIBS([libvlccore],[-Wl,-framework,CoreFoundation]) dnl Allow binaries created on Lion to run on earlier releases @@ -275,6 +275,35 @@ AM_CONDITIONAL(HAVE_WIN32, test "${SYS}" = "mingw32") AM_CONDITIONAL(HAVE_WIN64, test "${HAVE_WIN64}" = "1") AM_CONDITIONAL(HAVE_SYMBIAN, test "${SYS}" = "symbian") +dnl +dnl Sadly autoconf does not think about testing foo.exe when ask to test +dnl for program foo on win32 +case "${build_os}" in + cygwin|msys) + ac_executable_extensions=".exe" + ;; + *) + ;; +esac + +dnl Android is linux, but a bit different +AS_IF([test "$SYS" = linux],[ + AC_MSG_CHECKING([for an Android system]) + AC_PREPROC_IFELSE([AC_LANG_PROGRAM( + [[#ifndef __ANDROID__ + # error Not Android + #endif + ]],[[;]]) + ],[ + HAVE_ANDROID="1" + AC_MSG_RESULT([yes]) + ],[ + AC_MSG_RESULT([no]) + ]) +]) +AM_CONDITIONAL(HAVE_ANDROID, test "${HAVE_ANDROID}" = "1") + + dnl dnl Check for the contrib directory dnl @@ -345,35 +374,6 @@ AS_IF([test -n "${CONTRIB_DIR}"], [ ]) AC_SUBST(CONTRIB_DIR) -dnl -dnl Sadly autoconf does not think about testing foo.exe when ask to test -dnl for program foo on win32 - -case "${build_os}" in - cygwin|msys) - ac_executable_extensions=".exe" - ;; - *) - ;; -esac - -dnl Android is linux, but a bit different -AS_IF([test "$SYS" = linux],[ - AC_MSG_CHECKING([for an Android system]) - AC_PREPROC_IFELSE([AC_LANG_PROGRAM( - [[#ifndef __ANDROID__ - # error Not Android - #endif - ]],[[;]]) - ],[ - HAVE_ANDROID="1" - AC_MSG_RESULT([yes]) - ],[ - AC_MSG_RESULT([no]) - ]) -]) -AM_CONDITIONAL(HAVE_ANDROID, test "${HAVE_ANDROID}" = "1") - dnl dnl Libtool dnl It's very bad, but our former custom system was worst @@ -412,8 +412,10 @@ dnl Iconv stuff dnl AM_ICONV -dnl Check for broken versions of mingw-runtime compatability library +dnl +dnl checks for mingw AS_IF([test "${SYS}" = "mingw32"], [ +dnl Check for broken versions of mingw-runtime compatability library AC_MSG_CHECKING(for broken mingw-runtime) AC_PREPROC_IFELSE([AC_LANG_SOURCE([ #include <_mingw.h> @@ -432,18 +434,14 @@ AS_IF([test "${SYS}" = "mingw32"], [ ]) dnl force use of mingw provided c99 *printf over msvcrt CPPFLAGS="${CPPFLAGS} -D__USE_MINGW_ANSI_STDIO=1" -]) dnl Check for the need to include the mingwex lib for mingw32 -if test "${SYS}" = "mingw32" ; then AC_CHECK_LIB(mingwex,opendir, AC_CHECK_LIB(mingw32,opendir,, [VLC_ADD_LIBS([libvlccore],[-lmingwex])]) ) -fi dnl Check for fnative-struct or mms-bitfields support for mingw32 -if test "${SYS}" = "mingw32" ; then VLC_SAVE_FLAGS CFLAGS="${CFLAGS} -mms-bitfields" CXXFLAGS="${CXXFLAGS} -mms-bitfields" @@ -459,7 +457,7 @@ if test "${SYS}" = "mingw32" ; then [AC_TRY_COMPILE([],,ac_cv_c_fnative_struct=yes, ac_cv_c_fnative_struct=no)]) "${ac_cv_c_fnative_struct}" = "no" && VLC_RESTORE_FLAGS fi -fi +]) dnl dnl Buggy glibc prevention. Purposedly not cached. @@ -517,11 +515,8 @@ AC_LINK_IFELSE([ dnl C11 static_assert() AC_MSG_CHECKING([for static_assert in assert.h]) -AC_PREPROC_IFELSE([AC_LANG_SOURCE([ -#include -#ifndef static_assert -# error BOOM! -#endif +AC_LINK_IFELSE([AC_LANG_PROGRAM([#include ], [ +static_assert(1, "The impossible happened."); ])], [ AC_MSG_RESULT([yes]) AC_DEFINE([HAVE_STATIC_ASSERT], [1], [Define to 1 if defines static_assert.]) @@ -533,7 +528,14 @@ AC_PREPROC_IFELSE([AC_LANG_SOURCE([ AC_FUNC_STRCOLL dnl Check for non-standard system calls -AC_CHECK_FUNCS([accept4 pipe2 eventfd vmsplice sched_getaffinity]) +case "$SYS" in + "linux") + AC_CHECK_FUNCS([accept4 pipe2 eventfd vmsplice sched_getaffinity]) + ;; + "mingw32") + AC_CHECK_FUNCS([_lock_file]) + ;; +esac AH_BOTTOM([#include ]) @@ -570,7 +572,7 @@ AC_CHECK_FUNCS([if_nameindex if_nametoindex]) VLC_RESTORE_FLAGS AS_IF([test -n "$SOCKET_LIBS"], [ - VLC_ADD_LIBS([access_http access_udp access_tcp access_ftp access_rtmp access_output_udp access_output_shout sap stream_out_select stream_out_standard stream_out_rtp stream_out_raop vod_rtsp rtp oldrc netsync gnutls flac ts audioscrobbler lua remoteosd zvbi audiobargraph_a netsync],[${SOCKET_LIBS}]) + VLC_ADD_LIBS([access_http access_udp access_tcp access_ftp access_rtmp access_output_udp access_output_shout sap stream_out_standard stream_out_rtp stream_out_raop vod_rtsp rtp oldrc netsync gnutls flac ts audioscrobbler lua remoteosd zvbi audiobargraph_a],[${SOCKET_LIBS}]) ]) AC_SUBST(SOCKET_LIBS) @@ -619,7 +621,7 @@ AC_CHECK_FUNC(getopt_long,, [ AC_SUBST(GNUGETOPT_LIBS) AC_CHECK_LIB(m,cos,[ - VLC_ADD_LIBS([adjust wave ripple psychedelic gradient a52tofloat32 dtstofloat32 x264 goom panoramix rotate noise grain scene kate flac lua chorus_flanger freetype avcodec avformat access_avio swscale postproc i420_rgb faad twolame equalizer spatializer param_eq samplerate freetype mpc dmo quicktime qt4 compressor headphone_channel_mixer normvol audiobargraph_a speex opus mono colorthres extract ball access_imem hotkeys mosaic gaussianblur x26410b hqdn3d anaglyph oldrc ncurses],[-lm]) + VLC_ADD_LIBS([adjust wave ripple psychedelic gradient a52tofloat32 dtstofloat32 x264 goom panoramix rotate noise grain scene kate flac lua chorus_flanger freetype avcodec access_avio swscale postproc i420_rgb faad twolame equalizer spatializer param_eq samplerate freetype mpc dmo quicktime qt4 compressor headphone_channel_mixer normvol audiobargraph_a speex opus mono colorthres extract ball access_imem hotkeys mosaic gaussianblur x26410b hqdn3d anaglyph oldrc ncurses],[-lm]) LIBM="-lm" ], [ LIBM="" @@ -658,12 +660,14 @@ AC_SUBST(LIBDL) VLC_ADD_LIBS([lua],[$LIBDL]) dnl Check for thread library -if test "${SYS}" != "mingw32"; then - +LIBPTHREAD="" +AS_IF([test "${SYS}" != "mingw32"], [ VLC_SAVE_FLAGS LIBS="" AC_SEARCH_LIBS(pthread_rwlock_init, pthread pthreads c_r, [ - VLC_ADD_LIBS([libvlccore libvlc vlc plugin],[${LIBS}]) + AS_IF([test "$ac_cv_search_pthread_rwlock_init" != "none required"], [ + LIBPTHREAD="$ac_cv_search_pthread_rwlock_init" + ]) ]) VLC_RESTORE_FLAGS @@ -682,7 +686,8 @@ if test "${SYS}" != "mingw32"; then dnl HP/UX port AC_CHECK_LIB(rt,sem_init, [VLC_ADD_LIBS([libvlccore],[-lrt])]) ]) -fi # end "${SYS}" != "mingw32" +]) +AC_SUBST(LIBPTHREAD) dnl Check for headers AC_CHECK_HEADERS([search.h]) @@ -739,7 +744,7 @@ AC_CHECK_HEADERS(zlib.h, [ have_zlib=yes ], [ have_zlib=no ]) AM_CONDITIONAL(HAVE_ZLIB, [ test "${have_zlib}" = "yes" ]) if test "${have_zlib}" = "yes" then - VLC_ADD_LIBS([access_http skins2 sap mkv unzip zip],[-lz]) + VLC_ADD_LIBS([access_http skins2 sap unzip zip],[-lz]) PKG_CHECK_MODULES([MINIZIP], [minizip] , [ have_minizip=yes ], [ AC_CHECK_HEADERS([unzip.h], [ have_minizip=yes @@ -1567,10 +1572,15 @@ dnl AC_ARG_ENABLE(live555, [AS_HELP_STRING([--enable-live555], [enable RTSP input through live555 (default enabled)])]) + AS_IF([test "${enable_live555}" != "no" -a -n "${CXX}"], [ AC_LANG_PUSH(C++) VLC_SAVE_FLAGS - AS_IF([test -z "${CONTRIB_DIR}"], [ + + dnl detect include paths + AS_IF([test -f "${CONTRIB_DIR}/include/UsageEnvironment.hh"], [ + CPPFLAGS_live555="-I${CONTRIB_DIR}/include/liveMedia -I${CONTRIB_DIR}/include/groupsock -I${CONTRIB_DIR}/include/BasicUsageEnvironment -I${CONTRIB_DIR}/include/UsageEnvironment" + ], [ AS_IF([test ${SYS} != "os2"], [ LIVE555_PREFIX=${LIVE555_PREFIX-"/usr"} CPPFLAGS_live555="-I${LIVE555_PREFIX}/include/liveMedia -I${LIVE555_PREFIX}/include/groupsock -I${LIVE555_PREFIX}/include/BasicUsageEnvironment -I${LIVE555_PREFIX}/include/UsageEnvironment" @@ -1579,15 +1589,16 @@ AS_IF([test "${enable_live555}" != "no" -a -n "${CXX}"], [ CPPFLAGS_live555="-I${LIVE555_PREFIX}/liveMedia/include -I${LIVE555_PREFIX}/groupsock/include -I${LIVE555_PREFIX}/BasicUsageEnvironment/include -I${LIVE555_PREFIX}/UsageEnvironment/include" LDFLAGS_live555="-L${LIVE555_PREFIX}/liveMedia -L${LIVE555_PREFIX}/groupsock -L${LIVE555_PREFIX}/BasicUsageEnvironment -L${LIVE555_PREFIX}/UsageEnvironment" ]) - ], [ - CPPFLAGS_live555="-I${CONTRIB_DIR}/include/liveMedia -I${CONTRIB_DIR}/include/groupsock -I${CONTRIB_DIR}/include/BasicUsageEnvironment -I${CONTRIB_DIR}/include/UsageEnvironment" ]) + + dnl CPP Flags AS_IF([test "${SYS}" = "solaris"], [ CPPFLAGS_live555="${CPPFLAGS_live555} -DSOLARIS" ]) CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_live555}" LDFLAGS="${LDFLAGS} ${LDFLAGS_live555}" + dnl version check AC_CACHE_CHECK([for live555 version 1324598400 or later], [ac_cv_live555], [ AC_PREPROC_IFELSE([AC_LANG_PROGRAM([ [#include @@ -1600,6 +1611,7 @@ AS_IF([test "${enable_live555}" != "no" -a -n "${CXX}"], [ ac_cv_live555="no" ]) ]) + AS_IF([test "$ac_cv_live555" = "no"], [ AC_MSG_WARN([liveMedia is missing or its installed version is too old: Version 2011.12.23 or later is required to proceed. @@ -1633,13 +1645,14 @@ You can get an updated one from http://www.live555.com/liveMedia .]) ]) dnl -dnl - special access module for dc1394 input -dnl - dv module: digital video module check for libraw1394 -dnl - linsys modules: access module check for libzvbi +dnl IIDC and DV FireWire input modules dnl PKG_ENABLE_MODULES_VLC([DC1394], [], [libdc1394-2 >= 2.1.0], [IIDC FireWire input module], [auto]) PKG_ENABLE_MODULES_VLC([DV1394], [], [libraw1394 >= 2.0.1 libavc1394 >= 0.5.3], [DV FireWire input module], [auto]) +dnl +dnl - linsys modules: access module check for libzvbi +dnl AC_ARG_ENABLE(linsys, [AS_HELP_STRING([--enable-linsys], [Linux Linear Systems Ltd. SDI and HD-SDI input cards (default enabled)])]) @@ -1708,34 +1721,19 @@ fi dnl dnl sftp access support dnl -AC_ARG_ENABLE(sftp, - [AS_HELP_STRING([--enable-sftp], - [support SFTP file transfer via libssh2 (default disabled)])]) -if test "${enable_sftp}" = "yes"; then - AC_CHECK_HEADERS(libssh2.h, [ - VLC_ADD_PLUGIN([access_sftp]) - VLC_ADD_LIBS([access_sftp], [-lssh2]) - ]) -fi +PKG_ENABLE_MODULES_VLC([SFTP], [access_sftp], [libssh2], (support SFTP file transfer via libssh2), [auto]) dnl dnl Video4Linux 2 dnl AC_ARG_ENABLE(v4l2, [AS_HELP_STRING([--disable-v4l2], [disable Video4Linux version 2 (default auto)])]) -AC_ARG_ENABLE(pvr, [AS_HELP_STRING([--enable-pvr], - [support PVR V4L2 cards (default disabled)])]) have_v4l2="no" AS_IF([test "$enable_v4l2" != "no"], [ AC_CHECK_HEADERS([linux/videodev2.h sys/videoio.h], [ have_v4l2="yes" ]) ]) -AS_IF([test "$have_v4l2" = "yes"], [ - AS_IF([test "${enable_pvr}" = "yes"], [ - VLC_ADD_PLUGIN([pvr]) - ]) -]) AM_CONDITIONAL(HAVE_V4L2, [test "${have_v4l2}" != "no"]) dnl @@ -1747,21 +1745,25 @@ AC_ARG_ENABLE(decklink, AC_ARG_WITH(decklink_sdk, [AS_HELP_STRING[--with-decklink-sdk=DIR], [ location of Blackmagic DeckLink SDI SDK])]) +have_decklink=no if test "${enable_decklink}" != "no" then if test "${with_decklink_sdk}" != "no" -a -n "${with_decklink_sdk}" then - VLC_ADD_CPPFLAGS([decklink],[-I${with_decklink_sdk}/include]) + VLC_ADD_CXXFLAGS([decklink],[-I${with_decklink_sdk}/include]) fi VLC_SAVE_FLAGS - CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_decklink}" + CXXFLAGS="${CXXFLAGS} ${CXXFLAGS_decklink}" AC_LANG_PUSH(C++) AC_CHECK_HEADERS(DeckLinkAPIDispatch.cpp, [ - VLC_ADD_PLUGIN([decklink]) - ],[AC_MSG_WARN(Blackmagic DeckLink SDI include files not found, decklink disabled)]) + have_decklink=yes + ], [ + AC_MSG_WARN(Blackmagic DeckLink SDI include files not found, decklink disabled) + ]) AC_LANG_POP(C++) VLC_RESTORE_FLAGS fi +AM_CONDITIONAL(HAVE_DECKLINK, [ test "${have_decklink}" != "no" ]) dnl @@ -1772,21 +1774,7 @@ PKG_ENABLE_MODULES_VLC([GNOMEVFS], [access_gnomevfs], [gnome-vfs-2.0], [GnomeVFS dnl dnl VCDX modules dnl -AC_ARG_ENABLE(vcdx, - [AS_HELP_STRING([--enable-vcdx], - [navigate VCD with libvcdinfo (default disabled)])]) -if test "${enable_vcdx}" = "yes" -then - PKG_CHECK_MODULES(LIBCDIO, [libcdio >= 0.78.2 libiso9660 >= 0.72], - [VLC_ADD_LIBS([vcdx],[$LIBCDIO_LIBS]) - VLC_ADD_CFLAGS([vcdx],[$LIBCDIO_CFLAGS])], - [AC_MSG_ERROR([${LIBCDIO_PKG_ERRORS} (required for vcdx plugin).])]) - PKG_CHECK_MODULES(LIBVCDINFO, libvcdinfo >= 0.7.22, - [VLC_ADD_LIBS([vcdx],[$LIBVCDINFO_LIBS]) - VLC_ADD_CFLAGS([vcdx],[$LIBVCDINFO_CFLAGS])], - [AC_MSG_ERROR([${LIBVCDINFO_PKG_ERRORS} (required for vcdx plugin).])]) - VLC_ADD_PLUGIN([vcdx]) -fi +PKG_ENABLE_MODULES_VLC([VCDX], [vcdx], [libcdio >= 0.78.2 libiso9660 >= 0.72 libvcdinfo >= 0.7.22], [navigate VCD with libvcdinfo], [no]) dnl dnl Built-in CD-DA and VCD module @@ -1881,7 +1869,6 @@ if test "${enable_screen}" != "no"; then AC_CHECK_HEADERS(OpenGL/gl.h, [ AC_CHECK_HEADERS(ApplicationServices/ApplicationServices.h, [ VLC_ADD_PLUGIN([screen]) - VLC_ADD_LIBS([screen],[-Wl,-framework,OpenGL,-framework,ApplicationServices]) ]) ]) fi @@ -2112,17 +2099,6 @@ AC_ARG_ENABLE(omxil, if test "${enable_omxil}" = "yes" then VLC_ADD_PLUGIN([omxil]) - VLC_ADD_LIBS([omxil], [$LIBDL]) -fi - -dnl -dnl iomx codec plugin -dnl -AC_ARG_ENABLE(iomx, - [ --enable-iomx iomx codec module (default disabled)]) -if test "${enable_iomx}" = "yes" -then - VLC_ADD_PLUGIN([iomx]) fi dnl @@ -2233,7 +2209,7 @@ dnl AC_ARG_ENABLE(avcodec, [ --enable-avcodec libavcodec codec (default enabled)]) AS_IF([test "${enable_avcodec}" != "no"], [ - PKG_CHECK_MODULES(AVCODEC,[libavcodec >= 52.25.0 libavutil >= 49.5.0], + PKG_CHECK_MODULES(AVCODEC,[libavcodec >= 53.34.0 libavutil >= 51.22.0], [ VLC_SAVE_FLAGS CPPFLAGS="${CPPFLAGS} ${AVCODEC_CFLAGS}" @@ -2264,16 +2240,15 @@ AC_ARG_ENABLE(libva, AS_IF([test "${enable_libva}" = "yes" -a "${have_avcodec}" != "yes" ], [ AC_MSG_ERROR([--enable-libva and --disable-avcodec options are mutually exclusive. Use --enable-avcodec.]) ]) +have_avcodec_vaapi="no" AS_IF([test "${enable_libva}" != "no"], [ PKG_CHECK_MODULES(LIBVA, [libva libva-x11], [ VLC_SAVE_FLAGS CPPFLAGS="${CPPFLAGS} ${AVCODEC_CFLAGS}" CFLAGS="${CFLAGS} ${AVCODEC_CFLAGS}" AC_CHECK_HEADERS(libavcodec/vaapi.h, [ - VLC_ADD_LIBS([avcodec],[$LIBVA_LIBS ${X_LIBS} ${X_PRE_LIBS} -lX11]) - VLC_ADD_CFLAGS([avcodec],[$LIBVA_CFLAGS ${X_CFLAGS}]) - AC_DEFINE(HAVE_AVCODEC_VAAPI, 1, [Define if avcodec has to be built with VAAPI support.]) AC_MSG_NOTICE([VAAPI acceleration activated]) + have_avcodec_vaapi="yes" ],[ AS_IF([test -n "${enable_libva}"], [ AC_MSG_ERROR([libva is present but libavcodec/vaapi.h is missing]) @@ -2290,6 +2265,7 @@ AS_IF([test "${enable_libva}" != "no"], [ ]) ]) ]) +AM_CONDITIONAL([HAVE_AVCODEC_VAAPI], [test "${have_avcodec_vaapi}" = "yes"]) dnl dnl dxva2 needs avcodec @@ -2297,15 +2273,15 @@ dnl AC_ARG_ENABLE(dxva2, [ --enable-dxva2 DxVA2 GPU decoding support (default auto)]) +have_avcodec_dxva2="no" AS_IF([test "${enable_dxva2}" != "no"], [ if test "${SYS}" = "mingw32"; then AS_IF([test "x${have_avcodec}" = "xyes"], [ AC_CHECK_HEADERS(dxva2api.h, [ AC_CHECK_HEADERS(libavcodec/dxva2.h, [ - VLC_ADD_LIBS([avcodec],[-lole32 -lshlwapi -luuid]) - AC_DEFINE(HAVE_AVCODEC_DXVA2, 1, [Define if avcodec has to be built with DxVA2 support.]) - echo "DxVA2 acceleration activated" + AC_MSG_NOTICE([DxVA2 acceleration activated]) + have_avcodec_dxva2="yes" ],[ AS_IF([test "${enable_dxva2}" = "yes"], [AC_MSG_ERROR([dxva2 is present but libavcodec/dxva2.h is missing])], @@ -2325,6 +2301,7 @@ AS_IF([test "${enable_dxva2}" != "no"], [ ]) fi ]) +AM_CONDITIONAL([HAVE_AVCODEC_DXVA2], [test "${have_avcodec_dxva2}" = "yes"]) dnl dnl vda needs avcodec @@ -2332,22 +2309,21 @@ dnl AC_ARG_ENABLE(vda, [ --enable-vda VDA support (default auto)]) +have_avcodec_vda="no" AS_IF([test "${enable_vda}" != "no"], [ if test "${SYS}" = "darwin"; then AS_IF([test "x${have_avcodec}" = "xyes"], [ AC_CHECK_HEADERS(VideoDecodeAcceleration/VDADecoder.h, [ AC_CHECK_HEADERS(libavcodec/vda.h, [ - VLC_ADD_LIBS([avcodec],[-Wl,-framework,CoreFoundation,-framework,VideoDecodeAcceleration,-framework,QuartzCore]) - VLC_ADD_LDFLAGS([vda],[-Wl,-framework,CoreFoundation,-framework,VideoDecodeAcceleration,-framework,QuartzCore]) - AC_DEFINE(HAVE_AVCODEC_VDA, 1, [Define if avcodec has to be built with VDA support.]) + have_avcodec_vda="yes" ],[ - AS_IF([test "${enable_vda}" == "yes"], + AS_IF([test "${enable_vda}" = "yes"], [AC_MSG_ERROR([vda is present but libavcodec/vda.h is missing])], [AC_MSG_WARN([vda is present but libavcodec/vda.h is missing ])]) ]) ],[ - AS_IF([test "${enable_vda}" == "yes"], + AS_IF([test "${enable_vda}" = "yes"], [AC_MSG_ERROR([Could not find required VideoDecodeAcceleration/VDADecoder.h])], [AC_MSG_WARN([VideoDecodeAcceleration/VDADecoder.h not found])]) ]) @@ -2358,6 +2334,7 @@ AS_IF([test "${enable_vda}" != "no"], [ ]) fi ]) +AM_CONDITIONAL([HAVE_AVCODEC_VDA], [test "${have_avcodec_vda}" = "yes"]) dnl dnl stream_out switcher needs libavcodec @@ -2384,7 +2361,7 @@ AC_ARG_ENABLE(avformat, ]) if test "${enable_avformat}" != "no" then - PKG_CHECK_MODULES(AVFORMAT,[libavformat > 52.30.0 libavcodec libavutil], + PKG_CHECK_MODULES(AVFORMAT,[libavformat >= 53.21.0 libavcodec libavutil], [ VLC_SAVE_FLAGS CPPFLAGS="${CPPFLAGS} ${AVFORMAT_CFLAGS}" @@ -2393,10 +2370,10 @@ then AC_CHECK_HEADERS(libavutil/avutil.h) AS_IF([test "$enable_merge_ffmpeg" = "no"], [ VLC_ADD_PLUGIN([avformat access_avio]) - VLC_ADD_LIBS([avformat access_avio],[$AVFORMAT_LIBS $AVUTIL_LIBS]) - VLC_ADD_CFLAGS([avformat access_avio],[$AVFORMAT_CFLAGS $AVUTIL_CFLAGS]) + VLC_ADD_LIBS([access_avio],[$AVFORMAT_LIBS $AVUTIL_LIBS]) + VLC_ADD_CFLAGS([access_avio],[$AVFORMAT_CFLAGS $AVUTIL_CFLAGS]) AS_IF([test "${ac_cv_ld_bsymbolic}" != "no"], [ - VLC_ADD_LIBS([avformat access_avio],[-Wl,-Bsymbolic]) + VLC_ADD_LDFLAGS([avformat access_avio],[-Wl,-Bsymbolic]) ]) ], [ VLC_ADD_LIBS([avcodec],[$AVFORMAT_LIBS $AVUTIL_LIBS]) @@ -2440,7 +2417,7 @@ dnl postproc plugin dnl AC_ARG_ENABLE(postproc, -[ --enable-postproc libpostproc image post-processing (default enabled)]) +[ --enable-postproc libpostproc image post-processing (default auto)]) if test "${enable_postproc}" != "no" then PKG_CHECK_MODULES(POSTPROC,[libpostproc libavutil], @@ -2454,7 +2431,7 @@ then VLC_ADD_CFLAGS([postproc],[$POSTPROC_CFLAGS $AVUTIL_CFLAGS]) VLC_RESTORE_FLAGS ],[ - AC_MSG_ERROR([${POSTPROC_PKG_ERRORS}. Pass --disable-postproc to ignore this error.]) + AC_MSG_WARN([${POSTPROC_PKG_ERRORS}.]) ]) fi @@ -2510,6 +2487,11 @@ dnl twolame encoder plugin dnl PKG_ENABLE_MODULES_VLC([TWOLAME], [], [twolame], [MPEG Audio Layer 2 encoder], [auto], [], [], [ -DLIBTWOLAME_STATIC]) +dnl +dnl fdk-aac encoder plugin +dnl +PKG_ENABLE_MODULES_VLC([FDKAAC], [], [fdk-aac], [FDK-AAC encoder], [disabled]) + dnl dnl QuickTime plugin dnl @@ -2675,18 +2657,17 @@ dnl PNG decoder module dnl AC_ARG_ENABLE(png, [ --enable-png PNG support (default enabled)]) -if test "${enable_png}" != "no"; then +AS_IF([test "${enable_png}" != "no"], [ AC_CHECK_HEADERS(png.h, [ VLC_SAVE_FLAGS LDFLAGS="${LDFLAGS} -lz $LIBM" AC_CHECK_LIB(png, png_set_rows, [ VLC_ADD_LIBS([png],[-lpng -lz $LIBM]) - VLC_ADD_PLUGIN([png osdmenu osd_parser])], - [],[-lz $LIBM] ) + VLC_ADD_PLUGIN([png]) + ], [], [-lz $LIBM]) VLC_RESTORE_FLAGS ]) -fi -AM_CONDITIONAL(BUILD_OSDMENU, [test "${enable_png}" != "no"]) +]) dnl dnl H264 encoder plugin (10-bit lib264) @@ -2969,13 +2950,18 @@ AS_IF([test "${enable_xcb}" != "no"], [ AC_MSG_WARN([${XCB_RANDR_PKG_ERRORS}. Panoramix filter will not be supported.]) ]) - dnl xcb-utils - PKG_CHECK_MODULES(XCB_KEYSYMS, [xcb-keysyms >= 0.3.4], [ - PKG_CHECK_MODULES(XPROTO, [xproto]) - VLC_ADD_PLUGIN([globalhotkeys]) - VLC_ADD_CFLAGS([xcb_window], [-DHAVE_XCB_KEYSYMS]) + PKG_CHECK_MODULES(XPROTO, [xproto], [ + VLC_ADD_PLUGIN([xwd]) + + dnl xcb-utils + PKG_CHECK_MODULES(XCB_KEYSYMS, [xcb-keysyms >= 0.3.4], [ + VLC_ADD_PLUGIN([globalhotkeys]) + VLC_ADD_CFLAGS([xcb_window], [-DHAVE_XCB_KEYSYMS]) + ], [ + AC_MSG_WARN([${XCB_KEYSYMS_PKG_ERRORS}. Hotkeys will not work.]) + ]) ], [ - AC_MSG_WARN([${XCB_KEYSYMS_PKG_ERRORS}. Hotkeys will not work.]) + AC_MSG_WARN([${XPROTO_PKG_ERRORS}. Hotkeys and XWD will not work.]) ]) AS_IF([test "${enable_glx}" != "no"], [ @@ -2983,6 +2969,8 @@ AS_IF([test "${enable_xcb}" != "no"], [ AC_MSG_ERROR([${GL_PKG_ERRORS}. Pass --disable-glx if you do not need OpenGL X11 support.]) ]) VLC_ADD_PLUGIN([xcb_glx]) + VLC_ADD_PLUGIN([glx]) + VLC_ADD_PLUGIN([gl]) ]) ]) AM_CONDITIONAL([HAVE_XCB], [test "${have_xcb}" = "yes"]) @@ -3342,11 +3330,11 @@ AC_ARG_ENABLE(alsa, ]) have_alsa="no" AS_IF([test "${enable_alsa}" != "no"], [ - PKG_CHECK_MODULES([ALSA], [alsa >= 1.0.16], [ + PKG_CHECK_MODULES([ALSA], [alsa >= 1.0.24], [ have_alsa="yes" ], [ AS_IF([test "x${enable_alsa}" != "x"], [ - AC_MSG_ERROR([$ALSA_PKG_ERRORS. alsa-lib 1.0.16 or later required.]) + AC_MSG_ERROR([$ALSA_PKG_ERRORS. alsa-lib 1.0.24 or later required.]) ]) ]) ]) @@ -3557,9 +3545,9 @@ AS_IF([test "${enable_qt}" != "no"], [ ]) QT_PATH="$(eval $PKG_CONFIG --variable=exec_prefix QtCore)" - AC_PATH_PROGS(MOC, [moc-qt4 moc], moc, [${QT_PATH}/bin]) - AC_PATH_PROG(RCC, rcc, rcc, [${QT_PATH}/bin]) - AC_PATH_PROGS(UIC, [uic-qt4 uic], uic, [${QT_PATH}/bin]) + AC_PATH_PROGS(MOC, [moc-qt4 moc], moc, [${QT_PATH}/bin ${CONTRIB_DIR}/bin]) + AC_PATH_PROG(RCC, rcc, rcc, [${QT_PATH}/bin ${CONTRIB_DIR}/bin]) + AC_PATH_PROGS(UIC, [uic-qt4 uic], uic, [${QT_PATH}/bin ${CONTRIB_DIR}/bin]) ]) AM_CONDITIONAL(ENABLE_QT4, [test "$enable_qt" != "no"]) @@ -3638,9 +3626,9 @@ AC_ARG_ENABLE(macosx, [ --enable-macosx Mac OS X gui support (default enabled on Mac OS X)]) if test "x${enable_macosx}" != "xno" -a "${SYS}" = "darwin" then - VLC_ADD_LIBS([macosx minimal_macosx], [-Wl,-framework,Cocoa -Wl,-framework,OpenGL -Wl,-framework,Carbon -Wl,-framework,CoreServices -Wl,-framework,AGL]) - VLC_ADD_OBJCFLAGS([macosx minimal_macosx], [-fobjc-exceptions] ) - VLC_ADD_PLUGIN([macosx minimal_macosx]) + VLC_ADD_LIBS([macosx], [-Wl,-framework,Cocoa -Wl,-framework,OpenGL -Wl,-framework,Carbon -Wl,-framework,CoreServices -Wl,-framework,AGL]) + VLC_ADD_OBJCFLAGS([macosx], [-fobjc-exceptions] ) + VLC_ADD_PLUGIN([macosx]) VLC_ADD_LIBS([macosx], [-Wl,-framework,QTKit -Wl,-framework,IOKit -Wl,-framework,AddressBook -Wl,-framework,WebKit -Wl,-framework,CoreAudio -Wl,-framework,SystemConfiguration]) @@ -3657,11 +3645,24 @@ then fi VLC_ADD_LIBS([macosx], [-F${CONTRIB_DIR} -Wl,-framework,BGHUDAppKit]) VLC_ADD_OBJCFLAGS([macosx], [-F${CONTRIB_DIR}]) +fi +AM_CONDITIONAL(ENABLE_MACOSX_UI, [test "$enable_macosx" != "no"]) +dnl +dnl Minimal Mac OS X module +dnl +AC_ARG_ENABLE(minimal-macosx, + [ --enable-minimal-macosx Minimal Mac OS X support (default disabled)]) +if test "${enable_minimal_macosx}" = "yes" -a "${SYS}" = "darwin" +then + VLC_ADD_LIBS([minimal_macosx], [-Wl,-framework,Cocoa]) + VLC_ADD_OBJCFLAGS([minimal_macosx], [-fobjc-exceptions] ) + VLC_ADD_PLUGIN([minimal_macosx]) fi +AM_CONDITIONAL(ENABLE_MINIMAL_MACOSX, [test "$enable_minimal_macosx" != "no"]) dnl -dnl MacOS X dialor provider +dnl MacOS X dialog provider dnl AC_ARG_ENABLE(macosx-dialog-provider, [ --enable-macosx-dialog-provider Mac OS X dialog module (default enabled on Mac OS X)]) @@ -3671,6 +3672,7 @@ then VLC_ADD_LIBS([macosx_dialog_provider],[-Wl,-framework,Cocoa]) VLC_ADD_PLUGIN([macosx_dialog_provider]) fi +AM_CONDITIONAL(ENABLE_MACOSX_DIALOG_PROVIDER, [test "$enable_macosx_dialog_provider" != "no"]) dnl dnl ncurses module @@ -3763,6 +3765,13 @@ AS_IF([test "${enable_atmo}" != no], [ ]) ]) +AC_ARG_ENABLE(osdmenu, + AS_HELP_STRING([--enable-osdmenu],[OSD menu (default disabled)]),, [ + enable_osdmenu="no" +]) +AM_CONDITIONAL(BUILD_OSDMENU, [test "${enable_osdmenu}" != "no"]) + + EXTEND_HELP_STRING([Service Discovery plugins:]) dnl dnl Bonjour services discovery @@ -3821,13 +3830,6 @@ dnl TLS/SSL dnl AC_ARG_ENABLE(gnutls, [ --enable-gnutls GNU TLS TLS/SSL support (default enabled)]) - -AS_IF([test "${have_libgcrypt}" != "yes"], [ - AS_IF([test "${enable_gnutls}" = "yes"], [ - AC_MSG_ERROR([--enable-gnutls and --disable-libgcrypt are mutually exclusive.]) - ]) - enable_gnutls="no" -]) AS_IF([test "${enable_gnutls}" != "no"], [ PKG_CHECK_MODULES(GNUTLS, [gnutls >= 2.6.6], [ VLC_ADD_PLUGIN([gnutls]) @@ -3981,11 +3983,13 @@ AC_ARG_ENABLE(loader, AM_CONDITIONAL(LOADER, [test "${enable_loader}" = "yes"]) AS_IF([test "${enable_loader}" = "yes"], [ VLC_ADD_PLUGIN([dmo]) - VLC_ADD_CPPFLAGS([dmo quicktime ],[-I\\\${top_srcdir}/modules/codec/loader]) - VLC_ADD_LIBS([dmo quicktime ],[\\\${top_builddir}/modules/codec/loader/libloader.la]) + VLC_ADD_CPPFLAGS([dmo quicktime ],[-I\\\$(srcdir)/loader]) + VLC_ADD_LIBS([dmo quicktime ],[libloader.la]) VLC_ADD_LIBS([dmo quicktime], [-lpthread]) ]) +AS_IF([test "${SYS}" = "mingw32"], [VLC_ADD_PLUGIN([dmo]) VLC_ADD_LIBS([dmo],[-lole32 -luuid]) ]) + EXTEND_HELP_STRING([Components:]) dnl @@ -4066,18 +4070,8 @@ AC_CONFIG_FILES([ modules/audio_mixer/Makefile modules/audio_output/Makefile modules/codec/Makefile - modules/codec/avcodec/Makefile - modules/codec/dmo/Makefile - modules/codec/loader/Makefile - modules/codec/omxil/Makefile - modules/codec/shine/Makefile - modules/codec/spudec/Makefile - modules/codec/wmafixed/Makefile modules/control/Makefile modules/demux/Makefile - modules/demux/avformat/Makefile - modules/demux/mkv/Makefile - modules/demux/playlist/Makefile modules/gui/Makefile modules/gui/macosx/Makefile modules/gui/minimal_macosx/Makefile @@ -4107,8 +4101,8 @@ AC_CONFIG_FILES([ AM_COND_IF([HAVE_WIN32], [ AC_CONFIG_FILES([ - extras/package/win32/spad.nsi - extras/package/win32/vlc.win32.nsi + extras/package/win32/NSIS/spad.nsi + extras/package/win32/NSIS/vlc.win32.nsi ]) ])