1 dnl Autoconf settings for vlc
10 CONFIGURE_LINE="$0 $*"
14 AC_CONFIG_SRCDIR(src/libvlc.c)
15 AC_CONFIG_AUX_DIR(autotools)
18 dnl XXX: we don't put any flags here, because automake 1.5 doesn't support
19 dnl them. And we need the comma otherwize automake will choke on it.
20 AM_INIT_AUTOMAKE(vlc,0.8.4-svn)
21 AM_CONFIG_HEADER(config.h)
35 eval "${CXX} --version" >/dev/null 2>&1 || CXX=""
36 if test "${CXX}" != ""; then
43 dnl AC_PROG_EGREP only exists in autoconf 2.54+, so we use AC_EGREP_CPP right
44 dnl now otherwise it might be set in an obscure if statement.
47 dnl AC_PROG_OBJC doesn't seem to exist, this is the KDE workaround
48 AC_MSG_CHECKING(for an Objective-C compiler)
51 OBJCFLAGS="${CXXFLAGS} -fgnu-runtime -fconstant-string-class=NSConstantString"
53 dnl _AM_DEPENDENCIES(OBJC) doesn't work, so hard code OBJCDEPMODE here
54 #OBJCDEPMODE="depmode=gcc3"
55 #AC_SUBST(OBJCDEPMODE)
56 _AM_DEPENDENCIES(OBJC)
57 AC_MSG_RESULT(not implemented yet)
59 dnl Find the right ranlib, even when cross-compiling
60 AC_CHECK_TOOL(RANLIB, ranlib, :)
61 AC_CHECK_TOOL(STRIP, strip, :)
62 AC_CHECK_TOOL(AR, ar, :)
63 AC_CHECK_TOOL(LD, ld, :)
65 dnl Sam, if you think I didn't see that... --Meuuh
69 dnl Check for compiler properties
74 dnl Check for the contrib directory
77 [ --without-contrib do not use the libraries in extras/contrib],[],[])
78 if test "${with_contrib}" != "no"; then
81 if test "`echo \"$topdir\" | cut -c 1`" != "/"; then
82 topdir="`pwd`/$topdir"
85 if test -d ${topdir}/extras/contrib/lib; then
86 export PATH=${topdir}/extras/contrib/bin:$PATH
87 CPPFLAGS="${CPPFLAGS} -I${topdir}/extras/contrib/include"
88 CPPFLAGS_save="${CPPFLAGS_save} -I${topdir}/extras/contrib/include"
89 CFLAGS="${CFLAGS} -I${topdir}/extras/contrib/include"
90 CFLAGS_save="${CFLAGS_save} -I${topdir}/extras/contrib/include"
91 CXXFLAGS="${CXXFLAGS} -I${topdir}/extras/contrib/include"
92 CXXFLAGS_save="${CXXFLAGS_save} -I${topdir}/extras/contrib/include"
93 OBJCFLAGS="${OBJCFLAGS} -I${topdir}/extras/contrib/include"
94 OBJCFLAGS_save="${OBJCFLAGS_save} -I${topdir}/extras/contrib/include"
95 if test -d ${topdir}/extras/contrib/vlc-lib; then
96 LDFLAGS="${LDFLAGS} -L${topdir}/extras/contrib/vlc-lib"
97 LDFLAGS_save="${LDFLAGS_save} -L${topdir}/extras/contrib/vlc-lib"
99 LDFLAGS="${LDFLAGS} -L${topdir}/extras/contrib/lib"
100 LDFLAGS_save="${LDFLAGS_save} -L${topdir}/extras/contrib/lib"
101 with_livedotcom_tree=${topdir}/extras/contrib/src/live
102 with_goom_tree=${topdir}/extras/contrib/src/goom
103 if test ".`uname -s`" = ".Darwin"; then
104 export LD_LIBRARY_PATH=${topdir}/extras/contrib/lib:$LD_LIBRARY_PATH
105 export DYLD_LIBRARY_PATH=${topdir}/extras/contrib/lib:$DYLD_LIBRARY_PATH
106 elif test ".`uname -s`" = ".BeOS"; then
107 export LIBRARY_PATH=${topdir}/extras/contrib/lib:$LIBRARY_PATH
108 export BELIBRARIES=${topdir}/extras/contrib/lib:$BELIBRARIES
113 dnl Set default values
115 LDFLAGS_vlc="${LDFLAGS}"
118 dnl Check the operating system
120 case "${target_os}" in
129 CFLAGS_save="${CFLAGS_save} -pthread"; CFLAGS="${CFLAGS_save}"
130 VLC_ADD_LDFLAGS([dvd dvdcss vcd cdda vcdx cddax],[-ldvd])
134 CFLAGS_save="${CFLAGS_save} -pthread"; CFLAGS="${CFLAGS_save}"
138 CFLAGS_save="${CFLAGS_save} -no-cpp-precomp -D_INTL_REDIRECT_MACROS"; CFLAGS="${CFLAGS_save}"
139 CXXFLAGS_save="${CXXFLAGS_save} -no-cpp-precomp -D_INTL_REDIRECT_MACROS"; CXXFLAGS="${CXXFLAGS_save}"
140 OBJCFLAGS_save="${OBJCFLAGS_save} -no-cpp-precomp -D_INTL_REDIRECT_MACROS"; OBJCFLAGS="${OBJCFLAGS_save}"
141 VLC_ADD_LDFLAGS([vlc ffmpeg ffmpegaltivec],[-all_load])
142 VLC_ADD_LDFLAGS([mp4], [-framework IOKit -framework CoreFoundation])
143 VLC_ADD_CFLAGS([libvlc],[-x objective-c])
144 VLC_ADD_CFLAGS([vlc],[-x objective-c])
145 VLC_ADD_LDFLAGS([vlc],[-Wl,-m -Wl,-multiply_defined -Wl,suppress])
147 *mingw32* | *cygwin* | *wince* | *mingwce* | *pe*)
148 AC_CHECK_TOOL(WINDRES, windres, :)
150 case "${target_os}" in
155 dnl Check if we are using the mno-cygwin mode in which case we are
156 dnl actually dealing with a mingw32 compiler.
161 SYS=mingw32, SYS=cygwin)
163 *wince* | *mingwce* | *pe*)
168 if test "${SYS}" = "mingw32"; then
169 # add ws2_32 for closesocket, select, recv
170 CPPFLAGS_save="${CPPFLAGS_save} -D_OFF_T_ -D_off_t=long"; CPPFLAGS="${CPPFLAGS_save}"
171 VLC_ADD_LDFLAGS([vlc],[-lws2_32 -lnetapi32 -lwinmm -mwindows])
172 VLC_ADD_LDFLAGS([vcdx cddax],[-lwinmm])
173 VLC_ADD_LDFLAGS([ipv4 ipv6 access_http access_mms access_udp access_tcp access_ftp access_output_udp sap slp http stream_out_standard stream_out_rtp vod_rtsp telnet netsync],[-lws2_32])
174 VLC_ADD_LDFLAGS([ipv4],[-liphlpapi])
176 if test "${SYS}" = "mingwce"; then
177 # add ws2 for closesocket, select, recv
178 CPPFLAGS_save="${CPPFLAGS_save} -D_OFF_T_ -D_off_t=long"; CPPFLAGS="${CPPFLAGS_save}"
179 VLC_ADD_CPPFLAGS([vlc],[-Dmain(a,b)=maince(a,b)])
180 VLC_ADD_LDFLAGS([vlc],[-lws2 -e WinMainCRTStartup])
181 VLC_ADD_LDFLAGS([ipv4 ipv6 access_http access_mms access_udp access_tcp access_ftp access_output_udp sap http netsync],[-lws2])
182 VLC_ADD_LDFLAGS([ipv4],[-liphlpapi])
187 VLC_ADD_LDFLAGS([x11 xvideo],[-lsocket])
191 # _POSIX_PTHREAD_SEMANTICS is needed to get the POSIX ctime_r
192 # Perhaps it is useful other places as well?
193 CFLAGS_save="${CFLAGS_save} -D_POSIX_PTHREAD_SEMANTICS"; CFLAGS="${CFLAGS_save}"
200 CFLAGS_save="${CFLAGS_save} -Wno-multichar"; CFLAGS="${CFLAGS_save}"
201 CXXFLAGS_save="${CXXFLAGS_save} -Wno-multichar"; CXXFLAGS="${CXXFLAGS_save}"
202 VLC_ADD_CXXFLAGS([beos],[])
203 VLC_ADD_LDFLAGS([vlc beos],[-lbe])
204 VLC_ADD_LDFLAGS([beos],[-lmedia -ltranslation -ltracker -lgame])
205 VLC_ADD_LDFLAGS([access_file access_ftp access_mms access_output_udp telnet netsync sap ipv4 vlc],[-lnet])
207 dnl Ugly check for Zeta
208 if test -f /boot/beos/system/lib/libzeta.so; then
209 VLC_ADD_LDFLAGS([beos],[-lzeta])
216 AM_CONDITIONAL(HAVE_BEOS, test "${SYS}" = "beos")
217 AM_CONDITIONAL(HAVE_DARWIN, test "${SYS}" = "darwin")
218 AM_CONDITIONAL(HAVE_WIN32, test "${SYS}" = "mingw32")
219 AM_CONDITIONAL(HAVE_WINCE, test "${SYS}" = "mingwce")
224 ALL_LINGUAS="ca da de en_GB es fr it ja nl pt_BR ro ru tr zh_TW"
225 AM_GNU_GETTEXT_VERSION(0.11.5)
227 if test "${nls_cv_force_use_gnu_gettext}" = "yes"; then
228 AC_DEFINE(HAVE_INCLUDED_GETTEXT, 1, Define if we use the local libintl)
229 INCLUDES="${INCLUDES} -I\$(top_builddir)/intl"
231 AC_CHECK_FUNCS(textdomain,,[
232 AC_CHECK_LIB(intl,textdomain,
233 VLC_ADD_LDFLAGS([vlc],[${LIBINTL}]),,
238 AM_CONDITIONAL(BUILD_INTL, test "${nls_cv_force_use_gnu_gettext}" = "yes")
239 XGETTEXT="${XGETTEXT} --keyword=_NS --keyword=_ANS"
244 AS_IF([test "$am_cv_func_iconv" != "yes"],
245 [AC_MSG_ERROR([libiconv is needed for VLC to work properly])])
246 VLC_ADD_CFLAGS([vlc],[${INCICONV}])
247 VLC_ADD_LDFLAGS([vlc],[${LIBICONV}])
249 dnl Check for the need to include the mingwex lib for mingw32
250 if test "${SYS}" = "mingw32"
252 AC_CHECK_LIB(mingwex,opendir,
253 AC_CHECK_LIB(mingw32,opendir,VLC_ADD_LDFLAGS([vlc],[]),
254 [VLC_ADD_LDFLAGS([vlc gtk],[-lmingwex])])
258 dnl Check for fnative-struct or mms-bitfields support for mingw32
259 if test "${SYS}" = "mingw32"
261 AC_CACHE_CHECK([if \$CC accepts -mms-bitfields],
262 [ac_cv_c_mms_bitfields],
263 [CFLAGS="${CFLAGS_save} -mms-bitfields"
264 AC_TRY_COMPILE([],,ac_cv_c_mms_bitfields=yes, ac_cv_c_mms_bitfields=no)])
265 if test "${ac_cv_c_mms_bitfields}" != "no"; then
266 CFLAGS_save="${CFLAGS_save} -mms-bitfields";
267 CXXFLAGS_save="${CXXFLAGS_save} -mms-bitfields";
269 AC_CACHE_CHECK([if \$CC accepts -fnative-struct],
270 [ac_cv_c_fnative_struct],
271 [CFLAGS="${CFLAGS_save} -fnative-struct"
272 AC_TRY_COMPILE([],,ac_cv_c_fnative_struct=yes, ac_cv_c_fnative_struct=no)])
273 if test "${ac_cv_c_fnative_struct}" != "no"; then
274 CFLAGS_save="${CFLAGS_save} -fnative-struct";
275 CXXFLAGS_save="${CXXFLAGS_save} -fnative-struct";
279 CFLAGS="${CFLAGS_save}"; CXXFLAGS="${CXXFLAGS_save}"
282 dnl Check for fvtable-thunks support for mingw32
283 if test "${SYS}" = "mingw32" -a "${CXX}" != ""
286 AC_CACHE_CHECK([if \$CXX accepts -fvtable-thunks],
287 [ac_cv_cxx_fvtable_thunks],
288 [CXXFLAGS="${CXXFLAGS_save} -Wall -Werror -fvtable-thunks"
289 AC_TRY_COMPILE([],,ac_cv_cxx_fvtable_thunks=yes,
290 ac_cv_cxx_fvtable_thunks=no)])
291 if test "${ac_cv_cxx_fvtable_thunks}" = "yes"; then
292 CXXFLAGS_mingw32_special="-fvtable-thunks"
295 CXXFLAGS_save="${CXXFLAGS_save} ${CXXFLAGS_mingw32_special}"; CXXFLAGS="${CXXFLAGS_save}"
299 dnl Plugin compilation stuff
308 VLC_ADD_CFLAGS([pic plugin mozilla activex],[${CFLAGS_mingw32_special}])
309 VLC_ADD_CXXFLAGS([pic plugin mozilla activex],[${CFLAGS_mingw32_special} ${CXXFLAGS_mingw32_special}])
310 VLC_ADD_OBJCFLAGS([pic plugin mozilla activex],[${CFLAGS_mingw32_special}])
315 VLC_ADD_CFLAGS([pic plugin mozilla],[-fpic -fPIC])
316 VLC_ADD_CXXFLAGS([pic plugin mozilla],[-fpic -fPIC])
317 VLC_ADD_OBJCFLAGS([pic plugin mozilla],[-fpic -fPIC])
318 VLC_ADD_LDFLAGS([plugin mozilla],[-fpic -fPIC])
322 dnl The -DSYS_FOO flag
323 CPPFLAGS_save="${CPPFLAGS_save} -DSYS_`echo ${SYS} | sed -e 's/-.*//' | tr 'abcdefghijklmnopqrstuvwxyz.' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`"; CPPFLAGS="${CPPFLAGS_save}"
325 dnl Check for system libs needed
328 AC_CHECK_FUNCS(gettimeofday select strerror strtod strtol strtof strtoll strtoull strsep isatty vasprintf asprintf swab sigrelse getpwuid memalign posix_memalign if_nametoindex atoll getenv putenv setenv gmtime_r ctime_r localtime_r lrintf daemon scandir fork)
330 dnl Check for usual libc functions
331 AC_CHECK_FUNCS(strdup strndup atof)
332 AC_CHECK_FUNCS(strcasecmp,,[AC_CHECK_FUNCS(stricmp)])
333 AC_CHECK_FUNCS(strncasecmp,,[AC_CHECK_FUNCS(strnicmp)])
334 AC_CHECK_FUNCS(strcasestr,,[AC_CHECK_FUNCS(stristr)])
336 dnl Check for setlocal and langinfo
337 AC_CHECK_FUNCS(setlocale)
338 AC_CHECK_HEADERS(langinfo.h)
339 AC_CHECK_FUNCS(nl_langinfo)
341 AC_CACHE_CHECK([for nl_langinfo and CODESET], ac_cv_langinfo_codeset,
342 [AC_TRY_LINK([#include <langinfo.h>],
343 [char* cs = nl_langinfo(CODESET);],
344 ac_cv_langinfo_codeset=yes,
345 ac_cv_langinfo_codeset=no)
347 if test ${ac_cv_langinfo_codeset} = yes; then
348 AC_DEFINE(HAVE_LANGINFO_CODESET, 1,
349 [Define if you have <langinfo.h> and nl_langinfo(CODESET).])
352 AC_CHECK_FUNCS(connect,,[
353 AC_CHECK_LIB(socket,connect,[
354 VLC_ADD_LDFLAGS([vlc ipv4 cddax],-lsocket)
358 AC_CHECK_FUNCS(send,,[
359 AC_CHECK_LIB(socket,send,[
360 VLC_ADD_LDFLAGS([access_http access_mms access_udp access_tcp access_ftp sap access_output_udp stream_out_standard],[-lsocket])
364 AC_CHECK_FUNCS(gethostbyname,,[
365 AC_CHECK_LIB(nsl,gethostbyname,[
366 VLC_ADD_LDFLAGS([cddax ipv4 vlc],[-lnsl])
368 AC_CHECK_LIB(bind,gethostbyname,[
369 VLC_ADD_LDFLAGS([ipv4 access_mms],[-lbind])
374 dnl Check for socklen_t
375 AC_CACHE_CHECK([for socklen_t], ac_cv_type_socklen_t,
377 [#include <sys/types.h>
378 #include <sys/socket.h>],
379 [socklen_t len = 42; return len;],
380 ac_cv_type_socklen_t=yes,
381 ac_cv_type_socklen_t=no)])
382 if test "${ac_cv_type_socklen_t}" != "no"; then
383 AC_DEFINE(HAVE_SOCKLEN_T, 1, [Define if <sys/socket.h> defines socklen_t.])
386 dnl Check for struct sockaddr_storage
387 AH_TEMPLATE(sockaddr_storage, [Define to `sockaddr' if <sys/socket.h> does not define.])
388 AH_TEMPLATE(ss_family, [Define to `sa_family' if <sys/socket.h> does not define.])
389 AC_CACHE_CHECK([for struct sockaddr_storage], ac_cv_struct_sockaddr_storage,
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>
398 #endif], [struct sockaddr_storage addr;],
399 ac_cv_struct_sockaddr_storage=yes,
400 ac_cv_struct_sockaddr_storage=no)])
401 if test $ac_cv_struct_sockaddr_storage = no; then
402 AC_DEFINE(sockaddr_storage, sockaddr)
403 AC_DEFINE(ss_family, sa_family)
406 dnl getaddrinfo, getnameinfo and gai_strerror check
407 dnl -lresolv is NOT needed on Solaris
408 dnl we purposedly make the test fail on Windows
409 AC_CHECK_FUNCS([getaddrinfo getnameinfo gai_strerror])
410 AH_TEMPLATE(HAVE_ADDRINFO, [Define to `1' if <netdb.h> defines struct addrinfo.])
411 AC_CHECK_TYPES([struct addrinfo],[AC_DEFINE(HAVE_ADDRINFO)],,
412 [#include <sys/types.h>
413 #if defined( WIN32 ) || defined( UNDER_CE )
414 # if defined(UNDER_CE) && defined(sockaddr_storage)
415 # undef sockaddr_storage
417 # include <winsock2.h>
418 # include <ws2tcpip.h>
423 dnl Check for va_copy
424 AC_CACHE_CHECK([for va_copy], ac_cv_c_va_copy,
426 [#include <stdarg.h>],
427 [va_list ap1, ap2; va_copy(ap1,ap2);],
428 [ac_cv_c_va_copy="yes"],
429 [ac_cv_c_va_copy="no"]))
430 if test "${ac_cv_c_va_copy}" = "yes"; then
431 AC_DEFINE(HAVE_VA_COPY, 1, [Define if <stdarg.h> defines va_copy.])
433 AC_CACHE_CHECK([for __va_copy], ac_cv_c___va_copy,
435 [#include <stdarg.h>],
436 [va_list ap1, ap2; __va_copy(ap1,ap2);],
437 [ac_cv_c___va_copy="yes"],
438 [ac_cv_c___va_copy="no"]))
439 if test "${ac_cv_c___va_copy}" = "yes"; then
440 AC_DEFINE(HAVE___VA_COPY, 1, [Define if <stdarg.h> defines __va_copy.])
443 AC_CHECK_FUNCS(inet_aton,,[
444 AC_CHECK_LIB(resolv,inet_aton,[
445 VLC_ADD_LDFLAGS([ipv4 vlc],[-lresolv])
449 dnl Check for getopt (always use builtin one on win32)
450 if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"; then
454 AC_CHECK_FUNCS(getopt_long,[AC_DEFINE(HAVE_GETOPT_LONG,1,long getopt support)],
455 [ # FreeBSD has a gnugetopt library for this:
456 AC_CHECK_LIB([gnugetopt],[getopt_long],
457 [AC_DEFINE(HAVE_GETOPT_LONG,1,getopt support)
458 VLC_ADD_LDFLAGS([vlc],[-lgnugetopt])],
461 AM_CONDITIONAL(BUILD_GETOPT, ${need_getopt})
463 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
466 VLC_ADD_LDFLAGS([adjust distort a52tofloat32 dtstofloat32 x264 goom],[-lm])
469 VLC_ADD_LDFLAGS([ffmpeg ffmpegaltivec stream_out_transrate i420_rgb faad twolame equalizer vlc freetype],[-lm])
471 AC_CHECK_LIB(m,sqrt,[
472 VLC_ADD_LDFLAGS([headphone_channel_mixer normvol speex],[-lm])
474 AC_CHECK_LIB(mx,sqrtf,[
475 VLC_ADD_LDFLAGS([x264],[-lmx])
477 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
479 dnl Check for dynamic plugins
480 ac_cv_have_plugins=no
483 AC_CHECK_HEADERS(mach-o/dyld.h,
484 [AC_CHECK_FUNCS(NSLinkModule,
485 [AC_DEFINE(HAVE_DL_DYLD, 1, [Define if you have the Darwin dyld API])
486 ac_cv_have_plugins=yes])])
489 if test "${ac_cv_have_plugins}" = "no"; then
490 AC_CHECK_HEADERS(dl.h)
491 ac_cv_my_have_shl_load=no
492 AC_CHECK_FUNC(shl_load,
493 [ac_cv_my_have_shl_load=yes,
494 AC_CHECK_LIB(dld, shl_load,
495 [ac_cv_my_have_shl_load=yes
496 VLC_ADD_LDFLAGS([vlc],[-ldld])])])
497 if test "${ac_cv_my_have_shl_load}" = "yes"; then
498 AC_DEFINE(HAVE_DL_SHL_LOAD, 1, [Define if you have the shl_load API])
499 ac_cv_have_plugins=yes
504 if test "${ac_cv_have_plugins}" = "no"; then
505 AC_CHECK_LIB(dld, dld_link,
506 [VLC_ADD_LDFLAGS([vlc],[-ldld])
507 AC_DEFINE(HAVE_DL_DLD_LINK, 1, [Define if you have the GNU dld library])
508 ac_cv_have_plugins=yes])
512 if test "${ac_cv_have_plugins}" = "no"; then
513 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"; then
514 AC_CHECK_LIB(kernel32, main,
515 [VLC_ADD_LDFLAGS([vlc],[-lkernel32])
516 AC_DEFINE(HAVE_DL_WINDOWS, 1, [Define if you have Windows' LoadLibrary])
517 ac_cv_have_plugins=yes])
522 if test "${ac_cv_have_plugins}" = "no"; then
523 if test "${SYS}" = "mingwce"; then
524 AC_DEFINE(HAVE_DL_WINDOWS, 1, [Define if you have Windows' LoadLibrary])
525 ac_cv_have_plugins=yes
530 if test "${ac_cv_have_plugins}" = "no"; then
531 AC_CHECK_HEADERS(image.h)
532 AC_CHECK_FUNCS(load_add_on,
533 [AC_DEFINE(HAVE_DL_BEOS, 1, [Define if you have the BeOS dl])
534 ac_cv_have_plugins=yes])
537 # Only test for dlopen() if the others didn't work
538 if test "${ac_cv_have_plugins}" = "no"; then
539 AC_CHECK_HEADERS(dlfcn.h sys/dl.h)
540 ac_cv_my_have_dlopen=no
541 AC_CHECK_FUNC(dlopen,
542 ac_cv_my_have_dlopen=yes,
543 AC_CHECK_LIB(dl, dlopen,
544 ac_cv_my_have_dlopen=yes
545 VLC_ADD_LDFLAGS([vlc],[-ldl]),
546 AC_CHECK_LIB(svld, dlopen,
547 ac_cv_my_have_dlopen=yes
548 VLC_ADD_LDFLAGS([vlc],[-lsvld]))))
549 if test "${ac_cv_my_have_dlopen}" = "yes"; then
550 AC_DEFINE(HAVE_DL_DLOPEN, 1, [Define if you have the dlopen API])
551 ac_cv_have_plugins=yes
555 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
556 dnl Check for pthreads - borrowed from XMMS
558 if test "${THREAD_LIB}" = "error"; then
559 AC_CHECK_LIB(pthread,main,THREAD_LIB="-lpthread")
561 if test "${THREAD_LIB}" = "error"; then
562 AC_CHECK_LIB(pthreads,main,THREAD_LIB="-lpthreads")
564 if test "${THREAD_LIB}" = "error"; then
565 AC_CHECK_LIB(c_r,main,THREAD_LIB="-lc_r")
567 if test "${THREAD_LIB}" = "error"; then
568 AC_CHECK_FUNCS(pthread_mutex_lock)
572 dnl Check for cthreads under GNU/Hurd for instance
573 AC_CHECK_LIB(threads,cthread_fork,THREAD_LIB="-lthreads")
576 dnl GNU portable threads
579 [ --enable-pth GNU Pth support (default disabled)],
580 [ if test "${enable_pth}" = "yes"; then
581 AC_CHECK_LIB(pth,pth_init)
582 AC_MSG_CHECKING(for pth_init in pth.h)
583 AC_EGREP_HEADER(pth_init,pth.h,[
585 AC_DEFINE(PTH_INIT_IN_PTH_H, 1,
586 Define if <pth.h> defines pth_init)
598 [ --enable-st State Threads (default disabled)],
599 [ if test "${enable_st}" = "yes"; then
600 AC_CHECK_LIB(st,st_init)
601 AC_MSG_CHECKING(for st_init in st.h)
602 AC_EGREP_HEADER(st_init,st.h,[
604 AC_DEFINE(ST_INIT_IN_ST_H, 1,
605 Define if <st.h> defines st_init)
613 VLC_ADD_LDFLAGS([vlc plugin],[${THREAD_LIB}])
615 dnl Don't link with rt when using GNU-pth
616 if test "${THREAD_LIB}" != "-lpth" && test "${THREAD_LIB}" != "-lst"; then
618 AC_CHECK_LIB(rt,sem_init, [VLC_ADD_LDFLAGS([vlc],[-lrt])])
621 AC_CHECK_FUNCS(nanosleep,have_nanosleep=:,[
622 AC_CHECK_LIB(rt,nanosleep,
623 [VLC_ADD_LDFLAGS([vlc],[-lrt]) have_nanosleep=:],
624 [AC_CHECK_LIB(posix4,nanosleep,
625 [VLC_ADD_LDFLAGS([vlc],[-lposix4]) have_nanosleep=:])]
628 if ${have_nanosleep}; then
629 AC_DEFINE(HAVE_NANOSLEEP, 1,
630 Define if nanosleep is available.)
634 dnl Check for misc headers
635 AC_MSG_CHECKING(for pthread_cond_t in pthread.h)
636 AC_EGREP_HEADER(pthread_cond_t,pthread.h,[
638 AC_DEFINE(PTHREAD_COND_T_IN_PTHREAD_H, 1,
639 Define if <pthread.h> defines pthread_cond_t.)],[
642 AC_MSG_CHECKING(for pthread_once in pthread.h)
643 AC_EGREP_HEADER(pthread_once,pthread.h,[
645 AC_DEFINE(PTHREAD_ONCE_IN_PTHREAD_H, 1,
646 Define if <pthread.h> defines pthread_once.)],[
648 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
650 AC_MSG_CHECKING(for strncasecmp in strings.h)
651 AC_EGREP_HEADER(strncasecmp,strings.h,[
653 AC_DEFINE(STRNCASECMP_IN_STRINGS_H, 1,
654 Define if <strings.h> defines strncasecmp.)],[
657 dnl Check for headers
658 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)
659 AC_CHECK_HEADERS(sys/sockio.h fcntl.h sys/types.h sys/time.h sys/times.h sys/ioctl.h sys/stat.h)
660 AC_CHECK_HEADERS(arpa/inet.h net/if.h netinet/in.h sys/socket.h)
661 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
662 AC_CHECK_HEADERS(machine/param.h sys/shm.h)
663 AC_CHECK_HEADERS(linux/version.h)
664 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
670 AC_CHECK_HEADERS(dirent.h,,[need_dirent=:])
671 AM_CONDITIONAL(BUILD_DIRENT, ${need_dirent})
673 dnl Mac OS X and other OSes don't have declaration for nanosleep
674 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
675 AC_MSG_CHECKING(for nanosleep in time.h)
676 AC_EGREP_HEADER(nanosleep,time.h,[
678 AC_DEFINE(HAVE_DECL_NANOSLEEP, 1,
679 Define if <time.h> defines nanosleep.)
683 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
685 dnl Make sure we have timespecs
686 AC_MSG_CHECKING(for timespec in sys/time.h)
687 AC_EGREP_HEADER(timespec,sys/time.h,[
689 AC_DEFINE(HAVE_STRUCT_TIMESPEC, 1,
690 Define if <sys/time.h> defines struct timespec.)
695 dnl Check for threads library
696 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
697 AC_CHECK_HEADERS(cthreads.h pthread.h kernel/scheduler.h kernel/OS.h)
698 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
700 dnl Default X headers and libraries
701 if test "${x_includes}" = "NONE"; then
702 x_includes="/usr/X11R6/include"
704 if test "${x_libraries}" = "NONE"; then
705 x_libraries="/usr/X11R6/lib"
710 [ --enable-hal Linux HAL services discovery (default enabled)])
712 if test "${enable_hal}" != "no"
714 PKG_CHECK_MODULES(HAL, hal >= 0.2.97,
715 [AC_DEFINE(HAVE_HAL, [], [Define if you have the HAL library])
716 VLC_ADD_PLUGINS([hal])
717 VLC_ADD_LDFLAGS([vlc hal],[$HAL_LIBS])
718 VLC_ADD_CFLAGS([vlc hal],[$HAL_CFLAGS])],
719 [AC_MSG_WARN(HAL library not found)])
722 dnl Build the gtk_main plugins?
728 dnl build the qte plugin ?
731 dnl Check for ntohl, etc.
732 AC_CACHE_CHECK([for ntohl in sys/param.h],
733 [ac_cv_c_ntohl_sys_param_h],
734 [CFLAGS="${CFLAGS_save} -Wall -Werror"
735 AC_TRY_COMPILE([#include <sys/param.h>],
736 [void foo() { int meuh; ntohl(meuh); }],
737 ac_cv_c_ntohl_sys_param_h=yes, ac_cv_c_ntohl_sys_param_h=no)])
738 if test "${ac_cv_c_ntohl_sys_param_h}" != "no"; then
739 AC_DEFINE(NTOHL_IN_SYS_PARAM_H, 1, Define if <sys/param.h> defines ntohl.)
742 # XXX: do this with an M4 macro?
743 #dnl Check for various -W flags
744 #for flag in "" all unreachable-code conversion sign-compare disabled-optimization
746 # AC_CACHE_CHECK([if \$CC accepts -W${flag}],
747 # [ac_cv_c_W${flag}],
748 # [CFLAGS="-W${flag} ${CFLAGS_save}"
749 # AC_TRY_COMPILE([],,ac_cv_c_W${flag}=yes, ac_cv_c_W${flag}=no)])
750 # if test "${ac_cv_c_W${flag}}" != "no"; then
751 # CFLAGS_save="-W${flag} ${CFLAGS_save}"; CFLAGS="${CFLAGS_save}"
752 # CXXFLAGS_save="-W${flag} ${CFLAGS_save}"; CXXFLAGS="${CXXFLAGS_save}"
753 # OBJCFLAGS_save="-W${flag} ${OBJCFLAGS_save}"; OBJCFLAGS="${OBJCFLAGS_save}"
757 AC_CACHE_CHECK([if \$CC accepts -Wall],
759 [CFLAGS="-Wall ${CFLAGS_save}"
760 AC_TRY_COMPILE([],,ac_cv_c_Wall=yes, ac_cv_c_Wall=no)])
762 AC_CACHE_CHECK([if \$CC accepts -Wconversion],
763 [ac_cv_c_Wconversion],
764 [CFLAGS="-Wconversion ${CFLAGS_save}"
765 AC_TRY_COMPILE([],,ac_cv_c_Wconversion=yes, ac_cv_c_Wconversion=no)])
767 AC_CACHE_CHECK([if \$CC accepts -Wunreachable-code],
768 [ac_cv_c_Wunreachable_code],
769 [CFLAGS="-Wunreachable-code ${CFLAGS_save}"
770 AC_TRY_COMPILE([],,ac_cv_c_Wunreachable_code=yes, ac_cv_c_Wunreachable_code=no)])
772 AC_CACHE_CHECK([if \$CC accepts -Wsign-compare],
773 [ac_cv_c_Wsign_compare],
774 [CFLAGS="-Wsign-compare ${CFLAGS_save}"
775 AC_TRY_COMPILE([],,ac_cv_c_Wsign_compare=yes, ac_cv_c_Wsign_compare=no)])
777 if test "${ac_cv_c_Wall}" != "no"; then
778 CFLAGS_save="-Wall ${CFLAGS_save}"; CFLAGS="${CFLAGS_save}"
779 CXXFLAGS_save="-Wall ${CFLAGS_save}"; CXXFLAGS="${CXXFLAGS_save}"
780 OBJCFLAGS_save="-Wall ${OBJCFLAGS_save}"; OBJCFLAGS="${OBJCFLAGS_save}"
783 if test "${ac_cv_c_Wsign_compare}" != "no"; then
784 CFLAGS_save="-Wsign-compare ${CFLAGS_save}"; CFLAGS="${CFLAGS_save}"
785 CXXFLAGS_save="-Wsign-compare ${CFLAGS_save}"; CXXFLAGS="${CXXFLAGS_save}"
786 OBJCFLAGS_save="-Wsign-compare ${OBJCFLAGS_save}"; OBJCFLAGS="${OBJCFLAGS_save}"
790 AC_CACHE_CHECK([if \$CC accepts -pipe],
792 [CFLAGS="${CFLAGS_save} -pipe"
793 AC_TRY_COMPILE([],,ac_cv_c_pipe=yes, ac_cv_c_pipe=no)])
794 if test "${ac_cv_c_pipe}" != "no"; then
795 CFLAGS_save="${CFLAGS_save} -pipe"; CFLAGS="${CFLAGS_save}"
796 CXXFLAGS_save="${CXXFLAGS_save} -pipe"; CXXFLAGS="${CXXFLAGS_save}"
797 OBJCFLAGS_save="${OBJCFLAGS_save} -pipe"; OBJCFLAGS="${OBJCFLAGS_save}"
800 dnl Check for various optimization flags
801 AC_CACHE_CHECK([if \$CC accepts -Os],
803 [CFLAGS="${CFLAGS_save} -Os"
804 AC_TRY_COMPILE([],,ac_cv_c_os=yes, ac_cv_c_os=no)])
805 if test "${ac_cv_c_os}" != "no" -a "${target_cpu}" = "mipsel"; then
806 CFLAGS_OPTIM="${CFLAGS_OPTIM} -Os"
809 AC_CACHE_CHECK([if \$CC accepts -O3],
811 [CFLAGS="${CFLAGS_save} -O3"
812 AC_TRY_COMPILE([],,ac_cv_c_o3=yes, ac_cv_c_o3=no)])
813 if test "${ac_cv_c_o3}" != "no" -a "${target_cpu}" != "mipsel"; then
814 CFLAGS_OPTIM="${CFLAGS_OPTIM} -O3"
817 AC_CACHE_CHECK([if \$CC accepts -O2],
819 [CFLAGS="${CFLAGS_save} -O2"
820 AC_TRY_COMPILE([],,ac_cv_c_o2=yes, ac_cv_c_o2=no)])
821 if test "${ac_cv_c_o2}" != "no" -a "${target_cpu}" != "mipsel"; then
822 if test "${ac_cv_c_o3}" = "no"; then
823 CFLAGS_OPTIM="${CFLAGS_OPTIM} -O2"
825 CFLAGS_NOOPTIM="${CFLAGS_NOOPTIM} -O2"
827 AC_CACHE_CHECK([if \$CC accepts -O],
829 [CFLAGS="${CFLAGS_save} -O"
830 AC_TRY_COMPILE([],,ac_cv_c_o=yes, ac_cv_c_o=no)])
831 if test "${ac_cv_c_o}" != "no" -a "${target_cpu}" != "mipsel"; then
832 if test "${ac_cv_c_o3}" = "no"; then
833 CFLAGS_OPTIM="${CFLAGS_OPTIM} -O"
835 CFLAGS_NOOPTIM="${CFLAGS_NOOPTIM} -O"
839 dnl Check for -ffast-math
840 AC_CACHE_CHECK([if \$CC accepts -ffast-math],
842 [CFLAGS="${CFLAGS_save} -ffast-math"
843 AC_TRY_COMPILE([],,ac_cv_c_fast_math=yes, ac_cv_c_fast_math=no)])
844 if test "${ac_cv_c_fast_math}" != "no"; then
845 CFLAGS_OPTIM="${CFLAGS_OPTIM} -ffast-math"
848 dnl Check for -funroll-loops
849 dnl Disabled on BeOS because BeOS' gcc is buggy and may crash with it
850 if test "${SYS}" != "beos"
852 AC_CACHE_CHECK([if \$CC accepts -funroll-loops],
853 [ac_cv_c_unroll_loops],
854 [CFLAGS="${CFLAGS_save} -funroll-loops"
855 AC_TRY_COMPILE([],,ac_cv_c_unroll_loops=yes, ac_cv_c_unroll_loops=no)])
856 if test "${ac_cv_c_unroll_loops}" != "no"; then
857 CFLAGS_OPTIM="${CFLAGS_OPTIM} -funroll-loops"
861 dnl Check for -fomit-frame-pointer
862 AC_CACHE_CHECK([if \$CC accepts -fomit-frame-pointer],
863 [ac_cv_c_omit_frame_pointer],
864 [CFLAGS="${CFLAGS_save} -fomit-frame-pointer"
865 AC_TRY_COMPILE([],,ac_cv_c_omit_frame_pointer=yes, ac_cv_c_omit_frame_pointer=no)])
866 if test "${ac_cv_c_omit_frame_pointer}" != "no"; then
867 CFLAGS_OPTIM_NODEBUG="${CFLAGS_OPTIM_NODEBUG} -fomit-frame-pointer"
868 # this plugin does not compile without -fomit-frame-pointer, damn gcc!
869 VLC_ADD_CFLAGS([i420_yuy2_mmx],[-fomit-frame-pointer])
872 dnl Check for -mdynamic-no-pic
873 AC_CACHE_CHECK([if \$CC accepts -mdynamic-no-pic],
874 [ac_cv_c_dynamic_no_pic],
875 [CFLAGS="${CFLAGS_save} -mdynamic-no-pic"
876 AC_TRY_COMPILE([],,ac_cv_c_dynamic_no_pic=yes, ac_cv_c_dynamic_no_pic=no)])
877 if test "${ac_cv_c_dynamic_no_pic}" != "no"; then
878 VLC_ADD_CFLAGS([builtin],[-mdynamic-no-pic])
879 VLC_ADD_CFLAGS([libvlc],[-mdynamic-no-pic])
882 dnl Check for Darwin plugin linking flags
883 AC_CACHE_CHECK([if \$CC accepts -bundle -undefined error -lcc_dynamic],
885 [CFLAGS="${CFLAGS_save} -bundle -undefined error -lcc_dynamic"
886 AC_TRY_COMPILE([],,ac_cv_ld_darwin=yes, ac_cv_ld_darwin=no)])
887 if test "${ac_cv_ld_darwin}" != "no"; then
888 VLC_ADD_LDFLAGS([plugin],[-bundle -undefined error])
889 AC_CHECK_LIB(cc_dynamic, main,[
890 VLC_ADD_LDFLAGS([plugin],[-lcc_dynamic])
894 dnl Check for standard plugin linking flags
895 dnl BeOS' gcc needs -nostart instead of -shared, even if -shared isn't harmful (just a warning)
896 if test "${SYS}" = "beos"; then
897 VLC_ADD_LDFLAGS([plugin mozilla],[-nostart])
899 AC_CACHE_CHECK([if \$CC accepts -shared],
901 [CFLAGS="${CFLAGS_save} -shared"
902 AC_TRY_COMPILE([],, ac_cv_ld_plugins=yes, ac_cv_ld_plugins=no)])
903 if test "${ac_cv_ld_plugins}" != "no"; then
904 VLC_ADD_LDFLAGS([plugin mozilla],[-shared])
908 dnl Check for variadic macros
909 AC_CACHE_CHECK([for variadic cpp macros],
910 [ac_cv_cpp_variadic_macros],
911 [CFLAGS="${CFLAGS_save}"
914 #define a(b,c...) printf(b,##c)],
915 [a("foo");a("%s","bar");a("%s%s","baz","quux");],
916 ac_cv_cpp_variadic_macros=yes,
917 ac_cv_cpp_variadic_macros=no)])
918 if test "${ac_cv_cpp_variadic_macros}" != "no"; then
919 AC_DEFINE(HAVE_VARIADIC_MACROS, 1, Support for variadic macros)
922 dnl Checks for __attribute__(aligned()) directive
923 AC_CACHE_CHECK([__attribute__ ((aligned ())) support],
924 [ac_cv_c_attribute_aligned],
925 [ac_cv_c_attribute_aligned=0
926 CFLAGS="${CFLAGS_save} -Werror"
927 for ac_cv_c_attr_align_try in 2 4 8 16 32 64; do
929 [static char c __attribute__ ((aligned(${ac_cv_c_attr_align_try}))) = 0; return c;],
930 [ac_cv_c_attribute_aligned="${ac_cv_c_attr_align_try}"])
932 CFLAGS="${CFLAGS_save}"])
933 if test "${ac_cv_c_attribute_aligned}" != "0"; then
934 AC_DEFINE_UNQUOTED([ATTRIBUTE_ALIGNED_MAX],
935 [${ac_cv_c_attribute_aligned}],[Maximum supported data alignment])
938 dnl Checks for __attribute__(format()) directive
939 AC_CACHE_CHECK([__attribute__ ((format ())) support with function pointers],
940 [ac_cv_c_attribute_format],
941 [ac_cv_c_attribute_format=no
942 CFLAGS="${CFLAGS_save} -Werror"
944 [static void (*pf_printf)(const char *, ...) __attribute__ ((format(printf,1,2)));(void)pf_printf;],
945 [ac_cv_c_attribute_format=yes])
946 CFLAGS="${CFLAGS_save}"])
947 if test "${ac_cv_c_attribute_format}" != "no"; then
948 AC_DEFINE(HAVE_ATTRIBUTE_FORMAT, 1, Support for __attribute__((format())) with function pointers)
951 dnl Check for __attribute__(())
952 AC_CACHE_CHECK([for __attribute__((packed))],
953 [ac_cv_c_attribute_packed],
954 [ac_cv_c_attribute_packed=no
955 AC_TRY_COMPILE(, [struct __attribute__((__packed__)) foo { int a; } b;],
956 [ac_cv_c_attribute_packed=yes])])
957 if test "${ac_cv_c_attribute_packed}" != "no"; then
958 AC_DEFINE(HAVE_ATTRIBUTE_PACKED, 1, Support for __attribute__((packed)) for structs)
964 case "${target_cpu}" in
977 [ --enable-gprof gprof profiling (default disabled)])
979 [ --enable-cprof cprof profiling (default disabled)])
980 test "${enable_gprof}" != "yes" && enable_gprof="no"
981 test "${enable_cprof}" != "yes" && enable_cprof="no"
986 VLC_ADD_PLUGINS([dummy logger memcpy])
987 VLC_ADD_PLUGINS([mpgv mpga m4v m4a h264 ps pva avi asf mp4 rawdv nsv real aiff mjpeg demuxdump flac])
988 VLC_ADD_PLUGINS([cvdsub svcdsub spudec subsdec dvbsub mpeg_audio lpcm a52 dts cinepak flacdec])
989 VLC_ADD_PLUGINS([deinterlace invert adjust transform distort motionblur rv32])
990 VLC_ADD_PLUGINS([fixed32tos16 s16tofixed32 u8tofixed32])
991 VLC_ADD_PLUGINS([trivial_resampler ugly_resampler])
992 VLC_ADD_PLUGINS([trivial_channel_mixer trivial_mixer])
993 VLC_ADD_PLUGINS([playlist export sgimb m3u nsc xtag])
994 VLC_ADD_PLUGINS([i420_rgb rawvideo blend scale image logo])
995 VLC_ADD_PLUGINS([wav araw subtitle vobsub adpcm a52sys dtssys au ty voc xa nuv])
996 VLC_ADD_PLUGINS([access_directory access_file access_udp access_tcp])
997 VLC_ADD_PLUGINS([access_http access_mms access_ftp ipv4])
998 VLC_ADD_PLUGINS([packetizer_mpegvideo packetizer_h264])
999 VLC_ADD_PLUGINS([packetizer_mpeg4video packetizer_mpeg4audio])
1001 if test "${SYS}" != "mingwce"; then
1002 dnl VLC_ADD_PLUGINS([externrun])
1003 VLC_ADD_PLUGINS([access_fake access_filter_timeshift access_filter_record])
1004 VLC_ADD_PLUGINS([gestures rc telnet hotkeys netsync showintf time marq shout sap fake])
1005 VLC_ADD_PLUGINS([rss mosaic wall motiondetect clone crop])
1006 VLC_ADD_PLUGINS([i420_yuy2 i422_yuy2 i420_ymga])
1007 VLC_ADD_PLUGINS([aout_file linear_resampler bandlimited_resampler])
1008 VLC_ADD_PLUGINS([float32_mixer spdif_mixer simple_channel_mixer])
1009 VLC_ADD_PLUGINS([headphone_channel_mixer normvol equalizer])
1010 VLC_ADD_PLUGINS([fixed32tofloat32 float32tos16 float32tos8 float32tou16 float32tou8 a52tospdif dtstospdif s16tofloat32 s16tofloat32swab s8tofloat32 u8tofloat32 audio_format])
1014 dnl Switch to enable a version of VLC where most modules will be builtin
1016 AC_ARG_ENABLE(mostly-builtin,
1017 [ --enable-mostly-builtin most modules will be built-in (default disabled)])
1018 if test "${enable_mostly_builtin}" = "yes"; then
1019 VLC_ADD_BUILTINS([${PLUGINS}])
1024 dnl Some plugins aren't useful on some platforms
1026 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
1027 VLC_ADD_PLUGINS([screensaver])
1028 elif test "${SYS}" != "mingwce"; then
1029 VLC_ADD_PLUGINS([ntservice access_smb dmo])
1030 VLC_ADD_LDFLAGS([dmo],[-lole32])
1032 VLC_ADD_PLUGINS([win32text])
1036 dnl Accelerated modules
1038 MMX_MODULES="memcpymmx i420_rgb_mmx i422_yuy2_mmx i420_ymga_mmx"
1039 #MMX_MODULES="${MMX_MODULES} idctmmx motionmmx"
1040 MMXEXT_MODULES="memcpymmxext"
1041 #MMXEXT_MODULES="${MMXEXT_MODULES} idctmmxext motionmmxext"
1042 THREEDNOW_MODULES="memcpy3dn"
1044 ALTIVEC_MODULES="memcpyaltivec i420_yuy2_altivec"
1045 #ALTIVEC_MODULES="${ALTIVEC_MODULES} idctaltivec motionaltivec"
1047 if test "${enable_gprof}" != "yes"
1049 MMX_MODULES="${MMX_MODULES} i420_yuy2_mmx"
1052 AC_CACHE_CHECK([if \$CC groks MMX inline assembly],
1054 [CFLAGS="${CFLAGS_save}"
1055 AC_TRY_COMPILE(,[void *p;asm volatile("packuswb %%mm1,%%mm2"::"r"(p));],
1056 ac_cv_mmx_inline=yes, ac_cv_mmx_inline=no)])
1057 if test "${ac_cv_mmx_inline}" != "no"; then
1058 AC_DEFINE(CAN_COMPILE_MMX, 1, Define if \$CC groks MMX inline assembly.)
1059 ACCEL_MODULES="${ACCEL_MODULES} ${MMX_MODULES}"
1062 AC_CACHE_CHECK([if \$CC groks MMX EXT inline assembly],
1063 [ac_cv_mmxext_inline],
1064 [CFLAGS="${CFLAGS_save}"
1065 AC_TRY_COMPILE(,[void *p;asm volatile("maskmovq %%mm1,%%mm2"::"r"(p));],
1066 ac_cv_mmxext_inline=yes, ac_cv_mmxext_inline=no)])
1067 if test "${ac_cv_mmxext_inline}" != "no"; then
1068 AC_DEFINE(CAN_COMPILE_MMXEXT, 1, Define if \$CC groks MMX EXT inline assembly.)
1069 ACCEL_MODULES="${ACCEL_MODULES} ${MMXEXT_MODULES}"
1072 AC_CACHE_CHECK([if \$CC groks 3D Now! inline assembly],
1073 [ac_cv_3dnow_inline],
1074 [CFLAGS="${CFLAGS_save}"
1075 AC_TRY_COMPILE(,[void *p;asm volatile("pfadd %%mm1,%%mm2"::"r"(p));],
1076 ac_cv_3dnow_inline=yes, ac_cv_3dnow_inline=no)])
1077 if test "${ac_cv_3dnow_inline}" != "no"; then
1078 AC_DEFINE(CAN_COMPILE_3DNOW, 1, Define if \$CC groks 3D Now! inline assembly.)
1079 ACCEL_MODULES="${ACCEL_MODULES} ${THREEDNOW_MODULES}"
1082 AC_CACHE_CHECK([if \$CC groks SSE inline assembly],
1084 [CFLAGS="${CFLAGS_save}"
1085 AC_TRY_COMPILE(,[void *p;asm volatile("xorps %%xmm1,%%xmm2"::"r"(p));],
1086 ac_cv_sse_inline=yes, ac_cv_sse_inline=no)])
1087 if test "${ac_cv_sse_inline}" != "no" -a "${SYS}" != "mingw32" -a "${SYS}" != "solaris"; then
1088 AC_DEFINE(CAN_COMPILE_SSE, 1, Define if \$CC groks SSE inline assembly.)
1089 ACCEL_MODULES="${ACCEL_MODULES} ${SSE_MODULES}"
1092 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
1093 AC_CACHE_CHECK([if \$CC groks AltiVec inline assembly],
1094 [ac_cv_altivec_inline],
1095 [CFLAGS="${CFLAGS_save}"
1096 AC_TRY_COMPILE(,[asm volatile("vperm 0,1,2,3");],
1097 ac_cv_altivec_inline=yes,
1098 [CFLAGS="${CFLAGS_save} -Wa,-m7400"
1099 AC_TRY_COMPILE(,[asm volatile("vperm 0,1,2,3");],
1100 [ac_cv_altivec_inline="-Wa,-m7400"],
1101 ac_cv_altivec_inline=no)
1103 if test "${ac_cv_altivec_inline}" != "no"; then
1104 AC_DEFINE(CAN_COMPILE_ALTIVEC, 1, Define if \$CC groks AltiVec inline assembly.)
1105 if test "${ac_cv_altivec_inline}" != "yes"; then
1106 VLC_ADD_CFLAGS([idctaltivec],[${ac_cv_altivec_inline}])
1107 VLC_ADD_CFLAGS([motionaltivec],[${ac_cv_altivec_inline}])
1108 VLC_ADD_CFLAGS([memcpyaltivec],[${ac_cv_altivec_inline}])
1109 VLC_ADD_CFLAGS([i420_yuy2_altivec],[${ac_cv_altivec_inline}])
1110 VLC_ADD_CFLAGS([vlc],[${ac_cv_altivec_inline}])
1112 ACCEL_MODULES="${ACCEL_MODULES} ${ALTIVEC_MODULES}"
1115 dnl The AltiVec C extensions
1117 dnl There are several possible cases:
1118 dnl - OS X PPC, gcc 4.x: use -mpim-altivec, don't need <altivec.h>
1119 dnl - OS X PPC, gcc 3.x: need -faltivec, don't need <altivec.h>
1120 dnl - Linux PPC, gcc 4.x: need <altivec.h> which itself requires -maltivec
1121 dnl - Linux PPC, gcc 3.3: need <altivec.h> and -maltivec -mabi=altivec
1122 dnl - Linux PPC, gcc 3.x: need <altivec.h> and -fvec
1123 dnl - Others: test should fail
1124 AC_CACHE_CHECK([if \$CC groks AltiVec C extensions],
1126 [# OS X/PPC test (gcc 4.x)
1127 CFLAGS="${CFLAGS_save} -mpim-altivec"
1129 [vec_ld(0, (unsigned char *)0);],
1130 [ac_cv_c_altivec="-mpim-altivec"],
1131 [# OS X/PPC test (gcc 3.x)
1132 CFLAGS="${CFLAGS_save} -faltivec"
1134 [vec_ld(0, (unsigned char *)0);],
1135 [ac_cv_c_altivec="-faltivec"],
1136 dnl Below this are the Linux tests
1137 [# Linux/PPC test (gcc 4.x)
1138 CFLAGS="${CFLAGS_save} -maltivec"
1139 AC_TRY_COMPILE([#include <altivec.h>],
1140 [vec_ld(0, (unsigned char *)0);],
1141 [ac_cv_c_altivec="-maltivec"],
1142 [# Linux/PPC test (gcc 3.3)
1143 CFLAGS="${CFLAGS_save} -maltivec -mabi=altivec"
1144 AC_TRY_COMPILE([#include <altivec.h>],
1145 [vec_ld(0, (unsigned char *)0);],
1147 ac_cv_c_altivec_abi="-maltivec -mabi=altivec"],
1148 [# Linux/PPC test (gcc 3.3)
1149 CFLAGS="${CFLAGS_save} -fvec"
1150 AC_TRY_COMPILE([#include <altivec.h>],
1151 [vec_ld(0, (unsigned char *)0);],
1152 [ac_cv_c_altivec="-fvec"],
1153 [ac_cv_c_altivec=no])
1158 CFLAGS="${CFLAGS_save}"
1161 if test "${ac_cv_c_maltivec}" != "no"; then
1162 CPPFLAGS="${CPPFLAGS_save} ${ac_cv_c_maltivec}"
1164 AC_CHECK_HEADERS(altivec.h)
1165 CPPFLAGS="${CPPFLAGS_save}"
1167 if test "${ac_cv_c_altivec}" != "no"; then
1168 AC_DEFINE(CAN_COMPILE_C_ALTIVEC, 1, Define if your compiler groks C AltiVec extensions.)
1169 VLC_ADD_CFLAGS([vlc],[${ac_cv_c_altivec}])
1170 VLC_ADD_CFLAGS([idctaltivec motionaltivec],[${ac_cv_c_altivec}])
1171 VLC_ADD_CFLAGS([i420_yuy2_altivec memcpyaltivec deinterlace],[${ac_cv_c_altivec} ${ac_cv_c_altivec_abi}])
1172 ACCEL_MODULES="${ACCEL_MODULES} ${ALTIVEC_MODULES}"
1175 AC_CACHE_CHECK([if linker needs -framework vecLib],
1177 [LDFLAGS="${LDFLAGS_vlc} -framework vecLib"
1178 AC_TRY_LINK([],,ac_cv_ld_altivec=yes,ac_cv_ld_altivec=no)
1179 LDFLAGS="${LDFLAGS_save}"
1181 if test "${ac_cv_ld_altivec}" != "no"; then
1182 VLC_ADD_LDFLAGS([vlc idctaltivec motionaltivec memcpyaltivec],[-framework vecLib])
1184 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
1187 AC_ARG_WITH(,[Optimization options:])
1190 dnl Special arch tuning
1193 [ --with-tuning=ARCH enable special tuning for an architecture
1194 (default Pentium 2 on IA-32 and 750 on PPC)])
1195 if test -n "${with_tuning}"; then
1196 CFLAGS_TUNING="-mtune=${with_tuning}"
1198 if test "${target_cpu}" = "i686" -o "${target_cpu}" = "i586" -o "${target_cpu}" = "i486" -o "${target_cpu}" = "i386"; then
1199 CFLAGS_TUNING="-mtune=pentium2"
1200 elif test "${target_cpu}" = "x86_64"; then
1201 CFLAGS_TUNING="-mtune=athlon64"
1202 elif test "${target_cpu}" = "powerpc"; then
1203 CFLAGS_TUNING="-mtune=750";
1206 dnl NOTE: this can't be cached cleanly
1207 AS_IF([test "${CFLAGS_TUNING}"],
1208 [CFLAGS_save="${CFLAGS}"
1209 CFLAGS="${CFLAGS} ${CFLAGS_TUNING}"
1211 AC_MSG_CHECKING([whether $CC accepts ${CFLAGS_TUNING}])
1212 AC_COMPILE_IFELSE([ ], [tuning="yes"],
1213 [CFLAGS_TUNING=""; tuning="no"])
1215 AC_MSG_RESULT([$tuning])
1216 CFLAGS="${CFLAGS_save}"
1221 dnl x86 accelerations
1223 if test "${target_cpu}" = "i686" -o "${target_cpu}" = "i586" -o "${target_cpu}" = "x86" -o "${target_cpu}" = "i386" -o "${target_cpu}" = "x86_64"
1226 VLC_ADD_BUILTINS([${ACCEL_MODULES}])
1232 AC_ARG_ENABLE(optimize-memory,
1233 [ --enable-optimize-memory optimize memory usage over performance])
1234 if test "${enable_optimize_memory}" = "yes"; then
1235 AC_DEFINE(OPTIMIZE_MEMORY, 1, Define if you want to optimize memory usage over performance)
1239 dnl Enable/disable optimizations
1241 AC_ARG_ENABLE(optimizations,
1242 [ --disable-optimizations disable compiler optimizations (default enabled)])
1243 test "${enable_optimizations}" != "no" && enable_optimizations="yes"
1246 dnl AltiVec acceleration
1248 AC_ARG_ENABLE(altivec,
1249 [ --disable-altivec disable AltiVec optimizations (default enabled on PPC)],
1250 [ if test "${enable_altivec}" = "yes"; then ARCH="${ARCH} altivec";
1251 VLC_ADD_BUILTINS([${ACCEL_MODULES}]) fi ],
1252 [ if test "${target_cpu}" = "powerpc"; then ARCH="${ARCH} altivec";
1253 VLC_ADD_BUILTINS([${ACCEL_MODULES}]) fi ])
1258 AC_ARG_ENABLE(debug,
1259 [ --enable-debug debug mode (default disabled)])
1260 test "${enable_debug}" != "yes" && enable_debug="no"
1263 dnl Enable release-specific flags
1265 AC_ARG_ENABLE(release,
1266 [ --enable-release activate extra optimizations (default disabled)])
1267 test "${enable_release}" != "yes" && enable_release="no"
1273 [ --enable-sout Stream output modules (default enabled)])
1274 if test "${enable_sout}" != "no"
1276 VLC_ADD_PLUGINS([access_output_dummy access_output_udp access_output_file access_output_http])
1277 VLC_ADD_PLUGINS([mux_ps mux_avi mux_mp4 mux_asf mux_dummy mux_wav mux_mpjpeg])
1278 VLC_ADD_PLUGINS([packetizer_copy])
1280 VLC_ADD_PLUGINS([stream_out_dummy stream_out_standard stream_out_es stream_out_rtp stream_out_description vod_rtsp])
1281 VLC_ADD_PLUGINS([stream_out_duplicate stream_out_gather stream_out_display stream_out_transcode stream_out_bridge stream_out_mosaic_bridge])
1282 # VLC_ADD_PLUGINS([stream_out_transrate])
1284 AC_DEFINE(ENABLE_SOUT, 1, Define if you want the stream output support)
1287 dnl Check for libshout
1288 AC_ARG_ENABLE(shout,
1289 [ --enable-shout libshout output plugin (default disabled)])
1290 if test "${enable_shout}" = "yes"; then
1291 PKG_CHECK_MODULES(SHOUT, shout >= 2.1,
1292 [AC_DEFINE(HAVE_SHOUT, [], [Define if you have the libshout library])
1293 VLC_ADD_PLUGINS([access_output_shout])
1294 VLC_ADD_LDFLAGS([vlc access_output_shout],[$SHOUT_LIBS])
1295 VLC_ADD_CFLAGS([vlc access_output_shout],[$SHOUT_CFLAGS])],
1296 [AC_MSG_WARN(libshout library not found)])
1302 AC_ARG_ENABLE(httpd,
1303 [ --enable-httpd HTTP daemon (default enabled)])
1304 if test "${enable_httpd}" != "no"
1306 VLC_ADD_PLUGINS([http])
1307 AC_DEFINE(ENABLE_HTTPD, 1, Define if you want the HTTP dameon support)
1311 dnl VideoLAN manager
1314 [ --enable-vlm VideoLAN manager (default enabled)])
1315 if test "${enable_vlm}" != "no"
1317 AC_DEFINE(ENABLE_VLM, 1, Define if you want the VideoLAN manager support)
1323 AC_ARG_ENABLE(gnutls,
1324 [ --enable-gnutls gnutls TLS/SSL support (default enabled)])
1325 AS_IF([test "${enable_gnutls}" != "no"], [
1327 gcrypt_LIBS="-lgpg-error"
1328 AS_IF([test "${SYS}" = "mingw32"],
1329 [gcrypt_LIBS="${gcrypt_LIBS} -lws2_32"
1330 VLC_ADD_LDFLAGS([gnutls],[-lws2_32])]
1333 gnutls_LIBS="-lgcrypt -lz ${gcrypt_LIBS}"
1335 AC_CHECK_HEADER(gcrypt.h,
1336 [AC_CHECK_LIB(gcrypt, gcry_control,
1337 [AC_CHECK_HEADER(gnutls/gnutls.h,
1338 [AC_CHECK_LIB(gnutls, gnutls_certificate_verify_peers2,
1339 [have_gnutls="yes"],[old_gnutls="yes"], ${gnutls_LIBS})])],,
1342 AS_IF([test "${have_gnutls}" = "yes"], [
1343 VLC_ADD_PLUGINS([gnutls])
1344 VLC_ADD_LDFLAGS([gnutls], [-lgnutls ${gnutls_LIBS}])
1346 AS_IF([test "${enable_gnutls}" = "yes"], [
1347 AC_MSG_ERROR([gnutls not present or too old (version 1.0.17 required)])]
1357 AC_ARG_WITH(,[Input plugins:])
1361 AC_ARG_ENABLE(livedotcom,
1362 [ --enable-livedotcom live.com RTSP input plugin (default disabled)])
1363 if test "${enable_livedotcom}" = "yes"; then
1364 AC_ARG_WITH(livedotcom-tree,
1365 [ --with-livedotcom-tree=PATH live.com tree for static linking])
1368 dnl test for --with-livedotcom-tree
1370 if test -z "${with_livedotcom_tree}" -a "${CXX}" != ""; then
1372 CPPFLAGS_save="${CPPFLAGS}"
1373 CPPFLAGS_livedotcom="-I/usr/include/liveMedia -I/usr/include/groupsock -I/usr/include/BasicUsageEnvironment -I/usr/include/UsageEnvironment"
1374 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_livedotcom}"
1375 AC_CHECK_HEADERS(liveMedia.hh, [
1376 VLC_ADD_CXXFLAGS([livedotcom], [${CPPFLAGS_livedotcom}])
1377 AC_CHECK_LIB(liveMedia_pic, main, [
1378 # We have -lliveMedia_pic, build plugins
1379 VLC_ADD_PLUGINS([livedotcom])
1380 VLC_ADD_LDFLAGS([livedotcom], [-lliveMedia_pic -lgroupsock_pic -lBasicUsageEnvironment_pic -lUsageEnvironment_pic])
1382 AC_CHECK_LIB(liveMedia, main, [
1383 # We only have -lliveMedia, do builtins
1384 VLC_ADD_BUILTINS([livedotcom])
1385 VLC_ADD_LDFLAGS([livedotcom], [-lliveMedia -lgroupsock -lBasicUsageEnvironment -lUsageEnvironment])
1388 if test "${SYS}" = "mingw32"; then
1389 # add ws2_32 for closesocket, select, recv
1390 VLC_ADD_LDFLAGS([livedotcom],[-lws2_32])
1393 CPPFLAGS="${CPPFLAGS_save}"
1396 AC_MSG_CHECKING(for liveMedia/libliveMedia.a in ${with_livedotcom_tree})
1397 real_livedotcom_tree="`cd ${with_livedotcom_tree} 2>/dev/null && pwd`"
1398 if test -z "${real_livedotcom_tree}"; then
1399 dnl The given directory can't be found
1401 AC_MSG_ERROR([cannot cd to ${with_livedotcom_tree}])
1403 if test -f "${real_livedotcom_tree}/liveMedia/libliveMedia.a"; then
1404 AC_MSG_RESULT(${real_livedotcom_tree}/liveMedia/libliveMedia.a)
1406 VLC_ADD_BUILTINS([livedotcom])
1408 if test "${SYS}" = "mingw32"; then
1409 # add ws2_32 for closesocket, select, recv
1410 VLC_ADD_LDFLAGS([livedotcom],[-lws2_32])
1413 VLC_ADD_LDFLAGS([livedotcom],[-L${real_livedotcom_tree}/liveMedia -lliveMedia])
1414 VLC_ADD_LDFLAGS([livedotcom],[-L${real_livedotcom_tree}/BasicUsageEnvironment -lBasicUsageEnvironment])
1415 VLC_ADD_LDFLAGS([livedotcom],[-L${real_livedotcom_tree}/groupsock -lgroupsock])
1416 VLC_ADD_LDFLAGS([livedotcom],[-L${real_livedotcom_tree}/UsageEnvironment -lUsageEnvironment])
1418 VLC_ADD_CXXFLAGS([livedotcom],[-I${real_livedotcom_tree}/BasicUsageEnvironment/include])
1419 VLC_ADD_CXXFLAGS([livedotcom],[-I${real_livedotcom_tree}/groupsock/include])
1420 VLC_ADD_CXXFLAGS([livedotcom],[-I${real_livedotcom_tree}/liveMedia/include])
1421 VLC_ADD_CXXFLAGS([livedotcom],[-I${real_livedotcom_tree}/UsageEnvironment/include ])
1423 dnl The given live.com wasn't built
1425 AC_MSG_ERROR([cannot find ${real_livedotcom_tree}/liveMedia/libliveMedia.a, make sure you compiled live.com in ${with_livedotcom_tree}])
1432 dnl dvdread module: check for libdvdread
1434 AC_ARG_ENABLE(dvdread,
1435 [ --enable-dvdread dvdread input module (default disabled)])
1436 if test "${enable_dvdread}" != "no"
1438 AC_ARG_WITH(dvdread,
1439 [ --with-dvdread=PATH libdvdread headers and libraries])
1440 AC_ARG_WITH(dvdread-tree,
1441 [ --with-dvdread-tree=PATH libdvdread tree for static linking])
1443 dnl Temporary hack (yeah, sure ;)
1444 if test "${SYS}" = "mingw32" || test "${SYS}" = "darwin" || test "${SYS}" = "beos" ; then
1445 VLC_ADD_LDFLAGS([dvdread],[-ldvdcss])
1448 if test -z "${with_dvdread}"
1450 if test -z "${with_dvdread_tree}"
1452 AC_CHECK_HEADERS(dvdread/dvd_reader.h,
1453 [ VLC_ADD_PLUGINS([dvdread])
1454 VLC_ADD_LDFLAGS([dvdread],[-ldvdread ${LDFLAGS_dvdcss}])
1456 if test -n "${enable_dvdread}"
1458 AC_MSG_ERROR([cannot find libdvdread headers])
1462 AC_MSG_CHECKING(for libdvdread.a in ${with_dvdread_tree})
1463 real_dvdread_tree="`cd ${with_dvdread_tree} 2>/dev/null && pwd`"
1464 if test -z "${real_dvdread_tree}"
1466 dnl The given directory can't be found
1468 AC_MSG_ERROR([cannot cd to ${with_dvdread_tree}])
1470 if test -f "${real_dvdread_tree}/dvdread/.libs/libdvdread.a"
1472 dnl Use a custom libdvdread
1473 AC_MSG_RESULT(${real_dvdread_tree}/dvdread/.libs/libdvdread.a)
1474 VLC_ADD_BUILTINS([dvdread])
1475 VLC_ADD_LDFLAGS([dvdread],[-L${real_dvdread_tree}/dvdread/.libs -ldvdread ${LDFLAGS_dvdcss}])
1476 VLC_ADD_CPPFLAGS([dvdread],[-I${real_dvdread_tree}])
1478 dnl The given libdvdread wasn't built
1480 AC_MSG_ERROR([cannot find ${real_dvdread_tree}/dvdread/.libs/libdvdread.a, make sure you compiled libdvdread in ${with_dvdread_tree}])
1484 AC_MSG_CHECKING(for dvdread headers in ${with_dvdread})
1485 if test -f ${with_dvdread}/include/dvdread/dvd_reader.h
1487 dnl Use ${with_dvdread}/include/dvdread/dvd_reader.h
1489 VLC_ADD_PLUGINS([dvdread])
1490 VLC_ADD_LDFLAGS([dvdread],[-L${with_dvdread}/lib -ldvdread ${LDFLAGS_dvdcss}])
1491 VLC_ADD_CPPFLAGS([dvdread],[-I${with_dvdread}/include])
1493 dnl No libdvdread could be found, sorry
1495 AC_MSG_ERROR([cannot find ${with_dvdread}/include/dvdread/dvd_reader.h])
1501 dnl libdvdnav plugin
1503 AC_ARG_ENABLE(dvdnav,
1504 [ --enable-dvdnav dvdnav input module (default enabled)])
1505 if test "${enable_dvdnav}" != "no"
1507 dnl Same hack than dvdread
1508 if test "${SYS}" = "mingw32" || test "${SYS}" = "darwin" || test "${SYS}" = "beos" ; then
1509 VLC_ADD_LDFLAGS([dvdnav],[-ldvdcss])
1512 DVDNAV_PATH="${PATH}"
1513 AC_ARG_WITH(dvdnav-config-path,
1514 [ --with-dvdnav-config-path=PATH dvdnav-config path (default search in \$PATH)],
1515 [ if test "${with_dvdnav_config_path}" != "no"
1517 DVDNAV_PATH="${with_dvdnav_config_path}:${PATH}"
1519 AC_PATH_PROG(DVDNAV_CONFIG, dvdnav-config, no, ${DVDNAV_PATH})
1520 if test "${DVDNAV_CONFIG}" != "no"
1522 VLC_ADD_PLUGINS([dvdnav])
1523 VLC_ADD_CFLAGS([dvdnav],[`${DVDNAV_CONFIG} --cflags`])
1524 VLC_ADD_LDFLAGS([dvdnav],[`${DVDNAV_CONFIG} --libs`])
1529 dnl Windows DirectShow access module
1531 AC_ARG_ENABLE(dshow,
1532 [ --enable-dshow Win32 DirectShow support (default enabled on Win32)])
1533 if test "${enable_dshow}" != "no"
1535 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
1537 AC_CHECK_HEADERS(dshow.h,
1538 [ VLC_ADD_PLUGINS([dshow])
1539 VLC_ADD_CXXFLAGS([dshow],[])
1540 VLC_ADD_LDFLAGS([dshow],[-lole32 -loleaut32 -luuid]) ])
1545 dnl libsmbclient plugin
1548 [ --enable-smb smb input module (default enabled)])
1549 if test "${enable_smb}" != "no"; then
1550 AC_CHECK_HEADERS(libsmbclient.h,
1551 [ VLC_ADD_PLUGINS([access_smb])
1552 VLC_ADD_LDFLAGS([access_smb],[-lsmbclient]) ],
1553 [ if test -n "${enable_smb}"; then
1554 AC_MSG_ERROR([cannot find libsmbclient headers])
1559 dnl libdvbpsi ts demux/mux
1561 AC_ARG_ENABLE(dvbpsi,
1562 [ --enable-dvbpsi dvbpsi ts mux and demux module (default enabled)])
1563 if test "${enable_dvbpsi}" != "no"
1566 [ --with-dvbpsi=PATH libdvbpsi headers and libraries])
1568 [ --with-dvbpsi-tree=PATH libdvbpsi tree for static linking])
1569 case "${with_dvbpsi}" in
1571 if test -z "${with_dvbpsi_tree}"
1573 AC_CHECK_HEADERS(dvbpsi/dr.h,
1574 [ VLC_ADD_PLUGINS([ts])
1575 if test "${enable_sout}" != "no"; then
1576 VLC_ADD_BUILTINS([mux_ts])
1578 VLC_ADD_LDFLAGS([mux_ts ts dvb],[-ldvbpsi]) ],
1579 [ AC_MSG_WARN([cannot find libdvbpsi headers]) ],
1580 [#if defined( HAVE_STDINT_H )
1581 # include <stdint.h>
1582 #elif defined( HAVE_INTTYPES_H )
1583 # include <inttypes.h>
1585 #include <dvbpsi/dvbpsi.h>
1586 #include <dvbpsi/descriptor.h>
1587 #include <dvbpsi/pat.h>
1588 #include <dvbpsi/pmt.h>])
1590 AC_MSG_CHECKING(for libdvbpsi.a in ${with_dvbpsi_tree})
1591 real_dvbpsi_tree="`cd ${with_dvbpsi_tree} 2>/dev/null && pwd`"
1592 if test -z "${real_dvbpsi_tree}"
1594 dnl The given directory can't be found
1596 AC_MSG_ERROR([cannot cd to ${with_dvbpsi_tree}])
1598 if test -f "${real_dvbpsi_tree}/src/.libs/libdvbpsi.a"
1600 dnl Use a custom libdvbpsi
1601 AC_MSG_RESULT(${real_dvbpsi_tree}/src/.libs/libdvbpsi.a)
1602 VLC_ADD_BUILTINS([ts])
1603 if test "${enable_sout}" != "no"; then
1604 VLC_ADD_BUILTINS([mux_ts])
1606 VLC_ADD_CPPFLAGS([mux_ts ts dvb],[-I${real_dvbpsi_tree}/src])
1607 VLC_ADD_LDFLAGS([mux_ts ts dvb],[-L${real_dvbpsi_tree}/src/.libs -ldvbpsi])
1609 dnl The given libdvbpsi wasn't built
1611 AC_MSG_ERROR([cannot find ${real_dvbpsi_tree}/src/.libs/libdvbpsi.a, make sure you compiled libdvbpsi in ${with_dvbpsi_tree}])
1616 dnl Compile without dvbpsi
1619 AC_MSG_CHECKING(for dvbpsi headers in ${with_dvbpsi})
1620 if test -z "${with_dvbpsi}"
1625 LDFLAGS_test="-L${with_dvbpsi}/lib"
1626 CPPFLAGS_test="-I${with_dvbpsi}/include"
1628 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_test}"
1629 AC_CHECK_HEADERS([dvbpsi/dr.h],[
1630 VLC_ADD_PLUGINS([ts])
1631 if test "${enable_sout}" != "no"; then
1632 VLC_ADD_PLUGINS([mux_ts])
1634 VLC_ADD_CPPFLAGS([mux_ts ts dvb],[${CPPFLAGS_test}])
1635 VLC_ADD_LDFLAGS([mux_ts ts dvb],[${LDFLAGS_test} -ldvbpsi])
1638 if test -n "${enable_dvbpsi}"
1640 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])
1643 CPPFLAGS="${CPPFLAGS_save}"
1649 dnl Video4Linux plugin
1652 [ --enable-v4l Video4Linux input support (default disabled)])
1653 if test "${enable_v4l}" = "yes"
1656 [ --with-v4l=PATH path to a v4l-enabled kernel tree],[],[])
1657 if test "${with_v4l}" != "no" -a -n "${with_v4l}"
1659 VLC_ADD_CPPFLAGS([v4l],[-I${with_v4l}/include])
1662 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_v4l}"
1663 AC_CHECK_HEADERS(linux/videodev.h, [
1664 VLC_ADD_PLUGINS([v4l])
1666 CPPFLAGS="${CPPFLAGS_save}"
1670 dnl special access module for Hauppauge PVR cards
1673 [ --enable-pvr PVR cards access module (default disabled)])
1674 if test "${enable_pvr}" = "yes"
1676 VLC_ADD_PLUGINS([pvr])
1679 dnl Need to test libcdio and libvcdinfo for a number of things. Do it now.
1680 AC_ARG_ENABLE(libcdio,
1681 [ --enable-libcdio CD input and control library support (default enabled)])
1685 if test "${enable_libcdio}" != "no"
1687 PKG_CHECK_MODULES(LIBCDIO, libcdio >= 0.72,
1689 AC_DEFINE(HAVE_LIBCDIO, [],
1690 [Define if you have libcdio 0.72 or greater installed]),
1691 [AC_MSG_WARN(CD Reading and information library not found)])
1693 PKG_CHECK_MODULES(VCDINFO, libvcdinfo >= 0.7.21,
1694 [have_libvcdinfo=yes
1695 AC_DEFINE(HAVE_VCDINFO, [],
1696 [Define if you have libvcdinfo 0.7.21 or greater installed])],
1697 [AC_MSG_WARN(VCD information library not found)])
1701 dnl VCDX and CDDAX modules
1703 AC_ARG_ENABLE(cddax,
1704 [ --enable-cddax audio CD plugin with CD Text and CD paranoia via libcdio (default disabled)])
1706 AC_ARG_ENABLE(libcddb,
1707 [ --enable-libcddb CDDB support for libcdio audio CD (default enabled)])
1709 if test "${enable_cddax}" = "yes"
1711 if test "$have_libcdio" = "yes"
1713 AC_DEFINE(HAVE_CDDAX, [], [Define for the audio CD plugin using libcdio])
1714 VLC_ADD_LDFLAGS([cddax],[$LIBCDIO_LIBS])
1715 VLC_ADD_CFLAGS([cddax],[$LIBCDIO_CFLAGS])
1716 VLC_ADD_PLUGINS([cddax])
1717 PKG_CHECK_MODULES(LIBCDIO_PARANOIA, libcdio_paranoia >= 0.72, [
1718 VLC_ADD_LDFLAGS([cddax],[$LIBCDIO_CDDA_LIBS $LIBCDIO_CDDA_LIBS $LIBCDIO_PARANOIA_LIBS])],
1719 AC_MSG_WARN([CD Paranoia support disabled because no libcdio >= 0.72 found]))
1721 AC_MSG_WARN([cddax plugin disabled because ok libcdio library not found or disabled])
1725 if test "$enable_libcddb" != "no"; then
1726 PKG_CHECK_MODULES(LIBCDDB, libcddb >= 0.9.5, [
1728 AC_DEFINE(HAVE_LIBCDDB, [], [Define this if you have libcddb installed])
1729 VLC_ADD_LDFLAGS([cddax],[$LIBCDDB_LIBS])
1730 VLC_ADD_CFLAGS([cddax],[$LIBCDDB_CFLAGS])
1732 [AC_MSG_WARN(new enough libcddb not found. CDDB access disabled)
1739 [ --enable-vcdx VCD with navigation via libvcdinfo (default disabled)])
1741 if test "${enable_vcdx}" = "yes"
1743 if test "${have_libvcdinfo}" = "yes"
1745 VLC_ADD_LDFLAGS([vcdx],[$VCDINFO_LIBS])
1746 VLC_ADD_CFLAGS([vcdx],[$VCDINFO_CFLAGS])
1748 AC_MSG_WARN([vcdx plugin disabled because ok libvcdinfo library not found or disabled])
1752 PKG_CHECK_MODULES(LIBCDIO, libiso9660 >= 0.72,
1753 [VLC_ADD_LDFLAGS([vcdx],[$LIBISO9660_LIBS])
1754 VLC_ADD_CFLAGS([vcdx],[$LIBISO9660_CFLAGS])],
1755 [AC_MSG_WARN([vcdx plugin disabled because ok libiso9660 library not found])
1758 if test "$have_libvcdinfo" = "yes"
1760 AC_DEFINE(HAVE_VCDX, [],
1761 [Define for the VCD plugin using libcdio/libvcdinfo])
1762 VLC_ADD_LDFLAGS([vcdx],[$VCDINFO_LIBS])
1763 VLC_ADD_CFLAGS([vcdx],[$VCDINFO_CFLAGS])
1764 VLC_ADD_PLUGINS([vcdx])
1766 AC_MSG_WARN([vcdx plugin disabled because ok libvcdinfo library not found])
1772 dnl Built-in CD-DA and VCD module
1775 [ --enable-cdda audio CD via built-in VCD (default enabled)])
1778 [ --enable-vcd built-in VCD (default enabled)])
1780 if test "${enable_vcd}" != "no"
1782 AC_MSG_CHECKING(for cdrom_msf0 in linux/cdrom.h)
1783 AC_EGREP_HEADER(cdrom_msf0,linux/cdrom.h,[
1785 VLC_ADD_PLUGINS([vcd cdda])
1790 AC_MSG_CHECKING(for scsireq in sys/scsiio.h)
1791 AC_EGREP_HEADER(scsireq,sys/scsiio.h,[
1793 VLC_ADD_PLUGINS([vcd cdda])
1794 AC_DEFINE(HAVE_SCSIREQ_IN_SYS_SCSIIO_H, 1, For NetBSD VCD support)
1799 AC_MSG_CHECKING(for ioc_toc_header in sys/cdio.h)
1800 AC_EGREP_HEADER(ioc_toc_header ,sys/cdio.h,[
1802 VLC_ADD_PLUGINS([vcd cdda])
1803 AC_DEFINE(HAVE_IOC_TOC_HEADER_IN_SYS_CDIO_H, 1, For FreeBSD VCD support)
1808 if test "${SYS}" = "bsdi" -o "${SYS}" = "mingw32"
1810 VLC_ADD_PLUGINS([vcd cdda])
1813 if test "${SYS}" = "darwin"
1815 VLC_ADD_PLUGINS([vcd cdda])
1816 VLC_ADD_LDFLAGS([vcd vcdx cdda cddax],[-framework IOKit -framework CoreFoundation])
1817 VLC_ADD_LDFLAGS([vcdx cddax],[-liconv])
1822 dnl DVB-S/DVB-T/DVB-C satellite/teresterial/cable input using v4l2
1825 [ --enable-dvb DVB-S/T/C card support (default disabled)])
1827 if test "${enable_dvb}" = "yes"
1830 [ --with-dvb=PATH path to a dvb- and v4l2-enabled kernel tree],[],[])
1831 if test "${with_dvb}" != "no" -a -n "${with_dvb}"
1833 VLC_ADD_CFLAGS([dvb],[-I${with_dvb}/include])
1835 CPPFLAGS="${CPPFLAGS_save} -I${with_dvb}/include"
1836 AC_CHECK_HEADERS(linux/dvb/version.h linux/dvb/frontend.h, [
1837 if test -z "${with_dvbpsi_tree}"
1839 VLC_ADD_PLUGINS([dvb])
1841 VLC_ADD_BUILTINS([dvb])
1843 ],[AC_MSG_WARN(linux-dvb headers not found, dvb disabled)])
1844 CPPFLAGS="${CPPFLAGS_save}"
1848 dnl Screen capture module
1850 AC_ARG_ENABLE(screen,
1851 [ --enable-screen Screen capture support (default enabled)])
1852 if test "${enable_screen}" != "no"; then
1853 if test "${SYS}" = "darwin"; then
1854 AC_CHECK_HEADERS(ApplicationServices/ApplicationServices.h, [
1855 VLC_ADD_PLUGINS([screen])
1856 VLC_ADD_LDFLAGS([screen],[-framework ApplicationServices])
1858 elif test "${SYS}" = "mingw32"; then
1859 VLC_ADD_PLUGINS([screen])
1860 VLC_ADD_LDFLAGS([screen],[-lgdi32])
1861 elif test "${SYS}" = "mingwce"; then
1862 CPPFLAGS="${CPPFLAGS_save}"
1863 elif test "${SYS}" = "beos"; then
1864 VLC_ADD_PLUGINS([screen])
1865 VLC_ADD_CXXFLAGS([screen],[])
1866 VLC_ADD_LDFLAGS([screen],[-lbe])
1868 CPPFLAGS="${CPPFLAGS_save} -I${x_includes}"
1869 AC_CHECK_HEADERS(X11/Xlib.h, [
1870 VLC_ADD_PLUGINS([screen])
1871 VLC_ADD_LDFLAGS([screen],[-L${x_libraries} -lX11 -lXext])
1872 VLC_ADD_CPPFLAGS([screen],[-I${x_includes}])
1874 CPPFLAGS="${CPPFLAGS_save}"
1879 dnl ipv6 plugin - not for QNX yet
1882 AC_CHECK_FUNCS(inet_pton,[have_ipv6=yes],[
1883 AC_CHECK_LIB(resolv,inet_pton,
1885 VLC_ADD_LDFLAGS([ipv6 vlc],[-lresolv])])
1888 AS_IF([test "${have_ipv6}" == "yes"], [
1889 AC_DEFINE(HAVE_INET_PTON, 1, [Define to 1 if you have inet_pton().])])
1891 if test "${SYS}" != "nto" &&
1892 test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
1894 AC_MSG_CHECKING(for sockaddr_in6 in netinet/in.h)
1895 AC_EGREP_HEADER(sockaddr_in6,netinet/in.h,
1896 [AC_MSG_RESULT(yes)], [AC_MSG_RESULT(no); have_ipv6=no])
1897 AS_IF([test "${have_ipv6}" != "no"], [
1898 VLC_ADD_PLUGINS([ipv6])])
1900 if test "${SYS}" = "mingw32"
1902 AC_MSG_CHECKING(for getaddrinfo in ws2tcpip.h)
1903 AC_EGREP_HEADER(addrinfo,ws2tcpip.h,[AC_MSG_RESULT(yes)
1904 VLC_ADD_PLUGINS([ipv6])],[AC_MSG_RESULT(no)])
1908 dnl ogg demux plugin
1911 [ --enable-ogg Ogg demux support (default enabled)])
1912 if test "${enable_ogg}" != "no"
1914 AC_CHECK_HEADERS(ogg/ogg.h, [
1915 AC_CHECK_LIB( ogg, oggpack_read, [
1916 VLC_ADD_PLUGINS([ogg])
1917 if test "${enable_sout}" != "no"; then
1918 VLC_ADD_PLUGINS([mux_ogg])
1920 VLC_ADD_LDFLAGS([ogg mux_ogg],[-logg])])
1925 dnl matroska demux plugin
1928 [ --enable-mkv Matroska demux support (default enabled)])
1929 if test "${enable_mkv}" != "no" -a "${CXX}" != ""; then
1931 AC_CHECK_HEADERS(ebml/EbmlVersion.h, [
1932 AC_MSG_CHECKING(for libebml version >= 0.7.3)
1934 [#include <ebml/EbmlVersion.h>
1935 #ifdef LIBEBML_VERSION
1936 #if LIBEBML_VERSION >= 0x000703
1940 [AC_MSG_RESULT([yes])
1941 AC_CHECK_HEADERS(matroska/KaxVersion.h, [
1942 AC_MSG_CHECKING(for libmatroska version >= 0.7.5)
1944 [#include <matroska/KaxVersion.h>
1945 #ifdef LIBMATROSKA_VERSION
1946 #if LIBMATROSKA_VERSION >= 0x000705
1950 [AC_MSG_RESULT([yes])
1951 AC_CHECK_HEADERS(matroska/KaxAttachments.h)
1952 VLC_ADD_CXXFLAGS([mkv],[])
1953 if test "${SYS}" = "darwin"; then
1954 VLC_ADD_CXXFLAGS([mkv],[-O1])
1956 AC_CHECK_LIB(ebml_pic, main, [
1957 # We have ebml_pic, that's good, we can build an mkv.so plugin !
1958 VLC_ADD_PLUGINS([mkv])
1959 VLC_ADD_LDFLAGS([mkv],[-lmatroska_pic -lebml_pic])
1961 AC_CHECK_LIB(ebml, main, [
1962 # We only have libebml, make mkv.a a builtin
1963 VLC_ADD_BUILTINS([mkv])
1964 VLC_ADD_LDFLAGS([mkv],[-lmatroska -lebml])
1968 [AC_MSG_RESULT([no])
1969 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.])
1973 [AC_MSG_RESULT([no])
1974 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.])
1981 dnl modplug demux plugin
1984 [ --enable-mod Mod demux support (default enabled)])
1985 if test "${enable_mod}" != "no"
1987 AC_CHECK_HEADERS(libmodplug/modplug.h, [
1988 VLC_ADD_PLUGINS([mod])
1989 VLC_ADD_CXXFLAGS([mod],[])
1990 VLC_ADD_LDFLAGS([mod],[-lmodplug])])
1997 AC_ARG_WITH(,[Codec plugins:])
2003 [ --enable-mad libmad module (default enabled)])
2004 if test "${enable_mad}" != "no"
2007 [ --with-mad=PATH path to libmad],[],[])
2008 if test "${with_mad}" != "no" -a -n "${with_mad}"
2010 VLC_ADD_CPPFLAGS([mpgatofixed32],[-I${with_mad}/include])
2011 VLC_ADD_LDFLAGS([mpgatofixed32],[-L${with_mad}/lib])
2014 AC_ARG_WITH(mad-tree,
2015 [ --with-mad-tree=PATH mad tree for static linking],[],[])
2016 if test "${with_mad_tree}" != "no" -a -n "${with_mad_tree}"
2018 real_mad_tree="`cd ${with_mad_tree} 2>/dev/null && pwd`"
2019 if test -z "${real_mad_tree}"
2021 dnl The given directory can't be found
2023 AC_MSG_ERROR([${with_mad_tree} directory doesn't exist])
2025 dnl Use a custom libmad
2026 AC_MSG_CHECKING(for mad.h in ${real_mad_tree})
2027 if test -f ${real_mad_tree}/mad.h
2030 VLC_ADD_CPPFLAGS([mpgatofixed32],[-I${real_mad_tree}])
2031 VLC_ADD_LDFLAGS([mpgatofixed32],[-L${real_mad_tree}/.libs])
2032 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_mpgatofixed32}"
2033 AC_CHECK_LIB(mad, mad_bit_init, [
2034 VLC_ADD_BUILTINS([mpgatofixed32])
2035 VLC_ADD_LDFLAGS([mpgatofixed32],[-lmad])
2036 ],[ AC_MSG_ERROR([the specified tree hasn't been compiled ])
2038 LDFLAGS="${LDFLAGS_save}"
2041 AC_MSG_ERROR([the specified tree doesn't have mad.h])
2044 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_mpgatofixed32}"
2045 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_mpgatofixed32}"
2046 AC_CHECK_HEADERS(mad.h, ,
2047 [ 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.]) ])
2048 AC_CHECK_LIB(mad, mad_bit_init, [
2049 VLC_ADD_PLUGINS([mpgatofixed32])
2050 VLC_ADD_LDFLAGS([mpgatofixed32],[-lmad])],
2051 [ AC_MSG_ERROR([Cannot find libmad library...]) ])
2052 CPPFLAGS="${CPPFLAGS_save}"
2053 LDFLAGS="${LDFLAGS_save}"
2058 dnl libid3tag support (FIXME!!! doesn't work with new input)
2060 AC_CHECK_HEADERS(id3tag.h, [
2061 AC_CHECK_HEADERS(zlib.h, [
2062 VLC_ADD_LDFLAGS([id3tag],[-lid3tag -lz])
2063 VLC_ADD_PLUGINS([id3tag])]) ])
2066 dnl ffmpeg decoder/demuxer plugin
2068 AC_ARG_ENABLE(ffmpeg,
2069 [ --enable-ffmpeg ffmpeg codec (default enabled)])
2070 if test "${enable_ffmpeg}" != "no"
2072 dnl Look for a ffmpeg-config (we are on debian )
2074 FFMPEG_PATH="${PATH}"
2075 AC_ARG_WITH(ffmpeg-config-path,
2076 [ --with-ffmpeg-config-path=PATH ffmpeg-config path (default search in \$PATH)],
2077 [ if test "${with_ffmpeg_config_path}" != "no"
2079 FFMPEG_PATH="${with_ffmpeg_config_path}"
2081 AC_PATH_PROG(FFMPEG_CONFIG, ffmpeg-config, no, ${FFMPEG_PATH})
2082 if test "${FFMPEG_CONFIG}" != "no"
2084 AC_CHECK_HEADERS(ffmpeg/avcodec.h)
2085 AC_CHECK_HEADERS(postproc/postprocess.h)
2086 VLC_ADD_PLUGINS([ffmpeg])
2087 if test "${enable_sout}" != "no"; then
2088 VLC_ADD_PLUGINS([stream_out_switcher])
2090 VLC_ADD_CFLAGS([ffmpeg stream_out_switcher],[`${FFMPEG_CONFIG} --cflags`])
2091 VLC_ADD_LDFLAGS([ffmpeg stream_out_switcher],[`${FFMPEG_CONFIG} --plugin-libs avcodec avformat postproc`])
2094 AC_ARG_WITH(ffmpeg-mp3lame,
2095 [ --with-ffmpeg-mp3lame specify if ffmpeg has been compiled with mp3lame support],
2097 VLC_ADD_LDFLAGS([ffmpeg],[-lmp3lame]) ])
2099 AC_ARG_WITH(ffmpeg-faac,
2100 [ --with-ffmpeg-faac specify if ffmpeg has been compiled with faac support],
2102 VLC_ADD_LDFLAGS([ffmpeg],[-lfaac]) ])
2104 AC_ARG_WITH(ffmpeg-dts,
2105 [ --with-ffmpeg-dts specify if ffmpeg has been compiled with dts support],
2107 VLC_ADD_LDFLAGS([ffmpeg],[-ldts]) ])
2109 AC_ARG_WITH(ffmpeg-zlib,
2110 [ --with-ffmpeg-zlib specify if ffmpeg has been compiled with zlib support],
2112 VLC_ADD_LDFLAGS([ffmpeg],[-lz]) ])
2114 AC_ARG_WITH(ffmpeg-tree,
2115 [ --with-ffmpeg-tree=PATH ffmpeg tree for static linking])
2118 dnl test for !(--with-ffmpeg-tree)
2120 if test "${with_ffmpeg_tree}" = "no" -o -z "${with_ffmpeg_tree}"; then
2121 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_ffmpeg}"
2122 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_ffmpeg}"
2123 AC_CHECK_HEADERS(ffmpeg/avcodec.h, [], [AC_MSG_ERROR([Missing header file ffmpeg/avcodec.h.])] )
2124 AC_CHECK_HEADERS(postproc/postprocess.h, [], [AC_MSG_ERROR([Missing header file postproc/postprocess.h.])] )
2126 AC_CHECK_LIB(avutil, av_add_i, [
2127 VLC_ADD_LDFLAGS([ffmpeg],[-lavutil])
2128 LDAVUTIL="-lavutil"])
2130 AC_CHECK_LIB(avcodec, avcodec_init, [
2131 VLC_ADD_BUILTINS([ffmpeg])
2132 VLC_ADD_LDFLAGS([ffmpeg],[-lavcodec])
2133 if test "${enable_sout}" != "no"; then
2134 VLC_ADD_BUILTINS([stream_out_switcher])
2136 [ 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.]) ], [$LDAVUTIL])
2137 AC_CHECK_LIB(avformat, av_open_input_stream, [
2138 AC_DEFINE(HAVE_LIBAVFORMAT, 1,
2139 [Define if you have ffmpeg's libavformat.])
2140 VLC_ADD_LDFLAGS([ffmpeg],[-lavformat -lz]) ], [], [-lavcodec -lz $LDAVUTIL])
2141 LDFLAGS="${LDFLAGS_save}"
2142 CPPFLAGS="${CPPFLAGS_save}"
2146 dnl test for --with-ffmpeg-tree
2148 if test "${with_ffmpeg_tree}" != "no" -a -n "${with_ffmpeg_tree}"; then
2149 AC_MSG_CHECKING(for libavcodec.a in ${with_ffmpeg_tree})
2150 real_ffmpeg_tree="`cd ${with_ffmpeg_tree} 2>/dev/null && pwd`"
2151 if test -z "${real_ffmpeg_tree}"; then
2152 dnl The given directory can't be found
2154 AC_MSG_ERROR([cannot cd to ${with_ffmpeg_tree}])
2156 if ! test -f "${real_ffmpeg_tree}/libavcodec/libavcodec.a"; then
2157 dnl The given libavcodec wasn't built
2159 AC_MSG_ERROR([cannot find ${real_ffmpeg_tree}/libavcodec/libavcodec.a, make sure you compiled libavcodec in ${with_ffmpeg_tree}])
2161 if ! fgrep -s "pp_get_context" "${real_ffmpeg_tree}/libavcodec/libavcodec.a"; then
2162 dnl The given libavcodec wasn't built with --enable-pp
2164 AC_MSG_ERROR([${real_ffmpeg_tree}/libavcodec/libavcodec.a was not compiled with postprocessing support, make sure you configured ffmpeg with --enable-pp])
2166 dnl Use a custom libffmpeg
2167 AC_MSG_RESULT(${real_ffmpeg_tree}/libavcodec/libavcodec.a)
2169 if fgrep -s "CONFIG_ZLIB=yes" "${real_ffmpeg_tree}/config.mak"; then
2170 if test "${with_ffmpeg_zlib}" != "yes"; then
2171 VLC_ADD_LDFLAGS([ffmpeg],[-lz])
2174 if fgrep -s "CONFIG_MP3LAME=yes" "${real_ffmpeg_tree}/config.mak"; then
2175 if test "${with_ffmpeg_mp3lame}" != "yes"; then
2176 VLC_ADD_LDFLAGS([ffmpeg],[-lmp3lame])
2179 if fgrep -s "CONFIG_FAAC=yes" "${real_ffmpeg_tree}/config.mak"; then
2180 if test "${with_ffmpeg_faac}" != "yes"; then
2181 VLC_ADD_LDFLAGS([ffmpeg],[-lfaac])
2184 if fgrep -s "CONFIG_DTS=yes" "${real_ffmpeg_tree}/config.mak"; then
2185 if test "${with_ffmpeg_dts}" != "yes"; then
2186 VLC_ADD_LDFLAGS([ffmpeg],[-ldts])
2189 if fgrep -s "CONFIG_VORBIS=yes" "${real_ffmpeg_tree}/config.mak"; then
2190 VLC_ADD_LDFLAGS([ffmpeg],[-lvorbis -lvorbisenc])
2192 if fgrep -s "CONFIG_FAAD=yes" "${real_ffmpeg_tree}/config.mak"; then
2193 VLC_ADD_LDFLAGS([ffmpeg],[-lfaad])
2195 if fgrep -s "CONFIG_XVID=yes" "${real_ffmpeg_tree}/config.mak"; then
2196 VLC_ADD_LDFLAGS([ffmpeg],[-lxvidcore])
2199 VLC_ADD_BUILTINS([ffmpeg])
2200 if test "${enable_sout}" != "no"; then
2201 VLC_ADD_BUILTINS([stream_out_switcher])
2204 if test -f "${real_ffmpeg_tree}/libavutil/libavutil.a"; then
2205 VLC_ADD_LDFLAGS([ffmpeg],[-L${real_ffmpeg_tree}/libavutil ${real_ffmpeg_tree}/libavutil/libavutil.a])
2206 VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher],[-I${real_ffmpeg_tree}/libavutil])
2209 VLC_ADD_LDFLAGS([ffmpeg],[-L${real_ffmpeg_tree}/libavcodec ${real_ffmpeg_tree}/libavcodec/libavcodec.a])
2210 VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher],[-I${real_ffmpeg_tree}/libavcodec])
2212 if test -f "${real_ffmpeg_tree}/libavformat/libavformat.a"; then
2213 AC_DEFINE(HAVE_LIBAVFORMAT, 1, [Define if you have ffmpeg's libavformat.])
2214 VLC_ADD_LDFLAGS([ffmpeg],[-L${real_ffmpeg_tree}/libavformat ${real_ffmpeg_tree}/libavformat/libavformat.a])
2215 VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher],[-I${real_ffmpeg_tree}/libavformat])
2222 dnl ffmpeg decoder/demuxer plugin
2224 AC_ARG_ENABLE(ffmpegaltivec,
2225 [ --enable-ffmpegaltivec ffmpegaltivec codec (DO NOT USE)])
2226 if test "${enable_ffmpegaltivec}" == "yes"
2228 if test "${with_ffmpeg_tree}" != "no" -a -n "${with_ffmpeg_tree}"; then
2229 AC_MSG_CHECKING(for libavcodecaltivec.a in ${with_ffmpeg_tree})
2230 real_ffmpeg_tree="`cd ${with_ffmpeg_tree} 2>/dev/null && pwd`"
2231 if test -z "${real_ffmpeg_tree}"; then
2232 dnl The given directory can't be found
2234 AC_MSG_ERROR([cannot cd to ${with_ffmpeg_tree}])
2236 if ! test -f "${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a"; then
2237 dnl The given libavcodecaltivec wasn't built
2239 AC_MSG_ERROR([cannot find ${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a, make sure you compiled libavcodecaltivec in ${with_ffmpeg_tree}])
2241 if ! fgrep -s "pp_get_context" "${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a"; then
2242 dnl The given libavcodecaltivec wasn't built with --enable-pp
2244 AC_MSG_ERROR([${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a was not compiled with postprocessing support, make sure you configured ffmpeg with --enable-pp])
2246 dnl Use a custom libffmpeg
2247 AC_MSG_RESULT(${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a)
2248 VLC_ADD_BUILTINS([ffmpegaltivec])
2249 VLC_ADD_LDFLAGS([ffmpegaltivec],[-L${real_ffmpeg_tree}/libavcodec -lavcodecaltivec])
2250 VLC_ADD_CPPFLAGS([ffmpeg],[-DNO_ALTIVEC_IN_FFMPEG])
2251 VLC_ADD_CPPFLAGS([ffmpegaltivec],[-I${real_ffmpeg_tree}/libavcodec -I${real_ffmpeg_tree}/libavformat])
2253 if test -f "${real_ffmpeg_tree}/libavformat/libavformat.a"; then
2254 AC_DEFINE(HAVE_LIBAVFORMAT, 1, [Define if you have ffmpeg's libavformat.])
2255 VLC_ADD_LDFLAGS([ffmpegaltivec],[-L${real_ffmpeg_tree}/libavformat -lavformataltivec -lz])
2256 VLC_ADD_CPPFLAGS([ffmpegaltivec],[-I${real_ffmpeg_tree}/libavformat])
2258 VLC_ADD_LDFLAGS([stream_out_switcher],[-L${real_ffmpeg_tree}/libavcodec])
2259 VLC_ADD_CPPFLAGS([stream_out_switcher],[-I${real_ffmpeg_tree}/libavcodec -I${real_ffmpeg_tree}/libavformat])
2264 dnl faad decoder plugin
2267 [ --enable-faad faad codec (default disabled)])
2268 if test "${enable_faad}" = "yes"
2270 AC_ARG_WITH(faad-tree,
2271 [ --with-faad-tree=PATH faad tree for static linking])
2272 if test -n "${with_faad_tree}"
2274 AC_MSG_CHECKING(for libfaad.a in ${with_faad_tree})
2275 real_faad_tree="`cd ${with_faad_tree} 2>/dev/null && pwd`"
2276 if test -z "${real_faad_tree}"
2278 dnl The given directory can't be found
2280 AC_MSG_ERROR([cannot cd to ${with_faad_tree}])
2282 if test -f "${real_faad_tree}/libfaad/.libs/libfaad.a"
2284 dnl Use a custom faad
2285 AC_MSG_RESULT(${real_faad_tree}/libfaad/.libs/libfaad.a)
2286 VLC_ADD_BUILTINS([faad])
2287 VLC_ADD_LDFLAGS([faad],[${real_faad_tree}/libfaad/.libs/libfaad.a])
2288 VLC_ADD_CPPFLAGS([faad],[-I${real_faad_tree}/include])
2290 dnl The given libfaad wasn't built
2292 AC_MSG_ERROR([cannot find ${real_faad_tree}/libfaad/.libs/libfaad.a, make sure you compiled libfaad in ${with_faad_tree}])
2295 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_faad}"
2296 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_faad}"
2297 AC_CHECK_HEADERS(faad.h, ,
2298 [ AC_MSG_ERROR([Cannot find development headers for libfaad...]) ])
2299 AC_CHECK_LIB(faad, faacDecOpen, [
2300 VLC_ADD_PLUGINS([faad])
2301 VLC_ADD_LDFLAGS([faad],[-lfaad]) ],
2302 AC_CHECK_LIB(faad, NeAACDecOpen, [
2303 VLC_ADD_PLUGINS([faad])
2304 VLC_ADD_LDFLAGS([faad],[-lfaad]) ],
2305 [ AC_MSG_ERROR([Cannot find libfaad library...]) ]))
2306 LDFLAGS="${LDFLAGS_save}"
2307 CPPFLAGS="${CPPFLAGS_save}"
2312 dnl twolame encoder plugin
2314 AC_ARG_ENABLE(twolame,
2315 [ --enable-twolame twolame codec (default disabled)])
2316 if test "${enable_twolame}" = "yes"
2318 AC_ARG_WITH(twolame-tree,
2319 [ --with-twolame-tree=PATH twolame tree for static linking])
2320 if test -n "${with_twolame_tree}"
2322 AC_MSG_CHECKING(for libtwolame.a in ${with_twolame_tree})
2323 real_twolame_tree="`cd ${with_twolame_tree} 2>/dev/null && pwd`"
2324 if test -z "${real_twolame_tree}"
2326 dnl The given directory can't be found
2328 AC_MSG_ERROR([cannot cd to ${with_twolame_tree}])
2330 if test -f "${real_twolame_tree}/src/libtwolame/.libs/libtwolame.a"
2332 dnl Use a custom twolame
2333 AC_MSG_RESULT(${real_twolame_tree}/src/libtwolame/.libs/libtwolame.a)
2334 VLC_ADD_BUILTINS([twolame])
2335 VLC_ADD_LDFLAGS([twolame],[${real_twolame_tree}/src/libtwolame/.libs/libtwolame.a])
2336 VLC_ADD_CPPFLAGS([twolame],[-I${real_twolame_tree}/src/libtwolame])
2338 dnl The given libtwolame wasn't built
2340 AC_MSG_ERROR([cannot find ${real_twolame_tree}/src/libtwolame/.libs/libtwolame.a, make sure you compiled libtwolame in ${with_twolame_tree}])
2343 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_twolame}"
2344 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_twolame}"
2345 AC_CHECK_HEADERS(twolame.h, ,
2346 [ AC_MSG_ERROR([Cannot find development header for libtwolame...]) ])
2347 AC_CHECK_LIB(twolame, twolame_init, [
2348 VLC_ADD_PLUGINS([twolame])
2349 VLC_ADD_LDFLAGS([twolame],[-ltwolame]) ],
2350 [ AC_MSG_ERROR([Cannot find libtwolame library...]) ])
2351 LDFLAGS="${LDFLAGS_save}"
2352 CPPFLAGS="${CPPFLAGS_save}"
2357 dnl QuickTime plugin
2359 AC_ARG_ENABLE(quicktime,
2360 [ --enable-quicktime QuickTime module (default enabled on MacOS X)])
2361 if test "${enable_quicktime}" != "no" &&
2362 (test "${SYS}" = "darwin" || test "${enable_quicktime}" = "yes")
2364 if test "${SYS}" = "mingw32"; then
2365 VLC_ADD_BUILTINS([quicktime])
2367 AC_CHECK_HEADERS(QuickTime/QuickTime.h,
2368 [ VLC_ADD_BUILTINS([quicktime])
2369 VLC_ADD_LDFLAGS([quicktime],[-framework QuickTime -framework Carbon])
2370 ], [ AC_MSG_ERROR([cannot find QuickTime headers]) ])
2377 AC_CHECK_HEADERS(zlib.h, [
2378 VLC_ADD_LDFLAGS([mp4 skins2 sap mkv],[-lz])
2381 AC_CHECK_HEADERS(sysfs/libsysfs.h, [
2382 VLC_ADD_LDFLAGS([mp4 mkv],[-lsysfs])
2388 AC_CHECK_HEADERS(libtar.h, [
2389 VLC_ADD_LDFLAGS([skins2],[-ltar])
2395 dnl A52/AC3 decoder plugin
2398 [ --enable-a52 A/52 support with liba52 (default enabled)])
2399 if test "${enable_a52}" != "no"
2402 [ --with-a52=PATH a52 headers and libraries])
2403 AC_ARG_WITH(a52-tree,
2404 [ --with-a52-tree=PATH a52dec tree for static linking ],[],[])
2405 if test "${with_a52_tree}" != "no" -a -n "${with_a52_tree}"
2407 real_a52_tree="`cd ${with_a52_tree} 2>/dev/null && pwd`"
2408 if test -z "${real_a52_tree}"
2410 dnl The given directory can't be found
2412 AC_MSG_ERROR([${with_a52_tree} directory doesn't exist])
2414 dnl Use a custom a52dec
2415 AC_MSG_CHECKING(for a52.h in ${real_a52_tree}/include)
2416 if test -f ${real_a52_tree}/include/a52.h
2419 VLC_ADD_CPPFLAGS([a52tofloat32],[-I${real_a52_tree}])
2420 VLC_ADD_LDFLAGS([a52tofloat32],[-L${real_a52_tree}/liba52/.libs])
2421 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_a52tofloat32}"
2422 AC_CHECK_LIB(a52, a52_free, [
2423 VLC_ADD_BUILTINS([a52tofloat32])
2424 VLC_ADD_CPPFLAGS([a52tofloat32],[-DUSE_A52DEC_TREE])
2425 VLC_ADD_LDFLAGS([a52tofloat32],[-la52])
2427 if test -f ${real_a52_tree}/liba52/.libs/liba52.a
2429 AC_MSG_ERROR([make sure you have at least a52dec-0.7.3])
2431 AC_MSG_ERROR([the specified tree hasn't been compiled])
2434 LDFLAGS="${LDFLAGS_save}"
2437 AC_MSG_ERROR([the specified tree doesn't have a52.h])
2440 if test -z "${with_a52}"
2445 LDFLAGS_test="-L${with_a52}/lib"
2446 CPPFLAGS_test="-I${with_a52}/include"
2448 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_test} ${CPPFLAGS_a52tofloat32}"
2449 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_test} ${LDFLAGS_a52tofloat32}"
2450 AC_CHECK_HEADERS(a52dec/a52.h, [
2451 AC_CHECK_LIB(a52, a52_free, [
2452 VLC_ADD_PLUGINS([a52tofloat32])
2453 VLC_ADD_LDFLAGS([a52tofloat32],[${LDFLAGS_test} -la52])
2454 VLC_ADD_CPPFLAGS([a52tofloat32],[${CPPFLAGS_test}])
2456 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.])
2459 CPPFLAGS="${CPPFLAGS_save}"
2460 LDFLAGS="${LDFLAGS_save}"
2464 AC_ARG_WITH(a52-fixed,
2465 [ --with-a52-fixed specify if liba52 has been compiled with fixed point support],
2467 VLC_ADD_CPPFLAGS([a52tofloat32],[-DLIBA52_FIXED]) ])
2470 dnl DTS Coherent Acoustics decoder plugin
2473 [ --enable-dts DTS Coherent Acoustics support with libdts (default enabled)])
2474 if test "${enable_dts}" != "no"; then
2475 AC_ARG_WITH(dts-tree,
2476 [ --with-dts-tree=PATH libdts tree for static linking ],[],[])
2477 if test "${with_dts_tree}" != "no" -a -n "${with_dts_tree}"
2479 real_dts_tree="`cd ${with_dts_tree} 2>/dev/null && pwd`"
2480 if test -z "${real_dts_tree}"
2482 dnl The given directory can't be found
2484 AC_MSG_ERROR([${with_dts_tree} directory doesn't exist])
2486 dnl Use a custom libdts
2487 AC_MSG_CHECKING(for dts.h in ${real_dts_tree}/include)
2488 if test -f ${real_dts_tree}/include/dts.h
2491 VLC_ADD_CPPFLAGS([dtstofloat32],[-I${real_dts_tree}/include])
2492 VLC_ADD_LDFLAGS([dtstofloat32],[-L${real_dts_tree}/libdts])
2493 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_dtstofloat32}"
2494 AC_CHECK_LIB(dts_pic, dts_free, [
2495 VLC_ADD_PLUGINS([dtstofloat32])
2496 VLC_ADD_LDFLAGS([dtstofloat32],[-ldts_pic])
2498 AC_CHECK_LIB(dts, dts_free, [
2499 VLC_ADD_BUILTINS([dtstofloat32])
2500 VLC_ADD_LDFLAGS([dtstofloat32],[-ldts])
2502 if test -f ${real_dts_tree}/libdts/libdts.a
2504 AC_MSG_ERROR([make sure you have at least libdts-0.0.2])
2506 AC_MSG_ERROR([the specified tree hasn't been compiled])
2510 LDFLAGS="${LDFLAGS_save}"
2513 AC_MSG_ERROR([the specified tree doesn't have dts.h])
2516 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_dtstofloat32}"
2517 AC_CHECK_HEADERS(dts.h, [
2518 AC_CHECK_LIB(dts_pic, dts_free, [
2519 VLC_ADD_PLUGINS([dtstofloat32])
2520 VLC_ADD_LDFLAGS([dtstofloat32],[-ldts_pic])
2522 AC_CHECK_LIB(dts, dts_free, [
2523 VLC_ADD_BUILTINS([dtstofloat32])
2524 VLC_ADD_LDFLAGS([dtstofloat32],[-ldts])
2526 if test "${enable_dts}" = "yes"; then
2527 AC_MSG_ERROR([Could not find libdts on your system: you may get it from http://www.videolan.org/dtsdec.html])
2532 LDFLAGS="${LDFLAGS_save}"
2540 [ --enable-flac flac decoder support (default disabled)])
2541 if test "${enable_flac}" = "yes"
2543 AC_CHECK_HEADERS(FLAC/stream_decoder.h, [
2544 VLC_ADD_LDFLAGS([flacdec],[-lFLAC])
2551 AC_ARG_ENABLE(libmpeg2,
2552 [ --enable-libmpeg2 libmpeg2 decoder support (default enabled)])
2553 if test "${enable_libmpeg2}" != "no"
2555 AC_ARG_WITH(libmpeg2-tree,
2556 [ --with-libmpeg2-tree=PATH libmpeg2 tree for static linking])
2557 if test -n "${with_libmpeg2_tree}"
2559 AC_MSG_CHECKING(for libmpeg2.a in ${with_libmpeg2_tree})
2560 real_libmpeg2_tree="`cd ${with_libmpeg2_tree} 2>/dev/null && pwd`"
2561 if test -z "${real_libmpeg2_tree}"
2563 dnl The given directory can't be found
2565 AC_MSG_ERROR([cannot cd to ${with_libmpeg2_tree}])
2567 if test -f "${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a"
2569 dnl Use a custom libmpeg2
2570 AC_MSG_RESULT(${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a)
2571 VLC_ADD_BUILTINS([libmpeg2])
2572 VLC_ADD_LDFLAGS([libmpeg2],[-L${real_libmpeg2_tree}/libmpeg2/.libs -lmpeg2])
2573 VLC_ADD_CFLAGS([libmpeg2],[-I${real_libmpeg2_tree}/include])
2574 eval "`cd ${real_libmpeg2_tree}/include && ln -sf . mpeg2dec 2>/dev/null`"
2576 dnl The given libmpeg2 wasn't built
2578 AC_MSG_ERROR([cannot find ${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a, make sure you compiled libmpeg2 in ${with_libmpeg2_tree}])
2581 AC_CHECK_HEADERS(mpeg2dec/mpeg2.h, [
2582 AC_MSG_CHECKING(for libmpeg2 version >= 0.3.2)
2584 [#include <mpeg2dec/mpeg2.h>
2585 #ifdef MPEG2_RELEASE
2586 #if MPEG2_RELEASE >= MPEG2_VERSION(0,3,2)
2590 [AC_MSG_RESULT([yes])
2591 VLC_ADD_PLUGINS([libmpeg2])
2592 VLC_ADD_LDFLAGS([libmpeg2],[-lmpeg2])],
2593 [AC_MSG_RESULT([no])
2594 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.])])],
2596 [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.])]
2604 AC_ARG_ENABLE(vorbis,
2605 [ --enable-vorbis Vorbis decoder support (default enabled)])
2606 if test "${enable_vorbis}" != "no"
2608 AC_CHECK_HEADERS(vorbis/codec.h, [
2609 VLC_ADD_PLUGINS([vorbis])
2610 VLC_ADD_LDFLAGS([vorbis],[-lvorbis -logg]) ],[])
2612 AC_CHECK_HEADERS(vorbis/vorbisenc.h, [
2613 VLC_ADD_LDFLAGS([vorbis],[-lvorbisenc]) ],[])
2619 AC_ARG_ENABLE(tremor,
2620 [ --enable-tremor Tremor decoder support (default disabled)])
2621 if test "${enable_tremor}" = "yes"
2623 AC_CHECK_HEADERS(tremor/ivorbiscodec.h, [
2624 VLC_ADD_PLUGINS([tremor])
2625 VLC_ADD_LDFLAGS([tremor],[-lvorbisidec -logg])
2632 AC_ARG_ENABLE(speex,
2633 [ --enable-speex Speex decoder support (default enabled)])
2634 if test "${enable_speex}" != "no"
2636 AC_CHECK_HEADERS(speex/speex.h, [
2637 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_speex}"
2638 AC_CHECK_LIB(speex, speex_decode_int, [
2639 VLC_ADD_PLUGINS([speex])
2640 VLC_ADD_LDFLAGS([speex],[-lspeex]) ],
2641 [ AC_MSG_RESULT([no])
2642 AC_MSG_WARN([Your libspeex is too old, please get the development
2644 LDFLAGS="${LDFLAGS_save}"
2649 dnl tarkin decoder plugin
2651 AC_ARG_ENABLE(tarkin,
2652 [ --enable-tarkin experimental tarkin codec (default disabled)])
2653 if test "${enable_tarkin}" = "yes"
2655 AC_ARG_WITH(tarkin-tree,
2656 [ --with-tarkin-tree=PATH tarkin tree for static linking])
2657 if test -n "${with_tarkin_tree}"
2659 AC_MSG_CHECKING(for tarkin.o in ${with_tarkin_tree})
2660 real_tarkin_tree="`cd ${with_tarkin_tree} 2>/dev/null && pwd`"
2661 if test -f "${real_tarkin_tree}/tarkin.o"
2663 VLC_ADD_BUILTINS([tarkin])
2664 VLC_ADD_CPPFLAGS([tarkin],[-I${real_tarkin_tree}])
2665 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])
2668 dnl The given tarkin tree wasn't built
2670 AC_MSG_ERROR([cannot find ${real_tarkin_tree}/tarkin.o,
2671 make sure you compiled tarkin in ${with_tarkin_tree}])
2677 dnl theora decoder plugin
2679 AC_ARG_ENABLE(theora,
2680 [ --enable-theora experimental theora codec (default disabled)])
2681 if test "${enable_theora}" = "yes"
2683 AC_CHECK_HEADERS(theora/theora.h, [
2684 AC_CHECK_LIB(theora, theora_granule_time, [
2685 if test "${SYS}" = "mingw32"; then
2686 VLC_ADD_PLUGINS([theora])
2688 VLC_ADD_BUILTINS([theora])
2690 theora_libs="-ltheora -logg"
2691 VLC_ADD_LDFLAGS([theora],[${theora_libs}]) ],[
2692 AC_MSG_ERROR([libtheora doesn't appear to be installed on your system.
2693 You also need to check that you have a libogg posterior to the 1.0 release.])],
2699 dnl dirac decoder plugin
2701 AC_ARG_ENABLE(dirac,
2702 [ --enable-dirac experimental dirac codec (default disabled)])
2703 if test "${enable_dirac}" = "yes"; then
2704 AC_CHECK_HEADERS(libdirac_decoder/dirac_parser.h, [
2705 AC_CHECK_LIB(dirac_decoder, dirac_decoder_init, [
2706 VLC_ADD_PLUGINS([dirac])
2707 VLC_ADD_LDFLAGS([dirac],[-ldirac_decoder -ldirac_encoder -lstdc++]) ],[
2708 AC_MSG_ERROR([libdirac doesn't appear to be installed on you system.])],
2714 dnl PNG decoder module
2717 [ --enable-png PNG support (default enabled)])
2718 if test "${enable_png}" != "no"; then
2719 AC_CHECK_HEADERS(png.h, [
2720 LDFLAGS="${LDFLAGS_save} -lz"
2721 AC_CHECK_LIB(png, png_set_rows, [
2722 VLC_ADD_LDFLAGS([png],[-lpng -lz])
2723 VLC_ADD_PLUGINS([png])
2724 VLC_ADD_PLUGINS([osdmenu])
2725 AC_DEFINE(HAVE_LIBPNG, [], [Define if you have the PNG library: libpng])],
2727 LDFLAGS="${LDFLAGS_save}"
2732 dnl H264 encoder plugin (using libx264)
2735 [ --enable-x264 H264 encoding support with libx264 (default enabled)])
2736 if test "${enable_x264}" != "no"; then
2737 AC_ARG_WITH(x264-tree,
2738 [ --with-x264-tree=PATH x264 tree for static linking ],[],[])
2739 if test "${with_x264_tree}" != "no" -a -n "${with_x264_tree}"
2741 real_x264_tree="`cd ${with_x264_tree} 2>/dev/null && pwd`"
2742 if test -z "${real_x264_tree}"
2744 dnl The given directory can't be found
2746 AC_MSG_ERROR([${with_x264_tree} directory doesn't exist])
2748 dnl Use a custom libx264
2749 AC_MSG_CHECKING(for x264.h in ${real_x264_tree})
2750 if test -f ${real_x264_tree}/x264.h
2753 VLC_ADD_CPPFLAGS([x264],[-I${real_x264_tree}])
2754 VLC_ADD_LDFLAGS([x264],[-L${real_x264_tree}])
2755 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_x264}"
2756 AC_CHECK_LIB(x264, x264_encoder_open, [
2757 VLC_ADD_BUILTINS([x264])
2758 VLC_ADD_LDFLAGS([x264],[-lx264])
2760 AC_MSG_ERROR([the specified tree hasn't been compiled])
2762 LDFLAGS="${LDFLAGS_save}"
2765 AC_MSG_ERROR([the specified tree doesn't have x264.h])
2768 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_x264}"
2769 AC_CHECK_HEADERS(x264.h, [
2770 AC_CHECK_LIB(x264, x264_encoder_open, [
2771 VLC_ADD_PLUGINS([x264])
2772 VLC_ADD_LDFLAGS([x264],[-lx264])
2774 if test "${enable_x264}" = "yes"; then
2775 AC_MSG_ERROR([Could not find libx264 on your system: you may get it from http://www.videolan.org/x264.html])
2779 LDFLAGS="${LDFLAGS_save}"
2787 [ --enable-cmml CMML support (default enabled)])
2788 if test "${enable_cmml}" != "no"
2790 VLC_ADD_PLUGINS([cmml])
2798 AC_ARG_WITH(,[Video plugins:])
2801 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
2802 CPPFLAGS="${CPPFLAGS_save} -I${x_includes}"
2803 AC_CHECK_HEADERS(X11/extensions/dpms.h, [
2804 AC_MSG_CHECKING(for DPMSInfo in X11/extensions/dpms.h)
2805 AC_EGREP_HEADER(DPMSInfo,X11/extensions/dpms.h,[
2807 AC_DEFINE(DPMSINFO_IN_DPMS_H, 1,
2808 Define if <X11/extensions/dpms.h> defines DPMSInfo.)
2813 #include <X11/Xlib.h>
2815 CPPFLAGS="${CPPFLAGS_save}"
2820 dnl (enabled by default except on win32)
2823 [ --enable-x11 X11 support (default enabled)])
2824 if test "${enable_x11}" != "no" &&
2825 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
2826 test "${enable_x11}" = "yes"); then
2827 CPPFLAGS="${CPPFLAGS_save} -I${x_includes}"
2828 AC_CHECK_HEADERS(X11/Xlib.h, [
2829 VLC_ADD_PLUGINS([x11])
2830 VLC_ADD_LDFLAGS([x11],[-L${x_libraries} -lX11 -lXext])
2831 VLC_ADD_CPPFLAGS([x11],[-I${x_includes}])
2833 CPPFLAGS="${CPPFLAGS_save}"
2838 dnl (enabled by default except on win32)
2840 AC_ARG_ENABLE(xvideo,
2841 [ --enable-xvideo XVideo support (default enabled)])
2842 if test "${enable_xvideo}" != "no" &&
2843 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
2844 test "${enable_xvideo}" = "yes"); then
2845 CPPFLAGS="${CPPFLAGS_save} -I${x_includes}"
2846 AC_CHECK_HEADERS(X11/extensions/Xv.h, [
2847 CFLAGS="${CFLAGS_save} -L${x_libraries} -lX11 -lXext"
2848 AC_CHECK_LIB(Xv,XvPutImage,[
2849 # If libXv.so is available, xvideo can be a plugin. Otherwise, we
2850 # test for libXv_pic.
2851 if test -f /usr/X11R6/lib/libXv.so -o -f "${x_libraries}"/libXv.so; then
2852 VLC_ADD_PLUGINS([xvideo])
2853 VLC_ADD_CPPFLAGS([xvideo],[-I${x_includes}])
2854 VLC_ADD_LDFLAGS([xvideo],[-L${x_libraries} -lX11 -lXext -lXv])
2856 AC_CHECK_LIB(Xv_pic,XvPutImage,[
2857 VLC_ADD_PLUGINS([xvideo])
2858 VLC_ADD_CPPFLAGS([xvideo],[-I${x_includes}])
2859 VLC_ADD_LDFLAGS([xvideo],[-L${x_libraries} -lX11 -lXext -lXv_pic])
2861 VLC_ADD_BUILTINS([xvideo])
2862 VLC_ADD_LDFLAGS([xvideo],[-L${x_libraries} -lX11 -lXext -lXv])
2863 VLC_ADD_CPPFLAGS([xvideo],[-I${x_includes}])
2867 CFLAGS="${CFLAGS_save}"
2869 CPPFLAGS="${CPPFLAGS_save}")
2874 dnl (enabled by default except on win32)
2877 [ --enable-glx X11 OpenGL (GLX) support (default enabled)])
2878 if test "${enable_glx}" != "no" &&
2879 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
2880 test "${enable_glx}" = "yes"); then
2881 CPPFLAGS="${CPPFLAGS_save} -I${x_includes}"
2882 AC_CHECK_HEADERS(X11/Xlib.h, [
2883 AC_CHECK_HEADERS(GL/glx.h, [
2884 VLC_ADD_PLUGINS([glx])
2885 VLC_ADD_LDFLAGS([glx],[-L${x_libraries} -lX11 -lXext -lGL -lGLU])
2886 VLC_ADD_CPPFLAGS([glx],[-I${x_includes}])
2888 CPPFLAGS="${CPPFLAGS_save}"
2892 dnl Check for the Xinerama extension
2894 if test "${enable_xvideo}" != "no" &&
2895 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
2896 test "${enable_xvideo}" = "yes"); then
2897 ac_cv_have_xinerama="no"
2898 CPPFLAGS="${CPPFLAGS_save} -I${x_includes}"
2899 CFLAGS="${CFLAGS_save} -L${x_libraries} -lX11 -lXext"
2900 AC_CHECK_HEADERS(X11/extensions/Xinerama.h,[
2901 AC_CHECK_LIB(Xinerama_pic, XineramaQueryExtension,[
2902 VLC_ADD_LDFLAGS([xvideo],[-lXinerama_pic])
2903 VLC_ADD_LDFLAGS([x11],[-lXinerama_pic])
2904 VLC_ADD_LDFLAGS([glx],[-lXinerama_pic])
2905 ac_cv_have_xinerama="yes"
2907 AC_CHECK_LIB(Xinerama, XineramaQueryExtension,[
2908 VLC_ADD_LDFLAGS([xvideo],[-lXinerama])
2909 VLC_ADD_LDFLAGS([x11],[-lXinerama])
2910 VLC_ADD_LDFLAGS([glx],[-lXinerama])
2911 ac_cv_have_xinerama="yes"
2915 if test "${ac_cv_have_xinerama}" = "yes"; then
2916 AC_DEFINE(HAVE_XINERAMA, 1, [Define this if you have libXinerama installed])
2918 CFLAGS="${CFLAGS_save}"
2919 CPPFLAGS="${CPPFLAGS_save}"
2924 dnl (enabled by default except on beos)
2926 AC_ARG_ENABLE(opengl,
2927 [ --enable-opengl OpenGL support (default enabled)])
2928 if test "${enable_opengl}" != "no" &&
2929 test "${SYS}" != "beos" -a "${SYS}" != "mingwce"; then
2930 if test "${SYS}" != "darwin"; then
2931 AC_CHECK_HEADERS(GL/gl.h, [
2932 VLC_ADD_PLUGINS([opengl])
2933 if test "${SYS}" != "mingw32"; then
2934 VLC_ADD_LDFLAGS([opengl],[-L${x_libraries} -lGL -lGLU])
2936 VLC_ADD_LDFLAGS([opengl],[-lopengl32])
2940 dnl OS X special case (no GL/gl.h but OpenGL/gl.h)
2941 VLC_ADD_PLUGINS([opengl])
2942 VLC_ADD_LDFLAGS([opengl],[-framework OpenGL])
2950 [ --enable-sdl SDL support (default enabled)])
2951 if test "${enable_sdl}" != "no"
2954 AC_ARG_WITH(sdl-config-path,
2955 [ --with-sdl-config-path=PATH sdl-config path (default search in \$PATH)],
2956 [ if test "${with_sdl_config_path}" != "no"
2958 SDL_PATH="${with_sdl_config_path}:${PATH}"
2960 AC_PATH_PROG(SDL12_CONFIG, sdl12-config, no, ${SDL_PATH})
2961 SDL_CONFIG="${SDL12_CONFIG}"
2962 SDL_HEADER="SDL12/SDL.h"
2963 SDL_IMAGE="SDL12/SDL_image.h"
2964 if test "${SDL_CONFIG}" = "no"
2966 AC_PATH_PROG(SDL11_CONFIG, sdl11-config, no, ${SDL_PATH})
2967 SDL_CONFIG=${SDL11_CONFIG}
2968 SDL_HEADER="SDL11/SDL.h"
2969 SDL_IMAGE="SDL11/SDL_image.h"
2971 if test "${SDL_CONFIG}" = "no"
2973 AC_PATH_PROG(SDL_CONFIG, sdl-config, no, ${SDL_PATH})
2974 SDL_HEADER="SDL/SDL.h"
2975 SDL_IMAGE="SDL/SDL_image.h"
2977 # check for cross-compiling
2979 AC_ARG_WITH(sdl-prefix,
2980 [ --with-sdl-prefix=PATH path to libsdl (needed for cross-compiling),
2982 --with-sdl-prefix=/usr/local/arm/2.95.3/arm-linux/usr)],[],[])
2983 if test "${with_sdl_prefix}" != "no" -a -n "${with_sdl_prefix}"
2985 SDL_PREFIX="--prefix=${with_sdl_prefix}"
2987 if test "${SDL_CONFIG}" != "no"
2989 # SDL on Darwin is heavily patched and can only run SDL_image
2990 if test "${SYS}" != "darwin" -a "${SYS}" != "mingw32"; then
2991 VLC_ADD_PLUGINS([vout_sdl aout_sdl])
2993 VLC_ADD_CFLAGS([vout_sdl aout_sdl sdl_image],[`${SDL_CONFIG} ${SDL_PREFIX} --cflags | sed 's,SDL,,'`])
2994 VLC_ADD_LDFLAGS([vout_sdl aout_sdl sdl_image],[`${SDL_CONFIG} ${SDL_PREFIX} --libs | sed 's,-rdynamic,,'`])
2995 CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_vout_sdl}"
2996 AC_CHECK_HEADERS(${SDL_HEADER}, AC_DEFINE_UNQUOTED(SDL_INCLUDE_FILE,
2997 <${SDL_HEADER}>, Indicate whether we should use SDL/SDL.h or SDL11/SDL.h),
2998 [ AC_CHECK_HEADERS(SDL.h, AC_DEFINE(SDL_INCLUDE_FILE, <SDL.h>,
2999 As a last resort we also test for SDL.h presence),
3000 [ AC_MSG_ERROR([The development package for SDL is not installed.
3001 Please install it and try again. Alternatively you can also configure with
3004 AC_CHECK_HEADERS(${SDL_IMAGE}, [AC_DEFINE_UNQUOTED(SDL_IMAGE_INCLUDE_FILE,
3005 <${SDL_IMAGE}>, Indicate the path of SDL_image.h)
3006 VLC_ADD_PLUGINS([sdl_image])
3007 AC_CHECK_LIB(png, png_set_rows,
3008 [VLC_ADD_LDFLAGS([sdl_image],[-lpng -lz])],[],[-lz])
3009 AC_CHECK_LIB(jpeg, jpeg_start_decompress,
3010 [VLC_ADD_LDFLAGS([sdl_image],[-ljpeg])])
3011 AC_CHECK_LIB(tiff, TIFFClientOpen,
3012 [VLC_ADD_LDFLAGS([sdl_image],[-ltiff])])
3013 VLC_ADD_LDFLAGS([sdl_image], [-lSDL_image])],
3014 [ AC_CHECK_HEADERS(SDL_image.h, AC_DEFINE(SDL_IMAGE_INCLUDE_FILE, <SDL_image.h>,
3015 As a last resort we also test for SDL_image.h presence),
3016 [ AC_MSG_WARN([The development package for SDL_image is not installed.
3017 You should install it alongside your SDL package.])
3019 CPPFLAGS="${CPPFLAGS_save}"
3020 if expr 1.1.5 \> `${SDL_CONFIG} --version` >/dev/null
3022 AC_MSG_ERROR([The development package for SDL is not installed.
3023 Please install it and try again. Alternatively you can also configure with
3027 elif test "${enable_sdl}" = "yes"
3029 AC_MSG_ERROR([I couldn't find the SDL package. You can download libSDL
3030 from http://www.libsdl.org/, or configure with --disable-sdl. Have a nice day.
3038 AC_ARG_ENABLE(freetype,
3039 [ --enable-freetype freetype support (default enabled)])
3040 AC_ARG_ENABLE(fribidi,
3041 [ --enable-fribidi fribidi support (default enabled)])
3042 if test "${enable_freetype}" != "no"
3044 FREETYPE_PATH="${PATH}"
3045 AC_ARG_WITH(freetype-config-path,
3046 [ --with-freetype-config-path=PATH freetype-config path (default search in \$PATH)],
3047 [ if test "${with_freetype_config_path}" != "no"
3049 FREETYPE_PATH="${with_freetype_config_path}:${PATH}"
3051 AC_PATH_PROG(FREETYPE_CONFIG, freetype-config, no, ${FREETYPE_PATH})
3053 if test "${FREETYPE_CONFIG}" != "no"
3055 VLC_ADD_PLUGINS([freetype])
3056 VLC_ADD_CFLAGS([freetype],[`${FREETYPE_CONFIG} --cflags`])
3057 VLC_ADD_LDFLAGS([freetype],[`${FREETYPE_CONFIG} --libs`])
3058 AC_CHECK_HEADERS(Carbon/Carbon.h,
3059 [VLC_ADD_LDFLAGS([freetype],[-framework Carbon])])
3060 elif test "${enable_freetype}" = "yes"
3062 AC_MSG_ERROR([I couldn't find the freetype package. You can download libfreetype2
3063 from http://www.freetype.org/, or configure with --disable-freetype. Have a nice day.
3068 if test "${enable_fribidi}" != "no"
3070 FRIBIDI_PATH="${PATH}"
3071 AC_ARG_WITH(fribidi-config-path,
3072 [ --with-fribidi-config-path=PATH fribidi-config path (default search in \$PATH)],
3073 [ if test "${with_fribidi_config_path}" != "no"
3075 FRIBIDI_PATH="${with_fribidi_config_path}:${PATH}"
3077 AC_PATH_PROG(FRIBIDI_CONFIG, fribidi-config, no, ${FRIBIDI_PATH})
3079 if test "${FRIBIDI_CONFIG}" != "no"
3081 VLC_ADD_CFLAGS([freetype], [`${FRIBIDI_CONFIG} --cflags` -DHAVE_FRIBIDI])
3082 VLC_ADD_CPPFLAGS([skins2], [`${FRIBIDI_CONFIG} --cflags` -DHAVE_FRIBIDI])
3083 VLC_ADD_LDFLAGS([freetype], [`${FRIBIDI_CONFIG} --libs`])
3084 VLC_ADD_LDFLAGS([skins2], [`${FRIBIDI_CONFIG} --libs`])
3092 AC_ARG_ENABLE(libxml2,
3093 [ --enable-libxml2 libxml2 support (default enabled)])
3094 if test "${enable_libxml2}" != "no"
3097 AC_ARG_WITH(xml2-config-path,
3098 [ --with-xml2-config-path=PATH xml2-config path (default search in \$PATH)],
3099 [ if test "${with_xml2_config_path}" != "no"; then
3100 XML2_PATH="${with_xml2_config_path}:${PATH}"
3102 AC_PATH_PROG(XML2_CONFIG, xml2-config, no, ${XML2_PATH})
3103 if test "${XML2_CONFIG}" != "no"; then
3104 VLC_ADD_CPPFLAGS([xml],[`${XML2_CONFIG} --cflags`])
3105 VLC_ADD_LDFLAGS([xml],[`${XML2_CONFIG} --libs`])
3106 dnl depends on the xmlTextReader extension
3107 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_xml}"
3108 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_xml}"
3109 AC_CHECK_LIB(xml2,xmlTextReaderConstName,[
3110 AC_EGREP_HEADER(xmlTextReaderConstName,libxml/xmlreader.h,[
3111 VLC_ADD_PLUGINS([xml]) ],[
3112 AC_MSG_WARN([libxml2 missing the xmlTextReader extension, you should update your version])
3113 if test "${enable_xml2}" = "yes"; then
3114 AC_MSG_ERROR([libxml2 missing the xmlTextReader extension])
3117 AC_MSG_WARN([libxml2 missing the xmlTextReader extension, you should update your version])
3118 if test "${enable_xml2}" = "yes"; then
3119 AC_MSG_ERROR([libxml2 missing the xmlTextReader extension])
3121 LDFLAGS="${LDFLAGS_save}"
3122 CPPFLAGS="${CPPFLAGS_save}"
3124 if test "${enable_xml2}" = "yes"; then
3125 AC_MSG_ERROR([Could not find libxml2])
3134 [ --enable-svg SVG support (default disabled)])
3135 if test "${enable_svg}" == "yes"
3137 PKG_CHECK_MODULES(SVG,
3138 librsvg-2.0 >= 2.5.0,
3140 VLC_ADD_LDFLAGS([svg],[$SVG_LIBS])
3141 VLC_ADD_CFLAGS([svg],[$SVG_CFLAGS])
3142 VLC_ADD_PLUGINS([svg]) ],
3143 [AC_MSG_WARN(SVG library not found)])
3147 dnl Qt Embedded module
3148 dnl (disabled by default)
3151 [ --enable-qte QT Embedded support (default disabled)])
3152 if test "${enable_qte}" = "yes"
3155 [ --with-qte=PATH Qt Embedded headers and libraries])
3156 if test "${with_qte}" != "no" -a -n "${with_qte}"
3158 VLC_ADD_LDFLAGS([qte],[-L${with_qte}/lib `echo -L${with_qte}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte])
3159 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])
3161 VLC_ADD_LDFLAGS([qte],[-L${QTDIR}/lib `echo -L${QTDIR}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte])
3162 VLC_ADD_CXXFLAGS([qte],[-I${QTDIR}/include `echo -I${QTDIR}/include | sed 's,opt/QtPalmtop,usr,'` -DQT_QWS_IPAQ -DQWS -fno-exceptions -fno-rtti])
3164 VLC_ADD_PLUGINS([qte])
3166 CPPFLAGS="${CPPFLAGS_save} ${CXXFLAGS_qte}"
3167 AC_CHECK_HEADERS(qt.h jpeglib.h, ,[
3168 AC_MSG_ERROR([echo "Cannot find QT Embedded development headers."])
3170 CPPFLAGS="${CPPFLAGS_save}"
3174 dnl Qt Video output module
3175 dnl (disabled by default)
3177 dnl AC_ARG_ENABLE(qt_video,
3178 dnl [ --enable-qt_video QT Video Output support (default disabled)])
3179 dnl if test "${enable_qt_video}" = "yes"
3181 dnl VLC_ADD_PLUGINS([qt_video])
3182 dnl VLC_ADD_LDFLAGS([qt_video],[-L${QTDIR}/lib])
3183 dnl LDFLAGS="${LDFLAGS_save} ${LDFLAGS_qt_video}"
3184 dnl AC_CHECK_LIB(qt-mt,main,[
3185 dnl VLC_ADD_LDFLAGS([qt_video],[-lqt-mt])
3187 dnl AC_CHECK_LIB(qt,main,[
3188 dnl VLC_ADD_LDFLAGS([qt_video],[-lqt])
3191 dnl NEED_QTE_MAIN=yes
3192 dnl LDFLAGS="${LDFLAGS_save}"
3193 dnl VLC_ADD_CXXFLAGS([qt_video],[-I/usr/include/qt3 -I/usr/include/qt -I${QTDIR}/include])
3197 dnl Roku HD1000 Video output module
3199 AC_ARG_ENABLE(hd1000v,
3200 [ --enable-hd1000v HD1000 Video Output module (default enabled on HD1000)])
3201 if test "${enable_hd1000v}" != "no" -a "${CXX}" != "" &&
3202 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
3203 test "${enable_hd1000v}" = "yes"); then
3205 AC_CHECK_HEADERS([cascade/graphics/CascadeScreen.h cascade/graphics/CascadeBitmap.h],
3207 can_build_roku="yes"
3211 AC_MSG_WARN([Not building Roku HD1000 compatible video output])
3213 if test "$can_build_roku" = "yes"
3215 VLC_ADD_PLUGINS([hd1000v])
3216 VLC_ADD_LDFLAGS([hd1000v],[-lCascade -ldvbpsi -lmad])
3222 dnl Windows DirectX module
3224 AC_ARG_ENABLE(directx,
3225 [ --enable-directx Win32 DirectX support (default enabled on Win32)])
3226 if test "${enable_directx}" != "no"
3228 if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce" -o "${SYS}" = "cygwin"
3230 AC_ARG_WITH(directx,
3231 [ --with-directx=PATH Win32 DirectX headers])
3232 if test -z "${with_directx}"
3234 AC_CHECK_HEADERS(ddraw.h,
3235 [ VLC_ADD_PLUGINS([vout_directx aout_directx])
3236 VLC_ADD_LDFLAGS([vout_directx],[-lgdi32])
3237 dnl to be moved when dependance is removed
3238 AC_CHECK_HEADERS(GL/gl.h, [
3239 VLC_ADD_PLUGINS([glwin32])
3240 VLC_ADD_LDFLAGS([glwin32],[-lopengl32 -lgdi32])
3243 AC_MSG_CHECKING(for directX headers in ${with_directx})
3244 if test -f ${with_directx}/ddraw.h
3246 VLC_ADD_PLUGINS([vout_directx aout_directx])
3247 VLC_ADD_CPPFLAGS([vout_directx aout_directx],[-I${with_directx}])
3248 VLC_ADD_LDFLAGS([vout_directx],[-lgdi32])
3252 AC_MSG_ERROR([Cannot find ${with_directx}/ddraw.h!])
3259 dnl Linux framebuffer module
3262 [ --enable-fb Linux framebuffer support (default enabled on Linux)])
3263 if test "${enable_fb}" != "no"
3265 AC_CHECK_HEADERS(linux/fb.h, [
3266 VLC_ADD_PLUGINS([fb])
3271 dnl Linux MGA module
3274 [ --enable-mga Linux kernel Matrox support (default disabled)],
3275 [ if test "${enable_mga}" = "yes"
3277 VLC_ADD_PLUGINS([mga])
3283 AC_ARG_ENABLE(svgalib,
3284 [ --enable-svgalib SVGAlib support (default disabled)])
3285 if test "${enable_svgalib}" = "yes"
3287 VLC_ADD_PLUGINS([svgalib])
3288 VLC_ADD_LDFLAGS([svgalib],[-lvgagl -lvga])
3295 [ --enable-ggi GGI support (default disabled)])
3296 if test "${enable_ggi}" = "yes"
3298 VLC_ADD_PLUGINS([ggi])
3299 VLC_ADD_LDFLAGS([ggi],[-lggi])
3301 [ --with-ggi=PATH path to libggi],
3302 [ if test "${with_ggi}" != "no" -a -n "${with_ggi}"
3304 VLC_ADD_CPPFLAGS([ggi],[-I${with_ggi}/include])
3305 VLC_ADD_LDFLAGS([ggi],[-L${with_ggi}/lib])
3312 AC_ARG_ENABLE(glide,
3313 [ --enable-glide Glide (3dfx) support (default disabled)])
3314 if test "${enable_glide}" = "yes"
3316 VLC_ADD_PLUGINS([glide])
3317 VLC_ADD_LDFLAGS([glide],[-lglide2x -lm])
3318 VLC_ADD_CPPFLAGS([glide],[-I/usr/include/glide])
3320 [ --with-glide=PATH path to libglide],
3321 [ if test "${with_glide}" != "no" -a -n "${with_glide}"
3323 VLC_ADD_CPPFLAGS([glide],[-I${with_glide}/include])
3324 VLC_ADD_LDFLAGS([glide],[-L${with_glide}/lib])
3332 [ --enable-aa aalib output (default disabled)])
3333 if test "${enable_aa}" = "yes"
3335 AC_CHECK_HEADER(aalib.h,have_aa="true",have_aa="false")
3336 if test "${have_aa}" = "true"
3338 VLC_ADD_PLUGINS([aa])
3339 VLC_ADD_LDFLAGS([aa],[-laa])
3347 [ --enable-caca libcaca output (default disabled)])
3348 if test "${enable_caca}" = "yes"
3351 AC_ARG_WITH(caca-config-path,
3352 [ --with-caca-config-path=PATH caca-config path (default search in \$PATH)],
3353 [ if test "${with_caca_config_path}" != "no"
3355 CACA_PATH="${with_caca_config_path}:${PATH}"
3357 AC_PATH_PROG(CACA_CONFIG, caca-config, no, ${CACA_PATH})
3358 if test "${CACA_CONFIG}" != "no"
3360 VLC_ADD_PLUGINS([caca])
3361 VLC_ADD_CFLAGS([caca],[`${CACA_CONFIG} --cflags`])
3362 VLC_ADD_LDFLAGS([caca],[`${CACA_CONFIG} --plugin-libs`])
3367 dnl win32 GDI plugin
3369 AC_ARG_ENABLE(wingdi,
3370 [ --enable-wingdi Win32 GDI module (default enabled on Win32)])
3371 if test "${enable_wingdi}" != "no"; then
3372 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"; then
3373 VLC_ADD_PLUGINS([wingdi])
3374 VLC_ADD_LDFLAGS([wingdi],[-lgdi32])
3376 if test "${SYS}" = "mingwce"; then
3377 VLC_ADD_PLUGINS([wingdi wingapi])
3385 AC_ARG_WITH(,[Audio plugins:])
3388 dnl OSS /dev/dsp module (enabled by default except on win32)
3391 [ --enable-oss Linux OSS /dev/dsp support (enabled on Linux)])
3393 if test "${enable_oss}" != "no" &&
3394 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
3395 test "${enable_oss}" = "yes")
3397 AC_CHECK_HEADERS(soundcard.h sys/soundcard.h machine/soundcard.h, [
3398 VLC_ADD_PLUGINS([oss])
3399 AC_CHECK_LIB(ossaudio,main,VLC_ADD_LDFLAGS([oss],[-lossaudio]))
3407 [ --enable-esd Esound library support (default disabled)],
3408 [if test "${enable_esd}" = "yes"
3410 AC_PATH_PROG(ESD_CONFIG, esd-config, no)
3411 if test "${ESD_CONFIG}" != "no"
3413 VLC_ADD_PLUGINS([esd])
3414 VLC_ADD_CFLAGS([esd],[`${ESD_CONFIG} --cflags`])
3415 VLC_ADD_LDFLAGS([esd],[`${ESD_CONFIG} --libs`])
3420 dnl Portaudio module
3422 AC_ARG_ENABLE(portaudio,
3423 [ --enable-portaudio Portaudio library support (default disabled)],
3424 [if test "${enable_portaudio}" = "yes"
3426 VLC_ADD_PLUGINS([portaudio])
3427 VLC_ADD_CXXFLAGS([portaudio],[])
3428 if test "${SYS}" = "mingw32"; then
3429 VLC_ADD_LDFLAGS([portaudio],[-lportaudio -lwinmm -lole32])
3431 VLC_ADD_LDFLAGS([portaudio],[-lportaudio])
3436 dnl aRts module -- broken (freeze wxWidgets)
3439 [ --enable-arts aRts sound server (default disabled)],
3440 [if test "${enable_arts}" = "yes"
3442 AC_PATH_PROG(ARTS_CONFIG, artsc-config, no)
3443 if test "${ARTS_CONFIG}" != "no"
3445 VLC_ADD_PLUGINS([arts])
3446 VLC_ADD_CFLAGS([arts],[`${ARTS_CONFIG} --cflags`])
3447 VLC_ADD_LDFLAGS([arts],[`${ARTS_CONFIG} --libs `])
3455 [ --enable-alsa ALSA sound support for Linux (default enabled)])
3456 if test "${enable_alsa}" != "no"
3458 AC_CHECK_HEADER(alsa/asoundlib.h, AC_CHECK_LIB(asound, main, have_alsa="true", have_alsa="false"),have_alsa="false")
3459 if test "${have_alsa}" = "true"
3461 AC_TRY_COMPILE([#define ALSA_PCM_NEW_HW_PARAMS_API
3462 #define ALSA_PCM_NEW_SW_PARAMS_API
3463 #include <alsa/asoundlib.h>],
3464 [void foo() { snd_pcm_hw_params_get_period_time(0,0,0); }],
3465 AC_DEFINE(HAVE_ALSA_NEW_API, 1, Define if ALSA is at least rc4))
3466 VLC_ADD_PLUGINS([alsa])
3467 VLC_ADD_LDFLAGS([alsa],[-lasound -lm -ldl])
3469 if test "${enable_alsa}" = "yes"; then
3470 AC_MSG_ERROR([Could not find ALSA development headers])
3476 dnl win32 waveOut plugin
3478 AC_ARG_ENABLE(waveout,
3479 [ --enable-waveout Win32 waveOut module (default enabled on Win32)])
3480 if test "${enable_waveout}" != "no"; then
3481 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"; then
3482 VLC_ADD_PLUGINS([waveout])
3483 VLC_ADD_LDFLAGS([waveout],[-lwinmm])
3485 if test "${SYS}" = "mingwce"; then
3486 VLC_ADD_PLUGINS([waveout])
3491 dnl CoreAudio plugin
3493 AC_ARG_ENABLE(coreaudio,
3494 [ --enable-coreaudio CoreAudio module (default enabled on MacOS X)])
3495 if test "${enable_coreaudio}" != "no" &&
3496 (test "${SYS}" = "darwin" || test "${enable_coreaudio}" = "yes")
3498 AC_CHECK_HEADERS(CoreAudio/CoreAudio.h,
3499 [ VLC_ADD_BUILTINS([coreaudio auhal])
3500 VLC_ADD_LDFLAGS([coreaudio auhal],[-framework CoreAudio -framework AudioUnit -framework AudioToolbox])
3501 ], [ AC_MSG_ERROR([cannot find CoreAudio headers]) ])
3505 dnl Roku HD1000 audio
3507 AC_ARG_ENABLE(hd1000a,
3508 [ --enable-hd1000a HD1000 audio module (default enabled on HD1000)])
3509 if test "${enable_hd1000a}" != "no" -a "${CXX}" != "" &&
3510 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
3511 test "${enable_hd1000a}" = "yes")
3514 AC_CHECK_HEADERS(deschutes/libraries/hdmachinex225/PCMAudioPlayer.h, [
3515 VLC_ADD_PLUGINS([hd1000a])
3516 AC_CHECK_LIB(HDMachineX225,main,VLC_ADD_LDFLAGS([hd1000a],[-lHDMachineX225])) ])
3521 dnl CyberLink for C++ UPnP stack
3523 AC_ARG_ENABLE(cyberlink,
3524 [ --enable-cyberlink CyberLink for C++ UPnP stack (default disabled)])
3525 if test "${CXX}" != "" -a "${enable_cyberlink}" = "yes" || (test "${enable_cyberlink}" != "no"); then
3526 AC_ARG_WITH(cyberlink-tree,
3527 [ --with-cyberlink-tree=PATH CyberLink for C++ tree for static linking])
3530 dnl test for --with-cyberlink-tree
3532 if test ! -z "${with_cyberlink_tree}" -a "${CXX}" != ""; then
3534 real_cyberlink_tree="`cd ${with_cyberlink_tree} 2>/dev/null && pwd`"
3535 if test -z "${real_cyberlink_tree}"
3537 dnl The given directory can't be found
3539 AC_MSG_ERROR([cannot cd to ${with_cyberlink_tree}])
3541 CXXFLAGS_save="${CXXFLAGS}"
3542 CXXFLAGS_cyberlink="-I${real_cyberlink_tree}/include"
3543 CXXFLAGS="${CXXFLAGS} ${CXXFLAGS_cyberlink}"
3544 AC_CHECK_HEADERS([cybergarage/upnp/MediaServer.h],
3545 [ VLC_ADD_CXXFLAGS([upnp], [${CXXFLAGS_cyberlink}])
3546 VLC_ADD_PLUGINS([upnp])
3548 AC_MSG_ERROR([cannot find CyberLink for C++ headers])
3550 AC_MSG_CHECKING(for libclink.a in ${with_cyberlink_tree})
3551 if test -f "${real_cyberlink_tree}/lib/unix/libclink.a"
3553 AC_MSG_RESULT(${real_cyberlink_tree}/lib/unix/libclink.a)
3554 VLC_ADD_LDFLAGS([upnp], [${real_cyberlink_tree}/lib/unix/libclink.a -lexpat])
3557 AC_MSG_ERROR([cannot find ${real_cyberlink_tree}/lib/unix/libclink.a, make sure you compiled CyberLink for C++ in ${with_cyberlink_tree}])
3559 CXXFLAGS="${CXXFLAGS_save}"
3565 dnl Interface plugins
3568 AC_ARG_WITH(,[Interface plugins:])
3570 dnl special case for BeOS
3571 if test "${SYS}" = "beos"
3573 VLC_ADD_BUILTINS([beos])
3579 AC_ARG_ENABLE(skins2,
3580 [ --enable-skins2 Skins2 interface module (experimental)])
3581 if test "${enable_skins2}" = "yes" ||
3582 (test "${SYS}" != "darwin" && test "${SYS}" != "beos" &&
3583 test "${SYS}" != "mingwce" && test "${enable_skins2}" != "no"); then
3585 dnl test for the required libraries
3586 skins2_missing_lib="no"
3589 if test "${FREETYPE_CONFIG}" != "no"; then
3590 VLC_ADD_CPPFLAGS([skins2],[`${FREETYPE_CONFIG} --cflags`])
3591 VLC_ADD_LDFLAGS([skins2],[`${FREETYPE_CONFIG} --libs`])
3593 skins2_missing_lib="yes"
3594 if test "${enable_skins2}" = "yes"; then
3595 AC_MSG_ERROR([Could not find freetype (required for skins2)])
3599 if test "${skins2_missing_lib}" = "no" && (test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"); then
3600 VLC_ADD_PLUGINS([skins2])
3601 ALIASES="${ALIASES} svlc"
3602 VLC_ADD_CPPFLAGS([skins2],[-U_OFF_T_ -U_off_t -Imodules/gui/skins2 -DWIN32_SKINS])
3603 VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
3604 VLC_ADD_LDFLAGS([skins2],[-loleaut32 -lwinspool -lwinmm -lshell32 -lctl3d32 -ladvapi32 -lwsock32 -lgdi32 -lcomdlg32 -lole32 -luuid -lcomctl32])
3606 else if test "${skins2_missing_lib}" = "no"; then
3607 VLC_ADD_PLUGINS([skins2])
3608 ALIASES="${ALIASES} svlc"
3609 VLC_ADD_CPPFLAGS([skins2],[-Imodules/gui/skins2 -I${x_includes} -DX11_SKINS])
3610 VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
3611 VLC_ADD_LDFLAGS([skins2],[-L${x_libraries} -lXext -lX11])
3619 dnl AC_ARG_ENABLE(gtk,
3620 dnl [ --enable-gtk Gtk+ support (default enabled)])
3621 dnl if test "${enable_gtk}" != "no"
3623 dnl GTK_PATH="${PATH}"
3624 dnl AC_ARG_WITH(gtk-config-path,
3625 dnl [ --with-gtk-config-path=PATH gtk-config path (default search in \$PATH)],
3626 dnl [ if test "${with_gtk_config_path}" != "no"
3628 dnl GTK_PATH="${with_gtk_config_path}:${PATH}"
3630 dnl # look for gtk-config
3631 dnl AC_PATH_PROG(GTK12_CONFIG, gtk12-config, no, ${GTK_PATH})
3632 dnl GTK_CONFIG=${GTK12_CONFIG}
3633 dnl if test "${GTK_CONFIG}" = "no"
3635 dnl AC_PATH_PROG(GTK_CONFIG, gtk-config, no, ${GTK_PATH})
3637 dnl if test "${GTK_CONFIG}" != "no"
3639 dnl if expr 1.2.0 \> `${GTK_CONFIG} --version` >/dev/null
3641 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.])
3643 dnl if test "${SYS}" != "mingw32"; then
3644 dnl VLC_ADD_CFLAGS([gtk],[`${GTK_CONFIG} --cflags gtk gthread`])
3645 dnl VLC_ADD_LDFLAGS([gtk],[`${GTK_CONFIG} --libs gtk gthread | sed 's,-rdynamic,,'`])
3647 dnl VLC_ADD_CFLAGS([gtk],[`${GTK_CONFIG} --cflags gtk`])
3648 dnl VLC_ADD_LDFLAGS([gtk],[`${GTK_CONFIG} --libs gtk | sed 's,-rdynamic,,'`])
3650 dnl # now look for the gtk.h header
3651 dnl CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_gtk}"
3652 dnl ac_cv_gtk_headers=yes
3653 dnl AC_CHECK_HEADERS(gtk/gtk.h glib.h gdk/gdk.h, , [
3654 dnl ac_cv_gtk_headers=no
3655 dnl echo "Cannot find gtk development headers."
3657 dnl if test "${ac_cv_gtk_headers}" = "yes"
3659 dnl VLC_ADD_PLUGINS([gtk])
3660 dnl if test "${SYS}" != "mingw32"; then
3661 dnl NEED_GTK_MAIN=yes
3663 dnl ALIASES="${ALIASES} gvlc"
3665 dnl CPPFLAGS="${CPPFLAGS_save}"
3670 dnl Gtk+2 module ! Disabled for now as it is unusable and confuses users
3672 dnl AC_ARG_ENABLE(gtk2,
3673 dnl [ --enable-gtk2 Gtk2 support (default disabled)])
3674 dnl if test "${enable_gtk2}" = "yes"
3676 dnl PKG_CHECK_MODULES(GTK2, [gtk+-2.0 >= 2.0.0, gthread-2.0])
3677 dnl VLC_ADD_CFLAGS([gtk2],[${GTK2_CFLAGS}])
3678 dnl VLC_ADD_LDFLAGS([gtk2],[${GTK2_LIBS}])
3679 dnl VLC_ADD_PLUGINS([gtk2])
3680 dnl if test "${SYS}" != "mingw32"; then
3681 dnl NEED_GTK2_MAIN=yes
3686 dnl PDA Gtk+2 module
3689 [ --enable-pda PDA interface needs Gtk2 support (default disabled)])
3690 if test "${enable_pda}" = "yes"
3692 PKG_CHECK_MODULES(GTK2, [gtk+-2.0 >= 2.0.0, gthread-2.0])
3693 VLC_ADD_CFLAGS([gtk2],[${GTK2_CFLAGS}])
3694 VLC_ADD_LDFLAGS([gtk2],[${GTK2_LIBS}])
3695 VLC_ADD_CFLAGS([pda],[${GTK2_CFLAGS} ${CFLAGS_pda}])
3696 VLC_ADD_LDFLAGS([pda],[${GTK2_LIBS} ${LDFLAGS_pda}])
3697 VLC_ADD_PLUGINS([pda])
3698 if test "${SYS}" != "mingw32"; then
3704 dnl dnl Gnome module
3706 dnl AC_ARG_ENABLE(gnome,
3707 dnl [ --enable-gnome Gnome interface support (default disabled)],
3708 dnl [if test "${enable_gnome}" = "yes"; then
3709 dnl # look for gnome-config
3710 dnl AC_PATH_PROG(GNOME_CONFIG, gnome-config, no)
3711 dnl if test -x ${GNOME_CONFIG}
3713 dnl VLC_ADD_CFLAGS([gnome],[`${GNOME_CONFIG} --cflags gtk gnomeui`])
3714 dnl VLC_ADD_LDFLAGS([gnome],[`${GNOME_CONFIG} --libs gnomeui | sed 's,-rdynamic,,'`])
3716 dnl # now look for the gnome.h header
3717 dnl CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_gnome}"
3718 dnl AC_CHECK_HEADERS(gnome.h, [
3719 dnl VLC_ADD_PLUGINS([gnome])
3720 dnl NEED_GTK_MAIN=yes
3721 dnl NEED_GNOME_MAIN=yes
3722 dnl ALIASES="${ALIASES} gnome-vlc"
3723 dnl dnl We need this because of some moronic gnomesupport.h flavours
3724 dnl AC_MSG_CHECKING(for strndup in gnome.h)
3725 dnl AC_EGREP_HEADER(strndup,gnome.h,[
3726 dnl AC_MSG_RESULT(yes)
3727 dnl AC_DEFINE(STRNDUP_IN_GNOME_H, 1,
3728 dnl Define if <gnome.h> defines strndup.)],[
3729 dnl AC_MSG_RESULT(no)])
3731 dnl AC_MSG_ERROR([Can't find gnome headers. Please install the gnome
3732 dnl developement tools or remove the --enable-gnome option])
3734 dnl CPPFLAGS="${CPPFLAGS_save}"
3738 dnl Gnome2 module ! Disabled for know as it is unuseable and confuses users
3740 dnl AC_ARG_ENABLE(gnome2,
3741 dnl [ --enable-gnome2 Gnome2 support (default disabled)])
3742 dnl if test "${enable_gnome2}" = "yes"
3744 dnl PKG_CHECK_MODULES(GNOME2, [libgnomeui-2.0])
3745 dnl VLC_ADD_CFLAGS([gnome2],[${GNOME2_CFLAGS}])
3746 dnl VLC_ADD_LDFLAGS([gnome2],[${GNOME2_LIBS}])
3747 dnl VLC_ADD_PLUGINS([gnome2])
3748 dnl if test "${SYS}" != "mingw32"; then
3749 dnl NEED_GNOME2_MAIN=yes
3754 dnl wxWidgets module
3756 AC_ARG_ENABLE(wxwidgets,
3757 [ --enable-wxwidgets wxWidgets support (default enabled)])
3758 if test "${enable_wxwindows}"
3760 AC_MSG_WARN(--{en|dis}able-wxwindows is deprecated. Use --{en|dis}able-wxwidgets instead.)
3763 if test "${enable_wxwindows}" = "no"
3765 enable_wxwidgets="no"
3767 if test "${enable_wxwidgets}" != "no"
3769 WXWIDGETS_PATH="${PATH}"
3770 AC_ARG_WITH(wx-config-path,
3771 [ --with-wx-config-path=PATH wx-config path (default search in \$PATH)],
3772 [ if test "${with_wx_config_path}" != "no"
3774 WXWIDGETS_PATH="${with_wx_config_path}:${PATH}"
3776 WXWIDGETS_NAME="wx-config"
3777 AC_ARG_WITH(wx-config,
3778 [ --with-wx-config=NAME wx-config name (default is wx-config)],
3779 [ if test "${with_wx_config}" != "no"
3781 WXWIDGETS_NAME="${with_wx_config}"
3783 # look for wx-config
3784 AC_PATH_PROG(WX_CONFIG, ${WXWIDGETS_NAME}, no, ${WXWIDGETS_PATH})
3785 if test "${WX_CONFIG}" != "no" -a "${CXX}" != ""
3787 if expr 2.3.0 \> `${WX_CONFIG} --version` >/dev/null
3789 AC_MSG_ERROR([Your development package for wxWidgets is too old, you need at least version 2.3.0. Please upgrade and try again. Alternatively you can also configure with --disable-wxwidgets.])
3793 # playlist.cpp:1351: error: ISO C++ forbids cast to non-reference type
3794 # into a warning. However better would be to fix playlist.cpp
3795 AC_CACHE_CHECK([if \$CXX accepts -fpermissive],
3796 [ac_cv_cxx_fpermissive],
3797 [CXXFLAGS="${CXXFLAGS_save} -fpermissive"
3798 AC_TRY_COMPILE([],,ac_cv_cxx_fpermissive=yes,
3799 ac_cv_cxx_fpermissive=no)])
3800 if test "${ac_cv_cxx_fpermissive}" = "yes"; then
3801 VLC_ADD_CXXFLAGS([wxwidgets],-fpermissive)
3803 VLC_ADD_LDFLAGS([wxwidgets],[`${WX_CONFIG} --libs`])
3804 VLC_ADD_CXXFLAGS([wxwidgets],[`${WX_CONFIG} --cxxflags`])
3805 if test "$have_libcdio" = "yes"
3807 VLC_ADD_LDFLAGS([wxwidgets],[$LIBCDIO_LIBS])
3808 VLC_ADD_CXXFLAGS([wxwidgets],[$LIBCDIO_CFLAGS])
3810 AC_MSG_WARN([Probe disc disabled because ok libcdio library not found])
3813 if test "$have_libvcdinfo" = "yes"
3815 VLC_ADD_LDFLAGS([wxwidgets],[$VCDINFO_LIBS])
3816 VLC_ADD_CXXFLAGS([wxwidgets],[$VCDINFO_CFLAGS])
3818 AC_MSG_WARN([VCD information on Probe disc disabled because ok libvcdinfo not found])
3821 # now look for the wxprec.h header
3822 CPPFLAGS="${CPPFLAGS_save} ${CXXFLAGS_wxwidgets}"
3823 ac_cv_wx_headers=yes
3824 AC_CHECK_HEADERS(wx/wxprec.h, , [
3826 echo "Cannot find wxWidgets development headers."
3828 if test "${ac_cv_wx_headers}" = "yes"
3830 VLC_ADD_PLUGINS([wxwidgets])
3831 ALIASES="${ALIASES} wxvlc"
3833 CPPFLAGS="${CPPFLAGS_save}"
3839 dnl WinCE GUI module
3841 if test "${SYS}" = "mingwce"; then
3842 VLC_ADD_BUILTINS([wince])
3843 VLC_ADD_CXXFLAGS([wince],[])
3844 VLC_ADD_LDFLAGS([wince],[-lcommctrl -lcommdlg -laygshell])
3846 VLC_ADD_LDFLAGS([wince],[\\\${top_builddir}modules/gui/wince/wince_rc.o])
3847 elif test "${SYS}" = "mingw32"; then
3848 VLC_ADD_CXXFLAGS([wince],[])
3849 VLC_ADD_LDFLAGS([wince],[-lcomctl32 -lcomdlg32 -lgdi32 -lole32])
3851 VLC_ADD_LDFLAGS([wince],[\\\${top_builddir}modules/gui/wince/wince_rc.o])
3855 dnl Simple test for skins2 dependency
3857 if test "${enable_skins2}" != "no"
3859 if test "${WX_CONFIG}" = "no"
3861 AC_MSG_ERROR([The skins2 module depends on the wxWidgets 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 wxWidgets development package or alternatively you can also configure with: --disable-wxwidgets --disable-skins2.])
3868 dnl AC_ARG_ENABLE(qt,
3869 dnl [ --enable-qt Qt interface support (default disabled)],
3870 dnl [if test "${enable_qt}" = "yes"; then
3871 dnl VLC_ADD_PLUGINS([qt])
3872 dnl ALIASES="${ALIASES} qvlc"
3873 dnl VLC_ADD_LDFLAGS([qt],[-L${QTDIR}/lib])
3874 dnl LDFLAGS="${LDFLAGS_save} ${LDFLAGS_qt}"
3875 dnl AC_CHECK_LIB(qt-mt,main,[
3876 dnl VLC_ADD_LDFLAGS([qt],[-lqt-mt])
3878 dnl AC_CHECK_LIB(qt,main,[
3879 dnl VLC_ADD_LDFLAGS([qt],[-lqt])
3882 dnl LDFLAGS="${LDFLAGS_save}"
3883 dnl VLC_ADD_CXXFLAGS([qt],[-I/usr/include/qt3 -I/usr/include/qt -I${QTDIR}/include])
3884 dnl if test -x ${QTDIR}/bin/moc
3886 dnl MOC=${QTDIR}/bin/moc
3895 dnl AC_ARG_ENABLE(kde,
3896 dnl [ --enable-kde KDE interface support (default disabled)],
3897 dnl [if test "${enable_kde}" = "yes"; then
3898 dnl VLC_ADD_PLUGINS([kde])
3899 dnl ALIASES="${ALIASES} kvlc"
3900 dnl VLC_ADD_LDFLAGS([kde],[-L${KDEDIR}/lib])
3901 dnl dnl Check for -lkfile (only in KDE 2) or -lkdeui -lkio (KDE 3)
3902 dnl LDFLAGS="${LDFLAGS_save} ${LDFLAGS_kde}"
3903 dnl AC_CHECK_LIB(kfile,main,[
3904 dnl VLC_ADD_LDFLAGS([kde],[-lkfile])
3906 dnl LDFLAGS="${LDFLAGS_save} ${LDFLAGS_kde}"
3907 dnl AC_CHECK_LIB(kdeui,main,[
3908 dnl VLC_ADD_LDFLAGS([kde],[-lkdeui])
3910 dnl LDFLAGS="${LDFLAGS_save} ${LDFLAGS_kde}"
3911 dnl AC_CHECK_LIB(kio,main,[
3912 dnl VLC_ADD_LDFLAGS([kde],[-lkio])
3914 dnl LDFLAGS="${LDFLAGS_save}"
3915 dnl VLC_ADD_CXXFLAGS([kde],[-I/usr/include/kde -I/usr/include/qt3 -I/usr/include/qt])
3916 dnl VLC_ADD_CXXFLAGS([kde],[-I${KDEDIR}/include -I${QTDIR}/include])
3917 dnl if test -x ${QTDIR}/bin/moc
3919 dnl MOC=${QTDIR}/bin/moc
3926 dnl Opie QT embedded module
3929 [ --enable-opie Qt embedded interface support (default disabled)],
3930 [if test "${enable_opie}" = "yes"; then
3932 [ --with-qte=PATH Qt Embedded headers and libraries])
3933 if test "${with_qte}" != "no" -a -n "${with_qte}"
3935 VLC_ADD_LDFLAGS([qte],[-L${with_qte}/lib `echo -L${with_qte}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte])
3936 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])
3938 VLC_ADD_LDFLAGS([qte],[-L${QTDIR}/lib `echo -L${QTDIR}/lib | sed 's,opt/QtPalmtop,usr,'`])
3939 VLC_ADD_CXXFLAGS([qte],[-I${QTDIR}/include `echo -I${QTDIR}/include | sed 's,opt/QtPalmtop,usr,'`])
3941 CPPFLAGS="${CPPFLAGS_save} ${CXXFLAGS_qte}"
3942 AC_CHECK_HEADERS(qt.h jpeglib.h, ,[
3943 AC_MSG_ERROR([echo "Cannot find QT Embedded development headers."])
3945 CPPFLAGS="${CPPFLAGS_save}"
3947 VLC_ADD_PLUGINS([opie])
3949 VLC_ADD_LDFLAGS([opie],[-lqpe ${LDFLAGS_qte}])
3950 VLC_ADD_CXXFLAGS([opie],[${CXXFLAGS_qte}])
3951 if test "${with_qte}" != "no" -a -n "${with_qte}"
3953 MOC=${with_qte}/bin/moc
3955 MOC=${QTDIR}/bin/moc
3962 AC_ARG_ENABLE(macosx,
3963 [ --enable-macosx MacOS X support (default enabled on MacOS X)],
3964 [if test "${enable_macosx}" = "yes"
3966 VLC_ADD_BUILTINS([macosx])
3967 VLC_ADD_LDFLAGS([macosx],[-framework IOKit -framework Cocoa -framework Carbon -framework QuickTime -lobjc -ObjC -framework OpenGL])
3969 [AC_CHECK_HEADERS(Cocoa/Cocoa.h,
3970 VLC_ADD_BUILTINS([macosx])
3971 VLC_ADD_LDFLAGS([macosx],[-framework IOKit -framework Cocoa -framework Carbon -framework QuickTime -lobjc -ObjC -framework OpenGL])
3978 [ --enable-qnx QNX RTOS support (default enabled on QNX RTOS)])
3979 if test "${enable_qnx}" != "no"
3981 AC_CHECK_HEADERS(Ph.h, [
3982 VLC_ADD_PLUGINS([qnx])
3983 VLC_ADD_LDFLAGS([qnx],[-lasound -lph])
3990 AC_ARG_ENABLE(ncurses,
3991 [ --enable-ncurses ncurses interface support (default disabled)],
3992 [if test "${enable_ncurses}" = "yes"; then
3993 VLC_ADD_PLUGINS([ncurses])
3994 VLC_ADD_LDFLAGS([ncurses],[-lncurses])
4001 [ --enable-xosd xosd interface support (default disabled)])
4002 if test "${enable_xosd}" = "yes"
4004 AC_CHECK_HEADER(xosd.h, have_xosd="true", have_xosd="false")
4005 AC_CHECK_LIB(xosd,xosd_set_offset,
4006 AC_DEFINE(HAVE_XOSD_VERSION_1, 1, Define if <xosd.h> is 1.0.x),
4007 AC_CHECK_LIB(xosd,xosd_set_horizontal_offset,
4008 AC_DEFINE(HAVE_XOSD_VERSION_2, 1, Define if <xosd.h> is 2.0.x),
4009 AC_TRY_COMPILE([#include <xosd.h>],
4010 [void foo() { xosd_init("foo","bar",12,XOSD_top,2,12,42); }],,
4011 AC_DEFINE(HAVE_XOSD_VERSION_0, 1, Define if <xosd.h> is pre-1.0.0))))
4012 if test "${have_xosd}" = "true"
4014 VLC_ADD_PLUGINS([xosd])
4015 VLC_ADD_LDFLAGS([xosd],[-lxosd])
4020 dnl Visualisation plugin
4022 AC_ARG_ENABLE(visual,
4023 [ --enable-visual visualisation plugin (default enabled)])
4024 if test "${enable_visual}" != "no"
4026 VLC_ADD_PLUGINS([visual])
4030 dnl OpenGL visualisation plugin
4032 AC_ARG_ENABLE(galaktos,
4033 [ --enable-galaktos OpenGL visualisation plugin (default disabled)])
4034 if test "${enable_galaktos}" = "yes"
4036 AC_CHECK_HEADERS(GL/gl.h, [
4037 VLC_ADD_PLUGINS([galaktos])
4038 if test "${SYS}" != "mingw32"; then
4039 VLC_ADD_LDFLAGS([galaktos],[-L${x_libraries} -lGL -lGLU])
4041 VLC_ADD_LDFLAGS([galaktos],[-lopengl32])
4047 dnl goom visualization plugin
4050 [ --enable-goom goom visualisation plugin (default disabled)])
4051 if test "${enable_goom}" = "yes"
4053 AC_ARG_WITH(goom-tree,
4054 [ --with-goom-tree=PATH goom tree for static linking (required)])
4057 dnl test for --with-goom-tree
4059 if test "${with_goom_tree}" != "no" -a -n "${with_goom_tree}"; then
4060 AC_MSG_CHECKING(for libgoom2.a in ${with_goom_tree})
4061 real_goom_tree="`cd ${with_goom_tree} 2>/dev/null && pwd`"
4062 if test -z "${real_goom_tree}"; then
4063 dnl The given directory can't be found
4065 AC_MSG_ERROR([cannot cd to ${with_goom_tree}])
4067 if test -f "${real_goom_tree}/src/.libs/libgoom2.a"; then
4068 AC_MSG_RESULT(${real_goom_tree}/src/.libs/libgoom2.a)
4069 VLC_ADD_BUILTINS([goom])
4070 VLC_ADD_LDFLAGS([goom],[-L${real_goom_tree}/src/.libs -lgoom2])
4071 VLC_ADD_CPPFLAGS([goom],[-I${real_goom_tree}/src -DUSE_GOOM_TREE])
4073 dnl The given libgoom2 wasn't built, try to look for the old goom
4075 AC_MSG_CHECKING(for libgoom.a in ${with_goom_tree})
4076 if test -f "${real_goom_tree}/libgoom.a"; then
4077 AC_MSG_RESULT(${real_goom_tree}/libgoom.a)
4078 VLC_ADD_BUILTINS([goom])
4079 VLC_ADD_LDFLAGS([goom],[-L${real_goom_tree} -lgoom])
4080 VLC_ADD_CPPFLAGS([goom],[-I${real_goom_tree} -DUSE_GOOM_TREE -DOLD_GOOM])
4082 dnl The given libgoom wasn't built
4084 AC_MSG_ERROR([cannot find ${real_goom_tree}/src/.libs/libgoom2.a, make sure you compiled goom in ${with_goom_tree}])
4088 AC_CHECK_HEADERS(goom/goom.h, [
4089 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_goom}"
4090 AC_CHECK_LIB(goom2, goom_init, [
4091 VLC_ADD_PLUGINS([goom])
4092 VLC_ADD_LDFLAGS([goom],[-lgoom2])
4094 AC_MSG_ERROR([Could not find goom on your system: you may get it from http://www.ios-software.com/.])
4096 LDFLAGS="${LDFLAGS_save}"
4102 dnl SLP access plugin
4105 [ --enable-slp SLP service discovery support (default disabled)])
4106 if test "${enable_slp}" = "yes"
4109 [ --with-slp=PATH libslp headers and libraries])
4110 if test -z "${with_slp}"
4112 AC_CHECK_HEADERS(slp.h, have_slp="true", have_slp="false")
4113 if test "${have_slp}" = "true"
4115 VLC_ADD_PLUGINS([slp])
4116 VLC_ADD_LDFLAGS([slp],[-lslp])
4117 VLC_ADD_LDFLAGS([stream_out_standard],[-lslp])
4120 AC_MSG_CHECKING(for slp headers in ${with_slp})
4121 if test -f ${with_slp}/slp.h
4123 dnl Use ${with_slp}/libslp/slp.h
4125 VLC_ADD_PLUGINS([slp])
4126 VLC_ADD_LDFLAGS([slp],[-L${with_slp} -lslp])
4127 VLC_ADD_LDFLAGS([stream_out_standard],[-L${with_slp} -lslp])
4128 VLC_ADD_CPPFLAGS([slp],[-I${with_slp}])
4129 AC_DEFINE(HAVE_SLP_H)
4131 dnl No libslp could be found, sorry
4133 AC_MSG_ERROR([cannot find ${with_slp}/slp.h])
4139 dnl DAAP access plugin and services discovery
4142 [ --enable-daap DAAP shares services discovery support (default enabled)])
4143 if test "$enable_daap" != "no"
4145 PKG_CHECK_MODULES(DAAP, opendaap >= 0.3.0,
4146 [ VLC_ADD_PLUGINS([daap])
4147 VLC_ADD_LDFLAGS([daap],[$DAAP_LIBS])
4148 VLC_ADD_CFLAGS([daap],[$DAAP_CFLAGS])]:,
4149 [AC_MSG_WARN(DAAP library not found)])
4156 [ --enable-lirc lirc support (default disabled)])
4157 if test "${enable_lirc}" = "yes"
4159 AC_CHECK_HEADER(lirc/lirc_client.h, AC_CHECK_LIB(lirc_client, lirc_init, have_lirc="true", have_lirc="false"),have_lirc="false")
4160 if test "${have_lirc}" = "true"
4162 VLC_ADD_PLUGINS([lirc])
4163 VLC_ADD_LDFLAGS([lirc],[-llirc_client])
4170 AC_ARG_ENABLE(joystick,
4171 [ --enable-joystick joystick control (default enabled)])
4172 if test "${enable_joystick}" = "yes"; then
4173 AC_CHECK_HEADER(linux/joystick.h, [VLC_ADD_PLUGINS([joystick])])
4177 dnl corba (ORBit) plugin
4179 dnl Default: do not enable corba
4181 AC_ARG_ENABLE(corba,
4182 [ --enable-corba corba interface support (default disabled)])
4183 if test "${enable_corba}" = "yes"; then
4185 PKG_CHECK_MODULES(CORBA,
4186 ORBit-2.0 >= 2.8.0 \
4187 glib-2.0 >= $GLIB_VERSION \
4188 gobject-2.0 >= $GLIB_VERSION \
4189 gthread-2.0 >= $GLIB_VERSION,
4192 VLC_ADD_LDFLAGS([corba],[$CORBA_LIBS])
4193 VLC_ADD_CFLAGS([corba],[$CORBA_CFLAGS])
4194 VLC_ADD_PLUGINS([corba snapshot]) ],
4196 AC_MSG_WARN(corba library not found) ])
4198 AM_CONDITIONAL(ENABLE_CORBA, test "$enablecorba" = "true")
4200 AC_ARG_WITH(,[Misc options:])
4203 dnl Endianness check, AC_C_BIGENDIAN doesn't work if we are cross-compiling
4205 dnl We give the user the opportunity to specify
4206 dnl --with-words=big or --with-words=little ; otherwise, try to guess
4209 [ --with-words=endianness set endianness (big or little)])
4210 case "${with_words}" in
4212 ac_cv_c_bigendian=yes
4215 ac_cv_c_bigendian=no
4218 dnl Try to guess endianness by matching patterns on a compiled
4219 dnl binary, by looking for an ASCII or EBCDIC string
4220 AC_CACHE_CHECK([whether the byte order is big-endian],
4221 [ac_cv_c_bigendian],
4222 [ac_cv_c_bigendian="unknown"
4223 [cat >conftest.c <<EOF
4224 short am[] = { 0x4249, 0x4765, 0x6e44, 0x6961, 0x6e53, 0x7953, 0 };
4225 short ai[] = { 0x694c, 0x5454, 0x656c, 0x6e45, 0x6944, 0x6e61, 0 };
4226 void _a(void) { char*s = (char*)am; s = (char *)ai; }
4227 short ei[] = { 0x89D3, 0xe3e3, 0x8593, 0x95c5, 0x89c4, 0x9581, 0 };
4228 short em[] = { 0xc2c9, 0xc785, 0x95c4, 0x8981, 0x95e2, 0xa8e2, 0 };
4229 void _e(void) { char*s = (char*)em; s = (char*)ei; }
4230 int main(void) { _a(); _e(); return 0; }
4233 if test -f conftest.c
4235 if ${CC-cc} -c conftest.c -o conftest.o >>config.log 2>&1 \
4236 && test -f conftest.o
4238 if test "`strings conftest.o | grep BIGenDianSyS`"
4240 ac_cv_c_bigendian="yes"
4242 if test "`strings conftest.o | grep LiTTleEnDian`"
4244 ac_cv_c_bigendian="no"
4249 if test "${ac_cv_c_bigendian}" = "unknown"
4251 AC_MSG_ERROR([Could not guess endianness, please use --with-words])
4255 dnl Now we know what to use for endianness, just put it in the header
4256 if test "${ac_cv_c_bigendian}" = "yes"
4258 AC_DEFINE(WORDS_BIGENDIAN, 1, big endian system)
4262 dnl DLL loader copied from MPlayer copied from somewhere else (WINE ?)
4265 AC_ARG_ENABLE(loader,
4266 [ --enable-loader build DLL loader for ELF i386 platforms (default disabled)])
4267 AM_CONDITIONAL(LOADER, [test "${enable_loader}" = "yes"])
4268 AS_IF([test "${enable_loader}" = "yes"],
4269 [ VLC_ADD_PLUGINS([dmo quicktime])
4270 VLC_ADD_CPPFLAGS([dmo],[-I../../../@top_srcdir@/loader])
4271 VLC_ADD_LDFLAGS([dmo],[../../../loader/libloader.a])
4272 VLC_ADD_CPPFLAGS([quicktime],[-I../../@top_srcdir@/loader])
4273 VLC_ADD_LDFLAGS([quicktime],[../../loader/libloader.a])
4277 dnl Microsoft ActiveX support
4280 AC_ARG_ENABLE(activex,
4281 [ --enable-activex build a vlc-based ActiveX control (default enabled on Win32)])
4282 if test "${enable_activex}" != "no"
4284 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
4286 AC_CHECK_PROGS(MIDL, [midl widl], no)
4287 AC_CHECK_HEADERS(ole2.h olectl.h,
4288 [ VLC_ADD_CXXFLAGS([activex],[-fno-exceptions])
4289 VLC_ADD_LDFLAGS([activex],[-lole32 -loleaut32 -luuid -lshlwapi])
4290 AC_CHECK_HEADERS(objsafe.h,
4291 VLC_ADD_CXXFLAGS([activex],[-DHAVE_OBJSAFE_HEADER])
4295 [ AC_MSG_ERROR([required OLE headers are missing from your system]) ]
4299 AC_ARG_VAR(MIDL, [Microsoft IDL compiler (Win32 platform only)])
4300 AM_CONDITIONAL(HAS_MIDL_COMPILER, test "${MIDL}" != "no")
4301 AM_CONDITIONAL(BUILD_ACTIVEX,${activex})
4307 AC_ARG_ENABLE(mozilla,
4308 [ --enable-mozilla build a vlc-based Mozilla plugin (default disabled)])
4309 if test "${enable_mozilla}" = "yes" -a "${SYS}" != "mingw32"
4311 AC_PATH_PROG(MOZILLA_CONFIG, mozilla-config, no)
4312 if test "${MOZILLA_CONFIG}" = "no"
4314 AC_MSG_ERROR([Please install the Mozilla development tools, mozilla-config was not found.])
4316 if test "${SYS}" != "mingw32"; then
4317 LDFLAGS="${LDFLAGS_save} -L${x_libraries}"
4318 AC_CHECK_LIB(Xt,XtStrings,
4319 [VLC_ADD_LDFLAGS([mozilla],[-L${x_libraries} -lXt -lX11 -lSM -lICE])],
4321 [[-L${x_libraries} -lX11 -lSM -lICE]
4323 LDFLAGS="${LDFLAGS_save}"
4326 dnl Workaround for http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=150490
4327 VLC_ADD_CPPFLAGS([mozilla],[[`${MOZILLA_CONFIG} --cflags plugin xpcom java | sed 's,-I\([^ ]*\)/mozilla/\([^ ]*\),-I\1/\2 -I\1/mozilla/\2,g' | xargs`]])
4328 VLC_ADD_LDFLAGS([mozilla],[`${MOZILLA_CONFIG} --libs plugin xpcom`])
4329 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_mozilla}"
4330 AC_CHECK_HEADERS(mozilla-config.h)
4331 CPPFLAGS="${CPPFLAGS_save}"
4334 dnl special case for mingw32
4335 elif test "${enable_mozilla}" = "yes"
4337 AC_CHECK_TOOL(CYGPATH, cygpath, "")
4338 AC_ARG_WITH(mozilla-sdk-path,
4339 [ --with-mozilla-sdk-path=PATH path to win32 mozilla sdk], [
4340 real_mozilla_sdk="`cd ${with_mozilla_sdk_path} 2>/dev/null && pwd`"
4341 CPPFLAGS="${CPPFLAGS_save} ${real_mozilla_sdk}"
4342 AC_CHECK_HEADERS(mozilla-config.h, [
4344 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])
4345 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])
4346 XPIDL_INCL="-I${real_mozilla_sdk}/xpcom/idl"
4347 if test -n "${CYGPATH}"; then
4348 XPIDL="${real_mozilla_sdk}/xpcom/bin/xpidl"
4349 real_mozilla_sdk="`${CYGPATH} -w ${real_mozilla_sdk}`"
4350 XPIDL_INCL="${XPIDL_INCL} -I\"${real_mozilla_sdk}/xpcom/idl\""
4352 CPPFLAGS="${CPPFLAGS_save}"
4356 dnl Not necessarily in ${PATH}
4357 if test -z "${XPIDL}" -o ! -x "${XPIDL}"; then
4358 XPIDL="/usr/lib/mozilla/xpidl"
4360 AS_IF([test "${MOZILLA_CONFIG}"], [
4361 if test -z "${XPIDL_INCL}"; then
4362 XPIDL_INCL="`${MOZILLA_CONFIG} --cflags plugin xpcom java` \
4363 `${MOZILLA_CONFIG} --idlflags plugin xpcom java` "
4366 AM_CONDITIONAL(BUILD_MOZILLA,${mozilla})
4371 AC_ARG_ENABLE(testsuite,
4372 [ --enable-testsuite build test modules (default disabled)])
4373 if test "${enable_testsuite}" = "yes"
4375 TESTS="test1 test2 test3 test4"
4377 dnl we define those so that bootstrap sets the right linker
4378 VLC_ADD_CXXFLAGS([test2],[])
4379 VLC_ADD_OBJCFLAGS([test3],[])
4380 dnl this one is needed until automake knows what to do
4381 VLC_ADD_LDFLAGS([test3],[-lobjc])
4383 VLC_ADD_PLUGINS([${TESTS}])
4384 #VLC_ADD_BUILTINS([${TESTS}])
4390 if test "${NEED_GTK_MAIN}" != "no"
4392 VLC_ADD_PLUGINS([gtk_main])
4393 VLC_ADD_CFLAGS([gtk_main],[${CFLAGS_gtk}])
4394 VLC_ADD_LDFLAGS([gtk_main],[${LDFLAGS_gtk}])
4397 if test "${NEED_GNOME_MAIN}" != "no"
4399 VLC_ADD_PLUGINS([gnome_main])
4400 VLC_ADD_CFLAGS([gnome_main],[${CFLAGS_gtk} ${CFLAGS_gnome}])
4401 VLC_ADD_LDFLAGS([gnome_main],[${LDFLAGS_gtk} ${LDFLAGS_gnome}])
4404 if test "${NEED_GTK2_MAIN}" != "no"
4406 VLC_ADD_PLUGINS([gtk2_main])
4407 VLC_ADD_CFLAGS([gtk2],[-DNEED_GTK2_MAIN])
4408 VLC_ADD_CFLAGS([pda],[-DNEED_GTK2_MAIN])
4409 VLC_ADD_CFLAGS([gtk2_main],[${CFLAGS_gtk2} ${CFLAGS_pda}])
4410 VLC_ADD_LDFLAGS([gtk2_main],[${LDFLAGS_gtk2} ${LDFLAGS_pda}])
4413 if test "${NEED_GNOME2_MAIN}" != "no"
4415 VLC_ADD_PLUGINS([gnome2_main])
4416 VLC_ADD_CFLAGS([gnome2_main],[${CFLAGS_gtk2} ${CFLAGS_gnome2}])
4417 VLC_ADD_LDFLAGS([gnome2_main],[${LDFLAGS_gtk2} ${LDFLAGS_gnome2}])
4423 if test "${NEED_QTE_MAIN}" != "no"
4425 VLC_ADD_PLUGINS([qte_main])
4426 VLC_ADD_CXXFLAGS([opie qte qt_video],[-DNEED_QTE_MAIN])
4427 VLC_ADD_CXXFLAGS([qte_main],[${CXXFLAGS_qte} ${CXXFLAGS_qt_video}])
4428 VLC_ADD_LDFLAGS([qte_main],[${LDFLAGS_qte} ${LDFLAGS_qt_video}])
4433 dnl Plugin and builtin checks
4435 builtin_support=false
4438 dnl Support for plugins - this must be AT THE END
4439 AC_ARG_ENABLE(plugins,
4440 [ --disable-plugins make all plugins built-in (default plugins enabled)],
4441 [if test "${enable_plugins}" = "no"
4443 plugin_support=false
4446 dnl Automagically disable plugins if there is no system support for
4447 dnl dynamically loadable files (.so, .dll, .dylib).
4448 dnl don't forget vlc-win32 still can load .dll as plugins
4449 if test "${ac_cv_have_plugins}" = "no"
4451 echo "*** Your system doesn't have plugin support. All plugins will be built"
4453 plugin_support=false
4456 dnl Export automake variables
4457 if ${plugin_support}
4459 AC_DEFINE(HAVE_DYNAMIC_PLUGINS, 1, Define if we have support for dynamic plugins)
4460 for plugin in `echo ${PLUGINS}`
4462 eval "${plugin}_p=yes"
4465 VLC_ADD_BUILTINS([${PLUGINS}])
4468 AM_CONDITIONAL(HAVE_PLUGINS, ${plugin_support})
4470 [if echo "${BUILTINS}" | grep '[^ ]' >/dev/null 2>&1
4473 for builtin in `echo ${BUILTINS}`
4475 eval "${builtin}_b=yes"
4478 AM_CONDITIONAL(HAVE_BUILTINS, ${builtin_support})
4480 AC_ARG_ENABLE(shared-libvlc,
4481 [ --enable-shared-libvlc shared libvlc (default disabled EXPERIMENTAL)],
4482 ,[shared_libvlc=no])
4484 AM_CONDITIONAL(BUILD_SHARED, [test "${shared_libvlc}" != "no"])
4485 AS_IF([test "${shared_libvlc}" != "no"], [
4486 AC_DEFINE(HAVE_SHARED_LIBVLC, 1, [Define to 1 if libvlc is built as a shared library.])
4490 AS_IF([test "${shared_libvlc}" != "no"], [pic=pic])
4491 AS_IF([${mozilla}], [pic=pic])
4492 AS_IF([test "${SYS}" = "mingw32"], [pic=no])
4494 AS_IF([test "${pic}" = "no"], [pic=])
4497 dnl Import conditional variables generated by bootstrap
4501 dnl Stuff used by the program
4503 AC_DEFINE_UNQUOTED(VERSION_MESSAGE, "${VERSION} ${CODENAME}", [Simple version string])
4504 AC_DEFINE_UNQUOTED(COPYRIGHT_MESSAGE, "VLC media player - version ${VERSION} ${CODENAME} - (c) 1996-2005 the VideoLAN team", [Copyright string])
4505 AC_DEFINE_UNQUOTED(CONFIGURE_LINE, "${CONFIGURE_LINE}", [The ./configure command line])
4506 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MAJOR,"${VERSION_MAJOR}", [version major number])
4507 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MINOR,"${VERSION_MINOR}", [version minor number])
4508 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_REVISION,"${VERSION_REVISION}", [version minor number])
4509 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_EXTRA,"${VERSION_EXTRA}", [version minor number])
4510 AC_SUBST(VERSION_MAJOR)
4511 AC_SUBST(VERSION_MINOR)
4512 AC_SUBST(VERSION_REVISION)
4513 AC_DEFINE_UNQUOTED(VLC_COMPILE_BY, "`whoami`", [user who ran configure])
4514 AC_DEFINE_UNQUOTED(VLC_COMPILE_HOST, "`hostname`", [host which ran configure])
4515 AC_DEFINE_UNQUOTED(VLC_COMPILE_DOMAIN, "`dnsdomainname 2>/dev/null || domainname 2>/dev/null || echo unknown`", [domain of the host which ran configure])
4516 AC_DEFINE_UNQUOTED(VLC_COMPILER, "`$CC -v 2>&1 | tail -n 1`", [compiler])
4518 dnl Old definitions for version-dependant plugins
4519 dnl VLC_SYMBOL="`echo ${VERSION} | sed -e 'y/.-+/___/'`"
4520 dnl AC_DEFINE_UNQUOTED(MODULE_SUFFIX, "__${VLC_SYMBOL}", [String suffix for module functions])
4521 dnl AC_DEFINE_UNQUOTED(MODULE_SYMBOL, ${VLC_SYMBOL}, [Symbol suffix for module functions])
4523 dnl New definitions with value matching 0.8.4 release
4524 module_symbol="0_8_4"
4525 AC_DEFINE_UNQUOTED(MODULE_SUFFIX, "__${module_symbol}", [String suffix for module functions])
4526 AC_DEFINE_UNQUOTED(MODULE_SYMBOL, $module_symbol, [Symbol suffix for module functions])
4527 VLC_ENTRY="vlc_entry__${module_symbol}"
4530 DATA_PATH="${ac_tool_prefix}/share/vlc"
4532 PLUGIN_PATH="${ac_tool_prefix}/lib/vlc"
4533 AC_SUBST(PLUGIN_PATH)
4536 dnl Handle substvars that use $(top_srcdir)
4538 VLC_CONFIG="top_builddir=\"\$(top_builddir)\" \$(top_builddir)/vlc-config"
4539 AC_SUBST(VLC_CONFIG)
4540 CPPFLAGS_save="${CPPFLAGS_save} -I\$(top_srcdir)/include"
4548 dnl Create the vlc-config script
4550 LDFLAGS_libvlc="${LDFLAGS_vlc} ${LDFLAGS_builtin}"
4551 for i in `echo "${BUILTINS}" | sed -e 's@[^ ]*/@@g'` ; do LDFLAGS_libvlc="${LDFLAGS_libvlc} ${libdir}/vlc/${i}.a `eval echo '$'{LDFLAGS_${i}}`" ; done
4554 dnl Configuration is finished
4563 AC_SUBST(XPIDL_INCL)
4566 AC_SUBST(ALL_LINGUAS)
4568 dnl Import substitutions generated by bootstrap
4571 dnl Create vlc-config.in
4572 VLC_OUTPUT_VLC_CONFIG_IN
4592 modules/access/Makefile
4593 modules/access/dshow/Makefile
4594 modules/access/dvb/Makefile
4595 modules/access/mms/Makefile
4596 modules/access/pvr/Makefile
4597 modules/access/v4l/Makefile
4598 modules/access/cdda/Makefile
4599 modules/access/vcd/Makefile
4600 modules/access/vcdx/Makefile
4601 modules/access/screen/Makefile
4602 modules/access_filter/Makefile
4603 modules/access_output/Makefile
4604 modules/audio_filter/Makefile
4605 modules/audio_filter/channel_mixer/Makefile
4606 modules/audio_filter/converter/Makefile
4607 modules/audio_filter/resampler/Makefile
4608 modules/audio_mixer/Makefile
4609 modules/audio_output/Makefile
4610 modules/codec/Makefile
4611 modules/codec/cmml/Makefile
4612 modules/codec/dmo/Makefile
4613 modules/codec/ffmpeg/Makefile
4614 modules/codec/spudec/Makefile
4615 modules/control/Makefile
4616 modules/control/http/Makefile
4617 modules/control/corba/Makefile
4618 modules/demux/Makefile
4619 modules/demux/asf/Makefile
4620 modules/demux/avi/Makefile
4621 modules/demux/mp4/Makefile
4622 modules/demux/mpeg/Makefile
4623 modules/demux/playlist/Makefile
4624 modules/demux/util/Makefile
4625 modules/gui/Makefile
4626 modules/gui/beos/Makefile
4627 modules/gui/pda/Makefile
4628 modules/gui/macosx/Makefile
4629 modules/gui/qnx/Makefile
4630 modules/gui/skins2/Makefile
4631 modules/gui/wxwidgets/Makefile
4632 modules/gui/wince/Makefile
4633 modules/misc/Makefile
4634 modules/misc/dummy/Makefile
4635 modules/misc/memcpy/Makefile
4636 modules/misc/network/Makefile
4637 modules/misc/testsuite/Makefile
4638 modules/misc/playlist/Makefile
4639 modules/misc/xml/Makefile
4640 modules/mux/Makefile
4641 modules/mux/mpeg/Makefile
4642 modules/packetizer/Makefile
4643 modules/services_discovery/Makefile
4644 modules/stream_out/Makefile
4645 modules/stream_out/transrate/Makefile
4646 modules/video_chroma/Makefile
4647 modules/video_filter/Makefile
4648 modules/video_filter/swscale/Makefile
4649 modules/video_output/Makefile
4650 modules/video_output/directx/Makefile
4651 modules/video_output/qte/Makefile
4652 modules/video_output/x11/Makefile
4653 modules/visualization/Makefile
4654 modules/visualization/visual/Makefile
4655 modules/visualization/galaktos/Makefile
4658 dnl Generate makefiles
4661 # Cannot use AC_CONFIG_FILES([vlc-config]) as is automatically built,
4662 # not provided with the source
4663 ${SHELL} ./config.status --file=vlc-config
4664 chmod 0755 vlc-config
4666 dnl echo "Enabled builtin modules :"
4667 dnl for a in `./vlc-config --target builtin` ; do echo $a; done | sed -e 's,modules\/\(.*\)\/lib\(.*\)\.a,\2 (\1),'
4669 dnl echo "Enabled plugin modules :"
4670 dnl for a in `./vlc-config --target plugin` ; do echo $a; done | sed -e 's,modules\/\(.*\)\/lib\(.*\)_plugin,\2 (\1),'
4674 --------------------
4675 vlc version : ${VERSION}
4677 architecture : ${ARCH}
4679 test "${enable_debug}" = "yes" && printf "debug "
4680 test "${enable_cprof}" = "yes" && printf "cprof "
4681 test "${enable_gprof}" = "yes" && printf "gprof "
4682 test "${enable_optimizations}" = "yes" && printf "optim "
4683 test "${enable_release}" = "yes" && printf "release " || printf "devel "
4685 vlc aliases :${ALIASES}
4687 You can tune the compiler flags in vlc-config.
4688 To build vlc and its plugins, type \`make'.