Fixes
[mplayer/glamo.git] / configure
blob45e796dee43e0262a6b25e9aef873ac321bdabe5
1 #! /bin/sh
3 # Original version (C) 2000 Pontscho/fresh!mindworkz
4 # pontscho@makacs.poliod.hu
6 # History / Contributors: check the cvs log !
8 # Cleanups all over the place (c) 2001 pl
11 # This configure script is *not* autoconf-based and has different semantics.
12 # It attempts to autodetect all settings and options where possible. It is
13 # possible to override autodetection with the --enable-option/--disable-option
14 # command line parameters. --enable-option forces the option on skipping
15 # autodetection. Yes, this means that compilation may fail and yes, this is not
16 # how autoconf-based configure scripts behave.
18 # configure generates a series of configuration files:
19 # - config.h contains #defines that are used in the C code.
20 # - config.mak is included from the Makefiles.
22 # If you want to add a new check for $feature, here is a simple skeleton:
24 # echocheck "$feature"
25 # if "$_feature" = auto; then
26 # cat > $TMPC << EOF
27 # #include <feature.h>
28 # int main(void) { return 0; }
29 # EOF
30 # _feature=no
31 # cc_check && _feature=yes
32 # if test "$_feature" = yes ; then
33 # _def_feature='#define HAVE_FEATURE 1'
34 # else
35 # _def_feature='#undef HAVE_FEATURE'
36 # fi
37 # echores "$_feature"
39 # Furthermore you need to add the variable _feature to the list of default
40 # settings and set it to one of yes/no/auto. Also add appropriate
41 # --enable-feature/--disable-feature command line options.
42 # The results of the check should be written to config.h and config.mak
43 # at the end of this script. The variable names used for this should be
44 # uniform, i.e. if the option is named 'feature':
46 # _feature : should have a value of yes/no/auto
47 # _def_feature : '#define ... 1' or '#undef ...' for conditional compilation
48 # _ld_feature : '-L/path/dir -lfeature' GCC options
50 #############################################################################
52 # Prevent locale nonsense from breaking basic text processing utils
53 LC_ALL=C
54 export LC_ALL
56 # Prefer these macros to full length text !
57 # These macros only return an error code - NO display is done
58 compile_check() {
59 echo >> "$TMPLOG"
60 cat "$1" >> "$TMPLOG"
61 echo >> "$TMPLOG"
62 echo "$_cc $CFLAGS $_inc_extra $_ld_static $_ld_extra -o $TMPO $@" >> "$TMPLOG"
63 rm -f "$TMPO"
64 $_cc $CFLAGS $_inc_extra $_ld_static $_ld_extra -o "$TMPO" "$@" >> "$TMPLOG" 2>&1
65 TMP="$?"
66 echo >> "$TMPLOG"
67 echo "ldd $TMPO" >> "$TMPLOG"
68 $_ldd "$TMPO" >> "$TMPLOG" 2>&1
69 echo >> "$TMPLOG"
70 return "$TMP"
73 cc_check() {
74 compile_check $TMPC $@
77 cxx_check() {
78 compile_check $TMPCPP $@ -lstdc++
81 tmp_run() {
82 "$TMPO" >> "$TMPLOG" 2>&1
85 # Display error message, flushes tempfile, exit
86 die () {
87 echo
88 echo "Error: $@" >&2
89 echo >&2
90 rm -f "$TMPO" "$TMPC" "$TMPS" "$TMPCPP"
91 echo "Check \"$TMPLOG\" if you do not understand why it failed."
92 exit 1
95 # OS test booleans functions
96 issystem() {
97 test "`echo $system_name | tr A-Z a-z`" = "`echo $1 | tr A-Z a-z`"
99 linux() { issystem "Linux" ; return "$?" ; }
100 sunos() { issystem "SunOS" ; return "$?" ; }
101 hpux() { issystem "HP-UX" ; return "$?" ; }
102 irix() { issystem "IRIX" ; return "$?" ; }
103 aix() { issystem "AIX" ; return "$?" ; }
104 cygwin() { issystem "CYGWIN" ; return "$?" ; }
105 freebsd() { issystem "FreeBSD" ; return "$?" ; }
106 netbsd() { issystem "NetBSD" ; return "$?" ; }
107 bsdos() { issystem "BSD/OS" ; return "$?" ; }
108 openbsd() { issystem "OpenBSD" ; return "$?" ; }
109 bsd() { freebsd || netbsd || bsdos || openbsd ; return "$?" ; }
110 qnx() { issystem "QNX" ; return "$?" ; }
111 darwin() { issystem "Darwin" ; return "$?" ; }
112 gnu() { issystem "GNU" ; return "$?" ; }
113 mingw32() { issystem "MINGW32" ; return "$?" ; }
114 morphos() { issystem "MorphOS" ; return "$?" ; }
115 win32() { cygwin || mingw32 ; return "$?" ; }
116 beos() { issystem "BEOS" ; return "$?" ; }
118 # arch test boolean functions
119 # x86/x86pc is used by QNX
120 x86() {
121 case "$host_arch" in
122 i[3-9]86|x86|x86pc|k5|k6|k6-2|k6-3|pentium*|athlon*|i586-i686) return 0 ;;
123 *) return 1 ;;
124 esac
127 x86_64() {
128 case "$host_arch" in
129 x86_64|amd64) return 0 ;;
130 *) return 1 ;;
131 esac
134 ppc() {
135 case "$host_arch" in
136 ppc) return 0;;
137 *) return 1;;
138 esac
141 alpha() {
142 case "$host_arch" in
143 alpha) return 0;;
144 *) return 1;;
145 esac
148 arm() {
149 case "$host_arch" in
150 arm) return 0;;
151 *) return 1;;
152 esac
155 # not boolean test: implement the posix shell "!" operator for a
156 # non-posix /bin/sh.
157 # usage: not {command}
158 # returns exit status "success" when the execution of "command"
159 # fails.
160 not() {
161 eval "$@"
162 test $? -ne 0
165 # Use this before starting a check
166 echocheck() {
167 echo "============ Checking for $@ ============" >> "$TMPLOG"
168 echo ${_echo_n} "Checking for $@ ... ${_echo_c}"
171 # Use this to echo the results of a check
172 echores() {
173 if test "$_res_comment" ; then
174 _res_comment="($_res_comment)"
176 echo "Result is: $@ $_res_comment" >> "$TMPLOG"
177 echo "##########################################" >> "$TMPLOG"
178 echo "" >> "$TMPLOG"
179 echo "$@ $_res_comment"
180 _res_comment=""
182 #############################################################################
184 # Check how echo works in this /bin/sh
185 case `echo -n` in
186 -n) _echo_n= _echo_c='\c' ;; # SysV echo
187 *) _echo_n='-n ' _echo_c= ;; # BSD echo
188 esac
190 LANGUAGES=`echo help/help_mp-??.h help/help_mp-??_??.h | sed "s:help/help_mp-\(..\).h:\1:g" | sed "s:help/help_mp-\(.....\).h:\1:g"`
192 show_help(){
193 cat << EOF
194 Usage: $0 [OPTIONS]...
196 Configuration:
197 -h, --help display this help and exit
199 Installation directories:
200 --prefix=DIR use this prefix for installing mplayer [/usr/local]
201 --bindir=DIR use this prefix for installing mplayer binary
202 [PREFIX/bin]
203 --datadir=DIR use this prefix for installing machine independent
204 data files (fonts, skins) [PREFIX/share/mplayer]
205 --mandir=DIR use this prefix for installing manpages [PREFIX/man]
206 --confdir=DIR use this prefix for installing configuration files
207 [PREFIX/etc/mplayer]
208 --libdir=DIR use this prefix for object code libraries [PREFIX/lib]
210 Optional features:
211 --disable-mencoder disable mencoder (a/v encoder) compilation [enable]
212 --enable-gui enable gmplayer compilation (GTK+ GUI) [disable]
213 --enable-gtk1 force using GTK 1.2 for GUI [disable]
214 --enable-largefiles enable support for files > 2 GBytes [disable]
215 --enable-linux-devfs set default devices to devfs ones [disable]
216 --enable-termcap use termcap database for key codes [autodetect]
217 --enable-termios use termios database for key codes [autodetect]
218 --disable-iconv do not use iconv(3) function [autodetect]
219 --disable-langinfo do not use langinfo [autodetect]
220 --enable-lirc enable LIRC (remote control) support [autodetect]
221 --enable-lircc enable LIRCCD (LIRC client daemon) input [autodetect]
222 --enable-joystick enable joystick support [disable]
223 --disable-vm disable support X video mode extensions [autodetect]
224 --disable-xf86keysym disable support for 'multimedia' keys [autodetect]
225 --enable-radio enable Radio Interface [disable]
226 --enable-radio-capture enable Capture for Radio Interface (through pci/line-in) [disable]
227 --disable-radio-v4l2 disable Video4Linux2 Radio Interface support [autodetect]
228 --disable-tv disable TV Interface (tv/dvb grabbers) [enable]
229 --disable-tv-v4l1 disable Video4Linux TV Interface support [autodetect]
230 --disable-tv-v4l2 disable Video4Linux2 TV Interface support [autodetect]
231 --disable-tv-bsdbt848 disable BSD BT848 Interface support [autodetect]
232 --disable-pvr disable Video4Linux2 MPEG PVR support [autodetect]
233 --disable-rtc disable RTC (/dev/rtc) on Linux [autodetect]
234 --disable-network disable network support (for: http/mms/rtp) [enable]
235 --enable-winsock2 enable winsock2 usage [autodetect]
236 --enable-smb enable Samba (SMB) input support [autodetect]
237 --enable-live enable LIVE555 Streaming Media support [autodetect]
238 --disable-dvdnav disable libdvdnav support [autodetect]
239 --disable-dvdread Disable libdvdread support [autodetect]
240 --disable-mpdvdkit Disable mpdvdkit2 support [autodetect]
241 --disable-cdparanoia Disable cdparanoia support [autodetect]
242 --disable-bitmap-font Disable bitmap font support [enable]
243 --disable-freetype Disable freetype2 font rendering support [autodetect]
244 --disable-fontconfig Disable fontconfig font lookup support [autodetect]
245 --disable-unrarlib Disable Unique RAR File Library [enabled]
246 --enable-menu Enable OSD menu support (NOT DVD MENU) [disabled]
247 --disable-sortsub Disable subtitles sorting [enabled]
248 --enable-fribidi Enable using the FriBiDi libs [autodetect]
249 --disable-enca Disable using ENCA charset oracle library [autodetect]
250 --disable-macosx Disable Mac OS X specific features [autodetect]
251 --enable-macosx-finder-support Enable Mac OS X Finder invocation parameter parsing [disabled]
252 --enable-macosx-bundle Enable Mac OS X bundle file locations [autodetect]
253 --disable-inet6 Disable IPv6 support [autodetect]
254 --disable-gethostbyname2 gethostbyname() function is not provided by the C
255 library [autodetect]
256 --disable-ftp Disable ftp support [enabled]
257 --disable-vstream Disable tivo vstream client support [autodetect]
258 --disable-pthreads Disable Posix threads support [autodetect]
259 --disable-ass Disable internal SSA/ASS subtitles support [autodetect]
260 --enable-rpath Enable runtime linker path for extra libs [disabled]
262 Codecs:
263 --enable-gif enable gif support [autodetect]
264 --enable-png enable png input/output support [autodetect]
265 --enable-jpeg enable jpeg input/output support [autodetect]
266 --enable-libcdio enable external libcdio support [autodetect]
267 --enable-liblzo enable external liblzo support [autodetect]
268 --disable-win32 disable Win32 DLL support [autodetect]
269 --disable-qtx disable Quicktime codecs [autodetect]
270 --disable-xanim disable XAnim DLL support [autodetect]
271 --disable-real disable RealPlayer DLL support [autodetect]
272 --disable-xvid disable XviD codec [autodetect]
273 --disable-x264 disable H.264 encoder [autodetect]
274 --disable-nut disable libnut demuxer [autodetect]
275 --disable-libavutil disable libavutil [autodetect]
276 --disable-libavcodec disable libavcodec [autodetect]
277 --disable-libavformat disable libavformat [autodetect]
278 --disable-libpostproc disable libpostproc [autodetect]
279 --disable-libavutil_so disable shared libavutil [autodetect]
280 --disable-libavcodec_so disable shared libavcodec [autodetect]
281 --disable-libavformat_so disable shared libavformat [autodetect]
282 --disable-libpostproc_so disable shared libpostproc [autodetect]
283 --disable-libavcodec_mpegaudio_hp disable high precision audio decoding
284 in libavcodec [enabled]
285 --enable-libfame enable libfame realtime encoder [autodetect]
286 --disable-tremor-internal do not build internal Tremor support [enabled]
287 --enable-tremor-low build with lower accuracy internal Tremor [disabled]
288 --enable-tremor-external build with external Tremor [autodetect]
289 --disable-libvorbis disable libvorbis support [autodetect]
290 --disable-speex disable Speex support [autodetect]
291 --enable-theora build with OggTheora support [autodetect]
292 --enable-faad-external build with external FAAD2 (AAC) support [autodetect]
293 --disable-faad-internal disable internal FAAD2 (AAC) support [autodetect]
294 --disable-faac disable support for FAAC (AAC encoder) [autodetect]
295 --disable-ladspa disable LADSPA plugin support [autodetect]
296 --disable-libdv disable libdv 0.9.5 en/decoding support [autodetect]
297 --disable-mad disable libmad (MPEG audio) support [autodetect]
298 --disable-toolame disable Toolame (MPEG layer 2 audio) support in mencoder [autodetect]
299 --disable-twolame disable Twolame (MPEG layer 2 audio) support in mencoder [autodetect]
300 --enable-xmms build with XMMS inputplugin support [disabled]
301 --disable-mp3lib disable builtin mp3lib [enabled]
302 --disable-liba52 disable builtin liba52 [enabled]
303 --enable-libdts enable libdts support [autodetect]
304 --disable-libmpeg2 disable builtin libmpeg2 [enabled]
305 --disable-musepack disable musepack support [autodetect]
306 --disable-amr_nb disable amr narrowband, floating point [autodetect]
307 --disable-amr_nb-fixed disable amr narrowband, fixed point [autodetect]
308 --disable-amr_wb disable amr wideband, floating point [autodetect]
309 --disable-decoder=DECODER disable specified FFmpeg decoder
310 --enable-decoder=DECODER enable specified FFmpeg decoder
311 --disable-encoder=ENCODER disable specified FFmpeg encoder
312 --enable-encoder=ENCODER enable specified FFmpeg encoder
313 --disable-parser=PARSER disable specified FFmpeg parser
314 --enable-parser=PARSER enable specified FFmpeg parser
315 --disable-demuxer=DEMUXER disable specified FFmpeg demuxer
316 --enable-demuxer=DEMUXER enable specified FFmpeg demuxer
317 --disable-muxer=MUXER disable specified FFmpeg muxer
318 --enable-muxer=MUXER enable specified FFmpeg muxer
320 Video output:
321 --disable-vidix-internal disable internal VIDIX [for x86 *nix]
322 --disable-vidix-external disable external VIDIX [for x86 *nix]
323 --enable-gl build with OpenGL render support [autodetect]
324 --enable-dga[=n] build with DGA [n in {1, 2} ] support [autodetect]
325 --enable-vesa build with VESA support [autodetect]
326 --enable-svga build with SVGAlib support [autodetect]
327 --enable-sdl build with SDL render support [autodetect]
328 --enable-aa build with AAlib render support [autodetect]
329 --enable-caca build with CACA render support [autodetect]
330 --enable-ggi build with GGI render support [autodetect]
331 --enable-ggiwmh build with GGI libggiwmh extension [autodetect]
332 --enable-directx build with DirectX support [autodetect]
333 --enable-dxr2 build with DXR2 render support [autodetect]
334 --enable-dxr3 build with DXR3/H+ render support [autodetect]
335 --enable-ivtv build with IVTV TV-Out render support [autodetect]
336 --enable-dvb build with support for output via DVB-Card [autodetect]
337 --enable-dvbhead build with DVB support (HEAD version) [autodetect]
338 --enable-mga build with mga_vid (for Matrox G200/G4x0/G550) support
339 (check for /dev/mga_vid) [autodetect]
340 --enable-xmga build with mga_vid X Window support
341 (check for X & /dev/mga_vid) [autodetect]
342 --enable-xv build with Xv render support for X 4.x [autodetect]
343 --enable-xvmc build with XvMC acceleration for X 4.x [disable]
344 --enable-vm build with XF86VidMode support for X11 [autodetect]
345 --enable-xinerama build with Xinerama support for X11 [autodetect]
346 --enable-x11 build with X11 render support [autodetect]
347 --enable-xshape build with XShape support [autodetect]
348 --enable-fbdev build with FBDev render support [autodetect]
349 --enable-mlib build with mediaLib support (Solaris only) [disable]
350 --enable-3dfx build with obsolete /dev/3dfx support [disable]
351 --enable-tdfxfb build with tdfxfb (Voodoo 3/banshee) support [disable]
352 --enable-s3fb build with s3fb (S3 ViRGE) support [disable]
353 --enable-directfb build with DirectFB support [autodetect]
354 --enable-zr build with ZR360[56]7/ZR36060 support [autodetect]
355 --enable-bl build with Blinkenlights support [disable]
356 --enable-tdfxvid build with tdfx_vid support [disable]
357 --disable-tga disable targa output support [enable]
358 --disable-pnm disable pnm output support [enable]
359 --disable-md5sum disable md5sum output support [enable]
361 Audio output:
362 --disable-alsa disable ALSA sound support [autodetect]
363 --disable-ossaudio disable OSS sound support [autodetect]
364 --disable-arts disable aRts sound support [autodetect]
365 --disable-esd disable esd sound support [autodetect]
366 --disable-polyp disable Polypaudio sound support [autodetect]
367 --disable-jack disable JACK sound support [autodetect]
368 --disable-openal disable OpenAL sound support [autodetect]
369 --disable-nas disable NAS sound support [autodetect]
370 --disable-sgiaudio disable SGI sound support [autodetect]
371 --disable-sunaudio disable Sun sound support [autodetect]
372 --disable-win32waveout disable Windows waveout sound support [autodetect]
373 --disable-select disable using select() on audio device [enable]
375 Miscellaneous options:
376 --enable-runtime-cpudetection Enable runtime CPU detection [disable]
377 --enable-cross-compile Enable cross-compilation [autodetect]
378 --cc=COMPILER use this C compiler to build MPlayer [gcc]
379 --host-cc=COMPILER use this C compiler to build apps needed for the build process [gcc]
380 --as=ASSEMBLER use this assembler to build MPlayer [as]
381 --target=PLATFORM target platform (i386-linux, arm-linux, etc)
382 --enable-static build a statically linked binary. Set further linking
383 options with --enable-static="-lslang -lncurses"
384 --charset convert the help messages to this charset
385 --language=list a white space or comma separated list of languages
386 for translated man pages, the first language is the
387 primary and therefore used for translated messages
388 and GUI (also the environment variable \$LINGUAS is
389 honored) [en]
390 (Available: $LANGUAGES all)
391 --with-install=PATH use a custom install program (useful if your OS uses
392 a GNU-incompatible install utility by default and
393 you want to use GNU version)
394 --install-path=PATH the path to a custom install program
395 this option is obsolete and will be removed soon,
396 use --with-install instead.
398 Advanced options:
399 --enable-mmx build with MMX support [autodetect]
400 --enable-mmxext build with MMX2 support (PIII, Athlon) [autodetect]
401 --enable-3dnow build with 3DNow! support [autodetect]
402 --enable-3dnowext build with extended 3DNow! support [autodetect]
403 --enable-sse build with SSE support [autodetect]
404 --enable-sse2 build with SSE2 support [autodetect]
405 --enable-shm build with shm support [autodetect]
406 --enable-altivec build with Altivec support (PowerPC) [autodetect]
407 --enable-armv5te build with DSP extensions support (ARM) [autodetect]
408 --enable-iwmmxt build with iWMMXt support (ARM) [autodetect]
409 --disable-fastmemcpy disable 3DNow!/SSE/MMX optimized memcpy() [enable]
410 --enable-big-endian Force byte order to big-endian [autodetect]
411 --enable-debug[=1-3] compile debugging information into mplayer [disable]
412 --enable-profile compile profiling information into mplayer [disable]
413 --disable-sighandler disable sighandler for crashes [enable]
414 --enable-crash-debug enable automatic gdb attach on crash [disable]
415 --enable-dynamic-plugins Enable support for dynamic a/v plugins [disable]
417 Hazardous options a.k.a. "DO NOT REPORT ANY BUGS!"
418 --disable-gcc-check disable gcc version checking [enable]
420 Use these options if autodetection fails (Options marked with (*) accept
421 multiple paths separated by ':'):
422 --with-extraincdir=DIR extra headers (png, mad, sdl, ...) in DIR (*)
423 --with-extralibdir=DIR extra linker search paths in DIR (*)
424 --extra-libs=FLAGS extra linker flags
425 --with-x11libdir=DIR X library files in DIR (*)
426 --with-mliblibdir=DIR libmlib (mediaLib support) in DIR (Solaris only)
427 --with-codecsdir=DIR Binary codec files in DIR
428 --with-win32libdir=DIR W*ndows DLL files in DIR
429 --with-xanimlibdir=DIR XAnim DLL files in DIR
430 --with-reallibdir=DIR RealPlayer DLL files in DIR
431 --with-xvidlibdir=DIR libxvidcore (XviD) in DIR (*)
432 --with-x264libdir=DIR libx264 in DIR
433 --with-libdtslibdir=DIR libdts library in DIR (*)
434 --with-livelibdir=DIR LIVE555 Streaming Media libraries in DIR
435 --with-toolamelibdir=DIR Toolame library in DIR
436 --with-xmmsplugindir=DIR XMMS plugins in DIR
437 --with-xmmslibdir=DIR libxmms.so.1 in DIR
438 --with-cdparanoialibdir=DIR cdparanoia libraries (libcdda_*) in DIR (*)
439 --with-xvmclib=NAME name of adapter-specific library (e.g. XvMCNVIDIA)
441 --with-freetype-config=PATH path to freetype-config
442 (e.g. /opt/bin/freetype-config)
443 --with-fribidi-config=PATH path to fribidi-config
444 (e.g. /opt/bin/fribidi-config)
445 --with-glib-config=PATH path to glib*-config (e.g. /opt/bin/glib-config)
446 --with-gtk-config=PATH path to gtk*-config (e.g. /opt/bin/gtk-config)
447 --with-sdl-config=PATH path to sdl*-config (e.g. /opt/bin/sdl-config)
448 --with-dvdnav-config=PATH path to dvdnav-config (e.g. /opt/bin/dvdnav-config)
450 This configure script is NOT autoconf-based, even though its output is similar.
451 It will try to autodetect all configuration options. If you --enable an option
452 it will be forcefully turned on, skipping autodetection. This can break
453 compilation, so you need to know what you are doing.
455 exit 0
456 } #show_help()
458 for parm in "$@" ; do
459 case $parm in
460 --help|-help|-h)
461 show_help
462 esac
463 done
465 # 1st pass checking for vital options
466 _mmx=auto
467 _3dnow=auto
468 _3dnowext=auto
469 _mmxext=auto
470 _sse=auto
471 _sse2=auto
472 _armv5te=auto
473 _iwmmxt=auto
474 _mtrr=auto
475 _install=install
476 _ranlib=ranlib
477 _cc=cc
478 test "$CC" && _cc="$CC"
479 _gcc_check=yes
480 _as=auto
481 _runtime_cpudetection=no
482 _cross_compile=auto
483 for ac_option do
484 case "$ac_option" in
485 --target=*)
486 _target=`echo $ac_option | cut -d '=' -f 2`
488 --cc=*)
489 _cc=`echo $ac_option | cut -d '=' -f 2`
491 --host-cc=*)
492 _host_cc=`echo $ac_option | cut -d '=' -f 2`
494 --as=*)
495 _as=`echo $ac_option | cut -d '=' -f 2`
497 --enable-gcc-check)
498 _gcc_check=yes
500 --disable-gcc-check)
501 _gcc_check=no
503 --enable-static)
504 _ld_static='-static'
506 --disable-static)
507 _ld_static=''
509 --enable-static=*)
510 _ld_static="-static `echo $ac_option | cut -d '=' -f 2`"
512 --with-extraincdir=*)
513 _inc_extra=-I`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -I,g'`
515 --with-extralibdir=*)
516 _ld_extra=-L`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
518 --extra-libs=*)
519 _extra_libs=`echo $ac_option | cut -d '=' -f 2`
521 --enable-runtime-cpudetection)
522 _runtime_cpudetection=yes
524 --disable-runtime-cpudetection)
525 _runtime_cpudetection=no
527 --enable-cross-compile)
528 _cross_compile=yes
530 --disable-cross-compile)
531 _cross_compile=no
533 --install-path=*)
534 _install=`echo $ac_option | cut -d '=' -f 2 | sed 's/\/$//'`"/install"
536 --with-install=*)
537 _install=`echo $ac_option | cut -d '=' -f 2 `
539 --enable-profile)
540 _profile='-p'
542 --disable-profile)
543 _profile=
545 --enable-debug)
546 _debug='-g'
548 --enable-debug=*)
549 _debug=`echo $_echo_n '-g'$_echo_c; echo $ac_option | cut -d '=' -f 2`
551 --disable-debug)
552 _debug=
554 esac
555 done
557 # Determine our OS name and CPU architecture
558 if test -z "$_target" ; then
559 # OS name
560 system_name=`uname -s 2>&1`
561 case "$system_name" in
562 Linux|FreeBSD|NetBSD|BSD/OS|OpenBSD|SunOS|QNX|Darwin|GNU|BeOS|MorphOS|AIX)
564 IRIX*)
565 system_name=IRIX
567 HP-UX*)
568 system_name=HP-UX
570 [cC][yY][gG][wW][iI][nN]*)
571 system_name=CYGWIN
573 MINGW32*)
574 system_name=MINGW32
577 system_name="$system_name-UNKNOWN"
579 esac
582 # host's CPU/instruction set
583 host_arch=`uname -p 2>&1`
584 case "$host_arch" in
585 i386|sparc|ppc|alpha|arm|mips|vax)
587 powerpc) # Darwin returns 'powerpc'
588 host_arch=ppc
590 *) # uname -p on Linux returns 'unknown' for the processor type,
591 # OpenBSD returns 'Intel Pentium/MMX ("Genuine Intel" 586-class)'
593 # Maybe uname -m (machine hardware name) returns something we
594 # recognize.
596 # x86/x86pc is used by QNX
597 case "`uname -m 2>&1`" in
598 i[3-9]86*|x86|x86pc|k5|k6|k6_2|k6_3|k6-2|k6-3|pentium*|athlon*|i586_i686|i586-i686|BePC) host_arch=i386 ;;
599 ia64) host_arch=ia64 ;;
600 x86_64|amd64)
601 if [ -n "`$_cc -dumpmachine | sed -n '/^x86_64-/p;/^amd64-/p'`" -a \
602 -z "`echo $CFLAGS | grep -- -m32`" ]; then
603 host_arch=x86_64
604 else
605 host_arch=i386
608 macppc|ppc|ppc64) host_arch=ppc ;;
609 alpha) host_arch=alpha ;;
610 sparc) host_arch=sparc ;;
611 sparc64) host_arch=sparc64 ;;
612 parisc*|hppa*|9000*) host_arch=hppa ;;
613 arm*|zaurus|cats) host_arch=arm ;;
614 s390) host_arch=s390 ;;
615 s390x) host_arch=s390x ;;
616 mips*) host_arch=mips ;;
617 vax) host_arch=vax ;;
618 *) host_arch=UNKNOWN ;;
619 esac
621 esac
622 else # if test -z "$_target"
623 system_name=`echo $_target | cut -d '-' -f 2`
624 case "`echo $system_name | tr A-Z a-z`" in
625 linux) system_name=Linux ;;
626 freebsd) system_name=FreeBSD ;;
627 netbsd) system_name=NetBSD ;;
628 bsd/os) system_name=BSD/OS ;;
629 openbsd) system_name=OpenBSD ;;
630 sunos) system_name=SunOS ;;
631 qnx) system_name=QNX ;;
632 morphos) system_name=MorphOS ;;
633 mingw32msvc) system_name=MINGW32 ;;
634 esac
635 # We need to convert underscores so that values like k6-2 and pentium-mmx can be passed
636 host_arch=`echo $_target | cut -d '-' -f 1 | tr '_' '-'`
639 echo "Detected operating system: $system_name"
640 echo "Detected host architecture: $host_arch"
642 # LGB: temporary files
643 for I in "$TMPDIR" "$TEMPDIR" "/tmp" ; do
644 test "$I" && break
645 done
647 TMPLOG="configure.log"
648 rm -f "$TMPLOG"
649 TMPC="$I/mplayer-conf-$RANDOM-$$.c"
650 TMPCPP="$I/mplayer-conf-$RANDOM-$$.cpp"
651 TMPO="$I/mplayer-conf-$RANDOM-$$.o"
652 TMPS="$I/mplayer-conf-$RANDOM-$$.S"
654 # config files
656 # FIXME: A lot of stuff is installed under /usr/local
657 # NK: But we should never use this stuff implicitly since we call compiler
658 # from /usr we should be sure that there no effects from other compilers
659 # (libraries) which might be installed into /usr/local. Let users use this
660 # stuff explicitly as command line argument. In other words: It would be
661 # resonable to have only /usr/include or only /usr/local/include.
663 if freebsd ; then
664 _ld_extra="$_ld_extra -L/usr/local/lib"
665 _inc_extra="$_inc_extra -I/usr/local/include"
668 _ldd=ldd
669 if darwin; then
670 _ldd="otool -L"
673 if aix ; then
674 _ld_libC="-lC"
675 else
676 _ld_libC=""
679 # Check how to call 'head' and 'tail'. Newer versions spit out warnings
680 # if used as 'head -1' instead of 'head -n 1', but older versions don't
681 # know about '-n'.
682 if test "`(echo line1 ; echo line2) | head -1 2>/dev/null`" = "line1" ; then
683 _head() { head -$1 2>/dev/null ; }
684 else
685 _head() { head -n $1 2>/dev/null ; }
687 if test "`(echo line1 ; echo line2) | tail -1 2>/dev/null`" = "line2" ; then
688 _tail() { tail -$1 2>/dev/null ; }
689 else
690 _tail() { tail -n $1 2>/dev/null ; }
693 # Checking CC version...
694 if test "$_gcc_check" = yes ; then
695 # Intel C++ Compilers (no autoselect, use CC=/some/binary ./configure)
696 if test "`basename $_cc`" = "icc" || test "`basename $_cc`" = "ecc"; then
697 echocheck "$_cc version"
698 cc_vendor=intel
699 cc_name=`$_cc -V 2>&1 | _head 1 | cut -d ',' -f 1`
700 cc_version=`$_cc -V 2>&1 | _head 1 | cut -d ',' -f 2 | cut -d ' ' -f 3`
701 _cc_major=`echo $cc_version | cut -d '.' -f 1`
702 _cc_minor=`echo $cc_version | cut -d '.' -f 2`
703 # TODO verify older icc/ecc compatibility
704 case $cc_version in
706 cc_version="v. ?.??, bad"
707 cc_verc_fail=yes
709 8.0)
710 cc_version="$cc_version, ok"
711 cc_verc_fail=no
714 cc_version="$cc_version, bad"
715 cc_verc_fail=yes
717 esac
718 echores "$cc_version"
719 else
720 for _cc in "$_cc" gcc gcc-3.4 gcc-3.3 gcc-3.2 gcc-3.1 gcc3 gcc-3.0 cc ; do
721 echocheck "$_cc version"
722 cc_vendor=gnu
723 cc_name=`$_cc -v 2>&1 | _tail 1 | cut -d ' ' -f 1`
724 cc_version=`$_cc -dumpversion 2>&1`
725 if test "$?" -gt 0; then
726 cc_version="not found"
728 case $cc_version in
730 cc_version="v. ?.??, bad"
731 cc_verc_fail=yes
733 2.95.[2-9]|2.95.[2-9][-.]*|[3-4].*)
734 _cc_major=`echo $cc_version | cut -d '.' -f 1`
735 _cc_minor=`echo $cc_version | cut -d '.' -f 2`
736 _cc_mini=`echo $cc_version | cut -d '.' -f 3`
737 cc_version="$cc_version, ok"
738 cc_verc_fail=no
740 'not found')
741 cc_verc_fail=yes
744 cc_version="$cc_version, bad"
745 cc_verc_fail=yes
747 esac
748 echores "$cc_version"
749 test "$cc_verc_fail" = "no" && break
750 done
751 fi # icc
752 if test "$cc_verc_fail" = yes ; then
753 cat <<EOF
755 *** Please downgrade/upgrade C compiler to version gcc-2.95, 3.x or 4.x! ***
757 You are not using a supported compiler. We do not have the time to make sure
758 everything works with compilers other than the ones we use. Use either the
759 same compiler as we do, or use --disable-gcc-check but DO *NOT* REPORT BUGS
760 unless you can reproduce them after recompiling with a 2.95.x or 3/4.x version!
762 Note for gcc 2.96 users: Some versions of this compiler are known to miscompile
763 mplayer and lame (which is used for mencoder). If you get compile errors,
764 first upgrade to the latest 2.96 release (minimum 2.96-85) and try again.
765 If the problem still exists, try with gcc 3.x (or 2.95.x) *BEFORE* reporting
766 bugs!
768 GCC 2.96 IS NOT AND WILL NOT BE SUPPORTED BY US !
770 *** For details please read DOCS/HTML/en/users-vs-dev.html ***
773 die "Bad gcc version"
775 else
776 cat <<EOF
778 ******************************************************************************
780 Hmm. You really want to compile MPlayer with an *UNSUPPORTED* C compiler?
781 Ok. You know. Do it. Did you read DOCS/HTML/en/users-vs-dev.html???
783 DO NOT SEND BUGREPORTS OR COMPLAIN, it's *YOUR* compiler's fault!
784 Get ready for mysterious crashes, no-picture bugs, strange noises... REALLY!
785 Lame which is used by mencoder produces weird errors, too.
787 If you have any problem, install a GCC 2.95.x or 3.x version and try again.
788 If the problem _still_ exists, then read DOCS/HTML/en/bugreports.html !
790 *** DO NOT SEND BUG REPORTS OR COMPLAIN it's *YOUR* compiler's fault! ***
792 ******************************************************************************
796 read _answer
799 echocheck "host cc"
800 test "$_host_cc" || _host_cc=$_cc
801 echores $_host_cc
803 echocheck "cross compilation"
804 if test $_cross_compile = auto ; then
805 cat > $TMPC << EOF
806 int main() { return 0; }
808 _cross_compile=yes
809 cc_check && "$TMPO" && _cross_compile=no
811 echores $_cross_compile
813 if test $_cross_compile = yes; then
814 tmp_run() {
815 return 0
819 # ---
821 # now that we know what compiler should be used for compilation, try to find
822 # out which assembler is used by the $_cc compiler
823 if test "$_as" = auto ; then
824 _as=`$_cc -print-prog-name=as`
825 test -z "$_as" && _as=as
828 # XXX: this should be ok..
829 _cpuinfo="echo"
830 # Cygwin has /proc/cpuinfo, but only supports Intel CPUs
831 # FIXME: Remove the cygwin check once AMD CPUs are supported
832 if test -r /proc/cpuinfo && not cygwin; then
833 # Linux with /proc mounted, extract CPU information from it
834 _cpuinfo="cat /proc/cpuinfo"
835 elif test -r /compat/linux/proc/cpuinfo && not x86 ; then
836 # FreeBSD with Linux emulation /proc mounted,
837 # extract CPU information from it
838 _cpuinfo="cat /compat/linux/proc/cpuinfo"
839 elif darwin && not x86 ; then
840 # use hostinfo on Darwin
841 _cpuinfo="hostinfo"
842 elif aix; then
843 # use 'lsattr' on AIX
844 _cpuinfo="lsattr -E -l proc0 -a type"
845 elif x86; then
846 # all other OSes try to extract CPU information from a small helper
847 # program TOOLS/cpuinfo instead
848 $_cc -o TOOLS/cpuinfo TOOLS/cpuinfo.c
849 _cpuinfo="TOOLS/cpuinfo"
852 if x86 || x86_64 ; then
853 # gather more CPU information
854 pname=`$_cpuinfo | grep 'model name' | cut -d ':' -f 2 | _head 1`
855 pvendor=`$_cpuinfo | grep 'vendor_id' | cut -d ':' -f 2 | cut -d ' ' -f 2 | _head 1`
856 pfamily=`$_cpuinfo | grep 'cpu family' | cut -d ':' -f 2 | cut -d ' ' -f 2 | _head 1`
857 pmodel=`$_cpuinfo | grep -v 'model name' | grep 'model' | cut -d ':' -f 2 | cut -d ' ' -f 2 | _head 1`
858 pstepping=`$_cpuinfo | grep 'stepping' | cut -d ':' -f 2 | cut -d ' ' -f 2 | _head 1`
860 exts=`$_cpuinfo | egrep 'features|flags' | cut -d ':' -f 2 | _head 1`
862 pparam=`echo $exts | sed -e s/k6_mtrr/mtrr/ -e s/cyrix_arr/mtrr/ -e s/centaur_mcr/mtrr/ \
863 -e s/xmm/sse/ -e s/kni/sse/`
865 for ext in $pparam ; do
866 eval _$ext=auto && eval _$ext=yes
867 done
869 # SSE implies MMX2, but not all SSE processors report the mmxext CPU flag.
870 test $_sse = yes && _mmxext=yes
872 echocheck "CPU vendor"
873 echores "$pvendor ($pfamily:$pmodel:$pstepping)"
875 echocheck "CPU type"
876 echores "$pname"
879 case "$host_arch" in
880 i[3-9]86|x86|x86pc|k5|k6|k6-2|k6-3|pentium*|athlon*|i586-i686)
881 _def_arch="#define ARCH_X86 1"
882 _target_arch="TARGET_ARCH_X86 = yes"
885 case "$pvendor" in
886 AuthenticAMD)
887 case "$pfamily" in
888 3) proc=i386 iproc=386 ;;
889 4) proc=i486 iproc=486 ;;
890 5) iproc=586 # LGB: models are: K5/SSA5 K5 K5 K5 ? ? K6 K6 K6-2 K6-3
891 # K6 model 13 are the K6-2+ and K6-III+, only differing in cache size.
892 if test "$pmodel" -eq 9 -o "$pmodel" -eq 13; then
893 proc=k6-3
894 elif test "$pmodel" -ge 8; then
895 proc=k6-2
896 elif test "$pmodel" -ge 6; then
897 proc=k6
898 else
899 proc=i586
902 6) iproc=686
903 # It's a bit difficult to determine the correct type of Family 6
904 # AMD CPUs just from their signature. Instead, we check directly
905 # whether it supports SSE.
906 if test "$_sse" = yes; then
907 # gcc treats athlon-xp, athlon-4 and athlon-mp similarly.
908 proc=athlon-xp
909 else
910 # Again, gcc treats athlon and athlon-tbird similarly.
911 proc=athlon
914 15) iproc=686
915 # k8 cpu-type only supported in gcc >= 3.4.0, but that will be
916 # caught and remedied in the optimization tests below.
917 proc=k8
920 *) proc=k8 iproc=686 ;;
921 esac
923 GenuineIntel)
924 case "$pfamily" in
925 3) proc=i386 iproc=386 ;;
926 4) proc=i486 iproc=486 ;;
927 5) iproc=586
928 if test "$pmodel" -eq 4 || test "$pmodel" -eq 8; then
929 proc=pentium-mmx # 4 is desktop, 8 is mobile
930 else
931 proc=i586
934 6) iproc=686
935 if test "$pmodel" -eq 9 -o "$pmodel" -ge 13; then
936 proc=pentium-m
937 elif test "$pmodel" -ge 7; then
938 proc=pentium3
939 elif test "$pmodel" -ge 3; then
940 proc=pentium2
941 else
942 proc=i686
945 15) iproc=686
946 # A nocona in 32-bit mode has no more capabilities than a prescott.
947 if test "$pmodel" -ge 3; then
948 proc=prescott
949 else
950 proc=pentium4
953 *) proc=prescott iproc=686 ;;
954 esac
956 CentaurHauls)
957 case "$pfamily" in
958 5) iproc=586
959 if test "$pmodel" -ge 8; then
960 proc=winchip2
961 elif test "$pmodel" -ge 4; then
962 proc=winchip-c6
963 else
964 proc=i586
967 6) iproc=686
968 if test "$pmodel" -ge 9; then
969 proc=c3-2
970 else
971 proc=c3
972 iproc=586
975 *) proc=i686 iproc=i686 ;;
976 esac
978 unknown)
979 case "$pfamily" in
980 3) proc=i386 iproc=386 ;;
981 4) proc=i486 iproc=486 ;;
982 *) proc=i586 iproc=586 ;;
983 esac
986 proc=i586 iproc=586 ;;
987 esac
989 # check that gcc supports our CPU, if not, fall back to earlier ones
990 # LGB: check -mcpu and -march swithing step by step with enabling
991 # to fall back till 386.
993 # gcc >= 3.4.0 doesn't support -mcpu, we have to use -mtune instead
995 if [ "$cc_vendor" = "gnu" ] && ([ "$_cc_major" -gt 3 ] || ( [ "$_cc_major" = 3 ] && [ "$_cc_minor" -ge 4 ])) ; then
996 cpuopt=-mtune
997 else
998 cpuopt=-mcpu
1001 echocheck "GCC & CPU optimization abilities"
1002 cat > $TMPC << EOF
1003 int main(void) { return 0; }
1005 if test "$_runtime_cpudetection" = no ; then
1006 if test "$proc" = "k8" -o "$proc" = "opteron" -o "$proc" = "athlon64" -o "$proc" = "athlon-fx" ; then
1007 cc_check -march=$proc $cpuopt=$proc || proc=athlon-xp
1009 if test "$proc" = "athlon-xp" || test "$proc" = "athlon-4" || test "$proc" = "athlon-tbird"; then
1010 cc_check -march=$proc $cpuopt=$proc || proc=athlon
1012 if test "$proc" = "k6-3" || test "$proc" = "k6-2"; then
1013 cc_check -march=$proc $cpuopt=$proc || proc=k6
1015 if test "$proc" = "k6" || test "$proc" = "c3"; then
1016 if not cc_check -march=$proc $cpuopt=$proc; then
1017 if cc_check -march=i586 $cpuopt=i686; then
1018 proc=i586-i686
1019 else
1020 proc=i586
1024 if test "$proc" = "nocona" || test "$proc" = "prescott" ; then
1025 cc_check -march=$proc $cpuopt=$proc || proc=pentium4
1027 if test "$proc" = "pentium4" || test "$proc" = "pentium-m" || test "$proc" = "pentium3" || test "$proc" = "pentium2" || test "$proc" = "athlon" || test "$proc" = "c3-2"; then
1028 cc_check -march=$proc $cpuopt=$proc || proc=i686
1030 if test "$proc" = "i686" || test "$proc" = "pentium-mmx" || test "$proc" = "winchip-c6" || test "$proc" = "winchip2"; then
1031 cc_check -march=$proc $cpuopt=$proc || proc=i586
1033 if test "$proc" = "i586"; then
1034 cc_check -march=$proc $cpuopt=$proc || proc=i486
1036 if test "$proc" = "i486" ; then
1037 cc_check -march=$proc $cpuopt=$proc || proc=i386
1039 if test "$proc" = "i386" ; then
1040 cc_check -march=$proc $cpuopt=$proc || proc=error
1042 if test "$proc" = "error" ; then
1043 echores "CPU optimization disabled. CPU not recognized or your compiler is too old."
1044 _mcpu=""
1045 _march=""
1046 _optimizing=""
1047 elif test "$proc" = "i586-i686"; then
1048 _march="-march=i586"
1049 _mcpu="$cpuopt=i686"
1050 _optimizing="$proc"
1051 else
1052 _march="-march=$proc"
1053 _mcpu="$cpuopt=$proc"
1054 _optimizing="$proc"
1056 else # if test "$_runtime_cpudetection" = no
1057 # i686 is probably the most common CPU - optimize for it
1058 _mcpu="$cpuopt=i686"
1059 # at least i486 required, for bswap instruction
1060 _march="-march=i486"
1061 cc_check $_mcpu || _mcpu=""
1062 cc_check $_march $_mcpu || _march=""
1065 ## Gabucino : --target takes effect here (hopefully...) by overwriting
1066 ## autodetected mcpu/march parameters
1067 if test "$_target" ; then
1068 # TODO: it may be a good idea to check GCC and fall back in all cases
1069 if test "$host_arch" = "i586-i686"; then
1070 _march="-march=i586"
1071 _mcpu="$cpuopt=i686"
1072 else
1073 _march="-march=$host_arch"
1074 _mcpu="$cpuopt=$host_arch"
1077 proc="$host_arch"
1079 case "$proc" in
1080 i386) iproc=386 ;;
1081 i486) iproc=486 ;;
1082 i586|k5|k6|k6-2|k6-3|pentium|pentium-mmx) iproc=586 ;;
1083 i686|athlon*|pentium*) iproc=686 ;;
1084 *) iproc=586 ;;
1085 esac
1088 echores "$proc"
1091 ia64)
1092 _def_arch='#define ARCH_IA64 1'
1093 _target_arch='TARGET_ARCH_IA64 = yes'
1094 iproc='ia64'
1095 proc=''
1096 _march=''
1097 _mcpu=''
1098 _optimizing=''
1101 x86_64|amd64)
1102 _def_arch='#define ARCH_X86_64 1'
1103 _target_arch='TARGET_ARCH_X86_64 = yes'
1104 iproc='x86_64'
1106 # gcc >= 3.4.0 doesn't support -mcpu, we have to use -mtune instead
1107 if test "$cc_vendor" = "gnu" && test "$_cc_major" -gt 3 -o "$_cc_major" -eq 3 -a "$_cc_minor" -ge 4 ; then
1108 cpuopt=-mtune
1109 else
1110 cpuopt=-mcpu
1112 case "$pvendor" in
1113 AuthenticAMD)
1114 proc=k8;;
1115 GenuineIntel)
1116 # 64-bit prescotts exist, but as far as GCC is concerned they have the
1117 # same capabilities as a nocona.
1118 proc=nocona;;
1120 proc=error;;
1121 esac
1123 echocheck "GCC & CPU optimization abilities"
1124 cat > $TMPC << EOF
1125 int main(void) { return 0; }
1127 # This is a stripped-down version of the i386 fallback.
1128 if test "$_runtime_cpudetection" = no ; then
1129 # --- AMD processors ---
1130 if test "$proc" = "k8" -o "$proc" = "opteron" -o "$proc" = "athlon64" -o "$proc" = "athlon-fx" ; then
1131 cc_check -march=$proc $cpuopt=$proc || proc=athlon-xp
1133 # This will fail if gcc version < 3.3, which is ok because earlier
1134 # versions don't really support 64-bit on amd64.
1135 # Is this a valid assumption? -Corey
1136 if test "$proc" = "athlon-xp" || test "$proc" = "athlon-4" ; then
1137 cc_check -march=$proc $cpuopt=$proc || proc=error
1139 # --- Intel processors ---
1140 if test "$proc" = "nocona" || test "$proc" = "prescott" ; then
1141 cc_check -march=$proc $cpuopt=$proc || proc=pentium4
1143 if test "$proc" = "pentium4" || test "$proc" = "pentium4m" ; then
1144 cc_check -march=$proc $cpuopt=$proc || proc=error
1147 _march="-march=$proc"
1148 _mcpu="$cpuopt=$proc"
1149 if test "$proc" = "error" ; then
1150 echores "CPU optimization disabled. CPU not recognized or your compiler is too old."
1151 _mcpu=""
1152 _march=""
1154 else
1155 _march=""
1156 _mcpu=""
1159 _optimizing=""
1161 echores "$proc"
1164 sparc)
1165 _def_arch='#define ARCH_SPARC 1'
1166 _target_arch='TARGET_ARCH_SPARC = yes'
1167 iproc='sparc'
1168 if sunos ; then
1169 echocheck "CPU type"
1170 karch=`uname -m`
1171 case "`echo $karch`" in
1172 sun4) proc=v7 ;;
1173 sun4c) proc=v7 ;;
1174 sun4d) proc=v8 ;;
1175 sun4m) proc=v8 ;;
1176 sun4u) proc=v9 _vis='yes' _def_vis='#define HAVE_VIS = yes' ;;
1177 sun4v) proc=v9 ;;
1178 *) proc=v8 ;;
1179 esac
1180 echores "$proc"
1181 else
1182 proc=v8
1184 _march=''
1185 _mcpu="-mcpu=$proc"
1186 _optimizing="$proc"
1189 sparc64)
1190 _def_arch='#define ARCH_SPARC 1'
1191 _target_arch='TARGET_ARCH_SPARC = yes'
1192 _vis='yes'
1193 _def_vis='#define HAVE_VIS = yes'
1194 iproc='sparc'
1195 proc='v9'
1196 _march=''
1197 _mcpu="-mcpu=$proc"
1198 _optimizing="$proc"
1201 arm|armv4l|armv5tel)
1202 _def_arch='#define ARCH_ARMV4L 1'
1203 _target_arch='TARGET_ARCH_ARMV4L = yes'
1204 iproc='arm'
1205 proc=''
1206 _march=''
1207 _mcpu=''
1208 _optimizing=''
1211 ppc)
1212 _def_arch='#define ARCH_POWERPC 1'
1213 _def_dcbzl='#define NO_DCBZL 1'
1214 _target_arch='TARGET_ARCH_POWERPC = yes'
1215 iproc='ppc'
1216 proc=''
1217 _march=''
1218 _mcpu=''
1219 _optimizing=''
1220 _altivec=no
1222 echocheck "CPU type"
1223 case $system_name in
1224 Linux)
1225 proc=`$_cpuinfo | grep 'cpu' | cut -d ':' -f 2 | cut -d ',' -f 1 | cut -b 2- | _head 1`
1226 if test -n "`$_cpuinfo | grep altivec`"; then
1227 _altivec=yes
1230 Darwin)
1231 proc=`$_cpuinfo | grep "Processor type" | cut -f 3 -d ' ' | sed 's/ppc//'`
1232 if [ `sysctl -n hw.vectorunit` -eq 1 -o \
1233 "`sysctl -n hw.optional.altivec 2> /dev/null`" = "1" ]; then
1234 _altivec=yes
1237 NetBSD)
1238 # only gcc 3.4 works reliably with AltiVec code under NetBSD
1239 case $cc_version in
1240 2*|3.0*|3.1*|3.2*|3.3*)
1243 if [ `sysctl -n machdep.altivec` -eq 1 ]; then
1244 _altivec=yes
1247 esac
1249 AIX)
1250 proc=`$_cpuinfo | grep 'type' | cut -f 2 -d ' ' | sed 's/PowerPC_//'`
1252 esac
1253 if test "$_altivec" = yes; then
1254 echores "$proc altivec"
1255 else
1256 echores "$proc"
1259 echocheck "GCC & CPU optimization abilities"
1261 if test -n "$proc"; then
1262 case "$proc" in
1263 601) _march='-mcpu=601' _mcpu='-mtune=601' ;;
1264 603) _march='-mcpu=603' _mcpu='-mtune=603' ;;
1265 603e|603ev) _march='-mcpu=603e' _mcpu='-mtune=603e' ;;
1266 604|604e|604r|604ev) _march='-mcpu=604' _mcpu='-mtune=604' ;;
1267 740|740/750|745/755) _march='-mcpu=740' _mcpu='-mtune=740' ;;
1268 750|750CX) _march='-mcpu=750' _mcpu='-mtune=750' ;;
1269 POWER) _march='-mcpu=power' _mcpu='-mtune=power' ;;
1270 POWER2) _march='-mcpu=power2' _mcpu='-mtune=power2' ;;
1271 POWER3) _march='-mcpu=power3' _mcpu='-mtune=power3' ;;
1272 *) ;;
1273 esac
1274 # gcc 3.1(.1) and up supports 7400 and 7450
1275 if test "$_cc_major" -ge "3" && test "$_cc_minor" -ge "1" || test "$_cc_major" -ge "4"; then
1276 case "$proc" in
1277 7400*|7410*) _march='-mcpu=7400' _mcpu='-mtune=7400' ;;
1278 7447*|7450*|7455*) _march='-mcpu=7450' _mcpu='-mtune=7450' ;;
1279 *) ;;
1280 esac
1282 # gcc 3.2 and up supports 970
1283 if test "$_cc_major" -ge "3" && test "$_cc_minor" -ge "3" || test "$_cc_major" -ge "4"; then
1284 case "$proc" in
1285 970*|PPC970*) _march='-mcpu=970' _mcpu='-mtune=970'
1286 _def_dcbzl='#undef NO_DCBZL' ;;
1287 *) ;;
1288 esac
1290 # gcc 3.3 and up supports POWER4
1291 if test "$_cc_major" -ge "3" && test "$_cc_minor" -ge "3" || test "$_cc_major" -ge "4"; then
1292 case "$proc" in
1293 POWER4) _march='-mcpu=power4' _mcpu='-mtune=power4' ;;
1294 *) ;;
1295 esac
1297 # gcc 4.0 and up supports POWER5
1298 if test "$_cc_major" -ge "4"; then
1299 case "$proc" in
1300 POWER5*) _march='-mcpu=power5' _mcpu='-mtune=power5' ;;
1301 *) ;;
1302 esac
1306 if test -n "$_mcpu"; then
1307 _optimizing=`echo $_mcpu | cut -c 8-`
1308 echores "$_optimizing"
1309 else
1310 echores "none"
1315 alpha)
1316 _def_arch='#define ARCH_ALPHA 1'
1317 _target_arch='TARGET_ARCH_ALPHA = yes'
1318 iproc='alpha'
1319 _march=''
1321 echocheck "CPU type"
1322 cat > $TMPC << EOF
1323 int main() {
1324 unsigned long ver, mask;
1325 asm ("implver %0" : "=r" (ver));
1326 asm ("amask %1, %0" : "=r" (mask) : "r" (-1));
1327 printf("%ld-%x\n", ver, ~mask);
1328 return 0;
1331 $_cc -o "$TMPO" "$TMPC"
1332 case `"$TMPO"` in
1334 0-0) proc="ev4"; cpu_understands_mvi="0";;
1335 1-0) proc="ev5"; cpu_understands_mvi="0";;
1336 1-1) proc="ev56"; cpu_understands_mvi="0";;
1337 1-101) proc="pca56"; cpu_understands_mvi="1";;
1338 2-303) proc="ev6"; cpu_understands_mvi="1";;
1339 2-307) proc="ev67"; cpu_understands_mvi="1";;
1340 2-1307) proc="ev68"; cpu_understands_mvi="1";;
1341 esac
1342 echores "$proc"
1344 echocheck "GCC & CPU optimization abilities"
1345 if test "$proc" = "ev68" ; then
1346 cc_check -mcpu=$proc || proc=ev67
1348 if test "$proc" = "ev67" ; then
1349 cc_check -mcpu=$proc || proc=ev6
1351 _mcpu="-mcpu=$proc"
1352 echores "$proc"
1354 _optimizing="$proc"
1356 echocheck "MVI instruction support in GCC"
1357 if test "$_cc_major" -ge "3" && test "$cpu_understands_mvi" = "1" ; then
1358 _def_gcc_mvi_support="#define CAN_COMPILE_ALPHA_MVI 1"
1359 echores "yes"
1360 else
1361 _def_gcc_mvi_support="#undef CAN_COMPILE_ALPHA_MVI"
1362 echores "no, GCC = `$_cc -dumpversion 2>&1` (must be >= 3), CPU = $proc (must be pca56 or later)"
1366 mips)
1367 _def_arch='#define ARCH_SGI_MIPS 1'
1368 _target_arch='TARGET_ARCH_SGI_MIPS = yes'
1369 iproc='sgi-mips'
1370 proc=''
1371 _march=''
1372 _mcpu=''
1373 _optimizing=''
1375 if irix ; then
1376 echocheck "CPU type"
1377 proc=`hinv -c processor | grep CPU | cut -d " " -f3`
1378 case "`echo $proc`" in
1379 R3000) _march='-mips1' _mcpu='-mtune=r2000' ;;
1380 R4000) _march='-mips3' _mcpu='-mtune=r4000' ;;
1381 R4400) _march='-mips3' _mcpu='-mtune=r4400' ;;
1382 R4600) _march='-mips3' _mcpu='-mtune=r4600' ;;
1383 R5000) _march='-mips4' _mcpu='-mtune=r5000' ;;
1384 R8000|R10000|R12000|R14000|R16000) _march='-mips4' _mcpu='-mtune=r8000' ;;
1385 esac
1386 # gcc < 3.x does not support -mtune.
1387 if test "$cc_vendor" = "gnu" && test "$_cc_major" -lt 3 ; then
1388 _mcpu=''
1390 echores "$proc"
1395 hppa)
1396 _def_arch='#define ARCH_PA_RISC 1'
1397 _target_arch='TARGET_ARCH_PA_RISC = yes'
1398 iproc='PA-RISC'
1399 proc=''
1400 _march=''
1401 _mcpu=''
1402 _optimizing=''
1405 s390)
1406 _def_arch='#define ARCH_S390 1'
1407 _target_arch='TARGET_ARCH_S390 = yes'
1408 iproc='390'
1409 proc=''
1410 _march=''
1411 _mcpu=''
1412 _optimizing=''
1415 s390x)
1416 _def_arch='#define ARCH_S390X 1'
1417 _target_arch='TARGET_ARCH_S390X = yes'
1418 iproc='390x'
1419 proc=''
1420 _march=''
1421 _mcpu=''
1422 _optimizing=''
1425 vax)
1426 _def_arch='#define ARCH_VAX 1'
1427 _target_arch='TARGET_ARCH_VAX = yes'
1428 iproc='vax'
1429 proc=''
1430 _march=''
1431 _mcpu=''
1432 _optimizing=''
1436 echo "The architecture of your CPU ($host_arch) is not supported by this configure script"
1437 echo "It seems nobody has ported MPlayer to your OS or CPU type yet."
1438 die "unsupported architecture $host_arch"
1440 esac # case "$host_arch" in
1442 if test "$_runtime_cpudetection" = yes ; then
1443 if x86; then
1444 _mmx=yes
1445 _3dnow=yes
1446 _3dnowext=yes
1447 _mmxext=yes
1448 _sse=yes
1449 _sse2=yes
1450 _mtrr=yes
1452 if ppc; then
1453 _altivec=yes
1457 if x86 && test "$_runtime_cpudetection" = no ; then
1458 extcheck() {
1459 if test "$1" = yes ; then
1460 echocheck "kernel support of $2"
1461 cat > $TMPC <<EOF
1462 #include <signal.h>
1463 void catch() { exit(1); }
1464 int main(void){
1465 signal(SIGILL, catch);
1466 __asm__ __volatile__ ("$3":::"memory");return(0);
1470 if cc_check && tmp_run ; then
1471 echores "yes"
1472 _optimizing="$_optimizing $2"
1473 return 0
1474 else
1475 echores "failed"
1476 echo "It seems that your kernel does not correctly support $2."
1477 echo "To use $2 extensions in MPlayer, you have to upgrade/recompile your kernel!"
1478 return 1
1481 return 0
1484 extcheck $_mmx "mmx" "emms" || _mmx=no
1485 extcheck $_mmxext "mmxext" "sfence" || _mmxext=no
1486 extcheck $_3dnow "3dnow" "femms" || _3dnow=no
1487 extcheck $_3dnowext "3dnowext" "pswapd %%mm0, %%mm0" || _3dnowext=no
1488 extcheck $_sse "sse" "xorps %%xmm0, %%xmm0" || _sse=no _gcc3_ext="$_gcc3_ext -mno-sse"
1489 extcheck $_sse2 "sse2" "xorpd %%xmm0, %%xmm0" || _sse2=no _gcc3_ext="$_gcc3_ext -mno-sse2"
1490 echocheck "mtrr support"
1491 echores "$_mtrr"
1493 if test "$_mtrr" = yes ; then
1494 _optimizing="$_optimizing mtrr"
1497 if test "$_gcc3_ext" != ""; then
1498 # if we had to disable sse/sse2 because the active kernel does not
1499 # support this instruction set extension, we also have to tell
1500 # gcc3 to not generate sse/sse2 instructions for normal C code
1501 cat > $TMPC << EOF
1502 int main(void) { return 0; }
1504 cc_check $_march $_gcc3_ext && _march="$_march $_gcc3_ext"
1510 # intrinsics headers for use with FFmpeg
1511 if test "$_sse" = yes ; then
1512 echocheck "xmmintrin.h"
1513 cat > $TMPC << EOF
1514 #include <xmmintrin.h>
1515 int main() { _mm_sfence(); return 0; }
1517 _builtin_vector=no
1518 cc_check -msse && _builtin_vector=yes
1519 if test "$_builtin_vector" = yes ; then
1520 _def_builtin_vector='#define HAVE_BUILTIN_VECTOR 1'
1521 else
1522 _def_builtin_vector='#undef HAVE_BUILTIN_VECTOR'
1524 echores "$_builtin_vector"
1527 if test "$_3dnow" = yes ; then
1528 echocheck "mm3dnow.h"
1529 cat > $TMPC << EOF
1530 #include <mm3dnow.h>
1531 int main() { _m_femms(); return 0; }
1533 _mm3dnow=no
1534 cc_check -m3dnow && _mm3dnow=yes
1535 if test "$_mm3dnow" = yes ; then
1536 _def_mm3dnow='#define HAVE_MM3DNOW 1'
1537 else
1538 _def_mm3dnow='#undef HAVE_MM3DNOW'
1540 echores "$_mm3dnow"
1544 echocheck "assembler support of -pipe option"
1545 cat > $TMPC << EOF
1546 int main(void) { return 0; }
1548 cc_check -pipe && _pipe="-pipe" && echores "yes" || echores "no"
1551 echocheck "compiler support of named assembler arguments"
1552 _named_asm_args=yes
1553 _def_named_asm_args="#define NAMED_ASM_ARGS 1"
1554 if test "$cc_vendor" = "gnu" && test "$_cc_major" -lt 3 \
1555 -o "$_cc_major" -eq 3 -a "$_cc_minor" = 0 ; then
1556 _named_asm_args=no
1557 _def_named_asm_args="#undef NAMED_ASM_ARGS"
1559 echores $_named_asm_args
1562 # Checking for CFLAGS
1563 _stripbinaries=yes
1564 if test "$_profile" != "" || test "$_debug" != "" ; then
1565 CFLAGS="-W -Wall -O2 $_march $_mcpu $_debug $_profile"
1566 if test "$_cc_major" -ge "3" ; then
1567 CFLAGS=`echo "$CFLAGS" | sed -e 's/\(-Wall\)/\1 -Wno-unused-parameter/'`
1569 _stripbinaries=no
1570 elif test -z "$CFLAGS" ; then
1571 CFLAGS="-O4 $_march $_mcpu $_pipe -ffast-math -fomit-frame-pointer"
1572 else
1573 _warn_CFLAGS=yes
1575 if test -n "$LDFLAGS" ; then
1576 _ld_extra="$_ld_extra $LDFLAGS"
1577 _warn_CFLAGS=yes
1579 if test -n "$CPPFLAGS" ; then
1580 _inc_extra="$_inc_extra $CPPFLAGS"
1581 _warn_CFLAGS=yes
1584 _prefix="/usr/local"
1586 # GOTCHA: the variables below defines the default behavior for autodetection
1587 # and have - unless stated otherwise - at least 2 states : yes no
1588 # If autodetection is available then the third state is: auto
1589 _libavutil=auto
1590 _libavutil_so=auto
1591 _libavcodec=auto
1592 _amr_nb=auto
1593 _amr_nb_fixed=auto
1594 _amr_wb=auto
1595 _libavdecoders=`grep 'register_avcodec(&[a-z0-9_]*_decoder)' libavcodec/allcodecs.c | sed 's/.*&\(.*\)).*/\1/'`
1596 _libavencoders=`grep 'register_avcodec(&[a-z0-9_]*_encoder)' libavcodec/allcodecs.c | sed 's/.*&\(.*\)).*/\1/'`
1597 _libavparsers=`grep 'av_register_codec_parser(&[a-z]' libavcodec/allcodecs.c | sed 's/.*&\(.*\)).*/\1/'`
1598 _libavdemuxers=`grep 'av_register_input_format(&[a-z]' libavformat/allformats.c | sed 's/.*&\(.*\)).*/\1/'`
1599 _libavmuxers=`grep 'av_register_output_format(&[a-z]' libavformat/allformats.c | sed 's/.*&\(.*\)).*/\1/'`
1600 _libavcodec_so=auto
1601 _libavformat=auto
1602 _libavformat_so=auto
1603 _libpostproc=auto
1604 _libpostproc_so=auto
1605 _libavcodec_mpegaudio_hp=yes
1606 _libfame=auto
1607 _mencoder=yes
1608 _x11=auto
1609 _xshape=auto
1610 _dga=auto # 1 2 no auto
1611 _xv=auto
1612 _xvmc=no #auto when complete
1613 _sdl=auto
1614 _directx=auto
1615 _win32waveout=auto
1616 _nas=auto
1617 _png=auto
1618 _jpeg=auto
1619 _pnm=yes
1620 _md5sum=yes
1621 _gif=auto
1622 _gl=auto
1623 _ggi=auto
1624 _ggiwmh=auto
1625 _aa=auto
1626 _caca=auto
1627 _svga=auto
1628 _vesa=auto
1629 _fbdev=auto
1630 _dvb=auto
1631 _dvbhead=auto
1632 _dxr2=auto
1633 _dxr3=auto
1634 _ivtv=auto
1635 _iconv=auto
1636 _langinfo=auto
1637 _rtc=auto
1638 _ossaudio=auto
1639 _arts=auto
1640 _esd=auto
1641 _polyp=auto
1642 _jack=auto
1643 _openal=auto
1644 _libcdio=auto
1645 _liblzo=auto
1646 _mad=auto
1647 _toolame=auto
1648 _twolame=auto
1649 _tremor_internal=yes
1650 _tremor_low=no
1651 _tremor_external=auto
1652 _libvorbis=auto
1653 _speex=auto
1654 _theora=auto
1655 _mp3lib=yes
1656 _liba52=yes
1657 _libdts=auto
1658 _libmpeg2=yes
1659 _faad_internal=auto
1660 _faad_external=auto
1661 _faac=auto
1662 _ladspa=auto
1663 _xmms=no
1664 _have_dvd=no
1665 _dvdnav=auto
1666 _dvdnavconfig=dvdnav-config
1667 _dvdread=auto
1668 _mpdvdkit=auto
1669 _xanim=auto
1670 _real=auto
1671 _live=auto
1672 _xinerama=auto
1673 _mga=auto
1674 _xmga=auto
1675 _vm=auto
1676 _xf86keysym=auto
1677 _mlib=no #broken, thus disabled
1678 _sgiaudio=auto
1679 _sunaudio=auto
1680 _alsa=auto
1681 _fastmemcpy=yes
1682 _unrarlib=yes
1683 _win32=auto
1684 _select=yes
1685 _radio=no
1686 _radio_capture=no
1687 _radio_v4l=auto
1688 _radio_v4l2=auto
1689 _tv=yes
1690 _tv_v4l1=auto
1691 _tv_v4l2=auto
1692 _tv_bsdbt848=auto
1693 _pvr=auto
1694 _network=yes
1695 _winsock2=auto
1696 _smbsupport=auto
1697 _vidix_internal=auto
1698 _vidix_external=auto
1699 _joystick=no
1700 _xvid=auto
1701 _x264=auto
1702 _nut=auto
1703 _lirc=auto
1704 _lircc=auto
1705 _gui=no
1706 _gtk1=no
1707 _termcap=auto
1708 _termios=auto
1709 _3dfx=no
1710 _s3fb=no
1711 _tdfxfb=no
1712 _tdfxvid=no
1713 _tga=yes
1714 _directfb=auto
1715 _zr=auto
1716 _bl=no
1717 _largefiles=no
1718 #_language=en
1719 _shm=auto
1720 _linux_devfs=no
1721 #_charset=utf8
1722 _dynamic_plugins=no
1723 _crash_debug=no
1724 _sighandler=yes
1725 _libdv=auto
1726 _cdparanoia=auto
1727 _big_endian=auto
1728 _bitmap_font=yes
1729 _freetype=auto
1730 _fontconfig=auto
1731 _menu=no
1732 _qtx=auto
1733 _macosx=auto
1734 _macosx_finder_support=no
1735 _macosx_bundle=auto
1736 _sortsub=yes
1737 _freetypeconfig='freetype-config'
1738 _fribidi=auto
1739 _fribidiconfig='fribidi-config'
1740 _enca=auto
1741 _inet6=auto
1742 _gethostbyname2=auto
1743 _ftp=yes
1744 _musepack=auto
1745 _vstream=auto
1746 _pthreads=auto
1747 _ass=auto
1748 _rpath=no
1749 _asmalign_pot=auto
1750 for ac_option do
1751 case "$ac_option" in
1752 # Skip 1st pass
1753 --target=*) ;;
1754 --cc=*) ;;
1755 --host-cc=*) ;;
1756 --as=*) ;;
1757 --enable-gcc-check) ;;
1758 --disable-gcc-check) ;;
1759 --enable-static*) ;;
1760 --disable-static*) ;;
1761 --with-extraincdir=*) ;;
1762 --with-extralibdir=*) ;;
1763 --extra-libs=*) ;;
1764 --enable-runtime-cpudetection) ;;
1765 --disable-runtime-cpudetection) ;;
1766 --enable-cross-compile) ;;
1767 --disable-cross-compile) ;;
1768 --install-path=*) ;;
1769 --with-install=*) ;;
1770 --enable-profile) ;;
1771 --disable-profile) ;;
1772 --enable-debug) ;;
1773 --enable-debug=*) ;;
1774 --disable-debug) ;;
1776 # Real 2nd pass
1777 --enable-mencoder) _mencoder=yes ;;
1778 --disable-mencoder) _mencoder=no ;;
1779 --enable-dynamic-plugins) _dynamic_plugins=yes ;;
1780 --disable-dynamic-plugins) _dynamic_plugins=no ;;
1781 --enable-x11) _x11=yes ;;
1782 --disable-x11) _x11=no ;;
1783 --enable-xshape) _xshape=yes ;;
1784 --disable-xshape) _xshape=no ;;
1785 --enable-xv) _xv=yes ;;
1786 --disable-xv) _xv=no ;;
1787 --enable-xvmc) _xvmc=yes ;;
1788 --disable-xvmc) _xvmc=no ;;
1789 --enable-sdl) _sdl=yes ;;
1790 --disable-sdl) _sdl=no ;;
1791 --enable-directx) _directx=yes ;;
1792 --disable-directx) _directx=no ;;
1793 --enable-win32waveout) _win32waveout=yes ;;
1794 --disable-win32waveout) _win32waveout=no ;;
1795 --enable-nas) _nas=yes ;;
1796 --disable-nas) _nas=no ;;
1797 --enable-png) _png=yes ;;
1798 --disable-png) _png=no ;;
1799 --enable-jpeg) _jpeg=yes ;;
1800 --disable-jpeg) _jpeg=no ;;
1801 --enable-pnm) _pnm=yes ;;
1802 --disable-pnm) _pnm=no ;;
1803 --enable-md5sum) _md5sum=yes ;;
1804 --disable-md5sum) _md5sum=no ;;
1805 --enable-gif) _gif=yes ;;
1806 --disable-gif) _gif=no ;;
1807 --enable-gl) _gl=yes ;;
1808 --disable-gl) _gl=no ;;
1809 --enable-ggi) _ggi=yes ;;
1810 --disable-ggi) _ggi=no ;;
1811 --enable-ggiwmh) _ggiwmh=yes ;;
1812 --disable-ggiwmh) _ggiwmh=no ;;
1813 --enable-aa) _aa=yes ;;
1814 --disable-aa) _aa=no ;;
1815 --enable-caca) _caca=yes ;;
1816 --disable-caca) _caca=no ;;
1817 --enable-svga) _svga=yes ;;
1818 --disable-svga) _svga=no ;;
1819 --enable-vesa) _vesa=yes ;;
1820 --disable-vesa) _vesa=no ;;
1821 --enable-fbdev) _fbdev=yes ;;
1822 --disable-fbdev) _fbdev=no ;;
1823 --enable-dvb) _dvb=yes ;;
1824 --disable-dvb) _dvb=no ;;
1825 --enable-dvbhead) _dvbhead=yes ;;
1826 --disable-dvbhead) _dvbhead=no ;;
1827 --enable-dxr2) _dxr2=yes ;;
1828 --disable-dxr2) _dxr2=no ;;
1829 --enable-dxr3) _dxr3=yes ;;
1830 --disable-dxr3) _dxr3=no ;;
1831 --enable-ivtv) _ivtv=yes ;;
1832 --disable-ivtv) _ivtv=no ;;
1833 --enable-iconv) _iconv=yes ;;
1834 --disable-iconv) _iconv=no ;;
1835 --enable-langinfo) _langinfo=yes ;;
1836 --disable-langinfo) _langinfo=no ;;
1837 --enable-rtc) _rtc=yes ;;
1838 --disable-rtc) _rtc=no ;;
1839 --enable-libdv) _libdv=yes ;;
1840 --disable-libdv) _libdv=no ;;
1841 --enable-ossaudio) _ossaudio=yes ;;
1842 --disable-ossaudio) _ossaudio=no ;;
1843 --enable-arts) _arts=yes ;;
1844 --disable-arts) _arts=no ;;
1845 --enable-esd) _esd=yes ;;
1846 --disable-esd) _esd=no ;;
1847 --enable-polyp) _polyp=yes ;;
1848 --disable-polyp) _polyp=no ;;
1849 --enable-jack) _jack=yes ;;
1850 --disable-jack) _jack=no ;;
1851 --enable-openal) _openal=yes ;;
1852 --disable-openal) _openal=no ;;
1853 --enable-mad) _mad=yes ;;
1854 --disable-mad) _mad=no ;;
1855 --enable-toolame) _toolame=yes ;;
1856 --disable-toolame) _toolame=no ;;
1857 --enable-twolame) _twolame=yes ;;
1858 --disable-twolame) _twolame=no ;;
1859 --enable-libcdio) _libcdio=yes ;;
1860 --disable-libcdio) _libcdio=no ;;
1861 --enable-liblzo) _liblzo=yes ;;
1862 --disable-liblzo) _liblzo=no ;;
1863 --enable-libvorbis) _libvorbis=yes ;;
1864 --disable-libvorbis) _libvorbis=no ;;
1865 --enable-speex) _speex=yes ;;
1866 --disable-speex) _speex=no ;;
1867 --enable-tremor-internal) _tremor_internal=yes ;;
1868 --disable-tremor-internal) _tremor_internal=no ;;
1869 --enable-tremor-low) _tremor_low=yes ;;
1870 --disable-tremor-low) _tremor_low=no ;;
1871 --enable-tremor-external) _tremor_external=yes ;;
1872 --disable-tremor-external) _tremor_external=no ;;
1873 --enable-theora) _theora=yes ;;
1874 --disable-theora) _theora=no ;;
1875 --enable-mp3lib) _mp3lib=yes ;;
1876 --disable-mp3lib) _mp3lib=no ;;
1877 --enable-liba52) _liba52=yes ;;
1878 --disable-liba52) _liba52=no ;;
1879 --enable-libdts) _libdts=yes ;;
1880 --disable-libdts) _libdts=no ;;
1881 --enable-libmpeg2) _libmpeg2=yes ;;
1882 --disable-libmpeg2) _libmpeg2=no ;;
1883 --enable-musepack) _musepack=yes ;;
1884 --disable-musepack) _musepack=no ;;
1885 --enable-faad-internal) _faad_internal=yes ;;
1886 --disable-faad-internal) _faad_internal=no ;;
1887 --enable-faad-external) _faad_external=yes ;;
1888 --disable-faad-external) _faad_external=no ;;
1889 --enable-faac) _faac=yes ;;
1890 --disable-faac) _faac=no ;;
1891 --enable-ladspa) _ladspa=yes ;;
1892 --disable-ladspa) _ladspa=no ;;
1893 --enable-xmms) _xmms=yes ;;
1894 --disable-xmms) _xmms=no ;;
1895 --enable-dvdread) _dvdread=yes ;;
1896 --disable-dvdread) _dvdread=no ;;
1897 --enable-mpdvdkit) _mpdvdkit=yes ;;
1898 --disable-mpdvdkit) _mpdvdkit=no ;;
1899 --enable-dvdnav) _dvdnav=yes ;;
1900 --disable-dvdnav) _dvdnav=no ;;
1901 --enable-xanim) _xanim=yes ;;
1902 --disable-xanim) _xanim=no ;;
1903 --enable-real) _real=yes ;;
1904 --disable-real) _real=no ;;
1905 --enable-live) _live=yes ;;
1906 --disable-live) _live=no ;;
1907 --enable-xinerama) _xinerama=yes ;;
1908 --disable-xinerama) _xinerama=no ;;
1909 --enable-mga) _mga=yes ;;
1910 --disable-mga) _mga=no ;;
1911 --enable-xmga) _xmga=yes ;;
1912 --disable-xmga) _xmga=no ;;
1913 --enable-vm) _vm=yes ;;
1914 --disable-vm) _vm=no ;;
1915 --enable-xf86keysym) _xf86keysym=yes ;;
1916 --disable-xf86keysym) _xf86keysym=no ;;
1917 --enable-mlib) _mlib=yes ;;
1918 --disable-mlib) _mlib=no ;;
1919 --enable-sunaudio) _sunaudio=yes ;;
1920 --disable-sunaudio) _sunaudio=no ;;
1921 --enable-sgiaudio) _sgiaudio=yes ;;
1922 --disable-sgiaudio) _sgiaudio=no ;;
1923 --enable-alsa) _alsa=yes ;;
1924 --disable-alsa) _alsa=no ;;
1925 --enable-tv) _tv=yes ;;
1926 --disable-tv) _tv=no ;;
1927 --enable-tv-bsdbt848) _tv_bsdbt848=yes ;;
1928 --disable-tv-bsdbt848) _tv_bsdbt848=no ;;
1929 --enable-tv-v4l1) _tv_v4l1=yes ;;
1930 --disable-tv-v4l1) _tv_v4l1=no ;;
1931 --enable-tv-v4l2) _tv_v4l2=yes ;;
1932 --disable-tv-v4l2) _tv_v4l2=no ;;
1933 --enable-radio) _radio=yes ;;
1934 --enable-radio-capture) _radio_capture=yes ;;
1935 --disable-radio-capture) _radio_capture=no ;;
1936 --disable-radio) _radio=no ;;
1937 --enable-radio-v4l) _radio_v4l=yes ;;
1938 --disable-radio-v4l) _radio_v4l=no ;;
1939 --enable-radio-v4l2) _radio_v4l2=yes ;;
1940 --disable-radio-v4l2) _radio_v4l2=no ;;
1941 --enable-pvr) _pvr=yes ;;
1942 --disable-pvr) _pvr=no ;;
1943 --enable-fastmemcpy) _fastmemcpy=yes ;;
1944 --disable-fastmemcpy) _fastmemcpy=no ;;
1945 --enable-network) _network=yes ;;
1946 --disable-network) _network=no ;;
1947 --enable-winsock2) _winsock2=yes ;;
1948 --disable-winsock2) _winsock2=no ;;
1949 --enable-smb) _smbsupport=yes ;;
1950 --disable-smb) _smbsupport=no ;;
1951 --enable-vidix-internal) _vidix_internal=yes ;;
1952 --disable-vidix-internal) _vidix_internal=no ;;
1953 --enable-vidix-external) _vidix_external=yes ;;
1954 --disable-vidix-external) _vidix_external=no ;;
1955 --enable-joystick) _joystick=yes ;;
1956 --disable-joystick) _joystick=no ;;
1957 --enable-xvid) _xvid=yes ;;
1958 --disable-xvid) _xvid=no ;;
1959 --enable-x264) _x264=yes ;;
1960 --disable-x264) _x264=no ;;
1961 --enable-nut) _nut=yes ;;
1962 --disable-nut) _nut=no ;;
1963 --enable-libavutil) _libavutil=yes ;;
1964 --disable-libavutil) _libavutil=no ;;
1965 --enable-libavutil_so) _libavutil_so=yes ;;
1966 --disable-libavutil_so) _libavutil_so=no ;;
1967 --enable-libavcodec) _libavcodec=yes ;;
1968 --disable-libavcodec) _libavcodec=no ;;
1969 --enable-libavcodec_so) _libavcodec_so=yes ;;
1970 --disable-libavcodec_so) _libavcodec_so=no ;;
1971 --enable-amr_nb) _amr_nb=yes ;;
1972 --disable-amr_nb) _amr_nb=no ;;
1973 --enable-amr_nb-fixed) _amr_nb_fixed=yes ;;
1974 --disable-amr_nb-fixed) _amr_nb_fixed=no ;;
1975 --enable-amr_wb) _amr_wb=yes ;;
1976 --disable-amr_wb) _amr_wb=no ;;
1977 --enable-decoder=*) _libavdecoders="$_libavdecoders `echo $ac_option | cut -d '=' -f 2`" ;;
1978 --disable-decoder=*) _libavdecoders=`echo $_libavdecoders | sed "s/\`echo $ac_option | cut -d '=' -f 2\`//g"` ;;
1979 --enable-encoder=*) _libavencoders="$_libavencoders `echo $ac_option | cut -d '=' -f 2`" ;;
1980 --disable-encoder=*) _libavencoders=`echo $_libavencoders | sed "s/\`echo $ac_option | cut -d '=' -f 2\`//g"` ;;
1981 --enable-parser=*) _libavparsers="$_libavparsers `echo $ac_option | cut -d '=' -f 2`" ;;
1982 --disable-parser=*) _libavparsers=`echo $_libavparsers | sed "s/\`echo $ac_option | cut -d '=' -f 2\`//g"` ;;
1983 --enable-demuxer=*) _libavdemuxers="$_libavdemuxers `echo $ac_option | cut -d '=' -f 2`" ;;
1984 --disable-demuxer=*) _libavdemuxers=`echo $_libavdemuxers | sed "s/\`echo $ac_option | cut -d '=' -f 2\`//g"` ;;
1985 --enable-muxer=*) _libavmuxers="$_libavmuxers `echo $ac_option | cut -d '=' -f 2`" ;;
1986 --disable-muxer=*) _libavmuxers=`echo $_libavmuxers | sed "s/\`echo $ac_option | cut -d '=' -f 2\`//g"` ;;
1987 --enable-libavformat) _libavformat=yes;;
1988 --disable-libavformat) _libavformat=no ;;
1989 --enable-libavformat_so) _libavformat_so=yes ;;
1990 --disable-libavformat_so) _libavformat_so=no ;;
1991 --enable-libpostproc) _libpostproc=yes ;;
1992 --disable-libpostproc) _libpostproc=no ;;
1993 --enable-libpostproc_so) _libpostproc_so=yes ;;
1994 --disable-libpostproc_so) _libpostproc_so=no ;;
1995 --enable-libavcodec_mpegaudio_hp) _libavcodec_mpegaudio_hp=yes ;;
1996 --disable-libavcodec_mpegaudio_hp) _libavcodec_mpegaudio_hp=no ;;
1998 --enable-libfame) _libfame=yes ;;
1999 --disable-libfame) _libfame=no ;;
2000 --enable-lirc) _lirc=yes ;;
2001 --disable-lirc) _lirc=no ;;
2002 --enable-lircc) _lircc=yes ;;
2003 --disable-lircc) _lircc=no ;;
2004 --enable-gui) _gui=yes ;;
2005 --disable-gui) _gui=no ;;
2006 --enable-gtk1) _gtk1=yes ;;
2007 --disable-gtk1) _gtk1=no ;;
2008 --enable-termcap) _termcap=yes ;;
2009 --disable-termcap) _termcap=no ;;
2010 --enable-termios) _termios=yes ;;
2011 --disable-termios) _termios=no ;;
2012 --enable-3dfx) _3dfx=yes ;;
2013 --disable-3dfx) _3dfx=no ;;
2014 --enable-s3fb) _s3fb=yes ;;
2015 --disable-s3fb) _s3fb=no ;;
2016 --enable-tdfxfb) _tdfxfb=yes ;;
2017 --disable-tdfxvid) _tdfxvid=no ;;
2018 --enable-tdfxvid) _tdfxvid=yes ;;
2019 --disable-tga) _tga=no ;;
2020 --enable-tga) _tga=yes ;;
2021 --enable-tdfxfb) _tdfxfb=yes ;;
2022 --disable-tdfxfb) _tdfxfb=no ;;
2023 --enable-directfb) _directfb=yes ;;
2024 --disable-directfb) _directfb=no ;;
2025 --enable-zr) _zr=yes ;;
2026 --disable-zr) _zr=no ;;
2027 --enable-bl) _bl=yes ;;
2028 --disable-bl) _bl=no ;;
2029 --enable-mtrr) _mtrr=yes ;;
2030 --disable-mtrr) _mtrr=no ;;
2031 --enable-largefiles) _largefiles=yes ;;
2032 --disable-largefiles) _largefiles=no ;;
2033 --enable-shm) _shm=yes ;;
2034 --disable-shm) _shm=no ;;
2035 --enable-select) _select=yes ;;
2036 --disable-select) _select=no ;;
2037 --enable-linux-devfs) _linux_devfs=yes ;;
2038 --disable-linux-devfs) _linux_devfs=no ;;
2039 --enable-cdparanoia) _cdparanoia=yes ;;
2040 --disable-cdparanoia) _cdparanoia=no ;;
2041 --enable-big-endian) _big_endian=yes ;;
2042 --disable-big-endian) _big_endian=no ;;
2043 --enable-bitmap-font) _bitmap_font=yes ;;
2044 --disable-bitmap-font) _bitmap_font=no ;;
2045 --enable-freetype) _freetype=yes ;;
2046 --disable-freetype) _freetype=no ;;
2047 --enable-fontconfig) _fontconfig=yes ;;
2048 --disable-fontconfig) _fontconfig=no ;;
2049 --enable-unrarlib) _unrarlib=yes ;;
2050 --disable-unrarlib) _unrarlib=no ;;
2051 --enable-ftp) _ftp=yes ;;
2052 --disable-ftp) _ftp=no ;;
2053 --enable-vstream) _vstream=yes ;;
2054 --disable-vstream) _vstream=no ;;
2055 --enable-pthreads) _pthreads=yes ;;
2056 --disable-pthreads) _pthreads=no ;;
2057 --enable-ass) _ass=yes ;;
2058 --disable-ass) _ass=no ;;
2059 --enable-rpath) _rpath=yes ;;
2060 --disable-rpath) _rpath=no ;;
2062 --enable-fribidi) _fribidi=yes ;;
2063 --disable-fribidi) _fribidi=no ;;
2065 --enable-enca) _enca=yes ;;
2066 --disable-enca) _enca=no ;;
2068 --enable-inet6) _inet6=yes ;;
2069 --disable-inet6) _inet6=no ;;
2071 --enable-gethostbyname2) _gethostbyname2=yes ;;
2072 --disable-gethostbyname2) _gethostbyname2=no ;;
2074 --enable-dga) _dga=auto ;; # as we don't know if it's 1 or 2
2075 --enable-dga=*) _dga=`echo $ac_option | cut -d '=' -f 2` ;;
2076 --disable-dga) _dga=no ;;
2078 --enable-menu) _menu=yes ;;
2079 --disable-menu) _menu=no ;;
2081 --enable-qtx) _qtx=yes ;;
2082 --disable-qtx) _qtx=no ;;
2084 --enable-macosx) _macosx=yes ;;
2085 --disable-macosx) _macosx=no ;;
2086 --enable-macosx-finder-support) _macosx_finder_support=yes ;;
2087 --disable-macosx-finder-support) _macosx_finder_support=no ;;
2088 --enable-macosx-bundle) _macosx_bundle=yes;;
2089 --disable-macosx-bundle) _macosx_bundle=no;;
2091 --enable-sortsub) _sortsub=yes ;;
2092 --disable-sortsub) _sortsub=no ;;
2094 --charset=*)
2095 _charset=`echo $ac_option | cut -d '=' -f 2`
2097 --language=*)
2098 _language=`echo $ac_option | cut -d '=' -f 2`
2101 --with-codecsdir=*)
2102 _win32libdir=`echo $ac_option | cut -d '=' -f 2`
2103 _xanimlibdir=`echo $ac_option | cut -d '=' -f 2`
2104 _reallibdir=`echo $ac_option | cut -d '=' -f 2`
2106 --with-win32libdir=*)
2107 _win32libdir=`echo $ac_option | cut -d '=' -f 2`
2109 --with-xanimlibdir=*)
2110 _xanimlibdir=`echo $ac_option | cut -d '=' -f 2`
2112 --with-reallibdir=*)
2113 _reallibdir=`echo $ac_option | cut -d '=' -f 2`
2115 --with-livelibdir=*)
2116 _livelibdir=`echo $ac_option | cut -d '=' -f 2`
2119 --with-xmmslibdir=*)
2120 _xmmslibdir=`echo $ac_option | cut -d '=' -f 2`
2123 --with-xmmsplugindir=*)
2124 _xmmsplugindir=`echo $ac_option | cut -d '=' -f 2`
2127 --enable-crash-debug)
2128 _crash_debug=yes
2130 --disable-crash-debug)
2131 _crash_debug=no
2133 --enable-sighandler)
2134 _sighandler=yes
2136 --disable-sighandler)
2137 _sighandler=no
2140 --enable-sse) _sse=yes ;;
2141 --disable-sse) _sse=no ;;
2142 --enable-sse2) _sse2=yes ;;
2143 --disable-sse2) _sse2=no ;;
2144 --enable-mmxext) _mmxext=yes ;;
2145 --disable-mmxext) _mmxext=no ;;
2146 --enable-3dnow) _3dnow=yes ;;
2147 --disable-3dnow) _3dnow=no _3dnowext=no ;;
2148 --enable-3dnowext) _3dnow=yes _3dnowext=yes ;;
2149 --disable-3dnowext) _3dnowext=no ;;
2150 --enable-altivec) _altivec=yes ;;
2151 --disable-altivec) _altivec=no ;;
2152 --enable-armv5te) _armv5te=yes ;;
2153 --disable-armv5te) _armv5te=no ;;
2154 --enable-iwmmxt) _iwmmxt=yes ;;
2155 --disable-iwmmxt) _iwmmxt=no ;;
2156 --enable-mmx) _mmx=yes ;;
2157 --disable-mmx) # 3Dnow! and MMX2 require MMX
2158 _3dnow=no _3dnowext=no _mmx=no _mmxext=no ;;
2160 --enable-win32) _win32=yes ;;
2161 --disable-win32) _win32=no ;;
2163 --with-x11libdir=*)
2164 _ld_x11=-L`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
2166 --with-xvmclib=*)
2167 _xvmclib=`echo $ac_option | cut -d '=' -f 2`
2169 --with-xvidlibdir=*)
2170 _ld_xvid=-L`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
2172 --with-libdtslibdir=*)
2173 _ld_libdts=-L`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
2175 --with-x264libdir=*)
2176 _ld_x264=-L`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
2178 --with-mliblibdir=*)
2179 _ld_mlib=-L`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
2181 --with-sdl-config=*)
2182 _sdlconfig=`echo $ac_option | cut -d '=' -f 2`
2184 --with-freetype-config=*)
2185 _freetypeconfig=`echo $ac_option | cut -d '=' -f 2`
2187 --with-fribidi-config=*)
2188 _fribidiconfig=`echo $ac_option | cut -d '=' -f 2`
2190 --with-gtk-config=*)
2191 _gtkconfig=`echo $ac_option | cut -d '=' -f 2`
2193 --with-glib-config=*)
2194 _glibconfig=`echo $ac_option | cut -d '=' -f 2`
2196 --with-dvdnav-config=*)
2197 _dvdnavconfig=`echo $ac_option | cut -d '=' -f 2`
2199 --with-cdparanoialibdir=*)
2200 _ld_cdparanoia=-L`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
2202 --with-toolamelibdir=*)
2203 _ld_toolame=-L`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
2205 --prefix=*)
2206 _prefix=`echo $ac_option | cut -d '=' -f 2`
2208 --bindir=*)
2209 _bindir=`echo $ac_option | cut -d '=' -f 2`
2211 --datadir=*)
2212 _datadir=`echo $ac_option | cut -d '=' -f 2`
2214 --mandir=*)
2215 _mandir=`echo $ac_option | cut -d '=' -f 2`
2217 --confdir=*)
2218 _confdir=`echo $ac_option | cut -d '=' -f 2`
2220 --libdir=*)
2221 _libdir=`echo $ac_option | cut -d '=' -f 2`
2225 echo "Unknown parameter: $ac_option"
2226 exit 1
2229 esac
2230 done
2232 # Atmos: moved this here, to be correct, if --prefix is specified
2233 test -z "$_bindir" && _bindir="$_prefix/bin"
2234 test -z "$_datadir" && _datadir="$_prefix/share/mplayer"
2235 test -z "$_mandir" && _mandir="$_prefix/man"
2236 test -z "$_confdir" && _confdir="$_prefix/etc/mplayer"
2237 test -z "$_libdir" && _libdir="$_prefix/lib"
2239 if x86 ; then
2240 # Checking assembler (_as) compatibility...
2241 # Added workaround for older as that reads from stdin by default - atmos
2242 as_version=`echo '' | $_as -version 2>&1 | sed -n 's/^.*assembler \(version \)*\([0-9.]*\).*$/\2/p'`
2243 echocheck "assembler ($_as $as_version)"
2245 _pref_as_version='2.9.1'
2246 echo 'nop' > $TMPS
2247 if test "$_mmx" = yes ; then
2248 echo 'emms' >> $TMPS
2250 if test "$_3dnow" = yes ; then
2251 _pref_as_version='2.10.1'
2252 echo 'femms' >> $TMPS
2254 if test "$_3dnowext" = yes ; then
2255 _pref_as_version='2.10.1'
2256 echo 'pswapd %mm0, %mm0' >> $TMPS
2258 if test "$_mmxext" = yes ; then
2259 _pref_as_version='2.10.1'
2260 echo 'movntq %mm0, (%eax)' >> $TMPS
2262 if test "$_sse" = yes ; then
2263 _pref_as_version='2.10.1'
2264 echo 'xorps %xmm0, %xmm0' >> $TMPS
2266 #if test "$_sse2" = yes ; then
2267 # _pref_as_version='2.11'
2268 # echo 'xorpd %xmm0, %xmm0' >> $TMPS
2270 $_as $TMPS -o $TMPO > /dev/null 2>&1 || as_verc_fail=yes
2272 if test "$as_verc_fail" != yes ; then
2273 echores "ok"
2274 else
2275 _res_comment="Upgrade binutils to ${_pref_as_version} ..."
2276 echores "failed"
2277 die "obsolete binutils version"
2280 fi #if x86
2282 echocheck ".align is a power of two"
2283 if test "$_asmalign_pot" = auto ; then
2284 _asmalign_pot=no
2285 cat > $TMPC << EOF
2286 main() { asm (".align 3"); }
2288 cc_check && _asmalign_pot=yes
2290 if test "$_asmalign_pot" = "yes" ; then
2291 _def_asmalign_pot='#define ASMALIGN(ZEROBITS) ".align " #ZEROBITS "\n\t"'
2292 else
2293 _def_asmalign_pot='#define ASMALIGN(ZEROBITS) ".align 1<<" #ZEROBITS "\n\t"'
2295 echores $_asmalign_pot
2298 #FIXME: This should happen before the check for CFLAGS..
2299 if ppc ; then
2301 # check if altivec is supported by the compiler, and how to enable it
2303 _altivec_gcc_flags=''
2305 if test "$_altivec" = yes -o "$_runtime_cpudetection" = yes ; then
2306 echocheck "GCC altivec support"
2308 p=''
2309 cat > $TMPC << EOF
2310 int main() {
2311 return 0;
2314 FSF_flags='-maltivec -mabi=altivec'
2315 Darwin_flags='-faltivec -D__APPLE_ALTIVEC__'
2317 # check for Darwin-style flags first, since
2318 # gcc-3.3 (August Update from Apple) on MacOS 10.2.8
2319 # accepts but ignores FSF-style flags...
2321 if test -z "$p"; then
2322 cc_check $Darwin_flags && p='Darwin'
2324 if test -z "$p"; then
2325 cc_check $FSF_flags && p='FSF'
2328 case $p in
2329 FSF) _altivec_gcc_flags="$FSF_flags" _altivec=yes ;;
2330 Darwin) _altivec_gcc_flags="$Darwin_flags" _altivec=yes ;;
2331 *) _altivec=no ;;
2332 esac
2334 if test -z "$p"; then
2335 p=none
2336 else
2337 p="$p-style ($_altivec_gcc_flags)"
2340 echores "$p"
2343 # check if <altivec.h> should be included
2345 _def_altivec_h='#undef HAVE_ALTIVEC_H'
2347 if test "$_altivec" = yes ; then
2348 echocheck "altivec.h"
2349 cat > $TMPC << EOF
2350 #include <altivec.h>
2351 int main(void) { return 0; }
2353 _have_altivec_h=no
2354 cc_check $_altivec_gcc_flags && _have_altivec_h=yes
2355 if test "$_have_altivec_h" = yes ; then
2356 _def_altivec_h='#define HAVE_ALTIVEC_H 1'
2358 echores "$_have_altivec_h"
2361 # disable runtime cpudetection if
2362 # - we cannot generate altivec code
2363 # - altivec is disabled by the user
2365 if test "$_runtime_cpudetection" = yes -a "$_altivec" = no ; then
2366 _runtime_cpudetection=no
2369 # show that we are optimizing for altivec (if enabled and supported)
2371 if test "$_runtime_cpudetection" = no -a "$_altivec" = yes ; then
2372 _optimizing="$_optimizing altivec"
2375 # if altivec is enabled, make sure the correct flags turn up in CFLAGS
2377 if test "$_altivec" = yes ; then
2378 #FIXME: _mcpu is used for CFLAGS, this needs to be set earlier
2379 #_mcpu="$_mcpu $_altivec_gcc_flags"
2380 CFLAGS="$CFLAGS $_altivec_gcc_flags"
2383 # setup _def_altivec correctly
2385 if test "$_altivec" = yes ; then
2386 _def_altivec='#define HAVE_ALTIVEC 1'
2387 else
2388 _def_altivec='#undef HAVE_ALTIVEC'
2392 if arm ; then
2393 echocheck "ARMv5TE (Enhanced DSP Extensions)"
2394 if test $_armv5te = "auto" ; then
2395 cat > $TMPC << EOF
2396 int main(void) {
2397 __asm__ __volatile__ ("qadd r0, r0, r0");
2400 _armv5te=no
2401 cc_check && _armv5te=yes
2403 echores "$_armv5te"
2405 echocheck "iWMMXt (Intel XScale SIMD instructions)"
2406 if test $_iwmmxt = "auto" ; then
2407 cat > $TMPC << EOF
2408 int main(void) {
2409 __asm__ __volatile__ ("wunpckelub wr6, wr4");
2412 _iwmmxt=no
2413 cc_check && _iwmmxt=yes
2415 echores "$_iwmmxt"
2418 _def_mmx='#undef HAVE_MMX'
2419 test "$_mmx" = yes && _def_mmx='#define HAVE_MMX 1'
2420 _def_mmxext='#undef HAVE_MMX2'
2421 test "$_mmxext" = yes && _def_mmxext='#define HAVE_MMX2 1'
2422 _def_3dnow='#undef HAVE_3DNOW'
2423 test "$_3dnow" = yes && _def_3dnow='#define HAVE_3DNOW 1'
2424 _def_3dnowext='#undef HAVE_3DNOWEX'
2425 test "$_3dnowext" = yes && _def_3dnowext='#define HAVE_3DNOWEX 1'
2426 _def_sse='#undef HAVE_SSE'
2427 test "$_sse" = yes && _def_sse='#define HAVE_SSE 1'
2428 _def_sse2='#undef HAVE_SSE2'
2429 test "$_sse2" = yes && _def_sse2='#define HAVE_SSE2 1'
2430 _def_armv5te='#undef HAVE_ARMV5TE'
2431 test "$_armv5te" = yes && _def_armv5te='#define HAVE_ARMV5TE 1'
2432 _def_iwmmxt='#undef HAVE_IWMMXT'
2433 test "$_iwmmxt" = yes && _def_iwmmxt='#define HAVE_IWMMXT 1'
2435 # Checking kernel version...
2436 if x86 && linux ; then
2437 _k_verc_problem=no
2438 kernel_version=`uname -r 2>&1`
2439 echocheck "$system_name kernel version"
2440 case "$kernel_version" in
2441 '') kernel_version="?.??"; _k_verc_fail=yes;;
2442 [0-1].[0-9].[0-9]*|2.[0-3].[0-9]*)
2443 _k_verc_problem=yes;;
2444 esac
2445 if test "$_k_verc_problem" = yes && test "$_sse" = yes ; then
2446 _k_verc_fail=yes
2448 if test "$_k_verc_fail" ; then
2449 echores "$kernel_version, fail"
2450 echo "WARNING! If you want to run MPlayer on this system, get prepared for problems!"
2451 echo "2.2.x has limited SSE support. Upgrade the kernel or use --disable-sse if you"
2452 echo "experience crashes. MPlayer tries to autodetect if your kernel correctly"
2453 echo "supports SSE, but you have been warned! If you are using a kernel older than"
2454 echo "2.2.x you must upgrade it to get SSE support!"
2455 # die "Your kernel is too old for this CPU." # works fine on some 2.2.x so don't die (later check will test)
2456 else
2457 echores "$kernel_version, ok"
2461 if test "$_vidix_internal" = auto ; then
2462 _vidix_internal=no
2463 # should check for x86 systems supporting VIDIX (does QNX have VIDIX?)
2464 x86 && _vidix_internal=yes
2465 x86_64 && _vidix_internal=yes
2466 ppc && linux && _vidix_internal=yes
2467 alpha && linux && _vidix_internal=yes
2468 qnx && _vidix_internal=no
2469 sunos && _vidix_internal=no
2470 beos && _vidix_internal=no
2471 darwin && _vidix_internal=no
2474 echocheck "MPlayer binary name"
2475 if win32 ; then
2476 _prg="mplayer.exe"
2477 _prg_mencoder="mencoder.exe"
2478 else
2479 _prg="mplayer"
2480 _prg_mencoder="mencoder"
2482 echores $_prg
2485 # On QNX we must link to libph - Gabucino
2486 if qnx ; then
2487 _ld_arch="$_ld_arch -lph"
2490 # checking for a working awk, I'm using mawk first, because it's fastest - atmos
2491 _awk=
2492 if test "$_vidix_internal" = yes ; then
2493 _awk_verc_fail=yes
2494 echocheck "awk"
2495 for _awk in mawk gawk nawk awk; do
2496 if ( $_awk 'BEGIN{testme();}function testme(){print"";}' ) >> "$TMPLOG" 2>&1; then
2497 _awk_verc_fail=no
2498 break
2500 done
2501 test "$_awk_verc_fail" = yes && _awk=no
2502 echores "$_awk"
2503 if test "$_awk_verc_fail" = yes; then
2504 echo "VIDIX needs awk, but no working implementation was found!"
2505 echo "Try the GNU version, which can be downloaded from:"
2506 echo "ftp://ftp.gnu.org/gnu/gawk/"
2507 echo "If you don't need VIDIX, you can use configure --disable-vidix instead."
2508 die "no awk"
2512 # If IRIX we must use ar instead of ranlib (not present on IRIX systems)
2513 if irix ; then
2514 _ranlib='ar -r'
2515 elif linux ; then
2516 _ranlib='true'
2519 ######################
2520 # MAIN TESTS GO HERE #
2521 ######################
2524 echocheck "extra headers"
2525 if test "$_inc_extra" ; then
2526 echores "$_inc_extra"
2527 else
2528 echores "none"
2532 echocheck "extra libs"
2533 if test "$_ld_extra" ; then
2534 echores "$_ld_extra"
2535 else
2536 echores "none"
2539 echocheck "-lposix"
2540 cat > $TMPC <<EOF
2541 int main(void) { return 0; }
2543 if cc_check -lposix ; then
2544 _ld_arch="$_ld_arch -lposix"
2545 echores "yes"
2546 else
2547 echores "no"
2550 echocheck "-lm"
2551 cat > $TMPC <<EOF
2552 int main(void) { return 0; }
2554 if cc_check -lm ; then
2555 _ld_lm="-lm"
2556 echores "yes"
2557 else
2558 _ld_lm=""
2559 echores "no"
2563 echocheck "langinfo"
2564 if test "$_langinfo" = auto ; then
2565 cat > $TMPC <<EOF
2566 #include <langinfo.h>
2567 int main(void) { nl_langinfo(CODESET); return 0; }
2569 _langinfo=no
2570 cc_check && _langinfo=yes
2572 if test "$_langinfo" = yes ; then
2573 _def_langinfo='#define USE_LANGINFO 1'
2574 else
2575 _def_langinfo='#undef USE_LANGINFO'
2577 echores "$_langinfo"
2580 echocheck "language"
2581 test -z "$_language" && _language=$LINGUAS
2582 _language=`echo $_language | sed 's/,/ /g'`
2583 echo $_language | grep all > /dev/null || LANGUAGES="$_language en"
2584 for lang in $_language ; do
2585 test "$lang" = all && lang=en
2586 if test -f "help/help_mp-${lang}.h" ; then
2587 _language=$lang
2588 break
2589 else
2590 echo -n "$lang not found, "
2591 _language=`echo $_language | sed "s/$lang *//"`
2593 done
2594 test -z "$_language" && _language=en
2595 _mp_help="help/help_mp-${_language}.h"
2596 test -f $_mp_help || die "$_mp_help not found"
2597 for lang in $LANGUAGES ; do
2598 if test -f "DOCS/man/$lang/mplayer.1" ; then
2599 MAN_LANG="$MAN_LANG $lang"
2601 done
2602 _doc_lang=$_language
2603 test -d DOCS/xml/$_doc_lang || _doc_lang=en
2604 echores "using $_language (man pages: $MAN_LANG)"
2607 echocheck "enable sighandler"
2608 if test "$_sighandler" = yes ; then
2609 _def_sighandler='#define ENABLE_SIGHANDLER 1'
2610 else
2611 _def_sighandler='#undef ENABLE_SIGHANDLER'
2613 echores "$_sighandler"
2615 echocheck "runtime cpudetection"
2616 if test "$_runtime_cpudetection" = yes ; then
2617 _optimizing="Runtime CPU-Detection enabled"
2618 _def_runtime_cpudetection='#define RUNTIME_CPUDETECT 1'
2619 else
2620 _def_runtime_cpudetection='#undef RUNTIME_CPUDETECT'
2622 echores "$_runtime_cpudetection"
2625 echocheck "restrict keyword"
2626 for restrict_keyword in restrict __restrict __restrict__ ; do
2627 echo "void foo(char * $restrict_keyword p); int main(){}" > $TMPC
2628 if cc_check; then
2629 _def_restrict_keyword=$restrict_keyword
2630 break;
2632 done
2633 if [ -n "$_def_restrict_keyword" ]; then
2634 echores "$_def_restrict_keyword"
2635 else
2636 echores "none"
2638 # Avoid infinite recursion loop ("#define restrict restrict")
2639 if [ "$_def_restrict_keyword" != "restrict" ]; then
2640 _def_restrict_keyword="#define restrict $_def_restrict_keyword"
2641 else
2642 _def_restrict_keyword=""
2646 echocheck "__builtin_expect"
2647 # GCC branch prediction hint
2648 cat > $TMPC << EOF
2649 int foo (int a) {
2650 a = __builtin_expect (a, 10);
2651 return a == 10 ? 0 : 1;
2653 int main() { return foo(10) && foo(0); }
2655 _builtin_expect=no
2656 cc_check && _builtin_expect=yes
2657 if test "$_builtin_expect" = yes ; then
2658 _def_builtin_expect='#define HAVE_BUILTIN_EXPECT 1'
2659 else
2660 _def_builtin_expect='#undef HAVE_BUILTIN_EXPECT'
2662 echores "$_builtin_expect"
2665 echocheck "kstat"
2666 cat > $TMPC << EOF
2667 #include <kstat.h>
2668 int main(void) { (void) kstat_open(); (void) kstat_close(0); return 0; }
2670 _kstat=no
2671 cc_check -lkstat && _kstat=yes
2672 if test "$_kstat" = yes ; then
2673 _def_kstat="#define HAVE_LIBKSTAT 1"
2674 _ld_arch="-lkstat $_ld_arch"
2675 else
2676 _def_kstat="#undef HAVE_LIBKSTAT"
2678 echores "$_kstat"
2681 echocheck "posix4"
2682 # required for nanosleep on some systems
2683 cat > $TMPC << EOF
2684 #include <time.h>
2685 int main(void) { (void) nanosleep(0, 0); return 0; }
2687 _posix4=no
2688 cc_check -lposix4 && _posix4=yes
2689 if test "$_posix4" = yes ; then
2690 _ld_arch="-lposix4 $_ld_arch"
2692 echores "$_posix4"
2694 echocheck "lrintf"
2695 cat > $TMPC << EOF
2696 #include <math.h>
2697 int main(void) { long (*foo)(float); foo = lrintf; (void)(*foo)(0.0); return 0; }
2699 _lrintf=no
2700 cc_check -D_GNU_SOURCE $_ld_lm && _lrintf=yes
2701 if test "$_lrintf" = yes ; then
2702 _def_lrintf="#define HAVE_LRINTF 1"
2703 else
2704 _def_lrintf="#undef HAVE_LRINTF"
2706 echores "$_lrintf"
2708 echocheck "round"
2709 cat > $TMPC << EOF
2710 #include <math.h>
2711 int main(void) { (void) round(0.0); return 0; }
2713 _round=no
2714 cc_check $_ld_lm && _round=yes
2715 if test "$_round" = yes ; then
2716 _def_round="#define HAVE_ROUND 1"
2717 else
2718 _def_round="#undef HAVE_ROUND"
2720 echores "$_round"
2722 echocheck "nanosleep"
2723 # also check for nanosleep
2724 cat > $TMPC << EOF
2725 #include <time.h>
2726 int main(void) { (void) nanosleep(0, 0); return 0; }
2728 _nanosleep=no
2729 cc_check $_ld_arch && _nanosleep=yes
2730 if test "$_nanosleep" = yes ; then
2731 _def_nanosleep='#define HAVE_NANOSLEEP 1'
2732 else
2733 _def_nanosleep='#undef HAVE_NANOSLEEP'
2735 echores "$_nanosleep"
2738 echocheck "socklib"
2739 # for Solaris (socket stuff is in -lsocket, gethostbyname and friends in -lnsl):
2740 # for BeOS (socket stuff is in -lsocket, gethostbyname and friends in -lbind):
2741 cat > $TMPC << EOF
2742 #include <netdb.h>
2743 #include <sys/socket.h>
2744 int main(void) { (void) gethostbyname(0); (void) socket(AF_INET, SOCK_STREAM, 0); return 0; }
2746 for _ld_tmp in "-lsocket -lbind" "-lsocket -ldnet" "-lsocket -lnsl" "-lnsl" "-lsocket" ; do
2747 cc_check $_ld_tmp && _ld_sock="$_ld_tmp" && break
2748 done
2749 if test $_winsock2 = auto && not cygwin ; then
2750 _winsock2=no
2751 cat > $TMPC << EOF
2752 #include <winsock2.h>
2753 int main(void) { (void) gethostbyname(0); return 0; }
2755 cc_check -lws2_32 && _ld_sock="-lws2_32" && _winsock2=yes
2757 if test "$_ld_sock" ; then
2758 _res_comment="using $_ld_sock"
2759 echores "yes"
2760 else
2761 echores "no"
2765 if test $_winsock2 = yes ; then
2766 _ld_sock="-lws2_32"
2767 _def_winsock2='#define HAVE_WINSOCK2 1'
2768 else
2769 _def_winsock2='#undef HAVE_WINSOCK2'
2773 _use_aton=no
2774 echocheck "inet_pton()"
2775 cat > $TMPC << EOF
2776 #include <sys/types.h>
2777 #include <sys/socket.h>
2778 #include <arpa/inet.h>
2779 int main(void) { (void) inet_pton(0, 0, 0); return 0; }
2781 if test "$_winsock2" = yes ; then
2782 _res_comment="using winsock2 functions instead"
2783 echores "no"
2784 elif cc_check $_ld_sock ; then
2785 # NOTE: Linux has libresolv but does not need it
2787 _res_comment="using $_ld_sock"
2788 echores "yes"
2789 elif cc_check $_ld_sock -lresolv ; then
2790 # NOTE: needed for SunOS at least
2791 _ld_sock="$_ld_sock -lresolv"
2792 _res_comment="using $_ld_sock"
2793 echores "yes"
2794 else
2795 _res_comment="trying inet_aton next"
2796 echores "no"
2798 echocheck "inet_aton()"
2799 cat > $TMPC << EOF
2800 #include <sys/types.h>
2801 #include <sys/socket.h>
2802 #include <arpa/inet.h>
2803 int main(void) { (void) inet_aton(0, 0); return 0; }
2805 _use_aton=yes
2806 if cc_check $_ld_sock ; then
2807 # NOTE: Linux has libresolv but does not need it
2809 _res_comment="using $_ld_sock"
2810 elif cc_check $_ld_sock -lresolv ; then
2811 # NOTE: needed for SunOS at least
2812 _ld_sock="$_ld_sock -lresolv"
2813 _res_comment="using $_ld_sock"
2814 else
2815 _use_aton=no
2816 _network=no
2817 _res_comment="network support disabled"
2819 echores "$_use_aton"
2822 _def_use_aton='#undef USE_ATON'
2823 if test "$_use_aton" = yes; then
2824 _def_use_aton='#define USE_ATON 1'
2828 echocheck "inttypes.h (required)"
2829 cat > $TMPC << EOF
2830 #include <inttypes.h>
2831 int main(void) { return 0; }
2833 _inttypes=no
2834 cc_check && _inttypes=yes
2835 echores "$_inttypes"
2837 if test "$_inttypes" = no ; then
2838 echocheck "bitypes.h (inttypes.h predecessor)"
2839 cat > $TMPC << EOF
2840 #include <sys/bitypes.h>
2841 int main(void) { return 0; }
2843 cc_check && _inttypes=yes
2844 if test "$_inttypes" = yes ; then
2845 die "You don't have inttypes.h, but sys/bitypes.h is present. Please copy etc/inttypes.h into the include path, and re-run configure."
2846 else
2847 die "Cannot find header either inttypes.h or bitypes.h (see DOCS/HTML/$_doc_lang/faq.html)."
2852 echocheck "int_fastXY_t in inttypes.h"
2853 cat > $TMPC << EOF
2854 #include <inttypes.h>
2855 int main(void) {
2856 volatile int_fast16_t v= 0;
2857 return v; }
2859 _fast_inttypes=no
2860 cc_check && _fast_inttypes=yes
2861 if test "$_fast_inttypes" = yes ; then
2862 # nothing to do
2864 else
2865 _def_fast_inttypes='
2866 typedef signed char int_fast8_t;
2867 typedef signed int int_fast16_t;
2868 typedef signed int int_fast32_t;
2869 typedef unsigned char uint_fast8_t;
2870 typedef unsigned int uint_fast16_t;
2871 typedef unsigned int uint_fast32_t;
2872 typedef unsigned long long uint_fast64_t;'
2874 echores "$_fast_inttypes"
2877 echocheck "word size"
2878 _mp_wordsize="#undef MP_WORDSIZE"
2879 cat > $TMPC << EOF
2880 #include <stdio.h>
2881 #include <sys/types.h>
2882 int main(void) { printf("%d\n", sizeof(size_t)*8); return 0; }
2884 cc_check && _wordsize=`$TMPO` && _mp_wordsize="#define MP_WORDSIZE $_wordsize"
2885 echores "$_wordsize"
2888 echocheck "stddef.h"
2889 cat > $TMPC << EOF
2890 #include <stddef.h>
2891 int main(void) { return 0; }
2893 _stddef=no
2894 cc_check && _stddef=yes
2895 if test "$_stddef" = yes ; then
2896 _def_stddef='#define HAVE_STDDEF_H 1'
2897 else
2898 _def_stddef='#undef HAVE_STDDEF_H'
2900 echores "$_stddef"
2903 echocheck "malloc.h"
2904 cat > $TMPC << EOF
2905 #include <malloc.h>
2906 int main(void) { (void) malloc(0); return 0; }
2908 _malloc=no
2909 cc_check && _malloc=yes
2910 if test "$_malloc" = yes ; then
2911 _def_malloc='#define HAVE_MALLOC_H 1'
2912 else
2913 _def_malloc='#undef HAVE_MALLOC_H'
2915 # malloc.h emits a warning in FreeBSD and OpenBSD
2916 freebsd || openbsd && _def_malloc='#undef HAVE_MALLOC_H'
2917 echores "$_malloc"
2920 echocheck "memalign()"
2921 # XXX restrict to x86 ? extend to other CPUs/cacheline sizes ?
2922 cat > $TMPC << EOF
2923 #include <malloc.h>
2924 int main (void) { (void) memalign(64, sizeof(char)); return 0; }
2926 _memalign=no
2927 cc_check && _memalign=yes
2928 if test "$_memalign" = yes ; then
2929 _def_memalign='#define HAVE_MEMALIGN 1'
2930 else
2931 _def_memalign='#undef HAVE_MEMALIGN'
2932 _def_map_memalign='#define memalign(a,b) malloc(b)'
2933 not darwin && _def_memalign_hack='#define MEMALIGN_HACK 1'
2935 echores "$_memalign"
2938 echocheck "alloca.h"
2939 cat > $TMPC << EOF
2940 #include <alloca.h>
2941 int main(void) { (void) alloca(0); return 0; }
2943 _alloca=no
2944 cc_check && _alloca=yes
2945 if cc_check ; then
2946 _def_alloca='#define HAVE_ALLOCA_H 1'
2947 else
2948 _def_alloca='#undef HAVE_ALLOCA_H'
2950 echores "$_alloca"
2953 echocheck "mman.h"
2954 cat > $TMPC << EOF
2955 #include <sys/types.h>
2956 #include <sys/mman.h>
2957 int main(void) { (void) mmap(0, 0, 0, 0, 0, 0); return 0; }
2959 _mman=no
2960 cc_check && _mman=yes
2961 if test "$_mman" = yes ; then
2962 _def_mman='#define HAVE_SYS_MMAN_H 1'
2963 else
2964 _def_mman='#undef HAVE_SYS_MMAN_H'
2966 echores "$_mman"
2968 cat > $TMPC << EOF
2969 #include <sys/types.h>
2970 #include <sys/mman.h>
2971 int main(void) { void *p = MAP_FAILED; return 0; }
2973 _mman_has_map_failed=no
2974 cc_check && _mman_has_map_failed=yes
2975 if test "$_mman_has_map_failed" = yes ; then
2976 _def_mman_has_map_failed=''
2977 else
2978 _def_mman_has_map_failed='#define MAP_FAILED ((void *) -1)'
2981 echocheck "dynamic loader"
2982 cat > $TMPC << EOF
2983 #include <dlfcn.h>
2984 int main(void) { dlopen(0, 0); dlclose(0); dlsym(0, 0); return 0; }
2986 _dl=no
2987 for _ld_tmp in "" "-ldl" ; do
2988 cc_check $_ld_tmp && _ld_dl="$_ld_tmp" && _dl=yes && break
2989 done
2990 if test "$_dl" = yes ; then
2991 _def_dl='#define HAVE_LIBDL 1'
2992 else
2993 _def_dl='#undef HAVE_LIBDL'
2995 echores "$_dl"
2998 echocheck "dynamic a/v plugins support"
2999 if test "$_dl" = no ; then
3000 _dynamic_plugins=no
3002 if test "$_dynamic_plugins" = yes ; then
3003 _def_dynamic_plugins='#define DYNAMIC_PLUGINS 1'
3004 else
3005 _def_dynamic_plugins='#undef DYNAMIC_PLUGINS'
3007 echores "$_dynamic_plugins"
3010 #echocheck "dynamic linking"
3011 # FIXME !! make this dynamic detection work and modify at the end (search _ld_dl_dynamic)
3012 # also gcc flags are different, but ld flags aren't (-Bdynamic/-Bstatic/-Bsymbolic)
3013 #cat > $TMPC << EOF
3014 #int main(void) { return 0; }
3015 #EOF
3016 #if cc_check -rdynamic ; then
3017 # _ld_dl_dynamic='-rdynamic'
3018 #elif cc_check -Bdynamic ; then
3019 # _ld_dl_dynamic='-Bdynamic'
3020 #elif cc_check ; then
3021 # _ld_dl_dynamic=''
3023 #echores "using $_ld_dl_dynamic"
3025 _def_threads='#undef HAVE_THREADS'
3027 echocheck "pthread"
3028 if test "$_pthreads" = auto ; then
3029 cat > $TMPC << EOF
3030 #include <pthread.h>
3031 void* func(void *arg) { return arg; }
3032 int main(void) { pthread_t tid; return pthread_create (&tid, 0, func, 0) == 0 ? 0 : 1; }
3034 _pthreads=no
3035 if not hpux ; then
3036 for _ld_tmp in "-lpthreadGC2" "" "-lpthread" "-pthread" ; do
3037 # for crosscompilation, we cannot execute the program, be happy if we can link statically
3038 cc_check $_ld_tmp && (tmp_run || test "$_ld_static") && _ld_pthread="$_ld_tmp" && _pthreads=yes && break
3039 done
3042 if test "$_pthreads" = yes ; then
3043 _res_comment="using $_ld_pthread"
3044 _def_pthreads='#define HAVE_PTHREADS 1'
3045 _def_threads='#define HAVE_THREADS 1'
3046 else
3047 _res_comment="v4l, vo_gl, ao_alsa, ao_nas, ao_macosx, win32 loader disabled"
3048 _def_pthreads='#undef HAVE_PTHREADS'
3049 _nas=no ; _tv_v4l1=no ; _macosx=no
3050 if not mingw32 ; then
3051 _win32=no
3054 echores "$_pthreads"
3056 echocheck "rpath"
3057 netbsd &&_rpath=yes
3058 if test "$_rpath" = yes ; then
3059 for I in `echo $_ld_extra | sed 's/-L//g'` ; do
3060 tmp="$tmp ` echo $I | sed 's/.*/ -L& -Wl,-R&/'`"
3061 done
3062 _ld_extra=$tmp
3064 echores "$_rpath"
3066 echocheck "iconv"
3067 if test "$_iconv" = auto ; then
3068 _iconv_tmp='#include <iconv.h>'
3070 cat > $TMPC << EOF
3071 #include <stdio.h>
3072 #include <unistd.h>
3073 $_iconv_tmp
3074 #define INBUFSIZE 1024
3075 #define OUTBUFSIZE 4096
3077 char inbuffer[INBUFSIZE];
3078 char outbuffer[OUTBUFSIZE];
3080 int main(void) {
3081 size_t numread;
3082 iconv_t icdsc;
3083 char *tocode="UTF-8";
3084 char *fromcode="cp1250";
3085 if ((icdsc = iconv_open (tocode, fromcode)) != (iconv_t)(-1)) {
3086 while ((numread = read (0, inbuffer, INBUFSIZE))) {
3087 char *iptr=inbuffer;
3088 char *optr=outbuffer;
3089 size_t inleft=numread;
3090 size_t outleft=OUTBUFSIZE;
3091 if (iconv(icdsc, (const char **)&iptr, &inleft, &optr, &outleft)
3092 != (size_t)(-1)) {
3093 write (1, outbuffer, OUTBUFSIZE - outleft);
3096 if (iconv_close(icdsc) == -1)
3101 _iconv=no
3102 for _ld_tmp in "" "-liconv" "-liconv $_ld_dl" ; do
3103 cc_check $_ld_lm $_ld_tmp && _ld_iconv="$_ld_tmp" && _iconv=yes && break
3104 done
3106 if test "$_iconv" = yes ; then
3107 _def_iconv='#define USE_ICONV 1'
3108 else
3109 _def_iconv='#undef USE_ICONV'
3111 echores "$_iconv"
3114 echocheck "sys/soundcard.h"
3115 cat > $TMPC << EOF
3116 #include <sys/soundcard.h>
3117 int main(void) { return 0; }
3119 _sys_soundcard=no
3120 cc_check && _sys_soundcard=yes
3121 if test "$_sys_soundcard" = yes ; then
3122 _def_sys_soundcard='#define HAVE_SYS_SOUNDCARD_H 1'
3123 _include_soundcard='#include <sys/soundcard.h>'
3124 else
3125 _def_sys_soundcard='#undef HAVE_SYS_SOUNDCARD_H'
3127 echores "$_sys_soundcard"
3129 if test "$_sys_soundcard" != yes ; then
3130 echocheck "soundcard.h"
3131 cat > $TMPC << EOF
3132 #include <soundcard.h>
3133 int main(void) { return 0; }
3135 _soundcard=no
3136 cc_check && _soundcard=yes
3137 if linux || test "$_ossaudio" != no ; then
3138 # use soundcard.h on Linux, or when OSS support is enabled
3139 echores "$_soundcard"
3140 else
3141 # we don't want to use soundcard.h on non-Linux if OSS support not enabled!
3142 _res_comment= "but ignored!"
3143 echores "$_soundcard"
3144 _soundcard=no
3146 if test "$_soundcard" = yes ; then
3147 _def_soundcard='#define HAVE_SOUNDCARD_H 1'
3148 _include_soundcard='#include <soundcard.h>'
3149 else
3150 _def_soundcard='#undef HAVE_SOUNDCARD_H'
3152 else
3153 _def_soundcard='#undef HAVE_SOUNDCARD_H'
3157 echocheck "sys/dvdio.h"
3158 cat > $TMPC << EOF
3159 #include <unistd.h>
3160 #include <sys/dvdio.h>
3161 int main(void) { return 0; }
3163 _dvdio=no
3164 cc_check && _dvdio=yes
3165 if test "$_dvdio" = yes ; then
3166 _def_dvdio='#define DVD_STRUCT_IN_SYS_DVDIO_H 1'
3167 else
3168 _def_dvdio='#undef DVD_STRUCT_IN_SYS_DVDIO_H'
3170 echores "$_dvdio"
3173 echocheck "sys/cdio.h"
3174 cat > $TMPC << EOF
3175 #include <unistd.h>
3176 #include <sys/cdio.h>
3177 int main(void) { return 0; }
3179 _cdio=no
3180 cc_check && _cdio=yes
3181 if test "$_cdio" = yes ; then
3182 _def_cdio='#define DVD_STRUCT_IN_SYS_CDIO_H 1'
3183 else
3184 _def_cdio='#undef DVD_STRUCT_IN_SYS_CDIO_H'
3186 echores "$_cdio"
3189 echocheck "linux/cdrom.h"
3190 cat > $TMPC << EOF
3191 #include <sys/types.h>
3192 #include <linux/cdrom.h>
3193 int main(void) { return 0; }
3195 _cdrom=no
3196 cc_check && _cdrom=yes
3197 if test "$_cdrom" = yes ; then
3198 _def_cdrom='#define DVD_STRUCT_IN_LINUX_CDROM_H 1'
3199 else
3200 _def_cdrom='#undef DVD_STRUCT_IN_LINUX_CDROM_H'
3202 echores "$_cdrom"
3205 echocheck "dvd.h"
3206 cat > $TMPC << EOF
3207 #include <dvd.h>
3208 int main(void) { return 0; }
3210 _dvd=no
3211 cc_check && _dvd=yes
3212 if test "$_dvd" = yes ; then
3213 _def_dvd='#define DVD_STRUCT_IN_DVD_H 1'
3214 else
3215 _def_dvd='#undef DVD_STRUCT_IN_DVD_H'
3217 echores "$_dvd"
3220 if bsdos; then
3221 echocheck "BSDI dvd.h"
3222 cat > $TMPC << EOF
3223 #include <dvd.h>
3224 int main(void) { return 0; }
3226 _bsdi_dvd=no
3227 cc_check && _bsdi_dvd=yes
3228 if test "$_bsdi_dvd" = yes ; then
3229 _def_bsdi_dvd='#define DVD_STRUCT_IN_BSDI_DVDIOCTL_DVD_H 1'
3230 else
3231 _def_bsdi_dvd='#undef DVD_STRUCT_IN_BSDI_DVDIOCTL_DVD_H'
3233 echores "$_bsdi_dvd"
3234 fi #if bsdos
3237 if hpux; then
3238 # also used by AIX, but AIX does not support VCD and/or libdvdread
3239 echocheck "HP-UX SCSI header"
3240 cat > $TMPC << EOF
3241 #include <sys/scsi.h>
3242 int main(void) { return 0; }
3244 _hpux_scsi_h=no
3245 cc_check && _hpux_scsi_h=yes
3246 if test "$_hpux_scsi_h" = yes ; then
3247 _def_hpux_scsi_h='#define HPUX_SCTL_IO 1'
3248 else
3249 _def_hpux_scsi_h='#undef HPUX_SCTL_IO'
3251 echores "$_hpux_scsi_h"
3252 fi #if hpux
3255 if sunos; then
3256 echocheck "userspace SCSI headers (Solaris)"
3257 cat > $TMPC << EOF
3258 # include <unistd.h>
3259 # include <stropts.h>
3260 # include <sys/scsi/scsi_types.h>
3261 # include <sys/scsi/impl/uscsi.h>
3262 int main(void) { return 0; }
3264 _sol_scsi_h=no
3265 cc_check && _sol_scsi_h=yes
3266 if test "$_sol_scsi_h" = yes ; then
3267 _def_sol_scsi_h='#define SOLARIS_USCSI 1'
3268 else
3269 _def_sol_scsi_h='#undef SOLARIS_USCSI'
3271 echores "$_sol_scsi_h"
3272 fi #if sunos
3275 echocheck "termcap"
3276 if test "$_termcap" = auto ; then
3277 cat > $TMPC <<EOF
3278 int main(void) { tgetent(); return 0; }
3280 _termcap=no
3281 for _ld_tmp in "-lncurses" "-ltinfo" "-ltermcap"; do
3282 cc_check $_ld_tmp && _ld_termcap="$_ld_tmp" && _termcap=yes && break
3283 done
3285 if test "$_termcap" = yes ; then
3286 _def_termcap='#define USE_TERMCAP 1'
3287 _res_comment="using $_ld_termcap"
3288 else
3289 _def_termcap='#undef USE_TERMCAP'
3291 echores "$_termcap"
3294 echocheck "termios"
3295 if test "$_termios" = auto ; then
3296 cat > $TMPC <<EOF
3297 #include <sys/termios.h>
3298 int main(void) { return 0; }
3300 _termios=auto
3301 cc_check && _termios=yes
3302 _def_termios_h_name='sys/termios.h'
3304 # second test:
3305 if test "$_termios" = auto ; then
3306 cat > $TMPC <<EOF
3307 #include <termios.h>
3308 int main(void) { return 0; }
3310 _termios=no
3311 cc_check && _termios=yes
3312 _def_termios_h_name='termios.h'
3315 if test "$_termios" = yes ; then
3316 _def_termios='#define HAVE_TERMIOS 1'
3317 _def_termios_h='#undef HAVE_TERMIOS_H'
3318 _def_termios_sys_h='#undef HAVE_SYS_TERMIOS_H'
3320 if test "$_def_termios_h_name" = 'sys/termios.h' ; then
3321 _def_termios_sys_h='#define HAVE_SYS_TERMIOS_H 1'
3322 elif test "$_def_termios_h_name" = 'termios.h' ; then
3323 _def_termios_h='#define HAVE_TERMIOS_H 1'
3325 _res_comment="using $_def_termios_h_name"
3326 else
3327 _def_termios='#undef HAVE_TERMIOS'
3328 _def_termios_h_name=''
3329 _termios=no
3331 echores "$_termios"
3334 echocheck "shm"
3335 if test "$_shm" = auto ; then
3336 cat > $TMPC << EOF
3337 #include <sys/types.h>
3338 #include <sys/shm.h>
3339 int main(void) { shmget(0, 0, 0); shmat(0, 0, 0); shmctl(0, 0, 0); return 0; }
3341 _shm=no
3342 cc_check && _shm=yes
3344 if test "$_shm" = yes ; then
3345 _def_shm='#define HAVE_SHM 1'
3346 else
3347 _def_shm='#undef HAVE_SHM'
3349 echores "$_shm"
3352 # XXX: FIXME, add runtime checking
3353 echocheck "linux devfs"
3354 echores "$_linux_devfs"
3357 echocheck "scandir()"
3358 cat > $TMPC << EOF
3359 int main (void) { scandir("", 0, 0, 0); alphasort(0, 0); return 0; }
3361 _scandir=no
3362 cc_check && _scandir=yes
3363 if test "$_scandir" = yes ; then
3364 _def_scandir='#define HAVE_SCANDIR 1'
3365 else
3366 _def_scandir='#undef HAVE_SCANDIR'
3368 echores "$_scandir"
3371 echocheck "strsep()"
3372 cat > $TMPC << EOF
3373 #include <string.h>
3374 int main (void) { char *s = "Hello, world!"; (void) strsep(&s, ","); return 0; }
3376 _strsep=no
3377 cc_check && _strsep=yes
3378 if test "$_strsep" = yes ; then
3379 _def_strsep='#define HAVE_STRSEP 1'
3380 else
3381 _def_strsep='#undef HAVE_STRSEP'
3383 echores "$_strsep"
3385 echocheck "strlcpy()"
3386 cat > $TMPC << EOF
3387 #include <string.h>
3388 int main (void) { char *s = "Hello, world!", t[20]; (void) strlcpy(t, s, sizeof( t )); return 0; }
3390 _strlcpy=no
3391 cc_check && _strlcpy=yes
3392 if test "$_strlcpy" = yes ; then
3393 _def_strlcpy='#define HAVE_STRLCPY 1'
3394 else
3395 _def_strlcpy='#undef HAVE_STRLCPY'
3397 echores "$_strlcpy"
3399 echocheck "strlcat()"
3400 cat > $TMPC << EOF
3401 #include <string.h>
3402 int main (void) { char *s = "Hello, world!", t[20]; (void) strlcat(t, s, sizeof( t )); return 0; }
3404 _strlcat=no
3405 cc_check && _strlcat=yes
3406 if test "$_strlcat" = yes ; then
3407 _def_strlcat='#define HAVE_STRLCAT 1'
3408 else
3409 _def_strlcat='#undef HAVE_STRLCAT'
3411 echores "$_strlcat"
3413 echocheck "fseeko()"
3414 cat > $TMPC << EOF
3415 #include <stdio.h>
3416 int main (void) { int i; i = fseeko(stdin, 0, 0); return 0; }
3418 _fseeko=no
3419 cc_check && _fseeko=yes
3420 if test "$_fseeko" = yes ; then
3421 _def_fseeko='#define HAVE_FSEEKO 1'
3422 else
3423 _def_fseeko='#undef HAVE_FSEEKO'
3425 echores "$_fseeko"
3427 echocheck "localtime_r()"
3428 cat > $TMPC << EOF
3429 #include <time.h>
3430 int main( void ) { localtime_r(NULL, NULL); }
3432 _localtime_r=no
3433 cc_check && _localtime_r=yes
3434 if test "$_localtime_r" = yes ; then
3435 _def_localtime_r='#define HAVE_LOCALTIME_R 1'
3436 else
3437 _def_localtime_r='#undef HAVE_LOCALTIME_R'
3439 echores "$_localtime_r"
3441 echocheck "vsscanf()"
3442 cat > $TMPC << EOF
3443 #include <stdarg.h>
3444 int main(void) { vsscanf(0, 0, 0); return 0; }
3446 _vsscanf=no
3447 cc_check && _vsscanf=yes
3448 if test "$_vsscanf" = yes ; then
3449 _def_vsscanf='#define HAVE_VSSCANF 1'
3450 else
3451 _def_vsscanf='#undef HAVE_VSSCANF'
3453 echores "$_vsscanf"
3456 echocheck "swab()"
3457 cat > $TMPC << EOF
3458 #include <unistd.h>
3459 int main(void) { swab(0, 0, 0); return 0; }
3461 _swab=no
3462 cc_check && _swab=yes
3463 if test "$_swab" = yes ; then
3464 _def_swab='#define HAVE_SWAB 1'
3465 else
3466 _def_swab='#undef HAVE_SWAB'
3468 echores "$_swab"
3470 echocheck "POSIX select()"
3471 cat > $TMPC << EOF
3472 #include <stdio.h>
3473 #include <stdlib.h>
3474 #include <sys/types.h>
3475 #include <string.h>
3476 #include <sys/time.h>
3477 #include <unistd.h>
3478 int main(void) {int nfds = 1; fd_set readfds; struct timeval timeout; select(nfds,&readfds,NULL,NULL,&timeout); return 0; }
3480 _posix_select=no
3481 cc_check && _posix_select=yes
3482 if test "$_posix_select" = no ; then
3483 _def_no_posix_select='#define HAVE_NO_POSIX_SELECT 1'
3484 else
3485 _def_no_posix_select='#undef HAVE_NO_POSIX_SELECT'
3487 echores "$_posix_select"
3490 echocheck "gettimeofday()"
3491 cat > $TMPC << EOF
3492 #include <stdio.h>
3493 #include <sys/time.h>
3494 int main(void) {struct timeval tv_start; gettimeofday(&tv_start, NULL); return 0; }
3496 _gettimeofday=no
3497 cc_check && _gettimeofday=yes
3498 if test "$_gettimeofday" = yes ; then
3499 _def_gettimeofday='#define HAVE_GETTIMEOFDAY 1'
3500 else
3501 _def_gettimeofday='#undef HAVE_GETTIMEOFDAY'
3503 echores "$_gettimeofday"
3506 echocheck "glob()"
3507 cat > $TMPC << EOF
3508 #include <stdio.h>
3509 #include <glob.h>
3510 int main(void) { glob_t gg; glob("filename",0,NULL,&gg); return 0; }
3512 _glob=no
3513 cc_check && _glob=yes
3514 if test "$_glob" = yes ; then
3515 _def_glob='#define HAVE_GLOB 1'
3516 else
3517 _def_glob='#undef HAVE_GLOB'
3519 echores "$_glob"
3522 echocheck "setenv()"
3523 cat > $TMPC << EOF
3524 #include <stdlib.h>
3525 int main (void){ setenv("","",0); return 0; }
3527 _setenv=no
3528 cc_check && _setenv=yes
3529 if test "$_setenv" = yes ; then
3530 _def_setenv='#define HAVE_SETENV 1'
3531 else
3532 _def_setenv='#undef HAVE_SETENV'
3534 echores "$_setenv"
3537 if sunos; then
3538 echocheck "sysi86()"
3539 cat > $TMPC << EOF
3540 #include <sys/sysi86.h>
3541 int main (void) { sysi86(0); return 0; }
3543 _sysi86=no
3544 cc_check && _sysi86=yes
3545 if test "$_sysi86" = yes ; then
3546 _def_sysi86='#define HAVE_SYSI86 1'
3547 else
3548 _def_sysi86='#undef HAVE_SYSI86'
3550 echores "$_sysi86"
3551 fi #if sunos
3554 echocheck "sys/sysinfo.h"
3555 cat > $TMPC << EOF
3556 #include <sys/sysinfo.h>
3557 int main(void) {
3558 struct sysinfo s_info;
3559 sysinfo(&s_info);
3560 return 0;
3563 _sys_sysinfo=no
3564 cc_check && _sys_sysinfo=yes
3565 if test "$_sys_sysinfo" = yes ; then
3566 _def_sys_sysinfo='#define HAVE_SYS_SYSINFO_H 1'
3567 else
3568 _def_sys_sysinfo='#undef HAVE_SYS_SYSINFO_H'
3570 echores "$_sys_sysinfo"
3573 if darwin; then
3575 echocheck "Mac OS X APIs"
3576 if test "$_macosx" = auto ; then
3577 productName=`/usr/bin/sw_vers -productName`
3578 if test "$productName" = "Mac OS X" ; then
3579 _macosx=yes
3580 else
3581 _macosx=no
3582 _def_macosx='#undef MACOSX'
3583 _noaomodules="macosx $_noaomodules"
3584 _novomodules="quartz $_novomodules"
3587 if test "$_macosx" = yes ; then
3588 cat > $TMPC <<EOF
3589 #include <Carbon/Carbon.h>
3590 #include <QuickTime/QuickTime.h>
3591 #include <CoreAudio/CoreAudio.h>
3592 int main(void) {
3593 EnterMovies();
3594 ExitMovies();
3595 CFRunLoopRunInMode(kCFRunLoopDefaultMode, 0, false);
3598 if cc_check -framework Carbon -framework QuickTime -framework CoreAudio; then
3599 _macosx=yes
3600 _macosx_frameworks="-framework Carbon -framework QuickTime -framework CoreAudio -framework AudioUnit -framework AudioToolbox"
3601 _def_macosx='#define MACOSX 1'
3602 _aosrc="$_aosrc ao_macosx.c"
3603 _aomodules="macosx $_aomodules"
3604 _vosrc="$_vosrc vo_quartz.c"
3605 _vomodules="quartz $_vomodules"
3606 else
3607 _macosx=no
3608 _def_macosx='#undef MACOSX'
3609 _noaomodules="macosx $_noaomodules"
3610 _novomodules="quartz $_novomodules"
3612 cat > $TMPC <<EOF
3613 #include <Carbon/Carbon.h>
3614 #include <QuartzCore/CoreVideo.h>
3615 int main(void) {}
3617 if cc_check -framework Carbon -framework QuartzCore -framework OpenGL; then
3618 _vosrc="$_vosrc vo_macosx.m"
3619 _vomodules="macosx $_vomodules"
3620 _macosx_frameworks="$_macosx_frameworks -framework Cocoa -framework QuartzCore -framework OpenGL"
3621 _def_macosx_corevideo='#define MACOSX_COREVIDEO 1'
3622 _macosx_corevideo=yes
3623 else
3624 _novomodules="macosx $_novomodules"
3625 _def_macosx_corevideo='#undef MACOSX_COREVIDEO'
3626 _macosx_corevideo=no
3629 echores "$_macosx"
3631 echocheck "Mac OS X Finder Support"
3632 if test "$_macosx_finder_support" = auto ; then
3633 _macosx_finder_support=$_macosx
3635 if test "$_macosx_finder_support" = yes; then
3636 _def_macosx_finder_support='#define MACOSX_FINDER_SUPPORT 1'
3637 _macosx_finder_support=yes
3638 else
3639 _def_macosx_finder_support='#undef MACOSX_FINDER_SUPPORT'
3640 _macosx_finder_support=no
3642 echores "$_macosx_finder_support"
3644 echocheck "Mac OS X Bundle file locations"
3645 if test "$_macosx_bundle" = auto ; then
3646 _macosx_bundle=$_macosx_finder_support
3648 if test "$_macosx_bundle" = yes; then
3649 _def_macosx_bundle='#define MACOSX_BUNDLE 1'
3650 else
3651 _def_macosx_bundle='#undef MACOSX_BUNDLE'
3652 _macosx_bundle=no
3654 echores "$_macosx_bundle"
3656 fi #if darwin
3659 echocheck "Samba support (libsmbclient)"
3660 if test "$_smbsupport" = yes; then
3661 _ld_smb="-lsmbclient"
3663 if test "$_smbsupport" = auto; then
3664 _smbsupport=no
3665 cat > $TMPC << EOF
3666 #include <libsmbclient.h>
3667 int main(void) { smbc_opendir("smb://"); return 0; }
3669 for _ld_tmp in "-lsmbclient" "-lsmbclient $_ld_dl" "-lsmbclient $_ld_dl -lnsl" "-lsmbclient $_ld_dl -lssl -lnsl" ; do
3670 cc_check $_ld_tmp && _ld_smb="$_ld_tmp" && _smbsupport=yes && break
3671 done
3674 if test "$_smbsupport" = yes; then
3675 _def_smbsupport="#define LIBSMBCLIENT"
3676 _inputmodules="smb $_inputmodules"
3677 else
3678 _def_smbsupport="#undef LIBSMBCLIENT"
3679 _noinputmodules="smb $_noinputmodules"
3681 echores "$_smbsupport"
3684 #########
3685 # VIDEO #
3686 #########
3689 echocheck "3dfx"
3690 if test "$_3dfx" = yes ; then
3691 _def_3dfx='#define HAVE_3DFX 1'
3692 _vosrc="$_vosrc vo_3dfx.c"
3693 _vomodules="3dfx $_vomodules"
3694 else
3695 _def_3dfx='#undef HAVE_3DFX'
3696 _novomodules="3dfx $_novomodules"
3698 echores "$_3dfx"
3701 echocheck "tdfxfb"
3702 if test "$_tdfxfb" = yes ; then
3703 _def_tdfxfb='#define HAVE_TDFXFB 1'
3704 _vosrc="$_vosrc vo_tdfxfb.c"
3705 _vomodules="tdfxfb $_vomodules"
3706 else
3707 _def_tdfxfb='#undef HAVE_TDFXFB'
3708 _novomodules="tdfxfb $_novomodules"
3710 echores "$_tdfxfb"
3712 echocheck "s3fb"
3713 if test "$_s3fb" = yes ; then
3714 _def_s3fb='#define HAVE_S3FB 1'
3715 _vosrc="$_vosrc vo_s3fb.c"
3716 _vomodules="s3fb $_vomodules"
3717 else
3718 _def_s3fb='#undef HAVE_S3FB'
3719 _novomodules="s3fb $_novomodules"
3721 echores "$_s3fb"
3723 echocheck "tdfxvid"
3724 if test "$_tdfxvid" = yes ; then
3725 _def_tdfxvid='#define HAVE_TDFX_VID 1'
3726 _vosrc="$_vosrc vo_tdfx_vid.c"
3727 _vomodules="tdfx_vid $_vomodules"
3728 else
3729 _def_tdfxvid='#undef HAVE_TDFX_VID'
3730 _novomodules="tdfx_vid $_novomodules"
3732 echores "$_tdfxfb"
3734 echocheck "tga"
3735 if test "$_tga" = yes ; then
3736 _def_tga='#define HAVE_TGA 1'
3737 _vosrc="$_vosrc vo_tga.c"
3738 _vomodules="tga $_vomodules"
3739 else
3740 _def_tga='#undef HAVE_TGA'
3741 _novomodules="tga $_novomodules"
3743 echores "$_tga"
3746 echocheck "DirectFB"
3747 if test "$_directfb" = auto ; then
3748 _directfb=no
3749 if linux && test -c /dev/fb0; then
3750 cat > $TMPC <<EOF
3751 #include <directfb.h>
3752 int main(void) { IDirectFB *foo; DirectFBInit(0,0); return 0; }
3754 for _inc_tmp in "" -I/usr/local/include/directfb \
3755 -I/usr/include/directfb -I/usr/local/include -I/usr/include; do
3756 cc_check $_inc_tmp -ldirectfb && _directfb=yes && \
3757 _inc_extra="$_inc_extra $_inc_tmp" && break
3758 done
3762 dfb_version() {
3763 expr $1 \* 65536 + $2 \* 256 + $3
3766 if test "$_directfb" = yes; then
3767 cat > $TMPC << EOF
3768 #include <directfb_version.h>
3770 dfb_ver = DIRECTFB_MAJOR_VERSION.DIRECTFB_MINOR_VERSION.DIRECTFB_MICRO_VERSION
3773 if $_cc -E $TMPC $_inc_extra > "$TMPO"; then
3774 _directfb_version=`sed -n 's/^dfb_ver[^0-9]*\(.*\)/\1/p' "$TMPO" | tr -d '()'`
3775 _dfb_major=`echo $_directfb_version | cut -d . -f 1`
3776 _dfb_minor=`echo $_directfb_version | cut -d . -f 2`
3777 _dfb_micro=`echo $_directfb_version | cut -d . -f 3`
3778 _dfb_version=$(dfb_version $_dfb_major $_dfb_minor $_dfb_micro)
3779 if test "$_dfb_version" -ge $(dfb_version 0 9 13); then
3780 _def_directfb_version="#define DIRECTFBVERSION $_dfb_version"
3781 _res_comment="$_directfb_version"
3782 else
3783 _def_directfb_version='#undef DIRECTFBVERSION'
3784 _directfb=no
3785 _res_comment="version >=0.9.13 required"
3787 else
3788 _directfb=no
3789 _res_comment="failed to get version"
3792 echores "$_directfb"
3794 if test "$_directfb" = yes ; then
3795 _def_directfb='#define HAVE_DIRECTFB 1'
3796 if test "$_dfb_version" -ge $(dfb_version 0 9 13); then
3797 _vosrc="$_vosrc vo_directfb2.c"
3798 _vomodules="directfb $_vomodules"
3799 _ld_directfb='-ldirectfb'
3800 else
3801 _novomodules="directfb $_novomodules"
3804 if test "$_dfb_version" -ge $(dfb_version 0 9 15); then
3805 _vosrc="$_vosrc vo_dfbmga.c"
3806 _vomodules="dfbmga $_vomodules"
3807 else
3808 _novomodules="dfbmga $_novomodules"
3810 else
3811 _def_directfb='#undef HAVE_DIRECTFB'
3812 _novomodules="dfbmga directfb $_novomodules"
3816 echocheck "X11 headers presence"
3817 for I in `echo $_inc_extra | sed s/-I//g` /usr/X11/include /usr/X11R6/include /usr/include/X11R6 /usr/include /usr/openwin/include ; do
3818 if test -f "$I/X11/Xlib.h" ; then
3819 _inc_x11="-I$I"
3820 _x11_headers="yes"
3821 _res_comment="using $I"
3822 break
3824 done
3825 #FIXME: This is ugly as it can duplicate a -I parameter..
3826 _inc_extra="$_inc_extra $_inc_x11"
3827 if test -z "$_inc_x11" ; then
3828 _x11=no
3829 _x11_headers="no"
3830 _res_comment="check if the dev(el) packages are installed"
3832 echores "$_x11_headers"
3835 echocheck "X11"
3836 if test "$_x11" != no ; then
3837 cat > $TMPC <<EOF
3838 #include <X11/Xlib.h>
3839 #include <X11/Xutil.h>
3840 int main(void) { (void) XCreateWindow(0,0,0,0,0,0,0,0,0,0,0,0); return 0; }
3842 for I in $_ld_x11 "" -L/usr/X11R6/lib -L/usr/lib/X11R6 -L/usr/X11/lib \
3843 -L/usr/lib32 -L/usr/openwin/lib -L/usr/X11R6/lib64 -L/usr/lib ; do
3844 _ld_x11="$I -lXext -lX11 $_ld_sock $_ld_pthread"
3845 if netbsd; then
3846 _ld_x11="$_ld_x11 -Wl,-R`echo $I | sed s/^-L//`"
3848 cc_check $_ld_x11 && _x11=yes && break
3849 done
3851 if test "$_x11" = yes ; then
3852 _def_x11='#define HAVE_X11 1'
3853 _vosrc="$_vosrc x11_common.c vo_x11.c vo_xover.c"
3854 _vomodules="x11 xover $_vomodules"
3855 else
3856 _x11=no
3857 _def_x11='#undef HAVE_X11'
3858 _ld_x11=''
3859 _novomodules="x11 $_novomodules"
3860 _res_comment="check if the dev(el) packages are installed"
3861 # disable stuff that depends on X
3862 _xv=no ; _xvmc=no ; _xinerama=no ; _vm=no ; _xf86keysym=no ; _dga=no
3864 echores "$_x11"
3867 echocheck "DPMS"
3868 _xdpms3=no
3869 _xdpms4=no
3870 if test "$_x11" = yes ; then
3871 cat > $TMPC <<EOF
3872 #include <X11/Xmd.h>
3873 #include <X11/Xlib.h>
3874 #include <X11/Xutil.h>
3875 #include <X11/Xatom.h>
3876 #include <X11/extensions/dpms.h>
3877 int main(void) {
3878 (void) DPMSQueryExtension(0, 0, 0);
3881 cc_check -lXdpms $_ld_x11 && _xdpms3=yes
3882 cat > $TMPC <<EOF
3883 #include <X11/Xlib.h>
3884 #include <X11/extensions/dpms.h>
3885 int main(void) {
3886 (void) DPMSQueryExtension(0, 0, 0);
3889 cc_check $_ld_x11 && _xdpms4=yes
3891 if test "$_xdpms4" = yes ; then
3892 _def_xdpms='#define HAVE_XDPMS 1'
3893 _res_comment="using Xdpms 4"
3894 echores "yes"
3895 elif test "$_xdpms3" = yes ; then
3896 _def_xdpms='#define HAVE_XDPMS 1'
3897 _ld_x11="-lXdpms $_ld_x11"
3898 _res_comment="using Xdpms 3"
3899 echores "yes"
3900 else
3901 _def_xdpms='#undef HAVE_XDPMS'
3902 echores "no"
3906 echocheck "Xv"
3907 if test "$_xv" = auto ; then
3908 cat > $TMPC <<EOF
3909 #include <X11/Xlib.h>
3910 #include <X11/extensions/Xvlib.h>
3911 int main(void) {
3912 (void) XvGetPortAttribute(0, 0, 0, 0);
3913 (void) XvQueryPortAttributes(0, 0, 0);
3914 return 0; }
3916 _xv=no
3917 cc_check -lXv $_ld_x11 && _xv=yes
3920 if test "$_xv" = yes ; then
3921 _def_xv='#define HAVE_XV 1'
3922 _ld_xv='-lXv'
3923 _vosrc="$_vosrc vo_xv.c"
3924 _vomodules="xv $_vomodules"
3925 else
3926 _def_xv='#undef HAVE_XV'
3927 _novomodules="xv $_novomodules"
3929 echores "$_xv"
3932 echocheck "XvMC"
3933 if test "$_xv" = yes && test "$_xvmc" != no ; then
3934 _xvmc=no
3935 cat > $TMPC <<EOF
3936 #include <X11/Xlib.h>
3937 #include <X11/extensions/Xvlib.h>
3938 #include <X11/extensions/XvMClib.h>
3939 int main(void) {
3940 (void) XvMCQueryExtension(0,0,0);
3941 (void) XvMCCreateContext(0,0,0,0,0,0,0);
3942 return 0; }
3944 for _ld_tmp in $_xvmclib XvMCNVIDIA XvMCW I810XvMC ; do
3945 cc_check -lXvMC -l$_ld_tmp $_ld_xv $_ld_x11 && _xvmc=yes && _xvmclib="$_ld_tmp" && break
3946 done
3948 if test "$_xvmc" = yes ; then
3949 _def_xvmc='#define HAVE_XVMC 1'
3950 _ld_xvmc="-lXvMC -l$_xvmclib"
3951 _vosrc="$_vosrc vo_xvmc.c"
3952 _vomodules="xvmc $_vomodules"
3953 _res_comment="using $_xvmclib"
3954 else
3955 _def_xvmc='#undef HAVE_XVMC'
3956 _novomodules="xvmc $_novomodules"
3958 echores "$_xvmc"
3961 echocheck "Xinerama"
3962 if test "$_xinerama" = auto ; then
3963 cat > $TMPC <<EOF
3964 #include <X11/Xlib.h>
3965 #include <X11/extensions/Xinerama.h>
3966 int main(void) { (void) XineramaIsActive(0); return 0; }
3968 _xinerama=no
3969 cc_check -lXinerama $_ld_x11 && _xinerama=yes
3972 if test "$_xinerama" = yes ; then
3973 _def_xinerama='#define HAVE_XINERAMA 1'
3974 _ld_xinerama='-lXinerama'
3975 else
3976 _def_xinerama='#undef HAVE_XINERAMA'
3978 echores "$_xinerama"
3981 # Note: the -lXxf86vm library is the VideoMode extension and though it's not
3982 # needed for DGA, AFAIK every distribution packages together with DGA stuffs
3983 # named 'X extensions' or something similar.
3984 # This check may be useful for future mplayer versions (to change resolution)
3985 # If you run into problems, remove '-lXxf86vm'.
3986 echocheck "Xxf86vm"
3987 if test "$_vm" = auto ; then
3988 cat > $TMPC <<EOF
3989 #include <X11/Xlib.h>
3990 #include <X11/extensions/xf86vmode.h>
3991 int main(void) { (void) XF86VidModeQueryExtension(0, 0, 0); return 0; }
3993 _vm=no
3994 cc_check -lXxf86vm $_ld_x11 && _vm=yes
3996 if test "$_vm" = yes ; then
3997 _def_vm='#define HAVE_XF86VM 1'
3998 _ld_vm='-lXxf86vm'
3999 else
4000 _def_vm='#undef HAVE_XF86VM'
4002 echores "$_vm"
4004 # Check for the presence of special keycodes, like audio control buttons
4005 # that XFree86 might have. Used to be bundled with the xf86vm check, but
4006 # has nothing to do with xf86vm and XFree 3.x has xf86vm but does NOT
4007 # have these new keycodes.
4008 echocheck "XF86keysym"
4009 if test "$_xf86keysym" = auto; then
4010 _xf86keysym=no
4011 cat > $TMPC <<EOF
4012 #include <X11/Xlib.h>
4013 #include <X11/XF86keysym.h>
4014 int main(void) { return XF86XK_AudioPause; }
4016 cc_check $_ld_x11 && _xf86keysym=yes
4018 if test "$_xf86keysym" = yes ; then
4019 _def_xf86keysym='#define HAVE_XF86XK 1'
4020 else
4021 _def_xf86keysym='#undef HAVE_XF86XK'
4023 echores "$_xf86keysym"
4025 echocheck "DGA"
4026 # Version 2 is preferred to version 1 if available
4027 if test "$_dga" = auto ; then
4028 cat > $TMPC << EOF
4029 #include <X11/Xlib.h>
4030 #include <X11/extensions/xf86dga.h>
4031 int main (void) { (void) XF86DGASetViewPort(0, 0, 0, 0); return 0; }
4033 _dga=no
4034 cc_check -lXxf86dga -lXxf86vm $_ld_x11 && _dga=1
4036 cat > $TMPC << EOF
4037 #include <X11/Xlib.h>
4038 #include <X11/extensions/xf86dga.h>
4039 int main (void) { (void) XDGASetViewport(0, 0, 0, 0, 0); return 0; }
4041 cc_check -lXxf86dga $_ld_x11 && _dga=2
4044 _def_dga='#undef HAVE_DGA'
4045 _def_dga2='#undef HAVE_DGA2'
4046 if test "$_dga" = 1 ; then
4047 _def_dga='#define HAVE_DGA 1'
4048 _ld_dga='-lXxf86dga'
4049 _vosrc="$_vosrc vo_dga.c"
4050 _vomodules="dga $_vomodules"
4051 _res_comment="using DGA 1.0"
4052 elif test "$_dga" = 2 ; then
4053 _def_dga='#define HAVE_DGA 1'
4054 _def_dga2='#define HAVE_DGA2 1'
4055 _ld_dga='-lXxf86dga'
4056 _vosrc="$_vosrc vo_dga.c"
4057 _vomodules="dga $_vomodules"
4058 _res_comment="using DGA 2.0"
4059 elif test "$_dga" = no ; then
4060 _novomodules="dga $_novomodules"
4061 else
4062 die "DGA version must be 1 or 2"
4064 echores "$_dga"
4067 echocheck "OpenGL"
4068 #Note: this test is run even with --enable-gl since we autodetect $_ld_gl
4069 if (test "$_x11" = yes || win32) && test "$_gl" != no ; then
4070 cat > $TMPC << EOF
4071 #include <GL/gl.h>
4072 int main(void) { return 0; }
4074 _gl=no
4075 if cc_check $_ld_x11 -lGL $_ld_lm ; then
4076 _gl=yes
4077 _ld_gl="-lGL $_ld_dl"
4078 elif cc_check $_ld_x11 -lGL $_ld_lm $_ld_pthread ; then
4079 _gl=yes
4080 _ld_gl="-lGL $_ld_pthread $_ld_dl"
4081 elif cc_check -lopengl32 ; then
4082 _gl=yes
4083 _gl_win32=yes
4084 _ld_gl="-lopengl32 -lgdi32"
4086 else
4087 _gl=no
4089 if test "$_gl" = yes ; then
4090 _def_gl='#define HAVE_GL 1'
4091 _vosrc="$_vosrc vo_gl.c vo_gl2.c gl_common.c"
4092 if test "$_gl_win32" = yes ; then
4093 _def_gl_win32='#define GL_WIN32 1'
4094 _vosrc="$_vosrc w32_common.c"
4095 _res_comment="win32 version"
4097 _vomodules="opengl $_vomodules"
4098 else
4099 _def_gl='#undef HAVE_GL'
4100 _def_gl_win32='#undef GL_WIN32'
4101 _novomodules="opengl $_novomodules"
4103 echores "$_gl"
4106 echocheck "/dev/mga_vid"
4107 if test "$_mga" = auto ; then
4108 _mga=no
4109 test -c /dev/mga_vid && _mga=yes
4111 if test "$_mga" = yes ; then
4112 _def_mga='#define HAVE_MGA 1'
4113 _vosrc="$_vosrc vo_mga.c"
4114 _vomodules="mga $_vomodules"
4115 else
4116 _def_mga='#undef HAVE_MGA'
4117 _novomodules="mga $_novomodules"
4119 echores "$_mga"
4122 # echocheck "syncfb"
4123 # _syncfb=no
4124 # test "$_mga" = yes && _syncfb=yes
4125 # if test "$_syncfb" = yes ; then
4126 # _def_syncfb='#define HAVE_SYNCFB 1'
4127 # _vosrc="$_vosrc vo_syncfb.c"
4128 # else
4129 # _def_syncfb='#undef HAVE_SYNCFB'
4130 # fi
4131 # echores "$_syncfb"
4134 echocheck "xmga"
4135 if test "$_xmga" = auto ; then
4136 _xmga=no
4137 test "$_x11" = yes && test "$_mga" = yes && _xmga=yes
4139 if test "$_xmga" = yes ; then
4140 _def_xmga='#define HAVE_XMGA 1'
4141 _vosrc="$_vosrc vo_xmga.c"
4142 _vomodules="xmga $_vomodules"
4143 else
4144 _def_xmga='#undef HAVE_XMGA'
4145 _novomodules="xmga $_novomodules"
4147 echores "$_xmga"
4150 echocheck "GGI"
4151 if test "$_ggi" = auto ; then
4152 cat > $TMPC << EOF
4153 #include <ggi/ggi.h>
4154 int main(void) { return 0; }
4156 _ggi=no
4157 cc_check -lggi && _ggi=yes
4159 if test "$_ggi" = yes ; then
4160 _def_ggi='#define HAVE_GGI 1'
4161 _ld_ggi='-lggi'
4162 _vosrc="$_vosrc vo_ggi.c"
4163 _vomodules="ggi $_vomodules"
4164 else
4165 _def_ggi='#undef HAVE_GGI'
4166 _novomodules="ggi $_novomodules"
4168 echores "$_ggi"
4170 echocheck "GGI extension: libggiwmh"
4171 if test "$_ggiwmh" = auto ; then
4172 _ggiwmh=no
4173 cat > $TMPC << EOF
4174 #include <ggi/ggi.h>
4175 #include <ggi/wmh.h>
4176 int main(void) { return 0; }
4178 cc_check -lggi -lggiwmh && _ggiwmh=yes
4180 # needed to get right output on obscure combination
4181 # like --disable-ggi --enable-ggiwmh
4182 if test "$_ggi" = yes && test "$_ggiwmh" = yes ; then
4183 _def_ggiwmh='#define HAVE_GGIWMH 1'
4184 _ld_ggi="$_ld_ggi -lggiwmh"
4185 else
4186 _ggiwmh=no
4187 _def_ggiwmh='#undef HAVE_GGIWMH'
4189 echores "$_ggiwmh"
4192 echocheck "AA"
4193 if test "$_aa" = auto ; then
4194 cat > $TMPC << EOF
4195 #include <aalib.h>
4196 extern struct aa_hardware_params aa_defparams;
4197 extern struct aa_renderparams aa_defrenderparams;
4198 int main(void) {
4199 aa_context *c;
4200 aa_renderparams *p;
4201 (void) aa_init(0, 0, 0);
4202 c = aa_autoinit(&aa_defparams);
4203 p = aa_getrenderparams();
4204 aa_autoinitkbd(c,0);
4205 return 0; }
4207 _aa=no
4208 for _ld_tmp in "-laa" "$_ld_x11 -laa" ; do
4209 cc_check $_ld_tmp && _ld_aa=$_ld_tmp && _aa=yes && break
4210 done
4212 if test "$_aa" = yes ; then
4213 _def_aa='#define HAVE_AA 1'
4214 if cygwin ; then
4215 _ld_aa=`aalib-config --libs | cut -d " " -f 2,5,6`
4217 _vosrc="$_vosrc vo_aa.c"
4218 _vomodules="aa $_vomodules"
4219 else
4220 _def_aa='#undef HAVE_AA'
4221 _novomodules="aa $_novomodules"
4223 echores "$_aa"
4226 echocheck "CACA"
4227 if test "$_caca" = auto ; then
4228 _caca=no
4229 if ( caca-config --version ) >> "$TMPLOG" 2>&1 ; then
4230 cat > $TMPC << EOF
4231 #include <caca.h>
4232 #ifdef CACA_API_VERSION_1
4233 #include <caca0.h>
4234 #endif
4235 int main(void) { (void) caca_init(); return 0; }
4237 cc_check `caca-config --libs` && _caca=yes
4240 if test "$_caca" = yes ; then
4241 _def_caca='#define HAVE_CACA 1'
4242 _inc_extra="$_inc_extra `caca-config --cflags`"
4243 _ld_caca=`caca-config --libs`
4244 _vosrc="$_vosrc vo_caca.c"
4245 _vomodules="caca $_vomodules"
4246 else
4247 _def_caca='#undef HAVE_CACA'
4248 _novomodules="caca $_novomodules"
4250 echores "$_caca"
4253 echocheck "SVGAlib"
4254 if test "$_svga" = auto ; then
4255 cat > $TMPC << EOF
4256 #include <vga.h>
4257 int main(void) { return 0; }
4259 _svga=no
4260 cc_check -lvga $_ld_lm && _svga=yes
4262 if test "$_svga" = yes ; then
4263 _def_svga='#define HAVE_SVGALIB 1'
4264 _ld_svga="-lvga"
4265 _vosrc="$_vosrc vo_svga.c"
4266 _vomodules="svga $_vomodules"
4267 else
4268 _def_svga='#undef HAVE_SVGALIB'
4269 _novomodules="svga $_novomodules"
4271 echores "$_svga"
4274 echocheck "FBDev"
4275 if test "$_fbdev" = auto ; then
4276 _fbdev=no
4277 linux && test -c /dev/fb0 && _fbdev=yes
4279 if test "$_fbdev" = yes ; then
4280 _def_fbdev='#define HAVE_FBDEV 1'
4281 _vosrc="$_vosrc vo_fbdev.c vo_fbdev2.c"
4282 _vomodules="fbdev $_vomodules"
4283 else
4284 _def_fbdev='#undef HAVE_FBDEV'
4285 _novomodules="fbdev $_novomodules"
4287 echores "$_fbdev"
4291 echocheck "DVB"
4292 if test "$_dvb" = auto ; then
4293 _dvb=no
4294 cat >$TMPC << EOF
4295 #include <sys/poll.h>
4296 #include <sys/ioctl.h>
4297 #include <stdio.h>
4298 #include <time.h>
4299 #include <unistd.h>
4301 #include <ost/dmx.h>
4302 #include <ost/frontend.h>
4303 #include <ost/sec.h>
4304 #include <ost/video.h>
4305 #include <ost/audio.h>
4306 int main(void) {return 0;}
4308 for _inc_tmp in "" "-I/usr/src/DVB/ost/include" ; do
4309 cc_check $_inc_tmp && _dvb=yes && \
4310 _inc_extra="$_inc_extra $_inc_tmp" && break
4311 done
4313 echores "$_dvb"
4314 if test "$_dvb" = yes ; then
4315 _def_dvb='#define HAVE_DVB 1'
4316 _def_dvb_in='#define HAS_DVBIN_SUPPORT 1'
4317 _aomodules="mpegpes(dvb) $_aomodules"
4318 _vomodules="mpegpes(dvb) $_vomodules"
4321 echocheck "DVB HEAD"
4322 if test "$_dvbhead" = auto ; then
4323 _dvbhead=no
4325 cat >$TMPC << EOF
4326 #include <sys/poll.h>
4327 #include <sys/ioctl.h>
4328 #include <stdio.h>
4329 #include <time.h>
4330 #include <unistd.h>
4332 #include <linux/dvb/dmx.h>
4333 #include <linux/dvb/frontend.h>
4334 #include <linux/dvb/video.h>
4335 #include <linux/dvb/audio.h>
4336 int main(void) {return 0;}
4338 for _inc_tmp in "" "-I/usr/src/DVB/include" ; do
4339 cc_check $_inc_tmp && _dvbhead=yes && \
4340 _inc_extra="$_inc_extra $_inc_tmp" && break
4341 done
4343 echores "$_dvbhead"
4344 if test "$_dvbhead" = yes ; then
4345 _def_dvb='#define HAVE_DVB_HEAD 1'
4346 _def_dvb_in='#define HAS_DVBIN_SUPPORT 1'
4347 _aomodules="mpegpes(dvb) $_aomodules"
4348 _vomodules="mpegpes(dvb) $_vomodules"
4351 if test "$_dvbhead" = no && test "$_dvb" = no ; then
4352 _def_dvb='#undef HAVE_DVB'
4353 _def_dvb_in='#undef HAS_DVBIN_SUPPORT '
4354 _aomodules="mpegpes(file) $_aomodules"
4355 _vomodules="mpegpes(file) $_vomodules"
4358 if test "$_dvb" = yes || test "$_dvbhead" = yes ; then
4359 _dvbin=yes
4360 _inputmodules="dvb $_inputmodules"
4361 else
4362 _dvbin=no
4363 _noinputmodules="dvb $_noinputmodules"
4366 echocheck "PNG support"
4367 if test "$_png" = auto ; then
4368 _png=no
4369 if irix ; then
4370 # Don't check for -lpng on irix since it has its own libpng
4371 # incompatible with the GNU libpng
4372 _res_comment="disabled on irix (not GNU libpng)"
4373 else
4374 cat > $TMPC << EOF
4375 #include <png.h>
4376 #include <string.h>
4377 int main(void) {
4378 printf("png.h : %s\n", PNG_LIBPNG_VER_STRING);
4379 printf("libpng: %s\n", png_libpng_ver);
4380 return (strcmp(PNG_LIBPNG_VER_STRING, png_libpng_ver));
4383 if cc_check -lpng -lz $_ld_lm ; then
4384 if tmp_run ; then
4385 _png=yes
4386 else
4387 _res_comment="mismatch of library and header versions"
4392 echores "$_png"
4393 if test "$_png" = yes ; then
4394 _def_png='#define HAVE_PNG 1'
4395 _ld_png='-lpng -lz'
4396 _vosrc="$_vosrc vo_png.c"
4397 _vomodules="png $_vomodules"
4398 else
4399 _def_png='#undef HAVE_PNG'
4400 _novomodules="png $_novomodules"
4403 echocheck "JPEG support"
4404 if test "$_jpeg" = auto ; then
4405 _jpeg=no
4406 cat > $TMPC << EOF
4407 #include <stdio.h>
4408 #include <stdlib.h>
4409 #include <setjmp.h>
4410 #include <string.h>
4411 #include <jpeglib.h>
4412 int main(void) {
4413 return 0;
4416 if cc_check -ljpeg $_ld_lm ; then
4417 if tmp_run ; then
4418 _jpeg=yes
4422 echores "$_jpeg"
4424 if test "$_jpeg" = yes ; then
4425 _def_jpeg='#define HAVE_JPEG 1'
4426 _vosrc="$_vosrc vo_jpeg.c"
4427 _vomodules="jpeg $_vomodules"
4428 _ld_jpeg="-ljpeg"
4429 else
4430 _def_jpeg='#undef HAVE_JPEG'
4431 _novomodules="jpeg $_novomodules"
4436 echocheck "PNM support"
4437 if test "$_pnm" = yes; then
4438 _def_pnm="#define HAVE_PNM"
4439 _vosrc="$_vosrc vo_pnm.c"
4440 _vomodules="pnm $_vomodules"
4441 else
4442 _def_pnm="#undef HAVE_PNM"
4443 _novomodules="pnm $_novomodules"
4445 echores "$_pnm"
4449 echocheck "GIF support"
4450 # This is to appease people who want to force gif support.
4451 # If it is forced to yes, then we still do checks to determine
4452 # which gif library to use.
4453 if test "$_gif" = yes ; then
4454 _force_gif=yes
4455 _gif=auto
4458 if test "$_gif" = auto ; then
4459 _gif=no
4460 cat > $TMPC << EOF
4461 #include <gif_lib.h>
4462 int main(void) {
4463 return 0;
4466 for _ld_tmp in "-lungif" "-lungif $_ld_x11" "-lgif" "-lgif $_ld_x11" ; do
4467 cc_check $_ld_tmp && tmp_run && _ld_gif="$_ld_tmp" && _gif=yes && break
4468 done
4471 # If no library was found, and the user wants support forced,
4472 # then we force it on with libgif, as this is the safest
4473 # assumption IMHO. (libungif & libregif both create symbolic
4474 # links to libgif. We also assume that no x11 support is needed,
4475 # because if you are forcing this, then you _should_ know what
4476 # you are doing. [ Besides, package maintainers should never
4477 # have compiled x11 deps into libungif in the first place. ] )
4478 # </rant>
4479 # --Joey
4480 if test "$_force_gif" = yes && test "$_gif" = no ; then
4481 _gif=yes
4482 _ld_gif="-lgif"
4485 if test "$_gif" = yes ; then
4486 _def_gif='#define HAVE_GIF 1'
4487 _vosrc="$_vosrc vo_gif89a.c"
4488 _codecmodules="gif $_codecmodules"
4489 _vomodules="gif89a $_vomodules"
4490 _res_comment="old version, some encoding functions disabled"
4491 _def_gif_4='#undef HAVE_GIF_4'
4493 cat > $TMPC << EOF
4494 #include <signal.h>
4495 #include <gif_lib.h>
4496 void catch() { exit(1); }
4497 int main(void) {
4498 signal(SIGSEGV, catch); // catch segfault
4499 printf("EGifPutExtensionFirst is at address %p\n", EGifPutExtensionFirst);
4500 EGifSetGifVersion("89a"); // this will segfault a buggy gif lib.
4501 return 0;
4504 if cc_check "$_ld_gif" && tmp_run ; then
4505 _def_gif_4='#define HAVE_GIF_4 1'
4506 _res_comment=""
4508 else
4509 _def_gif='#undef HAVE_GIF'
4510 _def_gif_4='#undef HAVE_GIF_4'
4511 _novomodules="gif89a $_novomodules"
4512 _nocodecmodules="gif $_nocodecmodules"
4514 echores "$_gif"
4517 case "$_gif" in yes*)
4518 echocheck "broken giflib workaround"
4519 _def_gif_tvt_hack='#define HAVE_GIF_TVT_HACK 1'
4521 cat > $TMPC << EOF
4522 #include <gif_lib.h>
4523 int main(void) {
4524 GifFileType gif;
4525 printf("UserData is at address %p\n", gif.UserData);
4526 return 0;
4529 if cc_check "$_ld_gif" && tmp_run ; then
4530 _def_gif_tvt_hack='#undef HAVE_GIF_TVT_HACK'
4531 echores "disabled"
4532 else
4533 echores "enabled"
4536 esac
4539 echocheck "VESA support"
4540 if test "$_vesa" = auto ; then
4541 cat > $TMPC << EOF
4542 #include <vbe.h>
4543 int main(void) { vbeVersion(); return 0; }
4545 _vesa=no
4546 cc_check -lvbe -llrmi && _vesa=yes
4548 if test "$_vesa" = yes ; then
4549 _def_vesa='#define HAVE_VESA 1'
4550 _ld_vesa="-lvbe -llrmi"
4551 _vosrc="$_vosrc vo_vesa.c vesa_lvo.c gtf.c"
4552 _vomodules="vesa $_vomodules"
4553 else
4554 _def_vesa='#undef HAVE_VESA'
4555 _novomodules="vesa $_novomodules"
4557 echores "$_vesa"
4559 #################
4560 # VIDEO + AUDIO #
4561 #################
4564 echocheck "SDL"
4565 if test -z "$_sdlconfig" ; then
4566 if ( sdl-config --version ) >>"$TMPLOG" 2>&1 ; then
4567 _sdlconfig="sdl-config"
4568 elif ( sdl11-config --version ) >>"$TMPLOG" 2>&1 ; then
4569 _sdlconfig="sdl11-config"
4570 else
4571 _sdlconfig=false
4574 if test "$_sdl" = auto || test "$_sdl" = yes ; then
4575 cat > $TMPC << EOF
4576 #include <SDL.h>
4577 int main(int argc, char *argv[]) { return 0; }
4579 _sdl=no
4580 if "$_sdlconfig" --version >>"$TMPLOG" 2>&1 ; then
4581 if cc_check `$_sdlconfig --cflags` `$_sdlconfig --libs` >>"$TMPLOG" 2>&1 ; then
4582 _sdlversion=`$_sdlconfig --version | sed 's/[^0-9]//g'`
4583 if test "$_sdlversion" -gt 116 ; then
4584 if test "$_sdlversion" -lt 121 ; then
4585 _def_sdlbuggy='#define BUGGY_SDL'
4586 else
4587 _def_sdlbuggy='#undef BUGGY_SDL'
4589 _sdl=yes
4590 else
4591 _res_comment="outdated"
4596 if test "$_sdl" = yes ; then
4597 _def_sdl='#define HAVE_SDL 1'
4598 if cygwin ; then
4599 _ld_sdl=`$_sdlconfig --libs | cut -d " " -f 1,4,6 | sed s/no-cygwin/cygwin/`
4600 _inc_extra="$_inc_extra `$_sdlconfig --cflags | cut -d " " -f 1,5,6 | sed s/no-cygwin/cygwin/`"
4601 elif mingw32 ; then
4602 _ld_sdl=`$_sdlconfig --libs | sed s/-mwindows//`
4603 _inc_extra="$_inc_extra `$_sdlconfig --cflags | sed s/-Dmain=SDL_main//`"
4604 else
4605 _ld_sdl=`$_sdlconfig --libs`
4606 _inc_extra="$_inc_extra `$_sdlconfig --cflags`"
4608 _vosrc="$_vosrc vo_sdl.c"
4609 _vomodules="sdl $_vomodules"
4610 _aosrc="$_aosrc ao_sdl.c"
4611 _aomodules="sdl $_aomodules"
4612 _res_comment="using $_sdlconfig"
4613 else
4614 _def_sdl='#undef HAVE_SDL'
4615 _novomodules="sdl $_novomodules"
4616 _noaomodules="sdl $_noaomodules"
4618 echores "$_sdl"
4621 if win32; then
4623 echocheck "Windows waveout"
4624 if test "$_win32waveout" = auto ; then
4625 cat > $TMPC << EOF
4626 #include <windows.h>
4627 #include <mmsystem.h>
4628 int main(void) { return 0; }
4630 _win32waveout=no
4631 cc_check -lwinmm && _win32waveout=yes
4633 if test "$_win32waveout" = yes ; then
4634 _def_win32waveout='#define HAVE_WIN32WAVEOUT 1'
4635 _ld_win32libs="-lwinmm $_ld_win32libs"
4636 _aosrc="$_aosrc ao_win32.c"
4637 _aomodules="win32 $_aomodules"
4638 else
4639 _def_win32waveout='#undef HAVE_WIN32WAVEOUT'
4640 _noaomodules="win32 $_noaomodules"
4642 echores "$_win32waveout"
4644 echocheck "Directx"
4645 if test "$_directx" = auto ; then
4646 cat > $TMPC << EOF
4647 #include <windows.h>
4648 #include <ddraw.h>
4649 #include <dsound.h>
4650 int main(void) { return 0; }
4652 _directx=no
4653 cc_check -lgdi32 && _directx=yes
4655 if test "$_directx" = yes ; then
4656 _def_directx='#define HAVE_DIRECTX 1'
4657 _ld_win32libs="-lgdi32 $_ld_win32libs"
4658 _vosrc="$_vosrc vo_directx.c"
4659 _vomodules="directx $_vomodules"
4660 _aosrc="$_aosrc ao_dsound.c"
4661 _aomodules="dsound $_aomodules"
4662 else
4663 _def_directx='#undef HAVE_DIRECTX'
4664 _novomodules="directx $_novomodules"
4665 _noaomodules="dsound $_noaomodules"
4667 echores "$_directx"
4669 fi #if win32; then
4672 echocheck "NAS"
4673 if test "$_nas" = auto ; then
4674 cat > $TMPC << EOF
4675 #include <audio/audiolib.h>
4676 int main(void) { return 0; }
4678 _nas=no
4679 cc_check $_ld_lm -laudio -lXt $_ld_x11 && _nas=yes
4681 if test "$_nas" = yes ; then
4682 _def_nas='#define HAVE_NAS 1'
4683 _ld_nas="-laudio -lXt $_ld_x11"
4684 _aosrc="$_aosrc ao_nas.c"
4685 _aomodules="nas $_aomodules"
4686 else
4687 _noaomodules="nas $_noaomodules"
4688 _def_nas='#undef HAVE_NAS'
4690 echores "$_nas"
4692 echocheck "DXR2"
4693 if test "$_dxr2" = auto; then
4694 _dxr2=no
4695 cat > $TMPC << EOF
4696 #include <dxr2ioctl.h>
4697 int main(void) { return 0; }
4699 for _inc_tmp in "" -I/usr/local/include/dxr2 -I/usr/include/dxr2; do
4700 cc_check $_inc_tmp && _dxr2=yes && \
4701 _inc_extra="$_inc_extra $_inc_tmp" && break
4702 done
4704 if test "$_dxr2" = yes; then
4705 _def_dxr2='#define HAVE_DXR2 1'
4706 _vosrc="$_vosrc vo_dxr2.c"
4707 _aosrc="$_aosrc ao_dxr2.c"
4708 _aomodules="dxr2 $_aomodules"
4709 _vomodules="dxr2 $_vomodules"
4710 else
4711 _def_dxr2='#undef HAVE_DXR2'
4712 _noaomodules="dxr2 $_noaomodules"
4713 _novomodules="dxr2 $_novomodules"
4715 echores "$_dxr2"
4717 echocheck "DXR3/H+"
4718 if test "$_dxr3" = auto ; then
4719 cat > $TMPC << EOF
4720 #include <linux/em8300.h>
4721 int main(void) { return 0; }
4723 _dxr3=no
4724 cc_check && _dxr3=yes
4726 if test "$_dxr3" = yes ; then
4727 _def_dxr3='#define HAVE_DXR3 1'
4728 _vosrc="$_vosrc vo_dxr3.c"
4729 _vomodules="dxr3 $_vomodules"
4730 else
4731 _def_dxr3='#undef HAVE_DXR3'
4732 _novomodules="dxr3 $_novomodules"
4734 echores "$_dxr3"
4737 echocheck "IVTV TV-Out"
4738 if test "$_ivtv" = auto ; then
4739 cat > $TMPC << EOF
4740 #include <stdlib.h>
4741 #include <inttypes.h>
4742 #include <linux/types.h>
4743 #include <linux/videodev2.h>
4744 #include <linux/ivtv.h>
4745 int main(void) { return 0; }
4747 _ivtv=no
4748 cc_check && _ivtv=yes
4750 if test "$_ivtv" = yes ; then
4751 _def_ivtv='#define HAVE_IVTV 1'
4752 _vosrc="$_vosrc vo_ivtv.c"
4753 _vomodules="ivtv $_vomodules"
4754 _aosrc="$_aosrc ao_ivtv.c"
4755 _aomodules="ivtv $_aomodules"
4756 else
4757 _def_ivtv='#undef HAVE_IVTV'
4758 _novomodules="ivtv $_novomodules"
4759 _noaomodules="ivtv $_noaomodules"
4761 echores "$_ivtv"
4764 echocheck "libfame"
4765 if test "$_libfame" = auto ; then
4766 _libfame=no
4767 test "$_dxr2" = yes && _libfame=auto
4768 test "$_dxr3" = yes && _libfame=auto
4769 test "$_dvb" = yes && _libfame=auto
4771 if test "$_libfame" = auto ; then
4772 _libfame=no
4773 if test -d libfame && test -f libfame/fame.h ; then
4774 # disable libfame on Cygwin as porting makes no sense
4775 cygwin || _libfame=yes
4776 else
4777 _res_comment="no libfame dir"
4780 echores "$_libfame"
4782 _def_libfame='#undef USE_LIBFAME'
4783 if test "$_libfame" = yes ; then
4784 _def_libfame='#define USE_LIBFAME 1'
4785 _ld_libfame='libfame/libfame.a'
4789 #########
4790 # AUDIO #
4791 #########
4794 echocheck "OSS Audio"
4795 if test "$_ossaudio" = auto ; then
4796 cat > $TMPC << EOF
4797 #include <sys/ioctl.h>
4798 $_include_soundcard
4799 int main(void) { int arg = SNDCTL_DSP_SETFRAGMENT; return 0; }
4801 _ossaudio=no
4802 cc_check && _ossaudio=yes
4804 if test "$_ossaudio" = yes ; then
4805 _def_ossaudio='#define USE_OSS_AUDIO 1'
4806 _aosrc="$_aosrc ao_oss.c"
4807 _aomodules="oss $_aomodules"
4808 if test "$_linux_devfs" = yes; then
4809 _def_ossaudio_devdsp='#define PATH_DEV_DSP "/dev/sound/dsp"'
4810 _def_ossaudio_devmixer='#define PATH_DEV_MIXER "/dev/sound/mixer"'
4811 else
4812 cat > $TMPC << EOF
4813 #include <sys/ioctl.h>
4814 $_include_soundcard
4815 #ifdef OPEN_SOUND_SYSTEM
4816 int main(void) { return 0; }
4817 #else
4818 #error Not the real thing
4819 #endif
4821 _real_ossaudio=no
4822 cc_check && _real_ossaudio=yes
4823 if test "$_real_ossaudio" = yes; then
4824 _def_ossaudio_devdsp='#define PATH_DEV_DSP "/dev/dsp"'
4825 elif netbsd || openbsd ; then
4826 _def_ossaudio_devdsp='#define PATH_DEV_DSP "/dev/sound"'
4827 _ld_arch="$_ld_arch -lossaudio"
4828 else
4829 _def_ossaudio_devdsp='#define PATH_DEV_DSP "/dev/dsp"'
4831 _def_ossaudio_devmixer='#define PATH_DEV_MIXER "/dev/mixer"'
4833 else
4834 _def_ossaudio='#undef USE_OSS_AUDIO'
4835 _def_ossaudio_devdsp='#define PATH_DEV_DSP ""'
4836 _def_ossaudio_devmixer='#define PATH_DEV_MIXER ""'
4837 _noaomodules="oss $_noaomodules"
4839 echores "$_ossaudio"
4842 echocheck "aRts"
4843 if test "$_arts" = auto ; then
4844 _arts=no
4845 if ( artsc-config --version ) >> "$TMPLOG" 2>&1 ; then
4847 cat > $TMPC << EOF
4848 #include <artsc.h>
4849 int main(void) { return 0; }
4851 cc_check `artsc-config --libs` `artsc-config --cflags` && tmp_run && _arts=yes
4856 if test "$_arts" = yes ; then
4857 _def_arts='#define USE_ARTS 1'
4858 _aosrc="$_aosrc ao_arts.c"
4859 _aomodules="arts $_aomodules"
4860 _ld_arts=`artsc-config --libs`
4861 _inc_extra="$_inc_extra `artsc-config --cflags`"
4862 else
4863 _noaomodules="arts $_noaomodules"
4865 echores "$_arts"
4868 echocheck "EsounD"
4869 if test "$_esd" = auto ; then
4870 _esd=no
4871 if ( esd-config --version ) >> "$TMPLOG" 2>&1 ; then
4873 cat > $TMPC << EOF
4874 #include <esd.h>
4875 int main(void) { return 0; }
4877 cc_check `esd-config --libs` `esd-config --cflags` && tmp_run && _esd=yes
4881 echores "$_esd"
4883 if test "$_esd" = yes ; then
4884 _def_esd='#define USE_ESD 1'
4885 _aosrc="$_aosrc ao_esd.c"
4886 _aomodules="esd $_aomodules"
4887 _ld_esd=`esd-config --libs`
4888 _inc_extra="$_inc_extra `esd-config --cflags`"
4890 echocheck "esd_get_latency()"
4891 cat > $TMPC << EOF
4892 #include <esd.h>
4893 int main(void) { return esd_get_latency(0); }
4895 cc_check `esd-config --libs` `esd-config --cflags` && _esd_latency=yes && _def_esd_latency='#define HAVE_ESD_LATENCY'
4896 echores "$_esd_latency"
4897 else
4898 _def_esd='#undef USE_ESD'
4899 _def_esd_latency='#undef HAVE_ESD_LATENCY'
4900 _noaomodules="esd $_noaomodules"
4903 echocheck "Polyp"
4904 if test "$_polyp" = auto ; then
4905 _polyp=no
4906 if pkg-config --exists 'polyplib >= 0.6 polyplib-error >= 0.6 polyplib-mainloop >= 0.6' ; then
4908 cat > $TMPC << EOF
4909 #include <polyp/polyplib.h>
4910 #include <polyp/mainloop.h>
4911 #include <polyp/polyplib-error.h>
4912 int main(void) { return 0; }
4914 cc_check `pkg-config --libs --cflags polyplib polyplib-error polyplib-mainloop` && tmp_run && _polyp=yes
4918 echores "$_polyp"
4920 if test "$_polyp" = yes ; then
4921 _def_polyp='#define USE_POLYP 1'
4922 _aosrc="$_aosrc ao_polyp.c"
4923 _aomodules="polyp $_aomodules"
4924 _ld_polyp=`pkg-config --libs polyplib polyplib-error polyplib-mainloop`
4925 _inc_extra="$_inc_extra `pkg-config --cflags polyplib polyplib-error polyplib-mainloop`"
4926 else
4927 _def_polyp='#undef USE_POLYP'
4928 _noaomodules="polyp $_noaomodules"
4932 echocheck "JACK"
4933 if test "$_jack" = auto ; then
4934 _jack=yes
4936 cat > $TMPC << EOF
4937 #include <jack/jack.h>
4938 int main(void) { jack_client_new("test"); return 0; }
4940 if cc_check -ljack ; then
4941 _ld_jack="-ljack"
4942 elif cc_check `pkg-config --libs --cflags --silence-errors jack` ; then
4943 _ld_jack="`pkg-config --libs jack`"
4944 _inc_extra="$_inc_extra "`pkg-config --cflags jack`""
4945 else
4946 _jack=no
4950 if test "$_jack" = yes ; then
4951 _def_jack='#define USE_JACK 1'
4952 _aosrc="$_aosrc ao_jack.c"
4953 _aomodules="jack $_aomodules"
4954 else
4955 _noaomodules="jack $_noaomodules"
4957 echores "$_jack"
4959 echocheck "OpenAL"
4960 if test "$_openal" = auto ; then
4961 _openal=no
4962 cat > $TMPC << EOF
4963 #include <AL/al.h>
4964 int main(void) {
4965 alSourceQueueBuffers(0, 0, 0);
4966 // alGetSourcei(0, AL_SAMPLE_OFFSET, 0);
4967 return 0;
4970 if cc_check -lopenal ; then
4971 _ld_openal="-lopenal"
4972 _openal=yes
4975 if test "$_openal" = yes ; then
4976 _def_openal='#define USE_OPENAL 1'
4977 _aosrc="$_aosrc ao_openal.c"
4978 _aomodules="openal $_aomodules"
4979 else
4980 _noaomodules="openal $_noaomodules"
4982 echores "$_openal"
4984 echocheck "ALSA audio"
4985 if test "$_alsa" != no ; then
4986 _alsa=no
4987 cat > $TMPC << EOF
4988 #include <sys/asoundlib.h>
4989 #if !((SND_LIB_MAJOR == 0) && (SND_LIB_MINOR == 5))
4990 #error "alsa version != 0.5.x"
4991 #endif
4992 int main(void) { return 0; }
4994 cc_check -lasound $_ld_dl $_ld_pthread && _alsaver='0.5.x'
4996 cat > $TMPC << EOF
4997 #include <sys/asoundlib.h>
4998 #if !((SND_LIB_MAJOR == 0) && (SND_LIB_MINOR == 9))
4999 #error "alsa version != 0.9.x"
5000 #endif
5001 int main(void) { return 0; }
5003 cc_check -lasound $_ld_dl $_ld_pthread && _alsaver='0.9.x-sys'
5004 cat > $TMPC << EOF
5005 #include <alsa/asoundlib.h>
5006 #if !((SND_LIB_MAJOR == 0) && (SND_LIB_MINOR == 9))
5007 #error "alsa version != 0.9.x"
5008 #endif
5009 int main(void) { return 0; }
5011 cc_check -lasound $_ld_dl $_ld_pthread && _alsaver='0.9.x-alsa'
5013 cat > $TMPC << EOF
5014 #include <sys/asoundlib.h>
5015 #if !((SND_LIB_MAJOR == 1) && (SND_LIB_MINOR == 0))
5016 #error "alsa version != 1.0.x"
5017 #endif
5018 int main(void) { return 0; }
5020 cc_check -lasound $_ld_dl $_ld_pthread && _alsaver='1.0.x-sys'
5021 cat > $TMPC << EOF
5022 #include <alsa/asoundlib.h>
5023 #if !((SND_LIB_MAJOR == 1) && (SND_LIB_MINOR == 0))
5024 #error "alsa version != 1.0.x"
5025 #endif
5026 int main(void) { return 0; }
5028 cc_check -lasound $_ld_dl $_ld_pthread && _alsaver='1.0.x-alsa'
5030 _def_alsa5='#undef HAVE_ALSA5'
5031 _def_alsa9='#undef HAVE_ALSA9'
5032 _def_alsa1x='#undef HAVE_ALSA1X'
5033 _def_sys_asoundlib_h='#undef HAVE_SYS_ASOUNDLIB_H'
5034 _def_alsa_asoundlib_h='#undef HAVE_ALSA_ASOUNDLIB_H'
5035 if test "$_alsaver" ; then
5036 _alsa=yes
5037 if test "$_alsaver" = '0.5.x' ; then
5038 _alsa5=yes
5039 _aosrc="$_aosrc ao_alsa5.c"
5040 _aomodules="alsa5 $_aomodules"
5041 _def_alsa5='#define HAVE_ALSA5 1'
5042 _def_sys_asoundlib_h='#define HAVE_SYS_ASOUNDLIB_H 1'
5043 _res_comment="using alsa 0.5.x and sys/asoundlib.h"
5044 elif test "$_alsaver" = '0.9.x-sys' ; then
5045 _alsa9=yes
5046 _aosrc="$_aosrc ao_alsa.c"
5047 _aomodules="alsa $_aomodules"
5048 _def_alsa9='#define HAVE_ALSA9 1'
5049 _def_sys_asoundlib_h='#define HAVE_SYS_ASOUNDLIB_H 1'
5050 _res_comment="using alsa 0.9.x and sys/asoundlib.h"
5051 elif test "$_alsaver" = '0.9.x-alsa' ; then
5052 _alsa9=yes
5053 _aosrc="$_aosrc ao_alsa.c"
5054 _aomodules="alsa $_aomodules"
5055 _def_alsa9='#define HAVE_ALSA9 1'
5056 _def_alsa_asoundlib_h='#define HAVE_ALSA_ASOUNDLIB_H 1'
5057 _res_comment="using alsa 0.9.x and alsa/asoundlib.h"
5058 elif test "$_alsaver" = '1.0.x-sys' ; then
5059 _alsa1x=yes
5060 _aosrc="$_aosrc ao_alsa.c"
5061 _aomodules="alsa $_aomodules"
5062 _def_alsa1x="#define HAVE_ALSA1X 1"
5063 _def_alsa_asoundlib_h='#define HAVE_SYS_ASOUNDLIB_H 1'
5064 _res_comment="using alsa 1.0.x and sys/asoundlib.h"
5065 elif test "$_alsaver" = '1.0.x-alsa' ; then
5066 _alsa1x=yes
5067 _aosrc="$_aosrc ao_alsa.c"
5068 _aomodules="alsa $_aomodules"
5069 _def_alsa1x="#define HAVE_ALSA1X 1"
5070 _def_alsa_asoundlib_h='#define HAVE_ALSA_ASOUNDLIB_H 1'
5071 _res_comment="using alsa 1.0.x and alsa/asoundlib.h"
5072 else
5073 _alsa=no
5074 _res_comment="unknown version"
5076 _ld_alsa="-lasound $_ld_dl $_ld_pthread"
5077 else
5078 _noaomodules="alsa $_noaomodules"
5080 echores "$_alsa"
5083 echocheck "Sun audio"
5084 if test "$_sunaudio" = auto ; then
5085 cat > $TMPC << EOF
5086 #include <sys/types.h>
5087 #include <sys/audioio.h>
5088 int main(void) { audio_info_t info; AUDIO_INITINFO(&info); return 0; }
5090 _sunaudio=no
5091 cc_check && _sunaudio=yes
5093 if test "$_sunaudio" = yes ; then
5094 _def_sunaudio='#define USE_SUN_AUDIO 1'
5095 _aosrc="$_aosrc ao_sun.c"
5096 _aomodules="sun $_aomodules"
5097 else
5098 _def_sunaudio='#undef USE_SUN_AUDIO'
5099 _noaomodules="sun $_noaomodules"
5101 echores "$_sunaudio"
5104 if sunos; then
5105 echocheck "Sun mediaLib"
5106 if test "$_mlib" = auto ; then
5107 _mlib=no
5108 cat > $TMPC << EOF
5109 #include <mlib.h>
5110 int main(void) { mlib_VideoColorYUV2ABGR420(0,0,0,0,0,0,0,0,0); return 0; }
5112 cc_check $_ld_mlib -lmlib && _mlib=yes
5114 if test "$_mlib" = yes ; then
5115 _def_mlib='#define HAVE_MLIB 1'
5116 _ld_mlib="$_ld_mlib `echo $_ld_mlib | sed s/^-L/-R/` -lmlib"
5117 else
5118 _def_mlib='#undef HAVE_MLIB'
5120 echores "$_mlib"
5121 fi #if sunos
5124 if irix; then
5125 echocheck "SGI audio"
5126 if test "$_sgiaudio" = auto ; then
5127 # check for SGI audio
5128 cat > $TMPC << EOF
5129 #include <dmedia/audio.h>
5130 int main(void) { return 0; }
5132 _sgiaudio=no
5133 cc_check && _sgiaudio=yes
5135 if test "$_sgiaudio" = "yes" ; then
5136 _def_sgiaudio='#define USE_SGI_AUDIO 1'
5137 _ld_sgiaudio='-laudio'
5138 _aosrc="$_aosrc ao_sgi.c"
5139 _aomodules="sgi $_aomodules"
5140 else
5141 _def_sgiaudio='#undef USE_SGI_AUDIO'
5142 _noaomodules="sgi $_noaomodules"
5144 echores "$_sgiaudio"
5145 fi #if irix
5148 echocheck "VCD support"
5149 if linux || bsdos || freebsd || netbsd || sunos || darwin ; then
5150 _inputmodules="vcd $_inputmodules"
5151 _def_vcd='#define HAVE_VCD 1'
5152 _vcd="yes"
5153 else
5154 _def_vcd='#undef HAVE_VCD'
5155 _noinputmodules="vcd $_noinputmodules"
5156 _res_comment="not supported on this OS"
5157 _vcd="no"
5159 echores "$_vcd"
5161 echocheck "DVD support (libdvdnav)"
5162 if test "$_dvdnav" = auto ; then
5163 $_dvdnavconfig --version >> $TMPLOG 2>&1 || _dvdnav=no
5165 if test "$_dvdnav" = auto ; then
5166 cat > $TMPC <<EOF
5167 #include <dvdnav.h>
5168 int main(void) { dvdnav_t *dvd=0; return 0; }
5170 _dvdnav=no
5171 _dvdnavdir=`$_dvdnavconfig --cflags`
5172 _dvdnavlibs=`$_dvdnavconfig --libs`
5173 _dvdnavvsn=`$_dvdnavconfig --version | sed "s/\.//g"`
5174 _used_css=
5175 _dvdnavmajor=`echo $_dvdnavvsn | cut -d. -f2`
5176 test "$_dvdnavmajor" -ge 2 -o "$_dvdnavvsn" -ge 0110 && \
5177 cc_check $_dvdnavdir $_dvdnavlibs $_used_css $_ld_dl $_ld_pthread && _dvdnav=yes
5179 if test "$_dvdnav" = yes ; then
5180 _largefiles=yes
5181 _def_dvdnav='#define USE_DVDNAV 1'
5182 _ld_dvdnav=`$_dvdnavconfig --libs`
5183 _dvdnav_version=`$_dvdnavconfig --version | sed "s/\.//g"`
5184 _def_dvdnav_version="#define DVDNAVVERSION $_dvdnav_version"
5185 _inc_extra="$_inc_extra `$_dvdnavconfig --cflags`"
5186 _inputmodules="dvdnav $_inputmodules"
5188 #disable mpdvdkit and dvdread checks: dvdread will be enabled using dvdnav's version of dvdread
5189 _mpdvdkit=no
5190 _dvdread=yes
5191 else
5192 _def_dvdnav='#undef USE_DVDNAV'
5193 _noinputmodules="dvdnav $_noinputmodules"
5195 echores "$_dvdnav"
5197 echocheck "DVD support (libmpdvdkit2)"
5198 if test "$_mpdvdkit" = auto ; then
5199 _mpdvdkit=no
5200 if linux || freebsd || netbsd || darwin || openbsd || win32 || sunos || hpux; then
5201 test -f "./libmpdvdkit2/Makefile" && _mpdvdkit=yes
5204 if test "$_mpdvdkit" = yes ; then
5205 if test "$_dvd" = yes || test "$_cdrom" = yes || test "$_cdio" = yes || test "$_dvdio" = yes || test "$_bsdi_dvd" = yes || test "$_hpux_scsi_h" = yes || darwin || win32 ; then
5206 _inputmodules="mpdvdkit2 $_inputmodules"
5207 _dvdread=libmpdvdkit2
5208 else
5209 _noinputmodules="mpdvdkit2 $_noinputmodules"
5211 _def_dvd_linux='#undef HAVE_LINUX_DVD_STRUCT'
5212 _def_dvd_bsd='#undef HAVE_BSD_DVD_STRUCT'
5213 _dev_dvd_openbsd='#undef HAVE_OPENBSD_DVD_STRUCT'
5214 _def_dvd_darwin='#undef DARWIN_DVD_IOCTL'
5215 if linux || netbsd || openbsd || bsdos ; then
5216 _def_dvd_linux='#define HAVE_LINUX_DVD_STRUCT 1'
5217 if openbsd ; then
5218 _dev_dvd_openbsd='#define HAVE_OPENBSD_DVD_STRUCT 1'
5220 else
5221 if freebsd ; then
5222 _def_dvd_bsd='#define HAVE_BSD_DVD_STRUCT 1'
5223 else
5224 if darwin ; then
5225 _def_dvd_darwin='#define DARWIN_DVD_IOCTL'
5229 else
5230 _noinputmodules="mpdvdkit2 $_noinputmodules"
5232 echores "$_mpdvdkit"
5234 echocheck "DVD support (libdvdread)"
5235 if test "$_dvdread" = auto ; then
5236 cat > $TMPC << EOF
5237 #include <inttypes.h>
5238 #include <dvdread/dvd_reader.h>
5239 #include <dvdread/ifo_types.h>
5240 #include <dvdread/ifo_read.h>
5241 #include <dvdread/nav_read.h>
5242 int main(void) { return 0; }
5244 _dvdread=no
5245 if test "$_dl" = yes; then
5246 cc_check \
5247 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -ldvdread $_ld_dl && \
5248 _dvdread=yes
5251 _def_mpdvdkit="#undef USE_MPDVDKIT"
5252 case "$_dvdread" in
5253 yes)
5254 _largefiles=yes
5255 _def_dvdread='#define USE_DVDREAD 1'
5256 if test "$_dvdnav" != yes ; then
5257 _ld_dvdread='-ldvdread'
5259 _inputmodules="dvdread $_inputmodules"
5260 _have_dvd=yes
5263 _def_dvdread='#undef USE_DVDREAD'
5264 _noinputmodules="dvdread $_noinputmodules"
5266 libmpdvdkit2)
5267 _largefiles=yes
5268 _def_dvdread='#define USE_DVDREAD 1'
5269 _ld_dvdread='-Llibmpdvdkit2 -lmpdvdkit'
5270 _noinputmodules="dvdread $_noinputmodules"
5271 _def_mpdvdkit="#define USE_MPDVDKIT 2"
5272 _have_dvd=yes
5273 _dvdread=no
5274 _res_comment="disabled by libmpdvdkit2"
5276 esac
5277 echores "$_dvdread"
5279 if test "$_have_dvd" = yes ; then
5280 _def_have_dvd='#define HAVE_DVD 1'
5281 else
5282 _def_have_dvd='#undef HAVE_DVD'
5286 echocheck "cdparanoia"
5287 if test "$_cdparanoia" = auto ; then
5288 cat > $TMPC <<EOF
5289 #include <cdda_interface.h>
5290 #include <cdda_paranoia.h>
5291 // This need a better test. How ?
5292 int main(void) { return 1; }
5294 _cdparanoia=no
5295 for _inc_tmp in "" "-I/usr/include/cdda" "-I/usr/local/include/cdda" ; do
5296 cc_check $_inc_tmp $_ld_cdparanoia -lcdda_interface -lcdda_paranoia $_ld_lm && \
5297 _cdparanoia=yes && _inc_extra="$_inc_extra $_inc_tmp" && break
5298 done
5300 if test "$_cdparanoia" = yes ; then
5301 _cdda='yes'
5302 _def_cdparanoia='#define HAVE_CDDA'
5303 _inputmodules="cdda $_inputmodules"
5304 _ld_cdparanoia="$_ld_cdparanoia -lcdda_interface -lcdda_paranoia"
5305 openbsd && _ld_cdparanoia="$_ld_cdparanoia -lutil"
5306 else
5307 _def_cdparanoia='#undef HAVE_CDDA'
5308 _noinputmodules="cdda $_noinputmodules"
5310 echores "$_cdparanoia"
5313 echocheck "libcdio"
5314 if test "$_libcdio" = auto && test "$_cdparanoia" = no ; then
5315 if pkg-config --exists libcdio ; then
5316 cat > $TMPC << EOF
5317 #include <stdio.h>
5318 #include <cdio/version.h>
5319 #include <cdio/cdda.h>
5320 #include <cdio/paranoia.h>
5321 int main()
5323 printf("%s\n", CDIO_VERSION);
5324 return 0;
5328 _libcdio=no
5329 for _inc_tmp in "" "-I/usr/include/cdio" "-I/usr/local/include/cdio" ; do
5330 cc_check `pkg-config --cflags --libs libcdio_paranoia` $_inc_tmp $_ld_lm \
5331 && tmp_run && _libcdio=yes && _inc_extra="$_inc_extra $_inc_tmp" && break
5332 done
5333 else
5334 _libcdio=no
5337 if test "$_libcdio" = yes && test "$_cdparanoia" = no ; then
5338 _cdda='yes'
5339 _def_libcdio='#define HAVE_LIBCDIO'
5340 _def_cdparanoia='#define HAVE_CDDA'
5341 _def_havelibcdio='yes'
5342 _inputmodules="cdda $_inputmodules"
5343 _inc_extra="$_inc_extra `pkg-config --cflags libcdio`"
5344 _ld_libcdio=`pkg-config --libs libcdio_paranoia`
5345 else
5346 if test "$_cdparanoia" = yes ; then
5347 _res_comment="using cdparanoia"
5349 _def_libcdio='#undef HAVE_LIBCDIO'
5350 _def_havelibcdio='no'
5352 echores "$_libcdio"
5355 echocheck "bitmap font support"
5356 if test "$_bitmap_font" = yes ; then
5357 _def_bitmap_font="#define HAVE_BITMAP_FONT 1"
5358 else
5359 _def_bitmap_font="#undef HAVE_BITMAP_FONT"
5361 echores "$_bitmap_font"
5364 echocheck "freetype >= 2.0.9"
5366 # freetype depends on iconv
5367 if test "$_iconv" = no ; then
5368 _freetype=no
5369 _res_comment="iconv support needed"
5372 if test "$_freetype" = auto ; then
5373 if ( $_freetypeconfig --version ) >/dev/null 2>&1 ; then
5374 cat > $TMPC << EOF
5375 #include <stdio.h>
5376 #include <ft2build.h>
5377 #include FT_FREETYPE_H
5378 #if ((FREETYPE_MAJOR < 2) || ((FREETYPE_MINOR == 0) && (FREETYPE_PATCH < 9)))
5379 #error "Need FreeType 2.0.9 or newer"
5380 #endif
5381 int main()
5383 FT_Library library;
5384 FT_Int major=-1,minor=-1,patch=-1;
5385 int err=FT_Init_FreeType(&library);
5386 if(err){
5387 printf("Couldn't initialize freetype2 lib, err code: %d\n",err);
5388 exit(err);
5390 FT_Library_Version(library,&major,&minor,&patch); // in v2.1.0+ only :(((
5391 printf("freetype2 header version: %d.%d.%d library version: %d.%d.%d\n",
5392 FREETYPE_MAJOR,FREETYPE_MINOR,FREETYPE_PATCH,
5393 (int)major,(int)minor,(int)patch );
5394 if(major!=FREETYPE_MAJOR || minor!=FREETYPE_MINOR){
5395 printf("Library and header version mismatch! Fix it in your distribution!\n");
5396 exit(1);
5398 return 0;
5401 _freetype=no
5402 cc_check `$_freetypeconfig --cflags` `$_freetypeconfig --libs` && tmp_run && _freetype=yes
5403 else
5404 _freetype=no
5407 if test "$_freetype" = yes ; then
5408 _def_freetype='#define HAVE_FREETYPE'
5409 _inc_extra="$_inc_extra `$_freetypeconfig --cflags`"
5410 _ld_freetype=`$_freetypeconfig --libs`
5411 else
5412 _def_freetype='#undef HAVE_FREETYPE'
5414 echores "$_freetype"
5416 if test "$_freetype" = no ; then
5417 _fontconfig=no
5418 _res_comment="freetype support needed"
5420 echocheck "fontconfig"
5421 if test "$_fontconfig" = auto ; then
5422 cat > $TMPC << EOF
5423 #include <stdio.h>
5424 #include <fontconfig/fontconfig.h>
5425 int main()
5427 int err = FcInit();
5428 if(err == FcFalse){
5429 printf("Couldn't initialize fontconfig lib\n");
5430 exit(err);
5432 return 0;
5436 _fontconfig=yes
5437 if cc_check -lfontconfig ; then
5438 _ld_fontconfig="-lfontconfig"
5439 elif cc_check `pkg-config --silence-errors --cflags --libs fontconfig` ; then
5440 _inc_extra="$_inc_extra `pkg-config --cflags fontconfig`"
5441 _ld_fontconfig=`pkg-config --libs fontconfig`
5442 else
5443 _fontconfig=no
5446 if test "$_fontconfig" = yes ; then
5447 _def_fontconfig='#define HAVE_FONTCONFIG'
5448 else
5449 _def_fontconfig='#undef HAVE_FONTCONFIG'
5451 echores "$_fontconfig"
5454 echocheck "SSA/ASS support"
5455 # libass depends on FreeType
5456 if test "$_freetype" = no ; then
5457 _ass=no
5458 _res_comment="FreeType support needed"
5461 if test "$_ass" = auto ; then
5462 cat > $TMPC << EOF
5463 #include <ft2build.h>
5464 #include FT_FREETYPE_H
5465 #if ((FREETYPE_MAJOR < 2) || (FREETYPE_MINOR < 1) || ((FREETYPE_MINOR == 1) && (FREETYPE_PATCH < 8)))
5466 #error "Need FreeType 2.1.8 or newer"
5467 #endif
5468 int main() { return 0; }
5470 _ass=no
5471 cc_check `$_freetypeconfig --cflags` `$_freetypeconfig --libs` && tmp_run && _ass=yes
5472 if test "$_ass" = no ; then
5473 _res_comment="FreeType >= 2.1.8 needed"
5476 if test "$_ass" = yes ; then
5477 _def_ass='#define USE_ASS'
5478 else
5479 _def_ass='#undef USE_ASS'
5481 echores "$_ass"
5484 echocheck "fribidi with charsets"
5485 if test "$_fribidi" = auto ; then
5486 if ( $_fribidiconfig --version ) >/dev/null 2>&1 ; then
5487 cat > $TMPC << EOF
5488 #include <stdio.h>
5489 /* workaround for fribidi 0.10.4 and below */
5490 #define FRIBIDI_CHARSET_UTF8 FRIBIDI_CHAR_SET_UTF8
5491 #include <fribidi/fribidi.h>
5492 int main()
5494 if(fribidi_parse_charset("UTF-8") != FRIBIDI_CHAR_SET_UTF8) {
5495 printf("Fribidi headers are not consistents with the library!\n");
5496 exit(1);
5498 return 0;
5501 _fribidi=no
5502 cc_check `$_fribidiconfig --cflags` `$_fribidiconfig --libs` && tmp_run && _fribidi=yes
5503 else
5504 _fribidi=no
5507 if test "$_fribidi" = yes ; then
5508 _def_fribidi='#define USE_FRIBIDI'
5509 _inc_extra="$_inc_extra `$_fribidiconfig --cflags`"
5510 _ld_fribidi=`$_fribidiconfig --libs`
5511 else
5512 _def_fribidi='#undef USE_FRIBIDI'
5514 echores "$_fribidi"
5517 echocheck "ENCA"
5518 if test "$_enca" = auto ; then
5519 cat > $TMPC << EOF
5520 #include <enca.h>
5521 int main()
5523 const char **langs;
5524 size_t langcnt;
5525 langs = enca_get_languages(&langcnt);
5526 return 0;
5529 _enca=no
5530 cc_check -lenca $_ld_lm && _enca=yes
5532 if test "$_enca" = yes ; then
5533 _def_enca='#define HAVE_ENCA 1'
5534 _ld_enca='-lenca'
5535 else
5536 _def_enca='#undef HAVE_ENCA'
5538 echores "$_enca"
5541 echocheck "zlib"
5542 cat > $TMPC << EOF
5543 #include <zlib.h>
5544 int main(void) { (void) inflate(0, Z_NO_FLUSH); return 0; }
5546 _zlib=no
5547 cc_check -lz && _zlib=yes
5548 if test "$_zlib" = yes ; then
5549 _def_zlib='#define HAVE_ZLIB 1'
5550 _ld_zlib='-lz'
5551 else
5552 _def_zlib='#undef HAVE_ZLIB'
5554 echores "$_zlib"
5557 echocheck "RTC"
5558 if test "$_rtc" = auto ; then
5559 cat > $TMPC << EOF
5560 #include <sys/ioctl.h>
5561 #ifdef __linux__
5562 #include <linux/rtc.h>
5563 #else
5564 #include <rtc.h>
5565 #define RTC_PIE_ON RTCIO_PIE_ON
5566 #endif
5567 int main(void) { return RTC_PIE_ON; }
5569 _rtc=no
5570 cc_check && _rtc=yes
5571 ppc && _rtc=no
5573 if test "$_rtc" = yes ; then
5574 _def_rtc='#define HAVE_RTC 1'
5575 else
5576 _def_rtc='#undef HAVE_RTC'
5578 echores "$_rtc"
5581 echocheck "external liblzo support"
5582 if test "$_liblzo" = auto ; then
5583 _liblzo=no
5584 cat > $TMPC << EOF
5585 #include <lzo1x.h>
5586 int main(void) { lzo_init();return 0; }
5588 cc_check -llzo && _liblzo=yes
5590 if test "$_liblzo" = yes ; then
5591 _def_liblzo='#define USE_LIBLZO 1'
5592 _ld_liblzo='-llzo'
5593 _codecmodules="liblzo $_codecmodules"
5594 else
5595 _def_liblzo='#undef USE_LIBLZO'
5596 _nocodecmodules="liblzo $_nocodecmodules"
5598 echores "$_liblzo"
5601 echocheck "mad support"
5602 if test "$_mad" = auto ; then
5603 _mad=no
5604 cat > $TMPC << EOF
5605 #include <mad.h>
5606 int main(void) { return 0; }
5608 cc_check -lmad && _mad=yes
5610 if test "$_mad" = yes ; then
5611 _def_mad='#define USE_LIBMAD 1'
5612 _ld_mad='-lmad'
5613 _codecmodules="libmad $_codecmodules"
5614 else
5615 _def_mad='#undef USE_LIBMAD'
5616 _nocodecmodules="libmad $_nocodecmodules"
5618 echores "$_mad"
5620 echocheck "Toolame"
5621 if test "$_toolame" = auto ; then
5622 cat > $TMPC <<EOF
5623 #include <toolame.h>
5624 int main(void) { toolame_init(); return 0; }
5626 _toolame=no
5627 cc_check $_ld_toolame -ltoolame $_ld_lm && _toolame=yes
5629 if test "$_toolame" = yes ; then
5630 _def_toolame='#define HAVE_TOOLAME 1'
5631 _toolame_lib="-ltoolame"
5632 _codecmodules="toolame $_codecmodules"
5633 else
5634 _def_toolame='#undef HAVE_TOOLAME'
5635 _nocodecmodules="toolame $_nocodecmodules"
5637 if test "$_toolamedir" ; then
5638 _res_comment="using $_toolamedir"
5640 echores "$_toolame"
5642 echocheck "Twolame"
5643 if test "$_twolame" = auto ; then
5644 cat > $TMPC <<EOF
5645 #include <twolame.h>
5646 int main(void) { twolame_init(); return 0; }
5648 _twolame=no
5649 _twolame_lib="-ltwolame"
5650 cc_check $_twolame_lib $_ld_lm && _twolame=yes
5652 if test "$_twolame" = yes ; then
5653 _def_twolame='#define HAVE_TWOLAME 1'
5654 _codecmodules="twolame $_codecmodules"
5655 else
5656 _def_twolame='#undef HAVE_TWOLAME'
5657 _twolame_lib=""
5658 _nocodecmodules="twolame $_nocodecmodules"
5660 echores "$_twolame"
5662 echocheck "OggVorbis support"
5663 if test "$_tremor_internal" = yes; then
5664 _libvorbis=no
5665 elif test "$_tremor_external" = auto; then
5666 _tremor_external=no
5667 cat > $TMPC << EOF
5668 #include <tremor/ivorbiscodec.h>
5669 int main(void) { vorbis_packet_blocksize(0,0); return 0; }
5671 cc_check -logg -lvorbisidec $_ld_lm && _tremor_external=yes && _libvorbis=no
5673 if test "$_libvorbis" = auto; then
5674 _libvorbis=no
5675 cat > $TMPC << EOF
5676 #include <vorbis/codec.h>
5677 int main(void) { vorbis_packet_blocksize(0,0); return 0; }
5679 cc_check -lvorbis -logg $_ld_lm && _libvorbis=yes
5681 if test "$_tremor_internal" = yes ; then
5682 _vorbis=yes
5683 _def_vorbis='#define HAVE_OGGVORBIS 1'
5684 _def_tremor='#define TREMOR 1'
5685 _codecmodules="tremor(internal) $_codecmodules"
5686 _res_comment="internal Tremor"
5687 if test "$_tremor_low" = yes ; then
5688 _tremor_flags='-D_LOW_ACCURACY_'
5689 _res_comment="internal low accuracy Tremor"
5691 elif test "$_tremor_external" = yes ; then
5692 _vorbis=yes
5693 _def_vorbis='#define HAVE_OGGVORBIS 1'
5694 _def_tremor='#define TREMOR 1'
5695 _codecmodules="tremor(external) $_codecmodules"
5696 _res_comment="external Tremor"
5697 _ld_vorbis='-logg -lvorbisidec'
5698 elif test "$_libvorbis" = yes ; then
5699 _vorbis=yes
5700 _def_vorbis='#define HAVE_OGGVORBIS 1'
5701 _codecmodules="libvorbis $_codecmodules"
5702 _res_comment="libvorbis"
5703 _ld_vorbis='-lvorbis -logg'
5704 else
5705 _vorbis=no
5706 _nocodecmodules="libvorbis $_nocodecmodules"
5708 echores "$_vorbis"
5710 echocheck "libspeex (version >= 1.1 required)"
5711 if test "$_speex" = auto ; then
5712 _speex=no
5713 cat > $TMPC << EOF
5714 #include <speex/speex.h>
5715 int main(void) {
5716 SpeexBits bits;
5717 void *dec;
5718 speex_decode_int(dec, &bits, dec);
5721 cc_check -lspeex $_ld_lm && _speex=yes
5723 if test "$_speex" = yes ; then
5724 _def_speex='#define HAVE_SPEEX 1'
5725 _ld_speex='-lspeex'
5726 _codecmodules="speex $_codecmodules"
5727 else
5728 _def_speex='#undef HAVE_SPEEX'
5729 _nocodecmodules="speex $_nocodecmodules"
5731 echores "$_speex"
5733 echocheck "OggTheora support"
5734 if test "$_theora" = auto ; then
5735 _theora=no
5736 cat > $TMPC << EOF
5737 #include <theora/theora.h>
5738 #include <string.h>
5739 int main(void)
5741 /* theora is in flux, make sure that all interface routines and
5742 * datatypes exist and work the way we expect it, so we don't break
5743 * mplayer */
5744 ogg_packet op;
5745 theora_comment tc;
5746 theora_info inf;
5747 theora_state st;
5748 yuv_buffer yuv;
5749 int r;
5750 double t;
5752 theora_info_init (&inf);
5753 theora_comment_init (&tc);
5755 return 0;
5757 /* we don't want to execute this kind of nonsense; just for making sure
5758 * that compilation works... */
5759 memset(&op, 0, sizeof(op));
5760 r = theora_decode_header (&inf, &tc, &op);
5761 r = theora_decode_init (&st, &inf);
5762 t = theora_granule_time (&st, op.granulepos);
5763 r = theora_decode_packetin (&st, &op);
5764 r = theora_decode_YUVout (&st, &yuv);
5765 theora_clear (&st);
5767 return 0;
5770 for _ld_theora in "`pkg-config --silence-errors --libs --cflags theora`" "-ltheora"; do
5771 cc_check $_ld_theora && _theora=yes && break
5772 done
5773 if test "$_theora" = no && test "$_tremor_internal" = yes; then
5774 for _ld_theora in "`pkg-config --silence-errors --libs --cflags theora`" "-ltheora"; do
5775 cc_check -I. tremor/bitwise.c $_ld_theora && _theora=yes && break
5776 done
5779 if test "$_theora" = yes ; then
5780 _def_theora='#define HAVE_OGGTHEORA 1'
5781 _codecmodules="libtheora $_codecmodules"
5782 # when --enable-theora is forced, we'd better provide a probably sane
5783 # $_ld_theora than nothing
5784 test -z "$_ld_theora" && _ld_theora="-ltheora -logg"
5785 else
5786 _def_theora='#undef HAVE_OGGTHEORA'
5787 _nocodecmodules="libtheora $_nocodecmodules"
5788 _ld_theora=""
5790 echores "$_theora"
5792 echocheck "mp3lib support"
5793 if test "$_mp3lib" = yes ; then
5794 _def_mp3lib='#define USE_MP3LIB 1'
5795 _codecmodules="mp3lib $_codecmodules"
5796 else
5797 _def_mp3lib='#undef USE_MP3LIB'
5798 _nocodecmodules="mp3lib $_nocodecmodules"
5800 echores "$_mp3lib"
5802 echocheck "liba52 support"
5803 if test "$_liba52" = yes ; then
5804 _def_liba52='#define USE_LIBA52 1'
5805 _codecmodules="liba52 $_codecmodules"
5806 else
5807 _def_liba52='#undef USE_LIBA52'
5808 _nocodecmodules="liba52 $_nocodecmodules"
5810 echores "$_liba52"
5812 echocheck "libdts support"
5813 if test "$_libdts" = auto ; then
5814 _libdts=no
5815 cat > $TMPC << EOF
5816 #include <inttypes.h>
5817 #include <dts.h>
5818 int main(void) { dts_init (0); return 0; }
5820 cc_check $_ld_libdts -ldts $_ld_lm && _libdts=yes
5822 if test "$_libdts" = yes ; then
5823 _def_libdts='#define CONFIG_DTS 1'
5824 _ld_libdts="$_ld_libdts -ldts"
5825 _codecmodules="libdts $_codecmodules"
5826 else
5827 _def_libdts='#undef CONFIG_DTS'
5828 _nocodecmodules="libdts $_nocodecmodules"
5830 echores "$_libdts"
5832 echocheck "libmpeg2 support"
5833 if test "$_libmpeg2" = yes ; then
5834 _def_libmpeg2='#define USE_LIBMPEG2 1'
5835 _codecmodules="libmpeg2 $_codecmodules"
5836 else
5837 _def_libmpeg2='#undef USE_LIBMPEG2'
5838 _nocodecmodules="libmpeg2 $_nocodecmodules"
5840 echores "$_libmpeg2"
5842 echocheck "libmpcdec (musepack, version >= 1.2.1 required)"
5843 if test "$_musepack" = auto ; then
5844 _musepack=no
5845 cat > $TMPC << EOF
5846 #include <mpcdec/mpcdec.h>
5847 int main(void) {
5848 mpc_streaminfo info;
5849 mpc_decoder decoder;
5850 mpc_decoder_set_streaminfo(&decoder, &info);
5851 mpc_decoder_decode_frame(&decoder, NULL, 0, NULL);
5854 cc_check -lmpcdec $_ld_lm && _musepack=yes
5856 if test "$_musepack" = yes ; then
5857 _def_musepack='#define HAVE_MUSEPACK 1'
5858 _ld_musepack='-lmpcdec'
5859 _codecmodules="musepack $_codecmodules"
5860 else
5861 _def_musepack='#undef HAVE_MUSEPACK'
5862 _nocodecmodules="musepack $_nocodecmodules"
5864 echores "$_musepack"
5867 echocheck "FAAC (AAC encoder) support"
5868 if test "$_faac" = auto ; then
5869 cat > $TMPC <<EOF
5870 #include <inttypes.h>
5871 #include <faac.h>
5872 int main(void) { unsigned long x, y; faacEncOpen(48000, 2, &x, &y); return 0; }
5874 _faac=no
5875 for _ld_tmp in "-lfaac" "-lfaac -lmp4v2 -lstdc++" ; do
5876 cc_check -c -O4 $_ld_tmp $_ld_lm && _ld_faac="$_ld_tmp" && _faac=yes && break
5877 done
5879 if test "$_faac" = yes ; then
5880 _def_faac="#define HAVE_FAAC 1"
5881 _def_lavc_faac="#define CONFIG_FAAC 1"
5882 _codecmodules="faac $_codecmodules"
5883 else
5884 _def_faac="#undef HAVE_FAAC"
5885 _nocodecmodules="faac $_nocodecmodules"
5887 echores "$_faac"
5890 echocheck "FAAD2 (AAC) support"
5891 if test "$_faad_internal" = auto ; then
5892 if x86 && test cc_vendor=gnu; then
5893 case $cc_version in
5894 3.1*|3.2) # ICE/insn with these versions
5895 _faad_internal=no
5896 _res_comment="broken gcc"
5899 _faad_internal=yes
5901 esac
5902 else
5903 _faad_internal=yes
5905 elif test "$_faad_internal" = no && test "$_faad_external" = auto ; then
5906 _ld_faad='-lfaad'
5907 _faad_external=no
5908 cat > $TMPC << EOF
5909 #include <faad.h>
5910 #ifndef FAAD_MIN_STREAMSIZE
5911 #error Too old version
5912 #endif
5913 int main(void) { faacDecHandle testhand; faacDecFrameInfo testinfo; testhand = faacDecOpen(); faacDecInit(0, 0, 0, 0, 0); return 0; }
5915 cc_check $_ld_faad $_ld_lm && _faad_external=yes
5918 if test "$_faad_internal" = yes ; then
5919 _def_faad_internal="#define USE_FAAD_INTERNAL 1"
5920 _faad=yes
5921 elif test "$_faad_external" = yes ; then
5922 _faad=yes
5923 else
5924 _def_faad_internal="#undef USE_FAAD_INTERNAL"
5925 _faad=no
5928 if test "$_faad" = yes ; then
5929 _def_faad='#define HAVE_FAAD 1'
5930 _codecmodules="faad2 $_codecmodules"
5931 else
5932 _def_faad='#undef HAVE_FAAD'
5933 _nocodecmodules="faad2 $_nocodecmodules"
5934 _ld_faad=
5936 echores "$_faad"
5939 echocheck "LADSPA plugin support"
5940 if test "$_ladspa" = auto ; then
5941 cat > $TMPC <<EOF
5942 #include <stdio.h>
5943 #include <ladspa.h>
5944 int main(void) {
5945 const LADSPA_Descriptor *ld = NULL;
5946 return 0;
5949 _ladspa=no
5950 cc_check && _ladspa=yes
5952 if test "$_ladspa" = yes; then
5953 _def_ladspa="#define HAVE_LADSPA"
5954 _afsrc="$_afsrc af_ladspa.c"
5955 _afmodules="ladspa $_afmodules"
5956 else
5957 _def_ladspa="#undef HAVE_LADSPA"
5958 _noafmodules="ladspa $_noafmodules"
5960 echores "$_ladspa"
5964 if x86 && not qnx; then
5966 if test "$_win32" = auto ; then
5967 if test -z "$_win32libdir" ; then
5968 for I in "$_libdir/codecs" "$_libdir/win32" /usr/local/lib/codecs /usr/lib/codecs /usr/local/lib/win32 /usr/lib/win32 ; do
5969 if test -d "$I" ; then
5970 _win32libdir="$I"
5971 break;
5973 done
5974 # Fall back on a subfolder of the current dir on Windows
5975 mingw32 && _win32libdir="codecs"
5979 echocheck "Win32 codec DLL support"
5980 if test "$_win32" = auto ; then
5981 _win32=no
5982 test -n "$_win32libdir" && _win32=yes
5984 if test "$_win32" = yes ; then
5985 _def_win32='#define USE_WIN32DLL 1'
5986 _res_comment="using $_win32libdir"
5987 else
5988 _def_win32='#undef USE_WIN32DLL'
5989 _nocodecmodules="win32 $_nocodecmodules"
5991 echores "$_win32"
5993 if test "$_win32" != no ; then
5994 _def_win32_loader='#undef WIN32_LOADER'
5995 echocheck "Win32 loader support"
5996 _ld_win32='loader/libloader.a loader/dshow/libDS_Filter.a loader/dmo/libDMO_Filter.a'
5997 _dep_win32='loader/libloader.a loader/dshow/libDS_Filter.a loader/dmo/libDMO_Filter.a'
5998 _codecmodules="win32 $_codecmodules"
5999 if openbsd ; then
6000 x86 && _ld_win32="$_ld_win32 -li386"
6002 if not win32 ; then
6003 _def_win32_loader='#define WIN32_LOADER 1'
6004 else
6005 _ld_win32libs="$_ld_win32libs -ladvapi32 -lole32"
6006 _res_comment="using native windows"
6008 echores "$_win32"
6011 fi #if x86 && not qnx
6015 echocheck "XAnim DLL"
6016 if test "$_xanim" = auto ; then
6017 _xanim=no
6018 _res_comment="dynamic loader support needed"
6019 if test "$_dl" = yes ; then
6020 _res_comment="no suitable directory found - see DOCS/HTML/$_doc_lang/codecs.html"
6021 if test -z "$_xanimlibdir" ; then
6022 for I in "$_libdir/codecs" /usr/local/lib/xanim/mods /usr/lib/xanim/mods /usr/lib/xanim $XANIM_MOD_DIR ; do
6023 if test -d "$I" ; then
6024 _xanimlibdir="$I"
6025 break;
6027 done
6029 test "$_xanimlibdir" && _xanim=yes
6032 if test "$_xanim" = yes ; then
6033 _def_xanim='#define USE_XANIM 1'
6034 _def_xanim_path="#define XACODEC_PATH \"$_xanimlibdir\""
6035 _codecmodules="xanim $_codecmodules"
6036 _res_comment="using $_xanimlibdir"
6037 else
6038 _def_xanim='#undef USE_XANIM'
6039 _def_xanim_path='#undef XACODEC_PATH'
6040 _nocodecmodules="xanim $_nocodecmodules"
6042 echores "$_xanim"
6044 echocheck "RealPlayer DLL"
6045 if test "$_real" = auto ; then
6046 _real=no
6047 _res_comment="dynamic loader support needed"
6048 if test "$_dl" = yes || test "$_win32" = yes ; then
6049 # if test "$_dl" = yes ; then
6050 _res_comment="tested only on Linux/FreeBSD/NetBSD/Cygwin/MinGW/Darwin"
6051 if linux || freebsd || netbsd || win32 || darwin ; then
6052 _res_comment="no suitable directory found - see DOCS/HTML/$_doc_lang/codecs.html"
6053 if test -z "$_reallibdir" ; then
6054 for I in "$_libdir/codecs" "$_libdir/real" /usr/lib/real \
6055 /usr/lib/RealPlayer{9,8,}/Codecs /usr/local/RealPlayer{9,8,}/Codecs \
6056 /usr/local/lib/RealPlayer{9,8,}/Codecs /opt/RealPlayer{9,8,}/{Real/,}Codecs \
6057 {~,}/Applications/RealOne\ Player.app/Contents/MacOS/Library/Codecs \
6058 "$_win32libdir"; do
6059 if test -d "$I" ; then
6060 _reallibdir="$I"
6061 break
6063 # Fall back on a subfolder of the current dir on Windows
6064 mingw32 && _reallibdir="codecs"
6065 done
6067 test "$_reallibdir" && _real=yes
6071 if test "$_real" = yes ; then
6072 _def_real='#define USE_REALCODECS 1'
6073 _def_real_path="#define REALCODEC_PATH \"$_reallibdir\""
6074 _codecmodules="real $_codecmodules"
6075 _res_comment="using $_reallibdir"
6076 else
6077 _def_real='#undef USE_REALCODECS'
6078 _def_real_path="#undef REALCODEC_PATH"
6079 _nocodecmodules="real $_nocodecmodules"
6081 echores "$_real"
6084 echocheck "LIVE555 Streaming Media libraries"
6085 if test "$_live" = auto && test "$_network" = yes ; then
6086 cat > $TMPCPP << EOF
6087 #include <liveMedia.hh>
6088 #if (LIVEMEDIA_LIBRARY_VERSION_INT < 1090195200)
6089 #error Please upgrade to version 2004.07.19 or later of the "LIVE555 Streaming Media" libraries - available from <www.live555.com/liveMedia/>
6090 #endif
6091 int main(void) {}
6094 _live=no
6095 for I in "$_livelibdir" "$_libdir/live" "/usr/lib/live" "/usr/local/live" "/usr/local/lib/live" ; do
6096 cxx_check -I$I/liveMedia/include -I$I/UsageEnvironment/include -I$I/groupsock/include && _livelibdir=$I && _live=yes && break
6097 done
6098 if test "$_live" != yes ; then
6099 if cxx_check -I/usr/include/liveMedia -I/usr/include/UsageEnvironment -I/usr/include/groupsock; then
6100 _live_dist=yes
6104 if test "$_live" = yes && test "$_network" = yes ; then
6105 _res_comment="using $_livelibdir"
6106 _def_live='#define STREAMING_LIVE555 1'
6107 _ld_live="$_livelibdir/liveMedia/libliveMedia.a \
6108 $_livelibdir/groupsock/libgroupsock.a \
6109 $_livelibdir/UsageEnvironment/libUsageEnvironment.a \
6110 $_livelibdir/BasicUsageEnvironment/libBasicUsageEnvironment.a \
6111 -lstdc++"
6112 _inc_extra="$_inc_extra -I$_livelibdir/liveMedia/include \
6113 -I$_livelibdir/UsageEnvironment/include \
6114 -I$_livelibdir/BasicUsageEnvironment/include \
6115 -I$_livelibdir/groupsock/include"
6116 _inputmodules="live555 $_inputmodules"
6117 elif test "$_live_dist" = yes && test "$_network" = yes ; then
6118 _res_comment="using distribution version"
6119 _live="yes"
6120 _def_live='#define STREAMING_LIVE555 1'
6121 _ld_live="-lliveMedia -lgroupsock -lUsageEnvironment -lBasicUsageEnvironment -lstdc++"
6122 _inc_extra="$_inc_extra -I/usr/include/liveMedia -I/usr/include/UsageEnvironment \
6123 -I/usr/include/BasicUsageEnvironment -I/usr/include/groupsock"
6124 _inputmodules="live555 $_inputmodules"
6125 else
6126 _def_live='#undef STREAMING_LIVE555'
6127 _noinputmodules="live555 $_noinputmodules"
6129 echores "$_live"
6132 echocheck "FFmpeg libavutil (static)"
6133 if test "$_libavutil" = auto ; then
6134 if test -d libavutil ; then
6135 _libavutil=yes
6136 else
6137 _libavutil=no
6140 echores "$_libavutil"
6142 echocheck "FFmpeg libavcodec (static)"
6143 if test "$_libavcodec" = auto ; then
6144 # Note: static linking is preferred to dynamic linking
6145 _libavcodec=no
6146 _res_comment="see DOCS/HTML/$_doc_lang/codecs.html"
6147 if test -d libavcodec && test -f libavcodec/utils.c ; then
6148 _res_comment="old ffmpeg version, use CVS !"
6149 if grep avcodec_find_encoder_by_name libavcodec/utils.c > /dev/null 2>&1 ; then
6150 # check if libavutil is a required
6151 cat > $TMPC << EOF
6152 #include "libavcodec/avcodec.h"
6153 #if LIBAVCODEC_BUILD >= 3211265
6154 #error We need libavutil!
6155 #endif
6156 int main(void) { return 0; }
6159 if cc_check -I. -I./libavutil; then
6160 _libavutil_required="no"
6161 else
6162 _libavutil_required="yes"
6164 _res_comment="libavutil availability does not fit libavcodec version"
6165 if test "$_libavutil_required" = "$_libavutil"; then
6166 _libavcodec="yes"
6167 _res_comment=""
6172 echores "$_libavcodec"
6174 echocheck "FFmpeg libavformat (static)"
6175 if test "$_libavformat" = auto ; then
6176 # Note: static linking is preferred to dynamic linking
6177 _libavformat=no
6178 if test -d libavformat && test -f libavformat/utils.c ; then
6179 _libavformat=yes
6182 echores "$_libavformat"
6184 echocheck "FFmpeg libpostproc (static)"
6185 if test "$_libpostproc" = auto ; then
6186 _libpostproc=no
6187 if test -d libpostproc && test -f libpostproc/postprocess.h ; then
6188 _libpostproc='yes'
6191 echores "$_libpostproc"
6194 if test "$_libavutil" != yes ; then
6195 echocheck "FFmpeg libavutil (dynamic)"
6196 if test "$_libavutil_so" = auto ; then
6197 _libavutil_so=no
6198 cat > $TMPC << EOF
6199 #include <ffmpeg/common.h>
6200 int main(void) { ff_gcd(1,1); return 0; }
6202 if pkg-config --exists libavutil ; then
6203 _inc_libavutil=`pkg-config --cflags libavutil`
6204 _ld_libavutil=`pkg-config --libs libavutil`
6205 cc_check $_inc_libavutil $_ld_libavutil && _libavutil_so=yes
6206 elif cc_check -lavutil $_ld_lm ; then
6207 _libavutil_so=yes
6209 if test "$_libavutil_so" == yes ; then
6210 _res_comment="using libavutil.so, but static libavutil is recommended"
6213 # neither static nor shared libavutil is available, but it is mandatory ...
6214 if test "$_libavutil_so" = no ; then
6215 die "You need static or shared libavutil, MPlayer will not compile without!"
6217 echores "$_libavutil_so"
6218 fi #if test "$_libavutil" != yes ; then
6220 if test "$_libavcodec" != yes ; then
6221 echocheck "FFmpeg libavcodec (dynamic)"
6222 if test "$_libavcodec_so" = auto ; then
6223 _libavcodec_so=no
6224 _res_comment="libavcodec.so is broken/obsolete"
6225 # FIXME : check for avcodec_find_encoder_by_name() for mencoder
6226 cat > $TMPC << EOF
6227 #include <ffmpeg/avcodec.h>
6228 int main(void) {
6229 avcodec_find_encoder_by_name("");
6230 return 0;
6233 if pkg-config --exists libavcodec ; then
6234 _inc_libavcodec=`pkg-config --cflags libavcodec`
6235 _ld_libavcodec=`pkg-config --libs libavcodec`
6236 cc_check $_inc_libavcodec $_ld_libavcodec && _libavcodec_so=yes
6237 elif cc_check -lavcodec $_ld_lm ; then
6238 _libavcodec_so=yes
6240 if test "$_libavcodec_so" == yes ; then
6241 _res_comment="using libavcodec.so, but static libavcodec is recommended"
6244 echores "$_libavcodec_so"
6245 fi #if test "$_libavcodec" != yes ; then
6247 if test "$_libavformat" != yes ; then
6248 echocheck "FFmpeg libavformat (dynamic)"
6249 if test "$_libavformat_so" = auto ; then
6250 _libavformat_so=no
6251 cat > $TMPC <<EOF
6252 #include <ffmpeg/avformat.h>
6253 #include <ffmpeg/opt.h>
6254 int main(void) { av_alloc_format_context(); return 0; }
6256 if pkg-config --exists libavformat ; then
6257 _inc_libavformat=`pkg-config --cflags libavformat`
6258 _ld_libavformat=`pkg-config --libs libavformat`
6259 cc_check $_inc_libavformat $_ld_libavformat && _libavformat_so=yes
6260 elif cc_check $_ld_lm -lavformat ; then
6261 _libavformat_so=yes
6263 if test "$_libavformat_so" == yes ; then
6264 _res_comment="using libavformat.so, but static libavformat is recommended"
6267 echores "$_libavformat_so"
6268 fi #if test "$_libavformat" != yes ; then
6270 if test "$_libpostproc" != yes ; then
6271 echocheck "FFmpeg libpostproc (dynamic)"
6272 if test "$_libpostproc_so" = auto ; then
6273 _libpostproc_so=no
6274 cat > $TMPC << EOF
6275 #define USE_LIBPOSTPROC 1
6276 #include <inttypes.h>
6277 #include <postproc/postprocess.h>
6278 int main(void) {
6279 pp_get_mode_by_name_and_quality("de", 0);
6280 return 0;}
6282 if cc_check -lpostproc $_ld_lm ; then
6283 _libpostproc_so=yes
6284 _res_comment="using libpostproc.so, but static libpostproc is recommended"
6287 echores "$_libpostproc_so"
6288 fi #if test "$_libpostproc" != yes ; then
6290 _def_libavutil='#undef USE_LIBAVUTIL'
6291 _def_libavutil_so='#undef USE_LIBAVUTIL_SO'
6292 if test "$_libavutil" = yes ; then
6293 _def_libavutil='#define USE_LIBAVUTIL 1'
6294 elif test "$_libavutil_so" = yes ; then
6295 _def_libavutil_so='#define USE_LIBAVUTIL_SO 1'
6298 _def_libavcodec='#undef USE_LIBAVCODEC'
6299 _def_libavcodec_so='#undef USE_LIBAVCODEC_SO'
6300 _def_lavc_dsputil='#undef USE_LIBAVCODEC_DSPUTIL'
6301 if test "$_libavcodec_mpegaudio_hp" = yes ; then
6302 _def_libavcodec_mpegaudio_hp='#define CONFIG_MPEGAUDIO_HP 1'
6304 if test "$_libavcodec" = yes ; then
6305 _def_libavcodec='#define USE_LIBAVCODEC 1'
6306 _def_lavc_dsputil='#define USE_LIBAVCODEC_DSPUTIL'
6307 _ld_libavcodec='libavcodec/libavcodec.a'
6308 _dep_libavcodec='libavcodec/libavcodec.a'
6309 _codecmodules="libavcodec $_codecmodules"
6310 if test "$_libavutil" = yes; then
6311 _ld_libavutil='libavutil/libavutil.a'
6312 _dep_libavutil='libavutil/libavutil.a'
6314 elif test "$_libavcodec_so" = yes ; then
6315 _def_libavcodec='#define USE_LIBAVCODEC 1'
6316 _def_libavcodec_so='#define USE_LIBAVCODEC_SO 1'
6317 test "$_ld_libavcodec" || _ld_libavcodec='-lavcodec'
6318 _codecmodules="libavcodec.so $_codecmodules"
6319 else
6320 _nocodecmodules="libavcodec $_nocodecmodules"
6323 _def_libavformat='#undef USE_LIBAVFORMAT'
6324 _def_libavformat_so='#undef USE_LIBAVFORMAT_SO'
6325 _def_libavformat_win32='#undef CONFIG_WIN32'
6326 if test "$_libavformat" = yes ; then
6327 _def_libavformat='#define USE_LIBAVFORMAT 1'
6328 _ld_libavformat='libavformat/libavformat.a'
6329 _dep_libavformat='libavformat/libavformat.a'
6330 if win32 ; then
6331 _def_libavformat_win32='#define CONFIG_WIN32 1'
6333 else
6334 if test "$_libavformat_so" = yes ; then
6335 _def_libavformat_so='#define USE_LIBAVFORMAT_SO 1'
6336 test "$_ld_libavformat" || _ld_libavformat='-lavformat'
6337 if win32 ; then
6338 _def_libavformat_win32='#define CONFIG_WIN32 1'
6343 _def_libpostproc='#undef USE_LIBPOSTPROC'
6344 _def_libpostproc_so='#undef USE_LIBPOSTPROC_SO'
6345 if test "$_libpostproc" = yes ; then
6346 _def_libpostproc='#define USE_LIBPOSTPROC 1'
6347 _ld_libpostproc='libpostproc/libpostproc.a'
6348 _dep_libpostproc='libpostproc/libpostproc.a'
6349 else
6350 if test "$_libpostproc_so" = yes ; then
6351 _def_libpostproc_so='#define USE_LIBPOSTPROC_SO 1'
6352 _ld_libpostproc='-lpostproc'
6356 echocheck "md5sum support"
6357 if test "$_md5sum" = yes; then
6358 _def_md5sum="#define HAVE_MD5SUM"
6359 _vosrc="$_vosrc vo_md5sum.c"
6360 _vomodules="md5sum $_vomodules"
6361 else
6362 _def_md5sum="#undef HAVE_MD5SUM"
6363 _novomodules="md5sum $_novomodules"
6365 echores "$_md5sum"
6367 echocheck "AMR narrowband"
6368 if test "$_amr_nb" = auto ; then
6369 _amr_nb=no
6370 if test -f libavcodec/amr_float/sp_dec.c ; then
6371 if test "$_libavcodec" = yes ; then
6372 _amr_nb=yes
6373 else
6374 _res_comment="libavcodec (static) is required by amr_nb, sorry"
6378 if test "$_amr_nb" = yes ; then
6379 _amr=yes
6380 _def_amr='#define CONFIG_AMR 1'
6381 _def_amr_nb='#define CONFIG_AMR_NB 1'
6382 else
6383 _def_amr_nb='#undef CONFIG_AMR_NB'
6385 echores "$_amr_nb"
6387 echocheck "AMR narrowband, fixed point"
6388 if test "$_amr_nb_fixed" = auto ; then
6389 _amr_nb_fixed=no
6390 if test -f libavcodec/amr/dtx_dec.c ; then
6391 if test "$_libavcodec" = yes ; then
6392 if test "$_amr_nb" = no ; then
6393 _amr_nb_fixed=yes
6394 else
6395 _res_comment="disabled by amr_nb"
6397 else
6398 _res_comment="libavcodec (static) is required by amr_nb-fixed, sorry"
6402 if test "$_amr_nb_fixed" = yes ; then
6403 _amr=yes
6404 _def_amr='#define CONFIG_AMR 1'
6405 _def_amr_nb_fixed='#define CONFIG_AMR_NB_FIXED 1'
6406 else
6407 _def_amr_nb_fixed='#undef CONFIG_AMR_NB_FIXED'
6409 echores "$_amr_nb_fixed"
6411 if test "$_amr_nb" = yes || test "$_amr_nb_fixed" = yes ; then
6412 _codecmodules="amr_nb $_codecmodules"
6413 else
6414 _nocodecmodules="amr_nb $_nocodecmodules"
6417 echocheck "AMR wideband"
6418 if test "$_amr_wb" = auto ; then
6419 _amr_wb=no
6420 if test -f libavcodec/amrwb_float/dec_dtx.c ; then
6421 if test "$_libavcodec" = yes ; then
6422 _amr_wb=yes
6423 else
6424 _res_comment="libavcodec (static) is required by amr_wb, sorry"
6428 if test "$_amr_wb" = yes ; then
6429 _amr=yes
6430 _def_amr='#define CONFIG_AMR 1'
6431 _def_amr_wb='#define CONFIG_AMR_WB 1'
6432 _codecmodules="amr_wb $_codecmodules"
6433 else
6434 _def_amr_wb='#undef CONFIG_AMR_WB'
6435 _nocodecmodules="amr_wb $_nocodecmodules"
6437 echores "$_amr_wb"
6439 echocheck "libdv-0.9.5+"
6440 if test "$_libdv" = auto ; then
6441 _libdv=no
6442 cat > $TMPC <<EOF
6443 #include <libdv/dv.h>
6444 int main(void) { dv_encoder_t* enc=dv_encoder_new(1,1,1); return 0; }
6446 cc_check -ldv $_ld_lm && _libdv=yes
6448 if test "$_libdv" = yes ; then
6449 _def_libdv='#define HAVE_LIBDV095 1'
6450 _ld_libdv="-ldv"
6451 _codecmodules="libdv $_codecmodules"
6452 else
6453 _def_libdv='#undef HAVE_LIBDV095'
6454 _nocodecmodules="libdv $_nocodecmodules"
6456 echores "$_libdv"
6458 echocheck "zr"
6459 if test "$_zr" = auto ; then
6460 #36067's seem to identify themselves as 36057PQC's, so the line
6461 #below should work for 36067's and 36057's.
6462 if grep -e "Multimedia video controller: Zoran Corporation ZR36057" /proc/pci > /dev/null 2>&1; then
6463 _zr=yes
6464 else
6465 _zr=no
6468 if test "$_zr" = yes ; then
6469 if test "$_libavcodec" = yes ; then
6470 _def_zr='#define HAVE_ZR 1'
6471 _vosrc="$_vosrc vo_zr2.c vo_zr.c jpeg_enc.c"
6472 _vomodules="zr zr2 $_vomodules"
6473 else
6474 _res_comment="libavcodec (static) is required by zr, sorry"
6475 _novomodules="zr $_novomodules"
6476 _def_zr='#undef HAVE_ZR'
6478 else
6479 _def_zr='#undef HAVE_ZR'
6480 _novomodules="zr zr2 $_novomodules"
6482 echores "$_zr"
6484 echocheck "bl"
6485 if test "$_bl" = yes ; then
6486 _def_bl='#define HAVE_BL 1'
6487 _vosrc="$_vosrc vo_bl.c"
6488 _vomodules="bl $_vomodules"
6489 else
6490 _def_bl='#undef HAVE_BL'
6491 _novomodules="bl $_novomodules"
6493 echores "$_bl"
6495 echocheck "XviD"
6496 cat > $TMPC << EOF
6497 #include <xvid.h>
6498 int main(void) { xvid_init(0, 0, 0, 0); return 0; }
6500 _ld_xvid="$_ld_xvid -lxvidcore"
6501 _xvid4=no
6502 if test "$_xvid" != no && cc_check $_ld_xvid $_ld_lm ; then
6503 _xvid=yes
6504 _def_xvid3='#define HAVE_XVID3 1'
6505 _def_xvid4='#undef HAVE_XVID4'
6506 _codecmodules="xvid $_codecmodules"
6507 else
6508 cat > $TMPC << EOF
6509 #include <xvid.h>
6510 int main(void) { xvid_global(0, 0, 0, 0); return 0; }
6512 if test "$_xvid" != no ;then
6513 if cc_check $_ld_xvid $_ld_lm ; then
6514 _xvid4=yes
6515 elif cc_check $_ld_xvid $_ld_lm $_ld_pthread ; then
6516 _xvid4=yes;
6517 _ld_xvid="$_ld_xvid $_ld_pthread"
6521 if test "$_xvid4" = yes ; then
6522 _xvid=yes
6523 _xvid4=yes
6524 _def_xvid3='#undef HAVE_XVID3'
6525 _def_xvid4='#define HAVE_XVID4 1'
6526 _codecmodules="xvid $_codecmodules"
6527 else
6528 _xvid=no
6529 _ld_xvid=''
6530 _def_xvid3='#undef HAVE_XVID3'
6531 _def_xvid4='#undef HAVE_XVID4'
6532 _nocodecmodules="xvid $_nocodecmodules"
6535 echores "$_xvid"
6537 if test "$_xvid4" = yes ; then
6538 echocheck "XviD two pass plugin"
6539 cat > $TMPC << EOF
6540 #include <xvid.h>
6541 int main(void) { xvid_plugin_2pass2_t s; s.vbv_size=0; return 0; }
6543 if cc_check $_ld_xvid $_ld_lb ; then
6544 _lavc_xvid=yes
6545 _def_lavc_xvid='#define CONFIG_XVID 1'
6546 else
6547 _lavc_xvid=no
6548 _def_lavc_xvid='#undef CONFIG_XVID'
6550 echores "$_lavc_xvid"
6553 _xvidcompat=no
6554 _def_decore_xvid='#undef DECORE_XVID'
6555 _def_encore_xvid='#undef ENCORE_XVID'
6556 if test "$_xvid" = yes ; then
6557 echocheck "DivX4 compatibility in XviD"
6558 cat > $TMPC << EOF
6559 #include <divx4.h>
6560 int main(void) { (void) decore(0, 0, 0, 0); return 0; }
6562 cc_check $_ld_lm "$_ld_xvid" && _xvidcompat=yes
6563 echores "$_xvidcompat"
6566 echocheck "x264"
6567 if test "$_x264" = auto ; then
6568 cat > $TMPC << EOF
6569 #include <inttypes.h>
6570 #include <x264.h>
6571 #if X264_BUILD < 53
6572 #error We do not support old versions of x264. Get the latest from SVN.
6573 #endif
6574 int main(void) { x264_encoder_open((void*)0); return 0; }
6576 _ld_x264="$_ld_x264 -lx264 $_ld_pthread"
6577 _x264=no
6578 if cc_check $_ld_x264 $_ld_lm ; then
6579 _x264=yes
6580 elif test "$_x11" = yes && cc_check $_ld_x264 $_ld_x11 $_ld_lm ; then
6581 _x264=yes
6582 _ld_x264="$_ld_x264 $_ld_x11"
6586 if test "$_x264" = yes ; then
6587 _x264=yes
6588 _def_x264='#define HAVE_X264 1'
6589 _def_lavc_x264='#define CONFIG_X264 1'
6590 _codecmodules="x264 $_codecmodules"
6591 else
6592 _x264=no
6593 _ld_x264=''
6594 _def_x264='#undef HAVE_X264'
6595 _def_lavc_x264='#undef CONFIG_X264'
6596 _nocodecmodules="x264 $_nocodecmodules"
6598 echores "$_x264"
6601 echocheck "nut"
6602 if test "$_nut" = auto ; then
6603 cat > $TMPC << EOF
6604 #include <stdio.h>
6605 #include <stdlib.h>
6606 #include <inttypes.h>
6607 #include <nut.h>
6608 int main(void) { (void)nut_error(0); return 0; }
6610 _ld_nut="-lnut"
6611 _nut=no
6612 cc_check $_ld_nut && _nut=yes
6615 if test "$_nut" = yes ; then
6616 _def_nut='#define HAVE_LIBNUT 1'
6617 else
6618 _ld_nut=''
6619 _def_nut='#undef HAVE_LIBNUT'
6621 echores "$_nut"
6624 # mencoder requires (optional) those libs: libmp3lame
6625 if test "$_mencoder" != no ; then
6627 echocheck "libmp3lame (for mencoder)"
6628 _mp3lame=no
6629 _def_mp3lame_preset='#undef HAVE_MP3LAME_PRESET'
6630 _def_mp3lame_preset_medium='#undef HAVE_MP3LAME_PRESET_MEDIUM'
6631 cat > $TMPC <<EOF
6632 #include <lame/lame.h>
6633 int main(void) { lame_version_t lv; (void) lame_init(); get_lame_version_numerical(&lv); printf("%d%d\n",lv.major,lv.minor); return 0; }
6635 # Note: libmp3lame usually depends on vorbis
6636 cc_check -lmp3lame $_ld_vorbis $_ld_lm && tmp_run && _mp3lame=yes
6637 if test "$_mp3lame" = yes ; then
6638 _def_mp3lame="#define HAVE_MP3LAME"
6639 _def_lavc_mp3lame="#define CONFIG_MP3LAME 1"
6640 _ld_mp3lame="-lmp3lame $_ld_vorbis"
6641 cat > $TMPC << EOF
6642 #include <lame/lame.h>
6643 int main(void) { int p = STANDARD_FAST; return 0; }
6645 cc_check $_ld_mp3lame $_ld_lm && _def_mp3lame_preset="#define HAVE_MP3LAME_PRESET"
6646 cat > $TMPC << EOF
6647 #include <lame/lame.h>
6648 int main(void) { int p = MEDIUM_FAST; return 0; }
6650 cc_check $_ld_mp3lame $_ld_lm && _def_mp3lame_preset_medium="#define HAVE_MP3LAME_PRESET_MEDIUM"
6651 echo $_libavencoders | grep -q mp3lame && _lavc_mp3lame=yes || _lavc_mp3lame=no
6652 else
6653 _def_mp3lame='#undef HAVE_MP3LAME'
6655 echores "$_mp3lame"
6659 echocheck "mencoder"
6660 _mencoder_flag='#undef HAVE_MENCODER'
6661 if test "$_mencoder" = yes ; then
6662 _mencoder_flag='#define HAVE_MENCODER'
6663 _def_muxers='#define CONFIG_MUXERS 1'
6664 else
6665 # mpeg1video for vf_lavc, snow for vf_uspp and vf_mcdeint
6666 _libavencoders="mpeg1video_encoder snow_encoder"
6667 _libavmuxers=""
6669 echores "$_mencoder"
6671 echocheck "fastmemcpy"
6672 # fastmemcpy check is done earlier with tests of CPU & binutils features
6673 if test "$_fastmemcpy" = yes ; then
6674 _def_fastmemcpy='#define USE_FASTMEMCPY 1'
6675 else
6676 _def_fastmemcpy='#undef USE_FASTMEMCPY'
6678 echores "$_fastmemcpy"
6680 echocheck "UniquE RAR File Library"
6681 if test "$_unrarlib" = yes ; then
6682 _def_unrarlib='#define USE_UNRARLIB 1'
6683 else
6684 _def_unrarlib='#undef USE_UNRARLIB'
6686 echores "$_unrarlib"
6688 echocheck "TV interface"
6689 if test "$_tv" = yes ; then
6690 _def_tv='#define USE_TV 1'
6691 _inputmodules="tv $_inputmodules"
6692 else
6693 _noinputmodules="tv $_noinputmodules"
6694 _def_tv='#undef USE_TV'
6696 echores "$_tv"
6699 if bsd; then
6700 echocheck "*BSD BrookTree 848 TV interface"
6701 if test "$_tv_bsdbt848" = auto ; then
6702 _tv_bsdbt848=no
6703 if test "$_tv" = yes ; then
6704 cat > $TMPC <<EOF
6705 #include <sys/types.h>
6706 #if defined(__NetBSD__)
6707 #include <dev/ic/bt8xx.h>
6708 #else
6709 #include <machine/ioctl_bt848.h>
6710 #endif
6711 int main(void) { return 0; }
6713 cc_check && _tv_bsdbt848=yes
6716 if test "$_tv_bsdbt848" = yes ; then
6717 _def_tv_bsdbt848='#define HAVE_TV_BSDBT848 1'
6718 _inputmodules="tv-bsdbt848 $_inputmodules"
6719 else
6720 _def_tv_bsdbt848='#undef HAVE_TV_BSDBT848'
6721 _noinputmodules="tv-bsdbt848 $_noinputmodules"
6723 echores "$_tv_bsdbt848"
6724 fi #if bsd
6727 echocheck "Video 4 Linux TV interface"
6728 if test "$_tv_v4l1" = auto ; then
6729 _tv_v4l1=no
6730 if test "$_tv" = yes && linux ; then
6731 cat > $TMPC <<EOF
6732 #include <stdlib.h>
6733 #include <linux/videodev.h>
6734 int main(void) { return 0; }
6736 cc_check && _tv_v4l1=yes
6739 if test "$_tv_v4l1" = yes ; then
6740 _tv_v4l=yes
6741 _def_tv_v4l='#define HAVE_TV_V4L 1'
6742 _def_tv_v4l1='#define HAVE_TV_V4L1 1'
6743 _inputmodules="tv-v4l $_inputmodules"
6744 else
6745 _noinputmodules="tv-v4l1 $_noinputmodules"
6746 _def_tv_v4l='#undef HAVE_TV_V4L'
6748 echores "$_tv_v4l1"
6751 echocheck "Video 4 Linux 2 TV interface"
6752 if test "$_tv_v4l2" = auto ; then
6753 _tv_v4l2=no
6754 if test "$_tv" = yes && linux ; then
6755 cat > $TMPC <<EOF
6756 #include <stdlib.h>
6757 #include <linux/types.h>
6758 #include <linux/videodev2.h>
6759 int main(void) { return 0; }
6761 cc_check && _tv_v4l2=yes
6764 if test "$_tv_v4l2" = yes ; then
6765 _tv_v4l=yes
6766 _def_tv_v4l='#define HAVE_TV_V4L 1'
6767 _def_tv_v4l2='#define HAVE_TV_V4L2 1'
6768 _inputmodules="tv-v4l2 $_inputmodules"
6769 else
6770 _noinputmodules="tv-v4l2 $_noinputmodules"
6771 _def_tv_v4l2='#undef HAVE_TV_V4L2'
6773 echores "$_tv_v4l2"
6776 echocheck "Radio interface"
6777 if test "$_radio" = yes ; then
6778 _def_radio='#define USE_RADIO 1'
6779 _inputmodules="radio $_inputmodules"
6780 if test "$_alsa9" != yes -a "$_alsa1x" != yes -a "$_ossaudio" != yes ; then
6781 _radio_capture=no
6783 if test "$_radio_capture" = yes ; then
6784 _def_radio_capture="#define USE_RADIO_CAPTURE 1"
6785 else
6786 _def_radio_capture="#undef USE_RADIO_CAPTURE"
6788 else
6789 _noinputmodules="radio $_noinputmodules"
6790 _def_radio='#undef USE_RADIO'
6791 _def_radio_capture="#undef USE_RADIO_CAPTURE"
6792 _radio_capture=no
6794 echores "$_radio"
6795 echocheck "Capture for Radio interface"
6796 echores "$_radio_capture"
6798 echocheck "Video 4 Linux 2 Radio interface"
6799 if test "$_radio_v4l2" = auto ; then
6800 _radio_v4l2=no
6801 if test "$_radio" = yes && linux ; then
6802 cat > $TMPC <<EOF
6803 #include <stdlib.h>
6804 #include <linux/types.h>
6805 #include <linux/videodev2.h>
6806 int main(void) { return 0; }
6808 cc_check && _radio_v4l2=yes
6811 if test "$_radio_v4l2" = yes ; then
6812 _def_radio_v4l2='#define HAVE_RADIO_V4L2 1'
6813 else
6814 _def_radio_v4l2='#undef HAVE_RADIO_V4L2'
6816 echores "$_radio_v4l2"
6818 echocheck "Video 4 Linux Radio interface"
6819 if test "$_radio_v4l" = auto ; then
6820 _radio_v4l=no
6821 if test "$_radio" = yes && linux ; then
6822 cat > $TMPC <<EOF
6823 #include <stdlib.h>
6824 #include <linux/videodev.h>
6825 int main(void) { return 0; }
6827 cc_check && _radio_v4l=yes
6830 if test "$_radio_v4l" = yes ; then
6831 _def_radio_v4l='#define HAVE_RADIO_V4L 1'
6832 else
6833 _def_radio_v4l='#undef HAVE_RADIO_V4L'
6835 echores "$_radio_v4l"
6837 if test "$_radio_v4l" = no && test "$_radio_v4l2" = no && test "$_radio" = yes ; then
6838 die "Radio driver requires V4L or V4L2!"
6841 echocheck "Video 4 Linux 2 MPEG PVR interface"
6842 if test "$_pvr" = auto ; then
6843 _pvr=no
6844 if test "$_tv_v4l2" = yes && linux ; then
6845 cat > $TMPC <<EOF
6846 #include <stdlib.h>
6847 #include <inttypes.h>
6848 #include <linux/types.h>
6849 #include <linux/videodev2.h>
6850 int main(void) { struct v4l2_ext_controls ext; return 0; }
6852 cc_check && _pvr=yes
6855 if test "$_pvr" = yes ; then
6856 _def_pvr='#define HAVE_PVR 1'
6857 _inputmodules="pvr $_inputmodules"
6858 else
6859 _noinputmodules="pvr $_noinputmodules"
6860 _def_pvr='#undef HAVE_PVR'
6862 echores "$_pvr"
6865 echocheck "audio select()"
6866 if test "$_select" = no ; then
6867 _def_select='#undef HAVE_AUDIO_SELECT'
6868 elif test "$_select" = yes ; then
6869 _def_select='#define HAVE_AUDIO_SELECT 1'
6871 echores "$_select"
6874 echocheck "network"
6875 # FIXME network check
6876 if test "$_network" = yes ; then
6877 _def_network='#define MPLAYER_NETWORK 1'
6878 _ld_network="$_ld_sock"
6879 _inputmodules="network $_inputmodules"
6880 else
6881 _noinputmodules="network $_noinputmodules"
6882 _def_network='#undef MPLAYER_NETWORK'
6883 _ftp=no
6885 echores "$_network"
6887 echocheck "ftp"
6888 if not beos && test "$_ftp" = yes ; then
6889 _def_ftp='#define HAVE_FTP 1'
6890 _inputmodules="ftp $_inputmodules"
6891 else
6892 _noinputmodules="ftp $_noinputmodules"
6893 _def_ftp='#undef HAVE_FTP'
6895 echores "$_ftp"
6897 echocheck "vstream client"
6898 if test "$_vstream" = auto ; then
6899 _vstream=no
6900 cat > $TMPC <<EOF
6901 #include <vstream-client.h>
6902 void vstream_error(const char *format, ... ) {}
6903 int main(void) { vstream_start(); return 0; }
6905 cc_check -lvstream-client && _vstream=yes
6907 if test "$_vstream" = yes ; then
6908 _def_vstream='#define HAVE_VSTREAM 1'
6909 _inputmodules="vstream $_inputmodules"
6910 _ld_vstream='-lvstream-client'
6911 else
6912 _noinputmodules="vstream $_noinputmodules"
6913 _def_vstream='#undef HAVE_VSTREAM'
6915 echores "$_vstream"
6917 # endian testing
6918 echocheck "byte order"
6919 if test "$_big_endian" = auto ; then
6920 cat > $TMPC <<EOF
6921 short ascii_name[] = { (('M'<<8)|'P'),(('l'<<8)|'a'),(('y'<<8)|'e'),(('r'<<8)|'B'),
6922 (('i'<<8)|'g'),(('E'<<8)|'n'),(('d'<<8)|'i'),(('a'<<8)|'n'),0};
6923 int main(){
6924 return (int)ascii_name;
6927 if cc_check ; then
6928 if strings $TMPO | grep -l MPlayerBigEndian >/dev/null ; then
6929 _big_endian=yes
6930 else
6931 _big_endian=no
6933 else
6934 echo -n "failed to autodetect byte order, defaulting to "
6937 if test "$_big_endian" = yes ; then
6938 _byte_order='big-endian'
6939 _def_words_endian='#define WORDS_BIGENDIAN 1'
6940 else
6941 _byte_order='little-endian'
6942 _def_words_endian='#undef WORDS_BIGENDIAN'
6944 echores "$_byte_order"
6946 echocheck "OSD menu"
6947 if test "$_menu" = yes ; then
6948 _def_menu='#define HAVE_MENU 1'
6949 else
6950 _def_menu='#undef HAVE_MENU'
6952 echores "$_menu"
6955 echocheck "QuickTime codecs"
6956 if test "$_qtx" = auto ; then
6957 test "$_win32" = yes || darwin && _qtx=yes
6959 if test "$_qtx" = yes ; then
6960 _def_qtx='#define USE_QTX_CODECS 1'
6961 _codecmodules="qtx $_codecmodules"
6962 else
6963 _def_qtx='#undef USE_QTX_CODECS'
6964 _nocodecmodules="qtx $_nocodecmodules"
6966 echores "$_qtx"
6969 echocheck "Subtitles sorting"
6970 if test "$_sortsub" = yes ; then
6971 _def_sortsub='#define USE_SORTSUB 1'
6972 else
6973 _def_sortsub='#undef USE_SORTSUB'
6975 echores "$_sortsub"
6978 echocheck "XMMS inputplugin support"
6979 if test "$_xmms" = yes ; then
6981 if ( xmms-config --version ) >/dev/null 2>&1 ; then
6982 if test -z "$_xmmsplugindir" ; then
6983 _xmmsplugindir=`xmms-config --input-plugin-dir`
6985 if test -z "$_xmmslibdir" ; then
6986 _xmmslibdir=`xmms-config --exec-prefix`/lib
6988 else
6989 if test -z "$_xmmsplugindir" ; then
6990 _xmmsplugindir=/usr/lib/xmms/Input
6992 if test -z "$_xmmslibdir" ; then
6993 _xmmslibdir=/usr/lib
6997 _def_xmms='#define HAVE_XMMS 1'
6998 if darwin ; then
6999 _xmms_lib="${_xmmslibdir}/libxmms.dylib"
7000 else
7001 _xmms_lib="${_xmmslibdir}/libxmms.so.1 -export-dynamic"
7003 else
7004 _def_xmms='#undef HAVE_XMMS'
7006 echores "$_xmms"
7008 echocheck "inet6"
7009 if test "$_inet6" = auto ; then
7010 cat > $TMPC << EOF
7011 #include <sys/types.h>
7012 #include <sys/socket.h>
7013 int main(void) { socket(AF_INET6, SOCK_STREAM, AF_INET6); }
7015 _inet6=no
7016 if cc_check ; then
7017 _inet6=yes
7020 if test "$_inet6" = yes ; then
7021 _def_inet6='#define HAVE_AF_INET6 1'
7022 else
7023 _def_inet6='#undef HAVE_AF_INET6'
7025 echores "$_inet6"
7028 echocheck "gethostbyname2"
7029 if test "$_gethostbyname2" = auto ; then
7030 cat > $TMPC << EOF
7031 #include <sys/types.h>
7032 #include <sys/socket.h>
7033 #include <netdb.h>
7034 int main(void) { gethostbyname2("", AF_INET); }
7036 _gethostbyname2=no
7037 if cc_check ; then
7038 _gethostbyname2=yes
7042 if test "$_gethostbyname2" = yes ; then
7043 _def_gethostbyname2='#define HAVE_GETHOSTBYNAME2 1'
7044 else
7045 _def_gethostbyname2='#undef HAVE_GETHOSTBYNAME2'
7047 echores "$_gethostbyname2"
7050 # --------------- GUI specific tests begin -------------------
7051 echocheck "GUI"
7052 echo "$_gui"
7053 if test "$_gui" = yes ; then
7055 # Required libraries
7056 test "$_png" != yes && die "The GUI requires PNG support, please install libpng and libpng-dev packages."
7057 if not win32 ; then
7058 test "$_x11" != yes && die "X11 support required for GUI compilation."
7060 echocheck "XShape extension"
7061 if test "$_xshape" = auto ; then
7062 _xshape=no
7063 cat > $TMPC << EOF
7064 #include <X11/Xlib.h>
7065 #include <X11/Xproto.h>
7066 #include <X11/Xutil.h>
7067 #include <X11/extensions/shape.h>
7068 #include <stdlib.h>
7069 int main(void) {
7070 char *name = ":0.0";
7071 Display *wsDisplay;
7072 int exitvar = 0;
7073 int eventbase, errorbase;
7074 if (getenv("DISPLAY"))
7075 name=getenv("DISPLAY");
7076 wsDisplay=XOpenDisplay(name);
7077 if (!XShapeQueryExtension(wsDisplay,&eventbase,&errorbase))
7078 exitvar=1;
7079 XCloseDisplay(wsDisplay);
7080 return exitvar;
7083 cc_check $_ld_x11 && _xshape=yes
7085 if test "$_xshape" = yes ; then
7086 _def_xshape='#define HAVE_XSHAPE 1'
7087 else
7088 die "The GUI requires the X11 extension XShape (which was not found)."
7090 echores "$_xshape"
7092 #Check for GTK
7093 if test "$_gtk1" = no ; then
7094 #Check for GTK2 :
7095 echocheck "GTK+ version"
7097 if pkg-config gtk+-2.0 --exists ; then
7098 _gtk=`pkg-config gtk+-2.0 --modversion 2>/dev/null`
7099 _inc_extra="$_inc_extra `pkg-config gtk+-2.0 --cflags 2>/dev/null`"
7100 _ld_gtk=`pkg-config gtk+-2.0 --libs 2>/dev/null`
7101 echores "$_gtk"
7103 # Check for GLIB2
7104 if pkg-config glib-2.0 --exists ; then
7105 echocheck "glib version"
7106 _glib=`pkg-config glib-2.0 --modversion 2>/dev/null`
7107 _ld_glib=`pkg-config glib-2.0 --libs 2>/dev/null`
7108 echores "$_glib"
7110 _def_gui='#define HAVE_NEW_GUI 1'
7111 _def_gtk2_gui='#define HAVE_GTK2_GUI 1'
7112 else
7113 _gtk1=yes
7114 echo "GLIB-2 devel packages were not found, trying GTK 1.2"
7116 else
7117 echo "GTK-2 devel packages were not found, trying GTK 1.2"
7118 _gtk1=yes
7122 if test "$_gtk1" = yes ; then
7123 # Check for old GTK (1.2.x)
7124 echocheck "GTK version"
7125 if test -z "$_gtkconfig" ; then
7126 if ( gtk-config --version ) >/dev/null 2>&1 ; then
7127 _gtkconfig="gtk-config"
7128 elif ( gtk12-config --version ) >/dev/null 2>&1 ; then
7129 _gtkconfig="gtk12-config"
7130 else
7131 die "The GUI requires GTK devel packages (which were not found)."
7134 _gtk=`$_gtkconfig --version 2>&1`
7135 _inc_extra="$_inc_extra `$_gtkconfig --cflags 2>&1`"
7136 _ld_gtk=`$_gtkconfig --libs 2>&1`
7137 echores "$_gtk (using $_gtkconfig)"
7139 # Check for GLIB
7140 echocheck "glib version"
7141 if test -z "$_glibconfig" ; then
7142 if ( glib-config --version ) >/dev/null 2>&1 ; then
7143 _glibconfig="glib-config"
7144 elif ( glib12-config --version ) >/dev/null 2>&1 ; then
7145 _glibconfig="glib12-config"
7146 else
7147 die "The GUI requires GLIB devel packages (which were not found)"
7150 _glib=`$_glibconfig --version 2>&1`
7151 _ld_glib=`$_glibconfig --libs 2>&1`
7152 echores "$_glib (using $_glibconfig)"
7154 _def_gui='#define HAVE_NEW_GUI 1'
7155 _def_gtk2_gui='#undef HAVE_GTK2_GUI'
7158 else #if not win32
7159 _ld_win32libs="-lcomdlg32 -lcomctl32 -lshell32 -lkernel32 $_ld_win32libs"
7160 _def_gui='#define HAVE_NEW_GUI 1'
7161 _def_gtk2_gui='#undef HAVE_GTK2_GUI'
7162 fi #if not win32
7164 else #if test "$_gui"
7165 _def_gui='#undef HAVE_NEW_GUI'
7166 _def_gtk2_gui='#undef HAVE_GTK2_GUI'
7167 fi #if test "$_gui"
7168 # --------------- GUI specific tests end -------------------
7171 if test "$_charset" = "noconv" ; then
7172 _charset=""
7173 elif test -z "$_charset" ; then
7174 if test "$_gtk1" = yes ; then
7175 _charset=`cat ${_mp_help}.charset`
7176 else
7177 _charset="UTF-8"
7180 if test "$_charset" ; then
7181 _def_charset="#define MSG_CHARSET \"$_charset\""
7182 else
7183 _def_charset="#undef MSG_CHARSET"
7186 if test "$_charset" = `cat ${_mp_help}.charset` ; then
7187 # hack to disable conversion in the Makefile
7188 _charset=""
7191 if test "$_charset" ; then
7192 echocheck "iconv program"
7193 iconv -f `cat ${_mp_help}.charset` -t $_charset ${_mp_help} > /dev/null 2>> "$TMPLOG"
7194 if test "$?" -ne 0 ; then
7195 echores "no"
7196 echo "No working iconv program found, use "
7197 echo "--charset=`cat ${_mp_help}.charset` to continue anyway."
7198 echo "If you also have problems with iconv library functions use --charset=noconv."
7199 echo "Messages in the GTK-2 interface will be broken then."
7200 exit 1
7201 else
7202 echores "yes"
7206 #############################################################################
7208 echocheck "automatic gdb attach"
7209 if test "$_crash_debug" = yes ; then
7210 _def_crash_debug='#define CRASH_DEBUG 1'
7211 else
7212 _def_crash_debug='#undef CRASH_DEBUG'
7213 _crash_debug=no
7215 echores "$_crash_debug"
7217 if darwin ; then
7218 CFLAGS="$CFLAGS -mdynamic-no-pic -falign-loops=16 -DSYS_DARWIN -DCONFIG_DARWIN -shared-libgcc"
7219 if x86 ; then
7220 CFLAGS="$CFLAGS -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk"
7222 if [ "$_cc_major" = 3 ] && [ "$_cc_minor" -lt 1 ]; then
7223 CFLAGS="$CFLAGS -no-cpp-precomp"
7226 # libavcodec (from ffmpeg) requires CONFIG_DARWIN to enable AltiVec on Darwin/MacOSX
7227 test "$_altivec" = yes && CFLAGS="$CFLAGS -DCONFIG_DARWIN"
7229 if hpux ; then
7230 # use flag for HPUX missing setenv()
7231 CFLAGS="$CFLAGS -DHPUX"
7233 # Thread support
7234 if linux ; then
7235 CFLAGS="$CFLAGS -D_REENTRANT"
7236 elif bsd ; then
7237 # FIXME bsd needs this so maybe other OS'es
7238 CFLAGS="$CFLAGS -D_THREAD_SAFE"
7240 # 64 bit file offsets?
7241 if test "$_largefiles" = yes || freebsd ; then
7242 CFLAGS="$CFLAGS -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
7243 if test "$_dvdread" = yes ; then
7244 # dvdread support requires this (for off64_t)
7245 CFLAGS="$CFLAGS -D_LARGEFILE64_SOURCE"
7249 echocheck "compiler support for -fno-PIC"
7250 if x86; then
7251 cat > $TMPC <<EOF
7252 int main(void) { return 0; }
7254 if cc_check -fno-PIC ; then
7255 CFLAGS="-fno-PIC $CFLAGS"
7256 echores "yes"
7257 else
7258 echores "no"
7260 else
7261 echores "only used for x86"
7264 echocheck "compiler support for noexecstack"
7265 cat > $TMPC <<EOF
7266 int main(void) { return 0; }
7268 if cc_check -Wl,-z,noexecstack ; then
7269 _ld_extra="-Wl,-z,noexecstack $_ld_extra"
7270 echores "yes"
7271 else
7272 echores "no"
7275 if cc_check -Wdeclaration-after-statement ; then
7276 CFLAGS="-Wdeclaration-after-statement $CFLAGS"
7279 echocheck "ftello()"
7280 # if we don't have ftello use the osdep/ compatibility module
7281 cat > $TMPC << EOF
7282 #include <stdio.h>
7283 #include <sys/types.h>
7284 int main (void) { ftello(stdin); return 0; }
7286 _ftello=no
7287 cc_check && _ftello=yes
7288 if test "$_ftello" = yes ; then
7289 _def_ftello='#define HAVE_FTELLO 1'
7290 else
7291 _def_ftello='#undef HAVE_FTELLO'
7293 echores "$_ftello"
7295 # Determine OS dependent libs
7296 if cygwin ; then
7297 _def_confwin32='#define WIN32'
7298 #CFLAGS="$CFLAGS -D__CYGWIN__ -D__CYGWIN_USE_BIG_TYPES__"
7299 # stat.st_size with BIG_TYPES is broken (not set) ::atmos
7300 CFLAGS="$CFLAGS -D__CYGWIN__"
7303 if win32 ; then
7304 _confwin32='TARGET_WIN32 = yes'
7305 else
7306 _confwin32='TARGET_WIN32 = no'
7309 # Dynamic linking flags
7310 # (FIXME: 'echocheck "dynamic linking"' above and modify here accordingly)
7311 _ld_dl_dynamic=''
7312 bsd && _ld_dl_dynamic='-rdynamic'
7313 if test "$_real" = yes || test "$_xanim" = yes && not win32 && not qnx && not darwin ; then
7314 _ld_dl_dynamic='-rdynamic'
7317 _ld_arch="$_ld_arch $_ld_pthread $_ld_dl $_ld_dl_dynamic"
7318 bsdos && _ld_arch="$_ld_arch -ldvd"
7319 if netbsd ; then
7320 x86 && _ld_arch="$_ld_arch -li386"
7323 _def_debug='#undef MP_DEBUG'
7324 test "$_debug" != "" && _def_debug='#define MP_DEBUG 1'
7326 _def_linux='#undef TARGET_LINUX'
7327 linux && _def_linux='#define TARGET_LINUX 1'
7329 # TODO cleanup the VIDIX stuff here
7330 echocheck "VIDIX (internal)"
7331 echores "$_vidix_internal"
7333 echocheck "VIDIX (external)"
7334 if test "$_vidix_external" = auto; then
7335 _vidix_external=no
7336 cat > $TMPC <<EOF
7337 #include <vidix/vidix.h>
7338 int main(void) { return 0; }
7340 cc_check -lvidix && _vidix_external=yes
7342 echores "$_vidix_external"
7344 if test "$_vidix_internal" = yes || test "$_vidix_external" = yes ; then
7345 _vidix=yes
7346 _def_vidix='#define CONFIG_VIDIX 1'
7347 else
7348 _vidix=no
7349 _def_vidix='#undef CONFIG_VIDIX'
7352 if test "$_vidix_internal" = yes ; then
7353 _def_vidix_pfx="#define MP_VIDIX_PFX \"$_libdir\" \"/mplayer/vidix/\" "
7354 elif test "$_vidix_external" = yes ; then
7355 _ld_vidix_external="-lvidix"
7356 _def_vidix_pfx='#define MP_VIDIX_PFX "" '
7359 if test "$_vidix" = yes; then
7360 _vosrc="$_vosrc vo_cvidix.c"
7361 _vomodules="cvidix $_vomodules"
7362 else
7363 _novomodules="cvidix $_novomodules"
7365 if test "$_vidix" = yes && win32; then
7366 _vosrc="$_vosrc vo_winvidix.c"
7367 _vomodules="winvidix $_vomodules"
7368 _ld_win32libs="-lgdi32 $_ld_win32libs"
7369 else
7370 _novomodules="winvidix $_novomodules"
7372 if test "$_vidix" = yes && test "$_x11" = yes; then
7373 _vosrc="$_vosrc vo_xvidix.c"
7374 _vomodules="xvidix $_vomodules"
7375 else
7376 _novomodules="xvidix $_novomodules"
7379 echocheck "joystick"
7380 _def_joystick='#undef HAVE_JOYSTICK'
7381 if test "$_joystick" = yes ; then
7382 if linux ; then
7383 # TODO add some check
7384 _def_joystick='#define HAVE_JOYSTICK 1'
7385 else
7386 _joystick="no (unsupported under $system_name)"
7389 echores "$_joystick"
7391 echocheck "lirc"
7392 if test "$_lirc" = auto ; then
7393 _lirc=no
7394 if test -c /dev/lirc -o -c /dev/lirc/0 ; then
7395 cat > $TMPC <<EOF
7396 #include <lirc/lirc_client.h>
7397 int main(void) { return 0; }
7399 cc_check -llirc_client && _lirc=yes
7402 if test "$_lirc" = yes ; then
7403 _def_lirc='#define HAVE_LIRC 1'
7404 _ld_lirc='-llirc_client'
7405 else
7406 _def_lirc='#undef HAVE_LIRC'
7408 echores "$_lirc"
7410 echocheck "lircc"
7411 if test "$_lircc" = auto ; then
7412 _lircc=no
7413 cat > $TMPC <<EOF
7414 #include <lirc/lircc.h>
7415 int main(void) { return 0; }
7417 cc_check -llircc && _lircc=yes
7419 if test "$_lircc" = yes ; then
7420 _def_lircc='#define HAVE_LIRCC 1'
7421 _ld_lircc='-llircc'
7422 else
7423 _def_lircc='#undef HAVE_LIRCC'
7425 echores "$_lircc"
7427 #############################################################################
7428 echo "Creating config.mak"
7429 cat > config.mak << EOF
7430 # -------- Generated by configure -----------
7432 LANG = C
7433 MAN_LANG = $MAN_LANG
7434 TARGET_OS = $system_name
7435 DESTDIR =
7436 prefix = \$(DESTDIR)$_prefix
7437 BINDIR = \$(DESTDIR)$_bindir
7438 DATADIR = \$(DESTDIR)$_datadir
7439 MANDIR = \$(DESTDIR)$_mandir
7440 CONFDIR = \$(DESTDIR)$_confdir
7441 LIBDIR = \$(DESTDIR)$_libdir
7442 # FFmpeg uses libdir instead of LIBDIR
7443 libdir = \$(LIBDIR)
7444 #AR = ar
7445 CC = $_cc
7446 HOST_CC = $_host_cc
7447 AWK = $_awk
7448 RANLIB = $_ranlib
7449 INSTALL = $_install
7450 # FIXME: Should only be _inc_extra eventually.
7451 EXTRA_INC = $_inc_extra
7452 OPTFLAGS = $CFLAGS \$(EXTRA_INC)
7453 STRIPBINARIES = $_stripbinaries
7454 CHARSET = $_charset
7455 HELP_FILE = $_mp_help
7457 PRG = $_prg
7458 PRG_MENCODER = $_prg_mencoder
7460 MPLAYER_NETWORK = $_network
7461 FTP = $_ftp
7462 STREAMING_LIVE555 = $_live
7463 VSTREAM = $_vstream
7464 MPLAYER_NETWORK_LIB = $_ld_live $_ld_vstream $_ld_network
7465 STREAM_CACHE = yes
7466 DVBIN = $_dvbin
7467 VIDIX = $_vidix_internal
7468 EXTERNAL_VIDIX = $_vidix_external
7469 EXTERNAL_VIDIX_LIB = $_ld_vidix_external
7470 CONFIG_PP = yes
7471 CONFIG_MP3LAME = $_mp3lame
7472 LIBMENU = $_menu
7474 MP3LIB = $_mp3lib
7475 LIBA52 = $_liba52
7476 LIBMPEG2 = $_libmpeg2
7477 TREMOR_INTERNAL = $_tremor_internal
7478 TREMOR_FLAGS = $_tremor_flags
7479 FAAD = $_faad
7481 SPEEX = $_speex
7482 MUSEPACK = $_musepack
7484 UNRARLIB = $_unrarlib
7485 PNG = $_png
7486 JPEG = $_jpeg
7487 GIF = $_gif
7489 EXTRALIBS = $_extra_libs
7490 EXTRA_LIB = $_ld_extra
7491 Z_LIB = $_ld_static $_ld_zlib
7492 HAVE_MLIB = $_mlib
7493 WIN32_LIB = $_ld_win32libs
7494 STATIC_LIB = $_ld_static
7495 ENCA_LIB = $_ld_enca
7496 HAVE_PTHREADS = $_pthreads
7497 MATH_LIB = $_ld_lm
7498 LIBC_LIB = $_ld_libC
7500 HAVE_XVMC_ACCEL = $_xvmc
7502 # for FFmpeg
7503 SRC_PATH=..
7504 BUILD_ROOT=..
7505 LIBPREF=lib
7506 LIBSUF=.a
7507 LIB=\$(LIBPREF)\$(NAME)\$(LIBSUF)
7509 # video output
7510 X_LIB = $_ld_gl $_ld_dga $_ld_xv $_ld_xvmc $_ld_vm $_ld_xinerama $_ld_x11 $_ld_sock
7511 GGI_LIB = $_ld_ggi
7512 MLIB_LIB = $_ld_mlib
7513 PNG_LIB = $_ld_png
7514 JPEG_LIB = $_ld_jpeg
7515 GIF_LIB = $_ld_gif
7516 SDL_LIB = $_ld_sdl
7517 SVGA_LIB = $_ld_svga
7518 VESA_LIB = $_ld_vesa
7519 AA_LIB = $_ld_aa
7520 CACA_LIB = $_ld_caca
7522 # audio output
7523 OSS = $_ossaudio
7524 ALSA = $_alsa
7525 ALSA5 = $_alsa5
7526 ALSA9 = $_alsa9
7527 ALSA1X = $_alsa1x
7528 ALSA_LIB = $_ld_alsa
7529 NAS_LIB = $_ld_nas
7530 ARTS_LIB = $_ld_arts
7531 ESD_LIB = $_ld_esd
7532 POLYP_LIB = $_ld_polyp
7533 JACK_LIB = $_ld_jack
7534 OPENAL_LIB = $_ld_openal
7535 SGIAUDIO_LIB = $_ld_sgiaudio
7537 # input/demuxer/codecs
7538 TERMCAP_LIB = $_ld_termcap
7539 JOYSTICK = $_joystick
7540 LIRC = $_lirc
7541 LIRC_LIB = $_ld_lirc
7542 LIRCC_LIB = $_ld_lircc
7543 TV = $_tv
7544 TV_V4L = $_tv_v4l
7545 TV_V4L1 = $_tv_v4l1
7546 TV_V4L2 = $_tv_v4l2
7547 TV_BSDBT848 = $_tv_bsdbt848
7548 PVR = $_pvr
7549 VCD = $_vcd
7550 HAVE_DVD = $_have_dvd
7551 DVDREAD = $_dvdread
7552 DVDREAD_LIB = $_ld_dvdread
7553 DVDKIT2 = $_mpdvdkit
7554 DVDNAV = $_dvdnav
7555 DVDNAV_LIB = $_ld_dvdnav
7556 WIN32DLL = $_win32
7557 W32_DEP = $_dep_win32
7558 W32_LIB = $_ld_win32
7559 QTX_CODECS = $_qtx
7560 REAL_CODECS = $_real
7561 XANIM_CODECS = $_xanim
7562 AV_DEP = $_dep_libavformat $_dep_libavcodec $_dep_libavutil $_dep_libpostproc
7563 AV_LIB = $_ld_libavformat $_ld_libavcodec $_ld_libavutil $_ld_libpostproc
7564 CONFIG_LIBAVUTIL = $_libavutil
7565 CONFIG_LIBAVUTIL_SO = $_libavutil_so
7566 CONFIG_LIBAVCODEC = $_libavcodec
7567 CONFIG_LIBAVCODEC_SO = $_libavcodec_so
7568 CONFIG_LIBAVFORMAT = $_libavformat
7569 CONFIG_LIBAVFORMAT_SO = $_libavformat_so
7570 CONFIG_LIBPOSTPROC = $_libpostproc
7571 CONFIG_LIBPOSTPROC_SO = $_libpostproc_so
7572 ZORAN = $_zr
7573 FAME = $_libfame
7574 FAME_LIB = $_ld_libfame
7575 LIBDV = $_libdv
7576 LIBDV_LIB = $_ld_libdv
7577 ARCH_LIB = $_ld_arch $_ld_iconv
7578 XVID = $_xvid
7579 XVID4 = $_xvid4
7580 XVID_LIB = $_ld_xvid
7581 X264 = $_x264
7582 X264_LIB = $_ld_x264
7583 LIBNUT = $_nut
7584 NUT_LIB = $_ld_nut
7585 CONFIG_DTS = $_libdts
7586 DTS_LIB = $_ld_libdts
7587 MENCODER = $_mencoder
7588 MP3LAME_LIB = $_ld_mp3lame
7589 LAVC_MP3LAME = $_lavc_mp3lame
7590 DIRECTFB_LIB = $_ld_directfb
7591 CDDA = $_cdda
7592 CDPARANOIA_LIB = $_ld_cdparanoia
7593 BITMAP_FONT = $_bitmap_font
7594 FREETYPE = $_freetype
7595 FREETYPE_LIB = $_ld_freetype
7596 FONTCONFIG_LIB = $_ld_fontconfig
7597 CONFIG_ASS = $_ass
7598 FRIBIDI_LIB = $_ld_fribidi
7599 LIBCDIO_LIB = $_ld_libcdio
7600 LIBLZO_LIB= $_ld_liblzo
7601 LIBMAD = $_mad
7602 MAD_LIB = $_ld_mad
7603 LIBVORBIS = $_vorbis
7604 VORBIS_LIB = $_ld_vorbis
7605 SPEEX_LIB = $_ld_speex
7606 LIBTHEORA = $_theora
7607 THEORA_LIB = $_ld_theora
7608 FAAD_LIB = $_ld_faad
7609 FAAD_INTERNAL = $_faad_internal
7610 LIBSMBCLIENT = $_smbsupport
7611 SMBSUPPORT_LIB = $_ld_smb
7612 XMMS_PLUGINS = $_xmms
7613 XMMS_LIB = $_xmms_lib
7614 MACOSX = $_macosx
7615 MACOSX_FINDER_SUPPORT = $_macosx_finder_support
7616 MACOSX_BUNDLE = $_macosx_bundle
7617 MACOSX_FRAMEWORKS = $_macosx_frameworks
7618 MACOSX_COREVIDEO = $_macosx_corevideo
7619 TOOLAME=$_toolame
7620 TOOLAME_LIB=$_toolame_lib
7621 TWOLAME=$_twolame
7622 TWOLAME_LIB=$_twolame_lib
7623 MUSEPACK_LIB = $_ld_musepack
7624 FAAC=$_faac
7625 FAAC_LIB=$_ld_faac
7626 CONFIG_AMR=$_amr
7627 CONFIG_AMR_NB=$_amr_nb
7628 CONFIG_AMR_NB_FIXED=$_amr_nb_fixed
7629 CONFIG_AMR_WB=$_amr_wb
7630 `echo $_libavdecoders | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/'`
7631 `echo $_libavencoders | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/'`
7632 `echo $_libavparsers | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/'`
7633 `echo $_libavdemuxers | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/'`
7634 `echo $_libavmuxers | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/'`
7635 CONFIG_FAAC=$_faac
7636 CONFIG_XVID=$_lavc_xvid
7637 CONFIG_X264=$_x264
7638 CONFIG_GPL=yes
7639 CONFIG_ENCODERS=$_mencoder
7640 CONFIG_MUXERS=$_mencoder
7641 RADIO=$_radio
7642 RADIO_CAPTURE=$_radio_capture
7644 # --- Some stuff for autoconfigure ----
7645 $_target_arch
7646 $_confwin32
7647 TARGET_CPU=$iproc
7648 TARGET_MMX = $_mmx
7649 TARGET_MMX2 = $_mmxext
7650 TARGET_3DNOW = $_3dnow
7651 TARGET_3DNOWEX = $_3dnowext
7652 TARGET_SSE = $_sse
7653 TARGET_ALTIVEC = $_altivec
7654 TARGET_ARMV5TE = $_armv5te
7655 TARGET_IWMMXT = $_iwmmxt
7656 TARGET_VIS = $_vis
7657 TARGET_BUILTIN_VECTOR = $_builtin_vector
7658 TARGET_BUILTIN_3DNOW = $_mm3dnow
7660 # --- GUI stuff ---
7661 GTKLIB = $_ld_gtk
7662 GLIBLIB = $_ld_glib
7663 GTK_LIBS = $_ld_static \$(GTKLIB) \$(GLIBLIB)
7664 GUI = $_gui
7666 # --- libvo stuff ---
7667 VO_SRCS = $_vosrc
7669 # --- libao2 stuff ---
7670 AO_SRCS = $_aosrc
7672 # --- libaf stuff ---
7673 AF_SRCS = $_afsrc
7677 #############################################################################
7678 echo "Creating config.h"
7679 cat > config.h << EOF
7680 /* -------- This file has been automatically generated by configure ---------
7681 Note: Any changes in it will be lost when you run configure again. */
7683 /* Protect against multiple inclusion */
7684 #ifndef MPLAYER_CONFIG_H
7685 #define MPLAYER_CONFIG_H 1
7687 /* use GNU internationalization */
7688 $_def_i18n
7690 /* name of messages charset */
7691 $_def_charset
7693 /* Runtime CPU detection */
7694 $_def_runtime_cpudetection
7696 /* Dynamic a/v plugins */
7697 $_def_dynamic_plugins
7699 /* "restrict" keyword */
7700 $_def_restrict_keyword
7702 /* __builtin_expect branch prediction hint */
7703 $_def_builtin_expect
7704 #ifdef HAVE_BUILTIN_EXPECT
7705 #define likely(x) __builtin_expect ((x) != 0, 1)
7706 #define unlikely(x) __builtin_expect ((x) != 0, 0)
7707 #else
7708 #define likely(x) (x)
7709 #define unlikely(x) (x)
7710 #endif
7712 /* attribute(used) as needed by some compilers */
7713 #if (__GNUC__ * 100 + __GNUC_MINOR__ >= 300)
7714 # define attribute_used __attribute__((used))
7715 #else
7716 # define attribute_used
7717 #endif
7719 /* compiler support for named assembler arguments */
7720 $_def_named_asm_args
7722 #define PREFIX "$_prefix"
7724 #define USE_OSD 1
7725 #define USE_SUB 1
7727 /* enable/disable SIGHANDLER */
7728 $_def_sighandler
7730 /* enable/disable automatic gdb attach on crash, requires SIGHANDLER */
7731 $_def_crash_debug
7733 /* Toggles debugging informations */
7734 $_def_debug
7736 /* Toggles colorized output */
7737 //#define MSG_USE_COLORS 1
7739 /* Indicates that libcdio is available for VCD and CD-DA playback */
7740 $_def_libcdio
7742 /* Indicates that Ogle's libdvdread is available for DVD playback */
7743 $_def_dvdread
7745 /* Indicates that dvdread is from libmpdvdkit */
7746 $_def_mpdvdkit
7748 /* Additional options for libmpdvdkit*/
7749 $_def_dvd
7750 $_def_cdrom
7751 $_def_cdio
7752 $_def_dvdio
7753 $_def_bsdi_dvd
7754 $_def_dvd_bsd
7755 $_def_dvd_linux
7756 $_dev_dvd_openbsd
7757 $_def_dvd_darwin
7758 $_def_sol_scsi_h
7759 $_def_hpux_scsi_h
7760 $_def_stddef
7761 $_def_have_dvd
7763 /* Common data directory (for fonts, etc) */
7764 #define MPLAYER_DATADIR "$_datadir"
7765 #define MPLAYER_CONFDIR "$_confdir"
7766 #define MPLAYER_LIBDIR "$_libdir"
7768 /* Define this to compile stream-caching support, it can be enabled via
7769 -cache <kilobytes> */
7770 #define USE_STREAM_CACHE 1
7772 /* Define if you are using XviD library */
7773 $_def_xvid3
7774 $_def_xvid4
7775 $_def_decore_xvid
7776 $_def_encore_xvid
7778 /* Define if you are using the X.264 library */
7779 $_def_x264
7781 /* Define if you are using libnut */
7782 $_def_nut
7784 /* Define to include support for libdv-0.9.5 */
7785 $_def_libdv
7787 /* If build mencoder */
7788 $_mencoder_flag
7790 /* Indicates if libmp3lame is available
7791 Note: for mencoder */
7792 $_def_mp3lame
7793 $_def_mp3lame_preset
7794 $_def_mp3lame_preset_medium
7796 /* Define this to enable avg. byte/sec-based AVI sync method by default:
7797 (use -bps or -nobps commandline option for run-time method selection)
7798 -bps gives better sync for vbr mp3 audio, it is now default */
7799 #define AVI_SYNC_BPS 1
7801 /* Undefine this if you do not want to select mono audio (left or right)
7802 with a stereo MPEG layer 2/3 audio stream. The command line option
7803 -stereo has three possible values (0 for stereo, 1 for left-only, 2 for
7804 right-only), with 0 being the default.
7806 #define USE_FAKE_MONO 1
7808 /* Undefine this if your sound card driver has no working select().
7809 If you have kernel Oops, player hangups, or just no audio, you should
7810 try to recompile MPlayer with this option disabled! */
7811 $_def_select
7813 /* define this to use iconv(3) function to codepage conversions */
7814 $_def_iconv
7816 /* define this to use nl_langinfo function */
7817 $_def_langinfo
7819 /* define this to use RTC (/dev/rtc) for video timers */
7820 $_def_rtc
7822 /* set up max. outburst. use 65536 for ALSA 0.5, for others 16384 is enough */
7823 #define MAX_OUTBURST 65536
7825 /* set up audio OUTBURST. Do not change this! */
7826 #define OUTBURST 512
7828 /* Define this if your system has the header file for the OSS sound interface */
7829 $_def_sys_soundcard
7831 /* Define this if your system has the header file for the OSS sound interface
7832 * in /usr/include */
7833 $_def_soundcard
7835 /* Define this if your system has the sysinfo header */
7836 $_def_sys_sysinfo
7838 /* Define this if your system has ftello() */
7840 $_def_ftello
7841 #ifndef HAVE_FTELLO
7842 /* Need these for FILE and off_t an config.h is usually before other includes*/
7843 #include <stdio.h>
7844 #include <sys/types.h>
7845 off_t ftello(FILE *);
7846 #endif
7848 /* Define this if your system has the "malloc.h" header file */
7849 $_def_malloc
7851 /* memalign is mapped to malloc if unsupported */
7852 $_def_memalign
7853 $_def_map_memalign
7854 $_def_memalign_hack
7856 /* assembler handling of .align */
7857 $_def_asmalign_pot
7859 /* Define this if your system has the "alloca.h" header file */
7860 $_def_alloca
7862 /* Define this if your system has the "sys/mman.h" header file */
7863 $_def_mman
7864 $_def_mman_has_map_failed
7866 /* Define this if you have the elf dynamic linker -ldl library */
7867 $_def_dl
7869 /* Define this if you have the kstat kernel statistics library */
7870 $_def_kstat
7872 /* Define this if you have zlib */
7873 $_def_zlib
7874 #ifdef HAVE_ZLIB
7875 #define CONFIG_ZLIB 1
7876 #endif
7878 /* Define this if you have shm support */
7879 $_def_shm
7881 /* Define this if your system has scandir & alphasort */
7882 $_def_scandir
7884 /* Define this if your system has strsep */
7885 $_def_strsep
7887 /* Define this if your system has strlcpy */
7888 $_def_strlcpy
7889 #ifndef HAVE_STRLCPY
7890 unsigned int strlcpy (char *dest, const char *src, unsigned int size);
7891 #endif
7893 /* Define this if your system has strlcat */
7894 $_def_strlcat
7895 #ifndef HAVE_STRLCAT
7896 unsigned int strlcat (char *dest, const char *src, unsigned int size);
7897 #endif
7899 /* Define this if your system has fseeko */
7900 $_def_fseeko
7901 #ifndef HAVE_FSEEKO
7902 /* Need these for FILE and off_t an config.h is usually before other includes*/
7903 #include <stdio.h>
7904 #include <sys/types.h>
7905 int fseeko(FILE *, off_t, int);
7906 #endif
7908 $_def_localtime_r
7910 /* Define this if your system has vsscanf */
7911 $_def_vsscanf
7913 /* Define this if your system has swab */
7914 $_def_swab
7916 /* Define this if your system has no posix select */
7917 $_def_no_posix_select
7919 /* Define this if your system has gettimeofday */
7920 $_def_gettimeofday
7922 /* Define this if your system has glob */
7923 $_def_glob
7925 /* Define this if your system has setenv */
7926 $_def_setenv
7927 #ifndef HAVE_SETENV
7928 int setenv(const char *name, const char *val, int overwrite);
7929 #endif
7931 /* Define this if your system has sysi86 */
7932 $_def_sysi86
7934 /* Define this if your system has pthreads */
7935 $_def_pthreads
7937 /* Define this if you enabled thread support for libavcodec */
7938 $_def_threads
7940 /* LIRC (remote control, see www.lirc.org) support: */
7941 $_def_lirc
7944 * LIRCCD (LIRC client daemon)
7945 * See http://www.dolda2000.cjb.net/~fredrik/lirccd/
7947 $_def_lircc
7949 /* DVD navigation support using libdvdnav */
7950 $_def_dvdnav
7951 $_def_dvdnav_version
7953 /* Define this to enable MPEG 1/2 image postprocessing (requires a FAST CPU!) */
7954 #define MPEG12_POSTPROC 1
7956 /* Define this to enable image postprocessing in libavcodec (requires a FAST CPU!) */
7957 $_def_libpostproc
7958 $_def_libpostproc_so
7960 /* Win32 DLL support */
7961 $_def_win32
7962 #define WIN32_PATH "$_win32libdir"
7964 /* Mac OS X specific features */
7965 $_def_macosx
7966 $_def_macosx_finder_support
7967 $_def_macosx_bundle
7968 $_def_macosx_corevideo
7970 /* Build our Win32-loader */
7971 $_def_win32_loader
7973 /* ffmpeg's libavcodec support (requires libavcodec source) */
7974 $_def_libavcodec
7975 $_def_libavcodec_so
7976 $_def_lavc_dsputil
7977 $_def_libavcodec_mpegaudio_hp
7979 /* ffmpeg's libavformat support (requires libavformat source) */
7980 $_def_libavformat
7981 $_def_libavformat_so
7982 $_def_libavformat_win32
7984 $_def_libavutil
7985 $_def_libavutil_so
7987 /* Use libavcodec's decoders */
7988 #define CONFIG_DECODERS 1
7989 /* Use libavcodec's encoders */
7990 #define CONFIG_ENCODERS 1
7992 /* Use libavformat's demuxers */
7993 #define CONFIG_DEMUXERS 1
7994 /* Use libavformat's muxers */
7995 $_def_muxers
7997 #define CONFIG_GPL 1
7999 /* Use amr codecs from libavcodec (requires amr sources) */
8000 $_def_amr
8001 $_def_amr_nb
8002 $_def_amr_nb_fixed
8003 $_def_amr_wb
8005 /* Use specific parts from FFmpeg. */
8006 `echo $_libavdecoders | tr '[a-z] ' '[A-Z]\n' | sed 's/^/#define CONFIG_/;s/$/ 1/'`
8007 `echo $_libavencoders | tr '[a-z] ' '[A-Z]\n' | sed 's/^/#define CONFIG_/;s/$/ 1/'`
8008 `echo $_libavparsers | tr '[a-z] ' '[A-Z]\n' | sed 's/^/#define CONFIG_/;s/$/ 1/'`
8009 `echo $_libavdemuxers | tr '[a-z] ' '[A-Z]\n' | sed 's/^/#define CONFIG_/;s/$/ 1/'`
8010 `echo $_libavmuxers | tr '[a-z] ' '[A-Z]\n' | sed 's/^/#define CONFIG_/;s/$/ 1/'`
8011 $_def_lavc_faac
8012 $_def_lavc_xvid
8013 $_def_lavc_mp3lame
8014 $_def_lavc_x264
8016 /* Use codec libs included in mplayer CVS / source dist: */
8017 $_def_mp3lib
8018 $_def_liba52
8019 $_def_libdts
8020 $_def_libmpeg2
8022 /* Use libfame encoder filter */
8023 $_def_libfame
8025 /* XAnim DLL support */
8026 $_def_xanim
8027 /* Default search path */
8028 $_def_xanim_path
8030 /* RealPlayer DLL support */
8031 $_def_real
8032 /* Default search path */
8033 $_def_real_path
8035 /* LIVE555 Streaming Media library support */
8036 $_def_live
8038 /* Use 3dnow/mmxext/sse/mmx optimized fast memcpy() [maybe buggy... signal 4]*/
8039 $_def_fastmemcpy
8041 /* Use unrarlib for Vobsubs */
8042 $_def_unrarlib
8044 /* gui support, please do not edit this option */
8045 $_def_gui
8046 $_def_gtk2_gui
8048 /* Audio output drivers */
8049 $_def_ossaudio
8050 $_def_ossaudio_devdsp
8051 $_def_ossaudio_devmixer
8052 $_def_alsa5
8053 $_def_alsa9
8054 $_def_alsa1x
8055 $_def_arts
8056 $_def_esd
8057 $_def_esd_latency
8058 $_def_polyp
8059 $_def_jack
8060 $_def_openal
8061 $_def_sys_asoundlib_h
8062 $_def_alsa_asoundlib_h
8063 $_def_sunaudio
8064 $_def_sgiaudio
8065 $_def_win32waveout
8066 $_def_nas
8068 /* Enable fast OSD/SUB renderer (looks ugly, but uses less CPU power) */
8069 #undef FAST_OSD
8070 #undef FAST_OSD_TABLE
8072 /* Enable TV Interface support */
8073 $_def_tv
8075 /* Enable Video 4 Linux TV interface support */
8076 $_def_tv_v4l
8078 /* Enable Video 4 Linux 1 TV interface support */
8079 $_def_tv_v4l1
8081 /* Enable Video 4 Linux 2 TV interface support */
8082 $_def_tv_v4l2
8084 /* Enable *BSD BrookTree TV interface support */
8085 $_def_tv_bsdbt848
8087 /* Enable Radio Interface support */
8088 $_def_radio
8090 /* Enable Capture for Radio Interface support */
8091 $_def_radio_capture
8093 /* Enable Video 4 Linux Radio interface support */
8094 $_def_radio_v4l
8096 /* Enable Video 4 Linux 2 Radio interface support */
8097 $_def_radio_v4l2
8099 /* Enable Video 4 Linux 2 MPEG PVR support */
8100 $_def_pvr
8102 /* Define if your processor stores words with the most significant
8103 byte first (like Motorola and SPARC, unlike Intel and VAX). */
8104 $_def_words_endian
8106 $_def_arch
8108 /* For the PPC. G5 has the dcbzl when in 64bit mode but G4s and earlier do not
8109 have the instruction. */
8110 $_def_dcbzl
8112 /* libmpeg2 wants ARCH_PPC and the rest of mplayer use ARCH_POWERPC,
8113 * define ARCH_PPC if ARCH_POWERPC is set to cope with that.
8115 #ifdef ARCH_POWERPC
8116 #define ARCH_PPC 1
8117 #endif
8119 /* the same issue as with ARCH_POWERPC but with ffmpeg/libavcodec */
8120 #ifdef ARCH_ARMV4L
8121 #define ARCH_ARM 1
8122 #endif
8124 /* only gcc3 can compile mvi instructions */
8125 $_def_gcc_mvi_support
8127 /* Define this for Cygwin build for win32 */
8128 $_def_confwin32
8130 /* Define this to any prefered value from 386 up to infinity with step 100 */
8131 #define __CPU__ $iproc
8133 $_mp_wordsize
8135 $_def_linux
8137 $_def_vcd
8139 #ifdef sun
8140 #define DEFAULT_CDROM_DEVICE "/vol/dev/aliases/cdrom0"
8141 #define DEFAULT_DVD_DEVICE DEFAULT_CDROM_DEVICE
8142 #elif defined(HPUX)
8143 #define DEFAULT_CDROM_DEVICE "/dev/cdrom"
8144 #define DEFAULT_DVD_DEVICE "/dev/dvd"
8145 #elif defined(WIN32)
8146 #define DEFAULT_CDROM_DEVICE "D:"
8147 #define DEFAULT_DVD_DEVICE "D:"
8148 #elif defined(SYS_DARWIN)
8149 #define DEFAULT_CDROM_DEVICE "/dev/disk1"
8150 #define DEFAULT_DVD_DEVICE "/dev/rdiskN"
8151 #elif defined(__OpenBSD__)
8152 #define DEFAULT_CDROM_DEVICE "/dev/rcd0a"
8153 #define DEFAULT_DVD_DEVICE DEFAULT_CDROM_DEVICE
8154 #elif defined(__FreeBSD__)
8155 #define DEFAULT_CDROM_DEVICE "/dev/acd0"
8156 #define DEFAULT_DVD_DEVICE DEFAULT_CDROM_DEVICE
8157 #else
8158 #define DEFAULT_CDROM_DEVICE "/dev/cdrom"
8159 #define DEFAULT_DVD_DEVICE "/dev/dvd"
8160 #endif
8163 /*----------------------------------------------------------------------------
8165 ** NOTE: Instead of modifying these definitions here, use the
8166 ** --enable/--disable options of the ./configure script!
8167 ** See ./configure --help for details.
8169 *---------------------------------------------------------------------------*/
8171 /* C99 lrintf function available */
8172 $_def_lrintf
8174 /* round function is available */
8175 $_def_round
8177 /* yes, we have inttypes.h */
8178 #define HAVE_INTTYPES_H 1
8180 /* int_fastXY_t emulation */
8181 $_def_fast_inttypes
8183 /* nanosleep support */
8184 $_def_nanosleep
8186 /* SMB support */
8187 $_def_smbsupport
8189 /* termcap flag for getch2.c */
8190 $_def_termcap
8192 /* termios flag for getch2.c */
8193 $_def_termios
8194 $_def_termios_h
8195 $_def_termios_sys_h
8197 /* enable PNG support */
8198 $_def_png
8200 /* enable JPEG support */
8201 $_def_jpeg
8203 /* enable PNM support */
8204 $_def_pnm
8206 /* enable md5sum support */
8207 $_def_md5sum
8209 /* enable GIF support */
8210 $_def_gif
8211 $_def_gif_4
8212 $_def_gif_tvt_hack
8214 /* enable bitmap font support */
8215 $_def_bitmap_font
8217 /* enable FreeType support */
8218 $_def_freetype
8220 /* enable Fontconfig support */
8221 $_def_fontconfig
8223 /* enable SSA/ASS support */
8224 $_def_ass
8226 /* enable FriBiDi usage */
8227 $_def_fribidi
8229 /* enable ENCA usage */
8230 $_def_enca
8232 /* liblzo support */
8233 $_def_liblzo
8234 #ifdef USE_LIBLZO
8235 #define CONFIG_LZO 1
8236 #endif
8238 /* libmad support */
8239 $_def_mad
8241 /* enable OggVorbis support */
8242 $_def_vorbis
8243 $_def_tremor
8245 /* enable Speex support */
8246 $_def_speex
8248 /* enable musepack support */
8249 $_def_musepack
8251 /* enable OggTheora support */
8252 $_def_theora
8254 /* enable FAAD (AAC) support */
8255 $_def_faad
8256 $_def_faad_internal
8258 /* enable FAAC (AAC encoder) support */
8259 $_def_faac
8261 /* enable LADSPA plugin support */
8262 $_def_ladspa
8264 /* enable network */
8265 $_def_network
8267 /* enable ftp support */
8268 $_def_ftp
8270 /* enable vstream support */
8271 $_def_vstream
8273 /* enable winsock2 instead of Unix functions*/
8274 $_def_winsock2
8276 /* define this to use inet_aton() instead of inet_pton() */
8277 $_def_use_aton
8279 /* enables / disables cdparanoia support */
8280 $_def_cdparanoia
8282 /* enables / disables VIDIX usage */
8283 $_def_vidix
8284 $_def_vidix_pfx
8286 /* enables / disables new input joystick support */
8287 $_def_joystick
8289 /* enables / disables QTX codecs */
8290 $_def_qtx
8292 /* enables / disables osd menu */
8293 $_def_menu
8295 /* enables / disables subtitles sorting */
8296 $_def_sortsub
8298 /* XMMS input plugin support */
8299 $_def_xmms
8300 #define XMMS_INPUT_PLUGIN_DIR "$_xmmsplugindir"
8302 /* enables inet6 support */
8303 $_def_inet6
8305 /* do we have gethostbyname2? */
8306 $_def_gethostbyname2
8308 /* Extension defines */
8309 $_def_3dnow // only define if you have 3DNOW (AMD k6-2, AMD Athlon, iDT WinChip, etc.)
8310 $_def_3dnowext // only define if you have 3DNOWEXT (AMD Athlon, etc.)
8311 $_def_mmx // only define if you have MMX (newer x86 chips, not P54C/PPro)
8312 $_def_mmxext // only define if you have MMX2 (Athlon/PIII/4/CelII)
8313 $_def_sse // only define if you have SSE (Intel Pentium III/4 or Celeron II)
8314 $_def_sse2 // only define if you have SSE2 (Intel Pentium 4)
8315 $_def_altivec // only define if you have Altivec (G4)
8316 $_def_armv5te // only define if you have Enhanced DSP Extensions (ARM)
8317 $_def_iwmmxt // only define if you have XScale IWMMX (ARM)
8319 $_def_altivec_h // enables usage of altivec.h
8321 $_def_builtin_vector // enables usage of xmmintrin.h
8322 $_def_mm3dnow // enables usage of mm3dnow.h
8324 $_def_mlib // Sun mediaLib, available only on solaris
8325 $_def_vis // only define if you have VIS ( ultrasparc )
8327 /* libmpeg2 uses a different feature test macro for mediaLib */
8328 #ifdef HAVE_MLIB
8329 #define LIBMPEG2_MLIB 1
8330 #endif
8332 /* libvo options */
8333 #define SCREEN_SIZE_X 1
8334 #define SCREEN_SIZE_Y 1
8335 $_def_x11
8336 $_def_xv
8337 $_def_xvmc
8338 $_def_vm
8339 $_def_xf86keysym
8340 $_def_xinerama
8341 $_def_gl
8342 $_def_gl_win32
8343 $_def_dga
8344 $_def_dga2
8345 $_def_sdl
8346 /* defined for SDLlib with keyrepeat bugs (before 1.2.1) */
8347 $_def_sdlbuggy
8348 $_def_directx
8349 $_def_ggi
8350 $_def_ggiwmh
8351 $_def_3dfx
8352 $_def_s3fb
8353 $_def_tdfxfb
8354 $_def_tdfxvid
8355 $_def_directfb
8356 $_def_directfb_version
8357 $_def_zr
8358 $_def_bl
8359 $_def_mga
8360 $_def_xmga
8361 $_def_syncfb
8362 $_def_fbdev
8363 $_def_dxr2
8364 $_def_dxr3
8365 $_def_ivtv
8366 $_def_dvb
8367 $_def_dvb_in
8368 $_def_svga
8369 $_def_vesa
8370 $_def_xdpms
8371 $_def_aa
8372 $_def_caca
8373 $_def_tga
8374 $_def_toolame
8375 $_def_twolame
8377 /* used by GUI: */
8378 $_def_xshape
8380 #if defined(HAVE_GL) || defined(HAVE_X11) || defined(HAVE_XV)
8381 #define X11_FULLSCREEN 1
8382 #endif
8384 #endif /* MPLAYER_CONFIG_H */
8387 #############################################################################
8389 cat << EOF
8391 Config files successfully generated by ./configure !
8393 Install prefix: $_prefix
8394 Data directory: $_datadir
8395 Config direct.: $_confdir
8397 Byte order: $_byte_order
8398 Optimizing for: $_optimizing
8400 Languages:
8401 Messages/GUI: $_language
8404 echo -n " Manual pages: $MAN_LANG"
8405 test "$LANGUAGES" = en && echo -n " (no localization selected, use --language=all)"
8406 echo
8408 cat << EOF
8410 Enabled optional drivers:
8411 Input: $_inputmodules
8412 Codecs: $_codecmodules
8413 Audio output: $_aomodules
8414 Video output: $_vomodules
8415 Audio filters: $_afmodules
8416 Disabled optional drivers:
8417 Input: $_noinputmodules
8418 Codecs: $_nocodecmodules
8419 Audio output: $_noaomodules
8420 Video output: $_novomodules
8421 Audio filters: $_noafmodules
8423 'config.h' and 'config.mak' contain your configuration options.
8424 Note: If you alter theses files (for instance CFLAGS) MPlayer may no longer
8425 compile *** DO NOT REPORT BUGS if you tweak these files ***
8427 'make' will now compile MPlayer and 'make install' will install it.
8428 Note: On non-Linux systems you might need to use 'gmake' instead of 'make'.
8433 if test "$_mtrr" = yes ; then
8434 echo "Please check mtrr settings at /proc/mtrr (see DOCS/HTML/$_doc_lang/video.html#mtrr)"
8435 echo
8438 if test "$_sdl" = "outdated" ; then
8439 cat <<EOF
8440 You have an outdated version of libSDL installed (older than v1.1.7) and SDL
8441 support has therefore been disabled.
8443 Please upgrade to a more recent version (version 1.1.8 and above are known to
8444 work). You may get this library from: http://www.libsdl.org
8446 You need to rerun ./configure and recompile after updating SDL. If you are
8447 only interested in the libSDL audio drivers, then an older version might work.
8449 Use --enable-sdl to force usage of libSDL.
8454 if x86; then
8455 if test "$_win32" = no ; then
8456 if test "$_win32libdir" ; then
8457 echo "Failed to find a Win32 codecs dir at $_win32libdir!"
8458 else
8459 echo "Failed to find a Win32 codecs directory! (default: /usr/local/lib/codecs/)"
8461 cat << EOF
8462 Create it and copy the DLL files there! You can download the codecs from our
8463 homepage at http://www.mplayerhq.hu/MPlayer/releases/codecs/
8467 else
8468 cat <<EOF
8469 NOTE: Win32 codec DLLs are not supported on your CPU ($host_arch) or your
8470 operating system ($system_name). You may encounter a few files that cannot
8471 be played due to missing open source video/audio codec support.
8477 cat <<EOF
8479 Check $TMPLOG if you wonder why an autodetection failed (check whether
8480 the development headers/packages are installed).
8481 Do not report compilation errors if you used any of the --enable-* options
8482 (except --enable-gui and maybe --enable-debug).
8484 If you suspect a bug, please read DOCS/HTML/$_doc_lang/bugreports.html.
8488 if test "$_warn_CFLAGS" = yes; then
8489 cat <<EOF
8491 MPlayer compilation will use the CPPFLAGS/CFLAGS/LDFLAGS set by you, but:
8493 *** *** DO NOT REPORT BUGS IF IT DOES NOT COMPILE/WORK! *** ***
8495 It is strongly recommended to let MPlayer choose the correct CFLAGS!
8496 To do so, execute 'CFLAGS= ./configure <options>'
8501 # Last move:
8502 rm -f "$TMPO" "$TMPC" "$TMPS" "$TMPCPP"