]> git.sesse.net Git - vlc/blobdiff - configure.in
* ./plugins/ogg/*: added preliminary files for an Ogg/Vorbis decoder a
[vlc] / configure.in
index 23e83aca33fe9c3a26e675aa04e3410f1a01c78a..195c551346d95426356b4aca9859a62df807e401 100644 (file)
@@ -1,25 +1,11 @@
-dnl Autoconf settings for vlc and libdvdcss
+dnl Autoconf settings for vlc
 AC_INIT(include/main.h)
 AC_CONFIG_HEADER(include/defs.h)
 
 AC_CANONICAL_SYSTEM
 
-HAVE_VLC=0
-if test -r src/interface/main.c; then
-  HAVE_VLC=1
-  VLC_VERSION="0.2.92-dev"
-  VLC_CODENAME=Ourumov
-fi
-
-HAVE_LIBDVDCSS=0
-if test -r extras/libdvdcss/libdvdcss.c; then
-  HAVE_LIBDVDCSS=1
-  LIBDVDCSS_VERSION="1.0.1-dev"
-  AC_SUBST(LIBDVDCSS_VERSION)
-  if test -r extras/libdvdcss/csskeys.h; then
-    AC_DEFINE(HAVE_CSSKEYS,1,css decryption with player keys)
-  fi
-fi
+VERSION="0.2.92-dev"
+CODENAME=Ourumov
 
 dnl Save CFLAGS and LDFLAGS
 save_CFLAGS="${CFLAGS}"
@@ -33,11 +19,28 @@ AC_PROG_CPP
 dnl Find the right ranlib, even when cross-compiling
 AC_CHECK_TOOL(RANLIB, ranlib, :)
 
+dnl Check for GNU make
+AC_PATH_PROG(GMAKE, gmake, no)
+if test "x$GMAKE" = "xno"; then
+  AC_CACHE_CHECK([whether GNU make is installed],
+      [ac_cv_gmake],
+      [if make --version | grep -q -i gnu; then
+         ac_cv_gmake="yes"
+       else
+         echo "This software needs you to install GNU make to compile properly."
+         echo "You can get it from http://www.gnu.org/."
+         exit
+       fi])
+  VLC_MAKE="make"
+else
+  VLC_MAKE="gmake"
+fi
+
 dnl Gettext stuff
-ALL_LINGUAS="de fr no ru"
+ALL_LINGUAS="de fr ja no ru nl"
 
-AC_DEFINE_UNQUOTED(PACKAGE, "vlc")
-AC_DEFINE_UNQUOTED(VERSION, "$VLC_VERSION")
+AC_DEFINE_UNQUOTED(PACKAGE, "vlc", [Package name])
+AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Package version])
 AM_GNU_GETTEXT
 
 dnl AM_PROG_LIBTOOL
@@ -62,7 +65,7 @@ case x"${target_os}" in
   x*mingw32*)
     SYS=mingw32
     AC_CHECK_TOOL(WINDRES, windres, :)
-    LIB_MPEG_TS="${LIB_MPEG_TS} -lws2_32"
+    LIB_IPV4="${LIB_IPV4} -lws2_32"
     LIB_RC="${LIB_RC} -lws2_32"
     ;;
   x*nto*)
@@ -72,8 +75,9 @@ case x"${target_os}" in
     ;;
   xbeos)
     SYS=beos
-    LIB="${LIB} -lbe -lbind"
+    LIB_VLC="${LIB_VLC} -lbe"
     LIB_BEOS="${LIB_BEOS} -lbe -lgame -lroot -ltracker"
+    LIB_IPV4="${LIB_IPV4} -lbind"
     PLDFLAGS="${PLDFLAGS} -nostart"
     ;;
   x*)
@@ -84,37 +88,45 @@ esac
 dnl Check for system libs needed
 AC_CHECK_FUNCS(gettimeofday select strerror strtod strtol isatty)
 AC_CHECK_FUNC(connect,,[
-  AC_CHECK_LIB(socket,connect,LIB="${LIB} -lsocket")
+  AC_CHECK_LIB(socket,connect,
+    LIB_IPV4="${LIB_IPV4} -lsocket"
+    LIB_VLC="${LIB_VLC} -lsocket"
+)])
+AC_CHECK_FUNC(gethostbyname,,[
+  AC_CHECK_LIB(nsl,gethostbyname,LIB_IPV4="${LIB_IPV4} -lnsl")
 ])
 AC_CHECK_FUNC(gethostbyname,,[
-  AC_CHECK_LIB(nsl,gethostbyname,LIB="${LIB} -lnsl")
+  AC_CHECK_LIB(bind,gethostbyname,LIB_IPV4="${LIB_IPV4} -lbind")
 ])
 AC_CHECK_FUNC(nanosleep,,[
-  AC_CHECK_LIB(rt,nanosleep,LIB="${LIB} -lrt",[
-    AC_CHECK_LIB(posix4,nanosleep,LIB="${LIB} -lposix4")
+  AC_CHECK_LIB(rt,nanosleep,LIB_VLC="${LIB_VLC} -lrt",[
+    AC_CHECK_LIB(posix4,nanosleep,LIB_VLC="${LIB_VLC} -lposix4")
   ])
 ])
 AC_CHECK_FUNCS(usleep)
 AC_CHECK_FUNC(inet_aton,,[
-  AC_CHECK_LIB(resolv,inet_aton,LIB="${LIB} -lresolv")
+  AC_CHECK_LIB(resolv,inet_aton,LIB_VLC="${LIB_IPV4} -lresolv")
+])
+AC_CHECK_FUNC(textdomain,,[
+  AC_CHECK_LIB(intl,textdomain,LIB_VLC="${LIB_VLC} -lintl")
 ])
 AC_CHECK_FUNCS(vasprintf)
 AC_CHECK_FUNCS(swab)
 AC_CHECK_FUNCS([memalign valloc])
 
 AC_CHECK_FUNCS(sigrelse)
-AC_CHECK_FUNCS(getpwuid_r getpwuid)
+AC_CHECK_FUNCS(getpwuid)
 
 dnl Check for getopt
 NEED_GETOPT=0
 AC_CHECK_FUNC(getopt_long,[AC_DEFINE(HAVE_GETOPT_LONG,1,long getopt support)],
 [ # FreeBSD has a gnugetopt library for this:
   AC_CHECK_LIB([gnugetopt],[getopt_long],
-    [AC_DEFINE(HAVE_GETOPT_LONG,1,getopt support) LIB="${LIB} -lgnugetopt"],
+    [AC_DEFINE(HAVE_GETOPT_LONG,1,getopt support) LIB_VLC="${LIB_VLC} -lgnugetopt"],
     [NEED_GETOPT=1])])
 
 AC_TYPE_SIGNAL
-AC_CHECK_LIB(dl,dlopen,LIB="${LIB} -ldl")
+AC_CHECK_LIB(dl,dlopen,LIB_VLC="${LIB_VLC} -ldl")
 AC_CHECK_LIB(m,cos,
   LIB_IMDCT="${LIB_IMDCT} -lm"
   LIB_FILTER_DISTORT="${LIB_FILTER_DISTORT} -lm")
@@ -122,6 +134,7 @@ AC_CHECK_LIB(m,pow,
   LIB_IMDCT="${LIB_IMDCT} -lm"
   LIB_IMDCT3DN="${LIB_IMDCT3DN} -lm"
   LIB_IMDCTSSE="${LIB_IMDCTSSE} -lm"
+  LIB_CHROMA_I420_RGB="${LIB_CHROMA_I420_RGB} -lm"
 )
 
 dnl Check for pthreads - borrowed from XMMS
@@ -282,12 +295,12 @@ if test x"$ac_cv_c_omit_frame_pointer" != x"no"; then
 fi
 
 dnl Check for Darwin plugin linking flags
-AC_CACHE_CHECK([if \$CC accepts -bundle -undefined error],
+AC_CACHE_CHECK([if \$CC accepts -bundle -undefined error -lcc_dynamic],
     [ac_cv_ld_darwin],
-    [CFLAGS="${save_CFLAGS} -bundle -undefined error"
+    [CFLAGS="${save_CFLAGS} -bundle -undefined error -lcc_dynamic"
      AC_TRY_COMPILE([],,ac_cv_ld_darwin=yes, ac_cv_ld_darwin=no)])
 if test x"$ac_cv_ld_darwin" != x"no"; then
-    PLDFLAGS="${PLDFLAGS} -bundle -undefined error"
+    PLDFLAGS="${PLDFLAGS} -bundle -undefined error -lcc_dynamic"
 fi
 
 dnl Check for standard plugin linking flags
@@ -299,33 +312,6 @@ if test x"$ac_cv_ld_plugins" != x"no"; then
     PLDFLAGS="${PLDFLAGS} -shared"
 fi
         
-dnl Check for soname setting
-if test x"${SOFLAGS}" = x; then
-    AC_CACHE_CHECK([for soname setting],
-        [ac_cv_ld_soname],
-        [
-        # Standard
-        try_SOFLAGS="-Wl,-soname -Wl,"
-        LDFLAGS="${save_LDFLAGS} ${try_SOFLAGS}foo.so.0"
-        AC_TRY_LINK([],,ac_cv_ld_soname="${try_SOFLAGS}", [
-            # SunOS
-            try_SOFLAGS="-Wl,-h -Wl,"
-            LDFLAGS="${save_LDFLAGS} ${try_SOFLAGS}foo.so.0"
-            AC_TRY_LINK([],,ac_cv_ld_soname="${try_SOFLAGS}",
-                ac_cv_ld_soname=none)
-        ])])
-    if test x"$ac_cv_ld_soname" != x"none"; then
-        SOFLAGS=$ac_cv_ld_soname
-    else
-        echo "
-------------
-Your system doesn't seem to have support for dynamic linking. You may
-have problems using libdvdcss.
-------------
-"
-    fi
-fi
-
 dnl Checks for __attribute__(aligned()) directive
 AC_CACHE_CHECK([__attribute__ ((aligned ())) support],
     [ac_cv_c_attribute_aligned],
@@ -394,8 +380,10 @@ dnl
 MMX_MODULES="memcpymmx idctmmx motionmmx chroma_i420_rgb_mmx chroma_i420_yuy2_mmx chroma_i422_yuy2_mmx chroma_i420_ymga_mmx"
 MMXEXT_MODULES="memcpymmxext idctmmxext motionmmxext"
 THREEDNOW_MODULES="memcpy3dn imdct3dn downmix3dn"
+if test x$SYS != xmingw32; then
 SSE_MODULES="imdctsse downmixsse"
-ALTIVEC_MODULES="idctaltivec motionaltivec"
+fi
+ALTIVEC_MODULES="idctaltivec motionaltivec memcpyaltivec"
 
 AC_CACHE_CHECK([if \$CC groks MMX inline assembly],
     [ac_cv_mmx_inline],
@@ -487,127 +475,10 @@ AC_CACHE_CHECK([if linker needs -framework vecLib],
 if test x"$ac_cv_ld_altivec" != x"no"; then
   LIB_IDCTALTIVEC="${LIB_IDCTALTIVEC} -framework vecLib"
   LIB_MOTIONALTIVEC="${LIB_MOTIONALTIVEC} -framework vecLib"
-  LIB="${LIB} -framework vecLib"
+  LIB_VLC="${LIB_VLC} -framework vecLib"
 fi
 fi # end if mingw32
 
-dnl
-dnl  DVD and VCD devices
-dnl
-case x$SYS in
-  xmingw32)
-    DVD_DEVICE="E:"
-    VCD_DEVICE="E:"
-    ;;
-  *)
-    DVD_DEVICE="/dev/dvd"
-    VCD_DEVICE="/dev/cdrom"
-    ;;
-esac
-
-AC_DEFINE_UNQUOTED(DVD_DEVICE, "$DVD_DEVICE")
-AC_DEFINE_UNQUOTED(VCD_DEVICE, "$VCD_DEVICE")
-
-
-dnl
-dnl  libdvdcss: check for DVD ioctls
-dnl
-
-dnl  default is no
-CAN_BUILD_LIBDVDCSS=0
-
-dnl  for windoze
-AC_CHECK_HEADERS(winioctl.h,[
-  CAN_BUILD_LIBDVDCSS="${HAVE_LIBDVDCSS}"
-])
-
-dnl  for Un*x and BeOS
-AC_CHECK_HEADERS(sys/ioctl.h,[
-  CAN_BUILD_LIBDVDCSS="${HAVE_LIBDVDCSS}"
-  AC_CHECK_HEADERS(sys/cdio.h sys/dvdio.h linux/cdrom.h dvd.h)
-  BSD_DVD_STRUCT=0
-  LINUX_DVD_STRUCT=0
-  OPENBSD_DVD_STRUCT=0
-  dnl
-  dnl Old FreeBSD: sys/cdio.h
-  dnl
-  AC_EGREP_HEADER(dvd_struct,sys/cdio.h,[
-    AC_DEFINE(DVD_STRUCT_IN_SYS_CDIO_H, 1,
-              Define if <sys/cdio.h> defines dvd_struct.)
-    AC_EGREP_HEADER(struct dvd_struct,sys/cdio.h,[
-                    BSD_DVD_STRUCT=1],[LINUX_DVD_STRUCT=1; OPENBSD_DVD_STRUCT=1])
-  ])
-  dnl
-  dnl Newer FreeBSD: sys/dvdio.h
-  dnl
-  AC_EGREP_HEADER(dvd_struct,sys/dvdio.h,[
-    AC_DEFINE(DVD_STRUCT_IN_SYS_DVDIO_H, 1,
-              Define if <sys/dvdio.h> defines dvd_struct.)
-    AC_EGREP_HEADER(struct dvd_struct,sys/dvdio.h,[
-                    BSD_DVD_STRUCT=1],[LINUX_DVD_STRUCT=1])
-  ])
-  dnl
-  dnl Linux: linux/cdrom.h
-  dnl
-  AC_EGREP_HEADER(dvd_struct,linux/cdrom.h,[
-    AC_DEFINE(DVD_STRUCT_IN_LINUX_CDROM_H, 1,
-              Define if <linux/cdrom.h> defines DVD_STRUCT.)
-    LINUX_DVD_STRUCT=1
-  ])
-  dnl
-  dnl BSDI: dvd.h
-  dnl
-  NEED_BSDI_LIBDVD=0
-  AC_EGREP_HEADER(dvd_struct,dvd.h,[
-    AC_DEFINE(DVD_STRUCT_IN_DVD_H, 1,
-              Define if <dvd.h> defines DVD_STRUCT.)
-    LIB_LIBDVDCSS="${LIB_LIBDVDCSS} -ldvd"
-    LINUX_DVD_STRUCT=1
-  ],[
-    dnl
-    dnl BSDI: /sys/dev/scsi/scsi_ioctl.h, using our own libdvd
-    dnl
-    AC_CHECK_HEADERS(/sys/dev/scsi/scsi_ioctl.h,[
-      NEED_BSDI_LIBDVD=1
-      AC_DEFINE(DVD_STRUCT_IN_BSDI_DVDIOCTL_DVD_H, 1,
-                Define if <extras/BSDI_dvdioctl/dvd.h> defines DVD_STRUCT.)
-      SRC_DVDCSS_EXTRA="${SRC_DVDCSS_EXTRA} bsdi_dvdioctl.c"
-      LINUX_DVD_STRUCT=1
-    ])
-  ])
-  dnl
-  dnl Solaris: sys/scsi/scsi_types.h, sys/scsi/impl/uscsi.h
-  dnl
-  AC_CHECK_HEADER(sys/scsi/scsi_types.h,[
-    AC_CHECK_HEADER(sys/scsi/impl/uscsi.h,[
-      AC_DEFINE(SOLARIS_USCSI, 1, Have userspace SCSI headers.)
-    ])
-  ])
-  dnl
-  dnl HP-UX: sys/scsi.h
-  dnl
-  AC_CHECK_HEADER(sys/scsi.h,[
-    AC_EGREP_HEADER(sctl_io,sys/scsi.h,[
-      AC_DEFINE(HPUX_SCTL_IO, 1, Define if <sys/scsi.h> defines sctl_io.)
-    ])
-  ])
-  dnl
-  dnl Final tests to check what was detected
-  dnl
-  if test x$LINUX_DVD_STRUCT = x1; then
-    AC_DEFINE(HAVE_LINUX_DVD_STRUCT, 1,
-              Define if Linux-like dvd_struct is defined.)
-    if test x$OPENBSD_DVD_STRUCT = x1; then
-      AC_DEFINE(HAVE_OPENBSD_DVD_STRUCT, 1,
-                Define if OpenBSD-like dvd_struct is defined.)
-    fi
-  else
-    if test x$BSD_DVD_STRUCT = x1; then
-      AC_DEFINE(HAVE_BSD_DVD_STRUCT, 1,
-                Define if FreeBSD-like dvd_struct is defined.)
-    fi
-  fi
-])
 
 AC_ARG_WITH(,[])
 AC_ARG_WITH(,[Optimization options:])
@@ -668,8 +539,7 @@ dnl
 AC_ARG_ENABLE(release,
 [  --enable-release        activate extra optimizations (default disabled)],
 [ if test x$enableval = xyes; then RELEASE=1; fi ],
-[ VLC_VERSION="${VLC_VERSION}_`date +%Y-%m-%d`";
-  LIBDVDCSS_VERSION="${LIBDVDCSS_VERSION}_`date +%Y-%m-%d`"; ])
+[ VERSION="${VERSION}_`date +%Y-%m-%d`" ])
 
 dnl
 dnl  Input plugins
@@ -678,136 +548,77 @@ dnl
 AC_ARG_WITH(,[Input plugins:])
 
 dnl
-dnl  DVD module: check for installed libdvdcss or local libdvdcss
-dnl
-NEED_LIBDVDCSS=0
-STATIC_LIBDVDCSS=0
-DUMMY_LIBDVDCSS=0
-AC_ARG_WITH(dvdcss,
-  [  --with-dvdcss[=name]    use libdvdcss, either 'yes', 'no', 'local-static',
-                          'local-shared', or a path to another libdvdcss such
-                          as '/usr/local' (default 'local-static')],
-  [ case "x${withval}" in
-    xlocal-static|xyes)
-      # local libdvdcss, statically linked
-      BUILTINS="${BUILTINS} dvd"
-      if test x${CAN_BUILD_LIBDVDCSS} = x1
-      then
-        NEED_LIBDVDCSS=1
-        STATIC_LIBDVDCSS=1
-        CFLAGS_DVD="${CFLAGS_DVD} -I../../extras/libdvdcss"
-        LIB_DVD="${LIB_DVD} lib/libdvdcss.a ${LIB_LIBDVDCSS}"
-      fi
-    ;;
-    xlocal-shared)
-      # local libdvdcss, dynamically linked
-      PLUGINS="${PLUGINS} dvd"
-      if test x${CAN_BUILD_LIBDVDCSS} = x1
-      then
-        NEED_LIBDVDCSS=1
-        CFLAGS_DVD="${CFLAGS_DVD} -I../../extras/libdvdcss"
-        LIB_DVD="${LIB_DVD} -L../../lib -ldvdcss"
-      fi
-    ;;
-    xno)
-      # don't use libdvdcss at all, build a DVD module that can dlopen() it
-      PLUGINS="${PLUGINS} dvd"
-      DUMMY_LIBDVDCSS=1
-      SRC_DVD_EXTRA="${SRC_DVD_EXTRA} dummy_dvdcss.c"
-      CFLAGS_DVD="${CFLAGS_DVD} -DGOD_DAMN_DMCA"
-      CFLAGS_DVD="${CFLAGS_DVD} -DLIBDVDCSS_VERSION=\"${LIBDVDCSS_VERSION}\""
-      LIB_DVD="${LIB_DVD} -ldl"
-    ;;
-    *)
-      # existing libdvdcss
-      PLUGINS="${PLUGINS} dvd"
-      if test "x$withval" != "xyes"
-      then
-        LIB_DVD="${LIB_DVD} -L"$withval"/lib"
-        CFLAGS_DVD="${CFLAGS_DVD} -I"$withval"/include"
-      fi
-      LIB_DVD="${LIB_DVD} -ldvdcss"
-    esac ],
-  # user didn't decide, we choose to use local libdvdcss and link statically
-  # if libdvdcss is in the archive, or to use the dummy replacement otherwise.
-  [ if test x${CAN_BUILD_LIBDVDCSS} = x1
+dnl  DVD module: optionally check for installed libdvdcss
+dnl
+AC_ARG_ENABLE(dvd,
+[  --enable-dvd            DVD input module (default enabled)])
+if test "x$enableval" != "xno"
+then
+  AC_ARG_WITH(dvdcss, 
+  [    --with-dvdcss=PATH    libdvdcss headers and libraries])
+  case "x$with_dvdcss" in
+  x)
+    AC_CHECK_HEADERS(dvdcss/dvdcss.h,
+      [ PLUGINS="${PLUGINS} dvd"
+        LIB_DVD="${LIB_DVD} -ldvdcss" ])
+  ;;
+  xno)
+    PLUGINS="${PLUGINS} dvd"
+    CFLAGS_DVD="${CFLAGS_DVD} -DGOD_DAMN_DMCA"
+    LIB_DVD="${LIB_DVD} -ldl"
+  ;;
+  *)
+    AC_MSG_CHECKING(for dvdcss headers in ${withval})
+    if test -f ${withval}/include/dvdcss/dvdcss.h
     then
-      BUILTINS="${BUILTINS} dvd"
-      NEED_LIBDVDCSS=1
-      STATIC_LIBDVDCSS=1
-      CFLAGS_DVD="${CFLAGS_DVD} -I../../extras/libdvdcss"
-      LIB_DVD="${LIB_DVD} lib/libdvdcss.a ${LIB_LIBDVDCSS}"
-    else
-      # XXX: no check for libdl is done, don't try this at home !
+      AC_MSG_RESULT(yes)
       PLUGINS="${PLUGINS} dvd"
-      DUMMY_LIBDVDCSS=1
-      SRC_DVD_EXTRA="${SRC_DVD_EXTRA} dummy_dvdcss.c"
-      CFLAGS_DVD="${CFLAGS_DVD} -DGOD_DAMN_DMCA"
-      LIB_DVD="${LIB_DVD} -ldl"
-    fi ])
+      LIB_DVD="${LIB_DVD} -L${withval}/lib -ldvd"
+      CFLAGS_DVD="${CFLAGS_DVD} -I${withval}/include"
+    else
+      AC_MSG_RESULT(no)
+      AC_MSG_ERROR([Cannot find ${withval}/dvdcss/dvdcss.h])
+    fi
+  ;;
+  esac
+fi
 
 dnl
-dnl DVDREAD module: check for libdvdread plugin
+dnl dvdread module: check for libdvdread plugin
 dnl
-if test x${DUMMY_LIBDVDCSS} = x1; then STATIC_LIBDVDREAD=1; fi
-if test x${STATIC_LIBDVDCSS} = x1; then STATIC_LIBDVDREAD=1; fi
-AC_ARG_WITH(dvdread,
-  [  --with-dvdread[=name]   use libdvdread, same options as dvdcss (default 'no')],
-  [ case "x${withval}" in
-    xlocal-static|xyes)
-      if test x${STATIC_LIBDVDREAD} = x1
-      then
-        BUILTINS="${BUILTINS} dvdread" 
-        CFLAGS_DVDREAD="${CFLAGS_DVDREAD} ${CFLAGS_DVD} -I../../extras/libdvdread"
-        LIB_DVDREAD="${LIB_DVDREAD} lib/libdvdread.a ${LIB_DVD}"
-      else
-        AC_MSG_ERROR([Can't link static dvdread with shared dvdcss])
-      fi
-    ;;
-    xno)
-    ;;
-    x)
-      if test x${STATIC_LIBDVDREAD} = x1
-      then
-        #BUILTINS="${BUILTINS} dvdread" 
-        CFLAGS_DVDREAD="${CFLAGS_DVDREAD} ${CFLAGS_DVD} -I../../extras/libdvdread"
-        LIB_DVDREAD="${LIB_DVDREAD} lib/libdvdread.a ${LIB_DVD}"
-      else
-        #PLUGINS="${PLUGINS} dvdread"
-        CFLAGS_DVDREAD="${CFLAGS_DVDREAD} -I../../extras/libdvdread  ${CFLAGS_DVD}"
-        LIB_DVDREAD="${LIB_DVDREAD} -Llib -ldvdread ${LIB_DVD}"
-      fi 
-    ;;
-    *)
-      if test "x$withval" != "xlocal-shared"
-      then
-        LIB_DVDREAD="${LIB_DVDREAD} -L"$withval"/lib"
-        CFLAGS_DVDREAD="${CFLAGS_DVDREAD} -I"$withval"/include"
-      else
-        LIB_DVDREAD="${LIB_DVDREAD} -L../../lib"
-        CFLAGS_DVDREAD="${CFLAGS_DVDREAD} -I../../extras/libdvdread"
-      fi
-      if test x${STATIC_LIBDVDCSS} = x1
-      then
-        AC_MSG_ERROR([Can't link shared dvdread with static dvdcss])
-      else
-        #PLUGINS="${PLUGINS} dvdread"
-        CFLAGS_DVDREAD="${CFLAGS_DVDREAD} ${CFLAGS_DVD}"
-        LIB_DVDREAD="${LIB_DVDREAD} -ldvdread ${LIB_DVD}"
-      fi
-    esac
-    if test x${DUMMY_LIBDVDCSS} = x1
+AC_ARG_ENABLE(dvdread,
+[  --enable-dvdread        dvdread input module (default disabled)])
+if test "x$enableval" != "xno"
+then
+  AC_ARG_WITH(dvdread, 
+  [    --with-dvdread=PATH   libdvdread headers and libraries])
+  case "x$with_dvdread" in
+  x)
+    AC_CHECK_HEADERS(dvdread/dvd_reader.h,
+      [ PLUGINS="${PLUGINS} dvdread"
+        LIB_DVDREAD="${LIB_DVDREAD} -ldvdread" ])
+  ;;
+  *)
+    AC_MSG_CHECKING(for dvdread headers in ${withval})
+    if test -f ${withval}/include/dvdread/dvd_reader.h
     then
-      LIB_LIBDVDREAD="${LIB_LIBDVDREAD} -ldl"
+      AC_MSG_RESULT(yes)
+      PLUGINS="${PLUGINS} dvdread"
+      LIB_DVDREAD="${LIB_DVDREAD} -L${withval}/lib -ldvdread"
+      CFLAGS_DVDREAD="${CFLAGS_DVDREAD} -I${withval}/include"
     else
-      LIB_LIBDVDREAD="${LIB_LIBDVDREAD} -L../../lib -ldvdcss"
-    fi ])
+      AC_MSG_RESULT(no)
+      AC_MSG_ERROR([Cannot find ${withval}/dvdread/dvd_reader.h])
+    fi
+  ;;
+  esac
+fi
 
 dnl
 dnl  VCD module
 dnl
 AC_ARG_ENABLE(vcd,
-  [  --enable-vcd            VCD support for Linux (default enabled)])
+  [  --enable-vcd            VCD support for Linux and MacOS X (default enabled)])
 
 if test x$enable_vcd != xno
 then
@@ -823,15 +634,25 @@ then
   if test "x${SYS}" = "xdarwin"
   then
     PLUGINS="${PLUGINS} vcd"
-    LIB_VCD="${LIB_VCD} -framework IOKit" 
+    LIB_VCD="${LIB_VCD} -framework IOKit -framework CoreFoundation
   fi
 fi
 
+dnl
+dnl  Satellite input module
+dnl
+AC_ARG_ENABLE(satellite,
+  [  --enable-satellite      satellite card support (default disabled)],
+  [ if test x$enable_satellite = xyes
+    then
+      BUILTINS="${BUILTINS} satellite"
+      AC_DEFINE(HAVE_SATELLITE, 1, define if compiling with satellite card support)
+    fi])
+
 dnl
 dnl  ipv6 plugin
 dnl
-AC_EGREP_HEADER(in6_addr,netinet/in.h,[
-  PLUGINS="${PLUGINS} ipv6"])
+AC_CHECK_FUNC(inet_pton,[PLUGINS="${PLUGINS} ipv6"])
 
 dnl
 dnl  Codec plugins
@@ -844,7 +665,7 @@ dnl  mad plugin
 dnl
 AC_ARG_ENABLE(mad,
   [  --enable-mad            libmad module (default disabled)])
-if test x$enable_mad == xyes
+if test x$enable_mad = xyes
 then
   PLUGINS="${PLUGINS} mad"
   LIB_MAD="${LIB_MAD} -lmad"
@@ -883,15 +704,28 @@ dnl
 dnl  a52 AC3 decoder plugin
 dnl
 AC_ARG_ENABLE(a52,
-  [  --disable-a52           AC3 support with liba52 (default enabled)])
+  [  --enable-a52            AC3 support with liba52 (default enabled)])
 if test "x$enableval" != "xno" -a x$SYS != xmingw32
   then
     AC_CHECK_HEADERS(a52dec/a52.h, [
       BUILTINS="${BUILTINS} a52"
-      LIB_A52="${LIB_A52} -la52"
+      LIB_A52="${LIB_A52} -la52 -lm"
      ],[])
 fi
 
+dnl
+dnl  ogg vorbis plugin
+dnl
+AC_ARG_ENABLE(vorbis,
+  [  --enable-vorbis             Ogg/Vorbis decoder support (default enabled)])
+if test "x$enableval" != "xno"
+then
+  AC_CHECK_HEADERS(ogg/ogg.h, [
+    PLUGINS="${PLUGINS} vorbis"
+    LIB_VORBIS="${LIB_VORBIS} -lvorbis"
+   ],[])
+fi
+
 dnl
 dnl  Video plugins
 dnl
@@ -903,7 +737,7 @@ dnl  X11 module
 dnl  (enabled by default except on win32)
 dnl
 AC_ARG_ENABLE(x11,
-  [  --disable-x11           X11 support (default enabled)])
+  [  --enable-x11            X11 support (default enabled)])
 if test x$enable_x11 != xno &&
   (test x$SYS != xmingw32 || test x$enable_x11 = xyes); then
   if test x$x_includes = xNONE; then
@@ -927,7 +761,7 @@ dnl  XVideo module
 dnl  (enabled by default except on win32)
 dnl
 AC_ARG_ENABLE(xvideo,
-  [  --disable-xvideo        XVideo support (default enabled)])
+  [  --enable-xvideo         XVideo support (default enabled)])
 if test x$enable_xvideo != xno &&
   (test x$SYS != xmingw32 || test x$enable_xvideo = xyes); then
   if test x$x_includes = xNONE; then
@@ -959,7 +793,7 @@ dnl
 dnl  SDL module
 dnl
 AC_ARG_ENABLE(sdl,
-  [  --disable-sdl           SDL support (default enabled)])
+  [  --enable-sdl            SDL support (default enabled)])
 if test "x$enable_sdl" != "xno"
 then
   SDL_PATH=$PATH
@@ -1020,7 +854,7 @@ if test "x$enableval" != "xno"
 then
   if test x$SYS = xmingw32
   then
-    AC_ARG_WITH(directx-path
+    AC_ARG_WITH(directx, 
     [    --with-directx=PATH   Win32 DirectX headers and libraries])
     if test "x$with_directx" = "x"
     then
@@ -1070,7 +904,7 @@ dnl  GGI module
 dnl
 AC_ARG_ENABLE(ggi,
   [  --enable-ggi            GGI support (default disabled)])
-if test x$enable_ggi == xyes
+if test x$enable_ggi = xyes
 then
   PLUGINS="${PLUGINS} ggi"
   LIB_GGI="${LIB_GGI} -lggi"
@@ -1088,7 +922,7 @@ dnl  Glide module
 dnl
 AC_ARG_ENABLE(glide,
   [  --enable-glide          Glide (3dfx) support (default disabled)])
-if test x$enable_glide == xyes
+if test x$enable_glide = xyes
 then
   PLUGINS="${PLUGINS} glide"
   LIB_GLIDE="${LIB_GLIDE} -lglide2x -lm"
@@ -1102,6 +936,21 @@ then
       fi ])
 fi
 
+dnl
+dnl  AA plugin
+dnl
+AC_ARG_ENABLE(aa,
+  [  --enable-aa             aalib output (default disabled)])
+if test x$enable_aa = xyes
+then
+  AC_CHECK_HEADER(aalib.h,have_aa="true",have_aa="false")
+  if test x$have_aa = xtrue
+  then
+    PLUGINS="${PLUGINS} aa"
+    LIB_AA="${LIB_AA} -laa"
+  fi
+fi
+
 dnl
 dnl  Audio plugins
 dnl
@@ -1191,7 +1040,7 @@ dnl
 dnl  Gtk+ module
 dnl
 AC_ARG_ENABLE(gtk,
-  [  --disable-gtk           Gtk+ support (default enabled)])
+  [  --enable-gtk            Gtk+ support (default enabled)])
 if test x$enable_gtk != xno
 then
   GTK_PATH=$PATH
@@ -1305,15 +1154,15 @@ AC_ARG_ENABLE(macosx,
   [if test x$enable_macosx = xyes
    then
      BUILTINS="${BUILTINS} macosx"
-     LIB_MACOSX="${LIB_MACOSX} -framework CoreAudio -framework Cocoa -framework AGL -framework QuickTime -lobjc"
+     LIB_MACOSX="${LIB_MACOSX} -framework CoreAudio -framework AudioToolbox -framework Cocoa -framework AGL -framework QuickTime -lobjc"
      CFLAGS_MACOSX="${CFLAGS_MACOSX} -ObjC"
-     LIB="${LIB} -ObjC"
+     LIB_COMMON="${LIB_COMMON} -ObjC"
    fi],
   [AC_CHECK_HEADERS(Cocoa/Cocoa.h,
      BUILTINS="${BUILTINS} macosx"
-     LIB_MACOSX="${LIB_MACOSX} -framework CoreAudio -framework Cocoa -framework AGL -framework QuickTime -lobjc"
+     LIB_MACOSX="${LIB_MACOSX} -framework CoreAudio -framework AudioToolbox -framework Cocoa -framework AGL -framework QuickTime -lobjc"
      CFLAGS_MACOSX="${CFLAGS_MACOSX} -ObjC"
-     LIB="${LIB} -ObjC"
+     LIB_COMMON="${LIB_COMMON} -ObjC"
    )])
 
 dnl
@@ -1452,7 +1301,7 @@ AC_ARG_ENABLE(cprof,
 [  --enable-cprof          cprof profiling (default disabled)],
 [ if test x$enableval = xyes;
   then
-    LIB="${LIB} -lcprof"
+    LIB_COMMON="${LIB_COMMON} -lcprof"
     CPROF=1
   fi
 ])
@@ -1485,7 +1334,7 @@ AC_ARG_ENABLE(st,
     fi])
 ])
 
-LIB="${LIB} ${THREAD_LIB}"
+LIB_COMMON="${LIB_COMMON} ${THREAD_LIB}"
 
 dnl
 dnl  Plug-ins - this must be AT THE END
@@ -1498,15 +1347,25 @@ AC_ARG_ENABLE(plugins,
      PLUGINS=
    fi])
 
+dnl Automagically disable plug-ins if there is no system support for .so files
+dnl don't forget vlc-win32 still can load .so as plugins
+if test x$ac_cv_header_dlfcn_h = xno -a x$ac_cv_header_image_h = xno -a x$SYS != xmingw32
+then
+  echo "*** Your system doesn't have plug-in support. All plug-ins will be compiled"
+  echo "as built-in"
+  BUILTINS="${BUILTINS} ${PLUGINS}"
+  PLUGINS=
+fi
+
 dnl
 dnl  Stuff used by the program
 dnl
-AC_DEFINE_UNQUOTED(VERSION_MESSAGE, "vlc $VLC_VERSION $VLC_CODENAME Copyright 1996-2001 VideoLAN\n")
-AC_DEFINE_UNQUOTED(COPYRIGHT_MESSAGE, "VideoLAN Client - version $VLC_VERSION $VLC_CODENAME - (c) 1996-2002 VideoLAN")
+AC_DEFINE_UNQUOTED(VERSION_MESSAGE, "vlc $VERSION $CODENAME Copyright 1996-2002 VideoLAN\n", [Simple version string])
+AC_DEFINE_UNQUOTED(COPYRIGHT_MESSAGE, "VideoLAN Client - version $VERSION $CODENAME - (c) 1996-2002 VideoLAN", [Copyright string])
 
-VLC_SYMBOL="`echo ${VLC_VERSION} | tr .- __`"
-AC_DEFINE_UNQUOTED(MODULE_SUFFIX, "__MODULE_$VLC_SYMBOL")
-AC_DEFINE_UNQUOTED(MODULE_SYMBOL, $VLC_SYMBOL)
+VLC_SYMBOL="`echo ${VERSION} | tr .- __`"
+AC_DEFINE_UNQUOTED(MODULE_SUFFIX, "__MODULE_$VLC_SYMBOL", [String suffix for module functions])
+AC_DEFINE_UNQUOTED(MODULE_SYMBOL, $VLC_SYMBOL, [Symbol suffix for module functions])
 
 DATA_PATH="${ac_tool_prefix}/share/videolan"
 AC_SUBST(DATA_PATH)
@@ -1534,17 +1393,19 @@ AC_SUBST(WINDRES)
 AC_SUBST(DLL_PATH)
 AC_SUBST(PACKAGE)
 AC_SUBST(VERSION)
-AC_SUBST(VCD_DEVICE)
-AC_SUBST(DVD_DEVICE)
 
 AC_SUBST(LDFLAGS)
 AC_SUBST(PLDFLAGS)
-AC_SUBST(SOFLAGS)
 
-AC_SUBST(LIB)
+AC_SUBST(LIB_COMMON)
+AC_SUBST(LIB_VLC)
+
+AC_SUBST(LIB_A52)
+AC_SUBST(LIB_AA)
 AC_SUBST(LIB_ALSA)
 AC_SUBST(LIB_ARTS)
 AC_SUBST(LIB_BEOS)
+AC_SUBST(LIB_CHROMA_I420_RGB)
 AC_SUBST(LIB_DARWIN)
 AC_SUBST(LIB_DIRECTX)
 AC_SUBST(LIB_DSP)
@@ -1560,10 +1421,9 @@ AC_SUBST(LIB_IDCTALTIVEC)
 AC_SUBST(LIB_IMDCT)
 AC_SUBST(LIB_IMDCT3DN)
 AC_SUBST(LIB_IMDCTSSE)
+AC_SUBST(LIB_IPV4)
+AC_SUBST(LIB_IPV6)
 AC_SUBST(LIB_KDE)
-AC_SUBST(LIB_A52)
-AC_SUBST(LIB_LIBDVDCSS)
-AC_SUBST(LIB_LIBDVDREAD)
 AC_SUBST(LIB_LIRC)
 AC_SUBST(LIB_MACOSX)
 AC_SUBST(LIB_MAD)
@@ -1575,12 +1435,15 @@ AC_SUBST(LIB_QT)
 AC_SUBST(LIB_RC)
 AC_SUBST(LIB_SDL)
 AC_SUBST(LIB_VCD)
+AC_SUBST(LIB_VORBIS)
 AC_SUBST(LIB_WAVEOUT)
 AC_SUBST(LIB_WIN32)
 AC_SUBST(LIB_X11)
 AC_SUBST(LIB_XVIDEO)
 
+AC_SUBST(CFLAGS_COMMON)
 AC_SUBST(CFLAGS_VLC)
+
 AC_SUBST(CFLAGS_ARTS)
 AC_SUBST(CFLAGS_DVD)
 AC_SUBST(CFLAGS_DVDREAD)
@@ -1590,7 +1453,6 @@ AC_SUBST(CFLAGS_GNOME)
 AC_SUBST(CFLAGS_GTK)
 AC_SUBST(CFLAGS_KDE)
 AC_SUBST(CFLAGS_IDCTALTIVEC)
-AC_SUBST(CFLAGS_LIBDVDCSS)
 AC_SUBST(CFLAGS_MACOSX)
 AC_SUBST(CFLAGS_MAD)
 AC_SUBST(CFLAGS_MOTIONALTIVEC)
@@ -1602,61 +1464,29 @@ AC_SUBST(CFLAGS_WIN32)
 AC_SUBST(CFLAGS_X11)
 AC_SUBST(CFLAGS_XVIDEO)
 
-AC_SUBST(SRC_DVD_EXTRA)
-AC_SUBST(SRC_DVDCSS_EXTRA)
-
 AC_SUBST(NEED_GETOPT)
-AC_SUBST(NEED_LIBDVDCSS)
 
 AC_OUTPUT([Makefile.opts po/Makefile.in])
 
 echo "
-global configuration
+vlc configuration
 --------------------
+vlc version           : ${VERSION}
 system                : ${SYS}
 architecture          : ${ARCH}
 optimizations         : ${OPTIMS}
-tuning:               : ${TUNING}
-release:              : ${RELEASE}"
-
-if test x${HAVE_VLC} = x1
-then
-  echo "
-vlc configuration
------------------
-vlc version           : ${VLC_VERSION}
+tuning                : ${TUNING}
 debug mode            : ${DEBUG}
+release               : ${RELEASE}
 cprof/gprof support   : ${CPROF}/${GPROF}
 need builtin getopt   : ${NEED_GETOPT}
 built-in modules      :${BUILTINS}
 plug-in modules       :${PLUGINS}
-vlc aliases           :${ALIASES}"
-fi
-
-echo "
-libdvdcss configuration
------------------------
-can be built          : ${CAN_BUILD_LIBDVDCSS}
-will be built         : ${NEED_LIBDVDCSS}"
-if test x${NEED_LIBDVDCSS} = x1
-then
-  echo "need BSDI libdvd      : ${NEED_BSDI_LIBDVD}"
-  echo "link statically       : ${STATIC_LIBDVDCSS}"
-else
-  echo "use dummy replacement : ${DUMMY_LIBDVDCSS}"
-fi
+vlc aliases           :${ALIASES}
 
-echo "
 You may now tune Makefile.opts at your convenience, for instance to choose
 which modules get compiled as plugins.
+
+To build vlc and its plugins, type \`$VLC_MAKE'.
 "
-if test x${HAVE_VLC} = x1
-then
-  echo "To build vlc and its plugins, type \`make'."
-fi
-if test x${NEED_LIBDVDCSS} = x1
-then
-  echo "To build libdvdcss only, type \`make libdvdcss'."
-fi
-echo ""