X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=configure.ac;h=ee22c7d26fecde7d6c39ebb3b7c8a21800e1c19d;hb=26fedd015c686465d44c189d64b6b2bc817e12ef;hp=c24ca7a07bcedc90f0c3e09805e04008ea51e44b;hpb=3a4ab15b543f3689b3d9d4ac2666097b713ec261;p=vlc diff --git a/configure.ac b/configure.ac index c24ca7a07b..ee22c7d26f 100644 --- a/configure.ac +++ b/configure.ac @@ -3,10 +3,12 @@ dnl Autoconf settings for vlc AC_COPYRIGHT([Copyright 2002-2011 the VideoLAN team]) AC_INIT(vlc, 1.2.0-git) -VERSION_MAJOR="1" -VERSION_MINOR="2" -VERSION_REVISION="0" -VERSION_EXTRA="-git" +VERSION_MAJOR=1 +VERSION_MINOR=2 +VERSION_REVISION=0 +VERSION_EXTRA=0 +VERSION_DEV=git + PKGDIR="vlc" AC_SUBST(PKGDIR) @@ -102,57 +104,82 @@ dnl dnl Check for the contrib directory dnl AC_ARG_WITH(contrib, - [AS_HELP_STRING([--without-contrib], - [do not use the libraries in CONTRIB_DIR])]) -AC_ARG_VAR([CONTRIB_DIR], [directory containing pre-built contrib, overriding extras/contrib]) -AS_IF([test "${with_contrib}" != "no"],[ - AS_IF([test -z "$CONTRIB_DIR"], [ - topdir="`dirname $0`" - if test "`echo \"$topdir\" | cut -c 1`" != "/"; then - topdir="`pwd`/$topdir" - fi - CONTRIB_DIR="${topdir}/extras/contrib/hosts/${host}" - if ! test -d "$CONTRIB_DIR" - then - gccmachine=`$CC -dumpmachine` - CONTRIB_DIR="${topdir}/extras/contrib/hosts/${gccmachine}" - fi + [AS_HELP_STRING([--with-contrib[=DIR]], + [search for 3rd party libraries in DIR/include and DIR/lib]) +]) +AC_MSG_CHECKING([for 3rd party libraries path]) +AS_IF([test -z "${with_contrib}" || test "${with_contrib}" = "yes"], [ + CONTRIB_DIR="${srcdir}/contrib/${host}" + AS_IF([test ! -d "${CONTRIB_DIR}"], [ + echo "${CONTRIB_DIR} not found" >&AS_MESSAGE_LOG_FD + CONTRIB_DIR="${srcdir}/contrib/`$CC -dumpmachine`" + AS_IF([test ! -d "${CONTRIB_DIR}"], [ + echo "${CONTRIB_DIR} not found" >&AS_MESSAGE_LOG_FD + CONTRIB_DIR="${srcdir}/extras/contrib/hosts/${host}" + AS_IF([test ! -d "${CONTRIB_DIR}"], [ + echo "${CONTRIB_DIR} not found" >&AS_MESSAGE_LOG_FD + CONTRIB_DIR="${srcdir}/extras/contrib/hosts/`$CC -dumpmachine`" + AS_IF([test ! -d "${CONTRIB_DIR}"], [ + echo "${CONTRIB_DIR} not found" >&AS_MESSAGE_LOG_FD + CONTRIB_DIR="" + AC_MSG_RESULT([not found]) + ]) + ]) + ]) ]) - AC_MSG_CHECKING([for libs in ${CONTRIB_DIR}]) +], [ + AS_IF([test "${with_contrib}" != "no"], [ + CONTRIB_DIR="${with_contrib}" + ], [ + CONTRIB_DIR="" + AC_MSG_RESULT([disabled]) + ]) +]) +AS_IF([test -n "${CONTRIB_DIR}"], [ AS_IF([test -d "${CONTRIB_DIR}/lib"],[ - AC_MSG_RESULT([yes]) - AC_SUBST(CONTRIB_DIR) - export PATH=${CONTRIB_DIR}/bin:$PATH - CPPFLAGS="${CPPFLAGS} -I${CONTRIB_DIR}/include" - CPPFLAGS_save="${CPPFLAGS_save} -I${CONTRIB_DIR}/include" - CFLAGS="${CFLAGS} -I${CONTRIB_DIR}/include" - CFLAGS_save="${CFLAGS_save} -I${CONTRIB_DIR}/include" - CXXFLAGS="${CXXFLAGS} -I${CONTRIB_DIR}/include" - CXXFLAGS_save="${CXXFLAGS_save} -I${CONTRIB_DIR}/include" - OBJCFLAGS="${OBJCFLAGS} -I${CONTRIB_DIR}/include" - OBJCFLAGS_save="${OBJCFLAGS_save} -I${CONTRIB_DIR}/include" - if test "$build" = "$host" -o "$PKG_CONFIG_LIBDIR"; then - export PKG_CONFIG_PATH="${CONTRIB_DIR}/lib/pkgconfig:$PKG_CONFIG_PATH" - else - export PKG_CONFIG_LIBDIR="${CONTRIB_DIR}/lib/pkgconfig" - fi - LDFLAGS="${LDFLAGS} -L${CONTRIB_DIR}/lib" - LDFLAGS_save="${LDFLAGS_save} -L${CONTRIB_DIR}/lib" - - if test "${SYS}" = "darwin"; then - export LD_LIBRARY_PATH="${CONTRIB_DIR}/lib:$LD_LIBRARY_PATH" - export DYLD_LIBRARY_PATH="${CONTRIB_DIR}/lib:$DYLD_LIBRARY_PATH" - fi - ],[ - AC_MSG_RESULT([no]) + CONTRIB_DIR=`cd "${CONTRIB_DIR}" && pwd` + ], [ + echo "${CONTRIB_DIR}/lib not found" >&AS_MESSAGE_LOG_FD CONTRIB_DIR="" + AC_MSG_RESULT([not usable]) + ]) + +]) +AS_IF([test -n "${CONTRIB_DIR}"], [ + AC_MSG_RESULT([${CONTRIB_DIR}]) + export PATH=${CONTRIB_DIR}/bin:$PATH + CPPFLAGS="${CPPFLAGS} -I${CONTRIB_DIR}/include" + CPPFLAGS_save="${CPPFLAGS_save} -I${CONTRIB_DIR}/include" + CFLAGS="${CFLAGS} -I${CONTRIB_DIR}/include" + CFLAGS_save="${CFLAGS_save} -I${CONTRIB_DIR}/include" + CXXFLAGS="${CXXFLAGS} -I${CONTRIB_DIR}/include" + CXXFLAGS_save="${CXXFLAGS_save} -I${CONTRIB_DIR}/include" + OBJCFLAGS="${OBJCFLAGS} -I${CONTRIB_DIR}/include" + OBJCFLAGS_save="${OBJCFLAGS_save} -I${CONTRIB_DIR}/include" + AS_IF([test "$build" = "$host" -o "$PKG_CONFIG_LIBDIR"], [ + export PKG_CONFIG_PATH="${CONTRIB_DIR}/lib/pkgconfig:$PKG_CONFIG_PATH" + ], [ + export PKG_CONFIG_LIBDIR="${CONTRIB_DIR}/lib/pkgconfig" + ]) + LDFLAGS="${LDFLAGS} -L${CONTRIB_DIR}/lib" + LDFLAGS_save="${LDFLAGS_save} -L${CONTRIB_DIR}/lib" + + AS_IF([test "${SYS}" = "darwin"], [ + export LD_LIBRARY_PATH="${CONTRIB_DIR}/lib:$LD_LIBRARY_PATH" + export DYLD_LIBRARY_PATH="${CONTRIB_DIR}/lib:$DYLD_LIBRARY_PATH" + ]) +], [ + AS_IF([test -n "${with_contrib}" && test "${with_contrib}" != "no"], [ + AC_MSG_ERROR([Third party libraries not found!]) ]) ]) +AC_SUBST(CONTRIB_DIR) dnl dnl Set default values dnl LDFLAGS_vlc="${LDFLAGS}" +SOCKET_LIBS="" dnl dnl Check the operating system @@ -294,21 +321,20 @@ case "${host_os}" in *mingw32* | *cygwin* | *wince* | *mingwce*) AC_CHECK_TOOL(WINDRES, windres, :) AC_CHECK_TOOL(OBJCOPY, objcopy, :) + AC_DEFINE([_WIN32_WINNT], 0x0501, [Define to '0x0501' for Windows XP APIs.]) + AC_DEFINE([_WIN32_IE], 0x0501, [Define to '0x0501' for IE 5.01 (and shell) APIs.]) case "${host_os}" in *wince* | *mingwce* | *mingw32ce*) SYS=mingwce dnl Sadly CeGCC still needs non-wince macros - AC_DEFINE([_WIN32_WINNT], 0x0501, [Define to '0x0500' for Windows 2000 APIs.]) ;; *mingw32*) SYS=mingw32 - AC_DEFINE([_WIN32_WINNT], 0x0501, [Define to '0x0500' for Windows XP APIs.]) ;; *cygwin*) dnl Check if we are using the mno-cygwin mode in which case we are dnl actually dealing with a mingw32 compiler. - AC_DEFINE([_WIN32_WINNT], 0x0501, [Define to '0x0501' for Windows XP APIs.]) AC_EGREP_CPP(yes, [#ifdef WIN32 yes @@ -322,9 +348,10 @@ case "${host_os}" in VLC_ADD_LIBS([libvlccore],[-lws2_32 -lnetapi32 -lwinmm]) VLC_ADD_LDFLAGS([vlc],[-mwindows]) VLC_ADD_LIBS([win32text],[-lgdi32]) - VLC_ADD_LIBS([cdda vcdx 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 stream_out_standard stream_out_select stream_out_rtp stream_out_raop vod_rtsp access_realrtsp rtp oldrc netsync gnutls growl_udp flac ts audioscrobbler lua remoteosd zvbi audiobargraph_a netsync],[-lws2_32]) + VLC_ADD_LIBS([cdda vcdx sdl_image 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 stream_out_standard stream_out_select stream_out_rtp stream_out_raop vod_rtsp access_realrtsp oldrc netsync gnutls growl_udp flac ts audioscrobbler lua remoteosd zvbi audiobargraph_a netsync],[-lws2_32]) VLC_ADD_LIBS([filesystem], [-lshlwapi]) + SOCKET_LIBS="-lws2_32" dnl dnl DEP and ASLR options dnl @@ -355,7 +382,8 @@ case "${host_os}" in 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 netsync audioscrobbler growl rtp stream_out_standard stream_out_select stream_out_rtp remoteosd ts audiobargraph_a netsync],[-lws2]) + VLC_ADD_LIBS([libvlccore access_http access_mms access_udp access_tcp access_ftp access_rtmp access_output_udp access_output_rtmp sap netsync audioscrobbler growl stream_out_standard stream_out_select stream_out_rtp remoteosd ts audiobargraph_a netsync],[-lws2]) + SOCKET_LIBS="-lws2" VLC_ADD_LIBS([libvlccore],[-lmmtimer]) AC_CHECK_PROGS(U2D, [unix2dos todos], unix2dos) ac_default_prefix="`pwd`/_wince" @@ -403,6 +431,23 @@ case "${build_os}" in ;; 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 @@ -498,22 +543,6 @@ if test "${SYS}" = "mingw32" ; then CFLAGS="${CFLAGS_save}"; CXXFLAGS="${CXXFLAGS_save}" fi -dnl Check for fvtable-thunks support for mingw32 -if test "${SYS}" = "mingw32" -a "${CXX}" != "" ; then - AC_LANG_PUSH(C++) - AC_CACHE_CHECK([if \$CXX accepts -fvtable-thunks], - [ac_cv_cxx_fvtable_thunks], - [CXXFLAGS="${CXXFLAGS_save} -Wall -Werror -fvtable-thunks" - AC_TRY_COMPILE([],,ac_cv_cxx_fvtable_thunks=yes, - ac_cv_cxx_fvtable_thunks=no)]) - if test "${ac_cv_cxx_fvtable_thunks}" = "yes"; then - CXXFLAGS_mingw32_special="-fvtable-thunks" - fi - - CXXFLAGS_save="${CXXFLAGS_save} ${CXXFLAGS_mingw32_special}"; CXXFLAGS="${CXXFLAGS_save}" - AC_LANG_POP(C++) -fi - dnl dnl Buggy glibc prevention. Purposedly not cached. dnl See sourceware.org bugs 5058 and 5443. @@ -550,8 +579,9 @@ dnl Check for system libs needed need_libc=false dnl Check for usual libc functions -AC_CHECK_FUNCS([daemon fcntl fdopendir fstatvfs fork getenv getpwuid_r gettimeofday isatty lstat memalign mmap openat pread posix_fadvise posix_madvise posix_memalign setlocale stricmp strnicmp uselocale]) -AC_REPLACE_FUNCS([asprintf atof atoll dirfd flockfile getcwd getdelim getpid gmtime_r lldiv localtime_r nrand48 rewind setenv strcasecmp strcasestr strdup strlcpy strncasecmp strndup strnlen strsep strtof strtok_r strtoll swab tdestroy vasprintf]) +AC_CHECK_DECLS([nanosleep],,,[#include ]) +AC_CHECK_FUNCS([daemon fcntl fdopendir fstatvfs fork getenv getpwuid_r if_nameindex if_nametoindex isatty lstat memalign mmap openat pread posix_fadvise posix_madvise posix_memalign setlocale stricmp strnicmp uselocale]) +AC_REPLACE_FUNCS([asprintf atof atoll dirfd flockfile fsync getdelim getpid gmtime_r lldiv localtime_r nrand48 rewind setenv strcasecmp strcasestr strdup strlcpy strncasecmp strndup strnlen strsep strtof strtok_r strtoll swab tdestroy vasprintf]) AC_CHECK_FUNCS(fdatasync,, [AC_DEFINE(fdatasync, fsync, [Alias fdatasync() to fsync() if missing.]) ]) @@ -564,21 +594,14 @@ AC_CHECK_FUNCS([accept4 pipe2 eventfd vmsplice sched_getaffinity]) AH_BOTTOM([#include ]) -SOCKET_LIBS="" AC_CHECK_FUNCS(connect,,[ AC_CHECK_LIB(socket,connect,[ - VLC_ADD_LIBS([libvlccore cdda],-lsocket) + VLC_ADD_LIBS([libvlccore cdda access_http access_mms access_udp access_tcp access_ftp access_rtmp sap access_output_udp access_output_rtmp stream_out_standard growl_udp remoteosd netsync],[-lsocket]) SOCKET_LIBS="-lsocket" ]) ]) AC_SUBST(SOCKET_LIBS) -AC_CHECK_FUNCS(send,,[ - AC_CHECK_LIB(socket,send,[ - VLC_ADD_LIBS([access_http access_mms access_udp access_tcp access_ftp access_rtmp sap access_output_udp access_output_rtmp stream_out_standard growl_udp remoteosd netsync],[-lsocket]) - ]) -]) - dnl Check for socklen_t AH_TEMPLATE(socklen_t, [Define to `int' if does not define.]) @@ -659,29 +682,13 @@ AC_CHECK_FUNC(getopt_long,, [ ]) AC_SUBST(GNUGETOPT_LIBS) -if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then 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],[-lm]) -]) -AC_CHECK_LIB(m,pow,[ - VLC_ADD_LIBS([avcodec avformat access_avio swscale postproc i420_rgb faad twolame equalizer spatializer param_eq libvlccore freetype mod mpc dmo quicktime realvideo qt4],[-lm]) -]) -AC_CHECK_LIB(m,sqrt,[ - VLC_ADD_LIBS([compressor headphone_channel_mixer normvol audiobargraph_a speex mono colorthres extract ball],[-lm]) -]) -AC_CHECK_LIB(m,ceil,[ - VLC_ADD_LIBS([access_imem hotkeys mosaic],[-lm]) -]) -AC_CHECK_LIB(m,exp,[ - VLC_ADD_LIBS([gaussianblur],[-lm]) -]) -AC_CHECK_LIB(m,round,[ - VLC_ADD_LIBS([dbus],[-lm]) -]) -AC_CHECK_LIB(m,sqrtf,[ - VLC_ADD_LIBS([x264],[-lm]) + 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 libvlccore freetype mod mpc dmo quicktime realvideo qt4 compressor headphone_channel_mixer normvol audiobargraph_a speex mono colorthres extract ball access_imem hotkeys mosaic gaussianblur dbus x264],[-lm]) + LIBM="-lm" +], [ + LIBM="" ]) -fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" +AC_SUBST(LIBM) AC_CHECK_LIB(m,lrintf, [ AC_DEFINE(HAVE_LRINTF, 1, [Define to 1 if you have the lrintf function]) @@ -696,7 +703,6 @@ if test "${ac_cv_have_plugins}" = "no"; 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]) ac_cv_have_plugins=yes]) fi fi @@ -704,7 +710,6 @@ fi # WinCE style if test "${ac_cv_have_plugins}" = "no"; then if test "${SYS}" = "mingwce"; then - AC_DEFINE(HAVE_DL_WINDOWS, 1, [Define if you have Windows' LoadLibrary]) ac_cv_have_plugins=yes fi fi @@ -756,23 +761,19 @@ if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then AC_CHECK_LIB(rt, clock_nanosleep, [ VLC_ADD_LIBS([libvlccore],[-lrt]) - AC_DEFINE(HAVE_CLOCK_NANOSLEEP, 1, [Define to 1 if you have clock_nanosleep.]) ], [ + AC_CHECK_FUNC(nanosleep,,[ + AC_CHECK_LIB(rt,nanosleep, [ + VLC_ADD_LIBS([libvlccore],[-lrt]) + ], [ + AC_CHECK_LIB(posix4,nanosleep, [ + VLC_ADD_LIBS([libvlccore],[-lposix4]) + ]) + ]) + ]) dnl HP/UX port AC_CHECK_LIB(rt,sem_init, [VLC_ADD_LIBS([libvlccore],[-lrt])]) ]) - - have_nanosleep=false - AC_CHECK_FUNCS(nanosleep,have_nanosleep=:,[ - AC_CHECK_LIB(rt,nanosleep, - [VLC_ADD_LIBS([libvlccore],[-lrt]) have_nanosleep=:], - [AC_CHECK_LIB(posix4,nanosleep, - [VLC_ADD_LIBS([libvlccore],[-lposix4]) have_nanosleep=:])] - ) - ]) - if ${have_nanosleep}; then - AC_DEFINE(HAVE_NANOSLEEP, 1, [Define if nanosleep is available.]) - fi fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" dnl Check for misc headers @@ -818,28 +819,6 @@ then fi ]) -dnl Mac OS X and other OSes don't have declaration for nanosleep -if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then - AC_MSG_CHECKING(for nanosleep in time.h) - AC_EGREP_HEADER(nanosleep,time.h,[ - AC_MSG_RESULT(yes) - AC_DEFINE(HAVE_DECL_NANOSLEEP, 1, - Define if defines nanosleep.) - ],[ - AC_MSG_RESULT(no) - ]) -fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" - -dnl Make sure we have timespecs -AC_MSG_CHECKING(for timespec in sys/time.h) -AC_EGREP_HEADER(timespec,sys/time.h,[ - AC_MSG_RESULT(yes) - AC_DEFINE(HAVE_STRUCT_TIMESPEC, 1, - Define if defines struct timespec.) -],[ - AC_MSG_RESULT(no) -]) - dnl Check for threads library if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then AC_CHECK_HEADERS(pthread.h) @@ -1019,15 +998,14 @@ AS_IF([test "${enable_coverage}" != "no"], [ CFLAGS="-fprofile-arcs -ftest-coverage ${CFLAGS}" CXXFLAGS="-fprofile-arcs -ftest-coverage ${CXXFLAGS}" LDFLAGS="-lgcov ${LDFLAGS}" - CFLAGS_save="${CFLAGS}" - CXXFLAGS_save="${CXXFLAGS}" - LDFLAGS_save="${LDFLAGS}" ]) +VLC_SAVE_FLAGS + AS_IF([test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"], [ AC_CACHE_CHECK([if $CC accepts -fvisibility=hidden], [ac_cv_c_visibility_hidden], [ - CFLAGS="${CFLAGS_save} -ffast-math" + CFLAGS="${CFLAGS_save} -fvisibility=hidden" AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], [ ac_cv_c_visibility_hidden=yes ], [ @@ -1035,13 +1013,14 @@ AS_IF([test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"], [ ]) ]) AS_IF([test "${ac_cv_c_visibility_hidden}" != "no"], [ + VLC_RESTORE_FLAGS CFLAGS="${CFLAGS} -fvisibility=hidden" CXXFLAGS="${CXXFLAGS} -fvisibility=hidden" OBJCFLAGS="${OBJCFLAGS} -fvisibility=hidden" + VLC_SAVE_FLAGS ]) ]) -VLC_SAVE_FLAGS dnl dnl Enable/disable optimizations @@ -1473,12 +1452,16 @@ asm volatile("ssat r0, #1, r0":::"r0"); /* assume ARMv6 */ ]) CFLAGS="${CFLAGS_save}" ]) - ARM_NEON_CFLAGS="$ac_cv_neon_inline" + 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(ARM_NEON_CFLAGS) -AM_CONDITIONAL(HAVE_ARM_NEON, [test "${ac_cv_neon_inline}" != "no"]) +AC_SUBST(NEON_CFLAGS) +AM_CONDITIONAL(HAVE_NEON, [test "${ac_cv_neon_inline}" != "no"]) AC_ARG_ENABLE(altivec, @@ -1759,10 +1742,6 @@ AS_IF([test "${enable_taglib}" != "no"], [ VLC_ADD_PLUGIN([taglib]) VLC_ADD_LIBS([taglib],[$TAGLIB_LIBS -lz]) VLC_ADD_CXXFLAGS([taglib],[$TAGLIB_CFLAGS]) - AC_LANG_PUSH(C++) - AC_CHECK_HEADERS(taglib/mp4coverart.h) - AC_CHECK_HEADERS(taglib/apefile.h) - AC_LANG_POP(C++) ], [ AC_MSG_WARN(TagLib library not found)]) ]) @@ -1830,7 +1809,7 @@ if test "${enable_live555}" != "no"; then AC_MSG_WARN([The installed liveMedia version is too old: Version 2010.05.29 or later is required to proceed. You can get an updated one from http://www.live555.com/liveMedia .]) - AS_IF([test "${enable_live555}" == "yes"], [ + AS_IF([test "${enable_live555}" = "yes"], [ AC_MSG_ERROR([Update live555 or pass --disable-live555 to disable the plugin.]) ]) ],[ @@ -2033,22 +2012,14 @@ dnl Video4Linux2 plugin dnl AC_ARG_ENABLE(v4l2, [AS_HELP_STRING([--disable-v4l2], - [do not support Video4Linux version 2 (default auto)])]) -AC_ARG_WITH(v4l2, - [AS_HELP_STRING([--with-v4l2=PATH], [path to a V4L2-enabled kernel tree])]) -if test "${enable_v4l2}" != "no" -then - if test "${with_v4l2}" != "no" -a -n "${with_v4l2}" - then - VLC_ADD_CPPFLAGS([v4l2],[-I${with_v4l2}/include]) - fi - - CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_v4l2}" - AC_CHECK_HEADERS(linux/videodev2.h sys/videoio.h, [ - VLC_ADD_PLUGIN([v4l2]) - ],[]) - CPPFLAGS="${CPPFLAGS_save}" -fi + [disable Video4Linux2 support (default auto)])]) +have_v4l2="no" +AS_IF([test "${enable_v4l2}" != "no"], [ + AC_CHECK_HEADERS([linux/videodev2.h sys/videoio.h], [ + have_v4l2="yes" + ]) +]) +AM_CONDITIONAL(HAVE_V4L2, [test "${have_v4l2}" != "no"]) dnl dnl libv4l2 support for video4linux. @@ -2564,13 +2535,13 @@ AS_IF([test "${enable_libva}" != "no"], [ AC_DEFINE(HAVE_AVCODEC_VAAPI, 1, [Define if avcodec has to be built with VAAPI support.]) echo "VAAPI acceleration activated" ],[ - AS_IF([test "${enable_libva}" == "yes"], + AS_IF([test "${enable_libva}" = "yes"], [AC_MSG_ERROR([libva is present but libavcodec/vaapi.h is missing])], [AC_MSG_WARN([libva is present but libavcodec/vaapi.h is missing ])]) ]) VLC_RESTORE_FLAGS ],[ - AS_IF([test "${enable_libva}" == "yes"], + AS_IF([test "${enable_libva}" = "yes"], [AC_MSG_ERROR([Could not find required libva.])], [AC_MSG_WARN([libva not found ])]) ]) @@ -2597,12 +2568,12 @@ AS_IF([test "${enable_dxva2}" != "no"], [ AC_DEFINE(HAVE_AVCODEC_DXVA2, 1, [Define if avcodec has to be built with DxVA2 support.]) echo "DxVA2 acceleration activated" ],[ - AS_IF([test "${enable_dxva2}" == "yes"], + AS_IF([test "${enable_dxva2}" = "yes"], [AC_MSG_ERROR([dxva2 is present but libavcodec/dxva2.h is missing])], [AC_MSG_WARN([dxva2 is present but libavcodec/dxva2.h is missing ])]) ]) ],[ - AS_IF([test "${enable_dxva2}" == "yes"], + AS_IF([test "${enable_dxva2}" = "yes"], [AC_MSG_ERROR([Could not find required dxva2api.h])], [AC_MSG_WARN([dxva2api.h not found])]) ]) @@ -2929,7 +2900,7 @@ PKG_ENABLE_MODULES_VLC([DIRAC], [], [dirac >= 0.10.0], [dirac encoder], [auto]) dnl dnl schroedinger decoder plugin (for dirac format video) dnl -PKG_ENABLE_MODULES_VLC([SCHROEDINGER], [], [schroedinger-1.0 >= 1.0.10], [dirac decoder and encoder using schroedinger], [auto]) +PKG_ENABLE_MODULES_VLC([SCHROEDINGER], [], [schroedinger-1.0 >= 1.0.6], [dirac decoder using schroedinger], [auto]) dnl dnl PNG decoder module @@ -2940,7 +2911,7 @@ if test "${enable_png}" != "no"; then AC_CHECK_HEADERS(png.h, [ LDFLAGS="${LDFLAGS_save} -lz" AC_CHECK_LIB(png, png_set_rows, [ - VLC_ADD_LIBS([png],[-lpng -lz]) + VLC_ADD_LIBS([png],[-lpng -lz -lm]) VLC_ADD_PLUGIN([png osdmenu osd_parser])], [],[-lz]) LDFLAGS="${LDFLAGS_save}" @@ -3014,6 +2985,11 @@ dnl libfluidsynth (MIDI synthetizer) plugin dnl PKG_ENABLE_MODULES_VLC([FLUIDSYNTH], [], [fluidsynth], [MIDI synthetiser with libfluidsynth], [auto]) +dnl +dnl libsamplerate plugin +dnl +PKG_ENABLE_MODULES_VLC([SAMPLERATE], [], [samplerate], [Resampler with libsamplerate], [auto]) + dnl dnl Teletext Modules dnl vbi decoder plugin (using libzbvi) @@ -3084,8 +3060,7 @@ AS_IF([test "${enable_kate}" != "no"], [ AC_CHECK_HEADERS(kate/kate.h, [ AC_CHECK_LIB(kate, kate_decode_init, [ VLC_ADD_PLUGIN([kate]) - kate_libs="-lkate -logg" - VLC_ADD_LDFLAGS([kate],[${kate_libs}]) ],[ + VLC_ADD_LIBS([kate],[-lkate -logg]) ],[ AS_IF([test "x${enable_kate}" != "x"], [ AC_MSG_ERROR([libkate doesn't appear to be installed on your system. You also need to check that you have a libogg posterior to the 1.0 release.]) @@ -3151,9 +3126,10 @@ AC_ARG_ENABLE(xvideo, have_xcb="no" AS_IF([test "${enable_xcb}" != "no"], [ dnl libxcb - PKG_CHECK_MODULES(XCB, [xcb]) + PKG_CHECK_MODULES(XCB, [xcb >= 1.6]) have_xcb="yes" PKG_CHECK_MODULES(XCB_SHM, [xcb-shm]) + PKG_CHECK_MODULES(XCB_COMPOSITE, [xcb-composite]) AS_IF([test "${enable_xvideo}" != "no"], [ PKG_CHECK_MODULES(XCB_XV, [xcb-xv >= 1.1.90.1], [ @@ -3219,13 +3195,13 @@ 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 aout_sdl]) + VLC_ADD_PLUGIN([vout_sdl]) fi if test "${SYS}" != "mingw32"; then VLC_ADD_LIBS([vout_sdl],[${X_LIBS} ${X_PRE_LIBS} -lX11]) fi - VLC_ADD_CFLAGS([vout_sdl aout_sdl],[${SDL_CFLAGS}]) - VLC_ADD_LIBS([vout_sdl aout_sdl],[${SDL_LIBS}]) + VLC_ADD_CFLAGS([vout_sdl],[${SDL_CFLAGS}]) + VLC_ADD_LIBS([vout_sdl],[${SDL_LIBS}]) # SDL_image AS_IF([ test "${enable_sdl_image}" != "no"],[ @@ -3305,6 +3281,19 @@ dnl SVG module dnl PKG_ENABLE_MODULES_VLC([SVG], [], [librsvg-2.0 >= 2.9.0], [SVG rendering library],[auto]) +dnl +dnl android surface module +dnl +AC_ARG_ENABLE(android-surface, + [ --enable-android-surface Android Surface video output module (default disabled)]) +if test "${enable_android_surface}" = "yes"; then + if test "${HAVE_ANDROID}" = "1"; then + VLC_ADD_PLUGIN([android_surface]) + VLC_ADD_LDFLAGS([android_surface], [-ldl]) + fi +fi + + dnl dnl iOS vout module dnl @@ -3350,7 +3339,7 @@ then VLC_ADD_LIBS([directx],[-lgdi32]) ],[AC_MSG_ERROR([Cannot find DirectX headers!])] ) - AC_CHECK_HEADERS(GL/gl.h, + AC_CHECK_HEADERS(GL/glext.h, [ VLC_ADD_PLUGIN([glwin32]) VLC_ADD_LIBS([glwin32],[-lopengl32 -lgdi32]) ]) @@ -3513,8 +3502,20 @@ AS_IF([test "${enable_pulse}" != "no"], [ PKG_CHECK_MODULES([PULSE], [libpulse >= 0.9.22], [ have_pulse="yes" ], [ - AS_IF([test "x${enable_pulse}" != "x"], [ - AC_MSG_ERROR([$PULSE_PKG_ERRORS. PulseAudio 0.9.22 or later required.]) + PKG_CHECK_MODULES([PULSE], [libpulse >= 0.9.16], [ + AS_IF([test "${no_x}" != "yes"], [ + have_pulse="yes" + PULSE_LIBS="$PULSE_LIBS ${X_LIBS} ${X_PRE_LIBS} -lX11" + ], [ + AS_IF([test "${enable_pulse}" = "yes"], [ + AC_MSG_ERROR([Xlib is required with PulseAudio pre-0.9.22 versions +(see http://www.pulseaudio.org/ticket/799 for further reference).]) + ]) + ]) + ], [ + AS_IF([test "x${enable_pulse}" != "x"], [ + AC_MSG_ERROR([$PULSE_PKG_ERRORS. PulseAudio 0.9.22 or later required.]) + ]) ]) ]) ]) @@ -3615,6 +3616,19 @@ dnl JACK modules dnl PKG_ENABLE_MODULES_VLC([JACK], [jack access_jack], [jack], [JACK audio I/O modules],[auto]) +dnl +dnl OpenSLES Android +dnl +AC_ARG_ENABLE(opensles, + [ --enable-opensles Android OpenSL ES audio module (default disabled)]) +if test "${HAVE_ANDROID}" = "1"; then + if test "${enable_opensles}" = "yes"; then + AC_CHECK_HEADERS(SLES/OpenSLES.h, + [ VLC_ADD_PLUGIN([opensles_android]) ], + [ AC_MSG_ERROR([cannot find OpenSLES headers])] ) + fi +fi + dnl dnl UPnP Plugin (Intel SDK) dnl @@ -3665,10 +3679,11 @@ AS_IF([test "${enable_skins2}" = "yes"], [ ], [ PKG_CHECK_MODULES([XPM], [xpm]) + PKG_CHECK_MODULES([XINERAMA], [xinerama]) PKG_CHECK_MODULES([XEXT], [xext]) VLC_ADD_CPPFLAGS([skins2],[-Imodules/gui/skins2 ${X_CFLAGS} ${XEXT_CFLAGS} ${XPM_CFLAGS} -DX11_SKINS]) VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti]) - VLC_ADD_LIBS([skins2],[${X_LIBS} ${X_PRE_LIBS} ${XEXT_LIBS} ${XPM_LIBS} -lX11]) + VLC_ADD_LIBS([skins2],[${X_LIBS} ${X_PRE_LIBS} ${XEXT_LIBS} ${XPM_LIBS} ${XINERAMA_LIBS} -lX11]) ]) VLC_ADD_PLUGIN([skins2]) @@ -3769,7 +3784,8 @@ dnl MacOS X video output/gui modules dnl AC_ARG_ENABLE(macosx, [ --enable-macosx Mac OS X gui support (default enabled on Mac OS X)]) -if test "x${enable_macosx}" = "xyes" +if test "x${enable_macosx}" != "xno" && +(test "${SYS}" = "darwin" || test "${enable_macosx}" = "yes") then VLC_ADD_LDFLAGS([macosx minimal_macosx],[-Wl,-framework,Cocoa]) VLC_ADD_LDFLAGS([macosx minimal_macosx],[-Wl,-framework,OpenGL]) @@ -4025,7 +4041,7 @@ AS_IF([test "${enable_gnutls}" != "no"], [ VLC_ADD_CFLAGS([gnutls], [$GNUTLS_CFLAGS]) AS_IF([test "${SYS}" = "mingw32"], [ dnl pkg-config --libs gnutls omits these - VLC_ADD_LIBS([gnutls], [-lz ${LTLIBINTL}]) + VLC_ADD_LIBS([gnutls], [-lz ${LTLIBINTL} -lcrypt32]) ]) VLC_ADD_LIBS([gnutls], [${GCRYPT_LIBS}]) VLC_ADD_CFLAGS([gnutls], [${GCRYPT_CFLAGS}]) @@ -4131,7 +4147,7 @@ dnl dnl media library dnl AC_ARG_ENABLE(media-library, [--enable-media-library media library (default disabled)]) -if test "${enable_media_library}" == "yes"; then +if test "${enable_media_library}" = "yes"; then if test "${enable_sqlite}" != "yes"; then AC_MSG_ERROR([SQLite module is required for the media library]) else @@ -4242,10 +4258,11 @@ AC_DEFINE_UNQUOTED(VERSION_MESSAGE, "${VERSION_MESSAGE}", [Simple version string AC_DEFINE_UNQUOTED(COPYRIGHT_MESSAGE, "${COPYRIGHT_MESSAGE}", [Copyright string]) AC_DEFINE_UNQUOTED(COPYRIGHT_YEARS, "${COPYRIGHT_YEARS}", [The copyright years]) AC_DEFINE_UNQUOTED(CONFIGURE_LINE, "${CONFIGURE_LINE}", [The ./configure command line]) -AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MAJOR,"${VERSION_MAJOR}", [version major number]) -AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MINOR,"${VERSION_MINOR}", [version minor number]) -AC_DEFINE_UNQUOTED(PACKAGE_VERSION_REVISION,"${VERSION_REVISION}", [version minor number]) -AC_DEFINE_UNQUOTED(PACKAGE_VERSION_EXTRA,"${VERSION_EXTRA}", [version minor number]) +AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MAJOR,${VERSION_MAJOR}, [version major number]) +AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MINOR,${VERSION_MINOR}, [version minor number]) +AC_DEFINE_UNQUOTED(PACKAGE_VERSION_REVISION,${VERSION_REVISION}, [version revision number]) +AC_DEFINE_UNQUOTED(PACKAGE_VERSION_EXTRA,${VERSION_EXTRA}, [version extra number]) +AC_DEFINE_UNQUOTED(PACKAGE_VERSION_DEV,"${VERSION_DEV}", [version development string]) AC_SUBST(COPYRIGHT_MESSAGE) AC_SUBST(VERSION_MESSAGE) AC_SUBST(VERSION_MAJOR) @@ -4256,13 +4273,6 @@ AC_SUBST(COPYRIGHT_YEARS) AC_DEFINE_UNQUOTED(VLC_COMPILE_BY, "`whoami`", [user who ran configure]) AC_DEFINE_UNQUOTED(VLC_COMPILE_HOST, "`hostname -f 2>/dev/null || hostname`", [host which ran configure]) AC_DEFINE_UNQUOTED(VLC_COMPILER, "`$CC -v 2>&1 | tail -n 1`", [compiler]) -dnl Win32 need s a numerical version_extra. -case $( echo ${VERSION_EXTRA}|wc -m ) in - "1") VERSION_EXTRA_RC="0";; - "2") VERSION_EXTRA_RC=$( echo ${VERSION_EXTRA}|tr "abcdefghi" "123456789") ;; - *) VERSION_EXTRA_RC="99" -esac -AC_SUBST(VERSION_EXTRA_RC) dnl dnl Handle substvars that use $(top_srcdir) dnl @@ -4363,19 +4373,19 @@ AC_CONFIG_FILES([ modules/lua/Makefile modules/meta_engine/Makefile modules/misc/Makefile - modules/misc/dummy/Makefile - modules/misc/notify/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_out/Makefile modules/stream_out/transcode/Makefile + modules/text_renderer/Makefile modules/video_chroma/Makefile modules/video_filter/Makefile modules/video_filter/dynamicoverlay/Makefile @@ -4413,8 +4423,7 @@ AC_OUTPUT ${SHELL} ./config.status --file=vlc-config chmod 0755 vlc-config -/bin/echo -n "Enabled modules: " -./vlc-config --list plugin +/bin/echo -n "Enabled modules: ${PLUGINS}" dnl Do we have to use make or gmake ? USE_MAKE_OR_GMAKE=`case "${SYS}" in openbsd*) echo "gmake";; *) echo "make";; esac` @@ -4448,16 +4457,5 @@ echo "vlc aliases :${ALIASES}" else echo "build vlc executable : no" fi -echo "plugins/bindings :${PLUGINS_BINDINGS} - -You can tune the compiler flags in vlc-config. -To build vlc and its plugins, type \`./compile' or \`$USE_MAKE_OR_GMAKE'. -" -if test "x$ac_ld_does_not_support_text_reloc" = "xyes"; then - echo "" - echo "Warning: Due to a bug in ld, mmx/sse support has been" - echo " turned off." - echo " FFmpeg will be REALLY slow." - echo " VLC WILL NOT PERFORM AS EXPECTED." - echo "" -fi +echo " +To build vlc and its plugins, type \`./compile' or \`$USE_MAKE_OR_GMAKE'."