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