]> git.sesse.net Git - vlc/blobdiff - configure.ac
Provide replacement for CMSG_LEN and CMSG_SPACE
[vlc] / configure.ac
index 67a13eee87eaffba3c584d299566b886c22d0899..a8e6807cda996fbf0f943f560191035a3e48bb00 100644 (file)
@@ -568,7 +568,7 @@ AC_CACHE_CHECK([for struct sockaddr_storage], ac_cv_struct_sockaddr_storage,
   [AC_TRY_COMPILE(
     [#include <sys/types.h>
      #if defined( UNDER_CE )
-     # include <winsock.h>
+     # include <winsock2.h>
      #elif defined( WIN32 )
      # include <winsock2.h>
      #else
@@ -1026,7 +1026,12 @@ AC_CACHE_CHECK([if \$CC accepts -fomit-frame-pointer],
     [CFLAGS="${CFLAGS_save} -fomit-frame-pointer"
      AC_TRY_COMPILE([],,ac_cv_c_omit_frame_pointer=yes, ac_cv_c_omit_frame_pointer=no)])
 if test "${ac_cv_c_omit_frame_pointer}" != "no"; then
+ if test "${SYS}" != "darwin"; then
     CFLAGS_OPTIM_NODEBUG="${CFLAGS_OPTIM_NODEBUG} -fomit-frame-pointer"
+ else
+    dnl On darwin we explicitely disable it.
+    CFLAGS_OPTIM_NODEBUG="${CFLAGS_OPTIM_NODEBUG} -fno-omit-frame-pointer"
+ fi
 fi
 
 dnl Check for Darwin plugin linking flags
@@ -1095,6 +1100,7 @@ dnl  default modules
 dnl
 dnl Video filters:
 VLC_ADD_PLUGIN([deinterlace])
+VLC_ADD_PLUGIN([yuvp])
 VLC_ADD_PLUGIN([invert])
 VLC_ADD_PLUGIN([adjust])
 VLC_ADD_PLUGIN([transform])
@@ -1524,6 +1530,16 @@ AH_TEMPLATE(NDEBUG,
             [Define to 1 if debug code should NOT be compiled])
 AS_IF([test "x${enable_debug}" = "xno"], [AC_DEFINE(NDEBUG)])
 
+dnl
+dnl Allow runing as root (usefull for people runing on embedded platforms)
+dnl
+AC_ARG_ENABLE(run-as-root,
+[  --enable-run-as-root    allow runing VLC as root (default disabled)])
+AS_IF([test "${enable_run_as_root}" == "yes"],[
+    AC_DEFINE(ALLOW_RUN_AS_ROOT, 1,
+              [Define to 1 to allow runing VLC as root (uid 0).])
+])
+
 dnl
 dnl  Test coverage
 dnl
@@ -1695,20 +1711,6 @@ AS_IF([test "${enable_audioscrobbler}" != "no"], [
         VLC_ADD_PLUGIN([audioscrobbler])
   ])
 
-dnl
-dnl Musicbrainz plugin
-dnl
-AC_ARG_ENABLE(musicbrainz,
-  [  --enable-musicbrainz    MusicBrainz support (default disabled) ])
-  AS_IF([test "${enable_musicbrainz}" = "yes"],[
-      PKG_CHECK_MODULES(MUSICBRAINZ, libmusicbrainz,
-    [ VLC_ADD_PLUGIN([musicbrainz])
-      VLC_ADD_LIBS([musicbrainz],[$MUSICBRAINZ_LIBS])
-      VLC_ADD_CFLAGS([musicbrainz],[$MUSICBRAINZ_CFLAGS])  ],
-       [AC_MSG_WARN(MusicBrainz library not found)])
-   ])
-
-
 dnl
 dnl Taglibplugin
 dnl
@@ -1799,6 +1801,8 @@ lternatively you can use --disable-live555 to disable the liveMedia plugin.])
           VLC_ADD_PLUGIN([live555])
           VLC_ADD_LIBS([live555], [-lliveMedia ${other_libs}])
         ],[],[${other_libs}]) ],[${other_libs_pic}])
