]> git.sesse.net Git - vlc/blobdiff - configure.ac
* bootstrap: Fixed a shell syntax error when pkg-config is not present.
[vlc] / configure.ac
index 9349b89e22eba79d3afa34eefbd0a257fc8430dc..6adba331c446372d0a3c3da9e4fcf6112083e1ac 100644 (file)
@@ -1,7 +1,7 @@
 dnl Autoconf settings for vlc
-dnl $Id: configure.ac,v 1.50 2003/08/01 00:26:22 fenrir Exp $
+dnl $Id: configure.ac,v 1.87 2003/10/07 21:13:01 sam Exp $
 
-AC_INIT(vlc,0.6.1)
+AC_INIT(vlc,0.6.3-cvs)
 
 CONFIGURE_LINE="$0 $*"
 CODENAME="Trevelyan"
@@ -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.6.1)
+AM_INIT_AUTOMAKE(vlc,0.6.3-cvs)
 AM_CONFIG_HEADER(config.h)
 
 dnl
@@ -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}"
@@ -117,7 +117,7 @@ case "${target_os}" in
         # add ws2_32 for closesocket, select, recv
         CPPFLAGS_save="${CPPFLAGS_save} -D_OFF_T_ -D_off_t=long"; CPPFLAGS="${CPPFLAGS_save}"
         AX_ADD_LDFLAGS([vlc],[-lws2_32 -lnetapi32 -lwinmm -mwindows])
-        AX_ADD_LDFLAGS([ipv4 ipv6 access_http access_mms access_udp access_ftp access_output_udp sap slp http httpd],[-lws2_32])
+        AX_ADD_LDFLAGS([ipv4 ipv6 access_http access_mms access_udp access_ftp access_output_udp sap slp http httpd stream_out_standard],[-lws2_32])
     fi
     ;;
   *nto*)
@@ -136,11 +136,16 @@ case "${target_os}" in
     CFLAGS_save="${CFLAGS_save} -Wno-multichar"; CFLAGS="${CFLAGS_save}"
     CXXFLAGS_save="${CXXFLAGS_save} -Wno-multichar"; CXXFLAGS="${CXXFLAGS_save}"
     AX_ADD_LDFLAGS([vlc beos],[-lbe])
-    AX_ADD_CXXFLAGS([beos],[])
     AX_ADD_LDFLAGS([beos],[-lmedia -ltranslation -ltracker -lgame])
-    dnl Check if we have BONE (old net_server doesn't have libsocket.so)
+
+    dnl Check for BONE presence
     AC_CHECK_LIB(socket, connect,
         AX_ADD_LDFLAGS([vlc access_mms ipv4 httpd],[-lsocket -lbind]))
+
+    dnl Kludgy check for Zeta
+    if test -f /boot/beos/system/lib/libzeta.so; then
+        AX_ADD_LDFLAGS([beos],[-lzeta])
+    fi
     ;;
   *)
     SYS="${target_os}"
@@ -153,7 +158,7 @@ AM_CONDITIONAL(HAVE_WIN32, test "${SYS}" = "mingw32")
 dnl
 dnl Gettext stuff
 dnl
-ALL_LINGUAS="de en_GB fr it ja no ru nl pl sv"
+ALL_LINGUAS="de en_GB es fr 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
@@ -251,6 +256,22 @@ AC_CHECK_FUNCS(strdup strndup atof lseek)
 AC_CHECK_FUNCS(strcasecmp,,[AC_CHECK_FUNCS(stricmp)])
 AC_CHECK_FUNCS(strncasecmp,,[AC_CHECK_FUNCS(strnicmp)])
 
