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