]> git.sesse.net Git - vlc/blob - configure.ac
b6293f7d84b6f0aaf82e30b998d9cd5cfaa13edd
[vlc] / configure.ac
1 dnl Autoconf settings for vlc
2 dnl $Id$
3
4 AC_INIT(vlc,0.8.5-svn)
5 VERSION_MAJOR="0"
6 VERSION_MINOR="8"
7 VERSION_REVISION="5"
8 VERSION_EXTRA="svn"
9
10 CONFIGURE_LINE="$0 $*"
11 CODENAME="Janus"
12
13 AC_PREREQ(2.50)
14 AC_CONFIG_SRCDIR(src/libvlc.c)
15 AC_CONFIG_AUX_DIR(autotools)
16 AC_CANONICAL_SYSTEM
17
18 dnl XXX: we don't put any flags here, because automake 1.5 doesn't support
19 dnl them. And we need the comma otherwize automake will choke on it.
20 AM_INIT_AUTOMAKE(vlc,0.8.5-svn)
21 AM_CONFIG_HEADER(config.h)
22
23 dnl HA! HA!
24 AM_MAINTAINER_MODE
25
26 dnl
27 dnl  Save *FLAGS
28 dnl
29 VLC_SAVE_FLAGS
30
31 dnl
32 dnl Check for tools
33 dnl
34 AC_PROG_CC
35 AM_PROG_CC_C_O
36 AC_PROG_CPP
37 AC_PROG_CXX
38 eval "${CXX} --version" >/dev/null 2>&1 || CXX=""
39 if test "${CXX}" != ""; then
40   AC_PROG_CXXCPP
41 fi
42 AC_PROG_MAKE_SET
43 AC_PROG_INSTALL
44 AM_PROG_AS
45
46 dnl AC_PROG_EGREP only exists in autoconf 2.54+, so we use AC_EGREP_CPP right
47 dnl now otherwise it might be set in an obscure if statement.
48 AC_EGREP_CPP(foo,foo)
49
50 dnl AC_PROG_OBJC doesn't seem to exist, this is the KDE workaround
51 AC_MSG_CHECKING(for an Objective-C compiler)
52 OBJC="${CXX}"
53 AC_SUBST(OBJC)
54 OBJCFLAGS="${CXXFLAGS} -fgnu-runtime -fconstant-string-class=NSConstantString"
55 AC_SUBST(OBJCFLAGS)
56 dnl _AM_DEPENDENCIES(OBJC) doesn't work, so hard code OBJCDEPMODE here
57 #OBJCDEPMODE="depmode=gcc3"
58 #AC_SUBST(OBJCDEPMODE)
59 _AM_DEPENDENCIES(OBJC)
60 AC_MSG_RESULT(not implemented yet)
61
62 dnl Find the right ranlib, even when cross-compiling
63 AC_CHECK_TOOL(RANLIB, ranlib, :)
64 AC_CHECK_TOOL(STRIP, strip, :)
65 AC_CHECK_TOOL(AR, ar, :)
66 AC_CHECK_TOOL(LD, ld, :)
67
68 dnl Sam, if you think I didn't see that... --Meuuh
69 dnl AM_PROG_LIBTOOL
70 AC_PROG_INSTALL
71
72 dnl Check for compiler properties
73 AC_C_CONST
74 AC_C_INLINE
75
76 dnl
77 dnl  Check for the contrib directory
78 dnl
79 AC_ARG_WITH(contrib,
80     [  --without-contrib       do not use the libraries in extras/contrib],[],[])
81   if test "${with_contrib}" != "no"; then 
82
83     topdir="`dirname $0`"
84     if test "`echo \"$topdir\" | cut -c 1`" != "/"; then
85        topdir="`pwd`/$topdir"
86     fi
87
88   if test -d ${topdir}/extras/contrib/lib; then
89     export PATH=${topdir}/extras/contrib/bin:$PATH
90 dnl kludge because only the debian package provides a ffmpeg-config
91     with_ffmpeg_config_path=${topdir}/extras/contrib/bin        
92     CPPFLAGS="${CPPFLAGS} -I${topdir}/extras/contrib/include"
93     CPPFLAGS_save="${CPPFLAGS_save} -I${topdir}/extras/contrib/include"
94     CFLAGS="${CFLAGS} -I${topdir}/extras/contrib/include"
95     CFLAGS_save="${CFLAGS_save} -I${topdir}/extras/contrib/include"
96     CXXFLAGS="${CXXFLAGS} -I${topdir}/extras/contrib/include"
97     CXXFLAGS_save="${CXXFLAGS_save} -I${topdir}/extras/contrib/include"
98     OBJCFLAGS="${OBJCFLAGS} -I${topdir}/extras/contrib/include"
99     OBJCFLAGS_save="${OBJCFLAGS_save} -I${topdir}/extras/contrib/include"
100     if test $build = $host; then
101         export PKG_CONFIG_PATH=${topdir}/extras/contrib/lib/pkgconfig:$PKG_CONFIG_PATH
102     else
103         export PKG_CONFIG_LIBDIR=${topdir}/extras/contrib/lib/pkgconfig
104     fi
105     if test -d ${topdir}/extras/contrib/vlc-lib; then
106       LDFLAGS="${LDFLAGS} -L${topdir}/extras/contrib/vlc-lib"
107       LDFLAGS_save="${LDFLAGS_save} -L${topdir}/extras/contrib/vlc-lib"
108     fi
109     LDFLAGS="${LDFLAGS} -L${topdir}/extras/contrib/lib"
110     LDFLAGS_save="${LDFLAGS_save} -L${topdir}/extras/contrib/lib"
111     with_livedotcom_tree=${topdir}/extras/contrib/src/live
112     with_goom_tree=${topdir}/extras/contrib/src/goom
113     if test ".`uname -s`" = ".Darwin"; then
114       export LD_LIBRARY_PATH=${topdir}/extras/contrib/lib:$LD_LIBRARY_PATH
115       export DYLD_LIBRARY_PATH=${topdir}/extras/contrib/lib:$DYLD_LIBRARY_PATH
116     elif test ".`uname -s`" = ".BeOS"; then
117       export LIBRARY_PATH=${topdir}/extras/contrib/lib:$LIBRARY_PATH
118       export BELIBRARIES=${topdir}/extras/contrib/lib:$BELIBRARIES
119     fi
120   fi
121 fi
122 dnl
123 dnl  Set default values
124 dnl
125 LDFLAGS_vlc="${LDFLAGS}"
126
127 dnl
128 dnl  Check the operating system
129 dnl
130 case "${target_os}" in
131   "")
132     SYS=unknown
133     ;;
134   linux*)
135     SYS=linux
136     ;;
137   bsdi*)
138     SYS=bsdi
139     CFLAGS_save="${CFLAGS_save} -pthread"; CFLAGS="${CFLAGS_save}"
140     VLC_ADD_LDFLAGS([dvd dvdcss vcd cdda vcdx cddax],[-ldvd])
141     ;;
142   *bsd*)
143     SYS="${target_os}"
144     CFLAGS_save="${CFLAGS_save} -pthread"; CFLAGS="${CFLAGS_save}"
145     ;;
146   darwin*)
147     SYS=darwin
148     CFLAGS_save="${CFLAGS_save} -no-cpp-precomp -D_INTL_REDIRECT_MACROS"; CFLAGS="${CFLAGS_save}"
149     CXXFLAGS_save="${CXXFLAGS_save} -no-cpp-precomp -D_INTL_REDIRECT_MACROS"; CXXFLAGS="${CXXFLAGS_save}"
150     OBJCFLAGS_save="${OBJCFLAGS_save} -no-cpp-precomp -D_INTL_REDIRECT_MACROS"; OBJCFLAGS="${OBJCFLAGS_save}"
151     VLC_ADD_LDFLAGS([vlc ffmpeg ffmpegaltivec],[-all_load])
152     VLC_ADD_LDFLAGS([mp4], [-framework IOKit -framework CoreFoundation])
153     VLC_ADD_CFLAGS([libvlc],[-x objective-c])
154     VLC_ADD_CFLAGS([vlc],[-x objective-c])
155     VLC_ADD_LDFLAGS([vlc],[-Wl,-m -Wl,-multiply_defined -Wl,suppress])
156     ;;
157   *mingw32* | *cygwin* | *wince* | *mingwce* | *pe*)
158     AC_CHECK_TOOL(WINDRES, windres, :)
159
160     case "${target_os}" in
161       *mingw32*)
162         SYS=mingw32
163         ;;
164       *cygwin*)
165         dnl Check if we are using the mno-cygwin mode in which case we are
166         dnl actually dealing with a mingw32 compiler.
167         AC_EGREP_CPP(yes,
168             [#ifdef WIN32
169              yes
170              #endif],
171             SYS=mingw32, SYS=cygwin)
172         ;;
173       *wince* | *mingwce* | *pe*)
174         SYS=mingwce
175         ;;
176     esac
177
178     if test "${SYS}" = "mingw32"; then
179         # add ws2_32 for closesocket, select, recv
180         CPPFLAGS_save="${CPPFLAGS_save} -D_OFF_T_ -D_off_t=long"; CPPFLAGS="${CPPFLAGS_save}"
181         VLC_ADD_LDFLAGS([vlc],[-lws2_32 -lnetapi32 -lwinmm -mwindows])
182         VLC_ADD_LDFLAGS([vcdx cddax],[-lwinmm])
183         VLC_ADD_LDFLAGS([ipv4 ipv6 access_http access_mms access_udp access_tcp access_ftp access_output_udp sap slp http stream_out_standard stream_out_rtp vod_rtsp telnet netsync],[-lws2_32])
184     fi
185     if test "${SYS}" = "mingwce"; then
186         # add ws2 for closesocket, select, recv
187         CPPFLAGS_save="${CPPFLAGS_save} -D_OFF_T_ -D_off_t=long"; CPPFLAGS="${CPPFLAGS_save}"
188         VLC_ADD_CPPFLAGS([vlc],[-Dmain(a,b)=maince(a,b)])
189         VLC_ADD_LDFLAGS([vlc],[-lws2 -e WinMainCRTStartup])
190         VLC_ADD_LDFLAGS([ipv4 ipv6 access_http access_mms access_udp access_tcp access_ftp access_output_udp sap http netsync],[-lws2])
191    fi
192     ;;
193   *nto*)
194     SYS=nto
195     VLC_ADD_LDFLAGS([x11 xvideo],[-lsocket])
196     ;;
197   solaris*)
198     SYS=solaris
199     # _POSIX_PTHREAD_SEMANTICS is needed to get the POSIX ctime_r
200     # Perhaps it is useful other places as well? 
201     CFLAGS_save="${CFLAGS_save} -D_POSIX_PTHREAD_SEMANTICS"; CFLAGS="${CFLAGS_save}"
202     ;;
203   hpux*)
204     SYS=hpux
205     ;;
206   beos)
207     SYS=beos
208     CFLAGS_save="${CFLAGS_save} -Wno-multichar"; CFLAGS="${CFLAGS_save}"
209     CXXFLAGS_save="${CXXFLAGS_save} -Wno-multichar"; CXXFLAGS="${CXXFLAGS_save}"
210     VLC_ADD_CXXFLAGS([beos],[])
211     VLC_ADD_LDFLAGS([vlc beos],[-lbe])
212     VLC_ADD_LDFLAGS([beos],[-lmedia -ltranslation -ltracker -lgame])
213
214     dnl Check for BONE
215     if test -f /boot/beos/system/lib/libbind.so; then
216         VLC_ADD_LDFLAGS([access_file access_ftp access_mms access_output_udp telnet netsync sap ipv4 vlc],[-lbind -lsocket])
217     else
218         VLC_ADD_LDFLAGS([access_file access_ftp access_mms access_output_udp telnet netsync sap ipv4 vlc],[-lnet])
219     fi
220
221     dnl Ugly check for Zeta
222     if test -f /boot/beos/system/lib/libzeta.so; then
223         VLC_ADD_LDFLAGS([beos],[-lzeta])
224     fi
225     ;;
226   *)
227     SYS="${target_os}"
228     ;;
229 esac
230 AM_CONDITIONAL(HAVE_BEOS, test "${SYS}" = "beos")
231 AM_CONDITIONAL(HAVE_DARWIN, test "${SYS}" = "darwin")
232 AM_CONDITIONAL(HAVE_WIN32, test "${SYS}" = "mingw32")
233 AM_CONDITIONAL(HAVE_WINCE, test "${SYS}" = "mingwce")
234
235 dnl
236 dnl Gettext stuff
237 dnl
238 ALL_LINGUAS="ca da de en_GB es fr it ja ko nl pt_BR ro ru sv tr zh_CN zh_TW"
239 AM_GNU_GETTEXT_VERSION(0.11.5)
240 AM_GNU_GETTEXT
241 if test "${nls_cv_force_use_gnu_gettext}" = "yes"; then
242   AC_DEFINE(HAVE_INCLUDED_GETTEXT, 1, Define if we use the local libintl)
243   INCLUDES="${INCLUDES} -I\$(top_builddir)/intl"
244 else
245   AC_CHECK_FUNCS(textdomain,,[
246     AC_CHECK_LIB(intl,textdomain,
247       VLC_ADD_LDFLAGS([vlc],[${LIBINTL}]),,
248       ${LIBINTL}
249     )
250   ])
251 fi
252 AM_CONDITIONAL(BUILD_INTL, test "${nls_cv_force_use_gnu_gettext}" = "yes")
253 XGETTEXT="${XGETTEXT} --keyword=_NS --keyword=_ANS"
254
255 dnl
256 dnl Iconv stuff
257 dnl
258 if test "${SYS}" != "mingwce"; then
259 AS_IF([test "$am_cv_func_iconv" != "yes"],
260         [AC_MSG_ERROR([libiconv is needed for VLC to work properly])])
261 fi
262 VLC_ADD_CFLAGS([vlc],[${INCICONV}])
263 VLC_ADD_LDFLAGS([vlc],[${LIBICONV}])
264
265 dnl Check for the need to include the mingwex lib for mingw32
266 if test "${SYS}" = "mingw32"
267 then
268     AC_CHECK_LIB(mingwex,opendir,
269         AC_CHECK_LIB(mingw32,opendir,VLC_ADD_LDFLAGS([vlc],[]),
270             [VLC_ADD_LDFLAGS([vlc gtk],[-lmingwex])])
271     )
272 fi
273
274 dnl Check for fnative-struct or mms-bitfields support for mingw32
275 if test "${SYS}" = "mingw32"
276 then
277     AC_CACHE_CHECK([if \$CC accepts -mms-bitfields],
278         [ac_cv_c_mms_bitfields],
279         [CFLAGS="${CFLAGS_save} -mms-bitfields"
280          AC_TRY_COMPILE([],,ac_cv_c_mms_bitfields=yes, ac_cv_c_mms_bitfields=no)])
281     if test "${ac_cv_c_mms_bitfields}" != "no"; then
282         CFLAGS_save="${CFLAGS_save} -mms-bitfields";
283         CXXFLAGS_save="${CXXFLAGS_save} -mms-bitfields";
284     else
285         AC_CACHE_CHECK([if \$CC accepts -fnative-struct],
286             [ac_cv_c_fnative_struct],
287             [CFLAGS="${CFLAGS_save} -fnative-struct"
288              AC_TRY_COMPILE([],,ac_cv_c_fnative_struct=yes, ac_cv_c_fnative_struct=no)])
289         if test "${ac_cv_c_fnative_struct}" != "no"; then
290             CFLAGS_save="${CFLAGS_save} -fnative-struct";
291             CXXFLAGS_save="${CXXFLAGS_save} -fnative-struct";
292         fi
293     fi
294
295     CFLAGS="${CFLAGS_save}"; CXXFLAGS="${CXXFLAGS_save}"
296 fi
297
298 dnl Check for fvtable-thunks support for mingw32
299 if test "${SYS}" = "mingw32" -a "${CXX}" != ""
300 then
301 AC_LANG_PUSH(C++)
302     AC_CACHE_CHECK([if \$CXX accepts -fvtable-thunks],
303         [ac_cv_cxx_fvtable_thunks],
304         [CXXFLAGS="${CXXFLAGS_save} -Wall -Werror -fvtable-thunks"
305          AC_TRY_COMPILE([],,ac_cv_cxx_fvtable_thunks=yes,
306                         ac_cv_cxx_fvtable_thunks=no)])
307     if test "${ac_cv_cxx_fvtable_thunks}" = "yes"; then
308         CXXFLAGS_mingw32_special="-fvtable-thunks"
309     fi
310
311     CXXFLAGS_save="${CXXFLAGS_save} ${CXXFLAGS_mingw32_special}"; CXXFLAGS="${CXXFLAGS_save}"
312 AC_LANG_POP(C++)
313 fi
314
315 dnl Plugin compilation stuff
316
317 VLC_LIBRARY_SUFFIX
318
319 VLC_SYMBOL_PREFIX
320 AC_SUBST(SYMPREF)
321
322 case "${SYS}" in
323   mingw32|cygwin)
324     VLC_ADD_CFLAGS([pic plugin mozilla activex],[${CFLAGS_mingw32_special}])
325     VLC_ADD_CXXFLAGS([pic plugin mozilla activex],[${CFLAGS_mingw32_special} ${CXXFLAGS_mingw32_special}])
326     VLC_ADD_OBJCFLAGS([pic plugin mozilla activex],[${CFLAGS_mingw32_special}])
327     ;;
328   mingwce)
329     ;;
330   *)
331     VLC_ADD_CFLAGS([pic plugin mozilla],[-fpic -fPIC])
332     VLC_ADD_CXXFLAGS([pic plugin mozilla],[-fpic -fPIC])
333     VLC_ADD_OBJCFLAGS([pic plugin mozilla],[-fpic -fPIC])
334     VLC_ADD_LDFLAGS([plugin mozilla],[-fpic -fPIC])
335     ;;
336 esac
337
338 dnl The -DSYS_FOO flag
339 CPPFLAGS_save="${CPPFLAGS_save} -DSYS_`echo ${SYS} | sed -e 's/-.*//' | tr 'abcdefghijklmnopqrstuvwxyz.' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`"; CPPFLAGS="${CPPFLAGS_save}"
340
341 dnl Check for system libs needed
342 need_libc=false
343
344 AC_CHECK_FUNCS(gettimeofday select strerror strtod strtol strtof strtoll strtoull strsep isatty vasprintf asprintf swab sigrelse getpwuid memalign posix_memalign if_nametoindex atoll getenv putenv setenv gmtime_r ctime_r localtime_r lrintf daemon scandir fork bsearch)
345
346 dnl Check for usual libc functions
347 AC_CHECK_FUNCS(strdup strndup atof)
348 AC_CHECK_FUNCS(strcasecmp,,[AC_CHECK_FUNCS(stricmp)])
349 AC_CHECK_FUNCS(strncasecmp,,[AC_CHECK_FUNCS(strnicmp)])
350 AC_CHECK_FUNCS(strcasestr,,[AC_CHECK_FUNCS(stristr)])
351
352 dnl Check for setlocal and langinfo
353 AC_CHECK_FUNCS(setlocale)
354 AC_CHECK_HEADERS(langinfo.h)
355 AC_CHECK_FUNCS(nl_langinfo)
356
357 AC_CACHE_CHECK([for nl_langinfo and CODESET], ac_cv_langinfo_codeset,
358   [AC_TRY_LINK([#include <langinfo.h>],
359     [char* cs = nl_langinfo(CODESET);],
360     ac_cv_langinfo_codeset=yes,
361     ac_cv_langinfo_codeset=no)
362   ])
363 if test ${ac_cv_langinfo_codeset} = yes; then
364   AC_DEFINE(HAVE_LANGINFO_CODESET, 1,
365     [Define if you have <langinfo.h> and nl_langinfo(CODESET).])
366 fi
367
368 AC_CHECK_FUNCS(connect,,[
369   AC_CHECK_LIB(socket,connect,[
370     VLC_ADD_LDFLAGS([vlc ipv4 cddax],-lsocket)
371   ])
372 ])
373
374 AC_CHECK_FUNCS(send,,[
375   AC_CHECK_LIB(socket,send,[
376     VLC_ADD_LDFLAGS([access_http access_mms access_udp access_tcp access_ftp sap access_output_udp stream_out_standard],[-lsocket])
377   ])
378 ])
379
380 AC_CHECK_FUNCS(gethostbyname,,[
381   AC_CHECK_LIB(nsl,gethostbyname,[
382     VLC_ADD_LDFLAGS([cddax ipv4 vlc],[-lnsl])
383   ],[
384     AC_CHECK_LIB(bind,gethostbyname,[
385       VLC_ADD_LDFLAGS([ipv4 access_mms],[-lbind])
386     ])
387   ])
388 ])
389
390 dnl Check for socklen_t
391 AC_CACHE_CHECK([for socklen_t], ac_cv_type_socklen_t,
392   [AC_TRY_COMPILE(
393      [#include <sys/types.h>
394       #include <sys/socket.h>],
395      [socklen_t len = 42; return len;],
396      ac_cv_type_socklen_t=yes,
397      ac_cv_type_socklen_t=no)])
398 if test "${ac_cv_type_socklen_t}" != "no"; then
399   AC_DEFINE(HAVE_SOCKLEN_T, 1, [Define if <sys/socket.h> defines socklen_t.])
400 fi
401
402 dnl Check for struct sockaddr_storage
403 AH_TEMPLATE(sockaddr_storage, [Define to `sockaddr' if <sys/socket.h> does not define.])
404 AH_TEMPLATE(ss_family, [Define to `sa_family' if <sys/socket.h> does not define.])
405 AC_CACHE_CHECK([for struct sockaddr_storage], ac_cv_struct_sockaddr_storage,
406   [AC_TRY_COMPILE(
407     [#include <sys/types.h>
408      #if defined( UNDER_CE )
409      # include <winsock.h>
410      #elif defined( WIN32 )
411      # include <winsock2.h>
412      #else
413      # include <sys/socket.h>
414      #endif], [struct sockaddr_storage addr;],
415      ac_cv_struct_sockaddr_storage=yes,
416      ac_cv_struct_sockaddr_storage=no)])
417 if test $ac_cv_struct_sockaddr_storage = no; then
418   AC_DEFINE(sockaddr_storage, sockaddr)
419   AC_DEFINE(ss_family, sa_family)
420 fi
421
422 dnl getaddrinfo, getnameinfo and gai_strerror check
423 dnl  -lresolv is NOT needed on Solaris
424 dnl  we purposedly make the test fail on Windows
425 AC_CHECK_FUNCS([getaddrinfo getnameinfo gai_strerror])
426 AH_TEMPLATE(HAVE_ADDRINFO, [Define to `1' if <netdb.h> defines struct addrinfo.])
427 AC_CHECK_TYPES([struct addrinfo],[AC_DEFINE(HAVE_ADDRINFO)],,
428 [#include <sys/types.h>
429 #if defined( WIN32 ) || defined( UNDER_CE )
430 # if defined(UNDER_CE) && defined(sockaddr_storage)
431 #  undef sockaddr_storage
432 # endif
433 # include <winsock2.h>
434 # include <ws2tcpip.h>
435 #else
436 # include <netdb.h>
437 #endif])
438
439 dnl Check for va_copy
440 AC_CACHE_CHECK([for va_copy], ac_cv_c_va_copy,
441   AC_TRY_LINK(
442     [#include <stdarg.h>],
443     [va_list ap1, ap2; va_copy(ap1,ap2);],
444     [ac_cv_c_va_copy="yes"],
445     [ac_cv_c_va_copy="no"]))
446 if test "${ac_cv_c_va_copy}" = "yes"; then
447   AC_DEFINE(HAVE_VA_COPY, 1, [Define if <stdarg.h> defines va_copy.])
448 fi
449 AC_CACHE_CHECK([for __va_copy], ac_cv_c___va_copy,
450   AC_TRY_LINK(
451     [#include <stdarg.h>],
452     [va_list ap1, ap2; __va_copy(ap1,ap2);],
453     [ac_cv_c___va_copy="yes"],
454     [ac_cv_c___va_copy="no"]))
455 if test "${ac_cv_c___va_copy}" = "yes"; then
456   AC_DEFINE(HAVE___VA_COPY, 1, [Define if <stdarg.h> defines __va_copy.])
457 fi
458
459 AC_CHECK_FUNCS(inet_aton,,[
460   AC_CHECK_LIB(resolv,inet_aton,[
461     VLC_ADD_LDFLAGS([ipv4 vlc],[-lresolv])
462   ])
463 ])
464
465 dnl Check for getopt (always use builtin one on win32)
466 if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"; then
467 need_getopt=:
468 else
469 need_getopt=false
470 AC_CHECK_FUNCS(getopt_long,[AC_DEFINE(HAVE_GETOPT_LONG,1,long getopt support)],
471 [ # FreeBSD has a gnugetopt library for this:
472   AC_CHECK_LIB([gnugetopt],[getopt_long],
473     [AC_DEFINE(HAVE_GETOPT_LONG,1,getopt support)
474      VLC_ADD_LDFLAGS([vlc],[-lgnugetopt])],
475     [need_getopt=:])])
476 fi
477 AM_CONDITIONAL(BUILD_GETOPT, ${need_getopt})
478
479 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
480 AC_TYPE_SIGNAL
481 AC_CHECK_LIB(m,cos,[
482   VLC_ADD_LDFLAGS([adjust distort a52tofloat32 dtstofloat32 x264 goom],[-lm])
483 ])
484 AC_CHECK_LIB(m,pow,[
485   VLC_ADD_LDFLAGS([ffmpeg ffmpegaltivec stream_out_transrate i420_rgb faad twolame equalizer vlc freetype mpc],[-lm])
486 ])
487 AC_CHECK_LIB(m,sqrt,[
488   VLC_ADD_LDFLAGS([headphone_channel_mixer normvol speex],[-lm])
489 ])
490 AC_CHECK_LIB(mx,sqrtf,[
491   VLC_ADD_LDFLAGS([x264],[-lmx])
492 ])
493 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
494
495 dnl Check for dynamic plugins
496 ac_cv_have_plugins=no
497
498 # OS X style
499 AC_CHECK_HEADERS(mach-o/dyld.h,
500   [AC_CHECK_FUNCS(NSLinkModule,
501     [AC_DEFINE(HAVE_DL_DYLD, 1, [Define if you have the Darwin dyld API])
502      ac_cv_have_plugins=yes])])
503
504 # HP-UX style
505 if test "${ac_cv_have_plugins}" = "no"; then
506   AC_CHECK_HEADERS(dl.h)
507   ac_cv_my_have_shl_load=no
508   AC_CHECK_FUNC(shl_load,
509    [ac_cv_my_have_shl_load=yes,
510     AC_CHECK_LIB(dld, shl_load,
511      [ac_cv_my_have_shl_load=yes
512       VLC_ADD_LDFLAGS([vlc],[-ldld])])])
513   if test "${ac_cv_my_have_shl_load}" = "yes"; then
514     AC_DEFINE(HAVE_DL_SHL_LOAD, 1, [Define if you have the shl_load API])
515     ac_cv_have_plugins=yes
516   fi
517 fi
518
519 # Whatever style
520 if test "${ac_cv_have_plugins}" = "no"; then
521   AC_CHECK_LIB(dld, dld_link,
522    [VLC_ADD_LDFLAGS([vlc],[-ldld])
523     AC_DEFINE(HAVE_DL_DLD_LINK, 1, [Define if you have the GNU dld library])
524     ac_cv_have_plugins=yes])
525 fi
526
527 # Win32 style
528 if test "${ac_cv_have_plugins}" = "no"; then
529   if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"; then
530     AC_CHECK_LIB(kernel32, main,
531      [VLC_ADD_LDFLAGS([vlc],[-lkernel32])
532       AC_DEFINE(HAVE_DL_WINDOWS, 1, [Define if you have Windows' LoadLibrary])
533       ac_cv_have_plugins=yes])
534   fi
535 fi
536
537 # WinCE style
538 if test "${ac_cv_have_plugins}" = "no"; then
539   if test "${SYS}" = "mingwce"; then
540     AC_DEFINE(HAVE_DL_WINDOWS, 1, [Define if you have Windows' LoadLibrary])
541     ac_cv_have_plugins=yes
542   fi
543 fi
544
545 # BeOS style
546 if test "${ac_cv_have_plugins}" = "no"; then
547   AC_CHECK_HEADERS(image.h)
548   AC_CHECK_FUNCS(load_add_on,
549    [AC_DEFINE(HAVE_DL_BEOS, 1, [Define if you have the BeOS dl])
550     ac_cv_have_plugins=yes])
551 fi
552
553 # Only test for dlopen() if the others didn't work
554 if test "${ac_cv_have_plugins}" = "no"; then
555   AC_CHECK_HEADERS(dlfcn.h sys/dl.h)
556   ac_cv_my_have_dlopen=no
557   AC_CHECK_FUNC(dlopen,
558     ac_cv_my_have_dlopen=yes,
559     AC_CHECK_LIB(dl, dlopen,
560       ac_cv_my_have_dlopen=yes
561       VLC_ADD_LDFLAGS([vlc],[-ldl]),
562       AC_CHECK_LIB(svld, dlopen,
563         ac_cv_my_have_dlopen=yes
564         VLC_ADD_LDFLAGS([vlc],[-lsvld]))))
565   if test "${ac_cv_my_have_dlopen}" = "yes"; then
566     AC_DEFINE(HAVE_DL_DLOPEN, 1, [Define if you have the dlopen API])
567     ac_cv_have_plugins=yes
568   fi
569 fi
570
571 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
572 dnl Check for pthreads - borrowed from XMMS
573 THREAD_LIB=error
574 if test "${THREAD_LIB}" = "error"; then
575   AC_CHECK_LIB(pthread,main,THREAD_LIB="-lpthread")
576 fi
577 if test "${THREAD_LIB}" = "error"; then
578   AC_CHECK_LIB(pthreads,main,THREAD_LIB="-lpthreads")
579 fi
580 if test "${THREAD_LIB}" = "error"; then
581   AC_CHECK_LIB(c_r,main,THREAD_LIB="-lc_r")
582 fi
583 if test "${THREAD_LIB}" = "error"; then
584   AC_CHECK_FUNCS(pthread_mutex_lock)
585   THREAD_LIB=""
586 fi
587
588 dnl Check for cthreads under GNU/Hurd for instance
589 AC_CHECK_LIB(threads,cthread_fork,THREAD_LIB="-lthreads")
590
591 dnl
592 dnl  GNU portable threads
593 dnl
594 AC_ARG_ENABLE(pth,
595   [  --enable-pth            GNU Pth support (default disabled)],
596   [ if test "${enable_pth}" = "yes"; then
597     AC_CHECK_LIB(pth,pth_init)
598     AC_MSG_CHECKING(for pth_init in pth.h)
599     AC_EGREP_HEADER(pth_init,pth.h,[
600       AC_MSG_RESULT(yes)
601       AC_DEFINE(PTH_INIT_IN_PTH_H, 1,
602                 Define if <pth.h> defines pth_init)
603       THREAD_LIB="-lpth"
604     ],[
605       AC_MSG_RESULT(no)
606     ])
607     fi
608 ])
609
610 dnl
611 dnl  State Threads
612 dnl
613 AC_ARG_ENABLE(st,
614   [  --enable-st             State Threads (default disabled)],
615   [ if test "${enable_st}" = "yes"; then
616     AC_CHECK_LIB(st,st_init)
617     AC_MSG_CHECKING(for st_init in st.h)
618     AC_EGREP_HEADER(st_init,st.h,[
619       AC_MSG_RESULT(yes)
620       AC_DEFINE(ST_INIT_IN_ST_H, 1,
621                 Define if <st.h> defines st_init)
622       THREAD_LIB="-lst"
623     ],[
624       AC_MSG_RESULT(yes)
625     ])
626     fi
627 ])
628
629 VLC_ADD_LDFLAGS([vlc plugin],[${THREAD_LIB}])
630
631 dnl Don't link with rt when using GNU-pth
632 if test "${THREAD_LIB}" != "-lpth" && test "${THREAD_LIB}" != "-lst"; then
633   dnl HP/UX port
634   AC_CHECK_LIB(rt,sem_init, [VLC_ADD_LDFLAGS([vlc],[-lrt])])
635
636   have_nanosleep=false
637   AC_CHECK_FUNCS(nanosleep,have_nanosleep=:,[
638     AC_CHECK_LIB(rt,nanosleep,
639       [VLC_ADD_LDFLAGS([vlc],[-lrt]) have_nanosleep=:],
640       [AC_CHECK_LIB(posix4,nanosleep,
641           [VLC_ADD_LDFLAGS([vlc],[-lposix4]) have_nanosleep=:])]
642     )
643   ])
644   if ${have_nanosleep}; then
645     AC_DEFINE(HAVE_NANOSLEEP, 1,
646               Define if nanosleep is available.)
647   fi
648 fi
649
650 dnl Check for misc headers
651 AC_MSG_CHECKING(for pthread_cond_t in pthread.h)
652 AC_EGREP_HEADER(pthread_cond_t,pthread.h,[
653   AC_MSG_RESULT(yes)
654   AC_DEFINE(PTHREAD_COND_T_IN_PTHREAD_H, 1,
655             Define if <pthread.h> defines pthread_cond_t.)],[
656   AC_MSG_RESULT(no)])
657
658 AC_MSG_CHECKING(for pthread_once in pthread.h)
659 AC_EGREP_HEADER(pthread_once,pthread.h,[
660   AC_MSG_RESULT(yes)
661   AC_DEFINE(PTHREAD_ONCE_IN_PTHREAD_H, 1,
662             Define if <pthread.h> defines pthread_once.)],[
663   AC_MSG_RESULT(no)])
664 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
665
666 AC_MSG_CHECKING(for strncasecmp in strings.h)
667 AC_EGREP_HEADER(strncasecmp,strings.h,[
668   AC_MSG_RESULT(yes)
669   AC_DEFINE(STRNCASECMP_IN_STRINGS_H, 1,
670             Define if <strings.h> defines strncasecmp.)],[
671   AC_MSG_RESULT(no)])
672
673 dnl Check for headers
674 AC_CHECK_HEADERS(signal.h time.h errno.h stdint.h stdbool.h getopt.h strings.h inttypes.h sys/int_types.h wchar.h)
675 AC_CHECK_HEADERS(sys/sockio.h fcntl.h sys/types.h sys/time.h sys/times.h sys/ioctl.h sys/stat.h)
676 AC_CHECK_HEADERS(arpa/inet.h net/if.h netinet/in.h sys/socket.h)
677 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
678 AC_CHECK_HEADERS(machine/param.h sys/shm.h)
679 AC_CHECK_HEADERS(linux/version.h)
680 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
681
682 AC_HEADER_TIME
683
684 dnl Check for dirent
685 need_dirent=false
686 AC_CHECK_HEADERS(dirent.h,,[need_dirent=:])
687 AM_CONDITIONAL(BUILD_DIRENT, ${need_dirent})
688
689 dnl Mac OS X and other OSes don't have declaration for nanosleep
690 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
691 AC_MSG_CHECKING(for nanosleep in time.h)
692 AC_EGREP_HEADER(nanosleep,time.h,[
693   AC_MSG_RESULT(yes)
694   AC_DEFINE(HAVE_DECL_NANOSLEEP, 1,
695             Define if <time.h> defines nanosleep.)
696 ],[
697   AC_MSG_RESULT(no)
698 ])
699 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
700
701 dnl Make sure we have timespecs
702 AC_MSG_CHECKING(for timespec in sys/time.h)
703 AC_EGREP_HEADER(timespec,sys/time.h,[
704   AC_MSG_RESULT(yes)
705   AC_DEFINE(HAVE_STRUCT_TIMESPEC, 1,
706             Define if <sys/time.h> defines struct timespec.)
707 ],[
708   AC_MSG_RESULT(no)
709 ])
710
711 dnl Check for threads library
712 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
713 AC_CHECK_HEADERS(cthreads.h pthread.h kernel/scheduler.h kernel/OS.h)
714 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
715
716 dnl Default X headers and libraries
717 if test "${x_includes}" = "NONE"; then
718   x_includes="/usr/X11R6/include"
719 fi
720 if test "${x_libraries}" = "NONE"; then
721   x_libraries="/usr/X11R6/lib"
722 fi
723
724 dnl it seems that autoconf do the pkg-config detection only for the first PKG_CHECK_MODULES in the configure.ac ( which is logical) but in our case it is nested in a if so it was not working if you're not on linux or have disable hal.
725
726 PKG_PROG_PKG_CONFIG()
727
728 dnl Check for hal
729 AC_ARG_ENABLE(hal,
730   [  --enable-hal            Linux HAL services discovery (default enabled)])
731  
732 if test "${enable_hal}" != "no" -a "${SYS}" = "linux"
733 then
734   PKG_CHECK_MODULES(HAL, hal >= 0.5.0,
735     [ AC_DEFINE( HAVE_HAL_1, [] , [Define if you have the new HAL library API])
736       AC_DEFINE( HAVE_HAL, [], [Define if you have the HAL library] )
737       VLC_ADD_PLUGINS([hal]) 
738       VLC_ADD_LDFLAGS([vlc hal],[$HAL_LIBS])
739       VLC_ADD_CFLAGS([vlc hal],[$HAL_CFLAGS])],   
740     dnl No hal 0.5 Test for 0.2
741     [ PKG_CHECK_MODULES( HAL, hal >= 0.2.97, 
742        [AC_DEFINE(HAVE_HAL, [], [Define if you have the HAL library])
743         VLC_ADD_PLUGINS([hal])
744         VLC_ADD_LDFLAGS([vlc hal],[$HAL_LIBS])
745         VLC_ADD_CFLAGS([vlc hal],[$HAL_CFLAGS])],
746        [AC_MSG_WARN(HAL library not found)])
747     ]
748   )
749 fi
750
751 dnl Build the gtk_main plugins?
752 NEED_GTK_MAIN=no
753 NEED_GNOME_MAIN=no
754 NEED_GTK2_MAIN=no
755 NEED_GNOME2_MAIN=no
756
757 dnl build the qte plugin ?
758 NEED_QTE_MAIN=no
759
760 dnl Check for ntohl, etc.
761 AC_CACHE_CHECK([for ntohl in sys/param.h],
762     [ac_cv_c_ntohl_sys_param_h],
763     [CFLAGS="${CFLAGS_save} -Wall -Werror"
764      AC_TRY_COMPILE([#include <sys/param.h>],
765         [void foo() { int meuh; ntohl(meuh); }],
766         ac_cv_c_ntohl_sys_param_h=yes, ac_cv_c_ntohl_sys_param_h=no)])
767 if test "${ac_cv_c_ntohl_sys_param_h}" != "no"; then
768     AC_DEFINE(NTOHL_IN_SYS_PARAM_H, 1, Define if <sys/param.h> defines ntohl.)
769 fi
770
771 # XXX: do this with an M4 macro?
772 #dnl Check for various -W flags
773 #for flag in "" all unreachable-code conversion sign-compare disabled-optimization
774 #do
775 #    AC_CACHE_CHECK([if \$CC accepts -W${flag}],
776 #        [ac_cv_c_W${flag}],
777 #        [CFLAGS="-W${flag} ${CFLAGS_save}"
778 #         AC_TRY_COMPILE([],,ac_cv_c_W${flag}=yes, ac_cv_c_W${flag}=no)])
779 #    if test "${ac_cv_c_W${flag}}" != "no"; then
780 #        CFLAGS_save="-W${flag} ${CFLAGS_save}"; CFLAGS="${CFLAGS_save}"
781 #        CXXFLAGS_save="-W${flag} ${CFLAGS_save}"; CXXFLAGS="${CXXFLAGS_save}"
782 #        OBJCFLAGS_save="-W${flag} ${OBJCFLAGS_save}"; OBJCFLAGS="${OBJCFLAGS_save}"
783 #    fi
784 #done
785
786 AC_CACHE_CHECK([if \$CC accepts -Wall],
787     [ac_cv_c_Wall],
788     [CFLAGS="-Wall ${CFLAGS_save}"
789      AC_TRY_COMPILE([],,ac_cv_c_Wall=yes, ac_cv_c_Wall=no)])
790
791 AC_CACHE_CHECK([if \$CC accepts -Wconversion],
792     [ac_cv_c_Wconversion],
793     [CFLAGS="-Wconversion ${CFLAGS_save}"
794      AC_TRY_COMPILE([],,ac_cv_c_Wconversion=yes, ac_cv_c_Wconversion=no)])
795
796 AC_CACHE_CHECK([if \$CC accepts -Wunreachable-code],
797     [ac_cv_c_Wunreachable_code],
798     [CFLAGS="-Wunreachable-code ${CFLAGS_save}"
799      AC_TRY_COMPILE([],,ac_cv_c_Wunreachable_code=yes, ac_cv_c_Wunreachable_code=no)])
800
801 AC_CACHE_CHECK([if \$CC accepts -Wsign-compare],
802     [ac_cv_c_Wsign_compare],
803     [CFLAGS="-Wsign-compare ${CFLAGS_save}"
804      AC_TRY_COMPILE([],,ac_cv_c_Wsign_compare=yes, ac_cv_c_Wsign_compare=no)])
805
806 if test "${ac_cv_c_Wall}" != "no"; then
807     CFLAGS_save="-Wall ${CFLAGS_save}"; CFLAGS="${CFLAGS_save}"
808     CXXFLAGS_save="-Wall ${CFLAGS_save}"; CXXFLAGS="${CXXFLAGS_save}"
809     OBJCFLAGS_save="-Wall ${OBJCFLAGS_save}"; OBJCFLAGS="${OBJCFLAGS_save}"
810 fi
811
812 if test "${ac_cv_c_Wsign_compare}" != "no"; then
813     CFLAGS_save="-Wsign-compare ${CFLAGS_save}"; CFLAGS="${CFLAGS_save}"
814     CXXFLAGS_save="-Wsign-compare ${CFLAGS_save}"; CXXFLAGS="${CXXFLAGS_save}"
815     OBJCFLAGS_save="-Wsign-compare ${OBJCFLAGS_save}"; OBJCFLAGS="${OBJCFLAGS_save}"
816 fi
817
818 dnl Check for -pipe
819 AC_CACHE_CHECK([if \$CC accepts -pipe],
820     [ac_cv_c_pipe],
821     [CFLAGS="${CFLAGS_save} -pipe"
822      AC_TRY_COMPILE([],,ac_cv_c_pipe=yes, ac_cv_c_pipe=no)])
823 if test "${ac_cv_c_pipe}" != "no"; then
824     CFLAGS_save="${CFLAGS_save} -pipe"; CFLAGS="${CFLAGS_save}"
825     CXXFLAGS_save="${CXXFLAGS_save} -pipe"; CXXFLAGS="${CXXFLAGS_save}"
826     OBJCFLAGS_save="${OBJCFLAGS_save} -pipe"; OBJCFLAGS="${OBJCFLAGS_save}"
827 fi
828
829 dnl Check for various optimization flags
830 AC_CACHE_CHECK([if \$CC accepts -Os],
831     [ac_cv_c_os],
832     [CFLAGS="${CFLAGS_save} -Os"
833      AC_TRY_COMPILE([],,ac_cv_c_os=yes, ac_cv_c_os=no)])
834 if test "${ac_cv_c_os}" != "no" -a "${target_cpu}" = "mipsel"; then
835     CFLAGS_OPTIM="${CFLAGS_OPTIM} -Os"
836 fi
837
838 AC_CACHE_CHECK([if \$CC accepts -O3],
839     [ac_cv_c_o3],
840     [CFLAGS="${CFLAGS_save} -O3"
841      AC_TRY_COMPILE([],,ac_cv_c_o3=yes, ac_cv_c_o3=no)])
842 if test "${ac_cv_c_o3}" != "no" -a "${target_cpu}" != "mipsel"; then
843     CFLAGS_OPTIM="${CFLAGS_OPTIM} -O3"
844 fi
845
846 AC_CACHE_CHECK([if \$CC accepts -O2],
847     [ac_cv_c_o2],
848     [CFLAGS="${CFLAGS_save} -O2"
849      AC_TRY_COMPILE([],,ac_cv_c_o2=yes, ac_cv_c_o2=no)])
850 if test "${ac_cv_c_o2}" != "no" -a "${target_cpu}" != "mipsel"; then
851     if test "${ac_cv_c_o3}" = "no"; then
852         CFLAGS_OPTIM="${CFLAGS_OPTIM} -O2"
853     fi
854     CFLAGS_NOOPTIM="${CFLAGS_NOOPTIM} -O2"
855 else 
856     AC_CACHE_CHECK([if \$CC accepts -O],
857         [ac_cv_c_o],
858         [CFLAGS="${CFLAGS_save} -O"
859          AC_TRY_COMPILE([],,ac_cv_c_o=yes, ac_cv_c_o=no)])
860     if test "${ac_cv_c_o}" != "no" -a "${target_cpu}" != "mipsel"; then
861         if test "${ac_cv_c_o3}" = "no"; then
862             CFLAGS_OPTIM="${CFLAGS_OPTIM} -O"
863         fi
864         CFLAGS_NOOPTIM="${CFLAGS_NOOPTIM} -O"
865     fi
866 fi
867
868 dnl Check for -ffast-math
869 AC_CACHE_CHECK([if \$CC accepts -ffast-math],
870     [ac_cv_c_fast_math],
871     [CFLAGS="${CFLAGS_save} -ffast-math"
872      AC_TRY_COMPILE([],,ac_cv_c_fast_math=yes, ac_cv_c_fast_math=no)])
873 if test "${ac_cv_c_fast_math}" != "no"; then
874     CFLAGS_OPTIM="${CFLAGS_OPTIM} -ffast-math"
875 fi
876
877 dnl Check for -funroll-loops
878 dnl Disabled on BeOS because BeOS' gcc is buggy and may crash with it
879 if test "${SYS}" != "beos"
880 then
881   AC_CACHE_CHECK([if \$CC accepts -funroll-loops],
882       [ac_cv_c_unroll_loops],
883       [CFLAGS="${CFLAGS_save} -funroll-loops"
884        AC_TRY_COMPILE([],,ac_cv_c_unroll_loops=yes, ac_cv_c_unroll_loops=no)])
885   if test "${ac_cv_c_unroll_loops}" != "no"; then
886       CFLAGS_OPTIM="${CFLAGS_OPTIM} -funroll-loops"
887   fi
888 fi
889
890 dnl Check for -fomit-frame-pointer
891 AC_CACHE_CHECK([if \$CC accepts -fomit-frame-pointer],
892     [ac_cv_c_omit_frame_pointer],
893     [CFLAGS="${CFLAGS_save} -fomit-frame-pointer"
894      AC_TRY_COMPILE([],,ac_cv_c_omit_frame_pointer=yes, ac_cv_c_omit_frame_pointer=no)])
895 if test "${ac_cv_c_omit_frame_pointer}" != "no"; then
896     CFLAGS_OPTIM_NODEBUG="${CFLAGS_OPTIM_NODEBUG} -fomit-frame-pointer"
897     # this plugin does not compile without -fomit-frame-pointer, damn gcc!
898     VLC_ADD_CFLAGS([i420_yuy2_mmx],[-fomit-frame-pointer])
899 fi
900
901 dnl Check for -mdynamic-no-pic
902 AC_CACHE_CHECK([if \$CC accepts -mdynamic-no-pic],
903     [ac_cv_c_dynamic_no_pic],
904     [CFLAGS="${CFLAGS_save} -mdynamic-no-pic"
905      AC_TRY_COMPILE([],,ac_cv_c_dynamic_no_pic=yes, ac_cv_c_dynamic_no_pic=no)])
906 if test "${ac_cv_c_dynamic_no_pic}" != "no"; then
907     VLC_ADD_CFLAGS([builtin],[-mdynamic-no-pic])
908     VLC_ADD_CFLAGS([libvlc],[-mdynamic-no-pic])
909 fi
910
911 dnl Check for Darwin plugin linking flags
912 AC_CACHE_CHECK([if \$CC accepts -bundle -undefined error -lcc_dynamic],
913     [ac_cv_ld_darwin],
914     [CFLAGS="${CFLAGS_save} -bundle -undefined error -lcc_dynamic"
915      AC_TRY_COMPILE([],,ac_cv_ld_darwin=yes, ac_cv_ld_darwin=no)])
916 if test "${ac_cv_ld_darwin}" != "no"; then
917     VLC_ADD_LDFLAGS([plugin],[-bundle -undefined error])
918     AC_CHECK_LIB(cc_dynamic, main,[
919       VLC_ADD_LDFLAGS([plugin],[-lcc_dynamic])
920     ])
921 fi
922
923 dnl Check for standard plugin linking flags
924 dnl BeOS' gcc needs -nostart instead of -shared, even if -shared isn't harmful (just a warning)
925 if test "${SYS}" = "beos"; then
926   VLC_ADD_LDFLAGS([plugin mozilla],[-nostart])
927 else
928   AC_CACHE_CHECK([if \$CC accepts -shared],
929       [ac_cv_ld_plugins],
930       [CFLAGS="${CFLAGS_save} -shared"
931        AC_TRY_COMPILE([],, ac_cv_ld_plugins=yes, ac_cv_ld_plugins=no)])
932   if test "${ac_cv_ld_plugins}" != "no"; then
933     VLC_ADD_LDFLAGS([plugin mozilla],[-shared])
934   fi
935 fi
936
937 dnl Check for variadic macros
938 AC_CACHE_CHECK([for variadic cpp macros],
939     [ac_cv_cpp_variadic_macros],
940     [CFLAGS="${CFLAGS_save}"
941      AC_TRY_COMPILE(
942          [#include <stdio.h>
943           #define a(b,c...) printf(b,##c)],
944          [a("foo");a("%s","bar");a("%s%s","baz","quux");],
945          ac_cv_cpp_variadic_macros=yes,
946          ac_cv_cpp_variadic_macros=no)])
947 if test "${ac_cv_cpp_variadic_macros}" != "no"; then
948     AC_DEFINE(HAVE_VARIADIC_MACROS, 1, Support for variadic macros)
949 fi
950
951 dnl Checks for __attribute__(aligned()) directive
952 AC_CACHE_CHECK([__attribute__ ((aligned ())) support],
953     [ac_cv_c_attribute_aligned],
954     [ac_cv_c_attribute_aligned=0
955         CFLAGS="${CFLAGS_save} -Werror"
956     for ac_cv_c_attr_align_try in 2 4 8 16 32 64; do
957         AC_TRY_COMPILE([],
958         [static char c __attribute__ ((aligned(${ac_cv_c_attr_align_try}))) = 0; return c;],
959         [ac_cv_c_attribute_aligned="${ac_cv_c_attr_align_try}"])
960     done
961         CFLAGS="${CFLAGS_save}"])
962 if test "${ac_cv_c_attribute_aligned}" != "0"; then
963     AC_DEFINE_UNQUOTED([ATTRIBUTE_ALIGNED_MAX],
964         [${ac_cv_c_attribute_aligned}],[Maximum supported data alignment])
965 fi
966
967 dnl Checks for __attribute__(format()) directive
968 AC_CACHE_CHECK([__attribute__ ((format ())) support with function pointers],
969     [ac_cv_c_attribute_format],
970     [ac_cv_c_attribute_format=no
971         CFLAGS="${CFLAGS_save} -Werror"
972         AC_TRY_COMPILE([],
973         [static void (*pf_printf)(const char *, ...) __attribute__ ((format(printf,1,2)));(void)pf_printf;],
974         [ac_cv_c_attribute_format=yes])
975         CFLAGS="${CFLAGS_save}"])
976 if test "${ac_cv_c_attribute_format}" != "no"; then
977     AC_DEFINE(HAVE_ATTRIBUTE_FORMAT, 1, Support for __attribute__((format())) with function pointers)
978 fi
979
980 dnl Check for __attribute__(())
981 AC_CACHE_CHECK([for __attribute__((packed))],
982   [ac_cv_c_attribute_packed],
983   [ac_cv_c_attribute_packed=no
984    AC_TRY_COMPILE(, [struct __attribute__((__packed__)) foo { int a; } b;],
985                     [ac_cv_c_attribute_packed=yes])])
986 if test "${ac_cv_c_attribute_packed}" != "no"; then
987   AC_DEFINE(HAVE_ATTRIBUTE_PACKED, 1, Support for __attribute__((packed)) for structs)
988 fi
989
990 dnl
991 dnl  Check the CPU
992 dnl
993 case "${target_cpu}" in
994   "")
995     ARCH=unknown
996     ;;
997   *)
998     ARCH="${target_cpu}"
999     ;;
1000 esac
1001
1002 dnl
1003 dnl  Enable profiling
1004 dnl
1005 AC_ARG_ENABLE(gprof,
1006 [  --enable-gprof          gprof profiling (default disabled)])
1007 AC_ARG_ENABLE(cprof,
1008 [  --enable-cprof          cprof profiling (default disabled)])
1009 test "${enable_gprof}" != "yes" && enable_gprof="no"
1010 test "${enable_cprof}" != "yes" && enable_cprof="no"
1011
1012 dnl
1013 dnl  default modules
1014 dnl
1015 VLC_ADD_PLUGINS([dummy logger memcpy])
1016 VLC_ADD_PLUGINS([mpgv mpga m4v m4a h264 ps pva avi asf mp4 rawdv nsv real aiff mjpeg demuxdump flac])
1017 VLC_ADD_PLUGINS([cvdsub svcdsub spudec subsdec dvbsub mpeg_audio lpcm a52 dts cinepak flacdec])
1018 VLC_ADD_PLUGINS([deinterlace invert adjust transform distort motionblur rv32])
1019 VLC_ADD_PLUGINS([fixed32tos16 s16tofixed32 u8tofixed32])
1020 VLC_ADD_PLUGINS([trivial_resampler ugly_resampler])
1021 VLC_ADD_PLUGINS([trivial_channel_mixer trivial_mixer])
1022 VLC_ADD_PLUGINS([playlist export sgimb m3u nsc xtag])
1023 VLC_ADD_PLUGINS([i420_rgb rawvideo blend scale image logo magnify])
1024 VLC_ADD_PLUGINS([wav araw subtitle vobsub adpcm a52sys dtssys au ty voc xa nuv])
1025 VLC_ADD_PLUGINS([access_directory access_file access_udp access_tcp])
1026 VLC_ADD_PLUGINS([access_http access_mms access_ftp ipv4])
1027 VLC_ADD_PLUGINS([packetizer_mpegvideo packetizer_h264])
1028 VLC_ADD_PLUGINS([packetizer_mpeg4video packetizer_mpeg4audio])
1029
1030 if test "${SYS}" != "mingwce"; then
1031 dnl  VLC_ADD_PLUGINS([externrun])
1032   VLC_ADD_PLUGINS([access_fake access_filter_timeshift access_filter_record])
1033   VLC_ADD_PLUGINS([gestures rc telnet hotkeys netsync showintf time marq podcast shout sap fake])
1034   VLC_ADD_PLUGINS([rss mosaic wall motiondetect clone crop])
1035   VLC_ADD_PLUGINS([i420_yuy2 i422_yuy2 i420_ymga])
1036   VLC_ADD_PLUGINS([aout_file linear_resampler bandlimited_resampler])
1037   VLC_ADD_PLUGINS([float32_mixer spdif_mixer simple_channel_mixer])
1038   VLC_ADD_PLUGINS([dolby_surround_decoder headphone_channel_mixer normvol equalizer])
1039   VLC_ADD_PLUGINS([fixed32tofloat32 float32tos16 float32tos8 float32tou16 float32tou8 a52tospdif dtstospdif s16tofloat32 s16tofloat32swab s8tofloat32 u8tofloat32 audio_format])
1040 fi
1041
1042 dnl
1043 dnl  Switch to enable a version of VLC where most modules will be builtin
1044 dnl
1045 AC_ARG_ENABLE(mostly-builtin,
1046 [  --enable-mostly-builtin most modules will be built-in (default disabled)])
1047 if test "${enable_mostly_builtin}" = "yes"; then
1048   VLC_ADD_BUILTINS([${PLUGINS}])
1049   PLUGINS=""
1050 fi
1051
1052 dnl
1053 dnl Some plugins aren't useful on some platforms
1054 dnl
1055 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
1056     VLC_ADD_PLUGINS([screensaver])
1057 elif test "${SYS}" != "mingwce"; then
1058     VLC_ADD_PLUGINS([ntservice access_smb dmo msn])
1059     VLC_ADD_LDFLAGS([dmo],[-lole32])
1060 else
1061     VLC_ADD_PLUGINS([win32text])
1062 fi
1063
1064 dnl
1065 dnl  Accelerated modules
1066 dnl
1067 MMX_MODULES="memcpymmx i420_rgb_mmx i422_yuy2_mmx i420_ymga_mmx"
1068 #MMX_MODULES="${MMX_MODULES} idctmmx motionmmx"
1069 MMXEXT_MODULES="memcpymmxext"
1070 #MMXEXT_MODULES="${MMXEXT_MODULES} idctmmxext motionmmxext"
1071 THREEDNOW_MODULES="memcpy3dn"
1072 SSE_MODULES=""
1073 ALTIVEC_MODULES="memcpyaltivec i420_yuy2_altivec"
1074 #ALTIVEC_MODULES="${ALTIVEC_MODULES} idctaltivec motionaltivec"
1075
1076 if test "${enable_gprof}" != "yes"
1077 then
1078   MMX_MODULES="${MMX_MODULES} i420_yuy2_mmx"
1079 fi
1080
1081 AC_CACHE_CHECK([if \$CC groks MMX inline assembly],
1082     [ac_cv_mmx_inline],
1083     [CFLAGS="${CFLAGS_save}"
1084      AC_TRY_COMPILE(,[void *p;asm volatile("packuswb %%mm1,%%mm2"::"r"(p));],
1085                     ac_cv_mmx_inline=yes, ac_cv_mmx_inline=no)])
1086 if test "${ac_cv_mmx_inline}" != "no"; then
1087   AC_DEFINE(CAN_COMPILE_MMX, 1, Define if \$CC groks MMX inline assembly.)
1088   ACCEL_MODULES="${ACCEL_MODULES} ${MMX_MODULES}"
1089 fi
1090
1091 dnl  Check for fully workin MMX intrinsics
1092 dnl  We need support for -mmmx, we need <mmintrin.h>, and we also need a
1093 dnl  working compiler (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23963)
1094 AC_CACHE_CHECK([if \$CC groks MMX intrinsics],
1095     [ac_cv_c_mmx_intrinsics],
1096     [CFLAGS="${CFLAGS_save} -O -mmmx"
1097      AC_TRY_COMPILE([#include <mmintrin.h>
1098                      #include <stdint.h>
1099                      uint64_t frobzor;],
1100                     [__m64 a, b, c;
1101                      a = b = c = (__m64)frobzor;
1102                      a = _mm_slli_pi16(a, 3);
1103                      a = _mm_adds_pi16(a, b);
1104                      c = _mm_srli_pi16(c, 8);
1105                      c = _mm_slli_pi16(c, 3);
1106                      b = _mm_adds_pi16(b, c);
1107                      a = _mm_unpacklo_pi8(a, b);
1108                      frobzor = (uint64_t)a;],
1109                     [ac_cv_c_mmx_intrinsics=yes],
1110                     [ac_cv_c_mmx_intrinsics=no])])
1111 if test "${ac_cv_c_mmx_intrinsics}" != "no"; then
1112   AC_DEFINE(HAVE_MMX_INTRINSICS, 1, Define if MMX intrinsics are available.)
1113   VLC_ADD_CFLAGS([i420_rgb_mmx],[-mmmx])
1114 fi
1115
1116 AC_CACHE_CHECK([if \$CC groks MMX EXT inline assembly],
1117     [ac_cv_mmxext_inline],
1118     [CFLAGS="${CFLAGS_save}"
1119      AC_TRY_COMPILE(,[void *p;asm volatile("maskmovq %%mm1,%%mm2"::"r"(p));],
1120                     ac_cv_mmxext_inline=yes, ac_cv_mmxext_inline=no)])
1121 if test "${ac_cv_mmxext_inline}" != "no"; then
1122   AC_DEFINE(CAN_COMPILE_MMXEXT, 1, Define if \$CC groks MMX EXT inline assembly.)
1123   ACCEL_MODULES="${ACCEL_MODULES} ${MMXEXT_MODULES}"
1124 fi
1125
1126 AC_CACHE_CHECK([if \$CC groks 3D Now! inline assembly],
1127     [ac_cv_3dnow_inline],
1128     [CFLAGS="${CFLAGS_save}"
1129      AC_TRY_COMPILE(,[void *p;asm volatile("pfadd %%mm1,%%mm2"::"r"(p));],
1130                     ac_cv_3dnow_inline=yes, ac_cv_3dnow_inline=no)])
1131 if test "${ac_cv_3dnow_inline}" != "no"; then
1132   AC_DEFINE(CAN_COMPILE_3DNOW, 1, Define if \$CC groks 3D Now! inline assembly.)
1133   ACCEL_MODULES="${ACCEL_MODULES} ${THREEDNOW_MODULES}"
1134 fi
1135
1136 AC_CACHE_CHECK([if \$CC groks SSE inline assembly],
1137     [ac_cv_sse_inline],
1138     [CFLAGS="${CFLAGS_save}"
1139      AC_TRY_COMPILE(,[void *p;asm volatile("xorps %%xmm1,%%xmm2"::"r"(p));],
1140                     ac_cv_sse_inline=yes, ac_cv_sse_inline=no)])
1141 if test "${ac_cv_sse_inline}" != "no" -a "${SYS}" != "mingw32" -a "${SYS}" != "solaris"; then
1142   AC_DEFINE(CAN_COMPILE_SSE, 1, Define if \$CC groks SSE inline assembly.)
1143   ACCEL_MODULES="${ACCEL_MODULES} ${SSE_MODULES}"
1144 fi
1145
1146 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
1147 AC_CACHE_CHECK([if \$CC groks AltiVec inline assembly],
1148     [ac_cv_altivec_inline],
1149     [CFLAGS="${CFLAGS_save}"
1150      AC_TRY_COMPILE(,[asm volatile("vperm 0,1,2,3");],
1151          ac_cv_altivec_inline=yes,
1152          [CFLAGS="${CFLAGS_save} -Wa,-m7400"
1153           AC_TRY_COMPILE(,[asm volatile("vperm 0,1,2,3");],
1154             [ac_cv_altivec_inline="-Wa,-m7400"],
1155             ac_cv_altivec_inline=no)
1156          ])])
1157 if test "${ac_cv_altivec_inline}" != "no"; then
1158   AC_DEFINE(CAN_COMPILE_ALTIVEC, 1, Define if \$CC groks AltiVec inline assembly.)
1159   if test "${ac_cv_altivec_inline}" != "yes"; then
1160     VLC_ADD_CFLAGS([idctaltivec],[${ac_cv_altivec_inline}])
1161     VLC_ADD_CFLAGS([motionaltivec],[${ac_cv_altivec_inline}])
1162     VLC_ADD_CFLAGS([memcpyaltivec],[${ac_cv_altivec_inline}])
1163     VLC_ADD_CFLAGS([i420_yuy2_altivec],[${ac_cv_altivec_inline}])
1164     VLC_ADD_CFLAGS([vlc],[${ac_cv_altivec_inline}])
1165   fi
1166   ACCEL_MODULES="${ACCEL_MODULES} ${ALTIVEC_MODULES}"
1167 fi
1168
1169 dnl The AltiVec C extensions
1170 dnl
1171 dnl There are several possible cases:
1172 dnl - OS X PPC, gcc 4.x: use -mpim-altivec -force_cpusubtype_ALL, don't
1173 dnl                      need <altivec.h>
1174 dnl - OS X PPC, gcc 3.x: need -faltivec, don't need <altivec.h>
1175 dnl - Linux PPC, gcc 3.4, 4.x: need <altivec.h> which requires -maltivec
1176 dnl - Linux PPC, gcc 3.3: need <altivec.h> and -maltivec -mabi=altivec
1177 dnl - Linux PPC, gcc 3.x: need <altivec.h> and -fvec
1178 dnl - Others: test should fail
1179 AC_CACHE_CHECK([if \$CC groks AltiVec C extensions],
1180   [ac_cv_c_altivec],
1181   [# OS X/PPC test (gcc 4.x)
1182    CFLAGS="${CFLAGS_save} -mpim-altivec -force_cpusubtype_ALL"
1183    AC_TRY_COMPILE([],
1184      [vec_ld(0, (unsigned char *)0);],
1185      [ac_cv_c_altivec="-mpim-altivec -force_cpusubtype_ALL"],
1186      [# OS X/PPC test (gcc 3.x)
1187       CFLAGS="${CFLAGS_save} -faltivec"
1188       AC_TRY_COMPILE([],
1189         [vec_ld(0, (unsigned char *)0);],
1190         [ac_cv_c_altivec="-faltivec"],
1191         dnl Below this are the Linux tests
1192         [# Linux/PPC test (gcc 4.x)
1193          CFLAGS="${CFLAGS_save} -maltivec"
1194          AC_TRY_COMPILE([#include <altivec.h>],
1195            [vec_ld(0, (unsigned char *)0);],
1196            [ac_cv_c_altivec="-maltivec"],
1197            [# Linux/PPC test (gcc 3.3)
1198             CFLAGS="${CFLAGS_save} -maltivec -mabi=altivec"
1199             AC_TRY_COMPILE([#include <altivec.h>],
1200               [vec_ld(0, (unsigned char *)0);],
1201               [ac_cv_c_altivec=""
1202                ac_cv_c_altivec_abi="-maltivec -mabi=altivec"],
1203               [# Linux/PPC test (gcc 3.3)
1204                CFLAGS="${CFLAGS_save} -fvec"
1205                AC_TRY_COMPILE([#include <altivec.h>],
1206                  [vec_ld(0, (unsigned char *)0);],
1207                  [ac_cv_c_altivec="-fvec"],
1208                  [ac_cv_c_altivec=no])
1209               ])
1210            ])
1211         ])
1212      ])
1213    CFLAGS="${CFLAGS_save}"
1214   ])
1215
1216 if test "${ac_cv_c_altivec}" != "no"; then
1217   CPPFLAGS="${CPPFLAGS_save} ${ac_cv_c_altivec}"
1218 fi
1219 AC_CHECK_HEADERS(altivec.h)
1220 CPPFLAGS="${CPPFLAGS_save}"
1221
1222 if test "${ac_cv_c_altivec}" != "no"; then
1223   AC_DEFINE(CAN_COMPILE_C_ALTIVEC, 1, Define if your compiler groks C AltiVec extensions.)
1224   VLC_ADD_CFLAGS([vlc],[${ac_cv_c_altivec}])
1225   VLC_ADD_CFLAGS([idctaltivec motionaltivec],[${ac_cv_c_altivec}])
1226   VLC_ADD_CFLAGS([i420_yuy2_altivec memcpyaltivec deinterlace],[${ac_cv_c_altivec} ${ac_cv_c_altivec_abi}])
1227   ACCEL_MODULES="${ACCEL_MODULES} ${ALTIVEC_MODULES}"
1228 fi
1229
1230 AC_CACHE_CHECK([if linker needs -framework vecLib],
1231     [ac_cv_ld_altivec],
1232     [LDFLAGS="${LDFLAGS_vlc} -framework vecLib"
1233      AC_TRY_LINK([],,ac_cv_ld_altivec=yes,ac_cv_ld_altivec=no)
1234      LDFLAGS="${LDFLAGS_save}"
1235     ])
1236 if test "${ac_cv_ld_altivec}" != "no"; then
1237   VLC_ADD_LDFLAGS([vlc idctaltivec motionaltivec memcpyaltivec],[-framework vecLib])
1238 fi
1239 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
1240
1241 AC_ARG_WITH(,[])
1242 AC_ARG_WITH(,[Optimization options:])
1243
1244 dnl
1245 dnl  Special arch tuning
1246 dnl
1247 AC_ARG_WITH(tuning,
1248 [  --with-tuning=ARCH      enable special tuning for an architecture
1249                           (default Pentium 2 on IA-32 and 750 on PPC)])
1250 if test -n "${with_tuning}"; then
1251     if test "${with_tuning}" != "no"; then
1252         CFLAGS_TUNING="-mtune=${with_tuning}"
1253     fi
1254 else
1255     if test "${target_cpu}" = "i686" -o "${target_cpu}" = "i586" -o "${target_cpu}" = "i486" -o "${target_cpu}" = "i386"; then
1256         CFLAGS_TUNING="-mtune=pentium2"
1257     elif test "${target_cpu}" = "x86_64"; then
1258         CFLAGS_TUNING="-mtune=athlon64"
1259     elif test "${target_cpu}" = "powerpc"; then
1260         CFLAGS_TUNING="-mtune=750";
1261     fi
1262 fi
1263
1264 dnl NOTE: this can't be cached cleanly
1265 AS_IF([test "${CFLAGS_TUNING}"],
1266    [CFLAGS_save="${CFLAGS}"
1267     CFLAGS="${CFLAGS} ${CFLAGS_TUNING}"
1268
1269     AC_MSG_CHECKING([whether $CC accepts ${CFLAGS_TUNING}])
1270     AC_COMPILE_IFELSE([ ],
1271                       [tuning="yes"],
1272                       [CFLAGS_TUNING=""; tuning="no"
1273                        AS_IF([test "${with_tuning}"],
1274                              [AC_MSG_ERROR([requested tuning not supported])])])
1275
1276     AC_MSG_RESULT([$tuning])
1277     CFLAGS="${CFLAGS_save}"
1278 ])
1279
1280 dnl
1281 dnl  x86 accelerations
1282 dnl
1283 if test "${target_cpu}" = "i686" -o "${target_cpu}" = "i586" -o "${target_cpu}" = "x86" -o "${target_cpu}" = "i386" -o "${target_cpu}" = "x86_64"
1284 then
1285     ARCH="${ARCH} mmx"
1286     VLC_ADD_BUILTINS([${ACCEL_MODULES}])
1287 fi
1288
1289 dnl
1290 dnl  Memory usage
1291 dnl
1292 AC_ARG_ENABLE(optimize-memory,
1293 [  --enable-optimize-memory      optimize memory usage over performance])
1294 if test "${enable_optimize_memory}" = "yes"; then
1295   AC_DEFINE(OPTIMIZE_MEMORY, 1, Define if you want to optimize memory usage over performance)
1296 fi
1297
1298 dnl
1299 dnl  Enable/disable optimizations
1300 dnl
1301 AC_ARG_ENABLE(optimizations,
1302 [  --disable-optimizations disable compiler optimizations (default enabled)])
1303 test "${enable_optimizations}" != "no" && enable_optimizations="yes"
1304
1305 dnl
1306 dnl  AltiVec acceleration
1307 dnl
1308 AC_ARG_ENABLE(altivec,
1309 [  --disable-altivec       disable AltiVec optimizations (default enabled on PPC)],
1310 [ if test "${enable_altivec}" = "yes"; then ARCH="${ARCH} altivec";
1311     VLC_ADD_BUILTINS([${ACCEL_MODULES}]) fi ],
1312 [ if test "${target_cpu}" = "powerpc"; then ARCH="${ARCH} altivec";
1313     VLC_ADD_BUILTINS([${ACCEL_MODULES}]) fi ])
1314
1315 dnl
1316 dnl  Debugging mode
1317 dnl
1318 AC_ARG_ENABLE(debug,
1319 [  --enable-debug          debug mode (default disabled)])
1320 test "${enable_debug}" != "yes" && enable_debug="no"
1321
1322 dnl
1323 dnl  Enable release-specific flags
1324 dnl
1325 AC_ARG_ENABLE(release,
1326 [  --enable-release        activate extra optimizations (default disabled)])
1327 test "${enable_release}" != "yes" && enable_release="no"
1328
1329 dnl
1330 dnl  Is the shared libvlc forced ?
1331 dnl
1332 build_pic=no
1333 AC_ARG_ENABLE(shared-libvlc,
1334   [  --enable-shared-libvlc  shared libvlc (default disabled EXPERIMENTAL)],
1335   ,[shared_libvlc=no])
1336
1337
1338 dnl
1339 dnl Stream output
1340 dnl
1341 AC_ARG_ENABLE(sout,
1342   [  --enable-sout           Stream output modules (default enabled)])
1343 if test "${enable_sout}" != "no"
1344 then
1345   VLC_ADD_PLUGINS([access_output_dummy access_output_udp access_output_file access_output_http])
1346   VLC_ADD_PLUGINS([mux_ps mux_avi mux_mp4 mux_asf mux_dummy mux_wav mux_mpjpeg])
1347   VLC_ADD_PLUGINS([packetizer_copy])
1348
1349   VLC_ADD_PLUGINS([stream_out_dummy stream_out_standard stream_out_es stream_out_rtp stream_out_description vod_rtsp])
1350   VLC_ADD_PLUGINS([stream_out_duplicate stream_out_gather stream_out_display stream_out_transcode stream_out_bridge stream_out_mosaic_bridge])
1351 #  VLC_ADD_PLUGINS([stream_out_transrate])
1352
1353   AC_DEFINE(ENABLE_SOUT, 1, Define if you want the stream output support)
1354 fi
1355
1356 dnl Check for libshout
1357 AC_ARG_ENABLE(shout,
1358   [  --enable-shout          libshout output plugin (default disabled)])
1359 if test "${enable_shout}" = "yes"; then
1360   PKG_CHECK_MODULES(SHOUT, shout >= 2.1,
1361     [AC_DEFINE(HAVE_SHOUT, [], [Define if you have the libshout library])
1362      VLC_ADD_PLUGINS([access_output_shout])
1363      VLC_ADD_LDFLAGS([vlc access_output_shout],[$SHOUT_LIBS])
1364      VLC_ADD_CFLAGS([vlc access_output_shout],[$SHOUT_CFLAGS])],
1365     [AC_MSG_WARN(libshout library not found)])
1366 fi
1367
1368 dnl
1369 dnl HTTP daemon
1370 dnl
1371 AC_ARG_ENABLE(httpd,
1372   [  --enable-httpd          HTTP daemon (default enabled)])
1373 if test "${enable_httpd}" != "no"
1374 then
1375   VLC_ADD_PLUGINS([http])
1376   AC_DEFINE(ENABLE_HTTPD, 1, Define if you want the HTTP dameon support)
1377 fi
1378
1379 dnl
1380 dnl VideoLAN manager
1381 dnl
1382 AC_ARG_ENABLE(vlm,
1383   [  --enable-vlm            VideoLAN manager (default enabled)])
1384 if test "${enable_vlm}" != "no"
1385 then
1386   AC_DEFINE(ENABLE_VLM, 1, Define if you want the VideoLAN manager support)
1387 fi
1388
1389 dnl
1390 dnl TLS/SSL
1391 dnl
1392 AC_ARG_ENABLE(gnutls,
1393   [  --enable-gnutls         gnutls TLS/SSL support (default enabled)])
1394 AS_IF([test "${enable_gnutls}" != "no"], [
1395
1396   gcrypt_LIBS="-lgpg-error"
1397   AS_IF([test "${SYS}" = "mingw32"],
1398     [gcrypt_LIBS="${gcrypt_LIBS} -lws2_32"
1399      VLC_ADD_LDFLAGS([gnutls],[-lws2_32])]
1400   )
1401
1402   gnutls_LIBS="-lgcrypt -lz ${gcrypt_LIBS}"
1403
1404   AC_CHECK_HEADER(gcrypt.h,
1405     [AC_CHECK_LIB(gcrypt, gcry_control,
1406       [AC_CHECK_HEADER(gnutls/gnutls.h,
1407         [AC_CHECK_LIB(gnutls, gnutls_certificate_verify_peers2,
1408           [have_gnutls="yes"],[old_gnutls="yes"], ${gnutls_LIBS})])],,
1409      ${gcrypt_LIBS})])
1410
1411   AS_IF([test "${have_gnutls}" = "yes"], [
1412     VLC_ADD_PLUGINS([gnutls])
1413     VLC_ADD_LDFLAGS([gnutls], [-lgnutls ${gnutls_LIBS}])
1414   ], [
1415     AS_IF([test "${enable_gnutls}" = "yes"], [
1416       AC_MSG_ERROR([gnutls not present or too old (version 1.0.17 required)])]
1417     )]
1418   )]
1419 )
1420
1421
1422 dnl
1423 dnl  Input plugins
1424 dnl
1425
1426 AC_ARG_WITH(,[Input plugins:])
1427
1428 dnl  live.com input
1429 dnl
1430 AC_ARG_ENABLE(livedotcom,
1431 [  --enable-livedotcom     live.com RTSP input plugin (default disabled)])
1432 if test "${enable_livedotcom}" = "yes"; then
1433   AC_ARG_WITH(livedotcom-tree,
1434     [    --with-livedotcom-tree=PATH live.com tree for static linking])
1435
1436   dnl
1437   dnl test for --with-livedotcom-tree
1438   dnl
1439   if test -z "${with_livedotcom_tree}" -a "${CXX}" != ""; then
1440     AC_LANG_PUSH(C++)
1441     CPPFLAGS_save="${CPPFLAGS}"
1442     CPPFLAGS_livedotcom="-I/usr/include/liveMedia -I/usr/include/groupsock -I/usr/include/BasicUsageEnvironment -I/usr/include/UsageEnvironment"
1443     CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_livedotcom}"
1444     AC_CHECK_HEADERS(liveMedia.hh, [
1445       VLC_ADD_CXXFLAGS([livedotcom], [${CPPFLAGS_livedotcom}])
1446       AC_CHECK_LIB(liveMedia_pic, main, [
1447         # We have -lliveMedia_pic, build plugins
1448         VLC_ADD_PLUGINS([livedotcom])
1449         VLC_ADD_LDFLAGS([livedotcom], [-lliveMedia_pic -lgroupsock_pic -lBasicUsageEnvironment_pic -lUsageEnvironment_pic])
1450       ], [
1451         AC_CHECK_LIB(liveMedia, main, [
1452           # We only have -lliveMedia, do builtins
1453           VLC_ADD_BUILTINS([livedotcom])
1454           VLC_ADD_LDFLAGS([livedotcom], [-lliveMedia -lgroupsock -lBasicUsageEnvironment -lUsageEnvironment])
1455         ])
1456       ])
1457       if test "${SYS}" = "mingw32"; then
1458         # add ws2_32 for closesocket, select, recv
1459         VLC_ADD_LDFLAGS([livedotcom],[-lws2_32])
1460       fi
1461     ])
1462     CPPFLAGS="${CPPFLAGS_save}"
1463     AC_LANG_POP(C++)
1464   else
1465     AC_MSG_CHECKING(for liveMedia/libliveMedia.a in ${with_livedotcom_tree})
1466     real_livedotcom_tree="`cd ${with_livedotcom_tree} 2>/dev/null && pwd`"
1467     if test -z "${real_livedotcom_tree}"; then
1468       dnl  The given directory can't be found
1469       AC_MSG_RESULT(no)
1470       AC_MSG_ERROR([cannot cd to ${with_livedotcom_tree}])
1471     fi
1472     if test -f "${real_livedotcom_tree}/liveMedia/libliveMedia.a"; then
1473       AC_MSG_RESULT(${real_livedotcom_tree}/liveMedia/libliveMedia.a)
1474
1475       VLC_ADD_BUILTINS([livedotcom])
1476
1477       if test "${SYS}" = "mingw32"; then
1478         # add ws2_32 for closesocket, select, recv
1479         VLC_ADD_LDFLAGS([livedotcom],[-lws2_32])
1480       fi
1481
1482       VLC_ADD_LDFLAGS([livedotcom],[-L${real_livedotcom_tree}/liveMedia -lliveMedia])
1483       VLC_ADD_LDFLAGS([livedotcom],[-L${real_livedotcom_tree}/BasicUsageEnvironment -lBasicUsageEnvironment])
1484       VLC_ADD_LDFLAGS([livedotcom],[-L${real_livedotcom_tree}/groupsock -lgroupsock])
1485       VLC_ADD_LDFLAGS([livedotcom],[-L${real_livedotcom_tree}/UsageEnvironment -lUsageEnvironment])
1486
1487       VLC_ADD_CXXFLAGS([livedotcom],[-I${real_livedotcom_tree}/BasicUsageEnvironment/include])
1488       VLC_ADD_CXXFLAGS([livedotcom],[-I${real_livedotcom_tree}/groupsock/include])
1489       VLC_ADD_CXXFLAGS([livedotcom],[-I${real_livedotcom_tree}/liveMedia/include])
1490       VLC_ADD_CXXFLAGS([livedotcom],[-I${real_livedotcom_tree}/UsageEnvironment/include ])
1491     else
1492       dnl  The given live.com wasn't built
1493       AC_MSG_RESULT(no)
1494       AC_MSG_ERROR([cannot find ${real_livedotcom_tree}/liveMedia/libliveMedia.a, make sure you compiled live.com in ${with_livedotcom_tree}])
1495     fi
1496   fi
1497 fi
1498
1499 dnl
1500 dnl dv module: digital video module check for libraw1394
1501 dnl
1502 AC_ARG_ENABLE(dv,
1503 [  --enable-dv             dv input module (default disabled)])
1504 if test "{enable_dv}" = "yes"
1505 then
1506   AC_ARG_WITH(dv-raw1394,
1507   [    --with-dv-raw1394=PATH   libraw1394 headers and libraries])
1508   AC_ARG_WITH(dv-raw1394-tree,
1509   [    --with-dv-raw1394=PATH   libraw1394 tree for static linking])
1510
1511   if test -z "${with_dv_raw1394}" -a "${with_dv_raw1394}" != ""
1512   then
1513     AC_MSG_CHECKING(for raw1394 headers in ${with_dv_raw1394})
1514     if test -f ${with_dv_raw1394}/include/libraw1394/raw1394.h
1515     then
1516       dnl  Use ${with_dv_raw1394}/include/libraw1394/raw1394.h
1517       AC_MSG_RESULT(yes)
1518       VLC_ADD_PLUGINS([access_dv])
1519       VLC_ADD_LDFLAGS([access_dv],[-L${with_dv_raw1394}/lib -lraw1394 -lpthread])
1520       VLC_ADD_CPPFLAGS([access_dv],[-I${with_dv_raw1394}/include])
1521     else
1522       dnl  No libraw1394 could be found, sorry
1523       AC_MSG_RESULT(no)
1524       AC_MSG_ERROR([cannot find ${with_dv_raw1394}/include/libraw1394/raw1394.h])
1525     fi
1526   else
1527     AC_CHECK_HEADERS(libraw1394/raw1394.h,
1528     [ VLC_ADD_PLUGINS([access_dv])
1529         VLC_ADD_LDFLAGS([access_dv],[-lraw1394 -lavc1394])
1530     ],[
1531         if test -n "${enable_dv}"
1532         then
1533           AC_MSG_ERROR([cannot find libraw1394 headers])
1534         fi
1535     ])
1536   fi
1537
1538   dnl Check for static linking of libraw1394
1539   if test -z "${with_dv_raw1394_tree}" -a "${with_dv_raw1394_tree}" != ""
1540   then
1541     AC_MSG_CHECKING(for libraw1394.a in ${with_dv_raw1394_tree})
1542     real_dv_raw1394_tree="`cd ${with_dv_raw1394_tree} 2>/dev/null && pwd`"
1543     if test -z "${real_dv_raw1394_tree}"
1544     then
1545       dnl  The given directory can't be found
1546       AC_MSG_RESULT(no)
1547       AC_MSG_ERROR([cannot cd to ${real_dv_raw1394_tree}])
1548     fi
1549     if test -f "${real_dv_raw1394_tree}/src/.libs/libraw1394.a"
1550     then
1551       dnl  Use a custom libraw1394
1552       AC_MSG_RESULT(${real_dv_raw1394_tree}/src/.libs/libraw1394.a)
1553       VLC_ADD_BUILTINS([access_dv])
1554       VLC_ADD_LDFLAGS([access_dv],[-L${real_dv_raw1394_tree}/src/.libs -lraw1394])
1555       VLC_ADD_CPPFLAGS([access_dv],[-I${real_dv_raw1394_tree}])
1556     else
1557       dnl  The given libraw1394 wasn't built
1558       AC_MSG_RESULT(no)
1559       AC_MSG_ERROR([cannot find ${real_dv_raw1394_tree}/src/.libs/libraw1394.a, make sure you compiled libraw1394 in ${with_dv_raw1394_tree}])
1560     fi
1561   fi
1562
1563   dnl
1564   dnl Check for libavc1394
1565   dnl
1566
1567   AC_ARG_WITH(dv-avc1394,
1568   [    --with-dv-avc1394=PATH   libavc1394 headers and libraries])
1569   AC_ARG_WITH(dv-avc1394-tree,
1570   [    --with-dv-avc1394=PATH   libavc1394 tree for static linking])
1571
1572   if test -z "${with_dv_avc1394}" -a "${with_dv_avc1394}" != ""
1573   then
1574     AC_MSG_CHECKING(for avc1394 headers in ${with_dv_avc1394})
1575     if test -f ${with_dv_avc1394}/include/libavc1394/avc1394.h
1576     then
1577       dnl  Use ${with_dv_avc1394}/include/libavc1394/avc1394.h
1578       AC_MSG_RESULT(yes)
1579       VLC_ADD_LDFLAGS([access_dv],[-L${with_dv_avc1394}/lib -lavc1394 -lrom1394 -lpthread])
1580       VLC_ADD_CPPFLAGS([access_dv],[-I${with_avc1394}/include])
1581     else
1582       dnl  No libavc1394 could be found, sorry
1583       AC_MSG_RESULT(no)
1584       AC_MSG_ERROR([cannot find ${with_dv_avc1394}/include/libavc1394/avc1394.h])
1585     fi
1586   else
1587     AC_CHECK_HEADERS(libavc1394/avc1394.h,
1588     [ VLC_ADD_LDFLAGS([access_dv],[-lavc1394 -lrom1394 -lpthread])
1589     ],[
1590         if test -n "${enable_dv}"
1591         then
1592           AC_MSG_ERROR([cannot find libavc1394 headers])
1593         fi
1594     ])
1595   fi
1596
1597   dnl Check for static linking of libavc1394
1598   if test -z "${with_dv_avc1394_tree}" -a "${with_dv_avc1394_tree}" != ""
1599   then
1600     AC_MSG_CHECKING(for libavc1394.a in ${with_dv_avc1394_tree})
1601     real_dv_avc1394_tree="`cd ${with_dv_avc1394_tree} 2>/dev/null && pwd`"
1602     if test -z "${real_dv_avc1394_tree}"
1603     then
1604       dnl  The given directory can't be found
1605       AC_MSG_RESULT(no)
1606       AC_MSG_ERROR([cannot cd to ${real_dv_avc1394_tree}])
1607     fi
1608     if test -f "${real_dv_avc1394_tree}/src/.libs/libavc1394.a"
1609     then
1610       dnl  Use a custom libavc1394
1611       AC_MSG_RESULT(${real_dv_avc1394_tree}/src/.libs/libavc1394.a)
1612       VLC_ADD_LDFLAGS([access_dv],[-L${real_dv_avc1394_tree}/src/.libs -lavc1394 -lrom1394 -lpthread])
1613       VLC_ADD_CPPFLAGS([access_dv],[-I${real_dv_avc1394_tree}])
1614     else
1615       dnl  The given libavc1394 wasn't built
1616       AC_MSG_RESULT(no)
1617       AC_MSG_ERROR([cannot find ${real_dv_avc1394_tree}/src/.libs/libavc1394.a, make sure you compiled libavc1394 in ${with_dv_avc1394_tree}])
1618     fi
1619   fi
1620 fi
1621
1622 dnl
1623 dnl dvdread module: check for libdvdread
1624 dnl
1625 AC_ARG_ENABLE(dvdread,
1626 [  --enable-dvdread        dvdread input module (default disabled)])
1627 if test "${enable_dvdread}" != "no"
1628 then
1629   AC_ARG_WITH(dvdread,
1630   [    --with-dvdread=PATH   libdvdread headers and libraries])
1631   AC_ARG_WITH(dvdread-tree,
1632   [    --with-dvdread-tree=PATH libdvdread tree for static linking])
1633
1634   dnl Temporary hack (yeah, sure ;)
1635   if test "${SYS}" = "mingw32" || test "${SYS}" = "darwin" || test "${SYS}" = "beos" ; then
1636       VLC_ADD_LDFLAGS([dvdread],[-ldvdcss])
1637   fi
1638
1639   if test -z "${with_dvdread}"
1640   then
1641     if test -z "${with_dvdread_tree}"
1642     then
1643       AC_CHECK_HEADERS(dvdread/dvd_reader.h,
1644         [ VLC_ADD_PLUGINS([dvdread])
1645           VLC_ADD_LDFLAGS([dvdread],[-ldvdread ${LDFLAGS_dvdcss}])
1646         ],[
1647           if test -n "${enable_dvdread}"
1648           then
1649             AC_MSG_ERROR([cannot find libdvdread headers])
1650           fi
1651         ])
1652     else
1653       AC_MSG_CHECKING(for libdvdread.a in ${with_dvdread_tree})
1654       real_dvdread_tree="`cd ${with_dvdread_tree} 2>/dev/null && pwd`"
1655       if test -z "${real_dvdread_tree}"
1656       then
1657         dnl  The given directory can't be found
1658         AC_MSG_RESULT(no)
1659         AC_MSG_ERROR([cannot cd to ${with_dvdread_tree}])
1660       fi
1661       if test -f "${real_dvdread_tree}/dvdread/.libs/libdvdread.a"
1662       then
1663         dnl  Use a custom libdvdread
1664         AC_MSG_RESULT(${real_dvdread_tree}/dvdread/.libs/libdvdread.a)
1665         VLC_ADD_BUILTINS([dvdread])
1666         VLC_ADD_LDFLAGS([dvdread],[-L${real_dvdread_tree}/dvdread/.libs -ldvdread ${LDFLAGS_dvdcss}])
1667         VLC_ADD_CPPFLAGS([dvdread],[-I${real_dvdread_tree}])
1668       else
1669         dnl  The given libdvdread wasn't built
1670         AC_MSG_RESULT(no)
1671         AC_MSG_ERROR([cannot find ${real_dvdread_tree}/dvdread/.libs/libdvdread.a, make sure you compiled libdvdread in ${with_dvdread_tree}])
1672       fi
1673     fi
1674   else
1675     AC_MSG_CHECKING(for dvdread headers in ${with_dvdread})
1676     if test -f ${with_dvdread}/include/dvdread/dvd_reader.h
1677     then
1678       dnl  Use ${with_dvdread}/include/dvdread/dvd_reader.h
1679       AC_MSG_RESULT(yes)
1680       VLC_ADD_PLUGINS([dvdread])
1681       VLC_ADD_LDFLAGS([dvdread],[-L${with_dvdread}/lib -ldvdread ${LDFLAGS_dvdcss}])
1682       VLC_ADD_CPPFLAGS([dvdread],[-I${with_dvdread}/include])
1683     else
1684       dnl  No libdvdread could be found, sorry
1685       AC_MSG_RESULT(no)
1686       AC_MSG_ERROR([cannot find ${with_dvdread}/include/dvdread/dvd_reader.h])
1687     fi
1688   fi
1689 fi
1690
1691 dnl
1692 dnl  libdvdnav plugin
1693 dnl
1694 AC_ARG_ENABLE(dvdnav,
1695   [  --enable-dvdnav         dvdnav input module (default enabled)])
1696 if test "${enable_dvdnav}" != "no"
1697 then
1698   dnl Same hack than dvdread
1699   if test "${SYS}" = "mingw32" || test "${SYS}" = "darwin" || test "${SYS}" = "beos" ; then
1700       VLC_ADD_LDFLAGS([dvdnav],[-ldvdcss])
1701   fi
1702
1703   DVDNAV_PATH="${PATH}"
1704   AC_ARG_WITH(dvdnav-config-path,
1705     [    --with-dvdnav-config-path=PATH dvdnav-config path (default search in \$PATH)],
1706     [ if test "${with_dvdnav_config_path}" != "no"
1707       then
1708         DVDNAV_PATH="${with_dvdnav_config_path}:${PATH}"
1709       fi ])
1710   AC_PATH_PROG(DVDNAV_CONFIG, dvdnav-config, no, ${DVDNAV_PATH})
1711   if test "${DVDNAV_CONFIG}" != "no"
1712   then
1713     VLC_ADD_PLUGINS([dvdnav])
1714     VLC_ADD_CFLAGS([dvdnav],[`${DVDNAV_CONFIG} --cflags`])
1715     VLC_ADD_LDFLAGS([dvdnav],[`${DVDNAV_CONFIG} --libs`])
1716   fi
1717 fi
1718
1719 dnl
1720 dnl  Windows DirectShow access module
1721 dnl
1722 AC_ARG_ENABLE(dshow,
1723   [  --enable-dshow          Win32 DirectShow support (default enabled on Win32)])
1724 if test "${enable_dshow}" != "no"
1725 then
1726   if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
1727   then
1728       AC_CHECK_HEADERS(dshow.h,
1729       [ VLC_ADD_PLUGINS([dshow])
1730         VLC_ADD_CXXFLAGS([dshow],[])
1731         VLC_ADD_LDFLAGS([dshow],[-lole32 -loleaut32 -luuid]) ])
1732   fi
1733 fi
1734
1735 dnl
1736 dnl  libsmbclient plugin
1737 dnl
1738 AC_ARG_ENABLE(smb,
1739   [  --enable-smb            smb input module (default enabled)])
1740 if test "${enable_smb}" != "no"; then
1741   AC_CHECK_HEADERS(libsmbclient.h,
1742     [ VLC_ADD_PLUGINS([access_smb])
1743       VLC_ADD_LDFLAGS([access_smb],[-lsmbclient]) ],
1744     [ if test -n "${enable_smb}"; then
1745         AC_MSG_ERROR([cannot find libsmbclient headers])
1746      fi ])
1747   AC_CHECK_MEMBER([struct _SMBCCTX.close_fn],
1748     AC_DEFINE([HAVE__SMBCCTX_CLOSE_FN], [1], [Define if samba has _SMBCCTX.close_fn]),,
1749     [#include <libsmbclient.h>])
1750 fi
1751
1752 dnl
1753 dnl  libdvbpsi ts demux/mux
1754 dnl
1755 AC_ARG_ENABLE(dvbpsi,
1756 [  --enable-dvbpsi         dvbpsi ts mux and demux module (default enabled)])
1757 if test "${enable_dvbpsi}" != "no"
1758 then
1759   AC_ARG_WITH(dvbpsi,
1760   [    --with-dvbpsi=PATH    libdvbpsi headers and libraries])
1761   AC_ARG_WITH(dvbpsi,
1762   [    --with-dvbpsi-tree=PATH libdvbpsi tree for static linking])
1763   case "${with_dvbpsi}" in
1764   ""|yes)
1765     if test -z "${with_dvbpsi_tree}"
1766     then
1767       AC_CHECK_HEADERS(dvbpsi/dr.h,
1768         [ VLC_ADD_PLUGINS([ts])
1769           if test "${enable_sout}" != "no"; then
1770             VLC_ADD_BUILTINS([mux_ts])
1771           fi
1772           VLC_ADD_LDFLAGS([mux_ts ts dvb],[-ldvbpsi]) ],
1773         [  AC_MSG_WARN([cannot find libdvbpsi headers]) ],
1774         [#if defined( HAVE_STDINT_H )
1775 #   include <stdint.h>
1776 #elif defined( HAVE_INTTYPES_H )
1777 #   include <inttypes.h>
1778 #endif
1779 #include <dvbpsi/dvbpsi.h>
1780 #include <dvbpsi/descriptor.h>
1781 #include <dvbpsi/pat.h>
1782 #include <dvbpsi/pmt.h>])
1783     else
1784       AC_MSG_CHECKING(for libdvbpsi.a in ${with_dvbpsi_tree})
1785       real_dvbpsi_tree="`cd ${with_dvbpsi_tree} 2>/dev/null && pwd`"
1786       if test -z "${real_dvbpsi_tree}"
1787       then
1788         dnl  The given directory can't be found
1789         AC_MSG_RESULT(no)
1790         AC_MSG_ERROR([cannot cd to ${with_dvbpsi_tree}])
1791       fi
1792       if test -f "${real_dvbpsi_tree}/src/.libs/libdvbpsi.a"
1793       then
1794         dnl  Use a custom libdvbpsi
1795         AC_MSG_RESULT(${real_dvbpsi_tree}/src/.libs/libdvbpsi.a)
1796         VLC_ADD_BUILTINS([ts])
1797         if test "${enable_sout}" != "no"; then
1798           VLC_ADD_BUILTINS([mux_ts])
1799         fi
1800         VLC_ADD_CPPFLAGS([mux_ts ts dvb],[-I${real_dvbpsi_tree}/src])
1801         VLC_ADD_LDFLAGS([mux_ts ts dvb],[${real_dvbpsi_tree}/src/.libs/libdvbpsi.a])
1802       else
1803         dnl  The given libdvbpsi wasn't built
1804         AC_MSG_RESULT(no)
1805         AC_MSG_ERROR([cannot find ${real_dvbpsi_tree}/src/.libs/libdvbpsi.a, make sure you compiled libdvbpsi in ${with_dvbpsi_tree}])
1806       fi
1807     fi
1808   ;;
1809   no)
1810     dnl  Compile without dvbpsi
1811   ;;
1812   *)
1813     AC_MSG_CHECKING(for dvbpsi headers in ${with_dvbpsi})
1814     if test -z "${with_dvbpsi}"
1815     then
1816       LDFLAGS_test=""
1817       CPPFLAGS_test=""
1818     else
1819       LDFLAGS_test="-L${with_dvbpsi}/lib"
1820       CPPFLAGS_test="-I${with_dvbpsi}/include"
1821     fi
1822     CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_test}"
1823     AC_CHECK_HEADERS([dvbpsi/dr.h],[
1824       VLC_ADD_PLUGINS([ts])
1825       if test "${enable_sout}" != "no"; then
1826         VLC_ADD_PLUGINS([mux_ts])
1827       fi
1828       VLC_ADD_CPPFLAGS([mux_ts ts dvb],[${CPPFLAGS_test}])
1829       VLC_ADD_LDFLAGS([mux_ts ts dvb],[${LDFLAGS_test} -ldvbpsi])
1830
1831     ],[
1832       if test -n "${enable_dvbpsi}"
1833       then
1834         AC_MSG_ERROR([Could not find libdvbpsi on your system: you may get it from www.videolan.org, you'll need at least version 0.1.1])
1835       fi
1836     ])
1837     CPPFLAGS="${CPPFLAGS_save}"
1838   ;;
1839   esac
1840   AC_CHECK_LIB(dvbpsi, dvbpsi_GenSDTSections, [
1841     AC_DEFINE(HAVE_DVBPSI_SDT, 1, [Define if you have dvbpsi_GenSDTSections.])
1842   ], [], [${LDFLAGS_ts}])
1843
1844 fi
1845
1846 dnl
1847 dnl  Video4Linux plugin
1848 dnl
1849 AC_ARG_ENABLE(v4l,
1850   [  --enable-v4l            Video4Linux input support (default disabled)])
1851 if test "${enable_v4l}" = "yes"
1852 then
1853   AC_ARG_WITH(v4l,
1854     [    --with-v4l=PATH       path to a v4l-enabled kernel tree],[],[])
1855   if test "${with_v4l}" != "no" -a -n "${with_v4l}"
1856   then
1857     VLC_ADD_CPPFLAGS([v4l],[-I${with_v4l}/include])
1858   fi
1859
1860   CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_v4l}"
1861   AC_CHECK_HEADERS(linux/videodev.h, [
1862     VLC_ADD_PLUGINS([v4l])
1863   ],[])
1864   CPPFLAGS="${CPPFLAGS_save}"
1865 fi
1866
1867 dnl
1868 dnl  special access module for Hauppauge PVR cards
1869 dnl
1870 AC_ARG_ENABLE(pvr,
1871   [  --enable-pvr            PVR cards access module (default disabled)])
1872 if test "${enable_pvr}" = "yes"
1873 then
1874   VLC_ADD_PLUGINS([pvr])
1875 fi
1876
1877 dnl
1878 dnl  gnomeVFS access module
1879 dnl
1880 AC_ARG_ENABLE(gnomevfs,
1881   [  --enable-gnomevfs      GnomeVFS access module (default enabled)])
1882 if test "${enable_gnomevfs}" != "no" -a  "${SYS}" = "linux" 
1883 then
1884   PKG_CHECK_MODULES(GNOMEVFS, gnome-vfs-2.0,
1885     VLC_ADD_LDFLAGS([access_gnomevfs],[$GNOMEVFS_LIBS])
1886     VLC_ADD_CPPFLAGS([access_gnomevfs],[$GNOMEVFS_CPPFLAGS])
1887     VLC_ADD_CFLAGS([access_gnomevfs],[$GNOMEVFS_CFLAGS])
1888     VLC_ADD_PLUGINS([access_gnomevfs]),
1889     AC_MSG_WARN([GnomeVFS support disabled because GnomeVFS development headers not found]))
1890 fi
1891
1892 dnl Need to test libcdio and libvcdinfo for a number of things. Do it now.
1893 AC_ARG_ENABLE(libcdio,
1894   [  --enable-libcdio        CD input and control library support (default enabled)])
1895
1896
1897 have_libcdio=no
1898 have_libvcdinfo=no
1899 if test "${enable_libcdio}" != "no"
1900 then
1901   PKG_CHECK_MODULES(LIBCDIO, libcdio >= 0.72,
1902      have_libcdio=yes
1903      AC_DEFINE(HAVE_LIBCDIO, [], 
1904      [Define if you have libcdio 0.72 or greater installed]),
1905      [AC_MSG_WARN(CD Reading and information library not found)])
1906
1907   PKG_CHECK_MODULES(VCDINFO, libvcdinfo >= 0.7.21,
1908      [have_libvcdinfo=yes
1909      AC_DEFINE(HAVE_VCDINFO, [], 
1910      [Define if you have libvcdinfo 0.7.21 or greater installed])],
1911      [AC_MSG_WARN(VCD information library not found)])
1912 fi
1913
1914 dnl
1915 dnl  VCDX and CDDAX modules
1916 dnl
1917 AC_ARG_ENABLE(cddax,
1918   [  --enable-cddax          audio CD plugin with CD Text and CD paranoia via libcdio (default disabled)])
1919  
1920 AC_ARG_ENABLE(libcddb,
1921   [  --enable-libcddb        CDDB support for libcdio audio CD (default enabled)])
1922  
1923 if test "${enable_cddax}" = "yes"
1924 then
1925   if test "$have_libcdio" = "yes"
1926   then
1927     AC_DEFINE(HAVE_CDDAX, [], [Define for the audio CD plugin using libcdio])
1928     VLC_ADD_LDFLAGS([cddax],[$LIBCDIO_LIBS])
1929     VLC_ADD_CFLAGS([cddax],[$LIBCDIO_CFLAGS])
1930     VLC_ADD_PLUGINS([cddax])
1931     PKG_CHECK_MODULES(LIBCDIO_PARANOIA, libcdio_paranoia >= 0.72, [
1932     VLC_ADD_LDFLAGS([cddax],[$LIBCDIO_CDDA_LIBS $LIBCDIO_CDDA_LIBS $LIBCDIO_PARANOIA_LIBS])],
1933     AC_MSG_WARN([CD Paranoia support disabled because no libcdio >= 0.72 found]))
1934   else 
1935     AC_MSG_WARN([cddax plugin disabled because ok libcdio library not found or disabled])
1936     HAVE_CDDAX=no
1937   fi
1938
1939   if test "$enable_libcddb" != "no"; then
1940     PKG_CHECK_MODULES(LIBCDDB, libcddb >= 0.9.5, [
1941       HAVE_LIBCDDB=yes 
1942       AC_DEFINE(HAVE_LIBCDDB, [], [Define this if you have libcddb installed])
1943       VLC_ADD_LDFLAGS([cddax],[$LIBCDDB_LIBS])
1944       VLC_ADD_CFLAGS([cddax],[$LIBCDDB_CFLAGS])
1945       ],
1946       [AC_MSG_WARN(new enough libcddb not found. CDDB access disabled) 
1947       HAVE_LIBCDDB=no])
1948   fi
1949  
1950 fi
1951
1952 AC_ARG_ENABLE(vcdx,
1953   [  --enable-vcdx           VCD with navigation via libvcdinfo (default disabled)])
1954  
1955 if test "${enable_vcdx}" = "yes"
1956 then
1957   if test "${have_libvcdinfo}" = "yes"
1958   then
1959     VLC_ADD_LDFLAGS([vcdx],[$VCDINFO_LIBS])
1960     VLC_ADD_CFLAGS([vcdx],[$VCDINFO_CFLAGS])
1961   else 
1962     AC_MSG_WARN([vcdx plugin disabled because ok libvcdinfo library not found or disabled])
1963     HAVE_VCDX=no
1964   fi
1965
1966   PKG_CHECK_MODULES(LIBCDIO, libiso9660 >= 0.72,
1967    [VLC_ADD_LDFLAGS([vcdx],[$LIBISO9660_LIBS])
1968     VLC_ADD_CFLAGS([vcdx],[$LIBISO9660_CFLAGS])],
1969     [AC_MSG_WARN([vcdx plugin disabled because ok libiso9660 library not found])
1970     HAVE_VCDX=no])
1971
1972   if test "$have_libvcdinfo" = "yes"
1973   then
1974     AC_DEFINE(HAVE_VCDX, [], 
1975     [Define for the VCD plugin using libcdio/libvcdinfo])
1976     VLC_ADD_LDFLAGS([vcdx],[$VCDINFO_LIBS])
1977     VLC_ADD_CFLAGS([vcdx],[$VCDINFO_CFLAGS])
1978     VLC_ADD_PLUGINS([vcdx])
1979   else 
1980     AC_MSG_WARN([vcdx plugin disabled because ok libvcdinfo library not found])
1981     HAVE_VCDX=no
1982   fi
1983 fi
1984
1985 dnl
1986 dnl  Built-in CD-DA and VCD module
1987 dnl
1988 AC_ARG_ENABLE(cdda,           
1989   [  --enable-cdda           audio CD via built-in VCD (default enabled)])
1990  
1991 AC_ARG_ENABLE(vcd,
1992   [  --enable-vcd            built-in VCD (default enabled)])
1993
1994 if test "${enable_vcd}" != "no"
1995 then
1996   AC_MSG_CHECKING(for cdrom_msf0 in linux/cdrom.h)
1997   AC_EGREP_HEADER(cdrom_msf0,linux/cdrom.h,[
1998     AC_MSG_RESULT(yes)
1999     VLC_ADD_PLUGINS([vcd cdda])
2000   ],[
2001     AC_MSG_RESULT(no)
2002   ])
2003
2004   AC_MSG_CHECKING(for scsireq in sys/scsiio.h)
2005   AC_EGREP_HEADER(scsireq,sys/scsiio.h,[
2006     AC_MSG_RESULT(yes)
2007     VLC_ADD_PLUGINS([vcd cdda])
2008     AC_DEFINE(HAVE_SCSIREQ_IN_SYS_SCSIIO_H, 1, For NetBSD VCD support)
2009   ],[
2010     AC_MSG_RESULT(no)
2011   ])
2012
2013   AC_MSG_CHECKING(for ioc_toc_header in sys/cdio.h)
2014   AC_EGREP_HEADER(ioc_toc_header ,sys/cdio.h,[
2015     AC_MSG_RESULT(yes)
2016     VLC_ADD_PLUGINS([vcd cdda])
2017     AC_DEFINE(HAVE_IOC_TOC_HEADER_IN_SYS_CDIO_H, 1, For FreeBSD VCD support)
2018   ],[
2019     AC_MSG_RESULT(no)
2020   ])
2021
2022   if test "${SYS}" = "bsdi" -o "${SYS}" = "mingw32"
2023   then
2024     VLC_ADD_PLUGINS([vcd cdda])
2025   fi
2026
2027   if test "${SYS}" = "darwin"
2028   then
2029     VLC_ADD_PLUGINS([vcd cdda])
2030     VLC_ADD_LDFLAGS([vcd vcdx cdda cddax],[-framework IOKit -framework CoreFoundation])
2031     VLC_ADD_LDFLAGS([vcdx cddax],[-liconv])
2032   fi
2033 fi
2034
2035 dnl
2036 dnl  DVB-S/DVB-T/DVB-C satellite/teresterial/cable input using v4l2
2037 dnl
2038 AC_ARG_ENABLE(dvb,
2039   [  --enable-dvb            DVB-S/T/C card support (default disabled)])
2040
2041 if test "${enable_dvb}" = "yes"
2042 then
2043   AC_ARG_WITH(dvb,
2044   [    --with-dvb=PATH       path to a dvb- and v4l2-enabled kernel tree],[],[])
2045   if test "${with_dvb}" != "no" -a -n "${with_dvb}"
2046   then
2047     VLC_ADD_CFLAGS([dvb],[-I${with_dvb}/include])
2048   fi
2049   CPPFLAGS="${CPPFLAGS_save} -I${with_dvb}/include"
2050   AC_CHECK_HEADERS(linux/dvb/version.h linux/dvb/frontend.h, [
2051     if test -z "${with_dvbpsi_tree}"
2052     then
2053       VLC_ADD_PLUGINS([dvb])
2054     else
2055       VLC_ADD_BUILTINS([dvb])
2056     fi
2057   ],[AC_MSG_WARN(linux-dvb headers not found, dvb disabled)])
2058   CPPFLAGS="${CPPFLAGS_save}"
2059 fi
2060
2061 dnl
2062 dnl  Screen capture module
2063 dnl
2064 AC_ARG_ENABLE(screen,
2065   [  --enable-screen         Screen capture support (default enabled)])
2066 if test "${enable_screen}" != "no"; then
2067   if test "${SYS}" = "darwin"; then
2068     AC_CHECK_HEADERS(ApplicationServices/ApplicationServices.h, [
2069       VLC_ADD_PLUGINS([screen])
2070       VLC_ADD_LDFLAGS([screen],[-framework ApplicationServices])
2071     ])
2072   elif test "${SYS}" = "mingw32"; then
2073     VLC_ADD_PLUGINS([screen])
2074     VLC_ADD_LDFLAGS([screen],[-lgdi32])
2075   elif test "${SYS}" = "mingwce"; then
2076     CPPFLAGS="${CPPFLAGS_save}"
2077   elif test "${SYS}" = "beos"; then
2078     VLC_ADD_PLUGINS([screen])
2079     VLC_ADD_CXXFLAGS([screen],[])
2080     VLC_ADD_LDFLAGS([screen],[-lbe])
2081   else
2082     CPPFLAGS="${CPPFLAGS_save} -I${x_includes}"
2083     AC_CHECK_HEADERS(X11/Xlib.h, [
2084       VLC_ADD_PLUGINS([screen])
2085       VLC_ADD_LDFLAGS([screen],[-L${x_libraries} -lX11 -lXext])
2086       VLC_ADD_CPPFLAGS([screen],[-I${x_includes}])
2087     ])
2088     CPPFLAGS="${CPPFLAGS_save}"
2089   fi
2090 fi
2091
2092 dnl
2093 dnl  ipv6 plugin - not for QNX yet
2094 dnl
2095 have_ipv6=no
2096 AC_CHECK_FUNCS(inet_pton,[have_ipv6=yes],[
2097   AC_CHECK_LIB(resolv,inet_pton,
2098     [have_ipv6=yes
2099      VLC_ADD_LDFLAGS([ipv6 vlc],[-lresolv])])
2100 ])
2101
2102 AS_IF([test "${have_ipv6}" = "yes"], [
2103   AC_DEFINE(HAVE_INET_PTON, 1, [Define to 1 if you have inet_pton().])])
2104
2105 if test "${SYS}" != "nto" &&
2106    test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
2107 then
2108   AC_MSG_CHECKING(for sockaddr_in6 in netinet/in.h)
2109   AC_EGREP_HEADER(sockaddr_in6,netinet/in.h,
2110     [AC_MSG_RESULT(yes)], [AC_MSG_RESULT(no); have_ipv6=no])
2111   AS_IF([test "${have_ipv6}" != "no"], [
2112     VLC_ADD_PLUGINS([ipv6])])
2113 fi
2114 if test "${SYS}" = "mingw32"
2115 then
2116   AC_MSG_CHECKING(for getaddrinfo in ws2tcpip.h)
2117   AC_EGREP_HEADER(addrinfo,ws2tcpip.h,[AC_MSG_RESULT(yes)
2118     VLC_ADD_PLUGINS([ipv6])],[AC_MSG_RESULT(no)])
2119 fi
2120
2121 dnl
2122 dnl  ogg demux plugin
2123 dnl
2124 AC_ARG_ENABLE(ogg,
2125   [  --enable-ogg            Ogg demux support (default enabled)])
2126 if test "${enable_ogg}" != "no"
2127 then
2128   AC_ARG_WITH(ogg-tree,
2129   [    --with-ogg-tree=PATH ogg tree for static linking])
2130   if test -n "${with_ogg_tree}"
2131   then
2132     AC_MSG_CHECKING(for libogg.a in ${with_ogg_tree})
2133     real_ogg_tree="`cd ${with_ogg_tree} 2>/dev/null && pwd`"
2134     if test -z "${real_ogg_tree}"
2135     then
2136       dnl  The given directory can't be found
2137       AC_MSG_RESULT(no)
2138       AC_MSG_ERROR([cannot cd to ${with_ogg_tree}])
2139     fi
2140     if test -f "${real_ogg_tree}/src/.libs/libogg.a"
2141     then
2142       dnl  Use a custom ogg
2143       AC_MSG_RESULT(${real_ogg_tree}/src/.libs/libogg.a)
2144       VLC_ADD_PLUGINS([ogg])
2145       if test "${enable_sout}" != "no"; then
2146         VLC_ADD_PLUGINS([mux_ogg])
2147       fi
2148       VLC_ADD_LDFLAGS([ogg mux_ogg speex vorbis],[${real_ogg_tree}/src/.libs/libogg.a])
2149       VLC_ADD_CFLAGS([ogg mux_ogg speex vorbis],[-I${real_ogg_tree}/include])
2150     else
2151       dnl  The given ogg wasn't built
2152       AC_MSG_RESULT(no)
2153       AC_MSG_ERROR([cannot find ${real_ogg_tree}/src/.libs/libogg.a, make sure you compiled ogg in ${with_ogg_tree}])
2154     fi
2155   else
2156     AC_CHECK_HEADERS(ogg/ogg.h, [
2157       AC_CHECK_LIB( ogg, oggpack_read, [
2158         VLC_ADD_PLUGINS([ogg])
2159         if test "${enable_sout}" != "no"; then
2160           VLC_ADD_PLUGINS([mux_ogg])
2161         fi
2162         VLC_ADD_LDFLAGS([ogg mux_ogg],[-logg])])
2163      ],[])
2164   fi
2165 fi
2166
2167 dnl
2168 dnl  matroska demux plugin
2169 dnl
2170 AC_ARG_ENABLE(mkv,
2171   [  --enable-mkv            Matroska demux support (default enabled)])
2172 if test "${enable_mkv}" != "no" -a "${CXX}" != ""; then
2173   AC_LANG_PUSH(C++)
2174   AC_CHECK_HEADERS(ebml/EbmlVersion.h, [
2175     AC_MSG_CHECKING(for libebml version >= 0.7.6)
2176     AC_EGREP_CPP(yes,
2177       [#include <ebml/EbmlVersion.h>
2178        #ifdef LIBEBML_VERSION
2179        #if LIBEBML_VERSION >= 0x000706
2180        yes
2181        #endif
2182        #endif],
2183       [AC_MSG_RESULT([yes])
2184         AC_CHECK_HEADERS(matroska/KaxVersion.h, [
2185           AC_MSG_CHECKING(for libmatroska version >= 0.7.5)
2186           AC_EGREP_CPP(yes,
2187             [#include <matroska/KaxVersion.h>
2188              #ifdef LIBMATROSKA_VERSION
2189              #if LIBMATROSKA_VERSION >= 0x000705
2190              yes
2191              #endif
2192              #endif],
2193             [AC_MSG_RESULT([yes])
2194               AC_CHECK_HEADERS(matroska/KaxAttachments.h)
2195               VLC_ADD_CXXFLAGS([mkv],[])
2196               if test "${SYS}" = "darwin"; then
2197                 VLC_ADD_CXXFLAGS([mkv],[-O1])
2198               fi
2199               AC_CHECK_LIB(ebml_pic, main, [
2200                 # We have ebml_pic, that's good, we can build an mkv.so plugin !
2201                 VLC_ADD_PLUGINS([mkv])
2202                 VLC_ADD_LDFLAGS([mkv],[-lmatroska_pic -lebml_pic])
2203               ], [
2204                 AC_CHECK_LIB(ebml, main, [
2205                   # We only have libebml, make mkv.a a builtin
2206                   VLC_ADD_BUILTINS([mkv])
2207                   VLC_ADD_LDFLAGS([mkv],[-lmatroska -lebml])
2208                 ])
2209               ])
2210             ],
2211             [AC_MSG_RESULT([no])
2212               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.])
2213           ])
2214         ])
2215       ],
2216       [AC_MSG_RESULT([no])
2217         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.])
2218     ])
2219   ])
2220   AC_LANG_POP(C++)
2221 fi
2222
2223 dnl
2224 dnl  modplug demux plugin
2225 dnl
2226 AC_ARG_ENABLE(mod,
2227   [  --enable-mod            Mod demux support (default enabled)])
2228 if test "${enable_mod}" != "no"
2229 then
2230   AC_ARG_WITH(mod-tree,
2231   [    --with-mod-tree=PATH mod tree for static linking])
2232   if test -n "${with_mod_tree}"
2233   then
2234     AC_MSG_CHECKING(for libmodplug.a in ${with_mod_tree})
2235     real_mod_tree="`cd ${with_mod_tree} 2>/dev/null && pwd`"
2236     if test -z "${real_mod_tree}"
2237     then
2238       dnl  The given directory can't be found
2239       AC_MSG_RESULT(no)
2240       AC_MSG_ERROR([cannot cd to ${with_mod_tree}])
2241     fi
2242     if test -f "${real_mod_tree}/src/.libs/libmodplug.a"
2243     then
2244       dnl  Use a custom mod
2245       AC_MSG_RESULT(${real_mod_tree}/src/.libs/libmodplug.a)
2246       VLC_ADD_PLUGINS([mod])
2247       VLC_ADD_LDFLAGS([mod],[${real_mod_tree}/src/.libs/libmodplug.a])
2248       VLC_ADD_CFLAGS([mod],[-I${real_mod_tree}/include])
2249     else
2250       dnl  The given mod wasn't built
2251       AC_MSG_RESULT(no)
2252       AC_MSG_ERROR([cannot find ${real_mod_tree}/src/.libs/libmodplug.a, make sure you compiled mod in ${with_mod_tree}])
2253     fi
2254   else
2255     AC_CHECK_HEADERS(libmodplug/modplug.h, [
2256       VLC_ADD_PLUGINS([mod])
2257       VLC_ADD_CXXFLAGS([mod],[])
2258       VLC_ADD_LDFLAGS([mod],[-lmodplug])])
2259   fi
2260 fi
2261
2262 dnl
2263 dnl  mpc demux plugin
2264 dnl
2265 AC_ARG_ENABLE(mpc,
2266   [  --enable-mpc            Mpc demux support (default enabled)])
2267 if test "${enable_mpc}" != "no"
2268 then
2269   AC_CHECK_HEADERS(mpcdec/mpcdec.h, [
2270     VLC_ADD_PLUGINS([mpc])
2271     VLC_ADD_LDFLAGS([mpc],[-lmpcdec])])
2272 fi
2273
2274
2275 dnl
2276 dnl  Codec plugins
2277 dnl
2278
2279 AC_ARG_WITH(,[Codec plugins:])
2280
2281 dnl
2282 dnl  mad plugin
2283 dnl
2284 AC_ARG_ENABLE(mad,
2285   [  --enable-mad            libmad module (default enabled)])
2286 if test "${enable_mad}" != "no"
2287 then
2288   AC_ARG_WITH(mad,
2289     [    --with-mad=PATH       path to libmad],[],[])
2290   if test "${with_mad}" != "no" -a -n "${with_mad}"
2291   then
2292     VLC_ADD_CPPFLAGS([mpgatofixed32],[-I${with_mad}/include])
2293     VLC_ADD_LDFLAGS([mpgatofixed32],[-L${with_mad}/lib])
2294   fi
2295
2296   AC_ARG_WITH(mad-tree,
2297     [    --with-mad-tree=PATH  mad tree for static linking],[],[])
2298   if test "${with_mad_tree}" != "no" -a -n "${with_mad_tree}"
2299   then
2300     real_mad_tree="`cd ${with_mad_tree} 2>/dev/null && pwd`"
2301     if test -z "${real_mad_tree}"
2302     then
2303       dnl  The given directory can't be found
2304       AC_MSG_RESULT(no)
2305       AC_MSG_ERROR([${with_mad_tree} directory doesn't exist])
2306     fi
2307     dnl  Use a custom libmad
2308     AC_MSG_CHECKING(for mad.h in ${real_mad_tree})
2309     if test -f ${real_mad_tree}/mad.h
2310     then
2311       AC_MSG_RESULT(yes)
2312       VLC_ADD_CPPFLAGS([mpgatofixed32],[-I${real_mad_tree}])
2313       VLC_ADD_LDFLAGS([mpgatofixed32],[-L${real_mad_tree}/.libs])
2314       LDFLAGS="${LDFLAGS_save} ${LDFLAGS_mpgatofixed32}"
2315       AC_CHECK_LIB(mad, mad_bit_init, [
2316         VLC_ADD_BUILTINS([mpgatofixed32])
2317         VLC_ADD_LDFLAGS([mpgatofixed32],[-lmad])
2318         ],[ AC_MSG_ERROR([the specified tree hasn't been compiled ])
2319       ],[])
2320       LDFLAGS="${LDFLAGS_save}"
2321     else
2322       AC_MSG_RESULT(no)
2323       AC_MSG_ERROR([the specified tree doesn't have mad.h])
2324     fi
2325   else
2326     CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_mpgatofixed32}"
2327     LDFLAGS="${LDFLAGS_save} ${LDFLAGS_mpgatofixed32}"
2328     AC_CHECK_HEADERS(mad.h, ,
2329       [ 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.]) ])
2330     AC_CHECK_LIB(mad, mad_bit_init, [
2331       VLC_ADD_PLUGINS([mpgatofixed32])
2332       VLC_ADD_LDFLAGS([mpgatofixed32],[-lmad])],
2333       [ AC_MSG_ERROR([Cannot find libmad library...]) ])
2334     CPPFLAGS="${CPPFLAGS_save}"
2335     LDFLAGS="${LDFLAGS_save}"
2336   fi
2337 fi
2338
2339 dnl
2340 dnl   libid3tag support (FIXME!!! doesn't work with new input)
2341 dnl
2342 AC_CHECK_HEADERS(id3tag.h, [
2343   AC_CHECK_HEADERS(zlib.h, [
2344     VLC_ADD_LDFLAGS([id3tag],[-lid3tag -lz])
2345     VLC_ADD_PLUGINS([id3tag])]) ])
2346
2347 dnl
2348 dnl  ffmpeg decoder/demuxer plugin
2349 dnl
2350 dnl we try to find ffmpeg using : 1- ffmpeg-config, 2- pkg-config
2351 dnl                             3- default place, 4- given tree
2352
2353 AC_ARG_ENABLE(ffmpeg,
2354 [  --enable-ffmpeg         ffmpeg codec (default enabled)])
2355 if test "${enable_ffmpeg}" != "no"
2356 then
2357 dnl Look for a ffmpeg-config (we are on debian )
2358  
2359    FFMPEG_PATH="${PATH}"
2360    AC_ARG_WITH(ffmpeg-config-path,
2361      [    --with-ffmpeg-config-path=PATH ffmpeg-config path (default search in \$PATH)],
2362      [ if test "${with_ffmpeg_config_path}" != "no"
2363        then
2364          FFMPEG_PATH="${with_ffmpeg_config_path}"
2365        fi ])
2366    AC_PATH_PROG(FFMPEG_CONFIG, ffmpeg-config, no, ${FFMPEG_PATH})
2367    if test "${FFMPEG_CONFIG}" != "no"
2368    then
2369      AC_CHECK_HEADERS(ffmpeg/avcodec.h)
2370      AC_CHECK_HEADERS(postproc/postprocess.h)
2371      VLC_ADD_PLUGINS([ffmpeg])
2372      if test "${enable_sout}" != "no"; then
2373          VLC_ADD_PLUGINS([stream_out_switcher])
2374      fi
2375      VLC_ADD_CFLAGS([ffmpeg stream_out_switcher],[`${FFMPEG_CONFIG} --cflags`])
2376      VLC_ADD_LDFLAGS([ffmpeg stream_out_switcher],[`${FFMPEG_CONFIG} --plugin-libs avcodec avformat postproc`])
2377   
2378   else
2379
2380 dnl Those options have to be here because the .pc can be bogus for ffmpeg previous nov 05
2381
2382         AC_ARG_WITH(ffmpeg-mp3lame,
2383       [    --with-ffmpeg-mp3lame specify if ffmpeg has been compiled with mp3lame support],
2384       [
2385         if test "$with_ffmpeg_mp3lame" = "yes"; then
2386                 VLC_ADD_LDFLAGS([ffmpeg],[-lmp3lame])
2387         fi])
2388
2389     AC_ARG_WITH(ffmpeg-faac,
2390       [    --with-ffmpeg-faac    specify if ffmpeg has been compiled with faac support],
2391       [
2392         if test "$with_ffmpeg_faac" = "yes"; then
2393                 VLC_ADD_LDFLAGS([ffmpeg],[-lfaac])
2394         fi])
2395
2396     AC_ARG_WITH(ffmpeg-dts,
2397       [    --with-ffmpeg-dts     specify if ffmpeg has been compiled with dts support],
2398       [
2399         if test "$with_ffmpeg_dts" = "yes"; then
2400                 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_ffmpeg}"
2401                 AC_CHECK_LIB(dts_pic, dts_free, 
2402                   [ VLC_ADD_LDFLAGS([ffmpeg],[-ldts_pic]) ],
2403                   [ VLC_ADD_LDFLAGS([ffmpeg],[-ldts]) ])
2404                 LDFLAGS="${LDFLAGS_save}"
2405         fi])
2406
2407     AC_ARG_WITH(ffmpeg-zlib,
2408       [    --with-ffmpeg-zlib    specify if ffmpeg has been compiled with zlib support],
2409       [
2410         if test "$with_ffmpeg_zlib" = "yes"; then
2411                 VLC_ADD_LDFLAGS([ffmpeg],[-lz])
2412         fi])
2413
2414 dnl Trying with pkg-config
2415    PKG_CHECK_MODULES(FFMPEG,[libavcodec, libavformat],
2416     [
2417      AC_CHECK_HEADERS(ffmpeg/avcodec.h)
2418      AC_CHECK_HEADERS(postproc/postprocess.h)
2419      VLC_ADD_BUILTINS([ffmpeg])
2420      if test "${enable_sout}" != "no"; then
2421          VLC_ADD_BUILTINS([stream_out_switcher])
2422      fi
2423      VLC_ADD_CFLAGS([ffmpeg stream_out_switcher],[${FFMPEG_CFLAGS}])
2424      VLC_ADD_LDFLAGS([ffmpeg],[${FFMPEG_LIBS}])
2425
2426     ],[
2427      
2428     dnl
2429     dnl test for !(--with-ffmpeg-tree)
2430     dnl
2431     if test "${with_ffmpeg_tree}" = "no" -o -z "${with_ffmpeg_tree}"; then
2432       CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_ffmpeg}"
2433       LDFLAGS="${LDFLAGS_save} ${LDFLAGS_ffmpeg}"
2434       AC_CHECK_HEADERS(ffmpeg/avcodec.h, [], [AC_MSG_ERROR([Missing header file ffmpeg/avcodec.h.])] )
2435       AC_CHECK_HEADERS(postproc/postprocess.h, [], [AC_MSG_ERROR([Missing header file postproc/postprocess.h.])] )
2436
2437       AC_CHECK_LIB(avutil, av_add_i, [
2438         VLC_ADD_LDFLAGS([ffmpeg],[-lavutil])
2439         LDAVUTIL="-lavutil"])
2440
2441       AC_CHECK_LIB(avcodec, avcodec_init, [
2442         VLC_ADD_BUILTINS([ffmpeg])
2443
2444
2445         VLC_ADD_LDFLAGS([ffmpeg],[-lavcodec])
2446         if test "${enable_sout}" != "no"; then
2447             VLC_ADD_BUILTINS([stream_out_switcher])
2448         fi],
2449          [ AC_MSG_ERROR([Could not find ffmpeg on your system: you may get it from http://ffmpeg.sf.net/ (cvs version is recommended). Alternatively you can use --disable-ffmpeg to disable the ffmpeg plugins.]) ], [$LDAVUTIL])
2450       AC_CHECK_LIB(avformat, av_open_input_stream, [
2451         AC_DEFINE(HAVE_LIBAVFORMAT, 1,
2452         [Define if you have ffmpeg's libavformat.])
2453         VLC_ADD_LDFLAGS([ffmpeg],[-lavformat -lz]) ], [], [-lavcodec -lz $LDAVUTIL])
2454       LDFLAGS="${LDFLAGS_save}"
2455       CPPFLAGS="${CPPFLAGS_save}"
2456     fi
2457
2458     dnl
2459     dnl test for --with-ffmpeg-tree
2460     dnl
2461     if test "${with_ffmpeg_tree}" != "no" -a -n "${with_ffmpeg_tree}"; then
2462       AC_MSG_CHECKING(for libavcodec.a in ${with_ffmpeg_tree})
2463       real_ffmpeg_tree="`cd ${with_ffmpeg_tree} 2>/dev/null && pwd`"
2464       if test -z "${real_ffmpeg_tree}"; then
2465         dnl  The given directory can't be found
2466         AC_MSG_RESULT(no)
2467         AC_MSG_ERROR([cannot cd to ${with_ffmpeg_tree}])
2468       fi
2469       if ! test -f "${real_ffmpeg_tree}/libavcodec/libavcodec.a"; then
2470         dnl  The given libavcodec wasn't built
2471         AC_MSG_RESULT(no)
2472         AC_MSG_ERROR([cannot find ${real_ffmpeg_tree}/libavcodec/libavcodec.a, make sure you compiled libavcodec in ${with_ffmpeg_tree}])
2473       fi
2474       if ! fgrep -s "pp_get_context" "${real_ffmpeg_tree}/libavcodec/libavcodec.a"; then
2475         dnl  The given libavcodec wasn't built with --enable-pp
2476         AC_MSG_RESULT(no)
2477         AC_MSG_ERROR([${real_ffmpeg_tree}/libavcodec/libavcodec.a was not compiled with postprocessing support, make sure you configured ffmpeg with --enable-pp])
2478       fi
2479       dnl  Use a custom libffmpeg
2480       AC_MSG_RESULT(${real_ffmpeg_tree}/libavcodec/libavcodec.a)
2481
2482       if fgrep -s "CONFIG_ZLIB=yes" "${real_ffmpeg_tree}/config.mak"; then
2483         if test "${with_ffmpeg_zlib}" != "yes"; then
2484           VLC_ADD_LDFLAGS([ffmpeg],[-lz])
2485         fi
2486       fi
2487       if fgrep -s "CONFIG_MP3LAME=yes" "${real_ffmpeg_tree}/config.mak"; then
2488         if test "${with_ffmpeg_mp3lame}" != "yes"; then
2489           VLC_ADD_LDFLAGS([ffmpeg],[-lmp3lame])
2490         fi
2491       fi
2492       if fgrep -s "CONFIG_FAAC=yes" "${real_ffmpeg_tree}/config.mak"; then
2493         if test "${with_ffmpeg_faac}" != "yes"; then
2494           VLC_ADD_LDFLAGS([ffmpeg],[-lfaac])
2495         fi
2496       fi
2497       if fgrep -s "CONFIG_DTS=yes" "${real_ffmpeg_tree}/config.mak"; then
2498         if test "${with_ffmpeg_dts}" != "yes"; then
2499           LDFLAGS="${LDFLAGS_save} ${LDFLAGS_ffmpeg}"
2500           AC_CHECK_LIB(dts_pic, dts_free, 
2501             [ VLC_ADD_LDFLAGS([ffmpeg],[-ldts_pic]) ],
2502             [ VLC_ADD_LDFLAGS([ffmpeg],[-ldts]) ])
2503           LDFLAGS="${LDFLAGS_save}"
2504         fi
2505       fi
2506       if fgrep -s "CONFIG_VORBIS=yes" "${real_ffmpeg_tree}/config.mak"; then
2507         VLC_ADD_LDFLAGS([ffmpeg],[-lvorbis -lvorbisenc])
2508       fi
2509       if fgrep -s "CONFIG_FAAD=yes" "${real_ffmpeg_tree}/config.mak"; then
2510         VLC_ADD_LDFLAGS([ffmpeg],[-lfaad])
2511       fi
2512       if fgrep -s "CONFIG_XVID=yes" "${real_ffmpeg_tree}/config.mak"; then
2513         VLC_ADD_LDFLAGS([ffmpeg],[-lxvidcore])
2514       fi
2515
2516       VLC_ADD_BUILTINS([ffmpeg])
2517       if test "${enable_sout}" != "no"; then
2518         VLC_ADD_BUILTINS([stream_out_switcher])
2519       fi
2520
2521       if test -f "${real_ffmpeg_tree}/libavutil/libavutil.a"; then
2522         VLC_ADD_LDFLAGS([ffmpeg],[-L${real_ffmpeg_tree}/libavutil ${real_ffmpeg_tree}/libavutil/libavutil.a])
2523         VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher],[-I${real_ffmpeg_tree}/libavutil])
2524       fi
2525
2526       VLC_ADD_LDFLAGS([ffmpeg],[-L${real_ffmpeg_tree}/libavcodec ${real_ffmpeg_tree}/libavcodec/libavcodec.a])
2527       VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher],[-I${real_ffmpeg_tree}/libavcodec])
2528
2529       if test -f "${real_ffmpeg_tree}/libavformat/libavformat.a"; then
2530         AC_DEFINE(HAVE_LIBAVFORMAT, 1, [Define if you have ffmpeg's libavformat.])
2531         VLC_ADD_LDFLAGS([ffmpeg],[-L${real_ffmpeg_tree}/libavformat ${real_ffmpeg_tree}/libavformat/libavformat.a])
2532         VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher],[-I${real_ffmpeg_tree}/libavformat])
2533       fi
2534     fi
2535     ])
2536     AC_ARG_WITH(ffmpeg-tree,
2537       [    --with-ffmpeg-tree=PATH ffmpeg tree for static linking])
2538
2539   fi
2540 fi
2541
2542 dnl
2543 dnl  ffmpeg decoder/demuxer plugin
2544 dnl
2545 AC_ARG_ENABLE(ffmpegaltivec,
2546 [  --enable-ffmpegaltivec  ffmpegaltivec codec (DO NOT USE)])
2547 if test "${enable_ffmpegaltivec}" = "yes"
2548 then
2549   if test "${with_ffmpeg_tree}" != "no" -a -n "${with_ffmpeg_tree}"; then
2550     AC_MSG_CHECKING(for libavcodecaltivec.a in ${with_ffmpeg_tree})
2551     real_ffmpeg_tree="`cd ${with_ffmpeg_tree} 2>/dev/null && pwd`"
2552     if test -z "${real_ffmpeg_tree}"; then
2553       dnl  The given directory can't be found
2554       AC_MSG_RESULT(no)
2555       AC_MSG_ERROR([cannot cd to ${with_ffmpeg_tree}])
2556     fi
2557     if ! test -f "${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a"; then
2558       dnl  The given libavcodecaltivec wasn't built
2559       AC_MSG_RESULT(no)
2560       AC_MSG_ERROR([cannot find ${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a, make sure you compiled libavcodecaltivec in ${with_ffmpeg_tree}])
2561     fi
2562     if ! fgrep -s "pp_get_context" "${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a"; then
2563       dnl  The given libavcodecaltivec wasn't built with --enable-pp
2564       AC_MSG_RESULT(no)
2565       AC_MSG_ERROR([${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a was not compiled with postprocessing support, make sure you configured ffmpeg with --enable-pp])
2566     fi
2567     dnl  Use a custom libffmpeg
2568     AC_MSG_RESULT(${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a)
2569     VLC_ADD_BUILTINS([ffmpegaltivec])
2570     VLC_ADD_LDFLAGS([ffmpegaltivec],[-L${real_ffmpeg_tree}/libavcodec -lavcodecaltivec])
2571     VLC_ADD_CPPFLAGS([ffmpeg],[-DNO_ALTIVEC_IN_FFMPEG])
2572     VLC_ADD_CPPFLAGS([ffmpegaltivec],[-I${real_ffmpeg_tree}/libavcodec -I${real_ffmpeg_tree}/libavformat])
2573
2574     if test -f "${real_ffmpeg_tree}/libavformat/libavformat.a"; then
2575       AC_DEFINE(HAVE_LIBAVFORMAT, 1, [Define if you have ffmpeg's libavformat.])
2576       VLC_ADD_LDFLAGS([ffmpegaltivec],[-L${real_ffmpeg_tree}/libavformat -lavformataltivec -lz])
2577       VLC_ADD_CPPFLAGS([ffmpegaltivec],[-I${real_ffmpeg_tree}/libavformat])
2578     fi
2579     VLC_ADD_LDFLAGS([stream_out_switcher],[-L${real_ffmpeg_tree}/libavcodec])
2580     VLC_ADD_CPPFLAGS([stream_out_switcher],[-I${real_ffmpeg_tree}/libavcodec -I${real_ffmpeg_tree}/libavformat])
2581   fi
2582 fi
2583
2584 dnl
2585 dnl  faad decoder plugin
2586 dnl
2587 AC_ARG_ENABLE(faad,
2588 [  --enable-faad           faad codec (default disabled)])
2589 if test "${enable_faad}" = "yes"
2590 then
2591   AC_ARG_WITH(faad-tree,
2592   [    --with-faad-tree=PATH faad tree for static linking])
2593   if test -n "${with_faad_tree}"
2594   then
2595     AC_MSG_CHECKING(for libfaad.a in ${with_faad_tree})
2596     real_faad_tree="`cd ${with_faad_tree} 2>/dev/null && pwd`"
2597     if test -z "${real_faad_tree}"
2598     then
2599       dnl  The given directory can't be found
2600       AC_MSG_RESULT(no)
2601       AC_MSG_ERROR([cannot cd to ${with_faad_tree}])
2602     fi
2603     if test -f "${real_faad_tree}/libfaad/.libs/libfaad.a"
2604     then
2605       dnl  Use a custom faad
2606       AC_MSG_RESULT(${real_faad_tree}/libfaad/.libs/libfaad.a)
2607       VLC_ADD_BUILTINS([faad])
2608       VLC_ADD_LDFLAGS([faad],[${real_faad_tree}/libfaad/.libs/libfaad.a])
2609       VLC_ADD_CPPFLAGS([faad],[-I${real_faad_tree}/include])
2610     else
2611       dnl  The given libfaad wasn't built
2612       AC_MSG_RESULT(no)
2613       AC_MSG_ERROR([cannot find ${real_faad_tree}/libfaad/.libs/libfaad.a, make sure you compiled libfaad in ${with_faad_tree}])
2614     fi
2615   else
2616     CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_faad}"
2617     LDFLAGS="${LDFLAGS_save} ${LDFLAGS_faad}"
2618     AC_CHECK_HEADERS(faad.h, ,
2619       [ AC_MSG_ERROR([Cannot find development headers for libfaad...]) ])
2620     AC_CHECK_LIB(faad, faacDecOpen, [
2621       VLC_ADD_PLUGINS([faad])
2622       VLC_ADD_LDFLAGS([faad],[-lfaad]) ],
2623       AC_CHECK_LIB(faad, NeAACDecOpen, [
2624         VLC_ADD_PLUGINS([faad])
2625         VLC_ADD_LDFLAGS([faad],[-lfaad]) ],
2626         [ AC_MSG_ERROR([Cannot find libfaad library...]) ]))
2627     LDFLAGS="${LDFLAGS_save}"
2628     CPPFLAGS="${CPPFLAGS_save}"
2629   fi
2630 fi
2631
2632 dnl
2633 dnl twolame encoder plugin
2634 dnl
2635 AC_ARG_ENABLE(twolame,
2636 [  --enable-twolame        twolame codec (default disabled)])
2637 if test "${enable_twolame}" = "yes"
2638 then
2639   AC_ARG_WITH(twolame-tree,
2640   [    --with-twolame-tree=PATH twolame tree for static linking])
2641   if test -n "${with_twolame_tree}"
2642   then
2643     AC_MSG_CHECKING(for libtwolame.a in ${with_twolame_tree})
2644     real_twolame_tree="`cd ${with_twolame_tree} 2>/dev/null && pwd`"
2645     if test -z "${real_twolame_tree}"
2646     then
2647       dnl  The given directory can't be found
2648       AC_MSG_RESULT(no)
2649       AC_MSG_ERROR([cannot cd to ${with_twolame_tree}])
2650     fi
2651     if test -f "${real_twolame_tree}/src/libtwolame/.libs/libtwolame.a"
2652     then
2653       dnl  Use a custom twolame
2654       AC_MSG_RESULT(${real_twolame_tree}/src/libtwolame/.libs/libtwolame.a)
2655       VLC_ADD_BUILTINS([twolame])
2656       VLC_ADD_LDFLAGS([twolame],[${real_twolame_tree}/src/libtwolame/.libs/libtwolame.a])
2657       VLC_ADD_CPPFLAGS([twolame],[-I${real_twolame_tree}/src/libtwolame])
2658     else
2659       dnl  The given libtwolame wasn't built
2660       AC_MSG_RESULT(no)
2661       AC_MSG_ERROR([cannot find ${real_twolame_tree}/src/libtwolame/.libs/libtwolame.a, make sure you compiled libtwolame in ${with_twolame_tree}])
2662     fi
2663   else
2664     CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_twolame}"
2665     LDFLAGS="${LDFLAGS_save} ${LDFLAGS_twolame}"
2666     AC_CHECK_HEADERS(twolame.h, ,
2667       [ AC_MSG_ERROR([Cannot find development header for libtwolame...]) ])
2668     AC_CHECK_LIB(twolame, twolame_init, [
2669       VLC_ADD_PLUGINS([twolame])
2670       VLC_ADD_LDFLAGS([twolame],[-ltwolame]) ],
2671         [ AC_MSG_ERROR([Cannot find libtwolame library...]) ])
2672     LDFLAGS="${LDFLAGS_save}"  
2673     CPPFLAGS="${CPPFLAGS_save}"
2674   fi
2675 fi
2676
2677 dnl
2678 dnl  QuickTime plugin
2679 dnl
2680 AC_ARG_ENABLE(quicktime,
2681   [  --enable-quicktime      QuickTime module (default enabled on MacOS X)])
2682 if test "${enable_quicktime}" != "no" &&
2683   (test "${SYS}" = "darwin" || test "${enable_quicktime}" = "yes")
2684 then
2685   if test "${SYS}" = "mingw32"; then
2686     VLC_ADD_BUILTINS([quicktime])
2687   else
2688   AC_CHECK_HEADERS(QuickTime/QuickTime.h,
2689     [ VLC_ADD_BUILTINS([quicktime])
2690       VLC_ADD_LDFLAGS([quicktime],[-framework QuickTime -framework Carbon])
2691     ], [ AC_MSG_ERROR([cannot find QuickTime headers]) ])
2692   fi
2693 fi
2694
2695 dnl
2696 dnl  Real plugin
2697 dnl
2698 AC_ARG_ENABLE(real,
2699   [  --enable-real           Real audio module (default disabled)])
2700 if test "${enable_real}" = "yes"; then
2701   VLC_ADD_PLUGINS([realaudio])
2702 fi
2703
2704 dnl
2705 dnl  Real RTSP plugin
2706 dnl
2707 AC_ARG_ENABLE(realrtsp,
2708   [  --enable-realrtsp       Real RTSP module (default disabled)])
2709 if test "${enable_realrtsp}" = "yes"; then
2710   VLC_ADD_PLUGINS([access_realrtsp])
2711 fi
2712
2713 dnl
2714 dnl MP4 module
2715 dnl
2716 AC_CHECK_HEADERS(zlib.h, [
2717   VLC_ADD_LDFLAGS([mp4 skins2 sap mkv],[-lz])
2718 ] )
2719
2720 AC_CHECK_HEADERS(sysfs/libsysfs.h, [
2721   VLC_ADD_LDFLAGS([mp4 mkv],[-lsysfs])
2722 ] )
2723
2724 dnl
2725 dnl skins2 module
2726 dnl
2727 AC_CHECK_HEADERS(libtar.h, [
2728   VLC_ADD_LDFLAGS([skins2],[-ltar])
2729 ] )
2730
2731
2732
2733 dnl
2734 dnl A52/AC3 decoder plugin
2735 dnl
2736 AC_ARG_ENABLE(a52,
2737   [  --enable-a52            A/52 support with liba52 (default enabled)])
2738 if test "${enable_a52}" != "no"
2739 then
2740   AC_ARG_WITH(a52,
2741     [    --with-a52=PATH       a52 headers and libraries])
2742   AC_ARG_WITH(a52-tree,
2743     [    --with-a52-tree=PATH  a52dec tree for static linking ],[],[])
2744   if test "${with_a52_tree}" != "no" -a -n "${with_a52_tree}"
2745   then
2746     real_a52_tree="`cd ${with_a52_tree} 2>/dev/null && pwd`"
2747     if test -z "${real_a52_tree}"
2748     then
2749       dnl  The given directory can't be found
2750       AC_MSG_RESULT(no)
2751       AC_MSG_ERROR([${with_a52_tree} directory doesn't exist])
2752     fi
2753     dnl  Use a custom a52dec
2754     AC_MSG_CHECKING(for a52.h in ${real_a52_tree}/include)
2755     if test -f ${real_a52_tree}/include/a52.h
2756     then
2757       AC_MSG_RESULT(yes)
2758       VLC_ADD_CPPFLAGS([a52tofloat32],[-I${real_a52_tree}])
2759       VLC_ADD_LDFLAGS([a52tofloat32],[-L${real_a52_tree}/liba52/.libs])
2760       LDFLAGS="${LDFLAGS_save} ${LDFLAGS_a52tofloat32}"
2761       AC_CHECK_LIB(a52, a52_free, [
2762         VLC_ADD_BUILTINS([a52tofloat32])
2763         VLC_ADD_CPPFLAGS([a52tofloat32],[-DUSE_A52DEC_TREE])
2764         VLC_ADD_LDFLAGS([a52tofloat32],[-la52])
2765         ],[
2766         if test -f ${real_a52_tree}/liba52/.libs/liba52.a
2767         then
2768           AC_MSG_ERROR([make sure you have at least a52dec-0.7.3])
2769         else
2770           AC_MSG_ERROR([the specified tree hasn't been compiled])
2771         fi
2772       ])
2773       LDFLAGS="${LDFLAGS_save}"
2774     else
2775       AC_MSG_RESULT(no)
2776       AC_MSG_ERROR([the specified tree doesn't have a52.h])
2777     fi
2778   else
2779     if test -z "${with_a52}"
2780     then
2781       LDFLAGS_test=""
2782       CPPFLAGS_test=""
2783     else
2784       LDFLAGS_test="-L${with_a52}/lib"
2785       CPPFLAGS_test="-I${with_a52}/include"
2786     fi
2787     CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_test} ${CPPFLAGS_a52tofloat32}"
2788     LDFLAGS="${LDFLAGS_save} ${LDFLAGS_test} ${LDFLAGS_a52tofloat32}"
2789     AC_CHECK_HEADERS(a52dec/a52.h, [
2790       AC_CHECK_LIB(a52, a52_free, [
2791         VLC_ADD_PLUGINS([a52tofloat32])
2792         VLC_ADD_LDFLAGS([a52tofloat32],[${LDFLAGS_test} -la52])
2793         VLC_ADD_CPPFLAGS([a52tofloat32],[${CPPFLAGS_test}])
2794       ],[
2795         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.])
2796       ])
2797     ])
2798     CPPFLAGS="${CPPFLAGS_save}"
2799     LDFLAGS="${LDFLAGS_save}"
2800   fi
2801 fi
2802
2803 AC_ARG_WITH(a52-fixed,
2804       [    --with-a52-fixed      specify if liba52 has been compiled with fixed point support],
2805       [
2806         VLC_ADD_CPPFLAGS([a52tofloat32],[-DLIBA52_FIXED]) ])
2807
2808 dnl
2809 dnl DTS Coherent Acoustics decoder plugin
2810 dnl
2811 AC_ARG_ENABLE(dts,
2812   [  --enable-dts            DTS Coherent Acoustics support with libdts (default enabled)])
2813 if test "${enable_dts}" != "no"; then
2814   AC_ARG_WITH(dts-tree,
2815     [    --with-dts-tree=PATH  libdts tree for static linking ],[],[])
2816   if test "${with_dts_tree}" != "no" -a -n "${with_dts_tree}"
2817   then
2818     real_dts_tree="`cd ${with_dts_tree} 2>/dev/null && pwd`"
2819     if test -z "${real_dts_tree}"
2820     then
2821       dnl  The given directory can't be found
2822       AC_MSG_RESULT(no)
2823       AC_MSG_ERROR([${with_dts_tree} directory doesn't exist])
2824     fi
2825     dnl  Use a custom libdts
2826     AC_MSG_CHECKING(for dts.h in ${real_dts_tree}/include)
2827     if test -f ${real_dts_tree}/include/dts.h
2828     then
2829       AC_MSG_RESULT(yes)
2830       VLC_ADD_CPPFLAGS([dtstofloat32],[-I${real_dts_tree}/include])
2831       VLC_ADD_LDFLAGS([dtstofloat32],[-L${real_dts_tree}/libdts])
2832       LDFLAGS="${LDFLAGS_save} ${LDFLAGS_dtstofloat32}"
2833       AC_CHECK_LIB(dts_pic, dts_free, [
2834         VLC_ADD_PLUGINS([dtstofloat32])
2835         VLC_ADD_LDFLAGS([dtstofloat32],[-ldts_pic])
2836         ],[
2837         AC_CHECK_LIB(dts, dts_free, [
2838           VLC_ADD_BUILTINS([dtstofloat32])
2839           VLC_ADD_LDFLAGS([dtstofloat32],[-ldts])
2840           ],[
2841           if test -f ${real_dts_tree}/libdts/libdts.a
2842           then
2843             AC_MSG_ERROR([make sure you have at least libdts-0.0.2])
2844           else
2845             AC_MSG_ERROR([the specified tree hasn't been compiled])
2846           fi
2847         ])
2848       ])
2849       LDFLAGS="${LDFLAGS_save}"
2850     else
2851       AC_MSG_RESULT(no)
2852       AC_MSG_ERROR([the specified tree doesn't have dts.h])
2853     fi
2854   else
2855     LDFLAGS="${LDFLAGS_save} ${LDFLAGS_dtstofloat32}"
2856     AC_CHECK_HEADERS(dts.h, [
2857       AC_CHECK_LIB(dts_pic, dts_free, [
2858         VLC_ADD_PLUGINS([dtstofloat32])
2859         VLC_ADD_LDFLAGS([dtstofloat32],[-ldts_pic])
2860       ],[
2861         AC_CHECK_LIB(dts, dts_free, [
2862           VLC_ADD_BUILTINS([dtstofloat32])
2863           VLC_ADD_LDFLAGS([dtstofloat32],[-ldts])
2864         ],[
2865           if test "${enable_dts}" = "yes"; then
2866             AC_MSG_ERROR([Could not find libdts on your system: you may get it from http://www.videolan.org/dtsdec.html])
2867           fi
2868         ])
2869       ])
2870     ])
2871     LDFLAGS="${LDFLAGS_save}"
2872   fi
2873 fi
2874
2875 dnl
2876 dnl  Flac plugin
2877 dnl
2878 AC_ARG_ENABLE(flac,
2879   [  --enable-flac           flac decoder support (default disabled)])
2880 if test "${enable_flac}" = "yes"
2881 then
2882   AC_ARG_WITH(flac-tree,
2883   [    --with-flac-tree=PATH flac tree for static linking])
2884   if test -n "${with_flac_tree}"
2885   then
2886     AC_MSG_CHECKING(for libFLAC.a in ${with_flac_tree})
2887     real_flac_tree="`cd ${with_flac_tree} 2>/dev/null && pwd`"
2888     if test -z "${real_flac_tree}"
2889     then
2890       dnl  The given directory can't be found
2891       AC_MSG_RESULT(no)
2892       AC_MSG_ERROR([cannot cd to ${with_flac_tree}])
2893     fi
2894     if test -f "${real_flac_tree}/src/libFLAC/.libs/libFLAC.a"
2895     then
2896       dnl  Use a custom flac
2897       AC_MSG_RESULT(${real_flac_tree}/src/libFLAC/.libs/libFLAC.a)
2898       VLC_ADD_LDFLAGS([flacdec],[${real_flac_tree}/src/libFLAC/.libs/libFLAC.a])
2899       VLC_ADD_CFLAGS([flacdec],[-I${real_flac_tree}/include])
2900       AC_DEFINE(HAVE_FLAC_STREAM_DECODER_H, 1, [Define if you have FLAC])
2901     else
2902       dnl  The given flac wasn't built
2903       AC_MSG_RESULT(no)
2904       AC_MSG_ERROR([cannot find ${real_flac_tree}/src/libFLAC/.libs/libFLAC.a, make sure you compiled flac in ${with_flac_tree}])
2905     fi
2906   else
2907     AC_CHECK_HEADERS(FLAC/stream_decoder.h, [
2908       VLC_ADD_LDFLAGS([flacdec],[-lFLAC])
2909      ],[])
2910   fi
2911 fi
2912
2913 dnl
2914 dnl  Libmpeg2 plugin
2915 dnl
2916 AC_ARG_ENABLE(libmpeg2,
2917   [  --enable-libmpeg2       libmpeg2 decoder support (default enabled)])
2918 if test "${enable_libmpeg2}" != "no"
2919 then
2920   AC_ARG_WITH(libmpeg2-tree,
2921   [    --with-libmpeg2-tree=PATH libmpeg2 tree for static linking])
2922   if test -n "${with_libmpeg2_tree}"
2923   then
2924     AC_MSG_CHECKING(for libmpeg2.a in ${with_libmpeg2_tree})
2925     real_libmpeg2_tree="`cd ${with_libmpeg2_tree} 2>/dev/null && pwd`"
2926     if test -z "${real_libmpeg2_tree}"
2927     then
2928       dnl  The given directory can't be found
2929       AC_MSG_RESULT(no)
2930       AC_MSG_ERROR([cannot cd to ${with_libmpeg2_tree}])
2931     fi
2932     if test -f "${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a"
2933     then
2934       dnl  Use a custom libmpeg2
2935       AC_MSG_RESULT(${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a)
2936       VLC_ADD_BUILTINS([libmpeg2])
2937       VLC_ADD_LDFLAGS([libmpeg2],[-L${real_libmpeg2_tree}/libmpeg2/.libs -lmpeg2])
2938       VLC_ADD_CFLAGS([libmpeg2],[-I${real_libmpeg2_tree}/include])
2939       eval "`cd ${real_libmpeg2_tree}/include && ln -sf . mpeg2dec 2>/dev/null`"
2940     else
2941       dnl  The given libmpeg2 wasn't built
2942       AC_MSG_RESULT(no)
2943       AC_MSG_ERROR([cannot find ${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a, make sure you compiled libmpeg2 in ${with_libmpeg2_tree}])
2944     fi
2945   else
2946     AC_CHECK_HEADERS(mpeg2dec/mpeg2.h, [
2947       AC_MSG_CHECKING(for libmpeg2 version >= 0.3.2)
2948       AC_EGREP_CPP(yes,
2949         [#include <mpeg2dec/mpeg2.h>
2950          #ifdef MPEG2_RELEASE
2951          #if MPEG2_RELEASE >= MPEG2_VERSION(0,3,2)
2952          yes
2953          #endif
2954          #endif],
2955         [AC_MSG_RESULT([yes])
2956           VLC_ADD_PLUGINS([libmpeg2])
2957           VLC_ADD_LDFLAGS([libmpeg2],[-lmpeg2])],
2958         [AC_MSG_RESULT([no])
2959           AC_MSG_ERROR([Your libmpeg2 is too old (you need the cvs version): you may get a more recent one from http://libmpeg2.sf.net/. Alternatively you can use --disable-libmpeg2 to disable the libmpeg2 plugin.])])],
2960
2961       [AC_MSG_ERROR([Could not find libmpeg2 on your system: you may get it from http://libmpeg2.sf.net/ (you need the cvs version). Alternatively you can use --disable-libmpeg2 to disable the libmpeg2 plugin.])]
2962     )
2963   fi
2964 fi
2965
2966 dnl
2967 dnl  Vorbis plugin
2968 dnl
2969 AC_ARG_ENABLE(vorbis,
2970   [  --enable-vorbis         Vorbis decoder support (default enabled)])
2971 if test "${enable_vorbis}" != "no"
2972 then
2973   AC_ARG_WITH(vorbis-tree,
2974   [    --with-vorbis-tree=PATH vorbis tree for static linking])
2975   if test -n "${with_vorbis_tree}"
2976   then
2977     AC_MSG_CHECKING(for libvorbis.a in ${with_vorbis_tree})
2978     real_vorbis_tree="`cd ${with_vorbis_tree} 2>/dev/null && pwd`"
2979     if test -z "${real_vorbis_tree}"
2980     then
2981       dnl  The given directory can't be found
2982       AC_MSG_RESULT(no)
2983       AC_MSG_ERROR([cannot cd to ${with_vorbis_tree}])
2984     fi
2985     if test -f "${real_vorbis_tree}/lib/.libs/libvorbis.a"
2986     then
2987       dnl  Use a custom vorbis 
2988       AC_MSG_RESULT(${real_vorbis_tree}/lib/.libs/libvorbis.a)
2989       VLC_ADD_PLUGINS([vorbis])
2990       VLC_ADD_LDFLAGS([vorbis],[${real_vorbis_tree}/lib/.libs/libvorbis.a ${real_vorbis_tree}/lib/.libs/libvorbisenc.a])
2991       VLC_ADD_CFLAGS([vorbis],[-I${real_vorbis_tree}/include])
2992     else
2993       dnl  The given vorbis wasn't built
2994       AC_MSG_RESULT(no)
2995       AC_MSG_ERROR([cannot find ${real_vorbis_tree}/lib/.libs/libvorbis.a, make sure you compiled vorbis in ${with_vorbis_tree}])
2996     fi
2997   else
2998     AC_CHECK_HEADERS(vorbis/codec.h, [
2999       VLC_ADD_PLUGINS([vorbis])
3000       VLC_ADD_LDFLAGS([vorbis],[-lvorbis -logg]) ],[])
3001
3002     AC_CHECK_HEADERS(vorbis/vorbisenc.h, [
3003       VLC_ADD_LDFLAGS([vorbis],[-lvorbisenc]) ],[])
3004   fi
3005 fi
3006
3007 dnl
3008 dnl  Tremor plugin
3009 dnl
3010 AC_ARG_ENABLE(tremor,
3011   [  --enable-tremor         Tremor decoder support (default disabled)])
3012 if test "${enable_tremor}" = "yes"
3013 then
3014   AC_CHECK_HEADERS(tremor/ivorbiscodec.h, [
3015     VLC_ADD_PLUGINS([tremor])
3016     VLC_ADD_LDFLAGS([tremor],[-lvorbisidec -logg])
3017    ],[])
3018 fi
3019
3020 dnl
3021 dnl  Speex plugin
3022 dnl
3023 AC_ARG_ENABLE(speex,
3024   [  --enable-speex          Speex decoder support (default enabled)])
3025 if test "${enable_speex}" != "no"
3026 then
3027   AC_ARG_WITH(speex-tree,
3028   [    --with-speex-tree=PATH speex tree for static linking])
3029   if test -n "${with_speex_tree}"
3030   then
3031     AC_MSG_CHECKING(for libspeex.a in ${with_speex_tree})
3032     real_speex_tree="`cd ${with_speex_tree} 2>/dev/null && pwd`"
3033     if test -z "${real_speex_tree}"
3034     then
3035       dnl  The given directory can't be found
3036       AC_MSG_RESULT(no)
3037       AC_MSG_ERROR([cannot cd to ${with_speex_tree}])
3038     fi
3039     if test -f "${real_speex_tree}/libspeex/.libs/libspeex.a"
3040     then
3041       dnl  Use a custom speex
3042       AC_MSG_RESULT(${real_speex_tree}/libspeex/.libs/libspeex.a)
3043       VLC_ADD_PLUGINS([speex])
3044       VLC_ADD_LDFLAGS([speex],[${real_speex_tree}/libspeex/.libs/libspeex.a])
3045       VLC_ADD_CFLAGS([speex],[-I${real_speex_tree}/include])
3046     else
3047       dnl  The given speex wasn't built
3048       AC_MSG_RESULT(no)
3049       AC_MSG_ERROR([cannot find ${real_speex_tree}/libspeex/.libs/libspeex.a, make sure you compiled speex in ${with_speex_tree}])
3050     fi
3051   else
3052     AC_CHECK_HEADERS(speex/speex.h, [
3053       LDFLAGS="${LDFLAGS_save} ${LDFLAGS_speex}"
3054       AC_CHECK_LIB(speex, speex_decode_int, [
3055         VLC_ADD_PLUGINS([speex])
3056         VLC_ADD_LDFLAGS([speex],[-lspeex]) ],
3057         [ AC_MSG_RESULT([no])
3058           AC_MSG_WARN([Your libspeex is too old, please get the development
3059                        version.]) ],[])
3060       LDFLAGS="${LDFLAGS_save}"
3061       ],[])
3062   fi
3063 fi
3064
3065 dnl
3066 dnl  tarkin decoder plugin
3067 dnl
3068 AC_ARG_ENABLE(tarkin,
3069 [  --enable-tarkin         experimental tarkin codec (default disabled)])
3070 if test "${enable_tarkin}" = "yes"
3071 then
3072   AC_ARG_WITH(tarkin-tree,
3073   [    --with-tarkin-tree=PATH tarkin tree for static linking])
3074   if test -n "${with_tarkin_tree}"
3075   then
3076     AC_MSG_CHECKING(for tarkin.o in ${with_tarkin_tree})
3077     real_tarkin_tree="`cd ${with_tarkin_tree} 2>/dev/null && pwd`"
3078     if test -f "${real_tarkin_tree}/tarkin.o"
3079     then
3080       VLC_ADD_BUILTINS([tarkin])
3081       VLC_ADD_CPPFLAGS([tarkin],[-I${real_tarkin_tree}])
3082       VLC_ADD_LDFLAGS([tarkin],[${real_tarkin_tree}/mem.o ${real_tarkin_tree}/pnm.o ${real_tarkin_tree}/wavelet.o ${real_tarkin_tree}/wavelet_xform.o ${real_tarkin_tree}/wavelet_coeff.o ${real_tarkin_tree}/yuv.o ${real_tarkin_tree}/tarkin.o ${real_tarkin_tree}/info.o -logg])
3083       AC_MSG_RESULT(yes)
3084     else
3085       dnl  The given tarkin tree wasn't built
3086       AC_MSG_RESULT(no)
3087       AC_MSG_ERROR([cannot find ${real_tarkin_tree}/tarkin.o,
3088                     make sure you compiled tarkin in ${with_tarkin_tree}])
3089     fi
3090   fi
3091 fi
3092
3093 dnl
3094 dnl  theora decoder plugin
3095 dnl
3096 AC_ARG_ENABLE(theora,
3097 [  --enable-theora         experimental theora codec (default disabled)])
3098 if test "${enable_theora}" = "yes"
3099 then
3100   AC_CHECK_HEADERS(theora/theora.h, [
3101     AC_CHECK_LIB(theora, theora_granule_time, [
3102       if test "${SYS}" = "mingw32"; then
3103         VLC_ADD_PLUGINS([theora])
3104       else
3105         VLC_ADD_BUILTINS([theora])
3106       fi
3107       theora_libs="-ltheora -logg"
3108       VLC_ADD_LDFLAGS([theora],[${theora_libs}]) ],[
3109       AC_MSG_ERROR([libtheora doesn't appear to be installed on your system.
3110 You also need to check that you have a libogg posterior to the 1.0 release.])],
3111       [-logg])
3112   ])
3113 fi
3114
3115 dnl
3116 dnl  dirac decoder plugin
3117 dnl
3118 AC_ARG_ENABLE(dirac,
3119 [  --enable-dirac          experimental dirac codec (default disabled)])
3120 if test "${enable_dirac}" = "yes"; then
3121   AC_CHECK_HEADERS(libdirac_decoder/dirac_parser.h, [
3122     AC_CHECK_LIB(dirac_decoder, dirac_decoder_init, [
3123       VLC_ADD_PLUGINS([dirac])
3124       VLC_ADD_LDFLAGS([dirac],[-ldirac_decoder -ldirac_encoder -lstdc++]) ],[
3125       AC_MSG_ERROR([libdirac doesn't appear to be installed on you system.])],
3126       [-lstdc++])
3127   ])
3128 fi
3129
3130 dnl
3131 dnl  PNG decoder module
3132 dnl
3133 AC_ARG_ENABLE(png,
3134   [  --enable-png            PNG support (default enabled)])
3135 if test "${enable_png}" != "no"; then
3136 AC_CHECK_HEADERS(png.h, [
3137   LDFLAGS="${LDFLAGS_save} -lz"
3138   AC_CHECK_LIB(png, png_set_rows, [
3139     VLC_ADD_LDFLAGS([png],[-lpng -lz])
3140     VLC_ADD_PLUGINS([png])
3141     VLC_ADD_PLUGINS([osdmenu])
3142     AC_DEFINE(HAVE_LIBPNG, [], [Define if you have the PNG library: libpng])],
3143     [],[-lz])
3144   LDFLAGS="${LDFLAGS_save}"
3145   ])
3146 fi
3147
3148 dnl
3149 dnl H264 encoder plugin (using libx264)
3150 dnl
3151 AC_ARG_ENABLE(x264,
3152   [  --enable-x264           H264 encoding support with libx264 (default enabled)])
3153 if test "${enable_x264}" != "no"; then
3154   AC_ARG_WITH(x264-tree,
3155     [    --with-x264-tree=PATH x264 tree for static linking ],[],[])
3156   if test "${with_x264_tree}" != "no" -a -n "${with_x264_tree}"
3157   then
3158     real_x264_tree="`cd ${with_x264_tree} 2>/dev/null && pwd`"
3159     if test -z "${real_x264_tree}"
3160     then
3161       dnl  The given directory can't be found
3162       AC_MSG_RESULT(no)
3163       AC_MSG_ERROR([${with_x264_tree} directory doesn't exist])
3164     fi
3165     dnl  Use a custom libx264
3166     AC_MSG_CHECKING(for x264.h in ${real_x264_tree})
3167     if test -f ${real_x264_tree}/x264.h
3168     then
3169       AC_MSG_RESULT(yes)
3170       VLC_ADD_CPPFLAGS([x264],[-I${real_x264_tree}])
3171       VLC_ADD_LDFLAGS([x264],[-L${real_x264_tree}])
3172       LDFLAGS="${LDFLAGS_save} ${LDFLAGS_x264} ${THREAD_LIB}"
3173       AC_CHECK_LIB(x264, x264_encoder_open, [
3174         VLC_ADD_BUILTINS([x264])
3175         VLC_ADD_LDFLAGS([x264],[-lx264])
3176       ],[
3177         AC_MSG_ERROR([the specified tree hasn't been compiled])
3178       ])
3179       LDFLAGS="${LDFLAGS_save}"
3180     else
3181       AC_MSG_RESULT(no)
3182       AC_MSG_ERROR([the specified tree doesn't have x264.h])
3183     fi
3184   else
3185     LDFLAGS="${LDFLAGS_save} ${LDFLAGS_x264} ${THREAD_LIB}"
3186     AC_CHECK_HEADERS(x264.h, [
3187       AC_CHECK_LIB(x264, x264_encoder_open, [
3188         VLC_ADD_PLUGINS([x264])
3189         VLC_ADD_LDFLAGS([x264],[-lx264])
3190       ],[
3191         if test "${enable_x264}" = "yes"; then
3192             AC_MSG_ERROR([Could not find libx264 on your system: you may get it from http://www.videolan.org/x264.html])
3193           fi
3194       ])
3195     ])
3196     LDFLAGS="${LDFLAGS_save}"
3197   fi
3198 fi
3199
3200 dnl
3201 dnl  CMML plugin
3202 dnl
3203 AC_ARG_ENABLE(cmml,
3204   [  --enable-cmml           CMML support (default enabled)])
3205 if test "${enable_cmml}" != "no"
3206 then
3207   VLC_ADD_PLUGINS([cmml])
3208 fi
3209
3210
3211 dnl
3212 dnl  Video plugins
3213 dnl
3214
3215 AC_ARG_WITH(,[Video plugins:])
3216
3217 dnl Check for DPMS
3218 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
3219   CPPFLAGS="${CPPFLAGS_save} -I${x_includes}"
3220   AC_CHECK_HEADERS(X11/extensions/dpms.h, [
3221     AC_MSG_CHECKING(for DPMSInfo in X11/extensions/dpms.h)
3222     AC_EGREP_HEADER(DPMSInfo,X11/extensions/dpms.h,[
3223       AC_MSG_RESULT(yes)
3224       AC_DEFINE(DPMSINFO_IN_DPMS_H, 1,
3225                 Define if <X11/extensions/dpms.h> defines DPMSInfo.)
3226     ],[
3227       AC_MSG_RESULT(no)
3228     ])
3229   ],,[
3230     #include <X11/Xlib.h>
3231   ])
3232   CPPFLAGS="${CPPFLAGS_save}"
3233 fi
3234
3235 dnl
3236 dnl  X11 module
3237 dnl  (enabled by default except on win32)
3238 dnl
3239 AC_ARG_ENABLE(x11,
3240   [  --enable-x11            X11 support (default enabled)])
3241 if test "${enable_x11}" != "no" &&
3242   (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
3243    test "${enable_x11}" = "yes"); then
3244   CPPFLAGS="${CPPFLAGS_save} -I${x_includes}"
3245   AC_CHECK_HEADERS(X11/Xlib.h, [
3246     VLC_ADD_PLUGINS([x11])
3247     VLC_ADD_LDFLAGS([x11],[-L${x_libraries} -lX11 -lXext])
3248     VLC_ADD_CPPFLAGS([x11],[-I${x_includes}])
3249   ])
3250   CPPFLAGS="${CPPFLAGS_save}"
3251 fi
3252
3253 dnl
3254 dnl  XVideo module
3255 dnl  (enabled by default except on win32)
3256 dnl
3257 AC_ARG_ENABLE(xvideo,
3258   [  --enable-xvideo         XVideo support (default enabled)])
3259 if test "${enable_xvideo}" != "no" &&
3260   (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
3261    test "${enable_xvideo}" = "yes"); then
3262   CPPFLAGS="${CPPFLAGS_save} -I${x_includes}"
3263   AC_CHECK_HEADERS(X11/extensions/Xv.h, [
3264     CFLAGS="${CFLAGS_save} -L${x_libraries} -lX11 -lXext"
3265     AC_CHECK_LIB(Xv,XvPutImage,[
3266       # If libXv.so is available, xvideo can be a plugin. Otherwise, we
3267       # test for libXv_pic.
3268       if test -f /usr/X11R6/lib/libXv.so -o -f "${x_libraries}"/libXv.so; then
3269         VLC_ADD_PLUGINS([xvideo])
3270         VLC_ADD_CPPFLAGS([xvideo],[-I${x_includes}])
3271         VLC_ADD_LDFLAGS([xvideo],[-L${x_libraries} -lX11 -lXext -lXv])
3272       else
3273         AC_CHECK_LIB(Xv_pic,XvPutImage,[
3274           VLC_ADD_PLUGINS([xvideo])
3275           VLC_ADD_CPPFLAGS([xvideo],[-I${x_includes}])
3276           VLC_ADD_LDFLAGS([xvideo],[-L${x_libraries} -lX11 -lXext -lXv_pic])
3277         ],[
3278           VLC_ADD_BUILTINS([xvideo])
3279           VLC_ADD_LDFLAGS([xvideo],[-L${x_libraries} -lX11 -lXext -lXv])
3280           VLC_ADD_CPPFLAGS([xvideo],[-I${x_includes}])
3281         ])
3282       fi
3283     ])
3284     CFLAGS="${CFLAGS_save}"
3285   ]
3286   CPPFLAGS="${CPPFLAGS_save}")
3287 fi
3288
3289 dnl
3290 dnl  GLX module
3291 dnl  (enabled by default except on win32)
3292 dnl
3293 AC_ARG_ENABLE(glx,
3294   [  --enable-glx            X11 OpenGL (GLX) support (default enabled)])
3295 if test "${enable_glx}" != "no" &&
3296   (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
3297    test "${enable_glx}" = "yes"); then
3298   CPPFLAGS="${CPPFLAGS_save} -I${x_includes}"
3299   AC_CHECK_HEADERS(X11/Xlib.h, [
3300     AC_CHECK_HEADERS(GL/glx.h, [
3301       VLC_ADD_PLUGINS([glx])
3302       VLC_ADD_LDFLAGS([glx],[-L${x_libraries} -lX11 -lXext -lGL -lGLU])
3303       VLC_ADD_CPPFLAGS([glx],[-I${x_includes}])
3304   ]) ])
3305   CPPFLAGS="${CPPFLAGS_save}"
3306 fi
3307
3308 dnl
3309 dnl  Check for the Xinerama extension
3310 dnl
3311 if test "${enable_xvideo}" != "no" &&
3312   (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
3313    test "${enable_xvideo}" = "yes"); then
3314   ac_cv_have_xinerama="no"
3315   CPPFLAGS="${CPPFLAGS_save} -I${x_includes}"
3316   CFLAGS="${CFLAGS_save} -L${x_libraries} -lX11 -lXext"
3317   AC_CHECK_HEADERS(X11/extensions/Xinerama.h,[
3318     AC_CHECK_LIB(Xinerama_pic, XineramaQueryExtension,[
3319       VLC_ADD_LDFLAGS([xvideo],[-lXinerama_pic])
3320       VLC_ADD_LDFLAGS([x11],[-lXinerama_pic])
3321       VLC_ADD_LDFLAGS([glx],[-lXinerama_pic])
3322       ac_cv_have_xinerama="yes"
3323     ],[
3324       AC_CHECK_LIB(Xinerama, XineramaQueryExtension,[
3325         VLC_ADD_LDFLAGS([xvideo],[-lXinerama])
3326         VLC_ADD_LDFLAGS([x11],[-lXinerama])
3327         VLC_ADD_LDFLAGS([glx],[-lXinerama])
3328         ac_cv_have_xinerama="yes"
3329       ])
3330     ])
3331   ])
3332   if test "${ac_cv_have_xinerama}" = "yes"; then
3333     AC_DEFINE(HAVE_XINERAMA, 1, [Define this if you have libXinerama installed])
3334   fi
3335   CFLAGS="${CFLAGS_save}"
3336   CPPFLAGS="${CPPFLAGS_save}"
3337 fi
3338
3339 dnl
3340 dnl  OpenGL module
3341 dnl  (enabled by default except on beos)
3342 dnl
3343 AC_ARG_ENABLE(opengl,
3344   [  --enable-opengl         OpenGL support (default enabled)])
3345 if test "${enable_opengl}" != "no" &&
3346    test "${SYS}" != "beos" -a "${SYS}" != "mingwce"; then
3347   if test "${SYS}" != "darwin"; then
3348     AC_CHECK_HEADERS(GL/gl.h, [
3349       VLC_ADD_PLUGINS([opengl])
3350       if test "${SYS}" != "mingw32"; then
3351         VLC_ADD_LDFLAGS([opengl],[-L${x_libraries} -lGL -lGLU])
3352       else
3353         VLC_ADD_LDFLAGS([opengl],[-lopengl32])
3354       fi
3355     ])
3356   else
3357     dnl OS X special case (no GL/gl.h but OpenGL/gl.h)
3358     VLC_ADD_PLUGINS([opengl])
3359     VLC_ADD_LDFLAGS([opengl],[-framework OpenGL])
3360   fi
3361 fi
3362
3363 dnl
3364 dnl  SDL module
3365 dnl
3366 AC_ARG_ENABLE(sdl,
3367   [  --enable-sdl            SDL support (default enabled)])
3368 if test "${enable_sdl}" != "no"
3369 then
3370   SDL_PATH="${PATH}"
3371   AC_ARG_WITH(sdl-config-path,
3372     [    --with-sdl-config-path=PATH sdl-config path (default search in \$PATH)],
3373     [ if test "${with_sdl_config_path}" != "no"
3374       then
3375         SDL_PATH="${with_sdl_config_path}:${PATH}"
3376       fi ])
3377   AC_PATH_PROG(SDL12_CONFIG, sdl12-config, no, ${SDL_PATH})
3378   SDL_CONFIG="${SDL12_CONFIG}"
3379   SDL_HEADER="SDL12/SDL.h"
3380   SDL_IMAGE="SDL12/SDL_image.h"
3381   if test "${SDL_CONFIG}" = "no"
3382   then
3383     AC_PATH_PROG(SDL11_CONFIG, sdl11-config, no, ${SDL_PATH})
3384     SDL_CONFIG=${SDL11_CONFIG}
3385     SDL_HEADER="SDL11/SDL.h"
3386     SDL_IMAGE="SDL11/SDL_image.h"
3387   fi
3388   if test "${SDL_CONFIG}" = "no"
3389   then
3390     AC_PATH_PROG(SDL_CONFIG, sdl-config, no, ${SDL_PATH})
3391     SDL_HEADER="SDL/SDL.h"
3392     SDL_IMAGE="SDL/SDL_image.h"
3393   fi
3394   # check for cross-compiling
3395   SDL_PREFIX=
3396   AC_ARG_WITH(sdl-prefix,
3397     [    --with-sdl-prefix=PATH path to libsdl (needed for cross-compiling),
3398                                e.g use as:
3399                                --with-sdl-prefix=/usr/local/arm/2.95.3/arm-linux/usr)],[],[])
3400   if test "${with_sdl_prefix}" != "no" -a -n "${with_sdl_prefix}"
3401   then
3402     SDL_PREFIX="--prefix=${with_sdl_prefix}"
3403   fi
3404   if test "${SDL_CONFIG}" != "no"
3405   then
3406     # SDL on Darwin is heavily patched and can only run SDL_image
3407     if test "${SYS}" != "darwin" -a "${SYS}" != "mingw32"; then
3408       VLC_ADD_PLUGINS([vout_sdl aout_sdl])
3409     fi
3410     VLC_ADD_CFLAGS([vout_sdl aout_sdl sdl_image],[`${SDL_CONFIG} ${SDL_PREFIX} --cflags | sed 's,SDL,,'`])
3411     VLC_ADD_LDFLAGS([vout_sdl aout_sdl sdl_image],[`${SDL_CONFIG} ${SDL_PREFIX} --libs | sed 's,-rdynamic,,'`])
3412     CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_vout_sdl}"
3413     AC_CHECK_HEADERS(${SDL_HEADER}, AC_DEFINE_UNQUOTED(SDL_INCLUDE_FILE,
3414       <${SDL_HEADER}>, Indicate whether we should use SDL/SDL.h or SDL11/SDL.h),
3415       [ AC_CHECK_HEADERS(SDL.h, AC_DEFINE(SDL_INCLUDE_FILE, <SDL.h>,
3416           As a last resort we also test for SDL.h presence),
3417       [ AC_MSG_ERROR([The development package for SDL is not installed.
3418 Please install it and try again. Alternatively you can also configure with
3419 --disable-sdl.])
3420       ])])
3421     AC_CHECK_HEADERS(${SDL_IMAGE}, [AC_DEFINE_UNQUOTED(SDL_IMAGE_INCLUDE_FILE,
3422       <${SDL_IMAGE}>, Indicate the path of SDL_image.h)
3423       VLC_ADD_PLUGINS([sdl_image])
3424       AC_CHECK_LIB(png, png_set_rows,
3425         [VLC_ADD_LDFLAGS([sdl_image],[-lpng -lz])],[],[-lz])
3426       AC_CHECK_LIB(jpeg, jpeg_start_decompress,
3427         [VLC_ADD_LDFLAGS([sdl_image],[-ljpeg])])
3428       AC_CHECK_LIB(tiff, TIFFClientOpen,
3429         [VLC_ADD_LDFLAGS([sdl_image],[-ltiff])])
3430       VLC_ADD_LDFLAGS([sdl_image], [-lSDL_image])],
3431       [ AC_CHECK_HEADERS(SDL_image.h, AC_DEFINE(SDL_IMAGE_INCLUDE_FILE, <SDL_image.h>,
3432           As a last resort we also test for SDL_image.h presence),
3433       [ AC_MSG_WARN([The development package for SDL_image is not installed.
3434 You should install it alongside your SDL package.])
3435       ])])
3436     CPPFLAGS="${CPPFLAGS_save}"
3437     if expr 1.1.5 \> `${SDL_CONFIG} --version` >/dev/null
3438     then
3439       AC_MSG_ERROR([The development package for SDL is not installed.
3440 Please install it and try again. Alternatively you can also configure with
3441 --disable-sdl.])
3442     fi
3443
3444   elif test "${enable_sdl}" =  "yes"
3445   then
3446     AC_MSG_ERROR([I couldn't find the SDL package. You can download libSDL
3447 from http://www.libsdl.org/, or configure with --disable-sdl. Have a nice day.
3448     ])
3449   fi
3450 fi
3451
3452 dnl
3453 dnl  freetype module
3454 dnl
3455 AC_ARG_ENABLE(freetype,
3456   [  --enable-freetype       freetype support (default enabled)])
3457 AC_ARG_ENABLE(fribidi,
3458   [  --enable-fribidi        fribidi support (default enabled)])
3459 if test "${enable_freetype}" != "no"
3460 then
3461   FREETYPE_PATH="${PATH}"
3462   AC_ARG_WITH(freetype-config-path,
3463     [    --with-freetype-config-path=PATH freetype-config path (default search in \$PATH)],
3464     [ if test "${with_freetype_config_path}" != "no"
3465       then
3466         FREETYPE_PATH="${with_freetype_config_path}:${PATH}"
3467       fi ])
3468   AC_PATH_PROG(FREETYPE_CONFIG, freetype-config, no, ${FREETYPE_PATH})
3469
3470   if test "${FREETYPE_CONFIG}" != "no"
3471   then
3472     VLC_ADD_PLUGINS([freetype])
3473     VLC_ADD_CFLAGS([freetype],[`${FREETYPE_CONFIG} --cflags`])
3474     VLC_ADD_LDFLAGS([freetype],[`${FREETYPE_CONFIG} --libs`])
3475     AC_CHECK_HEADERS(Carbon/Carbon.h,
3476       [VLC_ADD_LDFLAGS([freetype],[-framework Carbon])])
3477   elif test "${enable_freetype}" =  "yes"
3478   then
3479     AC_MSG_ERROR([I couldn't find the freetype package. You can download libfreetype2
3480 from http://www.freetype.org/, or configure with --disable-freetype. Have a nice day.
3481     ])
3482   fi
3483
3484   dnl fribidi support
3485   if test "${enable_fribidi}" != "no"
3486   then
3487     FRIBIDI_PATH="${PATH}"
3488     AC_ARG_WITH(fribidi-config-path,
3489       [    --with-fribidi-config-path=PATH fribidi-config path (default search in \$PATH)],
3490       [ if test "${with_fribidi_config_path}" != "no"
3491         then
3492           FRIBIDI_PATH="${with_fribidi_config_path}:${PATH}"
3493         fi ])
3494     AC_PATH_PROG(FRIBIDI_CONFIG, fribidi-config, no, ${FRIBIDI_PATH})
3495
3496     if test "${FRIBIDI_CONFIG}" != "no"
3497     then
3498       VLC_ADD_CFLAGS([freetype], [`${FRIBIDI_CONFIG} --cflags` -DHAVE_FRIBIDI])
3499       VLC_ADD_CPPFLAGS([skins2], [`${FRIBIDI_CONFIG} --cflags` -DHAVE_FRIBIDI])
3500       VLC_ADD_LDFLAGS([freetype], [`${FRIBIDI_CONFIG} --libs`])
3501       VLC_ADD_LDFLAGS([skins2], [`${FRIBIDI_CONFIG} --libs`])
3502     fi
3503   fi
3504 fi
3505
3506 dnl
3507 dnl  libxml2 module
3508 dnl
3509 AC_ARG_ENABLE(libxml2,
3510   [  --enable-libxml2        libxml2 support (default enabled)])
3511 if test "${enable_libxml2}" != "no"
3512 then
3513   XML2_PATH="${PATH}"
3514   AC_ARG_WITH(xml2-config-path,
3515     [    --with-xml2-config-path=PATH xml2-config path (default search in \$PATH)],
3516     [ if test "${with_xml2_config_path}" != "no"; then
3517         XML2_PATH="${with_xml2_config_path}:${PATH}"
3518       fi ])
3519   AC_PATH_PROG(XML2_CONFIG, xml2-config, no, ${XML2_PATH})
3520   if test "${XML2_CONFIG}" != "no"; then
3521     VLC_ADD_CPPFLAGS([xml],[`${XML2_CONFIG} --cflags`])
3522     VLC_ADD_LDFLAGS([xml],[`${XML2_CONFIG} --libs`])
3523     dnl depends on the xmlTextReader extension
3524     CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_xml}"
3525     LDFLAGS="${LDFLAGS_save} ${LDFLAGS_xml}"
3526     AC_CHECK_LIB(xml2,xmlTextReaderConstName,[
3527       AC_EGREP_HEADER(xmlTextReaderConstName,libxml/xmlreader.h,[
3528         VLC_ADD_PLUGINS([xml]) ],[
3529           AC_MSG_WARN([libxml2 missing the xmlTextReader extension, you should update your version])
3530           if test "${enable_xml2}" = "yes"; then
3531             AC_MSG_ERROR([libxml2 missing the xmlTextReader extension])
3532           fi])
3533        ],[
3534       AC_MSG_WARN([libxml2 missing the xmlTextReader extension, you should update your version])
3535       if test "${enable_xml2}" = "yes"; then
3536         AC_MSG_ERROR([libxml2 missing the xmlTextReader extension])
3537       fi])
3538     LDFLAGS="${LDFLAGS_save}"
3539     CPPFLAGS="${CPPFLAGS_save}"
3540   else
3541     if test "${enable_xml2}" = "yes"; then
3542       AC_MSG_ERROR([Could not find libxml2])
3543     fi
3544   fi
3545 fi
3546
3547 dnl
3548 dnl  SVG module
3549 dnl
3550 AC_ARG_ENABLE(svg,
3551   [  --enable-svg            SVG support (default disabled)])
3552 if test "${enable_svg}" = "yes"
3553 then
3554   PKG_CHECK_MODULES(SVG, 
3555         librsvg-2.0 >= 2.5.0,
3556         [
3557           VLC_ADD_LDFLAGS([svg],[$SVG_LIBS])
3558           VLC_ADD_CFLAGS([svg],[$SVG_CFLAGS])
3559           VLC_ADD_PLUGINS([svg]) ],
3560         [AC_MSG_WARN(SVG library not found)])
3561 fi
3562
3563 dnl
3564 dnl  Qt Embedded module
3565 dnl  (disabled by default)
3566 dnl
3567 AC_ARG_ENABLE(qte,
3568   [  --enable-qte            QT Embedded support (default disabled)])
3569 if test "${enable_qte}" = "yes"
3570 then
3571   AC_ARG_WITH(qte,
3572   [    --with-qte=PATH       Qt Embedded headers and libraries])
3573   if test "${with_qte}" != "no" -a -n "${with_qte}"
3574   then
3575     VLC_ADD_LDFLAGS([qte],[-L${with_qte}/lib `echo -L${with_qte}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte])
3576     VLC_ADD_CXXFLAGS([qte],[-I${with_qte}/include `echo -I${with_qte}/include | sed 's,opt/QtPalmtop,usr,'` -DQT_QWS_IPAQ -DQWS -fno-exceptions -fno-rtti])
3577   else
3578     VLC_ADD_LDFLAGS([qte],[-L${QTDIR}/lib `echo -L${QTDIR}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte])
3579     VLC_ADD_CXXFLAGS([qte],[-I${QTDIR}/include `echo -I${QTDIR}/include | sed 's,opt/QtPalmtop,usr,'` -DQT_QWS_IPAQ -DQWS -fno-exceptions -fno-rtti])
3580   fi
3581   VLC_ADD_PLUGINS([qte])
3582   NEED_QTE_MAIN=yes
3583   CPPFLAGS="${CPPFLAGS_save} ${CXXFLAGS_qte}"
3584   AC_CHECK_HEADERS(qt.h jpeglib.h, ,[
3585     AC_MSG_ERROR([echo "Cannot find QT Embedded development headers."])
3586   ] )
3587   CPPFLAGS="${CPPFLAGS_save}"
3588 fi
3589
3590 dnl
3591 dnl  Qt Video output module
3592 dnl  (disabled by default)
3593 dnl
3594 dnl AC_ARG_ENABLE(qt_video,
3595 dnl   [  --enable-qt_video            QT Video Output support (default disabled)])
3596 dnl if test "${enable_qt_video}" = "yes"
3597 dnl then
3598 dnl  VLC_ADD_PLUGINS([qt_video])
3599 dnl  VLC_ADD_LDFLAGS([qt_video],[-L${QTDIR}/lib])
3600 dnl  LDFLAGS="${LDFLAGS_save} ${LDFLAGS_qt_video}"
3601 dnl   AC_CHECK_LIB(qt-mt,main,[
3602 dnl    VLC_ADD_LDFLAGS([qt_video],[-lqt-mt])
3603 dnl  ],[
3604 dnl    AC_CHECK_LIB(qt,main,[
3605 dnl      VLC_ADD_LDFLAGS([qt_video],[-lqt])
3606 dnl    ])
3607 dnl  ])
3608 dnl  NEED_QTE_MAIN=yes
3609 dnl  LDFLAGS="${LDFLAGS_save}"
3610 dnl  VLC_ADD_CXXFLAGS([qt_video],[-I/usr/include/qt3 -I/usr/include/qt -I${QTDIR}/include])
3611 dnl fi
3612
3613 dnl
3614 dnl Roku HD1000 Video output module
3615 dnl
3616 AC_ARG_ENABLE(hd1000v,
3617   [  --enable-hd1000v        HD1000 Video Output module (default enabled on HD1000)])
3618 if test "${enable_hd1000v}" != "no" -a "${CXX}" != "" &&
3619   (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
3620    test "${enable_hd1000v}" = "yes"); then
3621   AC_LANG_PUSH([C++])
3622   AC_CHECK_HEADERS([cascade/graphics/CascadeScreen.h cascade/graphics/CascadeBitmap.h],
3623   [
3624     can_build_roku="yes"
3625   ],
3626   [
3627     can_build_roku="no"
3628     AC_MSG_WARN([Not building Roku HD1000 compatible video output])
3629   ])
3630   if test "$can_build_roku" = "yes"
3631   then
3632     VLC_ADD_PLUGINS([hd1000v])
3633     VLC_ADD_LDFLAGS([hd1000v],[-lCascade -ldvbpsi -lmad])
3634   fi
3635   AC_LANG_POP([C++])
3636 fi
3637
3638 dnl
3639 dnl  Windows DirectX module
3640 dnl
3641 AC_ARG_ENABLE(directx,
3642   [  --enable-directx        Win32 DirectX support (default enabled on Win32)])
3643 if test "${enable_directx}" != "no"
3644 then
3645   if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce" -o "${SYS}" = "cygwin"
3646   then
3647     AC_ARG_WITH(directx,
3648     [    --with-directx=PATH   Win32 DirectX headers])
3649     if test -z "${with_directx}"
3650     then
3651       AC_CHECK_HEADERS(ddraw.h,
3652       [ VLC_ADD_PLUGINS([vout_directx aout_directx])
3653         VLC_ADD_LDFLAGS([vout_directx],[-lgdi32])
3654         dnl to be moved when dependance is removed
3655         AC_CHECK_HEADERS(GL/gl.h, [
3656             VLC_ADD_PLUGINS([glwin32])
3657             VLC_ADD_LDFLAGS([glwin32],[-lopengl32 -lgdi32])
3658         ]) ])
3659     else
3660       AC_MSG_CHECKING(for directX headers in ${with_directx})
3661       if test -f ${with_directx}/ddraw.h
3662       then
3663         VLC_ADD_PLUGINS([vout_directx aout_directx])
3664         VLC_ADD_CPPFLAGS([vout_directx aout_directx],[-I${with_directx}])
3665         VLC_ADD_LDFLAGS([vout_directx],[-lgdi32])
3666         AC_MSG_RESULT(yes)
3667       else
3668         AC_MSG_RESULT(no)
3669         AC_MSG_ERROR([Cannot find ${with_directx}/ddraw.h!])
3670       fi
3671     fi
3672   fi
3673 fi
3674
3675 dnl
3676 dnl  Linux framebuffer module
3677 dnl
3678 AC_ARG_ENABLE(fb,
3679   [  --enable-fb             Linux framebuffer support (default enabled on Linux)])
3680     if test "${enable_fb}" != "no"
3681     then
3682       AC_CHECK_HEADERS(linux/fb.h, [
3683         VLC_ADD_PLUGINS([fb])
3684       ])
3685     fi
3686
3687 dnl
3688 dnl  Linux MGA module
3689 dnl
3690 AC_ARG_ENABLE(mga,
3691   [  --enable-mga            Linux kernel Matrox support (default disabled)],
3692   [ if test "${enable_mga}" = "yes"
3693     then
3694       VLC_ADD_PLUGINS([mga])
3695     fi ])
3696
3697 dnl
3698 dnl  SVGAlib module
3699 dnl
3700 AC_ARG_ENABLE(svgalib,
3701   [  --enable-svgalib        SVGAlib support (default disabled)])
3702 if test "${enable_svgalib}" = "yes"
3703 then
3704   VLC_ADD_PLUGINS([svgalib])
3705   VLC_ADD_LDFLAGS([svgalib],[-lvgagl -lvga])
3706 fi
3707
3708 dnl
3709 dnl  GGI module
3710 dnl
3711 AC_ARG_ENABLE(ggi,
3712   [  --enable-ggi            GGI support (default disabled)])
3713 if test "${enable_ggi}" = "yes"
3714 then
3715   VLC_ADD_PLUGINS([ggi])
3716   VLC_ADD_LDFLAGS([ggi],[-lggi])
3717   AC_ARG_WITH(ggi,
3718     [    --with-ggi=PATH       path to libggi],
3719     [ if test "${with_ggi}" != "no" -a -n "${with_ggi}"
3720       then
3721         VLC_ADD_CPPFLAGS([ggi],[-I${with_ggi}/include])
3722         VLC_ADD_LDFLAGS([ggi],[-L${with_ggi}/lib])
3723       fi ])
3724 fi
3725
3726 dnl
3727 dnl  Glide module
3728 dnl
3729 AC_ARG_ENABLE(glide,
3730   [  --enable-glide          Glide (3dfx) support (default disabled)])
3731 if test "${enable_glide}" = "yes"
3732 then
3733   VLC_ADD_PLUGINS([glide])
3734   VLC_ADD_LDFLAGS([glide],[-lglide2x -lm])
3735   VLC_ADD_CPPFLAGS([glide],[-I/usr/include/glide])
3736   AC_ARG_WITH(glide,
3737     [    --with-glide=PATH     path to libglide],
3738     [ if test "${with_glide}" != "no" -a -n "${with_glide}"
3739       then
3740         VLC_ADD_CPPFLAGS([glide],[-I${with_glide}/include])
3741         VLC_ADD_LDFLAGS([glide],[-L${with_glide}/lib])
3742       fi ])
3743 fi
3744
3745 dnl
3746 dnl  AA plugin
3747 dnl
3748 AC_ARG_ENABLE(aa,
3749   [  --enable-aa             aalib output (default disabled)])
3750 if test "${enable_aa}" = "yes"
3751 then
3752   AC_CHECK_HEADER(aalib.h,have_aa="true",have_aa="false")
3753   if test "${have_aa}" = "true"
3754   then
3755     VLC_ADD_PLUGINS([aa])
3756     VLC_ADD_LDFLAGS([aa],[-laa])
3757   fi
3758 fi
3759
3760 dnl
3761 dnl  libcaca plugin
3762 dnl
3763 AC_ARG_ENABLE(caca,
3764   [  --enable-caca           libcaca output (default disabled)])
3765 if test "${enable_caca}" = "yes"
3766 then
3767   CACA_PATH="${PATH}"
3768   AC_ARG_WITH(caca-config-path,
3769     [    --with-caca-config-path=PATH caca-config path (default search in \$PATH)],
3770     [ if test "${with_caca_config_path}" != "no"
3771       then
3772         CACA_PATH="${with_caca_config_path}:${PATH}"
3773       fi ])
3774   AC_PATH_PROG(CACA_CONFIG, caca-config, no, ${CACA_PATH})
3775   if test "${CACA_CONFIG}" != "no"
3776   then
3777     VLC_ADD_PLUGINS([caca])
3778     VLC_ADD_CFLAGS([caca],[`${CACA_CONFIG} --cflags`])
3779     VLC_ADD_LDFLAGS([caca],[`${CACA_CONFIG} --plugin-libs`])
3780   fi
3781 fi
3782
3783 dnl
3784 dnl  win32 GDI plugin
3785 dnl
3786 AC_ARG_ENABLE(wingdi,
3787   [  --enable-wingdi         Win32 GDI module (default enabled on Win32)])
3788 if test "${enable_wingdi}" != "no"; then
3789   if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"; then
3790     VLC_ADD_PLUGINS([wingdi])
3791     VLC_ADD_LDFLAGS([wingdi],[-lgdi32])
3792   fi
3793   if test "${SYS}" = "mingwce"; then
3794     VLC_ADD_PLUGINS([wingdi wingapi])
3795   fi
3796 fi
3797
3798 dnl
3799 dnl  Audio plugins
3800 dnl
3801
3802 AC_ARG_WITH(,[Audio plugins:])
3803
3804 dnl
3805 dnl  OSS /dev/dsp module (enabled by default except on win32)
3806 dnl
3807 AC_ARG_ENABLE(oss,
3808   [  --enable-oss            Linux OSS /dev/dsp support (enabled on Linux)])
3809
3810 if test "${enable_oss}" != "no" &&
3811   (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
3812    test "${enable_oss}" = "yes")
3813 then
3814   AC_CHECK_HEADERS(soundcard.h sys/soundcard.h machine/soundcard.h, [
3815     VLC_ADD_PLUGINS([oss])
3816     AC_CHECK_LIB(ossaudio,main,VLC_ADD_LDFLAGS([oss],[-lossaudio]))
3817   ])
3818 fi
3819
3820 dnl
3821 dnl  Esound module
3822 dnl
3823 AC_ARG_ENABLE(esd,
3824   [  --enable-esd            Esound library support (default disabled)],
3825   [if test "${enable_esd}" = "yes"
3826    then
3827      AC_PATH_PROG(ESD_CONFIG, esd-config, no)
3828      if test "${ESD_CONFIG}" != "no"
3829      then
3830        VLC_ADD_PLUGINS([esd])
3831        VLC_ADD_CFLAGS([esd],[`${ESD_CONFIG} --cflags`])
3832        VLC_ADD_LDFLAGS([esd],[`${ESD_CONFIG} --libs`])
3833      fi
3834    fi])
3835
3836 dnl
3837 dnl  Portaudio module
3838 dnl
3839 AC_ARG_ENABLE(portaudio,
3840   [  --enable-portaudio      Portaudio library support (default disabled)],
3841   [if test "${enable_portaudio}" = "yes"
3842    then
3843      VLC_ADD_PLUGINS([portaudio])
3844      VLC_ADD_CXXFLAGS([portaudio],[])
3845      if test "${SYS}" = "mingw32"; then
3846         VLC_ADD_LDFLAGS([portaudio],[-lportaudio -lwinmm -lole32])
3847      else
3848         VLC_ADD_LDFLAGS([portaudio],[-lportaudio])
3849      fi
3850    fi])
3851
3852 dnl
3853 dnl  aRts module -- broken (freeze wxWidgets)
3854 dnl
3855 AC_ARG_ENABLE(arts,
3856  [  --enable-arts           aRts sound server (default disabled)],
3857  [if test "${enable_arts}" = "yes"
3858   then
3859     AC_PATH_PROG(ARTS_CONFIG, artsc-config, no)
3860     if test "${ARTS_CONFIG}" != "no"
3861     then
3862       VLC_ADD_PLUGINS([arts])
3863       VLC_ADD_CFLAGS([arts],[`${ARTS_CONFIG} --cflags`])
3864       VLC_ADD_LDFLAGS([arts],[`${ARTS_CONFIG} --libs `])
3865     fi
3866   fi])
3867
3868 dnl
3869 dnl  ALSA module
3870 dnl
3871 AC_ARG_ENABLE(alsa,
3872   [  --enable-alsa           ALSA sound support for Linux (default enabled)])
3873 if test "${enable_alsa}" != "no"
3874 then
3875   AC_CHECK_HEADER(alsa/asoundlib.h, AC_CHECK_LIB(asound, main, have_alsa="true", have_alsa="false"),have_alsa="false")
3876   if test "${have_alsa}" = "true"
3877   then
3878     CFLAGS="${CFLAGS_save}"
3879     AC_TRY_COMPILE([#define ALSA_PCM_NEW_HW_PARAMS_API
3880                     #define ALSA_PCM_NEW_SW_PARAMS_API
3881                     #include <alsa/asoundlib.h>],
3882        [void foo() { snd_pcm_hw_params_get_period_time(0,0,0); }],
3883         AC_DEFINE(HAVE_ALSA_NEW_API, 1, Define if ALSA is at least rc4))
3884     VLC_ADD_PLUGINS([alsa])
3885     VLC_ADD_LDFLAGS([alsa],[-lasound -lm -ldl])
3886   else
3887     if test "${enable_alsa}" = "yes"; then
3888       AC_MSG_ERROR([Could not find ALSA development headers])
3889     fi
3890   fi
3891 fi
3892
3893 dnl
3894 dnl  win32 waveOut plugin
3895 dnl
3896 AC_ARG_ENABLE(waveout,
3897   [  --enable-waveout        Win32 waveOut module (default enabled on Win32)])
3898 if test "${enable_waveout}" != "no"; then
3899   if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"; then
3900     VLC_ADD_PLUGINS([waveout])
3901     VLC_ADD_LDFLAGS([waveout],[-lwinmm])
3902   fi
3903   if test "${SYS}" = "mingwce"; then
3904     VLC_ADD_PLUGINS([waveout])
3905   fi
3906 fi
3907
3908 dnl
3909 dnl  CoreAudio plugin
3910 dnl
3911 AC_ARG_ENABLE(coreaudio,
3912   [  --enable-coreaudio      CoreAudio module (default enabled on MacOS X)])
3913 if test "${enable_coreaudio}" != "no" &&
3914   (test "${SYS}" = "darwin" || test "${enable_coreaudio}" = "yes")
3915 then
3916   AC_CHECK_HEADERS(CoreAudio/CoreAudio.h, 
3917     [ VLC_ADD_BUILTINS([coreaudio auhal])
3918       VLC_ADD_LDFLAGS([coreaudio auhal],[-framework CoreAudio -framework AudioUnit -framework AudioToolbox])
3919     ], [ AC_MSG_ERROR([cannot find CoreAudio headers]) ])
3920 fi
3921
3922 dnl
3923 dnl  Roku HD1000 audio
3924 dnl
3925 AC_ARG_ENABLE(hd1000a,
3926   [  --enable-hd1000a        HD1000 audio module (default enabled on HD1000)])
3927 if test "${enable_hd1000a}" != "no" -a "${CXX}" != "" &&
3928   (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
3929    test "${enable_hd1000a}" = "yes")
3930 then
3931   AC_LANG_PUSH([C++])
3932   AC_CHECK_HEADERS(deschutes/libraries/hdmachinex225/PCMAudioPlayer.h, [
3933     VLC_ADD_PLUGINS([hd1000a])
3934     AC_CHECK_LIB(HDMachineX225,main,VLC_ADD_LDFLAGS([hd1000a],[-lHDMachineX225]))  ])
3935   AC_LANG_POP([C++])
3936 fi
3937
3938 dnl
3939 dnl  CyberLink for C++ UPnP stack
3940 dnl
3941 AC_ARG_ENABLE(cyberlink,
3942   [  --enable-cyberlink      CyberLink for C++ UPnP stack (default disabled)])
3943 if test "${CXX}" != "" -a "${enable_cyberlink}" = "yes" || (test "${enable_cyberlink}" != "no"); then
3944   AC_ARG_WITH(cyberlink-tree,
3945     [    --with-cyberlink-tree=PATH CyberLink for C++ tree for static linking])
3946
3947   dnl
3948   dnl test for --with-cyberlink-tree
3949   dnl
3950   if test ! -z "${with_cyberlink_tree}" -a "${CXX}" != ""; then
3951     AC_LANG_PUSH(C++)
3952     real_cyberlink_tree="`cd ${with_cyberlink_tree} 2>/dev/null && pwd`"
3953     if test -z "${real_cyberlink_tree}"
3954     then
3955       dnl  The given directory can't be found
3956       AC_MSG_RESULT(no)
3957       AC_MSG_ERROR([cannot cd to ${with_cyberlink_tree}])
3958     fi
3959     CXXFLAGS_save="${CXXFLAGS}"
3960     CXXFLAGS_cyberlink="-I${real_cyberlink_tree}/include"
3961     CXXFLAGS="${CXXFLAGS} ${CXXFLAGS_cyberlink}"
3962     AC_CHECK_HEADERS([cybergarage/upnp/MediaServer.h],
3963       [ VLC_ADD_CXXFLAGS([upnp], [${CXXFLAGS_cyberlink}])
3964         VLC_ADD_PLUGINS([upnp]) 
3965       ],[
3966         AC_MSG_ERROR([cannot find CyberLink for C++ headers])
3967       ])
3968     AC_MSG_CHECKING(for libclink.a in ${with_cyberlink_tree})
3969     if test -f "${real_cyberlink_tree}/lib/unix/libclink.a"
3970     then
3971       AC_MSG_RESULT(${real_cyberlink_tree}/lib/unix/libclink.a)
3972       VLC_ADD_LDFLAGS([upnp], [${real_cyberlink_tree}/lib/unix/libclink.a -lexpat])
3973     else
3974       AC_MSG_RESULT(no)
3975        AC_MSG_ERROR([cannot find ${real_cyberlink_tree}/lib/unix/libclink.a, make sure you compiled CyberLink for C++ in ${with_cyberlink_tree}])
3976     fi
3977     CXXFLAGS="${CXXFLAGS_save}"
3978     AC_LANG_POP([C++])
3979   fi
3980 fi
3981
3982 dnl
3983 dnl  Interface plugins
3984 dnl
3985
3986 AC_ARG_WITH(,[Interface plugins:])
3987
3988 dnl special case for BeOS
3989 if test "${SYS}" = "beos"
3990 then
3991     VLC_ADD_BUILTINS([beos])
3992 fi
3993
3994 dnl
3995 dnl Skins2 module
3996 dnl
3997 AC_ARG_ENABLE(skins2,
3998   [  --enable-skins2         Skins2 interface module (experimental)])
3999 if test "${enable_skins2}" = "yes" ||
4000   (test "${SYS}" != "darwin" && test "${SYS}" != "beos" &&
4001    test "${SYS}" != "mingwce" && test "${enable_skins2}" != "no"); then
4002
4003   dnl test for the required libraries
4004   skins2_missing_lib="no"
4005
4006   dnl freetype
4007   if test "${FREETYPE_CONFIG}" != "no"; then
4008     VLC_ADD_CPPFLAGS([skins2],[`${FREETYPE_CONFIG} --cflags`])
4009     VLC_ADD_LDFLAGS([skins2],[`${FREETYPE_CONFIG} --libs`])
4010   else
4011     skins2_missing_lib="yes"
4012     if test "${enable_skins2}" = "yes"; then
4013       AC_MSG_ERROR([Could not find freetype (required for skins2)])
4014     fi
4015   fi
4016
4017   if test "${skins2_missing_lib}" = "no" && (test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"); then
4018     VLC_ADD_PLUGINS([skins2])
4019     ALIASES="${ALIASES} svlc"
4020     VLC_ADD_CPPFLAGS([skins2],[-U_OFF_T_ -U_off_t -Imodules/gui/skins2 -DWIN32_SKINS])
4021     VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
4022     VLC_ADD_LDFLAGS([skins2],[-loleaut32 -lwinspool -lwinmm -lshell32 -lctl3d32 -ladvapi32 -lwsock32 -lgdi32 -lcomdlg32 -lole32 -luuid -lcomctl32])
4023
4024   else if test "${skins2_missing_lib}" = "no"; then
4025     VLC_ADD_PLUGINS([skins2])
4026     ALIASES="${ALIASES} svlc"
4027     VLC_ADD_CPPFLAGS([skins2],[-Imodules/gui/skins2 -I${x_includes} -DX11_SKINS])
4028     VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
4029     VLC_ADD_LDFLAGS([skins2],[-L${x_libraries} -lXext -lX11])
4030   fi fi
4031 fi
4032
4033
4034 dnl dnl
4035 dnl dnl  Gtk+ module
4036 dnl dnl
4037 dnl AC_ARG_ENABLE(gtk,
4038 dnl   [  --enable-gtk            Gtk+ support (default enabled)])
4039 dnl if test "${enable_gtk}" != "no"
4040 dnl then
4041 dnl   GTK_PATH="${PATH}"
4042 dnl   AC_ARG_WITH(gtk-config-path,
4043 dnl     [    --with-gtk-config-path=PATH gtk-config path (default search in \$PATH)],
4044 dnl     [ if test "${with_gtk_config_path}" != "no"
4045 dnl       then
4046 dnl         GTK_PATH="${with_gtk_config_path}:${PATH}"
4047 dnl       fi ])
4048 dnl   # look for gtk-config
4049 dnl   AC_PATH_PROG(GTK12_CONFIG, gtk12-config, no, ${GTK_PATH})
4050 dnl   GTK_CONFIG=${GTK12_CONFIG}
4051 dnl   if test "${GTK_CONFIG}" = "no"
4052 dnl   then
4053 dnl     AC_PATH_PROG(GTK_CONFIG, gtk-config, no, ${GTK_PATH})
4054 dnl   fi
4055 dnl   if test "${GTK_CONFIG}" != "no"
4056 dnl   then
4057 dnl     if expr 1.2.0 \> `${GTK_CONFIG} --version` >/dev/null
4058 dnl     then
4059 dnl       AC_MSG_ERROR([Your development package for Gtk+ is too old, you need at least version 1.2.0. Please upgrade and try again. Alternatively you can also configure with --disable-gtk.])
4060 dnl     fi
4061 dnl     if test "${SYS}" != "mingw32"; then
4062 dnl       VLC_ADD_CFLAGS([gtk],[`${GTK_CONFIG} --cflags gtk gthread`])
4063 dnl       VLC_ADD_LDFLAGS([gtk],[`${GTK_CONFIG} --libs gtk gthread | sed 's,-rdynamic,,'`])
4064 dnl     else
4065 dnl       VLC_ADD_CFLAGS([gtk],[`${GTK_CONFIG} --cflags gtk`])
4066 dnl       VLC_ADD_LDFLAGS([gtk],[`${GTK_CONFIG} --libs gtk | sed 's,-rdynamic,,'`])
4067 dnl     fi
4068 dnl     # now look for the gtk.h header
4069 dnl     CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_gtk}"
4070 dnl     ac_cv_gtk_headers=yes
4071 dnl     AC_CHECK_HEADERS(gtk/gtk.h glib.h gdk/gdk.h, , [
4072 dnl       ac_cv_gtk_headers=no
4073 dnl       echo "Cannot find gtk development headers."
4074 dnl     ])
4075 dnl     if test "${ac_cv_gtk_headers}" = "yes"
4076 dnl     then
4077 dnl       VLC_ADD_PLUGINS([gtk])
4078 dnl       if test "${SYS}" != "mingw32"; then
4079 dnl         NEED_GTK_MAIN=yes
4080 dnl       fi
4081 dnl       ALIASES="${ALIASES} gvlc"
4082 dnl     fi
4083 dnl     CPPFLAGS="${CPPFLAGS_save}"
4084 dnl   fi
4085 dnl fi
4086 dnl 
4087 dnl
4088 dnl  Gtk+2 module ! Disabled for now as it is unusable and confuses users
4089 dnl
4090 dnl AC_ARG_ENABLE(gtk2,
4091 dnl   [  --enable-gtk2           Gtk2 support (default disabled)])
4092 dnl if test "${enable_gtk2}" = "yes"
4093 dnl then
4094 dnl   PKG_CHECK_MODULES(GTK2, [gtk+-2.0 >= 2.0.0, gthread-2.0])
4095 dnl   VLC_ADD_CFLAGS([gtk2],[${GTK2_CFLAGS}])
4096 dnl   VLC_ADD_LDFLAGS([gtk2],[${GTK2_LIBS}])
4097 dnl   VLC_ADD_PLUGINS([gtk2])
4098 dnl   if test "${SYS}" != "mingw32"; then
4099 dnl     NEED_GTK2_MAIN=yes
4100 dnl   fi
4101 dnl fi
4102
4103 dnl
4104 dnl  PDA Gtk+2 module
4105 dnl
4106 AC_ARG_ENABLE(pda,
4107   [  --enable-pda            PDA interface needs Gtk2 support (default disabled)])
4108 if test "${enable_pda}" = "yes"
4109 then
4110   PKG_CHECK_MODULES(GTK2, [gtk+-2.0 >= 2.0.0, gthread-2.0])
4111   VLC_ADD_CFLAGS([gtk2],[${GTK2_CFLAGS}])
4112   VLC_ADD_LDFLAGS([gtk2],[${GTK2_LIBS}])
4113   VLC_ADD_CFLAGS([pda],[${GTK2_CFLAGS} ${CFLAGS_pda}])
4114   VLC_ADD_LDFLAGS([pda],[${GTK2_LIBS} ${LDFLAGS_pda}])
4115   VLC_ADD_PLUGINS([pda])
4116   if test "${SYS}" != "mingw32"; then
4117     NEED_GTK2_MAIN=yes
4118   fi
4119 fi
4120
4121 dnl dnl
4122 dnl dnl  Gnome module
4123 dnl dnl
4124 dnl AC_ARG_ENABLE(gnome,
4125 dnl   [  --enable-gnome          Gnome interface support (default disabled)],
4126 dnl   [if test "${enable_gnome}" = "yes"; then
4127 dnl     # look for gnome-config
4128 dnl     AC_PATH_PROG(GNOME_CONFIG, gnome-config, no)
4129 dnl     if test -x ${GNOME_CONFIG}
4130 dnl     then
4131 dnl        VLC_ADD_CFLAGS([gnome],[`${GNOME_CONFIG} --cflags gtk gnomeui`])
4132 dnl        VLC_ADD_LDFLAGS([gnome],[`${GNOME_CONFIG} --libs gnomeui | sed 's,-rdynamic,,'`])
4133 dnl     fi
4134 dnl     # now look for the gnome.h header
4135 dnl     CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_gnome}"
4136 dnl     AC_CHECK_HEADERS(gnome.h, [
4137 dnl       VLC_ADD_PLUGINS([gnome])
4138 dnl       NEED_GTK_MAIN=yes
4139 dnl       NEED_GNOME_MAIN=yes
4140 dnl       ALIASES="${ALIASES} gnome-vlc"
4141 dnl       dnl We need this because of some moronic gnomesupport.h flavours
4142 dnl       AC_MSG_CHECKING(for strndup in gnome.h)
4143 dnl       AC_EGREP_HEADER(strndup,gnome.h,[
4144 dnl         AC_MSG_RESULT(yes)
4145 dnl         AC_DEFINE(STRNDUP_IN_GNOME_H, 1,
4146 dnl                   Define if <gnome.h> defines strndup.)],[
4147 dnl         AC_MSG_RESULT(no)])
4148 dnl      ],[
4149 dnl       AC_MSG_ERROR([Can't find gnome headers. Please install the gnome
4150 dnl developement tools or remove the --enable-gnome option])
4151 dnl      ])
4152 dnl     CPPFLAGS="${CPPFLAGS_save}"
4153 dnl   fi])
4154
4155 dnl
4156 dnl  Gnome2 module ! Disabled for know as it is unuseable and confuses users
4157 dnl
4158 dnl AC_ARG_ENABLE(gnome2,
4159 dnl   [  --enable-gnome2         Gnome2 support (default disabled)])
4160 dnl if test "${enable_gnome2}" = "yes"
4161 dnl then
4162 dnl   PKG_CHECK_MODULES(GNOME2, [libgnomeui-2.0])
4163 dnl   VLC_ADD_CFLAGS([gnome2],[${GNOME2_CFLAGS}])
4164 dnl   VLC_ADD_LDFLAGS([gnome2],[${GNOME2_LIBS}])
4165 dnl   VLC_ADD_PLUGINS([gnome2])
4166 dnl   if test "${SYS}" != "mingw32"; then
4167 dnl     NEED_GNOME2_MAIN=yes
4168 dnl   fi
4169 dnl fi
4170
4171 dnl
4172 dnl  wxWidgets module
4173 dnl
4174 AC_ARG_ENABLE(wxwidgets,
4175   [  --enable-wxwidgets      wxWidgets support (default enabled)])
4176 if test "${enable_wxwindows}" 
4177 then
4178   AC_MSG_WARN(--{en|dis}able-wxwindows is deprecated. Use --{en|dis}able-wxwidgets instead.)
4179 fi
4180
4181 if test "${enable_wxwindows}" = "no"
4182 then
4183   enable_wxwidgets="no"
4184 fi
4185 if test "${enable_wxwidgets}" != "no"
4186 then
4187   WXWIDGETS_PATH="${PATH}"
4188   AC_ARG_WITH(wx-config-path,
4189     [    --with-wx-config-path=PATH wx-config path (default search in \$PATH)],
4190     [ if test "${with_wx_config_path}" != "no"
4191       then
4192         WXWIDGETS_PATH="${with_wx_config_path}:${PATH}"
4193       fi ])
4194   WXWIDGETS_NAME="wx-config"
4195   AC_ARG_WITH(wx-config,
4196     [    --with-wx-config=NAME      wx-config name (default is wx-config)],
4197     [ if test "${with_wx_config}" != "no"
4198       then
4199         WXWIDGETS_NAME="${with_wx_config}"
4200       fi ])
4201   # look for wx-config
4202   AC_PATH_PROG(WX_CONFIG, ${WXWIDGETS_NAME}, no, ${WXWIDGETS_PATH})
4203   if test "${WX_CONFIG}" != "no" -a "${CXX}" != ""
4204   then
4205     if expr 2.3.0 \> `${WX_CONFIG} --version` >/dev/null
4206     then
4207       AC_MSG_ERROR([Your development package for wxWidgets is too old, you need at least version 2.3.0. Please upgrade and try again. Alternatively you can also configure with --disable-wxwidgets.])
4208     fi
4209     AC_LANG_PUSH(C++)
4210     # Turn this error:
4211     #   playlist.cpp:1351: error: ISO C++ forbids cast to non-reference type
4212     # into a warning. However better would be to fix playlist.cpp
4213     AC_CACHE_CHECK([if \$CXX accepts -fpermissive],
4214         [ac_cv_cxx_fpermissive],
4215         [CXXFLAGS="${CXXFLAGS_save} -fpermissive"
4216          AC_TRY_COMPILE([],,ac_cv_cxx_fpermissive=yes,
4217                         ac_cv_cxx_fpermissive=no)])
4218     if test "${ac_cv_cxx_fpermissive}" = "yes"; then
4219       VLC_ADD_CXXFLAGS([wxwidgets],-fpermissive)
4220     fi
4221     VLC_ADD_LDFLAGS([wxwidgets],[`${WX_CONFIG} --libs`])
4222     VLC_ADD_CXXFLAGS([wxwidgets],[`${WX_CONFIG} --cxxflags`])
4223     if ${WX_CONFIG} --unicode
4224     then 
4225       # wxwidgets should provide the following flags but does not
4226       # the following is required to compile for win32
4227       VLC_ADD_CXXFLAGS([wxwidgets],[-D_UNICODE -DUNICODE])
4228     fi
4229     if test "$have_libcdio" = "yes"
4230     then 
4231       VLC_ADD_LDFLAGS([wxwidgets],[$LIBCDIO_LIBS])
4232       VLC_ADD_CXXFLAGS([wxwidgets],[$LIBCDIO_CFLAGS])
4233     else 
4234       AC_MSG_WARN([Probe disc disabled because ok libcdio library not found])
4235     fi
4236
4237     if test "$have_libvcdinfo" = "yes"
4238     then 
4239       VLC_ADD_LDFLAGS([wxwidgets],[$VCDINFO_LIBS])
4240       VLC_ADD_CXXFLAGS([wxwidgets],[$VCDINFO_CFLAGS])
4241     else 
4242       AC_MSG_WARN([VCD information on Probe disc disabled because ok libvcdinfo not found])
4243     fi
4244
4245     # now look for the wxprec.h header
4246     CPPFLAGS="${CPPFLAGS_save} ${CXXFLAGS_wxwidgets}"
4247     ac_cv_wx_headers=yes
4248     AC_CHECK_HEADERS(wx/wxprec.h, , [
4249       ac_cv_wx_headers=no
4250       echo "Cannot find wxWidgets development headers."
4251     ])
4252     if test "${ac_cv_wx_headers}" = "yes"
4253     then
4254       VLC_ADD_PLUGINS([wxwidgets])
4255       ALIASES="${ALIASES} wxvlc"
4256     fi
4257     CPPFLAGS="${CPPFLAGS_save}"
4258     AC_LANG_POP(C++)
4259   fi
4260 fi
4261
4262 dnl
4263 dnl  WinCE GUI module
4264 dnl
4265 if test "${SYS}" = "mingwce"; then
4266   VLC_ADD_BUILTINS([wince])
4267   VLC_ADD_CXXFLAGS([wince],[])
4268   VLC_ADD_LDFLAGS([wince],[-lcommctrl -lcommdlg -laygshell])
4269   dnl Gross hack
4270   VLC_ADD_LDFLAGS([wince],[\\\${top_builddir}modules/gui/wince/wince_rc.o])
4271 elif test "${SYS}" = "mingw32"; then
4272   VLC_ADD_CXXFLAGS([wince],[])
4273   VLC_ADD_LDFLAGS([wince],[-lcomctl32 -lcomdlg32 -lgdi32 -lole32])
4274   dnl Gross hack
4275   VLC_ADD_LDFLAGS([wince],[\\\${top_builddir}modules/gui/wince/wince_rc.o])
4276 fi
4277
4278 dnl
4279 dnl Simple test for skins2 dependency
4280 dnl
4281 if test "${enable_skins2}" != "no"
4282 then
4283   if test "${WX_CONFIG}" = "no"
4284   then
4285     AC_MSG_ERROR([The skins2 module depends on the wxWidgets development package. Without it you won't be able to open any dialog box from the interface, which makes the skins2 interface rather useless. Install the wxWidgets development package or alternatively you can also configure with: --disable-wxwidgets --disable-skins2.])
4286   fi
4287 fi
4288
4289 dnl dnl
4290 dnl dnl  Qt module
4291 dnl dnl
4292 dnl AC_ARG_ENABLE(qt,
4293 dnl   [  --enable-qt             Qt interface support (default disabled)],
4294 dnl   [if test "${enable_qt}" = "yes"; then
4295 dnl      VLC_ADD_PLUGINS([qt])
4296 dnl      ALIASES="${ALIASES} qvlc"
4297 dnl      VLC_ADD_LDFLAGS([qt],[-L${QTDIR}/lib])
4298 dnl      LDFLAGS="${LDFLAGS_save} ${LDFLAGS_qt}"
4299 dnl      AC_CHECK_LIB(qt-mt,main,[
4300 dnl        VLC_ADD_LDFLAGS([qt],[-lqt-mt])
4301 dnl      ],[
4302 dnl        AC_CHECK_LIB(qt,main,[
4303 dnl          VLC_ADD_LDFLAGS([qt],[-lqt])
4304 dnl        ])
4305 dnl      ])
4306 dnl      LDFLAGS="${LDFLAGS_save}"
4307 dnl      VLC_ADD_CXXFLAGS([qt],[-I/usr/include/qt3 -I/usr/include/qt -I${QTDIR}/include])
4308 dnl      if test -x ${QTDIR}/bin/moc
4309 dnl      then
4310 dnl        MOC=${QTDIR}/bin/moc
4311 dnl      else
4312 dnl        MOC=moc
4313 dnl      fi
4314 dnl    fi])
4315 dnl 
4316 dnl dnl
4317 dnl dnl  KDE module
4318 dnl dnl
4319 dnl AC_ARG_ENABLE(kde,
4320 dnl   [  --enable-kde            KDE interface support (default disabled)],
4321 dnl   [if test "${enable_kde}" = "yes"; then
4322 dnl      VLC_ADD_PLUGINS([kde])
4323 dnl      ALIASES="${ALIASES} kvlc"
4324 dnl      VLC_ADD_LDFLAGS([kde],[-L${KDEDIR}/lib])
4325 dnl      dnl Check for -lkfile (only in KDE 2) or -lkdeui -lkio (KDE 3)
4326 dnl      LDFLAGS="${LDFLAGS_save} ${LDFLAGS_kde}"
4327 dnl      AC_CHECK_LIB(kfile,main,[
4328 dnl        VLC_ADD_LDFLAGS([kde],[-lkfile])
4329 dnl      ])
4330 dnl      LDFLAGS="${LDFLAGS_save} ${LDFLAGS_kde}"
4331 dnl      AC_CHECK_LIB(kdeui,main,[
4332 dnl        VLC_ADD_LDFLAGS([kde],[-lkdeui])
4333 dnl      ])
4334 dnl      LDFLAGS="${LDFLAGS_save} ${LDFLAGS_kde}"
4335 dnl      AC_CHECK_LIB(kio,main,[
4336 dnl        VLC_ADD_LDFLAGS([kde],[-lkio])
4337 dnl      ])
4338 dnl      LDFLAGS="${LDFLAGS_save}"
4339 dnl      VLC_ADD_CXXFLAGS([kde],[-I/usr/include/kde -I/usr/include/qt3 -I/usr/include/qt])
4340 dnl      VLC_ADD_CXXFLAGS([kde],[-I${KDEDIR}/include -I${QTDIR}/include])
4341 dnl      if test -x ${QTDIR}/bin/moc
4342 dnl      then
4343 dnl        MOC=${QTDIR}/bin/moc
4344 dnl      else
4345 dnl        MOC=moc
4346 dnl      fi
4347 dnl    fi])
4348
4349 dnl
4350 dnl  Opie QT embedded module
4351 dnl
4352 AC_ARG_ENABLE(opie,
4353   [  --enable-opie           Qt embedded interface support (default disabled)],
4354   [if test "${enable_opie}" = "yes"; then
4355      AC_ARG_WITH(qte,
4356      [    --with-qte=PATH       Qt Embedded headers and libraries])
4357      if test "${with_qte}" != "no" -a -n "${with_qte}"
4358      then
4359        VLC_ADD_LDFLAGS([qte],[-L${with_qte}/lib `echo -L${with_qte}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte])
4360        VLC_ADD_CXXFLAGS([qte],[-I${with_qte}/include `echo -I${with_qte}/include | sed 's,opt/QtPalmtop,usr,'` -DQT_QWS_IPAQ -DQWS -fno-exceptions -fno-rtti])
4361      else
4362        VLC_ADD_LDFLAGS([qte],[-L${QTDIR}/lib `echo -L${QTDIR}/lib | sed 's,opt/QtPalmtop,usr,'`])
4363        VLC_ADD_CXXFLAGS([qte],[-I${QTDIR}/include `echo -I${QTDIR}/include | sed 's,opt/QtPalmtop,usr,'`])
4364      fi
4365      CPPFLAGS="${CPPFLAGS_save} ${CXXFLAGS_qte}"
4366      AC_CHECK_HEADERS(qt.h jpeglib.h, ,[
4367        AC_MSG_ERROR([echo "Cannot find QT Embedded development headers."])
4368      ] )
4369      CPPFLAGS="${CPPFLAGS_save}"
4370
4371      VLC_ADD_PLUGINS([opie])
4372      NEED_QTE_MAIN=yes
4373      VLC_ADD_LDFLAGS([opie],[-lqpe ${LDFLAGS_qte}])
4374      VLC_ADD_CXXFLAGS([opie],[${CXXFLAGS_qte}])
4375      if test "${with_qte}" != "no" -a -n "${with_qte}"
4376      then
4377        MOC=${with_qte}/bin/moc
4378      else
4379        MOC=${QTDIR}/bin/moc
4380      fi
4381    fi])
4382
4383 dnl
4384 dnl  MacOS X module
4385 dnl
4386 AC_ARG_ENABLE(macosx,
4387   [  --enable-macosx         MacOS X support (default enabled on MacOS X)],
4388   [if test "${enable_macosx}" = "yes"
4389    then
4390      VLC_ADD_BUILTINS([macosx])
4391      VLC_ADD_LDFLAGS([macosx],[-framework IOKit -framework Cocoa -framework Carbon -framework QuickTime -lobjc -ObjC -framework OpenGL])
4392    fi],
4393   [AC_CHECK_HEADERS(Cocoa/Cocoa.h,
4394      VLC_ADD_BUILTINS([macosx])
4395      VLC_ADD_LDFLAGS([macosx],[-framework IOKit -framework Cocoa -framework Carbon -framework QuickTime -lobjc -ObjC -framework OpenGL])
4396    )])
4397
4398 dnl
4399 dnl  QNX RTOS module
4400 dnl
4401 AC_ARG_ENABLE(qnx,
4402   [  --enable-qnx            QNX RTOS support (default enabled on QNX RTOS)])
4403     if test "${enable_qnx}" != "no"
4404     then
4405       AC_CHECK_HEADERS(Ph.h, [
4406         VLC_ADD_PLUGINS([qnx])
4407         VLC_ADD_LDFLAGS([qnx],[-lasound -lph])
4408       ])
4409     fi
4410
4411 dnl
4412 dnl  ncurses module
4413 dnl
4414 AC_ARG_ENABLE(ncurses,
4415   [  --enable-ncurses        ncurses interface support (default disabled)],
4416   [if test "${enable_ncurses}" = "yes"; then
4417      VLC_ADD_PLUGINS([ncurses])
4418      VLC_ADD_LDFLAGS([ncurses],[-lncurses])
4419    fi])
4420
4421 dnl
4422 dnl  XOSD plugin
4423 dnl
4424 AC_ARG_ENABLE(xosd,
4425   [  --enable-xosd           xosd interface support (default disabled)])
4426 if test "${enable_xosd}" = "yes"
4427 then
4428   AC_CHECK_HEADER(xosd.h, have_xosd="true", have_xosd="false")
4429   AC_CHECK_LIB(xosd,xosd_set_offset,
4430       AC_DEFINE(HAVE_XOSD_VERSION_1, 1, Define if <xosd.h> is 1.0.x),
4431     AC_CHECK_LIB(xosd,xosd_set_horizontal_offset,
4432         AC_DEFINE(HAVE_XOSD_VERSION_2, 1, Define if <xosd.h> is 2.0.x),
4433       AC_TRY_COMPILE([#include <xosd.h>],
4434          [void foo() { xosd_init("foo","bar",12,XOSD_top,2,12,42); }],,
4435           AC_DEFINE(HAVE_XOSD_VERSION_0, 1, Define if <xosd.h> is pre-1.0.0))))
4436   if test "${have_xosd}" = "true"
4437   then
4438     VLC_ADD_PLUGINS([xosd])
4439     VLC_ADD_LDFLAGS([xosd],[-lxosd])
4440   fi
4441 fi
4442
4443 dnl
4444 dnl Visualisation plugin
4445 dnl
4446 AC_ARG_ENABLE(visual,
4447   [  --enable-visual         visualisation plugin (default enabled)])
4448 if test "${enable_visual}" != "no"
4449 then
4450     VLC_ADD_PLUGINS([visual])
4451 fi
4452
4453 dnl
4454 dnl OpenGL visualisation plugin
4455 dnl
4456 AC_ARG_ENABLE(galaktos,
4457   [  --enable-galaktos       OpenGL visualisation plugin (default disabled)])
4458 if test "${enable_galaktos}" = "yes"
4459 then
4460   AC_CHECK_HEADERS(GL/gl.h, [
4461     VLC_ADD_PLUGINS([galaktos])
4462     if test "${SYS}" != "mingw32"; then
4463       VLC_ADD_LDFLAGS([galaktos],[-L${x_libraries} -lGL -lGLU])
4464     else
4465       VLC_ADD_LDFLAGS([galaktos],[-lopengl32])
4466     fi
4467   ])
4468 fi
4469
4470 dnl
4471 dnl  goom visualization plugin
4472 dnl
4473 AC_ARG_ENABLE(goom,
4474 [  --enable-goom           goom visualisation plugin (default disabled)])
4475 if test "${enable_goom}" = "yes"
4476 then
4477   AC_ARG_WITH(goom-tree,
4478     [    --with-goom-tree=PATH goom tree for static linking (required)])
4479
4480   dnl
4481   dnl test for --with-goom-tree
4482   dnl
4483   if test "${with_goom_tree}" != "no" -a -n "${with_goom_tree}"; then
4484     AC_MSG_CHECKING(for libgoom2.a in ${with_goom_tree})
4485     real_goom_tree="`cd ${with_goom_tree} 2>/dev/null && pwd`"
4486     if test -z "${real_goom_tree}"; then
4487       dnl  The given directory can't be found
4488       AC_MSG_RESULT(no)
4489       AC_MSG_ERROR([cannot cd to ${with_goom_tree}])
4490     fi
4491     if test -f "${real_goom_tree}/src/.libs/libgoom2.a"; then
4492       AC_MSG_RESULT(${real_goom_tree}/src/.libs/libgoom2.a)
4493       VLC_ADD_BUILTINS([goom])
4494       VLC_ADD_LDFLAGS([goom],[-L${real_goom_tree}/src/.libs -lgoom2])
4495       VLC_ADD_CPPFLAGS([goom],[-I${real_goom_tree}/src -DUSE_GOOM_TREE])
4496     else
4497       dnl  The given libgoom2 wasn't built, try to look for the old goom
4498       AC_MSG_RESULT(no)
4499       AC_MSG_CHECKING(for libgoom.a in ${with_goom_tree})
4500       if test -f "${real_goom_tree}/libgoom.a"; then
4501         AC_MSG_RESULT(${real_goom_tree}/libgoom.a)
4502         VLC_ADD_BUILTINS([goom])
4503         VLC_ADD_LDFLAGS([goom],[-L${real_goom_tree} -lgoom])
4504         VLC_ADD_CPPFLAGS([goom],[-I${real_goom_tree} -DUSE_GOOM_TREE -DOLD_GOOM])
4505       else
4506         dnl  The given libgoom wasn't built
4507         AC_MSG_RESULT(no)
4508         AC_MSG_ERROR([cannot find ${real_goom_tree}/src/.libs/libgoom2.a, make sure you compiled goom in ${with_goom_tree}])
4509       fi
4510     fi
4511   else
4512     AC_CHECK_HEADERS(goom/goom.h, [
4513       LDFLAGS="${LDFLAGS_save} ${LDFLAGS_goom}"
4514       AC_CHECK_LIB(goom2, goom_init, [
4515         VLC_ADD_PLUGINS([goom])
4516         VLC_ADD_LDFLAGS([goom],[-lgoom2])
4517       ],[
4518         AC_MSG_ERROR([Could not find goom on your system: you may get it from http://www.ios-software.com/.])
4519       ])
4520       LDFLAGS="${LDFLAGS_save}"
4521     ])
4522   fi
4523 fi
4524
4525 dnl
4526 dnl  SLP access plugin
4527 dnl
4528 AC_ARG_ENABLE(slp,
4529   [  --enable-slp            SLP service discovery support (default disabled)])
4530 if test "${enable_slp}" = "yes"
4531 then
4532   AC_ARG_WITH(slp,
4533   [    --with-slp=PATH       libslp headers and libraries])
4534   if test -z "${with_slp}"
4535   then
4536     AC_CHECK_HEADERS(slp.h, have_slp="true", have_slp="false")
4537     if test "${have_slp}" = "true"
4538     then
4539       VLC_ADD_PLUGINS([slp])
4540       VLC_ADD_LDFLAGS([slp],[-lslp])
4541       VLC_ADD_LDFLAGS([stream_out_standard],[-lslp])
4542     fi
4543   else
4544     AC_MSG_CHECKING(for slp headers in ${with_slp})
4545     if test -f ${with_slp}/slp.h
4546     then
4547       dnl  Use ${with_slp}/libslp/slp.h
4548       AC_MSG_RESULT(yes)
4549       VLC_ADD_PLUGINS([slp])
4550       VLC_ADD_LDFLAGS([slp],[-L${with_slp} -lslp])
4551       VLC_ADD_LDFLAGS([stream_out_standard],[-L${with_slp} -lslp])
4552       VLC_ADD_CPPFLAGS([slp],[-I${with_slp}])
4553       AC_DEFINE(HAVE_SLP_H)
4554     else
4555       dnl  No libslp could be found, sorry
4556       AC_MSG_RESULT(no)
4557       AC_MSG_ERROR([cannot find ${with_slp}/slp.h])
4558     fi
4559   fi
4560 fi
4561
4562 dnl
4563 dnl DAAP access plugin and services discovery 
4564 dnl
4565 AC_ARG_ENABLE(daap,
4566   [  --enable-daap                DAAP shares services discovery support (default enabled)])
4567 if test "$enable_daap" != "no"
4568 then
4569    PKG_CHECK_MODULES(DAAP, opendaap >= 0.3.0,
4570       [ VLC_ADD_PLUGINS([daap])
4571        VLC_ADD_LDFLAGS([daap],[$DAAP_LIBS])
4572        VLC_ADD_CFLAGS([daap],[$DAAP_CFLAGS])]:,
4573       [AC_MSG_WARN(DAAP library not found)])
4574 fi
4575
4576 dnl
4577 dnl  Bonjour services discovery
4578 dnl
4579 AC_ARG_ENABLE(bonjour,
4580   [  --enable-bonjour        Bonjour services discovery (default enabled)])
4581 if test "${enable_bonjour}" != "no"
4582 then
4583   PKG_CHECK_MODULES(BONJOUR, avahi-client >= 0.3,
4584     [AC_DEFINE(HAVE_AVAHI_CLIENT, [], [Define if you have the avahi-client library])
4585       VLC_ADD_LDFLAGS([bonjour access_output_http],[$BONJOUR_LIBS])
4586       VLC_ADD_CFLAGS([bonjour access_output_http],[$BONJOUR_CFLAGS])
4587       VLC_ADD_PLUGINS([bonjour]) ],
4588     [AC_MSG_WARN(avahi-client library not found)])
4589 fi
4590
4591 dnl
4592 dnl  Lirc plugin
4593 dnl
4594 AC_ARG_ENABLE(lirc,
4595   [  --enable-lirc           lirc support (default disabled)])
4596 if test "${enable_lirc}" = "yes"
4597 then
4598   AC_CHECK_HEADER(lirc/lirc_client.h, AC_CHECK_LIB(lirc_client, lirc_init, have_lirc="true", have_lirc="false"),have_lirc="false")
4599   if test "${have_lirc}" = "true"
4600   then
4601     VLC_ADD_PLUGINS([lirc])
4602     VLC_ADD_LDFLAGS([lirc],[-llirc_client])
4603   fi
4604 fi
4605
4606
4607 dnl
4608 dnl corba (ORBit) plugin
4609 dnl
4610 dnl Default: do not enable corba
4611 enablecorba=false
4612 AC_ARG_ENABLE(corba,
4613   [  --enable-corba          corba interface support (default disabled)])
4614 if test "${enable_corba}" = "yes"; then
4615       GLIB_VERSION=2.3.2
4616       PKG_CHECK_MODULES(CORBA, 
4617         ORBit-2.0 >= 2.8.0 \
4618         glib-2.0 >= $GLIB_VERSION \
4619         gobject-2.0 >= $GLIB_VERSION \
4620         gthread-2.0 >= $GLIB_VERSION,
4621         [
4622           enablecorba=true
4623           VLC_ADD_LDFLAGS([corba],[$CORBA_LIBS])
4624           VLC_ADD_CFLAGS([corba],[$CORBA_CFLAGS])
4625           VLC_ADD_PLUGINS([corba snapshot]) ],
4626         [ enablecorba=false
4627           AC_MSG_WARN(corba library not found) ])
4628 fi
4629 AM_CONDITIONAL(ENABLE_CORBA, test "$enablecorba" = "true")
4630
4631 AC_ARG_WITH(,[Misc options:])
4632
4633 dnl
4634 dnl  Endianness check, AC_C_BIGENDIAN doesn't work if we are cross-compiling
4635 dnl
4636 dnl  We give the user the opportunity to specify
4637 dnl  --with-words=big or --with-words=little ; otherwise, try to guess
4638 dnl
4639 AC_ARG_WITH(words,
4640   [    --with-words=endianness set endianness (big or little)])
4641   case "${with_words}" in
4642     big)
4643       ac_cv_c_bigendian=yes
4644       ;;
4645     little)
4646       ac_cv_c_bigendian=no
4647       ;;
4648     *)
4649       dnl  Try to guess endianness by matching patterns on a compiled
4650       dnl  binary, by looking for an ASCII or EBCDIC string
4651       AC_CACHE_CHECK([whether the byte order is big-endian],
4652         [ac_cv_c_bigendian],
4653         [ac_cv_c_bigendian="unknown"
4654         [cat >conftest.c <<EOF
4655         short am[] = { 0x4249, 0x4765, 0x6e44, 0x6961, 0x6e53, 0x7953, 0 };
4656         short ai[] = { 0x694c, 0x5454, 0x656c, 0x6e45, 0x6944, 0x6e61, 0 };
4657         void _a(void) { char*s = (char*)am; s = (char *)ai; }
4658         short ei[] = { 0x89D3, 0xe3e3, 0x8593, 0x95c5, 0x89c4, 0x9581, 0 };
4659         short em[] = { 0xc2c9, 0xc785, 0x95c4, 0x8981, 0x95e2, 0xa8e2, 0 };
4660         void _e(void) { char*s = (char*)em; s = (char*)ei; }
4661         int main(void) { _a(); _e(); return 0; }
4662 EOF
4663         ]
4664         if test -f conftest.c
4665         then
4666           if ${CC-cc} -c conftest.c -o conftest.o >>config.log 2>&1 \
4667               && test -f conftest.o
4668           then
4669             if test "`strings conftest.o | grep BIGenDianSyS`"
4670             then
4671               ac_cv_c_bigendian="yes"
4672             fi
4673             if test "`strings conftest.o | grep LiTTleEnDian`"
4674             then
4675               ac_cv_c_bigendian="no"
4676             fi
4677           fi
4678         fi
4679       ])
4680       if test "${ac_cv_c_bigendian}" = "unknown"
4681       then
4682         AC_MSG_ERROR([Could not guess endianness, please use --with-words])
4683       fi
4684       ;;
4685   esac
4686 dnl  Now we know what to use for endianness, just put it in the header
4687 if test "${ac_cv_c_bigendian}" = "yes"
4688 then
4689   AC_DEFINE(WORDS_BIGENDIAN, 1, big endian system)
4690 fi
4691
4692 dnl
4693 dnl  DLL loader copied from MPlayer copied from somewhere else (WINE ?)
4694 dnl
4695 loader=false
4696 AC_ARG_ENABLE(loader,
4697   [  --enable-loader         build DLL loader for ELF i386 platforms (default disabled)])
4698 AM_CONDITIONAL(LOADER, [test "${enable_loader}" = "yes"])
4699 AS_IF([test "${enable_loader}" = "yes"],
4700   [ VLC_ADD_PLUGINS([dmo quicktime])
4701     VLC_ADD_CPPFLAGS([dmo],[-I../../../@top_srcdir@/loader])
4702     VLC_ADD_LDFLAGS([dmo],[../../../loader/libloader.a])
4703     VLC_ADD_CPPFLAGS([quicktime],[-I../../@top_srcdir@/loader])
4704     VLC_ADD_LDFLAGS([quicktime],[../../loader/libloader.a])
4705     VLC_ADD_CPPFLAGS([realaudio],[-I../../@top_srcdir@/loader -DLOADER])
4706     VLC_ADD_LDFLAGS([realaudio],[../../loader/libloader.a])
4707   ])
4708
4709 dnl
4710 dnl  Microsoft ActiveX support
4711 dnl
4712 activex=false
4713 AC_ARG_ENABLE(activex,
4714   [  --enable-activex        build a vlc-based ActiveX control (default enabled on Win32)])
4715 if test "${enable_activex}" != "no"
4716 then
4717   if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
4718   then
4719     AC_CHECK_PROGS(MIDL, [midl widl], no)
4720     AC_CHECK_HEADERS(ole2.h olectl.h,
4721       [ VLC_ADD_CXXFLAGS([activex],[-fno-exceptions])
4722         VLC_ADD_LDFLAGS([activex],[-lole32 -loleaut32 -luuid -lshlwapi]) 
4723         AC_CHECK_HEADERS(objsafe.h,
4724           VLC_ADD_CXXFLAGS([activex],[-DHAVE_OBJSAFE_HEADER])
4725         )
4726         activex=:
4727       ],
4728       [ AC_MSG_ERROR([required OLE headers are missing from your system]) ]
4729     )
4730   fi
4731 fi
4732 AC_ARG_VAR(MIDL, [Microsoft IDL compiler (Win32 platform only)])
4733 AM_CONDITIONAL(HAS_MIDL_COMPILER, test "${MIDL}" != "no")
4734 AM_CONDITIONAL(BUILD_ACTIVEX,${activex})
4735
4736 dnl
4737 dnl  Mozilla plugin
4738 dnl
4739 mozilla=false
4740 AC_ARG_ENABLE(mozilla,
4741   [  --enable-mozilla        build a vlc-based Mozilla plugin (default disabled)])
4742 AC_ARG_WITH(mozilla-sdk-path,
4743   [    --with-mozilla-sdk-path=PATH path to mozilla sdk])
4744
4745 if test "${enable_mozilla}" = "yes" -a "${with_mozilla_sdk_path}" = ""
4746 then
4747   AC_PATH_PROG(MOZILLA_CONFIG, mozilla-config, no)
4748   if test "${MOZILLA_CONFIG}" = "no"
4749   then
4750     AC_MSG_ERROR([Please install the Mozilla development tools, mozilla-config was not found.])
4751   else
4752     if test "${SYS}" != "mingw32"; then
4753       LDFLAGS="${LDFLAGS_save} -L${x_libraries}"
4754       AC_CHECK_LIB(Xt,XtStrings,
4755        [VLC_ADD_LDFLAGS([mozilla],[-L${x_libraries} -lXt -lX11 -lSM -lICE])],
4756        [],
4757        [[-L${x_libraries} -lX11 -lSM -lICE]
4758       ])
4759       LDFLAGS="${LDFLAGS_save}"
4760     fi
4761     mozilla=:
4762     dnl Workaround for http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=150490
4763     VLC_ADD_CPPFLAGS([mozilla],[[`${MOZILLA_CONFIG} --cflags plugin xpcom java | sed 's,-I\([^ ]*\)/mozilla/\([^ ]*\),-I\1/\2 -I\1/mozilla/\2,g' | xargs`]])
4764     VLC_ADD_LDFLAGS([mozilla],[`${MOZILLA_CONFIG} --libs plugin xpcom`])
4765     CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_mozilla}"
4766     AC_CHECK_HEADERS(mozilla-config.h)
4767     CPPFLAGS="${CPPFLAGS_save}"
4768   fi
4769
4770 dnl special case for mingw32
4771 elif test "${enable_mozilla}" = "yes"
4772 then
4773   if test "${SYS}" = "mingw32"; then
4774     AC_CHECK_TOOL(CYGPATH, cygpath, "")
4775     mozilla_sdk_xpcom="/xpcom"
4776   fi
4777
4778   real_mozilla_sdk="`cd ${with_mozilla_sdk_path} 2>/dev/null && pwd`"
4779   CPPFLAGS="${CPPFLAGS_save} -I${real_mozilla_sdk} -I${real_mozilla_sdk}/include"
4780   AC_CHECK_HEADERS(mozilla-config.h, [
4781     mozilla=:
4782     VLC_ADD_CPPFLAGS([mozilla],[-DXPCOM_GLUE -I${real_mozilla_sdk} -I${real_mozilla_sdk}/include -I${real_mozilla_sdk}/embedstring/include -I${real_mozilla_sdk}/xpcom/include -I${real_mozilla_sdk}/nspr/include -I${real_mozilla_sdk}/string/include -I${real_mozilla_sdk}/plugin/include -I${real_mozilla_sdk}/java/include])
4783     VLC_ADD_LDFLAGS([mozilla],[-L${real_mozilla_sdk}/embedstring/bin -L${real_mozilla_sdk}/xpcom/bin -L${real_mozilla_sdk}/nspr/bin -L${real_mozilla_sdk}/string/bin -L${real_mozilla_sdk}/lib -lnspr4 -lplds4 -lplc4 -lxpcomglue])
4784     if test "${SYS}" = "mingw32"; then
4785       VLC_ADD_LDFLAGS([mozilla],[-lembedstring -Wl,--kill-at])
4786     fi
4787
4788     XPIDL_INCL="-I${real_mozilla_sdk}${mozilla_sdk_xpcom}/idl"
4789     XPIDL="${real_mozilla_sdk}${mozilla_sdk_xpcom}/bin/xpidl"
4790
4791     if test -n "${CYGPATH}"; then
4792       real_mozilla_sdk="`${CYGPATH} -w ${real_mozilla_sdk}`"
4793       XPIDL_INCL="${XPIDL_INCL} -I\"${real_mozilla_sdk}${mozilla_sdk_xpcom}/idl\""
4794     fi ])
4795   CPPFLAGS="${CPPFLAGS_save}"
4796 fi
4797
4798 dnl Not necessarily in ${PATH}
4799 if test -z "${XPIDL}" -o ! -x "${XPIDL}"; then
4800   XPIDL="/usr/lib/mozilla/xpidl"
4801 fi
4802 AS_IF([test "${MOZILLA_CONFIG}"], [
4803   if test -z "${XPIDL_INCL}"; then
4804     XPIDL_INCL="`${MOZILLA_CONFIG} --cflags plugin xpcom java` \
4805     `${MOZILLA_CONFIG} --idlflags plugin xpcom java` "
4806   fi
4807 ])
4808 AM_CONDITIONAL(BUILD_MOZILLA,${mozilla})
4809 if test "${mozilla}" != "false"
4810 then
4811   build_pic=yes
4812 fi
4813
4814 dnl
4815 dnl  Python bindings
4816 dnl
4817 AC_ARG_ENABLE(python-bindings,
4818   [  --enable-python-bindings    Enable Python bindings (default disabled)])
4819 dnl TODO: look for python dev headers
4820 AM_CONDITIONAL( BUILD_PYTHON, [test "${enable_python_bindings}" = "yes"] )
4821 if test "${enable_python_bindings}" = "yes"
4822 then
4823   build_pic=yes
4824 fi
4825
4826
4827 dnl
4828 dnl  test plugins
4829 dnl
4830 AC_ARG_ENABLE(testsuite,
4831   [  --enable-testsuite      build test modules (default disabled)])
4832 if test "${enable_testsuite}" = "yes"
4833 then
4834   TESTS="test1 test2 test3 test4"
4835
4836   dnl  we define those so that bootstrap sets the right linker
4837   VLC_ADD_CXXFLAGS([test2],[])
4838   VLC_ADD_OBJCFLAGS([test3],[])
4839   dnl  this one is needed until automake knows what to do
4840   VLC_ADD_LDFLAGS([test3],[-lobjc])
4841
4842   VLC_ADD_PLUGINS([${TESTS}])
4843   #VLC_ADD_BUILTINS([${TESTS}])
4844 fi
4845
4846 dnl
4847 dnl  gtk_main plugin
4848 dnl
4849 if test "${NEED_GTK_MAIN}" != "no"
4850 then
4851     VLC_ADD_PLUGINS([gtk_main])
4852     VLC_ADD_CFLAGS([gtk_main],[${CFLAGS_gtk}])
4853     VLC_ADD_LDFLAGS([gtk_main],[${LDFLAGS_gtk}])
4854 fi
4855
4856 if test "${NEED_GNOME_MAIN}" != "no"
4857 then
4858     VLC_ADD_PLUGINS([gnome_main])
4859     VLC_ADD_CFLAGS([gnome_main],[${CFLAGS_gtk} ${CFLAGS_gnome}])
4860     VLC_ADD_LDFLAGS([gnome_main],[${LDFLAGS_gtk} ${LDFLAGS_gnome}])
4861 fi
4862
4863 if test "${NEED_GTK2_MAIN}" != "no"
4864 then
4865     VLC_ADD_PLUGINS([gtk2_main])
4866     VLC_ADD_CFLAGS([gtk2],[-DNEED_GTK2_MAIN])
4867     VLC_ADD_CFLAGS([pda],[-DNEED_GTK2_MAIN])
4868     VLC_ADD_CFLAGS([gtk2_main],[${CFLAGS_gtk2} ${CFLAGS_pda}])
4869     VLC_ADD_LDFLAGS([gtk2_main],[${LDFLAGS_gtk2} ${LDFLAGS_pda}])
4870 fi
4871
4872 if test "${NEED_GNOME2_MAIN}" != "no"
4873 then
4874     VLC_ADD_PLUGINS([gnome2_main])
4875     VLC_ADD_CFLAGS([gnome2_main],[${CFLAGS_gtk2} ${CFLAGS_gnome2}])
4876     VLC_ADD_LDFLAGS([gnome2_main],[${LDFLAGS_gtk2} ${LDFLAGS_gnome2}])
4877 fi
4878
4879 dnl
4880 dnl  qte_main plugin
4881 dnl
4882 if test "${NEED_QTE_MAIN}" != "no"
4883 then
4884     VLC_ADD_PLUGINS([qte_main])
4885     VLC_ADD_CXXFLAGS([opie qte qt_video],[-DNEED_QTE_MAIN])
4886     VLC_ADD_CXXFLAGS([qte_main],[${CXXFLAGS_qte} ${CXXFLAGS_qt_video}])
4887     VLC_ADD_LDFLAGS([qte_main],[${LDFLAGS_qte} ${LDFLAGS_qt_video}])
4888 fi
4889
4890
4891 dnl
4892 dnl  Plugin and builtin checks
4893 dnl
4894 builtin_support=false
4895 plugin_support=:
4896
4897 dnl Support for plugins - this must be AT THE END
4898 AC_ARG_ENABLE(plugins,
4899   [  --disable-plugins       make all plugins built-in (default plugins enabled)],
4900   [if test "${enable_plugins}" = "no"
4901    then
4902      plugin_support=false
4903    fi])
4904
4905 dnl Automagically disable plugins if there is no system support for
4906 dnl dynamically loadable files (.so, .dll, .dylib).
4907 dnl don't forget vlc-win32 still can load .dll as plugins
4908 if test "${ac_cv_have_plugins}" = "no"
4909 then
4910   echo "*** Your system doesn't have plugin support. All plugins will be built"
4911   echo "statically."
4912   plugin_support=false
4913 fi
4914
4915 dnl Export automake variables
4916 if ${plugin_support}
4917 then
4918   AC_DEFINE(HAVE_DYNAMIC_PLUGINS, 1, Define if we have support for dynamic plugins)
4919   for plugin in `echo ${PLUGINS}`
4920   do
4921     eval "${plugin}_p=yes"
4922   done
4923 else
4924   VLC_ADD_BUILTINS([${PLUGINS}])
4925   PLUGINS=""
4926 fi
4927 AM_CONDITIONAL(HAVE_PLUGINS, ${plugin_support})
4928
4929 [if echo "${BUILTINS}" | grep '[^ ]' >/dev/null 2>&1
4930 then
4931   builtin_support=:
4932   for builtin in `echo ${BUILTINS}`
4933   do
4934     eval "${builtin}_b=yes"
4935   done
4936 fi]
4937 AM_CONDITIONAL(HAVE_BUILTINS, ${builtin_support})
4938
4939 dnl
4940 dnl Pic and shared libvlc stuff
4941 dnl
4942 AM_CONDITIONAL(BUILD_SHARED, [test "${shared_libvlc}" != "no"])
4943 AM_CONDITIONAL(BUILD_PIC, [test "${build_pic}" = "yes" -o "${shared_libvlc}" != "no"] )
4944 AS_IF([test "${shared_libvlc}" != "no"], [
4945   AC_DEFINE(HAVE_SHARED_LIBVLC, 1, [Define to 1 if libvlc is built as a shared library.])
4946 ])
4947
4948 pic=no
4949 AS_IF([test "${shared_libvlc}" != "no" -o "${build_pic}" = "yes"], [pic=pic])
4950 AS_IF([test "${SYS}" = "mingw32"], [pic=no])
4951 AS_IF([test "${pic}" = "no"], [pic=])
4952 AC_SUBST(pic)
4953
4954 dnl Import conditional variables generated by bootstrap
4955 VLC_CONDITIONALS
4956
4957 dnl
4958 dnl  Stuff used by the program
4959 dnl
4960 AC_DEFINE_UNQUOTED(VERSION_MESSAGE, "${VERSION} ${CODENAME}", [Simple version string])
4961 AC_DEFINE_UNQUOTED(COPYRIGHT_MESSAGE, "VLC media player - version ${VERSION} ${CODENAME} - (c) 1996-2005 the VideoLAN team", [Copyright string])
4962 AC_DEFINE_UNQUOTED(CONFIGURE_LINE, "${CONFIGURE_LINE}", [The ./configure command line])
4963 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MAJOR,"${VERSION_MAJOR}", [version major number])
4964 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MINOR,"${VERSION_MINOR}", [version minor number])
4965 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_REVISION,"${VERSION_REVISION}", [version minor number])
4966 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_EXTRA,"${VERSION_EXTRA}", [version minor number])
4967 AC_SUBST(VERSION_MAJOR)
4968 AC_SUBST(VERSION_MINOR)
4969 AC_SUBST(VERSION_REVISION)
4970 AC_DEFINE_UNQUOTED(VLC_COMPILE_BY, "`whoami`", [user who ran configure]) 
4971 AC_DEFINE_UNQUOTED(VLC_COMPILE_HOST, "`hostname`", [host which ran configure]) 
4972 AC_DEFINE_UNQUOTED(VLC_COMPILE_DOMAIN, "`dnsdomainname 2>/dev/null || domainname 2>/dev/null || echo unknown`", [domain of the host which ran configure]) 
4973 AC_DEFINE_UNQUOTED(VLC_COMPILER, "`$CC -v 2>&1 | tail -n 1`", [compiler]) 
4974
4975 dnl Old definitions for version-dependant plugins
4976 dnl VLC_SYMBOL="`echo ${VERSION} | sed -e 'y/.-+/___/'`"
4977 dnl AC_DEFINE_UNQUOTED(MODULE_SUFFIX, "__${VLC_SYMBOL}", [String suffix for module functions])
4978 dnl AC_DEFINE_UNQUOTED(MODULE_SYMBOL, ${VLC_SYMBOL}, [Symbol suffix for module functions])
4979
4980 dnl New definitions with value matching 0.8.4 release
4981 module_symbol="0_8_4"
4982 AC_DEFINE_UNQUOTED(MODULE_SUFFIX, "__${module_symbol}", [String suffix for module functions])
4983 AC_DEFINE_UNQUOTED(MODULE_SYMBOL, $module_symbol, [Symbol suffix for module functions])
4984 VLC_ENTRY="vlc_entry__${module_symbol}"
4985 AC_SUBST(VLC_ENTRY)
4986
4987 DATA_PATH="${ac_tool_prefix}/share/vlc"
4988 AC_SUBST(DATA_PATH)
4989 PLUGIN_PATH="${ac_tool_prefix}/lib/vlc"
4990 AC_SUBST(PLUGIN_PATH)
4991
4992 dnl
4993 dnl  Handle substvars that use $(top_srcdir)
4994 dnl
4995 VLC_CONFIG="top_builddir=\"\$(top_builddir)\" \$(top_builddir)/vlc-config"
4996 AC_SUBST(VLC_CONFIG)
4997 CPPFLAGS_save="${CPPFLAGS_save} -I\$(top_srcdir)/include"
4998
4999 dnl
5000 dnl  Restore *FLAGS
5001 dnl
5002 VLC_RESTORE_FLAGS
5003
5004 dnl
5005 dnl  Create the vlc-config script
5006 dnl
5007 LDFLAGS_libvlc="${LDFLAGS_vlc} ${LDFLAGS_builtin}"
5008 for i in `echo "${BUILTINS}" | sed -e 's@[^ ]*/@@g'` ; do LDFLAGS_libvlc="${LDFLAGS_libvlc} ${libdir}/vlc/${i}.a `eval echo '$'{LDFLAGS_${i}}`" ; done
5009
5010 dnl
5011 dnl  Configuration is finished
5012 dnl
5013 AC_SUBST(SYS)
5014 AC_SUBST(ARCH)
5015 AC_SUBST(ALIASES)
5016 AC_SUBST(ASM)
5017 AC_SUBST(MOC)
5018 AC_SUBST(WINDRES)
5019 AC_SUBST(XPIDL)
5020 AC_SUBST(XPIDL_INCL)
5021 AC_SUBST(LIBEXT)
5022 AC_SUBST(INCLUDES)
5023 AC_SUBST(ALL_LINGUAS)
5024
5025 dnl Import substitutions generated by bootstrap
5026 VLC_SUBSTS
5027
5028 dnl Create vlc-config.in
5029 VLC_OUTPUT_VLC_CONFIG_IN
5030
5031 AC_CONFIG_FILES([
5032   Makefile
5033   activex/Makefile
5034   activex/axvlc.inf
5035   bindings/Makefile
5036   bindings/python/Makefile
5037   debian/Makefile
5038   doc/Makefile
5039   intl/Makefile
5040   ipkg/Makefile
5041   lib/Makefile
5042   loader/Makefile
5043   modules/Makefile
5044   mozilla/Makefile
5045   m4/Makefile
5046   po/Makefile.in
5047   share/Makefile
5048 ])
5049
5050 AC_CONFIG_FILES([
5051   modules/access/Makefile
5052   modules/access/dshow/Makefile
5053   modules/access/dvb/Makefile
5054   modules/access/mms/Makefile
5055   modules/access/pvr/Makefile
5056   modules/access/v4l/Makefile
5057   modules/access/cdda/Makefile
5058   modules/access/rtsp/Makefile
5059   modules/access/vcd/Makefile
5060   modules/access/vcdx/Makefile
5061   modules/access/screen/Makefile
5062   modules/access_filter/Makefile
5063   modules/access_output/Makefile
5064   modules/audio_filter/Makefile
5065   modules/audio_filter/channel_mixer/Makefile
5066   modules/audio_filter/converter/Makefile
5067   modules/audio_filter/resampler/Makefile
5068   modules/audio_mixer/Makefile
5069   modules/audio_output/Makefile
5070   modules/codec/Makefile
5071   modules/codec/cmml/Makefile
5072   modules/codec/dmo/Makefile
5073   modules/codec/ffmpeg/Makefile
5074   modules/codec/spudec/Makefile
5075   modules/control/Makefile
5076   modules/control/http/Makefile
5077   modules/control/corba/Makefile
5078   modules/demux/Makefile
5079   modules/demux/asf/Makefile
5080   modules/demux/avi/Makefile
5081   modules/demux/mp4/Makefile
5082   modules/demux/mpeg/Makefile
5083   modules/demux/playlist/Makefile
5084   modules/demux/util/Makefile
5085   modules/gui/Makefile
5086   modules/gui/beos/Makefile
5087   modules/gui/pda/Makefile
5088   modules/gui/macosx/Makefile
5089   modules/gui/qnx/Makefile
5090   modules/gui/skins2/Makefile
5091   modules/gui/wxwidgets/Makefile
5092   modules/gui/wince/Makefile
5093   modules/misc/Makefile
5094   modules/misc/dummy/Makefile
5095   modules/misc/memcpy/Makefile
5096   modules/misc/network/Makefile
5097   modules/misc/testsuite/Makefile
5098   modules/misc/playlist/Makefile
5099   modules/misc/xml/Makefile
5100   modules/mux/Makefile
5101   modules/mux/mpeg/Makefile
5102   modules/packetizer/Makefile
5103   modules/services_discovery/Makefile
5104   modules/stream_out/Makefile
5105   modules/stream_out/transrate/Makefile
5106   modules/video_chroma/Makefile
5107   modules/video_filter/Makefile
5108   modules/video_filter/swscale/Makefile
5109   modules/video_output/Makefile
5110   modules/video_output/directx/Makefile
5111   modules/video_output/qte/Makefile
5112   modules/video_output/x11/Makefile
5113   modules/visualization/Makefile
5114   modules/visualization/visual/Makefile
5115   modules/visualization/galaktos/Makefile
5116 ])
5117
5118 dnl Generate makefiles
5119 AC_OUTPUT
5120
5121 # Cannot use AC_CONFIG_FILES([vlc-config]) as is automatically built,
5122 # not provided with the source
5123 ${SHELL} ./config.status --file=vlc-config
5124 chmod 0755 vlc-config
5125
5126 dnl echo "Enabled builtin modules :"
5127 dnl for a in `./vlc-config --target builtin` ; do echo $a; done | sed -e 's,modules\/\(.*\)\/lib\(.*\)\.a,\2 (\1),'
5128
5129 dnl echo "Enabled plugin modules :"
5130 dnl for a in `./vlc-config --target plugin` ; do echo $a; done | sed -e 's,modules\/\(.*\)\/lib\(.*\)_plugin,\2 (\1),'
5131
5132 dnl Shortcut to nice compile message
5133 rm -f compile
5134 echo '#! /bin/sh' >compile
5135 echo "PATH=$PATH LANG=C make \$\* 2>&1| ${srcdir}/extras/make.pl" >>compile
5136 chmod a+x compile
5137
5138 printf "
5139 vlc configuration
5140 --------------------
5141 vlc version           : ${VERSION}
5142 system                : ${SYS}
5143 architecture          : ${ARCH}
5144 build flavour         : "
5145 test "${enable_debug}" = "yes" && printf "debug "
5146 test "${enable_cprof}" = "yes" && printf "cprof "
5147 test "${enable_gprof}" = "yes" && printf "gprof "
5148 test "${enable_optimizations}" = "yes" && printf "optim "
5149 test "${enable_release}" = "yes" && printf "release " || printf "devel "
5150 echo "
5151 vlc aliases           :${ALIASES}
5152
5153 You can tune the compiler flags in vlc-config.
5154 To build vlc and its plugins, type \`./compile' or \`make'.
5155 "
5156