+dnl Check for setlocal and langinfo
+AC_CHECK_FUNCS(setlocale)
+AC_CHECK_HEADERS(langinfo.h)
+AC_CHECK_FUNCS(nl_langinfo)
+
+AC_CACHE_CHECK([for nl_langinfo and CODESET], ac_cv_langinfo_codeset,
+  [AC_TRY_LINK([#include <langinfo.h>],
+    [char* cs = nl_langinfo(CODESET);],
+    ac_cv_langinfo_codeset=yes,
+    ac_cv_langinfo_codeset=no)
+  ])
+if test ${ac_cv_langinfo_codeset} = yes; then
+  AC_DEFINE(HAVE_LANGINFO_CODESET, 1,
+    [Define if you have <langinfo.h> and nl_langinfo(CODESET).])
+fi
+
 AC_CHECK_FUNCS(connect,,[
   AC_CHECK_LIB(socket,connect,[
     AX_ADD_LDFLAGS([vlc ipv4],-lsocket)
@@ -327,20 +348,85 @@ AM_CONDITIONAL(BUILD_GETOPT, ${need_getopt})
 
 if test "${SYS}" != "mingw32"; then
 AC_TYPE_SIGNAL
-AC_CHECK_LIB(dl,dlopen,[
-  AX_ADD_LDFLAGS([vlc],[-ldl])
-])
 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])
 ])
 fi # end "${SYS}" != "mingw32"
 
+dnl Check for dynamic plugins
+ac_cv_have_plugins=no
+
+# OS X style
+AC_CHECK_HEADERS(mach-o/dyld.h,
+  [AC_CHECK_FUNCS(NSLinkModule,
+    [AC_DEFINE(HAVE_DL_DYLD, 1, [Define if you have the Darwin dyld API])
+     ac_cv_have_plugins=yes])])
+
+# HP-UX style
+if test "${ac_cv_have_plugins}" = "no"; then
+  AC_CHECK_HEADERS(dl.h)
+  ac_cv_my_have_shl_load=no
+  AC_CHECK_FUNC(shl_load,
+   [ac_cv_my_have_shl_load=yes,
+    AC_CHECK_LIB(dld, shl_load,
+     [ac_cv_my_have_shl_load=yes
+      AX_ADD_LDFLAGS([vlc],[-ldld])])])
+  if test "${ac_cv_my_have_shl_load}" = "yes"; then
+    AC_DEFINE(HAVE_DL_SHL_LOAD, 1, [Define if you have the shl_load API])
+    ac_cv_have_plugins=yes
+  fi
+fi
+
+# Whatever style
+if test "${ac_cv_have_plugins}" = "no"; then
+  AC_CHECK_LIB(dld, dld_link,
+   [AX_ADD_LDFLAGS([vlc],[-ldld])
+    AC_DEFINE(HAVE_DL_DLD_LINK, 1, [Define if you have the GNU dld library])
+    ac_cv_have_plugins=yes])
+fi
+
+# Win32 style
+if test "${ac_cv_have_plugins}" = "no"; then
+  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_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
+if test "${ac_cv_have_plugins}" = "no"; then
+  AC_CHECK_HEADERS(dlfcn.h sys/dl.h)
+  ac_cv_my_have_dlopen=no
+  AC_CHECK_FUNC(dlopen,
+    ac_cv_my_have_dlopen=yes,
+    AC_CHECK_LIB(dl, dlopen,
+      ac_cv_my_have_dlopen=yes
+      AX_ADD_LDFLAGS([vlc],[-ldl]),
+      AC_CHECK_LIB(svld, dlopen,
+        ac_cv_my_have_dlopen=yes
+        AX_ADD_LDFLAGS([vlc],[-lsvld]))))
+  if test "${ac_cv_my_have_dlopen}" = "yes"; then
+    AC_DEFINE(HAVE_DL_DLOPEN, 1, [Define if you have the dlopen API])
+    ac_cv_have_plugins=yes
+  fi
+fi
+
 if test "${SYS}" != "mingw32"; then
 dnl Check for pthreads - borrowed from XMMS
 THREAD_LIB=error
@@ -446,7 +532,6 @@ AC_EGREP_HEADER(strncasecmp,strings.h,[
 dnl Check for headers
 AC_CHECK_HEADERS(signal.h time.h errno.h stdint.h getopt.h strings.h inttypes.h sys/int_types.h wchar.h)
 AC_CHECK_HEADERS(sys/sockio.h fcntl.h sys/types.h sys/time.h sys/times.h sys/ioctl.h sys/stat.h)
-AC_CHECK_HEADERS(dlfcn.h image.h)
 AC_CHECK_HEADERS(arpa/inet.h net/if.h netinet/in.h sys/socket.h)
 if test "${SYS}" != "mingw32"; then
 AC_CHECK_HEADERS(machine/param.h sys/shm.h)
@@ -746,12 +831,6 @@ case "${target_cpu}" in
     ;;
 esac
 
-case "${ARCH}" in
-  hppa64)
-    AX_ADD_CFLAGS([mpeg_video_old],[-ffunction-sections])
-    ;;
-esac
-
 dnl
 dnl  Enable profiling
 dnl
@@ -765,9 +844,8 @@ 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([es audio m4v mpeg_system ps ts avi asf aac mp4 rawdv])
+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])
 AX_ADD_PLUGINS([float32tos16 float32tos8 float32tou16 float32tou8 a52tospdif dtstospdif fixed32tofloat32 fixed32tos16 s16tofixed32 s16tofloat32 s16tofloat32swab s8tofloat32 u8tofixed32 u8tofloat32])
