]> git.sesse.net Git - vlc/blobdiff - configure.ac
Update the lua README.
[vlc] / configure.ac
index 1e70c1bececf15e3a097c23c17efc534326bc901..f077c7b4f2a77c0e790b40080ffd59279ac40158 100644 (file)
@@ -14,7 +14,6 @@ CONFIGURE_LINE="`echo "$0 $ac_configure_args" | sed -e 's/\\\/\\\\\\\/g'`"
 CODENAME="Twoflower"
 COPYRIGHT_YEARS="1996-2010"
 
-AC_PREREQ(2.59c)
 AC_CONFIG_SRCDIR(src/libvlc.c)
 AC_CONFIG_AUX_DIR(autotools)
 AC_CONFIG_MACRO_DIR(m4)
@@ -23,17 +22,11 @@ AC_CANONICAL_BUILD
 AC_CANONICAL_HOST
 AC_PRESERVE_HELP_ORDER
 
-AM_INIT_AUTOMAKE(tar-ustar)
+AM_INIT_AUTOMAKE(tar-ustar color-tests)
 AM_CONFIG_HEADER(config.h)
 
 # Disable with "./configure --disable-silent-rules" or "make V=1"
-m4_ifdef([AM_SILENT_RULES], [
-  AM_SILENT_RULES([yes])
-], [
-  AM_DEFAULT_VERBOSITY=1
-  AC_SUBST(AM_DEFAULT_VERBOSITY)
-])
-
+AM_SILENT_RULES([yes])
 
 dnl Too many people are not aware of maintainer mode:
 dnl If you want to use it, you definitely know what you are doing, so
@@ -243,8 +236,6 @@ case "${host_os}" in
         build_dir=`pwd`
         echo "  Assuming --prefix=${build_dir}/vlc_install_dir"
         ac_default_prefix="${build_dir}/vlc_install_dir"
-        enable_macosx="yes"
-        echo "  Assuming --enable-macosx"
         enable_faad="yes"
         echo "  Assuming --enable-faad"
         enable_flac="yes"
@@ -435,7 +426,7 @@ AS_IF([test "${enable_shared}" = "no"], [
 dnl
 dnl Gettext stuff
 dnl
-AM_GNU_GETTEXT_VERSION([0.17])
+AM_GNU_GETTEXT_VERSION([0.18.1])
 AM_GNU_GETTEXT([external])
 VLC_ADD_LIBS([libvlccore vlc], [${LTLIBINTL}])
 
@@ -809,13 +800,17 @@ AC_EGREP_HEADER(strncasecmp,strings.h,[
 
 dnl Check for headers
 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 sys/mount.h)
+AC_CHECK_HEADERS(fcntl.h sys/time.h sys/ioctl.h sys/stat.h)
 AC_CHECK_HEADERS([arpa/inet.h netinet/in.h netinet/udplite.h sys/eventfd.h])
 AC_CHECK_HEADERS([net/if.h], [], [],
   [
     #include <sys/types.h>
     #include <sys/socket.h>
   ])
+AC_CHECK_HEADERS([sys/mount.h], [], [],
+  [
+    #include <sys/param.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])
@@ -836,11 +831,6 @@ then
 fi
 ])
 
-dnl Check for dirent
-need_dirent=false
-AC_CHECK_HEADERS(dirent.h,,[need_dirent=:])
-AM_CONDITIONAL(BUILD_DIRENT, ${need_dirent})
-
 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)
@@ -910,6 +900,19 @@ fi
 AM_CONDITIONAL(HAVE_MINIZIP, [ test "${have_minizip}" = "yes" ])
 
 
+dnl Manual switch for UTF-8
+AC_ARG_ENABLE(non-utf8,
+  [  --enable-non-utf8       Legacy non-UTF-8 systems support (default disabled)],, [
+  AS_IF([test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"], [
+    enable_non_utf8="no"
+  ])
+])
+AS_IF([test "${enable_non_utf8}" != "no"], [
+  AC_DEFINE([ASSUME_UTF8], [1],
+            [Define to 1 if the operating system uses UTF-8 internally])
+])
+
+
 dnl Check for dbus
 AC_ARG_ENABLE(dbus,
   [  --enable-dbus           Linux D-BUS message bus system (default enabled)])
@@ -1696,7 +1699,11 @@ AC_ARG_ENABLE(taglib,
     PKG_CHECK_MODULES(TAGLIB, taglib >= 1.5,
       [ VLC_ADD_PLUGIN([taglib])
         VLC_ADD_LIBS([taglib],[$TAGLIB_LIBS -lz])
-       VLC_ADD_CXXFLAGS([taglib],[$TAGLIB_CFLAGS]) ],
+        VLC_ADD_CXXFLAGS([taglib],[$TAGLIB_CFLAGS])
+        AC_LANG_PUSH(C++)
+        AC_CHECK_HEADERS(taglib/mp4coverart.h)
+        AC_LANG_POP(C++)
+      ],
       [AC_MSG_WARN(TagLib library not found)])
   ])
 
