Newer
Older
VLC_ADD_LIBS([telepathy],[$DBUS_LIBS])
VLC_ADD_CFLAGS([telepathy],[$DBUS_CFLAGS])
fi
dnl Power Management Inhibiter
VLC_ADD_LIBS([inhibit],[$DBUS_LIBS])
VLC_ADD_CFLAGS([inhibit],[$DBUS_CFLAGS])
],
[AC_MSG_ERROR([Couldn't find DBus >= 1.0.0, install libdbus-dev ?])]
)
fi

Jean-Paul Saman
committed
dnl build the qte plugin ?
NEED_QTE_MAIN=no
AC_CACHE_CHECK([for ntohl in sys/param.h],
Samuel Hocevar
committed
[ac_cv_c_ntohl_sys_param_h],
[CFLAGS="${CFLAGS_save} -Wall -Werror"
AC_TRY_COMPILE([#include <sys/param.h>],
[int meuh; ntohl(meuh);],
Samuel Hocevar
committed
ac_cv_c_ntohl_sys_param_h=yes, ac_cv_c_ntohl_sys_param_h=no)])
if test "${ac_cv_c_ntohl_sys_param_h}" != "no"; then
Samuel Hocevar
committed
AC_DEFINE(NTOHL_IN_SYS_PARAM_H, 1, Define if <sys/param.h> defines ntohl.)
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])
AC_ARG_ENABLE(warnings-as-error,
AS_HELP_STRING([--enable-warnings-as-error],[Treat acceptable warnings as error (default disabled)]),, [enable_warnings_as_error="no"])
AS_IF([test "${enable_warnings_as_error}" = "yes"], [
RDC_PROG_CC_WERRORFLAGS([unused-function unused-label unused-value unused-parameter unused-variable unused \
missing-braces nonnull parentheses uninitialized address enum-compare undef comment switch \
bad-function-cast implicit sequence-point strict-aliasing array-bounds missing-parameter-type \
overflow int-to-pointer-cast pointer-to-int-cast div-by-zero overflow ignored])
AC_CACHE_CHECK([if \$CC accepts -Os],
[ac_cv_c_os],
[CFLAGS="${CFLAGS_save} -Os"
AC_TRY_COMPILE([],,ac_cv_c_os=yes, ac_cv_c_os=no)])
if test "${ac_cv_c_os}" != "no"; then
CFLAGS_OPTIM_SIZE="${CFLAGS_OPTIM_SIZE} -Os"
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
if test "${ac_cv_c_o3}" = "no"; then
CFLAGS_OPTIM_SIZE="${CFLAGS_OPTIM_SIZE} -O"
fi
fi
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"
AC_CACHE_CHECK([if \$CC accepts -O3],
[ac_cv_c_o3],
[CFLAGS="${CFLAGS_save} -O3"
AC_TRY_COMPILE([],,ac_cv_c_o3=yes, ac_cv_c_o3=no)])
if test "${ac_cv_c_o3}" != "no" -a "x${enable_debug}" = "xno"; then
CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -O3"
AC_CACHE_CHECK([if \$CC accepts -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
AC_CACHE_CHECK([if \$CC accepts -O0],
[ac_cv_c_o0],
[CFLAGS="${CFLAGS_save} -O0"
AC_TRY_COMPILE([],,ac_cv_c_o0=yes, ac_cv_c_o0=no)])
if test "${ac_cv_c_o0}" != "no"; then
CFLAGS_NOOPTIM="${CFLAGS_NOOPTIM} -O0"
fi
dnl Check for -ffast-math
AC_CACHE_CHECK([if \$CC accepts -ffast-math],
Samuel Hocevar
committed
[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"
dnl Disabled on BeOS because BeOS' gcc is buggy and may crash with it
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
dnl Check for -fomit-frame-pointer
AC_CACHE_CHECK([if \$CC accepts -fomit-frame-pointer],
Samuel Hocevar
committed
[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
Pierre d'Herbemont
committed
if test "${SYS}" != "darwin"; then
Samuel Hocevar
committed
CFLAGS_OPTIM_NODEBUG="${CFLAGS_OPTIM_NODEBUG} -fomit-frame-pointer"
Pierre d'Herbemont
committed
else
dnl On darwin we explicitely disable it.
CFLAGS_OPTIM_NODEBUG="${CFLAGS_OPTIM_NODEBUG} -fno-omit-frame-pointer"
fi
AC_CACHE_CHECK([if \$CC accepts -bundle -undefined error],
Samuel Hocevar
committed
[ac_cv_ld_darwin],
[CFLAGS="${CFLAGS_save} -bundle -undefined error"
Samuel Hocevar
committed
AC_TRY_COMPILE([],,ac_cv_ld_darwin=yes, ac_cv_ld_darwin=no)])
VLC_ADD_LDFLAGS([plugin],[-bundle -undefined error])
dnl Checks for __attribute__(aligned()) directive
AC_CACHE_CHECK([__attribute__ ((aligned ())) support],
Samuel Hocevar
committed
[ac_cv_c_attribute_aligned],
[ac_cv_c_attribute_aligned=0
CFLAGS="${CFLAGS_save} -Werror"
for ac_cv_c_attr_align_try in 2 4 8 16 32 64; do
AC_TRY_COMPILE([],
[static char c __attribute__ ((aligned(${ac_cv_c_attr_align_try}))) = 0; return c;],
[ac_cv_c_attribute_aligned="${ac_cv_c_attr_align_try}"])
done
CFLAGS="${CFLAGS_save}"])
if test "${ac_cv_c_attribute_aligned}" != "0"; then
Samuel Hocevar
committed
AC_DEFINE_UNQUOTED([ATTRIBUTE_ALIGNED_MAX],
[${ac_cv_c_attribute_aligned}],[Maximum supported data alignment])
damienf
committed
dnl Check for __attribute__((packed))
AC_CACHE_CHECK([for __attribute__((packed))],
[ac_cv_c_attribute_packed],
[ac_cv_c_attribute_packed=no
AC_TRY_COMPILE(, [struct __attribute__((__packed__)) foo { int a; } b; (void)b;],
[ac_cv_c_attribute_packed=yes])])
if test "${ac_cv_c_attribute_packed}" != "no"; then
AC_DEFINE(HAVE_ATTRIBUTE_PACKED, 1, Support for __attribute__((packed)) for structs)
fi
Samuel Hocevar
committed
ARCH=unknown
;;
*)
Samuel Hocevar
committed
;;
esac
dnl Check for backtrace() support
AC_CHECK_HEADERS(execinfo.h)
AC_CHECK_FUNCS(backtrace)
dnl
dnl Enable profiling
dnl
AC_ARG_ENABLE(gprof,
[ --enable-gprof gprof profiling (default disabled)])
AC_ARG_ENABLE(cprof,
[ --enable-cprof cprof profiling (default disabled)])
test "${enable_gprof}" != "yes" && enable_gprof="no"
test "${enable_cprof}" != "yes" && enable_cprof="no"
dnl Video filters:
VLC_ADD_PLUGIN([adjust])
VLC_ADD_PLUGIN([transform])
VLC_ADD_PLUGIN([wave])
VLC_ADD_PLUGIN([ripple])
VLC_ADD_PLUGIN([psychedelic])
VLC_ADD_PLUGIN([gradient])
VLC_ADD_PLUGIN([motionblur])
VLC_ADD_PLUGIN([rv32])
VLC_ADD_PLUGIN([rotate])
VLC_ADD_PLUGIN([noise])
VLC_ADD_PLUGIN([grain])
VLC_ADD_PLUGIN([extract])
VLC_ADD_PLUGIN([sharpen])
VLC_ADD_PLUGIN([croppadd])
VLC_ADD_PLUGIN([blendbench])
VLC_ADD_PLUGIN([blend])
VLC_ADD_PLUGIN([scale])
VLC_ADD_PLUGIN([vmem])
VLC_ADD_PLUGIN([logo])
VLC_ADD_PLUGIN([magnify])
VLC_ADD_PLUGIN([puzzle])
VLC_ADD_PLUGIN([colorthres])

Jean-Paul Saman
committed
VLC_ADD_PLUGIN([scene])
VLC_ADD_PLUGIN([yuv])
ALIASES="${ALIASES} cvlc"
dnl
dnl default modules that need g++
dnl
AC_LANG_PUSH(C++)
if test "${SYS}" != "mingwce"; then
VLC_ADD_PLUGIN([gestures])
VLC_ADD_PLUGIN([rc])
VLC_ADD_PLUGIN([hotkeys])
VLC_ADD_PLUGIN([showintf])
VLC_ADD_PLUGIN([marq])
VLC_ADD_PLUGIN([podcast])
VLC_ADD_PLUGIN([shout])
VLC_ADD_PLUGIN([sap])
Erwan Tulou
committed
VLC_ADD_PLUGIN([mediadirs])
VLC_ADD_PLUGIN([fake])
VLC_ADD_PLUGIN([folder])
VLC_ADD_PLUGIN([rss])
VLC_ADD_PLUGIN([mosaic])
VLC_ADD_PLUGIN([wall])
VLC_ADD_PLUGIN([motiondetect])
VLC_ADD_PLUGIN([clone])
VLC_ADD_PLUGIN([crop])
VLC_ADD_PLUGIN([erase])
VLC_ADD_PLUGIN([bluescreen])
VLC_ADD_PLUGIN([alphamask])
VLC_ADD_PLUGIN([gaussianblur])
VLC_ADD_PLUGIN([i420_yuy2])
VLC_ADD_PLUGIN([i422_yuy2])
VLC_ADD_PLUGIN([i420_ymga])
VLC_ADD_PLUGIN([i422_i420])
VLC_ADD_PLUGIN([yuy2_i422])
VLC_ADD_PLUGIN([yuy2_i420])
VLC_ADD_PLUGIN([aout_file])
VLC_ADD_PLUGIN([linear_resampler])
VLC_ADD_PLUGIN([bandlimited_resampler])
VLC_ADD_PLUGIN([float32_mixer])
VLC_ADD_PLUGIN([spdif_mixer])
VLC_ADD_PLUGIN([simple_channel_mixer])
VLC_ADD_PLUGIN([dolby_surround_decoder])
VLC_ADD_PLUGIN([headphone_channel_mixer])
VLC_ADD_PLUGIN([normvol])
VLC_ADD_PLUGIN([audiobargraph_a])
VLC_ADD_PLUGIN([equalizer])
VLC_ADD_PLUGIN([param_eq])
VLC_ADD_PLUGIN([a52tospdif])
VLC_ADD_PLUGIN([dtstospdif])
ALIASES="${ALIASES} rvlc"
fi
if test "${SYS}" = "mingwce"; then
VLC_ADD_PLUGIN([chain])
VLC_ADD_PLUGIN([aout_file])
VLC_ADD_PLUGIN([linear_resampler])
VLC_ADD_PLUGIN([bandlimited_resampler])
VLC_ADD_PLUGIN([float32_mixer])
VLC_ADD_PLUGIN([spdif_mixer])
VLC_ADD_PLUGIN([simple_channel_mixer])
VLC_ADD_PLUGIN([headphone_channel_mixer])
VLC_ADD_PLUGIN([normvol])
VLC_ADD_PLUGIN([audiobargraph_a])
VLC_ADD_PLUGIN([a52tospdif])
VLC_ADD_PLUGIN([dtstospdif])
VLC_ADD_PLUGIN([i420_yuy2])
VLC_ADD_PLUGIN([i422_yuy2])
VLC_ADD_PLUGIN([i420_ymga])
VLC_ADD_PLUGIN([i422_i420])
VLC_ADD_PLUGIN([yuy2_i422])
VLC_ADD_PLUGIN([yuy2_i420])
fi
if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
VLC_ADD_PLUGIN([screensaver])
VLC_ADD_PLUGIN([motion])
VLC_ADD_PLUGIN([dynamicoverlay])
elif test "${SYS}" != "mingwce"; then
VLC_ADD_PLUGIN([ntservice])
VLC_ADD_PLUGIN([access_smb])
VLC_ADD_PLUGIN([dmo])
VLC_ADD_PLUGIN([msn])
VLC_ADD_LIBS([dmo],[-lole32 -luuid])
if test "${SYS}" = "darwin"; then

Felix Paul Kühne
committed
VLC_ADD_LDFLAGS([quartztext],[-Wl,-framework,ApplicationServices])
fi
AC_ARG_WITH(,[])
AC_ARG_WITH(,[Optimization options:])
dnl Check for fully working MMX intrinsics
dnl We need support for -mmmx, we need <mmintrin.h>, and we also need a
dnl working compiler (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23963)
[ --disable-mmx disable MMX optimizations (default auto)],,[
case "${host_cpu}" in
i?86|x86_64)
enable_mmx="yes"
;;
*)
enable_mmx="no"
;;
esac
])
AS_IF([test "${enable_mmx}" != "no"], [
ARCH="${ARCH} mmx"
AC_CACHE_CHECK([if $CC groks MMX intrinsics],
[CFLAGS="${CFLAGS_save} -O -mmmx"
AC_TRY_COMPILE([#include <mmintrin.h>
#include <stdint.h>
uint64_t frobzor;],
[__m64 a, b, c;
a = b = c = (__m64)frobzor;
a = _mm_slli_pi16(a, 3);
a = _mm_adds_pi16(a, b);
c = _mm_srli_pi16(c, 8);
c = _mm_slli_pi16(c, 3);
b = _mm_adds_pi16(b, c);
a = _mm_unpacklo_pi8(a, b);
frobzor = (uint64_t)a;],
[ac_cv_c_mmx_intrinsics=yes],
[ac_cv_c_mmx_intrinsics=no])])
AS_IF([test "${ac_cv_c_mmx_intrinsics}" != "no"], [
AC_DEFINE(HAVE_MMX_INTRINSICS, 1,
[Define to 1 if MMX intrinsics are available.])
VLC_ADD_CFLAGS([memcpymmx i420_rgb_mmx i420_yuy2_mmx i422_yuy2_mmx i420_ymga_mmx],[-mmmx])
])
AC_CACHE_CHECK([if $CC groks MMX inline assembly],
[ac_cv_mmx_inline],
[CFLAGS="${CFLAGS_save}"
AC_TRY_COMPILE(,[void *p;asm volatile("packuswb %%mm1,%%mm2"::"r"(p));],
ac_cv_mmx_inline=yes, ac_cv_mmx_inline=no)])
AS_IF([test "${ac_cv_mmx_inline}" != "no"], [
AC_DEFINE(CAN_COMPILE_MMX, 1,
[Define to 1 inline MMX assembly is available.])
VLC_ADD_PLUGIN([memcpymmx])
VLC_ADD_PLUGIN([i420_rgb_mmx])
VLC_ADD_PLUGIN([i420_yuy2_mmx])
VLC_ADD_PLUGIN([i422_yuy2_mmx])
VLC_ADD_PLUGIN([i420_ymga_mmx])
])
AC_CACHE_CHECK([if $CC groks MMX EXT inline assembly],
[ac_cv_mmxext_inline],
[CFLAGS="${CFLAGS_save}"
AC_TRY_COMPILE(,[void *p;asm volatile("maskmovq %%mm1,%%mm2"::"r"(p));],
ac_cv_mmxext_inline=yes, ac_cv_mmxext_inline=no)])
AS_IF([test "${ac_cv_mmxext_inline}" != "no"], [
AC_DEFINE(CAN_COMPILE_MMXEXT, 1,
[Define to 1 if MMX EXT inline assembly is available.])
dnl Check for fully workin SSE2 intrinsics
dnl We need support for -mmmx, we need <emmintrin.h>, and we also need a
dnl working compiler (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23963)
[ --disable-sse disable SSE (1, 2, 3 and 4) optimizations (default auto)]
case "${host_cpu}" in
i686|x86_64)
enable_sse=yes
;;
*)
enable_sse=no
;;
esac
])
AS_IF([test "${enable_sse}" != "no"], [
ARCH="${ARCH} sse sse2"
AC_CACHE_CHECK([if $CC groks SSE2 intrinsics],
[ac_cv_c_sse2_intrinsics],
[CFLAGS="${CFLAGS_save} -O -msse2"
AC_TRY_COMPILE([#include <emmintrin.h>
#include <stdint.h>
uint64_t frobzor;],
[__m128i a, b, c;
a = b = c = _mm_set1_epi64((__m64)frobzor);
a = _mm_slli_epi16(a, 3);
a = _mm_adds_epi16(a, b);
c = _mm_srli_epi16(c, 8);
c = _mm_slli_epi16(c, 3);
b = _mm_adds_epi16(b, c);
a = _mm_unpacklo_epi8(a, b);
frobzor = (uint64_t)_mm_movepi64_pi64(a);],
[ac_cv_c_sse2_intrinsics=yes],
[ac_cv_c_sse2_intrinsics=no])])
AS_IF([test "${ac_cv_c_sse2_intrinsics}" != "no"], [
AC_DEFINE(HAVE_SSE2_INTRINSICS, 1,
[Define to 1 if SSE2 intrinsics are available.])
VLC_ADD_CFLAGS([i420_rgb_sse2 i420_yuy2_sse2 i422_yuy2_sse2],[-msse2])
])
AC_CACHE_CHECK([if $CC groks SSE inline assembly],
[ac_cv_sse_inline],
Samuel Hocevar
committed
[CFLAGS="${CFLAGS_save}"
AC_TRY_COMPILE(,[void *p;asm volatile("xorps %%xmm1,%%xmm2"::"r"(p));],
ac_cv_sse_inline=yes, ac_cv_sse_inline=no)])
AS_IF([test "${ac_cv_sse_inline}" != "no" -a "${SYS}" != "solaris"], [
AC_DEFINE(CAN_COMPILE_SSE, 1,
[Define to 1 if SSE inline assembly is available.])
])
AC_CACHE_CHECK([if $CC groks SSE2 inline assembly],
[ac_cv_sse2_inline],
[CFLAGS="${CFLAGS_save}"
AC_TRY_COMPILE(,[void *p;asm volatile("punpckhqdq %%xmm1,%%xmm2"::"r"(p));],
ac_cv_sse2_inline=yes, ac_cv_sse2_inline=no)])
AS_IF([test "${ac_cv_sse2_inline}" != "no" -a "${SYS}" != "solaris"], [
AC_DEFINE(CAN_COMPILE_SSE2, 1,
[Define to 1 if SSE2 inline assembly is available.])
VLC_ADD_PLUGIN([i420_rgb_sse2])
VLC_ADD_PLUGIN([i420_yuy2_sse2])
VLC_ADD_PLUGIN([i422_yuy2_sse2])
AC_CACHE_CHECK([if $CC groks SSE3 inline assembly],
[ac_cv_sse3_inline],
[CFLAGS="${CFLAGS_save}"
AC_TRY_COMPILE(,[void *p;asm volatile("movsldup %%xmm1,%%xmm0"::"r"(p));],
ac_cv_sse3_inline=yes, ac_cv_sse3_inline=no)])
AS_IF([test "${ac_cv_sse3_inline}" != "no"], [
AC_DEFINE(CAN_COMPILE_SSE3, 1,
[Define to 1 if SSE3 inline assembly is available.]) ])
# SSSE3
AC_CACHE_CHECK([if $CC groks SSSE3 inline assembly],
[ac_cv_ssse3_inline],
[CFLAGS="${CFLAGS_save}"
AC_TRY_COMPILE(,[void *p;asm volatile("pabsw %%xmm0,%%xmm0"::"r"(p));],
ac_cv_ssse3_inline=yes, ac_cv_ssse3_inline=no)])
AS_IF([test "${ac_cv_ssse3_inline}" != "no"], [
AC_DEFINE(CAN_COMPILE_SSSE3, 1,
[Define to 1 if SSSE3 inline assembly is available.]) ])
AC_CACHE_CHECK([if $CC groks SSE4 inline assembly],
[ac_cv_sse4_inline],
[CFLAGS="${CFLAGS_save}"
AC_TRY_COMPILE(,[void *p;asm volatile("pmaxsb %%xmm1,%%xmm0"::"r"(p));],
ac_cv_sse4_inline=yes, ac_cv_sse4_inline=no)])
AS_IF([test "${ac_cv_sse4_inline}" != "no"], [
AC_DEFINE(CAN_COMPILE_SSE4, 1,
[Define to 1 if SSE4 inline assembly is available.]) ])
AC_CACHE_CHECK([if $CC groks 3D Now! inline assembly],
[ac_cv_3dnow_inline],
[CFLAGS="${CFLAGS_save}"
AC_TRY_COMPILE(,[void *p;asm volatile("pfadd %%mm1,%%mm2"::"r"(p));],
ac_cv_3dnow_inline=yes, ac_cv_3dnow_inline=no)])
AS_IF([test "${ac_cv_3dnow_inline}" != "no"], [
AC_DEFINE(CAN_COMPILE_3DNOW, 1,
[Define to 1 if 3D Now! inline assembly is available.])
AC_ARG_ENABLE(neon,
[ --disable-neon disable NEON optimizations (default auto)],, [
AS_IF([test "${host_cpu}" = "arm"], [enable_neon="yes"] ,[enable_neon="no"])
])
AS_IF([test "${enable_neon}" != "no"], [
AC_CACHE_CHECK([if $CC groks NEON inline assembly], [ac_cv_neon_inline], [
AC_COMPILE_IFELSE([
AC_LANG_PROGRAM(,[[asm volatile("vqmovun.s64 d0, q1":::"d0");]])
], [
ac_cv_neon_inline="yes"
], [
ac_cv_neon_inline="no"
])
])
])
AM_CONDITIONAL(HAVE_NEON, [test "${ac_cv_neon_inline}" = "yes"])
AC_ARG_ENABLE(altivec,
[ --disable-altivec disable AltiVec optimizations (default auto)],, [
AS_IF([test "${host_cpu}" = "powerpc"],
[enable_altivec=yes], [enable_altivec=no])
])
AS_IF([test "${enable_altivec}" = "yes"], [
ARCH="${ARCH} altivec";
AC_CACHE_CHECK([if $CC groks AltiVec inline assembly],
[ac_cv_altivec_inline],
Samuel Hocevar
committed
[CFLAGS="${CFLAGS_save}"
ac_cv_altivec_inline="yes",
Samuel Hocevar
committed
[CFLAGS="${CFLAGS_save} -Wa,-m7400"
ac_cv_altivec_inline=no)
AS_IF([test "${ac_cv_altivec_inline}" != "no"], [
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}])

Rémi Denis-Courmont
committed
VLC_ADD_CFLAGS([libvlccore],[${ac_cv_altivec_inline}])
VLC_ADD_PLUGIN([memcpyaltivec])
VLC_ADD_PLUGIN([i420_yuy2_altivec])
Christophe Massiot
committed
dnl The AltiVec C extensions
dnl
dnl There are several possible cases:
dnl - OS X PPC, gcc 4.x: use -mpim-altivec -force_cpusubtype_ALL, don't
dnl need <altivec.h>
dnl - OS X PPC, gcc 3.x: need -faltivec, don't need <altivec.h>
dnl - Linux PPC, gcc 3.4, 4.x: need <altivec.h> which requires -maltivec
dnl - Linux PPC, gcc 3.3: need <altivec.h> and -maltivec -mabi=altivec
dnl - Linux PPC, gcc 3.x: need <altivec.h> and -fvec
dnl - Others: test should fail
AC_CACHE_CHECK([if \$CC groks AltiVec C extensions],
CFLAGS="${CFLAGS_save} -mpim-altivec -force_cpusubtype_ALL"
AC_TRY_COMPILE([vector unsigned char foo;],
[vec_ld(0, (unsigned char *)0);],
[ac_cv_c_altivec="-mpim-altivec -force_cpusubtype_ALL"],
[# OS X/PPC test (gcc 3.x)
CFLAGS="${CFLAGS_save} -faltivec"
AC_TRY_COMPILE([vector unsigned char foo;],
[vec_ld(1 * sizeof(vector float), (unsigned char *)0);],
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
[ac_cv_c_altivec="-faltivec"],
dnl Below this are the Linux tests
[# Linux/PPC test (gcc 4.x)
CFLAGS="${CFLAGS_save} -maltivec"
AC_TRY_COMPILE([#include <altivec.h>],
[vec_ld(0, (unsigned char *)0);],
[ac_cv_c_altivec="-maltivec"],
[# Linux/PPC test (gcc 3.3)
CFLAGS="${CFLAGS_save} -maltivec -mabi=altivec"
AC_TRY_COMPILE([#include <altivec.h>],
[vec_ld(0, (unsigned char *)0);],
[ac_cv_c_altivec=""
ac_cv_c_altivec_abi="-maltivec -mabi=altivec"],
[# Linux/PPC test (gcc 3.3)
CFLAGS="${CFLAGS_save} -fvec"
AC_TRY_COMPILE([#include <altivec.h>],
[vec_ld(0, (unsigned char *)0);],
[ac_cv_c_altivec="-fvec"],
[ac_cv_c_altivec=no])
])
])
])
])
CFLAGS="${CFLAGS_save}"
])
AS_IF([test "${ac_cv_c_altivec}" != "no"], [
CPPFLAGS="${CPPFLAGS_save} ${ac_cv_c_altivec}"
])
Christophe Mutricy
committed
AC_CHECK_HEADERS(altivec.h)
CPPFLAGS="${CPPFLAGS_save}"
AS_IF([test "${ac_cv_c_altivec}" != "no"], [
AC_DEFINE(CAN_COMPILE_C_ALTIVEC, 1,
[Define to 1 if C AltiVec extensions are available.])

Rémi Denis-Courmont
committed
VLC_ADD_CFLAGS([libvlccore],[${ac_cv_c_altivec}])
Christophe Mutricy
committed
VLC_ADD_CFLAGS([idctaltivec motionaltivec],[${ac_cv_c_altivec}])
VLC_ADD_CFLAGS([i420_yuy2_altivec memcpyaltivec deinterlace],[${ac_cv_c_altivec} ${ac_cv_c_altivec_abi}])
VLC_ADD_PLUGIN([memcpyaltivec])
VLC_ADD_PLUGIN([i420_yuy2_altivec])
AC_CACHE_CHECK([if linker needs -framework vecLib],
[ac_cv_ld_altivec],
Samuel Hocevar
committed
[LDFLAGS="${LDFLAGS_vlc} -Wl,-framework,vecLib"
AC_TRY_LINK([],,ac_cv_ld_altivec=yes,ac_cv_ld_altivec=no)
Samuel Hocevar
committed
LDFLAGS="${LDFLAGS_save}"
AS_IF([test "${ac_cv_ld_altivec}" != "no"], [

Rémi Denis-Courmont
committed
VLC_ADD_LDFLAGS([libvlccore idctaltivec motionaltivec memcpyaltivec],[-Wl,-framework,vecLib])
dnl Special arch tuning
AC_ARG_WITH(tuning,

Felix Paul Kühne
committed
(default Pentium 2 on IA-32 and G4 on PPC)])
if test "${with_tuning}" != "no"; then
CFLAGS_TUNING="-mtune=${with_tuning}"
fi

Felix Paul Kühne
committed
if test "${SYS}" = "darwin" -a "${host_cpu}" != "powerpc"; then
CFLAGS_TUNING="-march=prescott -mtune=generic"
elif test "${host_cpu}" = "i686" -o "${host_cpu}" = "i586" -o "${host_cpu}" = "i486" -o "${host_cpu}" = "i386"; then
CFLAGS_TUNING="-mtune=pentium2"
elif test "${host_cpu}" = "x86_64"; then
elif test "${host_cpu}" = "powerpc"; then

Felix Paul Kühne
committed
CFLAGS_TUNING="-mtune=G4";
dnl NOTE: this can't be cached cleanly
AS_IF([test "${CFLAGS_TUNING}"],
[CFLAGS_save="${CFLAGS}"
CFLAGS="${CFLAGS} ${CFLAGS_TUNING}"
AC_MSG_CHECKING([whether $CC accepts ${CFLAGS_TUNING}])
AC_COMPILE_IFELSE([ ],
[tuning="yes"],
[CFLAGS_TUNING=""; tuning="no"
AS_IF([test "${with_tuning}"],
[AC_MSG_ERROR([requested tuning not supported])])])
AC_MSG_RESULT([$tuning])
CFLAGS="${CFLAGS_save}"
])
dnl
dnl Memory usage
dnl
AC_ARG_ENABLE(optimize-memory,
[ --enable-optimize-memory optimize memory usage over performance])
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,
Samuel Hocevar
committed
[ --disable-optimizations disable compiler optimizations (default enabled)])
if test "${enable_optimizations}" != "no"; then
if test "${enable_optimize_memory}" = "yes"; then
enable_optimizations="size"
else
enable_optimizations="speed"
fi
fi
AC_ARG_ENABLE(debug,
Samuel Hocevar
committed
[ --enable-debug debug mode (default disabled)])
AH_TEMPLATE(NDEBUG,
[Define to 1 if debug code should NOT be compiled])
AS_IF([test "x${enable_debug}" = "xno"], [
AC_DEFINE(NDEBUG)
], [
AC_CHECK_HEADERS([valgrind/valgrind.h])
])
dnl
dnl Allow runing as root (usefull for people runing on embedded platforms)
dnl
AC_ARG_ENABLE(run-as-root,
[ --enable-run-as-root allow runing VLC as root (default disabled)])
AS_IF([test "${enable_run_as_root}" = "yes"],[
AC_DEFINE(ALLOW_RUN_AS_ROOT, 1,
[Define to 1 to allow runing VLC as root (uid 0).])
])
dnl
dnl Test coverage
dnl
AC_ARG_ENABLE(coverage,
[ --enable-coverage build for test coverage (default disabled)],,
[enable_coverage="no"])
AS_IF([test "${enable_coverage}" != "no"], [
CFLAGS="-fprofile-arcs -ftest-coverage ${CFLAGS}"
CXXFLAGS="-fprofile-arcs -ftest-coverage ${CXXFLAGS}"
LDFLAGS="-lgcov ${LDFLAGS}"
dnl ugly...
CFLAGS_save="${CFLAGS}"
CXXFLAGS_save="${CXXFLAGS}"
LDFLAGS_save="${LDFLAGS}"
])
Samuel Hocevar
committed
[ --enable-release activate extra optimizations (default disabled)])
dnl
dnl Stream output
dnl
AC_ARG_ENABLE(sout,
[ --enable-sout Stream output modules (default enabled)])
AS_IF([test "${enable_sout}" != "no"], [
AC_DEFINE(ENABLE_SOUT, 1, [Define to 1 for stream output support.])
])
AM_CONDITIONAL(ENABLE_SOUT, [test "${enable_sout}" != "no"])
dnl Lua modules
AC_ARG_ENABLE(lua,
AS_HELP_STRING([--enable-lua],[lua playlist, metafetcher and interface
if test "${enable_lua}" != "no"
then
PKG_CHECK_MODULES(LUA, lua5.1,

Konstantin Pavlov
committed
[ have_lua=yes ],
[
AC_MSG_WARN([lua5.1 not found, trying lua >= 5.1 instead])
PKG_CHECK_MODULES(LUA, lua >= 5.1,
[ have_lua=yes ],

Jean-Paul Saman
committed
[

Jean-Paul Saman
committed
AC_CHECK_HEADERS([lua.h lauxlib.h lualib.h],
[],
[ have_lua=no ] )

Jean-Paul Saman
committed
AC_CHECK_LIB( lua5.1 , luaL_newstate,

Jean-Paul Saman
committed
AC_CHECK_LIB( lua51 , luaL_newstate,

Jean-Paul Saman
committed
AC_CHECK_LIB( lua , luaL_newstate,
[LUA_LIBS="-llua"],
[ have_lua=no
AS_IF([test "x${enable_lua}" = "xyes"],
[AC_MSG_ERROR([lua >= 5.1 not found!])],
[AC_MSG_WARN([lua >= 5.1 not found!])])
], [-lm])

Jean-Paul Saman
committed
)
)

Konstantin Pavlov
committed
])
])
if test "x${have_lua}" = "xyes" ; then
VLC_ADD_LIBS([lua],[$LUA_LIBS])
VLC_ADD_CFLAGS([lua],[$LUA_CFLAGS])

Konstantin Pavlov
committed
fi

Jean-Paul Saman
committed
AM_CONDITIONAL(BUILD_LUA, [test "${have_lua}" = "yes"])
dnl
dnl HTTP daemon
dnl
AC_ARG_ENABLE(httpd,
[ --enable-httpd HTTP daemon (default enabled)])
if test "${enable_httpd}" != "no"
then
AC_DEFINE(ENABLE_HTTPD, 1, Define if you want the HTTP dameon support)
fi

Jean-Paul Saman
committed
AM_CONDITIONAL(BUILD_HTTPD, [test "${enable_httpd}" != "no"])
dnl
dnl libproxy support
dnl
AC_ARG_ENABLE(libproxy,
[ --enable-libproxy libproxy support (default auto)])
AS_IF([test "${enable_libproxy}" != "no"], [
PKG_CHECK_MODULES(LIBPROXY, libproxy-1.0, [
AC_DEFINE(HAVE_LIBPROXY, 1, [Define if libproxy is available])
VLC_ADD_CFLAGS([access_http],[$LIBPROXY_CFLAGS])
VLC_ADD_LIBS([access_http],[$LIBPROXY_LIBS])
], [
AS_IF([test "x${enable_libproxy}" != "x"], [
AC_MSG_ERROR([libproxy could not be found on your system])
])
])
])
dnl
dnl VideoLAN manager
dnl
AC_ARG_ENABLE(vlm,
[ --enable-vlm VideoLAN manager (default enabled)],,
[enable_vlm="${enable_sout}"])
AS_IF([test "${enable_vlm}" != "no"], [
AS_IF([test "${enable_sout}" = "no"], [
AC_MSG_ERROR([VLM requires the stream output. Do not use --disable-sout.])
])
AC_DEFINE(ENABLE_VLM, 1, [Define if you want the VideoLAN manager support])
AM_CONDITIONAL([ENABLE_VLM], [test "${enable_vlm}" != "no"])
Jérôme Decoodt
committed
dnl
dnl Growl notification plugin
dnl
AC_ARG_ENABLE(growl,
[ --enable-growl growl notification plugin (default disabled)],,
[enable_growl=no])
Jérôme Decoodt
committed
AS_IF([test "${enable_growl}" != "no"], [

Rafaël Carré
committed
AC_CHECK_HEADERS(Growl/GrowlDefines.h, [

Rafaël Carré
committed
VLC_ADD_LDFLAGS([growl], [-Wl,-framework,Growl,-framework,AppKit])
])
Jérôme Decoodt
committed
]
)
dnl
dnl Libnotify notification plugin
dnl

Jean-Baptiste Kempf
committed
PKG_ENABLE_MODULES_VLC([NOTIFY], [], [libnotify], [libnotify notification], [auto])
dnl
dnl Audioscrobbler plugin
dnl
AC_ARG_ENABLE(audioscrobbler,
[ --disable-audioscrobbler Last.fm submission plugin (default enabled)])
AS_IF([test "${enable_audioscrobbler}" != "no"], [
VLC_ADD_PLUGIN([audioscrobbler])
Jérôme Decoodt
committed
dnl
dnl Taglibplugin
dnl
AC_ARG_ENABLE(taglib,
[ --disable-taglib Taglib support (default enabled) ])

Rafaël Carré
committed
AS_IF([test "${enable_taglib}" != "no"],[
VLC_ADD_LIBS([taglib],[$TAGLIB_LIBS -lz])
VLC_ADD_CXXFLAGS([taglib],[$TAGLIB_CFLAGS]) ],
[AC_MSG_WARN(TagLib library not found)])
])
dnl
then
AC_MSG_WARN(--{en|dis}able-livedotcom is deprecated. Use --{en|dis}able-live555 instead.)
fi
if test "${enable_livedotcom}" = "no"
[ --enable-live555 live555 RTSP input plugin (default enabled)])
if test "${enable_live555}" != "no"; then
AC_ARG_WITH(live555-tree,
[ --with-live555-tree=PATH live.com tree for static linking])
dnl
dnl
then
AC_MSG_WARN(--with-livedotcom-tree is deprecated. Use --with-live555-tree instead.)
with_live555_tree="${with_livedotcom_tree}"
fi
if test -z "${with_live555_tree}" -a "${CXX}" != ""; then
CPPFLAGS_live555="-I/usr/include/liveMedia -I/usr/include/groupsock -I/usr/include/BasicUsageEnvironment -I/usr/include/UsageEnvironment"
Christophe Mutricy
committed
if test "${SYS}" = "solaris"; then
CPPFLAGS_live555="${CPPFLAGS_live555} -DSOLARIS"
Christophe Mutricy
committed
fi
CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_live555}"
AC_CHECK_HEADERS(liveMedia_version.hh, [
AC_MSG_CHECKING(for liveMedia version >= 1214895600 )
AC_EGREP_CPP(yes,
[#include <liveMedia_version.hh>
#ifdef LIVEMEDIA_LIBRARY_VERSION_INT
#if LIVEMEDIA_LIBRARY_VERSION_INT < 1214895600
yes
#endif
#endif],
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.])
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"
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}])
],[

Felix Paul Kühne
committed
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++)
else
AC_MSG_CHECKING(for liveMedia/libliveMedia.a in ${with_live555_tree})
real_live555_tree="`cd ${with_live555_tree} 2>/dev/null && pwd`"
if test -z "${real_live555_tree}"; then
dnl The given directory can't be found
AC_MSG_RESULT(no)
AC_MSG_ERROR([cannot cd to ${with_live555_tree}])
fi
if test -f "${real_live555_tree}/liveMedia/libliveMedia.a"; then
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_EGREP_CPP(yes,
[#include "${real_live555_tree}/liveMedia/include/liveMedia_version.hh"
#ifdef LIVEMEDIA_LIBRARY_VERSION_INT
#if LIVEMEDIA_LIBRARY_VERSION_INT < 1214895600
yes
#endif
#endif],
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.])
])

Felix Paul Kühne
committed
VLC_ADD_PLUGIN([live555])
if test "${SYS}" = "mingw32"; then
# add ws2_32 for closesocket, select, recv
VLC_ADD_LIBS([live555],[-lws2_32])
VLC_ADD_LIBS([live555],[-L${real_live555_tree}/liveMedia -lliveMedia])
VLC_ADD_LIBS([live555],[-L${real_live555_tree}/BasicUsageEnvironment -lBasicUsageEnvironment])
VLC_ADD_LIBS([live555],[-L${real_live555_tree}/groupsock -lgroupsock])