@@ -798,6 +876,8 @@ dnl Some plugins aren't useful on some platforms
 dnl
 if test "${SYS}" != "mingw32"; then
     AX_ADD_PLUGINS([screensaver])
+else
+    AX_ADD_PLUGINS([ntservice])
 fi
 
 dnl
@@ -976,13 +1056,13 @@ AC_ARG_ENABLE(sout,
 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_dummy])
-  AX_ADD_PLUGINS([packetizer_mpegaudio packetizer_mpegvideo packetizer_a52])
+  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_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_duplicate stream_out_display])
+  AX_ADD_PLUGINS([stream_out_duplicate stream_out_display stream_out_gather])
 
   dnl Ogg and vorbis are handled in their respective section
 fi
@@ -1190,6 +1270,22 @@ then
   fi
 fi
 
+dnl
+dnl  Windows DirectShow access module
+dnl
+AC_ARG_ENABLE(dshow,
+  [  --enable-dshow       Win32 DirectShow support (default enabled on Win32)])
+if test "${enable_dshow}" != "no"
+then
+  if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
+  then
+      AC_CHECK_HEADERS(dshow.h,
+      [ AX_ADD_PLUGINS([dshow])
+        AX_ADD_CXXFLAGS([dshow],[])
+        AX_ADD_LDFLAGS([dshow],[-lole32 -loleaut32]) ])
+  fi
+fi
+
 dnl
 dnl  libdvbpsi ts demux/mux
 dnl
@@ -1348,6 +1444,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
@@ -1372,8 +1491,7 @@ then
   then
     AX_ADD_CFLAGS([dvb],[-I${with_dvb}/include])
   fi
-
-  CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_dvb}"
+  CPPFLAGS="${CPPFLAGS_save} -I${with_dvb}/include"
   AC_CHECK_HEADERS(linux/dvb/version.h linux/dvb/frontend.h, [
     AX_ADD_PLUGINS([dvb])
   ],[])
@@ -1432,6 +1550,7 @@ 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(matroska/KaxAttachments.h)
     AX_ADD_PLUGINS([mkv])
     AX_ADD_CXXFLAGS([mkv],[-I/usr/local/include/ebml -I/usr/include/ebml])
     AC_CHECK_LIB(ebml_pic,main,[
@@ -1532,6 +1651,14 @@ then
       AX_ADD_LDFLAGS([stream_out_transcode],[])
       AX_ADD_LDFLAGS([ffmpeg],[-lmp3lame]) ])
 
+  AC_ARG_WITH(ffmpeg-faac,
+    [    --with-ffmpeg-faac      if ffmpeg has been compiled with faac support],
+    [
+      dnl  XXX: we don't link with -lavcodec a 2nd time because the OS X
+      dnl       linker would miserably barf on multiple definitions.
+      AX_ADD_LDFLAGS([stream_out_transcode],[])
+      AX_ADD_LDFLAGS([ffmpeg],[-lfaac]) ])
+
   AC_ARG_WITH(ffmpeg-tree,
     [    --with-ffmpeg-tree=PATH ffmpeg tree for static linking])
 
@@ -1582,11 +1709,6 @@ then
     fi
   fi
 
