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"
56 AM_GNU_GETTEXT_VERSION(0.10.40)
62 dnl Check for compiler properties
67 dnl Set default LDFLAGS
69 vlc_LDFLAGS="${LDFLAGS}"
72 dnl Check the operating system
74 case "x${target_os}" in
83 save_CFLAGS="${save_CFLAGS} -pthread"; CFLAGS="${save_CFLAGS}"
84 dvd_LDFLAGS="${dvd_LDFLAGS} -ldvd"
85 vcd_LDFLAGS="${vcd_LDFLAGS} -ldvd"
89 save_CFLAGS="${save_CFLAGS} -pthread"; CFLAGS="${save_CFLAGS}"
93 save_CFLAGS="${save_CFLAGS} -no-cpp-precomp"; CFLAGS="${save_CFLAGS}"
94 vlc_LDFLAGS="${vlc_LDFLAGS} -all_load"
98 AC_CHECK_TOOL(WINDRES, windres, :)
99 save_CFLAGS="${save_CFLAGS} -fnative-struct -D_OFF_T_ -D_off_t=long"; CFLAGS="${save_CFLAGS}"
100 vlc_LDFLAGS="${vlc_LDFLAGS} -mwindows -Xlinker --force-exe-suffix"
101 vlc_LDFLAGS="${vlc_LDFLAGS} -lws2_32 -lnetapi32"
102 ipv4_LDFLAGS="${ipv4_LDFLAGS} -lws2_32"
103 ipv6_LDFLAGS="${ipv6_LDFLAGS} -lws2_32"
104 http_LDFLAGS="${http_LDFLAGS} -lws2_32"
105 rc_LDFLAGS="${rc_LDFLAGS} -lws2_32"
109 x11_LDFLAGS="${x11_LDFLAGS} -lsocket"
110 xvideo_LDFLAGS="${xvideo_LDFLAGS} -lsocket"
117 save_CFLAGS="${save_CFLAGS} -Wno-multichar -Wno-ctor-dtor-privacy -Woverloaded-virtual"; CFLAGS="${save_CFLAGS}"
118 vlc_LDFLAGS="${vlc_LDFLAGS} -lbe"
119 plugins_LDFLAGS="${plugins_LDFLAGS} -nostart"
120 beos_LDFLAGS="${beos_LDFLAGS} -lbe -lgame -lroot -ltracker -lstdc++.r4"
121 ipv4_LDFLAGS="${ipv4_LDFLAGS} -lbind"
128 dnl Flags for plugin compilation
129 if test "x${SYS}" = "xmingw32"
131 plugins_CFLAGS="${plugins_CFLAGS} -fnative-struct"
133 plugins_CFLAGS="${plugins_CFLAGS} -fPIC"
134 plugins_LDFLAGS="${plugins_LDFLAGS} -fPIC"
137 dnl The -DSYS_FOO flag
138 save_CFLAGS="${save_CFLAGS} -DSYS_`echo ${SYS} | sed -e 's/-.*//' | tr 'abcdefghijklmnopqrstuvwxyz.' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`"; CFLAGS="${save_CFLAGS}"
140 dnl Check for system libs needed
141 AC_CHECK_FUNCS(gettimeofday select strerror strtod strtol isatty vasprintf swab sigrelse getpwuid memalign posix_memalign gethostbyname2 atoll strndup)
143 AC_CHECK_FUNC(connect,,[
144 AC_CHECK_LIB(socket,connect,
145 ipv4_LDFLAGS="${ipv4_LDFLAGS} -lsocket"
146 vlc_LDFLAGS="${vlc_LDFLAGS} -lsocket"
148 AC_CHECK_FUNC(send,,[
149 AC_CHECK_LIB(socket,send,
150 http_LDFLAGS="${http_LDFLAGS} -lsocket"
152 AC_CHECK_FUNC(gethostbyname,,[
153 AC_CHECK_LIB(nsl,gethostbyname,ipv4_LDFLAGS="${ipv4_LDFLAGS} -lnsl",[
154 AC_CHECK_LIB(bind,gethostbyname,ipv4_LDFLAGS="${ipv4_LDFLAGS} -lbind")])
157 AC_CHECK_FUNC(nanosleep,have_nanosleep=1,[
158 AC_CHECK_LIB(rt,nanosleep,
159 [pthread_LDFLAGS="${pthread_LDFLAGS} -lrt"; have_nanosleep=1],
160 [AC_CHECK_LIB(posix4,nanosleep,
161 [pthread_LDFLAGS="${pthread_LDFLAGS} -lposix4"; have_nanosleep=1])]
164 if test x$have_nanosleep = x1; then
165 AC_DEFINE(HAVE_NANOSLEEP, 1,
166 Define if nanosleep is available.)
169 AC_CHECK_LIB(rt,sem_init, [pthread_LDFLAGS="${pthread_LDFLAGS} -lrt"])
171 AC_CHECK_FUNC(inet_aton,,[
172 AC_CHECK_LIB(resolv,inet_aton,ipv4_LDFLAGS="${ipv4_LDFLAGS} -lresolv")
174 AC_CHECK_FUNC(textdomain,,[
175 AC_CHECK_LIB(intl,textdomain,
176 vlc_LDFLAGS="${vlc_LDFLAGS} -lintl"
177 plugins_LDFLAGS="${plugins_LDFLAGS} -lintl"
183 AC_CHECK_FUNC(getopt_long,[AC_DEFINE(HAVE_GETOPT_LONG,1,long getopt support)],
184 [ # FreeBSD has a gnugetopt library for this:
185 AC_CHECK_LIB([gnugetopt],[getopt_long],
186 [AC_DEFINE(HAVE_GETOPT_LONG,1,getopt support) vlc_LDFLAGS="${vlc_LDFLAGS} -lgnugetopt"],
190 AC_CHECK_LIB(dl,dlopen,vlc_LDFLAGS="${vlc_LDFLAGS} -ldl")
192 imdct_LDFLAGS="${imdct_LDFLAGS} -lm"
193 filter_distort_LDFLAGS="${filter_distort_LDFLAGS} -lm")
195 ffmpeg_LDFLAGS="${ffmpeg_LDFLAGS} -lm"
196 imdct_LDFLAGS="${imdct_LDFLAGS} -lm"
197 imdct3dn_LDFLAGS="${imdct3dn_LDFLAGS} -lm"
198 imdctsse_LDFLAGS="${imdctsse_LDFLAGS} -lm"
199 i420_rgb_LDFLAGS="${i420_rgb_LDFLAGS} -lm"
200 faad_LDFLAGS="${faad_LDFLAGS} -lm"
203 dnl Check for pthreads - borrowed from XMMS
205 if test "x${THREAD_LIB}" = "xerror"; then
206 AC_CHECK_LIB(pthread,main,THREAD_LIB="-lpthread ${pthread_LDFLAGS}")
208 if test "x${THREAD_LIB}" = "xerror"; then
209 AC_CHECK_LIB(pthreads,main,THREAD_LIB="-lpthreads ${pthread_LDFLAGS}")
211 if test "x${THREAD_LIB}" = "xerror"; then
212 AC_CHECK_LIB(c_r,main,THREAD_LIB="-lc_r")
214 if test "x${THREAD_LIB}" = "xerror"; then
215 AC_CHECK_FUNC(pthread_mutex_lock)
219 dnl Check for cthreads under GNU/Hurd for instance
220 AC_CHECK_LIB(threads,cthread_fork,THREAD_LIB="-lthreads")
222 dnl Check for misc headers
223 AC_EGREP_HEADER(pthread_cond_t,pthread.h,[
224 AC_DEFINE(PTHREAD_COND_T_IN_PTHREAD_H, 1,
225 Define if <pthread.h> defines pthread_cond_t.)])
226 AC_EGREP_HEADER(pthread_once,pthread.h,[
227 AC_DEFINE(PTHREAD_ONCE_IN_PTHREAD_H, 1,
228 Define if <pthread.h> defines pthread_once.)])
229 AC_EGREP_HEADER(strncasecmp,strings.h,[
230 AC_DEFINE(STRNCASECMP_IN_STRINGS_H, 1,
231 Define if <strings.h> defines strncasecmp.)])
233 dnl Check for headers
234 AC_CHECK_HEADERS(stdint.h getopt.h strings.h inttypes.h sys/int_types.h)
235 AC_CHECK_HEADERS(sys/sockio.h fcntl.h sys/types.h sys/time.h sys/times.h)
236 AC_CHECK_HEADERS(dlfcn.h image.h)
237 AC_CHECK_HEADERS(arpa/inet.h net/if.h netinet/in.h sys/socket.h)
238 AC_CHECK_HEADERS(machine/param.h sys/shm.h)
239 AC_CHECK_HEADERS(linux/version.h)
243 dnl Mac OS X and other OSes don't have declaration for nanosleep
244 AC_EGREP_HEADER(nanosleep,time.h,[
245 AC_DEFINE(HAVE_DECL_NANOSLEEP, 1,
246 Define if <time.h> defines nanosleep.)
249 dnl Make sure we have timespecs
250 AC_EGREP_HEADER(timespec,sys/time.h,[
251 AC_DEFINE(HAVE_STRUCT_TIMESPEC, 1,
252 Define if <sys/time.h> defines struct timespec.)
255 dnl Check for threads library
256 AC_CHECK_HEADERS(cthreads.h pthread.h kernel/scheduler.h kernel/OS.h)
258 dnl Default X headers and libraries
259 if test "x${x_includes}" = "xNONE"; then
260 x_includes="/usr/X11R6/include"
262 if test "x${x_libraries}" = "xNONE"; then
263 x_libraries="/usr/X11R6/lib"
266 dnl Build the gtk_main plugin?
270 if test "x${SYS}" != "xmingw32"
272 CPPFLAGS="${save_CPPFLAGS} -I${x_includes}"
273 AC_CHECK_HEADERS(X11/extensions/dpms.h, [
274 AC_EGREP_HEADER(DPMSInfo,X11/extensions/dpms.h,[
275 AC_DEFINE(DPMSINFO_IN_DPMS_H, 1,
276 Define if <X11/extensions/dpms.h> defines DPMSInfo.)
279 CPPFLAGS="${save_CPPFLAGS}"
282 dnl Check for ntohl, etc.
283 AC_CACHE_CHECK([for ntohl in sys/param.h],
284 [ac_cv_c_ntohl_sys_param_h],
285 [CFLAGS="${save_CFLAGS} -Wall -Werror"
286 AC_TRY_COMPILE([#include <sys/param.h>],
287 [void foo() { int meuh; ntohl(meuh); }],
288 ac_cv_c_ntohl_sys_param_h=yes, ac_cv_c_ntohl_sys_param_h=no)])
289 if test "x${ac_cv_c_ntohl_sys_param_h}" != "xno"; then
290 AC_DEFINE(NTOHL_IN_SYS_PARAM_H, 1, Define if <sys/param.h> defines ntohl.)
293 dnl Check for inline function size limit
294 AC_CACHE_CHECK([if \$CC accepts -finline-limit],
295 [ac_cv_c_inline_limit],
296 [CFLAGS="${save_CFLAGS} -finline-limit-30000"
297 AC_TRY_COMPILE([],,ac_cv_c_inline_limit=yes, ac_cv_c_inline_limit=no)])
298 if test "x${ac_cv_c_inline_limit}" != "xno"; then
299 save_CFLAGS="${save_CFLAGS} -finline-limit-30000"; CFLAGS="${save_CFLAGS}"
302 dnl Check for -W or -w flags
303 AC_CACHE_CHECK([if \$CC accepts -Wall -Winline],
304 [ac_cv_c_Wall_Winline],
305 [CFLAGS="-Wall -Winline ${save_CFLAGS}"
306 AC_TRY_COMPILE([],,ac_cv_c_Wall_Winline=yes, ac_cv_c_Wall_Winline=no)])
307 if test "x${ac_cv_c_Wall_Winline}" != "xno"; then
308 save_CFLAGS="-Wall -Winline ${save_CFLAGS}"; CFLAGS="${save_CFLAGS}"
310 AC_CACHE_CHECK([if \$CC accepts -wall -winline],
311 [ac_cv_c_wall_winline],
312 [CFLAGS="-wall -winline ${save_CFLAGS}"
313 AC_TRY_COMPILE([],,ac_cv_c_wall_winline=yes, ac_cv_c_wall_winline=no)])
314 if test "x${ac_cv_c_wall_winline}" != "xno"; then
315 save_CFLAGS="-wall -winline ${save_CFLAGS}"; CFLAGS="${save_CFLAGS}"
320 AC_CACHE_CHECK([if \$CC accepts -pipe],
322 [CFLAGS="${save_CFLAGS} -pipe"
323 AC_TRY_COMPILE([],,ac_cv_c_pipe=yes, ac_cv_c_pipe=no)])
324 if test "x${ac_cv_c_pipe}" != "xno"; then
325 save_CFLAGS="${save_CFLAGS} -pipe"; CFLAGS="${save_CFLAGS}"
328 dnl Check for various optimization flags
329 AC_CACHE_CHECK([if \$CC accepts -O3],
331 [CFLAGS="${save_CFLAGS} -O3"
332 AC_TRY_COMPILE([],,ac_cv_c_o3=yes, ac_cv_c_o3=no)])
333 if test "x${ac_cv_c_o3}" != "xno"; then
334 CFLAGS_OPTIM="${CFLAGS_OPTIM} -O3"
336 AC_CACHE_CHECK([if \$CC accepts -O2],
338 [CFLAGS="${save_CFLAGS} -O2"
339 AC_TRY_COMPILE([],,ac_cv_c_o2=yes, ac_cv_c_o2=no)])
340 if test "x${ac_cv_c_o2}" != "xno"; then
341 CFLAGS_OPTIM="${CFLAGS_OPTIM} -O2"
343 AC_CACHE_CHECK([if \$CC accepts -O],
345 [CFLAGS="${save_CFLAGS} -O"
346 AC_TRY_COMPILE([],,ac_cv_c_o=yes, ac_cv_c_o=no)])
347 if test "x${ac_cv_c_o}" != "xno"; then
348 CFLAGS_OPTIM="${CFLAGS_OPTIM} -O"
353 dnl Check for -ffast-math
354 AC_CACHE_CHECK([if \$CC accepts -ffast-math],
356 [CFLAGS="${save_CFLAGS} -ffast-math"
357 AC_TRY_COMPILE([],,ac_cv_c_fast_math=yes, ac_cv_c_fast_math=no)])
358 if test "x${ac_cv_c_fast_math}" != "xno"; then
359 CFLAGS_OPTIM="${CFLAGS_OPTIM} -ffast-math"
362 dnl Check for -funroll-loops
363 AC_CACHE_CHECK([if \$CC accepts -funroll-loops],
364 [ac_cv_c_unroll_loops],
365 [CFLAGS="${save_CFLAGS} -funroll-loops"
366 AC_TRY_COMPILE([],,ac_cv_c_unroll_loops=yes, ac_cv_c_unroll_loops=no)])
367 if test "x${ac_cv_c_unroll_loops}" != "xno"; then
368 CFLAGS_OPTIM="${CFLAGS_OPTIM} -funroll-loops"
371 dnl Check for -fomit-frame-pointer
372 AC_CACHE_CHECK([if \$CC accepts -fomit-frame-pointer],
373 [ac_cv_c_omit_frame_pointer],
374 [CFLAGS="${save_CFLAGS} -fomit-frame-pointer"
375 AC_TRY_COMPILE([],,ac_cv_c_omit_frame_pointer=yes, ac_cv_c_omit_frame_pointer=no)])
376 if test "x${ac_cv_c_omit_frame_pointer}" != "xno"; then
377 CFLAGS_OPTIM_NODEBUG="${CFLAGS_OPTIM_NODEBUG} -fomit-frame-pointer"
378 # this plugin does not compile without -fomit-frame-pointer, damn gcc!
379 i420_yuy2_mmx_CFLAGS="${i420_yuy2_mmx_CFLAGS} -fomit-frame-pointer"
382 dnl Check for Darwin plugin linking flags
383 AC_CACHE_CHECK([if \$CC accepts -bundle -undefined error -lcc_dynamic],
385 [CFLAGS="${save_CFLAGS} -bundle -undefined error -lcc_dynamic"
386 AC_TRY_COMPILE([],,ac_cv_ld_darwin=yes, ac_cv_ld_darwin=no)])
387 if test "x${ac_cv_ld_darwin}" != "xno"; then
388 plugins_LDFLAGS="${plugins_LDFLAGS} -bundle -undefined error -lcc_dynamic"
391 dnl Check for standard plugin linking flags
392 AC_CACHE_CHECK([if \$CC accepts -shared],
394 [CFLAGS="${save_CFLAGS} -shared"
395 AC_TRY_COMPILE([],, ac_cv_ld_plugins=yes, ac_cv_ld_plugins=no)])
396 if test "x${ac_cv_ld_plugins}" != "xno"; then
397 plugins_LDFLAGS="${plugins_LDFLAGS} -shared"
400 dnl Check for variadic macros
401 AC_CACHE_CHECK([for variadic cpp macros],
402 [ac_cv_cpp_variadic_macros],
403 [CFLAGS="${save_CFLAGS}"
406 #define a(b,c...) printf(b,##c)],
407 [a("foo");a("%s","bar");a("%s%s","baz","quux");],
408 ac_cv_cpp_variadic_macros=yes,
409 ac_cv_cpp_variadic_macros=no)])
410 if test "x${ac_cv_cpp_variadic_macros}" != "xno"; then
411 AC_DEFINE(HAVE_VARIADIC_MACROS, 1, Support for variadic macros)
414 dnl Checks for __attribute__(aligned()) directive
415 AC_CACHE_CHECK([__attribute__ ((aligned ())) support],
416 [ac_cv_c_attribute_aligned],
417 [ac_cv_c_attribute_aligned=0
418 CFLAGS="${save_CFLAGS} -Werror"
419 for ac_cv_c_attr_align_try in 2 4 8 16 32 64; do
421 [static char c __attribute__ ((aligned(${ac_cv_c_attr_align_try}))) = 0; return c;],
422 [ac_cv_c_attribute_aligned="${ac_cv_c_attr_align_try}"])
424 CFLAGS="${save_CFLAGS}"])
425 if test "x${ac_cv_c_attribute_aligned}" != "x0"; then
426 AC_DEFINE_UNQUOTED([ATTRIBUTE_ALIGNED_MAX],
427 [${ac_cv_c_attribute_aligned}],[Maximum supported data alignment])
433 case "x${target_cpu}" in
445 BUILTINS="${BUILTINS}"
446 PLUGINS="${PLUGINS} misc/dummy/dummy misc/null"
447 PLUGINS="${PLUGINS} control/rc/rc misc/logger/logger access/file misc/memcpy/memcpy"
448 PLUGINS="${PLUGINS} demux/mpeg/es demux/mpeg/audio demux/mpeg/mpeg_system demux/mpeg/ps demux/mpeg/ts demux/a52sys"
449 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/mpeg_audio/mpeg_audio"
450 PLUGINS="${PLUGINS} codec/a52old/imdct/imdct codec/a52old/downmix/downmix codec/a52old/a52old codec/a52"
451 #PLUGINS="${PLUGINS} codec/lpcm/lpcm"
452 PLUGINS="${PLUGINS} video_filter/deinterlace/deinterlace video_filter/invert video_filter/wall video_filter/transform video_filter/distort video_filter/clone video_filter/crop video_filter/motionblur"
453 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"
454 PLUGINS="${PLUGINS} audio_filter/resampler/trivial audio_filter/resampler/ugly"
455 PLUGINS="${PLUGINS} audio_filter/channel_mixer/trivial"
456 PLUGINS="${PLUGINS} audio_mixer/float32 audio_mixer/trivial audio_mixer/spdif"
457 PLUGINS="${PLUGINS} audio_output/file"
458 #PLUGINS="${PLUGINS} visualization/scope/scope"
459 PLUGINS="${PLUGINS} video_chroma/i420_rgb video_chroma/i420_yuy2 video_chroma/i422_yuy2 video_chroma/i420_ymga"
460 PLUGINS="${PLUGINS} demux/util/id3"
464 NETWORK_MODULES="access/udp access/http access/rtp misc/network/ipv4"
467 dnl Accelerated modules
469 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"
470 MMXEXT_MODULES="misc/memcpy/memcpymmxext codec/mpeg_video/idct/idctmmxext codec/mpeg_video/motion/motionmmxext"
471 THREEDNOW_MODULES="misc/memcpy/memcpy3dn codec/a52old/imdct/imdct3dn codec/a52old/downmix/downmix3dn"
472 SSE_MODULES="codec/a52old/imdct/imdctsse codec/a52old/downmix/downmixsse"
473 ALTIVEC_MODULES="codec/mpeg_video/idct/idctaltivec codec/mpeg_video/motion/motionaltivec misc/memcpy/memcpyaltivec"
475 if test x$SYS != xbeos
477 PLUGINS="${PLUGINS} ${NETWORK_MODULES}"
480 AC_CACHE_CHECK([if \$CC groks MMX inline assembly],
482 [CFLAGS="${save_CFLAGS}"
483 AC_TRY_COMPILE(,[void *p;asm volatile("packuswb %%mm1,%%mm2"::"r"(p));],
484 ac_cv_mmx_inline=yes, ac_cv_mmx_inline=no)])
485 if test "x${ac_cv_mmx_inline}" != "xno"; then
486 ACCEL_MODULES="${ACCEL_MODULES} ${MMX_MODULES}"
489 AC_CACHE_CHECK([if \$CC groks MMX EXT inline assembly],
490 [ac_cv_mmxext_inline],
491 [CFLAGS="${save_CFLAGS}"
492 AC_TRY_COMPILE(,[void *p;asm volatile("maskmovq %%mm1,%%mm2"::"r"(p));],
493 ac_cv_mmxext_inline=yes, ac_cv_mmxext_inline=no)])
494 if test "x${ac_cv_mmxext_inline}" != "xno"; then
495 ACCEL_MODULES="${ACCEL_MODULES} ${MMXEXT_MODULES}"
498 AC_CACHE_CHECK([if \$CC groks 3D Now! inline assembly],
499 [ac_cv_3dnow_inline],
500 [CFLAGS="${save_CFLAGS}"
501 AC_TRY_COMPILE(,[void *p;asm volatile("pfadd %%mm1,%%mm2"::"r"(p));],
502 ac_cv_3dnow_inline=yes, ac_cv_3dnow_inline=no)])
503 if test "x${ac_cv_3dnow_inline}" != "xno"; then
504 AC_DEFINE(CAN_COMPILE_3DNOW, 1, Define if \$CC groks 3D Now! inline assembly.)
505 ACCEL_MODULES="${ACCEL_MODULES} ${THREEDNOW_MODULES}"
508 AC_CACHE_CHECK([if \$CC groks SSE inline assembly],
510 [CFLAGS="${save_CFLAGS}"
511 AC_TRY_COMPILE(,[void *p;asm volatile("xorps %%xmm1,%%xmm2"::"r"(p));],
512 ac_cv_sse_inline=yes, ac_cv_sse_inline=no)])
513 if test "x${ac_cv_sse_inline}" != "xno" -a "x${SYS}" != "xmingw32"; then
514 AC_DEFINE(CAN_COMPILE_SSE, 1, Define if \$CC groks SSE inline assembly.)
515 ACCEL_MODULES="${ACCEL_MODULES} ${SSE_MODULES}"
518 # don't try to grok AltiVec with native mingw32 it doesn't work right now
519 # we should be able to remove this test with future versions of mingw32
520 if test "x${SYS}" != "xmingw32"; then
521 AC_CACHE_CHECK([if \$CC groks AltiVec inline assembly],
522 [ac_cv_altivec_inline],
523 [CFLAGS="${save_CFLAGS}"
524 AC_TRY_COMPILE(,[asm volatile("vperm 0,1,2,3");],
525 ac_cv_altivec_inline=yes,
526 [CFLAGS="${save_CFLAGS} -Wa,-m7400"
527 AC_TRY_COMPILE(,[asm volatile("vperm 0,1,2,3");],
528 [ac_cv_altivec_inline="-Wa,-m7400"],
529 ac_cv_altivec_inline=no)
531 if test "x${ac_cv_altivec_inline}" != "xno"; then
532 AC_DEFINE(CAN_COMPILE_ALTIVEC, 1, Define if \$CC groks AltiVec inline assembly.)
533 if test "x${ac_cv_altivec_inline}" != "xyes"; then
534 idctaltivec_CFLAGS="${idctaltivec_CFLAGS} ${ac_cv_altivec_inline}"
535 motionaltivec_CFLAGS="${motionaltivec_CFLAGS} ${ac_cv_altivec_inline}"
536 memcpyaltivec_CFLAGS="${memcpyaltivec_CFLAGS} ${ac_cv_altivec_inline}"
537 vlc_CFLAGS="${vlc_CFLAGS} ${ac_cv_altivec_inline}"
539 ACCEL_MODULES="${ACCEL_MODULES} ${ALTIVEC_MODULES}"
542 AC_CACHE_CHECK([if \$CC groks AltiVec C extensions],
544 [CFLAGS="${save_CFLAGS} -faltivec"
546 AC_TRY_COMPILE(,[vec_mtvscr((vector unsigned int)(0));],
547 ac_cv_c_altivec=-faltivec, [
549 CFLAGS="${save_CFLAGS} ${idctaltivec_CFLAGS} -fvec"
550 AC_TRY_COMPILE(,[vec_mtvscr((vector unsigned int)(0));],
551 [ac_cv_c_altivec="-fvec"], ac_cv_c_altivec=no)
553 CFLAGS="${save_CFLAGS}"])
554 if test "x${ac_cv_c_altivec}" != "xno"; then
555 AC_DEFINE(CAN_COMPILE_C_ALTIVEC, 1, Define if your compiler groks C AltiVec extensions.)
556 idctaltivec_CFLAGS="${idctaltivec_CFLAGS} ${ac_cv_c_altivec}"
557 motionaltivec_CFLAGS="${motionaltivec_CFLAGS} ${ac_cv_c_altivec}"
558 memcpyaltivec_CFLAGS="${memcpyaltivec_CFLAGS} ${ac_cv_c_altivec}"
559 vlc_CFLAGS="${vlc_CFLAGS} ${ac_cv_c_altivec}"
560 ACCEL_MODULES="${ACCEL_MODULES} ${ALTIVEC_MODULES}"
563 AC_CACHE_CHECK([if linker needs -framework vecLib],
565 [LDFLAGS="${vlc_LDFLAGS} -framework vecLib"
566 AC_TRY_LINK([],,ac_cv_ld_altivec=yes,ac_cv_ld_altivec=no)
567 LDFLAGS="${save_LDFLAGS}"
569 if test "x${ac_cv_ld_altivec}" != "xno"; then
570 idctaltivec_LDFLAGS="${idctaltivec_LDFLAGS} -framework vecLib"
571 motionaltivec_LDFLAGS="${motionaltivec_LDFLAGS} -framework vecLib"
572 memcpyaltivec_LDFLAGS="${memcpyaltivec_LDFLAGS} -framework vecLib"
573 vlc_LDFLAGS="${vlc_LDFLAGS} -framework vecLib"
579 AC_ARG_WITH(,[Optimization options:])
582 dnl Special arch tuning
585 [ --with-tuning=ARCH enable special tuning for an architecture
586 (default i686 on IA-32 and 750 on PPC)])
587 if test "x${with_tuning}" != "x"; then
588 TUNING="${with_tuning}"
590 if test "x${target_cpu}" = "xi686" -o "x${target_cpu}" = "xi586" -o "x${target_cpu}" = "xi486" -o "x${target_cpu}" = "xi386"; then TUNING="pentiumpro"
592 if test "x${target_cpu}" = "xpowerpc"; then TUNING="750"; fi
597 dnl x86 accelerations
599 if test "x${target_cpu}" = "xi686" -o "x${target_cpu}" = "xi586" -o "x${target_cpu}" = "xx86" -o "x${target_cpu}" = "xi386"
602 PLUGINS="${PLUGINS} ${ACCEL_MODULES}"
606 dnl Enable/disable optimizations
608 AC_ARG_ENABLE(optimizations,
609 [ --disable-optimizations disable compiler optimizations (default enabled)],
610 [ if test "x${enable_optimizations}" = "xno"; then OPTIMS=0; fi ],
614 dnl AltiVec acceleration
616 AC_ARG_ENABLE(altivec,
617 [ --disable-altivec disable AltiVec optimizations (default enabled on PPC)],
618 [ if test "x${enable_altivec}" = "xyes"; then ARCH="${ARCH} altivec";
619 BUILTINS="${BUILTINS} ${ACCEL_MODULES}"; fi ],
620 [ if test "x${target_cpu}" = "xpowerpc"; then ARCH="${ARCH} altivec";
621 BUILTINS="${BUILTINS} ${ACCEL_MODULES}"; fi ])
628 [ --enable-debug debug mode (default disabled)],
629 [ if test "x${enable_debug}" = "xyes"; then DEBUG=1; fi ])
632 dnl Enable release-specific flags
635 AC_ARG_ENABLE(release,
636 [ --enable-release activate extra optimizations (default disabled)],
637 [ if test "x${enable_release}" = "xyes"; then RELEASE=1; fi ],
638 [ VERSION="${VERSION}_`date +%Y-%m-%d`" ])
644 AC_ARG_WITH(,[Input plugins:])
647 dnl DVD module: optionally check for installed libdvdcss
650 [ --enable-dvd DVD input module (default enabled)])
651 if test "x${enable_dvd}" != "xno"
654 [ --with-dvdcss=PATH libdvdcss headers and libraries])
655 AC_ARG_WITH(dvdcss-tree,
656 [ --with-dvdcss-tree=PATH libdvdcss tree for static linking])
657 case "x${with_dvdcss}" in
659 if test "x${with_dvdcss_tree}" = x
661 AC_CHECK_HEADERS(dvdcss/dvdcss.h,
662 [ PLUGINS="${PLUGINS} access/dvd/dvd"
663 dvd_LDFLAGS="${dvd_LDFLAGS} -ldvdcss" ],
664 [ 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.])
665 AC_MSG_ERROR([cannot find libdvdcss headers]) ])
667 AC_MSG_CHECKING(for libdvdcss.a in ${with_dvdcss_tree})
668 real_dvdcss_tree="`cd ${with_dvdcss_tree} 2>/dev/null && pwd`"
669 if test "x${real_dvdcss_tree}" = "x"
671 dnl The given directory can't be found
673 AC_MSG_ERROR([cannot cd to ${with_dvdcss_tree}])
675 if test -f "${real_dvdcss_tree}/src/.libs/libdvdcss.a"
677 dnl Use a custom libdvdcss
678 AC_MSG_RESULT(${real_dvdcss_tree}/src/.libs/libdvdcss.a)
679 BUILTINS="${BUILTINS} access/dvd/dvd"
680 dvd_LDFLAGS="${dvd_LDFLAGS} ${real_dvdcss_tree}/src/.libs/libdvdcss.a"
681 dvd_CFLAGS="${dvd_CFLAGS} -I${real_dvdcss_tree}/src"
683 dnl The given libdvdcss wasn't built
685 AC_MSG_ERROR([cannot find ${real_dvdcss_tree}/src/.libs/libdvdcss.a, make sure you compiled libdvdcss in ${with_dvdcss_tree}])
690 dnl Compile without dvdcss (dlopen version, works only under Linux)
691 PLUGINS="${PLUGINS} access/dvd/dvd"
692 dvd_CFLAGS="${dvd_CFLAGS} -DGOD_DAMN_DMCA"
693 dvd_LDFLAGS="${dvd_LDFLAGS} -ldl"
696 AC_MSG_CHECKING(for dvdcss headers in ${with_dvdcss})
697 if test -f ${with_dvdcss}/include/dvdcss/dvdcss.h
699 dnl Use ${with_dvdcss}/include/dvdcss/dvdcss.h
701 PLUGINS="${PLUGINS} access/dvd/dvd"
702 dvd_LDFLAGS="${dvd_LDFLAGS} -L${with_dvdcss}/lib -ldvdcss"
703 dvd_CFLAGS="${dvd_CFLAGS} -I${with_dvdcss}/include"
705 dnl No libdvdcss could be found, sorry
707 AC_MSG_ERROR([cannot find ${with_dvdcss}/include/dvdcss/dvdcss.h])
714 dnl dvdread module: check for libdvdread plugin
716 AC_ARG_ENABLE(dvdread,
717 [ --enable-dvdread dvdread input module (default disabled)])
718 if test "x${enable_dvdread}" != "xno"
721 [ --with-dvdread=PATH libdvdread headers and libraries])
722 if test "x${with_dvdread}" = "x"
727 test_LDFLAGS="-L${with_dvdread}/lib"
728 test_CFLAGS="-I${with_dvdread}/include"
730 CPPFLAGS="${save_CPPFLAGS} ${test_CFLAGS}"
731 AC_CHECK_HEADERS(dvdread/dvd_reader.h, [
732 AC_TRY_COMPILE([#include <dvdread/dvd_reader.h>],
733 [int foo() { return DVD_VIDEO_LB_LEN; }],[
734 PLUGINS="${PLUGINS} access/dvdread/dvdread"
735 dvdread_LDFLAGS="${dvdread_LDFLAGS} ${test_LDFLAGS} -ldvdread"
736 dvdread_CFLAGS="${dvdread_CFLAGS} ${test_CFLAGS}"
738 if test "x${enable_dvdread}" != "x"
740 AC_MSG_ERROR([Cannot find DVD_VIDEO_LB_LEN in dvdread/dvd_reader.h, please install libdvdread version 0.9.2 or later])
744 if test "x${enable_dvdread}" != "x"
746 if test "x${with_dvdread}" != "x"
748 AC_MSG_ERROR([Cannot find dvdread/dvd_reader.h in ${with_dvdread}/include])
750 AC_MSG_ERROR([Cannot find dvdread/dvd_reader.h])
754 CPPFLAGS="$save_CPPFLAGS"
758 dnl dvdplay module: check for libdvdplay
760 AC_ARG_ENABLE(dvdplay,
761 [ --enable-dvdplay dvdplay input module (default disabled)])
762 if test "x$enable_dvdplay" != "xno"
765 [ --with-dvdplay=PATH libdvdplay headers and libraries])
766 if test "x$with_dvdplay" = x
771 test_LDFLAGS="-L${with_dvdplay}/lib"
772 test_CFLAGS="-I${with_dvdplay}/include"
774 CPPFLAGS="$save_CPPFLAGS $test_CFLAGS"
775 AC_CHECK_HEADERS(dvdplay/dvdplay.h, [
776 PLUGINS="${PLUGINS} access/dvdplay/dvdplay"
777 dvdplay_LDFLAGS="${dvdplay_LDFLAGS} ${test_LDFLAGS} -ldvdplay -ldvdread"
778 dvdplay_CFLAGS="${dvdplay_CFLAGS} ${test_CFLAGS}"
780 if test "x$enable_dvdplay" != x
782 if test "x$with_dvdplay" != x
784 AC_MSG_ERROR([Cannot find dvdplay/dvdplay.h in ${with_dvdplay}/include])
786 AC_MSG_ERROR([Cannot find dvdplay/dvdplay.h])
790 CPPFLAGS="${save_CPPFLAGS}"
795 dnl libdvbpsi ts demux
797 AC_ARG_ENABLE(dvbpsi,
798 [ --enable-dvbpsi dvbpsi ts demux module (default disabled)])
799 if test "x${enable_dvbpsi}" != "xno"
802 [ --with-dvbpsi=PATH libdvbpsi headers and libraries])
804 [ --with-dvbpsi-tree=PATH libdvbpsi tree for static linking])
805 case "x${with_dvbpsi}" in
807 if test "x${with_dvbpsi_tree}" = "x"
809 AC_CHECK_HEADERS(dvbpsi/dr.h,
810 [ PLUGINS="${PLUGINS} demux/mpeg/ts_dvbpsi"
811 ts_dvbpsi_LDFLAGS="${ts_dvbpsi_LDFLAGS} -ldvbpsi" ], [],
812 [ AC_MSG_ERROR([cannot find libdvbpsi headers]) ])
814 AC_MSG_CHECKING(for libdvbpsi.a in ${with_dvbpsi_tree})
815 real_dvbpsi_tree="`cd ${with_dvbpsi_tree} 2>/dev/null && pwd`"
816 if test "x${real_dvbpsi_tree}" = "x"
818 dnl The given directory can't be found
820 AC_MSG_ERROR([cannot cd to ${with_dvbpsi_tree}])
822 if test -f "${real_dvbpsi_tree}/src/.libs/libdvbpsi.a"
824 dnl Use a custom libdvbpsi
825 AC_MSG_RESULT(${real_dvbpsi_tree}/src/.libs/libdvbpsi.a)
826 BUILTINS="${BUILTINS} demux/mpeg/ts_dvbpsi"
827 ts_dvbpsi_LDFLAGS="${ts_dvbpsi_LDFLAGS} ${real_dvbpsi_tree}/src/.libs/libdvbpsi.a"
828 ts_dvbpsi_CFLAGS="${ts_dvbpsi_CFLAGS} -I${real_dvbpsi_tree}/src"
830 dnl The given libdvbpsi wasn't built
832 AC_MSG_ERROR([cannot find ${real_dvbpsi_tree}/src/.libs/libdvbpsi.a, make sure you compiled libdvbpsi in ${with_dvbpsi_tree}])
837 dnl Compile without dvbpsi
840 AC_MSG_CHECKING(for dvbpsi headers in ${with_dvbpsi})
841 if test "x${with_dvbpsi}" = "x"
846 test_LDFLAGS="-L${with_dvbpsi}/lib"
847 test_CFLAGS="-I${with_dvbpsi}/include"
849 CPPFLAGS="${save_CPPFLAGS} ${test_CFLAGS}"
850 AC_CHECK_HEADER([dvbpsi/dr.h],[
851 PLUGINS="${PLUGINS} demux/mpeg/ts_dvbpsi"
852 ts_dvbpsi_LDFLAGS="${ts_dvbpsi_LDFLAGS} ${test_LDFLAGS} -ldvbpsi"
853 ts_dvbpsi_CFLAGS="${ts_dvbpsi_CFLAGS} ${test_CFLAGS}"
855 if test "x${enable_dvbpsi}" != "x"
857 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])
860 CPPFLAGS="${save_CPPFLAGS}"
866 dnl Video4Linux plugin
869 [ --enable-v4l Video4Linux input support (default disabled)])
870 if test "x${enable_v4l}" = "xyes"
872 AC_CHECK_HEADERS(libv4l/v4l.h, [
873 PLUGINS="${PLUGINS} access/v4l/v4l"
881 [ --enable-vcd VCD support for Linux, FreeBSD and MacOS X (default enabled)])
883 if test "x${enable_vcd}" != "xno"
885 AC_EGREP_HEADER(cdrom_msf0,linux/cdrom.h,[
886 PLUGINS="${PLUGINS} access/vcd/vcd"
889 AC_EGREP_HEADER(ioc_toc_header ,sys/cdio.h,[
890 PLUGINS="${PLUGINS} access/vcd/vcd"
891 AC_DEFINE(HAVE_IOC_TOC_HEADER_IN_SYS_CDIO_H, 1, For FreeBSD VCD support)
894 if test "x${SYS}" = "xbsdi"
896 PLUGINS="${PLUGINS} access/vcd/vcd"
899 if test "x${SYS}" = "xdarwin"
901 # No need to add vcd to PLUGINS, Darwin is already based on FreeBSD
902 vcd_LDFLAGS="${vcd_LDFLAGS} -framework IOKit -framework CoreFoundation"
907 dnl Satellite input module
909 AC_ARG_ENABLE(satellite,
910 [ --enable-satellite satellite card support (default disabled)],
911 [ if test "x${enable_satellite}" = "xyes"
913 PLUGINS="${PLUGINS} access/satellite/satellite"
917 dnl ipv6 plugin - not for QNX yet
919 if test "x${SYS}" != "xnto" && test "x${SYS}" != "xmingw32"
922 AC_CHECK_FUNC(inet_pton,[have_ipv6=1],[
923 AC_CHECK_LIB(resolv,inet_pton,
925 ipv6_LDFLAGS="${ipv6_LDFLAGS} -lresolv"])
927 AC_MSG_CHECKING(for sockaddr_in6 in netinet/in.h)
928 AC_EGREP_HEADER(sockaddr_in6,netinet/in.h,
929 [AC_MSG_RESULT(yes)], [AC_MSG_RESULT(no); have_ipv6=0])
930 if test x$have_ipv6 = x1; then
931 PLUGINS="${PLUGINS} misc/network/ipv6"
934 if test "x${SYS}" = "xmingw32"
936 AC_MSG_CHECKING(for getaddrinfo in ws2tcpip.h)
937 AC_EGREP_HEADER(addrinfo,ws2tcpip.h,[AC_MSG_RESULT(yes)
938 PLUGINS="${PLUGINS} misc/network/ipv6"],[AC_MSG_RESULT(no)])
945 [ --enable-avi AVI demux module (default enabled)])
946 if test "x${enable_avi}" != "xno"
948 PLUGINS="${PLUGINS} demux/avi/avi"
955 [ --enable-aac AAC demux module (default enabled)])
956 if test "x${enable_aac}" != "xno"
958 PLUGINS="${PLUGINS} demux/aac/aac"
965 AC_ARG_WITH(,[Codec plugins:])
971 [ --enable-mad libmad module (default disabled)])
972 if test "x${enable_mad}" = "xyes"
975 [ --with-mad=PATH path to libmad],[],[])
976 if test "x${with_mad}" != "xno" -a "x${with_mad}" != "x"
978 mad_CFLAGS="${mad_CFLAGS} -I${with_mad}/include"
979 mad_LDFLAGS="${mad_LDFLAGS} -L${with_mad}/lib"
982 AC_ARG_WITH(mad-tree,
983 [ --with-mad-tree=PATH mad tree for static linking],[],[])
984 if test "x${with_mad_tree}" != "xno" -a "x${with_mad_tree}" != "x"
986 real_mad_tree="`cd ${with_mad_tree} 2>/dev/null && pwd`"
987 if test "x${real_mad_tree}" = "x"
989 dnl The given directory can't be found
991 AC_MSG_ERROR([${with_mad_tree} directory doesn't exist])
993 dnl Use a custom libmad
994 AC_MSG_CHECKING(for mad.h in ${real_mad_tree}/libmad)
995 if test -f ${real_mad_tree}/libmad/mad.h
998 mad_CFLAGS="${mad_CFLAGS} -I${real_mad_tree}/libmad"
999 mad_LDFLAGS="${mad_LDFLAGS} -L${real_mad_tree}/libmad/.libs"
1000 LDFLAGS="${save_LDFLAGS} ${mad_LDFLAGS}"
1001 AC_CHECK_LIB(mad, mad_bit_init, [
1002 BUILTINS="${BUILTINS} codec/mad/mad"
1003 mad_LDFLAGS="${mad_LDFLAGS} -lmad"
1004 ],[ AC_MSG_ERROR([the specified tree hasn't been compiled ])
1006 LDFLAGS="${save_LDFLAGS}"
1009 AC_MSG_ERROR([the specified tree doesn't have mad.h])
1012 CFLAGS="${save_CFLAGS} ${mad_CFLAGS}"
1013 LDFLAGS="${save_LDFLAGS} ${mad_LDFLAGS}"
1014 AC_CHECK_HEADERS(mad.h, ,
1015 [ AC_MSG_ERROR([Cannot find development headers for libmad...]) ])
1016 AC_CHECK_LIB(mad, mad_bit_init, [
1017 PLUGINS="${PLUGINS} codec/mad/mad"
1018 mad_LDFLAGS="${mad_LDFLAGS} -lmad" ],
1019 [ AC_MSG_ERROR([Cannot find libmad library...]) ])
1020 CFLAGS="${save_CFLAGS}"
1021 LDFLAGS="${save_LDFLAGS}"
1026 dnl libid3tag support
1028 AC_CHECK_HEADERS(id3tag.h, [
1029 id3tag_LDFLAGS="${id3tag_LDFLAGS} -lz -lid3tag"
1030 PLUGINS="${PLUGINS} demux/util/id3tag"])
1033 dnl ffmpeg decoder plugin
1035 AC_ARG_ENABLE(ffmpeg,
1036 [ --enable-ffmpeg ffmpeg codec (default disabled)])
1037 if test "x${enable_ffmpeg}" = "xyes"
1040 [ --with-ffmpeg=PATH path to ffmpeg installation],[],[])
1041 if test "x${with_ffmpeg}" != "xno" -a "x${with_ffmpeg}" != "x"
1043 ffmpeg_CFLAGS="${ffmpeg_CFLAGS} -I${with_ffmpeg}/include/libffmpeg"
1044 ffmpeg_LDFLAGS="${ffmpeg_LDFLAGS} -L${with_ffmpeg}/lib"
1047 dnl Add postprocessing modules
1048 PLUGINS="${PLUGINS} codec/ffmpeg/postprocessing/postprocessing_c"
1049 if test "x${ac_cv_mmx_inline}" != "xno"; then
1050 PLUGINS="${PLUGINS} codec/ffmpeg/postprocessing/postprocessing_mmx"
1053 if test "x${ac_cv_mmxext_inline}" != "xno"; then
1054 PLUGINS="${PLUGINS} codec/ffmpeg/postprocessing/postprocessing_mmxext"
1058 AC_ARG_WITH(ffmpeg-tree,
1059 [ --with-ffmpeg-tree=PATH ffmpeg tree for static linking])
1060 if test "x${with_ffmpeg_tree}" != "x"
1062 AC_MSG_CHECKING(for libavcodec.a in ${with_ffmpeg_tree})
1063 real_ffmpeg_tree="`cd ${with_ffmpeg_tree} 2>/dev/null && pwd`"
1064 if test "x${real_ffmpeg_tree}" = x
1066 dnl The given directory can't be found
1068 AC_MSG_ERROR([cannot cd to ${with_ffmpeg_tree}])
1070 if test -f "${real_ffmpeg_tree}/libavcodec/libavcodec.a"
1072 dnl Use a custom libffmpeg
1073 AC_MSG_RESULT(${real_ffmpeg_tree}/libavcodec/libavcodec.a)
1074 BUILTINS="${BUILTINS} codec/ffmpeg/ffmpeg"
1075 ffmpeg_LDFLAGS="${ffmpeg_LDFLAGS} ${real_ffmpeg_tree}/libavcodec/libavcodec.a"
1076 ffmpeg_CFLAGS="${ffmpeg_CFLAGS} -I${real_ffmpeg_tree}/libavcodec"
1078 dnl The given libavcodec wasn't built
1080 AC_MSG_ERROR([cannot find ${real_ffmpeg_tree}/libavcodec/libavcodec.a, make sure you compiled libavcodec in ${with_ffmpeg_tree}])
1083 CFLAGS="${save_CFLAGS} ${ffmpeg_CFLAGS}"
1084 LDFLAGS="${save_LDFLAGS} ${ffmpeg_LDFLAGS}"
1085 AC_CHECK_LIB(avcodec, avcodec_init, [
1086 BUILTINS="${BUILTINS} codec/ffmpeg/ffmpeg"
1087 ffmpeg_LDFLAGS="${ffmpeg_LDFLAGS} -lavcodec" ],
1088 [ AC_MSG_ERROR([Cannot find libavcodec library...]) ])
1089 LDFLAGS="${save_LDFLAGS}"
1090 CFLAGS="${save_CFLAGS}"
1095 dnl faad decoder plugin
1098 [ --enable-faad faad codec (default disabled)])
1099 if test "x${enable_faad}" = "xyes"
1102 [ --with-faad=PATH path to faad installation],[],[])
1103 if test "x${with_faad}" != "xno" -a "x${with_faad}" != "x"
1105 faad_CFLAGS="${faad_CFLAGS} -I${with_faad}/include"
1106 faad_LDFLAGS="${faad_LDFLAGS} -L${with_faad}/lib"
1108 faad_LDFLAGS="${faad_LDFLAGS}"
1110 AC_ARG_WITH(faad-tree,
1111 [ --with-faad-tree=PATH faad tree for static linking])
1112 if test "x${with_faad_tree}" != "x"
1114 AC_MSG_CHECKING(for libfaad.a in ${with_faad_tree})
1115 real_faad_tree="`cd ${with_faad_tree} 2>/dev/null && pwd`"
1116 if test "x${real_faad_tree}" = x
1118 dnl The given directory can't be found
1120 AC_MSG_ERROR([cannot cd to ${with_faad_tree}])
1122 if test -f "${real_faad_tree}/libfaad/.libs/libfaad.a"
1124 dnl Use a custom faad
1125 AC_MSG_RESULT(${real_faad_tree}/libfaad/.libs/libfaad.a)
1126 BUILTINS="${BUILTINS} codec/faad/faad"
1127 faad_LDFLAGS="${faad_LDFLAGS} ${real_faad_tree}/libfaad/.libs/libfaad.a"
1128 faad_CFLAGS="${faad_CFLAGS} -I${real_faad_tree}/include"
1130 dnl The given libfaad wasn't built
1132 AC_MSG_ERROR([cannot find ${real_faad_tree}/libfaad/.libs/libfaad.a, make sure you compiled libfaad in ${with_faad_tree}])
1135 CFLAGS="${save_CFLAGS} ${faad_CFLAGS}"
1136 LDFLAGS="${save_LDFLAGS} ${faad_LDFLAGS}"
1137 AC_CHECK_HEADERS(faad.h, ,
1138 [ AC_MSG_ERROR([Cannot find development headers for libfaad...]) ])
1139 AC_CHECK_LIB(faad, faacDecOpen, [
1140 PLUGINS="${PLUGINS} codec/faad/faad"
1141 faad_LDFLAGS="${faad_LDFLAGS} -lfaad" ],
1142 [ AC_MSG_ERROR([Cannot find libfaad library...]) ])
1143 LDFLAGS="${save_LDFLAGS}"
1144 CFLAGS="${save_CFLAGS}"
1154 [ --enable-mp4 MP4 demux module (default enabled)])
1155 if test "x${enable_mp4}" != "xno"
1158 PLUGINS="${PLUGINS} demux/mp4/mp4"
1159 AC_CHECK_HEADERS(zlib.h,
1160 [ mp4_LDFLAGS="${mp4_LDFLAGS} -lz" ] )
1164 dnl a52 AC3 decoder plugin
1167 [ --enable-a52 A/52 support with liba52 (default enabled)])
1168 if test "x${enable_a52}" != "xno"
1171 [ --with-a52=PATH a52 headers and libraries])
1172 AC_ARG_WITH(a52-tree,
1173 [ --with-a52-tree=PATH a52dec tree for static linking ],[],[])
1174 if test "x${with_a52_tree}" != "xno" -a "x${with_a52_tree}" != "x"
1176 real_a52_tree="`cd ${with_a52_tree} 2>/dev/null && pwd`"
1177 if test "x${real_a52_tree}" = "x"
1179 dnl The given directory can't be found
1181 AC_MSG_ERROR([${with_a52_tree} directory doesn't exist])
1183 dnl Use a custom a52dec
1184 AC_MSG_CHECKING(for a52.h in ${real_a52_tree}/include)
1185 if test -f ${real_a52_tree}/include/a52.h
1188 a52tofloat32_CFLAGS="${a52tofloat32_CFLAGS} -I${real_a52_tree}"
1189 a52tofloat32_LDFLAGS="${a52tofloat32_LDFLAGS} -L${real_a52_tree}/liba52/.libs"
1190 LDFLAGS="${save_LDFLAGS} ${a52tofloat32_LDFLAGS}"
1191 AC_CHECK_LIB(a52, a52_free, [
1192 BUILTINS="${BUILTINS} audio_filter/converter/a52tofloat32"
1193 a52tofloat32_LDFLAGS="${a52tofloat32_LDFLAGS} -la52 -lm"
1194 a52tofloat32_CFLAGS="${a52tofloat32_CFLAGS} -DUSE_A52DEC_TREE"
1196 if test -f ${real_a52_tree}/liba52/.libs/liba52.a
1198 AC_MSG_ERROR([make sure you have at least a52dec-0.7.4])
1200 AC_MSG_ERROR([the specified tree hasn't been compiled])
1203 LDFLAGS="${save_LDFLAGS}"
1206 AC_MSG_ERROR([the specified tree doesn't have a52.h])
1209 if test "x${with_a52}" = "x"
1214 test_LDFLAGS="-L${with_a52}/lib"
1215 test_CFLAGS="-I${with_a52}/include"
1217 save_CPPFLAGS="${CPPFLAGS}"
1218 save_LDFLAGS="${LDFLAGS}"
1219 CPPFLAGS="${save_CPPFLAGS} ${test_CFLAGS}"
1220 LDFLAGS="${save_LDFLAGS} ${test_LDFLAGS}"
1221 AC_CHECK_HEADERS(a52dec/a52.h, [
1222 AC_CHECK_LIB(a52, a52_free, [
1223 BUILTINS="${BUILTINS} audio_filter/converter/a52tofloat32"
1224 a52tofloat32_LDFLAGS="${a52tofloat32_LDFLAGS} ${test_LDFLAGS} -la52 -lm"
1225 a52tofloat32_CFLAGS="${a52tofloat32_CFLAGS} ${test_CFLAGS}"
1227 if test "x${enable_dvbpsi}" != "x"
1229 AC_MSG_ERROR([Could not find a52 on your system: you may get it from http://liba52.sf.net])
1233 CPPFLAGS="${save_CPPFLAGS}"
1234 LDFLAGS="${save_LDFLAGS}"
1241 AC_ARG_ENABLE(cinepak,
1242 [ --enable-cinepak Cinepak decoder (default enabled)])
1243 if test "x${enable_cinepak}" != "xno"
1245 PLUGINS="${PLUGINS} codec/cinepak/cinepak"
1249 dnl ogg vorbis plugin
1251 AC_ARG_ENABLE(vorbis,
1252 [ --enable-vorbis Ogg/Vorbis decoder support (default enabled)])
1253 if test "x${enable_vorbis}" != "xno"
1255 AC_CHECK_HEADERS(ogg/ogg.h, [
1256 dnl disabled for the moment
1257 #PLUGINS="${PLUGINS} demux/ogg/ogg codec/vorbis/vorbis"
1258 vorbis_LDFLAGS="${vorbis_LDFLAGS} -lvorbis"
1266 [ --enable-dv DV decoder support (default disabled)])
1267 if test "x${enable_dv}" = "xyes"
1269 AC_CHECK_HEADERS(libdv/dv.h, [
1270 BUILTINS="${BUILTINS} codec/dv/dv"
1271 dv_LDFLAGS="${dv_LDFLAGS} -ldv"
1279 AC_ARG_WITH(,[Video plugins:])
1283 dnl (enabled by default except on win32)
1286 [ --enable-x11 X11 support (default enabled)])
1287 if test "x${enable_x11}" != "xno" &&
1288 (test "x${SYS}" != "xmingw32" || test "x${enable_x11}" = "xyes"); then
1289 CPPFLAGS="${save_CPPFLAGS} -I${x_includes}"
1290 AC_CHECK_HEADERS(X11/Xlib.h, [
1291 PLUGINS="${PLUGINS} video_output/x11/x11"
1292 x11_LDFLAGS="${x11_LDFLAGS} -L${x_libraries} -lX11 -lXext"
1293 x11_CFLAGS="${x11_CFLAGS} -I${x_includes}"
1295 CPPFLAGS="${save_CPPFLAGS}"
1300 dnl (enabled by default except on win32)
1302 AC_ARG_ENABLE(xvideo,
1303 [ --enable-xvideo XVideo support (default enabled)])
1304 if test "x${enable_xvideo}" != "xno" &&
1305 (test "x${SYS}" != "xmingw32" || test "x${enable_xvideo}" = "xyes"); then
1306 CPPFLAGS="${save_CPPFLAGS} -I${x_includes}"
1307 AC_CHECK_HEADERS(X11/extensions/Xv.h, [
1308 CFLAGS="${save_CFLAGS} -L${x_libraries} -lX11 -lXext"
1309 AC_CHECK_LIB(Xv_pic,XvPutImage,
1310 # We have Xv_pic, that's good, we can build an xvideo.so plugin !
1311 PLUGINS="${PLUGINS} video_output/x11/xvideo"
1312 xvideo_LDFLAGS="${xvideo_LDFLAGS} -L${x_libraries} -lX11 -lXext -lXv_pic"
1313 xvideo_CFLAGS="${xvideo_CFLAGS} -I${x_includes}",
1314 AC_CHECK_LIB(Xv,XvPutImage,
1315 # We don't have Xv_pic, but we have Xv, let's make xvideo.a as builtin
1316 PLUGINS="${PLUGINS} video_output/x11/xvideo"
1317 xvideo_LDFLAGS="${xvideo_LDFLAGS} -L${x_libraries} -lX11 -lXext -lXv"
1318 xvideo_CFLAGS="${xvideo_CFLAGS} -I${x_includes}",
1319 # Otherwise... well, do nothing.
1323 CFLAGS="${save_CFLAGS}"
1325 CPPFLAGS="${save_CPPFLAGS}")
1332 [ --enable-sdl SDL support (default enabled)])
1333 if test "x${enable_sdl}" != "xno"
1336 AC_ARG_WITH(sdl-config-path,
1337 [ --with-sdl-config-path=PATH sdl-config path (default search in \$PATH)],
1338 [ if test "x${with_sdl_config_path}" != "xno"
1340 SDL_PATH="${with_sdl_config_path}:${PATH}"
1342 AC_PATH_PROG(SDL12_CONFIG, sdl12-config, no, ${SDL_PATH})
1343 SDL_CONFIG="${SDL12_CONFIG}"
1344 SDL_HEADER="SDL12/SDL.h"
1345 if test "x${SDL_CONFIG}" = "xno"
1347 AC_PATH_PROG(SDL11_CONFIG, sdl11-config, no, ${SDL_PATH})
1348 SDL_CONFIG=${SDL11_CONFIG}
1349 SDL_HEADER="SDL11/SDL.h"
1351 if test "x${SDL_CONFIG}" = "xno"
1353 AC_PATH_PROG(SDL_CONFIG, sdl-config, no, ${SDL_PATH})
1354 SDL_HEADER="SDL/SDL.h"
1356 if test "x${SDL_CONFIG}" != "xno"
1358 PLUGINS="${PLUGINS} video_output/sdl audio_output/sdl"
1359 sdl_CFLAGS="${sdl_CFLAGS} `${SDL_CONFIG} --cflags`"
1360 sdl_LDFLAGS="${sdl_LDFLAGS} `${SDL_CONFIG} --libs | sed 's,-rdynamic,,'`"
1361 CPPFLAGS="${save_CPPFLAGS} ${sdl_CFLAGS}"
1362 AC_CHECK_HEADERS(${SDL_HEADER}, AC_DEFINE_UNQUOTED(SDL_INCLUDE_FILE,
1363 <${SDL_HEADER}>, Indicate whether we should use SDL/SDL.h or SDL11/SDL.h),
1364 [ AC_MSG_ERROR([The development package for SDL is not installed.
1365 Please install it and try again. Alternatively you can also configure with
1368 CPPFLAGS="${save_CPPFLAGS}"
1369 if expr 1.1.5 \> `${SDL_CONFIG} --version` >/dev/null
1371 AC_MSG_ERROR([The development package for SDL is not installed.
1372 Please install it and try again. Alternatively you can also configure with
1375 elif test "x${enable_sdl}" = "xyes"
1377 AC_MSG_ERROR([I couldn't find the SDL package. You can download libSDL
1378 from http://www.libsdl.org/, or configure with --disable-sdl. Have a nice day.
1384 dnl Windows DirectX module
1386 AC_ARG_ENABLE(directx,
1387 [ --enable-directx Win32 DirectX support (default enabled on Win32)])
1388 if test "x${enable_directx}" != "xno"
1390 if test "x${SYS}" = "xmingw32"
1392 AC_ARG_WITH(directx,
1393 [ --with-directx=PATH Win32 DirectX headers])
1394 if test "x${with_directx}" = "x"
1396 AC_CHECK_HEADERS(ddraw.h,
1397 [ PLUGINS="${PLUGINS} video_output/directx/directx"
1398 directx_LDFLAGS="${directx_LDFLAGS} -lgdi32" ])
1400 AC_MSG_CHECKING(for directX headers in ${with_directx})
1401 if test -f ${with_directx}/ddraw.h
1403 PLUGINS="${PLUGINS} video_output/directx/directx"
1404 directx_LDFLAGS="${directx_LDFLAGS} -lgdi32"
1405 directx_CFLAGS="${directx_CFLAGS} -I${with_directx}"
1409 AC_MSG_ERROR([Cannot find ${with_directx}/ddraw.h!])
1416 dnl Linux framebuffer module
1419 [ --enable-fb Linux framebuffer support (default enabled on Linux)])
1420 if test "x${enable_fb}" != "xno"
1422 AC_CHECK_HEADERS(linux/fb.h, [
1423 PLUGINS="${PLUGINS} video_output/fb"
1428 dnl Linux MGA module
1431 [ --enable-mga Linux kernel Matrox support (default disabled)],
1432 [ if test "x${enable_mga}" = "xyes"
1434 PLUGINS="${PLUGINS} video_output/mga/mga video_output/mga/xmga"
1440 AC_ARG_ENABLE(svgalib,
1441 [ --enable-svgalib SVGAlib support (default disabled)])
1442 if test "x${enable_svgalib}" = "xyes"
1444 PLUGINS="${PLUGINS} video_output/svgalib"
1445 svgalib_LDFLAGS="${svgalib_LDFLAGS} -lvgagl -lvga"
1452 [ --enable-ggi GGI support (default disabled)])
1453 if test "x${enable_ggi}" = "xyes"
1455 PLUGINS="${PLUGINS} video_output/ggi"
1456 ggi_LDFLAGS="${ggi_LDFLAGS} -lggi"
1458 [ --with-ggi=PATH path to libggi],
1459 [ if test "x${with_ggi}" != "xno" -a "x${with_ggi}" != "x"
1461 CFLAGS_GGI="${CFLAGS_GGI} -I${with_ggi}/include"
1462 ggi_LDFLAGS="${ggi_LDFLAGS} -L${with_ggi}/lib"
1469 AC_ARG_ENABLE(glide,
1470 [ --enable-glide Glide (3dfx) support (default disabled)])
1471 if test "x${enable_glide}" = "xyes"
1473 PLUGINS="${PLUGINS} video_output/glide"
1474 glide_LDFLAGS="${glide_LDFLAGS} -lglide2x -lm"
1475 glide_CFLAGS="${glide_CFLAGS} -I/usr/include/glide"
1477 [ --with-glide=PATH path to libglide],
1478 [ if test "x${with_glide}" != "xno" -a "x${with_glide}" != "x"
1480 glide_CFLAGS="${glide_CFLAGS} -I${with_glide}/include"
1481 glide_LDFLAGS="${glide_LDFLAGS} -L${with_glide}/lib"
1489 [ --enable-aa aalib output (default disabled)])
1490 if test "x${enable_aa}" = "xyes"
1492 AC_CHECK_HEADER(aalib.h,have_aa="true",have_aa="false")
1493 if test "x${have_aa}" = "xtrue"
1495 PLUGINS="${PLUGINS} video_output/aa"
1496 aa_LDFLAGS="${aa_LDFLAGS} -laa"
1504 AC_ARG_WITH(,[Audio plugins:])
1507 dnl OSS /dev/dsp module (enabled by default except on win32)
1510 [ --enable-oss Linux OSS /dev/dsp support (enabled on Linux)])
1512 if test "x${enable_oss}" != "xno" &&
1513 (test "x${SYS}" != "xmingw32" || test "x${enable_oss}" = "xyes")
1515 AC_CHECK_HEADERS(soundcard.h sys/soundcard.h machine/soundcard.h, [
1516 PLUGINS="${PLUGINS} audio_output/oss"
1517 AC_CHECK_LIB(ossaudio,main,oss_LDFLAGS="${oss_LDFLAGS} -lossaudio")
1525 [ --enable-esd Esound library support (default disabled)],
1526 [if test "x${enable_esd}" = "xyes"
1528 AC_PATH_PROG(ESD_CONFIG, esd-config, no)
1529 if test "x${ESD_CONFIG}" != "xno"
1531 PLUGINS="${PLUGINS} audio_output/esd"
1532 esd_CFLAGS="${esd_CFLAGS} `${ESD_CONFIG} --cflags`"
1533 esd_LDFLAGS="${esd_LDFLAGS} `${ESD_CONFIG} --libs`"
1541 [ --enable-arts aRts sound server (default disabled)],
1542 [if test "x${enable_arts}" = "xyes"
1544 AC_PATH_PROG(ARTS_CONFIG, artsc-config, no)
1545 if test "x${ARTS_CONFIG}" != "xno"
1547 PLUGINS="${PLUGINS} audio_output/arts"
1548 arts_CFLAGS="${arts_CFLAGS} `${ARTS_CONFIG} --cflags`"
1549 arts_LDFLAGS="${arts_LDFLAGS} `${ARTS_CONFIG} --libs `"
1557 [ --enable-alsa ALSA sound support for Linux (default disabled)],
1558 [if test "x${enable_alsa}" = "xyes"
1560 AC_CHECK_HEADER(alsa/asoundlib.h, AC_CHECK_LIB(asound, main, have_alsa="true", have_alsa="false"),have_alsa="false")
1561 if test "x${have_alsa}" = "xtrue"
1563 PLUGINS="${PLUGINS} audio_output/alsa"
1564 alsa_LDFLAGS="${alsa_LDFLAGS} -lasound -lm -ldl"
1569 dnl win32 waveOut plugin
1571 AC_ARG_ENABLE(waveout,
1572 [ --enable-waveout Win32 waveOut module (default enabled on Win32)])
1573 if test "x${enable_waveout}" != "xno" -a "x${SYS}" = "xmingw32"
1575 PLUGINS="${PLUGINS} audio_output/waveout"
1576 waveout_LDFLAGS="-lwinmm"
1580 dnl Interface plugins
1583 AC_ARG_WITH(,[Interface plugins:])
1585 dnl special case for BeOS
1586 if test "x${SYS}" = "xbeos"
1588 PLUGINS="${PLUGINS} gui/beos/beos"
1595 [ --enable-gtk Gtk+ support (default enabled)])
1596 if test "x${enable_gtk}" != "xno"
1599 AC_ARG_WITH(gtk-config-path,
1600 [ --with-gtk-config-path=PATH gtk-config path (default search in \$PATH)],
1601 [ if test "x${with_gtk_config_path}" != "xno"
1603 GTK_PATH="${with_gtk_config_path}:${PATH}"
1605 # look for gtk-config
1606 AC_PATH_PROG(GTK12_CONFIG, gtk12-config, no, ${GTK_PATH})
1607 GTK_CONFIG=${GTK12_CONFIG}
1608 if test "x${GTK_CONFIG}" = "xno"
1610 AC_PATH_PROG(GTK_CONFIG, gtk-config, no, ${GTK_PATH})
1612 if test "x${GTK_CONFIG}" != "xno"
1614 if expr 1.2.0 \> `${GTK_CONFIG} --version` >/dev/null
1616 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.])
1618 gtk_CFLAGS="${gtk_CFLAGS} `${GTK_CONFIG} --cflags gtk gthread`"
1619 gtk_LDFLAGS="${gtk_LDFLAGS} `${GTK_CONFIG} --libs gtk gthread | sed 's,-rdynamic,,'`"
1620 # now look for the gtk.h header
1621 CPPFLAGS="${save_CPPFLAGS} ${gtk_CFLAGS}"
1622 ac_cv_gtk_headers=yes
1623 AC_CHECK_HEADERS(gtk/gtk.h glib.h gdk/gdk.h, , [
1624 ac_cv_gtk_headers=no
1625 echo "Cannot find gtk development headers."
1627 if test "x${ac_cv_gtk_headers}" = "xyes"
1629 PLUGINS="${PLUGINS} gui/gtk/gtk"
1631 ALIASES="${ALIASES} gvlc"
1633 CPPFLAGS="${save_CPPFLAGS}"
1638 dnl Familiar module uses Gtk+ library
1640 AC_ARG_ENABLE(familiar,
1641 [ --enable-familiar Familiar Gtk+ support (default disabled)])
1642 if test "x${enable_familiar}" = "xyes"
1645 AC_ARG_WITH(gtk-config-path,
1646 [ --with-gtk-config-path=PATH gtk-config path (default search in \$PATH)],
1647 [ if test "x${with_gtk_config_path}" != "xno"
1649 GTK_PATH="${with_gtk_config_path}:${PATH}"
1651 # look for gtk-config
1652 AC_PATH_PROG(GTK12_CONFIG, gtk12-config, no, ${GTK_PATH})
1653 GTK_CONFIG=${GTK12_CONFIG}
1654 if test "x${GTK_CONFIG}" = "xno"
1656 AC_PATH_PROG(GTK_CONFIG, gtk-config, no, ${GTK_PATH})
1658 if test "x${GTK_CONFIG}" != "xno"
1660 if expr 1.2.0 \> `${GTK_CONFIG} --version` >/dev/null
1662 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.])
1664 familiar_CFLAGS="${familiar_CFLAGS} `${GTK_CONFIG} --cflags gtk gthread`"
1665 familiar_LDFLAGS="${familiar_LDFLAGS} `${GTK_CONFIG} --libs gtk gthread | sed 's,-rdynamic,,'`"
1666 # now look for the gtk.h header
1667 CPPFLAGS="${save_CPPFLAGS} ${familiar_CFLAGS}"
1668 ac_cv_gtk_headers=yes
1669 AC_CHECK_HEADERS(gtk/gtk.h glib.h gdk/gdk.h, , [
1670 ac_cv_gtk_headers=no
1671 echo "Cannot find gtk development headers."
1673 if test "x${ac_cv_gtk_headers}" = "xyes"
1675 PLUGINS="${PLUGINS} gui/familiar/familiar"
1678 CPPFLAGS="${save_CPPFLAGS}"
1685 AC_ARG_ENABLE(gnome,
1686 [ --enable-gnome Gnome interface support (default disabled)],
1687 [if test "x${enable_gnome}" = "xyes"; then
1688 # look for gnome-config
1689 AC_PATH_PROG(GNOME_CONFIG, gnome-config, no)
1690 if test -x ${GNOME_CONFIG}
1692 gnome_CFLAGS="${gnome_CFLAGS} `${GNOME_CONFIG} --cflags gtk gnomeui`"
1693 gnome_LDFLAGS="${gnome_LDFLAGS} `${GNOME_CONFIG} --libs gnomeui | sed 's,-rdynamic,,'`"
1695 # now look for the gnome.h header
1696 CPPFLAGS="${save_CPPFLAGS} ${gnome_CFLAGS}"
1697 AC_CHECK_HEADERS(gnome.h, [
1698 PLUGINS="${PLUGINS} gui/gtk/gnome"
1700 ALIASES="${ALIASES} gnome-vlc"
1702 AC_MSG_ERROR([Can't find gnome headers. Please install the gnome
1703 developement tools or remove the --enable-gnome option])
1705 CPPFLAGS="${save_CPPFLAGS}"
1712 [ --enable-qt Qt interface support (default disabled)],
1713 [if test "x${enable_qt}" = "xyes"; then
1714 PLUGINS="${PLUGINS} gui/qt/qt"
1715 ALIASES="${ALIASES} qvlc"
1716 qt_LDFLAGS="${qt_LDFLAGS} -lqt -L${QTDIR}/lib"
1717 qt_CFLAGS="${qt_CFLAGS} -I/usr/include/qt -I${QTDIR}/include"
1718 if test -x ${QTDIR}/bin/moc
1720 MOC=${QTDIR}/bin/moc
1730 [ --enable-kde KDE interface support (default disabled)],
1731 [if test "x${enable_kde}" = "xyes"; then
1732 PLUGINS="${PLUGINS} gui/kde/kde"
1733 ALIASES="${ALIASES} kvlc"
1734 kde_LDFLAGS="${kde_LDFLAGS} -L${KDEDIR}/lib -lkfile"
1735 kde_CFLAGS="${kde_CFLAGS} -I/usr/include/kde -I/usr/include/qt"
1736 kde_CFLAGS="${kde_CFLAGS} -I${KDEDIR}/include -I${QTDIR}/include"
1737 if test -x ${QTDIR}/bin/moc
1739 MOC=${QTDIR}/bin/moc
1746 dnl Qt embedded module
1749 [ --enable-qte Qt embedded interface support (default disabled)],
1750 [if test "x${enable_qte}" = "xyes"; then
1751 PLUGINS="${PLUGINS} gui/qte/qte"
1752 qte_LDFLAGS="${qte_LDFLAGS} -lqte -L${QTEDIR}/lib"
1753 qte_CFLAGS="${qte_CFLAGS} -I/usr/include/qte -I${QTEDIR}/include"
1754 if test -x ${QTEDIR}/bin/moc
1756 MOC=${QTEDIR}/bin/moc
1766 AC_ARG_ENABLE(macosx,
1767 [ --enable-macosx MacOS X support (default enabled on MacOS X)],
1768 [if test "x${enable_macosx}" = "xyes"
1770 BUILTINS="${BUILTINS} gui/macosx/macosx"
1771 macosx_LDFLAGS="${macosx_LDFLAGS} -framework CoreAudio -framework AudioToolbox -framework IOKit -framework Cocoa -framework Carbon -framework AGL -framework QuickTime -lobjc -ObjC"
1773 [AC_CHECK_HEADERS(Cocoa/Cocoa.h,
1774 BUILTINS="${BUILTINS} gui/macosx/macosx"
1775 macosx_LDFLAGS="${macosx_LDFLAGS} -framework CoreAudio -framework AudioToolbox -framework IOKit -framework Cocoa -framework Carbon -framework AGL -framework QuickTime -lobjc -ObjC"
1782 [ --enable-qnx QNX RTOS support (default enabled on QNX RTOS)])
1783 if test "x${enable_qnx}" != "xno"
1785 AC_CHECK_HEADERS(Ph.h, [
1786 PLUGINS="${PLUGINS} gui/qnx/qnx"
1787 qnx_LDFLAGS="${qnx_LDFLAGS} -lasound -lph"
1792 dnl Windows native interface module, built with Borland C++ Builder
1794 AC_ARG_ENABLE(intfwin,
1795 [ --enable-intfwin Win32 interface support (default disabled)],
1796 [ if test "x${enable_intfwin}" != "xno"
1798 AC_ARG_WITH(bcbuilder,
1799 [ --with-bcbuilder=PATH Borland C++ Builder installation path])
1800 if test "x${with_bcbuilder}" != "x"
1802 BCBUILDER="${with_bcbuilder}"
1804 PLUGINS="${PLUGINS} gui/win32/win32"
1810 AC_ARG_ENABLE(ncurses,
1811 [ --enable-ncurses ncurses interface support (default disabled)],
1812 [if test "x${enable_ncurses}" = "xyes"; then
1813 PLUGINS="${PLUGINS} gui/ncurses/ncurses"
1814 ncurses_LDFLAGS="${ncurses_LDFLAGS} -lncurses"
1821 [ --enable-xosd xosd interface support (default disabled)])
1822 if test "x${enable_xosd}" = "xyes"
1824 AC_CHECK_HEADER(xosd.h, have_xosd="true", have_xosd="false")
1825 AC_TRY_COMPILE([#include <xosd.h>],
1826 [void foo() { xosd_init("foo","bar",12,XOSD_top,2,12,42); }],,
1827 AC_DEFINE(HAVE_OLD_XOSD_H, 1, Define if <xosd.h> is pre-1.0.0))
1828 if test "x${have_xosd}" = "xtrue"
1830 PLUGINS="${PLUGINS} visualization/xosd/xosd"
1831 xosd_LDFLAGS="${xosd_LDFLAGS} -lxosd"
1839 [ --enable-lirc lirc support (default disabled)])
1840 if test "x${enable_lirc}" = "xyes"
1842 AC_CHECK_HEADER(lirc/lirc_client.h, AC_CHECK_LIB(lirc_client, lirc_init, have_lirc="true", have_lirc="false"),have_lirc="false")
1843 if test "x${have_lirc}" = "xtrue"
1845 PLUGINS="${PLUGINS} control/lirc/lirc"
1846 lirc_LDFLAGS="${lirc_LDFLAGS} -llirc_client"
1850 AC_ARG_WITH(,[Misc options:])
1853 dnl Endianness check, AC_C_BIGENDIAN doesn't work if we are cross-compiling
1855 dnl We give the user the opportunity to specify
1856 dnl --with-words=big or --with-words=little ; otherwise, try to guess
1859 [ --with-words=endianness set endianness (big or little)])
1860 case "x${with_words}" in
1862 ac_cv_c_bigendian=yes
1865 ac_cv_c_bigendian=no
1868 dnl Try to guess endianness by matching patterns on a compiled
1869 dnl binary, by looking for an ASCII or EBCDIC string
1870 AC_CACHE_CHECK([whether the byte order is big-endian],
1871 [ac_cv_c_bigendian],
1872 [ac_cv_c_bigendian="unknown"
1873 [cat >conftest.c <<EOF
1874 short am[] = { 0x4249, 0x4765, 0x6e44, 0x6961, 0x6e53, 0x7953, 0 };
1875 short ai[] = { 0x694c, 0x5454, 0x656c, 0x6e45, 0x6944, 0x6e61, 0 };
1876 void _a(void) { char*s = (char*)am; s = (char *)ai; }
1877 short ei[] = { 0x89D3, 0xe3e3, 0x8593, 0x95c5, 0x89c4, 0x9581, 0 };
1878 short em[] = { 0xc2c9, 0xc785, 0x95c4, 0x8981, 0x95e2, 0xa8e2, 0 };
1879 void _e(void) { char*s = (char*)em; s = (char*)ei; }
1880 int main(void) { _a(); _e(); return 0; }
1883 if test -f conftest.c
1885 if ${CC-cc} -c conftest.c -o conftest.o >config.log 2>&1 \
1886 && test -f conftest.o
1888 if test "`strings conftest.o | grep BIGenDianSyS`"
1890 ac_cv_c_bigendian="yes"
1892 if test "`strings conftest.o | grep LiTTleEnDian`"
1894 ac_cv_c_bigendian="no"
1899 if test "x${ac_cv_c_bigendian}" = "xunknown"
1901 AC_MSG_ERROR([Could not guess endianness, please use --with-words])
1905 dnl Now we know what to use for endianness, just put it in the header
1906 if test "${ac_cv_c_bigendian}" = "yes"
1908 AC_DEFINE(WORDS_BIGENDIAN, 1, big endian system)
1917 AC_ARG_ENABLE(gprof,
1918 [ --enable-gprof gprof profiling (default disabled)],
1919 [ if test "x${enable_gprof}" = "xyes"
1927 AC_ARG_ENABLE(cprof,
1928 [ --enable-cprof cprof profiling (default disabled)],
1929 [ if test "x${enable_cprof}" = "xyes"
1931 save_LDFLAGS="${save_LDFLAGS} -lcprof"; LDFLAGS="${save_LDFLAGS}"
1938 dnl GNU portable threads
1941 [ --enable-pth GNU Pth support (default disabled)],
1942 [ if test "x${enable_pth}" = "xyes"; then
1943 AC_CHECK_LIB(pth,pth_init)
1944 AC_EGREP_HEADER(pth_init,pth.h,[
1945 AC_DEFINE(PTH_INIT_IN_PTH_H, 1,
1946 Define if <pth.h> defines pth_init)
1955 [ --enable-st State Threads (default disabled)],
1956 [ if test "x${enable_st}" = "xyes"; then
1957 AC_CHECK_LIB(st,st_init)
1958 AC_EGREP_HEADER(st_init,st.h,[
1959 AC_DEFINE(ST_INIT_IN_ST_H, 1,
1960 Define if <st.h> defines st_init)
1965 vlc_LDFLAGS="${vlc_LDFLAGS} ${THREAD_LIB}"
1966 plugins_LDFLAGS="${plugins_LDFLAGS} ${THREAD_LIB}"
1972 AC_ARG_ENABLE(mozilla,
1973 [ --enable-mozilla build a vlc-based Mozilla plugin (default disabled)])
1974 if test "x${enable_mozilla}" = "xyes"
1976 AC_PATH_PROG(MOZILLA_CONFIG, mozilla-config, no)
1977 if test "x${MOZILLA_CONFIG}" != "xno"
1979 if test "x${SYS}" != "xmingw32"; then
1980 LDFLAGS="${save_LDFLAGS} -L${x_libraries}"
1981 AC_CHECK_LIB(Xt,XtStrings,[
1982 mozilla_LDFLAGS="${mozilla_LDFLAGS} -L${x_libraries} -lXt"
1984 LDFLAGS="${save_LDFLAGS}"
1987 mozilla_CFLAGS="${mozilla_CFLAGS} `${MOZILLA_CONFIG} --cflags plugin java --defines | xargs`"
1988 dnl Workaround for http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=150490
1989 mozilla_LDFLAGS="${mozilla_LDFLAGS} `${MOZILLA_CONFIG} --libs | sed 's#-I\(.*\)/mozilla/\([^ ]*\)#-I\1/\2 -I\1/mozilla/\2#g'`"
1996 if test "x${NEED_GTK_MAIN}" != "xno"
1998 PLUGINS="${PLUGINS} misc/gtk_main"
1999 gtk_main_CFLAGS="${gtk_main_CFLAGS} ${gtk_CFLAGS} ${familiar_CFLAGS} ${gnome_CFLAGS}"
2000 gtk_main_LDFLAGS="${gtk_main_LDFLAGS} ${gtk_LDFLAGS} ${familiar_LDFLAGS} ${gnome_LDFLAGS}"
2004 dnl Plug-ins - this must be AT THE END
2006 AC_ARG_ENABLE(plugins,
2007 [ --disable-plugins make all plug-ins built-in (default plug-ins enabled)],
2008 [if test "x${enable_plugins}" = "xno"
2010 BUILTINS="${BUILTINS} ${PLUGINS}"
2014 dnl Automagically disable plug-ins if there is no system support for .so files
2015 dnl don't forget vlc-win32 still can load .so as plugins
2016 if test "x${ac_cv_header_dlfcn_h}" = "xno" -a "x${ac_cv_header_image_h}" = "xno" -a "x${SYS}" != "xmingw32"
2018 echo "*** Your system doesn't have plug-in support. All plug-ins will be compiled"
2020 BUILTINS="${BUILTINS} ${PLUGINS}"
2025 dnl Stuff used by the program
2027 AC_DEFINE_UNQUOTED(VERSION_MESSAGE, "vlc ${VERSION} ${CODENAME} Copyright 1996-2002 VideoLAN", [Simple version string])
2028 AC_DEFINE_UNQUOTED(COPYRIGHT_MESSAGE, "VideoLAN Client - version ${VERSION} ${CODENAME} - (c) 1996-2002 VideoLAN", [Copyright string])
2029 AC_DEFINE_UNQUOTED(CONFIGURE_LINE, "${CONFIGURE_LINE}", [The ./configure command line])
2031 VLC_SYMBOL="`echo ${VERSION} | tr .- __`"
2032 AC_DEFINE_UNQUOTED(MODULE_SUFFIX, "__${VLC_SYMBOL}", [String suffix for module functions])
2033 AC_DEFINE_UNQUOTED(MODULE_SYMBOL, ${VLC_SYMBOL}, [Symbol suffix for module functions])
2035 DATA_PATH="${ac_tool_prefix}/share/videolan"
2037 PLUGIN_PATH="${ac_tool_prefix}/share/videolan"
2038 AC_SUBST(PLUGIN_PATH)
2043 CPPFLAGS="${save_CPPFLAGS}"
2044 CFLAGS="${save_CFLAGS}"
2045 LDFLAGS="${save_LDFLAGS}"
2048 dnl Create the vlc-config script
2050 libvlc_LDFLAGS="${vlc_LDFLAGS} ${builtins_LDFLAGS}"
2051 for i in `echo ${BUILTINS} | sed -e 's#[^ ]*/##g'` ; do libvlc_LDFLAGS="${libvlc_LDFLAGS} ${libdir}/vlc/${i}.a `eval echo '$'{${i}_LDFLAGS}`" ; done
2052 AC_SUBST(libvlc_LDFLAGS)
2055 dnl Configuration is finished
2072 AC_SUBST(NEED_GETOPT)
2075 AC_SUBST(CFLAGS_OPTIM)
2076 AC_SUBST(CFLAGS_OPTIM_NODEBUG)
2079 AC_SUBST(vlc_CFLAGS)
2080 AC_SUBST(plugins_CFLAGS)
2081 AC_SUBST(builtins_CFLAGS)
2082 AC_SUBST(mozilla_CFLAGS)
2084 AC_SUBST(a52tofloat32_CFLAGS)
2085 AC_SUBST(arts_CFLAGS)
2086 AC_SUBST(i420_yuy2_mmx_CFLAGS)
2087 AC_SUBST(dvd_CFLAGS)
2088 AC_SUBST(dvdread_CFLAGS)
2089 AC_SUBST(dvdplay_CFLAGS)
2090 AC_SUBST(ts_dvbpsi_CFLAGS)
2091 AC_SUBST(directx_CFLAGS)
2092 AC_SUBST(esd_CFLAGS)
2093 AC_SUBST(familiar_CFLAGS)
2094 AC_SUBST(faad_CFLAGS)
2095 AC_SUBST(ffmpeg_CFLAGS)
2096 AC_SUBST(glide_CFLAGS)
2097 AC_SUBST(gnome_CFLAGS)
2098 AC_SUBST(gtk_CFLAGS)
2099 AC_SUBST(gtk_main_CFLAGS)
2100 AC_SUBST(kde_CFLAGS)
2101 AC_SUBST(idctaltivec_CFLAGS)
2102 AC_SUBST(macosx_CFLAGS)
2103 AC_SUBST(mad_CFLAGS)
2104 AC_SUBST(memcpyaltivec_CFLAGS)
2105 AC_SUBST(motionaltivec_CFLAGS)
2107 AC_SUBST(qte_CFLAGS)
2108 AC_SUBST(sdl_CFLAGS)
2109 AC_SUBST(svgalib_CFLAGS)
2110 AC_SUBST(x11_CFLAGS)
2111 AC_SUBST(xvideo_CFLAGS)
2113 AC_SUBST(vlc_LDFLAGS)
2114 AC_SUBST(plugins_LDFLAGS)
2115 AC_SUBST(builtins_LDFLAGS)
2116 AC_SUBST(mozilla_LDFLAGS)
2118 AC_SUBST(a52tofloat32_LDFLAGS)
2119 AC_SUBST(aa_LDFLAGS)
2120 AC_SUBST(alsa_LDFLAGS)
2121 AC_SUBST(arts_LDFLAGS)
2122 AC_SUBST(beos_LDFLAGS)
2123 AC_SUBST(i420_rgb_LDFLAGS)
2124 AC_SUBST(directx_LDFLAGS)
2125 AC_SUBST(dv_LDFLAGS)
2126 AC_SUBST(dvd_LDFLAGS)
2127 AC_SUBST(dvdread_LDFLAGS)
2128 AC_SUBST(dvdplay_LDFLAGS)
2129 AC_SUBST(ts_dvbpsi_LDFLAGS)
2130 AC_SUBST(audio_LDFLAGS)
2131 AC_SUBST(esd_LDFLAGS)
2132 AC_SUBST(familiar_LDFLAGS)
2133 AC_SUBST(distort_LDFLAGS)
2134 AC_SUBST(faad_LDFLAGS)
2135 AC_SUBST(ffmpeg_LDFLAGS)
2136 AC_SUBST(mp4_LDFLAGS)
2137 AC_SUBST(ggi_LDFLAGS)
2138 AC_SUBST(glide_LDFLAGS)
2139 AC_SUBST(gnome_LDFLAGS)
2140 AC_SUBST(gtk_LDFLAGS)
2141 AC_SUBST(gtk_main_LDFLAGS)
2142 AC_SUBST(http_LDFLAGS)
2143 AC_SUBST(idctaltivec_LDFLAGS)
2144 AC_SUBST(imdct_LDFLAGS)
2145 AC_SUBST(imdct3dn_LDFLAGS)
2146 AC_SUBST(imdctsse_LDFLAGS)
2147 AC_SUBST(ipv4_LDFLAGS)
2148 AC_SUBST(ipv6_LDFLAGS)
2149 AC_SUBST(kde_LDFLAGS)
2150 AC_SUBST(lirc_LDFLAGS)
2151 AC_SUBST(macosx_LDFLAGS)
2152 AC_SUBST(mad_LDFLAGS)
2153 AC_SUBST(memcpyaltivec_LDFLAGS)
2154 AC_SUBST(motionaltivec_LDFLAGS)
2155 AC_SUBST(ncurses_LDFLAGS)
2156 AC_SUBST(oss_LDFLAGS)
2157 AC_SUBST(qnx_LDFLAGS)
2158 AC_SUBST(qt_LDFLAGS)
2159 AC_SUBST(qte_LDFLAGS)
2160 AC_SUBST(rc_LDFLAGS)
2161 AC_SUBST(sdl_LDFLAGS)
2162 AC_SUBST(svgalib_LDFLAGS)
2163 AC_SUBST(vcd_LDFLAGS)
2164 AC_SUBST(vorbis_LDFLAGS)
2165 AC_SUBST(waveout_LDFLAGS)
2166 AC_SUBST(x11_LDFLAGS)
2167 AC_SUBST(xvideo_LDFLAGS)
2168 AC_SUBST(xosd_LDFLAGS)
2169 AC_SUBST(id3tag_LDFLAGS)
2180 chmod a+x vlc-config
2185 --------------------
2186 vlc version : ${VERSION}
2188 architecture : ${ARCH}
2189 optimizations : ${OPTIMS}
2191 debug mode : ${DEBUG}
2192 release : ${RELEASE}
2193 profiling : ${PROFILING}
2194 need builtin getopt : ${NEED_GETOPT}
2195 modules : (see Makefile.config)
2196 mozilla plugin : ${MOZILLA}
2197 vlc aliases :${ALIASES}
2199 You may now tune Makefile.config and Makefile.opts at your convenience, for
2200 instance to choose which modules get compiled as plugins, or tune CFLAGS.
2202 To build vlc and its plugins, type \`${VLC_MAKE}'.