X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=configure.ac;h=2393011836c03c94dc70db6f74cc582e207e1639;hb=a9e5a068853be523efda8ae2573e3184cf1bd3cc;hp=867edcf214c44a171650174a2f4ccb1dd5f0844f;hpb=8df8bef6d2ad3b0204140a447db08622765bfb3c;p=vlc diff --git a/configure.ac b/configure.ac index 867edcf214..2393011836 100644 --- a/configure.ac +++ b/configure.ac @@ -2,11 +2,11 @@ dnl Autoconf settings for vlc AC_COPYRIGHT([Copyright 2002-2009 the VideoLAN team]) -AC_INIT(vlc, 1.0.0-git) +AC_INIT(vlc, 1.0.0-pre2) VERSION_MAJOR="1" VERSION_MINOR="0" VERSION_REVISION="0" -VERSION_EXTRA="-git" +VERSION_EXTRA="-pre2" PKGDIR="vlc" AC_SUBST(PKGDIR) @@ -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,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)])) @@ -264,26 +270,6 @@ case "${host_os}" in 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 +282,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 +311,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 +361,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 +369,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 +391,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 +461,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"], [ + 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 +539,29 @@ 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.]) + ]) +]) + dnl Plugin compilation stuff VLC_LIBRARY_SUFFIX @@ -509,12 +573,11 @@ 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 gmtime_r lldiv localtime_r rewind strcasecmp strcasestr strdup strlcpy strncasecmp strndup strnlen strsep strtof strtoll vasprintf swab]) +AC_CHECK_FUNCS([stricmp strnicmp]) dnl Check for Linux system calls AC_CHECK_FUNCS([vmsplice]) @@ -541,7 +604,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 +701,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 +714,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,7 +725,7 @@ 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]) @@ -698,7 +761,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 +771,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 +780,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 +810,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 +837,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 +869,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 @@ -867,9 +931,6 @@ if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then AC_CHECK_HEADERS(pthread.h) fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" -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, @@ -890,8 +951,8 @@ then MINIZIP_LIBS="-lminizip -lz" ], [ have_minizip=no - MINIZIP_CFLAGS="-I../../../@top_srcdir@//libs/unzip" - MINIZIP_LIBS="../../../libs/unzip/libunzip.la" + MINIZIP_CFLAGS="-I\\\${top_srcdir}/libs/unzip" + MINIZIP_LIBS="\\\${top_builddir}/libs/unzip/libunzip.la" ]) ]) VLC_ADD_CPPFLAGS([skins2],[$MINIZIP_CFLAGS]) @@ -914,8 +975,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 @@ -945,8 +1006,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" @@ -1462,7 +1523,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]) @@ -1524,7 +1585,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]) @@ -1538,7 +1599,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]) ]) ]) @@ -1805,7 +1866,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]) @@ -2719,14 +2780,6 @@ if test "${enable_screen}" != "no"; then VLC_ADD_PLUGIN([screen]) VLC_ADD_CXXFLAGS([screen],[]) VLC_ADD_LIBS([screen],[-lbe]) - else - CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}" - AC_CHECK_HEADERS(X11/Xlib.h, [ - VLC_ADD_PLUGIN([screen]) - VLC_ADD_LIBS([screen],[${X_LIBS} ${X_PRE_LIBS} -lX11]) - VLC_ADD_CPPFLAGS([screen],[${X_CFLAGS}]) - ]) - CPPFLAGS="${CPPFLAGS_save}" fi fi @@ -3058,7 +3111,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 @@ -3082,7 +3135,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 @@ -3106,49 +3159,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 @@ -3171,7 +3182,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 @@ -3273,10 +3284,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 @@ -3698,7 +3707,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]) ], [ @@ -3771,6 +3780,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]) @@ -3959,9 +3979,40 @@ dnl AC_ARG_WITH(,[Video plugins:]) +dnl +dnl Xlib +dnl + +AC_PATH_XTRA() +AC_ARG_ENABLE(x11, + [ --enable-x11 X11 support (default enabled)],, [ + AS_IF([test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"], [ + enable_x11="yes" + ], [ + enable_x11="no" + ]) +]) + +CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}" + +AS_IF([test "${enable_x11}" != "no"], [ + AC_CHECK_HEADERS(X11/Xlib.h, [ + VLC_ADD_PLUGIN([x11_screen]) + VLC_ADD_CPPFLAGS([x11_screen],[${X_CFLAGS}]) + VLC_ADD_LIBS([x11_screen],[${X_LIBS} ${X_PRE_LIBS} -lX11]) + + VLC_ADD_PLUGIN([panoramix]) + VLC_ADD_LIBS([panoramix],[${X_LIBS} ${X_PRE_LIBS} -lX11]) + VLC_ADD_CPPFLAGS([panoramix],[${X_CFLAGS}]) + + VLC_ADD_PLUGIN([x11]) + VLC_ADD_LIBS([x11],[${X_LIBS} ${X_PRE_LIBS} -lX11]) + VLC_ADD_CPPFLAGS([x11],[${X_CFLAGS}]) + + AC_CHECK_LIB(Xext, XShmAttach, [VLC_ADD_LIBS([x11],[-lXext])]) + ]) + dnl Check for DPMS -if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then - CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}" AC_CHECK_HEADERS(X11/extensions/dpms.h, [ AC_MSG_CHECKING(for DPMSInfo in X11/extensions/dpms.h) AC_EGREP_HEADER(DPMSInfo,X11/extensions/dpms.h,[ @@ -3974,45 +4025,17 @@ if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then ],,[ #include ]) - CPPFLAGS="${CPPFLAGS_save}" -fi - -dnl -dnl X11 module -dnl (enabled by default except on win32) -dnl -AC_ARG_ENABLE(x11, - [ --enable-x11 X11 support (default enabled)]) -if test "${enable_x11}" != "no" && - (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" || - test "${enable_x11}" = "yes"); then - CPPFLAGS="${CPPFLAGS_save} ${X_FLAGS}" - AC_CHECK_HEADERS(X11/Xlib.h, [ - VLC_ADD_PLUGIN([panoramix]) - VLC_ADD_LIBS([panoramix],[${X_LIBS} ${X_PRE_LIBS} -lX11]) - VLC_ADD_CPPFLAGS([panoramix],[${X_CFLAGS}]) - VLC_ADD_PLUGIN([globalhotkeys]) - VLC_ADD_LIBS([globalhotkeys],[${X_LIBS} ${X_PRE_LIBS} -lX11]) - VLC_ADD_CPPFLAGS([globalhotkeys],[${X_CFLAGS}]) - AC_CHECK_LIB(Xext, XShmAttach, [ - VLC_ADD_PLUGIN([x11]) - VLC_ADD_LIBS([x11],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext]) - VLC_ADD_CPPFLAGS([x11],[${X_CFLAGS}]) - ]) - ]) - CPPFLAGS="${CPPFLAGS_save}" -fi +]) dnl dnl XVideo module dnl (enabled by default except on win32) dnl AC_ARG_ENABLE(xvideo, - [ --enable-xvideo XVideo support (default enabled)]) -if test "${enable_xvideo}" != "no" && - (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" || - test "${enable_xvideo}" = "yes"); then - CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}" + [ --enable-xvideo XVideo support (default enabled)],, [ + enable_xvideo="$enable_x11" +]) +AS_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,[ @@ -4021,20 +4044,18 @@ if test "${enable_xvideo}" != "no" && VLC_ADD_LIBS([xvideo],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lXv]) ]) CFLAGS="${CFLAGS_save}" - ] - CPPFLAGS="${CPPFLAGS_save}") -fi + ]) +]) dnl dnl GLX module dnl (enabled by default except on win32) dnl AC_ARG_ENABLE(glx, - [ --enable-glx X11 OpenGL (GLX) support (default enabled)]) -if test "${enable_glx}" != "no" && - (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" || - test "${enable_glx}" = "yes"); then - CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}" + [ --enable-glx X11 OpenGL (GLX) support (default enabled)],, [ + enable_glx="$enable_x11" +]) +AS_IF([test "${enable_glx}" != "no"], [ AC_CHECK_HEADERS(X11/Xlib.h GL/glu.h GL/glx.h) AC_COMPILE_IFELSE(AC_LANG_PROGRAM( [[#if !defined(HAVE_X11_XLIB_H) || !defined(HAVE_GL_GLU_H) || !defined(HAVE_GL_GLX_H) @@ -4045,37 +4066,35 @@ if test "${enable_glx}" != "no" && VLC_ADD_LIBS([glx],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lGL -lGLU]) VLC_ADD_CPPFLAGS([glx],[${X_CFLAGS}]) ],[AC_MSG_ERROR([Please install GL development package. Alternatively you can also configure with --disable-glx.])]) - CPPFLAGS="${CPPFLAGS_save}" -fi +]) dnl dnl XVMC module dnl (disabled by default except on win32) dnl AC_ARG_ENABLE(xvmc, - [ --enable-xvmc XVMC support (default disabled)]) -if test "${enable_xvmc}" = "yes" && - (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" || - test "${enable_xvmc}" = "yes"); then - CPPFLAGS="${CPPFLAGS_save} ${X_FLAGS}" + [ --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!]) ]) - CPPFLAGS="${CPPFLAGS_save}" -fi +]) 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 + [ --enable-xinerama Xinerama support (default enabled)],, [ + enable_xinerama="$enable_xvideo" +]) +AS_IF([test "$enable_xinerama" != "no"], [ ac_cv_have_xinerama="no" - CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}" CFLAGS="${CFLAGS_save} ${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext" AC_CHECK_HEADERS(X11/extensions/Xinerama.h,[ AC_CHECK_LIB(Xinerama_pic, XineramaQueryExtension,[ @@ -4095,15 +4114,11 @@ if test "${enable_xvideo}" != "no" && test "${enable_xinerama}" != "no" && if test "${ac_cv_have_xinerama}" = "yes"; then AC_DEFINE(HAVE_XINERAMA, 1, [Define this if you have libXinerama installed]) fi - CFLAGS="${CFLAGS_save}" - CPPFLAGS="${CPPFLAGS_save}" dnl dnl Check for XF86VidMode extension dnl ac_cv_have_xf86vidmode="no" - CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}" - CFLAGS="${CFLAGS_save} ${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext" AC_CHECK_HEADERS(X11/extensions/xf86vmode.h,[ AC_CHECK_LIB(Xxf86vm_pic, XF86VidModeGetViewPort,[ VLC_ADD_LIBS([xvideo],[-lXxf86vm_pic]) @@ -4129,9 +4144,39 @@ dnl [AC_DEFINE(HAVE_XF86VIDMODE, 1, [Define this if you have libXxf86vm installed]) ]) CFLAGS="${CFLAGS_save}" - CPPFLAGS="${CPPFLAGS_save}" +]) -fi +dnl End of Xlib tests +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"]) +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]) + + AS_IF([test "${enable_xvideo}" != "no"], [ + PKG_CHECK_MODULES(XCB_XV, [xcb-xv], [ + VLC_ADD_PLUGIN([xcb_xv]) + ]) + ]) + + dnl xcb-utils + PKG_CHECK_MODULES(XCB_AUX, [xcb-aux]) + PKG_CHECK_MODULES(XCB_KEYSYMS, [xcb-keysyms]) + + VLC_ADD_PLUGIN([xcb]) + VLC_ADD_PLUGIN([xcb_window]) +]) dnl dnl OpenGL module @@ -4269,8 +4314,6 @@ then VLC_ADD_LIBS([freetype skins2],[${FREETYPE_LIBS}]) if test "${SYS}" = "mingw32"; then VLC_ADD_LIBS([freetype skins2],[-lxml2]) - fi - if test "${SYS}" = "mingw32"; then VLC_ADD_LIBS([freetype],[-liconv]) fi if test "${enable_fontconfig}" != "no" @@ -4305,41 +4348,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 @@ -5116,9 +5135,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]) @@ -5201,19 +5220,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 @@ -5355,6 +5367,18 @@ 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:]) @@ -5426,7 +5450,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) @@ -5445,8 +5469,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 @@ -5472,14 +5496,14 @@ AC_ARG_ENABLE(loader, AM_CONDITIONAL(LOADER, [test "${enable_loader}" = "yes"]) AS_IF([test "${enable_loader}" = "yes"], [ VLC_ADD_PLUGIN([dmo]) - VLC_ADD_CPPFLAGS([dmo],[-I../../../@top_srcdir@/libs/loader]) - VLC_ADD_LIBS([dmo],[../../../libs/loader/libloader.la -lpthread]) - VLC_ADD_CPPFLAGS([quicktime],[-I../../@top_srcdir@/libs/loader]) - VLC_ADD_LIBS([quicktime],[../../libs/loader/libloader.la -lpthread]) - VLC_ADD_CPPFLAGS([realaudio],[-I../../@top_srcdir@/libs/loader -DLOADER]) - VLC_ADD_LIBS([realaudio],[../../libs/loader/libloader.la]) - VLC_ADD_CPPFLAGS([realvideo],[-I../../@top_srcdir@/libs/loader -DLOADER]) - VLC_ADD_LIBS([realvideo],[../../libs/loader/libloader.la]) + VLC_ADD_CPPFLAGS([dmo],[-I\\\${top_srcdir}/libs/loader]) + VLC_ADD_LIBS([dmo],[\\\${top_builddir}/libs/loader/libloader.la -lpthread]) + VLC_ADD_CPPFLAGS([quicktime],[-I\\\${top_srcdir}/libs/loader]) + VLC_ADD_LIBS([quicktime],[\\\${top_builddir}/libs/loader/libloader.la -lpthread]) + VLC_ADD_CPPFLAGS([realaudio],[-I\\\${top_srcdir}/libs/loader -DLOADER]) + VLC_ADD_LIBS([realaudio],[\\\${top_builddir}/libs/loader/libloader.la]) + VLC_ADD_CPPFLAGS([realvideo],[-I\\\${top_srcdir}/libs/loader -DLOADER]) + VLC_ADD_LIBS([realvideo],[\\\${top_builddir}/libs/loader/libloader.la]) ]) AC_ARG_WITH(,[Components:]) @@ -5832,6 +5856,7 @@ AC_SUBST(VERSION_MESSAGE) AC_SUBST(VERSION_MAJOR) AC_SUBST(VERSION_MINOR) AC_SUBST(VERSION_REVISION) +AC_SUBST(VERSION_EXTRA) AC_SUBST(COPYRIGHT_YEARS) AC_DEFINE_UNQUOTED(VLC_COMPILE_BY, "`whoami`", [user who ran configure]) if test "${build_os}" = "cygwin" @@ -5852,7 +5877,7 @@ AC_SUBST(VERSION_EXTRA_RC) dnl dnl Handle substvars that use $(top_srcdir) dnl -VLC_CONFIG="top_builddir=\"\$(top_builddir)\" \$(top_builddir)/vlc-config" +VLC_CONFIG="top_srcdir=\"\$(top_srcdir)\" top_builddir=\"\$(top_builddir)\" \$(top_builddir)/vlc-config" AC_SUBST(VLC_CONFIG) CPPFLAGS_save="-I\$(top_srcdir)/include -I\$(top_builddir)/include ${CPPFLAGS_save}" @@ -5914,9 +5939,11 @@ AC_CONFIG_FILES([ projects/activex/axvlc_rc.rc projects/mozilla/npvlc_rc.rc projects/mozilla/vlc.r + projects/mozilla/install.js share/Makefile share/vlc_win32_rc.rc share/libvlc_win32_rc.rc + compat/Makefile src/Makefile src/test/Makefile bin/Makefile