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