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