3 # Original version (C) 2000 Pontscho/fresh!mindworkz
4 # pontscho@makacs.poliod.hu
6 # History / Contributors: Check the Subversion 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, look at the existing checks
23 # and try to use helper functions where you can.
25 # Furthermore you need to add the variable _feature to the list of default
26 # settings and set it to one of yes/no/auto. Also add appropriate
27 # --enable-feature/--disable-feature command line options.
28 # The results of the check should be written to config.h and config.mak
29 # at the end of this script. The variable names used for this should be
30 # uniform, i.e. if the option is named 'feature':
32 # _feature : should have a value of yes/no/auto
33 # def_feature : '#define ... 1' or '#undef ...' for conditional compilation
34 # _ld_feature : '-L/path/dir -lfeature' GCC options
36 #############################################################################
38 # Prevent locale nonsense from breaking basic text processing utils
41 # Store the configure line that was used
44 # Prefer these macros to full length text !
45 # These macros only return an error code - NO display is done
50 cat "$source" >> "$TMPLOG"
52 echo "$_cc $WARNFLAGS $WARN_CFLAGS $CFLAGS $source $extra_cflags $_ld_static $extra_ldflags $libs_mplayer -o $TMPEXE $@" >> "$TMPLOG"
54 $_cc $WARNFLAGS $WARN_CFLAGS $CFLAGS "$source" $extra_cflags $_ld_static $extra_ldflags $libs_mplayer -o "$TMPEXE" "$@" >> "$TMPLOG" 2>&1
62 compile_check
$TMPC $@
66 compile_check
$TMPCPP $@
-lstdc++
71 int main(void) { return 0; }
73 compile_check
$TMPC $@
79 int main(void) { return 0; }
82 compile_check
$TMPC $@
88 int main(void) { return $2; }
91 compile_check
$TMPC $@
97 int main(void) { $2; return 0; }
101 compile_check
$TMPC $@
104 define_statement_check
() {
108 int main(void) { $3; return 0; }
111 compile_check
$TMPC $@
114 return_statement_check
() {
117 int main(void) { $2; return $3; }
120 compile_check
$TMPC $@
125 int main(void) { __asm__ volatile ($1); return 0; }
128 compile_check
$TMPC $@
131 # The following checks are special and should only be used with broken and
132 # non-selfsufficient headers that do not include all of their dependencies.
134 header_check_broken
() {
138 int main(void) { return 0; }
142 compile_check
$TMPC $@
145 statement_check_broken
() {
149 int main(void) { $3; return 0; }
152 compile_check
$TMPC $@
157 cat "$TMPS" >> "$TMPLOG"
159 echo "$_yasm $YASMFLAGS -o $TMPEXE $TMPS $@" >> "$TMPLOG"
161 $_yasm $YASMFLAGS -o "$TMPEXE" "$TMPS" "$@" >> "$TMPLOG" 2>&1
169 unset IFS
# shell should not be used for programming
171 echo "$_pkg_config --cflags $@" >> "$TMPLOG"
172 ctmp
=$
($_pkg_config --cflags "$@" 2>> "$TMPLOG") ||
return $?
174 echo "$_pkg_config --libs $@" >> "$TMPLOG"
175 ltmp
=$
($_pkg_config --libs "$@" 2>> "$TMPLOG") ||
return $?
177 echo "cflags: $ctmp" >> "$TMPLOG"
178 echo "libs: $ltmp" >> "$TMPLOG"
180 extra_cflags
="$extra_cflags $ctmp"
181 extra_ldflags
="$extra_ldflags $ltmp"
185 "$TMPEXE" >> "$TMPLOG" 2>&1
188 # Display error message, flushes tempfile, exit
193 rm -f "$TMPEXE" "$TMPC" "$TMPS" "$TMPCPP"
194 echo "Check \"$TMPLOG\" if you do not understand why it failed."
198 # OS test booleans functions
200 test "$(echo $system_name | tr A-Z a-z)" = "$(echo $1 | tr A-Z a-z)"
202 aix
() { issystem
"AIX"; }
203 amigaos
() { issystem
"AmigaOS"; }
204 beos
() { issystem
"BEOS"; }
205 bsdos
() { issystem
"BSD/OS"; }
206 cygwin
() { issystem
"CYGWIN"; }
207 darwin
() { issystem
"Darwin"; }
208 dragonfly
() { issystem
"DragonFly"; }
209 freebsd
() { issystem
"FreeBSD" || issystem
"GNU/kFreeBSD"; }
210 gnu
() { issystem
"GNU"; }
211 hpux
() { issystem
"HP-UX"; }
212 irix
() { issystem
"IRIX"; }
213 linux
() { issystem
"Linux"; }
214 mingw32
() { issystem
"MINGW32"; }
215 morphos
() { issystem
"MorphOS"; }
216 netbsd
() { issystem
"NetBSD"; }
217 openbsd
() { issystem
"OpenBSD"; }
218 qnx
() { issystem
"QNX"; }
219 sunos
() { issystem
"SunOS"; }
220 win32
() { cygwin || mingw32
; }
222 # arch test boolean functions
223 # x86/x86pc is used by QNX
226 i
[3-9]86|x86|x86pc|k5|k6|k6-2|k6-3|pentium
*|athlon
*|i586-i686
) return 0 ;;
233 x86_64|amd64
) return 0 ;;
244 ppc|ppc64|powerpc|powerpc64
) return 0;;
263 # Use this before starting a check
265 echo "============ Checking for $@ ============" >> "$TMPLOG"
266 echo ${_echo_n} "Checking for $@ ... ${_echo_c}"
269 # Use this to echo the results of a check
271 if test "$res_comment" ; then
272 res_comment
="($res_comment)"
274 echo "Result is: $@ $res_comment" >> "$TMPLOG"
275 echo "##########################################" >> "$TMPLOG"
277 echo "$@ $res_comment"
280 #############################################################################
282 # Check how echo works in this /bin/sh
284 -n) _echo_n
= _echo_c
='\c' ;; # SysV echo
285 *) _echo_n
='-n ' _echo_c
= ;; # BSD echo
289 ls po
/*.po
>/dev
/null
2>&1 && msg_lang_all
=$
(echo po
/*.po |
sed -e 's:po/\([^[:space:]]*\)\.po:\1:g')
290 man_lang_all
=$
(echo DOCS
/man
/??
/mplayer
.1 DOCS
/man
/??_??
/mplayer
.1 |
sed -e "s:DOCS/man/\(..\)/mplayer.1:\1:g" -e "s:DOCS/man/\(.._..\)/mplayer.1:\1:g")
291 doc_lang_all
=$
(echo DOCS
/xml
/??
/ DOCS
/xml
/??_??
/ |
sed -e "s:DOCS/xml/\(..\)/:\1:g" -e "s:DOCS/xml/\(.._..\)/:\1:g")
295 Usage: $0 [OPTIONS]...
298 -h, --help display this help and exit
300 Installation directories:
301 --prefix=DIR prefix directory for installation [/usr/local]
302 --bindir=DIR directory for installing binaries [PREFIX/bin]
303 --datadir=DIR directory for installing machine independent
304 data files (skins, etc) [PREFIX/share/mplayer]
305 --mandir=DIR directory for installing man pages [PREFIX/share/man]
306 --confdir=DIR directory for installing configuration files
308 --localedir=DIR directory for locale tree [PREFIX/share/locale]
309 --libdir=DIR directory for object code libraries [PREFIX/lib]
310 --codecsdir=DIR directory for binary codecs [LIBDIR/codecs]
313 --disable-mplayer disable MPlayer compilation [enable]
314 --enable-termcap use termcap database for key codes [autodetect]
315 --enable-termios use termios database for key codes [autodetect]
316 --disable-iconv disable iconv for encoding conversion [autodetect]
317 --disable-langinfo do not use langinfo [autodetect]
318 --enable-lirc enable LIRC (remote control) support [autodetect]
319 --enable-lircc enable LIRCCD (LIRC client daemon) input [autodetect]
320 --enable-joystick enable joystick support [disable]
321 --enable-apple-remote enable Apple Remote input (Mac OS X only) [autodetect]
322 --enable-apple-ir enable Apple IR Remote input (Linux only) [autodetect]
323 --disable-vm disable X video mode extensions [autodetect]
324 --disable-xf86keysym disable support for multimedia keys [autodetect]
325 --enable-radio enable radio interface [disable]
326 --enable-radio-capture enable radio capture (through PCI/line-in) [disable]
327 --disable-radio-v4l2 disable Video4Linux2 radio interface [autodetect]
328 --disable-radio-bsdbt848 disable BSD BT848 radio interface [autodetect]
329 --disable-tv disable TV interface (TV/DVB grabbers) [enable]
330 --disable-tv-v4l1 disable Video4Linux TV interface [autodetect]
331 --disable-tv-v4l2 disable Video4Linux2 TV interface [autodetect]
332 --disable-tv-bsdbt848 disable BSD BT848 interface [autodetect]
333 --disable-pvr disable Video4Linux2 MPEG PVR [autodetect]
334 --disable-rtc disable RTC (/dev/rtc) on Linux [autodetect]
335 --disable-networking disable networking [enable]
336 --enable-winsock2_h enable winsock2_h [autodetect]
337 --enable-smb enable Samba (SMB) input [autodetect]
338 --enable-live enable LIVE555 Streaming Media [disable]
339 --enable-nemesi enable Nemesi Streaming Media [autodetect]
340 --disable-vcd disable VCD support [autodetect]
341 --disable-bluray disable Blu-ray support [autodetect]
342 --disable-dvdnav disable libdvdnav [autodetect]
343 --disable-dvdread disable libdvdread [autodetect]
344 --disable-dvdread-internal disable internal libdvdread [autodetect]
345 --disable-libdvdcss-internal disable internal libdvdcss [autodetect]
346 --disable-cdparanoia disable cdparanoia [autodetect]
347 --disable-cddb disable cddb [autodetect]
348 --disable-bitmap-font disable bitmap font support [enable]
349 --disable-freetype disable FreeType 2 font rendering [autodetect]
350 --disable-fontconfig disable fontconfig font lookup [autodetect]
351 --disable-unrarexec disable using of UnRAR executable [enabled]
352 --disable-sortsub disable subtitle sorting [enabled]
353 --enable-fribidi enable the FriBiDi libs [autodetect]
354 --disable-enca disable ENCA charset oracle library [autodetect]
355 --enable-macosx-finder enable Mac OS X Finder invocation parameter
357 --enable-macosx-bundle enable Mac OS X bundle file locations [autodetect]
358 --disable-inet6 disable IPv6 support [autodetect]
359 --disable-gethostbyname2 gethostbyname2 part of the C library [autodetect]
360 --disable-ftp disable FTP support [enabled]
361 --disable-vstream disable TiVo vstream client support [autodetect]
362 --disable-pthreads disable Posix threads support [autodetect]
363 --disable-w32threads disable Win32 threads support [autodetect]
364 --disable-libass disable subtitle rendering with libass [autodetect]
365 --enable-rpath enable runtime linker path for extra libs [disabled]
366 --disable-libpostproc disable postprocess filter (vf_pp) [autodetect]
369 --enable-gif enable GIF support [autodetect]
370 --enable-png enable PNG input/output support [autodetect]
371 --enable-mng enable MNG input support [autodetect]
372 --enable-jpeg enable JPEG input/output support [autodetect]
373 --enable-libcdio enable libcdio support [autodetect]
374 --disable-win32dll disable Win32 DLL support [autodetect]
375 --disable-qtx disable QuickTime codecs support [enabled]
376 --disable-xanim disable XAnim codecs support [enabled]
377 --disable-real disable RealPlayer codecs support [enabled]
378 --disable-xvid disable Xvid [autodetect]
379 --disable-libnut disable libnut [autodetect]
380 --enable-libav skip Libav autodetection [autodetect]
381 --disable-libvorbis disable libvorbis support [autodetect]
382 --disable-tremor disable Tremor [autodetect if no libvorbis]
383 --disable-speex disable Speex support [autodetect]
384 --enable-theora enable OggTheora libraries [autodetect]
385 --enable-faad enable FAAD2 (AAC) [autodetect]
386 --disable-ladspa disable LADSPA plugin support [autodetect]
387 --disable-libbs2b disable libbs2b audio filter support [autodetect]
388 --disable-libdv disable libdv 0.9.5 en/decoding support [autodetect]
389 --disable-mpg123 disable libmpg123 MP3 decoding support [autodetect]
390 --disable-mad disable libmad (MPEG audio) support [autodetect]
391 --enable-xmms enable XMMS input plugin support [disabled]
392 --enable-libdca enable libdca support [autodetect]
393 --disable-liba52 disable liba52 [autodetect]
394 --enable-musepack enable libmpcdec support (deprecated, libavcodec
395 Musepack decoder is preferred) [disabled]
398 --enable-gl enable OpenGL video output [autodetect]
399 --enable-dga2 enable DGA 2 support [autodetect]
400 --enable-dga1 enable DGA 1 support [autodetect]
401 --enable-vesa enable VESA video output [autodetect]
402 --enable-svga enable SVGAlib video output [autodetect]
403 --enable-sdl enable SDL video output [autodetect]
404 --enable-aa enable AAlib video output [autodetect]
405 --enable-caca enable CACA video output [autodetect]
406 --enable-ggi enable GGI video output [autodetect]
407 --enable-ggiwmh enable GGI libggiwmh extension [autodetect]
408 --enable-direct3d enable Direct3D video output [autodetect]
409 --enable-directx enable DirectX video output [autodetect]
410 --enable-dxr3 enable DXR3/H+ video output [autodetect]
411 --enable-ivtv enable IVTV TV-Out video output [autodetect]
412 --enable-v4l2 enable V4L2 Decoder audio/video output [autodetect]
413 --enable-dvb enable DVB video output [autodetect]
414 --enable-mga enable mga_vid video output [autodetect]
415 --enable-xmga enable mga_vid X11 video output [autodetect]
416 --enable-xv enable Xv video output [autodetect]
417 --enable-vdpau enable VDPAU acceleration [autodetect]
418 --enable-vm enable XF86VidMode support [autodetect]
419 --enable-xinerama enable Xinerama support [autodetect]
420 --enable-x11 enable X11 video output [autodetect]
421 --enable-xshape enable XShape support [autodetect]
422 --disable-xss disable screensaver support via xss [autodetect]
423 --enable-fbdev enable FBDev video output [autodetect]
424 --enable-3dfx enable obsolete /dev/3dfx video output [disable]
425 --enable-tdfxfb enable tdfxfb video output [disable]
426 --enable-s3fb enable s3fb (S3 ViRGE) video output [disable]
427 --enable-wii enable Nintendo Wii/GameCube video output [disable]
428 --enable-directfb enable DirectFB video output [autodetect]
429 --enable-bl enable Blinkenlights video output [disable]
430 --enable-tdfxvid enable tdfx_vid video output [disable]
431 --enable-xvr100 enable SUN XVR-100 video output [autodetect]
432 --disable-tga disable Targa video output [enable]
433 --disable-pnm disable PNM video output [enable]
434 --disable-md5sum disable md5sum video output [enable]
435 --disable-yuv4mpeg disable yuv4mpeg video output [enable]
436 --disable-corevideo disable CoreVideo video output [autodetect]
437 --disable-cocoa disable Cocoa OpenGL backend [autodetect]
440 --disable-alsa disable ALSA audio output [autodetect]
441 --disable-ossaudio disable OSS audio output [autodetect]
442 --disable-arts disable aRts audio output [autodetect]
443 --disable-esd disable esd audio output [autodetect]
444 --disable-rsound disable RSound audio output [autodetect]
445 --disable-pulse disable Pulseaudio audio output [autodetect]
446 --disable-jack disable JACK audio output [autodetect]
447 --enable-openal enable OpenAL audio output [disable]
448 --disable-nas disable NAS audio output [autodetect]
449 --disable-sgiaudio disable SGI audio output [autodetect]
450 --disable-sunaudio disable Sun audio output [autodetect]
451 --disable-win32waveout disable Windows waveout audio output [autodetect]
452 --disable-coreaudio disable CoreAudio audio output [autodetect]
453 --disable-select disable using select() on the audio device [enable]
456 --enable-translation enable support for translated output [disable]
457 --charset=charset convert the console messages to this character set
458 --language-doc=lang language to use for the documentation [en]
459 --language-man=lang language to use for the man pages [en]
460 --language-msg=lang extra languages for program messages [all]
461 --language=lang default language to use [en]
462 Specific options override --language. You can pass a list of languages separated
463 by whitespace or commas instead of a single language. Nonexisting translations
464 will be dropped from each list. All translations available in the list will be
465 installed. The value "all" will activate all translations. The LINGUAS
466 environment variable is honored. In all cases the fallback is English.
467 The program always supports English-language output; additional message
468 languages are only installed if --enable-translation is also specified.
469 Available values for --language-doc are: all $doc_lang_all
470 Available values for --language-man are: all $man_lang_all
471 Available values for --language-msg are: all $msg_lang_all
473 Miscellaneous options:
474 --enable-runtime-cpudetection enable runtime CPU detection [disable]
475 --enable-cross-compile enable cross-compilation [disable]
476 --cc=COMPILER C compiler to build MPlayer [gcc]
477 --host-cc=COMPILER C compiler for tools needed while building [gcc]
478 --as=ASSEMBLER assembler to build MPlayer [as]
479 --nm=NM nm tool to build MPlayer [nm]
480 --yasm=YASM Yasm assembler to build MPlayer [yasm]
481 --ar=AR librarian to build MPlayer [ar]
482 --pkg-config=PKGCONFIG pkg-config to find some libraries [pkg-config]
483 --ranlib=RANLIB ranlib to build MPlayer [ranlib]
484 --windres=WINDRES windres to build MPlayer [windres]
485 --target=PLATFORM target platform (i386-linux, arm-linux, etc)
486 --enable-static build a statically linked binary
487 --with-install=PATH path to a custom install program
490 --enable-mmx enable MMX [autodetect]
491 --enable-mmxext enable MMX2 (Pentium III, Athlon) [autodetect]
492 --enable-3dnow enable 3DNow! [autodetect]
493 --enable-3dnowext enable extended 3DNow! [autodetect]
494 --enable-sse enable SSE [autodetect]
495 --enable-sse2 enable SSE2 [autodetect]
496 --enable-ssse3 enable SSSE3 [autodetect]
497 --enable-shm enable shm [autodetect]
498 --enable-altivec enable AltiVec (PowerPC) [autodetect]
499 --enable-armv5te enable DSP extensions (ARM) [autodetect]
500 --enable-armv6 enable ARMv6 (ARM) [autodetect]
501 --enable-armv6t2 enable ARMv6t2 (ARM) [autodetect]
502 --enable-armvfp enable ARM VFP (ARM) [autodetect]
503 --enable-neon enable NEON (ARM) [autodetect]
504 --enable-iwmmxt enable iWMMXt (ARM) [autodetect]
505 --disable-fastmemcpy disable 3DNow!/SSE/MMX optimized memcpy [enable]
506 --enable-big-endian force byte order to big-endian [autodetect]
507 --enable-debug[=1-3] compile-in debugging information [disable]
508 --enable-profile compile-in profiling information [disable]
509 --disable-sighandler disable sighandler for crashes [enable]
510 --enable-crash-debug enable automatic gdb attach on crash [disable]
512 Use these options if autodetection fails:
513 --extra-cflags=FLAGS extra CFLAGS
514 --extra-ldflags=FLAGS extra LDFLAGS
515 --extra-libs=FLAGS extra linker flags
516 --extra-libs-mplayer=FLAGS extra linker flags for MPlayer
518 --with-sdl-config=PATH path to sdl*-config
519 --with-dvdnav-config=PATH path to dvdnav-config
520 --with-dvdread-config=PATH path to dvdread-config
522 This configure script is NOT autoconf-based, even though its output is similar.
523 It will try to autodetect all configuration options. If you --enable an option
524 it will be forcefully turned on, skipping autodetection. This can break
525 compilation, so you need to know what you are doing.
530 # GOTCHA: the variables below defines the default behavior for autodetection
531 # and have - unless stated otherwise - at least 2 states : yes no
532 # If autodetection is available then the third state is: auto
556 test "$CC" && _cc
="$CC"
560 _runtime_cpudetection
=no
623 _dvdnavconfig
=dvdnav-config
624 _dvdreadconfig
=dvdread-config
626 _dvdread_internal
=auto
627 _libdvdcss_internal
=auto
713 def_dos_paths
="#define HAVE_DOS_PATHS 0"
714 def_stream_cache
="#define CONFIG_STREAM_CACHE 1"
715 def_priority
="#undef CONFIG_PRIORITY"
716 def_pthread_cache
="#undef PTHREAD_CACHE"
724 _prefix
=$
(echo $ac_option | cut
-d '=' -f 2)
727 _bindir
=$
(echo $ac_option | cut
-d '=' -f 2)
730 _datadir
=$
(echo $ac_option | cut
-d '=' -f 2)
733 _mandir
=$
(echo $ac_option | cut
-d '=' -f 2)
736 _confdir
=$
(echo $ac_option | cut
-d '=' -f 2)
739 _libdir
=$
(echo $ac_option | cut
-d '=' -f 2)
742 _codecsdir
=$
(echo $ac_option | cut
-d '=' -f 2)
745 _localedir
=$
(echo $ac_option | cut
-d '=' -f 2)
749 _install
=$
(echo $ac_option | cut
-d '=' -f 2 )
753 _sdlconfig
=$
(echo $ac_option | cut
-d '=' -f 2)
755 --with-dvdnav-config=*)
756 _dvdnavconfig
=$
(echo $ac_option | cut
-d '=' -f 2)
758 --with-dvdread-config=*)
759 _dvdreadconfig
=$
(echo $ac_option | cut
-d '=' -f 2)
763 extra_cflags
="$extra_cflags $(echo $ac_option | cut -d '=' -f 2-)"
766 extra_ldflags
="$extra_ldflags $(echo $ac_option | cut -d '=' -f 2-)"
769 extra_libs
=$
(echo $ac_option | cut
-d '=' -f 2)
771 --extra-libs-mplayer=*)
772 libs_mplayer
=$
(echo $ac_option | cut
-d '=' -f 2)
776 _target
=$
(echo $ac_option | cut
-d '=' -f 2)
779 _cc
=$
(echo $ac_option | cut
-d '=' -f 2)
782 _host_cc
=$
(echo $ac_option | cut
-d '=' -f 2)
785 _as
=$
(echo $ac_option | cut
-d '=' -f 2)
788 _nm
=$
(echo $ac_option | cut
-d '=' -f 2)
791 _yasm
=$
(echo $ac_option | cut
-d '=' -f 2)
794 _ar
=$
(echo $ac_option | cut
-d '=' -f 2)
797 _pkg_config
=$
(echo $ac_option | cut
-d '=' -f 2)
800 _ranlib
=$
(echo $ac_option | cut
-d '=' -f 2)
803 _windres
=$
(echo $ac_option | cut
-d '=' -f 2)
806 _charset
=$
(echo $ac_option | cut
-d '=' -f 2)
809 language_doc
=$
(echo $ac_option | cut
-d '=' -f 2)
812 language_man
=$
(echo $ac_option | cut
-d '=' -f 2)
815 language_msg
=$
(echo $ac_option | cut
-d '=' -f 2)
818 language
=$
(echo $ac_option | cut
-d '=' -f 2)
837 _debug
=$
(echo $_echo_n '-g'$_echo_c; echo $ac_option | cut
-d '=' -f 2)
842 --enable-translation) _translation
=yes ;;
843 --disable-translation) _translation
=no
;;
844 --enable-runtime-cpudetection) _runtime_cpudetection
=yes ;;
845 --disable-runtime-cpudetection) _runtime_cpudetection
=no
;;
846 --enable-cross-compile) _cross_compile
=yes ;;
847 --disable-cross-compile) _cross_compile
=no
;;
848 --enable-mplayer) _mplayer
=yes ;;
849 --disable-mplayer) _mplayer
=no
;;
850 --enable-x11) _x11
=yes ;;
851 --disable-x11) _x11
=no
;;
852 --enable-xshape) _xshape
=yes ;;
853 --disable-xshape) _xshape
=no
;;
854 --enable-xss) _xss
=yes ;;
855 --disable-xss) _xss
=no
;;
856 --enable-xv) _xv
=yes ;;
857 --disable-xv) _xv
=no
;;
858 --enable-vdpau) _vdpau
=yes ;;
859 --disable-vdpau) _vdpau
=no
;;
860 --enable-sdl) _sdl
=yes ;;
861 --disable-sdl) _sdl
=no
;;
862 --enable-direct3d) _direct3d
=yes ;;
863 --disable-direct3d) _direct3d
=no
;;
864 --enable-directx) _directx
=yes ;;
865 --disable-directx) _directx
=no
;;
866 --enable-win32waveout) _win32waveout
=yes ;;
867 --disable-win32waveout) _win32waveout
=no
;;
868 --enable-nas) _nas
=yes ;;
869 --disable-nas) _nas
=no
;;
870 --enable-png) _png
=yes ;;
871 --disable-png) _png
=no
;;
872 --enable-mng) _mng
=yes ;;
873 --disable-mng) _mng
=no
;;
874 --enable-jpeg) _jpeg
=yes ;;
875 --disable-jpeg) _jpeg
=no
;;
876 --enable-pnm) _pnm
=yes ;;
877 --disable-pnm) _pnm
=no
;;
878 --enable-md5sum) _md5sum
=yes ;;
879 --disable-md5sum) _md5sum
=no
;;
880 --enable-yuv4mpeg) _yuv4mpeg
=yes ;;
881 --disable-yuv4mpeg) _yuv4mpeg
=no
;;
882 --enable-gif) _gif
=yes ;;
883 --disable-gif) _gif
=no
;;
884 --enable-gl) _gl
=yes ;;
885 --disable-gl) _gl
=no
;;
886 --enable-ggi) _ggi
=yes ;;
887 --disable-ggi) _ggi
=no
;;
888 --enable-ggiwmh) _ggiwmh
=yes ;;
889 --disable-ggiwmh) _ggiwmh
=no
;;
890 --enable-aa) _aa
=yes ;;
891 --disable-aa) _aa
=no
;;
892 --enable-caca) _caca
=yes ;;
893 --disable-caca) _caca
=no
;;
894 --enable-svga) _svga
=yes ;;
895 --disable-svga) _svga
=no
;;
896 --enable-vesa) _vesa
=yes ;;
897 --disable-vesa) _vesa
=no
;;
898 --enable-fbdev) _fbdev
=yes ;;
899 --disable-fbdev) _fbdev
=no
;;
900 --enable-dvb) _dvb
=yes ;;
901 --disable-dvb) _dvb
=no
;;
902 --enable-dxr3) _dxr3
=yes ;;
903 --disable-dxr3) _dxr3
=no
;;
904 --enable-ivtv) _ivtv
=yes ;;
905 --disable-ivtv) _ivtv
=no
;;
906 --enable-v4l2) _v4l2
=yes ;;
907 --disable-v4l2) _v4l2
=no
;;
908 --enable-iconv) _iconv
=yes ;;
909 --disable-iconv) _iconv
=no
;;
910 --enable-langinfo) _langinfo
=yes ;;
911 --disable-langinfo) _langinfo
=no
;;
912 --enable-rtc) _rtc
=yes ;;
913 --disable-rtc) _rtc
=no
;;
914 --enable-libdv) _libdv
=yes ;;
915 --disable-libdv) _libdv
=no
;;
916 --enable-ossaudio) _ossaudio
=yes ;;
917 --disable-ossaudio) _ossaudio
=no
;;
918 --enable-arts) _arts
=yes ;;
919 --disable-arts) _arts
=no
;;
920 --enable-esd) _esd
=yes ;;
921 --disable-esd) _esd
=no
;;
922 --enable-rsound) _rsound
=yes ;;
923 --disable-rsound) _rsound
=no
;;
924 --enable-pulse) _pulse
=yes ;;
925 --disable-pulse) _pulse
=no
;;
926 --enable-jack) _jack
=yes ;;
927 --disable-jack) _jack
=no
;;
928 --enable-openal) _openal
=yes ;;
929 --disable-openal) _openal
=no
;;
930 --enable-mad) _mad
=yes ;;
931 --disable-mad) _mad
=no
;;
932 --enable-libcdio) _libcdio
=yes ;;
933 --disable-libcdio) _libcdio
=no
;;
934 --enable-libvorbis) _libvorbis
=yes ;;
935 --disable-libvorbis) _libvorbis
=no
;;
936 --enable-speex) _speex
=yes ;;
937 --disable-speex) _speex
=no
;;
938 --enable-tremor) _tremor
=yes ;;
939 --disable-tremor) _tremor
=no
;;
940 --enable-theora) _theora
=yes ;;
941 --disable-theora) _theora
=no
;;
942 --enable-mpg123) _mpg123
=yes ;;
943 --disable-mpg123) _mpg123
=no
;;
944 --enable-liba52) _liba52
=yes ;;
945 --disable-liba52) _liba52
=no
;;
946 --enable-libdca) _libdca
=yes ;;
947 --disable-libdca) _libdca
=no
;;
948 --enable-musepack) _musepack
=yes ;;
949 --disable-musepack) _musepack
=no
;;
950 --enable-faad) _faad
=yes ;;
951 --disable-faad) _faad
=no
;;
952 --enable-ladspa) _ladspa
=yes ;;
953 --disable-ladspa) _ladspa
=no
;;
954 --enable-libbs2b) _libbs2b
=yes ;;
955 --disable-libbs2b) _libbs2b
=no
;;
956 --enable-xmms) _xmms
=yes ;;
957 --disable-xmms) _xmms
=no
;;
958 --enable-vcd) _vcd
=yes ;;
959 --disable-vcd) _vcd
=no
;;
960 --enable-bluray) _bluray
=yes ;;
961 --disable-bluray) _bluray
=no
;;
962 --enable-dvdread) _dvdread
=yes ;;
963 --disable-dvdread) _dvdread
=no
;;
964 --enable-dvdread-internal) _dvdread_internal
=yes ;;
965 --disable-dvdread-internal) _dvdread_internal
=no
;;
966 --enable-libdvdcss-internal) _libdvdcss_internal
=yes ;;
967 --disable-libdvdcss-internal) _libdvdcss_internal
=no
;;
968 --enable-dvdnav) _dvdnav
=yes ;;
969 --disable-dvdnav) _dvdnav
=no
;;
970 --enable-xanim) _xanim
=yes ;;
971 --disable-xanim) _xanim
=no
;;
972 --enable-real) _real
=yes ;;
973 --disable-real) _real
=no
;;
974 --enable-live) _live
=yes ;;
975 --disable-live) _live
=no
;;
976 --enable-nemesi) _nemesi
=yes ;;
977 --disable-nemesi) _nemesi
=no
;;
978 --enable-xinerama) _xinerama
=yes ;;
979 --disable-xinerama) _xinerama
=no
;;
980 --enable-mga) _mga
=yes ;;
981 --disable-mga) _mga
=no
;;
982 --enable-xmga) _xmga
=yes ;;
983 --disable-xmga) _xmga
=no
;;
984 --enable-vm) _vm
=yes ;;
985 --disable-vm) _vm
=no
;;
986 --enable-xf86keysym) _xf86keysym
=yes ;;
987 --disable-xf86keysym) _xf86keysym
=no
;;
988 --enable-sunaudio) _sunaudio
=yes ;;
989 --disable-sunaudio) _sunaudio
=no
;;
990 --enable-sgiaudio) _sgiaudio
=yes ;;
991 --disable-sgiaudio) _sgiaudio
=no
;;
992 --enable-alsa) _alsa
=yes ;;
993 --disable-alsa) _alsa
=no
;;
994 --enable-tv) _tv
=yes ;;
995 --disable-tv) _tv
=no
;;
996 --enable-tv-bsdbt848) _tv_bsdbt848
=yes ;;
997 --disable-tv-bsdbt848) _tv_bsdbt848
=no
;;
998 --enable-tv-v4l1) _tv_v4l1
=yes ;;
999 --disable-tv-v4l1) _tv_v4l1
=no
;;
1000 --enable-tv-v4l2) _tv_v4l2
=yes ;;
1001 --disable-tv-v4l2) _tv_v4l2
=no
;;
1002 --enable-tv-dshow) _tv_dshow
=yes ;;
1003 --disable-tv-dshow) _tv_dshow
=no
;;
1004 --enable-radio) _radio
=yes ;;
1005 --enable-radio-capture) _radio_capture
=yes ;;
1006 --disable-radio-capture) _radio_capture
=no
;;
1007 --disable-radio) _radio
=no
;;
1008 --enable-radio-v4l) _radio_v4l
=yes ;;
1009 --disable-radio-v4l) _radio_v4l
=no
;;
1010 --enable-radio-v4l2) _radio_v4l2
=yes ;;
1011 --disable-radio-v4l2) _radio_v4l2
=no
;;
1012 --enable-radio-bsdbt848) _radio_bsdbt848
=yes ;;
1013 --disable-radio-bsdbt848) _radio_bsdbt848
=no
;;
1014 --enable-pvr) _pvr
=yes ;;
1015 --disable-pvr) _pvr
=no
;;
1016 --enable-fastmemcpy) _fastmemcpy
=yes ;;
1017 --disable-fastmemcpy) _fastmemcpy
=no
;;
1018 --enable-networking) networking
=yes ;;
1019 --disable-networking) networking
=no
;;
1020 --enable-winsock2_h) _winsock2_h
=yes ;;
1021 --disable-winsock2_h) _winsock2_h
=no
;;
1022 --enable-smb) _smb
=yes ;;
1023 --disable-smb) _smb
=no
;;
1024 --enable-joystick) _joystick
=yes ;;
1025 --disable-joystick) _joystick
=no
;;
1026 --enable-xvid) _xvid
=yes ;;
1027 --disable-xvid) _xvid
=no
;;
1028 --enable-libnut) _libnut
=yes ;;
1029 --disable-libnut) _libnut
=no
;;
1030 --enable-libav) ffmpeg
=yes ;;
1031 --ffmpeg-source-dir=*)
1032 _ffmpeg_source
=$
(echo $ac_option | cut
-d '=' -f 2 ) ;;
1034 --enable-lirc) _lirc
=yes ;;
1035 --disable-lirc) _lirc
=no
;;
1036 --enable-lircc) _lircc
=yes ;;
1037 --disable-lircc) _lircc
=no
;;
1038 --enable-apple-remote) _apple_remote
=yes ;;
1039 --disable-apple-remote) _apple_remote
=no
;;
1040 --enable-apple-ir) _apple_ir
=yes ;;
1041 --disable-apple-ir) _apple_ir
=no
;;
1042 --enable-termcap) _termcap
=yes ;;
1043 --disable-termcap) _termcap
=no
;;
1044 --enable-termios) _termios
=yes ;;
1045 --disable-termios) _termios
=no
;;
1046 --enable-3dfx) _3dfx
=yes ;;
1047 --disable-3dfx) _3dfx
=no
;;
1048 --enable-s3fb) _s3fb
=yes ;;
1049 --disable-s3fb) _s3fb
=no
;;
1050 --enable-wii) _wii
=yes ;;
1051 --disable-wii) _wii
=no
;;
1052 --enable-tdfxfb) _tdfxfb
=yes ;;
1053 --disable-tdfxfb) _tdfxfb
=no
;;
1054 --disable-tdfxvid) _tdfxvid
=no
;;
1055 --enable-tdfxvid) _tdfxvid
=yes ;;
1056 --disable-xvr100) _xvr100
=no
;;
1057 --enable-xvr100) _xvr100
=yes ;;
1058 --disable-tga) _tga
=no
;;
1059 --enable-tga) _tga
=yes ;;
1060 --enable-directfb) _directfb
=yes ;;
1061 --disable-directfb) _directfb
=no
;;
1062 --enable-bl) _bl
=yes ;;
1063 --disable-bl) _bl
=no
;;
1064 --enable-shm) _shm
=yes ;;
1065 --disable-shm) _shm
=no
;;
1066 --enable-select) _select
=yes ;;
1067 --disable-select) _select
=no
;;
1068 --enable-cdparanoia) _cdparanoia
=yes ;;
1069 --disable-cdparanoia) _cdparanoia
=no
;;
1070 --enable-cddb) _cddb
=yes ;;
1071 --disable-cddb) _cddb
=no
;;
1072 --enable-big-endian) _big_endian
=yes ;;
1073 --disable-big-endian) _big_endian
=no
;;
1074 --enable-bitmap-font) _bitmap_font
=yes ;;
1075 --disable-bitmap-font) _bitmap_font
=no
;;
1076 --enable-freetype) _freetype
=yes ;;
1077 --disable-freetype) _freetype
=no
;;
1078 --enable-fontconfig) _fontconfig
=yes ;;
1079 --disable-fontconfig) _fontconfig
=no
;;
1080 --enable-unrarexec) _unrar_exec
=yes ;;
1081 --disable-unrarexec) _unrar_exec
=no
;;
1082 --enable-ftp) _ftp
=yes ;;
1083 --disable-ftp) _ftp
=no
;;
1084 --enable-vstream) _vstream
=yes ;;
1085 --disable-vstream) _vstream
=no
;;
1086 --enable-pthreads) _pthreads
=yes ;;
1087 --disable-pthreads) _pthreads
=no
;;
1088 --enable-w32threads) _w32threads
=yes ;;
1089 --disable-w32threads) _w32threads
=no
;;
1090 --enable-libass) _ass
=yes ;;
1091 --disable-libass) _ass
=no
;;
1092 --enable-rpath) _rpath
=yes ;;
1093 --disable-rpath) _rpath
=no
;;
1094 --enable-libpostproc) libpostproc
=yes ;;
1095 --disable-libpostproc) libpostproc
=no
;;
1097 --enable-fribidi) _fribidi
=yes ;;
1098 --disable-fribidi) _fribidi
=no
;;
1100 --enable-enca) _enca
=yes ;;
1101 --disable-enca) _enca
=no
;;
1103 --enable-inet6) _inet6
=yes ;;
1104 --disable-inet6) _inet6
=no
;;
1106 --enable-gethostbyname2) _gethostbyname2
=yes ;;
1107 --disable-gethostbyname2) _gethostbyname2
=no
;;
1109 --enable-dga1) _dga1
=yes ;;
1110 --disable-dga1) _dga1
=no
;;
1111 --enable-dga2) _dga2
=yes ;;
1112 --disable-dga2) _dga2
=no
;;
1114 --enable-qtx) _qtx
=yes ;;
1115 --disable-qtx) _qtx
=no
;;
1117 --enable-coreaudio) _coreaudio
=yes ;;
1118 --disable-coreaudio) _coreaudio
=no
;;
1119 --enable-corevideo) _corevideo
=yes ;;
1120 --disable-corevideo) _corevideo
=no
;;
1121 --enable-cocoa) _cocoa
=yes ;;
1122 --disable-cocoa) _cocoa
=no
;;
1123 --enable-macosx-finder) _macosx_finder
=yes ;;
1124 --disable-macosx-finder) _macosx_finder
=no
;;
1125 --enable-macosx-bundle) _macosx_bundle
=yes ;;
1126 --disable-macosx-bundle) _macosx_bundle
=no
;;
1128 --enable-sortsub) _sortsub
=yes ;;
1129 --disable-sortsub) _sortsub
=no
;;
1131 --enable-crash-debug) _crash_debug
=yes ;;
1132 --disable-crash-debug) _crash_debug
=no
;;
1133 --enable-sighandler) _sighandler
=yes ;;
1134 --disable-sighandler) _sighandler
=no
;;
1135 --enable-win32dll) _win32dll
=yes ;;
1136 --disable-win32dll) _win32dll
=no
;;
1138 --enable-sse) _sse
=yes ;;
1139 --disable-sse) _sse
=no
;;
1140 --enable-sse2) _sse2
=yes ;;
1141 --disable-sse2) _sse2
=no
;;
1142 --enable-ssse3) _ssse3
=yes ;;
1143 --disable-ssse3) _ssse3
=no
;;
1144 --enable-mmxext) _mmxext
=yes ;;
1145 --disable-mmxext) _mmxext
=no
;;
1146 --enable-3dnow) _3dnow
=yes ;;
1147 --disable-3dnow) _3dnow
=no _3dnowext
=no
;;
1148 --enable-3dnowext) _3dnow
=yes _3dnowext
=yes ;;
1149 --disable-3dnowext) _3dnowext
=no
;;
1150 --enable-cmov) _cmov
=yes ;;
1151 --disable-cmov) _cmov
=no
;;
1152 --enable-fast-cmov) _fast_cmov
=yes ;;
1153 --disable-fast-cmov) _fast_cmov
=no
;;
1154 --enable-fast-clz) _fast_clz
=yes ;;
1155 --disable-fast-clz) _fast_clz
=no
;;
1156 --enable-altivec) _altivec
=yes ;;
1157 --disable-altivec) _altivec
=no
;;
1158 --enable-armv5te) _armv5te
=yes ;;
1159 --disable-armv5te) _armv5te
=no
;;
1160 --enable-armv6) _armv6
=yes ;;
1161 --disable-armv6) _armv6
=no
;;
1162 --enable-armv6t2) _armv6t2
=yes ;;
1163 --disable-armv6t2) _armv6t2
=no
;;
1164 --enable-armvfp) _armvfp
=yes ;;
1165 --disable-armvfp) _armvfp
=no
;;
1166 --enable-neon) neon
=yes ;;
1167 --disable-neon) neon
=no
;;
1168 --enable-iwmmxt) _iwmmxt
=yes ;;
1169 --disable-iwmmxt) _iwmmxt
=no
;;
1170 --enable-mmx) _mmx
=yes ;;
1171 --disable-mmx) # 3Dnow! and MMX2 require MMX
1172 _3dnow
=no _3dnowext
=no _mmx
=no _mmxext
=no
;;
1175 echo "Unknown parameter: $ac_option" >&2
1182 # Atmos: moved this here, to be correct, if --prefix is specified
1183 test -z "$_bindir" && _bindir
="$_prefix/bin"
1184 test -z "$_datadir" && _datadir
="$_prefix/share/mplayer"
1185 test -z "$_mandir" && _mandir
="$_prefix/share/man"
1186 test -z "$_confdir" && _confdir
="$_prefix/etc/mplayer"
1187 test -z "$_libdir" && _libdir
="$_prefix/lib"
1188 test -z "$_localedir" && _localedir
="$_prefix/share/locale"
1190 for tmpdir
in "$TMPDIR" "$TEMPDIR" "/tmp" ; do
1191 test "$tmpdir" && break
1194 mplayer_tmpdir
="$tmpdir/mplayer-configure-$RANDOM-$$"
1195 mkdir
$mplayer_tmpdir || die
"Unable to create tmpdir."
1200 echo Parameters configure was run with
: > "$TMPLOG"
1201 if test -n "$CFLAGS" ; then
1202 echo ${_echo_n} CFLAGS
="'$CFLAGS' ${_echo_c}" >> "$TMPLOG"
1204 if test -n "$PKG_CONFIG_PATH" ; then
1205 echo ${_echo_n} PKG_CONFIG_PATH
="'$PKG_CONFIG_PATH' ${_echo_c}" >> "$TMPLOG"
1207 echo .
/configure
$configuration >> "$TMPLOG"
1211 echocheck
"cross compilation"
1212 echores
$_cross_compile
1214 if test $_cross_compile = yes; then
1218 test "$_host_cc" || _host_cc
=cc
1223 if test $_cross_compile = yes ; then
1224 # Usually cross-compiler prefixes match with the target triplet
1225 test -n "$_target" && tool_prefix
="$_target"-
1228 test "$_ranlib" = auto
&& _ranlib
="$tool_prefix"ranlib
1229 test "$_windres" = auto
&& _windres
="$tool_prefix"windres
1230 test "$_ar" = auto
&& _ar
="$tool_prefix"ar
1231 test "$_yasm" = auto
&& _yasm
="$tool_prefix"yasm
1232 test "$_pkg_config" = auto
&& _pkg_config
="$tool_prefix"pkg-config
1234 if test "$_cc" = auto
; then
1235 if test -n "$tool_prefix" ; then
1236 _cc
="$tool_prefix"gcc
1242 # Determine our OS name and CPU architecture
1243 if test -z "$_target" ; then
1245 system_name
=$
(uname
-s 2>&1)
1246 case "$system_name" in
1247 Linux|FreeBSD|NetBSD|OpenBSD|DragonFly|BSD
/OS|Darwin|SunOS|QNX|GNU|BeOS|MorphOS|AIX|AmigaOS
)
1261 [cC
][yY
][gG
][wW
][iI
][nN
]*)
1271 system_name
="$system_name-UNKNOWN"
1276 # host's CPU/instruction set
1277 host_arch
=$
(uname
-p 2>&1)
1278 case "$host_arch" in
1279 i386|sparc|ppc|alpha|arm|mips|vax
)
1281 powerpc
) # Darwin returns 'powerpc'
1284 *) # uname -p on Linux returns 'unknown' for the processor type,
1285 # OpenBSD returns 'Intel Pentium/MMX ("Genuine Intel" 586-class)'
1287 # Maybe uname -m (machine hardware name) returns something we
1290 # x86/x86pc is used by QNX
1291 case "$(uname -m 2>&1)" in
1292 x86_64|amd64|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
;;
1293 ia64
) host_arch
=ia64
;;
1294 macppc|ppc
) host_arch
=ppc
;;
1295 ppc64
) host_arch
=ppc64
;;
1296 alpha
) host_arch
=alpha
;;
1297 sparc
) host_arch
=sparc
;;
1298 sparc64
) host_arch
=sparc64
;;
1299 parisc
*|hppa
*|
9000*) host_arch
=hppa
;;
1300 arm
*|zaurus|cats
) host_arch
=arm
;;
1301 sh3|sh4|sh4a
) host_arch
=sh
;;
1302 s390
) host_arch
=s390
;;
1303 s390x
) host_arch
=s390x
;;
1304 *mips
*) host_arch
=mips
;;
1305 vax
) host_arch
=vax
;;
1306 xtensa
*) host_arch
=xtensa
;;
1307 *) host_arch
=UNKNOWN
;;
1311 else # if test -z "$_target"
1313 system_name
=$
(echo $_target | cut
-d '-' -f $i)
1314 case "$(echo $system_name | tr A-Z a-z)" in
1315 linux
) system_name
=Linux
;;
1316 freebsd
) system_name
=FreeBSD
;;
1317 gnu
/kfreebsd
) system_name
=FreeBSD
;;
1318 netbsd
) system_name
=NetBSD
;;
1319 bsd
/os
) system_name
=BSD
/OS
;;
1320 openbsd
) system_name
=OpenBSD
;;
1321 dragonfly
) system_name
=DragonFly
;;
1322 sunos
) system_name
=SunOS
;;
1323 qnx
) system_name
=QNX
;;
1324 morphos
) system_name
=MorphOS
;;
1325 amigaos
) system_name
=AmigaOS
;;
1326 mingw32
*) system_name
=MINGW32
;;
1331 # We need to convert underscores so that values like k6-2 and pentium-mmx can be passed
1332 host_arch
=$
(echo $_target | cut
-d '-' -f 1)
1333 if test $
(echo $host_arch) != "x86_64" ; then
1334 host_arch
=$
(echo $host_arch |
tr '_' '-')
1338 extra_cflags
="-I. $extra_cflags"
1339 _timer
=timer-linux.c
1342 extra_ldflags
="$extra_ldflags -L/usr/local/lib"
1343 extra_cflags
="$extra_cflags -I/usr/local/include"
1346 if netbsd || dragonfly
; then
1347 extra_ldflags
="$extra_ldflags -L/usr/pkg/lib"
1348 extra_cflags
="$extra_cflags -I/usr/pkg/include"
1352 extra_cflags
="-mdynamic-no-pic $extra_cflags"
1353 if test "$(basename $_cc)" != "clang" ; then
1354 extra_cflags
="-falign-loops=16 -shared-libgcc $extra_cflags"
1356 _timer
=timer-darwin.c
1360 extra_ldflags
="$extra_ldflags -lC"
1371 extra_cflags
="$extra_cflags -fno-common"
1372 # -lwinmm is always needed for osdep/timer-win2.c
1373 extra_ldflags
="$extra_ldflags -lwinmm"
1377 def_dos_paths
="#define HAVE_DOS_PATHS 1"
1378 def_priority
="#define CONFIG_PRIORITY 1"
1384 extra_cflags
="$extra_cflags -D__USE_MINGW_ANSI_STDIO=1"
1391 def_stream_cache
="#undef CONFIG_STREAM_CACHE"
1392 extra_cflags
="-DNEWLIB -D__USE_INLINE__ $extra_cflags"
1396 extra_ldflags
="$extra_ldflags -lph"
1399 TMPC
="$mplayer_tmpdir/tmp.c"
1400 TMPCPP
="$mplayer_tmpdir/tmp.cpp"
1401 TMPEXE
="$mplayer_tmpdir/tmp$_exesuf"
1402 TMPH
="$mplayer_tmpdir/tmp.h"
1403 TMPS
="$mplayer_tmpdir/tmp.S"
1405 if test "$_runtime_cpudetection" = yes && ! x86
&& ! ppc
; then
1406 die
"Runtime CPU detection only works for x86, x86-64 and PPC!"
1410 # Checking CC version...
1411 # Intel C++ Compilers (no autoselect, use CC=/some/binary ./configure)
1412 if test "$(basename $_cc)" = "icc" ||
test "$(basename $_cc)" = "ecc"; then
1413 echocheck
"$_cc version"
1415 cc_name
=$
($_cc -V 2>&1 |
head -n 1 | cut
-d ',' -f 1)
1416 cc_version
=$
($_cc -V 2>&1 |
head -n 1 | cut
-d ',' -f 2 | cut
-d ' ' -f 3)
1417 _cc_major
=$
(echo $cc_version | cut
-d '.' -f 1)
1418 _cc_minor
=$
(echo $cc_version | cut
-d '.' -f 2)
1419 # TODO verify older icc/ecc compatibility
1422 cc_version
="v. ?.??, bad"
1426 cc_version
="$cc_version, ok"
1429 cc_version
="$cc_version, bad"
1433 echores
"$cc_version"
1435 for _cc
in "$_cc" gcc cc
; do
1436 cc_name_tmp
=$
($_cc -v 2>&1 |
tail -n 1 | cut
-d ' ' -f 1)
1437 if test "$cc_name_tmp" = "gcc"; then
1438 cc_name
=$cc_name_tmp
1439 echocheck
"$_cc version"
1441 cc_version
=$
($_cc -dumpversion 2>&1)
1447 _cc_major
=$
(echo $cc_version | cut
-d '.' -f 1)
1448 _cc_minor
=$
(echo $cc_version | cut
-d '.' -f 2)
1449 _cc_mini
=$
(echo $cc_version | cut
-d '.' -f 3)
1452 echores
"$cc_version"
1455 if $_cc -v 2>&1 |
grep -q "clang"; then
1456 echocheck
"$_cc version"
1458 cc_version
=$
($_cc -dumpversion 2>&1)
1459 res_comment
="experimental support only"
1460 echores
"clang $cc_version"
1463 cc_name_tmp
=$
($_cc -V 2>&1 |
head -n 1 | cut
-d ' ' -f 2,3)
1464 if test "$cc_name_tmp" = "Sun C"; then
1465 echocheck
"$_cc version"
1467 cc_version
=$
($_cc -V 2>&1 |
head -n 1 | cut
-d ' ' -f 4)
1468 res_comment
="experimental support only"
1469 echores
"Sun C $cc_version"
1474 test "$cc_fail" = yes && die
"unsupported compiler version"
1476 echocheck
"working compiler"
1477 cflag_check
"" || die
"Compiler is not functioning correctly. Check your installation and custom CFLAGS $CFLAGS ."
1480 if test -z "$_target" && x86
; then
1483 int test[(int)sizeof(char *)-7];
1487 cc_check
&& host_arch
=x86_64 || host_arch
=i386
1491 test "$_host_cc" || _host_cc
=$_cc
1494 echo "Detected operating system: $system_name"
1495 echo "Detected host architecture: $host_arch"
1499 # now that we know what compiler should be used for compilation, try to find
1500 # out which assembler is used by the $_cc compiler
1501 if test "$_as" = auto
; then
1502 _as
=$
($_cc -print-prog-name=as
)
1503 test -z "$_as" && _as
=as
1506 if test "$_nm" = auto
; then
1507 _nm
=$
($_cc -print-prog-name=nm
)
1508 test -z "$_nm" && _nm
=nm
1511 # XXX: this should be ok..
1514 if test "$_runtime_cpudetection" = no
; then
1516 # Cygwin has /proc/cpuinfo, but only supports Intel CPUs
1517 # FIXME: Remove the cygwin check once AMD CPUs are supported
1518 if test -r /proc
/cpuinfo
&& ! cygwin
; then
1519 # Linux with /proc mounted, extract CPU information from it
1520 _cpuinfo
="cat /proc/cpuinfo"
1521 elif test -r /compat
/linux
/proc
/cpuinfo
&& ! x86
; then
1522 # FreeBSD with Linux emulation /proc mounted,
1523 # extract CPU information from it
1524 # Don't use it on x86 though, it never reports 3Dnow
1525 _cpuinfo
="cat /compat/linux/proc/cpuinfo"
1526 elif darwin
&& ! x86
; then
1527 # use hostinfo on Darwin
1530 # use 'lsattr' on AIX
1531 _cpuinfo
="lsattr -E -l proc0 -a type"
1533 # all other OSes try to extract CPU information from a small helper
1534 # program cpuinfo instead
1535 $_cc -o cpuinfo
$_exesuf cpuinfo.c
1536 _cpuinfo
="./cpuinfo$_exesuf"
1540 # gather more CPU information
1541 pname
=$
($_cpuinfo |
grep 'model name' | cut
-d ':' -f 2 |
head -n 1)
1542 pvendor
=$
($_cpuinfo |
grep 'vendor_id' | cut
-d ':' -f 2 | cut
-d ' ' -f 2 |
head -n 1)
1543 pfamily
=$
($_cpuinfo |
grep 'cpu family' | cut
-d ':' -f 2 | cut
-d ' ' -f 2 |
head -n 1)
1544 pmodel
=$
($_cpuinfo |
grep -v 'model name' |
grep 'model' | cut
-d ':' -f 2 | cut
-d ' ' -f 2 |
head -n 1)
1545 pstepping
=$
($_cpuinfo |
grep 'stepping' | cut
-d ':' -f 2 | cut
-d ' ' -f 2 |
head -n 1)
1547 exts
=$
($_cpuinfo |
egrep 'features|flags' | cut
-d ':' -f 2 |
head -n 1)
1549 pparam
=$
(echo $exts |
sed -e s
/xmm
/sse
/ -e s
/kni
/sse
/)
1550 # SSE implies MMX2, but not all SSE processors report the mmxext CPU flag.
1551 pparam
=$
(echo $pparam |
sed -e 's/sse/sse mmxext/')
1553 for ext
in $pparam ; do
1554 eval test \"\
$_$ext\" = auto
2>/dev
/null
&& eval _
$ext=kernel_check
1557 echocheck
"CPU vendor"
1558 echores
"$pvendor ($pfamily:$pmodel:$pstepping)"
1560 echocheck
"CPU type"
1564 fi # test "$_runtime_cpudetection" = no
1566 if x86
&& test "$_runtime_cpudetection" = no
; then
1568 if test "$1" = kernel_check
; then
1569 echocheck
"kernel support of $2"
1573 static void catch(int sig) { exit(1); }
1575 signal(SIGILL, catch);
1576 __asm__ volatile ("$3":::"memory"); return 0;
1580 if cc_check
&& tmp_run
; then
1583 _optimizing
="$_optimizing $2"
1588 echo "It seems that your kernel does not correctly support $2."
1589 echo "To use $2 extensions in MPlayer, you have to upgrade/recompile your kernel!"
1596 extcheck
$_mmx "mmx" "emms"
1597 extcheck
$_mmxext "mmxext" "sfence"
1598 extcheck
$_3dnow "3dnow" "femms"
1599 extcheck
$_3dnowext "3dnowext" "pswapd %%mm0, %%mm0"
1600 extcheck
$_sse "sse" "xorps %%xmm0, %%xmm0" || _gcc3_ext
="$_gcc3_ext -mno-sse"
1601 extcheck
$_sse2 "sse2" "xorpd %%xmm0, %%xmm0" || _gcc3_ext
="$_gcc3_ext -mno-sse2"
1602 extcheck
$_ssse3 "ssse3" "pabsd %%xmm0, %%xmm0"
1603 extcheck
$_cmov "cmov" "cmovb %%eax, %%ebx"
1605 if test "$_gcc3_ext" != ""; then
1606 # if we had to disable sse/sse2 because the active kernel does not
1607 # support this instruction set extension, we also have to tell
1608 # gcc3 to not generate sse/sse2 instructions for normal C code
1609 cflag_check
$_march $_gcc3_ext && _march
="$_march $_gcc3_ext"
1615 def_fast_64bit
='#define HAVE_FAST_64BIT 0'
1616 def_fast_unaligned
='#define HAVE_FAST_UNALIGNED 0'
1617 arch_all
='X86 IA64 SPARC ARM AVR32 SH4 PPC ALPHA MIPS PA_RISC S390 S390X VAX BFIN XTENSA TOMI GENERIC'
1618 subarch_all
='X86_32 X86_64 PPC64'
1619 case "$host_arch" in
1620 i
[3-9]86|x86|x86pc|k5|k6|k6-2|k6-3|pentium
*|athlon
*|i586-i686
)
1623 def_fast_unaligned
='#define HAVE_FAST_UNALIGNED 1'
1628 if test "$_runtime_cpudetection" = no
; then
1632 3) proc
=i386 iproc
=386 ;;
1633 4) proc
=i486 iproc
=486 ;;
1634 5) iproc
=586 # LGB: models are: K5/SSA5 K5 K5 K5 ? ? K6 K6 K6-2 K6-3
1635 # K6 model 13 are the K6-2+ and K6-III+, only differing in cache size.
1636 if test "$pmodel" -eq 9 -o "$pmodel" -eq 13; then
1638 elif test "$pmodel" -eq 5 -o "$pmodel" -eq 10; then
1640 elif test "$pmodel" -ge 8; then
1642 elif test "$pmodel" -ge 6; then
1649 # It's a bit difficult to determine the correct type of Family 6
1650 # AMD CPUs just from their signature. Instead, we check directly
1651 # whether it supports SSE.
1652 if test "$_sse" = yes; then
1653 # gcc treats athlon-xp, athlon-4 and athlon-mp similarly.
1656 # Again, gcc treats athlon and athlon-tbird similarly.
1661 # k8 cpu-type only supported in gcc >= 3.4.0, but that will be
1662 # caught and remedied in the optimization tests below.
1666 *) proc
=amdfam10 iproc
=686
1667 test $_fast_clz = "auto" && _fast_clz
=yes
1673 3) proc
=i386 iproc
=386 ;;
1674 4) proc
=i486 iproc
=486 ;;
1676 if test "$pmodel" -eq 4 ||
test "$pmodel" -eq 8; then
1677 proc
=pentium-mmx
# 4 is desktop, 8 is mobile
1683 if test "$pmodel" -ge 15; then
1685 elif test "$pmodel" -eq 9 -o "$pmodel" -ge 13; then
1687 elif test "$pmodel" -ge 7; then
1689 elif test "$pmodel" -ge 3; then
1694 test $_fast_clz = "auto" && _fast_clz
=yes
1697 # A nocona in 32-bit mode has no more capabilities than a prescott.
1698 if test "$pmodel" -ge 3; then
1702 test $_fast_clz = "auto" && _fast_clz
=yes
1704 test $_fast_cmov = "auto" && _fast_cmov
=no
1706 *) proc
=prescott iproc
=686 ;;
1712 if test "$pmodel" -ge 8; then
1714 elif test "$pmodel" -ge 4; then
1721 if test "$pmodel" -ge 9; then
1728 *) proc
=i686 iproc
=i686
;;
1733 3) proc
=i386 iproc
=386 ;;
1734 4) proc
=i486 iproc
=486 ;;
1735 *) proc
=i586 iproc
=586 ;;
1739 proc
=i586 iproc
=586 ;;
1741 test $_fast_clz = "auto" && _fast_clz
=no
1742 fi # test "$_runtime_cpudetection" = no
1745 # check that gcc supports our CPU, if not, fall back to earlier ones
1746 # LGB: check -mcpu and -march swithing step by step with enabling
1747 # to fall back till 386.
1749 # gcc >= 3.4.0 doesn't support -mcpu, we have to use -mtune instead
1751 if [ "$cc_vendor" = "gnu" ] && ([ "$_cc_major" -gt 3 ] ||
( [ "$_cc_major" = 3 ] && [ "$_cc_minor" -ge 4 ])) ; then
1757 echocheck
"GCC & CPU optimization abilities"
1758 if test "$_runtime_cpudetection" = no
; then
1759 if test $cc_vendor != "intel" && test $cc_vendor != "clang" ; then
1760 cflag_check
-march=native
&& proc
=native
1762 if test "$proc" = "amdfam10"; then
1763 cflag_check
-march=$proc $cpuopt=$proc || proc
=k8
1765 if test "$proc" = "k8"; then
1766 cflag_check
-march=$proc $cpuopt=$proc || proc
=athlon-xp
1768 if test "$proc" = "athlon-xp"; then
1769 cflag_check
-march=$proc $cpuopt=$proc || proc
=athlon
1771 if test "$proc" = "k6-3" ||
test "$proc" = "k6-2"; then
1772 cflag_check
-march=$proc $cpuopt=$proc || proc
=k6
1774 if test "$proc" = "k6" ||
test "$proc" = "c3"; then
1775 if ! cflag_check
-march=$proc $cpuopt=$proc; then
1776 if cflag_check
-march=i586
$cpuopt=i686
; then
1783 if test "$proc" = "prescott" ; then
1784 cflag_check
-march=$proc $cpuopt=$proc || proc
=pentium4
1786 if test "$proc" = "core2" ; then
1787 cflag_check
-march=$proc $cpuopt=$proc || proc
=pentium-m
1789 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
1790 cflag_check
-march=$proc $cpuopt=$proc || proc
=i686
1792 if test "$proc" = "i686" ||
test "$proc" = "pentium-mmx" ||
test "$proc" = "winchip-c6" ||
test "$proc" = "winchip2"; then
1793 cflag_check
-march=$proc $cpuopt=$proc || proc
=i586
1795 if test "$proc" = "i586"; then
1796 cflag_check
-march=$proc $cpuopt=$proc || proc
=i486
1798 if test "$proc" = "i486" ; then
1799 cflag_check
-march=$proc $cpuopt=$proc || proc
=i386
1801 if test "$proc" = "i386" ; then
1802 cflag_check
-march=$proc $cpuopt=$proc || proc
=error
1804 if test "$proc" = "error" ; then
1805 echores
"CPU optimization disabled. CPU not recognized or your compiler is too old."
1809 elif test "$proc" = "i586-i686"; then
1810 _march
="-march=i586"
1811 _mcpu
="$cpuopt=i686"
1814 _march
="-march=$proc"
1815 _mcpu
="$cpuopt=$proc"
1818 else # if test "$_runtime_cpudetection" = no
1819 _mcpu
="$cpuopt=generic"
1820 # at least i486 required, for bswap instruction
1821 _march
="-march=i486"
1822 cflag_check
$_mcpu || _mcpu
="$cpuopt=i686"
1823 cflag_check
$_mcpu || _mcpu
=""
1824 cflag_check
$_march $_mcpu || _march
=""
1827 ## Gabucino : --target takes effect here (hopefully...) by overwriting
1828 ## autodetected mcpu/march parameters
1829 if test "$_target" ; then
1830 # TODO: it may be a good idea to check GCC and fall back in all cases
1831 if test "$host_arch" = "i586-i686"; then
1832 _march
="-march=i586"
1833 _mcpu
="$cpuopt=i686"
1835 _march
="-march=$host_arch"
1836 _mcpu
="$cpuopt=$host_arch"
1844 i586|k5|k6|k6-2|k6-3|pentium|pentium-mmx
) iproc
=586 ;;
1845 i686|athlon
*|pentium
*) iproc
=686 ;;
1850 if test $_cmov = "yes" && test $_fast_cmov = "auto" ; then
1855 test $_fast_clz = "auto" && _fast_clz
=yes
1862 def_fast_64bit
='#define HAVE_FAST_64BIT 1'
1869 def_fast_unaligned
='#define HAVE_FAST_UNALIGNED 1'
1870 def_fast_64bit
='#define HAVE_FAST_64BIT 1'
1873 # gcc >= 3.4.0 doesn't support -mcpu, we have to use -mtune instead
1874 if test "$cc_vendor" = "gnu" && test "$_cc_major" -gt 3 -o "$_cc_major" -eq 3 -a "$_cc_minor" -ge 4 ; then
1879 if test "$_runtime_cpudetection" = no
; then
1884 test $_fast_clz = "auto" && _fast_clz
=no
1893 # 64-bit prescotts exist, but as far as GCC is concerned they
1894 # have the same capabilities as a nocona.
1896 test $_fast_cmov = "auto" && _fast_cmov
=no
1897 test $_fast_clz = "auto" && _fast_clz
=no
1904 fi # test "$_runtime_cpudetection" = no
1906 echocheck
"GCC & CPU optimization abilities"
1907 # This is a stripped-down version of the i386 fallback.
1908 if test "$_runtime_cpudetection" = no
; then
1909 if test $cc_vendor != "intel" && test $cc_vendor != "clang" ; then
1910 cflag_check
-march=native
&& proc
=native
1912 # --- AMD processors ---
1913 if test "$proc" = "amdfam10"; then
1914 cflag_check
-march=$proc $cpuopt=$proc || proc
=k8
1916 if test "$proc" = "k8"; then
1917 cflag_check
-march=$proc $cpuopt=$proc || proc
=athlon-xp
1919 # This will fail if gcc version < 3.3, which is ok because earlier
1920 # versions don't really support 64-bit on amd64.
1921 # Is this a valid assumption? -Corey
1922 if test "$proc" = "athlon-xp"; then
1923 cflag_check
-march=$proc $cpuopt=$proc || proc
=error
1925 # --- Intel processors ---
1926 if test "$proc" = "core2"; then
1927 cflag_check
-march=$proc $cpuopt=$proc || proc
=x86-64
1929 if test "$proc" = "x86-64"; then
1930 cflag_check
-march=$proc $cpuopt=$proc || proc
=nocona
1932 if test "$proc" = "nocona"; then
1933 cflag_check
-march=$proc $cpuopt=$proc || proc
=pentium4
1935 if test "$proc" = "pentium4"; then
1936 cflag_check
-march=$proc $cpuopt=$proc || proc
=error
1939 _march
="-march=$proc"
1940 _mcpu
="$cpuopt=$proc"
1941 if test "$proc" = "error" ; then
1942 echores
"CPU optimization disabled. CPU not recognized or your compiler is too old."
1946 else # if test "$_runtime_cpudetection" = no
1947 # x86-64 is an undocumented option, an intersection of k8 and nocona.
1948 _march
="-march=x86-64"
1949 _mcpu
="$cpuopt=generic"
1950 cflag_check
$_mcpu || _mcpu
="x86-64"
1951 cflag_check
$_mcpu || _mcpu
=""
1952 cflag_check
$_march $_mcpu || _march
=""
1956 test $_fast_cmov = "auto" && _fast_cmov
=yes
1957 test $_fast_clz = "auto" && _fast_clz
=yes
1965 if test "$host_arch" = "sparc64" ; then
1968 def_fast_64bit
='#define HAVE_FAST_64BIT 1'
1970 echocheck
"CPU type"
1972 case "$(echo $karch)" in
1977 sun4u
) proc
=ultrasparc _vis
='yes' ;;
1996 def_fast_unaligned
='#define HAVE_FAST_UNALIGNED 1'
1998 test $_fast_clz = "auto" && _fast_clz
=yes
2006 ppc|ppc64|powerpc|powerpc64
)
2008 def_dcbzl
='#define HAVE_DCBZL 0'
2009 def_fast_unaligned
='#define HAVE_FAST_UNALIGNED 1'
2012 if test "$host_arch" = "ppc64" -o "$host_arch" = "powerpc64" ; then
2014 def_fast_64bit
='#define HAVE_FAST_64BIT 1'
2016 echocheck
"CPU type"
2017 case $system_name in
2019 proc
=$
($_cpuinfo |
grep 'cpu' | cut
-d ':' -f 2 | cut
-d ',' -f 1 | cut
-b 2- |
head -n 1)
2020 if test -n "$($_cpuinfo | grep altivec)"; then
2021 test $_altivec = auto
&& _altivec
=yes
2025 proc
=$
($_cpuinfo |
grep "Processor type" | cut
-f 3 -d ' ' |
sed 's/ppc//')
2026 if [ $
(sysctl
-n hw.vectorunit
) -eq 1 -o \
2027 "$(sysctl -n hw.optional.altivec 2> /dev/null)" = "1" ]; then
2028 test $_altivec = auto
&& _altivec
=yes
2032 # only gcc 3.4 works reliably with AltiVec code under NetBSD
2034 2*|
3.0*|
3.1*|
3.2*|
3.3*)
2037 if [ $
(sysctl
-n machdep.altivec
) -eq 1 ]; then
2038 test $_altivec = auto
&& _altivec
=yes
2044 proc
=$
($_cpuinfo |
grep 'type' | cut
-f 2 -d ' ' |
sed 's/PowerPC_//')
2047 if test "$_altivec" = yes; then
2048 echores
"$proc altivec"
2054 echocheck
"GCC & CPU optimization abilities"
2056 if test -n "$proc"; then
2058 601) _march
='-mcpu=601' _mcpu
='-mtune=601' ;;
2059 603) _march
='-mcpu=603' _mcpu
='-mtune=603' ;;
2060 603e|
603ev
) _march
='-mcpu=603e' _mcpu
='-mtune=603e' ;;
2061 604|
604e|
604r|
604ev
) _march
='-mcpu=604' _mcpu
='-mtune=604' ;;
2062 740|
740/750|
745/755) _march
='-mcpu=740' _mcpu
='-mtune=740' ;;
2063 750|
750CX
) _march
='-mcpu=750' _mcpu
='-mtune=750' ;;
2064 POWER
) _march
='-mcpu=power' _mcpu
='-mtune=power' ;;
2065 POWER2
) _march
='-mcpu=power2' _mcpu
='-mtune=power2' ;;
2066 POWER3
) _march
='-mcpu=power3' _mcpu
='-mtune=power3' ;;
2069 # gcc 3.1(.1) and up supports 7400 and 7450
2070 if test "$_cc_major" -ge "3" && test "$_cc_minor" -ge "1" ||
test "$_cc_major" -ge "4"; then
2072 7400*|
7410*) _march
='-mcpu=7400' _mcpu
='-mtune=7400' ;;
2073 7447*|
7450*|
7455*) _march
='-mcpu=7450' _mcpu
='-mtune=7450' ;;
2077 # gcc 3.2 and up supports 970
2078 if test "$_cc_major" -ge "3" && test "$_cc_minor" -ge "3" ||
test "$_cc_major" -ge "4"; then
2080 970*|PPC970
*) _march
='-mcpu=970' _mcpu
='-mtune=970'
2081 def_dcbzl
='#define HAVE_DCBZL 1' ;;
2085 # gcc 3.3 and up supports POWER4
2086 if test "$_cc_major" -ge "3" && test "$_cc_minor" -ge "3" ||
test "$_cc_major" -ge "4"; then
2088 POWER4
) _march
='-mcpu=power4' _mcpu
='-mtune=power4' ;;
2092 # gcc 3.4 and up supports 440*
2093 if test "$_cc_major" -ge "3" && test "$_cc_minor" -ge "4" ||
test "$_cc_major" -ge "4"; then
2095 440EP
*) _march
='-mcpu=440fp' _mcpu
='-mtune=440fp' ;;
2096 440G
* ) _march
='-mcpu=440' _mcpu
='-mtune=440' ;;
2100 # gcc 4.0 and up supports POWER5
2101 if test "$_cc_major" -ge "4"; then
2103 POWER5
*) _march
='-mcpu=power5' _mcpu
='-mtune=power5' ;;
2109 if test -n "$_mcpu"; then
2110 _optimizing
=$
(echo $_mcpu | cut
-c 8-)
2111 echores
"$_optimizing"
2116 test $_fast_clz = "auto" && _fast_clz
=yes
2123 def_fast_64bit
='#define HAVE_FAST_64BIT 1'
2125 echocheck
"CPU type"
2128 unsigned long ver, mask;
2129 __asm__ ("implver %0" : "=r" (ver));
2130 __asm__ ("amask %1, %0" : "=r" (mask) : "r" (-1));
2131 printf("%ld-%x\n", ver, ~mask);
2135 $_cc -o "$TMPEXE" "$TMPC"
2136 case $
("$TMPEXE") in
2138 0-0) proc
="ev4"; _mvi
="0";;
2139 1-0) proc
="ev5"; _mvi
="0";;
2140 1-1) proc
="ev56"; _mvi
="0";;
2141 1-101) proc
="pca56"; _mvi
="1";;
2142 2-303) proc
="ev6"; _mvi
="1";;
2143 2-307) proc
="ev67"; _mvi
="1";;
2144 2-1307) proc
="ev68"; _mvi
="1";;
2148 echocheck
"GCC & CPU optimization abilities"
2149 if test "$proc" = "ev68" ; then
2150 cc_check
-mcpu=$proc || proc
=ev67
2152 if test "$proc" = "ev67" ; then
2153 cc_check
-mcpu=$proc || proc
=ev6
2158 test $_fast_clz = "auto" && _fast_clz
=yes
2168 echocheck
"CPU type"
2169 proc
=$
(hinv
-c processor |
grep CPU | cut
-d " " -f3)
2170 case "$(echo $proc)" in
2171 R3000
) _march
='-mips1' _mcpu
='-mtune=r2000' ;;
2172 R4000
) _march
='-mips3' _mcpu
='-mtune=r4000' ;;
2173 R4400
) _march
='-mips3' _mcpu
='-mtune=r4400' ;;
2174 R4600
) _march
='-mips3' _mcpu
='-mtune=r4600' ;;
2175 R5000
) _march
='-mips4' _mcpu
='-mtune=r5000' ;;
2176 R8000|R10000|R12000|R14000|R16000
) _march
='-mips4' _mcpu
='-mtune=r8000' ;;
2178 # gcc < 3.x does not support -mtune.
2179 if test "$cc_vendor" = "gnu" && test "$_cc_major" -lt 3 ; then
2185 test $_fast_clz = "auto" && _fast_clz
=yes
2219 echo "The architecture of your CPU ($host_arch) is not supported by this configure script"
2220 echo "It seems nobody has ported MPlayer to your OS or CPU type yet."
2221 die
"unsupported architecture $host_arch"
2223 esac # case "$host_arch" in
2225 if test "$_runtime_cpudetection" = yes ; then
2227 test "$_cmov" != no
&& _cmov
=yes
2229 test "$_mmx" != no
&& _mmx
=yes
2230 test "$_3dnow" != no
&& _3dnow
=yes
2231 test "$_3dnowext" != no
&& _3dnowext
=yes
2232 test "$_mmxext" != no
&& _mmxext
=yes
2233 test "$_sse" != no
&& _sse
=yes
2234 test "$_sse2" != no
&& _sse2
=yes
2235 test "$_ssse3" != no
&& _ssse3
=yes
2244 echocheck
"byte order"
2245 if test "$_big_endian" = auto
; then
2247 short ascii_name[] = {
2248 'M' << 8 | 'P', 'l' << 8 | 'a', 'y' << 8 | 'e', 'r' << 8 | 'B',
2249 'i' << 8 | 'g', 'E' << 8 | 'n', 'd' << 8 | 'i', 'a' << 8 | 'n', 0 };
2250 int main(void) { return (long)ascii_name; }
2253 if strings $TMPEXE |
grep -q -l MPlayerBigEndian
; then
2259 echo ${_echo_n} "failed to autodetect byte order, defaulting to ${_echo_c}"
2262 if test "$_big_endian" = yes ; then
2263 _byte_order
='big-endian'
2264 def_words_endian
='#define WORDS_BIGENDIAN 1'
2265 def_bigendian
='#define HAVE_BIGENDIAN 1'
2267 _byte_order
='little-endian'
2268 def_words_endian
='#undef WORDS_BIGENDIAN'
2269 def_bigendian
='#define HAVE_BIGENDIAN 0'
2271 echores
"$_byte_order"
2274 echocheck
"extern symbol prefix"
2278 cc_check
-c || die
"Symbol mangling check failed."
2279 sym
=$
($_nm -P -g $TMPEXE)
2280 extern_prefix
=${sym%%ff_extern*}
2281 def_extern_asm
="#define EXTERN_ASM $extern_prefix"
2282 def_extern_prefix
="#define EXTERN_PREFIX \"$extern_prefix\""
2283 echores
$extern_prefix
2286 echocheck
"assembler support of -pipe option"
2287 # -I. helps to detect compilers that just misunderstand -pipe like Sun C
2288 cflag_check
-pipe -I.
&& _pipe
="-pipe" && echores
"yes" || echores
"no"
2291 if darwin
&& test "$cc_vendor" = "gnu" ; then
2292 echocheck
"GCC support of -mstackrealign"
2293 # GCC 4.2 and some earlier Apple versions support this flag on x86. Since
2294 # Mac OS X/Intel has an ABI different from Windows this is needed to avoid
2295 # crashes when loading Win32 DLLs. Unfortunately some gcc versions create
2296 # wrong code with this flag, but this can be worked around by adding
2297 # -fno-unit-at-a-time as described in the blog post at
2298 # http://www.dribin.org/dave/blog/archives/2006/12/05/missing_third_param/
2300 __attribute__((noinline)) static int foo3(int i1, int i2, int i3) { return i3; }
2301 int main(void) { return foo3(1, 2, 3) == 3 ? 0 : 1; }
2303 cc_check
-O2 -mstackrealign && tmp_run
&& cflags_stackrealign
=-mstackrealign
2304 test -z "$cflags_stackrealign" && cc_check
-O2 -mstackrealign -fno-unit-at-a-time &&
2305 tmp_run
&& cflags_stackrealign
="-mstackrealign -fno-unit-at-a-time"
2306 test -n "$cflags_stackrealign" && echores
"yes" || echores
"no"
2307 fi # if darwin && test "$cc_vendor" = "gnu" ; then
2310 # Checking for CFLAGS
2312 if test "$_profile" != "" ||
test "$_debug" != "" ; then
2313 CFLAGS
="-O2 $_march $_mcpu $_pipe $_debug $_profile"
2314 WARNFLAGS
="-W -Wall"
2316 elif test -z "$CFLAGS" ; then
2317 if test "$cc_vendor" = "intel" ; then
2318 CFLAGS
="-O2 $_march $_mcpu $_pipe -fomit-frame-pointer"
2319 WARNFLAGS
="-wd167 -wd556 -wd144"
2320 elif test "$cc_vendor" = "sun" ; then
2321 CFLAGS
="-O2 $_march $_mcpu $_pipe -xc99 -xregs=frameptr"
2322 elif test "$cc_vendor" = "clang"; then
2323 CFLAGS
="-O2 $_march $_pipe"
2324 WARNFLAGS
="-Wall -Wno-switch-enum -Wno-logical-op-parentheses -Wpointer-arith -Wundef -Wno-pointer-sign -Wmissing-prototypes"
2325 ERRORFLAGS
="-Werror=implicit-function-declaration"
2326 elif test "$cc_vendor" != "gnu" ; then
2327 CFLAGS
="-O2 $_march $_mcpu $_pipe"
2329 CFLAGS
="-O2 $_march $_mcpu $_pipe -ffast-math -fomit-frame-pointer"
2330 WARNFLAGS
="-Wall -Wno-switch -Wno-parentheses -Wpointer-arith -Wredundant-decls"
2331 ERRORFLAGS
="-Werror-implicit-function-declaration"
2332 extra_ldflags
="$extra_ldflags -ffast-math"
2338 if test "$cc_vendor" = "gnu" ; then
2339 cflag_check
-Wundef && WARNFLAGS
="-Wundef $WARNFLAGS"
2340 # -std=gnu99 is not a warning flag but is placed in WARN_CFLAGS because
2341 # that's the only variable specific to C now, and this option is not valid
2343 cflag_check
-std=gnu99
&& WARN_CFLAGS
="-std=gnu99 $WARN_CFLAGS"
2344 cflag_check
-Wno-pointer-sign && WARN_CFLAGS
="-Wno-pointer-sign $WARN_CFLAGS"
2345 cflag_check
-Wdisabled-optimization && WARN_CFLAGS
="-Wdisabled-optimization $WARN_CFLAGS"
2346 cflag_check
-Wmissing-prototypes && WARN_CFLAGS
="-Wmissing-prototypes $WARN_CFLAGS"
2347 cflag_check
-Wstrict-prototypes && WARN_CFLAGS
="-Wstrict-prototypes $WARN_CFLAGS"
2349 CFLAGS
="-D_ISOC99_SOURCE -D_BSD_SOURCE $CFLAGS"
2352 cflag_check
-mno-omit-leaf-frame-pointer && cflags_no_omit_leaf_frame_pointer
="-mno-omit-leaf-frame-pointer"
2353 cflag_check
-MD -MP && DEPFLAGS
="-MD -MP"
2356 if test -n "$LDFLAGS" ; then
2357 extra_ldflags
="$extra_ldflags $LDFLAGS"
2359 elif test "$cc_vendor" = "intel" ; then
2360 extra_ldflags
="$extra_ldflags -i-static"
2362 if test -n "$CPPFLAGS" ; then
2363 extra_cflags
="$extra_cflags $CPPFLAGS"
2370 # Checking assembler (_as) compatibility...
2371 # Added workaround for older as that reads from stdin by default - atmos
2372 as_version
=$
(echo '' |
$_as -version 2>&1 |
sed -n 's/^.*assembler \(version \)*\([0-9.]*\).*$/\2/p')
2373 echocheck
"assembler ($_as $as_version)"
2375 _pref_as_version
='2.9.1'
2377 if test "$_mmx" = yes ; then
2378 echo 'emms' >> $TMPS
2380 if test "$_3dnow" = yes ; then
2381 _pref_as_version
='2.10.1'
2382 echo 'femms' >> $TMPS
2384 if test "$_3dnowext" = yes ; then
2385 _pref_as_version
='2.10.1'
2386 echo 'pswapd %mm0, %mm0' >> $TMPS
2388 if test "$_mmxext" = yes ; then
2389 _pref_as_version
='2.10.1'
2390 echo 'movntq %mm0, (%eax)' >> $TMPS
2392 if test "$_sse" = yes ; then
2393 _pref_as_version
='2.10.1'
2394 echo 'xorps %xmm0, %xmm0' >> $TMPS
2396 #if test "$_sse2" = yes ; then
2397 # _pref_as_version='2.11'
2398 # echo 'xorpd %xmm0, %xmm0' >> $TMPS
2400 if test "$_cmov" = yes ; then
2401 _pref_as_version
='2.10.1'
2402 echo 'cmovb %eax, %ebx' >> $TMPS
2404 if test "$_ssse3" = yes ; then
2405 _pref_as_version
='2.16.92'
2406 echo 'pabsd %xmm0, %xmm1' >> $TMPS
2408 $_as $TMPS -o $TMPEXE > /dev
/null
2>&1 || as_verc_fail
=yes
2410 if test "$as_verc_fail" != yes ; then
2413 res_comment
="Upgrade binutils to ${_pref_as_version} or use --disable-ssse3 etc."
2415 die
"obsolete binutils version"
2425 #if !(defined(__PIC__) || defined(__pic__) || defined(PIC))
2426 #error PIC not enabled
2431 cc_check
&& pic
=yes && extra_cflags
="$extra_cflags -DPIC"
2437 echocheck
".align is a power of two"
2438 if test "$_asmalign_pot" = auto
; then
2440 inline_asm_check
'".align 3"' && _asmalign_pot
=yes
2442 if test "$_asmalign_pot" = "yes" ; then
2443 def_asmalign_pot
='#define ASMALIGN(ZEROBITS) ".align " #ZEROBITS "\n\t"'
2445 def_asmalign_pot
='#define ASMALIGN(ZEROBITS) ".align 1<<" #ZEROBITS "\n\t"'
2447 echores
$_asmalign_pot
2450 echocheck
"ebx availability"
2452 def_ebx_available
='#define HAVE_EBX_AVAILABLE 0'
2459 // just adding ebx to clobber list seems unreliable with some
2460 // compilers, e.g. Haiku's gcc 2.95
2462 // and the above check does not work for OSX 64 bit...
2463 __asm__ volatile("":::"%ebx");
2467 cc_check
&& ebx_available
=yes && def_ebx_available
='#define HAVE_EBX_AVAILABLE 1'
2468 echores
$ebx_available
2472 if test -z "$YASMFLAGS" ; then
2474 x86_64
&& objformat
="macho64" || objformat
="macho"
2480 # currently tested for Linux x86, x86_64
2481 YASMFLAGS
="-f $objformat"
2482 x86_64
&& YASMFLAGS
="$YASMFLAGS -DARCH_X86_64 -m amd64"
2483 test "$pic" = "yes" && YASMFLAGS
="$YASMFLAGS -DPIC"
2484 case "$objformat" in
2485 elf
) test $_debug && YASMFLAGS
="$YASMFLAGS -g dwarf2" ;;
2486 *) YASMFLAGS
="$YASMFLAGS -DPREFIX" ;;
2492 echo "pabsw xmm0, xmm0" > $TMPS
2493 yasm_check || _yasm
=""
2494 if test $_yasm ; then
2495 def_yasm
='#define HAVE_YASM 1'
2499 def_yasm
='#define HAVE_YASM 0'
2505 def_bswap
='#define HAVE_BSWAP 0'
2506 echo 'bswap %eax' > $TMPS
2507 $_as $TMPS -o $TMPEXE > /dev
/null
2>&1 && def_bswap
='#define HAVE_BSWAP 1' && bswap
=yes || bswap
=no
2512 #FIXME: This should happen before the check for CFLAGS..
2513 def_altivec_h
='#define HAVE_ALTIVEC_H 0'
2514 if ppc
&& ( test "$_altivec" = yes ||
test "$_runtime_cpudetection" = yes ) ; then
2516 # check if AltiVec is supported by the compiler, and how to enable it
2517 echocheck
"GCC AltiVec flags"
2518 if $
(cflag_check
-maltivec -mabi=altivec
) ; then
2519 _altivec_gcc_flags
="-maltivec -mabi=altivec"
2520 # check if <altivec.h> should be included
2521 if $
(header_check altivec.h
$_altivec_gcc_flags) ; then
2522 def_altivec_h
='#define HAVE_ALTIVEC_H 1'
2523 inc_altivec_h
='#include <altivec.h>'
2525 if $
(cflag_check
-faltivec) ; then
2526 _altivec_gcc_flags
="-faltivec"
2529 _altivec_gcc_flags
="none, AltiVec disabled"
2533 echores
"$_altivec_gcc_flags"
2535 # check if the compiler supports braces for vector declarations
2538 int main(void) { (vector int) {1}; return 0; }
2540 cc_check
$_altivec_gcc_flags || die
"You need a compiler that supports {} in AltiVec vector declarations."
2542 # Disable runtime cpudetection if we cannot generate AltiVec code or
2543 # AltiVec is disabled by the user.
2544 test "$_runtime_cpudetection" = yes && test "$_altivec" = no \
2545 && _runtime_cpudetection
=no
2547 # Show that we are optimizing for AltiVec (if enabled and supported).
2548 test "$_runtime_cpudetection" = no
&& test "$_altivec" = yes \
2549 && _optimizing
="$_optimizing altivec"
2551 # If AltiVec is enabled, make sure the correct flags turn up in CFLAGS.
2552 test "$_altivec" = yes && CFLAGS
="$CFLAGS $_altivec_gcc_flags"
2556 def_xform_asm
='#define HAVE_XFORM_ASM 0'
2558 echocheck
"XFORM ASM support"
2559 inline_asm_check
'"lwzx %1, %y0" :: "Z"(*(int*)0), "r"(0)' &&
2560 xform_asm
=yes && def_xform_asm
='#define HAVE_XFORM_ASM 1'
2561 echores
"$xform_asm"
2565 echocheck
"ARMv5TE (Enhanced DSP Extensions)"
2566 if test $_armv5te = "auto" ; then
2568 inline_asm_check
'"qadd r0, r0, r0"' && _armv5te
=yes
2572 test $_armv5te = "yes" && test $_fast_clz = "auto" && _fast_clz
=yes
2574 echocheck
"ARMv6 (SIMD instructions)"
2575 if test $_armv6 = "auto" ; then
2577 inline_asm_check
'"sadd16 r0, r0, r0"' && _armv6
=yes
2581 echocheck
"ARMv6t2 (SIMD instructions)"
2582 if test $_armv6t2 = "auto" ; then
2584 inline_asm_check
'"movt r0, #0"' && _armv6t2
=yes
2589 if test $_armvfp = "auto" ; then
2591 inline_asm_check
'"fadds s0, s0, s0"' && _armvfp
=yes
2595 echocheck
"ARM NEON"
2596 if test $neon = "auto" ; then
2598 inline_asm_check
'"vadd.i16 q0, q0, q0"' && neon
=yes
2602 echocheck
"iWMMXt (Intel XScale SIMD instructions)"
2603 if test $_iwmmxt = "auto" ; then
2605 inline_asm_check
'"wunpckelub wr6, wr4"' && _iwmmxt
=yes
2610 cpuexts_all
='ALTIVEC MMX MMX2 AMD3DNOW AMD3DNOWEXT SSE SSE2 SSSE3 FAST_CMOV CMOV FAST_CLZ ARMV5TE ARMV6 ARMV6T2 ARMVFP NEON IWMMXT MMI VIS MVI'
2611 test "$_altivec" = yes && cpuexts
="ALTIVEC $cpuexts"
2612 test "$_mmx" = yes && cpuexts
="MMX $cpuexts"
2613 test "$_mmxext" = yes && cpuexts
="MMX2 $cpuexts"
2614 test "$_3dnow" = yes && cpuexts
="AMD3DNOW $cpuexts"
2615 test "$_3dnowext" = yes && cpuexts
="AMD3DNOWEXT $cpuexts"
2616 test "$_sse" = yes && cpuexts
="SSE $cpuexts"
2617 test "$_sse2" = yes && cpuexts
="SSE2 $cpuexts"
2618 test "$_ssse3" = yes && cpuexts
="SSSE3 $cpuexts"
2619 test "$_cmov" = yes && cpuexts
="CMOV $cpuexts"
2620 test "$_fast_cmov" = yes && cpuexts
="FAST_CMOV $cpuexts"
2621 test "$_fast_clz" = yes && cpuexts
="FAST_CLZ $cpuexts"
2622 test "$_armv5te" = yes && cpuexts
="ARMV5TE $cpuexts"
2623 test "$_armv6" = yes && cpuexts
="ARMV6 $cpuexts"
2624 test "$_armv6t2" = yes && cpuexts
="ARMV6T2 $cpuexts"
2625 test "$_armvfp" = yes && cpuexts
="ARMVFP $cpuexts"
2626 test "$neon" = yes && cpuexts
="NEON $cpuexts"
2627 test "$_iwmmxt" = yes && cpuexts
="IWMMXT $cpuexts"
2628 test "$_vis" = yes && cpuexts
="VIS $cpuexts"
2629 test "$_mvi" = yes && cpuexts
="MVI $cpuexts"
2631 # Checking kernel version...
2632 if x86_32
&& linux
; then
2634 kernel_version
=$
(uname
-r 2>&1)
2635 echocheck
"$system_name kernel version"
2636 case "$kernel_version" in
2637 '') kernel_version
="?.??"; _k_verc_fail
=yes;;
2638 [0-1].
[0-9].
[0-9]*|
2.
[0-3].
[0-9]*)
2639 _k_verc_problem
=yes;;
2641 if test "$_k_verc_problem" = yes && test "$_sse" = yes ; then
2644 if test "$_k_verc_fail" ; then
2645 echores
"$kernel_version, fail"
2646 echo "WARNING! If you want to run MPlayer on this system, get prepared for problems!"
2647 echo "2.2.x has limited SSE support. Upgrade the kernel or use --disable-sse if you"
2648 echo "experience crashes. MPlayer tries to autodetect if your kernel correctly"
2649 echo "supports SSE, but you have been warned! If you are using a kernel older than"
2650 echo "2.2.x you must upgrade it to get SSE support!"
2651 # die "Your kernel is too old for this CPU." # works fine on some 2.2.x so don't die (later check will test)
2653 echores
"$kernel_version, ok"
2657 ######################
2658 # MAIN TESTS GO HERE #
2659 ######################
2663 if cflag_check
-lposix ; then
2664 extra_ldflags
="$extra_ldflags -lposix"
2671 if cflag_check
-lm ; then
2680 echocheck
"langinfo"
2681 if test "$_langinfo" = auto
; then
2683 statement_check langinfo.h
'nl_langinfo(CODESET)' && _langinfo
=yes
2685 if test "$_langinfo" = yes ; then
2686 def_langinfo
='#define HAVE_LANGINFO 1'
2688 def_langinfo
='#undef HAVE_LANGINFO'
2690 echores
"$_langinfo"
2693 echocheck
"translation support"
2694 if test "$_translation" = yes; then
2695 def_translation
="#define CONFIG_TRANSLATION 1"
2697 def_translation
="#undef CONFIG_TRANSLATION"
2699 echores
"$_translation"
2701 echocheck
"language"
2702 # Set preferred languages, "all" uses English as main language.
2703 test -z "$language" && language
=$LINGUAS
2704 test -z "$language_doc" && language_doc
=$language
2705 test -z "$language_man" && language_man
=$language
2706 test -z "$language_msg" && language_msg
=$language
2707 test -z "$language_msg" && language_msg
="all"
2708 language_doc
=$
(echo $language_doc |
tr , " ")
2709 language_man
=$
(echo $language_man |
tr , " ")
2710 language_msg
=$
(echo $language_msg |
tr , " ")
2712 test "$language_doc" = "all" && language_doc
=$doc_lang_all
2713 test "$language_man" = "all" && language_man
=$man_lang_all
2714 test "$language_msg" = "all" && language_msg
=$msg_lang_all
2716 if test "$_translation" != yes ; then
2720 # Prune non-existing translations from language lists.
2721 # Set message translation to the first available language.
2722 # Fall back on English.
2723 for lang
in $language_doc ; do
2724 test -d DOCS
/xml
/$lang && tmp_language_doc
="$tmp_language_doc $lang"
2726 language_doc
=$tmp_language_doc
2727 test -z "$language_doc" && language_doc
=en
2729 for lang
in $language_man ; do
2730 test -d DOCS
/man
/$lang && tmp_language_man
="$tmp_language_man $lang"
2732 language_man
=$tmp_language_man
2733 test -z "$language_man" && language_man
=en
2735 for lang
in $language_msg ; do
2736 test -f po
/$lang.po
&& tmp_language_msg
="$tmp_language_msg $lang"
2738 language_msg
=$tmp_language_msg
2740 echores
"messages (en+): $language_msg - man pages: $language_man - documentation: $language_doc"
2743 echocheck
"enable sighandler"
2744 if test "$_sighandler" = yes ; then
2745 def_sighandler
='#define CONFIG_SIGHANDLER 1'
2747 def_sighandler
='#undef CONFIG_SIGHANDLER'
2749 echores
"$_sighandler"
2751 echocheck
"runtime cpudetection"
2752 if test "$_runtime_cpudetection" = yes ; then
2753 _optimizing
="Runtime CPU-Detection enabled"
2754 def_runtime_cpudetection
='#define CONFIG_RUNTIME_CPUDETECT 1'
2756 def_runtime_cpudetection
='#define CONFIG_RUNTIME_CPUDETECT 0'
2758 echores
"$_runtime_cpudetection"
2761 echocheck
"restrict keyword"
2762 for restrict_keyword
in restrict __restrict __restrict__
; do
2763 echo "void foo(char * $restrict_keyword p); int main(void) { return 0; }" > $TMPC
2765 def_restrict_keyword
=$restrict_keyword
2769 if [ -n "$def_restrict_keyword" ]; then
2770 echores
"$def_restrict_keyword"
2774 # Avoid infinite recursion loop ("#define restrict restrict")
2775 if [ "$def_restrict_keyword" != "restrict" ]; then
2776 def_restrict_keyword
="#define restrict $def_restrict_keyword"
2778 def_restrict_keyword
=""
2782 echocheck
"__builtin_expect"
2783 # GCC branch prediction hint
2785 static int foo(int a) {
2786 a = __builtin_expect(a, 10);
2787 return a == 10 ? 0 : 1;
2789 int main(void) { return foo(10) && foo(0); }
2792 cc_check
&& _builtin_expect
=yes
2793 if test "$_builtin_expect" = yes ; then
2794 def_builtin_expect
='#define HAVE_BUILTIN_EXPECT 1'
2796 def_builtin_expect
='#undef HAVE_BUILTIN_EXPECT'
2798 echores
"$_builtin_expect"
2803 statement_check kstat.h
'kstat_open()' -lkstat && _kstat
=yes
2804 if test "$_kstat" = yes ; then
2805 def_kstat
="#define HAVE_LIBKSTAT 1"
2806 extra_ldflags
="$extra_ldflags -lkstat"
2808 def_kstat
="#undef HAVE_LIBKSTAT"
2814 # required for nanosleep on some systems
2816 statement_check
time.h
'nanosleep(0, 0)' -lposix4 && _posix4
=yes
2817 if test "$_posix4" = yes ; then
2818 extra_ldflags
="$extra_ldflags -lposix4"
2822 for func
in exp2 exp2f llrint log2 log2f lrint lrintf round roundf truncf
; do
2825 statement_check math.h
"${func}(2.0)" -D_ISOC99_SOURCE $_ld_lm && eval _
$func=yes
2826 if eval test "x\$_$func" = "xyes"; then
2827 eval def_
$func="\"#define HAVE_$(echo $func | tr '[a-z]' '[A-Z]') 1\""
2830 eval def_
$func="\"#define HAVE_$(echo $func | tr '[a-z]' '[A-Z]') 0\""
2838 define_statement_check
"_XOPEN_SOURCE 600" "stdlib.h" 'mkstemp("")' && _mkstemp
=yes
2839 if test "$_mkstemp" = yes ; then
2840 def_mkstemp
='#define HAVE_MKSTEMP 1'
2842 def_mkstemp
='#define HAVE_MKSTEMP 0'
2847 echocheck
"nanosleep"
2849 statement_check
time.h
'nanosleep(0, 0)' && _nanosleep
=yes
2850 if test "$_nanosleep" = yes ; then
2851 def_nanosleep
='#define HAVE_NANOSLEEP 1'
2853 def_nanosleep
='#undef HAVE_NANOSLEEP'
2855 echores
"$_nanosleep"
2859 # for Solaris (socket stuff is in -lsocket, gethostbyname and friends in -lnsl):
2860 # for BeOS (socket stuff is in -lsocket, gethostbyname and friends in -lbind):
2863 #include <sys/socket.h>
2864 int main(void) { gethostbyname(0); socket(AF_INET, SOCK_STREAM, 0); return 0; }
2867 for _ld_tmp
in "" "-lsocket -lbind" "-lsocket -ldnet" "-lsocket -lnsl" "-lnsl" "-lsocket" ; do
2868 cc_check
$_ld_tmp && _ld_sock
="$_ld_tmp" && _socklib
=yes && break
2870 test $_socklib = yes && test $_winsock2_h = auto
&& _winsock2_h
=no
2871 if test $_winsock2_h = auto
; then
2873 statement_check winsock2.h
'gethostbyname(0)' -lws2_32 && _ld_sock
="-lws2_32" && _winsock2_h
=yes
2875 test "$_ld_sock" && res_comment
="using $_ld_sock"
2879 if test $_winsock2_h = yes ; then
2881 def_winsock2_h
='#define HAVE_WINSOCK2_H 1'
2883 def_winsock2_h
='#define HAVE_WINSOCK2_H 0'
2887 echocheck
"arpa/inet.h"
2889 def_arpa_inet_h
='#define HAVE_ARPA_INET_H 0'
2890 header_check arpa
/inet.h
&& arpa_inet_h
=yes &&
2891 def_arpa_inet_h
='#define HAVE_ARPA_INET_H 1'
2892 echores
"$arpa_inet_h"
2895 echocheck
"inet_pton()"
2896 def_inet_pton
='#define HAVE_INET_PTON 0'
2898 for _ld_tmp
in "$_ld_sock" "$_ld_sock -lresolv" ; do
2899 statement_check arpa
/inet.h
'inet_pton(0, 0, 0)' $_ld_tmp && inet_pton
=yes && break
2901 if test $inet_pton = yes ; then
2902 test "$_ld_tmp" && res_comment
="using $_ld_tmp"
2903 def_inet_pton
='#define HAVE_INET_PTON 1'
2905 echores
"$inet_pton"
2908 echocheck
"inet_aton()"
2909 def_inet_aton
='#define HAVE_INET_ATON 0'
2911 for _ld_tmp
in "$_ld_sock" "$_ld_sock -lresolv" ; do
2912 statement_check arpa
/inet.h
'inet_aton(0, 0)' $_ld_tmp && inet_aton
=yes && break
2914 if test $inet_aton = yes ; then
2915 test "$_ld_tmp" && res_comment
="using $_ld_tmp"
2916 def_inet_aton
='#define HAVE_INET_ATON 1'
2918 echores
"$inet_aton"
2921 echocheck
"socklen_t"
2923 for header
in "sys/socket.h" "ws2tcpip.h" "sys/types.h" ; do
2924 statement_check
$header 'socklen_t v = 0' && _socklen_t
=yes && break
2926 if test "$_socklen_t" = yes ; then
2927 def_socklen_t
='#define HAVE_SOCKLEN_T 1'
2929 def_socklen_t
='#define HAVE_SOCKLEN_T 0'
2931 echores
"$_socklen_t"
2934 echocheck
"closesocket()"
2936 statement_check winsock2.h
'closesocket(~0)' $_ld_sock && _closesocket
=yes
2937 if test "$_closesocket" = yes ; then
2938 def_closesocket
='#define HAVE_CLOSESOCKET 1'
2940 def_closesocket
='#define HAVE_CLOSESOCKET 0'
2942 echores
"$_closesocket"
2945 echocheck
"networking"
2946 test $_winsock2_h = no
&& test $inet_pton = no
&&
2947 test $inet_aton = no
&& networking
=no
2948 if test "$networking" = yes ; then
2949 def_network
='#define CONFIG_NETWORK 1'
2950 def_networking
='#define CONFIG_NETWORKING 1'
2951 extra_ldflags
="$extra_ldflags $_ld_sock"
2952 inputmodules
="networking $inputmodules"
2954 noinputmodules
="networking $noinputmodules"
2955 def_network
='#define CONFIG_NETWORK 0'
2956 def_networking
='#undef CONFIG_NETWORKING'
2958 echores
"$networking"
2962 if test "$_inet6" = auto
; then
2964 #include <sys/types.h>
2965 #if !defined(_WIN32)
2966 #include <sys/socket.h>
2967 #include <netinet/in.h>
2969 #include <ws2tcpip.h>
2971 int main(void) { struct sockaddr_in6 six; socket(AF_INET6, SOCK_STREAM, AF_INET6); return 0; }
2974 if cc_check
$_ld_sock ; then
2978 if test "$_inet6" = yes ; then
2979 def_inet6
='#define HAVE_AF_INET6 1'
2981 def_inet6
='#undef HAVE_AF_INET6'
2986 echocheck
"gethostbyname2"
2987 if test "$_gethostbyname2" = auto
; then
2989 #include <sys/types.h>
2990 #include <sys/socket.h>
2992 int main(void) { gethostbyname2("", AF_INET); return 0; }
2999 if test "$_gethostbyname2" = yes ; then
3000 def_gethostbyname2
='#define HAVE_GETHOSTBYNAME2 1'
3002 def_gethostbyname2
='#undef HAVE_GETHOSTBYNAME2'
3004 echores
"$_gethostbyname2"
3007 echocheck
"inttypes.h (required)"
3009 header_check inttypes.h
&& _inttypes
=yes
3010 echores
"$_inttypes"
3012 if test "$_inttypes" = no
; then
3013 echocheck
"sys/bitypes.h (inttypes.h predecessor)"
3014 header_check sys
/bitypes.h
&& _inttypes
=yes
3015 if test "$_inttypes" = yes ; then
3016 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."
3018 die
"Cannot find header either inttypes.h or bitypes.h. There is no chance for compilation to succeed."
3023 echocheck
"malloc.h"
3025 header_check malloc.h
&& _malloc
=yes
3026 if test "$_malloc" = yes ; then
3027 def_malloc_h
='#define HAVE_MALLOC_H 1'
3029 def_malloc_h
='#define HAVE_MALLOC_H 0'
3034 echocheck
"memalign()"
3035 # XXX restrict to x86 ? extend to other CPUs/cacheline sizes ?
3036 def_memalign_hack
='#define CONFIG_MEMALIGN_HACK 0'
3038 statement_check malloc.h
'memalign(64, sizeof(char))' && _memalign
=yes
3039 if test "$_memalign" = yes ; then
3040 def_memalign
='#define HAVE_MEMALIGN 1'
3042 def_memalign
='#define HAVE_MEMALIGN 0'
3043 def_map_memalign
='#define memalign(a, b) malloc(b)'
3044 darwin || def_memalign_hack
='#define CONFIG_MEMALIGN_HACK 1'
3046 echores
"$_memalign"
3049 echocheck
"posix_memalign()"
3051 def_posix_memalign
='#define HAVE_POSIX_MEMALIGN 0'
3052 define_statement_check
"_XOPEN_SOURCE 600" "stdlib.h" 'posix_memalign(NULL, 0, 0)' &&
3053 posix_memalign
=yes && def_posix_memalign
='#define HAVE_POSIX_MEMALIGN 1'
3054 echores
"$posix_memalign"
3057 echocheck
"alloca.h"
3059 statement_check alloca.h
'alloca(0)' && _alloca
=yes
3061 def_alloca_h
='#define HAVE_ALLOCA_H 1'
3063 def_alloca_h
='#undef HAVE_ALLOCA_H'
3068 echocheck
"fastmemcpy"
3069 if test "$_fastmemcpy" = yes ; then
3070 def_fastmemcpy
='#define CONFIG_FASTMEMCPY 1'
3072 def_fastmemcpy
='#undef CONFIG_FASTMEMCPY'
3074 echores
"$_fastmemcpy"
3079 statement_check sys
/mman.h
'mmap(0, 0, 0, 0, 0, 0)' && _mman
=yes
3080 if test "$_mman" = yes ; then
3081 def_mman_h
='#define HAVE_SYS_MMAN_H 1'
3083 def_mman_h
='#undef HAVE_SYS_MMAN_H'
3087 _mman_has_map_failed
=no
3088 statement_check sys
/mman.h
'void *p = MAP_FAILED' && _mman_has_map_failed
=yes
3089 if test "$_mman_has_map_failed" = yes ; then
3090 def_mman_has_map_failed
=''
3092 def_mman_has_map_failed
='#define MAP_FAILED ((void *) -1)'
3095 echocheck
"dynamic loader"
3097 for _ld_tmp
in "" "-ldl"; do
3098 statement_check dlfcn.h
'dlopen("", 0)' $_ld_tmp && _ld_dl
="$_ld_tmp" && _dl
=yes && break
3100 if test "$_dl" = yes ; then
3101 def_dl
='#define HAVE_LIBDL 1'
3103 def_dl
='#undef HAVE_LIBDL'
3108 def_threads
='#define HAVE_THREADS 0'
3112 THREAD_CFLAGS
=-D_REENTRANT
3113 elif freebsd || netbsd || openbsd || bsdos
; then
3114 THREAD_CFLAGS
=-D_THREAD_SAFE
3116 if test "$_pthreads" = auto
; then
3118 #include <pthread.h>
3119 static void *func(void *arg) { return arg; }
3122 #ifdef PTW32_STATIC_LIB
3123 pthread_win32_process_attach_np();
3124 pthread_win32_thread_attach_np();
3126 return pthread_create (&tid, 0, func, 0) != 0;
3131 for _ld_tmp
in "-lpthreadGC2" "" "-lpthread" "-pthread" ; do
3132 # for crosscompilation, we cannot execute the program, be happy if we can link statically
3133 cc_check
$THREAD_CFLAGS $_ld_tmp && (tmp_run ||
test "$_ld_static") && _ld_pthread
="$_ld_tmp" && _pthreads
=yes && break
3135 if test "$_pthreads" = no
&& mingw32
; then
3136 _ld_tmp
="-lpthreadGC2 -lws2_32"
3137 cc_check
$_ld_tmp -DPTW32_STATIC_LIB && (tmp_run ||
test "$_ld_static") && _ld_pthread
="$_ld_tmp" && _pthreads
=yes && CFLAGS
="$CFLAGS -DPTW32_STATIC_LIB"
3141 if test "$_pthreads" = yes ; then
3142 test $_ld_pthread && res_comment
="using $_ld_pthread"
3143 def_pthreads
='#define HAVE_PTHREADS 1'
3144 def_threads
='#define HAVE_THREADS 1'
3145 extra_cflags
="$extra_cflags $THREAD_CFLAGS"
3147 res_comment
="v4l, v4l2, ao_nas, win32 loader disabled"
3148 def_pthreads
='#undef HAVE_PTHREADS'
3149 _nas
=no
; _tv_v4l1
=no
; _tv_v4l2
=no
3150 mingw32 || _win32dll
=no
3152 echores
"$_pthreads"
3155 if test "$_pthreads" = yes ; then
3156 def_pthread_cache
="#define PTHREAD_CACHE 1"
3159 def_stream_cache
="#undef CONFIG_STREAM_CACHE"
3163 echocheck
"w32threads"
3164 if test "$_pthreads" = yes ; then
3165 res_comment
="using pthread instead"
3168 if test "$_w32threads" = auto
; then
3170 mingw32
&& _w32threads
=yes
3172 test "$_w32threads" = yes && def_threads
='#define HAVE_THREADS 1'
3173 echores
"$_w32threads"
3176 if test "$_rpath" = yes ; then
3177 for I
in $
(echo $extra_ldflags |
sed 's/-L//g') ; do
3178 tmp
="$tmp $(echo $I | sed 's/.*/ -L& -Wl,-R&/')"
3185 if test "$_iconv" = auto
; then
3190 #define INBUFSIZE 1024
3191 #define OUTBUFSIZE 4096
3193 char inbuffer[INBUFSIZE];
3194 char outbuffer[OUTBUFSIZE];
3199 char *tocode="UTF-8";
3200 char *fromcode="cp1250";
3201 if ((icdsc = iconv_open(tocode, fromcode)) != (iconv_t)(-1)) {
3202 while ((numread = read(0, inbuffer, INBUFSIZE))) {
3203 char *iptr=inbuffer;
3204 char *optr=outbuffer;
3205 size_t inleft=numread;
3206 size_t outleft=OUTBUFSIZE;
3207 if (iconv(icdsc, &iptr, &inleft, &optr, &outleft)
3209 write(1, outbuffer, OUTBUFSIZE - outleft);
3212 if (iconv_close(icdsc) == -1)
3219 for _ld_tmp
in "" "-liconv" "-liconv $_ld_dl" ; do
3220 cc_check
$_ld_lm $_ld_tmp && extra_ldflags
="$extra_ldflags $_ld_tmp" &&
3223 if test "$_iconv" != yes ; then
3224 die
"Unable to find iconv which should be part of standard compilation environment. Aborting. If you really mean to compile without iconv support use --disable-iconv."
3227 if test "$_iconv" = yes ; then
3228 def_iconv
='#define CONFIG_ICONV 1'
3230 def_iconv
='#undef CONFIG_ICONV'
3235 echocheck
"soundcard.h"
3237 def_soundcard_h
='#undef HAVE_SOUNDCARD_H'
3238 def_sys_soundcard_h
='#undef HAVE_SYS_SOUNDCARD_H'
3239 for _soundcard_header
in "sys/soundcard.h" "soundcard.h"; do
3240 header_check
$_soundcard_header && _soundcard_h
=yes &&
3241 res_comment
="$_soundcard_header" && break
3244 if test "$_soundcard_h" = yes ; then
3245 if test $_soundcard_header = "sys/soundcard.h"; then
3246 def_sys_soundcard_h
='#define HAVE_SYS_SOUNDCARD_H 1'
3248 def_soundcard_h
='#define HAVE_SOUNDCARD_H 1'
3251 echores
"$_soundcard_h"
3254 echocheck
"sys/videoio.h"
3256 def_sys_videoio_h
='#undef HAVE_SYS_VIDEOIO_H'
3257 header_check sys
/videoio.h
&& sys_videoio_h
=yes &&
3258 def_sys_videoio_h
='#define HAVE_SYS_VIDEOIO_H 1'
3259 echores
"$sys_videoio_h"
3262 echocheck
"sys/dvdio.h"
3264 # FreeBSD 8.1 has broken dvdio.h
3265 header_check_broken sys
/types.h sys
/dvdio.h
&& _dvdio
=yes
3266 if test "$_dvdio" = yes ; then
3267 def_dvdio
='#define DVD_STRUCT_IN_SYS_DVDIO_H 1'
3269 def_dvdio
='#undef DVD_STRUCT_IN_SYS_DVDIO_H'
3274 echocheck
"sys/cdio.h"
3276 # at least OpenSolaris has a broken cdio.h
3277 header_check_broken sys
/types.h sys
/cdio.h
&& _cdio
=yes
3278 if test "$_cdio" = yes ; then
3279 def_cdio
='#define DVD_STRUCT_IN_SYS_CDIO_H 1'
3281 def_cdio
='#undef DVD_STRUCT_IN_SYS_CDIO_H'
3286 echocheck
"linux/cdrom.h"
3288 header_check linux
/cdrom.h
&& _cdrom
=yes
3289 if test "$_cdrom" = yes ; then
3290 def_cdrom
='#define DVD_STRUCT_IN_LINUX_CDROM_H 1'
3292 def_cdrom
='#undef DVD_STRUCT_IN_LINUX_CDROM_H'
3299 header_check dvd.h
&& _dvd
=yes
3300 if test "$_dvd" = yes ; then
3301 def_dvd
='#define DVD_STRUCT_IN_DVD_H 1'
3303 def_dvd
='#undef DVD_STRUCT_IN_DVD_H'
3309 echocheck
"BSDI dvd.h"
3311 header_check dvd.h
&& _bsdi_dvd
=yes
3312 if test "$_bsdi_dvd" = yes ; then
3313 def_bsdi_dvd
='#define DVD_STRUCT_IN_BSDI_DVDIOCTL_DVD_H 1'
3315 def_bsdi_dvd
='#undef DVD_STRUCT_IN_BSDI_DVDIOCTL_DVD_H'
3317 echores
"$_bsdi_dvd"
3322 # also used by AIX, but AIX does not support VCD and/or libdvdread
3323 echocheck
"HP-UX SCSI header"
3325 header_check sys
/scsi.h
&& _hpux_scsi_h
=yes
3326 if test "$_hpux_scsi_h" = yes ; then
3327 def_hpux_scsi_h
='#define HPUX_SCTL_IO 1'
3329 def_hpux_scsi_h
='#undef HPUX_SCTL_IO'
3331 echores
"$_hpux_scsi_h"
3336 echocheck
"userspace SCSI headers (Solaris)"
3338 header_check sys
/scsi
/scsi_types.h
&&
3339 header_check_broken sys
/types.h sys
/scsi
/impl
/uscsi.h
&&
3341 if test "$_sol_scsi_h" = yes ; then
3342 def_sol_scsi_h
='#define SOLARIS_USCSI 1'
3344 def_sol_scsi_h
='#undef SOLARIS_USCSI'
3346 echores
"$_sol_scsi_h"
3351 if test "$_termcap" = auto
; then
3353 for _ld_tmp
in "-lncurses" "-ltinfo" "-ltermcap"; do
3354 statement_check term.h
'tgetent(0, 0)' $_ld_tmp &&
3355 extra_ldflags
="$extra_ldflags $_ld_tmp" && _termcap
=yes && break
3358 if test "$_termcap" = yes ; then
3359 def_termcap
='#define HAVE_TERMCAP 1'
3360 test $_ld_tmp && res_comment
="using $_ld_tmp"
3362 def_termcap
='#undef HAVE_TERMCAP'
3368 def_termios
='#undef HAVE_TERMIOS'
3369 def_termios_h
='#undef HAVE_TERMIOS_H'
3370 def_termios_sys_h
='#undef HAVE_SYS_TERMIOS_H'
3371 if test "$_termios" = auto
; then
3373 for _termios_header
in "termios.h" "sys/termios.h"; do
3374 header_check
$_termios_header && _termios
=yes &&
3375 res_comment
="using $_termios_header" && break
3379 if test "$_termios" = yes ; then
3380 def_termios
='#define HAVE_TERMIOS 1'
3381 if test "$_termios_header" = "termios.h" ; then
3382 def_termios_h
='#define HAVE_TERMIOS_H 1'
3384 def_termios_sys_h
='#define HAVE_SYS_TERMIOS_H 1'
3391 if test "$_shm" = auto
; then
3393 statement_check sys
/shm.h
'shmget(0, 0, 0); shmat(0, 0, 0); shmctl(0, 0, 0)' && _shm
=yes
3395 if test "$_shm" = yes ; then
3396 def_shm
='#define HAVE_SHM 1'
3398 def_shm
='#undef HAVE_SHM'
3403 echocheck
"strsep()"
3405 statement_check string.h
'char *s = "Hello, world!"; strsep(&s, ",")' && _strsep
=yes
3406 if test "$_strsep" = yes ; then
3407 def_strsep
='#define HAVE_STRSEP 1'
3410 def_strsep
='#undef HAVE_STRSEP'
3416 echocheck
"vsscanf()"
3418 #define _ISOC99_SOURCE
3421 int main(void) { va_list ap; vsscanf("foo", "bar", ap); return 0; }
3424 cc_check
&& _vsscanf
=yes
3425 if test "$_vsscanf" = yes ; then
3426 def_vsscanf
='#define HAVE_VSSCANF 1'
3429 def_vsscanf
='#undef HAVE_VSSCANF'
3437 define_statement_check
"_XOPEN_SOURCE 600" "unistd.h" 'int a, b; swab(&a, &b, 0)' ||
3438 statement_check
"string.h" 'int a, b; swab(&a, &b, 0)' && _swab
=yes
3439 if test "$_swab" = yes ; then
3440 def_swab
='#define HAVE_SWAB 1'
3443 def_swab
='#undef HAVE_SWAB'
3448 echocheck
"POSIX select()"
3452 #include <sys/types.h>
3454 #include <sys/time.h>
3456 int main(void) {int nfds = 1; fd_set readfds; struct timeval timeout; select(nfds, &readfds, NULL, NULL, &timeout); return 0; }
3459 def_posix_select
='#undef HAVE_POSIX_SELECT'
3460 cc_check
&& _posix_select
=yes &&
3461 def_posix_select
='#define HAVE_POSIX_SELECT 1'
3462 echores
"$_posix_select"
3465 echocheck
"audio select()"
3466 if test "$_select" = no
; then
3467 def_select
='#undef HAVE_AUDIO_SELECT'
3468 elif test "$_select" = yes ; then
3469 def_select
='#define HAVE_AUDIO_SELECT 1'
3474 echocheck
"gettimeofday()"
3476 statement_check sys
/time.h
'struct timeval tv; struct timezone tz; gettimeofday(&tv, &tz)' && _gettimeofday
=yes
3477 if test "$_gettimeofday" = yes ; then
3478 def_gettimeofday
='#define HAVE_GETTIMEOFDAY 1'
3479 need_gettimeofday
=no
3481 def_gettimeofday
='#undef HAVE_GETTIMEOFDAY'
3482 need_gettimeofday
=yes
3484 echores
"$_gettimeofday"
3489 statement_check glob.h
'glob("filename", 0, 0, 0)' && _glob
=yes
3491 if test "$_glob" = yes ; then
3492 def_glob
='#define HAVE_GLOB 1'
3494 def_glob
='#undef HAVE_GLOB'
3495 # HACK! need_glob currently enables compilation of a
3496 # win32-specific glob()-replacement.
3497 # Other OS neither need it nor can they use it (mf:// is disabled for them).
3498 win32
&& need_glob
=yes
3503 echocheck
"setenv()"
3505 statement_check stdlib.h
'setenv("", "", 0)' && _setenv
=yes
3506 if test "$_setenv" = yes ; then
3507 def_setenv
='#define HAVE_SETENV 1'
3510 def_setenv
='#undef HAVE_SETENV'
3516 echocheck
"setmode()"
3518 def_setmode
='#define HAVE_SETMODE 0'
3519 statement_check io.h
'setmode(0, 0)' && _setmode
=yes && def_setmode
='#define HAVE_SETMODE 1'
3524 echocheck
"sysi86()"
3526 statement_check sys
/sysi86.h
'sysi86(0)' && _sysi86
=yes
3527 if test "$_sysi86" = yes ; then
3528 def_sysi86
='#define HAVE_SYSI86 1'
3529 statement_check sys
/sysi86.h
'int sysi86(int, void*); sysi86(0)' && def_sysi86_iv
='#define HAVE_SYSI86_iv 1'
3531 def_sysi86
='#undef HAVE_SYSI86'
3537 echocheck
"sys/sysinfo.h"
3539 statement_check sys
/sysinfo.h
'struct sysinfo s_info; s_info.mem_unit=0; sysinfo(&s_info)' && _sys_sysinfo
=yes
3540 if test "$_sys_sysinfo" = yes ; then
3541 def_sys_sysinfo_h
='#define HAVE_SYS_SYSINFO_H 1'
3543 def_sys_sysinfo_h
='#undef HAVE_SYS_SYSINFO_H'
3545 echores
"$_sys_sysinfo"
3550 echocheck
"Mac OS X Finder Support"
3551 def_macosx_finder
='#undef CONFIG_MACOSX_FINDER'
3552 if test "$_macosx_finder" = yes ; then
3553 def_macosx_finder
='#define CONFIG_MACOSX_FINDER 1'
3554 extra_ldflags
="$extra_ldflags -framework Cocoa"
3556 echores
"$_macosx_finder"
3558 echocheck
"Mac OS X Bundle file locations"
3559 def_macosx_bundle
='#undef CONFIG_MACOSX_BUNDLE'
3560 test "$_macosx_bundle" = auto
&& _macosx_bundle
=$_macosx_finder
3561 if test "$_macosx_bundle" = yes ; then
3562 def_macosx_bundle
='#define CONFIG_MACOSX_BUNDLE 1'
3564 echores
"$_macosx_bundle"
3566 echocheck
"Apple Remote"
3567 if test "$_apple_remote" = auto
; then
3571 #include <IOKit/IOCFPlugIn.h>
3573 io_iterator_t hidObjectIterator = (io_iterator_t)NULL;
3574 CFMutableDictionaryRef hidMatchDictionary;
3575 IOReturn ioReturnValue;
3577 // Set up a matching dictionary to search the I/O Registry by class.
3578 // name for all HID class devices
3579 hidMatchDictionary = IOServiceMatching("AppleIRController");
3581 // Now search I/O Registry for matching devices.
3582 ioReturnValue = IOServiceGetMatchingServices(kIOMasterPortDefault,
3583 hidMatchDictionary, &hidObjectIterator);
3585 // If search is unsuccessful, return nonzero.
3586 if (ioReturnValue != kIOReturnSuccess ||
3587 !IOIteratorIsValid(hidObjectIterator)) {
3593 cc_check
-framework IOKit
&& _apple_remote
=yes
3595 if test "$_apple_remote" = yes ; then
3596 def_apple_remote
='#define CONFIG_APPLE_REMOTE 1'
3597 libs_mplayer
="$libs_mplayer -framework IOKit -framework Cocoa"
3599 def_apple_remote
='#undef CONFIG_APPLE_REMOTE'
3601 echores
"$_apple_remote"
3607 echocheck
"Apple IR"
3608 if test "$_apple_ir" = auto
; then
3610 statement_check linux
/input.h
'struct input_event ev; struct input_id id' && _apple_ir
=yes
3612 if test "$_apple_ir" = yes ; then
3613 def_apple_ir
='#define CONFIG_APPLE_IR 1'
3615 def_apple_ir
='#undef CONFIG_APPLE_IR'
3617 echores
"$_apple_ir"
3620 echocheck
"pkg-config"
3621 if $
($_pkg_config --version > /dev
/null
2>&1); then
3622 if test "$_ld_static"; then
3623 _pkg_config
="$_pkg_config --static"
3632 echocheck
"Samba support (libsmbclient)"
3633 if test "$_smb" = yes; then
3634 extra_ldflags
="$extra_ldflags -lsmbclient"
3636 if test "$_smb" = auto
; then
3638 for _ld_tmp
in "-lsmbclient" "-lsmbclient $_ld_dl" "-lsmbclient $_ld_dl -lnsl" "-lsmbclient $_ld_dl -lssl -lnsl" ; do
3639 statement_check libsmbclient.h
'smbc_opendir("smb://")' $_ld_tmp &&
3640 extra_ldflags
="$extra_ldflags $_ld_tmp" && _smb
=yes && break
3644 if test "$_smb" = yes; then
3645 def_smb
="#define CONFIG_LIBSMBCLIENT 1"
3646 inputmodules
="smb $inputmodules"
3648 def_smb
="#undef CONFIG_LIBSMBCLIENT"
3649 noinputmodules
="smb $noinputmodules"
3660 if test "$_tdfxfb" = yes ; then
3661 def_tdfxfb
='#define CONFIG_TDFXFB 1'
3662 vomodules
="tdfxfb $vomodules"
3664 def_tdfxfb
='#undef CONFIG_TDFXFB'
3665 novomodules
="tdfxfb $novomodules"
3670 if test "$_s3fb" = yes ; then
3671 def_s3fb
='#define CONFIG_S3FB 1'
3672 vomodules
="s3fb $vomodules"
3674 def_s3fb
='#undef CONFIG_S3FB'
3675 novomodules
="s3fb $novomodules"
3680 if test "$_wii" = yes ; then
3681 def_wii
='#define CONFIG_WII 1'
3682 vomodules
="wii $vomodules"
3684 def_wii
='#undef CONFIG_WII'
3685 novomodules
="wii $novomodules"
3690 if test "$_tdfxvid" = yes ; then
3691 def_tdfxvid
='#define CONFIG_TDFX_VID 1'
3692 vomodules
="tdfx_vid $vomodules"
3694 def_tdfxvid
='#undef CONFIG_TDFX_VID'
3695 novomodules
="tdfx_vid $novomodules"
3700 if test "$_xvr100" = auto
; then
3703 #include <sys/fbio.h>
3704 #include <sys/visual_io.h>
3706 struct vis_identifier ident;
3707 struct fbgattr attr;
3708 ioctl(0, VIS_GETIDENTIFIER, &ident);
3709 ioctl(0, FBIOGATTR, &attr);
3714 cc_check
&& _xvr100
=yes
3716 if test "$_xvr100" = yes ; then
3717 def_xvr100
='#define CONFIG_XVR100 1'
3718 vomodules
="xvr100 $vomodules"
3720 def_tdfxvid
='#undef CONFIG_XVR100'
3721 novomodules
="xvr100 $novomodules"
3726 if test "$_tga" = yes ; then
3727 def_tga
='#define CONFIG_TGA 1'
3728 vomodules
="tga $vomodules"
3730 def_tga
='#undef CONFIG_TGA'
3731 novomodules
="tga $novomodules"
3736 echocheck
"md5sum support"
3737 if test "$_md5sum" = yes; then
3738 def_md5sum
="#define CONFIG_MD5SUM 1"
3739 vomodules
="md5sum $vomodules"
3741 def_md5sum
="#undef CONFIG_MD5SUM"
3742 novomodules
="md5sum $novomodules"
3747 echocheck
"yuv4mpeg support"
3748 if test "$_yuv4mpeg" = yes; then
3749 def_yuv4mpeg
="#define CONFIG_YUV4MPEG 1"
3750 vomodules
="yuv4mpeg $vomodules"
3752 def_yuv4mpeg
="#undef CONFIG_YUV4MPEG"
3753 novomodules
="yuv4mpeg $novomodules"
3755 echores
"$_yuv4mpeg"
3759 if test "$_bl" = yes ; then
3760 def_bl
='#define CONFIG_BL 1'
3761 vomodules
="bl $vomodules"
3763 def_bl
='#undef CONFIG_BL'
3764 novomodules
="bl $novomodules"
3769 echocheck
"DirectFB"
3770 if test "$_directfb" = auto
; then
3773 #include <directfb.h>
3774 #include <directfb_version.h>
3775 #if (DIRECTFB_MAJOR_VERSION << 16 | DIRECTFB_MINOR_VERSION << 8 | DIRECTFB_MICRO_VERSION) < (0 << 16 | 9 << 8 | 22)
3776 #error "DirectFB version too old."
3778 int main(void) { DirectFBInit(0, 0); return 0; }
3780 for _inc_tmp
in "" -I/usr
/local
/include
/directfb
-I/usr
/include
/directfb
-I/usr
/local
/include
; do
3781 cc_check
$_inc_tmp -ldirectfb &&
3782 _directfb
=yes && extra_cflags
="$extra_cflags $_inc_tmp" && break
3785 if test "$_directfb" = yes ; then
3786 def_directfb
='#define CONFIG_DIRECTFB 1'
3787 vomodules
="directfb dfbmga $vomodules"
3788 libs_mplayer
="$libs_mplayer -ldirectfb"
3790 def_directfb
='#undef CONFIG_DIRECTFB'
3791 novomodules
="directfb dfbmga $novomodules"
3793 echores
"$_directfb"
3796 echocheck
"X11 headers presence"
3798 res_comment
="check if the dev(el) packages are installed"
3799 for I
in $
(echo $extra_cflags |
sed s
/-I//g
) /usr
/include
; do
3800 if test -f "$I/X11/Xlib.h" ; then
3806 if test $_cross_compile = no
; then
3807 for I
in /usr
/X11
/include
/usr
/X11R
7/include
/usr
/local
/include
/usr
/X11R
6/include \
3808 /usr
/include
/X11R6
/usr
/openwin
/include
; do
3809 if test -f "$I/X11/Xlib.h" ; then
3810 extra_cflags
="$extra_cflags -I$I"
3812 res_comment
="using $I"
3817 echores
"$_x11_headers"
3821 if test "$_x11" = auto
&& test "$_x11_headers" = yes ; then
3822 for I
in "" -L/usr
/X11R
7/lib
-L/usr
/local
/lib
-L/usr
/X11R
6/lib
-L/usr
/lib
/X11R6 \
3823 -L/usr
/X11
/lib
-L/usr
/lib32
-L/usr
/openwin
/lib
-L/usr
/local
/lib64
-L/usr
/X11R
6/lib64 \
3826 _ld_tmp
="$I -lXext -lX11 $_ld_pthread -Wl,-R$(echo $I | sed s/^-L//)"
3828 _ld_tmp
="$I -lXext -lX11 $_ld_pthread"
3830 statement_check X11
/Xutil.h
'XCreateWindow(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)' $_ld_tmp &&
3831 libs_mplayer
="$libs_mplayer $_ld_tmp" && _x11
=yes && break
3834 if test "$_x11" = yes ; then
3835 def_x11
='#define CONFIG_X11 1'
3836 vomodules
="x11 xover $vomodules"
3839 def_x11
='#undef CONFIG_X11'
3840 novomodules
="x11 $novomodules"
3841 res_comment
="check if the dev(el) packages are installed"
3845 echocheck
"Xss screensaver extensions"
3846 if test "$_xss" = auto
; then
3848 statement_check
"X11/extensions/scrnsaver.h" 'XScreenSaverSuspend(NULL, True)' -lXss && _xss
=yes
3850 if test "$_xss" = yes ; then
3851 def_xss
='#define CONFIG_XSS 1'
3852 libs_mplayer
="$libs_mplayer -lXss"
3854 def_xss
='#undef CONFIG_XSS'
3861 if test "$_x11" = yes ; then
3863 #include <X11/Xmd.h>
3864 #include <X11/Xlib.h>
3865 #include <X11/Xutil.h>
3866 #include <X11/Xatom.h>
3867 #include <X11/extensions/dpms.h>
3868 int main(void) { DPMSQueryExtension(0, 0, 0); return 0; }
3870 cc_check
-lXdpms && _xdpms3
=yes
3871 statement_check_broken X11
/Xlib.h X11
/extensions
/dpms.h
'DPMSQueryExtension(0, 0, 0)' -lXext && _xdpms4
=yes
3873 if test "$_xdpms4" = yes ; then
3874 def_xdpms
='#define CONFIG_XDPMS 1'
3875 res_comment
="using Xdpms 4"
3877 elif test "$_xdpms3" = yes ; then
3878 def_xdpms
='#define CONFIG_XDPMS 1'
3879 libs_mplayer
="$libs_mplayer -lXdpms"
3880 res_comment
="using Xdpms 3"
3883 def_xdpms
='#undef CONFIG_XDPMS'
3889 if test "$_xv" = auto
&& test "$_x11" = yes ; then
3891 statement_check_broken X11
/Xlib.h X11
/extensions
/Xvlib.h
'XvGetPortAttribute(0, 0, 0, 0)' -lXv && _xv
=yes
3894 if test "$_xv" = yes ; then
3895 def_xv
='#define CONFIG_XV 1'
3896 libs_mplayer
="$libs_mplayer -lXv"
3897 vomodules
="xv $vomodules"
3899 def_xv
='#undef CONFIG_XV'
3900 novomodules
="xv $novomodules"
3906 if test "$_vdpau" = auto
&& test "$_x11" = yes ; then
3908 if test "$_dl" = yes ; then
3909 return_statement_check vdpau
/vdpau_x11.h
'vdp_device_create_x11(0, 0, 0, 0)' VDP_VIDEO_MIXER_FEATURE_HIGH_QUALITY_SCALING_L1
-lvdpau && _vdpau
=yes
3912 if test "$_vdpau" = yes ; then
3913 def_vdpau
='#define CONFIG_VDPAU 1'
3914 libs_mplayer
="$libs_mplayer -lvdpau"
3915 vomodules
="vdpau $vomodules"
3917 def_vdpau
='#define CONFIG_VDPAU 0'
3918 novomodules
="vdpau $novomodules"
3923 echocheck
"Xinerama"
3924 if test "$_xinerama" = auto
&& test "$_x11" = yes ; then
3926 statement_check X11
/extensions
/Xinerama.h
'XineramaIsActive(0)' -lXinerama && _xinerama
=yes
3929 if test "$_xinerama" = yes ; then
3930 def_xinerama
='#define CONFIG_XINERAMA 1'
3931 libs_mplayer
="$libs_mplayer -lXinerama"
3933 def_xinerama
='#undef CONFIG_XINERAMA'
3935 echores
"$_xinerama"
3938 # Note: the -lXxf86vm library is the VideoMode extension and though it's not
3939 # needed for DGA, AFAIK every distribution packages together with DGA stuffs
3940 # named 'X extensions' or something similar.
3941 # This check may be useful for future mplayer versions (to change resolution)
3942 # If you run into problems, remove '-lXxf86vm'.
3944 if test "$_vm" = auto
&& test "$_x11" = yes ; then
3946 statement_check_broken X11
/Xlib.h X11
/extensions
/xf86vmode.h
'XF86VidModeQueryExtension(0, 0, 0)' -lXxf86vm && _vm
=yes
3948 if test "$_vm" = yes ; then
3949 def_vm
='#define CONFIG_XF86VM 1'
3950 libs_mplayer
="$libs_mplayer -lXxf86vm"
3952 def_vm
='#undef CONFIG_XF86VM'
3956 # Check for the presence of special keycodes, like audio control buttons
3957 # that XFree86 might have. Used to be bundled with the xf86vm check, but
3958 # has nothing to do with xf86vm and XFree 3.x has xf86vm but does NOT
3959 # have these new keycodes.
3960 echocheck
"XF86keysym"
3961 if test "$_xf86keysym" = auto
&& test "$_x11" = yes ; then
3963 return_check X11
/XF86keysym.h XF86XK_AudioPause
&& _xf86keysym
=yes
3965 if test "$_xf86keysym" = yes ; then
3966 def_xf86keysym
='#define CONFIG_XF86XK 1'
3968 def_xf86keysym
='#undef CONFIG_XF86XK'
3970 echores
"$_xf86keysym"
3973 if test "$_dga2" = auto
&& test "$_x11" = yes ; then
3975 statement_check_broken X11
/Xlib.h X11
/extensions
/Xxf86dga.h
'XDGASetViewport(0, 0, 0, 0, 0)' -lXxf86dga && _dga2
=yes
3977 if test "$_dga1" = auto
&& test "$_dga2" = no
&& test "$_vm" = yes ; then
3979 statement_check_broken X11
/Xlib.h X11
/extensions
/Xxf86dga.h
'XF86DGASetViewPort(0, 0, 0, 0)' -lXxf86dga -lXxf86vm && _dga1
=yes
3983 def_dga
='#undef CONFIG_DGA'
3984 def_dga1
='#undef CONFIG_DGA1'
3985 def_dga2
='#undef CONFIG_DGA2'
3986 if test "$_dga1" = yes ; then
3988 def_dga1
='#define CONFIG_DGA1 1'
3989 res_comment
="using DGA 1.0"
3990 elif test "$_dga2" = yes ; then
3992 def_dga2
='#define CONFIG_DGA2 1'
3993 res_comment
="using DGA 2.0"
3995 if test "$_dga" = yes ; then
3996 def_dga
='#define CONFIG_DGA 1'
3997 libs_mplayer
="$libs_mplayer -lXxf86dga"
3998 vomodules
="dga $vomodules"
4000 novomodules
="dga $novomodules"
4006 if test "$_3dfx" = yes && test "$_dga" = yes ; then
4007 def_3dfx
='#define CONFIG_3DFX 1'
4008 vomodules
="3dfx $vomodules"
4011 def_3dfx
='#undef CONFIG_3DFX'
4012 novomodules
="3dfx $novomodules"
4018 if test "$_ggi" = auto
; then
4020 statement_check ggi
/ggi.h
'ggiInit()' -lggi && _ggi
=yes
4022 if test "$_ggi" = yes ; then
4023 def_ggi
='#define CONFIG_GGI 1'
4024 libs_mplayer
="$libs_mplayer -lggi"
4025 vomodules
="ggi $vomodules"
4027 def_ggi
='#undef CONFIG_GGI'
4028 novomodules
="ggi $novomodules"
4032 echocheck
"GGI extension: libggiwmh"
4033 if test "$_ggiwmh" = auto
; then
4035 statement_check ggi
/wmh.h
'ggiWmhInit()' -lggi -lggiwmh && _ggiwmh
=yes
4037 # needed to get right output on obscure combination
4038 # like --disable-ggi --enable-ggiwmh
4039 if test "$_ggi" = yes && test "$_ggiwmh" = yes ; then
4040 def_ggiwmh
='#define CONFIG_GGIWMH 1'
4041 libs_mplayer
="$libs_mplayer -lggiwmh"
4044 def_ggiwmh
='#undef CONFIG_GGIWMH'
4050 if test "$_aa" = auto
; then
4057 c = aa_autoinit(&aa_defparams);
4058 p = aa_getrenderparams();
4059 aa_autoinitkbd(c, 0);
4063 for _ld_tmp
in "-laa" ; do
4064 cc_check
$_ld_tmp && libs_mplayer
="$libs_mplayer $_ld_tmp" && _aa
=yes && break
4067 if test "$_aa" = yes ; then
4068 def_aa
='#define CONFIG_AA 1'
4070 libs_mplayer
="$libs_mplayer $(aalib-config --libs | cut -d " " -f 2,5,6)"
4072 vomodules
="aa $vomodules"
4074 def_aa
='#undef CONFIG_AA'
4075 novomodules
="aa $novomodules"
4081 if test "$_caca" = auto
; then
4083 if ( caca-config
--version ) >> "$TMPLOG" 2>&1 ; then
4086 #ifdef CACA_API_VERSION_1
4089 int main(void) { caca_init(); return 0; }
4091 cc_check $
(caca-config
--libs) && _caca
=yes
4094 if test "$_caca" = yes ; then
4095 def_caca
='#define CONFIG_CACA 1'
4096 extra_cflags
="$extra_cflags $(caca-config --cflags)"
4097 libs_mplayer
="$libs_mplayer $(caca-config --libs)"
4098 vomodules
="caca $vomodules"
4100 def_caca
='#undef CONFIG_CACA'
4101 novomodules
="caca $novomodules"
4107 if test "$_svga" = auto
; then
4109 header_check vga.h
-lvga $_ld_lm && _svga
=yes
4111 if test "$_svga" = yes ; then
4112 def_svga
='#define CONFIG_SVGALIB 1'
4113 libs_mplayer
="$libs_mplayer -lvga"
4114 vomodules
="svga $vomodules"
4116 def_svga
='#undef CONFIG_SVGALIB'
4117 novomodules
="svga $novomodules"
4123 if test "$_fbdev" = auto
; then
4127 if test "$_fbdev" = yes ; then
4128 def_fbdev
='#define CONFIG_FBDEV 1'
4129 vomodules
="fbdev $vomodules"
4131 def_fbdev
='#undef CONFIG_FBDEV'
4132 novomodules
="fbdev $novomodules"
4139 if test "$_dvb" = auto
; then
4143 #include <sys/ioctl.h>
4147 #include <linux/dvb/dmx.h>
4148 #include <linux/dvb/frontend.h>
4149 #include <linux/dvb/video.h>
4150 #include <linux/dvb/audio.h>
4151 int main(void) {return 0;}
4153 for _inc_tmp
in "" "-I/usr/src/DVB/include" ; do
4154 cc_check
$_inc_tmp && _dvb
=yes &&
4155 extra_cflags
="$extra_cflags $_inc_tmp" && break
4159 if test "$_dvb" = yes ; then
4161 inputmodules
="dvb $inputmodules"
4162 def_dvb
='#define CONFIG_DVB 1'
4163 def_dvbin
='#define CONFIG_DVBIN 1'
4164 aomodules
="mpegpes(dvb) $aomodules"
4165 vomodules
="mpegpes(dvb) $vomodules"
4168 noinputmodules
="dvb $noinputmodules"
4169 def_dvb
='#undef CONFIG_DVB'
4170 def_dvbin
='#undef CONFIG_DVBIN '
4171 aomodules
="mpegpes(file) $aomodules"
4172 vomodules
="mpegpes(file) $vomodules"
4178 echocheck
"QuickTime"
4179 if test "$quicktime" = auto
; then
4181 statement_check QuickTime
/QuickTime.h
'ImageDescription *desc; EnterMovies(); ExitMovies()' -framework QuickTime
&& quicktime
=yes
4183 if test "$quicktime" = yes ; then
4184 extra_ldflags
="$extra_ldflags -framework QuickTime"
4185 def_quicktime
='#define CONFIG_QUICKTIME 1'
4187 def_quicktime
='#undef CONFIG_QUICKTIME'
4191 echocheck
"CoreVideo"
4192 if test "$_corevideo" = auto
; then
4194 #include <Carbon/Carbon.h>
4195 #include <CoreServices/CoreServices.h>
4196 #include <OpenGL/OpenGL.h>
4197 #include <QuartzCore/CoreVideo.h>
4198 int main(void) { return 0; }
4201 cc_check
-framework Carbon
-framework Cocoa
-framework QuartzCore
-framework OpenGL
&& _corevideo
=yes
4203 if test "$_corevideo" = yes ; then
4204 vomodules
="corevideo $vomodules"
4205 libs_mplayer
="$libs_mplayer -framework Carbon -framework Cocoa -framework QuartzCore -framework OpenGL"
4206 def_corevideo
='#define CONFIG_COREVIDEO 1'
4208 novomodules
="corevideo $novomodules"
4209 def_corevideo
='#undef CONFIG_COREVIDEO'
4211 echores
"$_corevideo"
4214 if test "$_gl" = no
; then
4215 # if _gl is not enabled there is no point to add potentially unused linker flags
4218 if test "$_cocoa" = auto
; then
4220 #include <CoreServices/CoreServices.h>
4221 #include <OpenGL/OpenGL.h>
4222 #include <QuartzCore/CoreVideo.h>
4223 int main(void) { return 0; }
4226 cc_check
-framework Cocoa
-framework QuartzCore
-framework OpenGL
&& _cocoa
=yes
4228 if test "$_cocoa" = yes ; then
4229 libs_mplayer
="$libs_mplayer -framework Cocoa -framework QuartzCore -framework OpenGL"
4236 echocheck
"PNG support"
4237 if test "$_png" = auto
; then
4240 # Don't check for -lpng on irix since it has its own libpng
4241 # incompatible with the GNU libpng
4242 res_comment
="disabled on irix (not GNU libpng)"
4249 printf("png.h : %s\n", PNG_LIBPNG_VER_STRING);
4250 printf("libpng: %s\n", png_libpng_ver);
4251 return strcmp(PNG_LIBPNG_VER_STRING, png_libpng_ver);
4254 cc_check
-lpng -lz $_ld_lm && _png
=yes
4258 if test "$_png" = yes ; then
4259 def_png
='#define CONFIG_PNG 1'
4260 extra_ldflags
="$extra_ldflags -lpng -lz"
4262 def_png
='#undef CONFIG_PNG'
4265 echocheck
"MNG support"
4266 if test "$_mng" = auto
; then
4268 return_statement_check libmng.h
'const char * p_ver = mng_version_text()' '!p_ver || p_ver[0] == 0' -lmng -lz $_ld_lm && _mng
=yes
4271 if test "$_mng" = yes ; then
4272 def_mng
='#define CONFIG_MNG 1'
4273 extra_ldflags
="$extra_ldflags -lmng -lz"
4275 def_mng
='#undef CONFIG_MNG'
4278 echocheck
"JPEG support"
4279 if test "$_jpeg" = auto
; then
4281 header_check_broken stdio.h jpeglib.h
-ljpeg $_ld_lm && _jpeg
=yes
4285 if test "$_jpeg" = yes ; then
4286 def_jpeg
='#define CONFIG_JPEG 1'
4287 vomodules
="jpeg $vomodules"
4288 extra_ldflags
="$extra_ldflags -ljpeg"
4290 def_jpeg
='#undef CONFIG_JPEG'
4291 novomodules
="jpeg $novomodules"
4296 echocheck
"PNM support"
4297 if test "$_pnm" = yes; then
4298 def_pnm
="#define CONFIG_PNM 1"
4299 vomodules
="pnm $vomodules"
4301 def_pnm
="#undef CONFIG_PNM"
4302 novomodules
="pnm $novomodules"
4308 echocheck
"GIF support"
4309 # This is to appease people who want to force gif support.
4310 # If it is forced to yes, then we still do checks to determine
4311 # which gif library to use.
4312 if test "$_gif" = yes ; then
4317 if test "$_gif" = auto
; then
4319 for _ld_gif
in "-lungif" "-lgif" ; do
4320 statement_check gif_lib.h
'QuantizeBuffer(0, 0, 0, 0, 0, 0, 0, 0)' $_ld_gif && _gif
=yes && break
4324 # If no library was found, and the user wants support forced,
4325 # then we force it on with libgif, as this is the safest
4326 # assumption IMHO. (libungif & libregif both create symbolic
4327 # links to libgif. We also assume that no x11 support is needed,
4328 # because if you are forcing this, then you _should_ know what
4329 # you are doing. [ Besides, package maintainers should never
4330 # have compiled x11 deps into libungif in the first place. ] )
4333 if test "$_force_gif" = yes && test "$_gif" = no
; then
4338 if test "$_gif" = yes ; then
4339 def_gif
='#define CONFIG_GIF 1'
4340 codecmodules
="gif $codecmodules"
4341 vomodules
="gif89a $vomodules"
4342 res_comment
="old version, some encoding functions disabled"
4343 def_gif_4
='#undef CONFIG_GIF_4'
4344 extra_ldflags
="$extra_ldflags $_ld_gif"
4350 #include <gif_lib.h>
4351 static void catch(int sig) { exit(1); }
4353 signal(SIGSEGV, catch); // catch segfault
4354 printf("EGifPutExtensionFirst is at address %p\n", EGifPutExtensionFirst);
4355 EGifSetGifVersion("89a"); // this will segfault a buggy gif lib.
4359 if cc_check
"$_ld_gif" ; then
4360 def_gif_4
='#define CONFIG_GIF_4 1'
4364 def_gif
='#undef CONFIG_GIF'
4365 def_gif_4
='#undef CONFIG_GIF_4'
4366 novomodules
="gif89a $novomodules"
4367 nocodecmodules
="gif $nocodecmodules"
4372 case "$_gif" in yes*)
4373 echocheck
"broken giflib workaround"
4374 def_gif_tvt_hack
='#define CONFIG_GIF_TVT_HACK 1'
4378 #include <gif_lib.h>
4380 GifFileType gif = {.UserData = NULL};
4381 printf("UserData is at address %p\n", gif.UserData);
4385 if cc_check
"$_ld_gif" ; then
4386 def_gif_tvt_hack
='#undef CONFIG_GIF_TVT_HACK'
4395 echocheck
"VESA support"
4396 if test "$_vesa" = auto
; then
4398 statement_check vbe.h
'vbeInit()' -lvbe -llrmi && _vesa
=yes
4400 if test "$_vesa" = yes ; then
4401 def_vesa
='#define CONFIG_VESA 1'
4402 libs_mplayer
="$libs_mplayer -lvbe -llrmi"
4403 vomodules
="vesa $vomodules"
4405 def_vesa
='#undef CONFIG_VESA'
4406 novomodules
="vesa $novomodules"
4418 def_sdl_sdl_h
="#undef CONFIG_SDL_SDL_H"
4419 if test -z "$_sdlconfig" ; then
4420 if ( sdl-config
--version ) >>"$TMPLOG" 2>&1 ; then
4421 _sdlconfig
="sdl-config"
4422 elif ( sdl11-config
--version ) >>"$TMPLOG" 2>&1 ; then
4423 _sdlconfig
="sdl11-config"
4428 if test "$_sdl" = auto ||
test "$_sdl" = yes ; then
4430 #ifdef CONFIG_SDL_SDL_H
4431 #include <SDL/SDL.h>
4436 // we allow SDL hacking our main() only on OSX
4439 int main(int argc, char *argv[]) {
4440 SDL_Init(SDL_INIT_VIDEO|SDL_INIT_NOPARACHUTE);
4445 for _ld_tmp
in "-lSDL" "-lSDL -lpthread" "-lSDL -lwinmm -lgdi32" "-lSDL -lwinmm -lgdi32 -ldxguid" ; do
4446 if cc_check
-DCONFIG_SDL_SDL_H $_inc_tmp $_ld_tmp ; then
4448 def_sdl_sdl_h
="#define CONFIG_SDL_SDL_H 1"
4452 if test "$_sdl" = no
&& "$_sdlconfig" --version >>"$TMPLOG" 2>&1 ; then
4453 res_comment
="using $_sdlconfig"
4455 _inc_tmp
="$($_sdlconfig --cflags | cut -d " " -f 1,5,6 | sed s/no-cygwin/cygwin/)"
4456 _ld_tmp
="$($_sdlconfig --libs | cut -d " " -f 1,4,6 | sed s/no-cygwin/cygwin/)"
4458 _inc_tmp
=$
($_sdlconfig --cflags |
sed s
/-Dmain=SDL_main
//)
4459 _ld_tmp
=$
($_sdlconfig --libs |
sed -e s
/-mwindows// -e s
/-lmingw32//)
4461 _inc_tmp
="$($_sdlconfig --cflags)"
4462 _ld_tmp
="$($_sdlconfig --libs)"
4464 if cc_check
$_inc_tmp $_ld_tmp >>"$TMPLOG" 2>&1 ; then
4466 elif cc_check
$_inc_tmp $_ld_tmp -lstdc++ >>"$TMPLOG" 2>&1 ; then
4467 # HACK for BeOS/Haiku SDL
4468 _ld_tmp
="$_ld_tmp -lstdc++"
4473 if test "$_sdl" = yes ; then
4474 def_sdl
='#define CONFIG_SDL 1'
4475 extra_cflags
="$extra_cflags $_inc_tmp"
4476 libs_mplayer
="$libs_mplayer $_ld_tmp"
4477 vomodules
="sdl $vomodules"
4478 aomodules
="sdl $aomodules"
4480 def_sdl
='#undef CONFIG_SDL'
4481 novomodules
="sdl $novomodules"
4482 noaomodules
="sdl $noaomodules"
4487 # make sure this stays below CoreVideo to avoid issues due to namespace
4488 # conflicts between -lGL and -framework OpenGL
4490 #Note: this test is run even with --enable-gl since we autodetect linker flags
4491 if (test "$_x11" = yes ||
test "$_sdl" = yes ||
test "$_cocoa" = yes || win32
) && test "$_gl" != no
; then
4494 #include <windows.h>
4496 #elif defined(GL_SDL)
4498 #ifdef CONFIG_SDL_SDL_H
4499 #include <SDL/SDL.h>
4504 // we allow SDL hacking our main() only on OSX
4509 #include <X11/Xlib.h>
4512 int main(int argc, char *argv[]) {
4515 wglCreateContext(dc);
4516 #elif defined(GL_SDL)
4517 SDL_GL_SwapBuffers();
4519 glXCreateContext(NULL, NULL, NULL, True);
4526 for _ld_tmp
in "" -lGL "-lGL -lXdamage" "-lGL $_ld_pthread" ; do
4527 if test "$_cocoa" != yes && cc_check
$_ld_tmp $_ld_lm ; then
4530 libs_mplayer
="$libs_mplayer $_ld_tmp $_ld_dl"
4534 if cc_check
-DGL_WIN32 -lopengl32 ; then
4537 libs_mplayer
="$libs_mplayer -lopengl32 -lgdi32"
4539 if test "$_cocoa" = yes ; then
4543 # last so it can reuse any linker etc. flags detected before
4544 if test "$_sdl" = yes ; then
4545 if cc_check
-DGL_SDL ||
4546 cc_check
-DCONFIG_SDL_SDL_H -DGL_SDL ; then
4549 elif cc_check
-DGL_SDL -lGL ||
4550 cc_check
-DCONFIG_SDL_SDL_H -DGL_SDL -lGL ; then
4553 libs_mplayer
="$libs_mplayer -lGL"
4559 if test "$_gl" = yes ; then
4560 def_gl
='#define CONFIG_GL 1'
4561 res_comment
="backends:"
4562 if test "$_gl_cocoa" = yes ; then
4563 def_gl_cocoa
='#define CONFIG_GL_COCOA 1'
4564 res_comment
="$res_comment cocoa"
4566 if test "$_gl_win32" = yes ; then
4567 def_gl_win32
='#define CONFIG_GL_WIN32 1'
4568 res_comment
="$res_comment win32"
4570 if test "$_gl_x11" = yes ; then
4571 def_gl_x11
='#define CONFIG_GL_X11 1'
4572 res_comment
="$res_comment x11"
4574 if test "$_gl_sdl" = yes ; then
4575 def_gl_sdl
='#define CONFIG_GL_SDL 1'
4576 res_comment
="$res_comment sdl"
4578 vomodules
="opengl $vomodules"
4580 def_gl
='#undef CONFIG_GL'
4581 def_gl_cocoa
='#undef CONFIG_GL_COCOA'
4582 def_gl_win32
='#undef CONFIG_GL_WIN32'
4583 def_gl_x11
='#undef CONFIG_GL_X11'
4584 def_gl_sdl
='#undef CONFIG_GL_SDL'
4585 novomodules
="opengl $novomodules"
4592 echocheck
"Windows waveout"
4593 if test "$_win32waveout" = auto
; then
4595 header_check_broken windows.h mmsystem.h
-lwinmm && _win32waveout
=yes
4597 if test "$_win32waveout" = yes ; then
4598 def_win32waveout
='#define CONFIG_WIN32WAVEOUT 1'
4599 libs_mplayer
="$libs_mplayer -lwinmm"
4600 aomodules
="win32 $aomodules"
4602 def_win32waveout
='#undef CONFIG_WIN32WAVEOUT'
4603 noaomodules
="win32 $noaomodules"
4605 echores
"$_win32waveout"
4607 echocheck
"Direct3D"
4608 if test "$_direct3d" = auto
; then
4610 header_check d3d9.h
&& _direct3d
=yes
4612 if test "$_direct3d" = yes ; then
4613 def_direct3d
='#define CONFIG_DIRECT3D 1'
4614 vomodules
="direct3d $vomodules"
4616 def_direct3d
='#undef CONFIG_DIRECT3D'
4617 novomodules
="direct3d $novomodules"
4619 echores
"$_direct3d"
4622 if test "$_directx" = auto
; then
4626 int main(void) { return 0; }
4629 cc_check
-lgdi32 && _directx
=yes
4631 if test "$_directx" = yes ; then
4632 def_directx
='#define CONFIG_DIRECTX 1'
4633 libs_mplayer
="$libs_mplayer -lgdi32"
4634 vomodules
="directx $vomodules"
4635 aomodules
="dsound $aomodules"
4637 def_directx
='#undef CONFIG_DIRECTX'
4638 novomodules
="directx $novomodules"
4639 noaomodules
="dsound $noaomodules"
4647 if test "$_dxr3" = auto
; then
4649 header_check linux
/em8300.h
&& _dxr3
=yes
4651 if test "$_dxr3" = yes ; then
4652 def_dxr3
='#define CONFIG_DXR3 1'
4653 vomodules
="dxr3 $vomodules"
4655 def_dxr3
='#undef CONFIG_DXR3'
4656 novomodules
="dxr3 $novomodules"
4661 echocheck
"IVTV TV-Out (pre linux-2.6.24)"
4662 if test "$_ivtv" = auto
; then
4664 #include <sys/time.h>
4665 #include <linux/videodev2.h>
4666 #include <linux/ivtv.h>
4667 #include <sys/ioctl.h>
4669 struct ivtv_cfg_stop_decode sd;
4670 struct ivtv_cfg_start_decode sd1;
4671 ioctl(0, IVTV_IOC_START_DECODE, &sd1);
4672 ioctl(0, IVTV_IOC_STOP_DECODE, &sd);
4676 cc_check
&& _ivtv
=yes
4678 if test "$_ivtv" = yes ; then
4679 def_ivtv
='#define CONFIG_IVTV 1'
4680 vomodules
="ivtv $vomodules"
4681 aomodules
="ivtv $aomodules"
4683 def_ivtv
='#undef CONFIG_IVTV'
4684 novomodules
="ivtv $novomodules"
4685 noaomodules
="ivtv $noaomodules"
4690 echocheck
"V4L2 MPEG Decoder"
4691 if test "$_v4l2" = auto
; then
4693 #include <sys/time.h>
4694 #include <linux/videodev2.h>
4695 #include <linux/version.h>
4697 #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,22)
4698 #error kernel headers too old, need 2.6.22
4700 struct v4l2_ext_controls ctrls;
4701 ctrls.ctrl_class = V4L2_CTRL_CLASS_MPEG;
4706 cc_check
&& _v4l2
=yes
4708 if test "$_v4l2" = yes ; then
4709 def_v4l2
='#define CONFIG_V4L2_DECODER 1'
4710 vomodules
="v4l2 $vomodules"
4711 aomodules
="v4l2 $aomodules"
4713 def_v4l2
='#undef CONFIG_V4L2_DECODER'
4714 novomodules
="v4l2 $novomodules"
4715 noaomodules
="v4l2 $noaomodules"
4726 echocheck
"OSS Audio"
4727 if test "$_ossaudio" = auto
; then
4729 return_check
$_soundcard_header SNDCTL_DSP_SETFRAGMENT
&& _ossaudio
=yes
4731 if test "$_ossaudio" = yes ; then
4732 def_ossaudio
='#define CONFIG_OSS_AUDIO 1'
4733 aomodules
="oss $aomodules"
4735 #include <$_soundcard_header>
4736 #ifdef OPEN_SOUND_SYSTEM
4737 int main(void) { return 0; }
4739 #error Not the real thing
4743 cc_check
&& _real_ossaudio
=yes
4744 if test "$_real_ossaudio" = yes; then
4745 def_ossaudio_devdsp
='#define PATH_DEV_DSP "/dev/dsp"'
4746 # Check for OSS4 headers (override default headers)
4747 # Does not apply to systems where OSS4 is native (e.g. FreeBSD)
4748 if test -f /etc
/oss.conf
; then
4750 _ossinc
="$OSSLIBDIR/include"
4751 if test -f "$_ossinc/sys/soundcard.h"; then
4752 extra_cflags
="-I$_ossinc $extra_cflags"
4755 elif netbsd || openbsd
; then
4756 def_ossaudio_devdsp
='#define PATH_DEV_DSP "/dev/sound"'
4757 extra_ldflags
="$extra_ldflags -lossaudio"
4759 def_ossaudio_devdsp
='#define PATH_DEV_DSP "/dev/dsp"'
4761 def_ossaudio_devmixer
='#define PATH_DEV_MIXER "/dev/mixer"'
4763 def_ossaudio
='#undef CONFIG_OSS_AUDIO'
4764 def_ossaudio_devdsp
='#define PATH_DEV_DSP ""'
4765 def_ossaudio_devmixer
='#define PATH_DEV_MIXER ""'
4766 noaomodules
="oss $noaomodules"
4768 echores
"$_ossaudio"
4772 if test "$_arts" = auto
; then
4774 if ( artsc-config
--version ) >> "$TMPLOG" 2>&1 ; then
4775 statement_check artsc.h
'arts_init()' $
(artsc-config
--libs) $
(artsc-config
--cflags) &&
4780 if test "$_arts" = yes ; then
4781 def_arts
='#define CONFIG_ARTS 1'
4782 aomodules
="arts $aomodules"
4783 libs_mplayer
="$libs_mplayer $(artsc-config --libs)"
4784 extra_cflags
="$extra_cflags $(artsc-config --cflags)"
4786 noaomodules
="arts $noaomodules"
4792 if test "$_esd" = auto
; then
4794 if ( esd-config
--version ) >> "$TMPLOG" 2>&1 ; then
4795 statement_check esd.h
'esd_open_sound("test")' $
(esd-config
--libs) $
(esd-config
--cflags) && _esd
=yes
4800 if test "$_esd" = yes ; then
4801 def_esd
='#define CONFIG_ESD 1'
4802 aomodules
="esd $aomodules"
4803 libs_mplayer
="$libs_mplayer $(esd-config --libs)"
4804 extra_cflags
="$extra_cflags $(esd-config --cflags)"
4806 echocheck
"esd_get_latency()"
4807 statement_check esd.h
'esd_get_latency(0)' $
(esd-config
--libs) $
(esd-config
--cflags) &&
4808 _esd_latency
=yes && def_esd_latency
='#define CONFIG_ESD_LATENCY 1'
4809 echores
"$_esd_latency"
4811 def_esd
='#undef CONFIG_ESD'
4812 def_esd_latency
='#undef CONFIG_ESD_LATENCY'
4813 noaomodules
="esd $noaomodules"
4817 if test "$_rsound" = auto
; then
4819 statement_check rsound.h
'rsd_init(NULL);' -lrsound && _rsound
=yes
4823 if test "$_rsound" = yes ; then
4824 def_rsound
='#define CONFIG_RSOUND 1'
4825 aomodules
="rsound $aomodules"
4826 libs_mplayer
="$libs_mplayer -lrsound"
4828 def_rsound
='#undef CONFIG_RSOUND'
4829 noaomodules
="rsound $noaomodules"
4834 if test "$_nas" = auto
; then
4836 header_check audio
/audiolib.h
$_ld_lm -laudio -lXt && _nas
=yes
4838 if test "$_nas" = yes ; then
4839 def_nas
='#define CONFIG_NAS 1'
4840 libs_mplayer
="$libs_mplayer -laudio -lXt"
4841 aomodules
="nas $aomodules"
4843 noaomodules
="nas $noaomodules"
4844 def_nas
='#undef CONFIG_NAS'
4850 if test "$_pulse" = auto
; then
4852 if pkg_config_add
'libpulse >= 0.9' ; then
4858 if test "$_pulse" = yes ; then
4859 def_pulse
='#define CONFIG_PULSE 1'
4860 aomodules
="pulse $aomodules"
4862 def_pulse
='#undef CONFIG_PULSE'
4863 noaomodules
="pulse $noaomodules"
4868 if test "$_jack" = auto
; then
4870 if pkg_config_add jack
; then
4875 if test "$_jack" = yes ; then
4876 def_jack
='#define CONFIG_JACK 1'
4877 aomodules
="jack $aomodules"
4879 noaomodules
="jack $noaomodules"
4884 if test "$_openal" = auto
; then
4888 #include <OpenAL/al.h>
4893 alSourceQueueBuffers(0, 0, 0);
4894 // alGetSourcei(0, AL_SAMPLE_OFFSET, 0);
4898 for I
in "-lopenal" "-lopenal32" "-framework OpenAL" ; do
4899 cc_check
$I && _openal
=yes && break
4900 cc_check
-DOPENAL_AL_H=1 $I && def_openal_h
='#define OPENAL_AL_H 1' && _openal
=yes && break
4902 test "$_openal" = yes && libs_mplayer
="$libs_mplayer $I"
4904 if test "$_openal" = yes ; then
4905 def_openal
='#define CONFIG_OPENAL 1'
4906 aomodules
="openal $aomodules"
4908 noaomodules
="openal $noaomodules"
4912 echocheck
"ALSA audio"
4913 if test "$_alloca" != yes ; then
4915 res_comment
="alloca missing"
4917 if test "$_alsa" = auto
; then
4919 if pkg_config_add
"alsa >= 1.0.9" ; then
4923 def_alsa
='#undef CONFIG_ALSA'
4924 if test "$_alsa" = yes ; then
4925 aomodules
="alsa $aomodules"
4926 def_alsa
='#define CONFIG_ALSA 1'
4928 noaomodules
="alsa $noaomodules"
4933 echocheck
"Sun audio"
4934 if test "$_sunaudio" = auto
; then
4936 #include <sys/types.h>
4937 #include <sys/audioio.h>
4938 int main(void) { audio_info_t info; AUDIO_INITINFO(&info); return 0; }
4941 cc_check
&& _sunaudio
=yes
4943 if test "$_sunaudio" = yes ; then
4944 def_sunaudio
='#define CONFIG_SUN_AUDIO 1'
4945 aomodules
="sun $aomodules"
4947 def_sunaudio
='#undef CONFIG_SUN_AUDIO'
4948 noaomodules
="sun $noaomodules"
4950 echores
"$_sunaudio"
4954 echocheck
"CoreAudio"
4955 if test "$_coreaudio" = auto
; then
4957 #include <CoreAudio/CoreAudio.h>
4958 #include <AudioToolbox/AudioToolbox.h>
4959 #include <AudioUnit/AudioUnit.h>
4960 int main(void) { return 0; }
4963 cc_check
-framework CoreAudio
-framework AudioUnit
-framework AudioToolbox
&& _coreaudio
=yes
4965 if test "$_coreaudio" = yes ; then
4966 libs_mplayer
="$libs_mplayer -framework CoreAudio -framework AudioUnit -framework AudioToolbox"
4967 def_coreaudio
='#define CONFIG_COREAUDIO 1'
4968 aomodules
="coreaudio $aomodules"
4970 def_coreaudio
='#undef CONFIG_COREAUDIO'
4971 noaomodules
="coreaudio $noaomodules"
4978 echocheck
"SGI audio"
4979 if test "$_sgiaudio" = auto
; then
4981 header_check dmedia
/audio.h
&& _sgiaudio
=yes
4983 if test "$_sgiaudio" = "yes" ; then
4984 def_sgiaudio
='#define CONFIG_SGI_AUDIO 1'
4985 libs_mplayer
="$libs_mplayer -laudio"
4986 aomodules
="sgi $aomodules"
4988 def_sgiaudio
='#undef CONFIG_SGI_AUDIO'
4989 noaomodules
="sgi $noaomodules"
4991 echores
"$_sgiaudio"
4995 # set default CD/DVD devices
4997 default_cdrom_device
="D:"
4999 default_cdrom_device
="/dev/disk1"
5000 elif dragonfly
; then
5001 default_cdrom_device
="/dev/cd0"
5003 default_cdrom_device
="/dev/acd0"
5005 default_cdrom_device
="/dev/rcd0c"
5007 default_cdrom_device
="/vol/dev/aliases/cdrom0"
5008 # Modern Solaris versions use HAL instead of the vold daemon, the volfs
5009 # file system and the volfs service.
5010 test -r "/cdrom/cdrom0" && default_cdrom_device
="/cdrom/cdrom0"
5012 default_cdrom_device
="a1ide.device:2"
5014 default_cdrom_device
="/dev/cdrom"
5017 if win32 || dragonfly || freebsd || openbsd || sunos || amigaos
; then
5018 default_dvd_device
=$default_cdrom_device
5020 default_dvd_device
="/dev/rdiskN"
5022 default_dvd_device
="/dev/dvd"
5026 echocheck
"VCD support"
5027 if test "$_vcd" = auto
; then
5029 if linux || freebsd || netbsd || openbsd || dragonfly || bsdos || darwin || sunos
; then
5032 header_check
ddk
/ntddcdrm.h
&& _vcd
=yes
5035 if test "$_vcd" = yes; then
5036 inputmodules
="vcd $inputmodules"
5037 def_vcd
='#define CONFIG_VCD 1'
5039 def_vcd
='#undef CONFIG_VCD'
5040 noinputmodules
="vcd $noinputmodules"
5041 res_comment
="not supported on this OS"
5047 echocheck
"Blu-ray support"
5048 if test "$_bluray" = auto
; then
5050 statement_check libbluray
/bluray.h
'bd_get_title_info(0, 0, 0)' -lbluray && _bluray
=yes
5052 if test "$_bluray" = yes ; then
5053 def_bluray
='#define CONFIG_LIBBLURAY 1'
5054 extra_ldflags
="$extra_ldflags -lbluray"
5055 inputmodules
="bluray $inputmodules"
5057 def_bluray
='#undef CONFIG_LIBBLURAY'
5058 noinputmodules
="bluray $noinputmodules"
5063 if test "$_dvdread_internal" = auto
&& test ! -f "libdvdread4/dvd_reader.c" ; then
5064 _dvdread_internal
=no
5066 if test "$_dvdread_internal" = auto
; then
5067 _dvdread_internal
=no
5069 if (linux || freebsd || netbsd || openbsd || dragonfly || sunos || hpux
) &&
5070 (test "$_dvd" = yes ||
test "$_cdrom" = yes ||
test "$_cdio" = yes ||
5071 test "$_dvdio" = yes ||
test "$_bsdi_dvd" = yes) ||
5072 darwin || win32
; then
5073 _dvdread_internal
=yes
5075 extra_cflags
="-Ilibdvdread4 $extra_cflags"
5077 elif test "$_dvdread" = auto
; then
5079 if test "$_dl" = yes; then
5080 _dvdreadcflags
=$
($_dvdreadconfig --cflags 2> /dev
/null
)
5081 _dvdreadlibs
=$
($_dvdreadconfig --libs 2> /dev
/null
)
5082 if header_check dvdread
/dvd_reader.h
$_dvdreadcflags $_dvdreadlibs $_ld_dl ; then
5084 extra_cflags
="$extra_cflags $_dvdreadcflags"
5085 extra_ldflags
="$extra_ldflags $_dvdreadlibs"
5086 res_comment
="external"
5091 if test "$_dvdread_internal" = yes; then
5092 def_dvdread
='#define CONFIG_DVDREAD 1'
5093 inputmodules
="dvdread(internal) $inputmodules"
5094 res_comment
="internal"
5095 elif test "$_dvdread" = yes; then
5096 def_dvdread
='#define CONFIG_DVDREAD 1'
5097 extra_ldflags
="$extra_ldflags -ldvdread"
5098 inputmodules
="dvdread(external) $inputmodules"
5099 res_comment
="external"
5101 def_dvdread
='#undef CONFIG_DVDREAD'
5102 noinputmodules
="dvdread $noinputmodules"
5107 echocheck
"internal libdvdcss"
5108 if test "$_libdvdcss_internal" = auto
; then
5109 _libdvdcss_internal
=no
5110 test "$_dvdread_internal" = yes && test -d libdvdcss
&& _libdvdcss_internal
=yes
5111 hpux
&& test "$_hpux_scsi_h" = no
&& _libdvdcss_internal
=no
5113 if test "$_libdvdcss_internal" = yes ; then
5114 if linux || netbsd || openbsd || bsdos
; then
5115 def_dvd_linux
='#define HAVE_LINUX_DVD_STRUCT 1'
5116 openbsd
&& def_dvd_openbsd
='#define HAVE_OPENBSD_DVD_STRUCT 1'
5117 elif freebsd || dragonfly
; then
5118 def_dvd_bsd
='#define HAVE_BSD_DVD_STRUCT 1'
5120 def_dvd_darwin
='#define DARWIN_DVD_IOCTL'
5121 extra_ldflags
="$extra_ldflags -framework IOKit -framework Carbon"
5123 cflags_libdvdcss
="-DSYS_CYGWIN -DWIN32"
5125 cflags_libdvdcss
="-DSYS_BEOS"
5127 cflags_libdvdcss_dvdread
="-Ilibdvdcss"
5128 def_dvdcss
="#define HAVE_DVDCSS_DVDCSS_H 1"
5129 inputmodules
="libdvdcss(internal) $inputmodules"
5131 noinputmodules
="libdvdcss(internal) $noinputmodules"
5133 echores
"$_libdvdcss_internal"
5136 echocheck
"cdparanoia"
5137 if test "$_cdparanoia" = auto
; then
5139 #include <cdda_interface.h>
5140 #include <cdda_paranoia.h>
5141 // This need a better test. How ?
5142 int main(void) { void *test = cdda_verbose_set; return test == (void *)1; }
5145 for _inc_tmp
in "" "-I/usr/include/cdda" "-I/usr/local/include/cdda" ; do
5146 cc_check
$_inc_tmp -lcdda_interface -lcdda_paranoia $_ld_lm &&
5147 _cdparanoia
=yes && extra_cflags
="$extra_cflags $_inc_tmp" && break
5150 if test "$_cdparanoia" = yes ; then
5152 extra_ldflags
="$extra_ldflags -lcdda_interface -lcdda_paranoia"
5153 openbsd
&& extra_ldflags
="$extra_ldflags -lutil"
5155 echores
"$_cdparanoia"
5159 if test "$_libcdio" = auto
&& test "$_cdparanoia" = no
; then
5161 if pkg_config_add libcdio_paranoia
; then
5165 if test "$_libcdio" = yes && test "$_cdparanoia" = no
; then
5167 def_libcdio
='#define CONFIG_LIBCDIO 1'
5168 def_havelibcdio
='yes'
5171 if test "$_cdparanoia" = yes ; then
5172 res_comment
="using cdparanoia"
5174 def_libcdio
='#undef CONFIG_LIBCDIO'
5175 def_havelibcdio
='no'
5179 if test "$_cdda" = yes ; then
5180 test $_cddb = auto
&& test $networking = yes && _cddb
=yes
5181 def_cdparanoia
='#define CONFIG_CDDA 1'
5182 inputmodules
="cdda $inputmodules"
5184 def_cdparanoia
='#undef CONFIG_CDDA'
5185 noinputmodules
="cdda $noinputmodules"
5188 if test "$_cddb" = yes ; then
5189 def_cddb
='#define CONFIG_CDDB 1'
5190 inputmodules
="cddb $inputmodules"
5193 def_cddb
='#undef CONFIG_CDDB'
5194 noinputmodules
="cddb $noinputmodules"
5197 echocheck
"bitmap font support"
5198 if test "$_bitmap_font" = yes ; then
5199 def_bitmap_font
="#define CONFIG_BITMAP_FONT 1"
5201 def_bitmap_font
="#undef CONFIG_BITMAP_FONT"
5203 echores
"$_bitmap_font"
5206 echocheck
"freetype >= 2.0.9"
5208 # freetype depends on iconv
5209 if test "$_iconv" = no
; then
5211 res_comment
="iconv support needed"
5214 if test "$_freetype" = auto
; then
5215 if pkg_config_add freetype2
; then
5218 die
"Unable to find development files for libfreetype. Aborting. If you really mean to compile without FreeType support use --disable-freetype."
5221 if test "$_freetype" = yes ; then
5222 def_freetype
='#define CONFIG_FREETYPE 1'
5224 def_freetype
='#undef CONFIG_FREETYPE'
5226 echores
"$_freetype"
5228 if test "$_freetype" = no
; then
5230 res_comment
="FreeType support needed"
5232 echocheck
"fontconfig"
5233 if test "$_fontconfig" = auto
; then
5234 if pkg_config_add
'fontconfig >= 2.4.2' ; then
5237 die
"Unable to find development files for libfontconfig. Aborting. If you really mean to compile without fontconfig support use --disable-fontconfig."
5240 if test "$_fontconfig" = yes ; then
5241 def_fontconfig
='#define CONFIG_FONTCONFIG 1'
5243 def_fontconfig
='#undef CONFIG_FONTCONFIG'
5245 echores
"$_fontconfig"
5248 echocheck
"SSA/ASS support"
5249 if test "$_ass" = auto
; then
5250 if pkg_config_add libass
; then
5252 def_ass
='#define CONFIG_ASS 1'
5254 die
"Unable to find development files for libass. Aborting. If you really mean to compile without libass support use --disable-libass."
5257 def_ass
='#undef CONFIG_ASS'
5262 echocheck
"fribidi with charsets"
5263 if test "$_fribidi" = auto
; then
5265 if pkg_config_add fribidi
; then
5269 if test "$_fribidi" = yes ; then
5270 def_fribidi
='#define CONFIG_FRIBIDI 1'
5272 def_fribidi
='#undef CONFIG_FRIBIDI'
5278 if test "$_enca" = auto
; then
5280 statement_check enca.h
'enca_get_languages(NULL)' -lenca $_ld_lm && _enca
=yes
5282 if test "$_enca" = yes ; then
5283 def_enca
='#define CONFIG_ENCA 1'
5284 extra_ldflags
="$extra_ldflags -lenca"
5286 def_enca
='#undef CONFIG_ENCA'
5293 statement_check zlib.h
'inflate(0, Z_NO_FLUSH)' -lz && _zlib
=yes
5294 if test "$_zlib" = yes ; then
5295 def_zlib
='#define CONFIG_ZLIB 1'
5296 extra_ldflags
="$extra_ldflags -lz"
5298 def_zlib
='#define CONFIG_ZLIB 0'
5304 if test "$_rtc" = auto
; then
5306 #include <sys/ioctl.h>
5308 #include <linux/rtc.h>
5311 #define RTC_PIE_ON RTCIO_PIE_ON
5313 int main(void) { return RTC_PIE_ON; }
5316 cc_check
&& _rtc
=yes
5319 if test "$_rtc" = yes ; then
5320 def_rtc
='#define HAVE_RTC 1'
5322 def_rtc
='#undef HAVE_RTC'
5327 echocheck
"mad support"
5328 if test "$_mad" = auto
; then
5330 header_check mad.h
-lmad && _mad
=yes
5332 if test "$_mad" = yes ; then
5333 def_mad
='#define CONFIG_LIBMAD 1'
5334 extra_ldflags
="$extra_ldflags -lmad"
5335 codecmodules
="libmad $codecmodules"
5337 def_mad
='#undef CONFIG_LIBMAD'
5338 nocodecmodules
="libmad $nocodecmodules"
5342 echocheck
"OggVorbis support"
5343 if test "$_libvorbis" = auto
; then
5345 statement_check vorbis
/codec.h
'vorbis_packet_blocksize(0, 0)' -lvorbis -logg $_ld_lm && _libvorbis
=yes && _tremor
=no
5346 elif test "$_libvorbis" = yes ; then
5349 if test "$_tremor" = auto
; then
5351 statement_check tremor
/ivorbiscodec.h
'vorbis_packet_blocksize(0, 0)' -logg -lvorbisidec $_ld_lm && _tremor
=yes
5353 if test "$_tremor" = yes ; then
5355 def_vorbis
='#define CONFIG_OGGVORBIS 1'
5356 def_tremor
='#define CONFIG_TREMOR 1'
5357 codecmodules
="tremor(external) $codecmodules"
5358 res_comment
="external Tremor"
5359 extra_ldflags
="$extra_ldflags -logg -lvorbisidec"
5360 elif test "$_libvorbis" = yes ; then
5362 def_vorbis
='#define CONFIG_OGGVORBIS 1'
5363 codecmodules
="libvorbis $codecmodules"
5364 res_comment
="libvorbis"
5365 extra_ldflags
="$extra_ldflags -lvorbis -logg"
5368 nocodecmodules
="libvorbis $nocodecmodules"
5372 echocheck
"libspeex (version >= 1.1 required)"
5373 if test "$_speex" = auto
; then
5377 #include <speex/speex.h>
5378 int main(void) { SpeexBits bits; void *dec = NULL; speex_decode_int(dec, &bits, dec); return 0; }
5380 cc_check
-lspeex $_ld_lm && _speex
=yes
5382 if test "$_speex" = yes ; then
5383 def_speex
='#define CONFIG_SPEEX 1'
5384 extra_ldflags
="$extra_ldflags -lspeex"
5385 codecmodules
="speex $codecmodules"
5387 def_speex
='#undef CONFIG_SPEEX'
5388 nocodecmodules
="speex $nocodecmodules"
5392 echocheck
"OggTheora support"
5393 if test "$_theora" = auto
; then
5395 if pkg_config_add theora
; then
5399 if test "$_theora" = yes ; then
5400 def_theora
='#define CONFIG_OGGTHEORA 1'
5401 codecmodules
="libtheora $codecmodules"
5403 def_theora
='#undef CONFIG_OGGTHEORA'
5404 nocodecmodules
="libtheora $nocodecmodules"
5408 # Any version of libmpg123 shall be fine.
5409 echocheck
"mpg123 support"
5410 def_mpg123
='#undef CONFIG_MPG123'
5411 if test "$_mpg123" = auto
; then
5413 statement_check mpg123.h
'mpg123_init()' -lmpg123 && _mpg123
=yes && extra_ldflags
="$extra_ldflags -lmpg123"
5415 if test "$_mpg123" = yes ; then
5416 def_mpg123
='#define CONFIG_MPG123 1'
5417 codecmodules
="mpg123 $codecmodules"
5419 nocodecmodules
="mpg123 $nocodecmodules"
5423 echocheck
"liba52 support"
5424 def_liba52
='#undef CONFIG_LIBA52'
5425 if test "$_liba52" = auto
; then
5428 #include <inttypes.h>
5429 #include <a52dec/a52.h>
5430 int main(void) { a52_state_t *testHand; testHand=a52_init(0); return 0; }
5432 cc_check
-la52 && _liba52
=yes && extra_ldflags
="$extra_ldflags -la52"
5434 if test "$_liba52" = yes ; then
5435 def_liba52
='#define CONFIG_LIBA52 1'
5436 codecmodules
="liba52 $codecmodules"
5438 nocodecmodules
="liba52 $nocodecmodules"
5442 echocheck
"libdca support"
5443 if test "$_libdca" = auto
; then
5445 for _ld_dca
in -ldca -ldts ; do
5446 statement_check_broken stdint.h dts.h
'dts_init(0)' $_ld_dca $_ld_lm &&
5447 extra_ldflags
="$extra_ldflags $_ld_dca" && _libdca
=yes && break
5450 if test "$_libdca" = yes ; then
5451 def_libdca
='#define CONFIG_LIBDCA 1'
5452 codecmodules
="libdca $codecmodules"
5454 def_libdca
='#undef CONFIG_LIBDCA'
5455 nocodecmodules
="libdca $nocodecmodules"
5459 echocheck
"libmpcdec (musepack, version >= 1.2.1 required)"
5460 if test "$_musepack" = yes ; then
5464 #include <mpcdec/mpcdec.h>
5466 mpc_streaminfo info;
5467 mpc_decoder decoder;
5468 mpc_decoder_set_streaminfo(&decoder, &info);
5469 mpc_decoder_decode_frame(&decoder, NULL, 0, NULL);
5473 cc_check
-lmpcdec $_ld_lm && _musepack
=yes
5475 if test "$_musepack" = yes ; then
5476 def_musepack
='#define CONFIG_MUSEPACK 1'
5477 extra_ldflags
="$extra_ldflags -lmpcdec"
5478 codecmodules
="musepack $codecmodules"
5480 def_musepack
='#undef CONFIG_MUSEPACK'
5481 nocodecmodules
="musepack $nocodecmodules"
5483 echores
"$_musepack"
5486 echocheck
"FAAD2 support"
5487 if test "$_faad" = auto
; then
5491 #ifndef FAAD_MIN_STREAMSIZE
5492 #error Too old version
5494 int main(void) { faacDecHandle testhand; faacDecFrameInfo testinfo;
5495 testhand = faacDecOpen(); faacDecInit(0, 0, 0, 0, 0); return 0; }
5497 cc_check
-lfaad $_ld_lm && _faad
=yes
5500 def_faad
='#undef CONFIG_FAAD'
5501 if test "$_faad" = yes ; then
5502 def_faad
='#define CONFIG_FAAD 1'
5503 extra_ldflags
="$extra_ldflags -lfaad"
5504 codecmodules
="faad2 $codecmodules"
5506 nocodecmodules
="faad2 $nocodecmodules"
5511 echocheck
"LADSPA plugin support"
5512 if test "$_ladspa" = auto
; then
5514 statement_check ladspa.h
'LADSPA_Descriptor ld = {0}' && _ladspa
=yes
5516 if test "$_ladspa" = yes; then
5517 def_ladspa
="#define CONFIG_LADSPA 1"
5519 def_ladspa
="#undef CONFIG_LADSPA"
5524 echocheck
"libbs2b audio filter support"
5525 if test "$_libbs2b" = auto
; then
5527 if pkg_config_add libbs2b
; then
5531 def_libbs2b
="#undef CONFIG_LIBBS2B"
5532 test "$_libbs2b" = yes && def_libbs2b
="#define CONFIG_LIBBS2B 1"
5536 if test -z "$_codecsdir" ; then
5537 for dir
in "$_libdir/codecs" "$_libdir/win32" /usr
/local
/lib
/codecs \
5538 /usr
/lib
/codecs
/usr
/local
/lib
/win32
/usr
/lib
/win32
; do
5539 if test -d "$dir" ; then
5545 # Fall back on default directory.
5546 if test -z "$_codecsdir" ; then
5547 _codecsdir
="$_libdir/codecs"
5548 mingw32
&& _codecsdir
="codecs"
5552 echocheck
"Win32 codecs"
5553 if test "$_win32dll" = auto
; then
5555 if x86_32
&& ! qnx
; then
5559 if test "$_win32dll" = yes ; then
5560 def_win32dll
='#define CONFIG_WIN32DLL 1'
5562 def_win32_loader
='#define WIN32_LOADER 1'
5563 _win32_emulation
=yes
5565 extra_ldflags
="$extra_ldflags -ladvapi32 -lole32"
5566 res_comment
="using native windows"
5568 codecmodules
="win32 $codecmodules"
5570 def_win32dll
='#undef CONFIG_WIN32DLL'
5571 def_win32_loader
='#undef WIN32_LOADER'
5572 nocodecmodules
="win32 $nocodecmodules"
5574 echores
"$_win32dll"
5577 echocheck
"XAnim codecs"
5578 if test "$_xanim" = auto
; then
5580 res_comment
="dynamic loader support needed"
5581 if test "$_dl" = yes ; then
5585 if test "$_xanim" = yes ; then
5586 def_xanim
='#define CONFIG_XANIM 1'
5587 codecmodules
="xanim $codecmodules"
5589 def_xanim
='#undef CONFIG_XANIM'
5590 nocodecmodules
="xanim $nocodecmodules"
5595 echocheck
"RealPlayer codecs"
5596 if test "$_real" = auto
; then
5598 res_comment
="dynamic loader support needed"
5599 if test "$_dl" = yes ||
test "$_win32dll" = yes &&
5600 (linux || freebsd || netbsd || openbsd || dragonfly || darwin || win32
) ; then
5604 if test "$_real" = yes ; then
5605 def_real
='#define CONFIG_REALCODECS 1'
5606 codecmodules
="real $codecmodules"
5608 def_real
='#undef CONFIG_REALCODECS'
5609 nocodecmodules
="real $nocodecmodules"
5614 echocheck
"QuickTime codecs"
5616 def_qtx_win32
='#undef CONFIG_QTX_CODECS_WIN32'
5617 if test "$_qtx" = auto
; then
5618 test "$_win32dll" = yes ||
test "$quicktime" = yes && _qtx
=yes
5620 if test "$_qtx" = yes ; then
5621 def_qtx
='#define CONFIG_QTX_CODECS 1'
5622 win32
&& _qtx_codecs_win32
=yes && def_qtx_win32
='#define CONFIG_QTX_CODECS_WIN32 1'
5623 codecmodules
="qtx $codecmodules"
5624 darwin || win32 || _qtx_emulation
=yes
5626 def_qtx
='#undef CONFIG_QTX_CODECS'
5627 nocodecmodules
="qtx $nocodecmodules"
5631 echocheck
"Nemesi Streaming Media libraries"
5632 if test "$_nemesi" = auto
&& test "$networking" = yes ; then
5634 if pkg_config_add libnemesi
; then
5638 if test "$_nemesi" = yes; then
5640 def_nemesi
='#define CONFIG_LIBNEMESI 1'
5641 inputmodules
="nemesi $inputmodules"
5643 _native_rtsp
="$networking"
5645 def_nemesi
='#undef CONFIG_LIBNEMESI'
5646 noinputmodules
="nemesi $noinputmodules"
5650 echocheck
"LIVE555 Streaming Media libraries"
5651 if test "$_live" != no
&& test "$networking" = yes ; then
5652 cat > $TMPCPP << EOF
5653 #include <liveMedia.hh>
5654 #if (LIVEMEDIA_LIBRARY_VERSION_INT < 1141257600)
5655 #error Please upgrade to version 2006.03.03 or later of the "LIVE555 Streaming Media" libraries - available from <www.live555.com/liveMedia/>
5657 int main(void) { return 0; }
5661 for I
in $extra_cflags "-I$_libdir/live" "-I/usr/lib/live" "-I/usr/lib64/live" "-I/usr/local/live" "-I/usr/local/lib/live" ; do
5662 cxx_check
$I/liveMedia
/include
$I/UsageEnvironment
/include
$I/groupsock
/include
&&
5663 _livelibdir
=$
(echo $I|
sed s
/-I//) &&
5664 extra_ldflags
="$_livelibdir/liveMedia/libliveMedia.a \
5665 $_livelibdir/groupsock/libgroupsock.a \
5666 $_livelibdir/UsageEnvironment/libUsageEnvironment.a \
5667 $_livelibdir/BasicUsageEnvironment/libBasicUsageEnvironment.a \
5668 $extra_ldflags -lstdc++" \
5669 extra_cxxflags
="-I$_livelibdir/liveMedia/include \
5670 -I$_livelibdir/UsageEnvironment/include \
5671 -I$_livelibdir/BasicUsageEnvironment/include \
5672 -I$_livelibdir/groupsock/include" &&
5675 if test "$_live" != yes ; then
5676 ld_tmp
="-lliveMedia -lgroupsock -lUsageEnvironment -lBasicUsageEnvironment -lstdc++"
5677 if cxx_check
-I/usr
/include
/liveMedia
-I/usr
/include
/UsageEnvironment
-I/usr
/include
/groupsock
$ld_tmp; then
5682 if test "$_live" = yes && test "$networking" = yes; then
5683 test $_livelibdir && res_comment
="using $_livelibdir"
5684 def_live
='#define CONFIG_LIVE555 1'
5685 inputmodules
="live555 $inputmodules"
5686 elif test "$_live_dist" = yes && test "$networking" = yes; then
5687 res_comment
="using distribution version"
5689 def_live
='#define CONFIG_LIVE555 1'
5690 extra_ldflags
="$extra_ldflags $ld_tmp"
5691 extra_cxxflags
="-I/usr/include/liveMedia -I/usr/include/UsageEnvironment -I/usr/include/BasicUsageEnvironment -I/usr/include/groupsock"
5692 inputmodules
="live555 $inputmodules"
5695 def_live
='#undef CONFIG_LIVE555'
5696 noinputmodules
="live555 $noinputmodules"
5702 # Test with > against Libav 0.8 versions which will NOT work rather than
5703 # specify minimum version, to allow (future) point releases to possibly work.
5704 all_libav_libs
="libavutil > 51.21.0:libavcodec > 53.34.0:libavformat > 53.20.0:libswscale >= 2.0.0"
5705 echocheck
"Libav ($all_libav_libs)"
5706 if test "$ffmpeg" = auto
; then
5707 IFS
=":" # shell should not be used for programming
5708 if ! pkg_config_add
$all_libav_libs ; then
5709 die
"Unable to find development files for some of the required Libav libraries above. Aborting."
5714 def_ffmpeg_internals
="#undef CONFIG_FFMPEG_INTERNALS"
5715 if ! test -z "$_ffmpeg_source" ; then
5716 def_ffmpeg_internals
="#define CONFIG_FFMPEG_INTERNALS 1" && ffmpeg_internals
=yes
5719 echocheck
"libpostproc >= 52.0.0"
5720 if test "$libpostproc" = auto
; then
5722 if pkg_config_add
"libpostproc >= 52.0.0" ; then
5726 if test "$libpostproc" = yes ; then
5727 def_libpostproc
='#define CONFIG_LIBPOSTPROC 1'
5729 def_libpostproc
='#undef CONFIG_LIBPOSTPROC'
5731 echores
"$libpostproc"
5734 echocheck
"libdv-0.9.5+"
5735 if test "$_libdv" = auto
; then
5737 statement_check libdv
/dv.h
'dv_encoder_new(1, 1, 1)' -ldv $_ld_pthread $_ld_lm && _libdv
=yes
5739 if test "$_libdv" = yes ; then
5740 def_libdv
='#define CONFIG_LIBDV095 1'
5741 extra_ldflags
="$extra_ldflags -ldv"
5742 codecmodules
="libdv $codecmodules"
5744 def_libdv
='#undef CONFIG_LIBDV095'
5745 nocodecmodules
="libdv $nocodecmodules"
5751 if test "$_xvid" = auto
; then
5753 for _ld_tmp
in "-lxvidcore $_ld_lm" "-lxvidcore $_ld_lm $_ld_pthread" ; do
5754 statement_check xvid.h
'xvid_global(0, 0, 0, 0)' $_ld_tmp &&
5755 extra_ldflags
="$extra_ldflags $_ld_tmp" && _xvid
=yes && break
5759 if test "$_xvid" = yes ; then
5760 def_xvid
='#define CONFIG_XVID4 1'
5761 codecmodules
="xvid $codecmodules"
5763 def_xvid
='#undef CONFIG_XVID4'
5764 nocodecmodules
="xvid $nocodecmodules"
5770 if test "$_libnut" = auto
; then
5772 statement_check libnut.h
'nut_context_tt * nut; nut_error(0)' -lnut && _libnut
=yes
5775 if test "$_libnut" = yes ; then
5776 def_libnut
='#define CONFIG_LIBNUT 1'
5777 extra_ldflags
="$extra_ldflags -lnut"
5779 def_libnut
='#undef CONFIG_LIBNUT'
5783 # These VO checks must be done after the FFmpeg one
5784 echocheck
"/dev/mga_vid"
5785 if test "$_mga" = auto
; then
5787 test -c /dev
/mga_vid
&& _mga
=yes
5789 if test "$_mga" = yes ; then
5790 def_mga
='#define CONFIG_MGA 1'
5791 vomodules
="mga $vomodules"
5793 def_mga
='#undef CONFIG_MGA'
5794 novomodules
="mga $novomodules"
5800 if test "$_xmga" = auto
; then
5802 test "$_x11" = yes && test "$_mga" = yes && _xmga
=yes
5804 if test "$_xmga" = yes ; then
5805 def_xmga
='#define CONFIG_XMGA 1'
5806 vomodules
="xmga $vomodules"
5808 def_xmga
='#undef CONFIG_XMGA'
5809 novomodules
="xmga $novomodules"
5814 echocheck
"UnRAR executable"
5815 if test "$_unrar_exec" = auto
; then
5817 mingw32
&& _unrar_exec
="no"
5819 if test "$_unrar_exec" = yes ; then
5820 def_unrar_exec
='#define CONFIG_UNRAR_EXEC 1'
5822 def_unrar_exec
='#undef CONFIG_UNRAR_EXEC'
5824 echores
"$_unrar_exec"
5826 echocheck
"TV interface"
5827 if test "$_tv" = yes ; then
5828 def_tv
='#define CONFIG_TV 1'
5829 inputmodules
="tv $inputmodules"
5831 noinputmodules
="tv $noinputmodules"
5832 def_tv
='#undef CONFIG_TV'
5837 if freebsd || netbsd || openbsd || dragonfly || bsdos
; then
5838 echocheck
"*BSD BT848 bt8xx header"
5840 for file in "machine/ioctl_bt848.h" \
5841 "dev/bktr/ioctl_bt848.h" \
5842 "dev/video/bktr/ioctl_bt848.h" \
5843 "dev/ic/bt8xx.h" ; do
5845 #include <sys/types.h>
5846 #include <sys/ioctl.h>
5848 int main(void) { ioctl(0, TVTUNER_GETFREQ, 0); return 0; }
5852 _ioctl_bt848_h_name
="$file"
5856 if test "$_ioctl_bt848_h" = yes ; then
5857 def_ioctl_bt848_h_name
="#define IOCTL_BT848_H_NAME <$_ioctl_bt848_h_name>"
5858 res_comment
="using $_ioctl_bt848_h_name"
5860 def_ioctl_bt848_h_name
="#undef IOCTL_BT848_H_NAME"
5862 echores
"$_ioctl_bt848_h"
5864 echocheck
"*BSD ioctl_meteor.h"
5866 for ioctl_meteor_h_path
in "machine/ioctl_meteor.h" "dev/bktr/ioctl_meteor.h" "dev/video/bktr/ioctl_meteor.h" ; do
5867 statement_check_broken
"sys/types.h" "$ioctl_meteor_h_path" 'ioctl(0, METEORSINPUT, 0)' &&
5868 _ioctl_meteor_h
=yes && break
5870 if test "$_ioctl_meteor_h" = yes ; then
5871 def_ioctl_meteor_h_name
="#define IOCTL_METEOR_H_NAME <$ioctl_meteor_h_path>"
5872 res_comment
="using $ioctl_meteor_h_path"
5874 def_ioctl_meteor_h_name
="#undef IOCTL_METEOR_H_NAME"
5876 echores
"$_ioctl_meteor_h"
5878 echocheck
"*BSD BrookTree 848 TV interface"
5879 if test "$_tv_bsdbt848" = auto
; then
5881 if test "$_tv" = yes ; then
5883 #include <sys/types.h>
5884 $def_ioctl_meteor_h_name
5885 $def_ioctl_bt848_h_name
5886 #ifdef IOCTL_METEOR_H_NAME
5887 #include IOCTL_METEOR_H_NAME
5889 #ifdef IOCTL_BT848_H_NAME
5890 #include IOCTL_BT848_H_NAME
5893 ioctl(0, METEORSINPUT, 0);
5894 ioctl(0, TVTUNER_GETFREQ, 0);
5898 cc_check
&& _tv_bsdbt848
=yes
5901 if test "$_tv_bsdbt848" = yes ; then
5902 def_tv_bsdbt848
='#define CONFIG_TV_BSDBT848 1'
5903 inputmodules
="tv-bsdbt848 $inputmodules"
5905 def_tv_bsdbt848
='#undef CONFIG_TV_BSDBT848'
5906 noinputmodules
="tv-bsdbt848 $noinputmodules"
5908 echores
"$_tv_bsdbt848"
5909 fi #if freebsd || netbsd || openbsd || dragonfly || bsdos
5912 echocheck
"DirectShow TV interface"
5913 if test "$_tv_dshow" = auto
; then
5915 if test "$_tv" = yes && win32
; then
5916 statement_check ole2.h
'void* p; CoCreateInstance((GUID*)&GUID_NULL, NULL, CLSCTX_INPROC_SERVER, &GUID_NULL, &p)' -lole32 -luuid && _tv_dshow
=yes
5919 if test "$_tv_dshow" = yes ; then
5920 inputmodules
="tv-dshow $inputmodules"
5921 def_tv_dshow
='#define CONFIG_TV_DSHOW 1'
5922 extra_ldflags
="$extra_ldflags -lole32 -luuid"
5924 noinputmodules
="tv-dshow $noinputmodules"
5925 def_tv_dshow
='#undef CONFIG_TV_DSHOW'
5927 echores
"$_tv_dshow"
5930 echocheck
"Video 4 Linux TV interface"
5931 if test "$_tv_v4l1" = auto
; then
5933 if test "$_tv" = yes && linux
; then
5934 header_check_broken sys
/time.h linux
/videodev.h
&& _tv_v4l1
=yes
5937 if test "$_tv_v4l1" = yes ; then
5940 def_tv_v4l
='#define CONFIG_TV_V4L 1'
5941 def_tv_v4l1
='#define CONFIG_TV_V4L1 1'
5942 inputmodules
="tv-v4l $inputmodules"
5944 noinputmodules
="tv-v4l1 $noinputmodules"
5945 def_tv_v4l
='#undef CONFIG_TV_V4L'
5950 echocheck
"Video 4 Linux 2 TV interface"
5951 if test "$_tv_v4l2" = auto
; then
5953 if test "$_tv" = yes && linux
; then
5954 header_check_broken sys
/time.h linux
/videodev2.h
&& _tv_v4l2
=yes
5955 elif test "$_tv" = yes && test "$sys_videoio_h" = "yes" ; then
5959 if test "$_tv_v4l2" = yes ; then
5962 def_tv_v4l
='#define CONFIG_TV_V4L 1'
5963 def_tv_v4l2
='#define CONFIG_TV_V4L2 1'
5964 inputmodules
="tv-v4l2 $inputmodules"
5966 noinputmodules
="tv-v4l2 $noinputmodules"
5967 def_tv_v4l2
='#undef CONFIG_TV_V4L2'
5972 echocheck
"Radio interface"
5973 if test "$_radio" = yes ; then
5974 def_radio
='#define CONFIG_RADIO 1'
5975 inputmodules
="radio $inputmodules"
5976 if test "$_alsa" != yes -a "$_ossaudio" != yes ; then
5979 if test "$_radio_capture" = yes ; then
5981 def_radio_capture
="#define CONFIG_RADIO_CAPTURE 1"
5983 def_radio_capture
="#undef CONFIG_RADIO_CAPTURE"
5986 noinputmodules
="radio $noinputmodules"
5987 def_radio
='#undef CONFIG_RADIO'
5988 def_radio_capture
="#undef CONFIG_RADIO_CAPTURE"
5992 echocheck
"Capture for Radio interface"
5993 echores
"$_radio_capture"
5995 echocheck
"Video 4 Linux 2 Radio interface"
5996 if test "$_radio_v4l2" = auto
; then
5998 if test "$_radio" = yes && linux
; then
5999 header_check linux
/videodev2.h
&& _radio_v4l2
=yes
6002 if test "$_radio_v4l2" = yes ; then
6003 def_radio_v4l2
='#define CONFIG_RADIO_V4L2 1'
6005 def_radio_v4l2
='#undef CONFIG_RADIO_V4L2'
6007 echores
"$_radio_v4l2"
6009 echocheck
"Video 4 Linux Radio interface"
6010 if test "$_radio_v4l" = auto
; then
6012 if test "$_radio" = yes && linux
; then
6013 header_check linux
/videodev.h
&& _radio_v4l
=yes
6016 if test "$_radio_v4l" = yes ; then
6017 def_radio_v4l
='#define CONFIG_RADIO_V4L 1'
6019 def_radio_v4l
='#undef CONFIG_RADIO_V4L'
6021 echores
"$_radio_v4l"
6023 if freebsd || netbsd || openbsd || dragonfly || bsdos
&&
6024 test "$_radio" = yes && test "$_radio_bsdbt848" = auto
; then
6025 echocheck
"*BSD BrookTree 848 Radio interface"
6028 #include <sys/types.h>
6029 $def_ioctl_bt848_h_name
6030 #ifdef IOCTL_BT848_H_NAME
6031 #include IOCTL_BT848_H_NAME
6033 int main(void) { ioctl(0, RADIO_GETFREQ, 0); return 0; }
6035 cc_check
&& _radio_bsdbt848
=yes
6036 echores
"$_radio_bsdbt848"
6037 fi #if freebsd || netbsd || openbsd || dragonfly || bsdos && _radio && _radio_bsdbt848
6039 if test "$_radio_bsdbt848" = yes ; then
6040 def_radio_bsdbt848
='#define CONFIG_RADIO_BSDBT848 1'
6042 def_radio_bsdbt848
='#undef CONFIG_RADIO_BSDBT848'
6045 if test "$_radio_v4l" = no
&& test "$_radio_v4l2" = no
&&
6046 test "$_radio_bsdbt848" = no
&& test "$_radio" = yes ; then
6047 die
"Radio driver requires BSD BT848, V4L or V4L2!"
6050 echocheck
"Video 4 Linux 2 MPEG PVR interface"
6051 if test "$_pvr" = auto
; then
6053 if test "$_tv_v4l2" = yes && linux
; then
6055 #include <sys/time.h>
6056 #include <linux/videodev2.h>
6057 int main(void) { struct v4l2_ext_controls ext; return ext.controls->value; }
6059 cc_check
&& _pvr
=yes
6062 if test "$_pvr" = yes ; then
6063 def_pvr
='#define CONFIG_PVR 1'
6064 inputmodules
="pvr $inputmodules"
6066 noinputmodules
="pvr $noinputmodules"
6067 def_pvr
='#undef CONFIG_PVR'
6073 if test "$_ftp" = "auto" ; then
6074 test "$networking" = "yes" && ! beos
&& _ftp
=yes
6076 if test "$_ftp" = yes ; then
6077 def_ftp
='#define CONFIG_FTP 1'
6078 inputmodules
="ftp $inputmodules"
6080 noinputmodules
="ftp $noinputmodules"
6081 def_ftp
='#undef CONFIG_FTP'
6085 echocheck
"vstream client"
6086 if test "$_vstream" = auto
; then
6089 #include <vstream-client.h>
6090 void vstream_error(const char *format, ... ) {}
6091 int main(void) { vstream_start(); return 0; }
6093 cc_check
-lvstream-client && _vstream
=yes
6095 if test "$_vstream" = yes ; then
6096 def_vstream
='#define CONFIG_VSTREAM 1'
6097 inputmodules
="vstream $inputmodules"
6098 extra_ldflags
="$extra_ldflags -lvstream-client"
6100 noinputmodules
="vstream $noinputmodules"
6101 def_vstream
='#undef CONFIG_VSTREAM'
6106 echocheck
"Subtitles sorting"
6107 if test "$_sortsub" = yes ; then
6108 def_sortsub
='#define CONFIG_SORTSUB 1'
6110 def_sortsub
='#undef CONFIG_SORTSUB'
6115 echocheck
"XMMS inputplugin support"
6116 if test "$_xmms" = yes ; then
6117 if ( xmms-config
--version ) >/dev
/null
2>&1 ; then
6118 _xmmsplugindir
=$
(xmms-config
--input-plugin-dir)
6119 _xmmslibdir
=$
(xmms-config
--exec-prefix)/lib
6121 _xmmsplugindir
=/usr
/lib
/xmms
/Input
6122 _xmmslibdir
=/usr
/lib
6125 def_xmms
='#define CONFIG_XMMS 1'
6127 extra_ldflags
="$extra_ldflags ${_xmmslibdir}/libxmms.dylib"
6129 extra_ldflags
="$extra_ldflags ${_xmmslibdir}/libxmms.so.1 -export-dynamic"
6132 def_xmms
='#undef CONFIG_XMMS'
6136 if test "$_charset" != "noconv" ; then
6137 def_charset
="#define MSG_CHARSET \"$_charset\""
6139 def_charset
="#undef MSG_CHARSET"
6143 #############################################################################
6145 echocheck
"automatic gdb attach"
6146 if test "$_crash_debug" = yes ; then
6147 def_crash_debug
='#define CONFIG_CRASH_DEBUG 1'
6149 def_crash_debug
='#undef CONFIG_CRASH_DEBUG'
6152 echores
"$_crash_debug"
6154 echocheck
"compiler support for noexecstack"
6155 if cflag_check
-Wl,-z,noexecstack
; then
6156 extra_ldflags
="-Wl,-z,noexecstack $extra_ldflags"
6162 echocheck
"linker support for --nxcompat --no-seh --dynamicbase"
6163 if cflag_check
"-Wl,--nxcompat -Wl,--no-seh -Wl,--dynamicbase" ; then
6164 extra_ldflags
="-Wl,--nxcompat -Wl,--no-seh -Wl,--dynamicbase $extra_ldflags"
6171 # Dynamic linking flags
6172 # (FIXME: 'echocheck "dynamic linking"' above and modify here accordingly)
6174 freebsd || netbsd || openbsd || dragonfly || bsdos
&& _ld_dl_dynamic
='-rdynamic'
6175 if test "$_real" = yes ||
test "$_xanim" = yes && ! win32
&& ! qnx
&& ! darwin
&& ! sunos
; then
6176 _ld_dl_dynamic
='-rdynamic'
6179 extra_ldflags
="$extra_ldflags $_ld_pthread $_ld_dl $_ld_dl_dynamic"
6180 bsdos
&& extra_ldflags
="$extra_ldflags -ldvd"
6181 (netbsd || openbsd
) && x86_32
&& extra_ldflags
="$extra_ldflags -li386"
6183 def_debug
='#undef MP_DEBUG'
6184 test "$_debug" != "" && def_debug
='#define MP_DEBUG 1'
6187 echocheck
"joystick"
6188 def_joystick
='#undef CONFIG_JOYSTICK'
6189 if test "$_joystick" = yes ; then
6190 if linux || freebsd
; then
6191 # TODO add some check
6192 def_joystick
='#define CONFIG_JOYSTICK 1'
6195 res_comment
="unsupported under $system_name"
6198 echores
"$_joystick"
6201 if test "$_lirc" = auto
; then
6203 header_check lirc
/lirc_client.h
-llirc_client && _lirc
=yes
6205 if test "$_lirc" = yes ; then
6206 def_lirc
='#define CONFIG_LIRC 1'
6207 libs_mplayer
="$libs_mplayer -llirc_client"
6209 def_lirc
='#undef CONFIG_LIRC'
6214 if test "$_lircc" = auto
; then
6216 header_check lirc
/lircc.h
-llircc && _lircc
=yes
6218 if test "$_lircc" = yes ; then
6219 def_lircc
='#define CONFIG_LIRCC 1'
6220 libs_mplayer
="$libs_mplayer -llircc"
6222 def_lircc
='#undef CONFIG_LIRCC'
6226 #############################################################################
6228 CFLAGS
="$CFLAGS -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE"
6230 CXXFLAGS
=" $CFLAGS -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS"
6232 # This must be the last test to be performed. Any other tests following it
6233 # could fail due to linker errors. libdvdnavmini is intentionally not linked
6234 # against libdvdread (to permit MPlayer to use its own copy of the library).
6235 # So any compilation using the flags added here but not linking against
6236 # libdvdread can fail.
6237 echocheck
"DVD support (libdvdnav)"
6238 if test "$_dvdread_internal" = yes && test ! -f "libdvdnav/dvdnav.c" ; then
6242 if test "$_dvdnav" = auto
; then
6243 if test "$_dvdread_internal" = yes ; then
6246 res_comment
="internal"
6248 $_dvdnavconfig --version --minilibs >> $TMPLOG 2>&1 || _dvdnav
=no
6251 if test "$_dvdnav" = auto
; then
6253 _dvdnavdir
=$
($_dvdnavconfig --cflags)
6254 _dvdnavlibs
=$
($_dvdnavconfig --libs)
6255 statement_check_broken stdint.h dvdnav
/dvdnav.h
'dvdnav_t *dvd = 0' $_dvdnavdir $_dvdnavlibs $_ld_dl $_ld_pthread && _dvdnav
=yes
6257 if test "$_dvdnav" = yes ; then
6258 def_dvdnav
='#define CONFIG_DVDNAV 1'
6259 if test "$dvdnav_internal" = yes ; then
6260 cflags_libdvdnav
="-Ilibdvdnav"
6261 inputmodules
="dvdnav(internal) $inputmodules"
6263 extra_cflags
="$extra_cflags $($_dvdnavconfig --cflags)"
6264 extra_ldflags
="$extra_ldflags $($_dvdnavconfig --minilibs)"
6265 inputmodules
="dvdnav $inputmodules"
6268 def_dvdnav
='#undef CONFIG_DVDNAV'
6269 noinputmodules
="dvdnav $noinputmodules"
6273 # DO NOT ADD ANY TESTS THAT USE LINKER FLAGS HERE (like cc_check).
6274 # Read dvdnav comment above.
6277 list
=$
(echo $1 |
tr '[a-z]' '[A-Z]')
6278 item
=$
(echo $2 |
tr '[a-z]' '[A-Z]')
6280 for part
in $list; do
6281 if $
(echo $item |
grep -q -E "(^| )$part($| )"); then
6282 echo "${nprefix}_$part = yes"
6287 #############################################################################
6288 echo "Creating config.mak"
6289 cat > config.mak
<< EOF
6290 # -------- Generated by configure -----------
6292 # Ensure that locale settings do not interfere with shell commands.
6295 CONFIGURATION = $configuration
6298 DOC_LANGS = $language_doc
6299 DOC_LANG_ALL = $doc_lang_all
6300 MAN_LANGS = $language_man
6301 MAN_LANG_ALL = $man_lang_all
6302 MSG_LANGS = $language_msg
6303 MSG_LANG_ALL = $msg_lang_all
6305 prefix = \$(DESTDIR)$_prefix
6306 BINDIR = \$(DESTDIR)$_bindir
6307 DATADIR = \$(DESTDIR)$_datadir
6308 LIBDIR = \$(DESTDIR)$_libdir
6309 MANDIR = \$(DESTDIR)$_mandir
6310 CONFDIR = \$(DESTDIR)$_confdir
6311 LOCALEDIR = \$(DESTDIR)$_localedir
6319 INSTALLSTRIP = $_install_strip
6322 CFLAGS = $WARNFLAGS $ERRORFLAGS $WARN_CFLAGS $CFLAGS $extra_cflags
6323 CXXFLAGS = $WARNFLAGS $ERRORFLAGS $CXXFLAGS $extra_cflags $extra_cxxflags
6324 DEPFLAGS = $DEPFLAGS
6326 CFLAGS_LIBDVDCSS = $cflags_libdvdcss
6327 CFLAGS_LIBDVDCSS_DVDREAD = $cflags_libdvdcss_dvdread
6328 CFLAGS_LIBDVDNAV = $cflags_libdvdnav
6329 CFLAGS_NO_OMIT_LEAF_FRAME_POINTER = $cflags_no_omit_leaf_frame_pointer
6330 CFLAGS_STACKREALIGN = $cflags_stackrealign
6332 EXTRALIBS = $extra_ldflags $_ld_static $_ld_lm $extra_libs
6333 EXTRALIBS_MPLAYER = $libs_mplayer
6342 $(mak_enable "$arch_all" "$arch" ARCH)
6343 $(mak_enable "$subarch_all" "$subarch" ARCH)
6344 $(mak_enable "$cpuexts_all" "$cpuexts" HAVE)
6348 NEED_GETTIMEOFDAY = $need_gettimeofday
6349 NEED_GLOB = $need_glob
6350 NEED_SETENV = $need_setenv
6351 NEED_SHMEM = $need_shmem
6352 NEED_STRSEP = $need_strsep
6353 NEED_SWAB = $need_swab
6354 NEED_VSSCANF = $need_vsscanf
6360 APPLE_IR = $_apple_ir
6361 APPLE_REMOTE = $_apple_remote
6363 AUDIO_INPUT = $_audio_input
6364 BITMAP_FONT = $_bitmap_font
6369 COREAUDIO = $_coreaudio
6370 COREVIDEO = $_corevideo
6372 DIRECT3D = $_direct3d
6373 DIRECTFB = $_directfb
6377 DVDNAV_INTERNAL = $dvdnav_internal
6379 DVDREAD_INTERNAL = $_dvdread_internal
6383 FASTMEMCPY = $_fastmemcpy
6385 FREETYPE = $_freetype
6390 GL_COCOA = $_gl_cocoa
6391 GL_WIN32 = $_gl_win32
6394 HAVE_POSIX_SELECT = $_posix_select
6395 HAVE_SYS_MMAN_H = $_mman
6398 JOYSTICK = $_joystick
6403 LIBBLURAY = $_bluray
6407 LIBDVDCSS_INTERNAL = $_libdvdcss_internal
6409 LIBNEMESI = $_nemesi
6411 LIBPOSTPROC = $libpostproc
6412 LIBSMBCLIENT = $_smb
6413 LIBTHEORA = $_theora
6416 MACOSX_FINDER = $_macosx_finder
6421 MUSEPACK = $_musepack
6423 NATIVE_RTSP = $_native_rtsp
6424 NETWORKING = $networking
6427 PE_EXECUTABLE = $_pe_executable
6430 PRIORITY = $_priority
6434 QTX_CODECS_WIN32 = $_qtx_codecs_win32
6435 QTX_EMULATION = $_qtx_emulation
6437 RADIO_CAPTURE=$_radio_capture
6438 REAL_CODECS = $_real
6443 STREAM_CACHE = $_stream_cache
6444 SGIAUDIO = $_sgiaudio
6445 SUNAUDIO = $_sunaudio
6451 TV_BSDBT848 = $_tv_bsdbt848
6452 TV_DSHOW = $_tv_dshow
6456 UNRAR_EXEC = $_unrar_exec
6464 WIN32DLL = $_win32dll
6465 WIN32WAVEOUT = $_win32waveout
6466 WIN32_EMULATION = $_win32_emulation
6468 XANIM_CODECS = $_xanim
6470 XMMS_PLUGINS = $_xmms
6474 YUV4MPEG = $_yuv4mpeg
6477 FFMPEG_INTERNALS = $ffmpeg_internals
6478 FFMPEG_SOURCE_PATH = $_ffmpeg_source
6482 YASMFLAGS = $YASMFLAGS
6484 CONFIG_VDPAU = $_vdpau
6485 CONFIG_ZLIB = $_zlib
6487 HAVE_PTHREADS = $_pthreads
6489 HAVE_W32THREADS = $_w32threads
6490 HAVE_YASM = $have_yasm
6494 #############################################################################
6496 ff_config_enable
() {
6497 list
=$
(echo $1 |
tr '[a-z]' '[A-Z]')
6498 item
=$
(echo $2 |
tr '[a-z]' '[A-Z]')
6500 test -z "$_nprefix" && _nprefix
='CONFIG'
6501 for part
in $list; do
6502 if $
(echo $item |
grep -q -E "(^| )$part($| )"); then
6503 echo "#define ${_nprefix}_$part 1"
6505 echo "#define ${_nprefix}_$part 0"
6510 echo "Creating config.h"
6512 /*----------------------------------------------------------------------------
6513 ** This file has been automatically generated by configure any changes in it
6514 ** will be lost when you run configure again.
6515 ** Instead of modifying definitions here, use the --enable/--disable options
6516 ** of the configure script! See ./configure --help for details.
6517 *---------------------------------------------------------------------------*/
6519 #ifndef MPLAYER_CONFIG_H
6520 #define MPLAYER_CONFIG_H
6522 /* Undefine this if you do not want to select mono audio (left or right)
6523 with a stereo MPEG layer 2/3 audio stream. The command line option
6524 -stereo has three possible values (0 for stereo, 1 for left-only, 2 for
6525 right-only), with 0 being the default.
6527 #define CONFIG_FAKE_MONO 1
6529 /* set up audio OUTBURST. Do not change this! */
6530 #define OUTBURST 512
6532 /* Enable fast OSD/SUB renderer (looks ugly, but uses less CPU power) */
6534 #undef FAST_OSD_TABLE
6538 #define CONFIGURATION "$configuration"
6540 #define MPLAYER_DATADIR "$_datadir"
6541 #define MPLAYER_CONFDIR "$_confdir"
6542 #define MPLAYER_LOCALEDIR "$_localedir"
6546 /* definitions needed by included libraries */
6547 #define HAVE_INTTYPES_H 1
6549 #define HAVE_ERRNO_H 1
6550 /* libdvdcss + libdvdread */
6551 #define HAVE_LIMITS_H 1
6553 #define HAVE_UNISTD_H 1
6555 #define STDC_HEADERS 1
6556 #define HAVE_MEMCPY 1
6558 #define READ_CACHE_TRACE 0
6560 #define HAVE_DLFCN_H 1
6564 /* system headers */
6569 $def_mman_has_map_failed
6571 $def_sys_soundcard_h
6579 /* system functions */
6602 /* system-specific features */
6615 $def_restrict_keyword
6620 /* configurable options */
6625 $def_runtime_cpudetection
6633 #define __CPU__ $iproc
6637 $(ff_config_enable "$arch_all" "$arch" "ARCH")
6638 $(ff_config_enable "$subarch_all" "$subarch" "ARCH")
6639 $(ff_config_enable "$cpuexts_all" "$cpuexts" "HAVE")
6642 /* Blu-ray/DVD/VCD/CD */
6643 #define DEFAULT_CDROM_DEVICE "$default_cdrom_device"
6644 #define DEFAULT_DVD_DEVICE "$default_dvd_device"
6665 /* codec libraries */
6692 #define BINARY_CODECS_PATH "$_codecsdir"
6693 #define XMMS_INPUT_PLUGIN_DIR "$_xmmsplugindir"
6696 /* Audio output drivers */
6707 $def_ossaudio_devdsp
6708 $def_ossaudio_devmixer
6722 $def_ioctl_bt848_h_name
6723 $def_ioctl_meteor_h_name
6821 $def_ffmpeg_internals
6845 #define HAVE_INLINE_ASM 1
6847 /* Use these registers in FFmpeg x86 inline asm. No proper detection yet. */
6849 #define HAVE_EBP_AVAILABLE 1
6851 #define HAVE_EBP_AVAILABLE 0
6854 #endif /* MPLAYER_CONFIG_H */
6857 # Do not overwrite an unchanged config.h to avoid superfluous rebuilds.
6858 cmp -s "$TMPH" config.h ||
mv -f "$TMPH" config.h
6860 #############################################################################
6864 Config files successfully generated by ./configure $configuration !
6866 Install prefix: $_prefix
6867 Data directory: $_datadir
6868 Config direct.: $_confdir
6870 Byte order: $_byte_order
6871 Optimizing for: $_optimizing
6874 Messages (in addition to English): $language_msg
6875 Manual pages: $language_man
6876 Documentation: $language_doc
6878 Enabled optional drivers:
6879 Input: $inputmodules
6880 Codecs: $codecmodules
6881 Audio output: $aomodules
6882 Video output: $vomodules
6884 Disabled optional drivers:
6885 Input: $noinputmodules
6886 Codecs: $nocodecmodules
6887 Audio output: $noaomodules
6888 Video output: $novomodules
6890 'config.h' and 'config.mak' contain your configuration options.
6891 Note: If you alter theses files (for instance CFLAGS) MPlayer may no longer
6892 compile *** DO NOT REPORT BUGS if you tweak these files ***
6894 'make' will now compile MPlayer and 'make install' will install it.
6895 Note: On non-Linux systems you might need to use 'gmake' instead of 'make'.
6901 Check $TMPLOG if you wonder why an autodetection failed (make sure
6902 development headers/packages are installed).
6904 NOTE: The --enable-* parameters unconditionally force options on, completely
6905 skipping autodetection. This behavior is unlike what you may be used to from
6906 autoconf-based configure scripts that can decide to override you. This greater
6907 level of control comes at a price. You may have to provide the correct compiler
6908 and linker flags yourself.
6909 If you used one of these options (except --enable-runtime-cpudetection and
6910 similar ones that turn on internal features) and experience a compilation or
6911 linking failure, make sure you have passed the necessary compiler/linker flags
6914 If you suspect a bug, please read DOCS/HTML/$language_doc/bugreports.html.
6918 if test "$warn_cflags" = yes; then
6921 MPlayer compilation will use the CPPFLAGS/CFLAGS/LDFLAGS/YASMFLAGS set by you,
6924 *** *** DO NOT REPORT BUGS IF IT DOES NOT COMPILE/WORK! *** ***
6926 It is strongly recommended to let MPlayer choose the correct CFLAGS!
6927 To do so, execute 'CFLAGS= ./configure <options>'
6933 rm -rf "$mplayer_tmpdir"