-  dnl Duplicate the ffmpeg CPPFLAGS and LDFLAGS for the encoder
-  AX_ADD_CPPFLAGS([encoder_ffmpeg],[${CPPFLAGS_ffmpeg}])
-  dnl XXX: we don't link with -lavcodec blah blah blah
-  dnl AX_ADD_LDFLAGS([encoder_ffmpeg],[${LDFLAGS_ffmpeg}])
-
   ac_have_vorbis_headers=yes
   AC_CHECK_HEADERS(vorbis/vorbisenc.h vorbis/codec.h,,
       ac_have_vorbis_headers=no)
@@ -1704,10 +1826,6 @@ then
     LDFLAGS="${LDFLAGS_save}"
     CPPFLAGS="${CPPFLAGS_save}"
   fi
-
-  dnl Duplicate the xvid CPPFLAGS and LDFLAGS for the encoder
-  AX_ADD_LDFLAGS([encoder_xvid],[${LDFLAGS_xvid}])
-  AX_ADD_CPPFLAGS([encoder_xvid],[${CPPFLAGS_xvid}])
 fi
 
 dnl
@@ -1903,11 +2021,7 @@ if test "${enable_vorbis}" != "no"
 then
   AC_CHECK_HEADERS(vorbis/codec.h, [
     AX_ADD_PLUGINS([vorbis])
-    AX_ADD_LDFLAGS([vorbis],[-lvorbis -logg])
-    if test "${enable_sout}" != "no"; then
-      AX_ADD_PLUGINS([packetizer_vorbis])
-      AX_ADD_LDFLAGS([packetizer_vorbis],[-lvorbis -logg])
-    fi ],[])
+    AX_ADD_LDFLAGS([vorbis],[-lvorbis -logg]) ],[])
 fi
 
 dnl
@@ -2256,7 +2370,7 @@ AC_ARG_ENABLE(mga,
   [  --enable-mga            Linux kernel Matrox support (default disabled)],
   [ if test "${enable_mga}" = "yes"
     then
-      AX_ADD_PLUGINS([mga xmga])
+      AX_ADD_PLUGINS([mga])
     fi ])
 
 dnl
@@ -2536,7 +2650,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)])
@@ -2555,7 +2669,7 @@ dnl
 dnl  PDA Gtk+2 module
 dnl
 AC_ARG_ENABLE(pda,
-  [  --enable-pda           PDA interface needs Gtk2 suport (default disabled)])
+  [  --enable-pda          PDA interface needs Gtk2 support (default disabled)])
 if test "x${enable_pda}" = "xyes"
 then
   PKG_CHECK_MODULES(GTK2, [gtk+-2.0 >= 2.0.0, gthread-2.0])
@@ -2569,89 +2683,6 @@ then
   fi
 fi
 
