X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=configure.ac;h=fbf21a123f2489a85885b5cfd54c60e07f82f551;hb=0e6418ec4cc7cbf0527c26216096c88196a05cc1;hp=702ae7d360fbb666bb847eb21b841ac681d5a9be;hpb=300cf98e16888a0afddbc431e25f23b91523c245;p=vlc diff --git a/configure.ac b/configure.ac index 702ae7d360..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 mp4 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 @@ -209,10 +209,6 @@ case "${host_os}" in AC_DEFINE([_WIN32_IE], 0x0600, [Define to '0x0600' for IE 6.0 (and shell) APIs.]) case "${host_os}" in - *wince* | *mingwce* | *mingw32ce*) - SYS=mingwce - dnl Sadly CeGCC still needs non-wince macros - ;; *mingw32*) SYS=mingw32 ;; @@ -228,10 +224,10 @@ case "${host_os}" in esac if test "${SYS}" = "mingw32"; then - VLC_ADD_LIBS([libvlccore],[-lnetapi32 -lwinmm]) + VLC_ADD_LIBS([libvlccore],[-lwinmm]) VLC_ADD_LDFLAGS([vlc],[-mwindows]) VLC_ADD_LIBS([win32text],[-lgdi32]) - VLC_ADD_LIBS([cdda vcdx sdl_image vout_sdl],[-lwinmm]) + VLC_ADD_LIBS([vcdx],[-lwinmm]) AC_CHECK_PROGS(U2D, [unix2dos todos], unix2dos) ac_default_prefix="`pwd`/_win32" DESTDIR="`pwd`/_win32/" @@ -251,12 +247,6 @@ case "${host_os}" in AC_SUBST(PROGRAMFILES) fi - if test "${SYS}" = "mingwce"; then - VLC_ADD_LIBS([libvlccore],[-lmmtimer]) - AC_CHECK_PROGS(U2D, [unix2dos todos], unix2dos) - ac_default_prefix="`pwd`/_wince" - DESTDIR="`pwd`/_wince/" - fi ;; *nto*) SYS=nto @@ -283,9 +273,37 @@ AM_CONDITIONAL(HAVE_LINUX, test "${SYS}" = "linux") AM_CONDITIONAL(HAVE_OS2, test "${SYS}" = "os2") AM_CONDITIONAL(HAVE_WIN32, test "${SYS}" = "mingw32") AM_CONDITIONAL(HAVE_WIN64, test "${HAVE_WIN64}" = "1") -AM_CONDITIONAL(HAVE_WINCE, test "${SYS}" = "mingwce") 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 @@ -356,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 @@ -401,6 +390,8 @@ LT_INIT([dlopen win32-dll shared disable-static]) LT_LANG([C++]) LT_LANG([Windows Resource]) +DOLT + m4_undefine([AC_DEPLIBS_CHECK_METHOD]) m4_defun([AC_DEPLIBS_CHECK_METHOD],[]) @@ -421,8 +412,10 @@ dnl Iconv stuff dnl AM_ICONV +dnl +dnl checks for mingw +AS_IF([test "${SYS}" = "mingw32"], [ dnl Check for broken versions of mingw-runtime compatability library -AS_IF([test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"], [ AC_MSG_CHECKING(for broken mingw-runtime) AC_PREPROC_IFELSE([AC_LANG_SOURCE([ #include <_mingw.h> @@ -441,18 +434,14 @@ AS_IF([test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"], [ ]) 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" @@ -468,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. @@ -526,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.]) @@ -542,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 ]) @@ -567,9 +560,6 @@ AC_SEARCH_LIBS(connect, [socket], [ AS_IF([test "${SYS}" = "mingw32"], [ SOCKET_LIBS="-lws2_32" ]) - AS_IF([test "${SYS}" = "mingwce"], [ - SOCKET_LIBS="-lws2" - ]) ]) AC_SEARCH_LIBS([getaddrinfo], [nsl], [ @@ -582,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_mms 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 access_realrtsp rtp oldrc netsync gnutls flac ts audioscrobbler lua remoteosd zvbi audiobargraph_a netsync stream_filter_dash],[${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) @@ -609,9 +599,7 @@ AH_TEMPLATE(ss_family, [Define to `sa_family' if does not define. AC_CACHE_CHECK([for struct sockaddr_storage], ac_cv_struct_sockaddr_storage, [AC_TRY_COMPILE( [#include - #if defined( UNDER_CE ) - # include - #elif defined( WIN32 ) + #if defined( WIN32 ) # include #else # include @@ -633,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 visual 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 mp4 quicktime qt4 compressor headphone_channel_mixer normvol audiobargraph_a speex mono colorthres extract ball access_imem hotkeys mosaic gaussianblur dbus 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,19 +646,13 @@ AC_SEARCH_LIBS(dlopen, [dl svld], [ VLC_RESTORE_FLAGS # Windows -AS_IF([test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"], [ +AS_IF([test "${SYS}" = "mingw32"], [ LIBDL="" have_dynamic_objects="yes" #assume we can use shared objects ]) -test "${enable_shared}" = "no" && have_dynamic_objects=no - -AS_IF([test "${have_dynamic_objects}" != "no"], [ - AC_DEFINE(HAVE_DYNAMIC_PLUGINS, 1, - [Define to 1 if dynamic plugins are supported.]) -], [ - dnl Clear $LIBDL so as not to break linking - LIBDL="" +AS_IF([test "${enable_shared}" = "no"], [ + have_dynamic_objects=no ]) AM_CONDITIONAL(HAVE_DYNAMIC_PLUGINS, [test "${have_dynamic_objects}" != "no"]) @@ -678,12 +660,14 @@ AC_SUBST(LIBDL) VLC_ADD_LIBS([lua],[$LIBDL]) dnl Check for thread library -if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; 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 @@ -702,7 +686,8 @@ if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then dnl HP/UX port AC_CHECK_LIB(rt,sem_init, [VLC_ADD_LIBS([libvlccore],[-lrt])]) ]) -fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" +]) +AC_SUBST(LIBPTHREAD) dnl Check for headers AC_CHECK_HEADERS([search.h]) @@ -719,11 +704,11 @@ AC_CHECK_HEADERS([sys/mount.h], [], [], #include ]) -if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then +if test "${SYS}" != "mingw32"; then AC_CHECK_HEADERS(machine/param.h sys/shm.h) AC_CHECK_HEADERS([linux/version.h linux/dccp.h scsi/scsi.h linux/magic.h]) AC_CHECK_HEADERS(syslog.h mntent.h) -fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" +fi # end "${SYS}" != "mingw32" dnl LP64 and LLP64 architectures had better define ssize_t by themselves... AH_TEMPLATE(ssize_t, [Define to `int' if does not define.]) dnl ` (fix VIM syntax highlight @@ -732,9 +717,9 @@ AC_CHECK_TYPE(ssize_t,, [ ]) dnl Check for threads library -if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then +if test "${SYS}" != "mingw32"; then AC_CHECK_HEADERS(pthread.h) -fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" +fi # end "${SYS}" != "mingw32" 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, @@ -746,7 +731,7 @@ PKG_PROG_PKG_CONFIG() dnl On some OS we need static linking AS_IF([test -n "${PKG_CONFIG}" ],[ - AS_IF([test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce" -o "${SYS}" = "darwin" -o "${SYS}" = "os2" ],[ + AS_IF([test "${SYS}" = "mingw32" -o "${SYS}" = "darwin" -o "${SYS}" = "os2" ],[ PKG_CONFIG="${PKG_CONFIG} --static" ]) ]) @@ -759,15 +744,15 @@ 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 mp4 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 MINIZIP_LIBS="-lminizip -lz" ], [ + VLC_ADD_CPPFLAGS([skins2], [-I\\\$(top_srcdir)/modules/access/zip/unzip]) + VLC_ADD_LIBS([skins2], [\\\$(top_builddir)/modules/access/libunzip.la]) have_minizip=no - MINIZIP_CFLAGS="-I\\\${top_srcdir}/modules/access/zip/unzip" - MINIZIP_LIBS="\\\${top_builddir}/modules/access/zip/unzip/libunzip.la" ]) ]) VLC_ADD_CPPFLAGS([skins2],[$MINIZIP_CFLAGS]) @@ -776,39 +761,34 @@ fi AM_CONDITIONAL(HAVE_MINIZIP, [ test "${have_minizip}" = "yes" ]) +dnl +dnl Domain name i18n support via GNU libidn +dnl +PKG_CHECK_MODULES([IDN], [libidn], [ + have_libidn="yes" + AC_DEFINE([HAVE_IDN], 1, [Define to 1 if you have GNU libidn.]) +], [ + have_libidn="no" +]) + + dnl Check for dbus AC_ARG_ENABLE(dbus, [AS_HELP_STRING([--enable-dbus], [compile D-Bus message bus support (default enabled)])]) -case "${SYS}" in - linux*|*bsd*) -if test "${enable_dbus}" != "no" -a "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" -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([libvlccore],[$DBUS_LIBS]) - VLC_ADD_CFLAGS([libvlccore],[$DBUS_CFLAGS]) - dnl Check for dbus control interface - AC_ARG_ENABLE(dbus-control, - [AS_HELP_STRING([--disable-dbus-control], - [D-Bus control interface (default enabled)])]) - if test "${enable_dbus_control}" != "no" - then - VLC_ADD_PLUGIN([dbus]) - VLC_ADD_LIBS([dbus],[$DBUS_LIBS]) - VLC_ADD_CFLAGS([dbus],[$DBUS_CFLAGS]) - fi - dnl Power Management Inhibiter - VLC_ADD_PLUGIN([inhibit]) - VLC_ADD_LIBS([inhibit],[$DBUS_LIBS]) - VLC_ADD_CFLAGS([inhibit],[$DBUS_CFLAGS]) - ], - [AC_MSG_ERROR([${DBUS_PKG_ERRORS}.])] - ) -fi -;; -esac +have_dbus="no" +AS_IF([test "${enable_dbus}" != "no"], [ + PKG_CHECK_MODULES(DBUS, [dbus-1 >= 1.0.0], [ + have_dbus="yes" + ], [ + AS_IF([test -n "${enable_dbus}"], [ + AC_MSG_ERROR([${DBUS_PKG_ERRORS}.]) + ], [ + AC_MSG_WARN([${DBUS_PKG_ERRORS}.]) + ]) + ]) +]) +AM_CONDITIONAL([HAVE_DBUS], [test "${have_dbus}" = "yes"]) dnl Check for ntohl, etc. VLC_SAVE_FLAGS @@ -885,7 +865,7 @@ AS_IF([test "${enable_coverage}" != "no"], [ LDFLAGS="-lgcov ${LDFLAGS}" ]) -AS_IF([test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"], [ +AS_IF([test "${SYS}" != "mingw32"], [ VLC_SAVE_FLAGS CFLAGS="${CFLAGS} -fvisibility=hidden" CXXFLAGS="${CXXFLAGS} -fvisibility=hidden" @@ -1060,21 +1040,6 @@ dnl default modules dnl ALIASES="${ALIASES} cvlc rvlc" -dnl -dnl Some plugins aren't useful on some platforms -dnl -if test "${SYS}" = "os2"; then - VLC_ADD_PLUGIN([dynamicoverlay]) -elif test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then - VLC_ADD_PLUGIN([dynamicoverlay access_shm]) -elif test "${SYS}" != "mingwce"; then - VLC_ADD_PLUGIN([access_smb dmo globalhotkeys]) - VLC_ADD_LIBS([dmo],[-lole32 -luuid]) -fi -if test "${SYS}" = "darwin"; then - VLC_ADD_LIBS([quartztext],[-Wl,-framework,ApplicationServices]) -fi - dnl dnl Accelerated modules dnl @@ -1095,6 +1060,7 @@ AC_ARG_ENABLE(mmx, esac ]) have_mmx="no" +have_mmxext="no" AS_IF([test "${enable_mmx}" != "no"], [ ARCH="${ARCH} mmx" VLC_SAVE_FLAGS @@ -1141,9 +1107,26 @@ asm volatile("packuswb %%mm1,%%mm2"::"r"(p):"mm1", "mm2"); have_mmx="yes" ]) + AC_CACHE_CHECK([if $CC groks MMX EXT inline assembly], + [ac_cv_mmxext_inline], [ + AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[[ +void *p; +asm volatile("maskmovq %%mm1,%%mm2"::"r"(p):"mm1", "mm2"); +]]) + ], [ + ac_cv_mmxext_inline=yes + ], [ + ac_cv_mmxext_inline=no + ]) + ]) VLC_RESTORE_FLAGS + AS_IF([test "${ac_cv_mmxext_inline}" != "no"], [ + AC_DEFINE(CAN_COMPILE_MMXEXT, 1, [Define to 1 if MMX EXT inline assembly is available.]) + have_mmxext="yes" + ]) ]) AM_CONDITIONAL([HAVE_MMX], [test "${have_mmx}" = "yes"]) +AM_CONDITIONAL([HAVE_MMXEXT], [test "${have_mmxext}" = "yes"]) dnl Check for fully workin SSE2 intrinsics dnl We need support for -mmmx, we need , and we also need a @@ -1307,6 +1290,29 @@ asm volatile("insertq %%xmm1,%%xmm0"::"r"(p):"xmm0", "xmm1"); ]) AM_CONDITIONAL([HAVE_SSE2], [test "$have_sse2" = "yes"]) +VLC_SAVE_FLAGS +CFLAGS="${CFLAGS} -mmmx" +have_3dnow="no" +AC_CACHE_CHECK([if $CC groks 3D Now! inline assembly], [ac_cv_3dnow_inline], [ + AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[[ +void *p; +asm volatile("pfadd %%mm1,%%mm2"::"r"(p):"mm1", "mm2"); +]]) + ], [ + ac_cv_3dnow_inline=yes + ], [ + ac_cv_3dnow_inline=no + ]) +]) +VLC_RESTORE_FLAGS +AS_IF([test "${ac_cv_3dnow_inline}" != "no"], [ + AC_DEFINE(CAN_COMPILE_3DNOW, 1, + [Define to 1 if 3D Now! inline assembly is available.]) + have_3dnow="yes" +]) +AM_CONDITIONAL([HAVE_3DNOW], [test "$have_3dnow" = "yes"]) + + AC_ARG_ENABLE(neon, [AS_HELP_STRING([--disable-neon], [disable NEON optimizations (default auto)])],, [ @@ -1314,29 +1320,21 @@ AC_ARG_ENABLE(neon, ]) AS_IF([test "${enable_neon}" != "no"], [ VLC_SAVE_FLAGS - CFLAGS="${CFLAGS} -mfpu=neon" - AC_CACHE_CHECK([if $CC groks NEON inline assembly], [ac_cv_neon_inline], [ + CFLAGS="${CFLAGS} -mfpu=neon -mhard-float" + AC_CACHE_CHECK([if $CCAS groks ARM NEON assembly], [ac_cv_arm_neon], [ AC_COMPILE_IFELSE([ AC_LANG_PROGRAM(,[[ asm volatile("vqmovun.s64 d0, q1":::"d0"); -asm volatile("ssat r0, #1, r0":::"r0"); /* assume ARMv6 */ ]]) ], [ - ac_cv_neon_inline="-mfpu=neon" + ac_cv_arm_neon="yes" ], [ - ac_cv_neon_inline="no" + ac_cv_arm_neon="no" ]) ]) VLC_RESTORE_FLAGS - AS_IF([test "$ac_cv_neon_inline" != "no"], [ - NEON_CFLAGS="$ac_cv_neon_inline" - AC_DEFINE([CAN_COMPILE_NEON], 1, [Define to 1 if NEON (and ARMv6) assembly is available with NEON_CFLAGS.]) - ]) -], [ - ac_cv_neon_inline="no" ]) -AC_SUBST(NEON_CFLAGS) -AM_CONDITIONAL(HAVE_NEON, [test "${ac_cv_neon_inline}" != "no"]) +AM_CONDITIONAL(HAVE_NEON, [test "${ac_cv_arm_neon}" = "yes"]) AC_ARG_ENABLE(altivec, @@ -1574,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" @@ -1586,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 @@ -1607,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. @@ -1620,9 +1625,6 @@ You can get an updated one from http://www.live555.com/liveMedia .]) AS_IF([test "${SYS}" = "mingw32"], [ # add ws2_32 for closesocket, select, recv other_libs="$other_libs -lws2_32" - ], [test "${SYS}" = "mingwce"], [ - # add ws2 for closesocket, select, recv - other_libs="$other_libs -lws2" ]) dnl We need to check for pic because live555 don't provide shared libs @@ -1643,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)])]) @@ -1689,25 +1692,6 @@ then [AC_MSG_WARN([${DVDNAV_PKG_ERRORS}.])]) fi -dnl -dnl Windows DirectShow access module -dnl -AC_ARG_ENABLE(dshow, - [AS_HELP_STRING([--disable-dshow], - [support DirectShow (default auto)])]) -if test "${enable_dshow}" != "no" -then - if test "${SYS}" = "mingw32" - then - AC_LANG_PUSH(C++) - AC_CHECK_HEADERS(dshow.h, - [ VLC_ADD_PLUGIN([dshow]) - VLC_ADD_CXXFLAGS([dshow],[]) - VLC_ADD_LIBS([dshow],[-lole32 -loleaut32 -luuid -lstrmiids -lksuser])]) - AC_LANG_POP(C++) - fi -fi - dnl dnl Blu-ray Disc Support with libbluray dnl @@ -1716,7 +1700,7 @@ PKG_ENABLE_MODULES_VLC([BLURAY], [libbluray], [libbluray >= 0.2.1], (libbluray f dnl dnl OpenCV wrapper and example filters dnl -PKG_ENABLE_MODULES_VLC([OPENCV], [opencv_example opencv_wrapper], [opencv], (OpenCV (computer vision) filter), [off]) +PKG_ENABLE_MODULES_VLC([OPENCV], [opencv_example opencv_wrapper], [opencv > 2.0], (OpenCV (computer vision) filter), [auto]) dnl @@ -1737,41 +1721,18 @@ 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" ]) - AC_CHECK_DECLS([V4L2_CTRL_TYPE_BITMASK,V4L2_CTRL_TYPE_INTEGER_MENU],,, [ -#ifdef HAVE_LINUX_VIDEODEV2_H -# include -#endif -#ifdef HAVE_SYS_VIDEOIO_H -# include -#endif - ]) -]) -AS_IF([test "$have_v4l2" = "yes"], [ - AS_IF([test "${enable_pvr}" = "yes"], [ - VLC_ADD_PLUGIN([pvr]) - ]) ]) AM_CONDITIONAL(HAVE_V4L2, [test "${have_v4l2}" != "no"]) @@ -1784,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 @@ -1809,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 @@ -1918,12 +1869,8 @@ 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]) ]) ]) - elif test "${SYS}" = "mingw32"; then - VLC_ADD_PLUGIN([screen]) - VLC_ADD_LIBS([screen],[-lgdi32]) fi fi @@ -1933,7 +1880,7 @@ dnl AC_ARG_ENABLE(realrtsp, [ --enable-realrtsp Real RTSP module (default disabled)]) if test "${enable_realrtsp}" = "yes"; then - VLC_ADD_PLUGIN([access_realrtsp]) + VLC_ADD_PLUGIN([realrtsp]) fi dnl @@ -2152,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 @@ -2273,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], + PKG_CHECK_MODULES(AVCODEC,[libavcodec >= 53.34.0 libavutil >= 51.22.0], [ VLC_SAVE_FLAGS CPPFLAGS="${CPPFLAGS} ${AVCODEC_CFLAGS}" @@ -2304,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]) @@ -2330,6 +2265,7 @@ AS_IF([test "${enable_libva}" != "no"], [ ]) ]) ]) +AM_CONDITIONAL([HAVE_AVCODEC_VAAPI], [test "${have_avcodec_vaapi}" = "yes"]) dnl dnl dxva2 needs avcodec @@ -2337,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])], @@ -2365,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 @@ -2372,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])]) ]) @@ -2398,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 @@ -2424,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}" @@ -2433,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]) @@ -2480,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], @@ -2494,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 @@ -2550,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 @@ -2690,6 +2632,11 @@ AS_IF([test "${enable_speex}" != "no"], [ ]) AM_CONDITIONAL([HAVE_SPEEXDSP], [test "$have_speexdsp" = "yes"]) +dnl +dnl Opus plugin +dnl +PKG_ENABLE_MODULES_VLC([OPUS], [], [ogg opus], [Opus support], [auto]) + dnl dnl theora decoder plugin dnl @@ -2710,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) @@ -2967,7 +2913,7 @@ dnl X C Bindings modules dnl AC_ARG_ENABLE(xcb, [ --enable-xcb X11 support with XCB (default enabled)],, [ - AS_IF([test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" -a "${SYS}" != "darwin" -a "${SYS}" != "symbian"], [ + AS_IF([test "${SYS}" != "mingw32" -a "${SYS}" != "darwin" -a "${SYS}" != "symbian"], [ enable_xcb="yes" ], [ enable_xcb="no" @@ -3004,15 +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([globalhotkeys], [${XCB_KEYSYMS_CFLAGS} ${XCB_CFLAGS}]) - VLC_ADD_LIBS([globalhotkeys], [${XCB_KEYSYMS_LIBS} ${XCB_LIBS}]) - 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"], [ @@ -3020,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"]) @@ -3170,7 +3121,7 @@ dnl dnl Windows DirectX module dnl -if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce" +if test "${SYS}" = "mingw32" then VLC_ADD_PLUGIN([panoramix]) fi @@ -3178,7 +3129,7 @@ fi AC_ARG_ENABLE(directx, [AS_HELP_STRING([--enable-directx], [Microsoft DirectX support (default enabled on Windows)])],, [ - AS_IF([test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"], [ + AS_IF([test "${SYS}" = "mingw32"], [ enable_directx="yes" ], [ enable_directx="no" @@ -3196,56 +3147,22 @@ AS_IF([test "${enable_directx}" != "no"], [ dnl OpenGL AC_CHECK_HEADERS(GL/wglew.h, [ VLC_ADD_PLUGIN([glwin32]) - VLC_ADD_LIBS([glwin32],[-lopengl32 -lgdi32]) - ],, [ - #include - #include - ]) - - dnl Direct3D - AC_CHECK_HEADERS(d3d9.h, [ - VLC_ADD_PLUGIN([direct3d]) - VLC_ADD_LIBS([direct3d],[-lgdi32]) - ]) - VLC_ADD_LIBS([direct3d glwin32],[-lole32 -luuid]) -]) -AM_CONDITIONAL([HAVE_DIRECTX], [test "$have_directx" = "yes"]) + ],, [ + #include + #include + ]) -dnl -dnl Windows Direct2D plugin -dnl -AC_ARG_ENABLE(direct2d, - [ --enable-direct2d Win7/VistaPU Direct2D support (default auto on Win32)],, [ - AS_IF([test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"], [ - enable_direct2d="no" + dnl Direct3D + AC_CHECK_HEADERS(d3d9.h, [ + VLC_ADD_PLUGIN([direct3d]) ]) -]) -AS_IF([test "${enable_direct2d}" != "no"], [ + + dnl Direct2D AC_CHECK_HEADERS(d2d1.h, [ VLC_ADD_PLUGIN([direct2d]) - VLC_ADD_LIBS([direct2d],[-lgdi32 -lole32 -luuid]) - ], [ - AC_MSG_WARN([Cannot find Direct2D headers!]) ]) ]) - -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 -luuid]) - fi - if test "${SYS}" = "mingwce"; then - VLC_ADD_PLUGIN([wingdi wingapi]) - VLC_ADD_LIBS([wingdi],[-laygshell]) - VLC_ADD_LIBS([wingapi],[-laygshell]) - fi -fi - +AM_CONDITIONAL([HAVE_DIRECTX], [test "$have_directx" = "yes"]) dnl dnl Linux framebuffer module @@ -3413,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.]) ]) ]) ]) @@ -3429,7 +3346,7 @@ dnl AC_ARG_ENABLE(oss, [AS_HELP_STRING([--enable-oss], [support the Open Sound System OSS (default enabled on FreeBSD/NetBSD/DragonFlyBSD)])],, [ - AS_IF([test "$SYS" = "mingw32" -o "$SYS" = "mingwce" -o "$SYS" = "linux" -o "$SYS" = "openbsd"], [ + AS_IF([test "$SYS" = "mingw32" -o "$SYS" = "linux" -o "$SYS" = "openbsd"], [ enable_oss="no" ]) ]) @@ -3493,9 +3410,6 @@ if test "${enable_waveout}" != "no"; then VLC_ADD_PLUGIN([waveout]) VLC_ADD_LIBS([waveout],[-lwinmm]) fi - if test "${SYS}" = "mingwce"; then - VLC_ADD_PLUGIN([waveout]) - fi fi dnl @@ -3623,7 +3537,7 @@ AS_IF([test "${enable_qt}" != "no"], [ VLC_RESTORE_FLAGS AC_LANG_POP([C++]) - AS_IF([test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"], [ + AS_IF([test "${SYS}" = "mingw32"], [ VLC_ADD_LIBS([qt4],[-lole32]) ]) AS_IF([test "${SYS}" = "darwin" ],[ @@ -3631,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"]) @@ -3712,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]) @@ -3731,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)]) @@ -3745,32 +3672,25 @@ 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 dnl AC_ARG_ENABLE(ncurses, [AS_HELP_STRING([--disable-ncurses],[ncurses text-based interface (default auto)])]) -if test "${enable_ncurses}" != "no"; then - VLC_SAVE_FLAGS - LIBS="" - AC_CHECK_HEADER(ncurses.h, [ - AC_CHECK_LIB(ncursesw, mvprintw, [ - AC_SEARCH_LIBS([tgetent], [ncursesw tinfow tinfo], [ - VLC_ADD_PLUGIN([ncurses]) - ALIASES="${ALIASES} nvlc" - VLC_ADD_LIBS([ncurses],[-lncursesw ${LIBS}]) - ], [ - AS_IF([test "${enable_ncurses}" = "yes"], [AC_MSG_ERROR([tgetent not found])]) - ]) - ], [ - AS_IF([test "${enable_ncurses}" = "yes"], [AC_MSG_ERROR([libncursesw not found])]) - ]) +AS_IF([test "${enable_ncurses}" != "no"] ,[ + PKG_CHECK_MODULES([NCURSES], [ncursesw], [ + VLC_ADD_PLUGIN([ncurses]) + VLC_ADD_CFLAGS([ncurses],[${NCURSES_CFLAGS}]) + VLC_ADD_LIBS([ncurses],[${NCURSES_LIBS}]) + ALIASES="${ALIASES} nvlc" ], [ - AS_IF([test "${enable_ncurses}" = "yes"], [AC_MSG_ERROR([ncurses.h not found])]) + AS_IF([test -n "${enable_ncurses}"], [ + AC_MSG_ERROR([${NCURSES_PKG_ERRORS}.]) + ]) ]) - VLC_RESTORE_FLAGS -fi +]) dnl dnl Lirc plugin @@ -3788,16 +3708,6 @@ then fi EXTEND_HELP_STRING([Visualisations and Video filter plugins:]) -dnl -dnl Visualisation plugin -dnl -AC_ARG_ENABLE(visual, - [ --enable-visual visualisation plugin (default enabled)]) -if test "${enable_visual}" != "no" -then - VLC_ADD_PLUGIN([visual]) -fi - dnl dnl goom visualization plugin dnl @@ -3855,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 @@ -3913,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]) @@ -3949,7 +3859,7 @@ AC_ARG_ENABLE(taglib, [AS_HELP_STRING([--disable-taglib], [do not use TagLib (default enabled)])]) AS_IF([test "${enable_taglib}" != "no"], [ - PKG_CHECK_MODULES(TAGLIB, taglib >= 1.5, [ + PKG_CHECK_MODULES(TAGLIB, taglib >= 1.6.1, [ VLC_ADD_PLUGIN([taglib]) VLC_ADD_LIBS([taglib],[$TAGLIB_LIBS -lz]) VLC_ADD_CXXFLAGS([taglib],[$TAGLIB_CFLAGS]) @@ -4046,7 +3956,7 @@ AC_ARG_WITH(kde-solid, AS_HELP_STRING([--with-kde-solid=PATH], [KDE Solid actions directory (auto)]),, [ -if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" -a "${SYS}" != "darwin" ; then +if test "${SYS}" != "mingw32" -a "${SYS}" != "darwin" ; then with_kde_solid="yes" fi ]) @@ -4073,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 @@ -4148,44 +4060,18 @@ AC_CONFIG_FILES([ share/Makefile compat/Makefile src/Makefile - src/test/Makefile lib/Makefile bin/Makefile test/Makefile modules/access/Makefile - modules/access/bd/Makefile - modules/access/dshow/Makefile - modules/access/mms/Makefile modules/access/rtp/Makefile - modules/access/rtsp/Makefile - modules/access/vcd/Makefile - modules/access/vcdx/Makefile - modules/access/screen/Makefile - modules/access/zip/Makefile - modules/access/zip/unzip/Makefile modules/access_output/Makefile modules/audio_filter/Makefile 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/control/dbus/Makefile - modules/control/globalhotkeys/Makefile modules/demux/Makefile - modules/demux/asf/Makefile - modules/demux/avformat/Makefile - modules/demux/avi/Makefile - modules/demux/mkv/Makefile - modules/demux/mp4/Makefile - modules/demux/mpeg/Makefile - modules/demux/playlist/Makefile modules/gui/Makefile modules/gui/macosx/Makefile modules/gui/minimal_macosx/Makefile @@ -4195,27 +4081,18 @@ AC_CONFIG_FILES([ modules/lua/Makefile modules/meta_engine/Makefile modules/misc/Makefile - modules/misc/playlist/Makefile - modules/misc/osd/Makefile - modules/misc/stats/Makefile modules/media_library/Makefile modules/mux/Makefile - modules/mux/mpeg/Makefile modules/notify/Makefile modules/packetizer/Makefile modules/services_discovery/Makefile modules/stream_filter/Makefile - modules/stream_filter/dash/Makefile modules/stream_out/Makefile - modules/stream_out/transcode/Makefile modules/text_renderer/Makefile modules/video_chroma/Makefile modules/video_filter/Makefile - modules/video_filter/dynamicoverlay/Makefile modules/video_output/Makefile - modules/video_output/msw/Makefile modules/visualization/Makefile - modules/visualization/visual/Makefile modules/mmx/Makefile modules/sse2/Makefile modules/altivec/Makefile @@ -4224,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 ]) ])