]> git.sesse.net Git - vlc/blobdiff - configure.ac
fourcc: add NV24 semiplanar Y/UV 4:4:4 (partial)
[vlc] / configure.ac
index e8f60ea97c780524956129be92e6ed736cbfd0df..e50ae14245ec88eb2f861eb0741725f3e85f3c46 100644 (file)
@@ -2,18 +2,18 @@ dnl Autoconf settings for vlc
 
 AC_COPYRIGHT([Copyright 2002-2013 VLC authors and VideoLAN])
 
-AC_INIT(vlc, 2.1.0-pre1)
+AC_INIT(vlc, 2.2.0-git)
 VERSION_MAJOR=2
-VERSION_MINOR=1
+VERSION_MINOR=2
 VERSION_REVISION=0
 VERSION_EXTRA=0
-VERSION_DEV=pre1
+VERSION_DEV=git
 
 PKGDIR="vlc"
 AC_SUBST(PKGDIR)
 
 CONFIGURE_LINE="`echo "$0 $ac_configure_args" | sed -e 's/\\\/\\\\\\\/g'`"
-CODENAME="Rincewind"
+CODENAME="Weatherwax"
 COPYRIGHT_YEARS="1996-2013"
 
 AC_CONFIG_SRCDIR(src/libvlc.c)
@@ -204,7 +204,7 @@ case "${host_os}" in
   *mingw32* | *cygwin* | *wince* | *mingwce*)
     AC_CHECK_TOOL(WINDRES, windres, :)
     AC_CHECK_TOOL(OBJCOPY, objcopy, :)
