]> git.sesse.net Git - vlc/blobdiff - configure.ac
* http interface: added volume control (relative or absolute) and
[vlc] / configure.ac
index 63bc0c05643684ecda9b4da932808f305cc633cc..81cbc3230339d7c07cea1b0e27b6434bcdb5bba3 100644 (file)
@@ -1,5 +1,5 @@
 dnl Autoconf settings for vlc
-dnl $Id: configure.ac,v 1.82 2003/10/04 11:17:04 sam Exp $
+dnl $Id: configure.ac,v 1.104 2003/11/04 11:11:29 titer Exp $
 
 AC_INIT(vlc,0.6.3-cvs)
 
@@ -79,7 +79,7 @@ case "${target_os}" in
   bsdi*)
     SYS=bsdi
     CFLAGS_save="${CFLAGS_save} -pthread"; CFLAGS="${CFLAGS_save}"
-    AX_ADD_LDFLAGS([dvd dvdcss vcd cdda],[-ldvd])
+    AX_ADD_LDFLAGS([dvd dvdcss vcd cdda vcdx cddax],[-ldvd])
     ;;
   *bsd*)
     SYS="${target_os}"
@@ -140,9 +140,10 @@ case "${target_os}" in
 
     dnl Check for BONE presence
     AC_CHECK_LIB(socket, connect,
-        AX_ADD_LDFLAGS([vlc access_mms ipv4 httpd],[-lsocket -lbind]))
+        AX_ADD_LDFLAGS([vlc ipv4 access_http access_mms access_udp access_ftp sap http access_output_udp],
+                      [-lbind]))
 
-    dnl Kludgy check for Zeta
+    dnl Ugly check for Zeta
     if test -f /boot/beos/system/lib/libzeta.so; then
         AX_ADD_LDFLAGS([beos],[-lzeta])
     fi
