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.5-svn)
21 AM_CONFIG_HEADER(config.h)
23 dnl Too many people are not aware of maintainer mode:
24 dnl If you want to use it, you definitely know what you are doing, so
25 dnl you can specify "--disable-maintainer-mode". But if you want the default
26 dnl automake behavior, you've likely never heard of maintainer mode, so we
27 dnl can't expect you to enable it manually.
29 AS_IF([test "x${enable_maintainer_mode}" != "xno"],
30 [enable_maintainer_mode="yes"])
47 eval "${CXX} --version" >/dev/null 2>&1 || CXX=""
48 if test "${CXX}" != ""; then
55 dnl AC_PROG_EGREP only exists in autoconf 2.54+, so we use AC_EGREP_CPP right
56 dnl now otherwise it might be set in an obscure if statement.
59 dnl AC_PROG_OBJC doesn't seem to exist, this is the KDE workaround
60 AC_MSG_CHECKING(for an Objective-C compiler)
63 OBJCFLAGS="${CXXFLAGS} -fgnu-runtime -fconstant-string-class=NSConstantString"
65 dnl _AM_DEPENDENCIES(OBJC) doesn't work, so hard code OBJCDEPMODE here
66 #OBJCDEPMODE="depmode=gcc3"
67 #AC_SUBST(OBJCDEPMODE)
68 _AM_DEPENDENCIES(OBJC)
69 AC_MSG_RESULT(not implemented yet)
71 dnl Find the right ranlib, even when cross-compiling
72 AC_CHECK_TOOL(RANLIB, ranlib, :)
73 AC_CHECK_TOOL(STRIP, strip, :)
74 AC_CHECK_TOOL(AR, ar, :)
75 AC_CHECK_TOOL(LD, ld, :)
77 dnl Sam, if you think I didn't see that... --Meuuh
81 dnl Check for compiler properties
86 dnl Check for the contrib directory
89 [ --without-contrib do not use the libraries in extras/contrib],[],[])
90 if test "${with_contrib}" != "no"; then
93 if test "`echo \"$topdir\" | cut -c 1`" != "/"; then
94 topdir="`pwd`/$topdir"
97 if test -d ${topdir}/extras/contrib/lib; then
98 export PATH=${topdir}/extras/contrib/bin:$PATH
99 CPPFLAGS="${CPPFLAGS} -I${topdir}/extras/contrib/include"
100 CPPFLAGS_save="${CPPFLAGS_save} -I${topdir}/extras/contrib/include"
101 CFLAGS="${CFLAGS} -I${topdir}/extras/contrib/include"
102 CFLAGS_save="${CFLAGS_save} -I${topdir}/extras/contrib/include"
103 CXXFLAGS="${CXXFLAGS} -I${topdir}/extras/contrib/include"
104 CXXFLAGS_save="${CXXFLAGS_save} -I${topdir}/extras/contrib/include"
105 OBJCFLAGS="${OBJCFLAGS} -I${topdir}/extras/contrib/include"
106 OBJCFLAGS_save="${OBJCFLAGS_save} -I${topdir}/extras/contrib/include"
107 if test $build = $host -o $PKG_CONFIG_LIBDIR; then
108 export PKG_CONFIG_PATH=${topdir}/extras/contrib/lib/pkgconfig:$PKG_CONFIG_PATH
110 export PKG_CONFIG_LIBDIR=${topdir}/extras/contrib/lib/pkgconfig
112 if test -d ${topdir}/extras/contrib/vlc-lib; then
113 LDFLAGS="${LDFLAGS} -L${topdir}/extras/contrib/vlc-lib"
114 LDFLAGS_save="${LDFLAGS_save} -L${topdir}/extras/contrib/vlc-lib"
116 LDFLAGS="${LDFLAGS} -L${topdir}/extras/contrib/lib"
117 LDFLAGS_save="${LDFLAGS_save} -L${topdir}/extras/contrib/lib"
119 dnl kludge because only the debian package provides a ffmpeg-config
120 if test -z $with_ffmpeg_config_path; then
121 with_ffmpeg_config_path=${topdir}/extras/contrib/bin;
123 if test -z $with_livedotcom_tree; then
124 with_livedotcom_tree=${topdir}/extras/contrib/src/live
126 if test -z $with_goom_tree; then
127 with_goom_tree=${topdir}/extras/contrib/src/goom
130 if test ".`uname -s`" = ".Darwin"; then
131 export LD_LIBRARY_PATH=${topdir}/extras/contrib/lib:$LD_LIBRARY_PATH
132 export DYLD_LIBRARY_PATH=${topdir}/extras/contrib/lib:$DYLD_LIBRARY_PATH
133 elif test ".`uname -s`" = ".BeOS"; then
134 export LIBRARY_PATH=${topdir}/extras/contrib/lib:$LIBRARY_PATH
135 export BELIBRARIES=${topdir}/extras/contrib/lib:$BELIBRARIES
140 dnl Set default values
142 LDFLAGS_vlc="${LDFLAGS}"
145 dnl Check the operating system
147 case "${target_os}" in
156 CFLAGS_save="${CFLAGS_save} -pthread"; CFLAGS="${CFLAGS_save}"
157 VLC_ADD_LDFLAGS([dvd dvdcss vcd cdda vcdx cddax],[-ldvd])
161 CFLAGS_save="${CFLAGS_save} -pthread"; CFLAGS="${CFLAGS_save}"
166 CFLAGS_save="${CFLAGS_save} -no-cpp-precomp -D_INTL_REDIRECT_MACROS"; CFLAGS="${CFLAGS_save}"
167 CXXFLAGS_save="${CXXFLAGS_save} -no-cpp-precomp -D_INTL_REDIRECT_MACROS"; CXXFLAGS="${CXXFLAGS_save}"
168 OBJCFLAGS_save="${OBJCFLAGS_save} -no-cpp-precomp -D_INTL_REDIRECT_MACROS"; OBJCFLAGS="${OBJCFLAGS_save}"
169 VLC_ADD_LDFLAGS([vlc ffmpeg ffmpegaltivec],[-all_load])
170 VLC_ADD_LDFLAGS([mp4], [-framework IOKit -framework CoreFoundation])
171 VLC_ADD_CFLAGS([libvlc],[-x objective-c])
172 VLC_ADD_CFLAGS([vlc],[-x objective-c])
173 VLC_ADD_LDFLAGS([vlc],[-Wl,-m -Wl,-multiply_defined -Wl,suppress])
177 CFLAGS_save="${CFLAGS_save} -D_INTL_REDIRECT_MACROS"; CFLAGS="${CFLAGS_save}"
178 CXXFLAGS_save="${CXXFLAGS_save} -D_INTL_REDIRECT_MACROS"; CXXFLAGS="${CXXFLAGS_save}"
179 OBJCFLAGS_save="${OBJCFLAGS_save} -D_INTL_REDIRECT_MACROS"; OBJCFLAGS="${OBJCFLAGS_save}"
180 VLC_ADD_LDFLAGS([mp4], [-framework IOKit -framework CoreFoundation])
181 VLC_ADD_CFLAGS([libvlc],[-x objective-c])
182 VLC_ADD_CFLAGS([vlc],[-x objective-c])
184 *mingw32* | *cygwin* | *wince* | *mingwce* | *pe*)
185 AC_CHECK_TOOL(WINDRES, windres, :)
187 case "${target_os}" in
192 dnl Check if we are using the mno-cygwin mode in which case we are
193 dnl actually dealing with a mingw32 compiler.
198 SYS=mingw32, SYS=cygwin)
200 *wince* | *mingwce* | *pe*)
205 if test "${SYS}" = "mingw32"; then
206 # add ws2_32 for closesocket, select, recv
207 CPPFLAGS_save="${CPPFLAGS_save} -D_OFF_T_ -D_off_t=long"; CPPFLAGS="${CPPFLAGS_save}"
208 VLC_ADD_LDFLAGS([vlc],[-lws2_32 -lnetapi32 -lwinmm -mwindows])
209 VLC_ADD_LDFLAGS([cdda vcdx cddax],[-lwinmm])
210 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 growl],[-lws2_32])
212 if test "${SYS}" = "mingwce"; then
213 # add ws2 for closesocket, select, recv
214 CPPFLAGS_save="${CPPFLAGS_save} -D_OFF_T_ -D_off_t=long"; CPPFLAGS="${CPPFLAGS_save}"
215 VLC_ADD_CPPFLAGS([vlc],[-Dmain(a,b)=maince(a,b)])
216 VLC_ADD_LDFLAGS([vlc],[-lws2 -e WinMainCRTStartup])
217 VLC_ADD_LDFLAGS([ipv4 ipv6 access_http access_mms access_udp access_tcp access_ftp access_output_udp sap http netsync],[-lws2])
222 VLC_ADD_LDFLAGS([x11 xvideo],[-lsocket])
226 # _POSIX_PTHREAD_SEMANTICS is needed to get the POSIX ctime_r
227 # Perhaps it is useful other places as well?
228 CFLAGS_save="${CFLAGS_save} -D_POSIX_PTHREAD_SEMANTICS"; CFLAGS="${CFLAGS_save}"
235 CFLAGS_save="${CFLAGS_save} -Wno-multichar"; CFLAGS="${CFLAGS_save}"
236 CXXFLAGS_save="${CXXFLAGS_save} -Wno-multichar"; CXXFLAGS="${CXXFLAGS_save}"
237 VLC_ADD_CXXFLAGS([beos],[])
238 VLC_ADD_LDFLAGS([vlc beos logger],[-lbe])
239 VLC_ADD_LDFLAGS([beos],[-lmedia -ltranslation -ltracker -lgame])
242 if test -f /boot/beos/system/lib/libbind.so; then
243 VLC_ADD_LDFLAGS([access_file access_ftp access_mms access_output_udp telnet netsync sap ipv4 vlc growl],[-lbind -lsocket])
245 VLC_ADD_LDFLAGS([access_file access_ftp access_mms access_output_udp telnet netsync sap ipv4 vlc growl],[-lnet])
248 dnl Ugly check for Zeta
249 if test -f /boot/beos/system/lib/libzeta.so; then
250 VLC_ADD_LDFLAGS([beos],[-lzeta])
257 AM_CONDITIONAL(HAVE_BEOS, test "${SYS}" = "beos")
258 AM_CONDITIONAL(HAVE_DARWIN, test "${SYS}" = "darwin")
259 AM_CONDITIONAL(HAVE_WIN32, test "${SYS}" = "mingw32")
260 AM_CONDITIONAL(HAVE_WINCE, test "${SYS}" = "mingwce")
263 dnl Check for Mac OS X SDK settings
265 AC_ARG_WITH(macosx-sdk,
266 [ --with-macosx-sdk compile for Mac OS X 10.3 SDK],[], with_macosx_sdk=no)
267 if test "${with_macosx_sdk}" != "no" ; then
268 CFLAGS_save="${CFLAGS_save} -DMACOSX_DEPLOYMENT_TARGET=10.3 -isysroot /Developer/SDKs/MacOSX10.3.9.sdk"; CFLAGS="${CFLAGS_save}"
269 CXXFLAGS_save="${CXXFLAGS_save} -DMACOSX_DEPLOYMENT_TARGET=10.3 -isysroot /Developer/SDKs/MacOSX10.3.9.sdk"; CXXFLAGS="${CXXFLAGS_save}"
270 OBJCFLAGS_save="${OBJCFLAGS_save} -DMACOSX_DEPLOYMENT_TARGET=10.3 -isysroot /Developer/SDKs/MacOSX10.3.9.sdk"; OBJCFLAGS="${OBJCFLAGS_save}"
271 LDFLAGS_save="${LDFLAGS_save} -isysroot /Developer/SDKs/MacOSX10.3.9.sdk -Wl,-syslibroot,/Developer/SDKs/MacOSX10.3.9.sdk"; LDFLAGS="${LDFLAGS_save}"
272 export MACOSX_DEPLOYMENT_TARGET=10.3
273 MACOSX_DEPLOYMENT_TARGET="10.3"
279 ALL_LINGUAS="ca da de en_GB es fr it ja ka ko nl oc pt_BR ro ru sv tr zh_CN zh_TW"
280 AM_GNU_GETTEXT_VERSION(0.11.5)
282 if test "${nls_cv_force_use_gnu_gettext}" = "yes"; then
283 AC_DEFINE(HAVE_INCLUDED_GETTEXT, 1, Define if we use the local libintl)
284 INCLUDES="${INCLUDES} -I\$(top_builddir)/intl"
286 AC_CHECK_FUNCS(textdomain,,[
287 AC_CHECK_LIB(intl,textdomain,
288 VLC_ADD_LDFLAGS([vlc],[${LIBINTL}]),,
293 AM_CONDITIONAL(BUILD_INTL, test "${nls_cv_force_use_gnu_gettext}" = "yes")
294 XGETTEXT="${XGETTEXT} --keyword=_NS --keyword=_ANS"
299 if test "${SYS}" != "mingwce"; then
300 AS_IF([test "$am_cv_func_iconv" != "yes"],
301 [AC_MSG_ERROR([libiconv is needed for VLC to work properly])])
303 VLC_ADD_CFLAGS([vlc],[${INCICONV}])
304 VLC_ADD_LDFLAGS([vlc],[${LIBICONV}])
306 dnl Check for the need to include the mingwex lib for mingw32
307 if test "${SYS}" = "mingw32"
309 AC_CHECK_LIB(mingwex,opendir,
310 AC_CHECK_LIB(mingw32,opendir,VLC_ADD_LDFLAGS([vlc],[]),
311 [VLC_ADD_LDFLAGS([vlc gtk],[-lmingwex])])
315 dnl Check for fnative-struct or mms-bitfields support for mingw32
316 if test "${SYS}" = "mingw32"
318 AC_CACHE_CHECK([if \$CC accepts -mms-bitfields],
319 [ac_cv_c_mms_bitfields],
320 [CFLAGS="${CFLAGS_save} -mms-bitfields"
321 AC_TRY_COMPILE([],,ac_cv_c_mms_bitfields=yes, ac_cv_c_mms_bitfields=no)])
322 if test "${ac_cv_c_mms_bitfields}" != "no"; then
323 CFLAGS_save="${CFLAGS_save} -mms-bitfields";
324 CXXFLAGS_save="${CXXFLAGS_save} -mms-bitfields";
326 AC_CACHE_CHECK([if \$CC accepts -fnative-struct],
327 [ac_cv_c_fnative_struct],
328 [CFLAGS="${CFLAGS_save} -fnative-struct"
329 AC_TRY_COMPILE([],,ac_cv_c_fnative_struct=yes, ac_cv_c_fnative_struct=no)])
330 if test "${ac_cv_c_fnative_struct}" != "no"; then
331 CFLAGS_save="${CFLAGS_save} -fnative-struct";
332 CXXFLAGS_save="${CXXFLAGS_save} -fnative-struct";
336 CFLAGS="${CFLAGS_save}"; CXXFLAGS="${CXXFLAGS_save}"
339 dnl Check for fvtable-thunks support for mingw32
340 if test "${SYS}" = "mingw32" -a "${CXX}" != ""
343 AC_CACHE_CHECK([if \$CXX accepts -fvtable-thunks],
344 [ac_cv_cxx_fvtable_thunks],
345 [CXXFLAGS="${CXXFLAGS_save} -Wall -Werror -fvtable-thunks"
346 AC_TRY_COMPILE([],,ac_cv_cxx_fvtable_thunks=yes,
347 ac_cv_cxx_fvtable_thunks=no)])
348 if test "${ac_cv_cxx_fvtable_thunks}" = "yes"; then
349 CXXFLAGS_mingw32_special="-fvtable-thunks"
352 CXXFLAGS_save="${CXXFLAGS_save} ${CXXFLAGS_mingw32_special}"; CXXFLAGS="${CXXFLAGS_save}"
356 dnl Plugin compilation stuff
365 VLC_ADD_CFLAGS([pic plugin mozilla activex],[${CFLAGS_mingw32_special}])
366 VLC_ADD_CXXFLAGS([pic plugin mozilla activex],[${CFLAGS_mingw32_special} ${CXXFLAGS_mingw32_special}])
367 VLC_ADD_OBJCFLAGS([pic plugin mozilla activex],[${CFLAGS_mingw32_special}])
372 VLC_ADD_CFLAGS([pic plugin mozilla],[-fpic -fPIC])
373 VLC_ADD_CXXFLAGS([pic plugin mozilla],[-fpic -fPIC])
374 VLC_ADD_OBJCFLAGS([pic plugin mozilla],[-fpic -fPIC])
375 VLC_ADD_LDFLAGS([plugin mozilla],[-fpic -fPIC])
379 dnl The -DSYS_FOO flag
380 CPPFLAGS_save="${CPPFLAGS_save} -DSYS_`echo ${SYS} | sed -e 's/-.*//' | tr 'abcdefghijklmnopqrstuvwxyz.' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`"; CPPFLAGS="${CPPFLAGS_save}"
382 dnl Check for system libs needed
385 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 bsearch lstat)
387 dnl Check for usual libc functions
388 AC_CHECK_FUNCS(strdup strndup atof)
389 AC_CHECK_FUNCS(strcasecmp,,[AC_CHECK_FUNCS(stricmp)])
390 AC_CHECK_FUNCS(strncasecmp,,[AC_CHECK_FUNCS(strnicmp)])
391 AC_CHECK_FUNCS(strcasestr,,[AC_CHECK_FUNCS(stristr)])
393 dnl Check for setlocal and langinfo
394 AC_CHECK_FUNCS(setlocale)
395 AC_CHECK_HEADERS(langinfo.h)
396 AC_CHECK_FUNCS(nl_langinfo)
398 AC_CACHE_CHECK([for nl_langinfo and CODESET], ac_cv_langinfo_codeset,
399 [AC_TRY_LINK([#include <langinfo.h>],
400 [char* cs = nl_langinfo(CODESET);],
401 ac_cv_langinfo_codeset=yes,
402 ac_cv_langinfo_codeset=no)
404 if test ${ac_cv_langinfo_codeset} = yes; then
405 AC_DEFINE(HAVE_LANGINFO_CODESET, 1,
406 [Define if you have <langinfo.h> and nl_langinfo(CODESET).])
409 AC_CHECK_FUNCS(connect,,[
410 AC_CHECK_LIB(socket,connect,[
411 VLC_ADD_LDFLAGS([vlc ipv4 cdda cddax],-lsocket)
415 AC_CHECK_FUNCS(send,,[
416 AC_CHECK_LIB(socket,send,[
417 VLC_ADD_LDFLAGS([access_http access_mms access_udp access_tcp access_ftp sap access_output_udp stream_out_standard growl],[-lsocket])
421 AC_CHECK_FUNCS(gethostbyname,,[
422 AC_CHECK_LIB(nsl,gethostbyname,[
423 VLC_ADD_LDFLAGS([cdda cddax ipv4 vlc],[-lnsl])
425 AC_CHECK_LIB(bind,gethostbyname,[
426 VLC_ADD_LDFLAGS([ipv4 access_mms],[-lbind])
431 dnl Check for socklen_t
432 AC_CACHE_CHECK([for socklen_t], ac_cv_type_socklen_t,
434 [#include <sys/types.h>
435 #include <sys/socket.h>],
436 [socklen_t len = 42; return len;],
437 ac_cv_type_socklen_t=yes,
438 ac_cv_type_socklen_t=no)])
439 if test "${ac_cv_type_socklen_t}" != "no"; then
440 AC_DEFINE(HAVE_SOCKLEN_T, 1, [Define if <sys/socket.h> defines socklen_t.])
443 dnl Check for struct sockaddr_storage
444 AH_TEMPLATE(sockaddr_storage, [Define to `sockaddr' if <sys/socket.h> does not define.])
445 AH_TEMPLATE(ss_family, [Define to `sa_family' if <sys/socket.h> does not define.])
446 AC_CACHE_CHECK([for struct sockaddr_storage], ac_cv_struct_sockaddr_storage,
448 [#include <sys/types.h>
449 #if defined( UNDER_CE )
450 # include <winsock.h>
451 #elif defined( WIN32 )
452 # include <winsock2.h>
454 # include <sys/socket.h>
455 #endif], [struct sockaddr_storage addr;],
456 ac_cv_struct_sockaddr_storage=yes,
457 ac_cv_struct_sockaddr_storage=no)])
458 if test $ac_cv_struct_sockaddr_storage = no; then
459 AC_DEFINE(sockaddr_storage, sockaddr)
460 AC_DEFINE(ss_family, sa_family)
463 dnl getaddrinfo, getnameinfo and gai_strerror check
464 dnl -lresolv is NOT needed on Solaris
465 dnl we purposedly make the test fail on Windows
466 AC_CHECK_FUNCS([getaddrinfo getnameinfo gai_strerror])
467 AH_TEMPLATE(HAVE_ADDRINFO, [Define to `1' if <netdb.h> defines struct addrinfo.])
468 AC_CHECK_TYPES([struct addrinfo],[AC_DEFINE(HAVE_ADDRINFO)],,
469 [#include <sys/types.h>
470 #if defined( WIN32 ) || defined( UNDER_CE )
471 # if defined(UNDER_CE) && defined(sockaddr_storage)
472 # undef sockaddr_storage
474 # include <winsock2.h>
475 # include <ws2tcpip.h>
480 dnl Check for va_copy
481 AC_CACHE_CHECK([for va_copy], ac_cv_c_va_copy,
483 [#include <stdarg.h>],
484 [va_list ap1, ap2; va_copy(ap1,ap2);],
485 [ac_cv_c_va_copy="yes"],
486 [ac_cv_c_va_copy="no"]))
487 if test "${ac_cv_c_va_copy}" = "yes"; then
488 AC_DEFINE(HAVE_VA_COPY, 1, [Define if <stdarg.h> defines va_copy.])
490 AC_CACHE_CHECK([for __va_copy], ac_cv_c___va_copy,
492 [#include <stdarg.h>],
493 [va_list ap1, ap2; __va_copy(ap1,ap2);],
494 [ac_cv_c___va_copy="yes"],
495 [ac_cv_c___va_copy="no"]))
496 if test "${ac_cv_c___va_copy}" = "yes"; then
497 AC_DEFINE(HAVE___VA_COPY, 1, [Define if <stdarg.h> defines __va_copy.])
500 AC_CHECK_FUNCS(inet_aton,,[
501 AC_CHECK_LIB(resolv,inet_aton,[
502 VLC_ADD_LDFLAGS([ipv4 vlc],[-lresolv])
506 dnl Check for getopt (always use builtin one on win32)
507 if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"; then
511 AC_CHECK_FUNCS(getopt_long,[AC_DEFINE(HAVE_GETOPT_LONG,1,long getopt support)],
512 [ # FreeBSD has a gnugetopt library for this:
513 AC_CHECK_LIB([gnugetopt],[getopt_long],
514 [AC_DEFINE(HAVE_GETOPT_LONG,1,getopt support)
515 VLC_ADD_LDFLAGS([vlc],[-lgnugetopt])],
518 AM_CONDITIONAL(BUILD_GETOPT, ${need_getopt})
520 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
523 VLC_ADD_LDFLAGS([adjust distort a52tofloat32 dtstofloat32 x264 goom],[-lm])
526 VLC_ADD_LDFLAGS([ffmpeg ffmpegaltivec stream_out_transrate i420_rgb faad twolame equalizer param_eq vlc freetype mpc],[-lm])
528 AC_CHECK_LIB(m,sqrt,[
529 VLC_ADD_LDFLAGS([headphone_channel_mixer normvol speex],[-lm])
531 AC_CHECK_LIB(mx,sqrtf,[
532 VLC_ADD_LDFLAGS([x264],[-lmx])
534 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
536 dnl Check for dynamic plugins
537 ac_cv_have_plugins=no
540 AC_CHECK_HEADERS(mach-o/dyld.h,
541 [AC_CHECK_FUNCS(NSLinkModule,
542 [AC_DEFINE(HAVE_DL_DYLD, 1, [Define if you have the Darwin dyld API])
543 ac_cv_have_plugins=yes])])
546 if test "${ac_cv_have_plugins}" = "no"; then
547 AC_CHECK_HEADERS(dl.h)
548 ac_cv_my_have_shl_load=no
549 AC_CHECK_FUNC(shl_load,
550 [ac_cv_my_have_shl_load=yes,
551 AC_CHECK_LIB(dld, shl_load,
552 [ac_cv_my_have_shl_load=yes
553 VLC_ADD_LDFLAGS([vlc],[-ldld])])])
554 if test "${ac_cv_my_have_shl_load}" = "yes"; then
555 AC_DEFINE(HAVE_DL_SHL_LOAD, 1, [Define if you have the shl_load API])
556 ac_cv_have_plugins=yes
561 if test "${ac_cv_have_plugins}" = "no"; then
562 AC_CHECK_LIB(dld, dld_link,
563 [VLC_ADD_LDFLAGS([vlc],[-ldld])
564 AC_DEFINE(HAVE_DL_DLD_LINK, 1, [Define if you have the GNU dld library])
565 ac_cv_have_plugins=yes])
569 if test "${ac_cv_have_plugins}" = "no"; then
570 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"; then
571 AC_CHECK_LIB(kernel32, main,
572 [VLC_ADD_LDFLAGS([vlc],[-lkernel32])
573 AC_DEFINE(HAVE_DL_WINDOWS, 1, [Define if you have Windows' LoadLibrary])
574 ac_cv_have_plugins=yes])
579 if test "${ac_cv_have_plugins}" = "no"; then
580 if test "${SYS}" = "mingwce"; then
581 AC_DEFINE(HAVE_DL_WINDOWS, 1, [Define if you have Windows' LoadLibrary])
582 ac_cv_have_plugins=yes
587 if test "${ac_cv_have_plugins}" = "no"; then
588 AC_CHECK_HEADERS(image.h)
589 AC_CHECK_FUNCS(load_add_on,
590 [AC_DEFINE(HAVE_DL_BEOS, 1, [Define if you have the BeOS dl])
591 ac_cv_have_plugins=yes])
594 # Only test for dlopen() if the others didn't work
595 if test "${ac_cv_have_plugins}" = "no"; then
596 AC_CHECK_HEADERS(dlfcn.h sys/dl.h)
597 ac_cv_my_have_dlopen=no
598 AC_CHECK_FUNC(dlopen,
599 ac_cv_my_have_dlopen=yes,
600 AC_CHECK_LIB(dl, dlopen,
601 ac_cv_my_have_dlopen=yes
602 VLC_ADD_LDFLAGS([vlc],[-ldl]),
603 AC_CHECK_LIB(svld, dlopen,
604 ac_cv_my_have_dlopen=yes
605 VLC_ADD_LDFLAGS([vlc],[-lsvld]))))
606 if test "${ac_cv_my_have_dlopen}" = "yes"; then
607 AC_DEFINE(HAVE_DL_DLOPEN, 1, [Define if you have the dlopen API])
608 ac_cv_have_plugins=yes
612 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
613 dnl Check for pthreads - borrowed from XMMS
615 if test "${THREAD_LIB}" = "error"; then
616 AC_CHECK_LIB(pthread,main,THREAD_LIB="-lpthread")
618 if test "${THREAD_LIB}" = "error"; then
619 AC_CHECK_LIB(pthreads,main,THREAD_LIB="-lpthreads")
621 if test "${THREAD_LIB}" = "error"; then
622 AC_CHECK_LIB(c_r,main,THREAD_LIB="-lc_r")
624 if test "${THREAD_LIB}" = "error"; then
625 AC_CHECK_FUNCS(pthread_mutex_lock)
629 dnl Check for cthreads under GNU/Hurd for instance
630 AC_CHECK_LIB(threads,cthread_fork,THREAD_LIB="-lthreads")
633 dnl GNU portable threads
636 [ --enable-pth GNU Pth support (default disabled)],
637 [ if test "${enable_pth}" = "yes"; then
638 AC_CHECK_LIB(pth,pth_init)
639 AC_MSG_CHECKING(for pth_init in pth.h)
640 AC_EGREP_HEADER(pth_init,pth.h,[
642 AC_DEFINE(PTH_INIT_IN_PTH_H, 1,
643 Define if <pth.h> defines pth_init)
655 [ --enable-st State Threads (default disabled)],
656 [ if test "${enable_st}" = "yes"; then
657 AC_CHECK_LIB(st,st_init)
658 AC_MSG_CHECKING(for st_init in st.h)
659 AC_EGREP_HEADER(st_init,st.h,[
661 AC_DEFINE(ST_INIT_IN_ST_H, 1,
662 Define if <st.h> defines st_init)
670 VLC_ADD_LDFLAGS([vlc plugin],[${THREAD_LIB}])
672 dnl Don't link with rt when using GNU-pth
673 if test "${THREAD_LIB}" != "-lpth" && test "${THREAD_LIB}" != "-lst"; then
675 AC_CHECK_LIB(rt,sem_init, [VLC_ADD_LDFLAGS([vlc],[-lrt])])
678 AC_CHECK_FUNCS(nanosleep,have_nanosleep=:,[
679 AC_CHECK_LIB(rt,nanosleep,
680 [VLC_ADD_LDFLAGS([vlc],[-lrt]) have_nanosleep=:],
681 [AC_CHECK_LIB(posix4,nanosleep,
682 [VLC_ADD_LDFLAGS([vlc],[-lposix4]) have_nanosleep=:])]
685 if ${have_nanosleep}; then
686 AC_DEFINE(HAVE_NANOSLEEP, 1,
687 Define if nanosleep is available.)
691 dnl Check for misc headers
692 AC_MSG_CHECKING(for pthread_cond_t in pthread.h)
693 AC_EGREP_HEADER(pthread_cond_t,pthread.h,[
695 AC_DEFINE(PTHREAD_COND_T_IN_PTHREAD_H, 1,
696 Define if <pthread.h> defines pthread_cond_t.)],[
699 AC_MSG_CHECKING(for pthread_once in pthread.h)
700 AC_EGREP_HEADER(pthread_once,pthread.h,[
702 AC_DEFINE(PTHREAD_ONCE_IN_PTHREAD_H, 1,
703 Define if <pthread.h> defines pthread_once.)],[
705 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
707 AC_MSG_CHECKING(for strncasecmp in strings.h)
708 AC_EGREP_HEADER(strncasecmp,strings.h,[
710 AC_DEFINE(STRNCASECMP_IN_STRINGS_H, 1,
711 Define if <strings.h> defines strncasecmp.)],[
714 dnl Check for headers
715 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)
716 AC_CHECK_HEADERS(sys/sockio.h fcntl.h sys/types.h sys/time.h sys/times.h sys/ioctl.h sys/stat.h)
717 AC_CHECK_HEADERS(arpa/inet.h net/if.h netinet/in.h sys/socket.h)
718 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
719 AC_CHECK_HEADERS(machine/param.h sys/shm.h)
720 AC_CHECK_HEADERS(linux/version.h)
721 AC_CHECK_HEADERS(syslog.h)
722 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
728 AC_CHECK_HEADERS(dirent.h,,[need_dirent=:])
729 AM_CONDITIONAL(BUILD_DIRENT, ${need_dirent})
731 dnl Mac OS X and other OSes don't have declaration for nanosleep
732 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
733 AC_MSG_CHECKING(for nanosleep in time.h)
734 AC_EGREP_HEADER(nanosleep,time.h,[
736 AC_DEFINE(HAVE_DECL_NANOSLEEP, 1,
737 Define if <time.h> defines nanosleep.)
741 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
743 dnl Make sure we have timespecs
744 AC_MSG_CHECKING(for timespec in sys/time.h)
745 AC_EGREP_HEADER(timespec,sys/time.h,[
747 AC_DEFINE(HAVE_STRUCT_TIMESPEC, 1,
748 Define if <sys/time.h> defines struct timespec.)
753 dnl Check for threads library
754 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
755 AC_CHECK_HEADERS(cthreads.h pthread.h kernel/scheduler.h kernel/OS.h)
756 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
758 dnl Find where are the X headers and libraries
761 dnl it seems that autoconf do the pkg-config detection only for the first PKG_CHECK_MODULES in the configure.ac ( which is logical) but in our case it is nested in a if so it was not working if you're not on linux or have disable hal.
763 PKG_PROG_PKG_CONFIG()
767 [ --enable-hal Linux HAL services discovery (default enabled)])
769 if test "${enable_hal}" != "no" -a "${SYS}" = "linux"
771 PKG_CHECK_MODULES(HAL, hal >= 0.5.0,
772 [ AC_DEFINE( HAVE_HAL_1, [] , [Define if you have the new HAL library API])
773 AC_DEFINE( HAVE_HAL, [], [Define if you have the HAL library] )
774 VLC_ADD_PLUGINS([hal])
775 VLC_ADD_LDFLAGS([vlc hal],[$HAL_LIBS])
776 VLC_ADD_CFLAGS([vlc hal],[$HAL_CFLAGS])],
777 dnl No hal 0.5 Test for 0.2
778 [ PKG_CHECK_MODULES( HAL, hal >= 0.2.97,
779 [AC_DEFINE(HAVE_HAL, [], [Define if you have the HAL library])
780 VLC_ADD_PLUGINS([hal])
781 VLC_ADD_LDFLAGS([vlc hal],[$HAL_LIBS])
782 VLC_ADD_CFLAGS([vlc hal],[$HAL_CFLAGS])],
783 [AC_MSG_WARN(HAL library not found)])
788 dnl Build the gtk_main plugins?
794 dnl build the qte plugin ?
797 dnl Check for ntohl, etc.
798 AC_CACHE_CHECK([for ntohl in sys/param.h],
799 [ac_cv_c_ntohl_sys_param_h],
800 [CFLAGS="${CFLAGS_save} -Wall -Werror"
801 AC_TRY_COMPILE([#include <sys/param.h>],
802 [void foo() { int meuh; ntohl(meuh); }],
803 ac_cv_c_ntohl_sys_param_h=yes, ac_cv_c_ntohl_sys_param_h=no)])
804 if test "${ac_cv_c_ntohl_sys_param_h}" != "no"; then
805 AC_DEFINE(NTOHL_IN_SYS_PARAM_H, 1, Define if <sys/param.h> defines ntohl.)
808 # XXX: do this with an M4 macro?
809 #dnl Check for various -W flags
810 #for flag in "" all unreachable-code conversion sign-compare disabled-optimization
812 # AC_CACHE_CHECK([if \$CC accepts -W${flag}],
813 # [ac_cv_c_W${flag}],
814 # [CFLAGS="-W${flag} ${CFLAGS_save}"
815 # AC_TRY_COMPILE([],,ac_cv_c_W${flag}=yes, ac_cv_c_W${flag}=no)])
816 # if test "${ac_cv_c_W${flag}}" != "no"; then
817 # CFLAGS_save="-W${flag} ${CFLAGS_save}"; CFLAGS="${CFLAGS_save}"
818 # CXXFLAGS_save="-W${flag} ${CFLAGS_save}"; CXXFLAGS="${CXXFLAGS_save}"
819 # OBJCFLAGS_save="-W${flag} ${OBJCFLAGS_save}"; OBJCFLAGS="${OBJCFLAGS_save}"
823 AC_CACHE_CHECK([if \$CC accepts -Wall],
825 [CFLAGS="-Wall ${CFLAGS_save}"
826 AC_TRY_COMPILE([],,ac_cv_c_Wall=yes, ac_cv_c_Wall=no)])
828 AC_CACHE_CHECK([if \$CC accepts -Wconversion],
829 [ac_cv_c_Wconversion],
830 [CFLAGS="-Wconversion ${CFLAGS_save}"
831 AC_TRY_COMPILE([],,ac_cv_c_Wconversion=yes, ac_cv_c_Wconversion=no)])
833 AC_CACHE_CHECK([if \$CC accepts -Wunreachable-code],
834 [ac_cv_c_Wunreachable_code],
835 [CFLAGS="-Wunreachable-code ${CFLAGS_save}"
836 AC_TRY_COMPILE([],,ac_cv_c_Wunreachable_code=yes, ac_cv_c_Wunreachable_code=no)])
838 AC_CACHE_CHECK([if \$CC accepts -Wsign-compare],
839 [ac_cv_c_Wsign_compare],
840 [CFLAGS="-Wsign-compare ${CFLAGS_save}"
841 AC_TRY_COMPILE([],,ac_cv_c_Wsign_compare=yes, ac_cv_c_Wsign_compare=no)])
843 if test "${ac_cv_c_Wall}" != "no"; then
844 CFLAGS_save="-Wall ${CFLAGS_save}"; CFLAGS="${CFLAGS_save}"
845 CXXFLAGS_save="-Wall ${CFLAGS_save}"; CXXFLAGS="${CXXFLAGS_save}"
846 OBJCFLAGS_save="-Wall ${OBJCFLAGS_save}"; OBJCFLAGS="${OBJCFLAGS_save}"
849 if test "${ac_cv_c_Wsign_compare}" != "no"; then
850 CFLAGS_save="-Wsign-compare ${CFLAGS_save}"; CFLAGS="${CFLAGS_save}"
851 CXXFLAGS_save="-Wsign-compare ${CFLAGS_save}"; CXXFLAGS="${CXXFLAGS_save}"
852 OBJCFLAGS_save="-Wsign-compare ${OBJCFLAGS_save}"; OBJCFLAGS="${OBJCFLAGS_save}"
856 AC_CACHE_CHECK([if \$CC accepts -pipe],
858 [CFLAGS="${CFLAGS_save} -pipe"
859 AC_TRY_COMPILE([],,ac_cv_c_pipe=yes, ac_cv_c_pipe=no)])
860 if test "${ac_cv_c_pipe}" != "no"; then
861 CFLAGS_save="${CFLAGS_save} -pipe"; CFLAGS="${CFLAGS_save}"
862 CXXFLAGS_save="${CXXFLAGS_save} -pipe"; CXXFLAGS="${CXXFLAGS_save}"
863 OBJCFLAGS_save="${OBJCFLAGS_save} -pipe"; OBJCFLAGS="${OBJCFLAGS_save}"
866 dnl Check for various optimization flags
867 AC_CACHE_CHECK([if \$CC accepts -Os],
869 [CFLAGS="${CFLAGS_save} -Os"
870 AC_TRY_COMPILE([],,ac_cv_c_os=yes, ac_cv_c_os=no)])
871 if test "${ac_cv_c_os}" != "no" -a "${target_cpu}" = "mipsel"; then
872 CFLAGS_OPTIM="${CFLAGS_OPTIM} -Os"
875 AC_CACHE_CHECK([if \$CC accepts -O3],
877 [CFLAGS="${CFLAGS_save} -O3"
878 AC_TRY_COMPILE([],,ac_cv_c_o3=yes, ac_cv_c_o3=no)])
879 if test "${ac_cv_c_o3}" != "no" -a "${target_cpu}" != "mipsel"; then
880 CFLAGS_OPTIM="${CFLAGS_OPTIM} -O3"
883 AC_CACHE_CHECK([if \$CC accepts -O2],
885 [CFLAGS="${CFLAGS_save} -O2"
886 AC_TRY_COMPILE([],,ac_cv_c_o2=yes, ac_cv_c_o2=no)])
887 if test "${ac_cv_c_o2}" != "no" -a "${target_cpu}" != "mipsel"; then
888 if test "${ac_cv_c_o3}" = "no"; then
889 CFLAGS_OPTIM="${CFLAGS_OPTIM} -O2"
891 CFLAGS_NOOPTIM="${CFLAGS_NOOPTIM} -O2"
893 AC_CACHE_CHECK([if \$CC accepts -O],
895 [CFLAGS="${CFLAGS_save} -O"
896 AC_TRY_COMPILE([],,ac_cv_c_o=yes, ac_cv_c_o=no)])
897 if test "${ac_cv_c_o}" != "no" -a "${target_cpu}" != "mipsel"; then
898 if test "${ac_cv_c_o3}" = "no"; then
899 CFLAGS_OPTIM="${CFLAGS_OPTIM} -O"
901 CFLAGS_NOOPTIM="${CFLAGS_NOOPTIM} -O"
905 dnl Check for -ffast-math
906 AC_CACHE_CHECK([if \$CC accepts -ffast-math],
908 [CFLAGS="${CFLAGS_save} -ffast-math"
909 AC_TRY_COMPILE([],,ac_cv_c_fast_math=yes, ac_cv_c_fast_math=no)])
910 if test "${ac_cv_c_fast_math}" != "no"; then
911 CFLAGS_OPTIM="${CFLAGS_OPTIM} -ffast-math"
914 dnl Check for -funroll-loops
915 dnl Disabled on BeOS because BeOS' gcc is buggy and may crash with it
916 if test "${SYS}" != "beos"
918 AC_CACHE_CHECK([if \$CC accepts -funroll-loops],
919 [ac_cv_c_unroll_loops],
920 [CFLAGS="${CFLAGS_save} -funroll-loops"
921 AC_TRY_COMPILE([],,ac_cv_c_unroll_loops=yes, ac_cv_c_unroll_loops=no)])
922 if test "${ac_cv_c_unroll_loops}" != "no"; then
923 CFLAGS_OPTIM="${CFLAGS_OPTIM} -funroll-loops"
927 dnl Check for -fomit-frame-pointer
928 AC_CACHE_CHECK([if \$CC accepts -fomit-frame-pointer],
929 [ac_cv_c_omit_frame_pointer],
930 [CFLAGS="${CFLAGS_save} -fomit-frame-pointer"
931 AC_TRY_COMPILE([],,ac_cv_c_omit_frame_pointer=yes, ac_cv_c_omit_frame_pointer=no)])
932 if test "${ac_cv_c_omit_frame_pointer}" != "no"; then
933 CFLAGS_OPTIM_NODEBUG="${CFLAGS_OPTIM_NODEBUG} -fomit-frame-pointer"
934 # this plugin does not compile without -fomit-frame-pointer, damn gcc!
935 VLC_ADD_CFLAGS([i420_yuy2_mmx],[-fomit-frame-pointer])
938 dnl Check for -mdynamic-no-pic
939 AC_CACHE_CHECK([if \$CC accepts -mdynamic-no-pic],
940 [ac_cv_c_dynamic_no_pic],
941 [CFLAGS="${CFLAGS_save} -mdynamic-no-pic"
942 AC_TRY_COMPILE([],,ac_cv_c_dynamic_no_pic=yes, ac_cv_c_dynamic_no_pic=no)])
943 if test "${ac_cv_c_dynamic_no_pic}" != "no"; then
944 VLC_ADD_CFLAGS([builtin],[-mdynamic-no-pic])
945 VLC_ADD_CFLAGS([libvlc],[-mdynamic-no-pic])
948 dnl Check for Darwin plugin linking flags
949 AC_CACHE_CHECK([if \$CC accepts -bundle -undefined error],
951 [CFLAGS="${CFLAGS_save} -bundle -undefined error"
952 AC_TRY_COMPILE([],,ac_cv_ld_darwin=yes, ac_cv_ld_darwin=no)])
953 if test "${ac_cv_ld_darwin}" != "no"; then
954 VLC_ADD_LDFLAGS([plugin],[-bundle -undefined error])
957 dnl Check for standard plugin linking flags
958 dnl BeOS' gcc needs -nostart instead of -shared, even if -shared isn't harmful (just a warning)
959 if test "${SYS}" = "beos"; then
960 VLC_ADD_LDFLAGS([plugin mozilla],[-nostart])
962 AC_CACHE_CHECK([if \$CC accepts -shared],
964 [CFLAGS="${CFLAGS_save} -shared"
965 AC_TRY_COMPILE([],, ac_cv_ld_plugins=yes, ac_cv_ld_plugins=no)])
966 if test "${ac_cv_ld_plugins}" != "no"; then
967 VLC_ADD_LDFLAGS([plugin mozilla],[-shared])
971 dnl Check for variadic macros
972 AC_CACHE_CHECK([for variadic cpp macros],
973 [ac_cv_cpp_variadic_macros],
974 [CFLAGS="${CFLAGS_save}"
977 #define a(b,c...) printf(b,##c)],
978 [a("foo");a("%s","bar");a("%s%s","baz","quux");],
979 ac_cv_cpp_variadic_macros=yes,
980 ac_cv_cpp_variadic_macros=no)])
981 if test "${ac_cv_cpp_variadic_macros}" != "no"; then
982 AC_DEFINE(HAVE_VARIADIC_MACROS, 1, Support for variadic macros)
985 dnl Checks for __attribute__(aligned()) directive
986 AC_CACHE_CHECK([__attribute__ ((aligned ())) support],
987 [ac_cv_c_attribute_aligned],
988 [ac_cv_c_attribute_aligned=0
989 CFLAGS="${CFLAGS_save} -Werror"
990 for ac_cv_c_attr_align_try in 2 4 8 16 32 64; do
992 [static char c __attribute__ ((aligned(${ac_cv_c_attr_align_try}))) = 0; return c;],
993 [ac_cv_c_attribute_aligned="${ac_cv_c_attr_align_try}"])
995 CFLAGS="${CFLAGS_save}"])
996 if test "${ac_cv_c_attribute_aligned}" != "0"; then
997 AC_DEFINE_UNQUOTED([ATTRIBUTE_ALIGNED_MAX],
998 [${ac_cv_c_attribute_aligned}],[Maximum supported data alignment])
1001 dnl Checks for __attribute__(format()) directive
1002 AC_CACHE_CHECK([__attribute__ ((format ())) support with function pointers],
1003 [ac_cv_c_attribute_format],
1004 [ac_cv_c_attribute_format=no
1005 CFLAGS="${CFLAGS_save} -Werror"
1007 [static void (*pf_printf)(const char *, ...) __attribute__ ((format(printf,1,2)));(void)pf_printf;],
1008 [ac_cv_c_attribute_format=yes])
1009 CFLAGS="${CFLAGS_save}"])
1010 if test "${ac_cv_c_attribute_format}" != "no"; then
1011 AC_DEFINE(HAVE_ATTRIBUTE_FORMAT, 1, Support for __attribute__((format())) with function pointers)
1014 dnl Check for __attribute__(())
1015 AC_CACHE_CHECK([for __attribute__((packed))],
1016 [ac_cv_c_attribute_packed],
1017 [ac_cv_c_attribute_packed=no
1018 AC_TRY_COMPILE(, [struct __attribute__((__packed__)) foo { int a; } b;],
1019 [ac_cv_c_attribute_packed=yes])])
1020 if test "${ac_cv_c_attribute_packed}" != "no"; then
1021 AC_DEFINE(HAVE_ATTRIBUTE_PACKED, 1, Support for __attribute__((packed)) for structs)
1027 case "${target_cpu}" in
1032 ARCH="${target_cpu}"
1037 dnl Enable profiling
1039 AC_ARG_ENABLE(gprof,
1040 [ --enable-gprof gprof profiling (default disabled)])
1041 AC_ARG_ENABLE(cprof,
1042 [ --enable-cprof cprof profiling (default disabled)])
1043 test "${enable_gprof}" != "yes" && enable_gprof="no"
1044 test "${enable_cprof}" != "yes" && enable_cprof="no"
1049 VLC_ADD_PLUGINS([dummy logger memcpy])
1050 VLC_ADD_PLUGINS([mpgv mpga m4v m4a h264 ps pva avi asf mp4 rawdv nsv real aiff mjpeg demuxdump flac])
1051 VLC_ADD_PLUGINS([cvdsub svcdsub spudec subsdec dvbsub mpeg_audio lpcm a52 dts cinepak flacdec])
1052 VLC_ADD_PLUGINS([deinterlace invert adjust transform distort motionblur rv32])
1053 VLC_ADD_PLUGINS([fixed32tos16 s16tofixed32 u8tofixed32])
1054 VLC_ADD_PLUGINS([trivial_resampler ugly_resampler])
1055 VLC_ADD_PLUGINS([trivial_channel_mixer trivial_mixer])
1056 VLC_ADD_PLUGINS([playlist export sgimb m3u nsc xtag])
1057 VLC_ADD_PLUGINS([i420_rgb rawvideo blend scale image logo magnify])
1058 VLC_ADD_PLUGINS([wav araw subtitle vobsub adpcm a52sys dtssys au ty voc xa nuv])
1059 VLC_ADD_PLUGINS([access_directory access_file access_udp access_tcp])
1060 VLC_ADD_PLUGINS([access_http access_mms access_ftp ipv4])
1061 VLC_ADD_PLUGINS([packetizer_mpegvideo packetizer_h264])
1062 VLC_ADD_PLUGINS([packetizer_mpeg4video packetizer_mpeg4audio])
1064 if test "${SYS}" != "mingwce"; then
1065 dnl VLC_ADD_PLUGINS([externrun])
1066 VLC_ADD_PLUGINS([access_fake access_filter_timeshift access_filter_record])
1067 VLC_ADD_PLUGINS([gestures rc telnet hotkeys netsync showintf time marq podcast shout sap fake])
1068 VLC_ADD_PLUGINS([rss mosaic wall motiondetect clone crop])
1069 VLC_ADD_PLUGINS([i420_yuy2 i422_yuy2 i420_ymga])
1070 VLC_ADD_PLUGINS([aout_file linear_resampler bandlimited_resampler])
1071 VLC_ADD_PLUGINS([float32_mixer spdif_mixer simple_channel_mixer])
1072 VLC_ADD_PLUGINS([dolby_surround_decoder headphone_channel_mixer normvol equalizer param_eq])
1073 VLC_ADD_PLUGINS([fixed32tofloat32 float32tos16 float32tos8 float32tou16 float32tou8 a52tospdif dtstospdif s16tofloat32 s16tofloat32swab s8tofloat32 u8tofloat32 audio_format])
1077 dnl Switch to enable a version of VLC where most modules will be builtin
1079 AC_ARG_ENABLE(mostly-builtin,
1080 [ --enable-mostly-builtin most modules will be built-in (default disabled)])
1081 if test "${enable_mostly_builtin}" = "yes"; then
1082 VLC_ADD_BUILTINS([${PLUGINS}])
1087 dnl Some plugins aren't useful on some platforms
1089 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
1090 VLC_ADD_PLUGINS([screensaver])
1091 elif test "${SYS}" != "mingwce"; then
1092 VLC_ADD_PLUGINS([ntservice access_smb dmo msn])
1093 VLC_ADD_LDFLAGS([dmo],[-lole32])
1095 VLC_ADD_PLUGINS([win32text])
1099 dnl Accelerated modules
1101 MMX_MODULES="memcpymmx i420_rgb_mmx i422_yuy2_mmx i420_ymga_mmx"
1102 #MMX_MODULES="${MMX_MODULES} idctmmx motionmmx"
1103 MMXEXT_MODULES="memcpymmxext"
1104 #MMXEXT_MODULES="${MMXEXT_MODULES} idctmmxext motionmmxext"
1105 THREEDNOW_MODULES="memcpy3dn"
1107 ALTIVEC_MODULES="memcpyaltivec i420_yuy2_altivec"
1108 #ALTIVEC_MODULES="${ALTIVEC_MODULES} idctaltivec motionaltivec"
1110 if test "${enable_gprof}" != "yes"
1112 MMX_MODULES="${MMX_MODULES} i420_yuy2_mmx"
1115 AC_CACHE_CHECK([if \$CC groks MMX inline assembly],
1117 [CFLAGS="${CFLAGS_save}"
1118 AC_TRY_COMPILE(,[void *p;asm volatile("packuswb %%mm1,%%mm2"::"r"(p));],
1119 ac_cv_mmx_inline=yes, ac_cv_mmx_inline=no)])
1120 if test "${ac_cv_mmx_inline}" != "no"; then
1121 AC_DEFINE(CAN_COMPILE_MMX, 1, Define if \$CC groks MMX inline assembly.)
1122 ACCEL_MODULES="${ACCEL_MODULES} ${MMX_MODULES}"
1125 dnl Check for fully workin MMX intrinsics
1126 dnl We need support for -mmmx, we need <mmintrin.h>, and we also need a
1127 dnl working compiler (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23963)
1128 AC_CACHE_CHECK([if \$CC groks MMX intrinsics],
1129 [ac_cv_c_mmx_intrinsics],
1130 [CFLAGS="${CFLAGS_save} -O -mmmx"
1131 AC_TRY_COMPILE([#include <mmintrin.h>
1135 a = b = c = (__m64)frobzor;
1136 a = _mm_slli_pi16(a, 3);
1137 a = _mm_adds_pi16(a, b);
1138 c = _mm_srli_pi16(c, 8);
1139 c = _mm_slli_pi16(c, 3);
1140 b = _mm_adds_pi16(b, c);
1141 a = _mm_unpacklo_pi8(a, b);
1142 frobzor = (uint64_t)a;],
1143 [ac_cv_c_mmx_intrinsics=yes],
1144 [ac_cv_c_mmx_intrinsics=no])])
1145 if test "${ac_cv_c_mmx_intrinsics}" != "no"; then
1146 AC_DEFINE(HAVE_MMX_INTRINSICS, 1, Define if MMX intrinsics are available.)
1147 VLC_ADD_CFLAGS([i420_rgb_mmx],[-mmmx])
1150 AC_CACHE_CHECK([if \$CC groks MMX EXT inline assembly],
1151 [ac_cv_mmxext_inline],
1152 [CFLAGS="${CFLAGS_save}"
1153 AC_TRY_COMPILE(,[void *p;asm volatile("maskmovq %%mm1,%%mm2"::"r"(p));],
1154 ac_cv_mmxext_inline=yes, ac_cv_mmxext_inline=no)])
1155 if test "${ac_cv_mmxext_inline}" != "no"; then
1156 AC_DEFINE(CAN_COMPILE_MMXEXT, 1, Define if \$CC groks MMX EXT inline assembly.)
1157 ACCEL_MODULES="${ACCEL_MODULES} ${MMXEXT_MODULES}"
1160 AC_CACHE_CHECK([if \$CC groks 3D Now! inline assembly],
1161 [ac_cv_3dnow_inline],
1162 [CFLAGS="${CFLAGS_save}"
1163 AC_TRY_COMPILE(,[void *p;asm volatile("pfadd %%mm1,%%mm2"::"r"(p));],
1164 ac_cv_3dnow_inline=yes, ac_cv_3dnow_inline=no)])
1165 if test "${ac_cv_3dnow_inline}" != "no"; then
1166 AC_DEFINE(CAN_COMPILE_3DNOW, 1, Define if \$CC groks 3D Now! inline assembly.)
1167 ACCEL_MODULES="${ACCEL_MODULES} ${THREEDNOW_MODULES}"
1170 AC_CACHE_CHECK([if \$CC groks SSE inline assembly],
1172 [CFLAGS="${CFLAGS_save}"
1173 AC_TRY_COMPILE(,[void *p;asm volatile("xorps %%xmm1,%%xmm2"::"r"(p));],
1174 ac_cv_sse_inline=yes, ac_cv_sse_inline=no)])
1175 if test "${ac_cv_sse_inline}" != "no" -a "${SYS}" != "mingw32" -a "${SYS}" != "solaris"; then
1176 AC_DEFINE(CAN_COMPILE_SSE, 1, Define if \$CC groks SSE inline assembly.)
1177 ACCEL_MODULES="${ACCEL_MODULES} ${SSE_MODULES}"
1180 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
1181 AC_CACHE_CHECK([if \$CC groks AltiVec inline assembly],
1182 [ac_cv_altivec_inline],
1183 [CFLAGS="${CFLAGS_save}"
1184 AC_TRY_COMPILE(,[asm volatile("vperm 0,1,2,3");],
1185 ac_cv_altivec_inline=yes,
1186 [CFLAGS="${CFLAGS_save} -Wa,-m7400"
1187 AC_TRY_COMPILE(,[asm volatile("vperm 0,1,2,3");],
1188 [ac_cv_altivec_inline="-Wa,-m7400"],
1189 ac_cv_altivec_inline=no)
1191 if test "${ac_cv_altivec_inline}" != "no"; then
1192 AC_DEFINE(CAN_COMPILE_ALTIVEC, 1, Define if \$CC groks AltiVec inline assembly.)
1193 if test "${ac_cv_altivec_inline}" != "yes"; then
1194 VLC_ADD_CFLAGS([idctaltivec],[${ac_cv_altivec_inline}])
1195 VLC_ADD_CFLAGS([motionaltivec],[${ac_cv_altivec_inline}])
1196 VLC_ADD_CFLAGS([memcpyaltivec],[${ac_cv_altivec_inline}])
1197 VLC_ADD_CFLAGS([i420_yuy2_altivec],[${ac_cv_altivec_inline}])
1198 VLC_ADD_CFLAGS([vlc],[${ac_cv_altivec_inline}])
1200 ACCEL_MODULES="${ACCEL_MODULES} ${ALTIVEC_MODULES}"
1203 dnl The AltiVec C extensions
1205 dnl There are several possible cases:
1206 dnl - OS X PPC, gcc 4.x: use -mpim-altivec -force_cpusubtype_ALL, don't
1207 dnl need <altivec.h>
1208 dnl - OS X PPC, gcc 3.x: need -faltivec, don't need <altivec.h>
1209 dnl - Linux PPC, gcc 3.4, 4.x: need <altivec.h> which requires -maltivec
1210 dnl - Linux PPC, gcc 3.3: need <altivec.h> and -maltivec -mabi=altivec
1211 dnl - Linux PPC, gcc 3.x: need <altivec.h> and -fvec
1212 dnl - Others: test should fail
1213 AC_CACHE_CHECK([if \$CC groks AltiVec C extensions],
1215 [# OS X/PPC test (gcc 4.x)
1216 CFLAGS="${CFLAGS_save} -mpim-altivec -force_cpusubtype_ALL"
1218 [vec_ld(0, (unsigned char *)0);],
1219 [ac_cv_c_altivec="-mpim-altivec -force_cpusubtype_ALL"],
1220 [# OS X/PPC test (gcc 3.x)
1221 CFLAGS="${CFLAGS_save} -faltivec"
1223 [vec_ld(1 * sizeof(vector float), (unsigned char *)0);],
1224 [ac_cv_c_altivec="-faltivec"],
1225 dnl Below this are the Linux tests
1226 [# Linux/PPC test (gcc 4.x)
1227 CFLAGS="${CFLAGS_save} -maltivec"
1228 AC_TRY_COMPILE([#include <altivec.h>],
1229 [vec_ld(0, (unsigned char *)0);],
1230 [ac_cv_c_altivec="-maltivec"],
1231 [# Linux/PPC test (gcc 3.3)
1232 CFLAGS="${CFLAGS_save} -maltivec -mabi=altivec"
1233 AC_TRY_COMPILE([#include <altivec.h>],
1234 [vec_ld(0, (unsigned char *)0);],
1236 ac_cv_c_altivec_abi="-maltivec -mabi=altivec"],
1237 [# Linux/PPC test (gcc 3.3)
1238 CFLAGS="${CFLAGS_save} -fvec"
1239 AC_TRY_COMPILE([#include <altivec.h>],
1240 [vec_ld(0, (unsigned char *)0);],
1241 [ac_cv_c_altivec="-fvec"],
1242 [ac_cv_c_altivec=no])
1247 CFLAGS="${CFLAGS_save}"
1250 if test "${ac_cv_c_altivec}" != "no"; then
1251 CPPFLAGS="${CPPFLAGS_save} ${ac_cv_c_altivec}"
1253 AC_CHECK_HEADERS(altivec.h)
1254 CPPFLAGS="${CPPFLAGS_save}"
1256 if test "${ac_cv_c_altivec}" != "no"; then
1257 AC_DEFINE(CAN_COMPILE_C_ALTIVEC, 1, Define if your compiler groks C AltiVec extensions.)
1258 VLC_ADD_CFLAGS([vlc],[${ac_cv_c_altivec}])
1259 VLC_ADD_CFLAGS([idctaltivec motionaltivec],[${ac_cv_c_altivec}])
1260 VLC_ADD_CFLAGS([i420_yuy2_altivec memcpyaltivec deinterlace],[${ac_cv_c_altivec} ${ac_cv_c_altivec_abi}])
1261 ACCEL_MODULES="${ACCEL_MODULES} ${ALTIVEC_MODULES}"
1264 AC_CACHE_CHECK([if linker needs -framework vecLib],
1266 [LDFLAGS="${LDFLAGS_vlc} -framework vecLib"
1267 AC_TRY_LINK([],,ac_cv_ld_altivec=yes,ac_cv_ld_altivec=no)
1268 LDFLAGS="${LDFLAGS_save}"
1270 if test "${ac_cv_ld_altivec}" != "no"; then
1271 VLC_ADD_LDFLAGS([vlc idctaltivec motionaltivec memcpyaltivec],[-framework vecLib])
1273 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
1276 AC_ARG_WITH(,[Optimization options:])
1279 dnl Special arch tuning
1282 [ --with-tuning=ARCH enable special tuning for an architecture
1283 (default Pentium 2 on IA-32 and 750 on PPC)])
1284 if test -n "${with_tuning}"; then
1285 if test "${with_tuning}" != "no"; then
1286 CFLAGS_TUNING="-mtune=${with_tuning}"
1289 if test "${target_cpu}" = "i686" -o "${target_cpu}" = "i586" -o "${target_cpu}" = "i486" -o "${target_cpu}" = "i386"; then
1290 CFLAGS_TUNING="-mtune=pentium2"
1291 elif test "${target_cpu}" = "x86_64"; then
1292 CFLAGS_TUNING="-mtune=athlon64"
1293 elif test "${target_cpu}" = "powerpc"; then
1294 CFLAGS_TUNING="-mtune=750";
1298 dnl NOTE: this can't be cached cleanly
1299 AS_IF([test "${CFLAGS_TUNING}"],
1300 [CFLAGS_save="${CFLAGS}"
1301 CFLAGS="${CFLAGS} ${CFLAGS_TUNING}"
1303 AC_MSG_CHECKING([whether $CC accepts ${CFLAGS_TUNING}])
1304 AC_COMPILE_IFELSE([ ],
1306 [CFLAGS_TUNING=""; tuning="no"
1307 AS_IF([test "${with_tuning}"],
1308 [AC_MSG_ERROR([requested tuning not supported])])])
1310 AC_MSG_RESULT([$tuning])
1311 CFLAGS="${CFLAGS_save}"
1315 dnl x86 accelerations
1317 if test "${target_cpu}" = "i686" -o "${target_cpu}" = "i586" -o "${target_cpu}" = "x86" -o "${target_cpu}" = "i386" -o "${target_cpu}" = "x86_64"
1320 VLC_ADD_BUILTINS([${ACCEL_MODULES}])
1326 AC_ARG_ENABLE(optimize-memory,
1327 [ --enable-optimize-memory optimize memory usage over performance])
1328 if test "${enable_optimize_memory}" = "yes"; then
1329 AC_DEFINE(OPTIMIZE_MEMORY, 1, Define if you want to optimize memory usage over performance)
1333 dnl Enable/disable optimizations
1335 AC_ARG_ENABLE(optimizations,
1336 [ --disable-optimizations disable compiler optimizations (default enabled)])
1337 test "${enable_optimizations}" != "no" && enable_optimizations="yes"
1340 dnl AltiVec acceleration
1342 AC_ARG_ENABLE(altivec,
1343 [ --disable-altivec disable AltiVec optimizations (default enabled on PPC)],
1344 [ if test "${enable_altivec}" = "yes"; then ARCH="${ARCH} altivec";
1345 VLC_ADD_BUILTINS([${ACCEL_MODULES}]) fi ],
1346 [ if test "${target_cpu}" = "powerpc"; then ARCH="${ARCH} altivec";
1347 VLC_ADD_BUILTINS([${ACCEL_MODULES}]) fi ])
1352 AC_ARG_ENABLE(debug,
1353 [ --enable-debug debug mode (default disabled)])
1354 test "${enable_debug}" != "yes" && enable_debug="no"
1356 [Define to 1 if debug code should NOT be compiled])
1357 AS_IF([test "x${enable_debug}" == "xno"], [AC_DEFINE(NDEBUG)])
1360 dnl Enable release-specific flags
1362 AC_ARG_ENABLE(release,
1363 [ --enable-release activate extra optimizations (default disabled)])
1364 test "${enable_release}" != "yes" && enable_release="no"
1367 dnl Is the shared libvlc forced ?
1370 AC_ARG_ENABLE(shared-libvlc,
1371 [ --enable-shared-libvlc shared libvlc (default disabled EXPERIMENTAL)],
1372 ,[shared_libvlc=no])
1379 [ --enable-sout Stream output modules (default enabled)])
1380 if test "${enable_sout}" != "no"
1382 VLC_ADD_PLUGINS([access_output_dummy access_output_udp access_output_file access_output_http])
1383 VLC_ADD_PLUGINS([mux_ps mux_avi mux_mp4 mux_asf mux_dummy mux_wav mux_mpjpeg])
1384 VLC_ADD_PLUGINS([packetizer_copy])
1386 VLC_ADD_PLUGINS([stream_out_dummy stream_out_standard stream_out_es stream_out_rtp stream_out_description vod_rtsp])
1387 VLC_ADD_PLUGINS([stream_out_duplicate stream_out_gather stream_out_display stream_out_transcode stream_out_bridge stream_out_mosaic_bridge])
1388 # VLC_ADD_PLUGINS([stream_out_transrate])
1390 AC_DEFINE(ENABLE_SOUT, 1, Define if you want the stream output support)
1393 dnl Check for libshout
1394 AC_ARG_ENABLE(shout,
1395 [ --enable-shout libshout output plugin (default disabled)])
1396 if test "${enable_shout}" = "yes"; then
1397 PKG_CHECK_MODULES(SHOUT, shout >= 2.1,
1398 [AC_DEFINE(HAVE_SHOUT, [], [Define if you have the libshout library])
1399 VLC_ADD_PLUGINS([access_output_shout])
1400 VLC_ADD_LDFLAGS([vlc access_output_shout],[$SHOUT_LIBS])
1401 VLC_ADD_CFLAGS([vlc access_output_shout],[$SHOUT_CFLAGS])],
1402 [AC_MSG_WARN(libshout library not found)])
1408 AC_ARG_ENABLE(httpd,
1409 [ --enable-httpd HTTP daemon (default enabled)])
1410 if test "${enable_httpd}" != "no"
1412 VLC_ADD_PLUGINS([http])
1413 AC_DEFINE(ENABLE_HTTPD, 1, Define if you want the HTTP dameon support)
1417 dnl VideoLAN manager
1420 [ --enable-vlm VideoLAN manager (default enabled)])
1421 if test "${enable_vlm}" != "no"
1423 AC_DEFINE(ENABLE_VLM, 1, Define if you want the VideoLAN manager support)
1427 dnl Growl notification plugin
1429 AC_ARG_ENABLE(growl,
1430 [ --enable-growl growl notification plugin (default enabled)])
1431 AS_IF([test "${enable_growl}" != "no"], [
1432 VLC_ADD_PLUGINS([growl])
1440 AC_ARG_ENABLE(gnutls,
1441 [ --enable-gnutls gnutls TLS/SSL support (default enabled)])
1442 AS_IF([test "${enable_gnutls}" != "no"], [
1444 gcrypt_LIBS="-lgpg-error"
1445 AS_IF([test "${SYS}" = "mingw32"],
1446 [gcrypt_LIBS="${gcrypt_LIBS} -lws2_32"
1447 VLC_ADD_LDFLAGS([gnutls],[-lws2_32])]
1450 gnutls_LIBS="-lgcrypt -lz ${gcrypt_LIBS}"
1452 AC_CHECK_HEADER(gcrypt.h,
1453 [AC_CHECK_LIB(gcrypt, gcry_control,
1454 [AC_CHECK_HEADER(gnutls/gnutls.h,
1455 [AC_CHECK_LIB(gnutls, gnutls_certificate_verify_peers2,
1456 [have_gnutls="yes"],[old_gnutls="yes"], ${gnutls_LIBS})])],,
1459 AS_IF([test "${have_gnutls}" = "yes"], [
1460 VLC_ADD_PLUGINS([gnutls])
1461 VLC_ADD_LDFLAGS([gnutls], [-lgnutls ${gnutls_LIBS}])
1463 AS_IF([test "${enable_gnutls}" = "yes"], [
1464 AC_MSG_ERROR([gnutls not present or too old (version 1.0.17 required)])]
1474 AC_ARG_WITH(,[Input plugins:])
1478 AC_ARG_ENABLE(livedotcom,
1479 [ --enable-livedotcom live.com RTSP input plugin (default disabled)])
1480 if test "${enable_livedotcom}" = "yes"; then
1481 AC_ARG_WITH(livedotcom-tree,
1482 [ --with-livedotcom-tree=PATH live.com tree for static linking])
1485 dnl test for --with-livedotcom-tree
1487 if test -z "${with_livedotcom_tree}" -a "${CXX}" != ""; then
1489 CPPFLAGS_save="${CPPFLAGS}"
1490 CPPFLAGS_livedotcom="-I/usr/include/liveMedia -I/usr/include/groupsock -I/usr/include/BasicUsageEnvironment -I/usr/include/UsageEnvironment"
1491 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_livedotcom}"
1492 AC_CHECK_HEADERS(liveMedia.hh, [
1493 VLC_ADD_CXXFLAGS([livedotcom], [${CPPFLAGS_livedotcom}])
1494 AC_CHECK_LIB(liveMedia_pic, main, [
1495 # We have -lliveMedia_pic, build plugins
1496 VLC_ADD_PLUGINS([livedotcom])
1497 VLC_ADD_LDFLAGS([livedotcom], [-lliveMedia_pic -lgroupsock_pic -lBasicUsageEnvironment_pic -lUsageEnvironment_pic])
1499 AC_CHECK_LIB(liveMedia, main, [
1500 # We only have -lliveMedia, do builtins
1501 VLC_ADD_BUILTINS([livedotcom])
1502 VLC_ADD_LDFLAGS([livedotcom], [-lliveMedia -lgroupsock -lBasicUsageEnvironment -lUsageEnvironment])
1505 if test "${SYS}" = "mingw32"; then
1506 # add ws2_32 for closesocket, select, recv
1507 VLC_ADD_LDFLAGS([livedotcom],[-lws2_32])
1510 CPPFLAGS="${CPPFLAGS_save}"
1513 AC_MSG_CHECKING(for liveMedia/libliveMedia.a in ${with_livedotcom_tree})
1514 real_livedotcom_tree="`cd ${with_livedotcom_tree} 2>/dev/null && pwd`"
1515 if test -z "${real_livedotcom_tree}"; then
1516 dnl The given directory can't be found
1518 AC_MSG_ERROR([cannot cd to ${with_livedotcom_tree}])
1520 if test -f "${real_livedotcom_tree}/liveMedia/libliveMedia.a"; then
1521 AC_MSG_RESULT(${real_livedotcom_tree}/liveMedia/libliveMedia.a)
1523 VLC_ADD_BUILTINS([livedotcom])
1525 if test "${SYS}" = "mingw32"; then
1526 # add ws2_32 for closesocket, select, recv
1527 VLC_ADD_LDFLAGS([livedotcom],[-lws2_32])
1530 VLC_ADD_LDFLAGS([livedotcom],[-L${real_livedotcom_tree}/liveMedia -lliveMedia])
1531 VLC_ADD_LDFLAGS([livedotcom],[-L${real_livedotcom_tree}/BasicUsageEnvironment -lBasicUsageEnvironment])
1532 VLC_ADD_LDFLAGS([livedotcom],[-L${real_livedotcom_tree}/groupsock -lgroupsock])
1533 VLC_ADD_LDFLAGS([livedotcom],[-L${real_livedotcom_tree}/UsageEnvironment -lUsageEnvironment])
1535 VLC_ADD_CXXFLAGS([livedotcom],[-I${real_livedotcom_tree}/BasicUsageEnvironment/include])
1536 VLC_ADD_CXXFLAGS([livedotcom],[-I${real_livedotcom_tree}/groupsock/include])
1537 VLC_ADD_CXXFLAGS([livedotcom],[-I${real_livedotcom_tree}/liveMedia/include])
1538 VLC_ADD_CXXFLAGS([livedotcom],[-I${real_livedotcom_tree}/UsageEnvironment/include ])
1540 dnl The given live.com wasn't built
1542 AC_MSG_ERROR([cannot find ${real_livedotcom_tree}/liveMedia/libliveMedia.a, make sure you compiled live.com in ${with_livedotcom_tree}])
1548 dnl dv module: digital video module check for libraw1394
1551 [ --enable-dv dv input module (default disabled)])
1552 if test "${enable_dv}" = "yes"
1554 AC_ARG_WITH(dv-raw1394,
1555 [ --with-dv-raw1394=PATH libraw1394 headers and libraries])
1556 AC_ARG_WITH(dv-raw1394-tree,
1557 [ --with-dv-raw1394=PATH libraw1394 tree for static linking])
1559 if test -z "${with_dv_raw1394}" -a "${with_dv_raw1394}" != ""
1561 AC_MSG_CHECKING(for raw1394 headers in ${with_dv_raw1394})
1562 if test -f ${with_dv_raw1394}/include/libraw1394/raw1394.h
1564 dnl Use ${with_dv_raw1394}/include/libraw1394/raw1394.h
1566 VLC_ADD_PLUGINS([access_dv])
1567 VLC_ADD_LDFLAGS([access_dv],[-L${with_dv_raw1394}/lib -lraw1394 -lpthread])
1568 VLC_ADD_CPPFLAGS([access_dv],[-I${with_dv_raw1394}/include])
1570 dnl No libraw1394 could be found, sorry
1572 AC_MSG_ERROR([cannot find ${with_dv_raw1394}/include/libraw1394/raw1394.h])
1575 AC_CHECK_HEADERS(libraw1394/raw1394.h,
1576 [ VLC_ADD_PLUGINS([access_dv])
1577 VLC_ADD_LDFLAGS([access_dv],[-lraw1394 -lavc1394])
1579 if test -n "${enable_dv}"
1581 AC_MSG_ERROR([cannot find libraw1394 headers])
1586 dnl Check for static linking of libraw1394
1587 if test -z "${with_dv_raw1394_tree}" -a "${with_dv_raw1394_tree}" != ""
1589 AC_MSG_CHECKING(for libraw1394.a in ${with_dv_raw1394_tree})
1590 real_dv_raw1394_tree="`cd ${with_dv_raw1394_tree} 2>/dev/null && pwd`"
1591 if test -z "${real_dv_raw1394_tree}"
1593 dnl The given directory can't be found
1595 AC_MSG_ERROR([cannot cd to ${real_dv_raw1394_tree}])
1597 if test -f "${real_dv_raw1394_tree}/src/.libs/libraw1394.a"
1599 dnl Use a custom libraw1394
1600 AC_MSG_RESULT(${real_dv_raw1394_tree}/src/.libs/libraw1394.a)
1601 VLC_ADD_BUILTINS([access_dv])
1602 VLC_ADD_LDFLAGS([access_dv],[-L${real_dv_raw1394_tree}/src/.libs -lraw1394])
1603 VLC_ADD_CPPFLAGS([access_dv],[-I${real_dv_raw1394_tree}])
1605 dnl The given libraw1394 wasn't built
1607 AC_MSG_ERROR([cannot find ${real_dv_raw1394_tree}/src/.libs/libraw1394.a, make sure you compiled libraw1394 in ${with_dv_raw1394_tree}])
1612 dnl Check for libavc1394
1615 AC_ARG_WITH(dv-avc1394,
1616 [ --with-dv-avc1394=PATH libavc1394 headers and libraries])
1617 AC_ARG_WITH(dv-avc1394-tree,
1618 [ --with-dv-avc1394=PATH libavc1394 tree for static linking])
1620 if test -z "${with_dv_avc1394}" -a "${with_dv_avc1394}" != ""
1622 AC_MSG_CHECKING(for avc1394 headers in ${with_dv_avc1394})
1623 if test -f ${with_dv_avc1394}/include/libavc1394/avc1394.h
1625 dnl Use ${with_dv_avc1394}/include/libavc1394/avc1394.h
1627 VLC_ADD_LDFLAGS([access_dv],[-L${with_dv_avc1394}/lib -lavc1394 -lrom1394 -lpthread])
1628 VLC_ADD_CPPFLAGS([access_dv],[-I${with_avc1394}/include])
1630 dnl No libavc1394 could be found, sorry
1632 AC_MSG_ERROR([cannot find ${with_dv_avc1394}/include/libavc1394/avc1394.h])
1635 AC_CHECK_HEADERS(libavc1394/avc1394.h,
1636 [ VLC_ADD_LDFLAGS([access_dv],[-lavc1394 -lrom1394 -lpthread])
1638 if test -n "${enable_dv}"
1640 AC_MSG_ERROR([cannot find libavc1394 headers])
1645 dnl Check for static linking of libavc1394
1646 if test -z "${with_dv_avc1394_tree}" -a "${with_dv_avc1394_tree}" != ""
1648 AC_MSG_CHECKING(for libavc1394.a in ${with_dv_avc1394_tree})
1649 real_dv_avc1394_tree="`cd ${with_dv_avc1394_tree} 2>/dev/null && pwd`"
1650 if test -z "${real_dv_avc1394_tree}"
1652 dnl The given directory can't be found
1654 AC_MSG_ERROR([cannot cd to ${real_dv_avc1394_tree}])
1656 if test -f "${real_dv_avc1394_tree}/src/.libs/libavc1394.a"
1658 dnl Use a custom libavc1394
1659 AC_MSG_RESULT(${real_dv_avc1394_tree}/src/.libs/libavc1394.a)
1660 VLC_ADD_LDFLAGS([access_dv],[-L${real_dv_avc1394_tree}/src/.libs -lavc1394 -lrom1394 -lpthread])
1661 VLC_ADD_CPPFLAGS([access_dv],[-I${real_dv_avc1394_tree}])
1663 dnl The given libavc1394 wasn't built
1665 AC_MSG_ERROR([cannot find ${real_dv_avc1394_tree}/src/.libs/libavc1394.a, make sure you compiled libavc1394 in ${with_dv_avc1394_tree}])
1671 dnl dvdread module: check for libdvdread
1673 AC_ARG_ENABLE(dvdread,
1674 [ --enable-dvdread dvdread input module (default disabled)])
1675 if test "${enable_dvdread}" != "no"
1677 AC_ARG_WITH(dvdread,
1678 [ --with-dvdread=PATH libdvdread headers and libraries])
1679 AC_ARG_WITH(dvdread-tree,
1680 [ --with-dvdread-tree=PATH libdvdread tree for static linking])
1682 dnl Temporary hack (yeah, sure ;)
1683 if test "${SYS}" = "mingw32" || test "${SYS}" = "darwin" || test "${SYS}" = "beos" ; then
1684 VLC_ADD_LDFLAGS([dvdread],[-ldvdcss])
1687 if test -z "${with_dvdread}"
1689 if test -z "${with_dvdread_tree}"
1691 AC_CHECK_HEADERS(dvdread/dvd_reader.h,
1692 [ VLC_ADD_PLUGINS([dvdread])
1693 VLC_ADD_LDFLAGS([dvdread],[-ldvdread ${LDFLAGS_dvdcss}])
1695 if test -n "${enable_dvdread}"
1697 AC_MSG_ERROR([cannot find libdvdread headers])
1701 AC_MSG_CHECKING(for libdvdread.a in ${with_dvdread_tree})
1702 real_dvdread_tree="`cd ${with_dvdread_tree} 2>/dev/null && pwd`"
1703 if test -z "${real_dvdread_tree}"
1705 dnl The given directory can't be found
1707 AC_MSG_ERROR([cannot cd to ${with_dvdread_tree}])
1709 if test -f "${real_dvdread_tree}/dvdread/.libs/libdvdread.a"
1711 dnl Use a custom libdvdread
1712 AC_MSG_RESULT(${real_dvdread_tree}/dvdread/.libs/libdvdread.a)
1713 VLC_ADD_BUILTINS([dvdread])
1714 VLC_ADD_LDFLAGS([dvdread],[-L${real_dvdread_tree}/dvdread/.libs -ldvdread ${LDFLAGS_dvdcss}])
1715 VLC_ADD_CPPFLAGS([dvdread],[-I${real_dvdread_tree}])
1717 dnl The given libdvdread wasn't built
1719 AC_MSG_ERROR([cannot find ${real_dvdread_tree}/dvdread/.libs/libdvdread.a, make sure you compiled libdvdread in ${with_dvdread_tree}])
1723 AC_MSG_CHECKING(for dvdread headers in ${with_dvdread})
1724 if test -f ${with_dvdread}/include/dvdread/dvd_reader.h
1726 dnl Use ${with_dvdread}/include/dvdread/dvd_reader.h
1728 VLC_ADD_PLUGINS([dvdread])
1729 VLC_ADD_LDFLAGS([dvdread],[-L${with_dvdread}/lib -ldvdread ${LDFLAGS_dvdcss}])
1730 VLC_ADD_CPPFLAGS([dvdread],[-I${with_dvdread}/include])
1732 dnl No libdvdread could be found, sorry
1734 AC_MSG_ERROR([cannot find ${with_dvdread}/include/dvdread/dvd_reader.h])
1740 dnl libdvdnav plugin
1742 AC_ARG_ENABLE(dvdnav,
1743 [ --enable-dvdnav dvdnav input module (default enabled)])
1744 if test "${enable_dvdnav}" != "no"
1746 dnl Same hack than dvdread
1747 if test "${SYS}" = "mingw32" || test "${SYS}" = "darwin" || test "${SYS}" = "beos" ; then
1748 VLC_ADD_LDFLAGS([dvdnav],[-ldvdcss])
1751 DVDNAV_PATH="${PATH}"
1752 AC_ARG_WITH(dvdnav-config-path,
1753 [ --with-dvdnav-config-path=PATH dvdnav-config path (default search in \$PATH)],
1754 [ if test "${with_dvdnav_config_path}" != "no"
1756 DVDNAV_PATH="${with_dvdnav_config_path}:${PATH}"
1758 AC_PATH_PROG(DVDNAV_CONFIG, dvdnav-config, no, ${DVDNAV_PATH})
1759 if test "${DVDNAV_CONFIG}" != "no"
1761 VLC_ADD_PLUGINS([dvdnav])
1762 VLC_ADD_CFLAGS([dvdnav],[`${DVDNAV_CONFIG} --cflags`])
1763 VLC_ADD_LDFLAGS([dvdnav],[`${DVDNAV_CONFIG} --libs`])
1768 dnl Windows DirectShow access module
1770 AC_ARG_ENABLE(dshow,
1771 [ --enable-dshow Win32 DirectShow support (default enabled on Win32)])
1772 if test "${enable_dshow}" != "no"
1774 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
1777 AC_CHECK_HEADERS(dshow.h,
1778 [ VLC_ADD_PLUGINS([dshow])
1779 VLC_ADD_CXXFLAGS([dshow],[])
1780 VLC_ADD_LDFLAGS([dshow],[-lole32 -loleaut32 -luuid]) ])
1786 dnl libsmbclient plugin
1789 [ --enable-smb smb input module (default enabled)])
1790 if test "${enable_smb}" != "no"; then
1791 AC_CHECK_HEADERS(libsmbclient.h,
1792 [ VLC_ADD_PLUGINS([access_smb])
1793 VLC_ADD_LDFLAGS([access_smb],[-lsmbclient]) ],
1794 [ if test -n "${enable_smb}"; then
1795 AC_MSG_ERROR([cannot find libsmbclient headers])
1797 AC_CHECK_MEMBER([struct _SMBCCTX.close_fn],
1798 AC_DEFINE([HAVE__SMBCCTX_CLOSE_FN], [1], [Define if samba has _SMBCCTX.close_fn]),,
1799 [#include <libsmbclient.h>])
1803 dnl libdvbpsi ts demux/mux
1805 AC_ARG_ENABLE(dvbpsi,
1806 [ --enable-dvbpsi dvbpsi ts mux and demux module (default enabled)])
1807 if test "${enable_dvbpsi}" != "no"
1810 [ --with-dvbpsi=PATH libdvbpsi headers and libraries])
1812 [ --with-dvbpsi-tree=PATH libdvbpsi tree for static linking])
1813 case "${with_dvbpsi}" in
1815 if test -z "${with_dvbpsi_tree}"
1817 AC_CHECK_HEADERS(dvbpsi/dr.h,
1818 [ VLC_ADD_PLUGINS([ts])
1819 if test "${enable_sout}" != "no"; then
1820 VLC_ADD_BUILTINS([mux_ts])
1822 VLC_ADD_LDFLAGS([mux_ts ts dvb],[-ldvbpsi]) ],
1823 [ AC_MSG_WARN([cannot find libdvbpsi headers]) ],
1824 [#if defined( HAVE_STDINT_H )
1825 # include <stdint.h>
1826 #elif defined( HAVE_INTTYPES_H )
1827 # include <inttypes.h>
1829 #include <dvbpsi/dvbpsi.h>
1830 #include <dvbpsi/descriptor.h>
1831 #include <dvbpsi/pat.h>
1832 #include <dvbpsi/pmt.h>])
1834 AC_MSG_CHECKING(for libdvbpsi.a in ${with_dvbpsi_tree})
1835 real_dvbpsi_tree="`cd ${with_dvbpsi_tree} 2>/dev/null && pwd`"
1836 if test -z "${real_dvbpsi_tree}"
1838 dnl The given directory can't be found
1840 AC_MSG_ERROR([cannot cd to ${with_dvbpsi_tree}])
1842 if test -f "${real_dvbpsi_tree}/src/.libs/libdvbpsi.a"
1844 dnl Use a custom libdvbpsi
1845 AC_MSG_RESULT(${real_dvbpsi_tree}/src/.libs/libdvbpsi.a)
1846 VLC_ADD_BUILTINS([ts])
1847 if test "${enable_sout}" != "no"; then
1848 VLC_ADD_BUILTINS([mux_ts])
1850 VLC_ADD_CPPFLAGS([mux_ts ts dvb],[-I${real_dvbpsi_tree}/src])
1851 VLC_ADD_LDFLAGS([mux_ts ts dvb],[${real_dvbpsi_tree}/src/.libs/libdvbpsi.a])
1853 dnl The given libdvbpsi wasn't built
1855 AC_MSG_ERROR([cannot find ${real_dvbpsi_tree}/src/.libs/libdvbpsi.a, make sure you compiled libdvbpsi in ${with_dvbpsi_tree}])
1860 dnl Compile without dvbpsi
1863 AC_MSG_CHECKING(for dvbpsi headers in ${with_dvbpsi})
1864 if test -z "${with_dvbpsi}"
1869 LDFLAGS_test="-L${with_dvbpsi}/lib"
1870 CPPFLAGS_test="-I${with_dvbpsi}/include"
1872 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_test}"
1873 AC_CHECK_HEADERS([dvbpsi/dr.h],[
1874 VLC_ADD_PLUGINS([ts])
1875 if test "${enable_sout}" != "no"; then
1876 VLC_ADD_PLUGINS([mux_ts])
1878 VLC_ADD_CPPFLAGS([mux_ts ts dvb],[${CPPFLAGS_test}])
1879 VLC_ADD_LDFLAGS([mux_ts ts dvb],[${LDFLAGS_test} -ldvbpsi])
1882 if test -n "${enable_dvbpsi}"
1884 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])
1887 CPPFLAGS="${CPPFLAGS_save}"
1890 AC_CHECK_LIB(dvbpsi, dvbpsi_GenSDTSections, [
1891 AC_DEFINE(HAVE_DVBPSI_SDT, 1, [Define if you have dvbpsi_GenSDTSections.])
1892 ], [], [${LDFLAGS_ts}])
1897 dnl Video4Linux plugin
1900 [ --enable-v4l Video4Linux input support (default disabled)])
1901 if test "${enable_v4l}" = "yes"
1904 [ --with-v4l=PATH path to a v4l-enabled kernel tree],[],[])
1905 if test "${with_v4l}" != "no" -a -n "${with_v4l}"
1907 VLC_ADD_CPPFLAGS([v4l],[-I${with_v4l}/include])
1910 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_v4l}"
1911 AC_CHECK_HEADERS(linux/videodev.h, [
1912 VLC_ADD_PLUGINS([v4l])
1914 CPPFLAGS="${CPPFLAGS_save}"
1918 dnl special access module for Hauppauge PVR cards
1921 [ --enable-pvr PVR cards access module (default disabled)])
1922 if test "${enable_pvr}" = "yes"
1924 VLC_ADD_PLUGINS([pvr])
1928 dnl gnomeVFS access module
1930 AC_ARG_ENABLE(gnomevfs,
1931 [ --enable-gnomevfs GnomeVFS access module (default enabled)])
1932 if test "${enable_gnomevfs}" != "no" -a "${SYS}" = "linux"
1934 PKG_CHECK_MODULES(GNOMEVFS, gnome-vfs-2.0,
1935 VLC_ADD_LDFLAGS([access_gnomevfs],[$GNOMEVFS_LIBS])
1936 VLC_ADD_CPPFLAGS([access_gnomevfs],[$GNOMEVFS_CPPFLAGS])
1937 VLC_ADD_CFLAGS([access_gnomevfs],[$GNOMEVFS_CFLAGS])
1938 VLC_ADD_PLUGINS([access_gnomevfs]),
1939 AC_MSG_WARN([GnomeVFS support disabled because GnomeVFS development headers not found]))
1942 dnl Need to test libcdio and libvcdinfo for a number of things. Do it now.
1943 AC_ARG_ENABLE(libcdio,
1944 [ --enable-libcdio CD input and control library support (default enabled)])
1949 if test "${enable_libcdio}" != "no"
1951 PKG_CHECK_MODULES(LIBCDIO, libcdio >= 0.72,
1953 AC_DEFINE(HAVE_LIBCDIO, [],
1954 [Define if you have libcdio 0.72 or greater installed]),
1955 [AC_MSG_WARN(CD Reading and information library not found)])
1957 PKG_CHECK_MODULES(VCDINFO, libvcdinfo >= 0.7.21,
1958 [have_libvcdinfo=yes
1959 AC_DEFINE(HAVE_VCDINFO, [],
1960 [Define if you have libvcdinfo 0.7.21 or greater installed])],
1961 [AC_MSG_WARN(VCD information library not found)])
1965 dnl VCDX and CDDAX modules
1967 AC_ARG_ENABLE(cddax,
1968 [ --enable-cddax audio CD plugin with CD Text and CD paranoia via libcdio (default disabled)])
1970 AC_ARG_ENABLE(libcddb,
1971 [ --enable-libcddb CDDB support for libcdio audio CD (default enabled)])
1973 if test "${enable_cddax}" = "yes"
1975 if test "$have_libcdio" = "yes"
1977 AC_DEFINE(HAVE_CDDAX, [], [Define for the audio CD plugin using libcdio])
1978 VLC_ADD_LDFLAGS([cddax],[$LIBCDIO_LIBS])
1979 VLC_ADD_CFLAGS([cddax],[$LIBCDIO_CFLAGS])
1980 VLC_ADD_PLUGINS([cddax])
1981 PKG_CHECK_MODULES(LIBCDIO_PARANOIA, libcdio_paranoia >= 0.72, [
1982 VLC_ADD_LDFLAGS([cddax],[$LIBCDIO_CDDA_LIBS $LIBCDIO_CDDA_LIBS $LIBCDIO_PARANOIA_LIBS])],
1983 AC_MSG_WARN([CD Paranoia support disabled because no libcdio >= 0.72 found]))
1985 AC_MSG_WARN([cddax plugin disabled because ok libcdio library not found or disabled])
1989 if test "$enable_libcddb" != "no"; then
1990 PKG_CHECK_MODULES(LIBCDDB, libcddb >= 0.9.5, [
1992 AC_DEFINE(HAVE_LIBCDDB, [], [Define this if you have libcddb installed])
1993 VLC_ADD_LDFLAGS([cddax],[$LIBCDDB_LIBS])
1994 VLC_ADD_CFLAGS([cddax],[$LIBCDDB_CFLAGS])
1996 [AC_MSG_WARN(new enough libcddb not found. CDDB access disabled)
2003 [ --enable-vcdx VCD with navigation via libvcdinfo (default disabled)])
2005 if test "${enable_vcdx}" = "yes"
2007 if test "${have_libvcdinfo}" = "yes"
2009 VLC_ADD_LDFLAGS([vcdx],[$VCDINFO_LIBS])
2010 VLC_ADD_CFLAGS([vcdx],[$VCDINFO_CFLAGS])
2012 AC_MSG_WARN([vcdx plugin disabled because ok libvcdinfo library not found or disabled])
2016 PKG_CHECK_MODULES(LIBCDIO, libiso9660 >= 0.72,
2017 [VLC_ADD_LDFLAGS([vcdx],[$LIBISO9660_LIBS])
2018 VLC_ADD_CFLAGS([vcdx],[$LIBISO9660_CFLAGS])],
2019 [AC_MSG_WARN([vcdx plugin disabled because ok libiso9660 library not found])
2022 if test "$have_libvcdinfo" = "yes"
2024 AC_DEFINE(HAVE_VCDX, [],
2025 [Define for the VCD plugin using libcdio/libvcdinfo])
2026 VLC_ADD_LDFLAGS([vcdx],[$VCDINFO_LIBS])
2027 VLC_ADD_CFLAGS([vcdx],[$VCDINFO_CFLAGS])
2028 VLC_ADD_PLUGINS([vcdx])
2030 AC_MSG_WARN([vcdx plugin disabled because ok libvcdinfo library not found])
2036 dnl Built-in CD-DA and VCD module
2039 [ --enable-cdda audio CD via built-in VCD (default enabled)])
2042 [ --enable-vcd built-in VCD (default enabled)])
2044 if test "${enable_vcd}" != "no"
2046 AC_MSG_CHECKING(for cdrom_msf0 in linux/cdrom.h)
2047 AC_EGREP_HEADER(cdrom_msf0,linux/cdrom.h,[
2049 VLC_ADD_PLUGINS([vcd cdda])
2054 AC_MSG_CHECKING(for scsireq in sys/scsiio.h)
2055 AC_EGREP_HEADER(scsireq,sys/scsiio.h,[
2057 VLC_ADD_PLUGINS([vcd cdda])
2058 AC_DEFINE(HAVE_SCSIREQ_IN_SYS_SCSIIO_H, 1, For NetBSD VCD support)
2063 AC_MSG_CHECKING(for ioc_toc_header in sys/cdio.h)
2064 AC_EGREP_HEADER(ioc_toc_header ,sys/cdio.h,[
2066 VLC_ADD_PLUGINS([vcd cdda])
2067 AC_DEFINE(HAVE_IOC_TOC_HEADER_IN_SYS_CDIO_H, 1, For FreeBSD VCD support)
2072 if test "${SYS}" = "bsdi" -o "${SYS}" = "mingw32"
2074 VLC_ADD_PLUGINS([vcd cdda])
2077 if test "${SYS}" = "darwin"
2079 VLC_ADD_PLUGINS([vcd cdda])
2080 VLC_ADD_LDFLAGS([vcd vcdx cdda cddax],[-framework IOKit -framework CoreFoundation])
2081 VLC_ADD_LDFLAGS([vcdx cddax cdda],[-liconv])
2084 if test "$enable_libcddb" != "no"; then
2085 PKG_CHECK_MODULES(LIBCDDB, libcddb >= 0.9.5, [
2087 AC_DEFINE(HAVE_LIBCDDB, [], [Define this if you have libcddb installed])
2088 VLC_ADD_LDFLAGS([cdda],[$LIBCDDB_LIBS])
2089 VLC_ADD_CFLAGS([cdda],[$LIBCDDB_CFLAGS])
2091 [AC_MSG_WARN(new enough libcddb not found. CDDB access disabled)
2097 dnl DVB-S/DVB-T/DVB-C satellite/teresterial/cable input using v4l2
2100 [ --enable-dvb DVB-S/T/C card support (default disabled)])
2102 if test "${enable_dvb}" = "yes"
2105 [ --with-dvb=PATH path to a dvb- and v4l2-enabled kernel tree],[],[])
2106 if test "${with_dvb}" != "no" -a -n "${with_dvb}"
2108 VLC_ADD_CFLAGS([dvb],[-I${with_dvb}/include])
2110 CPPFLAGS="${CPPFLAGS_save} -I${with_dvb}/include"
2111 AC_CHECK_HEADERS(linux/dvb/version.h linux/dvb/frontend.h, [
2112 if test -z "${with_dvbpsi_tree}"
2114 VLC_ADD_PLUGINS([dvb])
2116 VLC_ADD_BUILTINS([dvb])
2118 ],[AC_MSG_WARN(linux-dvb headers not found, dvb disabled)])
2119 CPPFLAGS="${CPPFLAGS_save}"
2123 dnl Screen capture module
2125 AC_ARG_ENABLE(screen,
2126 [ --enable-screen Screen capture support (default enabled)])
2127 if test "${enable_screen}" != "no"; then
2128 if test "${SYS}" = "darwin"; then
2129 AC_CHECK_HEADERS(ApplicationServices/ApplicationServices.h, [
2130 VLC_ADD_PLUGINS([screen])
2131 VLC_ADD_LDFLAGS([screen],[-framework ApplicationServices])
2133 elif test "${SYS}" = "mingw32"; then
2134 VLC_ADD_PLUGINS([screen])
2135 VLC_ADD_LDFLAGS([screen],[-lgdi32])
2136 elif test "${SYS}" = "mingwce"; then
2137 CPPFLAGS="${CPPFLAGS_save}"
2138 elif test "${SYS}" = "beos"; then
2139 VLC_ADD_PLUGINS([screen])
2140 VLC_ADD_CXXFLAGS([screen],[])
2141 VLC_ADD_LDFLAGS([screen],[-lbe])
2143 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
2144 AC_CHECK_HEADERS(X11/Xlib.h, [
2145 VLC_ADD_PLUGINS([screen])
2146 VLC_ADD_LDFLAGS([screen],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext])
2147 VLC_ADD_CPPFLAGS([screen],[${X_CFLAGS}])
2149 CPPFLAGS="${CPPFLAGS_save}"
2154 dnl ipv6 plugin - not for QNX yet
2157 AC_CHECK_FUNCS(inet_pton,[have_ipv6=yes],[
2158 AC_CHECK_LIB(resolv,inet_pton,
2160 VLC_ADD_LDFLAGS([ipv6 vlc],[-lresolv])])
2163 AS_IF([test "${have_ipv6}" = "yes"], [
2164 AC_DEFINE(HAVE_INET_PTON, 1, [Define to 1 if you have inet_pton().])])
2166 if test "${SYS}" != "nto" &&
2167 test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
2169 AC_MSG_CHECKING(for sockaddr_in6 in netinet/in.h)
2170 AC_EGREP_HEADER(sockaddr_in6,netinet/in.h,
2171 [AC_MSG_RESULT(yes)], [AC_MSG_RESULT(no); have_ipv6=no])
2172 AS_IF([test "${have_ipv6}" != "no"], [
2173 VLC_ADD_PLUGINS([ipv6])])
2175 if test "${SYS}" = "mingw32"
2177 AC_MSG_CHECKING(for getaddrinfo in ws2tcpip.h)
2178 AC_EGREP_HEADER(addrinfo,ws2tcpip.h,[AC_MSG_RESULT(yes)
2179 VLC_ADD_PLUGINS([ipv6])],[AC_MSG_RESULT(no)])
2183 dnl ogg demux plugin
2186 [ --enable-ogg Ogg demux support (default enabled)])
2187 if test "${enable_ogg}" != "no"
2189 AC_ARG_WITH(ogg-tree,
2190 [ --with-ogg-tree=PATH ogg tree for static linking])
2191 if test -n "${with_ogg_tree}"
2193 AC_MSG_CHECKING(for libogg.a in ${with_ogg_tree})
2194 real_ogg_tree="`cd ${with_ogg_tree} 2>/dev/null && pwd`"
2195 if test -z "${real_ogg_tree}"
2197 dnl The given directory can't be found
2199 AC_MSG_ERROR([cannot cd to ${with_ogg_tree}])
2201 if test -f "${real_ogg_tree}/src/.libs/libogg.a"
2203 dnl Use a custom ogg
2204 AC_MSG_RESULT(${real_ogg_tree}/src/.libs/libogg.a)
2205 VLC_ADD_PLUGINS([ogg])
2206 if test "${enable_sout}" != "no"; then
2207 VLC_ADD_PLUGINS([mux_ogg])
2209 VLC_ADD_LDFLAGS([ogg mux_ogg speex vorbis],[${real_ogg_tree}/src/.libs/libogg.a])
2210 VLC_ADD_CFLAGS([ogg mux_ogg speex vorbis],[-I${real_ogg_tree}/include])
2212 dnl The given ogg wasn't built
2214 AC_MSG_ERROR([cannot find ${real_ogg_tree}/src/.libs/libogg.a, make sure you compiled ogg in ${with_ogg_tree}])
2217 AC_CHECK_HEADERS(ogg/ogg.h, [
2218 AC_CHECK_LIB( ogg, oggpack_read, [
2219 VLC_ADD_PLUGINS([ogg])
2220 if test "${enable_sout}" != "no"; then
2221 VLC_ADD_PLUGINS([mux_ogg])
2223 VLC_ADD_LDFLAGS([ogg mux_ogg],[-logg])])
2229 dnl matroska demux plugin
2232 [ --enable-mkv Matroska demux support (default enabled)])
2233 if test "${enable_mkv}" != "no" -a "${CXX}" != ""; then
2235 AC_CHECK_HEADERS(ebml/EbmlVersion.h, [
2236 AC_MSG_CHECKING(for libebml version >= 0.7.6)
2238 [#include <ebml/EbmlVersion.h>
2239 #ifdef LIBEBML_VERSION
2240 #if LIBEBML_VERSION >= 0x000706
2244 [AC_MSG_RESULT([yes])
2245 AC_CHECK_HEADERS(matroska/KaxVersion.h, [
2246 AC_MSG_CHECKING(for libmatroska version >= 0.7.5)
2248 [#include <matroska/KaxVersion.h>
2249 #ifdef LIBMATROSKA_VERSION
2250 #if LIBMATROSKA_VERSION >= 0x000705
2254 [AC_MSG_RESULT([yes])
2255 AC_CHECK_HEADERS(matroska/KaxAttachments.h)
2256 VLC_ADD_CXXFLAGS([mkv],[])
2257 if test "${SYS}" = "darwin"; then
2258 VLC_ADD_CXXFLAGS([mkv],[-O1])
2260 AC_CHECK_LIB(ebml_pic, main, [
2261 # We have ebml_pic, that's good, we can build an mkv.so plugin !
2262 VLC_ADD_PLUGINS([mkv])
2263 VLC_ADD_LDFLAGS([mkv],[-lmatroska_pic -lebml_pic])
2265 AC_CHECK_LIB(ebml, main, [
2266 # We only have libebml, make mkv.a a builtin
2267 VLC_ADD_BUILTINS([mkv])
2268 VLC_ADD_LDFLAGS([mkv],[-lmatroska -lebml])
2272 [AC_MSG_RESULT([no])
2273 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.])
2277 [AC_MSG_RESULT([no])
2278 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.])
2285 dnl modplug demux plugin
2288 [ --enable-mod Mod demux support (default enabled)])
2289 if test "${enable_mod}" != "no"
2291 AC_ARG_WITH(mod-tree,
2292 [ --with-mod-tree=PATH mod tree for static linking])
2293 if test -n "${with_mod_tree}"
2295 AC_MSG_CHECKING(for libmodplug.a in ${with_mod_tree})
2296 real_mod_tree="`cd ${with_mod_tree} 2>/dev/null && pwd`"
2297 if test -z "${real_mod_tree}"
2299 dnl The given directory can't be found
2301 AC_MSG_ERROR([cannot cd to ${with_mod_tree}])
2303 if test -f "${real_mod_tree}/src/.libs/libmodplug.a"
2305 dnl Use a custom mod
2306 AC_MSG_RESULT(${real_mod_tree}/src/.libs/libmodplug.a)
2307 VLC_ADD_PLUGINS([mod])
2308 VLC_ADD_LDFLAGS([mod],[${real_mod_tree}/src/.libs/libmodplug.a])
2309 VLC_ADD_CFLAGS([mod],[-I${real_mod_tree}/include])
2311 dnl The given mod wasn't built
2313 AC_MSG_ERROR([cannot find ${real_mod_tree}/src/.libs/libmodplug.a, make sure you compiled mod in ${with_mod_tree}])
2316 AC_CHECK_HEADERS(libmodplug/modplug.h, [
2317 VLC_ADD_PLUGINS([mod])
2318 VLC_ADD_CXXFLAGS([mod],[])
2319 VLC_ADD_LDFLAGS([mod],[-lmodplug])])
2324 dnl mpc demux plugin
2327 [ --enable-mpc Mpc demux support (default enabled)])
2328 if test "${enable_mpc}" != "no"
2330 AC_CHECK_HEADERS(mpcdec/mpcdec.h, [
2331 VLC_ADD_PLUGINS([mpc])
2332 VLC_ADD_LDFLAGS([mpc],[-lmpcdec])])
2340 AC_ARG_WITH(,[Codec plugins:])
2346 [ --enable-mad libmad module (default enabled)])
2347 if test "${enable_mad}" != "no"
2350 [ --with-mad=PATH path to libmad],[],[])
2351 if test "${with_mad}" != "no" -a -n "${with_mad}"
2353 VLC_ADD_CPPFLAGS([mpgatofixed32],[-I${with_mad}/include])
2354 VLC_ADD_LDFLAGS([mpgatofixed32],[-L${with_mad}/lib])
2357 AC_ARG_WITH(mad-tree,
2358 [ --with-mad-tree=PATH mad tree for static linking],[],[])
2359 if test "${with_mad_tree}" != "no" -a -n "${with_mad_tree}"
2361 real_mad_tree="`cd ${with_mad_tree} 2>/dev/null && pwd`"
2362 if test -z "${real_mad_tree}"
2364 dnl The given directory can't be found
2366 AC_MSG_ERROR([${with_mad_tree} directory doesn't exist])
2368 dnl Use a custom libmad
2369 AC_MSG_CHECKING(for mad.h in ${real_mad_tree})
2370 if test -f ${real_mad_tree}/mad.h
2373 VLC_ADD_CPPFLAGS([mpgatofixed32],[-I${real_mad_tree}])
2374 VLC_ADD_LDFLAGS([mpgatofixed32],[-L${real_mad_tree}/.libs])
2375 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_mpgatofixed32}"
2376 AC_CHECK_LIB(mad, mad_bit_init, [
2377 VLC_ADD_BUILTINS([mpgatofixed32])
2378 VLC_ADD_LDFLAGS([mpgatofixed32],[-lmad])
2379 ],[ AC_MSG_ERROR([the specified tree hasn't been compiled ])
2381 LDFLAGS="${LDFLAGS_save}"
2384 AC_MSG_ERROR([the specified tree doesn't have mad.h])
2387 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_mpgatofixed32}"
2388 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_mpgatofixed32}"
2389 AC_CHECK_HEADERS(mad.h, ,
2390 [ 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.]) ])
2391 AC_CHECK_LIB(mad, mad_bit_init, [
2392 VLC_ADD_PLUGINS([mpgatofixed32])
2393 VLC_ADD_LDFLAGS([mpgatofixed32],[-lmad])],
2394 [ AC_MSG_ERROR([Cannot find libmad library...]) ])
2395 CPPFLAGS="${CPPFLAGS_save}"
2396 LDFLAGS="${LDFLAGS_save}"
2401 dnl libid3tag support (FIXME!!! doesn't work with new input)
2403 AC_CHECK_HEADERS(id3tag.h, [
2404 AC_CHECK_HEADERS(zlib.h, [
2405 VLC_ADD_LDFLAGS([id3tag],[-lid3tag -lz])
2406 VLC_ADD_PLUGINS([id3tag])]) ])
2409 dnl ffmpeg decoder/demuxer plugin
2411 dnl we try to find ffmpeg using : 1- given tree 2- ffmpeg-config, 3- pkg-config
2412 dnl 4- default place,
2414 AC_ARG_ENABLE(ffmpeg,
2415 [ --enable-ffmpeg ffmpeg codec (default enabled)])
2416 if test "${enable_ffmpeg}" != "no"
2419 dnl Those options have to be here because the .pc can be bogus for ffmpeg previous nov 05
2421 AC_ARG_WITH(ffmpeg-mp3lame,
2422 [ --with-ffmpeg-mp3lame specify if ffmpeg has been compiled with mp3lame support],
2424 if test "$with_ffmpeg_mp3lame" = "yes"; then
2425 VLC_ADD_LDFLAGS([ffmpeg],[-lmp3lame])
2428 AC_ARG_WITH(ffmpeg-faac,
2429 [ --with-ffmpeg-faac specify if ffmpeg has been compiled with faac support],
2431 if test "$with_ffmpeg_faac" = "yes"; then
2432 VLC_ADD_LDFLAGS([ffmpeg],[-lfaac])
2435 AC_ARG_WITH(ffmpeg-dts,
2436 [ --with-ffmpeg-dts specify if ffmpeg has been compiled with dts support],
2438 if test "$with_ffmpeg_dts" = "yes"; then
2439 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_ffmpeg}"
2440 AC_CHECK_LIB(dts_pic, dts_free,
2441 [ VLC_ADD_LDFLAGS([ffmpeg],[-ldts_pic]) ],
2442 [ VLC_ADD_LDFLAGS([ffmpeg],[-ldts]) ])
2443 LDFLAGS="${LDFLAGS_save}"
2446 AC_ARG_WITH(ffmpeg-zlib,
2447 [ --with-ffmpeg-zlib specify if ffmpeg has been compiled with zlib support],
2449 if test "$with_ffmpeg_zlib" = "yes"; then
2450 VLC_ADD_LDFLAGS([ffmpeg],[-lz])
2454 dnl test for --with-ffmpeg-tree
2456 AC_ARG_WITH(ffmpeg-tree,
2457 [ --with-ffmpeg-tree=PATH ffmpeg tree for static linking])
2459 if test "${with_ffmpeg_tree}" != "no" -a -n "${with_ffmpeg_tree}"; then
2460 AC_MSG_CHECKING(for libavcodec.a in ${with_ffmpeg_tree})
2461 real_ffmpeg_tree="`cd ${with_ffmpeg_tree} 2>/dev/null && pwd`"
2462 if test -z "${real_ffmpeg_tree}"; then
2463 dnl The given directory can't be found
2465 AC_MSG_ERROR([cannot cd to ${with_ffmpeg_tree}])
2467 if ! test -f "${real_ffmpeg_tree}/libavcodec/libavcodec.a"; then
2468 dnl The given libavcodec wasn't built
2470 AC_MSG_ERROR([cannot find ${real_ffmpeg_tree}/libavcodec/libavcodec.a, make sure you compiled libavcodec in ${with_ffmpeg_tree}])
2472 if ! fgrep -s "pp_get_context" "${real_ffmpeg_tree}/libavcodec/libavcodec.a"; then
2473 if test -f "${real_ffmpeg_tree}/libavcodec/libpostproc/libpostproc.a"; then
2474 VLC_ADD_LDFLAGS([ffmpeg],[-L${real_ffmpeg_tree}/libavcodec/libpostproc ${real_ffmpeg_tree}/libavcodec/libpostproc/libpostproc.a])
2476 dnl The given libavcodec wasn't built with --enable-pp
2478 AC_MSG_ERROR([${real_ffmpeg_tree}/libavcodec/libavcodec.a was not compiled with postprocessing support, make sure you configured ffmpeg with --enable-pp])
2481 dnl Use a custom libffmpeg
2482 AC_MSG_RESULT(${real_ffmpeg_tree}/libavcodec/libavcodec.a)
2484 if fgrep -s "CONFIG_ZLIB=yes" "${real_ffmpeg_tree}/config.mak"; then
2485 if test "${with_ffmpeg_zlib}" != "yes"; then
2486 VLC_ADD_LDFLAGS([ffmpeg],[-lz])
2489 if fgrep -s "CONFIG_MP3LAME=yes" "${real_ffmpeg_tree}/config.mak"; then
2490 if test "${with_ffmpeg_mp3lame}" != "yes"; then
2491 VLC_ADD_LDFLAGS([ffmpeg],[-lmp3lame])
2494 if fgrep -s "CONFIG_FAAC=yes" "${real_ffmpeg_tree}/config.mak"; then
2495 if test "${with_ffmpeg_faac}" != "yes"; then
2496 VLC_ADD_LDFLAGS([ffmpeg],[-lfaac])
2499 if fgrep -s "CONFIG_DTS=yes" "${real_ffmpeg_tree}/config.mak"; then
2500 if test "${with_ffmpeg_dts}" != "yes"; then
2501 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_ffmpeg}"
2502 AC_CHECK_LIB(dts_pic, dts_free,
2503 [ VLC_ADD_LDFLAGS([ffmpeg],[-ldts_pic]) ],
2504 [ VLC_ADD_LDFLAGS([ffmpeg],[-ldts]) ])
2505 LDFLAGS="${LDFLAGS_save}"
2508 if fgrep -s "CONFIG_VORBIS=yes" "${real_ffmpeg_tree}/config.mak"; then
2509 VLC_ADD_LDFLAGS([ffmpeg],[-lvorbis -lvorbisenc])
2511 if fgrep -s "CONFIG_FAAD=yes" "${real_ffmpeg_tree}/config.mak"; then
2512 VLC_ADD_LDFLAGS([ffmpeg],[-lfaad])
2514 if fgrep -s "CONFIG_XVID=yes" "${real_ffmpeg_tree}/config.mak"; then
2515 VLC_ADD_LDFLAGS([ffmpeg],[-lxvidcore])
2518 VLC_ADD_BUILTINS([ffmpeg])
2519 if test "${enable_sout}" != "no"; then
2520 VLC_ADD_BUILTINS([stream_out_switcher])
2523 if test -f "${real_ffmpeg_tree}/libavutil/libavutil.a"; then
2524 VLC_ADD_LDFLAGS([ffmpeg],[-L${real_ffmpeg_tree}/libavutil ${real_ffmpeg_tree}/libavutil/libavutil.a])
2525 VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher],[-I${real_ffmpeg_tree}/libavutil])
2528 VLC_ADD_LDFLAGS([ffmpeg],[-L${real_ffmpeg_tree}/libavcodec ${real_ffmpeg_tree}/libavcodec/libavcodec.a])
2529 VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher],[-I${real_ffmpeg_tree}/libavcodec])
2531 if test -f "${real_ffmpeg_tree}/libavformat/libavformat.a"; then
2532 AC_DEFINE(HAVE_LIBAVFORMAT, 1, [Define if you have ffmpeg's libavformat.])
2533 VLC_ADD_LDFLAGS([ffmpeg],[-L${real_ffmpeg_tree}/libavformat ${real_ffmpeg_tree}/libavformat/libavformat.a])
2534 VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher],[-I${real_ffmpeg_tree}/libavformat])
2538 dnl Look for a ffmpeg-config (we are on debian )
2540 FFMPEG_PATH="${PATH}"
2541 AC_ARG_WITH(ffmpeg-config-path,
2542 [ --with-ffmpeg-config-path=PATH ffmpeg-config path (default search in \$PATH)],
2543 [ if test "${with_ffmpeg_config_path}" != "no"
2545 FFMPEG_PATH="${with_ffmpeg_config_path}"
2547 AC_PATH_PROG(FFMPEG_CONFIG, ffmpeg-config, no, ${FFMPEG_PATH})
2548 if test "${FFMPEG_CONFIG}" != "no"
2550 AC_CHECK_HEADERS(ffmpeg/avcodec.h)
2551 AC_CHECK_HEADERS(postproc/postprocess.h)
2552 VLC_ADD_PLUGINS([ffmpeg])
2553 if test "${enable_sout}" != "no"; then
2554 VLC_ADD_PLUGINS([stream_out_switcher])
2556 VLC_ADD_CFLAGS([ffmpeg stream_out_switcher],[`${FFMPEG_CONFIG} --cflags`])
2557 VLC_ADD_LDFLAGS([ffmpeg stream_out_switcher],[`${FFMPEG_CONFIG} --plugin-libs avcodec avformat postproc`])
2561 dnl Trying with pkg-config
2562 PKG_CHECK_MODULES(FFMPEG,[libavcodec, libavformat],
2564 AC_CHECK_HEADERS(ffmpeg/avcodec.h)
2565 AC_CHECK_HEADERS(postproc/postprocess.h)
2566 VLC_ADD_BUILTINS([ffmpeg])
2567 if test "${enable_sout}" != "no"; then
2568 VLC_ADD_BUILTINS([stream_out_switcher])
2570 VLC_ADD_CFLAGS([ffmpeg stream_out_switcher],[${FFMPEG_CFLAGS}])
2571 VLC_ADD_LDFLAGS([ffmpeg],[${FFMPEG_LIBS}])
2572 dnl newer ffmpeg have a separate libpostproc
2573 PKG_CHECK_MODULES(POSTPROC, libpostproc,[
2574 VLC_ADD_LDFLAGS([ffmpeg],[${POSTPROC_LIBS}])
2579 dnl last chance: at the default place
2581 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_ffmpeg}"
2582 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_ffmpeg}"
2583 AC_CHECK_HEADERS(ffmpeg/avcodec.h, [], [AC_MSG_ERROR([Missing header file ffmpeg/avcodec.h.])] )
2584 AC_CHECK_HEADERS(postproc/postprocess.h, [], [AC_MSG_ERROR([Missing header file postproc/postprocess.h.])] )
2586 AC_CHECK_LIB(avutil, av_add_i, [
2587 VLC_ADD_LDFLAGS([ffmpeg],[-lavutil])
2588 LDAVUTIL="-lavutil"])
2590 AC_CHECK_LIB(postproc, pp_postprocess, [
2591 VLC_ADD_LDFLAGS([ffmpeg],[-lpostproc])])
2593 AC_CHECK_LIB(avcodec, avcodec_init, [
2594 VLC_ADD_BUILTINS([ffmpeg])
2595 VLC_ADD_LDFLAGS([ffmpeg],[-lavcodec])
2596 if test "${enable_sout}" != "no"; then
2597 VLC_ADD_BUILTINS([stream_out_switcher])
2599 [ 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])
2600 AC_CHECK_LIB(avformat, av_open_input_stream, [
2601 AC_DEFINE(HAVE_LIBAVFORMAT, 1,
2602 [Define if you have ffmpeg's libavformat.])
2603 VLC_ADD_LDFLAGS([ffmpeg],[-lavformat -lz]) ], [], [-lavcodec -lz $LDAVUTIL])
2604 LDFLAGS="${LDFLAGS_save}"
2605 CPPFLAGS="${CPPFLAGS_save}"
2612 dnl ffmpegaltivec plugin
2614 AC_ARG_ENABLE(ffmpegaltivec,
2615 [ --enable-ffmpegaltivec ffmpegaltivec codec (DO NOT USE)])
2616 if test "${enable_ffmpegaltivec}" = "yes"
2618 if test "${with_ffmpeg_tree}" != "no" -a -n "${with_ffmpeg_tree}"; then
2619 AC_MSG_CHECKING(for libavcodecaltivec.a in ${with_ffmpeg_tree})
2620 real_ffmpeg_tree="`cd ${with_ffmpeg_tree} 2>/dev/null && pwd`"
2621 if test -z "${real_ffmpeg_tree}"; then
2622 dnl The given directory can't be found
2624 AC_MSG_ERROR([cannot cd to ${with_ffmpeg_tree}])
2626 if ! test -f "${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a"; then
2627 dnl The given libavcodecaltivec wasn't built
2629 AC_MSG_ERROR([cannot find ${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a, make sure you compiled libavcodecaltivec in ${with_ffmpeg_tree}])
2631 if ! fgrep -s "pp_get_context" "${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a"; then
2632 dnl The given libavcodecaltivec wasn't built with --enable-pp
2634 AC_MSG_ERROR([${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a was not compiled with postprocessing support, make sure you configured ffmpeg with --enable-pp])
2636 dnl Use a custom libffmpeg
2637 AC_MSG_RESULT(${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a)
2638 VLC_ADD_BUILTINS([ffmpegaltivec])
2639 VLC_ADD_LDFLAGS([ffmpegaltivec],[-L${real_ffmpeg_tree}/libavcodec -lavcodecaltivec])
2640 VLC_ADD_CPPFLAGS([ffmpeg],[-DNO_ALTIVEC_IN_FFMPEG])
2641 VLC_ADD_CPPFLAGS([ffmpegaltivec],[-I${real_ffmpeg_tree}/libavcodec -I${real_ffmpeg_tree}/libavformat])
2643 if test -f "${real_ffmpeg_tree}/libavformat/libavformat.a"; then
2644 AC_DEFINE(HAVE_LIBAVFORMAT, 1, [Define if you have ffmpeg's libavformat.])
2645 VLC_ADD_LDFLAGS([ffmpegaltivec],[-L${real_ffmpeg_tree}/libavformat -lavformataltivec -lz])
2646 VLC_ADD_CPPFLAGS([ffmpegaltivec],[-I${real_ffmpeg_tree}/libavformat])
2648 VLC_ADD_LDFLAGS([stream_out_switcher],[-L${real_ffmpeg_tree}/libavcodec])
2649 VLC_ADD_CPPFLAGS([stream_out_switcher],[-I${real_ffmpeg_tree}/libavcodec -I${real_ffmpeg_tree}/libavformat])
2654 dnl faad decoder plugin
2657 [ --enable-faad faad codec (default disabled)])
2658 if test "${enable_faad}" = "yes"
2660 AC_ARG_WITH(faad-tree,
2661 [ --with-faad-tree=PATH faad tree for static linking])
2662 if test -n "${with_faad_tree}"
2664 AC_MSG_CHECKING(for libfaad.a in ${with_faad_tree})
2665 real_faad_tree="`cd ${with_faad_tree} 2>/dev/null && pwd`"
2666 if test -z "${real_faad_tree}"
2668 dnl The given directory can't be found
2670 AC_MSG_ERROR([cannot cd to ${with_faad_tree}])
2672 if test -f "${real_faad_tree}/libfaad/.libs/libfaad.a"
2674 dnl Use a custom faad
2675 AC_MSG_RESULT(${real_faad_tree}/libfaad/.libs/libfaad.a)
2676 VLC_ADD_BUILTINS([faad])
2677 VLC_ADD_LDFLAGS([faad],[${real_faad_tree}/libfaad/.libs/libfaad.a])
2678 VLC_ADD_CPPFLAGS([faad],[-I${real_faad_tree}/include])
2680 dnl The given libfaad wasn't built
2682 AC_MSG_ERROR([cannot find ${real_faad_tree}/libfaad/.libs/libfaad.a, make sure you compiled libfaad in ${with_faad_tree}])
2685 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_faad}"
2686 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_faad}"
2687 AC_CHECK_HEADERS(faad.h, ,
2688 [ AC_MSG_ERROR([Cannot find development headers for libfaad...]) ])
2689 AC_CHECK_LIB(faad, faacDecOpen, [
2690 VLC_ADD_PLUGINS([faad])
2691 VLC_ADD_LDFLAGS([faad],[-lfaad]) ],
2692 AC_CHECK_LIB(faad, NeAACDecOpen, [
2693 VLC_ADD_PLUGINS([faad])
2694 VLC_ADD_LDFLAGS([faad],[-lfaad]) ],
2695 [ AC_MSG_ERROR([Cannot find libfaad library...]) ]))
2696 LDFLAGS="${LDFLAGS_save}"
2697 CPPFLAGS="${CPPFLAGS_save}"
2702 dnl twolame encoder plugin
2704 AC_ARG_ENABLE(twolame,
2705 [ --enable-twolame twolame codec (default disabled)])
2706 if test "${enable_twolame}" = "yes"
2708 AC_ARG_WITH(twolame-tree,
2709 [ --with-twolame-tree=PATH twolame tree for static linking])
2710 if test -n "${with_twolame_tree}"
2712 AC_MSG_CHECKING(for libtwolame.a in ${with_twolame_tree})
2713 real_twolame_tree="`cd ${with_twolame_tree} 2>/dev/null && pwd`"
2714 if test -z "${real_twolame_tree}"
2716 dnl The given directory can't be found
2718 AC_MSG_ERROR([cannot cd to ${with_twolame_tree}])
2720 if test -f "${real_twolame_tree}/src/libtwolame/.libs/libtwolame.a"
2722 dnl Use a custom twolame
2723 AC_MSG_RESULT(${real_twolame_tree}/src/libtwolame/.libs/libtwolame.a)
2724 VLC_ADD_BUILTINS([twolame])
2725 VLC_ADD_LDFLAGS([twolame],[${real_twolame_tree}/src/libtwolame/.libs/libtwolame.a])
2726 VLC_ADD_CPPFLAGS([twolame],[-I${real_twolame_tree}/src/libtwolame])
2728 dnl The given libtwolame wasn't built
2730 AC_MSG_ERROR([cannot find ${real_twolame_tree}/src/libtwolame/.libs/libtwolame.a, make sure you compiled libtwolame in ${with_twolame_tree}])
2733 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_twolame}"
2734 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_twolame}"
2735 AC_CHECK_HEADERS(twolame.h, ,
2736 [ AC_MSG_ERROR([Cannot find development header for libtwolame...]) ])
2737 AC_CHECK_LIB(twolame, twolame_init, [
2738 VLC_ADD_PLUGINS([twolame])
2739 VLC_ADD_LDFLAGS([twolame],[-ltwolame]) ],
2740 [ AC_MSG_ERROR([Cannot find libtwolame library...]) ])
2741 LDFLAGS="${LDFLAGS_save}"
2742 CPPFLAGS="${CPPFLAGS_save}"
2747 dnl QuickTime plugin
2749 AC_ARG_ENABLE(quicktime,
2750 [ --enable-quicktime QuickTime module (default enabled on MacOS X)])
2751 if test "${enable_quicktime}" != "no" &&
2752 (test "${SYS}" = "darwin" || test "${enable_quicktime}" = "yes")
2754 if test "${SYS}" = "mingw32"; then
2755 VLC_ADD_BUILTINS([quicktime])
2757 AC_CHECK_HEADERS(QuickTime/QuickTime.h,
2758 [ VLC_ADD_BUILTINS([quicktime])
2759 VLC_ADD_LDFLAGS([quicktime],[-framework QuickTime -framework Carbon])
2760 ], [ AC_MSG_ERROR([cannot find QuickTime headers]) ])
2768 [ --enable-real Real audio module (default disabled)])
2769 if test "${enable_real}" = "yes"; then
2770 VLC_ADD_PLUGINS([realaudio])
2774 dnl Real RTSP plugin
2776 AC_ARG_ENABLE(realrtsp,
2777 [ --enable-realrtsp Real RTSP module (default disabled)])
2778 if test "${enable_realrtsp}" = "yes"; then
2779 VLC_ADD_PLUGINS([access_realrtsp])
2785 AC_CHECK_HEADERS(zlib.h, [
2786 VLC_ADD_LDFLAGS([mp4 skins2 sap mkv],[-lz])
2789 AC_CHECK_HEADERS(sysfs/libsysfs.h, [
2790 VLC_ADD_LDFLAGS([mp4 mkv],[-lsysfs])
2796 AC_CHECK_HEADERS(libtar.h, [
2797 VLC_ADD_LDFLAGS([skins2],[-ltar])
2803 dnl A52/AC3 decoder plugin
2806 [ --enable-a52 A/52 support with liba52 (default enabled)])
2807 if test "${enable_a52}" != "no"
2810 [ --with-a52=PATH a52 headers and libraries])
2811 AC_ARG_WITH(a52-tree,
2812 [ --with-a52-tree=PATH a52dec tree for static linking ],[],[])
2813 if test "${with_a52_tree}" != "no" -a -n "${with_a52_tree}"
2815 real_a52_tree="`cd ${with_a52_tree} 2>/dev/null && pwd`"
2816 if test -z "${real_a52_tree}"
2818 dnl The given directory can't be found
2820 AC_MSG_ERROR([${with_a52_tree} directory doesn't exist])
2822 dnl Use a custom a52dec
2823 AC_MSG_CHECKING(for a52.h in ${real_a52_tree}/include)
2824 if test -f ${real_a52_tree}/include/a52.h
2827 VLC_ADD_CPPFLAGS([a52tofloat32],[-I${real_a52_tree}])
2828 VLC_ADD_LDFLAGS([a52tofloat32],[-L${real_a52_tree}/liba52/.libs])
2829 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_a52tofloat32}"
2830 AC_CHECK_LIB(a52, a52_free, [
2831 VLC_ADD_BUILTINS([a52tofloat32])
2832 VLC_ADD_CPPFLAGS([a52tofloat32],[-DUSE_A52DEC_TREE])
2833 VLC_ADD_LDFLAGS([a52tofloat32],[-la52])
2835 if test -f ${real_a52_tree}/liba52/.libs/liba52.a
2837 AC_MSG_ERROR([make sure you have at least a52dec-0.7.3])
2839 AC_MSG_ERROR([the specified tree hasn't been compiled])
2842 LDFLAGS="${LDFLAGS_save}"
2845 AC_MSG_ERROR([the specified tree doesn't have a52.h])
2848 if test -z "${with_a52}"
2853 LDFLAGS_test="-L${with_a52}/lib"
2854 CPPFLAGS_test="-I${with_a52}/include"
2856 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_test} ${CPPFLAGS_a52tofloat32}"
2857 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_test} ${LDFLAGS_a52tofloat32}"
2858 AC_CHECK_HEADERS(a52dec/a52.h, [
2859 AC_CHECK_LIB(a52, a52_free, [
2860 VLC_ADD_PLUGINS([a52tofloat32])
2861 VLC_ADD_LDFLAGS([a52tofloat32],[${LDFLAGS_test} -la52])
2862 VLC_ADD_CPPFLAGS([a52tofloat32],[${CPPFLAGS_test}])
2864 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.])
2867 CPPFLAGS="${CPPFLAGS_save}"
2868 LDFLAGS="${LDFLAGS_save}"
2872 AC_ARG_WITH(a52-fixed,
2873 [ --with-a52-fixed specify if liba52 has been compiled with fixed point support],
2875 VLC_ADD_CPPFLAGS([a52tofloat32],[-DLIBA52_FIXED]) ])
2878 dnl DTS Coherent Acoustics decoder plugin
2881 [ --enable-dts DTS Coherent Acoustics support with libdts (default enabled)])
2882 if test "${enable_dts}" != "no"; then
2883 AC_ARG_WITH(dts-tree,
2884 [ --with-dts-tree=PATH libdts tree for static linking ],[],[])
2885 if test "${with_dts_tree}" != "no" -a -n "${with_dts_tree}"
2887 real_dts_tree="`cd ${with_dts_tree} 2>/dev/null && pwd`"
2888 if test -z "${real_dts_tree}"
2890 dnl The given directory can't be found
2892 AC_MSG_ERROR([${with_dts_tree} directory doesn't exist])
2894 dnl Use a custom libdts
2895 AC_MSG_CHECKING(for dts.h in ${real_dts_tree}/include)
2896 if test -f ${real_dts_tree}/include/dts.h
2899 VLC_ADD_CPPFLAGS([dtstofloat32],[-I${real_dts_tree}/include])
2900 VLC_ADD_LDFLAGS([dtstofloat32],[-L${real_dts_tree}/libdts])
2901 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_dtstofloat32}"
2902 AC_CHECK_LIB(dts_pic, dts_free, [
2903 VLC_ADD_PLUGINS([dtstofloat32])
2904 VLC_ADD_LDFLAGS([dtstofloat32],[-ldts_pic])
2906 AC_CHECK_LIB(dts, dts_free, [
2907 VLC_ADD_BUILTINS([dtstofloat32])
2908 VLC_ADD_LDFLAGS([dtstofloat32],[-ldts])
2910 if test -f ${real_dts_tree}/libdts/libdts.a
2912 AC_MSG_ERROR([make sure you have at least libdts-0.0.2])
2914 AC_MSG_ERROR([the specified tree hasn't been compiled])
2918 LDFLAGS="${LDFLAGS_save}"
2921 AC_MSG_ERROR([the specified tree doesn't have dts.h])
2924 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_dtstofloat32}"
2925 AC_CHECK_HEADERS(dts.h, [
2926 AC_CHECK_LIB(dts_pic, dts_free, [
2927 VLC_ADD_PLUGINS([dtstofloat32])
2928 VLC_ADD_LDFLAGS([dtstofloat32],[-ldts_pic])
2930 AC_CHECK_LIB(dts, dts_free, [
2931 VLC_ADD_BUILTINS([dtstofloat32])
2932 VLC_ADD_LDFLAGS([dtstofloat32],[-ldts])
2934 if test "${enable_dts}" = "yes"; then
2935 AC_MSG_ERROR([Could not find libdts on your system: you may get it from http://www.videolan.org/dtsdec.html])
2940 LDFLAGS="${LDFLAGS_save}"
2948 [ --enable-flac flac decoder support (default disabled)])
2949 if test "${enable_flac}" = "yes"
2951 AC_ARG_WITH(flac-tree,
2952 [ --with-flac-tree=PATH flac tree for static linking])
2953 if test -n "${with_flac_tree}"
2955 AC_MSG_CHECKING(for libFLAC.a in ${with_flac_tree})
2956 real_flac_tree="`cd ${with_flac_tree} 2>/dev/null && pwd`"
2957 if test -z "${real_flac_tree}"
2959 dnl The given directory can't be found
2961 AC_MSG_ERROR([cannot cd to ${with_flac_tree}])
2963 if test -f "${real_flac_tree}/src/libFLAC/.libs/libFLAC.a"
2965 dnl Use a custom flac
2966 AC_MSG_RESULT(${real_flac_tree}/src/libFLAC/.libs/libFLAC.a)
2967 VLC_ADD_LDFLAGS([flacdec],[${real_flac_tree}/src/libFLAC/.libs/libFLAC.a])
2968 VLC_ADD_CFLAGS([flacdec],[-I${real_flac_tree}/include])
2969 AC_DEFINE(HAVE_FLAC_STREAM_DECODER_H, 1, [Define if you have FLAC])
2971 dnl The given flac wasn't built
2973 AC_MSG_ERROR([cannot find ${real_flac_tree}/src/libFLAC/.libs/libFLAC.a, make sure you compiled flac in ${with_flac_tree}])
2976 AC_CHECK_HEADERS(FLAC/stream_decoder.h, [
2977 VLC_ADD_LDFLAGS([flacdec],[-lFLAC])
2985 AC_ARG_ENABLE(libmpeg2,
2986 [ --enable-libmpeg2 libmpeg2 decoder support (default enabled)])
2987 if test "${enable_libmpeg2}" != "no"
2989 AC_ARG_WITH(libmpeg2-tree,
2990 [ --with-libmpeg2-tree=PATH libmpeg2 tree for static linking])
2991 if test -n "${with_libmpeg2_tree}"
2993 AC_MSG_CHECKING(for libmpeg2.a in ${with_libmpeg2_tree})
2994 real_libmpeg2_tree="`cd ${with_libmpeg2_tree} 2>/dev/null && pwd`"
2995 if test -z "${real_libmpeg2_tree}"
2997 dnl The given directory can't be found
2999 AC_MSG_ERROR([cannot cd to ${with_libmpeg2_tree}])
3001 if test -f "${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a"
3003 dnl Use a custom libmpeg2
3004 AC_MSG_RESULT(${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a)
3005 VLC_ADD_BUILTINS([libmpeg2])
3006 VLC_ADD_LDFLAGS([libmpeg2],[-L${real_libmpeg2_tree}/libmpeg2/.libs -lmpeg2])
3007 VLC_ADD_CFLAGS([libmpeg2],[-I${real_libmpeg2_tree}/include])
3008 eval "`cd ${real_libmpeg2_tree}/include && ln -sf . mpeg2dec 2>/dev/null`"
3010 dnl The given libmpeg2 wasn't built
3012 AC_MSG_ERROR([cannot find ${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a, make sure you compiled libmpeg2 in ${with_libmpeg2_tree}])
3015 AC_CHECK_HEADERS(mpeg2dec/mpeg2.h, [
3016 AC_MSG_CHECKING(for libmpeg2 version >= 0.3.2)
3018 [#include <mpeg2dec/mpeg2.h>
3019 #ifdef MPEG2_RELEASE
3020 #if MPEG2_RELEASE >= MPEG2_VERSION(0,3,2)
3024 [AC_MSG_RESULT([yes])
3025 VLC_ADD_PLUGINS([libmpeg2])
3026 VLC_ADD_LDFLAGS([libmpeg2],[-lmpeg2])],
3027 [AC_MSG_RESULT([no])
3028 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.])])],
3030 [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.])]
3038 AC_ARG_ENABLE(vorbis,
3039 [ --enable-vorbis Vorbis decoder support (default enabled)])
3040 if test "${enable_vorbis}" != "no"
3042 AC_ARG_WITH(vorbis-tree,
3043 [ --with-vorbis-tree=PATH vorbis tree for static linking])
3044 if test -n "${with_vorbis_tree}"
3046 AC_MSG_CHECKING(for libvorbis.a in ${with_vorbis_tree})
3047 real_vorbis_tree="`cd ${with_vorbis_tree} 2>/dev/null && pwd`"
3048 if test -z "${real_vorbis_tree}"
3050 dnl The given directory can't be found
3052 AC_MSG_ERROR([cannot cd to ${with_vorbis_tree}])
3054 if test -f "${real_vorbis_tree}/lib/.libs/libvorbis.a"
3056 dnl Use a custom vorbis
3057 AC_MSG_RESULT(${real_vorbis_tree}/lib/.libs/libvorbis.a)
3058 VLC_ADD_PLUGINS([vorbis])
3059 VLC_ADD_LDFLAGS([vorbis],[${real_vorbis_tree}/lib/.libs/libvorbis.a ${real_vorbis_tree}/lib/.libs/libvorbisenc.a])
3060 VLC_ADD_CFLAGS([vorbis],[-I${real_vorbis_tree}/include])
3062 dnl The given vorbis wasn't built
3064 AC_MSG_ERROR([cannot find ${real_vorbis_tree}/lib/.libs/libvorbis.a, make sure you compiled vorbis in ${with_vorbis_tree}])
3067 AC_CHECK_HEADERS(vorbis/codec.h, [
3068 VLC_ADD_PLUGINS([vorbis])
3069 VLC_ADD_LDFLAGS([vorbis],[-lvorbis -logg]) ],[])
3071 AC_CHECK_HEADERS(vorbis/vorbisenc.h, [
3072 VLC_ADD_LDFLAGS([vorbis],[-lvorbisenc]) ],[])
3079 AC_ARG_ENABLE(tremor,
3080 [ --enable-tremor Tremor decoder support (default disabled)])
3081 if test "${enable_tremor}" = "yes"
3083 AC_CHECK_HEADERS(tremor/ivorbiscodec.h, [
3084 VLC_ADD_PLUGINS([tremor])
3085 VLC_ADD_LDFLAGS([tremor],[-lvorbisidec -logg])
3092 AC_ARG_ENABLE(speex,
3093 [ --enable-speex Speex decoder support (default enabled)])
3094 if test "${enable_speex}" != "no"
3096 AC_ARG_WITH(speex-tree,
3097 [ --with-speex-tree=PATH speex tree for static linking])
3098 if test -n "${with_speex_tree}"
3100 AC_MSG_CHECKING(for libspeex.a in ${with_speex_tree})
3101 real_speex_tree="`cd ${with_speex_tree} 2>/dev/null && pwd`"
3102 if test -z "${real_speex_tree}"
3104 dnl The given directory can't be found
3106 AC_MSG_ERROR([cannot cd to ${with_speex_tree}])
3108 if test -f "${real_speex_tree}/libspeex/.libs/libspeex.a"
3110 dnl Use a custom speex
3111 AC_MSG_RESULT(${real_speex_tree}/libspeex/.libs/libspeex.a)
3112 VLC_ADD_PLUGINS([speex])
3113 VLC_ADD_LDFLAGS([speex],[${real_speex_tree}/libspeex/.libs/libspeex.a])
3114 VLC_ADD_CFLAGS([speex],[-I${real_speex_tree}/include])
3116 dnl The given speex wasn't built
3118 AC_MSG_ERROR([cannot find ${real_speex_tree}/libspeex/.libs/libspeex.a, make sure you compiled speex in ${with_speex_tree}])
3121 AC_CHECK_HEADERS(speex/speex.h, [
3122 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_speex}"
3123 AC_CHECK_LIB(speex, speex_decode_int, [
3124 VLC_ADD_PLUGINS([speex])
3125 VLC_ADD_LDFLAGS([speex],[-lspeex]) ],
3126 [ AC_MSG_RESULT([no])
3127 AC_MSG_WARN([Your libspeex is too old, please get the development
3129 LDFLAGS="${LDFLAGS_save}"
3135 dnl tarkin decoder plugin
3137 AC_ARG_ENABLE(tarkin,
3138 [ --enable-tarkin experimental tarkin codec (default disabled)])
3139 if test "${enable_tarkin}" = "yes"
3141 AC_ARG_WITH(tarkin-tree,
3142 [ --with-tarkin-tree=PATH tarkin tree for static linking])
3143 if test -n "${with_tarkin_tree}"
3145 AC_MSG_CHECKING(for tarkin.o in ${with_tarkin_tree})
3146 real_tarkin_tree="`cd ${with_tarkin_tree} 2>/dev/null && pwd`"
3147 if test -f "${real_tarkin_tree}/tarkin.o"
3149 VLC_ADD_BUILTINS([tarkin])
3150 VLC_ADD_CPPFLAGS([tarkin],[-I${real_tarkin_tree}])
3151 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])
3154 dnl The given tarkin tree wasn't built
3156 AC_MSG_ERROR([cannot find ${real_tarkin_tree}/tarkin.o,
3157 make sure you compiled tarkin in ${with_tarkin_tree}])
3163 dnl theora decoder plugin
3165 AC_ARG_ENABLE(theora,
3166 [ --enable-theora experimental theora codec (default disabled)])
3167 if test "${enable_theora}" = "yes"
3169 AC_CHECK_HEADERS(theora/theora.h, [
3170 AC_CHECK_LIB(theora, theora_granule_time, [
3171 if test "${SYS}" = "mingw32"; then
3172 VLC_ADD_PLUGINS([theora])
3174 VLC_ADD_BUILTINS([theora])
3176 theora_libs="-ltheora -logg"
3177 VLC_ADD_LDFLAGS([theora],[${theora_libs}]) ],[
3178 AC_MSG_ERROR([libtheora doesn't appear to be installed on your system.
3179 You also need to check that you have a libogg posterior to the 1.0 release.])],
3185 dnl dirac decoder plugin
3187 AC_ARG_ENABLE(dirac,
3188 [ --enable-dirac experimental dirac codec (default disabled)])
3189 if test "${enable_dirac}" = "yes"; then
3190 PKG_CHECK_MODULES(DIRAC,dirac, [
3191 VLC_ADD_PLUGINS([dirac])
3192 VLC_ADD_CFLAGS([dirac],[$DIRAC_CFLAGS])
3193 VLC_ADD_LDFLAGS([dirac],[$DIRAC_LIBS -lstdc++]) ],[
3194 AC_MSG_ERROR([libdirac doesn't appear to be installed on you system.])
3198 dnl libvc1 decoder plugin
3200 AC_ARG_ENABLE(libvc1,
3201 [ --enable-libvc1 VC-1 codec (default disabled)])
3202 if test "${enable_libvc1}" = "yes"
3204 AC_ARG_WITH(libvc1-tree,
3205 [ --with-libvc1-tree=PATH libvc1 tree for static linking])
3206 if test -n "${with_libvc1_tree}"
3208 AC_MSG_CHECKING(for vc1dec.o in ${with_libvc1_tree})
3209 real_libvc1_tree="`cd ${with_libvc1_tree} 2>/dev/null && pwd`"
3210 if test -f "${real_libvc1_tree}/src/.libs/vc1dec.o"
3212 VLC_ADD_BUILTINS([libvc1])
3213 VLC_ADD_CPPFLAGS([libvc1],[-I${real_libvc1_tree}/src])
3214 VLC_ADD_LDFLAGS([libvc1],[${real_libvc1_tree}/src/.libs/libvc1.a])
3217 dnl The given libvc1 tree wasn't built
3219 AC_MSG_ERROR([cannot find ${real_libvc1_tree}/src/.libs/vc1dec.o,
3220 make sure you compiled libvc1 in ${with_libvc1_tree}])
3226 dnl PNG decoder module
3229 [ --enable-png PNG support (default enabled)])
3230 if test "${enable_png}" != "no"; then
3231 AC_CHECK_HEADERS(png.h, [
3232 LDFLAGS="${LDFLAGS_save} -lz"
3233 AC_CHECK_LIB(png, png_set_rows, [
3234 VLC_ADD_LDFLAGS([png],[-lpng -lz])
3235 VLC_ADD_PLUGINS([png])
3236 VLC_ADD_PLUGINS([osdmenu])
3237 AC_DEFINE(HAVE_LIBPNG, [], [Define if you have the PNG library: libpng])],
3239 LDFLAGS="${LDFLAGS_save}"
3244 dnl H264 encoder plugin (using libx264)
3247 [ --enable-x264 H264 encoding support with libx264 (default enabled)])
3248 if test "${enable_x264}" != "no"; then
3249 AC_ARG_WITH(x264-tree,
3250 [ --with-x264-tree=PATH x264 tree for static linking ],[],[])
3251 if test "${with_x264_tree}" != "no" -a -n "${with_x264_tree}"
3253 real_x264_tree="`cd ${with_x264_tree} 2>/dev/null && pwd`"
3254 if test -z "${real_x264_tree}"
3256 dnl The given directory can't be found
3258 AC_MSG_ERROR([${with_x264_tree} directory doesn't exist])
3260 dnl Use a custom libx264
3261 AC_MSG_CHECKING(for x264.h in ${real_x264_tree})
3262 if test -f ${real_x264_tree}/x264.h
3265 VLC_ADD_CPPFLAGS([x264],[-I${real_x264_tree}])
3266 VLC_ADD_LDFLAGS([x264],[-L${real_x264_tree}])
3267 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_x264} ${THREAD_LIB}"
3268 AC_CHECK_LIB(x264, x264_encoder_open, [
3269 VLC_ADD_BUILTINS([x264])
3270 VLC_ADD_LDFLAGS([x264],[-lx264])
3272 AC_MSG_ERROR([the specified tree hasn't been compiled])
3274 LDFLAGS="${LDFLAGS_save}"
3277 AC_MSG_ERROR([the specified tree doesn't have x264.h])
3280 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_x264} ${THREAD_LIB}"
3281 AC_CHECK_HEADERS(x264.h, [
3282 AC_CHECK_LIB(x264, x264_encoder_open, [
3283 VLC_ADD_PLUGINS([x264])
3284 VLC_ADD_LDFLAGS([x264],[-lx264])
3286 if test "${enable_x264}" = "yes"; then
3287 AC_MSG_ERROR([Could not find libx264 on your system: you may get it from http://www.videolan.org/x264.html])
3291 LDFLAGS="${LDFLAGS_save}"
3299 [ --enable-cmml CMML support (default enabled)])
3300 if test "${enable_cmml}" != "no"
3302 VLC_ADD_PLUGINS([cmml])
3310 AC_ARG_WITH(,[Video plugins:])
3313 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
3314 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
3315 AC_CHECK_HEADERS(X11/extensions/dpms.h, [
3316 AC_MSG_CHECKING(for DPMSInfo in X11/extensions/dpms.h)
3317 AC_EGREP_HEADER(DPMSInfo,X11/extensions/dpms.h,[
3319 AC_DEFINE(DPMSINFO_IN_DPMS_H, 1,
3320 Define if <X11/extensions/dpms.h> defines DPMSInfo.)
3325 #include <X11/Xlib.h>
3327 CPPFLAGS="${CPPFLAGS_save}"
3332 dnl (enabled by default except on win32)
3335 [ --enable-x11 X11 support (default enabled)])
3336 if test "${enable_x11}" != "no" &&
3337 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
3338 test "${enable_x11}" = "yes"); then
3339 CPPFLAGS="${CPPFLAGS_save} ${X_FLAGS}"
3340 AC_CHECK_HEADERS(X11/Xlib.h, [
3341 VLC_ADD_PLUGINS([x11])
3342 VLC_ADD_LDFLAGS([x11],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext])
3343 VLC_ADD_CPPFLAGS([x11],[${X_CFLAGS}])
3345 CPPFLAGS="${CPPFLAGS_save}"
3350 dnl (enabled by default except on win32)
3352 AC_ARG_ENABLE(xvideo,
3353 [ --enable-xvideo XVideo support (default enabled)])
3354 if test "${enable_xvideo}" != "no" &&
3355 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
3356 test "${enable_xvideo}" = "yes"); then
3357 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
3358 AC_CHECK_HEADERS(X11/extensions/Xv.h, [
3359 CFLAGS="${CFLAGS_save} ${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext"
3360 AC_CHECK_LIB(Xv,XvPutImage,[
3361 # If libXv.so is available, xvideo can be a plugin. Otherwise, we
3362 # test for libXv_pic.
3363 if test -f /usr/X11R6/lib/libXv.so -o -f "${x_libraries}"/libXv.so; then
3364 VLC_ADD_PLUGINS([xvideo])
3365 VLC_ADD_CPPFLAGS([xvideo],[${X_CFLAGS}])
3366 VLC_ADD_LDFLAGS([xvideo],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lXv])
3368 AC_CHECK_LIB(Xv_pic,XvPutImage,[
3369 VLC_ADD_PLUGINS([xvideo])
3370 VLC_ADD_CPPFLAGS([xvideo],[${X_CFLAGS}])
3371 VLC_ADD_LDFLAGS([xvideo],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lXv_pic])
3373 VLC_ADD_BUILTINS([xvideo])
3374 VLC_ADD_LDFLAGS([xvideo],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lXv])
3375 VLC_ADD_CPPFLAGS([xvideo],[${X_CFLAGS}])
3379 CFLAGS="${CFLAGS_save}"
3381 CPPFLAGS="${CPPFLAGS_save}")
3386 dnl (enabled by default except on win32)
3389 [ --enable-glx X11 OpenGL (GLX) support (default enabled)])
3390 if test "${enable_glx}" != "no" &&
3391 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
3392 test "${enable_glx}" = "yes"); then
3393 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
3394 AC_CHECK_HEADERS(X11/Xlib.h, [
3395 AC_CHECK_HEADERS(GL/glx.h, [
3396 VLC_ADD_PLUGINS([glx])
3397 VLC_ADD_LDFLAGS([glx],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lGL -lGLU])
3398 VLC_ADD_CPPFLAGS([glx],[${X_CFLAGS}])
3400 CPPFLAGS="${CPPFLAGS_save}"
3403 if test "${enable_xvideo}" != "no" &&
3404 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
3405 test "${enable_xvideo}" = "yes"); then
3407 dnl Check for the Xinerama extension
3409 ac_cv_have_xinerama="no"
3410 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
3411 CFLAGS="${CFLAGS_save} ${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext"
3412 AC_CHECK_HEADERS(X11/extensions/Xinerama.h,[
3413 AC_CHECK_LIB(Xinerama_pic, XineramaQueryExtension,[
3414 VLC_ADD_LDFLAGS([xvideo],[-lXinerama_pic])
3415 VLC_ADD_LDFLAGS([x11],[-lXinerama_pic])
3416 VLC_ADD_LDFLAGS([glx],[-lXinerama_pic])
3417 ac_cv_have_xinerama="yes"
3419 AC_CHECK_LIB(Xinerama, XineramaQueryExtension,[
3420 VLC_ADD_LDFLAGS([xvideo],[-lXinerama])
3421 VLC_ADD_LDFLAGS([x11],[-lXinerama])
3422 VLC_ADD_LDFLAGS([glx],[-lXinerama])
3423 ac_cv_have_xinerama="yes"
3427 if test "${ac_cv_have_xinerama}" = "yes"; then
3428 AC_DEFINE(HAVE_XINERAMA, 1, [Define this if you have libXinerama installed])
3430 CFLAGS="${CFLAGS_save}"
3431 CPPFLAGS="${CPPFLAGS_save}"
3434 dnl Check for XF86VidMode extension
3436 ac_cv_have_xf86vidmode="no"
3437 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
3438 CFLAGS="${CFLAGS_save} ${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext"
3439 AC_CHECK_HEADERS(X11/extensions/xf86vmode.h,[
3440 AC_CHECK_LIB(Xxf86vm_pic, XF86VidModeGetViewPort,[
3441 VLC_ADD_LDFLAGS([xvideo],[-lXxf86vm_pic])
3442 VLC_ADD_LDFLAGS([x11],[-lXxf86vm_pic])
3443 VLC_ADD_LDFLAGS([glx],[-lXxf86vm_pic])
3444 ac_cv_have_xf86vidmode="yes"
3446 AC_CHECK_LIB(Xxf86vm, XF86VidModeGetViewPort,[
3447 VLC_ADD_LDFLAGS([xvideo],[-lXxf86vm])
3448 VLC_ADD_LDFLAGS([x11],[-lXxf86vm])
3449 VLC_ADD_LDFLAGS([glx],[-lXxf86vm])
3450 ac_cv_have_xf86vidmode="yes"
3454 [#ifdef HAVE_X11_XLIB_H
3455 # include <X11/Xlib.h>
3458 AS_IF([test "${ac_cv_have_xf86vidmode}" = "yes"],
3459 [AC_DEFINE(HAVE_XF86VIDMODE, 1, [Define this if you have libXxf86vm installed])
3461 CFLAGS="${CFLAGS_save}"
3462 CPPFLAGS="${CPPFLAGS_save}"
3468 dnl (enabled by default except on beos)
3470 AC_ARG_ENABLE(opengl,
3471 [ --enable-opengl OpenGL support (default enabled)])
3472 if test "${enable_opengl}" != "no" &&
3473 test "${SYS}" != "beos" -a "${SYS}" != "mingwce"; then
3474 if test "${SYS}" != "darwin"; then
3475 AC_CHECK_HEADERS(GL/gl.h, [
3476 VLC_ADD_PLUGINS([opengl])
3477 if test "${SYS}" != "mingw32"; then
3478 VLC_ADD_LDFLAGS([opengl],[${X_LIBS} -lGL -lGLU])
3480 VLC_ADD_LDFLAGS([opengl],[-lopengl32])
3484 dnl OS X special case (no GL/gl.h but OpenGL/gl.h)
3485 VLC_ADD_PLUGINS([opengl])
3486 VLC_ADD_LDFLAGS([opengl],[-framework OpenGL])
3494 [ --enable-sdl SDL support (default enabled)])
3495 if test "${enable_sdl}" != "no"
3498 AC_ARG_WITH(sdl-config-path,
3499 [ --with-sdl-config-path=PATH sdl-config path (default search in \$PATH)],
3500 [ if test "${with_sdl_config_path}" != "no"
3502 SDL_PATH="${with_sdl_config_path}:${PATH}"
3504 AC_PATH_PROG(SDL12_CONFIG, sdl12-config, no, ${SDL_PATH})
3505 SDL_CONFIG="${SDL12_CONFIG}"
3506 SDL_HEADER="SDL12/SDL.h"
3507 SDL_IMAGE="SDL12/SDL_image.h"
3508 if test "${SDL_CONFIG}" = "no"
3510 AC_PATH_PROG(SDL11_CONFIG, sdl11-config, no, ${SDL_PATH})
3511 SDL_CONFIG=${SDL11_CONFIG}
3512 SDL_HEADER="SDL11/SDL.h"
3513 SDL_IMAGE="SDL11/SDL_image.h"
3515 if test "${SDL_CONFIG}" = "no"
3517 AC_PATH_PROG(SDL_CONFIG, sdl-config, no, ${SDL_PATH})
3518 SDL_HEADER="SDL/SDL.h"
3519 SDL_IMAGE="SDL/SDL_image.h"
3521 # check for cross-compiling
3523 AC_ARG_WITH(sdl-prefix,
3524 [ --with-sdl-prefix=PATH path to libsdl (needed for cross-compiling),
3526 --with-sdl-prefix=/usr/local/arm/2.95.3/arm-linux/usr)],[],[])
3527 if test "${with_sdl_prefix}" != "no" -a -n "${with_sdl_prefix}"
3529 SDL_PREFIX="--prefix=${with_sdl_prefix}"
3531 if test "${SDL_CONFIG}" != "no"
3533 # SDL on Darwin is heavily patched and can only run SDL_image
3534 if test "${SYS}" != "darwin" -a "${SYS}" != "mingw32"; then
3535 VLC_ADD_PLUGINS([vout_sdl aout_sdl])
3537 VLC_ADD_CFLAGS([vout_sdl aout_sdl sdl_image],[`${SDL_CONFIG} ${SDL_PREFIX} --cflags | sed 's,SDL,,'`])
3538 VLC_ADD_LDFLAGS([vout_sdl aout_sdl sdl_image],[`${SDL_CONFIG} ${SDL_PREFIX} --libs | sed 's,-rdynamic,,'`])
3539 CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_vout_sdl}"
3540 AC_CHECK_HEADERS(${SDL_HEADER}, AC_DEFINE_UNQUOTED(SDL_INCLUDE_FILE,
3541 <${SDL_HEADER}>, Indicate whether we should use SDL/SDL.h or SDL11/SDL.h),
3542 [ AC_CHECK_HEADERS(SDL.h, AC_DEFINE(SDL_INCLUDE_FILE, <SDL.h>,
3543 As a last resort we also test for SDL.h presence),
3544 [ AC_MSG_ERROR([The development package for SDL is not installed.
3545 Please install it and try again. Alternatively you can also configure with
3548 AC_CHECK_HEADERS(${SDL_IMAGE}, [AC_DEFINE_UNQUOTED(SDL_IMAGE_INCLUDE_FILE,
3549 <${SDL_IMAGE}>, Indicate the path of SDL_image.h)
3550 VLC_ADD_PLUGINS([sdl_image])
3551 AC_CHECK_LIB(png, png_set_rows,
3552 [VLC_ADD_LDFLAGS([sdl_image],[-lpng -lz])],[],[-lz])
3553 AC_CHECK_LIB(jpeg, jpeg_start_decompress,
3554 [VLC_ADD_LDFLAGS([sdl_image],[-ljpeg])])
3555 AC_CHECK_LIB(tiff, TIFFClientOpen,
3556 [VLC_ADD_LDFLAGS([sdl_image],[-ltiff])])
3557 VLC_ADD_LDFLAGS([sdl_image], [-lSDL_image])],
3558 [ AC_CHECK_HEADERS(SDL_image.h, AC_DEFINE(SDL_IMAGE_INCLUDE_FILE, <SDL_image.h>,
3559 As a last resort we also test for SDL_image.h presence),
3560 [ AC_MSG_WARN([The development package for SDL_image is not installed.
3561 You should install it alongside your SDL package.])
3563 CPPFLAGS="${CPPFLAGS_save}"
3564 if expr 1.1.5 \> `${SDL_CONFIG} --version` >/dev/null
3566 AC_MSG_ERROR([The development package for SDL is not installed.
3567 Please install it and try again. Alternatively you can also configure with
3571 elif test "${enable_sdl}" = "yes"
3573 AC_MSG_ERROR([I couldn't find the SDL package. You can download libSDL
3574 from http://www.libsdl.org/, or configure with --disable-sdl. Have a nice day.
3582 AC_ARG_ENABLE(freetype,
3583 [ --enable-freetype freetype support (default enabled)])
3584 AC_ARG_ENABLE(fribidi,
3585 [ --enable-fribidi fribidi support (default enabled)])
3586 if test "${enable_freetype}" != "no"
3588 FREETYPE_PATH="${PATH}"
3589 AC_ARG_WITH(freetype-config-path,
3590 [ --with-freetype-config-path=PATH freetype-config path (default search in \$PATH)],
3591 [ if test "${with_freetype_config_path}" != "no"
3593 FREETYPE_PATH="${with_freetype_config_path}:${PATH}"
3595 AC_PATH_PROG(FREETYPE_CONFIG, freetype-config, no, ${FREETYPE_PATH})
3597 if test "${FREETYPE_CONFIG}" != "no"
3599 VLC_ADD_PLUGINS([freetype])
3600 VLC_ADD_CFLAGS([freetype],[`${FREETYPE_CONFIG} --cflags`])
3601 VLC_ADD_LDFLAGS([freetype],[`${FREETYPE_CONFIG} --libs`])
3602 AC_CHECK_HEADERS(Carbon/Carbon.h,
3603 [VLC_ADD_LDFLAGS([freetype],[-framework Carbon])])
3604 elif test "${enable_freetype}" = "yes"
3606 AC_MSG_ERROR([I couldn't find the freetype package. You can download libfreetype2
3607 from http://www.freetype.org/, or configure with --disable-freetype. Have a nice day.
3612 if test "${enable_fribidi}" != "no"
3614 FRIBIDI_PATH="${PATH}"
3615 AC_ARG_WITH(fribidi-config-path,
3616 [ --with-fribidi-config-path=PATH fribidi-config path (default search in \$PATH)],
3617 [ if test "${with_fribidi_config_path}" != "no"
3619 FRIBIDI_PATH="${with_fribidi_config_path}:${PATH}"
3621 AC_PATH_PROG(FRIBIDI_CONFIG, fribidi-config, no, ${FRIBIDI_PATH})
3623 if test "${FRIBIDI_CONFIG}" != "no"
3625 VLC_ADD_CFLAGS([freetype], [`${FRIBIDI_CONFIG} --cflags` -DHAVE_FRIBIDI])
3626 VLC_ADD_CPPFLAGS([skins2], [`${FRIBIDI_CONFIG} --cflags` -DHAVE_FRIBIDI])
3627 VLC_ADD_LDFLAGS([freetype], [`${FRIBIDI_CONFIG} --libs`])
3628 VLC_ADD_LDFLAGS([skins2], [`${FRIBIDI_CONFIG} --libs`])
3636 AC_ARG_ENABLE(libxml2,
3637 [ --enable-libxml2 libxml2 support (default enabled)])
3638 if test "${enable_libxml2}" != "no"
3641 AC_ARG_WITH(xml2-config-path,
3642 [ --with-xml2-config-path=PATH xml2-config path (default search in \$PATH)],
3643 [ if test "${with_xml2_config_path}" != "no"; then
3644 XML2_PATH="${with_xml2_config_path}:${PATH}"
3646 AC_PATH_PROG(XML2_CONFIG, xml2-config, no, ${XML2_PATH})
3647 if test "${XML2_CONFIG}" != "no"; then
3648 VLC_ADD_CPPFLAGS([xml],[`${XML2_CONFIG} --cflags`])
3649 VLC_ADD_LDFLAGS([xml],[`${XML2_CONFIG} --libs`])
3650 dnl depends on the xmlTextReader extension
3651 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_xml}"
3652 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_xml}"
3653 AC_CHECK_LIB(xml2,xmlTextReaderConstName,[
3654 AC_EGREP_HEADER(xmlTextReaderConstName,libxml/xmlreader.h,[
3655 VLC_ADD_PLUGINS([xml]) ],[
3656 AC_MSG_WARN([libxml2 missing the xmlTextReader extension, you should update your version])
3657 if test "${enable_xml2}" = "yes"; then
3658 AC_MSG_ERROR([libxml2 missing the xmlTextReader extension])
3661 AC_MSG_WARN([libxml2 missing the xmlTextReader extension, you should update your version])
3662 if test "${enable_xml2}" = "yes"; then
3663 AC_MSG_ERROR([libxml2 missing the xmlTextReader extension])
3665 LDFLAGS="${LDFLAGS_save}"
3666 CPPFLAGS="${CPPFLAGS_save}"
3668 if test "${enable_xml2}" = "yes"; then
3669 AC_MSG_ERROR([Could not find libxml2])
3678 [ --enable-svg SVG support (default disabled)])
3679 if test "${enable_svg}" = "yes"
3681 PKG_CHECK_MODULES(SVG,
3682 librsvg-2.0 >= 2.5.0,
3684 VLC_ADD_LDFLAGS([svg],[$SVG_LIBS])
3685 VLC_ADD_CFLAGS([svg],[$SVG_CFLAGS])
3686 VLC_ADD_PLUGINS([svg]) ],
3687 [AC_MSG_WARN(SVG library not found)])
3691 dnl Snapshot vout module (with cache)
3693 AC_ARG_ENABLE(snapshot,
3694 [ --enable-snapshot snapshot module (default disabled)])
3695 if test "${enable_snapshot}" = "yes"
3697 VLC_ADD_PLUGINS([snapshot])
3701 dnl Qt Embedded module
3702 dnl (disabled by default)
3705 [ --enable-qte QT Embedded support (default disabled)])
3706 if test "${enable_qte}" = "yes"
3709 [ --with-qte=PATH Qt Embedded headers and libraries])
3710 if test "${with_qte}" != "no" -a -n "${with_qte}"
3712 VLC_ADD_LDFLAGS([qte],[-L${with_qte}/lib `echo -L${with_qte}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte])
3713 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])
3715 VLC_ADD_LDFLAGS([qte],[-L${QTDIR}/lib `echo -L${QTDIR}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte])
3716 VLC_ADD_CXXFLAGS([qte],[-I${QTDIR}/include `echo -I${QTDIR}/include | sed 's,opt/QtPalmtop,usr,'` -DQT_QWS_IPAQ -DQWS -fno-exceptions -fno-rtti])
3718 VLC_ADD_PLUGINS([qte])
3720 CPPFLAGS="${CPPFLAGS_save} ${CXXFLAGS_qte}"
3721 AC_CHECK_HEADERS(qt.h jpeglib.h, ,[
3722 AC_MSG_ERROR([echo "Cannot find QT Embedded development headers."])
3724 CPPFLAGS="${CPPFLAGS_save}"
3728 dnl Qt Video output module
3729 dnl (disabled by default)
3731 dnl AC_ARG_ENABLE(qt_video,
3732 dnl [ --enable-qt_video QT Video Output support (default disabled)])
3733 dnl if test "${enable_qt_video}" = "yes"
3735 dnl VLC_ADD_PLUGINS([qt_video])
3736 dnl VLC_ADD_LDFLAGS([qt_video],[-L${QTDIR}/lib])
3737 dnl LDFLAGS="${LDFLAGS_save} ${LDFLAGS_qt_video}"
3738 dnl AC_CHECK_LIB(qt-mt,main,[
3739 dnl VLC_ADD_LDFLAGS([qt_video],[-lqt-mt])
3741 dnl AC_CHECK_LIB(qt,main,[
3742 dnl VLC_ADD_LDFLAGS([qt_video],[-lqt])
3745 dnl NEED_QTE_MAIN=yes
3746 dnl LDFLAGS="${LDFLAGS_save}"
3747 dnl VLC_ADD_CXXFLAGS([qt_video],[-I/usr/include/qt3 -I/usr/include/qt -I${QTDIR}/include])
3751 dnl Roku HD1000 Video output module
3753 AC_ARG_ENABLE(hd1000v,
3754 [ --enable-hd1000v HD1000 Video Output module (default enabled on HD1000)])
3755 if test "${enable_hd1000v}" != "no" -a "${CXX}" != "" &&
3756 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
3757 test "${enable_hd1000v}" = "yes"); then
3759 AC_CHECK_HEADERS([cascade/graphics/CascadeScreen.h cascade/graphics/CascadeBitmap.h],
3761 can_build_roku="yes"
3765 AC_MSG_WARN([Not building Roku HD1000 compatible video output])
3767 if test "$can_build_roku" = "yes"
3769 VLC_ADD_PLUGINS([hd1000v])
3770 VLC_ADD_LDFLAGS([hd1000v],[-lCascade -ldvbpsi -lmad])
3776 dnl Windows DirectX module
3778 AC_ARG_ENABLE(directx,
3779 [ --enable-directx Win32 DirectX support (default enabled on Win32)])
3780 if test "${enable_directx}" != "no"
3782 if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce" -o "${SYS}" = "cygwin"
3784 AC_ARG_WITH(directx,
3785 [ --with-directx=PATH Win32 DirectX headers])
3786 if test -z "${with_directx}"
3788 AC_CHECK_HEADERS(ddraw.h,
3789 [ VLC_ADD_PLUGINS([vout_directx aout_directx])
3790 VLC_ADD_LDFLAGS([vout_directx],[-lgdi32])
3791 dnl to be moved when dependance is removed
3792 AC_CHECK_HEADERS(GL/gl.h, [
3793 VLC_ADD_PLUGINS([glwin32])
3794 VLC_ADD_LDFLAGS([glwin32],[-lopengl32 -lgdi32])
3797 AC_MSG_CHECKING(for directX headers in ${with_directx})
3798 if test -f ${with_directx}/ddraw.h
3800 VLC_ADD_PLUGINS([vout_directx aout_directx])
3801 VLC_ADD_CPPFLAGS([vout_directx aout_directx],[-I${with_directx}])
3802 VLC_ADD_LDFLAGS([vout_directx],[-lgdi32])
3806 AC_MSG_ERROR([Cannot find ${with_directx}/ddraw.h!])
3813 dnl Linux framebuffer module
3816 [ --enable-fb Linux framebuffer support (default enabled on Linux)])
3817 if test "${enable_fb}" != "no"
3819 AC_CHECK_HEADERS(linux/fb.h, [
3820 VLC_ADD_PLUGINS([fb])
3825 dnl Linux MGA module
3828 [ --enable-mga Linux kernel Matrox support (default disabled)],
3829 [ if test "${enable_mga}" = "yes"
3831 VLC_ADD_PLUGINS([mga])
3837 AC_ARG_ENABLE(svgalib,
3838 [ --enable-svgalib SVGAlib support (default disabled)])
3839 if test "${enable_svgalib}" = "yes"
3841 VLC_ADD_PLUGINS([svgalib])
3842 VLC_ADD_LDFLAGS([svgalib],[-lvgagl -lvga])
3848 AC_ARG_ENABLE(directfb,
3849 [ --enable-directfb DirectFB support (default disabled)])
3850 if test "${enable_directfb}" = "yes"
3852 if test "${with_directfb}" = "no"
3854 AC_CHECK_HEADER(directfb.h, have_directfb="true", have_directfb="false")
3855 if test "${have_directfb}"= "true"
3857 VLC_ADD_PLUGINS([directfb])
3858 VLC_ADD_LDFLAGS([directfb],[-ldirectfb -lfusion -ldirect -lpthread -ljpeg -lz -ldl])
3859 VLC_ADD_CPPFLAGS([directfb],[-I/usr/include/directfb -D_REENTRANT])
3861 AC_MSG_ERROR([cannot find /usr/include/directfb headers, make sure directfb is installed on your system or use --disable-directfb])
3864 CPPFLAGS_save="${CPPFLAGS}"
3865 CPPFLAGS="${CPPFLAGS} -I${with_directfb}/include"
3866 AC_CHECK_HEADER(directfb.h, have_directfb="true", have_directfb="false")
3867 CPPFLAGS="${CPPFLAGS_save}"
3868 AC_ARG_WITH(directfb,
3869 [ --with-directfb=PATH path to directfb],
3870 [ if test "${with_directfb}" != "no" -a -n "${with_directfb}"
3872 VLC_ADD_PLUGINS([directfb])
3873 VLC_ADD_CPPFLAGS([directfb],[-I${with_directfb}/include -D_REENTRANT])
3874 VLC_ADD_LDFLAGS([directfb],[-L${with_directfb}/lib -ldirectfb -lfusion -ldirect -lpthread -ljpeg -lz -ldl])
3876 [ AC_MSG_ERROR([cannot find directfb headers in ${with_directfb}/include]) ])
3884 [ --enable-ggi GGI support (default disabled)])
3885 if test "${enable_ggi}" = "yes"
3887 VLC_ADD_PLUGINS([ggi])
3888 VLC_ADD_LDFLAGS([ggi],[-lggi])
3890 [ --with-ggi=PATH path to libggi],
3891 [ if test "${with_ggi}" != "no" -a -n "${with_ggi}"
3893 VLC_ADD_CPPFLAGS([ggi],[-I${with_ggi}/include])
3894 VLC_ADD_LDFLAGS([ggi],[-L${with_ggi}/lib])
3901 AC_ARG_ENABLE(glide,
3902 [ --enable-glide Glide (3dfx) support (default disabled)])
3903 if test "${enable_glide}" = "yes"
3905 CFLAGS_save="${CFLAGS}"
3907 [ --with-glide=PATH path to libglide],
3908 [ if test "${with_glide}" != "no" -a -n "${with_glide}"
3910 VLC_ADD_CPPFLAGS([glide],[-I${with_glide}/include])
3911 VLC_ADD_LDFLAGS([glide],[-L${with_glide}/lib])
3912 CFLAGS="$CFLAGS -I${with_glide}/include"
3914 CFLAGS="$CFLAGS -I/usr/include/glide"
3915 AC_CHECK_HEADER(glide.h,[
3916 VLC_ADD_PLUGINS([glide])
3917 VLC_ADD_LDFLAGS([glide],[-lglide2x -lm])
3918 VLC_ADD_CPPFLAGS([glide],[-I/usr/include/glide])
3920 AC_MSG_ERROR([You don't have libglide. Install it or do not use --enable-glide])
3922 CFAGS="${CFLAGS_save}"
3929 [ --enable-aa aalib output (default disabled)])
3930 if test "${enable_aa}" = "yes"
3932 AC_CHECK_HEADER(aalib.h,have_aa="true",have_aa="false")
3933 if test "${have_aa}" = "true"
3935 VLC_ADD_PLUGINS([aa])
3936 VLC_ADD_LDFLAGS([aa],[-laa])
3944 [ --enable-caca libcaca output (default disabled)])
3945 if test "${enable_caca}" = "yes"
3948 AC_ARG_WITH(caca-config-path,
3949 [ --with-caca-config-path=PATH caca-config path (default search in \$PATH)],
3950 [ if test "${with_caca_config_path}" != "no"
3952 CACA_PATH="${with_caca_config_path}:${PATH}"
3954 AC_PATH_PROG(CACA_CONFIG, caca-config, no, ${CACA_PATH})
3955 if test "${CACA_CONFIG}" != "no"
3957 VLC_ADD_PLUGINS([caca])
3958 VLC_ADD_CFLAGS([caca],[`${CACA_CONFIG} --cflags`])
3959 VLC_ADD_LDFLAGS([caca],[`${CACA_CONFIG} --plugin-libs`])
3964 dnl win32 GDI plugin
3966 AC_ARG_ENABLE(wingdi,
3967 [ --enable-wingdi Win32 GDI module (default enabled on Win32)])
3968 if test "${enable_wingdi}" != "no"; then
3969 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"; then
3970 VLC_ADD_PLUGINS([wingdi])
3971 VLC_ADD_LDFLAGS([wingdi],[-lgdi32])
3973 if test "${SYS}" = "mingwce"; then
3974 VLC_ADD_PLUGINS([wingdi wingapi])
3982 AC_ARG_WITH(,[Audio plugins:])
3985 dnl OSS /dev/dsp module (enabled by default except on win32)
3988 [ --enable-oss Linux OSS /dev/dsp support (enabled on Linux)])
3990 if test "${enable_oss}" != "no" &&
3991 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
3992 test "${enable_oss}" = "yes")
3994 AC_CHECK_HEADERS(soundcard.h sys/soundcard.h machine/soundcard.h, [
3995 VLC_ADD_PLUGINS([oss])
3996 AC_CHECK_LIB(ossaudio,main,VLC_ADD_LDFLAGS([oss],[-lossaudio]))
4004 [ --enable-esd Esound library support (default disabled)],
4005 [if test "${enable_esd}" = "yes"
4007 AC_PATH_PROG(ESD_CONFIG, esd-config, no)
4008 if test "${ESD_CONFIG}" != "no"
4010 VLC_ADD_PLUGINS([esd])
4011 VLC_ADD_CFLAGS([esd],[`${ESD_CONFIG} --cflags`])
4012 VLC_ADD_LDFLAGS([esd],[`${ESD_CONFIG} --libs`])
4017 dnl Portaudio module
4019 AC_ARG_ENABLE(portaudio,
4020 [ --enable-portaudio Portaudio library support (default disabled)],
4021 [if test "${enable_portaudio}" = "yes"
4023 VLC_ADD_PLUGINS([portaudio])
4024 VLC_ADD_CXXFLAGS([portaudio],[])
4025 if test "${SYS}" = "mingw32"; then
4026 VLC_ADD_LDFLAGS([portaudio],[-lportaudio -lwinmm -lole32])
4028 VLC_ADD_LDFLAGS([portaudio],[-lportaudio])
4033 dnl aRts module -- broken (freeze wxWidgets)
4036 [ --enable-arts aRts sound server (default disabled)],
4037 [if test "${enable_arts}" = "yes"
4039 AC_PATH_PROG(ARTS_CONFIG, artsc-config, no)
4040 if test "${ARTS_CONFIG}" != "no"
4042 VLC_ADD_PLUGINS([arts])
4043 VLC_ADD_CFLAGS([arts],[`${ARTS_CONFIG} --cflags`])
4044 VLC_ADD_LDFLAGS([arts],[`${ARTS_CONFIG} --libs `])
4052 [ --enable-alsa ALSA sound support for Linux (default enabled)])
4053 if test "${enable_alsa}" != "no"
4055 AC_CHECK_HEADER(alsa/asoundlib.h, AC_CHECK_LIB(asound, main, have_alsa="true", have_alsa="false"),have_alsa="false")
4056 if test "${have_alsa}" = "true"
4058 CFLAGS="${CFLAGS_save}"
4059 AC_TRY_COMPILE([#define ALSA_PCM_NEW_HW_PARAMS_API
4060 #define ALSA_PCM_NEW_SW_PARAMS_API
4061 #include <alsa/asoundlib.h>],
4062 [void foo() { snd_pcm_hw_params_get_period_time(0,0,0); }],
4063 AC_DEFINE(HAVE_ALSA_NEW_API, 1, Define if ALSA is at least rc4))
4064 VLC_ADD_PLUGINS([alsa])
4065 VLC_ADD_LDFLAGS([alsa],[-lasound -lm -ldl])
4067 if test "${enable_alsa}" = "yes"; then
4068 AC_MSG_ERROR([Could not find ALSA development headers])
4074 dnl win32 waveOut plugin
4076 AC_ARG_ENABLE(waveout,
4077 [ --enable-waveout Win32 waveOut module (default enabled on Win32)])
4078 if test "${enable_waveout}" != "no"; then
4079 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"; then
4080 VLC_ADD_PLUGINS([waveout])
4081 VLC_ADD_LDFLAGS([waveout],[-lwinmm])
4083 if test "${SYS}" = "mingwce"; then
4084 VLC_ADD_PLUGINS([waveout])
4089 dnl CoreAudio plugin
4091 AC_ARG_ENABLE(macosx-audio,
4092 [ --enable-macosx-audio Mac OS X audio module (default enabled on MacOS X)])
4093 if test "${enable_macosx-audio}" != "no" &&
4094 (test "${SYS}" = "darwin" || test "${enable_macosx-audio}" = "yes")
4096 AC_CHECK_HEADERS(CoreAudio/CoreAudio.h,
4097 [ VLC_ADD_BUILTINS([auhal])
4098 VLC_ADD_LDFLAGS([auhal],[-framework CoreAudio -framework AudioUnit -framework AudioToolbox])
4099 ], [ AC_MSG_ERROR([cannot find CoreAudio headers]) ])
4103 dnl Roku HD1000 audio
4105 AC_ARG_ENABLE(hd1000a,
4106 [ --enable-hd1000a HD1000 audio module (default enabled on HD1000)])
4107 if test "${enable_hd1000a}" != "no" -a "${CXX}" != "" &&
4108 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
4109 test "${enable_hd1000a}" = "yes")
4112 AC_CHECK_HEADERS(deschutes/libraries/hdmachinex225/PCMAudioPlayer.h, [
4113 VLC_ADD_PLUGINS([hd1000a])
4114 AC_CHECK_LIB(HDMachineX225,main,VLC_ADD_LDFLAGS([hd1000a],[-lHDMachineX225])) ])
4122 [ --enable-jack JACK audio module (default disabled)],
4123 [if test "${enable_jack}" = "yes"
4125 AC_CHECK_HEADERS(jack/jack.h, [
4126 VLC_ADD_PLUGINS([jack])
4127 VLC_ADD_LDFLAGS([jack],[-ljack]) ])
4131 dnl CyberLink for C++ UPnP stack
4133 AC_ARG_ENABLE(cyberlink,
4134 [ --enable-cyberlink CyberLink for C++ UPnP stack (default disabled)])
4135 AS_IF([test "${CXX}" != "" -a "${enable_cyberlink}" = "yes" || (test "${enable_cyberlink}" != "no")], [
4136 AC_ARG_WITH(cyberlink-tree,
4137 [ --with-cyberlink-tree=PATH CyberLink for C++ tree for static linking])
4140 dnl test for --with-cyberlink-tree
4142 AS_IF([test ! -z "${with_cyberlink_tree}" -a "${CXX}" != ""], [
4144 real_cyberlink_tree="`cd ${with_cyberlink_tree} 2>/dev/null && pwd`"
4145 AS_IF([test -z "${real_cyberlink_tree}"], [
4146 dnl The given directory can't be found
4148 AC_MSG_ERROR([cannot cd to ${with_cyberlink_tree}])
4150 CPPFLAGS_save="${CPPFLAGS}"
4151 CPPFLAGS_cyberlink="-I${real_cyberlink_tree}/include"
4152 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_cyberlink}"
4153 AC_CHECK_HEADERS([cybergarage/upnp/MediaServer.h],
4154 [ VLC_ADD_CXXFLAGS([upnp_cc], [${CPPFLAGS_cyberlink}])
4155 VLC_ADD_PLUGINS([upnp_cc])
4157 AC_MSG_ERROR([cannot find CyberLink for C++ headers])
4159 AC_MSG_CHECKING(for libclink.a in ${with_cyberlink_tree})
4160 AS_IF([test -f "${real_cyberlink_tree}/lib/unix/libclink.a"], [
4161 AC_MSG_RESULT(${real_cyberlink_tree}/lib/unix/libclink.a)
4162 dnl The mere fact that we have to make such an ugly check sucks
4163 AC_MSG_CHECKING(for XML parser to link CyberLink with)
4166 for l in "`xml2-config --libs`" -lexpat -lxerces-c; do
4167 LIBS="$LIBS_save ${real_cyberlink_tree}/lib/unix/libclink.a -lpthread $l"
4168 AC_LINK_IFELSE([AC_LANG_PROGRAM([
4169 #include <cybergarage/upnp/media/player/MediaPlayer.h>
4170 using namespace CyberLink;
4172 class testclass : public SearchResponseListener, public MediaPlayer
4174 virtual void deviceSearchResponseReceived( SSDPPacket *)
4181 addSearchResponseListener (this);
4185 ],[testclass l;])],[LIBS_cclink="$l"])
4188 dnl should not happen - otherwise this needs fixing - hence FAILURE
4189 AS_IF([test "${LIBS_cclink}" == "no"],
4190 [AC_MSG_FAILURE([cannot find XML parser for CyberLink])])
4191 AC_MSG_RESULT([${LIBS_cclink}])
4192 VLC_ADD_LDFLAGS([upnp_cc], [${real_cyberlink_tree}/lib/unix/libclink.a -lpthread ${LIBS_cclink}])
4195 AC_MSG_ERROR([cannot find ${real_cyberlink_tree}/lib/unix/libclink.a, make sure you compiled CyberLink for C++ in ${with_cyberlink_tree}])
4197 CPPFLAGS="${CPPFLAGS_save}"
4203 dnl UPnP Plugin (Intel SDK)
4206 [ --enable-upnp Intel UPnP SDK (default auto)])
4208 VLC_ADD_CXXFLAGS([upnp_intel], [ ])
4209 AS_IF([test "x${enable_upnp}" != "xno"], [
4210 AC_CHECK_LIB([upnp], [UpnpInit], [has_upnp="yes"], [has_upnp="no"], [-lpthread])
4211 AS_IF([test "x${enable_upnp}" != "x" && test "${has_upnp}" == "no"], [
4212 AC_MSG_ERROR([cannot find Intel UPnP SDK (libupnp)])
4214 AS_IF([test "${has_upnp}" == "yes"], [
4215 VLC_ADD_LDFLAGS([upnp_intel], [-lupnp])
4221 AS_IF([test "${has_upnp}" == "yes"], [
4222 VLC_ADD_PLUGINS([upnp_intel])
4227 dnl Interface plugins
4230 AC_ARG_WITH(,[Interface plugins:])
4232 dnl special case for BeOS
4233 if test "${SYS}" = "beos"
4235 VLC_ADD_BUILTINS([beos])
4241 AC_ARG_ENABLE(skins2,
4242 [ --enable-skins2 Skins2 interface module (experimental)])
4243 if test "${enable_skins2}" = "yes" ||
4244 (test "${SYS}" != "darwin" && test "${SYS}" != "beos" &&
4245 test "${SYS}" != "mingwce" && test "${enable_skins2}" != "no"); then
4247 dnl test for the required libraries
4248 skins2_missing_lib="no"
4251 if test "${FREETYPE_CONFIG}" != "no"; then
4252 VLC_ADD_CPPFLAGS([skins2],[`${FREETYPE_CONFIG} --cflags`])
4253 VLC_ADD_LDFLAGS([skins2],[`${FREETYPE_CONFIG} --libs`])
4255 skins2_missing_lib="yes"
4256 if test "${enable_skins2}" = "yes"; then
4257 AC_MSG_ERROR([Could not find freetype (required for skins2)])
4261 if test "${skins2_missing_lib}" = "no" && (test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"); then
4262 VLC_ADD_PLUGINS([skins2])
4263 ALIASES="${ALIASES} svlc"
4264 VLC_ADD_CPPFLAGS([skins2],[-U_OFF_T_ -U_off_t -Imodules/gui/skins2 -DWIN32_SKINS])
4265 VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
4266 VLC_ADD_LDFLAGS([skins2],[-loleaut32 -lwinspool -lwinmm -lshell32 -lctl3d32 -ladvapi32 -lwsock32 -lgdi32 -lcomdlg32 -lole32 -luuid -lcomctl32])
4268 else if test "${skins2_missing_lib}" = "no"; then
4269 VLC_ADD_PLUGINS([skins2])
4270 ALIASES="${ALIASES} svlc"
4271 VLC_ADD_CPPFLAGS([skins2],[-Imodules/gui/skins2 ${X_CFLAGS} -DX11_SKINS])
4272 VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
4273 VLC_ADD_LDFLAGS([skins2],[${X_LIBS} ${X_PRE_LIBS} -lXext -lX11])
4281 dnl AC_ARG_ENABLE(gtk,
4282 dnl [ --enable-gtk Gtk+ support (default enabled)])
4283 dnl if test "${enable_gtk}" != "no"
4285 dnl GTK_PATH="${PATH}"
4286 dnl AC_ARG_WITH(gtk-config-path,
4287 dnl [ --with-gtk-config-path=PATH gtk-config path (default search in \$PATH)],
4288 dnl [ if test "${with_gtk_config_path}" != "no"
4290 dnl GTK_PATH="${with_gtk_config_path}:${PATH}"
4292 dnl # look for gtk-config
4293 dnl AC_PATH_PROG(GTK12_CONFIG, gtk12-config, no, ${GTK_PATH})
4294 dnl GTK_CONFIG=${GTK12_CONFIG}
4295 dnl if test "${GTK_CONFIG}" = "no"
4297 dnl AC_PATH_PROG(GTK_CONFIG, gtk-config, no, ${GTK_PATH})
4299 dnl if test "${GTK_CONFIG}" != "no"
4301 dnl if expr 1.2.0 \> `${GTK_CONFIG} --version` >/dev/null
4303 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.])
4305 dnl if test "${SYS}" != "mingw32"; then
4306 dnl VLC_ADD_CFLAGS([gtk],[`${GTK_CONFIG} --cflags gtk gthread`])
4307 dnl VLC_ADD_LDFLAGS([gtk],[`${GTK_CONFIG} --libs gtk gthread | sed 's,-rdynamic,,'`])
4309 dnl VLC_ADD_CFLAGS([gtk],[`${GTK_CONFIG} --cflags gtk`])
4310 dnl VLC_ADD_LDFLAGS([gtk],[`${GTK_CONFIG} --libs gtk | sed 's,-rdynamic,,'`])
4312 dnl # now look for the gtk.h header
4313 dnl CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_gtk}"
4314 dnl ac_cv_gtk_headers=yes
4315 dnl AC_CHECK_HEADERS(gtk/gtk.h glib.h gdk/gdk.h, , [
4316 dnl ac_cv_gtk_headers=no
4317 dnl echo "Cannot find gtk development headers."
4319 dnl if test "${ac_cv_gtk_headers}" = "yes"
4321 dnl VLC_ADD_PLUGINS([gtk])
4322 dnl if test "${SYS}" != "mingw32"; then
4323 dnl NEED_GTK_MAIN=yes
4325 dnl ALIASES="${ALIASES} gvlc"
4327 dnl CPPFLAGS="${CPPFLAGS_save}"
4332 dnl Gtk+2 module ! Disabled for now as it is unusable and confuses users
4334 dnl AC_ARG_ENABLE(gtk2,
4335 dnl [ --enable-gtk2 Gtk2 support (default disabled)])
4336 dnl if test "${enable_gtk2}" = "yes"
4338 dnl PKG_CHECK_MODULES(GTK2, [gtk+-2.0 >= 2.0.0, gthread-2.0])
4339 dnl VLC_ADD_CFLAGS([gtk2],[${GTK2_CFLAGS}])
4340 dnl VLC_ADD_LDFLAGS([gtk2],[${GTK2_LIBS}])
4341 dnl VLC_ADD_PLUGINS([gtk2])
4342 dnl if test "${SYS}" != "mingw32"; then
4343 dnl NEED_GTK2_MAIN=yes
4348 dnl PDA Gtk+2 module
4351 [ --enable-pda PDA interface needs Gtk2 support (default disabled)])
4352 if test "${enable_pda}" = "yes"
4354 PKG_CHECK_MODULES(GTK2, [gtk+-2.0 >= 2.0.0, gthread-2.0])
4355 VLC_ADD_CFLAGS([gtk2],[${GTK2_CFLAGS}])
4356 VLC_ADD_LDFLAGS([gtk2],[${GTK2_LIBS}])
4357 VLC_ADD_CFLAGS([pda],[${GTK2_CFLAGS} ${CFLAGS_pda}])
4358 VLC_ADD_LDFLAGS([pda],[${GTK2_LIBS} ${LDFLAGS_pda}])
4359 VLC_ADD_PLUGINS([pda])
4360 if test "${SYS}" != "mingw32"; then
4366 dnl dnl Gnome module
4368 dnl AC_ARG_ENABLE(gnome,
4369 dnl [ --enable-gnome Gnome interface support (default disabled)],
4370 dnl [if test "${enable_gnome}" = "yes"; then
4371 dnl # look for gnome-config
4372 dnl AC_PATH_PROG(GNOME_CONFIG, gnome-config, no)
4373 dnl if test -x ${GNOME_CONFIG}
4375 dnl VLC_ADD_CFLAGS([gnome],[`${GNOME_CONFIG} --cflags gtk gnomeui`])
4376 dnl VLC_ADD_LDFLAGS([gnome],[`${GNOME_CONFIG} --libs gnomeui | sed 's,-rdynamic,,'`])
4378 dnl # now look for the gnome.h header
4379 dnl CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_gnome}"
4380 dnl AC_CHECK_HEADERS(gnome.h, [
4381 dnl VLC_ADD_PLUGINS([gnome])
4382 dnl NEED_GTK_MAIN=yes
4383 dnl NEED_GNOME_MAIN=yes
4384 dnl ALIASES="${ALIASES} gnome-vlc"
4385 dnl dnl We need this because of some moronic gnomesupport.h flavours
4386 dnl AC_MSG_CHECKING(for strndup in gnome.h)
4387 dnl AC_EGREP_HEADER(strndup,gnome.h,[
4388 dnl AC_MSG_RESULT(yes)
4389 dnl AC_DEFINE(STRNDUP_IN_GNOME_H, 1,
4390 dnl Define if <gnome.h> defines strndup.)],[
4391 dnl AC_MSG_RESULT(no)])
4393 dnl AC_MSG_ERROR([Can't find gnome headers. Please install the gnome
4394 dnl developement tools or remove the --enable-gnome option])
4396 dnl CPPFLAGS="${CPPFLAGS_save}"
4400 dnl Gnome2 module ! Disabled for know as it is unuseable and confuses users
4402 dnl AC_ARG_ENABLE(gnome2,
4403 dnl [ --enable-gnome2 Gnome2 support (default disabled)])
4404 dnl if test "${enable_gnome2}" = "yes"
4406 dnl PKG_CHECK_MODULES(GNOME2, [libgnomeui-2.0])
4407 dnl VLC_ADD_CFLAGS([gnome2],[${GNOME2_CFLAGS}])
4408 dnl VLC_ADD_LDFLAGS([gnome2],[${GNOME2_LIBS}])
4409 dnl VLC_ADD_PLUGINS([gnome2])
4410 dnl if test "${SYS}" != "mingw32"; then
4411 dnl NEED_GNOME2_MAIN=yes
4416 dnl wxWidgets module
4418 AC_ARG_ENABLE(wxwidgets,
4419 [ --enable-wxwidgets wxWidgets support (default enabled)])
4420 if test "${enable_wxwindows}"
4422 AC_MSG_WARN(--{en|dis}able-wxwindows is deprecated. Use --{en|dis}able-wxwidgets instead.)
4425 if test "${enable_wxwindows}" = "no"
4427 enable_wxwidgets="no"
4429 if test "${enable_wxwidgets}" != "no"
4431 WXWIDGETS_PATH="${PATH}"
4432 AC_ARG_WITH(wx-config-path,
4433 [ --with-wx-config-path=PATH wx-config path (default search in \$PATH)],
4434 [ if test "${with_wx_config_path}" != "no"
4436 WXWIDGETS_PATH="${with_wx_config_path}:${PATH}"
4438 WXWIDGETS_NAME="wx-config"
4439 AC_ARG_WITH(wx-config,
4440 [ --with-wx-config=NAME wx-config name (default is wx-config)],
4441 [ if test "${with_wx_config}" != "no"
4443 WXWIDGETS_NAME="${with_wx_config}"
4445 # look for wx-config
4446 AC_PATH_PROG(WX_CONFIG, ${WXWIDGETS_NAME}, no, ${WXWIDGETS_PATH})
4447 if test "${WX_CONFIG}" != "no" -a "${CXX}" != ""
4449 if expr 2.3.0 \> `${WX_CONFIG} --version` >/dev/null
4451 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.])
4455 # playlist.cpp:1351: error: ISO C++ forbids cast to non-reference type
4456 # into a warning. However better would be to fix playlist.cpp
4457 AC_CACHE_CHECK([if \$CXX accepts -fpermissive],
4458 [ac_cv_cxx_fpermissive],
4459 [CXXFLAGS="${CXXFLAGS_save} -fpermissive"
4460 AC_TRY_COMPILE([],,ac_cv_cxx_fpermissive=yes,
4461 ac_cv_cxx_fpermissive=no)])
4462 if test "${ac_cv_cxx_fpermissive}" = "yes"; then
4463 VLC_ADD_CXXFLAGS([wxwidgets],-fpermissive)
4465 VLC_ADD_LDFLAGS([wxwidgets],[`${WX_CONFIG} --libs`])
4466 VLC_ADD_CXXFLAGS([wxwidgets],[`${WX_CONFIG} --cxxflags`])
4467 if ${WX_CONFIG} --unicode
4469 # wxwidgets should provide the following flags but does not
4470 # the following is required to compile for win32
4471 VLC_ADD_CXXFLAGS([wxwidgets],[-D_UNICODE -DUNICODE])
4473 if test "$have_libcdio" = "yes"
4475 VLC_ADD_LDFLAGS([wxwidgets],[$LIBCDIO_LIBS])
4476 VLC_ADD_CXXFLAGS([wxwidgets],[$LIBCDIO_CFLAGS])
4478 AC_MSG_WARN([Probe disc disabled because ok libcdio library not found])
4481 if test "$have_libvcdinfo" = "yes"
4483 VLC_ADD_LDFLAGS([wxwidgets],[$VCDINFO_LIBS])
4484 VLC_ADD_CXXFLAGS([wxwidgets],[$VCDINFO_CFLAGS])
4486 AC_MSG_WARN([VCD information on Probe disc disabled because ok libvcdinfo not found])
4489 # now look for the wxprec.h header
4490 CPPFLAGS="${CPPFLAGS_save} ${CXXFLAGS_wxwidgets}"
4491 ac_cv_wx_headers=yes
4492 AC_CHECK_HEADERS(wx/wxprec.h, , [
4494 echo "Cannot find wxWidgets development headers."
4496 if test "${ac_cv_wx_headers}" = "yes"
4498 VLC_ADD_PLUGINS([wxwidgets])
4499 ALIASES="${ALIASES} wxvlc"
4501 CPPFLAGS="${CPPFLAGS_save}"
4507 dnl WinCE GUI module
4509 if test "${SYS}" = "mingwce"; then
4510 VLC_ADD_BUILTINS([wince])
4511 VLC_ADD_CXXFLAGS([wince],[])
4512 VLC_ADD_LDFLAGS([wince],[-lcommctrl -lcommdlg -laygshell])
4514 VLC_ADD_LDFLAGS([wince],[\\\${top_builddir}modules/gui/wince/wince_rc.o])
4515 elif test "${SYS}" = "mingw32"; then
4516 VLC_ADD_CXXFLAGS([wince],[])
4517 VLC_ADD_LDFLAGS([wince],[-lcomctl32 -lcomdlg32 -lgdi32 -lole32])
4519 VLC_ADD_LDFLAGS([wince],[\\\${top_builddir}modules/gui/wince/wince_rc.o])
4523 dnl Simple test for skins2 dependency
4525 if test "${enable_skins2}" != "no"
4527 if test "${WX_CONFIG}" = "no"
4529 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.])
4536 dnl AC_ARG_ENABLE(qt,
4537 dnl [ --enable-qt Qt interface support (default disabled)],
4538 dnl [if test "${enable_qt}" = "yes"; then
4539 dnl VLC_ADD_PLUGINS([qt])
4540 dnl ALIASES="${ALIASES} qvlc"
4541 dnl VLC_ADD_LDFLAGS([qt],[-L${QTDIR}/lib])
4542 dnl LDFLAGS="${LDFLAGS_save} ${LDFLAGS_qt}"
4543 dnl AC_CHECK_LIB(qt-mt,main,[
4544 dnl VLC_ADD_LDFLAGS([qt],[-lqt-mt])
4546 dnl AC_CHECK_LIB(qt,main,[
4547 dnl VLC_ADD_LDFLAGS([qt],[-lqt])
4550 dnl LDFLAGS="${LDFLAGS_save}"
4551 dnl VLC_ADD_CXXFLAGS([qt],[-I/usr/include/qt3 -I/usr/include/qt -I${QTDIR}/include])
4552 dnl if test -x ${QTDIR}/bin/moc
4554 dnl MOC=${QTDIR}/bin/moc
4563 dnl AC_ARG_ENABLE(kde,
4564 dnl [ --enable-kde KDE interface support (default disabled)],
4565 dnl [if test "${enable_kde}" = "yes"; then
4566 dnl VLC_ADD_PLUGINS([kde])
4567 dnl ALIASES="${ALIASES} kvlc"
4568 dnl VLC_ADD_LDFLAGS([kde],[-L${KDEDIR}/lib])
4569 dnl dnl Check for -lkfile (only in KDE 2) or -lkdeui -lkio (KDE 3)
4570 dnl LDFLAGS="${LDFLAGS_save} ${LDFLAGS_kde}"
4571 dnl AC_CHECK_LIB(kfile,main,[
4572 dnl VLC_ADD_LDFLAGS([kde],[-lkfile])
4574 dnl LDFLAGS="${LDFLAGS_save} ${LDFLAGS_kde}"
4575 dnl AC_CHECK_LIB(kdeui,main,[
4576 dnl VLC_ADD_LDFLAGS([kde],[-lkdeui])
4578 dnl LDFLAGS="${LDFLAGS_save} ${LDFLAGS_kde}"
4579 dnl AC_CHECK_LIB(kio,main,[
4580 dnl VLC_ADD_LDFLAGS([kde],[-lkio])
4582 dnl LDFLAGS="${LDFLAGS_save}"
4583 dnl VLC_ADD_CXXFLAGS([kde],[-I/usr/include/kde -I/usr/include/qt3 -I/usr/include/qt])
4584 dnl VLC_ADD_CXXFLAGS([kde],[-I${KDEDIR}/include -I${QTDIR}/include])
4585 dnl if test -x ${QTDIR}/bin/moc
4587 dnl MOC=${QTDIR}/bin/moc
4594 dnl Opie QT embedded module
4597 [ --enable-opie Qt embedded interface support (default disabled)],
4598 [if test "${enable_opie}" = "yes"; then
4600 [ --with-qte=PATH Qt Embedded headers and libraries])
4601 if test "${with_qte}" != "no" -a -n "${with_qte}"
4603 VLC_ADD_LDFLAGS([qte],[-L${with_qte}/lib `echo -L${with_qte}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte])
4604 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])
4606 VLC_ADD_LDFLAGS([qte],[-L${QTDIR}/lib `echo -L${QTDIR}/lib | sed 's,opt/QtPalmtop,usr,'`])
4607 VLC_ADD_CXXFLAGS([qte],[-I${QTDIR}/include `echo -I${QTDIR}/include | sed 's,opt/QtPalmtop,usr,'`])
4609 CPPFLAGS="${CPPFLAGS_save} ${CXXFLAGS_qte}"
4610 AC_CHECK_HEADERS(qt.h jpeglib.h, ,[
4611 AC_MSG_ERROR([echo "Cannot find QT Embedded development headers."])
4613 CPPFLAGS="${CPPFLAGS_save}"
4615 VLC_ADD_PLUGINS([opie])
4617 VLC_ADD_LDFLAGS([opie],[-lqpe ${LDFLAGS_qte}])
4618 VLC_ADD_CXXFLAGS([opie],[${CXXFLAGS_qte}])
4619 if test "${with_qte}" != "no" -a -n "${with_qte}"
4621 MOC=${with_qte}/bin/moc
4623 MOC=${QTDIR}/bin/moc
4630 AC_ARG_ENABLE(macosx,
4631 [ --enable-macosx MacOS X support (default enabled on MacOS X)],
4632 [if test "${enable_macosx}" = "yes"
4634 VLC_ADD_BUILTINS([macosx])
4635 VLC_ADD_LDFLAGS([macosx],[-framework IOKit -framework Cocoa -framework Carbon -framework QuickTime -lobjc -ObjC -framework OpenGL])
4637 [AC_CHECK_HEADERS(Cocoa/Cocoa.h,
4638 VLC_ADD_BUILTINS([macosx])
4639 VLC_ADD_LDFLAGS([macosx],[-framework IOKit -framework Cocoa -framework Carbon -framework QuickTime -lobjc -ObjC -framework OpenGL])
4646 [ --enable-qnx QNX RTOS support (default enabled on QNX RTOS)])
4647 if test "${enable_qnx}" != "no"
4649 AC_CHECK_HEADERS(Ph.h, [
4650 VLC_ADD_PLUGINS([qnx])
4651 VLC_ADD_LDFLAGS([qnx],[-lasound -lph])
4658 AC_ARG_ENABLE(ncurses,
4659 [ --enable-ncurses ncurses interface support (default disabled)],
4660 [if test "${enable_ncurses}" = "yes"; then
4661 VLC_ADD_PLUGINS([ncurses])
4662 VLC_ADD_LDFLAGS([ncurses],[-lncurses])
4669 [ --enable-xosd xosd interface support (default disabled)])
4670 if test "${enable_xosd}" = "yes"
4672 AC_CHECK_HEADER(xosd.h, have_xosd="true", have_xosd="false")
4673 AC_CHECK_LIB(xosd,xosd_set_offset,
4674 AC_DEFINE(HAVE_XOSD_VERSION_1, 1, Define if <xosd.h> is 1.0.x),
4675 AC_CHECK_LIB(xosd,xosd_set_horizontal_offset,
4676 AC_DEFINE(HAVE_XOSD_VERSION_2, 1, Define if <xosd.h> is 2.0.x),
4677 AC_TRY_COMPILE([#include <xosd.h>],
4678 [void foo() { xosd_init("foo","bar",12,XOSD_top,2,12,42); }],,
4679 AC_DEFINE(HAVE_XOSD_VERSION_0, 1, Define if <xosd.h> is pre-1.0.0))))
4680 if test "${have_xosd}" = "true"
4682 VLC_ADD_PLUGINS([xosd])
4683 VLC_ADD_LDFLAGS([xosd],[-lxosd])
4688 dnl Visualisation plugin
4690 AC_ARG_ENABLE(visual,
4691 [ --enable-visual visualisation plugin (default enabled)])
4692 if test "${enable_visual}" != "no"
4694 VLC_ADD_PLUGINS([visual])
4698 dnl OpenGL visualisation plugin
4700 AC_ARG_ENABLE(galaktos,
4701 [ --enable-galaktos OpenGL visualisation plugin (default disabled)])
4702 if test "${enable_galaktos}" = "yes"
4704 AC_CHECK_HEADERS(GL/gl.h, [
4705 VLC_ADD_PLUGINS([galaktos])
4706 if test "${SYS}" != "mingw32"; then
4707 VLC_ADD_LDFLAGS([galaktos],[${X_LIBS} -lGL -lGLU])
4709 VLC_ADD_LDFLAGS([galaktos],[-lopengl32])
4715 dnl goom visualization plugin
4718 [ --enable-goom goom visualisation plugin (default disabled)])
4719 if test "${enable_goom}" = "yes"
4721 AC_ARG_WITH(goom-tree,
4722 [ --with-goom-tree=PATH goom tree for static linking (required)])
4725 dnl test for --with-goom-tree
4727 if test "${with_goom_tree}" != "no" -a -n "${with_goom_tree}"; then
4728 AC_MSG_CHECKING(for libgoom2.a in ${with_goom_tree})
4729 real_goom_tree="`cd ${with_goom_tree} 2>/dev/null && pwd`"
4730 if test -z "${real_goom_tree}"; then
4731 dnl The given directory can't be found
4733 AC_MSG_ERROR([cannot cd to ${with_goom_tree}])
4735 if test -f "${real_goom_tree}/src/.libs/libgoom2.a"; then
4736 AC_MSG_RESULT(${real_goom_tree}/src/.libs/libgoom2.a)
4737 VLC_ADD_BUILTINS([goom])
4738 VLC_ADD_LDFLAGS([goom],[-L${real_goom_tree}/src/.libs -lgoom2])
4739 VLC_ADD_CPPFLAGS([goom],[-I${real_goom_tree}/src -DUSE_GOOM_TREE])
4741 dnl The given libgoom2 wasn't built, try to look for the old goom
4743 AC_MSG_CHECKING(for libgoom.a in ${with_goom_tree})
4744 if test -f "${real_goom_tree}/libgoom.a"; then
4745 AC_MSG_RESULT(${real_goom_tree}/libgoom.a)
4746 VLC_ADD_BUILTINS([goom])
4747 VLC_ADD_LDFLAGS([goom],[-L${real_goom_tree} -lgoom])
4748 VLC_ADD_CPPFLAGS([goom],[-I${real_goom_tree} -DUSE_GOOM_TREE -DOLD_GOOM])
4750 dnl The given libgoom wasn't built
4752 AC_MSG_ERROR([cannot find ${real_goom_tree}/src/.libs/libgoom2.a, make sure you compiled goom in ${with_goom_tree}])
4756 AC_CHECK_HEADERS(goom/goom.h, [
4757 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_goom}"
4758 AC_CHECK_LIB(goom2, goom_init, [
4759 VLC_ADD_PLUGINS([goom])
4760 VLC_ADD_LDFLAGS([goom],[-lgoom2])
4762 AC_MSG_ERROR([Could not find goom on your system: you may get it from http://www.ios-software.com/.])
4764 LDFLAGS="${LDFLAGS_save}"
4770 dnl DAAP access plugin and services discovery
4773 [ --enable-daap DAAP shares services discovery support (default enabled)])
4774 if test "$enable_daap" != "no"
4776 PKG_CHECK_MODULES(DAAP, opendaap >= 0.3.0,
4777 [ VLC_ADD_PLUGINS([daap])
4778 VLC_ADD_LDFLAGS([daap],[$DAAP_LIBS])
4779 VLC_ADD_CFLAGS([daap],[$DAAP_CFLAGS])]:,
4780 [AC_MSG_WARN(DAAP library not found)])
4784 dnl Bonjour services discovery
4786 AC_ARG_ENABLE(bonjour,
4787 [ --enable-bonjour Bonjour services discovery (default enabled)])
4788 if test "${enable_bonjour}" != "no"
4790 PKG_CHECK_MODULES(BONJOUR, avahi-client >= 0.3,
4791 [PKG_CHECK_MODULES(BONJOUR, avahi-client >= 0.6,
4792 [AC_DEFINE(HAVE_AVAHI_06, [], [Define if you have avahi-client 0.6 or greater])],)
4793 AC_DEFINE(HAVE_AVAHI_CLIENT, [], [Define if you have the avahi-client library])
4794 VLC_ADD_LDFLAGS([bonjour access_output_http],[$BONJOUR_LIBS])
4795 VLC_ADD_CFLAGS([bonjour access_output_http],[$BONJOUR_CFLAGS])
4796 VLC_ADD_PLUGINS([bonjour]) ],
4797 [AC_MSG_WARN(avahi-client library not found)])
4804 [ --enable-lirc lirc support (default disabled)])
4805 if test "${enable_lirc}" = "yes"
4807 AC_CHECK_HEADER(lirc/lirc_client.h, AC_CHECK_LIB(lirc_client, lirc_init, have_lirc="true", have_lirc="false"),have_lirc="false")
4808 if test "${have_lirc}" = "true"
4810 VLC_ADD_PLUGINS([lirc])
4811 VLC_ADD_LDFLAGS([lirc],[-llirc_client])
4817 dnl corba (ORBit) plugin
4819 dnl Default: do not enable corba
4821 AC_ARG_ENABLE(corba,
4822 [ --enable-corba corba interface support (default disabled)])
4823 if test "${enable_corba}" = "yes"; then
4825 PKG_CHECK_MODULES(CORBA,
4826 ORBit-2.0 >= 2.8.0 \
4827 glib-2.0 >= $GLIB_VERSION \
4828 gobject-2.0 >= $GLIB_VERSION \
4829 gthread-2.0 >= $GLIB_VERSION,
4832 VLC_ADD_LDFLAGS([corba],[$CORBA_LIBS])
4833 VLC_ADD_CFLAGS([corba],[$CORBA_CFLAGS])
4834 VLC_ADD_PLUGINS([corba snapshot]) ],
4836 AC_MSG_WARN(corba library not found) ])
4838 AM_CONDITIONAL(ENABLE_CORBA, test "$enablecorba" = "true")
4840 AC_ARG_WITH(,[Misc options:])
4843 dnl Endianness check, AC_C_BIGENDIAN doesn't work if we are cross-compiling
4845 dnl We give the user the opportunity to specify
4846 dnl --with-words=big or --with-words=little ; otherwise, try to guess
4849 [ --with-words=endianness set endianness (big or little)])
4850 case "${with_words}" in
4852 ac_cv_c_bigendian=yes
4855 ac_cv_c_bigendian=no
4858 dnl Try to guess endianness by matching patterns on a compiled
4859 dnl binary, by looking for an ASCII or EBCDIC string
4860 AC_CACHE_CHECK([whether the byte order is big-endian],
4861 [ac_cv_c_bigendian],
4862 [ac_cv_c_bigendian="unknown"
4863 [cat >conftest.c <<EOF
4864 short am[] = { 0x4249, 0x4765, 0x6e44, 0x6961, 0x6e53, 0x7953, 0 };
4865 short ai[] = { 0x694c, 0x5454, 0x656c, 0x6e45, 0x6944, 0x6e61, 0 };
4866 void _a(void) { char*s = (char*)am; s = (char *)ai; }
4867 short ei[] = { 0x89D3, 0xe3e3, 0x8593, 0x95c5, 0x89c4, 0x9581, 0 };
4868 short em[] = { 0xc2c9, 0xc785, 0x95c4, 0x8981, 0x95e2, 0xa8e2, 0 };
4869 void _e(void) { char*s = (char*)em; s = (char*)ei; }
4870 int main(void) { _a(); _e(); return 0; }
4873 if test -f conftest.c
4875 if ${CC-cc} -c conftest.c -o conftest.o >>config.log 2>&1 \
4876 && test -f conftest.o
4878 if test "`strings conftest.o | grep BIGenDianSyS`"
4880 ac_cv_c_bigendian="yes"
4882 if test "`strings conftest.o | grep LiTTleEnDian`"
4884 ac_cv_c_bigendian="no"
4889 if test "${ac_cv_c_bigendian}" = "unknown"
4891 AC_MSG_ERROR([Could not guess endianness, please use --with-words])
4895 dnl Now we know what to use for endianness, just put it in the header
4896 if test "${ac_cv_c_bigendian}" = "yes"
4898 AC_DEFINE(WORDS_BIGENDIAN, 1, big endian system)
4902 dnl DLL loader copied from MPlayer copied from somewhere else (WINE ?)
4905 AC_ARG_ENABLE(loader,
4906 [ --enable-loader build DLL loader for ELF i386 platforms (default disabled)])
4907 AM_CONDITIONAL(LOADER, [test "${enable_loader}" = "yes"])
4908 AS_IF([test "${enable_loader}" = "yes"],
4909 [ VLC_ADD_PLUGINS([dmo quicktime])
4910 VLC_ADD_CPPFLAGS([dmo],[-I../../../@top_srcdir@/loader])
4911 VLC_ADD_LDFLAGS([dmo],[../../../loader/libloader.a])
4912 VLC_ADD_CPPFLAGS([quicktime],[-I../../@top_srcdir@/loader])
4913 VLC_ADD_LDFLAGS([quicktime],[../../loader/libloader.a])
4914 VLC_ADD_CPPFLAGS([realaudio],[-I../../@top_srcdir@/loader -DLOADER])
4915 VLC_ADD_LDFLAGS([realaudio],[../../loader/libloader.a])
4919 dnl Microsoft ActiveX support
4922 AC_ARG_ENABLE(activex,
4923 [ --enable-activex build a vlc-based ActiveX control (default enabled on Win32)])
4924 if test "${enable_activex}" != "no"
4926 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
4928 AC_CHECK_PROGS(MIDL, [midl widl], no)
4930 AC_CHECK_HEADERS(ole2.h olectl.h,
4931 [ VLC_ADD_CXXFLAGS([activex],[-fno-exceptions])
4932 VLC_ADD_LDFLAGS([activex],[-lole32 -loleaut32 -luuid -lshlwapi])
4933 AC_CHECK_HEADERS(objsafe.h,
4934 VLC_ADD_CXXFLAGS([activex],[-DHAVE_OBJSAFE_HEADER]),,
4941 [ AC_MSG_ERROR([required OLE headers are missing from your system]) ]
4946 AC_ARG_VAR(MIDL, [Microsoft IDL compiler (Win32 platform only)])
4947 AM_CONDITIONAL(HAS_MIDL_COMPILER, test "${MIDL}" != "no")
4948 AM_CONDITIONAL(BUILD_ACTIVEX,${activex})
4954 AC_ARG_ENABLE(mozilla,
4955 [ --enable-mozilla build a vlc-based Mozilla plugin (default disabled)])
4956 AC_ARG_WITH(mozilla-sdk-path,
4957 [ --with-mozilla-sdk-path=PATH path to mozilla sdk])
4959 if test "${enable_mozilla}" = "yes"
4961 if test "${with_mozilla_sdk_path}" = ""
4963 AC_PATH_PROG(MOZILLA_CONFIG, mozilla-config, no)
4964 if test "${MOZILLA_CONFIG}" = "no"
4966 AC_MSG_ERROR([Please install the Mozilla development tools, mozilla-config was not found.])
4968 if test "${SYS}" != "mingw32"; then
4969 LDFLAGS="${LDFLAGS_save} ${X_LIBS} ${X_PRE_LIBS}"
4970 AC_CHECK_LIB(Xt,XtStrings,
4971 [VLC_ADD_LDFLAGS([mozilla],[${X_LIBS} ${X_PRE_LIBS} -lXt -lX11 -lSM -lICE])],
4973 [[${X_LIBS} ${X_PRE_LIBS} -lX11 -lSM -lICE]
4975 LDFLAGS="${LDFLAGS_save}"
4978 dnl Workaround for http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=150490
4979 VLC_ADD_CPPFLAGS([mozilla],[[`${MOZILLA_CONFIG} --cflags plugin xpcom java | sed 's,-I\([^ ]*\)/mozilla/\([^ ]*\),-I\1/\2 -I\1/mozilla/\2,g' | xargs`]])
4980 VLC_ADD_LDFLAGS([mozilla],[`${MOZILLA_CONFIG} --libs plugin xpcom`])
4981 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_mozilla}"
4982 AC_CHECK_HEADERS(mozilla-config.h)
4983 CPPFLAGS="${CPPFLAGS_save}"
4984 XPIDL_INCL="`${MOZILLA_CONFIG} --cflags plugin xpcom java` \
4985 `${MOZILLA_CONFIG} --idlflags plugin xpcom java` "
4986 xpidl_path="`${MOZILLA_CONFIG} --prefix`/bin"
4989 dnl special case for mingw32
4990 if test "${SYS}" = "mingw32"
4992 AC_CHECK_TOOL(CYGPATH, cygpath, "")
4993 dnl latest gecko sdk does not have an xpcom directory
4994 if test -d "${with_mozilla_sdk_path}/xpcom"; then
4995 mozilla_sdk_xpcom="/xpcom"
4999 real_mozilla_sdk="`cd ${with_mozilla_sdk_path} 2>/dev/null && pwd`"
5000 CPPFLAGS="${CPPFLAGS_save} -I${real_mozilla_sdk} -I${real_mozilla_sdk}/include"
5001 AC_CHECK_HEADERS(mozilla-config.h, [
5003 VLC_ADD_CPPFLAGS([mozilla],[-DXPCOM_GLUE -DHAVE_CPP_MODERN_SPECIALIZE_TEMPLATE_SYNTAX -I${real_mozilla_sdk} -I${real_mozilla_sdk}/include -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])
5004 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 -L${real_mozilla_sdk}/lib -lnspr4 -lplds4 -lplc4 -lxpcomglue])
5005 if test "${SYS}" = "mingw32"; then
5006 LDFLAGS="${LDFLAGS_save}"
5007 dnl latest gecko sdk does not have embedstring
5008 if test -d "${real_mozilla_sdk}/embedstring/bin"
5010 VLC_ADD_LDFLAGS([mozilla],[-lembedstring -Wl,--kill-at])
5014 XPIDL_INCL="-I${real_mozilla_sdk}${mozilla_sdk_xpcom}/idl"
5015 xpidl_path="${real_mozilla_sdk}${mozilla_sdk_xpcom}/bin"
5017 if test -n "${CYGPATH}"; then
5018 real_mozilla_sdk="`${CYGPATH} -w ${real_mozilla_sdk}`"
5019 XPIDL_INCL="${XPIDL_INCL} -I\"${real_mozilla_sdk}${mozilla_sdk_xpcom}/idl\""
5021 CPPFLAGS="${CPPFLAGS_save}"
5024 if test "${mozilla}" != "false"
5027 AC_PATH_PROG(XPIDL, xpidl, no, ${xpidl_path} /usr/lib/mozilla)
5028 if test "${XPIDL}" = "no"; then
5029 AC_MSG_ERROR([Please install the Mozilla development tools, xpidl was not found.])
5033 AM_CONDITIONAL(BUILD_MOZILLA,${mozilla})
5036 dnl Mediacontrol Python bindings
5038 AC_ARG_ENABLE(mediacontrol-python-bindings,
5039 [ --enable-mediacontrol-python-bindings Enable Python bindings for MediaControl (default disabled)])
5040 dnl TODO: look for python dev headers
5041 AM_CONDITIONAL(BUILD_PYTHON, [test "${enable_mediacontrol_python_bindings}" = "yes"])
5042 if test "${enable_mediacontrol_python_bindings}" = "yes"
5050 AC_ARG_ENABLE(java-bindings,
5051 [ --enable-java-bindings Enable Java bindings (default disabled)])
5052 AM_CONDITIONAL(BUILD_JAVA, [test "${enable_java_bindings}" = "yes"])
5053 if test "${enable_java_bindings}" = "yes"
5062 AC_ARG_ENABLE(testsuite,
5063 [ --enable-testsuite build test modules (default disabled)])
5064 if test "${enable_testsuite}" = "yes"
5066 TESTS="test1 test2 test3 test4"
5068 dnl we define those so that bootstrap sets the right linker
5069 VLC_ADD_CXXFLAGS([test2],[])
5070 VLC_ADD_OBJCFLAGS([test3],[])
5071 dnl this one is needed until automake knows what to do
5072 VLC_ADD_LDFLAGS([test3],[-lobjc])
5074 VLC_ADD_PLUGINS([${TESTS}])
5075 #VLC_ADD_BUILTINS([${TESTS}])
5081 if test "${NEED_GTK_MAIN}" != "no"
5083 VLC_ADD_PLUGINS([gtk_main])
5084 VLC_ADD_CFLAGS([gtk_main],[${CFLAGS_gtk}])
5085 VLC_ADD_LDFLAGS([gtk_main],[${LDFLAGS_gtk}])
5088 if test "${NEED_GNOME_MAIN}" != "no"
5090 VLC_ADD_PLUGINS([gnome_main])
5091 VLC_ADD_CFLAGS([gnome_main],[${CFLAGS_gtk} ${CFLAGS_gnome}])
5092 VLC_ADD_LDFLAGS([gnome_main],[${LDFLAGS_gtk} ${LDFLAGS_gnome}])
5095 if test "${NEED_GTK2_MAIN}" != "no"
5097 VLC_ADD_PLUGINS([gtk2_main])
5098 VLC_ADD_CFLAGS([gtk2],[-DNEED_GTK2_MAIN])
5099 VLC_ADD_CFLAGS([pda],[-DNEED_GTK2_MAIN])
5100 VLC_ADD_CFLAGS([gtk2_main],[${CFLAGS_gtk2} ${CFLAGS_pda}])
5101 VLC_ADD_LDFLAGS([gtk2_main],[${LDFLAGS_gtk2} ${LDFLAGS_pda}])
5104 if test "${NEED_GNOME2_MAIN}" != "no"
5106 VLC_ADD_PLUGINS([gnome2_main])
5107 VLC_ADD_CFLAGS([gnome2_main],[${CFLAGS_gtk2} ${CFLAGS_gnome2}])
5108 VLC_ADD_LDFLAGS([gnome2_main],[${LDFLAGS_gtk2} ${LDFLAGS_gnome2}])
5114 if test "${NEED_QTE_MAIN}" != "no"
5116 VLC_ADD_PLUGINS([qte_main])
5117 VLC_ADD_CXXFLAGS([opie qte qt_video],[-DNEED_QTE_MAIN])
5118 VLC_ADD_CXXFLAGS([qte_main],[${CXXFLAGS_qte} ${CXXFLAGS_qt_video}])
5119 VLC_ADD_LDFLAGS([qte_main],[${LDFLAGS_qte} ${LDFLAGS_qt_video}])
5124 dnl Plugin and builtin checks
5126 builtin_support=false
5129 dnl Support for plugins - this must be AT THE END
5130 AC_ARG_ENABLE(plugins,
5131 [ --disable-plugins make all plugins built-in (default plugins enabled)],
5132 [if test "${enable_plugins}" = "no"
5134 plugin_support=false
5137 dnl Automagically disable plugins if there is no system support for
5138 dnl dynamically loadable files (.so, .dll, .dylib).
5139 dnl don't forget vlc-win32 still can load .dll as plugins
5140 if test "${ac_cv_have_plugins}" = "no"
5142 echo "*** Your system doesn't have plugin support. All plugins will be built"
5144 plugin_support=false
5147 dnl Export automake variables
5148 if ${plugin_support}
5150 AC_DEFINE(HAVE_DYNAMIC_PLUGINS, 1, Define if we have support for dynamic plugins)
5151 for plugin in `echo ${PLUGINS}`
5153 eval "${plugin}_p=yes"
5156 VLC_ADD_BUILTINS([${PLUGINS}])
5159 AM_CONDITIONAL(HAVE_PLUGINS, ${plugin_support})
5161 [if echo "${BUILTINS}" | grep '[^ ]' >/dev/null 2>&1
5164 for builtin in `echo ${BUILTINS}`
5166 eval "${builtin}_b=yes"
5169 AM_CONDITIONAL(HAVE_BUILTINS, ${builtin_support})
5172 dnl Pic and shared libvlc stuff
5174 AM_CONDITIONAL(BUILD_SHARED, [test "${shared_libvlc}" != "no"])
5175 AM_CONDITIONAL(BUILD_PIC, [test "${build_pic}" = "yes" -o "${shared_libvlc}" != "no"] )
5176 AS_IF([test "${shared_libvlc}" != "no"], [
5177 AC_DEFINE(HAVE_SHARED_LIBVLC, 1, [Define to 1 if libvlc is built as a shared library.])
5181 AS_IF([test "${shared_libvlc}" != "no" -o "${build_pic}" = "yes"], [pic=pic])
5182 AS_IF([test "${SYS}" = "mingw32"], [pic=no])
5183 AS_IF([test "${pic}" = "no"], [pic=])
5186 dnl Import conditional variables generated by bootstrap
5190 dnl Stuff used by the program
5192 AC_DEFINE_UNQUOTED(VERSION_MESSAGE, "${VERSION} ${CODENAME}", [Simple version string])
5193 AC_DEFINE_UNQUOTED(COPYRIGHT_MESSAGE, "VLC media player - version ${VERSION} ${CODENAME} - (c) 1996-2006 the VideoLAN team", [Copyright string])
5194 AC_DEFINE_UNQUOTED(CONFIGURE_LINE, "${CONFIGURE_LINE}", [The ./configure command line])
5195 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MAJOR,"${VERSION_MAJOR}", [version major number])
5196 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MINOR,"${VERSION_MINOR}", [version minor number])
5197 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_REVISION,"${VERSION_REVISION}", [version minor number])
5198 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_EXTRA,"${VERSION_EXTRA}", [version minor number])
5199 AC_SUBST(VERSION_MAJOR)
5200 AC_SUBST(VERSION_MINOR)
5201 AC_SUBST(VERSION_REVISION)
5202 AC_DEFINE_UNQUOTED(VLC_COMPILE_BY, "`whoami`", [user who ran configure])
5203 AC_DEFINE_UNQUOTED(VLC_COMPILE_HOST, "`hostname`", [host which ran configure])
5204 AC_DEFINE_UNQUOTED(VLC_COMPILE_DOMAIN, "`dnsdomainname 2>/dev/null || domainname 2>/dev/null || echo unknown`", [domain of the host which ran configure])
5205 AC_DEFINE_UNQUOTED(VLC_COMPILER, "`$CC -v 2>&1 | tail -n 1`", [compiler])
5207 dnl Old definitions for version-dependant plugins
5208 dnl VLC_SYMBOL="`echo ${VERSION} | sed -e 'y/.-+/___/'`"
5209 dnl AC_DEFINE_UNQUOTED(MODULE_SUFFIX, "__${VLC_SYMBOL}", [String suffix for module functions])
5210 dnl AC_DEFINE_UNQUOTED(MODULE_SYMBOL, ${VLC_SYMBOL}, [Symbol suffix for module functions])
5212 dnl New definitions with value matching 0.8.4 release
5213 module_symbol="0_8_4"
5214 AC_DEFINE_UNQUOTED(MODULE_SUFFIX, "__${module_symbol}", [String suffix for module functions])
5215 AC_DEFINE_UNQUOTED(MODULE_SYMBOL, $module_symbol, [Symbol suffix for module functions])
5216 VLC_ENTRY="vlc_entry__${module_symbol}"
5220 dnl Handle substvars that use $(top_srcdir)
5222 VLC_CONFIG="top_builddir=\"\$(top_builddir)\" \$(top_builddir)/vlc-config"
5223 AC_SUBST(VLC_CONFIG)
5224 CPPFLAGS_save="${CPPFLAGS_save} -I\$(top_srcdir)/include"
5232 dnl Create the vlc-config script
5234 LDFLAGS_libvlc="${LDFLAGS_vlc} ${LDFLAGS_builtin}"
5235 for i in `echo "${BUILTINS}" | sed -e 's@[^ ]*/@@g'` ; do LDFLAGS_libvlc="${LDFLAGS_libvlc} ${libdir}/vlc/${i}.a `eval echo '$'{LDFLAGS_${i}}`" ; done
5238 dnl Configuration is finished
5247 AC_SUBST(XPIDL_INCL)
5250 AC_SUBST(ALL_LINGUAS)
5251 AC_SUBST(MACOSX_DEPLOYMENT_TARGET)
5253 dnl Import substitutions generated by bootstrap
5256 dnl Create vlc-config.in
5257 VLC_OUTPUT_VLC_CONFIG_IN
5264 bindings/java/Makefile
5265 bindings/mediacontrol-python/Makefile
5280 modules/access/Makefile
5281 modules/access/dshow/Makefile
5282 modules/access/dvb/Makefile
5283 modules/access/mms/Makefile
5284 modules/access/pvr/Makefile
5285 modules/access/v4l/Makefile
5286 modules/access/cdda/Makefile
5287 modules/access/rtsp/Makefile
5288 modules/access/vcd/Makefile
5289 modules/access/vcdx/Makefile
5290 modules/access/screen/Makefile
5291 modules/access_filter/Makefile
5292 modules/access_output/Makefile
5293 modules/audio_filter/Makefile
5294 modules/audio_filter/channel_mixer/Makefile
5295 modules/audio_filter/converter/Makefile
5296 modules/audio_filter/resampler/Makefile
5297 modules/audio_mixer/Makefile
5298 modules/audio_output/Makefile
5299 modules/codec/Makefile
5300 modules/codec/cmml/Makefile
5301 modules/codec/dmo/Makefile
5302 modules/codec/ffmpeg/Makefile
5303 modules/codec/spudec/Makefile
5304 modules/control/Makefile
5305 modules/control/http/Makefile
5306 modules/control/corba/Makefile
5307 modules/demux/Makefile
5308 modules/demux/asf/Makefile
5309 modules/demux/avi/Makefile
5310 modules/demux/mp4/Makefile
5311 modules/demux/mpeg/Makefile
5312 modules/demux/playlist/Makefile
5313 modules/demux/util/Makefile
5314 modules/gui/Makefile
5315 modules/gui/beos/Makefile
5316 modules/gui/pda/Makefile
5317 modules/gui/macosx/Makefile
5318 modules/gui/qnx/Makefile
5319 modules/gui/skins2/Makefile
5320 modules/gui/wxwidgets/Makefile
5321 modules/gui/wince/Makefile
5322 modules/misc/Makefile
5323 modules/misc/dummy/Makefile
5324 modules/misc/memcpy/Makefile
5325 modules/misc/network/Makefile
5326 modules/misc/testsuite/Makefile
5327 modules/misc/playlist/Makefile
5328 modules/misc/xml/Makefile
5329 modules/mux/Makefile
5330 modules/mux/mpeg/Makefile
5331 modules/packetizer/Makefile
5332 modules/services_discovery/Makefile
5333 modules/stream_out/Makefile
5334 modules/stream_out/transrate/Makefile
5335 modules/video_chroma/Makefile
5336 modules/video_filter/Makefile
5337 modules/video_filter/swscale/Makefile
5338 modules/video_output/Makefile
5339 modules/video_output/directx/Makefile
5340 modules/video_output/qte/Makefile
5341 modules/video_output/x11/Makefile
5342 modules/visualization/Makefile
5343 modules/visualization/visual/Makefile
5344 modules/visualization/galaktos/Makefile
5347 dnl Generate makefiles
5350 # Cannot use AC_CONFIG_FILES([vlc-config]) as is automatically built,
5351 # not provided with the source
5352 ${SHELL} ./config.status --file=vlc-config
5353 chmod 0755 vlc-config
5355 dnl echo "Enabled builtin modules :"
5356 dnl for a in `./vlc-config --target builtin` ; do echo $a; done | sed -e 's,modules\/\(.*\)\/lib\(.*\)\.a,\2 (\1),'
5358 dnl echo "Enabled plugin modules :"
5359 dnl for a in `./vlc-config --target plugin` ; do echo $a; done | sed -e 's,modules\/\(.*\)\/lib\(.*\)_plugin,\2 (\1),'
5361 dnl Shortcut to nice compile message
5363 echo '#! /bin/sh' >compile
5364 echo "PATH=$PATH LANG=C make \$* 2>&1| ${srcdir}/extras/make.pl" >>compile
5369 --------------------
5370 vlc version : ${VERSION}
5372 architecture : ${ARCH}
5374 test "${enable_debug}" = "yes" && printf "debug "
5375 test "${enable_cprof}" = "yes" && printf "cprof "
5376 test "${enable_gprof}" = "yes" && printf "gprof "
5377 test "${enable_optimizations}" = "yes" && printf "optim "
5378 test "${enable_release}" = "yes" && printf "release " || printf "devel "
5380 vlc aliases :${ALIASES}
5382 You can tune the compiler flags in vlc-config.
5383 To build vlc and its plugins, type \`./compile' or \`make'.