-    AH_TOP([#if defined(WIN32) && !defined(_WIN32_WINNT)])
+    AH_TOP([#if defined(_WIN32) && !defined(_WIN32_WINNT)])
     AH_TOP([# define _WIN32_WINNT 0x0502 /* Windows XP SP2 */])
     AH_TOP([#endif])
     AC_DEFINE([_WIN32_IE], 0x0600, [Define to '0x0600' for IE 6.0 (and shell) APIs.])
@@ -219,7 +219,7 @@ case "${host_os}" in
         dnl Check if we are using the mno-cygwin mode in which case we are
         dnl actually dealing with a mingw32 compiler.
         AC_EGREP_CPP(yes,
-            [#ifdef WIN32
+            [#ifdef _WIN32
              yes
              #endif],
             SYS=mingw32, AC_MSG_ERROR([VLC requires -mno-cygwin]))
@@ -227,6 +227,9 @@ case "${host_os}" in
     esac
 
     if test "${SYS}" = "mingw32"; then
+        # DEP, ASLR, NO SEH
+        LDFLAGS="${LDFLAGS} -Wl,--nxcompat -Wl,--no-seh -Wl,--dynamicbase"
+
         VLC_ADD_LIBS([libvlccore],[-lwinmm])
         VLC_ADD_LDFLAGS([vlc],[-mwindows])
         VLC_ADD_LIBS([win32text],[-lgdi32])
@@ -410,7 +413,7 @@ AS_IF([test "${enable_shared}" = "no" -a "${enable_vlc}" != "no"], [
 dnl
 dnl Gettext stuff
 dnl
-AM_GNU_GETTEXT_VERSION([0.18.1])
+AM_GNU_GETTEXT_VERSION([0.18.2])
 AM_GNU_GETTEXT([external], [need-ngettext])
 
 dnl
@@ -561,7 +564,7 @@ AC_CHECK_TYPES([struct pollfd],,,
 [#include <sys/types.h>
 #if HAVE_POLL
 # include <poll.h>
-#elif defined (WIN32)
+#elif defined (_WIN32)
 # include <winsock2.h>
 #endif
 ])
@@ -587,7 +590,7 @@ AC_SEARCH_LIBS([getaddrinfo], [nsl], [
 
 LIBS="${LIBS} ${SOCKET_LIBS}"
 AC_LINK_IFELSE([
-    AC_LANG_PROGRAM([#ifdef WIN32
+    AC_LANG_PROGRAM([#ifdef _WIN32
         # if _WIN32_WINNT < 0x600
         #  error Needs vista+
         # endif
@@ -613,7 +616,7 @@ AC_CACHE_CHECK([for socklen_t in sys/socket.h], dnl ` (fix VIM syntax highlight
 ac_cv_type_socklen_t,
 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
 [#include <sys/types.h>
-#ifdef WIN32
+#ifdef _WIN32
 # include <winsock2.h>
 # include <ws2tcpip.h>
 #else
@@ -630,7 +633,7 @@ AH_TEMPLATE(ss_family, [Define to `sa_family' if <sys/socket.h> does not define.
 AC_CACHE_CHECK([for struct sockaddr_storage], ac_cv_struct_sockaddr_storage,
   [AC_TRY_COMPILE(
     [#include <sys/types.h>
-     #if defined( WIN32 )
+     #if defined( _WIN32 )
      # include <winsock2.h>
      #else
      # include <sys/socket.h>
@@ -652,7 +655,7 @@ AC_CHECK_FUNC(getopt_long,, [
 AC_SUBST(GNUGETOPT_LIBS)
 
 AC_CHECK_LIB(m,cos,[
-  VLC_ADD_LIBS([adjust wave ripple psychedelic gradient a52tofloat32 dtstofloat32 x264 goom panoramix rotate noise grain scene kate 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])
+  VLC_ADD_LIBS([adjust wave ripple psychedelic gradient a52tofloat32 dtstofloat32 x264 goom panoramix rotate noise grain scene kate 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 audiobargraph_v speex opus mono colorthres extract ball access_imem hotkeys mosaic gaussianblur x26410b hqdn3d anaglyph oldrc ncurses],[-lm])
   LIBM="-lm"
 ], [
   LIBM=""
@@ -1548,7 +1551,7 @@ then
   AS_IF([test "${LUAC}" = "false"], [
     AC_MSG_ERROR([Could not find the LUA byte compiler.])
   ])
-  AS_IF([test -f ${CONTRIB_DIR}/lib/liblua.a -a `echo|${LUAC} -o - -|od -j 8 -N 2 -t x2|head -n 1|cut -d' ' -f2` != 0404], [
+  AS_IF([test -d ${CONTRIB_DIR} -a -f ${CONTRIB_DIR}/lib/liblua.a -a `echo|${LUAC} -o - -|od -j 8 -N 2 -t x2|head -n 1|cut -d' ' -f2` != 0404], [
     AC_MSG_ERROR([You need 32-bits luac when using using lua from contrib.])
   ])
 fi
@@ -1598,74 +1601,83 @@ AC_ARG_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
-
-  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"
+  PKG_CHECK_MODULES(LIVE555, live555, [
+    VLC_ADD_PLUGIN([live555])
+    VLC_ADD_CXXFLAGS([live555], [$LIVE555_CFLAGS])
+    VLC_ADD_LIBS([live555],[$LIVE555_LIBS])
   ], [
-    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"
+    AC_MSG_WARN([${LIVE555_PKG_ERRORS}.])
+
+    AC_LANG_PUSH(C++)
+    VLC_SAVE_FLAGS
+
+    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"
     ], [
-      LIVE555_PREFIX=${LIVE555_PREFIX-"/usr/lib/live"}
-      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"
+      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"
+      ], [
+        LIVE555_PREFIX=${LIVE555_PREFIX-"/usr/lib/live"}
+        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"
+      ])
     ])
-  ])
 
-  dnl CPP Flags
-  AS_IF([test "${SYS}" = "solaris"], [
-    CPPFLAGS_live555="${CPPFLAGS_live555} -DSOLARIS"
-  ])
-  CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_live555}"
-  LDFLAGS="${LDFLAGS} ${LDFLAGS_live555}"
+    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([
+    dnl version check
+    AC_CACHE_CHECK([for live555 version 1324598400 or later], [ac_cv_live555], [
+      AC_PREPROC_IFELSE([AC_LANG_PROGRAM([
 [#include <liveMedia_version.hh>
 #if !defined (LIVEMEDIA_LIBRARY_VERSION_INT) || (LIVEMEDIA_LIBRARY_VERSION_INT < 1324598400)
 # error BOOM
 #endif]])
-    ], [
-      ac_cv_live555="yes"
-    ], [
-      ac_cv_live555="no"
+      ], [
+        ac_cv_live555="yes"
+      ], [
+        ac_cv_live555="no"
+      ])
     ])
-  ])
 
-  AS_IF([test "$ac_cv_live555" = "no"], [
-    AC_MSG_WARN([liveMedia is missing or its installed version is too old:
+    AS_IF([test "$ac_cv_live555" = "no"], [
+      AC_MSG_WARN([live555 is missing or its installed version is too old:
 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.])
-    ])
-  ], [
-    other_libs="-lgroupsock -lBasicUsageEnvironment -lUsageEnvironment"
-    other_libs_pic="-lgroupsock_pic -lBasicUsageEnvironment_pic -lUsageEnvironment_pic"
-    AS_IF([test "${SYS}" = "mingw32"], [
-      # add ws2_32 for closesocket, select, recv
-      other_libs="$other_libs -lws2_32"
-    ])
+      AS_IF([test -n "${enable_live555}"], [
+        AC_MSG_ERROR([Update live555 or pass --disable-live555 to disable RTSP input support.])
+      ])
+    ], [
+      other_libs="-lgroupsock -lBasicUsageEnvironment -lUsageEnvironment"
+      other_libs_pic="-lgroupsock_pic -lBasicUsageEnvironment_pic -lUsageEnvironment_pic"
+      AS_IF([test "${SYS}" = "mingw32"], [
+        # add ws2_32 for closesocket, select, recv
+        other_libs="$other_libs -lws2_32"
+      ])
 
-    dnl We need to check for pic because live555 don't provide shared libs
-    dnl and we want to build a plugins so we need -fPIC on some arch.
-    VLC_ADD_CXXFLAGS([live555], [${CPPFLAGS_live555}])
-    VLC_ADD_LDFLAGS([live555], [${LDFLAGS_live555}])
-    AC_CHECK_LIB(liveMedia_pic, main, [
-      VLC_ADD_PLUGIN([live555])
-      VLC_ADD_LIBS([live555], [-lliveMedia_pic ${other_libs_pic}])
-    ],[
-      AC_CHECK_LIB(liveMedia, main, [
+      dnl We need to check for pic because live555 don't provide shared libs
+      dnl and we want to build a plugins so we need -fPIC on some arch.
+      VLC_ADD_CXXFLAGS([live555], [${CPPFLAGS_live555}])
+      VLC_ADD_LDFLAGS([live555], [${LDFLAGS_live555}])
+      AC_CHECK_LIB(liveMedia_pic, main, [
         VLC_ADD_PLUGIN([live555])
-        VLC_ADD_LIBS([live555], [-lliveMedia ${other_libs}])
-      ],[],[${other_libs}])],[${other_libs_pic}])
+        VLC_ADD_LIBS([live555], [-lliveMedia_pic ${other_libs_pic}])
+      ],[
+        AC_CHECK_LIB(liveMedia, main, [
+          VLC_ADD_PLUGIN([live555])
+          VLC_ADD_LIBS([live555], [-lliveMedia ${other_libs}])
+        ],[],[${other_libs}])
+      ],[${other_libs_pic}])
+    ])
+    VLC_RESTORE_FLAGS
+    AC_LANG_POP(C++)
   ])
-  VLC_RESTORE_FLAGS
-  AC_LANG_POP(C++)
 ])
 
 dnl
@@ -1731,6 +1743,7 @@ dnl
 dnl  libsmbclient plugin
 dnl
 PKG_ENABLE_MODULES_VLC([SMBCLIENT], [access_smb], [smbclient], (SMB/CIFS support), [auto])
+AS_IF([test "${SYS}" = "mingw32"], [ VLC_ADD_PLUGIN([access_smb]) ])
 
 
 dnl
@@ -1903,7 +1916,7 @@ dnl
 AC_ARG_ENABLE(realrtsp,
   [  --enable-realrtsp       Real RTSP module (default disabled)])
 if test "${enable_realrtsp}" = "yes"; then
-  VLC_ADD_PLUGIN([realrtsp])
+  VLC_ADD_PLUGIN([access_realrtsp])
 fi
 
 dnl
@@ -1943,7 +1956,6 @@ then
   LIBS="${SAVED_LIBS}"
   if test "${have_avfoundation}" != "no"
   then
-    VLC_ADD_LIBS([macosx],[-Wl,-framework,AVFoundation])
     VLC_ADD_PLUGIN([avcapture])
   fi
 fi
@@ -2751,9 +2763,9 @@ AC_ARG_WITH(x26410b-tree,
   else
     PKG_CHECK_MODULES(X26410B, x26410b, [
         VLC_ADD_PLUGIN([x26410b])
-        VLC_ADD_LDFLAGS([x26410b],[${X26410B_LIBS}])
+        VLC_ADD_LIBS([x26410b],[${X26410B_LIBS}])
         AS_IF([test "${ac_cv_ld_bsymbolic}" != "no"], [
-          VLC_ADD_LIBS([x26410b],[-Wl,-Bsymbolic])
+          VLC_ADD_LDFLAGS([x26410b],[-Wl,-Bsymbolic])
         ])
         VLC_ADD_CFLAGS([x26410b],[${X26410B_CFLAGS}])
         if echo ${X26410B_LIBS} |grep -q 'pthreadGC2'; then
@@ -2809,10 +2821,10 @@ if test "${enable_x264}" != "no"; then
   else
       PKG_CHECK_MODULES(X264,x264 >= 0.86, [
         VLC_ADD_PLUGIN([x264])
-        VLC_ADD_LDFLAGS([x264],[${X264_LIBS}])
+        VLC_ADD_LIBS([x264],[${X264_LIBS}])
 
         AS_IF([test "${ac_cv_ld_bsymbolic}" != "no"], [
-          VLC_ADD_LIBS([x264],[-Wl,-Bsymbolic])
+          VLC_ADD_LDFLAGS([x264],[-Wl,-Bsymbolic])
         ])
 
         VLC_ADD_CFLAGS([x264],[${X264_CFLAGS}])
@@ -2827,6 +2839,11 @@ if test "${enable_x264}" != "no"; then
   fi
 fi
 
+dnl
+dnl Intel QuickSync (aka MediaSDK) H264/H262 encoder
+dnl
+PKG_ENABLE_MODULES_VLC([QUICKSYNC], [qsv], [libmfx], [Intel QuickSync MPEG4-Part10/MPEG2 (aka H.264/H.262) encoder], [auto])
+
 dnl
 dnl libfluidsynth (MIDI synthetizer) plugin
 dnl
@@ -3022,31 +3039,30 @@ AM_CONDITIONAL([HAVE_XCB], [test "${have_xcb}" = "yes"])
 
 
 dnl
-dnl VDPAU needs X11 and avcodec
+dnl VDPAU needs X11
 dnl
 AC_ARG_ENABLE(vdpau,
-  [AS_HELP_STRING([--enable-vdpau],
-    [VDPAU hardware decoder support (default auto)])])
+  [AS_HELP_STRING([--enable-vdpau], [VDPAU hardware support (default auto)])])
 have_vdpau="no"
-AS_IF([test "${enable_vdpau}" != "no" -a "${have_avcodec}" = "yes"], [
+AS_IF([test "${enable_vdpau}" != "no"], [
   PKG_CHECK_MODULES([VDPAU], [vdpau], [
     have_vdpau="yes"
     AS_IF([test "${no_x}" = "yes"], [
       AC_MSG_ERROR([VDPAU requires Xlib (X11).])
     ])
-    AC_MSG_NOTICE([VDPAU acceleration activated])
   ], [
     AS_IF([test -n "${enable_vdpau}"], [
       AC_MSG_ERROR([${VDPAU_PKG_ERRORS}.])
     ])
   ])
 ])
-dnl AM_CONDITIONAL([HAVE_VDPAU], [test "${have_vdpau}" = "yes"])
+AM_CONDITIONAL([HAVE_VDPAU], [test "${have_vdpau}" = "yes"])
 
 have_avcodec_vdpau="no"
-AS_IF([test "${have_vdpau}" = "yes"], [
+AS_IF([test "${have_vdpau}" = "yes" -a "${have_avcodec}" = "yes"], [
   PKG_CHECK_EXISTS([libavutil >= 0.52.4 libavcodec >= 54.36.0], [
     have_avcodec_vdpau="yes"
+    AC_MSG_NOTICE([VDPAU decoding acceleration activated])
   ], [
     AS_IF([test -n "${enable_vdpau}"], [
       AC_MSG_ERROR([libavutil >= 0.52.4 and libavcodec >= 54.36.0 are required for VDPAU decoding.])
@@ -3205,7 +3221,7 @@ AC_ARG_ENABLE(android-surface,
 if test "${enable_android_surface}" = "yes"; then
   if test "${HAVE_ANDROID}" = "1"; then
      VLC_ADD_PLUGIN([android_surface])
-     VLC_ADD_LDFLAGS([android_surface], [-ldl])
+     VLC_ADD_LIBS([android_surface], [-ldl])
   fi
 fi
 
@@ -3679,8 +3695,6 @@ AS_IF([test "${enable_qt}" != "no"], [
 ])
 AS_IF([test "${enable_qt}" != "no"], [
   VLC_ADD_PLUGIN([qt4])
-  VLC_ADD_LIBS([qt4],[${QT_LIBS}])
-  VLC_ADD_CXXFLAGS([qt4],[${QT_CFLAGS}])
   ALIASES="${ALIASES} qvlc"
 
   AC_LANG_PUSH([C++])
@@ -3695,8 +3709,6 @@ AS_IF([test "${enable_qt}" != "no"], [
 #endif
   ])], [
     AC_MSG_RESULT([yes])
-    VLC_ADD_LIBS([qt4],[${X_LIBS} ${X_PRE_LIBS} -lX11])
-    VLC_ADD_CXXFLAGS([qt4],[${X_CFLAGS}])
   ], [
     AC_MSG_RESULT([no])
   ])
@@ -3704,13 +3716,6 @@ AS_IF([test "${enable_qt}" != "no"], [
   VLC_RESTORE_FLAGS
   AC_LANG_POP([C++])
 
-  AS_IF([test "${SYS}" = "mingw32"], [
-      VLC_ADD_LIBS([qt4],[-lole32])
-  ])
-  AS_IF([test "${SYS}" = "darwin" ],[
-       VLC_ADD_LIBS([qt4], [-Wl,-framework,Cocoa])
-  ])
-
   QT_PATH="$(eval $PKG_CONFIG --variable=exec_prefix QtCore)"
   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])
@@ -3746,6 +3751,9 @@ AS_IF([test "${enable_skins2}" != "no"], [
   ], [test "${SYS}" = "darwin"], [
     VLC_ADD_CPPFLAGS([skins2],[ -DMACOSX_SKINS])
     VLC_ADD_LIBS([skins2],[-Wl,-framework,Carbon])
+  dnl OS/2
+  ], [test "${SYS}" = "os2"], [
+    VLC_ADD_CPPFLAGS([skins2],[ -DOS2_SKINS])
   dnl Linux/Unix
   ], [
     PKG_CHECK_MODULES([XPM], [xpm],, [have_skins_deps="no"])
@@ -4205,6 +4213,7 @@ AC_CONFIG_FILES([
   modules/sse2/Makefile
   modules/altivec/Makefile
   modules/arm_neon/Makefile
+  modules/hw/vdpau/Makefile
 ])
 
 AM_COND_IF([HAVE_WIN32], [