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