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 PLUGINS="${PLUGINS} 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 QT Embedded module
1385 dnl (disabled by default)
1388 [ --enable-qte QT Embedded support (default disabled)])
1389 if test "x${enable_qte}" = "xyes"
1392 [ --with-qte=PATH Qt Embedded headers and libraries])
1393 if test "x${with_qte}" = "x"
1395 test_LDFLAGS="-L${QTDIR}/lib"
1396 test_CFLAGS="-I$(QTDIR)/include/qte"
1398 test_LDFLAGS="-L${with_qte}/lib"
1399 test_CFLAGS="-I${with_qte}/include/qte"
1402 CPPFLAGS="${save_CPPFLAGS} -I${qte_includes}"
1403 AC_CHECK_HEADERS(qte/qte.h, [
1404 PLUGINS="${PLUGINS} video_output/qte/qte"
1405 qte_CFLAGS ="${qte_CFLAGS} ${test_CFLAGS} -DQT_QWS_IPAQ -DQWS -fno-exceptions -fno-rtti"
1406 qte_LDFLAGS ="${qte_LDFLAGS} ${test_LDFLAGS} -lqpe -lqte"
1408 CPPFLAGS="${save_CPPFLAGS}"
1412 dnl Windows DirectX module
1414 AC_ARG_ENABLE(directx,
1415 [ --enable-directx Win32 DirectX support (default enabled on Win32)])
1416 if test "x${enable_directx}" != "xno"
1418 if test "x${SYS}" = "xmingw32"
1420 AC_ARG_WITH(directx,
1421 [ --with-directx=PATH Win32 DirectX headers])
1422 if test "x${with_directx}" = "x"
1424 AC_CHECK_HEADERS(ddraw.h,
1425 [ PLUGINS="${PLUGINS} video_output/directx/directx"
1426 directx_LDFLAGS="${directx_LDFLAGS} -lgdi32" ])
1428 AC_MSG_CHECKING(for directX headers in ${with_directx})
1429 if test -f ${with_directx}/ddraw.h
1431 PLUGINS="${PLUGINS} video_output/directx/directx"
1432 directx_LDFLAGS="${directx_LDFLAGS} -lgdi32"
1433 directx_CFLAGS="${directx_CFLAGS} -I${with_directx}"
1437 AC_MSG_ERROR([Cannot find ${with_directx}/ddraw.h!])
1444 dnl Linux framebuffer module
1447 [ --enable-fb Linux framebuffer support (default enabled on Linux)])
1448 if test "x${enable_fb}" != "xno"
1450 AC_CHECK_HEADERS(linux/fb.h, [
1451 PLUGINS="${PLUGINS} video_output/fb"
1456 dnl Linux MGA module
1459 [ --enable-mga Linux kernel Matrox support (default disabled)],
1460 [ if test "x${enable_mga}" = "xyes"
1462 PLUGINS="${PLUGINS} video_output/mga/mga video_output/mga/xmga"
1468 AC_ARG_ENABLE(svgalib,
1469 [ --enable-svgalib SVGAlib support (default disabled)])
1470 if test "x${enable_svgalib}" = "xyes"
1472 PLUGINS="${PLUGINS} video_output/svgalib"
1473 svgalib_LDFLAGS="${svgalib_LDFLAGS} -lvgagl -lvga"
1480 [ --enable-ggi GGI support (default disabled)])
1481 if test "x${enable_ggi}" = "xyes"
1483 PLUGINS="${PLUGINS} video_output/ggi"
1484 ggi_LDFLAGS="${ggi_LDFLAGS} -lggi"
1486 [ --with-ggi=PATH path to libggi],
1487 [ if test "x${with_ggi}" != "xno" -a "x${with_ggi}" != "x"
1489 CFLAGS_GGI="${CFLAGS_GGI} -I${with_ggi}/include"
1490 ggi_LDFLAGS="${ggi_LDFLAGS} -L${with_ggi}/lib"
1497 AC_ARG_ENABLE(glide,
1498 [ --enable-glide Glide (3dfx) support (default disabled)])
1499 if test "x${enable_glide}" = "xyes"
1501 PLUGINS="${PLUGINS} video_output/glide"
1502 glide_LDFLAGS="${glide_LDFLAGS} -lglide2x -lm"
1503 glide_CFLAGS="${glide_CFLAGS} -I/usr/include/glide"
1505 [ --with-glide=PATH path to libglide],
1506 [ if test "x${with_glide}" != "xno" -a "x${with_glide}" != "x"
1508 glide_CFLAGS="${glide_CFLAGS} -I${with_glide}/include"
1509 glide_LDFLAGS="${glide_LDFLAGS} -L${with_glide}/lib"
1517 [ --enable-aa aalib output (default disabled)])
1518 if test "x${enable_aa}" = "xyes"
1520 AC_CHECK_HEADER(aalib.h,have_aa="true",have_aa="false")
1521 if test "x${have_aa}" = "xtrue"
1523 PLUGINS="${PLUGINS} video_output/aa"
1524 aa_LDFLAGS="${aa_LDFLAGS} -laa"
1532 AC_ARG_WITH(,[Audio plugins:])
1535 dnl OSS /dev/dsp module (enabled by default except on win32)
1538 [ --enable-oss Linux OSS /dev/dsp support (enabled on Linux)])
1540 if test "x${enable_oss}" != "xno" &&
1541 (test "x${SYS}" != "xmingw32" || test "x${enable_oss}" = "xyes")
1543 AC_CHECK_HEADERS(soundcard.h sys/soundcard.h machine/soundcard.h, [
1544 PLUGINS="${PLUGINS} audio_output/oss"
1545 AC_CHECK_LIB(ossaudio,main,oss_LDFLAGS="${oss_LDFLAGS} -lossaudio")
1553 [ --enable-esd Esound library support (default disabled)],
1554 [if test "x${enable_esd}" = "xyes"
1556 AC_PATH_PROG(ESD_CONFIG, esd-config, no)
1557 if test "x${ESD_CONFIG}" != "xno"
1559 PLUGINS="${PLUGINS} audio_output/esd"
1560 esd_CFLAGS="${esd_CFLAGS} `${ESD_CONFIG} --cflags`"
1561 esd_LDFLAGS="${esd_LDFLAGS} `${ESD_CONFIG} --libs`"
1569 [ --enable-arts aRts sound server (default disabled)],
1570 [if test "x${enable_arts}" = "xyes"
1572 AC_PATH_PROG(ARTS_CONFIG, artsc-config, no)
1573 if test "x${ARTS_CONFIG}" != "xno"
1575 PLUGINS="${PLUGINS} audio_output/arts"
1576 arts_CFLAGS="${arts_CFLAGS} `${ARTS_CONFIG} --cflags`"
1577 arts_LDFLAGS="${arts_LDFLAGS} `${ARTS_CONFIG} --libs `"
1585 [ --enable-alsa ALSA sound support for Linux (default disabled)],
1586 [if test "x${enable_alsa}" = "xyes"
1588 AC_CHECK_HEADER(alsa/asoundlib.h, AC_CHECK_LIB(asound, main, have_alsa="true", have_alsa="false"),have_alsa="false")
1589 if test "x${have_alsa}" = "xtrue"
1591 PLUGINS="${PLUGINS} audio_output/alsa"
1592 alsa_LDFLAGS="${alsa_LDFLAGS} -lasound -lm -ldl"
1597 dnl win32 waveOut plugin
1599 AC_ARG_ENABLE(waveout,
1600 [ --enable-waveout Win32 waveOut module (default enabled on Win32)])
1601 if test "x${enable_waveout}" != "xno" -a "x${SYS}" = "xmingw32"
1603 PLUGINS="${PLUGINS} audio_output/waveout"
1604 waveout_LDFLAGS="-lwinmm"
1608 dnl Interface plugins
1611 AC_ARG_WITH(,[Interface plugins:])
1613 dnl special case for BeOS
1614 if test "x${SYS}" = "xbeos"
1616 PLUGINS="${PLUGINS} gui/beos/beos"
1623 [ --enable-gtk Gtk+ support (default enabled)])
1624 if test "x${enable_gtk}" != "xno"
1627 AC_ARG_WITH(gtk-config-path,
1628 [ --with-gtk-config-path=PATH gtk-config path (default search in \$PATH)],
1629 [ if test "x${with_gtk_config_path}" != "xno"
1631 GTK_PATH="${with_gtk_config_path}:${PATH}"
1633 # look for gtk-config
1634 AC_PATH_PROG(GTK12_CONFIG, gtk12-config, no, ${GTK_PATH})
1635 GTK_CONFIG=${GTK12_CONFIG}
1636 if test "x${GTK_CONFIG}" = "xno"
1638 AC_PATH_PROG(GTK_CONFIG, gtk-config, no, ${GTK_PATH})
1640 if test "x${GTK_CONFIG}" != "xno"
1642 if expr 1.2.0 \> `${GTK_CONFIG} --version` >/dev/null
1644 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.])
1646 gtk_CFLAGS="${gtk_CFLAGS} `${GTK_CONFIG} --cflags gtk gthread`"
1647 gtk_LDFLAGS="${gtk_LDFLAGS} `${GTK_CONFIG} --libs gtk gthread | sed 's,-rdynamic,,'`"
1648 # now look for the gtk.h header
1649 CPPFLAGS="${save_CPPFLAGS} ${gtk_CFLAGS}"
1650 ac_cv_gtk_headers=yes
1651 AC_CHECK_HEADERS(gtk/gtk.h glib.h gdk/gdk.h, , [
1652 ac_cv_gtk_headers=no
1653 echo "Cannot find gtk development headers."
1655 if test "x${ac_cv_gtk_headers}" = "xyes"
1657 PLUGINS="${PLUGINS} gui/gtk/gtk"
1659 ALIASES="${ALIASES} gvlc"
1661 CPPFLAGS="${save_CPPFLAGS}"
1666 dnl Familiar module uses Gtk+ library
1668 AC_ARG_ENABLE(familiar,
1669 [ --enable-familiar Familiar Gtk+ support (default disabled)])
1670 if test "x${enable_familiar}" = "xyes"
1673 AC_ARG_WITH(gtk-config-path,
1674 [ --with-gtk-config-path=PATH gtk-config path (default search in \$PATH)],
1675 [ if test "x${with_gtk_config_path}" != "xno"
1677 GTK_PATH="${with_gtk_config_path}:${PATH}"
1679 # look for gtk-config
1680 AC_PATH_PROG(GTK12_CONFIG, gtk12-config, no, ${GTK_PATH})
1681 GTK_CONFIG=${GTK12_CONFIG}
1682 if test "x${GTK_CONFIG}" = "xno"
1684 AC_PATH_PROG(GTK_CONFIG, gtk-config, no, ${GTK_PATH})
1686 if test "x${GTK_CONFIG}" != "xno"
1688 if expr 1.2.0 \> `${GTK_CONFIG} --version` >/dev/null
1690 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.])
1692 familiar_CFLAGS="${familiar_CFLAGS} `${GTK_CONFIG} --cflags gtk gthread`"
1693 familiar_LDFLAGS="${familiar_LDFLAGS} `${GTK_CONFIG} --libs gtk gthread | sed 's,-rdynamic,,'`"
1694 # now look for the gtk.h header
1695 CPPFLAGS="${save_CPPFLAGS} ${familiar_CFLAGS}"
1696 ac_cv_gtk_headers=yes
1697 AC_CHECK_HEADERS(gtk/gtk.h glib.h gdk/gdk.h, , [
1698 ac_cv_gtk_headers=no
1699 echo "Cannot find gtk development headers."
1701 if test "x${ac_cv_gtk_headers}" = "xyes"
1703 PLUGINS="${PLUGINS} gui/familiar/familiar"
1706 CPPFLAGS="${save_CPPFLAGS}"
1713 AC_ARG_ENABLE(gnome,
1714 [ --enable-gnome Gnome interface support (default disabled)],
1715 [if test "x${enable_gnome}" = "xyes"; then
1716 # look for gnome-config
1717 AC_PATH_PROG(GNOME_CONFIG, gnome-config, no)
1718 if test -x ${GNOME_CONFIG}
1720 gnome_CFLAGS="${gnome_CFLAGS} `${GNOME_CONFIG} --cflags gtk gnomeui`"
1721 gnome_LDFLAGS="${gnome_LDFLAGS} `${GNOME_CONFIG} --libs gnomeui | sed 's,-rdynamic,,'`"
1723 # now look for the gnome.h header
1724 CPPFLAGS="${save_CPPFLAGS} ${gnome_CFLAGS}"
1725 AC_CHECK_HEADERS(gnome.h, [
1726 PLUGINS="${PLUGINS} gui/gtk/gnome"
1728 ALIASES="${ALIASES} gnome-vlc"
1730 AC_MSG_ERROR([Can't find gnome headers. Please install the gnome
1731 developement tools or remove the --enable-gnome option])
1733 CPPFLAGS="${save_CPPFLAGS}"
1740 [ --enable-qt Qt interface support (default disabled)],
1741 [if test "x${enable_qt}" = "xyes"; then
1742 PLUGINS="${PLUGINS} gui/qt/qt"
1743 ALIASES="${ALIASES} qvlc"
1744 qt_LDFLAGS="${qt_LDFLAGS} -lqt -L${QTDIR}/lib"
1745 qt_CFLAGS="${qt_CFLAGS} -I/usr/include/qt -I${QTDIR}/include"
1746 if test -x ${QTDIR}/bin/moc
1748 MOC=${QTDIR}/bin/moc
1758 [ --enable-kde KDE interface support (default disabled)],
1759 [if test "x${enable_kde}" = "xyes"; then
1760 PLUGINS="${PLUGINS} gui/kde/kde"
1761 ALIASES="${ALIASES} kvlc"
1762 kde_LDFLAGS="${kde_LDFLAGS} -L${KDEDIR}/lib -lkfile"
1763 kde_CFLAGS="${kde_CFLAGS} -I/usr/include/kde -I/usr/include/qt"
1764 kde_CFLAGS="${kde_CFLAGS} -I${KDEDIR}/include -I${QTDIR}/include"
1765 if test -x ${QTDIR}/bin/moc
1767 MOC=${QTDIR}/bin/moc
1774 dnl Opie QT embedded module
1777 [ --enable-opie Qt embedded interface support (default disabled)],
1778 [if test "x${enable_opie}" = "xyes"; then
1780 [ --with-qte=PATH Qt Embedded headers and libraries])
1781 if test "x${with_qte}" = "x"
1783 test_LDFLAGS="-L$(QTDIR)/lib"
1784 test_CFLAGS="-I${QTDIR}/include/qte"
1786 test_LDFLAGS="-L${with_qte}/lib"
1787 test_CFLAGS="-I${with_qte}/include/qte"
1790 PLUGINS="${PLUGINS} gui/opie/opie"
1791 opie_LDFLAGS="${opie_LDFLAGS} ${test_LDFLAGS} -lqte"
1792 opie_CFLAGS="${opie_CFLAGS} ${test_CFLAGS}"
1793 if test -x ${QTEDIR}/bin/moc
1795 MOC=${QTEDIR}/bin/moc
1805 AC_ARG_ENABLE(macosx,
1806 [ --enable-macosx MacOS X support (default enabled on MacOS X)],
1807 [if test "x${enable_macosx}" = "xyes"
1809 BUILTINS="${BUILTINS} gui/macosx/macosx"
1810 macosx_LDFLAGS="${macosx_LDFLAGS} -framework CoreAudio -framework AudioToolbox -framework IOKit -framework Cocoa -framework Carbon -framework AGL -framework QuickTime -lobjc -ObjC"
1812 [AC_CHECK_HEADERS(Cocoa/Cocoa.h,
1813 BUILTINS="${BUILTINS} gui/macosx/macosx"
1814 macosx_LDFLAGS="${macosx_LDFLAGS} -framework CoreAudio -framework AudioToolbox -framework IOKit -framework Cocoa -framework Carbon -framework AGL -framework QuickTime -lobjc -ObjC"
1821 [ --enable-qnx QNX RTOS support (default enabled on QNX RTOS)])
1822 if test "x${enable_qnx}" != "xno"
1824 AC_CHECK_HEADERS(Ph.h, [
1825 PLUGINS="${PLUGINS} gui/qnx/qnx"
1826 qnx_LDFLAGS="${qnx_LDFLAGS} -lasound -lph"
1831 dnl Windows native interface module, built with Borland C++ Builder
1833 AC_ARG_ENABLE(intfwin,
1834 [ --enable-intfwin Win32 interface support (default disabled)],
1835 [ if test "x${enable_intfwin}" != "xno"
1837 AC_ARG_WITH(bcbuilder,
1838 [ --with-bcbuilder=PATH Borland C++ Builder installation path])
1839 if test "x${with_bcbuilder}" != "x"
1841 BCBUILDER="${with_bcbuilder}"
1843 PLUGINS="${PLUGINS} gui/win32/win32"
1849 AC_ARG_ENABLE(ncurses,
1850 [ --enable-ncurses ncurses interface support (default disabled)],
1851 [if test "x${enable_ncurses}" = "xyes"; then
1852 PLUGINS="${PLUGINS} gui/ncurses/ncurses"
1853 ncurses_LDFLAGS="${ncurses_LDFLAGS} -lncurses"
1860 [ --enable-xosd xosd interface support (default disabled)])
1861 if test "x${enable_xosd}" = "xyes"
1863 AC_CHECK_HEADER(xosd.h, have_xosd="true", have_xosd="false")
1864 AC_TRY_COMPILE([#include <xosd.h>],
1865 [void foo() { xosd_init("foo","bar",12,XOSD_top,2,12,42); }],,
1866 AC_DEFINE(HAVE_OLD_XOSD_H, 1, Define if <xosd.h> is pre-1.0.0))
1867 if test "x${have_xosd}" = "xtrue"
1869 PLUGINS="${PLUGINS} visualization/xosd/xosd"
1870 xosd_LDFLAGS="${xosd_LDFLAGS} -lxosd"
1878 [ --enable-lirc lirc support (default disabled)])
1879 if test "x${enable_lirc}" = "xyes"
1881 AC_CHECK_HEADER(lirc/lirc_client.h, AC_CHECK_LIB(lirc_client, lirc_init, have_lirc="true", have_lirc="false"),have_lirc="false")
1882 if test "x${have_lirc}" = "xtrue"
1884 PLUGINS="${PLUGINS} control/lirc/lirc"
1885 lirc_LDFLAGS="${lirc_LDFLAGS} -llirc_client"
1889 AC_ARG_WITH(,[Misc options:])
1892 dnl Endianness check, AC_C_BIGENDIAN doesn't work if we are cross-compiling
1894 dnl We give the user the opportunity to specify
1895 dnl --with-words=big or --with-words=little ; otherwise, try to guess
1898 [ --with-words=endianness set endianness (big or little)])
1899 case "x${with_words}" in
1901 ac_cv_c_bigendian=yes
1904 ac_cv_c_bigendian=no
1907 dnl Try to guess endianness by matching patterns on a compiled
1908 dnl binary, by looking for an ASCII or EBCDIC string
1909 AC_CACHE_CHECK([whether the byte order is big-endian],
1910 [ac_cv_c_bigendian],
1911 [ac_cv_c_bigendian="unknown"
1912 [cat >conftest.c <<EOF
1913 short am[] = { 0x4249, 0x4765, 0x6e44, 0x6961, 0x6e53, 0x7953, 0 };
1914 short ai[] = { 0x694c, 0x5454, 0x656c, 0x6e45, 0x6944, 0x6e61, 0 };
1915 void _a(void) { char*s = (char*)am; s = (char *)ai; }
1916 short ei[] = { 0x89D3, 0xe3e3, 0x8593, 0x95c5, 0x89c4, 0x9581, 0 };
1917 short em[] = { 0xc2c9, 0xc785, 0x95c4, 0x8981, 0x95e2, 0xa8e2, 0 };
1918 void _e(void) { char*s = (char*)em; s = (char*)ei; }
1919 int main(void) { _a(); _e(); return 0; }
1922 if test -f conftest.c
1924 if ${CC-cc} -c conftest.c -o conftest.o >config.log 2>&1 \
1925 && test -f conftest.o
1927 if test "`strings conftest.o | grep BIGenDianSyS`"
1929 ac_cv_c_bigendian="yes"
1931 if test "`strings conftest.o | grep LiTTleEnDian`"
1933 ac_cv_c_bigendian="no"
1938 if test "x${ac_cv_c_bigendian}" = "xunknown"
1940 AC_MSG_ERROR([Could not guess endianness, please use --with-words])
1944 dnl Now we know what to use for endianness, just put it in the header
1945 if test "${ac_cv_c_bigendian}" = "yes"
1947 AC_DEFINE(WORDS_BIGENDIAN, 1, big endian system)
1956 AC_ARG_ENABLE(gprof,
1957 [ --enable-gprof gprof profiling (default disabled)],
1958 [ if test "x${enable_gprof}" = "xyes"
1966 AC_ARG_ENABLE(cprof,
1967 [ --enable-cprof cprof profiling (default disabled)],
1968 [ if test "x${enable_cprof}" = "xyes"
1970 save_LDFLAGS="${save_LDFLAGS} -lcprof"; LDFLAGS="${save_LDFLAGS}"
1977 dnl GNU portable threads
1980 [ --enable-pth GNU Pth support (default disabled)],
1981 [ if test "x${enable_pth}" = "xyes"; then
1982 AC_CHECK_LIB(pth,pth_init)
1983 AC_EGREP_HEADER(pth_init,pth.h,[
1984 AC_DEFINE(PTH_INIT_IN_PTH_H, 1,
1985 Define if <pth.h> defines pth_init)
1994 [ --enable-st State Threads (default disabled)],
1995 [ if test "x${enable_st}" = "xyes"; then
1996 AC_CHECK_LIB(st,st_init)
1997 AC_EGREP_HEADER(st_init,st.h,[
1998 AC_DEFINE(ST_INIT_IN_ST_H, 1,
1999 Define if <st.h> defines st_init)
2004 vlc_LDFLAGS="${vlc_LDFLAGS} ${THREAD_LIB}"
2005 plugins_LDFLAGS="${plugins_LDFLAGS} ${THREAD_LIB}"
2011 AC_ARG_ENABLE(mozilla,
2012 [ --enable-mozilla build a vlc-based Mozilla plugin (default disabled)])
2013 if test "x${enable_mozilla}" = "xyes"
2015 AC_PATH_PROG(MOZILLA_CONFIG, mozilla-config, no)
2016 if test "x${MOZILLA_CONFIG}" != "xno"
2018 if test "x${SYS}" != "xmingw32"; then
2019 LDFLAGS="${save_LDFLAGS} -L${x_libraries}"
2020 AC_CHECK_LIB(Xt,XtStrings,[
2021 mozilla_LDFLAGS="${mozilla_LDFLAGS} -L${x_libraries} -lXt"
2023 LDFLAGS="${save_LDFLAGS}"
2026 mozilla_CFLAGS="${mozilla_CFLAGS} `${MOZILLA_CONFIG} --cflags plugin java --defines | xargs`"
2027 dnl Workaround for http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=150490
2028 mozilla_LDFLAGS="${mozilla_LDFLAGS} `${MOZILLA_CONFIG} --libs | sed 's#-I\(.*\)/mozilla/\([^ ]*\)#-I\1/\2 -I\1/mozilla/\2#g'`"
2035 if test "x${NEED_GTK_MAIN}" != "xno"
2037 PLUGINS="${PLUGINS} misc/gtk_main"
2038 gtk_main_CFLAGS="${gtk_main_CFLAGS} ${gtk_CFLAGS} ${familiar_CFLAGS} ${gnome_CFLAGS}"
2039 gtk_main_LDFLAGS="${gtk_main_LDFLAGS} ${gtk_LDFLAGS} ${familiar_LDFLAGS} ${gnome_LDFLAGS}"
2043 dnl Plug-ins - this must be AT THE END
2045 AC_ARG_ENABLE(plugins,
2046 [ --disable-plugins make all plug-ins built-in (default plug-ins enabled)],
2047 [if test "x${enable_plugins}" = "xno"
2049 BUILTINS="${BUILTINS} ${PLUGINS}"
2053 dnl Automagically disable plug-ins if there is no system support for .so files
2054 dnl don't forget vlc-win32 still can load .so as plugins
2055 if test "x${ac_cv_header_dlfcn_h}" = "xno" -a "x${ac_cv_header_image_h}" = "xno" -a "x${SYS}" != "xmingw32"
2057 echo "*** Your system doesn't have plug-in support. All plug-ins will be compiled"
2059 BUILTINS="${BUILTINS} ${PLUGINS}"
2064 dnl Stuff used by the program
2066 AC_DEFINE_UNQUOTED(VERSION_MESSAGE, "vlc ${VERSION} ${CODENAME} Copyright 1996-2002 VideoLAN", [Simple version string])
2067 AC_DEFINE_UNQUOTED(COPYRIGHT_MESSAGE, "VideoLAN Client - version ${VERSION} ${CODENAME} - (c) 1996-2002 VideoLAN", [Copyright string])
2068 AC_DEFINE_UNQUOTED(CONFIGURE_LINE, "${CONFIGURE_LINE}", [The ./configure command line])
2070 VLC_SYMBOL="`echo ${VERSION} | tr .- __`"
2071 AC_DEFINE_UNQUOTED(MODULE_SUFFIX, "__${VLC_SYMBOL}", [String suffix for module functions])
2072 AC_DEFINE_UNQUOTED(MODULE_SYMBOL, ${VLC_SYMBOL}, [Symbol suffix for module functions])
2074 DATA_PATH="${ac_tool_prefix}/share/videolan"
2076 PLUGIN_PATH="${ac_tool_prefix}/share/videolan"
2077 AC_SUBST(PLUGIN_PATH)
2082 CPPFLAGS="${save_CPPFLAGS}"
2083 CFLAGS="${save_CFLAGS}"
2084 LDFLAGS="${save_LDFLAGS}"
2087 dnl Create the vlc-config script
2089 libvlc_LDFLAGS="${vlc_LDFLAGS} ${builtins_LDFLAGS}"
2090 for i in `echo ${BUILTINS} | sed -e 's#[^ ]*/##g'` ; do libvlc_LDFLAGS="${libvlc_LDFLAGS} ${libdir}/vlc/${i}.a `eval echo '$'{${i}_LDFLAGS}`" ; done
2091 AC_SUBST(libvlc_LDFLAGS)
2094 dnl Configuration is finished
2111 AC_SUBST(NEED_GETOPT)
2114 AC_SUBST(CFLAGS_OPTIM)
2115 AC_SUBST(CFLAGS_OPTIM_NODEBUG)
2118 AC_SUBST(vlc_CFLAGS)
2119 AC_SUBST(plugins_CFLAGS)
2120 AC_SUBST(builtins_CFLAGS)
2121 AC_SUBST(mozilla_CFLAGS)
2123 AC_SUBST(a52tofloat32_CFLAGS)
2124 AC_SUBST(arts_CFLAGS)
2125 AC_SUBST(i420_yuy2_mmx_CFLAGS)
2126 AC_SUBST(dvd_CFLAGS)
2127 AC_SUBST(dvdread_CFLAGS)
2128 AC_SUBST(dvdplay_CFLAGS)
2129 AC_SUBST(ts_dvbpsi_CFLAGS)
2130 AC_SUBST(directx_CFLAGS)
2131 AC_SUBST(esd_CFLAGS)
2132 AC_SUBST(familiar_CFLAGS)
2133 AC_SUBST(faad_CFLAGS)
2134 AC_SUBST(ffmpeg_CFLAGS)
2135 AC_SUBST(glide_CFLAGS)
2136 AC_SUBST(gnome_CFLAGS)
2137 AC_SUBST(gtk_CFLAGS)
2138 AC_SUBST(gtk_main_CFLAGS)
2139 AC_SUBST(kde_CFLAGS)
2140 AC_SUBST(opie_CFLAGS)
2141 AC_SUBST(idctaltivec_CFLAGS)
2142 AC_SUBST(macosx_CFLAGS)
2143 AC_SUBST(mad_CFLAGS)
2144 AC_SUBST(memcpyaltivec_CFLAGS)
2145 AC_SUBST(motionaltivec_CFLAGS)
2147 AC_SUBST(qte_CFLAGS)
2148 AC_SUBST(sdl_CFLAGS)
2149 AC_SUBST(svgalib_CFLAGS)
2150 AC_SUBST(x11_CFLAGS)
2151 AC_SUBST(xvideo_CFLAGS)
2153 AC_SUBST(vlc_LDFLAGS)
2154 AC_SUBST(plugins_LDFLAGS)
2155 AC_SUBST(builtins_LDFLAGS)
2156 AC_SUBST(mozilla_LDFLAGS)
2158 AC_SUBST(a52tofloat32_LDFLAGS)
2159 AC_SUBST(aa_LDFLAGS)
2160 AC_SUBST(alsa_LDFLAGS)
2161 AC_SUBST(arts_LDFLAGS)
2162 AC_SUBST(beos_LDFLAGS)
2163 AC_SUBST(i420_rgb_LDFLAGS)
2164 AC_SUBST(directx_LDFLAGS)
2165 AC_SUBST(dv_LDFLAGS)
2166 AC_SUBST(dvd_LDFLAGS)
2167 AC_SUBST(dvdread_LDFLAGS)
2168 AC_SUBST(dvdplay_LDFLAGS)
2169 AC_SUBST(ts_dvbpsi_LDFLAGS)
2170 AC_SUBST(audio_LDFLAGS)
2171 AC_SUBST(esd_LDFLAGS)
2172 AC_SUBST(familiar_LDFLAGS)
2173 AC_SUBST(distort_LDFLAGS)
2174 AC_SUBST(faad_LDFLAGS)
2175 AC_SUBST(ffmpeg_LDFLAGS)
2176 AC_SUBST(mp4_LDFLAGS)
2177 AC_SUBST(ggi_LDFLAGS)
2178 AC_SUBST(glide_LDFLAGS)
2179 AC_SUBST(gnome_LDFLAGS)
2180 AC_SUBST(gtk_LDFLAGS)
2181 AC_SUBST(gtk_main_LDFLAGS)
2182 AC_SUBST(http_LDFLAGS)
2183 AC_SUBST(idctaltivec_LDFLAGS)
2184 AC_SUBST(imdct_LDFLAGS)
2185 AC_SUBST(imdct3dn_LDFLAGS)
2186 AC_SUBST(imdctsse_LDFLAGS)
2187 AC_SUBST(ipv4_LDFLAGS)
2188 AC_SUBST(ipv6_LDFLAGS)
2189 AC_SUBST(kde_LDFLAGS)
2190 AC_SUBST(lirc_LDFLAGS)
2191 AC_SUBST(macosx_LDFLAGS)
2192 AC_SUBST(mad_LDFLAGS)
2193 AC_SUBST(memcpyaltivec_LDFLAGS)
2194 AC_SUBST(motionaltivec_LDFLAGS)
2195 AC_SUBST(ncurses_LDFLAGS)
2196 AC_SUBST(opie_LDFLAGS)
2197 AC_SUBST(oss_LDFLAGS)
2198 AC_SUBST(qnx_LDFLAGS)
2199 AC_SUBST(qt_LDFLAGS)
2200 AC_SUBST(qte_LDFLAGS)
2201 AC_SUBST(rc_LDFLAGS)
2202 AC_SUBST(sdl_LDFLAGS)
2203 AC_SUBST(svgalib_LDFLAGS)
2204 AC_SUBST(vcd_LDFLAGS)
2205 AC_SUBST(vorbis_LDFLAGS)
2206 AC_SUBST(waveout_LDFLAGS)
2207 AC_SUBST(x11_LDFLAGS)
2208 AC_SUBST(xvideo_LDFLAGS)
2209 AC_SUBST(xosd_LDFLAGS)
2210 AC_SUBST(id3tag_LDFLAGS)
2221 chmod a+x vlc-config
2226 --------------------
2227 vlc version : ${VERSION}
2229 architecture : ${ARCH}
2230 optimizations : ${OPTIMS}
2232 debug mode : ${DEBUG}
2233 release : ${RELEASE}
2234 profiling : ${PROFILING}
2235 need builtin getopt : ${NEED_GETOPT}
2236 modules : (see Makefile.config)
2237 mozilla plugin : ${MOZILLA}
2238 vlc aliases :${ALIASES}
2240 You may now tune Makefile.config and Makefile.opts at your convenience, for
2241 instance to choose which modules get compiled as plugins, or tune CFLAGS.
2243 To build vlc and its plugins, type \`${VLC_MAKE}'.