-
-dnl
-dnl  Familiar module uses Gtk+ library
-dnl
-AC_ARG_ENABLE(familiar,
-  [  --enable-familiar       Familiar Gtk+ support (default disabled)])
-if test "${enable_familiar}" = "yes"
-then
-  GTK_PATH="${PATH}"
-  AC_ARG_WITH(gtk-config-path,
-    [    --with-gtk-config-path=PATH gtk-config path (default search in \$PATH)],
-    [ if test "${with_gtk_config_path}" != "no"
-      then
-        GTK_PATH="${with_gtk_config_path}:${PATH}"
-      fi ])
-  # look for gtk-config
-  AC_PATH_PROG(GTK12_CONFIG, gtk12-config, no, ${GTK_PATH})
-  GTK_CONFIG=${GTK12_CONFIG}
-  if test "${GTK_CONFIG}" = "no"
-  then
-    AC_PATH_PROG(GTK_CONFIG, gtk-config, no, ${GTK_PATH})
-  fi
-  # check for cross-compiling
-  GTK_PREFIX=
-  AC_ARG_WITH(gtk-prefix,
-    [    --with-gtk-prefix=PATH path to libgtk (needed for cross-compiling),
-                          e.g use as:
-                          --with-gtk-prefix=/usr/local/arm/2.95.3/arm-linux/usr)],[],[])
-  if test "${with_gtk_prefix}" != "no" -a -n "${with_gtk_prefix}"
-  then
-    GTK_PREFIX="--prefix=${with_gtk_prefix}"
-  fi
-  if test "${GTK_CONFIG}" != "no"
-  then
-    if expr 1.2.0 \> `${GTK_CONFIG} --version` >/dev/null
-    then
-      AC_MSG_ERROR([Your development package for Gtk+ is too old, you need at least version 1.2.0. Please upgrade and try again. Alternatively you can also configure with --disable-familiar.])
-    fi
-    AX_ADD_CFLAGS([familiar],[`${GTK_CONFIG} ${GTK_PREFIX} --cflags gtk gthread`])
-    AX_ADD_LDFLAGS([familiar],[`${GTK_CONFIG} ${GTK_PREFIX} --libs gtk gthread | sed 's,-rdynamic,,'`])
-    # now look for the gtk.h header
-    CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_familiar}"
-    ac_cv_gtk_headers=yes
-    AC_CHECK_HEADERS(gtk/gtk.h glib.h gdk/gdk.h, , [
-      ac_cv_gtk_headers=no
-      echo "Cannot find gtk development headers."
-    ])
-    if test "${ac_cv_gtk_headers}" = "yes"
-    then
-      AX_ADD_PLUGINS([familiar])
-    fi
-    CPPFLAGS="${CPPFLAGS_save}"
-
-    # now look for gpe support
-    AC_ARG_WITH(gpe-prefix,
-    [    --with-gpe-prefix=PATH gpe installation path prefix (default search in \$PATH)],[],[])
-    if test "${with_gpe_prefix}" != "no" -a -n "${with_gpe_prefix}"
-    then
-      AX_ADD_CFLAGS([gpe],[-I${with_gpe_prefix}/include])
-      AX_ADD_LDFLAGS([gpe],[-lXi -lgdk_pixbuf -L${with_gpe_prefix}/lib -lgpewidget])
-      # now look for gpe/init.h header file
-      CFLAGS_save="${CFLAGS}"
-      LDFLAGS_save="${LDFLAGS}"
-      CFLAGS="${CFLAGS_familiar} ${CFLAGS_gpe}"
-      LDFLAGS="${LDFLAGS_familiar} ${LDFLAGS_gpe}"
-      CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_familiar} ${CFLAGS_gpe}"
-      ac_cv_gpe_headers=yes
-      AC_CHECK_HEADERS(gpe/init.h, ,
-        [ ac_cv_gpe_headers=no
-          AC_MSG_ERROR([Cannot find development headers for libgpewidget...]) ])
-      CFLAGS="${CFLAGS_save}"
-      LDFLAGS="${LDFLAG_save}"
-      if test "${ac_cv_gpe_headers}" = "yes"
-      then
-        AX_ADD_CFLAGS([familiar],[${CFLAGS_gpe}])
-        AX_ADD_LDFLAGS([familiar],[${LDFLAGS_gpe}])
-      fi
-    else
-         NEED_GTK_MAIN=yes
-    fi # end gpe support
-  fi # end gtk+ support
-fi
-
 dnl
 dnl  Gnome module
 dnl
@@ -2896,6 +2927,54 @@ then
   fi
 fi
 