+    ],[
+       AC_MSG_WARN([The development files for liveMedia (live555) can't be found])
     ])
     CPPFLAGS="${CPPFLAGS_save}"
     AC_LANG_POP(C++)
@@ -2218,6 +2222,7 @@ dnl  libdvbpsi ts demux/mux
 dnl
 AC_ARG_ENABLE(dvbpsi,
   [  --enable-dvbpsi         dvbpsi ts mux and demux module (default enabled)])
+have_dvbpsi=no
 if test "${enable_dvbpsi}" != "no"
 then
   AC_ARG_WITH(dvbpsi,
@@ -2233,7 +2238,8 @@ then
           if test "${enable_sout}" != "no"; then
             VLC_ADD_PLUGIN([mux_ts])
           fi
-          VLC_ADD_LIBS([mux_ts ts dvb],[-ldvbpsi]) ],
+          VLC_ADD_LIBS([mux_ts ts dvb],[-ldvbpsi])
+         have_dvbpsi=yes],
         [  AC_MSG_WARN([cannot find libdvbpsi headers]) ],
         [#if defined( HAVE_STDINT_H )
 #   include <stdint.h>
@@ -2263,6 +2269,7 @@ then
         fi
         VLC_ADD_CPPFLAGS([mux_ts ts dvb],[-I${real_dvbpsi_tree}/src])
         VLC_ADD_LIBS([mux_ts ts dvb],[${real_dvbpsi_tree}/src/.libs/libdvbpsi.a])
+       have_dvbpsi=yes
       else
         dnl  The given libdvbpsi wasn't built
         AC_MSG_RESULT(no)
@@ -2291,7 +2298,7 @@ then
       fi
       VLC_ADD_CPPFLAGS([mux_ts ts dvb],[${CPPFLAGS_test}])
       VLC_ADD_LIBS([mux_ts ts dvb],[${LDFLAGS_test} -ldvbpsi])
-
+      have_dvbpsi=yes
     ],[
       if test -n "${enable_dvbpsi}"
       then
@@ -2342,7 +2349,11 @@ then
     VLC_ADD_CPPFLAGS([v4l2],[-I${with_v4l2}/include])
   fi
 
-  AC_CHECK_HEADER(alsa/asoundlib.h, AC_CHECK_LIB(asound, main, have_v4l2_alsa="true", have_v4l2_alsa="false"),have_v4l2_alsa="false")
+  if test "${enable_alsa}" != "no"
+  then
+    AC_CHECK_HEADER(alsa/asoundlib.h, AC_CHECK_LIB(asound, main, have_v4l2_alsa="true", have_v4l2_alsa="false"),have_v4l2_alsa="false")
+  fi
+
   if test "${have_v4l2_alsa}" = "true"
   then
     CFLAGS="${CFLAGS_save}"
@@ -2416,6 +2427,8 @@ dnl Need to test libcdio and libvcdinfo for a number of things. Do it now.
 AC_ARG_ENABLE(libcdio,
   [  --enable-libcdio        CD input and control library support (default enabled)])
 
+AC_ARG_ENABLE(vcdinfo,
+  [  --enable-libvcdinfo     VCD information library support (default enabled)])
 
 have_libcdio=no
 have_libvcdinfo=no
@@ -2427,11 +2440,14 @@ then
      [Define if you have libcdio 0.78.2 or greater installed]),
      [AC_MSG_WARN(CD Reading and information library not found)])
 
-  PKG_CHECK_MODULES(VCDINFO, libvcdinfo >= 0.7.22,
-     [have_libvcdinfo=yes
-     AC_DEFINE(HAVE_VCDINFO, 1, 
-     [Define if you have libvcdinfo 0.7.22 or greater installed])],
-     [AC_MSG_WARN(VCD information library not found)])
+  if test "${enable_vcdinfo}" != "no"
+  then
+    PKG_CHECK_MODULES(VCDINFO, libvcdinfo >= 0.7.22,
+       [have_libvcdinfo=yes
+       AC_DEFINE(HAVE_VCDINFO, 1, 
+       [Define if you have libvcdinfo 0.7.22 or greater installed])],
+       [AC_MSG_WARN(VCD information library not found)])
+  fi
 fi
 
 dnl
