]> git.sesse.net Git - vlc/blobdiff - configure.ac.in
* ./configure.ac.in: removed the --with-bcbuilder flag.
[vlc] / configure.ac.in
index 9d2f36867472f66b53d487953dc703d8df99ffb3..c8db276b73baece621ba1c9e5135db9c91919fd4 100644 (file)
@@ -1,6 +1,6 @@
 dnl Autoconf settings for vlc
 
-AC_INIT(vlc,0.5.0-cvs)
+AC_INIT(vlc,0.5.0-test3)
 
 CONFIGURE_LINE="$0 $*"
 CODENAME="Natalya"
@@ -11,7 +11,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.5.0-cvs)
+AM_INIT_AUTOMAKE(vlc,0.5.0-test3)
 AM_CONFIG_HEADER(config.h)
 
 dnl
@@ -33,6 +33,10 @@ AC_PROG_CXX
 AC_PROG_MAKE_SET
 AC_PROG_INSTALL
 
+dnl AC_PROG_EGREP only exists in autoconf 2.54+, so we use AC_EGREP_CPP right
+dnl now otherwise it might be set in an obscure if statement.
+AC_EGREP_CPP(foo,foo)
+
 dnl AC_PROG_OBJC doesn't seem to exist, this is the KDE workaround
 AC_MSG_CHECKING(for an Objective-C compiler)
 OBJC="${CXX}"
@@ -48,18 +52,8 @@ AC_MSG_RESULT(not implemented yet)
 dnl Find the right ranlib, even when cross-compiling
 AC_CHECK_TOOL(RANLIB, ranlib, :)
 AC_CHECK_TOOL(STRIP, strip, :)
-
-dnl
-dnl Gettext stuff
-dnl
-ALL_LINGUAS="de en_GB fr ja no ru nl pl se"
-AM_GNU_GETTEXT_VERSION(0.10.40)
-AM_GNU_GETTEXT
-if test "${nls_cv_force_use_gnu_gettext}" = "yes"; then
-  AC_DEFINE(HAVE_INCLUDED_GETTEXT, 1, Define if we use the local libintl)
-  INCLUDES="${INCLUDES} -I\\\$(top_srcdir)/intl"
-fi
-AM_CONDITIONAL(BUILD_INTL, test "${nls_cv_force_use_gnu_gettext}" = "yes")
+AC_CHECK_TOOL(AR, ar, :)
+AC_CHECK_TOOL(LD, ld, :)
 
 dnl AM_PROG_LIBTOOL
 AC_PROG_INSTALL
@@ -88,6 +82,7 @@ case "x${target_os}" in
     SYS=bsdi
     CFLAGS_save="${CFLAGS_save} -pthread"; CFLAGS="${CFLAGS_save}"
     LDFLAGS_dvd="${LDFLAGS_dvd} -ldvd"
+    LDFLAGS_dvdcss="${LDFLAGS_dvdcss} -ldvd"
     LDFLAGS_vcd="${LDFLAGS_vcd} -ldvd"
     ;;
   x*bsd*)
@@ -96,9 +91,9 @@ case "x${target_os}" in
     ;;
   xdarwin*)
     SYS=darwin
-    CFLAGS_save="${CFLAGS_save} -no-cpp-precomp"; CFLAGS="${CFLAGS_save}"
-    CXXFLAGS_save="${CXXFLAGS_save} -no-cpp-precomp"; CXXFLAGS="${CXXFLAGS_save}"
-    OBJCFLAGS_save="${OBJCFLAGS_save} -no-cpp-precomp"; OBJCFLAGS="${OBJCFLAGS_save}"
+    CFLAGS_save="${CFLAGS_save} -no-cpp-precomp -D_INTL_REDIRECT_MACROS"; CFLAGS="${CFLAGS_save}"
+    CXXFLAGS_save="${CXXFLAGS_save} -no-cpp-precomp -D_INTL_REDIRECT_MACROS"; CXXFLAGS="${CXXFLAGS_save}"
+    OBJCFLAGS_save="${OBJCFLAGS_save} -no-cpp-precomp -D_INTL_REDIRECT_MACROS"; OBJCFLAGS="${OBJCFLAGS_save}"
     LDFLAGS_vlc="${LDFLAGS_vlc} -all_load"
     LIBEXT=".dylib"
     ;;
@@ -130,8 +125,9 @@ case "x${target_os}" in
         LDFLAGS_ipv6="${LDFLAGS_ipv6} -lws2_32"
         LDFLAGS_access_http="${LDFLAGS_access_http} -lws2_32"
         LDFLAGS_access_mms="${LDFLAGS_access_mms} -lws2_32"
-        LDFLAGS_access_rtp="${LDFLAGS_access_rtp} -lws2_32"
         LDFLAGS_access_udp="${LDFLAGS_access_udp} -lws2_32"
+        LDFLAGS_access_ftp="${LDFLAGS_access_ftp} -lws2_32"
+        LDFLAGS_access_output_udp="${LDFLAGS_access_output_udp} -lws2_32"
         LDFLAGS_rc="${LDFLAGS_rc} -lws2_32"
         LDFLAGS_sap="${LDFLAGS_sap} -lws2_32"
     fi
@@ -169,6 +165,26 @@ AM_CONDITIONAL(HAVE_BEOS, test "x${SYS}" = "xbeos")
 AM_CONDITIONAL(HAVE_DARWIN, test "x${SYS}" = "xdarwin")
 AM_CONDITIONAL(HAVE_WIN32, test "x${SYS}" = "xmingw32")
 
+dnl
+dnl Gettext stuff
+dnl
+ALL_LINGUAS="de en_GB fr it ja no ru nl pl sv"
+AM_GNU_GETTEXT_VERSION(0.10.40)
+AM_GNU_GETTEXT
+if test "${nls_cv_force_use_gnu_gettext}" = "yes"; then
+  AC_DEFINE(HAVE_INCLUDED_GETTEXT, 1, Define if we use the local libintl)
+  INCLUDES="${INCLUDES} -I\\\$(top_srcdir)/intl"
+else
+  AC_CHECK_FUNCS(textdomain,,[
+    AC_CHECK_LIB(intl,textdomain,
+      LDFLAGS_vlc="${LDFLAGS_vlc} -lintl"
+      LDFLAGS_plugins="${LDFLAGS_plugins} -lintl"
+    )
+  ])
+fi
+AM_CONDITIONAL(BUILD_INTL, test "${nls_cv_force_use_gnu_gettext}" = "yes")
+XGETTEXT="${XGETTEXT} --keyword=_NS"
+
 AC_MSG_CHECKING(for suffix of libraries)
 AC_MSG_RESULT(${LIBEXT})
 
@@ -248,37 +264,33 @@ need_libc=false
 AC_CHECK_FUNCS(gettimeofday select strerror strtod strtol isatty vasprintf swab sigrelse getpwuid memalign posix_memalign gethostbyname2 atoll getenv putenv setenv)
 
 dnl Check for usual libc functions
-AC_CHECK_FUNCS(strdup,,[need_libc=:])
-AC_CHECK_FUNCS(strndup,,[need_libc=:])
-AC_CHECK_FUNCS(atof,,[need_libc=:])
-AC_CHECK_FUNCS(lseek,,[need_libc=:])
-AC_CHECK_FUNCS(strcasecmp,,[AC_CHECK_FUNCS(stricmp,,[need_libc=:])])
-AC_CHECK_FUNCS(strncasecmp,,[AC_CHECK_FUNCS(strnicmp,,[need_libc=:])])
+AC_CHECK_FUNCS(strdup strndup atof lseek)
+AC_CHECK_FUNCS(strcasecmp,,[AC_CHECK_FUNCS(stricmp)])
+AC_CHECK_FUNCS(strncasecmp,,[AC_CHECK_FUNCS(strnicmp)])
 
