]> git.sesse.net Git - vlc/blob - configure.ac
* configure.ac: fixed thinko in the AltiVec detection with gcc 3.x.
[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         VLC_ADD_LDFLAGS([ipv4],[-liphlpapi])
175     fi
176     if test "${SYS}" = "mingwce"; then
177         # add ws2 for closesocket, select, recv
178         CPPFLAGS_save="${CPPFLAGS_save} -D_OFF_T_ -D_off_t=long"; CPPFLAGS="${CPPFLAGS_save}"
179         VLC_ADD_CPPFLAGS([vlc],[-Dmain(a,b)=maince(a,b)])
180         VLC_ADD_LDFLAGS([vlc],[-lws2 -e WinMainCRTStartup])
181         VLC_ADD_LDFLAGS([ipv4 ipv6 access_http access_mms access_udp access_tcp access_ftp access_output_udp sap http netsync],[-lws2])
182          VLC_ADD_LDFLAGS([ipv4],[-liphlpapi])
183    fi
184     ;;
185   *nto*)
186     SYS=nto
187     VLC_ADD_LDFLAGS([x11 xvideo],[-lsocket])
188     ;;
189   solaris*)
190     SYS=solaris
191     # _POSIX_PTHREAD_SEMANTICS is needed to get the POSIX ctime_r
192     # Perhaps it is useful other places as well? 
193     CFLAGS_save="${CFLAGS_save} -D_POSIX_PTHREAD_SEMANTICS"; CFLAGS="${CFLAGS_save}"
194     ;;
195   hpux*)
196     SYS=hpux
197     ;;
198   beos)
199     SYS=beos
200     CFLAGS_save="${CFLAGS_save} -Wno-multichar"; CFLAGS="${CFLAGS_save}"
201     CXXFLAGS_save="${CXXFLAGS_save} -Wno-multichar"; CXXFLAGS="${CXXFLAGS_save}"
202     VLC_ADD_CXXFLAGS([beos],[])
203     VLC_ADD_LDFLAGS([vlc beos],[-lbe])
204     VLC_ADD_LDFLAGS([beos],[-lmedia -ltranslation -ltracker -lgame])
205     VLC_ADD_LDFLAGS([access_file access_ftp access_mms access_output_udp telnet netsync sap ipv4 vlc],[-lnet])
206
207     dnl Ugly check for Zeta
208     if test -f /boot/beos/system/lib/libzeta.so; then
209         VLC_ADD_LDFLAGS([beos],[-lzeta])
210     fi
211     ;;
212   *)
213     SYS="${target_os}"
214     ;;
215 esac
216 AM_CONDITIONAL(HAVE_BEOS, test "${SYS}" = "beos")
217 AM_CONDITIONAL(HAVE_DARWIN, test "${SYS}" = "darwin")
218 AM_CONDITIONAL(HAVE_WIN32, test "${SYS}" = "mingw32")
219 AM_CONDITIONAL(HAVE_WINCE, test "${SYS}" = "mingwce")
220
221 dnl
222 dnl Gettext stuff
223 dnl
224 ALL_LINGUAS="ca da de en_GB es fr it ja nl pt_BR ro ru tr zh_TW"
225 AM_GNU_GETTEXT_VERSION(0.11.5)
226 AM_GNU_GETTEXT
227 if test "${nls_cv_force_use_gnu_gettext}" = "yes"; then
228   AC_DEFINE(HAVE_INCLUDED_GETTEXT, 1, Define if we use the local libintl)
229   INCLUDES="${INCLUDES} -I\$(top_builddir)/intl"
230 else
231   AC_CHECK_FUNCS(textdomain,,[
232     AC_CHECK_LIB(intl,textdomain,
233       VLC_ADD_LDFLAGS([vlc],[${LIBINTL}]),,
234       ${LIBINTL}
235     )
236   ])
237 fi
238 AM_CONDITIONAL(BUILD_INTL, test "${nls_cv_force_use_gnu_gettext}" = "yes")
239 XGETTEXT="${XGETTEXT} --keyword=_NS --keyword=_ANS"
240
241 dnl
242 dnl Iconv stuff
243 dnl
244 AS_IF([test "$am_cv_func_iconv" != "yes"],
245         [AC_MSG_ERROR([libiconv is needed for VLC to work properly])])
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)
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 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 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 AC_CACHE_CHECK([if \$CC groks MMX EXT inline assembly],
1063     [ac_cv_mmxext_inline],
1064     [CFLAGS="${CFLAGS_save}"
1065      AC_TRY_COMPILE(,[void *p;asm volatile("maskmovq %%mm1,%%mm2"::"r"(p));],
1066                     ac_cv_mmxext_inline=yes, ac_cv_mmxext_inline=no)])
1067 if test "${ac_cv_mmxext_inline}" != "no"; then
1068   AC_DEFINE(CAN_COMPILE_MMXEXT, 1, Define if \$CC groks MMX EXT inline assembly.)
1069   ACCEL_MODULES="${ACCEL_MODULES} ${MMXEXT_MODULES}"
1070 fi
1071
1072 AC_CACHE_CHECK([if \$CC groks 3D Now! inline assembly],
1073     [ac_cv_3dnow_inline],
1074     [CFLAGS="${CFLAGS_save}"
1075      AC_TRY_COMPILE(,[void *p;asm volatile("pfadd %%mm1,%%mm2"::"r"(p));],
1076                     ac_cv_3dnow_inline=yes, ac_cv_3dnow_inline=no)])
1077 if test "${ac_cv_3dnow_inline}" != "no"; then
1078   AC_DEFINE(CAN_COMPILE_3DNOW, 1, Define if \$CC groks 3D Now! inline assembly.)
1079   ACCEL_MODULES="${ACCEL_MODULES} ${THREEDNOW_MODULES}"
1080 fi
1081
1082 AC_CACHE_CHECK([if \$CC groks SSE inline assembly],
1083     [ac_cv_sse_inline],
1084     [CFLAGS="${CFLAGS_save}"
1085      AC_TRY_COMPILE(,[void *p;asm volatile("xorps %%xmm1,%%xmm2"::"r"(p));],
1086                     ac_cv_sse_inline=yes, ac_cv_sse_inline=no)])
1087 if test "${ac_cv_sse_inline}" != "no" -a "${SYS}" != "mingw32" -a "${SYS}" != "solaris"; then
1088   AC_DEFINE(CAN_COMPILE_SSE, 1, Define if \$CC groks SSE inline assembly.)
1089   ACCEL_MODULES="${ACCEL_MODULES} ${SSE_MODULES}"
1090 fi
1091
1092 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
1093 AC_CACHE_CHECK([if \$CC groks AltiVec inline assembly],
1094     [ac_cv_altivec_inline],
1095     [CFLAGS="${CFLAGS_save}"
1096      AC_TRY_COMPILE(,[asm volatile("vperm 0,1,2,3");],
1097          ac_cv_altivec_inline=yes,
1098          [CFLAGS="${CFLAGS_save} -Wa,-m7400"
1099           AC_TRY_COMPILE(,[asm volatile("vperm 0,1,2,3");],
1100             [ac_cv_altivec_inline="-Wa,-m7400"],
1101             ac_cv_altivec_inline=no)
1102          ])])
1103 if test "${ac_cv_altivec_inline}" != "no"; then
1104   AC_DEFINE(CAN_COMPILE_ALTIVEC, 1, Define if \$CC groks AltiVec inline assembly.)
1105   if test "${ac_cv_altivec_inline}" != "yes"; then
1106     VLC_ADD_CFLAGS([idctaltivec],[${ac_cv_altivec_inline}])
1107     VLC_ADD_CFLAGS([motionaltivec],[${ac_cv_altivec_inline}])
1108     VLC_ADD_CFLAGS([memcpyaltivec],[${ac_cv_altivec_inline}])
1109     VLC_ADD_CFLAGS([i420_yuy2_altivec],[${ac_cv_altivec_inline}])
1110     VLC_ADD_CFLAGS([vlc],[${ac_cv_altivec_inline}])
1111   fi
1112   ACCEL_MODULES="${ACCEL_MODULES} ${ALTIVEC_MODULES}"
1113 fi
1114
1115 dnl The AltiVec C extensions
1116 dnl
1117 dnl There are several possible cases:
1118 dnl - OS X PPC, gcc 4.x: use -mpim-altivec, don't need <altivec.h>
1119 dnl - OS X PPC, gcc 3.x: need -faltivec, don't need <altivec.h>
1120 dnl - Linux PPC, gcc 4.x: need <altivec.h> which itself requires -maltivec
1121 dnl - Linux PPC, gcc 3.3: need <altivec.h> and -maltivec -mabi=altivec
1122 dnl - Linux PPC, gcc 3.x: need <altivec.h> and -fvec
1123 dnl - Others: test should fail
1124 AC_CACHE_CHECK([if \$CC groks AltiVec C extensions],
1125   [ac_cv_c_altivec],
1126   [# OS X/PPC test (gcc 4.x)
1127    CFLAGS="${CFLAGS_save} -mpim-altivec"
1128    AC_TRY_COMPILE([],
1129      [vec_ld(0, (unsigned char *)0);],
1130      [ac_cv_c_altivec="-mpim-altivec"],
1131      [# OS X/PPC test (gcc 3.x)
1132       CFLAGS="${CFLAGS_save} -faltivec"
1133       AC_TRY_COMPILE([],
1134         [vec_ld(0, (unsigned char *)0);],
1135         [ac_cv_c_altivec="-faltivec"],
1136         dnl Below this are the Linux tests
1137         [# Linux/PPC test (gcc 4.x)
1138          CFLAGS="${CFLAGS_save} -maltivec"
1139          AC_TRY_COMPILE([#include <altivec.h>],
1140            [vec_ld(0, (unsigned char *)0);],
1141            [ac_cv_c_altivec="-maltivec"],
1142            [# Linux/PPC test (gcc 3.3)
1143             CFLAGS="${CFLAGS_save} -maltivec -mabi=altivec"
1144             AC_TRY_COMPILE([#include <altivec.h>],
1145               [vec_ld(0, (unsigned char *)0);],
1146               [ac_cv_c_altivec=""
1147                ac_cv_c_altivec_abi="-maltivec -mabi=altivec"],
1148               [# Linux/PPC test (gcc 3.3)
1149                CFLAGS="${CFLAGS_save} -fvec"
1150                AC_TRY_COMPILE([#include <altivec.h>],
1151                  [vec_ld(0, (unsigned char *)0);],
1152                  [ac_cv_c_altivec="-fvec"],
1153                  [ac_cv_c_altivec=no])
1154               ])
1155            ])
1156         ])
1157      ])
1158    CFLAGS="${CFLAGS_save}"
1159   ])
1160
1161 if test "${ac_cv_c_maltivec}" != "no"; then
1162   CPPFLAGS="${CPPFLAGS_save} ${ac_cv_c_maltivec}"
1163 fi
1164 AC_CHECK_HEADERS(altivec.h)
1165 CPPFLAGS="${CPPFLAGS_save}"
1166
1167 if test "${ac_cv_c_altivec}" != "no"; then
1168   AC_DEFINE(CAN_COMPILE_C_ALTIVEC, 1, Define if your compiler groks C AltiVec extensions.)
1169   VLC_ADD_CFLAGS([vlc],[${ac_cv_c_altivec}])
1170   VLC_ADD_CFLAGS([idctaltivec motionaltivec],[${ac_cv_c_altivec}])
1171   VLC_ADD_CFLAGS([i420_yuy2_altivec memcpyaltivec deinterlace],[${ac_cv_c_altivec} ${ac_cv_c_altivec_abi}])
1172   ACCEL_MODULES="${ACCEL_MODULES} ${ALTIVEC_MODULES}"
1173 fi
1174
1175 AC_CACHE_CHECK([if linker needs -framework vecLib],
1176     [ac_cv_ld_altivec],
1177     [LDFLAGS="${LDFLAGS_vlc} -framework vecLib"
1178      AC_TRY_LINK([],,ac_cv_ld_altivec=yes,ac_cv_ld_altivec=no)
1179      LDFLAGS="${LDFLAGS_save}"
1180     ])
1181 if test "${ac_cv_ld_altivec}" != "no"; then
1182   VLC_ADD_LDFLAGS([vlc idctaltivec motionaltivec memcpyaltivec],[-framework vecLib])
1183 fi
1184 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
1185
1186 AC_ARG_WITH(,[])
1187 AC_ARG_WITH(,[Optimization options:])
1188
1189 dnl
1190 dnl  Special arch tuning
1191 dnl
1192 AC_ARG_WITH(tuning,
1193 [  --with-tuning=ARCH      enable special tuning for an architecture
1194                           (default Pentium 2 on IA-32 and 750 on PPC)])
1195 if test -n "${with_tuning}"; then
1196     CFLAGS_TUNING="-mtune=${with_tuning}"
1197 else
1198     if test "${target_cpu}" = "i686" -o "${target_cpu}" = "i586" -o "${target_cpu}" = "i486" -o "${target_cpu}" = "i386"; then
1199         CFLAGS_TUNING="-mtune=pentium2"
1200     elif test "${target_cpu}" = "x86_64"; then
1201         CFLAGS_TUNING="-mtune=athlon64"
1202     elif test "${target_cpu}" = "powerpc"; then
1203         CFLAGS_TUNING="-mtune=750";
1204     fi
1205
1206     dnl NOTE: this can't be cached cleanly
1207     AS_IF([test "${CFLAGS_TUNING}"],
1208        [CFLAGS_save="${CFLAGS}"
1209         CFLAGS="${CFLAGS} ${CFLAGS_TUNING}"
1210
1211         AC_MSG_CHECKING([whether $CC accepts ${CFLAGS_TUNING}])
1212         AC_COMPILE_IFELSE([ ], [tuning="yes"],
1213                                [CFLAGS_TUNING=""; tuning="no"])
1214
1215         AC_MSG_RESULT([$tuning])
1216         CFLAGS="${CFLAGS_save}"
1217     ])
1218 fi
1219
1220 dnl
1221 dnl  x86 accelerations
1222 dnl
1223 if test "${target_cpu}" = "i686" -o "${target_cpu}" = "i586" -o "${target_cpu}" = "x86" -o "${target_cpu}" = "i386" -o "${target_cpu}" = "x86_64"
1224 then
1225     ARCH="${ARCH} mmx"
1226     VLC_ADD_BUILTINS([${ACCEL_MODULES}])
1227 fi
1228
1229 dnl
1230 dnl  Memory usage
1231 dnl
1232 AC_ARG_ENABLE(optimize-memory,
1233 [  --enable-optimize-memory      optimize memory usage over performance])
1234 if test "${enable_optimize_memory}" = "yes"; then
1235   AC_DEFINE(OPTIMIZE_MEMORY, 1, Define if you want to optimize memory usage over performance)
1236 fi
1237
1238 dnl
1239 dnl  Enable/disable optimizations
1240 dnl
1241 AC_ARG_ENABLE(optimizations,
1242 [  --disable-optimizations disable compiler optimizations (default enabled)])
1243 test "${enable_optimizations}" != "no" && enable_optimizations="yes"
1244
1245 dnl
1246 dnl  AltiVec acceleration
1247 dnl
1248 AC_ARG_ENABLE(altivec,
1249 [  --disable-altivec       disable AltiVec optimizations (default enabled on PPC)],
1250 [ if test "${enable_altivec}" = "yes"; then ARCH="${ARCH} altivec";
1251     VLC_ADD_BUILTINS([${ACCEL_MODULES}]) fi ],
1252 [ if test "${target_cpu}" = "powerpc"; then ARCH="${ARCH} altivec";
1253     VLC_ADD_BUILTINS([${ACCEL_MODULES}]) fi ])
1254
1255 dnl
1256 dnl  Debugging mode
1257 dnl
1258 AC_ARG_ENABLE(debug,
1259 [  --enable-debug          debug mode (default disabled)])
1260 test "${enable_debug}" != "yes" && enable_debug="no"
1261
1262 dnl
1263 dnl  Enable release-specific flags
1264 dnl
1265 AC_ARG_ENABLE(release,
1266 [  --enable-release        activate extra optimizations (default disabled)])
1267 test "${enable_release}" != "yes" && enable_release="no"
1268
1269 dnl
1270 dnl Stream output
1271 dnl
1272 AC_ARG_ENABLE(sout,
1273   [  --enable-sout           Stream output modules (default enabled)])
1274 if test "${enable_sout}" != "no"
1275 then
1276   VLC_ADD_PLUGINS([access_output_dummy access_output_udp access_output_file access_output_http])
1277   VLC_ADD_PLUGINS([mux_ps mux_avi mux_mp4 mux_asf mux_dummy mux_wav mux_mpjpeg])
1278   VLC_ADD_PLUGINS([packetizer_copy])
1279
1280   VLC_ADD_PLUGINS([stream_out_dummy stream_out_standard stream_out_es stream_out_rtp stream_out_description vod_rtsp])
1281   VLC_ADD_PLUGINS([stream_out_duplicate stream_out_gather stream_out_display stream_out_transcode stream_out_bridge stream_out_mosaic_bridge])
1282 #  VLC_ADD_PLUGINS([stream_out_transrate])
1283
1284   AC_DEFINE(ENABLE_SOUT, 1, Define if you want the stream output support)
1285 fi
1286
1287 dnl Check for libshout
1288 AC_ARG_ENABLE(shout,
1289   [  --enable-shout          libshout output plugin (default disabled)])
1290 if test "${enable_shout}" = "yes"; then
1291   PKG_CHECK_MODULES(SHOUT, shout >= 2.1,
1292     [AC_DEFINE(HAVE_SHOUT, [], [Define if you have the libshout library])
1293      VLC_ADD_PLUGINS([access_output_shout])
1294      VLC_ADD_LDFLAGS([vlc access_output_shout],[$SHOUT_LIBS])
1295      VLC_ADD_CFLAGS([vlc access_output_shout],[$SHOUT_CFLAGS])],
1296     [AC_MSG_WARN(libshout library not found)])
1297 fi
1298
1299 dnl
1300 dnl HTTP daemon
1301 dnl
1302 AC_ARG_ENABLE(httpd,
1303   [  --enable-httpd          HTTP daemon (default enabled)])
1304 if test "${enable_httpd}" != "no"
1305 then
1306   VLC_ADD_PLUGINS([http])
1307   AC_DEFINE(ENABLE_HTTPD, 1, Define if you want the HTTP dameon support)
1308 fi
1309
1310 dnl
1311 dnl VideoLAN manager
1312 dnl
1313 AC_ARG_ENABLE(vlm,
1314   [  --enable-vlm            VideoLAN manager (default enabled)])
1315 if test "${enable_vlm}" != "no"
1316 then
1317   AC_DEFINE(ENABLE_VLM, 1, Define if you want the VideoLAN manager support)
1318 fi
1319
1320 dnl
1321 dnl TLS/SSL
1322 dnl
1323 AC_ARG_ENABLE(gnutls,
1324   [  --enable-gnutls         gnutls TLS/SSL support (default enabled)])
1325 AS_IF([test "${enable_gnutls}" != "no"], [
1326
1327   gcrypt_LIBS="-lgpg-error"
1328   AS_IF([test "${SYS}" = "mingw32"],
1329     [gcrypt_LIBS="${gcrypt_LIBS} -lws2_32"
1330      VLC_ADD_LDFLAGS([gnutls],[-lws2_32])]
1331   )
1332
1333   gnutls_LIBS="-lgcrypt -lz ${gcrypt_LIBS}"
1334
1335   AC_CHECK_HEADER(gcrypt.h,
1336     [AC_CHECK_LIB(gcrypt, gcry_control,
1337       [AC_CHECK_HEADER(gnutls/gnutls.h,
1338         [AC_CHECK_LIB(gnutls, gnutls_certificate_verify_peers2,
1339           [have_gnutls="yes"],[old_gnutls="yes"], ${gnutls_LIBS})])],,
1340      ${gcrypt_LIBS})])
1341
1342   AS_IF([test "${have_gnutls}" = "yes"], [
1343     VLC_ADD_PLUGINS([gnutls])
1344     VLC_ADD_LDFLAGS([gnutls], [-lgnutls ${gnutls_LIBS}])
1345   ], [
1346     AS_IF([test "${enable_gnutls}" = "yes"], [
1347       AC_MSG_ERROR([gnutls not present or too old (version 1.0.17 required)])]
1348     )]
1349   )]
1350 )
1351
1352
1353 dnl
1354 dnl  Input plugins
1355 dnl
1356
1357 AC_ARG_WITH(,[Input plugins:])
1358
1359 dnl  live.com input
1360 dnl
1361 AC_ARG_ENABLE(livedotcom,
1362 [  --enable-livedotcom     live.com RTSP input plugin (default disabled)])
1363 if test "${enable_livedotcom}" = "yes"; then
1364   AC_ARG_WITH(livedotcom-tree,
1365     [    --with-livedotcom-tree=PATH live.com tree for static linking])
1366
1367   dnl
1368   dnl test for --with-livedotcom-tree
1369   dnl
1370   if test -z "${with_livedotcom_tree}" -a "${CXX}" != ""; then
1371     AC_LANG_PUSH(C++)
1372     CPPFLAGS_save="${CPPFLAGS}"
1373     CPPFLAGS_livedotcom="-I/usr/include/liveMedia -I/usr/include/groupsock -I/usr/include/BasicUsageEnvironment -I/usr/include/UsageEnvironment"
1374     CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_livedotcom}"
1375     AC_CHECK_HEADERS(liveMedia.hh, [
1376       VLC_ADD_CXXFLAGS([livedotcom], [${CPPFLAGS_livedotcom}])
1377       AC_CHECK_LIB(liveMedia_pic, main, [
1378         # We have -lliveMedia_pic, build plugins
1379         VLC_ADD_PLUGINS([livedotcom])
1380         VLC_ADD_LDFLAGS([livedotcom], [-lliveMedia_pic -lgroupsock_pic -lBasicUsageEnvironment_pic -lUsageEnvironment_pic])
1381       ], [
1382         AC_CHECK_LIB(liveMedia, main, [
1383           # We only have -lliveMedia, do builtins
1384           VLC_ADD_BUILTINS([livedotcom])
1385           VLC_ADD_LDFLAGS([livedotcom], [-lliveMedia -lgroupsock -lBasicUsageEnvironment -lUsageEnvironment])
1386         ])
1387       ])
1388       if test "${SYS}" = "mingw32"; then
1389         # add ws2_32 for closesocket, select, recv
1390         VLC_ADD_LDFLAGS([livedotcom],[-lws2_32])
1391       fi
1392     ])
1393     CPPFLAGS="${CPPFLAGS_save}"
1394     AC_LANG_POP(C++)
1395   else
1396     AC_MSG_CHECKING(for liveMedia/libliveMedia.a in ${with_livedotcom_tree})
1397     real_livedotcom_tree="`cd ${with_livedotcom_tree} 2>/dev/null && pwd`"
1398     if test -z "${real_livedotcom_tree}"; then
1399       dnl  The given directory can't be found
1400       AC_MSG_RESULT(no)
1401       AC_MSG_ERROR([cannot cd to ${with_livedotcom_tree}])
1402     fi
1403     if test -f "${real_livedotcom_tree}/liveMedia/libliveMedia.a"; then
1404       AC_MSG_RESULT(${real_livedotcom_tree}/liveMedia/libliveMedia.a)
1405
1406       VLC_ADD_BUILTINS([livedotcom])
1407
1408       if test "${SYS}" = "mingw32"; then
1409         # add ws2_32 for closesocket, select, recv
1410         VLC_ADD_LDFLAGS([livedotcom],[-lws2_32])
1411       fi
1412
1413       VLC_ADD_LDFLAGS([livedotcom],[-L${real_livedotcom_tree}/liveMedia -lliveMedia])
1414       VLC_ADD_LDFLAGS([livedotcom],[-L${real_livedotcom_tree}/BasicUsageEnvironment -lBasicUsageEnvironment])
1415       VLC_ADD_LDFLAGS([livedotcom],[-L${real_livedotcom_tree}/groupsock -lgroupsock])
1416       VLC_ADD_LDFLAGS([livedotcom],[-L${real_livedotcom_tree}/UsageEnvironment -lUsageEnvironment])
1417
1418       VLC_ADD_CXXFLAGS([livedotcom],[-I${real_livedotcom_tree}/BasicUsageEnvironment/include])
1419       VLC_ADD_CXXFLAGS([livedotcom],[-I${real_livedotcom_tree}/groupsock/include])
1420       VLC_ADD_CXXFLAGS([livedotcom],[-I${real_livedotcom_tree}/liveMedia/include])
1421       VLC_ADD_CXXFLAGS([livedotcom],[-I${real_livedotcom_tree}/UsageEnvironment/include ])
1422     else
1423       dnl  The given live.com wasn't built
1424       AC_MSG_RESULT(no)
1425       AC_MSG_ERROR([cannot find ${real_livedotcom_tree}/liveMedia/libliveMedia.a, make sure you compiled live.com in ${with_livedotcom_tree}])
1426     fi
1427   fi
1428 fi
1429
1430
1431 dnl
1432 dnl dvdread module: check for libdvdread
1433 dnl
1434 AC_ARG_ENABLE(dvdread,
1435 [  --enable-dvdread        dvdread input module (default disabled)])
1436 if test "${enable_dvdread}" != "no"
1437 then
1438   AC_ARG_WITH(dvdread,
1439   [    --with-dvdread=PATH   libdvdread headers and libraries])
1440   AC_ARG_WITH(dvdread-tree,
1441   [    --with-dvdread-tree=PATH libdvdread tree for static linking])
1442
1443   dnl Temporary hack (yeah, sure ;)
1444   if test "${SYS}" = "mingw32" || test "${SYS}" = "darwin" || test "${SYS}" = "beos" ; then
1445       VLC_ADD_LDFLAGS([dvdread],[-ldvdcss])
1446   fi
1447
1448   if test -z "${with_dvdread}"
1449   then
1450     if test -z "${with_dvdread_tree}"
1451     then
1452       AC_CHECK_HEADERS(dvdread/dvd_reader.h,
1453         [ VLC_ADD_PLUGINS([dvdread])
1454           VLC_ADD_LDFLAGS([dvdread],[-ldvdread ${LDFLAGS_dvdcss}])
1455         ],[
1456           if test -n "${enable_dvdread}"
1457           then
1458             AC_MSG_ERROR([cannot find libdvdread headers])
1459           fi
1460         ])
1461     else
1462       AC_MSG_CHECKING(for libdvdread.a in ${with_dvdread_tree})
1463       real_dvdread_tree="`cd ${with_dvdread_tree} 2>/dev/null && pwd`"
1464       if test -z "${real_dvdread_tree}"
1465       then
1466         dnl  The given directory can't be found
1467         AC_MSG_RESULT(no)
1468         AC_MSG_ERROR([cannot cd to ${with_dvdread_tree}])
1469       fi
1470       if test -f "${real_dvdread_tree}/dvdread/.libs/libdvdread.a"
1471       then
1472         dnl  Use a custom libdvdread
1473         AC_MSG_RESULT(${real_dvdread_tree}/dvdread/.libs/libdvdread.a)
1474         VLC_ADD_BUILTINS([dvdread])
1475         VLC_ADD_LDFLAGS([dvdread],[-L${real_dvdread_tree}/dvdread/.libs -ldvdread ${LDFLAGS_dvdcss}])
1476         VLC_ADD_CPPFLAGS([dvdread],[-I${real_dvdread_tree}])
1477       else
1478         dnl  The given libdvdread wasn't built
1479         AC_MSG_RESULT(no)
1480         AC_MSG_ERROR([cannot find ${real_dvdread_tree}/dvdread/.libs/libdvdread.a, make sure you compiled libdvdread in ${with_dvdread_tree}])
1481       fi
1482     fi
1483   else
1484     AC_MSG_CHECKING(for dvdread headers in ${with_dvdread})
1485     if test -f ${with_dvdread}/include/dvdread/dvd_reader.h
1486     then
1487       dnl  Use ${with_dvdread}/include/dvdread/dvd_reader.h
1488       AC_MSG_RESULT(yes)
1489       VLC_ADD_PLUGINS([dvdread])
1490       VLC_ADD_LDFLAGS([dvdread],[-L${with_dvdread}/lib -ldvdread ${LDFLAGS_dvdcss}])
1491       VLC_ADD_CPPFLAGS([dvdread],[-I${with_dvdread}/include])
1492     else
1493       dnl  No libdvdread could be found, sorry
1494       AC_MSG_RESULT(no)
1495       AC_MSG_ERROR([cannot find ${with_dvdread}/include/dvdread/dvd_reader.h])
1496     fi
1497   fi
1498 fi
1499
1500 dnl
1501 dnl  libdvdnav plugin
1502 dnl
1503 AC_ARG_ENABLE(dvdnav,
1504   [  --enable-dvdnav         dvdnav input module (default enabled)])
1505 if test "${enable_dvdnav}" != "no"
1506 then
1507   dnl Same hack than dvdread
1508   if test "${SYS}" = "mingw32" || test "${SYS}" = "darwin" || test "${SYS}" = "beos" ; then
1509       VLC_ADD_LDFLAGS([dvdnav],[-ldvdcss])
1510   fi
1511
1512   DVDNAV_PATH="${PATH}"
1513   AC_ARG_WITH(dvdnav-config-path,
1514     [    --with-dvdnav-config-path=PATH dvdnav-config path (default search in \$PATH)],
1515     [ if test "${with_dvdnav_config_path}" != "no"
1516       then
1517         DVDNAV_PATH="${with_dvdnav_config_path}:${PATH}"
1518       fi ])
1519   AC_PATH_PROG(DVDNAV_CONFIG, dvdnav-config, no, ${DVDNAV_PATH})
1520   if test "${DVDNAV_CONFIG}" != "no"
1521   then
1522     VLC_ADD_PLUGINS([dvdnav])
1523     VLC_ADD_CFLAGS([dvdnav],[`${DVDNAV_CONFIG} --cflags`])
1524     VLC_ADD_LDFLAGS([dvdnav],[`${DVDNAV_CONFIG} --libs`])
1525   fi
1526 fi
1527
1528 dnl
1529 dnl  Windows DirectShow access module
1530 dnl
1531 AC_ARG_ENABLE(dshow,
1532   [  --enable-dshow          Win32 DirectShow support (default enabled on Win32)])
1533 if test "${enable_dshow}" != "no"
1534 then
1535   if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
1536   then
1537       AC_CHECK_HEADERS(dshow.h,
1538       [ VLC_ADD_PLUGINS([dshow])
1539         VLC_ADD_CXXFLAGS([dshow],[])
1540         VLC_ADD_LDFLAGS([dshow],[-lole32 -loleaut32 -luuid]) ])
1541   fi
1542 fi
1543
1544 dnl
1545 dnl  libsmbclient plugin
1546 dnl
1547 AC_ARG_ENABLE(smb,
1548   [  --enable-smb            smb input module (default enabled)])
1549 if test "${enable_smb}" != "no"; then
1550   AC_CHECK_HEADERS(libsmbclient.h,
1551     [ VLC_ADD_PLUGINS([access_smb])
1552       VLC_ADD_LDFLAGS([access_smb],[-lsmbclient]) ],
1553     [ if test -n "${enable_smb}"; then
1554         AC_MSG_ERROR([cannot find libsmbclient headers])
1555      fi ])
1556 fi
1557
1558 dnl
1559 dnl  libdvbpsi ts demux/mux
1560 dnl
1561 AC_ARG_ENABLE(dvbpsi,
1562 [  --enable-dvbpsi         dvbpsi ts mux and demux module (default enabled)])
1563 if test "${enable_dvbpsi}" != "no"
1564 then
1565   AC_ARG_WITH(dvbpsi,
1566   [    --with-dvbpsi=PATH    libdvbpsi headers and libraries])
1567   AC_ARG_WITH(dvbpsi,
1568   [    --with-dvbpsi-tree=PATH libdvbpsi tree for static linking])
1569   case "${with_dvbpsi}" in
1570   ""|yes)
1571     if test -z "${with_dvbpsi_tree}"
1572     then
1573       AC_CHECK_HEADERS(dvbpsi/dr.h,
1574         [ VLC_ADD_PLUGINS([ts])
1575           if test "${enable_sout}" != "no"; then
1576             VLC_ADD_BUILTINS([mux_ts])
1577           fi
1578           VLC_ADD_LDFLAGS([mux_ts ts dvb],[-ldvbpsi]) ],
1579         [  AC_MSG_WARN([cannot find libdvbpsi headers]) ],
1580         [#if defined( HAVE_STDINT_H )
1581 #   include <stdint.h>
1582 #elif defined( HAVE_INTTYPES_H )
1583 #   include <inttypes.h>
1584 #endif
1585 #include <dvbpsi/dvbpsi.h>
1586 #include <dvbpsi/descriptor.h>
1587 #include <dvbpsi/pat.h>
1588 #include <dvbpsi/pmt.h>])
1589     else
1590       AC_MSG_CHECKING(for libdvbpsi.a in ${with_dvbpsi_tree})
1591       real_dvbpsi_tree="`cd ${with_dvbpsi_tree} 2>/dev/null && pwd`"
1592       if test -z "${real_dvbpsi_tree}"
1593       then
1594         dnl  The given directory can't be found
1595         AC_MSG_RESULT(no)
1596         AC_MSG_ERROR([cannot cd to ${with_dvbpsi_tree}])
1597       fi
1598       if test -f "${real_dvbpsi_tree}/src/.libs/libdvbpsi.a"
1599       then
1600         dnl  Use a custom libdvbpsi
1601         AC_MSG_RESULT(${real_dvbpsi_tree}/src/.libs/libdvbpsi.a)
1602         VLC_ADD_BUILTINS([ts])
1603         if test "${enable_sout}" != "no"; then
1604           VLC_ADD_BUILTINS([mux_ts])
1605         fi
1606         VLC_ADD_CPPFLAGS([mux_ts ts dvb],[-I${real_dvbpsi_tree}/src])
1607         VLC_ADD_LDFLAGS([mux_ts ts dvb],[-L${real_dvbpsi_tree}/src/.libs -ldvbpsi])
1608       else
1609         dnl  The given libdvbpsi wasn't built
1610         AC_MSG_RESULT(no)
1611         AC_MSG_ERROR([cannot find ${real_dvbpsi_tree}/src/.libs/libdvbpsi.a, make sure you compiled libdvbpsi in ${with_dvbpsi_tree}])
1612       fi
1613     fi
1614   ;;
1615   no)
1616     dnl  Compile without dvbpsi
1617   ;;
1618   *)
1619     AC_MSG_CHECKING(for dvbpsi headers in ${with_dvbpsi})
1620     if test -z "${with_dvbpsi}"
1621     then
1622       LDFLAGS_test=""
1623       CPPFLAGS_test=""
1624     else
1625       LDFLAGS_test="-L${with_dvbpsi}/lib"
1626       CPPFLAGS_test="-I${with_dvbpsi}/include"
1627     fi
1628     CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_test}"
1629     AC_CHECK_HEADERS([dvbpsi/dr.h],[
1630       VLC_ADD_PLUGINS([ts])
1631       if test "${enable_sout}" != "no"; then
1632         VLC_ADD_PLUGINS([mux_ts])
1633       fi
1634       VLC_ADD_CPPFLAGS([mux_ts ts dvb],[${CPPFLAGS_test}])
1635       VLC_ADD_LDFLAGS([mux_ts ts dvb],[${LDFLAGS_test} -ldvbpsi])
1636
1637     ],[
1638       if test -n "${enable_dvbpsi}"
1639       then
1640         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])
1641       fi
1642     ])
1643     CPPFLAGS="${CPPFLAGS_save}"
1644   ;;
1645   esac
1646 fi
1647
1648 dnl
1649 dnl  Video4Linux plugin
1650 dnl
1651 AC_ARG_ENABLE(v4l,
1652   [  --enable-v4l            Video4Linux input support (default disabled)])
1653 if test "${enable_v4l}" = "yes"
1654 then
1655   AC_ARG_WITH(v4l,
1656     [    --with-v4l=PATH       path to a v4l-enabled kernel tree],[],[])
1657   if test "${with_v4l}" != "no" -a -n "${with_v4l}"
1658   then
1659     VLC_ADD_CPPFLAGS([v4l],[-I${with_v4l}/include])
1660   fi
1661
1662   CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_v4l}"
1663   AC_CHECK_HEADERS(linux/videodev.h, [
1664     VLC_ADD_PLUGINS([v4l])
1665   ],[])
1666   CPPFLAGS="${CPPFLAGS_save}"
1667 fi
1668
1669 dnl
1670 dnl  special access module for Hauppauge PVR cards
1671 dnl
1672 AC_ARG_ENABLE(pvr,
1673   [  --enable-pvr            PVR cards access module (default disabled)])
1674 if test "${enable_pvr}" = "yes"
1675 then
1676   VLC_ADD_PLUGINS([pvr])
1677 fi
1678
1679 dnl Need to test libcdio and libvcdinfo for a number of things. Do it now.
1680 AC_ARG_ENABLE(libcdio,
1681   [  --enable-libcdio        CD input and control library support (default enabled)])
1682  
1683 have_libcdio=no
1684 have_libvcdinfo=no
1685 if test "${enable_libcdio}" != "no"
1686 then
1687   PKG_CHECK_MODULES(LIBCDIO, libcdio >= 0.72,
1688      have_libcdio=yes
1689      AC_DEFINE(HAVE_LIBCDIO, [], 
1690      [Define if you have libcdio 0.72 or greater installed]),
1691      [AC_MSG_WARN(CD Reading and information library not found)])
1692
1693   PKG_CHECK_MODULES(VCDINFO, libvcdinfo >= 0.7.21,
1694      [have_libvcdinfo=yes
1695      AC_DEFINE(HAVE_VCDINFO, [], 
1696      [Define if you have libvcdinfo 0.7.21 or greater installed])],
1697      [AC_MSG_WARN(VCD information library not found)])
1698 fi
1699
1700 dnl
1701 dnl  VCDX and CDDAX modules
1702 dnl
1703 AC_ARG_ENABLE(cddax,
1704   [  --enable-cddax          audio CD plugin with CD Text and CD paranoia via libcdio (default disabled)])
1705  
1706 AC_ARG_ENABLE(libcddb,
1707   [  --enable-libcddb        CDDB support for libcdio audio CD (default enabled)])
1708  
1709 if test "${enable_cddax}" = "yes"
1710 then
1711   if test "$have_libcdio" = "yes"
1712   then
1713     AC_DEFINE(HAVE_CDDAX, [], [Define for the audio CD plugin using libcdio])
1714     VLC_ADD_LDFLAGS([cddax],[$LIBCDIO_LIBS])
1715     VLC_ADD_CFLAGS([cddax],[$LIBCDIO_CFLAGS])
1716     VLC_ADD_PLUGINS([cddax])
1717     PKG_CHECK_MODULES(LIBCDIO_PARANOIA, libcdio_paranoia >= 0.72, [
1718     VLC_ADD_LDFLAGS([cddax],[$LIBCDIO_CDDA_LIBS $LIBCDIO_CDDA_LIBS $LIBCDIO_PARANOIA_LIBS])],
1719     AC_MSG_WARN([CD Paranoia support disabled because no libcdio >= 0.72 found]))
1720   else 
1721     AC_MSG_WARN([cddax plugin disabled because ok libcdio library not found or disabled])
1722     HAVE_CDDAX=no
1723   fi
1724
1725   if test "$enable_libcddb" != "no"; then
1726     PKG_CHECK_MODULES(LIBCDDB, libcddb >= 0.9.5, [
1727       HAVE_LIBCDDB=yes 
1728       AC_DEFINE(HAVE_LIBCDDB, [], [Define this if you have libcddb installed])
1729       VLC_ADD_LDFLAGS([cddax],[$LIBCDDB_LIBS])
1730       VLC_ADD_CFLAGS([cddax],[$LIBCDDB_CFLAGS])
1731       ],
1732       [AC_MSG_WARN(new enough libcddb not found. CDDB access disabled) 
1733       HAVE_LIBCDDB=no])
1734   fi
1735  
1736 fi
1737
1738 AC_ARG_ENABLE(vcdx,
1739   [  --enable-vcdx           VCD with navigation via libvcdinfo (default disabled)])
1740  
1741 if test "${enable_vcdx}" = "yes"
1742 then
1743   if test "${have_libvcdinfo}" = "yes"
1744   then
1745     VLC_ADD_LDFLAGS([vcdx],[$VCDINFO_LIBS])
1746     VLC_ADD_CFLAGS([vcdx],[$VCDINFO_CFLAGS])
1747   else 
1748     AC_MSG_WARN([vcdx plugin disabled because ok libvcdinfo library not found or disabled])
1749     HAVE_VCDX=no
1750   fi
1751
1752   PKG_CHECK_MODULES(LIBCDIO, libiso9660 >= 0.72,
1753    [VLC_ADD_LDFLAGS([vcdx],[$LIBISO9660_LIBS])
1754     VLC_ADD_CFLAGS([vcdx],[$LIBISO9660_CFLAGS])],
1755     [AC_MSG_WARN([vcdx plugin disabled because ok libiso9660 library not found])
1756     HAVE_VCDX=no])
1757
1758   if test "$have_libvcdinfo" = "yes"
1759   then
1760     AC_DEFINE(HAVE_VCDX, [], 
1761     [Define for the VCD plugin using libcdio/libvcdinfo])
1762     VLC_ADD_LDFLAGS([vcdx],[$VCDINFO_LIBS])
1763     VLC_ADD_CFLAGS([vcdx],[$VCDINFO_CFLAGS])
1764     VLC_ADD_PLUGINS([vcdx])
1765   else 
1766     AC_MSG_WARN([vcdx plugin disabled because ok libvcdinfo library not found])
1767     HAVE_VCDX=no
1768   fi
1769 fi
1770
1771 dnl
1772 dnl  Built-in CD-DA and VCD module
1773 dnl
1774 AC_ARG_ENABLE(cdda,           
1775   [  --enable-cdda           audio CD via built-in VCD (default enabled)])
1776  
1777 AC_ARG_ENABLE(vcd,
1778   [  --enable-vcd            built-in VCD (default enabled)])
1779
1780 if test "${enable_vcd}" != "no"
1781 then
1782   AC_MSG_CHECKING(for cdrom_msf0 in linux/cdrom.h)
1783   AC_EGREP_HEADER(cdrom_msf0,linux/cdrom.h,[
1784     AC_MSG_RESULT(yes)
1785     VLC_ADD_PLUGINS([vcd cdda])
1786   ],[
1787     AC_MSG_RESULT(no)
1788   ])
1789
1790   AC_MSG_CHECKING(for scsireq in sys/scsiio.h)
1791   AC_EGREP_HEADER(scsireq,sys/scsiio.h,[
1792     AC_MSG_RESULT(yes)
1793     VLC_ADD_PLUGINS([vcd cdda])
1794     AC_DEFINE(HAVE_SCSIREQ_IN_SYS_SCSIIO_H, 1, For NetBSD VCD support)
1795   ],[
1796     AC_MSG_RESULT(no)
1797   ])
1798
1799   AC_MSG_CHECKING(for ioc_toc_header in sys/cdio.h)
1800   AC_EGREP_HEADER(ioc_toc_header ,sys/cdio.h,[
1801     AC_MSG_RESULT(yes)
1802     VLC_ADD_PLUGINS([vcd cdda])
1803     AC_DEFINE(HAVE_IOC_TOC_HEADER_IN_SYS_CDIO_H, 1, For FreeBSD VCD support)
1804   ],[
1805     AC_MSG_RESULT(no)
1806   ])
1807
1808   if test "${SYS}" = "bsdi" -o "${SYS}" = "mingw32"
1809   then
1810     VLC_ADD_PLUGINS([vcd cdda])
1811   fi
1812
1813   if test "${SYS}" = "darwin"
1814   then
1815     VLC_ADD_PLUGINS([vcd cdda])
1816     VLC_ADD_LDFLAGS([vcd vcdx cdda cddax],[-framework IOKit -framework CoreFoundation])
1817     VLC_ADD_LDFLAGS([vcdx cddax],[-liconv])
1818   fi
1819 fi
1820
1821 dnl
1822 dnl  DVB-S/DVB-T/DVB-C satellite/teresterial/cable input using v4l2
1823 dnl
1824 AC_ARG_ENABLE(dvb,
1825   [  --enable-dvb            DVB-S/T/C card support (default disabled)])
1826
1827 if test "${enable_dvb}" = "yes"
1828 then
1829   AC_ARG_WITH(dvb,
1830   [    --with-dvb=PATH       path to a dvb- and v4l2-enabled kernel tree],[],[])
1831   if test "${with_dvb}" != "no" -a -n "${with_dvb}"
1832   then
1833     VLC_ADD_CFLAGS([dvb],[-I${with_dvb}/include])
1834   fi
1835   CPPFLAGS="${CPPFLAGS_save} -I${with_dvb}/include"
1836   AC_CHECK_HEADERS(linux/dvb/version.h linux/dvb/frontend.h, [
1837     if test -z "${with_dvbpsi_tree}"
1838     then
1839       VLC_ADD_PLUGINS([dvb])
1840     else
1841       VLC_ADD_BUILTINS([dvb])
1842     fi
1843   ],[AC_MSG_WARN(linux-dvb headers not found, dvb disabled)])
1844   CPPFLAGS="${CPPFLAGS_save}"
1845 fi
1846
1847 dnl
1848 dnl  Screen capture module
1849 dnl
1850 AC_ARG_ENABLE(screen,
1851   [  --enable-screen         Screen capture support (default enabled)])
1852 if test "${enable_screen}" != "no"; then
1853   if test "${SYS}" = "darwin"; then
1854     AC_CHECK_HEADERS(ApplicationServices/ApplicationServices.h, [
1855       VLC_ADD_PLUGINS([screen])
1856       VLC_ADD_LDFLAGS([screen],[-framework ApplicationServices])
1857     ])
1858   elif test "${SYS}" = "mingw32"; then
1859     VLC_ADD_PLUGINS([screen])
1860     VLC_ADD_LDFLAGS([screen],[-lgdi32])
1861   elif test "${SYS}" = "mingwce"; then
1862     CPPFLAGS="${CPPFLAGS_save}"
1863   elif test "${SYS}" = "beos"; then
1864     VLC_ADD_PLUGINS([screen])
1865     VLC_ADD_CXXFLAGS([screen],[])
1866     VLC_ADD_LDFLAGS([screen],[-lbe])
1867   else
1868     CPPFLAGS="${CPPFLAGS_save} -I${x_includes}"
1869     AC_CHECK_HEADERS(X11/Xlib.h, [
1870       VLC_ADD_PLUGINS([screen])
1871       VLC_ADD_LDFLAGS([screen],[-L${x_libraries} -lX11 -lXext])
1872       VLC_ADD_CPPFLAGS([screen],[-I${x_includes}])
1873     ])
1874     CPPFLAGS="${CPPFLAGS_save}"
1875   fi
1876 fi
1877
1878 dnl
1879 dnl  ipv6 plugin - not for QNX yet
1880 dnl
1881 have_ipv6=no
1882 AC_CHECK_FUNCS(inet_pton,[have_ipv6=yes],[
1883   AC_CHECK_LIB(resolv,inet_pton,
1884     [have_ipv6=yes
1885      VLC_ADD_LDFLAGS([ipv6],[-lresolv])])
1886 ])
1887
1888 AS_IF([test "${have_ipv6}" == "yes"], [
1889   AC_DEFINE(HAVE_INET_PTON, 1, [Define to 1 if you have inet_pton().])])
1890
1891 if test "${SYS}" != "nto" &&
1892    test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
1893 then
1894   AC_MSG_CHECKING(for sockaddr_in6 in netinet/in.h)
1895   AC_EGREP_HEADER(sockaddr_in6,netinet/in.h,
1896     [AC_MSG_RESULT(yes)], [AC_MSG_RESULT(no); have_ipv6=no])
1897   AS_IF([test "${have_ipv6}" != "no"], [
1898     VLC_ADD_PLUGINS([ipv6])])
1899 fi
1900 if test "${SYS}" = "mingw32"
1901 then
1902   AC_MSG_CHECKING(for getaddrinfo in ws2tcpip.h)
1903   AC_EGREP_HEADER(addrinfo,ws2tcpip.h,[AC_MSG_RESULT(yes)
1904     VLC_ADD_PLUGINS([ipv6])],[AC_MSG_RESULT(no)])
1905 fi
1906
1907 dnl
1908 dnl  ogg demux plugin
1909 dnl
1910 AC_ARG_ENABLE(ogg,
1911   [  --enable-ogg            Ogg demux support (default enabled)])
1912 if test "${enable_ogg}" != "no"
1913 then
1914   AC_CHECK_HEADERS(ogg/ogg.h, [
1915     AC_CHECK_LIB( ogg, oggpack_read, [
1916       VLC_ADD_PLUGINS([ogg])
1917       if test "${enable_sout}" != "no"; then
1918         VLC_ADD_PLUGINS([mux_ogg])
1919       fi
1920       VLC_ADD_LDFLAGS([ogg mux_ogg],[-logg])])
1921    ],[])
1922 fi
1923
1924 dnl
1925 dnl  matroska demux plugin
1926 dnl
1927 AC_ARG_ENABLE(mkv,
1928   [  --enable-mkv            Matroska demux support (default enabled)])
1929 if test "${enable_mkv}" != "no" -a "${CXX}" != ""; then
1930   AC_LANG_PUSH(C++)
1931   AC_CHECK_HEADERS(ebml/EbmlVersion.h, [
1932     AC_MSG_CHECKING(for libebml version >= 0.7.3)
1933     AC_EGREP_CPP(yes,
1934       [#include <ebml/EbmlVersion.h>
1935        #ifdef LIBEBML_VERSION
1936        #if LIBEBML_VERSION >= 0x000703
1937        yes
1938        #endif
1939        #endif],
1940       [AC_MSG_RESULT([yes])
1941         AC_CHECK_HEADERS(matroska/KaxVersion.h, [
1942           AC_MSG_CHECKING(for libmatroska version >= 0.7.5)
1943           AC_EGREP_CPP(yes,
1944             [#include <matroska/KaxVersion.h>
1945              #ifdef LIBMATROSKA_VERSION
1946              #if LIBMATROSKA_VERSION >= 0x000705
1947              yes
1948              #endif
1949              #endif],
1950             [AC_MSG_RESULT([yes])
1951               AC_CHECK_HEADERS(matroska/KaxAttachments.h)
1952               VLC_ADD_CXXFLAGS([mkv],[])
1953               if test "${SYS}" = "darwin"; then
1954                 VLC_ADD_CXXFLAGS([mkv],[-O1])
1955               fi
1956               AC_CHECK_LIB(ebml_pic, main, [
1957                 # We have ebml_pic, that's good, we can build an mkv.so plugin !
1958                 VLC_ADD_PLUGINS([mkv])
1959                 VLC_ADD_LDFLAGS([mkv],[-lmatroska_pic -lebml_pic])
1960               ], [
1961                 AC_CHECK_LIB(ebml, main, [
1962                   # We only have libebml, make mkv.a a builtin
1963                   VLC_ADD_BUILTINS([mkv])
1964                   VLC_ADD_LDFLAGS([mkv],[-lmatroska -lebml])
1965                 ])
1966               ])
1967             ],
1968             [AC_MSG_RESULT([no])
1969               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.])
1970           ])
1971         ])
1972       ],
1973       [AC_MSG_RESULT([no])
1974         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.])
1975     ])
1976   ])
1977   AC_LANG_POP(C++)
1978 fi
1979
1980 dnl
1981 dnl  modplug demux plugin
1982 dnl
1983 AC_ARG_ENABLE(mod,
1984   [  --enable-mod            Mod demux support (default enabled)])
1985 if test "${enable_mod}" != "no"
1986 then
1987   AC_CHECK_HEADERS(libmodplug/modplug.h, [
1988     VLC_ADD_PLUGINS([mod])
1989     VLC_ADD_CXXFLAGS([mod],[])
1990     VLC_ADD_LDFLAGS([mod],[-lmodplug])])
1991 fi
1992
1993 dnl
1994 dnl  Codec plugins
1995 dnl
1996
1997 AC_ARG_WITH(,[Codec plugins:])
1998
1999 dnl
2000 dnl  mad plugin
2001 dnl
2002 AC_ARG_ENABLE(mad,
2003   [  --enable-mad            libmad module (default enabled)])
2004 if test "${enable_mad}" != "no"
2005 then
2006   AC_ARG_WITH(mad,
2007     [    --with-mad=PATH       path to libmad],[],[])
2008   if test "${with_mad}" != "no" -a -n "${with_mad}"
2009   then
2010     VLC_ADD_CPPFLAGS([mpgatofixed32],[-I${with_mad}/include])
2011     VLC_ADD_LDFLAGS([mpgatofixed32],[-L${with_mad}/lib])
2012   fi
2013
2014   AC_ARG_WITH(mad-tree,
2015     [    --with-mad-tree=PATH  mad tree for static linking],[],[])
2016   if test "${with_mad_tree}" != "no" -a -n "${with_mad_tree}"
2017   then
2018     real_mad_tree="`cd ${with_mad_tree} 2>/dev/null && pwd`"
2019     if test -z "${real_mad_tree}"
2020     then
2021       dnl  The given directory can't be found
2022       AC_MSG_RESULT(no)
2023       AC_MSG_ERROR([${with_mad_tree} directory doesn't exist])
2024     fi
2025     dnl  Use a custom libmad
2026     AC_MSG_CHECKING(for mad.h in ${real_mad_tree})
2027     if test -f ${real_mad_tree}/mad.h
2028     then
2029       AC_MSG_RESULT(yes)
2030       VLC_ADD_CPPFLAGS([mpgatofixed32],[-I${real_mad_tree}])
2031       VLC_ADD_LDFLAGS([mpgatofixed32],[-L${real_mad_tree}/.libs])
2032       LDFLAGS="${LDFLAGS_save} ${LDFLAGS_mpgatofixed32}"
2033       AC_CHECK_LIB(mad, mad_bit_init, [
2034         VLC_ADD_BUILTINS([mpgatofixed32])
2035         VLC_ADD_LDFLAGS([mpgatofixed32],[-lmad])
2036         ],[ AC_MSG_ERROR([the specified tree hasn't been compiled ])
2037       ],[])
2038       LDFLAGS="${LDFLAGS_save}"
2039     else
2040       AC_MSG_RESULT(no)
2041       AC_MSG_ERROR([the specified tree doesn't have mad.h])
2042     fi
2043   else
2044     CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_mpgatofixed32}"
2045     LDFLAGS="${LDFLAGS_save} ${LDFLAGS_mpgatofixed32}"
2046     AC_CHECK_HEADERS(mad.h, ,
2047       [ 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.]) ])
2048     AC_CHECK_LIB(mad, mad_bit_init, [
2049       VLC_ADD_PLUGINS([mpgatofixed32])
2050       VLC_ADD_LDFLAGS([mpgatofixed32],[-lmad])],
2051       [ AC_MSG_ERROR([Cannot find libmad library...]) ])
2052     CPPFLAGS="${CPPFLAGS_save}"
2053     LDFLAGS="${LDFLAGS_save}"
2054   fi
2055 fi
2056
2057 dnl
2058 dnl   libid3tag support (FIXME!!! doesn't work with new input)
2059 dnl
2060 AC_CHECK_HEADERS(id3tag.h, [
2061   AC_CHECK_HEADERS(zlib.h, [
2062     VLC_ADD_LDFLAGS([id3tag],[-lid3tag -lz])
2063     VLC_ADD_PLUGINS([id3tag])]) ])
2064
2065 dnl
2066 dnl  ffmpeg decoder/demuxer plugin
2067 dnl
2068 AC_ARG_ENABLE(ffmpeg,
2069 [  --enable-ffmpeg         ffmpeg codec (default enabled)])
2070 if test "${enable_ffmpeg}" != "no"
2071 then
2072 dnl Look for a ffmpeg-config (we are on debian )
2073  
2074    FFMPEG_PATH="${PATH}"
2075    AC_ARG_WITH(ffmpeg-config-path,
2076      [    --with-ffmpeg-config-path=PATH ffmpeg-config path (default search in \$PATH)],
2077      [ if test "${with_ffmpeg_config_path}" != "no"
2078        then
2079          FFMPEG_PATH="${with_ffmpeg_config_path}"
2080        fi ])
2081    AC_PATH_PROG(FFMPEG_CONFIG, ffmpeg-config, no, ${FFMPEG_PATH})
2082    if test "${FFMPEG_CONFIG}" != "no"
2083    then
2084      AC_CHECK_HEADERS(ffmpeg/avcodec.h)
2085      AC_CHECK_HEADERS(postproc/postprocess.h)
2086      VLC_ADD_PLUGINS([ffmpeg])
2087      if test "${enable_sout}" != "no"; then
2088          VLC_ADD_PLUGINS([stream_out_switcher])
2089      fi
2090      VLC_ADD_CFLAGS([ffmpeg stream_out_switcher],[`${FFMPEG_CONFIG} --cflags`])
2091      VLC_ADD_LDFLAGS([ffmpeg stream_out_switcher],[`${FFMPEG_CONFIG} --plugin-libs avcodec avformat postproc`])
2092   
2093   else
2094     AC_ARG_WITH(ffmpeg-mp3lame,
2095       [    --with-ffmpeg-mp3lame specify if ffmpeg has been compiled with mp3lame support],
2096       [
2097         VLC_ADD_LDFLAGS([ffmpeg],[-lmp3lame]) ])
2098
2099     AC_ARG_WITH(ffmpeg-faac,
2100       [    --with-ffmpeg-faac    specify if ffmpeg has been compiled with faac support],
2101       [
2102         VLC_ADD_LDFLAGS([ffmpeg],[-lfaac]) ])
2103
2104     AC_ARG_WITH(ffmpeg-dts,
2105       [    --with-ffmpeg-dts     specify if ffmpeg has been compiled with dts support],
2106       [
2107         VLC_ADD_LDFLAGS([ffmpeg],[-ldts]) ])
2108
2109     AC_ARG_WITH(ffmpeg-zlib,
2110       [    --with-ffmpeg-zlib    specify if ffmpeg has been compiled with zlib support],
2111       [
2112         VLC_ADD_LDFLAGS([ffmpeg],[-lz]) ])
2113
2114     AC_ARG_WITH(ffmpeg-tree,
2115       [    --with-ffmpeg-tree=PATH ffmpeg tree for static linking])
2116
2117     dnl
2118     dnl test for !(--with-ffmpeg-tree)
2119     dnl
2120     if test "${with_ffmpeg_tree}" = "no" -o -z "${with_ffmpeg_tree}"; then
2121       CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_ffmpeg}"
2122       LDFLAGS="${LDFLAGS_save} ${LDFLAGS_ffmpeg}"
2123       AC_CHECK_HEADERS(ffmpeg/avcodec.h, [], [AC_MSG_ERROR([Missing header file ffmpeg/avcodec.h.])] )
2124       AC_CHECK_HEADERS(postproc/postprocess.h, [], [AC_MSG_ERROR([Missing header file postproc/postprocess.h.])] )
2125
2126       AC_CHECK_LIB(avutil, av_add_i, [
2127         VLC_ADD_LDFLAGS([ffmpeg],[-lavutil])
2128         LDAVUTIL="-lavutil"])
2129
2130       AC_CHECK_LIB(avcodec, avcodec_init, [
2131         VLC_ADD_BUILTINS([ffmpeg])
2132         VLC_ADD_LDFLAGS([ffmpeg],[-lavcodec])
2133         if test "${enable_sout}" != "no"; then
2134             VLC_ADD_BUILTINS([stream_out_switcher])
2135         fi],
2136          [ 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])
2137       AC_CHECK_LIB(avformat, av_open_input_stream, [
2138         AC_DEFINE(HAVE_LIBAVFORMAT, 1,
2139         [Define if you have ffmpeg's libavformat.])
2140         VLC_ADD_LDFLAGS([ffmpeg],[-lavformat -lz]) ], [], [-lavcodec -lz $LDAVUTIL])
2141       LDFLAGS="${LDFLAGS_save}"
2142       CPPFLAGS="${CPPFLAGS_save}"
2143     fi
2144
2145     dnl
2146     dnl test for --with-ffmpeg-tree
2147     dnl
2148     if test "${with_ffmpeg_tree}" != "no" -a -n "${with_ffmpeg_tree}"; then
2149       AC_MSG_CHECKING(for libavcodec.a in ${with_ffmpeg_tree})
2150       real_ffmpeg_tree="`cd ${with_ffmpeg_tree} 2>/dev/null && pwd`"
2151       if test -z "${real_ffmpeg_tree}"; then
2152         dnl  The given directory can't be found
2153         AC_MSG_RESULT(no)
2154         AC_MSG_ERROR([cannot cd to ${with_ffmpeg_tree}])
2155       fi
2156       if ! test -f "${real_ffmpeg_tree}/libavcodec/libavcodec.a"; then
2157         dnl  The given libavcodec wasn't built
2158         AC_MSG_RESULT(no)
2159         AC_MSG_ERROR([cannot find ${real_ffmpeg_tree}/libavcodec/libavcodec.a, make sure you compiled libavcodec in ${with_ffmpeg_tree}])
2160       fi
2161       if ! fgrep -s "pp_get_context" "${real_ffmpeg_tree}/libavcodec/libavcodec.a"; then
2162         dnl  The given libavcodec wasn't built with --enable-pp
2163         AC_MSG_RESULT(no)
2164         AC_MSG_ERROR([${real_ffmpeg_tree}/libavcodec/libavcodec.a was not compiled with postprocessing support, make sure you configured ffmpeg with --enable-pp])
2165       fi
2166       dnl  Use a custom libffmpeg
2167       AC_MSG_RESULT(${real_ffmpeg_tree}/libavcodec/libavcodec.a)
2168
2169       if fgrep -s "CONFIG_ZLIB=yes" "${real_ffmpeg_tree}/config.mak"; then
2170         if test "${with_ffmpeg_zlib}" != "yes"; then
2171           VLC_ADD_LDFLAGS([ffmpeg],[-lz])
2172         fi
2173       fi
2174       if fgrep -s "CONFIG_MP3LAME=yes" "${real_ffmpeg_tree}/config.mak"; then
2175         if test "${with_ffmpeg_mp3lame}" != "yes"; then
2176           VLC_ADD_LDFLAGS([ffmpeg],[-lmp3lame])
2177         fi
2178       fi
2179       if fgrep -s "CONFIG_FAAC=yes" "${real_ffmpeg_tree}/config.mak"; then
2180         if test "${with_ffmpeg_faac}" != "yes"; then
2181           VLC_ADD_LDFLAGS([ffmpeg],[-lfaac])
2182         fi
2183       fi
2184       if fgrep -s "CONFIG_DTS=yes" "${real_ffmpeg_tree}/config.mak"; then
2185         if test "${with_ffmpeg_dts}" != "yes"; then
2186           VLC_ADD_LDFLAGS([ffmpeg],[-ldts])
2187         fi
2188       fi
2189       if fgrep -s "CONFIG_VORBIS=yes" "${real_ffmpeg_tree}/config.mak"; then
2190         VLC_ADD_LDFLAGS([ffmpeg],[-lvorbis -lvorbisenc])
2191       fi
2192       if fgrep -s "CONFIG_FAAD=yes" "${real_ffmpeg_tree}/config.mak"; then
2193         VLC_ADD_LDFLAGS([ffmpeg],[-lfaad])
2194       fi
2195       if fgrep -s "CONFIG_XVID=yes" "${real_ffmpeg_tree}/config.mak"; then
2196         VLC_ADD_LDFLAGS([ffmpeg],[-lxvidcore])
2197       fi
2198
2199       VLC_ADD_BUILTINS([ffmpeg])
2200       if test "${enable_sout}" != "no"; then
2201         VLC_ADD_BUILTINS([stream_out_switcher])
2202       fi
2203
2204       if test -f "${real_ffmpeg_tree}/libavutil/libavutil.a"; then
2205         VLC_ADD_LDFLAGS([ffmpeg],[-L${real_ffmpeg_tree}/libavutil ${real_ffmpeg_tree}/libavutil/libavutil.a])
2206         VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher],[-I${real_ffmpeg_tree}/libavutil])
2207       fi
2208
2209       VLC_ADD_LDFLAGS([ffmpeg],[-L${real_ffmpeg_tree}/libavcodec ${real_ffmpeg_tree}/libavcodec/libavcodec.a])
2210       VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher],[-I${real_ffmpeg_tree}/libavcodec])
2211
2212       if test -f "${real_ffmpeg_tree}/libavformat/libavformat.a"; then
2213         AC_DEFINE(HAVE_LIBAVFORMAT, 1, [Define if you have ffmpeg's libavformat.])
2214         VLC_ADD_LDFLAGS([ffmpeg],[-L${real_ffmpeg_tree}/libavformat ${real_ffmpeg_tree}/libavformat/libavformat.a])
2215         VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher],[-I${real_ffmpeg_tree}/libavformat])
2216       fi
2217     fi
2218   fi
2219 fi
2220
2221 dnl
2222 dnl  ffmpeg decoder/demuxer plugin
2223 dnl
2224 AC_ARG_ENABLE(ffmpegaltivec,
2225 [  --enable-ffmpegaltivec  ffmpegaltivec codec (DO NOT USE)])
2226 if test "${enable_ffmpegaltivec}" == "yes"
2227 then
2228   if test "${with_ffmpeg_tree}" != "no" -a -n "${with_ffmpeg_tree}"; then
2229     AC_MSG_CHECKING(for libavcodecaltivec.a in ${with_ffmpeg_tree})
2230     real_ffmpeg_tree="`cd ${with_ffmpeg_tree} 2>/dev/null && pwd`"
2231     if test -z "${real_ffmpeg_tree}"; then
2232       dnl  The given directory can't be found
2233       AC_MSG_RESULT(no)
2234       AC_MSG_ERROR([cannot cd to ${with_ffmpeg_tree}])
2235     fi
2236     if ! test -f "${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a"; then
2237       dnl  The given libavcodecaltivec wasn't built
2238       AC_MSG_RESULT(no)
2239       AC_MSG_ERROR([cannot find ${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a, make sure you compiled libavcodecaltivec in ${with_ffmpeg_tree}])
2240     fi
2241     if ! fgrep -s "pp_get_context" "${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a"; then
2242       dnl  The given libavcodecaltivec wasn't built with --enable-pp
2243       AC_MSG_RESULT(no)
2244       AC_MSG_ERROR([${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a was not compiled with postprocessing support, make sure you configured ffmpeg with --enable-pp])
2245     fi
2246     dnl  Use a custom libffmpeg
2247     AC_MSG_RESULT(${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a)
2248     VLC_ADD_BUILTINS([ffmpegaltivec])
2249     VLC_ADD_LDFLAGS([ffmpegaltivec],[-L${real_ffmpeg_tree}/libavcodec -lavcodecaltivec])
2250     VLC_ADD_CPPFLAGS([ffmpeg],[-DNO_ALTIVEC_IN_FFMPEG])
2251     VLC_ADD_CPPFLAGS([ffmpegaltivec],[-I${real_ffmpeg_tree}/libavcodec -I${real_ffmpeg_tree}/libavformat])
2252
2253     if test -f "${real_ffmpeg_tree}/libavformat/libavformat.a"; then
2254       AC_DEFINE(HAVE_LIBAVFORMAT, 1, [Define if you have ffmpeg's libavformat.])
2255       VLC_ADD_LDFLAGS([ffmpegaltivec],[-L${real_ffmpeg_tree}/libavformat -lavformataltivec -lz])
2256       VLC_ADD_CPPFLAGS([ffmpegaltivec],[-I${real_ffmpeg_tree}/libavformat])
2257     fi
2258     VLC_ADD_LDFLAGS([stream_out_switcher],[-L${real_ffmpeg_tree}/libavcodec])
2259     VLC_ADD_CPPFLAGS([stream_out_switcher],[-I${real_ffmpeg_tree}/libavcodec -I${real_ffmpeg_tree}/libavformat])
2260   fi
2261 fi
2262
2263 dnl
2264 dnl  faad decoder plugin
2265 dnl
2266 AC_ARG_ENABLE(faad,
2267 [  --enable-faad           faad codec (default disabled)])
2268 if test "${enable_faad}" = "yes"
2269 then
2270   AC_ARG_WITH(faad-tree,
2271   [    --with-faad-tree=PATH faad tree for static linking])
2272   if test -n "${with_faad_tree}"
2273   then
2274     AC_MSG_CHECKING(for libfaad.a in ${with_faad_tree})
2275     real_faad_tree="`cd ${with_faad_tree} 2>/dev/null && pwd`"
2276     if test -z "${real_faad_tree}"
2277     then
2278       dnl  The given directory can't be found
2279       AC_MSG_RESULT(no)
2280       AC_MSG_ERROR([cannot cd to ${with_faad_tree}])
2281     fi
2282     if test -f "${real_faad_tree}/libfaad/.libs/libfaad.a"
2283     then
2284       dnl  Use a custom faad
2285       AC_MSG_RESULT(${real_faad_tree}/libfaad/.libs/libfaad.a)
2286       VLC_ADD_BUILTINS([faad])
2287       VLC_ADD_LDFLAGS([faad],[${real_faad_tree}/libfaad/.libs/libfaad.a])
2288       VLC_ADD_CPPFLAGS([faad],[-I${real_faad_tree}/include])
2289     else
2290       dnl  The given libfaad wasn't built
2291       AC_MSG_RESULT(no)
2292       AC_MSG_ERROR([cannot find ${real_faad_tree}/libfaad/.libs/libfaad.a, make sure you compiled libfaad in ${with_faad_tree}])
2293     fi
2294   else
2295     CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_faad}"
2296     LDFLAGS="${LDFLAGS_save} ${LDFLAGS_faad}"
2297     AC_CHECK_HEADERS(faad.h, ,
2298       [ AC_MSG_ERROR([Cannot find development headers for libfaad...]) ])
2299     AC_CHECK_LIB(faad, faacDecOpen, [
2300       VLC_ADD_PLUGINS([faad])
2301       VLC_ADD_LDFLAGS([faad],[-lfaad]) ],
2302       AC_CHECK_LIB(faad, NeAACDecOpen, [
2303         VLC_ADD_PLUGINS([faad])
2304         VLC_ADD_LDFLAGS([faad],[-lfaad]) ],
2305         [ AC_MSG_ERROR([Cannot find libfaad library...]) ]))
2306     LDFLAGS="${LDFLAGS_save}"
2307     CPPFLAGS="${CPPFLAGS_save}"
2308   fi
2309 fi
2310
2311 dnl
2312 dnl twolame encoder plugin
2313 dnl
2314 AC_ARG_ENABLE(twolame,
2315 [  --enable-twolame        twolame codec (default disabled)])
2316 if test "${enable_twolame}" = "yes"
2317 then
2318   AC_ARG_WITH(twolame-tree,
2319   [    --with-twolame-tree=PATH twolame tree for static linking])
2320   if test -n "${with_twolame_tree}"
2321   then
2322     AC_MSG_CHECKING(for libtwolame.a in ${with_twolame_tree})
2323     real_twolame_tree="`cd ${with_twolame_tree} 2>/dev/null && pwd`"
2324     if test -z "${real_twolame_tree}"
2325     then
2326       dnl  The given directory can't be found
2327       AC_MSG_RESULT(no)
2328       AC_MSG_ERROR([cannot cd to ${with_twolame_tree}])
2329     fi
2330     if test -f "${real_twolame_tree}/src/libtwolame/.libs/libtwolame.a"
2331     then
2332       dnl  Use a custom twolame
2333       AC_MSG_RESULT(${real_twolame_tree}/src/libtwolame/.libs/libtwolame.a)
2334       VLC_ADD_BUILTINS([twolame])
2335       VLC_ADD_LDFLAGS([twolame],[${real_twolame_tree}/src/libtwolame/.libs/libtwolame.a])
2336       VLC_ADD_CPPFLAGS([twolame],[-I${real_twolame_tree}/src/libtwolame])
2337     else
2338       dnl  The given libtwolame wasn't built
2339       AC_MSG_RESULT(no)
2340       AC_MSG_ERROR([cannot find ${real_twolame_tree}/src/libtwolame/.libs/libtwolame.a, make sure you compiled libtwolame in ${with_twolame_tree}])
2341     fi
2342   else
2343     CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_twolame}"
2344     LDFLAGS="${LDFLAGS_save} ${LDFLAGS_twolame}"
2345     AC_CHECK_HEADERS(twolame.h, ,
2346       [ AC_MSG_ERROR([Cannot find development header for libtwolame...]) ])
2347     AC_CHECK_LIB(twolame, twolame_init, [
2348       VLC_ADD_PLUGINS([twolame])
2349       VLC_ADD_LDFLAGS([twolame],[-ltwolame]) ],
2350         [ AC_MSG_ERROR([Cannot find libtwolame library...]) ])
2351     LDFLAGS="${LDFLAGS_save}"  
2352     CPPFLAGS="${CPPFLAGS_save}"
2353   fi
2354 fi
2355
2356 dnl
2357 dnl  QuickTime plugin
2358 dnl
2359 AC_ARG_ENABLE(quicktime,
2360   [  --enable-quicktime      QuickTime module (default enabled on MacOS X)])
2361 if test "${enable_quicktime}" != "no" &&
2362   (test "${SYS}" = "darwin" || test "${enable_quicktime}" = "yes")
2363 then
2364   if test "${SYS}" = "mingw32"; then
2365     VLC_ADD_BUILTINS([quicktime])
2366   else
2367   AC_CHECK_HEADERS(QuickTime/QuickTime.h,
2368     [ VLC_ADD_BUILTINS([quicktime])
2369       VLC_ADD_LDFLAGS([quicktime],[-framework QuickTime -framework Carbon])
2370     ], [ AC_MSG_ERROR([cannot find QuickTime headers]) ])
2371   fi
2372 fi
2373
2374 dnl
2375 dnl MP4 module
2376 dnl
2377 AC_CHECK_HEADERS(zlib.h, [
2378   VLC_ADD_LDFLAGS([mp4 skins2 sap mkv],[-lz])
2379 ] )
2380
2381 AC_CHECK_HEADERS(sysfs/libsysfs.h, [
2382   VLC_ADD_LDFLAGS([mp4 mkv],[-lsysfs])
2383 ] )
2384
2385 dnl
2386 dnl skins2 module
2387 dnl
2388 AC_CHECK_HEADERS(libtar.h, [
2389   VLC_ADD_LDFLAGS([skins2],[-ltar])
2390 ] )
2391
2392
2393
2394 dnl
2395 dnl A52/AC3 decoder plugin
2396 dnl
2397 AC_ARG_ENABLE(a52,
2398   [  --enable-a52            A/52 support with liba52 (default enabled)])
2399 if test "${enable_a52}" != "no"
2400 then
2401   AC_ARG_WITH(a52,
2402     [    --with-a52=PATH       a52 headers and libraries])
2403   AC_ARG_WITH(a52-tree,
2404     [    --with-a52-tree=PATH  a52dec tree for static linking ],[],[])
2405   if test "${with_a52_tree}" != "no" -a -n "${with_a52_tree}"
2406   then
2407     real_a52_tree="`cd ${with_a52_tree} 2>/dev/null && pwd`"
2408     if test -z "${real_a52_tree}"
2409     then
2410       dnl  The given directory can't be found
2411       AC_MSG_RESULT(no)
2412       AC_MSG_ERROR([${with_a52_tree} directory doesn't exist])
2413     fi
2414     dnl  Use a custom a52dec
2415     AC_MSG_CHECKING(for a52.h in ${real_a52_tree}/include)
2416     if test -f ${real_a52_tree}/include/a52.h
2417     then
2418       AC_MSG_RESULT(yes)
2419       VLC_ADD_CPPFLAGS([a52tofloat32],[-I${real_a52_tree}])
2420       VLC_ADD_LDFLAGS([a52tofloat32],[-L${real_a52_tree}/liba52/.libs])
2421       LDFLAGS="${LDFLAGS_save} ${LDFLAGS_a52tofloat32}"
2422       AC_CHECK_LIB(a52, a52_free, [
2423         VLC_ADD_BUILTINS([a52tofloat32])
2424         VLC_ADD_CPPFLAGS([a52tofloat32],[-DUSE_A52DEC_TREE])
2425         VLC_ADD_LDFLAGS([a52tofloat32],[-la52])
2426         ],[
2427         if test -f ${real_a52_tree}/liba52/.libs/liba52.a
2428         then
2429           AC_MSG_ERROR([make sure you have at least a52dec-0.7.3])
2430         else
2431           AC_MSG_ERROR([the specified tree hasn't been compiled])
2432         fi
2433       ])
2434       LDFLAGS="${LDFLAGS_save}"
2435     else
2436       AC_MSG_RESULT(no)
2437       AC_MSG_ERROR([the specified tree doesn't have a52.h])
2438     fi
2439   else
2440     if test -z "${with_a52}"
2441     then
2442       LDFLAGS_test=""
2443       CPPFLAGS_test=""
2444     else
2445       LDFLAGS_test="-L${with_a52}/lib"
2446       CPPFLAGS_test="-I${with_a52}/include"
2447     fi
2448     CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_test} ${CPPFLAGS_a52tofloat32}"
2449     LDFLAGS="${LDFLAGS_save} ${LDFLAGS_test} ${LDFLAGS_a52tofloat32}"
2450     AC_CHECK_HEADERS(a52dec/a52.h, [
2451       AC_CHECK_LIB(a52, a52_free, [
2452         VLC_ADD_PLUGINS([a52tofloat32])
2453         VLC_ADD_LDFLAGS([a52tofloat32],[${LDFLAGS_test} -la52])
2454         VLC_ADD_CPPFLAGS([a52tofloat32],[${CPPFLAGS_test}])
2455       ],[
2456         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.])
2457       ])
2458     ])
2459     CPPFLAGS="${CPPFLAGS_save}"
2460     LDFLAGS="${LDFLAGS_save}"
2461   fi
2462 fi
2463
2464 AC_ARG_WITH(a52-fixed,
2465       [    --with-a52-fixed      specify if liba52 has been compiled with fixed point support],
2466       [
2467         VLC_ADD_CPPFLAGS([a52tofloat32],[-DLIBA52_FIXED]) ])
2468
2469 dnl
2470 dnl DTS Coherent Acoustics decoder plugin
2471 dnl
2472 AC_ARG_ENABLE(dts,
2473   [  --enable-dts            DTS Coherent Acoustics support with libdts (default enabled)])
2474 if test "${enable_dts}" != "no"; then
2475   AC_ARG_WITH(dts-tree,
2476     [    --with-dts-tree=PATH  libdts tree for static linking ],[],[])
2477   if test "${with_dts_tree}" != "no" -a -n "${with_dts_tree}"
2478   then
2479     real_dts_tree="`cd ${with_dts_tree} 2>/dev/null && pwd`"
2480     if test -z "${real_dts_tree}"
2481     then
2482       dnl  The given directory can't be found
2483       AC_MSG_RESULT(no)
2484       AC_MSG_ERROR([${with_dts_tree} directory doesn't exist])
2485     fi
2486     dnl  Use a custom libdts
2487     AC_MSG_CHECKING(for dts.h in ${real_dts_tree}/include)
2488     if test -f ${real_dts_tree}/include/dts.h
2489     then
2490       AC_MSG_RESULT(yes)
2491       VLC_ADD_CPPFLAGS([dtstofloat32],[-I${real_dts_tree}/include])
2492       VLC_ADD_LDFLAGS([dtstofloat32],[-L${real_dts_tree}/libdts])
2493       LDFLAGS="${LDFLAGS_save} ${LDFLAGS_dtstofloat32}"
2494       AC_CHECK_LIB(dts_pic, dts_free, [
2495         VLC_ADD_PLUGINS([dtstofloat32])
2496         VLC_ADD_LDFLAGS([dtstofloat32],[-ldts_pic])
2497         ],[
2498         AC_CHECK_LIB(dts, dts_free, [
2499           VLC_ADD_BUILTINS([dtstofloat32])
2500           VLC_ADD_LDFLAGS([dtstofloat32],[-ldts])
2501           ],[
2502           if test -f ${real_dts_tree}/libdts/libdts.a
2503           then
2504             AC_MSG_ERROR([make sure you have at least libdts-0.0.2])
2505           else
2506             AC_MSG_ERROR([the specified tree hasn't been compiled])
2507           fi
2508         ])
2509       ])
2510       LDFLAGS="${LDFLAGS_save}"
2511     else
2512       AC_MSG_RESULT(no)
2513       AC_MSG_ERROR([the specified tree doesn't have dts.h])
2514     fi
2515   else
2516     LDFLAGS="${LDFLAGS_save} ${LDFLAGS_dtstofloat32}"
2517     AC_CHECK_HEADERS(dts.h, [
2518       AC_CHECK_LIB(dts_pic, dts_free, [
2519         VLC_ADD_PLUGINS([dtstofloat32])
2520         VLC_ADD_LDFLAGS([dtstofloat32],[-ldts_pic])
2521       ],[
2522         AC_CHECK_LIB(dts, dts_free, [
2523           VLC_ADD_BUILTINS([dtstofloat32])
2524           VLC_ADD_LDFLAGS([dtstofloat32],[-ldts])
2525         ],[
2526           if test "${enable_dts}" = "yes"; then
2527             AC_MSG_ERROR([Could not find libdts on your system: you may get it from http://www.videolan.org/dtsdec.html])
2528           fi
2529         ])
2530       ])
2531     ])
2532     LDFLAGS="${LDFLAGS_save}"
2533   fi
2534 fi
2535
2536 dnl
2537 dnl  Flac plugin
2538 dnl
2539 AC_ARG_ENABLE(flac,
2540   [  --enable-flac           flac decoder support (default disabled)])
2541 if test "${enable_flac}" = "yes"
2542 then
2543   AC_CHECK_HEADERS(FLAC/stream_decoder.h, [
2544     VLC_ADD_LDFLAGS([flacdec],[-lFLAC])
2545    ],[])
2546 fi
2547
2548 dnl
2549 dnl  Libmpeg2 plugin
2550 dnl
2551 AC_ARG_ENABLE(libmpeg2,
2552   [  --enable-libmpeg2       libmpeg2 decoder support (default enabled)])
2553 if test "${enable_libmpeg2}" != "no"
2554 then
2555   AC_ARG_WITH(libmpeg2-tree,
2556   [    --with-libmpeg2-tree=PATH libmpeg2 tree for static linking])
2557   if test -n "${with_libmpeg2_tree}"
2558   then
2559     AC_MSG_CHECKING(for libmpeg2.a in ${with_libmpeg2_tree})
2560     real_libmpeg2_tree="`cd ${with_libmpeg2_tree} 2>/dev/null && pwd`"
2561     if test -z "${real_libmpeg2_tree}"
2562     then
2563       dnl  The given directory can't be found
2564       AC_MSG_RESULT(no)
2565       AC_MSG_ERROR([cannot cd to ${with_libmpeg2_tree}])
2566     fi
2567     if test -f "${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a"
2568     then
2569       dnl  Use a custom libmpeg2
2570       AC_MSG_RESULT(${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a)
2571       VLC_ADD_BUILTINS([libmpeg2])
2572       VLC_ADD_LDFLAGS([libmpeg2],[-L${real_libmpeg2_tree}/libmpeg2/.libs -lmpeg2])
2573       VLC_ADD_CFLAGS([libmpeg2],[-I${real_libmpeg2_tree}/include])
2574       eval "`cd ${real_libmpeg2_tree}/include && ln -sf . mpeg2dec 2>/dev/null`"
2575     else
2576       dnl  The given libmpeg2 wasn't built
2577       AC_MSG_RESULT(no)
2578       AC_MSG_ERROR([cannot find ${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a, make sure you compiled libmpeg2 in ${with_libmpeg2_tree}])
2579     fi
2580   else
2581     AC_CHECK_HEADERS(mpeg2dec/mpeg2.h, [
2582       AC_MSG_CHECKING(for libmpeg2 version >= 0.3.2)
2583       AC_EGREP_CPP(yes,
2584         [#include <mpeg2dec/mpeg2.h>
2585          #ifdef MPEG2_RELEASE
2586          #if MPEG2_RELEASE >= MPEG2_VERSION(0,3,2)
2587          yes
2588          #endif
2589          #endif],
2590         [AC_MSG_RESULT([yes])
2591           VLC_ADD_PLUGINS([libmpeg2])
2592           VLC_ADD_LDFLAGS([libmpeg2],[-lmpeg2])],
2593         [AC_MSG_RESULT([no])
2594           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.])])],
2595
2596       [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.])]
2597     )
2598   fi
2599 fi
2600
2601 dnl
2602 dnl  Vorbis plugin
2603 dnl
2604 AC_ARG_ENABLE(vorbis,
2605   [  --enable-vorbis         Vorbis decoder support (default enabled)])
2606 if test "${enable_vorbis}" != "no"
2607 then
2608   AC_CHECK_HEADERS(vorbis/codec.h, [
2609     VLC_ADD_PLUGINS([vorbis])
2610     VLC_ADD_LDFLAGS([vorbis],[-lvorbis -logg]) ],[])
2611
2612   AC_CHECK_HEADERS(vorbis/vorbisenc.h, [
2613     VLC_ADD_LDFLAGS([vorbis],[-lvorbisenc]) ],[])
2614 fi
2615
2616 dnl
2617 dnl  Tremor plugin
2618 dnl
2619 AC_ARG_ENABLE(tremor,
2620   [  --enable-tremor         Tremor decoder support (default disabled)])
2621 if test "${enable_tremor}" = "yes"
2622 then
2623   AC_CHECK_HEADERS(tremor/ivorbiscodec.h, [
2624     VLC_ADD_PLUGINS([tremor])
2625     VLC_ADD_LDFLAGS([tremor],[-lvorbisidec -logg])
2626    ],[])
2627 fi
2628
2629 dnl
2630 dnl  Speex plugin
2631 dnl
2632 AC_ARG_ENABLE(speex,
2633   [  --enable-speex          Speex decoder support (default enabled)])
2634 if test "${enable_speex}" != "no"
2635 then
2636   AC_CHECK_HEADERS(speex/speex.h, [
2637     LDFLAGS="${LDFLAGS_save} ${LDFLAGS_speex}"
2638     AC_CHECK_LIB(speex, speex_decode_int, [
2639       VLC_ADD_PLUGINS([speex])
2640       VLC_ADD_LDFLAGS([speex],[-lspeex]) ],
2641       [ AC_MSG_RESULT([no])
2642         AC_MSG_WARN([Your libspeex is too old, please get the development
2643                      version.]) ],[])
2644     LDFLAGS="${LDFLAGS_save}"
2645     ],[])
2646 fi
2647
2648 dnl
2649 dnl  tarkin decoder plugin
2650 dnl
2651 AC_ARG_ENABLE(tarkin,
2652 [  --enable-tarkin         experimental tarkin codec (default disabled)])
2653 if test "${enable_tarkin}" = "yes"
2654 then
2655   AC_ARG_WITH(tarkin-tree,
2656   [    --with-tarkin-tree=PATH tarkin tree for static linking])
2657   if test -n "${with_tarkin_tree}"
2658   then
2659     AC_MSG_CHECKING(for tarkin.o in ${with_tarkin_tree})
2660     real_tarkin_tree="`cd ${with_tarkin_tree} 2>/dev/null && pwd`"
2661     if test -f "${real_tarkin_tree}/tarkin.o"
2662     then
2663       VLC_ADD_BUILTINS([tarkin])
2664       VLC_ADD_CPPFLAGS([tarkin],[-I${real_tarkin_tree}])
2665       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])
2666       AC_MSG_RESULT(yes)
2667     else
2668       dnl  The given tarkin tree wasn't built
2669       AC_MSG_RESULT(no)
2670       AC_MSG_ERROR([cannot find ${real_tarkin_tree}/tarkin.o,
2671                     make sure you compiled tarkin in ${with_tarkin_tree}])
2672     fi
2673   fi
2674 fi
2675
2676 dnl
2677 dnl  theora decoder plugin
2678 dnl
2679 AC_ARG_ENABLE(theora,
2680 [  --enable-theora         experimental theora codec (default disabled)])
2681 if test "${enable_theora}" = "yes"
2682 then
2683   AC_CHECK_HEADERS(theora/theora.h, [
2684     AC_CHECK_LIB(theora, theora_granule_time, [
2685       if test "${SYS}" = "mingw32"; then
2686         VLC_ADD_PLUGINS([theora])
2687       else
2688         VLC_ADD_BUILTINS([theora])
2689       fi
2690       theora_libs="-ltheora -logg"
2691       VLC_ADD_LDFLAGS([theora],[${theora_libs}]) ],[
2692       AC_MSG_ERROR([libtheora doesn't appear to be installed on your system.
2693 You also need to check that you have a libogg posterior to the 1.0 release.])],
2694       [-logg])
2695   ])
2696 fi
2697
2698 dnl
2699 dnl  dirac decoder plugin
2700 dnl
2701 AC_ARG_ENABLE(dirac,
2702 [  --enable-dirac          experimental dirac codec (default disabled)])
2703 if test "${enable_dirac}" = "yes"; then
2704   AC_CHECK_HEADERS(libdirac_decoder/dirac_parser.h, [
2705     AC_CHECK_LIB(dirac_decoder, dirac_decoder_init, [
2706       VLC_ADD_PLUGINS([dirac])
2707       VLC_ADD_LDFLAGS([dirac],[-ldirac_decoder -ldirac_encoder -lstdc++]) ],[
2708       AC_MSG_ERROR([libdirac doesn't appear to be installed on you system.])],
2709       [-lstdc++])
2710   ])
2711 fi
2712
2713 dnl
2714 dnl  PNG decoder module
2715 dnl
2716 AC_ARG_ENABLE(png,
2717   [  --enable-png            PNG support (default enabled)])
2718 if test "${enable_png}" != "no"; then
2719 AC_CHECK_HEADERS(png.h, [
2720   LDFLAGS="${LDFLAGS_save} -lz"
2721   AC_CHECK_LIB(png, png_set_rows, [
2722     VLC_ADD_LDFLAGS([png],[-lpng -lz])
2723     VLC_ADD_PLUGINS([png])
2724     VLC_ADD_PLUGINS([osdmenu])
2725     AC_DEFINE(HAVE_LIBPNG, [], [Define if you have the PNG library: libpng])],
2726     [],[-lz])
2727   LDFLAGS="${LDFLAGS_save}"
2728   ])
2729 fi
2730
2731 dnl
2732 dnl H264 encoder plugin (using libx264)
2733 dnl
2734 AC_ARG_ENABLE(x264,
2735   [  --enable-x264           H264 encoding support with libx264 (default enabled)])
2736 if test "${enable_x264}" != "no"; then
2737   AC_ARG_WITH(x264-tree,
2738     [    --with-x264-tree=PATH x264 tree for static linking ],[],[])
2739   if test "${with_x264_tree}" != "no" -a -n "${with_x264_tree}"
2740   then
2741     real_x264_tree="`cd ${with_x264_tree} 2>/dev/null && pwd`"
2742     if test -z "${real_x264_tree}"
2743     then
2744       dnl  The given directory can't be found
2745       AC_MSG_RESULT(no)
2746       AC_MSG_ERROR([${with_x264_tree} directory doesn't exist])
2747     fi
2748     dnl  Use a custom libx264
2749     AC_MSG_CHECKING(for x264.h in ${real_x264_tree})
2750     if test -f ${real_x264_tree}/x264.h
2751     then
2752       AC_MSG_RESULT(yes)
2753       VLC_ADD_CPPFLAGS([x264],[-I${real_x264_tree}])
2754       VLC_ADD_LDFLAGS([x264],[-L${real_x264_tree}])
2755       LDFLAGS="${LDFLAGS_save} ${LDFLAGS_x264}"
2756       AC_CHECK_LIB(x264, x264_encoder_open, [
2757         VLC_ADD_BUILTINS([x264])
2758         VLC_ADD_LDFLAGS([x264],[-lx264])
2759       ],[
2760         AC_MSG_ERROR([the specified tree hasn't been compiled])
2761       ])
2762       LDFLAGS="${LDFLAGS_save}"
2763     else
2764       AC_MSG_RESULT(no)
2765       AC_MSG_ERROR([the specified tree doesn't have x264.h])
2766     fi
2767   else
2768     LDFLAGS="${LDFLAGS_save} ${LDFLAGS_x264}"
2769     AC_CHECK_HEADERS(x264.h, [
2770       AC_CHECK_LIB(x264, x264_encoder_open, [
2771         VLC_ADD_PLUGINS([x264])
2772         VLC_ADD_LDFLAGS([x264],[-lx264])
2773       ],[
2774         if test "${enable_x264}" = "yes"; then
2775             AC_MSG_ERROR([Could not find libx264 on your system: you may get it from http://www.videolan.org/x264.html])
2776           fi
2777       ])
2778     ])
2779     LDFLAGS="${LDFLAGS_save}"
2780   fi
2781 fi
2782
2783 dnl
2784 dnl  CMML plugin
2785 dnl
2786 AC_ARG_ENABLE(cmml,
2787   [  --enable-cmml           CMML support (default enabled)])
2788 if test "${enable_cmml}" != "no"
2789 then
2790   VLC_ADD_PLUGINS([cmml])
2791 fi
2792
2793
2794 dnl
2795 dnl  Video plugins
2796 dnl
2797
2798 AC_ARG_WITH(,[Video plugins:])
2799
2800 dnl Check for DPMS
2801 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
2802   CPPFLAGS="${CPPFLAGS_save} -I${x_includes}"
2803   AC_CHECK_HEADERS(X11/extensions/dpms.h, [
2804     AC_MSG_CHECKING(for DPMSInfo in X11/extensions/dpms.h)
2805     AC_EGREP_HEADER(DPMSInfo,X11/extensions/dpms.h,[
2806       AC_MSG_RESULT(yes)
2807       AC_DEFINE(DPMSINFO_IN_DPMS_H, 1,
2808                 Define if <X11/extensions/dpms.h> defines DPMSInfo.)
2809     ],[
2810       AC_MSG_RESULT(no)
2811     ])
2812   ],,[
2813     #include <X11/Xlib.h>
2814   ])
2815   CPPFLAGS="${CPPFLAGS_save}"
2816 fi
2817
2818 dnl
2819 dnl  X11 module
2820 dnl  (enabled by default except on win32)
2821 dnl
2822 AC_ARG_ENABLE(x11,
2823   [  --enable-x11            X11 support (default enabled)])
2824 if test "${enable_x11}" != "no" &&
2825   (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
2826    test "${enable_x11}" = "yes"); then
2827   CPPFLAGS="${CPPFLAGS_save} -I${x_includes}"
2828   AC_CHECK_HEADERS(X11/Xlib.h, [
2829     VLC_ADD_PLUGINS([x11])
2830     VLC_ADD_LDFLAGS([x11],[-L${x_libraries} -lX11 -lXext])
2831     VLC_ADD_CPPFLAGS([x11],[-I${x_includes}])
2832   ])
2833   CPPFLAGS="${CPPFLAGS_save}"
2834 fi
2835
2836 dnl
2837 dnl  XVideo module
2838 dnl  (enabled by default except on win32)
2839 dnl
2840 AC_ARG_ENABLE(xvideo,
2841   [  --enable-xvideo         XVideo support (default enabled)])
2842 if test "${enable_xvideo}" != "no" &&
2843   (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
2844    test "${enable_xvideo}" = "yes"); then
2845   CPPFLAGS="${CPPFLAGS_save} -I${x_includes}"
2846   AC_CHECK_HEADERS(X11/extensions/Xv.h, [
2847     CFLAGS="${CFLAGS_save} -L${x_libraries} -lX11 -lXext"
2848     AC_CHECK_LIB(Xv,XvPutImage,[
2849       # If libXv.so is available, xvideo can be a plugin. Otherwise, we
2850       # test for libXv_pic.
2851       if test -f /usr/X11R6/lib/libXv.so -o -f "${x_libraries}"/libXv.so; then
2852         VLC_ADD_PLUGINS([xvideo])
2853         VLC_ADD_CPPFLAGS([xvideo],[-I${x_includes}])
2854         VLC_ADD_LDFLAGS([xvideo],[-L${x_libraries} -lX11 -lXext -lXv])
2855       else
2856         AC_CHECK_LIB(Xv_pic,XvPutImage,[
2857           VLC_ADD_PLUGINS([xvideo])
2858           VLC_ADD_CPPFLAGS([xvideo],[-I${x_includes}])
2859           VLC_ADD_LDFLAGS([xvideo],[-L${x_libraries} -lX11 -lXext -lXv_pic])
2860         ],[
2861           VLC_ADD_BUILTINS([xvideo])
2862           VLC_ADD_LDFLAGS([xvideo],[-L${x_libraries} -lX11 -lXext -lXv])
2863           VLC_ADD_CPPFLAGS([xvideo],[-I${x_includes}])
2864         ])
2865       fi
2866     ])
2867     CFLAGS="${CFLAGS_save}"
2868   ]
2869   CPPFLAGS="${CPPFLAGS_save}")
2870 fi
2871
2872 dnl
2873 dnl  GLX module
2874 dnl  (enabled by default except on win32)
2875 dnl
2876 AC_ARG_ENABLE(glx,
2877   [  --enable-glx            X11 OpenGL (GLX) support (default enabled)])
2878 if test "${enable_glx}" != "no" &&
2879   (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
2880    test "${enable_glx}" = "yes"); then
2881   CPPFLAGS="${CPPFLAGS_save} -I${x_includes}"
2882   AC_CHECK_HEADERS(X11/Xlib.h, [
2883     AC_CHECK_HEADERS(GL/glx.h, [
2884       VLC_ADD_PLUGINS([glx])
2885       VLC_ADD_LDFLAGS([glx],[-L${x_libraries} -lX11 -lXext -lGL -lGLU])
2886       VLC_ADD_CPPFLAGS([glx],[-I${x_includes}])
2887   ]) ])
2888   CPPFLAGS="${CPPFLAGS_save}"
2889 fi
2890
2891 dnl
2892 dnl  Check for the Xinerama extension
2893 dnl
2894 if test "${enable_xvideo}" != "no" &&
2895   (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
2896    test "${enable_xvideo}" = "yes"); then
2897   ac_cv_have_xinerama="no"
2898   CPPFLAGS="${CPPFLAGS_save} -I${x_includes}"
2899   CFLAGS="${CFLAGS_save} -L${x_libraries} -lX11 -lXext"
2900   AC_CHECK_HEADERS(X11/extensions/Xinerama.h,[
2901     AC_CHECK_LIB(Xinerama_pic, XineramaQueryExtension,[
2902       VLC_ADD_LDFLAGS([xvideo],[-lXinerama_pic])
2903       VLC_ADD_LDFLAGS([x11],[-lXinerama_pic])
2904       VLC_ADD_LDFLAGS([glx],[-lXinerama_pic])
2905       ac_cv_have_xinerama="yes"
2906     ],[
2907       AC_CHECK_LIB(Xinerama, XineramaQueryExtension,[
2908         VLC_ADD_LDFLAGS([xvideo],[-lXinerama])
2909         VLC_ADD_LDFLAGS([x11],[-lXinerama])
2910         VLC_ADD_LDFLAGS([glx],[-lXinerama])
2911         ac_cv_have_xinerama="yes"
2912       ])
2913     ])
2914   ])
2915   if test "${ac_cv_have_xinerama}" = "yes"; then
2916     AC_DEFINE(HAVE_XINERAMA, 1, [Define this if you have libXinerama installed])
2917   fi
2918   CFLAGS="${CFLAGS_save}"
2919   CPPFLAGS="${CPPFLAGS_save}"
2920 fi
2921
2922 dnl
2923 dnl  OpenGL module
2924 dnl  (enabled by default except on beos)
2925 dnl
2926 AC_ARG_ENABLE(opengl,
2927   [  --enable-opengl         OpenGL support (default enabled)])
2928 if test "${enable_opengl}" != "no" &&
2929    test "${SYS}" != "beos" -a "${SYS}" != "mingwce"; then
2930   if test "${SYS}" != "darwin"; then
2931     AC_CHECK_HEADERS(GL/gl.h, [
2932       VLC_ADD_PLUGINS([opengl])
2933       if test "${SYS}" != "mingw32"; then
2934         VLC_ADD_LDFLAGS([opengl],[-L${x_libraries} -lGL -lGLU])
2935       else
2936         VLC_ADD_LDFLAGS([opengl],[-lopengl32])
2937       fi
2938     ])
2939   else
2940     dnl OS X special case (no GL/gl.h but OpenGL/gl.h)
2941     VLC_ADD_PLUGINS([opengl])
2942     VLC_ADD_LDFLAGS([opengl],[-framework OpenGL])
2943   fi
2944 fi
2945
2946 dnl
2947 dnl  SDL module
2948 dnl
2949 AC_ARG_ENABLE(sdl,
2950   [  --enable-sdl            SDL support (default enabled)])
2951 if test "${enable_sdl}" != "no"
2952 then
2953   SDL_PATH="${PATH}"
2954   AC_ARG_WITH(sdl-config-path,
2955     [    --with-sdl-config-path=PATH sdl-config path (default search in \$PATH)],
2956     [ if test "${with_sdl_config_path}" != "no"
2957       then
2958         SDL_PATH="${with_sdl_config_path}:${PATH}"
2959       fi ])
2960   AC_PATH_PROG(SDL12_CONFIG, sdl12-config, no, ${SDL_PATH})
2961   SDL_CONFIG="${SDL12_CONFIG}"
2962   SDL_HEADER="SDL12/SDL.h"
2963   SDL_IMAGE="SDL12/SDL_image.h"
2964   if test "${SDL_CONFIG}" = "no"
2965   then
2966     AC_PATH_PROG(SDL11_CONFIG, sdl11-config, no, ${SDL_PATH})
2967     SDL_CONFIG=${SDL11_CONFIG}
2968     SDL_HEADER="SDL11/SDL.h"
2969     SDL_IMAGE="SDL11/SDL_image.h"
2970   fi
2971   if test "${SDL_CONFIG}" = "no"
2972   then
2973     AC_PATH_PROG(SDL_CONFIG, sdl-config, no, ${SDL_PATH})
2974     SDL_HEADER="SDL/SDL.h"
2975     SDL_IMAGE="SDL/SDL_image.h"
2976   fi
2977   # check for cross-compiling
2978   SDL_PREFIX=
2979   AC_ARG_WITH(sdl-prefix,
2980     [    --with-sdl-prefix=PATH path to libsdl (needed for cross-compiling),
2981                                e.g use as:
2982                                --with-sdl-prefix=/usr/local/arm/2.95.3/arm-linux/usr)],[],[])
2983   if test "${with_sdl_prefix}" != "no" -a -n "${with_sdl_prefix}"
2984   then
2985     SDL_PREFIX="--prefix=${with_sdl_prefix}"
2986   fi
2987   if test "${SDL_CONFIG}" != "no"
2988   then
2989     # SDL on Darwin is heavily patched and can only run SDL_image
2990     if test "${SYS}" != "darwin" -a "${SYS}" != "mingw32"; then
2991       VLC_ADD_PLUGINS([vout_sdl aout_sdl])
2992     fi
2993     VLC_ADD_CFLAGS([vout_sdl aout_sdl sdl_image],[`${SDL_CONFIG} ${SDL_PREFIX} --cflags | sed 's,SDL,,'`])
2994     VLC_ADD_LDFLAGS([vout_sdl aout_sdl sdl_image],[`${SDL_CONFIG} ${SDL_PREFIX} --libs | sed 's,-rdynamic,,'`])
2995     CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_vout_sdl}"
2996     AC_CHECK_HEADERS(${SDL_HEADER}, AC_DEFINE_UNQUOTED(SDL_INCLUDE_FILE,
2997       <${SDL_HEADER}>, Indicate whether we should use SDL/SDL.h or SDL11/SDL.h),
2998       [ AC_CHECK_HEADERS(SDL.h, AC_DEFINE(SDL_INCLUDE_FILE, <SDL.h>,
2999           As a last resort we also test for SDL.h presence),
3000       [ AC_MSG_ERROR([The development package for SDL is not installed.
3001 Please install it and try again. Alternatively you can also configure with
3002 --disable-sdl.])
3003       ])])
3004     AC_CHECK_HEADERS(${SDL_IMAGE}, [AC_DEFINE_UNQUOTED(SDL_IMAGE_INCLUDE_FILE,
3005       <${SDL_IMAGE}>, Indicate the path of SDL_image.h)
3006       VLC_ADD_PLUGINS([sdl_image])
3007       AC_CHECK_LIB(png, png_set_rows,
3008         [VLC_ADD_LDFLAGS([sdl_image],[-lpng -lz])],[],[-lz])
3009       AC_CHECK_LIB(jpeg, jpeg_start_decompress,
3010         [VLC_ADD_LDFLAGS([sdl_image],[-ljpeg])])
3011       AC_CHECK_LIB(tiff, TIFFClientOpen,
3012         [VLC_ADD_LDFLAGS([sdl_image],[-ltiff])])
3013       VLC_ADD_LDFLAGS([sdl_image], [-lSDL_image])],
3014       [ AC_CHECK_HEADERS(SDL_image.h, AC_DEFINE(SDL_IMAGE_INCLUDE_FILE, <SDL_image.h>,
3015           As a last resort we also test for SDL_image.h presence),
3016       [ AC_MSG_WARN([The development package for SDL_image is not installed.
3017 You should install it alongside your SDL package.])
3018       ])])
3019     CPPFLAGS="${CPPFLAGS_save}"
3020     if expr 1.1.5 \> `${SDL_CONFIG} --version` >/dev/null
3021     then
3022       AC_MSG_ERROR([The development package for SDL is not installed.
3023 Please install it and try again. Alternatively you can also configure with
3024 --disable-sdl.])
3025     fi
3026
3027   elif test "${enable_sdl}" =  "yes"
3028   then
3029     AC_MSG_ERROR([I couldn't find the SDL package. You can download libSDL
3030 from http://www.libsdl.org/, or configure with --disable-sdl. Have a nice day.
3031     ])
3032   fi
3033 fi
3034
3035 dnl
3036 dnl  freetype module
3037 dnl
3038 AC_ARG_ENABLE(freetype,
3039   [  --enable-freetype       freetype support (default enabled)])
3040 AC_ARG_ENABLE(fribidi,
3041   [  --enable-fribidi        fribidi support (default enabled)])
3042 if test "${enable_freetype}" != "no"
3043 then
3044   FREETYPE_PATH="${PATH}"
3045   AC_ARG_WITH(freetype-config-path,
3046     [    --with-freetype-config-path=PATH freetype-config path (default search in \$PATH)],
3047     [ if test "${with_freetype_config_path}" != "no"
3048       then
3049         FREETYPE_PATH="${with_freetype_config_path}:${PATH}"
3050       fi ])
3051   AC_PATH_PROG(FREETYPE_CONFIG, freetype-config, no, ${FREETYPE_PATH})
3052
3053   if test "${FREETYPE_CONFIG}" != "no"
3054   then
3055     VLC_ADD_PLUGINS([freetype])
3056     VLC_ADD_CFLAGS([freetype],[`${FREETYPE_CONFIG} --cflags`])
3057     VLC_ADD_LDFLAGS([freetype],[`${FREETYPE_CONFIG} --libs`])
3058     AC_CHECK_HEADERS(Carbon/Carbon.h,
3059       [VLC_ADD_LDFLAGS([freetype],[-framework Carbon])])
3060   elif test "${enable_freetype}" =  "yes"
3061   then
3062     AC_MSG_ERROR([I couldn't find the freetype package. You can download libfreetype2
3063 from http://www.freetype.org/, or configure with --disable-freetype. Have a nice day.
3064     ])
3065   fi
3066
3067   dnl fribidi support
3068   if test "${enable_fribidi}" != "no"
3069   then
3070     FRIBIDI_PATH="${PATH}"
3071     AC_ARG_WITH(fribidi-config-path,
3072       [    --with-fribidi-config-path=PATH fribidi-config path (default search in \$PATH)],
3073       [ if test "${with_fribidi_config_path}" != "no"
3074         then
3075           FRIBIDI_PATH="${with_fribidi_config_path}:${PATH}"
3076         fi ])
3077     AC_PATH_PROG(FRIBIDI_CONFIG, fribidi-config, no, ${FRIBIDI_PATH})
3078
3079     if test "${FRIBIDI_CONFIG}" != "no"
3080     then
3081       VLC_ADD_CFLAGS([freetype], [`${FRIBIDI_CONFIG} --cflags` -DHAVE_FRIBIDI])
3082       VLC_ADD_CPPFLAGS([skins2], [`${FRIBIDI_CONFIG} --cflags` -DHAVE_FRIBIDI])
3083       VLC_ADD_LDFLAGS([freetype], [`${FRIBIDI_CONFIG} --libs`])
3084       VLC_ADD_LDFLAGS([skins2], [`${FRIBIDI_CONFIG} --libs`])
3085     fi
3086   fi
3087 fi
3088
3089 dnl
3090 dnl  libxml2 module
3091 dnl
3092 AC_ARG_ENABLE(libxml2,
3093   [  --enable-libxml2        libxml2 support (default enabled)])
3094 if test "${enable_libxml2}" != "no"
3095 then
3096   XML2_PATH="${PATH}"
3097   AC_ARG_WITH(xml2-config-path,
3098     [    --with-xml2-config-path=PATH xml2-config path (default search in \$PATH)],
3099     [ if test "${with_xml2_config_path}" != "no"; then
3100         XML2_PATH="${with_xml2_config_path}:${PATH}"
3101       fi ])
3102   AC_PATH_PROG(XML2_CONFIG, xml2-config, no, ${XML2_PATH})
3103   if test "${XML2_CONFIG}" != "no"; then
3104     VLC_ADD_CPPFLAGS([xml],[`${XML2_CONFIG} --cflags`])
3105     VLC_ADD_LDFLAGS([xml],[`${XML2_CONFIG} --libs`])
3106     dnl depends on the xmlTextReader extension
3107     CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_xml}"
3108     LDFLAGS="${LDFLAGS_save} ${LDFLAGS_xml}"
3109     AC_CHECK_LIB(xml2,xmlTextReaderConstName,[
3110       AC_EGREP_HEADER(xmlTextReaderConstName,libxml/xmlreader.h,[
3111         VLC_ADD_PLUGINS([xml]) ],[
3112           AC_MSG_WARN([libxml2 missing the xmlTextReader extension, you should update your version])
3113           if test "${enable_xml2}" = "yes"; then
3114             AC_MSG_ERROR([libxml2 missing the xmlTextReader extension])
3115           fi])
3116        ],[
3117       AC_MSG_WARN([libxml2 missing the xmlTextReader extension, you should update your version])
3118       if test "${enable_xml2}" = "yes"; then
3119         AC_MSG_ERROR([libxml2 missing the xmlTextReader extension])
3120       fi])
3121     LDFLAGS="${LDFLAGS_save}"
3122     CPPFLAGS="${CPPFLAGS_save}"
3123   else
3124     if test "${enable_xml2}" = "yes"; then
3125       AC_MSG_ERROR([Could not find libxml2])
3126     fi
3127   fi
3128 fi
3129
3130 dnl
3131 dnl  SVG module
3132 dnl
3133 AC_ARG_ENABLE(svg,
3134   [  --enable-svg            SVG support (default disabled)])
3135 if test "${enable_svg}" == "yes"
3136 then
3137   PKG_CHECK_MODULES(SVG, 
3138         librsvg-2.0 >= 2.5.0,
3139         [
3140           VLC_ADD_LDFLAGS([svg],[$SVG_LIBS])
3141           VLC_ADD_CFLAGS([svg],[$SVG_CFLAGS])
3142           VLC_ADD_PLUGINS([svg]) ],
3143         [AC_MSG_WARN(SVG library not found)])
3144 fi
3145
3146 dnl
3147 dnl  Qt Embedded module
3148 dnl  (disabled by default)
3149 dnl
3150 AC_ARG_ENABLE(qte,
3151   [  --enable-qte            QT Embedded support (default disabled)])
3152 if test "${enable_qte}" = "yes"
3153 then
3154   AC_ARG_WITH(qte,
3155   [    --with-qte=PATH       Qt Embedded headers and libraries])
3156   if test "${with_qte}" != "no" -a -n "${with_qte}"
3157   then
3158     VLC_ADD_LDFLAGS([qte],[-L${with_qte}/lib `echo -L${with_qte}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte])
3159     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])
3160   else
3161     VLC_ADD_LDFLAGS([qte],[-L${QTDIR}/lib `echo -L${QTDIR}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte])
3162     VLC_ADD_CXXFLAGS([qte],[-I${QTDIR}/include `echo -I${QTDIR}/include | sed 's,opt/QtPalmtop,usr,'` -DQT_QWS_IPAQ -DQWS -fno-exceptions -fno-rtti])
3163   fi
3164   VLC_ADD_PLUGINS([qte])
3165   NEED_QTE_MAIN=yes
3166   CPPFLAGS="${CPPFLAGS_save} ${CXXFLAGS_qte}"
3167   AC_CHECK_HEADERS(qt.h jpeglib.h, ,[
3168     AC_MSG_ERROR([echo "Cannot find QT Embedded development headers."])
3169   ] )
3170   CPPFLAGS="${CPPFLAGS_save}"
3171 fi
3172
3173 dnl
3174 dnl  Qt Video output module
3175 dnl  (disabled by default)
3176 dnl
3177 dnl AC_ARG_ENABLE(qt_video,
3178 dnl   [  --enable-qt_video            QT Video Output support (default disabled)])
3179 dnl if test "${enable_qt_video}" = "yes"
3180 dnl then
3181 dnl  VLC_ADD_PLUGINS([qt_video])
3182 dnl  VLC_ADD_LDFLAGS([qt_video],[-L${QTDIR}/lib])
3183 dnl  LDFLAGS="${LDFLAGS_save} ${LDFLAGS_qt_video}"
3184 dnl   AC_CHECK_LIB(qt-mt,main,[
3185 dnl    VLC_ADD_LDFLAGS([qt_video],[-lqt-mt])
3186 dnl  ],[
3187 dnl    AC_CHECK_LIB(qt,main,[
3188 dnl      VLC_ADD_LDFLAGS([qt_video],[-lqt])
3189 dnl    ])
3190 dnl  ])
3191 dnl  NEED_QTE_MAIN=yes
3192 dnl  LDFLAGS="${LDFLAGS_save}"
3193 dnl  VLC_ADD_CXXFLAGS([qt_video],[-I/usr/include/qt3 -I/usr/include/qt -I${QTDIR}/include])
3194 dnl fi
3195
3196 dnl
3197 dnl Roku HD1000 Video output module
3198 dnl
3199 AC_ARG_ENABLE(hd1000v,
3200   [  --enable-hd1000v        HD1000 Video Output module (default enabled on HD1000)])
3201 if test "${enable_hd1000v}" != "no" -a "${CXX}" != "" &&
3202   (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
3203    test "${enable_hd1000v}" = "yes"); then
3204   AC_LANG_PUSH([C++])
3205   AC_CHECK_HEADERS([cascade/graphics/CascadeScreen.h cascade/graphics/CascadeBitmap.h],
3206   [
3207     can_build_roku="yes"
3208   ],
3209   [
3210     can_build_roku="no"
3211     AC_MSG_WARN([Not building Roku HD1000 compatible video output])
3212   ])
3213   if test "$can_build_roku" = "yes"
3214   then
3215     VLC_ADD_PLUGINS([hd1000v])
3216     VLC_ADD_LDFLAGS([hd1000v],[-lCascade -ldvbpsi -lmad])
3217   fi
3218   AC_LANG_POP([C++])
3219 fi
3220
3221 dnl
3222 dnl  Windows DirectX module
3223 dnl
3224 AC_ARG_ENABLE(directx,
3225   [  --enable-directx        Win32 DirectX support (default enabled on Win32)])
3226 if test "${enable_directx}" != "no"
3227 then
3228   if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce" -o "${SYS}" = "cygwin"
3229   then
3230     AC_ARG_WITH(directx,
3231     [    --with-directx=PATH   Win32 DirectX headers])
3232     if test -z "${with_directx}"
3233     then
3234       AC_CHECK_HEADERS(ddraw.h,
3235       [ VLC_ADD_PLUGINS([vout_directx aout_directx])
3236         VLC_ADD_LDFLAGS([vout_directx],[-lgdi32])
3237         dnl to be moved when dependance is removed
3238         AC_CHECK_HEADERS(GL/gl.h, [
3239             VLC_ADD_PLUGINS([glwin32])
3240             VLC_ADD_LDFLAGS([glwin32],[-lopengl32 -lgdi32])
3241         ]) ])
3242     else
3243       AC_MSG_CHECKING(for directX headers in ${with_directx})
3244       if test -f ${with_directx}/ddraw.h
3245       then
3246         VLC_ADD_PLUGINS([vout_directx aout_directx])
3247         VLC_ADD_CPPFLAGS([vout_directx aout_directx],[-I${with_directx}])
3248         VLC_ADD_LDFLAGS([vout_directx],[-lgdi32])
3249         AC_MSG_RESULT(yes)
3250       else
3251         AC_MSG_RESULT(no)
3252         AC_MSG_ERROR([Cannot find ${with_directx}/ddraw.h!])
3253       fi
3254     fi
3255   fi
3256 fi
3257
3258 dnl
3259 dnl  Linux framebuffer module
3260 dnl
3261 AC_ARG_ENABLE(fb,
3262   [  --enable-fb             Linux framebuffer support (default enabled on Linux)])
3263     if test "${enable_fb}" != "no"
3264     then
3265       AC_CHECK_HEADERS(linux/fb.h, [
3266         VLC_ADD_PLUGINS([fb])
3267       ])
3268     fi
3269
3270 dnl
3271 dnl  Linux MGA module
3272 dnl
3273 AC_ARG_ENABLE(mga,
3274   [  --enable-mga            Linux kernel Matrox support (default disabled)],
3275   [ if test "${enable_mga}" = "yes"
3276     then
3277       VLC_ADD_PLUGINS([mga])
3278     fi ])
3279
3280 dnl
3281 dnl  SVGAlib module
3282 dnl
3283 AC_ARG_ENABLE(svgalib,
3284   [  --enable-svgalib        SVGAlib support (default disabled)])
3285 if test "${enable_svgalib}" = "yes"
3286 then
3287   VLC_ADD_PLUGINS([svgalib])
3288   VLC_ADD_LDFLAGS([svgalib],[-lvgagl -lvga])
3289 fi
3290
3291 dnl
3292 dnl  GGI module
3293 dnl
3294 AC_ARG_ENABLE(ggi,
3295   [  --enable-ggi            GGI support (default disabled)])
3296 if test "${enable_ggi}" = "yes"
3297 then
3298   VLC_ADD_PLUGINS([ggi])
3299   VLC_ADD_LDFLAGS([ggi],[-lggi])
3300   AC_ARG_WITH(ggi,
3301     [    --with-ggi=PATH       path to libggi],
3302     [ if test "${with_ggi}" != "no" -a -n "${with_ggi}"
3303       then
3304         VLC_ADD_CPPFLAGS([ggi],[-I${with_ggi}/include])
3305         VLC_ADD_LDFLAGS([ggi],[-L${with_ggi}/lib])
3306       fi ])
3307 fi
3308
3309 dnl
3310 dnl  Glide module
3311 dnl
3312 AC_ARG_ENABLE(glide,
3313   [  --enable-glide          Glide (3dfx) support (default disabled)])
3314 if test "${enable_glide}" = "yes"
3315 then
3316   VLC_ADD_PLUGINS([glide])
3317   VLC_ADD_LDFLAGS([glide],[-lglide2x -lm])
3318   VLC_ADD_CPPFLAGS([glide],[-I/usr/include/glide])
3319   AC_ARG_WITH(glide,
3320     [    --with-glide=PATH     path to libglide],
3321     [ if test "${with_glide}" != "no" -a -n "${with_glide}"
3322       then
3323         VLC_ADD_CPPFLAGS([glide],[-I${with_glide}/include])
3324         VLC_ADD_LDFLAGS([glide],[-L${with_glide}/lib])
3325       fi ])
3326 fi
3327
3328 dnl
3329 dnl  AA plugin
3330 dnl
3331 AC_ARG_ENABLE(aa,
3332   [  --enable-aa             aalib output (default disabled)])
3333 if test "${enable_aa}" = "yes"
3334 then
3335   AC_CHECK_HEADER(aalib.h,have_aa="true",have_aa="false")
3336   if test "${have_aa}" = "true"
3337   then
3338     VLC_ADD_PLUGINS([aa])
3339     VLC_ADD_LDFLAGS([aa],[-laa])
3340   fi
3341 fi
3342
3343 dnl
3344 dnl  libcaca plugin
3345 dnl
3346 AC_ARG_ENABLE(caca,
3347   [  --enable-caca           libcaca output (default disabled)])
3348 if test "${enable_caca}" = "yes"
3349 then
3350   CACA_PATH="${PATH}"
3351   AC_ARG_WITH(caca-config-path,
3352     [    --with-caca-config-path=PATH caca-config path (default search in \$PATH)],
3353     [ if test "${with_caca_config_path}" != "no"
3354       then
3355         CACA_PATH="${with_caca_config_path}:${PATH}"
3356       fi ])
3357   AC_PATH_PROG(CACA_CONFIG, caca-config, no, ${CACA_PATH})
3358   if test "${CACA_CONFIG}" != "no"
3359   then
3360     VLC_ADD_PLUGINS([caca])
3361     VLC_ADD_CFLAGS([caca],[`${CACA_CONFIG} --cflags`])
3362     VLC_ADD_LDFLAGS([caca],[`${CACA_CONFIG} --plugin-libs`])
3363   fi
3364 fi
3365
3366 dnl
3367 dnl  win32 GDI plugin
3368 dnl
3369 AC_ARG_ENABLE(wingdi,
3370   [  --enable-wingdi         Win32 GDI module (default enabled on Win32)])
3371 if test "${enable_wingdi}" != "no"; then
3372   if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"; then
3373     VLC_ADD_PLUGINS([wingdi])
3374     VLC_ADD_LDFLAGS([wingdi],[-lgdi32])
3375   fi
3376   if test "${SYS}" = "mingwce"; then
3377     VLC_ADD_PLUGINS([wingdi wingapi])
3378   fi
3379 fi
3380
3381 dnl
3382 dnl  Audio plugins
3383 dnl
3384
3385 AC_ARG_WITH(,[Audio plugins:])
3386
3387 dnl
3388 dnl  OSS /dev/dsp module (enabled by default except on win32)
3389 dnl
3390 AC_ARG_ENABLE(oss,
3391   [  --enable-oss            Linux OSS /dev/dsp support (enabled on Linux)])
3392
3393 if test "${enable_oss}" != "no" &&
3394   (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
3395    test "${enable_oss}" = "yes")
3396 then
3397   AC_CHECK_HEADERS(soundcard.h sys/soundcard.h machine/soundcard.h, [
3398     VLC_ADD_PLUGINS([oss])
3399     AC_CHECK_LIB(ossaudio,main,VLC_ADD_LDFLAGS([oss],[-lossaudio]))
3400   ])
3401 fi
3402
3403 dnl
3404 dnl  Esound module
3405 dnl
3406 AC_ARG_ENABLE(esd,
3407   [  --enable-esd            Esound library support (default disabled)],
3408   [if test "${enable_esd}" = "yes"
3409    then
3410      AC_PATH_PROG(ESD_CONFIG, esd-config, no)
3411      if test "${ESD_CONFIG}" != "no"
3412      then
3413        VLC_ADD_PLUGINS([esd])
3414        VLC_ADD_CFLAGS([esd],[`${ESD_CONFIG} --cflags`])
3415        VLC_ADD_LDFLAGS([esd],[`${ESD_CONFIG} --libs`])
3416      fi
3417    fi])
3418
3419 dnl
3420 dnl  Portaudio module
3421 dnl
3422 AC_ARG_ENABLE(portaudio,
3423   [  --enable-portaudio      Portaudio library support (default disabled)],
3424   [if test "${enable_portaudio}" = "yes"
3425    then
3426      VLC_ADD_PLUGINS([portaudio])
3427      VLC_ADD_CXXFLAGS([portaudio],[])
3428      if test "${SYS}" = "mingw32"; then
3429         VLC_ADD_LDFLAGS([portaudio],[-lportaudio -lwinmm -lole32])
3430      else
3431         VLC_ADD_LDFLAGS([portaudio],[-lportaudio])
3432      fi
3433    fi])
3434
3435 dnl
3436 dnl  aRts module -- broken (freeze wxWidgets)
3437 dnl
3438 AC_ARG_ENABLE(arts,
3439  [  --enable-arts           aRts sound server (default disabled)],
3440  [if test "${enable_arts}" = "yes"
3441   then
3442     AC_PATH_PROG(ARTS_CONFIG, artsc-config, no)
3443     if test "${ARTS_CONFIG}" != "no"
3444     then
3445       VLC_ADD_PLUGINS([arts])
3446       VLC_ADD_CFLAGS([arts],[`${ARTS_CONFIG} --cflags`])
3447       VLC_ADD_LDFLAGS([arts],[`${ARTS_CONFIG} --libs `])
3448     fi
3449   fi])
3450
3451 dnl
3452 dnl  ALSA module
3453 dnl
3454 AC_ARG_ENABLE(alsa,
3455   [  --enable-alsa           ALSA sound support for Linux (default enabled)])
3456 if test "${enable_alsa}" != "no"
3457 then
3458   AC_CHECK_HEADER(alsa/asoundlib.h, AC_CHECK_LIB(asound, main, have_alsa="true", have_alsa="false"),have_alsa="false")
3459   if test "${have_alsa}" = "true"
3460   then
3461     AC_TRY_COMPILE([#define ALSA_PCM_NEW_HW_PARAMS_API
3462                     #define ALSA_PCM_NEW_SW_PARAMS_API
3463                     #include <alsa/asoundlib.h>],
3464        [void foo() { snd_pcm_hw_params_get_period_time(0,0,0); }],
3465         AC_DEFINE(HAVE_ALSA_NEW_API, 1, Define if ALSA is at least rc4))
3466     VLC_ADD_PLUGINS([alsa])
3467     VLC_ADD_LDFLAGS([alsa],[-lasound -lm -ldl])
3468   else
3469     if test "${enable_alsa}" = "yes"; then
3470       AC_MSG_ERROR([Could not find ALSA development headers])
3471     fi
3472   fi
3473 fi
3474
3475 dnl
3476 dnl  win32 waveOut plugin
3477 dnl
3478 AC_ARG_ENABLE(waveout,
3479   [  --enable-waveout        Win32 waveOut module (default enabled on Win32)])
3480 if test "${enable_waveout}" != "no"; then
3481   if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"; then
3482     VLC_ADD_PLUGINS([waveout])
3483     VLC_ADD_LDFLAGS([waveout],[-lwinmm])
3484   fi
3485   if test "${SYS}" = "mingwce"; then
3486     VLC_ADD_PLUGINS([waveout])
3487   fi
3488 fi
3489
3490 dnl
3491 dnl  CoreAudio plugin
3492 dnl
3493 AC_ARG_ENABLE(coreaudio,
3494   [  --enable-coreaudio      CoreAudio module (default enabled on MacOS X)])
3495 if test "${enable_coreaudio}" != "no" &&
3496   (test "${SYS}" = "darwin" || test "${enable_coreaudio}" = "yes")
3497 then
3498   AC_CHECK_HEADERS(CoreAudio/CoreAudio.h, 
3499     [ VLC_ADD_BUILTINS([coreaudio auhal])
3500       VLC_ADD_LDFLAGS([coreaudio auhal],[-framework CoreAudio -framework AudioUnit -framework AudioToolbox])
3501     ], [ AC_MSG_ERROR([cannot find CoreAudio headers]) ])
3502 fi
3503
3504 dnl
3505 dnl  Roku HD1000 audio
3506 dnl
3507 AC_ARG_ENABLE(hd1000a,
3508   [  --enable-hd1000a        HD1000 audio module (default enabled on HD1000)])
3509 if test "${enable_hd1000a}" != "no" -a "${CXX}" != "" &&
3510   (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
3511    test "${enable_hd1000a}" = "yes")
3512 then
3513   AC_LANG_PUSH([C++])
3514   AC_CHECK_HEADERS(deschutes/libraries/hdmachinex225/PCMAudioPlayer.h, [
3515     VLC_ADD_PLUGINS([hd1000a])
3516     AC_CHECK_LIB(HDMachineX225,main,VLC_ADD_LDFLAGS([hd1000a],[-lHDMachineX225]))  ])
3517   AC_LANG_POP([C++])
3518 fi
3519
3520 dnl
3521 dnl  CyberLink for C++ UPnP stack
3522 dnl
3523 AC_ARG_ENABLE(cyberlink,
3524   [  --enable-cyberlink      CyberLink for C++ UPnP stack (default disabled)])
3525 if test "${CXX}" != "" -a "${enable_cyberlink}" = "yes" || (test "${enable_cyberlink}" != "no"); then
3526   AC_ARG_WITH(cyberlink-tree,
3527     [    --with-cyberlink-tree=PATH CyberLink for C++ tree for static linking])
3528
3529   dnl
3530   dnl test for --with-cyberlink-tree
3531   dnl
3532   if test ! -z "${with_cyberlink_tree}" -a "${CXX}" != ""; then
3533     AC_LANG_PUSH(C++)
3534     real_cyberlink_tree="`cd ${with_cyberlink_tree} 2>/dev/null && pwd`"
3535     if test -z "${real_cyberlink_tree}"
3536     then
3537       dnl  The given directory can't be found
3538       AC_MSG_RESULT(no)
3539       AC_MSG_ERROR([cannot cd to ${with_cyberlink_tree}])
3540     fi
3541     CXXFLAGS_save="${CXXFLAGS}"
3542     CXXFLAGS_cyberlink="-I${real_cyberlink_tree}/include"
3543     CXXFLAGS="${CXXFLAGS} ${CXXFLAGS_cyberlink}"
3544     AC_CHECK_HEADERS([cybergarage/upnp/MediaServer.h],
3545       [ VLC_ADD_CXXFLAGS([upnp], [${CXXFLAGS_cyberlink}])
3546         VLC_ADD_PLUGINS([upnp]) 
3547       ],[
3548         AC_MSG_ERROR([cannot find CyberLink for C++ headers])
3549       ])
3550     AC_MSG_CHECKING(for libclink.a in ${with_cyberlink_tree})
3551     if test -f "${real_cyberlink_tree}/lib/unix/libclink.a"
3552     then
3553       AC_MSG_RESULT(${real_cyberlink_tree}/lib/unix/libclink.a)
3554       VLC_ADD_LDFLAGS([upnp], [${real_cyberlink_tree}/lib/unix/libclink.a -lexpat])
3555     else
3556       AC_MSG_RESULT(no)
3557        AC_MSG_ERROR([cannot find ${real_cyberlink_tree}/lib/unix/libclink.a, make sure you compiled CyberLink for C++ in ${with_cyberlink_tree}])
3558     fi
3559     CXXFLAGS="${CXXFLAGS_save}"
3560     AC_LANG_POP([C++])
3561   fi
3562 fi
3563
3564 dnl
3565 dnl  Interface plugins
3566 dnl
3567
3568 AC_ARG_WITH(,[Interface plugins:])
3569
3570 dnl special case for BeOS
3571 if test "${SYS}" = "beos"
3572 then
3573     VLC_ADD_BUILTINS([beos])
3574 fi
3575
3576 dnl
3577 dnl Skins2 module
3578 dnl
3579 AC_ARG_ENABLE(skins2,
3580   [  --enable-skins2         Skins2 interface module (experimental)])
3581 if test "${enable_skins2}" = "yes" ||
3582   (test "${SYS}" != "darwin" && test "${SYS}" != "beos" &&
3583    test "${SYS}" != "mingwce" && test "${enable_skins2}" != "no"); then
3584
3585   dnl test for the required libraries
3586   skins2_missing_lib="no"
3587
3588   dnl freetype
3589   if test "${FREETYPE_CONFIG}" != "no"; then
3590     VLC_ADD_CPPFLAGS([skins2],[`${FREETYPE_CONFIG} --cflags`])
3591     VLC_ADD_LDFLAGS([skins2],[`${FREETYPE_CONFIG} --libs`])
3592   else
3593     skins2_missing_lib="yes"
3594     if test "${enable_skins2}" = "yes"; then
3595       AC_MSG_ERROR([Could not find freetype (required for skins2)])
3596     fi
3597   fi
3598
3599   if test "${skins2_missing_lib}" = "no" && (test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"); then
3600     VLC_ADD_PLUGINS([skins2])
3601     ALIASES="${ALIASES} svlc"
3602     VLC_ADD_CPPFLAGS([skins2],[-U_OFF_T_ -U_off_t -Imodules/gui/skins2 -DWIN32_SKINS])
3603     VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
3604     VLC_ADD_LDFLAGS([skins2],[-loleaut32 -lwinspool -lwinmm -lshell32 -lctl3d32 -ladvapi32 -lwsock32 -lgdi32 -lcomdlg32 -lole32 -luuid -lcomctl32])
3605
3606   else if test "${skins2_missing_lib}" = "no"; then
3607     VLC_ADD_PLUGINS([skins2])
3608     ALIASES="${ALIASES} svlc"
3609     VLC_ADD_CPPFLAGS([skins2],[-Imodules/gui/skins2 -I${x_includes} -DX11_SKINS])
3610     VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
3611     VLC_ADD_LDFLAGS([skins2],[-L${x_libraries} -lXext -lX11])
3612   fi fi
3613 fi
3614
3615
3616 dnl dnl
3617 dnl dnl  Gtk+ module
3618 dnl dnl
3619 dnl AC_ARG_ENABLE(gtk,
3620 dnl   [  --enable-gtk            Gtk+ support (default enabled)])
3621 dnl if test "${enable_gtk}" != "no"
3622 dnl then
3623 dnl   GTK_PATH="${PATH}"
3624 dnl   AC_ARG_WITH(gtk-config-path,
3625 dnl     [    --with-gtk-config-path=PATH gtk-config path (default search in \$PATH)],
3626 dnl     [ if test "${with_gtk_config_path}" != "no"
3627 dnl       then
3628 dnl         GTK_PATH="${with_gtk_config_path}:${PATH}"
3629 dnl       fi ])
3630 dnl   # look for gtk-config
3631 dnl   AC_PATH_PROG(GTK12_CONFIG, gtk12-config, no, ${GTK_PATH})
3632 dnl   GTK_CONFIG=${GTK12_CONFIG}
3633 dnl   if test "${GTK_CONFIG}" = "no"
3634 dnl   then
3635 dnl     AC_PATH_PROG(GTK_CONFIG, gtk-config, no, ${GTK_PATH})
3636 dnl   fi
3637 dnl   if test "${GTK_CONFIG}" != "no"
3638 dnl   then
3639 dnl     if expr 1.2.0 \> `${GTK_CONFIG} --version` >/dev/null
3640 dnl     then
3641 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.])
3642 dnl     fi
3643 dnl     if test "${SYS}" != "mingw32"; then
3644 dnl       VLC_ADD_CFLAGS([gtk],[`${GTK_CONFIG} --cflags gtk gthread`])
3645 dnl       VLC_ADD_LDFLAGS([gtk],[`${GTK_CONFIG} --libs gtk gthread | sed 's,-rdynamic,,'`])
3646 dnl     else
3647 dnl       VLC_ADD_CFLAGS([gtk],[`${GTK_CONFIG} --cflags gtk`])
3648 dnl       VLC_ADD_LDFLAGS([gtk],[`${GTK_CONFIG} --libs gtk | sed 's,-rdynamic,,'`])
3649 dnl     fi
3650 dnl     # now look for the gtk.h header
3651 dnl     CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_gtk}"
3652 dnl     ac_cv_gtk_headers=yes
3653 dnl     AC_CHECK_HEADERS(gtk/gtk.h glib.h gdk/gdk.h, , [
3654 dnl       ac_cv_gtk_headers=no
3655 dnl       echo "Cannot find gtk development headers."
3656 dnl     ])
3657 dnl     if test "${ac_cv_gtk_headers}" = "yes"
3658 dnl     then
3659 dnl       VLC_ADD_PLUGINS([gtk])
3660 dnl       if test "${SYS}" != "mingw32"; then
3661 dnl         NEED_GTK_MAIN=yes
3662 dnl       fi
3663 dnl       ALIASES="${ALIASES} gvlc"
3664 dnl     fi
3665 dnl     CPPFLAGS="${CPPFLAGS_save}"
3666 dnl   fi
3667 dnl fi
3668 dnl 
3669 dnl
3670 dnl  Gtk+2 module ! Disabled for now as it is unusable and confuses users
3671 dnl
3672 dnl AC_ARG_ENABLE(gtk2,
3673 dnl   [  --enable-gtk2           Gtk2 support (default disabled)])
3674 dnl if test "${enable_gtk2}" = "yes"
3675 dnl then
3676 dnl   PKG_CHECK_MODULES(GTK2, [gtk+-2.0 >= 2.0.0, gthread-2.0])
3677 dnl   VLC_ADD_CFLAGS([gtk2],[${GTK2_CFLAGS}])
3678 dnl   VLC_ADD_LDFLAGS([gtk2],[${GTK2_LIBS}])
3679 dnl   VLC_ADD_PLUGINS([gtk2])
3680 dnl   if test "${SYS}" != "mingw32"; then
3681 dnl     NEED_GTK2_MAIN=yes
3682 dnl   fi
3683 dnl fi
3684
3685 dnl
3686 dnl  PDA Gtk+2 module
3687 dnl
3688 AC_ARG_ENABLE(pda,
3689   [  --enable-pda            PDA interface needs Gtk2 support (default disabled)])
3690 if test "${enable_pda}" = "yes"
3691 then
3692   PKG_CHECK_MODULES(GTK2, [gtk+-2.0 >= 2.0.0, gthread-2.0])
3693   VLC_ADD_CFLAGS([gtk2],[${GTK2_CFLAGS}])
3694   VLC_ADD_LDFLAGS([gtk2],[${GTK2_LIBS}])
3695   VLC_ADD_CFLAGS([pda],[${GTK2_CFLAGS} ${CFLAGS_pda}])
3696   VLC_ADD_LDFLAGS([pda],[${GTK2_LIBS} ${LDFLAGS_pda}])
3697   VLC_ADD_PLUGINS([pda])
3698   if test "${SYS}" != "mingw32"; then
3699     NEED_GTK2_MAIN=yes
3700   fi
3701 fi
3702
3703 dnl dnl
3704 dnl dnl  Gnome module
3705 dnl dnl
3706 dnl AC_ARG_ENABLE(gnome,
3707 dnl   [  --enable-gnome          Gnome interface support (default disabled)],
3708 dnl   [if test "${enable_gnome}" = "yes"; then
3709 dnl     # look for gnome-config
3710 dnl     AC_PATH_PROG(GNOME_CONFIG, gnome-config, no)
3711 dnl     if test -x ${GNOME_CONFIG}
3712 dnl     then
3713 dnl        VLC_ADD_CFLAGS([gnome],[`${GNOME_CONFIG} --cflags gtk gnomeui`])
3714 dnl        VLC_ADD_LDFLAGS([gnome],[`${GNOME_CONFIG} --libs gnomeui | sed 's,-rdynamic,,'`])
3715 dnl     fi
3716 dnl     # now look for the gnome.h header
3717 dnl     CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_gnome}"
3718 dnl     AC_CHECK_HEADERS(gnome.h, [
3719 dnl       VLC_ADD_PLUGINS([gnome])
3720 dnl       NEED_GTK_MAIN=yes
3721 dnl       NEED_GNOME_MAIN=yes
3722 dnl       ALIASES="${ALIASES} gnome-vlc"
3723 dnl       dnl We need this because of some moronic gnomesupport.h flavours
3724 dnl       AC_MSG_CHECKING(for strndup in gnome.h)
3725 dnl       AC_EGREP_HEADER(strndup,gnome.h,[
3726 dnl         AC_MSG_RESULT(yes)
3727 dnl         AC_DEFINE(STRNDUP_IN_GNOME_H, 1,
3728 dnl                   Define if <gnome.h> defines strndup.)],[
3729 dnl         AC_MSG_RESULT(no)])
3730 dnl      ],[
3731 dnl       AC_MSG_ERROR([Can't find gnome headers. Please install the gnome
3732 dnl developement tools or remove the --enable-gnome option])
3733 dnl      ])
3734 dnl     CPPFLAGS="${CPPFLAGS_save}"
3735 dnl   fi])
3736
3737 dnl
3738 dnl  Gnome2 module ! Disabled for know as it is unuseable and confuses users
3739 dnl
3740 dnl AC_ARG_ENABLE(gnome2,
3741 dnl   [  --enable-gnome2         Gnome2 support (default disabled)])
3742 dnl if test "${enable_gnome2}" = "yes"
3743 dnl then
3744 dnl   PKG_CHECK_MODULES(GNOME2, [libgnomeui-2.0])
3745 dnl   VLC_ADD_CFLAGS([gnome2],[${GNOME2_CFLAGS}])
3746 dnl   VLC_ADD_LDFLAGS([gnome2],[${GNOME2_LIBS}])
3747 dnl   VLC_ADD_PLUGINS([gnome2])
3748 dnl   if test "${SYS}" != "mingw32"; then
3749 dnl     NEED_GNOME2_MAIN=yes
3750 dnl   fi
3751 dnl fi
3752
3753 dnl
3754 dnl  wxWidgets module
3755 dnl
3756 AC_ARG_ENABLE(wxwidgets,
3757   [  --enable-wxwidgets      wxWidgets support (default enabled)])
3758 if test "${enable_wxwindows}" 
3759 then
3760   AC_MSG_WARN(--{en|dis}able-wxwindows is deprecated. Use --{en|dis}able-wxwidgets instead.)
3761 fi
3762
3763 if test "${enable_wxwindows}" = "no"
3764 then
3765   enable_wxwidgets="no"
3766 fi
3767 if test "${enable_wxwidgets}" != "no"
3768 then
3769   WXWIDGETS_PATH="${PATH}"
3770   AC_ARG_WITH(wx-config-path,
3771     [    --with-wx-config-path=PATH wx-config path (default search in \$PATH)],
3772     [ if test "${with_wx_config_path}" != "no"
3773       then
3774         WXWIDGETS_PATH="${with_wx_config_path}:${PATH}"
3775       fi ])
3776   WXWIDGETS_NAME="wx-config"
3777   AC_ARG_WITH(wx-config,
3778     [    --with-wx-config=NAME      wx-config name (default is wx-config)],
3779     [ if test "${with_wx_config}" != "no"
3780       then
3781         WXWIDGETS_NAME="${with_wx_config}"
3782       fi ])
3783   # look for wx-config
3784   AC_PATH_PROG(WX_CONFIG, ${WXWIDGETS_NAME}, no, ${WXWIDGETS_PATH})
3785   if test "${WX_CONFIG}" != "no" -a "${CXX}" != ""
3786   then
3787     if expr 2.3.0 \> `${WX_CONFIG} --version` >/dev/null
3788     then
3789       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.])
3790     fi
3791     AC_LANG_PUSH(C++)
3792     # Turn this error:
3793     #   playlist.cpp:1351: error: ISO C++ forbids cast to non-reference type
3794     # into a warning. However better would be to fix playlist.cpp
3795     AC_CACHE_CHECK([if \$CXX accepts -fpermissive],
3796         [ac_cv_cxx_fpermissive],
3797         [CXXFLAGS="${CXXFLAGS_save} -fpermissive"
3798          AC_TRY_COMPILE([],,ac_cv_cxx_fpermissive=yes,
3799                         ac_cv_cxx_fpermissive=no)])
3800     if test "${ac_cv_cxx_fpermissive}" = "yes"; then
3801       VLC_ADD_CXXFLAGS([wxwidgets],-fpermissive)
3802     fi
3803     VLC_ADD_LDFLAGS([wxwidgets],[`${WX_CONFIG} --libs`])
3804     VLC_ADD_CXXFLAGS([wxwidgets],[`${WX_CONFIG} --cxxflags`])
3805     if test "$have_libcdio" = "yes"
3806     then 
3807       VLC_ADD_LDFLAGS([wxwidgets],[$LIBCDIO_LIBS])
3808       VLC_ADD_CXXFLAGS([wxwidgets],[$LIBCDIO_CFLAGS])
3809     else 
3810       AC_MSG_WARN([Probe disc disabled because ok libcdio library not found])
3811     fi
3812
3813     if test "$have_libvcdinfo" = "yes"
3814     then 
3815       VLC_ADD_LDFLAGS([wxwidgets],[$VCDINFO_LIBS])
3816       VLC_ADD_CXXFLAGS([wxwidgets],[$VCDINFO_CFLAGS])
3817     else 
3818       AC_MSG_WARN([VCD information on Probe disc disabled because ok libvcdinfo not found])
3819     fi
3820
3821     # now look for the wxprec.h header
3822     CPPFLAGS="${CPPFLAGS_save} ${CXXFLAGS_wxwidgets}"
3823     ac_cv_wx_headers=yes
3824     AC_CHECK_HEADERS(wx/wxprec.h, , [
3825       ac_cv_wx_headers=no
3826       echo "Cannot find wxWidgets development headers."
3827     ])
3828     if test "${ac_cv_wx_headers}" = "yes"
3829     then
3830       VLC_ADD_PLUGINS([wxwidgets])
3831       ALIASES="${ALIASES} wxvlc"
3832     fi
3833     CPPFLAGS="${CPPFLAGS_save}"
3834     AC_LANG_POP(C++)
3835   fi
3836 fi
3837
3838 dnl
3839 dnl  WinCE GUI module
3840 dnl
3841 if test "${SYS}" = "mingwce"; then
3842   VLC_ADD_BUILTINS([wince])
3843   VLC_ADD_CXXFLAGS([wince],[])
3844   VLC_ADD_LDFLAGS([wince],[-lcommctrl -lcommdlg -laygshell])
3845   dnl Gross hack
3846   VLC_ADD_LDFLAGS([wince],[\\\${top_builddir}modules/gui/wince/wince_rc.o])
3847 elif test "${SYS}" = "mingw32"; then
3848   VLC_ADD_CXXFLAGS([wince],[])
3849   VLC_ADD_LDFLAGS([wince],[-lcomctl32 -lcomdlg32 -lgdi32 -lole32])
3850   dnl Gross hack
3851   VLC_ADD_LDFLAGS([wince],[\\\${top_builddir}modules/gui/wince/wince_rc.o])
3852 fi
3853
3854 dnl
3855 dnl Simple test for skins2 dependency
3856 dnl
3857 if test "${enable_skins2}" != "no"
3858 then
3859   if test "${WX_CONFIG}" = "no"
3860   then
3861     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.])
3862   fi
3863 fi
3864
3865 dnl dnl
3866 dnl dnl  Qt module
3867 dnl dnl
3868 dnl AC_ARG_ENABLE(qt,
3869 dnl   [  --enable-qt             Qt interface support (default disabled)],
3870 dnl   [if test "${enable_qt}" = "yes"; then
3871 dnl      VLC_ADD_PLUGINS([qt])
3872 dnl      ALIASES="${ALIASES} qvlc"
3873 dnl      VLC_ADD_LDFLAGS([qt],[-L${QTDIR}/lib])
3874 dnl      LDFLAGS="${LDFLAGS_save} ${LDFLAGS_qt}"
3875 dnl      AC_CHECK_LIB(qt-mt,main,[
3876 dnl        VLC_ADD_LDFLAGS([qt],[-lqt-mt])
3877 dnl      ],[
3878 dnl        AC_CHECK_LIB(qt,main,[
3879 dnl          VLC_ADD_LDFLAGS([qt],[-lqt])
3880 dnl        ])
3881 dnl      ])
3882 dnl      LDFLAGS="${LDFLAGS_save}"
3883 dnl      VLC_ADD_CXXFLAGS([qt],[-I/usr/include/qt3 -I/usr/include/qt -I${QTDIR}/include])
3884 dnl      if test -x ${QTDIR}/bin/moc
3885 dnl      then
3886 dnl        MOC=${QTDIR}/bin/moc
3887 dnl      else
3888 dnl        MOC=moc
3889 dnl      fi
3890 dnl    fi])
3891 dnl 
3892 dnl dnl
3893 dnl dnl  KDE module
3894 dnl dnl
3895 dnl AC_ARG_ENABLE(kde,
3896 dnl   [  --enable-kde            KDE interface support (default disabled)],
3897 dnl   [if test "${enable_kde}" = "yes"; then
3898 dnl      VLC_ADD_PLUGINS([kde])
3899 dnl      ALIASES="${ALIASES} kvlc"
3900 dnl      VLC_ADD_LDFLAGS([kde],[-L${KDEDIR}/lib])
3901 dnl      dnl Check for -lkfile (only in KDE 2) or -lkdeui -lkio (KDE 3)
3902 dnl      LDFLAGS="${LDFLAGS_save} ${LDFLAGS_kde}"
3903 dnl      AC_CHECK_LIB(kfile,main,[
3904 dnl        VLC_ADD_LDFLAGS([kde],[-lkfile])
3905 dnl      ])
3906 dnl      LDFLAGS="${LDFLAGS_save} ${LDFLAGS_kde}"
3907 dnl      AC_CHECK_LIB(kdeui,main,[
3908 dnl        VLC_ADD_LDFLAGS([kde],[-lkdeui])
3909 dnl      ])
3910 dnl      LDFLAGS="${LDFLAGS_save} ${LDFLAGS_kde}"
3911 dnl      AC_CHECK_LIB(kio,main,[
3912 dnl        VLC_ADD_LDFLAGS([kde],[-lkio])
3913 dnl      ])
3914 dnl      LDFLAGS="${LDFLAGS_save}"
3915 dnl      VLC_ADD_CXXFLAGS([kde],[-I/usr/include/kde -I/usr/include/qt3 -I/usr/include/qt])
3916 dnl      VLC_ADD_CXXFLAGS([kde],[-I${KDEDIR}/include -I${QTDIR}/include])
3917 dnl      if test -x ${QTDIR}/bin/moc
3918 dnl      then
3919 dnl        MOC=${QTDIR}/bin/moc
3920 dnl      else
3921 dnl        MOC=moc
3922 dnl      fi
3923 dnl    fi])
3924
3925 dnl
3926 dnl  Opie QT embedded module
3927 dnl
3928 AC_ARG_ENABLE(opie,
3929   [  --enable-opie           Qt embedded interface support (default disabled)],
3930   [if test "${enable_opie}" = "yes"; then
3931      AC_ARG_WITH(qte,
3932      [    --with-qte=PATH       Qt Embedded headers and libraries])
3933      if test "${with_qte}" != "no" -a -n "${with_qte}"
3934      then
3935        VLC_ADD_LDFLAGS([qte],[-L${with_qte}/lib `echo -L${with_qte}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte])
3936        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])
3937      else
3938        VLC_ADD_LDFLAGS([qte],[-L${QTDIR}/lib `echo -L${QTDIR}/lib | sed 's,opt/QtPalmtop,usr,'`])
3939        VLC_ADD_CXXFLAGS([qte],[-I${QTDIR}/include `echo -I${QTDIR}/include | sed 's,opt/QtPalmtop,usr,'`])
3940      fi
3941      CPPFLAGS="${CPPFLAGS_save} ${CXXFLAGS_qte}"
3942      AC_CHECK_HEADERS(qt.h jpeglib.h, ,[
3943        AC_MSG_ERROR([echo "Cannot find QT Embedded development headers."])
3944      ] )
3945      CPPFLAGS="${CPPFLAGS_save}"
3946
3947      VLC_ADD_PLUGINS([opie])
3948      NEED_QTE_MAIN=yes
3949      VLC_ADD_LDFLAGS([opie],[-lqpe ${LDFLAGS_qte}])
3950      VLC_ADD_CXXFLAGS([opie],[${CXXFLAGS_qte}])
3951      if test "${with_qte}" != "no" -a -n "${with_qte}"
3952      then
3953        MOC=${with_qte}/bin/moc
3954      else
3955        MOC=${QTDIR}/bin/moc
3956      fi
3957    fi])
3958
3959 dnl
3960 dnl  MacOS X module
3961 dnl
3962 AC_ARG_ENABLE(macosx,
3963   [  --enable-macosx         MacOS X support (default enabled on MacOS X)],
3964   [if test "${enable_macosx}" = "yes"
3965    then
3966      VLC_ADD_BUILTINS([macosx])
3967      VLC_ADD_LDFLAGS([macosx],[-framework IOKit -framework Cocoa -framework Carbon -framework QuickTime -lobjc -ObjC -framework OpenGL])
3968    fi],
3969   [AC_CHECK_HEADERS(Cocoa/Cocoa.h,
3970      VLC_ADD_BUILTINS([macosx])
3971      VLC_ADD_LDFLAGS([macosx],[-framework IOKit -framework Cocoa -framework Carbon -framework QuickTime -lobjc -ObjC -framework OpenGL])
3972    )])
3973
3974 dnl
3975 dnl  QNX RTOS module
3976 dnl
3977 AC_ARG_ENABLE(qnx,
3978   [  --enable-qnx            QNX RTOS support (default enabled on QNX RTOS)])
3979     if test "${enable_qnx}" != "no"
3980     then
3981       AC_CHECK_HEADERS(Ph.h, [
3982         VLC_ADD_PLUGINS([qnx])
3983         VLC_ADD_LDFLAGS([qnx],[-lasound -lph])
3984       ])
3985     fi
3986
3987 dnl
3988 dnl  ncurses module
3989 dnl
3990 AC_ARG_ENABLE(ncurses,
3991   [  --enable-ncurses        ncurses interface support (default disabled)],
3992   [if test "${enable_ncurses}" = "yes"; then
3993      VLC_ADD_PLUGINS([ncurses])
3994      VLC_ADD_LDFLAGS([ncurses],[-lncurses])
3995    fi])
3996
3997 dnl
3998 dnl  XOSD plugin
3999 dnl
4000 AC_ARG_ENABLE(xosd,
4001   [  --enable-xosd           xosd interface support (default disabled)])
4002 if test "${enable_xosd}" = "yes"
4003 then
4004   AC_CHECK_HEADER(xosd.h, have_xosd="true", have_xosd="false")
4005   AC_CHECK_LIB(xosd,xosd_set_offset,
4006       AC_DEFINE(HAVE_XOSD_VERSION_1, 1, Define if <xosd.h> is 1.0.x),
4007     AC_CHECK_LIB(xosd,xosd_set_horizontal_offset,
4008         AC_DEFINE(HAVE_XOSD_VERSION_2, 1, Define if <xosd.h> is 2.0.x),
4009       AC_TRY_COMPILE([#include <xosd.h>],
4010          [void foo() { xosd_init("foo","bar",12,XOSD_top,2,12,42); }],,
4011           AC_DEFINE(HAVE_XOSD_VERSION_0, 1, Define if <xosd.h> is pre-1.0.0))))
4012   if test "${have_xosd}" = "true"
4013   then
4014     VLC_ADD_PLUGINS([xosd])
4015     VLC_ADD_LDFLAGS([xosd],[-lxosd])
4016   fi
4017 fi
4018
4019 dnl
4020 dnl Visualisation plugin
4021 dnl
4022 AC_ARG_ENABLE(visual,
4023   [  --enable-visual         visualisation plugin (default enabled)])
4024 if test "${enable_visual}" != "no"
4025 then
4026     VLC_ADD_PLUGINS([visual])
4027 fi
4028
4029 dnl
4030 dnl OpenGL visualisation plugin
4031 dnl
4032 AC_ARG_ENABLE(galaktos,
4033   [  --enable-galaktos       OpenGL visualisation plugin (default disabled)])
4034 if test "${enable_galaktos}" = "yes"
4035 then
4036   AC_CHECK_HEADERS(GL/gl.h, [
4037     VLC_ADD_PLUGINS([galaktos])
4038     if test "${SYS}" != "mingw32"; then
4039       VLC_ADD_LDFLAGS([galaktos],[-L${x_libraries} -lGL -lGLU])
4040     else
4041       VLC_ADD_LDFLAGS([galaktos],[-lopengl32])
4042     fi
4043   ])
4044 fi
4045
4046 dnl
4047 dnl  goom visualization plugin
4048 dnl
4049 AC_ARG_ENABLE(goom,
4050 [  --enable-goom           goom visualisation plugin (default disabled)])
4051 if test "${enable_goom}" = "yes"
4052 then
4053   AC_ARG_WITH(goom-tree,
4054     [    --with-goom-tree=PATH goom tree for static linking (required)])
4055
4056   dnl
4057   dnl test for --with-goom-tree
4058   dnl
4059   if test "${with_goom_tree}" != "no" -a -n "${with_goom_tree}"; then
4060     AC_MSG_CHECKING(for libgoom2.a in ${with_goom_tree})
4061     real_goom_tree="`cd ${with_goom_tree} 2>/dev/null && pwd`"
4062     if test -z "${real_goom_tree}"; then
4063       dnl  The given directory can't be found
4064       AC_MSG_RESULT(no)
4065       AC_MSG_ERROR([cannot cd to ${with_goom_tree}])
4066     fi
4067     if test -f "${real_goom_tree}/src/.libs/libgoom2.a"; then
4068       AC_MSG_RESULT(${real_goom_tree}/src/.libs/libgoom2.a)
4069       VLC_ADD_BUILTINS([goom])
4070       VLC_ADD_LDFLAGS([goom],[-L${real_goom_tree}/src/.libs -lgoom2])
4071       VLC_ADD_CPPFLAGS([goom],[-I${real_goom_tree}/src -DUSE_GOOM_TREE])
4072     else
4073       dnl  The given libgoom2 wasn't built, try to look for the old goom
4074       AC_MSG_RESULT(no)
4075       AC_MSG_CHECKING(for libgoom.a in ${with_goom_tree})
4076       if test -f "${real_goom_tree}/libgoom.a"; then
4077         AC_MSG_RESULT(${real_goom_tree}/libgoom.a)
4078         VLC_ADD_BUILTINS([goom])
4079         VLC_ADD_LDFLAGS([goom],[-L${real_goom_tree} -lgoom])
4080         VLC_ADD_CPPFLAGS([goom],[-I${real_goom_tree} -DUSE_GOOM_TREE -DOLD_GOOM])
4081       else
4082         dnl  The given libgoom wasn't built
4083         AC_MSG_RESULT(no)
4084         AC_MSG_ERROR([cannot find ${real_goom_tree}/src/.libs/libgoom2.a, make sure you compiled goom in ${with_goom_tree}])
4085       fi
4086     fi
4087   else
4088     AC_CHECK_HEADERS(goom/goom.h, [
4089       LDFLAGS="${LDFLAGS_save} ${LDFLAGS_goom}"
4090       AC_CHECK_LIB(goom2, goom_init, [
4091         VLC_ADD_PLUGINS([goom])
4092         VLC_ADD_LDFLAGS([goom],[-lgoom2])
4093       ],[
4094         AC_MSG_ERROR([Could not find goom on your system: you may get it from http://www.ios-software.com/.])
4095       ])
4096       LDFLAGS="${LDFLAGS_save}"
4097     ])
4098   fi
4099 fi
4100
4101 dnl
4102 dnl  SLP access plugin
4103 dnl
4104 AC_ARG_ENABLE(slp,
4105   [  --enable-slp            SLP service discovery support (default disabled)])
4106 if test "${enable_slp}" = "yes"
4107 then
4108   AC_ARG_WITH(slp,
4109   [    --with-slp=PATH       libslp headers and libraries])
4110   if test -z "${with_slp}"
4111   then
4112     AC_CHECK_HEADERS(slp.h, have_slp="true", have_slp="false")
4113     if test "${have_slp}" = "true"
4114     then
4115       VLC_ADD_PLUGINS([slp])
4116       VLC_ADD_LDFLAGS([slp],[-lslp])
4117       VLC_ADD_LDFLAGS([stream_out_standard],[-lslp])
4118     fi
4119   else
4120     AC_MSG_CHECKING(for slp headers in ${with_slp})
4121     if test -f ${with_slp}/slp.h
4122     then
4123       dnl  Use ${with_slp}/libslp/slp.h
4124       AC_MSG_RESULT(yes)
4125       VLC_ADD_PLUGINS([slp])
4126       VLC_ADD_LDFLAGS([slp],[-L${with_slp} -lslp])
4127       VLC_ADD_LDFLAGS([stream_out_standard],[-L${with_slp} -lslp])
4128       VLC_ADD_CPPFLAGS([slp],[-I${with_slp}])
4129       AC_DEFINE(HAVE_SLP_H)
4130     else
4131       dnl  No libslp could be found, sorry
4132       AC_MSG_RESULT(no)
4133       AC_MSG_ERROR([cannot find ${with_slp}/slp.h])
4134     fi
4135   fi
4136 fi
4137
4138 dnl
4139 dnl DAAP access plugin and services discovery 
4140 dnl
4141 AC_ARG_ENABLE(daap,
4142   [  --enable-daap                DAAP shares services discovery support (default enabled)])
4143 if test "$enable_daap" != "no"
4144 then
4145    PKG_CHECK_MODULES(DAAP, opendaap >= 0.3.0,
4146       [ VLC_ADD_PLUGINS([daap])
4147        VLC_ADD_LDFLAGS([daap],[$DAAP_LIBS])
4148        VLC_ADD_CFLAGS([daap],[$DAAP_CFLAGS])]:,
4149       [AC_MSG_WARN(DAAP library not found)])
4150 fi
4151
4152 dnl
4153 dnl  Lirc plugin
4154 dnl
4155 AC_ARG_ENABLE(lirc,
4156   [  --enable-lirc           lirc support (default disabled)])
4157 if test "${enable_lirc}" = "yes"
4158 then
4159   AC_CHECK_HEADER(lirc/lirc_client.h, AC_CHECK_LIB(lirc_client, lirc_init, have_lirc="true", have_lirc="false"),have_lirc="false")
4160   if test "${have_lirc}" = "true"
4161   then
4162     VLC_ADD_PLUGINS([lirc])
4163     VLC_ADD_LDFLAGS([lirc],[-llirc_client])
4164   fi
4165 fi
4166
4167 dnl 
4168 dnl  Joystick plugin
4169 dnl
4170 AC_ARG_ENABLE(joystick,
4171   [  --enable-joystick       joystick control (default enabled)])
4172 if test "${enable_joystick}" = "yes"; then
4173   AC_CHECK_HEADER(linux/joystick.h, [VLC_ADD_PLUGINS([joystick])])
4174 fi
4175
4176 dnl
4177 dnl corba (ORBit) plugin
4178 dnl
4179 dnl Default: do not enable corba
4180 enablecorba=false
4181 AC_ARG_ENABLE(corba,
4182   [  --enable-corba          corba interface support (default disabled)])
4183 if test "${enable_corba}" = "yes"; then
4184       GLIB_VERSION=2.3.2
4185       PKG_CHECK_MODULES(CORBA, 
4186         ORBit-2.0 >= 2.8.0 \
4187         glib-2.0 >= $GLIB_VERSION \
4188         gobject-2.0 >= $GLIB_VERSION \
4189         gthread-2.0 >= $GLIB_VERSION,
4190         [
4191           enablecorba=true
4192           VLC_ADD_LDFLAGS([corba],[$CORBA_LIBS])
4193           VLC_ADD_CFLAGS([corba],[$CORBA_CFLAGS])
4194           VLC_ADD_PLUGINS([corba snapshot]) ],
4195         [ enablecorba=false
4196           AC_MSG_WARN(corba library not found) ])
4197 fi
4198 AM_CONDITIONAL(ENABLE_CORBA, test "$enablecorba" = "true")
4199
4200 AC_ARG_WITH(,[Misc options:])
4201
4202 dnl
4203 dnl  Endianness check, AC_C_BIGENDIAN doesn't work if we are cross-compiling
4204 dnl
4205 dnl  We give the user the opportunity to specify
4206 dnl  --with-words=big or --with-words=little ; otherwise, try to guess
4207 dnl
4208 AC_ARG_WITH(words,
4209   [    --with-words=endianness set endianness (big or little)])
4210   case "${with_words}" in
4211     big)
4212       ac_cv_c_bigendian=yes
4213       ;;
4214     little)
4215       ac_cv_c_bigendian=no
4216       ;;
4217     *)
4218       dnl  Try to guess endianness by matching patterns on a compiled
4219       dnl  binary, by looking for an ASCII or EBCDIC string
4220       AC_CACHE_CHECK([whether the byte order is big-endian],
4221         [ac_cv_c_bigendian],
4222         [ac_cv_c_bigendian="unknown"
4223         [cat >conftest.c <<EOF
4224         short am[] = { 0x4249, 0x4765, 0x6e44, 0x6961, 0x6e53, 0x7953, 0 };
4225         short ai[] = { 0x694c, 0x5454, 0x656c, 0x6e45, 0x6944, 0x6e61, 0 };
4226         void _a(void) { char*s = (char*)am; s = (char *)ai; }
4227         short ei[] = { 0x89D3, 0xe3e3, 0x8593, 0x95c5, 0x89c4, 0x9581, 0 };
4228         short em[] = { 0xc2c9, 0xc785, 0x95c4, 0x8981, 0x95e2, 0xa8e2, 0 };
4229         void _e(void) { char*s = (char*)em; s = (char*)ei; }
4230         int main(void) { _a(); _e(); return 0; }
4231 EOF
4232         ]
4233         if test -f conftest.c
4234         then
4235           if ${CC-cc} -c conftest.c -o conftest.o >>config.log 2>&1 \
4236               && test -f conftest.o
4237           then
4238             if test "`strings conftest.o | grep BIGenDianSyS`"
4239             then
4240               ac_cv_c_bigendian="yes"
4241             fi
4242             if test "`strings conftest.o | grep LiTTleEnDian`"
4243             then
4244               ac_cv_c_bigendian="no"
4245             fi
4246           fi
4247         fi
4248       ])
4249       if test "${ac_cv_c_bigendian}" = "unknown"
4250       then
4251         AC_MSG_ERROR([Could not guess endianness, please use --with-words])
4252       fi
4253       ;;
4254   esac
4255 dnl  Now we know what to use for endianness, just put it in the header
4256 if test "${ac_cv_c_bigendian}" = "yes"
4257 then
4258   AC_DEFINE(WORDS_BIGENDIAN, 1, big endian system)
4259 fi
4260
4261 dnl
4262 dnl  DLL loader copied from MPlayer copied from somewhere else (WINE ?)
4263 dnl
4264 loader=false
4265 AC_ARG_ENABLE(loader,
4266   [  --enable-loader         build DLL loader for ELF i386 platforms (default disabled)])
4267 AM_CONDITIONAL(LOADER, [test "${enable_loader}" = "yes"])
4268 AS_IF([test "${enable_loader}" = "yes"],
4269   [ VLC_ADD_PLUGINS([dmo quicktime])
4270     VLC_ADD_CPPFLAGS([dmo],[-I../../../@top_srcdir@/loader])
4271     VLC_ADD_LDFLAGS([dmo],[../../../loader/libloader.a])
4272     VLC_ADD_CPPFLAGS([quicktime],[-I../../@top_srcdir@/loader])
4273     VLC_ADD_LDFLAGS([quicktime],[../../loader/libloader.a])
4274   ])
4275
4276 dnl
4277 dnl  Microsoft ActiveX support
4278 dnl
4279 activex=false
4280 AC_ARG_ENABLE(activex,
4281   [  --enable-activex        build a vlc-based ActiveX control (default enabled on Win32)])
4282 if test "${enable_activex}" != "no"
4283 then
4284   if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
4285   then
4286     AC_CHECK_PROGS(MIDL, [midl widl], no)
4287     AC_CHECK_HEADERS(ole2.h olectl.h,
4288       [ VLC_ADD_CXXFLAGS([activex],[-fno-exceptions])
4289         VLC_ADD_LDFLAGS([activex],[-lole32 -loleaut32 -luuid -lshlwapi]) 
4290         AC_CHECK_HEADERS(objsafe.h,
4291           VLC_ADD_CXXFLAGS([activex],[-DHAVE_OBJSAFE_HEADER])
4292         )
4293         activex=:
4294       ],
4295       [ AC_MSG_ERROR([required OLE headers are missing from your system]) ]
4296     )
4297   fi
4298 fi
4299 AC_ARG_VAR(MIDL, [Microsoft IDL compiler (Win32 platform only)])
4300 AM_CONDITIONAL(HAS_MIDL_COMPILER, test "${MIDL}" != "no")
4301 AM_CONDITIONAL(BUILD_ACTIVEX,${activex})
4302
4303 dnl
4304 dnl  Mozilla plugin
4305 dnl
4306 mozilla=false
4307 AC_ARG_ENABLE(mozilla,
4308   [  --enable-mozilla        build a vlc-based Mozilla plugin (default disabled)])
4309 if test "${enable_mozilla}" = "yes" -a "${SYS}" != "mingw32"
4310 then
4311   AC_PATH_PROG(MOZILLA_CONFIG, mozilla-config, no)
4312   if test "${MOZILLA_CONFIG}" = "no"
4313   then
4314     AC_MSG_ERROR([Please install the Mozilla development tools, mozilla-config was not found.])
4315   else
4316     if test "${SYS}" != "mingw32"; then
4317       LDFLAGS="${LDFLAGS_save} -L${x_libraries}"
4318       AC_CHECK_LIB(Xt,XtStrings,
4319        [VLC_ADD_LDFLAGS([mozilla],[-L${x_libraries} -lXt -lX11 -lSM -lICE])],
4320        [],
4321        [[-L${x_libraries} -lX11 -lSM -lICE]
4322       ])
4323       LDFLAGS="${LDFLAGS_save}"
4324     fi
4325     mozilla=:
4326     dnl Workaround for http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=150490
4327     VLC_ADD_CPPFLAGS([mozilla],[[`${MOZILLA_CONFIG} --cflags plugin xpcom java | sed 's,-I\([^ ]*\)/mozilla/\([^ ]*\),-I\1/\2 -I\1/mozilla/\2,g' | xargs`]])
4328     VLC_ADD_LDFLAGS([mozilla],[`${MOZILLA_CONFIG} --libs plugin xpcom`])
4329     CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_mozilla}"
4330     AC_CHECK_HEADERS(mozilla-config.h)
4331     CPPFLAGS="${CPPFLAGS_save}"
4332   fi
4333
4334 dnl special case for mingw32
4335 elif test "${enable_mozilla}" = "yes"
4336 then
4337   AC_CHECK_TOOL(CYGPATH, cygpath, "")
4338   AC_ARG_WITH(mozilla-sdk-path,
4339     [    --with-mozilla-sdk-path=PATH path to win32 mozilla sdk], [
4340     real_mozilla_sdk="`cd ${with_mozilla_sdk_path} 2>/dev/null && pwd`"
4341     CPPFLAGS="${CPPFLAGS_save} ${real_mozilla_sdk}"
4342     AC_CHECK_HEADERS(mozilla-config.h, [
4343       mozilla=:
4344       VLC_ADD_CPPFLAGS([mozilla],[-DXPCOM_GLUE -I${real_mozilla_sdk} -I${real_mozilla_sdk}/embedstring/include -I${real_mozilla_sdk}/xpcom/include -I${real_mozilla_sdk}/nspr/include -I${real_mozilla_sdk}/string/include -I${real_mozilla_sdk}/plugin/include -I${real_mozilla_sdk}/java/include])
4345       VLC_ADD_LDFLAGS([mozilla],[-L${real_mozilla_sdk}/embedstring/bin -L${real_mozilla_sdk}/xpcom/bin -L${real_mozilla_sdk}/nspr/bin -L${real_mozilla_sdk}/string/bin -lnspr4 -lplds4 -lplc4 -lembedstring -lxpcomglue -Wl,--kill-at])
4346       XPIDL_INCL="-I${real_mozilla_sdk}/xpcom/idl"
4347       if test -n "${CYGPATH}"; then
4348         XPIDL="${real_mozilla_sdk}/xpcom/bin/xpidl"
4349         real_mozilla_sdk="`${CYGPATH} -w ${real_mozilla_sdk}`"
4350         XPIDL_INCL="${XPIDL_INCL} -I\"${real_mozilla_sdk}/xpcom/idl\""
4351       fi ])
4352     CPPFLAGS="${CPPFLAGS_save}"
4353   ])
4354 fi
4355
4356 dnl Not necessarily in ${PATH}
4357 if test -z "${XPIDL}" -o ! -x "${XPIDL}"; then
4358   XPIDL="/usr/lib/mozilla/xpidl"
4359 fi
4360 AS_IF([test "${MOZILLA_CONFIG}"], [
4361   if test -z "${XPIDL_INCL}"; then
4362     XPIDL_INCL="`${MOZILLA_CONFIG} --cflags plugin xpcom java` \
4363     `${MOZILLA_CONFIG} --idlflags plugin xpcom java` "
4364   fi
4365 ])
4366 AM_CONDITIONAL(BUILD_MOZILLA,${mozilla})
4367
4368 dnl
4369 dnl  test plugins
4370 dnl
4371 AC_ARG_ENABLE(testsuite,
4372   [  --enable-testsuite      build test modules (default disabled)])
4373 if test "${enable_testsuite}" = "yes"
4374 then
4375   TESTS="test1 test2 test3 test4"
4376
4377   dnl  we define those so that bootstrap sets the right linker
4378   VLC_ADD_CXXFLAGS([test2],[])
4379   VLC_ADD_OBJCFLAGS([test3],[])
4380   dnl  this one is needed until automake knows what to do
4381   VLC_ADD_LDFLAGS([test3],[-lobjc])
4382
4383   VLC_ADD_PLUGINS([${TESTS}])
4384   #VLC_ADD_BUILTINS([${TESTS}])
4385 fi
4386
4387 dnl
4388 dnl  gtk_main plugin
4389 dnl
4390 if test "${NEED_GTK_MAIN}" != "no"
4391 then
4392     VLC_ADD_PLUGINS([gtk_main])
4393     VLC_ADD_CFLAGS([gtk_main],[${CFLAGS_gtk}])
4394     VLC_ADD_LDFLAGS([gtk_main],[${LDFLAGS_gtk}])
4395 fi
4396
4397 if test "${NEED_GNOME_MAIN}" != "no"
4398 then
4399     VLC_ADD_PLUGINS([gnome_main])
4400     VLC_ADD_CFLAGS([gnome_main],[${CFLAGS_gtk} ${CFLAGS_gnome}])
4401     VLC_ADD_LDFLAGS([gnome_main],[${LDFLAGS_gtk} ${LDFLAGS_gnome}])
4402 fi
4403
4404 if test "${NEED_GTK2_MAIN}" != "no"
4405 then
4406     VLC_ADD_PLUGINS([gtk2_main])
4407     VLC_ADD_CFLAGS([gtk2],[-DNEED_GTK2_MAIN])
4408     VLC_ADD_CFLAGS([pda],[-DNEED_GTK2_MAIN])
4409     VLC_ADD_CFLAGS([gtk2_main],[${CFLAGS_gtk2} ${CFLAGS_pda}])
4410     VLC_ADD_LDFLAGS([gtk2_main],[${LDFLAGS_gtk2} ${LDFLAGS_pda}])
4411 fi
4412
4413 if test "${NEED_GNOME2_MAIN}" != "no"
4414 then
4415     VLC_ADD_PLUGINS([gnome2_main])
4416     VLC_ADD_CFLAGS([gnome2_main],[${CFLAGS_gtk2} ${CFLAGS_gnome2}])
4417     VLC_ADD_LDFLAGS([gnome2_main],[${LDFLAGS_gtk2} ${LDFLAGS_gnome2}])
4418 fi
4419
4420 dnl
4421 dnl  qte_main plugin
4422 dnl
4423 if test "${NEED_QTE_MAIN}" != "no"
4424 then
4425     VLC_ADD_PLUGINS([qte_main])
4426     VLC_ADD_CXXFLAGS([opie qte qt_video],[-DNEED_QTE_MAIN])
4427     VLC_ADD_CXXFLAGS([qte_main],[${CXXFLAGS_qte} ${CXXFLAGS_qt_video}])
4428     VLC_ADD_LDFLAGS([qte_main],[${LDFLAGS_qte} ${LDFLAGS_qt_video}])
4429 fi
4430
4431
4432 dnl
4433 dnl  Plugin and builtin checks
4434 dnl
4435 builtin_support=false
4436 plugin_support=:
4437
4438 dnl Support for plugins - this must be AT THE END
4439 AC_ARG_ENABLE(plugins,
4440   [  --disable-plugins       make all plugins built-in (default plugins enabled)],
4441   [if test "${enable_plugins}" = "no"
4442    then
4443      plugin_support=false
4444    fi])
4445
4446 dnl Automagically disable plugins if there is no system support for
4447 dnl dynamically loadable files (.so, .dll, .dylib).
4448 dnl don't forget vlc-win32 still can load .dll as plugins
4449 if test "${ac_cv_have_plugins}" = "no"
4450 then
4451   echo "*** Your system doesn't have plugin support. All plugins will be built"
4452   echo "statically."
4453   plugin_support=false
4454 fi
4455
4456 dnl Export automake variables
4457 if ${plugin_support}
4458 then
4459   AC_DEFINE(HAVE_DYNAMIC_PLUGINS, 1, Define if we have support for dynamic plugins)
4460   for plugin in `echo ${PLUGINS}`
4461   do
4462     eval "${plugin}_p=yes"
4463   done
4464 else
4465   VLC_ADD_BUILTINS([${PLUGINS}])
4466   PLUGINS=""
4467 fi
4468 AM_CONDITIONAL(HAVE_PLUGINS, ${plugin_support})
4469
4470 [if echo "${BUILTINS}" | grep '[^ ]' >/dev/null 2>&1
4471 then
4472   builtin_support=:
4473   for builtin in `echo ${BUILTINS}`
4474   do
4475     eval "${builtin}_b=yes"
4476   done
4477 fi]
4478 AM_CONDITIONAL(HAVE_BUILTINS, ${builtin_support})
4479
4480 AC_ARG_ENABLE(shared-libvlc,
4481   [  --enable-shared-libvlc  shared libvlc (default disabled EXPERIMENTAL)],
4482   ,[shared_libvlc=no])
4483
4484 AM_CONDITIONAL(BUILD_SHARED, [test "${shared_libvlc}" != "no"])
4485 AS_IF([test "${shared_libvlc}" != "no"], [
4486   AC_DEFINE(HAVE_SHARED_LIBVLC, 1, [Define to 1 if libvlc is built as a shared library.])
4487 ])
4488
4489 pic=no
4490 AS_IF([test "${shared_libvlc}" != "no"], [pic=pic])
4491 AS_IF([${mozilla}], [pic=pic])
4492 AS_IF([test "${SYS}" = "mingw32"], [pic=no])
4493
4494 AS_IF([test "${pic}" = "no"], [pic=])
4495 AC_SUBST(pic)
4496
4497 dnl Import conditional variables generated by bootstrap
4498 VLC_CONDITIONALS
4499
4500 dnl
4501 dnl  Stuff used by the program
4502 dnl
4503 AC_DEFINE_UNQUOTED(VERSION_MESSAGE, "${VERSION} ${CODENAME}", [Simple version string])
4504 AC_DEFINE_UNQUOTED(COPYRIGHT_MESSAGE, "VLC media player - version ${VERSION} ${CODENAME} - (c) 1996-2005 the VideoLAN team", [Copyright string])
4505 AC_DEFINE_UNQUOTED(CONFIGURE_LINE, "${CONFIGURE_LINE}", [The ./configure command line])
4506 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MAJOR,"${VERSION_MAJOR}", [version major number])
4507 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MINOR,"${VERSION_MINOR}", [version minor number])
4508 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_REVISION,"${VERSION_REVISION}", [version minor number])
4509 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_EXTRA,"${VERSION_EXTRA}", [version minor number])
4510 AC_SUBST(VERSION_MAJOR)
4511 AC_SUBST(VERSION_MINOR)
4512 AC_SUBST(VERSION_REVISION)
4513 AC_DEFINE_UNQUOTED(VLC_COMPILE_BY, "`whoami`", [user who ran configure]) 
4514 AC_DEFINE_UNQUOTED(VLC_COMPILE_HOST, "`hostname`", [host which ran configure]) 
4515 AC_DEFINE_UNQUOTED(VLC_COMPILE_DOMAIN, "`dnsdomainname 2>/dev/null || domainname 2>/dev/null || echo unknown`", [domain of the host which ran configure]) 
4516 AC_DEFINE_UNQUOTED(VLC_COMPILER, "`$CC -v 2>&1 | tail -n 1`", [compiler]) 
4517
4518 dnl Old definitions for version-dependant plugins
4519 dnl VLC_SYMBOL="`echo ${VERSION} | sed -e 'y/.-+/___/'`"
4520 dnl AC_DEFINE_UNQUOTED(MODULE_SUFFIX, "__${VLC_SYMBOL}", [String suffix for module functions])
4521 dnl AC_DEFINE_UNQUOTED(MODULE_SYMBOL, ${VLC_SYMBOL}, [Symbol suffix for module functions])
4522
4523 dnl New definitions with value matching 0.8.4 release
4524 module_symbol="0_8_4"
4525 AC_DEFINE_UNQUOTED(MODULE_SUFFIX, "__${module_symbol}", [String suffix for module functions])
4526 AC_DEFINE_UNQUOTED(MODULE_SYMBOL, $module_symbol, [Symbol suffix for module functions])
4527 VLC_ENTRY="vlc_entry__${module_symbol}"
4528 AC_SUBST(VLC_ENTRY)
4529
4530 DATA_PATH="${ac_tool_prefix}/share/vlc"
4531 AC_SUBST(DATA_PATH)
4532 PLUGIN_PATH="${ac_tool_prefix}/lib/vlc"
4533 AC_SUBST(PLUGIN_PATH)
4534
4535 dnl
4536 dnl  Handle substvars that use $(top_srcdir)
4537 dnl
4538 VLC_CONFIG="top_builddir=\"\$(top_builddir)\" \$(top_builddir)/vlc-config"
4539 AC_SUBST(VLC_CONFIG)
4540 CPPFLAGS_save="${CPPFLAGS_save} -I\$(top_srcdir)/include"
4541
4542 dnl
4543 dnl  Restore *FLAGS
4544 dnl
4545 VLC_RESTORE_FLAGS
4546
4547 dnl
4548 dnl  Create the vlc-config script
4549 dnl
4550 LDFLAGS_libvlc="${LDFLAGS_vlc} ${LDFLAGS_builtin}"
4551 for i in `echo "${BUILTINS}" | sed -e 's@[^ ]*/@@g'` ; do LDFLAGS_libvlc="${LDFLAGS_libvlc} ${libdir}/vlc/${i}.a `eval echo '$'{LDFLAGS_${i}}`" ; done
4552
4553 dnl
4554 dnl  Configuration is finished
4555 dnl
4556 AC_SUBST(SYS)
4557 AC_SUBST(ARCH)
4558 AC_SUBST(ALIASES)
4559 AC_SUBST(ASM)
4560 AC_SUBST(MOC)
4561 AC_SUBST(WINDRES)
4562 AC_SUBST(XPIDL)
4563 AC_SUBST(XPIDL_INCL)
4564 AC_SUBST(LIBEXT)
4565 AC_SUBST(INCLUDES)
4566 AC_SUBST(ALL_LINGUAS)
4567
4568 dnl Import substitutions generated by bootstrap
4569 VLC_SUBSTS
4570
4571 dnl Create vlc-config.in
4572 VLC_OUTPUT_VLC_CONFIG_IN
4573
4574 AC_CONFIG_FILES([
4575   Makefile
4576   activex/Makefile
4577   activex/axvlc.inf
4578   debian/Makefile
4579   doc/Makefile
4580   intl/Makefile
4581   ipkg/Makefile
4582   lib/Makefile
4583   loader/Makefile
4584   modules/Makefile
4585   mozilla/Makefile
4586   m4/Makefile
4587   po/Makefile.in
4588   share/Makefile
4589 ])
4590
4591 AC_CONFIG_FILES([
4592   modules/access/Makefile
4593   modules/access/dshow/Makefile
4594   modules/access/dvb/Makefile
4595   modules/access/mms/Makefile
4596   modules/access/pvr/Makefile
4597   modules/access/v4l/Makefile
4598   modules/access/cdda/Makefile
4599   modules/access/vcd/Makefile
4600   modules/access/vcdx/Makefile
4601   modules/access/screen/Makefile
4602   modules/access_filter/Makefile
4603   modules/access_output/Makefile
4604   modules/audio_filter/Makefile
4605   modules/audio_filter/channel_mixer/Makefile
4606   modules/audio_filter/converter/Makefile
4607   modules/audio_filter/resampler/Makefile
4608   modules/audio_mixer/Makefile
4609   modules/audio_output/Makefile
4610   modules/codec/Makefile
4611   modules/codec/cmml/Makefile
4612   modules/codec/dmo/Makefile
4613   modules/codec/ffmpeg/Makefile
4614   modules/codec/spudec/Makefile
4615   modules/control/Makefile
4616   modules/control/http/Makefile
4617   modules/control/corba/Makefile
4618   modules/demux/Makefile
4619   modules/demux/asf/Makefile
4620   modules/demux/avi/Makefile
4621   modules/demux/mp4/Makefile
4622   modules/demux/mpeg/Makefile
4623   modules/demux/playlist/Makefile
4624   modules/demux/util/Makefile
4625   modules/gui/Makefile
4626   modules/gui/beos/Makefile
4627   modules/gui/pda/Makefile
4628   modules/gui/macosx/Makefile
4629   modules/gui/qnx/Makefile
4630   modules/gui/skins2/Makefile
4631   modules/gui/wxwidgets/Makefile
4632   modules/gui/wince/Makefile
4633   modules/misc/Makefile
4634   modules/misc/dummy/Makefile
4635   modules/misc/memcpy/Makefile
4636   modules/misc/network/Makefile
4637   modules/misc/testsuite/Makefile
4638   modules/misc/playlist/Makefile
4639   modules/misc/xml/Makefile
4640   modules/mux/Makefile
4641   modules/mux/mpeg/Makefile
4642   modules/packetizer/Makefile
4643   modules/services_discovery/Makefile
4644   modules/stream_out/Makefile
4645   modules/stream_out/transrate/Makefile
4646   modules/video_chroma/Makefile
4647   modules/video_filter/Makefile
4648   modules/video_filter/swscale/Makefile
4649   modules/video_output/Makefile
4650   modules/video_output/directx/Makefile
4651   modules/video_output/qte/Makefile
4652   modules/video_output/x11/Makefile
4653   modules/visualization/Makefile
4654   modules/visualization/visual/Makefile
4655   modules/visualization/galaktos/Makefile
4656 ])
4657
4658 dnl Generate makefiles
4659 AC_OUTPUT
4660
4661 # Cannot use AC_CONFIG_FILES([vlc-config]) as is automatically built,
4662 # not provided with the source
4663 ${SHELL} ./config.status --file=vlc-config
4664 chmod 0755 vlc-config
4665
4666 dnl echo "Enabled builtin modules :"
4667 dnl for a in `./vlc-config --target builtin` ; do echo $a; done | sed -e 's,modules\/\(.*\)\/lib\(.*\)\.a,\2 (\1),'
4668
4669 dnl echo "Enabled plugin modules :"
4670 dnl for a in `./vlc-config --target plugin` ; do echo $a; done | sed -e 's,modules\/\(.*\)\/lib\(.*\)_plugin,\2 (\1),'
4671
4672 printf "
4673 vlc configuration
4674 --------------------
4675 vlc version           : ${VERSION}
4676 system                : ${SYS}
4677 architecture          : ${ARCH}
4678 build flavour         : "
4679 test "${enable_debug}" = "yes" && printf "debug "
4680 test "${enable_cprof}" = "yes" && printf "cprof "
4681 test "${enable_gprof}" = "yes" && printf "gprof "
4682 test "${enable_optimizations}" = "yes" && printf "optim "
4683 test "${enable_release}" = "yes" && printf "release " || printf "devel "
4684 echo "
4685 vlc aliases           :${ALIASES}
4686
4687 You can tune the compiler flags in vlc-config.
4688 To build vlc and its plugins, type \`make'.
4689 "
4690