@@ -2580,17 +2596,21 @@ AC_ARG_ENABLE(dvb,
 
 if test "${enable_dvb}" != "no"
 then
-  AC_ARG_WITH(dvb,
-  [    --with-dvb=PATH       path to a dvb- and v4l2-enabled kernel tree],[],[])
-  if test "${with_dvb}" != "no" -a -n "${with_dvb}"
-  then
-    VLC_ADD_CFLAGS([dvb],[-I${with_dvb}/include])
-  fi
-  CPPFLAGS="${CPPFLAGS_save} -I${with_dvb}/include"
-  AC_CHECK_HEADERS(linux/dvb/version.h linux/dvb/frontend.h, [
-  VLC_ADD_PLUGIN([dvb])
-  ],[AC_MSG_WARN(linux-dvb headers not found, dvb disabled)])
-  CPPFLAGS="${CPPFLAGS_save}"
+    AS_IF([test "${have_dvbpsi}" = "yes" ],[  
+    AC_ARG_WITH(dvb,
+     [    --with-dvb=PATH       path to a dvb- and v4l2-enabled kernel tree],[],[])
+     if test "${with_dvb}" != "no" -a -n "${with_dvb}"
+     then
+       VLC_ADD_CFLAGS([dvb],[-I${with_dvb}/include])
+     fi
+     CPPFLAGS="${CPPFLAGS_save} -I${with_dvb}/include"
+     AC_CHECK_HEADERS(linux/dvb/version.h linux/dvb/frontend.h, [
+     VLC_ADD_PLUGIN([dvb])
+     ],[AC_MSG_WARN(linux-dvb headers not found, dvb disabled)])
+     CPPFLAGS="${CPPFLAGS_save}"
+   ],[
+     AC_MSG_WARN([the dvb access module requires libdvbpsi])
+    ]) 
 fi
 
 dnl
@@ -2934,7 +2954,7 @@ then
       VLC_ADD_CFLAGS([avcodec],[$AVCODEC_CFLAGS])
       VLC_RESTORE_FLAGS
     ],[
-      AC_MSG_ERROR([Could not find libavcodec or libavutil. Use --disable-avcodec to ignore this error.])
+      AC_MSG_FAILURE([Could not find libavcodec or libavutil. Use --disable-avcodec to ignore this error.])
   ])
 fi
 
@@ -2958,7 +2978,7 @@ then
       VLC_ADD_CFLAGS([avformat],[$AVFORMAT_CFLAGS])
       VLC_RESTORE_FLAGS
     ],[
-      AC_MSG_ERROR([Could not find libavformat or libavutil. Use --disable-avformat to ignore this error.])
+      AC_MSG_FAILURE([Could not find libavformat or libavutil. Use --disable-avformat to ignore this error.])
   ])
 fi
 
@@ -3015,7 +3035,7 @@ then
           AC_MSG_WARN([Could not find img_resample in libavcodec.])
           if test "${enable_swscale}" != "no"
           then
-            AC_MSG_ERROR([swscale (and its fallback module imgresample) support will be missing. Use --disable-swscale to ignore this error. (This basically means that you will be missing any good software scaling module and some video chroma converters.)])
+            AC_MSG_FAILURE([swscale (and its fallback module imgresample) support will be missing. Use --disable-swscale to ignore this error. (This basically means that you will be missing any good software scaling module and some video chroma converters.)])
           fi
        # That sed hack to add -rpath is kind of ugly but at least it fixes
         # detection when linking against a shared libavcodec with