+dnl
+dnl Visualisation plugin
+dnl
+AC_ARG_ENABLE(visual,
+  [  --enable-visual           visualisation plugin (default enabled)])
+if test "${enable_visual}" != "no"
+then
+    AX_ADD_PLUGINS([visual])
+fi
+
+dnl
+dnl  goom visualization plugin
+dnl
+AC_ARG_ENABLE(goom,
+[  --enable-goom         goom visualisation plugin (default disabled)])
+if test "${enable_goom}" = "yes"
+then
+  AC_ARG_WITH(goom-tree,
+    [    --with-goom-tree=PATH goom tree for static linking (required)])
+
+  dnl
+  dnl test for --with-goom-tree
+  dnl
+  if test "${with_goom_tree}" != "no" -a -n "${with_goom_tree}";then
+    AC_MSG_CHECKING(for libgoom.a in ${with_goom_tree})
+    real_goom_tree="`cd ${with_goom_tree} 2>/dev/null && pwd`"
+    if test -z "${real_goom_tree}"; then
+      dnl  The given directory can't be found
+      AC_MSG_RESULT(no)
+      AC_MSG_ERROR([cannot cd to ${with_goom_tree}])
+    fi
+    if test -f "${real_goom_tree}/libgoom.a"; then
+      AC_MSG_RESULT(${real_goom_tree}/libgoom.a)
+      AX_ADD_BUILTINS([goom])
+      AX_ADD_LDFLAGS([goom],[-L${real_goom_tree} -lgoom])
+      AX_ADD_CPPFLAGS([goom],[-I${real_goom_tree}])
+    else
+      dnl  The given libgoom wasn't built
+      AC_MSG_RESULT(no)
+      AC_MSG_ERROR([cannot find ${real_goom_tree}/libgoom.a, make sure you compiled goom in ${with_goom_tree}])
+    fi
+  else
+    dnl  The --with-goom-tree isn't specified wasn't built
+    AC_MSG_RESULT(no)
+    AC_MSG_ERROR([You have to specify a tree with --with-goom-tree])
+  fi
+fi
+
 dnl
 dnl  SLP access plugin
 dnl
@@ -2907,11 +2986,12 @@ then
   [    --with-slp=PATH       libslp headers and libraries])
   if test -z "${with_slp}"
   then
-    AC_CHECK_HEADER(slp.h, have_slp="true", have_slp="false")
+    AC_CHECK_HEADERS(slp.h, have_slp="true", have_slp="false")
     if test "${have_slp}" = "true"
     then
       AX_ADD_PLUGINS([slp])
       AX_ADD_LDFLAGS([slp],[-lslp])
+      AX_ADD_LDFLAGS([stream_out_standard],[-lslp])
     fi
   else
     AC_MSG_CHECKING(for slp headers in ${with_slp})
@@ -2921,7 +3001,9 @@ then
       AC_MSG_RESULT(yes)
       AX_ADD_PLUGINS([slp])
       AX_ADD_LDFLAGS([slp],[-L${with_slp} -lslp])
+      AX_ADD_LDFLAGS([stream_out_standard],[-L${with_slp} -lslp])
       AX_ADD_CPPFLAGS([slp],[-I${with_slp}])
+      AC_DEFINE(HAVE_SLP_H)
     else
       dnl  No libslp could be found, sorry
       AC_MSG_RESULT(no)
@@ -3056,7 +3138,7 @@ dnl
 mozilla=false
 AC_ARG_ENABLE(mozilla,
   [  --enable-mozilla        build a vlc-based Mozilla plugin (default disabled)])
-if test "${enable_mozilla}" = "yes"
+if test "${enable_mozilla}" = "yes" -a "${SYS}" != "mingw32"
 then
   AC_PATH_PROG(MOZILLA_CONFIG, mozilla-config, no)
   if test "${MOZILLA_CONFIG}" = "no"
