X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=configure.ac;h=4244dadbaed91e4b04f3055751fb3972b51732d3;hb=8671c1a9b4beafe5f363b705316ec93f69f844d2;hp=403e36a135317df64cb459f7a316a3c2671e4022;hpb=ebeb2b4057933ffcc940d5d5f991b549f3183b89;p=vlc diff --git a/configure.ac b/configure.ac index 403e36a135..4244dadbae 100644 --- a/configure.ac +++ b/configure.ac @@ -1,10 +1,10 @@ dnl Autoconf settings for vlc -AC_COPYRIGHT([Copyright 2002-2011 VLC authors and VideoLAN]) +AC_COPYRIGHT([Copyright 2002-2012 VLC authors and VideoLAN]) -AC_INIT(vlc, 1.3.0-git) -VERSION_MAJOR=1 -VERSION_MINOR=3 +AC_INIT(vlc, 2.1.0-git) +VERSION_MAJOR=2 +VERSION_MINOR=1 VERSION_REVISION=0 VERSION_EXTRA=0 VERSION_DEV=git @@ -14,7 +14,7 @@ AC_SUBST(PKGDIR) CONFIGURE_LINE="`echo "$0 $ac_configure_args" | sed -e 's/\\\/\\\\\\\/g'`" CODENAME="Rincewind" -COPYRIGHT_YEARS="1996-2011" +COPYRIGHT_YEARS="1996-2012" AC_CONFIG_SRCDIR(src/libvlc.c) AC_CONFIG_AUX_DIR(autotools) @@ -59,6 +59,7 @@ AC_DEFINE([_FILE_OFFSET_BITS], 64, [Define to 64 for large files support.]) AC_DEFINE([_REENTRANT],, [Define to expose reentrant functions.]) AC_DEFINE([_THREAD_SAFE],, [Same as _REENTANT for some other OSes.]) AC_DEFINE([__LIBVLC__],, [Define within the LibVLC source code tree.]) +AC_DEFINE([WIN32_LEAN_AND_MEAN],, [Define to limit the scope of .]) AM_PROG_CC_C_O AC_PROG_CXX @@ -107,26 +108,29 @@ case "${host_os}" in CFLAGS="${CFLAGS} -pthread" VLC_ADD_LIBS([vcd cdda vcdx],[-ldvd]) ;; - *bsd*) - SYS="${host_os}" + freebsd*) + SYS=freebsd CFLAGS="${CFLAGS} -pthread" - case "${host_os}" in - freebsd*) - CPPFLAGS="${CPPFLAGS} -I/usr/local/include" - LDFLAGS="${LDFLAGS} -L/usr/local/lib" - ;; - openbsd*) - CPPFLAGS="${CPPFLAGS} -I/usr/local/include -I/usr/X11R6/include" - LDFLAGS="${LDFLAGS} -L/usr/local/lib -L/usr/X11R6/lib/" - ;; - esac + CPPFLAGS="${CPPFLAGS} -I/usr/local/include" + LDFLAGS="${LDFLAGS} -L/usr/local/lib" + ;; + openbsd*) + SYS=openbsd + CPPFLAGS="${CPPFLAGS} -I/usr/local/include -I/usr/X11R6/include" + LDFLAGS="${LDFLAGS} -L/usr/local/lib -L/usr/X11R6/lib/" + ;; + netbsd*) + SYS=netbsd + ;; + dragonfly*) + SYS=dragonfly ;; darwin*) dnl Force gcc "-arch" flag ARCH_flag="" case "${host}" in - i386*) + i?86*) ARCH_flag="-arch i386" ;; ppc64*) @@ -148,38 +152,45 @@ case "${host_os}" in 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]) - VLC_ADD_LIBS([avcodec avformat access_avio swscale postproc i420_rgb_mmx x264],[-Wl,-read_only_relocs,suppress]) + 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([libvlccore],[-Wl,-framework,CoreFoundation]) + dnl Allow binaries created on Lion to run on earlier releases + AC_EGREP_CPP(yes, + [#import + #ifdef MAC_OS_X_VERSION_10_7 + yes + #endif], + [AC_MSG_RESULT([yes]) + AC_LIBOBJ([getdelim]) + AC_LIBOBJ([strndup]) + AC_LIBOBJ([strnlen])],) + dnl dnl Check for Mac OS X SDK settings dnl AC_ARG_WITH(macosx-sdk, [AS_HELP_STRING([--with-macosx-sdk=DIR], [compile using the SDK in DIR])]) - test "${with_macosx_sdk}" = "" && with_macosx_sdk=/Developer/SDKs/MacOSX10.5.sdk - ! test -d "${with_macosx_sdk}" && AC_MSG_ERROR([SDK "${with_macosx_sdk}" not found]) - CPP="${CPP} -isysroot ${with_macosx_sdk}" - CC="${CC} -isysroot ${with_macosx_sdk}" - CXX="${CXX} -isysroot ${with_macosx_sdk}" - OBJC="${OBJC} -isysroot ${with_macosx_sdk}" - LD="${LD} -syslibroot ${with_macosx_sdk}" + test "${with_macosx_sdk}" = "" && with_macosx_sdk=/Developer/SDKs/MacOSX10.6.sdk + test ! -d "${with_macosx_sdk}" && AC_MSG_ERROR([SDK "${with_macosx_sdk}" not found]) AC_ARG_WITH(macosx-version-min, [AS_HELP_STRING([--with-macosx-version-min=VERSION], [compile for MacOS X VERSION and above])]) - if test "${with_macosx_version_min}" != "" ; then - CPP="${CPP} -mmacosx-version-min=${with_macosx_version_min}" - CC="${CC} -mmacosx-version-min=${with_macosx_version_min}" - CXX="${CXX} -mmacosx-version-min=${with_macosx_version_min}" - OBJC="${OBJC} -mmacosx-version-min=${with_macosx_version_min}" - LD="${LD} -macosx_version_min=${with_macosx_version_min}" - CFLAGS="${CFLAGS} -DMACOSX_DEPLOYMENT_TARGET=${with_macosx_version_min}" - CXXFLAGS="${CXXFLAGS} -DMACOSX_DEPLOYMENT_TARGET=${with_macosx_version_min}" - OBJCFLAGS="${OBJCFLAGS} -DMACOSX_DEPLOYMENT_TARGET=${with_macosx_version_min}" - MACOSX_DEPLOYMENT_TARGET=${with_macosx_version_min} - export MACOSX_DEPLOYMENT_TARGET + if test "${with_macosx_version_min}" = "" ; then + with_macosx_version_min=10.5 fi + MACOSX_DEPLOYMENT_TARGET=${with_macosx_version_min} + CPP="${CPP} -isysroot ${with_macosx_sdk} -mmacosx-version-min=${with_macosx_version_min}" + CC="${CC} -isysroot ${with_macosx_sdk} -mmacosx-version-min=${with_macosx_version_min}" + CXX="${CXX} -isysroot ${with_macosx_sdk} -mmacosx-version-min=${with_macosx_version_min}" + OBJC="${OBJC} -isysroot ${with_macosx_sdk} -mmacosx-version-min=${with_macosx_version_min}" + LD="${LD} -syslibroot ${with_macosx_sdk} -mmacosx_version_min=${with_macosx_version_min}" + CFLAGS="${CFLAGS} -DMACOSX_DEPLOYMENT_TARGET=${with_macosx_version_min}" + CXXFLAGS="${CXXFLAGS} -DMACOSX_DEPLOYMENT_TARGET=${with_macosx_version_min}" + OBJCFLAGS="${OBJCFLAGS} -DMACOSX_DEPLOYMENT_TARGET=${with_macosx_version_min}" + export MACOSX_DEPLOYMENT_TARGET ;; *mingw32* | *cygwin* | *wince* | *mingwce*) AC_CHECK_TOOL(WINDRES, windres, :) @@ -479,8 +490,8 @@ need_libc=false dnl Check for usual libc functions AC_CHECK_DECLS([nanosleep],,,[#include ]) -AC_CHECK_FUNCS([daemon fcntl fstatvfs fork getenv getpwuid_r if_nameindex if_nametoindex isatty lstat memalign mmap openat pread posix_fadvise posix_madvise setlocale stricmp strnicmp uselocale]) -AC_REPLACE_FUNCS([atof atoll dirfd fdopendir flockfile fsync getdelim getpid gmtime_r inet_pton lldiv localtime_r nrand48 rewind setenv strcasecmp strcasestr strdup strlcpy strncasecmp strndup strnlen strsep strtof strtok_r strtoll swab tdestroy]) +AC_CHECK_FUNCS([daemon fcntl fstatvfs fork getenv getpwuid_r isatty lstat memalign mmap openat pread posix_fadvise posix_madvise setlocale stricmp strnicmp strptime uselocale]) +AC_REPLACE_FUNCS([atof atoll dirfd fdopendir flockfile fsync getdelim getpid gmtime_r inet_pton lldiv localtime_r nrand48 poll posix_memalign rewind setenv strcasecmp strcasestr strdup strlcpy strncasecmp strndup strnlen strsep strtof strtok_r strtoll swab tdestroy strverscmp]) AC_CHECK_FUNCS(fdatasync,, [AC_DEFINE(fdatasync, fsync, [Alias fdatasync() to fsync() if missing.]) ]) @@ -500,6 +511,20 @@ AC_LINK_IFELSE([ c = NULL; ])],[AC_DEFINE([HAVE_VASPRINTF],[1],[Define to 1 if you have asprintf function])],[AC_LIBOBJ([vasprintf])]) +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_MSG_RESULT([yes]) + AC_DEFINE([HAVE_STATIC_ASSERT], [1], [Define to 1 if defines static_assert.]) +], [ + AC_MSG_RESULT([no]) +]) + # Windows CE does not have strcoll() AC_FUNC_STRCOLL @@ -508,15 +533,6 @@ AC_CHECK_FUNCS([accept4 pipe2 eventfd vmsplice sched_getaffinity]) AH_BOTTOM([#include ]) -dnl Check for poll -AC_SEARCH_LIBS(poll, [poll], [ - AC_DEFINE(HAVE_POLL, 1, [Define to 1 if the OS has poll().]) -], [ - AS_IF([test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" -a "${SYS}" != "os2"], [ - AC_MSG_ERROR([poll() is required.]) - ]) -]) - dnl Check for struct pollfd AC_CHECK_TYPES([struct pollfd],,, [#include @@ -527,7 +543,7 @@ AC_CHECK_TYPES([struct pollfd],,, #endif ]) -dnl Check for connect +dnl Checks for socket stuff VLC_SAVE_FLAGS SOCKET_LIBS="" AC_SEARCH_LIBS(connect, [socket], [ @@ -542,9 +558,18 @@ AC_SEARCH_LIBS(connect, [socket], [ SOCKET_LIBS="-lws2" ]) ]) + +AC_SEARCH_LIBS([getaddrinfo], [nsl], [ + AS_IF([test "$ac_cv_search_getaddrinfo" != "none required"], [ + SOCKET_LIBS="$ac_cv_search_getaddrinfo $SOCKET_LIBS" + ]) +],, [${SOCKET_LIBS}]) + +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],[${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}]) ]) AC_SUBST(SOCKET_LIBS) @@ -585,13 +610,6 @@ AS_IF([test "${ac_cv_struct_sockaddr_storage}" = no], [ AC_DEFINE(ss_family, sa_family) ]) -dnl getaddrinfo, getnameinfo and gai_strerror check -dnl -lnsl and -lsocket are needed on Solaris; -dnl we purposedly make the test fail on Windows -VLC_SAVE_FLAGS -AC_SEARCH_LIBS([getaddrinfo], [nsl],,, [${SOCKET_LIBS}]) -VLC_RESTORE_FLAGS - dnl FreeBSD has a gnugetopt library for this: GNUGETOPT_LIBS="" AC_CHECK_FUNC(getopt_long,, [ @@ -602,7 +620,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 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 hqdn3d],[-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 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],[-lm]) LIBM="-lm" ], [ LIBM="" @@ -644,7 +662,7 @@ AS_IF([test "${have_dynamic_objects}" != "no"], [ AM_CONDITIONAL(HAVE_DYNAMIC_PLUGINS, [test "${have_dynamic_objects}" != "no"]) AC_SUBST(LIBDL) -VLC_ADD_LIBS([realvideo lua],[$LIBDL]) +VLC_ADD_LIBS([lua],[$LIBDL]) dnl Check for thread library if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then @@ -673,18 +691,10 @@ if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then ]) fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" -dnl Check for misc headers -AC_MSG_CHECKING(for strncasecmp in strings.h) -AC_EGREP_HEADER(strncasecmp,strings.h,[ - AC_MSG_RESULT(yes) - AC_DEFINE(STRNCASECMP_IN_STRINGS_H, 1, - Define if defines strncasecmp.)],[ - AC_MSG_RESULT(no)]) - dnl Check for headers AC_CHECK_HEADERS([search.h]) -AC_CHECK_HEADERS(getopt.h strings.h locale.h xlocale.h) -AC_CHECK_HEADERS(fcntl.h sys/time.h sys/ioctl.h sys/stat.h) +AC_CHECK_HEADERS(getopt.h locale.h xlocale.h) +AC_CHECK_HEADERS([sys/time.h sys/ioctl.h]) AC_CHECK_HEADERS([arpa/inet.h netinet/udplite.h sys/eventfd.h]) AC_CHECK_HEADERS([net/if.h], [], [], [ @@ -699,7 +709,7 @@ AC_CHECK_HEADERS([sys/mount.h], [], [], if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then AC_CHECK_HEADERS(machine/param.h sys/shm.h) AC_CHECK_HEADERS([linux/version.h linux/dccp.h scsi/scsi.h linux/magic.h]) - AC_CHECK_HEADERS(syslog.h) + AC_CHECK_HEADERS(syslog.h mntent.h) fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" dnl LP64 and LLP64 architectures had better define ssize_t by themselves... @@ -954,6 +964,12 @@ AS_IF([test "${enable_optimizations}" != "no"], [ ]) ]) AS_IF([test "${ac_cv_c_fast_math}" = "no"], [VLC_RESTORE_FLAGS]) + AH_BOTTOM([ +#ifndef __FAST_MATH__ +# pragma STDC FENV_ACCESS OFF +# pragma STDC FP_CONTRACT ON +#endif +]) dnl Check for -funroll-loops VLC_SAVE_FLAGS @@ -1092,7 +1108,7 @@ have_mmxext="no" AS_IF([test "${enable_mmx}" != "no"], [ ARCH="${ARCH} mmx" VLC_SAVE_FLAGS - CFLAGS="${CFLAGS} -O -mmmx" + CFLAGS="${CFLAGS} -mmmx" AC_CACHE_CHECK([if $CC groks MMX intrinsics], [ac_cv_c_mmx_intrinsics], [ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([ [#include @@ -1176,7 +1192,7 @@ AS_IF([test "${enable_sse}" != "no"], [ ARCH="${ARCH} sse sse2" VLC_SAVE_FLAGS - CFLAGS="${CFLAGS} -O -msse2" + CFLAGS="${CFLAGS} -msse2" AC_CACHE_CHECK([if $CC groks SSE2 intrinsics], [ac_cv_c_sse2_intrinsics], [ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([ [#include @@ -1659,10 +1675,10 @@ AS_IF([test "${enable_live555}" != "no" -a -n "${CXX}"], [ ]) CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_live555}" - AC_CACHE_CHECK([for live555 version 1275091200 or later], [ac_cv_live555], [ + AC_CACHE_CHECK([for live555 version 1324598400 or later], [ac_cv_live555], [ AC_PREPROC_IFELSE([AC_LANG_PROGRAM([ [#include -#if !defined (LIVEMEDIA_LIBRARY_VERSION_INT) || (LIVEMEDIA_LIBRARY_VERSION_INT < 1275091200) +#if !defined (LIVEMEDIA_LIBRARY_VERSION_INT) || (LIVEMEDIA_LIBRARY_VERSION_INT < 1324598400) # error BOOM #endif]]) ], [ @@ -1673,39 +1689,12 @@ AS_IF([test "${enable_live555}" != "no" -a -n "${CXX}"], [ ]) AS_IF([test "$ac_cv_live555" = "no"], [ AC_MSG_WARN([liveMedia is missing or its installed version is too old: -Version 2010.05.29 or later is required to proceed. +Version 2011.12.23 or later is required to proceed. You can get an updated one from http://www.live555.com/liveMedia .]) AS_IF([test -n "${enable_live555}"], [ AC_MSG_ERROR([Update live555 or pass --disable-live555 to disable RTSP input support.]) ]) - ac_cv_live555_usable="" ], [ - dnl Check that live555 is patched correctly. - AC_CACHE_CHECK([for live555 usability], [ac_cv_live555_usable], [ - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([ -[#include -#ifdef __APPLE__ -# include -#endif -#undef LC_ALL -#define LC_ALL BOOM -#ifdef LC_ALL_MASK -#include -#endif -#include ]], [ -[struct in_addr addr; -our_inet_ntoa(addr, NULL);]]) - ], [ - ac_cv_live555_usable="yes" - ], [ - ac_cv_live555_usable="no" - ]) - ]) - AS_IF([test "$ac_cv_live555_usable" = "no"], [ - AC_MSG_ERROR([liveMedia lacks patches and is not usable. -Please apply our patches from the VLC contrib (contrib/src/live555/). -You can also disable RTSP input with --disable-live555. You were warned.]) - ]) other_libs="-lgroupsock -lBasicUsageEnvironment -lUsageEnvironment" other_libs_pic="-lgroupsock_pic -lBasicUsageEnvironment_pic -lUsageEnvironment_pic" AS_IF([test "${SYS}" = "mingw32"], [ @@ -1793,7 +1782,7 @@ then AC_CHECK_HEADERS(dshow.h, [ VLC_ADD_PLUGIN([dshow]) VLC_ADD_CXXFLAGS([dshow],[]) - VLC_ADD_LIBS([dshow],[-lole32 -loleaut32 -luuid]) ]) + VLC_ADD_LIBS([dshow],[-lole32 -loleaut32 -luuid -lstrmiids -lksuser])]) AC_LANG_POP(C++) fi fi @@ -1801,7 +1790,7 @@ fi dnl dnl Blu-ray Disc Support with libbluray dnl -PKG_ENABLE_MODULES_VLC([BLURAY], [libbluray], [libbluray >= 0.2 libxml-2.0 >= 2.6 ], (libbluray for Blu-ray disc support ) ) +PKG_ENABLE_MODULES_VLC([BLURAY], [libbluray], [libbluray >= 0.2.1], (libbluray for Blu-ray disc support ) ) dnl dnl OpenCV wrapper and example filters @@ -1840,22 +1829,17 @@ fi dnl dnl Video4Linux 2 dnl -AC_ARG_ENABLE(libv4l2, [AS_HELP_STRING([--disable-libv4l2], - [disable userspace V4L2 library (default auto)])]) +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" -AC_CHECK_HEADERS([linux/videodev2.h sys/videoio.h], [ - have_v4l2="yes" +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_libv4l2}" != "no"], [ - PKG_CHECK_MODULES(LIBV4L2, libv4l2, [ - AC_DEFINE(HAVE_LIBV4L2, 1, [Define to 1 if libv4l2 is available]) - ], [ - AC_MSG_WARN([${LIBV4L2_PKG_ERRORS}.]) - ]) - ]) AS_IF([test "${enable_pvr}" = "yes"], [ VLC_ADD_PLUGIN([pvr]) ]) @@ -2248,18 +2232,7 @@ AC_ARG_ENABLE(iomx, [ --enable-iomx iomx codec module (default disabled)]) if test "${enable_iomx}" = "yes" then - VLC_SAVE_FLAGS - CPPFLAGS="${CPPFLAGS} -I${srcdir}/modules/codec/omxil" # For the OMX headers - AC_LANG_PUSH([C++]) - AC_CHECK_HEADER(media/stagefright/OMXClient.h, [ - VLC_ADD_PLUGIN([iomx]) - VLC_ADD_CXXFLAGS([iomx], [-fno-exceptions -fno-rtti]) - VLC_ADD_LIBS([iomx], [-lstagefright -lmedia -lutils -lbinder]) - ], [ - AC_MSG_ERROR("Could not find IOMX headers") - ]) - AC_LANG_POP([C++]) - VLC_RESTORE_FLAGS + VLC_ADD_PLUGIN([iomx]) fi dnl @@ -2447,7 +2420,9 @@ AS_IF([test "${enable_dxva2}" != "no"], [ 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 ])]) - ]) + ], [#undef _WIN32_WINNT + /* DXVA2 is only available in Vista and above */ + #define _WIN32_WINNT 0x600]) ],[ AS_IF([test "${enable_dxva2}" = "yes"], [AC_MSG_ERROR([Could not find required dxva2api.h])], @@ -2630,15 +2605,6 @@ if test "${enable_quicktime}" = "yes"; then fi fi -dnl -dnl Real plugin -dnl -AC_ARG_ENABLE(real, - [ --enable-real Real video decoder module (default disabled)]) -if test "${enable_real}" = "yes"; then - VLC_ADD_PLUGIN([realvideo]) -fi - dnl dnl A52/AC3 decoder plugin dnl @@ -2758,11 +2724,7 @@ AS_IF([test "${enable_speex}" != "no"], [ PKG_CHECK_MODULES([SPEEXDSP], [speexdsp], [ have_speexdsp="yes" ], [ - AS_IF([test -n "${enable_speex}"], [ - AC_MSG_ERROR([${SPEEXDSP_PKG_ERRORS}.]) - ], [ - AC_MSG_WARN([${SPEEXDSP_PKG_ERRORS}.]) - ]) + AC_MSG_WARN([${SPEEXDSP_PKG_ERRORS}.]) ]) ]) AM_CONDITIONAL([HAVE_SPEEXDSP], [test "$have_speexdsp" = "yes"]) @@ -2770,7 +2732,7 @@ AM_CONDITIONAL([HAVE_SPEEXDSP], [test "$have_speexdsp" = "yes"]) dnl dnl theora decoder plugin dnl -PKG_ENABLE_MODULES_VLC([THEORA], [], [ogg theora >= 1.0], [experimental theora codec], [auto]) +PKG_ENABLE_MODULES_VLC([THEORA], [], [ogg theoradec >= 1.0 theoraenc], [experimental theora codec], [auto]) dnl dnl dirac encoder plugin @@ -2790,16 +2752,70 @@ AC_ARG_ENABLE(png, if test "${enable_png}" != "no"; then AC_CHECK_HEADERS(png.h, [ VLC_SAVE_FLAGS - LDFLAGS="${LDFLAGS} -lz" + LDFLAGS="${LDFLAGS} -lz $LIBM" AC_CHECK_LIB(png, png_set_rows, [ - VLC_ADD_LIBS([png],[-lpng -lz -lm]) + VLC_ADD_LIBS([png],[-lpng -lz $LIBM]) VLC_ADD_PLUGIN([png osdmenu osd_parser])], - [],[-lz]) + [],[-lz $LIBM] ) VLC_RESTORE_FLAGS ]) fi AM_CONDITIONAL(BUILD_OSDMENU, [test "${enable_png}" != "no"]) +dnl +dnl H264 encoder plugin (10-bit lib264) +dnl +AC_ARG_ENABLE(x26410b, + [ --enable-x26410b H264 10-bit encoding support with static libx264 (default disabled)]) +if test "${enable_x26410b}" != "no"; then +AC_ARG_WITH(x26410b-tree, + [ --with-x26410b-tree=PATH H264 10-bit encoding module with libx264 (static linking)],[],[]) + if test "${with_x26410b_tree}" != "no" -a -n "${with_x26410b_tree}" + then + real_x26410b_tree="̧`cd ${with_x26410b_tree} 2>/dev/null && pwd`" + if test -z "${real_x26410b_tree}" + then + AC_MSG_RESULT(no) + AC_MSG_ERROR([${with_x26410b_tree} directory does not exist]) + fi + AC_MSG_CHECKING(for x264.h in ${real_x26410b_tree}) + if test -f ${with_x26410b_tree}/x264_config.h + then + AC_MSG_RESULT(yes) + AC_MSG_CHECKING(for 10-bit build of x264) + if grep -q "BIT_DEPTH.*10" ${with_x26410b_tree}/x264_config.h ;then + AC_MSG_RESULT(yes) + VLC_ADD_PLUGIN([x26410b]) + VLC_ADD_CFLAGS([x26410b],[-I${with_x26410b_tree}]) + VLC_ADD_LIBS([x26410b],[-L${with_x26410b_tree} -lm -lpthread -lx264]) + else + AC_MSG_RESULT(no) + AC_MSG_ERROR([${with_x26410b_tree} isnt build 10-bit]) + fi + else + AC_MSG_RESULT(no) + AC_MSG_ERROR([${with_x26410b_tree} doesnt have x264_config.h]) + fi + else + PKG_CHECK_MODULES(X26410B, x26410b, [ + VLC_ADD_PLUGIN([x26410b]) + VLC_ADD_LDFLAGS([x26410b],[${X26410B_LIBS}]) + AS_IF([test "${ac_cv_ld_bsymbolic}" != "no"], [ + VLC_ADD_LIBS([x26410b],[-Wl,-Bsymbolic]) + ]) + VLC_ADD_CFLAGS([x26410b],[${X26410B_CFLAGS}]) + if echo ${X26410B_LIBS} |grep -q 'pthreadGC2'; then + VLC_ADD_CFLAGS([x26410b], [-DPTW32_STATIC_LIB]) + fi + ], [ + if test "${enable_x26410b}" = "yes"; then + AC_MSG_ERROR([x26410b module doesn't work without staticly compiled libx264.a]) + fi + ]) + fi +fi + + dnl dnl H264 encoder plugin (using libx264) dnl @@ -2862,7 +2878,7 @@ fi dnl dnl libfluidsynth (MIDI synthetizer) plugin dnl -PKG_ENABLE_MODULES_VLC([FLUIDSYNTH], [], [fluidsynth], [MIDI synthetiser with libfluidsynth], [auto]) +PKG_ENABLE_MODULES_VLC([FLUIDSYNTH], [], [fluidsynth >= 1.1.0], [MIDI synthetiser with libfluidsynth], [auto]) dnl dnl Teletext Modules @@ -3042,11 +3058,7 @@ AS_IF([test "${enable_xcb}" != "no"], [ AS_IF([test "${have_gl}" != "yes"], [ AC_MSG_ERROR([${GL_PKG_ERRORS}. Pass --disable-glx if you do not need OpenGL X11 support.]) ]) - PKG_CHECK_MODULES(XLIB_XCB, [x11-xcb], [ - VLC_ADD_PLUGIN([xcb_glx]) - ], [ - AC_MSG_ERROR([${XLIB_XCB_PKG_ERRORS}. Pass --disable-glx if you do not need OpenGL X11 support.]) - ]) + VLC_ADD_PLUGIN([xcb_glx]) ]) ]) AM_CONDITIONAL([HAVE_XCB], [test "${have_xcb}" = "yes"]) @@ -3227,7 +3239,7 @@ if test "${enable_directx}" != "no"; then [ VLC_ADD_PLUGIN([direct3d]) VLC_ADD_LIBS([direct3d],[-lgdi32]) ]) - VLC_ADD_LIBS([direct3d directx glwin32],[-lole32]) + VLC_ADD_LIBS([direct3d directx glwin32],[-lole32 -luuid]) fi fi @@ -3243,7 +3255,7 @@ AC_ARG_ENABLE(direct2d, AS_IF([test "${enable_direct2d}" != "no"], [ AC_CHECK_HEADERS(d2d1.h, [ VLC_ADD_PLUGIN([direct2d]) - VLC_ADD_LIBS([direct2d],[-lgdi32 -lole32]) + VLC_ADD_LIBS([direct2d],[-lgdi32 -lole32 -luuid]) ], [ AC_MSG_WARN([Cannot find Direct2D headers!]) ]) @@ -3257,7 +3269,7 @@ AC_ARG_ENABLE(wingdi, if test "${enable_wingdi}" != "no"; then if test "${SYS}" = "mingw32"; then VLC_ADD_PLUGIN([wingdi]) - VLC_ADD_LIBS([wingdi],[-lgdi32 -lole32]) + VLC_ADD_LIBS([wingdi],[-lgdi32 -lole32 -luuid]) fi if test "${SYS}" = "mingwce"; then VLC_ADD_PLUGIN([wingdi wingapi]) @@ -3448,8 +3460,8 @@ dnl Open Sound System module dnl AC_ARG_ENABLE(oss, [AS_HELP_STRING([--enable-oss], - [support the Open Sound System OSS (default enabled on BSD)])],, [ - AS_IF([test "$SYS" = "mingw32" -o "$SYS" = "mingwce" -o "$SYS" = "linux"], [ + [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"], [ enable_oss="no" ]) ]) @@ -3467,9 +3479,22 @@ AC_SUBST(OSS_LIBS) AM_CONDITIONAL([HAVE_OSS], [test "${have_oss}" = "yes"]) dnl -dnl Portaudio module +dnl OpenBSD sndio module dnl -PKG_ENABLE_MODULES_VLC([PORTAUDIO], [], [portaudio-2.0], [Portaudio library support], [auto]) +AC_ARG_ENABLE([sndio], + [AS_HELP_STRING([--disable-sndio], + [support the OpenBSD sndio (default auto)])],, [ + AS_IF([test "$SYS" = "opensd"], [ + enable_sndio="yes" + ]) +]) +have_sndio="no" +AS_IF([test "$enable_sndio" != "no"], [ + AC_CHECK_HEADER([sndio.h], [ + have_sndio="yes" + ]) +]) +AM_CONDITIONAL([HAVE_SNDIO], [test "${have_sndio}" = "yes"]) dnl dnl win32 waveOut plugin @@ -3725,14 +3750,14 @@ then VLC_ADD_LIBS([macosx], [-Wl,-framework,QTKit -Wl,-framework,IOKit -Wl,-framework,AddressBook -Wl,-framework,WebKit]) - VLC_SAVE_FLAGS - CFLAGS="-I${CONTRIB_DIR}/Sparkle.framework/Headers ${CFLAGS}" - AC_CHECK_HEADERS(Sparkle.h, [ - VLC_ADD_LIBS([macosx], [-F${CONTRIB_DIR} -Wl,-framework,Sparkle]) - VLC_ADD_OBJCFLAGS([macosx], [-F${CONTRIB_DIR}]) - ], VLC_RESTORE_FLAGS) + if test ! -d ${CONTRIB_DIR}/Sparkle.framework + then + AC_MSG_ERROR([Sparkle framework is required and was not found in ${CONTRIB_DIR}]) + fi + VLC_ADD_LIBS([macosx], [-F${CONTRIB_DIR} -Wl,-framework,Sparkle]) + VLC_ADD_OBJCFLAGS([macosx], [-F${CONTRIB_DIR}]) - if ! test -d ${CONTRIB_DIR}/BGHUDAppKit.framework + if test ! -d ${CONTRIB_DIR}/BGHUDAppKit.framework then AC_MSG_ERROR([BGHUDAppKit framework is required and was not found in ${CONTRIB_DIR}]) fi @@ -3788,8 +3813,13 @@ if test "${enable_xosd}" = "yes" then AC_CHECK_HEADERS(xosd.h, AC_CHECK_LIB(xosd, xosd_set_horizontal_offset, [ - VLC_ADD_PLUGIN([xosd]) - VLC_ADD_LIBS([xosd],[-lxosd]) + AS_IF([test "${no_x}" != "yes"], [ + VLC_ADD_PLUGIN([xosd]) + VLC_ADD_LIBS([xosd],[-lxosd ${X_LIBS} ${X_PRE_LIBS} -lX11]) + VLC_ADD_CFLAGS([xosd],[${X_CFLAGS}]) + ],[ + AC_MSG_ERROR([Xlib is required with xosd.]) + ]) ]) ) fi @@ -4063,7 +4093,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" ; then +if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" -a "${SYS}" != "darwin" ; then with_kde_solid="yes" fi ]) @@ -4090,9 +4120,8 @@ 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 realvideo],[-I\\\${top_srcdir}/modules/codec/loader]) - VLC_ADD_LIBS([dmo quicktime realvideo],[\\\${top_builddir}/modules/codec/loader/libloader.la]) - VLC_ADD_CPPFLAGS([realvideo], [-DLOADER]) + 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_LIBS([dmo quicktime], [-lpthread]) ]) @@ -4139,11 +4168,6 @@ dnl Handle substvars that use $(top_srcdir) dnl CPPFLAGS="-I\$(top_srcdir)/include -I\$(top_builddir)/include ${CPPFLAGS}" -dnl -dnl Sort the modules list -dnl -PLUGINS=$( (for i in `echo $PLUGINS`; do echo $i; done)|sort|xargs ) - dnl dnl Configuration is finished dnl @@ -4266,21 +4290,27 @@ dnl Generate makefiles AC_OUTPUT dnl Do we have to use make or gmake ? -USE_MAKE_OR_GMAKE=`case "${SYS}" in openbsd*) echo "gmake";; *) echo "make";; esac` +if make --version 2>&1|grep -q GNU +then + # GNU make, all seems good + MAKE=make +else + # Known GNU make alias (on BSD) + MAKE=gmake +fi dnl Shortcut to nice compile message -rm -f compile if test -n $SHELL; then SHELL=${CONFIG_SHELL-/bin/sh} fi -echo '#! '$SHELL >compile -echo rm -f .error\$\$ >>compile -echo ERROR=0 >>compile -echo export PATH=$PATH LANG=C >>compile -echo "($USE_MAKE_OR_GMAKE V=1 \$@ 2>&1 || touch .error\$\$)| \\" >>compile -echo '`sed -ne "s/^top_srcdir *= *//p" < Makefile`/extras/buildsystem/make.pl' >>compile -echo test -f .error\$\$ \&\& ERROR=1 >>compile -echo rm -f .error\$\$ >>compile -echo exit \$ERROR >>compile +rm -f compile +echo "#! $SHELL +rm -f .error\$\$ +ERROR=0 +export PATH=\"$PATH\" LANG=C +($MAKE V=1 \$@ 2>&1 || touch .error\$\$)| `sed -ne \"s/^top_srcdir *= *//p\" < Makefile`/extras/buildsystem/make.pl +test -f .error\$\$ && ERROR=1 +rm -f .error\$\$ +exit \$ERROR" >compile chmod a+x compile echo " @@ -4296,4 +4326,4 @@ else echo "build vlc executable : no" fi echo " -To build vlc and its plugins, type \`./compile' or \`$USE_MAKE_OR_GMAKE'." +To build vlc and its plugins, type \`$MAKE', or \`./compile' if you like nice colors."