X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=configure.ac;h=9eab3398406cf602a24bd32a500430361163dfbd;hb=55bede9470e38578fc47c970cd2f95a3f9c878db;hp=59001528e9aabd912e739d88064ec0464300cf1d;hpb=ca7e34b3ebfc23010bdc17f0b601469f45dc3d73;p=vlc diff --git a/configure.ac b/configure.ac index 59001528e9..9eab339840 100644 --- a/configure.ac +++ b/configure.ac @@ -1,11 +1,11 @@ dnl Autoconf settings for vlc dnl $Id$ -AC_INIT(vlc,0.8.4-svn) +AC_INIT(vlc,0.8.4-test1) VERSION_MAJOR="0" VERSION_MINOR="8" VERSION_REVISION="4" -VERSION_EXTRA="svn" +VERSION_EXTRA="test1" CONFIGURE_LINE="$0 $*" CODENAME="Janus" @@ -17,9 +17,12 @@ 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.8.4-svn) +AM_INIT_AUTOMAKE(vlc,0.8.4-test1) AM_CONFIG_HEADER(config.h) +dnl HA! HA! +AM_MAINTAINER_MODE + dnl dnl Save *FLAGS dnl @@ -73,38 +76,42 @@ AC_C_INLINE dnl dnl Check for the contrib directory dnl -topdir="`dirname $0`" -if test "`echo \"$topdir\" | cut -c 1`" != "/"; then - topdir="`pwd`/$topdir" -fi - -if test -d ${topdir}/extras/contrib/lib; then - export PATH=${topdir}/extras/contrib/bin:$PATH - CPPFLAGS="${CPPFLAGS} -I${topdir}/extras/contrib/include" - CPPFLAGS_save="${CPPFLAGS_save} -I${topdir}/extras/contrib/include" - CFLAGS="${CFLAGS} -I${topdir}/extras/contrib/include" - CFLAGS_save="${CFLAGS_save} -I${topdir}/extras/contrib/include" - CXXFLAGS="${CXXFLAGS} -I${topdir}/extras/contrib/include" - CXXFLAGS_save="${CXXFLAGS_save} -I${topdir}/extras/contrib/include" - OBJCFLAGS="${OBJCFLAGS} -I${topdir}/extras/contrib/include" - OBJCFLAGS_save="${OBJCFLAGS_save} -I${topdir}/extras/contrib/include" - if test -d ${topdir}/extras/contrib/vlc-lib; then - LDFLAGS="${LDFLAGS} -L${topdir}/extras/contrib/vlc-lib" - LDFLAGS_save="${LDFLAGS_save} -L${topdir}/extras/contrib/vlc-lib" - fi - LDFLAGS="${LDFLAGS} -L${topdir}/extras/contrib/lib" - LDFLAGS_save="${LDFLAGS_save} -L${topdir}/extras/contrib/lib" - with_livedotcom_tree=${topdir}/extras/contrib/src/live - with_goom_tree=${topdir}/extras/contrib/src/goom - if test ".`uname -s`" = ".Darwin"; then - export LD_LIBRARY_PATH=${topdir}/extras/contrib/lib:$LD_LIBRARY_PATH - export DYLD_LIBRARY_PATH=${topdir}/extras/contrib/lib:$DYLD_LIBRARY_PATH - elif test ".`uname -s`" = ".BeOS"; then - export LIBRARY_PATH=${topdir}/extras/contrib/lib:$LIBRARY_PATH - export BELIBRARIES=${topdir}/extras/contrib/lib:$BELIBRARIES +AC_ARG_WITH(contrib, + [ --without-contrib do not use the libraries in extras/contrib],[],[]) + if test "${with_contrib}" != "no"; then + + topdir="`dirname $0`" + if test "`echo \"$topdir\" | cut -c 1`" != "/"; then + topdir="`pwd`/$topdir" + fi + + if test -d ${topdir}/extras/contrib/lib; then + export PATH=${topdir}/extras/contrib/bin:$PATH + CPPFLAGS="${CPPFLAGS} -I${topdir}/extras/contrib/include" + CPPFLAGS_save="${CPPFLAGS_save} -I${topdir}/extras/contrib/include" + CFLAGS="${CFLAGS} -I${topdir}/extras/contrib/include" + CFLAGS_save="${CFLAGS_save} -I${topdir}/extras/contrib/include" + CXXFLAGS="${CXXFLAGS} -I${topdir}/extras/contrib/include" + CXXFLAGS_save="${CXXFLAGS_save} -I${topdir}/extras/contrib/include" + OBJCFLAGS="${OBJCFLAGS} -I${topdir}/extras/contrib/include" + OBJCFLAGS_save="${OBJCFLAGS_save} -I${topdir}/extras/contrib/include" + if test -d ${topdir}/extras/contrib/vlc-lib; then + LDFLAGS="${LDFLAGS} -L${topdir}/extras/contrib/vlc-lib" + LDFLAGS_save="${LDFLAGS_save} -L${topdir}/extras/contrib/vlc-lib" + fi + LDFLAGS="${LDFLAGS} -L${topdir}/extras/contrib/lib" + LDFLAGS_save="${LDFLAGS_save} -L${topdir}/extras/contrib/lib" + with_livedotcom_tree=${topdir}/extras/contrib/src/live + with_goom_tree=${topdir}/extras/contrib/src/goom + if test ".`uname -s`" = ".Darwin"; then + export LD_LIBRARY_PATH=${topdir}/extras/contrib/lib:$LD_LIBRARY_PATH + export DYLD_LIBRARY_PATH=${topdir}/extras/contrib/lib:$DYLD_LIBRARY_PATH + elif test ".`uname -s`" = ".BeOS"; then + export LIBRARY_PATH=${topdir}/extras/contrib/lib:$LIBRARY_PATH + export BELIBRARIES=${topdir}/extras/contrib/lib:$BELIBRARIES + fi fi fi - dnl dnl Set default values dnl @@ -174,7 +181,7 @@ case "${target_os}" in VLC_ADD_CPPFLAGS([vlc],[-Dmain(a,b)=maince(a,b)]) VLC_ADD_LDFLAGS([vlc],[-lws2 -e WinMainCRTStartup]) VLC_ADD_LDFLAGS([ipv4 ipv6 access_http access_mms access_udp access_tcp access_ftp access_output_udp sap http netsync],[-lws2]) - fi + fi ;; *nto*) SYS=nto @@ -196,7 +203,13 @@ case "${target_os}" in VLC_ADD_CXXFLAGS([beos],[]) VLC_ADD_LDFLAGS([vlc beos],[-lbe]) VLC_ADD_LDFLAGS([beos],[-lmedia -ltranslation -ltracker -lgame]) - VLC_ADD_LDFLAGS([access_file access_ftp access_mms access_output_udp telnet netsync sap ipv4 vlc],[-lnet]) + + dnl Check for BONE + if test -f /boot/beos/system/lib/libbind.so; then + VLC_ADD_LDFLAGS([access_file access_ftp access_mms access_output_udp telnet netsync sap ipv4 vlc],[-lbind -lsocket]) + else + VLC_ADD_LDFLAGS([access_file access_ftp access_mms access_output_udp telnet netsync sap ipv4 vlc],[-lnet]) + fi dnl Ugly check for Zeta if test -f /boot/beos/system/lib/libzeta.so; then @@ -215,7 +228,7 @@ AM_CONDITIONAL(HAVE_WINCE, test "${SYS}" = "mingwce") dnl dnl Gettext stuff dnl -ALL_LINGUAS="ca da de en_GB es fr it ja nl pt_BR ro ru tr zh_TW" +ALL_LINGUAS="ca da de en_GB es fr it ja ko nl pt_BR ro ru tr zh_CN zh_TW" AM_GNU_GETTEXT_VERSION(0.11.5) AM_GNU_GETTEXT if test "${nls_cv_force_use_gnu_gettext}" = "yes"; then @@ -235,8 +248,10 @@ XGETTEXT="${XGETTEXT} --keyword=_NS --keyword=_ANS" dnl dnl Iconv stuff dnl +if test "${SYS}" != "mingwce"; then AS_IF([test "$am_cv_func_iconv" != "yes"], [AC_MSG_ERROR([libiconv is needed for VLC to work properly])]) +fi VLC_ADD_CFLAGS([vlc],[${INCICONV}]) VLC_ADD_LDFLAGS([vlc],[${LIBICONV}]) @@ -294,6 +309,9 @@ dnl Plugin compilation stuff VLC_LIBRARY_SUFFIX +VLC_SYMBOL_PREFIX +AC_SUBST(SYMPREF) + case "${SYS}" in mingw32|cygwin) VLC_ADD_CFLAGS([pic plugin mozilla activex],[${CFLAGS_mingw32_special}]) @@ -316,7 +334,7 @@ CPPFLAGS_save="${CPPFLAGS_save} -DSYS_`echo ${SYS} | sed -e 's/-.*//' | tr 'abcd dnl Check for system libs needed need_libc=false -AC_CHECK_FUNCS(gettimeofday select strerror strtod strtol strtof strtoll strtoull strsep isatty vasprintf asprintf swab sigrelse getpwuid memalign posix_memalign if_nametoindex atoll getenv putenv setenv gmtime_r ctime_r localtime_r lrintf daemon scandir) +AC_CHECK_FUNCS(gettimeofday select strerror strtod strtol strtof strtoll strtoull strsep isatty vasprintf asprintf swab sigrelse getpwuid memalign posix_memalign if_nametoindex atoll getenv putenv setenv gmtime_r ctime_r localtime_r lrintf daemon scandir fork bsearch) dnl Check for usual libc functions AC_CHECK_FUNCS(strdup strndup atof) @@ -457,7 +475,7 @@ AC_CHECK_LIB(m,cos,[ VLC_ADD_LDFLAGS([adjust distort a52tofloat32 dtstofloat32 x264 goom],[-lm]) ]) AC_CHECK_LIB(m,pow,[ - VLC_ADD_LDFLAGS([ffmpeg ffmpegaltivec stream_out_transrate i420_rgb faad twolame equalizer vlc freetype],[-lm]) + VLC_ADD_LDFLAGS([ffmpeg ffmpegaltivec stream_out_transrate i420_rgb faad twolame equalizer vlc freetype mpc],[-lm]) ]) AC_CHECK_LIB(m,sqrt,[ VLC_ADD_LDFLAGS([headphone_channel_mixer normvol speex],[-lm]) @@ -650,7 +668,7 @@ AC_CHECK_HEADERS(signal.h time.h errno.h stdint.h stdbool.h getopt.h strings.h i 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(arpa/inet.h net/if.h netinet/in.h sys/socket.h) if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then -AC_CHECK_HEADERS(machine/param.h sys/shm.h altivec.h) +AC_CHECK_HEADERS(machine/param.h sys/shm.h) AC_CHECK_HEADERS(linux/version.h) fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" @@ -696,11 +714,15 @@ if test "${x_libraries}" = "NONE"; then x_libraries="/usr/X11R6/lib" fi +dnl it seems that autoconf do the pkg-config detection only for the first PKG_CHECK_MODULES in the configure.ac ( which is logical) but in our case it is nested in a if so it was not working if you're not on linux or have disable hal. + +PKG_PROG_PKG_CONFIG() + dnl Check for hal AC_ARG_ENABLE(hal, [ --enable-hal Linux HAL services discovery (default enabled)]) -if test "${enable_hal}" != "no" +if test "${enable_hal}" != "no" -a "${SYS}" = "linux" then PKG_CHECK_MODULES(HAL, hal >= 0.2.97, [AC_DEFINE(HAVE_HAL, [], [Define if you have the HAL library]) @@ -981,7 +1003,7 @@ VLC_ADD_PLUGINS([deinterlace invert adjust transform distort motionblur rv32]) VLC_ADD_PLUGINS([fixed32tos16 s16tofixed32 u8tofixed32]) VLC_ADD_PLUGINS([trivial_resampler ugly_resampler]) VLC_ADD_PLUGINS([trivial_channel_mixer trivial_mixer]) -VLC_ADD_PLUGINS([playlist export sgimb m3u xtag]) +VLC_ADD_PLUGINS([playlist export sgimb m3u nsc xtag]) VLC_ADD_PLUGINS([i420_rgb rawvideo blend scale image logo]) VLC_ADD_PLUGINS([wav araw subtitle vobsub adpcm a52sys dtssys au ty voc xa nuv]) VLC_ADD_PLUGINS([access_directory access_file access_udp access_tcp]) @@ -992,12 +1014,12 @@ VLC_ADD_PLUGINS([packetizer_mpeg4video packetizer_mpeg4audio]) if test "${SYS}" != "mingwce"; then dnl VLC_ADD_PLUGINS([externrun]) VLC_ADD_PLUGINS([access_fake access_filter_timeshift access_filter_record]) - VLC_ADD_PLUGINS([gestures rc telnet hotkeys netsync showintf time marq sap shout fake]) + VLC_ADD_PLUGINS([gestures rc telnet hotkeys netsync showintf time marq shout sap fake]) VLC_ADD_PLUGINS([rss mosaic wall motiondetect clone crop]) VLC_ADD_PLUGINS([i420_yuy2 i422_yuy2 i420_ymga]) VLC_ADD_PLUGINS([aout_file linear_resampler bandlimited_resampler]) VLC_ADD_PLUGINS([float32_mixer spdif_mixer simple_channel_mixer]) - VLC_ADD_PLUGINS([headphone_channel_mixer normvol equalizer]) + VLC_ADD_PLUGINS([dolby_surround_decoder headphone_channel_mixer normvol equalizer]) VLC_ADD_PLUGINS([fixed32tofloat32 float32tos16 float32tos8 float32tou16 float32tou8 a52tospdif dtstospdif s16tofloat32 s16tofloat32swab s8tofloat32 u8tofloat32 audio_format]) fi @@ -1050,6 +1072,31 @@ if test "${ac_cv_mmx_inline}" != "no"; then ACCEL_MODULES="${ACCEL_MODULES} ${MMX_MODULES}" fi +dnl Check for fully workin MMX intrinsics +dnl We need support for -mmmx, we need , and we also need a +dnl working compiler (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23963) +AC_CACHE_CHECK([if \$CC groks MMX intrinsics], + [ac_cv_c_mmx_intrinsics], + [CFLAGS="${CFLAGS_save} -O -mmmx" + AC_TRY_COMPILE([#include + #include + uint64_t frobzor;], + [__m64 a, b, c; + a = b = c = (__m64)frobzor; + a = _mm_slli_pi16(a, 3); + a = _mm_adds_pi16(a, b); + c = _mm_srli_pi16(c, 8); + c = _mm_slli_pi16(c, 3); + b = _mm_adds_pi16(b, c); + a = _mm_unpacklo_pi8(a, b); + frobzor = (uint64_t)a;], + [ac_cv_c_mmx_intrinsics=yes], + [ac_cv_c_mmx_intrinsics=no])]) +if test "${ac_cv_c_mmx_intrinsics}" != "no"; then + AC_DEFINE(HAVE_MMX_INTRINSICS, 1, Define if MMX intrinsics are available.) + VLC_ADD_CFLAGS([i420_rgb_mmx],[-mmmx]) +fi + AC_CACHE_CHECK([if \$CC groks MMX EXT inline assembly], [ac_cv_mmxext_inline], [CFLAGS="${CFLAGS_save}" @@ -1103,32 +1150,58 @@ if test "${ac_cv_altivec_inline}" != "no"; then ACCEL_MODULES="${ACCEL_MODULES} ${ALTIVEC_MODULES}" fi +dnl The AltiVec C extensions +dnl +dnl There are several possible cases: +dnl - OS X PPC, gcc 4.x: use -mpim-altivec, don't need +dnl - OS X PPC, gcc 3.x: need -faltivec, don't need +dnl - Linux PPC, gcc 3.4, 4.x: need which requires -maltivec +dnl - Linux PPC, gcc 3.3: need and -maltivec -mabi=altivec +dnl - Linux PPC, gcc 3.x: need and -fvec +dnl - Others: test should fail AC_CACHE_CHECK([if \$CC groks AltiVec C extensions], - [ac_cv_c_altivec], - [# Darwin test - CFLAGS="${CFLAGS_save} -faltivec" - AC_TRY_COMPILE([], - [vec_ld(0, (unsigned char *)0);], - [ac_cv_c_altivec="-faltivec"], - [# Linux/PPC test (no flags) - CFLAGS="${CFLAGS_save} ${CFLAGS_idctaltivec} -maltivec -mabi=altivec" - AC_TRY_COMPILE([#ifdef HAVE_ALTIVEC_H - #include - #endif], - [vec_ld(0, (unsigned char *)0);], - [ac_cv_c_altivec="" - ac_cv_c_altivec_abi="-maltivec -mabi=altivec"], - [# Linux/PPC test (old GCC versions) - CFLAGS="${CFLAGS_save} ${CFLAGS_idctaltivec} -fvec" - AC_TRY_COMPILE([#ifdef HAVE_ALTIVEC_H - #include - #endif], - [vec_ld(0, (unsigned char *)0);], - [ac_cv_c_altivec="-fvec"], - [ac_cv_c_altivec=no]) + [ac_cv_c_altivec], + [# OS X/PPC test (gcc 4.x) + CFLAGS="${CFLAGS_save} -mpim-altivec" + AC_TRY_COMPILE([], + [vec_ld(0, (unsigned char *)0);], + [ac_cv_c_altivec="-mpim-altivec"], + [# OS X/PPC test (gcc 3.x) + CFLAGS="${CFLAGS_save} -faltivec" + AC_TRY_COMPILE([], + [vec_ld(0, (unsigned char *)0);], + [ac_cv_c_altivec="-faltivec"], + dnl Below this are the Linux tests + [# Linux/PPC test (gcc 4.x) + CFLAGS="${CFLAGS_save} -maltivec" + AC_TRY_COMPILE([#include ], + [vec_ld(0, (unsigned char *)0);], + [ac_cv_c_altivec="-maltivec"], + [# Linux/PPC test (gcc 3.3) + CFLAGS="${CFLAGS_save} -maltivec -mabi=altivec" + AC_TRY_COMPILE([#include ], + [vec_ld(0, (unsigned char *)0);], + [ac_cv_c_altivec="" + ac_cv_c_altivec_abi="-maltivec -mabi=altivec"], + [# Linux/PPC test (gcc 3.3) + CFLAGS="${CFLAGS_save} -fvec" + AC_TRY_COMPILE([#include ], + [vec_ld(0, (unsigned char *)0);], + [ac_cv_c_altivec="-fvec"], + [ac_cv_c_altivec=no]) + ]) ]) ]) - CFLAGS="${CFLAGS_save}"]) + ]) + CFLAGS="${CFLAGS_save}" + ]) + +if test "${ac_cv_c_altivec}" != "no"; then + CPPFLAGS="${CPPFLAGS_save} ${ac_cv_c_altivec}" +fi +AC_CHECK_HEADERS(altivec.h) +CPPFLAGS="${CPPFLAGS_save}" + if test "${ac_cv_c_altivec}" != "no"; then AC_DEFINE(CAN_COMPILE_C_ALTIVEC, 1, Define if your compiler groks C AltiVec extensions.) VLC_ADD_CFLAGS([vlc],[${ac_cv_c_altivec}]) @@ -1167,20 +1240,23 @@ else elif test "${target_cpu}" = "powerpc"; then CFLAGS_TUNING="-mtune=750"; fi +fi - dnl NOTE: this can't be cached cleanly - AS_IF([test "${CFLAGS_TUNING}"], - [CFLAGS_save="${CFLAGS}" - CFLAGS="${CFLAGS} ${CFLAGS_TUNING}" +dnl NOTE: this can't be cached cleanly +AS_IF([test "${CFLAGS_TUNING}"], + [CFLAGS_save="${CFLAGS}" + CFLAGS="${CFLAGS} ${CFLAGS_TUNING}" - AC_MSG_CHECKING([whether $CC accepts ${CFLAGS_TUNING}]) - AC_COMPILE_IFELSE([ ], [tuning="yes"], - [CFLAGS_TUNING=""; tuning="no"]) + AC_MSG_CHECKING([whether $CC accepts ${CFLAGS_TUNING}]) + AC_COMPILE_IFELSE([ ], + [tuning="yes"], + [CFLAGS_TUNING=""; tuning="no" + AS_IF([test "${with_tuning}"], + [AC_MSG_ERROR([requested tuning not supported])])]) - AC_MSG_RESULT([$tuning]) - CFLAGS="${CFLAGS_save}" - ]) -fi + AC_MSG_RESULT([$tuning]) + CFLAGS="${CFLAGS_save}" +]) dnl dnl x86 accelerations @@ -1249,6 +1325,18 @@ then AC_DEFINE(ENABLE_SOUT, 1, Define if you want the stream output support) fi +dnl Check for libshout +AC_ARG_ENABLE(shout, + [ --enable-shout libshout output plugin (default disabled)]) +if test "${enable_shout}" = "yes"; then + PKG_CHECK_MODULES(SHOUT, shout >= 2.1, + [AC_DEFINE(HAVE_SHOUT, [], [Define if you have the libshout library]) + VLC_ADD_PLUGINS([access_output_shout]) + VLC_ADD_LDFLAGS([vlc access_output_shout],[$SHOUT_LIBS]) + VLC_ADD_CFLAGS([vlc access_output_shout],[$SHOUT_CFLAGS])], + [AC_MSG_WARN(libshout library not found)]) +fi + dnl dnl HTTP daemon dnl @@ -1312,7 +1400,7 @@ AC_ARG_WITH(,[Input plugins:]) dnl live.com input dnl AC_ARG_ENABLE(livedotcom, -[ --enable-livedotcom live.com input plugin (default disabled)]) +[ --enable-livedotcom live.com RTSP input plugin (default disabled)]) if test "${enable_livedotcom}" = "yes"; then AC_ARG_WITH(livedotcom-tree, [ --with-livedotcom-tree=PATH live.com tree for static linking]) @@ -1506,6 +1594,9 @@ if test "${enable_smb}" != "no"; then [ if test -n "${enable_smb}"; then AC_MSG_ERROR([cannot find libsmbclient headers]) fi ]) + AC_CHECK_MEMBER([struct _SMBCCTX.close_fn], + AC_DEFINE([HAVE__SMBCCTX_CLOSE_FN], [1], [Define if samba has _SMBCCTX.close_fn]),, + [#include ]) fi dnl @@ -1557,7 +1648,7 @@ then VLC_ADD_BUILTINS([mux_ts]) fi VLC_ADD_CPPFLAGS([mux_ts ts dvb],[-I${real_dvbpsi_tree}/src]) - VLC_ADD_LDFLAGS([mux_ts ts dvb],[-L${real_dvbpsi_tree}/src/.libs -ldvbpsi]) + VLC_ADD_LDFLAGS([mux_ts ts dvb],[${real_dvbpsi_tree}/src/.libs/libdvbpsi.a]) else dnl The given libdvbpsi wasn't built AC_MSG_RESULT(no) @@ -1596,6 +1687,10 @@ then CPPFLAGS="${CPPFLAGS_save}" ;; esac + AC_CHECK_LIB(dvbpsi, dvbpsi_GenSDTSections, [ + AC_DEFINE(HAVE_DVBPSI_SDT, 1, [Define if you have dvbpsi_GenSDTSections.]) + ], [], [${LDFLAGS_ts}]) + fi dnl @@ -1629,10 +1724,26 @@ then VLC_ADD_PLUGINS([pvr]) fi +dnl +dnl gnomeVFS access module +dnl +AC_ARG_ENABLE(gnomevfs, + [ --enable-gnomevfs GnomeVFS access module (default enabled)]) +if test "${enable_gnomevfs}" != "no" +then + PKG_CHECK_MODULES(GNOMEVFS, gnome-vfs-2.0, + VLC_ADD_LDFLAGS([access_gnomevfs],[$GNOMEVFS_LIBS]) + VLC_ADD_CPPFLAGS([access_gnomevfs],[$GNOMEVFS_CPPFLAGS]) + VLC_ADD_CFLAGS([access_gnomevfs],[$GNOMEVFS_CFLAGS]) + VLC_ADD_PLUGINS([access_gnomevfs]), + AC_MSG_WARN([GnomeVFS support disabled because GnomeVFS development headers not found])) +fi + dnl Need to test libcdio and libvcdinfo for a number of things. Do it now. AC_ARG_ENABLE(libcdio, [ --enable-libcdio CD input and control library support (default enabled)]) - + + have_libcdio=no have_libvcdinfo=no if test "${enable_libcdio}" != "no" @@ -1793,7 +1904,7 @@ then else VLC_ADD_BUILTINS([dvb]) fi - ],[]) + ],[AC_MSG_WARN(linux-dvb headers not found, dvb disabled)]) CPPFLAGS="${CPPFLAGS_save}" fi @@ -1835,10 +1946,10 @@ have_ipv6=no AC_CHECK_FUNCS(inet_pton,[have_ipv6=yes],[ AC_CHECK_LIB(resolv,inet_pton, [have_ipv6=yes - VLC_ADD_LDFLAGS([ipv6],[-lresolv])]) + VLC_ADD_LDFLAGS([ipv6 vlc],[-lresolv])]) ]) -AS_IF([test "${have_ipv6}" == "yes"], [ +AS_IF([test "${have_ipv6}" = "yes"], [ AC_DEFINE(HAVE_INET_PTON, 1, [Define to 1 if you have inet_pton().])]) if test "${SYS}" != "nto" && @@ -1882,11 +1993,11 @@ AC_ARG_ENABLE(mkv, if test "${enable_mkv}" != "no" -a "${CXX}" != ""; then AC_LANG_PUSH(C++) AC_CHECK_HEADERS(ebml/EbmlVersion.h, [ - AC_MSG_CHECKING(for libebml version >= 0.7.3) + AC_MSG_CHECKING(for libebml version >= 0.7.6) AC_EGREP_CPP(yes, [#include #ifdef LIBEBML_VERSION - #if LIBEBML_VERSION >= 0x000703 + #if LIBEBML_VERSION >= 0x000706 yes #endif #endif], @@ -1943,6 +2054,19 @@ then VLC_ADD_LDFLAGS([mod],[-lmodplug])]) fi +dnl +dnl mpc demux plugin +dnl +AC_ARG_ENABLE(mpc, + [ --enable-mpc Mpc demux support (default enabled)]) +if test "${enable_mpc}" != "no" +then + AC_CHECK_HEADERS(mpcdec/mpcdec.h, [ + VLC_ADD_PLUGINS([mpc]) + VLC_ADD_LDFLAGS([mpc],[-lmpcdec])]) +fi + + dnl dnl Codec plugins dnl @@ -2047,44 +2171,52 @@ dnl Look for a ffmpeg-config (we are on debian ) VLC_ADD_LDFLAGS([ffmpeg stream_out_switcher],[`${FFMPEG_CONFIG} --plugin-libs avcodec avformat postproc`]) else - Trying with pkg-config - PKG_CHECK_MODULES(FFMPEG,libavcodec libavformat, - [ - AC_CHECK_HEADERS(ffmpeg/avcodec.h) - AC_CHECK_HEADERS(postproc/postprocess.h) - VLC_ADD_PLUGINS([ffmpeg]) - if test "${enable_sout}" != "no"; then - VLC_ADD_PLUGINS([stream_out_switcher]) - fi - VLC_ADD_CFLAGS([ffmpeg stream_out_switcher],[${FFMPEG_CFLAGS}]) - VLC_ADD_LDFLAGS([ffmpeg stream_out_switcher],[${FFMPEG_LIBS}]) - ], - [ - - AC_ARG_WITH(ffmpeg-mp3lame, +dnl Those options have to be here because the .pc can be bogus for ffmpeg previous nov 05 + + AC_ARG_WITH(ffmpeg-mp3lame, [ --with-ffmpeg-mp3lame specify if ffmpeg has been compiled with mp3lame support], [ - VLC_ADD_LDFLAGS([ffmpeg],[-lmp3lame]) ]) + if test "$with_ffmpeg_mp3lame" = "yes"; then + VLC_ADD_LDFLAGS([ffmpeg],[-lmp3lame]) + fi + ]) AC_ARG_WITH(ffmpeg-faac, [ --with-ffmpeg-faac specify if ffmpeg has been compiled with faac support], [ - VLC_ADD_LDFLAGS([ffmpeg],[-lfaac]) ]) + if test "$with_ffmpeg_faac" = "yes"; then + VLC_ADD_LDFLAGS([ffmpeg],[-lfaac]) + fi]) AC_ARG_WITH(ffmpeg-dts, [ --with-ffmpeg-dts specify if ffmpeg has been compiled with dts support], [ - VLC_ADD_LDFLAGS([ffmpeg],[-ldts]) ]) + if test "$with_ffmpeg_dts" = "yes"; then + VLC_ADD_LDFLAGS([ffmpeg],[-ldts]) + fi]) AC_ARG_WITH(ffmpeg-zlib, [ --with-ffmpeg-zlib specify if ffmpeg has been compiled with zlib support], [ - VLC_ADD_LDFLAGS([ffmpeg],[-lz]) ]) + if test "$with_ffmpeg_zlib" = "yes"; then + VLC_ADD_LDFLAGS([ffmpeg],[-lz]) + fi]) - AC_ARG_WITH(ffmpeg-tree, - [ --with-ffmpeg-tree=PATH ffmpeg tree for static linking]) +dnl Trying with pkg-config + PKG_CHECK_MODULES(FFMPEG,[libavcodec, libavformat], + [ + AC_CHECK_HEADERS(ffmpeg/avcodec.h) + AC_CHECK_HEADERS(postproc/postprocess.h) + VLC_ADD_BUILTINS([ffmpeg]) + if test "${enable_sout}" != "no"; then + VLC_ADD_BUILTINS([stream_out_switcher]) + fi + VLC_ADD_CFLAGS([ffmpeg stream_out_switcher],[${FFMPEG_CFLAGS}]) + VLC_ADD_LDFLAGS([ffmpeg],[${FFMPEG_LIBS}]) + ],[ + dnl dnl test for !(--with-ffmpeg-tree) dnl @@ -2100,6 +2232,8 @@ dnl Look for a ffmpeg-config (we are on debian ) AC_CHECK_LIB(avcodec, avcodec_init, [ VLC_ADD_BUILTINS([ffmpeg]) + + VLC_ADD_LDFLAGS([ffmpeg],[-lavcodec]) if test "${enable_sout}" != "no"; then VLC_ADD_BUILTINS([stream_out_switcher]) @@ -2108,7 +2242,7 @@ dnl Look for a ffmpeg-config (we are on debian ) AC_CHECK_LIB(avformat, av_open_input_stream, [ AC_DEFINE(HAVE_LIBAVFORMAT, 1, [Define if you have ffmpeg's libavformat.]) - VLC_ADD_LDFLAGS([ffmpeg],[-lavformat -lz]) ], [], [-lavcodec -lz]) + VLC_ADD_LDFLAGS([ffmpeg],[-lavformat -lz]) ], [], [-lavcodec -lz $LDAVUTIL]) LDFLAGS="${LDFLAGS_save}" CPPFLAGS="${CPPFLAGS_save}" fi @@ -2187,6 +2321,9 @@ dnl Look for a ffmpeg-config (we are on debian ) fi fi ]) + AC_ARG_WITH(ffmpeg-tree, + [ --with-ffmpeg-tree=PATH ffmpeg tree for static linking]) + fi fi @@ -2195,7 +2332,7 @@ dnl ffmpeg decoder/demuxer plugin dnl AC_ARG_ENABLE(ffmpegaltivec, [ --enable-ffmpegaltivec ffmpegaltivec codec (DO NOT USE)]) -if test "${enable_ffmpegaltivec}" == "yes" +if test "${enable_ffmpegaltivec}" = "yes" then if test "${with_ffmpeg_tree}" != "no" -a -n "${with_ffmpeg_tree}"; then AC_MSG_CHECKING(for libavcodecaltivec.a in ${with_ffmpeg_tree}) @@ -2343,6 +2480,24 @@ then fi fi +dnl +dnl Real plugin +dnl +AC_ARG_ENABLE(real, + [ --enable-real Real audio module (default disabled)]) +if test "${enable_real}" = "yes"; then + VLC_ADD_PLUGINS([realaudio]) +fi + +dnl +dnl Real RTSP plugin +dnl +AC_ARG_ENABLE(realrtsp, + [ --enable-realrtsp Real RTSP module (default disabled)]) +if test "${enable_realrtsp}" = "yes"; then + VLC_ADD_PLUGINS([access_realrtsp]) +fi + dnl dnl MP4 module dnl @@ -2959,7 +3114,7 @@ then if test "${SDL_CONFIG}" != "no" then # SDL on Darwin is heavily patched and can only run SDL_image - if test "${SYS}" != "darwin"; then + if test "${SYS}" != "darwin" -a "${SYS}" != "mingw32"; then VLC_ADD_PLUGINS([vout_sdl aout_sdl]) fi VLC_ADD_CFLAGS([vout_sdl aout_sdl sdl_image],[`${SDL_CONFIG} ${SDL_PREFIX} --cflags | sed 's,SDL,,'`]) @@ -2976,6 +3131,12 @@ Please install it and try again. Alternatively you can also configure with AC_CHECK_HEADERS(${SDL_IMAGE}, [AC_DEFINE_UNQUOTED(SDL_IMAGE_INCLUDE_FILE, <${SDL_IMAGE}>, Indicate the path of SDL_image.h) VLC_ADD_PLUGINS([sdl_image]) + AC_CHECK_LIB(png, png_set_rows, + [VLC_ADD_LDFLAGS([sdl_image],[-lpng -lz])],[],[-lz]) + AC_CHECK_LIB(jpeg, jpeg_start_decompress, + [VLC_ADD_LDFLAGS([sdl_image],[-ljpeg])]) + AC_CHECK_LIB(tiff, TIFFClientOpen, + [VLC_ADD_LDFLAGS([sdl_image],[-ltiff])]) VLC_ADD_LDFLAGS([sdl_image], [-lSDL_image])], [ AC_CHECK_HEADERS(SDL_image.h, AC_DEFINE(SDL_IMAGE_INCLUDE_FILE, , As a last resort we also test for SDL_image.h presence), @@ -2989,6 +3150,7 @@ You should install it alongside your SDL package.]) Please install it and try again. Alternatively you can also configure with --disable-sdl.]) fi + elif test "${enable_sdl}" = "yes" then AC_MSG_ERROR([I couldn't find the SDL package. You can download libSDL @@ -3097,7 +3259,7 @@ dnl SVG module dnl AC_ARG_ENABLE(svg, [ --enable-svg SVG support (default disabled)]) -if test "${enable_svg}" == "yes" +if test "${enable_svg}" = "yes" then PKG_CHECK_MODULES(SVG, librsvg-2.0 >= 2.5.0, @@ -3398,20 +3560,20 @@ AC_ARG_ENABLE(portaudio, fi]) dnl -dnl aRts module +dnl aRts module -- broken (freeze wxWidgets) dnl AC_ARG_ENABLE(arts, - [ --enable-arts aRts sound server (default disabled)], - [if test "${enable_arts}" = "yes" - then - AC_PATH_PROG(ARTS_CONFIG, artsc-config, no) - if test "${ARTS_CONFIG}" != "no" - then - VLC_ADD_PLUGINS([arts]) - VLC_ADD_CFLAGS([arts],[`${ARTS_CONFIG} --cflags`]) - VLC_ADD_LDFLAGS([arts],[`${ARTS_CONFIG} --libs `]) - fi - fi]) + [ --enable-arts aRts sound server (default disabled)], + [if test "${enable_arts}" = "yes" + then + AC_PATH_PROG(ARTS_CONFIG, artsc-config, no) + if test "${ARTS_CONFIG}" != "no" + then + VLC_ADD_PLUGINS([arts]) + VLC_ADD_CFLAGS([arts],[`${ARTS_CONFIG} --cflags`]) + VLC_ADD_LDFLAGS([arts],[`${ARTS_CONFIG} --libs `]) + fi + fi]) dnl dnl ALSA module @@ -3423,6 +3585,7 @@ then AC_CHECK_HEADER(alsa/asoundlib.h, AC_CHECK_LIB(asound, main, have_alsa="true", have_alsa="false"),have_alsa="false") if test "${have_alsa}" = "true" then + CFLAGS="${CFLAGS_save}" AC_TRY_COMPILE([#define ALSA_PCM_NEW_HW_PARAMS_API #define ALSA_PCM_NEW_SW_PARAMS_API #include ], @@ -3767,6 +3930,12 @@ then fi VLC_ADD_LDFLAGS([wxwidgets],[`${WX_CONFIG} --libs`]) VLC_ADD_CXXFLAGS([wxwidgets],[`${WX_CONFIG} --cxxflags`]) + if ${WX_CONFIG} --unicode + then + # wxwidgets should provide the following flags but does not + # the following is required to compile for win32 + VLC_ADD_CXXFLAGS([wxwidgets],[-D_UNICODE -DUNICODE]) + fi if test "$have_libcdio" = "yes" then VLC_ADD_LDFLAGS([wxwidgets],[$LIBCDIO_LIBS]) @@ -4114,6 +4283,21 @@ then [AC_MSG_WARN(DAAP library not found)]) fi +dnl +dnl Bonjour services discovery +dnl +AC_ARG_ENABLE(bonjour, + [ --enable-bonjour Bonjour services discovery (default enabled)]) +if test "${enable_bonjour}" != "no" +then + PKG_CHECK_MODULES(BONJOUR, avahi-client >= 0.3, + [AC_DEFINE(HAVE_AVAHI_CLIENT, [], [Define if you have the avahi-client library]) + VLC_ADD_LDFLAGS([bonjour access_output_http],[$BONJOUR_LIBS]) + VLC_ADD_CFLAGS([bonjour access_output_http],[$BONJOUR_CFLAGS]) + VLC_ADD_PLUGINS([bonjour]) ], + [AC_MSG_WARN(avahi-client library not found)]) +fi + dnl dnl Lirc plugin dnl @@ -4236,6 +4420,8 @@ AS_IF([test "${enable_loader}" = "yes"], VLC_ADD_LDFLAGS([dmo],[../../../loader/libloader.a]) VLC_ADD_CPPFLAGS([quicktime],[-I../../@top_srcdir@/loader]) VLC_ADD_LDFLAGS([quicktime],[../../loader/libloader.a]) + VLC_ADD_CPPFLAGS([realaudio],[-I../../@top_srcdir@/loader -DLOADER]) + VLC_ADD_LDFLAGS([realaudio],[../../loader/libloader.a]) ]) dnl @@ -4271,7 +4457,10 @@ dnl mozilla=false AC_ARG_ENABLE(mozilla, [ --enable-mozilla build a vlc-based Mozilla plugin (default disabled)]) -if test "${enable_mozilla}" = "yes" -a "${SYS}" != "mingw32" +AC_ARG_WITH(mozilla-sdk-path, + [ --with-mozilla-sdk-path=PATH path to mozilla sdk]) + +if test "${enable_mozilla}" = "yes" -a "${with_mozilla_sdk_path}" = "" then AC_PATH_PROG(MOZILLA_CONFIG, mozilla-config, no) if test "${MOZILLA_CONFIG}" = "no" @@ -4299,23 +4488,29 @@ then dnl special case for mingw32 elif test "${enable_mozilla}" = "yes" then - AC_CHECK_TOOL(CYGPATH, cygpath, "") - AC_ARG_WITH(mozilla-sdk-path, - [ --with-mozilla-sdk-path=PATH path to win32 mozilla sdk], [ - real_mozilla_sdk="`cd ${with_mozilla_sdk_path} 2>/dev/null && pwd`" - CPPFLAGS="${CPPFLAGS_save} ${real_mozilla_sdk}" - AC_CHECK_HEADERS(mozilla-config.h, [ - mozilla=: - VLC_ADD_CPPFLAGS([mozilla],[-DXPCOM_GLUE -I${real_mozilla_sdk} -I${real_mozilla_sdk}/embedstring/include -I${real_mozilla_sdk}/xpcom/include -I${real_mozilla_sdk}/nspr/include -I${real_mozilla_sdk}/string/include -I${real_mozilla_sdk}/plugin/include -I${real_mozilla_sdk}/java/include]) - VLC_ADD_LDFLAGS([mozilla],[-L${real_mozilla_sdk}/embedstring/bin -L${real_mozilla_sdk}/xpcom/bin -L${real_mozilla_sdk}/nspr/bin -L${real_mozilla_sdk}/string/bin -lnspr4 -lplds4 -lplc4 -lembedstring -lxpcomglue -Wl,--kill-at]) - XPIDL_INCL="-I${real_mozilla_sdk}/xpcom/idl" - if test -n "${CYGPATH}"; then - XPIDL="${real_mozilla_sdk}/xpcom/bin/xpidl" - real_mozilla_sdk="`${CYGPATH} -w ${real_mozilla_sdk}`" - XPIDL_INCL="${XPIDL_INCL} -I\"${real_mozilla_sdk}/xpcom/idl\"" - fi ]) - CPPFLAGS="${CPPFLAGS_save}" - ]) + if test "${SYS}" = "mingw32"; then + AC_CHECK_TOOL(CYGPATH, cygpath, "") + mozilla_sdk_xpcom="/xpcom" + fi + + real_mozilla_sdk="`cd ${with_mozilla_sdk_path} 2>/dev/null && pwd`" + CPPFLAGS="${CPPFLAGS_save} -I${real_mozilla_sdk} -I${real_mozilla_sdk}/include" + AC_CHECK_HEADERS(mozilla-config.h, [ + mozilla=: + VLC_ADD_CPPFLAGS([mozilla],[-DXPCOM_GLUE -I${real_mozilla_sdk} -I${real_mozilla_sdk}/include -I${real_mozilla_sdk}/embedstring/include -I${real_mozilla_sdk}/xpcom/include -I${real_mozilla_sdk}/nspr/include -I${real_mozilla_sdk}/string/include -I${real_mozilla_sdk}/plugin/include -I${real_mozilla_sdk}/java/include]) + VLC_ADD_LDFLAGS([mozilla],[-L${real_mozilla_sdk}/embedstring/bin -L${real_mozilla_sdk}/xpcom/bin -L${real_mozilla_sdk}/nspr/bin -L${real_mozilla_sdk}/string/bin -L${real_mozilla_sdk}/lib -lnspr4 -lplds4 -lplc4 -lxpcomglue]) + if test "${SYS}" = "mingw32"; then + VLC_ADD_LDFLAGS([mozilla],[-lembedstring -Wl,--kill-at]) + fi + + XPIDL_INCL="-I${real_mozilla_sdk}${mozilla_sdk_xpcom}/idl" + XPIDL="${real_mozilla_sdk}${mozilla_sdk_xpcom}/bin/xpidl" + + if test -n "${CYGPATH}"; then + real_mozilla_sdk="`${CYGPATH} -w ${real_mozilla_sdk}`" + XPIDL_INCL="${XPIDL_INCL} -I\"${real_mozilla_sdk}${mozilla_sdk_xpcom}/idl\"" + fi ]) + CPPFLAGS="${CPPFLAGS_save}" fi dnl Not necessarily in ${PATH} @@ -4442,6 +4637,23 @@ then fi] AM_CONDITIONAL(HAVE_BUILTINS, ${builtin_support}) +AC_ARG_ENABLE(shared-libvlc, + [ --enable-shared-libvlc shared libvlc (default disabled EXPERIMENTAL)], + ,[shared_libvlc=no]) + +AM_CONDITIONAL(BUILD_SHARED, [test "${shared_libvlc}" != "no"]) +AS_IF([test "${shared_libvlc}" != "no"], [ + AC_DEFINE(HAVE_SHARED_LIBVLC, 1, [Define to 1 if libvlc is built as a shared library.]) +]) + +pic=no +AS_IF([test "${shared_libvlc}" != "no"], [pic=pic]) +AS_IF([${mozilla}], [pic=pic]) +AS_IF([test "${SYS}" = "mingw32"], [pic=no]) + +AS_IF([test "${pic}" = "no"], [pic=]) +AC_SUBST(pic) + dnl Import conditional variables generated by bootstrap VLC_CONDITIONALS @@ -4455,20 +4667,25 @@ AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MAJOR,"${VERSION_MAJOR}", [version major numb AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MINOR,"${VERSION_MINOR}", [version minor number]) AC_DEFINE_UNQUOTED(PACKAGE_VERSION_REVISION,"${VERSION_REVISION}", [version minor number]) AC_DEFINE_UNQUOTED(PACKAGE_VERSION_EXTRA,"${VERSION_EXTRA}", [version minor number]) +AC_SUBST(VERSION_MAJOR) +AC_SUBST(VERSION_MINOR) +AC_SUBST(VERSION_REVISION) +AC_DEFINE_UNQUOTED(VLC_COMPILE_BY, "`whoami`", [user who ran configure]) +AC_DEFINE_UNQUOTED(VLC_COMPILE_HOST, "`hostname`", [host which ran configure]) +AC_DEFINE_UNQUOTED(VLC_COMPILE_DOMAIN, "`dnsdomainname 2>/dev/null || domainname 2>/dev/null || echo unknown`", [domain of the host which ran configure]) +AC_DEFINE_UNQUOTED(VLC_COMPILER, "`$CC -v 2>&1 | tail -n 1`", [compiler]) dnl Old definitions for version-dependant plugins dnl VLC_SYMBOL="`echo ${VERSION} | sed -e 'y/.-+/___/'`" dnl AC_DEFINE_UNQUOTED(MODULE_SUFFIX, "__${VLC_SYMBOL}", [String suffix for module functions]) dnl AC_DEFINE_UNQUOTED(MODULE_SYMBOL, ${VLC_SYMBOL}, [Symbol suffix for module functions]) -dnl New definitions with value matching 0.8.2 release -AC_DEFINE_UNQUOTED(MODULE_SUFFIX, "__0_8_2", [String suffix for module functions]) -AC_DEFINE_UNQUOTED(MODULE_SYMBOL, 0_8_2, [Symbol suffix for module functions]) - -dnl Version number for ActiveX INF -VERSION32="`echo -n ${VERSION} | sed -e 's/@<:@a-z\-@:>@//g' | sed -e 'y/./,/'`" -VERSION32="`echo -n ${VERSION32}',0'`" -AC_SUBST(VERSION32) +dnl New definitions with value matching 0.8.4 release +module_symbol="0_8_4" +AC_DEFINE_UNQUOTED(MODULE_SUFFIX, "__${module_symbol}", [String suffix for module functions]) +AC_DEFINE_UNQUOTED(MODULE_SYMBOL, $module_symbol, [Symbol suffix for module functions]) +VLC_ENTRY="vlc_entry__${module_symbol}" +AC_SUBST(VLC_ENTRY) DATA_PATH="${ac_tool_prefix}/share/vlc" AC_SUBST(DATA_PATH) @@ -4529,7 +4746,6 @@ AC_CONFIG_FILES([ m4/Makefile po/Makefile.in share/Makefile - src/Makefile ]) AC_CONFIG_FILES([ @@ -4540,6 +4756,7 @@ AC_CONFIG_FILES([ modules/access/pvr/Makefile modules/access/v4l/Makefile modules/access/cdda/Makefile + modules/access/rtsp/Makefile modules/access/vcd/Makefile modules/access/vcdx/Makefile modules/access/screen/Makefile @@ -4557,6 +4774,7 @@ AC_CONFIG_FILES([ modules/codec/ffmpeg/Makefile modules/codec/spudec/Makefile modules/control/Makefile + modules/control/http/Makefile modules/control/corba/Makefile modules/demux/Makefile modules/demux/asf/Makefile @@ -4568,12 +4786,8 @@ AC_CONFIG_FILES([ modules/gui/Makefile modules/gui/beos/Makefile modules/gui/pda/Makefile - modules/gui/gtk/Makefile - modules/gui/gtk2/Makefile - modules/gui/kde/Makefile modules/gui/macosx/Makefile modules/gui/qnx/Makefile - modules/gui/qt/Makefile modules/gui/skins2/Makefile modules/gui/wxwidgets/Makefile modules/gui/wince/Makefile