X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=configure.ac;h=eb5e29b51eb00fa37a585741b0cbd64c5c0ca196;hb=d72e2884abe6bd30b5b2b408f309970bb74de4c3;hp=e25c92aaf26ec3658f5fc251e1629d46c56ff660;hpb=7087fab24f23a1375f1cd63be82695aa83db9ea8;p=vlc diff --git a/configure.ac b/configure.ac index e25c92aaf2..eb5e29b51e 100644 --- a/configure.ac +++ b/configure.ac @@ -33,7 +33,6 @@ dnl If you want to use it, you definitely know what you are doing, so dnl you can specify "--disable-maintainer-mode". But if you want the default dnl automake behavior, you've likely never heard of maintainer mode, so we dnl can't expect you to enable it manually. - AS_IF([test "x${enable_maintainer_mode}" != "xno"], [enable_maintainer_mode="yes"]) AM_MAINTAINER_MODE @@ -88,13 +87,31 @@ AC_DEFUN([EXTEND_HELP_STRING], [m4_divert_once([HELP_ENABLE], [$1])]) dnl Allow binary package maintainer to pass a custom string to avoid dnl cache problem AC_ARG_WITH(binary-version, - AS_HELP_STRING([--with-binary-version=STRING], - [To avoid plugins cache problem between binary version]),[],[]) + AS_HELP_STRING([--with-binary-version=STRING], + [To avoid plugins cache problem between binary version]),[],[]) AS_IF([test -n "${with_binary_version}"],[ - AC_DEFINE_UNQUOTED([DISTRO_VERSION],["${with_binary_version}"], - [Binary specific version]) - ]) + AC_DEFINE_UNQUOTED([DISTRO_VERSION],["${with_binary_version}"], + [Binary specific version]) +]) + +dnl Check how we are asked to build +AS_IF([test "${enable_shared}" = "no"], [ + AC_MSG_ERROR([VLC is based on plugins. Shared libraries cannot be disabled.]) +]) + +AC_ARG_ENABLE(static-modules, + [ --enable-static-modules Allow module to be linked statically. This produces a non working vlc.]) +AS_IF([test "${enable_static_modules}" = yes], [ + enable_shared="no" + enable_static="yes" + VLC_DEFAULT_PLUGIN_TYPE="builtin" + AS_IF([test "${enable_vlc}" != "no"], + [AC_MSG_WARN([Building modules as static. VLC will not work.])]) +], [ + VLC_DEFAULT_PLUGIN_TYPE="plugin" +]) +AC_SUBST(VLC_DEFAULT_PLUGIN_TYPE) dnl dnl Check for the contrib directory @@ -136,25 +153,16 @@ AS_IF([test "${with_contrib}" != "no"],[ 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="${CONTRIB_DIR}/gecko-sdk" - fi - if test -z "$with_cyberlink_tree"; then - with_cyberlink_tree="${CONTRIB_DIR}/src/clinkcc" - fi - if test "${SYS}" = "darwin"; then export LD_LIBRARY_PATH="${CONTRIB_DIR}/lib:$LD_LIBRARY_PATH" export DYLD_LIBRARY_PATH="${CONTRIB_DIR}/lib:$DYLD_LIBRARY_PATH" - elif test "${SYS}" = "beos"; then - export LIBRARY_PATH="${CONTRIB_DIR}/lib:$LIBRARY_PATH" - export BELIBRARIES="${CONTRIB_DIR}/lib:$BELIBRARIES" fi ],[ AC_MSG_RESULT([no]) CONTRIB_DIR="" ]) ]) + dnl dnl Set default values dnl @@ -163,6 +171,7 @@ LDFLAGS_vlc="${LDFLAGS}" dnl dnl Check the operating system dnl +HAVE_WIN64="0" case "${host_os}" in "") SYS=unknown @@ -256,8 +265,6 @@ case "${host_os}" in echo " Assuming --enable-realrtsp" enable_libass="yes" echo " Assuming --enable-libass" - enable_asademux="yes" - echo " Assuming --enable-asademux" enable_skins2="no" echo " Assuming --disable-skins2" @@ -321,7 +328,7 @@ case "${host_os}" in # add ws2_32 for closesocket, select, recv VLC_ADD_LIBS([libvlccore],[-lws2_32 -lnetapi32 -lwinmm]) VLC_ADD_LDFLAGS([vlc],[-mwindows]) - VLC_ADD_LIBS([activex mozilla win32text],[-lgdi32]) + VLC_ADD_LIBS([win32text],[-lgdi32]) VLC_ADD_LIBS([cdda vcdx sdl_image aout_sdl vout_sdl],[-lwinmm]) VLC_ADD_LIBS([access_http access_mms access_udp access_tcp access_ftp access_rtmp access_output_udp access_output_shout access_output_rtmp sap oldhttp stream_out_standard stream_out_rtp stream_out_raop vod_rtsp access_realrtsp rtp oldrc netsync gnutls growl_udp flac ts audioscrobbler lua remoteosd zvbi audiobargraph_a netsync],[-lws2_32]) VLC_ADD_LIBS([filesystem], [-lshlwapi]) @@ -331,11 +338,26 @@ case "${host_os}" in AC_ARG_ENABLE(peflags, [ --enable-peflags peflags use (default enabled on Windows)]) if test "${enable_peflags}" != "no" ; then - AC_CHECK_TOOL(PEFLAGS, peflags, :) + AC_PATH_TOOL(PEFLAGS, peflags, :) fi AC_CHECK_PROGS(U2D, [unix2dos todos], unix2dos) ac_default_prefix="`pwd`/_win32" DESTDIR="`pwd`/_win32/" + + dnl + dnl NSIS Installer prefix and WIN64 + dnl + case "${host}" in + amd64*|i686-w64*|x86_64*) + HAVE_WIN64="1" + PROGRAMFILES="PROGRAMFILES64" + ;; + *) + PROGRAMFILES="PROGRAMFILES" + ;; + esac + AC_SUBST(PROGRAMFILES) + fi if test "${SYS}" = "mingwce"; then # add ws2 for closesocket, select, recv @@ -344,7 +366,7 @@ case "${host_os}" in AC_CHECK_PROGS(U2D, [unix2dos todos], unix2dos) ac_default_prefix="`pwd`/_wince" DESTDIR="`pwd`/_wince/" - fi + fi ;; *nto*) SYS=nto @@ -355,30 +377,17 @@ case "${host_os}" in hpux*) SYS=hpux ;; - beos) - SYS=beos - 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 libvlccore logger],[-lbe]) - VLC_ADD_LIBS([dvdnav dvdread],[-ldl]) - VLC_ADD_LIBS([filesystem],[-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([filesystem access_ftp access_mms access_output_udp netsync sap libvlccore growl_udp],[-lbind -lsocket]) - else - VLC_ADD_LIBS([filesystem access_ftp access_mms access_output_udp netsync sap libvlccore growl_udp],[-lnet]) - fi + symbian*) + SYS=symbian ;; *) SYS="${host_os}" ;; esac -AM_CONDITIONAL(HAVE_BEOS, test "${SYS}" = "beos") AM_CONDITIONAL(HAVE_DARWIN, test "${SYS}" = "darwin") AM_CONDITIONAL(HAVE_LINUX, [test "${SYS}" = "linux"]) AM_CONDITIONAL(HAVE_WIN32, test "${SYS}" = "mingw32") +AM_CONDITIONAL(HAVE_WIN64, test "${HAVE_WIN64}" = "1") AM_CONDITIONAL(HAVE_WINCE, test "${SYS}" = "mingwce") AM_CONDITIONAL(USE_PEFLAGS, [test "${enable_peflags}" = "yes"]) @@ -419,10 +428,6 @@ m4_defun([AC_DEPLIBS_CHECK_METHOD],[]) lt_cv_deplibs_check_method=pass_all -AS_IF([test "${enable_shared}" = "no"], [ - AC_MSG_ERROR([VLC is based on plugins. Shared libraries cannot be disabled.]) -]) - dnl dnl Gettext stuff dnl @@ -443,22 +448,23 @@ AS_IF([test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"], [ AC_PREPROC_IFELSE([ #include <_mingw.h> #if (__MINGW32_MAJOR_VERSION == 3) && (__MINGW32_MINOR_VERSION < 15) +#ifndef __MINGW64_VERSION_MAJOR # error Attempting to use mingw-runtime with broken vsnprintf support #endif -], [ +#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 +if test "${SYS}" = "mingw32" ; then AC_CHECK_LIB(mingwex,opendir, AC_CHECK_LIB(mingw32,opendir,, [VLC_ADD_LIBS([libvlccore],[-lmingwex])]) @@ -466,8 +472,7 @@ then fi dnl Check for fnative-struct or mms-bitfields support for mingw32 -if test "${SYS}" = "mingw32" -then +if test "${SYS}" = "mingw32" ; then AC_CACHE_CHECK([if \$CC accepts -mms-bitfields], [ac_cv_c_mms_bitfields], [CFLAGS="${CFLAGS_save} -mms-bitfields" @@ -490,9 +495,8 @@ then fi dnl Check for fvtable-thunks support for mingw32 -if test "${SYS}" = "mingw32" -a "${CXX}" != "" -then -AC_LANG_PUSH(C++) +if test "${SYS}" = "mingw32" -a "${CXX}" != "" ; then + AC_LANG_PUSH(C++) AC_CACHE_CHECK([if \$CXX accepts -fvtable-thunks], [ac_cv_cxx_fvtable_thunks], [CXXFLAGS="${CXXFLAGS_save} -Wall -Werror -fvtable-thunks" @@ -503,7 +507,7 @@ AC_LANG_PUSH(C++) fi CXXFLAGS_save="${CXXFLAGS_save} ${CXXFLAGS_mingw32_special}"; CXXFLAGS="${CXXFLAGS_save}" -AC_LANG_POP(C++) + AC_LANG_POP(C++) fi dnl @@ -522,11 +526,10 @@ AC_PREPROC_IFELSE([ AC_MSG_RESULT([not present]) ], [ AC_MSG_RESULT([found]) - AS_IF([test "x${enable_nls}" != "xno" || test "x${enable_mozilla}" != "xno"], [ + AS_IF([test "x${enable_nls}" != "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.]) +glibc run-time. Alternatively, build with --disable-nls.]) ], [ AC_DEFINE(DISABLE_BUGGY_GLIBC_CHECK, 1, [Disables runtime check for buggy glibc.]) ]) @@ -543,19 +546,20 @@ dnl Check for system libs needed need_libc=false dnl Check for usual libc functions -AC_CHECK_FUNCS([daemon fcntl fdopendir fstatvfs fork getenv getpwuid_r gettimeofday isatty lstat memalign openat posix_fadvise posix_madvise posix_memalign setenv setlocale stricmp strnicmp tdestroy uselocale]) -AC_REPLACE_FUNCS([asprintf atof atoll getcwd getdelim getpid gmtime_r lldiv localtime_r nrand48 rewind strcasecmp strcasestr strdup strlcpy strncasecmp strndup strnlen strsep strtof strtok_r strtoll swab vasprintf]) +AC_CHECK_FUNCS([daemon fcntl fdopendir fstatvfs fork getenv getpwuid_r gettimeofday isatty lstat memalign mmap openat posix_fadvise posix_madvise posix_memalign setenv setlocale stricmp strnicmp uselocale]) +AC_REPLACE_FUNCS([asprintf atof atoll getcwd getdelim getpid gmtime_r lldiv localtime_r nrand48 rewind strcasecmp strcasestr strdup strlcpy strncasecmp strndup strnlen strsep strtof strtok_r strtoll swab tdestroy vasprintf]) AC_CHECK_FUNCS(fdatasync,, [AC_DEFINE(fdatasync, fsync, [Alias fdatasync() to fsync() if missing.]) ]) +# Windows CE doesn't have strcoll() +AC_FUNC_STRCOLL + dnl Check for non-standard system calls AC_CHECK_FUNCS([accept4 dup3 eventfd vmsplice sched_getaffinity]) AH_BOTTOM([#include ]) -AC_CHECK_FUNCS(mmap, [VLC_ADD_PLUGIN([access_mmap])]) - SOCKET_LIBS="" AC_CHECK_FUNCS(connect,,[ AC_CHECK_LIB(socket,connect,[ @@ -716,14 +720,6 @@ if test "${ac_cv_have_plugins}" = "no"; then fi fi -# BeOS style -if test "${ac_cv_have_plugins}" = "no"; then - AC_CHECK_HEADERS(image.h) - AC_CHECK_FUNCS(load_add_on, - [AC_DEFINE(HAVE_DL_BEOS, 1, [Define if you have the BeOS dl]) - ac_cv_have_plugins=yes]) -fi - # Only test for dlopen() if the others didn't work LIBDL="" if test "${ac_cv_have_plugins}" = "no" -o "${SYS}" = "darwin"; then @@ -751,43 +747,43 @@ fi AC_SUBST(LIBDL) if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then -dnl Check for pthreads - borrowed from XMMS -THREAD_LIB=error -if test "${THREAD_LIB}" = "error"; then - AC_CHECK_LIB(pthread,main,THREAD_LIB="-lpthread") -fi -if test "${THREAD_LIB}" = "error"; then - AC_CHECK_LIB(pthreads,main,THREAD_LIB="-lpthreads") -fi -if test "${THREAD_LIB}" = "error"; then - AC_CHECK_LIB(c_r,main,THREAD_LIB="-lc_r") -fi -if test "${THREAD_LIB}" = "error"; then - AC_CHECK_FUNCS(pthread_mutex_lock) - THREAD_LIB="" -fi + dnl Check for pthreads - borrowed from XMMS + THREAD_LIB=error + if test "${THREAD_LIB}" = "error"; then + AC_CHECK_LIB(pthread,main,THREAD_LIB="-lpthread") + fi + if test "${THREAD_LIB}" = "error"; then + AC_CHECK_LIB(pthreads,main,THREAD_LIB="-lpthreads") + fi + if test "${THREAD_LIB}" = "error"; then + AC_CHECK_LIB(c_r,main,THREAD_LIB="-lc_r") + fi + if test "${THREAD_LIB}" = "error"; then + AC_CHECK_FUNCS(pthread_mutex_lock) + THREAD_LIB="" + fi -VLC_ADD_LIBS([libvlccore libvlc vlc plugin],[${THREAD_LIB}]) + VLC_ADD_LIBS([libvlccore libvlc vlc plugin],[${THREAD_LIB}]) -AC_CHECK_LIB(rt, clock_nanosleep, [ - 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([libvlccore],[-lrt])]) -]) + AC_CHECK_LIB(rt, clock_nanosleep, [ + 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([libvlccore],[-lrt])]) + ]) -have_nanosleep=false -AC_CHECK_FUNCS(nanosleep,have_nanosleep=:,[ - AC_CHECK_LIB(rt,nanosleep, - [VLC_ADD_LIBS([libvlccore],[-lrt]) have_nanosleep=:], - [AC_CHECK_LIB(posix4,nanosleep, - [VLC_ADD_LIBS([libvlccore],[-lposix4]) have_nanosleep=:])] - ) -]) -if ${have_nanosleep}; then - AC_DEFINE(HAVE_NANOSLEEP, 1, [Define if nanosleep is available.]) -fi + have_nanosleep=false + AC_CHECK_FUNCS(nanosleep,have_nanosleep=:,[ + AC_CHECK_LIB(rt,nanosleep, + [VLC_ADD_LIBS([libvlccore],[-lrt]) have_nanosleep=:], + [AC_CHECK_LIB(posix4,nanosleep, + [VLC_ADD_LIBS([libvlccore],[-lposix4]) have_nanosleep=:])] + ) + ]) + if ${have_nanosleep}; then + AC_DEFINE(HAVE_NANOSLEEP, 1, [Define if nanosleep is available.]) + fi fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" dnl Check for misc headers @@ -799,6 +795,7 @@ AC_EGREP_HEADER(strncasecmp,strings.h,[ AC_MSG_RESULT(no)]) dnl Check for headers +AC_CHECK_HEADERS([search.h]) AC_CHECK_HEADERS(getopt.h strings.h locale.h xlocale.h) AC_CHECK_HEADERS(fcntl.h sys/time.h sys/ioctl.h sys/stat.h) AC_CHECK_HEADERS([arpa/inet.h netinet/in.h netinet/udplite.h sys/eventfd.h]) @@ -811,13 +808,14 @@ AC_CHECK_HEADERS([sys/mount.h], [], [], [ #include ]) + if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then -AC_CHECK_HEADERS(machine/param.h sys/shm.h) -AC_CHECK_HEADERS([linux/version.h linux/dccp.h scsi/scsi.h linux/magic.h]) -AC_CHECK_HEADERS(syslog.h) + AC_CHECK_HEADERS(machine/param.h sys/shm.h) + AC_CHECK_HEADERS([linux/version.h linux/dccp.h scsi/scsi.h linux/magic.h]) + AC_CHECK_HEADERS(syslog.h) fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" -dnl LP64 adn LLP64 architectures had better define ssize_t by themselves... +dnl LP64 and LLP64 architectures had better define ssize_t by themselves... AH_TEMPLATE(ssize_t, [Define to `int' if does not define.]) AC_CHECK_TYPE(ssize_t,, [ AC_DEFINE(ssize_t, int) @@ -833,14 +831,14 @@ fi dnl Mac OS X and other OSes don't have declaration for nanosleep if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then -AC_MSG_CHECKING(for nanosleep in time.h) -AC_EGREP_HEADER(nanosleep,time.h,[ - AC_MSG_RESULT(yes) - AC_DEFINE(HAVE_DECL_NANOSLEEP, 1, - Define if defines nanosleep.) -],[ - AC_MSG_RESULT(no) -]) + AC_MSG_CHECKING(for nanosleep in time.h) + AC_EGREP_HEADER(nanosleep,time.h,[ + AC_MSG_RESULT(yes) + AC_DEFINE(HAVE_DECL_NANOSLEEP, 1, + Define if defines nanosleep.) + ],[ + AC_MSG_RESULT(no) + ]) fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" dnl Make sure we have timespecs @@ -855,7 +853,7 @@ AC_EGREP_HEADER(timespec,sys/time.h,[ dnl Check for threads library if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then -AC_CHECK_HEADERS(pthread.h) + AC_CHECK_HEADERS(pthread.h) fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" dnl It seems that autoconf detects pkg-config only during the first @@ -863,25 +861,25 @@ dnl PKG_CHECK_MODULES from configure.ac - which makes sense. But in our case, dnl it is nested within a conditional block, so it was not working right. dnl Make PKG_CONFIG_PATH precious so that it appears in the help and get saved AC_ARG_VAR(PKG_CONFIG_PATH, - [Paths where to find .pc not at the default location]) + [Paths where to find .pc not at the default location]) PKG_PROG_PKG_CONFIG() dnl On some OS we need static linking - AS_IF([test -n "${PKG_CONFIG}" ],[ - AS_IF([test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce" -o "${SYS}" = "darwin" ],[ - PKG_CONFIG="${PKG_CONFIG} --static" - ]) - ]) +AS_IF([test -n "${PKG_CONFIG}" ],[ + AS_IF([test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce" -o "${SYS}" = "darwin" ],[ + PKG_CONFIG="${PKG_CONFIG} --static" + ]) +]) dnl dnl Check for zlib.h and -lz along with system -lminizip if available -dnl +dnl AC_CHECK_HEADERS(zlib.h, [ have_zlib=yes ], [ have_zlib=no ]) AM_CONDITIONAL(HAVE_ZLIB, [ test "${have_zlib}" = "yes" ]) if test "${have_zlib}" = "yes" then - VLC_ADD_LIBS([access_http gme mp4 skins2 sap mkv unzip zip],[-lz]) + VLC_ADD_LIBS([access_http mp4 skins2 sap mkv unzip zip],[-lz]) PKG_CHECK_MODULES([MINIZIP], [minizip] , [ have_minizip=yes ], [ AC_CHECK_HEADERS([unzip.h], [ have_minizip=yes @@ -1036,16 +1034,12 @@ if test "${ac_cv_c_fast_math}" != "no"; then fi dnl Check for -funroll-loops -dnl Disabled on BeOS because BeOS' gcc is buggy and may crash with it -if test "${SYS}" != "beos" -then - AC_CACHE_CHECK([if \$CC accepts -funroll-loops], - [ac_cv_c_unroll_loops], - [CFLAGS="${CFLAGS_save} -funroll-loops" - AC_TRY_COMPILE([],,ac_cv_c_unroll_loops=yes, ac_cv_c_unroll_loops=no)]) - if test "${ac_cv_c_unroll_loops}" != "no"; then - CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -funroll-loops" - fi +AC_CACHE_CHECK([if \$CC accepts -funroll-loops], + [ac_cv_c_unroll_loops], + [CFLAGS="${CFLAGS_save} -funroll-loops" + AC_TRY_COMPILE([],,ac_cv_c_unroll_loops=yes, ac_cv_c_unroll_loops=no)]) +if test "${ac_cv_c_unroll_loops}" != "no"; then + CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -funroll-loops" fi dnl Check for -fomit-frame-pointer @@ -1741,47 +1735,49 @@ if test "${enable_live555}" != "no"; then CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_live555}" AC_CHECK_HEADERS(liveMedia_version.hh, [ - AC_MSG_CHECKING(for liveMedia version >= 1214895600 ) + AC_MSG_CHECKING(for liveMedia version >= 1275091200 ) AC_EGREP_CPP(yes, [#include #ifdef LIVEMEDIA_LIBRARY_VERSION_INT - #if LIVEMEDIA_LIBRARY_VERSION_INT < 1214895600 + #if LIVEMEDIA_LIBRARY_VERSION_INT < 1275091200 yes #endif #endif], [AC_MSG_RESULT([no]) - AC_MSG_ERROR([Your version of liveMedia is too old: you may get a more recent one from http://www.live555.com/liveMedia. -lternatively you can use --disable-live555 to disable the liveMedia plugin.]) - ],[ - AC_MSG_RESULT([yes]) - ]) - ]) - other_libs="-lgroupsock -lBasicUsageEnvironment -lUsageEnvironment" - other_libs_pic="-lgroupsock_pic -lBasicUsageEnvironment_pic -lUsageEnvironment_pic" - if test "${SYS}" = "mingw32"; then - # add ws2_32 for closesocket, select, recv - other_libs="$other_libs -lws2_32" - elif test "${SYS}" = "mingwce"; then - # add ws2 for closesocket, select, recv - other_libs="$other_libs -lws2" - fi - dnl We need to check for pic because live555 don't provide shared libs - dnl and we want to build a plugins so we need -fPIC on some arch. - AC_CHECK_HEADERS(liveMedia.hh, [ - VLC_ADD_CXXFLAGS([live555], [${CPPFLAGS_live555}]) - AC_CHECK_LIB(liveMedia_pic, main, [ - VLC_ADD_PLUGIN([live555]) - VLC_ADD_LIBS([live555], [-lliveMedia_pic ${other_libs_pic}]) - ],[ - AC_CHECK_LIB(liveMedia, main, [ - VLC_ADD_PLUGIN([live555]) - VLC_ADD_LIBS([live555], [-lliveMedia ${other_libs}]) - ],[],[${other_libs}]) ],[${other_libs_pic}]) - ],[ - AC_MSG_WARN([The development files for liveMedia (live555) can't be found]) - ]) - CPPFLAGS="${CPPFLAGS_save}" - AC_LANG_POP(C++) + AC_MSG_WARN([The installed liveMedia version is too old: +Version 2010.05.29 or later is required to proceed. +You can get an updated one from http://www.live555.com/liveMedia .]) + AS_IF([test "${enable_live555}" == "yes"], [ + AC_MSG_ERROR([Update live555 or pass --disable-live555 to disable the plugin.]) + ]) + ],[ + AC_MSG_RESULT([yes]) + other_libs="-lgroupsock -lBasicUsageEnvironment -lUsageEnvironment" + other_libs_pic="-lgroupsock_pic -lBasicUsageEnvironment_pic -lUsageEnvironment_pic" + if test "${SYS}" = "mingw32"; then + # add ws2_32 for closesocket, select, recv + other_libs="$other_libs -lws2_32" + elif test "${SYS}" = "mingwce"; then + # add ws2 for closesocket, select, recv + other_libs="$other_libs -lws2" + fi + + dnl We need to check for pic because live555 don't provide shared libs + dnl and we want to build a plugins so we need -fPIC on some arch. + VLC_ADD_CXXFLAGS([live555], [${CPPFLAGS_live555}]) + AC_CHECK_LIB(liveMedia_pic, main, [ + VLC_ADD_PLUGIN([live555]) + VLC_ADD_LIBS([live555], [-lliveMedia_pic ${other_libs_pic}]) + ],[ + AC_CHECK_LIB(liveMedia, main, [ + VLC_ADD_PLUGIN([live555]) + VLC_ADD_LIBS([live555], [-lliveMedia ${other_libs}]) + ],[],[${other_libs}]) ],[${other_libs_pic}]) + + CPPFLAGS="${CPPFLAGS_save}" + AC_LANG_POP(C++) + ]) + ]) else AC_MSG_CHECKING(for liveMedia/libliveMedia.a in ${with_live555_tree}) real_live555_tree="`cd ${with_live555_tree} 2>/dev/null && pwd`" @@ -1794,11 +1790,11 @@ lternatively you can use --disable-live555 to disable the liveMedia plugin.]) AC_MSG_RESULT(${real_live555_tree}/liveMedia/libliveMedia.a) AC_CHECK_HEADERS(${real_live555_tree}/liveMedia/include/liveMedia_version.hh,[ - AC_MSG_CHECKING(for liveMedia version >= 1214895600 ) + AC_MSG_CHECKING(for liveMedia version >= 1275091200 ) AC_EGREP_CPP(yes, [#include "${real_live555_tree}/liveMedia/include/liveMedia_version.hh" #ifdef LIVEMEDIA_LIBRARY_VERSION_INT - #if LIVEMEDIA_LIBRARY_VERSION_INT < 1214895600 + #if LIVEMEDIA_LIBRARY_VERSION_INT < 1275091200 yes #endif #endif], @@ -1850,7 +1846,7 @@ dnl dnl dvdread module: check for libdvdread dnl dnl prepend -ldvdcss on OS that need it -AS_CASE(["${SYS}"], [mingw32|darwin|beos], [VLC_ADD_LIBS([dvdread], [-ldvdcss])]) +AS_CASE(["${SYS}"], [mingw32|darwin], [VLC_ADD_LIBS([dvdread], [-ldvdcss])]) PKG_ENABLE_MODULES_VLC([DVDREAD], [], [dvdread], [dvdread input module], [auto]) dnl @@ -1861,28 +1857,19 @@ AC_ARG_ENABLE(dvdnav, if test "${enable_dvdnav}" != "no" then dnl prepend -ldvdcss on OS that need it - AS_CASE(["${SYS}"], [mingw32|darwin|beos], [VLC_ADD_LIBS([dvdnav], [-ldvdcss])]) + AS_CASE(["${SYS}"], [mingw32|darwin], [VLC_ADD_LIBS([dvdnav], [-ldvdcss])]) - DVDNAV_PATH="${PATH}" - AC_ARG_WITH(dvdnav-config-path, - [ --with-dvdnav-config-path=PATH dvdnav-config path (default search in \$PATH)], - [ if test "${with_dvdnav_config_path}" != "no" - then - DVDNAV_PATH="${with_dvdnav_config_path}:${PATH}" - fi ]) - AC_PATH_PROG(DVDNAV_CONFIG, dvdnav-config, no, ${DVDNAV_PATH}) - if test "${DVDNAV_CONFIG}" != "no" - then + PKG_CHECK_MODULES(DVDNAV, dvdnav, [ VLC_ADD_PLUGIN([dvdnav]) - VLC_ADD_CFLAGS([dvdnav],[`${DVDNAV_CONFIG} --cflags`]) - VLC_ADD_LIBS([dvdnav],[`${DVDNAV_CONFIG} --libs`]) + VLC_ADD_CFLAGS([dvdnav],[${DVDNAV_CFLAGS}]) + VLC_ADD_LIBS([dvdnav],[${DVDNAV_LIBS}]) AC_CHECK_LIB(dvdnav, dvdnav_get_video_resolution, - AC_DEFINE(HAVE_DVDNAV_GET_VIDEO_RESOLUTION, 1, [Define if you have dvdnav_get_video_resolution.]), - [], [${LIBS_dvdnav}]) + AC_DEFINE(HAVE_DVDNAV_GET_VIDEO_RESOLUTION, 1, [Define if you have dvdnav_get_video_resolution.]), + [], [${LIBS_dvdnav}]) AC_CHECK_LIB(dvdnav, dvdnav_describe_title_chapters, - AC_DEFINE(HAVE_DVDNAV_DESCRIBE_TITLE_CHAPTERS, 1, [Define if you have dvdnav_describe_title_chapters.]), - [], [${LIBS_dvdnav}]) - fi + AC_DEFINE(HAVE_DVDNAV_DESCRIBE_TITLE_CHAPTERS, 1, [Define if you have dvdnav_describe_title_chapters.]), + [], [${LIBS_dvdnav}])], + [AC_MSG_WARN(dvdnav library not found)]) fi dnl @@ -1921,6 +1908,11 @@ then fi +dnl +dnl Blu-ray Disc Support with libbluray +dnl +PKG_ENABLE_MODULES_VLC([BLURAY], [libbluray], [libbluray >= 0.2 ], (libbluray for Blu-ray disc support ) ) + dnl dnl OpenCV wrapper and example filters dnl @@ -2130,6 +2122,29 @@ then fi fi +dnl +dnl special access module for Blackmagic SDI cards +dnl +AC_ARG_ENABLE(decklink, + [ --enable-decklink Blackmagic DeckLink SDI access module (default enabled)]) +if test "${enable_decklink}" != "no" +then + AC_ARG_WITH(decklink_sdk, + [ --with-decklink-sdk=DIR Location of Blackmagic DeckLink SDI SDK],[],[]) + if test "${with_decklink_sdk}" != "no" -a -n "${with_decklink_sdk}" + then + VLC_ADD_CPPFLAGS([decklink],[-I${with_decklink_sdk}/include]) + fi + CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_decklink}" + AC_LANG_PUSH(C++) + AC_CHECK_HEADERS(DeckLinkAPIDispatch.cpp, [ + VLC_ADD_PLUGIN([decklink]) + ],[AC_MSG_WARN(Blackmagic DeckLink SDI include files not found, decklink disabled)]) + AC_LANG_POP(C++) + CPPFLAGS="${CPPFLAGS_save}" +fi + + dnl dnl gnomeVFS access module dnl @@ -2258,10 +2273,6 @@ if test "${enable_screen}" != "no"; then VLC_ADD_LIBS([screen],[-lgdi32]) elif test "${SYS}" = "mingwce"; then CPPFLAGS="${CPPFLAGS_save}" - elif test "${SYS}" = "beos"; then - VLC_ADD_PLUGIN([screen]) - VLC_ADD_CXXFLAGS([screen],[]) - VLC_ADD_LIBS([screen],[-lbe]) fi fi @@ -2281,6 +2292,29 @@ AC_CHECK_FUNCS(inet_ntop,[ AC_DEFINE(HAVE_INET_NTOP, 1, [Define to 1 if you have inet_ntop().])]) +dnl +dnl GME demux plugin +dnl +AC_ARG_ENABLE(gme, + [ --enable-gme Game Music Emu support (default auto)]) +AS_IF([test "${enable_gme}" != "no"], [ + AC_CHECK_HEADER([gme/gme.h], [ + VLC_ADD_LIBS([gme], [-lgme]) + VLC_ADD_PLUGIN([gme]) + ], [ + AS_IF([test "x${enable_gme}" != "x"], [ + AC_MSG_ERROR([GME cannot be found. Please install the development files.]) + ]) + ]) +]) + + +dnl +dnl SIDPlay plugin +dnl +PKG_ENABLE_MODULES_VLC([SID], [], [libsidplay2], [C64 sid demux support], [auto], [], [-lresid-builder]) + + dnl dnl ogg demux plugin dnl @@ -2302,21 +2336,21 @@ AC_ARG_ENABLE(mkv, if test "${enable_mkv}" != "no" -a "${CXX}" != ""; then AC_LANG_PUSH(C++) AC_CHECK_HEADERS(ebml/EbmlVersion.h, [ - AC_MSG_CHECKING(for libebml version >= 0.7.7) + AC_MSG_CHECKING(for libebml version >= 1.0.0) AC_EGREP_CPP(yes, [#include #ifdef LIBEBML_VERSION - #if LIBEBML_VERSION >= 0x000706 + #if LIBEBML_VERSION >= 0x010000 yes #endif #endif], [AC_MSG_RESULT([yes]) AC_CHECK_HEADERS(matroska/KaxVersion.h, [ - AC_MSG_CHECKING(for libmatroska version >= 0.8.0) + AC_MSG_CHECKING(for libmatroska version >= 1.0.0) AC_EGREP_CPP(yes, [#include #ifdef LIBMATROSKA_VERSION - #if LIBMATROSKA_VERSION >= 0x000705 + #if LIBMATROSKA_VERSION >= 0x010000 yes #endif #endif], @@ -2334,7 +2368,7 @@ if test "${enable_mkv}" != "no" -a "${CXX}" != ""; then VLC_ADD_PLUGIN([mkv]) VLC_ADD_LIBS([mkv],[-lmatroska -lebml]) ]) - ) + ) ], [AC_MSG_RESULT([no]) AC_MSG_ERROR([Your libmatroska is too old: you may get a more recent one from http://dl.matroska.org/downloads/libmatroska/. Alternatively you can use --disable-mkv to disable the matroska plugin.]) @@ -2380,44 +2414,6 @@ then VLC_ADD_LIBS([mpc],[-lmpcdec])])]) fi -dnl -dnl game music emu demux plugin -dnl -AC_ARG_ENABLE(gme, - [ --enable-gme Game Music Emu demux support (default enabled)]) -if test "${enable_gme}" != "no" -a "${CXX}" != ""; -then - AC_LANG_PUSH(C++) - AC_ARG_WITH(gme-tree, - [ --with-gme-tree=PATH gme tree for static linking]) - if test -n "${with_gme_tree}" - then - AC_MSG_CHECKING(for libgme.a in ${with_mod_tree}) - real_gme_tree="`cd ${with_gme_tree} 2>/dev/null && pwd`" - if test -z "${real_gme_tree}" - then - dnl The given directory can't be found - AC_MSG_RESULT(no) - AC_MSG_ERROR([cannot cd to ${with_gme_tree}]) - fi - if test -f "${real_gme_tree}/gme/libgme.a" - then - dnl Use a custom gme - AC_MSG_RESULT(${real_gme_tree}/gme/libgme.a) - VLC_ADD_PLUGIN([gme]) - VLC_ADD_LIBS([gme],[${real_gme_tree}/gme/libgme.a]) - VLC_ADD_CXXFLAGS([gme],[-I${real_gme_tree}/gme]) - else - dnl The given gme wasn't built - AC_MSG_RESULT(no) - AC_MSG_ERROR([cannot find ${real_mod_tree}/gme/libgme.a, make sure you compiled gme in ${with_gme_tree}]) - fi - else - AC_MSG_WARN([only static linking is available, you must provide a gme-tree]) - fi - AC_LANG_POP(C++) -fi - dnl dnl Codec plugins dnl @@ -2455,6 +2451,25 @@ then VLC_ADD_LIBS([omxil], [$LIBDL]) fi +dnl +dnl CrystalHD codec plugin +dnl +AC_ARG_ENABLE(crystalhd, + [ --enable-crystalhd crystalhd codec plugin (default disabled)]) +if test "${enable_crystalhd}" == "yes"; then + AC_CHECK_HEADERS(libcrystalhd/libcrystalhd_if.h, [ + VLC_ADD_PLUGIN([crystalhd]) + VLC_ADD_LIBS([crystalhd], [-lcrystalhd]) + ],[ + AC_CHECK_HEADERS(libcrystalhd/bc_drv_if.h, [ + VLC_ADD_PLUGIN([crystalhd]) + VLC_ADD_LIBS([crystalhd], [-lbcmDIL]) + ],[ + AC_MSG_ERROR("Could not find CrystalHD development headers") + ]) + ]) +fi + dnl dnl mad plugin dnl @@ -2520,6 +2535,13 @@ AC_ARG_ENABLE(merge-ffmpeg, ]) AM_CONDITIONAL([MERGE_FFMPEG], [test "$enable_merge_ffmpeg" != "no"]) +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}" + ]) + dnl dnl avcodec decoder/encoder plugin dnl @@ -2535,6 +2557,9 @@ AS_IF([test "${enable_avcodec}" != "no"], [ AC_CHECK_HEADERS(libavutil/avutil.h ffmpeg/avutil.h) VLC_ADD_PLUGIN([avcodec]) VLC_ADD_LIBS([avcodec],[$AVCODEC_LIBS]) + AS_IF([test "${ac_cv_ld_bsymbolic}" != "no"], [ + VLC_ADD_LDFLAGS([avcodec],[-Wl,-Bsymbolic]) + ]) VLC_ADD_CFLAGS([avcodec],[$AVCODEC_CFLAGS]) VLC_RESTORE_FLAGS have_avcodec="yes" @@ -2645,12 +2670,15 @@ then VLC_SAVE_FLAGS CPPFLAGS="${CPPFLAGS} ${AVFORMAT_CFLAGS}" CFLAGS="${CFLAGS} ${AVFORMAT_CFLAGS}" - AC_CHECK_HEADERS(libavformat/avformat.h ffmpeg/avformat.h) + AC_CHECK_HEADERS(libavformat/avformat.h ffmpeg/avformat.h libavformat/avio.h) AC_CHECK_HEADERS(libavutil/avutil.h ffmpeg/avutil.h) AS_IF([test "$enable_merge_ffmpeg" = "no"], [ VLC_ADD_PLUGIN([avformat access_avio]) VLC_ADD_LIBS([avformat access_avio],[$AVFORMAT_LIBS $AVUTIL_LIBS]) VLC_ADD_CFLAGS([avformat access_avio],[$AVFORMAT_CFLAGS $AVUTIL_CFLAGS]) + AS_IF([test "${ac_cv_ld_bsymbolic}" != "no"], [ + VLC_ADD_LDFLAGS([avformat access_avio],[-Wl,-Bsymbolic]) + ]) ], [ VLC_ADD_LIBS([avcodec],[$AVFORMAT_LIBS $AVUTIL_LIBS]) VLC_ADD_CFLAGS([avcodec],[$AVFORMAT_CFLAGS $AVUTIL_CFLAGS]) @@ -2679,6 +2707,9 @@ then VLC_ADD_PLUGIN([swscale]) VLC_ADD_LIBS([swscale],[$SWSCALE_LIBS]) VLC_ADD_CFLAGS([swscale],[$SWSCALE_CFLAGS]) + AS_IF([test "${ac_cv_ld_bsymbolic}" != "no"], [ + VLC_ADD_LDFLAGS([swscale],[-Wl,-Bsymbolic]) + ]) VLC_RESTORE_FLAGS ],[ 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.]) @@ -2998,12 +3029,6 @@ if test "${enable_x264}" != "no"; then 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]) ]) @@ -3083,26 +3108,6 @@ AS_IF( [test "${enable_libass}" != "no"], [ ]) ]) -dnl -dnl asa demuxer -dnl -AC_ARG_ENABLE(asademux, - [ --enable-asademux asa subtitle demuxing (default disabled)]) -AS_IF( [test "${enable_asademux}" = "yes"], [ - PKG_CHECK_MODULES(PCRE, - libpcre >= 6.5, - [ - VLC_ADD_LDFLAGS([asademux],[$PCRE_LIBS]) - VLC_ADD_CFLAGS([asademux],[$PCRE_CFLAGS]) - if test "${SYS}" = "mingw32"; then - VLC_ADD_CPPFLAGS([asademux],[-DPCRE_STATIC]) - fi - VLC_ADD_PLUGIN([asademux]) - ],[ - AC_MSG_WARN([PCRE library not found (required for asademux)]) - ]) - ]) - dnl dnl kate decoder plugin dnl @@ -3169,7 +3174,7 @@ dnl X C Bindings modules dnl AC_ARG_ENABLE(xcb, [ --enable-xcb X11 support with XCB (default enabled)],, [ - AS_IF([test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" -a "${SYS}" != "darwin"], [ + AS_IF([test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" -a "${SYS}" != "darwin" -a "${SYS}" != "symbian"], [ enable_xcb="yes" ], [ enable_xcb="no" @@ -3181,11 +3186,12 @@ AC_ARG_ENABLE(xvideo, ]) need_xid_provider="no" +have_xcb="no" AS_IF([test "${enable_xcb}" != "no"], [ dnl libxcb PKG_CHECK_MODULES(XCB, [xcb]) + have_xcb="yes" PKG_CHECK_MODULES(XCB_SHM, [xcb-shm]) - VLC_ADD_PLUGIN([screensaver xcb_x11 xcb_window xcb_screen xcb_apps]) AS_IF([test "${enable_xvideo}" != "no"], [ PKG_CHECK_MODULES(XCB_XV, [xcb-xv >= 1.1.90.1], [ @@ -3202,7 +3208,9 @@ AS_IF([test "${enable_xcb}" != "no"], [ VLC_ADD_PLUGIN([panoramix]) VLC_ADD_LIBS([panoramix],[${XCB_RANDR_LIBS} ${XCB_LIBS}]) VLC_ADD_CFLAGS([panoramix],[${XCB_RANDR_CFLAGS} ${XCB_CFLAGS}]) - ], [true]) + ], [ + AC_MSG_WARN([libxcb-randr not found. Panoramix filter will not be supported.]) + ]) dnl xcb-utils PKG_CHECK_MODULES(XCB_KEYSYMS, [xcb-keysyms >= 0.3.4], [ @@ -3225,8 +3233,8 @@ AS_IF([test "${enable_xcb}" != "no"], [ VLC_ADD_LIBS([globalhotkeys], [${XCB_KEYSYMS_LIBS} ${XCB_LIBS}]) VLC_ADD_CFLAGS([xcb_window], [-DHAVE_XCB_KEYSYMS]) ]) - VLC_ADD_PLUGIN([xdg_screensaver]) ]) +AM_CONDITIONAL([HAVE_XCB], [test "${have_xcb}" = "yes"]) AC_ARG_ENABLE(glx, [ --enable-glx X11 OpenGL (GLX) support (default enabled)],, [ @@ -3247,6 +3255,18 @@ AS_IF([test "${enable_glx}" != "no"], [ AC_SUBST([GL_CFLAGS]) AC_SUBST([GL_LIBS]) +dnl +dnl EGL +dnl +AC_ARG_ENABLE(egl, + [ --enable-egl EGL support (default disabled)],, [ + enable_egl="no" +]) +AS_IF([test "${enable_egl}" != "no"], [ + PKG_CHECK_MODULES(EGL, [egl]) + VLC_ADD_PLUGIN([egl]) +]) + dnl dnl SDL module dnl @@ -3352,6 +3372,30 @@ then VLC_ADD_PLUGIN([snapshot]) fi +dnl +dnl iOS vout module +dnl +AC_ARG_ENABLE(ios-vout, + [ --enable-ios-vout iOS video output module (default disabled)]) +if test "${enable_ios_vout}" = "yes" +then + VLC_ADD_PLUGIN([vout_ios]) + VLC_ADD_CFLAGS([vout_ios], [-DUSE_OPENGL_ES=1]) + VLC_ADD_LDFLAGS([vout_ios], [-Wl,-framework,OpenGLES,-framework,QuartzCore,-framework,UIKit,-framework,Foundation]) +fi + +dnl +dnl QuartzText vout module (iOS/Mac OS) +dnl +AC_ARG_ENABLE(macosx-quartztext, + [ --enable-macosx-quartztext Mac OS X quartz text module (default enabled on Mac OS X)]) +if test "x${enable_macosx_quartztext}" != "xno" && + (test "${SYS}" = "darwin" || test "${enable_macosx_quartztext}" = "yes") +then + VLC_ADD_PLUGIN([quartztext]) + VLC_ADD_LDFLAGS([quartztext],[-Wl,-framework,ApplicationServices]) +fi + dnl dnl Windows DirectX module dnl @@ -3367,6 +3411,7 @@ if test "${enable_directx}" != "no" then if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce" then + VLC_ADD_LIBS([directx],[-luser32]) AC_CHECK_HEADERS(ddraw.h, [ VLC_ADD_PLUGIN([directx aout_directx]) VLC_ADD_LIBS([directx],[-lgdi32]) @@ -3547,15 +3592,7 @@ fi dnl dnl Pulseaudio module dnl -AS_IF([test "${no_x}" = "yes"], [ - AS_IF([test "${enable_pulse}" = "yes"], [ - AC_MSG_ERROR([Xlib is required for VLC PulseAudio support -(see http://www.pulseaudio.org/ticket/799 for further reference).]) - ]) -], [ - PKG_ENABLE_MODULES_VLC([PULSE], [], [libpulse >= 0.9.11], [Pulseaudio support], [auto]) - VLC_ADD_LIBS([pulse], [${X_LIBS} ${X_PRE_LIBS} -lX11]) -]) +PKG_ENABLE_MODULES_VLC([PULSE], [], [libpulse >= 0.9.22], [PulseAudio support], [auto]) dnl dnl Portaudio module @@ -3608,6 +3645,17 @@ then ], [ AC_MSG_ERROR([cannot find CoreAudio headers]) ]) fi +dnl +dnl AudioQueue plugin +dnl +AC_ARG_ENABLE(audioqueue, + [ --enable-audioqueue AudioQueue audio module (default disabled)]) +if test "${enable_audioqueue}" = "yes" +then + VLC_ADD_PLUGIN([audioqueue]) + VLC_ADD_LDFLAGS([audioqueue], [-Wl,-framework,AudioToolbox,-framework,CoreFoundation]) +fi + dnl dnl Roku HD1000 audio dnl @@ -3646,10 +3694,10 @@ dnl Skins2 module dnl AC_ARG_ENABLE(skins2, [AS_HELP_STRING([--enable-skins2],[Skins2 interface module (default - enabled except on MacOSX, BeOS and WinCE)])]) -if test "${enable_skins2}" = "yes" || - (test "${SYS}" != "darwin" && test "${SYS}" != "beos" && - test "${SYS}" != "mingwce" && test "${enable_skins2}" != "no"); then + enabled except on MacOSX and WinCE)])]) +if test "${enable_skins2}" != "no" || + (test "${SYS}" != "darwin" && + test "${SYS}" != "mingwce" && test "${enable_skins2}" == "yes"); then dnl test for the required libraries skins2_missing_lib="no" @@ -3667,7 +3715,7 @@ if test "${enable_skins2}" = "yes" || ALIASES="${ALIASES} svlc" VLC_ADD_CPPFLAGS([skins2],[-U_OFF_T_ -U_off_t -Imodules/gui/skins2 -DWIN32_SKINS]) VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti]) - VLC_ADD_LIBS([skins2],[-loleaut32 -lwinspool -lwinmm -lshell32 -lctl3d32 -ladvapi32 -lwsock32 -lgdi32 -lcomdlg32 -lole32 -luuid -lcomctl32]) + VLC_ADD_LIBS([skins2],[-loleaut32 -lwinspool -lwinmm -lshell32 -lctl3d32 -ladvapi32 -lwsock32 -lgdi32 -lcomdlg32 -lole32 -luuid -lcomctl32 -lmsimg32 -luser32]) else if test "${skins2_missing_lib}" = "no" && (test "${SYS}" = "darwin"); then VLC_ADD_PLUGIN([skins2]) @@ -3681,12 +3729,12 @@ if test "${enable_skins2}" = "yes" || ALIASES="${ALIASES} svlc" VLC_ADD_CPPFLAGS([skins2],[-Imodules/gui/skins2 ${X_CFLAGS} -DX11_SKINS]) VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti]) - VLC_ADD_LIBS([skins2],[${X_LIBS} ${X_PRE_LIBS} -lXext -lX11]) + VLC_ADD_LIBS([skins2],[${X_LIBS} ${X_PRE_LIBS} -lXext -lXpm -lX11]) need_xid_provider="no" fi fi fi fi AM_CONDITIONAL(BUILD_SKINS, [test "${enable_skins2}" = "yes" || - (test "${SYS}" != "darwin" && test "${SYS}" != "beos" && + (test "${SYS}" != "darwin" && test "${SYS}" != "mingwce" && test "${enable_skins2}" != "no")]) dnl @@ -3755,6 +3803,9 @@ AS_IF([test "${enable_qt4}" != "no"], [ AS_IF([test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"], [ VLC_ADD_LIBS([qt4],[-lole32]) ]) + AS_IF([test "${SYS}" = "darwin" ],[ + VLC_ADD_LDFLAGS([qt4], [-Wl,-framework,Cocoa]) + ]) AC_PATH_PROGS(MOC, [moc-qt4 moc], moc,`eval $PKG_CONFIG --variable=exec_prefix QtCore`/bin) AC_PATH_PROG(RCC, rcc, rcc,`eval $PKG_CONFIG --variable=exec_prefix QtCore`/bin) AC_PATH_PROGS(UIC, [uic-qt4 uic], uic,`eval $PKG_CONFIG --variable=exec_prefix QtCore`/bin) @@ -3861,32 +3912,22 @@ AC_ARG_ENABLE(ncurses, [VLC_ADD_PLUGIN([ncurses]) VLC_ADD_LIBS([ncurses],[-lncursesw]) ALIASES="${ALIASES} nvlc" - AC_DEFINE([HAVE_NCURSESW], 1, [Define to 1 if you have libncursesw.]) AC_CHECK_LIB(ncursesw, tgetent, [], AC_CHECK_LIB(tinfow, tgetent, [VLC_ADD_LIBS([ncurses],[-ltinfow])], [AC_CHECK_LIB(tinfo, tgetent, [VLC_ADD_LIBS([ncurses],[-ltinfo])], - [AS_IF([test "x${enable_ncurses}" != "x"], + [AS_IF([test "${enable_ncurses}" = "yes"], [AC_MSG_ERROR([tgetent not found in ncursesw tinfow tinfo] )])]) ] ) ) ], - [AC_CHECK_LIB( ncurses, mvprintw, - [VLC_ADD_PLUGIN([ncurses]) - ALIASES="${ALIASES} nvlc" - VLC_ADD_LIBS([ncurses],[-lncurses]) - AC_CHECK_LIB(ncurses, tgetent, [], - [AC_CHECK_LIB(tinfo, tgetent, [VLC_ADD_LIBS([ncurses],[-ltinfo])], - [AS_IF([test "x${enable_ncurses}" != "x"], - [AC_MSG_ERROR([tgetent not found in ncurses tinfo])])] - )] - )], - [AS_IF([test "x${enable_ncurses}" != "x"], [ - AC_MSG_ERROR([libncurses not found])])] - )] - )] - ) + [AS_IF([test "${enable_ncurses}" = "yes"], [ + AC_MSG_ERROR([libncursesw not found])])] + )], + [AS_IF([test "${enable_ncurses}" = "yes"], [ + AC_MSG_ERROR([ncurses.h not found])])] + ) fi] ) @@ -4159,6 +4200,23 @@ else fi AM_CONDITIONAL([HAVE_SQLITE], [test "${enable_sqlite}" != "no"]) +dnl +dnl media library +dnl +AC_ARG_ENABLE(media-library, [--enable-media-library media library (default auto)]) +if test "${enable_media_library}" != "no"; then + if test "${enable_sqlite}" != "yes"; then + if test "${enable_media_library}" == "yes"; then + AC_MSG_ERROR([SQLite module is required for the media library]) + else + AC_MSG_WARN([SQLite module is required for the media library]) + fi + else + AC_DEFINE([MEDIA_LIBRARY], 1, [Define if you want to use the VLC media library]) + VLC_ADD_CPPFLAGS([qt4],"-DMEDIA_LIBRARY") + VLC_ADD_PLUGIN([media_library]) + fi +fi dnl dnl Endianness check @@ -4225,226 +4283,6 @@ AC_ARG_ENABLE(vlc, [ --enable-vlc build the VLC media player (default enabled)]) AM_CONDITIONAL(BUILD_VLC, [test "${enable_vlc}" != "no"]) -dnl -dnl Microsoft ActiveX support -dnl -activex=false -AC_ARG_ENABLE(activex, - AS_HELP_STRING([--enable-activex],[build a vlc-based ActiveX control - (default enabled on Win32)])) -AC_ARG_WITH(wine-sdk-path, - [ --with-wine-sdk-path=PATH path to wine sdk]) -if test "${enable_activex}" != "no" -then - if test "${SYS}" = "mingw32" - then - AC_CHECK_PROGS(MIDL, [midl], no) - if test "${with_wine_sdk_path}" != "" - then - WINE_SDK_PATH=${with_wine_sdk_path} - AC_PATH_PROG(WIDL, widl, no, [$WINE_SDK_PATH/bin:$WINE_SDK_PATH/tools/widl]) - else - WIDL=no - fi - AC_LANG_PUSH(C++) - AC_CHECK_HEADERS(ole2.h, - [AC_CHECK_HEADERS(olectl.h, - [ VLC_ADD_CPPFLAGS([activex],[-DUNICODE -D_UNICODE -D_MIDL_USE_GUIDDEF_]) - VLC_ADD_CXXFLAGS([activex],[-fno-exceptions]) - VLC_ADD_LIBS([activex],[-lole32 -loleaut32 -luuid -lshlwapi]) - AC_CHECK_HEADERS(objsafe.h, - VLC_ADD_CXXFLAGS([activex],[-DHAVE_OBJSAFE_HEADER]),, - [ - #if HAVE_OLE2_H - # include - #endif - ] - ) - activex=: - PLUGINS_BINDINGS="${PLUGINS_BINDINGS} activex" - ], - [ AC_MSG_ERROR([required OLE headers are missing from your system]) ] - )], - [ AC_MSG_ERROR([required OLE headers are missing from your system]) ] - ) - AC_LANG_POP(C++) - fi -fi -AC_ARG_VAR(MIDL, [Microsoft IDL compiler (Win32 platform only)]) -AM_CONDITIONAL(HAS_MIDL_COMPILER, test "${MIDL}" != "no") -AC_ARG_VAR(WIDL, [Wine IDL compiler (requires Wine SDK)]) -AM_CONDITIONAL(HAS_WIDL_COMPILER, test "${WIDL}" != "no") -AM_CONDITIONAL(BUILD_ACTIVEX,${activex}) - -dnl -dnl Mozilla plugin -dnl -mozilla=false -AC_ARG_ENABLE(mozilla, - AS_HELP_STRING([--enable-mozilla],[build a vlc-based Firefox/Mozilla plugin - (default disabled)])) -AC_ARG_WITH(mozilla-sdk-path, - [ --with-mozilla-sdk-path=PATH path to mozilla sdk]) -AC_ARG_WITH(mozilla-pkg, - [ --with-mozilla-pkg=PKG look for PKG.pc to build the mozilla plugin.]) -AC_LANG_PUSH(C++) -if test "${enable_mozilla}" = "yes" -then - AS_IF([test "${with_mozilla_sdk_path}" = "" -o "${with_mozilla_sdk_path}" = "no"], - [ - dnl pkg-config - dnl As we want to do a loop due to the number of name possible for the .pc - dnl we can't use the pkg-config macros. - - AC_ARG_VAR([MOZILLA_CFLAGS], [C compiler flags for Mozilla, overriding pkg-config]) - AC_ARG_VAR([MOZILLA_LIBS], [linker flags for Mozilla, overriding pkg-config]) - AC_MSG_NOTICE([Checking for Mozilla]) - found=0 - if test -n "$MOZILLA_CFLAGS" -o -n "$MOZILLA_LIBS" - then - found=1 - else - if test -n "$PKG_CONFIG"; then - for i in "${with_mozilla_pkg}" libxul {seamonkey,iceape,xulrunner,firefox,iceweasel,mozilla}-plugin; do - if test -n "$i" - then - echo "Trying to find $i package" >&AS_MESSAGE_LOG_FD - AC_MSG_CHECKING([for $i >= 1.9.2]) - if $PKG_CONFIG --exists --print-errors "$i >= 1.9.2" 2>&AS_MESSAGE_LOG_FD - then - echo "Using $i pkg-config package." >&AS_MESSAGE_LOG_FD - echo "Using $i package." >&AS_MESSAGE_FD - found=1 - MOZILLA_CFLAGS=$(eval $PKG_CONFIG --cflags "$i" ) - MOZILLA_LIBS=$(eval $PKG_CONFIG --libs "$i" ) - AC_MSG_RESULT([yes]) - break - fi - AC_MSG_RESULT([no]) - fi - done - fi - fi - AS_IF( [test $found = 1],[ - CPPFLAGS="${CPPFLAGS_save} ${MOZILLA_CFLAGS}" - MOZILLA_REQUIRED_HEADERS=1 - AC_CHECK_HEADERS(npapi.h,,MOZILLA_REQUIRED_HEADERS=0) - AC_CHECK_HEADERS(npruntime.h,,MOZILLA_REQUIRED_HEADERS=0, - [#if HAVE_NPAPI_H - # include - #endif - ]) - if test "${MOZILLA_REQUIRED_HEADERS}" = "0"; then - AC_MSG_ERROR([Please install the Firefox development tools; plugin/npapi.h and/or plugin/npruntime.h were not found.]) - fi - MOZILLA_REQUIRED_HEADERS= - mozilla=: - AS_IF([ test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"],[ - VLC_ADD_CPPFLAGS([mozilla],[-DXP_UNIX]) - AS_IF([ test "${SYS}" != "darwin"],[ - PKG_CHECK_MODULES(XPM, [xpm xt],[ - VLC_ADD_CPPFLAGS([mozilla],[-DMOZ_X11]) - ],[ - AC_MSG_ERROR([Please install the libXpm and libXt development files.]) - ]) - AS_IF([test "${have_xcb_keysyms}" != "yes"], [ - AC_MSG_ERROR([Please install xcb-keysyms from xcb-utils.]) - ]) - ]) - ]) - VLC_ADD_CPPFLAGS([mozilla],[${CPPFLAGS} ${XPM_CFLAGS}]) - VLC_ADD_LIBS([mozilla],[${MOZILLA_LIBS} ${XPM_LIBS}]) - VLC_ADD_PLUGIN([mozilla]) - PLUGINS_BINDINGS="${PLUGINS_BINDINGS} mozilla" - MOZILLA_CONFIG= - CPPFLAGS="${CPPFLAGS_save}" - ], - [ - AC_PATH_PROGS(MOZILLA_CONFIG, - [mozilla-config seamonkey-config xulrunner-config], - [no]) - test "${MOZILLA_CONFIG}" = "no" && AC_MSG_ERROR([Please install the Mozilla development tools (version 1.9.2 or higher) or use --disable-mozilla.]) - ] - ) - dnl pkg-config failed but we might have found a mozilla-config - AS_IF( [test ! -z "${MOZILLA_CONFIG}"],[ - if ${MOZILLA_CONFIG} --defines | grep -q 'MOZ_X11=1'; then - LDFLAGS="${LDFLAGS_save} ${X_LIBS} ${X_PRE_LIBS}" - AC_CHECK_LIB(Xt,XtStrings, - [ - VLC_ADD_CPPFLAGS([mozilla],[${X_CFLAGS}]) - VLC_ADD_LIBS([mozilla],[${X_LIBS} ${X_PRE_LIBS} -lXt -lX11 -lSM -lICE -lXpm]) - ], - [], - [[${X_LIBS} ${X_PRE_LIBS} -lX11 -lSM -lICE -lXpm] - ]) - AC_CHECK_HEADERS(X11/xpm.h,,AC_MSG_ERROR([Please install libXpm-devel library for required X11/xpm.h])) - AS_IF([test "${have_xcb_keysyms}" != "yes"], [ - AC_MSG_ERROR([Please install xcb-keysyms from xcb-utils.]) - ]) - LDFLAGS="${LDFLAGS_save}" - fi - - mozilla=: - PLUGINS_BINDINGS="${PLUGINS_BINDINGS} mozilla" - VLC_ADD_CPPFLAGS([mozilla],[[`${MOZILLA_CONFIG} --cflags plugin java`]]) - VLC_ADD_LIBS([mozilla],[`${MOZILLA_CONFIG} --libs plugin`]) - CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_mozilla}" - MOZILLA_REQUIRED_HEADERS=1 - AC_CHECK_HEADERS(mozilla-config.h,,MOZILLA_REQUIRED_HEADERS=0) - AC_CHECK_HEADERS(npapi.h,,MOZILLA_REQUIRED_HEADERS=0) - AC_CHECK_HEADERS(npruntime.h,,MOZILLA_REQUIRED_HEADERS=0, - [#if HAVE_NPAPI_H - # include - #endif - ]) - if test "${MOZILLA_REQUIRED_HEADERS}" = "0" - then - AC_MSG_ERROR([Please install the Mozilla development tools, required headers were not found.]) - fi - MOZILLA_REQUIRED_HEADERS= - CPPFLAGS="${CPPFLAGS_save}" - MOZILLA_SDK_PATH="`${MOZILLA_CONFIG} --prefix`" - ]) - dnl End of moz_sdk = "" - ],[ - dnl special case for mingw32 - if test "${SYS}" = "mingw32" - then - AC_CHECK_TOOL(CYGPATH, cygpath, "") - dnl latest gecko sdk does not have an xpcom directory - if test -d "${with_mozilla_sdk_path}/xpcom"; then - mozilla_sdk_xpcom="/xpcom" - fi - fi - - real_mozilla_sdk="`cd ${with_mozilla_sdk_path} 2>/dev/null && pwd`" - CPPFLAGS="${CPPFLAGS_save} -I${real_mozilla_sdk}/include" - MOZILLA_REQUIRED_HEADERS=1 - AC_CHECK_HEADERS(npapi.h,,MOZILLA_REQUIRED_HEADERS=0) - AC_CHECK_HEADERS(npruntime.h,,MOZILLA_REQUIRED_HEADERS=0, - [#if HAVE_NPAPI_H - #include - #endif - ]) - if test "${MOZILLA_REQUIRED_HEADERS}" = "0" - then - AC_MSG_ERROR([Please install the Mozilla development tools, required headers were not found.]) - fi - MOZILLA_REQUIRED_HEADERS= - mozilla=: - PLUGINS_BINDINGS="${PLUGINS_BINDINGS} mozilla" - VLC_ADD_CPPFLAGS([mozilla],[-DXPCOM_GLUE -DHAVE_CPP_MODERN_SPECIALIZE_TEMPLATE_SYNTAX -I${real_mozilla_sdk}/include]) - MOZILLA_SDK_PATH="${real_mozilla_sdk}" - - if test -n "${CYGPATH}"; then - real_mozilla_sdk="`${CYGPATH} -w ${real_mozilla_sdk}`" - fi - CPPFLAGS="${CPPFLAGS_save}" - ]) -fi -AC_LANG_POP(C++) -AM_CONDITIONAL(BUILD_MOZILLA,${mozilla}) dnl dnl Plugin and builtin checks @@ -4534,7 +4372,6 @@ AC_SUBST(MOC) AC_SUBST(RCC) AC_SUBST(UIC) AC_SUBST(WINDRES) -AC_SUBST(MOZILLA_SDK_PATH) AC_SUBST(WINE_SDK_PATH) AC_SUBST(LIBEXT) AC_SUBST(AM_CPPFLAGS) @@ -4547,13 +4384,11 @@ VLC_OUTPUT_VLC_CONFIG_IN AC_CONFIG_FILES([ Makefile - projects/activex/Makefile doc/Makefile libs/loader/Makefile libs/srtp/Makefile libs/unzip/Makefile modules/Makefile - projects/mozilla/Makefile m4/Makefile po/Makefile.in share/Makefile @@ -4587,7 +4422,6 @@ AC_CONFIG_FILES([ modules/codec/dmo/Makefile modules/codec/omxil/Makefile modules/codec/shine/Makefile - modules/codec/subtitles/Makefile modules/codec/spudec/Makefile modules/codec/wmafixed/Makefile modules/control/Makefile @@ -4618,6 +4452,7 @@ AC_CONFIG_FILES([ modules/misc/osd/Makefile modules/misc/stats/Makefile modules/misc/xml/Makefile + modules/media_library/Makefile modules/mux/Makefile modules/mux/mpeg/Makefile modules/packetizer/Makefile @@ -4640,43 +4475,17 @@ AC_CONFIG_FILES([ modules/arm_neon/Makefile ]) -AM_COND_IF([BUILD_MOZILLA], [ - AC_CONFIG_FILES([ - projects/mozilla/install.js - projects/mozilla/install.rdf - projects/mozilla/manifest.json - ]) -]) - AM_COND_IF([HAVE_WIN32], [ AC_CONFIG_FILES([ extras/package/win32/spad.nsi extras/package/win32/vlc.win32.nsi ]) - AM_COND_IF([BUILD_ACTIVEX], [ - AC_CONFIG_FILES([ - projects/activex/axvlc.inf - projects/activex/axvlc_rc.rc - ]) - ]) - AM_COND_IF([BUILD_MOZILLA], [ - AC_CONFIG_FILES([ - projects/mozilla/npvlc_rc.rc - ]) - ]) ]) AM_COND_IF([HAVE_DARWIN], [ AC_CONFIG_FILES([ extras/package/macosx/Info.plist extras/package/macosx/Resources/English.lproj/InfoPlist.strings - extras/package/macosx/plugin/Info.plist - extras/package/macosx/plugin/InstallerInfo.plist - ]) - AM_COND_IF([BUILD_MOZILLA], [ - AC_CONFIG_FILES([ - projects/mozilla/vlc.r - ]) ]) ])