X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=configure.ac;h=831f94fc57f34c8bbabe21016f66b9bca03ce696;hb=e78a61c186641a2be339f9b85994f59cb164362c;hp=b2547aa8e864f4db92475c0baf5ddbc780ee44a4;hpb=4a78361e7a557fd32d74cf9a84633a9c39f7d384;p=vlc diff --git a/configure.ac b/configure.ac index b2547aa8e8..831f94fc57 100644 --- a/configure.ac +++ b/configure.ac @@ -57,7 +57,11 @@ dnl Check for tools dnl AC_PROG_CC_C99 AC_USE_SYSTEM_EXTENSIONS -AC_DEFINE([_FORTIFY_SOURCE], 2, [Define to '2' to get glibc warnings.]) +AC_DEFINE([_FORTIFY_SOURCE], 2, [Define to 2 to get glibc warnings.]) +AC_DEFINE([_FILE_OFFSET_BITS], 64, [Define to 64 for large files support.]) +AC_DEFINE([_REENTRANT],, [Define to expose reentrant functions.]) +AC_DEFINE([_THREAD_SAFE],, [Same as _REENTANT for some other OSes.]) +AC_DEFINE([__LIBVLC__],, [Define within the LibVLC source code tree.]) AM_PROG_CC_C_O AC_PROG_CXX @@ -94,26 +98,6 @@ AS_IF([test -n "${with_binary_version}"],[ [Binary specific version]) ]) -dnl Check how we are asked to build -AS_IF([test "${enable_shared}" = "no" -a "${enable_vlc}" != "no"], [ - AC_MSG_ERROR([VLC is based on plugins. Shared libraries cannot be disabled.]) -]) - -AC_ARG_ENABLE(static-modules, - [AS_HELP_STRING([--enable-static-modules], - [link modules statically - VLC will not work])]) -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 dnl @@ -310,21 +294,20 @@ case "${host_os}" in *mingw32* | *cygwin* | *wince* | *mingwce*) AC_CHECK_TOOL(WINDRES, windres, :) AC_CHECK_TOOL(OBJCOPY, objcopy, :) + AC_DEFINE([_WIN32_WINNT], 0x0501, [Define to '0x0501' for Windows XP APIs.]) + AC_DEFINE([_WIN32_IE], 0x0501, [Define to '0x0501' for IE 5.01 (and shell) APIs.]) case "${host_os}" in *wince* | *mingwce* | *mingw32ce*) SYS=mingwce dnl Sadly CeGCC still needs non-wince macros - AC_DEFINE([_WIN32_WINNT], 0x0501, [Define to '0x0500' for Windows 2000 APIs.]) ;; *mingw32*) SYS=mingw32 - AC_DEFINE([_WIN32_WINNT], 0x0501, [Define to '0x0500' for Windows XP APIs.]) ;; *cygwin*) dnl Check if we are using the mno-cygwin mode in which case we are dnl actually dealing with a mingw32 compiler. - AC_DEFINE([_WIN32_WINNT], 0x0501, [Define to '0x0501' for Windows XP APIs.]) AC_EGREP_CPP(yes, [#ifdef WIN32 yes @@ -419,6 +402,23 @@ case "${build_os}" in ;; esac +dnl Android is linux, but a bit different +AS_IF([test "$SYS" = linux],[ + AC_MSG_CHECKING([for an Android system]) + AC_PREPROC_IFELSE([AC_LANG_PROGRAM( + [[#ifndef __ANDROID__ + # error Not Android + #endif + ]],[[;]]) + ],[ + HAVE_ANDROID="1" + AC_MSG_RESULT([yes]) + ],[ + AC_MSG_RESULT([no]) + ]) +]) +AM_CONDITIONAL(HAVE_ANDROID, test "${HAVE_ANDROID}" = "1") + dnl dnl Libtool dnl It's very bad, but our former custom system was worst @@ -444,6 +444,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 @@ -562,8 +566,8 @@ 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 mmap openat pread posix_fadvise posix_madvise posix_memalign setlocale stricmp strnicmp uselocale]) -AC_REPLACE_FUNCS([asprintf atof atoll dirfd getcwd getdelim getpid gmtime_r lldiv localtime_r nrand48 rewind setenv strcasecmp strcasestr strdup strlcpy strncasecmp strndup strnlen strsep strtof strtok_r strtoll swab tdestroy vasprintf]) +AC_CHECK_FUNCS([daemon fcntl fdopendir fstatvfs fork getenv getpwuid_r gettimeofday if_nameindex if_nametoindex isatty lstat memalign mmap openat pread posix_fadvise posix_madvise posix_memalign setlocale stricmp strnicmp uselocale]) +AC_REPLACE_FUNCS([asprintf atof atoll dirfd flockfile fsync getcwd getdelim getpid gmtime_r lldiv localtime_r nrand48 rewind setenv 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.]) ]) @@ -673,10 +677,10 @@ AC_SUBST(GNUGETOPT_LIBS) if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then AC_CHECK_LIB(m,cos,[ - VLC_ADD_LIBS([adjust wave ripple psychedelic gradient a52tofloat32 dtstofloat32 x264 goom visual panoramix rotate noise grain scene kate flac lua chorus_flanger],[-lm]) + VLC_ADD_LIBS([adjust wave ripple psychedelic gradient a52tofloat32 dtstofloat32 x264 goom visual panoramix rotate noise grain scene kate flac lua chorus_flanger freetype],[-lm]) ]) 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]) + VLC_ADD_LIBS([avcodec avformat access_avio swscale postproc 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([compressor headphone_channel_mixer normvol audiobargraph_a speex mono colorthres extract ball],[-lm]) @@ -703,21 +707,6 @@ AC_CHECK_LIB(m,lrintf, [ dnl Check for dynamic plugins ac_cv_have_plugins=no -# HP-UX style -if test "${ac_cv_have_plugins}" = "no"; then - AC_CHECK_HEADERS(dl.h) - ac_cv_my_have_shl_load=no - AC_CHECK_FUNC(shl_load, - [ac_cv_my_have_shl_load=yes, - AC_CHECK_LIB(dld, shl_load, - [ac_cv_my_have_shl_load=yes - VLC_ADD_LIBS([libvlccore],[-ldld])])]) - if test "${ac_cv_my_have_shl_load}" = "yes"; then - AC_DEFINE(HAVE_DL_SHL_LOAD, 1, [Define if you have the shl_load API]) - ac_cv_have_plugins=yes - fi -fi - # Win32 style if test "${ac_cv_have_plugins}" = "no"; then if test "${SYS}" = "mingw32" ; then @@ -989,6 +978,9 @@ dnl RDC_PROG_CC_WFLAGS([all extra sign-compare undef pointer-arith bad-function-cast write-strings missing-prototypes volatile-register-var error-implicit-function-declaration]) RDC_PROG_CC_FLAGS([-pipe]) +AC_LANG_PUSH([C++]) +RDC_PROG_CXX_WFLAGS([all extra sign-compare undef pointer-arith volatile-register-var]) +AC_LANG_POP([C++]) dnl dnl Debugging mode @@ -1043,86 +1035,181 @@ AS_IF([test "${enable_coverage}" != "no"], [ CFLAGS="-fprofile-arcs -ftest-coverage ${CFLAGS}" CXXFLAGS="-fprofile-arcs -ftest-coverage ${CXXFLAGS}" LDFLAGS="-lgcov ${LDFLAGS}" - CFLAGS_save="${CFLAGS}" - CXXFLAGS_save="${CXXFLAGS}" - LDFLAGS_save="${LDFLAGS}" ]) VLC_SAVE_FLAGS +AS_IF([test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"], [ + AC_CACHE_CHECK([if $CC accepts -fvisibility=hidden], + [ac_cv_c_visibility_hidden], [ + CFLAGS="${CFLAGS_save} -fvisibility=hidden" + AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], [ + ac_cv_c_visibility_hidden=yes + ], [ + ac_cv_c_visibility_hidden=no + ]) + ]) + AS_IF([test "${ac_cv_c_visibility_hidden}" != "no"], [ + VLC_RESTORE_FLAGS + CFLAGS="${CFLAGS} -fvisibility=hidden" + CXXFLAGS="${CXXFLAGS} -fvisibility=hidden" + OBJCFLAGS="${OBJCFLAGS} -fvisibility=hidden" + VLC_SAVE_FLAGS + ]) +]) + + +dnl +dnl Enable/disable optimizations +dnl +AC_ARG_ENABLE(optimizations, + [AS_HELP_STRING([--disable-optimizations], + [disable compiler optimizations (default enabled)])],, + [enable_optimizations="yes"]) +AS_IF([test "${enable_optimizations}" != "no"], [ + enable_optimizations="speed" +]) + dnl Check for various optimization flags -AC_CACHE_CHECK([if \$CC accepts -O4], - [ac_cv_c_o4], - [CFLAGS="${CFLAGS_save} -O4" - AC_TRY_COMPILE([],,ac_cv_c_o4=yes, ac_cv_c_o4=no)]) -if test "${ac_cv_c_o4}" != "no" -a "x${enable_debug}" = "xno"; then - CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -O4" -else - AC_CACHE_CHECK([if \$CC accepts -O3], - [ac_cv_c_o3], - [CFLAGS="${CFLAGS_save} -O3" - AC_TRY_COMPILE([],,ac_cv_c_o3=yes, ac_cv_c_o3=no)]) - if test "${ac_cv_c_o3}" != "no" -a "x${enable_debug}" = "xno"; then - CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -O3" - else - AC_CACHE_CHECK([if \$CC accepts -O2], - [ac_cv_c_o2], - [CFLAGS="${CFLAGS_save} -O2" - AC_TRY_COMPILE([],,ac_cv_c_o2=yes, ac_cv_c_o2=no)]) - if test "${ac_cv_c_o2}" != "no"; then - CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -O2" - else - AC_CACHE_CHECK([if \$CC accepts -O], - [ac_cv_c_o], - [CFLAGS="${CFLAGS_save} -O" - AC_TRY_COMPILE([],,ac_cv_c_o=yes, ac_cv_c_o=no)]) - if test "${ac_cv_c_o}" != "no"; then - CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -O" - fi - fi - fi -fi +AS_IF([test "${enable_optimizations}" != "no"], [ + + C_O="" + dnl -O4 and -O3 only in production builds + AS_IF([test "{enable_debug}" = "no"], [ + AC_CACHE_CHECK([if $CC accepts -O4], [ac_cv_c_o4], [ + CFLAGS="${CFLAGS_save} -O4" + AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], [ + ac_cv_c_o4=yes + ], [ + ac_cv_c_o4=no + ]) + ]) + AS_IF([test "${ac_cv_c_o4}" != "no"], [ + C_O="-O4" + ], [ + AC_CACHE_CHECK([if $CC accepts -O3], [ac_cv_c_o3], [ + CFLAGS="${CFLAGS_save} -O3" + AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], [ + ac_cv_c_o3=yes + ], [ + ac_cv_c_o3=no + ]) + ]) + AS_IF([test "${ac_cv_c_o3}" != "no"], [ + C_O="-O3" + ]) + ]) + ]) -dnl Check for -ffast-math -AC_CACHE_CHECK([if \$CC accepts -ffast-math], - [ac_cv_c_fast_math], - [CFLAGS="${CFLAGS_save} -ffast-math" - AC_TRY_COMPILE([],,ac_cv_c_fast_math=yes, ac_cv_c_fast_math=no)]) -if test "${ac_cv_c_fast_math}" != "no"; then - CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -ffast-math" -fi + dnl -O2 and -O in both production and debug builds + AS_IF([test "x$C_O" = "x"], [ + AC_CACHE_CHECK([if \$CC accepts -O2], [ac_cv_c_o2], [ + CFLAGS="${CFLAGS_save} -O2" + AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], [ + ac_cv_c_o2=yes + ], [ + ac_cv_c_o2=no + ]) + ]) + AS_IF([test "${ac_cv_c_o2}" != "no"], [ + C_O="-O2" + ], [ + AC_CACHE_CHECK([if \$CC accepts -O], [ac_cv_c_o], [ + CFLAGS="${CFLAGS_save} -O" + AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], [ + ac_cv_c_o=yes + ], [ + ac_cv_c_o=no + ]) + ]) + AS_IF([test "${ac_cv_c_o}" != "no"], [ + C_O="-O" + ]) + ]) + ]) -dnl Check for -funroll-loops -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 + VLC_RESTORE_FLAGS + CFLAGS="${CFLAGS} ${C_O}" + CXXFLAGS="${CXXFLAGS} ${C_O}" + OBJCFLAGS="${OBJCFLAGS} ${C_O}" + VLC_SAVE_FLAGS + + dnl Check for -ffast-math + AC_CACHE_CHECK([if $CC accepts -ffast-math], [ac_cv_c_fast_math], [ + CFLAGS="${CFLAGS_save} -ffast-math" + AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], [ + ac_cv_c_fast_math=yes + ], [ + ac_cv_c_fast_math=no + ]) + ]) + AS_IF([test "${ac_cv_c_fast_math}" != "no"], [ + VLC_RESTORE_FLAGS + CFLAGS="${CFLAGS} -ffast-math" + CXXFLAGS="${CXXFLAGS} -ffast-math" + OBJCFLAGS="${OBJCFLAGS} -ffast-math" + VLC_SAVE_FLAGS + ]) -dnl Check for -fomit-frame-pointer -AC_CACHE_CHECK([if \$CC accepts -fomit-frame-pointer], - [ac_cv_c_omit_frame_pointer], - [CFLAGS="${CFLAGS_save} -fomit-frame-pointer" - AC_TRY_COMPILE([],,ac_cv_c_omit_frame_pointer=yes, ac_cv_c_omit_frame_pointer=no)]) -if test "${ac_cv_c_omit_frame_pointer}" != "no"; then - if test "${SYS}" != "darwin"; then - CFLAGS_OPTIM_NODEBUG="${CFLAGS_OPTIM_NODEBUG} -fomit-frame-pointer" - else - dnl On darwin we explicitely disable it. - CFLAGS_OPTIM_NODEBUG="${CFLAGS_OPTIM_NODEBUG} -fno-omit-frame-pointer" - fi -fi + dnl Check for -funroll-loops + AC_CACHE_CHECK([if $CC accepts -funroll-loops], [ac_cv_c_unroll_loops], [ + CFLAGS="${CFLAGS_save} -funroll-loops" + AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], [ + ac_cv_c_unroll_loops=yes + ], [ + ac_cv_c_unroll_loops=no + ]) + ]) + AS_IF([test "${ac_cv_c_unroll_loops}" != "no"], [ + VLC_RESTORE_FLAGS + CFLAGS="${CFLAGS} -funroll-loops" + CXXFLAGS="${CXXFLAGS} -funroll-loops" + OBJCFLAGS="${OBJCFLAGS} -funroll-loops" + VLC_SAVE_FLAGS + ]) + + AS_IF([test "$enable_debug" = "no"], [ + dnl Check for -fomit-frame-pointer + AC_CACHE_CHECK([if $CC accepts -fomit-frame-pointer], + [ac_cv_c_omit_frame_pointer], [ + CFLAGS="${CFLAGS_save} -fomit-frame-pointer" + AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], [ + ac_cv_c_omit_frame_pointer=yes + ], [ + ac_cv_c_omit_frame_pointer=no + ]) + ]) + AS_IF([test "${ac_cv_c_omit_frame_pointer}" != "no"], [ + VLC_RESTORE_FLAGS + AS_IF([test "${SYS}" != "darwin"], [ + CFLAGS="${CFLAGS} -fomit-frame-pointer" + CXXFLAGS="${CXXFLAGS} -fomit-frame-pointer" + ], [ + dnl On darwin we explicitely disable it. + CFLAGS="${CFLAGS} -fno-omit-frame-pointer" + CXXFLAGS="${CXXFLAGS} -fno-omit-frame-pointer" + OBJCFLAGS="${OBJCFLAGS} -fno-omit-frame-pointer" + ]) + VLC_SAVE_FLAGS + ]) + ]) +]) dnl Check for Darwin plugin linking flags -AC_CACHE_CHECK([if \$CC accepts -bundle -undefined error], - [ac_cv_ld_darwin], - [CFLAGS="${CFLAGS_save} -bundle -undefined error" - AC_TRY_COMPILE([],,ac_cv_ld_darwin=yes, ac_cv_ld_darwin=no)]) -if test "${ac_cv_ld_darwin}" != "no"; then +AS_IF([test "${SYS}" = "darwin"], [ + AC_CACHE_CHECK([if $CC accepts -bundle -undefined error], + [ac_cv_ld_darwin], [ + CFLAGS="${CFLAGS_save} -bundle -undefined error" + AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], [ + ac_cv_ld_darwin=yes + ], [ + ac_cv_ld_darwin=no + ]) + ]) + AS_IF([test "${ac_cv_ld_darwin}" != "no"], [ VLC_ADD_LDFLAGS([plugin],[-bundle -undefined error]) -fi + ]) +]) dnl Checks for __attribute__(aligned()) directive AC_CACHE_CHECK([__attribute__ ((aligned ())) support], @@ -1228,7 +1315,6 @@ AS_IF([test "${enable_mmx}" != "no"], [ AS_IF([test "${ac_cv_c_mmx_intrinsics}" != "no"], [ AC_DEFINE(HAVE_MMX_INTRINSICS, 1, [Define to 1 if MMX intrinsics are available.]) - MMX_CFLAGS="-mmmx" ]) AC_CACHE_CHECK([if $CC groks MMX inline assembly], @@ -1253,7 +1339,6 @@ AS_IF([test "${enable_mmx}" != "no"], [ have_mmxext="yes" ]) ]) -AC_SUBST(MMX_CFLAGS) AM_CONDITIONAL([HAVE_MMX], [test "${have_mmx}" = "yes"]) AM_CONDITIONAL([HAVE_MMXEXT], [test "${have_mmxext}" = "yes"]) @@ -1264,7 +1349,7 @@ AC_ARG_ENABLE(sse, [AS_HELP_STRING([--disable-sse], [disable SSE (1-4) optimizations (default auto)])],, [ case "${host_cpu}" in - i686|x86_64) + i?86|x86_64) enable_sse=yes ;; *) @@ -1296,7 +1381,6 @@ AS_IF([test "${enable_sse}" != "no"], [ AS_IF([test "${ac_cv_c_sse2_intrinsics}" != "no"], [ AC_DEFINE(HAVE_SSE2_INTRINSICS, 1, [Define to 1 if SSE2 intrinsics are available.]) - SSE2_CFLAGS="-msse2" ]) AC_CACHE_CHECK([if $CC groks SSE inline assembly], @@ -1369,7 +1453,6 @@ AS_IF([test "${enable_sse}" != "no"], [ AC_DEFINE(CAN_COMPILE_SSE4A, 1, [Define to 1 if SSE4A inline assembly is available.]) ]) ]) -AC_SUBST(SSE2_CFLAGS) AM_CONDITIONAL([HAVE_SSE2], [test "$have_sse2" = "yes"]) have_3dnow="no" @@ -1406,12 +1489,16 @@ asm volatile("ssat r0, #1, r0":::"r0"); /* assume ARMv6 */ ]) CFLAGS="${CFLAGS_save}" ]) - ARM_NEON_CFLAGS="$ac_cv_neon_inline" + AS_IF([test "$ac_cv_neon_inline" != "no"], [ + NEON_CFLAGS="$ac_cv_neon_inline" + AC_DEFINE([CAN_COMPILE_NEON], 1, + [Define to 1 if NEON (and ARMv6) assembly is available with NEON_CFLAGS.]) + ]) ], [ ac_cv_neon_inline="no" ]) -AC_SUBST(ARM_NEON_CFLAGS) -AM_CONDITIONAL(HAVE_ARM_NEON, [test "${ac_cv_neon_inline}" != "no"]) +AC_SUBST(NEON_CFLAGS) +AM_CONDITIONAL(HAVE_NEON, [test "${ac_cv_neon_inline}" != "no"]) AC_ARG_ENABLE(altivec, @@ -1437,8 +1524,6 @@ AS_IF([test "${enable_altivec}" = "yes"], [ AC_DEFINE(CAN_COMPILE_ALTIVEC, 1, [Define to 1 if AltiVec inline assembly is available.]) AS_IF([test "${ac_cv_altivec_inline}" != "yes"], [ - VLC_ADD_CFLAGS([idctaltivec],[${ac_cv_altivec_inline}]) - VLC_ADD_CFLAGS([motionaltivec],[${ac_cv_altivec_inline}]) VLC_ADD_CFLAGS([memcpyaltivec],[${ac_cv_altivec_inline}]) VLC_ADD_CFLAGS([i420_yuy2_altivec],[${ac_cv_altivec_inline}]) VLC_ADD_CFLAGS([libvlccore],[${ac_cv_altivec_inline}]) @@ -1503,7 +1588,6 @@ dnl - Others: test should fail AC_DEFINE(CAN_COMPILE_C_ALTIVEC, 1, [Define to 1 if C AltiVec extensions are available.]) VLC_ADD_CFLAGS([libvlccore],[${ac_cv_c_altivec}]) - VLC_ADD_CFLAGS([idctaltivec motionaltivec],[${ac_cv_c_altivec}]) VLC_ADD_CFLAGS([i420_yuy2_altivec memcpyaltivec deinterlace],[${ac_cv_c_altivec} ${ac_cv_c_altivec_abi}]) have_altivec="yes" ]) @@ -1515,7 +1599,7 @@ dnl - Others: test should fail LDFLAGS="${LDFLAGS_save}" ]) AS_IF([test "${ac_cv_ld_altivec}" != "no"], [ - VLC_ADD_LDFLAGS([libvlccore idctaltivec motionaltivec memcpyaltivec],[-Wl,-framework,vecLib]) + VLC_ADD_LDFLAGS([libvlccore memcpyaltivec],[-Wl,-framework,vecLib]) ]) ]) AM_CONDITIONAL([HAVE_ALTIVEC], [test "$have_altivec" = "yes"]) @@ -1570,16 +1654,6 @@ if test "${enable_optimize_memory}" = "yes"; then AC_DEFINE(OPTIMIZE_MEMORY, 1, Define if you want to optimize memory usage over performance) fi -dnl -dnl Enable/disable optimizations -dnl -AC_ARG_ENABLE(optimizations, - [AS_HELP_STRING([--disable-optimizations], - [disable compiler optimizations (default enabled)])]) -if test "${enable_optimizations}" != "no"; then - enable_optimizations="speed" -fi - dnl dnl Allow running as root (useful for people running on embedded platforms) dnl @@ -1676,14 +1750,14 @@ dnl dnl Growl notification plugin dnl AC_ARG_ENABLE(growl, - [AS_HELP_STRING([--enable-growl], - [enable growl notifications (default disabled)])],, - [enable_growl="no"]) + [ --enable-growl growl notification plugin (default disabled)],, + [enable_growl=no]) AS_IF([test "${enable_growl}" != "no"], [ VLC_ADD_PLUGIN([growl_udp]) - AC_CHECK_HEADERS(Growl/GrowlDefines.h, [ + AC_CHECK_HEADERS(${CONTRIB_DIR}/Growl/Growl.framework/Versions/A/Headers/GrowlDefines.h, [ VLC_ADD_PLUGIN([growl]) - VLC_ADD_LDFLAGS([growl], [-Wl,-framework,Growl,-framework,AppKit]) + VLC_ADD_LDFLAGS([growl], [-F${CONTRIB_DIR}/Growl -Wl,-framework,Growl,-framework,CoreFoundation]) + VLC_ADD_OBJCFLAGS([growl], [-F${CONTRIB_DIR}/Growl]) VLC_ADD_OBJCFLAGS([growl], [-fobjc-exceptions] ) ]) ] @@ -1705,9 +1779,6 @@ AS_IF([test "${enable_taglib}" != "no"], [ VLC_ADD_PLUGIN([taglib]) VLC_ADD_LIBS([taglib],[$TAGLIB_LIBS -lz]) VLC_ADD_CXXFLAGS([taglib],[$TAGLIB_CFLAGS]) - AC_LANG_PUSH(C++) - AC_CHECK_HEADERS(taglib/mp4coverart.h) - AC_LANG_POP(C++) ], [ AC_MSG_WARN(TagLib library not found)]) ]) @@ -1937,7 +2008,7 @@ 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 ) ) +PKG_ENABLE_MODULES_VLC([BLURAY], [libbluray], [libbluray >= 0.2 libxml-2.0 >= 2.6 ], (libbluray for Blu-ray disc support ) ) dnl dnl OpenCV wrapper and example filters @@ -2137,14 +2208,9 @@ fi dnl dnl libdvbpsi check for ts mux/demux dnl -PKG_WITH_MODULES([DVBPSI], [libdvbpsi], - VLC_ADD_PLUGIN([ts]) - VLC_ADD_LIBS([ts],[-ldvbpsi]) -if test "${enable_sout}" != "no"; then - VLC_ADD_PLUGIN([mux_ts]) - VLC_ADD_LIBS([mux_ts],[-ldvbpsi]) -fi -) +have_dvbpsi="no" +PKG_WITH_MODULES([DVBPSI], [libdvbpsi], [have_dvbpsi="yes"]) +AM_CONDITIONAL(HAVE_DVBPSI, [test "${have_dvbpsi}" = "yes"]) dnl dnl Screen capture module @@ -2879,7 +2945,7 @@ PKG_ENABLE_MODULES_VLC([DIRAC], [], [dirac >= 0.10.0], [dirac encoder], [auto]) dnl dnl schroedinger decoder plugin (for dirac format video) dnl -PKG_ENABLE_MODULES_VLC([SCHROEDINGER], [], [schroedinger-1.0 >= 1.0.10], [dirac decoder and encoder using schroedinger], [auto]) +PKG_ENABLE_MODULES_VLC([SCHROEDINGER], [], [schroedinger-1.0 >= 1.0.6], [dirac decoder using schroedinger], [auto]) dnl dnl PNG decoder module @@ -3101,9 +3167,10 @@ AC_ARG_ENABLE(xvideo, have_xcb="no" AS_IF([test "${enable_xcb}" != "no"], [ dnl libxcb - PKG_CHECK_MODULES(XCB, [xcb]) + PKG_CHECK_MODULES(XCB, [xcb >= 1.6]) have_xcb="yes" PKG_CHECK_MODULES(XCB_SHM, [xcb-shm]) + PKG_CHECK_MODULES(XCB_COMPOSITE, [xcb-composite]) AS_IF([test "${enable_xvideo}" != "no"], [ PKG_CHECK_MODULES(XCB_XV, [xcb-xv >= 1.1.90.1], [ @@ -3198,51 +3265,51 @@ dnl dnl freetype module dnl AC_ARG_ENABLE(freetype, - [ --enable-freetype freetype support (default enabled)]) + [ --enable-freetype freetype support (default auto)]) AC_ARG_ENABLE(fribidi, - [ --enable-fribidi fribidi support (default enabled)]) + [ --enable-fribidi fribidi support (default auto)]) AC_ARG_ENABLE(fontconfig, - [ --enable-fontconfig fontconfig support (default enabled)]) + [ --enable-fontconfig fontconfig support (default auto)]) + if test "${enable_freetype}" != "no"; then - PKG_CHECK_MODULES(FREETYPE, freetype2,[ - VLC_ADD_PLUGIN([freetype]) + PKG_CHECK_MODULES(FREETYPE, freetype2, [ have_freetype=yes + VLC_ADD_PLUGIN([freetype]) VLC_ADD_CPPFLAGS([freetype skins2],[${FREETYPE_CFLAGS}]) if test "${SYS}" = "mingw32"; then VLC_ADD_LIBS([freetype],[-liconv -lz]) fi VLC_ADD_LIBS([freetype skins2],[${FREETYPE_LIBS}]) + AC_CHECK_HEADERS(Carbon/Carbon.h, + [VLC_ADD_LDFLAGS([freetype],[-Wl,-framework,Carbon])]) + + dnl fontconfig support if test "${SYS}" != "mingw32"; then if test "${enable_fontconfig}" != "no"; then - AC_CHECK_HEADERS(fontconfig/fontconfig.h, - [VLC_ADD_CPPFLAGS([freetype],[-DHAVE_FONTCONFIG]) - VLC_ADD_LIBS([freetype],[-lfontconfig])]) - AC_CHECK_HEADERS(Carbon/Carbon.h, - [VLC_ADD_LDFLAGS([freetype],[-Wl,-framework,Carbon])]) + AC_CHECK_HEADERS(fontconfig/fontconfig.h, [ + VLC_ADD_CPPFLAGS([freetype],[-DHAVE_FONTCONFIG]) + VLC_ADD_LIBS([freetype],[-lfontconfig]) + ],[AC_MSG_WARN([library fontconfig not found. Styles will be disabled in freetype])]) fi else VLC_ADD_LIBS([freetype],[-lgdi32]) fi dnl fribidi support - if test "${enable_fribidi}" != "no" - then + if test "${enable_fribidi}" != "no"; then PKG_CHECK_MODULES(FRIBIDI, fribidi, [ VLC_ADD_CPPFLAGS([freetype skins2], [${FRIBIDI_CFLAGS} -DHAVE_FRIBIDI]) VLC_ADD_LIBS([freetype skins2], [${FRIBIDI_LIBS}]) - ]) + ],[AC_MSG_WARN([library fribidi not found. Bidirectional support will be disabled in freetype])]) fi ],[ have_freetype=no - AS_IF([ test "${enable_freetype}" = "yes"],[ - AC_MSG_ERROR([I couldn't find the freetype package. You can download libfreetype2 -from http://www.freetype.org/, or configure with --disable-freetype. Have a nice day. - ]) + AS_IF([ test "${enable_freetype}" = "yes"],[ + AC_MSG_ERROR([Freetype2 package cannot be detected. Install Freetype2 development or configure with --disable-freetype.]) ]) ]) - fi dnl @@ -3255,6 +3322,19 @@ dnl SVG module dnl PKG_ENABLE_MODULES_VLC([SVG], [], [librsvg-2.0 >= 2.9.0], [SVG rendering library],[auto]) +dnl +dnl android surface module +dnl +AC_ARG_ENABLE(android-surface, + [ --enable-android-surface Android Surface video output module (default disabled)]) +if test "${enable_android_surface}" = "yes"; then + if test "${HAVE_ANDROID}" = "1"; then + VLC_ADD_PLUGIN([android_surface]) + VLC_ADD_LDFLAGS([android_surface], [-ldl]) + fi +fi + + dnl dnl iOS vout module dnl @@ -3565,6 +3645,19 @@ dnl JACK modules dnl PKG_ENABLE_MODULES_VLC([JACK], [jack access_jack], [jack], [JACK audio I/O modules],[auto]) +dnl +dnl OpenSLES Android +dnl +AC_ARG_ENABLE(opensles, + [ --enable-opensles Android OpenSL ES audio module (default disabled)]) +if test "${HAVE_ANDROID}" = "1"; then + if test "${enable_opensles}" = "yes"; then + AC_CHECK_HEADERS(SLES/OpenSLES.h, + [ VLC_ADD_PLUGIN([opensles_android]) ], + [ AC_MSG_ERROR([cannot find OpenSLES headers])] ) + fi +fi + dnl dnl UPnP Plugin (Intel SDK) dnl @@ -3615,10 +3708,11 @@ AS_IF([test "${enable_skins2}" = "yes"], [ ], [ PKG_CHECK_MODULES([XPM], [xpm]) + PKG_CHECK_MODULES([XINERAMA], [xinerama]) PKG_CHECK_MODULES([XEXT], [xext]) VLC_ADD_CPPFLAGS([skins2],[-Imodules/gui/skins2 ${X_CFLAGS} ${XEXT_CFLAGS} ${XPM_CFLAGS} -DX11_SKINS]) VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti]) - VLC_ADD_LIBS([skins2],[${X_LIBS} ${X_PRE_LIBS} ${XEXT_LIBS} ${XPM_LIBS} -lX11]) + VLC_ADD_LIBS([skins2],[${X_LIBS} ${X_PRE_LIBS} ${XEXT_LIBS} ${XPM_LIBS} ${XINERAMA_LIBS} -lX11]) ]) VLC_ADD_PLUGIN([skins2]) @@ -3726,6 +3820,7 @@ then VLC_ADD_LDFLAGS([macosx minimal_macosx], [-Wl,-framework,Carbon]) VLC_ADD_LDFLAGS([macosx minimal_macosx], [-Wl,-framework,CoreServices]) VLC_ADD_LDFLAGS([macosx minimal_macosx], [-Wl,-framework,AGL]) + VLC_ADD_LDFLAGS([macosx], [-Wl,-framework,QTKit]) VLC_ADD_LDFLAGS([macosx], [-Wl,-framework,IOKit]) VLC_ADD_LDFLAGS([macosx], [-F${CONTRIB_DIR}/Sparkle -Wl,-framework,Sparkle]) VLC_ADD_OBJCFLAGS([macosx], [-F${CONTRIB_DIR}/Sparkle]) @@ -3960,7 +4055,7 @@ dnl dnl TLS/SSL dnl AC_ARG_ENABLE(gnutls, - [ --enable-gnutls gnutls TLS/SSL support (default enabled)]) + [ --enable-gnutls GNU TLS TLS/SSL support (default enabled)]) AS_IF([test "${have_libgcrypt}" != "yes"], [ AS_IF([test "${enable_gnutls}" = "yes"], [ @@ -3969,19 +4064,19 @@ AS_IF([test "${have_libgcrypt}" != "yes"], [ enable_gnutls="no" ]) AS_IF([test "${enable_gnutls}" != "no"], [ - PKG_CHECK_MODULES(GNUTLS, [gnutls >= 1.7.4], [ + PKG_CHECK_MODULES(GNUTLS, [gnutls >= 2.0.0], [ VLC_ADD_PLUGIN([gnutls]) VLC_ADD_CFLAGS([gnutls], [$GNUTLS_CFLAGS]) AS_IF([test "${SYS}" = "mingw32"], [ dnl pkg-config --libs gnutls omits these - VLC_ADD_LIBS([gnutls], [-lz ${LTLIBINTL}]) + VLC_ADD_LIBS([gnutls], [-lz ${LTLIBINTL} -lcrypt32]) ]) VLC_ADD_LIBS([gnutls], [${GCRYPT_LIBS}]) VLC_ADD_CFLAGS([gnutls], [${GCRYPT_CFLAGS}]) VLC_ADD_LIBS([gnutls], [$GNUTLS_LIBS]) ], [ AS_IF([test "${enable_gnutls}" = "yes"], [ - AC_MSG_ERROR([gnutls not present or too old (version 1.7.4 required)]) + AC_MSG_ERROR([GNU TLS not present or too old (version 2.0.0 required)]) ]) ]) ]) @@ -4080,7 +4175,7 @@ dnl dnl media library dnl AC_ARG_ENABLE(media-library, [--enable-media-library media library (default disabled)]) -if test "${enable_media_library}" == "yes"; then +if test "${enable_media_library}" = "yes"; then if test "${enable_sqlite}" != "yes"; then AC_MSG_ERROR([SQLite module is required for the media library]) else @@ -4397,16 +4492,6 @@ echo "vlc aliases :${ALIASES}" else echo "build vlc executable : no" fi -echo "plugins/bindings :${PLUGINS_BINDINGS} - +echo " You can tune the compiler flags in vlc-config. -To build vlc and its plugins, type \`./compile' or \`$USE_MAKE_OR_GMAKE'. -" -if test "x$ac_ld_does_not_support_text_reloc" = "xyes"; then - echo "" - echo "Warning: Due to a bug in ld, mmx/sse support has been" - echo " turned off." - echo " FFmpeg will be REALLY slow." - echo " VLC WILL NOT PERFORM AS EXPECTED." - echo "" -fi +To build vlc and its plugins, type \`./compile' or \`$USE_MAKE_OR_GMAKE'."