X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=configure.ac;h=8603f46c58f8a63541261acac075fda34627f80a;hb=bda1fc3c38d7ba0834a671f436aa69e68368da5e;hp=832e66d66cb2e3233878e7f2a02ad15b00b3c7fd;hpb=72d2657110274fb3c7b0aac3766781f5491e9139;p=vlc diff --git a/configure.ac b/configure.ac index 832e66d66c..8603f46c58 100644 --- a/configure.ac +++ b/configure.ac @@ -2,9 +2,9 @@ dnl Autoconf settings for vlc AC_COPYRIGHT([Copyright 2002-2009 the VideoLAN team]) -AC_INIT(vlc, 1.0.0-git) +AC_INIT(vlc, 1.1.0-git) VERSION_MAJOR="1" -VERSION_MINOR="0" +VERSION_MINOR="1" VERSION_REVISION="0" VERSION_EXTRA="-git" PKGDIR="vlc" @@ -18,6 +18,7 @@ AC_PREREQ(2.59c) AC_CONFIG_SRCDIR(src/libvlc.c) AC_CONFIG_AUX_DIR(autotools) AC_CONFIG_MACRO_DIR(m4) +AC_CONFIG_LIBOBJ_DIR(compat) AC_CANONICAL_BUILD AC_CANONICAL_HOST @@ -111,15 +112,20 @@ dnl dnl Check for the contrib directory dnl AC_ARG_WITH(contrib, - [ --without-contrib do not use the libraries in extras/contrib],[],[]) + [ --without-contrib do not use the libraries in CONTRIB_DIR],[],[]) AS_IF([test "${with_contrib}" != "no"],[ - AC_MSG_CHECKING([for libs in extras/contrib]) - topdir="`dirname $0`" - if test "`echo \"$topdir\" | cut -c 1`" != "/"; then - topdir="`pwd`/$topdir" + AC_ARG_VAR([CONTRIB_DIR], [directory containing pre-built contrib, overriding extras/contrib]) + if test -z "$CONTRIB_DIR" + then + topdir="`dirname $0`" + if test "`echo \"$topdir\" | cut -c 1`" != "/"; then + topdir="`pwd`/$topdir" + fi + CONTRIB_DIR=${topdir}/extras/contrib fi - AS_IF([test -d ${topdir}/extras/contrib/lib],[ - AS_IF([test "`grep HOST ${topdir}/extras/contrib/config.mak 2>/dev/null|awk '{print $3}'`" != "`$CC -dumpmachine`"],[ + AC_MSG_CHECKING([for libs in ${CONTRIB_DIR}]) + AS_IF([test -d ${CONTRIB_DIR}/lib],[ + AS_IF([test "`grep HOST ${CONTRIB_DIR}/config.mak 2>/dev/null|awk '{print $3}'`" != "`$CC -dumpmachine`"],[ if test "${with_contrib}" = "yes"; then AC_MSG_RESULT([no]) AC_MSG_ERROR([ not using the libs in extras/contrib as it is not the same host]) @@ -129,36 +135,36 @@ AC_ARG_WITH(contrib, fi ],[ AC_MSG_RESULT([yes]) - 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" + export PATH=${CONTRIB_DIR}/bin:$PATH + CPPFLAGS="${CPPFLAGS} -I${CONTRIB_DIR}/include" + CPPFLAGS_save="${CPPFLAGS_save} -I${CONTRIB_DIR}/include" + CFLAGS="${CFLAGS} -I${CONTRIB_DIR}/include" + CFLAGS_save="${CFLAGS_save} -I${CONTRIB_DIR}/include" + CXXFLAGS="${CXXFLAGS} -I${CONTRIB_DIR}/include" + CXXFLAGS_save="${CXXFLAGS_save} -I${CONTRIB_DIR}/include" + OBJCFLAGS="${OBJCFLAGS} -I${CONTRIB_DIR}/include" + OBJCFLAGS_save="${OBJCFLAGS_save} -I${CONTRIB_DIR}/include" if test $build = $host -o "$PKG_CONFIG_LIBDIR"; then - export PKG_CONFIG_PATH=${topdir}/extras/contrib/lib/pkgconfig:$PKG_CONFIG_PATH + export PKG_CONFIG_PATH=${CONTRIB_DIR}/lib/pkgconfig:$PKG_CONFIG_PATH else - export PKG_CONFIG_LIBDIR=${topdir}/extras/contrib/lib/pkgconfig + export PKG_CONFIG_LIBDIR=${CONTRIB_DIR}/lib/pkgconfig fi - LDFLAGS="${LDFLAGS} -L${topdir}/extras/contrib/lib" - LDFLAGS_save="${LDFLAGS_save} -L${topdir}/extras/contrib/lib" + LDFLAGS="${LDFLAGS} -L${CONTRIB_DIR}/lib" + LDFLAGS_save="${LDFLAGS_save} -L${CONTRIB_DIR}/lib" if test -z $with_mozilla_sdk_path; then - with_mozilla_sdk_path=${topdir}/extras/contrib/gecko-sdk + with_mozilla_sdk_path=${CONTRIB_DIR}/gecko-sdk fi if test -z $with_cyberlink_tree; then - with_cyberlink_tree=${topdir}/extras/contrib/src/clinkcc + with_cyberlink_tree=${CONTRIB_DIR}/src/clinkcc fi 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 + export LD_LIBRARY_PATH=${CONTRIB_DIR}/lib:$LD_LIBRARY_PATH + export DYLD_LIBRARY_PATH=${CONTRIB_DIR}/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 + export LIBRARY_PATH=${CONTRIB_DIR}/lib:$LIBRARY_PATH + export BELIBRARIES=${CONTRIB_DIR}/lib:$BELIBRARIES fi ]) ],[ @@ -206,10 +212,10 @@ case "${host_os}" in VLC_ADD_LDFLAGS([mp4], [-Wl,-framework,IOKit,-framework,CoreFoundation]) VLC_ADD_LDFLAGS([mkv mp4], [-Wl,-framework,IOKit,-framework,CoreFoundation]) VLC_ADD_LDFLAGS([vlc],[-Wl,-undefined,dynamic_lookup]) - VLC_ADD_LDFLAGS([libvlc_control],[-Wl,dynamic_lookup]) - VLC_ADD_LDFLAGS([avcodec avformat swscale imgresample postproc i420_rgb_mmx x264],[-Wl,-read_only_relocs,suppress]) + VLC_ADD_LDFLAGS([libvlc],[-Wl,-undefined,dynamic_lookup]) + VLC_ADD_LDFLAGS([avcodec avformat swscale postproc i420_rgb_mmx x264],[-Wl,-read_only_relocs,suppress]) VLC_ADD_CFLAGS([motion],[-fconstant-cfstrings]) - VLC_ADD_LDFLAGS([libvlc],[-Wl,-framework,CoreFoundation]) + VLC_ADD_LDFLAGS([libvlccore],[-Wl,-framework,CoreFoundation]) VLC_ADD_LDFLAGS([motion],[-Wl,-framework,IOKit,-framework,CoreFoundation]) AC_ARG_ENABLE(macosx-defaults, AS_HELP_STRING([--enable-macosx-defaults],[Build the default configuration on Mac OS X (default enabled)])) @@ -259,31 +265,13 @@ case "${host_os}" in echo " Assuming --disable-skins2" enable_x11="no" echo " Assuming --disable-x11" + enable_xcb="no" + echo " Assuming --disable-xcb" enable_glx="no" echo " Assuming --disable-glx" enable_xvideo="no" echo " Assuming --disable-xvideo" fi - if test ".`uname -p`" = ".i386"; then - dnl Due to a ld(64) bug in 10.5 we cannot use our mmx code - dnl without hacking it a lot, we disable mmx and sse. - dnl (that bug is about ld being unable to handle - dnl text relocation) - save_cflags="$CFLAGS" - CFLAGS="$CFLAGS -dynamiclib -single_module -read_only_relocs suppress" - AC_TRY_LINK( - [int a;], [asm("movq _a,%mm0\n");], - ac_ld_does_not_support_text_reloc=no, - ac_ld_does_not_support_text_reloc=yes) - CFLAGS="$save_cflags" - - if test "x$ac_ld_does_not_support_text_reloc" = "xyes"; then - enable_mmx="no" - echo " Assuming --disable-mmx (due to a bug in ld)" - enable_sse="no" - echo " Assuming --disable-sse (due to a bug in ld)" - fi - fi dnl dnl Check for Mac OS X SDK settings dnl @@ -296,6 +284,20 @@ case "${host_os}" in OBJC="${OBJC} -isysroot ${with_macosx_sdk}" LD="${LD} -syslibroot ${with_macosx_sdk}" fi + if test "${host_cpu}" = "powerpc"; then + CPP="${CPP} -arch ppc" + CC="${CC} -arch ppc" + CXX="${CXX} -arch ppc" + OBJC="${OBJC} -arch ppc" + LD="${LD} -arch ppc" + fi + if test "${host_cpu}" = "i386"; then + CPP="${CPP} -arch i386" + CC="${CC} -arch i386" + CXX="${CXX} -arch i386" + OBJC="${OBJC} -arch i386" + LD="${LD} -arch i386" + fi AC_ARG_WITH(macosx-version-min, [ --with-macosx-version-min=VERSION compile for MacOSX VERSION and above]) if test "${with_macosx_version_min}" != "" ; then @@ -311,6 +313,28 @@ case "${host_os}" in export MACOSX_DEPLOYMENT_TARGET fi ;; + darwin9*) + if (test ".`uname -p`" = ".i386"); then + dnl Due to a ld(64) bug in 10.5 we cannot use our mmx code + dnl without hacking it a lot, we disable mmx and sse. + dnl (that bug is about ld being unable to handle + dnl text relocation) + save_cflags="$CFLAGS" + CFLAGS="$CFLAGS -dynamiclib -single_module -read_only_relocs suppress" + AC_TRY_LINK( + [int a;], [asm("movq _a,%mm0\n");], + ac_ld_does_not_support_text_reloc=no, + ac_ld_does_not_support_text_reloc=yes) + CFLAGS="$save_cflags" + + if test "x$ac_ld_does_not_support_text_reloc" = "xyes"; then + enable_mmx="no" + echo " Assuming --disable-mmx (due to a bug in ld)" + enable_sse="no" + echo " Assuming --disable-sse (due to a bug in ld)" + fi + fi + ;; *mingw32* | *cygwin* | *wince* | *mingwce* | *pe*) AC_CHECK_TOOL(WINDRES, windres, :) AC_CHECK_TOOL(OBJCOPY, objcopy, :) @@ -339,7 +363,7 @@ case "${host_os}" in if test "${SYS}" = "mingw32"; then # add ws2_32 for closesocket, select, recv - VLC_ADD_LIBS([libvlc],[-lws2_32 -lnetapi32 -lwinmm]) + VLC_ADD_LIBS([libvlccore],[-lws2_32 -lnetapi32 -lwinmm]) VLC_ADD_LDFLAGS([vlc],[-mwindows]) VLC_ADD_LIBS([activex mozilla],[-lgdi32]) VLC_ADD_LIBS([cdda vcdx cddax sdl_image],[-lwinmm]) @@ -347,8 +371,8 @@ case "${host_os}" in fi if test "${SYS}" = "mingwce"; then # add ws2 for closesocket, select, recv - VLC_ADD_LIBS([libvlc access_http access_mms access_udp access_tcp access_ftp access_rtmp access_output_udp sap http netsync audioscrobbler growl rtp stream_out_rtp remoteosd],[-lws2]) - VLC_ADD_LIBS([libvlc],[-lmmtimer]) + VLC_ADD_LIBS([libvlccore access_http access_mms access_udp access_tcp access_ftp access_rtmp access_output_udp sap http netsync audioscrobbler growl rtp stream_out_rtp remoteosd],[-lws2]) + VLC_ADD_LIBS([libvlccore],[-lmmtimer]) fi ;; *nto*) @@ -369,16 +393,16 @@ case "${host_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_LIBS([vlc libvlc logger],[-lbe]) + VLC_ADD_LIBS([vlc libvlccore logger],[-lbe]) VLC_ADD_LIBS([beos],[-lbe -lmedia -ltranslation -ltracker -lgame]) VLC_ADD_LIBS([dvdnav dvdread],[-ldl]) VLC_ADD_LIBS([access_file],[-lpoll]) LDFLAGS_save="${LDFLAGS_save} -lintl"; LDFLAGS="${LDFLAGS_save}" dnl Check for BONE if test -f /boot/beos/system/lib/libbind.so; then - VLC_ADD_LIBS([access_file access_ftp access_mms access_output_udp telnet netsync sap libvlc growl_udp],[-lbind -lsocket]) + VLC_ADD_LIBS([access_file access_ftp access_mms access_output_udp telnet netsync sap libvlccore growl_udp],[-lbind -lsocket]) else - VLC_ADD_LIBS([access_file access_ftp access_mms access_output_udp telnet netsync sap libvlc growl_udp],[-lnet]) + VLC_ADD_LIBS([access_file access_ftp access_mms access_output_udp telnet netsync sap libvlccore growl_udp],[-lnet]) fi dnl Ugly check for Zeta @@ -439,21 +463,40 @@ dnl Gettext stuff dnl AM_GNU_GETTEXT_VERSION([0.17]) AM_GNU_GETTEXT([external]) -VLC_ADD_LIBS([libvlc vlc], [${LTLIBINTL}]) +VLC_ADD_LIBS([libvlccore vlc], [${LTLIBINTL}]) dnl dnl Iconv stuff dnl AM_ICONV -VLC_ADD_CFLAGS([libvlc],[${INCICONV}]) -VLC_ADD_LIBS([libvlc],[${LTLIBICONV}]) +VLC_ADD_CFLAGS([libvlccore],[${INCICONV}]) +VLC_ADD_LIBS([libvlccore],[${LTLIBICONV}]) + +dnl Check for broken versions of mingw-runtime compatability library +AS_IF([test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"], [ + AC_MSG_CHECKING(for broken mingw-runtime) + AC_PREPROC_IFELSE([ +#include <_mingw.h> +#if (__MINGW32_MAJOR_VERSION == 3) && (__MINGW32_MINOR_VERSION < 15) +# error Attempting to use mingw-runtime with broken vsnprintf support +#endif +], [ + AC_MSG_RESULT([ok]) +], [ + AC_MSG_RESULT([present]) + AC_MSG_ERROR([LibVLC requires mingw-runtime version 3.15 or higher!]) +]) + dnl force use of mingw provided c99 *printf over msvcrt + CPPFLAGS="${CPPFLAGS} -D__USE_MINGW_ANSI_STDIO=1" + CPPFLAGS_save="${CPPFLAGS_save} -D__USE_MINGW_ANSI_STDIO=1" +]) dnl Check for the need to include the mingwex lib for mingw32 if test "${SYS}" = "mingw32" then AC_CHECK_LIB(mingwex,opendir, AC_CHECK_LIB(mingw32,opendir,, - [VLC_ADD_LIBS([libvlc gtk],[-lmingwex])]) + [VLC_ADD_LIBS([libvlccore gtk],[-lmingwex])]) ) fi @@ -498,6 +541,31 @@ AC_LANG_PUSH(C++) AC_LANG_POP(C++) fi +dnl +dnl Buggy glibc prevention. Purposedly not cached. +dnl Ubuntu alone has 20 bug numbers for this... +dnl +AC_MSG_CHECKING(for buggy GNU/libc versions) +AC_PREPROC_IFELSE([ +#include +#if defined (__GLIBC__) && (__GLIBC__ == 2) \ + && (__GLIBC_MINOR__ >= 5) && (__GLIBC_MINOR__ <= 7) +# error GNU/libc with dcgettext killer bug! +#endif +], [ + AC_MSG_RESULT([not present]) +], [ + AC_MSG_RESULT([found]) + AS_IF([test "x${enable_nls}" != "xno" || test "x${enable_mozilla}" != "xno"], [ + AC_MSG_ERROR([Buggy GNU/libc (version 2.5 - 2.7) present. VLC would crash; there is no viable +work-around for this. Check with your distribution vendor on how to update the +glibc run-time. Alternatively, build with --disable-nls --disable-mozilla and +be sure to not use LibVLC from other applications/wrappers.]) + ], [ + AC_DEFINE(DISABLE_BUGGY_GLIBC_CHECK, 1, [Disables runtime check for buggy glibc.]) + ]) +]) + dnl Plugin compilation stuff VLC_LIBRARY_SUFFIX @@ -509,12 +577,14 @@ dnl Check for system libs needed need_libc=false dnl Check for usual libc functions -AC_CHECK_FUNCS([gettimeofday strtod strtol strtof strtoll strtoull strsep isatty vasprintf asprintf swab sigrelse getpwuid_r memalign posix_memalign if_nametoindex atoll getenv putenv setenv gmtime_r ctime_r localtime_r lrintf daemon scandir fork bsearch lstat strlcpy strdup strndup strnlen atof lldiv posix_fadvise posix_madvise uselocale]) -AC_CHECK_FUNCS(strcasecmp,,[AC_CHECK_FUNCS(stricmp)]) -AC_CHECK_FUNCS(strncasecmp,,[AC_CHECK_FUNCS(strnicmp)]) -AC_CHECK_FUNCS(strcasestr,,[AC_CHECK_FUNCS(stristr)]) +AC_CHECK_FUNCS([gettimeofday isatty sigrelse getpwuid_r memalign posix_memalign if_nametoindex getenv putenv setenv ctime_r lrintf daemon fork lstat posix_fadvise posix_madvise uselocale]) AC_FUNC_ALLOCA AC_CHECK_FUNCS(fcntl) +AC_REPLACE_FUNCS([asprintf atof atoll getcwd gmtime_r lldiv localtime_r rewind strcasecmp strcasestr strdup strlcpy strncasecmp strndup strnlen strsep strtof strtoll vasprintf swab]) +AC_CHECK_FUNCS([stricmp strnicmp]) +AC_CHECK_FUNCS(fdatasync,, + [AC_DEFINE(fdatasync, fsync, [Alias fdatasync() to fsync() if missing.]) +]) dnl Check for Linux system calls AC_CHECK_FUNCS([vmsplice]) @@ -541,7 +611,7 @@ fi AC_CHECK_FUNCS(connect,,[ AC_CHECK_LIB(socket,connect,[ - VLC_ADD_LIBS([libvlc cdda cddax],-lsocket) + VLC_ADD_LIBS([libvlccore cdda cddax],-lsocket) LIBS_socket="-lsocket" ]) ]) @@ -638,7 +708,7 @@ fi AC_CHECK_FUNCS(inet_aton,,[ AC_CHECK_LIB(resolv,inet_aton,[ - VLC_ADD_LIBS([libvlc],[-lresolv]) + VLC_ADD_LIBS([libvlccore],[-lresolv]) ]) ]) @@ -651,7 +721,7 @@ AC_CHECK_FUNCS(getopt_long,[AC_DEFINE(HAVE_GETOPT_LONG,1,long getopt support)], [ # FreeBSD has a gnugetopt library for this: AC_CHECK_LIB([gnugetopt],[getopt_long], [AC_DEFINE(HAVE_GETOPT_LONG,1,getopt support) - VLC_ADD_LIBS([libvlc],[-lgnugetopt])], + VLC_ADD_LIBS([libvlccore],[-lgnugetopt])], [need_getopt=:])]) fi AM_CONDITIONAL(BUILD_GETOPT, ${need_getopt}) @@ -662,13 +732,13 @@ AC_CHECK_LIB(m,cos,[ VLC_ADD_LIBS([adjust wave ripple psychedelic gradient a52tofloat32 dtstofloat32 x264 goom visual panoramix rotate noise grain scene],[-lm]) ]) AC_CHECK_LIB(m,pow,[ - VLC_ADD_LIBS([avcodec avformat swscale imgresample postproc ffmpegaltivec stream_out_transrate i420_rgb faad twolame equalizer spatializer param_eq libvlc vorbis freetype mod mpc dmo quicktime realaudio realvideo galaktos opengl],[-lm]) + VLC_ADD_LIBS([avcodec avformat swscale postproc ffmpegaltivec stream_out_transrate i420_rgb faad twolame equalizer spatializer param_eq libvlccore vorbis freetype mod mpc dmo quicktime realaudio realvideo galaktos opengl],[-lm]) ]) AC_CHECK_LIB(m,sqrt,[ VLC_ADD_LIBS([headphone_channel_mixer normvol speex mono colorthres extract],[-lm]) ]) AC_CHECK_LIB(m,ceil,[ - VLC_ADD_LIBS([mosaic],[-lm]) + VLC_ADD_LIBS([hotkeys mosaic],[-lm]) ]) AC_CHECK_LIB(m,exp,[ VLC_ADD_LIBS([gaussianblur],[-lm]) @@ -698,7 +768,7 @@ if test "${ac_cv_have_plugins}" = "no"; then [ac_cv_my_have_shl_load=yes, AC_CHECK_LIB(dld, shl_load, [ac_cv_my_have_shl_load=yes - VLC_ADD_LIBS([libvlc],[-ldld])])]) + VLC_ADD_LIBS([libvlccore],[-ldld])])]) if test "${ac_cv_my_have_shl_load}" = "yes"; then AC_DEFINE(HAVE_DL_SHL_LOAD, 1, [Define if you have the shl_load API]) ac_cv_have_plugins=yes @@ -708,7 +778,7 @@ fi # Whatever style if test "${ac_cv_have_plugins}" = "no"; then AC_CHECK_LIB(dld, dld_link, - [VLC_ADD_LIBS([libvlc],[-ldld]) + [VLC_ADD_LIBS([libvlccore],[-ldld]) AC_DEFINE(HAVE_DL_DLD_LINK, 1, [Define if you have the GNU dld library]) ac_cv_have_plugins=yes]) fi @@ -717,7 +787,7 @@ fi if test "${ac_cv_have_plugins}" = "no"; then if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"; then AC_CHECK_LIB(kernel32, main, - [VLC_ADD_LIBS([libvlc],[-lkernel32]) + [VLC_ADD_LIBS([libvlccore],[-lkernel32]) AC_DEFINE(HAVE_DL_WINDOWS, 1, [Define if you have Windows' LoadLibrary]) ac_cv_have_plugins=yes]) fi @@ -747,10 +817,10 @@ if test "${ac_cv_have_plugins}" = "no"; then ac_cv_my_have_dlopen=yes, AC_CHECK_LIB(dl, dlopen, ac_cv_my_have_dlopen=yes - VLC_ADD_LIBS([libvlc realaudio realvideo],[-ldl]), + VLC_ADD_LIBS([libvlccore realaudio realvideo],[-ldl]), AC_CHECK_LIB(svld, dlopen, ac_cv_my_have_dlopen=yes - VLC_ADD_LIBS([libvlc],[-lsvld])))) + VLC_ADD_LIBS([libvlccore],[-lsvld])))) if test "${ac_cv_my_have_dlopen}" = "yes"; then AC_DEFINE(HAVE_DL_DLOPEN, 1, [Define if you have the dlopen API]) ac_cv_have_plugins=yes @@ -774,22 +844,22 @@ if test "${THREAD_LIB}" = "error"; then THREAD_LIB="" fi -VLC_ADD_LIBS([libvlc plugin],[${THREAD_LIB}]) +VLC_ADD_LIBS([libvlccore libvlc plugin],[${THREAD_LIB}]) AC_CHECK_LIB(rt, clock_nanosleep, [ - VLC_ADD_LIBS([libvlc],[-lrt]) + VLC_ADD_LIBS([libvlccore],[-lrt]) AC_DEFINE(HAVE_CLOCK_NANOSLEEP, 1, [Define to 1 if you have clock_nanosleep.]) ], [ dnl HP/UX port - AC_CHECK_LIB(rt,sem_init, [VLC_ADD_LIBS([libvlc],[-lrt])]) + AC_CHECK_LIB(rt,sem_init, [VLC_ADD_LIBS([libvlccore],[-lrt])]) ]) have_nanosleep=false AC_CHECK_FUNCS(nanosleep,have_nanosleep=:,[ AC_CHECK_LIB(rt,nanosleep, - [VLC_ADD_LIBS([libvlc],[-lrt]) have_nanosleep=:], + [VLC_ADD_LIBS([libvlccore],[-lrt]) have_nanosleep=:], [AC_CHECK_LIB(posix4,nanosleep, - [VLC_ADD_LIBS([libvlc],[-lposix4]) have_nanosleep=:])] + [VLC_ADD_LIBS([libvlccore],[-lposix4]) have_nanosleep=:])] ) ]) if ${have_nanosleep}; then @@ -806,11 +876,12 @@ AC_EGREP_HEADER(strncasecmp,strings.h,[ AC_MSG_RESULT(no)]) 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 xlocale.h) +AC_CHECK_HEADERS(getopt.h strings.h locale.h) +AC_CHECK_HEADERS(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 sys/eventfd.h]) AC_CHECK_HEADERS([net/if.h], [], [], [ + #include #include ]) if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then @@ -911,8 +982,8 @@ then AC_DEFINE( HAVE_HAL, 1, [Define if you have the HAL library] ) VLC_ADD_PLUGIN([hal]) VLC_ADD_PLUGIN([probe_hal]) - VLC_ADD_LIBS([libvlc hal probe_hal],[$HAL_LIBS]) - VLC_ADD_CFLAGS([libvlc hal probe_hal],[$HAL_CFLAGS])], + VLC_ADD_LIBS([libvlccore hal probe_hal],[$HAL_LIBS]) + VLC_ADD_CFLAGS([libvlccore hal probe_hal],[$HAL_CFLAGS])], [AC_MSG_WARN([libhal >= 0.5.0 was not found. Install libhal-dev ?])] ) fi @@ -942,8 +1013,8 @@ then dnl api stable dbus PKG_CHECK_MODULES(DBUS, dbus-1 >= 1.0.0, [ AC_DEFINE( HAVE_DBUS, 1, [Define if you have the D-BUS library] ) - VLC_ADD_LIBS([screensaver libvlc],[$DBUS_LIBS]) - VLC_ADD_CFLAGS([screensaver libvlc],[$DBUS_CFLAGS]) + VLC_ADD_LIBS([screensaver libvlccore],[$DBUS_LIBS]) + VLC_ADD_CFLAGS([screensaver libvlccore],[$DBUS_CFLAGS]) dnl Check for dbus control interface AC_ARG_ENABLE(dbus-control, [ --disable-dbus-control D-BUS control interface (default enabled)]) if test "${enable_dbus_control}" != "no" @@ -1459,7 +1530,7 @@ AS_IF([test "${enable_altivec}" = "yes"], [ VLC_ADD_CFLAGS([motionaltivec],[${ac_cv_altivec_inline}]) VLC_ADD_CFLAGS([memcpyaltivec],[${ac_cv_altivec_inline}]) VLC_ADD_CFLAGS([i420_yuy2_altivec],[${ac_cv_altivec_inline}]) - VLC_ADD_CFLAGS([libvlc],[${ac_cv_altivec_inline}]) + VLC_ADD_CFLAGS([libvlccore],[${ac_cv_altivec_inline}]) ]) VLC_ADD_PLUGIN([memcpyaltivec]) VLC_ADD_PLUGIN([i420_yuy2_altivec]) @@ -1521,7 +1592,7 @@ dnl - Others: test should fail AS_IF([test "${ac_cv_c_altivec}" != "no"], [ AC_DEFINE(CAN_COMPILE_C_ALTIVEC, 1, [Define to 1 if C AltiVec extensions are available.]) - VLC_ADD_CFLAGS([libvlc],[${ac_cv_c_altivec}]) + VLC_ADD_CFLAGS([libvlccore],[${ac_cv_c_altivec}]) VLC_ADD_CFLAGS([idctaltivec motionaltivec],[${ac_cv_c_altivec}]) VLC_ADD_CFLAGS([i420_yuy2_altivec memcpyaltivec deinterlace],[${ac_cv_c_altivec} ${ac_cv_c_altivec_abi}]) VLC_ADD_PLUGIN([memcpyaltivec]) @@ -1535,7 +1606,7 @@ dnl - Others: test should fail LDFLAGS="${LDFLAGS_save}" ]) AS_IF([test "${ac_cv_ld_altivec}" != "no"], [ - VLC_ADD_LDFLAGS([libvlc idctaltivec motionaltivec memcpyaltivec],[-Wl,-framework,vecLib]) + VLC_ADD_LDFLAGS([libvlccore idctaltivec motionaltivec memcpyaltivec],[-Wl,-framework,vecLib]) ]) ]) @@ -1802,7 +1873,7 @@ dnl AC_ARG_ENABLE(taglib, [ --disable-taglib Taglib support (default enabled) ]) AS_IF([test "${enable_taglib}" != "no"],[ - PKG_CHECK_MODULES(TAGLIB, taglib, + PKG_CHECK_MODULES(TAGLIB, taglib >= 1.5, [ AC_DEFINE( HAVE_TAGLIB, 1, [Define if you have taglib plugin built] ) VLC_ADD_PLUGIN([taglib]) VLC_ADD_LIBS([taglib],[$TAGLIB_LIBS -lz]) @@ -1955,28 +2026,28 @@ AC_ARG_ENABLE(dc1394, [ --enable-dc1394 dc1394 access module (default disabled)]) if test "${enable_dc1394}" = "yes" then - AC_CHECK_HEADERS(libraw1394/raw1394.h, [ - AC_CHECK_LIB( raw1394, raw1394_get_nodecount, [ - AC_CHECK_HEADERS(libdc1394/dc1394_control.h , [ -dnl AC_CHECK_LIB( dc1394_control, dc1394_setup_capture, [ - VLC_ADD_PLUGIN([dc1394]) - VLC_ADD_LIBS([dc1394],[-ldc1394_control -lraw1394]) -dnl ], -dnl [ -dnl AC_MSG_ERROR([libdc1394 is mandatory for the dc1394 input module. try --disable-dc1394 or install this library]) -dnl ]) - ], - [ - AC_MSG_ERROR([libdc1394 is mandatory for the dc1394 input module. try --disable-dc1394 or install this library]) - ]) + dnl + dnl Check for libraw1394 + dnl + PKG_CHECK_MODULES(LIBRAW1394, libraw1394 >= 2.0.1, + [ + VLC_ADD_LIBS([dc1394],[`${PKG_CONFIG} --libs libraw1394`]) + VLC_ADD_CPPFLAGS([dc1394],[`${PKG_CONFIG} --cflags libraw1394`]) ], + [AC_MSG_ERROR([Couldn't find libraw1394 >= 2.0.1, install libraw1394 development package])] + ) + + dnl + dnl Check for libdc1394 + dnl + PKG_CHECK_MODULES(LIBDC1394, libdc1394-2 >= 2.0.2, [ - AC_MSG_ERROR([libraw1394 is mandatory for the dc1394 input module. try --disable-dc1394 or install this library]) - ]) - ], - [ - AC_MSG_ERROR([libraw1394 is mandatory for the dc1394 input module. try --disable-dc1394 or install this library]) - ]) + VLC_ADD_PLUGIN([dc1394]) + VLC_ADD_LIBS([dc1394],[`${PKG_CONFIG} --libs libdc1394-2`]) + VLC_ADD_CPPFLAGS([access_dv],[`${PKG_CONFIG} --cflags libdc1394-2`]) + ], + [AC_MSG_ERROR([Couldn't find libdc1394 >= 2.0.2, install libdc1394 development package])] + ) fi dnl @@ -1986,120 +2057,28 @@ AC_ARG_ENABLE(dv, [ --enable-dv dv input module (default disabled)]) if test "${enable_dv}" = "yes" then - AC_ARG_WITH(dv-raw1394, - [ --with-dv-raw1394=PATH libraw1394 headers and libraries]) - AC_ARG_WITH(dv-raw1394-tree, - [ --with-dv-raw1394=PATH libraw1394 tree for static linking]) - - if test -z "${with_dv_raw1394}" -a "${with_dv_raw1394}" != "" - then - AC_MSG_CHECKING(for raw1394 headers in ${with_dv_raw1394}) - if test -f ${with_dv_raw1394}/include/libraw1394/raw1394.h - then - dnl Use ${with_dv_raw1394}/include/libraw1394/raw1394.h - AC_MSG_RESULT(yes) - VLC_ADD_PLUGIN([access_dv]) - VLC_ADD_LIBS([access_dv],[-L${with_dv_raw1394}/lib -lraw1394 -lpthread]) - VLC_ADD_CPPFLAGS([access_dv],[-I${with_dv_raw1394}/include]) - else - dnl No libraw1394 could be found, sorry - AC_MSG_RESULT(no) - AC_MSG_ERROR([cannot find ${with_dv_raw1394}/include/libraw1394/raw1394.h]) - fi - else - AC_CHECK_HEADERS(libraw1394/raw1394.h, - [ VLC_ADD_PLUGIN([access_dv]) - VLC_ADD_LIBS([access_dv],[-lraw1394 -lavc1394]) - ],[ - if test -n "${enable_dv}" - then - AC_MSG_ERROR([cannot find libraw1394 headers]) - fi - ]) - fi - - dnl Check for static linking of libraw1394 - if test -z "${with_dv_raw1394_tree}" -a "${with_dv_raw1394_tree}" != "" - then - AC_MSG_CHECKING(for libraw1394.a in ${with_dv_raw1394_tree}) - real_dv_raw1394_tree="`cd ${with_dv_raw1394_tree} 2>/dev/null && pwd`" - if test -z "${real_dv_raw1394_tree}" - then - dnl The given directory can't be found - AC_MSG_RESULT(no) - AC_MSG_ERROR([cannot cd to ${real_dv_raw1394_tree}]) - fi - if test -f "${real_dv_raw1394_tree}/src/.libs/libraw1394.a" - then - dnl Use a custom libraw1394 - AC_MSG_RESULT(${real_dv_raw1394_tree}/src/.libs/libraw1394.a) - 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 - dnl The given libraw1394 wasn't built - AC_MSG_RESULT(no) - AC_MSG_ERROR([cannot find ${real_dv_raw1394_tree}/src/.libs/libraw1394.a, make sure you compiled libraw1394 in ${with_dv_raw1394_tree}]) - fi - fi + dnl + dnl Check for libraw1394 + dnl + PKG_CHECK_MODULES(LIBRAW1394, libraw1394 >= 2.0.1, + [ + VLC_ADD_LIBS([access_dv],[`${PKG_CONFIG} --libs libraw1394`]) + VLC_ADD_CPPFLAGS([access_dv],[`${PKG_CONFIG} --cflags libraw1394`]) + ], + [AC_MSG_ERROR([Couldn't find libraw1394 >= 2.0.1, install libraw1394 development package])] + ) dnl dnl Check for libavc1394 dnl - - AC_ARG_WITH(dv-avc1394, - [ --with-dv-avc1394=PATH libavc1394 headers and libraries]) - AC_ARG_WITH(dv-avc1394-tree, - [ --with-dv-avc1394=PATH libavc1394 tree for static linking]) - - if test -z "${with_dv_avc1394}" -a "${with_dv_avc1394}" != "" - then - AC_MSG_CHECKING(for avc1394 headers in ${with_dv_avc1394}) - if test -f ${with_dv_avc1394}/include/libavc1394/avc1394.h - then - dnl Use ${with_dv_avc1394}/include/libavc1394/avc1394.h - AC_MSG_RESULT(yes) - VLC_ADD_LIBS([access_dv],[-L${with_dv_avc1394}/lib -lavc1394 -lrom1394 -lpthread]) - VLC_ADD_CPPFLAGS([access_dv],[-I${with_avc1394}/include]) - else - dnl No libavc1394 could be found, sorry - AC_MSG_RESULT(no) - AC_MSG_ERROR([cannot find ${with_dv_avc1394}/include/libavc1394/avc1394.h]) - fi - else - AC_CHECK_HEADERS(libavc1394/avc1394.h, - [ VLC_ADD_LIBS([access_dv],[-lavc1394 -lrom1394 -lpthread]) - ],[ - if test -n "${enable_dv}" - then - AC_MSG_ERROR([cannot find libavc1394 headers]) - fi - ]) - fi - - dnl Check for static linking of libavc1394 - if test -z "${with_dv_avc1394_tree}" -a "${with_dv_avc1394_tree}" != "" - then - AC_MSG_CHECKING(for libavc1394.a in ${with_dv_avc1394_tree}) - real_dv_avc1394_tree="`cd ${with_dv_avc1394_tree} 2>/dev/null && pwd`" - if test -z "${real_dv_avc1394_tree}" - then - dnl The given directory can't be found - AC_MSG_RESULT(no) - AC_MSG_ERROR([cannot cd to ${real_dv_avc1394_tree}]) - fi - if test -f "${real_dv_avc1394_tree}/src/.libs/libavc1394.a" - then - dnl Use a custom libavc1394 - AC_MSG_RESULT(${real_dv_avc1394_tree}/src/.libs/libavc1394.a) - VLC_ADD_LIBS([access_dv],[-L${real_dv_avc1394_tree}/src/.libs -lavc1394 -lrom1394 -lpthread]) - VLC_ADD_CPPFLAGS([access_dv],[-I${real_dv_avc1394_tree}]) - else - dnl The given libavc1394 wasn't built - AC_MSG_RESULT(no) - AC_MSG_ERROR([cannot find ${real_dv_avc1394_tree}/src/.libs/libavc1394.a, make sure you compiled libavc1394 in ${with_dv_avc1394_tree}]) - fi - fi + PKG_CHECK_MODULES(LIBAVC1394, libavc1394 >= 0.5.3, + [ + VLC_ADD_PLUGIN([access_dv]) + VLC_ADD_LIBS([access_dv],[`${PKG_CONFIG} --libs libavc1394`]) + VLC_ADD_CPPFLAGS([access_dv],[`${PKG_CONFIG} --cflags libavc1394`]) + ], + [AC_MSG_ERROR([Couldn't find libavc1394 >= 0.5.1, install libavc1394 development package])] + ) fi dnl @@ -3047,7 +3026,7 @@ then VLC_ADD_CFLAGS([avcodec],[$AVCODEC_CFLAGS]) VLC_RESTORE_FLAGS ],[ - AC_MSG_FAILURE([Could not find libavcodec or libavutil. Use --disable-avcodec to ignore this error.]) + AC_MSG_ERROR([Could not find libavcodec or libavutil. Use --disable-avcodec to ignore this error.]) ]) fi @@ -3071,7 +3050,7 @@ then VLC_ADD_CFLAGS([avformat],[$AVFORMAT_CFLAGS]) VLC_RESTORE_FLAGS ],[ - AC_MSG_FAILURE([Could not find libavformat or libavutil. Use --disable-avformat to ignore this error.]) + AC_MSG_ERROR([Could not find libavformat or libavutil. Use --disable-avformat to ignore this error.]) ]) fi @@ -3095,49 +3074,7 @@ then VLC_ADD_CFLAGS([swscale],[$SWSCALE_CFLAGS]) VLC_RESTORE_FLAGS ],[ - AC_MSG_WARN([Could not find libswscale. Trying to enable imgresample.]) - enable_imgresample=yes - ]) -fi - -dnl -dnl avcodec (deprecated API) image scaling and conversion plugin -dnl -dnl This is build as a seperate module than the avcodec one to prevent -dnl stupid run time library load errors from disabling most codecs -dnl from VLC. -dnl - -AC_ARG_ENABLE(imgresample, - AS_HELP_STRING([--enable-imgresample],[deprecated libavcodec image scaling - and conversion (default disabled)])) -if test "${enable_imgresample}" = "yes" -then - PKG_CHECK_MODULES(IMGRESAMPLE,[libavcodec], - [ - VLC_SAVE_FLAGS - CPPFLAGS="${CPPFLAGS} ${IMGRESAMPLE_CFLAGS}" - CFLAGS="${CFLAGS} ${IMGRESAMPLE_CFLAGS}" - AC_CHECK_HEADERS(libavcodec/avcodec.h ffmpeg/avcodec.h) - AC_CHECK_LIB(avcodec,img_resample, - [ - VLC_ADD_PLUGIN([imgresample]) - VLC_ADD_LIBS([imgresample],[$IMGRESAMPLE_LIBS]) - VLC_ADD_CFLAGS([imgresample],[$IMGRESAMPLE_CFLAGS]) - ],[ - AC_MSG_WARN([Could not find img_resample in libavcodec.]) - if test "${enable_swscale}" != "no" - then - AC_MSG_FAILURE([swscale (and its fallback module imgresample) support will be missing. Use --disable-swscale to ignore this error. (This basically means that you will be missing any good software scaling module and some video chroma converters.)]) - fi - # That sed hack to add -rpath is kind of ugly but at least it fixes - # detection when linking against a shared libavcodec with - # a libavutil not in one of your ld.so.conf directories. - # (for example a local install) - ],[${IMGRESAMPLE_LIBS} `echo ${IMGRESAMPLE_LIBS}|sed s'/-L/-Wl,-rpath=/'`]) - VLC_RESTORE_FLAGS - ],[ - AC_MSG_WARN([Could not find libavcodec.]) + AC_MSG_ERROR([Could not find libswscale. Use --disable-swscale to ignore this error. Proper software scaling and some video chroma conversion will be missing.]) ]) fi @@ -3160,7 +3097,7 @@ then VLC_ADD_CFLAGS([postproc],[$POSTPROC_CFLAGS]) VLC_RESTORE_FLAGS ],[ - AC_MSG_ERROR([Could not find libpostproc.]) + AC_MSG_ERROR([Could not find libpostproc. Use --disable-postproc to ignore this error.]) ]) fi @@ -3262,10 +3199,8 @@ dnl dnl QuickTime plugin dnl AC_ARG_ENABLE(quicktime, - [ --enable-quicktime QuickTime module (default enabled on MacOS X)]) -if test "${enable_quicktime}" != "no" && - (test "${SYS}" = "darwin" || test "${enable_quicktime}" = "yes") -then + [ --enable-quicktime QuickTime module (deprecated)]) +if test "${enable_quicktime}" = "yes"; then if test "${SYS}" = "mingw32"; then VLC_ADD_PLUGIN([quicktime]) else @@ -3687,7 +3622,7 @@ 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], [ + PKG_CHECK_MODULES(SCHROEDINGER,[schroedinger-1.0 >= 1.0.6], [ VLC_ADD_PLUGIN([schroedinger]) VLC_ADD_CFLAGS([schroedinger],[$SCHROEDINGER_CFLAGS]) VLC_ADD_LIBS([schroedinger],[$SCHROEDINGER_LIBS]) ], [ @@ -3760,6 +3695,17 @@ if test "${enable_x264}" != "no"; then PKG_CHECK_MODULES(X264,x264, [ VLC_ADD_PLUGIN([x264]) VLC_ADD_LDFLAGS([x264],[${X264_LIBS}]) + + AC_CACHE_CHECK([if linker supports -Bsymbolic], + [ac_cv_ld_bsymbolic], + [LDFLAGS="${LDFLAGS_vlc} -Wl,-Bsymbolic" + AC_TRY_LINK([],,ac_cv_ld_bsymbolic=yes,ac_cv_ld_bsymbolic=no) + LDFLAGS="${LDFLAGS_save}" + ]) + AS_IF([test "${ac_cv_ld_bsymbolic}" != "no"], [ + VLC_ADD_LDFLAGS([x264],[-Wl,-Bsymbolic]) + ]) + VLC_ADD_CFLAGS([x264],[${X264_CFLAGS}]) if echo ${X264_LIBS} |grep -q 'pthreadGC2'; then VLC_ADD_CFLAGS([x264], [-DPTW32_STATIC_LIB]) @@ -3954,7 +3900,7 @@ dnl AC_PATH_XTRA() AC_ARG_ENABLE(x11, - [ --enable-x11 X11 support (default enabled)],, [ + [ --enable-x11 X11 support with Xlib (default enabled)],, [ AS_IF([test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"], [ enable_x11="yes" ], [ @@ -4042,14 +3988,16 @@ dnl XVMC module dnl (disabled by default except on win32) dnl AC_ARG_ENABLE(xvmc, - [ --enable-xvmc XVMC support (default disabled)],, [ + [ --enable-xvmc XvMC support (default disabled)],, [ enable_xvmc="no" ]) AS_IF([test "${enable_xvmc}" != "no"], [ AC_CHECK_HEADERS(X11/extensions/vldXvMC.h, [ VLC_ADD_PLUGIN([xvmc]) - VLC_ADD_LIBS([xvmc],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lXvMCW -lXv -lXinerama]) - VLC_ADD_CPPFLAGS([xvmc],[${X_CFLAGS}]) + VLC_ADD_LIBS([xvmc],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lXvMCW -lXv ${LIBMPEG2_LIBS}]) + VLC_ADD_CPPFLAGS([xvmc],[${X_CFLAGS} ${LIBMPEG2_CFLAGS}]) + ], [ + AC_MSG_ERROR([XVideo-MotionCompensation extension not found!]) ]) ]) @@ -4068,12 +4016,14 @@ AS_IF([test "$enable_xinerama" != "no"], [ VLC_ADD_LIBS([xvideo],[-lXinerama_pic]) VLC_ADD_LIBS([x11],[-lXinerama_pic]) VLC_ADD_LIBS([glx],[-lXinerama_pic]) + VLC_ADD_LIBS([xvmc],[-lXinerama_pic]) ac_cv_have_xinerama="yes" ],[ AC_CHECK_LIB(Xinerama, XineramaQueryExtension,[ VLC_ADD_LIBS([xvideo],[-lXinerama]) VLC_ADD_LIBS([x11],[-lXinerama]) VLC_ADD_LIBS([glx],[-lXinerama]) + VLC_ADD_LIBS([xvmc],[-lXinerama]) ac_cv_have_xinerama="yes" ]) ]) @@ -4119,27 +4069,45 @@ CPPFLAGS="${CPPFLAGS_save}" dnl dnl X C Bindings modules -dnl (work in progress) dnl AC_ARG_ENABLE(xcb, - [ --enable-xcb X C Bindings work-in-progress (default disabled)], - ,[enable_xcb="no"]) + [ --enable-xcb X11 support with XCB (default enabled)],, [ + AS_IF([test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"], [ + enable_xcb="yes" + ], [ + enable_xcb="no" + ]) +]) + AS_IF([test "${enable_xcb}" != "no"], [ PKG_CHECK_MODULES(XPROTO, [xproto]) dnl libxcb PKG_CHECK_MODULES(XCB, [xcb]) PKG_CHECK_MODULES(XCB_SHM, [xcb-shm]) + VLC_ADD_PLUGIN([xcb]) + + AS_IF([test "${enable_xvideo}" != "no"], [ + PKG_CHECK_MODULES(XCB_XV, [xcb-xv >= 1.1.90.1], [ + VLC_ADD_PLUGIN([xcb_xv]) + ], [ + PKG_CHECK_MODULES(XCB_XV, [xcb-xv], [ + VLC_ADD_PLUGIN([xcb_xv]) + VLC_ADD_CFLAGS([xcb_xv], [-DXCB_XV_OLD]) + ]) + ]) + ]) dnl xcb-utils - PKG_CHECK_MODULES(XCB_AUX, [xcb-aux]) - PKG_CHECK_MODULES(XCB_IMAGE, [xcb-image]) PKG_CHECK_MODULES(XCB_KEYSYMS, [xcb-keysyms]) - VLC_ADD_PLUGIN([xcb]) VLC_ADD_PLUGIN([xcb_window]) + VLC_ADD_PLUGIN([globalhotkeys]) + VLC_ADD_CFLAGS([globalhotkeys],[${XCB_KEYSYMS_CFLAGS} ${XCB_CFLAGS}] ) + VLC_ADD_LIBS([globalhotkeys],[${XCB_KEYSYMS_LIBS} ${XCB_LIBS}] ) ]) + dnl dnl OpenGL module dnl (enabled by default except on beos) @@ -4310,41 +4278,17 @@ dnl libxml2 module dnl AC_ARG_ENABLE(libxml2, [ --enable-libxml2 libxml2 support (default enabled)]) -if test "${enable_libxml2}" != "no" -then - XML2_PATH="${PATH}" - AC_ARG_WITH(xml2-config-path, - [ --with-xml2-config-path=PATH xml2-config path (default search in \$PATH)], - [ if test "${with_xml2_config_path}" != "no"; then - XML2_PATH="${with_xml2_config_path}:${PATH}" - fi ]) - AC_PATH_PROG(XML2_CONFIG, xml2-config, no, ${XML2_PATH}) - if test "${XML2_CONFIG}" != "no"; then - VLC_ADD_CPPFLAGS([xml],[`${XML2_CONFIG} --cflags`]) - VLC_ADD_LIBS([xml],[`${XML2_CONFIG} --libs`]) - dnl depends on the xmlTextReader extension - CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_xml}" - LDFLAGS="${LDFLAGS_save} ${LIBS_xml}" - AC_CHECK_LIB(xml2,xmlTextReaderConstName,[ - AC_EGREP_HEADER(xmlTextReaderConstName,libxml/xmlreader.h,[ - VLC_ADD_PLUGIN([xml]) ],[ - AC_MSG_WARN([libxml2 missing the xmlTextReader extension, you should update your version]) - if test "${enable_xml2}" = "yes"; then - AC_MSG_ERROR([libxml2 missing the xmlTextReader extension]) - fi]) - ],[ - AC_MSG_WARN([libxml2 missing the xmlTextReader extension, you should update your version]) - if test "${enable_xml2}" = "yes"; then - AC_MSG_ERROR([libxml2 missing the xmlTextReader extension]) - fi]) - LDFLAGS="${LDFLAGS_save}" - CPPFLAGS="${CPPFLAGS_save}" - else - if test "${enable_xml2}" = "yes"; then - AC_MSG_ERROR([Could not find libxml2]) - fi - fi -fi +AS_IF([test "${enable_libxml2}" != "no"], [ + PKG_CHECK_MODULES([XML2], [libxml-2.0 >= 2.5], [ + VLC_ADD_CPPFLAGS([xml],[${XML2_CFLAGS}]) + VLC_ADD_LIBS([xml],[${XML2_LIBS}]) + VLC_ADD_PLUGIN([xml]) + ], [ + AS_IF([test "x${enable_xml2}" != "x"], [ + AC_MSG_ERROR([Could not find libxml version 2.5 or higher]) + ]) + ]) +]) dnl dnl SVG module @@ -4691,10 +4635,10 @@ if test "${enable_oss}" != "no" && (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" || test "${enable_oss}" = "yes") then - AC_CHECK_HEADERS(soundcard.h sys/soundcard.h machine/soundcard.h, [ + AC_CHECK_HEADERS([soundcard.h sys/soundcard.h], [ VLC_ADD_PLUGIN([oss]) VLC_ADD_PLUGIN([access_oss]) - AC_CHECK_LIB(ossaudio,main,VLC_ADD_LIBS([oss],[-lossaudio])) + AC_CHECK_LIB(ossaudio,main,[VLC_ADD_LIBS([oss],[-lossaudio])]) ]) fi @@ -4705,7 +4649,7 @@ AC_ARG_ENABLE(pulse, [ --enable-pulse Pulseaudio support (default enabled)]) if test "${enable_pulse}" != "no" then - PKG_CHECK_MODULES(PULSE, libpulse >= 0.9.8, + PKG_CHECK_MODULES(PULSE, libpulse >= 0.9.11, [ VLC_ADD_PLUGIN([pulse]) VLC_ADD_CFLAGS([pulse],[${PULSE_CFLAGS}]) VLC_ADD_LDFLAGS([pulse],[${PULSE_LIBS}])], @@ -5004,7 +4948,7 @@ then VLC_ADD_LIBS([maemo],[${HILDON_LIBS}]) VLC_ADD_PLUGIN([maemo]) VLC_ADD_PLUGIN([swscale_maemo]) - AC_DEFINE([BUILD_MAEMO], 1, [Define if you're using Maemo interfaces]) + AC_DEFINE([BUILD_MAEMO], 1, [Define if you are using Maemo interfaces]) ALIASES="${ALIASES} mvlc" ], [ AS_IF([test "${enable_maemo}" = "yes"],[ @@ -5023,7 +4967,7 @@ AC_ARG_ENABLE(qt4, AS_IF([test "${SYS}" = "darwin"], [enable_qt4=no]) ]) AS_IF([test "${enable_qt4}" != "no"], [ - PKG_CHECK_MODULES(QT4, [QtCore QtGui >= 4.3.0], [ + PKG_CHECK_MODULES(QT4, [QtCore QtGui >= 4.4.0], [ VLC_ADD_PLUGIN([qt4]) AC_DEFINE([HAVE_QT4], 1, [Define to 1 if you have QT4 library.]) ALIASES="${ALIASES} qvlc" @@ -5121,9 +5065,9 @@ then 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,CoreServices]) 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]) @@ -5206,19 +5150,12 @@ AC_ARG_ENABLE(xosd, [ --enable-xosd xosd interface support (default disabled)]) if test "${enable_xosd}" = "yes" then - AC_CHECK_HEADER(xosd.h, have_xosd="true", have_xosd="false") - AC_CHECK_LIB(xosd,xosd_set_offset, - AC_DEFINE(HAVE_XOSD_VERSION_1, 1, Define if is 1.0.x), - AC_CHECK_LIB(xosd,xosd_set_horizontal_offset, - AC_DEFINE(HAVE_XOSD_VERSION_2, 1, Define if is 2.0.x), - AC_TRY_COMPILE([#include ], - [xosd_init("foo","bar",12,XOSD_top,2,12,42);],, - AC_DEFINE(HAVE_XOSD_VERSION_0, 1, Define if is pre-1.0.0)))) - if test "${have_xosd}" = "true" - then - VLC_ADD_PLUGIN([xosd]) - VLC_ADD_LIBS([xosd],[-lxosd]) - fi + AC_CHECK_HEADERS(xosd.h, + AC_CHECK_LIB(xosd, xosd_set_horizontal_offset, [ + VLC_ADD_PLUGIN([xosd]) + VLC_ADD_LIBS([xosd],[-lxosd]) + ]) + ) fi dnl @@ -5360,18 +5297,6 @@ then fi fi -dnl -dnl Global hotkeys using XCB -dnl -PKG_CHECK_MODULES(XCB, [xcb], [ - PKG_CHECK_MODULES(XCB_KEYSYMS, [xcb-keysyms], [ - PKG_CHECK_MODULES(XPROTO, [xproto], [ - VLC_ADD_PLUGIN([globalhotkeys]) - VLC_ADD_CFLAGS([globalhotkeys],[${XCB_KEYSYMS_CFLAGS} ${XCB_CFLAGS}] ) - VLC_ADD_LIBS([globalhotkeys],[${XCB_KEYSYMS_LIBS} ${XCB_LIBS}] ) - ], [ AC_MSG_WARN( [Xproto not found] ) ]) - ], [ AC_MSG_WARN( [XCB keysyms was not found]) ]) -], [ AC_MSG_WARN( [XCB was not found]) ]) AC_ARG_WITH(,[Misc options:]) @@ -5397,7 +5322,7 @@ AC_ARG_ENABLE(gnutls, [ --enable-gnutls gnutls TLS/SSL support (default enabled)]) AS_IF([test "${enable_gnutls}" != "no"], [ - PKG_CHECK_MODULES(GNUTLS, [gnutls >= 1.3.3], [ + PKG_CHECK_MODULES(GNUTLS, [gnutls >= 1.7.4], [ VLC_ADD_PLUGIN([gnutls]) VLC_ADD_CFLAGS([gnutls], [$GNUTLS_CFLAGS]) AS_IF([test "${SYS}" = "mingw32"], [ @@ -5443,7 +5368,7 @@ AC_MSG_CHECKING([whether to enable RAOP plugin]) AS_IF([test "${have_libgcrypt}" = "yes"], [ AC_MSG_RESULT(yes) VLC_ADD_PLUGIN([stream_out_raop]) - VLC_ADD_LIBS([stream_out_raop], [${LIBGCRYPT_LIBS}]) + VLC_ADD_LIBS([stream_out_raop], [${LIBGCRYPT_LIBS} -lgpg-error]) VLC_ADD_CFLAGS([stream_out_raop], [${LIBGCRYPT_CFLAGS}]) ], [ AC_MSG_RESULT(no) @@ -5462,8 +5387,8 @@ then then AC_MSG_ERROR([libgcrypt is required for update checking system]) fi - VLC_ADD_LIBS([libvlc], [${LIBGCRYPT_LIBS}]) - VLC_ADD_CFLAGS([libvlc], [${LIBGCRYPT_CFLAGS}]) + VLC_ADD_LIBS([libvlccore], [${LIBGCRYPT_LIBS}]) + VLC_ADD_CFLAGS([libvlccore], [${LIBGCRYPT_CFLAGS}]) AC_DEFINE([UPDATE_CHECK], 1, [Define if you want to use the VLC update mechanism]) fi @@ -5936,6 +5861,7 @@ AC_CONFIG_FILES([ share/Makefile share/vlc_win32_rc.rc share/libvlc_win32_rc.rc + compat/Makefile src/Makefile src/test/Makefile bin/Makefile