1 dnl Autoconf settings for vlc
13 AM_INIT_AUTOMAKE(${PACKAGE}, ${VERSION})
14 AM_CONFIG_HEADER(config.h)
19 save_CPPFLAGS="${CPPFLAGS}"
20 save_CFLAGS="${CFLAGS}"
21 save_LDFLAGS="${LDFLAGS}"
31 dnl Find the right ranlib, even when cross-compiling
32 AC_CHECK_TOOL(RANLIB, ranlib, :)
33 AC_CHECK_TOOL(STRIP, strip, :)
36 dnl Check for GNU make
38 AC_PATH_PROG(GMAKE, gmake, no)
39 if test "x${GMAKE}" = "xno"; then
40 AC_CACHE_CHECK([whether GNU make is installed],
42 [if make --version | grep -q -i gnu; then
45 echo "This software needs you to install GNU make to compile properly."
46 echo "You can get it from http://www.gnu.org/."
55 ALL_LINGUAS="de en_GB fr ja no ru nl pl se"
57 AC_DEFINE_UNQUOTED(VLC_PACKAGE, "${PACKAGE}", [Package name])
58 AC_DEFINE_UNQUOTED(VLC_VERSION, "${VERSION}", [Package version])
59 AM_GNU_GETTEXT_VERSION(0.10.40)
65 dnl Check for compiler properties
70 dnl Set default LDFLAGS
72 vlc_LDFLAGS="${LDFLAGS}"
75 dnl Check the operating system
77 case "x${target_os}" in
86 save_CFLAGS="${save_CFLAGS} -pthread"; CFLAGS="${save_CFLAGS}"
87 dvd_LDFLAGS="${dvd_LDFLAGS} -ldvd"
88 vcd_LDFLAGS="${vcd_LDFLAGS} -ldvd"
92 save_CFLAGS="${save_CFLAGS} -pthread"; CFLAGS="${save_CFLAGS}"
96 save_CFLAGS="${save_CFLAGS} -no-cpp-precomp"; CFLAGS="${save_CFLAGS}"
97 vlc_LDFLAGS="${vlc_LDFLAGS} -all_load"
101 AC_CHECK_TOOL(WINDRES, windres, :)
102 save_CFLAGS="${save_CFLAGS} -fnative-struct -D_OFF_T_ -D_off_t=long"; CFLAGS="${save_CFLAGS}"
103 vlc_LDFLAGS="${vlc_LDFLAGS} -mwindows -Xlinker --force-exe-suffix"
104 vlc_LDFLAGS="${vlc_LDFLAGS} -lws2_32 -lnetapi32"
105 ipv4_LDFLAGS="${ipv4_LDFLAGS} -lws2_32"
106 ipv6_LDFLAGS="${ipv6_LDFLAGS} -lws2_32"
107 http_LDFLAGS="${http_LDFLAGS} -lws2_32"
108 rc_LDFLAGS="${rc_LDFLAGS} -lws2_32"
112 x11_LDFLAGS="${x11_LDFLAGS} -lsocket"
113 xvideo_LDFLAGS="${xvideo_LDFLAGS} -lsocket"
120 save_CFLAGS="${save_CFLAGS} -Wno-multichar -Wno-ctor-dtor-privacy -Woverloaded-virtual"; CFLAGS="${save_CFLAGS}"
121 vlc_LDFLAGS="${vlc_LDFLAGS} -lbe"
122 plugins_LDFLAGS="${plugins_LDFLAGS} -nostart"
123 beos_LDFLAGS="${beos_LDFLAGS} -lbe -lgame -lroot -ltracker -lstdc++.r4"
124 ipv4_LDFLAGS="${ipv4_LDFLAGS} -lbind"
131 dnl Flags for plugin compilation
132 if test "x${SYS}" = "xmingw32"
134 plugins_CFLAGS="${plugins_CFLAGS} -fnative-struct"
136 plugins_CFLAGS="${plugins_CFLAGS} -fPIC"
137 plugins_LDFLAGS="${plugins_LDFLAGS} -fPIC"
140 dnl The -DSYS_FOO flag
141 save_CFLAGS="${save_CFLAGS} -DSYS_`echo ${SYS} | sed -e 's/-.*//' | tr 'abcdefghijklmnopqrstuvwxyz.' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`"; CFLAGS="${save_CFLAGS}"
143 dnl Check for system libs needed
144 AC_CHECK_FUNCS(gettimeofday select strerror strtod strtol isatty vasprintf swab sigrelse getpwuid memalign posix_memalign gethostbyname2 atoll strndup)
146 AC_CHECK_FUNC(connect,,[
147 AC_CHECK_LIB(socket,connect,
148 ipv4_LDFLAGS="${ipv4_LDFLAGS} -lsocket"
149 vlc_LDFLAGS="${vlc_LDFLAGS} -lsocket"
151 AC_CHECK_FUNC(send,,[
152 AC_CHECK_LIB(socket,send,
153 http_LDFLAGS="${http_LDFLAGS} -lsocket"
155 AC_CHECK_FUNC(gethostbyname,,[
156 AC_CHECK_LIB(nsl,gethostbyname,ipv4_LDFLAGS="${ipv4_LDFLAGS} -lnsl",[
157 AC_CHECK_LIB(bind,gethostbyname,ipv4_LDFLAGS="${ipv4_LDFLAGS} -lbind")])
160 AC_CHECK_FUNC(nanosleep,have_nanosleep=1,[
161 AC_CHECK_LIB(rt,nanosleep,
162 [vlc_LDFLAGS="${vlc_LDFLAGS} -lrt"; have_nanosleep=1],
163 [AC_CHECK_LIB(posix4,nanosleep,
164 [vlc_LDFLAGS="${vlc_LDFLAGS} -lposix4"; have_nanosleep=1])]
167 if test x$have_nanosleep = x1; then
168 AC_DEFINE(HAVE_NANOSLEEP, 1,
169 Define if nanosleep is available.)
172 AC_CHECK_LIB(rt,sem_init, [vlc_LDFLAGS="${vlc_LDFLAGS} -lrt"])
174 AC_CHECK_FUNC(inet_aton,,[
175 AC_CHECK_LIB(resolv,inet_aton,ipv4_LDFLAGS="${ipv4_LDFLAGS} -lresolv")
177 AC_CHECK_FUNC(textdomain,,[
178 AC_CHECK_LIB(intl,textdomain,
179 vlc_LDFLAGS="${vlc_LDFLAGS} -lintl"
180 plugins_LDFLAGS="${plugins_LDFLAGS} -lintl"
186 AC_CHECK_FUNC(getopt_long,[AC_DEFINE(HAVE_GETOPT_LONG,1,long getopt support)],
187 [ # FreeBSD has a gnugetopt library for this:
188 AC_CHECK_LIB([gnugetopt],[getopt_long],
189 [AC_DEFINE(HAVE_GETOPT_LONG,1,getopt support) vlc_LDFLAGS="${vlc_LDFLAGS} -lgnugetopt"],
193 AC_CHECK_LIB(dl,dlopen,vlc_LDFLAGS="${vlc_LDFLAGS} -ldl")
195 imdct_LDFLAGS="${imdct_LDFLAGS} -lm"
196 filter_distort_LDFLAGS="${filter_distort_LDFLAGS} -lm")
198 ffmpeg_LDFLAGS="${ffmpeg_LDFLAGS} -lm"
199 imdct_LDFLAGS="${imdct_LDFLAGS} -lm"
200 imdct3dn_LDFLAGS="${imdct3dn_LDFLAGS} -lm"
201 imdctsse_LDFLAGS="${imdctsse_LDFLAGS} -lm"
202 i420_rgb_LDFLAGS="${i420_rgb_LDFLAGS} -lm"
203 faad_LDFLAGS="${faad_LDFLAGS} -lm"
206 dnl Check for pthreads - borrowed from XMMS
208 if test "x${THREAD_LIB}" = "xerror"; then
209 AC_CHECK_LIB(pthread,main,THREAD_LIB="-lpthread")
211 if test "x${THREAD_LIB}" = "xerror"; then
212 AC_CHECK_LIB(pthreads,main,THREAD_LIB="-lpthreads")
214 if test "x${THREAD_LIB}" = "xerror"; then
215 AC_CHECK_LIB(c_r,main,THREAD_LIB="-lc_r")
217 if test "x${THREAD_LIB}" = "xerror"; then
218 AC_CHECK_FUNC(pthread_mutex_lock)
222 dnl Check for cthreads under GNU/Hurd for instance
223 AC_CHECK_LIB(threads,cthread_fork,THREAD_LIB="-lthreads")
225 dnl Check for misc headers
226 AC_EGREP_HEADER(pthread_cond_t,pthread.h,[
227 AC_DEFINE(PTHREAD_COND_T_IN_PTHREAD_H, 1,
228 Define if <pthread.h> defines pthread_cond_t.)])
229 AC_EGREP_HEADER(pthread_once,pthread.h,[
230 AC_DEFINE(PTHREAD_ONCE_IN_PTHREAD_H, 1,
231 Define if <pthread.h> defines pthread_once.)])
232 AC_EGREP_HEADER(strncasecmp,strings.h,[
233 AC_DEFINE(STRNCASECMP_IN_STRINGS_H, 1,
234 Define if <strings.h> defines strncasecmp.)])
236 dnl Check for headers
237 AC_CHECK_HEADERS(stdint.h getopt.h strings.h inttypes.h sys/int_types.h)
238 AC_CHECK_HEADERS(sys/sockio.h fcntl.h sys/types.h sys/time.h sys/times.h)
239 AC_CHECK_HEADERS(dlfcn.h image.h)
240 AC_CHECK_HEADERS(arpa/inet.h net/if.h netinet/in.h sys/socket.h)
241 AC_CHECK_HEADERS(machine/param.h sys/shm.h)
242 AC_CHECK_HEADERS(linux/version.h)
246 dnl Mac OS X and other OSes don't have declaration for nanosleep
247 AC_EGREP_HEADER(nanosleep,time.h,[
248 AC_DEFINE(HAVE_DECL_NANOSLEEP, 1,
249 Define if <time.h> defines nanosleep.)
252 dnl Make sure we have timespecs
253 AC_EGREP_HEADER(timespec,sys/time.h,[
254 AC_DEFINE(HAVE_STRUCT_TIMESPEC, 1,
255 Define if <sys/time.h> defines struct timespec.)
258 dnl Check for threads library
259 AC_CHECK_HEADERS(cthreads.h pthread.h kernel/scheduler.h kernel/OS.h)
261 dnl Default X headers and libraries
262 if test "x${x_includes}" = "xNONE"; then
263 x_includes="/usr/X11R6/include"
265 if test "x${x_libraries}" = "xNONE"; then
266 x_libraries="/usr/X11R6/lib"
269 dnl Build the gtk_main plugin?
273 if test "x${SYS}" != "xmingw32"
275 CPPFLAGS="${save_CPPFLAGS} -I${x_includes}"
276 AC_CHECK_HEADERS(X11/extensions/dpms.h, [
277 AC_EGREP_HEADER(DPMSInfo,X11/extensions/dpms.h,[
278 AC_DEFINE(DPMSINFO_IN_DPMS_H, 1,
279 Define if <X11/extensions/dpms.h> defines DPMSInfo.)
282 CPPFLAGS="${save_CPPFLAGS}"
285 dnl Check for ntohl, etc.
286 AC_CACHE_CHECK([for ntohl in sys/param.h],
287 [ac_cv_c_ntohl_sys_param_h],
288 [CFLAGS="${save_CFLAGS} -Wall -Werror"
289 AC_TRY_COMPILE([#include <sys/param.h>],
290 [void foo() { int meuh; ntohl(meuh); }],
291 ac_cv_c_ntohl_sys_param_h=yes, ac_cv_c_ntohl_sys_param_h=no)])
292 if test "x${ac_cv_c_ntohl_sys_param_h}" != "xno"; then
293 AC_DEFINE(NTOHL_IN_SYS_PARAM_H, 1, Define if <sys/param.h> defines ntohl.)
296 dnl Check for inline function size limit
297 AC_CACHE_CHECK([if \$CC accepts -finline-limit],
298 [ac_cv_c_inline_limit],
299 [CFLAGS="${save_CFLAGS} -finline-limit-30000"
300 AC_TRY_COMPILE([],,ac_cv_c_inline_limit=yes, ac_cv_c_inline_limit=no)])
301 if test "x${ac_cv_c_inline_limit}" != "xno"; then
302 save_CFLAGS="${save_CFLAGS} -finline-limit-30000"; CFLAGS="${save_CFLAGS}"
305 dnl Check for -W or -w flags
306 AC_CACHE_CHECK([if \$CC accepts -Wall -Winline],
307 [ac_cv_c_Wall_Winline],
308 [CFLAGS="-Wall -Winline ${save_CFLAGS}"
309 AC_TRY_COMPILE([],,ac_cv_c_Wall_Winline=yes, ac_cv_c_Wall_Winline=no)])
310 if test "x${ac_cv_c_Wall_Winline}" != "xno"; then
311 save_CFLAGS="-Wall -Winline ${save_CFLAGS}"; CFLAGS="${save_CFLAGS}"
313 AC_CACHE_CHECK([if \$CC accepts -wall -winline],
314 [ac_cv_c_wall_winline],
315 [CFLAGS="-wall -winline ${save_CFLAGS}"
316 AC_TRY_COMPILE([],,ac_cv_c_wall_winline=yes, ac_cv_c_wall_winline=no)])
317 if test "x${ac_cv_c_wall_winline}" != "xno"; then
318 save_CFLAGS="-wall -winline ${save_CFLAGS}"; CFLAGS="${save_CFLAGS}"
323 AC_CACHE_CHECK([if \$CC accepts -pipe],
325 [CFLAGS="${save_CFLAGS} -pipe"
326 AC_TRY_COMPILE([],,ac_cv_c_pipe=yes, ac_cv_c_pipe=no)])
327 if test "x${ac_cv_c_pipe}" != "xno"; then
328 save_CFLAGS="${save_CFLAGS} -pipe"; CFLAGS="${save_CFLAGS}"
331 dnl Check for various optimization flags
332 AC_CACHE_CHECK([if \$CC accepts -O3],
334 [CFLAGS="${save_CFLAGS} -O3"
335 AC_TRY_COMPILE([],,ac_cv_c_o3=yes, ac_cv_c_o3=no)])
336 if test "x${ac_cv_c_o3}" != "xno"; then
337 CFLAGS_OPTIM="${CFLAGS_OPTIM} -O3"
339 AC_CACHE_CHECK([if \$CC accepts -O2],
341 [CFLAGS="${save_CFLAGS} -O2"
342 AC_TRY_COMPILE([],,ac_cv_c_o2=yes, ac_cv_c_o2=no)])
343 if test "x${ac_cv_c_o2}" != "xno"; then
344 CFLAGS_OPTIM="${CFLAGS_OPTIM} -O2"
346 AC_CACHE_CHECK([if \$CC accepts -O],
348 [CFLAGS="${save_CFLAGS} -O"
349 AC_TRY_COMPILE([],,ac_cv_c_o=yes, ac_cv_c_o=no)])
350 if test "x${ac_cv_c_o}" != "xno"; then
351 CFLAGS_OPTIM="${CFLAGS_OPTIM} -O"
356 dnl Check for -ffast-math
357 AC_CACHE_CHECK([if \$CC accepts -ffast-math],
359 [CFLAGS="${save_CFLAGS} -ffast-math"
360 AC_TRY_COMPILE([],,ac_cv_c_fast_math=yes, ac_cv_c_fast_math=no)])
361 if test "x${ac_cv_c_fast_math}" != "xno"; then
362 CFLAGS_OPTIM="${CFLAGS_OPTIM} -ffast-math"
365 dnl Check for -funroll-loops
366 AC_CACHE_CHECK([if \$CC accepts -funroll-loops],
367 [ac_cv_c_unroll_loops],
368 [CFLAGS="${save_CFLAGS} -funroll-loops"
369 AC_TRY_COMPILE([],,ac_cv_c_unroll_loops=yes, ac_cv_c_unroll_loops=no)])
370 if test "x${ac_cv_c_unroll_loops}" != "xno"; then
371 CFLAGS_OPTIM="${CFLAGS_OPTIM} -funroll-loops"
374 dnl Check for -fomit-frame-pointer
375 AC_CACHE_CHECK([if \$CC accepts -fomit-frame-pointer],
376 [ac_cv_c_omit_frame_pointer],
377 [CFLAGS="${save_CFLAGS} -fomit-frame-pointer"
378 AC_TRY_COMPILE([],,ac_cv_c_omit_frame_pointer=yes, ac_cv_c_omit_frame_pointer=no)])
379 if test "x${ac_cv_c_omit_frame_pointer}" != "xno"; then
380 CFLAGS_OPTIM_NODEBUG="${CFLAGS_OPTIM_NODEBUG} -fomit-frame-pointer"
381 # this plugin does not compile without -fomit-frame-pointer, damn gcc!
382 i420_yuy2_mmx_CFLAGS="${i420_yuy2_mmx_CFLAGS} -fomit-frame-pointer"
385 dnl Check for Darwin plugin linking flags
386 AC_CACHE_CHECK([if \$CC accepts -bundle -undefined error -lcc_dynamic],
388 [CFLAGS="${save_CFLAGS} -bundle -undefined error -lcc_dynamic"
389 AC_TRY_COMPILE([],,ac_cv_ld_darwin=yes, ac_cv_ld_darwin=no)])
390 if test "x${ac_cv_ld_darwin}" != "xno"; then
391 plugins_LDFLAGS="${plugins_LDFLAGS} -bundle -undefined error -lcc_dynamic"
394 dnl Check for standard plugin linking flags
395 AC_CACHE_CHECK([if \$CC accepts -shared],
397 [CFLAGS="${save_CFLAGS} -shared"
398 AC_TRY_COMPILE([],, ac_cv_ld_plugins=yes, ac_cv_ld_plugins=no)])
399 if test "x${ac_cv_ld_plugins}" != "xno"; then
400 plugins_LDFLAGS="${plugins_LDFLAGS} -shared"
403 dnl Check for variadic macros
404 AC_CACHE_CHECK([for variadic cpp macros],
405 [ac_cv_cpp_variadic_macros],
406 [CFLAGS="${save_CFLAGS}"
409 #define a(b,c...) printf(b,##c)],
410 [a("foo");a("%s","bar");a("%s%s","baz","quux");],
411 ac_cv_cpp_variadic_macros=yes,
412 ac_cv_cpp_variadic_macros=no)])
413 if test "x${ac_cv_cpp_variadic_macros}" != "xno"; then
414 AC_DEFINE(HAVE_VARIADIC_MACROS, 1, Support for variadic macros)
417 dnl Checks for __attribute__(aligned()) directive
418 AC_CACHE_CHECK([__attribute__ ((aligned ())) support],
419 [ac_cv_c_attribute_aligned],
420 [ac_cv_c_attribute_aligned=0
421 CFLAGS="${save_CFLAGS} -Werror"
422 for ac_cv_c_attr_align_try in 2 4 8 16 32 64; do
424 [static char c __attribute__ ((aligned(${ac_cv_c_attr_align_try}))) = 0; return c;],
425 [ac_cv_c_attribute_aligned="${ac_cv_c_attr_align_try}"])
427 CFLAGS="${save_CFLAGS}"])
428 if test "x${ac_cv_c_attribute_aligned}" != "x0"; then
429 AC_DEFINE_UNQUOTED([ATTRIBUTE_ALIGNED_MAX],
430 [${ac_cv_c_attribute_aligned}],[Maximum supported data alignment])
436 case "x${target_cpu}" in
448 BUILTINS="${BUILTINS}"
449 PLUGINS="${PLUGINS} misc/dummy/dummy misc/null"
450 PLUGINS="${PLUGINS} control/rc/rc misc/logger/logger access/file misc/memcpy/memcpy"
451 PLUGINS="${PLUGINS} demux/mpeg/es demux/mpeg/audio demux/mpeg/mpeg_system demux/mpeg/ps demux/mpeg/ts"
452 PLUGINS="${PLUGINS} codec/mpeg_video/idct/idct codec/mpeg_video/idct/idctclassic codec/mpeg_video/motion/motion codec/mpeg_video/mpeg_video codec/spudec/spudec codec/spdif codec/mpeg_audio/mpeg_audio"
453 PLUGINS="${PLUGINS} codec/a52old/imdct/imdct codec/a52old/downmix/downmix codec/a52old/a52old"
454 #PLUGINS="${PLUGINS} codec/lpcm/lpcm"
455 PLUGINS="${PLUGINS} video_filter/deinterlace/deinterlace video_filter/invert video_filter/wall video_filter/transform video_filter/distort video_filter/clone video_filter/crop"
456 PLUGINS="${PLUGINS} audio_filter/converter/float32tos16 audio_filter/converter/float32tos8 audio_filter/converter/float32tou16 audio_filter/converter/float32tou8 audio_filter/converter/a52tospdif audio_filter/converter/fixed32tofloat32 audio_filter/converter/fixed32tos16 audio_filter/converter/s16tofloat32"
457 PLUGINS="${PLUGINS} audio_filter/resampler/trivial audio_filter/resampler/ugly"
458 PLUGINS="${PLUGINS} audio_filter/channel_mixer/trivial"
459 PLUGINS="${PLUGINS} audio_mixer/trivial audio_mixer/spdif"
460 PLUGINS="${PLUGINS} audio_output/file"
461 #PLUGINS="${PLUGINS} visualization/scope/scope"
462 PLUGINS="${PLUGINS} video_chroma/i420_rgb video_chroma/i420_yuy2 video_chroma/i422_yuy2 video_chroma/i420_ymga"
463 PLUGINS="${PLUGINS} demux/util/id3"
467 NETWORK_MODULES="access/udp access/http access/rtp misc/network/ipv4"
470 dnl Accelerated modules
472 MMX_MODULES="misc/memcpy/memcpymmx codec/mpeg_video/idct/idctmmx codec/mpeg_video/motion/motionmmx video_chroma/i420_rgb_mmx video_chroma/i420_yuy2_mmx video_chroma/i422_yuy2_mmx video_chroma/i420_ymga_mmx"
473 MMXEXT_MODULES="misc/memcpy/memcpymmxext codec/mpeg_video/idct/idctmmxext codec/mpeg_video/motion/motionmmxext"
474 THREEDNOW_MODULES="misc/memcpy/memcpy3dn codec/a52old/imdct/imdct3dn codec/a52old/downmix/downmix3dn"
475 SSE_MODULES="codec/a52old/imdct/imdctsse codec/a52old/downmix/downmixsse"
476 ALTIVEC_MODULES="codec/mpeg_video/idct/idctaltivec codec/mpeg_video/motion/motionaltivec misc/memcpy/memcpyaltivec"
478 if test x$SYS != xbeos
480 PLUGINS="${PLUGINS} ${NETWORK_MODULES}"
483 AC_CACHE_CHECK([if \$CC groks MMX inline assembly],
485 [CFLAGS="${save_CFLAGS}"
486 AC_TRY_COMPILE(,[void *p;asm volatile("packuswb %%mm1,%%mm2"::"r"(p));],
487 ac_cv_mmx_inline=yes, ac_cv_mmx_inline=no)])
488 if test "x${ac_cv_mmx_inline}" != "xno"; then
489 ACCEL_MODULES="${ACCEL_MODULES} ${MMX_MODULES}"
492 AC_CACHE_CHECK([if \$CC groks MMX EXT inline assembly],
493 [ac_cv_mmxext_inline],
494 [CFLAGS="${save_CFLAGS}"
495 AC_TRY_COMPILE(,[void *p;asm volatile("maskmovq %%mm1,%%mm2"::"r"(p));],
496 ac_cv_mmxext_inline=yes, ac_cv_mmxext_inline=no)])
497 if test "x${ac_cv_mmxext_inline}" != "xno"; then
498 ACCEL_MODULES="${ACCEL_MODULES} ${MMXEXT_MODULES}"
501 AC_CACHE_CHECK([if \$CC groks 3D Now! inline assembly],
502 [ac_cv_3dnow_inline],
503 [CFLAGS="${save_CFLAGS}"
504 AC_TRY_COMPILE(,[void *p;asm volatile("pfadd %%mm1,%%mm2"::"r"(p));],
505 ac_cv_3dnow_inline=yes, ac_cv_3dnow_inline=no)])
506 if test "x${ac_cv_3dnow_inline}" != "xno"; then
507 AC_DEFINE(CAN_COMPILE_3DNOW, 1, Define if \$CC groks 3D Now! inline assembly.)
508 ACCEL_MODULES="${ACCEL_MODULES} ${THREEDNOW_MODULES}"
511 AC_CACHE_CHECK([if \$CC groks SSE inline assembly],
513 [CFLAGS="${save_CFLAGS}"
514 AC_TRY_COMPILE(,[void *p;asm volatile("xorps %%xmm1,%%xmm2"::"r"(p));],
515 ac_cv_sse_inline=yes, ac_cv_sse_inline=no)])
516 if test "x${ac_cv_sse_inline}" != "xno" -a "x${SYS}" != "xmingw32"; then
517 AC_DEFINE(CAN_COMPILE_SSE, 1, Define if \$CC groks SSE inline assembly.)
518 ACCEL_MODULES="${ACCEL_MODULES} ${SSE_MODULES}"
521 # don't try to grok AltiVec with native mingw32 it doesn't work right now
522 # we should be able to remove this test with future versions of mingw32
523 if test "x${SYS}" != "xmingw32"; then
524 AC_CACHE_CHECK([if \$CC groks AltiVec inline assembly],
525 [ac_cv_altivec_inline],
526 [CFLAGS="${save_CFLAGS}"
527 AC_TRY_COMPILE(,[asm volatile("vperm 0,1,2,3");],
528 ac_cv_altivec_inline=yes,
529 [CFLAGS="${save_CFLAGS} -Wa,-m7400"
530 AC_TRY_COMPILE(,[asm volatile("vperm 0,1,2,3");],
531 [ac_cv_altivec_inline="-Wa,-m7400"],
532 ac_cv_altivec_inline=no)
534 if test "x${ac_cv_altivec_inline}" != "xno"; then
535 AC_DEFINE(CAN_COMPILE_ALTIVEC, 1, Define if \$CC groks AltiVec inline assembly.)
536 if test "x${ac_cv_altivec_inline}" != "xyes"; then
537 idctaltivec_CFLAGS="${idctaltivec_CFLAGS} ${ac_cv_altivec_inline}"
538 motionaltivec_CFLAGS="${motionaltivec_CFLAGS} ${ac_cv_altivec_inline}"
539 memcpyaltivec_CFLAGS="${memcpyaltivec_CFLAGS} ${ac_cv_altivec_inline}"
540 vlc_CFLAGS="${vlc_CFLAGS} ${ac_cv_altivec_inline}"
542 ACCEL_MODULES="${ACCEL_MODULES} ${ALTIVEC_MODULES}"
545 AC_CACHE_CHECK([if \$CC groks AltiVec C extensions],
547 [CFLAGS="${save_CFLAGS} -faltivec"
549 AC_TRY_COMPILE(,[vec_mtvscr((vector unsigned int)(0));],
550 ac_cv_c_altivec=-faltivec, [
552 CFLAGS="${save_CFLAGS} ${idctaltivec_CFLAGS} -fvec"
553 AC_TRY_COMPILE(,[vec_mtvscr((vector unsigned int)(0));],
554 [ac_cv_c_altivec="-fvec"], ac_cv_c_altivec=no)
556 CFLAGS="${save_CFLAGS}"])
557 if test "x${ac_cv_c_altivec}" != "xno"; then
558 AC_DEFINE(CAN_COMPILE_C_ALTIVEC, 1, Define if your compiler groks C AltiVec extensions.)
559 idctaltivec_CFLAGS="${idctaltivec_CFLAGS} ${ac_cv_c_altivec}"
560 motionaltivec_CFLAGS="${motionaltivec_CFLAGS} ${ac_cv_c_altivec}"
561 memcpyaltivec_CFLAGS="${memcpyaltivec_CFLAGS} ${ac_cv_c_altivec}"
562 vlc_CFLAGS="${vlc_CFLAGS} ${ac_cv_c_altivec}"
563 ACCEL_MODULES="${ACCEL_MODULES} ${ALTIVEC_MODULES}"
566 AC_CACHE_CHECK([if linker needs -framework vecLib],
568 [LDFLAGS="${vlc_LDFLAGS} -framework vecLib"
569 AC_TRY_LINK([],,ac_cv_ld_altivec=yes,ac_cv_ld_altivec=no)
570 LDFLAGS="${save_LDFLAGS}"
572 if test "x${ac_cv_ld_altivec}" != "xno"; then
573 idctaltivec_LDFLAGS="${idctaltivec_LDFLAGS} -framework vecLib"
574 motionaltivec_LDFLAGS="${motionaltivec_LDFLAGS} -framework vecLib"
575 memcpyaltivec_LDFLAGS="${memcpyaltivec_LDFLAGS} -framework vecLib"
576 vlc_LDFLAGS="${vlc_LDFLAGS} -framework vecLib"
582 AC_ARG_WITH(,[Optimization options:])
585 dnl Special arch tuning
588 [ --with-tuning=ARCH enable special tuning for an architecture
589 (default i686 on IA-32 and 750 on PPC)])
590 if test "x${with_tuning}" != "x"; then
591 TUNING="${with_tuning}"
593 if test "x${target_cpu}" = "xi686" -o "x${target_cpu}" = "xi586" -o "x${target_cpu}" = "xi486" -o "x${target_cpu}" = "xi386"; then TUNING="pentiumpro"
595 if test "x${target_cpu}" = "xpowerpc"; then TUNING="750"; fi
600 dnl x86 accelerations
602 if test "x${target_cpu}" = "xi686" -o "x${target_cpu}" = "xi586" -o "x${target_cpu}" = "xx86" -o "x${target_cpu}" = "xi386"
605 PLUGINS="${PLUGINS} ${ACCEL_MODULES}"
609 dnl Enable/disable optimizations
611 AC_ARG_ENABLE(optimizations,
612 [ --disable-optimizations disable compiler optimizations (default enabled)],
613 [ if test "x${enable_optimizations}" = "xno"; then OPTIMS=0; fi ],
617 dnl AltiVec acceleration
619 AC_ARG_ENABLE(altivec,
620 [ --disable-altivec disable AltiVec optimizations (default enabled on PPC)],
621 [ if test "x${enable_altivec}" = "xyes"; then ARCH="${ARCH} altivec";
622 BUILTINS="${BUILTINS} ${ACCEL_MODULES}"; fi ],
623 [ if test "x${target_cpu}" = "xpowerpc"; then ARCH="${ARCH} altivec";
624 BUILTINS="${BUILTINS} ${ACCEL_MODULES}"; fi ])
631 [ --enable-debug debug mode (default disabled)],
632 [ if test "x${enable_debug}" = "xyes"; then DEBUG=1; fi ])
635 dnl Enable release-specific flags
638 AC_ARG_ENABLE(release,
639 [ --enable-release activate extra optimizations (default disabled)],
640 [ if test "x${enable_release}" = "xyes"; then RELEASE=1; fi ],
641 [ VERSION="${VERSION}_`date +%Y-%m-%d`" ])
647 AC_ARG_WITH(,[Input plugins:])
650 dnl DVD module: optionally check for installed libdvdcss
653 [ --enable-dvd DVD input module (default enabled)])
654 if test "x${enable_dvd}" != "xno"
657 [ --with-dvdcss=PATH libdvdcss headers and libraries])
658 AC_ARG_WITH(dvdcss-tree,
659 [ --with-dvdcss-tree=PATH libdvdcss tree for static linking])
660 case "x${with_dvdcss}" in
662 if test "x${with_dvdcss_tree}" = x
664 AC_CHECK_HEADERS(dvdcss/dvdcss.h,
665 [ PLUGINS="${PLUGINS} access/dvd/dvd"
666 dvd_LDFLAGS="${dvd_LDFLAGS} -ldvdcss" ],
667 [ AC_MSG_WARN([libdvdcss is no longer provided with vlc; please get libdvdcss from http://www.videolan.org/libdvdcss/ and build it. Then either use --with-dvdcss=<path/where/libdvdcss/was/installed> for dynamic linking (recommended under Unix) or --with-dvdcss-tree=<path/where/libdvdcss/was/built> for static linking (recommended under BeOS, Windows, MacOS X). Alternatively you can use --disable-dvd to disable the DVD plugin.])
668 AC_MSG_ERROR([cannot find libdvdcss headers]) ])
670 AC_MSG_CHECKING(for libdvdcss.a in ${with_dvdcss_tree})
671 real_dvdcss_tree="`cd ${with_dvdcss_tree} 2>/dev/null && pwd`"
672 if test "x${real_dvdcss_tree}" = "x"
674 dnl The given directory can't be found
676 AC_MSG_ERROR([cannot cd to ${with_dvdcss_tree}])
678 if test -f "${real_dvdcss_tree}/src/.libs/libdvdcss.a"
680 dnl Use a custom libdvdcss
681 AC_MSG_RESULT(${real_dvdcss_tree}/src/.libs/libdvdcss.a)
682 BUILTINS="${BUILTINS} access/dvd/dvd"
683 dvd_LDFLAGS="${dvd_LDFLAGS} ${real_dvdcss_tree}/src/.libs/libdvdcss.a"
684 dvd_CFLAGS="${dvd_CFLAGS} -I${real_dvdcss_tree}/src"
686 dnl The given libdvdcss wasn't built
688 AC_MSG_ERROR([cannot find ${real_dvdcss_tree}/src/.libs/libdvdcss.a, make sure you compiled libdvdcss in ${with_dvdcss_tree}])
693 dnl Compile without dvdcss (dlopen version, works only under Linux)
694 PLUGINS="${PLUGINS} access/dvd/dvd"
695 dvd_CFLAGS="${dvd_CFLAGS} -DGOD_DAMN_DMCA"
696 dvd_LDFLAGS="${dvd_LDFLAGS} -ldl"
699 AC_MSG_CHECKING(for dvdcss headers in ${with_dvdcss})
700 if test -f ${with_dvdcss}/include/dvdcss/dvdcss.h
702 dnl Use ${with_dvdcss}/include/dvdcss/dvdcss.h
704 PLUGINS="${PLUGINS} access/dvd/dvd"
705 dvd_LDFLAGS="${dvd_LDFLAGS} -L${with_dvdcss}/lib -ldvdcss"
706 dvd_CFLAGS="${dvd_CFLAGS} -I${with_dvdcss}/include"
708 dnl No libdvdcss could be found, sorry
710 AC_MSG_ERROR([cannot find ${with_dvdcss}/include/dvdcss/dvdcss.h])
717 dnl dvdread module: check for libdvdread plugin
719 AC_ARG_ENABLE(dvdread,
720 [ --enable-dvdread dvdread input module (default disabled)])
721 if test "x${enable_dvdread}" != "xno"
724 [ --with-dvdread=PATH libdvdread headers and libraries])
725 if test "x${with_dvdread}" = "x"
730 test_LDFLAGS="-L${with_dvdread}/lib"
731 test_CFLAGS="-I${with_dvdread}/include"
733 CPPFLAGS="${save_CPPFLAGS} ${test_CFLAGS}"
734 AC_CHECK_HEADERS(dvdread/dvd_reader.h, [
735 AC_TRY_COMPILE([#include <dvdread/dvd_reader.h>],
736 [int foo() { return DVD_VIDEO_LB_LEN; }],[
737 PLUGINS="${PLUGINS} access/dvdread/dvdread"
738 dvdread_LDFLAGS="${dvdread_LDFLAGS} ${test_LDFLAGS} -ldvdread"
739 dvdread_CFLAGS="${dvdread_CFLAGS} ${test_CFLAGS}"
741 if test "x${enable_dvdread}" != "x"
743 AC_MSG_ERROR([Cannot find DVD_VIDEO_LB_LEN in dvdread/dvd_reader.h, please install libdvdread version 0.9.2 or later])
747 if test "x${enable_dvdread}" != "x"
749 if test "x${with_dvdread}" != "x"
751 AC_MSG_ERROR([Cannot find dvdread/dvd_reader.h in ${with_dvdread}/include])
753 AC_MSG_ERROR([Cannot find dvdread/dvd_reader.h])
757 CPPFLAGS="$save_CPPFLAGS"
761 dnl dvdplay module: check for libdvdplay
763 AC_ARG_ENABLE(dvdplay,
764 [ --enable-dvdplay dvdplay input module (default disabled)])
765 if test "x$enable_dvdplay" != "xno"
768 [ --with-dvdplay=PATH libdvdplay headers and libraries])
769 if test "x$with_dvdplay" = x
774 test_LDFLAGS="-L${with_dvdplay}/lib"
775 test_CFLAGS="-I${with_dvdplay}/include"
777 CPPFLAGS="$save_CPPFLAGS $test_CFLAGS"
778 AC_CHECK_HEADERS(dvdplay/dvdplay.h, [
779 PLUGINS="${PLUGINS} access/dvdplay/dvdplay"
780 dvdplay_LDFLAGS="${dvdplay_LDFLAGS} ${test_LDFLAGS} -ldvdplay -ldvdread"
781 dvdplay_CFLAGS="${dvdplay_CFLAGS} ${test_CFLAGS}"
783 if test "x$enable_dvdplay" != x
785 if test "x$with_dvdplay" != x
787 AC_MSG_ERROR([Cannot find dvdplay/dvdplay.h in ${with_dvdplay}/include])
789 AC_MSG_ERROR([Cannot find dvdplay/dvdplay.h])
793 CPPFLAGS="${save_CPPFLAGS}"
798 dnl libdvbpsi ts demux
800 AC_ARG_ENABLE(dvbpsi,
801 [ --enable-dvbpsi dvbpsi ts demux module (default disabled)])
802 if test "x${enable_dvbpsi}" != "xno"
805 [ --with-dvbpsi=PATH libdvbpsi headers and libraries])
807 [ --with-dvbpsi-tree=PATH libdvbpsi tree for static linking])
808 case "x${with_dvbpsi}" in
810 if test "x${with_dvbpsi_tree}" = "x"
812 AC_CHECK_HEADERS(dvbpsi/dr.h,
813 [ PLUGINS="${PLUGINS} demux/mpeg/ts_dvbpsi"
814 ts_dvbpsi_LDFLAGS="${ts_dvbpsi_LDFLAGS} -ldvbpsi" ], [],
815 [ AC_MSG_ERROR([cannot find libdvbpsi headers]) ])
817 AC_MSG_CHECKING(for libdvbpsi.a in ${with_dvbpsi_tree})
818 real_dvbpsi_tree="`cd ${with_dvbpsi_tree} 2>/dev/null && pwd`"
819 if test "x${real_dvbpsi_tree}" = "x"
821 dnl The given directory can't be found
823 AC_MSG_ERROR([cannot cd to ${with_dvbpsi_tree}])
825 if test -f "${real_dvbpsi_tree}/src/.libs/libdvbpsi.a"
827 dnl Use a custom libdvbpsi
828 AC_MSG_RESULT(${real_dvbpsi_tree}/src/.libs/libdvbpsi.a)
829 BUILTINS="${BUILTINS} demux/mpeg/ts_dvbpsi"
830 ts_dvbpsi_LDFLAGS="${ts_dvbpsi_LDFLAGS} ${real_dvbpsi_tree}/src/.libs/libdvbpsi.a"
831 ts_dvbpsi_CFLAGS="${ts_dvbpsi_CFLAGS} -I${real_dvbpsi_tree}/src"
833 dnl The given libdvbpsi wasn't built
835 AC_MSG_ERROR([cannot find ${real_dvbpsi_tree}/src/.libs/libdvbpsi.a, make sure you compiled libdvbpsi in ${with_dvbpsi_tree}])
840 dnl Compile without dvbpsi
843 AC_MSG_CHECKING(for dvbpsi headers in ${with_dvbpsi})
844 if test "x${with_dvbpsi}" = "x"
849 test_LDFLAGS="-L${with_dvbpsi}/lib"
850 test_CFLAGS="-I${with_dvbpsi}/include"
852 CPPFLAGS="${save_CPPFLAGS} ${test_CFLAGS}"
853 AC_CHECK_HEADER([dvbpsi/dr.h],[
854 PLUGINS="${PLUGINS} demux/mpeg/ts_dvbpsi"
855 ts_dvbpsi_LDFLAGS="${ts_dvbpsi_LDFLAGS} ${test_LDFLAGS} -ldvbpsi"
856 ts_dvbpsi_CFLAGS="${ts_dvbpsi_CFLAGS} ${test_CFLAGS}"
858 if test "x${enable_dvbpsi}" != "x"
860 AC_MSG_ERROR([Could not find libdvbpsi on your system: you may get it from www.videolan.org, you'll need at least version 0.1.1])
863 CPPFLAGS="${save_CPPFLAGS}"
869 dnl Video4Linux plugin
872 [ --enable-v4l Video4Linux input support (default disabled)])
873 if test "x${enable_v4l}" = "xyes"
875 AC_CHECK_HEADERS(libv4l/v4l.h, [
876 PLUGINS="${PLUGINS} access/v4l/v4l"
884 [ --enable-vcd VCD support for Linux, FreeBSD and MacOS X (default enabled)])
886 if test "x${enable_vcd}" != "xno"
888 AC_EGREP_HEADER(cdrom_msf0,linux/cdrom.h,[
889 PLUGINS="${PLUGINS} access/vcd/vcd"
892 AC_EGREP_HEADER(ioc_toc_header ,sys/cdio.h,[
893 PLUGINS="${PLUGINS} access/vcd/vcd"
894 AC_DEFINE(HAVE_IOC_TOC_HEADER_IN_SYS_CDIO_H, 1, For FreeBSD VCD support)
897 if test "x${SYS}" = "xbsdi"
899 PLUGINS="${PLUGINS} access/vcd/vcd"
902 if test "x${SYS}" = "xdarwin"
904 # No need to add vcd to PLUGINS, Darwin is already based on FreeBSD
905 vcd_LDFLAGS="${vcd_LDFLAGS} -framework IOKit -framework CoreFoundation"
910 dnl Satellite input module
912 AC_ARG_ENABLE(satellite,
913 [ --enable-satellite satellite card support (default disabled)],
914 [ if test "x${enable_satellite}" = "xyes"
916 PLUGINS="${PLUGINS} access/satellite/satellite"
920 dnl ipv6 plugin - not for QNX yet
922 if test "x${SYS}" != "xnto" && test "x${SYS}" != "xmingw32"
925 AC_CHECK_FUNC(inet_pton,[have_ipv6=1],[
926 AC_CHECK_LIB(resolv,inet_pton,
928 ipv6_LDFLAGS="${ipv6_LDFLAGS} -lresolv"])
930 AC_MSG_CHECKING(for sockaddr_in6 in netinet/in.h)
931 AC_EGREP_HEADER(sockaddr_in6,netinet/in.h,
932 [AC_MSG_RESULT(yes)], [AC_MSG_RESULT(no); have_ipv6=0])
933 if test x$have_ipv6 = x1; then
934 PLUGINS="${PLUGINS} misc/network/ipv6"
937 if test "x${SYS}" = "xmingw32"
939 AC_MSG_CHECKING(for getaddrinfo in ws2tcpip.h)
940 AC_EGREP_HEADER(addrinfo,ws2tcpip.h,[AC_MSG_RESULT(yes)
941 PLUGINS="${PLUGINS} misc/network/ipv6"],[AC_MSG_RESULT(no)])
948 [ --enable-avi AVI demux module (default enabled)])
949 if test "x${enable_avi}" != "xno"
951 PLUGINS="${PLUGINS} demux/avi/avi"
958 [ --enable-aac AAC demux module (default enabled)])
959 if test "x${enable_aac}" != "xno"
961 PLUGINS="${PLUGINS} demux/aac/aac"
968 AC_ARG_WITH(,[Codec plugins:])
974 [ --enable-mad libmad module (default disabled)])
975 if test "x${enable_mad}" = "xyes"
978 [ --with-mad=PATH path to libmad],[],[])
979 if test "x${with_mad}" != "xno" -a "x${with_mad}" != "x"
981 mad_CFLAGS="${mad_CFLAGS} -I${with_mad}/include"
982 mad_LDFLAGS="${mad_LDFLAGS} -L${with_mad}/lib"
985 AC_ARG_WITH(mad-tree,
986 [ --with-mad-tree=PATH mad tree for static linking],[],[])
987 if test "x${with_mad_tree}" != "xno" -a "x${with_mad_tree}" != "x"
989 real_mad_tree="`cd ${with_mad_tree} 2>/dev/null && pwd`"
990 if test "x${real_mad_tree}" = "x"
992 dnl The given directory can't be found
994 AC_MSG_ERROR([${with_mad_tree} directory doesn't exist])
996 dnl Use a custom libmad
997 AC_MSG_CHECKING(for mad.h in ${real_mad_tree}/libmad)
998 if test -f ${real_mad_tree}/libmad/mad.h
1001 mad_CFLAGS="${mad_CFLAGS} -I${real_mad_tree}/libmad"
1002 mad_LDFLAGS="${mad_LDFLAGS} -L${real_mad_tree}/libmad/.libs"
1003 LDFLAGS="${save_LDFLAGS} ${mad_LDFLAGS}"
1004 AC_CHECK_LIB(mad, mad_bit_init, [
1005 BUILTINS="${BUILTINS} codec/mad/mad"
1006 mad_LDFLAGS="${mad_LDFLAGS} -lmad"
1007 ],[ AC_MSG_ERROR([the specified tree hasn't been compiled ])
1009 LDFLAGS="${save_LDFLAGS}"
1012 AC_MSG_ERROR([the specified tree doesn't have mad.h])
1015 CFLAGS="${save_CFLAGS} ${mad_CFLAGS}"
1016 LDFLAGS="${save_LDFLAGS} ${mad_LDFLAGS}"
1017 AC_CHECK_HEADERS(mad.h, ,
1018 [ AC_MSG_ERROR([Cannot find development headers for libmad...]) ])
1019 AC_CHECK_LIB(mad, mad_bit_init, [
1020 PLUGINS="${PLUGINS} codec/mad/mad"
1021 mad_LDFLAGS="${mad_LDFLAGS} -lmad" ],
1022 [ AC_MSG_ERROR([Cannot find libmad library...]) ])
1023 CFLAGS="${save_CFLAGS}"
1024 LDFLAGS="${save_LDFLAGS}"
1029 dnl libid3tag support
1031 AC_CHECK_HEADERS(id3tag.h, [
1032 id3tag_LDFLAGS="${id3tag_LDFLAGS} -lz -lid3tag"
1033 PLUGINS="${PLUGINS} demux/util/id3tag"])
1036 dnl ffmpeg decoder plugin
1038 AC_ARG_ENABLE(ffmpeg,
1039 [ --enable-ffmpeg ffmpeg codec (default disabled)])
1040 if test "x${enable_ffmpeg}" = "xyes"
1043 [ --with-ffmpeg=PATH path to ffmpeg installation],[],[])
1044 if test "x${with_ffmpeg}" != "xno" -a "x${with_ffmpeg}" != "x"
1046 ffmpeg_CFLAGS="${ffmpeg_CFLAGS} -I${with_ffmpeg}/include/libffmpeg"
1047 ffmpeg_LDFLAGS="${ffmpeg_LDFLAGS} -L${with_ffmpeg}/lib"
1050 dnl Add postprocessing modules
1051 PLUGINS="${PLUGINS} codec/ffmpeg/postprocessing/postprocessing_c"
1052 if test "x${ac_cv_mmx_inline}" != "xno"; then
1053 PLUGINS="${PLUGINS} codec/ffmpeg/postprocessing/postprocessing_mmx"
1056 if test "x${ac_cv_mmxext_inline}" != "xno"; then
1057 PLUGINS="${PLUGINS} codec/ffmpeg/postprocessing/postprocessing_mmxext"
1061 AC_ARG_WITH(ffmpeg-tree,
1062 [ --with-ffmpeg-tree=PATH ffmpeg tree for static linking])
1063 if test "x${with_ffmpeg_tree}" != "x"
1065 AC_MSG_CHECKING(for libavcodec.a in ${with_ffmpeg_tree})
1066 real_ffmpeg_tree="`cd ${with_ffmpeg_tree} 2>/dev/null && pwd`"
1067 if test "x${real_ffmpeg_tree}" = x
1069 dnl The given directory can't be found
1071 AC_MSG_ERROR([cannot cd to ${with_ffmpeg_tree}])
1073 if test -f "${real_ffmpeg_tree}/libavcodec/libavcodec.a"
1075 dnl Use a custom libffmpeg
1076 AC_MSG_RESULT(${real_ffmpeg_tree}/libavcodec/libavcodec.a)
1077 BUILTINS="${BUILTINS} codec/ffmpeg/ffmpeg"
1078 ffmpeg_LDFLAGS="${ffmpeg_LDFLAGS} ${real_ffmpeg_tree}/libavcodec/libavcodec.a"
1079 ffmpeg_CFLAGS="${ffmpeg_CFLAGS} -I${real_ffmpeg_tree}/libavcodec"
1081 dnl The given libavcodec wasn't built
1083 AC_MSG_ERROR([cannot find ${real_ffmpeg_tree}/libavcodec/libavcodec.a, make sure you compiled libavcodec in ${with_ffmpeg_tree}])
1086 CFLAGS="${save_CFLAGS} ${ffmpeg_CFLAGS}"
1087 LDFLAGS="${save_LDFLAGS} ${ffmpeg_LDFLAGS}"
1088 AC_CHECK_LIB(avcodec, avcodec_init, [
1089 BUILTINS="${BUILTINS} codec/ffmpeg/ffmpeg"
1090 ffmpeg_LDFLAGS="${ffmpeg_LDFLAGS} -lavcodec" ],
1091 [ AC_MSG_ERROR([Cannot find libavcodec library...]) ])
1092 LDFLAGS="${save_LDFLAGS}"
1093 CFLAGS="${save_CFLAGS}"
1098 dnl faad decoder plugin
1101 [ --enable-faad faad codec (default disabled)])
1102 if test "x${enable_faad}" = "xyes"
1105 [ --with-faad=PATH path to faad installation],[],[])
1106 if test "x${with_faad}" != "xno" -a "x${with_faad}" != "x"
1108 faad_CFLAGS="${faad_CFLAGS} -I${with_faad}/include"
1109 faad_LDFLAGS="${faad_LDFLAGS} -L${with_faad}/lib"
1111 faad_LDFLAGS="${faad_LDFLAGS}"
1113 AC_ARG_WITH(faad-tree,
1114 [ --with-faad-tree=PATH faad tree for static linking])
1115 if test "x${with_faad_tree}" != "x"
1117 AC_MSG_CHECKING(for libfaad.a in ${with_faad_tree})
1118 real_faad_tree="`cd ${with_faad_tree} 2>/dev/null && pwd`"
1119 if test "x${real_faad_tree}" = x
1121 dnl The given directory can't be found
1123 AC_MSG_ERROR([cannot cd to ${with_faad_tree}])
1125 if test -f "${real_faad_tree}/libfaad/.libs/libfaad.a"
1127 dnl Use a custom faad
1128 AC_MSG_RESULT(${real_faad_tree}/libfaad/.libs/libfaad.a)
1129 BUILTINS="${BUILTINS} codec/faad/faad"
1130 faad_LDFLAGS="${faad_LDFLAGS} ${real_faad_tree}/libfaad/.libs/libfaad.a"
1131 faad_CFLAGS="${faad_CFLAGS} -I${real_faad_tree}/include"
1133 dnl The given libfaad wasn't built
1135 AC_MSG_ERROR([cannot find ${real_faad_tree}/libfaad/.libs/libfaad.a, make sure you compiled libfaad in ${with_faad_tree}])
1138 CFLAGS="${save_CFLAGS} ${faad_CFLAGS}"
1139 LDFLAGS="${save_LDFLAGS} ${faad_LDFLAGS}"
1140 AC_CHECK_HEADERS(faad.h, ,
1141 [ AC_MSG_ERROR([Cannot find development headers for libfaad...]) ])
1142 AC_CHECK_LIB(faad, faacDecOpen, [
1143 PLUGINS="${PLUGINS} codec/faad/faad"
1144 faad_LDFLAGS="${faad_LDFLAGS} -lfaad" ],
1145 [ AC_MSG_ERROR([Cannot find libfaad library...]) ])
1146 LDFLAGS="${save_LDFLAGS}"
1147 CFLAGS="${save_CFLAGS}"
1157 [ --enable-mp4 MP4 demux module (default enabled)])
1158 if test "x${enable_mp4}" != "xno"
1161 PLUGINS="${PLUGINS} demux/mp4/mp4"
1162 AC_CHECK_HEADERS(zlib.h,
1163 [ mp4_LDFLAGS="${mp4_LDFLAGS} -lz" ] )
1167 dnl a52 AC3 decoder plugin
1170 [ --enable-a52 A/52 support with liba52 (default enabled)])
1171 if test "x${enable_a52}" != "xno"
1174 [ --with-a52=PATH a52 headers and libraries])
1175 AC_ARG_WITH(a52-tree,
1176 [ --with-a52-tree=PATH a52dec tree for static linking ],[],[])
1177 if test "x${with_a52_tree}" != "xno" -a "x${with_a52_tree}" != "x"
1179 real_a52_tree="`cd ${with_a52_tree} 2>/dev/null && pwd`"
1180 if test "x${real_a52_tree}" = "x"
1182 dnl The given directory can't be found
1184 AC_MSG_ERROR([${with_a52_tree} directory doesn't exist])
1186 dnl Use a custom a52dec
1187 AC_MSG_CHECKING(for a52.h in ${real_a52_tree}/include)
1188 if test -f ${real_a52_tree}/include/a52.h
1191 a52_CFLAGS="${a52_CFLAGS} -I${real_a52_tree}"
1192 a52_LDFLAGS="${a52_LDFLAGS} -L${real_a52_tree}/liba52/.libs"
1193 LDFLAGS="${save_LDFLAGS} ${a52_LDFLAGS}"
1194 AC_CHECK_LIB(a52, a52_free, [
1195 BUILTINS="${BUILTINS} codec/a52"
1196 a52_LDFLAGS="${a52_LDFLAGS} -la52 -lm"
1197 a52_CFLAGS="${a52_CFLAGS} -DUSE_A52DEC_TREE"
1199 if test -f ${real_a52_tree}/liba52/.libs/liba52.a
1201 AC_MSG_ERROR([make sure you have at least a52dec-0.7.3])
1203 AC_MSG_ERROR([the specified tree hasn't been compiled])
1206 LDFLAGS="${save_LDFLAGS}"
1209 AC_MSG_ERROR([the specified tree doesn't have a52.h])
1212 if test "x${with_a52}" = "x"
1217 test_LDFLAGS="-L${with_a52}/lib"
1218 test_CFLAGS="-I${with_a52}/include"
1220 save_CPPFLAGS="${CPPFLAGS}"
1221 save_LDFLAGS="${LDFLAGS}"
1222 CPPFLAGS="${save_CPPFLAGS} ${test_CFLAGS}"
1223 LDFLAGS="${save_LDFLAGS} ${test_LDFLAGS}"
1224 AC_CHECK_HEADERS(a52dec/a52.h, [
1225 AC_CHECK_LIB(a52, a52_free, [
1226 BUILTINS="${BUILTINS} codec/a52"
1227 a52_LDFLAGS="${a52_LDFLAGS} ${test_LDFLAGS} -la52 -lm"
1228 a52_CFLAGS="${a52_CFLAGS} ${test_CFLAGS}"
1230 if test "x${enable_dvbpsi}" != "x"
1232 AC_MSG_ERROR([Could not find a52 on your system: you may get it from http://liba52.sf.net])
1236 CPPFLAGS="${save_CPPFLAGS}"
1237 LDFLAGS="${save_LDFLAGS}"
1244 AC_ARG_ENABLE(cinepak,
1245 [ --enable-cinepak Cinepak decoder (default enabled)])
1246 if test "x${enable_cinepak}" != "xno"
1248 PLUGINS="${PLUGINS} codec/cinepak/cinepak"
1252 dnl ogg vorbis plugin
1254 AC_ARG_ENABLE(vorbis,
1255 [ --enable-vorbis Ogg/Vorbis decoder support (default enabled)])
1256 if test "x${enable_vorbis}" != "xno"
1258 AC_CHECK_HEADERS(ogg/ogg.h, [
1259 dnl disabled for the moment
1260 #PLUGINS="${PLUGINS} demux/ogg/ogg codec/vorbis/vorbis"
1261 vorbis_LDFLAGS="${vorbis_LDFLAGS} -lvorbis"
1269 [ --enable-dv DV decoder support (default disabled)])
1270 if test "x${enable_dv}" = "xyes"
1272 AC_CHECK_HEADERS(libdv/dv.h, [
1273 BUILTINS="${BUILTINS} codec/dv/dv"
1274 dv_LDFLAGS="${dv_LDFLAGS} -ldv"
1282 AC_ARG_WITH(,[Video plugins:])
1286 dnl (enabled by default except on win32)
1289 [ --enable-x11 X11 support (default enabled)])
1290 if test "x${enable_x11}" != "xno" &&
1291 (test "x${SYS}" != "xmingw32" || test "x${enable_x11}" = "xyes"); then
1292 CPPFLAGS="${save_CPPFLAGS} -I${x_includes}"
1293 AC_CHECK_HEADERS(X11/Xlib.h, [
1294 PLUGINS="${PLUGINS} video_output/x11/x11"
1295 x11_LDFLAGS="${x11_LDFLAGS} -L${x_libraries} -lX11 -lXext"
1296 x11_CFLAGS="${x11_CFLAGS} -I${x_includes}"
1298 CPPFLAGS="${save_CPPFLAGS}"
1303 dnl (enabled by default except on win32)
1305 AC_ARG_ENABLE(xvideo,
1306 [ --enable-xvideo XVideo support (default enabled)])
1307 if test "x${enable_xvideo}" != "xno" &&
1308 (test "x${SYS}" != "xmingw32" || test "x${enable_xvideo}" = "xyes"); then
1309 CPPFLAGS="${save_CPPFLAGS} -I${x_includes}"
1310 AC_CHECK_HEADERS(X11/extensions/Xv.h, [
1311 CFLAGS="${save_CFLAGS} -L${x_libraries} -lX11 -lXext"
1312 AC_CHECK_LIB(Xv_pic,XvPutImage,
1313 # We have Xv_pic, that's good, we can build an xvideo.so plugin !
1314 PLUGINS="${PLUGINS} video_output/x11/xvideo"
1315 xvideo_LDFLAGS="${xvideo_LDFLAGS} -L${x_libraries} -lX11 -lXext -lXv_pic"
1316 xvideo_CFLAGS="${xvideo_CFLAGS} -I${x_includes}",
1317 AC_CHECK_LIB(Xv,XvPutImage,
1318 # We don't have Xv_pic, but we have Xv, let's make xvideo.a as builtin
1319 PLUGINS="${PLUGINS} video_output/x11/xvideo"
1320 xvideo_LDFLAGS="${xvideo_LDFLAGS} -L${x_libraries} -lX11 -lXext -lXv"
1321 xvideo_CFLAGS="${xvideo_CFLAGS} -I${x_includes}",
1322 # Otherwise... well, do nothing.
1326 CFLAGS="${save_CFLAGS}"
1328 CPPFLAGS="${save_CPPFLAGS}")
1335 [ --enable-sdl SDL support (default enabled)])
1336 if test "x${enable_sdl}" != "xno"
1339 AC_ARG_WITH(sdl-config-path,
1340 [ --with-sdl-config-path=PATH sdl-config path (default search in \$PATH)],
1341 [ if test "x${with_sdl_config_path}" != "xno"
1343 SDL_PATH="${with_sdl_config_path}:${PATH}"
1345 AC_PATH_PROG(SDL12_CONFIG, sdl12-config, no, ${SDL_PATH})
1346 SDL_CONFIG="${SDL12_CONFIG}"
1347 SDL_HEADER="SDL12/SDL.h"
1348 if test "x${SDL_CONFIG}" = "xno"
1350 AC_PATH_PROG(SDL11_CONFIG, sdl11-config, no, ${SDL_PATH})
1351 SDL_CONFIG=${SDL11_CONFIG}
1352 SDL_HEADER="SDL11/SDL.h"
1354 if test "x${SDL_CONFIG}" = "xno"
1356 AC_PATH_PROG(SDL_CONFIG, sdl-config, no, ${SDL_PATH})
1357 SDL_HEADER="SDL/SDL.h"
1359 if test "x${SDL_CONFIG}" != "xno"
1361 PLUGINS="${PLUGINS} video_output/sdl audio_output/sdl"
1362 sdl_CFLAGS="${sdl_CFLAGS} `${SDL_CONFIG} --cflags`"
1363 sdl_LDFLAGS="${sdl_LDFLAGS} `${SDL_CONFIG} --libs | sed 's,-rdynamic,,'`"
1364 CPPFLAGS="${save_CPPFLAGS} ${sdl_CFLAGS}"
1365 AC_CHECK_HEADERS(${SDL_HEADER}, AC_DEFINE_UNQUOTED(SDL_INCLUDE_FILE,
1366 <${SDL_HEADER}>, Indicate whether we should use SDL/SDL.h or SDL11/SDL.h),
1367 [ AC_MSG_ERROR([The development package for SDL is not installed.
1368 Please install it and try again. Alternatively you can also configure with
1371 CPPFLAGS="${save_CPPFLAGS}"
1372 if expr 1.1.5 \> `${SDL_CONFIG} --version` >/dev/null
1374 AC_MSG_ERROR([The development package for SDL is not installed.
1375 Please install it and try again. Alternatively you can also configure with
1378 elif test "x${enable_sdl}" = "xyes"
1380 AC_MSG_ERROR([I couldn't find the SDL package. You can download libSDL
1381 from http://www.libsdl.org/, or configure with --disable-sdl. Have a nice day.
1387 dnl Windows DirectX module
1389 AC_ARG_ENABLE(directx,
1390 [ --enable-directx Win32 DirectX support (default enabled on Win32)])
1391 if test "x${enable_directx}" != "xno"
1393 if test "x${SYS}" = "xmingw32"
1395 AC_ARG_WITH(directx,
1396 [ --with-directx=PATH Win32 DirectX headers])
1397 if test "x${with_directx}" = "x"
1399 AC_CHECK_HEADERS(ddraw.h,
1400 [ PLUGINS="${PLUGINS} video_output/directx/directx"
1401 directx_LDFLAGS="${directx_LDFLAGS} -lgdi32" ])
1403 AC_MSG_CHECKING(for directX headers in ${with_directx})
1404 if test -f ${with_directx}/ddraw.h
1406 PLUGINS="${PLUGINS} video_output/directx/directx"
1407 directx_LDFLAGS="${directx_LDFLAGS} -lgdi32"
1408 directx_CFLAGS="${directx_CFLAGS} -I${with_directx}"
1412 AC_MSG_ERROR([Cannot find ${with_directx}/ddraw.h!])
1419 dnl Linux framebuffer module
1422 [ --enable-fb Linux framebuffer support (default enabled on Linux)])
1423 if test "x${enable_fb}" != "xno"
1425 AC_CHECK_HEADERS(linux/fb.h, [
1426 PLUGINS="${PLUGINS} video_output/fb"
1431 dnl Linux MGA module
1434 [ --enable-mga Linux kernel Matrox support (default disabled)],
1435 [ if test "x${enable_mga}" = "xyes"
1437 PLUGINS="${PLUGINS} video_output/mga/mga video_output/mga/xmga"
1443 AC_ARG_ENABLE(svgalib,
1444 [ --enable-svgalib SVGAlib support (default disabled)])
1445 if test "x${enable_svgalib}" = "xyes"
1447 PLUGINS="${PLUGINS} video_output/svgalib"
1448 svgalib_LDFLAGS="${svgalib_LDFLAGS} -lvgagl -lvga"
1455 [ --enable-ggi GGI support (default disabled)])
1456 if test "x${enable_ggi}" = "xyes"
1458 PLUGINS="${PLUGINS} video_output/ggi"
1459 ggi_LDFLAGS="${ggi_LDFLAGS} -lggi"
1461 [ --with-ggi=PATH path to libggi],
1462 [ if test "x${with_ggi}" != "xno" -a "x${with_ggi}" != "x"
1464 CFLAGS_GGI="${CFLAGS_GGI} -I${with_ggi}/include"
1465 ggi_LDFLAGS="${ggi_LDFLAGS} -L${with_ggi}/lib"
1472 AC_ARG_ENABLE(glide,
1473 [ --enable-glide Glide (3dfx) support (default disabled)])
1474 if test "x${enable_glide}" = "xyes"
1476 PLUGINS="${PLUGINS} video_output/glide"
1477 glide_LDFLAGS="${glide_LDFLAGS} -lglide2x -lm"
1478 glide_CFLAGS="${glide_CFLAGS} -I/usr/include/glide"
1480 [ --with-glide=PATH path to libglide],
1481 [ if test "x${with_glide}" != "xno" -a "x${with_glide}" != "x"
1483 glide_CFLAGS="${glide_CFLAGS} -I${with_glide}/include"
1484 glide_LDFLAGS="${glide_LDFLAGS} -L${with_glide}/lib"
1492 [ --enable-aa aalib output (default disabled)])
1493 if test "x${enable_aa}" = "xyes"
1495 AC_CHECK_HEADER(aalib.h,have_aa="true",have_aa="false")
1496 if test "x${have_aa}" = "xtrue"
1498 PLUGINS="${PLUGINS} video_output/aa"
1499 aa_LDFLAGS="${aa_LDFLAGS} -laa"
1507 AC_ARG_WITH(,[Audio plugins:])
1510 dnl OSS /dev/dsp module (enabled by default except on win32)
1513 [ --enable-oss Linux OSS /dev/dsp support (enabled on Linux)])
1515 if test "x${enable_oss}" != "xno" &&
1516 (test "x${SYS}" != "xmingw32" || test "x${enable_oss}" = "xyes")
1518 AC_CHECK_HEADERS(soundcard.h sys/soundcard.h machine/soundcard.h, [
1519 PLUGINS="${PLUGINS} audio_output/oss"
1520 AC_CHECK_LIB(ossaudio,main,oss_LDFLAGS="${oss_LDFLAGS} -lossaudio")
1528 [ --enable-esd Esound library support (default disabled)],
1529 [if test "x${enable_esd}" = "xyes"
1531 AC_PATH_PROG(ESD_CONFIG, esd-config, no)
1532 if test "x${ESD_CONFIG}" != "xno"
1534 PLUGINS="${PLUGINS} audio_output/esd"
1535 esd_CFLAGS="${esd_CFLAGS} `${ESD_CONFIG} --cflags`"
1536 esd_LDFLAGS="${esd_LDFLAGS} `${ESD_CONFIG} --libs`"
1544 [ --enable-arts aRts sound server (default disabled)],
1545 [if test "x${enable_arts}" = "xyes"
1547 AC_PATH_PROG(ARTS_CONFIG, artsc-config, no)
1548 if test "x${ARTS_CONFIG}" != "xno"
1550 PLUGINS="${PLUGINS} audio_output/arts"
1551 arts_CFLAGS="${arts_CFLAGS} `${ARTS_CONFIG} --cflags`"
1552 arts_LDFLAGS="${arts_LDFLAGS} `${ARTS_CONFIG} --libs `"
1560 [ --enable-alsa ALSA sound support for Linux (default disabled)],
1561 [if test "x${enable_alsa}" = "xyes"
1563 AC_CHECK_HEADER(alsa/asoundlib.h, AC_CHECK_LIB(asound, main, have_alsa="true", have_alsa="false"),have_alsa="false")
1564 if test "x${have_alsa}" = "xtrue"
1566 PLUGINS="${PLUGINS} audio_output/alsa"
1567 alsa_LDFLAGS="${alsa_LDFLAGS} -lasound -lm -ldl"
1572 dnl win32 waveOut plugin
1574 AC_ARG_ENABLE(waveout,
1575 [ --enable-waveout Win32 waveOut module (default enabled on Win32)])
1576 if test "x${enable_waveout}" != "xno" -a "x${SYS}" = "xmingw32"
1578 PLUGINS="${PLUGINS} audio_output/waveout"
1579 waveout_LDFLAGS="-lwinmm"
1583 dnl Interface plugins
1586 AC_ARG_WITH(,[Interface plugins:])
1588 dnl special case for BeOS
1589 if test "x${SYS}" = "xbeos"
1591 PLUGINS="${PLUGINS} gui/beos/beos"
1598 [ --enable-gtk Gtk+ support (default enabled)])
1599 if test "x${enable_gtk}" != "xno"
1602 AC_ARG_WITH(gtk-config-path,
1603 [ --with-gtk-config-path=PATH gtk-config path (default search in \$PATH)],
1604 [ if test "x${with_gtk_config_path}" != "xno"
1606 GTK_PATH="${with_gtk_config_path}:${PATH}"
1608 # look for gtk-config
1609 AC_PATH_PROG(GTK12_CONFIG, gtk12-config, no, ${GTK_PATH})
1610 GTK_CONFIG=${GTK12_CONFIG}
1611 if test "x${GTK_CONFIG}" = "xno"
1613 AC_PATH_PROG(GTK_CONFIG, gtk-config, no, ${GTK_PATH})
1615 if test "x${GTK_CONFIG}" != "xno"
1617 if expr 1.2.0 \> `${GTK_CONFIG} --version` >/dev/null
1619 AC_MSG_ERROR([Your development package for Gtk+ is too old, you need at least version 1.2.0. Please upgrade and try again. Alternatively you can also configure with --disable-gtk.])
1621 gtk_CFLAGS="${gtk_CFLAGS} `${GTK_CONFIG} --cflags gtk gthread`"
1622 gtk_LDFLAGS="${gtk_LDFLAGS} `${GTK_CONFIG} --libs gtk gthread | sed 's,-rdynamic,,'`"
1623 # now look for the gtk.h header
1624 CPPFLAGS="${save_CPPFLAGS} ${gtk_CFLAGS}"
1625 ac_cv_gtk_headers=yes
1626 AC_CHECK_HEADERS(gtk/gtk.h glib.h gdk/gdk.h, , [
1627 ac_cv_gtk_headers=no
1628 echo "Cannot find gtk development headers."
1630 if test "x${ac_cv_gtk_headers}" = "xyes"
1632 PLUGINS="${PLUGINS} gui/gtk/gtk"
1634 ALIASES="${ALIASES} gvlc"
1636 CPPFLAGS="${save_CPPFLAGS}"
1641 dnl Familiar module uses Gtk+ library
1643 AC_ARG_ENABLE(familiar,
1644 [ --enable-familiar Familiar Gtk+ support (default disabled)])
1645 if test "x${enable_familiar}" = "xyes"
1648 AC_ARG_WITH(gtk-config-path,
1649 [ --with-gtk-config-path=PATH gtk-config path (default search in \$PATH)],
1650 [ if test "x${with_gtk_config_path}" != "xno"
1652 GTK_PATH="${with_gtk_config_path}:${PATH}"
1654 # look for gtk-config
1655 AC_PATH_PROG(GTK12_CONFIG, gtk12-config, no, ${GTK_PATH})
1656 GTK_CONFIG=${GTK12_CONFIG}
1657 if test "x${GTK_CONFIG}" = "xno"
1659 AC_PATH_PROG(GTK_CONFIG, gtk-config, no, ${GTK_PATH})
1661 if test "x${GTK_CONFIG}" != "xno"
1663 if expr 1.2.0 \> `${GTK_CONFIG} --version` >/dev/null
1665 AC_MSG_ERROR([Your development package for Gtk+ is too old, you need at least version 1.2.0. Please upgrade and try again. Alternatively you can also configure with --disable-familiar.])
1667 familiar_CFLAGS="${familiar_CFLAGS} `${GTK_CONFIG} --cflags gtk gthread`"
1668 familiar_LDFLAGS="${familiar_LDFLAGS} `${GTK_CONFIG} --libs gtk gthread | sed 's,-rdynamic,,'`"
1669 # now look for the gtk.h header
1670 CPPFLAGS="${save_CPPFLAGS} ${familiar_CFLAGS}"
1671 ac_cv_gtk_headers=yes
1672 AC_CHECK_HEADERS(gtk/gtk.h glib.h gdk/gdk.h, , [
1673 ac_cv_gtk_headers=no
1674 echo "Cannot find gtk development headers."
1676 if test "x${ac_cv_gtk_headers}" = "xyes"
1678 PLUGINS="${PLUGINS} gui/familiar/familiar"
1681 CPPFLAGS="${save_CPPFLAGS}"
1688 AC_ARG_ENABLE(gnome,
1689 [ --enable-gnome Gnome interface support (default disabled)],
1690 [if test "x${enable_gnome}" = "xyes"; then
1691 # look for gnome-config
1692 AC_PATH_PROG(GNOME_CONFIG, gnome-config, no)
1693 if test -x ${GNOME_CONFIG}
1695 gnome_CFLAGS="${gnome_CFLAGS} `${GNOME_CONFIG} --cflags gtk gnomeui`"
1696 gnome_LDFLAGS="${gnome_LDFLAGS} `${GNOME_CONFIG} --libs gnomeui | sed 's,-rdynamic,,'`"
1698 # now look for the gnome.h header
1699 CPPFLAGS="${save_CPPFLAGS} ${gnome_CFLAGS}"
1700 AC_CHECK_HEADERS(gnome.h, [
1701 PLUGINS="${PLUGINS} gui/gtk/gnome"
1703 ALIASES="${ALIASES} gnome-vlc"
1705 AC_MSG_ERROR([Can't find gnome headers. Please install the gnome
1706 developement tools or remove the --enable-gnome option])
1708 CPPFLAGS="${save_CPPFLAGS}"
1715 [ --enable-qt Qt interface support (default disabled)],
1716 [if test "x${enable_qt}" = "xyes"; then
1717 PLUGINS="${PLUGINS} gui/qt/qt"
1718 ALIASES="${ALIASES} qvlc"
1719 qt_LDFLAGS="${qt_LDFLAGS} -lqt -L${QTDIR}/lib"
1720 qt_CFLAGS="${qt_CFLAGS} -I/usr/include/qt -I${QTDIR}/include"
1721 if test -x ${QTDIR}/bin/moc
1723 MOC=${QTDIR}/bin/moc
1733 [ --enable-kde KDE interface support (default disabled)],
1734 [if test "x${enable_kde}" = "xyes"; then
1735 PLUGINS="${PLUGINS} gui/kde/kde"
1736 ALIASES="${ALIASES} kvlc"
1737 kde_LDFLAGS="${kde_LDFLAGS} -L${KDEDIR}/lib -lkfile"
1738 kde_CFLAGS="${kde_CFLAGS} -I/usr/include/kde -I/usr/include/qt"
1739 kde_CFLAGS="${kde_CFLAGS} -I${KDEDIR}/include -I${QTDIR}/include"
1740 if test -x ${QTDIR}/bin/moc
1742 MOC=${QTDIR}/bin/moc
1749 dnl Qt embedded module
1752 [ --enable-qte Qt embedded interface support (default disabled)],
1753 [if test "x${enable_qte}" = "xyes"; then
1754 PLUGINS="${PLUGINS} gui/qte/qte"
1755 qte_LDFLAGS="${qte_LDFLAGS} -lqte -L${QTEDIR}/lib"
1756 qte_CFLAGS="${qte_CFLAGS} -I/usr/include/qte -I${QTEDIR}/include"
1757 if test -x ${QTEDIR}/bin/moc
1759 MOC=${QTEDIR}/bin/moc
1769 AC_ARG_ENABLE(macosx,
1770 [ --enable-macosx MacOS X support (default enabled on MacOS X)],
1771 [if test "x${enable_macosx}" = "xyes"
1773 BUILTINS="${BUILTINS} gui/macosx/macosx"
1774 macosx_LDFLAGS="${macosx_LDFLAGS} -framework CoreAudio -framework AudioToolbox -framework IOKit -framework Cocoa -framework Carbon -framework AGL -framework QuickTime -lobjc -ObjC"
1776 [AC_CHECK_HEADERS(Cocoa/Cocoa.h,
1777 BUILTINS="${BUILTINS} gui/macosx/macosx"
1778 macosx_LDFLAGS="${macosx_LDFLAGS} -framework CoreAudio -framework AudioToolbox -framework IOKit -framework Cocoa -framework Carbon -framework AGL -framework QuickTime -lobjc -ObjC"
1785 [ --enable-qnx QNX RTOS support (default enabled on QNX RTOS)])
1786 if test "x${enable_qnx}" != "xno"
1788 AC_CHECK_HEADERS(Ph.h, [
1789 PLUGINS="${PLUGINS} gui/qnx/qnx"
1790 qnx_LDFLAGS="${qnx_LDFLAGS} -lasound -lph"
1795 dnl Windows native interface module, built with Borland C++ Builder
1797 AC_ARG_ENABLE(intfwin,
1798 [ --enable-intfwin Win32 interface support (default disabled)],
1799 [ if test "x${enable_intfwin}" != "xno"
1801 AC_ARG_WITH(bcbuilder,
1802 [ --with-bcbuilder=PATH Borland C++ Builder installation path])
1803 if test "x${with_bcbuilder}" != "x"
1805 BCBUILDER="${with_bcbuilder}"
1807 PLUGINS="${PLUGINS} gui/win32/win32"
1813 AC_ARG_ENABLE(ncurses,
1814 [ --enable-ncurses ncurses interface support (default disabled)],
1815 [if test "x${enable_ncurses}" = "xyes"; then
1816 PLUGINS="${PLUGINS} gui/ncurses/ncurses"
1817 ncurses_LDFLAGS="${ncurses_LDFLAGS} -lncurses"
1824 [ --enable-xosd xosd interface support (default disabled)])
1825 if test "x${enable_xosd}" = "xyes"
1827 AC_CHECK_HEADER(xosd.h, have_xosd="true", have_xosd="false")
1828 AC_TRY_COMPILE([#include <xosd.h>],
1829 [void foo() { xosd_init("foo","bar",12,XOSD_top,2,12,42); }],,
1830 AC_DEFINE(HAVE_OLD_XOSD_H, 1, Define if <xosd.h> is pre-1.0.0))
1831 if test "x${have_xosd}" = "xtrue"
1833 PLUGINS="${PLUGINS} visualization/xosd/xosd"
1834 xosd_LDFLAGS="${xosd_LDFLAGS} -lxosd"
1842 [ --enable-lirc lirc support (default disabled)])
1843 if test "x${enable_lirc}" = "xyes"
1845 AC_CHECK_HEADER(lirc/lirc_client.h, AC_CHECK_LIB(lirc_client, lirc_init, have_lirc="true", have_lirc="false"),have_lirc="false")
1846 if test "x${have_lirc}" = "xtrue"
1848 PLUGINS="${PLUGINS} control/lirc/lirc"
1849 lirc_LDFLAGS="${lirc_LDFLAGS} -llirc_client"
1853 AC_ARG_WITH(,[Misc options:])
1856 dnl Endianness check, AC_C_BIGENDIAN doesn't work if we are cross-compiling
1858 dnl We give the user the opportunity to specify
1859 dnl --with-words=big or --with-words=little ; otherwise, try to guess
1862 [ --with-words=endianness set endianness (big or little)])
1863 case "x${with_words}" in
1865 ac_cv_c_bigendian=yes
1868 ac_cv_c_bigendian=no
1871 dnl Try to guess endianness by matching patterns on a compiled
1872 dnl binary, by looking for an ASCII or EBCDIC string
1873 AC_CACHE_CHECK([whether the byte order is big-endian],
1874 [ac_cv_c_bigendian],
1875 [ac_cv_c_bigendian="unknown"
1876 [cat >conftest.c <<EOF
1877 short am[] = { 0x4249, 0x4765, 0x6e44, 0x6961, 0x6e53, 0x7953, 0 };
1878 short ai[] = { 0x694c, 0x5454, 0x656c, 0x6e45, 0x6944, 0x6e61, 0 };
1879 void _a(void) { char*s = (char*)am; s = (char *)ai; }
1880 short ei[] = { 0x89D3, 0xe3e3, 0x8593, 0x95c5, 0x89c4, 0x9581, 0 };
1881 short em[] = { 0xc2c9, 0xc785, 0x95c4, 0x8981, 0x95e2, 0xa8e2, 0 };
1882 void _e(void) { char*s = (char*)em; s = (char*)ei; }
1883 int main(void) { _a(); _e(); return 0; }
1886 if test -f conftest.c
1888 if ${CC-cc} -c conftest.c -o conftest.o >config.log 2>&1 \
1889 && test -f conftest.o
1891 if test "`strings conftest.o | grep BIGenDianSyS`"
1893 ac_cv_c_bigendian="yes"
1895 if test "`strings conftest.o | grep LiTTleEnDian`"
1897 ac_cv_c_bigendian="no"
1902 if test "x${ac_cv_c_bigendian}" = "xunknown"
1904 AC_MSG_ERROR([Could not guess endianness, please use --with-words])
1908 dnl Now we know what to use for endianness, just put it in the header
1909 if test "${ac_cv_c_bigendian}" = "yes"
1911 AC_DEFINE(WORDS_BIGENDIAN, 1, big endian system)
1920 AC_ARG_ENABLE(gprof,
1921 [ --enable-gprof gprof profiling (default disabled)],
1922 [ if test "x${enable_gprof}" = "xyes"
1930 AC_ARG_ENABLE(cprof,
1931 [ --enable-cprof cprof profiling (default disabled)],
1932 [ if test "x${enable_cprof}" = "xyes"
1934 save_LDFLAGS="${save_LDFLAGS} -lcprof"; LDFLAGS="${save_LDFLAGS}"
1941 dnl GNU portable threads
1944 [ --enable-pth GNU Pth support (default disabled)],
1945 [ if test "x${enable_pth}" = "xyes"; then
1946 AC_CHECK_LIB(pth,pth_init)
1947 AC_EGREP_HEADER(pth_init,pth.h,[
1948 AC_DEFINE(PTH_INIT_IN_PTH_H, 1,
1949 Define if <pth.h> defines pth_init)
1958 [ --enable-st State Threads (default disabled)],
1959 [ if test "x${enable_st}" = "xyes"; then
1960 AC_CHECK_LIB(st,st_init)
1961 AC_EGREP_HEADER(st_init,st.h,[
1962 AC_DEFINE(ST_INIT_IN_ST_H, 1,
1963 Define if <st.h> defines st_init)
1968 vlc_LDFLAGS="${vlc_LDFLAGS} ${THREAD_LIB}"
1969 plugins_LDFLAGS="${plugins_LDFLAGS} ${THREAD_LIB}"
1975 AC_ARG_ENABLE(mozilla,
1976 [ --enable-mozilla build a vlc-based Mozilla plugin (default disabled)])
1977 if test "x${enable_mozilla}" = "xyes"
1979 AC_PATH_PROG(MOZILLA_CONFIG, mozilla-config, no)
1980 if test "x${MOZILLA_CONFIG}" != "xno"
1982 if test "x${SYS}" != "xmingw32"; then
1983 LDFLAGS="${save_LDFLAGS} -L${x_libraries}"
1984 AC_CHECK_LIB(Xt,XtStrings,[
1985 mozilla_LDFLAGS="${mozilla_LDFLAGS} -L${x_libraries} -lXt"
1987 LDFLAGS="${save_LDFLAGS}"
1990 mozilla_CFLAGS="${mozilla_CFLAGS} `${MOZILLA_CONFIG} --cflags plugin java --defines | xargs`"
1991 dnl Workaround for http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=150490
1992 mozilla_LDFLAGS="${mozilla_LDFLAGS} `${MOZILLA_CONFIG} --libs | sed 's#-I\(.*\)/mozilla/\([^ ]*\)#-I\1/\2 -I\1/mozilla/\2#g'`"
1999 if test "x${NEED_GTK_MAIN}" != "xno"
2001 PLUGINS="${PLUGINS} misc/gtk_main"
2002 gtk_main_CFLAGS="${gtk_main_CFLAGS} ${gtk_CFLAGS} ${familiar_CFLAGS} ${gnome_CFLAGS}"
2003 gtk_main_LDFLAGS="${gtk_main_LDFLAGS} ${gtk_LDFLAGS} ${familiar_LDFLAGS} ${gnome_LDFLAGS}"
2007 dnl Plug-ins - this must be AT THE END
2009 AC_ARG_ENABLE(plugins,
2010 [ --disable-plugins make all plug-ins built-in (default plug-ins enabled)],
2011 [if test "x${enable_plugins}" = "xno"
2013 BUILTINS="${BUILTINS} ${PLUGINS}"
2017 dnl Automagically disable plug-ins if there is no system support for .so files
2018 dnl don't forget vlc-win32 still can load .so as plugins
2019 if test "x${ac_cv_header_dlfcn_h}" = "xno" -a "x${ac_cv_header_image_h}" = "xno" -a "x${SYS}" != "xmingw32"
2021 echo "*** Your system doesn't have plug-in support. All plug-ins will be compiled"
2023 BUILTINS="${BUILTINS} ${PLUGINS}"
2028 dnl Stuff used by the program
2030 AC_DEFINE_UNQUOTED(VERSION_MESSAGE, "vlc ${VERSION} ${CODENAME} Copyright 1996-2002 VideoLAN", [Simple version string])
2031 AC_DEFINE_UNQUOTED(COPYRIGHT_MESSAGE, "VideoLAN Client - version ${VERSION} ${CODENAME} - (c) 1996-2002 VideoLAN", [Copyright string])
2032 AC_DEFINE_UNQUOTED(CONFIGURE_LINE, "${CONFIGURE_LINE}", [The ./configure command line])
2034 VLC_SYMBOL="`echo ${VERSION} | tr .- __`"
2035 AC_DEFINE_UNQUOTED(MODULE_SUFFIX, "__${VLC_SYMBOL}", [String suffix for module functions])
2036 AC_DEFINE_UNQUOTED(MODULE_SYMBOL, ${VLC_SYMBOL}, [Symbol suffix for module functions])
2038 DATA_PATH="${ac_tool_prefix}/share/videolan"
2040 PLUGIN_PATH="${ac_tool_prefix}/share/videolan"
2041 AC_SUBST(PLUGIN_PATH)
2046 CPPFLAGS="${save_CPPFLAGS}"
2047 CFLAGS="${save_CFLAGS}"
2048 LDFLAGS="${save_LDFLAGS}"
2051 dnl Create the vlc-config script
2053 libvlc_LDFLAGS="${vlc_LDFLAGS} ${builtins_LDFLAGS}"
2054 for i in `echo ${BUILTINS} | sed -e 's#[^ ]*/##g'` ; do libvlc_LDFLAGS="${libvlc_LDFLAGS} ${libdir}/vlc/${i}.a `eval echo '$'{${i}_LDFLAGS}`" ; done
2055 AC_SUBST(libvlc_LDFLAGS)
2058 dnl Configuration is finished
2077 AC_SUBST(NEED_GETOPT)
2080 AC_SUBST(CFLAGS_OPTIM)
2081 AC_SUBST(CFLAGS_OPTIM_NODEBUG)
2084 AC_SUBST(vlc_CFLAGS)
2085 AC_SUBST(plugins_CFLAGS)
2086 AC_SUBST(builtins_CFLAGS)
2087 AC_SUBST(mozilla_CFLAGS)
2089 AC_SUBST(a52_CFLAGS)
2090 AC_SUBST(arts_CFLAGS)
2091 AC_SUBST(i420_yuy2_mmx_CFLAGS)
2092 AC_SUBST(dvd_CFLAGS)
2093 AC_SUBST(dvdread_CFLAGS)
2094 AC_SUBST(dvdplay_CFLAGS)
2095 AC_SUBST(ts_dvbpsi_CFLAGS)
2096 AC_SUBST(directx_CFLAGS)
2097 AC_SUBST(esd_CFLAGS)
2098 AC_SUBST(familiar_CFLAGS)
2099 AC_SUBST(faad_CFLAGS)
2100 AC_SUBST(ffmpeg_CFLAGS)
2101 AC_SUBST(glide_CFLAGS)
2102 AC_SUBST(gnome_CFLAGS)
2103 AC_SUBST(gtk_CFLAGS)
2104 AC_SUBST(gtk_main_CFLAGS)
2105 AC_SUBST(kde_CFLAGS)
2106 AC_SUBST(idctaltivec_CFLAGS)
2107 AC_SUBST(macosx_CFLAGS)
2108 AC_SUBST(mad_CFLAGS)
2109 AC_SUBST(memcpyaltivec_CFLAGS)
2110 AC_SUBST(motionaltivec_CFLAGS)
2112 AC_SUBST(qte_CFLAGS)
2113 AC_SUBST(sdl_CFLAGS)
2114 AC_SUBST(svgalib_CFLAGS)
2115 AC_SUBST(x11_CFLAGS)
2116 AC_SUBST(xvideo_CFLAGS)
2118 AC_SUBST(vlc_LDFLAGS)
2119 AC_SUBST(plugins_LDFLAGS)
2120 AC_SUBST(builtins_LDFLAGS)
2121 AC_SUBST(mozilla_LDFLAGS)
2123 AC_SUBST(a52_LDFLAGS)
2124 AC_SUBST(aa_LDFLAGS)
2125 AC_SUBST(alsa_LDFLAGS)
2126 AC_SUBST(arts_LDFLAGS)
2127 AC_SUBST(beos_LDFLAGS)
2128 AC_SUBST(i420_rgb_LDFLAGS)
2129 AC_SUBST(directx_LDFLAGS)
2130 AC_SUBST(dv_LDFLAGS)
2131 AC_SUBST(dvd_LDFLAGS)
2132 AC_SUBST(dvdread_LDFLAGS)
2133 AC_SUBST(dvdplay_LDFLAGS)
2134 AC_SUBST(ts_dvbpsi_LDFLAGS)
2135 AC_SUBST(audio_LDFLAGS)
2136 AC_SUBST(esd_LDFLAGS)
2137 AC_SUBST(familiar_LDFLAGS)
2138 AC_SUBST(distort_LDFLAGS)
2139 AC_SUBST(faad_LDFLAGS)
2140 AC_SUBST(ffmpeg_LDFLAGS)
2141 AC_SUBST(mp4_LDFLAGS)
2142 AC_SUBST(ggi_LDFLAGS)
2143 AC_SUBST(glide_LDFLAGS)
2144 AC_SUBST(gnome_LDFLAGS)
2145 AC_SUBST(gtk_LDFLAGS)
2146 AC_SUBST(gtk_main_LDFLAGS)
2147 AC_SUBST(http_LDFLAGS)
2148 AC_SUBST(idctaltivec_LDFLAGS)
2149 AC_SUBST(imdct_LDFLAGS)
2150 AC_SUBST(imdct3dn_LDFLAGS)
2151 AC_SUBST(imdctsse_LDFLAGS)
2152 AC_SUBST(ipv4_LDFLAGS)
2153 AC_SUBST(ipv6_LDFLAGS)
2154 AC_SUBST(kde_LDFLAGS)
2155 AC_SUBST(lirc_LDFLAGS)
2156 AC_SUBST(macosx_LDFLAGS)
2157 AC_SUBST(mad_LDFLAGS)
2158 AC_SUBST(memcpyaltivec_LDFLAGS)
2159 AC_SUBST(motionaltivec_LDFLAGS)
2160 AC_SUBST(ncurses_LDFLAGS)
2161 AC_SUBST(oss_LDFLAGS)
2162 AC_SUBST(qnx_LDFLAGS)
2163 AC_SUBST(qt_LDFLAGS)
2164 AC_SUBST(qte_LDFLAGS)
2165 AC_SUBST(rc_LDFLAGS)
2166 AC_SUBST(sdl_LDFLAGS)
2167 AC_SUBST(svgalib_LDFLAGS)
2168 AC_SUBST(vcd_LDFLAGS)
2169 AC_SUBST(vorbis_LDFLAGS)
2170 AC_SUBST(waveout_LDFLAGS)
2171 AC_SUBST(x11_LDFLAGS)
2172 AC_SUBST(xvideo_LDFLAGS)
2173 AC_SUBST(xosd_LDFLAGS)
2174 AC_SUBST(id3tag_LDFLAGS)
2185 chmod a+x vlc-config
2190 --------------------
2191 vlc version : ${VERSION}
2193 architecture : ${ARCH}
2194 optimizations : ${OPTIMS}
2196 debug mode : ${DEBUG}
2197 release : ${RELEASE}
2198 profiling : ${PROFILING}
2199 need builtin getopt : ${NEED_GETOPT}
2200 modules : (see Makefile.config)
2201 mozilla plugin : ${MOZILLA}
2202 vlc aliases :${ALIASES}
2204 You may now tune Makefile.config and Makefile.opts at your convenience, for
2205 instance to choose which modules get compiled as plugins, or tune CFLAGS.
2207 To build vlc and its plugins, type \`${VLC_MAKE}'.