X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=configure.ac;h=cf50be368a5846c35918a19a66ed2a0c451557b6;hb=c489a903fa6b54f2c5e512709390a47df162a2e3;hp=4ed7c065e0f1a256eb3375dacb5b4de0dfcce22e;hpb=d456bb4a261fbdc47989c25538f9f2072d7f9c76;p=vlc diff --git a/configure.ac b/configure.ac index 4ed7c065e0..cf50be368a 100644 --- a/configure.ac +++ b/configure.ac @@ -14,7 +14,6 @@ CONFIGURE_LINE="`echo "$0 $ac_configure_args" | sed -e 's/\\\/\\\\\\\/g'`" CODENAME="Twoflower" COPYRIGHT_YEARS="1996-2010" -AC_PREREQ(2.59c) AC_CONFIG_SRCDIR(src/libvlc.c) AC_CONFIG_AUX_DIR(autotools) AC_CONFIG_MACRO_DIR(m4) @@ -23,24 +22,17 @@ AC_CANONICAL_BUILD AC_CANONICAL_HOST AC_PRESERVE_HELP_ORDER -AM_INIT_AUTOMAKE(tar-ustar) +AM_INIT_AUTOMAKE(tar-ustar color-tests) AM_CONFIG_HEADER(config.h) # Disable with "./configure --disable-silent-rules" or "make V=1" -m4_ifdef([AM_SILENT_RULES], [ - AM_SILENT_RULES([yes]) -], [ - AM_DEFAULT_VERBOSITY=1 - AC_SUBST(AM_DEFAULT_VERBOSITY) -]) - +AM_SILENT_RULES([yes]) dnl Too many people are not aware of maintainer mode: 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 @@ -95,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 @@ -143,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 @@ -170,6 +171,7 @@ LDFLAGS_vlc="${LDFLAGS}" dnl dnl Check the operating system dnl +HAVE_WIN64="0" case "${host_os}" in "") SYS=unknown @@ -243,8 +245,6 @@ case "${host_os}" in build_dir=`pwd` echo " Assuming --prefix=${build_dir}/vlc_install_dir" ac_default_prefix="${build_dir}/vlc_install_dir" - enable_macosx="yes" - echo " Assuming --enable-macosx" enable_faad="yes" echo " Assuming --enable-faad" enable_flac="yes" @@ -265,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" @@ -330,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]) @@ -345,6 +343,21 @@ case "${host_os}" in 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 @@ -353,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 @@ -364,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"]) @@ -428,14 +428,10 @@ 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 -AM_GNU_GETTEXT_VERSION([0.17]) +AM_GNU_GETTEXT_VERSION([0.18.1]) AM_GNU_GETTEXT([external]) VLC_ADD_LIBS([libvlccore vlc], [${LTLIBINTL}]) @@ -452,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])]) @@ -475,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" @@ -499,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" @@ -512,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 @@ -531,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.]) ]) @@ -552,19 +546,20 @@ dnl Check for system libs needed need_libc=false dnl Check for usual libc functions -AC_CHECK_FUNCS([ctime_r 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 tdelete tdestroy tfind tsearch twalk 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,[ @@ -668,7 +663,7 @@ AC_CHECK_LIB(m,pow,[ VLC_ADD_LIBS([avcodec avformat access_avio swscale postproc ffmpegaltivec i420_rgb faad twolame equalizer spatializer param_eq libvlccore freetype mod mpc dmo quicktime realvideo qt4],[-lm]) ]) AC_CHECK_LIB(m,sqrt,[ - VLC_ADD_LIBS([headphone_channel_mixer normvol audiobargraph_a speex mono colorthres extract ball],[-lm]) + VLC_ADD_LIBS([compressor headphone_channel_mixer normvol audiobargraph_a speex mono colorthres extract ball],[-lm]) ]) AC_CHECK_LIB(m,ceil,[ VLC_ADD_LIBS([access_imem hotkeys mosaic swscale_omap],[-lm]) @@ -725,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 @@ -760,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 @@ -808,21 +795,27 @@ 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 sys/mount.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]) AC_CHECK_HEADERS([net/if.h], [], [], [ #include #include ]) +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) @@ -836,21 +829,16 @@ then fi ]) -dnl Check for dirent -need_dirent=false -AC_CHECK_HEADERS(dirent.h,,[need_dirent=:]) -AM_CONDITIONAL(BUILD_DIRENT, ${need_dirent}) - 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 @@ -865,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 @@ -873,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 @@ -910,6 +898,19 @@ fi AM_CONDITIONAL(HAVE_MINIZIP, [ test "${have_minizip}" = "yes" ]) +dnl Manual switch for UTF-8 +AC_ARG_ENABLE(non-utf8, + [ --enable-non-utf8 Legacy non-UTF-8 systems support (default disabled)],, [ + AS_IF([test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"], [ + enable_non_utf8="no" + ]) +]) +AS_IF([test "${enable_non_utf8}" != "no"], [ + AC_DEFINE([ASSUME_UTF8], [1], + [Define to 1 if the operating system uses UTF-8 internally]) +]) + + dnl Check for dbus AC_ARG_ENABLE(dbus, [ --enable-dbus Linux D-BUS message bus system (default enabled)]) @@ -1033,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 @@ -1348,7 +1345,10 @@ AS_IF([test "${enable_neon}" != "no"], [ AC_CACHE_CHECK([if $CC groks NEON inline assembly], [ac_cv_neon_inline], [ CFLAGS="${CFLAGS_save} -mfpu=neon" AC_COMPILE_IFELSE([ - AC_LANG_PROGRAM(,[[asm volatile("vqmovun.s64 d0, q1":::"d0");]]) + AC_LANG_PROGRAM(,[[ +asm volatile("vqmovun.s64 d0, q1":::"d0"); +asm volatile("ssat r0, #1, r0":::"r0"); /* assume ARMv6 */ +]]) ], [ ac_cv_neon_inline="-mfpu=neon" ], [ @@ -1735,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`" @@ -1788,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], @@ -1843,105 +1845,31 @@ PKG_ENABLE_MODULES_VLC([DV], [access_dv], [libraw1394 >= 2.0.1 libavc1394 >= 0.5 dnl dnl dvdread module: check for libdvdread dnl -AC_ARG_ENABLE(dvdread, -[ --enable-dvdread dvdread input module (default enabled)]) -if test "${enable_dvdread}" != "no" -then - AC_ARG_WITH(dvdread, - [ --with-dvdread=PATH libdvdread headers and libraries]) - AC_ARG_WITH(dvdread-tree, - [ --with-dvdread-tree=PATH libdvdread tree for static linking]) - - dnl prepend -ldvdcss on OS that need it - AS_CASE(["${SYS}"], [mingw32|darwin|beos], [VLC_ADD_LIBS([dvdread], [-ldvdcss])]) - - if test -z "${with_dvdread}" - then - if test -z "${with_dvdread_tree}" - then - AC_CHECK_HEADERS(dvdread/dvd_reader.h, - [ VLC_ADD_PLUGIN([dvdread]) - VLC_ADD_LIBS([dvdread],[-ldvdread]) - ],[ - AC_CHECK_HEADERS(libdvdread/dvd_reader.h, - [ VLC_ADD_PLUGIN([dvdread]) - VLC_ADD_LIBS([dvdread],[-ldvdread]) - ],[ - if test -n "${enable_dvdread}" - then - AC_MSG_ERROR([cannot find libdvdread headers]) - fi - ]) - ]) - else - AC_MSG_CHECKING(for libdvdread.a in ${with_dvdread_tree}) - real_dvdread_tree="`cd ${with_dvdread_tree} 2>/dev/null && pwd`" - if test -z "${real_dvdread_tree}" - then - dnl The given directory can't be found - AC_MSG_RESULT(no) - AC_MSG_ERROR([cannot cd to ${with_dvdread_tree}]) - fi - if test -f "${real_dvdread_tree}/dvdread/.libs/libdvdread.a" - then - dnl Use a custom libdvdread - AC_MSG_RESULT(${real_dvdread_tree}/dvdread/.libs/libdvdread.a) - VLC_ADD_PLUGIN([dvdread]) - VLC_ADD_LIBS([dvdread],[-L${real_dvdread_tree}/dvdread/.libs -ldvdread]) - VLC_ADD_CPPFLAGS([dvdread],[-I${real_dvdread_tree}]) - else - dnl The given libdvdread wasn't built - AC_MSG_RESULT(no) - AC_MSG_ERROR([cannot find ${real_dvdread_tree}/dvdread/.libs/libdvdread.a, make sure you compiled libdvdread in ${with_dvdread_tree}]) - fi - fi - else - AC_MSG_CHECKING(for dvdread headers in ${with_dvdread}) - if test -f ${with_dvdread}/include/dvdread/dvd_reader.h - then - dnl Use ${with_dvdread}/include/dvdread/dvd_reader.h - AC_MSG_RESULT(yes) - VLC_ADD_PLUGIN([dvdread]) - VLC_ADD_LIBS([dvdread],[-L${with_dvdread}/lib -ldvdread]) - VLC_ADD_CPPFLAGS([dvdread],[-I${with_dvdread}/include]) - else - dnl No libdvdread could be found, sorry - AC_MSG_RESULT(no) - AC_MSG_ERROR([cannot find ${with_dvdread}/include/dvdread/dvd_reader.h]) - fi - fi - - dnl append -ldvd on OS that need it - AS_CASE(["${SYS}"], [bsdi], [VLC_ADD_LIBS([dvdread], [-ldvd])]) -fi +dnl prepend -ldvdcss on OS that need it +AS_CASE(["${SYS}"], [mingw32|darwin], [VLC_ADD_LIBS([dvdread], [-ldvdcss])]) +PKG_ENABLE_MODULES_VLC([DVDREAD], [], [dvdread], [dvdread input module], [auto]) dnl -dnl libdvdnav plugin +dnl libdvdnav plugin dnl AC_ARG_ENABLE(dvdnav, [ --enable-dvdnav dvdnav input module (default enabled)]) 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}]) - fi + 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}])], + [AC_MSG_WARN(dvdnav library not found)]) fi dnl @@ -1980,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 @@ -2120,42 +2053,6 @@ then fi -dnl -dnl Video4Linux plugin -dnl -AC_ARG_ENABLE(v4l, - [ --enable-v4l Video4Linux input support (default disabled)]) -if test "${enable_v4l}" = "yes" -then - AC_ARG_WITH(v4l, - [ --with-v4l=PATH path to a v4l-enabled kernel tree],[],[]) - if test "${with_v4l}" != "no" -a -n "${with_v4l}" - then - VLC_ADD_CPPFLAGS([v4l],[-I${with_v4l}/include]) - fi - - CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_v4l}" - AC_CHECK_HEADERS(linux/videodev.h, [ - VLC_ADD_PLUGIN([v4l]) - ],[]) - CPPFLAGS="${CPPFLAGS_save}" -fi - -dnl -dnl libv4l1 support for video4linux. -dnl -AC_ARG_ENABLE( libv4l, - [ --enable-libv4l Libv4l Video4Linux support (default enabled)]) -if test "${enable_libv4l}" != "no" -a "${enable_v4l}" != "no" -then - PKG_CHECK_MODULES( LIBV4L, libv4l1, [ - VLC_ADD_LDFLAGS([v4l],[${LIBV4L_LIBS}]) - VLC_ADD_CFLAGS([v4l],[${LIBV4L_CFLAGS}]) - AC_DEFINE(HAVE_LIBV4L1, 1, Define if libv4l is available)], - AC_MSG_WARN([LibV4L support disabled because libv4l development headers were not found]) - ) -fi - dnl dnl Video4Linux2 plugin dnl @@ -2225,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 @@ -2353,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 @@ -2376,6 +2292,23 @@ 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 ogg demux plugin dnl @@ -2397,21 +2330,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], @@ -2429,7 +2362,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.]) @@ -2447,45 +2380,17 @@ dnl dnl modplug demux plugin dnl AC_ARG_ENABLE(mod, - [ --enable-mod Mod demux support (default enabled)]) -if test "${enable_mod}" != "no" -then - AC_ARG_WITH(mod-tree, - [ --with-mod-tree=PATH mod tree for static linking]) - if test -n "${with_mod_tree}" - then - AC_MSG_CHECKING(for libmodplug.a in ${with_mod_tree}) - real_mod_tree="`cd ${with_mod_tree} 2>/dev/null && pwd`" - if test -z "${real_mod_tree}" - then - dnl The given directory can't be found - AC_MSG_RESULT(no) - AC_MSG_ERROR([cannot cd to ${with_mod_tree}]) - fi - if test -f "${real_mod_tree}/src/.libs/libmodplug.a" - then - dnl Use a custom mod - AC_MSG_RESULT(${real_mod_tree}/src/.libs/libmodplug.a) - VLC_ADD_PLUGIN([mod]) - VLC_ADD_LIBS([mod],[${real_mod_tree}/src/.libs/libmodplug.a -lstdc++]) - VLC_ADD_CXXFLAGS([mod],[-I${real_mod_tree}/include]) - else - dnl The given mod wasn't built - AC_MSG_RESULT(no) - AC_MSG_ERROR([cannot find ${real_mod_tree}/src/.libs/libmodplug.a, make sure you compiled mod in ${with_mod_tree}]) - fi - else - PKG_CHECK_MODULES(LIBMODPLUG, [libmodplug >= 0.8], [ - PKG_CHECK_MODULES(WORKING_LIBMODPLUG, [libmodplug != 0.8.8],, [ - AC_MSG_ERROR([libmodplug version 0.8.8 will not work. Please upgrade to 0.8.8.1 or later (or downgrade to 0.8.7)!]) - ]) - VLC_ADD_PLUGIN([mod]) - VLC_ADD_CXXFLAGS([mod],[$LIBMODPLUG_CFLAGS]) - VLC_ADD_LIBS([mod],[$LIBMODPLUG_LIBS]) - ], [ - AC_MSG_WARN([libmodplug not found!]) + [ --enable-mod Mod demux support (default auto)]) +if test "${enable_mod}" != "no" ; then + PKG_CHECK_MODULES(LIBMODPLUG, [libmodplug >= 0.8.4 libmodplug != 0.8.8], [ + VLC_ADD_PLUGIN([mod]) + VLC_ADD_CXXFLAGS([mod],[$LIBMODPLUG_CFLAGS]) + VLC_ADD_LIBS([mod],[$LIBMODPLUG_LIBS]) + ],[ + AS_IF([test x"${enable_mod}" = "xyes"], + [AC_MSG_ERROR(libmodplug not found or a broken version (0.8.8.0) was found!)], + [AC_MSG_WARN(libmodplug not found or a broken version (0.8.8.0) was found!)]) ]) - fi fi dnl @@ -2503,44 +2408,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 @@ -2636,19 +2503,6 @@ then fi fi -dnl -dnl libid3tag support (FIXME!!! doesn't work with new input) -dnl -AC_ARG_ENABLE( id3tag, -[ --enable-id3tag id3tag metadata reader plugin (default disabled)]) -AS_IF([test "${enable_id3tag}" = "yes"], [ - AC_CHECK_HEADERS(id3tag.h, [ - AS_IF([test "${have_zlib}" = "yes"],[ - VLC_ADD_LIBS([id3tag],[-lid3tag -lz]) - VLC_ADD_PLUGIN([id3tag]) - ]) - ]) -]) AC_ARG_ENABLE(merge-ffmpeg, [ --enable-merge-ffmpeg merge FFmpeg-based plugins (default disabled)],, [ @@ -2656,14 +2510,20 @@ 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 AC_ARG_ENABLE(avcodec, [ --enable-avcodec libavcodec codec (default enabled)]) -if test "${enable_avcodec}" != "no" -then - PKG_CHECK_MODULES(AVCODEC,[libavcodec >= 52.2.0 libavutil], +AS_IF([test "${enable_avcodec}" != "no"], [ + PKG_CHECK_MODULES(AVCODEC,[libavcodec >= 52.25.0 libavutil], [ VLC_SAVE_FLAGS CPPFLAGS="${CPPFLAGS} ${AVCODEC_CFLAGS}" @@ -2672,13 +2532,18 @@ then 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" ],[ AC_MSG_ERROR([Could not find libavcodec or libavutil. Use --disable-avcodec to ignore this error.]) ]) -fi +], [ + have_avcodec="no" +]) dnl dnl libva needs avcodec @@ -2694,8 +2559,8 @@ AS_IF([test "${enable_libva}" != "no"], [ CPPFLAGS="${CPPFLAGS} ${AVCODEC_CFLAGS}" CFLAGS="${CFLAGS} ${AVCODEC_CFLAGS}" AC_CHECK_HEADERS(libavcodec/vaapi.h, [ - VLC_ADD_LIBS([avcodec],[$LIBVA_LIBS]) - VLC_ADD_CFLAGS([avcodec],[$LIBVA_CFLAGS]) + VLC_ADD_LIBS([avcodec],[$LIBVA_LIBS ${X_LIBS} ${X_PRE_LIBS} -lX11]) + VLC_ADD_CFLAGS([avcodec],[$LIBVA_CFLAGS ${X_CFLAGS}]) AC_DEFINE(HAVE_AVCODEC_VAAPI, 1, [Define if avcodec has to be built with VAAPI support.]) echo "VAAPI acceleration activated" ],[ @@ -2770,20 +2635,25 @@ dnl avformat demuxer/muxer plugin dnl AC_ARG_ENABLE(avformat, -[ --enable-avformat libavformat containers (default enabled)]) +[ --enable-avformat libavformat containers (default enabled)],, [ + enable_avformat="${have_avcodec}" +]) if test "${enable_avformat}" != "no" then - PKG_CHECK_MODULES(AVFORMAT,[libavformat libavutil], + PKG_CHECK_MODULES(AVFORMAT,[libavformat > 52.30.0 libavcodec libavutil], [ 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]) @@ -2812,6 +2682,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.]) @@ -3131,12 +3004,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]) ]) @@ -3216,26 +3083,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 @@ -3302,7 +3149,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" @@ -3314,11 +3161,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], [ @@ -3335,7 +3183,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], [ @@ -3358,8 +3208,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)],, [ @@ -3380,6 +3230,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 @@ -3485,6 +3347,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 @@ -3500,6 +3386,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]) @@ -3517,6 +3404,23 @@ then fi fi +dnl +dnl Windows Direct2D plugin +dnl +AC_ARG_ENABLE(direct2d, + [ --enable-direct2d Win7/VistaPU Direct2D support (default auto on Win32)]) +if test "${enable_direct2d}" != "no"; then + if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce" + then + AC_CHECK_HEADERS(d2d1.h, + [ + VLC_ADD_PLUGIN([direct2d]) + VLC_ADD_LIBS([direct2d],[-lgdi32 -lole32]) + ], [AC_MSG_WARN([Cannot find Direct2D headers!])] + ) + fi +fi + dnl dnl win32 GDI plugin dnl @@ -3648,7 +3552,7 @@ dnl dnl OSS /dev/dsp module (enabled by default except on win32) dnl AC_ARG_ENABLE(oss, - [ --enable-oss Linux OSS /dev/dsp support (enabled on Linux)]) + [ --enable-oss Open Sound System OSS support (default enabled)]) if test "${enable_oss}" != "no" && (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" || @@ -3663,15 +3567,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 @@ -3681,7 +3577,19 @@ PKG_ENABLE_MODULES_VLC([PORTAUDIO], [], [portaudio-2.0], [Portaudio library supp dnl dnl ALSA module dnl -PKG_ENABLE_MODULES_VLC([ALSA], [alsa access_alsa], [alsa >= 1.0.0], [Alsa sound support for linux], [auto]) +AC_ARG_ENABLE(alsa, + [ --enable-alsa Advanced Linux Sound Architecture (default auto)]) +have_alsa="no" +AS_IF([test "${enable_alsa}" != "no"], [ + PKG_CHECK_MODULES([ALSA], [alsa >= 1.0.0], [ + have_alsa="yes" + ], [ + AS_IF([test "x${enable_alsa}" != "x"], [ + AC_MSG_ERROR([alsa-lib not found]) + ]) + ]) +]) +AM_CONDITIONAL([HAVE_ALSA], [test "${have_alsa}" = "yes"]) dnl dnl win32 waveOut plugin @@ -3712,6 +3620,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 @@ -3733,84 +3652,11 @@ dnl JACK modules dnl PKG_ENABLE_MODULES_VLC([JACK], [jack access_jack], [jack], [JACK audio I/O modules],[auto]) - -dnl -dnl CyberLink for C++ UPnP stack -dnl -AC_ARG_ENABLE(cyberlink, - [ --enable-cyberlink CyberLink for C++ UPnP stack (default disabled)]) - AS_IF([test "${enable_cyberlink}" = "yes" ], [ - AC_ARG_WITH(cyberlink-tree, - [ --with-cyberlink-tree=PATH CyberLink for C++ tree for static linking]) - - dnl - dnl test for --with-cyberlink-tree - dnl - AS_IF([test ! -z "${with_cyberlink_tree}" -a "${CXX}" != ""], [ - AC_LANG_PUSH(C++) - real_cyberlink_tree="`cd ${with_cyberlink_tree} 2>/dev/null && pwd`" - AS_IF([test -z "${real_cyberlink_tree}"], [ - dnl The given directory can't be found - AC_MSG_RESULT(no) - AC_MSG_ERROR([cannot cd to ${with_cyberlink_tree}]) - ]) - CPPFLAGS_save="${CPPFLAGS}" - CPPFLAGS_cyberlink="-I${real_cyberlink_tree}/include" - CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_cyberlink}" - AC_CHECK_HEADERS([cybergarage/upnp/MediaServer.h], - [ VLC_ADD_CXXFLAGS([upnp_cc], [${CPPFLAGS_cyberlink}]) - VLC_ADD_PLUGIN([upnp_cc]) - ],[ - AC_MSG_ERROR([cannot find CyberLink for C++ headers]) - ]) - AC_MSG_CHECKING(for libclink.a in ${with_cyberlink_tree}) - AS_IF([test -f "${real_cyberlink_tree}/lib/unix/libclink.a"], [ - AC_MSG_RESULT(${real_cyberlink_tree}/lib/unix/libclink.a) - dnl The mere fact that we have to make such an ugly check sucks - AC_MSG_CHECKING(for XML parser to link CyberLink with) - LIBS_save="$LIBS" - LIBS_cclink="no" - for l in "`xml2-config --libs`" -lexpat -lxerces-c; do - LIBS="$LIBS_save ${real_cyberlink_tree}/lib/unix/libclink.a -lpthread $l" - AC_LINK_IFELSE([AC_LANG_PROGRAM([ -#include -using namespace CyberLink; - -class testclass : public SearchResponseListener, public MediaPlayer -{ - virtual void deviceSearchResponseReceived( SSDPPacket *) - { - } - - public: - testclass (void) - { - addSearchResponseListener (this); - start (); - } -}; -],[testclass l;])],[LIBS_cclink="$l"]) - done - LIBS="${LIBS_save}" - dnl should not happen - otherwise this needs fixing - hence FAILURE - AS_IF([test "${LIBS_cclink}" = "no"], - [AC_MSG_FAILURE([cannot find XML parser for CyberLink])]) - AC_MSG_RESULT([${LIBS_cclink}]) - VLC_ADD_LIBS([upnp_cc], [${real_cyberlink_tree}/lib/unix/libclink.a -lpthread ${LIBS_cclink}]) - ], [ - AC_MSG_RESULT(no) - AC_MSG_ERROR([cannot find ${real_cyberlink_tree}/lib/unix/libclink.a, make sure you compiled CyberLink for C++ in ${with_cyberlink_tree}]) - ]) - CPPFLAGS="${CPPFLAGS_save}" - AC_LANG_POP([C++]) - ]) -]) - dnl dnl UPnP Plugin (Intel SDK) dnl PKG_ENABLE_MODULES_VLC([UPNP], [upnp_intel], [libupnp], [Intel UPnp SDK],[auto]) - +VLC_ADD_CXXFLAGS([upnp_intel],[${UPNP_CFLAGS}]) dnl dnl Interface plugins @@ -3823,10 +3669,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" @@ -3844,7 +3690,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]) @@ -3858,12 +3704,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 @@ -3903,14 +3749,37 @@ AC_ARG_ENABLE(qt4, AS_IF([test "${enable_qt4}" != "no"], [ PKG_CHECK_MODULES(QT4, [QtCore QtGui >= 4.4.0], [ VLC_ADD_PLUGIN([qt4]) + VLC_ADD_LIBS([qt4],[${QT4_LIBS}]) + VLC_ADD_CXXFLAGS([qt4],[${QT4_CFLAGS}]) ALIASES="${ALIASES} qvlc" - AS_IF([test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" -a "${SYS}" != "darwin"], [ - VLC_ADD_LIBS([qt4],[$QT4_LIBS ${X_LIBS} ${X_PRE_LIBS} -lX11]) - need_xid_provider="no" - VLC_ADD_CXXFLAGS([qt4],[$QT4_CFLAGS ${X_CFLAGS}]) + + AC_LANG_PUSH([C++]) + CPPFLAGS_save="${CPPFLAGS}" + + AC_MSG_CHECKING([whether Qt uses X11]) + CPPFLAGS="${CPPFLAGS} ${QT4_CFLAGS}" + AC_PREPROC_IFELSE([ +#include +#if !defined (Q_WS_X11) +# error Fail +#endif + ], [ + AC_MSG_RESULT([yes]) + VLC_ADD_LIBS([qt4],[${X_LIBS} ${X_PRE_LIBS} -lX11]) + need_xid_provider="no" + VLC_ADD_CXXFLAGS([qt4],[${X_CFLAGS}]) ], [ - VLC_ADD_LIBS([qt4],[$QT4_LIBS -lole32]) - VLC_ADD_CXXFLAGS([qt4],[$QT4_CFLAGS]) + AC_MSG_RESULT([no]) + ]) + + CPPFLAGS="${CPPFLAGS_save}" + AC_LANG_POP([C++]) + + 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) @@ -4018,32 +3887,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] ) @@ -4316,6 +4175,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 @@ -4382,226 +4258,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 @@ -4691,7 +4347,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) @@ -4703,30 +4358,14 @@ dnl Create vlc-config.in VLC_OUTPUT_VLC_CONFIG_IN AC_CONFIG_FILES([ - extras/package/win32/spad.nsi - extras/package/win32/vlc.win32.nsi - 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 Makefile - projects/activex/Makefile - projects/activex/axvlc.inf doc/Makefile - extras/package/ipkg/Makefile libs/loader/Makefile libs/srtp/Makefile libs/unzip/Makefile modules/Makefile - projects/mozilla/Makefile m4/Makefile po/Makefile.in - projects/activex/axvlc_rc.rc - projects/mozilla/npvlc_rc.rc - projects/mozilla/vlc.r - projects/mozilla/install.js - projects/mozilla/install.rdf - projects/mozilla/manifest.json share/Makefile compat/Makefile src/Makefile @@ -4758,7 +4397,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 @@ -4789,6 +4427,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 @@ -4811,6 +4450,20 @@ AC_CONFIG_FILES([ modules/arm_neon/Makefile ]) +AM_COND_IF([HAVE_WIN32], [ + AC_CONFIG_FILES([ + extras/package/win32/spad.nsi + extras/package/win32/vlc.win32.nsi + ]) +]) + +AM_COND_IF([HAVE_DARWIN], [ + AC_CONFIG_FILES([ + extras/package/macosx/Info.plist + extras/package/macosx/Resources/English.lproj/InfoPlist.strings + ]) +]) + dnl Generate makefiles AC_OUTPUT