@@ -349,10 +350,10 @@ AM_CONDITIONAL(BUILD_GETOPT, ${need_getopt})
 if test "${SYS}" != "mingw32"; then
 AC_TYPE_SIGNAL
 AC_CHECK_LIB(m,cos,[
-  AX_ADD_LDFLAGS([imdct adjust distort a52tofloat32],[-lm])
+  AX_ADD_LDFLAGS([adjust distort a52tofloat32],[-lm])
 ])
 AC_CHECK_LIB(m,pow,[
-  AX_ADD_LDFLAGS([ffmpeg stream_out_transcode imdct imdct3dn imdctsse i420_rgb faad],[-lm])
+  AX_ADD_LDFLAGS([ffmpeg stream_out_transcode i420_rgb faad],[-lm])
 ])
 AC_CHECK_LIB(m,sqrt,[
   AX_ADD_LDFLAGS([headphone_channel_mixer],[-lm])
@@ -393,15 +394,20 @@ fi
 
 # Win32 style
 if test "${ac_cv_have_plugins}" = "no"; then
-  AC_CHECK_LIB(kernel32, main,
-   [AX_ADD_LDFLAGS([vlc],[-lkernel32])
-    ac_cv_have_plugins=yes])
+  if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"; then
+    AC_CHECK_LIB(kernel32, main,
+     [AX_ADD_LDFLAGS([vlc],[-lkernel32])
+      AC_DEFINE(HAVE_DL_WINDOWS, 1, [Define if you have Windows' LoadLibrary])
+      ac_cv_have_plugins=yes])
+  fi
 fi
 
 # BeOS style
 if test "${ac_cv_have_plugins}" = "no"; then
-  AC_CHECK_HEADERS(image.h,
-   [ac_cv_have_plugins=yes])
+  AC_CHECK_HEADERS(image.h)
+  AC_CHECK_FUNCS(load_add_on,
+   [AC_DEFINE(HAVE_DL_BEOS, 1, [Define if you have the BeOS dl])
+    ac_cv_have_plugins=yes])
 fi
 
 # Only test for dlopen() if the others didn't work
@@ -826,12 +832,6 @@ case "${target_cpu}" in
     ;;
 esac
 
-case "${ARCH}" in
-  hppa64)
-    AX_ADD_CFLAGS([mpeg_video_old],[-ffunction-sections])
-    ;;
-esac
-
 dnl
 dnl  Enable profiling
 dnl
@@ -845,8 +845,7 @@ test "${enable_cprof}" != "yes" && enable_cprof="no"
 dnl
 dnl  default modules
 dnl
-#AX_ADD_BUILTINS([mpeg_video_old idct idctclassic motion])
-AX_ADD_PLUGINS([dummy rc logger gestures memcpy])
+AX_ADD_PLUGINS([dummy rc logger gestures memcpy hotkeys])
 AX_ADD_PLUGINS([es mpga m4v mpeg_system ps ts avi asf aac mp4 rawdv])
 AX_ADD_PLUGINS([spudec mpeg_audio lpcm a52 dts cinepak])
 AX_ADD_PLUGINS([deinterlace invert adjust wall transform distort clone crop motionblur])
@@ -1059,11 +1058,11 @@ if test "${enable_sout}" != "no"
 then
   AX_ADD_PLUGINS([access_output_dummy access_output_udp access_output_file access_output_http])
   AX_ADD_PLUGINS([mux_ts mux_ps mux_avi mux_mp4 mux_asf mux_dummy])
-  AX_ADD_PLUGINS([packetizer_mpegaudio packetizer_mpegvideo])
+  AX_ADD_PLUGINS([packetizer_mpegvideo])
   AX_ADD_PLUGINS([packetizer_mpeg4video packetizer_mpeg4audio])
   AX_ADD_PLUGINS([packetizer_copy])
 
-  AX_ADD_PLUGINS([stream_out_dummy stream_out_standard stream_out_es])
+  AX_ADD_PLUGINS([stream_out_dummy stream_out_standard stream_out_es stream_out_rtp])
   AX_ADD_PLUGINS([stream_out_duplicate stream_out_display stream_out_gather])
 
   dnl Ogg and vorbis are handled in their respective section
@@ -1446,6 +1445,29 @@ then
   fi
 fi
 
+dnl
+dnl  VCDX and CDX modules
+dnl
+AC_ARG_ENABLE(vcdx,
+  [  --enable-vcdx            VCD support with Navigation for Linux and Win32 (default enabled)])
+
+if test "${enable_vcdx}" != "no"
+then
+  PKG_CHECK_MODULES(LIBCDIO, libcdio >= 0.63,
+   [enable_cdda="no"
+    AX_ADD_LDFLAGS([cddax],[$LIBCDIO_LIBS])
+    AX_ADD_CFLAGS([cddax],[$LIBCDIO_CFLAGS])
+    AX_ADD_PLUGINS([cddax])], 
+   [AC_MSG_WARN(libcdio library not found)])
+
+  PKG_CHECK_MODULES(VCDINFO, libvcdinfo >= 0.7.18-cdio,
+   [enable_vcd="no"
+    AX_ADD_LDFLAGS([vcdx],[$VCDINFO_LIBS])
+    AX_ADD_CFLAGS([vcdx],[$VCDINFO_CFLAGS])
+    AX_ADD_PLUGINS([vcdx])], 
+   [AC_MSG_WARN(vcdinfo library not found)])
+fi
+
 dnl
 dnl  Satellite input module
 dnl
@@ -1526,12 +1548,10 @@ AC_ARG_ENABLE(mkv,
 if test "${enable_mkv}" != "no"
 then
 AC_LANG_PUSH(C++)
-  dnl matroska headers include ebml headers directly... pouah that stinks
-  CPPFLAGS="${CPPFLAGS_save} -I/usr/local/include/ebml -I/usr/include/ebml"
-  AC_CHECK_HEADERS(EbmlVersion.h matroska/KaxVersion.h, [
+  AC_CHECK_HEADERS(ebml/EbmlVersion.h matroska/KaxVersion.h, [
     AC_CHECK_HEADERS(matroska/KaxAttachments.h)
     AX_ADD_PLUGINS([mkv])
-    AX_ADD_CXXFLAGS([mkv],[-I/usr/local/include/ebml -I/usr/include/ebml])
+    AX_ADD_CXXFLAGS([mkv],[])
     AC_CHECK_LIB(ebml_pic,main,[
       # We have ebml_pic, that's good, we can build an mkv.so plugin !
       AX_ADD_LDFLAGS([mkv],[-lmatroska_pic -lebml_pic])
@@ -1687,13 +1707,6 @@ then
       AC_MSG_ERROR([cannot find ${real_ffmpeg_tree}/libavcodec/libavcodec.a, make sure you compiled libavcodec in ${with_ffmpeg_tree}])
     fi
   fi
-
-  ac_have_vorbis_headers=yes
-  AC_CHECK_HEADERS(vorbis/vorbisenc.h vorbis/codec.h,,
-      ac_have_vorbis_headers=no)
-  if test "$ac_have_vorbis_headers" = "yes"; then
-    AX_ADD_LDFLAGS([stream_out_transcode],[-lvorbisenc -lvorbis -logg])
-  fi
 fi
 
 dnl
@@ -1722,14 +1735,6 @@ then
       AX_ADD_BUILTINS([faad])
       AX_ADD_LDFLAGS([faad],[-L${real_faad_tree}/libfaad/.libs -lfaad])
       AX_ADD_CPPFLAGS([faad],[-I${real_faad_tree}/include])
-      CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_faad}"
-      LDFLAGS="${LDFLAGS_save} ${LDFLAGS_faad}"
-      AC_TRY_COMPILE([#include <faad.h>],
-        [faacDecHandle a; faacDecFrameInfo *b; unsigned char *c;
-         unsigned long d; faacDecDecode(a,b,c,d);],
-        [], [AC_DEFINE(HAVE_OLD_FAAD2, 1, Define if FAAD2 < 1.2)])
-      LDFLAGS="${LDFLAGS_save}"
-      CPPFLAGS="${CPPFLAGS_save}"
     else
       dnl  The given libfaad wasn't built
       AC_MSG_RESULT(no)
@@ -1742,11 +1747,7 @@ then
       [ AC_MSG_ERROR([Cannot find development headers for libfaad...]) ])
     AC_CHECK_LIB(faad, faacDecOpen, [
       AX_ADD_PLUGINS([faad])
-      AX_ADD_LDFLAGS([faad],[-lfaad])
-      AC_TRY_COMPILE([#include <faad.h>],
-        [faacDecHandle a; faacDecFrameInfo *b; unsigned char *c;
-         unsigned long d; faacDecDecode(a,b,c,d);],
-        [], [AC_DEFINE(HAVE_OLD_FAAD2, 1, Define if FAAD2 < 1.2)]) ],
+      AX_ADD_LDFLAGS([faad],[-lfaad]) ],
       [ AC_MSG_ERROR([Cannot find libfaad library...]) ])
     LDFLAGS="${LDFLAGS_save}"
     CPPFLAGS="${CPPFLAGS_save}"
@@ -2001,6 +2002,9 @@ then
   AC_CHECK_HEADERS(vorbis/codec.h, [
     AX_ADD_PLUGINS([vorbis])
     AX_ADD_LDFLAGS([vorbis],[-lvorbis -logg]) ],[])
+
+  AC_CHECK_HEADERS(vorbis/vorbisenc.h, [
+    AX_ADD_LDFLAGS([vorbis],[-lvorbisenc]) ],[])
 fi
 
 dnl
@@ -2016,6 +2020,18 @@ then
    ],[])
 fi
 
+dnl
+dnl  Speex plugin
+dnl
+AC_ARG_ENABLE(speex,
+  [  --enable-speex         Speex decoder support (default enabled)])
+if test "${enable_speex}" != "no"
+then
+  AC_CHECK_HEADERS(speex.h, [
+    AX_ADD_PLUGINS([speex])
+    AX_ADD_LDFLAGS([speex],[-lspeex]) ],[])
+fi
+
 dnl
 dnl  tarkin decoder plugin
 dnl
@@ -2053,12 +2069,12 @@ if test "${enable_theora}" = "yes"
 then
   AC_CHECK_HEADERS(theora/theora.h, [
     AC_CHECK_LIB(theora, theora_granule_time, [
-      AX_ADD_BUILTINS([theora])
-      if test "${SYS}" = "darwin"; then
-        theora_libs="-ltheora"
+      if test "${SYS}" = "mingw32"; then
+        AX_ADD_PLUGINS([theora])
       else
-        theora_libs="-ltheora -logg"
+        AX_ADD_BUILTINS([theora])
       fi
+      theora_libs="-ltheora -logg"
       AX_ADD_LDFLAGS([theora],[${theora_libs}]) ],[
       AC_MSG_ERROR([libtheora doesn't appear to be installed on you system.
 You also need to check that you have a libogg posterior to the 1.0 release.])],
@@ -2244,6 +2260,8 @@ dnl  freetype module
 dnl
 AC_ARG_ENABLE(freetype,
   [  --enable-freetype       freetype support (default enabled)])
+AC_ARG_ENABLE(fribidi,
+  [  --enable-fribidi        fribidi support (default enabled)])
 if test "${enable_freetype}" != "no"
 then
   FREETYPE_PATH="${PATH}"
@@ -2258,8 +2276,8 @@ then
   if test "${FREETYPE_CONFIG}" != "no"
   then
     AX_ADD_PLUGINS([freetype])
-    AX_ADD_CFLAGS([freetype],[`${FREETYPE_CONFIG} --cflags`])
-    AX_ADD_LDFLAGS([freetype],[`${FREETYPE_CONFIG} --libs`])
+    AX_ADD_CFLAGS([freetype],[`${FREETYPE_CONFIG} --cflags` ${INCICONV}])
+    AX_ADD_LDFLAGS([freetype],[`${FREETYPE_CONFIG} --libs` ${LIBICONV}])
     AC_CHECK_HEADERS(Carbon/Carbon.h,
       [AX_ADD_LDFLAGS([freetype],[-framework Carbon])])
     CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_freetype}"
@@ -2269,6 +2287,25 @@ then
 from http://www.freetype.org/, or configure with --disable-freetype. Have a nice day.
     ])
   fi
+
+  dnl fribidi support
+  if test "${enable_fribidi}" != "no"
+  then
+    FRIBIDI_PATH="${PATH}"
+    AC_ARG_WITH(fribidi-config-path,
+      [    --with-fribidi-config-path=PATH fribidi-config path (default search in \$PATH)],
+      [ if test "${with_fribidi_config_path}" != "no"
+        then
+          FRIBIDI_PATH="${with_fribidi_config_path}:${PATH}"
+        fi ])
+    AC_PATH_PROG(FRIBIDI_CONFIG, fribidi-config, no, ${FRIBIDI_PATH})
+
+    if test "${FRIBIDI_CONFIG}" != "no"
+    then
+      AX_ADD_CFLAGS([freetype], [`${FRIBIDI_CONFIG} --cflags` -DHAVE_FRIBIDI])
+      AX_ADD_LDFLAGS([freetype], [`${FRIBIDI_CONFIG} --libs`])
+    fi
+  fi
 fi
 
 dnl
@@ -2629,7 +2666,7 @@ then
 fi
 
 dnl
-dnl  Gtk+2 module ! Disabled for know as it is unuseable and confuses users
+dnl  Gtk+2 module ! Disabled for now as it is unusable and confuses users
 dnl
 dnl AC_ARG_ENABLE(gtk2,
 dnl   [  --enable-gtk2           Gtk2 support (default disabled)])
@@ -2734,6 +2771,7 @@ then
     then
       AC_MSG_ERROR([Your development package for wxWindows is too old, you need at least version 2.3.0. Please upgrade and try again. Alternatively you can also configure with --disable-wxwindows.])
     fi
+    AC_LANG_PUSH(C++)
     AX_ADD_CXXFLAGS([wxwindows],[`${WX_CONFIG} --cxxflags`])
     AX_ADD_LDFLAGS([wxwindows],[`${WX_CONFIG} --libs`])
     # now look for the wxprec.h header
@@ -2749,6 +2787,7 @@ then
       ALIASES="${ALIASES} wxvlc"
     fi
     CPPFLAGS="${CPPFLAGS_save}"
+    AC_LANG_POP(C++)
   fi
 fi
 
@@ -3135,6 +3174,9 @@ then
     dnl Workaround for http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=150490
     AX_ADD_CPPFLAGS([mozilla],[[`${MOZILLA_CONFIG} --cflags plugin xpcom java | sed 's,-I\([^ ]*\)/mozilla/\([^ ]*\),-I\1/\2 -I\1/mozilla/\2,g' | xargs`]])
     AX_ADD_LDFLAGS([mozilla],[`${MOZILLA_CONFIG} --libs plugin xpcom`])
+    CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_mozilla}"
+    AC_CHECK_HEADERS(mozilla-config.h)
+    CPPFLAGS="${CPPFLAGS_save}"
   fi
 
 dnl special case for mingw32
@@ -3142,24 +3184,14 @@ elif test "${enable_mozilla}" = "yes"
 then
   AC_ARG_WITH(mozilla-sdk-path,
     [    --with-mozilla-sdk-path=PATH path to win32 mozilla sdk], [
-    AC_MSG_CHECKING(for mozilla-config.h in ${with_mozilla_sdk_path})
     real_mozilla_sdk="`cd ${with_mozilla_sdk_path} 2>/dev/null && pwd`"
-    if test -z "${real_mozilla_sdk}"; then
-      dnl  The given directory can't be found
-      AC_MSG_RESULT(no)
-      AC_MSG_ERROR([cannot cd to ${with_mozilla_sdk_path}])
-    fi
-    if test -f "${real_mozilla_sdk}/mozilla-config.h"; then
-      AC_MSG_RESULT(${real_mozilla_sdk}/mozilla-config.h)
+    CPPFLAGS="${CPPFLAGS_save} ${real_mozilla_sdk}"
+    AC_CHECK_HEADERS(mozilla-config.h, [
       mozilla=:
       AX_ADD_CPPFLAGS([mozilla],[-DXPCOM_GLUE -I${real_mozilla_sdk} -I${real_mozilla_sdk}/embedstring/include -I${real_mozilla_sdk}/xpcom/include -I${real_mozilla_sdk}/nspr/include -I${real_mozilla_sdk}/string/include -I${real_mozilla_sdk}/plugin/include -I${real_mozilla_sdk}/java/include])
       AX_ADD_LDFLAGS([mozilla],[-L${real_mozilla_sdk}/embedstring/bin -L${real_mozilla_sdk}/xpcom/bin -L${real_mozilla_sdk}/nspr/bin -L${real_mozilla_sdk}/string/bin -lnspr4 -lplds4 -lplc4 -lembedstring -lxpcomglue -Wl,--kill-at])
-      XPIDL_INCL="-I${real_mozilla_sdk}/xpcom/idl"
-    else
-      dnl  The given path is incorrect
-      AC_MSG_RESULT(no)
-      AC_MSG_ERROR([cannot find ${real_mozilla_sdk}/mozilla-config.h])
-    fi
+      XPIDL_INCL="-I${real_mozilla_sdk}/xpcom/idl" ])
+    CPPFLAGS="${CPPFLAGS_save}"
   ])
 fi
 
@@ -3367,6 +3399,7 @@ AC_OUTPUT([
   modules/access/satellite/Makefile
   modules/access/v4l/Makefile
   modules/access/vcd/Makefile
+  modules/access/vcdx/Makefile
   modules/access_output/Makefile
   modules/audio_filter/Makefile
   modules/audio_filter/channel_mixer/Makefile
@@ -3375,16 +3408,8 @@ AC_OUTPUT([
   modules/audio_mixer/Makefile
   modules/audio_output/Makefile
   modules/codec/Makefile
-  modules/codec/a52old/Makefile
-  modules/codec/a52old/downmix/Makefile
-  modules/codec/a52old/imdct/Makefile
-  modules/codec/faad/Makefile
   modules/codec/ffmpeg/Makefile
   modules/codec/ffmpeg/postprocessing/Makefile
-  modules/codec/mpeg_audio/Makefile
-  modules/codec/mpeg_video/Makefile
-  modules/codec/mpeg_video/idct/Makefile
-  modules/codec/mpeg_video/motion/Makefile
   modules/codec/spudec/Makefile
   modules/control/Makefile
   modules/control/corba/Makefile