1 dnl Autoconf settings for vlc
10 AC_CONFIG_SRCDIR(src/libvlc.c)
11 AC_CONFIG_AUX_DIR(autotools)
14 dnl XXX: we don't put any flags here, because automake 1.5 doesn't support
15 dnl them. And we need the comma otherwize automake will choke on it.
16 AM_INIT_AUTOMAKE(vlc,0.8.2-svn)
17 AM_CONFIG_HEADER(config.h)
31 eval "${CXX} --version" >/dev/null 2>&1 || CXX=""
32 if test "${CXX}" != ""; then
38 dnl AC_PROG_EGREP only exists in autoconf 2.54+, so we use AC_EGREP_CPP right
39 dnl now otherwise it might be set in an obscure if statement.
42 dnl AC_PROG_OBJC doesn't seem to exist, this is the KDE workaround
43 AC_MSG_CHECKING(for an Objective-C compiler)
46 OBJCFLAGS="${CXXFLAGS} -fgnu-runtime -fconstant-string-class=NSConstantString"
48 dnl _AM_DEPENDENCIES(OBJC) doesn't work, so hard code OBJCDEPMODE here
49 #OBJCDEPMODE="depmode=gcc3"
50 #AC_SUBST(OBJCDEPMODE)
51 _AM_DEPENDENCIES(OBJC)
52 AC_MSG_RESULT(not implemented yet)
54 dnl Find the right ranlib, even when cross-compiling
55 AC_CHECK_TOOL(RANLIB, ranlib, :)
56 AC_CHECK_TOOL(STRIP, strip, :)
57 AC_CHECK_TOOL(AR, ar, :)
58 AC_CHECK_TOOL(LD, ld, :)
60 dnl Sam, if you think I didn't see that... --Meuuh
64 dnl Check for compiler properties
69 dnl Check for the contrib directory
72 if test -d ${topdir}/extras/contrib/lib; then
73 export PATH=${topdir}/extras/contrib/bin:$PATH
74 CPPFLAGS="${CPPFLAGS} -I${topdir}/extras/contrib/include"
75 CPPFLAGS_save="${CPPFLAGS_save} -I${topdir}/extras/contrib/include"
76 CFLAGS="${CFLAGS} -I${topdir}/extras/contrib/include"
77 CFLAGS_save="${CFLAGS_save} -I${topdir}/extras/contrib/include"
78 CXXFLAGS="${CXXFLAGS} -I${topdir}/extras/contrib/include"
79 CXXFLAGS_save="${CXXFLAGS_save} -I${topdir}/extras/contrib/include"
80 OBJCFLAGS="${OBJCFLAGS} -I${topdir}/extras/contrib/include"
81 OBJCFLAGS_save="${OBJCFLAGS_save} -I${topdir}/extras/contrib/include"
82 if test -d ${topdir}/extras/contrib/vlc-lib; then
83 LDFLAGS="${LDFLAGS} -L${topdir}/extras/contrib/vlc-lib"
84 LDFLAGS_save="${LDFLAGS_save} -L${topdir}/extras/contrib/vlc-lib"
86 LDFLAGS="${LDFLAGS} -L${topdir}/extras/contrib/lib"
87 LDFLAGS_save="${LDFLAGS_save} -L${topdir}/extras/contrib/lib"
88 with_livedotcom_tree=${topdir}/extras/contrib/src/live
89 with_goom_tree=${topdir}/extras/contrib/src/goom
90 if test ".`uname -s`" = ".Darwin"; then
91 export LD_LIBRARY_PATH=${topdir}/extras/contrib/lib:$LD_LIBRARY_PATH
92 export DYLD_LIBRARY_PATH=${topdir}/extras/contrib/lib:$DYLD_LIBRARY_PATH
93 elif test ".`uname -s`" = ".BeOS"; then
94 export LIBRARY_PATH=${topdir}/extras/contrib/lib:$LIBRARY_PATH
95 export BELIBRARIES=${topdir}/extras/contrib/lib:$BELIBRARIES
100 dnl Set default values
102 LDFLAGS_vlc="${LDFLAGS}"
105 dnl Check the operating system
107 case "${target_os}" in
116 CFLAGS_save="${CFLAGS_save} -pthread"; CFLAGS="${CFLAGS_save}"
117 VLC_ADD_LDFLAGS([dvd dvdcss vcd cdda vcdx cddax],[-ldvd])
121 CFLAGS_save="${CFLAGS_save} -pthread"; CFLAGS="${CFLAGS_save}"
125 CFLAGS_save="${CFLAGS_save} -no-cpp-precomp -D_INTL_REDIRECT_MACROS"; CFLAGS="${CFLAGS_save}"
126 CXXFLAGS_save="${CXXFLAGS_save} -no-cpp-precomp -D_INTL_REDIRECT_MACROS"; CXXFLAGS="${CXXFLAGS_save}"
127 OBJCFLAGS_save="${OBJCFLAGS_save} -no-cpp-precomp -D_INTL_REDIRECT_MACROS"; OBJCFLAGS="${OBJCFLAGS_save}"
128 VLC_ADD_LDFLAGS([vlc ffmpeg ffmpegaltivec],[-all_load])
129 VLC_ADD_LDFLAGS([mp4], [-framework IOKit -framework CoreFoundation])
130 VLC_ADD_CFLAGS([libvlc],[-x objective-c])
131 VLC_ADD_CFLAGS([vlc],[-x objective-c])
132 VLC_ADD_LDFLAGS([vlc],[-Wl,-multiply_defined,suppress])
134 *mingw32* | *cygwin*)
135 AC_CHECK_TOOL(WINDRES, windres, :)
137 case "${target_os}" in
142 dnl Check if we are using the mno-cygwin mode in which case we are
143 dnl actually dealing with a mingw32 compiler.
148 SYS=mingw32, SYS=cygwin)
152 if test "${SYS}" = "mingw32"; then
153 # add ws2_32 for closesocket, select, recv
154 CPPFLAGS_save="${CPPFLAGS_save} -D_OFF_T_ -D_off_t=long"; CPPFLAGS="${CPPFLAGS_save}"
155 VLC_ADD_LDFLAGS([vlc],[-lws2_32 -lnetapi32 -lwinmm -mwindows])
156 VLC_ADD_LDFLAGS([vcdx cddax],[-lwinmm])
157 VLC_ADD_LDFLAGS([ipv4 ipv6 access_http access_mms access_udp access_tcp access_ftp access_output_udp sap slp http stream_out_standard telnet netsync],[-lws2_32])
162 VLC_ADD_LDFLAGS([x11 xvideo],[-lsocket])
166 # _POSIX_PTHREAD_SEMANTICS is needed to get the POSIX ctime_r
167 # Perhaps it is useful other places as well?
168 CFLAGS_save="${CFLAGS_save} -D_POSIX_PTHREAD_SEMANTICS"; CFLAGS="${CFLAGS_save}"
175 CFLAGS_save="${CFLAGS_save} -Wno-multichar"; CFLAGS="${CFLAGS_save}"
176 CXXFLAGS_save="${CXXFLAGS_save} -Wno-multichar"; CXXFLAGS="${CXXFLAGS_save}"
177 VLC_ADD_CXXFLAGS([beos],[])
178 VLC_ADD_LDFLAGS([vlc beos],[-lbe])
179 VLC_ADD_LDFLAGS([beos],[-lmedia -ltranslation -ltracker -lgame])
180 VLC_ADD_LDFLAGS([access_file access_mms access_output_udp telnet netsync sap ipv4 vlc],[-lnet])
182 dnl Ugly check for Zeta
183 if test -f /boot/beos/system/lib/libzeta.so; then
184 VLC_ADD_LDFLAGS([beos],[-lzeta])
191 AM_CONDITIONAL(HAVE_BEOS, test "${SYS}" = "beos")
192 AM_CONDITIONAL(HAVE_DARWIN, test "${SYS}" = "darwin")
193 AM_CONDITIONAL(HAVE_WIN32, test "${SYS}" = "mingw32")
198 ALL_LINGUAS="bn da de el en_GB es fr hi hu it ja my nl no pl ps pt_BR ru sv tet tl"
199 AM_GNU_GETTEXT_VERSION(0.11.5)
201 if test "${nls_cv_force_use_gnu_gettext}" = "yes"; then
202 AC_DEFINE(HAVE_INCLUDED_GETTEXT, 1, Define if we use the local libintl)
203 INCLUDES="${INCLUDES} -I\$(top_builddir)/intl"
205 AC_CHECK_FUNCS(textdomain,,[
206 AC_CHECK_LIB(intl,textdomain,
207 VLC_ADD_LDFLAGS([vlc],[${LIBINTL}]),,
212 AM_CONDITIONAL(BUILD_INTL, test "${nls_cv_force_use_gnu_gettext}" = "yes")
213 XGETTEXT="${XGETTEXT} --keyword=_NS --keyword=_ANS"
216 [ --enable-utf8 unicode utf8 support (default enabled on darwin/beos/win32)])
217 if test "${enable_utf8}" = "yes" || (test "${enable_utf8}" != "no" && (test "${SYS}" = "mingw32" || test "${SYS}" = "beos" || test "${SYS}" = "darwin" ) )
219 AC_DEFINE(ENABLE_UTF8, 1,
220 Define if you want utf8 support)
226 VLC_ADD_CFLAGS([vlc],[${INCICONV}])
227 VLC_ADD_LDFLAGS([vlc],[${LIBICONV}])
229 dnl Check for the need to include the mingwex lib for mingw32
230 if test "${SYS}" = "mingw32"
232 AC_CHECK_LIB(mingwex,opendir,
233 AC_CHECK_LIB(mingw32,opendir,VLC_ADD_LDFLAGS([vlc],[]),
234 [VLC_ADD_LDFLAGS([vlc gtk],[-lmingwex])])
238 dnl Check for fnative-struct or mms-bitfields support for mingw32
239 if test "${SYS}" = "mingw32"
241 AC_CACHE_CHECK([if \$CC accepts -mms-bitfields],
242 [ac_cv_c_mms_bitfields],
243 [CFLAGS="${CFLAGS_save} -mms-bitfields"
244 AC_TRY_COMPILE([],,ac_cv_c_mms_bitfields=yes, ac_cv_c_mms_bitfields=no)])
245 if test "${ac_cv_c_mms_bitfields}" != "no"; then
246 CFLAGS_save="${CFLAGS_save} -mms-bitfields";
247 CXXFLAGS_save="${CXXFLAGS_save} -mms-bitfields";
249 AC_CACHE_CHECK([if \$CC accepts -fnative-struct],
250 [ac_cv_c_fnative_struct],
251 [CFLAGS="${CFLAGS_save} -fnative-struct"
252 AC_TRY_COMPILE([],,ac_cv_c_fnative_struct=yes, ac_cv_c_fnative_struct=no)])
253 if test "${ac_cv_c_fnative_struct}" != "no"; then
254 CFLAGS_save="${CFLAGS_save} -fnative-struct";
255 CXXFLAGS_save="${CXXFLAGS_save} -fnative-struct";
259 CFLAGS="${CFLAGS_save}"; CXXFLAGS="${CXXFLAGS_save}"
262 dnl Check for fvtable-thunks support for mingw32
263 if test "${SYS}" = "mingw32" -a "${CXX}" != ""
266 AC_CACHE_CHECK([if \$CXX accepts -fvtable-thunks],
267 [ac_cv_cxx_fvtable_thunks],
268 [CXXFLAGS="${CXXFLAGS_save} -Wall -Werror -fvtable-thunks"
269 AC_TRY_COMPILE([],,ac_cv_cxx_fvtable_thunks=yes,
270 ac_cv_cxx_fvtable_thunks=no)])
271 if test "${ac_cv_cxx_fvtable_thunks}" = "yes"; then
272 CXXFLAGS_mingw32_special="-fvtable-thunks"
275 CXXFLAGS_save="${CXXFLAGS_save} ${CXXFLAGS_mingw32_special}"; CXXFLAGS="${CXXFLAGS_save}"
279 dnl Plugin compilation stuff
285 VLC_ADD_CFLAGS([pic plugin mozilla activex],[${CFLAGS_mingw32_special}])
286 VLC_ADD_CXXFLAGS([pic plugin mozilla activex],[${CFLAGS_mingw32_special} ${CXXFLAGS_mingw32_special}])
287 VLC_ADD_OBJCFLAGS([pic plugin mozilla activex],[${CFLAGS_mingw32_special}])
290 VLC_ADD_CFLAGS([pic plugin mozilla],[-fpic -fPIC])
291 VLC_ADD_CXXFLAGS([pic plugin mozilla],[-fpic -fPIC])
292 VLC_ADD_OBJCFLAGS([pic plugin mozilla],[-fpic -fPIC])
293 VLC_ADD_LDFLAGS([plugin mozilla],[-fpic -fPIC])
297 dnl The -DSYS_FOO flag
298 CPPFLAGS_save="${CPPFLAGS_save} -DSYS_`echo ${SYS} | sed -e 's/-.*//' | tr 'abcdefghijklmnopqrstuvwxyz.' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`"; CPPFLAGS="${CPPFLAGS_save}"
300 dnl Check for system libs needed
303 AC_CHECK_FUNCS(gettimeofday select strerror strtod strtol strtof strtoll strtoull isatty vasprintf asprintf swab sigrelse getpwuid memalign posix_memalign gethostbyname2 if_nametoindex atoll getenv putenv setenv gmtime_r ctime_r localtime_r lrintf daemon)
305 dnl Check for usual libc functions
306 AC_CHECK_FUNCS(strdup strndup atof)
307 AC_CHECK_FUNCS(strcasecmp,,[AC_CHECK_FUNCS(stricmp)])
308 AC_CHECK_FUNCS(strncasecmp,,[AC_CHECK_FUNCS(strnicmp)])
309 AC_CHECK_FUNCS(strcasestr,,[AC_CHECK_FUNCS(stristr)])
311 dnl Check for setlocal and langinfo
312 AC_CHECK_FUNCS(setlocale)
313 AC_CHECK_HEADERS(langinfo.h)
314 AC_CHECK_FUNCS(nl_langinfo)
316 AC_CACHE_CHECK([for nl_langinfo and CODESET], ac_cv_langinfo_codeset,
317 [AC_TRY_LINK([#include <langinfo.h>],
318 [char* cs = nl_langinfo(CODESET);],
319 ac_cv_langinfo_codeset=yes,
320 ac_cv_langinfo_codeset=no)
322 if test ${ac_cv_langinfo_codeset} = yes; then
323 AC_DEFINE(HAVE_LANGINFO_CODESET, 1,
324 [Define if you have <langinfo.h> and nl_langinfo(CODESET).])
327 AC_CHECK_FUNCS(connect,,[
328 AC_CHECK_LIB(socket,connect,[
329 VLC_ADD_LDFLAGS([vlc ipv4 cddax],-lsocket)
333 AC_CHECK_FUNCS(send,,[
334 AC_CHECK_LIB(socket,send,[
335 VLC_ADD_LDFLAGS([access_http access_mms access_udp access_tcp access_ftp sap access_output_udp stream_out_standard],[-lsocket])
339 AC_CHECK_FUNCS(gethostbyname,,[
340 AC_CHECK_LIB(nsl,gethostbyname,[
341 VLC_ADD_LDFLAGS([cddax ipv4 vlc],[-lnsl])
343 AC_CHECK_LIB(bind,gethostbyname,[
344 VLC_ADD_LDFLAGS([ipv4 access_mms],[-lbind])
349 dnl Check for socklen_t
350 AC_CACHE_CHECK([for socklen_t], ac_cv_type_socklen_t,
352 [#include <sys/types.h>
353 #include <sys/socket.h>],
354 [socklen_t len = 42; return len;],
355 ac_cv_type_socklen_t=yes,
356 ac_cv_type_socklen_t=no)])
357 if test "${ac_cv_type_socklen_t}" != "no"; then
358 AC_DEFINE(HAVE_SOCKLEN_T, 1, [Define if <sys/socket.h> defines socklen_t.])
361 dnl Check for struct sockaddr_storage
362 AH_TEMPLATE(sockaddr_storage, [Define to `sockaddr' if <sys/socket.h> does not define.])
363 AH_TEMPLATE(ss_family, [Define to `sa_family' if <sys/socket.h> does not define.])
364 AC_CACHE_CHECK([for struct sockaddr_storage], ac_cv_struct_sockaddr_storage,
366 [#include <sys/types.h>
367 #if defined( UNDER_CE )
368 # include <winsock.h>
369 #elif defined( WIN32 )
370 # include <winsock2.h>
372 # include <sys/socket.h>
373 #endif], [struct sockaddr_storage addr;],
374 ac_cv_struct_sockaddr_storage=yes,
375 ac_cv_struct_sockaddr_storage=no)])
376 if test $ac_cv_struct_sockaddr_storage = no; then
377 AC_DEFINE(sockaddr_storage, sockaddr)
378 AC_DEFINE(ss_family, sa_family)
381 dnl getnameinfo, which implies {get,free}addrinfo, but not gai_strerror,
382 dnl -lws2_32 required with Mingw32, -lresolv NOT needed on Solaris.
383 dnl AC_SEARCH_LIBS won't work with Mingw32
384 AH_TEMPLATE(HAVE_GETNAMEINFO,
385 [Define to 1 if you have the `getnameinfo' function.])
386 ac_func_getnameinfo_save_LIBS=$LIBS
387 AS_IF([test "${SYS}" = "mingw32"],
388 [LIBS="-lws2_32 $LIBS"])
389 AC_CACHE_CHECK([for getnameinfo], ac_cv_func_getnameinfo,
390 [AC_LINK_IFELSE([AC_LANG_PROGRAM([
391 [#include <sys/types.h>
392 #if defined( UNDER_CE )
393 # include <winsock.h>
394 #elif defined( WIN32 )
395 # include <winsock2.h>
397 # include <sys/socket.h>
400 ], [[getnameinfo(0,0,0,0,0,0,0);]])],
401 ac_cv_func_getnameinfo=yes,
402 ac_cv_func_getnameinfo=no)])
403 AS_IF([test $ac_cv_func_getnameinfo = yes],
404 [AC_DEFINE(HAVE_GETNAMEINFO)])
405 LIBS=$ac_func_getnameinfo_save_LIBS
407 dnl Check for va_copy
408 AC_CACHE_CHECK([for va_copy], ac_cv_c_va_copy,
410 [#include <stdarg.h>],
411 [va_list ap1, ap2; va_copy(ap1,ap2);],
412 [ac_cv_c_va_copy="yes"],
413 [ac_cv_c_va_copy="no"]))
414 if test "${ac_cv_c_va_copy}" = "yes"; then
415 AC_DEFINE(HAVE_VA_COPY, 1, [Define if <stdarg.h> defines va_copy.])
417 AC_CACHE_CHECK([for __va_copy], ac_cv_c___va_copy,
419 [#include <stdarg.h>],
420 [va_list ap1, ap2; __va_copy(ap1,ap2);],
421 [ac_cv_c___va_copy="yes"],
422 [ac_cv_c___va_copy="no"]))
423 if test "${ac_cv_c___va_copy}" = "yes"; then
424 AC_DEFINE(HAVE___VA_COPY, 1, [Define if <stdarg.h> defines __va_copy.])
427 AC_CHECK_FUNCS(inet_aton,,[
428 AC_CHECK_LIB(resolv,inet_aton,[
429 VLC_ADD_LDFLAGS([ipv4 vlc],[-lresolv])
433 dnl Check for getopt (always use builtin one on win32)
434 if test "${SYS}" = "mingw32"; then
438 AC_CHECK_FUNCS(getopt_long,[AC_DEFINE(HAVE_GETOPT_LONG,1,long getopt support)],
439 [ # FreeBSD has a gnugetopt library for this:
440 AC_CHECK_LIB([gnugetopt],[getopt_long],
441 [AC_DEFINE(HAVE_GETOPT_LONG,1,getopt support)
442 VLC_ADD_LDFLAGS([vlc],[-lgnugetopt])],
445 AM_CONDITIONAL(BUILD_GETOPT, ${need_getopt})
447 if test "${SYS}" != "mingw32"; then
450 VLC_ADD_LDFLAGS([adjust distort a52tofloat32 dtstofloat32 x264 goom],[-lm])
453 VLC_ADD_LDFLAGS([ffmpeg ffmpegaltivec stream_out_transrate i420_rgb faad toolame equalizer vlc freetype],[-lm])
455 AC_CHECK_LIB(m,sqrt,[
456 VLC_ADD_LDFLAGS([headphone_channel_mixer normvol speex],[-lm])
458 fi # end "${SYS}" != "mingw32"
460 dnl Check for dynamic plugins
461 ac_cv_have_plugins=no
464 AC_CHECK_HEADERS(mach-o/dyld.h,
465 [AC_CHECK_FUNCS(NSLinkModule,
466 [AC_DEFINE(HAVE_DL_DYLD, 1, [Define if you have the Darwin dyld API])
467 ac_cv_have_plugins=yes])])
470 if test "${ac_cv_have_plugins}" = "no"; then
471 AC_CHECK_HEADERS(dl.h)
472 ac_cv_my_have_shl_load=no
473 AC_CHECK_FUNC(shl_load,
474 [ac_cv_my_have_shl_load=yes,
475 AC_CHECK_LIB(dld, shl_load,
476 [ac_cv_my_have_shl_load=yes
477 VLC_ADD_LDFLAGS([vlc],[-ldld])])])
478 if test "${ac_cv_my_have_shl_load}" = "yes"; then
479 AC_DEFINE(HAVE_DL_SHL_LOAD, 1, [Define if you have the shl_load API])
480 ac_cv_have_plugins=yes
485 if test "${ac_cv_have_plugins}" = "no"; then
486 AC_CHECK_LIB(dld, dld_link,
487 [VLC_ADD_LDFLAGS([vlc],[-ldld])
488 AC_DEFINE(HAVE_DL_DLD_LINK, 1, [Define if you have the GNU dld library])
489 ac_cv_have_plugins=yes])
493 if test "${ac_cv_have_plugins}" = "no"; then
494 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"; then
495 AC_CHECK_LIB(kernel32, main,
496 [VLC_ADD_LDFLAGS([vlc],[-lkernel32])
497 AC_DEFINE(HAVE_DL_WINDOWS, 1, [Define if you have Windows' LoadLibrary])
498 ac_cv_have_plugins=yes])
503 if test "${ac_cv_have_plugins}" = "no"; then
504 AC_CHECK_HEADERS(image.h)
505 AC_CHECK_FUNCS(load_add_on,
506 [AC_DEFINE(HAVE_DL_BEOS, 1, [Define if you have the BeOS dl])
507 ac_cv_have_plugins=yes])
510 # Only test for dlopen() if the others didn't work
511 if test "${ac_cv_have_plugins}" = "no"; then
512 AC_CHECK_HEADERS(dlfcn.h sys/dl.h)
513 ac_cv_my_have_dlopen=no
514 AC_CHECK_FUNC(dlopen,
515 ac_cv_my_have_dlopen=yes,
516 AC_CHECK_LIB(dl, dlopen,
517 ac_cv_my_have_dlopen=yes
518 VLC_ADD_LDFLAGS([vlc],[-ldl]),
519 AC_CHECK_LIB(svld, dlopen,
520 ac_cv_my_have_dlopen=yes
521 VLC_ADD_LDFLAGS([vlc],[-lsvld]))))
522 if test "${ac_cv_my_have_dlopen}" = "yes"; then
523 AC_DEFINE(HAVE_DL_DLOPEN, 1, [Define if you have the dlopen API])
524 ac_cv_have_plugins=yes
528 if test "${SYS}" != "mingw32"; then
529 dnl Check for pthreads - borrowed from XMMS
531 if test "${THREAD_LIB}" = "error"; then
532 AC_CHECK_LIB(pthread,main,THREAD_LIB="-lpthread")
534 if test "${THREAD_LIB}" = "error"; then
535 AC_CHECK_LIB(pthreads,main,THREAD_LIB="-lpthreads")
537 if test "${THREAD_LIB}" = "error"; then
538 AC_CHECK_LIB(c_r,main,THREAD_LIB="-lc_r")
540 if test "${THREAD_LIB}" = "error"; then
541 AC_CHECK_FUNCS(pthread_mutex_lock)
545 dnl Check for cthreads under GNU/Hurd for instance
546 AC_CHECK_LIB(threads,cthread_fork,THREAD_LIB="-lthreads")
549 dnl GNU portable threads
552 [ --enable-pth GNU Pth support (default disabled)],
553 [ if test "${enable_pth}" = "yes"; then
554 AC_CHECK_LIB(pth,pth_init)
555 AC_MSG_CHECKING(for pth_init in pth.h)
556 AC_EGREP_HEADER(pth_init,pth.h,[
558 AC_DEFINE(PTH_INIT_IN_PTH_H, 1,
559 Define if <pth.h> defines pth_init)
571 [ --enable-st State Threads (default disabled)],
572 [ if test "${enable_st}" = "yes"; then
573 AC_CHECK_LIB(st,st_init)
574 AC_MSG_CHECKING(for st_init in st.h)
575 AC_EGREP_HEADER(st_init,st.h,[
577 AC_DEFINE(ST_INIT_IN_ST_H, 1,
578 Define if <st.h> defines st_init)
586 VLC_ADD_LDFLAGS([vlc plugin],[${THREAD_LIB}])
588 dnl Don't link with rt when using GNU-pth
589 if test "${THREAD_LIB}" != "-lpth" && test "${THREAD_LIB}" != "-lst"; then
591 AC_CHECK_LIB(rt,sem_init, [VLC_ADD_LDFLAGS([vlc],[-lrt])])
594 AC_CHECK_FUNCS(nanosleep,have_nanosleep=:,[
595 AC_CHECK_LIB(rt,nanosleep,
596 [VLC_ADD_LDFLAGS([vlc],[-lrt]) have_nanosleep=:],
597 [AC_CHECK_LIB(posix4,nanosleep,
598 [VLC_ADD_LDFLAGS([vlc],[-lposix4]) have_nanosleep=:])]
601 if ${have_nanosleep}; then
602 AC_DEFINE(HAVE_NANOSLEEP, 1,
603 Define if nanosleep is available.)
607 dnl Check for misc headers
608 AC_MSG_CHECKING(for pthread_cond_t in pthread.h)
609 AC_EGREP_HEADER(pthread_cond_t,pthread.h,[
611 AC_DEFINE(PTHREAD_COND_T_IN_PTHREAD_H, 1,
612 Define if <pthread.h> defines pthread_cond_t.)],[
615 AC_MSG_CHECKING(for pthread_once in pthread.h)
616 AC_EGREP_HEADER(pthread_once,pthread.h,[
618 AC_DEFINE(PTHREAD_ONCE_IN_PTHREAD_H, 1,
619 Define if <pthread.h> defines pthread_once.)],[
621 fi # end "${SYS}" != "mingw32"
623 AC_MSG_CHECKING(for strncasecmp in strings.h)
624 AC_EGREP_HEADER(strncasecmp,strings.h,[
626 AC_DEFINE(STRNCASECMP_IN_STRINGS_H, 1,
627 Define if <strings.h> defines strncasecmp.)],[
630 dnl Check for headers
631 AC_CHECK_HEADERS(signal.h time.h errno.h stdint.h stdbool.h getopt.h strings.h inttypes.h sys/int_types.h wchar.h)
632 AC_CHECK_HEADERS(sys/sockio.h fcntl.h sys/types.h sys/time.h sys/times.h sys/ioctl.h sys/stat.h)
633 AC_CHECK_HEADERS(arpa/inet.h net/if.h netinet/in.h sys/socket.h)
634 if test "${SYS}" != "mingw32"; then
635 AC_CHECK_HEADERS(machine/param.h sys/shm.h altivec.h)
636 AC_CHECK_HEADERS(linux/version.h)
637 fi # end "${SYS}" != "mingw32"
643 AC_CHECK_HEADERS(dirent.h,,[need_dirent=:])
644 AM_CONDITIONAL(BUILD_DIRENT, ${need_dirent})
646 dnl Mac OS X and other OSes don't have declaration for nanosleep
647 if test "${SYS}" != "mingw32"; then
648 AC_MSG_CHECKING(for nanosleep in time.h)
649 AC_EGREP_HEADER(nanosleep,time.h,[
651 AC_DEFINE(HAVE_DECL_NANOSLEEP, 1,
652 Define if <time.h> defines nanosleep.)
656 fi # end "${SYS}" != "mingw32"
658 dnl Make sure we have timespecs
659 AC_MSG_CHECKING(for timespec in sys/time.h)
660 AC_EGREP_HEADER(timespec,sys/time.h,[
662 AC_DEFINE(HAVE_STRUCT_TIMESPEC, 1,
663 Define if <sys/time.h> defines struct timespec.)
668 dnl Check for threads library
669 if test "${SYS}" != "mingw32"; then
670 AC_CHECK_HEADERS(cthreads.h pthread.h kernel/scheduler.h kernel/OS.h)
671 fi # end "${SYS}" != "mingw32"
673 dnl Default X headers and libraries
674 if test "${x_includes}" = "NONE"; then
675 x_includes="/usr/X11R6/include"
677 if test "${x_libraries}" = "NONE"; then
678 x_libraries="/usr/X11R6/lib"
682 PKG_CHECK_MODULES(HAL, hal >= 0.2.97,
683 [AC_DEFINE(HAVE_HAL, [], [Define if you have the HAL library])
684 VLC_ADD_PLUGINS([hal])
685 VLC_ADD_LDFLAGS([vlc hal],[$HAL_LIBS])
686 VLC_ADD_CFLAGS([vlc hal],[$HAL_CFLAGS])],
687 [AC_MSG_WARN(HAL library not found)])
689 dnl Build the gtk_main plugins?
695 dnl build the qte plugin ?
698 dnl Check for ntohl, etc.
699 AC_CACHE_CHECK([for ntohl in sys/param.h],
700 [ac_cv_c_ntohl_sys_param_h],
701 [CFLAGS="${CFLAGS_save} -Wall -Werror"
702 AC_TRY_COMPILE([#include <sys/param.h>],
703 [void foo() { int meuh; ntohl(meuh); }],
704 ac_cv_c_ntohl_sys_param_h=yes, ac_cv_c_ntohl_sys_param_h=no)])
705 if test "${ac_cv_c_ntohl_sys_param_h}" != "no"; then
706 AC_DEFINE(NTOHL_IN_SYS_PARAM_H, 1, Define if <sys/param.h> defines ntohl.)
709 # XXX: do this with an M4 macro?
710 #dnl Check for various -W flags
711 #for flag in "" all unreachable-code conversion sign-compare disabled-optimization
713 # AC_CACHE_CHECK([if \$CC accepts -W${flag}],
714 # [ac_cv_c_W${flag}],
715 # [CFLAGS="-W${flag} ${CFLAGS_save}"
716 # AC_TRY_COMPILE([],,ac_cv_c_W${flag}=yes, ac_cv_c_W${flag}=no)])
717 # if test "${ac_cv_c_W${flag}}" != "no"; then
718 # CFLAGS_save="-W${flag} ${CFLAGS_save}"; CFLAGS="${CFLAGS_save}"
719 # CXXFLAGS_save="-W${flag} ${CFLAGS_save}"; CXXFLAGS="${CXXFLAGS_save}"
720 # OBJCFLAGS_save="-W${flag} ${OBJCFLAGS_save}"; OBJCFLAGS="${OBJCFLAGS_save}"
724 AC_CACHE_CHECK([if \$CC accepts -Wall],
726 [CFLAGS="-Wall ${CFLAGS_save}"
727 AC_TRY_COMPILE([],,ac_cv_c_Wall=yes, ac_cv_c_Wall=no)])
729 AC_CACHE_CHECK([if \$CC accepts -Wconversion],
730 [ac_cv_c_Wconversion],
731 [CFLAGS="-Wconversion ${CFLAGS_save}"
732 AC_TRY_COMPILE([],,ac_cv_c_Wconversion=yes, ac_cv_c_Wconversion=no)])
734 AC_CACHE_CHECK([if \$CC accepts -Wunreachable-code],
735 [ac_cv_c_Wunreachable_code],
736 [CFLAGS="-Wunreachable-code ${CFLAGS_save}"
737 AC_TRY_COMPILE([],,ac_cv_c_Wunreachable_code=yes, ac_cv_c_Wunreachable_code=no)])
739 AC_CACHE_CHECK([if \$CC accepts -Wsign-compare],
740 [ac_cv_c_Wsign_compare],
741 [CFLAGS="-Wsign-compare ${CFLAGS_save}"
742 AC_TRY_COMPILE([],,ac_cv_c_Wsign_compare=yes, ac_cv_c_Wsign_compare=no)])
744 if test "${ac_cv_c_Wall}" != "no"; then
745 CFLAGS_save="-Wall ${CFLAGS_save}"; CFLAGS="${CFLAGS_save}"
746 CXXFLAGS_save="-Wall ${CFLAGS_save}"; CXXFLAGS="${CXXFLAGS_save}"
747 OBJCFLAGS_save="-Wall ${OBJCFLAGS_save}"; OBJCFLAGS="${OBJCFLAGS_save}"
750 if test "${ac_cv_c_Wsign_compare}" != "no"; then
751 CFLAGS_save="-Wsign-compare ${CFLAGS_save}"; CFLAGS="${CFLAGS_save}"
752 CXXFLAGS_save="-Wsign-compare ${CFLAGS_save}"; CXXFLAGS="${CXXFLAGS_save}"
753 OBJCFLAGS_save="-Wsign-compare ${OBJCFLAGS_save}"; OBJCFLAGS="${OBJCFLAGS_save}"
757 AC_CACHE_CHECK([if \$CC accepts -pipe],
759 [CFLAGS="${CFLAGS_save} -pipe"
760 AC_TRY_COMPILE([],,ac_cv_c_pipe=yes, ac_cv_c_pipe=no)])
761 if test "${ac_cv_c_pipe}" != "no"; then
762 CFLAGS_save="${CFLAGS_save} -pipe"; CFLAGS="${CFLAGS_save}"
763 CXXFLAGS_save="${CXXFLAGS_save} -pipe"; CXXFLAGS="${CXXFLAGS_save}"
764 OBJCFLAGS_save="${OBJCFLAGS_save} -pipe"; OBJCFLAGS="${OBJCFLAGS_save}"
767 dnl Check for various optimization flags
768 AC_CACHE_CHECK([if \$CC accepts -Os],
770 [CFLAGS="${CFLAGS_save} -Os"
771 AC_TRY_COMPILE([],,ac_cv_c_os=yes, ac_cv_c_os=no)])
772 if test "${ac_cv_c_os}" != "no" -a "${target_cpu}" = "mipsel"; then
773 CFLAGS_OPTIM="${CFLAGS_OPTIM} -Os"
776 AC_CACHE_CHECK([if \$CC accepts -O3],
778 [CFLAGS="${CFLAGS_save} -O3"
779 AC_TRY_COMPILE([],,ac_cv_c_o3=yes, ac_cv_c_o3=no)])
780 if test "${ac_cv_c_o3}" != "no" -a "${target_cpu}" != "mipsel"; then
781 CFLAGS_OPTIM="${CFLAGS_OPTIM} -O3"
784 AC_CACHE_CHECK([if \$CC accepts -O2],
786 [CFLAGS="${CFLAGS_save} -O2"
787 AC_TRY_COMPILE([],,ac_cv_c_o2=yes, ac_cv_c_o2=no)])
788 if test "${ac_cv_c_o2}" != "no" -a "${target_cpu}" != "mipsel"; then
789 if test "${ac_cv_c_o3}" = "no"; then
790 CFLAGS_OPTIM="${CFLAGS_OPTIM} -O2"
792 CFLAGS_NOOPTIM="${CFLAGS_NOOPTIM} -O2"
794 AC_CACHE_CHECK([if \$CC accepts -O],
796 [CFLAGS="${CFLAGS_save} -O"
797 AC_TRY_COMPILE([],,ac_cv_c_o=yes, ac_cv_c_o=no)])
798 if test "${ac_cv_c_o}" != "no" -a "${target_cpu}" != "mipsel"; then
799 if test "${ac_cv_c_o3}" = "no"; then
800 CFLAGS_OPTIM="${CFLAGS_OPTIM} -O"
802 CFLAGS_NOOPTIM="${CFLAGS_NOOPTIM} -O"
806 dnl Check for -ffast-math
807 AC_CACHE_CHECK([if \$CC accepts -ffast-math],
809 [CFLAGS="${CFLAGS_save} -ffast-math"
810 AC_TRY_COMPILE([],,ac_cv_c_fast_math=yes, ac_cv_c_fast_math=no)])
811 if test "${ac_cv_c_fast_math}" != "no"; then
812 CFLAGS_OPTIM="${CFLAGS_OPTIM} -ffast-math"
815 dnl Check for -funroll-loops
816 dnl Disabled on BeOS because BeOS' gcc is buggy and may crash with it
817 if test "${SYS}" != "beos"
819 AC_CACHE_CHECK([if \$CC accepts -funroll-loops],
820 [ac_cv_c_unroll_loops],
821 [CFLAGS="${CFLAGS_save} -funroll-loops"
822 AC_TRY_COMPILE([],,ac_cv_c_unroll_loops=yes, ac_cv_c_unroll_loops=no)])
823 if test "${ac_cv_c_unroll_loops}" != "no"; then
824 CFLAGS_OPTIM="${CFLAGS_OPTIM} -funroll-loops"
828 dnl Check for -fomit-frame-pointer
829 AC_CACHE_CHECK([if \$CC accepts -fomit-frame-pointer],
830 [ac_cv_c_omit_frame_pointer],
831 [CFLAGS="${CFLAGS_save} -fomit-frame-pointer"
832 AC_TRY_COMPILE([],,ac_cv_c_omit_frame_pointer=yes, ac_cv_c_omit_frame_pointer=no)])
833 if test "${ac_cv_c_omit_frame_pointer}" != "no"; then
834 CFLAGS_OPTIM_NODEBUG="${CFLAGS_OPTIM_NODEBUG} -fomit-frame-pointer"
835 # this plugin does not compile without -fomit-frame-pointer, damn gcc!
836 VLC_ADD_CFLAGS([i420_yuy2_mmx],[-fomit-frame-pointer])
839 dnl Check for -mdynamic-no-pic
840 AC_CACHE_CHECK([if \$CC accepts -mdynamic-no-pic],
841 [ac_cv_c_dynamic_no_pic],
842 [CFLAGS="${CFLAGS_save} -mdynamic-no-pic"
843 AC_TRY_COMPILE([],,ac_cv_c_dynamic_no_pic=yes, ac_cv_c_dynamic_no_pic=no)])
844 if test "${ac_cv_c_dynamic_no_pic}" != "no"; then
845 VLC_ADD_CFLAGS([builtin],[-mdynamic-no-pic])
846 VLC_ADD_CFLAGS([libvlc],[-mdynamic-no-pic])
849 dnl Check for Darwin plugin linking flags
850 AC_CACHE_CHECK([if \$CC accepts -bundle -undefined error -lcc_dynamic],
852 [CFLAGS="${CFLAGS_save} -bundle -undefined error -lcc_dynamic"
853 AC_TRY_COMPILE([],,ac_cv_ld_darwin=yes, ac_cv_ld_darwin=no)])
854 if test "${ac_cv_ld_darwin}" != "no"; then
855 VLC_ADD_LDFLAGS([plugin],[-bundle -undefined error -lcc_dynamic])
858 dnl Check for standard plugin linking flags
859 dnl BeOS' gcc needs -nostart instead of -shared, even if -shared isn't harmful (just a warning)
860 if test "${SYS}" = "beos"; then
861 VLC_ADD_LDFLAGS([plugin mozilla],[-nostart])
863 AC_CACHE_CHECK([if \$CC accepts -shared],
865 [CFLAGS="${CFLAGS_save} -shared"
866 AC_TRY_COMPILE([],, ac_cv_ld_plugins=yes, ac_cv_ld_plugins=no)])
867 if test "${ac_cv_ld_plugins}" != "no"; then
868 VLC_ADD_LDFLAGS([plugin mozilla],[-shared])
872 dnl Check for variadic macros
873 AC_CACHE_CHECK([for variadic cpp macros],
874 [ac_cv_cpp_variadic_macros],
875 [CFLAGS="${CFLAGS_save}"
878 #define a(b,c...) printf(b,##c)],
879 [a("foo");a("%s","bar");a("%s%s","baz","quux");],
880 ac_cv_cpp_variadic_macros=yes,
881 ac_cv_cpp_variadic_macros=no)])
882 if test "${ac_cv_cpp_variadic_macros}" != "no"; then
883 AC_DEFINE(HAVE_VARIADIC_MACROS, 1, Support for variadic macros)
886 dnl Checks for __attribute__(aligned()) directive
887 AC_CACHE_CHECK([__attribute__ ((aligned ())) support],
888 [ac_cv_c_attribute_aligned],
889 [ac_cv_c_attribute_aligned=0
890 CFLAGS="${CFLAGS_save} -Werror"
891 for ac_cv_c_attr_align_try in 2 4 8 16 32 64; do
893 [static char c __attribute__ ((aligned(${ac_cv_c_attr_align_try}))) = 0; return c;],
894 [ac_cv_c_attribute_aligned="${ac_cv_c_attr_align_try}"])
896 CFLAGS="${CFLAGS_save}"])
897 if test "${ac_cv_c_attribute_aligned}" != "0"; then
898 AC_DEFINE_UNQUOTED([ATTRIBUTE_ALIGNED_MAX],
899 [${ac_cv_c_attribute_aligned}],[Maximum supported data alignment])
902 dnl Checks for __attribute__(format()) directive
903 AC_CACHE_CHECK([__attribute__ ((format ())) support with function pointers],
904 [ac_cv_c_attribute_format],
905 [ac_cv_c_attribute_format=no
906 CFLAGS="${CFLAGS_save} -Werror"
908 [static void (*pf_printf)(const char *, ...) __attribute__ ((format(printf,1,2)));(void)pf_printf;],
909 [ac_cv_c_attribute_format=yes])
910 CFLAGS="${CFLAGS_save}"])
911 if test "${ac_cv_c_attribute_format}" != "no"; then
912 AC_DEFINE(HAVE_ATTRIBUTE_FORMAT, 1, Support for __attribute__((format())) with function pointers)
915 dnl Check for __attribute__(())
916 AC_CACHE_CHECK([for __attribute__((packed))],
917 [ac_cv_c_attribute_packed],
918 [ac_cv_c_attribute_packed=no
919 AC_TRY_COMPILE(, [struct __attribute__((__packed__)) foo { int a; } b;],
920 [ac_cv_c_attribute_packed=yes])])
921 if test "${ac_cv_c_attribute_packed}" != "no"; then
922 AC_DEFINE(HAVE_ATTRIBUTE_PACKED, 1, Support for __attribute__((packed)) for structs)
928 case "${target_cpu}" in
941 [ --enable-gprof gprof profiling (default disabled)])
943 [ --enable-cprof cprof profiling (default disabled)])
944 test "${enable_gprof}" != "yes" && enable_gprof="no"
945 test "${enable_cprof}" != "yes" && enable_cprof="no"
950 VLC_ADD_PLUGINS([dummy rc telnet logger gestures memcpy hotkeys netsync showintf])
951 VLC_ADD_PLUGINS([mpgv mpga m4v m4a h264 ps pva avi asf aac mp4 rawdv nsv real aiff mjpeg demuxdump])
952 VLC_ADD_PLUGINS([cvdsub svcdsub spudec subsdec dvbsub mpeg_audio lpcm a52 dts cinepak])
953 VLC_ADD_PLUGINS([deinterlace invert adjust wall transform distort clone crop motionblur motiondetect])
954 VLC_ADD_PLUGINS([float32tos16 float32tos8 float32tou16 float32tou8 a52tospdif dtstospdif fixed32tofloat32 fixed32tos16 s16tofixed32 s16tofloat32 s16tofloat32swab s8tofloat32 u8tofixed32 u8tofloat32 audio_format])
955 VLC_ADD_PLUGINS([trivial_resampler ugly_resampler linear_resampler bandlimited_resampler])
956 VLC_ADD_PLUGINS([trivial_channel_mixer simple_channel_mixer headphone_channel_mixer normvol])
957 VLC_ADD_PLUGINS([trivial_mixer spdif_mixer float32_mixer])
958 VLC_ADD_PLUGINS([aout_file equalizer])
959 VLC_ADD_PLUGINS([i420_rgb i420_yuy2 i422_yuy2 i420_ymga])
960 VLC_ADD_PLUGINS([image])
961 VLC_ADD_PLUGINS([id3 playlist export sgimb m3u xtag])
962 VLC_ADD_PLUGINS([rawvideo blend scale time marq logo])
963 VLC_ADD_PLUGINS([wav araw subtitle vobsub adpcm a52sys dtssys au])
964 VLC_ADD_PLUGINS([access_file access_udp access_tcp access_http ipv4 access_mms])
965 VLC_ADD_PLUGINS([access_ftp access_directory sap http])
968 dnl Switch to enable a version of VLC where most modules will be builtin
970 AC_ARG_ENABLE(mostly-builtin,
971 [ --enable-mostly-builtin most modules will be built-in (default disabled)])
972 if test "${enable_mostly_builtin}" = "yes"; then
973 VLC_ADD_BUILTINS([${PLUGINS}])
978 dnl Some plugins aren't useful on some platforms
980 if test "${SYS}" != "mingw32"; then
981 VLC_ADD_PLUGINS([screensaver])
983 VLC_ADD_PLUGINS([ntservice smb dmo])
984 VLC_ADD_LDFLAGS([dmo],[-lole32])
988 dnl Accelerated modules
990 MMX_MODULES="memcpymmx i420_rgb_mmx i422_yuy2_mmx i420_ymga_mmx"
991 #MMX_MODULES="${MMX_MODULES} idctmmx motionmmx"
992 MMXEXT_MODULES="memcpymmxext"
993 #MMXEXT_MODULES="${MMXEXT_MODULES} idctmmxext motionmmxext"
994 THREEDNOW_MODULES="memcpy3dn"
996 ALTIVEC_MODULES="memcpyaltivec i420_yuy2_altivec"
997 #ALTIVEC_MODULES="${ALTIVEC_MODULES} idctaltivec motionaltivec"
999 if test "${enable_gprof}" != "yes"
1001 MMX_MODULES="${MMX_MODULES} i420_yuy2_mmx"
1004 AC_CACHE_CHECK([if \$CC groks MMX inline assembly],
1006 [CFLAGS="${CFLAGS_save}"
1007 AC_TRY_COMPILE(,[void *p;asm volatile("packuswb %%mm1,%%mm2"::"r"(p));],
1008 ac_cv_mmx_inline=yes, ac_cv_mmx_inline=no)])
1009 if test "${ac_cv_mmx_inline}" != "no"; then
1010 AC_DEFINE(CAN_COMPILE_MMX, 1, Define if \$CC groks MMX inline assembly.)
1011 ACCEL_MODULES="${ACCEL_MODULES} ${MMX_MODULES}"
1014 AC_CACHE_CHECK([if \$CC groks MMX EXT inline assembly],
1015 [ac_cv_mmxext_inline],
1016 [CFLAGS="${CFLAGS_save}"
1017 AC_TRY_COMPILE(,[void *p;asm volatile("maskmovq %%mm1,%%mm2"::"r"(p));],
1018 ac_cv_mmxext_inline=yes, ac_cv_mmxext_inline=no)])
1019 if test "${ac_cv_mmxext_inline}" != "no"; then
1020 AC_DEFINE(CAN_COMPILE_MMXEXT, 1, Define if \$CC groks MMX EXT inline assembly.)
1021 ACCEL_MODULES="${ACCEL_MODULES} ${MMXEXT_MODULES}"
1024 AC_CACHE_CHECK([if \$CC groks 3D Now! inline assembly],
1025 [ac_cv_3dnow_inline],
1026 [CFLAGS="${CFLAGS_save}"
1027 AC_TRY_COMPILE(,[void *p;asm volatile("pfadd %%mm1,%%mm2"::"r"(p));],
1028 ac_cv_3dnow_inline=yes, ac_cv_3dnow_inline=no)])
1029 if test "${ac_cv_3dnow_inline}" != "no"; then
1030 AC_DEFINE(CAN_COMPILE_3DNOW, 1, Define if \$CC groks 3D Now! inline assembly.)
1031 ACCEL_MODULES="${ACCEL_MODULES} ${THREEDNOW_MODULES}"
1034 AC_CACHE_CHECK([if \$CC groks SSE inline assembly],
1036 [CFLAGS="${CFLAGS_save}"
1037 AC_TRY_COMPILE(,[void *p;asm volatile("xorps %%xmm1,%%xmm2"::"r"(p));],
1038 ac_cv_sse_inline=yes, ac_cv_sse_inline=no)])
1039 if test "${ac_cv_sse_inline}" != "no" -a "${SYS}" != "mingw32" -a "${SYS}" != "solaris"; then
1040 AC_DEFINE(CAN_COMPILE_SSE, 1, Define if \$CC groks SSE inline assembly.)
1041 ACCEL_MODULES="${ACCEL_MODULES} ${SSE_MODULES}"
1044 if test "${SYS}" != "mingw32"; then
1045 AC_CACHE_CHECK([if \$CC groks AltiVec inline assembly],
1046 [ac_cv_altivec_inline],
1047 [CFLAGS="${CFLAGS_save}"
1048 AC_TRY_COMPILE(,[asm volatile("vperm 0,1,2,3");],
1049 ac_cv_altivec_inline=yes,
1050 [CFLAGS="${CFLAGS_save} -Wa,-m7400"
1051 AC_TRY_COMPILE(,[asm volatile("vperm 0,1,2,3");],
1052 [ac_cv_altivec_inline="-Wa,-m7400"],
1053 ac_cv_altivec_inline=no)
1055 if test "${ac_cv_altivec_inline}" != "no"; then
1056 AC_DEFINE(CAN_COMPILE_ALTIVEC, 1, Define if \$CC groks AltiVec inline assembly.)
1057 if test "${ac_cv_altivec_inline}" != "yes"; then
1058 VLC_ADD_CFLAGS([idctaltivec],[${ac_cv_altivec_inline}])
1059 VLC_ADD_CFLAGS([motionaltivec],[${ac_cv_altivec_inline}])
1060 VLC_ADD_CFLAGS([memcpyaltivec],[${ac_cv_altivec_inline}])
1061 VLC_ADD_CFLAGS([i420_yuy2_altivec],[${ac_cv_altivec_inline}])
1062 VLC_ADD_CFLAGS([vlc],[${ac_cv_altivec_inline}])
1064 ACCEL_MODULES="${ACCEL_MODULES} ${ALTIVEC_MODULES}"
1067 AC_CACHE_CHECK([if \$CC groks AltiVec C extensions],
1070 CFLAGS="${CFLAGS_save} -faltivec"
1072 [vec_ld(0, (unsigned char *)0);],
1073 [ac_cv_c_altivec="-faltivec"],
1074 [# Linux/PPC test (no flags)
1075 CFLAGS="${CFLAGS_save} ${CFLAGS_idctaltivec} -maltivec -mabi=altivec"
1076 AC_TRY_COMPILE([#ifdef HAVE_ALTIVEC_H
1077 #include <altivec.h>
1079 [vec_ld(0, (unsigned char *)0);],
1081 ac_cv_c_altivec_abi="-maltivec -mabi=altivec"],
1082 [# Linux/PPC test (old GCC versions)
1083 CFLAGS="${CFLAGS_save} ${CFLAGS_idctaltivec} -fvec"
1084 AC_TRY_COMPILE([#ifdef HAVE_ALTIVEC_H
1085 #include <altivec.h>
1087 [vec_ld(0, (unsigned char *)0);],
1088 [ac_cv_c_altivec="-fvec"],
1089 [ac_cv_c_altivec=no])
1092 CFLAGS="${CFLAGS_save}"])
1093 if test "${ac_cv_c_altivec}" != "no"; then
1094 AC_DEFINE(CAN_COMPILE_C_ALTIVEC, 1, Define if your compiler groks C AltiVec extensions.)
1095 VLC_ADD_CFLAGS([vlc],[${ac_cv_c_altivec}])
1096 VLC_ADD_CFLAGS([idctaltivec motionaltivec],[${ac_cv_c_altivec}])
1097 VLC_ADD_CFLAGS([i420_yuy2_altivec memcpyaltivec deinterlace],[${ac_cv_c_altivec} ${ac_cv_c_altivec_abi}])
1098 ACCEL_MODULES="${ACCEL_MODULES} ${ALTIVEC_MODULES}"
1101 AC_CACHE_CHECK([if linker needs -framework vecLib],
1103 [LDFLAGS="${LDFLAGS_vlc} -framework vecLib"
1104 AC_TRY_LINK([],,ac_cv_ld_altivec=yes,ac_cv_ld_altivec=no)
1105 LDFLAGS="${LDFLAGS_save}"
1107 if test "${ac_cv_ld_altivec}" != "no"; then
1108 VLC_ADD_LDFLAGS([vlc idctaltivec motionaltivec memcpyaltivec],[-framework vecLib])
1110 fi # end "${SYS}" != "mingw32"
1113 AC_ARG_WITH(,[Optimization options:])
1116 dnl Special arch tuning
1119 [ --with-tuning=ARCH enable special tuning for an architecture
1120 (default i686 on IA-32 and 750 on PPC)])
1121 if test -n "${with_tuning}"; then
1122 if test "${target_cpu}" = "powerpc"; then
1123 CFLAGS_TUNING="-mtune=${with_tuning}"
1125 CFLAGS_TUNING="-mcpu=${with_tuning}"
1128 if test "${target_cpu}" = "i686" -o "${target_cpu}" = "i586" -o "${target_cpu}" = "i486" -o "${target_cpu}" = "i386"; then
1129 CFLAGS_TUNING="-mcpu=pentiumpro"
1131 if test "${target_cpu}" = "powerpc"; then CFLAGS_TUNING="-mtune=750"; fi
1136 dnl x86 accelerations
1138 if test "${target_cpu}" = "i686" -o "${target_cpu}" = "i586" -o "${target_cpu}" = "x86" -o "${target_cpu}" = "i386"
1141 VLC_ADD_BUILTINS([${ACCEL_MODULES}])
1145 dnl Enable/disable optimizations
1147 AC_ARG_ENABLE(optimizations,
1148 [ --disable-optimizations disable compiler optimizations (default enabled)])
1149 test "${enable_optimizations}" != "no" && enable_optimizations="yes"
1152 dnl AltiVec acceleration
1154 AC_ARG_ENABLE(altivec,
1155 [ --disable-altivec disable AltiVec optimizations (default enabled on PPC)],
1156 [ if test "${enable_altivec}" = "yes"; then ARCH="${ARCH} altivec";
1157 VLC_ADD_BUILTINS([${ACCEL_MODULES}]) fi ],
1158 [ if test "${target_cpu}" = "powerpc"; then ARCH="${ARCH} altivec";
1159 VLC_ADD_BUILTINS([${ACCEL_MODULES}]) fi ])
1164 AC_ARG_ENABLE(debug,
1165 [ --enable-debug debug mode (default disabled)])
1166 test "${enable_debug}" != "yes" && enable_debug="no"
1169 dnl Enable release-specific flags
1171 AC_ARG_ENABLE(release,
1172 [ --enable-release activate extra optimizations (default disabled)])
1173 test "${enable_release}" != "yes" && enable_release="no"
1179 [ --enable-sout Stream output modules (default enabled)])
1180 if test "${enable_sout}" != "no"
1182 VLC_ADD_PLUGINS([access_output_dummy access_output_udp access_output_file access_output_http])
1183 VLC_ADD_PLUGINS([mux_ps mux_avi mux_mp4 mux_asf mux_dummy mux_wav mux_mpjpeg])
1184 VLC_ADD_PLUGINS([packetizer_mpegvideo packetizer_h264])
1185 VLC_ADD_PLUGINS([packetizer_mpeg4video packetizer_mpeg4audio])
1186 VLC_ADD_PLUGINS([packetizer_copy])
1188 VLC_ADD_PLUGINS([stream_out_dummy stream_out_standard stream_out_es stream_out_rtp stream_out_description vod_rtsp])
1189 VLC_ADD_PLUGINS([stream_out_duplicate stream_out_gather stream_out_display stream_out_transcode])
1190 # VLC_ADD_PLUGINS([stream_out_transrate])
1192 AC_DEFINE(ENABLE_SOUT, 1, Define if you want the stream output support)
1198 AC_ARG_ENABLE(httpd,
1199 [ --enable-httpd HTTP daemon (default enabled)])
1200 if test "${enable_httpd}" != "no"
1202 AC_DEFINE(ENABLE_HTTPD, 1, Define if you want the HTTP dameon support)
1206 dnl VideoLAN manager
1209 [ --enable-vlm VideoLAN manager (default enabled)])
1210 if test "${enable_vlm}" != "no"
1212 AC_DEFINE(ENABLE_VLM, 1, Define if you want the VideoLAN manager support)
1218 AC_ARG_ENABLE(gnutls,
1219 [ --enable-gnutls gnutls TLS/SSL support (default disabled)])
1220 AS_IF([test "${enable_gnutls}" == "yes"], VLC_ADD_PLUGINS([gnutls]))
1227 AC_ARG_WITH(,[Input plugins:])
1231 AC_ARG_ENABLE(livedotcom,
1232 [ --enable-livedotcom live.com input plugin (default disabled)])
1233 if test "${enable_livedotcom}" = "yes"; then
1234 AC_ARG_WITH(livedotcom-tree,
1235 [ --with-livedotcom-tree=PATH live.com tree for static linking])
1238 dnl test for --with-livedotcom-tree
1240 if test -z "${with_livedotcom_tree}" -a "${CXX}" != ""; then
1242 CPPFLAGS_save="${CPPFLAGS}"
1243 CPPFLAGS_livedotcom="-I/usr/include/liveMedia -I/usr/include/groupsock -I/usr/include/BasicUsageEnvironment -I/usr/include/UsageEnvironment"
1244 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_livedotcom}"
1245 AC_CHECK_HEADERS(liveMedia.hh, [
1246 VLC_ADD_CXXFLAGS([livedotcom], [${CPPFLAGS_livedotcom}])
1247 AC_CHECK_LIB(liveMedia_pic, main, [
1248 # We have -lliveMedia_pic, build plugins
1249 VLC_ADD_PLUGINS([livedotcom])
1250 VLC_ADD_LDFLAGS([livedotcom], [-lliveMedia_pic -lgroupsock_pic -lBasicUsageEnvironment_pic -lUsageEnvironment_pic])
1252 AC_CHECK_LIB(liveMedia, main, [
1253 # We only have -lliveMedia, do builtins
1254 VLC_ADD_BUILTINS([livedotcom])
1255 VLC_ADD_LDFLAGS([livedotcom], [-lliveMedia -lgroupsock -lBasicUsageEnvironment -lUsageEnvironment])
1258 if test "${SYS}" = "mingw32"; then
1259 # add ws2_32 for closesocket, select, recv
1260 VLC_ADD_LDFLAGS([livedotcom],[-lws2_32])
1263 CPPFLAGS="${CPPFLAGS_save}"
1266 AC_MSG_CHECKING(for liveMedia/libliveMedia.a in ${with_livedotcom_tree})
1267 real_livedotcom_tree="`cd ${with_livedotcom_tree} 2>/dev/null && pwd`"
1268 if test -z "${real_livedotcom_tree}"; then
1269 dnl The given directory can't be found
1271 AC_MSG_ERROR([cannot cd to ${with_livedotcom_tree}])
1273 if test -f "${real_livedotcom_tree}/liveMedia/libliveMedia.a"; then
1274 AC_MSG_RESULT(${real_livedotcom_tree}/liveMedia/libliveMedia.a)
1276 VLC_ADD_BUILTINS([livedotcom])
1278 if test "${SYS}" = "mingw32"; then
1279 # add ws2_32 for closesocket, select, recv
1280 VLC_ADD_LDFLAGS([livedotcom],[-lws2_32])
1283 VLC_ADD_LDFLAGS([livedotcom],[-L${real_livedotcom_tree}/liveMedia -lliveMedia])
1284 VLC_ADD_LDFLAGS([livedotcom],[-L${real_livedotcom_tree}/BasicUsageEnvironment -lBasicUsageEnvironment])
1285 VLC_ADD_LDFLAGS([livedotcom],[-L${real_livedotcom_tree}/groupsock -lgroupsock])
1286 VLC_ADD_LDFLAGS([livedotcom],[-L${real_livedotcom_tree}/UsageEnvironment -lUsageEnvironment])
1288 VLC_ADD_CXXFLAGS([livedotcom],[-I${real_livedotcom_tree}/BasicUsageEnvironment/include])
1289 VLC_ADD_CXXFLAGS([livedotcom],[-I${real_livedotcom_tree}/groupsock/include])
1290 VLC_ADD_CXXFLAGS([livedotcom],[-I${real_livedotcom_tree}/liveMedia/include])
1291 VLC_ADD_CXXFLAGS([livedotcom],[-I${real_livedotcom_tree}/UsageEnvironment/include ])
1293 dnl The given live.com wasn't built
1295 AC_MSG_ERROR([cannot find ${real_livedotcom_tree}/liveMedia/libliveMedia.a, make sure you compiled live.com in ${with_livedotcom_tree}])
1302 dnl dvdread module: check for libdvdread
1304 AC_ARG_ENABLE(dvdread,
1305 [ --enable-dvdread dvdread input module (default disabled)])
1306 if test "${enable_dvdread}" != "no"
1308 AC_ARG_WITH(dvdread,
1309 [ --with-dvdread=PATH libdvdread headers and libraries])
1310 AC_ARG_WITH(dvdread-tree,
1311 [ --with-dvdread-tree=PATH libdvdread tree for static linking])
1313 dnl Temporary hack (yeah, sure ;)
1314 if test "${SYS}" = "mingw32" || test "${SYS}" = "darwin" || test "${SYS}" = "beos" ; then
1315 VLC_ADD_LDFLAGS([dvdread],[-ldvdcss])
1318 if test -z "${with_dvdread}"
1320 if test -z "${with_dvdread_tree}"
1322 AC_CHECK_HEADERS(dvdread/dvd_reader.h,
1323 [ VLC_ADD_PLUGINS([dvdread])
1324 VLC_ADD_LDFLAGS([dvdread],[-ldvdread ${LDFLAGS_dvdcss}])
1326 if test -n "${enable_dvdread}"
1328 AC_MSG_ERROR([cannot find libdvdread headers])
1332 AC_MSG_CHECKING(for libdvdread.a in ${with_dvdread_tree})
1333 real_dvdread_tree="`cd ${with_dvdread_tree} 2>/dev/null && pwd`"
1334 if test -z "${real_dvdread_tree}"
1336 dnl The given directory can't be found
1338 AC_MSG_ERROR([cannot cd to ${with_dvdread_tree}])
1340 if test -f "${real_dvdread_tree}/dvdread/.libs/libdvdread.a"
1342 dnl Use a custom libdvdread
1343 AC_MSG_RESULT(${real_dvdread_tree}/dvdread/.libs/libdvdread.a)
1344 VLC_ADD_BUILTINS([dvdread])
1345 VLC_ADD_LDFLAGS([dvdread],[-L${real_dvdread_tree}/dvdread/.libs -ldvdread ${LDFLAGS_dvdcss}])
1346 VLC_ADD_CPPFLAGS([dvdread],[-I${real_dvdread_tree}])
1348 dnl The given libdvdread wasn't built
1350 AC_MSG_ERROR([cannot find ${real_dvdread_tree}/dvdread/.libs/libdvdread.a, make sure you compiled libdvdread in ${with_dvdread_tree}])
1354 AC_MSG_CHECKING(for dvdread headers in ${with_dvdread})
1355 if test -f ${with_dvdread}/include/dvdread/dvd_reader.h
1357 dnl Use ${with_dvdread}/include/dvdread/dvd_reader.h
1359 VLC_ADD_PLUGINS([dvdread])
1360 VLC_ADD_LDFLAGS([dvdread],[-L${with_dvdread}/lib -ldvdread ${LDFLAGS_dvdcss}])
1361 VLC_ADD_CPPFLAGS([dvdread],[-I${with_dvdread}/include])
1363 dnl No libdvdread could be found, sorry
1365 AC_MSG_ERROR([cannot find ${with_dvdread}/include/dvdread/dvd_reader.h])
1371 dnl libdvdnav plugin
1373 AC_ARG_ENABLE(dvdnav,
1374 [ --enable-dvdnav dvdnav input module (default enabled)])
1375 if test "${enable_dvdnav}" != "no"
1377 dnl Same hack than dvdread
1378 if test "${SYS}" = "mingw32" || test "${SYS}" = "darwin" || test "${SYS}" = "beos" ; then
1379 VLC_ADD_LDFLAGS([dvdnav],[-ldvdcss])
1382 DVDNAV_PATH="${PATH}"
1383 AC_ARG_WITH(dvdnav-config-path,
1384 [ --with-dvdnav-config-path=PATH dvdnav-config path (default search in \$PATH)],
1385 [ if test "${with_dvdnav_config_path}" != "no"
1387 DVDNAV_PATH="${with_dvdnav_config_path}:${PATH}"
1389 AC_PATH_PROG(DVDNAV_CONFIG, dvdnav-config, no, ${DVDNAV_PATH})
1390 if test "${DVDNAV_CONFIG}" != "no"
1392 VLC_ADD_PLUGINS([dvdnav])
1393 VLC_ADD_CFLAGS([dvdnav],[`${DVDNAV_CONFIG} --cflags`])
1394 VLC_ADD_LDFLAGS([dvdnav],[`${DVDNAV_CONFIG} --libs`])
1399 dnl Windows DirectShow access module
1401 AC_ARG_ENABLE(dshow,
1402 [ --enable-dshow Win32 DirectShow support (default enabled on Win32)])
1403 if test "${enable_dshow}" != "no"
1405 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
1407 AC_CHECK_HEADERS(dshow.h,
1408 [ VLC_ADD_PLUGINS([dshow])
1409 VLC_ADD_CXXFLAGS([dshow],[])
1410 VLC_ADD_LDFLAGS([dshow],[-lole32 -loleaut32]) ])
1415 dnl libsmbclient plugin
1418 [ --enable-smb smb input module (default enabled)])
1419 if test "${enable_smb}" != "no"; then
1420 AC_CHECK_HEADERS(libsmbclient.h,
1421 [ VLC_ADD_PLUGINS([access_smb])
1422 VLC_ADD_LDFLAGS([access_smb],[-lsmbclient]) ],
1423 [ if test -n "${enable_smb}"; then
1424 AC_MSG_ERROR([cannot find libsmbclient headers])
1429 dnl libdvbpsi ts demux/mux
1431 AC_ARG_ENABLE(dvbpsi,
1432 [ --enable-dvbpsi dvbpsi ts mux and demux module (default enabled)])
1433 if test "${enable_dvbpsi}" != "no"
1436 [ --with-dvbpsi=PATH libdvbpsi headers and libraries])
1438 [ --with-dvbpsi-tree=PATH libdvbpsi tree for static linking])
1439 case "${with_dvbpsi}" in
1441 if test -z "${with_dvbpsi_tree}"
1443 AC_CHECK_HEADERS(dvbpsi/dr.h,
1444 [ VLC_ADD_PLUGINS([mux_ts ts])
1445 VLC_ADD_LDFLAGS([mux_ts ts dvb],[-ldvbpsi]) ],
1446 [ AC_MSG_WARN([cannot find libdvbpsi headers]) ],
1447 [#if defined( HAVE_STDINT_H )
1448 # include <stdint.h>
1449 #elif defined( HAVE_INTTYPES_H )
1450 # include <inttypes.h>
1452 #include <dvbpsi/dvbpsi.h>
1453 #include <dvbpsi/descriptor.h>
1454 #include <dvbpsi/pat.h>
1455 #include <dvbpsi/pmt.h>])
1457 AC_MSG_CHECKING(for libdvbpsi.a in ${with_dvbpsi_tree})
1458 real_dvbpsi_tree="`cd ${with_dvbpsi_tree} 2>/dev/null && pwd`"
1459 if test -z "${real_dvbpsi_tree}"
1461 dnl The given directory can't be found
1463 AC_MSG_ERROR([cannot cd to ${with_dvbpsi_tree}])
1465 if test -f "${real_dvbpsi_tree}/src/.libs/libdvbpsi.a"
1467 dnl Use a custom libdvbpsi
1468 AC_MSG_RESULT(${real_dvbpsi_tree}/src/.libs/libdvbpsi.a)
1469 VLC_ADD_BUILTINS([mux_ts ts])
1470 VLC_ADD_CPPFLAGS([mux_ts ts dvb],[-I${real_dvbpsi_tree}/src])
1471 VLC_ADD_LDFLAGS([mux_ts ts dvb],[-L${real_dvbpsi_tree}/src/.libs -ldvbpsi])
1473 dnl The given libdvbpsi wasn't built
1475 AC_MSG_ERROR([cannot find ${real_dvbpsi_tree}/src/.libs/libdvbpsi.a, make sure you compiled libdvbpsi in ${with_dvbpsi_tree}])
1480 dnl Compile without dvbpsi
1483 AC_MSG_CHECKING(for dvbpsi headers in ${with_dvbpsi})
1484 if test -z "${with_dvbpsi}"
1489 LDFLAGS_test="-L${with_dvbpsi}/lib"
1490 CPPFLAGS_test="-I${with_dvbpsi}/include"
1492 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_test}"
1493 AC_CHECK_HEADERS([dvbpsi/dr.h],[
1494 VLC_ADD_PLUGINS([mux_ts ts])
1495 VLC_ADD_CPPFLAGS([mux_ts ts dvb],[${CPPFLAGS_test}])
1496 VLC_ADD_LDFLAGS([mux_ts ts dvb],[${LDFLAGS_test} -ldvbpsi])
1499 if test -n "${enable_dvbpsi}"
1501 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])
1504 CPPFLAGS="${CPPFLAGS_save}"
1510 dnl Video4Linux plugin
1513 [ --enable-v4l Video4Linux input support (default disabled)])
1514 if test "${enable_v4l}" = "yes"
1517 [ --with-v4l=PATH path to a v4l-enabled kernel tree],[],[])
1518 if test "${with_v4l}" != "no" -a -n "${with_v4l}"
1520 VLC_ADD_CPPFLAGS([v4l],[-I${with_v4l}/include])
1523 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_v4l}"
1524 AC_CHECK_HEADERS(linux/videodev.h, [
1525 VLC_ADD_PLUGINS([v4l])
1527 CPPFLAGS="${CPPFLAGS_save}"
1531 dnl special access module for Hauppauge PVR cards
1534 [ --enable-pvr PVR cards access module (default disabled)])
1535 if test "${enable_pvr}" = "yes"
1537 VLC_ADD_PLUGINS([pvr])
1541 dnl VCDX and CDDAX modules
1543 AC_ARG_ENABLE(libcdio,
1544 [ --enable-libcdio CDDA support via libcdio (default enabled)])
1546 AC_ARG_ENABLE(libcddb,
1547 [ --enable-libcddb CDDB support for CDDAX (default enabled)])
1550 [ --enable-vcdx VCD support with Navigation (default disabled)])
1553 [ --enable-cdda CDDA plugin support (default enabled)])
1555 AC_ARG_ENABLE(cddax,
1556 [ --enable-cddax CDDA plugin with CD Text and possibly CDDB and paranoia support (default disabled)])
1558 if test "${enable_cddax}" = "yes"
1560 PKG_CHECK_MODULES(LIBCDIO, libcdio >= 0.71,
1562 AC_DEFINE(HAVE_CDDAX, [], [Define for the CD-DA plugin using libcdio])
1563 VLC_ADD_LDFLAGS([cddax],[$LIBCDIO_LIBS])
1564 VLC_ADD_CFLAGS([cddax],[$LIBCDIO_CFLAGS])
1565 VLC_ADD_PLUGINS([cddax])],
1566 [AC_MSG_WARN(libcdio library not found)
1569 PKG_CHECK_MODULES(LIBCDIO_PARANOIA, libcdio_paranoia >= 0.72, [
1570 VLC_ADD_LDFLAGS([cddax],[$LIBCDIO_CDDA_LIBS $LIBCDIO_PARANOIA_LIBS])],
1573 if test "$enable_libcddb" != "no"; then
1574 PKG_CHECK_MODULES(LIBCDDB, libcddb >= 0.9.5, [
1576 AC_DEFINE(HAVE_LIBCDDB, [], [Define this if you have libcddb installed])
1577 VLC_ADD_LDFLAGS([cddax],[$LIBCDDB_LIBS])
1578 VLC_ADD_CFLAGS([cddax],[$LIBCDDB_CFLAGS])
1580 [AC_MSG_WARN(new enough libcddb not found. CDDB access disabled)
1586 if test "${enable_vcdx}" = "yes"
1588 PKG_CHECK_MODULES(LIBCDIO, libcdio >= 0.71,
1589 [VLC_ADD_LDFLAGS([vcdx],[$LIBCDIO_LIBS])
1590 VLC_ADD_CFLAGS([vcdx],[$LIBCDIO_CFLAGS])],
1591 [AC_MSG_WARN(libcdio library not found)
1594 PKG_CHECK_MODULES(VCDINFO, libvcdinfo >= 0.7.21,
1595 [AC_DEFINE(HAVE_VCDX, [],
1596 [Define for the VCD plugin using libcdio/libvcdinfo])
1597 VLC_ADD_LDFLAGS([vcdx],[$VCDINFO_LIBS])
1598 VLC_ADD_CFLAGS([vcdx],[$VCDINFO_CFLAGS])
1599 VLC_ADD_PLUGINS([vcdx])],
1600 [AC_MSG_WARN(vcdinfo library not found)
1608 [ --enable-vcd VCD support for Linux, FreeBSD, MacOS X and Win32 (default enabled)])
1610 if test "${enable_vcd}" != "no"
1612 AC_MSG_CHECKING(for cdrom_msf0 in linux/cdrom.h)
1613 AC_EGREP_HEADER(cdrom_msf0,linux/cdrom.h,[
1615 VLC_ADD_PLUGINS([vcd cdda])
1620 AC_MSG_CHECKING(for scsireq in sys/scsiio.h)
1621 AC_EGREP_HEADER(scsireq,sys/scsiio.h,[
1623 VLC_ADD_PLUGINS([vcd cdda])
1624 AC_DEFINE(HAVE_SCSIREQ_IN_SYS_SCSIIO_H, 1, For NetBSD VCD support)
1629 AC_MSG_CHECKING(for ioc_toc_header in sys/cdio.h)
1630 AC_EGREP_HEADER(ioc_toc_header ,sys/cdio.h,[
1632 VLC_ADD_PLUGINS([vcd cdda])
1633 AC_DEFINE(HAVE_IOC_TOC_HEADER_IN_SYS_CDIO_H, 1, For FreeBSD VCD support)
1638 if test "${SYS}" = "bsdi" -o "${SYS}" = "mingw32"
1640 VLC_ADD_PLUGINS([vcd cdda])
1643 if test "${SYS}" = "darwin"
1645 VLC_ADD_PLUGINS([vcd cdda])
1646 VLC_ADD_LDFLAGS([vcd vcdx cdda],[-framework IOKit -framework CoreFoundation])
1651 dnl Satellite input module
1653 AC_ARG_ENABLE(satellite,
1654 [ --enable-satellite satellite card support (default disabled)],
1655 [ if test "${enable_satellite}" = "yes"
1657 AC_DEFINE(HAVE_SATELLITE, [],
1658 [Define for the VCD plugin using libcdio/libvcdinfo])
1659 VLC_ADD_PLUGINS([satellite])
1663 dnl DVB-S/DVB-T/DVB-C satellite/teresterial/cable input using v4l2
1666 [ --enable-dvb DVB-S/T/C card support (default disabled)])
1668 if test "${enable_dvb}" = "yes"
1671 [ --with-dvb=PATH path to a dvb- and v4l2-enabled kernel tree],[],[])
1672 if test "${with_dvb}" != "no" -a -n "${with_dvb}"
1674 VLC_ADD_CFLAGS([dvb],[-I${with_dvb}/include])
1676 CPPFLAGS="${CPPFLAGS_save} -I${with_dvb}/include"
1677 AC_CHECK_HEADERS(linux/dvb/version.h linux/dvb/frontend.h, [
1678 VLC_ADD_PLUGINS([dvb])
1680 CPPFLAGS="${CPPFLAGS_save}"
1684 dnl Screen capture module
1686 AC_ARG_ENABLE(screen,
1687 [ --enable-screen Screen capture support (default enabled)])
1688 if test "${enable_screen}" != "no"; then
1689 if test "${SYS}" = "darwin"; then
1690 AC_CHECK_HEADERS(ApplicationServices/ApplicationServices.h, [
1691 VLC_ADD_PLUGINS([screen])
1692 VLC_ADD_LDFLAGS([screen],[-framework ApplicationServices])
1694 elif test "${SYS}" = "mingw32"; then
1695 VLC_ADD_PLUGINS([screen])
1696 VLC_ADD_LDFLAGS([screen],[-lgdi32])
1697 elif test "${SYS}" = "beos"; then
1698 VLC_ADD_PLUGINS([screen])
1699 VLC_ADD_CXXFLAGS([screen],[])
1700 VLC_ADD_LDFLAGS([screen],[-lbe])
1702 CPPFLAGS="${CPPFLAGS_save} -I${x_includes}"
1703 AC_CHECK_HEADERS(X11/Xlib.h, [
1704 VLC_ADD_PLUGINS([screen])
1705 VLC_ADD_LDFLAGS([screen],[-L${x_libraries} -lX11 -lXext])
1706 VLC_ADD_CPPFLAGS([screen],[-I${x_includes}])
1708 CPPFLAGS="${CPPFLAGS_save}"
1713 dnl ipv6 plugin - not for QNX yet
1715 if test "${SYS}" != "nto" && test "${SYS}" != "mingw32"
1718 AC_CHECK_FUNCS(inet_pton,[have_ipv6=:],[
1719 AC_CHECK_LIB(resolv,inet_pton,
1721 VLC_ADD_LDFLAGS([ipv6],[-lresolv])])
1723 AC_MSG_CHECKING(for sockaddr_in6 in netinet/in.h)
1724 AC_EGREP_HEADER(sockaddr_in6,netinet/in.h,
1725 [AC_MSG_RESULT(yes)], [AC_MSG_RESULT(no) have_ipv6=false])
1726 if ${have_ipv6}; then
1727 VLC_ADD_PLUGINS([ipv6])
1730 if test "${SYS}" = "mingw32"
1732 AC_MSG_CHECKING(for getaddrinfo in ws2tcpip.h)
1733 AC_EGREP_HEADER(addrinfo,ws2tcpip.h,[AC_MSG_RESULT(yes)
1734 VLC_ADD_PLUGINS([ipv6])],[AC_MSG_RESULT(no)])
1738 dnl ogg demux plugin
1741 [ --enable-ogg Ogg demux support (default enabled)])
1742 if test "${enable_ogg}" != "no"
1744 AC_CHECK_HEADERS(ogg/ogg.h, [
1745 AC_CHECK_LIB( ogg, oggpack_read, [
1746 VLC_ADD_PLUGINS([ogg mux_ogg])
1747 VLC_ADD_LDFLAGS([ogg mux_ogg],[-logg])])
1752 dnl matroska demux plugin
1755 [ --enable-mkv Matroska demux support (default enabled)])
1756 if test "${enable_mkv}" != "no" -a "${CXX}" != ""; then
1758 AC_CHECK_HEADERS(ebml/EbmlVersion.h, [
1759 AC_MSG_CHECKING(for libebml version >= 0.7.3)
1761 [#include <ebml/EbmlVersion.h>
1762 #ifdef LIBEBML_VERSION
1763 #if LIBEBML_VERSION >= 0x000703
1767 [AC_MSG_RESULT([yes])
1768 AC_CHECK_HEADERS(matroska/KaxVersion.h, [
1769 AC_MSG_CHECKING(for libmatroska version >= 0.7.5)
1771 [#include <matroska/KaxVersion.h>
1772 #ifdef LIBMATROSKA_VERSION
1773 #if LIBMATROSKA_VERSION >= 0x000705
1777 [AC_MSG_RESULT([yes])
1778 AC_CHECK_HEADERS(matroska/KaxAttachments.h)
1779 VLC_ADD_CXXFLAGS([mkv],[])
1780 AC_CHECK_LIB(ebml_pic, main, [
1781 # We have ebml_pic, that's good, we can build an mkv.so plugin !
1782 VLC_ADD_PLUGINS([mkv])
1783 VLC_ADD_LDFLAGS([mkv],[-lmatroska_pic -lebml_pic])
1785 AC_CHECK_LIB(ebml, main, [
1786 # We only have libebml, make mkv.a a builtin
1787 VLC_ADD_BUILTINS([mkv])
1788 VLC_ADD_LDFLAGS([mkv],[-lmatroska -lebml])
1792 [AC_MSG_RESULT([no])
1793 AC_MSG_ERROR([Your libmatroska is too old: you may get a more recent one from http://dl.matroska.org/downloads/libmatroska/. Alternatively you can use --disable-mkv to disable the matroska plugin.])
1797 [AC_MSG_RESULT([no])
1798 AC_MSG_ERROR([Your libebml is too old: you may get a more recent one from http://dl.matroska.org/downloads/libebml/. Alternatively you can use --disable-mkv to disable the matroska plugin.])
1805 dnl modplug demux plugin
1808 [ --enable-mod Mod demux support (default enabled)])
1809 if test "${enable_mod}" != "no"
1811 AC_CHECK_HEADERS(libmodplug/modplug.h, [
1812 VLC_ADD_PLUGINS([mod])
1813 VLC_ADD_CXXFLAGS([mod],[])
1814 VLC_ADD_LDFLAGS([mod],[-lmodplug])])
1821 AC_ARG_WITH(,[Codec plugins:])
1827 [ --enable-mad libmad module (default enabled)])
1828 if test "${enable_mad}" != "no"
1831 [ --with-mad=PATH path to libmad],[],[])
1832 if test "${with_mad}" != "no" -a -n "${with_mad}"
1834 VLC_ADD_CPPFLAGS([mpgatofixed32],[-I${with_mad}/include])
1835 VLC_ADD_LDFLAGS([mpgatofixed32],[-L${with_mad}/lib])
1838 AC_ARG_WITH(mad-tree,
1839 [ --with-mad-tree=PATH mad tree for static linking],[],[])
1840 if test "${with_mad_tree}" != "no" -a -n "${with_mad_tree}"
1842 real_mad_tree="`cd ${with_mad_tree} 2>/dev/null && pwd`"
1843 if test -z "${real_mad_tree}"
1845 dnl The given directory can't be found
1847 AC_MSG_ERROR([${with_mad_tree} directory doesn't exist])
1849 dnl Use a custom libmad
1850 AC_MSG_CHECKING(for mad.h in ${real_mad_tree})
1851 if test -f ${real_mad_tree}/mad.h
1854 VLC_ADD_CPPFLAGS([mpgatofixed32],[-I${real_mad_tree}])
1855 VLC_ADD_LDFLAGS([mpgatofixed32],[-L${real_mad_tree}/.libs])
1856 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_mpgatofixed32}"
1857 AC_CHECK_LIB(mad, mad_bit_init, [
1858 VLC_ADD_BUILTINS([mpgatofixed32])
1859 VLC_ADD_LDFLAGS([mpgatofixed32],[-lmad])
1860 ],[ AC_MSG_ERROR([the specified tree hasn't been compiled ])
1862 LDFLAGS="${LDFLAGS_save}"
1865 AC_MSG_ERROR([the specified tree doesn't have mad.h])
1868 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_mpgatofixed32}"
1869 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_mpgatofixed32}"
1870 AC_CHECK_HEADERS(mad.h, ,
1871 [ AC_MSG_ERROR([Could not find libmad on your system: you may get it from http://www.underbit.com/products/mad/. Alternatively you can use --disable-mad to disable the mad plugin.]) ])
1872 AC_CHECK_LIB(mad, mad_bit_init, [
1873 VLC_ADD_PLUGINS([mpgatofixed32])
1874 VLC_ADD_LDFLAGS([mpgatofixed32],[-lmad])],
1875 [ AC_MSG_ERROR([Cannot find libmad library...]) ])
1876 CPPFLAGS="${CPPFLAGS_save}"
1877 LDFLAGS="${LDFLAGS_save}"
1882 dnl libid3tag support (FIXME!!! doesn't work with new input)
1884 AC_CHECK_HEADERS(id3tag.h, [
1885 AC_CHECK_HEADERS(zlib.h, [
1886 VLC_ADD_LDFLAGS([id3tag],[-lid3tag -lz])
1887 VLC_ADD_PLUGINS([id3tag])]) ])
1890 dnl ffmpeg decoder/demuxer plugin
1892 AC_ARG_ENABLE(ffmpeg,
1893 [ --enable-ffmpeg ffmpeg codec (default enabled)])
1894 if test "${enable_ffmpeg}" != "no"
1896 FFMPEG_PATH="${PATH}"
1897 AC_ARG_WITH(ffmpeg-config-path,
1898 [ --with-ffmpeg-config-path=PATH ffmpeg-config path (default search in \$PATH)],
1899 [ if test "${with_ffmpeg_config_path}" != "no"
1901 FFMPEG_PATH="${with_ffmpeg_config_path}:${PATH}"
1903 AC_PATH_PROG(FFMPEG_CONFIG, ffmpeg-config, no, ${FFMPEG_PATH})
1904 if test "${FFMPEG_CONFIG}" != "no"
1906 AC_CHECK_HEADERS(ffmpeg/avcodec.h)
1907 AC_CHECK_HEADERS(postproc/postprocess.h)
1908 VLC_ADD_PLUGINS([ffmpeg])
1909 VLC_ADD_CFLAGS([ffmpeg],[`${FFMPEG_CONFIG} --cflags`])
1910 VLC_ADD_LDFLAGS([ffmpeg],[`${FFMPEG_CONFIG} --plugin-libs avcodec avformat postproc`])
1912 AC_ARG_WITH(ffmpeg-mp3lame,
1913 [ --with-ffmpeg-mp3lame specify if ffmpeg has been compiled with mp3lame support],
1915 VLC_ADD_LDFLAGS([ffmpeg],[-lmp3lame]) ])
1917 AC_ARG_WITH(ffmpeg-faac,
1918 [ --with-ffmpeg-faac specify if ffmpeg has been compiled with faac support],
1920 VLC_ADD_LDFLAGS([ffmpeg],[-lfaac]) ])
1922 AC_ARG_WITH(ffmpeg-dts,
1923 [ --with-ffmpeg-dts specify if ffmpeg has been compiled with dts support],
1925 VLC_ADD_LDFLAGS([ffmpeg],[-ldts]) ])
1927 AC_ARG_WITH(ffmpeg-zlib,
1928 [ --with-ffmpeg-zlib specify if ffmpeg has been compiled with zlib support],
1930 VLC_ADD_LDFLAGS([ffmpeg],[-lz]) ])
1932 AC_ARG_WITH(ffmpeg-tree,
1933 [ --with-ffmpeg-tree=PATH ffmpeg tree for static linking])
1936 dnl test for !(--with-ffmpeg-tree)
1938 if test "${with_ffmpeg_tree}" = "no" -o -z "${with_ffmpeg_tree}"; then
1939 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_ffmpeg}"
1940 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_ffmpeg}"
1941 AC_CHECK_HEADERS(ffmpeg/avcodec.h, [], [AC_MSG_ERROR([Missing header file ffmpeg/avcodec.h.])] )
1942 AC_CHECK_HEADERS(postproc/postprocess.h, [], [AC_MSG_ERROR([Missing header file postproc/postprocess.h.])] )
1943 AC_CHECK_LIB(avcodec, avcodec_init, [
1944 VLC_ADD_BUILTINS([ffmpeg])
1945 VLC_ADD_LDFLAGS([ffmpeg],[-lavcodec])],
1946 [ AC_MSG_ERROR([Could not find ffmpeg on your system: you may get it from http://ffmpeg.sf.net/ (cvs version is recommended). Alternatively you can use --disable-ffmpeg to disable the ffmpeg plugins.]) ])
1947 AC_CHECK_LIB(avformat, av_open_input_stream, [
1948 AC_DEFINE(HAVE_LIBAVFORMAT, 1,
1949 [Define if you have ffmpeg's libavformat.])
1950 VLC_ADD_LDFLAGS([ffmpeg],[-lavformat -lz]) ], [], [-lavcodec -lz])
1951 LDFLAGS="${LDFLAGS_save}"
1952 CPPFLAGS="${CPPFLAGS_save}"
1956 dnl test for --with-ffmpeg-tree
1958 if test "${with_ffmpeg_tree}" != "no" -a -n "${with_ffmpeg_tree}"; then
1959 AC_MSG_CHECKING(for libavcodec.a in ${with_ffmpeg_tree})
1960 real_ffmpeg_tree="`cd ${with_ffmpeg_tree} 2>/dev/null && pwd`"
1961 if test -z "${real_ffmpeg_tree}"; then
1962 dnl The given directory can't be found
1964 AC_MSG_ERROR([cannot cd to ${with_ffmpeg_tree}])
1966 if ! test -f "${real_ffmpeg_tree}/libavcodec/libavcodec.a"; then
1967 dnl The given libavcodec wasn't built
1969 AC_MSG_ERROR([cannot find ${real_ffmpeg_tree}/libavcodec/libavcodec.a, make sure you compiled libavcodec in ${with_ffmpeg_tree}])
1971 if ! fgrep -s "pp_get_context" "${real_ffmpeg_tree}/libavcodec/libavcodec.a"; then
1972 dnl The given libavcodec wasn't built with --enable-pp
1974 AC_MSG_ERROR([${real_ffmpeg_tree}/libavcodec/libavcodec.a was not compiled with postprocessing support, make sure you configured ffmpeg with --enable-pp])
1976 dnl Use a custom libffmpeg
1977 AC_MSG_RESULT(${real_ffmpeg_tree}/libavcodec/libavcodec.a)
1979 if fgrep -s "CONFIG_ZLIB=yes" "${real_ffmpeg_tree}/config.mak"; then
1980 if test "${with_ffmpeg_zlib}" != "yes"; then
1981 VLC_ADD_LDFLAGS([ffmpeg],[-lz])
1984 if fgrep -s "CONFIG_MP3LAME=yes" "${real_ffmpeg_tree}/config.mak"; then
1985 if test "${with_ffmpeg_mp3lame}" != "yes"; then
1986 VLC_ADD_LDFLAGS([ffmpeg],[-lmp3lame])
1989 if fgrep -s "CONFIG_FAAC=yes" "${real_ffmpeg_tree}/config.mak"; then
1990 if test "${with_ffmpeg_faac}" != "yes"; then
1991 VLC_ADD_LDFLAGS([ffmpeg],[-lfaac])
1994 if fgrep -s "CONFIG_DTS=yes" "${real_ffmpeg_tree}/config.mak"; then
1995 if test "${with_ffmpeg_dts}" != "yes"; then
1996 VLC_ADD_LDFLAGS([ffmpeg],[-ldts])
1999 if fgrep -s "CONFIG_VORBIS=yes" "${real_ffmpeg_tree}/config.mak"; then
2000 VLC_ADD_LDFLAGS([ffmpeg],[-lvorbis -lvorbisenc])
2002 if fgrep -s "CONFIG_FAAD=yes" "${real_ffmpeg_tree}/config.mak"; then
2003 VLC_ADD_LDFLAGS([ffmpeg],[-lfaad])
2005 if fgrep -s "CONFIG_XVID=yes" "${real_ffmpeg_tree}/config.mak"; then
2006 VLC_ADD_LDFLAGS([ffmpeg],[-lxvidcore])
2009 VLC_ADD_BUILTINS([ffmpeg])
2010 VLC_ADD_LDFLAGS([ffmpeg],[-L${real_ffmpeg_tree}/libavcodec ${real_ffmpeg_tree}/libavcodec/libavcodec.a])
2011 VLC_ADD_CPPFLAGS([ffmpeg],[-I${real_ffmpeg_tree}/libavcodec])
2013 if test -f "${real_ffmpeg_tree}/libavformat/libavformat.a"; then
2014 AC_DEFINE(HAVE_LIBAVFORMAT, 1, [Define if you have ffmpeg's libavformat.])
2015 VLC_ADD_LDFLAGS([ffmpeg],[-L${real_ffmpeg_tree}/libavformat ${real_ffmpeg_tree}/libavformat/libavformat.a])
2016 VLC_ADD_CPPFLAGS([ffmpeg],[-I${real_ffmpeg_tree}/libavformat])
2023 dnl ffmpeg decoder/demuxer plugin
2025 AC_ARG_ENABLE(ffmpegaltivec,
2026 [ --enable-ffmpegaltivec ffmpegaltivec codec (DO NOT USE)])
2027 if test "${enable_ffmpegaltivec}" == "yes"
2029 if test "${with_ffmpeg_tree}" != "no" -a -n "${with_ffmpeg_tree}"; then
2030 AC_MSG_CHECKING(for libavcodecaltivec.a in ${with_ffmpeg_tree})
2031 real_ffmpeg_tree="`cd ${with_ffmpeg_tree} 2>/dev/null && pwd`"
2032 if test -z "${real_ffmpeg_tree}"; then
2033 dnl The given directory can't be found
2035 AC_MSG_ERROR([cannot cd to ${with_ffmpeg_tree}])
2037 if ! test -f "${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a"; then
2038 dnl The given libavcodecaltivec wasn't built
2040 AC_MSG_ERROR([cannot find ${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a, make sure you compiled libavcodecaltivec in ${with_ffmpeg_tree}])
2042 if ! fgrep -s "pp_get_context" "${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a"; then
2043 dnl The given libavcodecaltivec wasn't built with --enable-pp
2045 AC_MSG_ERROR([${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a was not compiled with postprocessing support, make sure you configured ffmpeg with --enable-pp])
2047 dnl Use a custom libffmpeg
2048 AC_MSG_RESULT(${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a)
2049 VLC_ADD_BUILTINS([ffmpegaltivec])
2050 VLC_ADD_LDFLAGS([ffmpegaltivec],[-L${real_ffmpeg_tree}/libavcodec -lavcodecaltivec])
2051 VLC_ADD_CPPFLAGS([ffmpeg],[-DNO_ALTIVEC_IN_FFMPEG])
2052 VLC_ADD_CPPFLAGS([ffmpegaltivec],[-I${real_ffmpeg_tree}/libavcodec -I${real_ffmpeg_tree}/libavformat])
2054 if test -f "${real_ffmpeg_tree}/libavformat/libavformat.a"; then
2055 AC_DEFINE(HAVE_LIBAVFORMAT, 1, [Define if you have ffmpeg's libavformat.])
2056 VLC_ADD_LDFLAGS([ffmpegaltivec],[-L${real_ffmpeg_tree}/libavformat -lavformataltivec -lz])
2057 VLC_ADD_CPPFLAGS([ffmpegaltivec],[-I${real_ffmpeg_tree}/libavformat])
2063 dnl faad decoder plugin
2066 [ --enable-faad faad codec (default disabled)])
2067 if test "${enable_faad}" = "yes"
2069 AC_ARG_WITH(faad-tree,
2070 [ --with-faad-tree=PATH faad tree for static linking])
2071 if test -n "${with_faad_tree}"
2073 AC_MSG_CHECKING(for libfaad.a in ${with_faad_tree})
2074 real_faad_tree="`cd ${with_faad_tree} 2>/dev/null && pwd`"
2075 if test -z "${real_faad_tree}"
2077 dnl The given directory can't be found
2079 AC_MSG_ERROR([cannot cd to ${with_faad_tree}])
2081 if test -f "${real_faad_tree}/libfaad/.libs/libfaad.a"
2083 dnl Use a custom faad
2084 AC_MSG_RESULT(${real_faad_tree}/libfaad/.libs/libfaad.a)
2085 VLC_ADD_BUILTINS([faad])
2086 VLC_ADD_LDFLAGS([faad],[${real_faad_tree}/libfaad/.libs/libfaad.a])
2087 VLC_ADD_CPPFLAGS([faad],[-I${real_faad_tree}/include])
2089 dnl The given libfaad wasn't built
2091 AC_MSG_ERROR([cannot find ${real_faad_tree}/libfaad/.libs/libfaad.a, make sure you compiled libfaad in ${with_faad_tree}])
2094 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_faad}"
2095 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_faad}"
2096 AC_CHECK_HEADERS(faad.h, ,
2097 [ AC_MSG_ERROR([Cannot find development headers for libfaad...]) ])
2098 AC_CHECK_LIB(faad, faacDecOpen, [
2099 VLC_ADD_PLUGINS([faad])
2100 VLC_ADD_LDFLAGS([faad],[-lfaad]) ],
2101 AC_CHECK_LIB(faad, NeAACDecOpen, [
2102 VLC_ADD_PLUGINS([faad])
2103 VLC_ADD_LDFLAGS([faad],[-lfaad]) ],
2104 [ AC_MSG_ERROR([Cannot find libfaad library...]) ]))
2105 LDFLAGS="${LDFLAGS_save}"
2106 CPPFLAGS="${CPPFLAGS_save}"
2111 dnl toolame encoder plugin
2113 AC_ARG_ENABLE(toolame,
2114 [ --enable-toolame toolame codec (default disabled)])
2115 if test "${enable_toolame}" = "yes"
2117 AC_ARG_WITH(toolame-tree,
2118 [ --with-toolame-tree=PATH toolame tree for static linking])
2119 if test -n "${with_toolame_tree}"
2121 AC_MSG_CHECKING(for libtoolame.a in ${with_toolame_tree})
2122 real_toolame_tree="`cd ${with_toolame_tree} 2>/dev/null && pwd`"
2123 if test -z "${real_toolame_tree}"
2125 dnl The given directory can't be found
2127 AC_MSG_ERROR([cannot cd to ${with_toolame_tree}])
2129 if test -f "${real_toolame_tree}/libtoolame/libtoolame.a"
2131 dnl Use a custom toolame
2132 AC_MSG_RESULT(${real_toolame_tree}/libtoolame/libtoolame.a)
2133 VLC_ADD_BUILTINS([toolame])
2134 VLC_ADD_LDFLAGS([toolame],[${real_faad_tree}/libtoolame/libtoolame.a])
2135 VLC_ADD_CPPFLAGS([toolame],[-I${real_toolame_tree}/libtoolame])
2137 dnl The given libtoolame wasn't built
2139 AC_MSG_ERROR([cannot find ${real_toolame_tree}/libtoolame/libtoolame.a, make sure you compiled libtoolame in ${with_toolame_tree}])
2142 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_toolame}"
2143 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_toolame}"
2144 AC_CHECK_HEADERS(toolame.h, ,
2145 [ AC_MSG_ERROR([Cannot find development header for libtoolame...]) ])
2146 AC_CHECK_LIB(toolame, toolame_init, [
2147 VLC_ADD_PLUGINS([toolame])
2148 VLC_ADD_LDFLAGS([toolame],[-ltoolame]) ],
2149 [ AC_MSG_ERROR([Cannot find libtoolame library...]) ])
2150 LDFLAGS="${LDFLAGS_save}"
2151 CPPFLAGS="${CPPFLAGS_save}"
2156 dnl QuickTime plugin
2158 AC_ARG_ENABLE(quicktime,
2159 [ --enable-quicktime QuickTime module (default enabled on MacOS X)])
2160 if test "${enable_quicktime}" != "no" &&
2161 (test "${SYS}" = "darwin" || test "${enable_quicktime}" = "yes")
2163 if test "${SYS}" = "mingw32"; then
2164 VLC_ADD_BUILTINS([quicktime])
2166 AC_CHECK_HEADERS(QuickTime/QuickTime.h,
2167 [ VLC_ADD_BUILTINS([quicktime])
2168 VLC_ADD_LDFLAGS([quicktime],[-framework QuickTime -framework Carbon])
2169 ], [ AC_MSG_ERROR([cannot find QuickTime headers]) ])
2176 AC_CHECK_HEADERS(zlib.h, [
2177 VLC_ADD_LDFLAGS([mp4 skins2 sap mkv],[-lz])
2180 AC_CHECK_HEADERS(sysfs/libsysfs.h, [
2181 VLC_ADD_LDFLAGS([mp4 mkv],[-lsysfs])
2187 AC_CHECK_HEADERS(libtar.h, [
2188 VLC_ADD_LDFLAGS([skins2],[-ltar])
2194 dnl A52/AC3 decoder plugin
2197 [ --enable-a52 A/52 support with liba52 (default enabled)])
2198 if test "${enable_a52}" != "no"
2201 [ --with-a52=PATH a52 headers and libraries])
2202 AC_ARG_WITH(a52-tree,
2203 [ --with-a52-tree=PATH a52dec tree for static linking ],[],[])
2204 if test "${with_a52_tree}" != "no" -a -n "${with_a52_tree}"
2206 real_a52_tree="`cd ${with_a52_tree} 2>/dev/null && pwd`"
2207 if test -z "${real_a52_tree}"
2209 dnl The given directory can't be found
2211 AC_MSG_ERROR([${with_a52_tree} directory doesn't exist])
2213 dnl Use a custom a52dec
2214 AC_MSG_CHECKING(for a52.h in ${real_a52_tree}/include)
2215 if test -f ${real_a52_tree}/include/a52.h
2218 VLC_ADD_CPPFLAGS([a52tofloat32],[-I${real_a52_tree}])
2219 VLC_ADD_LDFLAGS([a52tofloat32],[-L${real_a52_tree}/liba52/.libs])
2220 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_a52tofloat32}"
2221 AC_CHECK_LIB(a52, a52_free, [
2222 VLC_ADD_BUILTINS([a52tofloat32])
2223 VLC_ADD_CPPFLAGS([a52tofloat32],[-DUSE_A52DEC_TREE])
2224 VLC_ADD_LDFLAGS([a52tofloat32],[-la52])
2226 if test -f ${real_a52_tree}/liba52/.libs/liba52.a
2228 AC_MSG_ERROR([make sure you have at least a52dec-0.7.3])
2230 AC_MSG_ERROR([the specified tree hasn't been compiled])
2233 LDFLAGS="${LDFLAGS_save}"
2236 AC_MSG_ERROR([the specified tree doesn't have a52.h])
2239 if test -z "${with_a52}"
2244 LDFLAGS_test="-L${with_a52}/lib"
2245 CPPFLAGS_test="-I${with_a52}/include"
2247 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_test} ${CPPFLAGS_a52tofloat32}"
2248 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_test} ${LDFLAGS_a52tofloat32}"
2249 AC_CHECK_HEADERS(a52dec/a52.h, [
2250 AC_CHECK_LIB(a52, a52_free, [
2251 VLC_ADD_PLUGINS([a52tofloat32])
2252 VLC_ADD_LDFLAGS([a52tofloat32],[${LDFLAGS_test} -la52])
2253 VLC_ADD_CPPFLAGS([a52tofloat32],[${CPPFLAGS_test}])
2255 AC_MSG_ERROR([Could not find liba52 on your system: you may get it from http://liba52.sf.net/. Alternatively you can use --disable-a52 to disable the a52 plugin.])
2258 CPPFLAGS="${CPPFLAGS_save}"
2259 LDFLAGS="${LDFLAGS_save}"
2264 dnl DTS Coherent Acoustics decoder plugin
2267 [ --enable-dts DTS Coherent Acoustics support with libdts (default enabled)])
2268 if test "${enable_dts}" != "no"; then
2269 AC_ARG_WITH(dts-tree,
2270 [ --with-dts-tree=PATH libdts tree for static linking ],[],[])
2271 if test "${with_dts_tree}" != "no" -a -n "${with_dts_tree}"
2273 real_dts_tree="`cd ${with_dts_tree} 2>/dev/null && pwd`"
2274 if test -z "${real_dts_tree}"
2276 dnl The given directory can't be found
2278 AC_MSG_ERROR([${with_dts_tree} directory doesn't exist])
2280 dnl Use a custom libdts
2281 AC_MSG_CHECKING(for dts.h in ${real_dts_tree}/include)
2282 if test -f ${real_dts_tree}/include/dts.h
2285 VLC_ADD_CPPFLAGS([dtstofloat32],[-I${real_dts_tree}/include])
2286 VLC_ADD_LDFLAGS([dtstofloat32],[-L${real_dts_tree}/libdts])
2287 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_dtstofloat32}"
2288 AC_CHECK_LIB(dts_pic, dts_free, [
2289 VLC_ADD_PLUGINS([dtstofloat32])
2290 VLC_ADD_LDFLAGS([dtstofloat32],[-ldts_pic])
2292 AC_CHECK_LIB(dts, dts_free, [
2293 VLC_ADD_BUILTINS([dtstofloat32])
2294 VLC_ADD_LDFLAGS([dtstofloat32],[-ldts])
2296 if test -f ${real_dts_tree}/libdts/libdts.a
2298 AC_MSG_ERROR([make sure you have at least libdts-0.0.2])
2300 AC_MSG_ERROR([the specified tree hasn't been compiled])
2304 LDFLAGS="${LDFLAGS_save}"
2307 AC_MSG_ERROR([the specified tree doesn't have dts.h])
2310 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_dtstofloat32}"
2311 AC_CHECK_HEADERS(dts.h, [
2312 AC_CHECK_LIB(dts_pic, dts_free, [
2313 VLC_ADD_PLUGINS([dtstofloat32])
2314 VLC_ADD_LDFLAGS([dtstofloat32],[-ldts_pic])
2316 AC_CHECK_LIB(dts, dts_free, [
2317 VLC_ADD_BUILTINS([dtstofloat32])
2318 VLC_ADD_LDFLAGS([dtstofloat32],[-ldts])
2320 if test "${enable_dts}" = "yes"; then
2321 AC_MSG_ERROR([Could not find libdts on your system: you may get it from http://www.videolan.org/dtsdec.html])
2326 LDFLAGS="${LDFLAGS_save}"
2334 [ --enable-flac flac decoder support (default disabled)])
2335 if test "${enable_flac}" = "yes"
2337 AC_CHECK_HEADERS(FLAC/stream_decoder.h, [
2338 VLC_ADD_PLUGINS([flac flacdec])
2339 VLC_ADD_LDFLAGS([flacdec],[-lFLAC])
2346 AC_ARG_ENABLE(libmpeg2,
2347 [ --enable-libmpeg2 libmpeg2 decoder support (default enabled)])
2348 if test "${enable_libmpeg2}" != "no"
2350 AC_ARG_WITH(libmpeg2-tree,
2351 [ --with-libmpeg2-tree=PATH libmpeg2 tree for static linking])
2352 if test -n "${with_libmpeg2_tree}"
2354 AC_MSG_CHECKING(for libmpeg2.a in ${with_libmpeg2_tree})
2355 real_libmpeg2_tree="`cd ${with_libmpeg2_tree} 2>/dev/null && pwd`"
2356 if test -z "${real_libmpeg2_tree}"
2358 dnl The given directory can't be found
2360 AC_MSG_ERROR([cannot cd to ${with_libmpeg2_tree}])
2362 if test -f "${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a"
2364 dnl Use a custom libmpeg2
2365 AC_MSG_RESULT(${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a)
2366 VLC_ADD_PLUGINS([libmpeg2])
2367 VLC_ADD_LDFLAGS([libmpeg2],[-L${real_libmpeg2_tree}/libmpeg2/.libs -lmpeg2])
2368 VLC_ADD_CFLAGS([libmpeg2],[-I${real_libmpeg2_tree}/include])
2369 eval "`cd ${real_libmpeg2_tree}/include && ln -sf . mpeg2dec 2>/dev/null`"
2371 dnl The given libmpeg2 wasn't built
2373 AC_MSG_ERROR([cannot find ${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a, make sure you compiled libmpeg2 in ${with_libmpeg2_tree}])
2376 AC_CHECK_HEADERS(mpeg2dec/mpeg2.h, [
2377 AC_MSG_CHECKING(for libmpeg2 version >= 0.3.2)
2379 [#include <mpeg2dec/mpeg2.h>
2380 #ifdef MPEG2_RELEASE
2381 #if MPEG2_RELEASE >= MPEG2_VERSION(0,3,2)
2385 [AC_MSG_RESULT([yes])
2386 VLC_ADD_PLUGINS([libmpeg2])
2387 VLC_ADD_LDFLAGS([libmpeg2],[-lmpeg2])],
2388 [AC_MSG_RESULT([no])
2389 AC_MSG_ERROR([Your libmpeg2 is too old (you need the cvs version): you may get a more recent one from http://libmpeg2.sf.net/. Alternatively you can use --disable-libmpeg2 to disable the libmpeg2 plugin.])])],
2391 [AC_MSG_ERROR([Could not find libmpeg2 on your system: you may get it from http://libmpeg2.sf.net/ (you need the cvs version). Alternatively you can use --disable-libmpeg2 to disable the libmpeg2 plugin.])]
2399 AC_ARG_ENABLE(vorbis,
2400 [ --enable-vorbis Vorbis decoder support (default enabled)])
2401 if test "${enable_vorbis}" != "no"
2403 AC_CHECK_HEADERS(vorbis/codec.h, [
2404 VLC_ADD_PLUGINS([vorbis])
2405 VLC_ADD_LDFLAGS([vorbis],[-lvorbis -logg]) ],[])
2407 AC_CHECK_HEADERS(vorbis/vorbisenc.h, [
2408 VLC_ADD_LDFLAGS([vorbis],[-lvorbisenc]) ],[])
2414 AC_ARG_ENABLE(tremor,
2415 [ --enable-tremor Tremor decoder support (default disabled)])
2416 if test "${enable_tremor}" = "yes"
2418 AC_CHECK_HEADERS(tremor/ivorbiscodec.h, [
2419 VLC_ADD_PLUGINS([tremor])
2420 VLC_ADD_LDFLAGS([tremor],[-lvorbisidec -logg])
2427 AC_ARG_ENABLE(speex,
2428 [ --enable-speex Speex decoder support (default enabled)])
2429 if test "${enable_speex}" != "no"
2431 AC_CHECK_HEADERS(speex/speex.h, [
2432 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_toolame}"
2433 AC_CHECK_LIB(speex, speex_decode_int, [
2434 VLC_ADD_PLUGINS([speex])
2435 VLC_ADD_LDFLAGS([speex],[-lspeex]) ],
2436 [ AC_MSG_RESULT([no])
2437 AC_MSG_WARN([Your libspeex is too old, please get the development
2439 LDFLAGS="${LDFLAGS_save}"
2444 dnl tarkin decoder plugin
2446 AC_ARG_ENABLE(tarkin,
2447 [ --enable-tarkin experimental tarkin codec (default disabled)])
2448 if test "${enable_tarkin}" = "yes"
2450 AC_ARG_WITH(tarkin-tree,
2451 [ --with-tarkin-tree=PATH tarkin tree for static linking])
2452 if test -n "${with_tarkin_tree}"
2454 AC_MSG_CHECKING(for tarkin.o in ${with_tarkin_tree})
2455 real_tarkin_tree="`cd ${with_tarkin_tree} 2>/dev/null && pwd`"
2456 if test -f "${real_tarkin_tree}/tarkin.o"
2458 VLC_ADD_BUILTINS([tarkin])
2459 VLC_ADD_CPPFLAGS([tarkin],[-I${real_tarkin_tree}])
2460 VLC_ADD_LDFLAGS([tarkin],[${real_tarkin_tree}/mem.o ${real_tarkin_tree}/pnm.o ${real_tarkin_tree}/wavelet.o ${real_tarkin_tree}/wavelet_xform.o ${real_tarkin_tree}/wavelet_coeff.o ${real_tarkin_tree}/yuv.o ${real_tarkin_tree}/tarkin.o ${real_tarkin_tree}/info.o -logg])
2463 dnl The given tarkin tree wasn't built
2465 AC_MSG_ERROR([cannot find ${real_tarkin_tree}/tarkin.o,
2466 make sure you compiled tarkin in ${with_tarkin_tree}])
2472 dnl theora decoder plugin
2474 AC_ARG_ENABLE(theora,
2475 [ --enable-theora experimental theora codec (default disabled)])
2476 if test "${enable_theora}" = "yes"
2478 AC_CHECK_HEADERS(theora/theora.h, [
2479 AC_CHECK_LIB(theora, theora_granule_time, [
2480 if test "${SYS}" = "mingw32"; then
2481 VLC_ADD_PLUGINS([theora])
2483 VLC_ADD_BUILTINS([theora])
2485 theora_libs="-ltheora -logg"
2486 VLC_ADD_LDFLAGS([theora],[${theora_libs}]) ],[
2487 AC_MSG_ERROR([libtheora doesn't appear to be installed on your system.
2488 You also need to check that you have a libogg posterior to the 1.0 release.])],
2494 dnl dirac decoder plugin
2496 AC_ARG_ENABLE(dirac,
2497 [ --enable-dirac experimental dirac codec (default disabled)])
2498 if test "${enable_dirac}" = "yes"; then
2499 AC_CHECK_HEADERS(libdirac_decoder/dirac_parser.h, [
2500 AC_CHECK_LIB(dirac_decoder, dirac_decoder_init, [
2501 VLC_ADD_PLUGINS([dirac])
2502 VLC_ADD_LDFLAGS([dirac],[-ldirac_decoder -ldirac_encoder -lstdc++]) ],[
2503 AC_MSG_ERROR([libdirac doesn't appear to be installed on you system.])],
2509 dnl PNG decoder module
2512 [ --enable-png PNG support (default enabled)])
2513 if test "${enable_png}" != "no"; then
2514 AC_CHECK_HEADERS(png.h, [
2515 LDFLAGS="${LDFLAGS_save} -lz"
2516 AC_CHECK_LIB(png, png_set_rows, [
2517 VLC_ADD_LDFLAGS([png],[-lpng -lz])
2518 VLC_ADD_PLUGINS([png])
2519 AC_DEFINE(HAVE_LIBPNG, [], [Define if you have the PNG library: libpng])],
2521 LDFLAGS="${LDFLAGS_save}"
2526 dnl H264 encoder plugin (using libx264)
2529 [ --enable-x264 H264 encoding support with libx264 (default enabled)])
2530 if test "${enable_x264}" != "no"; then
2531 AC_ARG_WITH(x264-tree,
2532 [ --with-x264-tree=PATH x264 tree for static linking ],[],[])
2533 if test "${with_x264_tree}" != "no" -a -n "${with_x264_tree}"
2535 real_x264_tree="`cd ${with_x264_tree} 2>/dev/null && pwd`"
2536 if test -z "${real_x264_tree}"
2538 dnl The given directory can't be found
2540 AC_MSG_ERROR([${with_x264_tree} directory doesn't exist])
2542 dnl Use a custom libx264
2543 AC_MSG_CHECKING(for x264.h in ${real_x264_tree})
2544 if test -f ${real_x264_tree}/x264.h
2547 VLC_ADD_CPPFLAGS([x264],[-I${real_x264_tree}])
2548 VLC_ADD_LDFLAGS([x264],[-L${real_x264_tree}])
2549 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_x264}"
2550 AC_CHECK_LIB(x264, x264_encoder_open, [
2551 VLC_ADD_BUILTINS([x264])
2552 VLC_ADD_LDFLAGS([x264],[-lx264])
2554 AC_MSG_ERROR([the specified tree hasn't been compiled])
2556 LDFLAGS="${LDFLAGS_save}"
2559 AC_MSG_ERROR([the specified tree doesn't have x264.h])
2562 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_x264}"
2563 AC_CHECK_HEADERS(x264.h, [
2564 AC_CHECK_LIB(x264, x264_encoder_open, [
2565 VLC_ADD_PLUGINS([x264])
2566 VLC_ADD_LDFLAGS([x264],[-lx264])
2568 if test "${enable_x264}" = "yes"; then
2569 AC_MSG_ERROR([Could not find libx264 on your system: you may get it from http://www.videolan.org/x264.html])
2573 LDFLAGS="${LDFLAGS_save}"
2581 [ --enable-cmml CMML support (default enabled)])
2582 if test "${enable_cmml}" != "no"
2584 VLC_ADD_PLUGINS([cmml])
2592 AC_ARG_WITH(,[Video plugins:])
2595 if test "${SYS}" != "mingw32"
2597 CPPFLAGS="${CPPFLAGS_save} -I${x_includes}"
2598 AC_CHECK_HEADERS(X11/extensions/dpms.h, [
2599 AC_MSG_CHECKING(for DPMSInfo in X11/extensions/dpms.h)
2600 AC_EGREP_HEADER(DPMSInfo,X11/extensions/dpms.h,[
2602 AC_DEFINE(DPMSINFO_IN_DPMS_H, 1,
2603 Define if <X11/extensions/dpms.h> defines DPMSInfo.)
2608 #include <X11/Xlib.h>
2610 CPPFLAGS="${CPPFLAGS_save}"
2615 dnl (enabled by default except on win32)
2618 [ --enable-x11 X11 support (default enabled)])
2619 if test "${enable_x11}" != "no" &&
2620 (test "${SYS}" != "mingw32" || test "${enable_x11}" = "yes"); then
2621 CPPFLAGS="${CPPFLAGS_save} -I${x_includes}"
2622 AC_CHECK_HEADERS(X11/Xlib.h, [
2623 VLC_ADD_PLUGINS([x11])
2624 VLC_ADD_LDFLAGS([x11],[-L${x_libraries} -lX11 -lXext])
2625 VLC_ADD_CPPFLAGS([x11],[-I${x_includes}])
2627 CPPFLAGS="${CPPFLAGS_save}"
2632 dnl (enabled by default except on win32)
2634 AC_ARG_ENABLE(xvideo,
2635 [ --enable-xvideo XVideo support (default enabled)])
2636 if test "${enable_xvideo}" != "no" &&
2637 (test "${SYS}" != "mingw32" || test "${enable_xvideo}" = "yes"); then
2638 CPPFLAGS="${CPPFLAGS_save} -I${x_includes}"
2639 AC_CHECK_HEADERS(X11/extensions/Xv.h, [
2640 CFLAGS="${CFLAGS_save} -L${x_libraries} -lX11 -lXext"
2641 AC_CHECK_LIB(Xv,XvPutImage,[
2642 # If libXv.so is available, xvideo can be a plugin. Otherwise, we
2643 # test for libXv_pic.
2644 if test -f /usr/X11R6/lib/libXv.so -o -f "${x_libraries}"/libXv.so; then
2645 VLC_ADD_PLUGINS([xvideo])
2646 VLC_ADD_CPPFLAGS([xvideo],[-I${x_includes}])
2647 VLC_ADD_LDFLAGS([xvideo],[-L${x_libraries} -lX11 -lXext -lXv])
2649 AC_CHECK_LIB(Xv_pic,XvPutImage,[
2650 VLC_ADD_PLUGINS([xvideo])
2651 VLC_ADD_CPPFLAGS([xvideo],[-I${x_includes}])
2652 VLC_ADD_LDFLAGS([xvideo],[-L${x_libraries} -lX11 -lXext -lXv_pic])
2654 VLC_ADD_BUILTINS([xvideo])
2655 VLC_ADD_LDFLAGS([xvideo],[-L${x_libraries} -lX11 -lXext -lXv])
2656 VLC_ADD_CPPFLAGS([xvideo],[-I${x_includes}])
2660 CFLAGS="${CFLAGS_save}"
2662 CPPFLAGS="${CPPFLAGS_save}")
2667 dnl (enabled by default except on win32)
2670 [ --enable-glx X11 OpenGL (GLX) support (default enabled)])
2671 if test "${enable_glx}" != "no" &&
2672 (test "${SYS}" != "mingw32" || test "${enable_glx}" = "yes"); then
2673 CPPFLAGS="${CPPFLAGS_save} -I${x_includes}"
2674 AC_CHECK_HEADERS(X11/Xlib.h, [
2675 AC_CHECK_HEADERS(GL/glx.h, [
2676 VLC_ADD_PLUGINS([glx])
2677 VLC_ADD_LDFLAGS([glx],[-L${x_libraries} -lX11 -lXext -lGL -lGLU])
2678 VLC_ADD_CPPFLAGS([glx],[-I${x_includes}])
2680 CPPFLAGS="${CPPFLAGS_save}"
2684 dnl Check for the Xinerama extension
2686 if test "${enable_xvideo}" != "no" &&
2687 (test "${SYS}" != "mingw32" || test "${enable_xvideo}" = "yes"); then
2688 ac_cv_have_xinerama="no"
2689 CPPFLAGS="${CPPFLAGS_save} -I${x_includes}"
2690 CFLAGS="${CFLAGS_save} -L${x_libraries} -lX11 -lXext"
2691 AC_CHECK_HEADERS(X11/extensions/Xinerama.h,[
2692 AC_CHECK_LIB(Xinerama_pic, XineramaQueryExtension,[
2693 VLC_ADD_LDFLAGS([xvideo],[-lXinerama_pic])
2694 VLC_ADD_LDFLAGS([x11],[-lXinerama_pic])
2695 VLC_ADD_LDFLAGS([glx],[-lXinerama_pic])
2696 ac_cv_have_xinerama="yes"
2698 AC_CHECK_LIB(Xinerama, XineramaQueryExtension,[
2699 VLC_ADD_LDFLAGS([xvideo],[-lXinerama])
2700 VLC_ADD_LDFLAGS([x11],[-lXinerama])
2701 VLC_ADD_LDFLAGS([glx],[-lXinerama])
2702 ac_cv_have_xinerama="yes"
2706 if test "${ac_cv_have_xinerama}" = "yes"; then
2707 AC_DEFINE(HAVE_XINERAMA, 1, [Define this if you have libXinerama installed])
2709 CFLAGS="${CFLAGS_save}"
2710 CPPFLAGS="${CPPFLAGS_save}"
2715 dnl (enabled by default except on beos)
2717 AC_ARG_ENABLE(opengl,
2718 [ --enable-opengl OpenGL support (default enabled)])
2719 if test "${enable_opengl}" != "no" && test "${SYS}" != "beos"; then
2720 if test "${SYS}" != "darwin"; then
2721 AC_CHECK_HEADERS(GL/gl.h, [
2722 VLC_ADD_PLUGINS([opengl])
2723 if test "${SYS}" != "mingw32"; then
2724 VLC_ADD_LDFLAGS([opengl],[-L${x_libraries} -lGL -lGLU])
2726 VLC_ADD_LDFLAGS([opengl],[-lopengl32])
2730 dnl OS X special case (no GL/gl.h but OpenGL/gl.h)
2731 VLC_ADD_PLUGINS([opengl])
2732 VLC_ADD_LDFLAGS([opengl],[-framework OpenGL])
2740 [ --enable-sdl SDL support (default enabled)])
2741 if test "${enable_sdl}" != "no"
2744 AC_ARG_WITH(sdl-config-path,
2745 [ --with-sdl-config-path=PATH sdl-config path (default search in \$PATH)],
2746 [ if test "${with_sdl_config_path}" != "no"
2748 SDL_PATH="${with_sdl_config_path}:${PATH}"
2750 AC_PATH_PROG(SDL12_CONFIG, sdl12-config, no, ${SDL_PATH})
2751 SDL_CONFIG="${SDL12_CONFIG}"
2752 SDL_HEADER="SDL12/SDL.h"
2753 if test "${SDL_CONFIG}" = "no"
2755 AC_PATH_PROG(SDL11_CONFIG, sdl11-config, no, ${SDL_PATH})
2756 SDL_CONFIG=${SDL11_CONFIG}
2757 SDL_HEADER="SDL11/SDL.h"
2759 if test "${SDL_CONFIG}" = "no"
2761 AC_PATH_PROG(SDL_CONFIG, sdl-config, no, ${SDL_PATH})
2762 SDL_HEADER="SDL/SDL.h"
2764 # check for cross-compiling
2766 AC_ARG_WITH(sdl-prefix,
2767 [ --with-sdl-prefix=PATH path to libsdl (needed for cross-compiling),
2769 --with-sdl-prefix=/usr/local/arm/2.95.3/arm-linux/usr)],[],[])
2770 if test "${with_sdl_prefix}" != "no" -a -n "${with_sdl_prefix}"
2772 SDL_PREFIX="--prefix=${with_sdl_prefix}"
2774 if test "${SDL_CONFIG}" != "no"
2776 VLC_ADD_PLUGINS([vout_sdl aout_sdl])
2777 VLC_ADD_CFLAGS([vout_sdl aout_sdl],[`${SDL_CONFIG} ${SDL_PREFIX} --cflags | sed 's,SDL,,'`])
2778 VLC_ADD_LDFLAGS([vout_sdl aout_sdl],[`${SDL_CONFIG} ${SDL_PREFIX} --libs | sed 's,-rdynamic,,'`])
2779 CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_vout_sdl}"
2780 AC_CHECK_HEADERS(${SDL_HEADER}, AC_DEFINE_UNQUOTED(SDL_INCLUDE_FILE,
2781 <${SDL_HEADER}>, Indicate whether we should use SDL/SDL.h or SDL11/SDL.h),
2782 [ AC_CHECK_HEADERS(SDL.h, AC_DEFINE(SDL_INCLUDE_FILE, <SDL.h>,
2783 As a last resort we also test for SDL.h presence),
2784 [ AC_MSG_ERROR([The development package for SDL is not installed.
2785 Please install it and try again. Alternatively you can also configure with
2788 CPPFLAGS="${CPPFLAGS_save}"
2789 if expr 1.1.5 \> `${SDL_CONFIG} --version` >/dev/null
2791 AC_MSG_ERROR([The development package for SDL is not installed.
2792 Please install it and try again. Alternatively you can also configure with
2795 elif test "${enable_sdl}" = "yes"
2797 AC_MSG_ERROR([I couldn't find the SDL package. You can download libSDL
2798 from http://www.libsdl.org/, or configure with --disable-sdl. Have a nice day.
2806 AC_ARG_ENABLE(freetype,
2807 [ --enable-freetype freetype support (default enabled)])
2808 AC_ARG_ENABLE(fribidi,
2809 [ --enable-fribidi fribidi support (default enabled)])
2810 if test "${enable_freetype}" != "no"
2812 FREETYPE_PATH="${PATH}"
2813 AC_ARG_WITH(freetype-config-path,
2814 [ --with-freetype-config-path=PATH freetype-config path (default search in \$PATH)],
2815 [ if test "${with_freetype_config_path}" != "no"
2817 FREETYPE_PATH="${with_freetype_config_path}:${PATH}"
2819 AC_PATH_PROG(FREETYPE_CONFIG, freetype-config, no, ${FREETYPE_PATH})
2821 if test "${FREETYPE_CONFIG}" != "no"
2823 VLC_ADD_PLUGINS([freetype])
2824 VLC_ADD_CFLAGS([freetype],[`${FREETYPE_CONFIG} --cflags`])
2825 VLC_ADD_LDFLAGS([freetype],[`${FREETYPE_CONFIG} --libs`])
2826 AC_CHECK_HEADERS(Carbon/Carbon.h,
2827 [VLC_ADD_LDFLAGS([freetype],[-framework Carbon])])
2828 elif test "${enable_freetype}" = "yes"
2830 AC_MSG_ERROR([I couldn't find the freetype package. You can download libfreetype2
2831 from http://www.freetype.org/, or configure with --disable-freetype. Have a nice day.
2836 if test "${enable_fribidi}" != "no"
2838 FRIBIDI_PATH="${PATH}"
2839 AC_ARG_WITH(fribidi-config-path,
2840 [ --with-fribidi-config-path=PATH fribidi-config path (default search in \$PATH)],
2841 [ if test "${with_fribidi_config_path}" != "no"
2843 FRIBIDI_PATH="${with_fribidi_config_path}:${PATH}"
2845 AC_PATH_PROG(FRIBIDI_CONFIG, fribidi-config, no, ${FRIBIDI_PATH})
2847 if test "${FRIBIDI_CONFIG}" != "no"
2849 VLC_ADD_CFLAGS([freetype], [`${FRIBIDI_CONFIG} --cflags` -DHAVE_FRIBIDI])
2850 VLC_ADD_LDFLAGS([freetype], [`${FRIBIDI_CONFIG} --libs`])
2858 AC_ARG_ENABLE(libxml2,
2859 [ --enable-libxml2 libxml2 support (default enabled)])
2860 if test "${enable_libxml2}" != "no"
2863 AC_ARG_WITH(xml2-config-path,
2864 [ --with-xml2-config-path=PATH xml2-config path (default search in \$PATH)],
2865 [ if test "${with_xml2_config_path}" != "no"; then
2866 XML2_PATH="${with_xml2_config_path}:${PATH}"
2868 AC_PATH_PROG(XML2_CONFIG, xml2-config, no, ${XML2_PATH})
2869 if test "${XML2_CONFIG}" != "no"; then
2870 VLC_ADD_CPPFLAGS([xml],[`${XML2_CONFIG} --cflags`])
2871 VLC_ADD_LDFLAGS([xml],[`${XML2_CONFIG} --libs`])
2872 dnl depends on the xmlTextReader extension
2873 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_xml}"
2874 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_xml}"
2875 AC_CHECK_LIB(xml2,xmlTextReaderConstName,[
2876 AC_EGREP_HEADER(xmlTextReaderConstName,libxml/xmlreader.h,[
2877 VLC_ADD_PLUGINS([xml]) ],[
2878 AC_MSG_WARN([libxml2 missing the xmlTextReader extension, you should update your version])
2879 if test "${enable_xml2}" = "yes"; then
2880 AC_MSG_ERROR([libxml2 missing the xmlTextReader extension])
2883 AC_MSG_WARN([libxml2 missing the xmlTextReader extension, you should update your version])
2884 if test "${enable_xml2}" = "yes"; then
2885 AC_MSG_ERROR([libxml2 missing the xmlTextReader extension])
2887 LDFLAGS="${LDFLAGS_save}"
2888 CPPFLAGS="${CPPFLAGS_save}"
2890 if test "${enable_xml2}" = "yes"; then
2891 AC_MSG_ERROR([Could not find libxml2])
2900 [ --enable-svg SVG support (default disabled)])
2901 if test "${enable_svg}" == "yes"
2903 PKG_CHECK_MODULES(SVG,
2904 librsvg-2.0 >= 2.5.0,
2906 VLC_ADD_LDFLAGS([svg],[$SVG_LIBS])
2907 VLC_ADD_CFLAGS([svg],[$SVG_CFLAGS])
2908 VLC_ADD_PLUGINS([svg]) ],
2909 [AC_MSG_WARN(SVG library not found)])
2913 dnl Qt Embedded module
2914 dnl (disabled by default)
2917 [ --enable-qte QT Embedded support (default disabled)])
2918 if test "${enable_qte}" = "yes"
2921 [ --with-qte=PATH Qt Embedded headers and libraries])
2922 if test "${with_qte}" != "no" -a -n "${with_qte}"
2924 VLC_ADD_LDFLAGS([qte],[-L${with_qte}/lib `echo -L${with_qte}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte])
2925 VLC_ADD_CXXFLAGS([qte],[-I${with_qte}/include `echo -I${with_qte}/include | sed 's,opt/QtPalmtop,usr,'` -DQT_QWS_IPAQ -DQWS -fno-exceptions -fno-rtti])
2927 VLC_ADD_LDFLAGS([qte],[-L${QTDIR}/lib `echo -L${QTDIR}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte])
2928 VLC_ADD_CXXFLAGS([qte],[-I${QTDIR}/include `echo -I${QTDIR}/include | sed 's,opt/QtPalmtop,usr,'` -DQT_QWS_IPAQ -DQWS -fno-exceptions -fno-rtti])
2930 VLC_ADD_PLUGINS([qte])
2932 CPPFLAGS="${CPPFLAGS_save} ${CXXFLAGS_qte}"
2933 AC_CHECK_HEADERS(qt.h jpeglib.h, ,[
2934 AC_MSG_ERROR([echo "Cannot find QT Embedded development headers."])
2936 CPPFLAGS="${CPPFLAGS_save}"
2940 dnl Qt Video output module
2941 dnl (disabled by default)
2943 dnl AC_ARG_ENABLE(qt_video,
2944 dnl [ --enable-qt_video QT Video Output support (default disabled)])
2945 dnl if test "${enable_qt_video}" = "yes"
2947 dnl VLC_ADD_PLUGINS([qt_video])
2948 dnl VLC_ADD_LDFLAGS([qt_video],[-L${QTDIR}/lib])
2949 dnl LDFLAGS="${LDFLAGS_save} ${LDFLAGS_qt_video}"
2950 dnl AC_CHECK_LIB(qt-mt,main,[
2951 dnl VLC_ADD_LDFLAGS([qt_video],[-lqt-mt])
2953 dnl AC_CHECK_LIB(qt,main,[
2954 dnl VLC_ADD_LDFLAGS([qt_video],[-lqt])
2957 dnl NEED_QTE_MAIN=yes
2958 dnl LDFLAGS="${LDFLAGS_save}"
2959 dnl VLC_ADD_CXXFLAGS([qt_video],[-I/usr/include/qt3 -I/usr/include/qt -I${QTDIR}/include])
2963 dnl Roku HD1000 Video output module
2965 AC_ARG_ENABLE(hd1000v,
2966 [ --enable-hd1000v HD1000 Video Output module (default enabled on HD1000)])
2967 if test "${enable_hd1000v}" != "no" -a "${CXX}" != "" &&
2968 (test "${SYS}" != "mingw32" || test "${enable_hd1000v}" = "yes")
2971 AC_CHECK_HEADERS([cascade/graphics/CascadeScreen.h cascade/graphics/CascadeBitmap.h],
2973 can_build_roku="yes"
2977 AC_MSG_WARN([Not building Roku HD1000 compatible video output])
2979 if test "$can_build_roku" = "yes"
2981 VLC_ADD_PLUGINS([hd1000v])
2982 VLC_ADD_LDFLAGS([hd1000v],[-lCascade -ldvbpsi -lmad])
2988 dnl Windows DirectX module
2990 AC_ARG_ENABLE(directx,
2991 [ --enable-directx Win32 DirectX support (default enabled on Win32)])
2992 if test "${enable_directx}" != "no"
2994 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
2996 AC_ARG_WITH(directx,
2997 [ --with-directx=PATH Win32 DirectX headers])
2998 if test -z "${with_directx}"
3000 AC_CHECK_HEADERS(ddraw.h,
3001 [ VLC_ADD_PLUGINS([vout_directx aout_directx])
3002 VLC_ADD_LDFLAGS([vout_directx],[-lgdi32])
3003 dnl to be moved when dependance is removed
3004 AC_CHECK_HEADERS(GL/gl.h, [
3005 VLC_ADD_PLUGINS([glwin32])
3006 VLC_ADD_LDFLAGS([glwin32],[-lopengl32 -lgdi32])
3009 AC_MSG_CHECKING(for directX headers in ${with_directx})
3010 if test -f ${with_directx}/ddraw.h
3012 VLC_ADD_PLUGINS([vout_directx aout_directx])
3013 VLC_ADD_CPPFLAGS([vout_directx aout_directx],[-I${with_directx}])
3014 VLC_ADD_LDFLAGS([vout_directx],[-lgdi32])
3018 AC_MSG_ERROR([Cannot find ${with_directx}/ddraw.h!])
3025 dnl Linux framebuffer module
3028 [ --enable-fb Linux framebuffer support (default enabled on Linux)])
3029 if test "${enable_fb}" != "no"
3031 AC_CHECK_HEADERS(linux/fb.h, [
3032 VLC_ADD_PLUGINS([fb])
3037 dnl Linux MGA module
3040 [ --enable-mga Linux kernel Matrox support (default disabled)],
3041 [ if test "${enable_mga}" = "yes"
3043 VLC_ADD_PLUGINS([mga])
3049 AC_ARG_ENABLE(svgalib,
3050 [ --enable-svgalib SVGAlib support (default disabled)])
3051 if test "${enable_svgalib}" = "yes"
3053 VLC_ADD_PLUGINS([svgalib])
3054 VLC_ADD_LDFLAGS([svgalib],[-lvgagl -lvga])
3061 [ --enable-ggi GGI support (default disabled)])
3062 if test "${enable_ggi}" = "yes"
3064 VLC_ADD_PLUGINS([ggi])
3065 VLC_ADD_LDFLAGS([ggi],[-lggi])
3067 [ --with-ggi=PATH path to libggi],
3068 [ if test "${with_ggi}" != "no" -a -n "${with_ggi}"
3070 VLC_ADD_CPPFLAGS([ggi],[-I${with_ggi}/include])
3071 VLC_ADD_LDFLAGS([ggi],[-L${with_ggi}/lib])
3078 AC_ARG_ENABLE(glide,
3079 [ --enable-glide Glide (3dfx) support (default disabled)])
3080 if test "${enable_glide}" = "yes"
3082 VLC_ADD_PLUGINS([glide])
3083 VLC_ADD_LDFLAGS([glide],[-lglide2x -lm])
3084 VLC_ADD_CPPFLAGS([glide],[-I/usr/include/glide])
3086 [ --with-glide=PATH path to libglide],
3087 [ if test "${with_glide}" != "no" -a -n "${with_glide}"
3089 VLC_ADD_CPPFLAGS([glide],[-I${with_glide}/include])
3090 VLC_ADD_LDFLAGS([glide],[-L${with_glide}/lib])
3098 [ --enable-aa aalib output (default disabled)])
3099 if test "${enable_aa}" = "yes"
3101 AC_CHECK_HEADER(aalib.h,have_aa="true",have_aa="false")
3102 if test "${have_aa}" = "true"
3104 VLC_ADD_PLUGINS([aa])
3105 VLC_ADD_LDFLAGS([aa],[-laa])
3113 [ --enable-caca libcaca output (default disabled)])
3114 if test "${enable_caca}" = "yes"
3117 AC_ARG_WITH(caca-config-path,
3118 [ --with-caca-config-path=PATH caca-config path (default search in \$PATH)],
3119 [ if test "${with_caca_config_path}" != "no"
3121 CACA_PATH="${with_caca_config_path}:${PATH}"
3123 AC_PATH_PROG(CACA_CONFIG, caca-config, no, ${CACA_PATH})
3124 if test "${CACA_CONFIG}" != "no"
3126 VLC_ADD_PLUGINS([caca])
3127 VLC_ADD_CFLAGS([caca],[`${CACA_CONFIG} --cflags`])
3128 VLC_ADD_LDFLAGS([caca],[`${CACA_CONFIG} --plugin-libs`])
3133 dnl win32 GDI plugin
3135 AC_ARG_ENABLE(wingdi,
3136 [ --enable-wingdi Win32 GDI module (default enabled on Win32)])
3137 if test "${enable_wingdi}" != "no"; then
3138 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"; then
3139 VLC_ADD_PLUGINS([wingdi])
3140 VLC_ADD_LDFLAGS([wingdi],[-lgdi32])
3148 AC_ARG_WITH(,[Audio plugins:])
3151 dnl OSS /dev/dsp module (enabled by default except on win32)
3154 [ --enable-oss Linux OSS /dev/dsp support (enabled on Linux)])
3156 if test "${enable_oss}" != "no" &&
3157 (test "${SYS}" != "mingw32" || test "${enable_oss}" = "yes")
3159 AC_CHECK_HEADERS(soundcard.h sys/soundcard.h machine/soundcard.h, [
3160 VLC_ADD_PLUGINS([oss])
3161 AC_CHECK_LIB(ossaudio,main,VLC_ADD_LDFLAGS([oss],[-lossaudio]))
3169 [ --enable-esd Esound library support (default disabled)],
3170 [if test "${enable_esd}" = "yes"
3172 AC_PATH_PROG(ESD_CONFIG, esd-config, no)
3173 if test "${ESD_CONFIG}" != "no"
3175 VLC_ADD_PLUGINS([esd])
3176 VLC_ADD_CFLAGS([esd],[`${ESD_CONFIG} --cflags`])
3177 VLC_ADD_LDFLAGS([esd],[`${ESD_CONFIG} --libs`])
3182 dnl Portaudio module
3184 AC_ARG_ENABLE(portaudio,
3185 [ --enable-portaudio Portaudio library support (default disabled)],
3186 [if test "${enable_portaudio}" = "yes"
3188 VLC_ADD_PLUGINS([portaudio])
3189 VLC_ADD_CXXFLAGS([portaudio],[])
3190 if test "${SYS}" = "mingw32"; then
3191 VLC_ADD_LDFLAGS([portaudio],[-lportaudio -lwinmm -lole32])
3193 VLC_ADD_LDFLAGS([portaudio],[-lportaudio])
3201 [ --enable-arts aRts sound server (default disabled)],
3202 [if test "${enable_arts}" = "yes"
3204 AC_PATH_PROG(ARTS_CONFIG, artsc-config, no)
3205 if test "${ARTS_CONFIG}" != "no"
3207 VLC_ADD_PLUGINS([arts])
3208 VLC_ADD_CFLAGS([arts],[`${ARTS_CONFIG} --cflags`])
3209 VLC_ADD_LDFLAGS([arts],[`${ARTS_CONFIG} --libs `])
3217 [ --enable-alsa ALSA sound support for Linux (default enabled)],
3218 [if test "${enable_alsa}" != "no"
3220 AC_CHECK_HEADER(alsa/asoundlib.h, AC_CHECK_LIB(asound, main, have_alsa="true", have_alsa="false"),have_alsa="false")
3221 if test "${have_alsa}" = "true"
3223 AC_TRY_COMPILE([#define ALSA_PCM_NEW_HW_PARAMS_API
3224 #define ALSA_PCM_NEW_SW_PARAMS_API
3225 #include <alsa/asoundlib.h>],
3226 [void foo() { snd_pcm_hw_params_get_period_time(0,0,0); }],
3227 AC_DEFINE(HAVE_ALSA_NEW_API, 1, Define if ALSA is at least rc4))
3228 VLC_ADD_PLUGINS([alsa])
3229 VLC_ADD_LDFLAGS([alsa],[-lasound -lm -ldl])
3231 if test "${enable_alsa}" = "yes"; then
3232 AC_MSG_ERROR([Could not find ALSA development headers])
3238 dnl win32 waveOut plugin
3240 AC_ARG_ENABLE(waveout,
3241 [ --enable-waveout Win32 waveOut module (default enabled on Win32)])
3242 if test "${enable_waveout}" != "no"; then
3243 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"; then
3244 VLC_ADD_PLUGINS([waveout])
3245 VLC_ADD_LDFLAGS([waveout],[-lwinmm])
3250 dnl CoreAudio plugin
3252 AC_ARG_ENABLE(coreaudio,
3253 [ --enable-coreaudio CoreAudio module (default enabled on MacOS X)])
3254 if test "${enable_coreaudio}" != "no" &&
3255 (test "${SYS}" = "darwin" || test "${enable_coreaudio}" = "yes")
3257 AC_CHECK_HEADERS(CoreAudio/CoreAudio.h,
3258 [ VLC_ADD_BUILTINS([coreaudio])
3259 VLC_ADD_LDFLAGS([coreaudio],[-framework CoreAudio])
3260 AC_MSG_CHECKING(for kAudioConverterPrimeMethod in AudioToolbox/AudioConverter.h)
3261 AC_EGREP_HEADER(kAudioConverterPrimeMethod,AudioToolbox/AudioConverter.h,[
3263 VLC_ADD_PLUGINS([coreaudio_resampler])
3264 VLC_ADD_LDFLAGS([coreaudio_resampler],[-framework AudioToolbox])
3265 ],[ AC_MSG_RESULT(no) ])
3266 ], [ AC_MSG_ERROR([cannot find CoreAudio headers]) ])
3270 dnl Roku HD1000 audio
3272 AC_ARG_ENABLE(hd1000a,
3273 [ --enable-hd1000a HD1000 audio module (default enabled on HD1000)])
3274 if test "${enable_hd1000a}" != "no" -a "${CXX}" != "" &&
3275 (test "${SYS}" != "mingw32" || test "${enable_hd1000a}" = "yes")
3278 AC_CHECK_HEADERS(deschutes/libraries/hdmachinex225/PCMAudioPlayer.h, [
3279 VLC_ADD_PLUGINS([hd1000a])
3280 AC_CHECK_LIB(HDMachineX225,main,VLC_ADD_LDFLAGS([hd1000a],[-lHDMachineX225])) ])
3285 dnl Interface plugins
3288 AC_ARG_WITH(,[Interface plugins:])
3290 dnl special case for BeOS
3291 if test "${SYS}" = "beos"
3293 VLC_ADD_BUILTINS([beos])
3299 AC_ARG_ENABLE(skins2,
3300 [ --enable-skins2 Skins2 interface module (experimental)])
3301 if test "${enable_skins2}" = "yes" || (test "${SYS}" != "darwin" && test "${SYS}" != "beos" && test "${enable_skins2}" != "no"); then
3303 dnl test for the required libraries
3304 skins2_missing_lib="no"
3307 if test "${FREETYPE_CONFIG}" != "no"; then
3308 VLC_ADD_CPPFLAGS([skins2],[`${FREETYPE_CONFIG} --cflags`])
3309 VLC_ADD_LDFLAGS([skins2],[`${FREETYPE_CONFIG} --libs`])
3311 skins2_missing_lib="yes"
3312 if test "${enable_skins2}" = "yes"; then
3313 AC_MSG_ERROR([Could not find freetype (required for skins2)])
3317 if test "${skins2_missing_lib}" = "no" && (test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"); then
3318 VLC_ADD_PLUGINS([skins2])
3319 ALIASES="${ALIASES} svlc"
3320 VLC_ADD_CPPFLAGS([skins2],[-U_OFF_T_ -U_off_t -Imodules/gui/skins2 -DWIN32_SKINS])
3321 VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
3322 VLC_ADD_LDFLAGS([skins2],[-loleaut32 -lwinspool -lwinmm -lshell32 -lctl3d32 -ladvapi32 -lwsock32 -lgdi32 -lcomdlg32 -lole32 -luuid -lcomctl32])
3324 else if test "${skins2_missing_lib}" = "no"; then
3325 VLC_ADD_PLUGINS([skins2])
3326 ALIASES="${ALIASES} svlc"
3327 VLC_ADD_CPPFLAGS([skins2],[-Imodules/gui/skins2 -I${x_includes} -DX11_SKINS])
3328 VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
3329 VLC_ADD_LDFLAGS([skins2],[-L${x_libraries} -lXext -lX11])
3337 dnl AC_ARG_ENABLE(gtk,
3338 dnl [ --enable-gtk Gtk+ support (default enabled)])
3339 dnl if test "${enable_gtk}" != "no"
3341 dnl GTK_PATH="${PATH}"
3342 dnl AC_ARG_WITH(gtk-config-path,
3343 dnl [ --with-gtk-config-path=PATH gtk-config path (default search in \$PATH)],
3344 dnl [ if test "${with_gtk_config_path}" != "no"
3346 dnl GTK_PATH="${with_gtk_config_path}:${PATH}"
3348 dnl # look for gtk-config
3349 dnl AC_PATH_PROG(GTK12_CONFIG, gtk12-config, no, ${GTK_PATH})
3350 dnl GTK_CONFIG=${GTK12_CONFIG}
3351 dnl if test "${GTK_CONFIG}" = "no"
3353 dnl AC_PATH_PROG(GTK_CONFIG, gtk-config, no, ${GTK_PATH})
3355 dnl if test "${GTK_CONFIG}" != "no"
3357 dnl if expr 1.2.0 \> `${GTK_CONFIG} --version` >/dev/null
3359 dnl 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.])
3361 dnl if test "${SYS}" != "mingw32"; then
3362 dnl VLC_ADD_CFLAGS([gtk],[`${GTK_CONFIG} --cflags gtk gthread`])
3363 dnl VLC_ADD_LDFLAGS([gtk],[`${GTK_CONFIG} --libs gtk gthread | sed 's,-rdynamic,,'`])
3365 dnl VLC_ADD_CFLAGS([gtk],[`${GTK_CONFIG} --cflags gtk`])
3366 dnl VLC_ADD_LDFLAGS([gtk],[`${GTK_CONFIG} --libs gtk | sed 's,-rdynamic,,'`])
3368 dnl # now look for the gtk.h header
3369 dnl CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_gtk}"
3370 dnl ac_cv_gtk_headers=yes
3371 dnl AC_CHECK_HEADERS(gtk/gtk.h glib.h gdk/gdk.h, , [
3372 dnl ac_cv_gtk_headers=no
3373 dnl echo "Cannot find gtk development headers."
3375 dnl if test "${ac_cv_gtk_headers}" = "yes"
3377 dnl VLC_ADD_PLUGINS([gtk])
3378 dnl if test "${SYS}" != "mingw32"; then
3379 dnl NEED_GTK_MAIN=yes
3381 dnl ALIASES="${ALIASES} gvlc"
3383 dnl CPPFLAGS="${CPPFLAGS_save}"
3388 dnl Gtk+2 module ! Disabled for now as it is unusable and confuses users
3390 dnl AC_ARG_ENABLE(gtk2,
3391 dnl [ --enable-gtk2 Gtk2 support (default disabled)])
3392 dnl if test "${enable_gtk2}" = "yes"
3394 dnl PKG_CHECK_MODULES(GTK2, [gtk+-2.0 >= 2.0.0, gthread-2.0])
3395 dnl VLC_ADD_CFLAGS([gtk2],[${GTK2_CFLAGS}])
3396 dnl VLC_ADD_LDFLAGS([gtk2],[${GTK2_LIBS}])
3397 dnl VLC_ADD_PLUGINS([gtk2])
3398 dnl if test "${SYS}" != "mingw32"; then
3399 dnl NEED_GTK2_MAIN=yes
3404 dnl PDA Gtk+2 module
3407 [ --enable-pda PDA interface needs Gtk2 support (default disabled)])
3408 if test "${enable_pda}" = "yes"
3410 PKG_CHECK_MODULES(GTK2, [gtk+-2.0 >= 2.0.0, gthread-2.0])
3411 VLC_ADD_CFLAGS([gtk2],[${GTK2_CFLAGS}])
3412 VLC_ADD_LDFLAGS([gtk2],[${GTK2_LIBS}])
3413 VLC_ADD_CFLAGS([pda],[${GTK2_CFLAGS} ${CFLAGS_pda}])
3414 VLC_ADD_LDFLAGS([pda],[${GTK2_LIBS} ${LDFLAGS_pda}])
3415 VLC_ADD_PLUGINS([pda])
3416 if test "${SYS}" != "mingw32"; then
3422 dnl dnl Gnome module
3424 dnl AC_ARG_ENABLE(gnome,
3425 dnl [ --enable-gnome Gnome interface support (default disabled)],
3426 dnl [if test "${enable_gnome}" = "yes"; then
3427 dnl # look for gnome-config
3428 dnl AC_PATH_PROG(GNOME_CONFIG, gnome-config, no)
3429 dnl if test -x ${GNOME_CONFIG}
3431 dnl VLC_ADD_CFLAGS([gnome],[`${GNOME_CONFIG} --cflags gtk gnomeui`])
3432 dnl VLC_ADD_LDFLAGS([gnome],[`${GNOME_CONFIG} --libs gnomeui | sed 's,-rdynamic,,'`])
3434 dnl # now look for the gnome.h header
3435 dnl CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_gnome}"
3436 dnl AC_CHECK_HEADERS(gnome.h, [
3437 dnl VLC_ADD_PLUGINS([gnome])
3438 dnl NEED_GTK_MAIN=yes
3439 dnl NEED_GNOME_MAIN=yes
3440 dnl ALIASES="${ALIASES} gnome-vlc"
3441 dnl dnl We need this because of some moronic gnomesupport.h flavours
3442 dnl AC_MSG_CHECKING(for strndup in gnome.h)
3443 dnl AC_EGREP_HEADER(strndup,gnome.h,[
3444 dnl AC_MSG_RESULT(yes)
3445 dnl AC_DEFINE(STRNDUP_IN_GNOME_H, 1,
3446 dnl Define if <gnome.h> defines strndup.)],[
3447 dnl AC_MSG_RESULT(no)])
3449 dnl AC_MSG_ERROR([Can't find gnome headers. Please install the gnome
3450 dnl developement tools or remove the --enable-gnome option])
3452 dnl CPPFLAGS="${CPPFLAGS_save}"
3456 dnl Gnome2 module ! Disabled for know as it is unuseable and confuses users
3458 dnl AC_ARG_ENABLE(gnome2,
3459 dnl [ --enable-gnome2 Gnome2 support (default disabled)])
3460 dnl if test "${enable_gnome2}" = "yes"
3462 dnl PKG_CHECK_MODULES(GNOME2, [libgnomeui-2.0])
3463 dnl VLC_ADD_CFLAGS([gnome2],[${GNOME2_CFLAGS}])
3464 dnl VLC_ADD_LDFLAGS([gnome2],[${GNOME2_LIBS}])
3465 dnl VLC_ADD_PLUGINS([gnome2])
3466 dnl if test "${SYS}" != "mingw32"; then
3467 dnl NEED_GNOME2_MAIN=yes
3472 dnl wxWindows module
3474 AC_ARG_ENABLE(wxwindows,
3475 [ --enable-wxwindows wxWindows support (default enabled)])
3476 if test "${enable_wxwindows}" != "no"
3478 WXWINDOWS_PATH="${PATH}"
3479 AC_ARG_WITH(wx-config-path,
3480 [ --with-wx-config-path=PATH wx-config path (default search in \$PATH)],
3481 [ if test "${with_wx_config_path}" != "no"
3483 WXWINDOWS_PATH="${with_wx_config_path}:${PATH}"
3485 # look for wx-config
3486 AC_PATH_PROG(WX_CONFIG, wx-config, no, ${WXWINDOWS_PATH})
3487 if test "${WX_CONFIG}" != "no" -a "${CXX}" != ""
3489 if expr 2.3.0 \> `${WX_CONFIG} --version` >/dev/null
3491 AC_MSG_ERROR([Your development package for wxWindows is too old, you need at least version 2.3.0. Please upgrade and try again. Alternatively you can also configure with --disable-wxwindows.])
3495 # playlist.cpp:1351: error: ISO C++ forbids cast to non-reference type
3496 # into a warning. However better would be to fix playlist.cpp
3497 AC_CACHE_CHECK([if \$CXX accepts -fpermissive],
3498 [ac_cv_cxx_fpermissive],
3499 [CXXFLAGS="${CXXFLAGS_save} -fpermissive"
3500 AC_TRY_COMPILE([],,ac_cv_cxx_fpermissive=yes,
3501 ac_cv_cxx_fpermissive=no)])
3502 if test "${ac_cv_cxx_fpermissive}" = "yes"; then
3503 VLC_ADD_CXXFLAGS([wxwindows],-fpermissive)
3505 VLC_ADD_CXXFLAGS([wxwindows],[`${WX_CONFIG} --cxxflags`])
3506 VLC_ADD_LDFLAGS([wxwindows],[`${WX_CONFIG} --libs`])
3507 # now look for the wxprec.h header
3508 CPPFLAGS="${CPPFLAGS_save} ${CXXFLAGS_wxwindows}"
3509 ac_cv_wx_headers=yes
3510 AC_CHECK_HEADERS(wx/wxprec.h, , [
3512 echo "Cannot find wxWindows development headers."
3514 if test "${ac_cv_wx_headers}" = "yes"
3516 VLC_ADD_PLUGINS([wxwindows])
3517 ALIASES="${ALIASES} wxvlc"
3519 CPPFLAGS="${CPPFLAGS_save}"
3525 dnl Simple test for skins2 dependency
3527 if test "${enable_skins2}" != "no"
3529 if test "${WX_CONFIG}" = "no"
3531 AC_MSG_ERROR([The skins2 module depends on the wxWindows development package. Without it you won't be able to open any dialog box from the interface, which makes the skins2 interface rather useless. Install the wxWindows development package or alternatively you can also configure with: --disable-wxwindows --disable-skins2.])
3538 dnl AC_ARG_ENABLE(qt,
3539 dnl [ --enable-qt Qt interface support (default disabled)],
3540 dnl [if test "${enable_qt}" = "yes"; then
3541 dnl VLC_ADD_PLUGINS([qt])
3542 dnl ALIASES="${ALIASES} qvlc"
3543 dnl VLC_ADD_LDFLAGS([qt],[-L${QTDIR}/lib])
3544 dnl LDFLAGS="${LDFLAGS_save} ${LDFLAGS_qt}"
3545 dnl AC_CHECK_LIB(qt-mt,main,[
3546 dnl VLC_ADD_LDFLAGS([qt],[-lqt-mt])
3548 dnl AC_CHECK_LIB(qt,main,[
3549 dnl VLC_ADD_LDFLAGS([qt],[-lqt])
3552 dnl LDFLAGS="${LDFLAGS_save}"
3553 dnl VLC_ADD_CXXFLAGS([qt],[-I/usr/include/qt3 -I/usr/include/qt -I${QTDIR}/include])
3554 dnl if test -x ${QTDIR}/bin/moc
3556 dnl MOC=${QTDIR}/bin/moc
3565 dnl AC_ARG_ENABLE(kde,
3566 dnl [ --enable-kde KDE interface support (default disabled)],
3567 dnl [if test "${enable_kde}" = "yes"; then
3568 dnl VLC_ADD_PLUGINS([kde])
3569 dnl ALIASES="${ALIASES} kvlc"
3570 dnl VLC_ADD_LDFLAGS([kde],[-L${KDEDIR}/lib])
3571 dnl dnl Check for -lkfile (only in KDE 2) or -lkdeui -lkio (KDE 3)
3572 dnl LDFLAGS="${LDFLAGS_save} ${LDFLAGS_kde}"
3573 dnl AC_CHECK_LIB(kfile,main,[
3574 dnl VLC_ADD_LDFLAGS([kde],[-lkfile])
3576 dnl LDFLAGS="${LDFLAGS_save} ${LDFLAGS_kde}"
3577 dnl AC_CHECK_LIB(kdeui,main,[
3578 dnl VLC_ADD_LDFLAGS([kde],[-lkdeui])
3580 dnl LDFLAGS="${LDFLAGS_save} ${LDFLAGS_kde}"
3581 dnl AC_CHECK_LIB(kio,main,[
3582 dnl VLC_ADD_LDFLAGS([kde],[-lkio])
3584 dnl LDFLAGS="${LDFLAGS_save}"
3585 dnl VLC_ADD_CXXFLAGS([kde],[-I/usr/include/kde -I/usr/include/qt3 -I/usr/include/qt])
3586 dnl VLC_ADD_CXXFLAGS([kde],[-I${KDEDIR}/include -I${QTDIR}/include])
3587 dnl if test -x ${QTDIR}/bin/moc
3589 dnl MOC=${QTDIR}/bin/moc
3596 dnl Opie QT embedded module
3599 [ --enable-opie Qt embedded interface support (default disabled)],
3600 [if test "${enable_opie}" = "yes"; then
3602 [ --with-qte=PATH Qt Embedded headers and libraries])
3603 if test "${with_qte}" != "no" -a -n "${with_qte}"
3605 VLC_ADD_LDFLAGS([qte],[-L${with_qte}/lib `echo -L${with_qte}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte])
3606 VLC_ADD_CXXFLAGS([qte],[-I${with_qte}/include `echo -I${with_qte}/include | sed 's,opt/QtPalmtop,usr,'` -DQT_QWS_IPAQ -DQWS -fno-exceptions -fno-rtti])
3608 VLC_ADD_LDFLAGS([qte],[-L${QTDIR}/lib `echo -L${QTDIR}/lib | sed 's,opt/QtPalmtop,usr,'`])
3609 VLC_ADD_CXXFLAGS([qte],[-I${QTDIR}/include `echo -I${QTDIR}/include | sed 's,opt/QtPalmtop,usr,'`])
3611 CPPFLAGS="${CPPFLAGS_save} ${CXXFLAGS_qte}"
3612 AC_CHECK_HEADERS(qt.h jpeglib.h, ,[
3613 AC_MSG_ERROR([echo "Cannot find QT Embedded development headers."])
3615 CPPFLAGS="${CPPFLAGS_save}"
3617 VLC_ADD_PLUGINS([opie])
3619 VLC_ADD_LDFLAGS([opie],[-lqpe ${LDFLAGS_qte}])
3620 VLC_ADD_CXXFLAGS([opie],[${CXXFLAGS_qte}])
3621 if test "${with_qte}" != "no" -a -n "${with_qte}"
3623 MOC=${with_qte}/bin/moc
3625 MOC=${QTDIR}/bin/moc
3632 AC_ARG_ENABLE(macosx,
3633 [ --enable-macosx MacOS X support (default enabled on MacOS X)],
3634 [if test "${enable_macosx}" = "yes"
3636 VLC_ADD_BUILTINS([macosx])
3637 VLC_ADD_LDFLAGS([macosx],[-framework IOKit -framework Cocoa -framework Carbon -framework QuickTime -lobjc -ObjC -framework OpenGL])
3639 [AC_CHECK_HEADERS(Cocoa/Cocoa.h,
3640 VLC_ADD_BUILTINS([macosx])
3641 VLC_ADD_LDFLAGS([macosx],[-framework IOKit -framework Cocoa -framework Carbon -framework QuickTime -lobjc -ObjC -framework OpenGL])
3648 [ --enable-qnx QNX RTOS support (default enabled on QNX RTOS)])
3649 if test "${enable_qnx}" != "no"
3651 AC_CHECK_HEADERS(Ph.h, [
3652 VLC_ADD_PLUGINS([qnx])
3653 VLC_ADD_LDFLAGS([qnx],[-lasound -lph])
3660 AC_ARG_ENABLE(ncurses,
3661 [ --enable-ncurses ncurses interface support (default disabled)],
3662 [if test "${enable_ncurses}" = "yes"; then
3663 VLC_ADD_PLUGINS([ncurses])
3664 VLC_ADD_LDFLAGS([ncurses],[-lncurses])
3671 [ --enable-xosd xosd interface support (default disabled)])
3672 if test "${enable_xosd}" = "yes"
3674 AC_CHECK_HEADER(xosd.h, have_xosd="true", have_xosd="false")
3675 AC_CHECK_LIB(xosd,xosd_set_offset,
3676 AC_DEFINE(HAVE_XOSD_VERSION_1, 1, Define if <xosd.h> is 1.0.x),
3677 AC_CHECK_LIB(xosd,xosd_set_horizontal_offset,
3678 AC_DEFINE(HAVE_XOSD_VERSION_2, 1, Define if <xosd.h> is 2.0.x),
3679 AC_TRY_COMPILE([#include <xosd.h>],
3680 [void foo() { xosd_init("foo","bar",12,XOSD_top,2,12,42); }],,
3681 AC_DEFINE(HAVE_XOSD_VERSION_0, 1, Define if <xosd.h> is pre-1.0.0))))
3682 if test "${have_xosd}" = "true"
3684 VLC_ADD_PLUGINS([xosd])
3685 VLC_ADD_LDFLAGS([xosd],[-lxosd])
3690 dnl Visualisation plugin
3692 AC_ARG_ENABLE(visual,
3693 [ --enable-visual visualisation plugin (default enabled)])
3694 if test "${enable_visual}" != "no"
3696 VLC_ADD_PLUGINS([visual])
3700 dnl OpenGL visualisation plugin
3702 AC_ARG_ENABLE(galaktos,
3703 [ --enable-galaktos OpenGL visualisation plugin (default disabled)])
3704 if test "${enable_galaktos}" = "yes"
3706 AC_CHECK_HEADERS(GL/gl.h, [
3707 VLC_ADD_PLUGINS([galaktos])
3708 if test "${SYS}" != "mingw32"; then
3709 VLC_ADD_LDFLAGS([galaktos],[-L${x_libraries} -lGL -lGLU])
3711 VLC_ADD_LDFLAGS([galaktos],[-lopengl32])
3717 dnl goom visualization plugin
3720 [ --enable-goom goom visualisation plugin (default disabled)])
3721 if test "${enable_goom}" = "yes"
3723 AC_ARG_WITH(goom-tree,
3724 [ --with-goom-tree=PATH goom tree for static linking (required)])
3727 dnl test for --with-goom-tree
3729 if test "${with_goom_tree}" != "no" -a -n "${with_goom_tree}"; then
3730 AC_MSG_CHECKING(for libgoom2.a in ${with_goom_tree})
3731 real_goom_tree="`cd ${with_goom_tree} 2>/dev/null && pwd`"
3732 if test -z "${real_goom_tree}"; then
3733 dnl The given directory can't be found
3735 AC_MSG_ERROR([cannot cd to ${with_goom_tree}])
3737 if test -f "${real_goom_tree}/src/.libs/libgoom2.a"; then
3738 AC_MSG_RESULT(${real_goom_tree}/src/.libs/libgoom2.a)
3739 VLC_ADD_BUILTINS([goom])
3740 VLC_ADD_LDFLAGS([goom],[-L${real_goom_tree}/src/.libs -lgoom2])
3741 VLC_ADD_CPPFLAGS([goom],[-I${real_goom_tree}/src -DUSE_GOOM_TREE])
3743 dnl The given libgoom2 wasn't built, try to look for the old goom
3745 AC_MSG_CHECKING(for libgoom.a in ${with_goom_tree})
3746 if test -f "${real_goom_tree}/libgoom.a"; then
3747 AC_MSG_RESULT(${real_goom_tree}/libgoom.a)
3748 VLC_ADD_BUILTINS([goom])
3749 VLC_ADD_LDFLAGS([goom],[-L${real_goom_tree} -lgoom])
3750 VLC_ADD_CPPFLAGS([goom],[-I${real_goom_tree} -DUSE_GOOM_TREE -DOLD_GOOM])
3752 dnl The given libgoom wasn't built
3754 AC_MSG_ERROR([cannot find ${real_goom_tree}/src/.libs/libgoom2.a, make sure you compiled goom in ${with_goom_tree}])
3758 AC_CHECK_HEADERS(goom/goom.h, [
3759 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_goom}"
3760 AC_CHECK_LIB(goom2, goom_init, [
3761 VLC_ADD_PLUGINS([goom])
3762 VLC_ADD_LDFLAGS([goom],[-lgoom2])
3764 AC_MSG_ERROR([Could not find goom on your system: you may get it from http://www.ios-software.com/.])
3766 LDFLAGS="${LDFLAGS_save}"
3772 dnl SLP access plugin
3775 [ --enable-slp SLP service discovery support (default disabled)])
3776 if test "${enable_slp}" = "yes"
3779 [ --with-slp=PATH libslp headers and libraries])
3780 if test -z "${with_slp}"
3782 AC_CHECK_HEADERS(slp.h, have_slp="true", have_slp="false")
3783 if test "${have_slp}" = "true"
3785 VLC_ADD_PLUGINS([slp])
3786 VLC_ADD_LDFLAGS([slp],[-lslp])
3787 VLC_ADD_LDFLAGS([stream_out_standard],[-lslp])
3790 AC_MSG_CHECKING(for slp headers in ${with_slp})
3791 if test -f ${with_slp}/slp.h
3793 dnl Use ${with_slp}/libslp/slp.h
3795 VLC_ADD_PLUGINS([slp])
3796 VLC_ADD_LDFLAGS([slp],[-L${with_slp} -lslp])
3797 VLC_ADD_LDFLAGS([stream_out_standard],[-L${with_slp} -lslp])
3798 VLC_ADD_CPPFLAGS([slp],[-I${with_slp}])
3799 AC_DEFINE(HAVE_SLP_H)
3801 dnl No libslp could be found, sorry
3803 AC_MSG_ERROR([cannot find ${with_slp}/slp.h])
3809 dnl DAAP access plugin and services discovery
3812 [ --enable-daap DAAP shares services discovery support (default enabled)])
3813 if test "$enable_daap" != "no"
3815 PKG_CHECK_MODULES(DAAP, opendaap >= 0.3.0,
3816 [ VLC_ADD_PLUGINS([daap])
3817 VLC_ADD_LDFLAGS([daap],[$DAAP_LIBS])
3818 VLC_ADD_CFLAGS([daap],[$DAAP_CFLAGS])]:,
3819 [AC_MSG_WARN(DAAP library not found)])
3826 [ --enable-lirc lirc support (default disabled)])
3827 if test "${enable_lirc}" = "yes"
3829 AC_CHECK_HEADER(lirc/lirc_client.h, AC_CHECK_LIB(lirc_client, lirc_init, have_lirc="true", have_lirc="false"),have_lirc="false")
3830 if test "${have_lirc}" = "true"
3832 VLC_ADD_PLUGINS([lirc])
3833 VLC_ADD_LDFLAGS([lirc],[-llirc_client])
3840 AC_ARG_ENABLE(joystick,
3841 [ --enable-joystick joystick control (default enabled)])
3842 if test "${enable_joystick}" = "yes"; then
3843 AC_CHECK_HEADER(linux/joystick.h, [VLC_ADD_PLUGINS([joystick])])
3847 dnl corba (ORBit) plugin
3849 dnl Default: do not enable corba
3851 AC_ARG_ENABLE(corba,
3852 [ --enable-corba corba interface support (default disabled)])
3853 if test "${enable_corba}" = "yes"; then
3855 PKG_CHECK_MODULES(CORBA,
3856 ORBit-2.0 >= 2.8.0 \
3857 glib-2.0 >= $GLIB_VERSION \
3858 gobject-2.0 >= $GLIB_VERSION \
3859 gthread-2.0 >= $GLIB_VERSION,
3862 VLC_ADD_LDFLAGS([corba],[$CORBA_LIBS])
3863 VLC_ADD_CFLAGS([corba],[$CORBA_CFLAGS])
3864 VLC_ADD_PLUGINS([corba snapshot]) ],
3866 AC_MSG_WARN(corba library not found) ])
3868 AM_CONDITIONAL(ENABLE_CORBA, test "$enablecorba" = "true")
3870 AC_ARG_WITH(,[Misc options:])
3873 dnl GnuTLS-based TLS/SSL support
3875 AC_ARG_WITH(libgnutls-prefix,
3876 [ --with-libgnutls-prefix=PREFIX set prefix where libgnutls is installed],
3877 libgnutls_config_prefix="$withval", libgnutls_config_prefix="")
3879 AS_IF([test x$libgnutls_config_prefix != x],
3880 AS_IF([test x${LIBGNUTLS_CONFIG+set} != xset],
3881 LIBGNUTLS_CONFIG=$libgnutls_config_prefix/bin/libgnutls-config
3885 if test "x$enable_gnutls" == "xyes"; then
3886 AC_PATH_PROG(LIBGNUTLS_CONFIG, libgnutls-config, no)
3889 AC_MSG_CHECKING(for libgnutls - version >= 1.0.0)
3890 AS_IF([test "$LIBGNUTLS_CONFIG" = "no"],
3893 LIBGNUTLS_CFLAGS=`$LIBGNUTLS_CONFIG $libgnutls_config_args --cflags`
3894 LIBGNUTLS_LIBS=`$LIBGNUTLS_CONFIG $libgnutls_config_args --libs`
3895 libgnutls_config_version=`$LIBGNUTLS_CONFIG $libgnutls_config_args --version`
3898 AS_IF([test "x$no_libgnutls" = x],
3900 VLC_ADD_CFLAGS([gnutls], [$LIBGNUTLS_CFLAGS])
3901 VLC_ADD_LDFLAGS([gnutls], [$LIBGNUTLS_LIBS])
3902 AC_DEFINE(HAVE_GNUTLS, 1, Define to 1 if you have libgnutls)
3907 AC_MSG_ERROR(gnutls TLS/SSL support cannot be compiled)
3912 dnl Endianness check, AC_C_BIGENDIAN doesn't work if we are cross-compiling
3914 dnl We give the user the opportunity to specify
3915 dnl --with-words=big or --with-words=little ; otherwise, try to guess
3918 [ --with-words=endianness set endianness (big or little)])
3919 case "${with_words}" in
3921 ac_cv_c_bigendian=yes
3924 ac_cv_c_bigendian=no
3927 dnl Try to guess endianness by matching patterns on a compiled
3928 dnl binary, by looking for an ASCII or EBCDIC string
3929 AC_CACHE_CHECK([whether the byte order is big-endian],
3930 [ac_cv_c_bigendian],
3931 [ac_cv_c_bigendian="unknown"
3932 [cat >conftest.c <<EOF
3933 short am[] = { 0x4249, 0x4765, 0x6e44, 0x6961, 0x6e53, 0x7953, 0 };
3934 short ai[] = { 0x694c, 0x5454, 0x656c, 0x6e45, 0x6944, 0x6e61, 0 };
3935 void _a(void) { char*s = (char*)am; s = (char *)ai; }
3936 short ei[] = { 0x89D3, 0xe3e3, 0x8593, 0x95c5, 0x89c4, 0x9581, 0 };
3937 short em[] = { 0xc2c9, 0xc785, 0x95c4, 0x8981, 0x95e2, 0xa8e2, 0 };
3938 void _e(void) { char*s = (char*)em; s = (char*)ei; }
3939 int main(void) { _a(); _e(); return 0; }
3942 if test -f conftest.c
3944 if ${CC-cc} -c conftest.c -o conftest.o >>config.log 2>&1 \
3945 && test -f conftest.o
3947 if test "`strings conftest.o | grep BIGenDianSyS`"
3949 ac_cv_c_bigendian="yes"
3951 if test "`strings conftest.o | grep LiTTleEnDian`"
3953 ac_cv_c_bigendian="no"
3958 if test "${ac_cv_c_bigendian}" = "unknown"
3960 AC_MSG_ERROR([Could not guess endianness, please use --with-words])
3964 dnl Now we know what to use for endianness, just put it in the header
3965 if test "${ac_cv_c_bigendian}" = "yes"
3967 AC_DEFINE(WORDS_BIGENDIAN, 1, big endian system)
3971 dnl Microsoft ActiveX support
3974 AC_ARG_ENABLE(activex,
3975 [ --enable-activex build a vlc-based ActiveX control (default enabled on Win32)])
3976 if test "${enable_activex}" != "no"
3978 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
3980 AC_CHECK_PROG(MIDL, midl, :)
3981 AC_CHECK_HEADERS(ole2.h olectl.h,
3982 [ VLC_ADD_CXXFLAGS([activex],[-fno-exceptions])
3983 VLC_ADD_LDFLAGS([activex],[-lole32 -loleaut32 -luuid])
3984 AC_CHECK_HEADERS(objsafe.h,
3985 VLC_ADD_CXXFLAGS([activex],[-DHAVE_OBJSAFE_HEADER])
3989 [ AC_MSG_ERROR([required OLE headers are missing from your system]) ]
3993 AC_ARG_VAR(MIDL, [Microsoft IDL compiler (Win32 platform only)])
3994 AM_CONDITIONAL(HAS_MIDL_COMPILER, test -n "${MIDL}")
3995 AM_CONDITIONAL(BUILD_ACTIVEX,${activex})
4001 AC_ARG_ENABLE(mozilla,
4002 [ --enable-mozilla build a vlc-based Mozilla plugin (default disabled)])
4003 if test "${enable_mozilla}" = "yes" -a "${SYS}" != "mingw32"
4005 AC_PATH_PROG(MOZILLA_CONFIG, mozilla-config, no)
4006 if test "${MOZILLA_CONFIG}" = "no"
4008 AC_MSG_ERROR([Please install the Mozilla development tools, mozilla-config was not found.])
4010 if test "${SYS}" != "mingw32"; then
4011 LDFLAGS="${LDFLAGS_save} -L${x_libraries}"
4012 AC_CHECK_LIB(Xt,XtStrings,
4013 [VLC_ADD_LDFLAGS([mozilla],[-L${x_libraries} -lXt -lX11 -lSM -lICE])],
4015 [[-L${x_libraries} -lX11 -lSM -lICE]
4017 LDFLAGS="${LDFLAGS_save}"
4020 dnl Workaround for http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=150490
4021 VLC_ADD_CPPFLAGS([mozilla],[[`${MOZILLA_CONFIG} --cflags plugin xpcom java | sed 's,-I\([^ ]*\)/mozilla/\([^ ]*\),-I\1/\2 -I\1/mozilla/\2,g' | xargs`]])
4022 VLC_ADD_LDFLAGS([mozilla],[`${MOZILLA_CONFIG} --libs plugin xpcom`])
4023 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_mozilla}"
4024 AC_CHECK_HEADERS(mozilla-config.h)
4025 CPPFLAGS="${CPPFLAGS_save}"
4028 dnl special case for mingw32
4029 elif test "${enable_mozilla}" = "yes"
4031 AC_CHECK_TOOL(CYGPATH, cygpath, "")
4032 AC_ARG_WITH(mozilla-sdk-path,
4033 [ --with-mozilla-sdk-path=PATH path to win32 mozilla sdk], [
4034 real_mozilla_sdk="`cd ${with_mozilla_sdk_path} 2>/dev/null && pwd`"
4035 CPPFLAGS="${CPPFLAGS_save} ${real_mozilla_sdk}"
4036 AC_CHECK_HEADERS(mozilla-config.h, [
4038 VLC_ADD_CPPFLAGS([mozilla],[-DXPCOM_GLUE -I${real_mozilla_sdk} -I${real_mozilla_sdk}/embedstring/include -I${real_mozilla_sdk}/xpcom/include -I${real_mozilla_sdk}/nspr/include -I${real_mozilla_sdk}/string/include -I${real_mozilla_sdk}/plugin/include -I${real_mozilla_sdk}/java/include])
4039 VLC_ADD_LDFLAGS([mozilla],[-L${real_mozilla_sdk}/embedstring/bin -L${real_mozilla_sdk}/xpcom/bin -L${real_mozilla_sdk}/nspr/bin -L${real_mozilla_sdk}/string/bin -lnspr4 -lplds4 -lplc4 -lembedstring -lxpcomglue -Wl,--kill-at])
4040 XPIDL_INCL="-I${real_mozilla_sdk}/xpcom/idl"
4041 if test -n "${CYGPATH}"; then
4042 XPIDL="${real_mozilla_sdk}/xpcom/bin/xpidl"
4043 real_mozilla_sdk="`${CYGPATH} -w ${real_mozilla_sdk}`"
4044 XPIDL_INCL="${XPIDL_INCL} -I\"${real_mozilla_sdk}/xpcom/idl\""
4046 CPPFLAGS="${CPPFLAGS_save}"
4050 dnl Not necessarily in ${PATH}
4051 if test -z "${XPIDL}" -o ! -x "${XPIDL}"; then
4052 XPIDL="/usr/lib/mozilla/xpidl"
4054 AM_CONDITIONAL(BUILD_MOZILLA,${mozilla})
4059 AC_ARG_ENABLE(testsuite,
4060 [ --enable-testsuite build test modules (default disabled)])
4061 if test "${enable_testsuite}" = "yes"
4063 TESTS="test1 test2 test3 test4"
4065 dnl we define those so that bootstrap sets the right linker
4066 VLC_ADD_CXXFLAGS([test2],[])
4067 VLC_ADD_OBJCFLAGS([test3],[])
4068 dnl this one is needed until automake knows what to do
4069 VLC_ADD_LDFLAGS([test3],[-lobjc])
4071 VLC_ADD_PLUGINS([${TESTS}])
4072 #VLC_ADD_BUILTINS([${TESTS}])
4078 if test "${NEED_GTK_MAIN}" != "no"
4080 VLC_ADD_PLUGINS([gtk_main])
4081 VLC_ADD_CFLAGS([gtk_main],[${CFLAGS_gtk}])
4082 VLC_ADD_LDFLAGS([gtk_main],[${LDFLAGS_gtk}])
4085 if test "${NEED_GNOME_MAIN}" != "no"
4087 VLC_ADD_PLUGINS([gnome_main])
4088 VLC_ADD_CFLAGS([gnome_main],[${CFLAGS_gtk} ${CFLAGS_gnome}])
4089 VLC_ADD_LDFLAGS([gnome_main],[${LDFLAGS_gtk} ${LDFLAGS_gnome}])
4092 if test "${NEED_GTK2_MAIN}" != "no"
4094 VLC_ADD_PLUGINS([gtk2_main])
4095 VLC_ADD_CFLAGS([gtk2],[-DNEED_GTK2_MAIN])
4096 VLC_ADD_CFLAGS([pda],[-DNEED_GTK2_MAIN])
4097 VLC_ADD_CFLAGS([gtk2_main],[${CFLAGS_gtk2} ${CFLAGS_pda}])
4098 VLC_ADD_LDFLAGS([gtk2_main],[${LDFLAGS_gtk2} ${LDFLAGS_pda}])
4101 if test "${NEED_GNOME2_MAIN}" != "no"
4103 VLC_ADD_PLUGINS([gnome2_main])
4104 VLC_ADD_CFLAGS([gnome2_main],[${CFLAGS_gtk2} ${CFLAGS_gnome2}])
4105 VLC_ADD_LDFLAGS([gnome2_main],[${LDFLAGS_gtk2} ${LDFLAGS_gnome2}])
4111 if test "${NEED_QTE_MAIN}" != "no"
4113 VLC_ADD_PLUGINS([qte_main])
4114 VLC_ADD_CXXFLAGS([opie qte qt_video],[-DNEED_QTE_MAIN])
4115 VLC_ADD_CXXFLAGS([qte_main],[${CXXFLAGS_qte} ${CXXFLAGS_qt_video}])
4116 VLC_ADD_LDFLAGS([qte_main],[${LDFLAGS_qte} ${LDFLAGS_qt_video}])
4121 dnl Plugin and builtin checks
4123 builtin_support=false
4126 dnl Support for plugins - this must be AT THE END
4127 AC_ARG_ENABLE(plugins,
4128 [ --disable-plugins make all plugins built-in (default plugins enabled)],
4129 [if test "${enable_plugins}" = "no"
4131 plugin_support=false
4134 dnl Automagically disable plugins if there is no system support for
4135 dnl dynamically loadable files (.so, .dll, .dylib).
4136 dnl don't forget vlc-win32 still can load .dll as plugins
4137 if test "${ac_cv_have_plugins}" = "no"
4139 echo "*** Your system doesn't have plugin support. All plugins will be built"
4141 plugin_support=false
4144 dnl Export automake variables
4145 if ${plugin_support}
4147 for plugin in `echo ${PLUGINS}`
4149 eval "${plugin}_p=yes"
4152 VLC_ADD_BUILTINS([${PLUGINS}])
4155 AM_CONDITIONAL(HAVE_PLUGINS, ${plugin_support})
4157 [if echo "${BUILTINS}" | grep '[^ ]' >/dev/null 2>&1
4160 for builtin in `echo ${BUILTINS}`
4162 eval "${builtin}_b=yes"
4165 AM_CONDITIONAL(HAVE_BUILTINS, ${builtin_support})
4167 dnl Import conditional variables generated by bootstrap
4171 dnl Stuff used by the program
4173 AC_DEFINE_UNQUOTED(VERSION_MESSAGE, "${VERSION} ${CODENAME}", [Simple version string])
4174 AC_DEFINE_UNQUOTED(COPYRIGHT_MESSAGE, "VLC media player - version ${VERSION} ${CODENAME} - (c) 1996-2005 VideoLAN", [Copyright string])
4175 AC_DEFINE_UNQUOTED(CONFIGURE_LINE, "${CONFIGURE_LINE}", [The ./configure command line])
4177 VLC_SYMBOL="`echo ${VERSION} | sed -e 'y/.-+/___/'`"
4178 AC_DEFINE_UNQUOTED(MODULE_SUFFIX, "__${VLC_SYMBOL}", [String suffix for module functions])
4179 AC_DEFINE_UNQUOTED(MODULE_SYMBOL, ${VLC_SYMBOL}, [Symbol suffix for module functions])
4181 DATA_PATH="${ac_tool_prefix}/share/vlc"
4183 PLUGIN_PATH="${ac_tool_prefix}/lib/vlc"
4184 AC_SUBST(PLUGIN_PATH)
4187 dnl Handle substvars that use $(top_srcdir)
4189 VLC_CONFIG="top_builddir=\"\$(top_builddir)\" \$(top_builddir)/vlc-config"
4190 AC_SUBST(VLC_CONFIG)
4191 CPPFLAGS_save="${CPPFLAGS_save} -I\$(top_srcdir)/include"
4199 dnl Create the vlc-config script
4201 LDFLAGS_libvlc="${LDFLAGS_vlc} ${LDFLAGS_builtin}"
4202 for i in `echo "${BUILTINS}" | sed -e 's@[^ ]*/@@g'` ; do LDFLAGS_libvlc="${LDFLAGS_libvlc} ${libdir}/vlc/${i}.a `eval echo '$'{LDFLAGS_${i}}`" ; done
4205 dnl Configuration is finished
4214 AC_SUBST(XPIDL_INCL)
4217 AC_SUBST(ALL_LINGUAS)
4219 dnl Import substitutions generated by bootstrap
4222 dnl Create vlc-config.in
4223 VLC_OUTPUT_VLC_CONFIG_IN
4242 modules/access/Makefile
4243 modules/access/dshow/Makefile
4244 modules/access/dvb/Makefile
4245 modules/access/mms/Makefile
4246 modules/access/pvr/Makefile
4247 modules/access/satellite/Makefile
4248 modules/access/v4l/Makefile
4249 modules/access/cdda/Makefile
4250 modules/access/vcd/Makefile
4251 modules/access/vcdx/Makefile
4252 modules/access/screen/Makefile
4253 modules/access_output/Makefile
4254 modules/audio_filter/Makefile
4255 modules/audio_filter/channel_mixer/Makefile
4256 modules/audio_filter/converter/Makefile
4257 modules/audio_filter/resampler/Makefile
4258 modules/audio_mixer/Makefile
4259 modules/audio_output/Makefile
4260 modules/codec/Makefile
4261 modules/codec/cmml/Makefile
4262 modules/codec/dmo/Makefile
4263 modules/codec/ffmpeg/Makefile
4264 modules/codec/spudec/Makefile
4265 modules/control/Makefile
4266 modules/control/corba/Makefile
4267 modules/demux/Makefile
4268 modules/demux/asf/Makefile
4269 modules/demux/avi/Makefile
4270 modules/demux/mp4/Makefile
4271 modules/demux/mpeg/Makefile
4272 modules/demux/playlist/Makefile
4273 modules/demux/util/Makefile
4274 modules/gui/Makefile
4275 modules/gui/beos/Makefile
4276 modules/gui/pda/Makefile
4277 modules/gui/gtk/Makefile
4278 modules/gui/gtk2/Makefile
4279 modules/gui/kde/Makefile
4280 modules/gui/macosx/Makefile
4281 modules/gui/qnx/Makefile
4282 modules/gui/qt/Makefile
4283 modules/gui/skins2/Makefile
4284 modules/gui/wxwindows/Makefile
4285 modules/gui/wince/Makefile
4286 modules/misc/Makefile
4287 modules/misc/dummy/Makefile
4288 modules/misc/memcpy/Makefile
4289 modules/misc/network/Makefile
4290 modules/misc/testsuite/Makefile
4291 modules/misc/playlist/Makefile
4292 modules/misc/xml/Makefile
4293 modules/mux/Makefile
4294 modules/mux/mpeg/Makefile
4295 modules/packetizer/Makefile
4296 modules/services_discovery/Makefile
4297 modules/stream_out/Makefile
4298 modules/stream_out/transrate/Makefile
4299 modules/video_chroma/Makefile
4300 modules/video_filter/Makefile
4301 modules/video_filter/swscale/Makefile
4302 modules/video_output/Makefile
4303 modules/video_output/directx/Makefile
4304 modules/video_output/qte/Makefile
4305 modules/video_output/x11/Makefile
4306 modules/visualization/Makefile
4307 modules/visualization/visual/Makefile
4308 modules/visualization/galaktos/Makefile
4311 dnl Generate makefiles
4314 # Cannot use AC_CONFIG_FILES([vlc-config]) as is automatically built,
4315 # not provided with the source
4316 ${SHELL} ./config.status --file=vlc-config
4317 chmod 0755 vlc-config
4321 --------------------
4322 vlc version : ${VERSION}
4324 architecture : ${ARCH}
4326 test "${enable_debug}" = "yes" && printf "debug "
4327 test "${enable_cprof}" = "yes" && printf "cprof "
4328 test "${enable_gprof}" = "yes" && printf "gprof "
4329 test "${enable_optimizations}" = "yes" && printf "optim "
4330 test "${enable_release}" = "yes" && printf "release " || printf "devel "
4332 vlc aliases :${ALIASES}
4334 You can tune the compiler flags in vlc-config.
4335 To build vlc and its plugins, type \`make'.