1 dnl Autoconf settings for vlc
2 AC_INIT(include/main.h)
3 AC_CONFIG_HEADER(include/defs.h)
15 save_CPPFLAGS="${CPPFLAGS}"
16 save_CFLAGS="${CFLAGS}"
17 save_LDFLAGS="${LDFLAGS}"
26 dnl Find the right ranlib, even when cross-compiling
27 AC_CHECK_TOOL(RANLIB, ranlib, :)
28 AC_CHECK_TOOL(STRIP, strip, :)
31 dnl Check for GNU make
33 AC_PATH_PROG(GMAKE, gmake, no)
34 if test "x${GMAKE}" = "xno"; then
35 AC_CACHE_CHECK([whether GNU make is installed],
37 [if make --version | grep -q -i gnu; then
40 echo "This software needs you to install GNU make to compile properly."
41 echo "You can get it from http://www.gnu.org/."
50 ALL_LINGUAS="de en_GB fr ja no ru nl pl se"
52 AC_DEFINE_UNQUOTED(VLC_PACKAGE, "${PACKAGE}", [Package name])
53 AC_DEFINE_UNQUOTED(VLC_VERSION, "${VERSION}", [Package version])
59 dnl Check for compiler properties
64 dnl Set default LDFLAGS
66 vlc_LDFLAGS="${LDFLAGS}"
69 dnl Check the operating system
71 case "x${target_os}" in
80 save_CFLAGS="${save_CFLAGS} -pthread"; CFLAGS="${save_CFLAGS}"
81 dvd_LDFLAGS="${dvd_LDFLAGS} -ldvd"
82 vcd_LDFLAGS="${vcd_LDFLAGS} -ldvd"
86 save_CFLAGS="${save_CFLAGS} -pthread"; CFLAGS="${save_CFLAGS}"
90 save_CFLAGS="${save_CFLAGS} -no-cpp-precomp"; CFLAGS="${save_CFLAGS}"
91 vlc_LDFLAGS="${vlc_LDFLAGS} -all_load"
95 AC_CHECK_TOOL(WINDRES, windres, :)
96 save_CFLAGS="${save_CFLAGS} -fnative-struct -D_OFF_T_ -D_off_t=long"; CFLAGS="${save_CFLAGS}"
97 vlc_LDFLAGS="${vlc_LDFLAGS} -mwindows -Xlinker --force-exe-suffix"
98 vlc_LDFLAGS="${vlc_LDFLAGS} -lws2_32 -lnetapi32"
99 ipv4_LDFLAGS="${ipv4_LDFLAGS} -lws2_32"
100 ipv6_LDFLAGS="${ipv6_LDFLAGS} -lws2_32"
101 http_LDFLAGS="${http_LDFLAGS} -lws2_32"
102 rc_LDFLAGS="${rc_LDFLAGS} -lws2_32"
106 x11_LDFLAGS="${x11_LDFLAGS} -lsocket"
107 xvideo_LDFLAGS="${xvideo_LDFLAGS} -lsocket"
114 save_CFLAGS="${save_CFLAGS} -Wno-multichar -Wno-ctor-dtor-privacy -Woverloaded-virtual"; CFLAGS="${save_CFLAGS}"
115 vlc_LDFLAGS="${vlc_LDFLAGS} -lbe"
116 plugins_LDFLAGS="${plugins_LDFLAGS} -nostart"
117 beos_LDFLAGS="${beos_LDFLAGS} -lbe -lgame -lroot -ltracker -lstdc++.r4"
118 ipv4_LDFLAGS="${ipv4_LDFLAGS} -lbind"
125 dnl Flags for plugin compilation
126 if test "x${SYS}" = "xmingw32"
128 plugins_CFLAGS="${plugins_CFLAGS} -fnative-struct"
130 plugins_CFLAGS="${plugins_CFLAGS} -fPIC"
131 plugins_LDFLAGS="${plugins_LDFLAGS} -fPIC"
134 dnl The -DSYS_FOO flag
135 save_CFLAGS="${save_CFLAGS} -DSYS_`echo ${SYS} | sed -e 's/-.*//' | tr 'abcdefghijklmnopqrstuvwxyz.' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`"; CFLAGS="${save_CFLAGS}"
137 dnl Check for system libs needed
138 AC_CHECK_FUNCS(gettimeofday select strerror strtod strtol isatty vasprintf swab sigrelse getpwuid memalign posix_memalign gethostbyname2 atoll strndup)
140 AC_CHECK_FUNC(connect,,[
141 AC_CHECK_LIB(socket,connect,
142 ipv4_LDFLAGS="${ipv4_LDFLAGS} -lsocket"
143 vlc_LDFLAGS="${vlc_LDFLAGS} -lsocket"
145 AC_CHECK_FUNC(send,,[
146 AC_CHECK_LIB(socket,send,
147 http_LDFLAGS="${http_LDFLAGS} -lsocket"
149 AC_CHECK_FUNC(gethostbyname,,[
150 AC_CHECK_LIB(nsl,gethostbyname,ipv4_LDFLAGS="${ipv4_LDFLAGS} -lnsl",[
151 AC_CHECK_LIB(bind,gethostbyname,ipv4_LDFLAGS="${ipv4_LDFLAGS} -lbind")])
154 AC_CHECK_FUNC(nanosleep,have_nanosleep=1,[
155 AC_CHECK_LIB(rt,nanosleep,
156 [vlc_LDFLAGS="${vlc_LDFLAGS} -lrt"; have_nanosleep=1],
157 [AC_CHECK_LIB(posix4,nanosleep,
158 [vlc_LDFLAGS="${vlc_LDFLAGS} -lposix4"; have_nanosleep=1])]
161 if test x$have_nanosleep = x1; then
162 AC_DEFINE(HAVE_NANOSLEEP, 1,
163 Define if nanosleep is available.)
166 AC_CHECK_LIB(rt,sem_init, [vlc_LDFLAGS="${vlc_LDFLAGS} -lrt"])
168 AC_CHECK_FUNC(inet_aton,,[
169 AC_CHECK_LIB(resolv,inet_aton,ipv4_LDFLAGS="${ipv4_LDFLAGS} -lresolv")
171 AC_CHECK_FUNC(textdomain,,[
172 AC_CHECK_LIB(intl,textdomain,
173 vlc_LDFLAGS="${vlc_LDFLAGS} -lintl"
174 plugins_LDFLAGS="${plugins_LDFLAGS} -lintl"
180 AC_CHECK_FUNC(getopt_long,[AC_DEFINE(HAVE_GETOPT_LONG,1,long getopt support)],
181 [ # FreeBSD has a gnugetopt library for this:
182 AC_CHECK_LIB([gnugetopt],[getopt_long],
183 [AC_DEFINE(HAVE_GETOPT_LONG,1,getopt support) vlc_LDFLAGS="${vlc_LDFLAGS} -lgnugetopt"],
187 AC_CHECK_LIB(dl,dlopen,vlc_LDFLAGS="${vlc_LDFLAGS} -ldl")
189 imdct_LDFLAGS="${imdct_LDFLAGS} -lm"
190 filter_distort_LDFLAGS="${filter_distort_LDFLAGS} -lm")
192 ffmpeg_LDFLAGS="${ffmpeg_LDFLAGS} -lm"
193 imdct_LDFLAGS="${imdct_LDFLAGS} -lm"
194 imdct3dn_LDFLAGS="${imdct3dn_LDFLAGS} -lm"
195 imdctsse_LDFLAGS="${imdctsse_LDFLAGS} -lm"
196 i420_rgb_LDFLAGS="${i420_rgb_LDFLAGS} -lm"
197 faad_LDFLAGS="${faad_LDFLAGS} -lm"
200 dnl Check for pthreads - borrowed from XMMS
202 if test "x${THREAD_LIB}" = "xerror"; then
203 AC_CHECK_LIB(pthread,main,THREAD_LIB="-lpthread")
205 if test "x${THREAD_LIB}" = "xerror"; then
206 AC_CHECK_LIB(pthreads,main,THREAD_LIB="-lpthreads")
208 if test "x${THREAD_LIB}" = "xerror"; then
209 AC_CHECK_LIB(c_r,main,THREAD_LIB="-lc_r")
211 if test "x${THREAD_LIB}" = "xerror"; then
212 AC_CHECK_FUNC(pthread_mutex_lock)
216 dnl Check for cthreads under GNU/Hurd for instance
217 AC_CHECK_LIB(threads,cthread_fork,THREAD_LIB="-lthreads")
219 dnl Check for misc headers
220 AC_EGREP_HEADER(pthread_cond_t,pthread.h,[
221 AC_DEFINE(PTHREAD_COND_T_IN_PTHREAD_H, 1,
222 Define if <pthread.h> defines pthread_cond_t.)])
223 AC_EGREP_HEADER(pthread_once,pthread.h,[
224 AC_DEFINE(PTHREAD_ONCE_IN_PTHREAD_H, 1,
225 Define if <pthread.h> defines pthread_once.)])
226 AC_EGREP_HEADER(strncasecmp,strings.h,[
227 AC_DEFINE(STRNCASECMP_IN_STRINGS_H, 1,
228 Define if <strings.h> defines strncasecmp.)])
230 dnl Check for headers
231 AC_CHECK_HEADERS(stdint.h getopt.h strings.h inttypes.h sys/int_types.h)
232 AC_CHECK_HEADERS(sys/sockio.h fcntl.h sys/types.h sys/time.h sys/times.h)
233 AC_CHECK_HEADERS(dlfcn.h image.h)
234 AC_CHECK_HEADERS(arpa/inet.h net/if.h netinet/in.h sys/socket.h)
235 AC_CHECK_HEADERS(machine/param.h sys/shm.h)
236 AC_CHECK_HEADERS(linux/version.h)
240 dnl Mac OS X and other OSes don't have declaration for nanosleep
241 AC_EGREP_HEADER(nanosleep,time.h,[
242 AC_DEFINE(HAVE_DECL_NANOSLEEP, 1,
243 Define if <time.h> defines nanosleep.)
246 dnl Make sure we have timespecs
247 AC_EGREP_HEADER(timespec,sys/time.h,[
248 AC_DEFINE(HAVE_STRUCT_TIMESPEC, 1,
249 Define if <sys/time.h> defines struct timespec.)
252 dnl Check for threads library
253 AC_CHECK_HEADERS(cthreads.h pthread.h kernel/scheduler.h kernel/OS.h)
255 dnl Default X headers and libraries
256 if test "x${x_includes}" = "xNONE"; then
257 x_includes="/usr/X11R6/include"
259 if test "x${x_libraries}" = "xNONE"; then
260 x_libraries="/usr/X11R6/lib"
263 dnl Build the gtk_main plugin?
267 if test "x${SYS}" != "xmingw32"
269 CPPFLAGS="${save_CPPFLAGS} -I${x_includes}"
270 AC_CHECK_HEADERS(X11/extensions/dpms.h, [
271 AC_EGREP_HEADER(DPMSInfo,X11/extensions/dpms.h,[
272 AC_DEFINE(DPMSINFO_IN_DPMS_H, 1,
273 Define if <X11/extensions/dpms.h> defines DPMSInfo.)
276 CPPFLAGS="${save_CPPFLAGS}"
279 dnl Check for ntohl, etc.
280 AC_CACHE_CHECK([for ntohl in sys/param.h],
281 [ac_cv_c_ntohl_sys_param_h],
282 [CFLAGS="${save_CFLAGS} -Wall -Werror"
283 AC_TRY_COMPILE([#include <sys/param.h>],
284 [void foo() { int meuh; ntohl(meuh); }],
285 ac_cv_c_ntohl_sys_param_h=yes, ac_cv_c_ntohl_sys_param_h=no)])
286 if test "x${ac_cv_c_ntohl_sys_param_h}" != "xno"; then
287 AC_DEFINE(NTOHL_IN_SYS_PARAM_H, 1, Define if <sys/param.h> defines ntohl.)
290 dnl Check for inline function size limit
291 AC_CACHE_CHECK([if \$CC accepts -finline-limit],
292 [ac_cv_c_inline_limit],
293 [CFLAGS="${save_CFLAGS} -finline-limit-30000"
294 AC_TRY_COMPILE([],,ac_cv_c_inline_limit=yes, ac_cv_c_inline_limit=no)])
295 if test "x${ac_cv_c_inline_limit}" != "xno"; then
296 save_CFLAGS="${save_CFLAGS} -finline-limit-30000"; CFLAGS="${save_CFLAGS}"
299 dnl Check for -W or -w flags
300 AC_CACHE_CHECK([if \$CC accepts -Wall -Winline],
301 [ac_cv_c_Wall_Winline],
302 [CFLAGS="-Wall -Winline ${save_CFLAGS}"
303 AC_TRY_COMPILE([],,ac_cv_c_Wall_Winline=yes, ac_cv_c_Wall_Winline=no)])
304 if test "x${ac_cv_c_Wall_Winline}" != "xno"; then
305 save_CFLAGS="-Wall -Winline ${save_CFLAGS}"; CFLAGS="${save_CFLAGS}"
307 AC_CACHE_CHECK([if \$CC accepts -wall -winline],
308 [ac_cv_c_wall_winline],
309 [CFLAGS="-wall -winline ${save_CFLAGS}"
310 AC_TRY_COMPILE([],,ac_cv_c_wall_winline=yes, ac_cv_c_wall_winline=no)])
311 if test "x${ac_cv_c_wall_winline}" != "xno"; then
312 save_CFLAGS="-wall -winline ${save_CFLAGS}"; CFLAGS="${save_CFLAGS}"
317 AC_CACHE_CHECK([if \$CC accepts -pipe],
319 [CFLAGS="${save_CFLAGS} -pipe"
320 AC_TRY_COMPILE([],,ac_cv_c_pipe=yes, ac_cv_c_pipe=no)])
321 if test "x${ac_cv_c_pipe}" != "xno"; then
322 save_CFLAGS="${save_CFLAGS} -pipe"; CFLAGS="${save_CFLAGS}"
325 dnl Check for various optimization flags
326 AC_CACHE_CHECK([if \$CC accepts -O3],
328 [CFLAGS="${save_CFLAGS} -O3"
329 AC_TRY_COMPILE([],,ac_cv_c_o3=yes, ac_cv_c_o3=no)])
330 if test "x${ac_cv_c_o3}" != "xno"; then
331 CFLAGS_OPTIM="${CFLAGS_OPTIM} -O3"
333 AC_CACHE_CHECK([if \$CC accepts -O2],
335 [CFLAGS="${save_CFLAGS} -O2"
336 AC_TRY_COMPILE([],,ac_cv_c_o2=yes, ac_cv_c_o2=no)])
337 if test "x${ac_cv_c_o2}" != "xno"; then
338 CFLAGS_OPTIM="${CFLAGS_OPTIM} -O2"
340 AC_CACHE_CHECK([if \$CC accepts -O],
342 [CFLAGS="${save_CFLAGS} -O"
343 AC_TRY_COMPILE([],,ac_cv_c_o=yes, ac_cv_c_o=no)])
344 if test "x${ac_cv_c_o}" != "xno"; then
345 CFLAGS_OPTIM="${CFLAGS_OPTIM} -O"
350 dnl Check for -ffast-math
351 AC_CACHE_CHECK([if \$CC accepts -ffast-math],
353 [CFLAGS="${save_CFLAGS} -ffast-math"
354 AC_TRY_COMPILE([],,ac_cv_c_fast_math=yes, ac_cv_c_fast_math=no)])
355 if test "x${ac_cv_c_fast_math}" != "xno"; then
356 CFLAGS_OPTIM="${CFLAGS_OPTIM} -ffast-math"
359 dnl Check for -funroll-loops
360 AC_CACHE_CHECK([if \$CC accepts -funroll-loops],
361 [ac_cv_c_unroll_loops],
362 [CFLAGS="${save_CFLAGS} -funroll-loops"
363 AC_TRY_COMPILE([],,ac_cv_c_unroll_loops=yes, ac_cv_c_unroll_loops=no)])
364 if test "x${ac_cv_c_unroll_loops}" != "xno"; then
365 CFLAGS_OPTIM="${CFLAGS_OPTIM} -funroll-loops"
368 dnl Check for -fomit-frame-pointer
369 AC_CACHE_CHECK([if \$CC accepts -fomit-frame-pointer],
370 [ac_cv_c_omit_frame_pointer],
371 [CFLAGS="${save_CFLAGS} -fomit-frame-pointer"
372 AC_TRY_COMPILE([],,ac_cv_c_omit_frame_pointer=yes, ac_cv_c_omit_frame_pointer=no)])
373 if test "x${ac_cv_c_omit_frame_pointer}" != "xno"; then
374 CFLAGS_OPTIM_NODEBUG="${CFLAGS_OPTIM_NODEBUG} -fomit-frame-pointer"
375 # this plugin does not compile without -fomit-frame-pointer, damn gcc!
376 i420_yuy2_mmx_CFLAGS="${i420_yuy2_mmx_CFLAGS} -fomit-frame-pointer"
379 dnl Check for Darwin plugin linking flags
380 AC_CACHE_CHECK([if \$CC accepts -bundle -undefined error -lcc_dynamic],
382 [CFLAGS="${save_CFLAGS} -bundle -undefined error -lcc_dynamic"
383 AC_TRY_COMPILE([],,ac_cv_ld_darwin=yes, ac_cv_ld_darwin=no)])
384 if test "x${ac_cv_ld_darwin}" != "xno"; then
385 plugins_LDFLAGS="${plugins_LDFLAGS} -bundle -undefined error -lcc_dynamic"
388 dnl Check for standard plugin linking flags
389 AC_CACHE_CHECK([if \$CC accepts -shared],
391 [CFLAGS="${save_CFLAGS} -shared"
392 AC_TRY_COMPILE([],, ac_cv_ld_plugins=yes, ac_cv_ld_plugins=no)])
393 if test "x${ac_cv_ld_plugins}" != "xno"; then
394 plugins_LDFLAGS="${plugins_LDFLAGS} -shared"
397 dnl Check for variadic macros
398 AC_CACHE_CHECK([for variadic cpp macros],
399 [ac_cv_cpp_variadic_macros],
400 [CFLAGS="${save_CFLAGS}"
403 #define a(b,c...) printf(b,##c)],
404 [a("foo");a("%s","bar");a("%s%s","baz","quux");],
405 ac_cv_cpp_variadic_macros=yes,
406 ac_cv_cpp_variadic_macros=no)])
407 if test "x${ac_cv_cpp_variadic_macros}" != "xno"; then
408 AC_DEFINE(HAVE_VARIADIC_MACROS, 1, Support for variadic macros)
411 dnl Checks for __attribute__(aligned()) directive
412 AC_CACHE_CHECK([__attribute__ ((aligned ())) support],
413 [ac_cv_c_attribute_aligned],
414 [ac_cv_c_attribute_aligned=0
415 CFLAGS="${save_CFLAGS} -Werror"
416 for ac_cv_c_attr_align_try in 2 4 8 16 32 64; do
418 [static char c __attribute__ ((aligned(${ac_cv_c_attr_align_try}))) = 0; return c;],
419 [ac_cv_c_attribute_aligned="${ac_cv_c_attr_align_try}"])
421 CFLAGS="${save_CFLAGS}"])
422 if test "x${ac_cv_c_attribute_aligned}" != "x0"; then
423 AC_DEFINE_UNQUOTED([ATTRIBUTE_ALIGNED_MAX],
424 [${ac_cv_c_attribute_aligned}],[Maximum supported data alignment])
430 case "x${target_cpu}" in
442 BUILTINS="${BUILTINS}"
443 PLUGINS="${PLUGINS} misc/dummy/dummy misc/null"
444 PLUGINS="${PLUGINS} control/rc/rc misc/logger/logger access/file misc/memcpy/memcpy"
445 PLUGINS="${PLUGINS} demux/mpeg/es demux/mpeg/audio demux/mpeg/mpeg_system demux/mpeg/ps demux/mpeg/ts"
446 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"
447 PLUGINS="${PLUGINS} codec/a52old/imdct/imdct codec/a52old/downmix/downmix codec/a52old/a52old"
448 #PLUGINS="${PLUGINS} codec/lpcm/lpcm"
449 PLUGINS="${PLUGINS} video_filter/deinterlace/deinterlace video_filter/invert video_filter/wall video_filter/transform video_filter/distort video_filter/clone video_filter/crop"
450 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"
451 PLUGINS="${PLUGINS} audio_filter/resampler/trivial"
452 PLUGINS="${PLUGINS} audio_mixer/trivial audio_mixer/spdif"
453 PLUGINS="${PLUGINS} audio_output/file"
454 #PLUGINS="${PLUGINS} visualization/scope/scope"
455 PLUGINS="${PLUGINS} video_chroma/i420_rgb video_chroma/i420_yuy2 video_chroma/i422_yuy2 video_chroma/i420_ymga"
460 NETWORK_MODULES="access/udp access/http access/rtp misc/network/ipv4"
463 dnl Accelerated modules
465 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"
466 MMXEXT_MODULES="misc/memcpy/memcpymmxext codec/mpeg_video/idct/idctmmxext codec/mpeg_video/motion/motionmmxext"
467 THREEDNOW_MODULES="misc/memcpy/memcpy3dn codec/a52old/imdct/imdct3dn codec/a52old/downmix/downmix3dn"
468 SSE_MODULES="codec/a52old/imdct/imdctsse codec/a52old/downmix/downmixsse"
469 ALTIVEC_MODULES="codec/mpeg_video/idct/idctaltivec codec/mpeg_video/motion/motionaltivec misc/memcpy/memcpyaltivec"
471 if test x$SYS != xbeos
473 PLUGINS="${PLUGINS} ${NETWORK}"
476 AC_CACHE_CHECK([if \$CC groks MMX inline assembly],
478 [CFLAGS="${save_CFLAGS}"
479 AC_TRY_COMPILE(,[void *p;asm volatile("packuswb %%mm1,%%mm2"::"r"(p));],
480 ac_cv_mmx_inline=yes, ac_cv_mmx_inline=no)])
481 if test "x${ac_cv_mmx_inline}" != "xno"; then
482 ACCEL_MODULES="${ACCEL_MODULES} ${MMX_MODULES}"
485 AC_CACHE_CHECK([if \$CC groks MMX EXT inline assembly],
486 [ac_cv_mmxext_inline],
487 [CFLAGS="${save_CFLAGS}"
488 AC_TRY_COMPILE(,[void *p;asm volatile("maskmovq %%mm1,%%mm2"::"r"(p));],
489 ac_cv_mmxext_inline=yes, ac_cv_mmxext_inline=no)])
490 if test "x${ac_cv_mmxext_inline}" != "xno"; then
491 ACCEL_MODULES="${ACCEL_MODULES} ${MMXEXT_MODULES}"
494 AC_CACHE_CHECK([if \$CC groks 3D Now! inline assembly],
495 [ac_cv_3dnow_inline],
496 [CFLAGS="${save_CFLAGS}"
497 AC_TRY_COMPILE(,[void *p;asm volatile("pfadd %%mm1,%%mm2"::"r"(p));],
498 ac_cv_3dnow_inline=yes, ac_cv_3dnow_inline=no)])
499 if test "x${ac_cv_3dnow_inline}" != "xno"; then
500 AC_DEFINE(CAN_COMPILE_3DNOW, 1, Define if \$CC groks 3D Now! inline assembly.)
501 ACCEL_MODULES="${ACCEL_MODULES} ${THREEDNOW_MODULES}"
504 AC_CACHE_CHECK([if \$CC groks SSE inline assembly],
506 [CFLAGS="${save_CFLAGS}"
507 AC_TRY_COMPILE(,[void *p;asm volatile("xorps %%xmm1,%%xmm2"::"r"(p));],
508 ac_cv_sse_inline=yes, ac_cv_sse_inline=no)])
509 if test "x${ac_cv_sse_inline}" != "xno" -a "x${SYS}" != "xmingw32"; then
510 AC_DEFINE(CAN_COMPILE_SSE, 1, Define if \$CC groks SSE inline assembly.)
511 ACCEL_MODULES="${ACCEL_MODULES} ${SSE_MODULES}"
514 # don't try to grok AltiVec with native mingw32 it doesn't work right now
515 # we should be able to remove this test with future versions of mingw32
516 if test "x${SYS}" != "xmingw32"; then
517 AC_CACHE_CHECK([if \$CC groks AltiVec inline assembly],
518 [ac_cv_altivec_inline],
519 [CFLAGS="${save_CFLAGS}"
520 AC_TRY_COMPILE(,[asm volatile("vperm 0,1,2,3");],
521 ac_cv_altivec_inline=yes,
522 [CFLAGS="${save_CFLAGS} -Wa,-m7400"
523 AC_TRY_COMPILE(,[asm volatile("vperm 0,1,2,3");],
524 [ac_cv_altivec_inline="-Wa,-m7400"],
525 ac_cv_altivec_inline=no)
527 if test "x${ac_cv_altivec_inline}" != "xno"; then
528 AC_DEFINE(CAN_COMPILE_ALTIVEC, 1, Define if \$CC groks AltiVec inline assembly.)
529 if test "x${ac_cv_altivec_inline}" != "xyes"; then
530 idctaltivec_CFLAGS="${idctaltivec_CFLAGS} ${ac_cv_altivec_inline}"
531 motionaltivec_CFLAGS="${motionaltivec_CFLAGS} ${ac_cv_altivec_inline}"
532 memcpyaltivec_CFLAGS="${memcpyaltivec_CFLAGS} ${ac_cv_altivec_inline}"
533 vlc_CFLAGS="${vlc_CFLAGS} ${ac_cv_altivec_inline}"
535 ACCEL_MODULES="${ACCEL_MODULES} ${ALTIVEC_MODULES}"
538 AC_CACHE_CHECK([if \$CC groks AltiVec C extensions],
540 [CFLAGS="${save_CFLAGS} -faltivec"
542 AC_TRY_COMPILE(,[vec_mtvscr((vector unsigned int)(0));],
543 ac_cv_c_altivec=-faltivec, [
545 CFLAGS="${save_CFLAGS} ${idctaltivec_CFLAGS} -fvec"
546 AC_TRY_COMPILE(,[vec_mtvscr((vector unsigned int)(0));],
547 [ac_cv_c_altivec="-fvec"], ac_cv_c_altivec=no)
549 CFLAGS="${save_CFLAGS}"])
550 if test "x${ac_cv_c_altivec}" != "xno"; then
551 AC_DEFINE(CAN_COMPILE_C_ALTIVEC, 1, Define if your compiler groks C AltiVec extensions.)
552 idctaltivec_CFLAGS="${idctaltivec_CFLAGS} ${ac_cv_c_altivec}"
553 motionaltivec_CFLAGS="${motionaltivec_CFLAGS} ${ac_cv_c_altivec}"
554 memcpyaltivec_CFLAGS="${memcpyaltivec_CFLAGS} ${ac_cv_c_altivec}"
555 vlc_CFLAGS="${vlc_CFLAGS} ${ac_cv_c_altivec}"
556 ACCEL_MODULES="${ACCEL_MODULES} ${ALTIVEC_MODULES}"
559 AC_CACHE_CHECK([if linker needs -framework vecLib],
561 [LDFLAGS="${vlc_LDFLAGS} -framework vecLib"
562 AC_TRY_LINK([],,ac_cv_ld_altivec=yes,ac_cv_ld_altivec=no)
563 LDFLAGS="${save_LDFLAGS}"
565 if test "x${ac_cv_ld_altivec}" != "xno"; then
566 idctaltivec_LDFLAGS="${idctaltivec_LDFLAGS} -framework vecLib"
567 motionaltivec_LDFLAGS="${motionaltivec_LDFLAGS} -framework vecLib"
568 memcpyaltivec_LDFLAGS="${memcpyaltivec_LDFLAGS} -framework vecLib"
569 vlc_LDFLAGS="${vlc_LDFLAGS} -framework vecLib"
575 AC_ARG_WITH(,[Optimization options:])
578 dnl Special arch tuning
581 [ --with-tuning=ARCH enable special tuning for an architecture
582 (default i686 on IA-32 and 750 on PPC)])
583 if test "x${with_tuning}" != "x"; then
584 TUNING="${with_tuning}"
586 if test "x${target_cpu}" = "xi686" -o "x${target_cpu}" = "xi586" -o "x${target_cpu}" = "xi486" -o "x${target_cpu}" = "xi386"; then TUNING="pentiumpro"
588 if test "x${target_cpu}" = "xpowerpc"; then TUNING="750"; fi
593 dnl x86 accelerations
595 if test "x${target_cpu}" = "xi686" -o "x${target_cpu}" = "xi586" -o "x${target_cpu}" = "xx86" -o "x${target_cpu}" = "xi386"
598 PLUGINS="${PLUGINS} ${ACCEL_MODULES}"
602 dnl Enable/disable optimizations
604 AC_ARG_ENABLE(optimizations,
605 [ --disable-optimizations disable compiler optimizations (default enabled)],
606 [ if test "x${enable_optimizations}" = "xno"; then OPTIMS=0; fi ],
610 dnl AltiVec acceleration
612 AC_ARG_ENABLE(altivec,
613 [ --disable-altivec disable AltiVec optimizations (default enabled on PPC)],
614 [ if test "x${enable_altivec}" = "xyes"; then ARCH="${ARCH} altivec";
615 BUILTINS="${BUILTINS} ${ACCEL_MODULES}"; fi ],
616 [ if test "x${target_cpu}" = "xpowerpc"; then ARCH="${ARCH} altivec";
617 BUILTINS="${BUILTINS} ${ACCEL_MODULES}"; fi ])
624 [ --enable-debug debug mode (default disabled)],
625 [ if test "x${enable_debug}" = "xyes"; then DEBUG=1; fi ])
628 dnl Enable release-specific flags
631 AC_ARG_ENABLE(release,
632 [ --enable-release activate extra optimizations (default disabled)],
633 [ if test "x${enable_release}" = "xyes"; then RELEASE=1; fi ],
634 [ VERSION="${VERSION}_`date +%Y-%m-%d`" ])
640 AC_ARG_WITH(,[Input plugins:])
643 dnl DVD module: optionally check for installed libdvdcss
646 [ --enable-dvd DVD input module (default enabled)])
647 if test "x${enable_dvd}" != "xno"
650 [ --with-dvdcss=PATH libdvdcss headers and libraries])
651 AC_ARG_WITH(dvdcss-tree,
652 [ --with-dvdcss-tree=PATH libdvdcss tree for static linking])
653 case "x${with_dvdcss}" in
655 if test "x${with_dvdcss_tree}" = x
657 AC_CHECK_HEADERS(dvdcss/dvdcss.h,
658 [ PLUGINS="${PLUGINS} access/dvd/dvd"
659 dvd_LDFLAGS="${dvd_LDFLAGS} -ldvdcss" ],
660 [ 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.])
661 AC_MSG_ERROR([cannot find libdvdcss headers]) ])
663 AC_MSG_CHECKING(for libdvdcss.a in ${with_dvdcss_tree})
664 real_dvdcss_tree="`cd ${with_dvdcss_tree} 2>/dev/null && pwd`"
665 if test "x${real_dvdcss_tree}" = "x"
667 dnl The given directory can't be found
669 AC_MSG_ERROR([cannot cd to ${with_dvdcss_tree}])
671 if test -f "${real_dvdcss_tree}/src/.libs/libdvdcss.a"
673 dnl Use a custom libdvdcss
674 AC_MSG_RESULT(${real_dvdcss_tree}/src/.libs/libdvdcss.a)
675 BUILTINS="${BUILTINS} access/dvd/dvd"
676 dvd_LDFLAGS="${dvd_LDFLAGS} ${real_dvdcss_tree}/src/.libs/libdvdcss.a"
677 dvd_CFLAGS="${dvd_CFLAGS} -I${real_dvdcss_tree}/src"
679 dnl The given libdvdcss wasn't built
681 AC_MSG_ERROR([cannot find ${real_dvdcss_tree}/src/.libs/libdvdcss.a, make sure you compiled libdvdcss in ${with_dvdcss_tree}])
686 dnl Compile without dvdcss (dlopen version, works only under Linux)
687 PLUGINS="${PLUGINS} access/dvd/dvd"
688 dvd_CFLAGS="${dvd_CFLAGS} -DGOD_DAMN_DMCA"
689 dvd_LDFLAGS="${dvd_LDFLAGS} -ldl"
692 AC_MSG_CHECKING(for dvdcss headers in ${with_dvdcss})
693 if test -f ${with_dvdcss}/include/dvdcss/dvdcss.h
695 dnl Use ${with_dvdcss}/include/dvdcss/dvdcss.h
697 PLUGINS="${PLUGINS} access/dvd/dvd"
698 dvd_LDFLAGS="${dvd_LDFLAGS} -L${with_dvdcss}/lib -ldvdcss"
699 dvd_CFLAGS="${dvd_CFLAGS} -I${with_dvdcss}/include"
701 dnl No libdvdcss could be found, sorry
703 AC_MSG_ERROR([cannot find ${with_dvdcss}/include/dvdcss/dvdcss.h])
710 dnl dvdread module: check for libdvdread plugin
712 AC_ARG_ENABLE(dvdread,
713 [ --enable-dvdread dvdread input module (default disabled)])
714 if test "x${enable_dvdread}" != "xno"
717 [ --with-dvdread=PATH libdvdread headers and libraries])
718 if test "x${with_dvdread}" = "x"
723 test_LDFLAGS="-L${with_dvdread}/lib"
724 test_CFLAGS="-I${with_dvdread}/include"
726 CPPFLAGS="${save_CPPFLAGS} ${test_CFLAGS}"
727 AC_CHECK_HEADERS(dvdread/dvd_reader.h, [
728 AC_TRY_COMPILE([#include <dvdread/dvd_reader.h>],
729 [int foo() { return DVD_VIDEO_LB_LEN; }],[
730 PLUGINS="${PLUGINS} access/dvdread/dvdread"
731 dvdread_LDFLAGS="${dvdread_LDFLAGS} ${test_LDFLAGS} -ldvdread"
732 dvdread_CFLAGS="${dvdread_CFLAGS} ${test_CFLAGS}"
734 if test "x${enable_dvdread}" != "x"
736 AC_MSG_ERROR([Cannot find DVD_VIDEO_LB_LEN in dvdread/dvd_reader.h, please install libdvdread version 0.9.2 or later])
740 if test "x${enable_dvdread}" != "x"
742 if test "x${with_dvdread}" != "x"
744 AC_MSG_ERROR([Cannot find dvdread/dvd_reader.h in ${with_dvdread}/include])
746 AC_MSG_ERROR([Cannot find dvdread/dvd_reader.h])
750 CPPFLAGS="$save_CPPFLAGS"
754 dnl dvdplay module: check for libdvdplay
756 AC_ARG_ENABLE(dvdplay,
757 [ --enable-dvdplay dvdplay input module (default disabled)])
758 if test "x$enable_dvdplay" != "xno"
761 [ --with-dvdplay=PATH libdvdplay headers and libraries])
762 if test "x$with_dvdplay" = x
767 test_LDFLAGS="-L${with_dvdplay}/lib"
768 test_CFLAGS="-I${with_dvdplay}/include"
770 CPPFLAGS="$save_CPPFLAGS $test_CFLAGS"
771 AC_CHECK_HEADERS(dvdplay/dvdplay.h, [
772 PLUGINS="${PLUGINS} access/dvdplay/dvdplay"
773 dvdplay_LDFLAGS="${dvdplay_LDFLAGS} ${test_LDFLAGS} -ldvdplay -ldvdread"
774 dvdplay_CFLAGS="${dvdplay_CFLAGS} ${test_CFLAGS}"
776 if test "x$enable_dvdplay" != x
778 if test "x$with_dvdplay" != x
780 AC_MSG_ERROR([Cannot find dvdplay/dvdplay.h in ${with_dvdplay}/include])
782 AC_MSG_ERROR([Cannot find dvdplay/dvdplay.h])
786 CPPFLAGS="${save_CPPFLAGS}"
791 dnl libdvbpsi ts demux
793 AC_ARG_ENABLE(dvbpsi,
794 [ --enable-dvbpsi dvbpsi ts demux module (default disabled)])
795 if test "x${enable_dvbpsi}" != "xno"
798 [ --with-dvbpsi=PATH libdvbpsi headers and libraries])
800 [ --with-dvbpsi-tree=PATH libdvbpsi tree for static linking])
801 case "x${with_dvbpsi}" in
803 if test "x${with_dvbpsi_tree}" = "x"
805 AC_CHECK_HEADERS(dvbpsi/dr.h,
806 [ PLUGINS="${PLUGINS} demux/mpeg/ts_dvbpsi"
807 ts_dvbpsi_LDFLAGS="${ts_dvbpsi_LDFLAGS} -ldvbpsi" ], [],
808 [ AC_MSG_ERROR([cannot find libdvbpsi headers]) ])
810 AC_MSG_CHECKING(for libdvbpsi.a in ${with_dvbpsi_tree})
811 real_dvbpsi_tree="`cd ${with_dvbpsi_tree} 2>/dev/null && pwd`"
812 if test "x${real_dvbpsi_tree}" = "x"
814 dnl The given directory can't be found
816 AC_MSG_ERROR([cannot cd to ${with_dvbpsi_tree}])
818 if test -f "${real_dvbpsi_tree}/src/.libs/libdvbpsi.a"
820 dnl Use a custom libdvbpsi
821 AC_MSG_RESULT(${real_dvbpsi_tree}/src/.libs/libdvbpsi.a)
822 BUILTINS="${BUILTINS} demux/mpeg/ts_dvbpsi"
823 ts_dvbpsi_LDFLAGS="${ts_dvbpsi_LDFLAGS} ${real_dvbpsi_tree}/src/.libs/libdvbpsi.a"
824 ts_dvbpsi_CFLAGS="${ts_dvbpsi_CFLAGS} -I${real_dvbpsi_tree}/src"
826 dnl The given libdvbpsi wasn't built
828 AC_MSG_ERROR([cannot find ${real_dvbpsi_tree}/src/.libs/libdvbpsi.a, make sure you compiled libdvbpsi in ${with_dvbpsi_tree}])
833 dnl Compile without dvbpsi
836 AC_MSG_CHECKING(for dvbpsi headers in ${with_dvbpsi})
837 if test "x${with_dvbpsi}" = "x"
842 test_LDFLAGS="-L${with_dvbpsi}/lib"
843 test_CFLAGS="-I${with_dvbpsi}/include"
845 CPPFLAGS="${save_CPPFLAGS} ${test_CFLAGS}"
846 AC_CHECK_HEADER([dvbpsi/dr.h],[
847 PLUGINS="${PLUGINS} demux/mpeg/ts_dvbpsi"
848 ts_dvbpsi_LDFLAGS="${ts_dvbpsi_LDFLAGS} ${test_LDFLAGS} -ldvbpsi"
849 ts_dvbpsi_CFLAGS="${ts_dvbpsi_CFLAGS} ${test_CFLAGS}"
851 if test "x${enable_dvbpsi}" != "x"
853 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])
856 CPPFLAGS="${save_CPPFLAGS}"
862 dnl Video4Linux plugin
865 [ --enable-v4l Video4Linux input support (default disabled)])
866 if test "x${enable_v4l}" = "xyes"
868 AC_CHECK_HEADERS(libv4l/v4l.h, [
869 PLUGINS="${PLUGINS} access/v4l/v4l"
877 [ --enable-vcd VCD support for Linux, FreeBSD and MacOS X (default enabled)])
879 if test "x${enable_vcd}" != "xno"
881 AC_EGREP_HEADER(cdrom_msf0,linux/cdrom.h,[
882 PLUGINS="${PLUGINS} access/vcd/vcd"
885 AC_EGREP_HEADER(ioc_toc_header ,sys/cdio.h,[
886 PLUGINS="${PLUGINS} access/vcd/vcd"
887 AC_DEFINE(HAVE_IOC_TOC_HEADER_IN_SYS_CDIO_H, 1, For FreeBSD VCD support)
890 if test "x${SYS}" = "xbsdi"
892 PLUGINS="${PLUGINS} access/vcd/vcd"
895 if test "x${SYS}" = "xdarwin"
897 # No need to add vcd to PLUGINS, Darwin is already based on FreeBSD
898 vcd_LDFLAGS="${vcd_LDFLAGS} -framework IOKit -framework CoreFoundation"
903 dnl Satellite input module
905 AC_ARG_ENABLE(satellite,
906 [ --enable-satellite satellite card support (default disabled)],
907 [ if test "x${enable_satellite}" = "xyes"
909 PLUGINS="${PLUGINS} access/satellite/satellite"
913 dnl ipv6 plugin - not for QNX yet
915 if test "x${SYS}" != "xnto" && test "x${SYS}" != "xmingw32"
918 AC_CHECK_FUNC(inet_pton,[have_ipv6=1],[
919 AC_CHECK_LIB(resolv,inet_pton,
921 ipv6_LDFLAGS="${ipv6_LDFLAGS} -lresolv"])
923 AC_MSG_CHECKING(for sockaddr_in6 in netinet/in.h)
924 AC_EGREP_HEADER(sockaddr_in6,netinet/in.h,
925 [AC_MSG_RESULT(yes)], [AC_MSG_RESULT(no); have_ipv6=0])
926 if test x$have_ipv6 = x1; then
927 PLUGINS="${PLUGINS} misc/network/ipv6"
930 if test "x${SYS}" = "xmingw32"
932 AC_MSG_CHECKING(for getaddrinfo in ws2tcpip.h)
933 AC_EGREP_HEADER(addrinfo,ws2tcpip.h,[AC_MSG_RESULT(yes)
934 PLUGINS="${PLUGINS} misc/network/ipv6"],[AC_MSG_RESULT(no)])
941 [ --enable-avi AVI demux module (default enabled)])
942 if test "x${enable_avi}" != "xno"
944 PLUGINS="${PLUGINS} demux/avi/avi"
951 [ --enable-aac AAC demux module (default enabled)])
952 if test "x${enable_aac}" != "xno"
954 PLUGINS="${PLUGINS} demux/aac/aac"
961 AC_ARG_WITH(,[Codec plugins:])
967 [ --enable-mad libmad module (default disabled)])
968 if test "x${enable_mad}" = "xyes"
971 [ --with-mad=PATH path to libmad],[],[])
972 if test "x${with_mad}" != "xno" -a "x${with_mad}" != "x"
974 mad_CFLAGS="${mad_CFLAGS} -I${with_mad}/include"
975 mad_LDFLAGS="${mad_LDFLAGS} -L${with_mad}/lib"
978 AC_ARG_WITH(mad-tree,
979 [ --with-mad-tree=PATH mad tree for static linking],[],[])
980 if test "x${with_mad_tree}" != "xno" -a "x${with_mad_tree}" != "x"
982 real_mad_tree="`cd ${with_mad_tree} 2>/dev/null && pwd`"
983 if test "x${real_mad_tree}" = "x"
985 dnl The given directory can't be found
987 AC_MSG_ERROR([${with_mad_tree} directory doesn't exist])
989 dnl Use a custom libmad
990 AC_MSG_CHECKING(for mad.h in ${real_mad_tree}/libmad)
991 if test -f ${real_mad_tree}/libmad/mad.h
994 mad_CFLAGS="${mad_CFLAGS} -I${real_mad_tree}/libmad"
995 mad_LDFLAGS="${mad_LDFLAGS} -L${real_mad_tree}/libmad/.libs"
996 LDFLAGS="${save_LDFLAGS} ${mad_LDFLAGS}"
997 AC_CHECK_LIB(mad, mad_bit_init, [
998 BUILTINS="${BUILTINS} codec/mad/mad"
999 mad_LDFLAGS="${mad_LDFLAGS} -lmad"
1000 ],[ AC_MSG_ERROR([the specified tree hasn't been compiled ])
1002 LDFLAGS="${save_LDFLAGS}"
1005 AC_MSG_ERROR([the specified tree doesn't have mad.h])
1008 CFLAGS="${save_CFLAGS} ${mad_CFLAGS}"
1009 LDFLAGS="${save_LDFLAGS} ${mad_LDFLAGS}"
1010 AC_CHECK_HEADERS(mad.h, ,
1011 [ AC_MSG_ERROR([Cannot find development headers for libmad...]) ])
1012 AC_CHECK_LIB(mad, mad_bit_init, [
1013 PLUGINS="${PLUGINS} codec/mad/mad"
1014 mad_LDFLAGS="${mad_LDFLAGS} -lmad" ],
1015 [ AC_MSG_ERROR([Cannot find libmad library...]) ])
1016 CFLAGS="${save_CFLAGS}"
1017 LDFLAGS="${save_LDFLAGS}"
1022 dnl libid3tag support
1024 AC_CHECK_HEADERS(id3tag.h, [audio_LDFLAGS="${audio_LDFLAGS} -lz -lid3tag"])
1027 dnl ffmpeg decoder plugin
1029 AC_ARG_ENABLE(ffmpeg,
1030 [ --enable-ffmpeg ffmpeg codec (default disabled)])
1031 if test "x${enable_ffmpeg}" = "xyes"
1034 [ --with-ffmpeg=PATH path to ffmpeg installation],[],[])
1035 if test "x${with_ffmpeg}" != "xno" -a "x${with_ffmpeg}" != "x"
1037 ffmpeg_CFLAGS="${ffmpeg_CFLAGS} -I${with_ffmpeg}/include/libffmpeg"
1038 ffmpeg_LDFLAGS="${ffmpeg_LDFLAGS} -L${with_ffmpeg}/lib"
1041 dnl Add postprocessing modules
1042 PLUGINS="${PLUGINS} codec/ffmpeg/postprocessing/postprocessing_c"
1043 if test "x${ac_cv_mmx_inline}" != "xno"; then
1044 PLUGINS="${PLUGINS} codec/ffmpeg/postprocessing/postprocessing_mmx"
1047 if test "x${ac_cv_mmxext_inline}" != "xno"; then
1048 PLUGINS="${PLUGINS} codec/ffmpeg/postprocessing/postprocessing_mmxext"
1052 AC_ARG_WITH(ffmpeg-tree,
1053 [ --with-ffmpeg-tree=PATH ffmpeg tree for static linking])
1054 if test "x${with_ffmpeg_tree}" != "x"
1056 AC_MSG_CHECKING(for libavcodec.a in ${with_ffmpeg_tree})
1057 real_ffmpeg_tree="`cd ${with_ffmpeg_tree} 2>/dev/null && pwd`"
1058 if test "x${real_ffmpeg_tree}" = x
1060 dnl The given directory can't be found
1062 AC_MSG_ERROR([cannot cd to ${with_ffmpeg_tree}])
1064 if test -f "${real_ffmpeg_tree}/libavcodec/libavcodec.a"
1066 dnl Use a custom libffmpeg
1067 AC_MSG_RESULT(${real_ffmpeg_tree}/libavcodec/libavcodec.a)
1068 BUILTINS="${BUILTINS} codec/ffmpeg/ffmpeg"
1069 ffmpeg_LDFLAGS="${ffmpeg_LDFLAGS} ${real_ffmpeg_tree}/libavcodec/libavcodec.a"
1070 ffmpeg_CFLAGS="${ffmpeg_CFLAGS} -I${real_ffmpeg_tree}/libavcodec"
1072 dnl The given libavcodec wasn't built
1074 AC_MSG_ERROR([cannot find ${real_ffmpeg_tree}/libavcodec/libavcodec.a, make sure you compiled libavcodec in ${with_ffmpeg_tree}])
1077 CFLAGS="${save_CFLAGS} ${ffmpeg_CFLAGS}"
1078 LDFLAGS="${save_LDFLAGS} ${ffmpeg_LDFLAGS}"
1079 AC_CHECK_LIB(avcodec, avcodec_init, [
1080 BUILTINS="${BUILTINS} codec/ffmpeg/ffmpeg"
1081 ffmpeg_LDFLAGS="${ffmpeg_LDFLAGS} -lavcodec" ],
1082 [ AC_MSG_ERROR([Cannot find libavcodec library...]) ])
1083 LDFLAGS="${save_LDFLAGS}"
1084 CFLAGS="${save_CFLAGS}"
1089 dnl faad decoder plugin
1092 [ --enable-faad faad codec (default disabled)])
1093 if test "x${enable_faad}" = "xyes"
1096 [ --with-faad=PATH path to faad installation],[],[])
1097 if test "x${with_faad}" != "xno" -a "x${with_faad}" != "x"
1099 faad_CFLAGS="${faad_CFLAGS} -I${with_faad}/include"
1100 faad_LDFLAGS="${faad_LDFLAGS} -L${with_faad}/lib"
1102 faad_LDFLAGS="${faad_LDFLAGS}"
1104 AC_ARG_WITH(faad-tree,
1105 [ --with-faad-tree=PATH faad tree for static linking])
1106 if test "x${with_faad_tree}" != "x"
1108 AC_MSG_CHECKING(for libfaad.a in ${with_faad_tree})
1109 real_faad_tree="`cd ${with_faad_tree} 2>/dev/null && pwd`"
1110 if test "x${real_faad_tree}" = x
1112 dnl The given directory can't be found
1114 AC_MSG_ERROR([cannot cd to ${with_faad_tree}])
1116 if test -f "${real_faad_tree}/libfaad/.libs/libfaad.a"
1118 dnl Use a custom faad
1119 AC_MSG_RESULT(${real_faad_tree}/libfaad/.libs/libfaad.a)
1120 BUILTINS="${BUILTINS} codec/faad/faad"
1121 faad_LDFLAGS="${faad_LDFLAGS} ${real_faad_tree}/libfaad/.libs/libfaad.a"
1122 faad_CFLAGS="${faad_CFLAGS} -I${real_faad_tree}/include"
1124 dnl The given libfaad wasn't built
1126 AC_MSG_ERROR([cannot find ${real_faad_tree}/libfaad/.libs/libfaad.a, make sure you compiled libfaad in ${with_faad_tree}])
1129 CFLAGS="${save_CFLAGS} ${faad_CFLAGS}"
1130 LDFLAGS="${save_LDFLAGS} ${faad_LDFLAGS}"
1131 AC_CHECK_HEADERS(faad.h, ,
1132 [ AC_MSG_ERROR([Cannot find development headers for libfaad...]) ])
1133 AC_CHECK_LIB(faad, faacDecOpen, [
1134 PLUGINS="${PLUGINS} codec/faad/faad"
1135 faad_LDFLAGS="${faad_LDFLAGS} -lfaad" ],
1136 [ AC_MSG_ERROR([Cannot find libfaad library...]) ])
1137 LDFLAGS="${save_LDFLAGS}"
1138 CFLAGS="${save_CFLAGS}"
1148 [ --enable-mp4 MP4 demux module (default enabled)])
1149 if test "x${enable_mp4}" != "xno"
1152 PLUGINS="${PLUGINS} demux/mp4/mp4"
1153 AC_CHECK_HEADERS(zlib.h,
1154 [ mp4_LDFLAGS="${mp4_LDFLAGS} -lz" ] )
1158 dnl a52 AC3 decoder plugin
1161 [ --enable-a52 A/52 support with liba52 (default enabled)])
1162 if test "x${enable_a52}" != "xno"
1165 [ --with-a52=PATH a52 headers and libraries])
1166 AC_ARG_WITH(a52-tree,
1167 [ --with-a52-tree=PATH a52dec tree for static linking ],[],[])
1168 if test "x${with_a52_tree}" != "xno" -a "x${with_a52_tree}" != "x"
1170 real_a52_tree="`cd ${with_a52_tree} 2>/dev/null && pwd`"
1171 if test "x${real_a52_tree}" = "x"
1173 dnl The given directory can't be found
1175 AC_MSG_ERROR([${with_a52_tree} directory doesn't exist])
1177 dnl Use a custom a52dec
1178 AC_MSG_CHECKING(for a52.h in ${real_a52_tree}/include)
1179 if test -f ${real_a52_tree}/include/a52.h
1182 a52_CFLAGS="${a52_CFLAGS} -I${real_a52_tree}"
1183 a52_LDFLAGS="${a52_LDFLAGS} -L${real_a52_tree}/liba52/.libs"
1184 LDFLAGS="${save_LDFLAGS} ${a52_LDFLAGS}"
1185 AC_CHECK_LIB(a52, a52_free, [
1186 BUILTINS="${BUILTINS} codec/a52"
1187 a52_LDFLAGS="${a52_LDFLAGS} -la52 -lm"
1188 a52_CFLAGS="${a52_CFLAGS} -DUSE_A52DEC_TREE"
1190 if test -f ${real_a52_tree}/liba52/.libs/liba52.a
1192 AC_MSG_ERROR([make sure you have at least a52dec-0.7.3])
1194 AC_MSG_ERROR([the specified tree hasn't been compiled])
1197 LDFLAGS="${save_LDFLAGS}"
1200 AC_MSG_ERROR([the specified tree doesn't have a52.h])
1203 if test "x${with_a52}" = "x"
1208 test_LDFLAGS="-L${with_a52}/lib"
1209 test_CFLAGS="-I${with_a52}/include"
1211 save_CPPFLAGS="${CPPFLAGS}"
1212 save_LDFLAGS="${LDFLAGS}"
1213 CPPFLAGS="${save_CPPFLAGS} ${test_CFLAGS}"
1214 LDFLAGS="${save_LDFLAGS} ${test_LDFLAGS}"
1215 AC_CHECK_HEADERS(a52dec/a52.h, [
1216 AC_CHECK_LIB(a52, a52_free, [
1217 BUILTINS="${BUILTINS} codec/a52"
1218 a52_LDFLAGS="${a52_LDFLAGS} ${test_LDFLAGS} -la52 -lm"
1219 a52_CFLAGS="${a52_CFLAGS} ${test_CFLAGS}"
1221 if test "x${enable_dvbpsi}" != "x"
1223 AC_MSG_ERROR([Could not find a52 on your system: you may get it from http://liba52.sf.net])
1227 CPPFLAGS="${save_CPPFLAGS}"
1228 LDFLAGS="${save_LDFLAGS}"
1235 AC_ARG_ENABLE(cinepak,
1236 [ --enable-cinepak Cinepak decoder (default enabled)])
1237 if test "x${enable_cinepak}" != "xno"
1239 PLUGINS="${PLUGINS} codec/cinepak/cinepak"
1243 dnl ogg vorbis plugin
1245 AC_ARG_ENABLE(vorbis,
1246 [ --enable-vorbis Ogg/Vorbis decoder support (default enabled)])
1247 if test "x${enable_vorbis}" != "xno"
1249 AC_CHECK_HEADERS(ogg/ogg.h, [
1250 dnl disabled for the moment
1251 #PLUGINS="${PLUGINS} demux/ogg/ogg codec/vorbis/vorbis"
1252 vorbis_LDFLAGS="${vorbis_LDFLAGS} -lvorbis"
1260 [ --enable-dv DV decoder support (default disabled)])
1261 if test "x${enable_dv}" = "xyes"
1263 AC_CHECK_HEADERS(libdv/dv.h, [
1264 BUILTINS="${BUILTINS} codec/dv/dv"
1265 dv_LDFLAGS="${dv_LDFLAGS} -ldv"
1273 AC_ARG_WITH(,[Video plugins:])
1277 dnl (enabled by default except on win32)
1280 [ --enable-x11 X11 support (default enabled)])
1281 if test "x${enable_x11}" != "xno" &&
1282 (test "x${SYS}" != "xmingw32" || test "x${enable_x11}" = "xyes"); then
1283 CPPFLAGS="${save_CPPFLAGS} -I${x_includes}"
1284 AC_CHECK_HEADERS(X11/Xlib.h, [
1285 PLUGINS="${PLUGINS} video_output/x11/x11"
1286 x11_LDFLAGS="${x11_LDFLAGS} -L${x_libraries} -lX11 -lXext"
1287 x11_CFLAGS="${x11_CFLAGS} -I${x_includes}"
1289 CPPFLAGS="${save_CPPFLAGS}"
1294 dnl (enabled by default except on win32)
1296 AC_ARG_ENABLE(xvideo,
1297 [ --enable-xvideo XVideo support (default enabled)])
1298 if test "x${enable_xvideo}" != "xno" &&
1299 (test "x${SYS}" != "xmingw32" || test "x${enable_xvideo}" = "xyes"); then
1300 CPPFLAGS="${save_CPPFLAGS} -I${x_includes}"
1301 AC_CHECK_HEADERS(X11/extensions/Xv.h, [
1302 CFLAGS="${save_CFLAGS} -L${x_libraries} -lX11 -lXext"
1303 AC_CHECK_LIB(Xv_pic,XvPutImage,
1304 # We have Xv_pic, that's good, we can build an xvideo.so plugin !
1305 PLUGINS="${PLUGINS} video_output/x11/xvideo"
1306 xvideo_LDFLAGS="${xvideo_LDFLAGS} -L${x_libraries} -lX11 -lXext -lXv_pic"
1307 xvideo_CFLAGS="${xvideo_CFLAGS} -I${x_includes}",
1308 AC_CHECK_LIB(Xv,XvPutImage,
1309 # We don't have Xv_pic, but we have Xv, let's make xvideo.a as builtin
1310 PLUGINS="${PLUGINS} video_output/x11/xvideo"
1311 xvideo_LDFLAGS="${xvideo_LDFLAGS} -L${x_libraries} -lX11 -lXext -lXv"
1312 xvideo_CFLAGS="${xvideo_CFLAGS} -I${x_includes}",
1313 # Otherwise... well, do nothing.
1317 CFLAGS="${save_CFLAGS}"
1319 CPPFLAGS="${save_CPPFLAGS}")
1326 [ --enable-sdl SDL support (default enabled)])
1327 if test "x${enable_sdl}" != "xno"
1330 AC_ARG_WITH(sdl-config-path,
1331 [ --with-sdl-config-path=PATH sdl-config path (default search in \$PATH)],
1332 [ if test "x${with_sdl_config_path}" != "xno"
1334 SDL_PATH="${with_sdl_config_path}:${PATH}"
1336 AC_PATH_PROG(SDL12_CONFIG, sdl12-config, no, ${SDL_PATH})
1337 SDL_CONFIG="${SDL12_CONFIG}"
1338 SDL_HEADER="SDL12/SDL.h"
1339 if test "x${SDL_CONFIG}" = "xno"
1341 AC_PATH_PROG(SDL11_CONFIG, sdl11-config, no, ${SDL_PATH})
1342 SDL_CONFIG=${SDL11_CONFIG}
1343 SDL_HEADER="SDL11/SDL.h"
1345 if test "x${SDL_CONFIG}" = "xno"
1347 AC_PATH_PROG(SDL_CONFIG, sdl-config, no, ${SDL_PATH})
1348 SDL_HEADER="SDL/SDL.h"
1350 if test "x${SDL_CONFIG}" != "xno"
1352 PLUGINS="${PLUGINS} video_output/sdl audio_output/sdl"
1353 sdl_CFLAGS="${sdl_CFLAGS} `${SDL_CONFIG} --cflags`"
1354 sdl_LDFLAGS="${sdl_LDFLAGS} `${SDL_CONFIG} --libs | sed 's,-rdynamic,,'`"
1355 CPPFLAGS="${save_CPPFLAGS} ${sdl_CFLAGS}"
1356 AC_CHECK_HEADERS(${SDL_HEADER}, AC_DEFINE_UNQUOTED(SDL_INCLUDE_FILE,
1357 <${SDL_HEADER}>, Indicate whether we should use SDL/SDL.h or SDL11/SDL.h),
1358 [ AC_MSG_ERROR([The development package for SDL is not installed.
1359 Please install it and try again. Alternatively you can also configure with
1362 CPPFLAGS="${save_CPPFLAGS}"
1363 if expr 1.1.5 \> `${SDL_CONFIG} --version` >/dev/null
1365 AC_MSG_ERROR([The development package for SDL is not installed.
1366 Please install it and try again. Alternatively you can also configure with
1369 elif test "x${enable_sdl}" = "xyes"
1371 AC_MSG_ERROR([I couldn't find the SDL package. You can download libSDL
1372 from http://www.libsdl.org/, or configure with --disable-sdl. Have a nice day.
1378 dnl Windows DirectX module
1380 AC_ARG_ENABLE(directx,
1381 [ --enable-directx Win32 DirectX support (default enabled on Win32)])
1382 if test "x${enable_directx}" != "xno"
1384 if test "x${SYS}" = "xmingw32"
1386 AC_ARG_WITH(directx,
1387 [ --with-directx=PATH Win32 DirectX headers])
1388 if test "x${with_directx}" = "x"
1390 AC_CHECK_HEADERS(ddraw.h,
1391 [ PLUGINS="${PLUGINS} video_output/directx/directx"
1392 directx_LDFLAGS="${directx_LDFLAGS} -lgdi32" ])
1394 AC_MSG_CHECKING(for directX headers in ${with_directx})
1395 if test -f ${with_directx}/ddraw.h
1397 PLUGINS="${PLUGINS} video_output/directx/directx"
1398 directx_LDFLAGS="${directx_LDFLAGS} -lgdi32"
1399 directx_CFLAGS="${directx_CFLAGS} -I${with_directx}"
1403 AC_MSG_ERROR([Cannot find ${with_directx}/ddraw.h!])
1410 dnl Linux framebuffer module
1413 [ --enable-fb Linux framebuffer support (default enabled on Linux)])
1414 if test "x${enable_fb}" != "xno"
1416 AC_CHECK_HEADERS(linux/fb.h, [
1417 PLUGINS="${PLUGINS} video_output/fb"
1422 dnl Linux MGA module
1425 [ --enable-mga Linux kernel Matrox support (default disabled)],
1426 [ if test "x${enable_mga}" = "xyes"
1428 PLUGINS="${PLUGINS} video_output/mga/mga video_output/mga/xmga"
1434 AC_ARG_ENABLE(svgalib,
1435 [ --enable-svgalib SVGAlib support (default disabled)])
1436 if test "x${enable_svgalib}" = "xyes"
1438 PLUGINS="${PLUGINS} video_output/svgalib"
1439 svgalib_LDFLAGS="${svgalib_LDFLAGS} -lvgagl -lvga"
1446 [ --enable-ggi GGI support (default disabled)])
1447 if test "x${enable_ggi}" = "xyes"
1449 PLUGINS="${PLUGINS} video_output/ggi"
1450 ggi_LDFLAGS="${ggi_LDFLAGS} -lggi"
1452 [ --with-ggi=PATH path to libggi],
1453 [ if test "x${with_ggi}" != "xno" -a "x${with_ggi}" != "x"
1455 CFLAGS_GGI="${CFLAGS_GGI} -I${with_ggi}/include"
1456 ggi_LDFLAGS="${ggi_LDFLAGS} -L${with_ggi}/lib"
1463 AC_ARG_ENABLE(glide,
1464 [ --enable-glide Glide (3dfx) support (default disabled)])
1465 if test "x${enable_glide}" = "xyes"
1467 PLUGINS="${PLUGINS} video_output/glide"
1468 glide_LDFLAGS="${glide_LDFLAGS} -lglide2x -lm"
1469 glide_CFLAGS="${glide_CFLAGS} -I/usr/include/glide"
1471 [ --with-glide=PATH path to libglide],
1472 [ if test "x${with_glide}" != "xno" -a "x${with_glide}" != "x"
1474 glide_CFLAGS="${glide_CFLAGS} -I${with_glide}/include"
1475 glide_LDFLAGS="${glide_LDFLAGS} -L${with_glide}/lib"
1483 [ --enable-aa aalib output (default disabled)])
1484 if test "x${enable_aa}" = "xyes"
1486 AC_CHECK_HEADER(aalib.h,have_aa="true",have_aa="false")
1487 if test "x${have_aa}" = "xtrue"
1489 PLUGINS="${PLUGINS} video_output/aa"
1490 aa_LDFLAGS="${aa_LDFLAGS} -laa"
1498 AC_ARG_WITH(,[Audio plugins:])
1501 dnl OSS /dev/dsp module (enabled by default except on win32)
1504 [ --enable-oss Linux OSS /dev/dsp support (enabled on Linux)])
1506 if test "x${enable_oss}" != "xno" &&
1507 (test "x${SYS}" != "xmingw32" || test "x${enable_oss}" = "xyes")
1509 AC_CHECK_HEADERS(soundcard.h sys/soundcard.h machine/soundcard.h, [
1510 PLUGINS="${PLUGINS} audio_output/oss"
1511 AC_CHECK_LIB(ossaudio,main,oss_LDFLAGS="${oss_LDFLAGS} -lossaudio")
1519 [ --enable-esd Esound library support (default disabled)],
1520 [if test "x${enable_esd}" = "xyes"
1522 AC_PATH_PROG(ESD_CONFIG, esd-config, no)
1523 if test "x${ESD_CONFIG}" != "xno"
1525 PLUGINS="${PLUGINS} audio_output/esd"
1526 esd_CFLAGS="${esd_CFLAGS} `${ESD_CONFIG} --cflags`"
1527 esd_LDFLAGS="${esd_LDFLAGS} `${ESD_CONFIG} --libs`"
1535 [ --enable-arts aRts sound server (default disabled)],
1536 [if test "x${enable_arts}" = "xyes"
1538 AC_PATH_PROG(ARTS_CONFIG, artsc-config, no)
1539 if test "x${ARTS_CONFIG}" != "xno"
1541 PLUGINS="${PLUGINS} audio_output/arts"
1542 arts_CFLAGS="${arts_CFLAGS} `${ARTS_CONFIG} --cflags`"
1543 arts_LDFLAGS="${arts_LDFLAGS} `${ARTS_CONFIG} --libs `"
1551 [ --enable-alsa ALSA sound support for Linux (default disabled)],
1552 [if test "x${enable_alsa}" = "xyes"
1554 AC_CHECK_HEADER(alsa/asoundlib.h, AC_CHECK_LIB(asound, main, have_alsa="true", have_alsa="false"),have_alsa="false")
1555 if test "x${have_alsa}" = "xtrue"
1557 PLUGINS="${PLUGINS} audio_output/alsa"
1558 alsa_LDFLAGS="${alsa_LDFLAGS} -lasound -lm -ldl"
1563 dnl win32 waveOut plugin
1565 AC_ARG_ENABLE(waveout,
1566 [ --enable-waveout Win32 waveOut module (default enabled on Win32)])
1567 if test "x${enable_waveout}" != "xno" -a "x${SYS}" = "xmingw32"
1569 PLUGINS="${PLUGINS} audio_output/waveout"
1570 waveout_LDFLAGS="-lwinmm"
1574 dnl Interface plugins
1577 AC_ARG_WITH(,[Interface plugins:])
1579 dnl special case for BeOS
1580 if test "x${SYS}" = "xbeos"
1582 PLUGINS="${PLUGINS} gui/beos/beos"
1589 [ --enable-gtk Gtk+ support (default enabled)])
1590 if test "x${enable_gtk}" != "xno"
1593 AC_ARG_WITH(gtk-config-path,
1594 [ --with-gtk-config-path=PATH gtk-config path (default search in \$PATH)],
1595 [ if test "x${with_gtk_config_path}" != "xno"
1597 GTK_PATH="${with_gtk_config_path}:${PATH}"
1599 # look for gtk-config
1600 AC_PATH_PROG(GTK12_CONFIG, gtk12-config, no, ${GTK_PATH})
1601 GTK_CONFIG=${GTK12_CONFIG}
1602 if test "x${GTK_CONFIG}" = "xno"
1604 AC_PATH_PROG(GTK_CONFIG, gtk-config, no, ${GTK_PATH})
1606 if test "x${GTK_CONFIG}" != "xno"
1608 if expr 1.2.0 \> `${GTK_CONFIG} --version` >/dev/null
1610 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.])
1612 gtk_CFLAGS="${gtk_CFLAGS} `${GTK_CONFIG} --cflags gtk gthread`"
1613 gtk_LDFLAGS="${gtk_LDFLAGS} `${GTK_CONFIG} --libs gtk gthread | sed 's,-rdynamic,,'`"
1614 # now look for the gtk.h header
1615 CPPFLAGS="${save_CPPFLAGS} ${gtk_CFLAGS}"
1616 ac_cv_gtk_headers=yes
1617 AC_CHECK_HEADERS(gtk/gtk.h glib.h gdk/gdk.h, , [
1618 ac_cv_gtk_headers=no
1619 echo "Cannot find gtk development headers."
1621 if test "x${ac_cv_gtk_headers}" = "xyes"
1623 PLUGINS="${PLUGINS} gui/gtk/gtk"
1625 ALIASES="${ALIASES} gvlc"
1627 CPPFLAGS="${save_CPPFLAGS}"
1632 dnl Familiar module uses Gtk+ library
1634 AC_ARG_ENABLE(familiar,
1635 [ --enable-familiar Familiar Gtk+ support (default disabled)])
1636 if test "x${enable_familiar}" = "xyes"
1639 AC_ARG_WITH(gtk-config-path,
1640 [ --with-gtk-config-path=PATH gtk-config path (default search in \$PATH)],
1641 [ if test "x${with_gtk_config_path}" != "xno"
1643 GTK_PATH="${with_gtk_config_path}:${PATH}"
1645 # look for gtk-config
1646 AC_PATH_PROG(GTK12_CONFIG, gtk12-config, no, ${GTK_PATH})
1647 GTK_CONFIG=${GTK12_CONFIG}
1648 if test "x${GTK_CONFIG}" = "xno"
1650 AC_PATH_PROG(GTK_CONFIG, gtk-config, no, ${GTK_PATH})
1652 if test "x${GTK_CONFIG}" != "xno"
1654 if expr 1.2.0 \> `${GTK_CONFIG} --version` >/dev/null
1656 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.])
1658 familiar_CFLAGS="${familiar_CFLAGS} `${GTK_CONFIG} --cflags gtk gthread`"
1659 familiar_LDFLAGS="${familiar_LDFLAGS} `${GTK_CONFIG} --libs gtk gthread | sed 's,-rdynamic,,'`"
1660 # now look for the gtk.h header
1661 CPPFLAGS="${save_CPPFLAGS} ${familiar_CFLAGS}"
1662 ac_cv_gtk_headers=yes
1663 AC_CHECK_HEADERS(gtk/gtk.h glib.h gdk/gdk.h, , [
1664 ac_cv_gtk_headers=no
1665 echo "Cannot find gtk development headers."
1667 if test "x${ac_cv_gtk_headers}" = "xyes"
1669 PLUGINS="${PLUGINS} gui/familiar/familiar"
1672 CPPFLAGS="${save_CPPFLAGS}"
1679 AC_ARG_ENABLE(gnome,
1680 [ --enable-gnome Gnome interface support (default disabled)],
1681 [if test "x${enable_gnome}" = "xyes"; then
1682 # look for gnome-config
1683 AC_PATH_PROG(GNOME_CONFIG, gnome-config, no)
1684 if test -x ${GNOME_CONFIG}
1686 gnome_CFLAGS="${gnome_CFLAGS} `${GNOME_CONFIG} --cflags gtk gnomeui`"
1687 gnome_LDFLAGS="${gnome_LDFLAGS} `${GNOME_CONFIG} --libs gnomeui | sed 's,-rdynamic,,'`"
1689 # now look for the gnome.h header
1690 CPPFLAGS="${save_CPPFLAGS} ${gnome_CFLAGS}"
1691 AC_CHECK_HEADERS(gnome.h, [
1692 PLUGINS="${PLUGINS} gui/gtk/gnome"
1694 ALIASES="${ALIASES} gnome-vlc"
1696 AC_MSG_ERROR([Can't find gnome headers. Please install the gnome
1697 developement tools or remove the --enable-gnome option])
1699 CPPFLAGS="${save_CPPFLAGS}"
1706 [ --enable-qt Qt interface support (default disabled)],
1707 [if test "x${enable_qt}" = "xyes"; then
1708 PLUGINS="${PLUGINS} gui/qt/qt"
1709 ALIASES="${ALIASES} qvlc"
1710 qt_LDFLAGS="${qt_LDFLAGS} -lqt -L${QTDIR}/lib"
1711 qt_CFLAGS="${qt_CFLAGS} -I/usr/include/qt -I${QTDIR}/include"
1712 if test -x ${QTDIR}/bin/moc
1714 MOC=${QTDIR}/bin/moc
1724 [ --enable-kde KDE interface support (default disabled)],
1725 [if test "x${enable_kde}" = "xyes"; then
1726 PLUGINS="${PLUGINS} gui/kde/kde"
1727 ALIASES="${ALIASES} kvlc"
1728 kde_LDFLAGS="${kde_LDFLAGS} -L${KDEDIR}/lib -lkfile"
1729 kde_CFLAGS="${kde_CFLAGS} -I/usr/include/kde -I/usr/include/qt"
1730 kde_CFLAGS="${kde_CFLAGS} -I${KDEDIR}/include -I${QTDIR}/include"
1731 if test -x ${QTDIR}/bin/moc
1733 MOC=${QTDIR}/bin/moc
1740 dnl Qt embedded module
1743 [ --enable-qte Qt embedded interface support (default disabled)],
1744 [if test "x${enable_qte}" = "xyes"; then
1745 PLUGINS="${PLUGINS} gui/qte/qte"
1746 qte_LDFLAGS="${qte_LDFLAGS} -lqte -L${QTEDIR}/lib"
1747 qte_CFLAGS="${qte_CFLAGS} -I/usr/include/qte -I${QTEDIR}/include"
1748 if test -x ${QTEDIR}/bin/moc
1750 MOC=${QTEDIR}/bin/moc
1760 AC_ARG_ENABLE(macosx,
1761 [ --enable-macosx MacOS X support (default enabled on MacOS X)],
1762 [if test "x${enable_macosx}" = "xyes"
1764 BUILTINS="${BUILTINS} gui/macosx/macosx"
1765 macosx_LDFLAGS="${macosx_LDFLAGS} -framework CoreAudio -framework AudioToolbox -framework IOKit -framework Cocoa -framework Carbon -framework AGL -framework QuickTime -lobjc -ObjC"
1767 [AC_CHECK_HEADERS(Cocoa/Cocoa.h,
1768 BUILTINS="${BUILTINS} gui/macosx/macosx"
1769 macosx_LDFLAGS="${macosx_LDFLAGS} -framework CoreAudio -framework AudioToolbox -framework IOKit -framework Cocoa -framework Carbon -framework AGL -framework QuickTime -lobjc -ObjC"
1776 [ --enable-qnx QNX RTOS support (default enabled on QNX RTOS)])
1777 if test "x${enable_qnx}" != "xno"
1779 AC_CHECK_HEADERS(Ph.h, [
1780 PLUGINS="${PLUGINS} gui/qnx/qnx"
1781 qnx_LDFLAGS="${qnx_LDFLAGS} -lasound -lph"
1786 dnl Windows native interface module, built with Borland C++ Builder
1788 AC_ARG_ENABLE(intfwin,
1789 [ --enable-intfwin Win32 interface support (default disabled)],
1790 [ if test "x${enable_intfwin}" != "xno"
1792 AC_ARG_WITH(bcbuilder,
1793 [ --with-bcbuilder=PATH Borland C++ Builder installation path])
1794 if test "x${with_bcbuilder}" != "x"
1796 BCBUILDER="${with_bcbuilder}"
1798 PLUGINS="${PLUGINS} gui/win32/win32"
1804 AC_ARG_ENABLE(ncurses,
1805 [ --enable-ncurses ncurses interface support (default disabled)],
1806 [if test "x${enable_ncurses}" = "xyes"; then
1807 PLUGINS="${PLUGINS} gui/ncurses/ncurses"
1808 ncurses_LDFLAGS="${ncurses_LDFLAGS} -lncurses"
1815 [ --enable-xosd xosd interface support (default disabled)])
1816 if test "x${enable_xosd}" = "xyes"
1818 AC_CHECK_HEADER(xosd.h, have_xosd="true", have_xosd="false")
1819 AC_TRY_COMPILE([#include <xosd.h>],
1820 [void foo() { xosd_init("foo","bar",12,XOSD_top,2,12,42); }],,
1821 AC_DEFINE(HAVE_OLD_XOSD_H, 1, Define if <xosd.h> is pre-1.0.0))
1822 if test "x${have_xosd}" = "xtrue"
1824 PLUGINS="${PLUGINS} visualization/xosd/xosd"
1825 xosd_LDFLAGS="${xosd_LDFLAGS} -lxosd"
1833 [ --enable-lirc lirc support (default disabled)])
1834 if test "x${enable_lirc}" = "xyes"
1836 AC_CHECK_HEADER(lirc/lirc_client.h, AC_CHECK_LIB(lirc_client, lirc_init, have_lirc="true", have_lirc="false"),have_lirc="false")
1837 if test "x${have_lirc}" = "xtrue"
1839 PLUGINS="${PLUGINS} control/lirc/lirc"
1840 lirc_LDFLAGS="${lirc_LDFLAGS} -llirc_client"
1844 AC_ARG_WITH(,[Misc options:])
1847 dnl Endianness check, AC_C_BIGENDIAN doesn't work if we are cross-compiling
1849 dnl We give the user the opportunity to specify
1850 dnl --with-words=big or --with-words=little ; otherwise, try to guess
1853 [ --with-words=endianness set endianness (big or little)])
1854 case "x${with_words}" in
1856 ac_cv_c_bigendian=yes
1859 ac_cv_c_bigendian=no
1862 dnl Try to guess endianness by matching patterns on a compiled
1863 dnl binary, by looking for an ASCII or EBCDIC string
1864 AC_CACHE_CHECK([whether the byte order is big-endian],
1865 [ac_cv_c_bigendian],
1866 [ac_cv_c_bigendian="unknown"
1867 [cat >conftest.c <<EOF
1868 short am[] = { 0x4249, 0x4765, 0x6e44, 0x6961, 0x6e53, 0x7953, 0 };
1869 short ai[] = { 0x694c, 0x5454, 0x656c, 0x6e45, 0x6944, 0x6e61, 0 };
1870 void _a(void) { char*s = (char*)am; s = (char *)ai; }
1871 short ei[] = { 0x89D3, 0xe3e3, 0x8593, 0x95c5, 0x89c4, 0x9581, 0 };
1872 short em[] = { 0xc2c9, 0xc785, 0x95c4, 0x8981, 0x95e2, 0xa8e2, 0 };
1873 void _e(void) { char*s = (char*)em; s = (char*)ei; }
1874 int main(void) { _a(); _e(); return 0; }
1877 if test -f conftest.c
1879 if ${CC-cc} -c conftest.c -o conftest.o >config.log 2>&1 \
1880 && test -f conftest.o
1882 if test "`strings conftest.o | grep BIGenDianSyS`"
1884 ac_cv_c_bigendian="yes"
1886 if test "`strings conftest.o | grep LiTTleEnDian`"
1888 ac_cv_c_bigendian="no"
1893 if test "x${ac_cv_c_bigendian}" = "xunknown"
1895 AC_MSG_ERROR([Could not guess endianness, please use --with-words])
1899 dnl Now we know what to use for endianness, just put it in the header
1900 if test "${ac_cv_c_bigendian}" = "yes"
1902 AC_DEFINE(WORDS_BIGENDIAN, 1, big endian system)
1911 AC_ARG_ENABLE(gprof,
1912 [ --enable-gprof gprof profiling (default disabled)],
1913 [ if test "x${enable_gprof}" = "xyes"
1921 AC_ARG_ENABLE(cprof,
1922 [ --enable-cprof cprof profiling (default disabled)],
1923 [ if test "x${enable_cprof}" = "xyes"
1925 save_LDFLAGS="${save_LDFLAGS} -lcprof"; LDFLAGS="${save_LDFLAGS}"
1932 dnl GNU portable threads
1935 [ --enable-pth GNU Pth support (default disabled)],
1936 [ if test "x${enable_pth}" = "xyes"; then
1937 AC_CHECK_LIB(pth,pth_init)
1938 AC_EGREP_HEADER(pth_init,pth.h,[
1939 AC_DEFINE(PTH_INIT_IN_PTH_H, 1,
1940 Define if <pth.h> defines pth_init)
1949 [ --enable-st State Threads (default disabled)],
1950 [ if test "x${enable_st}" = "xyes"; then
1951 AC_CHECK_LIB(st,st_init)
1952 AC_EGREP_HEADER(st_init,st.h,[
1953 AC_DEFINE(ST_INIT_IN_ST_H, 1,
1954 Define if <st.h> defines st_init)
1959 vlc_LDFLAGS="${vlc_LDFLAGS} ${THREAD_LIB}"
1960 plugins_LDFLAGS="${plugins_LDFLAGS} ${THREAD_LIB}"
1966 AC_ARG_ENABLE(mozilla,
1967 [ --enable-mozilla build a vlc-based Mozilla plugin (default disabled)])
1968 if test "x${enable_mozilla}" = "xyes"
1970 AC_PATH_PROG(MOZILLA_CONFIG, mozilla-config, no)
1971 if test "x${MOZILLA_CONFIG}" != "xno"
1973 if test "x${SYS}" != "xmingw32"; then
1974 LDFLAGS="${save_LDFLAGS} -L${x_libraries}"
1975 AC_CHECK_LIB(Xt,XtStrings,[
1976 mozilla_LDFLAGS="${mozilla_LDFLAGS} -L${x_libraries} -lXt"
1978 LDFLAGS="${save_LDFLAGS}"
1981 mozilla_CFLAGS="${mozilla_CFLAGS} `${MOZILLA_CONFIG} --cflags plugin java --defines | xargs`"
1982 dnl Workaround for http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=150490
1983 mozilla_LDFLAGS="${mozilla_LDFLAGS} `${MOZILLA_CONFIG} --libs | sed 's#-I\(.*\)/mozilla/\([^ ]*\)#-I\1/\2 -I\1/mozilla/\2#g'`"
1990 if test "x${NEED_GTK_MAIN}" != "xno"
1992 PLUGINS="${PLUGINS} misc/gtk_main"
1993 gtk_main_CFLAGS="${gtk_main_CFLAGS} ${gtk_CFLAGS} ${familiar_CFLAGS} ${gnome_CFLAGS}"
1994 gtk_main_LDFLAGS="${gtk_main_LDFLAGS} ${gtk_LDFLAGS} ${familiar_LDFLAGS} ${gnome_LDFLAGS}"
1998 dnl Plug-ins - this must be AT THE END
2000 AC_ARG_ENABLE(plugins,
2001 [ --disable-plugins make all plug-ins built-in (default plug-ins enabled)],
2002 [if test "x${enable_plugins}" = "xno"
2004 BUILTINS="${BUILTINS} ${PLUGINS}"
2008 dnl Automagically disable plug-ins if there is no system support for .so files
2009 dnl don't forget vlc-win32 still can load .so as plugins
2010 if test "x${ac_cv_header_dlfcn_h}" = "xno" -a "x${ac_cv_header_image_h}" = "xno" -a "x${SYS}" != "xmingw32"
2012 echo "*** Your system doesn't have plug-in support. All plug-ins will be compiled"
2014 BUILTINS="${BUILTINS} ${PLUGINS}"
2019 dnl Stuff used by the program
2021 AC_DEFINE_UNQUOTED(VERSION_MESSAGE, "vlc ${VERSION} ${CODENAME} Copyright 1996-2002 VideoLAN", [Simple version string])
2022 AC_DEFINE_UNQUOTED(COPYRIGHT_MESSAGE, "VideoLAN Client - version ${VERSION} ${CODENAME} - (c) 1996-2002 VideoLAN", [Copyright string])
2023 AC_DEFINE_UNQUOTED(CONFIGURE_LINE, "${CONFIGURE_LINE}", [The ./configure command line])
2025 VLC_SYMBOL="`echo ${VERSION} | tr .- __`"
2026 AC_DEFINE_UNQUOTED(MODULE_SUFFIX, "__${VLC_SYMBOL}", [String suffix for module functions])
2027 AC_DEFINE_UNQUOTED(MODULE_SYMBOL, ${VLC_SYMBOL}, [Symbol suffix for module functions])
2029 DATA_PATH="${ac_tool_prefix}/share/videolan"
2031 PLUGIN_PATH="${ac_tool_prefix}/share/videolan"
2032 AC_SUBST(PLUGIN_PATH)
2037 CPPFLAGS="${save_CPPFLAGS}"
2038 CFLAGS="${save_CFLAGS}"
2039 LDFLAGS="${save_LDFLAGS}"
2042 dnl Create the vlc-config script
2044 libvlc_LDFLAGS="${vlc_LDFLAGS} ${builtins_LDFLAGS}"
2045 for i in `echo ${BUILTINS} | sed -e 's#[^ ]*/##g'` ; do libvlc_LDFLAGS="${libvlc_LDFLAGS} ${libdir}/vlc/${i}.a `eval echo '$'{${i}_LDFLAGS}`" ; done
2046 AC_SUBST(libvlc_LDFLAGS)
2049 dnl Configuration is finished
2068 AC_SUBST(NEED_GETOPT)
2071 AC_SUBST(CFLAGS_OPTIM)
2072 AC_SUBST(CFLAGS_OPTIM_NODEBUG)
2075 AC_SUBST(vlc_CFLAGS)
2076 AC_SUBST(plugins_CFLAGS)
2077 AC_SUBST(builtins_CFLAGS)
2078 AC_SUBST(mozilla_CFLAGS)
2080 AC_SUBST(a52_CFLAGS)
2081 AC_SUBST(arts_CFLAGS)
2082 AC_SUBST(i420_yuy2_mmx_CFLAGS)
2083 AC_SUBST(dvd_CFLAGS)
2084 AC_SUBST(dvdread_CFLAGS)
2085 AC_SUBST(dvdplay_CFLAGS)
2086 AC_SUBST(ts_dvbpsi_CFLAGS)
2087 AC_SUBST(directx_CFLAGS)
2088 AC_SUBST(esd_CFLAGS)
2089 AC_SUBST(familiar_CFLAGS)
2090 AC_SUBST(faad_CFLAGS)
2091 AC_SUBST(ffmpeg_CFLAGS)
2092 AC_SUBST(glide_CFLAGS)
2093 AC_SUBST(gnome_CFLAGS)
2094 AC_SUBST(gtk_CFLAGS)
2095 AC_SUBST(gtk_main_CFLAGS)
2096 AC_SUBST(kde_CFLAGS)
2097 AC_SUBST(idctaltivec_CFLAGS)
2098 AC_SUBST(macosx_CFLAGS)
2099 AC_SUBST(mad_CFLAGS)
2100 AC_SUBST(memcpyaltivec_CFLAGS)
2101 AC_SUBST(motionaltivec_CFLAGS)
2103 AC_SUBST(qte_CFLAGS)
2104 AC_SUBST(sdl_CFLAGS)
2105 AC_SUBST(svgalib_CFLAGS)
2106 AC_SUBST(x11_CFLAGS)
2107 AC_SUBST(xvideo_CFLAGS)
2109 AC_SUBST(vlc_LDFLAGS)
2110 AC_SUBST(plugins_LDFLAGS)
2111 AC_SUBST(builtins_LDFLAGS)
2112 AC_SUBST(mozilla_LDFLAGS)
2114 AC_SUBST(a52_LDFLAGS)
2115 AC_SUBST(aa_LDFLAGS)
2116 AC_SUBST(alsa_LDFLAGS)
2117 AC_SUBST(arts_LDFLAGS)
2118 AC_SUBST(beos_LDFLAGS)
2119 AC_SUBST(i420_rgb_LDFLAGS)
2120 AC_SUBST(directx_LDFLAGS)
2121 AC_SUBST(dv_LDFLAGS)
2122 AC_SUBST(dvd_LDFLAGS)
2123 AC_SUBST(dvdread_LDFLAGS)
2124 AC_SUBST(dvdplay_LDFLAGS)
2125 AC_SUBST(ts_dvbpsi_LDFLAGS)
2126 AC_SUBST(audio_LDFLAGS)
2127 AC_SUBST(esd_LDFLAGS)
2128 AC_SUBST(familiar_LDFLAGS)
2129 AC_SUBST(distort_LDFLAGS)
2130 AC_SUBST(faad_LDFLAGS)
2131 AC_SUBST(ffmpeg_LDFLAGS)
2132 AC_SUBST(mp4_LDFLAGS)
2133 AC_SUBST(ggi_LDFLAGS)
2134 AC_SUBST(glide_LDFLAGS)
2135 AC_SUBST(gnome_LDFLAGS)
2136 AC_SUBST(gtk_LDFLAGS)
2137 AC_SUBST(gtk_main_LDFLAGS)
2138 AC_SUBST(http_LDFLAGS)
2139 AC_SUBST(idctaltivec_LDFLAGS)
2140 AC_SUBST(imdct_LDFLAGS)
2141 AC_SUBST(imdct3dn_LDFLAGS)
2142 AC_SUBST(imdctsse_LDFLAGS)
2143 AC_SUBST(ipv4_LDFLAGS)
2144 AC_SUBST(ipv6_LDFLAGS)
2145 AC_SUBST(kde_LDFLAGS)
2146 AC_SUBST(lirc_LDFLAGS)
2147 AC_SUBST(macosx_LDFLAGS)
2148 AC_SUBST(mad_LDFLAGS)
2149 AC_SUBST(memcpyaltivec_LDFLAGS)
2150 AC_SUBST(motionaltivec_LDFLAGS)
2151 AC_SUBST(ncurses_LDFLAGS)
2152 AC_SUBST(oss_LDFLAGS)
2153 AC_SUBST(qnx_LDFLAGS)
2154 AC_SUBST(qt_LDFLAGS)
2155 AC_SUBST(qte_LDFLAGS)
2156 AC_SUBST(rc_LDFLAGS)
2157 AC_SUBST(sdl_LDFLAGS)
2158 AC_SUBST(svgalib_LDFLAGS)
2159 AC_SUBST(vcd_LDFLAGS)
2160 AC_SUBST(vorbis_LDFLAGS)
2161 AC_SUBST(waveout_LDFLAGS)
2162 AC_SUBST(x11_LDFLAGS)
2163 AC_SUBST(xvideo_LDFLAGS)
2164 AC_SUBST(xosd_LDFLAGS)
2166 AC_OUTPUT([Makefile.config Makefile.opts po/Makefile.in vlc-config])
2167 chmod a+x vlc-config
2171 --------------------
2172 vlc version : ${VERSION}
2174 architecture : ${ARCH}
2175 optimizations : ${OPTIMS}
2177 debug mode : ${DEBUG}
2178 release : ${RELEASE}
2179 profiling : ${PROFILING}
2180 need builtin getopt : ${NEED_GETOPT}
2181 modules : (see Makefile.config)
2182 mozilla plugin : ${MOZILLA}
2183 vlc aliases :${ALIASES}
2185 You may now tune Makefile.config and Makefile.opts at your convenience, for
2186 instance to choose which modules get compiled as plugins, or tune CFLAGS.
2188 To build vlc and its plugins, type \`${VLC_MAKE}'.