]> git.sesse.net Git - vlc/blob - configure.ac
Do not force -O0 with --disable-optimizations
[vlc] / configure.ac
1 dnl Autoconf settings for vlc
2
3 AC_COPYRIGHT([Copyright 2002-2011 the VideoLAN team])
4
5 AC_INIT(vlc, 1.2.0-git)
6 VERSION_MAJOR="1"
7 VERSION_MINOR="2"
8 VERSION_REVISION="0"
9 VERSION_EXTRA="-git"
10 PKGDIR="vlc"
11 AC_SUBST(PKGDIR)
12
13 CONFIGURE_LINE="`echo "$0 $ac_configure_args" | sed -e 's/\\\/\\\\\\\/g'`"
14 CODENAME="Twoflower"
15 COPYRIGHT_YEARS="1996-2011"
16
17 AC_CONFIG_SRCDIR(src/libvlc.c)
18 AC_CONFIG_AUX_DIR(autotools)
19 AC_CONFIG_MACRO_DIR(m4)
20 AC_CONFIG_LIBOBJ_DIR(compat)
21 AC_CANONICAL_BUILD
22 AC_CANONICAL_HOST
23 AC_PRESERVE_HELP_ORDER
24
25 AM_INIT_AUTOMAKE(tar-ustar color-tests)
26 AM_CONFIG_HEADER(config.h)
27
28 # Disable with "./configure --disable-silent-rules" or "make V=1"
29 AM_SILENT_RULES([yes])
30
31 dnl Too many people are not aware of maintainer mode:
32 dnl If you want to use it, you definitely know what you are doing, so
33 dnl you can specify "--disable-maintainer-mode". But if you want the default
34 dnl automake behavior, you've likely never heard of maintainer mode, so we
35 dnl can't expect you to enable it manually.
36 AS_IF([test "x${enable_maintainer_mode}" != "xno"],
37     [enable_maintainer_mode="yes"])
38 AM_MAINTAINER_MODE
39
40 dnl
41 dnl Directories
42 dnl
43 dnl vlcincludedir="\${includedir}/\${PKGDIR}"
44 dnl AC_SUBST(vlcincludedir)
45 vlcdatadir="\${datadir}/\${PKGDIR}"
46 AC_SUBST(vlcdatadir)
47 vlclibdir="\${libdir}/\${PKGDIR}"
48 AC_SUBST(vlclibdir)
49
50 dnl
51 dnl  Save *FLAGS
52 dnl
53 VLC_SAVE_FLAGS
54
55 dnl
56 dnl Check for tools
57 dnl
58 AC_PROG_CC_C99
59 AC_USE_SYSTEM_EXTENSIONS
60 AC_DEFINE([_FORTIFY_SOURCE], 2, [Define to '2' to get glibc warnings.])
61
62 AM_PROG_CC_C_O
63 AC_PROG_CXX
64 AC_PROG_CPP
65 AC_PROG_OBJC
66 _AM_DEPENDENCIES([OBJC])
67 AC_PROG_EGREP
68 AC_PROG_MAKE_SET
69 AC_PROG_INSTALL
70 AM_PROG_AS
71
72 dnl Find the right ranlib, even when cross-compiling
73 AC_CHECK_TOOL(RANLIB, ranlib, :)
74 AC_CHECK_TOOL(STRIP, strip, :)
75 AC_CHECK_TOOL(AR, ar, :)
76 AC_CHECK_TOOL(LD, ld, :)
77 AC_CHECK_TOOL(DLLTOOL, dlltool, :)
78
79 dnl Check for compiler properties
80 AC_C_CONST
81 AC_C_INLINE
82 AC_C_RESTRICT
83
84 dnl Extend the --help string at the current spot.
85 AC_DEFUN([EXTEND_HELP_STRING], [m4_divert_once([HELP_ENABLE], [$1])])
86
87 dnl Allow binary package maintainer to pass a custom string to avoid
88 dnl cache problem
89 AC_ARG_WITH(binary-version,
90     AS_HELP_STRING([--with-binary-version=STRING],
91          [To avoid plugins cache problem between binary version]),[],[])
92 AS_IF([test -n "${with_binary_version}"],[
93     AC_DEFINE_UNQUOTED([DISTRO_VERSION],["${with_binary_version}"],
94          [Binary specific version])
95 ])
96
97 dnl Check how we are asked to build
98 AS_IF([test "${enable_shared}" = "no" -a "${enable_vlc}" != "no"], [
99   AC_MSG_ERROR([VLC is based on plugins. Shared libraries cannot be disabled.])
100 ])
101
102 AC_ARG_ENABLE(static-modules,
103   [AS_HELP_STRING([--enable-static-modules],
104     [link modules statically - VLC will not work])])
105 AS_IF([test "${enable_static_modules}" = yes], [
106    enable_shared="no"
107    enable_static="yes"
108    VLC_DEFAULT_PLUGIN_TYPE="builtin"
109    AS_IF([test "${enable_vlc}" != "no"],
110      [AC_MSG_WARN([Building modules as static. VLC will not work.])])
111 ], [
112    VLC_DEFAULT_PLUGIN_TYPE="plugin"
113 ])
114
115 AC_SUBST(VLC_DEFAULT_PLUGIN_TYPE)
116
117 dnl
118 dnl  Check for the contrib directory
119 dnl
120 AC_ARG_WITH(contrib,
121   [AS_HELP_STRING([--without-contrib],
122     [do not use the libraries in CONTRIB_DIR])])
123 AC_ARG_VAR([CONTRIB_DIR], [directory containing pre-built contrib, overriding extras/contrib])
124 AS_IF([test "${with_contrib}" != "no"],[
125   AS_IF([test -z "$CONTRIB_DIR"], [
126       topdir="`dirname $0`"
127       if test "`echo \"$topdir\" | cut -c 1`" != "/"; then
128          topdir="`pwd`/$topdir"
129       fi
130       CONTRIB_DIR="${topdir}/extras/contrib/hosts/${host}"
131       if ! test -d "$CONTRIB_DIR"
132       then
133         gccmachine=`$CC -dumpmachine`
134         CONTRIB_DIR="${topdir}/extras/contrib/hosts/${gccmachine}"
135       fi
136   ])
137   AC_MSG_CHECKING([for libs in ${CONTRIB_DIR}])
138   AS_IF([test -d "${CONTRIB_DIR}/lib"],[
139     AC_MSG_RESULT([yes])
140     AC_SUBST(CONTRIB_DIR)
141     export PATH=${CONTRIB_DIR}/bin:$PATH
142     CPPFLAGS="${CPPFLAGS} -I${CONTRIB_DIR}/include"
143     CPPFLAGS_save="${CPPFLAGS_save} -I${CONTRIB_DIR}/include"
144     CFLAGS="${CFLAGS} -I${CONTRIB_DIR}/include"
145     CFLAGS_save="${CFLAGS_save} -I${CONTRIB_DIR}/include"
146     CXXFLAGS="${CXXFLAGS} -I${CONTRIB_DIR}/include"
147     CXXFLAGS_save="${CXXFLAGS_save} -I${CONTRIB_DIR}/include"
148     OBJCFLAGS="${OBJCFLAGS} -I${CONTRIB_DIR}/include"
149     OBJCFLAGS_save="${OBJCFLAGS_save} -I${CONTRIB_DIR}/include"
150     if test "$build" = "$host" -o "$PKG_CONFIG_LIBDIR"; then
151         export PKG_CONFIG_PATH="${CONTRIB_DIR}/lib/pkgconfig:$PKG_CONFIG_PATH"
152     else
153         export PKG_CONFIG_LIBDIR="${CONTRIB_DIR}/lib/pkgconfig"
154     fi
155     LDFLAGS="${LDFLAGS} -L${CONTRIB_DIR}/lib"
156     LDFLAGS_save="${LDFLAGS_save} -L${CONTRIB_DIR}/lib"
157
158     if test "${SYS}" = "darwin"; then
159       export LD_LIBRARY_PATH="${CONTRIB_DIR}/lib:$LD_LIBRARY_PATH"
160       export DYLD_LIBRARY_PATH="${CONTRIB_DIR}/lib:$DYLD_LIBRARY_PATH"
161     fi
162   ],[
163     AC_MSG_RESULT([no])
164     CONTRIB_DIR=""
165   ])
166 ])
167
168 dnl
169 dnl  Set default values
170 dnl
171 LDFLAGS_vlc="${LDFLAGS}"
172
173 dnl
174 dnl  Check the operating system
175 dnl
176 HAVE_WIN64="0"
177 case "${host_os}" in
178   "")
179     SYS=unknown
180     ;;
181   linux*)
182     SYS=linux
183     ;;
184   bsdi*)
185     SYS=bsdi
186     CFLAGS_save="${CFLAGS_save} -pthread"; CFLAGS="${CFLAGS_save}"
187     VLC_ADD_LIBS([vcd cdda vcdx],[-ldvd])
188     ;;
189   *bsd*)
190     SYS="${host_os}"
191     CFLAGS_save="${CFLAGS_save} -pthread"; CFLAGS="${CFLAGS_save}"
192     case "${host_os}" in
193       freebsd*)
194         CPPFLAGS_save="${CPPFLAGS_save} -I/usr/local/include"
195         CPPFLAGS="${CPPFLAGS_save}"
196         LDFLAGS_save="${LDFLAGS_save} -L/usr/local/lib"
197         LDFLAGS="${LDFLAGS_save}"
198         ;;
199       openbsd*)
200         CPPFLAGS_save="${CPPFLAGS_save} -I/usr/local/include -I/usr/X11R6/include"
201         CPPFLAGS="${CPPFLAGS_save}"
202         LDFLAGS_save="${LDFLAGS_save} -L/usr/local/lib -L/usr/X11R6/lib/"
203         LDFLAGS="${LDFLAGS_save}"
204         ;;
205     esac
206     ;;
207   darwin*)
208
209     dnl Force gcc "-arch" flag
210     ARCH_flag=""
211     case "${host}" in
212       i386*)
213         ARCH_flag="-arch i386"
214       ;;
215       ppc64*)
216         ARCH_flag="-arch ppc64"
217       ;;
218       ppc*)
219         ARCH_flag="-arch ppc"
220       ;;
221       x86_64*)
222         ARCH_flag="-arch x86_64"
223       ;;
224     esac
225
226     SYS=darwin
227     CFLAGS_save="${CFLAGS_save} -D_INTL_REDIRECT_MACROS ${ARCH_flag}"; CFLAGS="${CFLAGS_save}"
228     CXXFLAGS_save="${CXXFLAGS_save} -D_INTL_REDIRECT_MACROS ${ARCH_flag}"; CXXFLAGS="${CXXFLAGS_save}"
229     CPPFLAGS_save="${CPPFLAGS_save} ${ARCH_flag}"; CPPFLAGS="${CPPFLAGS_save}"
230     OBJCFLAGS_save="${OBJCFLAGS_save} -D_INTL_REDIRECT_MACROS -std=gnu99 ${ARCH_flag}"; OBJCFLAGS="${OBJCFLAGS_save}"
231     LDFLAGS_save="${LDFLAGS_save} -Wl,-headerpad_max_install_names ${ARCH_flag}"; LDFLAGS="${LDFLAGS_save}"
232     VLC_ADD_LDFLAGS([mkv mp4 motion], [-Wl,-framework,IOKit,-framework,CoreFoundation])
233     VLC_ADD_LDFLAGS([libvlc vlc],[-Wl,-undefined,dynamic_lookup])
234     VLC_ADD_LDFLAGS([avcodec avformat access_avio swscale postproc i420_rgb_mmx x264],[-Wl,-read_only_relocs,suppress])
235     VLC_ADD_CFLAGS([motion],[-fconstant-cfstrings])
236     VLC_ADD_LDFLAGS([libvlccore],[-Wl,-framework,CoreFoundation])
237     AC_ARG_ENABLE(macosx-defaults,
238       AS_HELP_STRING([--enable-macosx-defaults],[Build the default configuration on Mac OS X (default enabled)]))
239     if test "x${enable_macosx_defaults}" != "xno"
240     then
241         echo ""
242         echo "Building with Mac OS X defaults:"
243         build_dir=`pwd`
244         echo "  Assuming --prefix=${build_dir}/vlc_install_dir"
245         ac_default_prefix="${build_dir}/vlc_install_dir"
246         enable_faad="yes"
247         echo "  Assuming --enable-faad"
248         enable_flac="yes"
249         echo "  Assuming --enable-flac"
250         enable_theora="yes"
251         echo "  Assuming --enable-theora"
252         enable_shout="yes"
253         echo "  Assuming --enable-shout"
254         enable_vcdx="yes"
255         echo "  Assuming --enable-vcdx"
256         enable_caca="yes"
257         echo "  Assuming --enable-caca"
258         enable_ncurses="yes"
259         echo "  Assuming --enable-ncurses"
260         enable_twolame="yes"
261         echo "  Assuming --enable-twolame"
262         enable_realrtsp="yes"
263         echo "  Assuming --enable-realrtsp"
264         enable_libass="yes"
265         echo "  Assuming --enable-libass"
266
267         enable_skins2="no"
268         echo "  Assuming --disable-skins2"
269         enable_xcb="no"
270         echo "  Assuming --disable-xcb"
271     fi
272     dnl
273     dnl  Check for Mac OS X SDK settings
274     dnl
275     AC_ARG_WITH(macosx-sdk,
276       [AS_HELP_STRING([--with-macosx-sdk=DIR],
277         [compile using the SDK in DIR])])
278     if test "${with_macosx_sdk}" != "" ; then
279         CPP="${CPP} -isysroot ${with_macosx_sdk}"
280         CC="${CC} -isysroot ${with_macosx_sdk}"
281         CXX="${CXX} -isysroot ${with_macosx_sdk}"
282         OBJC="${OBJC} -isysroot ${with_macosx_sdk}"
283         LD="${LD} -syslibroot ${with_macosx_sdk}"
284     else
285         echo "  No desired SDK version given, falling back to 10.5"
286         CPP="${CPP} -isysroot /Developer/SDKs/MacOSX10.5.sdk"
287         CC="${CC} -isysroot /Developer/SDKs/MacOSX10.5.sdk"
288         CXX="${CXX} -isysroot /Developer/SDKs/MacOSX10.5.sdk"
289         OBJC="${OBJC} -isysroot /Developer/SDKs/MacOSX10.5.sdk"
290         LD="${LD} -syslibroot /Developer/SDKs/MacOSX10.5.sdk"
291         with_macosx_version_min="10.5"
292         echo "  Assuming --with-macosx-version-min=10.5"
293     fi
294     AC_ARG_WITH(macosx-version-min,
295       [AS_HELP_STRING([--with-macosx-version-min=VERSION],
296         [compile for MacOS X VERSION and above])])
297     if test "${with_macosx_version_min}" != "" ; then
298         CPP="${CPP} -mmacosx-version-min=${with_macosx_version_min}"
299         CC="${CC} -mmacosx-version-min=${with_macosx_version_min}"
300         CXX="${CXX} -mmacosx-version-min=${with_macosx_version_min}"
301         OBJC="${OBJC} -mmacosx-version-min=${with_macosx_version_min}"
302         LD="${LD} -macosx_version_min=${with_macosx_version_min}"
303         CFLAGS_save="${CFLAGS_save} -DMACOSX_DEPLOYMENT_TARGET=${with_macosx_version_min}"; CFLAGS="${CFLAGS_save}"
304         CXXFLAGS_save="${CXXFLAGS_save} -DMACOSX_DEPLOYMENT_TARGET=${with_macosx_version_min}"; CXXFLAGS="${CXXFLAGS_save}"
305         OBJCFLAGS_save="${OBJCFLAGS_save} -DMACOSX_DEPLOYMENT_TARGET=${with_macosx_version_min}"; OBJCFLAGS="${OBJCFLAGS_save}"
306         MACOSX_DEPLOYMENT_TARGET=${with_macosx_version_min}
307         export MACOSX_DEPLOYMENT_TARGET
308     fi
309     ;;
310   *mingw32* | *cygwin* | *wince* | *mingwce*)
311     AC_CHECK_TOOL(WINDRES, windres, :)
312     AC_CHECK_TOOL(OBJCOPY, objcopy, :)
313
314     case "${host_os}" in
315       *wince* | *mingwce* | *mingw32ce*)
316         SYS=mingwce
317         dnl Sadly CeGCC still needs non-wince macros
318         AC_DEFINE([_WIN32_WINNT], 0x0501, [Define to '0x0500' for Windows 2000 APIs.])
319         ;;
320       *mingw32*)
321         SYS=mingw32
322         AC_DEFINE([_WIN32_WINNT], 0x0501, [Define to '0x0500' for Windows XP APIs.])
323         ;;
324       *cygwin*)
325         dnl Check if we are using the mno-cygwin mode in which case we are
326         dnl actually dealing with a mingw32 compiler.
327         AC_DEFINE([_WIN32_WINNT], 0x0501, [Define to '0x0501' for Windows XP APIs.])
328         AC_EGREP_CPP(yes,
329             [#ifdef WIN32
330              yes
331              #endif],
332             SYS=mingw32, AC_MSG_ERROR([VLC requires -mno-cygwin]))
333         ;;
334     esac
335
336     if test "${SYS}" = "mingw32"; then
337         # add ws2_32 for closesocket, select, recv
338         VLC_ADD_LIBS([libvlccore],[-lws2_32 -lnetapi32 -lwinmm])
339         VLC_ADD_LDFLAGS([vlc],[-mwindows])
340         VLC_ADD_LIBS([win32text],[-lgdi32])
341         VLC_ADD_LIBS([cdda vcdx sdl_image aout_sdl vout_sdl],[-lwinmm])
342         VLC_ADD_LIBS([access_http access_mms access_udp access_tcp access_ftp access_rtmp access_output_udp access_output_shout access_output_rtmp sap stream_out_standard stream_out_select stream_out_rtp stream_out_raop vod_rtsp access_realrtsp rtp oldrc netsync gnutls growl_udp flac ts audioscrobbler lua remoteosd zvbi audiobargraph_a netsync],[-lws2_32])
343         VLC_ADD_LIBS([filesystem], [-lshlwapi])
344         dnl
345         dnl DEP and ASLR options
346         dnl
347         AC_ARG_WITH(peflags,
348           [AS_HELP_STRING([--with-peflags],
349             [use peflags (default enabled on Windows)])])
350         if test "${with_peflags}" != "no" ; then
351           AC_PATH_TOOL(PEFLAGS, peflags, :)
352         fi
353         AC_CHECK_PROGS(U2D, [unix2dos todos], unix2dos)
354         ac_default_prefix="`pwd`/_win32"
355         DESTDIR="`pwd`/_win32/"
356
357         dnl
358         dnl NSIS Installer prefix and WIN64
359         dnl
360         case "${host}" in
361             amd64*|i686-w64*|x86_64*)
362                 HAVE_WIN64="1"
363                 PROGRAMFILES="PROGRAMFILES64"
364             ;;
365             *)
366                 PROGRAMFILES="PROGRAMFILES"
367             ;;
368         esac
369         AC_SUBST(PROGRAMFILES)
370
371     fi
372     if test "${SYS}" = "mingwce"; then
373         # add ws2 for closesocket, select, recv
374         VLC_ADD_LIBS([libvlccore access_http access_mms access_udp access_tcp access_ftp access_rtmp access_output_udp access_output_rtmp sap netsync audioscrobbler growl rtp stream_out_standard stream_out_select stream_out_rtp remoteosd ts audiobargraph_a netsync],[-lws2])
375         VLC_ADD_LIBS([libvlccore],[-lmmtimer])
376         AC_CHECK_PROGS(U2D, [unix2dos todos], unix2dos)
377         ac_default_prefix="`pwd`/_wince"
378         DESTDIR="`pwd`/_wince/"
379     fi
380     ;;
381   *nto*)
382     SYS=nto
383     ;;
384   solaris*)
385     SYS=solaris
386     ;;
387   hpux*)
388     SYS=hpux
389     ;;
390   symbian*)
391     SYS=symbian
392     ;;
393   *os2*)
394     SYS=os2
395     LDFLAGS_save="${LDFLAGS_save} -Zomf -Zbin-files -Zargs-wild"; LDFLAGS="${LDFLAGS_save}"
396     ;;
397   *)
398     SYS="${host_os}"
399     ;;
400 esac
401 AM_CONDITIONAL(HAVE_DARWIN,  test "${SYS}" = "darwin")
402 AM_CONDITIONAL(HAVE_LINUX,   test "${SYS}" = "linux")
403 AM_CONDITIONAL(HAVE_OS2,     test "${SYS}" = "os2")
404 AM_CONDITIONAL(HAVE_WIN32,   test "${SYS}" = "mingw32")
405 AM_CONDITIONAL(HAVE_WIN64,   test "${HAVE_WIN64}" = "1")
406 AM_CONDITIONAL(HAVE_WINCE,   test "${SYS}" = "mingwce")
407 AM_CONDITIONAL(HAVE_SYMBIAN, test "${SYS}" = "symbian")
408 AM_CONDITIONAL(USE_PEFLAGS,  test "${with_peflags}" = "yes")
409
410 dnl
411 dnl Sadly autoconf doesn't think about testing foo.exe when ask to test
412 dnl for program foo on win32
413
414 case "${build_os}" in
415     cygwin|msys)
416         ac_executable_extensions=".exe"
417     ;;
418     *)
419     ;;
420 esac
421
422 dnl
423 dnl  Libtool
424 dnl  It's very bad, but our former custom system was worst
425 dnl  -- Courmisch
426 dnl
427
428 dnl override platform specific check for dependent libraries
429 dnl otherwise libtool linking of shared libraries will
430 dnl fail on anything other than pass_all.
431 AC_CACHE_VAL(lt_cv_deplibs_check_method,
432     [lt_cv_deplibs_check_method=pass_all])
433
434 AC_DISABLE_STATIC
435 dnl AC_DISABLE_FAST_INSTALL
436 AC_LIBTOOL_DLOPEN
437 AC_LIBTOOL_WIN32_DLL
438 m4_undefine([AC_PROG_F77])
439 m4_defun([AC_PROG_F77],[])
440 AC_PROG_LIBTOOL
441
442 m4_undefine([AC_DEPLIBS_CHECK_METHOD])
443 m4_defun([AC_DEPLIBS_CHECK_METHOD],[])
444
445 lt_cv_deplibs_check_method=pass_all
446
447 dnl
448 dnl Gettext stuff
449 dnl
450 AM_GNU_GETTEXT_VERSION([0.18.1])
451 AM_GNU_GETTEXT([external])
452 VLC_ADD_LIBS([libvlccore vlc], [${LTLIBINTL}])
453
454 dnl
455 dnl Iconv stuff
456 dnl
457 AM_ICONV
458 VLC_ADD_CFLAGS([libvlccore],[${INCICONV}])
459 VLC_ADD_LIBS([libvlccore],[${LTLIBICONV}])
460
461 dnl Check for broken versions of mingw-runtime compatability library
462 AS_IF([test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"], [
463     AC_MSG_CHECKING(for broken mingw-runtime)
464     AC_PREPROC_IFELSE([AC_LANG_SOURCE([
465 #include <_mingw.h>
466 #if (__MINGW32_MAJOR_VERSION == 3) && (__MINGW32_MINOR_VERSION < 15)
467 #ifndef __MINGW64_VERSION_MAJOR
468 # error Attempting to use mingw-runtime with broken vsnprintf support
469 #endif
470 #endif
471     ])], [
472         AC_MSG_RESULT([ok])
473     ], [
474         AC_MSG_RESULT([present])
475         AC_MSG_ERROR([LibVLC requires mingw-runtime version 3.15 or higher!])
476     ])
477     dnl force use of mingw provided c99 *printf over msvcrt
478     CPPFLAGS="${CPPFLAGS} -D__USE_MINGW_ANSI_STDIO=1"
479     CPPFLAGS_save="${CPPFLAGS_save} -D__USE_MINGW_ANSI_STDIO=1"
480 ])
481
482 dnl Check for the need to include the mingwex lib for mingw32
483 if test "${SYS}" = "mingw32" ; then
484     AC_CHECK_LIB(mingwex,opendir,
485         AC_CHECK_LIB(mingw32,opendir,,
486             [VLC_ADD_LIBS([libvlccore],[-lmingwex])])
487     )
488 fi
489
490 dnl Check for fnative-struct or mms-bitfields support for mingw32
491 if test "${SYS}" = "mingw32" ; then
492     AC_CACHE_CHECK([if \$CC accepts -mms-bitfields],
493         [ac_cv_c_mms_bitfields],
494         [CFLAGS="${CFLAGS_save} -mms-bitfields"
495          AC_TRY_COMPILE([],,ac_cv_c_mms_bitfields=yes, ac_cv_c_mms_bitfields=no)])
496     if test "${ac_cv_c_mms_bitfields}" != "no"; then
497         CFLAGS_save="${CFLAGS_save} -mms-bitfields";
498         CXXFLAGS_save="${CXXFLAGS_save} -mms-bitfields";
499     else
500         AC_CACHE_CHECK([if \$CC accepts -fnative-struct],
501             [ac_cv_c_fnative_struct],
502             [CFLAGS="${CFLAGS_save} -fnative-struct"
503              AC_TRY_COMPILE([],,ac_cv_c_fnative_struct=yes, ac_cv_c_fnative_struct=no)])
504         if test "${ac_cv_c_fnative_struct}" != "no"; then
505             CFLAGS_save="${CFLAGS_save} -fnative-struct";
506             CXXFLAGS_save="${CXXFLAGS_save} -fnative-struct";
507         fi
508     fi
509
510     CFLAGS="${CFLAGS_save}"; CXXFLAGS="${CXXFLAGS_save}"
511 fi
512
513 dnl Check for fvtable-thunks support for mingw32
514 if test "${SYS}" = "mingw32" -a "${CXX}" != "" ; then
515     AC_LANG_PUSH(C++)
516     AC_CACHE_CHECK([if \$CXX accepts -fvtable-thunks],
517         [ac_cv_cxx_fvtable_thunks],
518         [CXXFLAGS="${CXXFLAGS_save} -Wall -Werror -fvtable-thunks"
519          AC_TRY_COMPILE([],,ac_cv_cxx_fvtable_thunks=yes,
520                         ac_cv_cxx_fvtable_thunks=no)])
521     if test "${ac_cv_cxx_fvtable_thunks}" = "yes"; then
522         CXXFLAGS_mingw32_special="-fvtable-thunks"
523     fi
524
525     CXXFLAGS_save="${CXXFLAGS_save} ${CXXFLAGS_mingw32_special}"; CXXFLAGS="${CXXFLAGS_save}"
526     AC_LANG_POP(C++)
527 fi
528
529 dnl
530 dnl Buggy glibc prevention. Purposedly not cached.
531 dnl See sourceware.org bugs 5058 and 5443.
532 dnl Ubuntu alone has 20 bug numbers for this...
533 dnl
534 AC_MSG_CHECKING(for buggy GNU/libc versions)
535 AC_PREPROC_IFELSE([AC_LANG_SOURCE([
536 #include <limits.h>
537 #if defined (__GLIBC__) && (__GLIBC__ == 2) \
538   && (__GLIBC_MINOR__ >= 5) && (__GLIBC_MINOR__ <= 7)
539 # error GNU/libc with dcgettext killer bug!
540 #endif
541 ])], [
542   AC_MSG_RESULT([not present])
543 ], [
544   AC_MSG_RESULT([found])
545   AS_IF([test "x${enable_nls}" != "xno"], [
546     AC_MSG_ERROR([Buggy GNU/libc (version 2.5 - 2.7) present. VLC would crash; there is no viable
547 work-around for this. Check with your distribution vendor on how to update the
548 glibc run-time. Alternatively, build with --disable-nls.])
549   ], [
550     AC_DEFINE(DISABLE_BUGGY_GLIBC_CHECK, 1, [Disables runtime check for buggy glibc.])
551   ])
552 ])
553
554 dnl Plugin compilation stuff
555
556 VLC_LIBRARY_SUFFIX
557
558 dnl The -DSYS_FOO flag
559 CPPFLAGS_save="${CPPFLAGS_save} -DSYS_`echo ${SYS} | sed -e 's/-.*//' | tr 'abcdefghijklmnopqrstuvwxyz.' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`"; CPPFLAGS="${CPPFLAGS_save}"
560
561 dnl Check for system libs needed
562 need_libc=false
563
564 dnl Check for usual libc functions
565 AC_CHECK_FUNCS([daemon fcntl fdopendir fstatvfs fork getenv getpwuid_r gettimeofday isatty lstat memalign mmap openat pread posix_fadvise posix_madvise posix_memalign setlocale stricmp strnicmp uselocale])
566 AC_REPLACE_FUNCS([asprintf atof atoll dirfd getcwd getdelim getpid gmtime_r lldiv localtime_r nrand48 rewind setenv strcasecmp strcasestr strdup strlcpy strncasecmp strndup strnlen strsep strtof strtok_r strtoll swab tdestroy vasprintf])
567 AC_CHECK_FUNCS(fdatasync,,
568   [AC_DEFINE(fdatasync, fsync, [Alias fdatasync() to fsync() if missing.])
569 ])
570
571 # Windows CE doesn't have strcoll()
572 AC_FUNC_STRCOLL
573
574 dnl Check for non-standard system calls
575 AC_CHECK_FUNCS([accept4 pipe2 eventfd vmsplice sched_getaffinity])
576
577 AH_BOTTOM([#include <vlc_fixups.h>])
578
579 SOCKET_LIBS=""
580 AC_CHECK_FUNCS(connect,,[
581   AC_CHECK_LIB(socket,connect,[
582     VLC_ADD_LIBS([libvlccore cdda],-lsocket)
583     SOCKET_LIBS="-lsocket"
584   ])
585 ])
586 AC_SUBST(SOCKET_LIBS)
587
588 AC_CHECK_FUNCS(send,,[
589   AC_CHECK_LIB(socket,send,[
590     VLC_ADD_LIBS([access_http access_mms access_udp access_tcp access_ftp access_rtmp sap access_output_udp access_output_rtmp stream_out_standard growl_udp remoteosd netsync],[-lsocket])
591   ])
592 ])
593
594
595 dnl Check for socklen_t
596 AH_TEMPLATE(socklen_t, [Define to `int' if <sys/socket.h> does not define.])
597 AC_CACHE_CHECK([for socklen_t in sys/socket.h],
598 ac_cv_type_socklen_t,
599 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
600 [#include <sys/types.h>
601 #ifdef WIN32
602 # include <winsock2.h>
603 # include <ws2tcpip.h>
604 #else
605 # include <sys/socket.h>
606 #endif]], [[socklen_t len; len = 0;]])],
607 ac_cv_type_socklen_t=yes,
608 ac_cv_type_socklen_t=no)])
609 AS_IF([test "$ac_cv_type_socklen_t" = no],
610  [AC_DEFINE(socklen_t, int)])
611
612 dnl Check for struct sockaddr_storage
613 AH_TEMPLATE(sockaddr_storage, [Define to `sockaddr' if <sys/socket.h> does not define.])
614 AH_TEMPLATE(ss_family, [Define to `sa_family' if <sys/socket.h> does not define.])
615 AC_CACHE_CHECK([for struct sockaddr_storage], ac_cv_struct_sockaddr_storage,
616   [AC_TRY_COMPILE(
617     [#include <sys/types.h>
618      #if defined( UNDER_CE )
619      # include <winsock2.h>
620      #elif defined( WIN32 )
621      # include <winsock2.h>
622      #else
623      # include <sys/socket.h>
624      #endif], [struct sockaddr_storage addr;],
625      ac_cv_struct_sockaddr_storage=yes,
626      ac_cv_struct_sockaddr_storage=no)])
627 AS_IF([test "${ac_cv_struct_sockaddr_storage}" = no], [
628   AC_DEFINE(sockaddr_storage, sockaddr)
629   AC_DEFINE(ss_family, sa_family)
630 ])
631
632 dnl getaddrinfo, getnameinfo and gai_strerror check
633 dnl  -lnsl and -lsocket are needed on Solaris;
634 dnl  we purposedly make the test fail on Windows
635 LIBS_save="${LIBS}"
636 AC_SEARCH_LIBS([getaddrinfo], [nsl],,, [${SOCKET_LIBS}])
637 LIBS="${LIBS_save}"
638
639 dnl Check for va_copy
640 AC_CACHE_CHECK([for va_copy], ac_cv_c_va_copy,
641   AC_TRY_LINK(
642     [#include <stdarg.h>],
643     [va_list ap1, ap2; va_copy(ap1,ap2);],
644     [ac_cv_c_va_copy="yes"],
645     [ac_cv_c_va_copy="no"]))
646 if test "${ac_cv_c_va_copy}" = "yes"; then
647   AC_DEFINE(HAVE_VA_COPY, 1, [Define if <stdarg.h> defines va_copy.])
648 fi
649 AC_CACHE_CHECK([for __va_copy], ac_cv_c___va_copy,
650   AC_TRY_LINK(
651     [#include <stdarg.h>],
652     [va_list ap1, ap2; __va_copy(ap1,ap2);],
653     [ac_cv_c___va_copy="yes"],
654     [ac_cv_c___va_copy="no"]))
655 if test "${ac_cv_c___va_copy}" = "yes"; then
656   AC_DEFINE(HAVE___VA_COPY, 1, [Define if <stdarg.h> defines __va_copy.])
657 fi
658
659 AC_CHECK_FUNCS(inet_aton,,[
660   AC_CHECK_LIB(resolv,inet_aton,[
661     VLC_ADD_LIBS([libvlccore],[-lresolv])
662   ])
663 ])
664
665 dnl FreeBSD has a gnugetopt library for this:
666 GNUGETOPT_LIBS=""
667 AC_CHECK_FUNC(getopt_long,, [
668   AC_CHECK_LIB([gnugetopt],[getopt_long], [
669     GNUGETOPT_LIBS="-lgnugetopt"
670   ])
671 ])
672 AC_SUBST(GNUGETOPT_LIBS)
673
674 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
675 AC_CHECK_LIB(m,cos,[
676   VLC_ADD_LIBS([adjust wave ripple psychedelic gradient a52tofloat32 dtstofloat32 x264 goom visual panoramix rotate noise grain scene kate flac lua chorus_flanger],[-lm])
677 ])
678 AC_CHECK_LIB(m,pow,[
679   VLC_ADD_LIBS([avcodec avformat access_avio swscale postproc ffmpegaltivec i420_rgb faad twolame equalizer spatializer param_eq libvlccore freetype mod mpc dmo quicktime realvideo qt4],[-lm])
680 ])
681 AC_CHECK_LIB(m,sqrt,[
682   VLC_ADD_LIBS([compressor headphone_channel_mixer normvol audiobargraph_a speex mono colorthres extract ball],[-lm])
683 ])
684 AC_CHECK_LIB(m,ceil,[
685   VLC_ADD_LIBS([access_imem hotkeys mosaic],[-lm])
686 ])
687 AC_CHECK_LIB(m,exp,[
688   VLC_ADD_LIBS([gaussianblur],[-lm])
689 ])
690 AC_CHECK_LIB(m,round,[
691   VLC_ADD_LIBS([dbus],[-lm])
692 ])
693 AC_CHECK_LIB(m,sqrtf,[
694   VLC_ADD_LIBS([x264],[-lm])
695 ])
696 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
697
698 AC_CHECK_LIB(m,lrintf, [
699   AC_DEFINE(HAVE_LRINTF, 1, [Define to 1 if you have the lrintf function])
700   VLC_ADD_LIBS([skins2],[-lm])
701 ])
702
703 dnl Check for dynamic plugins
704 ac_cv_have_plugins=no
705
706 # HP-UX style
707 if test "${ac_cv_have_plugins}" = "no"; then
708   AC_CHECK_HEADERS(dl.h)
709   ac_cv_my_have_shl_load=no
710   AC_CHECK_FUNC(shl_load,
711    [ac_cv_my_have_shl_load=yes,
712     AC_CHECK_LIB(dld, shl_load,
713      [ac_cv_my_have_shl_load=yes
714       VLC_ADD_LIBS([libvlccore],[-ldld])])])
715   if test "${ac_cv_my_have_shl_load}" = "yes"; then
716     AC_DEFINE(HAVE_DL_SHL_LOAD, 1, [Define if you have the shl_load API])
717     ac_cv_have_plugins=yes
718   fi
719 fi
720
721 # Win32 style
722 if test "${ac_cv_have_plugins}" = "no"; then
723   if test "${SYS}" = "mingw32" ; then
724     AC_CHECK_LIB(kernel32, main,
725      [VLC_ADD_LIBS([libvlccore],[-lkernel32])
726       AC_DEFINE(HAVE_DL_WINDOWS, 1, [Define if you have Windows' LoadLibrary])
727       ac_cv_have_plugins=yes])
728   fi
729 fi
730
731 # WinCE style
732 if test "${ac_cv_have_plugins}" = "no"; then
733   if test "${SYS}" = "mingwce"; then
734     AC_DEFINE(HAVE_DL_WINDOWS, 1, [Define if you have Windows' LoadLibrary])
735     ac_cv_have_plugins=yes
736   fi
737 fi
738
739 # Only test for dlopen() if the others didn't work
740 LIBDL=""
741 if test "${ac_cv_have_plugins}" = "no" -o "${SYS}" = "darwin"; then
742   AC_CHECK_HEADERS(dlfcn.h sys/dl.h)
743   ac_cv_my_have_dlopen=no
744   AC_CHECK_FUNC(dlopen, [
745     ac_cv_my_have_dlopen=yes
746   ], [
747     AC_CHECK_LIB(dl, dlopen, [
748       ac_cv_my_have_dlopen=yes
749       LIBDL="-ldl"
750     ], [
751       AC_CHECK_LIB(svld, dlopen, [
752         ac_cv_my_have_dlopen=yes
753         LIBDL="-lsvld"
754       ])
755     ])
756   ])
757   if test "${ac_cv_my_have_dlopen}" = "yes"; then
758     AC_DEFINE(HAVE_DL_DLOPEN, 1, [Define if you have the dlopen API])
759     ac_cv_have_plugins=yes
760     VLC_ADD_LIBS([libvlccore realvideo lua],[$LIBDL])
761   fi
762 fi
763 AC_SUBST(LIBDL)
764
765 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
766   dnl Check for pthreads - borrowed from XMMS
767   THREAD_LIB=error
768   if test "${THREAD_LIB}" = "error"; then
769     AC_CHECK_LIB(pthread,main,THREAD_LIB="-lpthread")
770   fi
771   if test "${THREAD_LIB}" = "error"; then
772     AC_CHECK_LIB(pthreads,main,THREAD_LIB="-lpthreads")
773   fi
774   if test "${THREAD_LIB}" = "error"; then
775     AC_CHECK_LIB(c_r,main,THREAD_LIB="-lc_r")
776   fi
777   if test "${THREAD_LIB}" = "error"; then
778     AC_CHECK_FUNCS(pthread_mutex_lock)
779     THREAD_LIB=""
780   fi
781
782   VLC_ADD_LIBS([libvlccore libvlc vlc plugin],[${THREAD_LIB}])
783
784   AC_CHECK_LIB(rt, clock_nanosleep, [
785     VLC_ADD_LIBS([libvlccore],[-lrt])
786     AC_DEFINE(HAVE_CLOCK_NANOSLEEP, 1, [Define to 1 if you have clock_nanosleep.])
787   ], [
788     dnl HP/UX port
789     AC_CHECK_LIB(rt,sem_init, [VLC_ADD_LIBS([libvlccore],[-lrt])])
790   ])
791
792   have_nanosleep=false
793   AC_CHECK_FUNCS(nanosleep,have_nanosleep=:,[
794     AC_CHECK_LIB(rt,nanosleep,
795       [VLC_ADD_LIBS([libvlccore],[-lrt]) have_nanosleep=:],
796       [AC_CHECK_LIB(posix4,nanosleep,
797           [VLC_ADD_LIBS([libvlccore],[-lposix4]) have_nanosleep=:])]
798     )
799   ])
800   if ${have_nanosleep}; then
801     AC_DEFINE(HAVE_NANOSLEEP, 1, [Define if nanosleep is available.])
802   fi
803 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
804
805 dnl Check for misc headers
806 AC_MSG_CHECKING(for strncasecmp in strings.h)
807 AC_EGREP_HEADER(strncasecmp,strings.h,[
808   AC_MSG_RESULT(yes)
809   AC_DEFINE(STRNCASECMP_IN_STRINGS_H, 1,
810             Define if <strings.h> defines strncasecmp.)],[
811   AC_MSG_RESULT(no)])
812
813 dnl Check for headers
814 AC_CHECK_HEADERS([search.h])
815 AC_CHECK_HEADERS(getopt.h strings.h locale.h xlocale.h)
816 AC_CHECK_HEADERS(fcntl.h sys/time.h sys/ioctl.h sys/stat.h)
817 AC_CHECK_HEADERS([arpa/inet.h netinet/in.h netinet/udplite.h sys/eventfd.h])
818 AC_CHECK_HEADERS([net/if.h], [], [],
819   [
820     #include <sys/types.h>
821     #include <sys/socket.h>
822   ])
823 AC_CHECK_HEADERS([sys/mount.h], [], [],
824   [
825     #include <sys/param.h>
826   ])
827
828 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
829   AC_CHECK_HEADERS(machine/param.h sys/shm.h)
830   AC_CHECK_HEADERS([linux/version.h linux/dccp.h scsi/scsi.h linux/magic.h])
831   AC_CHECK_HEADERS(syslog.h)
832 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
833
834 dnl LP64 and LLP64 architectures had better define ssize_t by themselves...
835 AH_TEMPLATE(ssize_t, [Define to `int' if <stddef.h> does not define.])
836 AC_CHECK_TYPE(ssize_t,, [
837   AC_DEFINE(ssize_t, int)
838 ])
839
840 dnl Check for poll
841 AC_SEARCH_LIBS(poll, [poll], [AC_DEFINE(HAVE_POLL, 1, [Define to 1 if the OS is usabl... err, has poll().])], [
842 if test ${SYS} != "mingw32" -a ${SYS} != "mingwce"
843 then
844     AC_MSG_WARN([Your platform does not support poll(). VLC has it's own poll() implementation, but it is only intended to be used on Windows. VLC might crash or be insecure when you see this message. Either switch to an OS with a proper poll() implementation, or implement one for your OS in VLC])
845 fi
846 ])
847
848 dnl Mac OS X and other OSes don't have declaration for nanosleep
849 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
850   AC_MSG_CHECKING(for nanosleep in time.h)
851   AC_EGREP_HEADER(nanosleep,time.h,[
852     AC_MSG_RESULT(yes)
853     AC_DEFINE(HAVE_DECL_NANOSLEEP, 1,
854               Define if <time.h> defines nanosleep.)
855   ],[
856     AC_MSG_RESULT(no)
857   ])
858 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
859
860 dnl Make sure we have timespecs
861 AC_MSG_CHECKING(for timespec in sys/time.h)
862 AC_EGREP_HEADER(timespec,sys/time.h,[
863   AC_MSG_RESULT(yes)
864   AC_DEFINE(HAVE_STRUCT_TIMESPEC, 1,
865             Define if <sys/time.h> defines struct timespec.)
866 ],[
867   AC_MSG_RESULT(no)
868 ])
869
870 dnl Check for threads library
871 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
872   AC_CHECK_HEADERS(pthread.h)
873 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
874
875 dnl It seems that autoconf detects pkg-config only during the first
876 dnl PKG_CHECK_MODULES from configure.ac - which makes sense. But in our case,
877 dnl it is nested within a conditional block, so it was not working right.
878 dnl Make PKG_CONFIG_PATH precious so that it appears in the help and get saved
879 AC_ARG_VAR(PKG_CONFIG_PATH,
880        [Paths where to find .pc not at the default location])
881 PKG_PROG_PKG_CONFIG()
882
883 dnl On some OS we need static linking 
884 AS_IF([test -n "${PKG_CONFIG}" ],[
885     AS_IF([test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce" -o "${SYS}" = "darwin" ],[
886         PKG_CONFIG="${PKG_CONFIG} --static"
887     ])
888 ])
889
890
891 dnl
892 dnl Check for zlib.h and -lz along with system -lminizip if available
893 dnl
894 AC_CHECK_HEADERS(zlib.h, [ have_zlib=yes ], [ have_zlib=no ])
895 AM_CONDITIONAL(HAVE_ZLIB, [ test "${have_zlib}" = "yes" ])
896 if test "${have_zlib}" = "yes"
897 then
898   VLC_ADD_LIBS([access_http mp4 skins2 sap mkv unzip zip],[-lz])
899   PKG_CHECK_MODULES([MINIZIP], [minizip] , [ have_minizip=yes ], [
900     AC_CHECK_HEADERS([unzip.h], [ 
901       have_minizip=yes
902       MINIZIP_LIBS="-lminizip -lz"
903     ], [
904       have_minizip=no
905       MINIZIP_CFLAGS="-I\\\${top_srcdir}/libs/unzip"
906       MINIZIP_LIBS="\\\${top_builddir}/libs/unzip/libunzip.la"
907     ])
908   ])
909   VLC_ADD_CPPFLAGS([skins2],[$MINIZIP_CFLAGS])
910   VLC_ADD_CFLAGS([zip],[$MINIZIP_CFLAGS])
911   VLC_ADD_LIBS([skins2 zip],[$MINIZIP_LIBS])
912   VLC_ADD_PLUGIN([unzip zip])
913 fi
914 AM_CONDITIONAL(HAVE_MINIZIP, [ test "${have_minizip}" = "yes" ])
915
916
917 dnl Manual switch for UTF-8
918 AC_ARG_ENABLE(non-utf8,
919   [AS_HELP_STRING([--enable-non-utf8],
920     [support legacy non-UTF-8 systems (default disabled)])],, [
921   AS_IF([test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"], [
922     enable_non_utf8="no"
923   ])
924 ])
925 AS_IF([test "${enable_non_utf8}" != "no"], [
926   AC_DEFINE([ASSUME_UTF8], [1],
927             [Define to 1 if the operating system uses UTF-8 internally])
928 ])
929
930
931 dnl Check for dbus
932 AC_ARG_ENABLE(dbus,
933   [AS_HELP_STRING([--enable-dbus],
934     [compile D-Bus message bus support (default enabled)])])
935 case "${SYS}" in
936     linux*|*bsd*)
937 if test "${enable_dbus}" != "no" -a "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
938 then
939   dnl api stable dbus
940   PKG_CHECK_MODULES(DBUS, dbus-1 >= 1.0.0,
941     [ AC_DEFINE( HAVE_DBUS, 1, [Define if you have the D-BUS library] )
942       VLC_ADD_LIBS([libvlccore],[$DBUS_LIBS])
943       VLC_ADD_CFLAGS([libvlccore],[$DBUS_CFLAGS])
944       dnl Check for dbus control interface
945         AC_ARG_ENABLE(dbus-control,
946           [AS_HELP_STRING([--disable-dbus-control],
947             [D-Bus control interface (default enabled)])])
948         if test "${enable_dbus_control}" != "no"
949         then
950           VLC_ADD_PLUGIN([dbus])
951           VLC_ADD_LIBS([dbus],[$DBUS_LIBS])
952           VLC_ADD_CFLAGS([dbus],[$DBUS_CFLAGS])
953         fi
954       dnl Check for Telepathy
955         AC_ARG_ENABLE(telepathy,
956           AS_HELP_STRING([--enable-telepathy],[Telepathy Presence plugin through DBus(default enabled)]))
957         if test "${enable_telepathy}" != "no"; then
958           VLC_ADD_PLUGIN([telepathy])
959           VLC_ADD_LIBS([telepathy],[$DBUS_LIBS])
960           VLC_ADD_CFLAGS([telepathy],[$DBUS_CFLAGS])
961         fi
962         dnl Power Management Inhibiter
963         VLC_ADD_PLUGIN([inhibit])
964         VLC_ADD_LIBS([inhibit],[$DBUS_LIBS])
965         VLC_ADD_CFLAGS([inhibit],[$DBUS_CFLAGS])
966     ],
967     [AC_MSG_ERROR([Couldn't find DBus >= 1.0.0, install libdbus-dev ?])]
968   )
969 fi
970 ;;
971 esac
972
973 dnl Check for ntohl, etc.
974 AC_CACHE_CHECK([for ntohl in sys/param.h],
975     [ac_cv_c_ntohl_sys_param_h],
976     [CFLAGS="${CFLAGS_save} -Wall -Werror"
977      AC_TRY_COMPILE([#include <sys/param.h>],
978         [int meuh; ntohl(meuh);],
979         ac_cv_c_ntohl_sys_param_h=yes, ac_cv_c_ntohl_sys_param_h=no)])
980 if test "${ac_cv_c_ntohl_sys_param_h}" != "no"; then
981     AC_DEFINE(NTOHL_IN_SYS_PARAM_H, 1, Define if <sys/param.h> defines ntohl.)
982 fi
983
984 EXTEND_HELP_STRING([Optimization options:])
985 VLC_RESTORE_FLAGS
986 dnl
987 dnl  Compiler warnings
988 dnl
989
990 RDC_PROG_CC_WFLAGS([all extra sign-compare undef pointer-arith bad-function-cast write-strings missing-prototypes volatile-register-var error-implicit-function-declaration])
991 RDC_PROG_CC_FLAGS([-pipe])
992
993 dnl
994 dnl  Debugging mode
995 dnl
996 AC_ARG_ENABLE(debug,
997   [AS_HELP_STRING([--enable-debug],
998     [build with run-time assertions and debug symbols (default disabled)])],,
999   [enable_debug="no"])
1000 AH_TEMPLATE(NDEBUG,
1001             [Define to 1 if debug code should NOT be compiled])
1002 AS_IF([test "${enable_debug}" != "no"], [
1003   AC_CHECK_HEADERS([valgrind/valgrind.h])
1004   CFLAGS="${CFLAGS} -g"
1005   CXXFLAGS="${CXXFLAGS} -g"
1006   OBJCFLAGS="${OBJCFLAGS} -g"
1007   LDFLAGS="${LDFLAGS} -g"
1008 ], [
1009   AC_DEFINE(NDEBUG)
1010 ])
1011
1012 dnl
1013 dnl  Profiling
1014 dnl
1015 AC_ARG_ENABLE(gprof,
1016   [AS_HELP_STRING([--enable-gprof],[profile with gprof (default disabled)])],,
1017   [enable_gprof="no"])
1018 AS_IF([test "${enable_gprof}" != "no"], [
1019   CFLAGS="${CFLAGS} -pg"
1020   CXXFLAGS="${CXXFLAGS} -pg"
1021   OBJCFLAGS="${OBJCFLAGS} -pg"
1022   LDFLAGS="${LDFLAGS} -pg"
1023 ])
1024
1025 AC_ARG_ENABLE(cprof,
1026   [AS_HELP_STRING([--enable-cprof],[profile with cprof (default disabled)])],,
1027   [enable_cprof="no"])
1028 AS_IF([test "${enable_gprof}" != "no"], [
1029   CFLAGS="${CFLAGS} -finstrument-functions"
1030   CXXFLAGS="${CXXFLAGS} -finstrument-functions"
1031   OBJCFLAGS="${OBJCFLAGS} -finstrument-functions"
1032   LDFLAGS="${LDFLAGS} -finstrument-functions"
1033 ])
1034
1035 dnl
1036 dnl  Test coverage
1037 dnl
1038 AC_ARG_ENABLE(coverage,
1039   [AS_HELP_STRING([--enable-coverage],
1040     [build for test coverage (default disabled)])],,
1041   [enable_coverage="no"])
1042 AS_IF([test "${enable_coverage}" != "no"], [
1043   CFLAGS="-fprofile-arcs -ftest-coverage ${CFLAGS}"
1044   CXXFLAGS="-fprofile-arcs -ftest-coverage ${CXXFLAGS}"
1045   LDFLAGS="-lgcov ${LDFLAGS}"
1046   CFLAGS_save="${CFLAGS}"
1047   CXXFLAGS_save="${CXXFLAGS}"
1048   LDFLAGS_save="${LDFLAGS}"
1049 ])
1050
1051 VLC_SAVE_FLAGS
1052
1053 dnl Check for various optimization flags
1054 AC_CACHE_CHECK([if \$CC accepts -O4],
1055     [ac_cv_c_o4],
1056     [CFLAGS="${CFLAGS_save} -O4"
1057      AC_TRY_COMPILE([],,ac_cv_c_o4=yes, ac_cv_c_o4=no)])
1058 if test "${ac_cv_c_o4}" != "no" -a "x${enable_debug}" = "xno"; then
1059     CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -O4"
1060 else
1061     AC_CACHE_CHECK([if \$CC accepts -O3],
1062         [ac_cv_c_o3],
1063         [CFLAGS="${CFLAGS_save} -O3"
1064          AC_TRY_COMPILE([],,ac_cv_c_o3=yes, ac_cv_c_o3=no)])
1065     if test "${ac_cv_c_o3}" != "no" -a "x${enable_debug}" = "xno"; then
1066         CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -O3"
1067     else
1068         AC_CACHE_CHECK([if \$CC accepts -O2],
1069             [ac_cv_c_o2],
1070             [CFLAGS="${CFLAGS_save} -O2"
1071              AC_TRY_COMPILE([],,ac_cv_c_o2=yes, ac_cv_c_o2=no)])
1072         if test "${ac_cv_c_o2}" != "no"; then
1073             CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -O2"
1074         else
1075             AC_CACHE_CHECK([if \$CC accepts -O],
1076                 [ac_cv_c_o],
1077                 [CFLAGS="${CFLAGS_save} -O"
1078                  AC_TRY_COMPILE([],,ac_cv_c_o=yes, ac_cv_c_o=no)])
1079             if test "${ac_cv_c_o}" != "no"; then
1080                 CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -O"
1081             fi
1082         fi
1083     fi
1084 fi
1085
1086 dnl Check for -ffast-math
1087 AC_CACHE_CHECK([if \$CC accepts -ffast-math],
1088     [ac_cv_c_fast_math],
1089     [CFLAGS="${CFLAGS_save} -ffast-math"
1090      AC_TRY_COMPILE([],,ac_cv_c_fast_math=yes, ac_cv_c_fast_math=no)])
1091 if test "${ac_cv_c_fast_math}" != "no"; then
1092     CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -ffast-math"
1093 fi
1094
1095 dnl Check for -funroll-loops
1096 AC_CACHE_CHECK([if \$CC accepts -funroll-loops],
1097     [ac_cv_c_unroll_loops],
1098     [CFLAGS="${CFLAGS_save} -funroll-loops"
1099      AC_TRY_COMPILE([],,ac_cv_c_unroll_loops=yes, ac_cv_c_unroll_loops=no)])
1100 if test "${ac_cv_c_unroll_loops}" != "no"; then
1101     CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -funroll-loops"
1102 fi
1103
1104 dnl Check for -fomit-frame-pointer
1105 AC_CACHE_CHECK([if \$CC accepts -fomit-frame-pointer],
1106     [ac_cv_c_omit_frame_pointer],
1107     [CFLAGS="${CFLAGS_save} -fomit-frame-pointer"
1108      AC_TRY_COMPILE([],,ac_cv_c_omit_frame_pointer=yes, ac_cv_c_omit_frame_pointer=no)])
1109 if test "${ac_cv_c_omit_frame_pointer}" != "no"; then
1110  if test "${SYS}" != "darwin"; then
1111     CFLAGS_OPTIM_NODEBUG="${CFLAGS_OPTIM_NODEBUG} -fomit-frame-pointer"
1112  else
1113     dnl On darwin we explicitely disable it.
1114     CFLAGS_OPTIM_NODEBUG="${CFLAGS_OPTIM_NODEBUG} -fno-omit-frame-pointer"
1115  fi
1116 fi
1117
1118 dnl Check for Darwin plugin linking flags
1119 AC_CACHE_CHECK([if \$CC accepts -bundle -undefined error],
1120     [ac_cv_ld_darwin],
1121     [CFLAGS="${CFLAGS_save} -bundle -undefined error"
1122      AC_TRY_COMPILE([],,ac_cv_ld_darwin=yes, ac_cv_ld_darwin=no)])
1123 if test "${ac_cv_ld_darwin}" != "no"; then
1124     VLC_ADD_LDFLAGS([plugin],[-bundle -undefined error])
1125 fi
1126
1127 dnl Checks for __attribute__(aligned()) directive
1128 AC_CACHE_CHECK([__attribute__ ((aligned ())) support],
1129     [ac_cv_c_attribute_aligned],
1130     [ac_cv_c_attribute_aligned=0
1131         CFLAGS="${CFLAGS_save} -Werror"
1132     for ac_cv_c_attr_align_try in 2 4 8 16 32 64; do
1133         AC_TRY_COMPILE([],
1134         [static char c __attribute__ ((aligned(${ac_cv_c_attr_align_try}))) = 0; return c;],
1135         [ac_cv_c_attribute_aligned="${ac_cv_c_attr_align_try}"])
1136     done
1137         CFLAGS="${CFLAGS_save}"])
1138 if test "${ac_cv_c_attribute_aligned}" != "0"; then
1139     AC_DEFINE_UNQUOTED([ATTRIBUTE_ALIGNED_MAX],
1140         [${ac_cv_c_attribute_aligned}],[Maximum supported data alignment])
1141 fi
1142
1143 dnl Check for __attribute__((packed))
1144 AC_CACHE_CHECK([for __attribute__((packed))],
1145   [ac_cv_c_attribute_packed],
1146   [ac_cv_c_attribute_packed=no
1147    AC_TRY_COMPILE(, [struct __attribute__((__packed__)) foo { int a; } b; (void)b;],
1148                     [ac_cv_c_attribute_packed=yes])])
1149 if test "${ac_cv_c_attribute_packed}" != "no"; then
1150   AC_DEFINE(HAVE_ATTRIBUTE_PACKED, 1, Support for __attribute__((packed)) for structs)
1151 fi
1152
1153 dnl
1154 dnl  Check the CPU
1155 dnl
1156 case "${host_cpu}" in
1157   "")
1158     ARCH=unknown
1159     ;;
1160   *)
1161     ARCH="${host_cpu}"
1162     ;;
1163 esac
1164
1165 dnl Check for backtrace() support
1166 AC_CHECK_HEADERS(execinfo.h)
1167 AC_CHECK_FUNCS(backtrace)
1168
1169 dnl
1170 dnl  default modules
1171 dnl
1172 ALIASES="${ALIASES} cvlc rvlc"
1173
1174 dnl
1175 dnl Some plugins aren't useful on some platforms
1176 dnl
1177 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
1178     VLC_ADD_PLUGIN([dynamicoverlay access_shm])
1179 elif test "${SYS}" != "mingwce"; then
1180     VLC_ADD_PLUGIN([access_smb dmo globalhotkeys])
1181     VLC_ADD_LIBS([dmo],[-lole32 -luuid])
1182 fi
1183 if test "${SYS}" = "darwin"; then
1184     VLC_ADD_LDFLAGS([quartztext],[-Wl,-framework,ApplicationServices])
1185 fi
1186
1187 dnl
1188 dnl  Accelerated modules
1189 dnl
1190
1191 dnl  Check for fully working MMX intrinsics
1192 dnl  We need support for -mmmx, we need <mmintrin.h>, and we also need a
1193 dnl  working compiler (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23963)
1194 AC_ARG_ENABLE(mmx,
1195   [AS_HELP_STRING([--disable-mmx],
1196     [disable MMX optimizations (default auto)])],,[
1197   case "${host_cpu}" in
1198     i?86|x86_64)
1199       enable_mmx="yes"
1200       ;;
1201     *)
1202       enable_mmx="no"
1203       ;;
1204   esac
1205 ])
1206 have_mmx="no"
1207 have_mmxext="no"
1208 AS_IF([test "${enable_mmx}" != "no"], [
1209   ARCH="${ARCH} mmx"
1210
1211   AC_CACHE_CHECK([if $CC groks MMX intrinsics],
1212     [ac_cv_c_mmx_intrinsics],
1213     [CFLAGS="${CFLAGS_save} -O -mmmx"
1214      AC_TRY_COMPILE([#include <mmintrin.h>
1215                      #include <stdint.h>
1216                      uint64_t frobzor;],
1217                     [__m64 a, b, c;
1218                      a = b = c = (__m64)frobzor;
1219                      a = _mm_slli_pi16(a, 3);
1220                      a = _mm_adds_pi16(a, b);
1221                      c = _mm_srli_pi16(c, 8);
1222                      c = _mm_slli_pi16(c, 3);
1223                      b = _mm_adds_pi16(b, c);
1224                      a = _mm_unpacklo_pi8(a, b);
1225                      frobzor = (uint64_t)a;],
1226                     [ac_cv_c_mmx_intrinsics=yes],
1227                     [ac_cv_c_mmx_intrinsics=no])])
1228   AS_IF([test "${ac_cv_c_mmx_intrinsics}" != "no"], [
1229     AC_DEFINE(HAVE_MMX_INTRINSICS, 1,
1230               [Define to 1 if MMX intrinsics are available.])
1231     MMX_CFLAGS="-mmmx"
1232   ])
1233
1234   AC_CACHE_CHECK([if $CC groks MMX inline assembly],
1235     [ac_cv_mmx_inline],
1236     [CFLAGS="${CFLAGS_save}"
1237      AC_TRY_COMPILE(,[void *p;asm volatile("packuswb %%mm1,%%mm2"::"r"(p));],
1238                     ac_cv_mmx_inline=yes, ac_cv_mmx_inline=no)])
1239   AS_IF([test "${ac_cv_mmx_inline}" != "no"], [
1240     AC_DEFINE(CAN_COMPILE_MMX, 1,
1241               [Define to 1 inline MMX assembly is available.])
1242     have_mmx="yes"
1243   ])
1244
1245   AC_CACHE_CHECK([if $CC groks MMX EXT inline assembly],
1246     [ac_cv_mmxext_inline],
1247     [CFLAGS="${CFLAGS_save}"
1248      AC_TRY_COMPILE(,[void *p;asm volatile("maskmovq %%mm1,%%mm2"::"r"(p));],
1249                     ac_cv_mmxext_inline=yes, ac_cv_mmxext_inline=no)])
1250   AS_IF([test "${ac_cv_mmxext_inline}" != "no"], [
1251     AC_DEFINE(CAN_COMPILE_MMXEXT, 1,
1252               [Define to 1 if MMX EXT inline assembly is available.])
1253     have_mmxext="yes"
1254   ])
1255 ])
1256 AC_SUBST(MMX_CFLAGS)
1257 AM_CONDITIONAL([HAVE_MMX], [test "${have_mmx}" = "yes"])
1258 AM_CONDITIONAL([HAVE_MMXEXT], [test "${have_mmxext}" = "yes"])
1259
1260 dnl  Check for fully workin SSE2 intrinsics
1261 dnl  We need support for -mmmx, we need <emmintrin.h>, and we also need a
1262 dnl  working compiler (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23963)
1263 AC_ARG_ENABLE(sse,
1264   [AS_HELP_STRING([--disable-sse],
1265     [disable SSE (1-4) optimizations (default auto)])],, [
1266   case "${host_cpu}" in
1267     i686|x86_64)
1268       enable_sse=yes
1269       ;;
1270     *)
1271       enable_sse=no
1272       ;;
1273   esac
1274 ])
1275 have_sse2="no"
1276 AS_IF([test "${enable_sse}" != "no"], [
1277   ARCH="${ARCH} sse sse2"
1278
1279   AC_CACHE_CHECK([if $CC groks SSE2 intrinsics],
1280     [ac_cv_c_sse2_intrinsics],
1281     [CFLAGS="${CFLAGS_save} -O -msse2"
1282      AC_TRY_COMPILE([#include <emmintrin.h>
1283                      #include <stdint.h>
1284                      uint64_t frobzor;],
1285                     [__m128i a, b, c;
1286                      a = b = c = _mm_set1_epi64((__m64)frobzor);
1287                      a = _mm_slli_epi16(a, 3);
1288                      a = _mm_adds_epi16(a, b);
1289                      c = _mm_srli_epi16(c, 8);
1290                      c = _mm_slli_epi16(c, 3);
1291                      b = _mm_adds_epi16(b, c);
1292                      a = _mm_unpacklo_epi8(a, b);
1293                      frobzor = (uint64_t)_mm_movepi64_pi64(a);],
1294                     [ac_cv_c_sse2_intrinsics=yes],
1295                     [ac_cv_c_sse2_intrinsics=no])])
1296   AS_IF([test "${ac_cv_c_sse2_intrinsics}" != "no"], [
1297     AC_DEFINE(HAVE_SSE2_INTRINSICS, 1,
1298               [Define to 1 if SSE2 intrinsics are available.])
1299     SSE2_CFLAGS="-msse2"
1300   ])
1301
1302   AC_CACHE_CHECK([if $CC groks SSE inline assembly],
1303     [ac_cv_sse_inline],
1304     [CFLAGS="${CFLAGS_save}"
1305      AC_TRY_COMPILE(,[void *p;asm volatile("xorps %%xmm1,%%xmm2"::"r"(p));],
1306                     ac_cv_sse_inline=yes, ac_cv_sse_inline=no)])
1307   AS_IF([test "${ac_cv_sse_inline}" != "no" -a "${SYS}" != "solaris"], [
1308     AC_DEFINE(CAN_COMPILE_SSE, 1,
1309               [Define to 1 if SSE inline assembly is available.])
1310   ])
1311
1312   AC_CACHE_CHECK([if $CC groks SSE2 inline assembly],
1313     [ac_cv_sse2_inline],
1314     [CFLAGS="${CFLAGS_save}"
1315      AC_TRY_COMPILE(,[void *p;asm volatile("punpckhqdq %%xmm1,%%xmm2"::"r"(p));],
1316                     ac_cv_sse2_inline=yes, ac_cv_sse2_inline=no)])
1317   AS_IF([test "${ac_cv_sse2_inline}" != "no" -a "${SYS}" != "solaris"], [
1318     AC_DEFINE(CAN_COMPILE_SSE2, 1,
1319               [Define to 1 if SSE2 inline assembly is available.])
1320     have_sse2="yes"
1321   ])
1322
1323   # SSE3
1324   AC_CACHE_CHECK([if $CC groks SSE3 inline assembly],
1325     [ac_cv_sse3_inline],
1326     [CFLAGS="${CFLAGS_save}"
1327      AC_TRY_COMPILE(,[void *p;asm volatile("movsldup %%xmm1,%%xmm0"::"r"(p));],
1328                     ac_cv_sse3_inline=yes, ac_cv_sse3_inline=no)])
1329   AS_IF([test "${ac_cv_sse3_inline}" != "no"], [
1330     AC_DEFINE(CAN_COMPILE_SSE3, 1,
1331               [Define to 1 if SSE3 inline assembly is available.]) ])
1332   # SSSE3
1333   AC_CACHE_CHECK([if $CC groks SSSE3 inline assembly],
1334     [ac_cv_ssse3_inline],
1335     [CFLAGS="${CFLAGS_save}"
1336      AC_TRY_COMPILE(,[void *p;asm volatile("pabsw %%xmm0,%%xmm0"::"r"(p));],
1337                     ac_cv_ssse3_inline=yes, ac_cv_ssse3_inline=no)])
1338   AS_IF([test "${ac_cv_ssse3_inline}" != "no"], [
1339     AC_DEFINE(CAN_COMPILE_SSSE3, 1,
1340               [Define to 1 if SSSE3 inline assembly is available.]) ])
1341
1342   # SSE4.1
1343   AC_CACHE_CHECK([if $CC groks SSE4.1 inline assembly],
1344     [ac_cv_sse4_1_inline],
1345     [CFLAGS="${CFLAGS_save}"
1346      AC_TRY_COMPILE(,[void *p;asm volatile("pmaxsb %%xmm1,%%xmm0"::"r"(p));],
1347                     ac_cv_sse4_1_inline=yes, ac_cv_sse4_1_inline=no)])
1348   AS_IF([test "${ac_cv_sse4_1_inline}" != "no"], [
1349     AC_DEFINE(CAN_COMPILE_SSE4_1, 1,
1350               [Define to 1 if SSE4_1 inline assembly is available.]) ])
1351
1352   # SSE4.2
1353   AC_CACHE_CHECK([if $CC groks SSE4.2 inline assembly],
1354     [ac_cv_sse4_2_inline],
1355     [CFLAGS="${CFLAGS_save}"
1356      AC_TRY_COMPILE(,[void *p;asm volatile("pcmpgtq %%xmm1,%%xmm0"::"r"(p));],
1357                     ac_cv_sse4_2_inline=yes, ac_cv_sse4_2_inline=no)])
1358   AS_IF([test "${ac_cv_sse4_2_inline}" != "no"], [
1359     AC_DEFINE(CAN_COMPILE_SSE4_2, 1,
1360               [Define to 1 if SSE4_2 inline assembly is available.]) ])
1361
1362   # SSE4A
1363   AC_CACHE_CHECK([if $CC groks SSE4A inline assembly],
1364     [ac_cv_sse4a_inline],
1365     [CFLAGS="${CFLAGS_save}"
1366      AC_TRY_COMPILE(,[void *p;asm volatile("insertq %%xmm1,%%xmm0"::"r"(p));],
1367                     ac_cv_sse4a_inline=yes, ac_cv_sse4a_inline=no)])
1368   AS_IF([test "${ac_cv_sse4a_inline}" != "no"], [
1369     AC_DEFINE(CAN_COMPILE_SSE4A, 1,
1370               [Define to 1 if SSE4A inline assembly is available.]) ])
1371 ])
1372 AC_SUBST(SSE2_CFLAGS)
1373 AM_CONDITIONAL([HAVE_SSE2], [test "$have_sse2" = "yes"])
1374
1375 have_3dnow="no"
1376 AC_CACHE_CHECK([if $CC groks 3D Now! inline assembly],
1377     [ac_cv_3dnow_inline],
1378     [CFLAGS="${CFLAGS_save}"
1379      AC_TRY_COMPILE(,[void *p;asm volatile("pfadd %%mm1,%%mm2"::"r"(p));],
1380                     ac_cv_3dnow_inline=yes, ac_cv_3dnow_inline=no)])
1381 AS_IF([test "${ac_cv_3dnow_inline}" != "no"], [
1382   AC_DEFINE(CAN_COMPILE_3DNOW, 1,
1383             [Define to 1 if 3D Now! inline assembly is available.])
1384   have_3dnow="yes"
1385 ])
1386 AM_CONDITIONAL([HAVE_3DNOW], [test "$have_3dnow" = "yes"])
1387
1388
1389 AC_ARG_ENABLE(neon,
1390   [AS_HELP_STRING([--disable-neon],
1391     [disable NEON optimizations (default auto)])],, [
1392   AS_IF([test "${host_cpu}" = "arm"], [enable_neon="yes"] ,[enable_neon="no"])
1393 ])
1394 AS_IF([test "${enable_neon}" != "no"], [
1395   AC_CACHE_CHECK([if $CC groks NEON inline assembly], [ac_cv_neon_inline], [
1396     CFLAGS="${CFLAGS_save} -mfpu=neon"
1397     AC_COMPILE_IFELSE([
1398       AC_LANG_PROGRAM(,[[
1399 asm volatile("vqmovun.s64 d0, q1":::"d0");
1400 asm volatile("ssat r0, #1, r0":::"r0"); /* assume ARMv6 */
1401 ]])
1402     ], [
1403       ac_cv_neon_inline="-mfpu=neon"
1404     ], [
1405       ac_cv_neon_inline="no"
1406     ])
1407     CFLAGS="${CFLAGS_save}"
1408   ])
1409   ARM_NEON_CFLAGS="$ac_cv_neon_inline"
1410 ], [
1411   ac_cv_neon_inline="no"
1412 ])
1413 AC_SUBST(ARM_NEON_CFLAGS)
1414 AM_CONDITIONAL(HAVE_ARM_NEON, [test "${ac_cv_neon_inline}" != "no"])
1415
1416
1417 AC_ARG_ENABLE(altivec,
1418   [AS_HELP_STRING([--disable-altivec],
1419     [disable AltiVec optimizations (default auto)])],, [
1420   AS_IF([test "${host_cpu}" = "powerpc"],
1421         [enable_altivec=yes], [enable_altivec=no])
1422 ])
1423 have_altivec="no"
1424 AS_IF([test "${enable_altivec}" = "yes"], [
1425   ARCH="${ARCH} altivec";
1426   AC_CACHE_CHECK([if $CC groks AltiVec inline assembly],
1427     [ac_cv_altivec_inline],
1428     [CFLAGS="${CFLAGS_save}"
1429      AC_TRY_COMPILE(,[asm volatile("vperm 0,1,2,3");],
1430          ac_cv_altivec_inline="yes",
1431          [CFLAGS="${CFLAGS_save} -Wa,-m7400"
1432           AC_TRY_COMPILE(,[asm volatile("vperm 0,1,2,3");],
1433             [ac_cv_altivec_inline="-Wa,-m7400"],
1434             ac_cv_altivec_inline=no)
1435          ])])
1436   AS_IF([test "${ac_cv_altivec_inline}" != "no"], [
1437     AC_DEFINE(CAN_COMPILE_ALTIVEC, 1,
1438               [Define to 1 if AltiVec inline assembly is available.])
1439     AS_IF([test "${ac_cv_altivec_inline}" != "yes"], [
1440       VLC_ADD_CFLAGS([idctaltivec],[${ac_cv_altivec_inline}])
1441       VLC_ADD_CFLAGS([motionaltivec],[${ac_cv_altivec_inline}])
1442       VLC_ADD_CFLAGS([memcpyaltivec],[${ac_cv_altivec_inline}])
1443       VLC_ADD_CFLAGS([i420_yuy2_altivec],[${ac_cv_altivec_inline}])
1444       VLC_ADD_CFLAGS([libvlccore],[${ac_cv_altivec_inline}])
1445     ])
1446     have_altivec="yes"
1447   ])
1448
1449 dnl The AltiVec C extensions
1450 dnl
1451 dnl There are several possible cases:
1452 dnl - OS X PPC, gcc 4.x: use -mpim-altivec -force_cpusubtype_ALL, don't
1453 dnl                      need <altivec.h>
1454 dnl - OS X PPC, gcc 3.x: need -faltivec, don't need <altivec.h>
1455 dnl - Linux PPC, gcc 3.4, 4.x: need <altivec.h> which requires -maltivec
1456 dnl - Linux PPC, gcc 3.3: need <altivec.h> and -maltivec -mabi=altivec
1457 dnl - Linux PPC, gcc 3.x: need <altivec.h> and -fvec
1458 dnl - Others: test should fail
1459   AC_CACHE_CHECK([if \$CC groks AltiVec C extensions],
1460   [ac_cv_c_altivec],
1461   [# OS X/PPC test (gcc 4.x)
1462    CFLAGS="${CFLAGS_save} -mpim-altivec -force_cpusubtype_ALL"
1463    AC_TRY_COMPILE([vector unsigned char foo;],
1464      [vec_ld(0, (unsigned char *)0);],
1465      [ac_cv_c_altivec="-mpim-altivec -force_cpusubtype_ALL"],
1466      [# OS X/PPC test (gcc 3.x)
1467       CFLAGS="${CFLAGS_save} -faltivec"
1468       AC_TRY_COMPILE([vector unsigned char foo;],
1469         [vec_ld(1 * sizeof(vector float), (unsigned char *)0);],
1470         [ac_cv_c_altivec="-faltivec"],
1471         dnl Below this are the Linux tests
1472         [# Linux/PPC test (gcc 4.x)
1473          CFLAGS="${CFLAGS_save} -maltivec"
1474          AC_TRY_COMPILE([#include <altivec.h>],
1475            [vec_ld(0, (unsigned char *)0);],
1476            [ac_cv_c_altivec="-maltivec"],
1477            [# Linux/PPC test (gcc 3.3)
1478             CFLAGS="${CFLAGS_save} -maltivec -mabi=altivec"
1479             AC_TRY_COMPILE([#include <altivec.h>],
1480               [vec_ld(0, (unsigned char *)0);],
1481               [ac_cv_c_altivec=""
1482                ac_cv_c_altivec_abi="-maltivec -mabi=altivec"],
1483               [# Linux/PPC test (gcc 3.3)
1484                CFLAGS="${CFLAGS_save} -fvec"
1485                AC_TRY_COMPILE([#include <altivec.h>],
1486                  [vec_ld(0, (unsigned char *)0);],
1487                  [ac_cv_c_altivec="-fvec"],
1488                  [ac_cv_c_altivec=no])
1489               ])
1490            ])
1491         ])
1492      ])
1493    CFLAGS="${CFLAGS_save}"
1494   ])
1495   AS_IF([test "${ac_cv_c_altivec}" != "no"], [
1496     CPPFLAGS="${CPPFLAGS_save} ${ac_cv_c_altivec}"
1497   ])
1498
1499   AC_CHECK_HEADERS(altivec.h)
1500   CPPFLAGS="${CPPFLAGS_save}"
1501
1502   AS_IF([test "${ac_cv_c_altivec}" != "no"], [
1503     AC_DEFINE(CAN_COMPILE_C_ALTIVEC, 1,
1504               [Define to 1 if C AltiVec extensions are available.])
1505     VLC_ADD_CFLAGS([libvlccore],[${ac_cv_c_altivec}])
1506     VLC_ADD_CFLAGS([idctaltivec motionaltivec],[${ac_cv_c_altivec}])
1507     VLC_ADD_CFLAGS([i420_yuy2_altivec memcpyaltivec deinterlace],[${ac_cv_c_altivec} ${ac_cv_c_altivec_abi}])
1508     have_altivec="yes"
1509   ])
1510
1511   AC_CACHE_CHECK([if linker needs -framework vecLib],
1512     [ac_cv_ld_altivec],
1513     [LDFLAGS="${LDFLAGS_vlc} -Wl,-framework,vecLib"
1514      AC_TRY_LINK([],,ac_cv_ld_altivec=yes,ac_cv_ld_altivec=no)
1515      LDFLAGS="${LDFLAGS_save}"
1516     ])
1517   AS_IF([test "${ac_cv_ld_altivec}" != "no"], [
1518     VLC_ADD_LDFLAGS([libvlccore idctaltivec motionaltivec memcpyaltivec],[-Wl,-framework,vecLib])
1519   ])
1520 ])
1521 AM_CONDITIONAL([HAVE_ALTIVEC], [test "$have_altivec" = "yes"])
1522
1523 dnl
1524 dnl  Special arch tuning
1525 dnl
1526 AC_ARG_WITH(tuning,
1527   [AS_HELP_STRING([--with-tuning=ARCH],
1528     [tune compilation for an architecture (default varies)])])
1529 if test -n "${with_tuning}"; then
1530     if test "${with_tuning}" != "no"; then
1531         CFLAGS_TUNING="-mtune=${with_tuning}"
1532     fi
1533 else
1534     if test "${SYS}" = "darwin" -a "${host_cpu}" = "i686"; then
1535         CFLAGS_TUNING="-march=prescott -mtune=generic"
1536     elif test "${SYS}" = "darwin" -a "${host_cpu}" = "x86_64"; then
1537         CFLAGS_TUNING="-march=core2 -mtune=core2"
1538     elif test "${host_cpu}" = "i686" -o "${host_cpu}" = "i586" -o "${host_cpu}" = "i486" -o "${host_cpu}" = "i386"; then
1539         CFLAGS_TUNING="-mtune=pentium2"
1540     elif test "${host_cpu}" = "x86_64"; then
1541         CFLAGS_TUNING="-mtune=athlon64"
1542     elif test "${host_cpu}" = "powerpc"; then
1543         CFLAGS_TUNING="-mtune=G4";
1544     fi
1545 fi
1546
1547 dnl NOTE: this can't be cached cleanly
1548 AS_IF([test "${CFLAGS_TUNING}"],
1549    [CFLAGS_save="${CFLAGS}"
1550     CFLAGS="${CFLAGS} ${CFLAGS_TUNING}"
1551
1552     AC_MSG_CHECKING([whether $CC accepts ${CFLAGS_TUNING}])
1553     AC_COMPILE_IFELSE([AC_LANG_SOURCE([])],
1554                       [tuning="yes"],
1555                       [CFLAGS_TUNING=""; tuning="no"
1556                        AS_IF([test "${with_tuning}"],
1557                              [AC_MSG_ERROR([requested tuning not supported])])])
1558
1559     AC_MSG_RESULT([$tuning])
1560     CFLAGS="${CFLAGS_save}"
1561 ])
1562
1563 dnl
1564 dnl  Memory usage
1565 dnl
1566 AC_ARG_ENABLE(optimize-memory,
1567   [AS_HELP_STRING([--enable-optimize-memory],
1568     [optimize memory usage over performance])])
1569 if test "${enable_optimize_memory}" = "yes"; then
1570   AC_DEFINE(OPTIMIZE_MEMORY, 1, Define if you want to optimize memory usage over performance)
1571 fi
1572
1573 dnl
1574 dnl  Enable/disable optimizations
1575 dnl
1576 AC_ARG_ENABLE(optimizations,
1577   [AS_HELP_STRING([--disable-optimizations],
1578     [disable compiler optimizations (default enabled)])])
1579 if test "${enable_optimizations}" != "no"; then
1580   enable_optimizations="speed"
1581 fi
1582
1583 dnl
1584 dnl Allow running as root (useful for people running on embedded platforms)
1585 dnl
1586 AC_ARG_ENABLE(run-as-root,
1587   [AS_HELP_STRING([--enable-run-as-root],
1588     [allow running VLC as root (default disabled)])])
1589 AS_IF([test "${enable_run_as_root}" = "yes"],[
1590     AC_DEFINE(ALLOW_RUN_AS_ROOT, 1,
1591               [Define to 1 to allow running VLC as root (uid 0).])
1592 ])
1593
1594 dnl
1595 dnl Stream output
1596 dnl
1597 AC_ARG_ENABLE(sout,
1598   [AS_HELP_STRING([--disable-sout],
1599     [disable streaming output (default enabled)])])
1600 AS_IF([test "${enable_sout}" != "no"], [
1601   AC_DEFINE(ENABLE_SOUT, 1, [Define to 1 for stream output support.])
1602 ])
1603 AM_CONDITIONAL(ENABLE_SOUT, [test "${enable_sout}" != "no"])
1604
1605 dnl Lua modules
1606 AC_ARG_ENABLE(lua,
1607   [AS_HELP_STRING([--disable-lua],
1608     [disable LUA scripting support (default enabled)])])
1609 if test "${enable_lua}" != "no"
1610 then
1611   PKG_CHECK_MODULES(LUA, lua5.1,
1612     [ have_lua=yes ],
1613     [
1614     AC_MSG_WARN([lua5.1 not found, trying lua >= 5.1 instead])
1615     PKG_CHECK_MODULES(LUA, lua >= 5.1,
1616       [ have_lua=yes ],
1617       [
1618         have_lua=yes
1619         AC_CHECK_HEADERS([lua.h lauxlib.h lualib.h],
1620           [],
1621           [ have_lua=no ] )
1622         AC_CHECK_LIB(  lua5.1 , luaL_newstate,
1623           [LUA_LIBS="-llua5.1"],
1624           AC_CHECK_LIB( lua51 , luaL_newstate,
1625             [LUA_LIBS="-llua51"],
1626             AC_CHECK_LIB( lua , luaL_newstate,
1627               [LUA_LIBS="-llua"],
1628               [ have_lua=no
1629               ], [-lm])
1630           )
1631         )
1632       ])
1633     ])
1634   if test "x${have_lua}" = "xyes" ;  then
1635      VLC_ADD_LIBS([lua],[$LUA_LIBS])
1636      VLC_ADD_CFLAGS([lua],[$LUA_CFLAGS])
1637   else
1638       AC_MSG_ERROR([Could not find lua. Lua is needed for some interfaces (rc, telnet, http) as well as many other custom scripts. Use --disable-lua to ignore this error.])
1639   fi
1640   AC_ARG_VAR([LUAC], [LUA byte compiler])
1641   AC_PATH_PROGS(LUAC,[${LUAC} luac], [false])
1642   AS_IF([test "${LUAC}" = "false"], [
1643     AC_MSG_ERROR([Could not find the LUA byte compiler.])
1644   ])
1645 fi
1646 AM_CONDITIONAL(BUILD_LUA, [test "${have_lua}" = "yes"])
1647
1648 dnl
1649 dnl HTTP daemon
1650 dnl
1651 AC_ARG_ENABLE(httpd,
1652   [AS_HELP_STRING([--disable-httpd],
1653     [disable the built-in HTTP server (default enabled)])])
1654 if test "${enable_httpd}" != "no"
1655 then
1656   AC_DEFINE(ENABLE_HTTPD, 1, Define if you want the HTTP dameon support)
1657 fi
1658 AM_CONDITIONAL(BUILD_HTTPD, [test "${enable_httpd}" != "no"])
1659
1660 dnl
1661 dnl VideoLAN manager
1662 dnl
1663 AC_ARG_ENABLE(vlm,
1664   [AS_HELP_STRING([--disable-vlm],
1665     [disable the stream manager (default enabled)])],,
1666   [enable_vlm="${enable_sout}"])
1667 AS_IF([test "${enable_vlm}" != "no"], [
1668   AS_IF([test "${enable_sout}" = "no"], [
1669     AC_MSG_ERROR([VLM requires the stream output. Do not use --disable-sout.])
1670   ])
1671   AC_DEFINE(ENABLE_VLM, 1, [Define if you want the VideoLAN manager support])
1672 ])
1673 AM_CONDITIONAL([ENABLE_VLM], [test "${enable_vlm}" != "no"])
1674
1675 dnl
1676 dnl Growl notification plugin
1677 dnl
1678 AC_ARG_ENABLE(growl,
1679   [AS_HELP_STRING([--enable-growl],
1680     [enable growl notifications (default disabled)])],,
1681   [enable_growl="no"])
1682 AS_IF([test "${enable_growl}" != "no"], [
1683     VLC_ADD_PLUGIN([growl_udp])
1684     AC_CHECK_HEADERS(Growl/GrowlDefines.h, [
1685       VLC_ADD_PLUGIN([growl])
1686       VLC_ADD_LDFLAGS([growl], [-Wl,-framework,Growl,-framework,AppKit])
1687       VLC_ADD_OBJCFLAGS([growl], [-fobjc-exceptions] )
1688     ])
1689   ]
1690 )
1691
1692 dnl
1693 dnl Libnotify notification plugin
1694 dnl
1695 PKG_ENABLE_MODULES_VLC([NOTIFY], [], [libnotify gtk+-2.0], [libnotify notification], [auto])
1696
1697 dnl
1698 dnl Taglib plugin
1699 dnl
1700 AC_ARG_ENABLE(taglib,
1701   [AS_HELP_STRING([--disable-taglib],
1702     [do not use TagLib (default enabled)])])
1703 AS_IF([test "${enable_taglib}" != "no"], [
1704   PKG_CHECK_MODULES(TAGLIB, taglib >= 1.5, [
1705     VLC_ADD_PLUGIN([taglib])
1706     VLC_ADD_LIBS([taglib],[$TAGLIB_LIBS -lz])
1707     VLC_ADD_CXXFLAGS([taglib],[$TAGLIB_CFLAGS])
1708     AC_LANG_PUSH(C++)
1709     AC_CHECK_HEADERS(taglib/mp4coverart.h)
1710     AC_LANG_POP(C++)
1711   ], [
1712     AC_MSG_WARN(TagLib library not found)])
1713 ])
1714
1715 dnl
1716 dnl  Input plugins
1717 dnl
1718
1719 EXTEND_HELP_STRING([Input plugins:])
1720
1721 dnl
1722 dnl libproxy support
1723 dnl
1724 AC_ARG_ENABLE(libproxy,
1725   [AS_HELP_STRING([--enable-libproxy],[support libproxy (default auto)])])
1726 AS_IF([test "${enable_libproxy}" != "no"], [
1727   PKG_CHECK_MODULES(LIBPROXY, libproxy-1.0, [
1728     AC_DEFINE(HAVE_LIBPROXY, 1, [Define if libproxy is available])
1729     VLC_ADD_CFLAGS([access_http],[$LIBPROXY_CFLAGS])
1730     VLC_ADD_LIBS([access_http],[$LIBPROXY_LIBS])
1731   ], [
1732     AS_IF([test "x${enable_libproxy}" != "x"], [
1733       AC_MSG_ERROR([libproxy could not be found on your system])
1734     ])
1735   ])
1736 ])
1737
1738 dnl
1739 dnl  live555 input
1740 dnl
1741 AC_ARG_ENABLE(live555,
1742   [AS_HELP_STRING([--enable-live555],
1743     [enable RTSP input through live555 (default enabled)])])
1744 AC_ARG_WITH(live555-tree,
1745   [AS_HELP_STRING([--with-live555-tree=PATH],
1746     [live555 tree for static linking])])
1747 if test "${enable_live555}" != "no"; then
1748
1749   dnl
1750   dnl test for --with-live555-tree
1751   dnl
1752   if test -z "${with_live555_tree}" -a "${CXX}" != ""; then
1753     AC_LANG_PUSH(C++)
1754     CPPFLAGS_save="${CPPFLAGS}"
1755     if test -z "${CONTRIB_DIR}"; then
1756         CPPFLAGS_live555="-I/usr/include/liveMedia -I/usr/include/groupsock -I/usr/include/BasicUsageEnvironment -I/usr/include/UsageEnvironment"
1757     else
1758         CPPFLAGS_live555="-I${CONTRIB_DIR}/include/liveMedia -I${CONTRIB_DIR}/include/groupsock -I${CONTRIB_DIR}/include/BasicUsageEnvironment -I${CONTRIB_DIR}/include/UsageEnvironment"
1759     fi
1760     if test "${SYS}" = "solaris"; then
1761       CPPFLAGS_live555="${CPPFLAGS_live555} -DSOLARIS"
1762     fi
1763     CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_live555}"
1764
1765     AC_CHECK_HEADERS(liveMedia_version.hh, [
1766       AC_MSG_CHECKING(for liveMedia version >= 1275091200 )
1767       AC_EGREP_CPP(yes,
1768         [#include <liveMedia_version.hh>
1769          #ifdef LIVEMEDIA_LIBRARY_VERSION_INT
1770          #if LIVEMEDIA_LIBRARY_VERSION_INT < 1275091200
1771          yes
1772          #endif
1773          #endif],
1774         [AC_MSG_RESULT([no])
1775           AC_MSG_WARN([The installed liveMedia version is too old:
1776 Version 2010.05.29 or later is required to proceed.
1777 You can get an updated one from http://www.live555.com/liveMedia .])
1778           AS_IF([test "${enable_live555}" == "yes"], [
1779             AC_MSG_ERROR([Update live555 or pass --disable-live555 to disable the plugin.])
1780           ])
1781         ],[
1782           AC_MSG_RESULT([yes])
1783           other_libs="-lgroupsock -lBasicUsageEnvironment -lUsageEnvironment"
1784           other_libs_pic="-lgroupsock_pic -lBasicUsageEnvironment_pic -lUsageEnvironment_pic"
1785           if test "${SYS}" = "mingw32"; then
1786             # add ws2_32 for closesocket, select, recv
1787             other_libs="$other_libs -lws2_32"
1788           elif test "${SYS}" = "mingwce"; then
1789             # add ws2 for closesocket, select, recv
1790             other_libs="$other_libs -lws2"
1791           fi
1792
1793           dnl We need to check for pic because live555 don't provide shared libs
1794           dnl and we want to build a plugins so we need -fPIC on some arch.
1795           VLC_ADD_CXXFLAGS([live555], [${CPPFLAGS_live555}])
1796           AC_CHECK_LIB(liveMedia_pic, main, [
1797             VLC_ADD_PLUGIN([live555])
1798             VLC_ADD_LIBS([live555], [-lliveMedia_pic ${other_libs_pic}])
1799           ],[
1800             AC_CHECK_LIB(liveMedia, main, [
1801             VLC_ADD_PLUGIN([live555])
1802             VLC_ADD_LIBS([live555], [-lliveMedia ${other_libs}])
1803           ],[],[${other_libs}]) ],[${other_libs_pic}])
1804
1805           CPPFLAGS="${CPPFLAGS_save}"
1806           AC_LANG_POP(C++)
1807         ])
1808       ])
1809   else
1810     AC_MSG_CHECKING(for liveMedia/libliveMedia.a in ${with_live555_tree})
1811     real_live555_tree="`cd ${with_live555_tree} 2>/dev/null && pwd`"
1812     if test -z "${real_live555_tree}"; then
1813       dnl  The given directory can't be found
1814       AC_MSG_RESULT(no)
1815       AC_MSG_ERROR([cannot cd to ${with_live555_tree}])
1816     fi
1817     if test -f "${real_live555_tree}/liveMedia/libliveMedia.a"; then
1818       AC_MSG_RESULT(${real_live555_tree}/liveMedia/libliveMedia.a)
1819
1820       AC_CHECK_HEADERS(${real_live555_tree}/liveMedia/include/liveMedia_version.hh,[
1821         AC_MSG_CHECKING(for liveMedia version >= 1275091200 )
1822         AC_EGREP_CPP(yes,
1823           [#include "${real_live555_tree}/liveMedia/include/liveMedia_version.hh"
1824            #ifdef LIVEMEDIA_LIBRARY_VERSION_INT
1825            #if LIVEMEDIA_LIBRARY_VERSION_INT < 1275091200
1826            yes
1827            #endif
1828            #endif],
1829           [AC_MSG_RESULT([no])
1830            AC_MSG_ERROR([Your version of liveMedia is too old: you may get a more recent one from http://www.live555.com/liveMedia.
1831 lternatively you can use --disable-live555 to disable the liveMedia plugin.])
1832         ],[
1833            AC_MSG_RESULT([yes])
1834            ])
1835       ])
1836
1837       VLC_ADD_PLUGIN([live555])
1838
1839       if test "${SYS}" = "mingw32"; then
1840         # add ws2_32 for closesocket, select, recv
1841         VLC_ADD_LIBS([live555],[-lws2_32])
1842       fi
1843
1844       VLC_ADD_LIBS([live555],[-L${real_live555_tree}/UsageEnvironment -lUsageEnvironment])
1845       VLC_ADD_LIBS([live555],[-L${real_live555_tree}/BasicUsageEnvironment -lBasicUsageEnvironment])
1846       VLC_ADD_LIBS([live555],[-L${real_live555_tree}/groupsock -lgroupsock])
1847       VLC_ADD_LIBS([live555],[-L${real_live555_tree}/liveMedia -lliveMedia])
1848
1849       VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/BasicUsageEnvironment/include])
1850       VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/groupsock/include])
1851       VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/liveMedia/include])
1852       VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/UsageEnvironment/include ])
1853       if test "${SYS}" = "solaris"; then
1854         VLC_ADD_CXXFLAGS([live555],[-DSOLARIS])
1855       fi
1856     else
1857       dnl  The given live555 wasn't built
1858         AC_MSG_RESULT(no)
1859       if test "${enable_live555}" = "yes"; then
1860         AC_MSG_ERROR([cannot find ${real_live555_tree}/liveMedia/libliveMedia.a, make sure you compiled live555 in ${with_live555_tree}])
1861       fi        
1862     fi
1863   fi
1864 fi
1865
1866 dnl
1867 dnl - special access module for dc1394 input
1868 dnl - dv module: digital video module check for libraw1394
1869 dnl - linsys modules: access module check for libzvbi
1870 dnl
1871 PKG_ENABLE_MODULES_VLC([DC1394], [], [libraw1394 >= 2.0.1 libdc1394-2 >= 2.1.0], [dc1394 access module], [auto])
1872 PKG_ENABLE_MODULES_VLC([DV], [access_dv], [libraw1394 >= 2.0.1 libavc1394 >= 0.5.3], [DV input module], [auto])
1873
1874 AC_ARG_ENABLE(linsys,
1875   [AS_HELP_STRING([--enable-linsys],
1876     [Linux Linear Systems Ltd. SDI and HD-SDI input cards (default enabled)])])
1877 if test "$SYS" = "linux" -a "${enable_linsys}" != "no"; then
1878   VLC_ADD_PLUGIN([linsys_hdsdi])
1879   PKG_CHECK_MODULES(LINSYS_SDI, zvbi-0.2 >= 0.2.28,
1880     [ VLC_ADD_LIBS([linsys_sdi],[$LINSYS_SDI_LIBS])
1881       VLC_ADD_CFLAGS([linsys_sdi],[$LINSYS_SDI_CFLAGS])
1882       VLC_ADD_PLUGIN([linsys_sdi]) ],
1883     [AC_MSG_WARN([Could not find zvbi >= 0.2.28, install libzvbi-dev ?])]
1884   )
1885 fi
1886
1887 dnl
1888 dnl dvdread module: check for libdvdread
1889 dnl
1890 dnl prepend -ldvdcss on OS that need it
1891 AS_CASE(["${SYS}"], [mingw32|darwin], [VLC_ADD_LIBS([dvdread], [-ldvdcss])])
1892 PKG_ENABLE_MODULES_VLC([DVDREAD], [], [dvdread], [dvdread input module], [auto])
1893
1894 dnl
1895 dnl libdvdnav plugin
1896 dnl
1897 AC_ARG_ENABLE(dvdnav,
1898   [AS_HELP_STRING([--disable-dvdnav],
1899     [disable DVD navigation with libdvdnav (default auto)])])
1900 if test "${enable_dvdnav}" != "no"
1901 then
1902   dnl prepend -ldvdcss on OS that need it
1903   AS_CASE(["${SYS}"], [mingw32|darwin], [VLC_ADD_LIBS([dvdnav], [-ldvdcss])])
1904
1905   PKG_CHECK_MODULES(DVDNAV, dvdnav, [
1906     VLC_ADD_PLUGIN([dvdnav])
1907     VLC_ADD_CFLAGS([dvdnav],[${DVDNAV_CFLAGS}])
1908     VLC_ADD_LIBS([dvdnav],[${DVDNAV_LIBS}])
1909     AC_CHECK_LIB(dvdnav, dvdnav_get_video_resolution,
1910       AC_DEFINE(HAVE_DVDNAV_GET_VIDEO_RESOLUTION, 1, [Define if you have dvdnav_get_video_resolution.]),
1911         [], [${LIBS_dvdnav}])
1912     AC_CHECK_LIB(dvdnav, dvdnav_describe_title_chapters,
1913       AC_DEFINE(HAVE_DVDNAV_DESCRIBE_TITLE_CHAPTERS, 1, [Define if you have dvdnav_describe_title_chapters.]),
1914         [], [${LIBS_dvdnav}])],
1915       [AC_MSG_WARN(dvdnav library not found)])
1916 fi
1917
1918 dnl
1919 dnl  Windows DirectShow access module
1920 dnl
1921 AC_ARG_ENABLE(dshow,
1922   [AS_HELP_STRING([--disable-dshow],
1923     [support DirectShow (default auto)])])
1924 if test "${enable_dshow}" != "no"
1925 then
1926   if test "${SYS}" = "mingw32"
1927   then
1928     AC_LANG_PUSH(C++)
1929       AC_CHECK_HEADERS(dshow.h,
1930       [ VLC_ADD_PLUGIN([dshow])
1931         VLC_ADD_CXXFLAGS([dshow],[])
1932         VLC_ADD_LIBS([dshow],[-lole32 -loleaut32 -luuid]) ])
1933     AC_LANG_POP(C++)
1934   fi
1935 fi
1936
1937 dnl
1938 dnl  Blu-ray Disc Support with libbluray
1939 dnl
1940 PKG_ENABLE_MODULES_VLC([BLURAY], [libbluray], [libbluray >= 0.2 ], (libbluray for Blu-ray disc support ) )
1941
1942 dnl
1943 dnl  OpenCV wrapper and example filters
1944 dnl
1945 PKG_ENABLE_MODULES_VLC([OPENCV], [opencv_example opencv_wrapper], [opencv], (OpenCV (computer vision) filter), [off])
1946
1947
1948 dnl
1949 dnl  libsmbclient plugin
1950 dnl
1951 AC_ARG_ENABLE(smb,
1952   [AS_HELP_STRING([--disable-smb], [disable SMB/CIFS support (default auto)])])
1953 if test "${enable_smb}" != "no"; then
1954   AC_CHECK_HEADERS(libsmbclient.h,
1955     [ VLC_ADD_PLUGIN([access_smb])
1956       VLC_ADD_LIBS([access_smb],[-lsmbclient]) ],
1957     [ if test -n "${enable_smb}"; then
1958         AC_MSG_ERROR([cannot find libsmbclient headers])
1959      fi ])
1960 fi
1961
1962
1963 dnl
1964 dnl sftp access support
1965 dnl
1966 AC_ARG_ENABLE(sftp,
1967   [AS_HELP_STRING([--enable-sftp],
1968     [support SFTP file transfer via libssh2 (default disabled)])])
1969 if test "${enable_sftp}" = "yes"; then
1970   AC_CHECK_HEADERS(libssh2.h, [
1971     VLC_ADD_PLUGIN([access_sftp])
1972     VLC_ADD_LIBS([access_sftp], [-lssh2])
1973   ])
1974 fi
1975
1976 dnl
1977 dnl  Video4Linux2 plugin
1978 dnl
1979 AC_ARG_ENABLE(v4l2,
1980   [AS_HELP_STRING([--disable-v4l2],
1981     [do not support Video4Linux version 2 (default auto)])])
1982 AC_ARG_WITH(v4l2,
1983   [AS_HELP_STRING([--with-v4l2=PATH], [path to a V4L2-enabled kernel tree])])
1984 if test "${enable_v4l2}" != "no"
1985 then
1986   if test "${with_v4l2}" != "no" -a -n "${with_v4l2}"
1987   then
1988     VLC_ADD_CPPFLAGS([v4l2],[-I${with_v4l2}/include])
1989   fi
1990
1991   CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_v4l2}"
1992   AC_CHECK_HEADERS(linux/videodev2.h sys/videoio.h, [
1993     VLC_ADD_PLUGIN([v4l2])
1994   ],[])
1995   CPPFLAGS="${CPPFLAGS_save}"
1996 fi
1997
1998 dnl
1999 dnl libv4l2 support for video4linux.
2000 dnl
2001 AC_ARG_ENABLE(libv4l2,
2002   [AS_HELP_STRING([--enable-libv4l2],
2003     [use V4L2 through libv4l2 (default auto)])])
2004 if test "${enable_libv4l2}" != "no" -a "${enable_v4l2}" != "no"
2005 then
2006     PKG_CHECK_MODULES( LIBV4L2, libv4l2, [
2007       VLC_ADD_LDFLAGS([v4l2],[${LIBV4L2_LIBS}])
2008       VLC_ADD_CFLAGS([v4l2],[${LIBV4L2_CFLAGS}])
2009       AC_DEFINE(HAVE_LIBV4L2, 1, Define if libv4l2 is available)],
2010       AC_MSG_WARN([LibV4L2 support disabled because libv4l2 development headers were not found])
2011     )
2012 fi
2013
2014 dnl
2015 dnl  special access module for Hauppauge PVR cards
2016 dnl
2017 AC_ARG_ENABLE(pvr,
2018   [AS_HELP_STRING([--enable-pvr],
2019     [support PVR V4L2 cards (default disabled)])])
2020 if test "${enable_pvr}" = "yes"
2021 then
2022   VLC_ADD_PLUGIN([pvr])
2023 fi
2024
2025 dnl
2026 dnl special access module for Blackmagic SDI cards
2027 dnl
2028 AC_ARG_ENABLE(decklink,
2029   [AS_HELP_STRING([--disable-decklink],
2030     [disable Blackmagic DeckLink SDI input (default auto)])])
2031 AC_ARG_WITH(decklink_sdk,
2032   [AS_HELP_STRING[--with-decklink-sdk=DIR],
2033     [location of Blackmagic DeckLink SDI SDK])])
2034 if test "${enable_decklink}" != "no"
2035 then
2036   if test "${with_decklink_sdk}" != "no" -a -n "${with_decklink_sdk}"
2037   then
2038     VLC_ADD_CPPFLAGS([decklink],[-I${with_decklink_sdk}/include])
2039   fi
2040   CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_decklink}"
2041   AC_LANG_PUSH(C++)
2042   AC_CHECK_HEADERS(DeckLinkAPIDispatch.cpp, [
2043     VLC_ADD_PLUGIN([decklink])
2044   ],[AC_MSG_WARN(Blackmagic DeckLink SDI include files not found, decklink disabled)])
2045   AC_LANG_POP(C++)
2046   CPPFLAGS="${CPPFLAGS_save}"
2047 fi
2048
2049
2050 dnl
2051 dnl  gnomeVFS access module
2052 dnl
2053 PKG_ENABLE_MODULES_VLC([GNOMEVFS], [access_gnomevfs], [gnome-vfs-2.0], [GnomeVFS access module], [auto])
2054
2055 dnl
2056 dnl  VCDX modules
2057 dnl
2058 AC_ARG_ENABLE(vcdx,
2059   [AS_HELP_STRING([--enable-vcdx],
2060     [navigate VCD with libvcdinfo (default disabled)])])
2061 if test "${enable_vcdx}" = "yes"
2062 then
2063         PKG_CHECK_MODULES(LIBCDIO, [libcdio >= 0.78.2 libiso9660 >= 0.72],
2064           [VLC_ADD_LIBS([vcdx],[$LIBCDIO_LIBS])
2065                  VLC_ADD_CFLAGS([vcdx],[$LIBCDIO_CFLAGS])],
2066                 [AC_MSG_ERROR([vcdx plugin requires libcdio >= 0.78.2 and libiso9660 >= 0.72])])
2067         PKG_CHECK_MODULES(LIBVCDINFO, libvcdinfo >= 0.7.22,
2068                 [VLC_ADD_LIBS([vcdx],[$LIBVCDINFO_LIBS])
2069                  VLC_ADD_CFLAGS([vcdx],[$LIBVCDINFO_CFLAGS])],
2070           [AC_MSG_ERROR([vcdx plugin requires libvcdinfo library >= 0.7.22])])
2071         VLC_ADD_PLUGIN([vcdx])
2072 fi
2073
2074 dnl
2075 dnl  Built-in CD-DA and VCD module
2076 dnl
2077 AC_ARG_ENABLE(vcd,
2078   [AS_HELP_STRING([--disable-vcd],
2079     [disable built-in VCD and CD-DA support (default enabled)])])
2080
2081 AC_ARG_ENABLE(libcddb,
2082   [AS_HELP_STRING([--disable-libcddb],
2083     [disable CDDB for Audio CD (default enabled)])])
2084
2085 if test "${enable_vcd}" != "no"
2086 then
2087   AC_MSG_CHECKING(for cdrom_msf0 in linux/cdrom.h)
2088   AC_EGREP_HEADER(cdrom_msf0,linux/cdrom.h,[
2089     AC_MSG_RESULT(yes)
2090     VLC_ADD_PLUGIN([vcd cdda])
2091   ],[
2092     AC_MSG_RESULT(no)
2093   ])
2094
2095   AC_MSG_CHECKING(for scsireq in sys/scsiio.h)
2096   AC_EGREP_HEADER(scsireq,sys/scsiio.h,[
2097     AC_MSG_RESULT(yes)
2098     VLC_ADD_PLUGIN([vcd cdda])
2099     AC_DEFINE(HAVE_SCSIREQ_IN_SYS_SCSIIO_H, 1, For NetBSD VCD support)
2100   ],[
2101     AC_MSG_RESULT(no)
2102   ])
2103
2104   AC_MSG_CHECKING(for ioc_toc_header in sys/cdio.h)
2105   AC_EGREP_HEADER(ioc_toc_header ,sys/cdio.h,[
2106     AC_MSG_RESULT(yes)
2107     VLC_ADD_PLUGIN([vcd cdda])
2108     AC_DEFINE(HAVE_IOC_TOC_HEADER_IN_SYS_CDIO_H, 1, For FreeBSD VCD support)
2109   ],[
2110     AC_MSG_RESULT(no)
2111   ])
2112
2113   if test "${SYS}" = "bsdi" -o "${SYS}" = "mingw32"
2114   then
2115     VLC_ADD_PLUGIN([vcd cdda])
2116   fi
2117
2118   if test "${SYS}" = "darwin"
2119   then
2120     VLC_ADD_PLUGIN([vcd cdda])
2121     VLC_ADD_LDFLAGS([vcd vcdx cdda],[-Wl,-framework,IOKit,-framework,CoreFoundation])
2122     VLC_ADD_LIBS([vcdx cdda],[-liconv])
2123   fi
2124
2125   if test "$enable_libcddb" != "no"; then
2126     PKG_CHECK_MODULES(LIBCDDB, libcddb >= 0.9.5, [
2127       HAVE_LIBCDDB=yes
2128       AC_DEFINE(HAVE_LIBCDDB, 1, [Define this if you have libcddb installed])
2129       VLC_ADD_LIBS([cdda],[$LIBCDDB_LIBS])
2130       VLC_ADD_CFLAGS([cdda],[$LIBCDDB_CFLAGS])
2131       ],:
2132       [AC_MSG_WARN(new enough libcddb not found. CDDB access disabled)
2133       HAVE_LIBCDDB=no])
2134   fi
2135 fi
2136
2137 dnl
2138 dnl  libdvbpsi check for ts mux/demux
2139 dnl
2140 PKG_WITH_MODULES([DVBPSI], [libdvbpsi],
2141     VLC_ADD_PLUGIN([ts])
2142     VLC_ADD_LIBS([ts],[-ldvbpsi])
2143 if test "${enable_sout}" != "no"; then
2144     VLC_ADD_PLUGIN([mux_ts])
2145     VLC_ADD_LIBS([mux_ts],[-ldvbpsi])
2146 fi
2147 )
2148
2149 dnl
2150 dnl  Screen capture module
2151 dnl
2152 AC_ARG_ENABLE(screen,
2153   [AS_HELP_STRING([--enable-screen],
2154     [disable screen capture (default enabled)])])
2155 if test "${enable_screen}" != "no"; then
2156   if test "${SYS}" = "darwin"; then
2157     AC_CHECK_HEADERS(OpenGL/gl.h, [
2158       AC_CHECK_HEADERS(ApplicationServices/ApplicationServices.h, [
2159         VLC_ADD_PLUGIN([screen])
2160         VLC_ADD_LDFLAGS([screen],[-Wl,-framework,OpenGL,-framework,ApplicationServices])
2161       ])
2162     ])
2163   elif test "${SYS}" = "mingw32"; then
2164     VLC_ADD_PLUGIN([screen])
2165     VLC_ADD_LIBS([screen],[-lgdi32])
2166   elif test "${SYS}" = "mingwce"; then
2167     CPPFLAGS="${CPPFLAGS_save}"
2168   fi
2169 fi
2170
2171 dnl
2172 dnl  ipv6 support
2173 dnl
2174 have_ipv6=no
2175 AC_CHECK_FUNCS(inet_pton,[have_ipv6=yes],[
2176   AC_CHECK_LIB(nsl,inet_pton, [have_ipv6=yes])
2177 ])
2178
2179 AS_IF([test "${have_ipv6}" = "yes"], [
2180   AC_DEFINE(HAVE_INET_PTON, 1, [Define to 1 if you have inet_pton().])])
2181
2182
2183 AC_CHECK_FUNCS(inet_ntop,[
2184   AC_DEFINE(HAVE_INET_NTOP, 1, [Define to 1 if you have inet_ntop().])])
2185
2186
2187 dnl
2188 dnl  GME demux plugin
2189 dnl
2190 AC_ARG_ENABLE(gme,
2191   [AS_HELP_STRING([--enable-gme],
2192     [use Game Music Emu (default auto)])])
2193 AS_IF([test "${enable_gme}" != "no"], [
2194   AC_CHECK_HEADER([gme/gme.h], [
2195     VLC_ADD_LIBS([gme], [-lgme])
2196     VLC_ADD_PLUGIN([gme])
2197   ], [
2198     AS_IF([test "x${enable_gme}" != "x"], [
2199       AC_MSG_ERROR([GME cannot be found. Please install the development files.])
2200     ])
2201   ])
2202 ])
2203
2204
2205 dnl
2206 dnl  SIDPlay plugin
2207 dnl
2208 PKG_WITH_MODULES([SID], [libsidplay2],
2209                 AC_LANG_PUSH(C++)
2210                 oldCPPFLAGS="$CPPFLAGS"
2211                 CPPFLAGS="$CPPFLAGS $SID_CFLAGS"
2212                 AC_CHECK_HEADER([sidplay/builders/resid.h], [
2213                         VLC_ADD_PLUGIN([sid])
2214                         VLC_ADD_CFLAGS([sid], [$SID_CFLAGS])
2215                         VLC_ADD_LIBS([sid], [$SID_LIBS] [-lresid-builder])
2216                 ], [
2217                         AS_IF([test "x${enable_sid}" = "xyes"],
2218                                 [AC_MSG_ERROR(Library libresid-builder needed for sid was not found)],
2219                                 [AC_MSG_WARN(Library libresid-builder needed for sid was not found)]
2220                                 )
2221                 ])
2222                 CPPFLAGS="$oldCPPFLAGS"
2223                 AC_LANG_POP(C++),
2224                 AS_IF([test "x${enable_sid}" = "xyes"],
2225                         [AC_MSG_ERROR(Library libsidplay2 needed for sid was not found)],
2226                         [AC_MSG_WARN(Library libsidplay2 needed for sid was not found)]
2227                         ),
2228                 [C64 sid demux support], [auto])
2229
2230
2231 dnl
2232 dnl  ogg demux plugin
2233 dnl
2234 PKG_ENABLE_MODULES_VLC([OGG], [], [ogg >= 1.0], [Ogg demux support], [auto])
2235 if test "${enable_sout}" != "no"; then
2236     PKG_ENABLE_MODULES_VLC([MUX_OGG], [], [ogg >= 1.0], [Ogg mux support], [auto])
2237 fi
2238
2239 if test "${enable_sout}" != "no"; then
2240 dnl Check for libshout
2241 PKG_ENABLE_MODULES_VLC([SHOUT], [access_output_shout], [shout >= 2.1], [libshout output plugin], [auto])
2242 fi
2243
2244 dnl
2245 dnl  matroska demux plugin
2246 dnl
2247 AC_ARG_ENABLE(mkv,
2248   [AS_HELP_STRING([--disable-mkv],
2249     [do not use libmatroska (default auto)])])
2250 if test "${enable_mkv}" != "no" -a "${CXX}" != ""; then
2251   AC_LANG_PUSH(C++)
2252   AC_CHECK_HEADERS(ebml/EbmlVersion.h, [
2253     AC_MSG_CHECKING(for libebml version >= 1.0.0)
2254     AC_EGREP_CPP(yes,
2255       [#include <ebml/EbmlVersion.h>
2256        #ifdef LIBEBML_VERSION
2257        #if LIBEBML_VERSION >= 0x010000
2258        yes
2259        #endif
2260        #endif],
2261       [AC_MSG_RESULT([yes])
2262         AC_CHECK_HEADERS(matroska/KaxVersion.h, [
2263           AC_MSG_CHECKING(for libmatroska version >= 1.0.0)
2264           AC_EGREP_CPP(yes,
2265             [#include <matroska/KaxVersion.h>
2266              #ifdef LIBMATROSKA_VERSION
2267              #if LIBMATROSKA_VERSION >= 0x010000
2268              yes
2269              #endif
2270              #endif],
2271             [AC_MSG_RESULT([yes])
2272               AC_CHECK_HEADERS(matroska/KaxAttachments.h)
2273               VLC_ADD_CXXFLAGS([mkv],[])
2274               if test "${SYS}" = "darwin"; then
2275                 VLC_ADD_CXXFLAGS([mkv],[-O1])
2276               fi
2277               AC_CHECK_LIB(ebml_pic, main, [
2278                 VLC_ADD_PLUGIN([mkv])
2279                 VLC_ADD_LIBS([mkv],[-lmatroska -lebml_pic])
2280               ],[
2281                 AC_CHECK_LIB(ebml, main, [
2282                   VLC_ADD_PLUGIN([mkv])
2283                   VLC_ADD_LIBS([mkv],[-lmatroska -lebml])
2284                 ])
2285               ])
2286             ], [
2287               AC_MSG_RESULT([no])
2288               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.])
2289           ])
2290         ])
2291       ],
2292       [AC_MSG_RESULT([no])
2293         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.])
2294     ])
2295   ])
2296   AC_LANG_POP(C++)
2297 fi
2298
2299 dnl
2300 dnl  modplug demux plugin
2301 dnl
2302 AC_ARG_ENABLE(mod,
2303   [AS_HELP_STRING([--disable-mod],
2304     [do not use libmodplug (default auto)])])
2305 if test "${enable_mod}" != "no" ; then
2306     PKG_CHECK_MODULES(LIBMODPLUG, [libmodplug >= 0.8.4 libmodplug != 0.8.8], [
2307           VLC_ADD_PLUGIN([mod])
2308           VLC_ADD_CXXFLAGS([mod],[$LIBMODPLUG_CFLAGS])
2309           VLC_ADD_LIBS([mod],[$LIBMODPLUG_LIBS])
2310     ],[
2311        AS_IF([test x"${enable_mod}" = "xyes"],
2312          [AC_MSG_ERROR(libmodplug not found or a broken version (0.8.8.0) was found!)],
2313          [AC_MSG_WARN(libmodplug not found or a broken version (0.8.8.0) was found!)])
2314     ])
2315 fi
2316
2317 dnl
2318 dnl  mpc demux plugin
2319 dnl
2320 AC_ARG_ENABLE(mpc,
2321   [AS_HELP_STRING([--disable-mpc], [do not use libmpcdec (default auto)])])
2322 if test "${enable_mpc}" != "no"
2323 then
2324   AC_CHECK_HEADERS([mpc/mpcdec.h], [
2325     VLC_ADD_PLUGIN([mpc])
2326     VLC_ADD_LIBS([mpc],[-lmpcdec])],
2327     [AC_CHECK_HEADERS([mpcdec/mpcdec.h], [
2328     VLC_ADD_PLUGIN([mpc])
2329     VLC_ADD_LIBS([mpc],[-lmpcdec])])])
2330 fi
2331
2332 dnl
2333 dnl  Codec plugins
2334 dnl
2335
2336 EXTEND_HELP_STRING([Codec plugins:])
2337
2338 dnl
2339 dnl wmafixed plugin
2340 dnl
2341 AC_ARG_ENABLE(wma-fixed,
2342   [  --enable-wma-fixed      libwma-fixed module (default disabled)])
2343 if test "${enable_wma_fixed}" = "yes"
2344 then
2345   VLC_ADD_PLUGIN([wma_fixed])
2346 fi
2347
2348 dnl
2349 dnl shine fixed point mp3 encoder
2350 dnl
2351 AC_ARG_ENABLE(shine,
2352   [  --enable-shine          shine mp3 encoding module (default disabled)])
2353 if test "${enable_shine}" = "yes"
2354 then
2355   VLC_ADD_PLUGIN([shine])
2356 fi
2357
2358 dnl
2359 dnl openmax il codec plugin
2360 dnl
2361 AC_ARG_ENABLE(omxil,
2362   [  --enable-omxil          openmax il codec module (default disabled)])
2363 if test "${enable_omxil}" = "yes"
2364 then
2365   VLC_ADD_PLUGIN([omxil])
2366   VLC_ADD_LIBS([omxil], [$LIBDL])
2367 fi
2368
2369 dnl
2370 dnl CrystalHD codec plugin
2371 dnl
2372 AC_ARG_ENABLE(crystalhd,
2373   [  --enable-crystalhd       crystalhd codec plugin (default auto)])
2374 if test "${enable_crystalhd}" != "no"; then
2375     AC_CHECK_HEADER(libcrystalhd/libcrystalhd_if.h, [
2376       VLC_ADD_PLUGIN([crystalhd])
2377       VLC_ADD_LIBS([crystalhd], [-lcrystalhd])
2378     ],[
2379       if test "${SYS}" = "mingw32" ; then
2380         AC_CHECK_HEADERS(libcrystalhd/bc_dts_defs.h, [
2381           VLC_ADD_PLUGIN([crystalhd])
2382           AC_CHECK_HEADERS(libcrystalhd/bc_drv_if.h, [
2383             VLC_ADD_LIBS([crystalhd], [-lbcmDIL])
2384             ])
2385         ],[
2386           AS_IF([test x"${enable_crystalhd}" = "xyes"],
2387                 [AC_MSG_ERROR("Could not find CrystalHD development headers")],
2388                 [AC_MSG_WARN("Could not find CrystalHD development headers")])
2389         ],[#define __LINUX_USER__
2390                #include <libcrystalhd/bc_dts_types.h>
2391         ])
2392       fi
2393     ],[
2394        #include <libcrystalhd/bc_dts_types.h>
2395       ])
2396 fi
2397
2398 dnl
2399 dnl  mad plugin
2400 dnl
2401 AC_ARG_ENABLE(mad,
2402   [  --enable-mad            libmad module (default enabled)])
2403 if test "${enable_mad}" != "no"
2404 then
2405   AC_ARG_WITH(mad,
2406     [  --with-mad=PATH         path to libmad],[],[])
2407   if test "${with_mad}" != "no" -a -n "${with_mad}"
2408   then
2409     VLC_ADD_CPPFLAGS([mpgatofixed32],[-I${with_mad}/include])
2410     VLC_ADD_LIBS([mpgatofixed32],[-L${with_mad}/lib])
2411   fi
2412
2413   AC_ARG_WITH(mad-tree,
2414     [  --with-mad-tree=PATH    mad tree for static linking],[],[])
2415   if test "${with_mad_tree}" != "no" -a -n "${with_mad_tree}"
2416   then
2417     real_mad_tree="`cd ${with_mad_tree} 2>/dev/null && pwd`"
2418     if test -z "${real_mad_tree}"
2419     then
2420       dnl  The given directory can't be found
2421       AC_MSG_RESULT(no)
2422       AC_MSG_ERROR([${with_mad_tree} directory doesn't exist])
2423     fi
2424     dnl  Use a custom libmad
2425     AC_MSG_CHECKING(for mad.h in ${real_mad_tree})
2426     if test -f ${real_mad_tree}/mad.h
2427     then
2428       AC_MSG_RESULT(yes)
2429       VLC_ADD_CPPFLAGS([mpgatofixed32],[-I${real_mad_tree}])
2430       VLC_ADD_LIBS([mpgatofixed32],[-L${real_mad_tree}/.libs])
2431       LDFLAGS="${LDFLAGS_save} ${LIBS_mpgatofixed32}"
2432       AC_CHECK_LIB(mad, mad_bit_init, [
2433         VLC_ADD_PLUGIN([mpgatofixed32])
2434         VLC_ADD_LIBS([mpgatofixed32],[-lmad])
2435         ],[ AC_MSG_ERROR([the specified tree hasn't been compiled ])
2436       ],[])
2437       LDFLAGS="${LDFLAGS_save}"
2438     else
2439       AC_MSG_RESULT(no)
2440       AC_MSG_ERROR([the specified tree doesn't have mad.h])
2441     fi
2442   else
2443     CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_mpgatofixed32}"
2444     LDFLAGS="${LDFLAGS_save} ${LIBS_mpgatofixed32}"
2445     AC_CHECK_HEADERS(mad.h, ,
2446       [ 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.]) ])
2447     AC_CHECK_LIB(mad, mad_bit_init, [
2448       VLC_ADD_PLUGIN([mpgatofixed32])
2449       VLC_ADD_LIBS([mpgatofixed32],[-lmad])],
2450       [ AC_MSG_ERROR([Cannot find libmad library...]) ])
2451     CPPFLAGS="${CPPFLAGS_save}"
2452     LDFLAGS="${LDFLAGS_save}"
2453   fi
2454 fi
2455
2456
2457 AC_ARG_ENABLE(merge-ffmpeg,
2458 [  --enable-merge-ffmpeg   merge FFmpeg-based plugins (default disabled)],, [
2459   enable_merge_ffmpeg="no"
2460 ])
2461 AM_CONDITIONAL([MERGE_FFMPEG], [test "$enable_merge_ffmpeg" != "no"])
2462
2463 AC_CACHE_CHECK([if linker supports -Bsymbolic],
2464   [ac_cv_ld_bsymbolic],
2465   [LDFLAGS="${LDFLAGS_vlc} -Wl,-Bsymbolic"
2466     AC_TRY_LINK([],,ac_cv_ld_bsymbolic=yes,ac_cv_ld_bsymbolic=no)
2467     LDFLAGS="${LDFLAGS_save}"
2468   ])
2469
2470 dnl
2471 dnl  avcodec decoder/encoder plugin
2472 dnl
2473 AC_ARG_ENABLE(avcodec,
2474 [  --enable-avcodec        libavcodec codec (default enabled)])
2475 AS_IF([test "${enable_avcodec}" != "no"], [
2476   PKG_CHECK_MODULES(AVCODEC,[libavcodec >= 52.25.0 libavutil],
2477     [
2478       VLC_SAVE_FLAGS
2479       CPPFLAGS="${CPPFLAGS} ${AVCODEC_CFLAGS}"
2480       CFLAGS="${CFLAGS} ${AVCODEC_CFLAGS}"
2481       AC_CHECK_HEADERS(libavcodec/avcodec.h)
2482       AC_CHECK_HEADERS(libavutil/avutil.h)
2483       VLC_ADD_PLUGIN([avcodec])
2484       VLC_ADD_LIBS([avcodec],[$AVCODEC_LIBS])
2485       AS_IF([test "${ac_cv_ld_bsymbolic}" != "no"], [
2486         VLC_ADD_LDFLAGS([avcodec],[-Wl,-Bsymbolic])
2487       ])
2488       VLC_ADD_CFLAGS([avcodec],[$AVCODEC_CFLAGS])
2489       VLC_RESTORE_FLAGS
2490       have_avcodec="yes"
2491     ],[
2492       AC_MSG_ERROR([Could not find libavcodec or libavutil. Use --disable-avcodec to ignore this error.])
2493   ])
2494 ], [
2495   have_avcodec="no"
2496 ])
2497
2498 dnl
2499 dnl libva needs avcodec
2500 dnl
2501 AC_ARG_ENABLE(libva,
2502   [  --enable-libva          libva VAAPI support (default auto)])
2503
2504 AS_IF([test "${enable_libva}" != "no"], [
2505   AS_IF([test "x${have_avcodec}" = "xyes"], [
2506     PKG_CHECK_MODULES(LIBVA, [libva libva-x11],
2507       [
2508         VLC_SAVE_FLAGS
2509         CPPFLAGS="${CPPFLAGS} ${AVCODEC_CFLAGS}"
2510         CFLAGS="${CFLAGS} ${AVCODEC_CFLAGS}"
2511         AC_CHECK_HEADERS(libavcodec/vaapi.h, [
2512            VLC_ADD_LIBS([avcodec],[$LIBVA_LIBS ${X_LIBS} ${X_PRE_LIBS} -lX11])
2513            VLC_ADD_CFLAGS([avcodec],[$LIBVA_CFLAGS ${X_CFLAGS}])
2514            AC_DEFINE(HAVE_AVCODEC_VAAPI, 1, [Define if avcodec has to be built with VAAPI support.])
2515            echo "VAAPI acceleration activated"
2516         ],[
2517         AS_IF([test "${enable_libva}" == "yes"],
2518               [AC_MSG_ERROR([libva is present but libavcodec/vaapi.h is missing])],
2519               [AC_MSG_WARN([libva is present but libavcodec/vaapi.h is missing ])])
2520         ])
2521         VLC_RESTORE_FLAGS
2522       ],[
2523         AS_IF([test "${enable_libva}" == "yes"],
2524               [AC_MSG_ERROR([Could not find required libva.])],
2525               [AC_MSG_WARN([libva not found  ])])
2526       ])
2527   ],[
2528     AS_IF([test "x${enable_libva}" != "x"], [
2529       AC_MSG_ERROR([--enable-libva and --disable-avcodec options are mutually exclusive.])
2530     ])
2531   ])
2532 ])
2533
2534 dnl
2535 dnl dxva2 needs avcodec
2536 dnl
2537 AC_ARG_ENABLE(dxva2,
2538   [  --enable-dxva2          DxVA2  support (default auto)])
2539
2540 AS_IF([test "${enable_dxva2}" != "no"], [
2541   if test "${SYS}" = "mingw32"; then
2542   AS_IF([test "x${have_avcodec}" = "xyes"], [
2543     AC_CHECK_HEADERS(dxva2api.h, 
2544       [
2545         AC_CHECK_HEADERS(libavcodec/dxva2.h, [
2546            VLC_ADD_LIBS([avcodec],[-lole32 -lshlwapi -luuid])
2547            AC_DEFINE(HAVE_AVCODEC_DXVA2, 1, [Define if avcodec has to be built with DxVA2 support.])
2548            echo "DxVA2 acceleration activated"
2549         ],[
2550         AS_IF([test "${enable_dxva2}" == "yes"],
2551               [AC_MSG_ERROR([dxva2 is present but libavcodec/dxva2.h is missing])],
2552               [AC_MSG_WARN([dxva2 is present but libavcodec/dxva2.h is missing ])])
2553         ])
2554       ],[
2555         AS_IF([test "${enable_dxva2}" == "yes"],
2556               [AC_MSG_ERROR([Could not find required dxva2api.h])],
2557               [AC_MSG_WARN([dxva2api.h not found])])
2558       ])
2559   ],[
2560     AS_IF([test "x${enable_dxva2}" != "x"], [
2561       AC_MSG_ERROR([--enable-dxva2 and --disable-avcodec options are mutually exclusive.])
2562     ])
2563   ])
2564   fi
2565 ])
2566
2567
2568 dnl
2569 dnl stream_out switcher needs libavcodec
2570 dnl
2571 AC_ARG_ENABLE(switcher,
2572   [  --enable-switcher       Stream-out switcher plugin (default disabled)])
2573 AS_IF([test "${enable_switcher}" = "yes"], [
2574   AS_IF([test "x${have_avcodec}" = "xyes"], [
2575     VLC_ADD_PLUGIN([stream_out_switcher])
2576     VLC_ADD_LIBS([stream_out_switcher],[$AVCODEC_LIBS $AVUTIL_LIBS])
2577     VLC_ADD_CFLAGS([stream_out_switcher],[$AVCODEC_CFLAGS $AVUTIL_CFLAGS])
2578   ],[AC_MSG_ERROR([Stream_out switcher depends on avcodec])
2579   ])
2580 ])
2581
2582
2583 dnl
2584 dnl  avformat demuxer/muxer plugin
2585 dnl
2586
2587 AC_ARG_ENABLE(avformat,
2588 [  --enable-avformat       libavformat containers (default enabled)],, [
2589   enable_avformat="${have_avcodec}"
2590 ])
2591 if test "${enable_avformat}" != "no"
2592 then
2593   PKG_CHECK_MODULES(AVFORMAT,[libavformat > 52.30.0 libavcodec libavutil],
2594     [
2595       VLC_SAVE_FLAGS
2596       CPPFLAGS="${CPPFLAGS} ${AVFORMAT_CFLAGS}"
2597       CFLAGS="${CFLAGS} ${AVFORMAT_CFLAGS}"
2598       AC_CHECK_HEADERS(libavformat/avformat.h libavformat/avio.h)
2599       AC_CHECK_HEADERS(libavutil/avutil.h)
2600       AS_IF([test "$enable_merge_ffmpeg" = "no"], [
2601         VLC_ADD_PLUGIN([avformat access_avio])
2602         VLC_ADD_LIBS([avformat access_avio],[$AVFORMAT_LIBS $AVUTIL_LIBS])
2603         VLC_ADD_CFLAGS([avformat access_avio],[$AVFORMAT_CFLAGS $AVUTIL_CFLAGS])
2604         AS_IF([test "${ac_cv_ld_bsymbolic}" != "no"], [
2605           VLC_ADD_LDFLAGS([avformat access_avio],[-Wl,-Bsymbolic])
2606         ])
2607       ], [
2608         VLC_ADD_LIBS([avcodec],[$AVFORMAT_LIBS $AVUTIL_LIBS])
2609         VLC_ADD_CFLAGS([avcodec],[$AVFORMAT_CFLAGS $AVUTIL_CFLAGS])
2610       ])
2611       VLC_RESTORE_FLAGS
2612     ],[
2613       AC_MSG_ERROR([Could not find libavformat or libavutil. Use --disable-avformat to ignore this error.])
2614   ])
2615 fi
2616
2617 dnl
2618 dnl  swscale image scaling and conversion plugin
2619 dnl
2620
2621 AC_ARG_ENABLE(swscale,
2622   AS_HELP_STRING([--enable-swscale],[libswscale image scaling and conversion
2623                   (default enabled)]))
2624 if test "${enable_swscale}" != "no"
2625 then
2626   PKG_CHECK_MODULES(SWSCALE,[libswscale],
2627     [
2628       VLC_SAVE_FLAGS
2629       CPPFLAGS="${CPPFLAGS} ${SWSCALE_CFLAGS}"
2630       CFLAGS="${CFLAGS} ${SWSCALE_CFLAGS}"
2631       AC_CHECK_HEADERS(libswscale/swscale.h)
2632       VLC_ADD_PLUGIN([swscale])
2633       VLC_ADD_LIBS([swscale],[$SWSCALE_LIBS])
2634       VLC_ADD_CFLAGS([swscale],[$SWSCALE_CFLAGS])
2635       AS_IF([test "${ac_cv_ld_bsymbolic}" != "no"], [
2636         VLC_ADD_LDFLAGS([swscale],[-Wl,-Bsymbolic])
2637       ])
2638       VLC_RESTORE_FLAGS
2639     ],[
2640       AC_MSG_ERROR([Could not find libswscale. Use --disable-swscale to ignore this error. Proper software scaling and some video chroma conversion will be missing.])
2641   ])
2642 fi
2643
2644 dnl
2645 dnl  postproc plugin
2646 dnl
2647
2648 AC_ARG_ENABLE(postproc,
2649 [  --enable-postproc       libpostproc image post-processing (default enabled)])
2650 if test "${enable_postproc}" != "no"
2651 then
2652   PKG_CHECK_MODULES(POSTPROC,[libpostproc libavutil],
2653     [
2654       VLC_SAVE_FLAGS
2655       CPPFLAGS="${CPPFLAGS} ${POSTPROC_CFLAGS}"
2656       CFLAGS="${CFLAGS} ${POSTPROC_CFLAGS}"
2657       AC_CHECK_HEADERS(postproc/postprocess.h)
2658       VLC_ADD_PLUGIN([postproc])
2659       VLC_ADD_LIBS([postproc],[$POSTPROC_LIBS $AVUTIL_LIBS])
2660       VLC_ADD_CFLAGS([postproc],[$POSTPROC_CFLAGS $AVUTIL_CFLAGS])
2661       VLC_RESTORE_FLAGS
2662     ],[
2663       AC_MSG_ERROR([Could not find libpostproc. Use --disable-postproc to ignore this error.])
2664   ])
2665 fi
2666
2667 dnl
2668 dnl  faad decoder plugin
2669 dnl
2670 AC_ARG_ENABLE(faad,
2671 [  --enable-faad           faad codec (default disabled)])
2672 if test "${enable_faad}" = "yes"
2673 then
2674   AC_ARG_WITH(faad-tree,
2675   [  --with-faad-tree=PATH   faad tree for static linking])
2676   if test -n "${with_faad_tree}"
2677   then
2678     AC_MSG_CHECKING(for libfaad.a in ${with_faad_tree})
2679     real_faad_tree="`cd ${with_faad_tree} 2>/dev/null && pwd`"
2680     if test -z "${real_faad_tree}"
2681     then
2682       dnl  The given directory can't be found
2683       AC_MSG_RESULT(no)
2684       AC_MSG_ERROR([cannot cd to ${with_faad_tree}])
2685     fi
2686     if test -f "${real_faad_tree}/libfaad/.libs/libfaad.a"
2687     then
2688       dnl  Use a custom faad
2689       AC_MSG_RESULT(${real_faad_tree}/libfaad/.libs/libfaad.a)
2690       VLC_ADD_PLUGIN([faad])
2691       VLC_ADD_LIBS([faad],[${real_faad_tree}/libfaad/.libs/libfaad.a])
2692       VLC_ADD_CPPFLAGS([faad],[-I${real_faad_tree}/include])
2693     else
2694       dnl  The given libfaad wasn't built
2695       AC_MSG_RESULT(no)
2696       AC_MSG_ERROR([cannot find ${real_faad_tree}/libfaad/.libs/libfaad.a, make sure you compiled libfaad in ${with_faad_tree}])
2697     fi
2698   else
2699     CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_faad}"
2700     LDFLAGS="${LDFLAGS_save} ${LIBS_faad}"
2701     AC_CHECK_HEADERS(faad.h, ,
2702       [ AC_MSG_ERROR([Cannot find development headers for libfaad...]) ])
2703     AC_CHECK_LIB(faad, faacDecOpen, [
2704       VLC_ADD_PLUGIN([faad])
2705       VLC_ADD_LIBS([faad],[-lfaad]) ],
2706       AC_CHECK_LIB(faad, NeAACDecOpen, [
2707         VLC_ADD_PLUGIN([faad])
2708         VLC_ADD_LIBS([faad],[-lfaad]) ],
2709         [ AC_MSG_ERROR([Cannot find libfaad library...]) ]))
2710     LDFLAGS="${LDFLAGS_save}"
2711     CPPFLAGS="${CPPFLAGS_save}"
2712   fi
2713 fi
2714
2715 dnl
2716 dnl twolame encoder plugin
2717 dnl
2718 PKG_ENABLE_MODULES_VLC([TWOLAME], [], [twolame], [MPEG Audio Layer 2 encoder], [auto], [], [], [ -DLIBTWOLAME_STATIC])
2719
2720 dnl
2721 dnl  QuickTime plugin
2722 dnl
2723 AC_ARG_ENABLE(quicktime,
2724   [  --enable-quicktime      QuickTime module (deprecated)])
2725 if test "${enable_quicktime}" = "yes"; then
2726   if test "${SYS}" = "mingw32"; then
2727     VLC_ADD_PLUGIN([quicktime])
2728   else
2729   AC_CHECK_HEADERS(QuickTime/QuickTime.h,
2730     [ VLC_ADD_PLUGIN([quicktime])
2731       VLC_ADD_LDFLAGS([quicktime],[-Wl,-framework,QuickTime,-framework,Carbon])
2732     ], [ AC_MSG_ERROR([cannot find QuickTime headers]) ])
2733   fi
2734 fi
2735
2736 dnl
2737 dnl  Real plugin
2738 dnl
2739 AC_ARG_ENABLE(real,
2740   [  --enable-real           Real media module (default disabled)])
2741 if test "${enable_real}" = "yes"; then
2742   VLC_ADD_PLUGIN([realvideo])
2743 fi
2744
2745 dnl
2746 dnl  Real RTSP plugin
2747 dnl
2748 AC_ARG_ENABLE(realrtsp,
2749   [  --enable-realrtsp       Real RTSP module (default disabled)])
2750 if test "${enable_realrtsp}" = "yes"; then
2751   VLC_ADD_PLUGIN([access_realrtsp])
2752 fi
2753
2754 dnl
2755 dnl A52/AC3 decoder plugin
2756 dnl
2757 AC_ARG_ENABLE(a52,
2758   [  --enable-a52            A/52 support with liba52 (default enabled)])
2759 if test "${enable_a52}" != "no"
2760 then
2761   AC_ARG_WITH(a52,
2762     [  --with-a52=PATH         a52 headers and libraries])
2763   AC_ARG_WITH(a52-tree,
2764     [  --with-a52-tree=PATH    a52dec tree for static linking ],[],[])
2765   if test "${with_a52_tree}" != "no" -a -n "${with_a52_tree}"
2766   then
2767     real_a52_tree="`cd ${with_a52_tree} 2>/dev/null && pwd`"
2768     if test -z "${real_a52_tree}"
2769     then
2770       dnl  The given directory can't be found
2771       AC_MSG_RESULT(no)
2772       AC_MSG_ERROR([${with_a52_tree} directory doesn't exist])
2773     fi
2774     dnl  Use a custom a52dec
2775     AC_MSG_CHECKING(for a52.h in ${real_a52_tree}/include)
2776     if test -f ${real_a52_tree}/include/a52.h
2777     then
2778       AC_MSG_RESULT(yes)
2779       VLC_ADD_CPPFLAGS([a52tofloat32],[-I${real_a52_tree}])
2780       VLC_ADD_LIBS([a52tofloat32],[-L${real_a52_tree}/liba52/.libs])
2781       LDFLAGS="${LDFLAGS_save} ${LIBS_a52tofloat32}"
2782       AC_CHECK_LIB(a52, a52_free, [
2783         VLC_ADD_PLUGIN([a52tofloat32])
2784         VLC_ADD_CPPFLAGS([a52tofloat32],[-DUSE_A52DEC_TREE])
2785         VLC_ADD_LIBS([a52tofloat32],[-la52])
2786         ],[
2787         if test -f ${real_a52_tree}/liba52/.libs/liba52.a
2788         then
2789           AC_MSG_ERROR([make sure you have at least a52dec-0.7.3 ($real_a52_tree)])
2790         else
2791           AC_MSG_ERROR([the specified tree hasn't been compiled])
2792         fi
2793       ])
2794       LDFLAGS="${LDFLAGS_save}"
2795     else
2796       AC_MSG_RESULT(no)
2797       AC_MSG_ERROR([the specified tree doesn't have a52.h])
2798     fi
2799   else
2800     if test -z "${with_a52}"
2801     then
2802       LDFLAGS_test=""
2803       CPPFLAGS_test=""
2804     else
2805       LDFLAGS_test="-L${with_a52}/lib"
2806       CPPFLAGS_test="-I${with_a52}/include"
2807     fi
2808     CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_test} ${CPPFLAGS_a52tofloat32}"
2809     LDFLAGS="${LDFLAGS_save} ${LDFLAGS_test} ${LIBS_a52tofloat32}"
2810     AC_CHECK_HEADERS(a52dec/a52.h, [
2811       AC_CHECK_LIB(a52, a52_free, [
2812         VLC_ADD_PLUGIN([a52tofloat32])
2813         VLC_ADD_LIBS([a52tofloat32],[${LDFLAGS_test} -la52])
2814         VLC_ADD_CPPFLAGS([a52tofloat32],[${CPPFLAGS_test}])
2815       ],[
2816         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.])
2817         ])
2818     ],[
2819       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.])
2820     ])
2821     CPPFLAGS="${CPPFLAGS_save}"
2822     LDFLAGS="${LDFLAGS_save}"
2823   fi
2824 fi
2825
2826 AC_ARG_WITH(a52-fixed,
2827       [  --with-a52-fixed        specify if liba52 has been compiled with fixed point support],
2828       [
2829         VLC_ADD_CPPFLAGS([a52tofloat32],[-DLIBA52_FIXED]) ])
2830
2831 dnl
2832 dnl DTS Coherent Acoustics decoder plugin
2833 dnl
2834 PKG_ENABLE_MODULES_VLC([DCA], [dtstofloat32], [libdca >= 0.0.5], [DTS Coherent Acoustics support with libdca], [auto])
2835
2836 dnl
2837 dnl  Flac plugin
2838 dnl
2839 PKG_ENABLE_MODULES_VLC([FLAC], [], [flac], [libflac decoder/encoder support], [auto])
2840
2841 dnl
2842 dnl  Libmpeg2 plugin
2843 dnl
2844 PKG_ENABLE_MODULES_VLC([LIBMPEG2], [], [libmpeg2 > 0.3.2], [libmpeg2 decoder support], [auto])
2845
2846 dnl
2847 dnl  Vorbis plugin
2848 dnl
2849 PKG_ENABLE_MODULES_VLC([VORBIS], [], [ogg vorbis >= 1.1 vorbisenc >= 1.1], [Vorbis decoder and encoder], [auto])
2850
2851 dnl
2852 dnl  Tremor plugin
2853 dnl
2854 AC_ARG_ENABLE(tremor,
2855   [  --enable-tremor         Tremor decoder support (default disabled)])
2856 if test "${enable_tremor}" = "yes"
2857 then
2858   AC_CHECK_HEADERS(tremor/ivorbiscodec.h, [
2859     VLC_ADD_PLUGIN([tremor])
2860     VLC_ADD_LIBS([tremor],[-lvorbisidec -logg])
2861    ],[])
2862 fi
2863
2864 dnl
2865 dnl  Speex plugin
2866 dnl
2867 PKG_ENABLE_MODULES_VLC([SPEEX], [], [ogg speex >= 1.0.5], [Speex decoder support], [auto])
2868
2869 dnl
2870 dnl  theora decoder plugin
2871 dnl
2872 PKG_ENABLE_MODULES_VLC([THEORA], [], [ogg theora >= 1.0], [experimental theora codec], [auto])
2873
2874 dnl
2875 dnl  dirac encoder plugin
2876 dnl
2877 PKG_ENABLE_MODULES_VLC([DIRAC], [], [dirac >= 0.10.0], [dirac encoder], [auto])
2878
2879 dnl
2880 dnl  schroedinger decoder plugin (for dirac format video)
2881 dnl
2882 PKG_ENABLE_MODULES_VLC([SCHROEDINGER], [], [schroedinger-1.0 >= 1.0.10], [dirac decoder and encoder using schroedinger], [auto])
2883
2884 dnl
2885 dnl  PNG decoder module
2886 dnl
2887 AC_ARG_ENABLE(png,
2888   [  --enable-png            PNG support (default enabled)])
2889 if test "${enable_png}" != "no"; then
2890 AC_CHECK_HEADERS(png.h, [
2891   LDFLAGS="${LDFLAGS_save} -lz"
2892   AC_CHECK_LIB(png, png_set_rows, [
2893     VLC_ADD_LIBS([png],[-lpng -lz])
2894     VLC_ADD_PLUGIN([png osdmenu osd_parser])],
2895     [],[-lz])
2896     LDFLAGS="${LDFLAGS_save}"
2897   ])
2898 fi
2899 AM_CONDITIONAL(BUILD_OSDMENU, [test "${enable_png}" != "no"])
2900
2901 dnl
2902 dnl H264 encoder plugin (using libx264)
2903 dnl
2904 AC_ARG_ENABLE(x264,
2905   [  --enable-x264           H264 encoding support with libx264 (default enabled)])
2906 if test "${enable_x264}" != "no"; then
2907   AC_ARG_WITH(x264-tree,
2908     [  --with-x264-tree=PATH   x264 tree for static linking ],[],[])
2909   if test "${with_x264_tree}" != "no" -a -n "${with_x264_tree}"
2910   then
2911     real_x264_tree="`cd ${with_x264_tree} 2>/dev/null && pwd`"
2912     if test -z "${real_x264_tree}"
2913     then
2914       dnl  The given directory can't be found
2915       AC_MSG_RESULT(no)
2916       AC_MSG_ERROR([${with_x264_tree} directory doesn't exist])
2917     fi
2918     dnl  Use a custom libx264
2919     AC_MSG_CHECKING(for x264.h in ${real_x264_tree})
2920     if test -f ${real_x264_tree}/x264.h
2921     then
2922       AC_MSG_RESULT(yes)
2923       VLC_ADD_CPPFLAGS([x264],[-I${real_x264_tree}])
2924       VLC_ADD_LIBS([x264],[-L${real_x264_tree}])
2925       PKG_CHECK_MODULES(X264,x264, [
2926         VLC_ADD_PLUGIN([x264])
2927         VLC_ADD_LDFLAGS([x264],[${X264_LIBS}])
2928         VLC_ADD_CFLAGS([x264],[${X264_CFLAGS}])
2929         if echo ${X264_LIBS} |grep -q 'pthreadGC2'; then
2930           VLC_ADD_CFLAGS([x264], [-DPTW32_STATIC_LIB])
2931         fi
2932       ],[
2933         AC_MSG_ERROR([the specified tree hasn't been compiled])
2934       ])
2935       LDFLAGS="${LDFLAGS_save}"
2936     else
2937       AC_MSG_RESULT(no)
2938       AC_MSG_ERROR([the specified tree doesn't have x264.h])
2939     fi
2940   else
2941       PKG_CHECK_MODULES(X264,x264 >= 0.86, [
2942         VLC_ADD_PLUGIN([x264])
2943         VLC_ADD_LDFLAGS([x264],[${X264_LIBS}])
2944
2945         AS_IF([test "${ac_cv_ld_bsymbolic}" != "no"], [
2946           VLC_ADD_LDFLAGS([x264],[-Wl,-Bsymbolic])
2947         ])
2948
2949         VLC_ADD_CFLAGS([x264],[${X264_CFLAGS}])
2950         if echo ${X264_LIBS} |grep -q 'pthreadGC2'; then
2951           VLC_ADD_CFLAGS([x264], [-DPTW32_STATIC_LIB])
2952         fi
2953       ],[
2954         if test "${enable_x264}" = "yes"; then
2955             AC_MSG_ERROR([Could not find libx264 >= 0.86 on your system: you may get it from http://www.videolan.org/x264.html])
2956           fi
2957       ])
2958     LDFLAGS="${LDFLAGS_save}"
2959   fi
2960 fi
2961
2962 dnl
2963 dnl libfluidsynth (MIDI synthetizer) plugin
2964 dnl
2965 PKG_ENABLE_MODULES_VLC([FLUIDSYNTH], [], [fluidsynth], [MIDI synthetiser with libfluidsynth], [auto])
2966
2967 dnl
2968 dnl Teletext Modules
2969 dnl vbi decoder plugin (using libzbvi)
2970 dnl telx module
2971 dnl uncompatible
2972 dnl
2973 AC_ARG_ENABLE(zvbi,
2974   AS_HELP_STRING([--enable-zvbi],[VBI (inc. Teletext) decoding support with
2975                   libzvbi (default enabled)]))
2976 AC_ARG_ENABLE(telx,
2977   AS_HELP_STRING([--enable-telx],[Teletext decoding module (conflicting with
2978                   zvbi) (default enabled if zvbi is absent)]))
2979
2980 AS_IF( [test "${enable_zvbi}" != "no"],[
2981     PKG_CHECK_MODULES(ZVBI,
2982         zvbi-0.2 >= 0.2.28,
2983         [
2984           VLC_ADD_LIBS([zvbi],[$ZVBI_LIBS])
2985           if test "${SYS}" = "mingw32"; then
2986               VLC_ADD_LIBS([zvbi],[ -lpthreadGC2])
2987           fi
2988           VLC_ADD_CFLAGS([zvbi],[$ZVBI_CFLAGS])
2989           VLC_ADD_PLUGIN([zvbi])
2990           AC_DEFINE(ZVBI_COMPILED, 1, [Define if the zvbi module is built])
2991           AS_IF( [test "${enable_telx}" = "yes"],[
2992                   AC_MSG_WARN([The zvbi and telx modules are uncompatibles.
2993                                Using zvbi.])
2994                   ])
2995         ],[
2996           AC_MSG_WARN(ZVBI library not found. Enabling the telx module instead)
2997         ])
2998     ])
2999 AS_IF( [test "${enable_telx}" != "no" ],[
3000   VLC_ADD_PLUGIN([telx])
3001   ])
3002
3003 dnl
3004 dnl libass subtitle rendering module
3005 dnl
3006 AC_ARG_ENABLE(libass,
3007   [  --enable-libass         Subtitle support using libass (default enabled)])
3008 AS_IF( [test "${enable_libass}" != "no"], [
3009   PKG_CHECK_MODULES(LIBASS, libass >= 0.9.8,
3010       [
3011         VLC_ADD_LIBS([libass],[$LIBASS_LIBS])
3012         VLC_ADD_CFLAGS([libass],[$LIBASS_CFLAGS])
3013         VLC_ADD_PLUGIN([libass])
3014
3015         AC_CHECK_HEADERS(fontconfig/fontconfig.h,
3016           [VLC_ADD_CPPFLAGS([libass],[-DHAVE_FONTCONFIG])
3017            VLC_ADD_LIBS([libass],[-lfontconfig])
3018        ])
3019       ],[
3020         AC_MSG_WARN([LIBASS library not found])
3021       ])
3022   ])
3023
3024 dnl
3025 dnl  kate decoder plugin
3026 dnl
3027 AC_ARG_ENABLE(kate,
3028 [  --enable-kate           kate codec (default enabled)])
3029 AS_IF([test "${enable_kate}" != "no"], [
3030   PKG_CHECK_MODULES(KATE,[kate >= 0.1.5], [
3031       VLC_ADD_PLUGIN([kate])
3032       VLC_ADD_CFLAGS([kate],[$KATE_CFLAGS])
3033       VLC_ADD_LIBS([kate],[$KATE_LIBS]) ],[
3034         AC_CHECK_HEADERS(kate/kate.h, [
3035           AC_CHECK_LIB(kate, kate_decode_init, [
3036             VLC_ADD_PLUGIN([kate])
3037             kate_libs="-lkate -logg"
3038             VLC_ADD_LDFLAGS([kate],[${kate_libs}]) ],[
3039             AS_IF([test "x${enable_kate}" != "x"], [
3040               AC_MSG_ERROR([libkate doesn't appear to be installed on your system.
3041               You also need to check that you have a libogg posterior to the 1.0 release.])
3042             ])
3043           ], [-lkate -logg])
3044         ],[
3045           AS_IF([test "x${enable_kate}" != "x"], [
3046             AC_MSG_ERROR([libkate headers do not appear to be installed on your system.
3047             You also need to check that you have a libogg posterior to the 1.0 release.])
3048           ])
3049         ])
3050   ])
3051 ])
3052
3053
3054 dnl
3055 dnl  tiger rendering for kate decoder plugin
3056 dnl
3057 AC_ARG_ENABLE(tiger,
3058 [  --enable-tiger          Tiger rendering library for Kate streams (default enabled)])
3059 AS_IF([test "${enable_tiger}" != "no"], [
3060   PKG_CHECK_MODULES(TIGER,[tiger >= 0.3.1], [
3061       AC_DEFINE(HAVE_TIGER, 1, [Define if libtiger is available.])
3062       VLC_ADD_CFLAGS([kate],[$TIGER_CFLAGS])
3063       VLC_ADD_LIBS([kate],[$TIGER_LIBS]) ],[
3064         AS_IF([test "x${enable_tiger}" != "x"], [
3065           AC_MSG_ERROR([libtiger does not appear to be installed on your system.])
3066         ])
3067   ])
3068 ])
3069
3070
3071
3072 dnl
3073 dnl  Video plugins
3074 dnl
3075
3076 EXTEND_HELP_STRING([Video plugins:])
3077
3078 dnl
3079 dnl  Xlib
3080 dnl
3081
3082 AC_PATH_XTRA()
3083 AC_CHECK_HEADERS(X11/Xlib.h)
3084
3085 dnl
3086 dnl  X C Bindings modules
3087 dnl
3088 AC_ARG_ENABLE(xcb,
3089   [  --enable-xcb            X11 support with XCB (default enabled)],, [
3090   AS_IF([test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" -a "${SYS}" != "darwin" -a "${SYS}" != "symbian"], [
3091     enable_xcb="yes"
3092   ], [
3093     enable_xcb="no"
3094   ])
3095 ])
3096 AC_ARG_ENABLE(xvideo,
3097   [  --enable-xvideo         XVideo support (default enabled)],, [
3098     enable_xvideo="$enable_xcb"
3099 ])
3100
3101 have_xcb="no"
3102 AS_IF([test "${enable_xcb}" != "no"], [
3103   dnl libxcb
3104   PKG_CHECK_MODULES(XCB, [xcb])
3105   have_xcb="yes"
3106   PKG_CHECK_MODULES(XCB_SHM, [xcb-shm])
3107
3108   AS_IF([test "${enable_xvideo}" != "no"], [
3109     PKG_CHECK_MODULES(XCB_XV, [xcb-xv >= 1.1.90.1], [
3110       VLC_ADD_PLUGIN([xcb_xv])
3111     ])
3112   ])
3113
3114   PKG_CHECK_MODULES(XCB_RANDR, [xcb-randr >= 1.3], [
3115     VLC_ADD_PLUGIN([panoramix])
3116     VLC_ADD_LIBS([panoramix],[${XCB_RANDR_LIBS} ${XCB_LIBS}])
3117     VLC_ADD_CFLAGS([panoramix],[${XCB_RANDR_CFLAGS} ${XCB_CFLAGS}])
3118   ], [
3119     AC_MSG_WARN([libxcb-randr not found. Panoramix filter will not be supported.])
3120   ])
3121
3122   dnl xcb-utils
3123   PKG_CHECK_MODULES(XCB_KEYSYMS, [xcb-keysyms >= 0.3.4], [
3124     PKG_CHECK_MODULES(XPROTO, [xproto])
3125     VLC_ADD_PLUGIN([globalhotkeys])
3126     VLC_ADD_CFLAGS([globalhotkeys], [${XCB_KEYSYMS_CFLAGS} ${XCB_CFLAGS}])
3127     VLC_ADD_LIBS([globalhotkeys], [${XCB_KEYSYMS_LIBS} ${XCB_LIBS}])
3128     VLC_ADD_CFLAGS([xcb_window], [-DHAVE_XCB_KEYSYMS])
3129   ], [
3130     AC_MSG_WARN([libxcb-keysyms (0.3.4 or later) not found. Hotkeys will not work.])
3131   ])
3132 ])
3133 AM_CONDITIONAL([HAVE_XCB], [test "${have_xcb}" = "yes"])
3134
3135 AC_ARG_ENABLE(glx,
3136   [  --enable-glx            X11 OpenGL (GLX) support (default enabled)],, [
3137   enable_glx="$enable_xcb"
3138 ])
3139 AS_IF([test "${enable_glx}" != "no"], [
3140   PKG_CHECK_MODULES(XLIB_XCB, [x11-xcb])
3141   PKG_CHECK_MODULES(GL, [gl],, [
3142     AC_CHECK_HEADER([GL/gl.h], [
3143       GL_CFLAGS=""
3144       GL_LIBS="-lGL"
3145     ], [
3146       AC_MSG_ERROR([GLX (libGL) cannot be found. If you do not need OpenGL with X11, use --disable-glx.])
3147     ])
3148   ])
3149   VLC_ADD_PLUGIN([xcb_glx])
3150 ])
3151
3152 dnl
3153 dnl  OpenGL
3154 dnl
3155 PKG_ENABLE_MODULES_VLC([GL], [], [gl], [OpenGL support], [auto])
3156 PKG_ENABLE_MODULES_VLC([GLES1], [], [glesv1_cm], [OpenGL ES v1 support], [auto])
3157 PKG_ENABLE_MODULES_VLC([GLES2], [], [glesv2], [OpenGL ES v2 support], [auto])
3158 PKG_ENABLE_MODULES_VLC([EGL], [], [egl], [EGL support], [auto])
3159
3160 dnl
3161 dnl  SDL module
3162 dnl
3163 AC_ARG_ENABLE(sdl,
3164   [  --enable-sdl            SDL support (default enabled)])
3165 AC_ARG_ENABLE(sdl-image,
3166   [  --enable-sdl-image      SDL image support (default enabled)])
3167 if test "${enable_sdl}" != "no"
3168 then
3169    PKG_CHECK_MODULES(SDL, [sdl >= 1.2.10], [
3170       # SDL on Darwin is heavily patched and can only run SDL_image
3171       if test "${SYS}" != "darwin"; then
3172         VLC_ADD_PLUGIN([vout_sdl aout_sdl])
3173       fi
3174       if test "${SYS}" != "mingw32"; then
3175         VLC_ADD_LIBS([vout_sdl],[${X_LIBS} ${X_PRE_LIBS} -lX11])
3176       fi
3177       VLC_ADD_CFLAGS([vout_sdl aout_sdl],[${SDL_CFLAGS}])
3178       VLC_ADD_LIBS([vout_sdl aout_sdl],[${SDL_LIBS}])
3179
3180       # SDL_image
3181       AS_IF([ test "${enable_sdl_image}" != "no"],[
3182         PKG_CHECK_MODULES(SDL_IMAGE, [SDL_image >= 1.2.10], [
3183           VLC_ADD_PLUGIN([sdl_image])
3184           VLC_ADD_LIBS([sdl_image],[${SDL_IMAGE_LIBS}])
3185           VLC_ADD_CFLAGS([sdl_image], [${SDL_IMAGE_CFLAGS}])],
3186           [ AC_MSG_WARN([The development package for SDL_image is not installed.
3187     You should install it alongside your SDL package.])
3188           ])
3189       ])
3190    ],[
3191      AC_MSG_WARN([The development package for SDL is not present or too old.
3192                   You need 1.2.10. Alternatively you can also configure with
3193                   --disable-sdl.])
3194    ])
3195 fi
3196
3197 dnl
3198 dnl  freetype module
3199 dnl
3200 AC_ARG_ENABLE(freetype,
3201   [  --enable-freetype       freetype support (default enabled)])
3202 AC_ARG_ENABLE(fribidi,
3203   [  --enable-fribidi        fribidi support (default enabled)])
3204 AC_ARG_ENABLE(fontconfig,
3205   [  --enable-fontconfig     fontconfig support (default enabled)])
3206 if test "${enable_freetype}" != "no"; then
3207    PKG_CHECK_MODULES(FREETYPE, freetype2,[
3208       VLC_ADD_PLUGIN([freetype])
3209       have_freetype=yes
3210       VLC_ADD_CPPFLAGS([freetype skins2],[${FREETYPE_CFLAGS}])
3211       if test "${SYS}" = "mingw32"; then
3212         VLC_ADD_LIBS([freetype],[-liconv -lz])
3213       fi
3214       VLC_ADD_LIBS([freetype skins2],[${FREETYPE_LIBS}])
3215
3216       if test "${SYS}" != "mingw32"; then
3217           if test "${enable_fontconfig}" != "no"; then
3218             AC_CHECK_HEADERS(fontconfig/fontconfig.h,
3219               [VLC_ADD_CPPFLAGS([freetype],[-DHAVE_FONTCONFIG])
3220                VLC_ADD_LIBS([freetype],[-lfontconfig])])
3221             AC_CHECK_HEADERS(Carbon/Carbon.h,
3222               [VLC_ADD_LDFLAGS([freetype],[-Wl,-framework,Carbon])])
3223           fi
3224       else
3225           VLC_ADD_LIBS([freetype],[-lgdi32])
3226       fi
3227
3228       dnl fribidi support
3229       if test "${enable_fribidi}" != "no"
3230       then
3231         PKG_CHECK_MODULES(FRIBIDI, fribidi, [
3232           VLC_ADD_CPPFLAGS([freetype skins2], [${FRIBIDI_CFLAGS} -DHAVE_FRIBIDI])
3233           VLC_ADD_LIBS([freetype skins2], [${FRIBIDI_LIBS}])
3234         ])
3235       fi
3236
3237   ],[
3238   have_freetype=no
3239   AS_IF([ test "${enable_freetype}" =  "yes"],[
3240     AC_MSG_ERROR([I couldn't find the freetype package. You can download libfreetype2
3241 from http://www.freetype.org/, or configure with --disable-freetype. Have a nice day.
3242       ])
3243     ])
3244   ])
3245
3246 fi
3247
3248 dnl
3249 dnl  libxml2 module
3250 dnl
3251 PKG_ENABLE_MODULES_VLC([LIBXML2], [xml], [libxml-2.0 >= 2.5], [libxml2 support],[auto])
3252
3253 dnl
3254 dnl  SVG module
3255 dnl
3256 PKG_ENABLE_MODULES_VLC([SVG], [], [librsvg-2.0 >= 2.9.0], [SVG rendering library],[auto])
3257
3258 dnl
3259 dnl  iOS vout module
3260 dnl
3261 AC_ARG_ENABLE(ios-vout,
3262   [  --enable-ios-vout    iOS video output module (default disabled)])
3263 if test "${enable_ios_vout}" = "yes"
3264 then
3265   VLC_ADD_PLUGIN([vout_ios])
3266   VLC_ADD_CFLAGS([vout_ios], [-DUSE_OPENGL_ES=1])
3267   VLC_ADD_LDFLAGS([vout_ios], [-Wl,-framework,OpenGLES,-framework,QuartzCore,-framework,UIKit,-framework,Foundation])
3268 fi
3269
3270 dnl
3271 dnl  QuartzText vout module (iOS/Mac OS)
3272 dnl
3273 AC_ARG_ENABLE(macosx-quartztext,
3274   [  --enable-macosx-quartztext   Mac OS X quartz text module (default enabled on Mac OS X)])
3275 if test "x${enable_macosx_quartztext}" != "xno" &&
3276   (test "${SYS}" = "darwin" || test "${enable_macosx_quartztext}" = "yes")
3277 then
3278   VLC_ADD_PLUGIN([quartztext])
3279   VLC_ADD_LDFLAGS([quartztext],[-Wl,-framework,ApplicationServices])
3280 fi
3281
3282 dnl
3283 dnl  Windows DirectX module
3284 dnl
3285
3286 if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"
3287 then
3288   VLC_ADD_PLUGIN([panoramix])
3289 fi
3290
3291 AC_ARG_ENABLE(directx,
3292   [  --enable-directx        Win32 DirectX support (default enabled on Win32)])
3293 if test "${enable_directx}" != "no"
3294 then
3295   if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"
3296   then
3297       VLC_ADD_LIBS([directx],[-luser32])
3298       AC_CHECK_HEADERS(ddraw.h,
3299       [ VLC_ADD_PLUGIN([directx aout_directx])
3300         VLC_ADD_LIBS([directx],[-lgdi32])
3301       ],[AC_MSG_ERROR([Cannot find DirectX headers!])]
3302       )
3303       AC_CHECK_HEADERS(GL/gl.h,
3304       [ VLC_ADD_PLUGIN([glwin32])
3305         VLC_ADD_LIBS([glwin32],[-lopengl32 -lgdi32])
3306       ])
3307       AC_CHECK_HEADERS(d3d9.h,
3308       [ VLC_ADD_PLUGIN([direct3d])
3309         VLC_ADD_LIBS([direct3d],[-lgdi32])
3310       ])
3311       VLC_ADD_LIBS([direct3d directx glwin32],[-lole32])
3312   fi
3313 fi
3314
3315 dnl
3316 dnl  Windows Direct2D plugin
3317 dnl
3318 AC_ARG_ENABLE(direct2d,
3319   [  --enable-direct2d         Win7/VistaPU Direct2D support (default auto on Win32)])
3320 if test "${enable_direct2d}" != "no"; then
3321   if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"
3322   then
3323     AC_CHECK_HEADERS(d2d1.h,
3324       [
3325         VLC_ADD_PLUGIN([direct2d])
3326         VLC_ADD_LIBS([direct2d],[-lgdi32 -lole32])
3327       ], [AC_MSG_WARN([Cannot find Direct2D headers!])]
3328     )
3329   fi
3330 fi
3331
3332 dnl
3333 dnl  win32 GDI plugin
3334 dnl
3335 AC_ARG_ENABLE(wingdi,
3336   [  --enable-wingdi         Win32 GDI module (default enabled on Win32)])
3337 if test "${enable_wingdi}" != "no"; then
3338   if test "${SYS}" = "mingw32"; then
3339     VLC_ADD_PLUGIN([wingdi])
3340     VLC_ADD_LIBS([wingdi],[-lgdi32 -lole32])
3341   fi
3342   if test "${SYS}" = "mingwce"; then
3343     VLC_ADD_PLUGIN([wingdi wingapi])
3344     VLC_ADD_LIBS([wingdi],[-laygshell])
3345     VLC_ADD_LIBS([wingapi],[-laygshell])
3346   fi
3347 fi
3348
3349
3350 dnl
3351 dnl  Linux framebuffer module
3352 dnl
3353 AC_CHECK_HEADER([linux/fb.h], [
3354   VLC_ADD_PLUGIN([fb])
3355 ])
3356
3357
3358 dnl
3359 dnl  DirectFB module
3360 dnl  try to find using: 1 - given location; 2 - directfb-config; 3 - pkg-config
3361 dnl  TODO: support for static linking
3362 dnl
3363 AC_ARG_ENABLE(directfb,
3364   [  --enable-directfb       DirectFB support (default disabled)])
3365 AC_ARG_WITH(directfb,
3366   [  --with-directfb=PATH    path to DirectFB headers and libraries])
3367
3368 if test "${enable_directfb}" = "yes"; then
3369     have_directfb="false"
3370     CPPFLAGS_mydirectfb=
3371     LIBS_mydirectfb=
3372     if test "${with_directfb}" != "no" -a -n "${with_directfb}"; then
3373         dnl Trying the given location
3374         CPPFLAGS_save="${CPPFLAGS}"
3375         LIBS_save="${LIBS}"
3376
3377         CPPFLAGS_new="-I${with_directfb}/include -D_REENTRANT -D_GNU_SOURCE"
3378         LIBS_new="-L${with_directfb}/lib/fusion/.libs/ -L${with_directfb}/lib/direct/.libs/"
3379         LIBS_new="${LIBS_new} -L${with_directfb}/src/.libs/"
3380
3381         CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_new}"
3382         LIBS="${LIBS} ${LIBS_new}"
3383
3384         dnl FIXME: too obscure
3385         AC_CHECK_HEADER([directfb.h], [
3386             AC_CHECK_LIB([direct],[direct_initialize], [
3387                 AC_CHECK_LIB([fusion], [fusion_enter], [
3388                     AC_CHECK_LIB([directfb], [DirectFBInit], have_directfb="true", have_directfb="false")
3389                 ], have_directfb="false")
3390             ], have_directfb="false")
3391         ], have_directfb="false")
3392
3393         dnl Restore flags
3394         CPPFLAGS="${CPPFLAGS_save}"
3395         LIBS="${LIBS_save}"
3396
3397         if test "${have_directfb}" = "true"; then
3398             LIBS_mydirectfb="${LIBS_new} -lz $LIBDL -ldirectfb -lfusion -ldirect -lpthread"
3399             CPPFLAGS_mydirectfb="${CPPFLAGS_new}"
3400         fi
3401     else
3402         dnl Look for directfb-config
3403         AC_PATH_PROG(DIRECTFB_CONFIG, directfb-config, no, ${PATH})
3404         if test "${DIRECTFB_CONFIG}" != "no"; then
3405             CPPFLAGS_mydirectfb="`${DIRECTFB_CONFIG} --cflags`"
3406             LIBS_mydirectfb="`${DIRECTFB_CONFIG} --libs`"
3407             have_directfb="true"
3408         else
3409             dnl Trying with pkg-config
3410             PKG_CHECK_MODULES(DIRECTFB, directfb, [
3411                 CPPFLAGS_mydirectfb="${DIRECTFB_CFLAGS}"
3412                 LIBS_mydirectfb="${DIRECTFB_LIBS}"
3413                 have_directfb="true"
3414                 ], [have_directfb="false"])
3415         fi
3416     fi
3417     if test "${have_directfb}" = "true"; then
3418         VLC_ADD_PLUGIN([directfb])
3419         VLC_ADD_CPPFLAGS([directfb],[${CPPFLAGS_mydirectfb}])
3420         VLC_ADD_LIBS([directfb],[${LIBS_mydirectfb}])
3421     else
3422         AC_MSG_ERROR([cannot find directfb headers and/or libraries ])
3423     fi
3424 fi
3425
3426 dnl
3427 dnl  AA plugin
3428 dnl
3429 AC_ARG_ENABLE(aa,
3430   [  --enable-aa             aalib output (default disabled)])
3431 if test "${enable_aa}" = "yes"
3432 then
3433   AC_CHECK_HEADER(aalib.h,have_aa="true",have_aa="false")
3434   if test "${have_aa}" = "true"
3435   then
3436     VLC_ADD_PLUGIN([aa])
3437     VLC_ADD_LIBS([aa],[-laa])
3438     if test "${SYS}" != "mingw32"; then
3439       VLC_ADD_LIBS([aa],[${X_LIBS} ${X_PRE_LIBS} -lX11])
3440     fi
3441   fi
3442 fi
3443
3444 dnl
3445 dnl  libcaca plugin
3446 dnl
3447 PKG_ENABLE_MODULES_VLC([CACA], [], [caca >= 0.99.beta14], [libcaca output],[auto])
3448
3449 dnl
3450 dnl  Audio plugins
3451 dnl
3452
3453 EXTEND_HELP_STRING([Audio plugins:])
3454
3455 dnl
3456 dnl  Pulseaudio module
3457 dnl
3458 AC_ARG_ENABLE(pulse,
3459   [AS_HELP_STRING([--enable-pulse],
3460     [use the PulseAudio client library (default auto)])])
3461 have_pulse="no"
3462 AS_IF([test "${enable_pulse}" != "no"], [
3463   PKG_CHECK_MODULES([PULSE], [libpulse >= 0.9.22], [
3464     have_pulse="yes"
3465   ], [
3466     AS_IF([test "x${enable_pulse}" != "x"], [
3467       AC_MSG_ERROR([$PULSE_PKG_ERRORS. PulseAudio 0.9.22 or later required.])
3468     ])
3469   ])
3470 ])
3471 AM_CONDITIONAL([HAVE_PULSE], [test "${have_pulse}" = "yes"])
3472
3473 dnl
3474 dnl  ALSA module
3475 dnl
3476 AC_ARG_ENABLE(alsa,
3477   [AS_HELP_STRING([--enable-alsa],
3478     [support the Advanced Linux Sound Architecture (default auto)])],, [
3479   AS_IF([test "$SYS" = "linux" -a "${have_pulse}" = "no"], [
3480     enable_alsa="yes"
3481   ])
3482 ])
3483 have_alsa="no"
3484 AS_IF([test "${enable_alsa}" != "no"], [
3485   PKG_CHECK_MODULES([ALSA], [alsa >= 1.0.16], [
3486     have_alsa="yes"
3487   ], [
3488     AS_IF([test "x${enable_alsa}" != "x"], [
3489       AC_MSG_ERROR([$ALSA_PKG_ERRORS. alsa-lib 1.0.16 or later required.])
3490     ])
3491   ])
3492 ])
3493 AM_CONDITIONAL([HAVE_ALSA], [test "${have_alsa}" = "yes"])
3494
3495 dnl
3496 dnl  Open Sound System module
3497 dnl
3498 AC_ARG_ENABLE(oss,
3499   [AS_HELP_STRING([--enable-oss],
3500     [support the Open Sound System OSS (default enabled on BSD)])],, [
3501   AS_IF([test "$SYS" = "mingw32" -o "$SYS" = "mingwce" -o "$SYS" = "linux"], [
3502     enable_oss="no"
3503   ])
3504 ])
3505 have_oss="no"
3506 OSS_LIBS=""
3507 AS_IF([test "$enable_oss" != "no"], [
3508   AC_CHECK_HEADERS([soundcard.h sys/soundcard.h], [
3509     have_oss="yes"
3510     AC_CHECK_LIB(ossaudio, main, [
3511       OSS_LIBS="-lossaudio"
3512     ])
3513   ])
3514 ])
3515 AC_SUBST(OSS_LIBS)
3516 AM_CONDITIONAL([HAVE_OSS], [test "${have_oss}" = "yes"])
3517
3518 dnl
3519 dnl  Portaudio module
3520 dnl
3521 PKG_ENABLE_MODULES_VLC([PORTAUDIO], [], [portaudio-2.0], [Portaudio library support], [auto])
3522
3523 dnl
3524 dnl  win32 waveOut plugin
3525 dnl
3526 AC_ARG_ENABLE(waveout,
3527   [  --enable-waveout        Win32 waveOut module (default enabled on Win32)])
3528 if test "${enable_waveout}" != "no"; then
3529   if test "${SYS}" = "mingw32"; then
3530     VLC_ADD_PLUGIN([waveout])
3531     VLC_ADD_LIBS([waveout],[-lwinmm])
3532   fi
3533   if test "${SYS}" = "mingwce"; then
3534     VLC_ADD_PLUGIN([waveout])
3535   fi
3536 fi
3537
3538 dnl
3539 dnl  CoreAudio plugin
3540 dnl
3541 AC_ARG_ENABLE(macosx-audio,
3542   [  --enable-macosx-audio   Mac OS X audio module (default enabled on MacOS X)])
3543 if test "x${enable_macosx_audio}" != "xno" &&
3544   (test "${SYS}" = "darwin" || test "${enable_macosx_audio}" = "yes")
3545 then
3546   AC_CHECK_HEADERS(CoreAudio/CoreAudio.h,
3547     [ VLC_ADD_PLUGIN([auhal])
3548       VLC_ADD_LDFLAGS([auhal],[-Wl,-framework,CoreAudio,-framework,AudioUnit,-framework,AudioToolbox,-framework,Carbon])
3549     ], [ AC_MSG_ERROR([cannot find CoreAudio headers]) ])
3550 fi
3551
3552 dnl
3553 dnl  AudioQueue plugin
3554 dnl
3555 AC_ARG_ENABLE(audioqueue,
3556   [  --enable-audioqueue       AudioQueue audio module (default disabled)])
3557 if test "${enable_audioqueue}" = "yes"
3558 then
3559   VLC_ADD_PLUGIN([audioqueue])
3560   VLC_ADD_LDFLAGS([audioqueue], [-Wl,-framework,AudioToolbox,-framework,CoreFoundation])
3561 fi
3562
3563 dnl
3564 dnl  JACK modules
3565 dnl
3566 PKG_ENABLE_MODULES_VLC([JACK], [jack access_jack], [jack], [JACK audio I/O modules],[auto])
3567
3568 dnl
3569 dnl UPnP Plugin (Intel SDK)
3570 dnl
3571 PKG_ENABLE_MODULES_VLC([UPNP], [upnp], [libupnp], [Intel UPnp SDK],[auto])
3572 VLC_ADD_CXXFLAGS([upnp],[${UPNP_CFLAGS}])
3573
3574 dnl
3575 dnl  Interface plugins
3576 dnl
3577
3578 EXTEND_HELP_STRING([Interface plugins:])
3579
3580 dnl
3581 dnl Skins2 module
3582 dnl
3583 AC_ARG_ENABLE(libtar,
3584   [  --enable-libtar         libtar support for skins2 (default auto)])
3585 AS_IF([test "${enable_libtar}" != "no"], [
3586   AC_CHECK_HEADERS(libtar.h, [
3587     VLC_ADD_LIBS([skins2],[-ltar])
3588   ])
3589 ])
3590
3591 AC_ARG_ENABLE(skins2,
3592   [AS_HELP_STRING([--enable-skins2],[Skins2 interface module (default
3593    enabled except on MacOSX and WinCE)])],, [
3594   AS_IF([test "${SYS}" != "darwin" && test "${SYS}" != "mingwce"], [
3595     enable_skins2="yes"
3596   ], [
3597     enable_skins2="no"
3598   ])
3599 ])
3600 AS_IF([test "${enable_skins2}" = "yes"], [
3601   dnl freetype
3602   AS_IF([test "${have_freetype}" != "yes"], [
3603     AC_MSG_ERROR([Could not find FreeType (required for skins2)])
3604   ])
3605
3606   AS_IF([test "${SYS}" = "mingw32"], [
3607     VLC_ADD_CPPFLAGS([skins2],[-U_OFF_T_ -U_off_t -Imodules/gui/skins2 -DWIN32_SKINS])
3608     VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
3609     VLC_ADD_LIBS([skins2],[-loleaut32 -lwinspool -lwinmm -lshell32 -lctl3d32 -ladvapi32 -lwsock32 -lgdi32 -lcomdlg32 -lole32 -luuid -lcomctl32  -lmsimg32 -luser32])
3610
3611   ], [test "${SYS}" = "darwin"], [
3612     VLC_ADD_CPPFLAGS([skins2],[-Imodules/gui/skins2 -DMACOSX_SKINS])
3613     VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
3614     VLC_ADD_LDFLAGS([skins2],[-Wl,-framework,Carbon])
3615
3616   ], [
3617     PKG_CHECK_MODULES([XPM], [xpm])
3618     PKG_CHECK_MODULES([XEXT], [xext])
3619     VLC_ADD_CPPFLAGS([skins2],[-Imodules/gui/skins2 ${X_CFLAGS} ${XEXT_CFLAGS} ${XPM_CFLAGS} -DX11_SKINS])
3620     VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
3621     VLC_ADD_LIBS([skins2],[${X_LIBS} ${X_PRE_LIBS} ${XEXT_LIBS} ${XPM_LIBS} -lX11])
3622
3623   ])
3624   VLC_ADD_PLUGIN([skins2])
3625   ALIASES="${ALIASES} svlc"
3626 ])
3627 AM_CONDITIONAL(BUILD_SKINS, [test "${enable_skins2}" = "yes"])
3628
3629 dnl
3630 dnl Hildon UI
3631 dnl
3632 AC_ARG_ENABLE(hildon,
3633   [  --enable-hildon         Hildon touchscreen UI (default disabled)])
3634 AS_IF([test "${enable_hildon}" = "yes"], [
3635   PKG_CHECK_MODULES(HILDON, [hildon-1], [
3636     PKG_CHECK_MODULES(HILDON_FM, hildon-fm-2, [
3637       VLC_ADD_CFLAGS([hildon],[${HILDON_FM_CFLAGS} -DHAVE_HILDON_FM])
3638       VLC_ADD_LIBS([hildon],[${HILDON_FM_LIBS}])
3639     ], [
3640       AC_MSG_WARN(hildon-fm-2 not found)
3641     ])
3642     VLC_ADD_CFLAGS([hildon],[${HILDON_CFLAGS} ${X_CFLAGS}])
3643     VLC_ADD_LIBS([hildon],[${HILDON_LIBS} ${X_LIBS} ${X_PRE_LIBS} -lX11])
3644     VLC_ADD_PLUGIN([hildon])
3645     ALIASES="${ALIASES} mvlc"
3646   ], [
3647     AS_IF([test "${enable_hildon}" = "yes"],[
3648       AC_MSG_ERROR([Hildon libraries not found])
3649     ])
3650     enable_hildon="no"
3651   ])
3652 ])
3653 AM_CONDITIONAL(BUILD_HILDON, [test "${enable_hildon}" = "yes"])
3654
3655 dnl
3656 dnl QT 4
3657 dnl
3658 AC_ARG_ENABLE(qt4,
3659   [  --enable-qt4            Qt 4 support (default enabled) ],, [
3660   AS_IF([test "${SYS}" = "darwin"], [enable_qt4=no])
3661 ])
3662 AS_IF([test "${enable_qt4}" != "no"], [
3663   PKG_CHECK_MODULES(QT4, [QtCore QtGui >= 4.4.0], [
3664     VLC_ADD_PLUGIN([qt4])
3665     VLC_ADD_LIBS([qt4],[${QT4_LIBS}])
3666     VLC_ADD_CXXFLAGS([qt4],[${QT4_CFLAGS}])
3667     ALIASES="${ALIASES} qvlc"
3668
3669     AC_LANG_PUSH([C++])
3670     CPPFLAGS_save="${CPPFLAGS}"
3671
3672     AC_MSG_CHECKING([whether Qt uses X11])
3673     CPPFLAGS="${CPPFLAGS} ${QT4_CFLAGS}"
3674     AC_PREPROC_IFELSE([AC_LANG_SOURCE([
3675 #include <QWidget>
3676 #if !defined (Q_WS_X11)
3677 # error Fail
3678 #endif
3679     ])], [
3680       AC_MSG_RESULT([yes])
3681       VLC_ADD_LIBS([qt4],[${X_LIBS} ${X_PRE_LIBS} -lX11])
3682       VLC_ADD_CXXFLAGS([qt4],[${X_CFLAGS}])
3683     ], [
3684       AC_MSG_RESULT([no])
3685     ])
3686
3687     CPPFLAGS="${CPPFLAGS_save}"
3688     AC_LANG_POP([C++])
3689
3690     AS_IF([test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"], [
3691         VLC_ADD_LIBS([qt4],[-lole32])
3692     ])
3693     AS_IF([test "${SYS}" = "darwin" ],[
3694          VLC_ADD_LDFLAGS([qt4], [-Wl,-framework,Cocoa])
3695     ])
3696     AC_PATH_PROGS(MOC, [moc-qt4 moc], moc,`eval $PKG_CONFIG --variable=exec_prefix QtCore`/bin)
3697     AC_PATH_PROG(RCC, rcc, rcc,`eval $PKG_CONFIG --variable=exec_prefix QtCore`/bin)
3698     AC_PATH_PROGS(UIC, [uic-qt4 uic], uic,`eval $PKG_CONFIG --variable=exec_prefix QtCore`/bin)
3699   ], [
3700     AS_IF([test "${enable_qt4}" = "yes"],[
3701       AC_MSG_ERROR([Qt 4 library not found])
3702     ],[
3703       AC_MSG_WARN([Qt 4 library not found])
3704     ])
3705     enable_qt4="no"
3706   ])
3707 ])
3708 AM_CONDITIONAL(ENABLE_QT4, [test "x$enable_qt4" != "xno"])
3709
3710 dnl
3711 dnl Simple test for skins2 dependency
3712 dnl
3713 AS_IF([test "${enable_skins2}" != "no" && test "x$enable_qt4" = "xno"], [
3714   AC_MSG_ERROR([The skins2 module depends on a the Qt4 development package. Without it you won't be able to open any dialog box from the interface, which makes the skins2 interface rather useless. Install the Qt4 development package or alternatively you can also configure with: --disable-qt4 --disable-skins2.])
3715 ])
3716
3717 dnl
3718 dnl  MacOS X video output/gui modules
3719 dnl
3720 AC_ARG_ENABLE(macosx,
3721   [  --enable-macosx         Mac OS X gui support (default enabled on Mac OS X)])
3722 if test "x${enable_macosx}" = "xyes"
3723 then
3724   VLC_ADD_LDFLAGS([macosx minimal_macosx],[-Wl,-framework,Cocoa])
3725   VLC_ADD_LDFLAGS([macosx minimal_macosx],[-Wl,-framework,OpenGL])
3726   VLC_ADD_LDFLAGS([macosx minimal_macosx],            [-Wl,-framework,Carbon])
3727   VLC_ADD_LDFLAGS([macosx minimal_macosx],            [-Wl,-framework,CoreServices])
3728   VLC_ADD_LDFLAGS([macosx minimal_macosx],            [-Wl,-framework,AGL])
3729   VLC_ADD_LDFLAGS([macosx],                           [-Wl,-framework,IOKit])
3730   VLC_ADD_LDFLAGS([macosx],                           [-F${CONTRIB_DIR}/Sparkle -Wl,-framework,Sparkle])
3731   VLC_ADD_OBJCFLAGS([macosx],                         [-F${CONTRIB_DIR}/Sparkle])
3732   VLC_ADD_LDFLAGS([macosx],                           [-F${CONTRIB_DIR}/BGHUDAppKit -Wl,-framework,BGHUDAppKit])
3733   VLC_ADD_OBJCFLAGS([macosx],                         [-F${CONTRIB_DIR}/BGHUDAppKit])
3734   dnl For bug report
3735   VLC_ADD_LDFLAGS([macosx],                           [-Wl,-framework,AddressBook])
3736   VLC_ADD_LDFLAGS([macosx],                           [-Wl,-framework,WebKit])
3737   VLC_ADD_OBJCFLAGS([macosx minimal_macosx], [-fobjc-exceptions] )
3738
3739   VLC_ADD_PLUGIN([macosx minimal_macosx])
3740 fi
3741
3742 dnl
3743 dnl  MacOS X related modules
3744 dnl
3745
3746 AC_ARG_ENABLE(macosx-vout,
3747   [  --enable-macosx-vout    Mac OS X video output module (default enabled on Mac OS X)])
3748 if test "x${enable_macosx_vout}" != "xno" &&
3749   (test "${SYS}" = "darwin" || test "${enable_macosx_vout}" = "yes")
3750 then
3751   VLC_ADD_LDFLAGS([vout_macosx],[-Wl,-framework,Cocoa])
3752   VLC_ADD_LDFLAGS([vout_macosx],[-Wl,-framework,OpenGL])
3753   VLC_ADD_PLUGIN([vout_macosx])
3754 fi
3755
3756 AC_ARG_ENABLE(macosx-dialog-provider,
3757   [  --enable-macosx-dialog-provider Mac OS X dialog module (default enabled on Mac OS X)])
3758 if test "x${enable_macosx_dialog_provider}" != "xno" &&
3759   (test "${SYS}" = "darwin" || test "${enable_macosx_dialog_provider}" = "yes")
3760 then
3761   VLC_ADD_LDFLAGS([macosx_dialog_provider],[-Wl,-framework,Cocoa])
3762   VLC_ADD_PLUGIN([macosx_dialog_provider])
3763 fi
3764
3765 AC_ARG_ENABLE(macosx-qtcapture,
3766   [  --enable-macosx-qtcapture Mac OS X qtcapture (iSight) module (default enabled on Mac OS X)])
3767 if test "x${enable_macosx_qtcapture}" != "xno" &&
3768   (test "${SYS}" = "darwin" || test "${enable_macosx_qtcapture}" = "yes")
3769 then
3770   VLC_ADD_LDFLAGS([qtcapture], [-Wl,-framework,Cocoa])
3771   VLC_ADD_LDFLAGS([qtcapture], [-Wl,-framework,QTKit])
3772   VLC_ADD_LDFLAGS([qtcapture], [-Wl,-framework,CoreAudio])
3773   VLC_ADD_LDFLAGS([qtcapture], [-Wl,-framework,QuartzCore])
3774   VLC_ADD_LDFLAGS([qtcapture], [-Wl,-framework,CoreVideo])
3775   VLC_ADD_PLUGIN([qtcapture])
3776 fi
3777
3778 AC_ARG_ENABLE(macosx-eyetv,
3779   [  --enable-macosx-eyetv   Mac OS X EyeTV (TNT Tuner) module (default enabled on Mac OS X)])
3780 if test "x${enable_macosx_eyetv}" != "xno" &&
3781   (test "${SYS}" = "darwin" || test "${enable_macosx_eyetv}" = "yes")
3782 then
3783   VLC_ADD_LDFLAGS([access_eyetv], [-Wl,-framework,Foundation])
3784   VLC_ADD_PLUGIN([access_eyetv])
3785 fi
3786
3787 AC_ARG_ENABLE(macosx-vlc-app,
3788   [  --enable-macosx-vlc-app build the VLC media player (default enabled on Mac OS X)])
3789 AM_CONDITIONAL(BUILD_MACOSX_VLC_APP, [test "${enable_macosx_vlc_app}" != "no" &&
3790     (test "${SYS}" = "darwin" || test "${enable_macosx_vlc_app}" = "yes") ])
3791
3792 dnl
3793 dnl  ncurses module
3794 dnl
3795 AC_ARG_ENABLE(ncurses,
3796   [  --disable-ncurses       ncurses interface support (default disabled)],
3797   [if test "${enable_ncurses}" != "no"; then
3798     AC_CHECK_HEADER(ncurses.h,
3799       [AC_CHECK_LIB(ncursesw, mvprintw,
3800         [VLC_ADD_PLUGIN([ncurses])
3801         VLC_ADD_LIBS([ncurses],[-lncursesw])
3802         ALIASES="${ALIASES} nvlc"
3803         AC_CHECK_LIB(ncursesw, tgetent, [],
3804           AC_CHECK_LIB(tinfow, tgetent, [VLC_ADD_LIBS([ncurses],[-ltinfow])],
3805             [AC_CHECK_LIB(tinfo, tgetent, [VLC_ADD_LIBS([ncurses],[-ltinfo])],
3806               [AS_IF([test "${enable_ncurses}" = "yes"],
3807                 [AC_MSG_ERROR([tgetent not found in ncursesw tinfow tinfo]
3808                )])])
3809             ]
3810           )
3811         )
3812         ],
3813           [AS_IF([test "${enable_ncurses}" = "yes"], [
3814             AC_MSG_ERROR([libncursesw not found])])]
3815         )],
3816         [AS_IF([test "${enable_ncurses}" = "yes"], [
3817           AC_MSG_ERROR([ncurses.h not found])])]
3818         )
3819   fi]
3820 )
3821
3822 dnl
3823 dnl  XOSD plugin
3824 dnl
3825 AC_ARG_ENABLE(xosd,
3826   [  --enable-xosd           xosd interface support (default disabled)])
3827 if test "${enable_xosd}" = "yes"
3828 then
3829   AC_CHECK_HEADERS(xosd.h,
3830     AC_CHECK_LIB(xosd, xosd_set_horizontal_offset, [
3831       VLC_ADD_PLUGIN([xosd])
3832       VLC_ADD_LIBS([xosd],[-lxosd])
3833     ])
3834   )
3835 fi
3836
3837 dnl
3838 dnl Framebuffer (overlay) plugin
3839 dnl
3840 AC_ARG_ENABLE(fbosd,
3841   [  --enable-fbosd          fbosd interface support (default disabled)])
3842 if test "${enable_fbosd}" = "yes"
3843 then
3844   AC_CHECK_HEADERS(linux/fb.h, [
3845     VLC_ADD_PLUGIN([fbosd])
3846  ])
3847 fi
3848
3849 dnl
3850 dnl Visualisation plugin
3851 dnl
3852 AC_ARG_ENABLE(visual,
3853   [  --enable-visual         visualisation plugin (default enabled)])
3854 if test "${enable_visual}" != "no"
3855 then
3856     VLC_ADD_PLUGIN([visual])
3857 fi
3858
3859 dnl
3860 dnl  goom visualization plugin
3861 dnl
3862 PKG_ENABLE_MODULES_VLC([GOOM], [], [libgoom2], [goom visualization plugin], [auto])
3863
3864 dnl
3865 dnl libprojectM visualization plugin
3866 dnl
3867 AC_ARG_ENABLE(projectm,
3868   [  --enable-projectm          projectM visualization plugin (default enabled)])
3869 AS_IF([test "${enable_projectm}" != "no"],
3870   [
3871     PKG_CHECK_MODULES(PROJECTM, libprojectM,
3872     [
3873       VLC_ADD_PLUGIN([projectm])
3874       VLC_ADD_CXXFLAGS([projectm],[$PROJECTM_CFLAGS])
3875       VLC_ADD_LIBS([projectm],[$PROJECTM_LIBS])
3876       PKG_CHECK_MODULES(PROJECTM2, [libprojectM >= 2.0.0],
3877         [ AC_DEFINE([HAVE_PROJECTM2], 1, [Define to 1 if using libprojectM 2.x]) ],
3878         [ AC_MSG_WARN( [Using libprojectM version 1] )
3879       ])
3880     ],[
3881       AC_MSG_WARN([libprojectM library not found])
3882     ])
3883   ])
3884
3885 dnl
3886 dnl  AtmoLight (homemade Philips Ambilight clone)
3887 dnl
3888 AC_ARG_ENABLE(atmo,
3889 AS_HELP_STRING([--disable-atmo],[AtmoLight (homemade Philips Ambilight clone)
3890                 (default enabled)]),, [enable_atmo="yes"])
3891 AS_IF([test "${enable_atmo}" != no], [
3892   AS_IF([test "${SYS}" = "mingw32" -o "${SYS}" = "linux"], [
3893     AC_LANG_PUSH(C++)
3894     VLC_ADD_PLUGIN([atmo])
3895     AC_LANG_POP(C++)
3896   ])
3897 ])
3898
3899 dnl
3900 dnl  Bonjour services discovery
3901 PKG_ENABLE_MODULES_VLC([BONJOUR], [], [avahi-client >= 0.6], [Bonjour services discovery], [auto])
3902
3903 dnl
3904 dnl  libudev services discovery
3905 PKG_ENABLE_MODULES_VLC([UDEV], [], [libudev >= 142], [Linux udev services discovery], [auto])
3906
3907 dnl
3908 dnl MTP devices services discovery
3909 PKG_ENABLE_MODULES_VLC([MTP], [mtp access_mtp], [libmtp >= 1.0.0], [MTP devices support], [auto])
3910
3911 dnl
3912 dnl  Lirc plugin
3913 dnl
3914 AC_ARG_ENABLE(lirc,
3915   [  --enable-lirc           lirc support (default disabled)])
3916 if test "${enable_lirc}" = "yes"
3917 then
3918   AC_CHECK_HEADER(lirc/lirc_client.h, AC_CHECK_LIB(lirc_client, lirc_init, have_lirc="true", have_lirc="false"),have_lirc="false")
3919   if test "${have_lirc}" = "true"
3920   then
3921     VLC_ADD_PLUGIN([lirc])
3922     VLC_ADD_LIBS([lirc],[-llirc_client])
3923   fi
3924 fi
3925
3926 EXTEND_HELP_STRING([Misc options:])
3927
3928 dnl
3929 dnl libgcrypt
3930 dnl
3931 AC_ARG_ENABLE(libgcrypt,
3932   [  --disable-libgcrypt     gcrypt support (default enabled)])
3933 AS_IF([test "${enable_libgcrypt}" != "no"], [
3934   AC_CHECK_DECL([GCRYCTL_SET_THREAD_CBS], [
3935     libgcrypt-config --version >/dev/null || \
3936         AC_MSG_ERROR([gcrypt.h present but libgcrypt-config could not be found])
3937     AC_CHECK_LIB(gcrypt, gcry_control, [
3938       have_libgcrypt="yes"
3939       GCRYPT_CFLAGS="`libgcrypt-config --cflags`"
3940       GCRYPT_LIBS="`libgcrypt-config --libs`"
3941     ], [
3942       AC_MSG_ERROR([libgcrypt not found. Install libgcrypt or use --disable-libgcrypt. Have a nice day.])
3943     ], [`libgcrypt-config --libs`])
3944   ], [
3945     AC_MSG_ERROR([libgcrypt version 1.1.94 or higher not found. Install libgcrypt or use --disable-libgcrypt. Have a nice day.])
3946   ], [#include <gcrypt.h>]
3947   )
3948 ])
3949
3950 if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"; then
3951   AS_IF([test "${have_libgcrypt}" = "yes"],[
3952     VLC_ADD_LIBS([rtp stream_out_rtp], [${GCRYPT_LIBS}])
3953   ])
3954 fi
3955 AC_SUBST(GCRYPT_CFLAGS)
3956 AC_SUBST(GCRYPT_LIBS)
3957 AM_CONDITIONAL([HAVE_GCRYPT], [test "${have_libgcrypt}" = "yes"])
3958
3959 dnl
3960 dnl TLS/SSL
3961 dnl
3962 AC_ARG_ENABLE(gnutls,
3963   [  --enable-gnutls         gnutls TLS/SSL support (default enabled)])
3964
3965 AS_IF([test "${have_libgcrypt}" != "yes"], [
3966   AS_IF([test "${enable_gnutls}" = "yes"], [
3967     AC_MSG_ERROR([--enable-gnutls and --disable-libgcrypt are mutually exclusive.])
3968   ])
3969   enable_gnutls="no"
3970 ])
3971 AS_IF([test "${enable_gnutls}" != "no"], [
3972   PKG_CHECK_MODULES(GNUTLS, [gnutls >= 1.7.4], [
3973     VLC_ADD_PLUGIN([gnutls])
3974     VLC_ADD_CFLAGS([gnutls], [$GNUTLS_CFLAGS])
3975     AS_IF([test "${SYS}" = "mingw32"], [
3976       dnl pkg-config --libs gnutls omits these
3977       VLC_ADD_LIBS([gnutls], [-lz ${LTLIBINTL}])
3978     ])
3979     VLC_ADD_LIBS([gnutls], [${GCRYPT_LIBS}])
3980     VLC_ADD_CFLAGS([gnutls], [${GCRYPT_CFLAGS}])
3981     VLC_ADD_LIBS([gnutls], [$GNUTLS_LIBS])
3982   ], [
3983     AS_IF([test "${enable_gnutls}" = "yes"], [
3984       AC_MSG_ERROR([gnutls not present or too old (version 1.7.4 required)])
3985     ])
3986   ])
3987 ])
3988
3989
3990 dnl
3991 dnl RemoteOSD plugin (VNC client as video filter)
3992 dnl
3993 AC_MSG_CHECKING([whether to enable the RemoteOSD plugin])
3994 AS_IF([test "${have_libgcrypt}" = "yes"],[
3995   AC_MSG_RESULT(yes)
3996   VLC_ADD_PLUGIN([remoteosd])
3997   VLC_ADD_LIBS([remoteosd], ${GCRYPT_LIBS})
3998   VLC_ADD_CFLAGS([remoteosd], ${GCRYPT_CFLAGS})
3999 ], [
4000   AC_MSG_RESULT(no)
4001   AC_MSG_WARN([libgcrypt support required for RemoteOSD plugin])
4002 ])
4003
4004
4005 dnl
4006 dnl RAOP plugin
4007 dnl
4008 AC_MSG_CHECKING([whether to enable the RAOP plugin])
4009 AS_IF([test "${have_libgcrypt}" = "yes"], [
4010   AC_MSG_RESULT(yes)
4011   VLC_ADD_PLUGIN([stream_out_raop])
4012   VLC_ADD_LIBS([stream_out_raop], [${GCRYPT_LIBS} -lgpg-error])
4013   VLC_ADD_CFLAGS([stream_out_raop], [${GCRYPT_CFLAGS}])
4014 ], [
4015   AC_MSG_RESULT(no)
4016   AC_MSG_WARN([libgcrypt support required for RAOP plugin])
4017 ])
4018
4019
4020 dnl
4021 dnl OSSO (Maemo screen blanking) plugin
4022 dnl
4023 PKG_ENABLE_MODULES_VLC([OSSO_SCREENSAVER], [], [libosso], [Maemo support], [auto])
4024
4025 AS_IF([test -f "/etc/maemo_version"], [
4026   AC_DEFINE([HAVE_MAEMO], 1, [Define to 1 if building for the Maemo platform.])
4027 ])
4028
4029
4030 dnl
4031 dnl update checking system
4032 dnl
4033 AC_ARG_ENABLE(update-check,
4034   [  --enable-update-check   update checking system (default disabled)])
4035 if test "${enable_update_check}" = "yes"
4036 then
4037   if test "${have_libgcrypt}" != "yes"
4038   then
4039     AC_MSG_ERROR([libgcrypt is required for update checking system])
4040   fi
4041   VLC_ADD_LIBS([libvlccore], [${GCRYPT_LIBS}])
4042   VLC_ADD_CFLAGS([libvlccore], [${GCRYPT_CFLAGS}])
4043   AC_DEFINE([UPDATE_CHECK], 1, [Define if you want to use the VLC update mechanism])
4044 fi
4045
4046 dnl
4047 dnl SQLite
4048 dnl
4049 AC_ARG_WITH(sqlite,
4050   [  --with-sqlite=PATH      sqlite path linking])
4051 if test "${SYS}" != "darwin"; then
4052   PKG_ENABLE_MODULES_VLC([SQLITE], [], [sqlite3 >= 3.6.0], [sqlite3], [auto])
4053 else
4054   if test "${enable_sqlite}" != "no"
4055   then
4056     AC_CHECK_HEADERS(sqlite3.h, [
4057         VLC_ADD_PLUGIN([sqlite])
4058         if test "${with_sqlite}" != "no" -a -n "${with_sqlite}"; then
4059           AC_MSG_CHECKING(existence of sqlite directory in ${with_sqlite})
4060           real_sqlite="`cd ${with_sqlite} 2>/dev/null && pwd`"
4061           if test -z "${real_sqlite}"
4062           then
4063             dnl  The given directory can't be found
4064             AC_MSG_RESULT(no)
4065             AC_MSG_ERROR([cannot cd to ${with_sqlite}])
4066           fi
4067           VLC_ADD_CFLAGS([sqlite],[-I${with_sqlite}/include])
4068           VLC_ADD_LIBS([sqlite], [-L${with_sqlite}/lib -lsqlite3])
4069           AC_MSG_RESULT(yes)
4070         else
4071           VLC_ADD_LIBS([sqlite], [-lsqlite3])
4072         fi
4073         AC_DEFINE([SQLITE_MODULE], 1, [Define if you want to use SQLite module]) ],
4074         AC_MSG_ERROR([sqlite3 is required for sqlite module]) )
4075   fi
4076 fi
4077 AM_CONDITIONAL([HAVE_SQLITE], [test "${enable_sqlite}" != "no"])
4078
4079 dnl
4080 dnl media library
4081 dnl
4082 AC_ARG_ENABLE(media-library, [--enable-media-library media library (default disabled)])
4083 if test "${enable_media_library}" == "yes"; then
4084     if test "${enable_sqlite}" != "yes"; then
4085        AC_MSG_ERROR([SQLite module is required for the media library])
4086     else
4087        AC_DEFINE([MEDIA_LIBRARY], 1, [Define if you want to use the VLC media library])
4088        VLC_ADD_CPPFLAGS([qt4],"-DMEDIA_LIBRARY")
4089        VLC_ADD_PLUGIN([media_library])
4090     fi
4091 fi
4092 AM_CONDITIONAL([ENABLE_MEDIA_LIBRARY], [test "${enable_media_library}" = "yes"])
4093
4094 dnl
4095 dnl  Endianness check
4096 dnl
4097 AC_C_BIGENDIAN
4098 AS_IF([test "${ac_cv_c_bigendian}" = "yes"], [
4099   DEFS_BIGENDIAN="-DWORDS_BIGENDIAN=1"
4100 ], [
4101   DEFS_BIGENDIAN=""
4102 ])
4103 AC_SUBST(DEFS_BIGENDIAN)
4104
4105 dnl
4106 dnl Where to install KDE solid .desktop
4107 dnl
4108 AC_ARG_VAR([KDE4_CONFIG], [kde4-config utility])
4109 AS_IF([test "x$KDE4_CONFIG" = "x"], [
4110   KDE4_CONFIG="kde4-config"
4111 ])
4112
4113 AC_ARG_WITH(kde-solid,
4114   AS_HELP_STRING([--with-kde-solid=PATH],
4115                  [KDE Solid actions directory (auto)]),, [
4116
4117 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ; then
4118   with_kde_solid="yes"
4119 fi
4120 ])
4121 soliddatadir=""
4122 AS_IF([test "${with_kde_solid}" != "no"], [
4123   AS_IF([test "${with_kde_solid}" = "yes"], [
4124     kde4datadir="`${KDE4_CONFIG} --install data`"
4125     AS_IF([test "x$kde4datadir" = "x"], [kde4datadir='${datadir}/kde4/apps'])
4126     soliddatadir="${kde4datadir}/solid/actions"
4127   ], [
4128     soliddatadir="${with_kde_solid}"
4129   ])
4130 ])
4131 AC_SUBST(soliddatadir)
4132 AM_CONDITIONAL(KDE_SOLID, [test "x${soliddatadir}" != "x"])
4133
4134 dnl
4135 dnl  DLL loader copied from MPlayer copied from somewhere else (WINE ?)
4136 dnl
4137 loader=false
4138 AC_ARG_ENABLE(loader,
4139   AS_HELP_STRING([--enable-loader],[build DLL loader for ELF i386 platforms
4140                   (default disabled)]))
4141 AM_CONDITIONAL(LOADER, [test "${enable_loader}" = "yes"])
4142 AS_IF([test "${enable_loader}" = "yes"],
4143   [ VLC_ADD_PLUGIN([dmo])
4144     VLC_ADD_CPPFLAGS([dmo quicktime realvideo],[-I\\\${top_srcdir}/libs/loader])
4145     VLC_ADD_LIBS([dmo quicktime realvideo],[\\\${top_builddir}/libs/loader/libloader.la])
4146     VLC_ADD_CPPFLAGS([realvideo], [-DLOADER])
4147     VLC_ADD_LIBS([dmo quicktime], [-lpthread])
4148   ])
4149
4150 EXTEND_HELP_STRING([Components:])
4151
4152 dnl
4153 dnl  the VLC binary
4154 dnl
4155 AC_ARG_ENABLE(vlc,
4156   [  --enable-vlc            build the VLC media player (default enabled)])
4157 AM_CONDITIONAL(BUILD_VLC, [test "${enable_vlc}" != "no"])
4158
4159
4160 dnl
4161 dnl  Plugin and builtin checks
4162 dnl
4163 plugin_support=yes
4164
4165 dnl Automagically disable plugins if there is no system support for
4166 dnl dynamically loadable files (.so, .dll, .dylib).
4167 dnl don't forget vlc-win32 still can load .dll as plugins
4168 AS_IF([test "${ac_cv_have_plugins}" = "no"], [
4169   AC_MSG_WARN([*** No plugin support! Building statically! ***])
4170   plugin_support=no
4171 ])
4172
4173 AS_IF([test "${plugin_support}" != "no"], [
4174   AC_DEFINE(HAVE_DYNAMIC_PLUGINS, 1, [Define if dynamic plugins are supported])
4175 ])
4176
4177 dnl
4178 dnl Pic and shared libvlc stuff
4179 dnl
4180 AS_IF([test "${SYS}" = "mingw32"], [
4181   FILE_LIBVLCCORE_DLL="!define LIBVLCCORE_DLL libvlccore.dll"
4182   FILE_LIBVLC_DLL="!define LIBVLC_DLL libvlc.dll"
4183 ])
4184
4185 dnl
4186 dnl  Stuff used by the program
4187 dnl
4188 VERSION_MESSAGE="${VERSION} ${CODENAME}"
4189 COPYRIGHT_MESSAGE="Copyright © ${COPYRIGHT_YEARS} the VideoLAN team"
4190 AC_DEFINE_UNQUOTED(VERSION_MESSAGE, "${VERSION_MESSAGE}", [Simple version string])
4191 AC_DEFINE_UNQUOTED(COPYRIGHT_MESSAGE, "${COPYRIGHT_MESSAGE}", [Copyright string])
4192 AC_DEFINE_UNQUOTED(COPYRIGHT_YEARS, "${COPYRIGHT_YEARS}", [The copyright years])
4193 AC_DEFINE_UNQUOTED(CONFIGURE_LINE, "${CONFIGURE_LINE}", [The ./configure command line])
4194 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MAJOR,"${VERSION_MAJOR}", [version major number])
4195 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MINOR,"${VERSION_MINOR}", [version minor number])
4196 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_REVISION,"${VERSION_REVISION}", [version minor number])
4197 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_EXTRA,"${VERSION_EXTRA}", [version minor number])
4198 AC_SUBST(COPYRIGHT_MESSAGE)
4199 AC_SUBST(VERSION_MESSAGE)
4200 AC_SUBST(VERSION_MAJOR)
4201 AC_SUBST(VERSION_MINOR)
4202 AC_SUBST(VERSION_REVISION)
4203 AC_SUBST(VERSION_EXTRA)
4204 AC_SUBST(COPYRIGHT_YEARS)
4205 AC_DEFINE_UNQUOTED(VLC_COMPILE_BY, "`whoami`", [user who ran configure])
4206 AC_DEFINE_UNQUOTED(VLC_COMPILE_HOST, "`hostname -f 2>/dev/null || hostname`", [host which ran configure])
4207 AC_DEFINE_UNQUOTED(VLC_COMPILER, "`$CC -v 2>&1 | tail -n 1`", [compiler])
4208 dnl Win32 need s a numerical version_extra.
4209 case $( echo ${VERSION_EXTRA}|wc -m ) in
4210        "1") VERSION_EXTRA_RC="0";;
4211        "2") VERSION_EXTRA_RC=$( echo ${VERSION_EXTRA}|tr "abcdefghi" "123456789") ;;
4212        *) VERSION_EXTRA_RC="99"
4213 esac
4214 AC_SUBST(VERSION_EXTRA_RC)
4215 dnl
4216 dnl  Handle substvars that use $(top_srcdir)
4217 dnl
4218 VLC_CONFIG="top_srcdir=\"\$(top_srcdir)\" top_builddir=\"\$(top_builddir)\" \$(top_builddir)/vlc-config"
4219 AC_SUBST(VLC_CONFIG)
4220 CPPFLAGS_save="-I\$(top_srcdir)/include -I\$(top_builddir)/include ${CPPFLAGS_save}"
4221
4222 dnl
4223 dnl  Restore *FLAGS
4224 dnl
4225 VLC_RESTORE_FLAGS
4226
4227 dnl
4228 dnl Sort the modules list
4229 dnl
4230 PLUGINS=$( (for i in `echo $PLUGINS`; do echo $i; done)|sort|xargs )
4231
4232 dnl
4233 dnl  Create the vlc-config script
4234 dnl
4235 LDFLAGS_libvlc="${LDFLAGS_libvlc} ${LDFLAGS_builtin}"
4236
4237 dnl
4238 dnl  Configuration is finished
4239 dnl
4240 AC_SUBST(SYS)
4241 AC_SUBST(ARCH)
4242 AC_SUBST(ALIASES)
4243 AC_SUBST(ASM)
4244 AC_SUBST(MOC)
4245 AC_SUBST(RCC)
4246 AC_SUBST(UIC)
4247 AC_SUBST(WINDRES)
4248 AC_SUBST(WINE_SDK_PATH)
4249 AC_SUBST(LIBEXT)
4250 AC_SUBST(AM_CPPFLAGS)
4251 AC_SUBST(MACOSX_DEPLOYMENT_TARGET)
4252 AC_SUBST(FILE_LIBVLCCORE_DLL)
4253 AC_SUBST(FILE_LIBVLC_DLL)
4254
4255 dnl Create vlc-config.in
4256 VLC_OUTPUT_VLC_CONFIG_IN
4257
4258 AC_CONFIG_FILES([
4259   Makefile
4260   doc/Makefile
4261   libs/loader/Makefile
4262   libs/srtp/Makefile
4263   libs/unzip/Makefile
4264   modules/Makefile
4265   m4/Makefile
4266   po/Makefile.in
4267   share/Makefile
4268   compat/Makefile
4269   src/Makefile
4270   src/test/Makefile
4271   bin/Makefile
4272   test/Makefile
4273   modules/access/Makefile
4274   modules/access/bd/Makefile
4275   modules/access/dshow/Makefile
4276   modules/access/mms/Makefile
4277   modules/access/rtp/Makefile
4278   modules/access/rtsp/Makefile
4279   modules/access/vcd/Makefile
4280   modules/access/vcdx/Makefile
4281   modules/access/screen/Makefile
4282   modules/access/zip/Makefile
4283   modules/access_output/Makefile
4284   modules/audio_filter/Makefile
4285   modules/audio_mixer/Makefile
4286   modules/audio_output/Makefile
4287   modules/codec/Makefile
4288   modules/codec/avcodec/Makefile
4289   modules/codec/dmo/Makefile
4290   modules/codec/omxil/Makefile
4291   modules/codec/shine/Makefile
4292   modules/codec/spudec/Makefile
4293   modules/codec/wmafixed/Makefile
4294   modules/control/Makefile
4295   modules/control/dbus/Makefile
4296   modules/control/globalhotkeys/Makefile
4297   modules/demux/Makefile
4298   modules/demux/asf/Makefile
4299   modules/demux/avformat/Makefile
4300   modules/demux/avi/Makefile
4301   modules/demux/mkv/Makefile
4302   modules/demux/mp4/Makefile
4303   modules/demux/mpeg/Makefile
4304   modules/demux/playlist/Makefile
4305   modules/gui/Makefile
4306   modules/gui/macosx/Makefile
4307   modules/gui/hildon/Makefile
4308   modules/gui/minimal_macosx/Makefile
4309   modules/gui/macosx_dialog_provider/Makefile
4310   modules/gui/qt4/Makefile
4311   modules/gui/skins2/Makefile
4312   modules/lua/Makefile
4313   modules/meta_engine/Makefile
4314   modules/misc/Makefile
4315   modules/misc/dummy/Makefile
4316   modules/misc/notify/Makefile
4317   modules/misc/playlist/Makefile
4318   modules/misc/osd/Makefile
4319   modules/misc/stats/Makefile
4320   modules/media_library/Makefile
4321   modules/mux/Makefile
4322   modules/mux/mpeg/Makefile
4323   modules/packetizer/Makefile
4324   modules/services_discovery/Makefile
4325   modules/stream_filter/Makefile
4326   modules/stream_out/Makefile
4327   modules/stream_out/transcode/Makefile
4328   modules/video_chroma/Makefile
4329   modules/video_filter/Makefile
4330   modules/video_filter/dynamicoverlay/Makefile
4331   modules/video_output/Makefile
4332   modules/video_output/msw/Makefile
4333   modules/visualization/Makefile
4334   modules/visualization/visual/Makefile
4335   modules/mmx/Makefile
4336   modules/mmxext/Makefile
4337   modules/3dnow/Makefile
4338   modules/sse2/Makefile
4339   modules/altivec/Makefile
4340   modules/arm_neon/Makefile
4341 ])
4342
4343 AM_COND_IF([HAVE_WIN32], [
4344   AC_CONFIG_FILES([
4345     extras/package/win32/spad.nsi
4346     extras/package/win32/vlc.win32.nsi
4347   ])
4348 ])
4349
4350 AM_COND_IF([HAVE_DARWIN], [
4351   AC_CONFIG_FILES([
4352     extras/package/macosx/Info.plist
4353     extras/package/macosx/Resources/English.lproj/InfoPlist.strings
4354   ])
4355 ])
4356
4357 dnl Generate makefiles
4358 AC_OUTPUT
4359
4360 # Cannot use AC_CONFIG_FILES([vlc-config]) as is automatically built,
4361 # not provided with the source
4362 ${SHELL} ./config.status --file=vlc-config
4363 chmod 0755 vlc-config
4364
4365 /bin/echo -n "Enabled modules: "
4366 ./vlc-config --list plugin
4367
4368 dnl Do we have to use make or gmake ?
4369 USE_MAKE_OR_GMAKE=`case "${SYS}" in openbsd*) echo "gmake";; *) echo "make";; esac`
4370 dnl Shortcut to nice compile message
4371 rm -f compile
4372 if test -n $SHELL; then
4373   SHELL=${CONFIG_SHELL-/bin/sh}
4374 fi
4375 echo '#! '$SHELL >compile
4376 echo rm -f .error\$\$ >>compile
4377 echo ERROR=0 >>compile
4378 echo export PATH=$PATH LANG=C >>compile
4379 echo "($USE_MAKE_OR_GMAKE V=1 \$@ 2>&1 || touch .error\$\$)| \\" >>compile
4380 echo '`sed -ne "s/^top_srcdir *= *//p" < Makefile`/extras/buildsystem/make.pl' >>compile
4381 echo test -f .error\$\$ \&\& ERROR=1 >>compile
4382 echo rm -f .error\$\$ >>compile
4383 echo exit \$ERROR >>compile
4384 chmod a+x compile
4385
4386 printf "
4387 libvlc configuration
4388 --------------------
4389 version               : ${VERSION}
4390 system                : ${SYS}
4391 architecture          : ${ARCH}
4392 build flavour         : "
4393 test "${enable_optimizations}" != "no" && printf ${enable_optimizations}
4394 echo ""
4395 if test "${enable_vlc}" != "no"; then
4396 echo "vlc aliases           :${ALIASES}"
4397 else
4398 echo "build vlc executable  : no"
4399 fi
4400 echo "plugins/bindings      :${PLUGINS_BINDINGS}
4401
4402 You can tune the compiler flags in vlc-config.
4403 To build vlc and its plugins, type \`./compile' or \`$USE_MAKE_OR_GMAKE'.
4404 "
4405 if test "x$ac_ld_does_not_support_text_reloc" = "xyes"; then
4406    echo ""
4407    echo "Warning: Due to a bug in ld, mmx/sse support has been"
4408    echo "         turned off."
4409    echo "         FFmpeg will be REALLY slow."
4410    echo "         VLC WILL NOT PERFORM AS EXPECTED."
4411    echo ""
4412 fi