-AM_CONDITIONAL(BUILD_LIBC, ${need_libc})
-
-AC_CHECK_FUNC(connect,,[
+AC_CHECK_FUNCS(connect,,[
   AC_CHECK_LIB(socket,connect,
     LDFLAGS_ipv4="${LDFLAGS_ipv4} -lsocket"
     LDFLAGS_vlc="${LDFLAGS_vlc} -lsocket"
 )])
 
-AC_CHECK_FUNC(send,,[
+AC_CHECK_FUNCS(send,,[
   AC_CHECK_LIB(socket,send,
     LDFLAGS_access_http="${LDFLAGS_access_http} -lsocket"
     LDFLAGS_access_mms="${LDFLAGS_access_mms} -lsocket"
-    LDFLAGS_access_rtp="${LDFLAGS_access_rtp} -lsocket"
     LDFLAGS_access_udp="${LDFLAGS_access_udp} -lsocket"
+    LDFLAGS_access_ftp="${LDFLAGS_access_ftp} -lsocket"
     LDFLAGS_sap="${LDFLAGS_sap} -lsocket"
+    LDFLAGS_access_output_udp="${LDFLAGS_access_output_udp} -lsocket"
 )])
 
-AC_CHECK_FUNC(gethostbyname,,[
+AC_CHECK_FUNCS(gethostbyname,,[
   AC_CHECK_LIB(nsl,gethostbyname,LDFLAGS_ipv4="${LDFLAGS_ipv4} -lnsl",[
     AC_CHECK_LIB(bind,gethostbyname,LDFLAGS_ipv4="${LDFLAGS_ipv4} -lbind")])
 ])
 
 have_nanosleep=false
-AC_CHECK_FUNC(nanosleep,have_nanosleep=:,[
+AC_CHECK_FUNCS(nanosleep,have_nanosleep=:,[
   AC_CHECK_LIB(rt,nanosleep,
     [LDFLAGS_vlc="${LDFLAGS_vlc} -lrt"; have_nanosleep=:],
     [AC_CHECK_LIB(posix4,nanosleep,
@@ -306,19 +318,13 @@ fi
 dnl HP/UX port
 AC_CHECK_LIB(rt,sem_init, [LDFLAGS_vlc="${LDFLAGS_vlc} -lrt"])
 
-AC_CHECK_FUNC(inet_aton,,[
+AC_CHECK_FUNCS(inet_aton,,[
   AC_CHECK_LIB(resolv,inet_aton,LDFLAGS_ipv4="${LDFLAGS_ipv4} -lresolv")
 ])
-AC_CHECK_FUNC(textdomain,,[
-  AC_CHECK_LIB(intl,textdomain,
-    LDFLAGS_vlc="${LDFLAGS_vlc} -lintl"
-    LDFLAGS_plugins="${LDFLAGS_plugins} -lintl"
-  )
-])
 
 dnl Check for getopt
 need_getopt=false
-AC_CHECK_FUNC(getopt_long,[AC_DEFINE(HAVE_GETOPT_LONG,1,long getopt support)],
+AC_CHECK_FUNCS(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) LDFLAGS_vlc="${LDFLAGS_vlc} -lgnugetopt"],
@@ -352,7 +358,7 @@ if test "x${THREAD_LIB}" = "xerror"; then
   AC_CHECK_LIB(c_r,main,THREAD_LIB="-lc_r")
 fi
 if test "x${THREAD_LIB}" = "xerror"; then
-  AC_CHECK_FUNC(pthread_mutex_lock)
+  AC_CHECK_FUNCS(pthread_mutex_lock)
   THREAD_LIB=""
 fi
 
@@ -360,15 +366,26 @@ dnl Check for cthreads under GNU/Hurd for instance
 AC_CHECK_LIB(threads,cthread_fork,THREAD_LIB="-lthreads")
 
 dnl Check for misc headers
+AC_MSG_CHECKING(for pthread_cond_t in pthread.h)
 AC_EGREP_HEADER(pthread_cond_t,pthread.h,[
+  AC_MSG_RESULT(yes)
   AC_DEFINE(PTHREAD_COND_T_IN_PTHREAD_H, 1,
-            Define if <pthread.h> defines pthread_cond_t.)])
+            Define if <pthread.h> defines pthread_cond_t.)],[
+  AC_MSG_RESULT(no)])
+
+AC_MSG_CHECKING(for pthread_once in pthread.h)
 AC_EGREP_HEADER(pthread_once,pthread.h,[
+  AC_MSG_RESULT(yes)
   AC_DEFINE(PTHREAD_ONCE_IN_PTHREAD_H, 1,
-            Define if <pthread.h> defines pthread_once.)])
+            Define if <pthread.h> defines pthread_once.)],[
+  AC_MSG_RESULT(no)])
+
+AC_MSG_CHECKING(for strncasecmp in strings.h)
 AC_EGREP_HEADER(strncasecmp,strings.h,[
+  AC_MSG_RESULT(yes)
   AC_DEFINE(STRNCASECMP_IN_STRINGS_H, 1,
-            Define if <strings.h> defines strncasecmp.)])
+            Define if <strings.h> defines strncasecmp.)],[
+  AC_MSG_RESULT(no)])
 
 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)
@@ -386,15 +403,23 @@ AC_CHECK_HEADERS(dirent.h,,[need_dirent=:])
 AM_CONDITIONAL(BUILD_DIRENT, ${need_dirent})
 
 dnl Mac OS X and other OSes don't have declaration for nanosleep
+AC_MSG_CHECKING(for nanosleep in time.h)
 AC_EGREP_HEADER(nanosleep,time.h,[
+  AC_MSG_RESULT(yes)
   AC_DEFINE(HAVE_DECL_NANOSLEEP, 1,
             Define if <time.h> defines nanosleep.)
+],[
+  AC_MSG_RESULT(no)
 ])
 
 dnl Make sure we have timespecs
+AC_MSG_CHECKING(for timespec in sys/time.h)
 AC_EGREP_HEADER(timespec,sys/time.h,[
+  AC_MSG_RESULT(yes)
   AC_DEFINE(HAVE_STRUCT_TIMESPEC, 1,
             Define if <sys/time.h> defines struct timespec.)
+],[
+  AC_MSG_RESULT(no)
 ])
 
 dnl Check for threads library
@@ -412,15 +437,24 @@ dnl Build the gtk_main plugins?
 NEED_GTK_MAIN=no
 NEED_GNOME_MAIN=no
 
+dnl build the qte plugin ?
+NEED_QTE_MAIN=no
+
 dnl Check for DPMS
 if test "x${SYS}" != "xmingw32"
 then
   CPPFLAGS="${CPPFLAGS_save} -I${x_includes}"
   AC_CHECK_HEADERS(X11/extensions/dpms.h, [
+    AC_MSG_CHECKING(for DPMSInfo in X11/extensions/dpms.h)
     AC_EGREP_HEADER(DPMSInfo,X11/extensions/dpms.h,[
+      AC_MSG_RESULT(yes)
       AC_DEFINE(DPMSINFO_IN_DPMS_H, 1,
                 Define if <X11/extensions/dpms.h> defines DPMSInfo.)
+    ],[
+      AC_MSG_RESULT(no)
     ])
+  ],,[
+    #include <X11/Xlib.h>
   ])
   CPPFLAGS="${CPPFLAGS_save}"
 fi
@@ -467,11 +501,6 @@ AC_CACHE_CHECK([if \$CC accepts -Wall],
     [CFLAGS="-Wall ${CFLAGS_save}"
      AC_TRY_COMPILE([],,ac_cv_c_Wall=yes, ac_cv_c_Wall=no)])
 
-AC_CACHE_CHECK([if \$CC accepts -Wtraditional],
-    [ac_cv_c_Wtraditional],
-    [CFLAGS="-Wtraditional ${CFLAGS_save}"
-     AC_TRY_COMPILE([],,ac_cv_c_Wtraditional=yes, ac_cv_c_Wtraditional=no)])
-
 AC_CACHE_CHECK([if \$CC accepts -Wconversion],
     [ac_cv_c_Wconversion],
     [CFLAGS="-Wconversion ${CFLAGS_save}"
@@ -503,24 +532,18 @@ if test "x${ac_cv_c_Wall}" != "xno"; then
     OBJCFLAGS_save="-Wall ${OBJCFLAGS_save}"; OBJCFLAGS="${OBJCFLAGS_save}"
 fi
 
-if test "x${ac_cv_c_Wtraditional}" != "xno"; then
-    CFLAGS_save="-Wtraditional ${CFLAGS_save}"; CFLAGS="${CFLAGS_save}"
-    CXXFLAGS_save="-Wtraditional ${CFLAGS_save}"; CXXFLAGS="${CXXFLAGS_save}"
-    OBJCFLAGS_save="-Wtraditional ${OBJCFLAGS_save}"; OBJCFLAGS="${OBJCFLAGS_save}"
-fi
-
 if test "x${ac_cv_c_Wunreachable_code}" != "xno"; then
-    CFLAGS_save="-Wunreachable-code ${CFLAGS_save}"; CFLAGS="${CFLAGS_save}"
-    CXXFLAGS_save="-Wunreachable-code ${CFLAGS_save}"; CXXFLAGS="${CXXFLAGS_save}"
-    OBJCFLAGS_save="-Wunreachable-code ${OBJCFLAGS_save}"; OBJCFLAGS="${OBJCFLAGS_save}"
+#    CFLAGS_save="-Wunreachable-code ${CFLAGS_save}"; CFLAGS="${CFLAGS_save}"
+#    CXXFLAGS_save="-Wunreachable-code ${CFLAGS_save}"; CXXFLAGS="${CXXFLAGS_save}"
+#    OBJCFLAGS_save="-Wunreachable-code ${OBJCFLAGS_save}"; OBJCFLAGS="${OBJCFLAGS_save}"
 
     dnl -Wunreachable-code means gcc-3.x, we can use -Wconversion and we can
     dnl activate -Winline for C++, it won't choke on system headers.
-    if test "x${ac_cv_c_Wconversion}" != "xno"; then
-        CFLAGS_save="-Wconversion ${CFLAGS_save}"; CFLAGS="${CFLAGS_save}"
-        CXXFLAGS_save="-Wconversion ${CFLAGS_save}"; CXXFLAGS="${CXXFLAGS_save}"
-        OBJCFLAGS_save="-Wconversion ${OBJCFLAGS_save}"; OBJCFLAGS="${OBJCFLAGS_save}"
-    fi
+#    if test "x${ac_cv_c_Wconversion}" != "xno"; then
+#        CFLAGS_save="-Wconversion ${CFLAGS_save}"; CFLAGS="${CFLAGS_save}"
+#        CXXFLAGS_save="-Wconversion ${CFLAGS_save}"; CXXFLAGS="${CXXFLAGS_save}"
+#        OBJCFLAGS_save="-Wconversion ${OBJCFLAGS_save}"; OBJCFLAGS="${OBJCFLAGS_save}"
+#    fi
     if test "x${ac_cv_c_Winline}" != "xno"; then
         CXXFLAGS_save="-Winline ${CXXFLAGS_save}"; CXXFLAGS="${CXXFLAGS_save}"
     fi
@@ -667,6 +690,19 @@ if test "x${ac_cv_c_attribute_aligned}" != "x0"; then
         [${ac_cv_c_attribute_aligned}],[Maximum supported data alignment])
 fi
 
+dnl Checks for __attribute__(format()) directive
+AC_CACHE_CHECK([__attribute__ ((format ())) support with function pointers],
+    [ac_cv_c_attribute_format],
+    [ac_cv_c_attribute_format=no
+        CFLAGS="${CFLAGS_save} -Werror"
+        AC_TRY_COMPILE([],
+        [static void (*pf_printf)(const char *, ...) __attribute__ ((format(printf,1,2)));(void)pf_printf;],
+        [ac_cv_c_attribute_format=yes])
+        CFLAGS="${CFLAGS_save}"])
+if test "x${ac_cv_c_attribute_format}" != "xno"; then
+    AC_DEFINE(HAVE_ATTRIBUTE_FORMAT, 1, Support for __attribute__((format())) with function pointers)
+fi
+
 dnl
 dnl  Check the CPU
 dnl
@@ -689,29 +725,30 @@ dnl
 dnl  default modules
 dnl
 PLUGINS="${PLUGINS} dummy rc logger access_file memcpy"
-PLUGINS="${PLUGINS} es audio mpeg_system ps ts"
+PLUGINS="${PLUGINS} es audio m4v mpeg_system ps ts"
 PLUGINS="${PLUGINS} idct idctclassic motion mpeg_video spudec mpeg_audio"
-#PLUGINS="${PLUGINS} a52old imdct downmix"
+#PLUGINS="${PLUGINS} a52old imdct downmix imdct3dn downmix3dn imdctsse downmixsse"
 PLUGINS="${PLUGINS} lpcm a52"
 PLUGINS="${PLUGINS} deinterlace invert adjust wall transform distort clone crop motionblur"
 PLUGINS="${PLUGINS} float32tos16 float32tos8 float32tou16 float32tou8 a52tospdif fixed32tofloat32 fixed32tos16 s16tofloat32 s16tofloat32swab s8tofloat32 u8tofixed32 u8tofloat32"
 PLUGINS="${PLUGINS} trivial_resampler ugly_resampler linear_resampler"
-PLUGINS="${PLUGINS} trivial_channel_mixer"
+PLUGINS="${PLUGINS} trivial_channel_mixer headphone_channel_mixer"
 PLUGINS="${PLUGINS} trivial_mixer spdif_mixer float32_mixer"
 PLUGINS="${PLUGINS} aout_file"
 #PLUGINS="${PLUGINS} scope"
 PLUGINS="${PLUGINS} i420_rgb i420_yuy2 i422_yuy2 i420_ymga"
 PLUGINS="${PLUGINS} id3 m3u"
-PLUGINS="${PLUGINS} wav araw demuxdump demuxsub adpcm"
-PLUGINS="${PLUGINS} access_udp access_http access_rtp ipv4 access_mms sap"
+PLUGINS="${PLUGINS} wav araw demuxdump demuxsub adpcm a52sys"
+PLUGINS="${PLUGINS} access_udp access_http ipv4 access_mms access_ftp"
+PLUGINS="${PLUGINS} sap"
 
 dnl
 dnl  Accelerated modules
 dnl
 MMX_MODULES="memcpymmx idctmmx motionmmx i420_rgb_mmx i420_yuy2_mmx i422_yuy2_mmx i420_ymga_mmx"
 MMXEXT_MODULES="memcpymmxext idctmmxext motionmmxext"
-THREEDNOW_MODULES="memcpy3dn imdct3dn downmix3dn"
-SSE_MODULES="imdctsse downmixsse"
+THREEDNOW_MODULES="memcpy3dn"
+SSE_MODULES=""
 ALTIVEC_MODULES="idctaltivec motionaltivec memcpyaltivec"
 
 AC_CACHE_CHECK([if \$CC groks MMX inline assembly],
@@ -873,6 +910,23 @@ AC_ARG_ENABLE(release,
 [  --enable-release        activate extra optimizations (default disabled)])
 AM_CONDITIONAL(RELEASE, test "x${enable_release}" = "xyes")
 
+dnl
+dnl Stream output
+dnl
+AC_ARG_ENABLE(sout,
+  [  --enable-sout           Stream output modules (default enabled)])
+if test "x${enable_sout}" != "xno"
+then
+  PLUGINS="${PLUGINS} access_output_dummy access_output_udp access_output_file"
+  PLUGINS="${PLUGINS} mux_ts mux_ps mux_avi mux_dummy"
+  PLUGINS="${PLUGINS} packetizer_mpegaudio packetizer_mpegvideo packetizer_a52"
+  PLUGINS="${PLUGINS} packetizer_mpeg4video packetizer_mpeg4audio"
+  PLUGINS="${PLUGINS} packetizer_copy"
+
+  PLUGINS="${PLUGINS} vout_encoder"
+fi
+
+
 dnl
 dnl  Input plugins
 dnl
@@ -914,8 +968,8 @@ then
         dnl  Use a custom libdvdcss
         AC_MSG_RESULT(${real_dvdcss_tree}/src/.libs/libdvdcss.a)
         BUILTINS="${BUILTINS} dvd"
-        LDFLAGS_dvd="${LDFLAGS_dvd} ${real_dvdcss_tree}/src/.libs/libdvdcss.a"
-        LDFLAGS_dvdcss="${LDFLAGS_dvdcss} ${real_dvdcss_tree}/src/.libs/libdvdcss.a"
+        LDFLAGS_dvd="${LDFLAGS_dvd} -L${real_dvdcss_tree}/src/.libs -ldvdcss"
+        LDFLAGS_dvdcss="${LDFLAGS_dvdcss} -L${real_dvdcss_tree}/src/.libs -ldvdcss"
         CPPFLAGS_dvd="${CPPFLAGS_dvd} -I${real_dvdcss_tree}/src"
       else
         dnl  The given libdvdcss wasn't built
@@ -966,7 +1020,7 @@ then
     then
       AC_CHECK_HEADERS(dvdread/dvd_reader.h,
         [ PLUGINS="${PLUGINS} dvdread"
-          LDFLAGS_dvdread="${LDFLAGS_dvdread} -ldvdread" ],
+          LDFLAGS_dvdread="${LDFLAGS_dvdread} -ldvdread ${LDFLAGS_dvdcss}" ],
         [ if test "x${enable_dvdread}" != "x"
           then
             AC_MSG_WARN([Please get libdvdread from http://www.dtek.chalmers.se/groups/dvd/downloads.shtml])
@@ -986,7 +1040,7 @@ then
         dnl  Use a custom libdvdread
         AC_MSG_RESULT(${real_dvdread_tree}/dvdread/.libs/libdvdread.a)
         BUILTINS="${BUILTINS} dvdread"
-        LDFLAGS_dvdread="${LDFLAGS_dvdread} ${real_dvdread_tree}/dvdread/.libs/libdvdread.a"
+        LDFLAGS_dvdread="${LDFLAGS_dvdread} -L${real_dvdread_tree}/dvdread/.libs -ldvdread ${LDFLAGS_dvdcss}"
         CPPFLAGS_dvdread="${CPPFLAGS_dvdread} -I${real_dvdread_tree}"
       else
         dnl  The given libdvdread wasn't built
@@ -1001,7 +1055,7 @@ then
       dnl  Use ${with_dvdread}/include/dvdread/dvd_reader.h
       AC_MSG_RESULT(yes)
       PLUGINS="${PLUGINS} dvdread"
-      LDFLAGS_dvdread="${LDFLAGS_dvdread} -L${with_dvdread}/lib -ldvdread"
+      LDFLAGS_dvdread="${LDFLAGS_dvdread} -L${with_dvdread}/lib -ldvdread ${LDFLAGS_dvdcss}"
       CPPFLAGS_dvdread="${CPPFLAGS_dvdread} -I${with_dvdread}/include"
     else
       dnl  No libdvdread could be found, sorry
@@ -1028,7 +1082,7 @@ then
     then
       AC_CHECK_HEADERS(dvdplay/dvdplay.h,
         [ PLUGINS="${PLUGINS} dvdplay"
-          LDFLAGS_dvdplay="${LDFLAGS_dvdplay} ${LDFLAGS_dvd} ${LDFLAGS_dvdread} -ldvdplay"
+          LDFLAGS_dvdplay="${LDFLAGS_dvdplay} -ldvdplay ${LDFLAGS_dvdread} ${LDFLAGS_dvdcss}"
           CPPFLAGS_dvdplay="${CPPFLAGS_dvdplay} ${CPPFLAGS_dvdread}" ],
         [ if test "x${enable_dvdplay}" != "x"
           then
@@ -1049,7 +1103,7 @@ then
         dnl  Use a custom libdvdplay
         AC_MSG_RESULT(${real_dvdplay_tree}/src/.libs/libdvdplay.a)
         BUILTINS="${BUILTINS} dvdplay"
-        LDFLAGS_dvdplay="${LDFLAGS_dvdplay} ${LDFLAGS_dvd} ${LDFLAGS_dvdread} ${real_dvdplay_tree}/src/.libs/libdvdplay.a"
+        LDFLAGS_dvdplay="${LDFLAGS_dvdplay} -L${real_dvdplay_tree}/src/.libs -ldvdplay ${LDFLAGS_dvdread} ${LDFLAGS_dvdcss}"
         CPPFLAGS_dvdplay="${CPPFLAGS_dvdplay} ${CPPFLAGS_dvdread} -I${real_dvdplay_tree}/src"
       else
         dnl  The given libdvdplay wasn't built
@@ -1064,7 +1118,7 @@ then
       dnl  Use ${with_dvdplay}/include/dvdplay/dvdplay.h
       AC_MSG_RESULT(yes)
       PLUGINS="${PLUGINS} dvdplay"
-      LDFLAGS_dvdplay="${LDFLAGS_dvdplay} ${LDFLAGS_dvd} ${LDFLAGS_dvdread} -L${with_dvdplay}/lib -ldvdplay"
+      LDFLAGS_dvdplay="${LDFLAGS_dvdplay} -L${with_dvdplay}/lib -ldvdplay ${LDFLAGS_dvdread} ${LDFLAGS_dvdcss}"
       CPPFLAGS_dvdplay="${CPPFLAGS_dvdplay} ${CPPFLAGS_dvdread} -I${with_dvdplay}/include"
     else
       dnl  No libdvdplay could be found, sorry
@@ -1075,10 +1129,10 @@ then
 fi
 
 dnl
-dnl  libdvbpsi ts demux
+dnl  libdvbpsi ts demux/mux
 dnl
 AC_ARG_ENABLE(dvbpsi,
-[  --enable-dvbpsi         dvbpsi ts demux module (default enabled)])
+[  --enable-dvbpsi         dvbpsi ts mux and demux module (default enabled)])
 if test "x${enable_dvbpsi}" != "xno"
 then
   AC_ARG_WITH(dvbpsi,
@@ -1091,7 +1145,9 @@ then
     then
       AC_CHECK_HEADERS(dvbpsi/dr.h,
         [ PLUGINS="${PLUGINS} ts_dvbpsi"
-          LDFLAGS_ts_dvbpsi="${LDFLAGS_ts_dvbpsi} -ldvbpsi" ],
+          LDFLAGS_ts_dvbpsi="${LDFLAGS_ts_dvbpsi} -ldvbpsi" 
+          PLUGINS="${PLUGINS} mux_ts_dvbpsi"
+          LDFLAGS_mux_ts_dvbpsi="${LDFLAGS_mux_ts_dvbpsi} -ldvbpsi" ],
         [  AC_MSG_WARN([cannot find libdvbpsi headers]) ],
         [#include <stdint.h>
 #include <dvbpsi/dvbpsi.h>
@@ -1112,8 +1168,13 @@ then
         dnl  Use a custom libdvbpsi
         AC_MSG_RESULT(${real_dvbpsi_tree}/src/.libs/libdvbpsi.a)
         BUILTINS="${BUILTINS} ts_dvbpsi"
-        LDFLAGS_ts_dvbpsi="${LDFLAGS_ts_dvbpsi} ${real_dvbpsi_tree}/src/.libs/libdvbpsi.a"
+        LDFLAGS_ts_dvbpsi="${LDFLAGS_ts_dvbpsi} -L${real_dvbpsi_tree}/src/.libs -ldvbpsi"
         CPPFLAGS_ts_dvbpsi="${CPPFLAGS_ts_dvbpsi} -I${real_dvbpsi_tree}/src"
+
+        BUILTINS="${BUILTINS} mux_ts_dvbpsi"
+        LDFLAGS_mux_ts_dvbpsi="${LDFLAGS_mux_ts_dvbpsi} -L${real_dvbpsi_tree}/src/.libs -ldvbpsi"
+        CPPFLAGS_mux_ts_dvbpsi="${CPPFLAGS_mux_ts_dvbpsi} -I${real_dvbpsi_tree}/src"
+
       else
         dnl  The given libdvbpsi wasn't built
         AC_MSG_RESULT(no)
@@ -1139,6 +1200,10 @@ then
       PLUGINS="${PLUGINS} ts_dvbpsi"
       LDFLAGS_ts_dvbpsi="${LDFLAGS_ts_dvbpsi} ${LDFLAGS_test} -ldvbpsi"
       CPPFLAGS_ts_dvbpsi="${CPPFLAGS_ts_dvbpsi} ${CPPFLAGS_test}"
+      PLUGINS="${PLUGINS} mux_ts_dvbpsi"
+      LDFLAGS_mux_ts_dvbpsi="${LDFLAGS_mux_ts_dvbpsi} ${LDFLAGS_test} -ldvbpsi"
+      CPPFLAGS_mux_ts_dvbpsi="${CPPFLAGS_mux_ts_dvbpsi} ${CPPFLAGS_test}"
+
       ],[
       if test "x${enable_dvbpsi}" != "x"
       then
@@ -1170,18 +1235,30 @@ AC_ARG_ENABLE(vcd,
 
 if test "x${enable_vcd}" != "xno"
 then
+  AC_MSG_CHECKING(for cdrom_msf0 in linux/cdrom.h)
   AC_EGREP_HEADER(cdrom_msf0,linux/cdrom.h,[
+    AC_MSG_RESULT(yes)
     PLUGINS="${PLUGINS} vcd"
+  ],[
+    AC_MSG_RESULT(no)
   ])
 
+  AC_MSG_CHECKING(for scsireq in sys/scsiio.h)
   AC_EGREP_HEADER(scsireq,sys/scsiio.h,[
+    AC_MSG_RESULT(yes)
     PLUGINS="${PLUGINS} vcd"
     AC_DEFINE(HAVE_SCSIREQ_IN_SYS_SCSIIO_H, 1, For NetBSD VCD support)
+  ],[
+    AC_MSG_RESULT(no)
   ])
 
+  AC_MSG_CHECKING(for ioc_toc_header in sys/cdio.h)
   AC_EGREP_HEADER(ioc_toc_header ,sys/cdio.h,[
+    AC_MSG_RESULT(yes)
     PLUGINS="${PLUGINS} vcd"
     AC_DEFINE(HAVE_IOC_TOC_HEADER_IN_SYS_CDIO_H, 1, For FreeBSD VCD support)
+  ],[
+    AC_MSG_RESULT(no)
   ])
 
   if test "x${SYS}" = "xbsdi" -o "x${SYS}" = "xmingw32"
@@ -1212,7 +1289,7 @@ dnl
 if test "x${SYS}" != "xnto" && test "x${SYS}" != "xmingw32"
 then
   have_ipv6=false
-  AC_CHECK_FUNC(inet_pton,[have_ipv6=:],[
+  AC_CHECK_FUNCS(inet_pton,[have_ipv6=:],[
     AC_CHECK_LIB(resolv,inet_pton,
       [have_ipv6=:
        LDFLAGS_ipv6="${LDFLAGS_ipv6} -lresolv"])
@@ -1277,6 +1354,16 @@ then
    ],[])
 fi
 
+dnl
+dnl  raw dv demux plugin
+dnl
+AC_ARG_ENABLE(rawdv,
+  [  --enable-rawdv          raw dv demux module (default enabled)])
+if test "x${enable_rawdv}" != "xno"
+then
+  PLUGINS="${PLUGINS} rawdv"
+fi
+
 dnl
 dnl  Codec plugins
 dnl
@@ -1294,8 +1381,8 @@ then
     [    --with-mad=PATH       path to libmad],[],[])
   if test "x${with_mad}" != "xno" -a "x${with_mad}" != "x"
   then
-    CPPFLAGS_mad="${CPPFLAGS_mad} -I${with_mad}/include"
-    LDFLAGS_mad="${LDFLAGS_mad} -L${with_mad}/lib"
+    CPPFLAGS_mpgatofixed32="${CPPFLAGS_mpgatofixed32} -I${with_mad}/include"
+    LDFLAGS_mpgatofixed32="${LDFLAGS_mpgatofixed32} -L${with_mad}/lib"
   fi
 
   AC_ARG_WITH(mad-tree,
@@ -1314,12 +1401,12 @@ then
     if test -f ${real_mad_tree}/libmad/mad.h
     then
       AC_MSG_RESULT(yes)
-      CPPFLAGS_mad="${CPPFLAGS_mad} -I${real_mad_tree}/libmad"
-      LDFLAGS_mad="${LDFLAGS_mad} -L${real_mad_tree}/libmad/.libs"
-      LDFLAGS="${LDFLAGS_save} ${LDFLAGS_mad}"
+      CPPFLAGS_mpgatofixed32="${CPPFLAGS_mpgatofixed32} -I${real_mad_tree}/libmad"
+      LDFLAGS_mpgatofixed32="${LDFLAGS_mpgatofixed32} -L${real_mad_tree}/libmad/.libs"
+      LDFLAGS="${LDFLAGS_save} ${LDFLAGS_mpgatofixed32}"
       AC_CHECK_LIB(mad, mad_bit_init, [
-        BUILTINS="${BUILTINS} mad"
-        LDFLAGS_mad="${LDFLAGS_mad} -lmad"
+        BUILTINS="${BUILTINS} mpgatofixed32"
+        LDFLAGS_mpgatofixed32="${LDFLAGS_mpgatofixed32} -lmad"
         ],[ AC_MSG_ERROR([the specified tree hasn't been compiled ])
       ],[])
       LDFLAGS="${LDFLAGS_save}"
@@ -1328,13 +1415,13 @@ then
       AC_MSG_ERROR([the specified tree doesn't have mad.h])
     fi
   else
-    CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_mad}"
-    LDFLAGS="${LDFLAGS_save} ${LDFLAGS_mad}"
+    CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_mpgatofixed32}"
+    LDFLAGS="${LDFLAGS_save} ${LDFLAGS_mpgatofixed32}"
     AC_CHECK_HEADERS(mad.h, ,
       [ AC_MSG_ERROR([Cannot find development headers for libmad...]) ])
     AC_CHECK_LIB(mad, mad_bit_init, [
-      PLUGINS="${PLUGINS} mad"
-      LDFLAGS_mad="${LDFLAGS_mad} -lmad" ],
+      PLUGINS="${PLUGINS} mpgatofixed32"
+      LDFLAGS_mpgatofixed32="${LDFLAGS_mpgatofixed32} -lmad" ],
       [ AC_MSG_ERROR([Cannot find libmad library...]) ])
     CPPFLAGS="${CPPFLAGS_save}"
     LDFLAGS="${LDFLAGS_save}"
@@ -1359,7 +1446,7 @@ then
     [    --with-ffmpeg=PATH    path to ffmpeg installation],[],[])
   if test "x${with_ffmpeg}" != "xno" -a "x${with_ffmpeg}" != "x"
   then
-    CPPFLAGS_ffmpeg="${CPPFLAGS_ffmpeg} -I${with_ffmpeg}/include/libffmpeg"
+    CPPFLAGS_ffmpeg="${CPPFLAGS_ffmpeg} -I${with_ffmpeg}/include/ffmpeg"
     LDFLAGS_ffmpeg="${LDFLAGS_ffmpeg} -L${with_ffmpeg}/lib"
   fi
 
@@ -1390,7 +1477,7 @@ then
       dnl  Use a custom libffmpeg
       AC_MSG_RESULT(${real_ffmpeg_tree}/libavcodec/libavcodec.a)
       BUILTINS="${BUILTINS} ffmpeg"
-      LDFLAGS_ffmpeg="${LDFLAGS_ffmpeg} ${real_ffmpeg_tree}/libavcodec/libavcodec.a"
+      LDFLAGS_ffmpeg="${LDFLAGS_ffmpeg} -L${real_ffmpeg_tree}/libavcodec -lavcodec"
       CPPFLAGS_ffmpeg="${CPPFLAGS_ffmpeg} -I${real_ffmpeg_tree}/libavcodec"
     else
       dnl  The given libavcodec wasn't built
@@ -1442,7 +1529,7 @@ then
       dnl  Use a custom faad
       AC_MSG_RESULT(${real_faad_tree}/libfaad/.libs/libfaad.a)
       BUILTINS="${BUILTINS} faad"
-      LDFLAGS_faad="${LDFLAGS_faad} ${real_faad_tree}/libfaad/.libs/libfaad.a"
+      LDFLAGS_faad="${LDFLAGS_faad} -L${real_faad_tree}/libfaad/.libs -lfaad"
       CPPFLAGS_faad="${CPPFLAGS_faad} -I${real_faad_tree}/include"
     else
       dnl  The given libfaad wasn't built
@@ -1497,7 +1584,7 @@ then
       dnl  Use a custom xvid
       AC_MSG_RESULT(${real_xvid_tree}/build/generic/libxvidcore.a)
       BUILTINS="${BUILTINS} xvid"
-      LDFLAGS_xvid="${LDFLAGS_xvid} ${real_xvid_tree}/build/generic/libxvidcore.a"
+      LDFLAGS_xvid="${LDFLAGS_xvid} -L${real_xvid_tree}/build/generic -lxvidcore"
       CPPFLAGS_xvid="${CPPFLAGS_xvid} -I${real_xvid_tree}/src"
     else
       dnl  The given libxvidcore wasn't built
@@ -1587,8 +1674,8 @@ then
       LDFLAGS_test="-L${with_a52}/lib"
       CPPFLAGS_test="-I${with_a52}/include"
     fi
-    CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_test}"
-    LDFLAGS="${LDFLAGS_save} ${LDFLAGS_test}"
+    CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_test} ${CPPFLAGS_a52tofloat32}"
+    LDFLAGS="${LDFLAGS_save} ${LDFLAGS_test} ${LDFLAGS_a52tofloat32}"
     AC_CHECK_HEADERS(a52dec/a52.h, [
       AC_CHECK_LIB(a52, a52_free, [
         PLUGINS="${PLUGINS} a52tofloat32"
@@ -1781,20 +1868,32 @@ then
     AC_PATH_PROG(SDL_CONFIG, sdl-config, no, ${SDL_PATH})
     SDL_HEADER="SDL/SDL.h"
   fi
+  # check for cross-compiling
+  SDL_PREFIX=
+  AC_ARG_WITH(sdl-prefix,
+    [    --with-sdl-prefix=PATH path to libsdl (needed for cross-compiling),
+                               e.g use as:
+                               --with-sdl-prefix=/usr/local/arm/2.95.3/arm-linux/usr)],[],[])
+  if test "x${with_sdl_prefix}" != "xno" -a "x${with_sdl_prefix}" != "x"
+  then
+    SDL_PREFIX="--prefix=${with_sdl_prefix}"
+  fi
   if test "x${SDL_CONFIG}" != "xno"
   then
     PLUGINS="${PLUGINS} vout_sdl aout_sdl"
-    CFLAGS_vout_sdl="${CFLAGS_vout_sdl} `${SDL_CONFIG} --cflags`"
-    LDFLAGS_vout_sdl="${LDFLAGS_vout_sdl} `${SDL_CONFIG} --libs | sed 's,-rdynamic,,'`"
-    CFLAGS_aout_sdl="${CFLAGS_aout_sdl} `${SDL_CONFIG} --cflags`"
-    LDFLAGS_aout_sdl="${LDFLAGS_aout_sdl} `${SDL_CONFIG} --libs | sed 's,-rdynamic,,'`"
+    CFLAGS_vout_sdl="${CFLAGS_vout_sdl} `${SDL_CONFIG} ${SDL_PREFIX} --cflags | sed 's,SDL,,'`"
+    LDFLAGS_vout_sdl="${LDFLAGS_vout_sdl} `${SDL_CONFIG} ${SDL_PREFIX} --libs | sed 's,-rdynamic,,'`"
+    CFLAGS_aout_sdl="${CFLAGS_aout_sdl} `${SDL_CONFIG} ${SDL_PREFIX} --cflags | sed 's,SDL,,'`"
+    LDFLAGS_aout_sdl="${LDFLAGS_aout_sdl} `${SDL_CONFIG} ${SDL_PREFIX} --libs | sed 's,-rdynamic,,'`"
     CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_vout_sdl}"
     AC_CHECK_HEADERS(${SDL_HEADER}, AC_DEFINE_UNQUOTED(SDL_INCLUDE_FILE,
       <${SDL_HEADER}>, Indicate whether we should use SDL/SDL.h or SDL11/SDL.h),
+      [ AC_CHECK_HEADERS(SDL.h, AC_DEFINE(SDL_INCLUDE_FILE, <SDL.h>,
+          As a last resort we also test for SDL.h presence),
       [ AC_MSG_ERROR([The development package for SDL is not installed.
 Please install it and try again. Alternatively you can also configure with
 --disable-sdl.])
-      ])
+      ])])
     CPPFLAGS="${CPPFLAGS_save}"
     if expr 1.1.5 \> `${SDL_CONFIG} --version` >/dev/null
     then
@@ -1816,31 +1915,24 @@ dnl  (disabled by default)
 dnl
 AC_ARG_ENABLE(qte,
   [  --enable-qte            QT Embedded support (default disabled)])
-if test "x${enable_qte}" != "xno"
+if test "x${enable_qte}" = "xyes"
 then
   AC_ARG_WITH(qte,
-  [    --with-qte=PATH    Qt Embedded headers and libraries])
-  if test "x${with_qte}" = "x"
+  [    --with-qte=PATH       Qt Embedded headers and libraries])
+  if test "x${with_qte}" != "xno" -a "x${with_qte}" != "x"
   then
-    LDFLAGS_test="-L${QTDIR}/lib"
-    CPPFLAGS_test="-I${QTDIR}/include"
+    LDFLAGS_qte="${LDFLAGS_qte} -L${with_qte}/lib `echo -L${with_qte}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte"
+    CPPFLAGS_qte="${CPPFLAGS_qte} -I${with_qte}/include `echo -I${with_qte}/include | sed 's,opt/QtPalmtop,usr,'` -DQT_QWS_IPAQ -DQWS -fno-exceptions -fno-rtti"
   else
-    LDFLAGS_test="-L${with_qte}/lib"
-    CPPFLAGS_test="-I${with_qte}/include"
+    LDFLAGS_qte="${LDFLAGS_qte} -L${QTDIR}/lib `echo -L${QTDIR}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte"
+    CPPFLAGS_qte="${CPPFLAGS_qte} -I${QTDIR}/include `echo -I${QTDIR}/include | sed 's,opt/QtPalmtop,usr,'` -DQT_QWS_IPAQ -DQWS -fno-exceptions -fno-rtti"
   fi
-
-  CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_test}"
-  AC_CHECK_HEADERS(qt.h, [
-    CPPFLAGS_qte="${CPPFLAGS_qte} ${CPPFLAGS_test} -DQT_QWS_IPAQ -DQWS"
-    CXXFLAGS_qte="${CXXFLAGS_qte} -fno-exceptions -fno-rtti"
-    LDFLAGS_qte="${LDFLAGS_qte} ${LDFLAGS_test} -lqte"
-    if test "x${with_qte}" = "x"
-    then
-      PLUGINS="${PLUGINS} qte"
-    else
-      BUILTINS="${BUILTINS} qte"
-    fi
-  ])
+  PLUGINS="${PLUGINS} qte"
+  NEED_QTE_MAIN=yes
+  CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_qte}"
+  AC_CHECK_HEADERS(qt.h jpeglib.h, ,[
+    AC_MSG_ERROR([echo "Cannot find QT Embedded development headers."])
+  ] )
   CPPFLAGS="${CPPFLAGS_save}"
 fi
 
@@ -2037,7 +2129,7 @@ AC_ARG_ENABLE(alsa,
      AC_CHECK_HEADER(alsa/asoundlib.h, AC_CHECK_LIB(asound, main, have_alsa="true", have_alsa="false"),have_alsa="false")
      if test "x${have_alsa}" = "xtrue"
      then
-       #PLUGINS="${PLUGINS} alsa"
+       PLUGINS="${PLUGINS} alsa"
        LDFLAGS_alsa="${LDFLAGS_alsa} -lasound -lm -ldl"
      fi
    fi])
@@ -2140,14 +2232,24 @@ then
   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 "x${with_gtk_prefix}" != "xno" -a "x${with_gtk_prefix}" != "x"
+  then
+    GTK_PREFIX="--prefix=$with_gtk_prefix"
+  fi
   if test "x${GTK_CONFIG}" != "xno"
   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
-    CFLAGS_familiar="${CFLAGS_familiar} `${GTK_CONFIG} --cflags gtk gthread`"
-    LDFLAGS_familiar="${LDFLAGS_familiar} `${GTK_CONFIG} --libs gtk gthread | sed 's,-rdynamic,,'`"
+    CFLAGS_familiar="${CFLAGS_familiar} `${GTK_CONFIG} ${GTK_PREFIX} --cflags gtk gthread`"
+    LDFLAGS_familiar="${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
@@ -2158,10 +2260,37 @@ then
     if test "x${ac_cv_gtk_headers}" = "xyes"
     then
       PLUGINS="${PLUGINS} familiar"
-      NEED_GTK_MAIN=yes
     fi
     CPPFLAGS="${CPPFLAGS_save}"
-  fi
+
+    # now look for gpe support
+    AC_ARG_WITH(gpe-prefix,
+    [    --with-gpe-prefix=PATH gpe installation path prefix (default search in \$PATH)],[],[])
+    if test "x$with_gpe_prefix" != "xno"  -a "x$with_gpe_prefix" != "x"
+    then
+      CFLAGS_gpe="-I$with_gpe_prefix/include"
+      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 "x${ac_cv_gpe_headers}" = "xyes"
+      then
+        CFLAGS_familiar="${CFLAGS_familiar} ${CFLAGS_gpe}"
+        LDFLAGS_familiar="${LDFLAGS_familiar} ${LDFLAGS_gpe}"
+      fi
+    else
+         NEED_GTK_MAIN=yes
+    fi # end gpe support
+  fi # end gtk+ support
 fi
 
 dnl
@@ -2213,10 +2342,10 @@ 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
-    CXXFLAGS_wxwindows="${CXXFLAGS_wxwindows} `${WX_CONFIG} --cflags`"
+    CXXFLAGS_wxwindows="${CXXFLAGS_wxwindows} `${WX_CONFIG} --cxxflags`"
     LDFLAGS_wxwindows="${LDFLAGS_wxwindows} `${WX_CONFIG} --libs`"
     # now look for the wxprec.h header
-    CPPFLAGS="${save_CPPFLAGS} ${CXXFLAGS_wxwindows}"
+    CPPFLAGS="${CPPFLAGS_save} ${CXXFLAGS_wxwindows}"
     ac_cv_wx_headers=yes
     AC_CHECK_HEADERS(wx/wxprec.h, , [
       ac_cv_wx_headers=no
@@ -2227,7 +2356,7 @@ then
       PLUGINS="${PLUGINS} wxwindows"
       ALIASES="${ALIASES} wxvlc"
     fi
-    CPPFLAGS="${save_CPPFLAGS}"
+    CPPFLAGS="${CPPFLAGS_save}"
   fi
 fi
 
@@ -2275,24 +2404,30 @@ AC_ARG_ENABLE(opie,
   [  --enable-opie           Qt embedded interface support (default disabled)],
   [if test "x${enable_opie}" = "xyes"; then
      AC_ARG_WITH(qte,
-     [    --with-qte=PATH    Qt Embedded headers and libraries])
-     if test "x${with_qte}" = "x"
+     [    --with-qte=PATH       Qt Embedded headers and libraries])
+     if test "x${with_qte}" != "xno" -a "x${with_qte}" != "x"
      then
-       LDFLAGS_test="-L${QTDIR}/lib"
-       CPPFLAGS_test="-I${QTDIR}/include"
+       LDFLAGS_qte="-L${with_qte}/lib `echo -L${with_qte}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte"
+       CPPFLAGS_qte="-I${with_qte}/include `echo -I${with_qte}/include | sed 's,opt/QtPalmtop,usr,'` -DQT_QWS_IPAQ -DQWS -fno-exceptions -fno-rtti"
      else
-       LDFLAGS_test="-L${with_qte}/lib"
-       CPPFLAGS_test="-I${with_qte}/include"
+       LDFLAGS_qte="-L${QTDIR}/lib `echo -L${QTDIR}/lib | sed 's,opt/QtPalmtop,usr,'`"
+       CPPFLAGS_qte="-I${QTDIR}/include `echo -I${QTDIR}/include | sed 's,opt/QtPalmtop,usr,'`"
      fi
+     CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_qte}"
+     AC_CHECK_HEADERS(qt.h jpeglib.h, ,[
+       AC_MSG_ERROR([echo "Cannot find QT Embedded development headers."])
+     ] )
+     CPPFLAGS="${CPPFLAGS_save}"
 
      PLUGINS="${PLUGINS} opie"
-     LDFLAGS_opie="${LDFLAGS_opie} ${LDFLAGS_test} -lqte"
-     CPPFLAGS_opie="${CPPFLAGS_opie} ${CPPFLAGS_test}"
-     if test -x ${QTEDIR}/bin/moc
+     NEED_QTE_MAIN=yes
+     LDFLAGS_opie="${LDFLAGS_opie} -lqpe ${LDFLAGS_qte}"
+     CPPFLAGS_opie="${CPPFLAGS_opie} ${CPPFLAGS_qte}"
+     if test "x${with_qte}" != "xno" -a "x${with_qte}" != "x"
      then
-       MOC=${QTEDIR}/bin/moc
+       MOC=${with_qte}/bin/moc
      else
-       MOC=moc
+       MOC=${QTDIR}/bin/moc
      fi
    fi])
 
@@ -2331,12 +2466,8 @@ AC_ARG_ENABLE(intfwin,
 [  --enable-intfwin        Win32 interface support (default disabled)],
 [ if test "x${enable_intfwin}" != "xno"
   then
-    AC_ARG_WITH(bcbuilder,
-    [    --with-bcbuilder=PATH Borland C++ Builder installation path])
-    if test "x${with_bcbuilder}" != "x"
-    then
-      BCBUILDER="${with_bcbuilder}"
-    fi
+    AC_CHECK_TOOL(BPR2MAK, bpr2mak, AC_ERROR(bpr2mak not found))
+    AC_CHECK_TOOL(BCMAKE, bcmake, AC_ERROR(bcmake not found))
     PLUGINS="${PLUGINS} win32"
   fi ])
 
@@ -2368,6 +2499,40 @@ then
   fi
 fi
 
+dnl
+dnl  SLP access plugin
+dnl
+AC_ARG_ENABLE(slp,
+  [  --enable-slp            SLP service discovery support (default enabled)])
+if test "x${enable_slp}" != "xno"
+then
+  AC_ARG_WITH(slp,
+  [    --with-slp=PATH       libslp headers and libraries])
+  if test "x${with_slp}" = x
+  then
+    AC_CHECK_HEADER(slp.h, have_slp="true", have_slp="false")
+    if test "x${have_slp}" = "xtrue"
+    then
+      PLUGINS="${PLUGINS} slp"
+      LDFLAGS_slp="${LDFLAGS_slp} -lslp"
+    fi
+  else
+    AC_MSG_CHECKING(for slp headers in ${with_slp})
+    if test -f ${with_slp}/slp.h
+    then
+      dnl  Use ${with_slp}/libslp/slp.h
+      AC_MSG_RESULT(yes)
+      PLUGINS="${PLUGINS} slp"
+      LDFLAGS_slp="${LDFLAGS_slp} -L${with_slp} -lslp"
+      CPPFLAGS_slp="${CPPFLAGS_slp} -I${with_slp}"
+    else
+      dnl  No libslp could be found, sorry
+      AC_MSG_RESULT(no)
+      AC_MSG_ERROR([cannot find ${with_slp}/slp.h])
+    fi
+  fi
+fi
+
 dnl
 dnl  Lirc plugin
 dnl
@@ -2461,11 +2626,16 @@ AC_ARG_ENABLE(pth,
   [  --enable-pth            GNU Pth support (default disabled)],
   [ if test "x${enable_pth}" = "xyes"; then
     AC_CHECK_LIB(pth,pth_init)
+    AC_MSG_CHECKING(for pth_init in pth.h)
     AC_EGREP_HEADER(pth_init,pth.h,[
+      AC_MSG_RESULT(yes)
       AC_DEFINE(PTH_INIT_IN_PTH_H, 1,
                 Define if <pth.h> defines pth_init)
-    THREAD_LIB="-lpth"
-    fi])
+      THREAD_LIB="-lpth"
+    ],[
+      AC_MSG_RESULT(no)
+    ])
+    fi
 ])
 
 dnl
@@ -2475,11 +2645,16 @@ AC_ARG_ENABLE(st,
   [  --enable-st             State Threads (default disabled)],
   [ if test "x${enable_st}" = "xyes"; then
     AC_CHECK_LIB(st,st_init)
+    AC_MSG_CHECKING(for st_init in st.h)
     AC_EGREP_HEADER(st_init,st.h,[
+      AC_MSG_RESULT(yes)
       AC_DEFINE(ST_INIT_IN_ST_H, 1,
                 Define if <st.h> defines st_init)
-    THREAD_LIB="-lst"
-    fi])
+      THREAD_LIB="-lst"
+    ],[
+      AC_MSG_RESULT(yes)
+    ])
+    fi
 ])
 
 if test "x${SYS}" != "xmingw32"; then
@@ -2545,6 +2720,7 @@ if test "x${NEED_GTK_MAIN}" != "xno"
 then
     PLUGINS="${PLUGINS} gtk_main"
     CFLAGS_gtk="${CFLAGS_gtk} -DNEED_GTK_MAIN"
+       CFLAGS_familiar="${CFLAGS_familiar} -DNEED_GTK_MAIN"
     CFLAGS_gtk_main="${CFLAGS_gtk_main} ${CFLAGS_gtk} ${CFLAGS_familiar}"
     LDFLAGS_gtk_main="${LDFLAGS_gtk_main} ${LDFLAGS_gtk} ${LDFLAGS_familiar}"
 fi
@@ -2556,6 +2732,19 @@ then
     LDFLAGS_gnome_main="${LDFLAGS_gnome_main} ${LDFLAGS_gtk} ${LDFLAGS_familiar} ${LDFLAGS_gnome}"
 fi
 
+dnl
+dnl  qte_main plugin
+dnl
+if test "x${NEED_QTE_MAIN}" != "xno"
+then
+    PLUGINS="${PLUGINS} qte_main"
+    CPPFLAGS_qte="${CPPFLAGS_qte} -DNEED_QTE_MAIN"
+       CPPFLAGS_opie="${CPPFLAGS_opie} -DNEED_QTE_MAIN"
+    CPPFLAGS_qte_main="${CFLAGS_qte_main} ${CPPFLAGS_qte}"
+    LDFLAGS_qte_main="${LDFLAGS_qte_main} ${LDFLAGS_qte}"
+fi
+
+
 dnl
 dnl  Plugin and builtin checks
 dnl
@@ -2610,10 +2799,10 @@ dnl
 dnl  Stuff used by the program
 dnl
 AC_DEFINE_UNQUOTED(VERSION_MESSAGE, "${VERSION} ${CODENAME}", [Simple version string])
-AC_DEFINE_UNQUOTED(COPYRIGHT_MESSAGE, "VideoLAN Client - version ${VERSION} ${CODENAME} - (c) 1996-2002 VideoLAN", [Copyright string])
+AC_DEFINE_UNQUOTED(COPYRIGHT_MESSAGE, "VideoLAN Client - version ${VERSION} ${CODENAME} - (c) 1996-2003 VideoLAN", [Copyright string])
 AC_DEFINE_UNQUOTED(CONFIGURE_LINE, "${CONFIGURE_LINE}", [The ./configure command line])
 
-VLC_SYMBOL="`echo ${VERSION} | tr .- __`"
+VLC_SYMBOL="`echo ${VERSION} | sed -e 'y/.-/__/'`"
 AC_DEFINE_UNQUOTED(MODULE_SUFFIX, "__${VLC_SYMBOL}", [String suffix for module functions])
 AC_DEFINE_UNQUOTED(MODULE_SYMBOL, ${VLC_SYMBOL}, [Symbol suffix for module functions])
 AC_DEFINE_UNQUOTED(LIBEXT, "${LIBEXT}", [Dynamic object extension])
@@ -2655,7 +2844,6 @@ AC_SUBST(ALIASES)
 AC_SUBST(ASM)
 AC_SUBST(MOC)
 AC_SUBST(WINDRES)
-AC_SUBST(BCBUILDER)
 AC_SUBST(XPIDL)
 AC_SUBST(LIBEXT)
 AC_SUBST(INCLUDES)