@@ -3074,12 +3156,37 @@ 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`])
-    dnl Not necessarily in ${PATH}
-    if test -z "${XPIDL}" -o ! -x "${XPIDL}"
-    then
-      XPIDL="/usr/lib/mozilla/xpidl"
-    fi
   fi
+
+dnl special case for mingw32
+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)
+      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
+  ])
+fi
+
+dnl Not necessarily in ${PATH}
+if test -z "${XPIDL}" -o ! -x "${XPIDL}"; then
+  XPIDL="/usr/lib/mozilla/xpidl"
 fi
 AM_CONDITIONAL(BUILD_MOZILLA,${mozilla})
 
@@ -3108,24 +3215,24 @@ dnl
 if test "${NEED_GTK_MAIN}" != "no"
 then
     AX_ADD_PLUGINS([gtk_main])
-    AX_ADD_CFLAGS([gtk familiar pda],[-DNEED_GTK_MAIN])
-    AX_ADD_CFLAGS([gtk_main],[${CFLAGS_gtk} ${CFLAGS_familiar} ${CFLAGS_pda}])
-    AX_ADD_LDFLAGS([gtk_main],[${LDFLAGS_gtk} ${LDFLAGS_familiar} ${LDFLAGS_pda}])
+    AX_ADD_CFLAGS([gtk_main],[${CFLAGS_gtk}])
+    AX_ADD_LDFLAGS([gtk_main],[${LDFLAGS_gtk}])
 fi
 
 if test "${NEED_GNOME_MAIN}" != "no"
 then
     AX_ADD_PLUGINS([gnome_main])
-    AX_ADD_CFLAGS([gnome_main],[${CFLAGS_gtk} ${CFLAGS_familiar} ${CFLAGS_pda} ${CFLAGS_gnome}])
-    AX_ADD_LDFLAGS([gnome_main],[${LDFLAGS_gtk} ${LDFLAGS_familiar} ${LDFLAGS_pda} ${LDFLAGS_gnome}])
+    AX_ADD_CFLAGS([gnome_main],[${CFLAGS_gtk} ${CFLAGS_pda} ${CFLAGS_gnome}])
+    AX_ADD_LDFLAGS([gnome_main],[${LDFLAGS_gtk} ${LDFLAGS_pda} ${LDFLAGS_gnome}])
 fi
 
 if test "${NEED_GTK2_MAIN}" != "no"
 then
     AX_ADD_PLUGINS([gtk2_main])
     AX_ADD_CFLAGS([gtk2],[-DNEED_GTK2_MAIN])
-    AX_ADD_CFLAGS([gtk2_main],[${CFLAGS_gtk2}])
-    AX_ADD_LDFLAGS([gtk2_main],[${LDFLAGS_gtk2}])
+    AX_ADD_CFLAGS([pda],[-DNEED_GTK2_MAIN])
+    AX_ADD_CFLAGS([gtk2_main],[${CFLAGS_gtk2} ${CFLAGS_pda}])
+    AX_ADD_LDFLAGS([gtk2_main],[${LDFLAGS_gtk2} ${LDFLAGS_pda}])
 fi
 
 if test "${NEED_GNOME2_MAIN}" != "no"
@@ -3164,7 +3271,7 @@ AC_ARG_ENABLE(plugins,
 dnl Automagically disable plugins if there is no system support for
 dnl dynamically loadable files (.so, .dll, .dylib).
 dnl don't forget vlc-win32 still can load .dll as plugins
-if test "${ac_cv_header_dlfcn_h}" = "no" -a "${ac_cv_header_image_h}" = "no" -a "${SYS}" != "mingw32"
+if test "${ac_cv_have_plugins}" = "no"
 then
   echo "*** Your system doesn't have plugin support. All plugins will be built"
   echo "statically."
@@ -3242,6 +3349,7 @@ AC_SUBST(ASM)
 AC_SUBST(MOC)
 AC_SUBST(WINDRES)
 AC_SUBST(XPIDL)
+AC_SUBST(XPIDL_INCL)
 AC_SUBST(LIBEXT)
 AC_SUBST(INCLUDES)
 AC_SUBST(ALL_LINGUAS)
@@ -3270,6 +3378,7 @@ AC_OUTPUT([
   src/Makefile
 
   modules/access/Makefile
+  modules/access/dshow/Makefile
   modules/access/dvb/Makefile
   modules/access/dvd/Makefile
   modules/access/dvdplay/Makefile
@@ -3279,6 +3388,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
@@ -3287,19 +3397,10 @@ 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/cinepak/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/codec/subsdec/Makefile
   modules/control/Makefile
   modules/control/corba/Makefile
   modules/control/lirc/Makefile
@@ -3310,11 +3411,8 @@ AC_OUTPUT([
   modules/demux/mp4/Makefile
   modules/demux/mpeg/Makefile
   modules/demux/util/Makefile
-  modules/encoder/Makefile
-  modules/encoder/ffmpeg/Makefile
   modules/gui/Makefile
   modules/gui/beos/Makefile
-  modules/gui/familiar/Makefile
   modules/gui/pda/Makefile
   modules/gui/gtk/Makefile
   modules/gui/gtk2/Makefile
@@ -3346,6 +3444,7 @@ AC_OUTPUT([
   modules/visualization/Makefile
   modules/visualization/scope/Makefile
   modules/visualization/xosd/Makefile
+  modules/visualization/visual/Makefile
 ],[
   chmod 0755 vlc-config
 ])