X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=configure.ac;h=704fcedaa4ce6ca97f886c6668800686d3597c57;hb=fa87744af0f5215ebd969450c42215cea137d0f7;hp=5135660314591d88b6dc2be97e1b0060a468b59a;hpb=7e6af68eef64527cac71b015b57f8d6a489c3a14;p=vlc diff --git a/configure.ac b/configure.ac index 5135660314..704fcedaa4 100644 --- a/configure.ac +++ b/configure.ac @@ -1,10 +1,9 @@ dnl Autoconf settings for vlc -dnl $Id$ -AC_INIT(vlc,0.8.5-svn) +AC_INIT(vlc,0.8.6-svn) VERSION_MAJOR="0" VERSION_MINOR="8" -VERSION_REVISION="5" +VERSION_REVISION="6" VERSION_EXTRA="svn" CONFIGURE_LINE="$0 $*" @@ -17,7 +16,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.8.5-svn) +AM_INIT_AUTOMAKE(vlc,0.8.6-svn) AM_CONFIG_HEADER(config.h) dnl Too many people are not aware of maintainer mode: @@ -74,9 +73,15 @@ AC_CHECK_TOOL(STRIP, strip, :) AC_CHECK_TOOL(AR, ar, :) AC_CHECK_TOOL(LD, ld, :) -dnl Sam, if you think I didn't see that... --Meuuh -dnl AM_PROG_LIBTOOL -AC_PROG_INSTALL +AC_DISABLE_STATIC +AC_LIBTOOL_DLOPEN +AC_LIBTOOL_WIN32_DLL +AC_PROG_LIBTOOL + +AC_ARG_ENABLE(libtool, + [ --enable-libtool use libtool (default disabled, EXPERIMENTAL)], + [],[enable_libtool="no"]) +AM_CONDITIONAL(USE_LIBTOOL, [test "${enable_libtool}" != "no"]) dnl Check for compiler properties AC_C_CONST @@ -109,10 +114,6 @@ AC_ARG_WITH(contrib, else export PKG_CONFIG_LIBDIR=${topdir}/extras/contrib/lib/pkgconfig fi - 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" @@ -126,6 +127,12 @@ dnl kludge because only the debian package provides a ffmpeg-config 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 ".`uname -s`" = ".Darwin"; then export LD_LIBRARY_PATH=${topdir}/extras/contrib/lib:$LD_LIBRARY_PATH @@ -159,6 +166,14 @@ case "${target_os}" in *bsd*) SYS="${target_os}" CFLAGS_save="${CFLAGS_save} -pthread"; CFLAGS="${CFLAGS_save}" + case "${target_os}" in + freebsd*) + CPPFLAGS_save="${CPPFLAGS_save} -I/usr/local/include" + CPPFLAGS="${CPPFLAGS_save}" + LDFLAGS_save="${LDFLAGS_save} -L/usr/local/lib" + LDFLAGS="${LDLFAGS_save}" + ;; + esac ;; darwin1.[0123]) dnl Mac OS X < 10.3 @@ -235,8 +250,8 @@ case "${target_os}" in CFLAGS_save="${CFLAGS_save} -Wno-multichar"; CFLAGS="${CFLAGS_save}" CXXFLAGS_save="${CXXFLAGS_save} -Wno-multichar"; CXXFLAGS="${CXXFLAGS_save}" VLC_ADD_CXXFLAGS([beos],[]) - VLC_ADD_LDFLAGS([vlc beos logger],[-lbe]) - VLC_ADD_LDFLAGS([beos],[-lmedia -ltranslation -ltracker -lgame]) + VLC_ADD_LDFLAGS([vlc logger],[-lbe]) + VLC_ADD_LDFLAGS([beos],[-lbe -lmedia -ltranslation -ltracker -lgame]) dnl Check for BONE if test -f /boot/beos/system/lib/libbind.so; then @@ -282,15 +297,16 @@ 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_builddir)/intl" -else - AC_CHECK_FUNCS(textdomain,,[ - AC_CHECK_LIB(intl,textdomain, - VLC_ADD_LDFLAGS([vlc],[${LIBINTL}]),, - ${LIBINTL} - ) + AS_IF([test "${enable_libtool}" != "no"], [ + INCLUDED_LIBINTL="${LTLIBINTL}" + ],[ + INCLUDED_LIBINTL="${LIBINTL}" ]) +else + VLC_ADD_LDFLAGS([vlc],[${LIBINTL}]) + INCLUDED_LIBINTL= fi -AM_CONDITIONAL(BUILD_INTL, test "${nls_cv_force_use_gnu_gettext}" = "yes") +AC_SUBST(INCLUDED_LIBINTL) XGETTEXT="${XGETTEXT} --keyword=_NS --keyword=_ANS" dnl @@ -301,7 +317,11 @@ 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}]) +AS_IF([test "${enable_libtool}" != "no"], [ + VLC_ADD_LDFLAGS([vlc],[${LIBICONV}]) +],[ + VLC_ADD_LDFLAGS([vlc],[${LTLIBICONV}]) +]) dnl Check for the need to include the mingwex lib for mingw32 if test "${SYS}" = "mingw32" @@ -360,6 +380,7 @@ VLC_LIBRARY_SUFFIX VLC_SYMBOL_PREFIX AC_SUBST(SYMPREF) +AS_IF([test "${enable_libtool}" = "no"], [ case "${SYS}" in mingw32|cygwin) VLC_ADD_CFLAGS([pic plugin mozilla activex],[${CFLAGS_mingw32_special}]) @@ -375,6 +396,7 @@ case "${SYS}" in VLC_ADD_LDFLAGS([plugin mozilla],[-fpic -fPIC]) ;; esac +]) dnl The -DSYS_FOO flag CPPFLAGS_save="${CPPFLAGS_save} -DSYS_`echo ${SYS} | sed -e 's/-.*//' | tr 'abcdefghijklmnopqrstuvwxyz.' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`"; CPPFLAGS="${CPPFLAGS_save}" @@ -382,7 +404,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 fork bsearch lstat) +AC_CHECK_FUNCS(gettimeofday 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 lstat strlcpy) dnl Check for usual libc functions AC_CHECK_FUNCS(strdup strndup atof) @@ -408,7 +430,8 @@ fi AC_CHECK_FUNCS(connect,,[ AC_CHECK_LIB(socket,connect,[ - VLC_ADD_LDFLAGS([vlc ipv4 cdda cddax],-lsocket) + VLC_ADD_LDFLAGS([vlc ipv4 ipv6 cdda cddax],-lsocket) + LIBS_socket="-lsocket" ]) ]) @@ -420,7 +443,7 @@ AC_CHECK_FUNCS(send,,[ AC_CHECK_FUNCS(gethostbyname,,[ AC_CHECK_LIB(nsl,gethostbyname,[ - VLC_ADD_LDFLAGS([cdda cddax ipv4 vlc],[-lnsl]) + VLC_ADD_LDFLAGS([cdda cddax ipv4 ipv6 vlc],[-lnsl]) ],[ AC_CHECK_LIB(bind,gethostbyname,[ VLC_ADD_LDFLAGS([ipv4 access_mms],[-lbind]) @@ -455,16 +478,25 @@ AC_CACHE_CHECK([for struct sockaddr_storage], ac_cv_struct_sockaddr_storage, #endif], [struct sockaddr_storage addr;], ac_cv_struct_sockaddr_storage=yes, ac_cv_struct_sockaddr_storage=no)]) -if test $ac_cv_struct_sockaddr_storage = no; then +AS_IF([test "${ac_cv_struct_sockaddr_storage}" = no], [ AC_DEFINE(sockaddr_storage, sockaddr) AC_DEFINE(ss_family, sa_family) -fi +]) dnl getaddrinfo, getnameinfo and gai_strerror check -dnl -lresolv is NOT needed on Solaris +dnl -lnsl and -lsocket are needed on Solaris; dnl we purposedly make the test fail on Windows -AC_CHECK_FUNCS([getaddrinfo getnameinfo gai_strerror]) -AH_TEMPLATE(HAVE_ADDRINFO, [Define to `1' if defines struct addrinfo.]) +LIBS_save="${LIBS}" +AH_TEMPLATE(HAVE_GETADDRINFO, [Define to 1 if you have the `getaddrinfo' function.]) +AC_SEARCH_LIBS([getaddrinfo], [nsl], [AC_DEFINE(HAVE_GETADDRINFO)],, [${LIBS_socket}]) + +dnl NOTE: we assume getaddrinfo will be present if getnameinfo or gai_strerro +dnl are +LIBS="${LIBS_gai}" +AC_CHECK_FUNCS([getnameinfo gai_strerror]) +LIBS="${LIBS_save}" + +AH_TEMPLATE(HAVE_ADDRINFO, [Define to 1 if defines `struct addrinfo'.]) AC_CHECK_TYPES([struct addrinfo],[AC_DEFINE(HAVE_ADDRINFO)],, [#include #if defined( WIN32 ) || defined( UNDER_CE ) @@ -523,7 +555,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 param_eq vlc freetype mpc],[-lm]) + VLC_ADD_LDFLAGS([ffmpeg ffmpegaltivec stream_out_transrate i420_rgb faad twolame equalizer param_eq vlc freetype mpc dmo quicktime realaudio galaktos],[-lm]) ]) AC_CHECK_LIB(m,sqrt,[ VLC_ADD_LDFLAGS([headphone_channel_mixer normvol speex],[-lm]) @@ -785,6 +817,27 @@ then ) fi +dnl Check for dbus +AC_ARG_ENABLE(dbus, + [ --enable-dbus Linux D-BUS message bus system (default enabled)]) + +if test "${enable_dbus}" != "no" -a "${SYS}" = "linux" +then + PKG_CHECK_MODULES(DBUS, dbus-1 >= 0.30, + [ AC_DEFINE( HAVE_DBUS_1, 1, [Define if you have the new D-BUS library API]) + AC_DEFINE( HAVE_DBUS, 1, [Define if you have the D-BUS library] ) + VLC_ADD_LDFLAGS([screensaver],[$DBUS_LIBS]) + VLC_ADD_CFLAGS([screensaver],[$DBUS_CFLAGS])], + dnl older dbus + [ PKG_CHECK_MODULES( DBUS, dbus-1, + [AC_DEFINE(HAVE_DBUS, 1, [Define if you have the D-BUS library]) + VLC_ADD_LDFLAGS([screensaver],[$DBUS_LIBS]) + VLC_ADD_CFLAGS([screensaver],[$DBUS_CFLAGS])], + [AC_MSG_WARN(DBUS library not found)]) + ] + ) +fi + dnl Build the gtk_main plugins? NEED_GTK_MAIN=no NEED_GNOME_MAIN=no @@ -940,10 +993,10 @@ 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 "${ac_cv_c_dynamic_no_pic}" != "no"; then +AS_IF([test "${enable_libtool}" = "no" && test "${ac_cv_c_dynamic_no_pic}" != "no"], [ VLC_ADD_CFLAGS([builtin],[-mdynamic-no-pic]) VLC_ADD_CFLAGS([libvlc],[-mdynamic-no-pic]) -fi +]) dnl Check for Darwin plugin linking flags AC_CACHE_CHECK([if \$CC accepts -bundle -undefined error], @@ -1172,7 +1225,7 @@ AC_CACHE_CHECK([if \$CC groks SSE inline assembly], [CFLAGS="${CFLAGS_save}" AC_TRY_COMPILE(,[void *p;asm volatile("xorps %%xmm1,%%xmm2"::"r"(p));], ac_cv_sse_inline=yes, ac_cv_sse_inline=no)]) -if test "${ac_cv_sse_inline}" != "no" -a "${SYS}" != "mingw32" -a "${SYS}" != "solaris"; then +if test "${ac_cv_sse_inline}" != "no" -a "${SYS}" != "solaris"; then AC_DEFINE(CAN_COMPILE_SSE, 1, Define if \$CC groks SSE inline assembly.) ACCEL_MODULES="${ACCEL_MODULES} ${SSE_MODULES}" fi @@ -1368,9 +1421,10 @@ dnl Is the shared libvlc forced ? dnl build_pic=no AC_ARG_ENABLE(shared-libvlc, - [ --enable-shared-libvlc shared libvlc (default disabled EXPERIMENTAL)], - ,[shared_libvlc=no]) - + [ --enable-shared-libvlc Win32 libvlc.dll build (default disabled)]) +AS_IF([test "${enable_libtool}" != "no" && test "${enable_shared_libvlc}"], [ + AC_MSG_ERROR([--enable-shared-libvlc and --enable-libtool are mutually exclusive]) +]) dnl dnl Stream output @@ -1427,46 +1481,13 @@ dnl dnl Growl notification plugin dnl AC_ARG_ENABLE(growl, - [ --enable-growl growl notification plugin (default enabled)]) + [ --enable-growl growl notification plugin (default enabled)]) AS_IF([test "${enable_growl}" != "no"], [ VLC_ADD_PLUGINS([growl]) ] ) -dnl -dnl TLS/SSL -dnl -AC_ARG_ENABLE(gnutls, - [ --enable-gnutls gnutls TLS/SSL support (default enabled)]) -AS_IF([test "${enable_gnutls}" != "no"], [ - - gcrypt_LIBS="-lgpg-error" - AS_IF([test "${SYS}" = "mingw32"], - [gcrypt_LIBS="${gcrypt_LIBS} -lws2_32" - VLC_ADD_LDFLAGS([gnutls],[-lws2_32])] - ) - - gnutls_LIBS="-lgcrypt -lz ${gcrypt_LIBS}" - - AC_CHECK_HEADER(gcrypt.h, - [AC_CHECK_LIB(gcrypt, gcry_control, - [AC_CHECK_HEADER(gnutls/gnutls.h, - [AC_CHECK_LIB(gnutls, gnutls_certificate_verify_peers2, - [have_gnutls="yes"],[old_gnutls="yes"], ${gnutls_LIBS})])],, - ${gcrypt_LIBS})]) - - AS_IF([test "${have_gnutls}" = "yes"], [ - VLC_ADD_PLUGINS([gnutls]) - VLC_ADD_LDFLAGS([gnutls], [-lgnutls ${gnutls_LIBS}]) - ], [ - AS_IF([test "${enable_gnutls}" = "yes"], [ - AC_MSG_ERROR([gnutls not present or too old (version 1.0.17 required)])] - )] - )] -) - - dnl dnl Input plugins dnl @@ -1488,6 +1509,9 @@ if test "${enable_livedotcom}" = "yes"; then AC_LANG_PUSH(C++) CPPFLAGS_save="${CPPFLAGS}" CPPFLAGS_livedotcom="-I/usr/include/liveMedia -I/usr/include/groupsock -I/usr/include/BasicUsageEnvironment -I/usr/include/UsageEnvironment" + if test "${SYS}" = "solaris"; then + CPPFLAGS_livedotcom="${CPPFLAGS_livedotcom} -DSOLARIS" + fi CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_livedotcom}" AC_CHECK_HEADERS(liveMedia.hh, [ VLC_ADD_CXXFLAGS([livedotcom], [${CPPFLAGS_livedotcom}]) @@ -1536,6 +1560,9 @@ if test "${enable_livedotcom}" = "yes"; then VLC_ADD_CXXFLAGS([livedotcom],[-I${real_livedotcom_tree}/groupsock/include]) VLC_ADD_CXXFLAGS([livedotcom],[-I${real_livedotcom_tree}/liveMedia/include]) VLC_ADD_CXXFLAGS([livedotcom],[-I${real_livedotcom_tree}/UsageEnvironment/include ]) + if test "${SYS}" = "solaris"; then + VLC_ADD_CXXFLAGS([livedotcom],[-DSOLARIS]) + fi else dnl The given live.com wasn't built AC_MSG_RESULT(no) @@ -2155,9 +2182,7 @@ dnl ipv6 plugin - not for QNX yet dnl have_ipv6=no AC_CHECK_FUNCS(inet_pton,[have_ipv6=yes],[ - AC_CHECK_LIB(resolv,inet_pton, - [have_ipv6=yes - VLC_ADD_LDFLAGS([ipv6 vlc],[-lresolv])]) + AC_CHECK_LIB(nsl,inet_pton, [have_ipv6=yes]) ]) AS_IF([test "${have_ipv6}" = "yes"], [ @@ -2332,6 +2357,43 @@ then VLC_ADD_LDFLAGS([mpc],[-lmpcdec])]) fi +dnl +dnl game music emu demux plugin +dnl +AC_ARG_ENABLE(gme, + [ --enable-gme Game Music Emu demux support (default enabled)]) +if test "${enable_gme}" != "no" -a "${CXX}" != ""; +then + AC_LANG_PUSH(C++) + AC_ARG_WITH(gme-tree, + [ --with-gme-tree=PATH gme tree for static linking]) + if test -n "${with_gme_tree}" + then + AC_MSG_CHECKING(for libgme.a in ${with_mod_tree}) + real_gme_tree="`cd ${with_gme_tree} 2>/dev/null && pwd`" + if test -z "${real_gme_tree}" + then + dnl The given directory can't be found + AC_MSG_RESULT(no) + AC_MSG_ERROR([cannot cd to ${with_gme_tree}]) + fi + if test -f "${real_gme_tree}/gme/libgme.a" + then + dnl Use a custom gme + AC_MSG_RESULT(${real_gme_tree}/gme/libgme.a) + VLC_ADD_PLUGINS([gme]) + VLC_ADD_LDFLAGS([gme],[${real_gme_tree}/gme/libgme.a]) + VLC_ADD_CXXFLAGS([gme],[-I${real_gme_tree}/gme]) + else + dnl The given gme wasn't built + AC_MSG_RESULT(no) + AC_MSG_ERROR([cannot find ${real_mod_tree}/gme/libgme.a, make sure you compiled gme in ${with_gme_tree}]) + fi + else + AC_MSG_WARN([only static linking is available, you must provide a gme-tree]) + fi + AC_LANG_POP(C++) +fi dnl dnl Codec plugins @@ -2443,6 +2505,27 @@ dnl Those options have to be here because the .pc can be bogus for ffmpeg previo LDFLAGS="${LDFLAGS_save}" fi]) + AC_ARG_WITH(ffmpeg-vorbis, + [ --with-ffmpeg-vorbis specify if ffmpeg has been compiled with vorbis support], + [ + if test "$with_ffmpeg_vorbis" = "yes"; then + VLC_ADD_LDFLAGS([ffmpeg],[-lvorbisenc -lvorbis]) + fi]) + + AC_ARG_WITH(ffmpeg-theora, + [ --with-ffmpeg-theora specify if ffmpeg has been compiled with theora support], + [ + if test "$with_ffmpeg_theora" = "yes"; then + VLC_ADD_LDFLAGS([ffmpeg],[-ltheora]) + fi]) + + AC_ARG_WITH(ffmpeg-ogg, + [ --with-ffmpeg-ogg specify if ffmpeg has been compiled with ogg support], + [ + if test "$with_ffmpeg_ogg" = "yes"; then + VLC_ADD_LDFLAGS([ffmpeg],[-logg]) + fi]) + AC_ARG_WITH(ffmpeg-zlib, [ --with-ffmpeg-zlib specify if ffmpeg has been compiled with zlib support], [ @@ -2529,7 +2612,7 @@ dnl Those options have to be here because the .pc can be bogus for ffmpeg previo VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher],[-I${real_ffmpeg_tree}/libavcodec]) if test -f "${real_ffmpeg_tree}/libavformat/libavformat.a"; then - AC_DEFINE(HAVE_LIBAVFORMAT, 1, [Define if you have ffmpeg's libavformat.]) + AC_DEFINE(HAVE_LIBAVFORMAT_TREE, 1, [Define if you have ffmpeg's libavformat.]) VLC_ADD_LDFLAGS([ffmpeg],[-L${real_ffmpeg_tree}/libavformat ${real_ffmpeg_tree}/libavformat/libavformat.a]) VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher],[-I${real_ffmpeg_tree}/libavformat]) fi @@ -2548,6 +2631,8 @@ dnl Look for a ffmpeg-config (we are on debian ) if test "${FFMPEG_CONFIG}" != "no" then AC_CHECK_HEADERS(ffmpeg/avcodec.h) + AC_CHECK_HEADERS(ffmpeg/avformat.h) + AC_CHECK_HEADERS(ffmpeg/avutil.h) AC_CHECK_HEADERS(postproc/postprocess.h) VLC_ADD_PLUGINS([ffmpeg]) if test "${enable_sout}" != "no"; then @@ -2562,6 +2647,8 @@ dnl Trying with pkg-config PKG_CHECK_MODULES(FFMPEG,[libavcodec, libavformat], [ AC_CHECK_HEADERS(ffmpeg/avcodec.h) + AC_CHECK_HEADERS(ffmpeg/avformat.h) + AC_CHECK_HEADERS(ffmpeg/avutil.h) AC_CHECK_HEADERS(postproc/postprocess.h) VLC_ADD_BUILTINS([ffmpeg]) if test "${enable_sout}" != "no"; then @@ -2581,6 +2668,8 @@ dnl Trying with pkg-config CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_ffmpeg}" LDFLAGS="${LDFLAGS_save} ${LDFLAGS_ffmpeg}" AC_CHECK_HEADERS(ffmpeg/avcodec.h, [], [AC_MSG_ERROR([Missing header file ffmpeg/avcodec.h.])] ) + AC_CHECK_HEADERS(ffmpeg/avformat.h) + AC_CHECK_HEADERS(ffmpeg/avutil.h) AC_CHECK_HEADERS(postproc/postprocess.h, [], [AC_MSG_ERROR([Missing header file postproc/postprocess.h.])] ) AC_CHECK_LIB(avutil, av_add_i, [ @@ -2597,9 +2686,9 @@ dnl Trying with pkg-config VLC_ADD_BUILTINS([stream_out_switcher]) fi], [ AC_MSG_ERROR([Could not find ffmpeg on your system: you may get it from http://ffmpeg.sf.net/ (cvs version is recommended). Alternatively you can use --disable-ffmpeg to disable the ffmpeg plugins.]) ], [$LDAVUTIL]) + + 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 $LDAVUTIL]) LDFLAGS="${LDFLAGS_save}" CPPFLAGS="${CPPFLAGS_save}" @@ -2641,7 +2730,7 @@ then VLC_ADD_CPPFLAGS([ffmpegaltivec],[-I${real_ffmpeg_tree}/libavcodec -I${real_ffmpeg_tree}/libavformat]) if test -f "${real_ffmpeg_tree}/libavformat/libavformat.a"; then - AC_DEFINE(HAVE_LIBAVFORMAT, 1, [Define if you have ffmpeg's libavformat.]) + AC_DEFINE(HAVE_LIBAVFORMAT_TREE, 1, [Define if you have ffmpeg's libavformat.]) VLC_ADD_LDFLAGS([ffmpegaltivec],[-L${real_ffmpeg_tree}/libavformat -lavformataltivec -lz]) VLC_ADD_CPPFLAGS([ffmpegaltivec],[-I${real_ffmpeg_tree}/libavformat]) fi @@ -2783,7 +2872,7 @@ dnl dnl MP4 module dnl AC_CHECK_HEADERS(zlib.h, [ - VLC_ADD_LDFLAGS([mp4 skins2 sap mkv],[-lz]) + VLC_ADD_LDFLAGS([mp4 skins2 sap mkv gme],[-lz]) ] ) AC_CHECK_HEADERS(sysfs/libsysfs.h, [ @@ -2878,7 +2967,7 @@ dnl dnl DTS Coherent Acoustics decoder plugin dnl AC_ARG_ENABLE(dts, - [ --enable-dts DTS Coherent Acoustics support with libdts (default enabled)]) + [ --enable-dts DTS Coherent Acoustics support with libdca (default enabled)]) if test "${enable_dts}" != "no"; then AC_ARG_WITH(dts-tree, [ --with-dts-tree=PATH libdts tree for static linking ],[],[]) @@ -3195,33 +3284,6 @@ if test "${enable_dirac}" = "yes"; then ]) fi -dnl libvc1 decoder plugin -dnl -AC_ARG_ENABLE(libvc1, -[ --enable-libvc1 VC-1 codec (default disabled)]) -if test "${enable_libvc1}" = "yes" -then - AC_ARG_WITH(libvc1-tree, - [ --with-libvc1-tree=PATH libvc1 tree for static linking]) - if test -n "${with_libvc1_tree}" - then - AC_MSG_CHECKING(for vc1dec.o in ${with_libvc1_tree}) - real_libvc1_tree="`cd ${with_libvc1_tree} 2>/dev/null && pwd`" - if test -f "${real_libvc1_tree}/src/.libs/vc1dec.o" - then - VLC_ADD_BUILTINS([libvc1]) - VLC_ADD_CPPFLAGS([libvc1],[-I${real_libvc1_tree}/src]) - VLC_ADD_LDFLAGS([libvc1],[${real_libvc1_tree}/src/.libs/libvc1.a]) - AC_MSG_RESULT(yes) - else - dnl The given libvc1 tree wasn't built - AC_MSG_RESULT(no) - AC_MSG_ERROR([cannot find ${real_libvc1_tree}/src/.libs/vc1dec.o, - make sure you compiled libvc1 in ${with_libvc1_tree}]) - fi - fi -fi - dnl dnl PNG decoder module dnl @@ -3360,7 +3422,7 @@ if test "${enable_xvideo}" != "no" && 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 "${x_libraries}"/libXv.so; then + if test -f /usr/X11R6/lib/libXv.so -o -f /usr/lib/libXv.so -o -f "${x_libraries}"/libXv.so; then VLC_ADD_PLUGINS([xvideo]) VLC_ADD_CPPFLAGS([xvideo],[${X_CFLAGS}]) VLC_ADD_LDFLAGS([xvideo],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lXv]) @@ -3400,12 +3462,14 @@ if test "${enable_glx}" != "no" && CPPFLAGS="${CPPFLAGS_save}" fi -if test "${enable_xvideo}" != "no" && - (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" || - test "${enable_xvideo}" = "yes"); then dnl dnl Check for the Xinerama extension dnl +AC_ARG_ENABLE(xinerama, + [ --enable-xinerama Xinerama support (default enabled)]) +if test "${enable_xvideo}" != "no" && test "${enable_xinerama}" != "no" && + (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" || + test "${enable_xvideo}" = "yes"); then ac_cv_have_xinerama="no" CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}" CFLAGS="${CFLAGS_save} ${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext" @@ -4132,7 +4196,7 @@ dnl CyberLink for C++ UPnP stack dnl AC_ARG_ENABLE(cyberlink, [ --enable-cyberlink CyberLink for C++ UPnP stack (default disabled)]) -AS_IF([test "${CXX}" != "" -a "${enable_cyberlink}" = "yes" || (test "${enable_cyberlink}" != "no")], [ + AS_IF([test "${enable_cyberlink}" = "yes" ], [ AC_ARG_WITH(cyberlink-tree, [ --with-cyberlink-tree=PATH CyberLink for C++ tree for static linking]) @@ -4627,6 +4691,8 @@ AC_ARG_ENABLE(opie, dnl dnl MacOS X module dnl +ORIGCFLAGS=$CFLAGS +CFLAGS="$CFLAGS -x objective-c" AC_ARG_ENABLE(macosx, [ --enable-macosx MacOS X support (default enabled on MacOS X)], [if test "${enable_macosx}" = "yes" @@ -4638,6 +4704,7 @@ AC_ARG_ENABLE(macosx, VLC_ADD_BUILTINS([macosx]) VLC_ADD_LDFLAGS([macosx],[-framework IOKit -framework Cocoa -framework Carbon -framework QuickTime -lobjc -ObjC -framework OpenGL]) )]) +CFLAGS=$ORIGCFLAGS dnl dnl QNX RTOS module @@ -4839,6 +4906,41 @@ AM_CONDITIONAL(ENABLE_CORBA, test "$enablecorba" = "true") AC_ARG_WITH(,[Misc options:]) +dnl +dnl TLS/SSL +dnl +AC_ARG_ENABLE(gnutls, + [ --enable-gnutls gnutls TLS/SSL support (default enabled)]) + +AS_IF([test "${enable_gnutls}" != "no"], [ + gcrypt_LIBS="-lgpg-error" + AS_IF([test "${SYS}" = "mingw32"], [ + gcrypt_LIBS="${gcrypt_LIBS} -lws2_32" + VLC_ADD_LDFLAGS([gnutls],[-lws2_32]) + ]) + + gnutls_LIBS="-lgcrypt -lz ${gcrypt_LIBS}" + + AC_CHECK_HEADER(gcrypt.h, [ + AC_CHECK_LIB(gcrypt, gcry_control, [ + AC_CHECK_HEADER(gnutls/gnutls.h, [ + AC_CHECK_LIB(gnutls, gnutls_certificate_verify_peers2, + [have_gnutls="yes"],[old_gnutls="yes"],[${gnutls_LIBS}]) + ]) + ],,[${gcrypt_LIBS}]) + ]) + + AS_IF([test "${have_gnutls}" = "yes"], [ + VLC_ADD_PLUGINS([gnutls]) + VLC_ADD_LDFLAGS([gnutls], [-lgnutls ${gnutls_LIBS}]) + ], [ + AS_IF([test "${enable_gnutls}" = "yes"], [ + AC_MSG_ERROR([gnutls not present or too old (version 1.0.17 required)]) + ]) + ]) +]) + + dnl dnl Endianness check, AC_C_BIGENDIAN doesn't work if we are cross-compiling dnl @@ -4908,11 +5010,11 @@ AM_CONDITIONAL(LOADER, [test "${enable_loader}" = "yes"]) AS_IF([test "${enable_loader}" = "yes"], [ VLC_ADD_PLUGINS([dmo quicktime]) VLC_ADD_CPPFLAGS([dmo],[-I../../../@top_srcdir@/loader]) - VLC_ADD_LDFLAGS([dmo],[../../../loader/libloader.a]) + VLC_ADD_LDFLAGS([dmo],[../../../loader/libloader.la]) VLC_ADD_CPPFLAGS([quicktime],[-I../../@top_srcdir@/loader]) - VLC_ADD_LDFLAGS([quicktime],[../../loader/libloader.a]) + VLC_ADD_LDFLAGS([quicktime],[../../loader/libloader.la]) VLC_ADD_CPPFLAGS([realaudio],[-I../../@top_srcdir@/loader -DLOADER]) - VLC_ADD_LDFLAGS([realaudio],[../../loader/libloader.a]) + VLC_ADD_LDFLAGS([realaudio],[../../loader/libloader.la]) ]) dnl @@ -4965,10 +5067,13 @@ then then AC_MSG_ERROR([Please install the Mozilla development tools, mozilla-config was not found.]) else - if test "${SYS}" != "mingw32"; then + if ${MOZILLA_CONFIG} --defines | grep -q 'MOZ_X11=1'; then LDFLAGS="${LDFLAGS_save} ${X_LIBS} ${X_PRE_LIBS}" AC_CHECK_LIB(Xt,XtStrings, - [VLC_ADD_LDFLAGS([mozilla],[${X_LIBS} ${X_PRE_LIBS} -lXt -lX11 -lSM -lICE])], + [ + VLC_ADD_CPPFLAGS([mozilla],[${X_CFLAGS}]) + VLC_ADD_LDFLAGS([mozilla],[${X_LIBS} ${X_PRE_LIBS} -lXt -lX11 -lSM -lICE]) + ], [], [[${X_LIBS} ${X_PRE_LIBS} -lX11 -lSM -lICE] ]) @@ -4981,6 +5086,7 @@ then CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_mozilla}" AC_CHECK_HEADERS(mozilla-config.h) CPPFLAGS="${CPPFLAGS_save}" + MOZILLA_SDK_PATH="`${MOZILLA_CONFIG} --prefix`" XPIDL_INCL="`${MOZILLA_CONFIG} --cflags plugin xpcom java` \ `${MOZILLA_CONFIG} --idlflags plugin xpcom java` " xpidl_path="`${MOZILLA_CONFIG} --prefix`/bin" @@ -5011,6 +5117,7 @@ then fi fi + MOZILLA_SDK_PATH="${real_mozilla_sdk}" XPIDL_INCL="-I${real_mozilla_sdk}${mozilla_sdk_xpcom}/idl" xpidl_path="${real_mozilla_sdk}${mozilla_sdk_xpcom}/bin" @@ -5024,7 +5131,7 @@ then if test "${mozilla}" != "false" then build_pic=yes - AC_PATH_PROG(XPIDL, xpidl, no, ${xpidl_path} /usr/lib/mozilla) + AC_PATH_PROG(XPIDL, xpidl, no, ${xpidl_path}:/usr/lib/mozilla:/usr/lib64/mozilla) if test "${XPIDL}" = "no"; then AC_MSG_ERROR([Please install the Mozilla development tools, xpidl was not found.]) fi @@ -5075,6 +5182,16 @@ then #VLC_ADD_BUILTINS([${TESTS}]) 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],[-Wl,--exclude-libs,libunicows.a -lunicows]) + ]) +fi + dnl dnl gtk_main plugin dnl @@ -5171,18 +5288,21 @@ AM_CONDITIONAL(HAVE_BUILTINS, ${builtin_support}) dnl dnl Pic and shared libvlc stuff dnl -AM_CONDITIONAL(BUILD_SHARED, [test "${shared_libvlc}" != "no"]) -AM_CONDITIONAL(BUILD_PIC, [test "${build_pic}" = "yes" -o "${shared_libvlc}" != "no"] ) -AS_IF([test "${shared_libvlc}" != "no"], [ +AS_IF([test "x${enable_shared_libvlc}" = "x"], [enable_shared_libvlc=no]) +AM_CONDITIONAL(BUILD_SHARED, [test "${enable_shared_libvlc}" != "no"]) +AS_IF([test "${enable_shared_libvlc}" != "no" || test "${enable_libtool}" != "no"], [ AC_DEFINE(HAVE_SHARED_LIBVLC, 1, [Define to 1 if libvlc is built as a shared library.]) -]) + FILE_LIBVLC_DLL="!insertmacro InstallFile libvlc.dll"], + FILE_LIBVLC_DLL="" ) pic=no -AS_IF([test "${shared_libvlc}" != "no" -o "${build_pic}" = "yes"], [pic=pic]) +AS_IF([test "${build_pic}" = "yes"], [pic=pic]) AS_IF([test "${SYS}" = "mingw32"], [pic=no]) AS_IF([test "${pic}" = "no"], [pic=]) AC_SUBST(pic) +AM_CONDITIONAL(BUILD_PIC, [test "${build_pic}" = "yes" && test "x${pic}" = "xpic"]) + dnl Import conditional variables generated by bootstrap VLC_CONDITIONALS @@ -5243,12 +5363,14 @@ AC_SUBST(ALIASES) AC_SUBST(ASM) AC_SUBST(MOC) AC_SUBST(WINDRES) +AC_SUBST(MOZILLA_SDK_PATH) AC_SUBST(XPIDL) AC_SUBST(XPIDL_INCL) AC_SUBST(LIBEXT) AC_SUBST(INCLUDES) AC_SUBST(ALL_LINGUAS) AC_SUBST(MACOSX_DEPLOYMENT_TARGET) +AC_SUBST(FILE_LIBVLC_DLL) dnl Import substitutions generated by bootstrap VLC_SUBSTS @@ -5257,6 +5379,7 @@ dnl Create vlc-config.in VLC_OUTPUT_VLC_CONFIG_IN AC_CONFIG_FILES([ + vlc.win32.nsi Makefile activex/Makefile activex/axvlc.inf @@ -5267,13 +5390,13 @@ AC_CONFIG_FILES([ doc/Makefile intl/Makefile ipkg/Makefile - lib/Makefile loader/Makefile modules/Makefile mozilla/Makefile m4/Makefile po/Makefile.in share/Makefile + src/Makefile ]) AC_CONFIG_FILES([ @@ -5328,6 +5451,7 @@ AC_CONFIG_FILES([ modules/misc/xml/Makefile modules/mux/Makefile modules/mux/mpeg/Makefile + modules/mux/rtp/Makefile modules/packetizer/Makefile modules/services_discovery/Makefile modules/stream_out/Makefile @@ -5361,7 +5485,9 @@ dnl for a in `./vlc-config --target plugin` ; do echo $a; done | sed -e 's,modul dnl Shortcut to nice compile message rm -f compile echo '#! /bin/sh' >compile -echo "PATH=$PATH LANG=C make \$* 2>&1| ${srcdir}/extras/make.pl" >>compile + +echo "PATH=$PATH LANG=C make \$* 2>&1| \\" >> compile +echo '`sed -ne "s/^top_srcdir *= *//p" < Makefile`/extras/make.pl' >> compile chmod a+x compile printf "