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)
432 LIBS_socket="-lsocket"
436 AC_CHECK_FUNCS(send,,[
437 AC_CHECK_LIB(socket,send,[
438 VLC_ADD_LDFLAGS([access_http access_mms access_udp access_tcp access_ftp sap access_output_udp stream_out_standard growl],[-lsocket])
442 AC_CHECK_FUNCS(gethostbyname,,[
443 AC_CHECK_LIB(nsl,gethostbyname,[
444 VLC_ADD_LDFLAGS([cdda cddax ipv4 ipv6 vlc],[-lnsl])
446 AC_CHECK_LIB(bind,gethostbyname,[
447 VLC_ADD_LDFLAGS([ipv4 access_mms],[-lbind])
452 dnl Check for socklen_t
453 AC_CACHE_CHECK([for socklen_t], ac_cv_type_socklen_t,
455 [#include <sys/types.h>
456 #include <sys/socket.h>],
457 [socklen_t len = 42; return len;],
458 ac_cv_type_socklen_t=yes,
459 ac_cv_type_socklen_t=no)])
460 if test "${ac_cv_type_socklen_t}" != "no"; then
461 AC_DEFINE(HAVE_SOCKLEN_T, 1, [Define if <sys/socket.h> defines socklen_t.])
464 dnl Check for struct sockaddr_storage
465 AH_TEMPLATE(sockaddr_storage, [Define to `sockaddr' if <sys/socket.h> does not define.])
466 AH_TEMPLATE(ss_family, [Define to `sa_family' if <sys/socket.h> does not define.])
467 AC_CACHE_CHECK([for struct sockaddr_storage], ac_cv_struct_sockaddr_storage,
469 [#include <sys/types.h>
470 #if defined( UNDER_CE )
471 # include <winsock.h>
472 #elif defined( WIN32 )
473 # include <winsock2.h>
475 # include <sys/socket.h>
476 #endif], [struct sockaddr_storage addr;],
477 ac_cv_struct_sockaddr_storage=yes,
478 ac_cv_struct_sockaddr_storage=no)])
479 AS_IF([test "${ac_cv_struct_sockaddr_storage}" = no], [
480 AC_DEFINE(sockaddr_storage, sockaddr)
481 AC_DEFINE(ss_family, sa_family)
484 dnl getaddrinfo, getnameinfo and gai_strerror check
485 dnl -lnsl and -lsocket are needed on Solaris;
486 dnl we purposedly make the test fail on Windows
488 AH_TEMPLATE(HAVE_GETADDRINFO, [Define to 1 if you have the `getaddrinfo' function.])
489 AC_SEARCH_LIBS([getaddrinfo], [nsl], [AC_DEFINE(HAVE_GETADDRINFO)],, [${LIBS_socket}])
491 dnl NOTE: we assume getaddrinfo will be present if getnameinfo or gai_strerro
494 AC_CHECK_FUNCS([getnameinfo gai_strerror])
497 AH_TEMPLATE(HAVE_ADDRINFO, [Define to 1 if <netdb.h> defines `struct addrinfo'.])
498 AC_CHECK_TYPES([struct addrinfo],[AC_DEFINE(HAVE_ADDRINFO)],,
499 [#include <sys/types.h>
500 #if defined( WIN32 ) || defined( UNDER_CE )
501 # if defined(UNDER_CE) && defined(sockaddr_storage)
502 # undef sockaddr_storage
504 # include <winsock2.h>
505 # include <ws2tcpip.h>
510 dnl Check for va_copy
511 AC_CACHE_CHECK([for va_copy], ac_cv_c_va_copy,
513 [#include <stdarg.h>],
514 [va_list ap1, ap2; va_copy(ap1,ap2);],
515 [ac_cv_c_va_copy="yes"],
516 [ac_cv_c_va_copy="no"]))
517 if test "${ac_cv_c_va_copy}" = "yes"; then
518 AC_DEFINE(HAVE_VA_COPY, 1, [Define if <stdarg.h> defines va_copy.])
520 AC_CACHE_CHECK([for __va_copy], ac_cv_c___va_copy,
522 [#include <stdarg.h>],
523 [va_list ap1, ap2; __va_copy(ap1,ap2);],
524 [ac_cv_c___va_copy="yes"],
525 [ac_cv_c___va_copy="no"]))
526 if test "${ac_cv_c___va_copy}" = "yes"; then
527 AC_DEFINE(HAVE___VA_COPY, 1, [Define if <stdarg.h> defines __va_copy.])
530 AC_CHECK_FUNCS(inet_aton,,[
531 AC_CHECK_LIB(resolv,inet_aton,[
532 VLC_ADD_LDFLAGS([ipv4 vlc],[-lresolv])
536 dnl Check for getopt (always use builtin one on win32)
537 if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"; then
541 AC_CHECK_FUNCS(getopt_long,[AC_DEFINE(HAVE_GETOPT_LONG,1,long getopt support)],
542 [ # FreeBSD has a gnugetopt library for this:
543 AC_CHECK_LIB([gnugetopt],[getopt_long],
544 [AC_DEFINE(HAVE_GETOPT_LONG,1,getopt support)
545 VLC_ADD_LDFLAGS([vlc],[-lgnugetopt])],
548 AM_CONDITIONAL(BUILD_GETOPT, ${need_getopt})
550 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
553 VLC_ADD_LDFLAGS([adjust distort a52tofloat32 dtstofloat32 x264 goom],[-lm])
556 VLC_ADD_LDFLAGS([ffmpeg ffmpegaltivec stream_out_transrate i420_rgb faad twolame equalizer param_eq vlc freetype mpc],[-lm])
558 AC_CHECK_LIB(m,sqrt,[
559 VLC_ADD_LDFLAGS([headphone_channel_mixer normvol speex],[-lm])
561 AC_CHECK_LIB(mx,sqrtf,[
562 VLC_ADD_LDFLAGS([x264],[-lmx])
564 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
566 dnl Check for dynamic plugins
567 ac_cv_have_plugins=no
570 AC_CHECK_HEADERS(mach-o/dyld.h,
571 [AC_CHECK_FUNCS(NSLinkModule,
572 [AC_DEFINE(HAVE_DL_DYLD, 1, [Define if you have the Darwin dyld API])
573 ac_cv_have_plugins=yes])])
576 if test "${ac_cv_have_plugins}" = "no"; then
577 AC_CHECK_HEADERS(dl.h)
578 ac_cv_my_have_shl_load=no
579 AC_CHECK_FUNC(shl_load,
580 [ac_cv_my_have_shl_load=yes,
581 AC_CHECK_LIB(dld, shl_load,
582 [ac_cv_my_have_shl_load=yes
583 VLC_ADD_LDFLAGS([vlc],[-ldld])])])
584 if test "${ac_cv_my_have_shl_load}" = "yes"; then
585 AC_DEFINE(HAVE_DL_SHL_LOAD, 1, [Define if you have the shl_load API])
586 ac_cv_have_plugins=yes
591 if test "${ac_cv_have_plugins}" = "no"; then
592 AC_CHECK_LIB(dld, dld_link,
593 [VLC_ADD_LDFLAGS([vlc],[-ldld])
594 AC_DEFINE(HAVE_DL_DLD_LINK, 1, [Define if you have the GNU dld library])
595 ac_cv_have_plugins=yes])
599 if test "${ac_cv_have_plugins}" = "no"; then
600 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"; then
601 AC_CHECK_LIB(kernel32, main,
602 [VLC_ADD_LDFLAGS([vlc],[-lkernel32])
603 AC_DEFINE(HAVE_DL_WINDOWS, 1, [Define if you have Windows' LoadLibrary])
604 ac_cv_have_plugins=yes])
609 if test "${ac_cv_have_plugins}" = "no"; then
610 if test "${SYS}" = "mingwce"; then
611 AC_DEFINE(HAVE_DL_WINDOWS, 1, [Define if you have Windows' LoadLibrary])
612 ac_cv_have_plugins=yes
617 if test "${ac_cv_have_plugins}" = "no"; then
618 AC_CHECK_HEADERS(image.h)
619 AC_CHECK_FUNCS(load_add_on,
620 [AC_DEFINE(HAVE_DL_BEOS, 1, [Define if you have the BeOS dl])
621 ac_cv_have_plugins=yes])
624 # Only test for dlopen() if the others didn't work
625 if test "${ac_cv_have_plugins}" = "no"; then
626 AC_CHECK_HEADERS(dlfcn.h sys/dl.h)
627 ac_cv_my_have_dlopen=no
628 AC_CHECK_FUNC(dlopen,
629 ac_cv_my_have_dlopen=yes,
630 AC_CHECK_LIB(dl, dlopen,
631 ac_cv_my_have_dlopen=yes
632 VLC_ADD_LDFLAGS([vlc],[-ldl]),
633 AC_CHECK_LIB(svld, dlopen,
634 ac_cv_my_have_dlopen=yes
635 VLC_ADD_LDFLAGS([vlc],[-lsvld]))))
636 if test "${ac_cv_my_have_dlopen}" = "yes"; then
637 AC_DEFINE(HAVE_DL_DLOPEN, 1, [Define if you have the dlopen API])
638 ac_cv_have_plugins=yes
642 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
643 dnl Check for pthreads - borrowed from XMMS
645 if test "${THREAD_LIB}" = "error"; then
646 AC_CHECK_LIB(pthread,main,THREAD_LIB="-lpthread")
648 if test "${THREAD_LIB}" = "error"; then
649 AC_CHECK_LIB(pthreads,main,THREAD_LIB="-lpthreads")
651 if test "${THREAD_LIB}" = "error"; then
652 AC_CHECK_LIB(c_r,main,THREAD_LIB="-lc_r")
654 if test "${THREAD_LIB}" = "error"; then
655 AC_CHECK_FUNCS(pthread_mutex_lock)
659 dnl Check for cthreads under GNU/Hurd for instance
660 AC_CHECK_LIB(threads,cthread_fork,THREAD_LIB="-lthreads")
663 dnl GNU portable threads
666 [ --enable-pth GNU Pth support (default disabled)],
667 [ if test "${enable_pth}" = "yes"; then
668 AC_CHECK_LIB(pth,pth_init)
669 AC_MSG_CHECKING(for pth_init in pth.h)
670 AC_EGREP_HEADER(pth_init,pth.h,[
672 AC_DEFINE(PTH_INIT_IN_PTH_H, 1,
673 Define if <pth.h> defines pth_init)
685 [ --enable-st State Threads (default disabled)],
686 [ if test "${enable_st}" = "yes"; then
687 AC_CHECK_LIB(st,st_init)
688 AC_MSG_CHECKING(for st_init in st.h)
689 AC_EGREP_HEADER(st_init,st.h,[
691 AC_DEFINE(ST_INIT_IN_ST_H, 1,
692 Define if <st.h> defines st_init)
700 VLC_ADD_LDFLAGS([vlc plugin],[${THREAD_LIB}])
702 dnl Don't link with rt when using GNU-pth
703 if test "${THREAD_LIB}" != "-lpth" && test "${THREAD_LIB}" != "-lst"; then
705 AC_CHECK_LIB(rt,sem_init, [VLC_ADD_LDFLAGS([vlc],[-lrt])])
708 AC_CHECK_FUNCS(nanosleep,have_nanosleep=:,[
709 AC_CHECK_LIB(rt,nanosleep,
710 [VLC_ADD_LDFLAGS([vlc],[-lrt]) have_nanosleep=:],
711 [AC_CHECK_LIB(posix4,nanosleep,
712 [VLC_ADD_LDFLAGS([vlc],[-lposix4]) have_nanosleep=:])]
715 if ${have_nanosleep}; then
716 AC_DEFINE(HAVE_NANOSLEEP, 1,
717 Define if nanosleep is available.)
721 dnl Check for misc headers
722 AC_MSG_CHECKING(for pthread_cond_t in pthread.h)
723 AC_EGREP_HEADER(pthread_cond_t,pthread.h,[
725 AC_DEFINE(PTHREAD_COND_T_IN_PTHREAD_H, 1,
726 Define if <pthread.h> defines pthread_cond_t.)],[
729 AC_MSG_CHECKING(for pthread_once in pthread.h)
730 AC_EGREP_HEADER(pthread_once,pthread.h,[
732 AC_DEFINE(PTHREAD_ONCE_IN_PTHREAD_H, 1,
733 Define if <pthread.h> defines pthread_once.)],[
735 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
737 AC_MSG_CHECKING(for strncasecmp in strings.h)
738 AC_EGREP_HEADER(strncasecmp,strings.h,[
740 AC_DEFINE(STRNCASECMP_IN_STRINGS_H, 1,
741 Define if <strings.h> defines strncasecmp.)],[
744 dnl Check for headers
745 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)
746 AC_CHECK_HEADERS(sys/sockio.h fcntl.h sys/types.h sys/time.h sys/times.h sys/ioctl.h sys/stat.h)
747 AC_CHECK_HEADERS(arpa/inet.h net/if.h netinet/in.h sys/socket.h)
748 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
749 AC_CHECK_HEADERS(machine/param.h sys/shm.h)
750 AC_CHECK_HEADERS(linux/version.h)
751 AC_CHECK_HEADERS(syslog.h)
752 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
758 AC_CHECK_HEADERS(dirent.h,,[need_dirent=:])
759 AM_CONDITIONAL(BUILD_DIRENT, ${need_dirent})
761 dnl Mac OS X and other OSes don't have declaration for nanosleep
762 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
763 AC_MSG_CHECKING(for nanosleep in time.h)
764 AC_EGREP_HEADER(nanosleep,time.h,[
766 AC_DEFINE(HAVE_DECL_NANOSLEEP, 1,
767 Define if <time.h> defines nanosleep.)
771 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
773 dnl Make sure we have timespecs
774 AC_MSG_CHECKING(for timespec in sys/time.h)
775 AC_EGREP_HEADER(timespec,sys/time.h,[
777 AC_DEFINE(HAVE_STRUCT_TIMESPEC, 1,
778 Define if <sys/time.h> defines struct timespec.)
783 dnl Check for threads library
784 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
785 AC_CHECK_HEADERS(cthreads.h pthread.h kernel/scheduler.h kernel/OS.h)
786 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
788 dnl Find where are the X headers and libraries
791 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.
793 PKG_PROG_PKG_CONFIG()
797 [ --enable-hal Linux HAL services discovery (default enabled)])
799 if test "${enable_hal}" != "no" -a "${SYS}" = "linux"
801 PKG_CHECK_MODULES(HAL, hal >= 0.5.0,
802 [ AC_DEFINE( HAVE_HAL_1, [] , [Define if you have the new HAL library API])
803 AC_DEFINE( HAVE_HAL, [], [Define if you have the HAL library] )
804 VLC_ADD_PLUGINS([hal])
805 VLC_ADD_LDFLAGS([vlc hal],[$HAL_LIBS])
806 VLC_ADD_CFLAGS([vlc hal],[$HAL_CFLAGS])],
807 dnl No hal 0.5 Test for 0.2
808 [ PKG_CHECK_MODULES( HAL, hal >= 0.2.97,
809 [AC_DEFINE(HAVE_HAL, [], [Define if you have the HAL library])
810 VLC_ADD_PLUGINS([hal])
811 VLC_ADD_LDFLAGS([vlc hal],[$HAL_LIBS])
812 VLC_ADD_CFLAGS([vlc hal],[$HAL_CFLAGS])],
813 [AC_MSG_WARN(HAL library not found)])
818 dnl Build the gtk_main plugins?
824 dnl build the qte plugin ?
827 dnl Check for ntohl, etc.
828 AC_CACHE_CHECK([for ntohl in sys/param.h],
829 [ac_cv_c_ntohl_sys_param_h],
830 [CFLAGS="${CFLAGS_save} -Wall -Werror"
831 AC_TRY_COMPILE([#include <sys/param.h>],
832 [void foo() { int meuh; ntohl(meuh); }],
833 ac_cv_c_ntohl_sys_param_h=yes, ac_cv_c_ntohl_sys_param_h=no)])
834 if test "${ac_cv_c_ntohl_sys_param_h}" != "no"; then
835 AC_DEFINE(NTOHL_IN_SYS_PARAM_H, 1, Define if <sys/param.h> defines ntohl.)
838 # XXX: do this with an M4 macro?
839 #dnl Check for various -W flags
840 #for flag in "" all unreachable-code conversion sign-compare disabled-optimization
842 # AC_CACHE_CHECK([if \$CC accepts -W${flag}],
843 # [ac_cv_c_W${flag}],
844 # [CFLAGS="-W${flag} ${CFLAGS_save}"
845 # AC_TRY_COMPILE([],,ac_cv_c_W${flag}=yes, ac_cv_c_W${flag}=no)])
846 # if test "${ac_cv_c_W${flag}}" != "no"; then
847 # CFLAGS_save="-W${flag} ${CFLAGS_save}"; CFLAGS="${CFLAGS_save}"
848 # CXXFLAGS_save="-W${flag} ${CFLAGS_save}"; CXXFLAGS="${CXXFLAGS_save}"
849 # OBJCFLAGS_save="-W${flag} ${OBJCFLAGS_save}"; OBJCFLAGS="${OBJCFLAGS_save}"
853 AC_CACHE_CHECK([if \$CC accepts -Wall],
855 [CFLAGS="-Wall ${CFLAGS_save}"
856 AC_TRY_COMPILE([],,ac_cv_c_Wall=yes, ac_cv_c_Wall=no)])
858 AC_CACHE_CHECK([if \$CC accepts -Wconversion],
859 [ac_cv_c_Wconversion],
860 [CFLAGS="-Wconversion ${CFLAGS_save}"
861 AC_TRY_COMPILE([],,ac_cv_c_Wconversion=yes, ac_cv_c_Wconversion=no)])
863 AC_CACHE_CHECK([if \$CC accepts -Wunreachable-code],
864 [ac_cv_c_Wunreachable_code],
865 [CFLAGS="-Wunreachable-code ${CFLAGS_save}"
866 AC_TRY_COMPILE([],,ac_cv_c_Wunreachable_code=yes, ac_cv_c_Wunreachable_code=no)])
868 AC_CACHE_CHECK([if \$CC accepts -Wsign-compare],
869 [ac_cv_c_Wsign_compare],
870 [CFLAGS="-Wsign-compare ${CFLAGS_save}"
871 AC_TRY_COMPILE([],,ac_cv_c_Wsign_compare=yes, ac_cv_c_Wsign_compare=no)])
873 if test "${ac_cv_c_Wall}" != "no"; then
874 CFLAGS_save="-Wall ${CFLAGS_save}"; CFLAGS="${CFLAGS_save}"
875 CXXFLAGS_save="-Wall ${CFLAGS_save}"; CXXFLAGS="${CXXFLAGS_save}"
876 OBJCFLAGS_save="-Wall ${OBJCFLAGS_save}"; OBJCFLAGS="${OBJCFLAGS_save}"
879 if test "${ac_cv_c_Wsign_compare}" != "no"; then
880 CFLAGS_save="-Wsign-compare ${CFLAGS_save}"; CFLAGS="${CFLAGS_save}"
881 CXXFLAGS_save="-Wsign-compare ${CFLAGS_save}"; CXXFLAGS="${CXXFLAGS_save}"
882 OBJCFLAGS_save="-Wsign-compare ${OBJCFLAGS_save}"; OBJCFLAGS="${OBJCFLAGS_save}"
886 AC_CACHE_CHECK([if \$CC accepts -pipe],
888 [CFLAGS="${CFLAGS_save} -pipe"
889 AC_TRY_COMPILE([],,ac_cv_c_pipe=yes, ac_cv_c_pipe=no)])
890 if test "${ac_cv_c_pipe}" != "no"; then
891 CFLAGS_save="${CFLAGS_save} -pipe"; CFLAGS="${CFLAGS_save}"
892 CXXFLAGS_save="${CXXFLAGS_save} -pipe"; CXXFLAGS="${CXXFLAGS_save}"
893 OBJCFLAGS_save="${OBJCFLAGS_save} -pipe"; OBJCFLAGS="${OBJCFLAGS_save}"
896 dnl Check for various optimization flags
897 AC_CACHE_CHECK([if \$CC accepts -Os],
899 [CFLAGS="${CFLAGS_save} -Os"
900 AC_TRY_COMPILE([],,ac_cv_c_os=yes, ac_cv_c_os=no)])
901 if test "${ac_cv_c_os}" != "no" -a "${target_cpu}" = "mipsel"; then
902 CFLAGS_OPTIM="${CFLAGS_OPTIM} -Os"
905 AC_CACHE_CHECK([if \$CC accepts -O3],
907 [CFLAGS="${CFLAGS_save} -O3"
908 AC_TRY_COMPILE([],,ac_cv_c_o3=yes, ac_cv_c_o3=no)])
909 if test "${ac_cv_c_o3}" != "no" -a "${target_cpu}" != "mipsel"; then
910 CFLAGS_OPTIM="${CFLAGS_OPTIM} -O3"
913 AC_CACHE_CHECK([if \$CC accepts -O2],
915 [CFLAGS="${CFLAGS_save} -O2"
916 AC_TRY_COMPILE([],,ac_cv_c_o2=yes, ac_cv_c_o2=no)])
917 if test "${ac_cv_c_o2}" != "no" -a "${target_cpu}" != "mipsel"; then
918 if test "${ac_cv_c_o3}" = "no"; then
919 CFLAGS_OPTIM="${CFLAGS_OPTIM} -O2"
921 CFLAGS_NOOPTIM="${CFLAGS_NOOPTIM} -O2"
923 AC_CACHE_CHECK([if \$CC accepts -O],
925 [CFLAGS="${CFLAGS_save} -O"
926 AC_TRY_COMPILE([],,ac_cv_c_o=yes, ac_cv_c_o=no)])
927 if test "${ac_cv_c_o}" != "no" -a "${target_cpu}" != "mipsel"; then
928 if test "${ac_cv_c_o3}" = "no"; then
929 CFLAGS_OPTIM="${CFLAGS_OPTIM} -O"
931 CFLAGS_NOOPTIM="${CFLAGS_NOOPTIM} -O"
935 dnl Check for -ffast-math
936 AC_CACHE_CHECK([if \$CC accepts -ffast-math],
938 [CFLAGS="${CFLAGS_save} -ffast-math"
939 AC_TRY_COMPILE([],,ac_cv_c_fast_math=yes, ac_cv_c_fast_math=no)])
940 if test "${ac_cv_c_fast_math}" != "no"; then
941 CFLAGS_OPTIM="${CFLAGS_OPTIM} -ffast-math"
944 dnl Check for -funroll-loops
945 dnl Disabled on BeOS because BeOS' gcc is buggy and may crash with it
946 if test "${SYS}" != "beos"
948 AC_CACHE_CHECK([if \$CC accepts -funroll-loops],
949 [ac_cv_c_unroll_loops],
950 [CFLAGS="${CFLAGS_save} -funroll-loops"
951 AC_TRY_COMPILE([],,ac_cv_c_unroll_loops=yes, ac_cv_c_unroll_loops=no)])
952 if test "${ac_cv_c_unroll_loops}" != "no"; then
953 CFLAGS_OPTIM="${CFLAGS_OPTIM} -funroll-loops"
957 dnl Check for -fomit-frame-pointer
958 AC_CACHE_CHECK([if \$CC accepts -fomit-frame-pointer],
959 [ac_cv_c_omit_frame_pointer],
960 [CFLAGS="${CFLAGS_save} -fomit-frame-pointer"
961 AC_TRY_COMPILE([],,ac_cv_c_omit_frame_pointer=yes, ac_cv_c_omit_frame_pointer=no)])
962 if test "${ac_cv_c_omit_frame_pointer}" != "no"; then
963 CFLAGS_OPTIM_NODEBUG="${CFLAGS_OPTIM_NODEBUG} -fomit-frame-pointer"
964 # this plugin does not compile without -fomit-frame-pointer, damn gcc!
965 VLC_ADD_CFLAGS([i420_yuy2_mmx],[-fomit-frame-pointer])
968 dnl Check for -mdynamic-no-pic
969 AC_CACHE_CHECK([if \$CC accepts -mdynamic-no-pic],
970 [ac_cv_c_dynamic_no_pic],
971 [CFLAGS="${CFLAGS_save} -mdynamic-no-pic"
972 AC_TRY_COMPILE([],,ac_cv_c_dynamic_no_pic=yes, ac_cv_c_dynamic_no_pic=no)])
973 AS_IF([test "${enable_libtool}" = "no" && test "${ac_cv_c_dynamic_no_pic}" != "no"], [
974 VLC_ADD_CFLAGS([builtin],[-mdynamic-no-pic])
975 VLC_ADD_CFLAGS([libvlc],[-mdynamic-no-pic])
978 dnl Check for Darwin plugin linking flags
979 AC_CACHE_CHECK([if \$CC accepts -bundle -undefined error],
981 [CFLAGS="${CFLAGS_save} -bundle -undefined error"
982 AC_TRY_COMPILE([],,ac_cv_ld_darwin=yes, ac_cv_ld_darwin=no)])
983 if test "${ac_cv_ld_darwin}" != "no"; then
984 VLC_ADD_LDFLAGS([plugin],[-bundle -undefined error])
987 dnl Check for standard plugin linking flags
988 dnl BeOS' gcc needs -nostart instead of -shared, even if -shared isn't harmful (just a warning)
989 if test "${SYS}" = "beos"; then
990 VLC_ADD_LDFLAGS([plugin mozilla],[-nostart])
992 AC_CACHE_CHECK([if \$CC accepts -shared],
994 [CFLAGS="${CFLAGS_save} -shared"
995 AC_TRY_COMPILE([],, ac_cv_ld_plugins=yes, ac_cv_ld_plugins=no)])
996 if test "${ac_cv_ld_plugins}" != "no"; then
997 VLC_ADD_LDFLAGS([plugin mozilla],[-shared])
1001 dnl Check for variadic macros
1002 AC_CACHE_CHECK([for variadic cpp macros],
1003 [ac_cv_cpp_variadic_macros],
1004 [CFLAGS="${CFLAGS_save}"
1007 #define a(b,c...) printf(b,##c)],
1008 [a("foo");a("%s","bar");a("%s%s","baz","quux");],
1009 ac_cv_cpp_variadic_macros=yes,
1010 ac_cv_cpp_variadic_macros=no)])
1011 if test "${ac_cv_cpp_variadic_macros}" != "no"; then
1012 AC_DEFINE(HAVE_VARIADIC_MACROS, 1, Support for variadic macros)
1015 dnl Checks for __attribute__(aligned()) directive
1016 AC_CACHE_CHECK([__attribute__ ((aligned ())) support],
1017 [ac_cv_c_attribute_aligned],
1018 [ac_cv_c_attribute_aligned=0
1019 CFLAGS="${CFLAGS_save} -Werror"
1020 for ac_cv_c_attr_align_try in 2 4 8 16 32 64; do
1022 [static char c __attribute__ ((aligned(${ac_cv_c_attr_align_try}))) = 0; return c;],
1023 [ac_cv_c_attribute_aligned="${ac_cv_c_attr_align_try}"])
1025 CFLAGS="${CFLAGS_save}"])
1026 if test "${ac_cv_c_attribute_aligned}" != "0"; then
1027 AC_DEFINE_UNQUOTED([ATTRIBUTE_ALIGNED_MAX],
1028 [${ac_cv_c_attribute_aligned}],[Maximum supported data alignment])
1031 dnl Checks for __attribute__(format()) directive
1032 AC_CACHE_CHECK([__attribute__ ((format ())) support with function pointers],
1033 [ac_cv_c_attribute_format],
1034 [ac_cv_c_attribute_format=no
1035 CFLAGS="${CFLAGS_save} -Werror"
1037 [static void (*pf_printf)(const char *, ...) __attribute__ ((format(printf,1,2)));(void)pf_printf;],
1038 [ac_cv_c_attribute_format=yes])
1039 CFLAGS="${CFLAGS_save}"])
1040 if test "${ac_cv_c_attribute_format}" != "no"; then
1041 AC_DEFINE(HAVE_ATTRIBUTE_FORMAT, 1, Support for __attribute__((format())) with function pointers)
1044 dnl Check for __attribute__(())
1045 AC_CACHE_CHECK([for __attribute__((packed))],
1046 [ac_cv_c_attribute_packed],
1047 [ac_cv_c_attribute_packed=no
1048 AC_TRY_COMPILE(, [struct __attribute__((__packed__)) foo { int a; } b;],
1049 [ac_cv_c_attribute_packed=yes])])
1050 if test "${ac_cv_c_attribute_packed}" != "no"; then
1051 AC_DEFINE(HAVE_ATTRIBUTE_PACKED, 1, Support for __attribute__((packed)) for structs)
1057 case "${target_cpu}" in
1062 ARCH="${target_cpu}"
1067 dnl Enable profiling
1069 AC_ARG_ENABLE(gprof,
1070 [ --enable-gprof gprof profiling (default disabled)])
1071 AC_ARG_ENABLE(cprof,
1072 [ --enable-cprof cprof profiling (default disabled)])
1073 test "${enable_gprof}" != "yes" && enable_gprof="no"
1074 test "${enable_cprof}" != "yes" && enable_cprof="no"
1079 VLC_ADD_PLUGINS([dummy logger memcpy])
1080 VLC_ADD_PLUGINS([mpgv mpga m4v m4a h264 ps pva avi asf mp4 rawdv nsv real aiff mjpeg demuxdump flac])
1081 VLC_ADD_PLUGINS([cvdsub svcdsub spudec subsdec dvbsub mpeg_audio lpcm a52 dts cinepak flacdec])
1082 VLC_ADD_PLUGINS([deinterlace invert adjust transform distort motionblur rv32])
1083 VLC_ADD_PLUGINS([fixed32tos16 s16tofixed32 u8tofixed32])
1084 VLC_ADD_PLUGINS([trivial_resampler ugly_resampler])
1085 VLC_ADD_PLUGINS([trivial_channel_mixer trivial_mixer])
1086 VLC_ADD_PLUGINS([playlist export sgimb m3u nsc xtag])
1087 VLC_ADD_PLUGINS([i420_rgb rawvideo blend scale image logo magnify])
1088 VLC_ADD_PLUGINS([wav araw subtitle vobsub adpcm a52sys dtssys au ty voc xa nuv])
1089 VLC_ADD_PLUGINS([access_directory access_file access_udp access_tcp])
1090 VLC_ADD_PLUGINS([access_http access_mms access_ftp ipv4])
1091 VLC_ADD_PLUGINS([packetizer_mpegvideo packetizer_h264])
1092 VLC_ADD_PLUGINS([packetizer_mpeg4video packetizer_mpeg4audio])
1094 if test "${SYS}" != "mingwce"; then
1095 dnl VLC_ADD_PLUGINS([externrun])
1096 VLC_ADD_PLUGINS([access_fake access_filter_timeshift access_filter_record])
1097 VLC_ADD_PLUGINS([gestures rc telnet hotkeys netsync showintf time marq podcast shout sap fake])
1098 VLC_ADD_PLUGINS([rss mosaic wall motiondetect clone crop])
1099 VLC_ADD_PLUGINS([i420_yuy2 i422_yuy2 i420_ymga])
1100 VLC_ADD_PLUGINS([aout_file linear_resampler bandlimited_resampler])
1101 VLC_ADD_PLUGINS([float32_mixer spdif_mixer simple_channel_mixer])
1102 VLC_ADD_PLUGINS([dolby_surround_decoder headphone_channel_mixer normvol equalizer param_eq])
1103 VLC_ADD_PLUGINS([fixed32tofloat32 float32tos16 float32tos8 float32tou16 float32tou8 a52tospdif dtstospdif s16tofloat32 s16tofloat32swab s8tofloat32 u8tofloat32 audio_format])
1107 dnl Switch to enable a version of VLC where most modules will be builtin
1109 AC_ARG_ENABLE(mostly-builtin,
1110 [ --enable-mostly-builtin most modules will be built-in (default disabled)])
1111 if test "${enable_mostly_builtin}" = "yes"; then
1112 VLC_ADD_BUILTINS([${PLUGINS}])
1117 dnl Some plugins aren't useful on some platforms
1119 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
1120 VLC_ADD_PLUGINS([screensaver])
1121 elif test "${SYS}" != "mingwce"; then
1122 VLC_ADD_PLUGINS([ntservice access_smb dmo msn])
1123 VLC_ADD_LDFLAGS([dmo],[-lole32])
1125 VLC_ADD_PLUGINS([win32text])
1129 dnl Accelerated modules
1131 MMX_MODULES="memcpymmx i420_rgb_mmx i422_yuy2_mmx i420_ymga_mmx"
1132 #MMX_MODULES="${MMX_MODULES} idctmmx motionmmx"
1133 MMXEXT_MODULES="memcpymmxext"
1134 #MMXEXT_MODULES="${MMXEXT_MODULES} idctmmxext motionmmxext"
1135 THREEDNOW_MODULES="memcpy3dn"
1137 ALTIVEC_MODULES="memcpyaltivec i420_yuy2_altivec"
1138 #ALTIVEC_MODULES="${ALTIVEC_MODULES} idctaltivec motionaltivec"
1140 if test "${enable_gprof}" != "yes"
1142 MMX_MODULES="${MMX_MODULES} i420_yuy2_mmx"
1145 AC_CACHE_CHECK([if \$CC groks MMX inline assembly],
1147 [CFLAGS="${CFLAGS_save}"
1148 AC_TRY_COMPILE(,[void *p;asm volatile("packuswb %%mm1,%%mm2"::"r"(p));],
1149 ac_cv_mmx_inline=yes, ac_cv_mmx_inline=no)])
1150 if test "${ac_cv_mmx_inline}" != "no"; then
1151 AC_DEFINE(CAN_COMPILE_MMX, 1, Define if \$CC groks MMX inline assembly.)
1152 ACCEL_MODULES="${ACCEL_MODULES} ${MMX_MODULES}"
1155 dnl Check for fully workin MMX intrinsics
1156 dnl We need support for -mmmx, we need <mmintrin.h>, and we also need a
1157 dnl working compiler (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23963)
1158 AC_CACHE_CHECK([if \$CC groks MMX intrinsics],
1159 [ac_cv_c_mmx_intrinsics],
1160 [CFLAGS="${CFLAGS_save} -O -mmmx"
1161 AC_TRY_COMPILE([#include <mmintrin.h>
1165 a = b = c = (__m64)frobzor;
1166 a = _mm_slli_pi16(a, 3);
1167 a = _mm_adds_pi16(a, b);
1168 c = _mm_srli_pi16(c, 8);
1169 c = _mm_slli_pi16(c, 3);
1170 b = _mm_adds_pi16(b, c);
1171 a = _mm_unpacklo_pi8(a, b);
1172 frobzor = (uint64_t)a;],
1173 [ac_cv_c_mmx_intrinsics=yes],
1174 [ac_cv_c_mmx_intrinsics=no])])
1175 if test "${ac_cv_c_mmx_intrinsics}" != "no"; then
1176 AC_DEFINE(HAVE_MMX_INTRINSICS, 1, Define if MMX intrinsics are available.)
1177 VLC_ADD_CFLAGS([i420_rgb_mmx],[-mmmx])
1180 AC_CACHE_CHECK([if \$CC groks MMX EXT inline assembly],
1181 [ac_cv_mmxext_inline],
1182 [CFLAGS="${CFLAGS_save}"
1183 AC_TRY_COMPILE(,[void *p;asm volatile("maskmovq %%mm1,%%mm2"::"r"(p));],
1184 ac_cv_mmxext_inline=yes, ac_cv_mmxext_inline=no)])
1185 if test "${ac_cv_mmxext_inline}" != "no"; then
1186 AC_DEFINE(CAN_COMPILE_MMXEXT, 1, Define if \$CC groks MMX EXT inline assembly.)
1187 ACCEL_MODULES="${ACCEL_MODULES} ${MMXEXT_MODULES}"
1190 AC_CACHE_CHECK([if \$CC groks 3D Now! inline assembly],
1191 [ac_cv_3dnow_inline],
1192 [CFLAGS="${CFLAGS_save}"
1193 AC_TRY_COMPILE(,[void *p;asm volatile("pfadd %%mm1,%%mm2"::"r"(p));],
1194 ac_cv_3dnow_inline=yes, ac_cv_3dnow_inline=no)])
1195 if test "${ac_cv_3dnow_inline}" != "no"; then
1196 AC_DEFINE(CAN_COMPILE_3DNOW, 1, Define if \$CC groks 3D Now! inline assembly.)
1197 ACCEL_MODULES="${ACCEL_MODULES} ${THREEDNOW_MODULES}"
1200 AC_CACHE_CHECK([if \$CC groks SSE inline assembly],
1202 [CFLAGS="${CFLAGS_save}"
1203 AC_TRY_COMPILE(,[void *p;asm volatile("xorps %%xmm1,%%xmm2"::"r"(p));],
1204 ac_cv_sse_inline=yes, ac_cv_sse_inline=no)])
1205 if test "${ac_cv_sse_inline}" != "no" -a "${SYS}" != "mingw32" -a "${SYS}" != "solaris"; then
1206 AC_DEFINE(CAN_COMPILE_SSE, 1, Define if \$CC groks SSE inline assembly.)
1207 ACCEL_MODULES="${ACCEL_MODULES} ${SSE_MODULES}"
1210 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
1211 AC_CACHE_CHECK([if \$CC groks AltiVec inline assembly],
1212 [ac_cv_altivec_inline],
1213 [CFLAGS="${CFLAGS_save}"
1214 AC_TRY_COMPILE(,[asm volatile("vperm 0,1,2,3");],
1215 ac_cv_altivec_inline=yes,
1216 [CFLAGS="${CFLAGS_save} -Wa,-m7400"
1217 AC_TRY_COMPILE(,[asm volatile("vperm 0,1,2,3");],
1218 [ac_cv_altivec_inline="-Wa,-m7400"],
1219 ac_cv_altivec_inline=no)
1221 if test "${ac_cv_altivec_inline}" != "no"; then
1222 AC_DEFINE(CAN_COMPILE_ALTIVEC, 1, Define if \$CC groks AltiVec inline assembly.)
1223 if test "${ac_cv_altivec_inline}" != "yes"; then
1224 VLC_ADD_CFLAGS([idctaltivec],[${ac_cv_altivec_inline}])
1225 VLC_ADD_CFLAGS([motionaltivec],[${ac_cv_altivec_inline}])
1226 VLC_ADD_CFLAGS([memcpyaltivec],[${ac_cv_altivec_inline}])
1227 VLC_ADD_CFLAGS([i420_yuy2_altivec],[${ac_cv_altivec_inline}])
1228 VLC_ADD_CFLAGS([vlc],[${ac_cv_altivec_inline}])
1230 ACCEL_MODULES="${ACCEL_MODULES} ${ALTIVEC_MODULES}"
1233 dnl The AltiVec C extensions
1235 dnl There are several possible cases:
1236 dnl - OS X PPC, gcc 4.x: use -mpim-altivec -force_cpusubtype_ALL, don't
1237 dnl need <altivec.h>
1238 dnl - OS X PPC, gcc 3.x: need -faltivec, don't need <altivec.h>
1239 dnl - Linux PPC, gcc 3.4, 4.x: need <altivec.h> which requires -maltivec
1240 dnl - Linux PPC, gcc 3.3: need <altivec.h> and -maltivec -mabi=altivec
1241 dnl - Linux PPC, gcc 3.x: need <altivec.h> and -fvec
1242 dnl - Others: test should fail
1243 AC_CACHE_CHECK([if \$CC groks AltiVec C extensions],
1245 [# OS X/PPC test (gcc 4.x)
1246 CFLAGS="${CFLAGS_save} -mpim-altivec -force_cpusubtype_ALL"
1248 [vec_ld(0, (unsigned char *)0);],
1249 [ac_cv_c_altivec="-mpim-altivec -force_cpusubtype_ALL"],
1250 [# OS X/PPC test (gcc 3.x)
1251 CFLAGS="${CFLAGS_save} -faltivec"
1253 [vec_ld(1 * sizeof(vector float), (unsigned char *)0);],
1254 [ac_cv_c_altivec="-faltivec"],
1255 dnl Below this are the Linux tests
1256 [# Linux/PPC test (gcc 4.x)
1257 CFLAGS="${CFLAGS_save} -maltivec"
1258 AC_TRY_COMPILE([#include <altivec.h>],
1259 [vec_ld(0, (unsigned char *)0);],
1260 [ac_cv_c_altivec="-maltivec"],
1261 [# Linux/PPC test (gcc 3.3)
1262 CFLAGS="${CFLAGS_save} -maltivec -mabi=altivec"
1263 AC_TRY_COMPILE([#include <altivec.h>],
1264 [vec_ld(0, (unsigned char *)0);],
1266 ac_cv_c_altivec_abi="-maltivec -mabi=altivec"],
1267 [# Linux/PPC test (gcc 3.3)
1268 CFLAGS="${CFLAGS_save} -fvec"
1269 AC_TRY_COMPILE([#include <altivec.h>],
1270 [vec_ld(0, (unsigned char *)0);],
1271 [ac_cv_c_altivec="-fvec"],
1272 [ac_cv_c_altivec=no])
1277 CFLAGS="${CFLAGS_save}"
1280 if test "${ac_cv_c_altivec}" != "no"; then
1281 CPPFLAGS="${CPPFLAGS_save} ${ac_cv_c_altivec}"
1283 AC_CHECK_HEADERS(altivec.h)
1284 CPPFLAGS="${CPPFLAGS_save}"
1286 if test "${ac_cv_c_altivec}" != "no"; then
1287 AC_DEFINE(CAN_COMPILE_C_ALTIVEC, 1, Define if your compiler groks C AltiVec extensions.)
1288 VLC_ADD_CFLAGS([vlc],[${ac_cv_c_altivec}])
1289 VLC_ADD_CFLAGS([idctaltivec motionaltivec],[${ac_cv_c_altivec}])
1290 VLC_ADD_CFLAGS([i420_yuy2_altivec memcpyaltivec deinterlace],[${ac_cv_c_altivec} ${ac_cv_c_altivec_abi}])
1291 ACCEL_MODULES="${ACCEL_MODULES} ${ALTIVEC_MODULES}"
1294 AC_CACHE_CHECK([if linker needs -framework vecLib],
1296 [LDFLAGS="${LDFLAGS_vlc} -framework vecLib"
1297 AC_TRY_LINK([],,ac_cv_ld_altivec=yes,ac_cv_ld_altivec=no)
1298 LDFLAGS="${LDFLAGS_save}"
1300 if test "${ac_cv_ld_altivec}" != "no"; then
1301 VLC_ADD_LDFLAGS([vlc idctaltivec motionaltivec memcpyaltivec],[-framework vecLib])
1303 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
1306 AC_ARG_WITH(,[Optimization options:])
1309 dnl Special arch tuning
1312 [ --with-tuning=ARCH enable special tuning for an architecture
1313 (default Pentium 2 on IA-32 and 750 on PPC)])
1314 if test -n "${with_tuning}"; then
1315 if test "${with_tuning}" != "no"; then
1316 CFLAGS_TUNING="-mtune=${with_tuning}"
1319 if test "${target_cpu}" = "i686" -o "${target_cpu}" = "i586" -o "${target_cpu}" = "i486" -o "${target_cpu}" = "i386"; then
1320 CFLAGS_TUNING="-mtune=pentium2"
1321 elif test "${target_cpu}" = "x86_64"; then
1322 CFLAGS_TUNING="-mtune=athlon64"
1323 elif test "${target_cpu}" = "powerpc"; then
1324 CFLAGS_TUNING="-mtune=750";
1328 dnl NOTE: this can't be cached cleanly
1329 AS_IF([test "${CFLAGS_TUNING}"],
1330 [CFLAGS_save="${CFLAGS}"
1331 CFLAGS="${CFLAGS} ${CFLAGS_TUNING}"
1333 AC_MSG_CHECKING([whether $CC accepts ${CFLAGS_TUNING}])
1334 AC_COMPILE_IFELSE([ ],
1336 [CFLAGS_TUNING=""; tuning="no"
1337 AS_IF([test "${with_tuning}"],
1338 [AC_MSG_ERROR([requested tuning not supported])])])
1340 AC_MSG_RESULT([$tuning])
1341 CFLAGS="${CFLAGS_save}"
1345 dnl x86 accelerations
1347 if test "${target_cpu}" = "i686" -o "${target_cpu}" = "i586" -o "${target_cpu}" = "x86" -o "${target_cpu}" = "i386" -o "${target_cpu}" = "x86_64"
1350 VLC_ADD_BUILTINS([${ACCEL_MODULES}])
1356 AC_ARG_ENABLE(optimize-memory,
1357 [ --enable-optimize-memory optimize memory usage over performance])
1358 if test "${enable_optimize_memory}" = "yes"; then
1359 AC_DEFINE(OPTIMIZE_MEMORY, 1, Define if you want to optimize memory usage over performance)
1363 dnl Enable/disable optimizations
1365 AC_ARG_ENABLE(optimizations,
1366 [ --disable-optimizations disable compiler optimizations (default enabled)])
1367 test "${enable_optimizations}" != "no" && enable_optimizations="yes"
1370 dnl AltiVec acceleration
1372 AC_ARG_ENABLE(altivec,
1373 [ --disable-altivec disable AltiVec optimizations (default enabled on PPC)],
1374 [ if test "${enable_altivec}" = "yes"; then ARCH="${ARCH} altivec";
1375 VLC_ADD_BUILTINS([${ACCEL_MODULES}]) fi ],
1376 [ if test "${target_cpu}" = "powerpc"; then ARCH="${ARCH} altivec";
1377 VLC_ADD_BUILTINS([${ACCEL_MODULES}]) fi ])
1382 AC_ARG_ENABLE(debug,
1383 [ --enable-debug debug mode (default disabled)])
1384 test "${enable_debug}" != "yes" && enable_debug="no"
1386 [Define to 1 if debug code should NOT be compiled])
1387 AS_IF([test "x${enable_debug}" == "xno"], [AC_DEFINE(NDEBUG)])
1390 dnl Enable release-specific flags
1392 AC_ARG_ENABLE(release,
1393 [ --enable-release activate extra optimizations (default disabled)])
1394 test "${enable_release}" != "yes" && enable_release="no"
1397 dnl Is the shared libvlc forced ?
1400 AC_ARG_ENABLE(shared-libvlc,
1401 [ --enable-shared-libvlc Win32 libvlc.dll build (default disabled)])
1402 AS_IF([test "${enable_libtool}" != "no" && test "${enable_shared_libvlc}"], [
1403 AC_MSG_ERROR([--enable-shared-libvlc and --enable-libtool are mutually exclusive])
1410 [ --enable-sout Stream output modules (default enabled)])
1411 if test "${enable_sout}" != "no"
1413 VLC_ADD_PLUGINS([access_output_dummy access_output_udp access_output_file access_output_http])
1414 VLC_ADD_PLUGINS([mux_ps mux_avi mux_mp4 mux_asf mux_dummy mux_wav mux_mpjpeg])
1415 VLC_ADD_PLUGINS([packetizer_copy])
1417 VLC_ADD_PLUGINS([stream_out_dummy stream_out_standard stream_out_es stream_out_rtp stream_out_description vod_rtsp])
1418 VLC_ADD_PLUGINS([stream_out_duplicate stream_out_gather stream_out_display stream_out_transcode stream_out_bridge stream_out_mosaic_bridge])
1419 # VLC_ADD_PLUGINS([stream_out_transrate])
1421 AC_DEFINE(ENABLE_SOUT, 1, Define if you want the stream output support)
1424 dnl Check for libshout
1425 AC_ARG_ENABLE(shout,
1426 [ --enable-shout libshout output plugin (default disabled)])
1427 if test "${enable_shout}" = "yes"; then
1428 PKG_CHECK_MODULES(SHOUT, shout >= 2.1,
1429 [AC_DEFINE(HAVE_SHOUT, [], [Define if you have the libshout library])
1430 VLC_ADD_PLUGINS([access_output_shout])
1431 VLC_ADD_LDFLAGS([vlc access_output_shout],[$SHOUT_LIBS])
1432 VLC_ADD_CFLAGS([vlc access_output_shout],[$SHOUT_CFLAGS])],
1433 [AC_MSG_WARN(libshout library not found)])
1439 AC_ARG_ENABLE(httpd,
1440 [ --enable-httpd HTTP daemon (default enabled)])
1441 if test "${enable_httpd}" != "no"
1443 VLC_ADD_PLUGINS([http])
1444 AC_DEFINE(ENABLE_HTTPD, 1, Define if you want the HTTP dameon support)
1448 dnl VideoLAN manager
1451 [ --enable-vlm VideoLAN manager (default enabled)])
1452 if test "${enable_vlm}" != "no"
1454 AC_DEFINE(ENABLE_VLM, 1, Define if you want the VideoLAN manager support)
1458 dnl Growl notification plugin
1460 AC_ARG_ENABLE(growl,
1461 [ --enable-growl growl notification plugin (default enabled)])
1462 AS_IF([test "${enable_growl}" != "no"], [
1463 VLC_ADD_PLUGINS([growl])
1471 AC_ARG_ENABLE(gnutls,
1472 [ --enable-gnutls gnutls TLS/SSL support (default enabled)])
1473 AS_IF([test "${enable_gnutls}" != "no"], [
1475 gcrypt_LIBS="-lgpg-error"
1476 AS_IF([test "${SYS}" = "mingw32"],
1477 [gcrypt_LIBS="${gcrypt_LIBS} -lws2_32"
1478 VLC_ADD_LDFLAGS([gnutls],[-lws2_32])]
1481 gnutls_LIBS="-lgcrypt -lz ${gcrypt_LIBS}"
1483 AC_CHECK_HEADER(gcrypt.h,
1484 [AC_CHECK_LIB(gcrypt, gcry_control,
1485 [AC_CHECK_HEADER(gnutls/gnutls.h,
1486 [AC_CHECK_LIB(gnutls, gnutls_certificate_verify_peers2,
1487 [have_gnutls="yes"],[old_gnutls="yes"], ${gnutls_LIBS})])],,
1490 AS_IF([test "${have_gnutls}" = "yes"], [
1491 VLC_ADD_PLUGINS([gnutls])
1492 VLC_ADD_LDFLAGS([gnutls], [-lgnutls ${gnutls_LIBS}])
1494 AS_IF([test "${enable_gnutls}" = "yes"], [
1495 AC_MSG_ERROR([gnutls not present or too old (version 1.0.17 required)])]
1505 AC_ARG_WITH(,[Input plugins:])
1509 AC_ARG_ENABLE(livedotcom,
1510 [ --enable-livedotcom live.com RTSP input plugin (default disabled)])
1511 if test "${enable_livedotcom}" = "yes"; then
1512 AC_ARG_WITH(livedotcom-tree,
1513 [ --with-livedotcom-tree=PATH live.com tree for static linking])
1516 dnl test for --with-livedotcom-tree
1518 if test -z "${with_livedotcom_tree}" -a "${CXX}" != ""; then
1520 CPPFLAGS_save="${CPPFLAGS}"
1521 CPPFLAGS_livedotcom="-I/usr/include/liveMedia -I/usr/include/groupsock -I/usr/include/BasicUsageEnvironment -I/usr/include/UsageEnvironment"
1522 if test "${SYS}" = "solaris"; then
1523 CPPFLAGS_livedotcom="${CPPFLAGS_livedotcom} -DSOLARIS"
1525 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_livedotcom}"
1526 AC_CHECK_HEADERS(liveMedia.hh, [
1527 VLC_ADD_CXXFLAGS([livedotcom], [${CPPFLAGS_livedotcom}])
1528 AC_CHECK_LIB(liveMedia_pic, main, [
1529 # We have -lliveMedia_pic, build plugins
1530 VLC_ADD_PLUGINS([livedotcom])
1531 VLC_ADD_LDFLAGS([livedotcom], [-lliveMedia_pic -lgroupsock_pic -lBasicUsageEnvironment_pic -lUsageEnvironment_pic])
1533 AC_CHECK_LIB(liveMedia, main, [
1534 # We only have -lliveMedia, do builtins
1535 VLC_ADD_BUILTINS([livedotcom])
1536 VLC_ADD_LDFLAGS([livedotcom], [-lliveMedia -lgroupsock -lBasicUsageEnvironment -lUsageEnvironment])
1539 if test "${SYS}" = "mingw32"; then
1540 # add ws2_32 for closesocket, select, recv
1541 VLC_ADD_LDFLAGS([livedotcom],[-lws2_32])
1544 CPPFLAGS="${CPPFLAGS_save}"
1547 AC_MSG_CHECKING(for liveMedia/libliveMedia.a in ${with_livedotcom_tree})
1548 real_livedotcom_tree="`cd ${with_livedotcom_tree} 2>/dev/null && pwd`"
1549 if test -z "${real_livedotcom_tree}"; then
1550 dnl The given directory can't be found
1552 AC_MSG_ERROR([cannot cd to ${with_livedotcom_tree}])
1554 if test -f "${real_livedotcom_tree}/liveMedia/libliveMedia.a"; then
1555 AC_MSG_RESULT(${real_livedotcom_tree}/liveMedia/libliveMedia.a)
1557 VLC_ADD_BUILTINS([livedotcom])
1559 if test "${SYS}" = "mingw32"; then
1560 # add ws2_32 for closesocket, select, recv
1561 VLC_ADD_LDFLAGS([livedotcom],[-lws2_32])
1564 VLC_ADD_LDFLAGS([livedotcom],[-L${real_livedotcom_tree}/liveMedia -lliveMedia])
1565 VLC_ADD_LDFLAGS([livedotcom],[-L${real_livedotcom_tree}/BasicUsageEnvironment -lBasicUsageEnvironment])
1566 VLC_ADD_LDFLAGS([livedotcom],[-L${real_livedotcom_tree}/groupsock -lgroupsock])
1567 VLC_ADD_LDFLAGS([livedotcom],[-L${real_livedotcom_tree}/UsageEnvironment -lUsageEnvironment])
1569 VLC_ADD_CXXFLAGS([livedotcom],[-I${real_livedotcom_tree}/BasicUsageEnvironment/include])
1570 VLC_ADD_CXXFLAGS([livedotcom],[-I${real_livedotcom_tree}/groupsock/include])
1571 VLC_ADD_CXXFLAGS([livedotcom],[-I${real_livedotcom_tree}/liveMedia/include])
1572 VLC_ADD_CXXFLAGS([livedotcom],[-I${real_livedotcom_tree}/UsageEnvironment/include ])
1573 if test "${SYS}" = "solaris"; then
1574 VLC_ADD_CXXFLAGS([livedotcom],[-DSOLARIS])
1577 dnl The given live.com wasn't built
1579 AC_MSG_ERROR([cannot find ${real_livedotcom_tree}/liveMedia/libliveMedia.a, make sure you compiled live.com in ${with_livedotcom_tree}])
1585 dnl dv module: digital video module check for libraw1394
1588 [ --enable-dv dv input module (default disabled)])
1589 if test "${enable_dv}" = "yes"
1591 AC_ARG_WITH(dv-raw1394,
1592 [ --with-dv-raw1394=PATH libraw1394 headers and libraries])
1593 AC_ARG_WITH(dv-raw1394-tree,
1594 [ --with-dv-raw1394=PATH libraw1394 tree for static linking])
1596 if test -z "${with_dv_raw1394}" -a "${with_dv_raw1394}" != ""
1598 AC_MSG_CHECKING(for raw1394 headers in ${with_dv_raw1394})
1599 if test -f ${with_dv_raw1394}/include/libraw1394/raw1394.h
1601 dnl Use ${with_dv_raw1394}/include/libraw1394/raw1394.h
1603 VLC_ADD_PLUGINS([access_dv])
1604 VLC_ADD_LDFLAGS([access_dv],[-L${with_dv_raw1394}/lib -lraw1394 -lpthread])
1605 VLC_ADD_CPPFLAGS([access_dv],[-I${with_dv_raw1394}/include])
1607 dnl No libraw1394 could be found, sorry
1609 AC_MSG_ERROR([cannot find ${with_dv_raw1394}/include/libraw1394/raw1394.h])
1612 AC_CHECK_HEADERS(libraw1394/raw1394.h,
1613 [ VLC_ADD_PLUGINS([access_dv])
1614 VLC_ADD_LDFLAGS([access_dv],[-lraw1394 -lavc1394])
1616 if test -n "${enable_dv}"
1618 AC_MSG_ERROR([cannot find libraw1394 headers])
1623 dnl Check for static linking of libraw1394
1624 if test -z "${with_dv_raw1394_tree}" -a "${with_dv_raw1394_tree}" != ""
1626 AC_MSG_CHECKING(for libraw1394.a in ${with_dv_raw1394_tree})
1627 real_dv_raw1394_tree="`cd ${with_dv_raw1394_tree} 2>/dev/null && pwd`"
1628 if test -z "${real_dv_raw1394_tree}"
1630 dnl The given directory can't be found
1632 AC_MSG_ERROR([cannot cd to ${real_dv_raw1394_tree}])
1634 if test -f "${real_dv_raw1394_tree}/src/.libs/libraw1394.a"
1636 dnl Use a custom libraw1394
1637 AC_MSG_RESULT(${real_dv_raw1394_tree}/src/.libs/libraw1394.a)
1638 VLC_ADD_BUILTINS([access_dv])
1639 VLC_ADD_LDFLAGS([access_dv],[-L${real_dv_raw1394_tree}/src/.libs -lraw1394])
1640 VLC_ADD_CPPFLAGS([access_dv],[-I${real_dv_raw1394_tree}])
1642 dnl The given libraw1394 wasn't built
1644 AC_MSG_ERROR([cannot find ${real_dv_raw1394_tree}/src/.libs/libraw1394.a, make sure you compiled libraw1394 in ${with_dv_raw1394_tree}])
1649 dnl Check for libavc1394
1652 AC_ARG_WITH(dv-avc1394,
1653 [ --with-dv-avc1394=PATH libavc1394 headers and libraries])
1654 AC_ARG_WITH(dv-avc1394-tree,
1655 [ --with-dv-avc1394=PATH libavc1394 tree for static linking])
1657 if test -z "${with_dv_avc1394}" -a "${with_dv_avc1394}" != ""
1659 AC_MSG_CHECKING(for avc1394 headers in ${with_dv_avc1394})
1660 if test -f ${with_dv_avc1394}/include/libavc1394/avc1394.h
1662 dnl Use ${with_dv_avc1394}/include/libavc1394/avc1394.h
1664 VLC_ADD_LDFLAGS([access_dv],[-L${with_dv_avc1394}/lib -lavc1394 -lrom1394 -lpthread])
1665 VLC_ADD_CPPFLAGS([access_dv],[-I${with_avc1394}/include])
1667 dnl No libavc1394 could be found, sorry
1669 AC_MSG_ERROR([cannot find ${with_dv_avc1394}/include/libavc1394/avc1394.h])
1672 AC_CHECK_HEADERS(libavc1394/avc1394.h,
1673 [ VLC_ADD_LDFLAGS([access_dv],[-lavc1394 -lrom1394 -lpthread])
1675 if test -n "${enable_dv}"
1677 AC_MSG_ERROR([cannot find libavc1394 headers])
1682 dnl Check for static linking of libavc1394
1683 if test -z "${with_dv_avc1394_tree}" -a "${with_dv_avc1394_tree}" != ""
1685 AC_MSG_CHECKING(for libavc1394.a in ${with_dv_avc1394_tree})
1686 real_dv_avc1394_tree="`cd ${with_dv_avc1394_tree} 2>/dev/null && pwd`"
1687 if test -z "${real_dv_avc1394_tree}"
1689 dnl The given directory can't be found
1691 AC_MSG_ERROR([cannot cd to ${real_dv_avc1394_tree}])
1693 if test -f "${real_dv_avc1394_tree}/src/.libs/libavc1394.a"
1695 dnl Use a custom libavc1394
1696 AC_MSG_RESULT(${real_dv_avc1394_tree}/src/.libs/libavc1394.a)
1697 VLC_ADD_LDFLAGS([access_dv],[-L${real_dv_avc1394_tree}/src/.libs -lavc1394 -lrom1394 -lpthread])
1698 VLC_ADD_CPPFLAGS([access_dv],[-I${real_dv_avc1394_tree}])
1700 dnl The given libavc1394 wasn't built
1702 AC_MSG_ERROR([cannot find ${real_dv_avc1394_tree}/src/.libs/libavc1394.a, make sure you compiled libavc1394 in ${with_dv_avc1394_tree}])
1708 dnl dvdread module: check for libdvdread
1710 AC_ARG_ENABLE(dvdread,
1711 [ --enable-dvdread dvdread input module (default disabled)])
1712 if test "${enable_dvdread}" != "no"
1714 AC_ARG_WITH(dvdread,
1715 [ --with-dvdread=PATH libdvdread headers and libraries])
1716 AC_ARG_WITH(dvdread-tree,
1717 [ --with-dvdread-tree=PATH libdvdread tree for static linking])
1719 dnl Temporary hack (yeah, sure ;)
1720 if test "${SYS}" = "mingw32" || test "${SYS}" = "darwin" || test "${SYS}" = "beos" ; then
1721 VLC_ADD_LDFLAGS([dvdread],[-ldvdcss])
1724 if test -z "${with_dvdread}"
1726 if test -z "${with_dvdread_tree}"
1728 AC_CHECK_HEADERS(dvdread/dvd_reader.h,
1729 [ VLC_ADD_PLUGINS([dvdread])
1730 VLC_ADD_LDFLAGS([dvdread],[-ldvdread ${LDFLAGS_dvdcss}])
1732 if test -n "${enable_dvdread}"
1734 AC_MSG_ERROR([cannot find libdvdread headers])
1738 AC_MSG_CHECKING(for libdvdread.a in ${with_dvdread_tree})
1739 real_dvdread_tree="`cd ${with_dvdread_tree} 2>/dev/null && pwd`"
1740 if test -z "${real_dvdread_tree}"
1742 dnl The given directory can't be found
1744 AC_MSG_ERROR([cannot cd to ${with_dvdread_tree}])
1746 if test -f "${real_dvdread_tree}/dvdread/.libs/libdvdread.a"
1748 dnl Use a custom libdvdread
1749 AC_MSG_RESULT(${real_dvdread_tree}/dvdread/.libs/libdvdread.a)
1750 VLC_ADD_BUILTINS([dvdread])
1751 VLC_ADD_LDFLAGS([dvdread],[-L${real_dvdread_tree}/dvdread/.libs -ldvdread ${LDFLAGS_dvdcss}])
1752 VLC_ADD_CPPFLAGS([dvdread],[-I${real_dvdread_tree}])
1754 dnl The given libdvdread wasn't built
1756 AC_MSG_ERROR([cannot find ${real_dvdread_tree}/dvdread/.libs/libdvdread.a, make sure you compiled libdvdread in ${with_dvdread_tree}])
1760 AC_MSG_CHECKING(for dvdread headers in ${with_dvdread})
1761 if test -f ${with_dvdread}/include/dvdread/dvd_reader.h
1763 dnl Use ${with_dvdread}/include/dvdread/dvd_reader.h
1765 VLC_ADD_PLUGINS([dvdread])
1766 VLC_ADD_LDFLAGS([dvdread],[-L${with_dvdread}/lib -ldvdread ${LDFLAGS_dvdcss}])
1767 VLC_ADD_CPPFLAGS([dvdread],[-I${with_dvdread}/include])
1769 dnl No libdvdread could be found, sorry
1771 AC_MSG_ERROR([cannot find ${with_dvdread}/include/dvdread/dvd_reader.h])
1777 dnl libdvdnav plugin
1779 AC_ARG_ENABLE(dvdnav,
1780 [ --enable-dvdnav dvdnav input module (default enabled)])
1781 if test "${enable_dvdnav}" != "no"
1783 dnl Same hack than dvdread
1784 if test "${SYS}" = "mingw32" || test "${SYS}" = "darwin" || test "${SYS}" = "beos" ; then
1785 VLC_ADD_LDFLAGS([dvdnav],[-ldvdcss])
1788 DVDNAV_PATH="${PATH}"
1789 AC_ARG_WITH(dvdnav-config-path,
1790 [ --with-dvdnav-config-path=PATH dvdnav-config path (default search in \$PATH)],
1791 [ if test "${with_dvdnav_config_path}" != "no"
1793 DVDNAV_PATH="${with_dvdnav_config_path}:${PATH}"
1795 AC_PATH_PROG(DVDNAV_CONFIG, dvdnav-config, no, ${DVDNAV_PATH})
1796 if test "${DVDNAV_CONFIG}" != "no"
1798 VLC_ADD_PLUGINS([dvdnav])
1799 VLC_ADD_CFLAGS([dvdnav],[`${DVDNAV_CONFIG} --cflags`])
1800 VLC_ADD_LDFLAGS([dvdnav],[`${DVDNAV_CONFIG} --libs`])
1805 dnl Windows DirectShow access module
1807 AC_ARG_ENABLE(dshow,
1808 [ --enable-dshow Win32 DirectShow support (default enabled on Win32)])
1809 if test "${enable_dshow}" != "no"
1811 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
1814 AC_CHECK_HEADERS(dshow.h,
1815 [ VLC_ADD_PLUGINS([dshow])
1816 VLC_ADD_CXXFLAGS([dshow],[])
1817 VLC_ADD_LDFLAGS([dshow],[-lole32 -loleaut32 -luuid]) ])
1823 dnl libsmbclient plugin
1826 [ --enable-smb smb input module (default enabled)])
1827 if test "${enable_smb}" != "no"; then
1828 AC_CHECK_HEADERS(libsmbclient.h,
1829 [ VLC_ADD_PLUGINS([access_smb])
1830 VLC_ADD_LDFLAGS([access_smb],[-lsmbclient]) ],
1831 [ if test -n "${enable_smb}"; then
1832 AC_MSG_ERROR([cannot find libsmbclient headers])
1834 AC_CHECK_MEMBER([struct _SMBCCTX.close_fn],
1835 AC_DEFINE([HAVE__SMBCCTX_CLOSE_FN], [1], [Define if samba has _SMBCCTX.close_fn]),,
1836 [#include <libsmbclient.h>])
1840 dnl libdvbpsi ts demux/mux
1842 AC_ARG_ENABLE(dvbpsi,
1843 [ --enable-dvbpsi dvbpsi ts mux and demux module (default enabled)])
1844 if test "${enable_dvbpsi}" != "no"
1847 [ --with-dvbpsi=PATH libdvbpsi headers and libraries])
1849 [ --with-dvbpsi-tree=PATH libdvbpsi tree for static linking])
1850 case "${with_dvbpsi}" in
1852 if test -z "${with_dvbpsi_tree}"
1854 AC_CHECK_HEADERS(dvbpsi/dr.h,
1855 [ VLC_ADD_PLUGINS([ts])
1856 if test "${enable_sout}" != "no"; then
1857 VLC_ADD_BUILTINS([mux_ts])
1859 VLC_ADD_LDFLAGS([mux_ts ts dvb],[-ldvbpsi]) ],
1860 [ AC_MSG_WARN([cannot find libdvbpsi headers]) ],
1861 [#if defined( HAVE_STDINT_H )
1862 # include <stdint.h>
1863 #elif defined( HAVE_INTTYPES_H )
1864 # include <inttypes.h>
1866 #include <dvbpsi/dvbpsi.h>
1867 #include <dvbpsi/descriptor.h>
1868 #include <dvbpsi/pat.h>
1869 #include <dvbpsi/pmt.h>])
1871 AC_MSG_CHECKING(for libdvbpsi.a in ${with_dvbpsi_tree})
1872 real_dvbpsi_tree="`cd ${with_dvbpsi_tree} 2>/dev/null && pwd`"
1873 if test -z "${real_dvbpsi_tree}"
1875 dnl The given directory can't be found
1877 AC_MSG_ERROR([cannot cd to ${with_dvbpsi_tree}])
1879 if test -f "${real_dvbpsi_tree}/src/.libs/libdvbpsi.a"
1881 dnl Use a custom libdvbpsi
1882 AC_MSG_RESULT(${real_dvbpsi_tree}/src/.libs/libdvbpsi.a)
1883 VLC_ADD_BUILTINS([ts])
1884 if test "${enable_sout}" != "no"; then
1885 VLC_ADD_BUILTINS([mux_ts])
1887 VLC_ADD_CPPFLAGS([mux_ts ts dvb],[-I${real_dvbpsi_tree}/src])
1888 VLC_ADD_LDFLAGS([mux_ts ts dvb],[${real_dvbpsi_tree}/src/.libs/libdvbpsi.a])
1890 dnl The given libdvbpsi wasn't built
1892 AC_MSG_ERROR([cannot find ${real_dvbpsi_tree}/src/.libs/libdvbpsi.a, make sure you compiled libdvbpsi in ${with_dvbpsi_tree}])
1897 dnl Compile without dvbpsi
1900 AC_MSG_CHECKING(for dvbpsi headers in ${with_dvbpsi})
1901 if test -z "${with_dvbpsi}"
1906 LDFLAGS_test="-L${with_dvbpsi}/lib"
1907 CPPFLAGS_test="-I${with_dvbpsi}/include"
1909 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_test}"
1910 AC_CHECK_HEADERS([dvbpsi/dr.h],[
1911 VLC_ADD_PLUGINS([ts])
1912 if test "${enable_sout}" != "no"; then
1913 VLC_ADD_PLUGINS([mux_ts])
1915 VLC_ADD_CPPFLAGS([mux_ts ts dvb],[${CPPFLAGS_test}])
1916 VLC_ADD_LDFLAGS([mux_ts ts dvb],[${LDFLAGS_test} -ldvbpsi])
1919 if test -n "${enable_dvbpsi}"
1921 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])
1924 CPPFLAGS="${CPPFLAGS_save}"
1927 AC_CHECK_LIB(dvbpsi, dvbpsi_GenSDTSections, [
1928 AC_DEFINE(HAVE_DVBPSI_SDT, 1, [Define if you have dvbpsi_GenSDTSections.])
1929 ], [], [${LDFLAGS_ts}])
1934 dnl Video4Linux plugin
1937 [ --enable-v4l Video4Linux input support (default disabled)])
1938 if test "${enable_v4l}" = "yes"
1941 [ --with-v4l=PATH path to a v4l-enabled kernel tree],[],[])
1942 if test "${with_v4l}" != "no" -a -n "${with_v4l}"
1944 VLC_ADD_CPPFLAGS([v4l],[-I${with_v4l}/include])
1947 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_v4l}"
1948 AC_CHECK_HEADERS(linux/videodev.h, [
1949 VLC_ADD_PLUGINS([v4l])
1951 CPPFLAGS="${CPPFLAGS_save}"
1955 dnl special access module for Hauppauge PVR cards
1958 [ --enable-pvr PVR cards access module (default disabled)])
1959 if test "${enable_pvr}" = "yes"
1961 VLC_ADD_PLUGINS([pvr])
1965 dnl gnomeVFS access module
1967 AC_ARG_ENABLE(gnomevfs,
1968 [ --enable-gnomevfs GnomeVFS access module (default enabled)])
1969 if test "${enable_gnomevfs}" != "no" -a "${SYS}" = "linux"
1971 PKG_CHECK_MODULES(GNOMEVFS, gnome-vfs-2.0,
1972 VLC_ADD_LDFLAGS([access_gnomevfs],[$GNOMEVFS_LIBS])
1973 VLC_ADD_CPPFLAGS([access_gnomevfs],[$GNOMEVFS_CPPFLAGS])
1974 VLC_ADD_CFLAGS([access_gnomevfs],[$GNOMEVFS_CFLAGS])
1975 VLC_ADD_PLUGINS([access_gnomevfs]),
1976 AC_MSG_WARN([GnomeVFS support disabled because GnomeVFS development headers not found]))
1979 dnl Need to test libcdio and libvcdinfo for a number of things. Do it now.
1980 AC_ARG_ENABLE(libcdio,
1981 [ --enable-libcdio CD input and control library support (default enabled)])
1986 if test "${enable_libcdio}" != "no"
1988 PKG_CHECK_MODULES(LIBCDIO, libcdio >= 0.72,
1990 AC_DEFINE(HAVE_LIBCDIO, [],
1991 [Define if you have libcdio 0.72 or greater installed]),
1992 [AC_MSG_WARN(CD Reading and information library not found)])
1994 PKG_CHECK_MODULES(VCDINFO, libvcdinfo >= 0.7.21,
1995 [have_libvcdinfo=yes
1996 AC_DEFINE(HAVE_VCDINFO, [],
1997 [Define if you have libvcdinfo 0.7.21 or greater installed])],
1998 [AC_MSG_WARN(VCD information library not found)])
2002 dnl VCDX and CDDAX modules
2004 AC_ARG_ENABLE(cddax,
2005 [ --enable-cddax audio CD plugin with CD Text and CD paranoia via libcdio (default disabled)])
2007 AC_ARG_ENABLE(libcddb,
2008 [ --enable-libcddb CDDB support for libcdio audio CD (default enabled)])
2010 if test "${enable_cddax}" = "yes"
2012 if test "$have_libcdio" = "yes"
2014 AC_DEFINE(HAVE_CDDAX, [], [Define for the audio CD plugin using libcdio])
2015 VLC_ADD_LDFLAGS([cddax],[$LIBCDIO_LIBS])
2016 VLC_ADD_CFLAGS([cddax],[$LIBCDIO_CFLAGS])
2017 VLC_ADD_PLUGINS([cddax])
2018 PKG_CHECK_MODULES(LIBCDIO_PARANOIA, libcdio_paranoia >= 0.72, [
2019 VLC_ADD_LDFLAGS([cddax],[$LIBCDIO_CDDA_LIBS $LIBCDIO_CDDA_LIBS $LIBCDIO_PARANOIA_LIBS])],
2020 AC_MSG_WARN([CD Paranoia support disabled because no libcdio >= 0.72 found]))
2022 AC_MSG_WARN([cddax plugin disabled because ok libcdio library not found or disabled])
2026 if test "$enable_libcddb" != "no"; then
2027 PKG_CHECK_MODULES(LIBCDDB, libcddb >= 0.9.5, [
2029 AC_DEFINE(HAVE_LIBCDDB, [], [Define this if you have libcddb installed])
2030 VLC_ADD_LDFLAGS([cddax],[$LIBCDDB_LIBS])
2031 VLC_ADD_CFLAGS([cddax],[$LIBCDDB_CFLAGS])
2033 [AC_MSG_WARN(new enough libcddb not found. CDDB access disabled)
2040 [ --enable-vcdx VCD with navigation via libvcdinfo (default disabled)])
2042 if test "${enable_vcdx}" = "yes"
2044 if test "${have_libvcdinfo}" = "yes"
2046 VLC_ADD_LDFLAGS([vcdx],[$VCDINFO_LIBS])
2047 VLC_ADD_CFLAGS([vcdx],[$VCDINFO_CFLAGS])
2049 AC_MSG_WARN([vcdx plugin disabled because ok libvcdinfo library not found or disabled])
2053 PKG_CHECK_MODULES(LIBCDIO, libiso9660 >= 0.72,
2054 [VLC_ADD_LDFLAGS([vcdx],[$LIBISO9660_LIBS])
2055 VLC_ADD_CFLAGS([vcdx],[$LIBISO9660_CFLAGS])],
2056 [AC_MSG_WARN([vcdx plugin disabled because ok libiso9660 library not found])
2059 if test "$have_libvcdinfo" = "yes"
2061 AC_DEFINE(HAVE_VCDX, [],
2062 [Define for the VCD plugin using libcdio/libvcdinfo])
2063 VLC_ADD_LDFLAGS([vcdx],[$VCDINFO_LIBS])
2064 VLC_ADD_CFLAGS([vcdx],[$VCDINFO_CFLAGS])
2065 VLC_ADD_PLUGINS([vcdx])
2067 AC_MSG_WARN([vcdx plugin disabled because ok libvcdinfo library not found])
2073 dnl Built-in CD-DA and VCD module
2076 [ --enable-cdda audio CD via built-in VCD (default enabled)])
2079 [ --enable-vcd built-in VCD (default enabled)])
2081 if test "${enable_vcd}" != "no"
2083 AC_MSG_CHECKING(for cdrom_msf0 in linux/cdrom.h)
2084 AC_EGREP_HEADER(cdrom_msf0,linux/cdrom.h,[
2086 VLC_ADD_PLUGINS([vcd cdda])
2091 AC_MSG_CHECKING(for scsireq in sys/scsiio.h)
2092 AC_EGREP_HEADER(scsireq,sys/scsiio.h,[
2094 VLC_ADD_PLUGINS([vcd cdda])
2095 AC_DEFINE(HAVE_SCSIREQ_IN_SYS_SCSIIO_H, 1, For NetBSD VCD support)
2100 AC_MSG_CHECKING(for ioc_toc_header in sys/cdio.h)
2101 AC_EGREP_HEADER(ioc_toc_header ,sys/cdio.h,[
2103 VLC_ADD_PLUGINS([vcd cdda])
2104 AC_DEFINE(HAVE_IOC_TOC_HEADER_IN_SYS_CDIO_H, 1, For FreeBSD VCD support)
2109 if test "${SYS}" = "bsdi" -o "${SYS}" = "mingw32"
2111 VLC_ADD_PLUGINS([vcd cdda])
2114 if test "${SYS}" = "darwin"
2116 VLC_ADD_PLUGINS([vcd cdda])
2117 VLC_ADD_LDFLAGS([vcd vcdx cdda cddax],[-framework IOKit -framework CoreFoundation])
2118 VLC_ADD_LDFLAGS([vcdx cddax cdda],[-liconv])
2121 if test "$enable_libcddb" != "no"; then
2122 PKG_CHECK_MODULES(LIBCDDB, libcddb >= 0.9.5, [
2124 AC_DEFINE(HAVE_LIBCDDB, [], [Define this if you have libcddb installed])
2125 VLC_ADD_LDFLAGS([cdda],[$LIBCDDB_LIBS])
2126 VLC_ADD_CFLAGS([cdda],[$LIBCDDB_CFLAGS])
2128 [AC_MSG_WARN(new enough libcddb not found. CDDB access disabled)
2134 dnl DVB-S/DVB-T/DVB-C satellite/teresterial/cable input using v4l2
2137 [ --enable-dvb DVB-S/T/C card support (default disabled)])
2139 if test "${enable_dvb}" = "yes"
2142 [ --with-dvb=PATH path to a dvb- and v4l2-enabled kernel tree],[],[])
2143 if test "${with_dvb}" != "no" -a -n "${with_dvb}"
2145 VLC_ADD_CFLAGS([dvb],[-I${with_dvb}/include])
2147 CPPFLAGS="${CPPFLAGS_save} -I${with_dvb}/include"
2148 AC_CHECK_HEADERS(linux/dvb/version.h linux/dvb/frontend.h, [
2149 if test -z "${with_dvbpsi_tree}"
2151 VLC_ADD_PLUGINS([dvb])
2153 VLC_ADD_BUILTINS([dvb])
2155 ],[AC_MSG_WARN(linux-dvb headers not found, dvb disabled)])
2156 CPPFLAGS="${CPPFLAGS_save}"
2160 dnl Screen capture module
2162 AC_ARG_ENABLE(screen,
2163 [ --enable-screen Screen capture support (default enabled)])
2164 if test "${enable_screen}" != "no"; then
2165 if test "${SYS}" = "darwin"; then
2166 AC_CHECK_HEADERS(ApplicationServices/ApplicationServices.h, [
2167 VLC_ADD_PLUGINS([screen])
2168 VLC_ADD_LDFLAGS([screen],[-framework ApplicationServices])
2170 elif test "${SYS}" = "mingw32"; then
2171 VLC_ADD_PLUGINS([screen])
2172 VLC_ADD_LDFLAGS([screen],[-lgdi32])
2173 elif test "${SYS}" = "mingwce"; then
2174 CPPFLAGS="${CPPFLAGS_save}"
2175 elif test "${SYS}" = "beos"; then
2176 VLC_ADD_PLUGINS([screen])
2177 VLC_ADD_CXXFLAGS([screen],[])
2178 VLC_ADD_LDFLAGS([screen],[-lbe])
2180 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
2181 AC_CHECK_HEADERS(X11/Xlib.h, [
2182 VLC_ADD_PLUGINS([screen])
2183 VLC_ADD_LDFLAGS([screen],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext])
2184 VLC_ADD_CPPFLAGS([screen],[${X_CFLAGS}])
2186 CPPFLAGS="${CPPFLAGS_save}"
2191 dnl ipv6 plugin - not for QNX yet
2194 AC_CHECK_FUNCS(inet_pton,[have_ipv6=yes],[
2195 AC_CHECK_LIB(nsl,inet_pton, [have_ipv6=yes])
2198 AS_IF([test "${have_ipv6}" = "yes"], [
2199 AC_DEFINE(HAVE_INET_PTON, 1, [Define to 1 if you have inet_pton().])])
2201 if test "${SYS}" != "nto" &&
2202 test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
2204 AC_MSG_CHECKING(for sockaddr_in6 in netinet/in.h)
2205 AC_EGREP_HEADER(sockaddr_in6,netinet/in.h,
2206 [AC_MSG_RESULT(yes)], [AC_MSG_RESULT(no); have_ipv6=no])
2207 AS_IF([test "${have_ipv6}" != "no"], [
2208 VLC_ADD_PLUGINS([ipv6])])
2210 if test "${SYS}" = "mingw32"
2212 AC_MSG_CHECKING(for getaddrinfo in ws2tcpip.h)
2213 AC_EGREP_HEADER(addrinfo,ws2tcpip.h,[AC_MSG_RESULT(yes)
2214 VLC_ADD_PLUGINS([ipv6])],[AC_MSG_RESULT(no)])
2218 dnl ogg demux plugin
2221 [ --enable-ogg Ogg demux support (default enabled)])
2222 if test "${enable_ogg}" != "no"
2224 AC_ARG_WITH(ogg-tree,
2225 [ --with-ogg-tree=PATH ogg tree for static linking])
2226 if test -n "${with_ogg_tree}"
2228 AC_MSG_CHECKING(for libogg.a in ${with_ogg_tree})
2229 real_ogg_tree="`cd ${with_ogg_tree} 2>/dev/null && pwd`"
2230 if test -z "${real_ogg_tree}"
2232 dnl The given directory can't be found
2234 AC_MSG_ERROR([cannot cd to ${with_ogg_tree}])
2236 if test -f "${real_ogg_tree}/src/.libs/libogg.a"
2238 dnl Use a custom ogg
2239 AC_MSG_RESULT(${real_ogg_tree}/src/.libs/libogg.a)
2240 VLC_ADD_PLUGINS([ogg])
2241 if test "${enable_sout}" != "no"; then
2242 VLC_ADD_PLUGINS([mux_ogg])
2244 VLC_ADD_LDFLAGS([ogg mux_ogg speex vorbis],[${real_ogg_tree}/src/.libs/libogg.a])
2245 VLC_ADD_CFLAGS([ogg mux_ogg speex vorbis],[-I${real_ogg_tree}/include])
2247 dnl The given ogg wasn't built
2249 AC_MSG_ERROR([cannot find ${real_ogg_tree}/src/.libs/libogg.a, make sure you compiled ogg in ${with_ogg_tree}])
2252 AC_CHECK_HEADERS(ogg/ogg.h, [
2253 AC_CHECK_LIB( ogg, oggpack_read, [
2254 VLC_ADD_PLUGINS([ogg])
2255 if test "${enable_sout}" != "no"; then
2256 VLC_ADD_PLUGINS([mux_ogg])
2258 VLC_ADD_LDFLAGS([ogg mux_ogg],[-logg])])
2264 dnl matroska demux plugin
2267 [ --enable-mkv Matroska demux support (default enabled)])
2268 if test "${enable_mkv}" != "no" -a "${CXX}" != ""; then
2270 AC_CHECK_HEADERS(ebml/EbmlVersion.h, [
2271 AC_MSG_CHECKING(for libebml version >= 0.7.6)
2273 [#include <ebml/EbmlVersion.h>
2274 #ifdef LIBEBML_VERSION
2275 #if LIBEBML_VERSION >= 0x000706
2279 [AC_MSG_RESULT([yes])
2280 AC_CHECK_HEADERS(matroska/KaxVersion.h, [
2281 AC_MSG_CHECKING(for libmatroska version >= 0.7.5)
2283 [#include <matroska/KaxVersion.h>
2284 #ifdef LIBMATROSKA_VERSION
2285 #if LIBMATROSKA_VERSION >= 0x000705
2289 [AC_MSG_RESULT([yes])
2290 AC_CHECK_HEADERS(matroska/KaxAttachments.h)
2291 VLC_ADD_CXXFLAGS([mkv],[])
2292 if test "${SYS}" = "darwin"; then
2293 VLC_ADD_CXXFLAGS([mkv],[-O1])
2295 AC_CHECK_LIB(ebml_pic, main, [
2296 # We have ebml_pic, that's good, we can build an mkv.so plugin !
2297 VLC_ADD_PLUGINS([mkv])
2298 VLC_ADD_LDFLAGS([mkv],[-lmatroska_pic -lebml_pic])
2300 AC_CHECK_LIB(ebml, main, [
2301 # We only have libebml, make mkv.a a builtin
2302 VLC_ADD_BUILTINS([mkv])
2303 VLC_ADD_LDFLAGS([mkv],[-lmatroska -lebml])
2307 [AC_MSG_RESULT([no])
2308 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.])
2312 [AC_MSG_RESULT([no])
2313 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.])
2320 dnl modplug demux plugin
2323 [ --enable-mod Mod demux support (default enabled)])
2324 if test "${enable_mod}" != "no"
2326 AC_ARG_WITH(mod-tree,
2327 [ --with-mod-tree=PATH mod tree for static linking])
2328 if test -n "${with_mod_tree}"
2330 AC_MSG_CHECKING(for libmodplug.a in ${with_mod_tree})
2331 real_mod_tree="`cd ${with_mod_tree} 2>/dev/null && pwd`"
2332 if test -z "${real_mod_tree}"
2334 dnl The given directory can't be found
2336 AC_MSG_ERROR([cannot cd to ${with_mod_tree}])
2338 if test -f "${real_mod_tree}/src/.libs/libmodplug.a"
2340 dnl Use a custom mod
2341 AC_MSG_RESULT(${real_mod_tree}/src/.libs/libmodplug.a)
2342 VLC_ADD_PLUGINS([mod])
2343 VLC_ADD_LDFLAGS([mod],[${real_mod_tree}/src/.libs/libmodplug.a])
2344 VLC_ADD_CFLAGS([mod],[-I${real_mod_tree}/include])
2346 dnl The given mod wasn't built
2348 AC_MSG_ERROR([cannot find ${real_mod_tree}/src/.libs/libmodplug.a, make sure you compiled mod in ${with_mod_tree}])
2351 AC_CHECK_HEADERS(libmodplug/modplug.h, [
2352 VLC_ADD_PLUGINS([mod])
2353 VLC_ADD_CXXFLAGS([mod],[])
2354 VLC_ADD_LDFLAGS([mod],[-lmodplug])])
2359 dnl mpc demux plugin
2362 [ --enable-mpc Mpc demux support (default enabled)])
2363 if test "${enable_mpc}" != "no"
2365 AC_CHECK_HEADERS(mpcdec/mpcdec.h, [
2366 VLC_ADD_PLUGINS([mpc])
2367 VLC_ADD_LDFLAGS([mpc],[-lmpcdec])])
2375 AC_ARG_WITH(,[Codec plugins:])
2381 [ --enable-mad libmad module (default enabled)])
2382 if test "${enable_mad}" != "no"
2385 [ --with-mad=PATH path to libmad],[],[])
2386 if test "${with_mad}" != "no" -a -n "${with_mad}"
2388 VLC_ADD_CPPFLAGS([mpgatofixed32],[-I${with_mad}/include])
2389 VLC_ADD_LDFLAGS([mpgatofixed32],[-L${with_mad}/lib])
2392 AC_ARG_WITH(mad-tree,
2393 [ --with-mad-tree=PATH mad tree for static linking],[],[])
2394 if test "${with_mad_tree}" != "no" -a -n "${with_mad_tree}"
2396 real_mad_tree="`cd ${with_mad_tree} 2>/dev/null && pwd`"
2397 if test -z "${real_mad_tree}"
2399 dnl The given directory can't be found
2401 AC_MSG_ERROR([${with_mad_tree} directory doesn't exist])
2403 dnl Use a custom libmad
2404 AC_MSG_CHECKING(for mad.h in ${real_mad_tree})
2405 if test -f ${real_mad_tree}/mad.h
2408 VLC_ADD_CPPFLAGS([mpgatofixed32],[-I${real_mad_tree}])
2409 VLC_ADD_LDFLAGS([mpgatofixed32],[-L${real_mad_tree}/.libs])
2410 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_mpgatofixed32}"
2411 AC_CHECK_LIB(mad, mad_bit_init, [
2412 VLC_ADD_BUILTINS([mpgatofixed32])
2413 VLC_ADD_LDFLAGS([mpgatofixed32],[-lmad])
2414 ],[ AC_MSG_ERROR([the specified tree hasn't been compiled ])
2416 LDFLAGS="${LDFLAGS_save}"
2419 AC_MSG_ERROR([the specified tree doesn't have mad.h])
2422 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_mpgatofixed32}"
2423 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_mpgatofixed32}"
2424 AC_CHECK_HEADERS(mad.h, ,
2425 [ 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.]) ])
2426 AC_CHECK_LIB(mad, mad_bit_init, [
2427 VLC_ADD_PLUGINS([mpgatofixed32])
2428 VLC_ADD_LDFLAGS([mpgatofixed32],[-lmad])],
2429 [ AC_MSG_ERROR([Cannot find libmad library...]) ])
2430 CPPFLAGS="${CPPFLAGS_save}"
2431 LDFLAGS="${LDFLAGS_save}"
2436 dnl libid3tag support (FIXME!!! doesn't work with new input)
2438 AC_CHECK_HEADERS(id3tag.h, [
2439 AC_CHECK_HEADERS(zlib.h, [
2440 VLC_ADD_LDFLAGS([id3tag],[-lid3tag -lz])
2441 VLC_ADD_PLUGINS([id3tag])]) ])
2444 dnl ffmpeg decoder/demuxer plugin
2446 dnl we try to find ffmpeg using : 1- given tree 2- ffmpeg-config, 3- pkg-config
2447 dnl 4- default place,
2449 AC_ARG_ENABLE(ffmpeg,
2450 [ --enable-ffmpeg ffmpeg codec (default enabled)])
2451 if test "${enable_ffmpeg}" != "no"
2454 dnl Those options have to be here because the .pc can be bogus for ffmpeg previous nov 05
2456 AC_ARG_WITH(ffmpeg-mp3lame,
2457 [ --with-ffmpeg-mp3lame specify if ffmpeg has been compiled with mp3lame support],
2459 if test "$with_ffmpeg_mp3lame" = "yes"; then
2460 VLC_ADD_LDFLAGS([ffmpeg],[-lmp3lame])
2463 AC_ARG_WITH(ffmpeg-faac,
2464 [ --with-ffmpeg-faac specify if ffmpeg has been compiled with faac support],
2466 if test "$with_ffmpeg_faac" = "yes"; then
2467 VLC_ADD_LDFLAGS([ffmpeg],[-lfaac])
2470 AC_ARG_WITH(ffmpeg-dts,
2471 [ --with-ffmpeg-dts specify if ffmpeg has been compiled with dts support],
2473 if test "$with_ffmpeg_dts" = "yes"; then
2474 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_ffmpeg}"
2475 AC_CHECK_LIB(dts_pic, dts_free,
2476 [ VLC_ADD_LDFLAGS([ffmpeg],[-ldts_pic]) ],
2477 [ VLC_ADD_LDFLAGS([ffmpeg],[-ldts]) ])
2478 LDFLAGS="${LDFLAGS_save}"
2481 AC_ARG_WITH(ffmpeg-vorbis,
2482 [ --with-ffmpeg-vorbis specify if ffmpeg has been compiled with vorbis support],
2484 if test "$with_ffmpeg_vorbis" = "yes"; then
2485 VLC_ADD_LDFLAGS([ffmpeg],[-lvorbisenc -lvorbis])
2488 AC_ARG_WITH(ffmpeg-theora,
2489 [ --with-ffmpeg-theora specify if ffmpeg has been compiled with theora support],
2491 if test "$with_ffmpeg_theora" = "yes"; then
2492 VLC_ADD_LDFLAGS([ffmpeg],[-ltheora])
2495 AC_ARG_WITH(ffmpeg-ogg,
2496 [ --with-ffmpeg-ogg specify if ffmpeg has been compiled with ogg support],
2498 if test "$with_ffmpeg_ogg" = "yes"; then
2499 VLC_ADD_LDFLAGS([ffmpeg],[-logg])
2502 AC_ARG_WITH(ffmpeg-zlib,
2503 [ --with-ffmpeg-zlib specify if ffmpeg has been compiled with zlib support],
2505 if test "$with_ffmpeg_zlib" = "yes"; then
2506 VLC_ADD_LDFLAGS([ffmpeg],[-lz])
2510 dnl test for --with-ffmpeg-tree
2512 AC_ARG_WITH(ffmpeg-tree,
2513 [ --with-ffmpeg-tree=PATH ffmpeg tree for static linking])
2515 if test "${with_ffmpeg_tree}" != "no" -a -n "${with_ffmpeg_tree}"; then
2516 AC_MSG_CHECKING(for libavcodec.a in ${with_ffmpeg_tree})
2517 real_ffmpeg_tree="`cd ${with_ffmpeg_tree} 2>/dev/null && pwd`"
2518 if test -z "${real_ffmpeg_tree}"; then
2519 dnl The given directory can't be found
2521 AC_MSG_ERROR([cannot cd to ${with_ffmpeg_tree}])
2523 if ! test -f "${real_ffmpeg_tree}/libavcodec/libavcodec.a"; then
2524 dnl The given libavcodec wasn't built
2526 AC_MSG_ERROR([cannot find ${real_ffmpeg_tree}/libavcodec/libavcodec.a, make sure you compiled libavcodec in ${with_ffmpeg_tree}])
2528 if ! fgrep -s "pp_get_context" "${real_ffmpeg_tree}/libavcodec/libavcodec.a"; then
2529 if test -f "${real_ffmpeg_tree}/libavcodec/libpostproc/libpostproc.a"; then
2530 VLC_ADD_LDFLAGS([ffmpeg],[-L${real_ffmpeg_tree}/libavcodec/libpostproc ${real_ffmpeg_tree}/libavcodec/libpostproc/libpostproc.a])
2532 dnl The given libavcodec wasn't built with --enable-pp
2534 AC_MSG_ERROR([${real_ffmpeg_tree}/libavcodec/libavcodec.a was not compiled with postprocessing support, make sure you configured ffmpeg with --enable-pp])
2537 dnl Use a custom libffmpeg
2538 AC_MSG_RESULT(${real_ffmpeg_tree}/libavcodec/libavcodec.a)
2540 if fgrep -s "CONFIG_ZLIB=yes" "${real_ffmpeg_tree}/config.mak"; then
2541 if test "${with_ffmpeg_zlib}" != "yes"; then
2542 VLC_ADD_LDFLAGS([ffmpeg],[-lz])
2545 if fgrep -s "CONFIG_MP3LAME=yes" "${real_ffmpeg_tree}/config.mak"; then
2546 if test "${with_ffmpeg_mp3lame}" != "yes"; then
2547 VLC_ADD_LDFLAGS([ffmpeg],[-lmp3lame])
2550 if fgrep -s "CONFIG_FAAC=yes" "${real_ffmpeg_tree}/config.mak"; then
2551 if test "${with_ffmpeg_faac}" != "yes"; then
2552 VLC_ADD_LDFLAGS([ffmpeg],[-lfaac])
2555 if fgrep -s "CONFIG_DTS=yes" "${real_ffmpeg_tree}/config.mak"; then
2556 if test "${with_ffmpeg_dts}" != "yes"; then
2557 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_ffmpeg}"
2558 AC_CHECK_LIB(dts_pic, dts_free,
2559 [ VLC_ADD_LDFLAGS([ffmpeg],[-ldts_pic]) ],
2560 [ VLC_ADD_LDFLAGS([ffmpeg],[-ldts]) ])
2561 LDFLAGS="${LDFLAGS_save}"
2564 if fgrep -s "CONFIG_VORBIS=yes" "${real_ffmpeg_tree}/config.mak"; then
2565 VLC_ADD_LDFLAGS([ffmpeg],[-lvorbis -lvorbisenc])
2567 if fgrep -s "CONFIG_FAAD=yes" "${real_ffmpeg_tree}/config.mak"; then
2568 VLC_ADD_LDFLAGS([ffmpeg],[-lfaad])
2570 if fgrep -s "CONFIG_XVID=yes" "${real_ffmpeg_tree}/config.mak"; then
2571 VLC_ADD_LDFLAGS([ffmpeg],[-lxvidcore])
2574 VLC_ADD_BUILTINS([ffmpeg])
2575 if test "${enable_sout}" != "no"; then
2576 VLC_ADD_BUILTINS([stream_out_switcher])
2579 if test -f "${real_ffmpeg_tree}/libavutil/libavutil.a"; then
2580 VLC_ADD_LDFLAGS([ffmpeg],[-L${real_ffmpeg_tree}/libavutil ${real_ffmpeg_tree}/libavutil/libavutil.a])
2581 VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher],[-I${real_ffmpeg_tree}/libavutil])
2584 VLC_ADD_LDFLAGS([ffmpeg],[-L${real_ffmpeg_tree}/libavcodec ${real_ffmpeg_tree}/libavcodec/libavcodec.a])
2585 VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher],[-I${real_ffmpeg_tree}/libavcodec])
2587 if test -f "${real_ffmpeg_tree}/libavformat/libavformat.a"; then
2588 AC_DEFINE(HAVE_LIBAVFORMAT, 1, [Define if you have ffmpeg's libavformat.])
2589 VLC_ADD_LDFLAGS([ffmpeg],[-L${real_ffmpeg_tree}/libavformat ${real_ffmpeg_tree}/libavformat/libavformat.a])
2590 VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher],[-I${real_ffmpeg_tree}/libavformat])
2594 dnl Look for a ffmpeg-config (we are on debian )
2596 FFMPEG_PATH="${PATH}"
2597 AC_ARG_WITH(ffmpeg-config-path,
2598 [ --with-ffmpeg-config-path=PATH ffmpeg-config path (default search in \$PATH)],
2599 [ if test "${with_ffmpeg_config_path}" != "no"
2601 FFMPEG_PATH="${with_ffmpeg_config_path}"
2603 AC_PATH_PROG(FFMPEG_CONFIG, ffmpeg-config, no, ${FFMPEG_PATH})
2604 if test "${FFMPEG_CONFIG}" != "no"
2606 AC_CHECK_HEADERS(ffmpeg/avcodec.h)
2607 AC_CHECK_HEADERS(postproc/postprocess.h)
2608 VLC_ADD_PLUGINS([ffmpeg])
2609 if test "${enable_sout}" != "no"; then
2610 VLC_ADD_PLUGINS([stream_out_switcher])
2612 VLC_ADD_CFLAGS([ffmpeg stream_out_switcher],[`${FFMPEG_CONFIG} --cflags`])
2613 VLC_ADD_LDFLAGS([ffmpeg stream_out_switcher],[`${FFMPEG_CONFIG} --plugin-libs avcodec avformat postproc`])
2617 dnl Trying with pkg-config
2618 PKG_CHECK_MODULES(FFMPEG,[libavcodec, libavformat],
2620 AC_CHECK_HEADERS(ffmpeg/avcodec.h)
2621 AC_CHECK_HEADERS(postproc/postprocess.h)
2622 VLC_ADD_BUILTINS([ffmpeg])
2623 if test "${enable_sout}" != "no"; then
2624 VLC_ADD_BUILTINS([stream_out_switcher])
2626 VLC_ADD_CFLAGS([ffmpeg stream_out_switcher],[${FFMPEG_CFLAGS}])
2627 VLC_ADD_LDFLAGS([ffmpeg],[${FFMPEG_LIBS}])
2628 dnl newer ffmpeg have a separate libpostproc
2629 PKG_CHECK_MODULES(POSTPROC, libpostproc,[
2630 VLC_ADD_LDFLAGS([ffmpeg],[${POSTPROC_LIBS}])
2635 dnl last chance: at the default place
2637 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_ffmpeg}"
2638 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_ffmpeg}"
2639 AC_CHECK_HEADERS(ffmpeg/avcodec.h, [], [AC_MSG_ERROR([Missing header file ffmpeg/avcodec.h.])] )
2640 AC_CHECK_HEADERS(postproc/postprocess.h, [], [AC_MSG_ERROR([Missing header file postproc/postprocess.h.])] )
2642 AC_CHECK_LIB(avutil, av_add_i, [
2643 VLC_ADD_LDFLAGS([ffmpeg],[-lavutil])
2644 LDAVUTIL="-lavutil"])
2646 AC_CHECK_LIB(postproc, pp_postprocess, [
2647 VLC_ADD_LDFLAGS([ffmpeg],[-lpostproc])])
2649 AC_CHECK_LIB(avcodec, avcodec_init, [
2650 VLC_ADD_BUILTINS([ffmpeg])
2651 VLC_ADD_LDFLAGS([ffmpeg],[-lavcodec])
2652 if test "${enable_sout}" != "no"; then
2653 VLC_ADD_BUILTINS([stream_out_switcher])
2655 [ 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])
2656 AC_CHECK_LIB(avformat, av_open_input_stream, [
2657 AC_DEFINE(HAVE_LIBAVFORMAT, 1,
2658 [Define if you have ffmpeg's libavformat.])
2659 VLC_ADD_LDFLAGS([ffmpeg],[-lavformat -lz]) ], [], [-lavcodec -lz $LDAVUTIL])
2660 LDFLAGS="${LDFLAGS_save}"
2661 CPPFLAGS="${CPPFLAGS_save}"
2668 dnl ffmpegaltivec plugin
2670 AC_ARG_ENABLE(ffmpegaltivec,
2671 [ --enable-ffmpegaltivec ffmpegaltivec codec (DO NOT USE)])
2672 if test "${enable_ffmpegaltivec}" = "yes"
2674 if test "${with_ffmpeg_tree}" != "no" -a -n "${with_ffmpeg_tree}"; then
2675 AC_MSG_CHECKING(for libavcodecaltivec.a in ${with_ffmpeg_tree})
2676 real_ffmpeg_tree="`cd ${with_ffmpeg_tree} 2>/dev/null && pwd`"
2677 if test -z "${real_ffmpeg_tree}"; then
2678 dnl The given directory can't be found
2680 AC_MSG_ERROR([cannot cd to ${with_ffmpeg_tree}])
2682 if ! test -f "${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a"; then
2683 dnl The given libavcodecaltivec wasn't built
2685 AC_MSG_ERROR([cannot find ${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a, make sure you compiled libavcodecaltivec in ${with_ffmpeg_tree}])
2687 if ! fgrep -s "pp_get_context" "${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a"; then
2688 dnl The given libavcodecaltivec wasn't built with --enable-pp
2690 AC_MSG_ERROR([${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a was not compiled with postprocessing support, make sure you configured ffmpeg with --enable-pp])
2692 dnl Use a custom libffmpeg
2693 AC_MSG_RESULT(${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a)
2694 VLC_ADD_BUILTINS([ffmpegaltivec])
2695 VLC_ADD_LDFLAGS([ffmpegaltivec],[-L${real_ffmpeg_tree}/libavcodec -lavcodecaltivec])
2696 VLC_ADD_CPPFLAGS([ffmpeg],[-DNO_ALTIVEC_IN_FFMPEG])
2697 VLC_ADD_CPPFLAGS([ffmpegaltivec],[-I${real_ffmpeg_tree}/libavcodec -I${real_ffmpeg_tree}/libavformat])
2699 if test -f "${real_ffmpeg_tree}/libavformat/libavformat.a"; then
2700 AC_DEFINE(HAVE_LIBAVFORMAT, 1, [Define if you have ffmpeg's libavformat.])
2701 VLC_ADD_LDFLAGS([ffmpegaltivec],[-L${real_ffmpeg_tree}/libavformat -lavformataltivec -lz])
2702 VLC_ADD_CPPFLAGS([ffmpegaltivec],[-I${real_ffmpeg_tree}/libavformat])
2704 VLC_ADD_LDFLAGS([stream_out_switcher],[-L${real_ffmpeg_tree}/libavcodec])
2705 VLC_ADD_CPPFLAGS([stream_out_switcher],[-I${real_ffmpeg_tree}/libavcodec -I${real_ffmpeg_tree}/libavformat])
2710 dnl faad decoder plugin
2713 [ --enable-faad faad codec (default disabled)])
2714 if test "${enable_faad}" = "yes"
2716 AC_ARG_WITH(faad-tree,
2717 [ --with-faad-tree=PATH faad tree for static linking])
2718 if test -n "${with_faad_tree}"
2720 AC_MSG_CHECKING(for libfaad.a in ${with_faad_tree})
2721 real_faad_tree="`cd ${with_faad_tree} 2>/dev/null && pwd`"
2722 if test -z "${real_faad_tree}"
2724 dnl The given directory can't be found
2726 AC_MSG_ERROR([cannot cd to ${with_faad_tree}])
2728 if test -f "${real_faad_tree}/libfaad/.libs/libfaad.a"
2730 dnl Use a custom faad
2731 AC_MSG_RESULT(${real_faad_tree}/libfaad/.libs/libfaad.a)
2732 VLC_ADD_BUILTINS([faad])
2733 VLC_ADD_LDFLAGS([faad],[${real_faad_tree}/libfaad/.libs/libfaad.a])
2734 VLC_ADD_CPPFLAGS([faad],[-I${real_faad_tree}/include])
2736 dnl The given libfaad wasn't built
2738 AC_MSG_ERROR([cannot find ${real_faad_tree}/libfaad/.libs/libfaad.a, make sure you compiled libfaad in ${with_faad_tree}])
2741 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_faad}"
2742 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_faad}"
2743 AC_CHECK_HEADERS(faad.h, ,
2744 [ AC_MSG_ERROR([Cannot find development headers for libfaad...]) ])
2745 AC_CHECK_LIB(faad, faacDecOpen, [
2746 VLC_ADD_PLUGINS([faad])
2747 VLC_ADD_LDFLAGS([faad],[-lfaad]) ],
2748 AC_CHECK_LIB(faad, NeAACDecOpen, [
2749 VLC_ADD_PLUGINS([faad])
2750 VLC_ADD_LDFLAGS([faad],[-lfaad]) ],
2751 [ AC_MSG_ERROR([Cannot find libfaad library...]) ]))
2752 LDFLAGS="${LDFLAGS_save}"
2753 CPPFLAGS="${CPPFLAGS_save}"
2758 dnl twolame encoder plugin
2760 AC_ARG_ENABLE(twolame,
2761 [ --enable-twolame twolame codec (default disabled)])
2762 if test "${enable_twolame}" = "yes"
2764 AC_ARG_WITH(twolame-tree,
2765 [ --with-twolame-tree=PATH twolame tree for static linking])
2766 if test -n "${with_twolame_tree}"
2768 AC_MSG_CHECKING(for libtwolame.a in ${with_twolame_tree})
2769 real_twolame_tree="`cd ${with_twolame_tree} 2>/dev/null && pwd`"
2770 if test -z "${real_twolame_tree}"
2772 dnl The given directory can't be found
2774 AC_MSG_ERROR([cannot cd to ${with_twolame_tree}])
2776 if test -f "${real_twolame_tree}/src/libtwolame/.libs/libtwolame.a"
2778 dnl Use a custom twolame
2779 AC_MSG_RESULT(${real_twolame_tree}/src/libtwolame/.libs/libtwolame.a)
2780 VLC_ADD_BUILTINS([twolame])
2781 VLC_ADD_LDFLAGS([twolame],[${real_twolame_tree}/src/libtwolame/.libs/libtwolame.a])
2782 VLC_ADD_CPPFLAGS([twolame],[-I${real_twolame_tree}/src/libtwolame])
2784 dnl The given libtwolame wasn't built
2786 AC_MSG_ERROR([cannot find ${real_twolame_tree}/src/libtwolame/.libs/libtwolame.a, make sure you compiled libtwolame in ${with_twolame_tree}])
2789 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_twolame}"
2790 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_twolame}"
2791 AC_CHECK_HEADERS(twolame.h, ,
2792 [ AC_MSG_ERROR([Cannot find development header for libtwolame...]) ])
2793 AC_CHECK_LIB(twolame, twolame_init, [
2794 VLC_ADD_PLUGINS([twolame])
2795 VLC_ADD_LDFLAGS([twolame],[-ltwolame]) ],
2796 [ AC_MSG_ERROR([Cannot find libtwolame library...]) ])
2797 LDFLAGS="${LDFLAGS_save}"
2798 CPPFLAGS="${CPPFLAGS_save}"
2803 dnl QuickTime plugin
2805 AC_ARG_ENABLE(quicktime,
2806 [ --enable-quicktime QuickTime module (default enabled on MacOS X)])
2807 if test "${enable_quicktime}" != "no" &&
2808 (test "${SYS}" = "darwin" || test "${enable_quicktime}" = "yes")
2810 if test "${SYS}" = "mingw32"; then
2811 VLC_ADD_BUILTINS([quicktime])
2813 AC_CHECK_HEADERS(QuickTime/QuickTime.h,
2814 [ VLC_ADD_BUILTINS([quicktime])
2815 VLC_ADD_LDFLAGS([quicktime],[-framework QuickTime -framework Carbon])
2816 ], [ AC_MSG_ERROR([cannot find QuickTime headers]) ])
2824 [ --enable-real Real audio module (default disabled)])
2825 if test "${enable_real}" = "yes"; then
2826 VLC_ADD_PLUGINS([realaudio])
2830 dnl Real RTSP plugin
2832 AC_ARG_ENABLE(realrtsp,
2833 [ --enable-realrtsp Real RTSP module (default disabled)])
2834 if test "${enable_realrtsp}" = "yes"; then
2835 VLC_ADD_PLUGINS([access_realrtsp])
2841 AC_CHECK_HEADERS(zlib.h, [
2842 VLC_ADD_LDFLAGS([mp4 skins2 sap mkv],[-lz])
2845 AC_CHECK_HEADERS(sysfs/libsysfs.h, [
2846 VLC_ADD_LDFLAGS([mp4 mkv],[-lsysfs])
2852 AC_CHECK_HEADERS(libtar.h, [
2853 VLC_ADD_LDFLAGS([skins2],[-ltar])
2859 dnl A52/AC3 decoder plugin
2862 [ --enable-a52 A/52 support with liba52 (default enabled)])
2863 if test "${enable_a52}" != "no"
2866 [ --with-a52=PATH a52 headers and libraries])
2867 AC_ARG_WITH(a52-tree,
2868 [ --with-a52-tree=PATH a52dec tree for static linking ],[],[])
2869 if test "${with_a52_tree}" != "no" -a -n "${with_a52_tree}"
2871 real_a52_tree="`cd ${with_a52_tree} 2>/dev/null && pwd`"
2872 if test -z "${real_a52_tree}"
2874 dnl The given directory can't be found
2876 AC_MSG_ERROR([${with_a52_tree} directory doesn't exist])
2878 dnl Use a custom a52dec
2879 AC_MSG_CHECKING(for a52.h in ${real_a52_tree}/include)
2880 if test -f ${real_a52_tree}/include/a52.h
2883 VLC_ADD_CPPFLAGS([a52tofloat32],[-I${real_a52_tree}])
2884 VLC_ADD_LDFLAGS([a52tofloat32],[-L${real_a52_tree}/liba52/.libs])
2885 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_a52tofloat32}"
2886 AC_CHECK_LIB(a52, a52_free, [
2887 VLC_ADD_BUILTINS([a52tofloat32])
2888 VLC_ADD_CPPFLAGS([a52tofloat32],[-DUSE_A52DEC_TREE])
2889 VLC_ADD_LDFLAGS([a52tofloat32],[-la52])
2891 if test -f ${real_a52_tree}/liba52/.libs/liba52.a
2893 AC_MSG_ERROR([make sure you have at least a52dec-0.7.3])
2895 AC_MSG_ERROR([the specified tree hasn't been compiled])
2898 LDFLAGS="${LDFLAGS_save}"
2901 AC_MSG_ERROR([the specified tree doesn't have a52.h])
2904 if test -z "${with_a52}"
2909 LDFLAGS_test="-L${with_a52}/lib"
2910 CPPFLAGS_test="-I${with_a52}/include"
2912 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_test} ${CPPFLAGS_a52tofloat32}"
2913 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_test} ${LDFLAGS_a52tofloat32}"
2914 AC_CHECK_HEADERS(a52dec/a52.h, [
2915 AC_CHECK_LIB(a52, a52_free, [
2916 VLC_ADD_PLUGINS([a52tofloat32])
2917 VLC_ADD_LDFLAGS([a52tofloat32],[${LDFLAGS_test} -la52])
2918 VLC_ADD_CPPFLAGS([a52tofloat32],[${CPPFLAGS_test}])
2920 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.])
2923 CPPFLAGS="${CPPFLAGS_save}"
2924 LDFLAGS="${LDFLAGS_save}"
2928 AC_ARG_WITH(a52-fixed,
2929 [ --with-a52-fixed specify if liba52 has been compiled with fixed point support],
2931 VLC_ADD_CPPFLAGS([a52tofloat32],[-DLIBA52_FIXED]) ])
2934 dnl DTS Coherent Acoustics decoder plugin
2937 [ --enable-dts DTS Coherent Acoustics support with libdts (default enabled)])
2938 if test "${enable_dts}" != "no"; then
2939 AC_ARG_WITH(dts-tree,
2940 [ --with-dts-tree=PATH libdts tree for static linking ],[],[])
2941 if test "${with_dts_tree}" != "no" -a -n "${with_dts_tree}"
2943 real_dts_tree="`cd ${with_dts_tree} 2>/dev/null && pwd`"
2944 if test -z "${real_dts_tree}"
2946 dnl The given directory can't be found
2948 AC_MSG_ERROR([${with_dts_tree} directory doesn't exist])
2950 dnl Use a custom libdts
2951 AC_MSG_CHECKING(for dts.h in ${real_dts_tree}/include)
2952 if test -f ${real_dts_tree}/include/dts.h
2955 VLC_ADD_CPPFLAGS([dtstofloat32],[-I${real_dts_tree}/include])
2956 VLC_ADD_LDFLAGS([dtstofloat32],[-L${real_dts_tree}/libdts])
2957 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_dtstofloat32}"
2958 AC_CHECK_LIB(dts_pic, dts_free, [
2959 VLC_ADD_PLUGINS([dtstofloat32])
2960 VLC_ADD_LDFLAGS([dtstofloat32],[-ldts_pic])
2962 AC_CHECK_LIB(dts, dts_free, [
2963 VLC_ADD_BUILTINS([dtstofloat32])
2964 VLC_ADD_LDFLAGS([dtstofloat32],[-ldts])
2966 if test -f ${real_dts_tree}/libdts/libdts.a
2968 AC_MSG_ERROR([make sure you have at least libdts-0.0.2])
2970 AC_MSG_ERROR([the specified tree hasn't been compiled])
2974 LDFLAGS="${LDFLAGS_save}"
2977 AC_MSG_ERROR([the specified tree doesn't have dts.h])
2980 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_dtstofloat32}"
2981 AC_CHECK_HEADERS(dts.h, [
2982 AC_CHECK_LIB(dts_pic, dts_free, [
2983 VLC_ADD_PLUGINS([dtstofloat32])
2984 VLC_ADD_LDFLAGS([dtstofloat32],[-ldts_pic])
2986 AC_CHECK_LIB(dts, dts_free, [
2987 VLC_ADD_BUILTINS([dtstofloat32])
2988 VLC_ADD_LDFLAGS([dtstofloat32],[-ldts])
2990 if test "${enable_dts}" = "yes"; then
2991 AC_MSG_ERROR([Could not find libdts on your system: you may get it from http://www.videolan.org/dtsdec.html])
2996 LDFLAGS="${LDFLAGS_save}"
3004 [ --enable-flac flac decoder support (default disabled)])
3005 if test "${enable_flac}" = "yes"
3007 AC_ARG_WITH(flac-tree,
3008 [ --with-flac-tree=PATH flac tree for static linking])
3009 if test -n "${with_flac_tree}"
3011 AC_MSG_CHECKING(for libFLAC.a in ${with_flac_tree})
3012 real_flac_tree="`cd ${with_flac_tree} 2>/dev/null && pwd`"
3013 if test -z "${real_flac_tree}"
3015 dnl The given directory can't be found
3017 AC_MSG_ERROR([cannot cd to ${with_flac_tree}])
3019 if test -f "${real_flac_tree}/src/libFLAC/.libs/libFLAC.a"
3021 dnl Use a custom flac
3022 AC_MSG_RESULT(${real_flac_tree}/src/libFLAC/.libs/libFLAC.a)
3023 VLC_ADD_LDFLAGS([flacdec],[${real_flac_tree}/src/libFLAC/.libs/libFLAC.a])
3024 VLC_ADD_CFLAGS([flacdec],[-I${real_flac_tree}/include])
3025 AC_DEFINE(HAVE_FLAC_STREAM_DECODER_H, 1, [Define if you have FLAC])
3027 dnl The given flac wasn't built
3029 AC_MSG_ERROR([cannot find ${real_flac_tree}/src/libFLAC/.libs/libFLAC.a, make sure you compiled flac in ${with_flac_tree}])
3032 AC_CHECK_HEADERS(FLAC/stream_decoder.h, [
3033 VLC_ADD_LDFLAGS([flacdec],[-lFLAC])
3041 AC_ARG_ENABLE(libmpeg2,
3042 [ --enable-libmpeg2 libmpeg2 decoder support (default enabled)])
3043 if test "${enable_libmpeg2}" != "no"
3045 AC_ARG_WITH(libmpeg2-tree,
3046 [ --with-libmpeg2-tree=PATH libmpeg2 tree for static linking])
3047 if test -n "${with_libmpeg2_tree}"
3049 AC_MSG_CHECKING(for libmpeg2.a in ${with_libmpeg2_tree})
3050 real_libmpeg2_tree="`cd ${with_libmpeg2_tree} 2>/dev/null && pwd`"
3051 if test -z "${real_libmpeg2_tree}"
3053 dnl The given directory can't be found
3055 AC_MSG_ERROR([cannot cd to ${with_libmpeg2_tree}])
3057 if test -f "${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a"
3059 dnl Use a custom libmpeg2
3060 AC_MSG_RESULT(${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a)
3061 VLC_ADD_BUILTINS([libmpeg2])
3062 VLC_ADD_LDFLAGS([libmpeg2],[-L${real_libmpeg2_tree}/libmpeg2/.libs -lmpeg2])
3063 VLC_ADD_CFLAGS([libmpeg2],[-I${real_libmpeg2_tree}/include])
3064 eval "`cd ${real_libmpeg2_tree}/include && ln -sf . mpeg2dec 2>/dev/null`"
3066 dnl The given libmpeg2 wasn't built
3068 AC_MSG_ERROR([cannot find ${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a, make sure you compiled libmpeg2 in ${with_libmpeg2_tree}])
3071 AC_CHECK_HEADERS(mpeg2dec/mpeg2.h, [
3072 AC_MSG_CHECKING(for libmpeg2 version >= 0.3.2)
3074 [#include <mpeg2dec/mpeg2.h>
3075 #ifdef MPEG2_RELEASE
3076 #if MPEG2_RELEASE >= MPEG2_VERSION(0,3,2)
3080 [AC_MSG_RESULT([yes])
3081 VLC_ADD_PLUGINS([libmpeg2])
3082 VLC_ADD_LDFLAGS([libmpeg2],[-lmpeg2])],
3083 [AC_MSG_RESULT([no])
3084 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.])])],
3086 [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.])]
3094 AC_ARG_ENABLE(vorbis,
3095 [ --enable-vorbis Vorbis decoder support (default enabled)])
3096 if test "${enable_vorbis}" != "no"
3098 AC_ARG_WITH(vorbis-tree,
3099 [ --with-vorbis-tree=PATH vorbis tree for static linking])
3100 if test -n "${with_vorbis_tree}"
3102 AC_MSG_CHECKING(for libvorbis.a in ${with_vorbis_tree})
3103 real_vorbis_tree="`cd ${with_vorbis_tree} 2>/dev/null && pwd`"
3104 if test -z "${real_vorbis_tree}"
3106 dnl The given directory can't be found
3108 AC_MSG_ERROR([cannot cd to ${with_vorbis_tree}])
3110 if test -f "${real_vorbis_tree}/lib/.libs/libvorbis.a"
3112 dnl Use a custom vorbis
3113 AC_MSG_RESULT(${real_vorbis_tree}/lib/.libs/libvorbis.a)
3114 VLC_ADD_PLUGINS([vorbis])
3115 VLC_ADD_LDFLAGS([vorbis],[${real_vorbis_tree}/lib/.libs/libvorbis.a ${real_vorbis_tree}/lib/.libs/libvorbisenc.a])
3116 VLC_ADD_CFLAGS([vorbis],[-I${real_vorbis_tree}/include])
3118 dnl The given vorbis wasn't built
3120 AC_MSG_ERROR([cannot find ${real_vorbis_tree}/lib/.libs/libvorbis.a, make sure you compiled vorbis in ${with_vorbis_tree}])
3123 AC_CHECK_HEADERS(vorbis/codec.h, [
3124 VLC_ADD_PLUGINS([vorbis])
3125 VLC_ADD_LDFLAGS([vorbis],[-lvorbis -logg]) ],[])
3127 AC_CHECK_HEADERS(vorbis/vorbisenc.h, [
3128 VLC_ADD_LDFLAGS([vorbis],[-lvorbisenc]) ],[])
3135 AC_ARG_ENABLE(tremor,
3136 [ --enable-tremor Tremor decoder support (default disabled)])
3137 if test "${enable_tremor}" = "yes"
3139 AC_CHECK_HEADERS(tremor/ivorbiscodec.h, [
3140 VLC_ADD_PLUGINS([tremor])
3141 VLC_ADD_LDFLAGS([tremor],[-lvorbisidec -logg])
3148 AC_ARG_ENABLE(speex,
3149 [ --enable-speex Speex decoder support (default enabled)])
3150 if test "${enable_speex}" != "no"
3152 AC_ARG_WITH(speex-tree,
3153 [ --with-speex-tree=PATH speex tree for static linking])
3154 if test -n "${with_speex_tree}"
3156 AC_MSG_CHECKING(for libspeex.a in ${with_speex_tree})
3157 real_speex_tree="`cd ${with_speex_tree} 2>/dev/null && pwd`"
3158 if test -z "${real_speex_tree}"
3160 dnl The given directory can't be found
3162 AC_MSG_ERROR([cannot cd to ${with_speex_tree}])
3164 if test -f "${real_speex_tree}/libspeex/.libs/libspeex.a"
3166 dnl Use a custom speex
3167 AC_MSG_RESULT(${real_speex_tree}/libspeex/.libs/libspeex.a)
3168 VLC_ADD_PLUGINS([speex])
3169 VLC_ADD_LDFLAGS([speex],[${real_speex_tree}/libspeex/.libs/libspeex.a])
3170 VLC_ADD_CFLAGS([speex],[-I${real_speex_tree}/include])
3172 dnl The given speex wasn't built
3174 AC_MSG_ERROR([cannot find ${real_speex_tree}/libspeex/.libs/libspeex.a, make sure you compiled speex in ${with_speex_tree}])
3177 AC_CHECK_HEADERS(speex/speex.h, [
3178 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_speex}"
3179 AC_CHECK_LIB(speex, speex_decode_int, [
3180 VLC_ADD_PLUGINS([speex])
3181 VLC_ADD_LDFLAGS([speex],[-lspeex]) ],
3182 [ AC_MSG_RESULT([no])
3183 AC_MSG_WARN([Your libspeex is too old, please get the development
3185 LDFLAGS="${LDFLAGS_save}"
3191 dnl tarkin decoder plugin
3193 AC_ARG_ENABLE(tarkin,
3194 [ --enable-tarkin experimental tarkin codec (default disabled)])
3195 if test "${enable_tarkin}" = "yes"
3197 AC_ARG_WITH(tarkin-tree,
3198 [ --with-tarkin-tree=PATH tarkin tree for static linking])
3199 if test -n "${with_tarkin_tree}"
3201 AC_MSG_CHECKING(for tarkin.o in ${with_tarkin_tree})
3202 real_tarkin_tree="`cd ${with_tarkin_tree} 2>/dev/null && pwd`"
3203 if test -f "${real_tarkin_tree}/tarkin.o"
3205 VLC_ADD_BUILTINS([tarkin])
3206 VLC_ADD_CPPFLAGS([tarkin],[-I${real_tarkin_tree}])
3207 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])
3210 dnl The given tarkin tree wasn't built
3212 AC_MSG_ERROR([cannot find ${real_tarkin_tree}/tarkin.o,
3213 make sure you compiled tarkin in ${with_tarkin_tree}])
3219 dnl theora decoder plugin
3221 AC_ARG_ENABLE(theora,
3222 [ --enable-theora experimental theora codec (default disabled)])
3223 if test "${enable_theora}" = "yes"
3225 AC_CHECK_HEADERS(theora/theora.h, [
3226 AC_CHECK_LIB(theora, theora_granule_time, [
3227 if test "${SYS}" = "mingw32"; then
3228 VLC_ADD_PLUGINS([theora])
3230 VLC_ADD_BUILTINS([theora])
3232 theora_libs="-ltheora -logg"
3233 VLC_ADD_LDFLAGS([theora],[${theora_libs}]) ],[
3234 AC_MSG_ERROR([libtheora doesn't appear to be installed on your system.
3235 You also need to check that you have a libogg posterior to the 1.0 release.])],
3241 dnl dirac decoder plugin
3243 AC_ARG_ENABLE(dirac,
3244 [ --enable-dirac experimental dirac codec (default disabled)])
3245 if test "${enable_dirac}" = "yes"; then
3246 PKG_CHECK_MODULES(DIRAC,dirac, [
3247 VLC_ADD_PLUGINS([dirac])
3248 VLC_ADD_CFLAGS([dirac],[$DIRAC_CFLAGS])
3249 VLC_ADD_LDFLAGS([dirac],[$DIRAC_LIBS -lstdc++]) ],[
3250 AC_MSG_ERROR([libdirac doesn't appear to be installed on you system.])
3254 dnl libvc1 decoder plugin
3256 AC_ARG_ENABLE(libvc1,
3257 [ --enable-libvc1 VC-1 codec (default disabled)])
3258 if test "${enable_libvc1}" = "yes"
3260 AC_ARG_WITH(libvc1-tree,
3261 [ --with-libvc1-tree=PATH libvc1 tree for static linking])
3262 if test -n "${with_libvc1_tree}"
3264 AC_MSG_CHECKING(for vc1dec.o in ${with_libvc1_tree})
3265 real_libvc1_tree="`cd ${with_libvc1_tree} 2>/dev/null && pwd`"
3266 if test -f "${real_libvc1_tree}/src/.libs/vc1dec.o"
3268 VLC_ADD_BUILTINS([libvc1])
3269 VLC_ADD_CPPFLAGS([libvc1],[-I${real_libvc1_tree}/src])
3270 VLC_ADD_LDFLAGS([libvc1],[${real_libvc1_tree}/src/.libs/libvc1.a])
3273 dnl The given libvc1 tree wasn't built
3275 AC_MSG_ERROR([cannot find ${real_libvc1_tree}/src/.libs/vc1dec.o,
3276 make sure you compiled libvc1 in ${with_libvc1_tree}])
3282 dnl PNG decoder module
3285 [ --enable-png PNG support (default enabled)])
3286 if test "${enable_png}" != "no"; then
3287 AC_CHECK_HEADERS(png.h, [
3288 LDFLAGS="${LDFLAGS_save} -lz"
3289 AC_CHECK_LIB(png, png_set_rows, [
3290 VLC_ADD_LDFLAGS([png],[-lpng -lz])
3291 VLC_ADD_PLUGINS([png])
3292 VLC_ADD_PLUGINS([osdmenu])
3293 AC_DEFINE(HAVE_LIBPNG, [], [Define if you have the PNG library: libpng])],
3295 LDFLAGS="${LDFLAGS_save}"
3300 dnl H264 encoder plugin (using libx264)
3303 [ --enable-x264 H264 encoding support with libx264 (default enabled)])
3304 if test "${enable_x264}" != "no"; then
3305 AC_ARG_WITH(x264-tree,
3306 [ --with-x264-tree=PATH x264 tree for static linking ],[],[])
3307 if test "${with_x264_tree}" != "no" -a -n "${with_x264_tree}"
3309 real_x264_tree="`cd ${with_x264_tree} 2>/dev/null && pwd`"
3310 if test -z "${real_x264_tree}"
3312 dnl The given directory can't be found
3314 AC_MSG_ERROR([${with_x264_tree} directory doesn't exist])
3316 dnl Use a custom libx264
3317 AC_MSG_CHECKING(for x264.h in ${real_x264_tree})
3318 if test -f ${real_x264_tree}/x264.h
3321 VLC_ADD_CPPFLAGS([x264],[-I${real_x264_tree}])
3322 VLC_ADD_LDFLAGS([x264],[-L${real_x264_tree}])
3323 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_x264} ${THREAD_LIB}"
3324 AC_CHECK_LIB(x264, x264_encoder_open, [
3325 VLC_ADD_BUILTINS([x264])
3326 VLC_ADD_LDFLAGS([x264],[-lx264])
3328 AC_MSG_ERROR([the specified tree hasn't been compiled])
3330 LDFLAGS="${LDFLAGS_save}"
3333 AC_MSG_ERROR([the specified tree doesn't have x264.h])
3336 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_x264} ${THREAD_LIB}"
3337 AC_CHECK_HEADERS(x264.h, [
3338 AC_CHECK_LIB(x264, x264_encoder_open, [
3339 VLC_ADD_PLUGINS([x264])
3340 VLC_ADD_LDFLAGS([x264],[-lx264])
3342 if test "${enable_x264}" = "yes"; then
3343 AC_MSG_ERROR([Could not find libx264 on your system: you may get it from http://www.videolan.org/x264.html])
3347 LDFLAGS="${LDFLAGS_save}"
3355 [ --enable-cmml CMML support (default enabled)])
3356 if test "${enable_cmml}" != "no"
3358 VLC_ADD_PLUGINS([cmml])
3366 AC_ARG_WITH(,[Video plugins:])
3369 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
3370 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
3371 AC_CHECK_HEADERS(X11/extensions/dpms.h, [
3372 AC_MSG_CHECKING(for DPMSInfo in X11/extensions/dpms.h)
3373 AC_EGREP_HEADER(DPMSInfo,X11/extensions/dpms.h,[
3375 AC_DEFINE(DPMSINFO_IN_DPMS_H, 1,
3376 Define if <X11/extensions/dpms.h> defines DPMSInfo.)
3381 #include <X11/Xlib.h>
3383 CPPFLAGS="${CPPFLAGS_save}"
3388 dnl (enabled by default except on win32)
3391 [ --enable-x11 X11 support (default enabled)])
3392 if test "${enable_x11}" != "no" &&
3393 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
3394 test "${enable_x11}" = "yes"); then
3395 CPPFLAGS="${CPPFLAGS_save} ${X_FLAGS}"
3396 AC_CHECK_HEADERS(X11/Xlib.h, [
3397 VLC_ADD_PLUGINS([x11])
3398 VLC_ADD_LDFLAGS([x11],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext])
3399 VLC_ADD_CPPFLAGS([x11],[${X_CFLAGS}])
3401 CPPFLAGS="${CPPFLAGS_save}"
3406 dnl (enabled by default except on win32)
3408 AC_ARG_ENABLE(xvideo,
3409 [ --enable-xvideo XVideo support (default enabled)])
3410 if test "${enable_xvideo}" != "no" &&
3411 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
3412 test "${enable_xvideo}" = "yes"); then
3413 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
3414 AC_CHECK_HEADERS(X11/extensions/Xv.h, [
3415 CFLAGS="${CFLAGS_save} ${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext"
3416 AC_CHECK_LIB(Xv,XvPutImage,[
3417 # If libXv.so is available, xvideo can be a plugin. Otherwise, we
3418 # test for libXv_pic.
3419 if test -f /usr/X11R6/lib/libXv.so -o -f "${x_libraries}"/libXv.so; then
3420 VLC_ADD_PLUGINS([xvideo])
3421 VLC_ADD_CPPFLAGS([xvideo],[${X_CFLAGS}])
3422 VLC_ADD_LDFLAGS([xvideo],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lXv])
3424 AC_CHECK_LIB(Xv_pic,XvPutImage,[
3425 VLC_ADD_PLUGINS([xvideo])
3426 VLC_ADD_CPPFLAGS([xvideo],[${X_CFLAGS}])
3427 VLC_ADD_LDFLAGS([xvideo],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lXv_pic])
3429 VLC_ADD_BUILTINS([xvideo])
3430 VLC_ADD_LDFLAGS([xvideo],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lXv])
3431 VLC_ADD_CPPFLAGS([xvideo],[${X_CFLAGS}])
3435 CFLAGS="${CFLAGS_save}"
3437 CPPFLAGS="${CPPFLAGS_save}")
3442 dnl (enabled by default except on win32)
3445 [ --enable-glx X11 OpenGL (GLX) support (default enabled)])
3446 if test "${enable_glx}" != "no" &&
3447 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
3448 test "${enable_glx}" = "yes"); then
3449 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
3450 AC_CHECK_HEADERS(X11/Xlib.h, [
3451 AC_CHECK_HEADERS(GL/glx.h, [
3452 VLC_ADD_PLUGINS([glx])
3453 VLC_ADD_LDFLAGS([glx],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lGL -lGLU])
3454 VLC_ADD_CPPFLAGS([glx],[${X_CFLAGS}])
3456 CPPFLAGS="${CPPFLAGS_save}"
3460 dnl Check for the Xinerama extension
3462 AC_ARG_ENABLE(xinerama,
3463 [ --enable-xinerama Xinerama support (default enabled)])
3464 if test "${enable_xvideo}" != "no" && test "${enable_xinerama}" != "no" &&
3465 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
3466 test "${enable_xvideo}" = "yes"); then
3467 ac_cv_have_xinerama="no"
3468 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
3469 CFLAGS="${CFLAGS_save} ${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext"
3470 AC_CHECK_HEADERS(X11/extensions/Xinerama.h,[
3471 AC_CHECK_LIB(Xinerama_pic, XineramaQueryExtension,[
3472 VLC_ADD_LDFLAGS([xvideo],[-lXinerama_pic])
3473 VLC_ADD_LDFLAGS([x11],[-lXinerama_pic])
3474 VLC_ADD_LDFLAGS([glx],[-lXinerama_pic])
3475 ac_cv_have_xinerama="yes"
3477 AC_CHECK_LIB(Xinerama, XineramaQueryExtension,[
3478 VLC_ADD_LDFLAGS([xvideo],[-lXinerama])
3479 VLC_ADD_LDFLAGS([x11],[-lXinerama])
3480 VLC_ADD_LDFLAGS([glx],[-lXinerama])
3481 ac_cv_have_xinerama="yes"
3485 if test "${ac_cv_have_xinerama}" = "yes"; then
3486 AC_DEFINE(HAVE_XINERAMA, 1, [Define this if you have libXinerama installed])
3488 CFLAGS="${CFLAGS_save}"
3489 CPPFLAGS="${CPPFLAGS_save}"
3492 dnl Check for XF86VidMode extension
3494 ac_cv_have_xf86vidmode="no"
3495 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
3496 CFLAGS="${CFLAGS_save} ${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext"
3497 AC_CHECK_HEADERS(X11/extensions/xf86vmode.h,[
3498 AC_CHECK_LIB(Xxf86vm_pic, XF86VidModeGetViewPort,[
3499 VLC_ADD_LDFLAGS([xvideo],[-lXxf86vm_pic])
3500 VLC_ADD_LDFLAGS([x11],[-lXxf86vm_pic])
3501 VLC_ADD_LDFLAGS([glx],[-lXxf86vm_pic])
3502 ac_cv_have_xf86vidmode="yes"
3504 AC_CHECK_LIB(Xxf86vm, XF86VidModeGetViewPort,[
3505 VLC_ADD_LDFLAGS([xvideo],[-lXxf86vm])
3506 VLC_ADD_LDFLAGS([x11],[-lXxf86vm])
3507 VLC_ADD_LDFLAGS([glx],[-lXxf86vm])
3508 ac_cv_have_xf86vidmode="yes"
3512 [#ifdef HAVE_X11_XLIB_H
3513 # include <X11/Xlib.h>
3516 AS_IF([test "${ac_cv_have_xf86vidmode}" = "yes"],
3517 [AC_DEFINE(HAVE_XF86VIDMODE, 1, [Define this if you have libXxf86vm installed])
3519 CFLAGS="${CFLAGS_save}"
3520 CPPFLAGS="${CPPFLAGS_save}"
3526 dnl (enabled by default except on beos)
3528 AC_ARG_ENABLE(opengl,
3529 [ --enable-opengl OpenGL support (default enabled)])
3530 if test "${enable_opengl}" != "no" &&
3531 test "${SYS}" != "beos" -a "${SYS}" != "mingwce"; then
3532 if test "${SYS}" != "darwin"; then
3533 AC_CHECK_HEADERS(GL/gl.h, [
3534 VLC_ADD_PLUGINS([opengl])
3535 if test "${SYS}" != "mingw32"; then
3536 VLC_ADD_LDFLAGS([opengl],[${X_LIBS} -lGL -lGLU])
3538 VLC_ADD_LDFLAGS([opengl],[-lopengl32])
3542 dnl OS X special case (no GL/gl.h but OpenGL/gl.h)
3543 VLC_ADD_PLUGINS([opengl])
3544 VLC_ADD_LDFLAGS([opengl],[-framework OpenGL])
3552 [ --enable-sdl SDL support (default enabled)])
3553 if test "${enable_sdl}" != "no"
3556 AC_ARG_WITH(sdl-config-path,
3557 [ --with-sdl-config-path=PATH sdl-config path (default search in \$PATH)],
3558 [ if test "${with_sdl_config_path}" != "no"
3560 SDL_PATH="${with_sdl_config_path}:${PATH}"
3562 AC_PATH_PROG(SDL12_CONFIG, sdl12-config, no, ${SDL_PATH})
3563 SDL_CONFIG="${SDL12_CONFIG}"
3564 SDL_HEADER="SDL12/SDL.h"
3565 SDL_IMAGE="SDL12/SDL_image.h"
3566 if test "${SDL_CONFIG}" = "no"
3568 AC_PATH_PROG(SDL11_CONFIG, sdl11-config, no, ${SDL_PATH})
3569 SDL_CONFIG=${SDL11_CONFIG}
3570 SDL_HEADER="SDL11/SDL.h"
3571 SDL_IMAGE="SDL11/SDL_image.h"
3573 if test "${SDL_CONFIG}" = "no"
3575 AC_PATH_PROG(SDL_CONFIG, sdl-config, no, ${SDL_PATH})
3576 SDL_HEADER="SDL/SDL.h"
3577 SDL_IMAGE="SDL/SDL_image.h"
3579 # check for cross-compiling
3581 AC_ARG_WITH(sdl-prefix,
3582 [ --with-sdl-prefix=PATH path to libsdl (needed for cross-compiling),
3584 --with-sdl-prefix=/usr/local/arm/2.95.3/arm-linux/usr)],[],[])
3585 if test "${with_sdl_prefix}" != "no" -a -n "${with_sdl_prefix}"
3587 SDL_PREFIX="--prefix=${with_sdl_prefix}"
3589 if test "${SDL_CONFIG}" != "no"
3591 # SDL on Darwin is heavily patched and can only run SDL_image
3592 if test "${SYS}" != "darwin" -a "${SYS}" != "mingw32"; then
3593 VLC_ADD_PLUGINS([vout_sdl aout_sdl])
3595 VLC_ADD_CFLAGS([vout_sdl aout_sdl sdl_image],[`${SDL_CONFIG} ${SDL_PREFIX} --cflags | sed 's,SDL,,'`])
3596 VLC_ADD_LDFLAGS([vout_sdl aout_sdl sdl_image],[`${SDL_CONFIG} ${SDL_PREFIX} --libs | sed 's,-rdynamic,,'`])
3597 CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_vout_sdl}"
3598 AC_CHECK_HEADERS(${SDL_HEADER}, AC_DEFINE_UNQUOTED(SDL_INCLUDE_FILE,
3599 <${SDL_HEADER}>, Indicate whether we should use SDL/SDL.h or SDL11/SDL.h),
3600 [ AC_CHECK_HEADERS(SDL.h, AC_DEFINE(SDL_INCLUDE_FILE, <SDL.h>,
3601 As a last resort we also test for SDL.h presence),
3602 [ AC_MSG_ERROR([The development package for SDL is not installed.
3603 Please install it and try again. Alternatively you can also configure with
3606 AC_CHECK_HEADERS(${SDL_IMAGE}, [AC_DEFINE_UNQUOTED(SDL_IMAGE_INCLUDE_FILE,
3607 <${SDL_IMAGE}>, Indicate the path of SDL_image.h)
3608 VLC_ADD_PLUGINS([sdl_image])
3609 AC_CHECK_LIB(png, png_set_rows,
3610 [VLC_ADD_LDFLAGS([sdl_image],[-lpng -lz])],[],[-lz])
3611 AC_CHECK_LIB(jpeg, jpeg_start_decompress,
3612 [VLC_ADD_LDFLAGS([sdl_image],[-ljpeg])])
3613 AC_CHECK_LIB(tiff, TIFFClientOpen,
3614 [VLC_ADD_LDFLAGS([sdl_image],[-ltiff])])
3615 VLC_ADD_LDFLAGS([sdl_image], [-lSDL_image])],
3616 [ AC_CHECK_HEADERS(SDL_image.h, AC_DEFINE(SDL_IMAGE_INCLUDE_FILE, <SDL_image.h>,
3617 As a last resort we also test for SDL_image.h presence),
3618 [ AC_MSG_WARN([The development package for SDL_image is not installed.
3619 You should install it alongside your SDL package.])
3621 CPPFLAGS="${CPPFLAGS_save}"
3622 if expr 1.1.5 \> `${SDL_CONFIG} --version` >/dev/null
3624 AC_MSG_ERROR([The development package for SDL is not installed.
3625 Please install it and try again. Alternatively you can also configure with
3629 elif test "${enable_sdl}" = "yes"
3631 AC_MSG_ERROR([I couldn't find the SDL package. You can download libSDL
3632 from http://www.libsdl.org/, or configure with --disable-sdl. Have a nice day.
3640 AC_ARG_ENABLE(freetype,
3641 [ --enable-freetype freetype support (default enabled)])
3642 AC_ARG_ENABLE(fribidi,
3643 [ --enable-fribidi fribidi support (default enabled)])
3644 if test "${enable_freetype}" != "no"
3646 FREETYPE_PATH="${PATH}"
3647 AC_ARG_WITH(freetype-config-path,
3648 [ --with-freetype-config-path=PATH freetype-config path (default search in \$PATH)],
3649 [ if test "${with_freetype_config_path}" != "no"
3651 FREETYPE_PATH="${with_freetype_config_path}:${PATH}"
3653 AC_PATH_PROG(FREETYPE_CONFIG, freetype-config, no, ${FREETYPE_PATH})
3655 if test "${FREETYPE_CONFIG}" != "no"
3657 VLC_ADD_PLUGINS([freetype])
3658 VLC_ADD_CFLAGS([freetype],[`${FREETYPE_CONFIG} --cflags`])
3659 VLC_ADD_LDFLAGS([freetype],[`${FREETYPE_CONFIG} --libs`])
3660 AC_CHECK_HEADERS(Carbon/Carbon.h,
3661 [VLC_ADD_LDFLAGS([freetype],[-framework Carbon])])
3662 elif test "${enable_freetype}" = "yes"
3664 AC_MSG_ERROR([I couldn't find the freetype package. You can download libfreetype2
3665 from http://www.freetype.org/, or configure with --disable-freetype. Have a nice day.
3670 if test "${enable_fribidi}" != "no"
3672 FRIBIDI_PATH="${PATH}"
3673 AC_ARG_WITH(fribidi-config-path,
3674 [ --with-fribidi-config-path=PATH fribidi-config path (default search in \$PATH)],
3675 [ if test "${with_fribidi_config_path}" != "no"
3677 FRIBIDI_PATH="${with_fribidi_config_path}:${PATH}"
3679 AC_PATH_PROG(FRIBIDI_CONFIG, fribidi-config, no, ${FRIBIDI_PATH})
3681 if test "${FRIBIDI_CONFIG}" != "no"
3683 VLC_ADD_CFLAGS([freetype], [`${FRIBIDI_CONFIG} --cflags` -DHAVE_FRIBIDI])
3684 VLC_ADD_CPPFLAGS([skins2], [`${FRIBIDI_CONFIG} --cflags` -DHAVE_FRIBIDI])
3685 VLC_ADD_LDFLAGS([freetype], [`${FRIBIDI_CONFIG} --libs`])
3686 VLC_ADD_LDFLAGS([skins2], [`${FRIBIDI_CONFIG} --libs`])
3694 AC_ARG_ENABLE(libxml2,
3695 [ --enable-libxml2 libxml2 support (default enabled)])
3696 if test "${enable_libxml2}" != "no"
3699 AC_ARG_WITH(xml2-config-path,
3700 [ --with-xml2-config-path=PATH xml2-config path (default search in \$PATH)],
3701 [ if test "${with_xml2_config_path}" != "no"; then
3702 XML2_PATH="${with_xml2_config_path}:${PATH}"
3704 AC_PATH_PROG(XML2_CONFIG, xml2-config, no, ${XML2_PATH})
3705 if test "${XML2_CONFIG}" != "no"; then
3706 VLC_ADD_CPPFLAGS([xml],[`${XML2_CONFIG} --cflags`])
3707 VLC_ADD_LDFLAGS([xml],[`${XML2_CONFIG} --libs`])
3708 dnl depends on the xmlTextReader extension
3709 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_xml}"
3710 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_xml}"
3711 AC_CHECK_LIB(xml2,xmlTextReaderConstName,[
3712 AC_EGREP_HEADER(xmlTextReaderConstName,libxml/xmlreader.h,[
3713 VLC_ADD_PLUGINS([xml]) ],[
3714 AC_MSG_WARN([libxml2 missing the xmlTextReader extension, you should update your version])
3715 if test "${enable_xml2}" = "yes"; then
3716 AC_MSG_ERROR([libxml2 missing the xmlTextReader extension])
3719 AC_MSG_WARN([libxml2 missing the xmlTextReader extension, you should update your version])
3720 if test "${enable_xml2}" = "yes"; then
3721 AC_MSG_ERROR([libxml2 missing the xmlTextReader extension])
3723 LDFLAGS="${LDFLAGS_save}"
3724 CPPFLAGS="${CPPFLAGS_save}"
3726 if test "${enable_xml2}" = "yes"; then
3727 AC_MSG_ERROR([Could not find libxml2])
3736 [ --enable-svg SVG support (default disabled)])
3737 if test "${enable_svg}" = "yes"
3739 PKG_CHECK_MODULES(SVG,
3740 librsvg-2.0 >= 2.5.0,
3742 VLC_ADD_LDFLAGS([svg],[$SVG_LIBS])
3743 VLC_ADD_CFLAGS([svg],[$SVG_CFLAGS])
3744 VLC_ADD_PLUGINS([svg]) ],
3745 [AC_MSG_WARN(SVG library not found)])
3749 dnl Snapshot vout module (with cache)
3751 AC_ARG_ENABLE(snapshot,
3752 [ --enable-snapshot snapshot module (default disabled)])
3753 if test "${enable_snapshot}" = "yes"
3755 VLC_ADD_PLUGINS([snapshot])
3759 dnl Qt Embedded module
3760 dnl (disabled by default)
3763 [ --enable-qte QT Embedded support (default disabled)])
3764 if test "${enable_qte}" = "yes"
3767 [ --with-qte=PATH Qt Embedded headers and libraries])
3768 if test "${with_qte}" != "no" -a -n "${with_qte}"
3770 VLC_ADD_LDFLAGS([qte],[-L${with_qte}/lib `echo -L${with_qte}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte])
3771 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])
3773 VLC_ADD_LDFLAGS([qte],[-L${QTDIR}/lib `echo -L${QTDIR}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte])
3774 VLC_ADD_CXXFLAGS([qte],[-I${QTDIR}/include `echo -I${QTDIR}/include | sed 's,opt/QtPalmtop,usr,'` -DQT_QWS_IPAQ -DQWS -fno-exceptions -fno-rtti])
3776 VLC_ADD_PLUGINS([qte])
3778 CPPFLAGS="${CPPFLAGS_save} ${CXXFLAGS_qte}"
3779 AC_CHECK_HEADERS(qt.h jpeglib.h, ,[
3780 AC_MSG_ERROR([echo "Cannot find QT Embedded development headers."])
3782 CPPFLAGS="${CPPFLAGS_save}"
3786 dnl Qt Video output module
3787 dnl (disabled by default)
3789 dnl AC_ARG_ENABLE(qt_video,
3790 dnl [ --enable-qt_video QT Video Output support (default disabled)])
3791 dnl if test "${enable_qt_video}" = "yes"
3793 dnl VLC_ADD_PLUGINS([qt_video])
3794 dnl VLC_ADD_LDFLAGS([qt_video],[-L${QTDIR}/lib])
3795 dnl LDFLAGS="${LDFLAGS_save} ${LDFLAGS_qt_video}"
3796 dnl AC_CHECK_LIB(qt-mt,main,[
3797 dnl VLC_ADD_LDFLAGS([qt_video],[-lqt-mt])
3799 dnl AC_CHECK_LIB(qt,main,[
3800 dnl VLC_ADD_LDFLAGS([qt_video],[-lqt])
3803 dnl NEED_QTE_MAIN=yes
3804 dnl LDFLAGS="${LDFLAGS_save}"
3805 dnl VLC_ADD_CXXFLAGS([qt_video],[-I/usr/include/qt3 -I/usr/include/qt -I${QTDIR}/include])
3809 dnl Roku HD1000 Video output module
3811 AC_ARG_ENABLE(hd1000v,
3812 [ --enable-hd1000v HD1000 Video Output module (default enabled on HD1000)])
3813 if test "${enable_hd1000v}" != "no" -a "${CXX}" != "" &&
3814 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
3815 test "${enable_hd1000v}" = "yes"); then
3817 AC_CHECK_HEADERS([cascade/graphics/CascadeScreen.h cascade/graphics/CascadeBitmap.h],
3819 can_build_roku="yes"
3823 AC_MSG_WARN([Not building Roku HD1000 compatible video output])
3825 if test "$can_build_roku" = "yes"
3827 VLC_ADD_PLUGINS([hd1000v])
3828 VLC_ADD_LDFLAGS([hd1000v],[-lCascade -ldvbpsi -lmad])
3834 dnl Windows DirectX module
3836 AC_ARG_ENABLE(directx,
3837 [ --enable-directx Win32 DirectX support (default enabled on Win32)])
3838 if test "${enable_directx}" != "no"
3840 if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce" -o "${SYS}" = "cygwin"
3842 AC_ARG_WITH(directx,
3843 [ --with-directx=PATH Win32 DirectX headers])
3844 if test -z "${with_directx}"
3846 AC_CHECK_HEADERS(ddraw.h,
3847 [ VLC_ADD_PLUGINS([vout_directx aout_directx])
3848 VLC_ADD_LDFLAGS([vout_directx],[-lgdi32])
3849 dnl to be moved when dependance is removed
3850 AC_CHECK_HEADERS(GL/gl.h, [
3851 VLC_ADD_PLUGINS([glwin32])
3852 VLC_ADD_LDFLAGS([glwin32],[-lopengl32 -lgdi32])
3855 AC_MSG_CHECKING(for directX headers in ${with_directx})
3856 if test -f ${with_directx}/ddraw.h
3858 VLC_ADD_PLUGINS([vout_directx aout_directx])
3859 VLC_ADD_CPPFLAGS([vout_directx aout_directx],[-I${with_directx}])
3860 VLC_ADD_LDFLAGS([vout_directx],[-lgdi32])
3864 AC_MSG_ERROR([Cannot find ${with_directx}/ddraw.h!])
3871 dnl Linux framebuffer module
3874 [ --enable-fb Linux framebuffer support (default enabled on Linux)])
3875 if test "${enable_fb}" != "no"
3877 AC_CHECK_HEADERS(linux/fb.h, [
3878 VLC_ADD_PLUGINS([fb])
3883 dnl Linux MGA module
3886 [ --enable-mga Linux kernel Matrox support (default disabled)],
3887 [ if test "${enable_mga}" = "yes"
3889 VLC_ADD_PLUGINS([mga])
3895 AC_ARG_ENABLE(svgalib,
3896 [ --enable-svgalib SVGAlib support (default disabled)])
3897 if test "${enable_svgalib}" = "yes"
3899 VLC_ADD_PLUGINS([svgalib])
3900 VLC_ADD_LDFLAGS([svgalib],[-lvgagl -lvga])
3906 AC_ARG_ENABLE(directfb,
3907 [ --enable-directfb DirectFB support (default disabled)])
3908 if test "${enable_directfb}" = "yes"
3910 if test "${with_directfb}" = "no"
3912 AC_CHECK_HEADER(directfb.h, have_directfb="true", have_directfb="false")
3913 if test "${have_directfb}"= "true"
3915 VLC_ADD_PLUGINS([directfb])
3916 VLC_ADD_LDFLAGS([directfb],[-ldirectfb -lfusion -ldirect -lpthread -ljpeg -lz -ldl])
3917 VLC_ADD_CPPFLAGS([directfb],[-I/usr/include/directfb -D_REENTRANT])
3919 AC_MSG_ERROR([cannot find /usr/include/directfb headers, make sure directfb is installed on your system or use --disable-directfb])
3922 CPPFLAGS_save="${CPPFLAGS}"
3923 CPPFLAGS="${CPPFLAGS} -I${with_directfb}/include"
3924 AC_CHECK_HEADER(directfb.h, have_directfb="true", have_directfb="false")
3925 CPPFLAGS="${CPPFLAGS_save}"
3926 AC_ARG_WITH(directfb,
3927 [ --with-directfb=PATH path to directfb],
3928 [ if test "${with_directfb}" != "no" -a -n "${with_directfb}"
3930 VLC_ADD_PLUGINS([directfb])
3931 VLC_ADD_CPPFLAGS([directfb],[-I${with_directfb}/include -D_REENTRANT])
3932 VLC_ADD_LDFLAGS([directfb],[-L${with_directfb}/lib -ldirectfb -lfusion -ldirect -lpthread -ljpeg -lz -ldl])
3934 [ AC_MSG_ERROR([cannot find directfb headers in ${with_directfb}/include]) ])
3942 [ --enable-ggi GGI support (default disabled)])
3943 if test "${enable_ggi}" = "yes"
3945 VLC_ADD_PLUGINS([ggi])
3946 VLC_ADD_LDFLAGS([ggi],[-lggi])
3948 [ --with-ggi=PATH path to libggi],
3949 [ if test "${with_ggi}" != "no" -a -n "${with_ggi}"
3951 VLC_ADD_CPPFLAGS([ggi],[-I${with_ggi}/include])
3952 VLC_ADD_LDFLAGS([ggi],[-L${with_ggi}/lib])
3959 AC_ARG_ENABLE(glide,
3960 [ --enable-glide Glide (3dfx) support (default disabled)])
3961 if test "${enable_glide}" = "yes"
3963 CFLAGS_save="${CFLAGS}"
3965 [ --with-glide=PATH path to libglide],
3966 [ if test "${with_glide}" != "no" -a -n "${with_glide}"
3968 VLC_ADD_CPPFLAGS([glide],[-I${with_glide}/include])
3969 VLC_ADD_LDFLAGS([glide],[-L${with_glide}/lib])
3970 CFLAGS="$CFLAGS -I${with_glide}/include"
3972 CFLAGS="$CFLAGS -I/usr/include/glide"
3973 AC_CHECK_HEADER(glide.h,[
3974 VLC_ADD_PLUGINS([glide])
3975 VLC_ADD_LDFLAGS([glide],[-lglide2x -lm])
3976 VLC_ADD_CPPFLAGS([glide],[-I/usr/include/glide])
3978 AC_MSG_ERROR([You don't have libglide. Install it or do not use --enable-glide])
3980 CFAGS="${CFLAGS_save}"
3987 [ --enable-aa aalib output (default disabled)])
3988 if test "${enable_aa}" = "yes"
3990 AC_CHECK_HEADER(aalib.h,have_aa="true",have_aa="false")
3991 if test "${have_aa}" = "true"
3993 VLC_ADD_PLUGINS([aa])
3994 VLC_ADD_LDFLAGS([aa],[-laa])
4002 [ --enable-caca libcaca output (default disabled)])
4003 if test "${enable_caca}" = "yes"
4006 AC_ARG_WITH(caca-config-path,
4007 [ --with-caca-config-path=PATH caca-config path (default search in \$PATH)],
4008 [ if test "${with_caca_config_path}" != "no"
4010 CACA_PATH="${with_caca_config_path}:${PATH}"
4012 AC_PATH_PROG(CACA_CONFIG, caca-config, no, ${CACA_PATH})
4013 if test "${CACA_CONFIG}" != "no"
4015 VLC_ADD_PLUGINS([caca])
4016 VLC_ADD_CFLAGS([caca],[`${CACA_CONFIG} --cflags`])
4017 VLC_ADD_LDFLAGS([caca],[`${CACA_CONFIG} --plugin-libs`])
4022 dnl win32 GDI plugin
4024 AC_ARG_ENABLE(wingdi,
4025 [ --enable-wingdi Win32 GDI module (default enabled on Win32)])
4026 if test "${enable_wingdi}" != "no"; then
4027 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"; then
4028 VLC_ADD_PLUGINS([wingdi])
4029 VLC_ADD_LDFLAGS([wingdi],[-lgdi32])
4031 if test "${SYS}" = "mingwce"; then
4032 VLC_ADD_PLUGINS([wingdi wingapi])
4040 AC_ARG_WITH(,[Audio plugins:])
4043 dnl OSS /dev/dsp module (enabled by default except on win32)
4046 [ --enable-oss Linux OSS /dev/dsp support (enabled on Linux)])
4048 if test "${enable_oss}" != "no" &&
4049 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
4050 test "${enable_oss}" = "yes")
4052 AC_CHECK_HEADERS(soundcard.h sys/soundcard.h machine/soundcard.h, [
4053 VLC_ADD_PLUGINS([oss])
4054 AC_CHECK_LIB(ossaudio,main,VLC_ADD_LDFLAGS([oss],[-lossaudio]))
4062 [ --enable-esd Esound library support (default disabled)],
4063 [if test "${enable_esd}" = "yes"
4065 AC_PATH_PROG(ESD_CONFIG, esd-config, no)
4066 if test "${ESD_CONFIG}" != "no"
4068 VLC_ADD_PLUGINS([esd])
4069 VLC_ADD_CFLAGS([esd],[`${ESD_CONFIG} --cflags`])
4070 VLC_ADD_LDFLAGS([esd],[`${ESD_CONFIG} --libs`])
4075 dnl Portaudio module
4077 AC_ARG_ENABLE(portaudio,
4078 [ --enable-portaudio Portaudio library support (default disabled)],
4079 [if test "${enable_portaudio}" = "yes"
4081 VLC_ADD_PLUGINS([portaudio])
4082 VLC_ADD_CXXFLAGS([portaudio],[])
4083 if test "${SYS}" = "mingw32"; then
4084 VLC_ADD_LDFLAGS([portaudio],[-lportaudio -lwinmm -lole32])
4086 VLC_ADD_LDFLAGS([portaudio],[-lportaudio])
4091 dnl aRts module -- broken (freeze wxWidgets)
4094 [ --enable-arts aRts sound server (default disabled)],
4095 [if test "${enable_arts}" = "yes"
4097 AC_PATH_PROG(ARTS_CONFIG, artsc-config, no)
4098 if test "${ARTS_CONFIG}" != "no"
4100 VLC_ADD_PLUGINS([arts])
4101 VLC_ADD_CFLAGS([arts],[`${ARTS_CONFIG} --cflags`])
4102 VLC_ADD_LDFLAGS([arts],[`${ARTS_CONFIG} --libs `])
4110 [ --enable-alsa ALSA sound support for Linux (default enabled)])
4111 if test "${enable_alsa}" != "no"
4113 AC_CHECK_HEADER(alsa/asoundlib.h, AC_CHECK_LIB(asound, main, have_alsa="true", have_alsa="false"),have_alsa="false")
4114 if test "${have_alsa}" = "true"
4116 CFLAGS="${CFLAGS_save}"
4117 AC_TRY_COMPILE([#define ALSA_PCM_NEW_HW_PARAMS_API
4118 #define ALSA_PCM_NEW_SW_PARAMS_API
4119 #include <alsa/asoundlib.h>],
4120 [void foo() { snd_pcm_hw_params_get_period_time(0,0,0); }],
4121 AC_DEFINE(HAVE_ALSA_NEW_API, 1, Define if ALSA is at least rc4))
4122 VLC_ADD_PLUGINS([alsa])
4123 VLC_ADD_LDFLAGS([alsa],[-lasound -lm -ldl])
4125 if test "${enable_alsa}" = "yes"; then
4126 AC_MSG_ERROR([Could not find ALSA development headers])
4132 dnl win32 waveOut plugin
4134 AC_ARG_ENABLE(waveout,
4135 [ --enable-waveout Win32 waveOut module (default enabled on Win32)])
4136 if test "${enable_waveout}" != "no"; then
4137 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"; then
4138 VLC_ADD_PLUGINS([waveout])
4139 VLC_ADD_LDFLAGS([waveout],[-lwinmm])
4141 if test "${SYS}" = "mingwce"; then
4142 VLC_ADD_PLUGINS([waveout])
4147 dnl CoreAudio plugin
4149 AC_ARG_ENABLE(macosx-audio,
4150 [ --enable-macosx-audio Mac OS X audio module (default enabled on MacOS X)])
4151 if test "${enable_macosx-audio}" != "no" &&
4152 (test "${SYS}" = "darwin" || test "${enable_macosx-audio}" = "yes")
4154 AC_CHECK_HEADERS(CoreAudio/CoreAudio.h,
4155 [ VLC_ADD_BUILTINS([auhal])
4156 VLC_ADD_LDFLAGS([auhal],[-framework CoreAudio -framework AudioUnit -framework AudioToolbox])
4157 ], [ AC_MSG_ERROR([cannot find CoreAudio headers]) ])
4161 dnl Roku HD1000 audio
4163 AC_ARG_ENABLE(hd1000a,
4164 [ --enable-hd1000a HD1000 audio module (default enabled on HD1000)])
4165 if test "${enable_hd1000a}" != "no" -a "${CXX}" != "" &&
4166 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
4167 test "${enable_hd1000a}" = "yes")
4170 AC_CHECK_HEADERS(deschutes/libraries/hdmachinex225/PCMAudioPlayer.h, [
4171 VLC_ADD_PLUGINS([hd1000a])
4172 AC_CHECK_LIB(HDMachineX225,main,VLC_ADD_LDFLAGS([hd1000a],[-lHDMachineX225])) ])
4180 [ --enable-jack JACK audio module (default disabled)],
4181 [if test "${enable_jack}" = "yes"
4183 AC_CHECK_HEADERS(jack/jack.h, [
4184 VLC_ADD_PLUGINS([jack])
4185 VLC_ADD_LDFLAGS([jack],[-ljack]) ])
4189 dnl CyberLink for C++ UPnP stack
4191 AC_ARG_ENABLE(cyberlink,
4192 [ --enable-cyberlink CyberLink for C++ UPnP stack (default disabled)])
4193 AS_IF([test "${CXX}" != "" -a "${enable_cyberlink}" = "yes" || (test "${enable_cyberlink}" != "no")], [
4194 AC_ARG_WITH(cyberlink-tree,
4195 [ --with-cyberlink-tree=PATH CyberLink for C++ tree for static linking])
4198 dnl test for --with-cyberlink-tree
4200 AS_IF([test ! -z "${with_cyberlink_tree}" -a "${CXX}" != ""], [
4202 real_cyberlink_tree="`cd ${with_cyberlink_tree} 2>/dev/null && pwd`"
4203 AS_IF([test -z "${real_cyberlink_tree}"], [
4204 dnl The given directory can't be found
4206 AC_MSG_ERROR([cannot cd to ${with_cyberlink_tree}])
4208 CPPFLAGS_save="${CPPFLAGS}"
4209 CPPFLAGS_cyberlink="-I${real_cyberlink_tree}/include"
4210 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_cyberlink}"
4211 AC_CHECK_HEADERS([cybergarage/upnp/MediaServer.h],
4212 [ VLC_ADD_CXXFLAGS([upnp_cc], [${CPPFLAGS_cyberlink}])
4213 VLC_ADD_PLUGINS([upnp_cc])
4215 AC_MSG_ERROR([cannot find CyberLink for C++ headers])
4217 AC_MSG_CHECKING(for libclink.a in ${with_cyberlink_tree})
4218 AS_IF([test -f "${real_cyberlink_tree}/lib/unix/libclink.a"], [
4219 AC_MSG_RESULT(${real_cyberlink_tree}/lib/unix/libclink.a)
4220 dnl The mere fact that we have to make such an ugly check sucks
4221 AC_MSG_CHECKING(for XML parser to link CyberLink with)
4224 for l in "`xml2-config --libs`" -lexpat -lxerces-c; do
4225 LIBS="$LIBS_save ${real_cyberlink_tree}/lib/unix/libclink.a -lpthread $l"
4226 AC_LINK_IFELSE([AC_LANG_PROGRAM([
4227 #include <cybergarage/upnp/media/player/MediaPlayer.h>
4228 using namespace CyberLink;
4230 class testclass : public SearchResponseListener, public MediaPlayer
4232 virtual void deviceSearchResponseReceived( SSDPPacket *)
4239 addSearchResponseListener (this);
4243 ],[testclass l;])],[LIBS_cclink="$l"])
4246 dnl should not happen - otherwise this needs fixing - hence FAILURE
4247 AS_IF([test "${LIBS_cclink}" == "no"],
4248 [AC_MSG_FAILURE([cannot find XML parser for CyberLink])])
4249 AC_MSG_RESULT([${LIBS_cclink}])
4250 VLC_ADD_LDFLAGS([upnp_cc], [${real_cyberlink_tree}/lib/unix/libclink.a -lpthread ${LIBS_cclink}])
4253 AC_MSG_ERROR([cannot find ${real_cyberlink_tree}/lib/unix/libclink.a, make sure you compiled CyberLink for C++ in ${with_cyberlink_tree}])
4255 CPPFLAGS="${CPPFLAGS_save}"
4261 dnl UPnP Plugin (Intel SDK)
4264 [ --enable-upnp Intel UPnP SDK (default auto)])
4266 VLC_ADD_CXXFLAGS([upnp_intel], [ ])
4267 AS_IF([test "x${enable_upnp}" != "xno"], [
4268 AC_CHECK_LIB([upnp], [UpnpInit], [has_upnp="yes"], [has_upnp="no"], [-lpthread])
4269 AS_IF([test "x${enable_upnp}" != "x" && test "${has_upnp}" == "no"], [
4270 AC_MSG_ERROR([cannot find Intel UPnP SDK (libupnp)])
4272 AS_IF([test "${has_upnp}" == "yes"], [
4273 VLC_ADD_LDFLAGS([upnp_intel], [-lupnp])
4279 AS_IF([test "${has_upnp}" == "yes"], [
4280 VLC_ADD_PLUGINS([upnp_intel])
4285 dnl Interface plugins
4288 AC_ARG_WITH(,[Interface plugins:])
4290 dnl special case for BeOS
4291 if test "${SYS}" = "beos"
4293 VLC_ADD_BUILTINS([beos])
4299 AC_ARG_ENABLE(skins2,
4300 [ --enable-skins2 Skins2 interface module (experimental)])
4301 if test "${enable_skins2}" = "yes" ||
4302 (test "${SYS}" != "darwin" && test "${SYS}" != "beos" &&
4303 test "${SYS}" != "mingwce" && test "${enable_skins2}" != "no"); then
4305 dnl test for the required libraries
4306 skins2_missing_lib="no"
4309 if test "${FREETYPE_CONFIG}" != "no"; then
4310 VLC_ADD_CPPFLAGS([skins2],[`${FREETYPE_CONFIG} --cflags`])
4311 VLC_ADD_LDFLAGS([skins2],[`${FREETYPE_CONFIG} --libs`])
4313 skins2_missing_lib="yes"
4314 if test "${enable_skins2}" = "yes"; then
4315 AC_MSG_ERROR([Could not find freetype (required for skins2)])
4319 if test "${skins2_missing_lib}" = "no" && (test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"); then
4320 VLC_ADD_PLUGINS([skins2])
4321 ALIASES="${ALIASES} svlc"
4322 VLC_ADD_CPPFLAGS([skins2],[-U_OFF_T_ -U_off_t -Imodules/gui/skins2 -DWIN32_SKINS])
4323 VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
4324 VLC_ADD_LDFLAGS([skins2],[-loleaut32 -lwinspool -lwinmm -lshell32 -lctl3d32 -ladvapi32 -lwsock32 -lgdi32 -lcomdlg32 -lole32 -luuid -lcomctl32])
4326 else if test "${skins2_missing_lib}" = "no"; then
4327 VLC_ADD_PLUGINS([skins2])
4328 ALIASES="${ALIASES} svlc"
4329 VLC_ADD_CPPFLAGS([skins2],[-Imodules/gui/skins2 ${X_CFLAGS} -DX11_SKINS])
4330 VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
4331 VLC_ADD_LDFLAGS([skins2],[${X_LIBS} ${X_PRE_LIBS} -lXext -lX11])
4339 dnl AC_ARG_ENABLE(gtk,
4340 dnl [ --enable-gtk Gtk+ support (default enabled)])
4341 dnl if test "${enable_gtk}" != "no"
4343 dnl GTK_PATH="${PATH}"
4344 dnl AC_ARG_WITH(gtk-config-path,
4345 dnl [ --with-gtk-config-path=PATH gtk-config path (default search in \$PATH)],
4346 dnl [ if test "${with_gtk_config_path}" != "no"
4348 dnl GTK_PATH="${with_gtk_config_path}:${PATH}"
4350 dnl # look for gtk-config
4351 dnl AC_PATH_PROG(GTK12_CONFIG, gtk12-config, no, ${GTK_PATH})
4352 dnl GTK_CONFIG=${GTK12_CONFIG}
4353 dnl if test "${GTK_CONFIG}" = "no"
4355 dnl AC_PATH_PROG(GTK_CONFIG, gtk-config, no, ${GTK_PATH})
4357 dnl if test "${GTK_CONFIG}" != "no"
4359 dnl if expr 1.2.0 \> `${GTK_CONFIG} --version` >/dev/null
4361 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.])
4363 dnl if test "${SYS}" != "mingw32"; then
4364 dnl VLC_ADD_CFLAGS([gtk],[`${GTK_CONFIG} --cflags gtk gthread`])
4365 dnl VLC_ADD_LDFLAGS([gtk],[`${GTK_CONFIG} --libs gtk gthread | sed 's,-rdynamic,,'`])
4367 dnl VLC_ADD_CFLAGS([gtk],[`${GTK_CONFIG} --cflags gtk`])
4368 dnl VLC_ADD_LDFLAGS([gtk],[`${GTK_CONFIG} --libs gtk | sed 's,-rdynamic,,'`])
4370 dnl # now look for the gtk.h header
4371 dnl CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_gtk}"
4372 dnl ac_cv_gtk_headers=yes
4373 dnl AC_CHECK_HEADERS(gtk/gtk.h glib.h gdk/gdk.h, , [
4374 dnl ac_cv_gtk_headers=no
4375 dnl echo "Cannot find gtk development headers."
4377 dnl if test "${ac_cv_gtk_headers}" = "yes"
4379 dnl VLC_ADD_PLUGINS([gtk])
4380 dnl if test "${SYS}" != "mingw32"; then
4381 dnl NEED_GTK_MAIN=yes
4383 dnl ALIASES="${ALIASES} gvlc"
4385 dnl CPPFLAGS="${CPPFLAGS_save}"
4390 dnl Gtk+2 module ! Disabled for now as it is unusable and confuses users
4392 dnl AC_ARG_ENABLE(gtk2,
4393 dnl [ --enable-gtk2 Gtk2 support (default disabled)])
4394 dnl if test "${enable_gtk2}" = "yes"
4396 dnl PKG_CHECK_MODULES(GTK2, [gtk+-2.0 >= 2.0.0, gthread-2.0])
4397 dnl VLC_ADD_CFLAGS([gtk2],[${GTK2_CFLAGS}])
4398 dnl VLC_ADD_LDFLAGS([gtk2],[${GTK2_LIBS}])
4399 dnl VLC_ADD_PLUGINS([gtk2])
4400 dnl if test "${SYS}" != "mingw32"; then
4401 dnl NEED_GTK2_MAIN=yes
4406 dnl PDA Gtk+2 module
4409 [ --enable-pda PDA interface needs Gtk2 support (default disabled)])
4410 if test "${enable_pda}" = "yes"
4412 PKG_CHECK_MODULES(GTK2, [gtk+-2.0 >= 2.0.0, gthread-2.0])
4413 VLC_ADD_CFLAGS([gtk2],[${GTK2_CFLAGS}])
4414 VLC_ADD_LDFLAGS([gtk2],[${GTK2_LIBS}])
4415 VLC_ADD_CFLAGS([pda],[${GTK2_CFLAGS} ${CFLAGS_pda}])
4416 VLC_ADD_LDFLAGS([pda],[${GTK2_LIBS} ${LDFLAGS_pda}])
4417 VLC_ADD_PLUGINS([pda])
4418 if test "${SYS}" != "mingw32"; then
4424 dnl dnl Gnome module
4426 dnl AC_ARG_ENABLE(gnome,
4427 dnl [ --enable-gnome Gnome interface support (default disabled)],
4428 dnl [if test "${enable_gnome}" = "yes"; then
4429 dnl # look for gnome-config
4430 dnl AC_PATH_PROG(GNOME_CONFIG, gnome-config, no)
4431 dnl if test -x ${GNOME_CONFIG}
4433 dnl VLC_ADD_CFLAGS([gnome],[`${GNOME_CONFIG} --cflags gtk gnomeui`])
4434 dnl VLC_ADD_LDFLAGS([gnome],[`${GNOME_CONFIG} --libs gnomeui | sed 's,-rdynamic,,'`])
4436 dnl # now look for the gnome.h header
4437 dnl CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_gnome}"
4438 dnl AC_CHECK_HEADERS(gnome.h, [
4439 dnl VLC_ADD_PLUGINS([gnome])
4440 dnl NEED_GTK_MAIN=yes
4441 dnl NEED_GNOME_MAIN=yes
4442 dnl ALIASES="${ALIASES} gnome-vlc"
4443 dnl dnl We need this because of some moronic gnomesupport.h flavours
4444 dnl AC_MSG_CHECKING(for strndup in gnome.h)
4445 dnl AC_EGREP_HEADER(strndup,gnome.h,[
4446 dnl AC_MSG_RESULT(yes)
4447 dnl AC_DEFINE(STRNDUP_IN_GNOME_H, 1,
4448 dnl Define if <gnome.h> defines strndup.)],[
4449 dnl AC_MSG_RESULT(no)])
4451 dnl AC_MSG_ERROR([Can't find gnome headers. Please install the gnome
4452 dnl developement tools or remove the --enable-gnome option])
4454 dnl CPPFLAGS="${CPPFLAGS_save}"
4458 dnl Gnome2 module ! Disabled for know as it is unuseable and confuses users
4460 dnl AC_ARG_ENABLE(gnome2,
4461 dnl [ --enable-gnome2 Gnome2 support (default disabled)])
4462 dnl if test "${enable_gnome2}" = "yes"
4464 dnl PKG_CHECK_MODULES(GNOME2, [libgnomeui-2.0])
4465 dnl VLC_ADD_CFLAGS([gnome2],[${GNOME2_CFLAGS}])
4466 dnl VLC_ADD_LDFLAGS([gnome2],[${GNOME2_LIBS}])
4467 dnl VLC_ADD_PLUGINS([gnome2])
4468 dnl if test "${SYS}" != "mingw32"; then