]> git.sesse.net Git - vlc/blobdiff - configure.ac
* ALL: New XML module type.
[vlc] / configure.ac
index 60c74b62d5e090247aa4e52a83f55f6d88dde52b..a75d469e64db0bc1ba6b8206d89c367b6bb3fd06 100644 (file)
@@ -1,7 +1,7 @@
 dnl Autoconf settings for vlc
 dnl $Id$
  
-AC_INIT(vlc,0.8.0-test2)
+AC_INIT(vlc,0.8.2-svn)
 
 CONFIGURE_LINE="$0 $*"
 CODENAME="Janus"
@@ -13,7 +13,7 @@ AC_CANONICAL_SYSTEM
 
 dnl XXX: we don't put any flags here, because automake 1.5 doesn't support
 dnl them. And we need the comma otherwize automake will choke on it.
-AM_INIT_AUTOMAKE(vlc,0.8.0-test2)
+AM_INIT_AUTOMAKE(vlc,0.8.2-svn)
 AM_CONFIG_HEADER(config.h)
 
 dnl
@@ -192,7 +192,7 @@ AM_CONDITIONAL(HAVE_WIN32, test "${SYS}" = "mingw32")
 dnl
 dnl Gettext stuff
 dnl
-ALL_LINGUAS="de en_GB es fr hu it ja nl no pl pt_BR ru sv"
+ALL_LINGUAS="da de en_GB es fr hu it ja nl no pl pt_BR ru sv"
 AM_GNU_GETTEXT_VERSION(0.11.5)
 AM_GNU_GETTEXT
 if test "${nls_cv_force_use_gnu_gettext}" = "yes"; then
@@ -297,7 +297,7 @@ CPPFLAGS_save="${CPPFLAGS_save} -DSYS_`echo ${SYS} | sed -e 's/-.*//' | tr 'abcd
 dnl Check for system libs needed
 need_libc=false
 
-AC_CHECK_FUNCS(gettimeofday select strerror strtod strtol strtof isatty vasprintf asprintf swab sigrelse getpwuid memalign posix_memalign gethostbyname2 if_nametoindex atoll getenv putenv setenv gmtime_r ctime_r localtime_r lrintf daemon)
+AC_CHECK_FUNCS(gettimeofday select strerror strtod strtol strtof strtoll isatty vasprintf asprintf swab sigrelse getpwuid memalign posix_memalign gethostbyname2 if_nametoindex atoll getenv putenv setenv gmtime_r ctime_r localtime_r lrintf daemon)
 
 dnl Check for usual libc functions
 AC_CHECK_FUNCS(strdup strndup atof lseek)
