dnl Autoconf settings for vlc
-AC_INIT(vlc,0.5.0-cvs-am)
+AC_INIT(vlc,0.5.0-cvs)
CONFIGURE_LINE="$0 $*"
CODENAME="Natalya"
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)
+AM_INIT_AUTOMAKE(vlc,0.5.0-cvs)
AM_CONFIG_HEADER(config.h)
dnl
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")
dnl AM_PROG_LIBTOOL
AC_PROG_INSTALL
LDFLAGS_vlc="${LDFLAGS_vlc} -all_load"
LIBEXT=".dylib"
;;
- x*mingw32*)
- SYS=mingw32
- AC_CHECK_TOOL(WINDRES, windres, :)
- CPPFLAGS_save="${CPPFLAGS_save} -D_OFF_T_ -D_off_t=long"; CPPFLAGS="${CPPFLAGS_save}"
- LDFLAGS_vlc="${LDFLAGS_vlc} -lws2_32 -lnetapi32 -mwindows -Xlinker --force-exe-suffix"
- LDFLAGS_ipv4="${LDFLAGS_ipv4} -lws2_32"
- LDFLAGS_ipv6="${LDFLAGS_ipv6} -lws2_32"
- LDFLAGS_access_http="${LDFLAGS_http} -lws2_32"
- LDFLAGS_rc="${LDFLAGS_rc} -lws2_32"
- LIBEXT=".dll"
- ;;
- x*cygwin*)
- SYS=cygwin
+ x*mingw32* | x*cygwin*)
AC_CHECK_TOOL(WINDRES, windres, :)
LIBEXT=".dll"
+
+ case "x${target_os}" in
+ x*mingw32*)
+ SYS=mingw32
+ ;;
+ x*cygwin*)
+ dnl Check if we are using the mno-cygwin mode in which case we are
+ dnl actually dealing with a mingw32 compiler.
+ AC_EGREP_CPP(yes,
+ [#ifdef WIN32
+ yes
+ #endif],
+ SYS=mingw32, SYS=cygwin)
+ ;;
+ esac
+
+ if test "x$SYS" = "xmingw32"; then
+ # add ws2_32 for closesocket, select, recv
+ CPPFLAGS_save="${CPPFLAGS_save} -D_OFF_T_ -D_off_t=long"
+ CPPFLAGS="${CPPFLAGS_save}"
+ LDFLAGS_vlc="${LDFLAGS_vlc} -lws2_32 -lnetapi32 -mwindows"
+ LDFLAGS_ipv4="${LDFLAGS_ipv4} -lws2_32"
+ 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_rc="${LDFLAGS_rc} -lws2_32"
+ fi
;;
x*nto*)
SYS=nto
CXXFLAGS_save="${CXXFLAGS_save} -Wno-multichar -Wno-ctor-dtor-privacy -Woverloaded-virtual"; CXXFLAGS="${CXXFLAGS_save}"
LDFLAGS_vlc="${LDFLAGS_vlc} -lbe"
LDFLAGS_plugins="${LDFLAGS_plugins} -nostart"
- LDFLAGS_beos="${LDFLAGS_beos} -lbe -lgame -lroot -ltracker -lstdc++.r4 -ltranslation"
+ LDFLAGS_beos="${LDFLAGS_beos} -lbe -lmedia -lroot -ltracker -lstdc++.r4 -ltranslation"
LDFLAGS_ipv4="${LDFLAGS_ipv4} -lbind"
;;
x*)
AC_MSG_CHECKING(for suffix of libraries)
AC_MSG_RESULT(${LIBEXT})
+dnl Check for the need to include the mingwex lib for mingw32
+if test x$SYS = xmingw32
+then
+ AC_CHECK_LIB(mingwex,opendir,
+ AC_CHECK_LIB(mingw32,opendir,LDFLAGS_vlc="${LDFLAGS_vlc}",
+ [LDFLAGS_vlc="${LDFLAGS_vlc} -lmingwex"
+ LDFLAGS_gtk="${LDFLAGS_gtk} -lmingwex"])
+ )
+fi
+
dnl Check for fnative-struct or mms-bitfields support for mingw32
if test x$SYS = xmingw32
then
CFLAGS_mingw32_special="-fnative-struct"
fi
- CFLAGS_save="${CFLAGS_save} ${CFLAGS_mingw32_special}"; CFLAGS="${CFLAGS_save}"
+ CFLAGS_save="${CFLAGS_save} ${CFLAGS_mingw32_special}";
+ CXXFLAGS_save="${CXXFLAGS_save} ${CFLAGS_mingw32_special}";
+ CFLAGS="${CFLAGS_save}"; CXXFLAGS="${CXXFLAGS_save}"
+fi
+
+dnl Check for fvtable-thunks support for mingw32
+if test x$SYS = xmingw32
+then
+AC_LANG_PUSH(C++)
+ AC_CACHE_CHECK([if \$CXX accepts -fvtable-thunks],
+ [ac_cv_cxx_fvtable_thunks],
+ [CXXFLAGS="${CXXFLAGS_save} -Wall -Werror -fvtable-thunks"
+ AC_TRY_COMPILE([],,ac_cv_cxx_fvtable_thunks=yes,
+ ac_cv_cxx_fvtable_thunks=no)])
+ if test x"$ac_cv_cxx_fvtable_thunks" = x"yes"; then
+ CXXFLAGS_mingw32_special="-fvtable-thunks"
+ fi
+
+ CXXFLAGS_save="${CXXFLAGS_save} ${CXXFLAGS_mingw32_special}"
+ CXXFLAGS="${CXXFLAGS_save}"
+AC_LANG_POP(C++)
fi
dnl Flags for plugin compilation
case "x${SYS}" in
xmingw32|xcygwin)
CFLAGS_pics="${CFLAGS_pics} ${CFLAGS_mingw32_special}"
- CXXFLAGS_pics="${CXXFLAGS_pics} ${CFLAGS_mingw32_special}"
+ CXXFLAGS_pics="${CXXFLAGS_pics} ${CFLAGS_mingw32_special} ${CXXFLAGS_mingw32_special}"
OBJCFLAGS_pics="${OBJCFLAGS_pics} ${CFLAGS_mingw32_special}"
CFLAGS_plugins="${CFLAGS_plugins} ${CFLAGS_mingw32_special}"
- CXXFLAGS_plugins="${CXXFLAGS_plugins} ${CFLAGS_mingw32_special}"
+ CXXFLAGS_plugins="${CXXFLAGS_plugins} ${CFLAGS_mingw32_special} ${CXXFLAGS_mingw32_special}"
OBJCFLAGS_plugins="${OBJCFLAGS_plugins} ${CFLAGS_mingw32_special}"
;;
x*)
CPPFLAGS_save="${CPPFLAGS_save} -DSYS_`echo ${SYS} | sed -e 's/-.*//' | tr 'abcdefghijklmnopqrstuvwxyz.' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`"; CPPFLAGS="${CPPFLAGS_save}"
dnl Check for system libs needed
-AC_CHECK_FUNCS(gettimeofday select strerror strtod strtol isatty vasprintf swab sigrelse getpwuid memalign posix_memalign gethostbyname2 atoll strndup)
+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=:])])
+
+AM_CONDITIONAL(BUILD_LIBC, ${need_libc})
AC_CHECK_FUNC(connect,,[
AC_CHECK_LIB(socket,connect,
AC_CHECK_FUNC(send,,[
AC_CHECK_LIB(socket,send,
- LDFLAGS_http="${LDFLAGS_http} -lsocket"
+ 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"
)])
AC_CHECK_FUNC(gethostbyname,,[
AC_CHECK_LIB(dl,dlopen,LDFLAGS_vlc="${LDFLAGS_vlc} -ldl")
AC_CHECK_LIB(m,cos,
LDFLAGS_imdct="${LDFLAGS_imdct} -lm"
- LDFLAGS_filter_distort="${LDFLAGS_filter_distort} -lm")
+ LDFLAGS_filter_distort="${LDFLAGS_filter_distort} -lm"
+ LDFLAGS_a52tofloat32="${LDFLAGS_a52tofloat32} -lm")
AC_CHECK_LIB(m,pow,
LDFLAGS_ffmpeg="${LDFLAGS_ffmpeg} -lm"
LDFLAGS_imdct="${LDFLAGS_imdct} -lm"
Define if <strings.h> defines strncasecmp.)])
dnl Check for headers
-AC_CHECK_HEADERS(stdint.h getopt.h strings.h inttypes.h sys/int_types.h)
-AC_CHECK_HEADERS(sys/sockio.h fcntl.h sys/types.h sys/time.h sys/times.h)
+AC_CHECK_HEADERS(signal.h time.h errno.h stdint.h getopt.h strings.h inttypes.h sys/int_types.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)
AC_CHECK_HEADERS(machine/param.h sys/shm.h)
AC_HEADER_TIME
+dnl Check for dirent
+need_dirent=false
+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_EGREP_HEADER(nanosleep,time.h,[
AC_DEFINE(HAVE_DECL_NANOSLEEP, 1,
AC_TRY_COMPILE([],,ac_cv_c_Wall_Winline=yes, ac_cv_c_Wall_Winline=no)])
if test "x${ac_cv_c_Wall_Winline}" != "xno"; then
CFLAGS_save="-Wall -Winline ${CFLAGS_save}"; CFLAGS="${CFLAGS_save}"
- CXXFLAGS_save="-Wall -Winline ${CXXFLAGS_save}"; CXXFLAGS="${CXXFLAGS_save}"
+ CXXFLAGS_save="-Wall ${CXXFLAGS_save}"; CXXFLAGS="${CXXFLAGS_save}"
OBJCFLAGS_save="-Wall -Winline ${OBJCFLAGS_save}"; OBJCFLAGS="${OBJCFLAGS_save}"
else
AC_CACHE_CHECK([if \$CC accepts -wall -winline],
CFLAGS_i420_yuy2_mmx="${CFLAGS_i420_yuy2_mmx} -fomit-frame-pointer"
fi
+dnl Check for -mdynamic-no-pic
+AC_CACHE_CHECK([if \$CC accepts -mdynamic-no-pic],
+ [ac_cv_c_dynamic_no_pic],
+ [CFLAGS="${CFLAGS_save} -mdynamic-no-pic"
+ AC_TRY_COMPILE([],,ac_cv_c_dynamic_no_pic=yes, ac_cv_c_dynamic_no_pic=no)])
+if test "x${ac_cv_c_dynamic_no_pic}" != "xno"; then
+ CFLAGS_builtins="${CFLAGS_builtins} -mdynamic-no-pic"
+ CFLAGS_libvlc="${CFLAGS_libvlc} -mdynamic-no-pic"
+fi
+
dnl Check for Darwin plugin linking flags
AC_CACHE_CHECK([if \$CC accepts -bundle -undefined error -lcc_dynamic],
[ac_cv_ld_darwin],
dnl
dnl default modules
dnl
-PLUGINS="${PLUGINS} dummy null"
-PLUGINS="${PLUGINS} rc logger access_file memcpy"
+PLUGINS="${PLUGINS} dummy rc logger access_file memcpy"
PLUGINS="${PLUGINS} es audio mpeg_system ps ts"
PLUGINS="${PLUGINS} idct idctclassic motion mpeg_video spudec mpeg_audio"
#PLUGINS="${PLUGINS} a52old imdct downmix"
PLUGINS="${PLUGINS} lpcm a52"
-PLUGINS="${PLUGINS} deinterlace invert wall transform distort clone crop motionblur"
-PLUGINS="${PLUGINS} float32tos16 float32tos8 float32tou16 float32tou8 a52tospdif fixed32tofloat32 fixed32tos16 s16tofloat32 s16tofloat32swab"
-PLUGINS="${PLUGINS} trivial_resampler ugly_resampler"
+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_mixer spdif_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"
+PLUGINS="${PLUGINS} id3 m3u"
+PLUGINS="${PLUGINS} wav araw demuxdump demuxsub"
dnl
dnl Network modules
dnl
-NETWORK_MODULES="access_udp access_http access_rtp ipv4"
+NETWORK_MODULES="access_udp access_http access_rtp ipv4 access_mms"
dnl
dnl Accelerated modules
then
AC_CHECK_HEADERS(dvdcss/dvdcss.h,
[ PLUGINS="${PLUGINS} dvd"
- LDFLAGS_dvd="${LDFLAGS_dvd} -ldvdcss" ],
+ LDFLAGS_dvd="${LDFLAGS_dvd} -ldvdcss"
+ LDFLAGS_dvdcss="${LDFLAGS_dvdcss} -ldvdcss" ],
[ AC_MSG_WARN([libdvdcss is no longer provided with vlc; please get libdvdcss from http://www.videolan.org/libdvdcss/ and build it. Then either use --with-dvdcss=<path/where/libdvdcss/was/installed> for dynamic linking (recommended under Unix) or --with-dvdcss-tree=<path/where/libdvdcss/was/built> for static linking (recommended under BeOS, Windows, MacOS X). Alternatively you can use --disable-dvd to disable the DVD plugin.])
AC_MSG_ERROR([cannot find libdvdcss headers]) ])
else
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"
CPPFLAGS_dvd="${CPPFLAGS_dvd} -I${real_dvdcss_tree}/src"
else
dnl The given libdvdcss wasn't built
AC_MSG_RESULT(yes)
PLUGINS="${PLUGINS} dvd"
LDFLAGS_dvd="${LDFLAGS_dvd} -L${with_dvdcss}/lib -ldvdcss"
+ LDFLAGS_dvdcss="${LDFLAGS_dvdcss} -L${with_dvdcss}/lib -ldvdcss"
CPPFLAGS_dvd="${CPPFLAGS_dvd} -I${with_dvdcss}/include"
else
dnl No libdvdcss could be found, sorry
AC_TRY_COMPILE([#include <dvdread/dvd_reader.h>],
[int foo() { return DVD_VIDEO_LB_LEN; }],[
PLUGINS="${PLUGINS} dvdread"
- LDFLAGS_dvdread="${LDFLAGS_dvdread} ${LDFLAGS_test} -ldvdread"
+ LDFLAGS_dvdread="${LDFLAGS_dvdread} ${LDFLAGS_test} -ldvdread ${LDFLAGS_dvdcss}"
CPPFLAGS_dvdread="${CPPFLAGS_dvdread} ${CPPFLAGS_test}"
],[
if test "x${enable_dvdread}" != "x"
CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_test}"
AC_CHECK_HEADERS(dvdplay/dvdplay.h, [
PLUGINS="${PLUGINS} dvdplay"
- LDFLAGS_dvdplay="${LDFLAGS_dvdplay} ${LDFLAGS_test} -ldvdplay -ldvdread"
+ LDFLAGS_dvdplay="${LDFLAGS_dvdplay} ${LDFLAGS_test} -ldvdplay -ldvdread ${LDFLAGS_dvdcss}"
CPPFLAGS_dvdplay="${CPPFLAGS_dvdplay} ${CPPFLAGS_test}"
],[
if test "x${enable_dvdplay}" != x
dnl libdvbpsi ts demux
dnl
AC_ARG_ENABLE(dvbpsi,
-[ --enable-dvbpsi dvbpsi ts demux module (default disabled)])
+[ --enable-dvbpsi dvbpsi ts demux module (default enabled)])
if test "x${enable_dvbpsi}" != "xno"
then
AC_ARG_WITH(dvbpsi,
then
AC_CHECK_HEADERS(dvbpsi/dr.h,
[ PLUGINS="${PLUGINS} ts_dvbpsi"
- LDFLAGS_ts_dvbpsi="${LDFLAGS_ts_dvbpsi} -ldvbpsi" ], [],
- [ AC_MSG_ERROR([cannot find libdvbpsi headers]) ])
+ LDFLAGS_ts_dvbpsi="${LDFLAGS_ts_dvbpsi} -ldvbpsi" ],
+ [ AC_MSG_WARN([cannot find libdvbpsi headers]) ],
+ [#include <stdint.h>
+#include <dvbpsi/dvbpsi.h>
+#include <dvbpsi/descriptor.h>
+#include <dvbpsi/pat.h>
+#include <dvbpsi/pmt.h>])
else
AC_MSG_CHECKING(for libdvbpsi.a in ${with_dvbpsi_tree})
real_dvbpsi_tree="`cd ${with_dvbpsi_tree} 2>/dev/null && pwd`"
dnl VCD module
dnl
AC_ARG_ENABLE(vcd,
- [ --enable-vcd VCD support for Linux, FreeBSD and MacOS X (default enabled)])
+ [ --enable-vcd VCD support for Linux, FreeBSD, MacOS X and Win32 (default enabled)])
if test "x${enable_vcd}" != "xno"
then
AC_DEFINE(HAVE_IOC_TOC_HEADER_IN_SYS_CDIO_H, 1, For FreeBSD VCD support)
])
- if test "x${SYS}" = "xbsdi"
+ if test "x${SYS}" = "xbsdi" -o "x${SYS}" = "xmingw32"
then
PLUGINS="${PLUGINS} vcd"
fi
if test "x${SYS}" = "xdarwin"
then
- # No need to add vcd to PLUGINS, Darwin is already based on FreeBSD
+ PLUGINS="${PLUGINS} vcd"
LDFLAGS_vcd="${LDFLAGS_vcd} -framework IOKit -framework CoreFoundation"
fi
fi
PLUGINS="${PLUGINS} avi"
fi
+dnl
+dnl ASF demux plugin
+dnl
+AC_ARG_ENABLE(asf,
+ [ --enable-asf ASF demux module (default enabled)])
+if test "x${enable_asf}" != "xno"
+then
+ PLUGINS="${PLUGINS} asf"
+fi
+
dnl
dnl AAC demux plugin
dnl
PLUGINS="${PLUGINS} aac"
fi
+dnl
+dnl ogg plugin
+dnl
+AC_ARG_ENABLE(ogg,
+ [ --enable-ogg Ogg demux support (default enabled)])
+if test "x${enable_ogg}" != "xno"
+then
+ AC_CHECK_HEADERS(ogg/ogg.h, [
+ AC_CHECK_LIB( ogg, oggpack_read, [
+ PLUGINS="${PLUGINS} ogg"
+ LDFLAGS_ogg="${LDFLAGS_ogg} -logg"
+ AC_CHECK_LIB( ogg, oggpackB_read, [
+ CPPFLAGS_ogg="${CPPFLAGS_ogg} -DHAVE_OGGPACKB"])])
+ ],[])
+fi
+
dnl
dnl Codec plugins
dnl
fi
+dnl
+dnl xvid decoder plugin
+dnl
+AC_ARG_ENABLE(xvid,
+[ --enable-xvid xvid codec (default disabled)])
+if test "x${enable_xvid}" = "xyes"
+then
+ AC_ARG_WITH(xvid,
+ [ --with-xvid=PATH path to xvid installation],[],[])
+ if test "x${with_xvid}" != "xno" -a "x${with_xvid}" != "x"
+ then
+ CPPFLAGS_xvid="${CPPFLAGS_xvid} -I${with_xvid}/include"
+ LDFLAGS_xvid="${LDFLAGS_xvid} -L${with_xvid}/lib"
+ fi
+ LDFLAGS_xvid="${LDFLAGS_xvid}"
+
+ AC_ARG_WITH(xvid-tree,
+ [ --with-xvid-tree=PATH xvid tree for static linking])
+ if test "x${with_xvid_tree}" != "x"
+ then
+ AC_MSG_CHECKING(for libxvidcore.a in ${with_xvid_tree})
+ real_xvid_tree="`cd ${with_xvid_tree} 2>/dev/null && pwd`"
+ if test "x${real_xvid_tree}" = x
+ then
+ dnl The given directory can't be found
+ AC_MSG_RESULT(no)
+ AC_MSG_ERROR([cannot cd to ${with_xvid_tree}])
+ fi
+ if test -f "${real_xvid_tree}/build/generic/libxvidcore.a"
+ 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"
+ CPPFLAGS_xvid="${CPPFLAGS_xvid} -I${real_xvid_tree}/src"
+ else
+ dnl The given libxvidcore wasn't built
+ AC_MSG_RESULT(no)
+ AC_MSG_ERROR([cannot find ${real_xvid_tree}/build/generic/libxvidcore.a, make sure you compiled libxvidcore in ${with_xvid_tree}])
+ fi
+ else
+ CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_xvid}"
+ LDFLAGS="${LDFLAGS_save} ${LDFLAGS_xvid}"
+ AC_CHECK_HEADERS(xvid.h, ,
+ [ AC_MSG_ERROR([Cannot find development headers for libxvidcore...]) ])
+ AC_CHECK_LIB(xvid, xvid_init, [
+ PLUGINS="${PLUGINS} xvid"
+ LDFLAGS_xvid="${LDFLAGS_xvid} -lxvid" ],
+ [ AC_MSG_ERROR([Cannot find libxvidcore library...]) ])
+ LDFLAGS="${LDFLAGS_save}"
+ CPPFLAGS="${CPPFLAGS_save}"
+ fi
+fi
+
+
dnl
dnl MP4 module
LDFLAGS="${LDFLAGS_save} ${LDFLAGS_a52tofloat32}"
AC_CHECK_LIB(a52, a52_free, [
BUILTINS="${BUILTINS} a52tofloat32"
- LDFLAGS_a52tofloat32="${LDFLAGS_a52tofloat32} -la52 -lm"
+ LDFLAGS_a52tofloat32="-la52 ${LDFLAGS_a52tofloat32}"
CPPFLAGS_a52tofloat32="${CPPFLAGS_a52tofloat32} -DUSE_A52DEC_TREE"
],[
if test -f ${real_a52_tree}/liba52/.libs/liba52.a
else
AC_MSG_ERROR([the specified tree hasn't been compiled])
fi
- ],[-lm])
+ ])
LDFLAGS="${LDFLAGS_save}"
else
AC_MSG_RESULT(no)
AC_CHECK_HEADERS(a52dec/a52.h, [
AC_CHECK_LIB(a52, a52_free, [
PLUGINS="${PLUGINS} a52tofloat32"
- LDFLAGS_a52tofloat32="${LDFLAGS_a52tofloat32} ${LDFLAGS_test} -la52 -lm"
+ LDFLAGS_a52tofloat32="${LDFLAGS_test} -la52 ${LDFLAGS_a52tofloat32}"
CPPFLAGS_a52tofloat32="${CPPFLAGS_a52tofloat32} ${CPPFLAGS_test}"
],[
if test "x${enable_dvbpsi}" != "x"
then
AC_MSG_ERROR([Could not find a52 on your system: you may get it from http://liba52.sf.net])
fi
- ],[-lm])
+ ])
])
CPPFLAGS="${CPPFLAGS_save}"
LDFLAGS="${LDFLAGS_save}"
fi
dnl
-dnl ogg vorbis plugin
+dnl DV plugin
+dnl
+AC_ARG_ENABLE(dv,
+ [ --enable-dv DV decoder support (default disabled)])
+if test "x${enable_dv}" = "xyes"
+then
+ AC_CHECK_HEADERS(libdv/dv.h, [
+ PLUGINS="${PLUGINS} dv"
+ LDFLAGS_dv="${LDFLAGS_dv} -ldv"
+ ],[])
+fi
+
+dnl
+dnl Vorbis plugin
dnl
AC_ARG_ENABLE(vorbis,
- [ --enable-vorbis Ogg/Vorbis decoder support (default enabled)])
+ [ --enable-vorbis Vorbis decoder support (default enabled)])
if test "x${enable_vorbis}" != "xno"
then
- AC_CHECK_HEADERS(ogg/ogg.h, [
- dnl disabled for the moment
- #PLUGINS="${PLUGINS} ogg vorbis"
- LDFLAGS_vorbis="${LDFLAGS_vorbis} -lvorbis"
+ AC_CHECK_HEADERS(vorbis/codec.h, [
+ PLUGINS="${PLUGINS} vorbis"
+ LDFLAGS_vorbis="${LDFLAGS_vorbis} -lvorbis -logg"
],[])
fi
dnl
-dnl DV plugin
+dnl Tremor plugin
dnl
-AC_ARG_ENABLE(dv,
- [ --enable-dv DV decoder support (default disabled)])
-if test "x${enable_dv}" = "xyes"
+AC_ARG_ENABLE(tremor,
+ [ --enable-tremor Tremor decoder support (default disabled)])
+if test "x${enable_tremor}" = "xyes"
then
- AC_CHECK_HEADERS(libdv/dv.h, [
- PLUGINS="${PLUGINS} dv"
- LDFLAGS_dv="${LDFLAGS_dv} -ldv"
+ AC_CHECK_HEADERS(tremor/ivorbiscodec.h, [
+ PLUGINS="${PLUGINS} tremor"
+ LDFLAGS_tremor="${LDFLAGS_tremor} -lvorbisidec -logg"
],[])
fi
+dnl
+dnl tarkin decoder plugin
+dnl
+AC_ARG_ENABLE(tarkin,
+[ --enable-tarkin experimental tarkin codec (default disabled)])
+if test "x${enable_tarkin}" = "xyes"
+then
+ AC_ARG_WITH(tarkin-tree,
+ [ --with-tarkin-tree=PATH tarkin tree for static linking])
+ if test "x${with_tarkin_tree}" != "x"
+ then
+ AC_MSG_CHECKING(for tarkin.o in ${with_tarkin_tree})
+ real_tarkin_tree="`cd ${with_tarkin_tree} 2>/dev/null && pwd`"
+ if test -f "${real_tarkin_tree}/tarkin.o"
+ then
+ BUILTINS="${BUILTINS} tarkin"
+ CPPFLAGS_tarkin="${CPPFLAGS_tarkin} -I${real_tarkin_tree}"
+ LDFLAGS_tarkin="${LDFLAGS_tarkin} ${real_tarkin_tree}/mem.o ${real_tarkin_tree}/pnm.o ${real_tarkin_tree}/wavelet.o ${real_tarkin_tree}/wavelet_xform.o ${real_tarkin_tree}/wavelet_coeff.o ${real_tarkin_tree}/yuv.o ${real_tarkin_tree}/tarkin.o ${real_tarkin_tree}/info.o -logg"
+ AC_MSG_RESULT(yes)
+ else
+ dnl The given tarkin tree wasn't built
+ AC_MSG_RESULT(no)
+ AC_MSG_ERROR([cannot find ${real_tarkin_tree}/tarkin.o,
+ make sure you compiled tarkin in ${with_tarkin_tree}])
+ fi
+ fi
+fi
+
+dnl
+dnl theora decoder plugin
+dnl
+AC_ARG_ENABLE(theora,
+[ --enable-theora experimental theora codec (default disabled)])
+if test "x${enable_theora}" = "xyes"
+then
+ AC_CHECK_HEADERS(theora/theora.h, [
+ AC_CHECK_LIB(theora, theora_granule_time, [
+ BUILTINS="${BUILTINS} theora"
+ LDFLAGS_theora="${LDFLAGS_theora} -logg -ltheora" ],[
+ AC_MSG_ERROR([libtheora doesn't appear to be installed on you system.
+You also need to check that you have a libogg posterior to the 1.0 release.])],
+ [-logg])
+ ])
+fi
+
dnl
dnl Video plugins
dnl
[ --enable-directx Win32 DirectX support (default enabled on Win32)])
if test "x${enable_directx}" != "xno"
then
- if test "x${SYS}" = "xmingw32"
+ if test "x${SYS}" = "xmingw32" -o "x${SYS}" = "xcygwin"
then
AC_ARG_WITH(directx,
[ --with-directx=PATH Win32 DirectX headers])
if test "x${with_directx}" = "x"
then
AC_CHECK_HEADERS(ddraw.h,
- [ PLUGINS="${PLUGINS} directx"
- LDFLAGS_directx="${LDFLAGS_directx} -lgdi32" ])
+ [ PLUGINS="${PLUGINS} vout_directx aout_directx"
+ LDFLAGS_vout_directx="${LDFLAGS_directx} -lgdi32" ])
else
AC_MSG_CHECKING(for directX headers in ${with_directx})
if test -f ${with_directx}/ddraw.h
then
- PLUGINS="${PLUGINS} directx"
- LDFLAGS_directx="${LDFLAGS_directx} -lgdi32"
- CPPFLAGS_directx="${CPPFLAGS_directx} -I${with_directx}"
+ PLUGINS="${PLUGINS} vout_directx aout_directx"
+ LDFLAGS_vout_directx="${LDFLAGS_directx} -lgdi32"
+ CPPFLAGS_vout_directx="${CPPFLAGS_vout_directx} -I${with_directx}"
+ CPPFLAGS_aout_directx="${CPPFLAGS_aout_directx} -I${with_directx}"
AC_MSG_RESULT(yes)
else
AC_MSG_RESULT(no)
fi
fi
+dnl
+dnl win32 GDI plugin
+dnl
+AC_ARG_ENABLE(wingdi,
+ [ --enable-wingdi Win32 GDI module (default enabled on Win32)])
+if test "x${enable_wingdi}" != "xno"; then
+ if test "x${SYS}" = "xmingw32" -o "x${SYS}" = "xcygwin"; then
+ PLUGINS="${PLUGINS} wingdi"
+ LDFLAGS_wingdi="${LDFLAGS_wingdi} -lgdi32"
+ fi
+fi
+
dnl
dnl Audio plugins
dnl
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])
dnl
AC_ARG_ENABLE(waveout,
[ --enable-waveout Win32 waveOut module (default enabled on Win32)])
-if test "x${enable_waveout}" != "xno" -a "x${SYS}" = "xmingw32"
- then
+if test "x${enable_waveout}" != "xno"; then
+ if test "x${SYS}" = "xmingw32" -o "x${SYS}" = "xcygwin"; then
PLUGINS="${PLUGINS} waveout"
LDFLAGS_waveout="-lwinmm"
+ fi
fi
dnl
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-gtk.])
fi
- CFLAGS_gtk="${CFLAGS_gtk} `${GTK_CONFIG} --cflags gtk gthread`"
- LDFLAGS_gtk="${LDFLAGS_gtk} `${GTK_CONFIG} --libs gtk gthread | sed 's,-rdynamic,,'`"
+ if test "x${SYS}" != "xmingw32"; then
+ CFLAGS_gtk="${CFLAGS_gtk} `${GTK_CONFIG} --cflags gtk gthread`"
+ LDFLAGS_gtk="${LDFLAGS_gtk} `${GTK_CONFIG} --libs gtk gthread | sed 's,-rdynamic,,'`"
+ else
+ CFLAGS_gtk="${CFLAGS_gtk} `${GTK_CONFIG} --cflags gtk`"
+ LDFLAGS_gtk="${LDFLAGS_gtk} `${GTK_CONFIG} --libs gtk | sed 's,-rdynamic,,'`"
+ fi
# now look for the gtk.h header
CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_gtk}"
ac_cv_gtk_headers=yes
CPPFLAGS="${CPPFLAGS_save}"
fi])
+dnl
+dnl wxWindows module
+dnl
+AC_ARG_ENABLE(wxwindows,
+ [ --enable-wxwindows wxWindows support (default enabled)])
+if test "x${enable_wxwindows}" != "xno"
+then
+ WXWINDOWS_PATH="${PATH}"
+ AC_ARG_WITH(wx-config-path,
+ [ --with-wx-config-path=PATH wx-config path (default search in \$PATH)],
+ [ if test "x${with_wx_config_path}" != "xno"
+ then
+ WXWINDOWS_PATH="${with_wx_config_path}:${PATH}"
+ fi ])
+ # look for wx-config
+ AC_PATH_PROG(WX_CONFIG, wx-config, no, ${WXWINDOWS_PATH})
+ if test "x${WX_CONFIG}" != "xno"
+ then
+ if expr 2.3.0 \> `${WX_CONFIG} --version` >/dev/null
+ 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`"
+ LDFLAGS_wxwindows="${LDFLAGS_wxwindows} `${WX_CONFIG} --libs`"
+ # now look for the wxprec.h header
+ CPPFLAGS="${save_CPPFLAGS} ${CXXFLAGS_wxwindows}"
+ ac_cv_wx_headers=yes
+ AC_CHECK_HEADERS(wx/wxprec.h, , [
+ ac_cv_wx_headers=no
+ echo "Cannot find wxWindows development headers."
+ ])
+ if test "x${ac_cv_wx_headers}" = "xyes"
+ then
+ PLUGINS="${PLUGINS} wxwindows"
+ ALIASES="${ALIASES} wxvlc"
+ fi
+ CPPFLAGS="${save_CPPFLAGS}"
+ fi
+fi
+
dnl
dnl Qt module
dnl
fi])
])
-LDFLAGS_vlc="${LDFLAGS_vlc} ${THREAD_LIB}"
-LDFLAGS_plugins="${LDFLAGS_plugins} ${THREAD_LIB}"
+if test "x${SYS}" != "xmingw32"; then
+ LDFLAGS_vlc="${LDFLAGS_vlc} ${THREAD_LIB}"
+ LDFLAGS_plugins="${LDFLAGS_plugins} ${THREAD_LIB}"
+fi
dnl
dnl Mozilla plugin
fi
AM_CONDITIONAL(BUILD_MOZILLA,${mozilla})
+dnl
+dnl test plugins
+dnl
+AC_ARG_ENABLE(testsuite,
+ [ --enable-testsuite build test modules (default disabled)])
+if test "x${enable_testsuite}" = "xyes"
+then
+ TESTS="test1 test2 test3 test4"
+
+ dnl we define those so that bootstrap sets the right linker
+ CXXFLAGS_test2="${CXXFLAGS_test2}"
+ OBJCFLAGS_test3="${OBJCFLAGS_test3}"
+ dnl this one is needed until automake knows what to do
+ LDFLAGS_test3="${LDFLAGS_test3} -lobjc"
+
+ PLUGINS="${PLUGINS} ${TESTS}"
+ #BUILTINS="${BUILTINS} ${TESTS}"
+fi
+
dnl
dnl gtk_main plugin
dnl
if test "x${NEED_GTK_MAIN}" != "xno"
then
PLUGINS="${PLUGINS} gtk_main"
- CFLAGS_gtk = "${CFLAGS_gtk} -DNEED_GTK_MAIN"
+ CFLAGS_gtk="${CFLAGS_gtk} -DNEED_GTK_MAIN"
CFLAGS_gtk_main="${CFLAGS_gtk_main} ${CFLAGS_gtk} ${CFLAGS_familiar}"
LDFLAGS_gtk_main="${LDFLAGS_gtk_main} ${LDFLAGS_gtk} ${LDFLAGS_familiar}"
fi
plugin_support=false
fi])
-dnl Automagically disable plugins if there is no system support for .so files
-dnl don't forget vlc-win32 still can load .so as 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 "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 plugin support. All plugins will be built"
then
for plugin in `echo ${PLUGINS}`
do
- typeset ${plugin}_plugin=yes
+ eval "${plugin}_plugin=yes"
done
else
BUILTINS="${BUILTINS} ${PLUGINS}"
builtin_support=:
for builtin in `echo ${BUILTINS}`
do
- typeset ${builtin}_builtin=yes
+ eval "${builtin}_builtin=yes"
done
fi]
AM_CONDITIONAL(HAVE_BUILTINS, ${builtin_support})
dnl
dnl Stuff used by the program
dnl
-AC_DEFINE_UNQUOTED(VERSION_MESSAGE, "vlc ${VERSION} ${CODENAME} Copyright 1996-2002 VideoLAN", [Simple version string])
+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(CONFIGURE_LINE, "${CONFIGURE_LINE}", [The ./configure command line])
AC_SUBST(BCBUILDER)
AC_SUBST(XPIDL)
AC_SUBST(LIBEXT)
+AC_SUBST(INCLUDES)
AC_SUBST(CFLAGS_TUNING)
AC_SUBST(CFLAGS_OPTIM)
AC_SUBST(CFLAGS_vlc)
AC_SUBST(CFLAGS_pics)
+AC_SUBST(CXXFLAGS_pics)
AC_SUBST(CFLAGS_plugins)
+AC_SUBST(CXXFLAGS_plugins)
AC_SUBST(CFLAGS_builtins)
AC_SUBST(CPPFLAGS_mozilla)