@@ -3197,7 +3217,7 @@ dnl
 dnl skins2 module
 dnl
 AC_ARG_ENABLE(libtar,
-  [  --enable-libtar support for skins2 (default enabled)])
+  [  --enable-libtar         libtar support for skins2 (default enabled)])
 
 AS_IF([test "${enable_libtar}" != "no"],[
   AC_CHECK_HEADERS(libtar.h, [
@@ -3574,7 +3594,7 @@ dnl
 dnl  schroedinger decoder plugin (for dirac format video)
 dnl
 AC_ARG_ENABLE(schroedinger,
-[  --disable-schroedinger   high performance dirac codec (default enabled)])
+[  --disable-schroedinger  high performance dirac codec (default enabled)])
 if test "${enable_schroedinger}" != "no"; then
   PKG_CHECK_MODULES(SCHROEDINGER,[schroedinger-1.0 >= 1.0], [
       VLC_ADD_PLUGIN([schroedinger])
@@ -3684,12 +3704,9 @@ AC_ARG_ENABLE(zvbi,
                  libzvbi (default enabled)]))
 AC_ARG_ENABLE(telx,
   AS_HELP_STRING([--enable-telx],[Teletext decoding module (conflicting with 
-                 zvbi) (default disabled)]))
+                 zvbi) (default enabled if zvbi is absent)]))
 
 AS_IF( [test "${enable_zvbi}" != "no"],[
-  AS_IF( [test "${enable_telx}" = "yes"],[
-    AC_MSG_ERROR([The zvbi and telx modules are uncompatibles. Disable the other if you enable one.])
-  ],[
     PKG_CHECK_MODULES(ZVBI,
        zvbi-0.2 >= 0.2.25,
        [
@@ -3697,13 +3714,15 @@ AS_IF( [test "${enable_zvbi}" != "no"],[
          VLC_ADD_CFLAGS([zvbi],[$ZVBI_CFLAGS])
           VLC_ADD_PLUGIN([zvbi])
          AC_DEFINE(ZVBI_COMPILED, 1, [Define if the zvbi module is built]) 
+         AS_IF( [test "${enable_telx}" = "yes"],[
+                 AC_MSG_WARN([The zvbi and telx modules are uncompatibles. 
+                              Using zvbi.])
+                 ])
        ],[
          AC_MSG_WARN(ZVBI library not found. Enabling the telx module instead)
-         enable_telx="yes"
        ])
     ])  
-  ])
-AS_IF( [test "${enable_telx}" = "yes"],[
+AS_IF( [test "${enable_telx}" != "no" ],[
   VLC_ADD_PLUGIN([telx])
   ])
 
@@ -3728,7 +3747,7 @@ dnl
 dnl libass subtitle rendering module
 dnl
 AC_ARG_ENABLE(libass,
-  [  --enable-libass           Subtitle support using libass (default disabled)])
+  [  --enable-libass         Subtitle support using libass (default disabled)])
 AS_IF( [test "${enable_libass}" = "yes"], [
   PKG_CHECK_MODULES(LIBASS, libass >= 0.9.5,
       [
@@ -4111,6 +4130,8 @@ AC_ARG_ENABLE(freetype,
   [  --enable-freetype       freetype support (default enabled)])
 AC_ARG_ENABLE(fribidi,
   [  --enable-fribidi        fribidi support (default enabled)])
+AC_ARG_ENABLE(fontconfig,
+  [  --enable-fontconfig,    fontconfig support (default enabled)])
 if test "${enable_freetype}" != "no"
 then
    PKG_CHECK_MODULES(FREETYPE, freetype2,[
@@ -4124,11 +4145,14 @@ then
       if test "${SYS}" = "mingw32"; then
         VLC_ADD_LIBS([freetype],[-liconv])
       fi
-    AC_CHECK_HEADERS(fontconfig/fontconfig.h,
-      [VLC_ADD_CPPFLAGS([freetype],[-DHAVE_FONTCONFIG])
-       VLC_ADD_LIBS([freetype],[-lfontconfig])])
-    AC_CHECK_HEADERS(Carbon/Carbon.h,
-      [VLC_ADD_LDFLAGS([freetype],[-Wl,-framework,Carbon])])
+      if test "${enable_fontconfig}" != "no"
+      then
+        AC_CHECK_HEADERS(fontconfig/fontconfig.h,
+          [VLC_ADD_CPPFLAGS([freetype],[-DHAVE_FONTCONFIG])
+           VLC_ADD_LIBS([freetype],[-lfontconfig])])
+        AC_CHECK_HEADERS(Carbon/Carbon.h,
+          [VLC_ADD_LDFLAGS([freetype],[-Wl,-framework,Carbon])])
+      fi
   ],[
   have_freetype=no
   AS_IF([ test "${enable_freetype}" =  "yes"],[
@@ -4426,15 +4450,19 @@ AC_ARG_ENABLE(ggi,
   [  --enable-ggi            GGI support (default disabled)])
 if test "${enable_ggi}" = "yes"
 then
-  VLC_ADD_PLUGIN([ggi])
-  VLC_ADD_LIBS([ggi],[-lggi])
-  AC_ARG_WITH(ggi,
-    [    --with-ggi=PATH       path to libggi],
-    [ if test "${with_ggi}" != "no" -a -n "${with_ggi}"
-      then
-        VLC_ADD_CPPFLAGS([ggi],[-I${with_ggi}/include])
-        VLC_ADD_LIBS([ggi],[-L${with_ggi}/lib])
-      fi ])
+  AC_CHECK_HEADER([ggi/ggi.h],[
+    VLC_ADD_PLUGIN([ggi])
+    VLC_ADD_LIBS([ggi],[-lggi])
+    AC_ARG_WITH(ggi,
+      [    --with-ggi=PATH       path to libggi],
+      [ if test "${with_ggi}" != "no" -a -n "${with_ggi}"
+        then
+          VLC_ADD_CPPFLAGS([ggi],[-I${with_ggi}/include])
+          VLC_ADD_LIBS([ggi],[-L${with_ggi}/lib])
+        fi ])
+    ],[
+       AC_MSG_ERROR([LibGGI development files can't be found])
+    ])
 fi
 
 dnl
@@ -5370,6 +5398,8 @@ AC_ARG_ENABLE(mozilla,
                  (default disabled)]))
 AC_ARG_WITH(mozilla-sdk-path,
   [    --with-mozilla-sdk-path=PATH path to mozilla sdk])
+AC_ARG_WITH(mozilla-pkg,
+  [    --with-mozilla-pkg=PKG  look for PKG.pc to build the mozilla plugin.])
 AC_LANG_PUSH(C++)
 if test "${enable_mozilla}" = "yes" 
 then
@@ -5388,13 +5418,12 @@ then
       found=1
     else
       if test -n "$PKG_CONFIG"; then
-       for i in seamonkey iceape xulrunner firefox iceweasel mozilla; do
-         echo "Trying to find $i .pc files" >&5
-         i="${i}-xpcom ${i}-plugin"
+       for i in "${with_mozilla_pkg}" libxul {seamonkey,iceape,xulrunner,firefox,iceweasel,mozilla}-plugin; do
+         echo "Trying to find $i.pc files" >&5
          if $PKG_CONFIG --exists --print-errors "$i" 2>&5
          then
-            echo "Using $i .pc files." >&5
-            echo "Using $i .pc files." >&6
+            echo "Using $i.pc files." >&5
+            echo "Using $i.pc files." >&6
            found=1
            MOZILLA_CFLAGS=$( $PKG_CONFIG --cflags "$i" )
            MOZILLA_LIBS=$( $PKG_CONFIG --libs "$i" )
@@ -5406,7 +5435,6 @@ then
     AS_IF( [test $found = 1],[
         CPPFLAGS="${CPPFLAGS_save} ${MOZILLA_CFLAGS}"
         MOZILLA_REQUIRED_HEADERS=1
-        AC_CHECK_HEADERS(mozilla-config.h,,MOZILLA_REQUIRED_HEADERS=0)
         AC_CHECK_HEADERS(npapi.h,,MOZILLA_REQUIRED_HEADERS=0)
         AC_CHECK_HEADERS(npruntime.h,,MOZILLA_REQUIRED_HEADERS=0,
           [#if HAVE_NPAPI_H
@@ -5418,16 +5446,18 @@ then
         fi
         MOZILLA_REQUIRED_HEADERS=
         mozilla=:
-       AC_EGREP_CPP(yes,
-            [#include <mozilla-config.h>
-             #ifdef MOZ_X11
-             yes
-             #endif],
-            [AC_CHECK_HEADERS(X11/xpm.h,,AC_MSG_ERROR([Please install libXpm-devel library for required X11/xpm.h]))
-            VLC_ADD_LIBS([mozilla], [${X_LIBS} ${X_PRE_LIBS} -lX11 -lXt -lXpm])
-        ]) 
-        VLC_ADD_CPPFLAGS([mozilla],[${CPPFLAGS}])
-        VLC_ADD_LIBS([mozilla],[${MOZILLA_LIBS}])
+        AS_IF([ test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"],[
+          VLC_ADD_CPPFLAGS([mozilla],[-DXP_UNIX -DOJI])
+          AS_IF([ test "${SYS}" != "darwin"],[
+            PKG_CHECK_MODULES(XPM, [xpm xt],[
+               VLC_ADD_CPPFLAGS([mozilla],[-DMOZ_X11])
+            ],[
+               AC_MSG_ERROR([Please install the libXpm and libXt development files.])
+            ])
+          ])
+        ])
+       VLC_ADD_CPPFLAGS([mozilla],[${CPPFLAGS} ${XPM_CFLAGS}])
+        VLC_ADD_LIBS([mozilla],[${MOZILLA_LIBS} ${XPM_LIBS}])
         VLC_ADD_PLUGIN([mozilla])
         PLUGINS_BINDINGS="${PLUGINS_BINDINGS} mozilla"
         MOZILLA_CONFIG=
@@ -5782,6 +5812,7 @@ AC_CONFIG_FILES([
   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