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