X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=configure.ac;h=4085a9adc0ac9a23dca9bb48569c9c35bf2e49ad;hb=940b39ab78dd42577008e9700af059d9dbacde36;hp=0ee5d8535e252cf183b7c5b0b40b1b9353bf1696;hpb=a458b6af6b88534edadd8bd218b368fbf173a273;p=vlc diff --git a/configure.ac b/configure.ac index 0ee5d8535e..4085a9adc0 100644 --- a/configure.ac +++ b/configure.ac @@ -1,10 +1,10 @@ dnl Autoconf settings for vlc -AC_INIT(vlc,0.9.0-git) +AC_INIT(vlc, 0.9.0) VERSION_MAJOR="0" VERSION_MINOR="9" VERSION_REVISION="0" -VERSION_EXTRA="git" +VERSION_EXTRA="" CONFIGURE_LINE="`echo "$0 $ac_configure_args" | sed -e 's/\\\/\\\\\\\/g'`" CODENAME="Grishenko" @@ -57,7 +57,9 @@ dnl Check for tools dnl AC_PROG_CC_C99 AC_USE_SYSTEM_EXTENSIONS -AC_DEFINE([_FORTIFY_SOURCE], 2, [Define to `2' to get glibc warnings.]) +AC_DEFINE([_FORTIFY_SOURCE], 2, [Define to '2' to get glibc warnings.]) +AC_DEFINE([_WIN32_WINNT], 0x0500, [Define to '0x0500' for Windows 2000 APIs.]) + AM_PROG_CC_C_O AC_PROG_CXX AC_PROG_CPP @@ -80,6 +82,17 @@ AC_C_CONST AC_C_INLINE AC_C_RESTRICT +dnl Allow binary package maintainer to pass a custom string to avoid +dnl cache problem +AC_ARG_WITH(binary-version, + AS_HELP_STRING([--with-binary-version=STRING], + [To avoid plugins cache problem between binary version]),[],[]) +AS_IF([test -n "${with_binary_version}"],[ + AC_DEFINE_UNQUOTED([DISTRO_VERSION],["${with_binary_version}"], + [Binary specific version]) + ]) + + dnl dnl Check for the contrib directory dnl @@ -119,24 +132,12 @@ AC_ARG_WITH(contrib, LDFLAGS="${LDFLAGS} -L${topdir}/extras/contrib/lib" LDFLAGS_save="${LDFLAGS_save} -L${topdir}/extras/contrib/lib" - if test -z $with_live555_tree; then - with_live555_tree=${topdir}/extras/contrib/src/live - fi - if test -z $with_goom_tree; then - with_goom_tree=${topdir}/extras/contrib/src/goom - fi if test -z $with_mozilla_sdk_path; then with_mozilla_sdk_path=${topdir}/extras/contrib/gecko-sdk fi if test -z $with_cyberlink_tree; then with_cyberlink_tree=${topdir}/extras/contrib/src/clinkcc fi - if test -z $with_libmpeg2_tree; then - with_libmpeg2_tree=${topdir}/extras/contrib/src/mpeg2dec - fi - if test -z $with_a52_tree; then - with_a52_tree=${topdir}/extras/contrib/src/a52dec - fi if test ".`uname -s`" = ".Darwin"; then export LD_LIBRARY_PATH=${topdir}/extras/contrib/lib:$LD_LIBRARY_PATH @@ -197,7 +198,8 @@ case "${host_os}" in VLC_ADD_LDFLAGS([libvlc],[-Wl,-framework,CoreFoundation]) VLC_ADD_LDFLAGS([motion],[-Wl,-framework,IOKit,-framework,CoreFoundation]) AC_ARG_ENABLE(macosx-defaults, - [ --enable-macosx-defaults Build the default configuration on Mac OS X (default enabled)]) + AS_HELP_STRING([--enable-macosx-defaults],[Build the default configuration + on Mac OS X (default enabled)])) if test "x${enable_macosx_defaults}" != "xno" then echo "" @@ -233,6 +235,10 @@ case "${host_os}" in echo " Assuming --enable-realrtsp" enable_update_check="yes" echo " Assuming --enable-update-check" + enable_libass="yes" + echo " Assuming --enable-libass" + enable_asademux="yes" + echo " Assuming --enable-asademux" enable_skins2="no" echo " Assuming --disable-skins2" @@ -419,8 +425,6 @@ dnl dnl Iconv stuff dnl AM_ICONV -AS_IF([test "$am_cv_func_iconv" != "yes"], - [AC_MSG_ERROR([libiconv is needed for VLC to work properly])]) VLC_ADD_CFLAGS([libvlc],[${INCICONV}]) VLC_ADD_LIBS([libvlc],[${LTLIBICONV}]) @@ -792,7 +796,7 @@ AC_EGREP_HEADER(strncasecmp,strings.h,[ dnl Check for headers AC_CHECK_HEADERS(signal.h time.h errno.h stdint.h stdbool.h getopt.h strings.h inttypes.h sys/int_types.h wchar.h locale.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(sys/sockio.h fcntl.h sys/types.h sys/time.h sys/times.h sys/ioctl.h sys/stat.h xlocale.h) AC_CHECK_HEADERS([arpa/inet.h netinet/in.h netinet/udplite.h]) AC_CHECK_HEADERS([net/if.h], [], [], [ @@ -812,10 +816,13 @@ AC_CHECK_TYPE(ssize_t,, [ AC_DEFINE(ssize_t, int) ]) -dnl don't attemp to use poll on darwin, it can't poll a tty. select will do a better job. -if test "${SYS}" != "darwin"; then - AC_SEARCH_LIBS(poll, [poll], [AC_DEFINE(HAVE_POLL, 1, [Define to 1 if the OS is usabl... err, has poll().])]) +dnl Check for poll +AC_SEARCH_LIBS(poll, [poll], [AC_DEFINE(HAVE_POLL, 1, [Define to 1 if the OS is usabl... err, has poll().])], [ +if test ${SYS} != "mingw32" +then + AC_MSG_WARN([Your platform does not support poll(). VLC has it's own poll() implementation, but it is only intended to be used on Windows. VLC might crash or be insecure when you see this message. Either switch to an OS with a proper poll() implementation, or implement one for your OS in VLC]) fi +]) dnl Check for dirent need_dirent=false @@ -853,14 +860,16 @@ dnl Find where are the X headers and libraries AC_PATH_XTRA() 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. - +dnl Make PKG_CONFIG_PATH precious so that it appears in the help and get saved +AC_ARG_VAR(PKG_CONFIG_PATH, + [Paths where to find .pc not at the default location]) 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}" != "mingw32" -a "${SYS}" != "mingwce" then PKG_CHECK_MODULES(HAL, hal >= 0.5.0, [ @@ -878,7 +887,7 @@ AC_ARG_ENABLE(dbus, [ --enable-dbus Linux D-BUS message bus system (default enabled)]) case "${SYS}" in linux*|*bsd*) -if test "${enable_dbus}" != "no" +if test "${enable_dbus}" != "no" -a "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" then dnl api stable dbus PKG_CHECK_MODULES(DBUS, dbus-1 >= 1.0.0, @@ -894,7 +903,8 @@ then VLC_ADD_CFLAGS([dbus],[$DBUS_CFLAGS]) fi dnl Check for Telepathy - AC_ARG_ENABLE(telepathy, [ --enable-telepathy Telepathy Presence plugin through DBus(default enabled)]) + AC_ARG_ENABLE(telepathy, + AS_HELP_STRING([--enable-telepathy],[Telepathy Presence plugin through DBus(default enabled)])) if test "${enable_telepathy}" != "no"; then VLC_ADD_PLUGIN([telepathy]) VLC_ADD_LIBS([telepathy],[$DBUS_LIBS]) @@ -1150,7 +1160,7 @@ VLC_ADD_PLUGIN([nsc]) VLC_ADD_PLUGIN([xtag]) dnl Channel mixing audio filters: VLC_ADD_PLUGIN([converter_fixed]) -VLC_ADD_PLUGIN([mono]) +dnl VLC_ADD_PLUGIN([mono]) VLC_ADD_PLUGIN([trivial_channel_mixer]) dnl Resampling audio filters: VLC_ADD_PLUGIN([trivial_resampler]) @@ -1204,7 +1214,7 @@ if test "${SYS}" != "mingwce"; then VLC_ADD_PLUGIN([i422_i420]) VLC_ADD_PLUGIN([yuy2_i422]) VLC_ADD_PLUGIN([yuy2_i420]) - VLC_ADD_PLUGIN([chroma_chain]) + VLC_ADD_PLUGIN([chain]) VLC_ADD_PLUGIN([aout_file]) VLC_ADD_PLUGIN([linear_resampler]) VLC_ADD_PLUGIN([bandlimited_resampler]) @@ -1216,6 +1226,7 @@ if test "${SYS}" != "mingwce"; then VLC_ADD_PLUGIN([normvol]) VLC_ADD_PLUGIN([equalizer]) VLC_ADD_PLUGIN([param_eq]) + VLC_ADD_PLUGIN([scaletempo]) VLC_ADD_PLUGIN([converter_float]) VLC_ADD_PLUGIN([a52tospdif]) VLC_ADD_PLUGIN([dtstospdif]) @@ -1619,7 +1630,8 @@ fi dnl Lua modules AC_ARG_ENABLE(lua, - [ --enable-lua lua playlist, metafetcher and interface plugins (default enabled)]) + AS_HELP_STRING([--enable-lua],[lua playlist, metafetcher and interface + plugins (default enabled)])) if test "${enable_lua}" != "no" then PKG_CHECK_MODULES(LUA, lua5.1, @@ -1694,12 +1706,14 @@ AS_IF([test "${enable_vlm}" != "no"], [ AC_DEFINE(ENABLE_VLM, 1, [Define if you want the VideoLAN manager support]) VLC_ADD_PLUGIN([telnet]) ]) +AM_CONDITIONAL([ENABLE_VLM], [test "${enable_vlm}" != "no"]) dnl dnl Growl notification plugin dnl AC_ARG_ENABLE(growl, - [ --enable-growl growl notification plugin (default enabled)]) + [ --enable-growl growl notification plugin (default disabled)],, + [enable_growl=no]) AS_IF([test "${enable_growl}" != "no"], [ VLC_ADD_PLUGIN([growl_udp]) AC_CHECK_HEADERS(Growl/GrowlDefines.h, [ @@ -1778,11 +1792,11 @@ if test "${enable_livedotcom}" then AC_MSG_WARN(--{en|dis}able-livedotcom is deprecated. Use --{en|dis}able-live555 instead.) fi - if test "${enable_livedotcom}" = "no" then enable_live555="no" fi + AC_ARG_ENABLE(live555, [ --enable-live555 live555 RTSP input plugin (default enabled)]) if test "${enable_live555}" != "no"; then @@ -1806,23 +1820,41 @@ if test "${enable_live555}" != "no"; then CPPFLAGS_live555="${CPPFLAGS_live555} -DSOLARIS" fi CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_live555}" + + AC_CHECK_HEADERS(liveMedia_version.hh, [ + AC_MSG_CHECKING(for liveMedia version >= 1214895600 ) + AC_EGREP_CPP(yes, + [#include + #ifdef LIVEMEDIA_LIBRARY_VERSION_INT + #if LIVEMEDIA_LIBRARY_VERSION_INT < 1214895600 + yes + #endif + #endif], + [AC_MSG_RESULT([no]) + AC_MSG_ERROR([Your version of liveMedia is too old: you may get a more recent one from http://www.live555.com/liveMedia. +lternatively you can use --disable-live555 to disable the liveMedia plugin.]) + ],[ + AC_MSG_RESULT([yes]) + ]) + ]) + other_libs="-lgroupsock -lBasicUsageEnvironment -lUsageEnvironment" + other_libs_pic="-lgroupsock_pic -lBasicUsageEnvironment_pic -lUsageEnvironment_pic" + if test "${SYS}" = "mingw32"; then + # add ws2_32 for closesocket, select, recv + other_libs="$other_libs -lws2_32" + fi + dnl We need to check for pic because live555 don't provide shared libs + dnl and we want to build a plugins so we need -fPIC on some arch. AC_CHECK_HEADERS(liveMedia.hh, [ VLC_ADD_CXXFLAGS([live555], [${CPPFLAGS_live555}]) - AC_CHECK_LIB(liveMedia_pic, main, [ - # We have -lliveMedia_pic, build plugins - VLC_ADD_PLUGIN([live555]) - VLC_ADD_LIBS([live555], [-lliveMedia_pic -lgroupsock_pic -lBasicUsageEnvironment_pic -lUsageEnvironment_pic]) - ], [ + AC_CHECK_LIB(liveMedia_pic, main, [ + VLC_ADD_PLUGIN([live555]) + VLC_ADD_LIBS([live555], [-lliveMedia_pic ${other_libs_pic}]) + ],[ AC_CHECK_LIB(liveMedia, main, [ - # We only have -lliveMedia, do builtins VLC_ADD_PLUGIN([live555]) - VLC_ADD_LIBS([live555], [-lliveMedia -lgroupsock -lBasicUsageEnvironment -lUsageEnvironment]) - ]) - ]) - if test "${SYS}" = "mingw32"; then - # add ws2_32 for closesocket, select, recv - VLC_ADD_LIBS([live555],[-lws2_32]) - fi + VLC_ADD_LIBS([live555], [-lliveMedia ${other_libs}]) + ],[],[${other_libs}]) ],[${other_libs_pic}]) ]) CPPFLAGS="${CPPFLAGS_save}" AC_LANG_POP(C++) @@ -1837,6 +1869,23 @@ if test "${enable_live555}" != "no"; then if test -f "${real_live555_tree}/liveMedia/libliveMedia.a"; then AC_MSG_RESULT(${real_live555_tree}/liveMedia/libliveMedia.a) + AC_CHECK_HEADERS(${real_live555_tree}/liveMedia/include/liveMedia_version.hh,[ + AC_MSG_CHECKING(for liveMedia version >= 1214895600 ) + AC_EGREP_CPP(yes, + [#include "${real_live555_tree}/liveMedia/include/liveMedia_version.hh" + #ifdef LIVEMEDIA_LIBRARY_VERSION_INT + #if LIVEMEDIA_LIBRARY_VERSION_INT < 1214895600 + yes + #endif + #endif], + [AC_MSG_RESULT([no]) + AC_MSG_ERROR([Your version of liveMedia is too old: you may get a more recent one from http://www.live555.com/liveMedia. +lternatively you can use --disable-live555 to disable the liveMedia plugin.]) + ],[ + AC_MSG_RESULT([yes]) + ]) + ]) + VLC_ADD_PLUGIN([live555]) if test "${SYS}" = "mingw32"; then @@ -1951,7 +2000,7 @@ then then dnl Use a custom libraw1394 AC_MSG_RESULT(${real_dv_raw1394_tree}/src/.libs/libraw1394.a) - VLC_ADD_BUILTINS([access_dv]) + VLC_ADD_PLUGIN([access_dv]) VLC_ADD_LIBS([access_dv],[-L${real_dv_raw1394_tree}/src/.libs -lraw1394]) VLC_ADD_CPPFLAGS([access_dv],[-I${real_dv_raw1394_tree}]) else @@ -2045,11 +2094,16 @@ then [ VLC_ADD_PLUGIN([dvdread]) VLC_ADD_LIBS([dvdread],[-ldvdread ${LIBS_dvdcss}]) ],[ - if test -n "${enable_dvdread}" - then - AC_MSG_ERROR([cannot find libdvdread headers]) - fi - ]) + AC_CHECK_HEADERS(libdvdread/dvd_reader.h, + [ VLC_ADD_PLUGIN([dvdread]) + VLC_ADD_LIBS([dvdread],[-ldvdread ${LIBS_dvdcss}]) + ],[ + if test -n "${enable_dvdread}" + then + AC_MSG_ERROR([cannot find libdvdread headers]) + fi + ]) + ]) else AC_MSG_CHECKING(for libdvdread.a in ${with_dvdread_tree}) real_dvdread_tree="`cd ${with_dvdread_tree} 2>/dev/null && pwd`" @@ -2063,7 +2117,7 @@ then then dnl Use a custom libdvdread AC_MSG_RESULT(${real_dvdread_tree}/dvdread/.libs/libdvdread.a) - VLC_ADD_BUILTINS([dvdread]) + VLC_ADD_PLUGIN([dvdread]) VLC_ADD_LIBS([dvdread],[-L${real_dvdread_tree}/dvdread/.libs -ldvdread ${LIBS_dvdcss}]) VLC_ADD_CPPFLAGS([dvdread],[-I${real_dvdread_tree}]) else @@ -2139,7 +2193,8 @@ dnl dnl Windows DirectShow BDA access module dnl AC_ARG_ENABLE(bda, - [ --enable-bda Win32 DirectShow BDA support (default enabled on Win32)]) + AS_HELP_STRING([--enable-bda],[Win32 DirectShow BDA support (default + enabled on Win32)])) if test "${enable_bda}" != "no" then if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin" @@ -2258,9 +2313,9 @@ then then dnl Use a custom libdvbpsi AC_MSG_RESULT(${real_dvbpsi_tree}/src/.libs/libdvbpsi.a) - VLC_ADD_BUILTINS([ts]) + VLC_ADD_PLUGIN([ts]) if test "${enable_sout}" != "no"; then - VLC_ADD_BUILTINS([mux_ts]) + VLC_ADD_PLUGIN([mux_ts]) fi VLC_ADD_CPPFLAGS([mux_ts ts dvb],[-I${real_dvbpsi_tree}/src]) VLC_ADD_LIBS([mux_ts ts dvb],[${real_dvbpsi_tree}/src/.libs/libdvbpsi.a]) @@ -2439,7 +2494,8 @@ dnl dnl VCDX and CDDAX modules dnl AC_ARG_ENABLE(cddax, - [ --enable-cddax audio CD plugin with CD Text and CD paranoia via libcdio (default disabled)]) + AS_HELP_STRING([--enable-cddax],[audio CD plugin with CD Text and CD paranoia + via libcdio (default disabled)])) AC_ARG_ENABLE(libcddb, [ --enable-libcddb CDDB support for libcdio audio CD (default enabled)]) @@ -2588,12 +2644,7 @@ then fi CPPFLAGS="${CPPFLAGS_save} -I${with_dvb}/include" AC_CHECK_HEADERS(linux/dvb/version.h linux/dvb/frontend.h, [ - if test -z "${with_dvbpsi_tree}" - then - VLC_ADD_PLUGIN([dvb]) - else - VLC_ADD_BUILTINS([dvb]) - fi + VLC_ADD_PLUGIN([dvb]) ],[AC_MSG_WARN(linux-dvb headers not found, dvb disabled)]) CPPFLAGS="${CPPFLAGS_save}" fi @@ -2701,7 +2752,7 @@ 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.6) + AC_MSG_CHECKING(for libebml version >= 0.7.7) AC_EGREP_CPP(yes, [#include #ifdef LIBEBML_VERSION @@ -2711,7 +2762,7 @@ if test "${enable_mkv}" != "no" -a "${CXX}" != ""; then #endif], [AC_MSG_RESULT([yes]) AC_CHECK_HEADERS(matroska/KaxVersion.h, [ - AC_MSG_CHECKING(for libmatroska version >= 0.7.7) + AC_MSG_CHECKING(for libmatroska version >= 0.8.0) AC_EGREP_CPP(yes, [#include #ifdef LIBMATROSKA_VERSION @@ -2877,7 +2928,7 @@ then VLC_ADD_LIBS([mpgatofixed32],[-L${real_mad_tree}/.libs]) LDFLAGS="${LDFLAGS_save} ${LIBS_mpgatofixed32}" AC_CHECK_LIB(mad, mad_bit_init, [ - VLC_ADD_BUILTINS([mpgatofixed32]) + VLC_ADD_PLUGIN([mpgatofixed32]) VLC_ADD_LIBS([mpgatofixed32],[-lmad]) ],[ AC_MSG_ERROR([the specified tree hasn't been compiled ]) ],[]) @@ -2918,6 +2969,11 @@ dnl dnl avcodec decoder/encoder plugin dnl +if test "${with_ffmpeg_tree}" +then + AC_MSG_WARN([--with-ffmpeg-tree is deprecated. Use PKG_CONFIG_PATH instead.]) +fi + AC_ARG_ENABLE(avcodec, [ --enable-avcodec libavcodec codec (default enabled)]) if test "${enable_avcodec}" != "no" @@ -2967,7 +3023,8 @@ dnl swscale image scaling and conversion plugin dnl AC_ARG_ENABLE(swscale, -[ --enable-swscale libswscale image scaling and conversion (default enabled)]) + AS_HELP_STRING([--enable-swscale],[libswscale image scaling and conversion + (default enabled)])) if test "${enable_swscale}" != "no" then PKG_CHECK_MODULES(SWSCALE,[libswscale], @@ -2995,7 +3052,8 @@ dnl from VLC. dnl AC_ARG_ENABLE(imgresample, -[ --enable-imgresample deprecated libavcodec image scaling and conversion (default disabled)]) + AS_HELP_STRING([--enable-imgresample],[deprecated libavcodec image scaling + and conversion (default disabled)])) if test "${enable_imgresample}" = "yes" then PKG_CHECK_MODULES(IMGRESAMPLE,[libavcodec], @@ -3072,7 +3130,7 @@ then then dnl Use a custom faad AC_MSG_RESULT(${real_faad_tree}/libfaad/.libs/libfaad.a) - VLC_ADD_BUILTINS([faad]) + VLC_ADD_PLUGIN([faad]) VLC_ADD_LIBS([faad],[${real_faad_tree}/libfaad/.libs/libfaad.a]) VLC_ADD_CPPFLAGS([faad],[-I${real_faad_tree}/include]) else @@ -3120,7 +3178,7 @@ then then dnl Use a custom twolame AC_MSG_RESULT(${real_twolame_tree}/libtwolame/.libs/libtwolame.a) - VLC_ADD_BUILTINS([twolame]) + VLC_ADD_PLUGIN([twolame]) VLC_ADD_LIBS([twolame],[${real_twolame_tree}/libtwolame/.libs/libtwolame.a]) VLC_ADD_CPPFLAGS([twolame],[-I${real_twolame_tree}/libtwolame -DLIBTWOLAME_STATIC]) else @@ -3152,7 +3210,7 @@ if test "${enable_quicktime}" != "no" && (test "${SYS}" = "darwin" || test "${enable_quicktime}" = "yes") then if test "${SYS}" = "mingw32"; then - VLC_ADD_BUILTINS([quicktime]) + VLC_ADD_PLUGIN([quicktime]) else AC_CHECK_HEADERS(QuickTime/QuickTime.h, [ VLC_ADD_PLUGIN([quicktime]) @@ -3232,7 +3290,7 @@ then VLC_ADD_LIBS([a52tofloat32],[-L${real_a52_tree}/liba52/.libs]) LDFLAGS="${LDFLAGS_save} ${LIBS_a52tofloat32}" AC_CHECK_LIB(a52, a52_free, [ - VLC_ADD_BUILTINS([a52tofloat32]) + VLC_ADD_PLUGIN([a52tofloat32]) VLC_ADD_CPPFLAGS([a52tofloat32],[-DUSE_A52DEC_TREE]) VLC_ADD_LIBS([a52tofloat32],[-la52]) ],[ @@ -3291,7 +3349,8 @@ AS_IF([test "x${with_dts_tree}" != "x"], [ ]) AC_ARG_ENABLE(dca, - [ --enable-dca DTS Coherent Acoustics support with libdca (default enabled)]) + AS_HELP_STRING([--enable-dca],[DTS Coherent Acoustics support with libdca + (default enabled)])) AS_IF([test "${enable_dca}" != "no"], [ AC_ARG_WITH(dca-tree, [ --with-dca-tree=PATH libdca tree for static linking],, @@ -3377,8 +3436,7 @@ if test "${enable_libmpeg2}" != "no" then AC_ARG_WITH(libmpeg2-tree, [ --with-libmpeg2-tree=PATH libmpeg2 tree for static linking]) - if test -n "${with_libmpeg2_tree}" - then + AS_IF([test -n "${with_libmpeg2_tree}"],[ AC_MSG_CHECKING(for libmpeg2.a in ${with_libmpeg2_tree}) real_libmpeg2_tree="`cd ${with_libmpeg2_tree} 2>/dev/null && pwd`" if test -z "${real_libmpeg2_tree}" @@ -3391,34 +3449,22 @@ then then dnl Use a custom libmpeg2 AC_MSG_RESULT(${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a) - VLC_ADD_BUILTINS([libmpeg2]) + VLC_ADD_PLUGIN([libmpeg2]) VLC_ADD_LIBS([libmpeg2],[-L${real_libmpeg2_tree}/libmpeg2/.libs -lmpeg2]) VLC_ADD_CFLAGS([libmpeg2],[-I${real_libmpeg2_tree}/include]) - eval "`cd ${real_libmpeg2_tree}/include && ln -sf . mpeg2dec 2>/dev/null`" else dnl The given libmpeg2 wasn't built AC_MSG_RESULT(no) AC_MSG_ERROR([cannot find ${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a, make sure you compiled libmpeg2 in ${with_libmpeg2_tree}]) fi - else - AC_CHECK_HEADERS(mpeg2dec/mpeg2.h, [ - AC_MSG_CHECKING(for libmpeg2 version >= 0.3.2) - AC_EGREP_CPP(yes, - [#include - #ifdef MPEG2_RELEASE - #if MPEG2_RELEASE >= MPEG2_VERSION(0,3,2) - yes - #endif - #endif], - [AC_MSG_RESULT([yes]) + ],[ + PKG_CHECK_MODULES(LIBMPEG2,[libmpeg2 > 0.3.2],[ VLC_ADD_PLUGIN([libmpeg2]) - VLC_ADD_LIBS([libmpeg2],[-lmpeg2])], - [AC_MSG_RESULT([no]) - AC_MSG_ERROR([Your libmpeg2 is too old (you need the cvs version): you may get a more recent one from http://libmpeg2.sf.net/. Alternatively you can use --disable-libmpeg2 to disable the libmpeg2 plugin.])])], - - [AC_MSG_ERROR([Could not find libmpeg2 on your system: you may get it from http://libmpeg2.sf.net/ (you need the cvs version). Alternatively you can use --disable-libmpeg2 to disable the libmpeg2 plugin.])] - ) - fi + VLC_ADD_LIBS([libmpeg2], $LIBMPEG2_LIBS) + VLC_ADD_CFLAGS([libmpeg2], $LIBMPEG2_CFLAGS) + ], + AC_MSG_WARN([Could not find libmpeg2 on your system: you may get it from http://libmpeg2.sf.net/ . Alternatively you can use --disable-libmpeg2 to disable the libmpeg2 plugin.])) + ]) fi dnl @@ -3535,7 +3581,7 @@ then real_tarkin_tree="`cd ${with_tarkin_tree} 2>/dev/null && pwd`" if test -f "${real_tarkin_tree}/tarkin.o" then - VLC_ADD_BUILTINS([tarkin]) + VLC_ADD_PLUGIN([tarkin]) VLC_ADD_CPPFLAGS([tarkin],[-I${real_tarkin_tree}]) VLC_ADD_LIBS([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) @@ -3580,6 +3626,22 @@ if test "${enable_dirac}" = "yes"; then ]) fi +dnl +dnl schroedinger decoder plugin (for dirac format video) +dnl +AC_ARG_ENABLE(schroedinger, +[ --disable-schroedinger high performance dirac codec (default enabled)]) +if test "${enable_schroedinger}" != "no"; then + PKG_CHECK_MODULES(SCHROEDINGER,[schroedinger-1.0 >= 1.0], [ + VLC_ADD_PLUGIN([schroedinger]) + VLC_ADD_CFLAGS([schroedinger],[$SCHROEDINGER_CFLAGS]) + VLC_ADD_LIBS([schroedinger],[$SCHROEDINGER_LIBS]) ], [ + AS_IF([test "x${enable_schroedinger}" != "x"], [ + AC_MSG_ERROR([${SCHROEDINGER_PKG_ERRORS}]) + ]) +]) +fi + dnl dnl PNG decoder module dnl @@ -3674,9 +3736,11 @@ dnl telx module dnl uncompatible dnl AC_ARG_ENABLE(zvbi, - [ --enable-zvbi VBI (inc. Teletext) decoding support with libzvbi (default enabled)]) + AS_HELP_STRING([--enable-zvbi],[VBI (inc. Teletext) decoding support with + libzvbi (default enabled)])) AC_ARG_ENABLE(telx, - [ --enable-telx Teletext decoding module (conflicting with zvbi) (default disabled)]) + AS_HELP_STRING([--enable-telx],[Teletext decoding module (conflicting with + zvbi) (default disabled)])) AS_IF( [test "${enable_zvbi}" != "no"],[ AS_IF( [test "${enable_telx}" = "yes"],[ @@ -3716,6 +3780,31 @@ AS_IF( [test "${enable_csri}" = "yes"], [ ]) ]) +dnl +dnl libass subtitle rendering module +dnl +AC_ARG_ENABLE(libass, + [ --enable-libass Subtitle support using libass (default disabled)]) +AS_IF( [test "${enable_libass}" = "yes"], [ + PKG_CHECK_MODULES(LIBASS, libass >= 0.9.5, + [ + VLC_ADD_LDFLAGS([libass],[$LIBASS_LIBS]) + VLC_ADD_CFLAGS([libass],[$LIBASS_CFLAGS]) + VLC_ADD_PLUGIN([libass]) + + AC_CHECK_HEADERS(fontconfig/fontconfig.h, + [VLC_ADD_CPPFLAGS([libass],[-DHAVE_FONTCONFIG]) + if test "${SYS}" = "mingw32"; then + VLC_ADD_LIBS([libass],[-lfontconfig -lfreetype -liconv -lxml2]) + else + VLC_ADD_LIBS([libass],[-lfontconfig]) + fi + ]) + ],[ + AC_MSG_WARN([LIBASS library not found]) + ]) + ]) + dnl dnl asa demuxer dnl @@ -3727,6 +3816,9 @@ AS_IF( [test "${enable_asademux}" = "yes"], [ [ VLC_ADD_LDFLAGS([asademux],[$PCRE_LIBS]) VLC_ADD_CFLAGS([asademux],[$PCRE_CFLAGS]) + if test "${SYS}" = "mingw32"; then + VLC_ADD_CPPFLAGS([asademux],[-DPCRE_STATIC]) + fi VLC_ADD_PLUGIN([asademux]) ],[ AC_MSG_WARN([PCRE library not found (required for asademux)]) @@ -3749,7 +3841,7 @@ dnl AC_ARG_ENABLE(kate, [ --enable-kate kate codec (default enabled)]) AS_IF([test "${enable_kate}" != "no"], [ - PKG_CHECK_MODULES(KATE,[kate >= 0.1.2], [ + PKG_CHECK_MODULES(KATE,[kate >= 0.1.5], [ VLC_ADD_PLUGIN([kate]) VLC_ADD_CFLAGS([kate],[$KATE_CFLAGS]) VLC_ADD_LIBS([kate],[$KATE_LIBS]) ],[ @@ -3833,23 +3925,9 @@ if test "${enable_xvideo}" != "no" && AC_CHECK_HEADERS(X11/extensions/Xv.h, [ CFLAGS="${CFLAGS_save} ${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext" AC_CHECK_LIB(Xv,XvPutImage,[ - # If libXv.so is available, xvideo can be a plugin. Otherwise, we - # test for libXv_pic. - if test -f /usr/X11R6/lib/libXv.so -o -f /usr/lib/libXv.so -o -f "${x_libraries}"/libXv.so; then VLC_ADD_PLUGIN([xvideo]) VLC_ADD_CPPFLAGS([xvideo],[${X_CFLAGS}]) VLC_ADD_LIBS([xvideo],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lXv]) - else - AC_CHECK_LIB(Xv_pic,XvPutImage,[ - VLC_ADD_PLUGIN([xvideo]) - VLC_ADD_CPPFLAGS([xvideo],[${X_CFLAGS}]) - VLC_ADD_LIBS([xvideo],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lXv_pic]) - ],[ - VLC_ADD_BUILTINS([xvideo]) - VLC_ADD_LIBS([xvideo],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lXv]) - VLC_ADD_CPPFLAGS([xvideo],[${X_CFLAGS}]) - ]) - fi ]) CFLAGS="${CFLAGS_save}" ] @@ -4098,7 +4176,10 @@ then VLC_ADD_LIBS([freetype skins2],[${FREETYPE_LIBS}]) if test "${SYS}" = "mingw32"; then VLC_ADD_LIBS([freetype skins2],[-lxml2]) - fi + fi + if test "${SYS}" = "mingw32"; then + VLC_ADD_LIBS([freetype],[-liconv]) + fi AC_CHECK_HEADERS(fontconfig/fontconfig.h, [VLC_ADD_CPPFLAGS([freetype],[-DHAVE_FONTCONFIG]) VLC_ADD_LIBS([freetype],[-lfontconfig])]) @@ -4719,7 +4800,7 @@ dnl dnl UPnP Plugin (Intel SDK) dnl AC_ARG_ENABLE(upnp, - [AS_HELP_STRING([--enable-upnp],[Intel UPnP SDK (default enabled)])]) + AS_HELP_STRING([--enable-upnp],[Intel UPnP SDK (default enabled)])) VLC_ADD_CXXFLAGS([upnp_intel], [ ]) AS_IF([test "x${enable_upnp}" != "xno"], [ @@ -4748,7 +4829,7 @@ AC_ARG_WITH(,[Interface plugins:]) dnl special case for BeOS if test "${SYS}" = "beos" then - VLC_ADD_BUILTINS([beos]) + VLC_ADD_PLUGIN([beos]) fi dnl @@ -4837,7 +4918,9 @@ AS_IF([test "${enable_qt4}" != "no"], [ ], [ VLC_ADD_LIBS([qt4],[$QT4_LIBS]) ]) - VLC_ADD_CXXFLAGS([qt4],[$QT4_CFLAGS -DQT4LOCALEDIR=\\\\\\\"$($PKG_CONFIG --variable=prefix QtCore)/share/qt4/translations/\\\\\\\"]) + QT4LOCALEDIR="$($PKG_CONFIG --variable=prefix QtCore)/share/qt4/translations/" + AC_SUBST(QT4LOCALEDIR) + VLC_ADD_CXXFLAGS([qt4],[$QT4_CFLAGS -DQT4LOCALEDIR=\\\\\\\"${QT4LOCALEDIR}\\\\\\\"]) AC_PATH_PROGS(MOC, [moc-qt4 moc], moc,`$PKG_CONFIG --variable=exec_prefix QtCore`/bin) AC_PATH_PROG(RCC, rcc, rcc,`$PKG_CONFIG --variable=exec_prefix QtCore`/bin) AC_PATH_PROGS(UIC, [uic-qt4 uic], uic,`$PKG_CONFIG --variable=exec_prefix QtCore`/bin) @@ -4859,7 +4942,7 @@ AC_ARG_ENABLE(wince, [ --enable-wince Windows CE interface (default enabled with MinGW)]) if test "${enable_wince}" != "no"; then if test "${SYS}" = "mingwce"; then - VLC_ADD_BUILTINS([wince]) + VLC_ADD_PLUGIN([wince]) VLC_ADD_CXXFLAGS([wince],[]) VLC_ADD_LIBS([wince],[-lcommctrl -lcommdlg -laygshell]) dnl Gross hack @@ -4920,29 +5003,32 @@ AC_ARG_ENABLE(macosx, [ --enable-macosx MacOS X support (default enabled on MacOS X)]) if test "x${enable_macosx}" = "xyes" then -# VLC_ADD_LDFLAGS([access_eyetv], [-Wl,-framework,Foundation]) + VLC_ADD_LDFLAGS([access_eyetv], [-Wl,-framework,Foundation]) VLC_ADD_LDFLAGS([macosx minimal_macosx opengllayer qtcapture],[-Wl,-framework,Cocoa]) VLC_ADD_LDFLAGS([macosx minimal_macosx opengllayer],[-Wl,-framework,OpenGL]) VLC_ADD_LDFLAGS([macosx minimal_macosx], [-Wl,-framework,Carbon]) VLC_ADD_LDFLAGS([macosx minimal_macosx], [-Wl,-framework,AGL]) VLC_ADD_LDFLAGS([macosx], [-Wl,-framework,IOKit]) VLC_ADD_LDFLAGS([macosx], [-Wl,-framework,QuickTime]) + dnl For bug report + VLC_ADD_LDFLAGS([macosx], [-Wl,-framework,AddressBook]) VLC_ADD_LDFLAGS([macosx qtcapture], [-Wl,-framework,QTKit]) + VLC_ADD_LDFLAGS([qtcapture], [-Wl,-framework,CoreAudio]) VLC_ADD_LDFLAGS([macosx], [-Wl,-framework,WebKit]) VLC_ADD_LDFLAGS([opengllayer qtcapture], [-Wl,-framework,QuartzCore]) VLC_ADD_LDFLAGS([qtcapture], [-Wl,-framework,CoreVideo]) VLC_ADD_OBJCFLAGS([macosx minimal_macosx opengllayer growl], [-fobjc-exceptions] ) -# VLC_ADD_PLUGIN([access_eyetv]) + VLC_ADD_PLUGIN([access_eyetv]) VLC_ADD_PLUGIN([qtcapture]) VLC_ADD_PLUGIN([macosx]) VLC_ADD_PLUGIN([minimal_macosx]) ORIGCFLAGS=$CFLAGS CFLAGS="$CFLAGS -x objective-c" - AC_CHECK_HEADER(QuartzCore/CALayer.h, + AC_TRY_COMPILE([#import ],, [VLC_ADD_PLUGIN([opengllayer]) - VLC_ADD_OBJCFLAGS([opengllayer], [-isysroot /Developer/SDKs/MacOSX10.5.sdk -mmacosx-version-min=10.5])]) + VLC_ADD_OBJCFLAGS([opengllayer])],[]) CFLAGS=$ORIGCFLAGS fi @@ -5120,7 +5206,8 @@ dnl AtmoLight (homebrew AmbiLight) dnl if test "${SYS}" = "mingw32" -o "${SYS}" = "linux"; then AC_ARG_ENABLE(atmo, -[ --disable-atmo AtmoLight (homebrew philips ambilight) (default enabled)]) +AS_HELP_STRING([--disable-atmo],[AtmoLight (homebrew philips ambilight) + (default enabled)])) if test "${enable_atmo}" != "no"; then AC_LANG_PUSH(C++) VLC_ADD_PLUGIN([atmo]) @@ -5256,7 +5343,8 @@ dnl DLL loader copied from MPlayer copied from somewhere else (WINE ?) dnl loader=false AC_ARG_ENABLE(loader, - [ --enable-loader build DLL loader for ELF i386 platforms (default disabled)]) + AS_HELP_STRING([--enable-loader],[build DLL loader for ELF i386 platforms + (default disabled)])) AM_CONDITIONAL(LOADER, [test "${enable_loader}" = "yes"]) AS_IF([test "${enable_loader}" = "yes"], [ VLC_ADD_PLUGIN([dmo]) @@ -5284,7 +5372,8 @@ dnl Microsoft ActiveX support dnl activex=false AC_ARG_ENABLE(activex, - [ --enable-activex build a vlc-based ActiveX control (default enabled on Win32)]) + AS_HELP_STRING([--enable-activex],[build a vlc-based ActiveX control + (default enabled on Win32)])) AC_ARG_WITH(wine-sdk-path, [ --with-wine-sdk-path=PATH path to wine sdk]) if test "${enable_activex}" != "no" @@ -5334,7 +5423,8 @@ dnl Mozilla plugin dnl mozilla=false AC_ARG_ENABLE(mozilla, - [ --enable-mozilla build a vlc-based Firefox/Mozilla plugin (default disabled)]) + AS_HELP_STRING([--enable-mozilla],[build a vlc-based Firefox/Mozilla plugin + (default disabled)])) AC_ARG_WITH(mozilla-sdk-path, [ --with-mozilla-sdk-path=PATH path to mozilla sdk]) AC_LANG_PUSH(C++) @@ -5589,16 +5679,6 @@ then VLC_ADD_PLUGIN([test4]) fi -dnl -dnl Microsoft Layer for Unicode for WIN9x/ME -dnl -if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin" -then - AC_CHECK_LIB(unicows, LoadUnicowsSymbol, [ - VLC_ADD_LDFLAGS([vlc libvlc],[-Wl,--exclude-libs,libunicows.a -lunicows]) - ]) -fi - dnl dnl gtk_main plugin dnl @@ -5680,17 +5760,22 @@ AS_IF([test "${SYS}" = "mingw32"], [ dnl dnl Stuff used by the program dnl -AC_DEFINE_UNQUOTED(VERSION_MESSAGE, "${VERSION} ${CODENAME}", [Simple version string]) -AC_DEFINE_UNQUOTED(COPYRIGHT_MESSAGE, "VLC media player - version ${VERSION} ${CODENAME} - (c) ${COPYRIGHT_YEARS} the VideoLAN team", [Copyright string]) +VERSION_MESSAGE="${VERSION} ${CODENAME}" +COPYRIGHT_MESSAGE="VLC media player - version ${VERSION_MESSAGE} - (c) ${COPYRIGHT_YEARS} the VideoLAN team" +AC_DEFINE_UNQUOTED(VERSION_MESSAGE, "${VERSION_MESSAGE}", [Simple version string]) +AC_DEFINE_UNQUOTED(COPYRIGHT_MESSAGE, "${COPYRIGHT_MESSAGE}", [Copyright string]) AC_DEFINE_UNQUOTED(COPYRIGHT_YEARS, "${COPYRIGHT_YEARS}", [The copyright years]) AC_DEFINE_UNQUOTED(CONFIGURE_LINE, "${CONFIGURE_LINE}", [The ./configure command line]) AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MAJOR,"${VERSION_MAJOR}", [version major number]) 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(COPYRIGHT_MESSAGE) +AC_SUBST(VERSION_MESSAGE) AC_SUBST(VERSION_MAJOR) AC_SUBST(VERSION_MINOR) AC_SUBST(VERSION_REVISION) +AC_SUBST(COPYRIGHT_YEARS) AC_DEFINE_UNQUOTED(VLC_COMPILE_BY, "`whoami`", [user who ran configure]) if test "${build_os}" = "cygwin" then @@ -5700,19 +5785,30 @@ else fi 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 Win32 need s a numerical version_extra. +case $( echo ${VERSION_EXTRA}|wc -m ) in + "1") VERSION_EXTRA_RC="0";; + "2") VERSION_EXTRA_RC=$( echo ${VERSION_EXTRA}|tr "abcdefghi" "123456789") ;; + *) VERSION_EXTRA_RC="99" +esac +AC_SUBST(VERSION_EXTRA_RC) dnl dnl Handle substvars that use $(top_srcdir) dnl VLC_CONFIG="top_builddir=\"\$(top_builddir)\" \$(top_builddir)/vlc-config" AC_SUBST(VLC_CONFIG) -CPPFLAGS_save="${CPPFLAGS_save} -I\$(top_srcdir)/include -I\$(top_builddir)/include" +CPPFLAGS_save="-I\$(top_srcdir)/include -I\$(top_builddir)/include ${CPPFLAGS_save}" dnl dnl Restore *FLAGS dnl VLC_RESTORE_FLAGS +dnl +dnl Sort the modules list +dnl +PLUGINS=$( (for i in `echo $PLUGINS`; do echo $i; done)|sort|xargs ) + dnl dnl Create the vlc-config script dnl @@ -5742,6 +5838,11 @@ VLC_OUTPUT_VLC_CONFIG_IN AC_CONFIG_FILES([ extras/package/win32/vlc.win32.nsi + extras/package/macosx/Info.plist + extras/package/macosx/Resources/English.lproj/InfoPlist.strings + extras/package/macosx/plugin/Info.plist + extras/package/macosx/plugin/InstallerInfo.plist + extras/package/macosx/plugin/English.lproj/InfoPlist.strings Makefile projects/activex/Makefile projects/activex/axvlc.inf @@ -5753,7 +5854,11 @@ AC_CONFIG_FILES([ projects/mozilla/Makefile m4/Makefile po/Makefile.in + projects/activex/axvlc_rc.rc + projects/mozilla/npvlc_rc.rc share/Makefile + share/vlc_win32_rc.rc + share/libvlc_win32_rc.rc src/Makefile test/Makefile ]) @@ -5844,7 +5949,7 @@ AC_OUTPUT ${SHELL} ./config.status --file=vlc-config chmod 0755 vlc-config -/bin/echo -n "Enabled modules :" +/bin/echo -n "Enabled modules: " ./vlc-config --list plugin dnl Shortcut to nice compile message