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