X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=configure.ac;h=13dffe3be3f3f91a47473a8d999656cfc50c9c23;hb=7fb7f638de5f8f57e19b3e9c56904e775f93ef05;hp=21b09f1c522a5899dc0fee87a0e37a95aca1bb4e;hpb=c318005be1b5281fe79f14d0e9d164e3da3424a0;p=vlc diff --git a/configure.ac b/configure.ac index 21b09f1c52..13dffe3be3 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 ]) ],[ @@ -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, :) @@ -448,6 +470,25 @@ AM_ICONV VLC_ADD_CFLAGS([libvlc],[${INCICONV}]) VLC_ADD_LIBS([libvlc],[${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 < 14) +# 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.14 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 @@ -498,6 +539,24 @@ 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]) + 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.]) +]) + dnl Plugin compilation stuff VLC_LIBRARY_SUFFIX @@ -509,12 +568,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]) @@ -806,8 +864,8 @@ 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], [], [], [ @@ -867,9 +925,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 +945,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]) @@ -1017,26 +1072,34 @@ else fi fi -AC_CACHE_CHECK([if \$CC accepts -O3], - [ac_cv_c_o3], - [CFLAGS="${CFLAGS_save} -O3" - AC_TRY_COMPILE([],,ac_cv_c_o3=yes, ac_cv_c_o3=no)]) -if test "${ac_cv_c_o3}" != "no" -a "x${enable_debug}" = "xno"; then - CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -O3" +AC_CACHE_CHECK([if \$CC accepts -O4], + [ac_cv_c_o4], + [CFLAGS="${CFLAGS_save} -O4" + AC_TRY_COMPILE([],,ac_cv_c_o4=yes, ac_cv_c_o4=no)]) +if test "${ac_cv_c_o4}" != "no" -a "x${enable_debug}" = "xno"; then + CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -O4" else - AC_CACHE_CHECK([if \$CC accepts -O2], - [ac_cv_c_o2], - [CFLAGS="${CFLAGS_save} -O2" - AC_TRY_COMPILE([],,ac_cv_c_o2=yes, ac_cv_c_o2=no)]) - if test "${ac_cv_c_o2}" != "no"; then - CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -O2" + AC_CACHE_CHECK([if \$CC accepts -O3], + [ac_cv_c_o3], + [CFLAGS="${CFLAGS_save} -O3" + AC_TRY_COMPILE([],,ac_cv_c_o3=yes, ac_cv_c_o3=no)]) + if test "${ac_cv_c_o3}" != "no" -a "x${enable_debug}" = "xno"; then + CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -O3" else - AC_CACHE_CHECK([if \$CC accepts -O], - [ac_cv_c_o], - [CFLAGS="${CFLAGS_save} -O" - AC_TRY_COMPILE([],,ac_cv_c_o=yes, ac_cv_c_o=no)]) - if test "${ac_cv_c_o}" != "no"; then - CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -O" + AC_CACHE_CHECK([if \$CC accepts -O2], + [ac_cv_c_o2], + [CFLAGS="${CFLAGS_save} -O2" + AC_TRY_COMPILE([],,ac_cv_c_o2=yes, ac_cv_c_o2=no)]) + if test "${ac_cv_c_o2}" != "no"; then + CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -O2" + else + AC_CACHE_CHECK([if \$CC accepts -O], + [ac_cv_c_o], + [CFLAGS="${CFLAGS_save} -O" + AC_TRY_COMPILE([],,ac_cv_c_o=yes, ac_cv_c_o=no)]) + if test "${ac_cv_c_o}" != "no"; then + CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -O" + fi fi fi fi @@ -1797,7 +1860,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]) @@ -2711,14 +2774,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 @@ -3265,10 +3320,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 @@ -3690,7 +3743,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]) ], [ @@ -3763,6 +3816,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]) @@ -3951,9 +4015,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,[ @@ -3966,45 +4061,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,[ @@ -4013,20 +4080,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) @@ -4037,37 +4102,33 @@ 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}]) ]) - 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,[ @@ -4087,15 +4148,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]) @@ -4121,9 +4178,34 @@ 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]) + + 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]) +]) dnl dnl OpenGL module @@ -4261,8 +4343,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" @@ -4297,41 +4377,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 @@ -5108,9 +5164,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]) @@ -5347,6 +5403,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:]) @@ -5464,14 +5532,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:]) @@ -5794,18 +5862,9 @@ AS_IF([test "${ac_cv_have_plugins}" = "no"], [ plugin_support=no ]) -AS_IF([test "${enable_shared}" = "no"], [ - plugin_support=no -]) - AS_IF([test "${plugin_support}" != "no"], [ - AC_DEFINE(HAVE_DYNAMIC_PLUGINS, 1, Define if we have support for dynamic plugins) + AC_DEFINE(HAVE_DYNAMIC_PLUGINS, 1, [Define if dynamic plugins are supported]) ]) -AM_CONDITIONAL(HAVE_PLUGINS, [test "${plugin_support}" != "no"]) - -dnl Temporary(?) hack for plugins/builtins transition -dnl VLC_ADD_PLUGIN([${BUILTINS}]) -dnl BUILTINS="" dnl dnl Pic and shared libvlc stuff @@ -5833,6 +5892,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" @@ -5853,7 +5913,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}" @@ -5900,7 +5960,6 @@ AC_CONFIG_FILES([ extras/package/macosx/Resources/English.lproj/InfoPlist.strings extras/package/macosx/plugin/Info.plist extras/package/macosx/plugin/InstallerInfo.plist - extras/package/macosx/plugin/English.lproj/InfoPlist.strings Makefile projects/activex/Makefile projects/activex/axvlc.inf @@ -5916,9 +5975,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