synced with r21959
[mplayer/greg.git] / configure
blob332d3c16f4889331a3c66185a908c0651eed4055
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 # Store the configure line that was used
57 _configuration="$*"
59 # Prefer these macros to full length text !
60 # These macros only return an error code - NO display is done
61 compile_check() {
62 echo >> "$TMPLOG"
63 cat "$1" >> "$TMPLOG"
64 echo >> "$TMPLOG"
65 echo "$_cc $CFLAGS $_inc_extra $_ld_static $_ld_extra $_libs_mplayer $_libs_mencoder -o $TMPO $@" >> "$TMPLOG"
66 rm -f "$TMPO"
67 $_cc $CFLAGS $_inc_extra $_ld_static $_ld_extra $_libs_mplayer $_libs_mencoder -o "$TMPO" "$@" >> "$TMPLOG" 2>&1
68 TMP="$?"
69 echo >> "$TMPLOG"
70 echo "ldd $TMPO" >> "$TMPLOG"
71 $_ldd "$TMPO" >> "$TMPLOG" 2>&1
72 echo >> "$TMPLOG"
73 return "$TMP"
76 cc_check() {
77 compile_check $TMPC $@
80 cxx_check() {
81 compile_check $TMPCPP $@ -lstdc++
84 tmp_run() {
85 "$TMPO" >> "$TMPLOG" 2>&1
88 # Display error message, flushes tempfile, exit
89 die () {
90 echo
91 echo "Error: $@" >&2
92 echo >&2
93 rm -f "$TMPO" "$TMPC" "$TMPS" "$TMPCPP"
94 echo "Check \"$TMPLOG\" if you do not understand why it failed."
95 exit 1
98 # OS test booleans functions
99 issystem() {
100 test "`echo $system_name | tr A-Z a-z`" = "`echo $1 | tr A-Z a-z`"
102 linux() { issystem "Linux" ; return "$?" ; }
103 sunos() { issystem "SunOS" ; return "$?" ; }
104 hpux() { issystem "HP-UX" ; return "$?" ; }
105 irix() { issystem "IRIX" ; return "$?" ; }
106 aix() { issystem "AIX" ; return "$?" ; }
107 cygwin() { issystem "CYGWIN" ; return "$?" ; }
108 freebsd() { issystem "FreeBSD" || issystem "GNU/kFreeBSD"; return "$?" ; }
109 netbsd() { issystem "NetBSD" ; return "$?" ; }
110 bsdos() { issystem "BSD/OS" ; return "$?" ; }
111 openbsd() { issystem "OpenBSD" ; return "$?" ; }
112 bsd() { freebsd || netbsd || bsdos || openbsd ; return "$?" ; }
113 qnx() { issystem "QNX" ; return "$?" ; }
114 darwin() { issystem "Darwin" ; return "$?" ; }
115 gnu() { issystem "GNU" ; return "$?" ; }
116 mingw32() { issystem "MINGW32" ; return "$?" ; }
117 morphos() { issystem "MorphOS" ; return "$?" ; }
118 win32() { cygwin || mingw32 ; return "$?" ; }
119 beos() { issystem "BEOS" ; return "$?" ; }
121 # arch test boolean functions
122 # x86/x86pc is used by QNX
123 x86_32() {
124 case "$host_arch" in
125 i[3-9]86|x86|x86pc|k5|k6|k6-2|k6-3|pentium*|athlon*|i586-i686) return 0 ;;
126 *) return 1 ;;
127 esac
130 x86_64() {
131 case "$host_arch" in
132 x86_64|amd64) return 0 ;;
133 *) return 1 ;;
134 esac
137 x86() {
138 x86_32 || x86_64
141 ppc() {
142 case "$host_arch" in
143 ppc) return 0;;
144 *) return 1;;
145 esac
148 alpha() {
149 case "$host_arch" in
150 alpha) return 0;;
151 *) return 1;;
152 esac
155 arm() {
156 case "$host_arch" in
157 arm) return 0;;
158 *) return 1;;
159 esac
162 # not boolean test: implement the posix shell "!" operator for a
163 # non-posix /bin/sh.
164 # usage: not {command}
165 # returns exit status "success" when the execution of "command"
166 # fails.
167 not() {
168 eval "$@"
169 test $? -ne 0
172 # Use this before starting a check
173 echocheck() {
174 echo "============ Checking for $@ ============" >> "$TMPLOG"
175 echo ${_echo_n} "Checking for $@ ... ${_echo_c}"
178 # Use this to echo the results of a check
179 echores() {
180 if test "$_res_comment" ; then
181 _res_comment="($_res_comment)"
183 echo "Result is: $@ $_res_comment" >> "$TMPLOG"
184 echo "##########################################" >> "$TMPLOG"
185 echo "" >> "$TMPLOG"
186 echo "$@ $_res_comment"
187 _res_comment=""
189 #############################################################################
191 # Check how echo works in this /bin/sh
192 case `echo -n` in
193 -n) _echo_n= _echo_c='\c' ;; # SysV echo
194 *) _echo_n='-n ' _echo_c= ;; # BSD echo
195 esac
197 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"`
199 show_help(){
200 cat << EOF
201 Usage: $0 [OPTIONS]...
203 Configuration:
204 -h, --help display this help and exit
206 Installation directories:
207 --prefix=DIR prefix directory for installation [/usr/local]
208 --bindir=DIR directory for installing binaries [PREFIX/bin]
209 --datadir=DIR directory for installing machine independent
210 data files (skins, etc) [PREFIX/share/mplayer]
211 --mandir=DIR directory for installing man pages [PREFIX/man]
212 --confdir=DIR directory for installing configuration files
213 [PREFIX/etc/mplayer]
214 --libdir=DIR directory for object code libraries [PREFIX/lib]
215 --codecsdir=DIR directory for binary codecs [LIBDIR/codecs]
216 --win32codecsdir=DIR directory for Windows DLLs [LIBDIR/codecs]
217 --xanimcodecsdir=DIR directory for XAnim codecs [LIBDIR/codecs]
218 --realcodecsdir=DIR directory for RealPlayer codecs [LIBDIR/codecs]
220 Optional features:
221 --disable-mencoder disable MEncoder (A/V encoder) compilation [enable]
222 --disable-mplayer disable MPlayer compilation [enable]
223 --enable-gui enable GMPlayer compilation (GTK+ GUI) [disable]
224 --enable-gtk1 force using GTK 1.2 for the GUI [disable]
225 --enable-largefiles enable support for files > 2GB [disable]
226 --enable-linux-devfs set default devices to devfs [disable]
227 --enable-termcap use termcap database for key codes [autodetect]
228 --enable-termios use termios database for key codes [autodetect]
229 --disable-iconv disable iconv for encoding conversion [autodetect]
230 --disable-langinfo do not use langinfo [autodetect]
231 --enable-lirc enable LIRC (remote control) support [autodetect]
232 --enable-lircc enable LIRCCD (LIRC client daemon) input [autodetect]
233 --enable-joystick enable joystick support [disable]
234 --disable-vm disable X video mode extensions [autodetect]
235 --disable-xf86keysym disable support for multimedia keys [autodetect]
236 --enable-radio enable radio interface [disable]
237 --enable-radio-capture enable radio capture (through PCI/line-in) [disable]
238 --disable-radio-v4l2 disable Video4Linux2 radio interface [autodetect]
239 --disable-radio-bsdbt848 disable BSD BT848 radio interface [autodetect]
240 --disable-tv disable TV interface (TV/DVB grabbers) [enable]
241 --disable-tv-v4l1 disable Video4Linux TV interface [autodetect]
242 --disable-tv-v4l2 disable Video4Linux2 TV interface [autodetect]
243 --disable-tv-bsdbt848 disable BSD BT848 interface [autodetect]
244 --disable-pvr disable Video4Linux2 MPEG PVR [autodetect]
245 --disable-rtc disable RTC (/dev/rtc) on Linux [autodetect]
246 --disable-network disable networking [enable]
247 --enable-winsock2 enable winsock2 [autodetect]
248 --enable-smb enable Samba (SMB) input [autodetect]
249 --enable-live enable LIVE555 Streaming Media [autodetect]
250 --disable-dvdnav disable libdvdnav [autodetect]
251 --disable-dvdread disable libdvdread [autodetect]
252 --disable-dvdread-internal disable internal libdvdread [autodetect]
253 --disable-libdvdcss-internal disable internal libdvdcss [autodetect]
254 --disable-cdparanoia disable cdparanoia [autodetect]
255 --disable-cddb disable cddb [autodetect]
256 --disable-bitmap-font disable bitmap font support [enable]
257 --disable-freetype disable FreeType 2 font rendering [autodetect]
258 --disable-fontconfig disable fontconfig font lookup [autodetect]
259 --disable-unrarlib disable Unique RAR File Library [enabled]
260 --enable-menu enable OSD menu (not DVD menu) [disabled]
261 --disable-sortsub disable subtitle sorting [enabled]
262 --enable-fribidi enable the FriBiDi libs [autodetect]
263 --disable-enca disable ENCA charset oracle library [autodetect]
264 --disable-macosx disable Mac OS X specific features [autodetect]
265 --disable-maemo disable maemo specific features [autodetect]
266 --enable-macosx-finder-support enable Mac OS X Finder invocation
267 parameter parsing [disabled]
268 --enable-macosx-bundle enable Mac OS X bundle file locations [autodetect]
269 --disable-inet6 disable IPv6 support [autodetect]
270 --disable-gethostbyname2 gethostbyname2 part of the C library [autodetect]
271 --disable-ftp disable FTP support [enabled]
272 --disable-vstream disable TiVo vstream client support [autodetect]
273 --disable-pthreads disable Posix threads support [autodetect]
274 --disable-ass disable internal SSA/ASS subtitle support [autodetect]
275 --enable-rpath enable runtime linker path for extra libs [disabled]
277 Codecs:
278 --enable-gif enable GIF support [autodetect]
279 --enable-png enable PNG input/output support [autodetect]
280 --enable-jpeg enable JPEG input/output support [autodetect]
281 --enable-libcdio enable external libcdio [autodetect]
282 --enable-liblzo enable external liblzo [autodetect]
283 --disable-win32 disable Win32 DLL support [enabled]
284 --disable-qtx disable QuickTime codecs support [enabled]
285 --disable-xanim disable XAnim codecs support [enabled]
286 --disable-real disable RealPlayer codecs support [enabled]
287 --disable-xvid disable XviD [autodetect]
288 --disable-x264 disable x264 [autodetect]
289 --disable-nut disable libnut [autodetect]
290 --disable-libavutil disable libavutil [autodetect]
291 --disable-libavcodec disable libavcodec [autodetect]
292 --disable-libavformat disable libavformat [autodetect]
293 --disable-libpostproc disable libpostproc [autodetect]
294 --disable-libavutil_so disable shared libavutil [autodetect]
295 --disable-libavcodec_so disable shared libavcodec [autodetect]
296 --disable-libavformat_so disable shared libavformat [autodetect]
297 --disable-libpostproc_so disable shared libpostproc [autodetect]
298 --disable-libavcodec_mpegaudio_hp disable high precision audio decoding
299 in libavcodec [enabled]
300 --disable-tremor-internal disable internal Tremor [enabled]
301 --enable-tremor-low enable lower accuracy internal Tremor [disabled]
302 --enable-tremor-external enable external Tremor [autodetect]
303 --disable-libvorbis disable libvorbis support [autodetect]
304 --disable-speex disable Speex support [autodetect]
305 --enable-theora enable OggTheora libraries [autodetect]
306 --enable-faad-external enable external FAAD2 (AAC) [autodetect]
307 --disable-faad-internal disable internal FAAD2 (AAC) [autodetect]
308 --enable-faad-fixed enable fixed-point mode in internal FAAD2 [disabled]
309 --disable-faac disable support for FAAC (AAC encoder) [autodetect]
310 --disable-ladspa disable LADSPA plugin support [autodetect]
311 --disable-libdv disable libdv 0.9.5 en/decoding support [autodetect]
312 --disable-mad disable libmad (MPEG audio) support [autodetect]
313 --disable-toolame disable Toolame (MPEG layer 2) encoding [autodetect]
314 --disable-twolame disable Twolame (MPEG layer 2) encoding [autodetect]
315 --enable-xmms enable XMMS input plugin support [disabled]
316 --enable-libdts enable libdts support [autodetect]
317 --disable-mp3lib disable builtin mp3lib [enabled]
318 --disable-liba52 disable builtin liba52 [enabled]
319 --disable-libmpeg2 disable builtin libmpeg2 [enabled]
320 --disable-musepack disable musepack support [autodetect]
321 --disable-amr_nb disable AMR narrowband, floating-point [autodetect]
322 --disable-amr_nb-fixed disable AMR narrowband, fixed-point [autodetect]
323 --disable-amr_wb disable AMR wideband, floating-point [autodetect]
324 --disable-decoder=DECODER disable specified FFmpeg decoder
325 --enable-decoder=DECODER enable specified FFmpeg decoder
326 --disable-encoder=ENCODER disable specified FFmpeg encoder
327 --enable-encoder=ENCODER enable specified FFmpeg encoder
328 --disable-parser=PARSER disable specified FFmpeg parser
329 --enable-parser=PARSER enable specified FFmpeg parser
330 --disable-demuxer=DEMUXER disable specified FFmpeg demuxer
331 --enable-demuxer=DEMUXER enable specified FFmpeg demuxer
332 --disable-muxer=MUXER disable specified FFmpeg muxer
333 --enable-muxer=MUXER enable specified FFmpeg muxer
335 Video output:
336 --disable-vidix-internal disable internal VIDIX [for x86 *nix]
337 --disable-vidix-external disable external VIDIX [for x86 *nix]
338 --enable-gl enable OpenGL video output [autodetect]
339 --enable-dga[=n] enable DGA [n in {1, 2} ] support [autodetect]
340 --enable-vesa enable VESA video output [autodetect]
341 --enable-svga enable SVGAlib video output [autodetect]
342 --enable-sdl enable SDL video output [autodetect]
343 --enable-aa enable AAlib video output [autodetect]
344 --enable-caca enable CACA video output [autodetect]
345 --enable-ggi enable GGI video output [autodetect]
346 --enable-ggiwmh enable GGI libggiwmh extension [autodetect]
347 --enable-directx enable DirectX video output [autodetect]
348 --enable-dxr2 enable DXR2 video output [autodetect]
349 --enable-dxr3 enable DXR3/H+ video output [autodetect]
350 --enable-ivtv enable IVTV TV-Out video output [autodetect]
351 --enable-dvb enable DVB video output [autodetect]
352 --enable-dvbhead enable DVB video output (HEAD version) [autodetect]
353 --enable-mga enable mga_vid video output [autodetect]
354 --enable-xmga enable mga_vid X11 video output [autodetect]
355 --enable-xv enable Xv video output [autodetect]
356 --enable-xvmc enable XvMC acceleration [disable]
357 --enable-vm enable XF86VidMode support [autodetect]
358 --enable-xinerama enable Xinerama support [autodetect]
359 --enable-x11 enable X11 video output [autodetect]
360 --enable-xshape enable XShape support [autodetect]
361 --enable-fbdev enable FBDev video output [autodetect]
362 --enable-mlib enable mediaLib video output (Solaris) [disable]
363 --enable-3dfx enable obsolete /dev/3dfx video output [disable]
364 --enable-tdfxfb enable tdfxfb video output [disable]
365 --enable-s3fb enable s3fb (S3 ViRGE) video output [disable]
366 --enable-directfb enable DirectFB video output [autodetect]
367 --enable-zr enable ZR360[56]7/ZR36060 video output [autodetect]
368 --enable-bl enable Blinkenlights video output [disable]
369 --enable-tdfxvid enable tdfx_vid video output [disable]
370 --disable-tga disable Targa video output [enable]
371 --disable-pnm disable PNM video output [enable]
372 --disable-md5sum disable md5sum video output [enable]
374 Audio output:
375 --disable-alsa disable ALSA audio output [autodetect]
376 --disable-ossaudio disable OSS audio output [autodetect]
377 --disable-arts disable aRts audio output [autodetect]
378 --disable-esd disable esd audio output [autodetect]
379 --disable-polyp disable Polypaudio audio output [autodetect]
380 --disable-jack disable JACK audio output [autodetect]
381 --disable-openal disable OpenAL audio output [autodetect]
382 --disable-nas disable NAS audio output [autodetect]
383 --disable-sgiaudio disable SGI audio output [autodetect]
384 --disable-sunaudio disable Sun audio output [autodetect]
385 --disable-win32waveout disable Windows waveout audio output [autodetect]
386 --disable-select disable using select() on the audio device [enable]
388 Miscellaneous options:
389 --enable-runtime-cpudetection enable runtime CPU detection [disable]
390 --enable-cross-compile enable cross-compilation [autodetect]
391 --cc=COMPILER C compiler to build MPlayer [gcc]
392 --host-cc=COMPILER C compiler for tools needed while building [gcc]
393 --as=ASSEMBLER assembler to build MPlayer [as]
394 --target=PLATFORM target platform (i386-linux, arm-linux, etc)
395 --enable-static build a statically linked binary
396 --charset=charset convert the console messages to this character set
397 --language=list a white space or comma separated list of languages for
398 translated man pages, the first language is used for
399 messages and the GUI (the environment variable
400 \$LINGUAS is also honored) [en]
401 (Available: $LANGUAGES all)
402 --with-install=PATH path to a custom install program
403 --enable-color-console enable color console output (UNSUPPORTED) [disable]
405 Advanced options:
406 --enable-mmx enable MMX [autodetect]
407 --enable-mmxext enable MMX2 (Pentium III, Athlon) [autodetect]
408 --enable-3dnow enable 3DNow! [autodetect]
409 --enable-3dnowext enable extended 3DNow! [autodetect]
410 --enable-sse enable SSE [autodetect]
411 --enable-sse2 enable SSE2 [autodetect]
412 --enable-shm enable shm [autodetect]
413 --enable-altivec enable AltiVec (PowerPC) [autodetect]
414 --enable-armv5te enable DSP extensions (ARM) [autodetect]
415 --enable-iwmmxt enable iWMMXt (ARM) [autodetect]
416 --disable-fastmemcpy disable 3DNow!/SSE/MMX optimized memcpy [enable]
417 --enable-big-endian force byte order to big-endian [autodetect]
418 --enable-debug[=1-3] compile-in debugging information [disable]
419 --enable-profile compile-in profiling information [disable]
420 --disable-sighandler disable sighandler for crashes [enable]
421 --enable-crash-debug enable automatic gdb attach on crash [disable]
422 --enable-dynamic-plugins enable dynamic A/V plugins [disable]
424 Hazardous options AKA "DO NOT REPORT ANY BUGS!"
425 --disable-gcc-check disable gcc version checking [enable]
427 Use these options if autodetection fails (Options marked with (*) accept
428 multiple paths separated by ':'):
429 --extra-libs=FLAGS extra linker flags
430 --extra-libs-mplayer=FLAGS extra linker flags for MPlayer
431 --extra-libs-mencoder=FLAGS extra linker flags for MEncoder
432 --with-extraincdir=DIR extra header search paths in DIR (*)
433 --with-extralibdir=DIR extra linker search paths in DIR (*)
434 --with-xvmclib=NAME adapter-specific library name (e.g. XvMCNVIDIA)
436 --with-freetype-config=PATH path to freetype-config
437 --with-fribidi-config=PATH path to fribidi-config
438 --with-glib-config=PATH path to glib*-config
439 --with-gtk-config=PATH path to gtk*-config
440 --with-sdl-config=PATH path to sdl*-config
441 --with-dvdnav-config=PATH path to dvdnav-config
443 This configure script is NOT autoconf-based, even though its output is similar.
444 It will try to autodetect all configuration options. If you --enable an option
445 it will be forcefully turned on, skipping autodetection. This can break
446 compilation, so you need to know what you are doing.
448 exit 0
449 } #show_help()
451 for parm in "$@" ; do
452 case $parm in
453 --help|-help|-h)
454 show_help
455 esac
456 done
458 # 1st pass checking for vital options
459 _mmx=auto
460 _3dnow=auto
461 _3dnowext=auto
462 _mmxext=auto
463 _sse=auto
464 _sse2=auto
465 _cmov=auto
466 _armv5te=auto
467 _iwmmxt=auto
468 _mtrr=auto
469 _install=install
470 _ranlib=ranlib
471 _cc=cc
472 test "$CC" && _cc="$CC"
473 _gcc_check=yes
474 _as=auto
475 _runtime_cpudetection=no
476 _cross_compile=auto
477 for ac_option do
478 case "$ac_option" in
479 --target=*)
480 _target=`echo $ac_option | cut -d '=' -f 2`
482 --cc=*)
483 _cc=`echo $ac_option | cut -d '=' -f 2`
485 --host-cc=*)
486 _host_cc=`echo $ac_option | cut -d '=' -f 2`
488 --as=*)
489 _as=`echo $ac_option | cut -d '=' -f 2`
491 --enable-gcc-check)
492 _gcc_check=yes
494 --disable-gcc-check)
495 _gcc_check=no
497 --enable-static)
498 _ld_static='-static'
500 --disable-static)
501 _ld_static=''
503 --with-extraincdir=*)
504 _inc_extra=-I`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -I,g'`
506 --with-extralibdir=*)
507 _ld_extra=-L`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
509 --extra-libs=*)
510 _extra_libs=`echo $ac_option | cut -d '=' -f 2`
512 --extra-libs-mplayer=*)
513 _libs_mplayer=`echo $ac_option | cut -d '=' -f 2`
515 --extra-libs-mencoder=*)
516 _libs_mencoder=`echo $ac_option | cut -d '=' -f 2`
518 --enable-runtime-cpudetection)
519 _runtime_cpudetection=yes
521 --disable-runtime-cpudetection)
522 _runtime_cpudetection=no
524 --enable-cross-compile)
525 _cross_compile=yes
527 --disable-cross-compile)
528 _cross_compile=no
530 --with-install=*)
531 _install=`echo $ac_option | cut -d '=' -f 2 `
533 --enable-profile)
534 _profile='-p'
536 --disable-profile)
537 _profile=
539 --enable-debug)
540 _debug='-g'
542 --enable-debug=*)
543 _debug=`echo $_echo_n '-g'$_echo_c; echo $ac_option | cut -d '=' -f 2`
545 --disable-debug)
546 _debug=
548 esac
549 done
551 # Determine our OS name and CPU architecture
552 if test -z "$_target" ; then
553 # OS name
554 system_name=`uname -s 2>&1`
555 case "$system_name" in
556 Linux|FreeBSD|NetBSD|BSD/OS|OpenBSD|SunOS|QNX|Darwin|GNU|BeOS|MorphOS|AIX)
558 IRIX*)
559 system_name=IRIX
561 GNU/kFreeBSD)
562 system_name=FreeBSD
564 HP-UX*)
565 system_name=HP-UX
567 [cC][yY][gG][wW][iI][nN]*)
568 system_name=CYGWIN
570 MINGW32*)
571 system_name=MINGW32
574 system_name="$system_name-UNKNOWN"
576 esac
579 # host's CPU/instruction set
580 host_arch=`uname -p 2>&1`
581 case "$host_arch" in
582 i386|sparc|ppc|alpha|arm|mips|vax)
584 powerpc) # Darwin returns 'powerpc'
585 host_arch=ppc
587 *) # uname -p on Linux returns 'unknown' for the processor type,
588 # OpenBSD returns 'Intel Pentium/MMX ("Genuine Intel" 586-class)'
590 # Maybe uname -m (machine hardware name) returns something we
591 # recognize.
593 # x86/x86pc is used by QNX
594 case "`uname -m 2>&1`" in
595 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 ;;
596 ia64) host_arch=ia64 ;;
597 x86_64|amd64)
598 if [ -n "`$_cc -dumpmachine | sed -n '/^x86_64-/p;/^amd64-/p'`" -a \
599 -z "`echo $CFLAGS | grep -- -m32`" ]; then
600 host_arch=x86_64
601 else
602 host_arch=i386
605 macppc|ppc|ppc64) host_arch=ppc ;;
606 alpha) host_arch=alpha ;;
607 sparc) host_arch=sparc ;;
608 sparc64) host_arch=sparc64 ;;
609 parisc*|hppa*|9000*) host_arch=hppa ;;
610 arm*|zaurus|cats) host_arch=arm ;;
611 s390) host_arch=s390 ;;
612 s390x) host_arch=s390x ;;
613 mips*) host_arch=mips ;;
614 vax) host_arch=vax ;;
615 *) host_arch=UNKNOWN ;;
616 esac
618 esac
619 else # if test -z "$_target"
620 system_name=`echo $_target | cut -d '-' -f 2`
621 case "`echo $system_name | tr A-Z a-z`" in
622 linux) system_name=Linux ;;
623 freebsd) system_name=FreeBSD ;;
624 gnu/kfreebsd) system_name=FreeBSD ;;
625 netbsd) system_name=NetBSD ;;
626 bsd/os) system_name=BSD/OS ;;
627 openbsd) system_name=OpenBSD ;;
628 sunos) system_name=SunOS ;;
629 qnx) system_name=QNX ;;
630 morphos) system_name=MorphOS ;;
631 mingw32msvc) system_name=MINGW32 ;;
632 esac
633 # We need to convert underscores so that values like k6-2 and pentium-mmx can be passed
634 host_arch=`echo $_target | cut -d '-' -f 1 | tr '_' '-'`
637 echo "Detected operating system: $system_name"
638 echo "Detected host architecture: $host_arch"
640 if test "$_runtime_cpudetection" = yes && not x86 && not ppc; then
641 die "Runtime CPU detection only works for x86, x86-64 and PPC!"
644 # LGB: temporary files
645 for I in "$TMPDIR" "$TEMPDIR" "/tmp" ; do
646 test "$I" && break
647 done
649 TMPLOG="configure.log"
650 rm -f "$TMPLOG"
651 TMPC="$I/mplayer-conf-$RANDOM-$$.c"
652 TMPCPP="$I/mplayer-conf-$RANDOM-$$.cpp"
653 TMPO="$I/mplayer-conf-$RANDOM-$$.o"
654 TMPS="$I/mplayer-conf-$RANDOM-$$.S"
656 # config files
658 # FIXME: A lot of stuff is installed under /usr/local
659 # NK: But we should never use this stuff implicitly since we call compiler
660 # from /usr we should be sure that there no effects from other compilers
661 # (libraries) which might be installed into /usr/local. Let users use this
662 # stuff explicitly as command line argument. In other words: It would be
663 # resonable to have only /usr/include or only /usr/local/include.
665 if freebsd ; then
666 _ld_extra="$_ld_extra -L/usr/local/lib"
667 _inc_extra="$_inc_extra -I/usr/local/include"
670 _ldd=ldd
671 if darwin; then
672 _ldd="otool -L"
673 _ld_extra="$_ld_extra -L/usr/local/lib"
674 _inc_extra="$_inc_extra -I/usr/local/include"
677 if aix ; then
678 _ld_extra="$_ld_extra -lC"
681 # Check how to call 'head' and 'tail'. Newer versions spit out warnings
682 # if used as 'head -1' instead of 'head -n 1', but older versions don't
683 # know about '-n'.
684 if test "`(echo line1 ; echo line2) | head -1 2>/dev/null`" = "line1" ; then
685 _head() { head -$1 2>/dev/null ; }
686 else
687 _head() { head -n $1 2>/dev/null ; }
689 if test "`(echo line1 ; echo line2) | tail -1 2>/dev/null`" = "line2" ; then
690 _tail() { tail -$1 2>/dev/null ; }
691 else
692 _tail() { tail -n $1 2>/dev/null ; }
695 # Checking CC version...
696 if test "$_gcc_check" = yes ; then
697 # Intel C++ Compilers (no autoselect, use CC=/some/binary ./configure)
698 if test "`basename $_cc`" = "icc" || test "`basename $_cc`" = "ecc"; then
699 echocheck "$_cc version"
700 cc_vendor=intel
701 cc_name=`$_cc -V 2>&1 | _head 1 | cut -d ',' -f 1`
702 cc_version=`$_cc -V 2>&1 | _head 1 | cut -d ',' -f 2 | cut -d ' ' -f 3`
703 _cc_major=`echo $cc_version | cut -d '.' -f 1`
704 _cc_minor=`echo $cc_version | cut -d '.' -f 2`
705 # TODO verify older icc/ecc compatibility
706 case $cc_version in
708 cc_version="v. ?.??, bad"
709 cc_verc_fail=yes
711 8.0|9.1)
712 cc_version="$cc_version, ok"
713 cc_verc_fail=no
716 cc_version="$cc_version, bad"
717 cc_verc_fail=yes
719 esac
720 echores "$cc_version"
721 else
722 for _cc in "$_cc" gcc gcc-3.4 gcc-3.3 gcc-3.2 gcc-3.1 gcc3 gcc-3.0 cc ; do
723 echocheck "$_cc version"
724 cc_vendor=gnu
725 cc_name=`$_cc -v 2>&1 | _tail 1 | cut -d ' ' -f 1`
726 cc_version=`$_cc -dumpversion 2>&1`
727 if test "$?" -gt 0; then
728 cc_version="not found"
730 case $cc_version in
732 cc_version="v. ?.??, bad"
733 cc_verc_fail=yes
735 2.95.[2-9]|2.95.[2-9][-.]*|[3-4].*)
736 _cc_major=`echo $cc_version | cut -d '.' -f 1`
737 _cc_minor=`echo $cc_version | cut -d '.' -f 2`
738 _cc_mini=`echo $cc_version | cut -d '.' -f 3`
739 cc_version="$cc_version, ok"
740 cc_verc_fail=no
742 'not found')
743 cc_verc_fail=yes
746 cc_version="$cc_version, bad"
747 cc_verc_fail=yes
749 esac
750 echores "$cc_version"
751 test "$cc_verc_fail" = "no" && break
752 done
753 fi # icc
754 if test "$cc_verc_fail" = yes ; then
755 cat <<EOF
757 *** Please downgrade/upgrade C compiler to version gcc-2.95, 3.x or 4.x! ***
759 You are not using a supported compiler. We do not have the time to make sure
760 everything works with compilers other than the ones we use. Use either the
761 same compiler as we do, or use --disable-gcc-check but DO *NOT* REPORT BUGS
762 unless you can reproduce them after recompiling with a 2.95.x or 3/4.x version!
764 Note for gcc 2.96 users: Some versions of this compiler are known to miscompile
765 mplayer and lame (which is used for mencoder). If you get compile errors,
766 first upgrade to the latest 2.96 release (minimum 2.96-85) and try again.
767 If the problem still exists, try with gcc 3.x (or 2.95.x) *BEFORE* reporting
768 bugs!
770 GCC 2.96 IS NOT AND WILL NOT BE SUPPORTED BY US !
772 *** For details please read DOCS/HTML/en/users-vs-dev.html ***
775 die "Bad gcc version"
777 else
778 cat <<EOF
780 ******************************************************************************
782 Hmm. You really want to compile MPlayer with an *UNSUPPORTED* C compiler?
783 Ok. You know. Do it. Did you read DOCS/HTML/en/users-vs-dev.html???
785 DO NOT SEND BUGREPORTS OR COMPLAIN, it's *YOUR* compiler's fault!
786 Get ready for mysterious crashes, no-picture bugs, strange noises... REALLY!
787 Lame which is used by mencoder produces weird errors, too.
789 If you have any problem, install a GCC 2.95.x or 3.x version and try again.
790 If the problem _still_ exists, then read DOCS/HTML/en/bugreports.html !
792 *** DO NOT SEND BUG REPORTS OR COMPLAIN it's *YOUR* compiler's fault! ***
794 ******************************************************************************
798 read _answer
801 echocheck "host cc"
802 test "$_host_cc" || _host_cc=$_cc
803 echores $_host_cc
805 echocheck "cross compilation"
806 if test $_cross_compile = auto ; then
807 cat > $TMPC << EOF
808 int main() { return 0; }
810 _cross_compile=yes
811 cc_check && "$TMPO" && _cross_compile=no
813 echores $_cross_compile
815 if test $_cross_compile = yes; then
816 tmp_run() {
817 return 0
821 # ---
823 # now that we know what compiler should be used for compilation, try to find
824 # out which assembler is used by the $_cc compiler
825 if test "$_as" = auto ; then
826 _as=`$_cc -print-prog-name=as`
827 test -z "$_as" && _as=as
830 # XXX: this should be ok..
831 _cpuinfo="echo"
833 if test "$_runtime_cpudetection" = no ; then
835 # Cygwin has /proc/cpuinfo, but only supports Intel CPUs
836 # FIXME: Remove the cygwin check once AMD CPUs are supported
837 if test -r /proc/cpuinfo && not cygwin; then
838 # Linux with /proc mounted, extract CPU information from it
839 _cpuinfo="cat /proc/cpuinfo"
840 elif test -r /compat/linux/proc/cpuinfo && not x86_32 ; then
841 # FreeBSD with Linux emulation /proc mounted,
842 # extract CPU information from it
843 _cpuinfo="cat /compat/linux/proc/cpuinfo"
844 elif darwin && not x86_32 ; then
845 # use hostinfo on Darwin
846 _cpuinfo="hostinfo"
847 elif aix; then
848 # use 'lsattr' on AIX
849 _cpuinfo="lsattr -E -l proc0 -a type"
850 elif x86; then
851 # all other OSes try to extract CPU information from a small helper
852 # program TOOLS/cpuinfo instead
853 $_cc -o TOOLS/cpuinfo TOOLS/cpuinfo.c
854 _cpuinfo="TOOLS/cpuinfo"
857 if x86 ; then
858 # gather more CPU information
859 pname=`$_cpuinfo | grep 'model name' | cut -d ':' -f 2 | _head 1`
860 pvendor=`$_cpuinfo | grep 'vendor_id' | cut -d ':' -f 2 | cut -d ' ' -f 2 | _head 1`
861 pfamily=`$_cpuinfo | grep 'cpu family' | cut -d ':' -f 2 | cut -d ' ' -f 2 | _head 1`
862 pmodel=`$_cpuinfo | grep -v 'model name' | grep 'model' | cut -d ':' -f 2 | cut -d ' ' -f 2 | _head 1`
863 pstepping=`$_cpuinfo | grep 'stepping' | cut -d ':' -f 2 | cut -d ' ' -f 2 | _head 1`
865 exts=`$_cpuinfo | egrep 'features|flags' | cut -d ':' -f 2 | _head 1`
867 pparam=`echo $exts | sed -e s/k6_mtrr/mtrr/ -e s/cyrix_arr/mtrr/ -e s/centaur_mcr/mtrr/ \
868 -e s/xmm/sse/ -e s/kni/sse/`
870 for ext in $pparam ; do
871 eval _$ext=auto && eval _$ext=yes
872 done
874 # SSE implies MMX2, but not all SSE processors report the mmxext CPU flag.
875 test $_sse = yes && _mmxext=yes
877 echocheck "CPU vendor"
878 echores "$pvendor ($pfamily:$pmodel:$pstepping)"
880 echocheck "CPU type"
881 echores "$pname"
884 fi # test "$_runtime_cpudetection" = no
887 case "$host_arch" in
888 i[3-9]86|x86|x86pc|k5|k6|k6-2|k6-3|pentium*|athlon*|i586-i686)
889 _def_arch_x86="#define ARCH_X86 1"
890 _target_arch_x86="TARGET_ARCH_X86 = yes"
891 _def_arch="#define ARCH_X86_32 1"
892 _target_arch="TARGET_ARCH_X86_32 = yes"
893 iproc=486
894 proc=i486
897 if test "$_runtime_cpudetection" = no ; then
898 case "$pvendor" in
899 AuthenticAMD)
900 case "$pfamily" in
901 3) proc=i386 iproc=386 ;;
902 4) proc=i486 iproc=486 ;;
903 5) iproc=586 # LGB: models are: K5/SSA5 K5 K5 K5 ? ? K6 K6 K6-2 K6-3
904 # K6 model 13 are the K6-2+ and K6-III+, only differing in cache size.
905 if test "$pmodel" -eq 9 -o "$pmodel" -eq 13; then
906 proc=k6-3
907 elif test "$pmodel" -eq 5 -o "$pmodel" -eq 10; then
908 proc=geode
909 elif test "$pmodel" -ge 8; then
910 proc=k6-2
911 elif test "$pmodel" -ge 6; then
912 proc=k6
913 else
914 proc=i586
917 6) iproc=686
918 # It's a bit difficult to determine the correct type of Family 6
919 # AMD CPUs just from their signature. Instead, we check directly
920 # whether it supports SSE.
921 if test "$_sse" = yes; then
922 # gcc treats athlon-xp, athlon-4 and athlon-mp similarly.
923 proc=athlon-xp
924 else
925 # Again, gcc treats athlon and athlon-tbird similarly.
926 proc=athlon
929 15) iproc=686
930 # k8 cpu-type only supported in gcc >= 3.4.0, but that will be
931 # caught and remedied in the optimization tests below.
932 proc=k8
935 *) proc=k8 iproc=686 ;;
936 esac
938 GenuineIntel)
939 case "$pfamily" in
940 3) proc=i386 iproc=386 ;;
941 4) proc=i486 iproc=486 ;;
942 5) iproc=586
943 if test "$pmodel" -eq 4 || test "$pmodel" -eq 8; then
944 proc=pentium-mmx # 4 is desktop, 8 is mobile
945 else
946 proc=i586
949 6) iproc=686
950 if test "$pmodel" -eq 15; then
951 proc=core2
952 elif test "$pmodel" -eq 9 -o "$pmodel" -ge 13; then
953 proc=pentium-m
954 elif test "$pmodel" -ge 7; then
955 proc=pentium3
956 elif test "$pmodel" -ge 3; then
957 proc=pentium2
958 else
959 proc=i686
962 15) iproc=686
963 # A nocona in 32-bit mode has no more capabilities than a prescott.
964 if test "$pmodel" -ge 3; then
965 proc=prescott
966 else
967 proc=pentium4
970 *) proc=prescott iproc=686 ;;
971 esac
973 CentaurHauls)
974 case "$pfamily" in
975 5) iproc=586
976 if test "$pmodel" -ge 8; then
977 proc=winchip2
978 elif test "$pmodel" -ge 4; then
979 proc=winchip-c6
980 else
981 proc=i586
984 6) iproc=686
985 if test "$pmodel" -ge 9; then
986 proc=c3-2
987 else
988 proc=c3
989 iproc=586
992 *) proc=i686 iproc=i686 ;;
993 esac
995 unknown)
996 case "$pfamily" in
997 3) proc=i386 iproc=386 ;;
998 4) proc=i486 iproc=486 ;;
999 *) proc=i586 iproc=586 ;;
1000 esac
1003 proc=i586 iproc=586 ;;
1004 esac
1005 fi # test "$_runtime_cpudetection" = no
1008 # check that gcc supports our CPU, if not, fall back to earlier ones
1009 # LGB: check -mcpu and -march swithing step by step with enabling
1010 # to fall back till 386.
1012 # gcc >= 3.4.0 doesn't support -mcpu, we have to use -mtune instead
1014 if [ "$cc_vendor" = "gnu" ] && ([ "$_cc_major" -gt 3 ] || ( [ "$_cc_major" = 3 ] && [ "$_cc_minor" -ge 4 ])) ; then
1015 cpuopt=-mtune
1016 else
1017 cpuopt=-mcpu
1020 echocheck "GCC & CPU optimization abilities"
1021 cat > $TMPC << EOF
1022 int main(void) { return 0; }
1024 if test "$_runtime_cpudetection" = no ; then
1025 if test "$proc" = "k8"; then
1026 cc_check -march=$proc $cpuopt=$proc || proc=athlon-xp
1028 if test "$proc" = "athlon-xp"; then
1029 cc_check -march=$proc $cpuopt=$proc || proc=athlon
1031 if test "$proc" = "k6-3" || test "$proc" = "k6-2"; then
1032 cc_check -march=$proc $cpuopt=$proc || proc=k6
1034 if test "$proc" = "k6" || test "$proc" = "c3"; then
1035 if not cc_check -march=$proc $cpuopt=$proc; then
1036 if cc_check -march=i586 $cpuopt=i686; then
1037 proc=i586-i686
1038 else
1039 proc=i586
1043 if test "$proc" = "prescott" ; then
1044 cc_check -march=$proc $cpuopt=$proc || proc=pentium4
1046 if test "$proc" = "core2" ; then
1047 cc_check -march=$proc $cpuopt=$proc || proc=pentium-m
1049 if test "$proc" = "pentium4" || test "$proc" = "pentium-m" || test "$proc" = "pentium3" || test "$proc" = "pentium2" || test "$proc" = "athlon" || test "$proc" = "c3-2" || test "$proc" = "geode"; then
1050 cc_check -march=$proc $cpuopt=$proc || proc=i686
1052 if test "$proc" = "i686" || test "$proc" = "pentium-mmx" || test "$proc" = "winchip-c6" || test "$proc" = "winchip2"; then
1053 cc_check -march=$proc $cpuopt=$proc || proc=i586
1055 if test "$proc" = "i586"; then
1056 cc_check -march=$proc $cpuopt=$proc || proc=i486
1058 if test "$proc" = "i486" ; then
1059 cc_check -march=$proc $cpuopt=$proc || proc=i386
1061 if test "$proc" = "i386" ; then
1062 cc_check -march=$proc $cpuopt=$proc || proc=error
1064 if test "$proc" = "error" ; then
1065 echores "CPU optimization disabled. CPU not recognized or your compiler is too old."
1066 _mcpu=""
1067 _march=""
1068 _optimizing=""
1069 elif test "$proc" = "i586-i686"; then
1070 _march="-march=i586"
1071 _mcpu="$cpuopt=i686"
1072 _optimizing="$proc"
1073 else
1074 _march="-march=$proc"
1075 _mcpu="$cpuopt=$proc"
1076 _optimizing="$proc"
1078 else # if test "$_runtime_cpudetection" = no
1079 # i686 is probably the most common CPU - optimize for it
1080 _mcpu="$cpuopt=i686"
1081 # at least i486 required, for bswap instruction
1082 _march="-march=i486"
1083 cc_check $_mcpu || _mcpu=""
1084 cc_check $_march $_mcpu || _march=""
1087 ## Gabucino : --target takes effect here (hopefully...) by overwriting
1088 ## autodetected mcpu/march parameters
1089 if test "$_target" ; then
1090 # TODO: it may be a good idea to check GCC and fall back in all cases
1091 if test "$host_arch" = "i586-i686"; then
1092 _march="-march=i586"
1093 _mcpu="$cpuopt=i686"
1094 else
1095 _march="-march=$host_arch"
1096 _mcpu="$cpuopt=$host_arch"
1099 proc="$host_arch"
1101 case "$proc" in
1102 i386) iproc=386 ;;
1103 i486) iproc=486 ;;
1104 i586|k5|k6|k6-2|k6-3|pentium|pentium-mmx) iproc=586 ;;
1105 i686|athlon*|pentium*) iproc=686 ;;
1106 *) iproc=586 ;;
1107 esac
1110 echores "$proc"
1113 ia64)
1114 _def_arch='#define ARCH_IA64 1'
1115 _target_arch='TARGET_ARCH_IA64 = yes'
1116 iproc='ia64'
1117 proc=''
1118 _march=''
1119 _mcpu=''
1120 _optimizing=''
1123 x86_64|amd64)
1124 _def_arch='#define ARCH_X86_64 1'
1125 _target_arch='TARGET_ARCH_X86_64 = yes'
1126 _def_arch_x86="#define ARCH_X86 1"
1127 _target_arch_x86="TARGET_ARCH_X86 = yes"
1128 iproc='x86_64'
1130 # gcc >= 3.4.0 doesn't support -mcpu, we have to use -mtune instead
1131 if test "$cc_vendor" = "gnu" && test "$_cc_major" -gt 3 -o "$_cc_major" -eq 3 -a "$_cc_minor" -ge 4 ; then
1132 cpuopt=-mtune
1133 else
1134 cpuopt=-mcpu
1136 if test "$_runtime_cpudetection" = no ; then
1137 case "$pvendor" in
1138 AuthenticAMD)
1139 proc=k8;;
1140 GenuineIntel)
1141 case "$pmodel" in
1142 6) proc=core2;;
1144 # 64-bit prescotts exist, but as far as GCC is concerned they
1145 # have the same capabilities as a nocona.
1146 proc=nocona;;
1147 esac
1150 proc=error;;
1151 esac
1152 fi # test "$_runtime_cpudetection" = no
1154 echocheck "GCC & CPU optimization abilities"
1155 cat > $TMPC << EOF
1156 int main(void) { return 0; }
1158 # This is a stripped-down version of the i386 fallback.
1159 if test "$_runtime_cpudetection" = no ; then
1160 # --- AMD processors ---
1161 if test "$proc" = "k8"; then
1162 cc_check -march=$proc $cpuopt=$proc || proc=athlon-xp
1164 # This will fail if gcc version < 3.3, which is ok because earlier
1165 # versions don't really support 64-bit on amd64.
1166 # Is this a valid assumption? -Corey
1167 if test "$proc" = "athlon-xp"; then
1168 cc_check -march=$proc $cpuopt=$proc || proc=error
1170 # --- Intel processors ---
1171 if test "$proc" = "core2"; then
1172 cc_check -march=$proc $cpuopt=$proc || proc=nocona
1174 if test "$proc" = "nocona"; then
1175 cc_check -march=$proc $cpuopt=$proc || proc=pentium4
1177 if test "$proc" = "pentium4"; then
1178 cc_check -march=$proc $cpuopt=$proc || proc=error
1181 _march="-march=$proc"
1182 _mcpu="$cpuopt=$proc"
1183 if test "$proc" = "error" ; then
1184 echores "CPU optimization disabled. CPU not recognized or your compiler is too old."
1185 _mcpu=""
1186 _march=""
1188 else # if test "$_runtime_cpudetection" = no
1189 # x86-64 is an undocumented option, an intersection of k8 and nocona.
1190 _march="-march=x86-64"
1191 _mcpu="$cpuopt=x86-64"
1192 cc_check $_mcpu || _mcpu=""
1193 cc_check $_march $_mcpu || _march=""
1196 _optimizing=""
1198 echores "$proc"
1201 sparc)
1202 _def_arch='#define ARCH_SPARC 1'
1203 _target_arch='TARGET_ARCH_SPARC = yes'
1204 iproc='sparc'
1205 if sunos ; then
1206 echocheck "CPU type"
1207 karch=`uname -m`
1208 case "`echo $karch`" in
1209 sun4) proc=v7 ;;
1210 sun4c) proc=v7 ;;
1211 sun4d) proc=v8 ;;
1212 sun4m) proc=v8 ;;
1213 sun4u) proc=v9 _vis='yes' _def_vis='#define HAVE_VIS = yes' ;;
1214 sun4v) proc=v9 ;;
1215 *) proc=v8 ;;
1216 esac
1217 echores "$proc"
1218 else
1219 proc=v8
1221 _march=''
1222 _mcpu="-mcpu=$proc"
1223 _optimizing="$proc"
1226 sparc64)
1227 _def_arch='#define ARCH_SPARC 1'
1228 _target_arch='TARGET_ARCH_SPARC = yes'
1229 _vis='yes'
1230 _def_vis='#define HAVE_VIS = yes'
1231 iproc='sparc'
1232 proc='v9'
1233 _march=''
1234 _mcpu="-mcpu=$proc"
1235 _optimizing="$proc"
1238 arm|armv4l|armv5tel)
1239 _def_arch='#define ARCH_ARMV4L 1'
1240 _target_arch='TARGET_ARCH_ARMV4L = yes'
1241 iproc='arm'
1242 proc=''
1243 _march=''
1244 _mcpu=''
1245 _optimizing=''
1248 ppc)
1249 _def_arch='#define ARCH_POWERPC 1'
1250 _def_dcbzl='#define NO_DCBZL 1'
1251 _target_arch='TARGET_ARCH_POWERPC = yes'
1252 iproc='ppc'
1253 proc=''
1254 _march=''
1255 _mcpu=''
1256 _optimizing=''
1257 _altivec=no
1259 echocheck "CPU type"
1260 case $system_name in
1261 Linux)
1262 proc=`$_cpuinfo | grep 'cpu' | cut -d ':' -f 2 | cut -d ',' -f 1 | cut -b 2- | _head 1`
1263 if test -n "`$_cpuinfo | grep altivec`"; then
1264 _altivec=yes
1267 Darwin)
1268 proc=`$_cpuinfo | grep "Processor type" | cut -f 3 -d ' ' | sed 's/ppc//'`
1269 if [ `sysctl -n hw.vectorunit` -eq 1 -o \
1270 "`sysctl -n hw.optional.altivec 2> /dev/null`" = "1" ]; then
1271 _altivec=yes
1274 NetBSD)
1275 # only gcc 3.4 works reliably with AltiVec code under NetBSD
1276 case $cc_version in
1277 2*|3.0*|3.1*|3.2*|3.3*)
1280 if [ `sysctl -n machdep.altivec` -eq 1 ]; then
1281 _altivec=yes
1284 esac
1286 AIX)
1287 proc=`$_cpuinfo | grep 'type' | cut -f 2 -d ' ' | sed 's/PowerPC_//'`
1289 esac
1290 if test "$_altivec" = yes; then
1291 echores "$proc altivec"
1292 else
1293 echores "$proc"
1296 echocheck "GCC & CPU optimization abilities"
1298 if test -n "$proc"; then
1299 case "$proc" in
1300 601) _march='-mcpu=601' _mcpu='-mtune=601' ;;
1301 603) _march='-mcpu=603' _mcpu='-mtune=603' ;;
1302 603e|603ev) _march='-mcpu=603e' _mcpu='-mtune=603e' ;;
1303 604|604e|604r|604ev) _march='-mcpu=604' _mcpu='-mtune=604' ;;
1304 740|740/750|745/755) _march='-mcpu=740' _mcpu='-mtune=740' ;;
1305 750|750CX) _march='-mcpu=750' _mcpu='-mtune=750' ;;
1306 POWER) _march='-mcpu=power' _mcpu='-mtune=power' ;;
1307 POWER2) _march='-mcpu=power2' _mcpu='-mtune=power2' ;;
1308 POWER3) _march='-mcpu=power3' _mcpu='-mtune=power3' ;;
1309 *) ;;
1310 esac
1311 # gcc 3.1(.1) and up supports 7400 and 7450
1312 if test "$_cc_major" -ge "3" && test "$_cc_minor" -ge "1" || test "$_cc_major" -ge "4"; then
1313 case "$proc" in
1314 7400*|7410*) _march='-mcpu=7400' _mcpu='-mtune=7400' ;;
1315 7447*|7450*|7455*) _march='-mcpu=7450' _mcpu='-mtune=7450' ;;
1316 *) ;;
1317 esac
1319 # gcc 3.2 and up supports 970
1320 if test "$_cc_major" -ge "3" && test "$_cc_minor" -ge "3" || test "$_cc_major" -ge "4"; then
1321 case "$proc" in
1322 970*|PPC970*) _march='-mcpu=970' _mcpu='-mtune=970'
1323 _def_dcbzl='#undef NO_DCBZL' ;;
1324 *) ;;
1325 esac
1327 # gcc 3.3 and up supports POWER4
1328 if test "$_cc_major" -ge "3" && test "$_cc_minor" -ge "3" || test "$_cc_major" -ge "4"; then
1329 case "$proc" in
1330 POWER4) _march='-mcpu=power4' _mcpu='-mtune=power4' ;;
1331 *) ;;
1332 esac
1334 # gcc 4.0 and up supports POWER5
1335 if test "$_cc_major" -ge "4"; then
1336 case "$proc" in
1337 POWER5*) _march='-mcpu=power5' _mcpu='-mtune=power5' ;;
1338 *) ;;
1339 esac
1343 if test -n "$_mcpu"; then
1344 _optimizing=`echo $_mcpu | cut -c 8-`
1345 echores "$_optimizing"
1346 else
1347 echores "none"
1352 alpha)
1353 _def_arch='#define ARCH_ALPHA 1'
1354 _target_arch='TARGET_ARCH_ALPHA = yes'
1355 iproc='alpha'
1356 _march=''
1358 echocheck "CPU type"
1359 cat > $TMPC << EOF
1360 int main() {
1361 unsigned long ver, mask;
1362 asm ("implver %0" : "=r" (ver));
1363 asm ("amask %1, %0" : "=r" (mask) : "r" (-1));
1364 printf("%ld-%x\n", ver, ~mask);
1365 return 0;
1368 $_cc -o "$TMPO" "$TMPC"
1369 case `"$TMPO"` in
1371 0-0) proc="ev4"; cpu_understands_mvi="0";;
1372 1-0) proc="ev5"; cpu_understands_mvi="0";;
1373 1-1) proc="ev56"; cpu_understands_mvi="0";;
1374 1-101) proc="pca56"; cpu_understands_mvi="1";;
1375 2-303) proc="ev6"; cpu_understands_mvi="1";;
1376 2-307) proc="ev67"; cpu_understands_mvi="1";;
1377 2-1307) proc="ev68"; cpu_understands_mvi="1";;
1378 esac
1379 echores "$proc"
1381 echocheck "GCC & CPU optimization abilities"
1382 if test "$proc" = "ev68" ; then
1383 cc_check -mcpu=$proc || proc=ev67
1385 if test "$proc" = "ev67" ; then
1386 cc_check -mcpu=$proc || proc=ev6
1388 _mcpu="-mcpu=$proc"
1389 echores "$proc"
1391 _optimizing="$proc"
1393 echocheck "MVI instruction support in GCC"
1394 if test "$_cc_major" -ge "3" && test "$cpu_understands_mvi" = "1" ; then
1395 _def_gcc_mvi_support="#define CAN_COMPILE_ALPHA_MVI 1"
1396 echores "yes"
1397 else
1398 _def_gcc_mvi_support="#undef CAN_COMPILE_ALPHA_MVI"
1399 echores "no, GCC = `$_cc -dumpversion 2>&1` (must be >= 3), CPU = $proc (must be pca56 or later)"
1403 mips)
1404 _def_arch='#define ARCH_SGI_MIPS 1'
1405 _target_arch='TARGET_ARCH_SGI_MIPS = yes'
1406 iproc='sgi-mips'
1407 proc=''
1408 _march=''
1409 _mcpu=''
1410 _optimizing=''
1412 if irix ; then
1413 echocheck "CPU type"
1414 proc=`hinv -c processor | grep CPU | cut -d " " -f3`
1415 case "`echo $proc`" in
1416 R3000) _march='-mips1' _mcpu='-mtune=r2000' ;;
1417 R4000) _march='-mips3' _mcpu='-mtune=r4000' ;;
1418 R4400) _march='-mips3' _mcpu='-mtune=r4400' ;;
1419 R4600) _march='-mips3' _mcpu='-mtune=r4600' ;;
1420 R5000) _march='-mips4' _mcpu='-mtune=r5000' ;;
1421 R8000|R10000|R12000|R14000|R16000) _march='-mips4' _mcpu='-mtune=r8000' ;;
1422 esac
1423 # gcc < 3.x does not support -mtune.
1424 if test "$cc_vendor" = "gnu" && test "$_cc_major" -lt 3 ; then
1425 _mcpu=''
1427 echores "$proc"
1432 hppa)
1433 _def_arch='#define ARCH_PA_RISC 1'
1434 _target_arch='TARGET_ARCH_PA_RISC = yes'
1435 iproc='PA-RISC'
1436 proc=''
1437 _march=''
1438 _mcpu=''
1439 _optimizing=''
1442 s390)
1443 _def_arch='#define ARCH_S390 1'
1444 _target_arch='TARGET_ARCH_S390 = yes'
1445 iproc='390'
1446 proc=''
1447 _march=''
1448 _mcpu=''
1449 _optimizing=''
1452 s390x)
1453 _def_arch='#define ARCH_S390X 1'
1454 _target_arch='TARGET_ARCH_S390X = yes'
1455 iproc='390x'
1456 proc=''
1457 _march=''
1458 _mcpu=''
1459 _optimizing=''
1462 vax)
1463 _def_arch='#define ARCH_VAX 1'
1464 _target_arch='TARGET_ARCH_VAX = yes'
1465 iproc='vax'
1466 proc=''
1467 _march=''
1468 _mcpu=''
1469 _optimizing=''
1472 generic)
1473 _def_arch='#define ARCH_GENERIC 1'
1474 _target_arch='TARGET_ARCH_GENERIC = yes'
1475 iproc=''
1476 proc=''
1477 _march=''
1478 _mcpu=''
1479 _optimizing=''
1483 echo "The architecture of your CPU ($host_arch) is not supported by this configure script"
1484 echo "It seems nobody has ported MPlayer to your OS or CPU type yet."
1485 die "unsupported architecture $host_arch"
1487 esac # case "$host_arch" in
1489 if test "$_runtime_cpudetection" = yes ; then
1490 if x86 ; then
1491 _cmov=yes
1492 x86_32 && _cmov=no
1493 _mmx=yes
1494 _3dnow=yes
1495 _3dnowext=yes
1496 _mmxext=yes
1497 _sse=yes
1498 _sse2=yes
1499 _mtrr=yes
1501 if ppc; then
1502 _altivec=yes
1506 if x86_32 && test "$_runtime_cpudetection" = no ; then
1507 extcheck() {
1508 if test "$1" = yes ; then
1509 echocheck "kernel support of $2"
1510 cat > $TMPC <<EOF
1511 #include <signal.h>
1512 void catch() { exit(1); }
1513 int main(void){
1514 signal(SIGILL, catch);
1515 __asm__ __volatile__ ("$3":::"memory");return(0);
1519 if cc_check && tmp_run ; then
1520 echores "yes"
1521 _optimizing="$_optimizing $2"
1522 return 0
1523 else
1524 echores "failed"
1525 echo "It seems that your kernel does not correctly support $2."
1526 echo "To use $2 extensions in MPlayer, you have to upgrade/recompile your kernel!"
1527 return 1
1530 return 0
1533 extcheck $_mmx "mmx" "emms" || _mmx=no
1534 extcheck $_mmxext "mmxext" "sfence" || _mmxext=no
1535 extcheck $_3dnow "3dnow" "femms" || _3dnow=no
1536 extcheck $_3dnowext "3dnowext" "pswapd %%mm0, %%mm0" || _3dnowext=no
1537 extcheck $_sse "sse" "xorps %%xmm0, %%xmm0" || _sse=no _gcc3_ext="$_gcc3_ext -mno-sse"
1538 extcheck $_sse2 "sse2" "xorpd %%xmm0, %%xmm0" || _sse2=no _gcc3_ext="$_gcc3_ext -mno-sse2"
1539 extcheck $_cmov "cmov" "cmovb %%eax,%%ebx" || _cmov=no
1540 echocheck "mtrr support"
1541 echores "$_mtrr"
1543 if test "$_mtrr" = yes ; then
1544 _optimizing="$_optimizing mtrr"
1547 if test "$_gcc3_ext" != ""; then
1548 # if we had to disable sse/sse2 because the active kernel does not
1549 # support this instruction set extension, we also have to tell
1550 # gcc3 to not generate sse/sse2 instructions for normal C code
1551 cat > $TMPC << EOF
1552 int main(void) { return 0; }
1554 cc_check $_march $_gcc3_ext && _march="$_march $_gcc3_ext"
1560 echocheck "assembler support of -pipe option"
1561 cat > $TMPC << EOF
1562 int main(void) { return 0; }
1564 cc_check -pipe && _pipe="-pipe" && echores "yes" || echores "no"
1567 echocheck "compiler support of named assembler arguments"
1568 _named_asm_args=yes
1569 _def_named_asm_args="#define NAMED_ASM_ARGS 1"
1570 if test "$cc_vendor" = "gnu" && test "$_cc_major" -lt 3 \
1571 -o "$_cc_major" -eq 3 -a "$_cc_minor" = 0 ; then
1572 _named_asm_args=no
1573 _def_named_asm_args="#undef NAMED_ASM_ARGS"
1575 echores $_named_asm_args
1578 # Checking for CFLAGS
1579 _stripbinaries=yes
1580 if test "$_profile" != "" || test "$_debug" != "" ; then
1581 CFLAGS="-W -Wall -O2 $_march $_mcpu $_debug $_profile"
1582 if test "$_cc_major" -ge "3" ; then
1583 CFLAGS=`echo "$CFLAGS" | sed -e 's/\(-Wall\)/\1 -Wno-unused-parameter/'`
1585 _stripbinaries=no
1586 elif test -z "$CFLAGS" ; then
1587 if test "$cc_vendor" = "intel" ; then
1588 CFLAGS="-O2 $_march $_mcpu $_pipe -fomit-frame-pointer"
1589 elif test "$cc_vendor" != "gnu" ; then
1590 CFLAGS="-O2 $_march $_mcpu $_pipe"
1591 else
1592 CFLAGS="-O4 $_march $_mcpu $_pipe -ffast-math -fomit-frame-pointer"
1594 else
1595 _warn_CFLAGS=yes
1597 if test -n "$LDFLAGS" ; then
1598 _ld_extra="$_ld_extra $LDFLAGS"
1599 _warn_CFLAGS=yes
1600 elif test "$cc_vendor" = "intel" ; then
1601 _ld_extra="$_ld_extra -i-static"
1603 if test -n "$CPPFLAGS" ; then
1604 _inc_extra="$_inc_extra $CPPFLAGS"
1605 _warn_CFLAGS=yes
1608 _prefix="/usr/local"
1610 # GOTCHA: the variables below defines the default behavior for autodetection
1611 # and have - unless stated otherwise - at least 2 states : yes no
1612 # If autodetection is available then the third state is: auto
1613 _libavutil=auto
1614 _libavutil_so=auto
1615 _libavcodec=auto
1616 _amr_nb=auto
1617 _amr_nb_fixed=auto
1618 _amr_wb=auto
1619 _libavdecoders_all=`sed -n 's/^[^#]*DEC.*, *\(.*\)).*/\1_decoder/p' "libavcodec/allcodecs.c"`
1620 _libavdecoders=$_libavdecoders_all
1621 _libavencoders_all=`sed -n 's/^[^#]*ENC.*, *\(.*\)).*/\1_encoder/p' "libavcodec/allcodecs.c"`
1622 _libavencoders=$_libavencoders_all
1623 _libavparsers_all=`sed -n 's/^[^#]*PARSER.*, *\(.*\)).*/\1_parser/p' "libavcodec/allcodecs.c"`
1624 _libavparsers=$_libavparsers_all
1625 _libavdemuxers_all=`sed -n 's/^[^#]*DEMUX.*, *\(.*\)).*/\1_demuxer/p' libavformat/allformats.c`
1626 _libavdemuxers=$_libavdemuxers_all
1627 _libavmuxers_all=`sed -n 's/^[^#]*_MUX.*, *\(.*\)).*/\1_muxer/p' libavformat/allformats.c`
1628 _libavmuxers=$_libavmuxers_all
1629 _libavcodec_so=auto
1630 _libavformat=auto
1631 _libavformat_so=auto
1632 _libpostproc=auto
1633 _libpostproc_so=auto
1634 _libavcodec_mpegaudio_hp=yes
1635 _mencoder=yes
1636 _mplayer=yes
1637 _x11=auto
1638 _xshape=auto
1639 _dga=auto # 1 2 no auto
1640 _xv=auto
1641 _xvmc=no #auto when complete
1642 _sdl=auto
1643 _directx=auto
1644 _win32waveout=auto
1645 _nas=auto
1646 _png=auto
1647 _jpeg=auto
1648 _pnm=yes
1649 _md5sum=yes
1650 _gif=auto
1651 _gl=auto
1652 _ggi=auto
1653 _ggiwmh=auto
1654 _aa=auto
1655 _caca=auto
1656 _svga=auto
1657 _vesa=auto
1658 _fbdev=auto
1659 _dvb=auto
1660 _dvbhead=auto
1661 _dxr2=auto
1662 _dxr3=auto
1663 _ivtv=auto
1664 _iconv=auto
1665 _langinfo=auto
1666 _rtc=auto
1667 _ossaudio=auto
1668 _arts=auto
1669 _esd=auto
1670 _polyp=auto
1671 _jack=auto
1672 _openal=auto
1673 _libcdio=auto
1674 _liblzo=auto
1675 _mad=auto
1676 _toolame=auto
1677 _twolame=auto
1678 _tremor_internal=yes
1679 _tremor_low=no
1680 _tremor_external=auto
1681 _libvorbis=auto
1682 _speex=auto
1683 _theora=auto
1684 _mp3lib=yes
1685 _liba52=yes
1686 _libdts=auto
1687 _libmpeg2=yes
1688 _faad_internal=auto
1689 _faad_external=auto
1690 _faad_fixed=no
1691 _faac=auto
1692 _ladspa=auto
1693 _xmms=no
1694 _dvdnav=auto
1695 _dvdnavconfig=dvdnav-config
1696 _dvdread=auto
1697 _dvdread_internal=auto
1698 _libdvdcss_internal=auto
1699 _xanim=auto
1700 _real=auto
1701 _live=auto
1702 _xinerama=auto
1703 _mga=auto
1704 _xmga=auto
1705 _vm=auto
1706 _xf86keysym=auto
1707 _mlib=no #broken, thus disabled
1708 _sgiaudio=auto
1709 _sunaudio=auto
1710 _alsa=auto
1711 _fastmemcpy=yes
1712 _unrarlib=yes
1713 _win32=auto
1714 _select=yes
1715 _radio=no
1716 _radio_capture=no
1717 _radio_v4l=auto
1718 _radio_v4l2=auto
1719 _radio_bsdbt848=auto
1720 _tv=yes
1721 _tv_v4l1=auto
1722 _tv_v4l2=auto
1723 _tv_bsdbt848=auto
1724 _pvr=auto
1725 _network=yes
1726 _winsock2=auto
1727 _smbsupport=auto
1728 _vidix_internal=auto
1729 _vidix_external=auto
1730 _joystick=no
1731 _xvid=auto
1732 _x264=auto
1733 _nut=auto
1734 _lirc=auto
1735 _lircc=auto
1736 _gui=no
1737 _gtk1=no
1738 _termcap=auto
1739 _termios=auto
1740 _3dfx=no
1741 _s3fb=no
1742 _tdfxfb=no
1743 _tdfxvid=no
1744 _tga=yes
1745 _directfb=auto
1746 _zr=auto
1747 _bl=no
1748 _largefiles=no
1749 #_language=en
1750 _shm=auto
1751 _linux_devfs=no
1752 _charset="UTF-8"
1753 _dynamic_plugins=no
1754 _crash_debug=no
1755 _sighandler=yes
1756 _libdv=auto
1757 _cdparanoia=auto
1758 _cddb=auto
1759 _big_endian=auto
1760 _bitmap_font=yes
1761 _freetype=auto
1762 _fontconfig=auto
1763 _menu=no
1764 _qtx=auto
1765 _macosx=auto
1766 _maemo=auto
1767 _macosx_finder_support=no
1768 _macosx_bundle=auto
1769 _sortsub=yes
1770 _freetypeconfig='freetype-config'
1771 _fribidi=auto
1772 _fribidiconfig='fribidi-config'
1773 _enca=auto
1774 _inet6=auto
1775 _gethostbyname2=auto
1776 _ftp=yes
1777 _musepack=auto
1778 _vstream=auto
1779 _pthreads=auto
1780 _ass=auto
1781 _rpath=no
1782 _asmalign_pot=auto
1783 _color_console=no
1784 for ac_option do
1785 case "$ac_option" in
1786 # Skip 1st pass
1787 --target=*) ;;
1788 --cc=*) ;;
1789 --host-cc=*) ;;
1790 --as=*) ;;
1791 --enable-gcc-check) ;;
1792 --disable-gcc-check) ;;
1793 --enable-static*) ;;
1794 --disable-static*) ;;
1795 --with-extraincdir=*) ;;
1796 --with-extralibdir=*) ;;
1797 --extra-libs=*) ;;
1798 --extra-libs-mplayer=*) ;;
1799 --extra-libs-mencoder=*) ;;
1800 --enable-runtime-cpudetection) ;;
1801 --disable-runtime-cpudetection) ;;
1802 --enable-cross-compile) ;;
1803 --disable-cross-compile) ;;
1804 --with-install=*) ;;
1805 --enable-profile) ;;
1806 --disable-profile) ;;
1807 --enable-debug) ;;
1808 --enable-debug=*) ;;
1809 --disable-debug) ;;
1811 # Real 2nd pass
1812 --enable-mencoder) _mencoder=yes ;;
1813 --disable-mencoder) _mencoder=no ;;
1814 --enable-mplayer) _mplayer=yes ;;
1815 --disable-mplayer) _mplayer=no ;;
1816 --enable-dynamic-plugins) _dynamic_plugins=yes ;;
1817 --disable-dynamic-plugins) _dynamic_plugins=no ;;
1818 --enable-x11) _x11=yes ;;
1819 --disable-x11) _x11=no ;;
1820 --enable-xshape) _xshape=yes ;;
1821 --disable-xshape) _xshape=no ;;
1822 --enable-xv) _xv=yes ;;
1823 --disable-xv) _xv=no ;;
1824 --enable-xvmc) _xvmc=yes ;;
1825 --disable-xvmc) _xvmc=no ;;
1826 --enable-sdl) _sdl=yes ;;
1827 --disable-sdl) _sdl=no ;;
1828 --enable-directx) _directx=yes ;;
1829 --disable-directx) _directx=no ;;
1830 --enable-win32waveout) _win32waveout=yes ;;
1831 --disable-win32waveout) _win32waveout=no ;;
1832 --enable-nas) _nas=yes ;;
1833 --disable-nas) _nas=no ;;
1834 --enable-png) _png=yes ;;
1835 --disable-png) _png=no ;;
1836 --enable-jpeg) _jpeg=yes ;;
1837 --disable-jpeg) _jpeg=no ;;
1838 --enable-pnm) _pnm=yes ;;
1839 --disable-pnm) _pnm=no ;;
1840 --enable-md5sum) _md5sum=yes ;;
1841 --disable-md5sum) _md5sum=no ;;
1842 --enable-gif) _gif=yes ;;
1843 --disable-gif) _gif=no ;;
1844 --enable-gl) _gl=yes ;;
1845 --disable-gl) _gl=no ;;
1846 --enable-ggi) _ggi=yes ;;
1847 --disable-ggi) _ggi=no ;;
1848 --enable-ggiwmh) _ggiwmh=yes ;;
1849 --disable-ggiwmh) _ggiwmh=no ;;
1850 --enable-aa) _aa=yes ;;
1851 --disable-aa) _aa=no ;;
1852 --enable-caca) _caca=yes ;;
1853 --disable-caca) _caca=no ;;
1854 --enable-svga) _svga=yes ;;
1855 --disable-svga) _svga=no ;;
1856 --enable-vesa) _vesa=yes ;;
1857 --disable-vesa) _vesa=no ;;
1858 --enable-fbdev) _fbdev=yes ;;
1859 --disable-fbdev) _fbdev=no ;;
1860 --enable-dvb) _dvb=yes ;;
1861 --disable-dvb) _dvb=no ;;
1862 --enable-dvbhead) _dvbhead=yes ;;
1863 --disable-dvbhead) _dvbhead=no ;;
1864 --enable-dxr2) _dxr2=yes ;;
1865 --disable-dxr2) _dxr2=no ;;
1866 --enable-dxr3) _dxr3=yes ;;
1867 --disable-dxr3) _dxr3=no ;;
1868 --enable-ivtv) _ivtv=yes ;;
1869 --disable-ivtv) _ivtv=no ;;
1870 --enable-iconv) _iconv=yes ;;
1871 --disable-iconv) _iconv=no ;;
1872 --enable-langinfo) _langinfo=yes ;;
1873 --disable-langinfo) _langinfo=no ;;
1874 --enable-rtc) _rtc=yes ;;
1875 --disable-rtc) _rtc=no ;;
1876 --enable-libdv) _libdv=yes ;;
1877 --disable-libdv) _libdv=no ;;
1878 --enable-ossaudio) _ossaudio=yes ;;
1879 --disable-ossaudio) _ossaudio=no ;;
1880 --enable-arts) _arts=yes ;;
1881 --disable-arts) _arts=no ;;
1882 --enable-esd) _esd=yes ;;
1883 --disable-esd) _esd=no ;;
1884 --enable-polyp) _polyp=yes ;;
1885 --disable-polyp) _polyp=no ;;
1886 --enable-jack) _jack=yes ;;
1887 --disable-jack) _jack=no ;;
1888 --enable-openal) _openal=yes ;;
1889 --disable-openal) _openal=no ;;
1890 --enable-mad) _mad=yes ;;
1891 --disable-mad) _mad=no ;;
1892 --enable-toolame) _toolame=yes ;;
1893 --disable-toolame) _toolame=no ;;
1894 --enable-twolame) _twolame=yes ;;
1895 --disable-twolame) _twolame=no ;;
1896 --enable-libcdio) _libcdio=yes ;;
1897 --disable-libcdio) _libcdio=no ;;
1898 --enable-liblzo) _liblzo=yes ;;
1899 --disable-liblzo) _liblzo=no ;;
1900 --enable-libvorbis) _libvorbis=yes ;;
1901 --disable-libvorbis) _libvorbis=no ;;
1902 --enable-speex) _speex=yes ;;
1903 --disable-speex) _speex=no ;;
1904 --enable-tremor-internal) _tremor_internal=yes ;;
1905 --disable-tremor-internal) _tremor_internal=no ;;
1906 --enable-tremor-low) _tremor_low=yes ;;
1907 --disable-tremor-low) _tremor_low=no ;;
1908 --enable-tremor-external) _tremor_external=yes ;;
1909 --disable-tremor-external) _tremor_external=no ;;
1910 --enable-theora) _theora=yes ;;
1911 --disable-theora) _theora=no ;;
1912 --enable-mp3lib) _mp3lib=yes ;;
1913 --disable-mp3lib) _mp3lib=no ;;
1914 --enable-liba52) _liba52=yes ;;
1915 --disable-liba52) _liba52=no ;;
1916 --enable-libdts) _libdts=yes ;;
1917 --disable-libdts) _libdts=no ;;
1918 --enable-libmpeg2) _libmpeg2=yes ;;
1919 --disable-libmpeg2) _libmpeg2=no ;;
1920 --enable-musepack) _musepack=yes ;;
1921 --disable-musepack) _musepack=no ;;
1922 --enable-faad-internal) _faad_internal=yes ;;
1923 --disable-faad-internal) _faad_internal=no ;;
1924 --enable-faad-external) _faad_external=yes ;;
1925 --disable-faad-external) _faad_external=no ;;
1926 --enable-faad-fixed) _faad_fixed=yes ;;
1927 --disable-faad-fixed) _faad_fixed=no ;;
1928 --enable-faac) _faac=yes ;;
1929 --disable-faac) _faac=no ;;
1930 --enable-ladspa) _ladspa=yes ;;
1931 --disable-ladspa) _ladspa=no ;;
1932 --enable-xmms) _xmms=yes ;;
1933 --disable-xmms) _xmms=no ;;
1934 --enable-dvdread) _dvdread=yes ;;
1935 --disable-dvdread) _dvdread=no ;;
1936 --enable-dvdread-internal) _dvdread_internal=yes ;;
1937 --disable-dvdread-internal) _dvdread_internal=no ;;
1938 --enable-libdvdcss-internal) _libdvdcss_internal=yes ;;
1939 --disable-libdvdcss-internal) _libdvdcss_internal=no ;;
1940 --enable-dvdnav) _dvdnav=yes ;;
1941 --disable-dvdnav) _dvdnav=no ;;
1942 --enable-xanim) _xanim=yes ;;
1943 --disable-xanim) _xanim=no ;;
1944 --enable-real) _real=yes ;;
1945 --disable-real) _real=no ;;
1946 --enable-live) _live=yes ;;
1947 --disable-live) _live=no ;;
1948 --enable-xinerama) _xinerama=yes ;;
1949 --disable-xinerama) _xinerama=no ;;
1950 --enable-mga) _mga=yes ;;
1951 --disable-mga) _mga=no ;;
1952 --enable-xmga) _xmga=yes ;;
1953 --disable-xmga) _xmga=no ;;
1954 --enable-vm) _vm=yes ;;
1955 --disable-vm) _vm=no ;;
1956 --enable-xf86keysym) _xf86keysym=yes ;;
1957 --disable-xf86keysym) _xf86keysym=no ;;
1958 --enable-mlib) _mlib=yes ;;
1959 --disable-mlib) _mlib=no ;;
1960 --enable-sunaudio) _sunaudio=yes ;;
1961 --disable-sunaudio) _sunaudio=no ;;
1962 --enable-sgiaudio) _sgiaudio=yes ;;
1963 --disable-sgiaudio) _sgiaudio=no ;;
1964 --enable-alsa) _alsa=yes ;;
1965 --disable-alsa) _alsa=no ;;
1966 --enable-tv) _tv=yes ;;
1967 --disable-tv) _tv=no ;;
1968 --enable-tv-bsdbt848) _tv_bsdbt848=yes ;;
1969 --disable-tv-bsdbt848) _tv_bsdbt848=no ;;
1970 --enable-tv-v4l1) _tv_v4l1=yes ;;
1971 --disable-tv-v4l1) _tv_v4l1=no ;;
1972 --enable-tv-v4l2) _tv_v4l2=yes ;;
1973 --disable-tv-v4l2) _tv_v4l2=no ;;
1974 --enable-radio) _radio=yes ;;
1975 --enable-radio-capture) _radio_capture=yes ;;
1976 --disable-radio-capture) _radio_capture=no ;;
1977 --disable-radio) _radio=no ;;
1978 --enable-radio-v4l) _radio_v4l=yes ;;
1979 --disable-radio-v4l) _radio_v4l=no ;;
1980 --enable-radio-v4l2) _radio_v4l2=yes ;;
1981 --disable-radio-v4l2) _radio_v4l2=no ;;
1982 --enable-radio-bsdbt848) _radio_bsdbt848=yes ;;
1983 --disable-radio-bsdbt848) _radio_bsdbt848=no ;;
1984 --enable-pvr) _pvr=yes ;;
1985 --disable-pvr) _pvr=no ;;
1986 --enable-fastmemcpy) _fastmemcpy=yes ;;
1987 --disable-fastmemcpy) _fastmemcpy=no ;;
1988 --enable-network) _network=yes ;;
1989 --disable-network) _network=no ;;
1990 --enable-winsock2) _winsock2=yes ;;
1991 --disable-winsock2) _winsock2=no ;;
1992 --enable-smb) _smbsupport=yes ;;
1993 --disable-smb) _smbsupport=no ;;
1994 --enable-vidix-internal) _vidix_internal=yes ;;
1995 --disable-vidix-internal) _vidix_internal=no ;;
1996 --enable-vidix-external) _vidix_external=yes ;;
1997 --disable-vidix-external) _vidix_external=no ;;
1998 --enable-joystick) _joystick=yes ;;
1999 --disable-joystick) _joystick=no ;;
2000 --enable-xvid) _xvid=yes ;;
2001 --disable-xvid) _xvid=no ;;
2002 --enable-x264) _x264=yes ;;
2003 --disable-x264) _x264=no ;;
2004 --enable-nut) _nut=yes ;;
2005 --disable-nut) _nut=no ;;
2006 --enable-libavutil) _libavutil=yes ;;
2007 --disable-libavutil) _libavutil=no ;;
2008 --enable-libavutil_so) _libavutil_so=yes ;;
2009 --disable-libavutil_so) _libavutil_so=no ;;
2010 --enable-libavcodec) _libavcodec=yes ;;
2011 --disable-libavcodec) _libavcodec=no ;;
2012 --enable-libavcodec_so) _libavcodec_so=yes ;;
2013 --disable-libavcodec_so) _libavcodec_so=no ;;
2014 --enable-amr_nb) _amr_nb=yes ;;
2015 --disable-amr_nb) _amr_nb=no ;;
2016 --enable-amr_nb-fixed) _amr_nb_fixed=yes ;;
2017 --disable-amr_nb-fixed) _amr_nb_fixed=no ;;
2018 --enable-amr_wb) _amr_wb=yes ;;
2019 --disable-amr_wb) _amr_wb=no ;;
2020 --enable-decoder=*) _libavdecoders="$_libavdecoders `echo $ac_option | cut -d '=' -f 2`" ;;
2021 --disable-decoder=*) _libavdecoders=`echo $_libavdecoders | sed "s/\`echo $ac_option | cut -d '=' -f 2\`//g"` ;;
2022 --enable-encoder=*) _libavencoders="$_libavencoders `echo $ac_option | cut -d '=' -f 2`" ;;
2023 --disable-encoder=*) _libavencoders=`echo $_libavencoders | sed "s/\`echo $ac_option | cut -d '=' -f 2\`//g"` ;;
2024 --enable-parser=*) _libavparsers="$_libavparsers `echo $ac_option | cut -d '=' -f 2`" ;;
2025 --disable-parser=*) _libavparsers=`echo $_libavparsers | sed "s/\`echo $ac_option | cut -d '=' -f 2\`//g"` ;;
2026 --enable-demuxer=*) _libavdemuxers="$_libavdemuxers `echo $ac_option | cut -d '=' -f 2`" ;;
2027 --disable-demuxer=*) _libavdemuxers=`echo $_libavdemuxers | sed "s/\`echo $ac_option | cut -d '=' -f 2\`//g"` ;;
2028 --enable-muxer=*) _libavmuxers="$_libavmuxers `echo $ac_option | cut -d '=' -f 2`" ;;
2029 --disable-muxer=*) _libavmuxers=`echo $_libavmuxers | sed "s/\`echo $ac_option | cut -d '=' -f 2\`//g"` ;;
2030 --enable-libavformat) _libavformat=yes;;
2031 --disable-libavformat) _libavformat=no ;;
2032 --enable-libavformat_so) _libavformat_so=yes ;;
2033 --disable-libavformat_so) _libavformat_so=no ;;
2034 --enable-libpostproc) _libpostproc=yes ;;
2035 --disable-libpostproc) _libpostproc=no ;;
2036 --enable-libpostproc_so) _libpostproc_so=yes ;;
2037 --disable-libpostproc_so) _libpostproc_so=no ;;
2038 --enable-libavcodec_mpegaudio_hp) _libavcodec_mpegaudio_hp=yes ;;
2039 --disable-libavcodec_mpegaudio_hp) _libavcodec_mpegaudio_hp=no ;;
2041 --enable-lirc) _lirc=yes ;;
2042 --disable-lirc) _lirc=no ;;
2043 --enable-lircc) _lircc=yes ;;
2044 --disable-lircc) _lircc=no ;;
2045 --enable-gui) _gui=yes ;;
2046 --disable-gui) _gui=no ;;
2047 --enable-gtk1) _gtk1=yes ;;
2048 --disable-gtk1) _gtk1=no ;;
2049 --enable-termcap) _termcap=yes ;;
2050 --disable-termcap) _termcap=no ;;
2051 --enable-termios) _termios=yes ;;
2052 --disable-termios) _termios=no ;;
2053 --enable-3dfx) _3dfx=yes ;;
2054 --disable-3dfx) _3dfx=no ;;
2055 --enable-s3fb) _s3fb=yes ;;
2056 --disable-s3fb) _s3fb=no ;;
2057 --enable-tdfxfb) _tdfxfb=yes ;;
2058 --disable-tdfxfb) _tdfxfb=no ;;
2059 --disable-tdfxvid) _tdfxvid=no ;;
2060 --enable-tdfxvid) _tdfxvid=yes ;;
2061 --disable-tga) _tga=no ;;
2062 --enable-tga) _tga=yes ;;
2063 --enable-directfb) _directfb=yes ;;
2064 --disable-directfb) _directfb=no ;;
2065 --enable-zr) _zr=yes ;;
2066 --disable-zr) _zr=no ;;
2067 --enable-bl) _bl=yes ;;
2068 --disable-bl) _bl=no ;;
2069 --enable-mtrr) _mtrr=yes ;;
2070 --disable-mtrr) _mtrr=no ;;
2071 --enable-largefiles) _largefiles=yes ;;
2072 --disable-largefiles) _largefiles=no ;;
2073 --enable-shm) _shm=yes ;;
2074 --disable-shm) _shm=no ;;
2075 --enable-select) _select=yes ;;
2076 --disable-select) _select=no ;;
2077 --enable-linux-devfs) _linux_devfs=yes ;;
2078 --disable-linux-devfs) _linux_devfs=no ;;
2079 --enable-cdparanoia) _cdparanoia=yes ;;
2080 --disable-cdparanoia) _cdparanoia=no ;;
2081 --enable-cddb) _cddb=yes ;;
2082 --disable-cddb) _cddb=no ;;
2083 --enable-big-endian) _big_endian=yes ;;
2084 --disable-big-endian) _big_endian=no ;;
2085 --enable-bitmap-font) _bitmap_font=yes ;;
2086 --disable-bitmap-font) _bitmap_font=no ;;
2087 --enable-freetype) _freetype=yes ;;
2088 --disable-freetype) _freetype=no ;;
2089 --enable-fontconfig) _fontconfig=yes ;;
2090 --disable-fontconfig) _fontconfig=no ;;
2091 --enable-unrarlib) _unrarlib=yes ;;
2092 --disable-unrarlib) _unrarlib=no ;;
2093 --enable-ftp) _ftp=yes ;;
2094 --disable-ftp) _ftp=no ;;
2095 --enable-vstream) _vstream=yes ;;
2096 --disable-vstream) _vstream=no ;;
2097 --enable-pthreads) _pthreads=yes ;;
2098 --disable-pthreads) _pthreads=no ;;
2099 --enable-ass) _ass=yes ;;
2100 --disable-ass) _ass=no ;;
2101 --enable-rpath) _rpath=yes ;;
2102 --disable-rpath) _rpath=no ;;
2103 --enable-color-console) _color_console=yes ;;
2104 --disable-color-console) _color_console=no ;;
2106 --enable-fribidi) _fribidi=yes ;;
2107 --disable-fribidi) _fribidi=no ;;
2109 --enable-enca) _enca=yes ;;
2110 --disable-enca) _enca=no ;;
2112 --enable-inet6) _inet6=yes ;;
2113 --disable-inet6) _inet6=no ;;
2115 --enable-gethostbyname2) _gethostbyname2=yes ;;
2116 --disable-gethostbyname2) _gethostbyname2=no ;;
2118 --enable-dga) _dga=auto ;; # as we don't know if it's 1 or 2
2119 --enable-dga=*) _dga=`echo $ac_option | cut -d '=' -f 2` ;;
2120 --disable-dga) _dga=no ;;
2122 --enable-menu) _menu=yes ;;
2123 --disable-menu) _menu=no ;;
2125 --enable-qtx) _qtx=yes ;;
2126 --disable-qtx) _qtx=no ;;
2128 --enable-macosx) _macosx=yes ;;
2129 --disable-macosx) _macosx=no ;;
2130 --enable-macosx-finder-support) _macosx_finder_support=yes ;;
2131 --disable-macosx-finder-support) _macosx_finder_support=no ;;
2132 --enable-macosx-bundle) _macosx_bundle=yes;;
2133 --disable-macosx-bundle) _macosx_bundle=no;;
2135 --enable-maemo) _maemo=yes ;;
2136 --disable-maemo) _maemo=no ;;
2138 --enable-sortsub) _sortsub=yes ;;
2139 --disable-sortsub) _sortsub=no ;;
2141 --charset=*)
2142 _charset=`echo $ac_option | cut -d '=' -f 2`
2144 --language=*)
2145 _language=`echo $ac_option | cut -d '=' -f 2`
2148 --codecsdir=*)
2149 _codecsdir=`echo $ac_option | cut -d '=' -f 2`
2151 --win32codecsdir=*)
2152 _win32codecsdir=`echo $ac_option | cut -d '=' -f 2`
2154 --xanimcodecsdir=*)
2155 _xanimcodecsdir=`echo $ac_option | cut -d '=' -f 2`
2157 --realcodecsdir=*)
2158 _realcodecsdir=`echo $ac_option | cut -d '=' -f 2`
2161 --enable-crash-debug)
2162 _crash_debug=yes
2164 --disable-crash-debug)
2165 _crash_debug=no
2167 --enable-sighandler)
2168 _sighandler=yes
2170 --disable-sighandler)
2171 _sighandler=no
2174 --enable-sse) _sse=yes ;;
2175 --disable-sse) _sse=no ;;
2176 --enable-sse2) _sse2=yes ;;
2177 --disable-sse2) _sse2=no ;;
2178 --enable-mmxext) _mmxext=yes ;;
2179 --disable-mmxext) _mmxext=no ;;
2180 --enable-3dnow) _3dnow=yes ;;
2181 --disable-3dnow) _3dnow=no _3dnowext=no ;;
2182 --enable-3dnowext) _3dnow=yes _3dnowext=yes ;;
2183 --disable-3dnowext) _3dnowext=no ;;
2184 --enable-cmov) _cmov=yes ;;
2185 --disable-cmov) _cmov=no ;;
2186 --enable-altivec) _altivec=yes ;;
2187 --disable-altivec) _altivec=no ;;
2188 --enable-armv5te) _armv5te=yes ;;
2189 --disable-armv5te) _armv5te=no ;;
2190 --enable-iwmmxt) _iwmmxt=yes ;;
2191 --disable-iwmmxt) _iwmmxt=no ;;
2192 --enable-mmx) _mmx=yes ;;
2193 --disable-mmx) # 3Dnow! and MMX2 require MMX
2194 _3dnow=no _3dnowext=no _mmx=no _mmxext=no ;;
2196 --enable-win32) _win32=yes ;;
2197 --disable-win32) _win32=no ;;
2199 --with-xvmclib=*)
2200 _xvmclib=`echo $ac_option | cut -d '=' -f 2`
2202 --with-sdl-config=*)
2203 _sdlconfig=`echo $ac_option | cut -d '=' -f 2`
2205 --with-freetype-config=*)
2206 _freetypeconfig=`echo $ac_option | cut -d '=' -f 2`
2208 --with-fribidi-config=*)
2209 _fribidiconfig=`echo $ac_option | cut -d '=' -f 2`
2211 --with-gtk-config=*)
2212 _gtkconfig=`echo $ac_option | cut -d '=' -f 2`
2214 --with-glib-config=*)
2215 _glibconfig=`echo $ac_option | cut -d '=' -f 2`
2217 --with-dvdnav-config=*)
2218 _dvdnavconfig=`echo $ac_option | cut -d '=' -f 2`
2220 --prefix=*)
2221 _prefix=`echo $ac_option | cut -d '=' -f 2`
2223 --bindir=*)
2224 _bindir=`echo $ac_option | cut -d '=' -f 2`
2226 --datadir=*)
2227 _datadir=`echo $ac_option | cut -d '=' -f 2`
2229 --mandir=*)
2230 _mandir=`echo $ac_option | cut -d '=' -f 2`
2232 --confdir=*)
2233 _confdir=`echo $ac_option | cut -d '=' -f 2`
2235 --libdir=*)
2236 _libdir=`echo $ac_option | cut -d '=' -f 2`
2240 echo "Unknown parameter: $ac_option"
2241 exit 1
2244 esac
2245 done
2247 # Atmos: moved this here, to be correct, if --prefix is specified
2248 test -z "$_bindir" && _bindir="$_prefix/bin"
2249 test -z "$_datadir" && _datadir="$_prefix/share/mplayer"
2250 test -z "$_mandir" && _mandir="$_prefix/man"
2251 test -z "$_confdir" && _confdir="$_prefix/etc/mplayer"
2252 test -z "$_libdir" && _libdir="$_prefix/lib"
2254 # For lack of a better place to put platform-specific stuff ..
2255 win32 && _exesuf=".exe"
2256 # -lwinmm is always needed for osdep/timer-win2.c
2257 win32 && _ld_extra="$_ld_extra -lwinmm"
2260 if x86_32 ; then
2261 # Checking assembler (_as) compatibility...
2262 # Added workaround for older as that reads from stdin by default - atmos
2263 as_version=`echo '' | $_as -version 2>&1 | sed -n 's/^.*assembler \(version \)*\([0-9.]*\).*$/\2/p'`
2264 echocheck "assembler ($_as $as_version)"
2266 _pref_as_version='2.9.1'
2267 echo 'nop' > $TMPS
2268 if test "$_mmx" = yes ; then
2269 echo 'emms' >> $TMPS
2271 if test "$_3dnow" = yes ; then
2272 _pref_as_version='2.10.1'
2273 echo 'femms' >> $TMPS
2275 if test "$_3dnowext" = yes ; then
2276 _pref_as_version='2.10.1'
2277 echo 'pswapd %mm0, %mm0' >> $TMPS
2279 if test "$_mmxext" = yes ; then
2280 _pref_as_version='2.10.1'
2281 echo 'movntq %mm0, (%eax)' >> $TMPS
2283 if test "$_sse" = yes ; then
2284 _pref_as_version='2.10.1'
2285 echo 'xorps %xmm0, %xmm0' >> $TMPS
2287 #if test "$_sse2" = yes ; then
2288 # _pref_as_version='2.11'
2289 # echo 'xorpd %xmm0, %xmm0' >> $TMPS
2291 if test "$_cmov" = yes ; then
2292 _pref_as_version='2.10.1'
2293 echo 'cmovb %eax, %ebx' >> $TMPS
2295 $_as $TMPS -o $TMPO > /dev/null 2>&1 || as_verc_fail=yes
2297 if test "$as_verc_fail" != yes ; then
2298 echores "ok"
2299 else
2300 _res_comment="Upgrade binutils to ${_pref_as_version} ..."
2301 echores "failed"
2302 die "obsolete binutils version"
2305 fi #if x86_32
2307 echocheck ".align is a power of two"
2308 if test "$_asmalign_pot" = auto ; then
2309 _asmalign_pot=no
2310 cat > $TMPC << EOF
2311 main() { asm (".align 3"); }
2313 cc_check && _asmalign_pot=yes
2315 if test "$_asmalign_pot" = "yes" ; then
2316 _def_asmalign_pot='#define ASMALIGN(ZEROBITS) ".align " #ZEROBITS "\n\t"'
2317 else
2318 _def_asmalign_pot='#define ASMALIGN(ZEROBITS) ".align 1<<" #ZEROBITS "\n\t"'
2320 echores $_asmalign_pot
2323 #FIXME: This should happen before the check for CFLAGS..
2324 if ppc ; then
2326 # check if altivec is supported by the compiler, and how to enable it
2328 _altivec_gcc_flags=''
2330 if test "$_altivec" = yes -o "$_runtime_cpudetection" = yes ; then
2331 echocheck "GCC altivec support"
2333 p=''
2334 cat > $TMPC << EOF
2335 int main() {
2336 return 0;
2339 FSF_flags='-maltivec -mabi=altivec'
2340 Darwin_flags='-faltivec -D__APPLE_ALTIVEC__'
2342 # check for Darwin-style flags first, since
2343 # gcc-3.3 (August Update from Apple) on MacOS 10.2.8
2344 # accepts but ignores FSF-style flags...
2346 if test -z "$p"; then
2347 cc_check $Darwin_flags && p='Darwin'
2349 if test -z "$p"; then
2350 cc_check $FSF_flags && p='FSF'
2353 case $p in
2354 FSF) _altivec_gcc_flags="$FSF_flags" _altivec=yes ;;
2355 Darwin) _altivec_gcc_flags="$Darwin_flags" _altivec=yes ;;
2356 *) _altivec=no ;;
2357 esac
2359 if test -z "$p"; then
2360 p=none
2361 else
2362 p="$p-style ($_altivec_gcc_flags)"
2365 echores "$p"
2368 # check if <altivec.h> should be included
2370 _def_altivec_h='#undef HAVE_ALTIVEC_H'
2372 if test "$_altivec" = yes ; then
2373 echocheck "altivec.h"
2374 cat > $TMPC << EOF
2375 #include <altivec.h>
2376 int main(void) { return 0; }
2378 _have_altivec_h=no
2379 cc_check $_altivec_gcc_flags && _have_altivec_h=yes
2380 if test "$_have_altivec_h" = yes ; then
2381 _def_altivec_h='#define HAVE_ALTIVEC_H 1'
2383 echores "$_have_altivec_h"
2386 # disable runtime cpudetection if
2387 # - we cannot generate altivec code
2388 # - altivec is disabled by the user
2390 if test "$_runtime_cpudetection" = yes -a "$_altivec" = no ; then
2391 _runtime_cpudetection=no
2394 # show that we are optimizing for altivec (if enabled and supported)
2396 if test "$_runtime_cpudetection" = no -a "$_altivec" = yes ; then
2397 _optimizing="$_optimizing altivec"
2400 # if altivec is enabled, make sure the correct flags turn up in CFLAGS
2402 if test "$_altivec" = yes ; then
2403 #FIXME: _mcpu is used for CFLAGS, this needs to be set earlier
2404 #_mcpu="$_mcpu $_altivec_gcc_flags"
2405 CFLAGS="$CFLAGS $_altivec_gcc_flags"
2408 # setup _def_altivec correctly
2410 if test "$_altivec" = yes ; then
2411 _def_altivec='#define HAVE_ALTIVEC 1'
2412 else
2413 _def_altivec='#undef HAVE_ALTIVEC'
2417 if arm ; then
2418 echocheck "ARMv5TE (Enhanced DSP Extensions)"
2419 if test $_armv5te = "auto" ; then
2420 cat > $TMPC << EOF
2421 int main(void) {
2422 __asm__ __volatile__ ("qadd r0, r0, r0");
2425 _armv5te=no
2426 cc_check && _armv5te=yes
2428 echores "$_armv5te"
2430 echocheck "iWMMXt (Intel XScale SIMD instructions)"
2431 if test $_iwmmxt = "auto" ; then
2432 cat > $TMPC << EOF
2433 int main(void) {
2434 __asm__ __volatile__ ("wunpckelub wr6, wr4");
2437 _iwmmxt=no
2438 cc_check && _iwmmxt=yes
2440 echores "$_iwmmxt"
2443 _def_mmx='#undef HAVE_MMX'
2444 test "$_mmx" = yes && _def_mmx='#define HAVE_MMX 1'
2445 _def_mmxext='#undef HAVE_MMX2'
2446 test "$_mmxext" = yes && _def_mmxext='#define HAVE_MMX2 1'
2447 _def_3dnow='#undef HAVE_3DNOW'
2448 test "$_3dnow" = yes && _def_3dnow='#define HAVE_3DNOW 1'
2449 _def_3dnowext='#undef HAVE_3DNOWEX'
2450 test "$_3dnowext" = yes && _def_3dnowext='#define HAVE_3DNOWEX 1'
2451 _def_sse='#undef HAVE_SSE'
2452 test "$_sse" = yes && _def_sse='#define HAVE_SSE 1'
2453 _def_sse2='#undef HAVE_SSE2'
2454 test "$_sse2" = yes && _def_sse2='#define HAVE_SSE2 1'
2455 _def_cmov='#undef HAVE_CMOV'
2456 test "$_cmov" = yes && _def_cmov='#define HAVE_CMOV 1'
2457 _def_armv5te='#undef HAVE_ARMV5TE'
2458 test "$_armv5te" = yes && _def_armv5te='#define HAVE_ARMV5TE 1'
2459 _def_iwmmxt='#undef HAVE_IWMMXT'
2460 test "$_iwmmxt" = yes && _def_iwmmxt='#define HAVE_IWMMXT 1'
2462 # Checking kernel version...
2463 if x86_32 && linux ; then
2464 _k_verc_problem=no
2465 kernel_version=`uname -r 2>&1`
2466 echocheck "$system_name kernel version"
2467 case "$kernel_version" in
2468 '') kernel_version="?.??"; _k_verc_fail=yes;;
2469 [0-1].[0-9].[0-9]*|2.[0-3].[0-9]*)
2470 _k_verc_problem=yes;;
2471 esac
2472 if test "$_k_verc_problem" = yes && test "$_sse" = yes ; then
2473 _k_verc_fail=yes
2475 if test "$_k_verc_fail" ; then
2476 echores "$kernel_version, fail"
2477 echo "WARNING! If you want to run MPlayer on this system, get prepared for problems!"
2478 echo "2.2.x has limited SSE support. Upgrade the kernel or use --disable-sse if you"
2479 echo "experience crashes. MPlayer tries to autodetect if your kernel correctly"
2480 echo "supports SSE, but you have been warned! If you are using a kernel older than"
2481 echo "2.2.x you must upgrade it to get SSE support!"
2482 # die "Your kernel is too old for this CPU." # works fine on some 2.2.x so don't die (later check will test)
2483 else
2484 echores "$kernel_version, ok"
2488 if test "$_vidix_internal" = auto ; then
2489 _vidix_internal=no
2490 # should check for x86 systems supporting VIDIX (does QNX have VIDIX?)
2491 x86 && _vidix_internal=yes
2492 ppc && linux && _vidix_internal=yes
2493 alpha && linux && _vidix_internal=yes
2494 qnx && _vidix_internal=no
2495 sunos && _vidix_internal=no
2496 beos && _vidix_internal=no
2497 darwin && _vidix_internal=no
2501 # On QNX we must link to libph - Gabucino
2502 if qnx ; then
2503 _ld_extra="$_ld_extra -lph"
2506 # checking for a working awk, I'm using mawk first, because it's fastest - atmos
2507 _awk=
2508 if test "$_vidix_internal" = yes ; then
2509 _awk_verc_fail=yes
2510 echocheck "awk"
2511 for _awk in mawk gawk nawk awk; do
2512 if ( $_awk 'BEGIN{testme();}function testme(){print"";}' ) >> "$TMPLOG" 2>&1; then
2513 _awk_verc_fail=no
2514 break
2516 done
2517 test "$_awk_verc_fail" = yes && _awk=no
2518 echores "$_awk"
2519 if test "$_awk_verc_fail" = yes; then
2520 echo "VIDIX needs awk, but no working implementation was found!"
2521 echo "Try the GNU version, which can be downloaded from:"
2522 echo "ftp://ftp.gnu.org/gnu/gawk/"
2523 echo "If you don't need VIDIX, you can use configure --disable-vidix instead."
2524 die "no awk"
2528 # If IRIX we must use ar instead of ranlib (not present on IRIX systems)
2529 if irix ; then
2530 _ranlib='ar -r'
2531 elif linux ; then
2532 _ranlib='true'
2535 ######################
2536 # MAIN TESTS GO HERE #
2537 ######################
2540 echocheck "extra headers"
2541 if test "$_inc_extra" ; then
2542 echores "$_inc_extra"
2543 else
2544 echores "none"
2548 echocheck "extra libs"
2549 if test "$_ld_extra" ; then
2550 echores "$_ld_extra"
2551 else
2552 echores "none"
2555 echocheck "-lposix"
2556 cat > $TMPC <<EOF
2557 int main(void) { return 0; }
2559 if cc_check -lposix ; then
2560 _ld_extra="$_ld_extra -lposix"
2561 echores "yes"
2562 else
2563 echores "no"
2566 echocheck "-lm"
2567 cat > $TMPC <<EOF
2568 int main(void) { return 0; }
2570 if cc_check -lm ; then
2571 _ld_lm="-lm"
2572 echores "yes"
2573 else
2574 _ld_lm=""
2575 echores "no"
2579 echocheck "langinfo"
2580 if test "$_langinfo" = auto ; then
2581 cat > $TMPC <<EOF
2582 #include <langinfo.h>
2583 int main(void) { nl_langinfo(CODESET); return 0; }
2585 _langinfo=no
2586 cc_check && _langinfo=yes
2588 if test "$_langinfo" = yes ; then
2589 _def_langinfo='#define USE_LANGINFO 1'
2590 else
2591 _def_langinfo='#undef USE_LANGINFO'
2593 echores "$_langinfo"
2596 echocheck "language"
2597 test -z "$_language" && _language=$LINGUAS
2598 _language=`echo $_language | sed 's/,/ /g'`
2599 echo $_language | grep all > /dev/null || LANGUAGES="$_language en"
2600 for lang in $_language ; do
2601 test "$lang" = all && lang=en
2602 if test -f "help/help_mp-${lang}.h" ; then
2603 _language=$lang
2604 break
2605 else
2606 echo ${_echo_n} "$lang not found, ${_echo_c}"
2607 _language=`echo $_language | sed "s/$lang *//"`
2609 done
2610 test -z "$_language" && _language=en
2611 _mp_help="help/help_mp-${_language}.h"
2612 test -f $_mp_help || die "$_mp_help not found"
2613 for lang in $LANGUAGES ; do
2614 if test -f "DOCS/man/$lang/mplayer.1" ; then
2615 MAN_LANG="$lang $MAN_LANG"
2617 done
2618 _doc_lang=$_language
2619 test -d DOCS/xml/$_doc_lang || _doc_lang=en
2620 echores "using $_language (man pages: $MAN_LANG)"
2623 echocheck "enable sighandler"
2624 if test "$_sighandler" = yes ; then
2625 _def_sighandler='#define ENABLE_SIGHANDLER 1'
2626 else
2627 _def_sighandler='#undef ENABLE_SIGHANDLER'
2629 echores "$_sighandler"
2631 echocheck "runtime cpudetection"
2632 if test "$_runtime_cpudetection" = yes ; then
2633 _optimizing="Runtime CPU-Detection enabled"
2634 _def_runtime_cpudetection='#define RUNTIME_CPUDETECT 1'
2635 else
2636 _def_runtime_cpudetection='#undef RUNTIME_CPUDETECT'
2638 echores "$_runtime_cpudetection"
2641 echocheck "restrict keyword"
2642 for restrict_keyword in restrict __restrict __restrict__ ; do
2643 echo "void foo(char * $restrict_keyword p); int main(){}" > $TMPC
2644 if cc_check; then
2645 _def_restrict_keyword=$restrict_keyword
2646 break;
2648 done
2649 if [ -n "$_def_restrict_keyword" ]; then
2650 echores "$_def_restrict_keyword"
2651 else
2652 echores "none"
2654 # Avoid infinite recursion loop ("#define restrict restrict")
2655 if [ "$_def_restrict_keyword" != "restrict" ]; then
2656 _def_restrict_keyword="#define restrict $_def_restrict_keyword"
2657 else
2658 _def_restrict_keyword=""
2662 echocheck "__builtin_expect"
2663 # GCC branch prediction hint
2664 cat > $TMPC << EOF
2665 int foo (int a) {
2666 a = __builtin_expect (a, 10);
2667 return a == 10 ? 0 : 1;
2669 int main() { return foo(10) && foo(0); }
2671 _builtin_expect=no
2672 cc_check && _builtin_expect=yes
2673 if test "$_builtin_expect" = yes ; then
2674 _def_builtin_expect='#define HAVE_BUILTIN_EXPECT 1'
2675 else
2676 _def_builtin_expect='#undef HAVE_BUILTIN_EXPECT'
2678 echores "$_builtin_expect"
2681 echocheck "kstat"
2682 cat > $TMPC << EOF
2683 #include <kstat.h>
2684 int main(void) { (void) kstat_open(); (void) kstat_close(0); return 0; }
2686 _kstat=no
2687 cc_check -lkstat && _kstat=yes
2688 if test "$_kstat" = yes ; then
2689 _def_kstat="#define HAVE_LIBKSTAT 1"
2690 _ld_extra="$_ld_extra -lkstat"
2691 else
2692 _def_kstat="#undef HAVE_LIBKSTAT"
2694 echores "$_kstat"
2697 echocheck "posix4"
2698 # required for nanosleep on some systems
2699 cat > $TMPC << EOF
2700 #include <time.h>
2701 int main(void) { (void) nanosleep(0, 0); return 0; }
2703 _posix4=no
2704 cc_check -lposix4 && _posix4=yes
2705 if test "$_posix4" = yes ; then
2706 _ld_extra="$_ld_extra -lposix4"
2708 echores "$_posix4"
2710 echocheck "lrintf"
2711 cat > $TMPC << EOF
2712 #include <math.h>
2713 int main(void) { long (*foo)(float); foo = lrintf; (void)(*foo)(0.0); return 0; }
2715 _lrintf=no
2716 cc_check -D_GNU_SOURCE $_ld_lm && _lrintf=yes
2717 if test "$_lrintf" = yes ; then
2718 _def_lrintf="#define HAVE_LRINTF 1"
2719 else
2720 _def_lrintf="#undef HAVE_LRINTF"
2722 echores "$_lrintf"
2724 echocheck "round"
2725 cat > $TMPC << EOF
2726 #include <math.h>
2727 int main(void) { (void) round(0.0); return 0; }
2729 _round=no
2730 cc_check $_ld_lm && _round=yes
2731 if test "$_round" = yes ; then
2732 _def_round="#define HAVE_ROUND 1"
2733 else
2734 _def_round="#undef HAVE_ROUND"
2736 echores "$_round"
2738 echocheck "nanosleep"
2739 # also check for nanosleep
2740 cat > $TMPC << EOF
2741 #include <time.h>
2742 int main(void) { (void) nanosleep(0, 0); return 0; }
2744 _nanosleep=no
2745 cc_check && _nanosleep=yes
2746 if test "$_nanosleep" = yes ; then
2747 _def_nanosleep='#define HAVE_NANOSLEEP 1'
2748 else
2749 _def_nanosleep='#undef HAVE_NANOSLEEP'
2751 echores "$_nanosleep"
2754 echocheck "socklib"
2755 # for Solaris (socket stuff is in -lsocket, gethostbyname and friends in -lnsl):
2756 # for BeOS (socket stuff is in -lsocket, gethostbyname and friends in -lbind):
2757 cat > $TMPC << EOF
2758 #include <netdb.h>
2759 #include <sys/socket.h>
2760 int main(void) { (void) gethostbyname(0); (void) socket(AF_INET, SOCK_STREAM, 0); return 0; }
2762 _socklib=no
2763 for _ld_tmp in "" "-lsocket -lbind" "-lsocket -ldnet" "-lsocket -lnsl" "-lnsl" "-lsocket" ; do
2764 cc_check $_ld_tmp && _ld_sock="$_ld_tmp" && _socklib=yes && break
2765 done
2766 if test $_winsock2 = auto && not cygwin ; then
2767 _winsock2=no
2768 cat > $TMPC << EOF
2769 #include <winsock2.h>
2770 int main(void) { (void) gethostbyname(0); return 0; }
2772 cc_check -lws2_32 && _ld_sock="-lws2_32" && _winsock2=yes
2774 test "$_ld_sock" && _res_comment="using $_ld_sock"
2775 echores "$_socklib"
2778 if test $_winsock2 = yes ; then
2779 _ld_sock="-lws2_32"
2780 _def_winsock2='#define HAVE_WINSOCK2 1'
2781 else
2782 _def_winsock2='#undef HAVE_WINSOCK2'
2786 _use_aton=no
2787 echocheck "inet_pton()"
2788 cat > $TMPC << EOF
2789 #include <sys/types.h>
2790 #include <sys/socket.h>
2791 #include <arpa/inet.h>
2792 int main(void) { (void) inet_pton(0, 0, 0); return 0; }
2794 if test "$_winsock2" = yes ; then
2795 _res_comment="using winsock2 functions instead"
2796 echores "no"
2797 elif cc_check $_ld_sock ; then
2798 # NOTE: Linux has libresolv but does not need it
2800 _res_comment="using $_ld_sock"
2801 echores "yes"
2802 elif cc_check $_ld_sock -lresolv ; then
2803 # NOTE: needed for SunOS at least
2804 _ld_sock="$_ld_sock -lresolv"
2805 _res_comment="using $_ld_sock"
2806 echores "yes"
2807 else
2808 _res_comment="trying inet_aton next"
2809 echores "no"
2811 echocheck "inet_aton()"
2812 cat > $TMPC << EOF
2813 #include <sys/types.h>
2814 #include <sys/socket.h>
2815 #include <arpa/inet.h>
2816 int main(void) { (void) inet_aton(0, 0); return 0; }
2818 _use_aton=yes
2819 if cc_check $_ld_sock ; then
2820 # NOTE: Linux has libresolv but does not need it
2822 _res_comment="using $_ld_sock"
2823 elif cc_check $_ld_sock -lresolv ; then
2824 # NOTE: needed for SunOS at least
2825 _ld_sock="$_ld_sock -lresolv"
2826 _res_comment="using $_ld_sock"
2827 else
2828 _use_aton=no
2829 _network=no
2830 _res_comment="network support disabled"
2832 echores "$_use_aton"
2835 _def_use_aton='#undef USE_ATON'
2836 if test "$_use_aton" = yes; then
2837 _def_use_aton='#define USE_ATON 1'
2841 echocheck "inttypes.h (required)"
2842 cat > $TMPC << EOF
2843 #include <inttypes.h>
2844 int main(void) { return 0; }
2846 _inttypes=no
2847 cc_check && _inttypes=yes
2848 echores "$_inttypes"
2850 if test "$_inttypes" = no ; then
2851 echocheck "bitypes.h (inttypes.h predecessor)"
2852 cat > $TMPC << EOF
2853 #include <sys/bitypes.h>
2854 int main(void) { return 0; }
2856 cc_check && _inttypes=yes
2857 if test "$_inttypes" = yes ; then
2858 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."
2859 else
2860 die "Cannot find header either inttypes.h or bitypes.h (see DOCS/HTML/$_doc_lang/faq.html)."
2865 echocheck "int_fastXY_t in inttypes.h"
2866 cat > $TMPC << EOF
2867 #include <inttypes.h>
2868 int main(void) {
2869 volatile int_fast16_t v= 0;
2870 return v; }
2872 _fast_inttypes=no
2873 cc_check && _fast_inttypes=yes
2874 if test "$_fast_inttypes" = yes ; then
2875 # nothing to do
2877 else
2878 _def_fast_inttypes='
2879 typedef signed char int_fast8_t;
2880 typedef signed int int_fast16_t;
2881 typedef signed int int_fast32_t;
2882 typedef signed long long int_fast64_t;
2883 typedef unsigned char uint_fast8_t;
2884 typedef unsigned int uint_fast16_t;
2885 typedef unsigned int uint_fast32_t;
2886 typedef unsigned long long uint_fast64_t;'
2888 echores "$_fast_inttypes"
2891 echocheck "word size"
2892 _mp_wordsize="#undef MP_WORDSIZE"
2893 cat > $TMPC << EOF
2894 #include <stdio.h>
2895 #include <sys/types.h>
2896 int main(void) { printf("%d\n", sizeof(size_t)*8); return 0; }
2898 cc_check && _wordsize=`$TMPO` && _mp_wordsize="#define MP_WORDSIZE $_wordsize"
2899 echores "$_wordsize"
2902 echocheck "stddef.h"
2903 cat > $TMPC << EOF
2904 #include <stddef.h>
2905 int main(void) { return 0; }
2907 _stddef=no
2908 cc_check && _stddef=yes
2909 if test "$_stddef" = yes ; then
2910 _def_stddef='#define HAVE_STDDEF_H 1'
2911 else
2912 _def_stddef='#undef HAVE_STDDEF_H'
2914 echores "$_stddef"
2917 echocheck "malloc.h"
2918 cat > $TMPC << EOF
2919 #include <malloc.h>
2920 int main(void) { (void) malloc(0); return 0; }
2922 _malloc=no
2923 cc_check && _malloc=yes
2924 if test "$_malloc" = yes ; then
2925 _def_malloc='#define HAVE_MALLOC_H 1'
2926 else
2927 _def_malloc='#undef HAVE_MALLOC_H'
2929 # malloc.h emits a warning in FreeBSD and OpenBSD
2930 freebsd || openbsd && _def_malloc='#undef HAVE_MALLOC_H'
2931 echores "$_malloc"
2934 echocheck "memalign()"
2935 # XXX restrict to x86 ? extend to other CPUs/cacheline sizes ?
2936 cat > $TMPC << EOF
2937 #include <malloc.h>
2938 int main (void) { (void) memalign(64, sizeof(char)); return 0; }
2940 _memalign=no
2941 cc_check && _memalign=yes
2942 if test "$_memalign" = yes ; then
2943 _def_memalign='#define HAVE_MEMALIGN 1'
2944 else
2945 _def_memalign='#undef HAVE_MEMALIGN'
2946 _def_map_memalign='#define memalign(a,b) malloc(b)'
2947 not darwin && _def_memalign_hack='#define CONFIG_MEMALIGN_HACK 1'
2949 echores "$_memalign"
2952 echocheck "alloca.h"
2953 cat > $TMPC << EOF
2954 #include <alloca.h>
2955 int main(void) { (void) alloca(0); return 0; }
2957 _alloca=no
2958 cc_check && _alloca=yes
2959 if cc_check ; then
2960 _def_alloca='#define HAVE_ALLOCA_H 1'
2961 else
2962 _def_alloca='#undef HAVE_ALLOCA_H'
2964 echores "$_alloca"
2967 echocheck "mman.h"
2968 cat > $TMPC << EOF
2969 #include <sys/types.h>
2970 #include <sys/mman.h>
2971 int main(void) { (void) mmap(0, 0, 0, 0, 0, 0); return 0; }
2973 _mman=no
2974 cc_check && _mman=yes
2975 if test "$_mman" = yes ; then
2976 _def_mman='#define HAVE_SYS_MMAN_H 1'
2977 else
2978 _def_mman='#undef HAVE_SYS_MMAN_H'
2980 echores "$_mman"
2982 cat > $TMPC << EOF
2983 #include <sys/types.h>
2984 #include <sys/mman.h>
2985 int main(void) { void *p = MAP_FAILED; return 0; }
2987 _mman_has_map_failed=no
2988 cc_check && _mman_has_map_failed=yes
2989 if test "$_mman_has_map_failed" = yes ; then
2990 _def_mman_has_map_failed=''
2991 else
2992 _def_mman_has_map_failed='#define MAP_FAILED ((void *) -1)'
2995 echocheck "dynamic loader"
2996 cat > $TMPC << EOF
2997 #include <dlfcn.h>
2998 int main(void) { dlopen(0, 0); dlclose(0); dlsym(0, 0); return 0; }
3000 _dl=no
3001 for _ld_tmp in "" "-ldl" ; do
3002 cc_check $_ld_tmp && _ld_dl="$_ld_tmp" && _dl=yes && break
3003 done
3004 if test "$_dl" = yes ; then
3005 _def_dl='#define HAVE_LIBDL 1'
3006 else
3007 _def_dl='#undef HAVE_LIBDL'
3009 echores "$_dl"
3012 echocheck "dynamic a/v plugins support"
3013 if test "$_dl" = no ; then
3014 _dynamic_plugins=no
3016 if test "$_dynamic_plugins" = yes ; then
3017 _def_dynamic_plugins='#define DYNAMIC_PLUGINS 1'
3018 else
3019 _def_dynamic_plugins='#undef DYNAMIC_PLUGINS'
3021 echores "$_dynamic_plugins"
3024 #echocheck "dynamic linking"
3025 # FIXME !! make this dynamic detection work and modify at the end (search _ld_dl_dynamic)
3026 # also gcc flags are different, but ld flags aren't (-Bdynamic/-Bstatic/-Bsymbolic)
3027 #cat > $TMPC << EOF
3028 #int main(void) { return 0; }
3029 #EOF
3030 #if cc_check -rdynamic ; then
3031 # _ld_dl_dynamic='-rdynamic'
3032 #elif cc_check -Bdynamic ; then
3033 # _ld_dl_dynamic='-Bdynamic'
3034 #elif cc_check ; then
3035 # _ld_dl_dynamic=''
3037 #echores "using $_ld_dl_dynamic"
3039 _def_threads='#undef HAVE_THREADS'
3041 echocheck "pthread"
3042 if test "$_pthreads" = auto ; then
3043 cat > $TMPC << EOF
3044 #include <pthread.h>
3045 void* func(void *arg) { return arg; }
3046 int main(void) { pthread_t tid; return pthread_create (&tid, 0, func, 0) == 0 ? 0 : 1; }
3048 _pthreads=no
3049 if not hpux ; then
3050 for _ld_tmp in "-lpthreadGC2" "" "-lpthread" "-pthread" ; do
3051 # for crosscompilation, we cannot execute the program, be happy if we can link statically
3052 cc_check $_ld_tmp && (tmp_run || test "$_ld_static") && _ld_pthread="$_ld_tmp" && _pthreads=yes && break
3053 done
3056 if test "$_pthreads" = yes ; then
3057 _res_comment="using $_ld_pthread"
3058 _def_pthreads='#define HAVE_PTHREADS 1'
3059 _def_threads='#define HAVE_THREADS 1'
3060 else
3061 _res_comment="v4l, vo_gl, ao_alsa, ao_nas, ao_macosx, win32 loader disabled"
3062 _def_pthreads='#undef HAVE_PTHREADS'
3063 _nas=no ; _tv_v4l1=no ; _macosx=no
3064 if not mingw32 ; then
3065 _win32=no
3068 echores "$_pthreads"
3070 echocheck "rpath"
3071 netbsd &&_rpath=yes
3072 if test "$_rpath" = yes ; then
3073 for I in `echo $_ld_extra | sed 's/-L//g'` ; do
3074 tmp="$tmp ` echo $I | sed 's/.*/ -L& -Wl,-R&/'`"
3075 done
3076 _ld_extra=$tmp
3078 echores "$_rpath"
3080 echocheck "iconv"
3081 if test "$_iconv" = auto ; then
3082 _iconv_tmp='#include <iconv.h>'
3084 cat > $TMPC << EOF
3085 #include <stdio.h>
3086 #include <unistd.h>
3087 $_iconv_tmp
3088 #define INBUFSIZE 1024
3089 #define OUTBUFSIZE 4096
3091 char inbuffer[INBUFSIZE];
3092 char outbuffer[OUTBUFSIZE];
3094 int main(void) {
3095 size_t numread;
3096 iconv_t icdsc;
3097 char *tocode="UTF-8";
3098 char *fromcode="cp1250";
3099 if ((icdsc = iconv_open (tocode, fromcode)) != (iconv_t)(-1)) {
3100 while ((numread = read (0, inbuffer, INBUFSIZE))) {
3101 char *iptr=inbuffer;
3102 char *optr=outbuffer;
3103 size_t inleft=numread;
3104 size_t outleft=OUTBUFSIZE;
3105 if (iconv(icdsc, (const char **)&iptr, &inleft, &optr, &outleft)
3106 != (size_t)(-1)) {
3107 write (1, outbuffer, OUTBUFSIZE - outleft);
3110 if (iconv_close(icdsc) == -1)
3115 _iconv=no
3116 for _ld_tmp in "" "-liconv" "-liconv $_ld_dl" ; do
3117 cc_check $_ld_lm $_ld_tmp && _ld_extra="$_ld_extra $_ld_tmp" && \
3118 _iconv=yes && break
3119 done
3121 if test "$_iconv" = yes ; then
3122 _def_iconv='#define USE_ICONV 1'
3123 else
3124 _def_iconv='#undef USE_ICONV'
3126 echores "$_iconv"
3129 echocheck "sys/soundcard.h"
3130 cat > $TMPC << EOF
3131 #include <sys/soundcard.h>
3132 int main(void) { return 0; }
3134 _sys_soundcard=no
3135 cc_check && _sys_soundcard=yes
3136 if test "$_sys_soundcard" = yes ; then
3137 _def_sys_soundcard='#define HAVE_SYS_SOUNDCARD_H 1'
3138 _include_soundcard='#include <sys/soundcard.h>'
3139 else
3140 _def_sys_soundcard='#undef HAVE_SYS_SOUNDCARD_H'
3142 echores "$_sys_soundcard"
3144 if test "$_sys_soundcard" != yes ; then
3145 echocheck "soundcard.h"
3146 cat > $TMPC << EOF
3147 #include <soundcard.h>
3148 int main(void) { return 0; }
3150 _soundcard=no
3151 cc_check && _soundcard=yes
3152 if linux || test "$_ossaudio" != no ; then
3153 # use soundcard.h on Linux, or when OSS support is enabled
3154 echores "$_soundcard"
3155 else
3156 # we don't want to use soundcard.h on non-Linux if OSS support not enabled!
3157 _res_comment= "but ignored!"
3158 echores "$_soundcard"
3159 _soundcard=no
3161 if test "$_soundcard" = yes ; then
3162 _def_soundcard='#define HAVE_SOUNDCARD_H 1'
3163 _include_soundcard='#include <soundcard.h>'
3164 else
3165 _def_soundcard='#undef HAVE_SOUNDCARD_H'
3167 else
3168 _def_soundcard='#undef HAVE_SOUNDCARD_H'
3172 echocheck "sys/dvdio.h"
3173 cat > $TMPC << EOF
3174 #include <unistd.h>
3175 #include <sys/dvdio.h>
3176 int main(void) { return 0; }
3178 _dvdio=no
3179 cc_check && _dvdio=yes
3180 if test "$_dvdio" = yes ; then
3181 _def_dvdio='#define DVD_STRUCT_IN_SYS_DVDIO_H 1'
3182 else
3183 _def_dvdio='#undef DVD_STRUCT_IN_SYS_DVDIO_H'
3185 echores "$_dvdio"
3188 echocheck "sys/cdio.h"
3189 cat > $TMPC << EOF
3190 #include <unistd.h>
3191 #include <sys/cdio.h>
3192 int main(void) { return 0; }
3194 _cdio=no
3195 cc_check && _cdio=yes
3196 if test "$_cdio" = yes ; then
3197 _def_cdio='#define DVD_STRUCT_IN_SYS_CDIO_H 1'
3198 else
3199 _def_cdio='#undef DVD_STRUCT_IN_SYS_CDIO_H'
3201 echores "$_cdio"
3204 echocheck "linux/cdrom.h"
3205 cat > $TMPC << EOF
3206 #include <sys/types.h>
3207 #include <linux/cdrom.h>
3208 int main(void) { return 0; }
3210 _cdrom=no
3211 cc_check && _cdrom=yes
3212 if test "$_cdrom" = yes ; then
3213 _def_cdrom='#define DVD_STRUCT_IN_LINUX_CDROM_H 1'
3214 else
3215 _def_cdrom='#undef DVD_STRUCT_IN_LINUX_CDROM_H'
3217 echores "$_cdrom"
3220 echocheck "dvd.h"
3221 cat > $TMPC << EOF
3222 #include <dvd.h>
3223 int main(void) { return 0; }
3225 _dvd=no
3226 cc_check && _dvd=yes
3227 if test "$_dvd" = yes ; then
3228 _def_dvd='#define DVD_STRUCT_IN_DVD_H 1'
3229 else
3230 _def_dvd='#undef DVD_STRUCT_IN_DVD_H'
3232 echores "$_dvd"
3235 if bsdos; then
3236 echocheck "BSDI dvd.h"
3237 cat > $TMPC << EOF
3238 #include <dvd.h>
3239 int main(void) { return 0; }
3241 _bsdi_dvd=no
3242 cc_check && _bsdi_dvd=yes
3243 if test "$_bsdi_dvd" = yes ; then
3244 _def_bsdi_dvd='#define DVD_STRUCT_IN_BSDI_DVDIOCTL_DVD_H 1'
3245 else
3246 _def_bsdi_dvd='#undef DVD_STRUCT_IN_BSDI_DVDIOCTL_DVD_H'
3248 echores "$_bsdi_dvd"
3249 fi #if bsdos
3252 if hpux; then
3253 # also used by AIX, but AIX does not support VCD and/or libdvdread
3254 echocheck "HP-UX SCSI header"
3255 cat > $TMPC << EOF
3256 #include <sys/scsi.h>
3257 int main(void) { return 0; }
3259 _hpux_scsi_h=no
3260 cc_check && _hpux_scsi_h=yes
3261 if test "$_hpux_scsi_h" = yes ; then
3262 _def_hpux_scsi_h='#define HPUX_SCTL_IO 1'
3263 else
3264 _def_hpux_scsi_h='#undef HPUX_SCTL_IO'
3266 echores "$_hpux_scsi_h"
3267 fi #if hpux
3270 if sunos; then
3271 echocheck "userspace SCSI headers (Solaris)"
3272 cat > $TMPC << EOF
3273 # include <unistd.h>
3274 # include <stropts.h>
3275 # include <sys/scsi/scsi_types.h>
3276 # include <sys/scsi/impl/uscsi.h>
3277 int main(void) { return 0; }
3279 _sol_scsi_h=no
3280 cc_check && _sol_scsi_h=yes
3281 if test "$_sol_scsi_h" = yes ; then
3282 _def_sol_scsi_h='#define SOLARIS_USCSI 1'
3283 else
3284 _def_sol_scsi_h='#undef SOLARIS_USCSI'
3286 echores "$_sol_scsi_h"
3287 fi #if sunos
3290 echocheck "termcap"
3291 if test "$_termcap" = auto ; then
3292 cat > $TMPC <<EOF
3293 int main(void) { tgetent(); return 0; }
3295 _termcap=no
3296 for _ld_tmp in "-lncurses" "-ltinfo" "-ltermcap"; do
3297 cc_check $_ld_tmp && _ld_extra="$_ld_extra $_ld_tmp" \
3298 && _termcap=yes && break
3299 done
3301 if test "$_termcap" = yes ; then
3302 _def_termcap='#define USE_TERMCAP 1'
3303 _res_comment="using $_ld_tmp"
3304 else
3305 _def_termcap='#undef USE_TERMCAP'
3307 echores "$_termcap"
3310 echocheck "termios"
3311 if test "$_termios" = auto ; then
3312 cat > $TMPC <<EOF
3313 #include <sys/termios.h>
3314 int main(void) { return 0; }
3316 _termios=auto
3317 cc_check && _termios=yes
3318 _def_termios_h_name='sys/termios.h'
3320 # second test:
3321 if test "$_termios" = auto ; then
3322 cat > $TMPC <<EOF
3323 #include <termios.h>
3324 int main(void) { return 0; }
3326 _termios=no
3327 cc_check && _termios=yes
3328 _def_termios_h_name='termios.h'
3331 if test "$_termios" = yes ; then
3332 _def_termios='#define HAVE_TERMIOS 1'
3333 _def_termios_h='#undef HAVE_TERMIOS_H'
3334 _def_termios_sys_h='#undef HAVE_SYS_TERMIOS_H'
3336 if test "$_def_termios_h_name" = 'sys/termios.h' ; then
3337 _def_termios_sys_h='#define HAVE_SYS_TERMIOS_H 1'
3338 elif test "$_def_termios_h_name" = 'termios.h' ; then
3339 _def_termios_h='#define HAVE_TERMIOS_H 1'
3341 _res_comment="using $_def_termios_h_name"
3342 else
3343 _def_termios='#undef HAVE_TERMIOS'
3344 _def_termios_h_name=''
3345 _termios=no
3347 echores "$_termios"
3350 echocheck "shm"
3351 if test "$_shm" = auto ; then
3352 cat > $TMPC << EOF
3353 #include <sys/types.h>
3354 #include <sys/shm.h>
3355 int main(void) { shmget(0, 0, 0); shmat(0, 0, 0); shmctl(0, 0, 0); return 0; }
3357 _shm=no
3358 cc_check && _shm=yes
3360 if test "$_shm" = yes ; then
3361 _def_shm='#define HAVE_SHM 1'
3362 else
3363 _def_shm='#undef HAVE_SHM'
3365 echores "$_shm"
3368 # XXX: FIXME, add runtime checking
3369 echocheck "linux devfs"
3370 echores "$_linux_devfs"
3373 echocheck "scandir()"
3374 cat > $TMPC << EOF
3375 int main (void) { scandir("", 0, 0, 0); alphasort(0, 0); return 0; }
3377 _scandir=no
3378 cc_check && _scandir=yes
3379 if test "$_scandir" = yes ; then
3380 _def_scandir='#define HAVE_SCANDIR 1'
3381 _need_scandir=no
3382 else
3383 _def_scandir='#undef HAVE_SCANDIR'
3384 _need_scandir=yes
3386 echores "$_scandir"
3389 echocheck "strsep()"
3390 cat > $TMPC << EOF
3391 #include <string.h>
3392 int main (void) { char *s = "Hello, world!"; (void) strsep(&s, ","); return 0; }
3394 _strsep=no
3395 cc_check && _strsep=yes
3396 if test "$_strsep" = yes ; then
3397 _def_strsep='#define HAVE_STRSEP 1'
3398 _need_strsep=no
3399 else
3400 _def_strsep='#undef HAVE_STRSEP'
3401 _need_strsep=yes
3403 echores "$_strsep"
3405 echocheck "strlcpy()"
3406 cat > $TMPC << EOF
3407 #include <string.h>
3408 int main (void) { char *s = "Hello, world!", t[20]; (void) strlcpy(t, s, sizeof( t )); return 0; }
3410 _strlcpy=no
3411 cc_check && _strlcpy=yes
3412 if test "$_strlcpy" = yes ; then
3413 _def_strlcpy='#define HAVE_STRLCPY 1'
3414 _need_strlcpy=no
3415 else
3416 _def_strlcpy='#undef HAVE_STRLCPY'
3417 _need_strlcpy=yes
3419 echores "$_strlcpy"
3421 echocheck "strlcat()"
3422 cat > $TMPC << EOF
3423 #include <string.h>
3424 int main (void) { char *s = "Hello, world!", t[20]; (void) strlcat(t, s, sizeof( t )); return 0; }
3426 _strlcat=no
3427 cc_check && _strlcat=yes
3428 if test "$_strlcat" = yes ; then
3429 _def_strlcat='#define HAVE_STRLCAT 1'
3430 _need_strlcat=no
3431 else
3432 _def_strlcat='#undef HAVE_STRLCAT'
3433 _need_strlcat=yes
3435 echores "$_strlcat"
3437 echocheck "fseeko()"
3438 cat > $TMPC << EOF
3439 #include <stdio.h>
3440 int main (void) { int i; i = fseeko(stdin, 0, 0); return 0; }
3442 _fseeko=no
3443 cc_check && _fseeko=yes
3444 if test "$_fseeko" = yes ; then
3445 _def_fseeko='#define HAVE_FSEEKO 1'
3446 _need_fseeko=no
3447 else
3448 _def_fseeko='#undef HAVE_FSEEKO'
3449 _need_fseeko=yes
3451 echores "$_fseeko"
3453 echocheck "localtime_r()"
3454 cat > $TMPC << EOF
3455 #include <time.h>
3456 int main( void ) { localtime_r(NULL, NULL); }
3458 _localtime_r=no
3459 cc_check && _localtime_r=yes
3460 if test "$_localtime_r" = yes ; then
3461 _def_localtime_r='#define HAVE_LOCALTIME_R 1'
3462 else
3463 _def_localtime_r='#undef HAVE_LOCALTIME_R'
3465 echores "$_localtime_r"
3467 echocheck "vsscanf()"
3468 cat > $TMPC << EOF
3469 #include <stdarg.h>
3470 int main(void) { vsscanf(0, 0, 0); return 0; }
3472 _vsscanf=no
3473 cc_check && _vsscanf=yes
3474 if test "$_vsscanf" = yes ; then
3475 _def_vsscanf='#define HAVE_VSSCANF 1'
3476 _need_vsscanf=no
3477 else
3478 _def_vsscanf='#undef HAVE_VSSCANF'
3479 _need_vsscanf=yes
3481 echores "$_vsscanf"
3484 echocheck "swab()"
3485 cat > $TMPC << EOF
3486 #include <unistd.h>
3487 int main(void) { swab(0, 0, 0); return 0; }
3489 _swab=no
3490 cc_check && _swab=yes
3491 if test "$_swab" = yes ; then
3492 _def_swab='#define HAVE_SWAB 1'
3493 _need_swab=no
3494 else
3495 _def_swab='#undef HAVE_SWAB'
3496 _need_swab=yes
3498 echores "$_swab"
3500 echocheck "POSIX select()"
3501 cat > $TMPC << EOF
3502 #include <stdio.h>
3503 #include <stdlib.h>
3504 #include <sys/types.h>
3505 #include <string.h>
3506 #include <sys/time.h>
3507 #include <unistd.h>
3508 int main(void) {int nfds = 1; fd_set readfds; struct timeval timeout; select(nfds,&readfds,NULL,NULL,&timeout); return 0; }
3510 _posix_select=no
3511 cc_check && _posix_select=yes
3512 if test "$_posix_select" = no ; then
3513 _def_no_posix_select='#define HAVE_NO_POSIX_SELECT 1'
3514 else
3515 _def_no_posix_select='#undef HAVE_NO_POSIX_SELECT'
3517 echores "$_posix_select"
3520 echocheck "gettimeofday()"
3521 cat > $TMPC << EOF
3522 #include <stdio.h>
3523 #include <sys/time.h>
3524 int main(void) {struct timeval tv_start; gettimeofday(&tv_start, NULL); return 0; }
3526 _gettimeofday=no
3527 cc_check && _gettimeofday=yes
3528 if test "$_gettimeofday" = yes ; then
3529 _def_gettimeofday='#define HAVE_GETTIMEOFDAY 1'
3530 _need_gettimeofday=no
3531 else
3532 _def_gettimeofday='#undef HAVE_GETTIMEOFDAY'
3533 _need_gettimeofday=yes
3535 echores "$_gettimeofday"
3538 echocheck "glob()"
3539 cat > $TMPC << EOF
3540 #include <stdio.h>
3541 #include <glob.h>
3542 int main(void) { glob_t gg; glob("filename",0,NULL,&gg); return 0; }
3544 _glob=no
3545 cc_check && _glob=yes
3546 if test "$_glob" = yes ; then
3547 _def_glob='#define HAVE_GLOB 1'
3548 _need_glob=no
3549 else
3550 _def_glob='#undef HAVE_GLOB'
3551 _need_glob=yes
3553 echores "$_glob"
3556 echocheck "setenv()"
3557 cat > $TMPC << EOF
3558 #include <stdlib.h>
3559 int main (void){ setenv("","",0); return 0; }
3561 _setenv=no
3562 cc_check && _setenv=yes
3563 if test "$_setenv" = yes ; then
3564 _def_setenv='#define HAVE_SETENV 1'
3565 _need_setenv=no
3566 else
3567 _def_setenv='#undef HAVE_SETENV'
3568 _need_setenv=yes
3570 echores "$_setenv"
3573 if sunos; then
3574 echocheck "sysi86()"
3575 cat > $TMPC << EOF
3576 #include <sys/sysi86.h>
3577 int main (void) { sysi86(0); return 0; }
3579 _sysi86=no
3580 cc_check && _sysi86=yes
3581 if test "$_sysi86" = yes ; then
3582 _def_sysi86='#define HAVE_SYSI86 1'
3583 else
3584 _def_sysi86='#undef HAVE_SYSI86'
3586 echores "$_sysi86"
3587 fi #if sunos
3590 echocheck "sys/sysinfo.h"
3591 cat > $TMPC << EOF
3592 #include <sys/sysinfo.h>
3593 int main(void) {
3594 struct sysinfo s_info;
3595 sysinfo(&s_info);
3596 return 0;
3599 _sys_sysinfo=no
3600 cc_check && _sys_sysinfo=yes
3601 if test "$_sys_sysinfo" = yes ; then
3602 _def_sys_sysinfo='#define HAVE_SYS_SYSINFO_H 1'
3603 else
3604 _def_sys_sysinfo='#undef HAVE_SYS_SYSINFO_H'
3606 echores "$_sys_sysinfo"
3609 if darwin; then
3611 echocheck "Mac OS X APIs"
3612 if test "$_macosx" = auto ; then
3613 productName=`/usr/bin/sw_vers -productName`
3614 if test "$productName" = "Mac OS X" ||
3615 test "$productName" = "Mac OS X Server" ; then
3616 _macosx=yes
3617 else
3618 _macosx=no
3619 _def_macosx='#undef MACOSX'
3620 _noaomodules="macosx $_noaomodules"
3621 _novomodules="quartz $_novomodules"
3624 if test "$_macosx" = yes ; then
3625 cat > $TMPC <<EOF
3626 #include <Carbon/Carbon.h>
3627 #include <QuickTime/QuickTime.h>
3628 #include <CoreAudio/CoreAudio.h>
3629 int main(void) {
3630 EnterMovies();
3631 ExitMovies();
3632 CFRunLoopRunInMode(kCFRunLoopDefaultMode, 0, false);
3635 if cc_check -framework Carbon -framework QuickTime -framework CoreAudio; then
3636 _ld_extra="$_ld_extra -framework Carbon -framework QuickTime -framework CoreAudio -framework AudioUnit -framework AudioToolbox"
3637 _def_macosx='#define MACOSX 1'
3638 _aosrc="$_aosrc ao_macosx.c"
3639 _aomodules="macosx $_aomodules"
3640 _vosrc="$_vosrc vo_quartz.c"
3641 _vomodules="quartz $_vomodules"
3642 else
3643 _macosx=no
3644 _def_macosx='#undef MACOSX'
3645 _noaomodules="macosx $_noaomodules"
3646 _novomodules="quartz $_novomodules"
3648 cat > $TMPC <<EOF
3649 #include <Carbon/Carbon.h>
3650 #include <QuartzCore/CoreVideo.h>
3651 int main(void) {}
3653 if cc_check -framework Carbon -framework QuartzCore -framework OpenGL; then
3654 _vosrc="$_vosrc vo_macosx.m"
3655 _vomodules="macosx $_vomodules"
3656 _ld_extra="$_ld_extra -framework Cocoa -framework QuartzCore -framework OpenGL"
3657 _def_macosx_corevideo='#define MACOSX_COREVIDEO 1'
3658 _macosx_corevideo=yes
3659 else
3660 _novomodules="macosx $_novomodules"
3661 _def_macosx_corevideo='#undef MACOSX_COREVIDEO'
3662 _macosx_corevideo=no
3665 echores "$_macosx"
3667 echocheck "Mac OS X Finder Support"
3668 if test "$_macosx_finder_support" = auto ; then
3669 _macosx_finder_support=$_macosx
3671 if test "$_macosx_finder_support" = yes; then
3672 _def_macosx_finder_support='#define MACOSX_FINDER_SUPPORT 1'
3673 _macosx_finder_support=yes
3674 else
3675 _def_macosx_finder_support='#undef MACOSX_FINDER_SUPPORT'
3676 _macosx_finder_support=no
3678 echores "$_macosx_finder_support"
3680 echocheck "Mac OS X Bundle file locations"
3681 if test "$_macosx_bundle" = auto ; then
3682 _macosx_bundle=$_macosx_finder_support
3684 if test "$_macosx_bundle" = yes; then
3685 _def_macosx_bundle='#define MACOSX_BUNDLE 1'
3686 else
3687 _def_macosx_bundle='#undef MACOSX_BUNDLE'
3688 _macosx_bundle=no
3690 echores "$_macosx_bundle"
3692 fi #if darwin
3695 echocheck "pkg-config"
3696 _pkg_config=pkg-config
3697 if `$_pkg_config --version > /dev/null 2>&1`; then
3698 echores "yes"
3699 else
3700 _pkg_config=false
3701 echores "no"
3705 echocheck "Samba support (libsmbclient)"
3706 if test "$_smbsupport" = yes; then
3707 _ld_extra="$_ld_extra -lsmbclient"
3709 if test "$_smbsupport" = auto; then
3710 _smbsupport=no
3711 cat > $TMPC << EOF
3712 #include <libsmbclient.h>
3713 int main(void) { smbc_opendir("smb://"); return 0; }
3715 for _ld_tmp in "-lsmbclient" "-lsmbclient $_ld_dl" "-lsmbclient $_ld_dl -lnsl" "-lsmbclient $_ld_dl -lssl -lnsl" ; do
3716 cc_check $_ld_tmp && _ld_extra="$_ld_extra $_ld_tmp" && \
3717 _smbsupport=yes && break
3718 done
3721 if test "$_smbsupport" = yes; then
3722 _def_smbsupport="#define LIBSMBCLIENT"
3723 _inputmodules="smb $_inputmodules"
3724 else
3725 _def_smbsupport="#undef LIBSMBCLIENT"
3726 _noinputmodules="smb $_noinputmodules"
3728 echores "$_smbsupport"
3731 #########
3732 # VIDEO #
3733 #########
3736 echocheck "3dfx"
3737 if test "$_3dfx" = yes ; then
3738 _def_3dfx='#define HAVE_3DFX 1'
3739 _vosrc="$_vosrc vo_3dfx.c"
3740 _vomodules="3dfx $_vomodules"
3741 else
3742 _def_3dfx='#undef HAVE_3DFX'
3743 _novomodules="3dfx $_novomodules"
3745 echores "$_3dfx"
3748 echocheck "tdfxfb"
3749 if test "$_tdfxfb" = yes ; then
3750 _def_tdfxfb='#define HAVE_TDFXFB 1'
3751 _vosrc="$_vosrc vo_tdfxfb.c"
3752 _vomodules="tdfxfb $_vomodules"
3753 else
3754 _def_tdfxfb='#undef HAVE_TDFXFB'
3755 _novomodules="tdfxfb $_novomodules"
3757 echores "$_tdfxfb"
3759 echocheck "s3fb"
3760 if test "$_s3fb" = yes ; then
3761 _def_s3fb='#define HAVE_S3FB 1'
3762 _vosrc="$_vosrc vo_s3fb.c"
3763 _vomodules="s3fb $_vomodules"
3764 else
3765 _def_s3fb='#undef HAVE_S3FB'
3766 _novomodules="s3fb $_novomodules"
3768 echores "$_s3fb"
3770 echocheck "tdfxvid"
3771 if test "$_tdfxvid" = yes ; then
3772 _def_tdfxvid='#define HAVE_TDFX_VID 1'
3773 _vosrc="$_vosrc vo_tdfx_vid.c"
3774 _vomodules="tdfx_vid $_vomodules"
3775 else
3776 _def_tdfxvid='#undef HAVE_TDFX_VID'
3777 _novomodules="tdfx_vid $_novomodules"
3779 echores "$_tdfxvid"
3781 echocheck "tga"
3782 if test "$_tga" = yes ; then
3783 _def_tga='#define HAVE_TGA 1'
3784 _vosrc="$_vosrc vo_tga.c"
3785 _vomodules="tga $_vomodules"
3786 else
3787 _def_tga='#undef HAVE_TGA'
3788 _novomodules="tga $_novomodules"
3790 echores "$_tga"
3793 echocheck "DirectFB"
3794 if test "$_directfb" = auto ; then
3795 _directfb=no
3796 cat > $TMPC <<EOF
3797 #include <directfb.h>
3798 int main(void) { IDirectFB *foo; DirectFBInit(0,0); return 0; }
3800 for _inc_tmp in "" -I/usr/local/include/directfb \
3801 -I/usr/include/directfb -I/usr/local/include -I/usr/include; do
3802 cc_check $_inc_tmp -ldirectfb && _directfb=yes && \
3803 _inc_extra="$_inc_extra $_inc_tmp" && break
3804 done
3807 dfb_version() {
3808 expr $1 \* 65536 + $2 \* 256 + $3
3811 if test "$_directfb" = yes; then
3812 cat > $TMPC << EOF
3813 #include <directfb_version.h>
3815 dfb_ver = DIRECTFB_MAJOR_VERSION.DIRECTFB_MINOR_VERSION.DIRECTFB_MICRO_VERSION
3818 if $_cc -E $TMPC $_inc_extra > "$TMPO"; then
3819 _directfb_version=`sed -n 's/^dfb_ver[^0-9]*\(.*\)/\1/p' "$TMPO" | tr -d '()'`
3820 _dfb_major=`echo $_directfb_version | cut -d . -f 1`
3821 _dfb_minor=`echo $_directfb_version | cut -d . -f 2`
3822 _dfb_micro=`echo $_directfb_version | cut -d . -f 3`
3823 _dfb_version=`dfb_version $_dfb_major $_dfb_minor $_dfb_micro`
3824 if test "$_dfb_version" -ge `dfb_version 0 9 13`; then
3825 _def_directfb_version="#define DIRECTFBVERSION $_dfb_version"
3826 _res_comment="$_directfb_version"
3827 else
3828 _def_directfb_version='#undef DIRECTFBVERSION'
3829 _directfb=no
3830 _res_comment="version >=0.9.13 required"
3832 else
3833 _directfb=no
3834 _res_comment="failed to get version"
3837 echores "$_directfb"
3839 if test "$_directfb" = yes ; then
3840 _def_directfb='#define HAVE_DIRECTFB 1'
3841 if test "$_dfb_version" -ge `dfb_version 0 9 13`; then
3842 _vosrc="$_vosrc vo_directfb2.c"
3843 _vomodules="directfb $_vomodules"
3844 _libs_mplayer="$_libs_mplayer -ldirectfb"
3845 else
3846 _novomodules="directfb $_novomodules"
3849 if test "$_dfb_version" -ge `dfb_version 0 9 15`; then
3850 _vosrc="$_vosrc vo_dfbmga.c"
3851 _vomodules="dfbmga $_vomodules"
3852 _def_dfbmga='#define HAVE_DFBMGA 1'
3853 else
3854 _novomodules="dfbmga $_novomodules"
3855 _def_dfbmga='#undef HAVE_DFBMGA'
3857 else
3858 _def_directfb='#undef HAVE_DIRECTFB'
3859 _novomodules="dfbmga directfb $_novomodules"
3863 echocheck "X11 headers presence"
3864 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
3865 if test -f "$I/X11/Xlib.h" ; then
3866 _inc_x11="-I$I"
3867 _x11_headers="yes"
3868 _res_comment="using $I"
3869 break
3871 done
3872 if test -z "$_inc_x11" ; then
3873 _x11=no
3874 _x11_headers="no"
3875 _res_comment="check if the dev(el) packages are installed"
3877 echores "$_x11_headers"
3880 echocheck "X11"
3881 if test "$_x11" != no ; then
3882 cat > $TMPC <<EOF
3883 #include <X11/Xlib.h>
3884 #include <X11/Xutil.h>
3885 int main(void) { (void) XCreateWindow(0,0,0,0,0,0,0,0,0,0,0,0); return 0; }
3887 for I in "" -L/usr/X11R6/lib -L/usr/lib/X11R6 -L/usr/X11/lib \
3888 -L/usr/lib32 -L/usr/openwin/lib -L/usr/X11R6/lib64 -L/usr/lib ; do
3889 if netbsd; then
3890 _ld_tmp="$I -lXext -lX11 $_ld_sock $_ld_pthread -Wl,-R`echo $I | sed s/^-L//`"
3891 else
3892 _ld_tmp="$I -lXext -lX11 $_ld_sock $_ld_pthread"
3894 cc_check $_inc_x11 $_ld_tmp && _libs_mplayer="$_libs_mplayer $_ld_tmp" \
3895 && _x11=yes && break
3896 done
3898 if test "$_x11" = yes ; then
3899 #FIXME: This is ugly as it can duplicate a -I parameter..
3900 _inc_extra="$_inc_extra $_inc_x11"
3901 _def_x11='#define HAVE_X11 1'
3902 _vosrc="$_vosrc x11_common.c vo_x11.c vo_xover.c"
3903 _vomodules="x11 xover $_vomodules"
3904 else
3905 _x11=no
3906 _def_x11='#undef HAVE_X11'
3907 _novomodules="x11 $_novomodules"
3908 _res_comment="check if the dev(el) packages are installed"
3909 # disable stuff that depends on X
3910 _xv=no ; _xvmc=no ; _xinerama=no ; _vm=no ; _xf86keysym=no ; _dga=no
3912 echores "$_x11"
3915 echocheck "DPMS"
3916 _xdpms3=no
3917 _xdpms4=no
3918 if test "$_x11" = yes ; then
3919 cat > $TMPC <<EOF
3920 #include <X11/Xmd.h>
3921 #include <X11/Xlib.h>
3922 #include <X11/Xutil.h>
3923 #include <X11/Xatom.h>
3924 #include <X11/extensions/dpms.h>
3925 int main(void) {
3926 (void) DPMSQueryExtension(0, 0, 0);
3929 cc_check -lXdpms && _xdpms3=yes
3930 cat > $TMPC <<EOF
3931 #include <X11/Xlib.h>
3932 #include <X11/extensions/dpms.h>
3933 int main(void) {
3934 (void) DPMSQueryExtension(0, 0, 0);
3937 cc_check && _xdpms4=yes
3939 if test "$_xdpms4" = yes ; then
3940 _def_xdpms='#define HAVE_XDPMS 1'
3941 _res_comment="using Xdpms 4"
3942 echores "yes"
3943 elif test "$_xdpms3" = yes ; then
3944 _def_xdpms='#define HAVE_XDPMS 1'
3945 _libs_mplayer="$_libs_mplayer -lXdpms"
3946 _res_comment="using Xdpms 3"
3947 echores "yes"
3948 else
3949 _def_xdpms='#undef HAVE_XDPMS'
3950 echores "no"
3954 echocheck "Xv"
3955 if test "$_xv" = auto ; then
3956 cat > $TMPC <<EOF
3957 #include <X11/Xlib.h>
3958 #include <X11/extensions/Xvlib.h>
3959 int main(void) {
3960 (void) XvGetPortAttribute(0, 0, 0, 0);
3961 (void) XvQueryPortAttributes(0, 0, 0);
3962 return 0; }
3964 _xv=no
3965 cc_check -lXv && _xv=yes
3968 if test "$_xv" = yes ; then
3969 _def_xv='#define HAVE_XV 1'
3970 _libs_mplayer="$_libs_mplayer -lXv"
3971 _vosrc="$_vosrc vo_xv.c"
3972 _vomodules="xv $_vomodules"
3973 else
3974 _def_xv='#undef HAVE_XV'
3975 _novomodules="xv $_novomodules"
3977 echores "$_xv"
3980 echocheck "XvMC"
3981 if test "$_xv" = yes && test "$_xvmc" != no ; then
3982 _xvmc=no
3983 cat > $TMPC <<EOF
3984 #include <X11/Xlib.h>
3985 #include <X11/extensions/Xvlib.h>
3986 #include <X11/extensions/XvMClib.h>
3987 int main(void) {
3988 (void) XvMCQueryExtension(0,0,0);
3989 (void) XvMCCreateContext(0,0,0,0,0,0,0);
3990 return 0; }
3992 for _ld_tmp in $_xvmclib XvMCNVIDIA XvMCW I810XvMC ; do
3993 cc_check -lXvMC -l$_ld_tmp && _xvmc=yes && _xvmclib="$_ld_tmp" && break
3994 done
3996 if test "$_xvmc" = yes ; then
3997 _def_xvmc='#define HAVE_XVMC 1'
3998 _libs_mplayer="$_libs_mplayer -lXvMC -l$_xvmclib"
3999 _vosrc="$_vosrc vo_xvmc.c"
4000 _vomodules="xvmc $_vomodules"
4001 _res_comment="using $_xvmclib"
4002 else
4003 _def_xvmc='#undef HAVE_XVMC'
4004 _novomodules="xvmc $_novomodules"
4006 echores "$_xvmc"
4009 echocheck "Xinerama"
4010 if test "$_xinerama" = auto ; then
4011 cat > $TMPC <<EOF
4012 #include <X11/Xlib.h>
4013 #include <X11/extensions/Xinerama.h>
4014 int main(void) { (void) XineramaIsActive(0); return 0; }
4016 _xinerama=no
4017 cc_check -lXinerama && _xinerama=yes
4020 if test "$_xinerama" = yes ; then
4021 _def_xinerama='#define HAVE_XINERAMA 1'
4022 _libs_mplayer="$_libs_mplayer -lXinerama"
4023 else
4024 _def_xinerama='#undef HAVE_XINERAMA'
4026 echores "$_xinerama"
4029 # Note: the -lXxf86vm library is the VideoMode extension and though it's not
4030 # needed for DGA, AFAIK every distribution packages together with DGA stuffs
4031 # named 'X extensions' or something similar.
4032 # This check may be useful for future mplayer versions (to change resolution)
4033 # If you run into problems, remove '-lXxf86vm'.
4034 echocheck "Xxf86vm"
4035 if test "$_vm" = auto ; then
4036 cat > $TMPC <<EOF
4037 #include <X11/Xlib.h>
4038 #include <X11/extensions/xf86vmode.h>
4039 int main(void) { (void) XF86VidModeQueryExtension(0, 0, 0); return 0; }
4041 _vm=no
4042 cc_check -lXxf86vm && _vm=yes
4044 if test "$_vm" = yes ; then
4045 _def_vm='#define HAVE_XF86VM 1'
4046 _libs_mplayer="$_libs_mplayer -lXxf86vm"
4047 else
4048 _def_vm='#undef HAVE_XF86VM'
4050 echores "$_vm"
4052 # Check for the presence of special keycodes, like audio control buttons
4053 # that XFree86 might have. Used to be bundled with the xf86vm check, but
4054 # has nothing to do with xf86vm and XFree 3.x has xf86vm but does NOT
4055 # have these new keycodes.
4056 echocheck "XF86keysym"
4057 if test "$_xf86keysym" = auto; then
4058 _xf86keysym=no
4059 cat > $TMPC <<EOF
4060 #include <X11/Xlib.h>
4061 #include <X11/XF86keysym.h>
4062 int main(void) { return XF86XK_AudioPause; }
4064 cc_check && _xf86keysym=yes
4066 if test "$_xf86keysym" = yes ; then
4067 _def_xf86keysym='#define HAVE_XF86XK 1'
4068 else
4069 _def_xf86keysym='#undef HAVE_XF86XK'
4071 echores "$_xf86keysym"
4073 echocheck "DGA"
4074 # Version 2 is preferred to version 1 if available
4075 if test "$_dga" = auto ; then
4076 cat > $TMPC << EOF
4077 #include <X11/Xlib.h>
4078 #include <X11/extensions/xf86dga.h>
4079 int main (void) { (void) XF86DGASetViewPort(0, 0, 0, 0); return 0; }
4081 _dga=no
4082 cc_check -lXxf86dga -lXxf86vm && _dga=1
4084 cat > $TMPC << EOF
4085 #include <X11/Xlib.h>
4086 #include <X11/extensions/xf86dga.h>
4087 int main (void) { (void) XDGASetViewport(0, 0, 0, 0, 0); return 0; }
4089 cc_check -lXxf86dga && _dga=2
4092 _def_dga='#undef HAVE_DGA'
4093 _def_dga2='#undef HAVE_DGA2'
4094 if test "$_dga" = 1 ; then
4095 _def_dga='#define HAVE_DGA 1'
4096 _libs_mplayer="$_libs_mplayer -lXxf86dga"
4097 _vosrc="$_vosrc vo_dga.c"
4098 _vomodules="dga $_vomodules"
4099 _res_comment="using DGA 1.0"
4100 elif test "$_dga" = 2 ; then
4101 _def_dga='#define HAVE_DGA 1'
4102 _def_dga2='#define HAVE_DGA2 1'
4103 _libs_mplayer="$_libs_mplayer -lXxf86dga"
4104 _vosrc="$_vosrc vo_dga.c"
4105 _vomodules="dga $_vomodules"
4106 _res_comment="using DGA 2.0"
4107 elif test "$_dga" = no ; then
4108 _novomodules="dga $_novomodules"
4109 else
4110 die "DGA version must be 1 or 2"
4112 echores "$_dga"
4115 echocheck "OpenGL"
4116 #Note: this test is run even with --enable-gl since we autodetect linker flags
4117 if (test "$_x11" = yes || win32 && test "$_macosx" != yes) && test "$_gl" != no ; then
4118 cat > $TMPC << EOF
4119 #include <GL/gl.h>
4120 int main(void) { return 0; }
4122 _gl=no
4123 if cc_check -lGL $_ld_lm ; then
4124 _gl=yes
4125 _libs_mplayer="$_libs_mplayer -lGL $_ld_dl"
4126 elif cc_check -lGL $_ld_lm $_ld_pthread ; then
4127 _gl=yes
4128 _libs_mplayer="$_libs_mplayer -lGL $_ld_pthread $_ld_dl"
4129 elif cc_check -lopengl32 ; then
4130 _gl=yes
4131 _gl_win32=yes
4132 _libs_mplayer="$_libs_mplayer -lopengl32 -lgdi32"
4134 else
4135 _gl=no
4137 if test "$_gl" = yes ; then
4138 _def_gl='#define HAVE_GL 1'
4139 _vosrc="$_vosrc vo_gl.c vo_gl2.c gl_common.c"
4140 if test "$_gl_win32" = yes ; then
4141 _def_gl_win32='#define GL_WIN32 1'
4142 _vosrc="$_vosrc w32_common.c"
4143 _res_comment="win32 version"
4145 _vomodules="opengl $_vomodules"
4146 else
4147 _def_gl='#undef HAVE_GL'
4148 _def_gl_win32='#undef GL_WIN32'
4149 _novomodules="opengl $_novomodules"
4151 echores "$_gl"
4154 echocheck "/dev/mga_vid"
4155 if test "$_mga" = auto ; then
4156 _mga=no
4157 test -c /dev/mga_vid && _mga=yes
4159 if test "$_mga" = yes ; then
4160 _def_mga='#define HAVE_MGA 1'
4161 _vosrc="$_vosrc vo_mga.c"
4162 _vomodules="mga $_vomodules"
4163 else
4164 _def_mga='#undef HAVE_MGA'
4165 _novomodules="mga $_novomodules"
4167 echores "$_mga"
4170 # echocheck "syncfb"
4171 # _syncfb=no
4172 # test "$_mga" = yes && _syncfb=yes
4173 # if test "$_syncfb" = yes ; then
4174 # _def_syncfb='#define HAVE_SYNCFB 1'
4175 # _vosrc="$_vosrc vo_syncfb.c"
4176 # else
4177 # _def_syncfb='#undef HAVE_SYNCFB'
4178 # fi
4179 # echores "$_syncfb"
4182 echocheck "xmga"
4183 if test "$_xmga" = auto ; then
4184 _xmga=no
4185 test "$_x11" = yes && test "$_mga" = yes && _xmga=yes
4187 if test "$_xmga" = yes ; then
4188 _def_xmga='#define HAVE_XMGA 1'
4189 _vosrc="$_vosrc vo_xmga.c"
4190 _vomodules="xmga $_vomodules"
4191 else
4192 _def_xmga='#undef HAVE_XMGA'
4193 _novomodules="xmga $_novomodules"
4195 echores "$_xmga"
4198 echocheck "GGI"
4199 if test "$_ggi" = auto ; then
4200 cat > $TMPC << EOF
4201 #include <ggi/ggi.h>
4202 int main(void) { return 0; }
4204 _ggi=no
4205 cc_check -lggi && _ggi=yes
4207 if test "$_ggi" = yes ; then
4208 _def_ggi='#define HAVE_GGI 1'
4209 _libs_mplayer="$_libs_mplayer -lggi"
4210 _vosrc="$_vosrc vo_ggi.c"
4211 _vomodules="ggi $_vomodules"
4212 else
4213 _def_ggi='#undef HAVE_GGI'
4214 _novomodules="ggi $_novomodules"
4216 echores "$_ggi"
4218 echocheck "GGI extension: libggiwmh"
4219 if test "$_ggiwmh" = auto ; then
4220 _ggiwmh=no
4221 cat > $TMPC << EOF
4222 #include <ggi/ggi.h>
4223 #include <ggi/wmh.h>
4224 int main(void) { return 0; }
4226 cc_check -lggi -lggiwmh && _ggiwmh=yes
4228 # needed to get right output on obscure combination
4229 # like --disable-ggi --enable-ggiwmh
4230 if test "$_ggi" = yes && test "$_ggiwmh" = yes ; then
4231 _def_ggiwmh='#define HAVE_GGIWMH 1'
4232 _libs_mplayer="$_libs_mplayer -lggiwmh"
4233 else
4234 _ggiwmh=no
4235 _def_ggiwmh='#undef HAVE_GGIWMH'
4237 echores "$_ggiwmh"
4240 echocheck "AA"
4241 if test "$_aa" = auto ; then
4242 cat > $TMPC << EOF
4243 #include <aalib.h>
4244 extern struct aa_hardware_params aa_defparams;
4245 extern struct aa_renderparams aa_defrenderparams;
4246 int main(void) {
4247 aa_context *c;
4248 aa_renderparams *p;
4249 (void) aa_init(0, 0, 0);
4250 c = aa_autoinit(&aa_defparams);
4251 p = aa_getrenderparams();
4252 aa_autoinitkbd(c,0);
4253 return 0; }
4255 _aa=no
4256 for _ld_tmp in "-laa" ; do
4257 cc_check $_ld_tmp && _libs_mplayer="$_libs_mplayer $_ld_tmp" && _aa=yes && break
4258 done
4260 if test "$_aa" = yes ; then
4261 _def_aa='#define HAVE_AA 1'
4262 if cygwin ; then
4263 _libs_mplayer="$_libs_mplayer `aalib-config --libs | cut -d " " -f 2,5,6`"
4265 _vosrc="$_vosrc vo_aa.c"
4266 _vomodules="aa $_vomodules"
4267 else
4268 _def_aa='#undef HAVE_AA'
4269 _novomodules="aa $_novomodules"
4271 echores "$_aa"
4274 echocheck "CACA"
4275 if test "$_caca" = auto ; then
4276 _caca=no
4277 if ( caca-config --version ) >> "$TMPLOG" 2>&1 ; then
4278 cat > $TMPC << EOF
4279 #include <caca.h>
4280 #ifdef CACA_API_VERSION_1
4281 #include <caca0.h>
4282 #endif
4283 int main(void) { (void) caca_init(); return 0; }
4285 cc_check `caca-config --libs` && _caca=yes
4288 if test "$_caca" = yes ; then
4289 _def_caca='#define HAVE_CACA 1'
4290 _inc_extra="$_inc_extra `caca-config --cflags`"
4291 _libs_mplayer="$_libs_mplayer `caca-config --libs`"
4292 _vosrc="$_vosrc vo_caca.c"
4293 _vomodules="caca $_vomodules"
4294 else
4295 _def_caca='#undef HAVE_CACA'
4296 _novomodules="caca $_novomodules"
4298 echores "$_caca"
4301 echocheck "SVGAlib"
4302 if test "$_svga" = auto ; then
4303 cat > $TMPC << EOF
4304 #include <vga.h>
4305 int main(void) { return 0; }
4307 _svga=no
4308 cc_check -lvga $_ld_lm && _svga=yes
4310 if test "$_svga" = yes ; then
4311 _def_svga='#define HAVE_SVGALIB 1'
4312 _libs_mplayer="$_libs_mplayer -lvga"
4313 _vosrc="$_vosrc vo_svga.c"
4314 _vomodules="svga $_vomodules"
4315 else
4316 _def_svga='#undef HAVE_SVGALIB'
4317 _novomodules="svga $_novomodules"
4319 echores "$_svga"
4322 echocheck "FBDev"
4323 if test "$_fbdev" = auto ; then
4324 _fbdev=no
4325 linux && test -c /dev/fb0 && _fbdev=yes
4327 if test "$_fbdev" = yes ; then
4328 _def_fbdev='#define HAVE_FBDEV 1'
4329 _vosrc="$_vosrc vo_fbdev.c vo_fbdev2.c"
4330 _vomodules="fbdev $_vomodules"
4331 else
4332 _def_fbdev='#undef HAVE_FBDEV'
4333 _novomodules="fbdev $_novomodules"
4335 echores "$_fbdev"
4339 echocheck "DVB"
4340 if test "$_dvb" = auto ; then
4341 _dvb=no
4342 cat >$TMPC << EOF
4343 #include <sys/poll.h>
4344 #include <sys/ioctl.h>
4345 #include <stdio.h>
4346 #include <time.h>
4347 #include <unistd.h>
4349 #include <ost/dmx.h>
4350 #include <ost/frontend.h>
4351 #include <ost/sec.h>
4352 #include <ost/video.h>
4353 #include <ost/audio.h>
4354 int main(void) {return 0;}
4356 for _inc_tmp in "" "-I/usr/src/DVB/ost/include" ; do
4357 cc_check $_inc_tmp && _dvb=yes && \
4358 _inc_extra="$_inc_extra $_inc_tmp" && break
4359 done
4361 echores "$_dvb"
4362 if test "$_dvb" = yes ; then
4363 _def_dvb='#define HAVE_DVB 1'
4364 _def_dvb_in='#define HAS_DVBIN_SUPPORT 1'
4365 _aomodules="mpegpes(dvb) $_aomodules"
4366 _vomodules="mpegpes(dvb) $_vomodules"
4369 echocheck "DVB HEAD"
4370 if test "$_dvbhead" = auto ; then
4371 _dvbhead=no
4373 cat >$TMPC << EOF
4374 #include <sys/poll.h>
4375 #include <sys/ioctl.h>
4376 #include <stdio.h>
4377 #include <time.h>
4378 #include <unistd.h>
4380 #include <linux/dvb/dmx.h>
4381 #include <linux/dvb/frontend.h>
4382 #include <linux/dvb/video.h>
4383 #include <linux/dvb/audio.h>
4384 int main(void) {return 0;}
4386 for _inc_tmp in "" "-I/usr/src/DVB/include" ; do
4387 cc_check $_inc_tmp && _dvbhead=yes && \
4388 _inc_extra="$_inc_extra $_inc_tmp" && break
4389 done
4391 echores "$_dvbhead"
4392 if test "$_dvbhead" = yes ; then
4393 _def_dvb='#define HAVE_DVB_HEAD 1'
4394 _def_dvb_in='#define HAS_DVBIN_SUPPORT 1'
4395 _aomodules="mpegpes(dvb) $_aomodules"
4396 _vomodules="mpegpes(dvb) $_vomodules"
4399 if test "$_dvbhead" = no && test "$_dvb" = no ; then
4400 _def_dvb='#undef HAVE_DVB'
4401 _def_dvb_in='#undef HAS_DVBIN_SUPPORT '
4402 _aomodules="mpegpes(file) $_aomodules"
4403 _vomodules="mpegpes(file) $_vomodules"
4406 if test "$_dvb" = yes || test "$_dvbhead" = yes ; then
4407 _dvbin=yes
4408 _inputmodules="dvb $_inputmodules"
4409 else
4410 _dvbin=no
4411 _noinputmodules="dvb $_noinputmodules"
4414 echocheck "PNG support"
4415 if test "$_png" = auto ; then
4416 _png=no
4417 if irix ; then
4418 # Don't check for -lpng on irix since it has its own libpng
4419 # incompatible with the GNU libpng
4420 _res_comment="disabled on irix (not GNU libpng)"
4421 else
4422 cat > $TMPC << EOF
4423 #include <png.h>
4424 #include <string.h>
4425 int main(void) {
4426 printf("png.h : %s\n", PNG_LIBPNG_VER_STRING);
4427 printf("libpng: %s\n", png_libpng_ver);
4428 return (strcmp(PNG_LIBPNG_VER_STRING, png_libpng_ver));
4431 if cc_check -lpng -lz $_ld_lm ; then
4432 if tmp_run ; then
4433 _png=yes
4434 else
4435 _res_comment="mismatch of library and header versions"
4440 echores "$_png"
4441 if test "$_png" = yes ; then
4442 _def_png='#define HAVE_PNG 1'
4443 _ld_extra="$_ld_extra -lpng -lz"
4444 _vosrc="$_vosrc vo_png.c"
4445 _vomodules="png $_vomodules"
4446 else
4447 _def_png='#undef HAVE_PNG'
4448 _novomodules="png $_novomodules"
4451 echocheck "JPEG support"
4452 if test "$_jpeg" = auto ; then
4453 _jpeg=no
4454 cat > $TMPC << EOF
4455 #include <stdio.h>
4456 #include <stdlib.h>
4457 #include <setjmp.h>
4458 #include <string.h>
4459 #include <jpeglib.h>
4460 int main(void) {
4461 return 0;
4464 if cc_check -ljpeg $_ld_lm ; then
4465 if tmp_run ; then
4466 _jpeg=yes
4470 echores "$_jpeg"
4472 if test "$_jpeg" = yes ; then
4473 _def_jpeg='#define HAVE_JPEG 1'
4474 _vosrc="$_vosrc vo_jpeg.c"
4475 _vomodules="jpeg $_vomodules"
4476 _ld_extra="$_ld_extra -ljpeg"
4477 else
4478 _def_jpeg='#undef HAVE_JPEG'
4479 _novomodules="jpeg $_novomodules"
4484 echocheck "PNM support"
4485 if test "$_pnm" = yes; then
4486 _def_pnm="#define HAVE_PNM"
4487 _vosrc="$_vosrc vo_pnm.c"
4488 _vomodules="pnm $_vomodules"
4489 else
4490 _def_pnm="#undef HAVE_PNM"
4491 _novomodules="pnm $_novomodules"
4493 echores "$_pnm"
4497 echocheck "GIF support"
4498 # This is to appease people who want to force gif support.
4499 # If it is forced to yes, then we still do checks to determine
4500 # which gif library to use.
4501 if test "$_gif" = yes ; then
4502 _force_gif=yes
4503 _gif=auto
4506 if test "$_gif" = auto ; then
4507 _gif=no
4508 cat > $TMPC << EOF
4509 #include <gif_lib.h>
4510 int main(void) {
4511 return 0;
4514 for _ld_gif in "-lungif" "-lgif" ; do
4515 cc_check $_ld_gif && tmp_run && _gif=yes && break
4516 done
4519 # If no library was found, and the user wants support forced,
4520 # then we force it on with libgif, as this is the safest
4521 # assumption IMHO. (libungif & libregif both create symbolic
4522 # links to libgif. We also assume that no x11 support is needed,
4523 # because if you are forcing this, then you _should_ know what
4524 # you are doing. [ Besides, package maintainers should never
4525 # have compiled x11 deps into libungif in the first place. ] )
4526 # </rant>
4527 # --Joey
4528 if test "$_force_gif" = yes && test "$_gif" = no ; then
4529 _gif=yes
4530 _ld_gif="-lgif"
4533 if test "$_gif" = yes ; then
4534 _def_gif='#define HAVE_GIF 1'
4535 _vosrc="$_vosrc vo_gif89a.c"
4536 _codecmodules="gif $_codecmodules"
4537 _vomodules="gif89a $_vomodules"
4538 _res_comment="old version, some encoding functions disabled"
4539 _def_gif_4='#undef HAVE_GIF_4'
4540 _ld_extra="$_ld_extra $_ld_gif"
4542 cat > $TMPC << EOF
4543 #include <signal.h>
4544 #include <gif_lib.h>
4545 void catch() { exit(1); }
4546 int main(void) {
4547 signal(SIGSEGV, catch); // catch segfault
4548 printf("EGifPutExtensionFirst is at address %p\n", EGifPutExtensionFirst);
4549 EGifSetGifVersion("89a"); // this will segfault a buggy gif lib.
4550 return 0;
4553 if cc_check "$_ld_gif" && tmp_run ; then
4554 _def_gif_4='#define HAVE_GIF_4 1'
4555 _res_comment=""
4557 else
4558 _def_gif='#undef HAVE_GIF'
4559 _def_gif_4='#undef HAVE_GIF_4'
4560 _novomodules="gif89a $_novomodules"
4561 _nocodecmodules="gif $_nocodecmodules"
4563 echores "$_gif"
4566 case "$_gif" in yes*)
4567 echocheck "broken giflib workaround"
4568 _def_gif_tvt_hack='#define HAVE_GIF_TVT_HACK 1'
4570 cat > $TMPC << EOF
4571 #include <gif_lib.h>
4572 int main(void) {
4573 GifFileType gif;
4574 printf("UserData is at address %p\n", gif.UserData);
4575 return 0;
4578 if cc_check "$_ld_gif" && tmp_run ; then
4579 _def_gif_tvt_hack='#undef HAVE_GIF_TVT_HACK'
4580 echores "disabled"
4581 else
4582 echores "enabled"
4585 esac
4588 echocheck "VESA support"
4589 if test "$_vesa" = auto ; then
4590 cat > $TMPC << EOF
4591 #include <vbe.h>
4592 int main(void) { vbeVersion(); return 0; }
4594 _vesa=no
4595 cc_check -lvbe -llrmi && _vesa=yes
4597 if test "$_vesa" = yes ; then
4598 _def_vesa='#define HAVE_VESA 1'
4599 _libs_mplayer="$_libs_mplayer -lvbe -llrmi"
4600 _vosrc="$_vosrc vo_vesa.c vesa_lvo.c gtf.c"
4601 _vomodules="vesa $_vomodules"
4602 else
4603 _def_vesa='#undef HAVE_VESA'
4604 _novomodules="vesa $_novomodules"
4606 echores "$_vesa"
4608 #################
4609 # VIDEO + AUDIO #
4610 #################
4613 echocheck "SDL"
4614 if test -z "$_sdlconfig" ; then
4615 if ( sdl-config --version ) >>"$TMPLOG" 2>&1 ; then
4616 _sdlconfig="sdl-config"
4617 elif ( sdl11-config --version ) >>"$TMPLOG" 2>&1 ; then
4618 _sdlconfig="sdl11-config"
4619 else
4620 _sdlconfig=false
4623 if test "$_sdl" = auto || test "$_sdl" = yes ; then
4624 cat > $TMPC << EOF
4625 #include <SDL.h>
4626 int main(int argc, char *argv[]) { return 0; }
4628 _sdl=no
4629 if "$_sdlconfig" --version >>"$TMPLOG" 2>&1 ; then
4630 if cc_check `$_sdlconfig --cflags` `$_sdlconfig --libs` >>"$TMPLOG" 2>&1 ; then
4631 _sdlversion=`$_sdlconfig --version | sed 's/[^0-9]//g'`
4632 if test "$_sdlversion" -gt 116 ; then
4633 if test "$_sdlversion" -lt 121 ; then
4634 _def_sdlbuggy='#define BUGGY_SDL'
4635 else
4636 _def_sdlbuggy='#undef BUGGY_SDL'
4638 _sdl=yes
4643 if test "$_sdl" = yes ; then
4644 _def_sdl='#define HAVE_SDL 1'
4645 if cygwin ; then
4646 _libs_mplayer="$_libs_mplayer `$_sdlconfig --libs | cut -d " " -f 1,4,6 | sed s/no-cygwin/cygwin/`"
4647 _inc_extra="$_inc_extra `$_sdlconfig --cflags | cut -d " " -f 1,5,6 | sed s/no-cygwin/cygwin/`"
4648 elif mingw32 ; then
4649 _libs_mplayer="$_libs_mplayer `$_sdlconfig --libs | sed -e s/-mwindows// -e s/-lmingw32//`"
4650 _inc_extra="$_inc_extra `$_sdlconfig --cflags | sed s/-Dmain=SDL_main//`"
4651 else
4652 _libs_mplayer="$_libs_mplayer `$_sdlconfig --libs`"
4653 _inc_extra="$_inc_extra `$_sdlconfig --cflags | sed s/-D_GNU_SOURCE=1//`"
4655 _vosrc="$_vosrc vo_sdl.c"
4656 _vomodules="sdl $_vomodules"
4657 _aosrc="$_aosrc ao_sdl.c"
4658 _aomodules="sdl $_aomodules"
4659 _res_comment="using $_sdlconfig"
4660 else
4661 _def_sdl='#undef HAVE_SDL'
4662 _novomodules="sdl $_novomodules"
4663 _noaomodules="sdl $_noaomodules"
4665 echores "$_sdl"
4668 if win32; then
4670 echocheck "Windows waveout"
4671 if test "$_win32waveout" = auto ; then
4672 cat > $TMPC << EOF
4673 #include <windows.h>
4674 #include <mmsystem.h>
4675 int main(void) { return 0; }
4677 _win32waveout=no
4678 cc_check -lwinmm && _win32waveout=yes
4680 if test "$_win32waveout" = yes ; then
4681 _def_win32waveout='#define HAVE_WIN32WAVEOUT 1'
4682 _libs_mplayer="$_libs_mplayer -lwinmm"
4683 _aosrc="$_aosrc ao_win32.c"
4684 _aomodules="win32 $_aomodules"
4685 else
4686 _def_win32waveout='#undef HAVE_WIN32WAVEOUT'
4687 _noaomodules="win32 $_noaomodules"
4689 echores "$_win32waveout"
4691 echocheck "Directx"
4692 if test "$_directx" = auto ; then
4693 cat > $TMPC << EOF
4694 #include <windows.h>
4695 #include <ddraw.h>
4696 #include <dsound.h>
4697 int main(void) { return 0; }
4699 _directx=no
4700 cc_check -lgdi32 && _directx=yes
4702 if test "$_directx" = yes ; then
4703 _def_directx='#define HAVE_DIRECTX 1'
4704 _libs_mplayer="$_libs_mplayer -lgdi32"
4705 _vosrc="$_vosrc vo_directx.c"
4706 _vomodules="directx $_vomodules"
4707 _aosrc="$_aosrc ao_dsound.c"
4708 _aomodules="dsound $_aomodules"
4709 else
4710 _def_directx='#undef HAVE_DIRECTX'
4711 _novomodules="directx $_novomodules"
4712 _noaomodules="dsound $_noaomodules"
4714 echores "$_directx"
4716 fi #if win32; then
4719 echocheck "NAS"
4720 if test "$_nas" = auto ; then
4721 cat > $TMPC << EOF
4722 #include <audio/audiolib.h>
4723 int main(void) { return 0; }
4725 _nas=no
4726 cc_check $_ld_lm -laudio -lXt && _nas=yes
4728 if test "$_nas" = yes ; then
4729 _def_nas='#define HAVE_NAS 1'
4730 _libs_mplayer="$_libs_mplayer -laudio -lXt"
4731 _aosrc="$_aosrc ao_nas.c"
4732 _aomodules="nas $_aomodules"
4733 else
4734 _noaomodules="nas $_noaomodules"
4735 _def_nas='#undef HAVE_NAS'
4737 echores "$_nas"
4739 echocheck "DXR2"
4740 if test "$_dxr2" = auto; then
4741 _dxr2=no
4742 cat > $TMPC << EOF
4743 #include <dxr2ioctl.h>
4744 int main(void) { return 0; }
4746 for _inc_tmp in "" -I/usr/local/include/dxr2 -I/usr/include/dxr2; do
4747 cc_check $_inc_tmp && _dxr2=yes && \
4748 _inc_extra="$_inc_extra $_inc_tmp" && break
4749 done
4751 if test "$_dxr2" = yes; then
4752 _def_dxr2='#define HAVE_DXR2 1'
4753 _vosrc="$_vosrc vo_dxr2.c"
4754 _aosrc="$_aosrc ao_dxr2.c"
4755 _aomodules="dxr2 $_aomodules"
4756 _vomodules="dxr2 $_vomodules"
4757 else
4758 _def_dxr2='#undef HAVE_DXR2'
4759 _noaomodules="dxr2 $_noaomodules"
4760 _novomodules="dxr2 $_novomodules"
4762 echores "$_dxr2"
4764 echocheck "DXR3/H+"
4765 if test "$_dxr3" = auto ; then
4766 cat > $TMPC << EOF
4767 #include <linux/em8300.h>
4768 int main(void) { return 0; }
4770 _dxr3=no
4771 cc_check && _dxr3=yes
4773 if test "$_dxr3" = yes ; then
4774 _def_dxr3='#define HAVE_DXR3 1'
4775 _vosrc="$_vosrc vo_dxr3.c"
4776 _vomodules="dxr3 $_vomodules"
4777 else
4778 _def_dxr3='#undef HAVE_DXR3'
4779 _novomodules="dxr3 $_novomodules"
4781 echores "$_dxr3"
4784 echocheck "IVTV TV-Out"
4785 if test "$_ivtv" = auto ; then
4786 cat > $TMPC << EOF
4787 #include <stdlib.h>
4788 #include <inttypes.h>
4789 #include <linux/types.h>
4790 #include <linux/videodev2.h>
4791 #include <linux/ivtv.h>
4792 int main(void) { return 0; }
4794 _ivtv=no
4795 cc_check && _ivtv=yes
4797 if test "$_ivtv" = yes ; then
4798 _def_ivtv='#define HAVE_IVTV 1'
4799 _vosrc="$_vosrc vo_ivtv.c"
4800 _vomodules="ivtv $_vomodules"
4801 _aosrc="$_aosrc ao_ivtv.c"
4802 _aomodules="ivtv $_aomodules"
4803 else
4804 _def_ivtv='#undef HAVE_IVTV'
4805 _novomodules="ivtv $_novomodules"
4806 _noaomodules="ivtv $_noaomodules"
4808 echores "$_ivtv"
4812 #########
4813 # AUDIO #
4814 #########
4817 echocheck "OSS Audio"
4818 if test "$_ossaudio" = auto ; then
4819 cat > $TMPC << EOF
4820 #include <sys/ioctl.h>
4821 $_include_soundcard
4822 int main(void) { int arg = SNDCTL_DSP_SETFRAGMENT; return 0; }
4824 _ossaudio=no
4825 cc_check && _ossaudio=yes
4827 if test "$_ossaudio" = yes ; then
4828 _def_ossaudio='#define USE_OSS_AUDIO 1'
4829 _aosrc="$_aosrc ao_oss.c"
4830 _aomodules="oss $_aomodules"
4831 if test "$_linux_devfs" = yes; then
4832 _def_ossaudio_devdsp='#define PATH_DEV_DSP "/dev/sound/dsp"'
4833 _def_ossaudio_devmixer='#define PATH_DEV_MIXER "/dev/sound/mixer"'
4834 else
4835 cat > $TMPC << EOF
4836 #include <sys/ioctl.h>
4837 $_include_soundcard
4838 #ifdef OPEN_SOUND_SYSTEM
4839 int main(void) { return 0; }
4840 #else
4841 #error Not the real thing
4842 #endif
4844 _real_ossaudio=no
4845 cc_check && _real_ossaudio=yes
4846 if test "$_real_ossaudio" = yes; then
4847 _def_ossaudio_devdsp='#define PATH_DEV_DSP "/dev/dsp"'
4848 elif netbsd || openbsd ; then
4849 _def_ossaudio_devdsp='#define PATH_DEV_DSP "/dev/sound"'
4850 _ld_extra="$_ld_extra -lossaudio"
4851 else
4852 _def_ossaudio_devdsp='#define PATH_DEV_DSP "/dev/dsp"'
4854 _def_ossaudio_devmixer='#define PATH_DEV_MIXER "/dev/mixer"'
4856 else
4857 _def_ossaudio='#undef USE_OSS_AUDIO'
4858 _def_ossaudio_devdsp='#define PATH_DEV_DSP ""'
4859 _def_ossaudio_devmixer='#define PATH_DEV_MIXER ""'
4860 _noaomodules="oss $_noaomodules"
4862 echores "$_ossaudio"
4865 echocheck "aRts"
4866 if test "$_arts" = auto ; then
4867 _arts=no
4868 if ( artsc-config --version ) >> "$TMPLOG" 2>&1 ; then
4870 cat > $TMPC << EOF
4871 #include <artsc.h>
4872 int main(void) { return 0; }
4874 cc_check `artsc-config --libs` `artsc-config --cflags` && tmp_run && _arts=yes
4879 if test "$_arts" = yes ; then
4880 _def_arts='#define USE_ARTS 1'
4881 _aosrc="$_aosrc ao_arts.c"
4882 _aomodules="arts $_aomodules"
4883 _libs_mplayer="$_libs_mplayer `artsc-config --libs`"
4884 _inc_extra="$_inc_extra `artsc-config --cflags`"
4885 else
4886 _noaomodules="arts $_noaomodules"
4888 echores "$_arts"
4891 echocheck "EsounD"
4892 if test "$_esd" = auto ; then
4893 _esd=no
4894 if ( esd-config --version ) >> "$TMPLOG" 2>&1 ; then
4896 cat > $TMPC << EOF
4897 #include <esd.h>
4898 int main(void) { return 0; }
4900 cc_check `esd-config --libs` `esd-config --cflags` && tmp_run && _esd=yes
4904 echores "$_esd"
4906 if test "$_esd" = yes ; then
4907 _def_esd='#define USE_ESD 1'
4908 _aosrc="$_aosrc ao_esd.c"
4909 _aomodules="esd $_aomodules"
4910 _libs_mplayer="$_libs_mplayer `esd-config --libs`"
4911 _inc_extra="$_inc_extra `esd-config --cflags`"
4913 echocheck "esd_get_latency()"
4914 cat > $TMPC << EOF
4915 #include <esd.h>
4916 int main(void) { return esd_get_latency(0); }
4918 cc_check `esd-config --libs` `esd-config --cflags` && _esd_latency=yes && _def_esd_latency='#define HAVE_ESD_LATENCY'
4919 echores "$_esd_latency"
4920 else
4921 _def_esd='#undef USE_ESD'
4922 _def_esd_latency='#undef HAVE_ESD_LATENCY'
4923 _noaomodules="esd $_noaomodules"
4926 echocheck "Polyp"
4927 if test "$_polyp" = auto ; then
4928 _polyp=no
4929 if $_pkg_config --exists 'polyplib >= 0.6 polyplib-error >= 0.6 polyplib-mainloop >= 0.6' ; then
4931 cat > $TMPC << EOF
4932 #include <polyp/polyplib.h>
4933 #include <polyp/mainloop.h>
4934 #include <polyp/polyplib-error.h>
4935 int main(void) { return 0; }
4937 cc_check `$_pkg_config --libs --cflags polyplib polyplib-error polyplib-mainloop` && tmp_run && _polyp=yes
4941 echores "$_polyp"
4943 if test "$_polyp" = yes ; then
4944 _def_polyp='#define USE_POLYP 1'
4945 _aosrc="$_aosrc ao_polyp.c"
4946 _aomodules="polyp $_aomodules"
4947 _libs_mplayer="$_libs_mplayer `$_pkg_config --libs polyplib polyplib-error polyplib-mainloop`"
4948 _inc_extra="$_inc_extra `$_pkg_config --cflags polyplib polyplib-error polyplib-mainloop`"
4949 else
4950 _def_polyp='#undef USE_POLYP'
4951 _noaomodules="polyp $_noaomodules"
4955 echocheck "JACK"
4956 if test "$_jack" = auto ; then
4957 _jack=yes
4959 cat > $TMPC << EOF
4960 #include <jack/jack.h>
4961 int main(void) { jack_client_new("test"); return 0; }
4963 if cc_check -ljack ; then
4964 _libs_mplayer="$_libs_mplayer -ljack"
4965 elif cc_check `$_pkg_config --libs --cflags --silence-errors jack` ; then
4966 _libs_mplayer="$_libs_mplayer `$_pkg_config --libs jack`"
4967 _inc_extra="$_inc_extra "`$_pkg_config --cflags jack`""
4968 else
4969 _jack=no
4973 if test "$_jack" = yes ; then
4974 _def_jack='#define USE_JACK 1'
4975 _aosrc="$_aosrc ao_jack.c"
4976 _aomodules="jack $_aomodules"
4977 else
4978 _noaomodules="jack $_noaomodules"
4980 echores "$_jack"
4982 echocheck "OpenAL"
4983 if test "$_openal" = auto ; then
4984 _openal=no
4985 cat > $TMPC << EOF
4986 #ifdef OPENAL_AL_H
4987 #include <OpenAL/al.h>
4988 #else
4989 #include <AL/al.h>
4990 #endif
4991 int main(void) {
4992 alSourceQueueBuffers(0, 0, 0);
4993 // alGetSourcei(0, AL_SAMPLE_OFFSET, 0);
4994 return 0;
4997 for I in "-lopenal" "-framework OpenAL" ; do
4998 cc_check $I && _openal=yes && break
4999 cc_check -DOPENAL_AL_H=1 $I && _def_openal_h='#define OPENAL_AL_H 1' && _openal=yes && break
5000 done
5001 test "$_openal" = yes && _libs_mplayer="$_libs_mplayer $I"
5003 if test "$_openal" = yes ; then
5004 _def_openal='#define USE_OPENAL 1'
5005 _aosrc="$_aosrc ao_openal.c"
5006 _aomodules="openal $_aomodules"
5007 else
5008 _noaomodules="openal $_noaomodules"
5010 echores "$_openal"
5012 echocheck "ALSA audio"
5013 if test "$_alsa" != no ; then
5014 _alsa=no
5015 cat > $TMPC << EOF
5016 #include <sys/asoundlib.h>
5017 #if !((SND_LIB_MAJOR == 0) && (SND_LIB_MINOR == 5))
5018 #error "alsa version != 0.5.x"
5019 #endif
5020 int main(void) { return 0; }
5022 cc_check -lasound $_ld_dl $_ld_pthread && _alsaver='0.5.x'
5024 cat > $TMPC << EOF
5025 #include <sys/asoundlib.h>
5026 #if !((SND_LIB_MAJOR == 0) && (SND_LIB_MINOR == 9))
5027 #error "alsa version != 0.9.x"
5028 #endif
5029 int main(void) { return 0; }
5031 cc_check -lasound $_ld_dl $_ld_pthread && _alsaver='0.9.x-sys'
5032 cat > $TMPC << EOF
5033 #include <alsa/asoundlib.h>
5034 #if !((SND_LIB_MAJOR == 0) && (SND_LIB_MINOR == 9))
5035 #error "alsa version != 0.9.x"
5036 #endif
5037 int main(void) { return 0; }
5039 cc_check -lasound $_ld_dl $_ld_pthread && _alsaver='0.9.x-alsa'
5041 cat > $TMPC << EOF
5042 #include <sys/asoundlib.h>
5043 #if !((SND_LIB_MAJOR == 1) && (SND_LIB_MINOR == 0))
5044 #error "alsa version != 1.0.x"
5045 #endif
5046 int main(void) { return 0; }
5048 cc_check -lasound $_ld_dl $_ld_pthread && _alsaver='1.0.x-sys'
5049 cat > $TMPC << EOF
5050 #include <alsa/asoundlib.h>
5051 #if !((SND_LIB_MAJOR == 1) && (SND_LIB_MINOR == 0))
5052 #error "alsa version != 1.0.x"
5053 #endif
5054 int main(void) { return 0; }
5056 cc_check -lasound $_ld_dl $_ld_pthread && _alsaver='1.0.x-alsa'
5058 _def_alsa5='#undef HAVE_ALSA5'
5059 _def_alsa9='#undef HAVE_ALSA9'
5060 _def_alsa1x='#undef HAVE_ALSA1X'
5061 _def_sys_asoundlib_h='#undef HAVE_SYS_ASOUNDLIB_H'
5062 _def_alsa_asoundlib_h='#undef HAVE_ALSA_ASOUNDLIB_H'
5063 if test "$_alsaver" ; then
5064 _alsa=yes
5065 if test "$_alsaver" = '0.5.x' ; then
5066 _alsa5=yes
5067 _aosrc="$_aosrc ao_alsa5.c"
5068 _aomodules="alsa5 $_aomodules"
5069 _def_alsa5='#define HAVE_ALSA5 1'
5070 _def_sys_asoundlib_h='#define HAVE_SYS_ASOUNDLIB_H 1'
5071 _res_comment="using alsa 0.5.x and sys/asoundlib.h"
5072 elif test "$_alsaver" = '0.9.x-sys' ; then
5073 _alsa9=yes
5074 _aosrc="$_aosrc ao_alsa.c"
5075 _aomodules="alsa $_aomodules"
5076 _def_alsa9='#define HAVE_ALSA9 1'
5077 _def_sys_asoundlib_h='#define HAVE_SYS_ASOUNDLIB_H 1'
5078 _res_comment="using alsa 0.9.x and sys/asoundlib.h"
5079 elif test "$_alsaver" = '0.9.x-alsa' ; then
5080 _alsa9=yes
5081 _aosrc="$_aosrc ao_alsa.c"
5082 _aomodules="alsa $_aomodules"
5083 _def_alsa9='#define HAVE_ALSA9 1'
5084 _def_alsa_asoundlib_h='#define HAVE_ALSA_ASOUNDLIB_H 1'
5085 _res_comment="using alsa 0.9.x and alsa/asoundlib.h"
5086 elif test "$_alsaver" = '1.0.x-sys' ; then
5087 _alsa1x=yes
5088 _aosrc="$_aosrc ao_alsa.c"
5089 _aomodules="alsa $_aomodules"
5090 _def_alsa1x="#define HAVE_ALSA1X 1"
5091 _def_alsa_asoundlib_h='#define HAVE_SYS_ASOUNDLIB_H 1'
5092 _res_comment="using alsa 1.0.x and sys/asoundlib.h"
5093 elif test "$_alsaver" = '1.0.x-alsa' ; then
5094 _alsa1x=yes
5095 _aosrc="$_aosrc ao_alsa.c"
5096 _aomodules="alsa $_aomodules"
5097 _def_alsa1x="#define HAVE_ALSA1X 1"
5098 _def_alsa_asoundlib_h='#define HAVE_ALSA_ASOUNDLIB_H 1'
5099 _res_comment="using alsa 1.0.x and alsa/asoundlib.h"
5100 else
5101 _alsa=no
5102 _res_comment="unknown version"
5104 _ld_extra="$_ld_extra -lasound $_ld_dl $_ld_pthread"
5105 else
5106 _noaomodules="alsa $_noaomodules"
5108 echores "$_alsa"
5111 echocheck "Sun audio"
5112 if test "$_sunaudio" = auto ; then
5113 cat > $TMPC << EOF
5114 #include <sys/types.h>
5115 #include <sys/audioio.h>
5116 int main(void) { audio_info_t info; AUDIO_INITINFO(&info); return 0; }
5118 _sunaudio=no
5119 cc_check && _sunaudio=yes
5121 if test "$_sunaudio" = yes ; then
5122 _def_sunaudio='#define USE_SUN_AUDIO 1'
5123 _aosrc="$_aosrc ao_sun.c"
5124 _aomodules="sun $_aomodules"
5125 else
5126 _def_sunaudio='#undef USE_SUN_AUDIO'
5127 _noaomodules="sun $_noaomodules"
5129 echores "$_sunaudio"
5132 if sunos; then
5133 echocheck "Sun mediaLib"
5134 if test "$_mlib" = auto ; then
5135 _mlib=no
5136 cat > $TMPC << EOF
5137 #include <mlib.h>
5138 int main(void) { mlib_VideoColorYUV2ABGR420(0,0,0,0,0,0,0,0,0); return 0; }
5140 cc_check -lmlib && _mlib=yes
5142 if test "$_mlib" = yes ; then
5143 _def_mlib='#define HAVE_MLIB 1'
5144 else
5145 _def_mlib='#undef HAVE_MLIB'
5147 echores "$_mlib"
5148 fi #if sunos
5151 if irix; then
5152 echocheck "SGI audio"
5153 if test "$_sgiaudio" = auto ; then
5154 # check for SGI audio
5155 cat > $TMPC << EOF
5156 #include <dmedia/audio.h>
5157 int main(void) { return 0; }
5159 _sgiaudio=no
5160 cc_check && _sgiaudio=yes
5162 if test "$_sgiaudio" = "yes" ; then
5163 _def_sgiaudio='#define USE_SGI_AUDIO 1'
5164 _libs_mplayer="$_libs_mplayer -laudio"
5165 _aosrc="$_aosrc ao_sgi.c"
5166 _aomodules="sgi $_aomodules"
5167 else
5168 _def_sgiaudio='#undef USE_SGI_AUDIO'
5169 _noaomodules="sgi $_noaomodules"
5171 echores "$_sgiaudio"
5172 fi #if irix
5175 echocheck "VCD support"
5176 if linux || bsdos || freebsd || netbsd || sunos || darwin ; then
5177 _inputmodules="vcd $_inputmodules"
5178 _def_vcd='#define HAVE_VCD 1'
5179 _vcd="yes"
5180 else
5181 _def_vcd='#undef HAVE_VCD'
5182 _noinputmodules="vcd $_noinputmodules"
5183 _res_comment="not supported on this OS"
5184 _vcd="no"
5186 echores "$_vcd"
5188 echocheck "DVD support (libdvdnav)"
5189 if test "$_dvdnav" = auto ; then
5190 $_dvdnavconfig --version >> $TMPLOG 2>&1 || _dvdnav=no
5192 if test "$_dvdnav" = auto ; then
5193 cat > $TMPC <<EOF
5194 #include <dvdnav.h>
5195 int main(void) { dvdnav_t *dvd=0; return 0; }
5197 _dvdnav=no
5198 _dvdnavdir=`$_dvdnavconfig --cflags`
5199 _dvdnavlibs=`$_dvdnavconfig --libs`
5200 _dvdnavvsn=`$_dvdnavconfig --version | sed "s/\.//g"`
5201 _dvdnavmajor=`echo $_dvdnavvsn | cut -d. -f2`
5202 test "$_dvdnavmajor" -ge 2 -o "$_dvdnavvsn" -ge 0110 && \
5203 cc_check $_dvdnavdir $_dvdnavlibs $_ld_dl $_ld_pthread && _dvdnav=yes
5205 if test "$_dvdnav" = yes ; then
5206 _largefiles=yes
5207 _def_dvdnav='#define USE_DVDNAV 1'
5208 _ld_extra="$_ld_extra `$_dvdnavconfig --libs`"
5209 _dvdnav_version=`$_dvdnavconfig --version | sed "s/\.//g"`
5210 _def_dvdnav_version="#define DVDNAVVERSION $_dvdnav_version"
5211 _inc_extra="$_inc_extra `$_dvdnavconfig --cflags`"
5212 _inputmodules="dvdnav $_inputmodules"
5214 #disable dvdread checks: dvdread will be enabled using dvdnav's version of dvdread
5215 _dvdread_internal=no
5216 _dvdread=yes
5217 else
5218 _def_dvdnav='#undef USE_DVDNAV'
5219 _noinputmodules="dvdnav $_noinputmodules"
5221 echores "$_dvdnav"
5224 echocheck "dvdread"
5225 if test "$_dvdread_internal" = auto ; then
5226 _dvdread_internal=no
5227 if linux || freebsd || netbsd || darwin || openbsd || win32 || sunos || hpux && \
5228 test "$_dvd" = yes || test "$_cdrom" = yes || test "$_cdio" = yes || \
5229 test "$_dvdio" = yes || test "$_bsdi_dvd" = yes || \
5230 test "$_hpux_scsi_h" = yes || darwin || win32 ; then
5231 _dvdread_internal=yes
5232 _dvdread=yes
5233 _res_comment="internal"
5235 elif test "$_dvdread" = auto ; then
5236 _dvdread=no
5237 if test "$_dl" = yes; then
5238 cat > $TMPC << EOF
5239 #include <inttypes.h>
5240 #include <dvdread/dvd_reader.h>
5241 #include <dvdread/ifo_types.h>
5242 #include <dvdread/ifo_read.h>
5243 #include <dvdread/nav_read.h>
5244 int main(void) { return 0; }
5246 cc_check -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE \
5247 -ldvdread $_ld_dl && _dvdread=yes && _res_comment="external"
5251 if test "$_dvdread_internal" = yes; then
5252 _def_dvdread_internal="#define USE_DVDREAD_INTERNAL 1"
5253 _def_dvdread='#define USE_DVDREAD 1'
5254 _inputmodules="dvdread $_inputmodules"
5255 _largefiles=yes
5256 elif test "$_dvdread" = yes; then
5257 _def_dvdread='#define USE_DVDREAD 1'
5258 _inputmodules="dvdread $_inputmodules"
5259 _largefiles=yes
5260 test "$_dvdnav" != yes && _ld_extra="$_ld_extra -ldvdread"
5261 else
5262 _def_dvdread_internal="#undef USE_DVDREAD_INTERNAL"
5263 _def_dvdread='#undef USE_DVDREAD'
5264 _noinputmodules="dvdread $_noinputmodules"
5266 echores "$_dvdread"
5269 echocheck "internal libdvdcss"
5270 if test "$_libdvdcss_internal" = auto ; then
5271 _libdvdcss_internal=no
5272 test "$_dvdread_internal" = yes && _libdvdcss_internal=yes
5274 if test "$_libdvdcss_internal" = yes ; then
5275 if linux || netbsd || openbsd || bsdos ; then
5276 _def_dvd_linux='#define HAVE_LINUX_DVD_STRUCT 1'
5277 openbsd && _dev_dvd_openbsd='#define HAVE_OPENBSD_DVD_STRUCT 1'
5278 elif freebsd ; then
5279 _def_dvd_bsd='#define HAVE_BSD_DVD_STRUCT 1'
5280 elif darwin ; then
5281 _def_dvd_darwin='#define DARWIN_DVD_IOCTL'
5282 _ld_extra="$_ld_extra -framework IOKit"
5284 _inputmodules="libdvdcss $_inputmodules"
5285 else
5286 _noinputmodules="libdvdcss $_noinputmodules"
5288 echores "$_libdvdcss_internal"
5291 echocheck "cdparanoia"
5292 if test "$_cdparanoia" = auto ; then
5293 cat > $TMPC <<EOF
5294 #include <cdda_interface.h>
5295 #include <cdda_paranoia.h>
5296 // This need a better test. How ?
5297 int main(void) {
5298 void *test = cdda_verbose_set;
5299 return test == (void *)1;
5302 _cdparanoia=no
5303 for _inc_tmp in "" "-I/usr/include/cdda" "-I/usr/local/include/cdda" ; do
5304 cc_check $_inc_tmp -lcdda_interface -lcdda_paranoia $_ld_lm && \
5305 _cdparanoia=yes && _inc_extra="$_inc_extra $_inc_tmp" && break
5306 done
5308 if test "$_cdparanoia" = yes ; then
5309 _cdda='yes'
5310 _ld_extra="$_ld_extra -lcdda_interface -lcdda_paranoia"
5311 openbsd && _ld_extra="$_ld_extra -lutil"
5313 echores "$_cdparanoia"
5316 echocheck "libcdio"
5317 if test "$_libcdio" = auto && test "$_cdparanoia" = no ; then
5318 cat > $TMPC << EOF
5319 #include <stdio.h>
5320 #include <cdio/version.h>
5321 #include <cdio/cdda.h>
5322 #include <cdio/paranoia.h>
5323 int main()
5325 void *test = cdda_verbose_set;
5326 printf("%s\n", CDIO_VERSION);
5327 return test == (void *)1;
5331 _libcdio=no
5332 for _ld_tmp in "" "-lwinmm" ; do
5333 _ld_tmp="-lcdio_cdda -lcdio -lcdio_paranoia $_ld_tmp"
5334 cc_check $_ld_tmp $_ld_lm \
5335 && _libcdio=yes && _ld_extra="$_ld_extra $_ld_tmp" && break
5336 done
5337 if test "$_libcdio" = no && $_pkg_config --exists libcdio_paranoia ; then
5338 _inc_tmp=`$_pkg_config --cflags libcdio_paranoia`
5339 _ld_tmp=`$_pkg_config --libs libcdio_paranoia`
5340 cc_check $_inc_tmp $_ld_tmp $_ld_lm && _libcdio=yes \
5341 && _ld_extra="$_ld_extra $_ld_tmp" && _inc_extra="$_inc_extra $_inc_tmp"
5344 if test "$_libcdio" = yes && test "$_cdparanoia" = no ; then
5345 _cdda='yes'
5346 _def_libcdio='#define HAVE_LIBCDIO'
5347 _def_havelibcdio='yes'
5348 else
5349 if test "$_cdparanoia" = yes ; then
5350 _res_comment="using cdparanoia"
5352 _def_libcdio='#undef HAVE_LIBCDIO'
5353 _def_havelibcdio='no'
5355 echores "$_libcdio"
5357 if test "$_cdda" = yes ; then
5358 test $_cddb = auto && test $_network = yes && not darwin && _cddb=yes
5359 _def_cdparanoia='#define HAVE_CDDA'
5360 _inputmodules="cdda $_inputmodules"
5361 else
5362 _def_cdparanoia='#undef HAVE_CDDA'
5363 _noinputmodules="cdda $_noinputmodules"
5366 if test "$_cddb" = yes ; then
5367 _def_cddb='#define HAVE_CDDB'
5368 _inputmodules="cddb $_inputmodules"
5369 else
5370 _cddb=no
5371 _def_cddb='#undef HAVE_CDDB'
5372 _noinputmodules="cddb $_noinputmodules"
5375 echocheck "bitmap font support"
5376 if test "$_bitmap_font" = yes ; then
5377 _def_bitmap_font="#define HAVE_BITMAP_FONT 1"
5378 else
5379 _def_bitmap_font="#undef HAVE_BITMAP_FONT"
5381 echores "$_bitmap_font"
5384 echocheck "freetype >= 2.0.9"
5386 # freetype depends on iconv
5387 if test "$_iconv" = no ; then
5388 _freetype=no
5389 _res_comment="iconv support needed"
5392 if test "$_freetype" = auto ; then
5393 if ( $_freetypeconfig --version ) >/dev/null 2>&1 ; then
5394 cat > $TMPC << EOF
5395 #include <stdio.h>
5396 #include <ft2build.h>
5397 #include FT_FREETYPE_H
5398 #if ((FREETYPE_MAJOR < 2) || ((FREETYPE_MINOR == 0) && (FREETYPE_PATCH < 9)))
5399 #error "Need FreeType 2.0.9 or newer"
5400 #endif
5401 int main()
5403 FT_Library library;
5404 FT_Int major=-1,minor=-1,patch=-1;
5405 int err=FT_Init_FreeType(&library);
5406 if(err){
5407 printf("Couldn't initialize freetype2 lib, err code: %d\n",err);
5408 exit(err);
5410 FT_Library_Version(library,&major,&minor,&patch); // in v2.1.0+ only :(((
5411 printf("freetype2 header version: %d.%d.%d library version: %d.%d.%d\n",
5412 FREETYPE_MAJOR,FREETYPE_MINOR,FREETYPE_PATCH,
5413 (int)major,(int)minor,(int)patch );
5414 if(major!=FREETYPE_MAJOR || minor!=FREETYPE_MINOR){
5415 printf("Library and header version mismatch! Fix it in your distribution!\n");
5416 exit(1);
5418 return 0;
5421 _freetype=no
5422 cc_check `$_freetypeconfig --cflags` `$_freetypeconfig --libs` && tmp_run && _freetype=yes
5423 else
5424 _freetype=no
5427 if test "$_freetype" = yes ; then
5428 _def_freetype='#define HAVE_FREETYPE'
5429 _inc_extra="$_inc_extra `$_freetypeconfig --cflags`"
5430 _ld_extra="$_ld_extra `$_freetypeconfig --libs`"
5431 else
5432 _def_freetype='#undef HAVE_FREETYPE'
5434 echores "$_freetype"
5436 if test "$_freetype" = no ; then
5437 _fontconfig=no
5438 _res_comment="freetype support needed"
5440 echocheck "fontconfig"
5441 if test "$_fontconfig" = auto ; then
5442 cat > $TMPC << EOF
5443 #include <stdio.h>
5444 #include <fontconfig/fontconfig.h>
5445 int main()
5447 int err = FcInit();
5448 if(err == FcFalse){
5449 printf("Couldn't initialize fontconfig lib\n");
5450 exit(err);
5452 return 0;
5456 _fontconfig=no
5457 for _ld_tmp in "" "-lexpat -lfreetype" "-lexpat -lfreetype -lz" ; do
5458 _ld_tmp="-lfontconfig $_ld_tmp"
5459 cc_check $_ld_tmp && _fontconfig=yes && _ld_extra="$_ld_extra $_ld_tmp" && break
5460 done
5461 if test "$_fontconfig" = no && $_pkg_config --exists fontconfig ; then
5462 _inc_tmp=`$_pkg_config --cflags fontconfig`
5463 _ld_tmp=`$_pkg_config --libs fontconfig`
5464 cc_check $_inc_tmp $_ld_tmp && _fontconfig=yes \
5465 && _ld_extra="$_ld_extra $_ld_tmp" && _inc_extra="$_inc_extra $_inc_tmp"
5468 if test "$_fontconfig" = yes ; then
5469 _def_fontconfig='#define HAVE_FONTCONFIG'
5470 else
5471 _def_fontconfig='#undef HAVE_FONTCONFIG'
5473 echores "$_fontconfig"
5476 echocheck "SSA/ASS support"
5477 # libass depends on FreeType
5478 if test "$_freetype" = no ; then
5479 _ass=no
5480 _res_comment="FreeType support needed"
5483 if test "$_ass" = auto ; then
5484 cat > $TMPC << EOF
5485 #include <ft2build.h>
5486 #include FT_FREETYPE_H
5487 #if ((FREETYPE_MAJOR < 2) || (FREETYPE_MINOR < 1) || ((FREETYPE_MINOR == 1) && (FREETYPE_PATCH < 8)))
5488 #error "Need FreeType 2.1.8 or newer"
5489 #endif
5490 int main() { return 0; }
5492 _ass=no
5493 cc_check `$_freetypeconfig --cflags` `$_freetypeconfig --libs` && tmp_run && _ass=yes
5494 if test "$_ass" = no ; then
5495 _res_comment="FreeType >= 2.1.8 needed"
5498 if test "$_ass" = yes ; then
5499 _def_ass='#define USE_ASS'
5500 else
5501 _def_ass='#undef USE_ASS'
5503 echores "$_ass"
5506 echocheck "fribidi with charsets"
5507 if test "$_fribidi" = auto ; then
5508 if ( $_fribidiconfig --version ) >/dev/null 2>&1 ; then
5509 cat > $TMPC << EOF
5510 #include <stdio.h>
5511 /* workaround for fribidi 0.10.4 and below */
5512 #define FRIBIDI_CHARSET_UTF8 FRIBIDI_CHAR_SET_UTF8
5513 #include <fribidi/fribidi.h>
5514 int main()
5516 if(fribidi_parse_charset("UTF-8") != FRIBIDI_CHAR_SET_UTF8) {
5517 printf("Fribidi headers are not consistents with the library!\n");
5518 exit(1);
5520 return 0;
5523 _fribidi=no
5524 cc_check `$_fribidiconfig --cflags` `$_fribidiconfig --libs` && tmp_run && _fribidi=yes
5525 else
5526 _fribidi=no
5529 if test "$_fribidi" = yes ; then
5530 _def_fribidi='#define USE_FRIBIDI'
5531 _inc_extra="$_inc_extra `$_fribidiconfig --cflags`"
5532 _ld_extra="$_ld_extra `$_fribidiconfig --libs`"
5533 else
5534 _def_fribidi='#undef USE_FRIBIDI'
5536 echores "$_fribidi"
5539 echocheck "ENCA"
5540 if test "$_enca" = auto ; then
5541 cat > $TMPC << EOF
5542 #include <enca.h>
5543 int main()
5545 const char **langs;
5546 size_t langcnt;
5547 langs = enca_get_languages(&langcnt);
5548 return 0;
5551 _enca=no
5552 cc_check -lenca $_ld_lm && _enca=yes
5554 if test "$_enca" = yes ; then
5555 _def_enca='#define HAVE_ENCA 1'
5556 _ld_extra="$_ld_extra -lenca"
5557 else
5558 _def_enca='#undef HAVE_ENCA'
5560 echores "$_enca"
5563 echocheck "zlib"
5564 cat > $TMPC << EOF
5565 #include <zlib.h>
5566 int main(void) { (void) inflate(0, Z_NO_FLUSH); return 0; }
5568 _zlib=no
5569 cc_check -lz && _zlib=yes
5570 if test "$_zlib" = yes ; then
5571 _def_zlib='#define HAVE_ZLIB 1'
5572 _ld_extra="$_ld_extra -lz"
5573 else
5574 _def_zlib='#undef HAVE_ZLIB'
5576 echores "$_zlib"
5579 echocheck "RTC"
5580 if test "$_rtc" = auto ; then
5581 cat > $TMPC << EOF
5582 #include <sys/ioctl.h>
5583 #ifdef __linux__
5584 #include <linux/rtc.h>
5585 #else
5586 #include <rtc.h>
5587 #define RTC_PIE_ON RTCIO_PIE_ON
5588 #endif
5589 int main(void) { return RTC_PIE_ON; }
5591 _rtc=no
5592 cc_check && _rtc=yes
5593 ppc && _rtc=no
5595 if test "$_rtc" = yes ; then
5596 _def_rtc='#define HAVE_RTC 1'
5597 else
5598 _def_rtc='#undef HAVE_RTC'
5600 echores "$_rtc"
5603 echocheck "external liblzo support"
5604 if test "$_liblzo" = auto ; then
5605 _liblzo=no
5606 cat > $TMPC << EOF
5607 #include <lzo1x.h>
5608 int main(void) { lzo_init();return 0; }
5610 cc_check -llzo && _liblzo=yes
5612 if test "$_liblzo" = yes ; then
5613 _def_liblzo='#define USE_LIBLZO 1'
5614 _ld_extra="$_ld_extra -llzo"
5615 _codecmodules="liblzo $_codecmodules"
5616 else
5617 _def_liblzo='#undef USE_LIBLZO'
5618 _nocodecmodules="liblzo $_nocodecmodules"
5620 echores "$_liblzo"
5623 echocheck "mad support"
5624 if test "$_mad" = auto ; then
5625 _mad=no
5626 cat > $TMPC << EOF
5627 #include <mad.h>
5628 int main(void) { return 0; }
5630 cc_check -lmad && _mad=yes
5632 if test "$_mad" = yes ; then
5633 _def_mad='#define USE_LIBMAD 1'
5634 _ld_extra="$_ld_extra -lmad"
5635 _codecmodules="libmad $_codecmodules"
5636 else
5637 _def_mad='#undef USE_LIBMAD'
5638 _nocodecmodules="libmad $_nocodecmodules"
5640 echores "$_mad"
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 cc_check -ltwolame $_ld_lm && _twolame=yes
5651 if test "$_twolame" = yes ; then
5652 _def_twolame='#define HAVE_TWOLAME 1'
5653 _libs_mencoder="$_libs_mencoder -ltwolame"
5654 _codecmodules="twolame $_codecmodules"
5655 else
5656 _def_twolame='#undef HAVE_TWOLAME'
5657 _nocodecmodules="twolame $_nocodecmodules"
5659 echores "$_twolame"
5661 echocheck "Toolame"
5662 if test "$_toolame" = auto ; then
5663 _toolame=no
5664 if test "$_twolame" = yes ; then
5665 _res_comment="disabled by twolame"
5666 else
5667 cat > $TMPC <<EOF
5668 #include <toolame.h>
5669 int main(void) { toolame_init(); return 0; }
5671 cc_check -ltoolame $_ld_lm && _toolame=yes
5674 if test "$_toolame" = yes ; then
5675 _def_toolame='#define HAVE_TOOLAME 1'
5676 _libs_mencoder="$_libs_mencoder -ltoolame"
5677 _codecmodules="toolame $_codecmodules"
5678 else
5679 _def_toolame='#undef HAVE_TOOLAME'
5680 _nocodecmodules="toolame $_nocodecmodules"
5682 if test "$_toolamedir" ; then
5683 _res_comment="using $_toolamedir"
5685 echores "$_toolame"
5687 echocheck "OggVorbis support"
5688 if test "$_tremor_internal" = yes; then
5689 _libvorbis=no
5690 elif test "$_tremor_external" = auto; then
5691 _tremor_external=no
5692 cat > $TMPC << EOF
5693 #include <tremor/ivorbiscodec.h>
5694 int main(void) { vorbis_packet_blocksize(0,0); return 0; }
5696 cc_check -logg -lvorbisidec $_ld_lm && _tremor_external=yes && _libvorbis=no
5698 if test "$_libvorbis" = auto; then
5699 _libvorbis=no
5700 cat > $TMPC << EOF
5701 #include <vorbis/codec.h>
5702 int main(void) { vorbis_packet_blocksize(0,0); return 0; }
5704 cc_check -lvorbis -logg $_ld_lm && _libvorbis=yes
5706 if test "$_tremor_internal" = yes ; then
5707 _vorbis=yes
5708 _def_vorbis='#define HAVE_OGGVORBIS 1'
5709 _def_tremor='#define TREMOR 1'
5710 _codecmodules="tremor(internal) $_codecmodules"
5711 _res_comment="internal Tremor"
5712 if test "$_tremor_low" = yes ; then
5713 _tremor_flags='-D_LOW_ACCURACY_'
5714 _res_comment="internal low accuracy Tremor"
5716 elif test "$_tremor_external" = yes ; then
5717 _vorbis=yes
5718 _def_vorbis='#define HAVE_OGGVORBIS 1'
5719 _def_tremor='#define TREMOR 1'
5720 _codecmodules="tremor(external) $_codecmodules"
5721 _res_comment="external Tremor"
5722 _ld_extra="$_ld_extra -logg -lvorbisidec"
5723 elif test "$_libvorbis" = yes ; then
5724 _vorbis=yes
5725 _def_vorbis='#define HAVE_OGGVORBIS 1'
5726 _codecmodules="libvorbis $_codecmodules"
5727 _res_comment="libvorbis"
5728 _ld_extra="$_ld_extra -lvorbis -logg"
5729 else
5730 _vorbis=no
5731 _nocodecmodules="libvorbis $_nocodecmodules"
5733 echores "$_vorbis"
5735 echocheck "libspeex (version >= 1.1 required)"
5736 if test "$_speex" = auto ; then
5737 _speex=no
5738 cat > $TMPC << EOF
5739 #include <speex/speex.h>
5740 int main(void) {
5741 SpeexBits bits;
5742 void *dec;
5743 speex_decode_int(dec, &bits, dec);
5746 cc_check -lspeex $_ld_lm && _speex=yes
5748 if test "$_speex" = yes ; then
5749 _def_speex='#define HAVE_SPEEX 1'
5750 _ld_extra="$_ld_extra -lspeex"
5751 _codecmodules="speex $_codecmodules"
5752 else
5753 _def_speex='#undef HAVE_SPEEX'
5754 _nocodecmodules="speex $_nocodecmodules"
5756 echores "$_speex"
5758 echocheck "OggTheora support"
5759 if test "$_theora" = auto ; then
5760 _theora=no
5761 cat > $TMPC << EOF
5762 #include <theora/theora.h>
5763 #include <string.h>
5764 int main(void)
5766 /* theora is in flux, make sure that all interface routines and
5767 * datatypes exist and work the way we expect it, so we don't break
5768 * mplayer */
5769 ogg_packet op;
5770 theora_comment tc;
5771 theora_info inf;
5772 theora_state st;
5773 yuv_buffer yuv;
5774 int r;
5775 double t;
5777 theora_info_init (&inf);
5778 theora_comment_init (&tc);
5780 return 0;
5782 /* we don't want to execute this kind of nonsense; just for making sure
5783 * that compilation works... */
5784 memset(&op, 0, sizeof(op));
5785 r = theora_decode_header (&inf, &tc, &op);
5786 r = theora_decode_init (&st, &inf);
5787 t = theora_granule_time (&st, op.granulepos);
5788 r = theora_decode_packetin (&st, &op);
5789 r = theora_decode_YUVout (&st, &yuv);
5790 theora_clear (&st);
5792 return 0;
5795 for _ld_theora in "`$_pkg_config --silence-errors --libs --cflags theora`" "-ltheora"; do
5796 cc_check $_ld_theora && _ld_extra="$_ld_extra $_ld_theora" \
5797 && _theora=yes && break
5798 done
5799 if test "$_theora" = no && test "$_tremor_internal" = yes; then
5800 for _ld_theora in "`$_pkg_config --silence-errors --libs --cflags theora`" "-ltheora"; do
5801 cc_check -I. tremor/bitwise.c $_ld_theora \
5802 && _ld_extra="$_ld_extra $_ld_theora" && theora=yes && break
5803 done
5806 if test "$_theora" = yes ; then
5807 _def_theora='#define HAVE_OGGTHEORA 1'
5808 _codecmodules="libtheora $_codecmodules"
5809 # when --enable-theora is forced, we'd better provide a probably sane
5810 # $_ld_theora than nothing
5811 test -z "$_ld_theora" && _ld_theora="-ltheora -logg"
5812 else
5813 _def_theora='#undef HAVE_OGGTHEORA'
5814 _nocodecmodules="libtheora $_nocodecmodules"
5816 echores "$_theora"
5818 echocheck "mp3lib support"
5819 if test "$_mp3lib" = yes ; then
5820 _def_mp3lib='#define USE_MP3LIB 1'
5821 _codecmodules="mp3lib $_codecmodules"
5822 else
5823 _def_mp3lib='#undef USE_MP3LIB'
5824 _nocodecmodules="mp3lib $_nocodecmodules"
5826 echores "$_mp3lib"
5828 echocheck "liba52 support"
5829 if test "$_liba52" = yes ; then
5830 _def_liba52='#define USE_LIBA52 1'
5831 _codecmodules="liba52 $_codecmodules"
5832 else
5833 _def_liba52='#undef USE_LIBA52'
5834 _nocodecmodules="liba52 $_nocodecmodules"
5836 echores "$_liba52"
5838 echocheck "libdts support"
5839 if test "$_libdts" = auto ; then
5840 _libdts=no
5841 cat > $TMPC << EOF
5842 #include <inttypes.h>
5843 #include <dts.h>
5844 int main(void) { dts_init (0); return 0; }
5846 cc_check -ldts $_ld_lm && _libdts=yes
5848 if test "$_libdts" = yes ; then
5849 _def_libdts='#define CONFIG_LIBDTS 1'
5850 _ld_extra="$_ld_extra -ldts"
5851 _codecmodules="libdts $_codecmodules"
5852 else
5853 _def_libdts='#undef CONFIG_LIBDTS'
5854 _nocodecmodules="libdts $_nocodecmodules"
5856 echores "$_libdts"
5858 echocheck "libmpeg2 support"
5859 if test "$_libmpeg2" = yes ; then
5860 _def_libmpeg2='#define USE_LIBMPEG2 1'
5861 _codecmodules="libmpeg2 $_codecmodules"
5862 else
5863 _def_libmpeg2='#undef USE_LIBMPEG2'
5864 _nocodecmodules="libmpeg2 $_nocodecmodules"
5866 echores "$_libmpeg2"
5868 echocheck "libmpcdec (musepack, version >= 1.2.1 required)"
5869 if test "$_musepack" = auto ; then
5870 _musepack=no
5871 cat > $TMPC << EOF
5872 #include <mpcdec/mpcdec.h>
5873 int main(void) {
5874 mpc_streaminfo info;
5875 mpc_decoder decoder;
5876 mpc_decoder_set_streaminfo(&decoder, &info);
5877 mpc_decoder_decode_frame(&decoder, NULL, 0, NULL);
5880 cc_check -lmpcdec $_ld_lm && _musepack=yes
5882 if test "$_musepack" = yes ; then
5883 _def_musepack='#define HAVE_MUSEPACK 1'
5884 _ld_extra="$_ld_extra -lmpcdec"
5885 _codecmodules="musepack $_codecmodules"
5886 else
5887 _def_musepack='#undef HAVE_MUSEPACK'
5888 _nocodecmodules="musepack $_nocodecmodules"
5890 echores "$_musepack"
5893 echocheck "FAAC (AAC encoder) support"
5894 if test "$_faac" = auto ; then
5895 cat > $TMPC <<EOF
5896 #include <inttypes.h>
5897 #include <faac.h>
5898 int main(void) { unsigned long x, y; faacEncOpen(48000, 2, &x, &y); return 0; }
5900 _faac=no
5901 for _ld_faac in "-lfaac" "-lfaac -lmp4v2 -lstdc++" ; do
5902 cc_check -c -O4 $_ld_tmp $_ld_lm && _libs_mencoder="$_libs_mencoder $_ld_faac" && _faac=yes && break
5903 done
5905 if test "$_faac" = yes ; then
5906 _def_faac="#define HAVE_FAAC 1"
5907 if echo $_libavencoders | grep -q faac ; then
5908 _lavc_faac=yes
5909 _def_lavc_faac="#define CONFIG_FAAC 1"
5910 _libs_mplayer="$_libs_mplayer $_ld_faac"
5911 else
5912 _lavc_faac=no
5913 _def_lavc_faac="#undef CONFIG_FAAC"
5915 _codecmodules="faac $_codecmodules"
5916 else
5917 _def_faac="#undef HAVE_FAAC"
5918 _nocodecmodules="faac $_nocodecmodules"
5920 echores "$_faac (in libavcodec: $_lavc_faac)"
5923 echocheck "FAAD2 (AAC) support"
5924 if test "$_faad_internal" = auto ; then
5925 if x86_32 && test cc_vendor=gnu; then
5926 case $cc_version in
5927 3.1*|3.2) # ICE/insn with these versions
5928 _faad_internal=no
5929 _res_comment="broken gcc"
5932 _faad_internal=yes
5934 esac
5935 else
5936 _faad_internal=yes
5938 elif test "$_faad_internal" = no && test "$_faad_external" = auto ; then
5939 _faad_external=no
5940 cat > $TMPC << EOF
5941 #include <faad.h>
5942 #ifndef FAAD_MIN_STREAMSIZE
5943 #error Too old version
5944 #endif
5945 int main(void) { faacDecHandle testhand; faacDecFrameInfo testinfo; testhand = faacDecOpen(); faacDecInit(0, 0, 0, 0, 0); return 0; }
5947 cc_check -lfaad $_ld_lm && _faad_external=yes
5950 if test "$_faad_internal" = yes ; then
5951 _def_faad_internal="#define USE_FAAD_INTERNAL 1"
5952 _faad=yes
5953 _res_comment="internal floating-point"
5954 test "$_faad_fixed" = yes && _res_comment="internal fixed-point"
5955 elif test "$_faad_external" = yes ; then
5956 _faad=yes
5957 _ld_extra="$_ld_extra -lfaad"
5958 else
5959 _def_faad_internal="#undef USE_FAAD_INTERNAL"
5960 _faad=no
5963 if test "$_faad" = yes ; then
5964 _def_faad='#define HAVE_FAAD 1'
5965 _codecmodules="faad2 $_codecmodules"
5966 else
5967 _def_faad='#undef HAVE_FAAD'
5968 _nocodecmodules="faad2 $_nocodecmodules"
5970 echores "$_faad"
5973 echocheck "LADSPA plugin support"
5974 if test "$_ladspa" = auto ; then
5975 cat > $TMPC <<EOF
5976 #include <stdio.h>
5977 #include <ladspa.h>
5978 int main(void) {
5979 const LADSPA_Descriptor *ld = NULL;
5980 return 0;
5983 _ladspa=no
5984 cc_check && _ladspa=yes
5986 if test "$_ladspa" = yes; then
5987 _def_ladspa="#define HAVE_LADSPA"
5988 _afsrc="$_afsrc af_ladspa.c"
5989 _afmodules="ladspa $_afmodules"
5990 else
5991 _def_ladspa="#undef HAVE_LADSPA"
5992 _noafmodules="ladspa $_noafmodules"
5994 echores "$_ladspa"
5997 if test -z "$_codecsdir" ; then
5998 for dir in "$_libdir/codecs" "$_libdir/win32" /usr/local/lib/codecs \
5999 /usr/lib/codecs /usr/local/lib/win32 /usr/lib/win32 ; do
6000 if test -d "$dir" ; then
6001 _codecsdir="$dir"
6002 break;
6004 done
6006 # Fall back on default directory.
6007 if test -z "$_codecsdir" ; then
6008 _codecsdir="$_libdir/codecs"
6009 mingw32 && _codecsdir="codecs"
6013 echocheck "Win32 codecs"
6014 if test "$_win32" = auto ; then
6015 _win32=no
6016 if x86_32 && not qnx; then
6017 _win32=yes
6020 if test "$_win32" = yes ; then
6021 _def_win32='#define USE_WIN32DLL 1'
6022 test -z "$_win32codecsdir" && _win32codecsdir=$_codecsdir
6023 _res_comment="using $_win32codecsdir"
6024 openbsd && x86_32 && _ld_extra="$_ld_extra -li386"
6025 if not win32 ; then
6026 _def_win32_loader='#define WIN32_LOADER 1'
6027 else
6028 _ld_extra="$_ld_extra -ladvapi32 -lole32"
6029 _res_comment="using native windows"
6031 _codecmodules="win32 $_codecmodules"
6032 else
6033 _def_win32='#undef USE_WIN32DLL'
6034 _def_win32_loader='#undef WIN32_LOADER'
6035 _nocodecmodules="win32 $_nocodecmodules"
6037 echores "$_win32"
6040 echocheck "XAnim codecs"
6041 if test "$_xanim" = auto ; then
6042 _xanim=no
6043 _res_comment="dynamic loader support needed"
6044 if test "$_dl" = yes ; then
6045 _xanim=yes
6048 if test "$_xanim" = yes ; then
6049 test -z "$_xanimcodecsdir" && _xanimcodecsdir=$_codecsdir
6050 _def_xanim='#define USE_XANIM 1'
6051 _def_xanim_path="#define XACODEC_PATH \"$_xanimcodecsdir\""
6052 _codecmodules="xanim $_codecmodules"
6053 _res_comment="using $_xanimcodecsdir"
6054 else
6055 _def_xanim='#undef USE_XANIM'
6056 _def_xanim_path='#undef XACODEC_PATH'
6057 _nocodecmodules="xanim $_nocodecmodules"
6059 echores "$_xanim"
6062 echocheck "RealPlayer codecs"
6063 if test "$_real" = auto ; then
6064 _real=no
6065 _res_comment="dynamic loader support needed"
6066 if test "$_dl" = yes || test "$_win32" = yes &&
6067 (linux || freebsd || netbsd || win32 || darwin) ; then
6068 _real=yes
6071 if test "$_real" = yes ; then
6072 test -z "$_realcodecsdir" && _realcodecsdir="$_codecsdir"
6073 _def_real='#define USE_REALCODECS 1'
6074 _def_real_path="#define REALCODEC_PATH \"$_realcodecsdir\""
6075 _codecmodules="real $_codecmodules"
6076 _res_comment="using $_realcodecsdir"
6077 else
6078 _def_real='#undef USE_REALCODECS'
6079 _def_real_path="#undef REALCODEC_PATH"
6080 _nocodecmodules="real $_nocodecmodules"
6082 echores "$_real"
6085 echocheck "LIVE555 Streaming Media libraries"
6086 if test "$_live" = auto && test "$_network" = yes ; then
6087 cat > $TMPCPP << EOF
6088 #include <liveMedia.hh>
6089 #if (LIVEMEDIA_LIBRARY_VERSION_INT < 1090195200)
6090 #error Please upgrade to version 2004.07.19 or later of the "LIVE555 Streaming Media" libraries - available from <www.live555.com/liveMedia/>
6091 #endif
6092 int main(void) {}
6095 _live=no
6096 for I in $_inc_extra "-I$_libdir/live" "-I/usr/lib/live" "-I/usr/local/live" "-I/usr/local/lib/live" ; do
6097 cxx_check $I/liveMedia/include $I/UsageEnvironment/include \
6098 $I/groupsock/include && _livelibdir=`echo $I| sed s/-I//` && \
6099 _live=yes && break
6100 done
6101 if test "$_live" != yes ; then
6102 if cxx_check -I/usr/include/liveMedia -I/usr/include/UsageEnvironment -I/usr/include/groupsock; then
6103 _live_dist=yes
6107 if test "$_live" = yes && test "$_network" = yes ; then
6108 _res_comment="using $_livelibdir"
6109 _def_live='#define STREAMING_LIVE555 1'
6110 _ld_extra="$_ld_extra $_livelibdir/liveMedia/libliveMedia.a \
6111 $_livelibdir/groupsock/libgroupsock.a \
6112 $_livelibdir/UsageEnvironment/libUsageEnvironment.a \
6113 $_livelibdir/BasicUsageEnvironment/libBasicUsageEnvironment.a \
6114 -lstdc++"
6115 _inc_extra="$_inc_extra -I$_livelibdir/liveMedia/include \
6116 -I$_livelibdir/UsageEnvironment/include \
6117 -I$_livelibdir/BasicUsageEnvironment/include \
6118 -I$_livelibdir/groupsock/include"
6119 _inputmodules="live555 $_inputmodules"
6120 elif test "$_live_dist" = yes && test "$_network" = yes ; then
6121 _res_comment="using distribution version"
6122 _live="yes"
6123 _def_live='#define STREAMING_LIVE555 1'
6124 _ld_extra="$_ld_extra -lliveMedia -lgroupsock -lUsageEnvironment -lBasicUsageEnvironment -lstdc++"
6125 _inc_extra="$_inc_extra -I/usr/include/liveMedia -I/usr/include/UsageEnvironment \
6126 -I/usr/include/BasicUsageEnvironment -I/usr/include/groupsock"
6127 _inputmodules="live555 $_inputmodules"
6128 else
6129 _def_live='#undef STREAMING_LIVE555'
6130 _noinputmodules="live555 $_noinputmodules"
6132 echores "$_live"
6135 echocheck "FFmpeg libavutil (static)"
6136 if test "$_libavutil" = auto ; then
6137 if test -d libavutil ; then
6138 _libavutil=yes
6139 else
6140 _libavutil=no
6143 echores "$_libavutil"
6145 echocheck "FFmpeg libavcodec (static)"
6146 if test "$_libavcodec" = auto ; then
6147 # Note: static linking is preferred to dynamic linking
6148 _libavcodec=no
6149 _res_comment="see DOCS/HTML/$_doc_lang/codecs.html"
6150 if test -d libavcodec && test -f libavcodec/utils.c ; then
6151 _res_comment="old ffmpeg version, use CVS !"
6152 if grep avcodec_find_encoder_by_name libavcodec/utils.c > /dev/null 2>&1 ; then
6153 # check if libavutil is a required
6154 cat > $TMPC << EOF
6155 #include "libavcodec/avcodec.h"
6156 #if LIBAVCODEC_BUILD >= 3211265
6157 #error We need libavutil!
6158 #endif
6159 int main(void) { return 0; }
6162 if cc_check -I. -I./libavutil; then
6163 _libavutil_required="no"
6164 else
6165 _libavutil_required="yes"
6167 _res_comment="libavutil availability does not fit libavcodec version"
6168 if test "$_libavutil_required" = "$_libavutil"; then
6169 _libavcodec="yes"
6170 _res_comment=""
6175 echores "$_libavcodec"
6177 echocheck "FFmpeg libavformat (static)"
6178 if test "$_libavformat" = auto ; then
6179 # Note: static linking is preferred to dynamic linking
6180 _libavformat=no
6181 if test -d libavformat && test -f libavformat/utils.c ; then
6182 _libavformat=yes
6185 echores "$_libavformat"
6187 echocheck "FFmpeg libpostproc (static)"
6188 if test "$_libpostproc" = auto ; then
6189 _libpostproc=no
6190 if test -d libpostproc && test -f libpostproc/postprocess.h ; then
6191 _libpostproc='yes'
6194 echores "$_libpostproc"
6197 if test "$_libavutil" != yes ; then
6198 echocheck "FFmpeg libavutil (dynamic)"
6199 if test "$_libavutil_so" = auto ; then
6200 _libavutil_so=no
6201 cat > $TMPC << EOF
6202 #include <ffmpeg/common.h>
6203 int main(void) { ff_gcd(1,1); return 0; }
6205 if $_pkg_config --exists libavutil ; then
6206 _inc_libavutil=`$_pkg_config --cflags libavutil`
6207 _ld_tmp=`$_pkg_config --libs libavutil`
6208 cc_check $_inc_libavutil $_ld_tmp && _ld_extra="$_ld_extra $_ld_tmp" \
6209 && _libavutil_so=yes
6210 elif cc_check -lavutil $_ld_lm ; then
6211 _ld_extra="$_ld_extra -lavutil"
6212 _libavutil_so=yes
6213 _res_comment="using libavutil.so, but static libavutil is recommended"
6216 # neither static nor shared libavutil is available, but it is mandatory ...
6217 if test "$_libavutil_so" = no ; then
6218 die "You need static or shared libavutil, MPlayer will not compile without!"
6220 echores "$_libavutil_so"
6221 fi #if test "$_libavutil" != yes ; then
6223 if test "$_libavcodec" != yes ; then
6224 echocheck "FFmpeg libavcodec (dynamic)"
6225 if test "$_libavcodec_so" = auto ; then
6226 _libavcodec_so=no
6227 _res_comment="libavcodec.so is broken/obsolete"
6228 # FIXME : check for avcodec_find_encoder_by_name() for mencoder
6229 cat > $TMPC << EOF
6230 #include <ffmpeg/avcodec.h>
6231 int main(void) {
6232 avcodec_find_encoder_by_name("");
6233 return 0;
6236 if $_pkg_config --exists libavcodec ; then
6237 _inc_libavcodec=`$_pkg_config --cflags libavcodec`
6238 _ld_tmp=`$_pkg_config --libs libavcodec`
6239 cc_check $_inc_libavcodec $_ld_tmp && _ld_extra="$_ld_extra $_ld_tmp" \
6240 && _libavcodec_so=yes
6241 elif cc_check -lavcodec $_ld_lm ; then
6242 _ld_extra="$_ld_extra -lavcodec"
6243 _libavcodec_so=yes
6244 _res_comment="using libavcodec.so, but static libavcodec is recommended"
6247 echores "$_libavcodec_so"
6248 fi #if test "$_libavcodec" != yes ; then
6250 if test "$_libavformat" != yes ; then
6251 echocheck "FFmpeg libavformat (dynamic)"
6252 if test "$_libavformat_so" = auto ; then
6253 _libavformat_so=no
6254 cat > $TMPC <<EOF
6255 #include <ffmpeg/avformat.h>
6256 #include <ffmpeg/opt.h>
6257 int main(void) { av_alloc_format_context(); return 0; }
6259 if $_pkg_config --exists libavformat ; then
6260 _inc_libavformat=`$_pkg_config --cflags libavformat`
6261 _ld_tmp=`$_pkg_config --libs libavformat`
6262 cc_check $_inc_libavformat $_ld_tmp && _ld_extra="$_ld_extra $_ld_tmp" \
6263 && _libavformat_so=yes
6264 elif cc_check $_ld_lm -lavformat ; then
6265 _ld_extra="$_ld_extra -lavformat"
6266 _libavformat_so=yes
6267 _res_comment="using libavformat.so, but static libavformat is recommended"
6270 echores "$_libavformat_so"
6271 fi #if test "$_libavformat" != yes ; then
6273 if test "$_libpostproc" != yes ; then
6274 echocheck "FFmpeg libpostproc (dynamic)"
6275 if test "$_libpostproc_so" = auto ; then
6276 _libpostproc_so=no
6277 cat > $TMPC << EOF
6278 #define USE_LIBPOSTPROC 1
6279 #include <inttypes.h>
6280 #include <postproc/postprocess.h>
6281 int main(void) {
6282 pp_get_mode_by_name_and_quality("de", 0);
6283 return 0;}
6285 if cc_check -lpostproc $_ld_lm ; then
6286 _ld_extra="$_ld_extra -lpostproc"
6287 _libpostproc_so=yes
6288 _res_comment="using libpostproc.so, but static libpostproc is recommended"
6291 echores "$_libpostproc_so"
6292 fi #if test "$_libpostproc" != yes ; then
6294 _def_libavutil='#undef USE_LIBAVUTIL'
6295 _def_libavutil_so='#undef USE_LIBAVUTIL_SO'
6296 if test "$_libavutil" = yes ; then
6297 _def_libavutil='#define USE_LIBAVUTIL 1'
6298 elif test "$_libavutil_so" = yes ; then
6299 _def_libavutil_so='#define USE_LIBAVUTIL_SO 1'
6302 _def_libavcodec='#undef USE_LIBAVCODEC'
6303 _def_libavcodec_so='#undef USE_LIBAVCODEC_SO'
6304 _def_lavc_dsputil='#undef USE_LIBAVCODEC_DSPUTIL'
6305 if test "$_libavcodec_mpegaudio_hp" = yes ; then
6306 _def_libavcodec_mpegaudio_hp='#define CONFIG_MPEGAUDIO_HP 1'
6308 if test "$_libavcodec" = yes ; then
6309 _def_libavcodec='#define USE_LIBAVCODEC 1'
6310 _def_lavc_dsputil='#define USE_LIBAVCODEC_DSPUTIL'
6311 _codecmodules="libavcodec $_codecmodules"
6312 elif test "$_libavcodec_so" = yes ; then
6313 _def_libavcodec='#define USE_LIBAVCODEC 1'
6314 _def_libavcodec_so='#define USE_LIBAVCODEC_SO 1'
6315 _codecmodules="libavcodec.so $_codecmodules"
6316 else
6317 _nocodecmodules="libavcodec $_nocodecmodules"
6320 _def_libavformat='#undef USE_LIBAVFORMAT'
6321 _def_libavformat_so='#undef USE_LIBAVFORMAT_SO'
6322 _def_libavformat_win32='#undef CONFIG_WIN32'
6323 if test "$_libavformat" = yes ; then
6324 _def_libavformat='#define USE_LIBAVFORMAT 1'
6325 if win32 ; then
6326 _def_libavformat_win32='#define CONFIG_WIN32 1'
6328 else
6329 if test "$_libavformat_so" = yes ; then
6330 _def_libavformat_so='#define USE_LIBAVFORMAT_SO 1'
6331 if win32 ; then
6332 _def_libavformat_win32='#define CONFIG_WIN32 1'
6337 _def_libpostproc='#undef USE_LIBPOSTPROC'
6338 _def_libpostproc_so='#undef USE_LIBPOSTPROC_SO'
6339 if test "$_libpostproc" = yes ; then
6340 _def_libpostproc='#define USE_LIBPOSTPROC 1'
6341 else
6342 if test "$_libpostproc_so" = yes ; then
6343 _def_libpostproc_so='#define USE_LIBPOSTPROC_SO 1'
6347 echocheck "md5sum support"
6348 if test "$_md5sum" = yes; then
6349 _def_md5sum="#define HAVE_MD5SUM"
6350 _vosrc="$_vosrc vo_md5sum.c"
6351 _vomodules="md5sum $_vomodules"
6352 else
6353 _def_md5sum="#undef HAVE_MD5SUM"
6354 _novomodules="md5sum $_novomodules"
6356 echores "$_md5sum"
6358 echocheck "AMR narrowband"
6359 if test "$_amr_nb" = auto ; then
6360 _amr_nb=no
6361 if test -f libavcodec/amr_float/sp_dec.c ; then
6362 if test "$_libavcodec" = yes ; then
6363 _amr_nb=yes
6364 else
6365 _res_comment="libavcodec (static) is required by amr_nb, sorry"
6369 if test "$_amr_nb" = yes ; then
6370 _amr=yes
6371 _def_amr='#define CONFIG_AMR 1'
6372 _def_amr_nb='#define CONFIG_AMR_NB 1'
6373 else
6374 _def_amr_nb='#undef CONFIG_AMR_NB'
6376 echores "$_amr_nb"
6378 echocheck "AMR narrowband, fixed point"
6379 if test "$_amr_nb_fixed" = auto ; then
6380 _amr_nb_fixed=no
6381 if test -f libavcodec/amr/dtx_dec.c ; then
6382 if test "$_libavcodec" = yes ; then
6383 if test "$_amr_nb" = no ; then
6384 _amr_nb_fixed=yes
6385 else
6386 _res_comment="disabled by amr_nb"
6388 else
6389 _res_comment="libavcodec (static) is required by amr_nb-fixed, sorry"
6393 if test "$_amr_nb_fixed" = yes ; then
6394 _amr=yes
6395 _def_amr='#define CONFIG_AMR 1'
6396 _def_amr_nb_fixed='#define CONFIG_AMR_NB_FIXED 1'
6397 else
6398 _def_amr_nb_fixed='#undef CONFIG_AMR_NB_FIXED'
6400 echores "$_amr_nb_fixed"
6402 if test "$_amr_nb" = yes || test "$_amr_nb_fixed" = yes ; then
6403 _codecmodules="amr_nb $_codecmodules"
6404 else
6405 _nocodecmodules="amr_nb $_nocodecmodules"
6408 echocheck "AMR wideband"
6409 if test "$_amr_wb" = auto ; then
6410 _amr_wb=no
6411 if test -f libavcodec/amrwb_float/dec_dtx.c ; then
6412 if test "$_libavcodec" = yes ; then
6413 _amr_wb=yes
6414 else
6415 _res_comment="libavcodec (static) is required by amr_wb, sorry"
6419 if test "$_amr_wb" = yes ; then
6420 _amr=yes
6421 _def_amr='#define CONFIG_AMR 1'
6422 _def_amr_wb='#define CONFIG_AMR_WB 1'
6423 _codecmodules="amr_wb $_codecmodules"
6424 else
6425 _def_amr_wb='#undef CONFIG_AMR_WB'
6426 _nocodecmodules="amr_wb $_nocodecmodules"
6428 echores "$_amr_wb"
6430 echocheck "libdv-0.9.5+"
6431 if test "$_libdv" = auto ; then
6432 _libdv=no
6433 cat > $TMPC <<EOF
6434 #include <libdv/dv.h>
6435 int main(void) { dv_encoder_t* enc=dv_encoder_new(1,1,1); return 0; }
6437 cc_check -ldv $_ld_pthread $_ld_lm && _libdv=yes
6439 if test "$_libdv" = yes ; then
6440 _def_libdv='#define HAVE_LIBDV095 1'
6441 _ld_extra="$_ld_extra -ldv"
6442 _codecmodules="libdv $_codecmodules"
6443 else
6444 _def_libdv='#undef HAVE_LIBDV095'
6445 _nocodecmodules="libdv $_nocodecmodules"
6447 echores "$_libdv"
6449 echocheck "zr"
6450 if test "$_zr" = auto ; then
6451 #36067's seem to identify themselves as 36057PQC's, so the line
6452 #below should work for 36067's and 36057's.
6453 if grep -e "Multimedia video controller: Zoran Corporation ZR36057" /proc/pci > /dev/null 2>&1; then
6454 _zr=yes
6455 else
6456 _zr=no
6459 if test "$_zr" = yes ; then
6460 if test "$_libavcodec" = yes ; then
6461 _def_zr='#define HAVE_ZR 1'
6462 _vosrc="$_vosrc vo_zr2.c vo_zr.c jpeg_enc.c"
6463 _vomodules="zr zr2 $_vomodules"
6464 else
6465 _res_comment="libavcodec (static) is required by zr, sorry"
6466 _novomodules="zr $_novomodules"
6467 _def_zr='#undef HAVE_ZR'
6469 else
6470 _def_zr='#undef HAVE_ZR'
6471 _novomodules="zr zr2 $_novomodules"
6473 echores "$_zr"
6475 echocheck "bl"
6476 if test "$_bl" = yes ; then
6477 _def_bl='#define HAVE_BL 1'
6478 _vosrc="$_vosrc vo_bl.c"
6479 _vomodules="bl $_vomodules"
6480 else
6481 _def_bl='#undef HAVE_BL'
6482 _novomodules="bl $_novomodules"
6484 echores "$_bl"
6487 echocheck "XviD"
6488 if test "$_xvid" = auto ; then
6489 _xvid=no
6490 cat > $TMPC << EOF
6491 #include <xvid.h>
6492 int main(void) { xvid_global(0, 0, 0, 0); return 0; }
6494 for _ld_tmp in "-lxvidcore $_ld_lm" "-lxvidcore $_ld_lm $_ld_pthread" ; do
6495 cc_check $_ld_tmp && _ld_extra="$_ld_extra $_ld_tmp" && _xvid=yes && break
6496 done
6499 if test "$_xvid" = yes ; then
6500 _def_xvid='#define HAVE_XVID4 1'
6501 _codecmodules="xvid $_codecmodules"
6502 else
6503 _def_xvid='#undef HAVE_XVID4'
6504 _nocodecmodules="xvid $_nocodecmodules"
6506 echores "$_xvid"
6508 if test "$_xvid" = yes ; then
6509 echocheck "XviD two pass plugin"
6510 cat > $TMPC << EOF
6511 #include <xvid.h>
6512 int main(void) { xvid_plugin_2pass2_t s; s.vbv_size=0; return 0; }
6514 if cc_check ; then
6515 _lavc_xvid=yes
6516 _def_lavc_xvid='#define CONFIG_XVID 1'
6517 else
6518 _lavc_xvid=no
6519 _def_lavc_xvid='#undef CONFIG_XVID'
6521 echores "$_lavc_xvid"
6525 echocheck "x264"
6526 if test "$_x264" = auto ; then
6527 cat > $TMPC << EOF
6528 #include <inttypes.h>
6529 #include <x264.h>
6530 #if X264_BUILD < 53
6531 #error We do not support old versions of x264. Get the latest from SVN.
6532 #endif
6533 int main(void) { x264_encoder_open((void*)0); return 0; }
6535 _x264=no
6536 for _ld_x264 in "-lx264 $_ld_pthread" "-lx264 $_ld_pthread $_ld_lm" ; do
6537 cc_check $_ld_x264 && _libs_mencoder="$_libs_mencoder $_ld_x264" && _x264=yes && break
6538 done
6541 if test "$_x264" = yes ; then
6542 _x264=yes
6543 _def_x264='#define HAVE_X264 1'
6544 _codecmodules="x264 $_codecmodules"
6545 if echo $_libavencoders | grep -q x264 ; then
6546 _lavc_x264=yes
6547 _def_lavc_x264='#define CONFIG_X264 1'
6548 _libs_mplayer="$_libs_mplayer $_ld_x264"
6549 else
6550 _lavc_x264=no
6551 _def_lavc_x264='#undef CONFIG_X264'
6553 else
6554 _x264=no
6555 _lavc_x264=no
6556 _def_x264='#undef HAVE_X264'
6557 _def_lavc_x264='#undef CONFIG_X264'
6558 _nocodecmodules="x264 $_nocodecmodules"
6560 echores "$_x264 (in libavcodec: $_lavc_x264)"
6563 echocheck "nut"
6564 if test "$_nut" = auto ; then
6565 cat > $TMPC << EOF
6566 #include <stdio.h>
6567 #include <stdlib.h>
6568 #include <inttypes.h>
6569 #include <libnut.h>
6570 int main(void) { (void)nut_error(0); return 0; }
6572 _nut=no
6573 cc_check -lnut && _nut=yes
6576 if test "$_nut" = yes ; then
6577 _def_nut='#define HAVE_LIBNUT 1'
6578 _ld_extra="$_ld_extra -lnut"
6579 else
6580 _def_nut='#undef HAVE_LIBNUT'
6582 echores "$_nut"
6585 # mencoder requires (optional) those libs: libmp3lame
6586 if test "$_mencoder" != no ; then
6588 echocheck "libmp3lame (for mencoder)"
6589 _mp3lame=no
6590 _def_mp3lame_preset='#undef HAVE_MP3LAME_PRESET'
6591 _def_mp3lame_preset_medium='#undef HAVE_MP3LAME_PRESET_MEDIUM'
6592 cat > $TMPC <<EOF
6593 #include <lame/lame.h>
6594 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; }
6596 # Note: libmp3lame usually depends on vorbis
6597 cc_check -lmp3lame $_ld_lm && tmp_run && _mp3lame=yes
6598 if test "$_mp3lame" = yes ; then
6599 _def_mp3lame="#define HAVE_MP3LAME"
6600 _ld_mp3lame=-lmp3lame
6601 _libs_mencoder="$_libs_mencoder $_ld_mp3lame"
6602 cat > $TMPC << EOF
6603 #include <lame/lame.h>
6604 int main(void) { lame_set_preset(NULL, STANDARD_FAST); return 0; }
6606 cc_check $_ld_mp3lame $_ld_lm && _def_mp3lame_preset="#define HAVE_MP3LAME_PRESET"
6607 cat > $TMPC << EOF
6608 #include <lame/lame.h>
6609 int main(void) { lame_set_preset(NULL, MEDIUM_FAST); return 0; }
6611 cc_check $_ld_mp3lame $_ld_lm && _def_mp3lame_preset_medium="#define HAVE_MP3LAME_PRESET_MEDIUM"
6612 if echo $_libavencoders | grep -q mp3lame ; then
6613 _lavc_mp3lame=yes
6614 _def_lavc_mp3lame="#define CONFIG_MP3LAME 1"
6615 _libs_mplayer="$_libs_mplayer $_ld_mp3lame"
6616 else
6617 _lavc_mp3lame=no
6618 _def_lavc_mp3lame="#undef CONFIG_MP3LAME"
6620 else
6621 _def_mp3lame='#undef HAVE_MP3LAME'
6623 echores "$_mp3lame"
6627 echocheck "mencoder"
6628 _mencoder_flag='#undef HAVE_MENCODER'
6629 if test "$_mencoder" = yes ; then
6630 _mencoder_flag='#define HAVE_MENCODER'
6631 _def_muxers='#define CONFIG_MUXERS 1'
6632 else
6633 # mpeg1video for vf_lavc, snow for vf_uspp and vf_mcdeint
6634 _libavencoders="mpeg1video_encoder snow_encoder"
6635 _libavmuxers=""
6637 echores "$_mencoder"
6639 echocheck "fastmemcpy"
6640 # fastmemcpy check is done earlier with tests of CPU & binutils features
6641 if test "$_fastmemcpy" = yes ; then
6642 _def_fastmemcpy='#define USE_FASTMEMCPY 1'
6643 else
6644 _def_fastmemcpy='#undef USE_FASTMEMCPY'
6646 echores "$_fastmemcpy"
6648 echocheck "UniquE RAR File Library"
6649 if test "$_unrarlib" = yes ; then
6650 _def_unrarlib='#define USE_UNRARLIB 1'
6651 else
6652 _def_unrarlib='#undef USE_UNRARLIB'
6654 echores "$_unrarlib"
6656 echocheck "TV interface"
6657 if test "$_tv" = yes ; then
6658 _def_tv='#define USE_TV 1'
6659 _inputmodules="tv $_inputmodules"
6660 else
6661 _noinputmodules="tv $_noinputmodules"
6662 _def_tv='#undef USE_TV'
6664 echores "$_tv"
6667 if bsd; then
6668 echocheck "*BSD BrookTree 848 TV interface"
6669 if test "$_tv_bsdbt848" = auto ; then
6670 _tv_bsdbt848=no
6671 if test "$_tv" = yes ; then
6672 cat > $TMPC <<EOF
6673 #include <sys/types.h>
6674 #if defined(__NetBSD__)
6675 #include <dev/ic/bt8xx.h>
6676 #else
6677 #include <machine/ioctl_bt848.h>
6678 #endif
6679 int main(void) { return 0; }
6681 cc_check && _tv_bsdbt848=yes
6684 if test "$_tv_bsdbt848" = yes ; then
6685 _def_tv_bsdbt848='#define HAVE_TV_BSDBT848 1'
6686 _inputmodules="tv-bsdbt848 $_inputmodules"
6687 else
6688 _def_tv_bsdbt848='#undef HAVE_TV_BSDBT848'
6689 _noinputmodules="tv-bsdbt848 $_noinputmodules"
6691 echores "$_tv_bsdbt848"
6692 fi #if bsd
6695 echocheck "Video 4 Linux TV interface"
6696 if test "$_tv_v4l1" = auto ; then
6697 _tv_v4l1=no
6698 if test "$_tv" = yes && linux ; then
6699 cat > $TMPC <<EOF
6700 #include <stdlib.h>
6701 #include <linux/videodev.h>
6702 int main(void) { return 0; }
6704 cc_check && _tv_v4l1=yes
6707 if test "$_tv_v4l1" = yes ; then
6708 _tv_v4l=yes
6709 _def_tv_v4l='#define HAVE_TV_V4L 1'
6710 _def_tv_v4l1='#define HAVE_TV_V4L1 1'
6711 _inputmodules="tv-v4l $_inputmodules"
6712 else
6713 _noinputmodules="tv-v4l1 $_noinputmodules"
6714 _def_tv_v4l='#undef HAVE_TV_V4L'
6716 echores "$_tv_v4l1"
6719 echocheck "Video 4 Linux 2 TV interface"
6720 if test "$_tv_v4l2" = auto ; then
6721 _tv_v4l2=no
6722 if test "$_tv" = yes && linux ; then
6723 cat > $TMPC <<EOF
6724 #include <stdlib.h>
6725 #include <linux/types.h>
6726 #include <linux/videodev2.h>
6727 int main(void) { return 0; }
6729 cc_check && _tv_v4l2=yes
6732 if test "$_tv_v4l2" = yes ; then
6733 _tv_v4l=yes
6734 _def_tv_v4l='#define HAVE_TV_V4L 1'
6735 _def_tv_v4l2='#define HAVE_TV_V4L2 1'
6736 _inputmodules="tv-v4l2 $_inputmodules"
6737 else
6738 _noinputmodules="tv-v4l2 $_noinputmodules"
6739 _def_tv_v4l2='#undef HAVE_TV_V4L2'
6741 echores "$_tv_v4l2"
6744 echocheck "Radio interface"
6745 if test "$_radio" = yes ; then
6746 _def_radio='#define USE_RADIO 1'
6747 _inputmodules="radio $_inputmodules"
6748 if test "$_alsa9" != yes -a "$_alsa1x" != yes -a "$_ossaudio" != yes ; then
6749 _radio_capture=no
6751 if test "$_radio_capture" = yes ; then
6752 _def_radio_capture="#define USE_RADIO_CAPTURE 1"
6753 else
6754 _def_radio_capture="#undef USE_RADIO_CAPTURE"
6756 else
6757 _noinputmodules="radio $_noinputmodules"
6758 _def_radio='#undef USE_RADIO'
6759 _def_radio_capture="#undef USE_RADIO_CAPTURE"
6760 _radio_capture=no
6762 echores "$_radio"
6763 echocheck "Capture for Radio interface"
6764 echores "$_radio_capture"
6766 echocheck "Video 4 Linux 2 Radio interface"
6767 if test "$_radio_v4l2" = auto ; then
6768 _radio_v4l2=no
6769 if test "$_radio" = yes && linux ; then
6770 cat > $TMPC <<EOF
6771 #include <stdlib.h>
6772 #include <linux/types.h>
6773 #include <linux/videodev2.h>
6774 int main(void) { return 0; }
6776 cc_check && _radio_v4l2=yes
6779 if test "$_radio_v4l2" = yes ; then
6780 _def_radio_v4l2='#define HAVE_RADIO_V4L2 1'
6781 else
6782 _def_radio_v4l2='#undef HAVE_RADIO_V4L2'
6784 echores "$_radio_v4l2"
6786 echocheck "Video 4 Linux Radio interface"
6787 if test "$_radio_v4l" = auto ; then
6788 _radio_v4l=no
6789 if test "$_radio" = yes && linux ; then
6790 cat > $TMPC <<EOF
6791 #include <stdlib.h>
6792 #include <linux/videodev.h>
6793 int main(void) { return 0; }
6795 cc_check && _radio_v4l=yes
6798 if test "$_radio_v4l" = yes ; then
6799 _def_radio_v4l='#define HAVE_RADIO_V4L 1'
6800 else
6801 _def_radio_v4l='#undef HAVE_RADIO_V4L'
6803 echores "$_radio_v4l"
6805 if bsd && test "$_radio" = yes && test "$_radio_bsdbt848" = auto ; then
6806 echocheck "*BSD BrookTree 848 Radio interface header"
6807 for file in "dev/ic/bt8xx.h" \
6808 "machine/ioctl_bt848.h" \
6809 "dev/bktr/ioctl_bt848.h" \
6810 "dev/video/bktr/ioctl_bt848.h" ; do
6811 cat > $TMPC <<EOF
6812 #include <sys/types.h>
6813 #include <$file>
6814 int main(void) { return 0; }
6816 cc_check && _radio_bsdbt848_hdr=$file
6817 done
6818 echores "$_radio_bsdbt848_hdr"
6819 fi #if bsd && radio && radio_bsdbt848
6821 if test -n "$_radio_bsdbt848_hdr" ; then
6822 _def_radio_bsdbt848="#define RADIO_BSDBT848_HDR <$_radio_bsdbt848_hdr>"
6823 else
6824 _def_radio_bsdbt848='#undef RADIO_BSDBT848_HDR '
6827 if test "$_radio_v4l" = no && test "$_radio_v4l2" = no && \
6828 test -z "$_radio_bsdbt848_hdr" && test "$_radio" = yes ; then
6829 die "Radio driver requires BSD BT848, V4L or V4L2!"
6832 echocheck "Video 4 Linux 2 MPEG PVR interface"
6833 if test "$_pvr" = auto ; then
6834 _pvr=no
6835 if test "$_tv_v4l2" = yes && linux ; then
6836 cat > $TMPC <<EOF
6837 #include <stdlib.h>
6838 #include <inttypes.h>
6839 #include <linux/types.h>
6840 #include <linux/videodev2.h>
6841 int main(void) { struct v4l2_ext_controls ext; return 0; }
6843 cc_check && _pvr=yes
6846 if test "$_pvr" = yes ; then
6847 _def_pvr='#define HAVE_PVR 1'
6848 _inputmodules="pvr $_inputmodules"
6849 else
6850 _noinputmodules="pvr $_noinputmodules"
6851 _def_pvr='#undef HAVE_PVR'
6853 echores "$_pvr"
6856 echocheck "audio select()"
6857 if test "$_select" = no ; then
6858 _def_select='#undef HAVE_AUDIO_SELECT'
6859 elif test "$_select" = yes ; then
6860 _def_select='#define HAVE_AUDIO_SELECT 1'
6862 echores "$_select"
6865 echocheck "network"
6866 # FIXME network check
6867 if test "$_network" = yes ; then
6868 _def_network='#define MPLAYER_NETWORK 1'
6869 _ld_extra="$_ld_extra $_ld_sock"
6870 _inputmodules="network $_inputmodules"
6871 else
6872 _noinputmodules="network $_noinputmodules"
6873 _def_network='#undef MPLAYER_NETWORK'
6874 _ftp=no
6876 echores "$_network"
6878 echocheck "ftp"
6879 if not beos && test "$_ftp" = yes ; then
6880 _def_ftp='#define HAVE_FTP 1'
6881 _inputmodules="ftp $_inputmodules"
6882 else
6883 _noinputmodules="ftp $_noinputmodules"
6884 _def_ftp='#undef HAVE_FTP'
6886 echores "$_ftp"
6888 echocheck "vstream client"
6889 if test "$_vstream" = auto ; then
6890 _vstream=no
6891 cat > $TMPC <<EOF
6892 #include <vstream-client.h>
6893 void vstream_error(const char *format, ... ) {}
6894 int main(void) { vstream_start(); return 0; }
6896 cc_check -lvstream-client && _vstream=yes
6898 if test "$_vstream" = yes ; then
6899 _def_vstream='#define HAVE_VSTREAM 1'
6900 _inputmodules="vstream $_inputmodules"
6901 _ld_extra="$_ld_extra -lvstream-client"
6902 else
6903 _noinputmodules="vstream $_noinputmodules"
6904 _def_vstream='#undef HAVE_VSTREAM'
6906 echores "$_vstream"
6908 # endian testing
6909 echocheck "byte order"
6910 if test "$_big_endian" = auto ; then
6911 cat > $TMPC <<EOF
6912 short ascii_name[] = { (('M'<<8)|'P'),(('l'<<8)|'a'),(('y'<<8)|'e'),(('r'<<8)|'B'),
6913 (('i'<<8)|'g'),(('E'<<8)|'n'),(('d'<<8)|'i'),(('a'<<8)|'n'),0};
6914 int main(){
6915 return (int)ascii_name;
6918 if cc_check ; then
6919 if strings $TMPO | grep -l MPlayerBigEndian >/dev/null ; then
6920 _big_endian=yes
6921 else
6922 _big_endian=no
6924 else
6925 echo ${_echo_n} "failed to autodetect byte order, defaulting to ${_echo_c}"
6928 if test "$_big_endian" = yes ; then
6929 _byte_order='big-endian'
6930 _def_words_endian='#define WORDS_BIGENDIAN 1'
6931 else
6932 _byte_order='little-endian'
6933 _def_words_endian='#undef WORDS_BIGENDIAN'
6935 echores "$_byte_order"
6937 echocheck "OSD menu"
6938 if test "$_menu" = yes ; then
6939 _def_menu='#define HAVE_MENU 1'
6940 else
6941 _def_menu='#undef HAVE_MENU'
6943 echores "$_menu"
6946 echocheck "QuickTime codecs"
6947 if test "$_qtx" = auto ; then
6948 test "$_win32" = yes || darwin && _qtx=yes
6950 if test "$_qtx" = yes ; then
6951 _def_qtx='#define USE_QTX_CODECS 1'
6952 _codecmodules="qtx $_codecmodules"
6953 else
6954 _def_qtx='#undef USE_QTX_CODECS'
6955 _nocodecmodules="qtx $_nocodecmodules"
6957 echores "$_qtx"
6960 echocheck "Subtitles sorting"
6961 if test "$_sortsub" = yes ; then
6962 _def_sortsub='#define USE_SORTSUB 1'
6963 else
6964 _def_sortsub='#undef USE_SORTSUB'
6966 echores "$_sortsub"
6969 echocheck "XMMS inputplugin support"
6970 if test "$_xmms" = yes ; then
6971 if ( xmms-config --version ) >/dev/null 2>&1 ; then
6972 _xmmsplugindir=`xmms-config --input-plugin-dir`
6973 _xmmslibdir=`xmms-config --exec-prefix`/lib
6974 else
6975 _xmmsplugindir=/usr/lib/xmms/Input
6976 _xmmslibdir=/usr/lib
6979 _def_xmms='#define HAVE_XMMS 1'
6980 if darwin ; then
6981 _ld_extra="$_ld_extra ${_xmmslibdir}/libxmms.dylib"
6982 else
6983 _ld_extra="$_ld_extra ${_xmmslibdir}/libxmms.so.1 -export-dynamic"
6985 else
6986 _def_xmms='#undef HAVE_XMMS'
6988 echores "$_xmms"
6990 echocheck "inet6"
6991 if test "$_inet6" = auto ; then
6992 cat > $TMPC << EOF
6993 #include <sys/types.h>
6994 #include <sys/socket.h>
6995 #include <netinet/in.h>
6996 int main(void) { struct sockaddr_in6 six; socket(AF_INET6, SOCK_STREAM, AF_INET6); }
6998 _inet6=no
6999 if cc_check ; then
7000 _inet6=yes
7003 if test "$_inet6" = yes ; then
7004 _def_inet6='#define HAVE_AF_INET6 1'
7005 else
7006 _def_inet6='#undef HAVE_AF_INET6'
7008 echores "$_inet6"
7011 echocheck "gethostbyname2"
7012 if test "$_gethostbyname2" = auto ; then
7013 cat > $TMPC << EOF
7014 #include <sys/types.h>
7015 #include <sys/socket.h>
7016 #include <netdb.h>
7017 int main(void) { gethostbyname2("", AF_INET); }
7019 _gethostbyname2=no
7020 if cc_check ; then
7021 _gethostbyname2=yes
7025 if test "$_gethostbyname2" = yes ; then
7026 _def_gethostbyname2='#define HAVE_GETHOSTBYNAME2 1'
7027 else
7028 _def_gethostbyname2='#undef HAVE_GETHOSTBYNAME2'
7030 echores "$_gethostbyname2"
7033 # --------------- GUI specific tests begin -------------------
7034 echocheck "GUI"
7035 echo "$_gui"
7036 if test "$_gui" = yes ; then
7038 # Required libraries
7039 test "$_png" != yes && die "The GUI requires PNG support, please install libpng and libpng-dev packages."
7040 if not win32 ; then
7041 test "$_x11" != yes && die "X11 support required for GUI compilation."
7043 echocheck "XShape extension"
7044 if test "$_xshape" = auto ; then
7045 _xshape=no
7046 cat > $TMPC << EOF
7047 #include <X11/Xlib.h>
7048 #include <X11/Xproto.h>
7049 #include <X11/Xutil.h>
7050 #include <X11/extensions/shape.h>
7051 #include <stdlib.h>
7052 int main(void) {
7053 char *name = ":0.0";
7054 Display *wsDisplay;
7055 int exitvar = 0;
7056 int eventbase, errorbase;
7057 if (getenv("DISPLAY"))
7058 name=getenv("DISPLAY");
7059 wsDisplay=XOpenDisplay(name);
7060 if (!XShapeQueryExtension(wsDisplay,&eventbase,&errorbase))
7061 exitvar=1;
7062 XCloseDisplay(wsDisplay);
7063 return exitvar;
7066 cc_check && _xshape=yes
7068 if test "$_xshape" = yes ; then
7069 _def_xshape='#define HAVE_XSHAPE 1'
7070 else
7071 die "The GUI requires the X11 extension XShape (which was not found)."
7073 echores "$_xshape"
7075 #Check for GTK
7076 if test "$_gtk1" = no ; then
7077 #Check for GTK2 :
7078 echocheck "GTK+ version"
7080 if $_pkg_config gtk+-2.0 --exists ; then
7081 _gtk=`$_pkg_config gtk+-2.0 --modversion 2>/dev/null`
7082 _inc_extra="$_inc_extra `$_pkg_config gtk+-2.0 --cflags 2>/dev/null`"
7083 _libs_mplayer="$_libs_mplayer `$_pkg_config gtk+-2.0 --libs 2>/dev/null`"
7084 echores "$_gtk"
7086 # Check for GLIB2
7087 if $_pkg_config glib-2.0 --exists ; then
7088 echocheck "glib version"
7089 _glib=`$_pkg_config glib-2.0 --modversion 2>/dev/null`
7090 _libs_mplayer="$_libs_mplayer `$_pkg_config glib-2.0 --libs 2>/dev/null`"
7091 echores "$_glib"
7093 _def_gui='#define HAVE_NEW_GUI 1'
7094 _def_gtk2_gui='#define HAVE_GTK2_GUI 1'
7095 else
7096 _gtk1=yes
7097 echo "GLIB-2 devel packages were not found, trying GTK 1.2"
7099 else
7100 echo "GTK-2 devel packages were not found, trying GTK 1.2"
7101 _gtk1=yes
7105 if test "$_gtk1" = yes ; then
7106 # Check for old GTK (1.2.x)
7107 echocheck "GTK version"
7108 if test -z "$_gtkconfig" ; then
7109 if ( gtk-config --version ) >/dev/null 2>&1 ; then
7110 _gtkconfig="gtk-config"
7111 elif ( gtk12-config --version ) >/dev/null 2>&1 ; then
7112 _gtkconfig="gtk12-config"
7113 else
7114 die "The GUI requires GTK devel packages (which were not found)."
7117 _gtk=`$_gtkconfig --version 2>&1`
7118 _inc_extra="$_inc_extra `$_gtkconfig --cflags 2>&1`"
7119 _libs_mplayer="$_libs_mplayer `$_gtkconfig --libs 2>&1`"
7120 echores "$_gtk (using $_gtkconfig)"
7122 # Check for GLIB
7123 echocheck "glib version"
7124 if test -z "$_glibconfig" ; then
7125 if ( glib-config --version ) >/dev/null 2>&1 ; then
7126 _glibconfig="glib-config"
7127 elif ( glib12-config --version ) >/dev/null 2>&1 ; then
7128 _glibconfig="glib12-config"
7129 else
7130 die "The GUI requires GLIB devel packages (which were not found)"
7133 _glib=`$_glibconfig --version 2>&1`
7134 _libs_mplayer="$_libs_mplayer `$_glibconfig --libs 2>&1`"
7135 echores "$_glib (using $_glibconfig)"
7137 _def_gui='#define HAVE_NEW_GUI 1'
7138 _def_gtk2_gui='#undef HAVE_GTK2_GUI'
7141 else #if not win32
7142 _libs_mplayer="$_libs_mplayer -lcomdlg32 -lcomctl32 -lshell32 -lkernel32"
7143 _def_gui='#define HAVE_NEW_GUI 1'
7144 _def_gtk2_gui='#undef HAVE_GTK2_GUI'
7145 fi #if not win32
7147 else #if test "$_gui"
7148 _def_gui='#undef HAVE_NEW_GUI'
7149 _def_gtk2_gui='#undef HAVE_GTK2_GUI'
7150 fi #if test "$_gui"
7151 # --------------- GUI specific tests end -------------------
7154 if test "$_charset" = "noconv" ; then
7155 _charset=""
7157 if test "$_charset" ; then
7158 _def_charset="#define MSG_CHARSET \"$_charset\""
7159 else
7160 _def_charset="#undef MSG_CHARSET"
7163 if test "$_charset" = "UTF-8" ; then
7164 # hack to disable conversion in the Makefile
7165 _charset=""
7168 if test "$_charset" ; then
7169 echocheck "iconv program"
7170 iconv -f UTF-8 -t $_charset ${_mp_help} > /dev/null 2>> "$TMPLOG"
7171 if test "$?" -ne 0 ; then
7172 echores "no"
7173 echo "No working iconv program found, use "
7174 echo "--charset=UTF-8 to continue anyway."
7175 echo "If you also have problems with iconv library functions use --charset=noconv."
7176 echo "Messages in the GTK-2 interface will be broken then."
7177 exit 1
7178 else
7179 echores "yes"
7183 #############################################################################
7185 echocheck "automatic gdb attach"
7186 if test "$_crash_debug" = yes ; then
7187 _def_crash_debug='#define CRASH_DEBUG 1'
7188 else
7189 _def_crash_debug='#undef CRASH_DEBUG'
7190 _crash_debug=no
7192 echores "$_crash_debug"
7194 if darwin ; then
7195 CFLAGS="$CFLAGS -mdynamic-no-pic -falign-loops=16 -DSYS_DARWIN -DCONFIG_DARWIN -shared-libgcc"
7196 if [ "$_cc_major" = 3 ] && [ "$_cc_minor" -lt 1 ]; then
7197 CFLAGS="$CFLAGS -no-cpp-precomp"
7200 # libavcodec (from ffmpeg) requires CONFIG_DARWIN to enable AltiVec on Darwin/MacOSX
7201 test "$_altivec" = yes && CFLAGS="$CFLAGS -DCONFIG_DARWIN"
7203 if hpux ; then
7204 # use flag for HPUX missing setenv()
7205 CFLAGS="$CFLAGS -DHPUX"
7207 # Thread support
7208 if linux ; then
7209 CFLAGS="$CFLAGS -D_REENTRANT"
7210 elif bsd ; then
7211 # FIXME bsd needs this so maybe other OS'es
7212 CFLAGS="$CFLAGS -D_THREAD_SAFE"
7214 # 64 bit file offsets?
7215 if test "$_largefiles" = yes || freebsd ; then
7216 CFLAGS="$CFLAGS -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
7217 if test "$_dvdread" = yes ; then
7218 # dvdread support requires this (for off64_t)
7219 CFLAGS="$CFLAGS -D_LARGEFILE64_SOURCE"
7223 echocheck "compiler support for noexecstack"
7224 cat > $TMPC <<EOF
7225 int main(void) { return 0; }
7227 if cc_check -Wl,-z,noexecstack ; then
7228 _ld_extra="-Wl,-z,noexecstack $_ld_extra"
7229 echores "yes"
7230 else
7231 echores "no"
7234 if cc_check -Wdeclaration-after-statement ; then
7235 CFLAGS="-Wdeclaration-after-statement $CFLAGS"
7238 echocheck "ftello()"
7239 # if we don't have ftello use the osdep/ compatibility module
7240 cat > $TMPC << EOF
7241 #include <stdio.h>
7242 #include <sys/types.h>
7243 int main (void) { ftello(stdin); return 0; }
7245 _ftello=no
7246 cc_check && _ftello=yes
7247 if test "$_ftello" = yes ; then
7248 _def_ftello='#define HAVE_FTELLO 1'
7249 _need_ftello=no
7250 else
7251 _def_ftello='#undef HAVE_FTELLO'
7252 _need_ftello=yes
7254 echores "$_ftello"
7256 # Determine OS dependent libs
7257 if cygwin ; then
7258 _def_confwin32='#define WIN32'
7259 #CFLAGS="$CFLAGS -D__CYGWIN__ -D__CYGWIN_USE_BIG_TYPES__"
7260 # stat.st_size with BIG_TYPES is broken (not set) ::atmos
7261 CFLAGS="$CFLAGS -D__CYGWIN__"
7264 if win32 ; then
7265 _confwin32='TARGET_WIN32 = yes'
7266 else
7267 _confwin32='TARGET_WIN32 = no'
7270 # Dynamic linking flags
7271 # (FIXME: 'echocheck "dynamic linking"' above and modify here accordingly)
7272 _ld_dl_dynamic=''
7273 bsd && _ld_dl_dynamic='-rdynamic'
7274 if test "$_real" = yes || test "$_xanim" = yes && not win32 && not qnx && not darwin ; then
7275 _ld_dl_dynamic='-rdynamic'
7278 _ld_extra="$_ld_extra $_ld_pthread $_ld_dl $_ld_dl_dynamic"
7279 bsdos && _ld_extra="$_ld_extra -ldvd"
7280 netbsd && x86_32 && _ld_extra="$_ld_extra -li386"
7282 _def_debug='#undef MP_DEBUG'
7283 test "$_debug" != "" && _def_debug='#define MP_DEBUG 1'
7285 _def_linux='#undef TARGET_LINUX'
7286 linux && _def_linux='#define TARGET_LINUX 1'
7288 # TODO cleanup the VIDIX stuff here
7289 echocheck "VIDIX (internal)"
7290 echores "$_vidix_internal"
7292 echocheck "VIDIX (external)"
7293 if test "$_vidix_external" = auto; then
7294 _vidix_external=no
7295 cat > $TMPC <<EOF
7296 #include <vidix/vidix.h>
7297 int main(void) { return 0; }
7299 cc_check -lvidix && _vidix_external=yes
7301 echores "$_vidix_external"
7303 if test "$_vidix_internal" = yes || test "$_vidix_external" = yes ; then
7304 _vidix=yes
7305 _def_vidix='#define CONFIG_VIDIX 1'
7306 else
7307 _vidix=no
7308 _def_vidix='#undef CONFIG_VIDIX'
7311 if test "$_vidix_internal" = yes ; then
7312 _def_vidix_pfx="#define MP_VIDIX_PFX \"$_libdir\" \"/mplayer/vidix/\" "
7313 elif test "$_vidix_external" = yes ; then
7314 _libs_mplayer="$_libs_mplayer -lvidix"
7315 _def_vidix_pfx='#define MP_VIDIX_PFX "" '
7318 if test "$_vidix" = yes; then
7319 _vosrc="$_vosrc vo_cvidix.c"
7320 _vomodules="cvidix $_vomodules"
7321 else
7322 _novomodules="cvidix $_novomodules"
7324 if test "$_vidix" = yes && win32; then
7325 _vosrc="$_vosrc vo_winvidix.c"
7326 _vomodules="winvidix $_vomodules"
7327 _libs_mplayer="$_libs_mplayer -lgdi32"
7328 else
7329 _novomodules="winvidix $_novomodules"
7331 if test "$_vidix" = yes && test "$_x11" = yes; then
7332 _vosrc="$_vosrc vo_xvidix.c"
7333 _vomodules="xvidix $_vomodules"
7334 else
7335 _novomodules="xvidix $_novomodules"
7338 echocheck "joystick"
7339 _def_joystick='#undef HAVE_JOYSTICK'
7340 if test "$_joystick" = yes ; then
7341 if linux ; then
7342 # TODO add some check
7343 _def_joystick='#define HAVE_JOYSTICK 1'
7344 else
7345 _joystick="no (unsupported under $system_name)"
7348 echores "$_joystick"
7350 echocheck "lirc"
7351 if test "$_lirc" = auto ; then
7352 _lirc=no
7353 cat > $TMPC <<EOF
7354 #include <lirc/lirc_client.h>
7355 int main(void) { return 0; }
7357 cc_check -llirc_client && _lirc=yes
7359 if test "$_lirc" = yes ; then
7360 _def_lirc='#define HAVE_LIRC 1'
7361 _ld_extra="$_ld_extra -llirc_client"
7362 else
7363 _def_lirc='#undef HAVE_LIRC'
7365 echores "$_lirc"
7367 echocheck "lircc"
7368 if test "$_lircc" = auto ; then
7369 _lircc=no
7370 cat > $TMPC <<EOF
7371 #include <lirc/lircc.h>
7372 int main(void) { return 0; }
7374 cc_check -llircc && _lircc=yes
7376 if test "$_lircc" = yes ; then
7377 _def_lircc='#define HAVE_LIRCC 1'
7378 _ld_extra="$_ld_extra -llircc"
7379 else
7380 _def_lircc='#undef HAVE_LIRCC'
7382 echores "$_lircc"
7384 if arm; then
7385 # Detect maemo development platform libraries availability (http://www.maemo.org),
7386 # they are used when run on Nokia 770
7387 echocheck "maemo (Nokia 770)"
7388 if test "$_maemo" = auto ; then
7389 _maemo=no
7390 cat > $TMPC << EOF
7391 #include <libosso.h>
7392 int main(void) { (void) osso_initialize("", "", 0, NULL); return 0; }
7394 cc_check `$_pkg_config --cflags --libs libosso 2>/dev/null` && _maemo=yes
7396 if test "$_maemo" = yes ; then
7397 _def_maemo='#define HAVE_MAEMO 1'
7398 _inc_extra="$_inc_extra `$_pkg_config --cflags libosso`"
7399 _ld_extra="$_ld_extra `$_pkg_config --libs libosso` -lXsp"
7400 else
7401 _def_maemo='#undef HAVE_MAEMO'
7403 echores "$_maemo"
7406 echocheck "color console output"
7407 if test "$_color_console" = yes ; then
7408 _def_color_console='#define MSG_USE_COLORS 1'
7409 else
7410 _def_color_console='#undef MSG_USE_COLORS'
7412 echores "$_color_console"
7414 # linker paths should be the same for mencoder and mplayer
7415 _ld_tmp=""
7416 for I in $_libs_mplayer ; do
7417 _tmp=`echo $I | sed -e s/^-L.*$//`
7418 if test -z $_tmp ; then
7419 _ld_extra="$I $_ld_extra"
7420 else
7421 _ld_tmp="$_ld_tmp $I"
7423 done
7424 _libs_mplayer=$_ld_tmp
7426 #############################################################################
7427 echo "Creating config.mak"
7428 cat > config.mak << EOF
7429 # -------- Generated by configure -----------
7431 LANG = C
7432 MAN_LANG = $MAN_LANG
7433 TARGET_OS = $system_name
7434 DESTDIR =
7435 prefix = \$(DESTDIR)$_prefix
7436 BINDIR = \$(DESTDIR)$_bindir
7437 DATADIR = \$(DESTDIR)$_datadir
7438 MANDIR = \$(DESTDIR)$_mandir
7439 CONFDIR = \$(DESTDIR)$_confdir
7440 LIBDIR = \$(DESTDIR)$_libdir
7441 # FFmpeg uses libdir instead of LIBDIR
7442 libdir = \$(LIBDIR)
7443 #AR = ar
7444 CC = $_cc
7445 HOST_CC = $_host_cc
7446 AWK = $_awk
7447 RANLIB = $_ranlib
7448 INSTALL = $_install
7449 EXTRA_INC = $_inc_extra
7450 OPTFLAGS = $CFLAGS \$(EXTRA_INC)
7451 STRIPBINARIES = $_stripbinaries
7452 CHARSET = $_charset
7453 HELP_FILE = $_mp_help
7455 EXESUF = $_exesuf
7457 MPLAYER_NETWORK = $_network
7458 FTP = $_ftp
7459 STREAMING_LIVE555 = $_live
7460 VSTREAM = $_vstream
7461 STREAM_CACHE = yes
7462 DVBIN = $_dvbin
7463 VIDIX = $_vidix_internal
7464 EXTERNAL_VIDIX = $_vidix_external
7465 CONFIG_PP = yes
7466 MP3LAME = $_mp3lame
7467 LIBMENU = $_menu
7469 MP3LIB = $_mp3lib
7470 LIBA52 = $_liba52
7471 LIBMPEG2 = $_libmpeg2
7472 TREMOR_INTERNAL = $_tremor_internal
7473 TREMOR_FLAGS = $_tremor_flags
7474 FAAD = $_faad
7476 SPEEX = $_speex
7477 MUSEPACK = $_musepack
7479 UNRARLIB = $_unrarlib
7480 PNG = $_png
7481 JPEG = $_jpeg
7482 GIF = $_gif
7484 EXTRALIBS = $_extra_libs
7485 EXTRA_LIB = $_ld_extra $_ld_static $_ld_lm
7486 EXTRALIBS_MPLAYER = $_libs_mplayer
7487 EXTRALIBS_MENCODER = $_libs_mencoder
7489 HAVE_MLIB = $_mlib
7490 HAVE_PTHREADS = $_pthreads
7492 HAVE_XVMC_ACCEL = $_xvmc
7494 HAVE_SYS_MMAN_H = $_mman
7496 NEED_FSEEKO = $_need_fseeko
7497 NEED_FTELLO = $_need_ftello
7498 NEED_GETTIMEOFDAY = $_need_gettimeofday
7499 NEED_GLOB = $_need_glob
7500 NEED_SCANDIR = $_need_scandir
7501 NEED_SETENV = $_need_setenv
7502 NEED_STRLCAT = $_need_strlcat
7503 NEED_STRLCPY = $_need_strlcpy
7504 NEED_STRSEP = $_need_strsep
7505 NEED_SWAB = $_need_swab
7506 NEED_VSSCANF = $_need_vsscanf
7508 # for FFmpeg
7509 SRC_PATH=..
7510 BUILD_ROOT=..
7511 LIBPREF=lib
7512 LIBSUF=.a
7513 LIB=\$(LIBPREF)\$(NAME)\$(LIBSUF)
7515 # audio output
7516 OSS = $_ossaudio
7517 ALSA = $_alsa
7518 ALSA5 = $_alsa5
7519 ALSA9 = $_alsa9
7520 ALSA1X = $_alsa1x
7522 # input/demuxer/codecs
7523 JOYSTICK = $_joystick
7524 LIRC = $_lirc
7525 TV = $_tv
7526 TV_V4L = $_tv_v4l
7527 TV_V4L1 = $_tv_v4l1
7528 TV_V4L2 = $_tv_v4l2
7529 TV_BSDBT848 = $_tv_bsdbt848
7530 PVR = $_pvr
7531 VCD = $_vcd
7532 DVDREAD = $_dvdread
7533 DVDREAD_INTERNAL = $_dvdread_internal
7534 DVDCSS_INTERNAL = $_libdvdcss_internal
7535 DVDNAV = $_dvdnav
7536 WIN32DLL = $_win32
7537 QTX_CODECS = $_qtx
7538 REAL_CODECS = $_real
7539 XANIM_CODECS = $_xanim
7540 CONFIG_LIBAVUTIL = $_libavutil
7541 CONFIG_LIBAVUTIL_SO = $_libavutil_so
7542 CONFIG_LIBAVCODEC = $_libavcodec
7543 CONFIG_LIBAVCODEC_SO = $_libavcodec_so
7544 CONFIG_LIBAVFORMAT = $_libavformat
7545 CONFIG_LIBAVFORMAT_SO = $_libavformat_so
7546 CONFIG_LIBPOSTPROC = $_libpostproc
7547 CONFIG_LIBPOSTPROC_SO = $_libpostproc_so
7548 ZORAN = $_zr
7549 LIBDV = $_libdv
7550 XVID4 = $_xvid
7551 X264 = $_x264
7552 LIBNUT = $_nut
7553 CONFIG_LIBDTS = $_libdts
7554 MPLAYER = $_mplayer
7555 MENCODER = $_mencoder
7556 CDDA = $_cdda
7557 CDDB = $_cddb
7558 BITMAP_FONT = $_bitmap_font
7559 FREETYPE = $_freetype
7560 CONFIG_ASS = $_ass
7561 LIBMAD = $_mad
7562 LIBVORBIS = $_vorbis
7563 LIBTHEORA = $_theora
7564 FAAD_INTERNAL = $_faad_internal
7565 FAAD_FIXED = $_faad_fixed
7566 LIBSMBCLIENT = $_smbsupport
7567 XMMS_PLUGINS = $_xmms
7568 MACOSX = $_macosx
7569 MACOSX_FINDER_SUPPORT = $_macosx_finder_support
7570 MACOSX_BUNDLE = $_macosx_bundle
7571 MACOSX_COREVIDEO = $_macosx_corevideo
7572 TOOLAME=$_toolame
7573 TWOLAME=$_twolame
7574 FAAC=$_faac
7575 CONFIG_AMR=$_amr
7576 CONFIG_AMR_NB=$_amr_nb
7577 CONFIG_AMR_NB_FIXED=$_amr_nb_fixed
7578 CONFIG_AMR_WB=$_amr_wb
7579 `echo $_libavdecoders | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/'`
7580 `echo $_libavencoders | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/'`
7581 `echo $_libavparsers | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/'`
7582 `echo $_libavdemuxers | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/'`
7583 `echo $_libavmuxers | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/'`
7584 CONFIG_FAAC=$_lavc_faac
7585 CONFIG_MP3LAME=$_lavc_mp3lame
7586 CONFIG_XVID=$_lavc_xvid
7587 CONFIG_X264=$_lavc_x264
7588 CONFIG_GPL=yes
7589 CONFIG_ENCODERS=$_mencoder
7590 CONFIG_MUXERS=$_mencoder
7591 RADIO=$_radio
7592 RADIO_CAPTURE=$_radio_capture
7594 # --- Some stuff for autoconfigure ----
7595 $_target_arch
7596 $_target_arch_x86
7597 $_confwin32
7598 TARGET_CPU=$iproc
7599 TARGET_MMX = $_mmx
7600 TARGET_MMX2 = $_mmxext
7601 TARGET_3DNOW = $_3dnow
7602 TARGET_3DNOWEX = $_3dnowext
7603 TARGET_SSE = $_sse
7604 TARGET_CMOV = $_cmov
7605 TARGET_ALTIVEC = $_altivec
7606 TARGET_ARMV5TE = $_armv5te
7607 TARGET_IWMMXT = $_iwmmxt
7608 TARGET_VIS = $_vis
7609 TARGET_BUILTIN_VECTOR = $_builtin_vector
7610 TARGET_BUILTIN_3DNOW = $_mm3dnow
7612 # --- GUI stuff ---
7613 GUI = $_gui
7615 # --- libvo stuff ---
7616 VO_SRCS = $_vosrc
7618 # --- libao2 stuff ---
7619 AO_SRCS = $_aosrc
7621 # --- libaf stuff ---
7622 AF_SRCS = $_afsrc
7626 #############################################################################
7628 ff_config_enable () {
7629 for part in $1; do
7630 ucname=` echo $part | tr '[a-z]' '[A-Z]' `
7631 if ` echo $2 | grep $part > /dev/null `; then
7632 echo "#define CONFIG_$ucname 1"
7633 echo "#define ENABLE_$ucname 1"
7634 else
7635 echo "#define ENABLE_$ucname 0"
7637 done
7640 echo "Creating config.h"
7641 cat > config.h << EOF
7642 /* -------- This file has been automatically generated by configure ---------
7643 Note: Any changes in it will be lost when you run configure again. */
7645 /* Protect against multiple inclusion */
7646 #ifndef MPLAYER_CONFIG_H
7647 #define MPLAYER_CONFIG_H 1
7649 #define CONFIGURATION "$_configuration"
7651 /* use GNU internationalization */
7652 $_def_i18n
7654 /* name of messages charset */
7655 $_def_charset
7657 /* Runtime CPU detection */
7658 $_def_runtime_cpudetection
7660 /* Dynamic a/v plugins */
7661 $_def_dynamic_plugins
7663 /* "restrict" keyword */
7664 $_def_restrict_keyword
7666 /* __builtin_expect branch prediction hint */
7667 $_def_builtin_expect
7668 #ifdef HAVE_BUILTIN_EXPECT
7669 #define likely(x) __builtin_expect ((x) != 0, 1)
7670 #define unlikely(x) __builtin_expect ((x) != 0, 0)
7671 #else
7672 #define likely(x) (x)
7673 #define unlikely(x) (x)
7674 #endif
7676 /* attribute(used) as needed by some compilers */
7677 #if (__GNUC__ * 100 + __GNUC_MINOR__ >= 300)
7678 # define attribute_used __attribute__((used))
7679 #else
7680 # define attribute_used
7681 #endif
7683 /* compiler support for named assembler arguments */
7684 $_def_named_asm_args
7686 #define PREFIX "$_prefix"
7688 /* enable/disable SIGHANDLER */
7689 $_def_sighandler
7691 /* enable/disable automatic gdb attach on crash, requires SIGHANDLER */
7692 $_def_crash_debug
7694 /* Toggles debugging informations */
7695 $_def_debug
7697 /* Toggles color console output */
7698 $_def_color_console
7700 /* Indicates that libcdio is available for VCD and CD-DA playback */
7701 $_def_libcdio
7703 /* Indicates that Ogle's libdvdread is available for DVD playback */
7704 $_def_dvdread
7706 /* Indicates that dvdread is internal */
7707 $_def_dvdread_internal
7709 /* Additional options for libdvdread/libdvdcss */
7710 $_def_dvd
7711 $_def_cdrom
7712 $_def_cdio
7713 $_def_dvdio
7714 $_def_bsdi_dvd
7715 $_def_dvd_bsd
7716 $_def_dvd_linux
7717 $_dev_dvd_openbsd
7718 $_def_dvd_darwin
7719 $_def_sol_scsi_h
7720 $_def_hpux_scsi_h
7721 $_def_stddef
7723 /* Common data directory (for fonts, etc) */
7724 #define MPLAYER_DATADIR "$_datadir"
7725 #define MPLAYER_CONFDIR "$_confdir"
7726 #define MPLAYER_LIBDIR "$_libdir"
7728 /* Define this to compile stream-caching support, it can be enabled via
7729 -cache <kilobytes> */
7730 #define USE_STREAM_CACHE 1
7732 /* Define if you are using XviD library */
7733 $_def_xvid
7735 /* Define if you are using the X.264 library */
7736 $_def_x264
7738 /* Define if you are using libnut */
7739 $_def_nut
7741 /* Define to include support for libdv-0.9.5 */
7742 $_def_libdv
7744 /* If build mencoder */
7745 $_mencoder_flag
7747 /* Indicates if libmp3lame is available
7748 Note: for mencoder */
7749 $_def_mp3lame
7750 $_def_mp3lame_preset
7751 $_def_mp3lame_preset_medium
7753 /* Define this to enable avg. byte/sec-based AVI sync method by default:
7754 (use -bps or -nobps commandline option for run-time method selection)
7755 -bps gives better sync for vbr mp3 audio, it is now default */
7756 #define AVI_SYNC_BPS 1
7758 /* Undefine this if you do not want to select mono audio (left or right)
7759 with a stereo MPEG layer 2/3 audio stream. The command line option
7760 -stereo has three possible values (0 for stereo, 1 for left-only, 2 for
7761 right-only), with 0 being the default.
7763 #define USE_FAKE_MONO 1
7765 /* Undefine this if your sound card driver has no working select().
7766 If you have kernel Oops, player hangups, or just no audio, you should
7767 try to recompile MPlayer with this option disabled! */
7768 $_def_select
7770 /* define this to use iconv(3) function to codepage conversions */
7771 $_def_iconv
7773 /* define this to use nl_langinfo function */
7774 $_def_langinfo
7776 /* define this to use RTC (/dev/rtc) for video timers */
7777 $_def_rtc
7779 /* set up max. outburst. use 65536 for ALSA 0.5, for others 16384 is enough */
7780 #define MAX_OUTBURST 65536
7782 /* set up audio OUTBURST. Do not change this! */
7783 #define OUTBURST 512
7785 /* Define this if your system has the header file for the OSS sound interface */
7786 $_def_sys_soundcard
7788 /* Define this if your system has the header file for the OSS sound interface
7789 * in /usr/include */
7790 $_def_soundcard
7792 /* Define this if your system has the sysinfo header */
7793 $_def_sys_sysinfo
7795 /* Define this if your system has ftello() */
7797 $_def_ftello
7798 #ifndef HAVE_FTELLO
7799 /* Need these for FILE and off_t an config.h is usually before other includes*/
7800 #include <stdio.h>
7801 #include <sys/types.h>
7802 off_t ftello(FILE *);
7803 #endif
7805 /* Define this if your system has the "malloc.h" header file */
7806 $_def_malloc
7808 /* memalign is mapped to malloc if unsupported */
7809 $_def_memalign
7810 $_def_map_memalign
7811 $_def_memalign_hack
7813 /* assembler handling of .align */
7814 $_def_asmalign_pot
7816 /* Define this if your system has the "alloca.h" header file */
7817 $_def_alloca
7819 /* Define this if your system has the "sys/mman.h" header file */
7820 $_def_mman
7821 $_def_mman_has_map_failed
7823 /* Define this if you have the elf dynamic linker -ldl library */
7824 $_def_dl
7826 /* Define this if you have the kstat kernel statistics library */
7827 $_def_kstat
7829 /* Define this if you have zlib */
7830 $_def_zlib
7831 #ifdef HAVE_ZLIB
7832 #define CONFIG_ZLIB 1
7833 #endif
7835 /* Define this if you have shm support */
7836 $_def_shm
7838 /* Define this if your system has scandir & alphasort */
7839 $_def_scandir
7841 /* Define this if your system has strsep */
7842 $_def_strsep
7844 /* Define this if your system has strlcpy */
7845 $_def_strlcpy
7846 #ifndef HAVE_STRLCPY
7847 unsigned int strlcpy (char *dest, const char *src, unsigned int size);
7848 #endif
7850 /* Define this if your system has strlcat */
7851 $_def_strlcat
7852 #ifndef HAVE_STRLCAT
7853 unsigned int strlcat (char *dest, const char *src, unsigned int size);
7854 #endif
7856 /* Define this if your system has fseeko */
7857 $_def_fseeko
7858 #ifndef HAVE_FSEEKO
7859 /* Need these for FILE and off_t an config.h is usually before other includes*/
7860 #include <stdio.h>
7861 #include <sys/types.h>
7862 int fseeko(FILE *, off_t, int);
7863 #endif
7865 $_def_localtime_r
7867 /* Define this if your system has vsscanf */
7868 $_def_vsscanf
7870 /* Define this if your system has swab */
7871 $_def_swab
7873 /* Define this if your system has no posix select */
7874 $_def_no_posix_select
7876 /* Define this if your system has gettimeofday */
7877 $_def_gettimeofday
7879 /* Define this if your system has glob */
7880 $_def_glob
7882 /* Define this if your system has setenv */
7883 $_def_setenv
7884 #ifndef HAVE_SETENV
7885 int setenv(const char *name, const char *val, int overwrite);
7886 #endif
7888 /* Define this if your system has sysi86 */
7889 $_def_sysi86
7891 /* Define this if your system has pthreads */
7892 $_def_pthreads
7894 /* Define this if you enabled thread support for libavcodec */
7895 $_def_threads
7897 /* LIRC (remote control, see www.lirc.org) support: */
7898 $_def_lirc
7900 /* Support for maemo (http://www.maemo.org) */
7901 $_def_maemo
7904 * LIRCCD (LIRC client daemon)
7905 * See http://www.dolda2000.cjb.net/~fredrik/lirccd/
7907 $_def_lircc
7909 /* DVD navigation support using libdvdnav */
7910 $_def_dvdnav
7911 $_def_dvdnav_version
7913 /* Define this to enable MPEG 1/2 image postprocessing (requires a FAST CPU!) */
7914 #define MPEG12_POSTPROC 1
7916 /* Define this to enable image postprocessing in libavcodec (requires a FAST CPU!) */
7917 $_def_libpostproc
7918 $_def_libpostproc_so
7920 /* Win32 DLL support */
7921 $_def_win32
7922 #define WIN32_PATH "$_win32codecsdir"
7924 /* Mac OS X specific features */
7925 $_def_macosx
7926 $_def_macosx_finder_support
7927 $_def_macosx_bundle
7928 $_def_macosx_corevideo
7930 /* Build our Win32-loader */
7931 $_def_win32_loader
7933 /* ffmpeg's libavcodec support (requires libavcodec source) */
7934 $_def_libavcodec
7935 $_def_libavcodec_so
7936 $_def_lavc_dsputil
7937 $_def_libavcodec_mpegaudio_hp
7939 /* ffmpeg's libavformat support (requires libavformat source) */
7940 $_def_libavformat
7941 $_def_libavformat_so
7942 $_def_libavformat_win32
7944 $_def_libavutil
7945 $_def_libavutil_so
7947 /* Use libavcodec's decoders */
7948 #define CONFIG_DECODERS 1
7949 /* Use libavcodec's encoders */
7950 #define CONFIG_ENCODERS 1
7952 /* Use libavformat's demuxers */
7953 #define CONFIG_DEMUXERS 1
7954 /* Use libavformat's muxers */
7955 $_def_muxers
7957 #define CONFIG_GPL 1
7959 /* Use amr codecs from libavcodec (requires amr sources) */
7960 $_def_amr
7961 $_def_amr_nb
7962 $_def_amr_nb_fixed
7963 $_def_amr_wb
7965 /* Use specific parts from FFmpeg. */
7966 `ff_config_enable "$_libavdecoders_all" "$_libavdecoders"`
7967 `ff_config_enable "$_libavencoders_all" "$_libavencoders"`
7968 `ff_config_enable "$_libavparsers_all" "$_libavparsers"`
7969 `ff_config_enable "$_libavdemuxers_all" "$_libavdemuxers"`
7970 `ff_config_enable "$_libavmuxers_all" "$_libavmuxers"`
7972 $_def_lavc_faac
7973 $_def_lavc_xvid
7974 $_def_lavc_mp3lame
7975 $_def_lavc_x264
7977 /* Use codec libs included in mplayer CVS / source dist: */
7978 $_def_mp3lib
7979 $_def_liba52
7980 $_def_libdts
7981 $_def_libmpeg2
7983 /* XAnim DLL support */
7984 $_def_xanim
7985 /* Default search path */
7986 $_def_xanim_path
7988 /* RealPlayer DLL support */
7989 $_def_real
7990 /* Default search path */
7991 $_def_real_path
7993 /* LIVE555 Streaming Media library support */
7994 $_def_live
7996 /* Use 3dnow/mmxext/sse/mmx optimized fast memcpy() [maybe buggy... signal 4]*/
7997 $_def_fastmemcpy
7999 /* Use unrarlib for Vobsubs */
8000 $_def_unrarlib
8002 /* gui support, please do not edit this option */
8003 $_def_gui
8004 $_def_gtk2_gui
8006 /* Audio output drivers */
8007 $_def_ossaudio
8008 $_def_ossaudio_devdsp
8009 $_def_ossaudio_devmixer
8010 $_def_alsa5
8011 $_def_alsa9
8012 $_def_alsa1x
8013 $_def_arts
8014 $_def_esd
8015 $_def_esd_latency
8016 $_def_polyp
8017 $_def_jack
8018 $_def_openal
8019 $_def_openal_h
8020 $_def_sys_asoundlib_h
8021 $_def_alsa_asoundlib_h
8022 $_def_sunaudio
8023 $_def_sgiaudio
8024 $_def_win32waveout
8025 $_def_nas
8027 /* Enable fast OSD/SUB renderer (looks ugly, but uses less CPU power) */
8028 #undef FAST_OSD
8029 #undef FAST_OSD_TABLE
8031 /* Enable TV Interface support */
8032 $_def_tv
8034 /* Enable Video 4 Linux TV interface support */
8035 $_def_tv_v4l
8037 /* Enable Video 4 Linux 1 TV interface support */
8038 $_def_tv_v4l1
8040 /* Enable Video 4 Linux 2 TV interface support */
8041 $_def_tv_v4l2
8043 /* Enable *BSD BrookTree TV interface support */
8044 $_def_tv_bsdbt848
8046 /* Enable Radio Interface support */
8047 $_def_radio
8049 /* Enable Capture for Radio Interface support */
8050 $_def_radio_capture
8052 /* Enable Video 4 Linux Radio interface support */
8053 $_def_radio_v4l
8055 /* Enable Video 4 Linux 2 Radio interface support */
8056 $_def_radio_v4l2
8058 /* Enable *BSD BrookTree Radio interface support */
8059 $_def_radio_bsdbt848
8061 /* Enable Video 4 Linux 2 MPEG PVR support */
8062 $_def_pvr
8064 /* Define if your processor stores words with the most significant
8065 byte first (like Motorola and SPARC, unlike Intel and VAX). */
8066 $_def_words_endian
8068 $_def_arch
8069 $_def_arch_x86
8071 /* For the PPC. G5 has the dcbzl when in 64bit mode but G4s and earlier do not
8072 have the instruction. */
8073 $_def_dcbzl
8075 /* libmpeg2 wants ARCH_PPC and the rest of mplayer use ARCH_POWERPC,
8076 * define ARCH_PPC if ARCH_POWERPC is set to cope with that.
8078 #ifdef ARCH_POWERPC
8079 #define ARCH_PPC 1
8080 #endif
8082 /* the same issue as with ARCH_POWERPC but with ffmpeg/libavcodec */
8083 #ifdef ARCH_ARMV4L
8084 #define ARCH_ARM 1
8085 #endif
8087 /* only gcc3 can compile mvi instructions */
8088 $_def_gcc_mvi_support
8090 /* Define this for Cygwin build for win32 */
8091 $_def_confwin32
8093 /* Define this to any prefered value from 386 up to infinity with step 100 */
8094 #define __CPU__ $iproc
8096 $_mp_wordsize
8098 $_def_linux
8100 $_def_vcd
8102 #ifdef sun
8103 #define DEFAULT_CDROM_DEVICE "/vol/dev/aliases/cdrom0"
8104 #define DEFAULT_DVD_DEVICE DEFAULT_CDROM_DEVICE
8105 #elif defined(HPUX)
8106 #define DEFAULT_CDROM_DEVICE "/dev/cdrom"
8107 #define DEFAULT_DVD_DEVICE "/dev/dvd"
8108 #elif defined(WIN32)
8109 #define DEFAULT_CDROM_DEVICE "D:"
8110 #define DEFAULT_DVD_DEVICE "D:"
8111 #elif defined(SYS_DARWIN)
8112 #define DEFAULT_CDROM_DEVICE "/dev/disk1"
8113 #define DEFAULT_DVD_DEVICE "/dev/rdiskN"
8114 #elif defined(__OpenBSD__)
8115 #define DEFAULT_CDROM_DEVICE "/dev/rcd0a"
8116 #define DEFAULT_DVD_DEVICE DEFAULT_CDROM_DEVICE
8117 #elif defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
8118 #define DEFAULT_CDROM_DEVICE "/dev/acd0"
8119 #define DEFAULT_DVD_DEVICE DEFAULT_CDROM_DEVICE
8120 #else
8121 #define DEFAULT_CDROM_DEVICE "/dev/cdrom"
8122 #define DEFAULT_DVD_DEVICE "/dev/dvd"
8123 #endif
8126 /*----------------------------------------------------------------------------
8128 ** NOTE: Instead of modifying these definitions here, use the
8129 ** --enable/--disable options of the ./configure script!
8130 ** See ./configure --help for details.
8132 *---------------------------------------------------------------------------*/
8134 /* C99 lrintf function available */
8135 $_def_lrintf
8137 /* round function is available */
8138 $_def_round
8140 /* yes, we have inttypes.h */
8141 #define HAVE_INTTYPES_H 1
8143 /* int_fastXY_t emulation */
8144 $_def_fast_inttypes
8146 /* nanosleep support */
8147 $_def_nanosleep
8149 /* SMB support */
8150 $_def_smbsupport
8152 /* termcap flag for getch2.c */
8153 $_def_termcap
8155 /* termios flag for getch2.c */
8156 $_def_termios
8157 $_def_termios_h
8158 $_def_termios_sys_h
8160 /* enable PNG support */
8161 $_def_png
8163 /* enable JPEG support */
8164 $_def_jpeg
8166 /* enable PNM support */
8167 $_def_pnm
8169 /* enable md5sum support */
8170 $_def_md5sum
8172 /* enable GIF support */
8173 $_def_gif
8174 $_def_gif_4
8175 $_def_gif_tvt_hack
8177 /* enable bitmap font support */
8178 $_def_bitmap_font
8180 /* enable FreeType support */
8181 $_def_freetype
8183 /* enable Fontconfig support */
8184 $_def_fontconfig
8186 /* enable SSA/ASS support */
8187 $_def_ass
8189 /* enable FriBiDi usage */
8190 $_def_fribidi
8192 /* enable ENCA usage */
8193 $_def_enca
8195 /* liblzo support */
8196 $_def_liblzo
8197 #ifdef USE_LIBLZO
8198 #define CONFIG_LZO 1
8199 #endif
8201 /* libmad support */
8202 $_def_mad
8204 /* enable OggVorbis support */
8205 $_def_vorbis
8206 $_def_tremor
8208 /* enable Speex support */
8209 $_def_speex
8211 /* enable musepack support */
8212 $_def_musepack
8214 /* enable OggTheora support */
8215 $_def_theora
8217 /* enable FAAD (AAC) support */
8218 $_def_faad
8219 $_def_faad_internal
8221 /* enable FAAC (AAC encoder) support */
8222 $_def_faac
8224 /* enable LADSPA plugin support */
8225 $_def_ladspa
8227 /* enable network */
8228 $_def_network
8230 /* enable ftp support */
8231 $_def_ftp
8233 /* enable vstream support */
8234 $_def_vstream
8236 /* enable winsock2 instead of Unix functions*/
8237 $_def_winsock2
8239 /* define this to use inet_aton() instead of inet_pton() */
8240 $_def_use_aton
8242 /* enables / disables cdparanoia support */
8243 $_def_cdparanoia
8244 $_def_cddb
8246 /* enables / disables VIDIX usage */
8247 $_def_vidix
8248 $_def_vidix_pfx
8250 /* enables / disables new input joystick support */
8251 $_def_joystick
8253 /* enables / disables QTX codecs */
8254 $_def_qtx
8256 /* enables / disables osd menu */
8257 $_def_menu
8259 /* enables / disables subtitles sorting */
8260 $_def_sortsub
8262 /* XMMS input plugin support */
8263 $_def_xmms
8264 #define XMMS_INPUT_PLUGIN_DIR "$_xmmsplugindir"
8266 /* enables inet6 support */
8267 $_def_inet6
8269 /* do we have gethostbyname2? */
8270 $_def_gethostbyname2
8272 /* Extension defines */
8273 $_def_3dnow // only define if you have 3DNOW (AMD k6-2, AMD Athlon, iDT WinChip, etc.)
8274 $_def_3dnowext // only define if you have 3DNOWEXT (AMD Athlon, etc.)
8275 $_def_mmx // only define if you have MMX (newer x86 chips, not P54C/PPro)
8276 $_def_mmxext // only define if you have MMX2 (Athlon/PIII/4/CelII)
8277 $_def_sse // only define if you have SSE (Intel Pentium III/4 or Celeron II)
8278 $_def_sse2 // only define if you have SSE2 (Intel Pentium 4)
8279 $_def_cmov // only define if you have CMOV (i686+, without VIA C3)
8280 $_def_altivec // only define if you have Altivec (G4)
8281 $_def_armv5te // only define if you have Enhanced DSP Extensions (ARM)
8282 $_def_iwmmxt // only define if you have XScale IWMMX (ARM)
8284 $_def_altivec_h // enables usage of altivec.h
8286 $_def_mlib // Sun mediaLib, available only on solaris
8287 $_def_vis // only define if you have VIS ( ultrasparc )
8289 /* libmpeg2 uses a different feature test macro for mediaLib */
8290 #ifdef HAVE_MLIB
8291 #define LIBMPEG2_MLIB 1
8292 #endif
8294 /* libvo options */
8295 #define SCREEN_SIZE_X 1
8296 #define SCREEN_SIZE_Y 1
8297 $_def_x11
8298 $_def_xv
8299 $_def_xvmc
8300 $_def_vm
8301 $_def_xf86keysym
8302 $_def_xinerama
8303 $_def_gl
8304 $_def_gl_win32
8305 $_def_dga
8306 $_def_dga2
8307 $_def_sdl
8308 /* defined for SDLlib with keyrepeat bugs (before 1.2.1) */
8309 $_def_sdlbuggy
8310 $_def_directx
8311 $_def_ggi
8312 $_def_ggiwmh
8313 $_def_3dfx
8314 $_def_s3fb
8315 $_def_tdfxfb
8316 $_def_tdfxvid
8317 $_def_directfb
8318 $_def_directfb_version
8319 $_def_dfbmga
8320 $_def_zr
8321 $_def_bl
8322 $_def_mga
8323 $_def_xmga
8324 $_def_syncfb
8325 $_def_fbdev
8326 $_def_dxr2
8327 $_def_dxr3
8328 $_def_ivtv
8329 $_def_dvb
8330 $_def_dvb_in
8331 $_def_svga
8332 $_def_vesa
8333 $_def_xdpms
8334 $_def_aa
8335 $_def_caca
8336 $_def_tga
8337 $_def_toolame
8338 $_def_twolame
8340 /* used by GUI: */
8341 $_def_xshape
8343 #if defined(HAVE_GL) || defined(HAVE_X11) || defined(HAVE_XV)
8344 #define X11_FULLSCREEN 1
8345 #endif
8347 #endif /* MPLAYER_CONFIG_H */
8350 #############################################################################
8352 cat << EOF
8354 Config files successfully generated by ./configure !
8356 Install prefix: $_prefix
8357 Data directory: $_datadir
8358 Config direct.: $_confdir
8360 Byte order: $_byte_order
8361 Optimizing for: $_optimizing
8363 Languages:
8364 Messages/GUI: $_language
8367 echo ${_echo_n} " Manual pages: $MAN_LANG ${_echo_c}"
8368 test "$LANGUAGES" = en && echo ${_echo_n} " (no localization selected, use --language=all)${_echo_c}"
8369 echo
8371 cat << EOF
8373 Enabled optional drivers:
8374 Input: $_inputmodules
8375 Codecs: $_codecmodules
8376 Audio output: $_aomodules
8377 Video output: $_vomodules
8378 Audio filters: $_afmodules
8379 Disabled optional drivers:
8380 Input: $_noinputmodules
8381 Codecs: $_nocodecmodules
8382 Audio output: $_noaomodules
8383 Video output: $_novomodules
8384 Audio filters: $_noafmodules
8386 'config.h' and 'config.mak' contain your configuration options.
8387 Note: If you alter theses files (for instance CFLAGS) MPlayer may no longer
8388 compile *** DO NOT REPORT BUGS if you tweak these files ***
8390 'make' will now compile MPlayer and 'make install' will install it.
8391 Note: On non-Linux systems you might need to use 'gmake' instead of 'make'.
8396 if test "$_mtrr" = yes ; then
8397 echo "Please check mtrr settings at /proc/mtrr (see DOCS/HTML/$_doc_lang/video.html#mtrr)"
8398 echo
8401 if not x86_32; then
8402 cat <<EOF
8403 NOTE: Win32 codec DLLs are not supported on your CPU ($host_arch) or your
8404 operating system ($system_name). You may encounter a few files that cannot
8405 be played due to missing open source video/audio codec support.
8411 cat <<EOF
8412 Check $TMPLOG if you wonder why an autodetection failed (make sure
8413 development headers/packages are installed).
8415 NOTE: The --enable-* parameters unconditionally force options on, completely
8416 skipping autodetection. This behavior is unlike what you may be used to from
8417 autoconf-based configure scripts that can decide to override you. This greater
8418 level of control comes at a price. You may have to provide the correct compiler
8419 and linker flags yourself.
8420 If you used one of these options (except --enable-gui and similar ones that
8421 turn on internal features) and experience a compilation or linking failure,
8422 make sure you have passed the necessary compiler/linker flags to configure.
8424 If you suspect a bug, please read DOCS/HTML/$_doc_lang/bugreports.html.
8428 if test "$_warn_CFLAGS" = yes; then
8429 cat <<EOF
8431 MPlayer compilation will use the CPPFLAGS/CFLAGS/LDFLAGS set by you, but:
8433 *** *** DO NOT REPORT BUGS IF IT DOES NOT COMPILE/WORK! *** ***
8435 It is strongly recommended to let MPlayer choose the correct CFLAGS!
8436 To do so, execute 'CFLAGS= ./configure <options>'
8441 # Last move:
8442 rm -f "$TMPO" "$TMPC" "$TMPS" "$TMPCPP"