@@ -1937,6 +1944,9 @@ then
     AC_CHECK_LIB(dvdnav, dvdnav_get_video_resolution,
                AC_DEFINE(HAVE_DVDNAV_GET_VIDEO_RESOLUTION, 1, [Define if you have dvdnav_get_video_resolution.]),
                [], [${LIBS_dvdnav}])
+    AC_CHECK_LIB(dvdnav, dvdnav_describe_title_chapters,
+               AC_DEFINE(HAVE_DVDNAV_DESCRIBE_TITLE_CHAPTERS, 1, [Define if you have dvdnav_describe_title_chapters.]),
+               [], [${LIBS_dvdnav}])
   fi
 fi
 
@@ -2116,42 +2126,6 @@ then
 
 fi
 
-dnl
-dnl  Video4Linux plugin
-dnl
-AC_ARG_ENABLE(v4l,
-  [  --enable-v4l            Video4Linux input support (default disabled)])
-if test "${enable_v4l}" = "yes"
-then
-  AC_ARG_WITH(v4l,
-    [  --with-v4l=PATH         path to a v4l-enabled kernel tree],[],[])
-  if test "${with_v4l}" != "no" -a -n "${with_v4l}"
-  then
-    VLC_ADD_CPPFLAGS([v4l],[-I${with_v4l}/include])
-  fi
-
-  CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_v4l}"
-  AC_CHECK_HEADERS(linux/videodev.h, [
-    VLC_ADD_PLUGIN([v4l])
-  ],[])
-  CPPFLAGS="${CPPFLAGS_save}"
-fi
-
-dnl
-dnl libv4l1 support for video4linux.
-dnl
-AC_ARG_ENABLE( libv4l,
-  [  --enable-libv4l         Libv4l Video4Linux support (default enabled)])
-if test "${enable_libv4l}" != "no" -a "${enable_v4l}" != "no"
-then
-    PKG_CHECK_MODULES( LIBV4L, libv4l1, [
-      VLC_ADD_LDFLAGS([v4l],[${LIBV4L_LIBS}])
-      VLC_ADD_CFLAGS([v4l],[${LIBV4L_CFLAGS}])
-      AC_DEFINE(HAVE_LIBV4L1, 1, Define if libv4l is available)],
-      AC_MSG_WARN([LibV4L support disabled because libv4l development headers were not found])
-    )
-fi
-
 dnl
 dnl  Video4Linux2 plugin
 dnl
