1 dnl Autoconf settings for vlc
13 AC_CONFIG_SRCDIR(src/libvlc.c)
14 AC_CONFIG_AUX_DIR(autotools)
17 dnl XXX: we don't put any flags here, because automake 1.5 doesn't support
18 dnl them. And we need the comma otherwize automake will choke on it.
19 AM_INIT_AUTOMAKE(vlc,0.8.5-svn)
20 AM_CONFIG_HEADER(config.h)
22 dnl Too many people are not aware of maintainer mode:
23 dnl If you want to use it, you definitely know what you are doing, so
24 dnl you can specify "--disable-maintainer-mode". But if you want the default
25 dnl automake behavior, you've likely never heard of maintainer mode, so we
26 dnl can't expect you to enable it manually.
28 AS_IF([test "x${enable_maintainer_mode}" != "xno"],
29 [enable_maintainer_mode="yes"])
46 eval "${CXX} --version" >/dev/null 2>&1 || CXX=""
47 if test "${CXX}" != ""; then
54 dnl AC_PROG_EGREP only exists in autoconf 2.54+, so we use AC_EGREP_CPP right
55 dnl now otherwise it might be set in an obscure if statement.
58 dnl AC_PROG_OBJC doesn't seem to exist, this is the KDE workaround
59 AC_MSG_CHECKING(for an Objective-C compiler)
62 OBJCFLAGS="${CXXFLAGS} -fgnu-runtime -fconstant-string-class=NSConstantString"
64 dnl _AM_DEPENDENCIES(OBJC) doesn't work, so hard code OBJCDEPMODE here
65 #OBJCDEPMODE="depmode=gcc3"
66 #AC_SUBST(OBJCDEPMODE)
67 _AM_DEPENDENCIES(OBJC)
68 AC_MSG_RESULT(not implemented yet)
70 dnl Find the right ranlib, even when cross-compiling
71 AC_CHECK_TOOL(RANLIB, ranlib, :)
72 AC_CHECK_TOOL(STRIP, strip, :)
73 AC_CHECK_TOOL(AR, ar, :)
74 AC_CHECK_TOOL(LD, ld, :)
81 AC_ARG_ENABLE(libtool,
82 [ --enable-libtool use libtool (default disabled, EXPERIMENTAL)],
83 [],[enable_libtool="no"])
84 AM_CONDITIONAL(USE_LIBTOOL, [test "${enable_libtool}" != "no"])
86 dnl Check for compiler properties
91 dnl Check for the contrib directory
94 [ --without-contrib do not use the libraries in extras/contrib],[],[])
95 if test "${with_contrib}" != "no"; then
98 if test "`echo \"$topdir\" | cut -c 1`" != "/"; then
99 topdir="`pwd`/$topdir"
102 if test -d ${topdir}/extras/contrib/lib; then
103 export PATH=${topdir}/extras/contrib/bin:$PATH
104 CPPFLAGS="${CPPFLAGS} -I${topdir}/extras/contrib/include"
105 CPPFLAGS_save="${CPPFLAGS_save} -I${topdir}/extras/contrib/include"
106 CFLAGS="${CFLAGS} -I${topdir}/extras/contrib/include"
107 CFLAGS_save="${CFLAGS_save} -I${topdir}/extras/contrib/include"
108 CXXFLAGS="${CXXFLAGS} -I${topdir}/extras/contrib/include"
109 CXXFLAGS_save="${CXXFLAGS_save} -I${topdir}/extras/contrib/include"
110 OBJCFLAGS="${OBJCFLAGS} -I${topdir}/extras/contrib/include"
111 OBJCFLAGS_save="${OBJCFLAGS_save} -I${topdir}/extras/contrib/include"
112 if test $build = $host -o $PKG_CONFIG_LIBDIR; then
113 export PKG_CONFIG_PATH=${topdir}/extras/contrib/lib/pkgconfig:$PKG_CONFIG_PATH
115 export PKG_CONFIG_LIBDIR=${topdir}/extras/contrib/lib/pkgconfig
117 if test -d ${topdir}/extras/contrib/vlc-lib; then
118 LDFLAGS="${LDFLAGS} -L${topdir}/extras/contrib/vlc-lib"
119 LDFLAGS_save="${LDFLAGS_save} -L${topdir}/extras/contrib/vlc-lib"
121 LDFLAGS="${LDFLAGS} -L${topdir}/extras/contrib/lib"
122 LDFLAGS_save="${LDFLAGS_save} -L${topdir}/extras/contrib/lib"
124 dnl kludge because only the debian package provides a ffmpeg-config
125 if test -z $with_ffmpeg_config_path; then
126 with_ffmpeg_config_path=${topdir}/extras/contrib/bin;
128 if test -z $with_livedotcom_tree; then
129 with_livedotcom_tree=${topdir}/extras/contrib/src/live
131 if test -z $with_goom_tree; then
132 with_goom_tree=${topdir}/extras/contrib/src/goom
135 if test ".`uname -s`" = ".Darwin"; then
136 export LD_LIBRARY_PATH=${topdir}/extras/contrib/lib:$LD_LIBRARY_PATH
137 export DYLD_LIBRARY_PATH=${topdir}/extras/contrib/lib:$DYLD_LIBRARY_PATH
138 elif test ".`uname -s`" = ".BeOS"; then
139 export LIBRARY_PATH=${topdir}/extras/contrib/lib:$LIBRARY_PATH
140 export BELIBRARIES=${topdir}/extras/contrib/lib:$BELIBRARIES
145 dnl Set default values
147 LDFLAGS_vlc="${LDFLAGS}"
150 dnl Check the operating system
152 case "${target_os}" in
161 CFLAGS_save="${CFLAGS_save} -pthread"; CFLAGS="${CFLAGS_save}"
162 VLC_ADD_LDFLAGS([dvd dvdcss vcd cdda vcdx cddax],[-ldvd])
166 CFLAGS_save="${CFLAGS_save} -pthread"; CFLAGS="${CFLAGS_save}"
167 case "${target_os}" in
169 CPPFLAGS_save="${CPPFLAGS_save} -I/usr/local/include"
170 CPPFLAGS="${CPPFLAGS_save}"
171 LDFLAGS_save="${LDFLAGS_save} -L/usr/local/lib"
172 LDFLAGS="${LDLFAGS_save}"
179 CFLAGS_save="${CFLAGS_save} -no-cpp-precomp -D_INTL_REDIRECT_MACROS"; CFLAGS="${CFLAGS_save}"
180 CXXFLAGS_save="${CXXFLAGS_save} -no-cpp-precomp -D_INTL_REDIRECT_MACROS"; CXXFLAGS="${CXXFLAGS_save}"
181 OBJCFLAGS_save="${OBJCFLAGS_save} -no-cpp-precomp -D_INTL_REDIRECT_MACROS"; OBJCFLAGS="${OBJCFLAGS_save}"
182 VLC_ADD_LDFLAGS([vlc ffmpeg ffmpegaltivec],[-all_load])
183 VLC_ADD_LDFLAGS([mp4], [-framework IOKit -framework CoreFoundation])
184 VLC_ADD_CFLAGS([libvlc],[-x objective-c])
185 VLC_ADD_CFLAGS([vlc],[-x objective-c])
186 VLC_ADD_LDFLAGS([vlc],[-Wl,-m -Wl,-multiply_defined -Wl,suppress])
190 CFLAGS_save="${CFLAGS_save} -D_INTL_REDIRECT_MACROS"; CFLAGS="${CFLAGS_save}"
191 CXXFLAGS_save="${CXXFLAGS_save} -D_INTL_REDIRECT_MACROS"; CXXFLAGS="${CXXFLAGS_save}"
192 OBJCFLAGS_save="${OBJCFLAGS_save} -D_INTL_REDIRECT_MACROS"; OBJCFLAGS="${OBJCFLAGS_save}"
193 VLC_ADD_LDFLAGS([mp4], [-framework IOKit -framework CoreFoundation])
194 VLC_ADD_CFLAGS([libvlc],[-x objective-c])
195 VLC_ADD_CFLAGS([vlc],[-x objective-c])
197 *mingw32* | *cygwin* | *wince* | *mingwce* | *pe*)
198 AC_CHECK_TOOL(WINDRES, windres, :)
200 case "${target_os}" in
205 dnl Check if we are using the mno-cygwin mode in which case we are
206 dnl actually dealing with a mingw32 compiler.
211 SYS=mingw32, SYS=cygwin)
213 *wince* | *mingwce* | *pe*)
218 if test "${SYS}" = "mingw32"; then
219 # add ws2_32 for closesocket, select, recv
220 CPPFLAGS_save="${CPPFLAGS_save} -D_OFF_T_ -D_off_t=long"; CPPFLAGS="${CPPFLAGS_save}"
221 VLC_ADD_LDFLAGS([vlc],[-lws2_32 -lnetapi32 -lwinmm -mwindows])
222 VLC_ADD_LDFLAGS([cdda vcdx cddax],[-lwinmm])
223 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])
225 if test "${SYS}" = "mingwce"; then
226 # add ws2 for closesocket, select, recv
227 CPPFLAGS_save="${CPPFLAGS_save} -D_OFF_T_ -D_off_t=long"; CPPFLAGS="${CPPFLAGS_save}"
228 VLC_ADD_CPPFLAGS([vlc],[-Dmain(a,b)=maince(a,b)])
229 VLC_ADD_LDFLAGS([vlc],[-lws2 -e WinMainCRTStartup])
230 VLC_ADD_LDFLAGS([ipv4 ipv6 access_http access_mms access_udp access_tcp access_ftp access_output_udp sap http netsync],[-lws2])
235 VLC_ADD_LDFLAGS([x11 xvideo],[-lsocket])
239 # _POSIX_PTHREAD_SEMANTICS is needed to get the POSIX ctime_r
240 # Perhaps it is useful other places as well?
241 CFLAGS_save="${CFLAGS_save} -D_POSIX_PTHREAD_SEMANTICS"; CFLAGS="${CFLAGS_save}"
248 CFLAGS_save="${CFLAGS_save} -Wno-multichar"; CFLAGS="${CFLAGS_save}"
249 CXXFLAGS_save="${CXXFLAGS_save} -Wno-multichar"; CXXFLAGS="${CXXFLAGS_save}"
250 VLC_ADD_CXXFLAGS([beos],[])
251 VLC_ADD_LDFLAGS([vlc beos logger],[-lbe])
252 VLC_ADD_LDFLAGS([beos],[-lmedia -ltranslation -ltracker -lgame])
255 if test -f /boot/beos/system/lib/libbind.so; then
256 VLC_ADD_LDFLAGS([access_file access_ftp access_mms access_output_udp telnet netsync sap ipv4 vlc growl],[-lbind -lsocket])
258 VLC_ADD_LDFLAGS([access_file access_ftp access_mms access_output_udp telnet netsync sap ipv4 vlc growl],[-lnet])
261 dnl Ugly check for Zeta
262 if test -f /boot/beos/system/lib/libzeta.so; then
263 VLC_ADD_LDFLAGS([beos],[-lzeta])
270 AM_CONDITIONAL(HAVE_BEOS, test "${SYS}" = "beos")
271 AM_CONDITIONAL(HAVE_DARWIN, test "${SYS}" = "darwin")
272 AM_CONDITIONAL(HAVE_WIN32, test "${SYS}" = "mingw32")
273 AM_CONDITIONAL(HAVE_WINCE, test "${SYS}" = "mingwce")
276 dnl Check for Mac OS X SDK settings
278 AC_ARG_WITH(macosx-sdk,
279 [ --with-macosx-sdk compile for Mac OS X 10.3 SDK],[], with_macosx_sdk=no)
280 if test "${with_macosx_sdk}" != "no" ; then
281 CFLAGS_save="${CFLAGS_save} -DMACOSX_DEPLOYMENT_TARGET=10.3 -isysroot /Developer/SDKs/MacOSX10.3.9.sdk"; CFLAGS="${CFLAGS_save}"
282 CXXFLAGS_save="${CXXFLAGS_save} -DMACOSX_DEPLOYMENT_TARGET=10.3 -isysroot /Developer/SDKs/MacOSX10.3.9.sdk"; CXXFLAGS="${CXXFLAGS_save}"
283 OBJCFLAGS_save="${OBJCFLAGS_save} -DMACOSX_DEPLOYMENT_TARGET=10.3 -isysroot /Developer/SDKs/MacOSX10.3.9.sdk"; OBJCFLAGS="${OBJCFLAGS_save}"
284 LDFLAGS_save="${LDFLAGS_save} -isysroot /Developer/SDKs/MacOSX10.3.9.sdk -Wl,-syslibroot,/Developer/SDKs/MacOSX10.3.9.sdk"; LDFLAGS="${LDFLAGS_save}"
285 export MACOSX_DEPLOYMENT_TARGET=10.3
286 MACOSX_DEPLOYMENT_TARGET="10.3"
292 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"
293 AM_GNU_GETTEXT_VERSION(0.11.5)
295 if test "${nls_cv_force_use_gnu_gettext}" = "yes"; then
296 AC_DEFINE(HAVE_INCLUDED_GETTEXT, 1, Define if we use the local libintl)
297 INCLUDES="${INCLUDES} -I\$(top_builddir)/intl"
298 AS_IF([test "${enable_libtool}" != "no"], [
299 INCLUDED_LIBINTL="${LTLIBINTL}"
301 INCLUDED_LIBINTL="${LIBINTL}"
304 VLC_ADD_LDFLAGS([vlc],[${LIBINTL}])
307 AC_SUBST(INCLUDED_LIBINTL)
308 XGETTEXT="${XGETTEXT} --keyword=_NS --keyword=_ANS"
313 if test "${SYS}" != "mingwce"; then
314 AS_IF([test "$am_cv_func_iconv" != "yes"],
315 [AC_MSG_ERROR([libiconv is needed for VLC to work properly])])
317 VLC_ADD_CFLAGS([vlc],[${INCICONV}])
318 AS_IF([test "${enable_libtool}" != "no"], [
319 VLC_ADD_LDFLAGS([vlc],[${LIBICONV}])
321 VLC_ADD_LDFLAGS([vlc],[${LTLIBICONV}])
324 dnl Check for the need to include the mingwex lib for mingw32
325 if test "${SYS}" = "mingw32"
327 AC_CHECK_LIB(mingwex,opendir,
328 AC_CHECK_LIB(mingw32,opendir,VLC_ADD_LDFLAGS([vlc],[]),
329 [VLC_ADD_LDFLAGS([vlc gtk],[-lmingwex])])
333 dnl Check for fnative-struct or mms-bitfields support for mingw32
334 if test "${SYS}" = "mingw32"
336 AC_CACHE_CHECK([if \$CC accepts -mms-bitfields],
337 [ac_cv_c_mms_bitfields],
338 [CFLAGS="${CFLAGS_save} -mms-bitfields"
339 AC_TRY_COMPILE([],,ac_cv_c_mms_bitfields=yes, ac_cv_c_mms_bitfields=no)])
340 if test "${ac_cv_c_mms_bitfields}" != "no"; then
341 CFLAGS_save="${CFLAGS_save} -mms-bitfields";
342 CXXFLAGS_save="${CXXFLAGS_save} -mms-bitfields";
344 AC_CACHE_CHECK([if \$CC accepts -fnative-struct],
345 [ac_cv_c_fnative_struct],
346 [CFLAGS="${CFLAGS_save} -fnative-struct"
347 AC_TRY_COMPILE([],,ac_cv_c_fnative_struct=yes, ac_cv_c_fnative_struct=no)])
348 if test "${ac_cv_c_fnative_struct}" != "no"; then
349 CFLAGS_save="${CFLAGS_save} -fnative-struct";
350 CXXFLAGS_save="${CXXFLAGS_save} -fnative-struct";
354 CFLAGS="${CFLAGS_save}"; CXXFLAGS="${CXXFLAGS_save}"
357 dnl Check for fvtable-thunks support for mingw32
358 if test "${SYS}" = "mingw32" -a "${CXX}" != ""
361 AC_CACHE_CHECK([if \$CXX accepts -fvtable-thunks],
362 [ac_cv_cxx_fvtable_thunks],
363 [CXXFLAGS="${CXXFLAGS_save} -Wall -Werror -fvtable-thunks"
364 AC_TRY_COMPILE([],,ac_cv_cxx_fvtable_thunks=yes,
365 ac_cv_cxx_fvtable_thunks=no)])
366 if test "${ac_cv_cxx_fvtable_thunks}" = "yes"; then
367 CXXFLAGS_mingw32_special="-fvtable-thunks"
370 CXXFLAGS_save="${CXXFLAGS_save} ${CXXFLAGS_mingw32_special}"; CXXFLAGS="${CXXFLAGS_save}"
374 dnl Plugin compilation stuff
381 AS_IF([test "${enable_libtool}" = "no"], [
384 VLC_ADD_CFLAGS([pic plugin mozilla activex],[${CFLAGS_mingw32_special}])
385 VLC_ADD_CXXFLAGS([pic plugin mozilla activex],[${CFLAGS_mingw32_special} ${CXXFLAGS_mingw32_special}])
386 VLC_ADD_OBJCFLAGS([pic plugin mozilla activex],[${CFLAGS_mingw32_special}])
391 VLC_ADD_CFLAGS([pic plugin mozilla],[-fpic -fPIC])
392 VLC_ADD_CXXFLAGS([pic plugin mozilla],[-fpic -fPIC])
393 VLC_ADD_OBJCFLAGS([pic plugin mozilla],[-fpic -fPIC])
394 VLC_ADD_LDFLAGS([plugin mozilla],[-fpic -fPIC])
399 dnl The -DSYS_FOO flag
400 CPPFLAGS_save="${CPPFLAGS_save} -DSYS_`echo ${SYS} | sed -e 's/-.*//' | tr 'abcdefghijklmnopqrstuvwxyz.' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`"; CPPFLAGS="${CPPFLAGS_save}"
402 dnl Check for system libs needed
405 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)
407 dnl Check for usual libc functions
408 AC_CHECK_FUNCS(strdup strndup atof)
409 AC_CHECK_FUNCS(strcasecmp,,[AC_CHECK_FUNCS(stricmp)])
410 AC_CHECK_FUNCS(strncasecmp,,[AC_CHECK_FUNCS(strnicmp)])
411 AC_CHECK_FUNCS(strcasestr,,[AC_CHECK_FUNCS(stristr)])
413 dnl Check for setlocal and langinfo
414 AC_CHECK_FUNCS(setlocale)
415 AC_CHECK_HEADERS(langinfo.h)
416 AC_CHECK_FUNCS(nl_langinfo)
418 AC_CACHE_CHECK([for nl_langinfo and CODESET], ac_cv_langinfo_codeset,
419 [AC_TRY_LINK([#include <langinfo.h>],
420 [char* cs = nl_langinfo(CODESET);],
421 ac_cv_langinfo_codeset=yes,
422 ac_cv_langinfo_codeset=no)
424 if test ${ac_cv_langinfo_codeset} = yes; then
425 AC_DEFINE(HAVE_LANGINFO_CODESET, 1,
426 [Define if you have <langinfo.h> and nl_langinfo(CODESET).])
429 AC_CHECK_FUNCS(connect,,[
430 AC_CHECK_LIB(socket,connect,[
431 VLC_ADD_LDFLAGS([vlc ipv4 ipv6 cdda cddax],-lsocket)
435 AC_CHECK_FUNCS(send,,[
436 AC_CHECK_LIB(socket,send,[
437 VLC_ADD_LDFLAGS([access_http access_mms access_udp access_tcp access_ftp sap access_output_udp stream_out_standard growl],[-lsocket])
441 AC_CHECK_FUNCS(gethostbyname,,[
442 AC_CHECK_LIB(nsl,gethostbyname,[
443 VLC_ADD_LDFLAGS([cdda cddax ipv4 ipv6 vlc],[-lnsl])
445 AC_CHECK_LIB(bind,gethostbyname,[
446 VLC_ADD_LDFLAGS([ipv4 access_mms],[-lbind])
451 dnl Check for socklen_t
452 AC_CACHE_CHECK([for socklen_t], ac_cv_type_socklen_t,
454 [#include <sys/types.h>
455 #include <sys/socket.h>],
456 [socklen_t len = 42; return len;],
457 ac_cv_type_socklen_t=yes,
458 ac_cv_type_socklen_t=no)])
459 if test "${ac_cv_type_socklen_t}" != "no"; then
460 AC_DEFINE(HAVE_SOCKLEN_T, 1, [Define if <sys/socket.h> defines socklen_t.])
463 dnl Check for struct sockaddr_storage
464 AH_TEMPLATE(sockaddr_storage, [Define to `sockaddr' if <sys/socket.h> does not define.])
465 AH_TEMPLATE(ss_family, [Define to `sa_family' if <sys/socket.h> does not define.])
466 AC_CACHE_CHECK([for struct sockaddr_storage], ac_cv_struct_sockaddr_storage,
468 [#include <sys/types.h>
469 #if defined( UNDER_CE )
470 # include <winsock.h>
471 #elif defined( WIN32 )
472 # include <winsock2.h>
474 # include <sys/socket.h>
475 #endif], [struct sockaddr_storage addr;],
476 ac_cv_struct_sockaddr_storage=yes,
477 ac_cv_struct_sockaddr_storage=no)])
478 AS_IF([test "${ac_cv_struct_sockaddr_storage}" = no], [
479 AC_DEFINE(sockaddr_storage, sockaddr)
480 AC_DEFINE(ss_family, sa_family)
483 dnl getaddrinfo, getnameinfo and gai_strerror check
484 dnl -lnsl and -lsocket are needed on Solaris;
485 dnl we purposedly make the test fail on Windows
487 AC_CHECK_FUNCS([getaddrinfo], [
490 LIBS="${LIBS} -lnsl -lsocket"
491 AC_CHECK_FUNCS([getaddrinfo], [
494 LIBS_gai="${LIBS_save}"
498 dnl NOTE: we assume getaddrinfo will be present if getnameinfo or gai_strerro
501 AC_CHECK_FUNCS([getnameinfo gai_strerror])
504 AH_TEMPLATE(HAVE_ADDRINFO, [Define to `1' if <netdb.h> defines struct addrinfo.])
505 AC_CHECK_TYPES([struct addrinfo],[AC_DEFINE(HAVE_ADDRINFO)],,
506 [#include <sys/types.h>
507 #if defined( WIN32 ) || defined( UNDER_CE )
508 # if defined(UNDER_CE) && defined(sockaddr_storage)
509 # undef sockaddr_storage
511 # include <winsock2.h>
512 # include <ws2tcpip.h>
517 dnl Check for va_copy
518 AC_CACHE_CHECK([for va_copy], ac_cv_c_va_copy,
520 [#include <stdarg.h>],
521 [va_list ap1, ap2; va_copy(ap1,ap2);],
522 [ac_cv_c_va_copy="yes"],
523 [ac_cv_c_va_copy="no"]))
524 if test "${ac_cv_c_va_copy}" = "yes"; then
525 AC_DEFINE(HAVE_VA_COPY, 1, [Define if <stdarg.h> defines va_copy.])
527 AC_CACHE_CHECK([for __va_copy], ac_cv_c___va_copy,
529 [#include <stdarg.h>],
530 [va_list ap1, ap2; __va_copy(ap1,ap2);],
531 [ac_cv_c___va_copy="yes"],
532 [ac_cv_c___va_copy="no"]))
533 if test "${ac_cv_c___va_copy}" = "yes"; then
534 AC_DEFINE(HAVE___VA_COPY, 1, [Define if <stdarg.h> defines __va_copy.])
537 AC_CHECK_FUNCS(inet_aton,,[
538 AC_CHECK_LIB(resolv,inet_aton,[
539 VLC_ADD_LDFLAGS([ipv4 vlc],[-lresolv])
543 dnl Check for getopt (always use builtin one on win32)
544 if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"; then
548 AC_CHECK_FUNCS(getopt_long,[AC_DEFINE(HAVE_GETOPT_LONG,1,long getopt support)],
549 [ # FreeBSD has a gnugetopt library for this:
550 AC_CHECK_LIB([gnugetopt],[getopt_long],
551 [AC_DEFINE(HAVE_GETOPT_LONG,1,getopt support)
552 VLC_ADD_LDFLAGS([vlc],[-lgnugetopt])],
555 AM_CONDITIONAL(BUILD_GETOPT, ${need_getopt})
557 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
560 VLC_ADD_LDFLAGS([adjust distort a52tofloat32 dtstofloat32 x264 goom],[-lm])
563 VLC_ADD_LDFLAGS([ffmpeg ffmpegaltivec stream_out_transrate i420_rgb faad twolame equalizer param_eq vlc freetype mpc],[-lm])
565 AC_CHECK_LIB(m,sqrt,[
566 VLC_ADD_LDFLAGS([headphone_channel_mixer normvol speex],[-lm])
568 AC_CHECK_LIB(mx,sqrtf,[
569 VLC_ADD_LDFLAGS([x264],[-lmx])
571 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
573 dnl Check for dynamic plugins
574 ac_cv_have_plugins=no
577 AC_CHECK_HEADERS(mach-o/dyld.h,
578 [AC_CHECK_FUNCS(NSLinkModule,
579 [AC_DEFINE(HAVE_DL_DYLD, 1, [Define if you have the Darwin dyld API])
580 ac_cv_have_plugins=yes])])
583 if test "${ac_cv_have_plugins}" = "no"; then
584 AC_CHECK_HEADERS(dl.h)
585 ac_cv_my_have_shl_load=no
586 AC_CHECK_FUNC(shl_load,
587 [ac_cv_my_have_shl_load=yes,
588 AC_CHECK_LIB(dld, shl_load,
589 [ac_cv_my_have_shl_load=yes
590 VLC_ADD_LDFLAGS([vlc],[-ldld])])])
591 if test "${ac_cv_my_have_shl_load}" = "yes"; then
592 AC_DEFINE(HAVE_DL_SHL_LOAD, 1, [Define if you have the shl_load API])
593 ac_cv_have_plugins=yes
598 if test "${ac_cv_have_plugins}" = "no"; then
599 AC_CHECK_LIB(dld, dld_link,
600 [VLC_ADD_LDFLAGS([vlc],[-ldld])
601 AC_DEFINE(HAVE_DL_DLD_LINK, 1, [Define if you have the GNU dld library])
602 ac_cv_have_plugins=yes])
606 if test "${ac_cv_have_plugins}" = "no"; then
607 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"; then
608 AC_CHECK_LIB(kernel32, main,
609 [VLC_ADD_LDFLAGS([vlc],[-lkernel32])
610 AC_DEFINE(HAVE_DL_WINDOWS, 1, [Define if you have Windows' LoadLibrary])
611 ac_cv_have_plugins=yes])
616 if test "${ac_cv_have_plugins}" = "no"; then
617 if test "${SYS}" = "mingwce"; then
618 AC_DEFINE(HAVE_DL_WINDOWS, 1, [Define if you have Windows' LoadLibrary])
619 ac_cv_have_plugins=yes
624 if test "${ac_cv_have_plugins}" = "no"; then
625 AC_CHECK_HEADERS(image.h)
626 AC_CHECK_FUNCS(load_add_on,
627 [AC_DEFINE(HAVE_DL_BEOS, 1, [Define if you have the BeOS dl])
628 ac_cv_have_plugins=yes])
631 # Only test for dlopen() if the others didn't work
632 if test "${ac_cv_have_plugins}" = "no"; then
633 AC_CHECK_HEADERS(dlfcn.h sys/dl.h)
634 ac_cv_my_have_dlopen=no
635 AC_CHECK_FUNC(dlopen,
636 ac_cv_my_have_dlopen=yes,
637 AC_CHECK_LIB(dl, dlopen,
638 ac_cv_my_have_dlopen=yes
639 VLC_ADD_LDFLAGS([vlc],[-ldl]),
640 AC_CHECK_LIB(svld, dlopen,
641 ac_cv_my_have_dlopen=yes
642 VLC_ADD_LDFLAGS([vlc],[-lsvld]))))
643 if test "${ac_cv_my_have_dlopen}" = "yes"; then
644 AC_DEFINE(HAVE_DL_DLOPEN, 1, [Define if you have the dlopen API])
645 ac_cv_have_plugins=yes
649 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
650 dnl Check for pthreads - borrowed from XMMS
652 if test "${THREAD_LIB}" = "error"; then
653 AC_CHECK_LIB(pthread,main,THREAD_LIB="-lpthread")
655 if test "${THREAD_LIB}" = "error"; then
656 AC_CHECK_LIB(pthreads,main,THREAD_LIB="-lpthreads")
658 if test "${THREAD_LIB}" = "error"; then
659 AC_CHECK_LIB(c_r,main,THREAD_LIB="-lc_r")
661 if test "${THREAD_LIB}" = "error"; then
662 AC_CHECK_FUNCS(pthread_mutex_lock)
666 dnl Check for cthreads under GNU/Hurd for instance
667 AC_CHECK_LIB(threads,cthread_fork,THREAD_LIB="-lthreads")
670 dnl GNU portable threads
673 [ --enable-pth GNU Pth support (default disabled)],
674 [ if test "${enable_pth}" = "yes"; then
675 AC_CHECK_LIB(pth,pth_init)
676 AC_MSG_CHECKING(for pth_init in pth.h)
677 AC_EGREP_HEADER(pth_init,pth.h,[
679 AC_DEFINE(PTH_INIT_IN_PTH_H, 1,
680 Define if <pth.h> defines pth_init)
692 [ --enable-st State Threads (default disabled)],
693 [ if test "${enable_st}" = "yes"; then
694 AC_CHECK_LIB(st,st_init)
695 AC_MSG_CHECKING(for st_init in st.h)
696 AC_EGREP_HEADER(st_init,st.h,[
698 AC_DEFINE(ST_INIT_IN_ST_H, 1,
699 Define if <st.h> defines st_init)
707 VLC_ADD_LDFLAGS([vlc plugin],[${THREAD_LIB}])
709 dnl Don't link with rt when using GNU-pth
710 if test "${THREAD_LIB}" != "-lpth" && test "${THREAD_LIB}" != "-lst"; then
712 AC_CHECK_LIB(rt,sem_init, [VLC_ADD_LDFLAGS([vlc],[-lrt])])
715 AC_CHECK_FUNCS(nanosleep,have_nanosleep=:,[
716 AC_CHECK_LIB(rt,nanosleep,
717 [VLC_ADD_LDFLAGS([vlc],[-lrt]) have_nanosleep=:],
718 [AC_CHECK_LIB(posix4,nanosleep,
719 [VLC_ADD_LDFLAGS([vlc],[-lposix4]) have_nanosleep=:])]
722 if ${have_nanosleep}; then
723 AC_DEFINE(HAVE_NANOSLEEP, 1,
724 Define if nanosleep is available.)
728 dnl Check for misc headers
729 AC_MSG_CHECKING(for pthread_cond_t in pthread.h)
730 AC_EGREP_HEADER(pthread_cond_t,pthread.h,[
732 AC_DEFINE(PTHREAD_COND_T_IN_PTHREAD_H, 1,
733 Define if <pthread.h> defines pthread_cond_t.)],[
736 AC_MSG_CHECKING(for pthread_once in pthread.h)
737 AC_EGREP_HEADER(pthread_once,pthread.h,[
739 AC_DEFINE(PTHREAD_ONCE_IN_PTHREAD_H, 1,
740 Define if <pthread.h> defines pthread_once.)],[
742 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
744 AC_MSG_CHECKING(for strncasecmp in strings.h)
745 AC_EGREP_HEADER(strncasecmp,strings.h,[
747 AC_DEFINE(STRNCASECMP_IN_STRINGS_H, 1,
748 Define if <strings.h> defines strncasecmp.)],[
751 dnl Check for headers
752 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)
753 AC_CHECK_HEADERS(sys/sockio.h fcntl.h sys/types.h sys/time.h sys/times.h sys/ioctl.h sys/stat.h)
754 AC_CHECK_HEADERS(arpa/inet.h net/if.h netinet/in.h sys/socket.h)
755 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
756 AC_CHECK_HEADERS(machine/param.h sys/shm.h)
757 AC_CHECK_HEADERS(linux/version.h)
758 AC_CHECK_HEADERS(syslog.h)
759 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
765 AC_CHECK_HEADERS(dirent.h,,[need_dirent=:])
766 AM_CONDITIONAL(BUILD_DIRENT, ${need_dirent})
768 dnl Mac OS X and other OSes don't have declaration for nanosleep
769 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
770 AC_MSG_CHECKING(for nanosleep in time.h)
771 AC_EGREP_HEADER(nanosleep,time.h,[
773 AC_DEFINE(HAVE_DECL_NANOSLEEP, 1,
774 Define if <time.h> defines nanosleep.)
778 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
780 dnl Make sure we have timespecs
781 AC_MSG_CHECKING(for timespec in sys/time.h)
782 AC_EGREP_HEADER(timespec,sys/time.h,[
784 AC_DEFINE(HAVE_STRUCT_TIMESPEC, 1,
785 Define if <sys/time.h> defines struct timespec.)
790 dnl Check for threads library
791 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
792 AC_CHECK_HEADERS(cthreads.h pthread.h kernel/scheduler.h kernel/OS.h)
793 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
795 dnl Find where are the X headers and libraries
798 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.
800 PKG_PROG_PKG_CONFIG()
804 [ --enable-hal Linux HAL services discovery (default enabled)])
806 if test "${enable_hal}" != "no" -a "${SYS}" = "linux"
808 PKG_CHECK_MODULES(HAL, hal >= 0.5.0,
809 [ AC_DEFINE( HAVE_HAL_1, [] , [Define if you have the new HAL library API])
810 AC_DEFINE( HAVE_HAL, [], [Define if you have the HAL library] )
811 VLC_ADD_PLUGINS([hal])
812 VLC_ADD_LDFLAGS([vlc hal],[$HAL_LIBS])
813 VLC_ADD_CFLAGS([vlc hal],[$HAL_CFLAGS])],
814 dnl No hal 0.5 Test for 0.2
815 [ PKG_CHECK_MODULES( HAL, hal >= 0.2.97,
816 [AC_DEFINE(HAVE_HAL, [], [Define if you have the HAL library])
817 VLC_ADD_PLUGINS([hal])
818 VLC_ADD_LDFLAGS([vlc hal],[$HAL_LIBS])
819 VLC_ADD_CFLAGS([vlc hal],[$HAL_CFLAGS])],
820 [AC_MSG_WARN(HAL library not found)])
825 dnl Build the gtk_main plugins?
831 dnl build the qte plugin ?
834 dnl Check for ntohl, etc.
835 AC_CACHE_CHECK([for ntohl in sys/param.h],
836 [ac_cv_c_ntohl_sys_param_h],
837 [CFLAGS="${CFLAGS_save} -Wall -Werror"
838 AC_TRY_COMPILE([#include <sys/param.h>],
839 [void foo() { int meuh; ntohl(meuh); }],
840 ac_cv_c_ntohl_sys_param_h=yes, ac_cv_c_ntohl_sys_param_h=no)])
841 if test "${ac_cv_c_ntohl_sys_param_h}" != "no"; then
842 AC_DEFINE(NTOHL_IN_SYS_PARAM_H, 1, Define if <sys/param.h> defines ntohl.)
845 # XXX: do this with an M4 macro?
846 #dnl Check for various -W flags
847 #for flag in "" all unreachable-code conversion sign-compare disabled-optimization
849 # AC_CACHE_CHECK([if \$CC accepts -W${flag}],
850 # [ac_cv_c_W${flag}],
851 # [CFLAGS="-W${flag} ${CFLAGS_save}"
852 # AC_TRY_COMPILE([],,ac_cv_c_W${flag}=yes, ac_cv_c_W${flag}=no)])
853 # if test "${ac_cv_c_W${flag}}" != "no"; then
854 # CFLAGS_save="-W${flag} ${CFLAGS_save}"; CFLAGS="${CFLAGS_save}"
855 # CXXFLAGS_save="-W${flag} ${CFLAGS_save}"; CXXFLAGS="${CXXFLAGS_save}"
856 # OBJCFLAGS_save="-W${flag} ${OBJCFLAGS_save}"; OBJCFLAGS="${OBJCFLAGS_save}"
860 AC_CACHE_CHECK([if \$CC accepts -Wall],
862 [CFLAGS="-Wall ${CFLAGS_save}"
863 AC_TRY_COMPILE([],,ac_cv_c_Wall=yes, ac_cv_c_Wall=no)])
865 AC_CACHE_CHECK([if \$CC accepts -Wconversion],
866 [ac_cv_c_Wconversion],
867 [CFLAGS="-Wconversion ${CFLAGS_save}"
868 AC_TRY_COMPILE([],,ac_cv_c_Wconversion=yes, ac_cv_c_Wconversion=no)])
870 AC_CACHE_CHECK([if \$CC accepts -Wunreachable-code],
871 [ac_cv_c_Wunreachable_code],
872 [CFLAGS="-Wunreachable-code ${CFLAGS_save}"
873 AC_TRY_COMPILE([],,ac_cv_c_Wunreachable_code=yes, ac_cv_c_Wunreachable_code=no)])
875 AC_CACHE_CHECK([if \$CC accepts -Wsign-compare],
876 [ac_cv_c_Wsign_compare],
877 [CFLAGS="-Wsign-compare ${CFLAGS_save}"
878 AC_TRY_COMPILE([],,ac_cv_c_Wsign_compare=yes, ac_cv_c_Wsign_compare=no)])
880 if test "${ac_cv_c_Wall}" != "no"; then
881 CFLAGS_save="-Wall ${CFLAGS_save}"; CFLAGS="${CFLAGS_save}"
882 CXXFLAGS_save="-Wall ${CFLAGS_save}"; CXXFLAGS="${CXXFLAGS_save}"
883 OBJCFLAGS_save="-Wall ${OBJCFLAGS_save}"; OBJCFLAGS="${OBJCFLAGS_save}"
886 if test "${ac_cv_c_Wsign_compare}" != "no"; then
887 CFLAGS_save="-Wsign-compare ${CFLAGS_save}"; CFLAGS="${CFLAGS_save}"
888 CXXFLAGS_save="-Wsign-compare ${CFLAGS_save}"; CXXFLAGS="${CXXFLAGS_save}"
889 OBJCFLAGS_save="-Wsign-compare ${OBJCFLAGS_save}"; OBJCFLAGS="${OBJCFLAGS_save}"
893 AC_CACHE_CHECK([if \$CC accepts -pipe],
895 [CFLAGS="${CFLAGS_save} -pipe"
896 AC_TRY_COMPILE([],,ac_cv_c_pipe=yes, ac_cv_c_pipe=no)])
897 if test "${ac_cv_c_pipe}" != "no"; then
898 CFLAGS_save="${CFLAGS_save} -pipe"; CFLAGS="${CFLAGS_save}"
899 CXXFLAGS_save="${CXXFLAGS_save} -pipe"; CXXFLAGS="${CXXFLAGS_save}"
900 OBJCFLAGS_save="${OBJCFLAGS_save} -pipe"; OBJCFLAGS="${OBJCFLAGS_save}"
903 dnl Check for various optimization flags
904 AC_CACHE_CHECK([if \$CC accepts -Os],
906 [CFLAGS="${CFLAGS_save} -Os"
907 AC_TRY_COMPILE([],,ac_cv_c_os=yes, ac_cv_c_os=no)])
908 if test "${ac_cv_c_os}" != "no" -a "${target_cpu}" = "mipsel"; then
909 CFLAGS_OPTIM="${CFLAGS_OPTIM} -Os"
912 AC_CACHE_CHECK([if \$CC accepts -O3],
914 [CFLAGS="${CFLAGS_save} -O3"
915 AC_TRY_COMPILE([],,ac_cv_c_o3=yes, ac_cv_c_o3=no)])
916 if test "${ac_cv_c_o3}" != "no" -a "${target_cpu}" != "mipsel"; then
917 CFLAGS_OPTIM="${CFLAGS_OPTIM} -O3"
920 AC_CACHE_CHECK([if \$CC accepts -O2],
922 [CFLAGS="${CFLAGS_save} -O2"
923 AC_TRY_COMPILE([],,ac_cv_c_o2=yes, ac_cv_c_o2=no)])
924 if test "${ac_cv_c_o2}" != "no" -a "${target_cpu}" != "mipsel"; then
925 if test "${ac_cv_c_o3}" = "no"; then
926 CFLAGS_OPTIM="${CFLAGS_OPTIM} -O2"
928 CFLAGS_NOOPTIM="${CFLAGS_NOOPTIM} -O2"
930 AC_CACHE_CHECK([if \$CC accepts -O],
932 [CFLAGS="${CFLAGS_save} -O"
933 AC_TRY_COMPILE([],,ac_cv_c_o=yes, ac_cv_c_o=no)])
934 if test "${ac_cv_c_o}" != "no" -a "${target_cpu}" != "mipsel"; then
935 if test "${ac_cv_c_o3}" = "no"; then
936 CFLAGS_OPTIM="${CFLAGS_OPTIM} -O"
938 CFLAGS_NOOPTIM="${CFLAGS_NOOPTIM} -O"
942 dnl Check for -ffast-math
943 AC_CACHE_CHECK([if \$CC accepts -ffast-math],
945 [CFLAGS="${CFLAGS_save} -ffast-math"
946 AC_TRY_COMPILE([],,ac_cv_c_fast_math=yes, ac_cv_c_fast_math=no)])
947 if test "${ac_cv_c_fast_math}" != "no"; then
948 CFLAGS_OPTIM="${CFLAGS_OPTIM} -ffast-math"
951 dnl Check for -funroll-loops
952 dnl Disabled on BeOS because BeOS' gcc is buggy and may crash with it
953 if test "${SYS}" != "beos"
955 AC_CACHE_CHECK([if \$CC accepts -funroll-loops],
956 [ac_cv_c_unroll_loops],
957 [CFLAGS="${CFLAGS_save} -funroll-loops"
958 AC_TRY_COMPILE([],,ac_cv_c_unroll_loops=yes, ac_cv_c_unroll_loops=no)])
959 if test "${ac_cv_c_unroll_loops}" != "no"; then
960 CFLAGS_OPTIM="${CFLAGS_OPTIM} -funroll-loops"
964 dnl Check for -fomit-frame-pointer
965 AC_CACHE_CHECK([if \$CC accepts -fomit-frame-pointer],
966 [ac_cv_c_omit_frame_pointer],
967 [CFLAGS="${CFLAGS_save} -fomit-frame-pointer"
968 AC_TRY_COMPILE([],,ac_cv_c_omit_frame_pointer=yes, ac_cv_c_omit_frame_pointer=no)])
969 if test "${ac_cv_c_omit_frame_pointer}" != "no"; then
970 CFLAGS_OPTIM_NODEBUG="${CFLAGS_OPTIM_NODEBUG} -fomit-frame-pointer"
971 # this plugin does not compile without -fomit-frame-pointer, damn gcc!
972 VLC_ADD_CFLAGS([i420_yuy2_mmx],[-fomit-frame-pointer])
975 dnl Check for -mdynamic-no-pic
976 AC_CACHE_CHECK([if \$CC accepts -mdynamic-no-pic],
977 [ac_cv_c_dynamic_no_pic],
978 [CFLAGS="${CFLAGS_save} -mdynamic-no-pic"
979 AC_TRY_COMPILE([],,ac_cv_c_dynamic_no_pic=yes, ac_cv_c_dynamic_no_pic=no)])
980 AS_IF([test "${enable_libtool}" = "no" && test "${ac_cv_c_dynamic_no_pic}" != "no"], [
981 VLC_ADD_CFLAGS([builtin],[-mdynamic-no-pic])
982 VLC_ADD_CFLAGS([libvlc],[-mdynamic-no-pic])
985 dnl Check for Darwin plugin linking flags
986 AC_CACHE_CHECK([if \$CC accepts -bundle -undefined error],
988 [CFLAGS="${CFLAGS_save} -bundle -undefined error"
989 AC_TRY_COMPILE([],,ac_cv_ld_darwin=yes, ac_cv_ld_darwin=no)])
990 if test "${ac_cv_ld_darwin}" != "no"; then
991 VLC_ADD_LDFLAGS([plugin],[-bundle -undefined error])
994 dnl Check for standard plugin linking flags
995 dnl BeOS' gcc needs -nostart instead of -shared, even if -shared isn't harmful (just a warning)
996 if test "${SYS}" = "beos"; then
997 VLC_ADD_LDFLAGS([plugin mozilla],[-nostart])
999 AC_CACHE_CHECK([if \$CC accepts -shared],
1001 [CFLAGS="${CFLAGS_save} -shared"
1002 AC_TRY_COMPILE([],, ac_cv_ld_plugins=yes, ac_cv_ld_plugins=no)])
1003 if test "${ac_cv_ld_plugins}" != "no"; then
1004 VLC_ADD_LDFLAGS([plugin mozilla],[-shared])
1008 dnl Check for variadic macros
1009 AC_CACHE_CHECK([for variadic cpp macros],
1010 [ac_cv_cpp_variadic_macros],
1011 [CFLAGS="${CFLAGS_save}"
1014 #define a(b,c...) printf(b,##c)],
1015 [a("foo");a("%s","bar");a("%s%s","baz","quux");],
1016 ac_cv_cpp_variadic_macros=yes,
1017 ac_cv_cpp_variadic_macros=no)])
1018 if test "${ac_cv_cpp_variadic_macros}" != "no"; then
1019 AC_DEFINE(HAVE_VARIADIC_MACROS, 1, Support for variadic macros)
1022 dnl Checks for __attribute__(aligned()) directive
1023 AC_CACHE_CHECK([__attribute__ ((aligned ())) support],
1024 [ac_cv_c_attribute_aligned],
1025 [ac_cv_c_attribute_aligned=0
1026 CFLAGS="${CFLAGS_save} -Werror"
1027 for ac_cv_c_attr_align_try in 2 4 8 16 32 64; do
1029 [static char c __attribute__ ((aligned(${ac_cv_c_attr_align_try}))) = 0; return c;],
1030 [ac_cv_c_attribute_aligned="${ac_cv_c_attr_align_try}"])
1032 CFLAGS="${CFLAGS_save}"])
1033 if test "${ac_cv_c_attribute_aligned}" != "0"; then
1034 AC_DEFINE_UNQUOTED([ATTRIBUTE_ALIGNED_MAX],
1035 [${ac_cv_c_attribute_aligned}],[Maximum supported data alignment])
1038 dnl Checks for __attribute__(format()) directive
1039 AC_CACHE_CHECK([__attribute__ ((format ())) support with function pointers],
1040 [ac_cv_c_attribute_format],
1041 [ac_cv_c_attribute_format=no
1042 CFLAGS="${CFLAGS_save} -Werror"
1044 [static void (*pf_printf)(const char *, ...) __attribute__ ((format(printf,1,2)));(void)pf_printf;],
1045 [ac_cv_c_attribute_format=yes])
1046 CFLAGS="${CFLAGS_save}"])
1047 if test "${ac_cv_c_attribute_format}" != "no"; then
1048 AC_DEFINE(HAVE_ATTRIBUTE_FORMAT, 1, Support for __attribute__((format())) with function pointers)
1051 dnl Check for __attribute__(())
1052 AC_CACHE_CHECK([for __attribute__((packed))],
1053 [ac_cv_c_attribute_packed],
1054 [ac_cv_c_attribute_packed=no
1055 AC_TRY_COMPILE(, [struct __attribute__((__packed__)) foo { int a; } b;],
1056 [ac_cv_c_attribute_packed=yes])])
1057 if test "${ac_cv_c_attribute_packed}" != "no"; then
1058 AC_DEFINE(HAVE_ATTRIBUTE_PACKED, 1, Support for __attribute__((packed)) for structs)
1064 case "${target_cpu}" in
1069 ARCH="${target_cpu}"
1074 dnl Enable profiling
1076 AC_ARG_ENABLE(gprof,
1077 [ --enable-gprof gprof profiling (default disabled)])
1078 AC_ARG_ENABLE(cprof,
1079 [ --enable-cprof cprof profiling (default disabled)])
1080 test "${enable_gprof}" != "yes" && enable_gprof="no"
1081 test "${enable_cprof}" != "yes" && enable_cprof="no"
1086 VLC_ADD_PLUGINS([dummy logger memcpy])
1087 VLC_ADD_PLUGINS([mpgv mpga m4v m4a h264 ps pva avi asf mp4 rawdv nsv real aiff mjpeg demuxdump flac])
1088 VLC_ADD_PLUGINS([cvdsub svcdsub spudec subsdec dvbsub mpeg_audio lpcm a52 dts cinepak flacdec])
1089 VLC_ADD_PLUGINS([deinterlace invert adjust transform distort motionblur rv32])
1090 VLC_ADD_PLUGINS([fixed32tos16 s16tofixed32 u8tofixed32])
1091 VLC_ADD_PLUGINS([trivial_resampler ugly_resampler])
1092 VLC_ADD_PLUGINS([trivial_channel_mixer trivial_mixer])
1093 VLC_ADD_PLUGINS([playlist export sgimb m3u nsc xtag])
1094 VLC_ADD_PLUGINS([i420_rgb rawvideo blend scale image logo magnify])
1095 VLC_ADD_PLUGINS([wav araw subtitle vobsub adpcm a52sys dtssys au ty voc xa nuv])
1096 VLC_ADD_PLUGINS([access_directory access_file access_udp access_tcp])
1097 VLC_ADD_PLUGINS([access_http access_mms access_ftp ipv4])
1098 VLC_ADD_PLUGINS([packetizer_mpegvideo packetizer_h264])
1099 VLC_ADD_PLUGINS([packetizer_mpeg4video packetizer_mpeg4audio])
1101 if test "${SYS}" != "mingwce"; then
1102 dnl VLC_ADD_PLUGINS([externrun])
1103 VLC_ADD_PLUGINS([access_fake access_filter_timeshift access_filter_record])
1104 VLC_ADD_PLUGINS([gestures rc telnet hotkeys netsync showintf time marq podcast shout sap fake])
1105 VLC_ADD_PLUGINS([rss mosaic wall motiondetect clone crop])
1106 VLC_ADD_PLUGINS([i420_yuy2 i422_yuy2 i420_ymga])
1107 VLC_ADD_PLUGINS([aout_file linear_resampler bandlimited_resampler])
1108 VLC_ADD_PLUGINS([float32_mixer spdif_mixer simple_channel_mixer])
1109 VLC_ADD_PLUGINS([dolby_surround_decoder headphone_channel_mixer normvol equalizer param_eq])
1110 VLC_ADD_PLUGINS([fixed32tofloat32 float32tos16 float32tos8 float32tou16 float32tou8 a52tospdif dtstospdif s16tofloat32 s16tofloat32swab s8tofloat32 u8tofloat32 audio_format])
1114 dnl Switch to enable a version of VLC where most modules will be builtin
1116 AC_ARG_ENABLE(mostly-builtin,
1117 [ --enable-mostly-builtin most modules will be built-in (default disabled)])
1118 if test "${enable_mostly_builtin}" = "yes"; then
1119 VLC_ADD_BUILTINS([${PLUGINS}])
1124 dnl Some plugins aren't useful on some platforms
1126 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
1127 VLC_ADD_PLUGINS([screensaver])
1128 elif test "${SYS}" != "mingwce"; then
1129 VLC_ADD_PLUGINS([ntservice access_smb dmo msn])
1130 VLC_ADD_LDFLAGS([dmo],[-lole32])
1132 VLC_ADD_PLUGINS([win32text])
1136 dnl Accelerated modules
1138 MMX_MODULES="memcpymmx i420_rgb_mmx i422_yuy2_mmx i420_ymga_mmx"
1139 #MMX_MODULES="${MMX_MODULES} idctmmx motionmmx"
1140 MMXEXT_MODULES="memcpymmxext"
1141 #MMXEXT_MODULES="${MMXEXT_MODULES} idctmmxext motionmmxext"
1142 THREEDNOW_MODULES="memcpy3dn"
1144 ALTIVEC_MODULES="memcpyaltivec i420_yuy2_altivec"
1145 #ALTIVEC_MODULES="${ALTIVEC_MODULES} idctaltivec motionaltivec"
1147 if test "${enable_gprof}" != "yes"
1149 MMX_MODULES="${MMX_MODULES} i420_yuy2_mmx"
1152 AC_CACHE_CHECK([if \$CC groks MMX inline assembly],
1154 [CFLAGS="${CFLAGS_save}"
1155 AC_TRY_COMPILE(,[void *p;asm volatile("packuswb %%mm1,%%mm2"::"r"(p));],
1156 ac_cv_mmx_inline=yes, ac_cv_mmx_inline=no)])
1157 if test "${ac_cv_mmx_inline}" != "no"; then
1158 AC_DEFINE(CAN_COMPILE_MMX, 1, Define if \$CC groks MMX inline assembly.)
1159 ACCEL_MODULES="${ACCEL_MODULES} ${MMX_MODULES}"
1162 dnl Check for fully workin MMX intrinsics
1163 dnl We need support for -mmmx, we need <mmintrin.h>, and we also need a
1164 dnl working compiler (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23963)
1165 AC_CACHE_CHECK([if \$CC groks MMX intrinsics],
1166 [ac_cv_c_mmx_intrinsics],
1167 [CFLAGS="${CFLAGS_save} -O -mmmx"
1168 AC_TRY_COMPILE([#include <mmintrin.h>
1172 a = b = c = (__m64)frobzor;
1173 a = _mm_slli_pi16(a, 3);
1174 a = _mm_adds_pi16(a, b);
1175 c = _mm_srli_pi16(c, 8);
1176 c = _mm_slli_pi16(c, 3);
1177 b = _mm_adds_pi16(b, c);
1178 a = _mm_unpacklo_pi8(a, b);
1179 frobzor = (uint64_t)a;],
1180 [ac_cv_c_mmx_intrinsics=yes],
1181 [ac_cv_c_mmx_intrinsics=no])])
1182 if test "${ac_cv_c_mmx_intrinsics}" != "no"; then
1183 AC_DEFINE(HAVE_MMX_INTRINSICS, 1, Define if MMX intrinsics are available.)
1184 VLC_ADD_CFLAGS([i420_rgb_mmx],[-mmmx])
1187 AC_CACHE_CHECK([if \$CC groks MMX EXT inline assembly],
1188 [ac_cv_mmxext_inline],
1189 [CFLAGS="${CFLAGS_save}"
1190 AC_TRY_COMPILE(,[void *p;asm volatile("maskmovq %%mm1,%%mm2"::"r"(p));],
1191 ac_cv_mmxext_inline=yes, ac_cv_mmxext_inline=no)])
1192 if test "${ac_cv_mmxext_inline}" != "no"; then
1193 AC_DEFINE(CAN_COMPILE_MMXEXT, 1, Define if \$CC groks MMX EXT inline assembly.)
1194 ACCEL_MODULES="${ACCEL_MODULES} ${MMXEXT_MODULES}"
1197 AC_CACHE_CHECK([if \$CC groks 3D Now! inline assembly],
1198 [ac_cv_3dnow_inline],
1199 [CFLAGS="${CFLAGS_save}"
1200 AC_TRY_COMPILE(,[void *p;asm volatile("pfadd %%mm1,%%mm2"::"r"(p));],
1201 ac_cv_3dnow_inline=yes, ac_cv_3dnow_inline=no)])
1202 if test "${ac_cv_3dnow_inline}" != "no"; then
1203 AC_DEFINE(CAN_COMPILE_3DNOW, 1, Define if \$CC groks 3D Now! inline assembly.)
1204 ACCEL_MODULES="${ACCEL_MODULES} ${THREEDNOW_MODULES}"
1207 AC_CACHE_CHECK([if \$CC groks SSE inline assembly],
1209 [CFLAGS="${CFLAGS_save}"
1210 AC_TRY_COMPILE(,[void *p;asm volatile("xorps %%xmm1,%%xmm2"::"r"(p));],
1211 ac_cv_sse_inline=yes, ac_cv_sse_inline=no)])
1212 if test "${ac_cv_sse_inline}" != "no" -a "${SYS}" != "mingw32" -a "${SYS}" != "solaris"; then
1213 AC_DEFINE(CAN_COMPILE_SSE, 1, Define if \$CC groks SSE inline assembly.)
1214 ACCEL_MODULES="${ACCEL_MODULES} ${SSE_MODULES}"
1217 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
1218 AC_CACHE_CHECK([if \$CC groks AltiVec inline assembly],
1219 [ac_cv_altivec_inline],
1220 [CFLAGS="${CFLAGS_save}"
1221 AC_TRY_COMPILE(,[asm volatile("vperm 0,1,2,3");],
1222 ac_cv_altivec_inline=yes,
1223 [CFLAGS="${CFLAGS_save} -Wa,-m7400"
1224 AC_TRY_COMPILE(,[asm volatile("vperm 0,1,2,3");],
1225 [ac_cv_altivec_inline="-Wa,-m7400"],
1226 ac_cv_altivec_inline=no)
1228 if test "${ac_cv_altivec_inline}" != "no"; then
1229 AC_DEFINE(CAN_COMPILE_ALTIVEC, 1, Define if \$CC groks AltiVec inline assembly.)
1230 if test "${ac_cv_altivec_inline}" != "yes"; then
1231 VLC_ADD_CFLAGS([idctaltivec],[${ac_cv_altivec_inline}])
1232 VLC_ADD_CFLAGS([motionaltivec],[${ac_cv_altivec_inline}])
1233 VLC_ADD_CFLAGS([memcpyaltivec],[${ac_cv_altivec_inline}])
1234 VLC_ADD_CFLAGS([i420_yuy2_altivec],[${ac_cv_altivec_inline}])
1235 VLC_ADD_CFLAGS([vlc],[${ac_cv_altivec_inline}])
1237 ACCEL_MODULES="${ACCEL_MODULES} ${ALTIVEC_MODULES}"
1240 dnl The AltiVec C extensions
1242 dnl There are several possible cases:
1243 dnl - OS X PPC, gcc 4.x: use -mpim-altivec -force_cpusubtype_ALL, don't
1244 dnl need <altivec.h>
1245 dnl - OS X PPC, gcc 3.x: need -faltivec, don't need <altivec.h>
1246 dnl - Linux PPC, gcc 3.4, 4.x: need <altivec.h> which requires -maltivec
1247 dnl - Linux PPC, gcc 3.3: need <altivec.h> and -maltivec -mabi=altivec
1248 dnl - Linux PPC, gcc 3.x: need <altivec.h> and -fvec
1249 dnl - Others: test should fail
1250 AC_CACHE_CHECK([if \$CC groks AltiVec C extensions],
1252 [# OS X/PPC test (gcc 4.x)
1253 CFLAGS="${CFLAGS_save} -mpim-altivec -force_cpusubtype_ALL"
1255 [vec_ld(0, (unsigned char *)0);],
1256 [ac_cv_c_altivec="-mpim-altivec -force_cpusubtype_ALL"],
1257 [# OS X/PPC test (gcc 3.x)
1258 CFLAGS="${CFLAGS_save} -faltivec"
1260 [vec_ld(1 * sizeof(vector float), (unsigned char *)0);],
1261 [ac_cv_c_altivec="-faltivec"],
1262 dnl Below this are the Linux tests
1263 [# Linux/PPC test (gcc 4.x)
1264 CFLAGS="${CFLAGS_save} -maltivec"
1265 AC_TRY_COMPILE([#include <altivec.h>],
1266 [vec_ld(0, (unsigned char *)0);],
1267 [ac_cv_c_altivec="-maltivec"],
1268 [# Linux/PPC test (gcc 3.3)
1269 CFLAGS="${CFLAGS_save} -maltivec -mabi=altivec"
1270 AC_TRY_COMPILE([#include <altivec.h>],
1271 [vec_ld(0, (unsigned char *)0);],
1273 ac_cv_c_altivec_abi="-maltivec -mabi=altivec"],
1274 [# Linux/PPC test (gcc 3.3)
1275 CFLAGS="${CFLAGS_save} -fvec"
1276 AC_TRY_COMPILE([#include <altivec.h>],
1277 [vec_ld(0, (unsigned char *)0);],
1278 [ac_cv_c_altivec="-fvec"],
1279 [ac_cv_c_altivec=no])
1284 CFLAGS="${CFLAGS_save}"
1287 if test "${ac_cv_c_altivec}" != "no"; then
1288 CPPFLAGS="${CPPFLAGS_save} ${ac_cv_c_altivec}"
1290 AC_CHECK_HEADERS(altivec.h)
1291 CPPFLAGS="${CPPFLAGS_save}"
1293 if test "${ac_cv_c_altivec}" != "no"; then
1294 AC_DEFINE(CAN_COMPILE_C_ALTIVEC, 1, Define if your compiler groks C AltiVec extensions.)
1295 VLC_ADD_CFLAGS([vlc],[${ac_cv_c_altivec}])
1296 VLC_ADD_CFLAGS([idctaltivec motionaltivec],[${ac_cv_c_altivec}])
1297 VLC_ADD_CFLAGS([i420_yuy2_altivec memcpyaltivec deinterlace],[${ac_cv_c_altivec} ${ac_cv_c_altivec_abi}])
1298 ACCEL_MODULES="${ACCEL_MODULES} ${ALTIVEC_MODULES}"
1301 AC_CACHE_CHECK([if linker needs -framework vecLib],
1303 [LDFLAGS="${LDFLAGS_vlc} -framework vecLib"
1304 AC_TRY_LINK([],,ac_cv_ld_altivec=yes,ac_cv_ld_altivec=no)
1305 LDFLAGS="${LDFLAGS_save}"
1307 if test "${ac_cv_ld_altivec}" != "no"; then
1308 VLC_ADD_LDFLAGS([vlc idctaltivec motionaltivec memcpyaltivec],[-framework vecLib])
1310 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
1313 AC_ARG_WITH(,[Optimization options:])
1316 dnl Special arch tuning
1319 [ --with-tuning=ARCH enable special tuning for an architecture
1320 (default Pentium 2 on IA-32 and 750 on PPC)])
1321 if test -n "${with_tuning}"; then
1322 if test "${with_tuning}" != "no"; then
1323 CFLAGS_TUNING="-mtune=${with_tuning}"
1326 if test "${target_cpu}" = "i686" -o "${target_cpu}" = "i586" -o "${target_cpu}" = "i486" -o "${target_cpu}" = "i386"; then
1327 CFLAGS_TUNING="-mtune=pentium2"
1328 elif test "${target_cpu}" = "x86_64"; then
1329 CFLAGS_TUNING="-mtune=athlon64"
1330 elif test "${target_cpu}" = "powerpc"; then
1331 CFLAGS_TUNING="-mtune=750";
1335 dnl NOTE: this can't be cached cleanly
1336 AS_IF([test "${CFLAGS_TUNING}"],
1337 [CFLAGS_save="${CFLAGS}"
1338 CFLAGS="${CFLAGS} ${CFLAGS_TUNING}"
1340 AC_MSG_CHECKING([whether $CC accepts ${CFLAGS_TUNING}])
1341 AC_COMPILE_IFELSE([ ],
1343 [CFLAGS_TUNING=""; tuning="no"
1344 AS_IF([test "${with_tuning}"],
1345 [AC_MSG_ERROR([requested tuning not supported])])])
1347 AC_MSG_RESULT([$tuning])
1348 CFLAGS="${CFLAGS_save}"
1352 dnl x86 accelerations
1354 if test "${target_cpu}" = "i686" -o "${target_cpu}" = "i586" -o "${target_cpu}" = "x86" -o "${target_cpu}" = "i386" -o "${target_cpu}" = "x86_64"
1357 VLC_ADD_BUILTINS([${ACCEL_MODULES}])
1363 AC_ARG_ENABLE(optimize-memory,
1364 [ --enable-optimize-memory optimize memory usage over performance])
1365 if test "${enable_optimize_memory}" = "yes"; then
1366 AC_DEFINE(OPTIMIZE_MEMORY, 1, Define if you want to optimize memory usage over performance)
1370 dnl Enable/disable optimizations
1372 AC_ARG_ENABLE(optimizations,
1373 [ --disable-optimizations disable compiler optimizations (default enabled)])
1374 test "${enable_optimizations}" != "no" && enable_optimizations="yes"
1377 dnl AltiVec acceleration
1379 AC_ARG_ENABLE(altivec,
1380 [ --disable-altivec disable AltiVec optimizations (default enabled on PPC)],
1381 [ if test "${enable_altivec}" = "yes"; then ARCH="${ARCH} altivec";
1382 VLC_ADD_BUILTINS([${ACCEL_MODULES}]) fi ],
1383 [ if test "${target_cpu}" = "powerpc"; then ARCH="${ARCH} altivec";
1384 VLC_ADD_BUILTINS([${ACCEL_MODULES}]) fi ])
1389 AC_ARG_ENABLE(debug,
1390 [ --enable-debug debug mode (default disabled)])
1391 test "${enable_debug}" != "yes" && enable_debug="no"
1393 [Define to 1 if debug code should NOT be compiled])
1394 AS_IF([test "x${enable_debug}" == "xno"], [AC_DEFINE(NDEBUG)])
1397 dnl Enable release-specific flags
1399 AC_ARG_ENABLE(release,
1400 [ --enable-release activate extra optimizations (default disabled)])
1401 test "${enable_release}" != "yes" && enable_release="no"
1404 dnl Is the shared libvlc forced ?
1407 AC_ARG_ENABLE(shared-libvlc,
1408 [ --enable-shared-libvlc Win32 libvlc.dll build (default disabled)])
1409 AS_IF([test "${enable_libtool}" != "no" && test "${enable_shared_libvlc}"], [
1410 AC_MSG_ERROR([--enable-shared-libvlc and --enable-libtool are mutually exclusive])
1417 [ --enable-sout Stream output modules (default enabled)])
1418 if test "${enable_sout}" != "no"
1420 VLC_ADD_PLUGINS([access_output_dummy access_output_udp access_output_file access_output_http])
1421 VLC_ADD_PLUGINS([mux_ps mux_avi mux_mp4 mux_asf mux_dummy mux_wav mux_mpjpeg])
1422 VLC_ADD_PLUGINS([packetizer_copy])
1424 VLC_ADD_PLUGINS([stream_out_dummy stream_out_standard stream_out_es stream_out_rtp stream_out_description vod_rtsp])
1425 VLC_ADD_PLUGINS([stream_out_duplicate stream_out_gather stream_out_display stream_out_transcode stream_out_bridge stream_out_mosaic_bridge])
1426 # VLC_ADD_PLUGINS([stream_out_transrate])
1428 AC_DEFINE(ENABLE_SOUT, 1, Define if you want the stream output support)
1431 dnl Check for libshout
1432 AC_ARG_ENABLE(shout,
1433 [ --enable-shout libshout output plugin (default disabled)])
1434 if test "${enable_shout}" = "yes"; then
1435 PKG_CHECK_MODULES(SHOUT, shout >= 2.1,
1436 [AC_DEFINE(HAVE_SHOUT, [], [Define if you have the libshout library])
1437 VLC_ADD_PLUGINS([access_output_shout])
1438 VLC_ADD_LDFLAGS([vlc access_output_shout],[$SHOUT_LIBS])
1439 VLC_ADD_CFLAGS([vlc access_output_shout],[$SHOUT_CFLAGS])],
1440 [AC_MSG_WARN(libshout library not found)])
1446 AC_ARG_ENABLE(httpd,
1447 [ --enable-httpd HTTP daemon (default enabled)])
1448 if test "${enable_httpd}" != "no"
1450 VLC_ADD_PLUGINS([http])
1451 AC_DEFINE(ENABLE_HTTPD, 1, Define if you want the HTTP dameon support)
1455 dnl VideoLAN manager
1458 [ --enable-vlm VideoLAN manager (default enabled)])
1459 if test "${enable_vlm}" != "no"
1461 AC_DEFINE(ENABLE_VLM, 1, Define if you want the VideoLAN manager support)
1465 dnl Growl notification plugin
1467 AC_ARG_ENABLE(growl,
1468 [ --enable-growl growl notification plugin (default enabled)])
1469 AS_IF([test "${enable_growl}" != "no"], [
1470 VLC_ADD_PLUGINS([growl])
1478 AC_ARG_ENABLE(gnutls,
1479 [ --enable-gnutls gnutls TLS/SSL support (default enabled)])
1480 AS_IF([test "${enable_gnutls}" != "no"], [
1482 gcrypt_LIBS="-lgpg-error"
1483 AS_IF([test "${SYS}" = "mingw32"],
1484 [gcrypt_LIBS="${gcrypt_LIBS} -lws2_32"
1485 VLC_ADD_LDFLAGS([gnutls],[-lws2_32])]
1488 gnutls_LIBS="-lgcrypt -lz ${gcrypt_LIBS}"
1490 AC_CHECK_HEADER(gcrypt.h,
1491 [AC_CHECK_LIB(gcrypt, gcry_control,
1492 [AC_CHECK_HEADER(gnutls/gnutls.h,
1493 [AC_CHECK_LIB(gnutls, gnutls_certificate_verify_peers2,
1494 [have_gnutls="yes"],[old_gnutls="yes"], ${gnutls_LIBS})])],,
1497 AS_IF([test "${have_gnutls}" = "yes"], [
1498 VLC_ADD_PLUGINS([gnutls])
1499 VLC_ADD_LDFLAGS([gnutls], [-lgnutls ${gnutls_LIBS}])
1501 AS_IF([test "${enable_gnutls}" = "yes"], [
1502 AC_MSG_ERROR([gnutls not present or too old (version 1.0.17 required)])]
1512 AC_ARG_WITH(,[Input plugins:])
1516 AC_ARG_ENABLE(livedotcom,
1517 [ --enable-livedotcom live.com RTSP input plugin (default disabled)])
1518 if test "${enable_livedotcom}" = "yes"; then
1519 AC_ARG_WITH(livedotcom-tree,
1520 [ --with-livedotcom-tree=PATH live.com tree for static linking])
1523 dnl test for --with-livedotcom-tree
1525 if test -z "${with_livedotcom_tree}" -a "${CXX}" != ""; then
1527 CPPFLAGS_save="${CPPFLAGS}"
1528 CPPFLAGS_livedotcom="-I/usr/include/liveMedia -I/usr/include/groupsock -I/usr/include/BasicUsageEnvironment -I/usr/include/UsageEnvironment"
1529 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_livedotcom}"
1530 AC_CHECK_HEADERS(liveMedia.hh, [
1531 VLC_ADD_CXXFLAGS([livedotcom], [${CPPFLAGS_livedotcom}])
1532 AC_CHECK_LIB(liveMedia_pic, main, [
1533 # We have -lliveMedia_pic, build plugins
1534 VLC_ADD_PLUGINS([livedotcom])
1535 VLC_ADD_LDFLAGS([livedotcom], [-lliveMedia_pic -lgroupsock_pic -lBasicUsageEnvironment_pic -lUsageEnvironment_pic])
1537 AC_CHECK_LIB(liveMedia, main, [
1538 # We only have -lliveMedia, do builtins
1539 VLC_ADD_BUILTINS([livedotcom])
1540 VLC_ADD_LDFLAGS([livedotcom], [-lliveMedia -lgroupsock -lBasicUsageEnvironment -lUsageEnvironment])
1543 if test "${SYS}" = "mingw32"; then
1544 # add ws2_32 for closesocket, select, recv
1545 VLC_ADD_LDFLAGS([livedotcom],[-lws2_32])
1548 CPPFLAGS="${CPPFLAGS_save}"
1551 AC_MSG_CHECKING(for liveMedia/libliveMedia.a in ${with_livedotcom_tree})
1552 real_livedotcom_tree="`cd ${with_livedotcom_tree} 2>/dev/null && pwd`"
1553 if test -z "${real_livedotcom_tree}"; then
1554 dnl The given directory can't be found
1556 AC_MSG_ERROR([cannot cd to ${with_livedotcom_tree}])
1558 if test -f "${real_livedotcom_tree}/liveMedia/libliveMedia.a"; then
1559 AC_MSG_RESULT(${real_livedotcom_tree}/liveMedia/libliveMedia.a)
1561 VLC_ADD_BUILTINS([livedotcom])
1563 if test "${SYS}" = "mingw32"; then
1564 # add ws2_32 for closesocket, select, recv
1565 VLC_ADD_LDFLAGS([livedotcom],[-lws2_32])
1568 VLC_ADD_LDFLAGS([livedotcom],[-L${real_livedotcom_tree}/liveMedia -lliveMedia])
1569 VLC_ADD_LDFLAGS([livedotcom],[-L${real_livedotcom_tree}/BasicUsageEnvironment -lBasicUsageEnvironment])
1570 VLC_ADD_LDFLAGS([livedotcom],[-L${real_livedotcom_tree}/groupsock -lgroupsock])
1571 VLC_ADD_LDFLAGS([livedotcom],[-L${real_livedotcom_tree}/UsageEnvironment -lUsageEnvironment])
1573 VLC_ADD_CXXFLAGS([livedotcom],[-I${real_livedotcom_tree}/BasicUsageEnvironment/include])
1574 VLC_ADD_CXXFLAGS([livedotcom],[-I${real_livedotcom_tree}/groupsock/include])
1575 VLC_ADD_CXXFLAGS([livedotcom],[-I${real_livedotcom_tree}/liveMedia/include])
1576 VLC_ADD_CXXFLAGS([livedotcom],[-I${real_livedotcom_tree}/UsageEnvironment/include ])
1578 dnl The given live.com wasn't built
1580 AC_MSG_ERROR([cannot find ${real_livedotcom_tree}/liveMedia/libliveMedia.a, make sure you compiled live.com in ${with_livedotcom_tree}])
1586 dnl dv module: digital video module check for libraw1394
1589 [ --enable-dv dv input module (default disabled)])
1590 if test "${enable_dv}" = "yes"
1592 AC_ARG_WITH(dv-raw1394,
1593 [ --with-dv-raw1394=PATH libraw1394 headers and libraries])
1594 AC_ARG_WITH(dv-raw1394-tree,
1595 [ --with-dv-raw1394=PATH libraw1394 tree for static linking])
1597 if test -z "${with_dv_raw1394}" -a "${with_dv_raw1394}" != ""
1599 AC_MSG_CHECKING(for raw1394 headers in ${with_dv_raw1394})
1600 if test -f ${with_dv_raw1394}/include/libraw1394/raw1394.h
1602 dnl Use ${with_dv_raw1394}/include/libraw1394/raw1394.h
1604 VLC_ADD_PLUGINS([access_dv])
1605 VLC_ADD_LDFLAGS([access_dv],[-L${with_dv_raw1394}/lib -lraw1394 -lpthread])
1606 VLC_ADD_CPPFLAGS([access_dv],[-I${with_dv_raw1394}/include])
1608 dnl No libraw1394 could be found, sorry
1610 AC_MSG_ERROR([cannot find ${with_dv_raw1394}/include/libraw1394/raw1394.h])
1613 AC_CHECK_HEADERS(libraw1394/raw1394.h,
1614 [ VLC_ADD_PLUGINS([access_dv])
1615 VLC_ADD_LDFLAGS([access_dv],[-lraw1394 -lavc1394])
1617 if test -n "${enable_dv}"
1619 AC_MSG_ERROR([cannot find libraw1394 headers])
1624 dnl Check for static linking of libraw1394
1625 if test -z "${with_dv_raw1394_tree}" -a "${with_dv_raw1394_tree}" != ""
1627 AC_MSG_CHECKING(for libraw1394.a in ${with_dv_raw1394_tree})
1628 real_dv_raw1394_tree="`cd ${with_dv_raw1394_tree} 2>/dev/null && pwd`"
1629 if test -z "${real_dv_raw1394_tree}"
1631 dnl The given directory can't be found
1633 AC_MSG_ERROR([cannot cd to ${real_dv_raw1394_tree}])
1635 if test -f "${real_dv_raw1394_tree}/src/.libs/libraw1394.a"
1637 dnl Use a custom libraw1394
1638 AC_MSG_RESULT(${real_dv_raw1394_tree}/src/.libs/libraw1394.a)
1639 VLC_ADD_BUILTINS([access_dv])
1640 VLC_ADD_LDFLAGS([access_dv],[-L${real_dv_raw1394_tree}/src/.libs -lraw1394])
1641 VLC_ADD_CPPFLAGS([access_dv],[-I${real_dv_raw1394_tree}])
1643 dnl The given libraw1394 wasn't built
1645 AC_MSG_ERROR([cannot find ${real_dv_raw1394_tree}/src/.libs/libraw1394.a, make sure you compiled libraw1394 in ${with_dv_raw1394_tree}])
1650 dnl Check for libavc1394
1653 AC_ARG_WITH(dv-avc1394,
1654 [ --with-dv-avc1394=PATH libavc1394 headers and libraries])
1655 AC_ARG_WITH(dv-avc1394-tree,
1656 [ --with-dv-avc1394=PATH libavc1394 tree for static linking])
1658 if test -z "${with_dv_avc1394}" -a "${with_dv_avc1394}" != ""
1660 AC_MSG_CHECKING(for avc1394 headers in ${with_dv_avc1394})
1661 if test -f ${with_dv_avc1394}/include/libavc1394/avc1394.h
1663 dnl Use ${with_dv_avc1394}/include/libavc1394/avc1394.h
1665 VLC_ADD_LDFLAGS([access_dv],[-L${with_dv_avc1394}/lib -lavc1394 -lrom1394 -lpthread])
1666 VLC_ADD_CPPFLAGS([access_dv],[-I${with_avc1394}/include])
1668 dnl No libavc1394 could be found, sorry
1670 AC_MSG_ERROR([cannot find ${with_dv_avc1394}/include/libavc1394/avc1394.h])
1673 AC_CHECK_HEADERS(libavc1394/avc1394.h,
1674 [ VLC_ADD_LDFLAGS([access_dv],[-lavc1394 -lrom1394 -lpthread])
1676 if test -n "${enable_dv}"
1678 AC_MSG_ERROR([cannot find libavc1394 headers])
1683 dnl Check for static linking of libavc1394
1684 if test -z "${with_dv_avc1394_tree}" -a "${with_dv_avc1394_tree}" != ""
1686 AC_MSG_CHECKING(for libavc1394.a in ${with_dv_avc1394_tree})
1687 real_dv_avc1394_tree="`cd ${with_dv_avc1394_tree} 2>/dev/null && pwd`"
1688 if test -z "${real_dv_avc1394_tree}"
1690 dnl The given directory can't be found
1692 AC_MSG_ERROR([cannot cd to ${real_dv_avc1394_tree}])
1694 if test -f "${real_dv_avc1394_tree}/src/.libs/libavc1394.a"
1696 dnl Use a custom libavc1394
1697 AC_MSG_RESULT(${real_dv_avc1394_tree}/src/.libs/libavc1394.a)
1698 VLC_ADD_LDFLAGS([access_dv],[-L${real_dv_avc1394_tree}/src/.libs -lavc1394 -lrom1394 -lpthread])
1699 VLC_ADD_CPPFLAGS([access_dv],[-I${real_dv_avc1394_tree}])
1701 dnl The given libavc1394 wasn't built
1703 AC_MSG_ERROR([cannot find ${real_dv_avc1394_tree}/src/.libs/libavc1394.a, make sure you compiled libavc1394 in ${with_dv_avc1394_tree}])
1709 dnl dvdread module: check for libdvdread
1711 AC_ARG_ENABLE(dvdread,
1712 [ --enable-dvdread dvdread input module (default disabled)])
1713 if test "${enable_dvdread}" != "no"
1715 AC_ARG_WITH(dvdread,
1716 [ --with-dvdread=PATH libdvdread headers and libraries])
1717 AC_ARG_WITH(dvdread-tree,
1718 [ --with-dvdread-tree=PATH libdvdread tree for static linking])
1720 dnl Temporary hack (yeah, sure ;)
1721 if test "${SYS}" = "mingw32" || test "${SYS}" = "darwin" || test "${SYS}" = "beos" ; then
1722 VLC_ADD_LDFLAGS([dvdread],[-ldvdcss])
1725 if test -z "${with_dvdread}"
1727 if test -z "${with_dvdread_tree}"
1729 AC_CHECK_HEADERS(dvdread/dvd_reader.h,
1730 [ VLC_ADD_PLUGINS([dvdread])
1731 VLC_ADD_LDFLAGS([dvdread],[-ldvdread ${LDFLAGS_dvdcss}])
1733 if test -n "${enable_dvdread}"
1735 AC_MSG_ERROR([cannot find libdvdread headers])
1739 AC_MSG_CHECKING(for libdvdread.a in ${with_dvdread_tree})
1740 real_dvdread_tree="`cd ${with_dvdread_tree} 2>/dev/null && pwd`"
1741 if test -z "${real_dvdread_tree}"
1743 dnl The given directory can't be found
1745 AC_MSG_ERROR([cannot cd to ${with_dvdread_tree}])
1747 if test -f "${real_dvdread_tree}/dvdread/.libs/libdvdread.a"
1749 dnl Use a custom libdvdread
1750 AC_MSG_RESULT(${real_dvdread_tree}/dvdread/.libs/libdvdread.a)
1751 VLC_ADD_BUILTINS([dvdread])
1752 VLC_ADD_LDFLAGS([dvdread],[-L${real_dvdread_tree}/dvdread/.libs -ldvdread ${LDFLAGS_dvdcss}])
1753 VLC_ADD_CPPFLAGS([dvdread],[-I${real_dvdread_tree}])
1755 dnl The given libdvdread wasn't built
1757 AC_MSG_ERROR([cannot find ${real_dvdread_tree}/dvdread/.libs/libdvdread.a, make sure you compiled libdvdread in ${with_dvdread_tree}])
1761 AC_MSG_CHECKING(for dvdread headers in ${with_dvdread})
1762 if test -f ${with_dvdread}/include/dvdread/dvd_reader.h
1764 dnl Use ${with_dvdread}/include/dvdread/dvd_reader.h
1766 VLC_ADD_PLUGINS([dvdread])
1767 VLC_ADD_LDFLAGS([dvdread],[-L${with_dvdread}/lib -ldvdread ${LDFLAGS_dvdcss}])
1768 VLC_ADD_CPPFLAGS([dvdread],[-I${with_dvdread}/include])
1770 dnl No libdvdread could be found, sorry
1772 AC_MSG_ERROR([cannot find ${with_dvdread}/include/dvdread/dvd_reader.h])
1778 dnl libdvdnav plugin
1780 AC_ARG_ENABLE(dvdnav,
1781 [ --enable-dvdnav dvdnav input module (default enabled)])
1782 if test "${enable_dvdnav}" != "no"
1784 dnl Same hack than dvdread
1785 if test "${SYS}" = "mingw32" || test "${SYS}" = "darwin" || test "${SYS}" = "beos" ; then
1786 VLC_ADD_LDFLAGS([dvdnav],[-ldvdcss])
1789 DVDNAV_PATH="${PATH}"
1790 AC_ARG_WITH(dvdnav-config-path,
1791 [ --with-dvdnav-config-path=PATH dvdnav-config path (default search in \$PATH)],
1792 [ if test "${with_dvdnav_config_path}" != "no"
1794 DVDNAV_PATH="${with_dvdnav_config_path}:${PATH}"
1796 AC_PATH_PROG(DVDNAV_CONFIG, dvdnav-config, no, ${DVDNAV_PATH})
1797 if test "${DVDNAV_CONFIG}" != "no"
1799 VLC_ADD_PLUGINS([dvdnav])
1800 VLC_ADD_CFLAGS([dvdnav],[`${DVDNAV_CONFIG} --cflags`])
1801 VLC_ADD_LDFLAGS([dvdnav],[`${DVDNAV_CONFIG} --libs`])
1806 dnl Windows DirectShow access module
1808 AC_ARG_ENABLE(dshow,
1809 [ --enable-dshow Win32 DirectShow support (default enabled on Win32)])
1810 if test "${enable_dshow}" != "no"
1812 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
1815 AC_CHECK_HEADERS(dshow.h,
1816 [ VLC_ADD_PLUGINS([dshow])
1817 VLC_ADD_CXXFLAGS([dshow],[])
1818 VLC_ADD_LDFLAGS([dshow],[-lole32 -loleaut32 -luuid]) ])
1824 dnl libsmbclient plugin
1827 [ --enable-smb smb input module (default enabled)])
1828 if test "${enable_smb}" != "no"; then
1829 AC_CHECK_HEADERS(libsmbclient.h,
1830 [ VLC_ADD_PLUGINS([access_smb])
1831 VLC_ADD_LDFLAGS([access_smb],[-lsmbclient]) ],
1832 [ if test -n "${enable_smb}"; then
1833 AC_MSG_ERROR([cannot find libsmbclient headers])
1835 AC_CHECK_MEMBER([struct _SMBCCTX.close_fn],
1836 AC_DEFINE([HAVE__SMBCCTX_CLOSE_FN], [1], [Define if samba has _SMBCCTX.close_fn]),,
1837 [#include <libsmbclient.h>])
1841 dnl libdvbpsi ts demux/mux
1843 AC_ARG_ENABLE(dvbpsi,
1844 [ --enable-dvbpsi dvbpsi ts mux and demux module (default enabled)])
1845 if test "${enable_dvbpsi}" != "no"
1848 [ --with-dvbpsi=PATH libdvbpsi headers and libraries])
1850 [ --with-dvbpsi-tree=PATH libdvbpsi tree for static linking])
1851 case "${with_dvbpsi}" in
1853 if test -z "${with_dvbpsi_tree}"
1855 AC_CHECK_HEADERS(dvbpsi/dr.h,
1856 [ VLC_ADD_PLUGINS([ts])
1857 if test "${enable_sout}" != "no"; then
1858 VLC_ADD_BUILTINS([mux_ts])
1860 VLC_ADD_LDFLAGS([mux_ts ts dvb],[-ldvbpsi]) ],
1861 [ AC_MSG_WARN([cannot find libdvbpsi headers]) ],
1862 [#if defined( HAVE_STDINT_H )
1863 # include <stdint.h>
1864 #elif defined( HAVE_INTTYPES_H )
1865 # include <inttypes.h>
1867 #include <dvbpsi/dvbpsi.h>
1868 #include <dvbpsi/descriptor.h>
1869 #include <dvbpsi/pat.h>
1870 #include <dvbpsi/pmt.h>])
1872 AC_MSG_CHECKING(for libdvbpsi.a in ${with_dvbpsi_tree})
1873 real_dvbpsi_tree="`cd ${with_dvbpsi_tree} 2>/dev/null && pwd`"
1874 if test -z "${real_dvbpsi_tree}"
1876 dnl The given directory can't be found
1878 AC_MSG_ERROR([cannot cd to ${with_dvbpsi_tree}])
1880 if test -f "${real_dvbpsi_tree}/src/.libs/libdvbpsi.a"
1882 dnl Use a custom libdvbpsi
1883 AC_MSG_RESULT(${real_dvbpsi_tree}/src/.libs/libdvbpsi.a)
1884 VLC_ADD_BUILTINS([ts])
1885 if test "${enable_sout}" != "no"; then
1886 VLC_ADD_BUILTINS([mux_ts])
1888 VLC_ADD_CPPFLAGS([mux_ts ts dvb],[-I${real_dvbpsi_tree}/src])
1889 VLC_ADD_LDFLAGS([mux_ts ts dvb],[${real_dvbpsi_tree}/src/.libs/libdvbpsi.a])
1891 dnl The given libdvbpsi wasn't built
1893 AC_MSG_ERROR([cannot find ${real_dvbpsi_tree}/src/.libs/libdvbpsi.a, make sure you compiled libdvbpsi in ${with_dvbpsi_tree}])
1898 dnl Compile without dvbpsi
1901 AC_MSG_CHECKING(for dvbpsi headers in ${with_dvbpsi})
1902 if test -z "${with_dvbpsi}"
1907 LDFLAGS_test="-L${with_dvbpsi}/lib"
1908 CPPFLAGS_test="-I${with_dvbpsi}/include"
1910 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_test}"
1911 AC_CHECK_HEADERS([dvbpsi/dr.h],[
1912 VLC_ADD_PLUGINS([ts])
1913 if test "${enable_sout}" != "no"; then
1914 VLC_ADD_PLUGINS([mux_ts])
1916 VLC_ADD_CPPFLAGS([mux_ts ts dvb],[${CPPFLAGS_test}])
1917 VLC_ADD_LDFLAGS([mux_ts ts dvb],[${LDFLAGS_test} -ldvbpsi])
1920 if test -n "${enable_dvbpsi}"
1922 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])
1925 CPPFLAGS="${CPPFLAGS_save}"
1928 AC_CHECK_LIB(dvbpsi, dvbpsi_GenSDTSections, [
1929 AC_DEFINE(HAVE_DVBPSI_SDT, 1, [Define if you have dvbpsi_GenSDTSections.])
1930 ], [], [${LDFLAGS_ts}])
1935 dnl Video4Linux plugin
1938 [ --enable-v4l Video4Linux input support (default disabled)])
1939 if test "${enable_v4l}" = "yes"
1942 [ --with-v4l=PATH path to a v4l-enabled kernel tree],[],[])
1943 if test "${with_v4l}" != "no" -a -n "${with_v4l}"
1945 VLC_ADD_CPPFLAGS([v4l],[-I${with_v4l}/include])
1948 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_v4l}"
1949 AC_CHECK_HEADERS(linux/videodev.h, [
1950 VLC_ADD_PLUGINS([v4l])
1952 CPPFLAGS="${CPPFLAGS_save}"
1956 dnl special access module for Hauppauge PVR cards
1959 [ --enable-pvr PVR cards access module (default disabled)])
1960 if test "${enable_pvr}" = "yes"
1962 VLC_ADD_PLUGINS([pvr])
1966 dnl gnomeVFS access module
1968 AC_ARG_ENABLE(gnomevfs,
1969 [ --enable-gnomevfs GnomeVFS access module (default enabled)])
1970 if test "${enable_gnomevfs}" != "no" -a "${SYS}" = "linux"
1972 PKG_CHECK_MODULES(GNOMEVFS, gnome-vfs-2.0,
1973 VLC_ADD_LDFLAGS([access_gnomevfs],[$GNOMEVFS_LIBS])
1974 VLC_ADD_CPPFLAGS([access_gnomevfs],[$GNOMEVFS_CPPFLAGS])
1975 VLC_ADD_CFLAGS([access_gnomevfs],[$GNOMEVFS_CFLAGS])
1976 VLC_ADD_PLUGINS([access_gnomevfs]),
1977 AC_MSG_WARN([GnomeVFS support disabled because GnomeVFS development headers not found]))
1980 dnl Need to test libcdio and libvcdinfo for a number of things. Do it now.
1981 AC_ARG_ENABLE(libcdio,
1982 [ --enable-libcdio CD input and control library support (default enabled)])
1987 if test "${enable_libcdio}" != "no"
1989 PKG_CHECK_MODULES(LIBCDIO, libcdio >= 0.72,
1991 AC_DEFINE(HAVE_LIBCDIO, [],
1992 [Define if you have libcdio 0.72 or greater installed]),
1993 [AC_MSG_WARN(CD Reading and information library not found)])
1995 PKG_CHECK_MODULES(VCDINFO, libvcdinfo >= 0.7.21,
1996 [have_libvcdinfo=yes
1997 AC_DEFINE(HAVE_VCDINFO, [],
1998 [Define if you have libvcdinfo 0.7.21 or greater installed])],
1999 [AC_MSG_WARN(VCD information library not found)])
2003 dnl VCDX and CDDAX modules
2005 AC_ARG_ENABLE(cddax,
2006 [ --enable-cddax audio CD plugin with CD Text and CD paranoia via libcdio (default disabled)])
2008 AC_ARG_ENABLE(libcddb,
2009 [ --enable-libcddb CDDB support for libcdio audio CD (default enabled)])
2011 if test "${enable_cddax}" = "yes"
2013 if test "$have_libcdio" = "yes"
2015 AC_DEFINE(HAVE_CDDAX, [], [Define for the audio CD plugin using libcdio])
2016 VLC_ADD_LDFLAGS([cddax],[$LIBCDIO_LIBS])
2017 VLC_ADD_CFLAGS([cddax],[$LIBCDIO_CFLAGS])
2018 VLC_ADD_PLUGINS([cddax])
2019 PKG_CHECK_MODULES(LIBCDIO_PARANOIA, libcdio_paranoia >= 0.72, [
2020 VLC_ADD_LDFLAGS([cddax],[$LIBCDIO_CDDA_LIBS $LIBCDIO_CDDA_LIBS $LIBCDIO_PARANOIA_LIBS])],
2021 AC_MSG_WARN([CD Paranoia support disabled because no libcdio >= 0.72 found]))
2023 AC_MSG_WARN([cddax plugin disabled because ok libcdio library not found or disabled])
2027 if test "$enable_libcddb" != "no"; then
2028 PKG_CHECK_MODULES(LIBCDDB, libcddb >= 0.9.5, [
2030 AC_DEFINE(HAVE_LIBCDDB, [], [Define this if you have libcddb installed])
2031 VLC_ADD_LDFLAGS([cddax],[$LIBCDDB_LIBS])
2032 VLC_ADD_CFLAGS([cddax],[$LIBCDDB_CFLAGS])
2034 [AC_MSG_WARN(new enough libcddb not found. CDDB access disabled)
2041 [ --enable-vcdx VCD with navigation via libvcdinfo (default disabled)])
2043 if test "${enable_vcdx}" = "yes"
2045 if test "${have_libvcdinfo}" = "yes"
2047 VLC_ADD_LDFLAGS([vcdx],[$VCDINFO_LIBS])
2048 VLC_ADD_CFLAGS([vcdx],[$VCDINFO_CFLAGS])
2050 AC_MSG_WARN([vcdx plugin disabled because ok libvcdinfo library not found or disabled])
2054 PKG_CHECK_MODULES(LIBCDIO, libiso9660 >= 0.72,
2055 [VLC_ADD_LDFLAGS([vcdx],[$LIBISO9660_LIBS])
2056 VLC_ADD_CFLAGS([vcdx],[$LIBISO9660_CFLAGS])],
2057 [AC_MSG_WARN([vcdx plugin disabled because ok libiso9660 library not found])
2060 if test "$have_libvcdinfo" = "yes"
2062 AC_DEFINE(HAVE_VCDX, [],
2063 [Define for the VCD plugin using libcdio/libvcdinfo])
2064 VLC_ADD_LDFLAGS([vcdx],[$VCDINFO_LIBS])
2065 VLC_ADD_CFLAGS([vcdx],[$VCDINFO_CFLAGS])
2066 VLC_ADD_PLUGINS([vcdx])
2068 AC_MSG_WARN([vcdx plugin disabled because ok libvcdinfo library not found])
2074 dnl Built-in CD-DA and VCD module
2077 [ --enable-cdda audio CD via built-in VCD (default enabled)])
2080 [ --enable-vcd built-in VCD (default enabled)])
2082 if test "${enable_vcd}" != "no"
2084 AC_MSG_CHECKING(for cdrom_msf0 in linux/cdrom.h)
2085 AC_EGREP_HEADER(cdrom_msf0,linux/cdrom.h,[
2087 VLC_ADD_PLUGINS([vcd cdda])
2092 AC_MSG_CHECKING(for scsireq in sys/scsiio.h)
2093 AC_EGREP_HEADER(scsireq,sys/scsiio.h,[
2095 VLC_ADD_PLUGINS([vcd cdda])
2096 AC_DEFINE(HAVE_SCSIREQ_IN_SYS_SCSIIO_H, 1, For NetBSD VCD support)
2101 AC_MSG_CHECKING(for ioc_toc_header in sys/cdio.h)
2102 AC_EGREP_HEADER(ioc_toc_header ,sys/cdio.h,[
2104 VLC_ADD_PLUGINS([vcd cdda])
2105 AC_DEFINE(HAVE_IOC_TOC_HEADER_IN_SYS_CDIO_H, 1, For FreeBSD VCD support)
2110 if test "${SYS}" = "bsdi" -o "${SYS}" = "mingw32"
2112 VLC_ADD_PLUGINS([vcd cdda])
2115 if test "${SYS}" = "darwin"
2117 VLC_ADD_PLUGINS([vcd cdda])
2118 VLC_ADD_LDFLAGS([vcd vcdx cdda cddax],[-framework IOKit -framework CoreFoundation])
2119 VLC_ADD_LDFLAGS([vcdx cddax cdda],[-liconv])
2122 if test "$enable_libcddb" != "no"; then
2123 PKG_CHECK_MODULES(LIBCDDB, libcddb >= 0.9.5, [
2125 AC_DEFINE(HAVE_LIBCDDB, [], [Define this if you have libcddb installed])
2126 VLC_ADD_LDFLAGS([cdda],[$LIBCDDB_LIBS])
2127 VLC_ADD_CFLAGS([cdda],[$LIBCDDB_CFLAGS])
2129 [AC_MSG_WARN(new enough libcddb not found. CDDB access disabled)
2135 dnl DVB-S/DVB-T/DVB-C satellite/teresterial/cable input using v4l2
2138 [ --enable-dvb DVB-S/T/C card support (default disabled)])
2140 if test "${enable_dvb}" = "yes"
2143 [ --with-dvb=PATH path to a dvb- and v4l2-enabled kernel tree],[],[])
2144 if test "${with_dvb}" != "no" -a -n "${with_dvb}"
2146 VLC_ADD_CFLAGS([dvb],[-I${with_dvb}/include])
2148 CPPFLAGS="${CPPFLAGS_save} -I${with_dvb}/include"
2149 AC_CHECK_HEADERS(linux/dvb/version.h linux/dvb/frontend.h, [
2150 if test -z "${with_dvbpsi_tree}"
2152 VLC_ADD_PLUGINS([dvb])
2154 VLC_ADD_BUILTINS([dvb])
2156 ],[AC_MSG_WARN(linux-dvb headers not found, dvb disabled)])
2157 CPPFLAGS="${CPPFLAGS_save}"
2161 dnl Screen capture module
2163 AC_ARG_ENABLE(screen,
2164 [ --enable-screen Screen capture support (default enabled)])
2165 if test "${enable_screen}" != "no"; then
2166 if test "${SYS}" = "darwin"; then
2167 AC_CHECK_HEADERS(ApplicationServices/ApplicationServices.h, [
2168 VLC_ADD_PLUGINS([screen])
2169 VLC_ADD_LDFLAGS([screen],[-framework ApplicationServices])
2171 elif test "${SYS}" = "mingw32"; then
2172 VLC_ADD_PLUGINS([screen])
2173 VLC_ADD_LDFLAGS([screen],[-lgdi32])
2174 elif test "${SYS}" = "mingwce"; then
2175 CPPFLAGS="${CPPFLAGS_save}"
2176 elif test "${SYS}" = "beos"; then
2177 VLC_ADD_PLUGINS([screen])
2178 VLC_ADD_CXXFLAGS([screen],[])
2179 VLC_ADD_LDFLAGS([screen],[-lbe])
2181 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
2182 AC_CHECK_HEADERS(X11/Xlib.h, [
2183 VLC_ADD_PLUGINS([screen])
2184 VLC_ADD_LDFLAGS([screen],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext])
2185 VLC_ADD_CPPFLAGS([screen],[${X_CFLAGS}])
2187 CPPFLAGS="${CPPFLAGS_save}"
2192 dnl ipv6 plugin - not for QNX yet
2195 AC_CHECK_FUNCS(inet_pton,[have_ipv6=yes],[
2196 AC_CHECK_LIB(resolv,inet_pton,
2198 VLC_ADD_LDFLAGS([ipv6 vlc],[-lresolv])])
2201 AS_IF([test "${have_ipv6}" = "yes"], [
2202 AC_DEFINE(HAVE_INET_PTON, 1, [Define to 1 if you have inet_pton().])])
2204 if test "${SYS}" != "nto" &&
2205 test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
2207 AC_MSG_CHECKING(for sockaddr_in6 in netinet/in.h)
2208 AC_EGREP_HEADER(sockaddr_in6,netinet/in.h,
2209 [AC_MSG_RESULT(yes)], [AC_MSG_RESULT(no); have_ipv6=no])
2210 AS_IF([test "${have_ipv6}" != "no"], [
2211 VLC_ADD_PLUGINS([ipv6])])
2213 if test "${SYS}" = "mingw32"
2215 AC_MSG_CHECKING(for getaddrinfo in ws2tcpip.h)
2216 AC_EGREP_HEADER(addrinfo,ws2tcpip.h,[AC_MSG_RESULT(yes)
2217 VLC_ADD_PLUGINS([ipv6])],[AC_MSG_RESULT(no)])
2221 dnl ogg demux plugin
2224 [ --enable-ogg Ogg demux support (default enabled)])
2225 if test "${enable_ogg}" != "no"
2227 AC_ARG_WITH(ogg-tree,
2228 [ --with-ogg-tree=PATH ogg tree for static linking])
2229 if test -n "${with_ogg_tree}"
2231 AC_MSG_CHECKING(for libogg.a in ${with_ogg_tree})
2232 real_ogg_tree="`cd ${with_ogg_tree} 2>/dev/null && pwd`"
2233 if test -z "${real_ogg_tree}"
2235 dnl The given directory can't be found
2237 AC_MSG_ERROR([cannot cd to ${with_ogg_tree}])
2239 if test -f "${real_ogg_tree}/src/.libs/libogg.a"
2241 dnl Use a custom ogg
2242 AC_MSG_RESULT(${real_ogg_tree}/src/.libs/libogg.a)
2243 VLC_ADD_PLUGINS([ogg])
2244 if test "${enable_sout}" != "no"; then
2245 VLC_ADD_PLUGINS([mux_ogg])
2247 VLC_ADD_LDFLAGS([ogg mux_ogg speex vorbis],[${real_ogg_tree}/src/.libs/libogg.a])
2248 VLC_ADD_CFLAGS([ogg mux_ogg speex vorbis],[-I${real_ogg_tree}/include])
2250 dnl The given ogg wasn't built
2252 AC_MSG_ERROR([cannot find ${real_ogg_tree}/src/.libs/libogg.a, make sure you compiled ogg in ${with_ogg_tree}])
2255 AC_CHECK_HEADERS(ogg/ogg.h, [
2256 AC_CHECK_LIB( ogg, oggpack_read, [
2257 VLC_ADD_PLUGINS([ogg])
2258 if test "${enable_sout}" != "no"; then
2259 VLC_ADD_PLUGINS([mux_ogg])
2261 VLC_ADD_LDFLAGS([ogg mux_ogg],[-logg])])
2267 dnl matroska demux plugin
2270 [ --enable-mkv Matroska demux support (default enabled)])
2271 if test "${enable_mkv}" != "no" -a "${CXX}" != ""; then
2273 AC_CHECK_HEADERS(ebml/EbmlVersion.h, [
2274 AC_MSG_CHECKING(for libebml version >= 0.7.6)
2276 [#include <ebml/EbmlVersion.h>
2277 #ifdef LIBEBML_VERSION
2278 #if LIBEBML_VERSION >= 0x000706
2282 [AC_MSG_RESULT([yes])
2283 AC_CHECK_HEADERS(matroska/KaxVersion.h, [
2284 AC_MSG_CHECKING(for libmatroska version >= 0.7.5)
2286 [#include <matroska/KaxVersion.h>
2287 #ifdef LIBMATROSKA_VERSION
2288 #if LIBMATROSKA_VERSION >= 0x000705
2292 [AC_MSG_RESULT([yes])
2293 AC_CHECK_HEADERS(matroska/KaxAttachments.h)
2294 VLC_ADD_CXXFLAGS([mkv],[])
2295 if test "${SYS}" = "darwin"; then
2296 VLC_ADD_CXXFLAGS([mkv],[-O1])
2298 AC_CHECK_LIB(ebml_pic, main, [
2299 # We have ebml_pic, that's good, we can build an mkv.so plugin !
2300 VLC_ADD_PLUGINS([mkv])
2301 VLC_ADD_LDFLAGS([mkv],[-lmatroska_pic -lebml_pic])
2303 AC_CHECK_LIB(ebml, main, [
2304 # We only have libebml, make mkv.a a builtin
2305 VLC_ADD_BUILTINS([mkv])
2306 VLC_ADD_LDFLAGS([mkv],[-lmatroska -lebml])
2310 [AC_MSG_RESULT([no])
2311 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.])
2315 [AC_MSG_RESULT([no])
2316 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.])
2323 dnl modplug demux plugin
2326 [ --enable-mod Mod demux support (default enabled)])
2327 if test "${enable_mod}" != "no"
2329 AC_ARG_WITH(mod-tree,
2330 [ --with-mod-tree=PATH mod tree for static linking])
2331 if test -n "${with_mod_tree}"
2333 AC_MSG_CHECKING(for libmodplug.a in ${with_mod_tree})
2334 real_mod_tree="`cd ${with_mod_tree} 2>/dev/null && pwd`"
2335 if test -z "${real_mod_tree}"
2337 dnl The given directory can't be found
2339 AC_MSG_ERROR([cannot cd to ${with_mod_tree}])
2341 if test -f "${real_mod_tree}/src/.libs/libmodplug.a"
2343 dnl Use a custom mod
2344 AC_MSG_RESULT(${real_mod_tree}/src/.libs/libmodplug.a)
2345 VLC_ADD_PLUGINS([mod])
2346 VLC_ADD_LDFLAGS([mod],[${real_mod_tree}/src/.libs/libmodplug.a])
2347 VLC_ADD_CFLAGS([mod],[-I${real_mod_tree}/include])
2349 dnl The given mod wasn't built
2351 AC_MSG_ERROR([cannot find ${real_mod_tree}/src/.libs/libmodplug.a, make sure you compiled mod in ${with_mod_tree}])
2354 AC_CHECK_HEADERS(libmodplug/modplug.h, [
2355 VLC_ADD_PLUGINS([mod])
2356 VLC_ADD_CXXFLAGS([mod],[])
2357 VLC_ADD_LDFLAGS([mod],[-lmodplug])])
2362 dnl mpc demux plugin
2365 [ --enable-mpc Mpc demux support (default enabled)])
2366 if test "${enable_mpc}" != "no"
2368 AC_CHECK_HEADERS(mpcdec/mpcdec.h, [
2369 VLC_ADD_PLUGINS([mpc])
2370 VLC_ADD_LDFLAGS([mpc],[-lmpcdec])])
2378 AC_ARG_WITH(,[Codec plugins:])
2384 [ --enable-mad libmad module (default enabled)])
2385 if test "${enable_mad}" != "no"
2388 [ --with-mad=PATH path to libmad],[],[])
2389 if test "${with_mad}" != "no" -a -n "${with_mad}"
2391 VLC_ADD_CPPFLAGS([mpgatofixed32],[-I${with_mad}/include])
2392 VLC_ADD_LDFLAGS([mpgatofixed32],[-L${with_mad}/lib])
2395 AC_ARG_WITH(mad-tree,
2396 [ --with-mad-tree=PATH mad tree for static linking],[],[])
2397 if test "${with_mad_tree}" != "no" -a -n "${with_mad_tree}"
2399 real_mad_tree="`cd ${with_mad_tree} 2>/dev/null && pwd`"
2400 if test -z "${real_mad_tree}"
2402 dnl The given directory can't be found
2404 AC_MSG_ERROR([${with_mad_tree} directory doesn't exist])
2406 dnl Use a custom libmad
2407 AC_MSG_CHECKING(for mad.h in ${real_mad_tree})
2408 if test -f ${real_mad_tree}/mad.h
2411 VLC_ADD_CPPFLAGS([mpgatofixed32],[-I${real_mad_tree}])
2412 VLC_ADD_LDFLAGS([mpgatofixed32],[-L${real_mad_tree}/.libs])
2413 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_mpgatofixed32}"
2414 AC_CHECK_LIB(mad, mad_bit_init, [
2415 VLC_ADD_BUILTINS([mpgatofixed32])
2416 VLC_ADD_LDFLAGS([mpgatofixed32],[-lmad])
2417 ],[ AC_MSG_ERROR([the specified tree hasn't been compiled ])
2419 LDFLAGS="${LDFLAGS_save}"
2422 AC_MSG_ERROR([the specified tree doesn't have mad.h])
2425 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_mpgatofixed32}"
2426 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_mpgatofixed32}"
2427 AC_CHECK_HEADERS(mad.h, ,
2428 [ 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.]) ])
2429 AC_CHECK_LIB(mad, mad_bit_init, [
2430 VLC_ADD_PLUGINS([mpgatofixed32])
2431 VLC_ADD_LDFLAGS([mpgatofixed32],[-lmad])],
2432 [ AC_MSG_ERROR([Cannot find libmad library...]) ])
2433 CPPFLAGS="${CPPFLAGS_save}"
2434 LDFLAGS="${LDFLAGS_save}"
2439 dnl libid3tag support (FIXME!!! doesn't work with new input)
2441 AC_CHECK_HEADERS(id3tag.h, [
2442 AC_CHECK_HEADERS(zlib.h, [
2443 VLC_ADD_LDFLAGS([id3tag],[-lid3tag -lz])
2444 VLC_ADD_PLUGINS([id3tag])]) ])
2447 dnl ffmpeg decoder/demuxer plugin
2449 dnl we try to find ffmpeg using : 1- given tree 2- ffmpeg-config, 3- pkg-config
2450 dnl 4- default place,
2452 AC_ARG_ENABLE(ffmpeg,
2453 [ --enable-ffmpeg ffmpeg codec (default enabled)])
2454 if test "${enable_ffmpeg}" != "no"
2457 dnl Those options have to be here because the .pc can be bogus for ffmpeg previous nov 05
2459 AC_ARG_WITH(ffmpeg-mp3lame,
2460 [ --with-ffmpeg-mp3lame specify if ffmpeg has been compiled with mp3lame support],
2462 if test "$with_ffmpeg_mp3lame" = "yes"; then
2463 VLC_ADD_LDFLAGS([ffmpeg],[-lmp3lame])
2466 AC_ARG_WITH(ffmpeg-faac,
2467 [ --with-ffmpeg-faac specify if ffmpeg has been compiled with faac support],
2469 if test "$with_ffmpeg_faac" = "yes"; then
2470 VLC_ADD_LDFLAGS([ffmpeg],[-lfaac])
2473 AC_ARG_WITH(ffmpeg-dts,
2474 [ --with-ffmpeg-dts specify if ffmpeg has been compiled with dts support],
2476 if test "$with_ffmpeg_dts" = "yes"; then
2477 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_ffmpeg}"
2478 AC_CHECK_LIB(dts_pic, dts_free,
2479 [ VLC_ADD_LDFLAGS([ffmpeg],[-ldts_pic]) ],
2480 [ VLC_ADD_LDFLAGS([ffmpeg],[-ldts]) ])
2481 LDFLAGS="${LDFLAGS_save}"
2484 AC_ARG_WITH(ffmpeg-vorbis,
2485 [ --with-ffmpeg-vorbis specify if ffmpeg has been compiled with vorbis support],
2487 if test "$with_ffmpeg_vorbis" = "yes"; then
2488 VLC_ADD_LDFLAGS([ffmpeg],[-lvorbisenc -lvorbis])
2491 AC_ARG_WITH(ffmpeg-theora,
2492 [ --with-ffmpeg-theora specify if ffmpeg has been compiled with theora support],
2494 if test "$with_ffmpeg_theora" = "yes"; then
2495 VLC_ADD_LDFLAGS([ffmpeg],[-ltheora])
2498 AC_ARG_WITH(ffmpeg-ogg,
2499 [ --with-ffmpeg-ogg specify if ffmpeg has been compiled with ogg support],
2501 if test "$with_ffmpeg_ogg" = "yes"; then
2502 VLC_ADD_LDFLAGS([ffmpeg],[-logg])
2505 AC_ARG_WITH(ffmpeg-zlib,
2506 [ --with-ffmpeg-zlib specify if ffmpeg has been compiled with zlib support],
2508 if test "$with_ffmpeg_zlib" = "yes"; then
2509 VLC_ADD_LDFLAGS([ffmpeg],[-lz])
2513 dnl test for --with-ffmpeg-tree
2515 AC_ARG_WITH(ffmpeg-tree,
2516 [ --with-ffmpeg-tree=PATH ffmpeg tree for static linking])
2518 if test "${with_ffmpeg_tree}" != "no" -a -n "${with_ffmpeg_tree}"; then
2519 AC_MSG_CHECKING(for libavcodec.a in ${with_ffmpeg_tree})
2520 real_ffmpeg_tree="`cd ${with_ffmpeg_tree} 2>/dev/null && pwd`"
2521 if test -z "${real_ffmpeg_tree}"; then
2522 dnl The given directory can't be found
2524 AC_MSG_ERROR([cannot cd to ${with_ffmpeg_tree}])
2526 if ! test -f "${real_ffmpeg_tree}/libavcodec/libavcodec.a"; then
2527 dnl The given libavcodec wasn't built
2529 AC_MSG_ERROR([cannot find ${real_ffmpeg_tree}/libavcodec/libavcodec.a, make sure you compiled libavcodec in ${with_ffmpeg_tree}])
2531 if ! fgrep -s "pp_get_context" "${real_ffmpeg_tree}/libavcodec/libavcodec.a"; then
2532 if test -f "${real_ffmpeg_tree}/libavcodec/libpostproc/libpostproc.a"; then
2533 VLC_ADD_LDFLAGS([ffmpeg],[-L${real_ffmpeg_tree}/libavcodec/libpostproc ${real_ffmpeg_tree}/libavcodec/libpostproc/libpostproc.a])
2535 dnl The given libavcodec wasn't built with --enable-pp
2537 AC_MSG_ERROR([${real_ffmpeg_tree}/libavcodec/libavcodec.a was not compiled with postprocessing support, make sure you configured ffmpeg with --enable-pp])
2540 dnl Use a custom libffmpeg
2541 AC_MSG_RESULT(${real_ffmpeg_tree}/libavcodec/libavcodec.a)
2543 if fgrep -s "CONFIG_ZLIB=yes" "${real_ffmpeg_tree}/config.mak"; then
2544 if test "${with_ffmpeg_zlib}" != "yes"; then
2545 VLC_ADD_LDFLAGS([ffmpeg],[-lz])
2548 if fgrep -s "CONFIG_MP3LAME=yes" "${real_ffmpeg_tree}/config.mak"; then
2549 if test "${with_ffmpeg_mp3lame}" != "yes"; then
2550 VLC_ADD_LDFLAGS([ffmpeg],[-lmp3lame])
2553 if fgrep -s "CONFIG_FAAC=yes" "${real_ffmpeg_tree}/config.mak"; then
2554 if test "${with_ffmpeg_faac}" != "yes"; then
2555 VLC_ADD_LDFLAGS([ffmpeg],[-lfaac])
2558 if fgrep -s "CONFIG_DTS=yes" "${real_ffmpeg_tree}/config.mak"; then
2559 if test "${with_ffmpeg_dts}" != "yes"; then
2560 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_ffmpeg}"
2561 AC_CHECK_LIB(dts_pic, dts_free,
2562 [ VLC_ADD_LDFLAGS([ffmpeg],[-ldts_pic]) ],
2563 [ VLC_ADD_LDFLAGS([ffmpeg],[-ldts]) ])
2564 LDFLAGS="${LDFLAGS_save}"
2567 if fgrep -s "CONFIG_VORBIS=yes" "${real_ffmpeg_tree}/config.mak"; then
2568 VLC_ADD_LDFLAGS([ffmpeg],[-lvorbis -lvorbisenc])
2570 if fgrep -s "CONFIG_FAAD=yes" "${real_ffmpeg_tree}/config.mak"; then
2571 VLC_ADD_LDFLAGS([ffmpeg],[-lfaad])
2573 if fgrep -s "CONFIG_XVID=yes" "${real_ffmpeg_tree}/config.mak"; then
2574 VLC_ADD_LDFLAGS([ffmpeg],[-lxvidcore])
2577 VLC_ADD_BUILTINS([ffmpeg])
2578 if test "${enable_sout}" != "no"; then
2579 VLC_ADD_BUILTINS([stream_out_switcher])
2582 if test -f "${real_ffmpeg_tree}/libavutil/libavutil.a"; then
2583 VLC_ADD_LDFLAGS([ffmpeg],[-L${real_ffmpeg_tree}/libavutil ${real_ffmpeg_tree}/libavutil/libavutil.a])
2584 VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher],[-I${real_ffmpeg_tree}/libavutil])
2587 VLC_ADD_LDFLAGS([ffmpeg],[-L${real_ffmpeg_tree}/libavcodec ${real_ffmpeg_tree}/libavcodec/libavcodec.a])
2588 VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher],[-I${real_ffmpeg_tree}/libavcodec])
2590 if test -f "${real_ffmpeg_tree}/libavformat/libavformat.a"; then
2591 AC_DEFINE(HAVE_LIBAVFORMAT, 1, [Define if you have ffmpeg's libavformat.])
2592 VLC_ADD_LDFLAGS([ffmpeg],[-L${real_ffmpeg_tree}/libavformat ${real_ffmpeg_tree}/libavformat/libavformat.a])
2593 VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher],[-I${real_ffmpeg_tree}/libavformat])
2597 dnl Look for a ffmpeg-config (we are on debian )
2599 FFMPEG_PATH="${PATH}"
2600 AC_ARG_WITH(ffmpeg-config-path,
2601 [ --with-ffmpeg-config-path=PATH ffmpeg-config path (default search in \$PATH)],
2602 [ if test "${with_ffmpeg_config_path}" != "no"
2604 FFMPEG_PATH="${with_ffmpeg_config_path}"
2606 AC_PATH_PROG(FFMPEG_CONFIG, ffmpeg-config, no, ${FFMPEG_PATH})
2607 if test "${FFMPEG_CONFIG}" != "no"
2609 AC_CHECK_HEADERS(ffmpeg/avcodec.h)
2610 AC_CHECK_HEADERS(postproc/postprocess.h)
2611 VLC_ADD_PLUGINS([ffmpeg])
2612 if test "${enable_sout}" != "no"; then
2613 VLC_ADD_PLUGINS([stream_out_switcher])
2615 VLC_ADD_CFLAGS([ffmpeg stream_out_switcher],[`${FFMPEG_CONFIG} --cflags`])
2616 VLC_ADD_LDFLAGS([ffmpeg stream_out_switcher],[`${FFMPEG_CONFIG} --plugin-libs avcodec avformat postproc`])
2620 dnl Trying with pkg-config
2621 PKG_CHECK_MODULES(FFMPEG,[libavcodec, libavformat],
2623 AC_CHECK_HEADERS(ffmpeg/avcodec.h)
2624 AC_CHECK_HEADERS(postproc/postprocess.h)
2625 VLC_ADD_BUILTINS([ffmpeg])
2626 if test "${enable_sout}" != "no"; then
2627 VLC_ADD_BUILTINS([stream_out_switcher])
2629 VLC_ADD_CFLAGS([ffmpeg stream_out_switcher],[${FFMPEG_CFLAGS}])
2630 VLC_ADD_LDFLAGS([ffmpeg],[${FFMPEG_LIBS}])
2631 dnl newer ffmpeg have a separate libpostproc
2632 PKG_CHECK_MODULES(POSTPROC, libpostproc,[
2633 VLC_ADD_LDFLAGS([ffmpeg],[${POSTPROC_LIBS}])
2638 dnl last chance: at the default place
2640 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_ffmpeg}"
2641 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_ffmpeg}"
2642 AC_CHECK_HEADERS(ffmpeg/avcodec.h, [], [AC_MSG_ERROR([Missing header file ffmpeg/avcodec.h.])] )
2643 AC_CHECK_HEADERS(postproc/postprocess.h, [], [AC_MSG_ERROR([Missing header file postproc/postprocess.h.])] )
2645 AC_CHECK_LIB(avutil, av_add_i, [
2646 VLC_ADD_LDFLAGS([ffmpeg],[-lavutil])
2647 LDAVUTIL="-lavutil"])
2649 AC_CHECK_LIB(postproc, pp_postprocess, [
2650 VLC_ADD_LDFLAGS([ffmpeg],[-lpostproc])])
2652 AC_CHECK_LIB(avcodec, avcodec_init, [
2653 VLC_ADD_BUILTINS([ffmpeg])
2654 VLC_ADD_LDFLAGS([ffmpeg],[-lavcodec])
2655 if test "${enable_sout}" != "no"; then
2656 VLC_ADD_BUILTINS([stream_out_switcher])
2658 [ 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])
2659 AC_CHECK_LIB(avformat, av_open_input_stream, [
2660 AC_DEFINE(HAVE_LIBAVFORMAT, 1,
2661 [Define if you have ffmpeg's libavformat.])
2662 VLC_ADD_LDFLAGS([ffmpeg],[-lavformat -lz]) ], [], [-lavcodec -lz $LDAVUTIL])
2663 LDFLAGS="${LDFLAGS_save}"
2664 CPPFLAGS="${CPPFLAGS_save}"
2671 dnl ffmpegaltivec plugin
2673 AC_ARG_ENABLE(ffmpegaltivec,
2674 [ --enable-ffmpegaltivec ffmpegaltivec codec (DO NOT USE)])
2675 if test "${enable_ffmpegaltivec}" = "yes"
2677 if test "${with_ffmpeg_tree}" != "no" -a -n "${with_ffmpeg_tree}"; then
2678 AC_MSG_CHECKING(for libavcodecaltivec.a in ${with_ffmpeg_tree})
2679 real_ffmpeg_tree="`cd ${with_ffmpeg_tree} 2>/dev/null && pwd`"
2680 if test -z "${real_ffmpeg_tree}"; then
2681 dnl The given directory can't be found
2683 AC_MSG_ERROR([cannot cd to ${with_ffmpeg_tree}])
2685 if ! test -f "${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a"; then
2686 dnl The given libavcodecaltivec wasn't built
2688 AC_MSG_ERROR([cannot find ${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a, make sure you compiled libavcodecaltivec in ${with_ffmpeg_tree}])
2690 if ! fgrep -s "pp_get_context" "${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a"; then
2691 dnl The given libavcodecaltivec wasn't built with --enable-pp
2693 AC_MSG_ERROR([${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a was not compiled with postprocessing support, make sure you configured ffmpeg with --enable-pp])
2695 dnl Use a custom libffmpeg
2696 AC_MSG_RESULT(${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a)
2697 VLC_ADD_BUILTINS([ffmpegaltivec])
2698 VLC_ADD_LDFLAGS([ffmpegaltivec],[-L${real_ffmpeg_tree}/libavcodec -lavcodecaltivec])
2699 VLC_ADD_CPPFLAGS([ffmpeg],[-DNO_ALTIVEC_IN_FFMPEG])
2700 VLC_ADD_CPPFLAGS([ffmpegaltivec],[-I${real_ffmpeg_tree}/libavcodec -I${real_ffmpeg_tree}/libavformat])
2702 if test -f "${real_ffmpeg_tree}/libavformat/libavformat.a"; then
2703 AC_DEFINE(HAVE_LIBAVFORMAT, 1, [Define if you have ffmpeg's libavformat.])
2704 VLC_ADD_LDFLAGS([ffmpegaltivec],[-L${real_ffmpeg_tree}/libavformat -lavformataltivec -lz])
2705 VLC_ADD_CPPFLAGS([ffmpegaltivec],[-I${real_ffmpeg_tree}/libavformat])
2707 VLC_ADD_LDFLAGS([stream_out_switcher],[-L${real_ffmpeg_tree}/libavcodec])
2708 VLC_ADD_CPPFLAGS([stream_out_switcher],[-I${real_ffmpeg_tree}/libavcodec -I${real_ffmpeg_tree}/libavformat])
2713 dnl faad decoder plugin
2716 [ --enable-faad faad codec (default disabled)])
2717 if test "${enable_faad}" = "yes"
2719 AC_ARG_WITH(faad-tree,
2720 [ --with-faad-tree=PATH faad tree for static linking])
2721 if test -n "${with_faad_tree}"
2723 AC_MSG_CHECKING(for libfaad.a in ${with_faad_tree})
2724 real_faad_tree="`cd ${with_faad_tree} 2>/dev/null && pwd`"
2725 if test -z "${real_faad_tree}"
2727 dnl The given directory can't be found
2729 AC_MSG_ERROR([cannot cd to ${with_faad_tree}])
2731 if test -f "${real_faad_tree}/libfaad/.libs/libfaad.a"
2733 dnl Use a custom faad
2734 AC_MSG_RESULT(${real_faad_tree}/libfaad/.libs/libfaad.a)
2735 VLC_ADD_BUILTINS([faad])
2736 VLC_ADD_LDFLAGS([faad],[${real_faad_tree}/libfaad/.libs/libfaad.a])
2737 VLC_ADD_CPPFLAGS([faad],[-I${real_faad_tree}/include])
2739 dnl The given libfaad wasn't built
2741 AC_MSG_ERROR([cannot find ${real_faad_tree}/libfaad/.libs/libfaad.a, make sure you compiled libfaad in ${with_faad_tree}])
2744 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_faad}"
2745 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_faad}"
2746 AC_CHECK_HEADERS(faad.h, ,
2747 [ AC_MSG_ERROR([Cannot find development headers for libfaad...]) ])
2748 AC_CHECK_LIB(faad, faacDecOpen, [
2749 VLC_ADD_PLUGINS([faad])
2750 VLC_ADD_LDFLAGS([faad],[-lfaad]) ],
2751 AC_CHECK_LIB(faad, NeAACDecOpen, [
2752 VLC_ADD_PLUGINS([faad])
2753 VLC_ADD_LDFLAGS([faad],[-lfaad]) ],
2754 [ AC_MSG_ERROR([Cannot find libfaad library...]) ]))
2755 LDFLAGS="${LDFLAGS_save}"
2756 CPPFLAGS="${CPPFLAGS_save}"
2761 dnl twolame encoder plugin
2763 AC_ARG_ENABLE(twolame,
2764 [ --enable-twolame twolame codec (default disabled)])
2765 if test "${enable_twolame}" = "yes"
2767 AC_ARG_WITH(twolame-tree,
2768 [ --with-twolame-tree=PATH twolame tree for static linking])
2769 if test -n "${with_twolame_tree}"
2771 AC_MSG_CHECKING(for libtwolame.a in ${with_twolame_tree})
2772 real_twolame_tree="`cd ${with_twolame_tree} 2>/dev/null && pwd`"
2773 if test -z "${real_twolame_tree}"
2775 dnl The given directory can't be found
2777 AC_MSG_ERROR([cannot cd to ${with_twolame_tree}])
2779 if test -f "${real_twolame_tree}/src/libtwolame/.libs/libtwolame.a"
2781 dnl Use a custom twolame
2782 AC_MSG_RESULT(${real_twolame_tree}/src/libtwolame/.libs/libtwolame.a)
2783 VLC_ADD_BUILTINS([twolame])
2784 VLC_ADD_LDFLAGS([twolame],[${real_twolame_tree}/src/libtwolame/.libs/libtwolame.a])
2785 VLC_ADD_CPPFLAGS([twolame],[-I${real_twolame_tree}/src/libtwolame])
2787 dnl The given libtwolame wasn't built
2789 AC_MSG_ERROR([cannot find ${real_twolame_tree}/src/libtwolame/.libs/libtwolame.a, make sure you compiled libtwolame in ${with_twolame_tree}])
2792 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_twolame}"
2793 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_twolame}"
2794 AC_CHECK_HEADERS(twolame.h, ,
2795 [ AC_MSG_ERROR([Cannot find development header for libtwolame...]) ])
2796 AC_CHECK_LIB(twolame, twolame_init, [
2797 VLC_ADD_PLUGINS([twolame])
2798 VLC_ADD_LDFLAGS([twolame],[-ltwolame]) ],
2799 [ AC_MSG_ERROR([Cannot find libtwolame library...]) ])
2800 LDFLAGS="${LDFLAGS_save}"
2801 CPPFLAGS="${CPPFLAGS_save}"
2806 dnl QuickTime plugin
2808 AC_ARG_ENABLE(quicktime,
2809 [ --enable-quicktime QuickTime module (default enabled on MacOS X)])
2810 if test "${enable_quicktime}" != "no" &&
2811 (test "${SYS}" = "darwin" || test "${enable_quicktime}" = "yes")
2813 if test "${SYS}" = "mingw32"; then
2814 VLC_ADD_BUILTINS([quicktime])
2816 AC_CHECK_HEADERS(QuickTime/QuickTime.h,
2817 [ VLC_ADD_BUILTINS([quicktime])
2818 VLC_ADD_LDFLAGS([quicktime],[-framework QuickTime -framework Carbon])
2819 ], [ AC_MSG_ERROR([cannot find QuickTime headers]) ])
2827 [ --enable-real Real audio module (default disabled)])
2828 if test "${enable_real}" = "yes"; then
2829 VLC_ADD_PLUGINS([realaudio])
2833 dnl Real RTSP plugin
2835 AC_ARG_ENABLE(realrtsp,
2836 [ --enable-realrtsp Real RTSP module (default disabled)])
2837 if test "${enable_realrtsp}" = "yes"; then
2838 VLC_ADD_PLUGINS([access_realrtsp])
2844 AC_CHECK_HEADERS(zlib.h, [
2845 VLC_ADD_LDFLAGS([mp4 skins2 sap mkv],[-lz])
2848 AC_CHECK_HEADERS(sysfs/libsysfs.h, [
2849 VLC_ADD_LDFLAGS([mp4 mkv],[-lsysfs])
2855 AC_CHECK_HEADERS(libtar.h, [
2856 VLC_ADD_LDFLAGS([skins2],[-ltar])
2862 dnl A52/AC3 decoder plugin
2865 [ --enable-a52 A/52 support with liba52 (default enabled)])
2866 if test "${enable_a52}" != "no"
2869 [ --with-a52=PATH a52 headers and libraries])
2870 AC_ARG_WITH(a52-tree,
2871 [ --with-a52-tree=PATH a52dec tree for static linking ],[],[])
2872 if test "${with_a52_tree}" != "no" -a -n "${with_a52_tree}"
2874 real_a52_tree="`cd ${with_a52_tree} 2>/dev/null && pwd`"
2875 if test -z "${real_a52_tree}"
2877 dnl The given directory can't be found
2879 AC_MSG_ERROR([${with_a52_tree} directory doesn't exist])
2881 dnl Use a custom a52dec
2882 AC_MSG_CHECKING(for a52.h in ${real_a52_tree}/include)
2883 if test -f ${real_a52_tree}/include/a52.h
2886 VLC_ADD_CPPFLAGS([a52tofloat32],[-I${real_a52_tree}])
2887 VLC_ADD_LDFLAGS([a52tofloat32],[-L${real_a52_tree}/liba52/.libs])
2888 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_a52tofloat32}"
2889 AC_CHECK_LIB(a52, a52_free, [
2890 VLC_ADD_BUILTINS([a52tofloat32])
2891 VLC_ADD_CPPFLAGS([a52tofloat32],[-DUSE_A52DEC_TREE])
2892 VLC_ADD_LDFLAGS([a52tofloat32],[-la52])
2894 if test -f ${real_a52_tree}/liba52/.libs/liba52.a
2896 AC_MSG_ERROR([make sure you have at least a52dec-0.7.3])
2898 AC_MSG_ERROR([the specified tree hasn't been compiled])
2901 LDFLAGS="${LDFLAGS_save}"
2904 AC_MSG_ERROR([the specified tree doesn't have a52.h])
2907 if test -z "${with_a52}"
2912 LDFLAGS_test="-L${with_a52}/lib"
2913 CPPFLAGS_test="-I${with_a52}/include"
2915 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_test} ${CPPFLAGS_a52tofloat32}"
2916 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_test} ${LDFLAGS_a52tofloat32}"
2917 AC_CHECK_HEADERS(a52dec/a52.h, [
2918 AC_CHECK_LIB(a52, a52_free, [
2919 VLC_ADD_PLUGINS([a52tofloat32])
2920 VLC_ADD_LDFLAGS([a52tofloat32],[${LDFLAGS_test} -la52])
2921 VLC_ADD_CPPFLAGS([a52tofloat32],[${CPPFLAGS_test}])
2923 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.])
2926 CPPFLAGS="${CPPFLAGS_save}"
2927 LDFLAGS="${LDFLAGS_save}"
2931 AC_ARG_WITH(a52-fixed,
2932 [ --with-a52-fixed specify if liba52 has been compiled with fixed point support],
2934 VLC_ADD_CPPFLAGS([a52tofloat32],[-DLIBA52_FIXED]) ])
2937 dnl DTS Coherent Acoustics decoder plugin
2940 [ --enable-dts DTS Coherent Acoustics support with libdts (default enabled)])
2941 if test "${enable_dts}" != "no"; then
2942 AC_ARG_WITH(dts-tree,
2943 [ --with-dts-tree=PATH libdts tree for static linking ],[],[])
2944 if test "${with_dts_tree}" != "no" -a -n "${with_dts_tree}"
2946 real_dts_tree="`cd ${with_dts_tree} 2>/dev/null && pwd`"
2947 if test -z "${real_dts_tree}"
2949 dnl The given directory can't be found
2951 AC_MSG_ERROR([${with_dts_tree} directory doesn't exist])
2953 dnl Use a custom libdts
2954 AC_MSG_CHECKING(for dts.h in ${real_dts_tree}/include)
2955 if test -f ${real_dts_tree}/include/dts.h
2958 VLC_ADD_CPPFLAGS([dtstofloat32],[-I${real_dts_tree}/include])
2959 VLC_ADD_LDFLAGS([dtstofloat32],[-L${real_dts_tree}/libdts])
2960 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_dtstofloat32}"
2961 AC_CHECK_LIB(dts_pic, dts_free, [
2962 VLC_ADD_PLUGINS([dtstofloat32])
2963 VLC_ADD_LDFLAGS([dtstofloat32],[-ldts_pic])
2965 AC_CHECK_LIB(dts, dts_free, [
2966 VLC_ADD_BUILTINS([dtstofloat32])
2967 VLC_ADD_LDFLAGS([dtstofloat32],[-ldts])
2969 if test -f ${real_dts_tree}/libdts/libdts.a
2971 AC_MSG_ERROR([make sure you have at least libdts-0.0.2])
2973 AC_MSG_ERROR([the specified tree hasn't been compiled])
2977 LDFLAGS="${LDFLAGS_save}"
2980 AC_MSG_ERROR([the specified tree doesn't have dts.h])
2983 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_dtstofloat32}"
2984 AC_CHECK_HEADERS(dts.h, [
2985 AC_CHECK_LIB(dts_pic, dts_free, [
2986 VLC_ADD_PLUGINS([dtstofloat32])
2987 VLC_ADD_LDFLAGS([dtstofloat32],[-ldts_pic])
2989 AC_CHECK_LIB(dts, dts_free, [
2990 VLC_ADD_BUILTINS([dtstofloat32])
2991 VLC_ADD_LDFLAGS([dtstofloat32],[-ldts])
2993 if test "${enable_dts}" = "yes"; then
2994 AC_MSG_ERROR([Could not find libdts on your system: you may get it from http://www.videolan.org/dtsdec.html])
2999 LDFLAGS="${LDFLAGS_save}"
3007 [ --enable-flac flac decoder support (default disabled)])
3008 if test "${enable_flac}" = "yes"
3010 AC_ARG_WITH(flac-tree,
3011 [ --with-flac-tree=PATH flac tree for static linking])
3012 if test -n "${with_flac_tree}"
3014 AC_MSG_CHECKING(for libFLAC.a in ${with_flac_tree})
3015 real_flac_tree="`cd ${with_flac_tree} 2>/dev/null && pwd`"
3016 if test -z "${real_flac_tree}"
3018 dnl The given directory can't be found
3020 AC_MSG_ERROR([cannot cd to ${with_flac_tree}])
3022 if test -f "${real_flac_tree}/src/libFLAC/.libs/libFLAC.a"
3024 dnl Use a custom flac
3025 AC_MSG_RESULT(${real_flac_tree}/src/libFLAC/.libs/libFLAC.a)
3026 VLC_ADD_LDFLAGS([flacdec],[${real_flac_tree}/src/libFLAC/.libs/libFLAC.a])
3027 VLC_ADD_CFLAGS([flacdec],[-I${real_flac_tree}/include])
3028 AC_DEFINE(HAVE_FLAC_STREAM_DECODER_H, 1, [Define if you have FLAC])
3030 dnl The given flac wasn't built
3032 AC_MSG_ERROR([cannot find ${real_flac_tree}/src/libFLAC/.libs/libFLAC.a, make sure you compiled flac in ${with_flac_tree}])
3035 AC_CHECK_HEADERS(FLAC/stream_decoder.h, [
3036 VLC_ADD_LDFLAGS([flacdec],[-lFLAC])
3044 AC_ARG_ENABLE(libmpeg2,
3045 [ --enable-libmpeg2 libmpeg2 decoder support (default enabled)])
3046 if test "${enable_libmpeg2}" != "no"
3048 AC_ARG_WITH(libmpeg2-tree,
3049 [ --with-libmpeg2-tree=PATH libmpeg2 tree for static linking])
3050 if test -n "${with_libmpeg2_tree}"
3052 AC_MSG_CHECKING(for libmpeg2.a in ${with_libmpeg2_tree})
3053 real_libmpeg2_tree="`cd ${with_libmpeg2_tree} 2>/dev/null && pwd`"
3054 if test -z "${real_libmpeg2_tree}"
3056 dnl The given directory can't be found
3058 AC_MSG_ERROR([cannot cd to ${with_libmpeg2_tree}])
3060 if test -f "${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a"
3062 dnl Use a custom libmpeg2
3063 AC_MSG_RESULT(${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a)
3064 VLC_ADD_BUILTINS([libmpeg2])
3065 VLC_ADD_LDFLAGS([libmpeg2],[-L${real_libmpeg2_tree}/libmpeg2/.libs -lmpeg2])
3066 VLC_ADD_CFLAGS([libmpeg2],[-I${real_libmpeg2_tree}/include])
3067 eval "`cd ${real_libmpeg2_tree}/include && ln -sf . mpeg2dec 2>/dev/null`"
3069 dnl The given libmpeg2 wasn't built
3071 AC_MSG_ERROR([cannot find ${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a, make sure you compiled libmpeg2 in ${with_libmpeg2_tree}])
3074 AC_CHECK_HEADERS(mpeg2dec/mpeg2.h, [
3075 AC_MSG_CHECKING(for libmpeg2 version >= 0.3.2)
3077 [#include <mpeg2dec/mpeg2.h>
3078 #ifdef MPEG2_RELEASE
3079 #if MPEG2_RELEASE >= MPEG2_VERSION(0,3,2)
3083 [AC_MSG_RESULT([yes])
3084 VLC_ADD_PLUGINS([libmpeg2])
3085 VLC_ADD_LDFLAGS([libmpeg2],[-lmpeg2])],
3086 [AC_MSG_RESULT([no])
3087 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.])])],
3089 [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.])]
3097 AC_ARG_ENABLE(vorbis,
3098 [ --enable-vorbis Vorbis decoder support (default enabled)])
3099 if test "${enable_vorbis}" != "no"
3101 AC_ARG_WITH(vorbis-tree,
3102 [ --with-vorbis-tree=PATH vorbis tree for static linking])
3103 if test -n "${with_vorbis_tree}"
3105 AC_MSG_CHECKING(for libvorbis.a in ${with_vorbis_tree})
3106 real_vorbis_tree="`cd ${with_vorbis_tree} 2>/dev/null && pwd`"
3107 if test -z "${real_vorbis_tree}"
3109 dnl The given directory can't be found
3111 AC_MSG_ERROR([cannot cd to ${with_vorbis_tree}])
3113 if test -f "${real_vorbis_tree}/lib/.libs/libvorbis.a"
3115 dnl Use a custom vorbis
3116 AC_MSG_RESULT(${real_vorbis_tree}/lib/.libs/libvorbis.a)
3117 VLC_ADD_PLUGINS([vorbis])
3118 VLC_ADD_LDFLAGS([vorbis],[${real_vorbis_tree}/lib/.libs/libvorbis.a ${real_vorbis_tree}/lib/.libs/libvorbisenc.a])
3119 VLC_ADD_CFLAGS([vorbis],[-I${real_vorbis_tree}/include])
3121 dnl The given vorbis wasn't built
3123 AC_MSG_ERROR([cannot find ${real_vorbis_tree}/lib/.libs/libvorbis.a, make sure you compiled vorbis in ${with_vorbis_tree}])
3126 AC_CHECK_HEADERS(vorbis/codec.h, [
3127 VLC_ADD_PLUGINS([vorbis])
3128 VLC_ADD_LDFLAGS([vorbis],[-lvorbis -logg]) ],[])
3130 AC_CHECK_HEADERS(vorbis/vorbisenc.h, [
3131 VLC_ADD_LDFLAGS([vorbis],[-lvorbisenc]) ],[])
3138 AC_ARG_ENABLE(tremor,
3139 [ --enable-tremor Tremor decoder support (default disabled)])
3140 if test "${enable_tremor}" = "yes"
3142 AC_CHECK_HEADERS(tremor/ivorbiscodec.h, [
3143 VLC_ADD_PLUGINS([tremor])
3144 VLC_ADD_LDFLAGS([tremor],[-lvorbisidec -logg])
3151 AC_ARG_ENABLE(speex,
3152 [ --enable-speex Speex decoder support (default enabled)])
3153 if test "${enable_speex}" != "no"
3155 AC_ARG_WITH(speex-tree,
3156 [ --with-speex-tree=PATH speex tree for static linking])
3157 if test -n "${with_speex_tree}"
3159 AC_MSG_CHECKING(for libspeex.a in ${with_speex_tree})
3160 real_speex_tree="`cd ${with_speex_tree} 2>/dev/null && pwd`"
3161 if test -z "${real_speex_tree}"
3163 dnl The given directory can't be found
3165 AC_MSG_ERROR([cannot cd to ${with_speex_tree}])
3167 if test -f "${real_speex_tree}/libspeex/.libs/libspeex.a"
3169 dnl Use a custom speex
3170 AC_MSG_RESULT(${real_speex_tree}/libspeex/.libs/libspeex.a)
3171 VLC_ADD_PLUGINS([speex])
3172 VLC_ADD_LDFLAGS([speex],[${real_speex_tree}/libspeex/.libs/libspeex.a])
3173 VLC_ADD_CFLAGS([speex],[-I${real_speex_tree}/include])
3175 dnl The given speex wasn't built
3177 AC_MSG_ERROR([cannot find ${real_speex_tree}/libspeex/.libs/libspeex.a, make sure you compiled speex in ${with_speex_tree}])
3180 AC_CHECK_HEADERS(speex/speex.h, [
3181 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_speex}"
3182 AC_CHECK_LIB(speex, speex_decode_int, [
3183 VLC_ADD_PLUGINS([speex])
3184 VLC_ADD_LDFLAGS([speex],[-lspeex]) ],
3185 [ AC_MSG_RESULT([no])
3186 AC_MSG_WARN([Your libspeex is too old, please get the development
3188 LDFLAGS="${LDFLAGS_save}"
3194 dnl tarkin decoder plugin
3196 AC_ARG_ENABLE(tarkin,
3197 [ --enable-tarkin experimental tarkin codec (default disabled)])
3198 if test "${enable_tarkin}" = "yes"
3200 AC_ARG_WITH(tarkin-tree,
3201 [ --with-tarkin-tree=PATH tarkin tree for static linking])
3202 if test -n "${with_tarkin_tree}"
3204 AC_MSG_CHECKING(for tarkin.o in ${with_tarkin_tree})
3205 real_tarkin_tree="`cd ${with_tarkin_tree} 2>/dev/null && pwd`"
3206 if test -f "${real_tarkin_tree}/tarkin.o"
3208 VLC_ADD_BUILTINS([tarkin])
3209 VLC_ADD_CPPFLAGS([tarkin],[-I${real_tarkin_tree}])
3210 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])
3213 dnl The given tarkin tree wasn't built
3215 AC_MSG_ERROR([cannot find ${real_tarkin_tree}/tarkin.o,
3216 make sure you compiled tarkin in ${with_tarkin_tree}])
3222 dnl theora decoder plugin
3224 AC_ARG_ENABLE(theora,
3225 [ --enable-theora experimental theora codec (default disabled)])
3226 if test "${enable_theora}" = "yes"
3228 AC_CHECK_HEADERS(theora/theora.h, [
3229 AC_CHECK_LIB(theora, theora_granule_time, [
3230 if test "${SYS}" = "mingw32"; then
3231 VLC_ADD_PLUGINS([theora])
3233 VLC_ADD_BUILTINS([theora])
3235 theora_libs="-ltheora -logg"
3236 VLC_ADD_LDFLAGS([theora],[${theora_libs}]) ],[
3237 AC_MSG_ERROR([libtheora doesn't appear to be installed on your system.
3238 You also need to check that you have a libogg posterior to the 1.0 release.])],
3244 dnl dirac decoder plugin
3246 AC_ARG_ENABLE(dirac,
3247 [ --enable-dirac experimental dirac codec (default disabled)])
3248 if test "${enable_dirac}" = "yes"; then
3249 PKG_CHECK_MODULES(DIRAC,dirac, [
3250 VLC_ADD_PLUGINS([dirac])
3251 VLC_ADD_CFLAGS([dirac],[$DIRAC_CFLAGS])
3252 VLC_ADD_LDFLAGS([dirac],[$DIRAC_LIBS -lstdc++]) ],[
3253 AC_MSG_ERROR([libdirac doesn't appear to be installed on you system.])
3257 dnl libvc1 decoder plugin
3259 AC_ARG_ENABLE(libvc1,
3260 [ --enable-libvc1 VC-1 codec (default disabled)])
3261 if test "${enable_libvc1}" = "yes"
3263 AC_ARG_WITH(libvc1-tree,
3264 [ --with-libvc1-tree=PATH libvc1 tree for static linking])
3265 if test -n "${with_libvc1_tree}"
3267 AC_MSG_CHECKING(for vc1dec.o in ${with_libvc1_tree})
3268 real_libvc1_tree="`cd ${with_libvc1_tree} 2>/dev/null && pwd`"
3269 if test -f "${real_libvc1_tree}/src/.libs/vc1dec.o"
3271 VLC_ADD_BUILTINS([libvc1])
3272 VLC_ADD_CPPFLAGS([libvc1],[-I${real_libvc1_tree}/src])
3273 VLC_ADD_LDFLAGS([libvc1],[${real_libvc1_tree}/src/.libs/libvc1.a])
3276 dnl The given libvc1 tree wasn't built
3278 AC_MSG_ERROR([cannot find ${real_libvc1_tree}/src/.libs/vc1dec.o,
3279 make sure you compiled libvc1 in ${with_libvc1_tree}])
3285 dnl PNG decoder module
3288 [ --enable-png PNG support (default enabled)])
3289 if test "${enable_png}" != "no"; then
3290 AC_CHECK_HEADERS(png.h, [
3291 LDFLAGS="${LDFLAGS_save} -lz"
3292 AC_CHECK_LIB(png, png_set_rows, [
3293 VLC_ADD_LDFLAGS([png],[-lpng -lz])
3294 VLC_ADD_PLUGINS([png])
3295 VLC_ADD_PLUGINS([osdmenu])
3296 AC_DEFINE(HAVE_LIBPNG, [], [Define if you have the PNG library: libpng])],
3298 LDFLAGS="${LDFLAGS_save}"
3303 dnl H264 encoder plugin (using libx264)
3306 [ --enable-x264 H264 encoding support with libx264 (default enabled)])
3307 if test "${enable_x264}" != "no"; then
3308 AC_ARG_WITH(x264-tree,
3309 [ --with-x264-tree=PATH x264 tree for static linking ],[],[])
3310 if test "${with_x264_tree}" != "no" -a -n "${with_x264_tree}"
3312 real_x264_tree="`cd ${with_x264_tree} 2>/dev/null && pwd`"
3313 if test -z "${real_x264_tree}"
3315 dnl The given directory can't be found
3317 AC_MSG_ERROR([${with_x264_tree} directory doesn't exist])
3319 dnl Use a custom libx264
3320 AC_MSG_CHECKING(for x264.h in ${real_x264_tree})
3321 if test -f ${real_x264_tree}/x264.h
3324 VLC_ADD_CPPFLAGS([x264],[-I${real_x264_tree}])
3325 VLC_ADD_LDFLAGS([x264],[-L${real_x264_tree}])
3326 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_x264} ${THREAD_LIB}"
3327 AC_CHECK_LIB(x264, x264_encoder_open, [
3328 VLC_ADD_BUILTINS([x264])
3329 VLC_ADD_LDFLAGS([x264],[-lx264])
3331 AC_MSG_ERROR([the specified tree hasn't been compiled])
3333 LDFLAGS="${LDFLAGS_save}"
3336 AC_MSG_ERROR([the specified tree doesn't have x264.h])
3339 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_x264} ${THREAD_LIB}"
3340 AC_CHECK_HEADERS(x264.h, [
3341 AC_CHECK_LIB(x264, x264_encoder_open, [
3342 VLC_ADD_PLUGINS([x264])
3343 VLC_ADD_LDFLAGS([x264],[-lx264])
3345 if test "${enable_x264}" = "yes"; then
3346 AC_MSG_ERROR([Could not find libx264 on your system: you may get it from http://www.videolan.org/x264.html])
3350 LDFLAGS="${LDFLAGS_save}"
3358 [ --enable-cmml CMML support (default enabled)])
3359 if test "${enable_cmml}" != "no"
3361 VLC_ADD_PLUGINS([cmml])
3369 AC_ARG_WITH(,[Video plugins:])
3372 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
3373 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
3374 AC_CHECK_HEADERS(X11/extensions/dpms.h, [
3375 AC_MSG_CHECKING(for DPMSInfo in X11/extensions/dpms.h)
3376 AC_EGREP_HEADER(DPMSInfo,X11/extensions/dpms.h,[
3378 AC_DEFINE(DPMSINFO_IN_DPMS_H, 1,
3379 Define if <X11/extensions/dpms.h> defines DPMSInfo.)
3384 #include <X11/Xlib.h>
3386 CPPFLAGS="${CPPFLAGS_save}"
3391 dnl (enabled by default except on win32)
3394 [ --enable-x11 X11 support (default enabled)])
3395 if test "${enable_x11}" != "no" &&
3396 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
3397 test "${enable_x11}" = "yes"); then
3398 CPPFLAGS="${CPPFLAGS_save} ${X_FLAGS}"
3399 AC_CHECK_HEADERS(X11/Xlib.h, [
3400 VLC_ADD_PLUGINS([x11])
3401 VLC_ADD_LDFLAGS([x11],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext])
3402 VLC_ADD_CPPFLAGS([x11],[${X_CFLAGS}])
3404 CPPFLAGS="${CPPFLAGS_save}"
3409 dnl (enabled by default except on win32)
3411 AC_ARG_ENABLE(xvideo,
3412 [ --enable-xvideo XVideo support (default enabled)])
3413 if test "${enable_xvideo}" != "no" &&
3414 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
3415 test "${enable_xvideo}" = "yes"); then
3416 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
3417 AC_CHECK_HEADERS(X11/extensions/Xv.h, [
3418 CFLAGS="${CFLAGS_save} ${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext"
3419 AC_CHECK_LIB(Xv,XvPutImage,[
3420 # If libXv.so is available, xvideo can be a plugin. Otherwise, we
3421 # test for libXv_pic.
3422 if test -f /usr/X11R6/lib/libXv.so -o -f "${x_libraries}"/libXv.so; then
3423 VLC_ADD_PLUGINS([xvideo])
3424 VLC_ADD_CPPFLAGS([xvideo],[${X_CFLAGS}])
3425 VLC_ADD_LDFLAGS([xvideo],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lXv])
3427 AC_CHECK_LIB(Xv_pic,XvPutImage,[
3428 VLC_ADD_PLUGINS([xvideo])
3429 VLC_ADD_CPPFLAGS([xvideo],[${X_CFLAGS}])
3430 VLC_ADD_LDFLAGS([xvideo],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lXv_pic])
3432 VLC_ADD_BUILTINS([xvideo])
3433 VLC_ADD_LDFLAGS([xvideo],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lXv])
3434 VLC_ADD_CPPFLAGS([xvideo],[${X_CFLAGS}])
3438 CFLAGS="${CFLAGS_save}"
3440 CPPFLAGS="${CPPFLAGS_save}")
3445 dnl (enabled by default except on win32)
3448 [ --enable-glx X11 OpenGL (GLX) support (default enabled)])
3449 if test "${enable_glx}" != "no" &&
3450 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
3451 test "${enable_glx}" = "yes"); then
3452 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
3453 AC_CHECK_HEADERS(X11/Xlib.h, [
3454 AC_CHECK_HEADERS(GL/glx.h, [
3455 VLC_ADD_PLUGINS([glx])
3456 VLC_ADD_LDFLAGS([glx],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lGL -lGLU])
3457 VLC_ADD_CPPFLAGS([glx],[${X_CFLAGS}])
3459 CPPFLAGS="${CPPFLAGS_save}"
3462 if test "${enable_xvideo}" != "no" &&
3463 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
3464 test "${enable_xvideo}" = "yes"); then
3466 dnl Check for the Xinerama extension
3468 ac_cv_have_xinerama="no"
3469 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
3470 CFLAGS="${CFLAGS_save} ${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext"
3471 AC_CHECK_HEADERS(X11/extensions/Xinerama.h,[
3472 AC_CHECK_LIB(Xinerama_pic, XineramaQueryExtension,[
3473 VLC_ADD_LDFLAGS([xvideo],[-lXinerama_pic])
3474 VLC_ADD_LDFLAGS([x11],[-lXinerama_pic])
3475 VLC_ADD_LDFLAGS([glx],[-lXinerama_pic])
3476 ac_cv_have_xinerama="yes"
3478 AC_CHECK_LIB(Xinerama, XineramaQueryExtension,[
3479 VLC_ADD_LDFLAGS([xvideo],[-lXinerama])
3480 VLC_ADD_LDFLAGS([x11],[-lXinerama])
3481 VLC_ADD_LDFLAGS([glx],[-lXinerama])
3482 ac_cv_have_xinerama="yes"
3486 if test "${ac_cv_have_xinerama}" = "yes"; then
3487 AC_DEFINE(HAVE_XINERAMA, 1, [Define this if you have libXinerama installed])
3489 CFLAGS="${CFLAGS_save}"
3490 CPPFLAGS="${CPPFLAGS_save}"
3493 dnl Check for XF86VidMode extension
3495 ac_cv_have_xf86vidmode="no"
3496 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
3497 CFLAGS="${CFLAGS_save} ${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext"
3498 AC_CHECK_HEADERS(X11/extensions/xf86vmode.h,[
3499 AC_CHECK_LIB(Xxf86vm_pic, XF86VidModeGetViewPort,[
3500 VLC_ADD_LDFLAGS([xvideo],[-lXxf86vm_pic])
3501 VLC_ADD_LDFLAGS([x11],[-lXxf86vm_pic])
3502 VLC_ADD_LDFLAGS([glx],[-lXxf86vm_pic])
3503 ac_cv_have_xf86vidmode="yes"
3505 AC_CHECK_LIB(Xxf86vm, XF86VidModeGetViewPort,[
3506 VLC_ADD_LDFLAGS([xvideo],[-lXxf86vm])
3507 VLC_ADD_LDFLAGS([x11],[-lXxf86vm])
3508 VLC_ADD_LDFLAGS([glx],[-lXxf86vm])
3509 ac_cv_have_xf86vidmode="yes"
3513 [#ifdef HAVE_X11_XLIB_H
3514 # include <X11/Xlib.h>
3517 AS_IF([test "${ac_cv_have_xf86vidmode}" = "yes"],
3518 [AC_DEFINE(HAVE_XF86VIDMODE, 1, [Define this if you have libXxf86vm installed])
3520 CFLAGS="${CFLAGS_save}"
3521 CPPFLAGS="${CPPFLAGS_save}"
3527 dnl (enabled by default except on beos)
3529 AC_ARG_ENABLE(opengl,
3530 [ --enable-opengl OpenGL support (default enabled)])
3531 if test "${enable_opengl}" != "no" &&
3532 test "${SYS}" != "beos" -a "${SYS}" != "mingwce"; then
3533 if test "${SYS}" != "darwin"; then
3534 AC_CHECK_HEADERS(GL/gl.h, [
3535 VLC_ADD_PLUGINS([opengl])
3536 if test "${SYS}" != "mingw32"; then
3537 VLC_ADD_LDFLAGS([opengl],[${X_LIBS} -lGL -lGLU])
3539 VLC_ADD_LDFLAGS([opengl],[-lopengl32])
3543 dnl OS X special case (no GL/gl.h but OpenGL/gl.h)
3544 VLC_ADD_PLUGINS([opengl])
3545 VLC_ADD_LDFLAGS([opengl],[-framework OpenGL])
3553 [ --enable-sdl SDL support (default enabled)])
3554 if test "${enable_sdl}" != "no"
3557 AC_ARG_WITH(sdl-config-path,
3558 [ --with-sdl-config-path=PATH sdl-config path (default search in \$PATH)],
3559 [ if test "${with_sdl_config_path}" != "no"
3561 SDL_PATH="${with_sdl_config_path}:${PATH}"
3563 AC_PATH_PROG(SDL12_CONFIG, sdl12-config, no, ${SDL_PATH})
3564 SDL_CONFIG="${SDL12_CONFIG}"
3565 SDL_HEADER="SDL12/SDL.h"
3566 SDL_IMAGE="SDL12/SDL_image.h"
3567 if test "${SDL_CONFIG}" = "no"
3569 AC_PATH_PROG(SDL11_CONFIG, sdl11-config, no, ${SDL_PATH})
3570 SDL_CONFIG=${SDL11_CONFIG}
3571 SDL_HEADER="SDL11/SDL.h"
3572 SDL_IMAGE="SDL11/SDL_image.h"
3574 if test "${SDL_CONFIG}" = "no"
3576 AC_PATH_PROG(SDL_CONFIG, sdl-config, no, ${SDL_PATH})
3577 SDL_HEADER="SDL/SDL.h"
3578 SDL_IMAGE="SDL/SDL_image.h"
3580 # check for cross-compiling
3582 AC_ARG_WITH(sdl-prefix,
3583 [ --with-sdl-prefix=PATH path to libsdl (needed for cross-compiling),
3585 --with-sdl-prefix=/usr/local/arm/2.95.3/arm-linux/usr)],[],[])
3586 if test "${with_sdl_prefix}" != "no" -a -n "${with_sdl_prefix}"
3588 SDL_PREFIX="--prefix=${with_sdl_prefix}"
3590 if test "${SDL_CONFIG}" != "no"
3592 # SDL on Darwin is heavily patched and can only run SDL_image
3593 if test "${SYS}" != "darwin" -a "${SYS}" != "mingw32"; then
3594 VLC_ADD_PLUGINS([vout_sdl aout_sdl])
3596 VLC_ADD_CFLAGS([vout_sdl aout_sdl sdl_image],[`${SDL_CONFIG} ${SDL_PREFIX} --cflags | sed 's,SDL,,'`])
3597 VLC_ADD_LDFLAGS([vout_sdl aout_sdl sdl_image],[`${SDL_CONFIG} ${SDL_PREFIX} --libs | sed 's,-rdynamic,,'`])
3598 CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_vout_sdl}"
3599 AC_CHECK_HEADERS(${SDL_HEADER}, AC_DEFINE_UNQUOTED(SDL_INCLUDE_FILE,
3600 <${SDL_HEADER}>, Indicate whether we should use SDL/SDL.h or SDL11/SDL.h),
3601 [ AC_CHECK_HEADERS(SDL.h, AC_DEFINE(SDL_INCLUDE_FILE, <SDL.h>,
3602 As a last resort we also test for SDL.h presence),
3603 [ AC_MSG_ERROR([The development package for SDL is not installed.
3604 Please install it and try again. Alternatively you can also configure with
3607 AC_CHECK_HEADERS(${SDL_IMAGE}, [AC_DEFINE_UNQUOTED(SDL_IMAGE_INCLUDE_FILE,
3608 <${SDL_IMAGE}>, Indicate the path of SDL_image.h)
3609 VLC_ADD_PLUGINS([sdl_image])
3610 AC_CHECK_LIB(png, png_set_rows,
3611 [VLC_ADD_LDFLAGS([sdl_image],[-lpng -lz])],[],[-lz])
3612 AC_CHECK_LIB(jpeg, jpeg_start_decompress,
3613 [VLC_ADD_LDFLAGS([sdl_image],[-ljpeg])])
3614 AC_CHECK_LIB(tiff, TIFFClientOpen,
3615 [VLC_ADD_LDFLAGS([sdl_image],[-ltiff])])
3616 VLC_ADD_LDFLAGS([sdl_image], [-lSDL_image])],
3617 [ AC_CHECK_HEADERS(SDL_image.h, AC_DEFINE(SDL_IMAGE_INCLUDE_FILE, <SDL_image.h>,
3618 As a last resort we also test for SDL_image.h presence),
3619 [ AC_MSG_WARN([The development package for SDL_image is not installed.
3620 You should install it alongside your SDL package.])
3622 CPPFLAGS="${CPPFLAGS_save}"
3623 if expr 1.1.5 \> `${SDL_CONFIG} --version` >/dev/null
3625 AC_MSG_ERROR([The development package for SDL is not installed.
3626 Please install it and try again. Alternatively you can also configure with
3630 elif test "${enable_sdl}" = "yes"
3632 AC_MSG_ERROR([I couldn't find the SDL package. You can download libSDL
3633 from http://www.libsdl.org/, or configure with --disable-sdl. Have a nice day.
3641 AC_ARG_ENABLE(freetype,
3642 [ --enable-freetype freetype support (default enabled)])
3643 AC_ARG_ENABLE(fribidi,
3644 [ --enable-fribidi fribidi support (default enabled)])
3645 if test "${enable_freetype}" != "no"
3647 FREETYPE_PATH="${PATH}"
3648 AC_ARG_WITH(freetype-config-path,
3649 [ --with-freetype-config-path=PATH freetype-config path (default search in \$PATH)],
3650 [ if test "${with_freetype_config_path}" != "no"
3652 FREETYPE_PATH="${with_freetype_config_path}:${PATH}"
3654 AC_PATH_PROG(FREETYPE_CONFIG, freetype-config, no, ${FREETYPE_PATH})
3656 if test "${FREETYPE_CONFIG}" != "no"
3658 VLC_ADD_PLUGINS([freetype])
3659 VLC_ADD_CFLAGS([freetype],[`${FREETYPE_CONFIG} --cflags`])
3660 VLC_ADD_LDFLAGS([freetype],[`${FREETYPE_CONFIG} --libs`])
3661 AC_CHECK_HEADERS(Carbon/Carbon.h,
3662 [VLC_ADD_LDFLAGS([freetype],[-framework Carbon])])
3663 elif test "${enable_freetype}" = "yes"
3665 AC_MSG_ERROR([I couldn't find the freetype package. You can download libfreetype2
3666 from http://www.freetype.org/, or configure with --disable-freetype. Have a nice day.
3671 if test "${enable_fribidi}" != "no"
3673 FRIBIDI_PATH="${PATH}"
3674 AC_ARG_WITH(fribidi-config-path,
3675 [ --with-fribidi-config-path=PATH fribidi-config path (default search in \$PATH)],
3676 [ if test "${with_fribidi_config_path}" != "no"
3678 FRIBIDI_PATH="${with_fribidi_config_path}:${PATH}"
3680 AC_PATH_PROG(FRIBIDI_CONFIG, fribidi-config, no, ${FRIBIDI_PATH})
3682 if test "${FRIBIDI_CONFIG}" != "no"
3684 VLC_ADD_CFLAGS([freetype], [`${FRIBIDI_CONFIG} --cflags` -DHAVE_FRIBIDI])
3685 VLC_ADD_CPPFLAGS([skins2], [`${FRIBIDI_CONFIG} --cflags` -DHAVE_FRIBIDI])
3686 VLC_ADD_LDFLAGS([freetype], [`${FRIBIDI_CONFIG} --libs`])
3687 VLC_ADD_LDFLAGS([skins2], [`${FRIBIDI_CONFIG} --libs`])
3695 AC_ARG_ENABLE(libxml2,
3696 [ --enable-libxml2 libxml2 support (default enabled)])
3697 if test "${enable_libxml2}" != "no"
3700 AC_ARG_WITH(xml2-config-path,
3701 [ --with-xml2-config-path=PATH xml2-config path (default search in \$PATH)],
3702 [ if test "${with_xml2_config_path}" != "no"; then
3703 XML2_PATH="${with_xml2_config_path}:${PATH}"
3705 AC_PATH_PROG(XML2_CONFIG, xml2-config, no, ${XML2_PATH})
3706 if test "${XML2_CONFIG}" != "no"; then
3707 VLC_ADD_CPPFLAGS([xml],[`${XML2_CONFIG} --cflags`])
3708 VLC_ADD_LDFLAGS([xml],[`${XML2_CONFIG} --libs`])
3709 dnl depends on the xmlTextReader extension
3710 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_xml}"
3711 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_xml}"
3712 AC_CHECK_LIB(xml2,xmlTextReaderConstName,[
3713 AC_EGREP_HEADER(xmlTextReaderConstName,libxml/xmlreader.h,[
3714 VLC_ADD_PLUGINS([xml]) ],[
3715 AC_MSG_WARN([libxml2 missing the xmlTextReader extension, you should update your version])
3716 if test "${enable_xml2}" = "yes"; then
3717 AC_MSG_ERROR([libxml2 missing the xmlTextReader extension])
3720 AC_MSG_WARN([libxml2 missing the xmlTextReader extension, you should update your version])
3721 if test "${enable_xml2}" = "yes"; then
3722 AC_MSG_ERROR([libxml2 missing the xmlTextReader extension])
3724 LDFLAGS="${LDFLAGS_save}"
3725 CPPFLAGS="${CPPFLAGS_save}"
3727 if test "${enable_xml2}" = "yes"; then
3728 AC_MSG_ERROR([Could not find libxml2])
3737 [ --enable-svg SVG support (default disabled)])
3738 if test "${enable_svg}" = "yes"
3740 PKG_CHECK_MODULES(SVG,
3741 librsvg-2.0 >= 2.5.0,
3743 VLC_ADD_LDFLAGS([svg],[$SVG_LIBS])
3744 VLC_ADD_CFLAGS([svg],[$SVG_CFLAGS])
3745 VLC_ADD_PLUGINS([svg]) ],
3746 [AC_MSG_WARN(SVG library not found)])
3750 dnl Snapshot vout module (with cache)
3752 AC_ARG_ENABLE(snapshot,
3753 [ --enable-snapshot snapshot module (default disabled)])
3754 if test "${enable_snapshot}" = "yes"
3756 VLC_ADD_PLUGINS([snapshot])
3760 dnl Qt Embedded module
3761 dnl (disabled by default)
3764 [ --enable-qte QT Embedded support (default disabled)])
3765 if test "${enable_qte}" = "yes"
3768 [ --with-qte=PATH Qt Embedded headers and libraries])
3769 if test "${with_qte}" != "no" -a -n "${with_qte}"
3771 VLC_ADD_LDFLAGS([qte],[-L${with_qte}/lib `echo -L${with_qte}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte])
3772 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])
3774 VLC_ADD_LDFLAGS([qte],[-L${QTDIR}/lib `echo -L${QTDIR}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte])
3775 VLC_ADD_CXXFLAGS([qte],[-I${QTDIR}/include `echo -I${QTDIR}/include | sed 's,opt/QtPalmtop,usr,'` -DQT_QWS_IPAQ -DQWS -fno-exceptions -fno-rtti])
3777 VLC_ADD_PLUGINS([qte])
3779 CPPFLAGS="${CPPFLAGS_save} ${CXXFLAGS_qte}"
3780 AC_CHECK_HEADERS(qt.h jpeglib.h, ,[
3781 AC_MSG_ERROR([echo "Cannot find QT Embedded development headers."])
3783 CPPFLAGS="${CPPFLAGS_save}"
3787 dnl Qt Video output module
3788 dnl (disabled by default)
3790 dnl AC_ARG_ENABLE(qt_video,
3791 dnl [ --enable-qt_video QT Video Output support (default disabled)])
3792 dnl if test "${enable_qt_video}" = "yes"
3794 dnl VLC_ADD_PLUGINS([qt_video])
3795 dnl VLC_ADD_LDFLAGS([qt_video],[-L${QTDIR}/lib])
3796 dnl LDFLAGS="${LDFLAGS_save} ${LDFLAGS_qt_video}"
3797 dnl AC_CHECK_LIB(qt-mt,main,[
3798 dnl VLC_ADD_LDFLAGS([qt_video],[-lqt-mt])
3800 dnl AC_CHECK_LIB(qt,main,[
3801 dnl VLC_ADD_LDFLAGS([qt_video],[-lqt])
3804 dnl NEED_QTE_MAIN=yes
3805 dnl LDFLAGS="${LDFLAGS_save}"
3806 dnl VLC_ADD_CXXFLAGS([qt_video],[-I/usr/include/qt3 -I/usr/include/qt -I${QTDIR}/include])
3810 dnl Roku HD1000 Video output module
3812 AC_ARG_ENABLE(hd1000v,
3813 [ --enable-hd1000v HD1000 Video Output module (default enabled on HD1000)])
3814 if test "${enable_hd1000v}" != "no" -a "${CXX}" != "" &&
3815 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
3816 test "${enable_hd1000v}" = "yes"); then
3818 AC_CHECK_HEADERS([cascade/graphics/CascadeScreen.h cascade/graphics/CascadeBitmap.h],
3820 can_build_roku="yes"
3824 AC_MSG_WARN([Not building Roku HD1000 compatible video output])
3826 if test "$can_build_roku" = "yes"
3828 VLC_ADD_PLUGINS([hd1000v])
3829 VLC_ADD_LDFLAGS([hd1000v],[-lCascade -ldvbpsi -lmad])
3835 dnl Windows DirectX module
3837 AC_ARG_ENABLE(directx,
3838 [ --enable-directx Win32 DirectX support (default enabled on Win32)])
3839 if test "${enable_directx}" != "no"
3841 if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce" -o "${SYS}" = "cygwin"
3843 AC_ARG_WITH(directx,
3844 [ --with-directx=PATH Win32 DirectX headers])
3845 if test -z "${with_directx}"
3847 AC_CHECK_HEADERS(ddraw.h,
3848 [ VLC_ADD_PLUGINS([vout_directx aout_directx])
3849 VLC_ADD_LDFLAGS([vout_directx],[-lgdi32])
3850 dnl to be moved when dependance is removed
3851 AC_CHECK_HEADERS(GL/gl.h, [
3852 VLC_ADD_PLUGINS([glwin32])
3853 VLC_ADD_LDFLAGS([glwin32],[-lopengl32 -lgdi32])
3856 AC_MSG_CHECKING(for directX headers in ${with_directx})
3857 if test -f ${with_directx}/ddraw.h
3859 VLC_ADD_PLUGINS([vout_directx aout_directx])
3860 VLC_ADD_CPPFLAGS([vout_directx aout_directx],[-I${with_directx}])
3861 VLC_ADD_LDFLAGS([vout_directx],[-lgdi32])
3865 AC_MSG_ERROR([Cannot find ${with_directx}/ddraw.h!])
3872 dnl Linux framebuffer module
3875 [ --enable-fb Linux framebuffer support (default enabled on Linux)])
3876 if test "${enable_fb}" != "no"
3878 AC_CHECK_HEADERS(linux/fb.h, [
3879 VLC_ADD_PLUGINS([fb])
3884 dnl Linux MGA module
3887 [ --enable-mga Linux kernel Matrox support (default disabled)],
3888 [ if test "${enable_mga}" = "yes"
3890 VLC_ADD_PLUGINS([mga])
3896 AC_ARG_ENABLE(svgalib,
3897 [ --enable-svgalib SVGAlib support (default disabled)])
3898 if test "${enable_svgalib}" = "yes"
3900 VLC_ADD_PLUGINS([svgalib])
3901 VLC_ADD_LDFLAGS([svgalib],[-lvgagl -lvga])
3907 AC_ARG_ENABLE(directfb,
3908 [ --enable-directfb DirectFB support (default disabled)])
3909 if test "${enable_directfb}" = "yes"
3911 if test "${with_directfb}" = "no"
3913 AC_CHECK_HEADER(directfb.h, have_directfb="true", have_directfb="false")
3914 if test "${have_directfb}"= "true"
3916 VLC_ADD_PLUGINS([directfb])
3917 VLC_ADD_LDFLAGS([directfb],[-ldirectfb -lfusion -ldirect -lpthread -ljpeg -lz -ldl])
3918 VLC_ADD_CPPFLAGS([directfb],[-I/usr/include/directfb -D_REENTRANT])
3920 AC_MSG_ERROR([cannot find /usr/include/directfb headers, make sure directfb is installed on your system or use --disable-directfb])
3923 CPPFLAGS_save="${CPPFLAGS}"
3924 CPPFLAGS="${CPPFLAGS} -I${with_directfb}/include"
3925 AC_CHECK_HEADER(directfb.h, have_directfb="true", have_directfb="false")
3926 CPPFLAGS="${CPPFLAGS_save}"
3927 AC_ARG_WITH(directfb,
3928 [ --with-directfb=PATH path to directfb],
3929 [ if test "${with_directfb}" != "no" -a -n "${with_directfb}"
3931 VLC_ADD_PLUGINS([directfb])
3932 VLC_ADD_CPPFLAGS([directfb],[-I${with_directfb}/include -D_REENTRANT])
3933 VLC_ADD_LDFLAGS([directfb],[-L${with_directfb}/lib -ldirectfb -lfusion -ldirect -lpthread -ljpeg -lz -ldl])
3935 [ AC_MSG_ERROR([cannot find directfb headers in ${with_directfb}/include]) ])
3943 [ --enable-ggi GGI support (default disabled)])
3944 if test "${enable_ggi}" = "yes"
3946 VLC_ADD_PLUGINS([ggi])
3947 VLC_ADD_LDFLAGS([ggi],[-lggi])
3949 [ --with-ggi=PATH path to libggi],
3950 [ if test "${with_ggi}" != "no" -a -n "${with_ggi}"
3952 VLC_ADD_CPPFLAGS([ggi],[-I${with_ggi}/include])
3953 VLC_ADD_LDFLAGS([ggi],[-L${with_ggi}/lib])
3960 AC_ARG_ENABLE(glide,
3961 [ --enable-glide Glide (3dfx) support (default disabled)])
3962 if test "${enable_glide}" = "yes"
3964 CFLAGS_save="${CFLAGS}"
3966 [ --with-glide=PATH path to libglide],
3967 [ if test "${with_glide}" != "no" -a -n "${with_glide}"
3969 VLC_ADD_CPPFLAGS([glide],[-I${with_glide}/include])
3970 VLC_ADD_LDFLAGS([glide],[-L${with_glide}/lib])
3971 CFLAGS="$CFLAGS -I${with_glide}/include"
3973 CFLAGS="$CFLAGS -I/usr/include/glide"
3974 AC_CHECK_HEADER(glide.h,[
3975 VLC_ADD_PLUGINS([glide])
3976 VLC_ADD_LDFLAGS([glide],[-lglide2x -lm])
3977 VLC_ADD_CPPFLAGS([glide],[-I/usr/include/glide])
3979 AC_MSG_ERROR([You don't have libglide. Install it or do not use --enable-glide])
3981 CFAGS="${CFLAGS_save}"
3988 [ --enable-aa aalib output (default disabled)])
3989 if test "${enable_aa}" = "yes"
3991 AC_CHECK_HEADER(aalib.h,have_aa="true",have_aa="false")
3992 if test "${have_aa}" = "true"
3994 VLC_ADD_PLUGINS([aa])
3995 VLC_ADD_LDFLAGS([aa],[-laa])
4003 [ --enable-caca libcaca output (default disabled)])
4004 if test "${enable_caca}" = "yes"
4007 AC_ARG_WITH(caca-config-path,
4008 [ --with-caca-config-path=PATH caca-config path (default search in \$PATH)],
4009 [ if test "${with_caca_config_path}" != "no"
4011 CACA_PATH="${with_caca_config_path}:${PATH}"
4013 AC_PATH_PROG(CACA_CONFIG, caca-config, no, ${CACA_PATH})
4014 if test "${CACA_CONFIG}" != "no"
4016 VLC_ADD_PLUGINS([caca])
4017 VLC_ADD_CFLAGS([caca],[`${CACA_CONFIG} --cflags`])
4018 VLC_ADD_LDFLAGS([caca],[`${CACA_CONFIG} --plugin-libs`])
4023 dnl win32 GDI plugin
4025 AC_ARG_ENABLE(wingdi,
4026 [ --enable-wingdi Win32 GDI module (default enabled on Win32)])
4027 if test "${enable_wingdi}" != "no"; then
4028 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"; then
4029 VLC_ADD_PLUGINS([wingdi])
4030 VLC_ADD_LDFLAGS([wingdi],[-lgdi32])
4032 if test "${SYS}" = "mingwce"; then
4033 VLC_ADD_PLUGINS([wingdi wingapi])
4041 AC_ARG_WITH(,[Audio plugins:])
4044 dnl OSS /dev/dsp module (enabled by default except on win32)
4047 [ --enable-oss Linux OSS /dev/dsp support (enabled on Linux)])
4049 if test "${enable_oss}" != "no" &&
4050 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
4051 test "${enable_oss}" = "yes")
4053 AC_CHECK_HEADERS(soundcard.h sys/soundcard.h machine/soundcard.h, [
4054 VLC_ADD_PLUGINS([oss])
4055 AC_CHECK_LIB(ossaudio,main,VLC_ADD_LDFLAGS([oss],[-lossaudio]))
4063 [ --enable-esd Esound library support (default disabled)],
4064 [if test "${enable_esd}" = "yes"
4066 AC_PATH_PROG(ESD_CONFIG, esd-config, no)
4067 if test "${ESD_CONFIG}" != "no"
4069 VLC_ADD_PLUGINS([esd])
4070 VLC_ADD_CFLAGS([esd],[`${ESD_CONFIG} --cflags`])
4071 VLC_ADD_LDFLAGS([esd],[`${ESD_CONFIG} --libs`])
4076 dnl Portaudio module
4078 AC_ARG_ENABLE(portaudio,
4079 [ --enable-portaudio Portaudio library support (default disabled)],
4080 [if test "${enable_portaudio}" = "yes"
4082 VLC_ADD_PLUGINS([portaudio])
4083 VLC_ADD_CXXFLAGS([portaudio],[])
4084 if test "${SYS}" = "mingw32"; then
4085 VLC_ADD_LDFLAGS([portaudio],[-lportaudio -lwinmm -lole32])
4087 VLC_ADD_LDFLAGS([portaudio],[-lportaudio])
4092 dnl aRts module -- broken (freeze wxWidgets)
4095 [ --enable-arts aRts sound server (default disabled)],
4096 [if test "${enable_arts}" = "yes"
4098 AC_PATH_PROG(ARTS_CONFIG, artsc-config, no)
4099 if test "${ARTS_CONFIG}" != "no"
4101 VLC_ADD_PLUGINS([arts])
4102 VLC_ADD_CFLAGS([arts],[`${ARTS_CONFIG} --cflags`])
4103 VLC_ADD_LDFLAGS([arts],[`${ARTS_CONFIG} --libs `])
4111 [ --enable-alsa ALSA sound support for Linux (default enabled)])
4112 if test "${enable_alsa}" != "no"
4114 AC_CHECK_HEADER(alsa/asoundlib.h, AC_CHECK_LIB(asound, main, have_alsa="true", have_alsa="false"),have_alsa="false")
4115 if test "${have_alsa}" = "true"
4117 CFLAGS="${CFLAGS_save}"
4118 AC_TRY_COMPILE([#define ALSA_PCM_NEW_HW_PARAMS_API
4119 #define ALSA_PCM_NEW_SW_PARAMS_API
4120 #include <alsa/asoundlib.h>],
4121 [void foo() { snd_pcm_hw_params_get_period_time(0,0,0); }],
4122 AC_DEFINE(HAVE_ALSA_NEW_API, 1, Define if ALSA is at least rc4))
4123 VLC_ADD_PLUGINS([alsa])
4124 VLC_ADD_LDFLAGS([alsa],[-lasound -lm -ldl])
4126 if test "${enable_alsa}" = "yes"; then
4127 AC_MSG_ERROR([Could not find ALSA development headers])
4133 dnl win32 waveOut plugin
4135 AC_ARG_ENABLE(waveout,
4136 [ --enable-waveout Win32 waveOut module (default enabled on Win32)])
4137 if test "${enable_waveout}" != "no"; then
4138 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"; then
4139 VLC_ADD_PLUGINS([waveout])
4140 VLC_ADD_LDFLAGS([waveout],[-lwinmm])
4142 if test "${SYS}" = "mingwce"; then
4143 VLC_ADD_PLUGINS([waveout])
4148 dnl CoreAudio plugin
4150 AC_ARG_ENABLE(macosx-audio,
4151 [ --enable-macosx-audio Mac OS X audio module (default enabled on MacOS X)])
4152 if test "${enable_macosx-audio}" != "no" &&
4153 (test "${SYS}" = "darwin" || test "${enable_macosx-audio}" = "yes")
4155 AC_CHECK_HEADERS(CoreAudio/CoreAudio.h,
4156 [ VLC_ADD_BUILTINS([auhal])
4157 VLC_ADD_LDFLAGS([auhal],[-framework CoreAudio -framework AudioUnit -framework AudioToolbox])
4158 ], [ AC_MSG_ERROR([cannot find CoreAudio headers]) ])
4162 dnl Roku HD1000 audio
4164 AC_ARG_ENABLE(hd1000a,
4165 [ --enable-hd1000a HD1000 audio module (default enabled on HD1000)])
4166 if test "${enable_hd1000a}" != "no" -a "${CXX}" != "" &&
4167 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
4168 test "${enable_hd1000a}" = "yes")
4171 AC_CHECK_HEADERS(deschutes/libraries/hdmachinex225/PCMAudioPlayer.h, [
4172 VLC_ADD_PLUGINS([hd1000a])
4173 AC_CHECK_LIB(HDMachineX225,main,VLC_ADD_LDFLAGS([hd1000a],[-lHDMachineX225])) ])
4181 [ --enable-jack JACK audio module (default disabled)],
4182 [if test "${enable_jack}" = "yes"
4184 AC_CHECK_HEADERS(jack/jack.h, [
4185 VLC_ADD_PLUGINS([jack])
4186 VLC_ADD_LDFLAGS([jack],[-ljack]) ])
4190 dnl CyberLink for C++ UPnP stack
4192 AC_ARG_ENABLE(cyberlink,
4193 [ --enable-cyberlink CyberLink for C++ UPnP stack (default disabled)])
4194 AS_IF([test "${CXX}" != "" -a "${enable_cyberlink}" = "yes" || (test "${enable_cyberlink}" != "no")], [
4195 AC_ARG_WITH(cyberlink-tree,
4196 [ --with-cyberlink-tree=PATH CyberLink for C++ tree for static linking])
4199 dnl test for --with-cyberlink-tree
4201 AS_IF([test ! -z "${with_cyberlink_tree}" -a "${CXX}" != ""], [
4203 real_cyberlink_tree="`cd ${with_cyberlink_tree} 2>/dev/null && pwd`"
4204 AS_IF([test -z "${real_cyberlink_tree}"], [
4205 dnl The given directory can't be found
4207 AC_MSG_ERROR([cannot cd to ${with_cyberlink_tree}])
4209 CPPFLAGS_save="${CPPFLAGS}"
4210 CPPFLAGS_cyberlink="-I${real_cyberlink_tree}/include"
4211 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_cyberlink}"
4212 AC_CHECK_HEADERS([cybergarage/upnp/MediaServer.h],
4213 [ VLC_ADD_CXXFLAGS([upnp_cc], [${CPPFLAGS_cyberlink}])
4214 VLC_ADD_PLUGINS([upnp_cc])
4216 AC_MSG_ERROR([cannot find CyberLink for C++ headers])
4218 AC_MSG_CHECKING(for libclink.a in ${with_cyberlink_tree})
4219 AS_IF([test -f "${real_cyberlink_tree}/lib/unix/libclink.a"], [
4220 AC_MSG_RESULT(${real_cyberlink_tree}/lib/unix/libclink.a)
4221 dnl The mere fact that we have to make such an ugly check sucks
4222 AC_MSG_CHECKING(for XML parser to link CyberLink with)
4225 for l in "`xml2-config --libs`" -lexpat -lxerces-c; do
4226 LIBS="$LIBS_save ${real_cyberlink_tree}/lib/unix/libclink.a -lpthread $l"
4227 AC_LINK_IFELSE([AC_LANG_PROGRAM([
4228 #include <cybergarage/upnp/media/player/MediaPlayer.h>
4229 using namespace CyberLink;
4231 class testclass : public SearchResponseListener, public MediaPlayer
4233 virtual void deviceSearchResponseReceived( SSDPPacket *)
4240 addSearchResponseListener (this);
4244 ],[testclass l;])],[LIBS_cclink="$l"])
4247 dnl should not happen - otherwise this needs fixing - hence FAILURE
4248 AS_IF([test "${LIBS_cclink}" == "no"],
4249 [AC_MSG_FAILURE([cannot find XML parser for CyberLink])])
4250 AC_MSG_RESULT([${LIBS_cclink}])
4251 VLC_ADD_LDFLAGS([upnp_cc], [${real_cyberlink_tree}/lib/unix/libclink.a -lpthread ${LIBS_cclink}])
4254 AC_MSG_ERROR([cannot find ${real_cyberlink_tree}/lib/unix/libclink.a, make sure you compiled CyberLink for C++ in ${with_cyberlink_tree}])
4256 CPPFLAGS="${CPPFLAGS_save}"
4262 dnl UPnP Plugin (Intel SDK)
4265 [ --enable-upnp Intel UPnP SDK (default auto)])
4267 VLC_ADD_CXXFLAGS([upnp_intel], [ ])
4268 AS_IF([test "x${enable_upnp}" != "xno"], [
4269 AC_CHECK_LIB([upnp], [UpnpInit], [has_upnp="yes"], [has_upnp="no"], [-lpthread])
4270 AS_IF([test "x${enable_upnp}" != "x" && test "${has_upnp}" == "no"], [
4271 AC_MSG_ERROR([cannot find Intel UPnP SDK (libupnp)])
4273 AS_IF([test "${has_upnp}" == "yes"], [
4274 VLC_ADD_LDFLAGS([upnp_intel], [-lupnp])
4280 AS_IF([test "${has_upnp}" == "yes"], [
4281 VLC_ADD_PLUGINS([upnp_intel])
4286 dnl Interface plugins
4289 AC_ARG_WITH(,[Interface plugins:])
4291 dnl special case for BeOS
4292 if test "${SYS}" = "beos"
4294 VLC_ADD_BUILTINS([beos])
4300 AC_ARG_ENABLE(skins2,
4301 [ --enable-skins2 Skins2 interface module (experimental)])
4302 if test "${enable_skins2}" = "yes" ||
4303 (test "${SYS}" != "darwin" && test "${SYS}" != "beos" &&
4304 test "${SYS}" != "mingwce" && test "${enable_skins2}" != "no"); then
4306 dnl test for the required libraries
4307 skins2_missing_lib="no"
4310 if test "${FREETYPE_CONFIG}" != "no"; then
4311 VLC_ADD_CPPFLAGS([skins2],[`${FREETYPE_CONFIG} --cflags`])
4312 VLC_ADD_LDFLAGS([skins2],[`${FREETYPE_CONFIG} --libs`])
4314 skins2_missing_lib="yes"
4315 if test "${enable_skins2}" = "yes"; then
4316 AC_MSG_ERROR([Could not find freetype (required for skins2)])
4320 if test "${skins2_missing_lib}" = "no" && (test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"); then
4321 VLC_ADD_PLUGINS([skins2])
4322 ALIASES="${ALIASES} svlc"
4323 VLC_ADD_CPPFLAGS([skins2],[-U_OFF_T_ -U_off_t -Imodules/gui/skins2 -DWIN32_SKINS])
4324 VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
4325 VLC_ADD_LDFLAGS([skins2],[-loleaut32 -lwinspool -lwinmm -lshell32 -lctl3d32 -ladvapi32 -lwsock32 -lgdi32 -lcomdlg32 -lole32 -luuid -lcomctl32])
4327 else if test "${skins2_missing_lib}" = "no"; then
4328 VLC_ADD_PLUGINS([skins2])
4329 ALIASES="${ALIASES} svlc"
4330 VLC_ADD_CPPFLAGS([skins2],[-Imodules/gui/skins2 ${X_CFLAGS} -DX11_SKINS])
4331 VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
4332 VLC_ADD_LDFLAGS([skins2],[${X_LIBS} ${X_PRE_LIBS} -lXext -lX11])
4340 dnl AC_ARG_ENABLE(gtk,
4341 dnl [ --enable-gtk Gtk+ support (default enabled)])
4342 dnl if test "${enable_gtk}" != "no"
4344 dnl GTK_PATH="${PATH}"
4345 dnl AC_ARG_WITH(gtk-config-path,
4346 dnl [ --with-gtk-config-path=PATH gtk-config path (default search in \$PATH)],
4347 dnl [ if test "${with_gtk_config_path}" != "no"
4349 dnl GTK_PATH="${with_gtk_config_path}:${PATH}"
4351 dnl # look for gtk-config
4352 dnl AC_PATH_PROG(GTK12_CONFIG, gtk12-config, no, ${GTK_PATH})
4353 dnl GTK_CONFIG=${GTK12_CONFIG}
4354 dnl if test "${GTK_CONFIG}" = "no"
4356 dnl AC_PATH_PROG(GTK_CONFIG, gtk-config, no, ${GTK_PATH})
4358 dnl if test "${GTK_CONFIG}" != "no"
4360 dnl if expr 1.2.0 \> `${GTK_CONFIG} --version` >/dev/null
4362 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.])
4364 dnl if test "${SYS}" != "mingw32"; then
4365 dnl VLC_ADD_CFLAGS([gtk],[`${GTK_CONFIG} --cflags gtk gthread`])
4366 dnl VLC_ADD_LDFLAGS([gtk],[`${GTK_CONFIG} --libs gtk gthread | sed 's,-rdynamic,,'`])
4368 dnl VLC_ADD_CFLAGS([gtk],[`${GTK_CONFIG} --cflags gtk`])
4369 dnl VLC_ADD_LDFLAGS([gtk],[`${GTK_CONFIG} --libs gtk | sed 's,-rdynamic,,'`])
4371 dnl # now look for the gtk.h header
4372 dnl CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_gtk}"
4373 dnl ac_cv_gtk_headers=yes
4374 dnl AC_CHECK_HEADERS(gtk/gtk.h glib.h gdk/gdk.h, , [
4375 dnl ac_cv_gtk_headers=no
4376 dnl echo "Cannot find gtk development headers."
4378 dnl if test "${ac_cv_gtk_headers}" = "yes"
4380 dnl VLC_ADD_PLUGINS([gtk])
4381 dnl if test "${SYS}" != "mingw32"; then
4382 dnl NEED_GTK_MAIN=yes
4384 dnl ALIASES="${ALIASES} gvlc"
4386 dnl CPPFLAGS="${CPPFLAGS_save}"
4391 dnl Gtk+2 module ! Disabled for now as it is unusable and confuses users
4393 dnl AC_ARG_ENABLE(gtk2,
4394 dnl [ --enable-gtk2 Gtk2 support (default disabled)])
4395 dnl if test "${enable_gtk2}" = "yes"
4397 dnl PKG_CHECK_MODULES(GTK2, [gtk+-2.0 >= 2.0.0, gthread-2.0])
4398 dnl VLC_ADD_CFLAGS([gtk2],[${GTK2_CFLAGS}])
4399 dnl VLC_ADD_LDFLAGS([gtk2],[${GTK2_LIBS}])
4400 dnl VLC_ADD_PLUGINS([gtk2])
4401 dnl if test "${SYS}" != "mingw32"; then
4402 dnl NEED_GTK2_MAIN=yes
4407 dnl PDA Gtk+2 module
4410 [ --enable-pda PDA interface needs Gtk2 support (default disabled)])
4411 if test "${enable_pda}" = "yes"
4413 PKG_CHECK_MODULES(GTK2, [gtk+-2.0 >= 2.0.0, gthread-2.0])
4414 VLC_ADD_CFLAGS([gtk2],[${GTK2_CFLAGS}])
4415 VLC_ADD_LDFLAGS([gtk2],[${GTK2_LIBS}])
4416 VLC_ADD_CFLAGS([pda],[${GTK2_CFLAGS} ${CFLAGS_pda}])
4417 VLC_ADD_LDFLAGS([pda],[${GTK2_LIBS} ${LDFLAGS_pda}])
4418 VLC_ADD_PLUGINS([pda])
4419 if test "${SYS}" != "mingw32"; then
4425 dnl dnl Gnome module
4427 dnl AC_ARG_ENABLE(gnome,
4428 dnl [ --enable-gnome Gnome interface support (default disabled)],
4429 dnl [if test "${enable_gnome}" = "yes"; then
4430 dnl # look for gnome-config
4431 dnl AC_PATH_PROG(GNOME_CONFIG, gnome-config, no)
4432 dnl if test -x ${GNOME_CONFIG}
4434 dnl VLC_ADD_CFLAGS([gnome],[`${GNOME_CONFIG} --cflags gtk gnomeui`])
4435 dnl VLC_ADD_LDFLAGS([gnome],[`${GNOME_CONFIG} --libs gnomeui | sed 's,-rdynamic,,'`])
4437 dnl # now look for the gnome.h header
4438 dnl CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_gnome}"
4439 dnl AC_CHECK_HEADERS(gnome.h, [
4440 dnl VLC_ADD_PLUGINS([gnome])
4441 dnl NEED_GTK_MAIN=yes
4442 dnl NEED_GNOME_MAIN=yes
4443 dnl ALIASES="${ALIASES} gnome-vlc"
4444 dnl dnl We need this because of some moronic gnomesupport.h flavours
4445 dnl AC_MSG_CHECKING(for strndup in gnome.h)
4446 dnl AC_EGREP_HEADER(strndup,gnome.h,[
4447 dnl AC_MSG_RESULT(yes)
4448 dnl AC_DEFINE(STRNDUP_IN_GNOME_H, 1,
4449 dnl Define if <gnome.h> defines strndup.)],[
4450 dnl AC_MSG_RESULT(no)])
4452 dnl AC_MSG_ERROR([Can't find gnome headers. Please install the gnome
4453 dnl developement tools or remove the --enable-gnome option])
4455 dnl CPPFLAGS="${CPPFLAGS_save}"
4459 dnl Gnome2 module ! Disabled for know as it is unuseable and confuses users
4461 dnl AC_ARG_ENABLE(gnome2,
4462 dnl [ --enable-gnome2 Gnome2 support (default disabled)])
4463 dnl if test "${enable_gnome2}" = "yes"
4465 dnl PKG_CHECK_MODULES(GNOME2, [libgnomeui-2.0])
4466 dnl VLC_ADD_CFLAGS([gnome2],[${GNOME2_CFLAGS}])
4467 dnl VLC_ADD_LDFLAGS([gnome2],[${GNOME2_LIBS}])
4468 dnl VLC_ADD_PLUGINS([gnome2])
4469 dnl if test "${SYS}" != "mingw32"; then
4470 dnl NEED_GNOME2_MAIN=yes
4475 dnl wxWidgets module
4477 AC_ARG_ENABLE(wxwidgets,
4478 [ --enable-wxwidgets wxWidgets support (default enabled)])
4479 if test "${enable_wxwindows}"
4481 AC_MSG_WARN(--{en|dis}able-wxwindows is deprecated. Use --{en|dis}able-wxwidgets instead.)
4484 if test "${enable_wxwindows}" = "no"
4486 enable_wxwidgets="no"
4488 if test "${enable_wxwidgets}" != "no"
4490 WXWIDGETS_PATH="${PATH}"
4491 AC_ARG_WITH(wx-config-path,
4492 [ --with-wx-config-path=PATH wx-config path (default search in \$PATH)],
4493 [ if test "${with_wx_config_path}" != "no"
4495 WXWIDGETS_PATH="${with_wx_config_path}:${PATH}"
4497 WXWIDGETS_NAME="wx-config"
4498 AC_ARG_WITH(wx-config,
4499 [ --with-wx-config=NAME wx-config name (default is wx-config)],
4500 [ if test "${with_wx_config}" != "no"
4502 WXWIDGETS_NAME="${with_wx_config}"
4504 # look for wx-config
4505 AC_PATH_PROG(WX_CONFIG, ${WXWIDGETS_NAME}, no, ${WXWIDGETS_PATH})
4506 if test "${WX_CONFIG}" != "no" -a "${CXX}" != ""
4508 if expr 2.3.0 \> `${WX_CONFIG} --version` >/dev/null
4510 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.])
4514 # playlist.cpp:1351: error: ISO C++ forbids cast to non-reference type
4515 # into a warning. However better would be to fix playlist.cpp
4516 AC_CACHE_CHECK([if \$CXX accepts -fpermissive],
4517 [ac_cv_cxx_fpermissive],
4518 [CXXFLAGS="${CXXFLAGS_save} -fpermissive"
4519 AC_TRY_COMPILE([],,ac_cv_cxx_fpermissive=yes,
4520 ac_cv_cxx_fpermissive=no)])
4521 if test "${ac_cv_cxx_fpermissive}" = "yes"; then
4522 VLC_ADD_CXXFLAGS([wxwidgets],-fpermissive)
4524 VLC_ADD_LDFLAGS([wxwidgets],[`${WX_CONFIG} --libs`])
4525 VLC_ADD_CXXFLAGS([wxwidgets],[`${WX_CONFIG} --cxxflags`])
4526 if ${WX_CONFIG} --unicode
4528 # wxwidgets should provide the following flags but does not
4529 # the following is required to compile for win32
4530 VLC_ADD_CXXFLAGS([wxwidgets],[-D_UNICODE -DUNICODE])
4532 if test "$have_libcdio" = "yes"
4534 VLC_ADD_LDFLAGS([wxwidgets],[$LIBCDIO_LIBS])
4535 VLC_ADD_CXXFLAGS([wxwidgets],[$LIBCDIO_CFLAGS])
4537 AC_MSG_WARN([Probe disc disabled because ok libcdio library not found])
4540 if test "$have_libvcdinfo" = "yes"
4542 VLC_ADD_LDFLAGS([wxwidgets],[$VCDINFO_LIBS])
4543 VLC_ADD_CXXFLAGS([wxwidgets],[$VCDINFO_CFLAGS])
4545 AC_MSG_WARN([VCD information on Probe disc disabled because ok libvcdinfo not found])
4548 # now look for the wxprec.h header
4549 CPPFLAGS="${CPPFLAGS_save} ${CXXFLAGS_wxwidgets}"
4550 ac_cv_wx_headers=yes
4551 AC_CHECK_HEADERS(wx/wxprec.h, , [
4553 echo "Cannot find wxWidgets development headers."
4555 if test "${ac_cv_wx_headers}" = "yes"
4557 VLC_ADD_PLUGINS([wxwidgets])
4558 ALIASES="${ALIASES} wxvlc"
4560 CPPFLAGS="${CPPFLAGS_save}"
4566 dnl WinCE GUI module
4568 if test "${SYS}" = "mingwce"; then
4569 VLC_ADD_BUILTINS([wince])
4570 VLC_ADD_CXXFLAGS([wince],[])
4571 VLC_ADD_LDFLAGS([wince],[-lcommctrl -lcommdlg -laygshell])
4573 VLC_ADD_LDFLAGS([wince],[\\\${top_builddir}modules/gui/wince/wince_rc.o])
4574 elif test "${SYS}" = "mingw32"; then
4575 VLC_ADD_CXXFLAGS([wince],[])
4576 VLC_ADD_LDFLAGS([wince],[-lcomctl32 -lcomdlg32 -lgdi32 -lole32])
4578 VLC_ADD_LDFLAGS([wince],[\\\${top_builddir}modules/gui/wince/wince_rc.o])
4582 dnl Simple test for skins2 dependency
4584 if test "${enable_skins2}" != "no"
4586 if test "${WX_CONFIG}" = "no"
4588 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.])
4595 dnl AC_ARG_ENABLE(qt,
4596 dnl [ --enable-qt Qt interface support (default disabled)],
4597 dnl [if test "${enable_qt}" = "yes"; then
4598 dnl VLC_ADD_PLUGINS([qt])
4599 dnl ALIASES="${ALIASES} qvlc"
4600 dnl VLC_ADD_LDFLAGS([qt],[-L${QTDIR}/lib])
4601 dnl LDFLAGS="${LDFLAGS_save} ${LDFLAGS_qt}"
4602 dnl AC_CHECK_LIB(qt-mt,main,[
4603 dnl VLC_ADD_LDFLAGS([qt],[-lqt-mt])
4605 dnl AC_CHECK_LIB(qt,main,[
4606 dnl VLC_ADD_LDFLAGS([qt],[-lqt])
4609 dnl LDFLAGS="${LDFLAGS_save}"
4610 dnl VLC_ADD_CXXFLAGS([qt],[-I/usr/include/qt3 -I/usr/include/qt -I${QTDIR}/include])
4611 dnl if test -x ${QTDIR}/bin/moc
4613 dnl MOC=${QTDIR}/bin/moc
4622 dnl AC_ARG_ENABLE(kde,
4623 dnl [ --enable-kde KDE interface support (default disabled)],
4624 dnl [if test "${enable_kde}" = "yes"; then
4625 dnl VLC_ADD_PLUGINS([kde])
4626 dnl ALIASES="${ALIASES} kvlc"
4627 dnl VLC_ADD_LDFLAGS([kde],[-L${KDEDIR}/lib])
4628 dnl dnl Check for -lkfile (only in KDE 2) or -lkdeui -lkio (KDE 3)
4629 dnl LDFLAGS="${LDFLAGS_save} ${LDFLAGS_kde}"
4630 dnl AC_CHECK_LIB(kfile,main,[
4631 dnl VLC_ADD_LDFLAGS([kde],[-lkfile])
4633 dnl LDFLAGS="${LDFLAGS_save} ${LDFLAGS_kde}"
4634 dnl AC_CHECK_LIB(kdeui,main,[
4635 dnl VLC_ADD_LDFLAGS([kde],[-lkdeui])
4637 dnl LDFLAGS="${LDFLAGS_save} ${LDFLAGS_kde}"
4638 dnl AC_CHECK_LIB(kio,main,[
4639 dnl VLC_ADD_LDFLAGS([kde],[-lkio])
4641 dnl LDFLAGS="${LDFLAGS_save}"
4642 dnl VLC_ADD_CXXFLAGS([kde],[-I/usr/include/kde -I/usr/include/qt3 -I/usr/include/qt])
4643 dnl VLC_ADD_CXXFLAGS([kde],[-I${KDEDIR}/include -I${QTDIR}/include])
4644 dnl if test -x ${QTDIR}/bin/moc
4646 dnl MOC=${QTDIR}/bin/moc
4653 dnl Opie QT embedded module
4656 [ --enable-opie Qt embedded interface support (default disabled)],
4657 [if test "${enable_opie}" = "yes"; then
4659 [ --with-qte=PATH Qt Embedded headers and libraries])
4660 if test "${with_qte}" != "no" -a -n "${with_qte}"
4662 VLC_ADD_LDFLAGS([qte],[-L${with_qte}/lib `echo -L${with_qte}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte])
4663 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])
4665 VLC_ADD_LDFLAGS([qte],[-L${QTDIR}/lib `echo -L${QTDIR}/lib | sed 's,opt/QtPalmtop,usr,'`])
4666 VLC_ADD_CXXFLAGS([qte],[-I${QTDIR}/include `echo -I${QTDIR}/include | sed 's,opt/QtPalmtop,usr,'`])
4668 CPPFLAGS="${CPPFLAGS_save} ${CXXFLAGS_qte}"
4669 AC_CHECK_HEADERS(qt.h jpeglib.h, ,[
4670 AC_MSG_ERROR([echo "Cannot find QT Embedded development headers."])
4672 CPPFLAGS="${CPPFLAGS_save}"
4674 VLC_ADD_PLUGINS([opie])
4676 VLC_ADD_LDFLAGS([opie],[-lqpe ${LDFLAGS_qte}])
4677 VLC_ADD_CXXFLAGS([opie],[${CXXFLAGS_qte}])
4678 if test "${with_qte}" != "no" -a -n "${with_qte}"
4680 MOC=${with_qte}/bin/moc
4682 MOC=${QTDIR}/bin/moc
4689 AC_ARG_ENABLE(macosx,
4690 [ --enable-macosx MacOS X support (default enabled on MacOS X)],
4691 [if test "${enable_macosx}" = "yes"
4693 VLC_ADD_BUILTINS([macosx])
4694 VLC_ADD_LDFLAGS([macosx],[-framework IOKit -framework Cocoa -framework Carbon -framework QuickTime -lobjc -ObjC -framework OpenGL])
4696 [AC_CHECK_HEADERS(Cocoa/Cocoa.h,
4697 VLC_ADD_BUILTINS([macosx])
4698 VLC_ADD_LDFLAGS([macosx],[-framework IOKit -framework Cocoa -framework Carbon -framework QuickTime -lobjc -ObjC -framework OpenGL])
4705 [ --enable-qnx QNX RTOS support (default enabled on QNX RTOS)])
4706 if test "${enable_qnx}" != "no"
4708 AC_CHECK_HEADERS(Ph.h, [
4709 VLC_ADD_PLUGINS([qnx])
4710 VLC_ADD_LDFLAGS([qnx],[-lasound -lph])
4717 AC_ARG_ENABLE(ncurses,
4718 [ --enable-ncurses ncurses interface support (default disabled)],
4719 [if test "${enable_ncurses}" = "yes"; then
4720 VLC_ADD_PLUGINS([ncurses])
4721 VLC_ADD_LDFLAGS([ncurses],[-lncurses])
4728 [ --enable-xosd xosd interface support (default disabled)])
4729 if test "${enable_xosd}" = "yes"
4731 AC_CHECK_HEADER(xosd.h, have_xosd="true", have_xosd="false")
4732 AC_CHECK_LIB(xosd,xosd_set_offset,
4733 AC_DEFINE(HAVE_XOSD_VERSION_1, 1, Define if <xosd.h> is 1.0.x),
4734 AC_CHECK_LIB(xosd,xosd_set_horizontal_offset,
4735 AC_DEFINE(HAVE_XOSD_VERSION_2, 1, Define if <xosd.h> is 2.0.x),
4736 AC_TRY_COMPILE([#include <xosd.h>],
4737 [void foo() { xosd_init("foo","bar",12,XOSD_top,2,12,42); }],,
4738 AC_DEFINE(HAVE_XOSD_VERSION_0, 1, Define if <xosd.h> is pre-1.0.0))))
4739 if test "${have_xosd}" = "true"
4741 VLC_ADD_PLUGINS([xosd])
4742 VLC_ADD_LDFLAGS([xosd],[-lxosd])
4747 dnl Visualisation plugin
4749 AC_ARG_ENABLE(visual,
4750 [ --enable-visual visualisation plugin (default enabled)])
4751 if test "${enable_visual}" != "no"
4753 VLC_ADD_PLUGINS([visual])
4757 dnl OpenGL visualisation plugin
4759 AC_ARG_ENABLE(galaktos,
4760 [ --enable-galaktos OpenGL visualisation plugin (default disabled)])
4761 if test "${enable_galaktos}" = "yes"
4763 AC_CHECK_HEADERS(GL/gl.h, [
4764 VLC_ADD_PLUGINS([galaktos])
4765 if test "${SYS}" != "mingw32"; then
4766 VLC_ADD_LDFLAGS([galaktos],[${X_LIBS} -lGL -lGLU])
4768 VLC_ADD_LDFLAGS([galaktos],[-lopengl32])
4774 dnl goom visualization plugin
4777 [ --enable-goom goom visualisation plugin (default disabled)])
4778 if test "${enable_goom}" = "yes"
4780 AC_ARG_WITH(goom-tree,
4781 [ --with-goom-tree=PATH goom tree for static linking (required)])
4784 dnl test for --with-goom-tree
4786 if test "${with_goom_tree}" != "no" -a -n "${with_goom_tree}"; then
4787 AC_MSG_CHECKING(for libgoom2.a in ${with_goom_tree})
4788 real_goom_tree="`cd ${with_goom_tree} 2>/dev/null && pwd`"
4789 if test -z "${real_goom_tree}"; then
4790 dnl The given directory can't be found
4792 AC_MSG_ERROR([cannot cd to ${with_goom_tree}])
4794 if test -f "${real_goom_tree}/src/.libs/libgoom2.a"; then
4795 AC_MSG_RESULT(${real_goom_tree}/src/.libs/libgoom2.a)
4796 VLC_ADD_BUILTINS([goom])
4797 VLC_ADD_LDFLAGS([goom],[-L${real_goom_tree}/src/.libs -lgoom2])
4798 VLC_ADD_CPPFLAGS([goom],[-I${real_goom_tree}/src -DUSE_GOOM_TREE])
4800 dnl The given libgoom2 wasn't built, try to look for the old goom
4802 AC_MSG_CHECKING(for libgoom.a in ${with_goom_tree})
4803 if test -f "${real_goom_tree}/libgoom.a"; then
4804 AC_MSG_RESULT(${real_goom_tree}/libgoom.a)
4805 VLC_ADD_BUILTINS([goom])
4806 VLC_ADD_LDFLAGS([goom],[-L${real_goom_tree} -lgoom])
4807 VLC_ADD_CPPFLAGS([goom],[-I${real_goom_tree} -DUSE_GOOM_TREE -DOLD_GOOM])
4809 dnl The given libgoom wasn't built
4811 AC_MSG_ERROR([cannot find ${real_goom_tree}/src/.libs/libgoom2.a, make sure you compiled goom in ${with_goom_tree}])
4815 AC_CHECK_HEADERS(goom/goom.h, [
4816 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_goom}"
4817 AC_CHECK_LIB(goom2, goom_init, [
4818 VLC_ADD_PLUGINS([goom])
4819 VLC_ADD_LDFLAGS([goom],[-lgoom2])
4821 AC_MSG_ERROR([Could not find goom on your system: you may get it from http://www.ios-software.com/.])
4823 LDFLAGS="${LDFLAGS_save}"
4829 dnl DAAP access plugin and services discovery
4832 [ --enable-daap DAAP shares services discovery support (default enabled)])
4833 if test "$enable_daap" != "no"
4835 PKG_CHECK_MODULES(DAAP, opendaap >= 0.3.0,
4836 [ VLC_ADD_PLUGINS([daap])
4837 VLC_ADD_LDFLAGS([daap],[$DAAP_LIBS])
4838 VLC_ADD_CFLAGS([daap],[$DAAP_CFLAGS])]:,
4839 [AC_MSG_WARN(DAAP library not found)])
4843 dnl Bonjour services discovery
4845 AC_ARG_ENABLE(bonjour,
4846 [ --enable-bonjour Bonjour services discovery (default enabled)])
4847 if test "${enable_bonjour}" != "no"
4849 PKG_CHECK_MODULES(BONJOUR, avahi-client >= 0.3,
4850 [PKG_CHECK_MODULES(BONJOUR, avahi-client >= 0.6,
4851 [AC_DEFINE(HAVE_AVAHI_06, [], [Define if you have avahi-client 0.6 or greater])],)
4852 AC_DEFINE(HAVE_AVAHI_CLIENT, [], [Define if you have the avahi-client library])
4853 VLC_ADD_LDFLAGS([bonjour access_output_http],[$BONJOUR_LIBS])
4854 VLC_ADD_CFLAGS([bonjour access_output_http],[$BONJOUR_CFLAGS])
4855 VLC_ADD_PLUGINS([bonjour]) ],
4856 [AC_MSG_WARN(avahi-client library not found)])
4863 [ --enable-lirc lirc support (default disabled)])
4864 if test "${enable_lirc}" = "yes"
4866 AC_CHECK_HEADER(lirc/lirc_client.h, AC_CHECK_LIB(lirc_client, lirc_init, have_lirc="true", have_lirc="false"),have_lirc="false")
4867 if test "${have_lirc}" = "true"
4869 VLC_ADD_PLUGINS([lirc])
4870 VLC_ADD_LDFLAGS([lirc],[-llirc_client])
4876 dnl corba (ORBit) plugin
4878 dnl Default: do not enable corba
4880 AC_ARG_ENABLE(corba,
4881 [ --enable-corba corba interface support (default disabled)])
4882 if test "${enable_corba}" = "yes"; then
4884 PKG_CHECK_MODULES(CORBA,
4885 ORBit-2.0 >= 2.8.0 \
4886 glib-2.0 >= $GLIB_VERSION \
4887 gobject-2.0 >= $GLIB_VERSION \
4888 gthread-2.0 >= $GLIB_VERSION,
4891 VLC_ADD_LDFLAGS([corba],[$CORBA_LIBS])
4892 VLC_ADD_CFLAGS([corba],[$CORBA_CFLAGS])
4893 VLC_ADD_PLUGINS([corba snapshot]) ],
4895 AC_MSG_WARN(corba library not found) ])
4897 AM_CONDITIONAL(ENABLE_CORBA, test "$enablecorba" = "true")
4899 AC_ARG_WITH(,[Misc options:])
4902 dnl Endianness check, AC_C_BIGENDIAN doesn't work if we are cross-compiling
4904 dnl We give the user the opportunity to specify
4905 dnl --with-words=big or --with-words=little ; otherwise, try to guess
4908 [ --with-words=endianness set endianness (big or little)])
4909 case "${with_words}" in
4911 ac_cv_c_bigendian=yes
4914 ac_cv_c_bigendian=no
4917 dnl Try to guess endianness by matching patterns on a compiled
4918 dnl binary, by looking for an ASCII or EBCDIC string
4919 AC_CACHE_CHECK([whether the byte order is big-endian],
4920 [ac_cv_c_bigendian],
4921 [ac_cv_c_bigendian="unknown"
4922 [cat >conftest.c <<EOF
4923 short am[] = { 0x4249, 0x4765, 0x6e44, 0x6961, 0x6e53, 0x7953, 0 };
4924 short ai[] = { 0x694c, 0x5454, 0x656c, 0x6e45, 0x6944, 0x6e61, 0 };
4925 void _a(void) { char*s = (char*)am; s = (char *)ai; }
4926 short ei[] = { 0x89D3, 0xe3e3, 0x8593, 0x95c5, 0x89c4, 0x9581, 0 };
4927 short em[] = { 0xc2c9, 0xc785, 0x95c4, 0x8981, 0x95e2, 0xa8e2, 0 };
4928 void _e(void) { char*s = (char*)em; s = (char*)ei; }
4929 int main(void) { _a(); _e(); return 0; }
4932 if test -f conftest.c
4934 if ${CC-cc} -c conftest.c -o conftest.o >>config.log 2>&1 \
4935 && test -f conftest.o
4937 if test "`strings conftest.o | grep BIGenDianSyS`"
4939 ac_cv_c_bigendian="yes"
4941 if test "`strings conftest.o | grep LiTTleEnDian`"
4943 ac_cv_c_bigendian="no"
4948 if test "${ac_cv_c_bigendian}" = "unknown"
4950 AC_MSG_ERROR([Could not guess endianness, please use --with-words])
4954 dnl Now we know what to use for endianness, just put it in the header
4955 if test "${ac_cv_c_bigendian}" = "yes"
4957 AC_DEFINE(WORDS_BIGENDIAN, 1, big endian system)
4961 dnl DLL loader copied from MPlayer copied from somewhere else (WINE ?)
4964 AC_ARG_ENABLE(loader,
4965 [ --enable-loader build DLL loader for ELF i386 platforms (default disabled)])
4966 AM_CONDITIONAL(LOADER, [test "${enable_loader}" = "yes"])
4967 AS_IF([test "${enable_loader}" = "yes"],
4968 [ VLC_ADD_PLUGINS([dmo quicktime])
4969 VLC_ADD_CPPFLAGS([dmo],[-I../../../@top_srcdir@/loader])
4970 VLC_ADD_LDFLAGS([dmo],[../../../loader/libloader.a])
4971 VLC_ADD_CPPFLAGS([quicktime],[-I../../@top_srcdir@/loader])
4972 VLC_ADD_LDFLAGS([quicktime],[../../loader/libloader.a])
4973 VLC_ADD_CPPFLAGS([realaudio],[-I../../@top_srcdir@/loader -DLOADER])
4974 VLC_ADD_LDFLAGS([realaudio],[../../loader/libloader.a])
4978 dnl Microsoft ActiveX support
4981 AC_ARG_ENABLE(activex,
4982 [ --enable-activex build a vlc-based ActiveX control (default enabled on Win32)])
4983 if test "${enable_activex}" != "no"
4985 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
4987 AC_CHECK_PROGS(MIDL, [midl widl], no)
4989 AC_CHECK_HEADERS(ole2.h olectl.h,
4990 [ VLC_ADD_CXXFLAGS([activex],[-fno-exceptions])
4991 VLC_ADD_LDFLAGS([activex],[-lole32 -loleaut32 -luuid -lshlwapi])
4992 AC_CHECK_HEADERS(objsafe.h,
4993 VLC_ADD_CXXFLAGS([activex],[-DHAVE_OBJSAFE_HEADER]),,
5000 [ AC_MSG_ERROR([required OLE headers are missing from your system]) ]
5005 AC_ARG_VAR(MIDL, [Microsoft IDL compiler (Win32 platform only)])
5006 AM_CONDITIONAL(HAS_MIDL_COMPILER, test "${MIDL}" != "no")
5007 AM_CONDITIONAL(BUILD_ACTIVEX,${activex})
5013 AC_ARG_ENABLE(mozilla,
5014 [ --enable-mozilla build a vlc-based Mozilla plugin (default disabled)])
5015 AC_ARG_WITH(mozilla-sdk-path,
5016 [ --with-mozilla-sdk-path=PATH path to mozilla sdk])
5018 if test "${enable_mozilla}" = "yes"
5020 if test "${with_mozilla_sdk_path}" = ""
5022 AC_PATH_PROG(MOZILLA_CONFIG, mozilla-config, no)
5023 if test "${MOZILLA_CONFIG}" = "no"
5025 AC_MSG_ERROR([Please install the Mozilla development tools, mozilla-config was not found.])
5027 if test "${SYS}" != "mingw32"; then
5028 LDFLAGS="${LDFLAGS_save} ${X_LIBS} ${X_PRE_LIBS}"
5029 AC_CHECK_LIB(Xt,XtStrings,
5030 [VLC_ADD_LDFLAGS([mozilla],[${X_LIBS} ${X_PRE_LIBS} -lXt -lX11 -lSM -lICE])],
5032 [[${X_LIBS} ${X_PRE_LIBS} -lX11 -lSM -lICE]
5034 LDFLAGS="${LDFLAGS_save}"
5037 dnl Workaround for http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=150490
5038 VLC_ADD_CPPFLAGS([mozilla],[[`${MOZILLA_CONFIG} --cflags plugin xpcom java | sed 's,-I\([^ ]*\)/mozilla/\([^ ]*\),-I\1/\2 -I\1/mozilla/\2,g' | xargs`]])
5039 VLC_ADD_LDFLAGS([mozilla],[`${MOZILLA_CONFIG} --libs plugin xpcom`])
5040 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_mozilla}"
5041 AC_CHECK_HEADERS(mozilla-config.h)
5042 CPPFLAGS="${CPPFLAGS_save}"
5043 XPIDL_INCL="`${MOZILLA_CONFIG} --cflags plugin xpcom java` \
5044 `${MOZILLA_CONFIG} --idlflags plugin xpcom java` "
5045 xpidl_path="`${MOZILLA_CONFIG} --prefix`/bin"
5048 dnl special case for mingw32
5049 if test "${SYS}" = "mingw32"
5051 AC_CHECK_TOOL(CYGPATH, cygpath, "")
5052 dnl latest gecko sdk does not have an xpcom directory
5053 if test -d "${with_mozilla_sdk_path}/xpcom"; then
5054 mozilla_sdk_xpcom="/xpcom"
5058 real_mozilla_sdk="`cd ${with_mozilla_sdk_path} 2>/dev/null && pwd`"
5059 CPPFLAGS="${CPPFLAGS_save} -I${real_mozilla_sdk} -I${real_mozilla_sdk}/include"
5060 AC_CHECK_HEADERS(mozilla-config.h, [
5062 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])
5063 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])
5064 if test "${SYS}" = "mingw32"; then
5065 LDFLAGS="${LDFLAGS_save}"
5066 dnl latest gecko sdk does not have embedstring
5067 if test -d "${real_mozilla_sdk}/embedstring/bin"
5069 VLC_ADD_LDFLAGS([mozilla],[-lembedstring -Wl,--kill-at])
5073 XPIDL_INCL="-I${real_mozilla_sdk}${mozilla_sdk_xpcom}/idl"
5074 xpidl_path="${real_mozilla_sdk}${mozilla_sdk_xpcom}/bin"
5076 if test -n "${CYGPATH}"; then
5077 real_mozilla_sdk="`${CYGPATH} -w ${real_mozilla_sdk}`"
5078 XPIDL_INCL="${XPIDL_INCL} -I\"${real_mozilla_sdk}${mozilla_sdk_xpcom}/idl\""
5080 CPPFLAGS="${CPPFLAGS_save}"
5083 if test "${mozilla}" != "false"
5086 AC_PATH_PROG(XPIDL, xpidl, no, ${xpidl_path} /usr/lib/mozilla)
5087 if test "${XPIDL}" = "no"; then
5088 AC_MSG_ERROR([Please install the Mozilla development tools, xpidl was not found.])
5092 AM_CONDITIONAL(BUILD_MOZILLA,${mozilla})
5095 dnl Mediacontrol Python bindings
5097 AC_ARG_ENABLE(mediacontrol-python-bindings,
5098 [ --enable-mediacontrol-python-bindings Enable Python bindings for MediaControl (default disabled)])
5099 dnl TODO: look for python dev headers
5100 AM_CONDITIONAL(BUILD_PYTHON, [test "${enable_mediacontrol_python_bindings}" = "yes"])
5101 if test "${enable_mediacontrol_python_bindings}" = "yes"
5109 AC_ARG_ENABLE(java-bindings,
5110 [ --enable-java-bindings Enable Java bindings (default disabled)])
5111 AM_CONDITIONAL(BUILD_JAVA, [test "${enable_java_bindings}" = "yes"])
5112 if test "${enable_java_bindings}" = "yes"
5121 AC_ARG_ENABLE(testsuite,
5122 [ --enable-testsuite build test modules (default disabled)])
5123 if test "${enable_testsuite}" = "yes"
5125 TESTS="test1 test2 test3 test4"
5127 dnl we define those so that bootstrap sets the right linker
5128 VLC_ADD_CXXFLAGS([test2],[])
5129 VLC_ADD_OBJCFLAGS([test3],[])
5130 dnl this one is needed until automake knows what to do
5131 VLC_ADD_LDFLAGS([test3],[-lobjc])
5133 VLC_ADD_PLUGINS([${TESTS}])
5134 #VLC_ADD_BUILTINS([${TESTS}])
5140 if test "${NEED_GTK_MAIN}" != "no"
5142 VLC_ADD_PLUGINS([gtk_main])
5143 VLC_ADD_CFLAGS([gtk_main],[${CFLAGS_gtk}])
5144 VLC_ADD_LDFLAGS([gtk_main],[${LDFLAGS_gtk}])
5147 if test "${NEED_GNOME_MAIN}" != "no"
5149 VLC_ADD_PLUGINS([gnome_main])
5150 VLC_ADD_CFLAGS([gnome_main],[${CFLAGS_gtk} ${CFLAGS_gnome}])
5151 VLC_ADD_LDFLAGS([gnome_main],[${LDFLAGS_gtk} ${LDFLAGS_gnome}])
5154 if test "${NEED_GTK2_MAIN}" != "no"
5156 VLC_ADD_PLUGINS([gtk2_main])
5157 VLC_ADD_CFLAGS([gtk2],[-DNEED_GTK2_MAIN])
5158 VLC_ADD_CFLAGS([pda],[-DNEED_GTK2_MAIN])
5159 VLC_ADD_CFLAGS([gtk2_main],[${CFLAGS_gtk2} ${CFLAGS_pda}])
5160 VLC_ADD_LDFLAGS([gtk2_main],[${LDFLAGS_gtk2} ${LDFLAGS_pda}])
5163 if test "${NEED_GNOME2_MAIN}" != "no"
5165 VLC_ADD_PLUGINS([gnome2_main])
5166 VLC_ADD_CFLAGS([gnome2_main],[${CFLAGS_gtk2} ${CFLAGS_gnome2}])
5167 VLC_ADD_LDFLAGS([gnome2_main],[${LDFLAGS_gtk2} ${LDFLAGS_gnome2}])
5173 if test "${NEED_QTE_MAIN}" != "no"
5175 VLC_ADD_PLUGINS([qte_main])
5176 VLC_ADD_CXXFLAGS([opie qte qt_video],[-DNEED_QTE_MAIN])
5177 VLC_ADD_CXXFLAGS([qte_main],[${CXXFLAGS_qte} ${CXXFLAGS_qt_video}])
5178 VLC_ADD_LDFLAGS([qte_main],[${LDFLAGS_qte} ${LDFLAGS_qt_video}])
5183 dnl Plugin and builtin checks
5185 builtin_support=false
5188 dnl Support for plugins - this must be AT THE END
5189 AC_ARG_ENABLE(plugins,
5190 [ --disable-plugins make all plugins built-in (default plugins enabled)],
5191 [if test "${enable_plugins}" = "no"
5193 plugin_support=false
5196 dnl Automagically disable plugins if there is no system support for
5197 dnl dynamically loadable files (.so, .dll, .dylib).
5198 dnl don't forget vlc-win32 still can load .dll as plugins
5199 if test "${ac_cv_have_plugins}" = "no"
5201 echo "*** Your system doesn't have plugin support. All plugins will be built"
5203 plugin_support=false
5206 dnl Export automake variables
5207 if ${plugin_support}
5209 AC_DEFINE(HAVE_DYNAMIC_PLUGINS, 1, Define if we have support for dynamic plugins)
5210 for plugin in `echo ${PLUGINS}`
5212 eval "${plugin}_p=yes"
5215 VLC_ADD_BUILTINS([${PLUGINS}])
5218 AM_CONDITIONAL(HAVE_PLUGINS, ${plugin_support})
5220 [if echo "${BUILTINS}" | grep '[^ ]' >/dev/null 2>&1
5223 for builtin in `echo ${BUILTINS}`
5225 eval "${builtin}_b=yes"
5228 AM_CONDITIONAL(HAVE_BUILTINS, ${builtin_support})
5231 dnl Pic and shared libvlc stuff
5233 AS_IF([test "x${enable_shared_libvlc}" = "x"], [enable_shared_libvlc=no])
5234 AM_CONDITIONAL(BUILD_SHARED, [test "${enable_shared_libvlc}" != "no"])
5235 AM_CONDITIONAL(BUILD_PIC, [test "${build_pic}" = "yes" -o "${enable_shared_libvlc}" != "no"] )
5236 AS_IF([test "${enable_shared_libvlc}" != "no" || test "${enable_libtool}" != "no"], [
5237 AC_DEFINE(HAVE_SHARED_LIBVLC, 1, [Define to 1 if libvlc is built as a shared library.])
5241 AS_IF([test "${enable_shared_libvlc}" != "no" -o "${build_pic}" = "yes"], [pic=pic])
5242 AS_IF([test "${SYS}" = "mingw32"], [pic=no])
5243 AS_IF([test "${pic}" = "no"], [pic=])
5246 dnl Import conditional variables generated by bootstrap
5250 dnl Stuff used by the program
5252 AC_DEFINE_UNQUOTED(VERSION_MESSAGE, "${VERSION} ${CODENAME}", [Simple version string])
5253 AC_DEFINE_UNQUOTED(COPYRIGHT_MESSAGE, "VLC media player - version ${VERSION} ${CODENAME} - (c) 1996-2006 the VideoLAN team", [Copyright string])
5254 AC_DEFINE_UNQUOTED(CONFIGURE_LINE, "${CONFIGURE_LINE}", [The ./configure command line])
5255 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MAJOR,"${VERSION_MAJOR}", [version major number])
5256 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MINOR,"${VERSION_MINOR}", [version minor number])
5257 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_REVISION,"${VERSION_REVISION}", [version minor number])
5258 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_EXTRA,"${VERSION_EXTRA}", [version minor number])
5259 AC_SUBST(VERSION_MAJOR)
5260 AC_SUBST(VERSION_MINOR)
5261 AC_SUBST(VERSION_REVISION)
5262 AC_DEFINE_UNQUOTED(VLC_COMPILE_BY, "`whoami`", [user who ran configure])
5263 AC_DEFINE_UNQUOTED(VLC_COMPILE_HOST, "`hostname`", [host which ran configure])
5264 AC_DEFINE_UNQUOTED(VLC_COMPILE_DOMAIN, "`dnsdomainname 2>/dev/null || domainname 2>/dev/null || echo unknown`", [domain of the host which ran configure])
5265 AC_DEFINE_UNQUOTED(VLC_COMPILER, "`$CC -v 2>&1 | tail -n 1`", [compiler])
5267 dnl Old definitions for version-dependant plugins
5268 dnl VLC_SYMBOL="`echo ${VERSION} | sed -e 'y/.-+/___/'`"
5269 dnl AC_DEFINE_UNQUOTED(MODULE_SUFFIX, "__${VLC_SYMBOL}", [String suffix for module functions])
5270 dnl AC_DEFINE_UNQUOTED(MODULE_SYMBOL, ${VLC_SYMBOL}, [Symbol suffix for module functions])
5272 dnl New definitions with value matching 0.8.4 release
5273 module_symbol="0_8_4"
5274 AC_DEFINE_UNQUOTED(MODULE_SUFFIX, "__${module_symbol}", [String suffix for module functions])
5275 AC_DEFINE_UNQUOTED(MODULE_SYMBOL, $module_symbol, [Symbol suffix for module functions])
5276 VLC_ENTRY="vlc_entry__${module_symbol}"
5280 dnl Handle substvars that use $(top_srcdir)
5282 VLC_CONFIG="top_builddir=\"\$(top_builddir)\" \$(top_builddir)/vlc-config"
5283 AC_SUBST(VLC_CONFIG)
5284 CPPFLAGS_save="${CPPFLAGS_save} -I\$(top_srcdir)/include"
5292 dnl Create the vlc-config script
5294 LDFLAGS_libvlc="${LDFLAGS_vlc} ${LDFLAGS_builtin}"
5295 for i in `echo "${BUILTINS}" | sed -e 's@[^ ]*/@@g'` ; do LDFLAGS_libvlc="${LDFLAGS_libvlc} ${libdir}/vlc/${i}.a `eval echo '$'{LDFLAGS_${i}}`" ; done
5298 dnl Configuration is finished
5307 AC_SUBST(XPIDL_INCL)
5310 AC_SUBST(ALL_LINGUAS)
5311 AC_SUBST(MACOSX_DEPLOYMENT_TARGET)
5313 dnl Import substitutions generated by bootstrap
5316 dnl Create vlc-config.in
5317 VLC_OUTPUT_VLC_CONFIG_IN
5324 bindings/java/Makefile
5325 bindings/mediacontrol-python/Makefile
5340 modules/access/Makefile
5341 modules/access/dshow/Makefile
5342 modules/access/dvb/Makefile
5343 modules/access/mms/Makefile
5344 modules/access/pvr/Makefile
5345 modules/access/v4l/Makefile
5346 modules/access/cdda/Makefile
5347 modules/access/rtsp/Makefile
5348 modules/access/vcd/Makefile
5349 modules/access/vcdx/Makefile
5350 modules/access/screen/Makefile
5351 modules/access_filter/Makefile
5352 modules/access_output/Makefile
5353 modules/audio_filter/Makefile
5354 modules/audio_filter/channel_mixer/Makefile
5355 modules/audio_filter/converter/Makefile
5356 modules/audio_filter/resampler/Makefile
5357 modules/audio_mixer/Makefile
5358 modules/audio_output/Makefile
5359 modules/codec/Makefile
5360 modules/codec/cmml/Makefile
5361 modules/codec/dmo/Makefile
5362 modules/codec/ffmpeg/Makefile
5363 modules/codec/spudec/Makefile
5364 modules/control/Makefile
5365 modules/control/http/Makefile
5366 modules/control/corba/Makefile
5367 modules/demux/Makefile
5368 modules/demux/asf/Makefile
5369 modules/demux/avi/Makefile
5370 modules/demux/mp4/Makefile
5371 modules/demux/mpeg/Makefile
5372 modules/demux/playlist/Makefile
5373 modules/demux/util/Makefile
5374 modules/gui/Makefile
5375 modules/gui/beos/Makefile
5376 modules/gui/pda/Makefile
5377 modules/gui/macosx/Makefile
5378 modules/gui/qnx/Makefile
5379 modules/gui/skins2/Makefile
5380 modules/gui/wxwidgets/Makefile
5381 modules/gui/wince/Makefile
5382 modules/misc/Makefile
5383 modules/misc/dummy/Makefile
5384 modules/misc/memcpy/Makefile
5385 modules/misc/network/Makefile
5386 modules/misc/testsuite/Makefile
5387 modules/misc/playlist/Makefile
5388 modules/misc/xml/Makefile
5389 modules/mux/Makefile
5390 modules/mux/mpeg/Makefile
5391 modules/packetizer/Makefile
5392 modules/services_discovery/Makefile
5393 modules/stream_out/Makefile
5394 modules/stream_out/transrate/Makefile
5395 modules/video_chroma/Makefile
5396 modules/video_filter/Makefile
5397 modules/video_filter/swscale/Makefile
5398 modules/video_output/Makefile
5399 modules/video_output/directx/Makefile
5400 modules/video_output/qte/Makefile
5401 modules/video_output/x11/Makefile
5402 modules/visualization/Makefile
5403 modules/visualization/visual/Makefile
5404 modules/visualization/galaktos/Makefile
5407 dnl Generate makefiles
5410 # Cannot use AC_CONFIG_FILES([vlc-config]) as is automatically built,
5411 # not provided with the source
5412 ${SHELL} ./config.status --file=vlc-config
5413 chmod 0755 vlc-config
5415 dnl echo "Enabled builtin modules :"
5416 dnl for a in `./vlc-config --target builtin` ; do echo $a; done | sed -e 's,modules\/\(.*\)\/lib\(.*\)\.a,\2 (\1),'
5418 dnl echo "Enabled plugin modules :"
5419 dnl for a in `./vlc-config --target plugin` ; do echo $a; done | sed -e 's,modules\/\(.*\)\/lib\(.*\)_plugin,\2 (\1),'
5421 dnl Shortcut to nice compile message
5423 echo '#! /bin/sh' >compile
5425 echo "PATH=$PATH LANG=C make \$* 2>&1| \\" >> compile
5426 echo '`sed -ne "s/^top_srcdir *= *//p" < Makefile`/extras/make.pl' >> compile
5431 --------------------
5432 vlc version : ${VERSION}
5434 architecture : ${ARCH}
5436 test "${enable_debug}" = "yes" && printf "debug "
5437 test "${enable_cprof}" = "yes" && printf "cprof "
5438 test "${enable_gprof}" = "yes" && printf "gprof "
5439 test "${enable_optimizations}" = "yes" && printf "optim "
5440 test "${enable_release}" = "yes" && printf "release " || printf "devel "
5442 vlc aliases :${ALIASES}
5444 You can tune the compiler flags in vlc-config.
5445 To build vlc and its plugins, type \`./compile' or \`make'.