@@ -444,7 +444,7 @@ AM_CONDITIONAL(BUILD_GETOPT, ${need_getopt})
 if test "${SYS}" != "mingw32"; then
 AC_TYPE_SIGNAL
 AC_CHECK_LIB(m,cos,[
-  VLC_ADD_LDFLAGS([adjust distort a52tofloat32 dtstofloat32 x264],[-lm])
+  VLC_ADD_LDFLAGS([adjust distort a52tofloat32 dtstofloat32 x264 goom],[-lm])
 ])
 AC_CHECK_LIB(m,pow,[
   VLC_ADD_LDFLAGS([ffmpeg ffmpegaltivec stream_out_transrate i420_rgb faad toolame equalizer vlc],[-lm])
@@ -678,8 +678,9 @@ fi
 dnl Check for hal
 PKG_CHECK_MODULES(HAL, hal >= 0.2.97,
   [AC_DEFINE(HAVE_HAL, [], [Define if you have the HAL library])
-   VLC_ADD_LDFLAGS([vlc],[$HAL_LIBS])
-   VLC_ADD_CFLAGS([vlc],[$HAL_CFLAGS])],
+   VLC_ADD_PLUGINS([hal])
+   VLC_ADD_LDFLAGS([vlc hal],[$HAL_LIBS])
+   VLC_ADD_CFLAGS([vlc hal],[$HAL_CFLAGS])],
   [AC_MSG_WARN(HAL library not found)])
 
 dnl Build the gtk_main plugins?
@@ -943,17 +944,17 @@ test "${enable_cprof}" != "yes" && enable_cprof="no"
 dnl
 dnl  default modules
 dnl
-VLC_ADD_PLUGINS([dummy rc telnet logger gestures memcpy hotkeys netsync])
+VLC_ADD_PLUGINS([dummy rc telnet logger gestures memcpy hotkeys netsync showintf])
 VLC_ADD_PLUGINS([mpgv mpga m4v m4a h264 ps pva avi asf aac mp4 rawdv nsv real aiff mjpeg demuxdump])
 VLC_ADD_PLUGINS([cvdsub svcdsub spudec subsdec dvbsub mpeg_audio lpcm a52 dts cinepak])
 VLC_ADD_PLUGINS([deinterlace invert adjust wall transform distort clone crop motionblur])
 VLC_ADD_PLUGINS([float32tos16 float32tos8 float32tou16 float32tou8 a52tospdif dtstospdif fixed32tofloat32 fixed32tos16 s16tofixed32 s16tofloat32 s16tofloat32swab s8tofloat32 u8tofixed32 u8tofloat32 audio_format])
 VLC_ADD_PLUGINS([trivial_resampler ugly_resampler linear_resampler bandlimited_resampler])
-VLC_ADD_PLUGINS([trivial_channel_mixer simple_channel_mixer headphone_channel_mixer])
+VLC_ADD_PLUGINS([trivial_channel_mixer simple_channel_mixer headphone_channel_mixer normvol])
 VLC_ADD_PLUGINS([trivial_mixer spdif_mixer float32_mixer])
 VLC_ADD_PLUGINS([aout_file equalizer])
 VLC_ADD_PLUGINS([i420_rgb i420_yuy2 i422_yuy2 i420_ymga])
-VLC_ADD_PLUGINS([m3u id3 playlist export sgimb])
+VLC_ADD_PLUGINS([id3 playlist export sgimb m3u xtag])
 VLC_ADD_PLUGINS([rawvideo blend scale time marq])
 VLC_ADD_PLUGINS([wav araw subtitle vobsub adpcm a52sys dtssys au])
 VLC_ADD_PLUGINS([access_file access_udp access_tcp access_http ipv4 access_mms])
@@ -1185,9 +1186,36 @@ then
   VLC_ADD_PLUGINS([stream_out_duplicate stream_out_gather stream_out_display stream_out_transcode])
 #  VLC_ADD_PLUGINS([stream_out_transrate])
 
-  dnl Ogg and vorbis are handled in their respective section
+  AC_DEFINE(ENABLE_SOUT, 1, Define if you want the stream output support)
 fi
 
+dnl
+dnl HTTP daemon
+dnl
+AC_ARG_ENABLE(httpd,
+  [  --enable-httpd          HTTP daemon (default enabled)])
+if test "${enable_httpd}" != "no"
+then
+  AC_DEFINE(ENABLE_HTTPD, 1, Define if you want the HTTP dameon support)
+fi
+
+dnl
+dnl VideoLAN manager
+dnl
+AC_ARG_ENABLE(vlm,
+  [  --enable-vlm            VideoLAN manager (default enabled)])
+if test "${enable_vlm}" != "no"
+then
+  AC_DEFINE(ENABLE_VLM, 1, Define if you want the VideoLAN manager support)
+fi
+
+dnl
+dnl TLS/SSL
+dnl
+AC_ARG_ENABLE(gnutls,
+  [  --enable-gnutls         gnutls TLS/SSL support (default disabled)])
+AS_IF([test "${enable_gnutls}" == "yes"], VLC_ADD_PLUGINS([gnutls]))
+
 
 dnl
 dnl  Input plugins
@@ -1630,7 +1658,7 @@ dnl
 dnl  Screen capture module
 dnl
 AC_ARG_ENABLE(screen,
-  [  --enable-screen            Screen capture support (default enabled)])
+  [  --enable-screen         Screen capture support (default enabled)])
 if test "${enable_screen}" != "no"; then
   if test "${SYS}" = "darwin"; then
     AC_CHECK_HEADERS(ApplicationServices/ApplicationServices.h, [
@@ -1867,7 +1895,7 @@ then
       AC_CHECK_LIB(avformat, av_open_input_stream, [
         AC_DEFINE(HAVE_LIBAVFORMAT, 1,
         [Define if you have ffmpeg's libavformat.])
-        VLC_ADD_LDFLAGS([ffmpeg],[-lavformat -lz]) ])
+        VLC_ADD_LDFLAGS([ffmpeg],[-lavformat -lz]) ], [], [-lavcodec -lz])
       LDFLAGS="${LDFLAGS_save}"
       CPPFLAGS="${CPPFLAGS_save}"
     fi
@@ -1895,13 +1923,44 @@ then
       fi
       dnl  Use a custom libffmpeg
       AC_MSG_RESULT(${real_ffmpeg_tree}/libavcodec/libavcodec.a)
+
+      if fgrep -s "CONFIG_ZLIB=yes" "${real_ffmpeg_tree}/config.mak"; then
+        if test "${with_ffmpeg_zlib}" != "yes"; then
+          VLC_ADD_LDFLAGS([ffmpeg],[-lz])
+        fi
+      fi
+      if fgrep -s "CONFIG_MP3LAME=yes" "${real_ffmpeg_tree}/config.mak"; then
+        if test "${with_ffmpeg_mp3lame}" != "yes"; then
+          VLC_ADD_LDFLAGS([ffmpeg],[-lmp3lame])
+        fi
+      fi
+      if fgrep -s "CONFIG_FAAC=yes" "${real_ffmpeg_tree}/config.mak"; then
+        if test "${with_ffmpeg_faac}" != "yes"; then
+          VLC_ADD_LDFLAGS([ffmpeg],[-lfaac])
+        fi
+      fi
+      if fgrep -s "CONFIG_DTS=yes" "${real_ffmpeg_tree}/config.mak"; then
+        if test "${with_ffmpeg_dts}" != "yes"; then
+          VLC_ADD_LDFLAGS([ffmpeg],[-ldts])
+        fi
+      fi
+      if fgrep -s "CONFIG_VORBIS=yes" "${real_ffmpeg_tree}/config.mak"; then
+        VLC_ADD_LDFLAGS([ffmpeg],[-lvorbis -lvorbisenc])
+      fi
+      if fgrep -s "CONFIG_FAAD=yes" "${real_ffmpeg_tree}/config.mak"; then
+        VLC_ADD_LDFLAGS([ffmpeg],[-lfaad])
+      fi
+      if fgrep -s "CONFIG_XVID=yes" "${real_ffmpeg_tree}/config.mak"; then
+        VLC_ADD_LDFLAGS([ffmpeg],[-lxvidcore])
+      fi
+
       VLC_ADD_BUILTINS([ffmpeg])
-      VLC_ADD_LDFLAGS([ffmpeg],[-L${real_ffmpeg_tree}/libavcodec -lavcodec])
-      VLC_ADD_CPPFLAGS([ffmpeg],[-I${real_ffmpeg_tree}/libavcodec -I${real_ffmpeg_tree}/libavformat])
+      VLC_ADD_LDFLAGS([ffmpeg],[-L${real_ffmpeg_tree}/libavcodec ${real_ffmpeg_tree}/libavcodec/libavcodec.a])
+      VLC_ADD_CPPFLAGS([ffmpeg],[-I${real_ffmpeg_tree}/libavcodec])
 
       if test -f "${real_ffmpeg_tree}/libavformat/libavformat.a"; then
         AC_DEFINE(HAVE_LIBAVFORMAT, 1, [Define if you have ffmpeg's libavformat.])
-        VLC_ADD_LDFLAGS([ffmpeg],[-L${real_ffmpeg_tree}/libavformat -lavformat -lz])
+        VLC_ADD_LDFLAGS([ffmpeg],[-L${real_ffmpeg_tree}/libavformat ${real_ffmpeg_tree}/libavformat/libavformat.a])
         VLC_ADD_CPPFLAGS([ffmpeg],[-I${real_ffmpeg_tree}/libavformat])
       fi
     fi
@@ -2000,7 +2059,7 @@ dnl
 dnl toolame encoder plugin
 dnl
 AC_ARG_ENABLE(toolame,
-[  --enable-toolame         toolame codec (default disabled)])
+[  --enable-toolame        toolame codec (default disabled)])
 if test "${enable_toolame}" = "yes"
 then
   AC_ARG_WITH(toolame-tree,
@@ -2120,7 +2179,7 @@ AC_CHECK_HEADERS(zlib.h, [
 ] )
 
 AC_CHECK_HEADERS(sysfs/libsysfs.h, [
-  VLC_ADD_LDFLAGS([mp4],[-lsysfs])
+  VLC_ADD_LDFLAGS([mp4 mkv],[-lsysfs])
 ] )
 
 dnl
@@ -2661,7 +2720,7 @@ dnl  OpenGL module
 dnl  (enabled by default except on beos)
 dnl
 AC_ARG_ENABLE(opengl,
-  [  --enable-opengl            OpenGL support (default enabled)])
+  [  --enable-opengl         OpenGL support (default enabled)])
 if test "${enable_opengl}" != "no" && test "${SYS}" != "beos"; then
   if test "${SYS}" != "darwin"; then
     AC_CHECK_HEADERS(GL/gl.h, [
@@ -2798,6 +2857,39 @@ from http://www.freetype.org/, or configure with --disable-freetype. Have a nice
   fi
 fi
 
+dnl
+dnl  libxml2 module
+dnl
+AC_ARG_ENABLE(libxml2,
+  [  --enable-libxml2       libxml2 support (default enabled)])
+if test "${enable_libxml2}" != "no"
+then
+  XML2_PATH="${PATH}"
+  AC_ARG_WITH(xml2-config-path,
+    [    --with-xml2-config-path=PATH xml2-config path (default search in \$PATH)],
+    [ if test "${with_xml2_config_path}" != "no"; then
+        XML2_PATH="${with_xml2_config_path}:${PATH}"
+      fi ])
+  AC_PATH_PROG(XML2_CONFIG, xml2-config, no, ${XML2_PATH})
+  if test "${XML2_CONFIG}" != "no"; then
+    VLC_ADD_CPPFLAGS([xml],[`${XML2_CONFIG} --cflags`])
+    VLC_ADD_LDFLAGS([xml],[`${XML2_CONFIG} --libs`])
+    dnl depends on the xmlTextReader extension
+    LDFLAGS="${LDFLAGS_save} ${LDFLAGS_xml}"
+    AC_CHECK_LIB(xml2,xmlTextReaderConstName,[
+      VLC_ADD_PLUGINS([xml]) ],[
+      AC_MSG_WARN([libxml2 missing the xmlTextReader extension, you should update your version])
+      if test "${enable_xml2}" = "yes"; then
+        AC_MSG_ERROR([libxml2 missing the xmlTextReader extension])
+      fi])
+    LDFLAGS="${LDFLAGS_save}"
+  else
+    if test "${enable_xml2}" = "yes"; then
+      AC_MSG_ERROR([Could not find libxml2])
+    fi
+  fi
+fi
+
 dnl
 dnl  SVG module
 dnl
@@ -3083,6 +3175,22 @@ AC_ARG_ENABLE(esd,
      fi
    fi])
 
+dnl
+dnl  Portaudio module
+dnl
+AC_ARG_ENABLE(portaudio,
+  [  --enable-portaudio      Portaudio library support (default disabled)],
+  [if test "${enable_portaudio}" = "yes"
+   then
+     VLC_ADD_PLUGINS([portaudio])
+     VLC_ADD_CXXFLAGS([portaudio],[])
+     if test "${SYS}" = "mingw32"; then
+        VLC_ADD_LDFLAGS([portaudio],[-lportaudio -lwinmm -lole32])
+     else
+        VLC_ADD_LDFLAGS([portaudio],[-lportaudio])
+     fi
+   fi])
+
 dnl
 dnl  aRts module
 dnl
@@ -3103,8 +3211,8 @@ dnl
 dnl  ALSA module
 dnl
 AC_ARG_ENABLE(alsa,
-  [  --enable-alsa           ALSA sound support for Linux (default disabled)],
-  [if test "${enable_alsa}" = "yes"
+  [  --enable-alsa           ALSA sound support for Linux (default enabled)],
+  [if test "${enable_alsa}" != "no"
    then
      AC_CHECK_HEADER(alsa/asoundlib.h, AC_CHECK_LIB(asound, main, have_alsa="true", have_alsa="false"),have_alsa="false")
      if test "${have_alsa}" = "true"
@@ -3117,7 +3225,9 @@ AC_ARG_ENABLE(alsa,
        VLC_ADD_PLUGINS([alsa])
        VLC_ADD_LDFLAGS([alsa],[-lasound -lm -ldl])
      else
-       AC_MSG_ERROR([Could not find ALSA development headers])
+       if test "${enable_alsa}" = "yes"; then
+         AC_MSG_ERROR([Could not find ALSA development headers])
+       fi
      fi
    fi])
 
@@ -3201,33 +3311,6 @@ if test "${enable_skins2}" = "yes" || (test "${SYS}" != "darwin" && test "${SYS}
     fi
   fi
 
-  dnl libxml2
-  XML2_PATH="${PATH}"
-  AC_ARG_WITH(xml2-config-path,
-    [    --with-xml2-config-path=PATH xml2-config path (default search in \$PATH)],
-    [ if test "${with_xml2_config_path}" != "no"; then
-        XML2_PATH="${with_xml2_config_path}:${PATH}"
-      fi ])
-  AC_PATH_PROG(XML2_CONFIG, xml2-config, no, ${XML2_PATH})
-  if test "${XML2_CONFIG}" != "no"; then
-    VLC_ADD_CPPFLAGS([skins2],[`${XML2_CONFIG} --cflags`])
-    VLC_ADD_LDFLAGS([skins2],[`${XML2_CONFIG} --libs`])
-    dnl skins2 depends on the xmlTextReader extension
-    LDFLAGS="${LDFLAGS_save} ${LDFLAGS_skins2}"
-    AC_CHECK_LIB(xml2,xmlTextReaderConstName,[],[
-      skins2_missing_lib="yes"
-      AC_MSG_WARN([libxml2 missing the xmlTextReader extension, you should update your version; maybe you are missing libpng.])
-      if test "${enable_skins2}" = "yes"; then
-        AC_MSG_ERROR([libxml2 missing the xmlTextReader extension (required for skins2)])
-      fi])
-    LDFLAGS="${LDFLAGS_save}"
-  else
-    skins2_missing_lib="yes"
-    if test "${enable_skins2}" = "yes"; then
-      AC_MSG_ERROR([Could not find libxml2 (required for skins2)])
-    fi
-  fi
-
   if test "${skins2_missing_lib}" = "no" && (test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"); then
     VLC_ADD_PLUGINS([skins2])
     ALIASES="${ALIASES} svlc"
@@ -3424,6 +3507,17 @@ then
   fi
 fi
 
+dnl
+dnl Simple test for skins2 dependency
+dnl
+if test "${enable_skins2}" != "no"
+then
+  if test "${WX_CONFIG}" = "no"
+  then
+    AC_MSG_ERROR([The skins2 module depends on the wxWindows development package. Without it you won't be able to open any dialog box from the interface, which makes the skins2 interface rather useless. Install the wxWindows development package or alternatively you can also configure with: --disable-wxwindows --disable-skins2.])
+  fi
+fi
+
 dnl dnl
 dnl dnl  Qt module
 dnl dnl
@@ -3648,12 +3742,14 @@ then
     fi
   else
     AC_CHECK_HEADERS(goom/goom.h, [
+      LDFLAGS="${LDFLAGS_save} ${LDFLAGS_goom}"
       AC_CHECK_LIB(goom2, goom_init, [
         VLC_ADD_PLUGINS([goom])
         VLC_ADD_LDFLAGS([goom],[-lgoom2])
       ],[
         AC_MSG_ERROR([Could not find goom on your system: you may get it from http://www.ios-software.com/.])
       ])
+      LDFLAGS="${LDFLAGS_save}"
     ])
   fi
 fi
@@ -3745,6 +3841,45 @@ AM_CONDITIONAL(ENABLE_CORBA, test "$enablecorba" = "true")
 
 AC_ARG_WITH(,[Misc options:])
 
+dnl
+dnl GnuTLS-based TLS/SSL support
+dnl
+AC_ARG_WITH(libgnutls-prefix,
+          [  --with-libgnutls-prefix=PREFIX set prefix where libgnutls is installed],
+          libgnutls_config_prefix="$withval", libgnutls_config_prefix="")
+
+AS_IF([test x$libgnutls_config_prefix != x],
+  AS_IF([test x${LIBGNUTLS_CONFIG+set} != xset],
+    LIBGNUTLS_CONFIG=$libgnutls_config_prefix/bin/libgnutls-config
+  )
+)
+
+if test "x$enable_gnutls" == "xyes"; then
+  AC_PATH_PROG(LIBGNUTLS_CONFIG, libgnutls-config, no)
+  no_libgnutls=""
+
+  AC_MSG_CHECKING(for libgnutls - version >= 1.0.0)
+  AS_IF([test "$LIBGNUTLS_CONFIG" = "no"],
+    no_libgnutls=yes
+    ,
+    LIBGNUTLS_CFLAGS=`$LIBGNUTLS_CONFIG $libgnutls_config_args --cflags`
+    LIBGNUTLS_LIBS=`$LIBGNUTLS_CONFIG $libgnutls_config_args --libs`
+    libgnutls_config_version=`$LIBGNUTLS_CONFIG $libgnutls_config_args --version`
+  )
+
+  AS_IF([test "x$no_libgnutls" = x],
+    AC_MSG_RESULT(yes)
+    VLC_ADD_CFLAGS([gnutls], [$LIBGNUTLS_CFLAGS])
+    VLC_ADD_LDFLAGS([gnutls], [$LIBGNUTLS_LIBS])
+    AC_DEFINE(HAVE_GNUTLS, 1, Define to 1 if you have libgnutls)
+    ,
+    AC_MSG_RESULT(no)
+    LIBGNUTLS_CFLAGS=""
+    LIBGNUTLS_LIBS=""
+    AC_MSG_ERROR(gnutls TLS/SSL support cannot be compiled)
+  )
+fi
+
 dnl
 dnl  Endianness check, AC_C_BIGENDIAN doesn't work if we are cross-compiling
 dnl
@@ -4070,7 +4205,6 @@ AC_CONFIG_FILES([
   modules/codec/cmml/Makefile
   modules/codec/dmo/Makefile
   modules/codec/ffmpeg/Makefile
-  modules/codec/ffmpeg/postprocessing/Makefile
   modules/codec/ogt/Makefile
   modules/codec/spudec/Makefile
   modules/control/Makefile
@@ -4099,9 +4233,11 @@ AC_CONFIG_FILES([
   modules/misc/network/Makefile
   modules/misc/testsuite/Makefile
   modules/misc/playlist/Makefile
+  modules/misc/xml/Makefile
   modules/mux/Makefile
   modules/mux/mpeg/Makefile
   modules/packetizer/Makefile
+  modules/services_discovery/Makefile
   modules/stream_out/Makefile
   modules/stream_out/transrate/Makefile
   modules/video_chroma/Makefile