1 dnl Autoconf settings for vlc
2 AC_INIT(include/main.h)
3 AC_CONFIG_HEADER(include/defs.h)
15 save_CPPFLAGS="${CPPFLAGS}"
16 save_CFLAGS="${CFLAGS}"
17 save_LDFLAGS="${LDFLAGS}"
26 dnl Find the right ranlib, even when cross-compiling
27 AC_CHECK_TOOL(RANLIB, ranlib, :)
28 AC_CHECK_TOOL(STRIP, strip, :)
31 dnl Check for GNU make
33 AC_PATH_PROG(GMAKE, gmake, no)
34 if test "x${GMAKE}" = "xno"; then
35 AC_CACHE_CHECK([whether GNU make is installed],
37 [if make --version | grep -q -i gnu; then
40 echo "This software needs you to install GNU make to compile properly."
41 echo "You can get it from http://www.gnu.org/."
50 ALL_LINGUAS="de en_GB fr ja no ru nl pl se"
52 AC_DEFINE_UNQUOTED(VLC_PACKAGE, "${PACKAGE}", [Package name])
53 AC_DEFINE_UNQUOTED(VLC_VERSION, "${VERSION}", [Package version])
59 dnl Check for compiler properties
64 dnl Set default LDFLAGS
66 vlc_LDFLAGS="${LDFLAGS}"
69 dnl Check the operating system
71 case "x${target_os}" in
80 save_CFLAGS="${save_CFLAGS} -pthread"; CFLAGS="${save_CFLAGS}"
81 dvd_LDFLAGS="${dvd_LDFLAGS} -ldvd"
82 vcd_LDFLAGS="${vcd_LDFLAGS} -ldvd"
86 save_CFLAGS="${save_CFLAGS} -pthread"; CFLAGS="${save_CFLAGS}"
90 save_CFLAGS="${save_CFLAGS} -no-cpp-precomp"; CFLAGS="${save_CFLAGS}"
91 vlc_LDFLAGS="${vlc_LDFLAGS} -all_load"
95 AC_CHECK_TOOL(WINDRES, windres, :)
96 save_CFLAGS="${save_CFLAGS} -fnative-struct -D_OFF_T_ -D_off_t=long"; CFLAGS="${save_CFLAGS}"
97 vlc_LDFLAGS="${vlc_LDFLAGS} -mwindows -Xlinker --force-exe-suffix"
98 vlc_LDFLAGS="${vlc_LDFLAGS} -lws2_32 -lnetapi32"
99 ipv4_LDFLAGS="${ipv4_LDFLAGS} -lws2_32"
100 ipv6_LDFLAGS="${ipv6_LDFLAGS} -lws2_32"
101 http_LDFLAGS="${http_LDFLAGS} -lws2_32"
102 rc_LDFLAGS="${rc_LDFLAGS} -lws2_32"
106 x11_LDFLAGS="${x11_LDFLAGS} -lsocket"
107 xvideo_LDFLAGS="${xvideo_LDFLAGS} -lsocket"
114 save_CFLAGS="${save_CFLAGS} -Wno-multichar -Wno-ctor-dtor-privacy -Woverloaded-virtual"; CFLAGS="${save_CFLAGS}"
115 vlc_LDFLAGS="${vlc_LDFLAGS} -lbe"
116 plugins_LDFLAGS="${plugins_LDFLAGS} -nostart"
117 beos_LDFLAGS="${beos_LDFLAGS} -lbe -lgame -lroot -ltracker -lstdc++.r4"
118 ipv4_LDFLAGS="${ipv4_LDFLAGS} -lbind"
125 dnl Flags for plugin compilation
126 if test "x${SYS}" = "xmingw32"
128 plugins_CFLAGS="${plugins_CFLAGS} -fnative-struct"
130 plugins_CFLAGS="${plugins_CFLAGS} -fPIC"
131 plugins_LDFLAGS="${plugins_LDFLAGS} -fPIC"
134 dnl The -DSYS_FOO flag
135 save_CFLAGS="${save_CFLAGS} -DSYS_`echo ${SYS} | sed -e 's/-.*//' | tr 'abcdefghijklmnopqrstuvwxyz.' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`"; CFLAGS="${save_CFLAGS}"
137 dnl Check for system libs needed
138 AC_CHECK_FUNCS(gettimeofday select strerror strtod strtol isatty vasprintf swab sigrelse getpwuid memalign posix_memalign gethostbyname2 atoll strndup)
140 AC_CHECK_FUNC(connect,,[
141 AC_CHECK_LIB(socket,connect,
142 ipv4_LDFLAGS="${ipv4_LDFLAGS} -lsocket"
143 vlc_LDFLAGS="${vlc_LDFLAGS} -lsocket"
145 AC_CHECK_FUNC(send,,[
146 AC_CHECK_LIB(socket,send,
147 http_LDFLAGS="${http_LDFLAGS} -lsocket"
149 AC_CHECK_FUNC(gethostbyname,,[
150 AC_CHECK_LIB(nsl,gethostbyname,ipv4_LDFLAGS="${ipv4_LDFLAGS} -lnsl",[
151 AC_CHECK_LIB(bind,gethostbyname,ipv4_LDFLAGS="${ipv4_LDFLAGS} -lbind")])
154 AC_CHECK_FUNC(nanosleep,have_nanosleep=1,[
155 AC_CHECK_LIB(rt,nanosleep,
156 [vlc_LDFLAGS="${vlc_LDFLAGS} -lrt"; have_nanosleep=1],
157 [AC_CHECK_LIB(posix4,nanosleep,
158 [vlc_LDFLAGS="${vlc_LDFLAGS} -lposix4"; have_nanosleep=1])]
161 if test x$have_nanosleep = x1; then
162 AC_DEFINE(HAVE_NANOSLEEP, 1,
163 Define if nanosleep is available.)
166 AC_CHECK_LIB(rt,sem_init, [vlc_LDFLAGS="${vlc_LDFLAGS} -lrt"])
168 AC_CHECK_FUNC(inet_aton,,[
169 AC_CHECK_LIB(resolv,inet_aton,ipv4_LDFLAGS="${ipv4_LDFLAGS} -lresolv")
171 AC_CHECK_FUNC(textdomain,,[
172 AC_CHECK_LIB(intl,textdomain,
173 vlc_LDFLAGS="${vlc_LDFLAGS} -lintl"
174 plugins_LDFLAGS="${plugins_LDFLAGS} -lintl"
180 AC_CHECK_FUNC(getopt_long,[AC_DEFINE(HAVE_GETOPT_LONG,1,long getopt support)],
181 [ # FreeBSD has a gnugetopt library for this:
182 AC_CHECK_LIB([gnugetopt],[getopt_long],
183 [AC_DEFINE(HAVE_GETOPT_LONG,1,getopt support) vlc_LDFLAGS="${vlc_LDFLAGS} -lgnugetopt"],
187 AC_CHECK_LIB(dl,dlopen,vlc_LDFLAGS="${vlc_LDFLAGS} -ldl")
189 imdct_LDFLAGS="${imdct_LDFLAGS} -lm"
190 filter_distort_LDFLAGS="${filter_distort_LDFLAGS} -lm")
192 ffmpeg_LDFLAGS="${ffmpeg_LDFLAGS} -lm"
193 imdct_LDFLAGS="${imdct_LDFLAGS} -lm"
194 imdct3dn_LDFLAGS="${imdct3dn_LDFLAGS} -lm"
195 imdctsse_LDFLAGS="${imdctsse_LDFLAGS} -lm"
196 i420_rgb_LDFLAGS="${i420_rgb_LDFLAGS} -lm"
197 faad_LDFLAGS="${faad_LDFLAGS} -lm"
200 dnl Check for pthreads - borrowed from XMMS
202 if test "x${THREAD_LIB}" = "xerror"; then
203 AC_CHECK_LIB(pthread,main,THREAD_LIB="-lpthread")
205 if test "x${THREAD_LIB}" = "xerror"; then
206 AC_CHECK_LIB(pthreads,main,THREAD_LIB="-lpthreads")
208 if test "x${THREAD_LIB}" = "xerror"; then
209 AC_CHECK_LIB(c_r,main,THREAD_LIB="-lc_r")
211 if test "x${THREAD_LIB}" = "xerror"; then
212 AC_CHECK_FUNC(pthread_mutex_lock)
216 dnl Check for cthreads under GNU/Hurd for instance
217 AC_CHECK_LIB(threads,cthread_fork,THREAD_LIB="-lthreads")
219 dnl Check for misc headers
220 AC_EGREP_HEADER(pthread_cond_t,pthread.h,[
221 AC_DEFINE(PTHREAD_COND_T_IN_PTHREAD_H, 1,
222 Define if <pthread.h> defines pthread_cond_t.)])
223 AC_EGREP_HEADER(pthread_once,pthread.h,[
224 AC_DEFINE(PTHREAD_ONCE_IN_PTHREAD_H, 1,
225 Define if <pthread.h> defines pthread_once.)])
226 AC_EGREP_HEADER(strncasecmp,strings.h,[
227 AC_DEFINE(STRNCASECMP_IN_STRINGS_H, 1,
228 Define if <strings.h> defines strncasecmp.)])
230 dnl Check for headers
231 AC_CHECK_HEADERS(stdint.h getopt.h strings.h inttypes.h sys/int_types.h)
232 AC_CHECK_HEADERS(sys/sockio.h fcntl.h sys/types.h sys/time.h sys/times.h)
233 AC_CHECK_HEADERS(dlfcn.h image.h)
234 AC_CHECK_HEADERS(arpa/inet.h net/if.h netinet/in.h sys/socket.h)
235 AC_CHECK_HEADERS(machine/param.h sys/shm.h)
236 AC_CHECK_HEADERS(linux/version.h)
240 dnl Mac OS X and other OSes don't have declaration for nanosleep
241 AC_EGREP_HEADER(nanosleep,time.h,[
242 AC_DEFINE(HAVE_DECL_NANOSLEEP, 1,
243 Define if <time.h> defines nanosleep.)
246 dnl Make sure we have timespecs
247 AC_EGREP_HEADER(timespec,sys/time.h,[
248 AC_DEFINE(HAVE_STRUCT_TIMESPEC, 1,
249 Define if <sys/time.h> defines struct timespec.)
252 dnl Check for threads library
253 AC_CHECK_HEADERS(cthreads.h pthread.h kernel/scheduler.h kernel/OS.h)
255 dnl Default X headers and libraries
256 if test "x${x_includes}" = "xNONE"; then
257 x_includes="/usr/X11R6/include"
259 if test "x${x_libraries}" = "xNONE"; then
260 x_libraries="/usr/X11R6/lib"
263 dnl Build the gtk_main plugin?
267 if test "x${SYS}" != "xmingw32"
269 CPPFLAGS="${save_CPPFLAGS} -I${x_includes}"
270 AC_CHECK_HEADERS(X11/extensions/dpms.h, [
271 AC_EGREP_HEADER(DPMSInfo,X11/extensions/dpms.h,[
272 AC_DEFINE(DPMSINFO_IN_DPMS_H, 1,
273 Define if <X11/extensions/dpms.h> defines DPMSInfo.)
276 CPPFLAGS="${save_CPPFLAGS}"
279 dnl Check for ntohl, etc.
280 AC_CACHE_CHECK([for ntohl in sys/param.h],
281 [ac_cv_c_ntohl_sys_param_h],
282 [CFLAGS="${save_CFLAGS} -Wall -Werror"
283 AC_TRY_COMPILE([#include <sys/param.h>],
284 [void foo() { int meuh; ntohl(meuh); }],
285 ac_cv_c_ntohl_sys_param_h=yes, ac_cv_c_ntohl_sys_param_h=no)])
286 if test "x${ac_cv_c_ntohl_sys_param_h}" != "xno"; then
287 AC_DEFINE(NTOHL_IN_SYS_PARAM_H, 1, Define if <sys/param.h> defines ntohl.)
290 dnl Check for inline function size limit
291 AC_CACHE_CHECK([if \$CC accepts -finline-limit],
292 [ac_cv_c_inline_limit],
293 [CFLAGS="${save_CFLAGS} -finline-limit-30000"
294 AC_TRY_COMPILE([],,ac_cv_c_inline_limit=yes, ac_cv_c_inline_limit=no)])
295 if test "x${ac_cv_c_inline_limit}" != "xno"; then
296 save_CFLAGS="${save_CFLAGS} -finline-limit-30000"; CFLAGS="${save_CFLAGS}"
299 dnl Check for -W or -w flags
300 AC_CACHE_CHECK([if \$CC accepts -Wall -Winline],
301 [ac_cv_c_Wall_Winline],
302 [CFLAGS="-Wall -Winline ${save_CFLAGS}"
303 AC_TRY_COMPILE([],,ac_cv_c_Wall_Winline=yes, ac_cv_c_Wall_Winline=no)])
304 if test "x${ac_cv_c_Wall_Winline}" != "xno"; then
305 save_CFLAGS="-Wall -Winline ${save_CFLAGS}"; CFLAGS="${save_CFLAGS}"
307 AC_CACHE_CHECK([if \$CC accepts -wall -winline],
308 [ac_cv_c_wall_winline],
309 [CFLAGS="-wall -winline ${save_CFLAGS}"
310 AC_TRY_COMPILE([],,ac_cv_c_wall_winline=yes, ac_cv_c_wall_winline=no)])
311 if test "x${ac_cv_c_wall_winline}" != "xno"; then
312 save_CFLAGS="-wall -winline ${save_CFLAGS}"; CFLAGS="${save_CFLAGS}"
317 AC_CACHE_CHECK([if \$CC accepts -pipe],
319 [CFLAGS="${save_CFLAGS} -pipe"
320 AC_TRY_COMPILE([],,ac_cv_c_pipe=yes, ac_cv_c_pipe=no)])
321 if test "x${ac_cv_c_pipe}" != "xno"; then
322 save_CFLAGS="${save_CFLAGS} -pipe"; CFLAGS="${save_CFLAGS}"
325 dnl Check for various optimization flags
326 AC_CACHE_CHECK([if \$CC accepts -O3],
328 [CFLAGS="${save_CFLAGS} -O3"
329 AC_TRY_COMPILE([],,ac_cv_c_o3=yes, ac_cv_c_o3=no)])
330 if test "x${ac_cv_c_o3}" != "xno"; then
331 CFLAGS_OPTIM="${CFLAGS_OPTIM} -O3"
333 AC_CACHE_CHECK([if \$CC accepts -O2],
335 [CFLAGS="${save_CFLAGS} -O2"
336 AC_TRY_COMPILE([],,ac_cv_c_o2=yes, ac_cv_c_o2=no)])
337 if test "x${ac_cv_c_o2}" != "xno"; then
338 CFLAGS_OPTIM="${CFLAGS_OPTIM} -O2"
340 AC_CACHE_CHECK([if \$CC accepts -O],
342 [CFLAGS="${save_CFLAGS} -O"
343 AC_TRY_COMPILE([],,ac_cv_c_o=yes, ac_cv_c_o=no)])
344 if test "x${ac_cv_c_o}" != "xno"; then
345 CFLAGS_OPTIM="${CFLAGS_OPTIM} -O"
350 dnl Check for -ffast-math
351 AC_CACHE_CHECK([if \$CC accepts -ffast-math],
353 [CFLAGS="${save_CFLAGS} -ffast-math"
354 AC_TRY_COMPILE([],,ac_cv_c_fast_math=yes, ac_cv_c_fast_math=no)])
355 if test "x${ac_cv_c_fast_math}" != "xno"; then
356 CFLAGS_OPTIM="${CFLAGS_OPTIM} -ffast-math"
359 dnl Check for -funroll-loops
360 AC_CACHE_CHECK([if \$CC accepts -funroll-loops],
361 [ac_cv_c_unroll_loops],
362 [CFLAGS="${save_CFLAGS} -funroll-loops"
363 AC_TRY_COMPILE([],,ac_cv_c_unroll_loops=yes, ac_cv_c_unroll_loops=no)])
364 if test "x${ac_cv_c_unroll_loops}" != "xno"; then
365 CFLAGS_OPTIM="${CFLAGS_OPTIM} -funroll-loops"
368 dnl Check for -fomit-frame-pointer
369 AC_CACHE_CHECK([if \$CC accepts -fomit-frame-pointer],
370 [ac_cv_c_omit_frame_pointer],
371 [CFLAGS="${save_CFLAGS} -fomit-frame-pointer"
372 AC_TRY_COMPILE([],,ac_cv_c_omit_frame_pointer=yes, ac_cv_c_omit_frame_pointer=no)])
373 if test "x${ac_cv_c_omit_frame_pointer}" != "xno"; then
374 CFLAGS_OPTIM_NODEBUG="${CFLAGS_OPTIM_NODEBUG} -fomit-frame-pointer"
375 # this plugin does not compile without -fomit-frame-pointer, damn gcc!
376 i420_yuy2_mmx_CFLAGS="${i420_yuy2_mmx_CFLAGS} -fomit-frame-pointer"
379 dnl Check for Darwin plugin linking flags
380 AC_CACHE_CHECK([if \$CC accepts -bundle -undefined error -lcc_dynamic],
382 [CFLAGS="${save_CFLAGS} -bundle -undefined error -lcc_dynamic"
383 AC_TRY_COMPILE([],,ac_cv_ld_darwin=yes, ac_cv_ld_darwin=no)])
384 if test "x${ac_cv_ld_darwin}" != "xno"; then
385 plugins_LDFLAGS="${plugins_LDFLAGS} -bundle -undefined error -lcc_dynamic"
388 dnl Check for standard plugin linking flags
389 AC_CACHE_CHECK([if \$CC accepts -shared],
391 [CFLAGS="${save_CFLAGS} -shared"
392 AC_TRY_COMPILE([],, ac_cv_ld_plugins=yes, ac_cv_ld_plugins=no)])
393 if test "x${ac_cv_ld_plugins}" != "xno"; then
394 plugins_LDFLAGS="${plugins_LDFLAGS} -shared"
397 dnl Check for variadic macros
398 AC_CACHE_CHECK([for variadic cpp macros],
399 [ac_cv_cpp_variadic_macros],
400 [CFLAGS="${save_CFLAGS}"
403 #define a(b,c...) printf(b,##c)],
404 [a("foo");a("%s","bar");a("%s%s","baz","quux");],
405 ac_cv_cpp_variadic_macros=yes,
406 ac_cv_cpp_variadic_macros=no)])
407 if test "x${ac_cv_cpp_variadic_macros}" != "xno"; then
408 AC_DEFINE(HAVE_VARIADIC_MACROS, 1, Support for variadic macros)
411 dnl Checks for __attribute__(aligned()) directive
412 AC_CACHE_CHECK([__attribute__ ((aligned ())) support],
413 [ac_cv_c_attribute_aligned],
414 [ac_cv_c_attribute_aligned=0
415 CFLAGS="${save_CFLAGS} -Werror"
416 for ac_cv_c_attr_align_try in 2 4 8 16 32 64; do
418 [static char c __attribute__ ((aligned(${ac_cv_c_attr_align_try}))) = 0; return c;],
419 [ac_cv_c_attribute_aligned="${ac_cv_c_attr_align_try}"])
421 CFLAGS="${save_CFLAGS}"])
422 if test "x${ac_cv_c_attribute_aligned}" != "x0"; then
423 AC_DEFINE_UNQUOTED([ATTRIBUTE_ALIGNED_MAX],
424 [${ac_cv_c_attribute_aligned}],[Maximum supported data alignment])
430 case "x${target_cpu}" in
442 BUILTINS="${BUILTINS}"
443 PLUGINS="${PLUGINS} misc/dummy/dummy misc/null"
444 PLUGINS="${PLUGINS} control/rc/rc misc/logger/logger access/file misc/memcpy/memcpy"
445 PLUGINS="${PLUGINS} demux/mpeg/es demux/mpeg/audio demux/mpeg/mpeg_system demux/mpeg/ps demux/mpeg/ts"
446 PLUGINS="${PLUGINS} codec/mpeg_video/idct/idct codec/mpeg_video/idct/idctclassic codec/mpeg_video/motion/motion codec/mpeg_video/mpeg_video codec/spudec/spudec codec/spdif codec/mpeg_audio/mpeg_audio"
447 PLUGINS="${PLUGINS} codec/a52old/imdct/imdct codec/a52old/downmix/downmix codec/a52old/a52old"
448 #PLUGINS="${PLUGINS} codec/lpcm/lpcm"
449 PLUGINS="${PLUGINS} video_filter/deinterlace/deinterlace video_filter/invert video_filter/wall video_filter/transform video_filter/distort video_filter/clone video_filter/crop"
450 PLUGINS="${PLUGINS} audio_filter/converter/float32tos16 audio_filter/converter/float32tos8 audio_filter/converter/float32tou16 audio_filter/converter/float32tou8 audio_filter/converter/a52tospdif audio_filter/converter/fixed32tofloat32 audio_filter/converter/fixed32tos16 audio_filter/converter/s16tofloat32"
451 PLUGINS="${PLUGINS} audio_filter/resampler/trivial"
452 PLUGINS="${PLUGINS} audio_filter/channel_mixer/trivial"
453 PLUGINS="${PLUGINS} audio_mixer/trivial audio_mixer/spdif"
454 PLUGINS="${PLUGINS} audio_output/file"
455 #PLUGINS="${PLUGINS} visualization/scope/scope"
456 PLUGINS="${PLUGINS} video_chroma/i420_rgb video_chroma/i420_yuy2 video_chroma/i422_yuy2 video_chroma/i420_ymga"
461 NETWORK_MODULES="access/udp access/http access/rtp misc/network/ipv4"
464 dnl Accelerated modules
466 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"
467 MMXEXT_MODULES="misc/memcpy/memcpymmxext codec/mpeg_video/idct/idctmmxext codec/mpeg_video/motion/motionmmxext"
468 THREEDNOW_MODULES="misc/memcpy/memcpy3dn codec/a52old/imdct/imdct3dn codec/a52old/downmix/downmix3dn"
469 SSE_MODULES="codec/a52old/imdct/imdctsse codec/a52old/downmix/downmixsse"
470 ALTIVEC_MODULES="codec/mpeg_video/idct/idctaltivec codec/mpeg_video/motion/motionaltivec misc/memcpy/memcpyaltivec"
472 if test x$SYS != xbeos
474 PLUGINS="${PLUGINS} ${NETWORK}"
477 AC_CACHE_CHECK([if \$CC groks MMX inline assembly],
479 [CFLAGS="${save_CFLAGS}"
480 AC_TRY_COMPILE(,[void *p;asm volatile("packuswb %%mm1,%%mm2"::"r"(p));],
481 ac_cv_mmx_inline=yes, ac_cv_mmx_inline=no)])
482 if test "x${ac_cv_mmx_inline}" != "xno"; then
483 ACCEL_MODULES="${ACCEL_MODULES} ${MMX_MODULES}"
486 AC_CACHE_CHECK([if \$CC groks MMX EXT inline assembly],
487 [ac_cv_mmxext_inline],
488 [CFLAGS="${save_CFLAGS}"
489 AC_TRY_COMPILE(,[void *p;asm volatile("maskmovq %%mm1,%%mm2"::"r"(p));],
490 ac_cv_mmxext_inline=yes, ac_cv_mmxext_inline=no)])
491 if test "x${ac_cv_mmxext_inline}" != "xno"; then
492 ACCEL_MODULES="${ACCEL_MODULES} ${MMXEXT_MODULES}"
495 AC_CACHE_CHECK([if \$CC groks 3D Now! inline assembly],
496 [ac_cv_3dnow_inline],
497 [CFLAGS="${save_CFLAGS}"
498 AC_TRY_COMPILE(,[void *p;asm volatile("pfadd %%mm1,%%mm2"::"r"(p));],
499 ac_cv_3dnow_inline=yes, ac_cv_3dnow_inline=no)])
500 if test "x${ac_cv_3dnow_inline}" != "xno"; then
501 AC_DEFINE(CAN_COMPILE_3DNOW, 1, Define if \$CC groks 3D Now! inline assembly.)
502 ACCEL_MODULES="${ACCEL_MODULES} ${THREEDNOW_MODULES}"
505 AC_CACHE_CHECK([if \$CC groks SSE inline assembly],
507 [CFLAGS="${save_CFLAGS}"
508 AC_TRY_COMPILE(,[void *p;asm volatile("xorps %%xmm1,%%xmm2"::"r"(p));],
509 ac_cv_sse_inline=yes, ac_cv_sse_inline=no)])
510 if test "x${ac_cv_sse_inline}" != "xno" -a "x${SYS}" != "xmingw32"; then
511 AC_DEFINE(CAN_COMPILE_SSE, 1, Define if \$CC groks SSE inline assembly.)
512 ACCEL_MODULES="${ACCEL_MODULES} ${SSE_MODULES}"
515 # don't try to grok AltiVec with native mingw32 it doesn't work right now
516 # we should be able to remove this test with future versions of mingw32
517 if test "x${SYS}" != "xmingw32"; then
518 AC_CACHE_CHECK([if \$CC groks AltiVec inline assembly],
519 [ac_cv_altivec_inline],
520 [CFLAGS="${save_CFLAGS}"
521 AC_TRY_COMPILE(,[asm volatile("vperm 0,1,2,3");],
522 ac_cv_altivec_inline=yes,
523 [CFLAGS="${save_CFLAGS} -Wa,-m7400"
524 AC_TRY_COMPILE(,[asm volatile("vperm 0,1,2,3");],
525 [ac_cv_altivec_inline="-Wa,-m7400"],
526 ac_cv_altivec_inline=no)
528 if test "x${ac_cv_altivec_inline}" != "xno"; then
529 AC_DEFINE(CAN_COMPILE_ALTIVEC, 1, Define if \$CC groks AltiVec inline assembly.)
530 if test "x${ac_cv_altivec_inline}" != "xyes"; then
531 idctaltivec_CFLAGS="${idctaltivec_CFLAGS} ${ac_cv_altivec_inline}"
532 motionaltivec_CFLAGS="${motionaltivec_CFLAGS} ${ac_cv_altivec_inline}"
533 memcpyaltivec_CFLAGS="${memcpyaltivec_CFLAGS} ${ac_cv_altivec_inline}"
534 vlc_CFLAGS="${vlc_CFLAGS} ${ac_cv_altivec_inline}"
536 ACCEL_MODULES="${ACCEL_MODULES} ${ALTIVEC_MODULES}"
539 AC_CACHE_CHECK([if \$CC groks AltiVec C extensions],
541 [CFLAGS="${save_CFLAGS} -faltivec"
543 AC_TRY_COMPILE(,[vec_mtvscr((vector unsigned int)(0));],
544 ac_cv_c_altivec=-faltivec, [
546 CFLAGS="${save_CFLAGS} ${idctaltivec_CFLAGS} -fvec"
547 AC_TRY_COMPILE(,[vec_mtvscr((vector unsigned int)(0));],
548 [ac_cv_c_altivec="-fvec"], ac_cv_c_altivec=no)
550 CFLAGS="${save_CFLAGS}"])
551 if test "x${ac_cv_c_altivec}" != "xno"; then
552 AC_DEFINE(CAN_COMPILE_C_ALTIVEC, 1, Define if your compiler groks C AltiVec extensions.)
553 idctaltivec_CFLAGS="${idctaltivec_CFLAGS} ${ac_cv_c_altivec}"
554 motionaltivec_CFLAGS="${motionaltivec_CFLAGS} ${ac_cv_c_altivec}"
555 memcpyaltivec_CFLAGS="${memcpyaltivec_CFLAGS} ${ac_cv_c_altivec}"
556 vlc_CFLAGS="${vlc_CFLAGS} ${ac_cv_c_altivec}"
557 ACCEL_MODULES="${ACCEL_MODULES} ${ALTIVEC_MODULES}"
560 AC_CACHE_CHECK([if linker needs -framework vecLib],
562 [LDFLAGS="${vlc_LDFLAGS} -framework vecLib"
563 AC_TRY_LINK([],,ac_cv_ld_altivec=yes,ac_cv_ld_altivec=no)
564 LDFLAGS="${save_LDFLAGS}"
566 if test "x${ac_cv_ld_altivec}" != "xno"; then
567 idctaltivec_LDFLAGS="${idctaltivec_LDFLAGS} -framework vecLib"
568 motionaltivec_LDFLAGS="${motionaltivec_LDFLAGS} -framework vecLib"
569 memcpyaltivec_LDFLAGS="${memcpyaltivec_LDFLAGS} -framework vecLib"
570 vlc_LDFLAGS="${vlc_LDFLAGS} -framework vecLib"
576 AC_ARG_WITH(,[Optimization options:])
579 dnl Special arch tuning
582 [ --with-tuning=ARCH enable special tuning for an architecture
583 (default i686 on IA-32 and 750 on PPC)])
584 if test "x${with_tuning}" != "x"; then
585 TUNING="${with_tuning}"
587 if test "x${target_cpu}" = "xi686" -o "x${target_cpu}" = "xi586" -o "x${target_cpu}" = "xi486" -o "x${target_cpu}" = "xi386"; then TUNING="pentiumpro"
589 if test "x${target_cpu}" = "xpowerpc"; then TUNING="750"; fi
594 dnl x86 accelerations
596 if test "x${target_cpu}" = "xi686" -o "x${target_cpu}" = "xi586" -o "x${target_cpu}" = "xx86" -o "x${target_cpu}" = "xi386"
599 PLUGINS="${PLUGINS} ${ACCEL_MODULES}"
603 dnl Enable/disable optimizations
605 AC_ARG_ENABLE(optimizations,
606 [ --disable-optimizations disable compiler optimizations (default enabled)],
607 [ if test "x${enable_optimizations}" = "xno"; then OPTIMS=0; fi ],
611 dnl AltiVec acceleration
613 AC_ARG_ENABLE(altivec,
614 [ --disable-altivec disable AltiVec optimizations (default enabled on PPC)],
615 [ if test "x${enable_altivec}" = "xyes"; then ARCH="${ARCH} altivec";
616 BUILTINS="${BUILTINS} ${ACCEL_MODULES}"; fi ],
617 [ if test "x${target_cpu}" = "xpowerpc"; then ARCH="${ARCH} altivec";
618 BUILTINS="${BUILTINS} ${ACCEL_MODULES}"; fi ])
625 [ --enable-debug debug mode (default disabled)],
626 [ if test "x${enable_debug}" = "xyes"; then DEBUG=1; fi ])
629 dnl Enable release-specific flags
632 AC_ARG_ENABLE(release,
633 [ --enable-release activate extra optimizations (default disabled)],
634 [ if test "x${enable_release}" = "xyes"; then RELEASE=1; fi ],
635 [ VERSION="${VERSION}_`date +%Y-%m-%d`" ])
641 AC_ARG_WITH(,[Input plugins:])
644 dnl DVD module: optionally check for installed libdvdcss
647 [ --enable-dvd DVD input module (default enabled)])
648 if test "x${enable_dvd}" != "xno"
651 [ --with-dvdcss=PATH libdvdcss headers and libraries])
652 AC_ARG_WITH(dvdcss-tree,
653 [ --with-dvdcss-tree=PATH libdvdcss tree for static linking])
654 case "x${with_dvdcss}" in
656 if test "x${with_dvdcss_tree}" = x
658 AC_CHECK_HEADERS(dvdcss/dvdcss.h,
659 [ PLUGINS="${PLUGINS} access/dvd/dvd"
660 dvd_LDFLAGS="${dvd_LDFLAGS} -ldvdcss" ],
661 [ 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.])
662 AC_MSG_ERROR([cannot find libdvdcss headers]) ])
664 AC_MSG_CHECKING(for libdvdcss.a in ${with_dvdcss_tree})
665 real_dvdcss_tree="`cd ${with_dvdcss_tree} 2>/dev/null && pwd`"
666 if test "x${real_dvdcss_tree}" = "x"
668 dnl The given directory can't be found
670 AC_MSG_ERROR([cannot cd to ${with_dvdcss_tree}])
672 if test -f "${real_dvdcss_tree}/src/.libs/libdvdcss.a"
674 dnl Use a custom libdvdcss
675 AC_MSG_RESULT(${real_dvdcss_tree}/src/.libs/libdvdcss.a)
676 BUILTINS="${BUILTINS} access/dvd/dvd"
677 dvd_LDFLAGS="${dvd_LDFLAGS} ${real_dvdcss_tree}/src/.libs/libdvdcss.a"
678 dvd_CFLAGS="${dvd_CFLAGS} -I${real_dvdcss_tree}/src"
680 dnl The given libdvdcss wasn't built
682 AC_MSG_ERROR([cannot find ${real_dvdcss_tree}/src/.libs/libdvdcss.a, make sure you compiled libdvdcss in ${with_dvdcss_tree}])
687 dnl Compile without dvdcss (dlopen version, works only under Linux)
688 PLUGINS="${PLUGINS} access/dvd/dvd"
689 dvd_CFLAGS="${dvd_CFLAGS} -DGOD_DAMN_DMCA"
690 dvd_LDFLAGS="${dvd_LDFLAGS} -ldl"
693 AC_MSG_CHECKING(for dvdcss headers in ${with_dvdcss})
694 if test -f ${with_dvdcss}/include/dvdcss/dvdcss.h
696 dnl Use ${with_dvdcss}/include/dvdcss/dvdcss.h
698 PLUGINS="${PLUGINS} access/dvd/dvd"
699 dvd_LDFLAGS="${dvd_LDFLAGS} -L${with_dvdcss}/lib -ldvdcss"
700 dvd_CFLAGS="${dvd_CFLAGS} -I${with_dvdcss}/include"
702 dnl No libdvdcss could be found, sorry
704 AC_MSG_ERROR([cannot find ${with_dvdcss}/include/dvdcss/dvdcss.h])
711 dnl dvdread module: check for libdvdread plugin
713 AC_ARG_ENABLE(dvdread,
714 [ --enable-dvdread dvdread input module (default disabled)])
715 if test "x${enable_dvdread}" != "xno"
718 [ --with-dvdread=PATH libdvdread headers and libraries])
719 if test "x${with_dvdread}" = "x"
724 test_LDFLAGS="-L${with_dvdread}/lib"
725 test_CFLAGS="-I${with_dvdread}/include"
727 CPPFLAGS="${save_CPPFLAGS} ${test_CFLAGS}"
728 AC_CHECK_HEADERS(dvdread/dvd_reader.h, [
729 AC_TRY_COMPILE([#include <dvdread/dvd_reader.h>],
730 [int foo() { return DVD_VIDEO_LB_LEN; }],[
731 PLUGINS="${PLUGINS} access/dvdread/dvdread"
732 dvdread_LDFLAGS="${dvdread_LDFLAGS} ${test_LDFLAGS} -ldvdread"
733 dvdread_CFLAGS="${dvdread_CFLAGS} ${test_CFLAGS}"
735 if test "x${enable_dvdread}" != "x"
737 AC_MSG_ERROR([Cannot find DVD_VIDEO_LB_LEN in dvdread/dvd_reader.h, please install libdvdread version 0.9.2 or later])
741 if test "x${enable_dvdread}" != "x"
743 if test "x${with_dvdread}" != "x"
745 AC_MSG_ERROR([Cannot find dvdread/dvd_reader.h in ${with_dvdread}/include])
747 AC_MSG_ERROR([Cannot find dvdread/dvd_reader.h])
751 CPPFLAGS="$save_CPPFLAGS"
755 dnl dvdplay module: check for libdvdplay
757 AC_ARG_ENABLE(dvdplay,
758 [ --enable-dvdplay dvdplay input module (default disabled)])
759 if test "x$enable_dvdplay" != "xno"
762 [ --with-dvdplay=PATH libdvdplay headers and libraries])
763 if test "x$with_dvdplay" = x
768 test_LDFLAGS="-L${with_dvdplay}/lib"
769 test_CFLAGS="-I${with_dvdplay}/include"
771 CPPFLAGS="$save_CPPFLAGS $test_CFLAGS"
772 AC_CHECK_HEADERS(dvdplay/dvdplay.h, [
773 PLUGINS="${PLUGINS} access/dvdplay/dvdplay"
774 dvdplay_LDFLAGS="${dvdplay_LDFLAGS} ${test_LDFLAGS} -ldvdplay -ldvdread"
775 dvdplay_CFLAGS="${dvdplay_CFLAGS} ${test_CFLAGS}"
777 if test "x$enable_dvdplay" != x
779 if test "x$with_dvdplay" != x
781 AC_MSG_ERROR([Cannot find dvdplay/dvdplay.h in ${with_dvdplay}/include])
783 AC_MSG_ERROR([Cannot find dvdplay/dvdplay.h])
787 CPPFLAGS="${save_CPPFLAGS}"
792 dnl libdvbpsi ts demux
794 AC_ARG_ENABLE(dvbpsi,
795 [ --enable-dvbpsi dvbpsi ts demux module (default disabled)])
796 if test "x${enable_dvbpsi}" != "xno"
799 [ --with-dvbpsi=PATH libdvbpsi headers and libraries])
801 [ --with-dvbpsi-tree=PATH libdvbpsi tree for static linking])
802 case "x${with_dvbpsi}" in
804 if test "x${with_dvbpsi_tree}" = "x"
806 AC_CHECK_HEADERS(dvbpsi/dr.h,
807 [ PLUGINS="${PLUGINS} demux/mpeg/ts_dvbpsi"
808 ts_dvbpsi_LDFLAGS="${ts_dvbpsi_LDFLAGS} -ldvbpsi" ], [],
809 [ AC_MSG_ERROR([cannot find libdvbpsi headers]) ])
811 AC_MSG_CHECKING(for libdvbpsi.a in ${with_dvbpsi_tree})
812 real_dvbpsi_tree="`cd ${with_dvbpsi_tree} 2>/dev/null && pwd`"
813 if test "x${real_dvbpsi_tree}" = "x"
815 dnl The given directory can't be found
817 AC_MSG_ERROR([cannot cd to ${with_dvbpsi_tree}])
819 if test -f "${real_dvbpsi_tree}/src/.libs/libdvbpsi.a"
821 dnl Use a custom libdvbpsi
822 AC_MSG_RESULT(${real_dvbpsi_tree}/src/.libs/libdvbpsi.a)
823 BUILTINS="${BUILTINS} demux/mpeg/ts_dvbpsi"
824 ts_dvbpsi_LDFLAGS="${ts_dvbpsi_LDFLAGS} ${real_dvbpsi_tree}/src/.libs/libdvbpsi.a"
825 ts_dvbpsi_CFLAGS="${ts_dvbpsi_CFLAGS} -I${real_dvbpsi_tree}/src"
827 dnl The given libdvbpsi wasn't built
829 AC_MSG_ERROR([cannot find ${real_dvbpsi_tree}/src/.libs/libdvbpsi.a, make sure you compiled libdvbpsi in ${with_dvbpsi_tree}])
834 dnl Compile without dvbpsi
837 AC_MSG_CHECKING(for dvbpsi headers in ${with_dvbpsi})
838 if test "x${with_dvbpsi}" = "x"
843 test_LDFLAGS="-L${with_dvbpsi}/lib"
844 test_CFLAGS="-I${with_dvbpsi}/include"
846 CPPFLAGS="${save_CPPFLAGS} ${test_CFLAGS}"
847 AC_CHECK_HEADER([dvbpsi/dr.h],[
848 PLUGINS="${PLUGINS} demux/mpeg/ts_dvbpsi"
849 ts_dvbpsi_LDFLAGS="${ts_dvbpsi_LDFLAGS} ${test_LDFLAGS} -ldvbpsi"
850 ts_dvbpsi_CFLAGS="${ts_dvbpsi_CFLAGS} ${test_CFLAGS}"
852 if test "x${enable_dvbpsi}" != "x"
854 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])
857 CPPFLAGS="${save_CPPFLAGS}"
863 dnl Video4Linux plugin
866 [ --enable-v4l Video4Linux input support (default disabled)])
867 if test "x${enable_v4l}" = "xyes"
869 AC_CHECK_HEADERS(libv4l/v4l.h, [
870 PLUGINS="${PLUGINS} access/v4l/v4l"
878 [ --enable-vcd VCD support for Linux, FreeBSD and MacOS X (default enabled)])
880 if test "x${enable_vcd}" != "xno"
882 AC_EGREP_HEADER(cdrom_msf0,linux/cdrom.h,[
883 PLUGINS="${PLUGINS} access/vcd/vcd"
886 AC_EGREP_HEADER(ioc_toc_header ,sys/cdio.h,[
887 PLUGINS="${PLUGINS} access/vcd/vcd"
888 AC_DEFINE(HAVE_IOC_TOC_HEADER_IN_SYS_CDIO_H, 1, For FreeBSD VCD support)
891 if test "x${SYS}" = "xbsdi"
893 PLUGINS="${PLUGINS} access/vcd/vcd"
896 if test "x${SYS}" = "xdarwin"
898 # No need to add vcd to PLUGINS, Darwin is already based on FreeBSD
899 vcd_LDFLAGS="${vcd_LDFLAGS} -framework IOKit -framework CoreFoundation"
904 dnl Satellite input module
906 AC_ARG_ENABLE(satellite,
907 [ --enable-satellite satellite card support (default disabled)],
908 [ if test "x${enable_satellite}" = "xyes"
910 PLUGINS="${PLUGINS} access/satellite/satellite"
914 dnl ipv6 plugin - not for QNX yet
916 if test "x${SYS}" != "xnto" && test "x${SYS}" != "xmingw32"
919 AC_CHECK_FUNC(inet_pton,[have_ipv6=1],[
920 AC_CHECK_LIB(resolv,inet_pton,
922 ipv6_LDFLAGS="${ipv6_LDFLAGS} -lresolv"])
924 AC_MSG_CHECKING(for sockaddr_in6 in netinet/in.h)
925 AC_EGREP_HEADER(sockaddr_in6,netinet/in.h,
926 [AC_MSG_RESULT(yes)], [AC_MSG_RESULT(no); have_ipv6=0])
927 if test x$have_ipv6 = x1; then
928 PLUGINS="${PLUGINS} misc/network/ipv6"
931 if test "x${SYS}" = "xmingw32"
933 AC_MSG_CHECKING(for getaddrinfo in ws2tcpip.h)
934 AC_EGREP_HEADER(addrinfo,ws2tcpip.h,[AC_MSG_RESULT(yes)
935 PLUGINS="${PLUGINS} misc/network/ipv6"],[AC_MSG_RESULT(no)])
942 [ --enable-avi AVI demux module (default enabled)])
943 if test "x${enable_avi}" != "xno"
945 PLUGINS="${PLUGINS} demux/avi/avi"
952 [ --enable-aac AAC demux module (default enabled)])
953 if test "x${enable_aac}" != "xno"
955 PLUGINS="${PLUGINS} demux/aac/aac"
962 AC_ARG_WITH(,[Codec plugins:])
968 [ --enable-mad libmad module (default disabled)])
969 if test "x${enable_mad}" = "xyes"
972 [ --with-mad=PATH path to libmad],[],[])
973 if test "x${with_mad}" != "xno" -a "x${with_mad}" != "x"
975 mad_CFLAGS="${mad_CFLAGS} -I${with_mad}/include"
976 mad_LDFLAGS="${mad_LDFLAGS} -L${with_mad}/lib"
979 AC_ARG_WITH(mad-tree,
980 [ --with-mad-tree=PATH mad tree for static linking],[],[])
981 if test "x${with_mad_tree}" != "xno" -a "x${with_mad_tree}" != "x"
983 real_mad_tree="`cd ${with_mad_tree} 2>/dev/null && pwd`"
984 if test "x${real_mad_tree}" = "x"
986 dnl The given directory can't be found
988 AC_MSG_ERROR([${with_mad_tree} directory doesn't exist])
990 dnl Use a custom libmad
991 AC_MSG_CHECKING(for mad.h in ${real_mad_tree}/libmad)
992 if test -f ${real_mad_tree}/libmad/mad.h
995 mad_CFLAGS="${mad_CFLAGS} -I${real_mad_tree}/libmad"
996 mad_LDFLAGS="${mad_LDFLAGS} -L${real_mad_tree}/libmad/.libs"
997 LDFLAGS="${save_LDFLAGS} ${mad_LDFLAGS}"
998 AC_CHECK_LIB(mad, mad_bit_init, [
999 BUILTINS="${BUILTINS} codec/mad/mad"
1000 mad_LDFLAGS="${mad_LDFLAGS} -lmad"
1001 ],[ AC_MSG_ERROR([the specified tree hasn't been compiled ])
1003 LDFLAGS="${save_LDFLAGS}"
1006 AC_MSG_ERROR([the specified tree doesn't have mad.h])
1009 CFLAGS="${save_CFLAGS} ${mad_CFLAGS}"
1010 LDFLAGS="${save_LDFLAGS} ${mad_LDFLAGS}"
1011 AC_CHECK_HEADERS(mad.h, ,
1012 [ AC_MSG_ERROR([Cannot find development headers for libmad...]) ])
1013 AC_CHECK_LIB(mad, mad_bit_init, [
1014 PLUGINS="${PLUGINS} codec/mad/mad"
1015 mad_LDFLAGS="${mad_LDFLAGS} -lmad" ],
1016 [ AC_MSG_ERROR([Cannot find libmad library...]) ])
1017 CFLAGS="${save_CFLAGS}"
1018 LDFLAGS="${save_LDFLAGS}"
1023 dnl libid3tag support
1025 AC_CHECK_HEADERS(id3tag.h, [audio_LDFLAGS="${audio_LDFLAGS} -lz -lid3tag"])
1028 dnl ffmpeg decoder plugin
1030 AC_ARG_ENABLE(ffmpeg,
1031 [ --enable-ffmpeg ffmpeg codec (default disabled)])
1032 if test "x${enable_ffmpeg}" = "xyes"
1035 [ --with-ffmpeg=PATH path to ffmpeg installation],[],[])
1036 if test "x${with_ffmpeg}" != "xno" -a "x${with_ffmpeg}" != "x"
1038 ffmpeg_CFLAGS="${ffmpeg_CFLAGS} -I${with_ffmpeg}/include/libffmpeg"
1039 ffmpeg_LDFLAGS="${ffmpeg_LDFLAGS} -L${with_ffmpeg}/lib"
1042 dnl Add postprocessing modules
1043 PLUGINS="${PLUGINS} codec/ffmpeg/postprocessing/postprocessing_c"
1044 if test "x${ac_cv_mmx_inline}" != "xno"; then
1045 PLUGINS="${PLUGINS} codec/ffmpeg/postprocessing/postprocessing_mmx"
1048 if test "x${ac_cv_mmxext_inline}" != "xno"; then
1049 PLUGINS="${PLUGINS} codec/ffmpeg/postprocessing/postprocessing_mmxext"
1053 AC_ARG_WITH(ffmpeg-tree,
1054 [ --with-ffmpeg-tree=PATH ffmpeg tree for static linking])
1055 if test "x${with_ffmpeg_tree}" != "x"
1057 AC_MSG_CHECKING(for libavcodec.a in ${with_ffmpeg_tree})
1058 real_ffmpeg_tree="`cd ${with_ffmpeg_tree} 2>/dev/null && pwd`"
1059 if test "x${real_ffmpeg_tree}" = x
1061 dnl The given directory can't be found
1063 AC_MSG_ERROR([cannot cd to ${with_ffmpeg_tree}])
1065 if test -f "${real_ffmpeg_tree}/libavcodec/libavcodec.a"
1067 dnl Use a custom libffmpeg
1068 AC_MSG_RESULT(${real_ffmpeg_tree}/libavcodec/libavcodec.a)
1069 BUILTINS="${BUILTINS} codec/ffmpeg/ffmpeg"
1070 ffmpeg_LDFLAGS="${ffmpeg_LDFLAGS} ${real_ffmpeg_tree}/libavcodec/libavcodec.a"
1071 ffmpeg_CFLAGS="${ffmpeg_CFLAGS} -I${real_ffmpeg_tree}/libavcodec"
1073 dnl The given libavcodec wasn't built
1075 AC_MSG_ERROR([cannot find ${real_ffmpeg_tree}/libavcodec/libavcodec.a, make sure you compiled libavcodec in ${with_ffmpeg_tree}])
1078 CFLAGS="${save_CFLAGS} ${ffmpeg_CFLAGS}"
1079 LDFLAGS="${save_LDFLAGS} ${ffmpeg_LDFLAGS}"
1080 AC_CHECK_LIB(avcodec, avcodec_init, [
1081 BUILTINS="${BUILTINS} codec/ffmpeg/ffmpeg"
1082 ffmpeg_LDFLAGS="${ffmpeg_LDFLAGS} -lavcodec" ],
1083 [ AC_MSG_ERROR([Cannot find libavcodec library...]) ])
1084 LDFLAGS="${save_LDFLAGS}"
1085 CFLAGS="${save_CFLAGS}"
1090 dnl faad decoder plugin
1093 [ --enable-faad faad codec (default disabled)])
1094 if test "x${enable_faad}" = "xyes"
1097 [ --with-faad=PATH path to faad installation],[],[])
1098 if test "x${with_faad}" != "xno" -a "x${with_faad}" != "x"
1100 faad_CFLAGS="${faad_CFLAGS} -I${with_faad}/include"
1101 faad_LDFLAGS="${faad_LDFLAGS} -L${with_faad}/lib"
1103 faad_LDFLAGS="${faad_LDFLAGS}"
1105 AC_ARG_WITH(faad-tree,
1106 [ --with-faad-tree=PATH faad tree for static linking])
1107 if test "x${with_faad_tree}" != "x"
1109 AC_MSG_CHECKING(for libfaad.a in ${with_faad_tree})
1110 real_faad_tree="`cd ${with_faad_tree} 2>/dev/null && pwd`"
1111 if test "x${real_faad_tree}" = x
1113 dnl The given directory can't be found
1115 AC_MSG_ERROR([cannot cd to ${with_faad_tree}])
1117 if test -f "${real_faad_tree}/libfaad/.libs/libfaad.a"
1119 dnl Use a custom faad
1120 AC_MSG_RESULT(${real_faad_tree}/libfaad/.libs/libfaad.a)
1121 BUILTINS="${BUILTINS} codec/faad/faad"
1122 faad_LDFLAGS="${faad_LDFLAGS} ${real_faad_tree}/libfaad/.libs/libfaad.a"
1123 faad_CFLAGS="${faad_CFLAGS} -I${real_faad_tree}/include"
1125 dnl The given libfaad wasn't built
1127 AC_MSG_ERROR([cannot find ${real_faad_tree}/libfaad/.libs/libfaad.a, make sure you compiled libfaad in ${with_faad_tree}])
1130 CFLAGS="${save_CFLAGS} ${faad_CFLAGS}"
1131 LDFLAGS="${save_LDFLAGS} ${faad_LDFLAGS}"
1132 AC_CHECK_HEADERS(faad.h, ,
1133 [ AC_MSG_ERROR([Cannot find development headers for libfaad...]) ])
1134 AC_CHECK_LIB(faad, faacDecOpen, [
1135 PLUGINS="${PLUGINS} codec/faad/faad"
1136 faad_LDFLAGS="${faad_LDFLAGS} -lfaad" ],
1137 [ AC_MSG_ERROR([Cannot find libfaad library...]) ])
1138 LDFLAGS="${save_LDFLAGS}"
1139 CFLAGS="${save_CFLAGS}"
1149 [ --enable-mp4 MP4 demux module (default enabled)])
1150 if test "x${enable_mp4}" != "xno"
1153 PLUGINS="${PLUGINS} demux/mp4/mp4"
1154 AC_CHECK_HEADERS(zlib.h,
1155 [ mp4_LDFLAGS="${mp4_LDFLAGS} -lz" ] )
1159 dnl a52 AC3 decoder plugin
1162 [ --enable-a52 A/52 support with liba52 (default enabled)])
1163 if test "x${enable_a52}" != "xno"
1166 [ --with-a52=PATH a52 headers and libraries])
1167 AC_ARG_WITH(a52-tree,
1168 [ --with-a52-tree=PATH a52dec tree for static linking ],[],[])
1169 if test "x${with_a52_tree}" != "xno" -a "x${with_a52_tree}" != "x"
1171 real_a52_tree="`cd ${with_a52_tree} 2>/dev/null && pwd`"
1172 if test "x${real_a52_tree}" = "x"
1174 dnl The given directory can't be found
1176 AC_MSG_ERROR([${with_a52_tree} directory doesn't exist])
1178 dnl Use a custom a52dec
1179 AC_MSG_CHECKING(for a52.h in ${real_a52_tree}/include)
1180 if test -f ${real_a52_tree}/include/a52.h
1183 a52_CFLAGS="${a52_CFLAGS} -I${real_a52_tree}"
1184 a52_LDFLAGS="${a52_LDFLAGS} -L${real_a52_tree}/liba52/.libs"
1185 LDFLAGS="${save_LDFLAGS} ${a52_LDFLAGS}"
1186 AC_CHECK_LIB(a52, a52_free, [
1187 BUILTINS="${BUILTINS} codec/a52"
1188 a52_LDFLAGS="${a52_LDFLAGS} -la52 -lm"
1189 a52_CFLAGS="${a52_CFLAGS} -DUSE_A52DEC_TREE"
1191 if test -f ${real_a52_tree}/liba52/.libs/liba52.a
1193 AC_MSG_ERROR([make sure you have at least a52dec-0.7.3])
1195 AC_MSG_ERROR([the specified tree hasn't been compiled])
1198 LDFLAGS="${save_LDFLAGS}"
1201 AC_MSG_ERROR([the specified tree doesn't have a52.h])
1204 if test "x${with_a52}" = "x"
1209 test_LDFLAGS="-L${with_a52}/lib"
1210 test_CFLAGS="-I${with_a52}/include"
1212 save_CPPFLAGS="${CPPFLAGS}"
1213 save_LDFLAGS="${LDFLAGS}"
1214 CPPFLAGS="${save_CPPFLAGS} ${test_CFLAGS}"
1215 LDFLAGS="${save_LDFLAGS} ${test_LDFLAGS}"
1216 AC_CHECK_HEADERS(a52dec/a52.h, [
1217 AC_CHECK_LIB(a52, a52_free, [
1218 BUILTINS="${BUILTINS} codec/a52"
1219 a52_LDFLAGS="${a52_LDFLAGS} ${test_LDFLAGS} -la52 -lm"
1220 a52_CFLAGS="${a52_CFLAGS} ${test_CFLAGS}"
1222 if test "x${enable_dvbpsi}" != "x"
1224 AC_MSG_ERROR([Could not find a52 on your system: you may get it from http://liba52.sf.net])
1228 CPPFLAGS="${save_CPPFLAGS}"
1229 LDFLAGS="${save_LDFLAGS}"
1236 AC_ARG_ENABLE(cinepak,
1237 [ --enable-cinepak Cinepak decoder (default enabled)])
1238 if test "x${enable_cinepak}" != "xno"
1240 PLUGINS="${PLUGINS} codec/cinepak/cinepak"
1244 dnl ogg vorbis plugin
1246 AC_ARG_ENABLE(vorbis,
1247 [ --enable-vorbis Ogg/Vorbis decoder support (default enabled)])
1248 if test "x${enable_vorbis}" != "xno"
1250 AC_CHECK_HEADERS(ogg/ogg.h, [
1251 dnl disabled for the moment
1252 #PLUGINS="${PLUGINS} demux/ogg/ogg codec/vorbis/vorbis"
1253 vorbis_LDFLAGS="${vorbis_LDFLAGS} -lvorbis"
1261 [ --enable-dv DV decoder support (default disabled)])
1262 if test "x${enable_dv}" = "xyes"
1264 AC_CHECK_HEADERS(libdv/dv.h, [
1265 BUILTINS="${BUILTINS} codec/dv/dv"
1266 dv_LDFLAGS="${dv_LDFLAGS} -ldv"
1274 AC_ARG_WITH(,[Video plugins:])
1278 dnl (enabled by default except on win32)
1281 [ --enable-x11 X11 support (default enabled)])
1282 if test "x${enable_x11}" != "xno" &&
1283 (test "x${SYS}" != "xmingw32" || test "x${enable_x11}" = "xyes"); then
1284 CPPFLAGS="${save_CPPFLAGS} -I${x_includes}"
1285 AC_CHECK_HEADERS(X11/Xlib.h, [
1286 PLUGINS="${PLUGINS} video_output/x11/x11"
1287 x11_LDFLAGS="${x11_LDFLAGS} -L${x_libraries} -lX11 -lXext"
1288 x11_CFLAGS="${x11_CFLAGS} -I${x_includes}"
1290 CPPFLAGS="${save_CPPFLAGS}"
1295 dnl (enabled by default except on win32)
1297 AC_ARG_ENABLE(xvideo,
1298 [ --enable-xvideo XVideo support (default enabled)])
1299 if test "x${enable_xvideo}" != "xno" &&
1300 (test "x${SYS}" != "xmingw32" || test "x${enable_xvideo}" = "xyes"); then
1301 CPPFLAGS="${save_CPPFLAGS} -I${x_includes}"
1302 AC_CHECK_HEADERS(X11/extensions/Xv.h, [
1303 CFLAGS="${save_CFLAGS} -L${x_libraries} -lX11 -lXext"
1304 AC_CHECK_LIB(Xv_pic,XvPutImage,
1305 # We have Xv_pic, that's good, we can build an xvideo.so plugin !
1306 PLUGINS="${PLUGINS} video_output/x11/xvideo"
1307 xvideo_LDFLAGS="${xvideo_LDFLAGS} -L${x_libraries} -lX11 -lXext -lXv_pic"
1308 xvideo_CFLAGS="${xvideo_CFLAGS} -I${x_includes}",
1309 AC_CHECK_LIB(Xv,XvPutImage,
1310 # We don't have Xv_pic, but we have Xv, let's make xvideo.a as builtin
1311 PLUGINS="${PLUGINS} video_output/x11/xvideo"
1312 xvideo_LDFLAGS="${xvideo_LDFLAGS} -L${x_libraries} -lX11 -lXext -lXv"
1313 xvideo_CFLAGS="${xvideo_CFLAGS} -I${x_includes}",
1314 # Otherwise... well, do nothing.
1318 CFLAGS="${save_CFLAGS}"
1320 CPPFLAGS="${save_CPPFLAGS}")
1327 [ --enable-sdl SDL support (default enabled)])
1328 if test "x${enable_sdl}" != "xno"
1331 AC_ARG_WITH(sdl-config-path,
1332 [ --with-sdl-config-path=PATH sdl-config path (default search in \$PATH)],
1333 [ if test "x${with_sdl_config_path}" != "xno"
1335 SDL_PATH="${with_sdl_config_path}:${PATH}"
1337 AC_PATH_PROG(SDL12_CONFIG, sdl12-config, no, ${SDL_PATH})
1338 SDL_CONFIG="${SDL12_CONFIG}"
1339 SDL_HEADER="SDL12/SDL.h"
1340 if test "x${SDL_CONFIG}" = "xno"
1342 AC_PATH_PROG(SDL11_CONFIG, sdl11-config, no, ${SDL_PATH})
1343 SDL_CONFIG=${SDL11_CONFIG}
1344 SDL_HEADER="SDL11/SDL.h"
1346 if test "x${SDL_CONFIG}" = "xno"
1348 AC_PATH_PROG(SDL_CONFIG, sdl-config, no, ${SDL_PATH})
1349 SDL_HEADER="SDL/SDL.h"
1351 if test "x${SDL_CONFIG}" != "xno"
1353 PLUGINS="${PLUGINS} video_output/sdl audio_output/sdl"
1354 sdl_CFLAGS="${sdl_CFLAGS} `${SDL_CONFIG} --cflags`"
1355 sdl_LDFLAGS="${sdl_LDFLAGS} `${SDL_CONFIG} --libs | sed 's,-rdynamic,,'`"
1356 CPPFLAGS="${save_CPPFLAGS} ${sdl_CFLAGS}"
1357 AC_CHECK_HEADERS(${SDL_HEADER}, AC_DEFINE_UNQUOTED(SDL_INCLUDE_FILE,
1358 <${SDL_HEADER}>, Indicate whether we should use SDL/SDL.h or SDL11/SDL.h),
1359 [ AC_MSG_ERROR([The development package for SDL is not installed.
1360 Please install it and try again. Alternatively you can also configure with
1363 CPPFLAGS="${save_CPPFLAGS}"
1364 if expr 1.1.5 \> `${SDL_CONFIG} --version` >/dev/null
1366 AC_MSG_ERROR([The development package for SDL is not installed.
1367 Please install it and try again. Alternatively you can also configure with
1370 elif test "x${enable_sdl}" = "xyes"
1372 AC_MSG_ERROR([I couldn't find the SDL package. You can download libSDL
1373 from http://www.libsdl.org/, or configure with --disable-sdl. Have a nice day.
1379 dnl Windows DirectX module
1381 AC_ARG_ENABLE(directx,
1382 [ --enable-directx Win32 DirectX support (default enabled on Win32)])
1383 if test "x${enable_directx}" != "xno"
1385 if test "x${SYS}" = "xmingw32"
1387 AC_ARG_WITH(directx,
1388 [ --with-directx=PATH Win32 DirectX headers])
1389 if test "x${with_directx}" = "x"
1391 AC_CHECK_HEADERS(ddraw.h,
1392 [ PLUGINS="${PLUGINS} video_output/directx/directx"
1393 directx_LDFLAGS="${directx_LDFLAGS} -lgdi32" ])
1395 AC_MSG_CHECKING(for directX headers in ${with_directx})
1396 if test -f ${with_directx}/ddraw.h
1398 PLUGINS="${PLUGINS} video_output/directx/directx"
1399 directx_LDFLAGS="${directx_LDFLAGS} -lgdi32"
1400 directx_CFLAGS="${directx_CFLAGS} -I${with_directx}"
1404 AC_MSG_ERROR([Cannot find ${with_directx}/ddraw.h!])
1411 dnl Linux framebuffer module
1414 [ --enable-fb Linux framebuffer support (default enabled on Linux)])
1415 if test "x${enable_fb}" != "xno"
1417 AC_CHECK_HEADERS(linux/fb.h, [
1418 PLUGINS="${PLUGINS} video_output/fb"
1423 dnl Linux MGA module
1426 [ --enable-mga Linux kernel Matrox support (default disabled)],
1427 [ if test "x${enable_mga}" = "xyes"
1429 PLUGINS="${PLUGINS} video_output/mga/mga video_output/mga/xmga"
1435 AC_ARG_ENABLE(svgalib,
1436 [ --enable-svgalib SVGAlib support (default disabled)])
1437 if test "x${enable_svgalib}" = "xyes"
1439 PLUGINS="${PLUGINS} video_output/svgalib"
1440 svgalib_LDFLAGS="${svgalib_LDFLAGS} -lvgagl -lvga"
1447 [ --enable-ggi GGI support (default disabled)])
1448 if test "x${enable_ggi}" = "xyes"
1450 PLUGINS="${PLUGINS} video_output/ggi"
1451 ggi_LDFLAGS="${ggi_LDFLAGS} -lggi"
1453 [ --with-ggi=PATH path to libggi],
1454 [ if test "x${with_ggi}" != "xno" -a "x${with_ggi}" != "x"
1456 CFLAGS_GGI="${CFLAGS_GGI} -I${with_ggi}/include"
1457 ggi_LDFLAGS="${ggi_LDFLAGS} -L${with_ggi}/lib"
1464 AC_ARG_ENABLE(glide,
1465 [ --enable-glide Glide (3dfx) support (default disabled)])
1466 if test "x${enable_glide}" = "xyes"
1468 PLUGINS="${PLUGINS} video_output/glide"
1469 glide_LDFLAGS="${glide_LDFLAGS} -lglide2x -lm"
1470 glide_CFLAGS="${glide_CFLAGS} -I/usr/include/glide"
1472 [ --with-glide=PATH path to libglide],
1473 [ if test "x${with_glide}" != "xno" -a "x${with_glide}" != "x"
1475 glide_CFLAGS="${glide_CFLAGS} -I${with_glide}/include"
1476 glide_LDFLAGS="${glide_LDFLAGS} -L${with_glide}/lib"
1484 [ --enable-aa aalib output (default disabled)])
1485 if test "x${enable_aa}" = "xyes"
1487 AC_CHECK_HEADER(aalib.h,have_aa="true",have_aa="false")
1488 if test "x${have_aa}" = "xtrue"
1490 PLUGINS="${PLUGINS} video_output/aa"
1491 aa_LDFLAGS="${aa_LDFLAGS} -laa"
1499 AC_ARG_WITH(,[Audio plugins:])
1502 dnl OSS /dev/dsp module (enabled by default except on win32)
1505 [ --enable-oss Linux OSS /dev/dsp support (enabled on Linux)])
1507 if test "x${enable_oss}" != "xno" &&
1508 (test "x${SYS}" != "xmingw32" || test "x${enable_oss}" = "xyes")
1510 AC_CHECK_HEADERS(soundcard.h sys/soundcard.h machine/soundcard.h, [
1511 PLUGINS="${PLUGINS} audio_output/oss"
1512 AC_CHECK_LIB(ossaudio,main,oss_LDFLAGS="${oss_LDFLAGS} -lossaudio")
1520 [ --enable-esd Esound library support (default disabled)],
1521 [if test "x${enable_esd}" = "xyes"
1523 AC_PATH_PROG(ESD_CONFIG, esd-config, no)
1524 if test "x${ESD_CONFIG}" != "xno"
1526 PLUGINS="${PLUGINS} audio_output/esd"
1527 esd_CFLAGS="${esd_CFLAGS} `${ESD_CONFIG} --cflags`"
1528 esd_LDFLAGS="${esd_LDFLAGS} `${ESD_CONFIG} --libs`"
1536 [ --enable-arts aRts sound server (default disabled)],
1537 [if test "x${enable_arts}" = "xyes"
1539 AC_PATH_PROG(ARTS_CONFIG, artsc-config, no)
1540 if test "x${ARTS_CONFIG}" != "xno"
1542 PLUGINS="${PLUGINS} audio_output/arts"
1543 arts_CFLAGS="${arts_CFLAGS} `${ARTS_CONFIG} --cflags`"
1544 arts_LDFLAGS="${arts_LDFLAGS} `${ARTS_CONFIG} --libs `"
1552 [ --enable-alsa ALSA sound support for Linux (default disabled)],
1553 [if test "x${enable_alsa}" = "xyes"
1555 AC_CHECK_HEADER(alsa/asoundlib.h, AC_CHECK_LIB(asound, main, have_alsa="true", have_alsa="false"),have_alsa="false")
1556 if test "x${have_alsa}" = "xtrue"
1558 PLUGINS="${PLUGINS} audio_output/alsa"
1559 alsa_LDFLAGS="${alsa_LDFLAGS} -lasound -lm -ldl"
1564 dnl win32 waveOut plugin
1566 AC_ARG_ENABLE(waveout,
1567 [ --enable-waveout Win32 waveOut module (default enabled on Win32)])
1568 if test "x${enable_waveout}" != "xno" -a "x${SYS}" = "xmingw32"
1570 PLUGINS="${PLUGINS} audio_output/waveout"
1571 waveout_LDFLAGS="-lwinmm"
1575 dnl Interface plugins
1578 AC_ARG_WITH(,[Interface plugins:])
1580 dnl special case for BeOS
1581 if test "x${SYS}" = "xbeos"
1583 PLUGINS="${PLUGINS} gui/beos/beos"
1590 [ --enable-gtk Gtk+ support (default enabled)])
1591 if test "x${enable_gtk}" != "xno"
1594 AC_ARG_WITH(gtk-config-path,
1595 [ --with-gtk-config-path=PATH gtk-config path (default search in \$PATH)],
1596 [ if test "x${with_gtk_config_path}" != "xno"
1598 GTK_PATH="${with_gtk_config_path}:${PATH}"
1600 # look for gtk-config
1601 AC_PATH_PROG(GTK12_CONFIG, gtk12-config, no, ${GTK_PATH})
1602 GTK_CONFIG=${GTK12_CONFIG}
1603 if test "x${GTK_CONFIG}" = "xno"
1605 AC_PATH_PROG(GTK_CONFIG, gtk-config, no, ${GTK_PATH})
1607 if test "x${GTK_CONFIG}" != "xno"
1609 if expr 1.2.0 \> `${GTK_CONFIG} --version` >/dev/null
1611 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.])
1613 gtk_CFLAGS="${gtk_CFLAGS} `${GTK_CONFIG} --cflags gtk gthread`"
1614 gtk_LDFLAGS="${gtk_LDFLAGS} `${GTK_CONFIG} --libs gtk gthread | sed 's,-rdynamic,,'`"
1615 # now look for the gtk.h header
1616 CPPFLAGS="${save_CPPFLAGS} ${gtk_CFLAGS}"
1617 ac_cv_gtk_headers=yes
1618 AC_CHECK_HEADERS(gtk/gtk.h glib.h gdk/gdk.h, , [
1619 ac_cv_gtk_headers=no
1620 echo "Cannot find gtk development headers."
1622 if test "x${ac_cv_gtk_headers}" = "xyes"
1624 PLUGINS="${PLUGINS} gui/gtk/gtk"
1626 ALIASES="${ALIASES} gvlc"
1628 CPPFLAGS="${save_CPPFLAGS}"
1633 dnl Familiar module uses Gtk+ library
1635 AC_ARG_ENABLE(familiar,
1636 [ --enable-familiar Familiar Gtk+ support (default disabled)])
1637 if test "x${enable_familiar}" = "xyes"
1640 AC_ARG_WITH(gtk-config-path,
1641 [ --with-gtk-config-path=PATH gtk-config path (default search in \$PATH)],
1642 [ if test "x${with_gtk_config_path}" != "xno"
1644 GTK_PATH="${with_gtk_config_path}:${PATH}"
1646 # look for gtk-config
1647 AC_PATH_PROG(GTK12_CONFIG, gtk12-config, no, ${GTK_PATH})
1648 GTK_CONFIG=${GTK12_CONFIG}
1649 if test "x${GTK_CONFIG}" = "xno"
1651 AC_PATH_PROG(GTK_CONFIG, gtk-config, no, ${GTK_PATH})
1653 if test "x${GTK_CONFIG}" != "xno"
1655 if expr 1.2.0 \> `${GTK_CONFIG} --version` >/dev/null
1657 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.])
1659 familiar_CFLAGS="${familiar_CFLAGS} `${GTK_CONFIG} --cflags gtk gthread`"
1660 familiar_LDFLAGS="${familiar_LDFLAGS} `${GTK_CONFIG} --libs gtk gthread | sed 's,-rdynamic,,'`"
1661 # now look for the gtk.h header
1662 CPPFLAGS="${save_CPPFLAGS} ${familiar_CFLAGS}"
1663 ac_cv_gtk_headers=yes
1664 AC_CHECK_HEADERS(gtk/gtk.h glib.h gdk/gdk.h, , [
1665 ac_cv_gtk_headers=no
1666 echo "Cannot find gtk development headers."
1668 if test "x${ac_cv_gtk_headers}" = "xyes"
1670 PLUGINS="${PLUGINS} gui/familiar/familiar"
1673 CPPFLAGS="${save_CPPFLAGS}"
1680 AC_ARG_ENABLE(gnome,
1681 [ --enable-gnome Gnome interface support (default disabled)],
1682 [if test "x${enable_gnome}" = "xyes"; then
1683 # look for gnome-config
1684 AC_PATH_PROG(GNOME_CONFIG, gnome-config, no)
1685 if test -x ${GNOME_CONFIG}
1687 gnome_CFLAGS="${gnome_CFLAGS} `${GNOME_CONFIG} --cflags gtk gnomeui`"
1688 gnome_LDFLAGS="${gnome_LDFLAGS} `${GNOME_CONFIG} --libs gnomeui | sed 's,-rdynamic,,'`"
1690 # now look for the gnome.h header
1691 CPPFLAGS="${save_CPPFLAGS} ${gnome_CFLAGS}"
1692 AC_CHECK_HEADERS(gnome.h, [
1693 PLUGINS="${PLUGINS} gui/gtk/gnome"
1695 ALIASES="${ALIASES} gnome-vlc"
1697 AC_MSG_ERROR([Can't find gnome headers. Please install the gnome
1698 developement tools or remove the --enable-gnome option])
1700 CPPFLAGS="${save_CPPFLAGS}"
1707 [ --enable-qt Qt interface support (default disabled)],
1708 [if test "x${enable_qt}" = "xyes"; then
1709 PLUGINS="${PLUGINS} gui/qt/qt"
1710 ALIASES="${ALIASES} qvlc"
1711 qt_LDFLAGS="${qt_LDFLAGS} -lqt -L${QTDIR}/lib"
1712 qt_CFLAGS="${qt_CFLAGS} -I/usr/include/qt -I${QTDIR}/include"
1713 if test -x ${QTDIR}/bin/moc
1715 MOC=${QTDIR}/bin/moc
1725 [ --enable-kde KDE interface support (default disabled)],
1726 [if test "x${enable_kde}" = "xyes"; then
1727 PLUGINS="${PLUGINS} gui/kde/kde"
1728 ALIASES="${ALIASES} kvlc"
1729 kde_LDFLAGS="${kde_LDFLAGS} -L${KDEDIR}/lib -lkfile"
1730 kde_CFLAGS="${kde_CFLAGS} -I/usr/include/kde -I/usr/include/qt"
1731 kde_CFLAGS="${kde_CFLAGS} -I${KDEDIR}/include -I${QTDIR}/include"
1732 if test -x ${QTDIR}/bin/moc
1734 MOC=${QTDIR}/bin/moc
1741 dnl Qt embedded module
1744 [ --enable-qte Qt embedded interface support (default disabled)],
1745 [if test "x${enable_qte}" = "xyes"; then
1746 PLUGINS="${PLUGINS} gui/qte/qte"
1747 qte_LDFLAGS="${qte_LDFLAGS} -lqte -L${QTEDIR}/lib"
1748 qte_CFLAGS="${qte_CFLAGS} -I/usr/include/qte -I${QTEDIR}/include"
1749 if test -x ${QTEDIR}/bin/moc
1751 MOC=${QTEDIR}/bin/moc
1761 AC_ARG_ENABLE(macosx,
1762 [ --enable-macosx MacOS X support (default enabled on MacOS X)],
1763 [if test "x${enable_macosx}" = "xyes"
1765 BUILTINS="${BUILTINS} gui/macosx/macosx"
1766 macosx_LDFLAGS="${macosx_LDFLAGS} -framework CoreAudio -framework AudioToolbox -framework IOKit -framework Cocoa -framework Carbon -framework AGL -framework QuickTime -lobjc -ObjC"
1768 [AC_CHECK_HEADERS(Cocoa/Cocoa.h,
1769 BUILTINS="${BUILTINS} gui/macosx/macosx"
1770 macosx_LDFLAGS="${macosx_LDFLAGS} -framework CoreAudio -framework AudioToolbox -framework IOKit -framework Cocoa -framework Carbon -framework AGL -framework QuickTime -lobjc -ObjC"
1777 [ --enable-qnx QNX RTOS support (default enabled on QNX RTOS)])
1778 if test "x${enable_qnx}" != "xno"
1780 AC_CHECK_HEADERS(Ph.h, [
1781 PLUGINS="${PLUGINS} gui/qnx/qnx"
1782 qnx_LDFLAGS="${qnx_LDFLAGS} -lasound -lph"
1787 dnl Windows native interface module, built with Borland C++ Builder
1789 AC_ARG_ENABLE(intfwin,
1790 [ --enable-intfwin Win32 interface support (default disabled)],
1791 [ if test "x${enable_intfwin}" != "xno"
1793 AC_ARG_WITH(bcbuilder,
1794 [ --with-bcbuilder=PATH Borland C++ Builder installation path])
1795 if test "x${with_bcbuilder}" != "x"
1797 BCBUILDER="${with_bcbuilder}"
1799 PLUGINS="${PLUGINS} gui/win32/win32"
1805 AC_ARG_ENABLE(ncurses,
1806 [ --enable-ncurses ncurses interface support (default disabled)],
1807 [if test "x${enable_ncurses}" = "xyes"; then
1808 PLUGINS="${PLUGINS} gui/ncurses/ncurses"
1809 ncurses_LDFLAGS="${ncurses_LDFLAGS} -lncurses"
1816 [ --enable-xosd xosd interface support (default disabled)])
1817 if test "x${enable_xosd}" = "xyes"
1819 AC_CHECK_HEADER(xosd.h, have_xosd="true", have_xosd="false")
1820 AC_TRY_COMPILE([#include <xosd.h>],
1821 [void foo() { xosd_init("foo","bar",12,XOSD_top,2,12,42); }],,
1822 AC_DEFINE(HAVE_OLD_XOSD_H, 1, Define if <xosd.h> is pre-1.0.0))
1823 if test "x${have_xosd}" = "xtrue"
1825 PLUGINS="${PLUGINS} visualization/xosd/xosd"
1826 xosd_LDFLAGS="${xosd_LDFLAGS} -lxosd"
1834 [ --enable-lirc lirc support (default disabled)])
1835 if test "x${enable_lirc}" = "xyes"
1837 AC_CHECK_HEADER(lirc/lirc_client.h, AC_CHECK_LIB(lirc_client, lirc_init, have_lirc="true", have_lirc="false"),have_lirc="false")
1838 if test "x${have_lirc}" = "xtrue"
1840 PLUGINS="${PLUGINS} control/lirc/lirc"
1841 lirc_LDFLAGS="${lirc_LDFLAGS} -llirc_client"
1845 AC_ARG_WITH(,[Misc options:])
1848 dnl Endianness check, AC_C_BIGENDIAN doesn't work if we are cross-compiling
1850 dnl We give the user the opportunity to specify
1851 dnl --with-words=big or --with-words=little ; otherwise, try to guess
1854 [ --with-words=endianness set endianness (big or little)])
1855 case "x${with_words}" in
1857 ac_cv_c_bigendian=yes
1860 ac_cv_c_bigendian=no
1863 dnl Try to guess endianness by matching patterns on a compiled
1864 dnl binary, by looking for an ASCII or EBCDIC string
1865 AC_CACHE_CHECK([whether the byte order is big-endian],
1866 [ac_cv_c_bigendian],
1867 [ac_cv_c_bigendian="unknown"
1868 [cat >conftest.c <<EOF
1869 short am[] = { 0x4249, 0x4765, 0x6e44, 0x6961, 0x6e53, 0x7953, 0 };
1870 short ai[] = { 0x694c, 0x5454, 0x656c, 0x6e45, 0x6944, 0x6e61, 0 };
1871 void _a(void) { char*s = (char*)am; s = (char *)ai; }
1872 short ei[] = { 0x89D3, 0xe3e3, 0x8593, 0x95c5, 0x89c4, 0x9581, 0 };
1873 short em[] = { 0xc2c9, 0xc785, 0x95c4, 0x8981, 0x95e2, 0xa8e2, 0 };
1874 void _e(void) { char*s = (char*)em; s = (char*)ei; }
1875 int main(void) { _a(); _e(); return 0; }
1878 if test -f conftest.c
1880 if ${CC-cc} -c conftest.c -o conftest.o >config.log 2>&1 \
1881 && test -f conftest.o
1883 if test "`strings conftest.o | grep BIGenDianSyS`"
1885 ac_cv_c_bigendian="yes"
1887 if test "`strings conftest.o | grep LiTTleEnDian`"
1889 ac_cv_c_bigendian="no"
1894 if test "x${ac_cv_c_bigendian}" = "xunknown"
1896 AC_MSG_ERROR([Could not guess endianness, please use --with-words])
1900 dnl Now we know what to use for endianness, just put it in the header
1901 if test "${ac_cv_c_bigendian}" = "yes"
1903 AC_DEFINE(WORDS_BIGENDIAN, 1, big endian system)
1912 AC_ARG_ENABLE(gprof,
1913 [ --enable-gprof gprof profiling (default disabled)],
1914 [ if test "x${enable_gprof}" = "xyes"
1922 AC_ARG_ENABLE(cprof,
1923 [ --enable-cprof cprof profiling (default disabled)],
1924 [ if test "x${enable_cprof}" = "xyes"
1926 save_LDFLAGS="${save_LDFLAGS} -lcprof"; LDFLAGS="${save_LDFLAGS}"
1933 dnl GNU portable threads
1936 [ --enable-pth GNU Pth support (default disabled)],
1937 [ if test "x${enable_pth}" = "xyes"; then
1938 AC_CHECK_LIB(pth,pth_init)
1939 AC_EGREP_HEADER(pth_init,pth.h,[
1940 AC_DEFINE(PTH_INIT_IN_PTH_H, 1,
1941 Define if <pth.h> defines pth_init)
1950 [ --enable-st State Threads (default disabled)],
1951 [ if test "x${enable_st}" = "xyes"; then
1952 AC_CHECK_LIB(st,st_init)
1953 AC_EGREP_HEADER(st_init,st.h,[
1954 AC_DEFINE(ST_INIT_IN_ST_H, 1,
1955 Define if <st.h> defines st_init)
1960 vlc_LDFLAGS="${vlc_LDFLAGS} ${THREAD_LIB}"
1961 plugins_LDFLAGS="${plugins_LDFLAGS} ${THREAD_LIB}"
1967 AC_ARG_ENABLE(mozilla,
1968 [ --enable-mozilla build a vlc-based Mozilla plugin (default disabled)])
1969 if test "x${enable_mozilla}" = "xyes"
1971 AC_PATH_PROG(MOZILLA_CONFIG, mozilla-config, no)
1972 if test "x${MOZILLA_CONFIG}" != "xno"
1974 if test "x${SYS}" != "xmingw32"; then
1975 LDFLAGS="${save_LDFLAGS} -L${x_libraries}"
1976 AC_CHECK_LIB(Xt,XtStrings,[
1977 mozilla_LDFLAGS="${mozilla_LDFLAGS} -L${x_libraries} -lXt"
1979 LDFLAGS="${save_LDFLAGS}"
1982 mozilla_CFLAGS="${mozilla_CFLAGS} `${MOZILLA_CONFIG} --cflags plugin java --defines | xargs`"
1983 dnl Workaround for http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=150490
1984 mozilla_LDFLAGS="${mozilla_LDFLAGS} `${MOZILLA_CONFIG} --libs | sed 's#-I\(.*\)/mozilla/\([^ ]*\)#-I\1/\2 -I\1/mozilla/\2#g'`"
1991 if test "x${NEED_GTK_MAIN}" != "xno"
1993 PLUGINS="${PLUGINS} misc/gtk_main"
1994 gtk_main_CFLAGS="${gtk_main_CFLAGS} ${gtk_CFLAGS} ${familiar_CFLAGS} ${gnome_CFLAGS}"
1995 gtk_main_LDFLAGS="${gtk_main_LDFLAGS} ${gtk_LDFLAGS} ${familiar_LDFLAGS} ${gnome_LDFLAGS}"
1999 dnl Plug-ins - this must be AT THE END
2001 AC_ARG_ENABLE(plugins,
2002 [ --disable-plugins make all plug-ins built-in (default plug-ins enabled)],
2003 [if test "x${enable_plugins}" = "xno"
2005 BUILTINS="${BUILTINS} ${PLUGINS}"
2009 dnl Automagically disable plug-ins if there is no system support for .so files
2010 dnl don't forget vlc-win32 still can load .so as plugins
2011 if test "x${ac_cv_header_dlfcn_h}" = "xno" -a "x${ac_cv_header_image_h}" = "xno" -a "x${SYS}" != "xmingw32"
2013 echo "*** Your system doesn't have plug-in support. All plug-ins will be compiled"
2015 BUILTINS="${BUILTINS} ${PLUGINS}"
2020 dnl Stuff used by the program
2022 AC_DEFINE_UNQUOTED(VERSION_MESSAGE, "vlc ${VERSION} ${CODENAME} Copyright 1996-2002 VideoLAN", [Simple version string])
2023 AC_DEFINE_UNQUOTED(COPYRIGHT_MESSAGE, "VideoLAN Client - version ${VERSION} ${CODENAME} - (c) 1996-2002 VideoLAN", [Copyright string])
2024 AC_DEFINE_UNQUOTED(CONFIGURE_LINE, "${CONFIGURE_LINE}", [The ./configure command line])
2026 VLC_SYMBOL="`echo ${VERSION} | tr .- __`"
2027 AC_DEFINE_UNQUOTED(MODULE_SUFFIX, "__${VLC_SYMBOL}", [String suffix for module functions])
2028 AC_DEFINE_UNQUOTED(MODULE_SYMBOL, ${VLC_SYMBOL}, [Symbol suffix for module functions])
2030 DATA_PATH="${ac_tool_prefix}/share/videolan"
2032 PLUGIN_PATH="${ac_tool_prefix}/share/videolan"
2033 AC_SUBST(PLUGIN_PATH)
2038 CPPFLAGS="${save_CPPFLAGS}"
2039 CFLAGS="${save_CFLAGS}"
2040 LDFLAGS="${save_LDFLAGS}"
2043 dnl Create the vlc-config script
2045 libvlc_LDFLAGS="${vlc_LDFLAGS} ${builtins_LDFLAGS}"
2046 for i in `echo ${BUILTINS} | sed -e 's#[^ ]*/##g'` ; do libvlc_LDFLAGS="${libvlc_LDFLAGS} ${libdir}/vlc/${i}.a `eval echo '$'{${i}_LDFLAGS}`" ; done
2047 AC_SUBST(libvlc_LDFLAGS)
2050 dnl Configuration is finished
2069 AC_SUBST(NEED_GETOPT)
2072 AC_SUBST(CFLAGS_OPTIM)
2073 AC_SUBST(CFLAGS_OPTIM_NODEBUG)
2076 AC_SUBST(vlc_CFLAGS)
2077 AC_SUBST(plugins_CFLAGS)
2078 AC_SUBST(builtins_CFLAGS)
2079 AC_SUBST(mozilla_CFLAGS)
2081 AC_SUBST(a52_CFLAGS)
2082 AC_SUBST(arts_CFLAGS)
2083 AC_SUBST(i420_yuy2_mmx_CFLAGS)
2084 AC_SUBST(dvd_CFLAGS)
2085 AC_SUBST(dvdread_CFLAGS)
2086 AC_SUBST(dvdplay_CFLAGS)
2087 AC_SUBST(ts_dvbpsi_CFLAGS)
2088 AC_SUBST(directx_CFLAGS)
2089 AC_SUBST(esd_CFLAGS)
2090 AC_SUBST(familiar_CFLAGS)
2091 AC_SUBST(faad_CFLAGS)
2092 AC_SUBST(ffmpeg_CFLAGS)
2093 AC_SUBST(glide_CFLAGS)
2094 AC_SUBST(gnome_CFLAGS)
2095 AC_SUBST(gtk_CFLAGS)
2096 AC_SUBST(gtk_main_CFLAGS)
2097 AC_SUBST(kde_CFLAGS)
2098 AC_SUBST(idctaltivec_CFLAGS)
2099 AC_SUBST(macosx_CFLAGS)
2100 AC_SUBST(mad_CFLAGS)
2101 AC_SUBST(memcpyaltivec_CFLAGS)
2102 AC_SUBST(motionaltivec_CFLAGS)
2104 AC_SUBST(qte_CFLAGS)
2105 AC_SUBST(sdl_CFLAGS)
2106 AC_SUBST(svgalib_CFLAGS)
2107 AC_SUBST(x11_CFLAGS)
2108 AC_SUBST(xvideo_CFLAGS)
2110 AC_SUBST(vlc_LDFLAGS)
2111 AC_SUBST(plugins_LDFLAGS)
2112 AC_SUBST(builtins_LDFLAGS)
2113 AC_SUBST(mozilla_LDFLAGS)
2115 AC_SUBST(a52_LDFLAGS)
2116 AC_SUBST(aa_LDFLAGS)
2117 AC_SUBST(alsa_LDFLAGS)
2118 AC_SUBST(arts_LDFLAGS)
2119 AC_SUBST(beos_LDFLAGS)
2120 AC_SUBST(i420_rgb_LDFLAGS)
2121 AC_SUBST(directx_LDFLAGS)
2122 AC_SUBST(dv_LDFLAGS)
2123 AC_SUBST(dvd_LDFLAGS)
2124 AC_SUBST(dvdread_LDFLAGS)
2125 AC_SUBST(dvdplay_LDFLAGS)
2126 AC_SUBST(ts_dvbpsi_LDFLAGS)
2127 AC_SUBST(audio_LDFLAGS)
2128 AC_SUBST(esd_LDFLAGS)
2129 AC_SUBST(familiar_LDFLAGS)
2130 AC_SUBST(distort_LDFLAGS)
2131 AC_SUBST(faad_LDFLAGS)
2132 AC_SUBST(ffmpeg_LDFLAGS)
2133 AC_SUBST(mp4_LDFLAGS)
2134 AC_SUBST(ggi_LDFLAGS)
2135 AC_SUBST(glide_LDFLAGS)
2136 AC_SUBST(gnome_LDFLAGS)
2137 AC_SUBST(gtk_LDFLAGS)
2138 AC_SUBST(gtk_main_LDFLAGS)
2139 AC_SUBST(http_LDFLAGS)
2140 AC_SUBST(idctaltivec_LDFLAGS)
2141 AC_SUBST(imdct_LDFLAGS)
2142 AC_SUBST(imdct3dn_LDFLAGS)
2143 AC_SUBST(imdctsse_LDFLAGS)
2144 AC_SUBST(ipv4_LDFLAGS)
2145 AC_SUBST(ipv6_LDFLAGS)
2146 AC_SUBST(kde_LDFLAGS)
2147 AC_SUBST(lirc_LDFLAGS)
2148 AC_SUBST(macosx_LDFLAGS)
2149 AC_SUBST(mad_LDFLAGS)
2150 AC_SUBST(memcpyaltivec_LDFLAGS)
2151 AC_SUBST(motionaltivec_LDFLAGS)
2152 AC_SUBST(ncurses_LDFLAGS)
2153 AC_SUBST(oss_LDFLAGS)
2154 AC_SUBST(qnx_LDFLAGS)
2155 AC_SUBST(qt_LDFLAGS)
2156 AC_SUBST(qte_LDFLAGS)
2157 AC_SUBST(rc_LDFLAGS)
2158 AC_SUBST(sdl_LDFLAGS)
2159 AC_SUBST(svgalib_LDFLAGS)
2160 AC_SUBST(vcd_LDFLAGS)
2161 AC_SUBST(vorbis_LDFLAGS)
2162 AC_SUBST(waveout_LDFLAGS)
2163 AC_SUBST(x11_LDFLAGS)
2164 AC_SUBST(xvideo_LDFLAGS)
2165 AC_SUBST(xosd_LDFLAGS)
2167 AC_OUTPUT([Makefile.config Makefile.opts po/Makefile.in vlc-config])
2168 chmod a+x vlc-config
2172 --------------------
2173 vlc version : ${VERSION}
2175 architecture : ${ARCH}
2176 optimizations : ${OPTIMS}
2178 debug mode : ${DEBUG}
2179 release : ${RELEASE}
2180 profiling : ${PROFILING}
2181 need builtin getopt : ${NEED_GETOPT}
2182 modules : (see Makefile.config)
2183 mozilla plugin : ${MOZILLA}
2184 vlc aliases :${ALIASES}
2186 You may now tune Makefile.config and Makefile.opts at your convenience, for
2187 instance to choose which modules get compiled as plugins, or tune CFLAGS.
2189 To build vlc and its plugins, type \`${VLC_MAKE}'.