@@ -2443,45 +2417,17 @@ dnl
 dnl  modplug demux plugin
 dnl
 AC_ARG_ENABLE(mod,
-  [  --enable-mod            Mod demux support (default enabled)])
-if test "${enable_mod}" != "no"
-then
-  AC_ARG_WITH(mod-tree,
-  [  --with-mod-tree=PATH    mod tree for static linking])
-  if test -n "${with_mod_tree}"
-  then
-    AC_MSG_CHECKING(for libmodplug.a in ${with_mod_tree})
-    real_mod_tree="`cd ${with_mod_tree} 2>/dev/null && pwd`"
-    if test -z "${real_mod_tree}"
-    then
-      dnl  The given directory can't be found
-      AC_MSG_RESULT(no)
-      AC_MSG_ERROR([cannot cd to ${with_mod_tree}])
-    fi
-    if test -f "${real_mod_tree}/src/.libs/libmodplug.a"
-    then
-      dnl  Use a custom mod
-      AC_MSG_RESULT(${real_mod_tree}/src/.libs/libmodplug.a)
-      VLC_ADD_PLUGIN([mod])
-      VLC_ADD_LIBS([mod],[${real_mod_tree}/src/.libs/libmodplug.a -lstdc++])
-      VLC_ADD_CXXFLAGS([mod],[-I${real_mod_tree}/include])
-    else
-      dnl  The given mod wasn't built
-      AC_MSG_RESULT(no)
-      AC_MSG_ERROR([cannot find ${real_mod_tree}/src/.libs/libmodplug.a, make sure you compiled mod in ${with_mod_tree}])
-    fi
-  else
-    PKG_CHECK_MODULES(LIBMODPLUG, [libmodplug >= 0.8], [
-      PKG_CHECK_MODULES(WORKING_LIBMODPLUG, [libmodplug != 0.8.8],, [
-        AC_MSG_ERROR([libmodplug version 0.8.8 will not work. Please upgrade to 0.8.8.1 or later (or downgrade to 0.8.7)!])
-      ])
-      VLC_ADD_PLUGIN([mod])
-      VLC_ADD_CXXFLAGS([mod],[$LIBMODPLUG_CFLAGS])
-      VLC_ADD_LIBS([mod],[$LIBMODPLUG_LIBS])
-    ], [
-      AC_MSG_WARN([libmodplug not found!])
+  [  --enable-mod            Mod demux support (default auto)])
+if test "${enable_mod}" != "no" ; then
+    PKG_CHECK_MODULES(LIBMODPLUG, [libmodplug >= 0.8.4 libmodplug != 0.8.8], [
+          VLC_ADD_PLUGIN([mod])
+          VLC_ADD_CXXFLAGS([mod],[$LIBMODPLUG_CFLAGS])
+          VLC_ADD_LIBS([mod],[$LIBMODPLUG_LIBS])
+    ],[
+       AS_IF([test x"${enable_mod}" = "xyes"],
+         [AC_MSG_ERROR(libmodplug not found or a broken version (0.8.8.0) was found!)],
+         [AC_MSG_WARN(libmodplug not found or a broken version (0.8.8.0) was found!)])
     ])
-  fi
 fi
 
 dnl
@@ -2632,19 +2578,6 @@ then
   fi
 fi
 
-dnl
-dnl   libid3tag support (FIXME!!! doesn't work with new input)
-dnl
-AC_ARG_ENABLE( id3tag,
-[  --disable-id3tag        id3tag metadata reader plugin (default disabled)])
-AS_IF([test "${enable_id3tag}" = "yes"], [
-  AC_CHECK_HEADERS(id3tag.h, [
-      AS_IF([test "${have_zlib}" = "yes"],[
-          VLC_ADD_LIBS([id3tag],[-lid3tag -lz])
-          VLC_ADD_PLUGIN([id3tag])
-       ])
-    ])
-])
 
 AC_ARG_ENABLE(merge-ffmpeg,
 [  --enable-merge-ffmpeg   merge FFmpeg-based plugins (default disabled)],, [
@@ -2657,9 +2590,8 @@ dnl  avcodec decoder/encoder plugin
 dnl
 AC_ARG_ENABLE(avcodec,
 [  --enable-avcodec        libavcodec codec (default enabled)])
-if test "${enable_avcodec}" != "no"
-then
-  PKG_CHECK_MODULES(AVCODEC,[libavcodec >= 52.2.0 libavutil],
+AS_IF([test "${enable_avcodec}" != "no"], [
+  PKG_CHECK_MODULES(AVCODEC,[libavcodec >= 52.25.0 libavutil],
     [
       VLC_SAVE_FLAGS
       CPPFLAGS="${CPPFLAGS} ${AVCODEC_CFLAGS}"
@@ -2674,7 +2606,9 @@ then
     ],[
       AC_MSG_ERROR([Could not find libavcodec or libavutil. Use --disable-avcodec to ignore this error.])
   ])
-fi
+], [
+  have_avcodec="no"
+])
 
 dnl
 dnl libva needs avcodec
@@ -2690,8 +2624,8 @@ AS_IF([test "${enable_libva}" != "no"], [
         CPPFLAGS="${CPPFLAGS} ${AVCODEC_CFLAGS}"
         CFLAGS="${CFLAGS} ${AVCODEC_CFLAGS}"
         AC_CHECK_HEADERS(libavcodec/vaapi.h, [
-           VLC_ADD_LIBS([avcodec],[$LIBVA_LIBS])
-           VLC_ADD_CFLAGS([avcodec],[$LIBVA_CFLAGS])
+           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.])
            echo "VAAPI acceleration activated"
         ],[
@@ -2766,10 +2700,12 @@ dnl  avformat demuxer/muxer plugin
 dnl
 
 AC_ARG_ENABLE(avformat,
-[  --enable-avformat       libavformat containers (default enabled)])
+[  --enable-avformat       libavformat containers (default enabled)],, [
+  enable_avformat="${have_avcodec}"
+])
 if test "${enable_avformat}" != "no"
 then
-  PKG_CHECK_MODULES(AVFORMAT,[libavformat libavutil],
+  PKG_CHECK_MODULES(AVFORMAT,[libavformat > 52.30.0 libavcodec libavutil],
     [
       VLC_SAVE_FLAGS
       CPPFLAGS="${CPPFLAGS} ${AVFORMAT_CFLAGS}"
@@ -3314,7 +3250,7 @@ AS_IF([test "${enable_xcb}" != "no"], [
   dnl libxcb
   PKG_CHECK_MODULES(XCB, [xcb])
   PKG_CHECK_MODULES(XCB_SHM, [xcb-shm])
-  VLC_ADD_PLUGIN([screensaver xcb_x11 xcb_screen xcb_apps])
+  VLC_ADD_PLUGIN([screensaver xcb_x11 xcb_window xcb_screen xcb_apps])
 
   AS_IF([test "${enable_xvideo}" != "no"], [
     PKG_CHECK_MODULES(XCB_XV, [xcb-xv >= 1.1.90.1], [
@@ -3343,14 +3279,16 @@ AS_IF([test "${enable_xcb}" != "no"], [
     ], [
       have_xcb_keysyms="no"
       need_xid_provider="yes"
+      AC_MSG_WARN([libxcb-keysyms not found. Hotkeys will not be supported.])
     ])
   ])
 
   AS_IF([test "${have_xcb_keysyms}" = "yes"], [
     PKG_CHECK_MODULES(XPROTO, [xproto])
-    VLC_ADD_PLUGIN([xcb_window globalhotkeys])
+    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])
   ])
   VLC_ADD_PLUGIN([xdg_screensaver])
 ])
@@ -3388,6 +3326,9 @@ then
       if test "${SYS}" != "darwin"; then
         VLC_ADD_PLUGIN([vout_sdl aout_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}])
 
@@ -3508,6 +3449,23 @@ then
   fi
 fi
 
+dnl
+dnl  Windows Direct2D plugin
+dnl
+AC_ARG_ENABLE(direct2d,
+  [  --enable-direct2d         Win7/VistaPU Direct2D support (default auto on Win32)])
+if test "${enable_direct2d}" != "no"; then
+  if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"
+  then
+    AC_CHECK_HEADERS(d2d1.h,
+      [
+        VLC_ADD_PLUGIN([direct2d])
+        VLC_ADD_LIBS([direct2d],[-lgdi32 -lole32])
+      ], [AC_MSG_WARN([Cannot find Direct2D headers!])]
+    )
+  fi
+fi
+
 dnl
 dnl  win32 GDI plugin
 dnl
@@ -3618,6 +3576,9 @@ then
   then
     VLC_ADD_PLUGIN([aa])
     VLC_ADD_LIBS([aa],[-laa])
+    if test "${SYS}" != "mingw32"; then
+      VLC_ADD_LIBS([aa],[${X_LIBS} ${X_PRE_LIBS} -lX11])
+    fi
   fi
 fi
 
@@ -3636,7 +3597,7 @@ dnl
 dnl  OSS /dev/dsp module (enabled by default except on win32)
 dnl
 AC_ARG_ENABLE(oss,
-  [  --enable-oss            Linux OSS /dev/dsp support (enabled on Linux)])
+  [  --enable-oss            Open Sound System OSS support (default enabled)])
 
 if test "${enable_oss}" != "no" &&
   (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
@@ -3669,7 +3630,19 @@ PKG_ENABLE_MODULES_VLC([PORTAUDIO], [], [portaudio-2.0], [Portaudio library supp
 dnl
 dnl  ALSA module
 dnl
-PKG_ENABLE_MODULES_VLC([ALSA], [alsa access_alsa], [alsa >= 1.0.0], [Alsa sound support for linux], [auto])
+AC_ARG_ENABLE(alsa,
+  [  --enable-alsa           Advanced Linux Sound Architecture (default auto)])
+have_alsa="no"
+AS_IF([test "${enable_alsa}" != "no"], [
+  PKG_CHECK_MODULES([ALSA], [alsa >= 1.0.0], [
+    have_alsa="yes"
+  ], [
+    AS_IF([test "x${enable_alsa}" != "x"], [
+      AC_MSG_ERROR([alsa-lib not found])
+    ])
+  ])
+])
+AM_CONDITIONAL([HAVE_ALSA], [test "${have_alsa}" = "yes"])
 
 dnl
 dnl  win32 waveOut plugin
@@ -3891,14 +3864,34 @@ AC_ARG_ENABLE(qt4,
 AS_IF([test "${enable_qt4}" != "no"], [
   PKG_CHECK_MODULES(QT4, [QtCore QtGui >= 4.4.0], [
     VLC_ADD_PLUGIN([qt4])
+    VLC_ADD_LIBS([qt4],[${QT4_LIBS}])
+    VLC_ADD_CXXFLAGS([qt4],[${QT4_CFLAGS}])
     ALIASES="${ALIASES} qvlc"
-    AS_IF([test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" -a "${SYS}" != "darwin"], [
-        VLC_ADD_LIBS([qt4],[$QT4_LIBS ${X_LIBS} ${X_PRE_LIBS} -lX11])
-        need_xid_provider="no"
-        VLC_ADD_CXXFLAGS([qt4],[$QT4_CFLAGS ${X_CFLAGS}])
+
+    AC_LANG_PUSH([C++])
+    CPPFLAGS_save="${CPPFLAGS}"
+
+    AC_MSG_CHECKING([whether Qt uses X11])
+    CPPFLAGS="${CPPFLAGS} ${QT4_CFLAGS}"
+    AC_PREPROC_IFELSE([
+#include <QWidget>
+#if !defined (Q_WS_X11)
+# error Fail
+#endif
+    ], [
+      AC_MSG_RESULT([yes])
+      VLC_ADD_LIBS([qt4],[${X_LIBS} ${X_PRE_LIBS} -lX11])
+      need_xid_provider="no"
+      VLC_ADD_CXXFLAGS([qt4],[${X_CFLAGS}])
     ], [
-        VLC_ADD_LIBS([qt4],[$QT4_LIBS -lole32])
-        VLC_ADD_CXXFLAGS([qt4],[$QT4_CFLAGS])
+      AC_MSG_RESULT([no])
+    ])
+
+    CPPFLAGS="${CPPFLAGS_save}"
+    AC_LANG_POP([C++])
+
+    AS_IF([test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"], [
+        VLC_ADD_LIBS([qt4],[-lole32])
     ])
     AC_PATH_PROGS(MOC, [moc-qt4 moc], moc,`eval $PKG_CONFIG --variable=exec_prefix QtCore`/bin)
     AC_PATH_PROG(RCC, rcc, rcc,`eval $PKG_CONFIG --variable=exec_prefix QtCore`/bin)
@@ -4691,17 +4684,9 @@ dnl Create vlc-config.in
 VLC_OUTPUT_VLC_CONFIG_IN
 
 AC_CONFIG_FILES([
-  extras/package/win32/spad.nsi
-  extras/package/win32/vlc.win32.nsi
-  extras/package/macosx/Info.plist
-  extras/package/macosx/Resources/English.lproj/InfoPlist.strings
-  extras/package/macosx/plugin/Info.plist
-  extras/package/macosx/plugin/InstallerInfo.plist
   Makefile
   projects/activex/Makefile
-  projects/activex/axvlc.inf
   doc/Makefile
-  extras/package/ipkg/Makefile
   libs/loader/Makefile
   libs/srtp/Makefile
   libs/unzip/Makefile
@@ -4709,12 +4694,6 @@ AC_CONFIG_FILES([
   projects/mozilla/Makefile
   m4/Makefile
   po/Makefile.in
-  projects/activex/axvlc_rc.rc
-  projects/mozilla/npvlc_rc.rc
-  projects/mozilla/vlc.r
-  projects/mozilla/install.js
-  projects/mozilla/install.rdf
-  projects/mozilla/manifest.json
   share/Makefile
   compat/Makefile
   src/Makefile
@@ -4799,6 +4778,46 @@ AC_CONFIG_FILES([
   modules/arm_neon/Makefile
 ])
 
+AM_COND_IF([BUILD_MOZILLA], [
+  AC_CONFIG_FILES([
+    projects/mozilla/install.js
+    projects/mozilla/install.rdf
+    projects/mozilla/manifest.json
+  ])
+])
+
+AM_COND_IF([HAVE_WIN32], [
+  AC_CONFIG_FILES([
+    extras/package/win32/spad.nsi
+    extras/package/win32/vlc.win32.nsi
+  ])
+  AM_COND_IF([BUILD_ACTIVEX], [
+    AC_CONFIG_FILES([
+      projects/activex/axvlc.inf
+      projects/activex/axvlc_rc.rc
+    ])
+  ])
+  AM_COND_IF([BUILD_MOZILLA], [
+    AC_CONFIG_FILES([
+      projects/mozilla/npvlc_rc.rc
+    ])
+  ])
+])
+
+AM_COND_IF([HAVE_DARWIN], [
+  AC_CONFIG_FILES([
+    extras/package/macosx/Info.plist
+    extras/package/macosx/Resources/English.lproj/InfoPlist.strings
+    extras/package/macosx/plugin/Info.plist
+    extras/package/macosx/plugin/InstallerInfo.plist
+  ])
+  AM_COND_IF([BUILD_MOZILLA], [
+    AC_CONFIG_FILES([
+      projects/mozilla/vlc.r
+    ])
+  ])
+])
+
 dnl Generate makefiles
 AC_OUTPUT