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 "$TMPEXE" >> "$TMPLOG" 2>&1
172 # Display error message, flushes tempfile, exit
177 rm -f "$TMPEXE" "$TMPC" "$TMPS" "$TMPCPP"
178 echo "Check \"$TMPLOG\" if you do not understand why it failed."
182 # OS test booleans functions
184 test "$(echo $system_name | tr A-Z a-z)" = "$(echo $1 | tr A-Z a-z)"
186 aix
() { issystem
"AIX"; }
187 amigaos
() { issystem
"AmigaOS"; }
188 beos
() { issystem
"BEOS"; }
189 bsdos
() { issystem
"BSD/OS"; }
190 cygwin
() { issystem
"CYGWIN"; }
191 darwin
() { issystem
"Darwin"; }
192 dragonfly
() { issystem
"DragonFly"; }
193 freebsd
() { issystem
"FreeBSD" || issystem
"GNU/kFreeBSD"; }
194 gnu
() { issystem
"GNU"; }
195 hpux
() { issystem
"HP-UX"; }
196 irix
() { issystem
"IRIX"; }
197 linux
() { issystem
"Linux"; }
198 mingw32
() { issystem
"MINGW32"; }
199 morphos
() { issystem
"MorphOS"; }
200 netbsd
() { issystem
"NetBSD"; }
201 openbsd
() { issystem
"OpenBSD"; }
202 os2
() { issystem
"OS/2"; }
203 qnx
() { issystem
"QNX"; }
204 sunos
() { issystem
"SunOS"; }
205 win32
() { cygwin || mingw32
; }
207 # arch test boolean functions
208 # x86/x86pc is used by QNX
211 i
[3-9]86|x86|x86pc|k5|k6|k6-2|k6-3|pentium
*|athlon
*|i586-i686
) return 0 ;;
218 x86_64|amd64
) return 0 ;;
229 ppc|ppc64|powerpc|powerpc64
) return 0;;
248 # Use this before starting a check
250 echo "============ Checking for $@ ============" >> "$TMPLOG"
251 echo ${_echo_n} "Checking for $@ ... ${_echo_c}"
254 # Use this to echo the results of a check
256 if test "$res_comment" ; then
257 res_comment
="($res_comment)"
259 echo "Result is: $@ $res_comment" >> "$TMPLOG"
260 echo "##########################################" >> "$TMPLOG"
262 echo "$@ $res_comment"
265 #############################################################################
267 # Check how echo works in this /bin/sh
269 -n) _echo_n
= _echo_c
='\c' ;; # SysV echo
270 *) _echo_n
='-n ' _echo_c
= ;; # BSD echo
274 ls po
/*.po
>/dev
/null
2>&1 && msg_lang_all
=$
(echo po
/*.po |
sed -e 's:po/\([^[:space:]]*\)\.po:\1:g')
275 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")
276 doc_lang_all
=$
(echo DOCS
/xml
/??
/ DOCS
/xml
/??_??
/ |
sed -e "s:DOCS/xml/\(..\)/:\1:g" -e "s:DOCS/xml/\(.._..\)/:\1:g")
280 Usage: $0 [OPTIONS]...
283 -h, --help display this help and exit
285 Installation directories:
286 --prefix=DIR prefix directory for installation [/usr/local]
287 --bindir=DIR directory for installing binaries [PREFIX/bin]
288 --datadir=DIR directory for installing machine independent
289 data files (skins, etc) [PREFIX/share/mplayer]
290 --mandir=DIR directory for installing man pages [PREFIX/share/man]
291 --confdir=DIR directory for installing configuration files
293 --localedir=DIR directory for locale tree [PREFIX/share/locale]
294 --libdir=DIR directory for object code libraries [PREFIX/lib]
295 --codecsdir=DIR directory for binary codecs [LIBDIR/codecs]
298 --disable-mplayer disable MPlayer compilation [enable]
299 --disable-largefiles disable support for files > 2GB [enable]
300 --enable-termcap use termcap database for key codes [autodetect]
301 --enable-termios use termios database for key codes [autodetect]
302 --disable-iconv disable iconv for encoding conversion [autodetect]
303 --disable-langinfo do not use langinfo [autodetect]
304 --enable-lirc enable LIRC (remote control) support [autodetect]
305 --enable-lircc enable LIRCCD (LIRC client daemon) input [autodetect]
306 --enable-joystick enable joystick support [disable]
307 --enable-apple-remote enable Apple Remote input (Mac OS X only) [autodetect]
308 --enable-apple-ir enable Apple IR Remote input (Linux only) [autodetect]
309 --disable-vm disable X video mode extensions [autodetect]
310 --disable-xf86keysym disable support for multimedia keys [autodetect]
311 --enable-radio enable radio interface [disable]
312 --enable-radio-capture enable radio capture (through PCI/line-in) [disable]
313 --disable-radio-v4l2 disable Video4Linux2 radio interface [autodetect]
314 --disable-radio-bsdbt848 disable BSD BT848 radio interface [autodetect]
315 --disable-tv disable TV interface (TV/DVB grabbers) [enable]
316 --disable-tv-v4l1 disable Video4Linux TV interface [autodetect]
317 --disable-tv-v4l2 disable Video4Linux2 TV interface [autodetect]
318 --disable-tv-bsdbt848 disable BSD BT848 interface [autodetect]
319 --disable-pvr disable Video4Linux2 MPEG PVR [autodetect]
320 --disable-rtc disable RTC (/dev/rtc) on Linux [autodetect]
321 --disable-networking disable networking [enable]
322 --enable-winsock2_h enable winsock2_h [autodetect]
323 --enable-smb enable Samba (SMB) input [autodetect]
324 --enable-live enable LIVE555 Streaming Media [autodetect]
325 --enable-nemesi enable Nemesi Streaming Media [autodetect]
326 --disable-vcd disable VCD support [autodetect]
327 --disable-bluray disable Blu-ray support [autodetect]
328 --disable-dvdnav disable libdvdnav [autodetect]
329 --disable-dvdread disable libdvdread [autodetect]
330 --disable-dvdread-internal disable internal libdvdread [autodetect]
331 --disable-libdvdcss-internal disable internal libdvdcss [autodetect]
332 --disable-cdparanoia disable cdparanoia [autodetect]
333 --disable-cddb disable cddb [autodetect]
334 --disable-bitmap-font disable bitmap font support [enable]
335 --disable-freetype disable FreeType 2 font rendering [autodetect]
336 --disable-fontconfig disable fontconfig font lookup [autodetect]
337 --disable-unrarexec disable using of UnRAR executable [enabled]
338 --enable-menu enable OSD menu (not DVD menu) [disabled]
339 --disable-sortsub disable subtitle sorting [enabled]
340 --enable-fribidi enable the FriBiDi libs [autodetect]
341 --disable-enca disable ENCA charset oracle library [autodetect]
342 --enable-macosx-finder enable Mac OS X Finder invocation parameter
344 --enable-macosx-bundle enable Mac OS X bundle file locations [autodetect]
345 --disable-inet6 disable IPv6 support [autodetect]
346 --disable-gethostbyname2 gethostbyname2 part of the C library [autodetect]
347 --disable-ftp disable FTP support [enabled]
348 --disable-vstream disable TiVo vstream client support [autodetect]
349 --disable-pthreads disable Posix threads support [autodetect]
350 --disable-w32threads disable Win32 threads support [autodetect]
351 --disable-ass disable internal SSA/ASS subtitle support [autodetect]
352 --enable-rpath enable runtime linker path for extra libs [disabled]
355 --enable-gif enable GIF support [autodetect]
356 --enable-png enable PNG input/output support [autodetect]
357 --enable-mng enable MNG input support [autodetect]
358 --enable-jpeg enable JPEG input/output support [autodetect]
359 --enable-libcdio enable libcdio support [autodetect]
360 --disable-win32dll disable Win32 DLL support [autodetect]
361 --disable-qtx disable QuickTime codecs support [enabled]
362 --disable-xanim disable XAnim codecs support [enabled]
363 --disable-real disable RealPlayer codecs support [enabled]
364 --disable-xvid disable Xvid [autodetect]
365 --disable-libnut disable libnut [autodetect]
366 --disable-ffmpeg disable FFmpeg [autodetect]
367 --disable-libvorbis disable libvorbis support [autodetect]
368 --disable-tremor disable Tremor [autodetect if no libvorbis]
369 --disable-speex disable Speex support [autodetect]
370 --enable-theora enable OggTheora libraries [autodetect]
371 --enable-faad enable FAAD2 (AAC) [autodetect]
372 --disable-ladspa disable LADSPA plugin support [autodetect]
373 --disable-libbs2b disable libbs2b audio filter support [autodetect]
374 --disable-libdv disable libdv 0.9.5 en/decoding support [autodetect]
375 --disable-mpg123 disable libmpg123 MP3 decoding support [autodetect]
376 --disable-mad disable libmad (MPEG audio) support [autodetect]
377 --enable-xmms enable XMMS input plugin support [disabled]
378 --enable-libdca enable libdca support [autodetect]
379 --disable-liba52 disable liba52 [autodetect]
380 --enable-musepack enable libmpcdec support (deprecated, libavcodec
381 Musepack decoder is preferred) [disabled]
384 --enable-gl enable OpenGL video output [autodetect]
385 --disable-matrixview disable OpenGL MatrixView video output [autodetect]
386 --enable-dga2 enable DGA 2 support [autodetect]
387 --enable-dga1 enable DGA 1 support [autodetect]
388 --enable-vesa enable VESA video output [autodetect]
389 --enable-svga enable SVGAlib video output [autodetect]
390 --enable-sdl enable SDL video output [autodetect]
391 --enable-kva enable KVA video output [autodetect]
392 --enable-aa enable AAlib video output [autodetect]
393 --enable-caca enable CACA video output [autodetect]
394 --enable-ggi enable GGI video output [autodetect]
395 --enable-ggiwmh enable GGI libggiwmh extension [autodetect]
396 --enable-direct3d enable Direct3D video output [autodetect]
397 --enable-directx enable DirectX video output [autodetect]
398 --enable-dxr3 enable DXR3/H+ video output [autodetect]
399 --enable-ivtv enable IVTV TV-Out video output [autodetect]
400 --enable-v4l2 enable V4L2 Decoder audio/video output [autodetect]
401 --enable-dvb enable DVB video output [autodetect]
402 --enable-mga enable mga_vid video output [autodetect]
403 --enable-xmga enable mga_vid X11 video output [autodetect]
404 --enable-xv enable Xv video output [autodetect]
405 --enable-xvmc enable XvMC acceleration [disable]
406 --enable-vdpau enable VDPAU acceleration [autodetect]
407 --enable-vm enable XF86VidMode support [autodetect]
408 --enable-xinerama enable Xinerama support [autodetect]
409 --enable-x11 enable X11 video output [autodetect]
410 --enable-xshape enable XShape support [autodetect]
411 --disable-xss disable screensaver support via xss [autodetect]
412 --enable-fbdev enable FBDev video output [autodetect]
413 --enable-3dfx enable obsolete /dev/3dfx video output [disable]
414 --enable-tdfxfb enable tdfxfb video output [disable]
415 --enable-s3fb enable s3fb (S3 ViRGE) video output [disable]
416 --enable-wii enable Nintendo Wii/GameCube video output [disable]
417 --enable-directfb enable DirectFB video output [autodetect]
418 --enable-bl enable Blinkenlights video output [disable]
419 --enable-tdfxvid enable tdfx_vid video output [disable]
420 --enable-xvr100 enable SUN XVR-100 video output [autodetect]
421 --disable-tga disable Targa video output [enable]
422 --disable-pnm disable PNM video output [enable]
423 --disable-md5sum disable md5sum video output [enable]
424 --disable-yuv4mpeg disable yuv4mpeg video output [enable]
425 --disable-corevideo disable CoreVideo video output [autodetect]
426 --disable-quartz disable Quartz video output [autodetect]
429 --disable-alsa disable ALSA audio output [autodetect]
430 --disable-ossaudio disable OSS audio output [autodetect]
431 --disable-arts disable aRts audio output [autodetect]
432 --disable-esd disable esd audio output [autodetect]
433 --disable-pulse disable Pulseaudio audio output [autodetect]
434 --disable-jack disable JACK audio output [autodetect]
435 --enable-openal enable OpenAL audio output [disable]
436 --disable-nas disable NAS audio output [autodetect]
437 --disable-sgiaudio disable SGI audio output [autodetect]
438 --disable-sunaudio disable Sun audio output [autodetect]
439 --disable-kai disable KAI audio output [autodetect]
440 --disable-dart disable DART audio output [autodetect]
441 --disable-win32waveout disable Windows waveout audio output [autodetect]
442 --disable-coreaudio disable CoreAudio audio output [autodetect]
443 --disable-select disable using select() on the audio device [enable]
446 --enable-translation enable support for translated output [disable]
447 --charset=charset convert the console messages to this character set
448 --language-doc=lang language to use for the documentation [en]
449 --language-man=lang language to use for the man pages [en]
450 --language-msg=lang extra languages for program messages [all]
451 --language=lang default language to use [en]
452 Specific options override --language. You can pass a list of languages separated
453 by whitespace or commas instead of a single language. Nonexisting translations
454 will be dropped from each list. All translations available in the list will be
455 installed. The value "all" will activate all translations. The LINGUAS
456 environment variable is honored. In all cases the fallback is English.
457 The program always supports English-language output; additional message
458 languages are only installed if --enable-translation is also specified.
459 Available values for --language-doc are: all $doc_lang_all
460 Available values for --language-man are: all $man_lang_all
461 Available values for --language-msg are: all $msg_lang_all
463 Miscellaneous options:
464 --enable-runtime-cpudetection enable runtime CPU detection [disable]
465 --enable-cross-compile enable cross-compilation [autodetect]
466 --cc=COMPILER C compiler to build MPlayer [gcc]
467 --host-cc=COMPILER C compiler for tools needed while building [gcc]
468 --as=ASSEMBLER assembler to build MPlayer [as]
469 --nm=NM nm tool to build MPlayer [nm]
470 --yasm=YASM Yasm assembler to build MPlayer [yasm]
471 --ar=AR librarian to build MPlayer [ar]
472 --ranlib=RANLIB ranlib to build MPlayer [ranlib]
473 --windres=WINDRES windres to build MPlayer [windres]
474 --target=PLATFORM target platform (i386-linux, arm-linux, etc)
475 --enable-static build a statically linked binary
476 --with-install=PATH path to a custom install program
479 --enable-mmx enable MMX [autodetect]
480 --enable-mmxext enable MMX2 (Pentium III, Athlon) [autodetect]
481 --enable-3dnow enable 3DNow! [autodetect]
482 --enable-3dnowext enable extended 3DNow! [autodetect]
483 --enable-sse enable SSE [autodetect]
484 --enable-sse2 enable SSE2 [autodetect]
485 --enable-ssse3 enable SSSE3 [autodetect]
486 --enable-shm enable shm [autodetect]
487 --enable-altivec enable AltiVec (PowerPC) [autodetect]
488 --enable-armv5te enable DSP extensions (ARM) [autodetect]
489 --enable-armv6 enable ARMv6 (ARM) [autodetect]
490 --enable-armv6t2 enable ARMv6t2 (ARM) [autodetect]
491 --enable-armvfp enable ARM VFP (ARM) [autodetect]
492 --enable-neon enable NEON (ARM) [autodetect]
493 --enable-iwmmxt enable iWMMXt (ARM) [autodetect]
494 --disable-fastmemcpy disable 3DNow!/SSE/MMX optimized memcpy [enable]
495 --enable-big-endian force byte order to big-endian [autodetect]
496 --enable-debug[=1-3] compile-in debugging information [disable]
497 --enable-profile compile-in profiling information [disable]
498 --disable-sighandler disable sighandler for crashes [enable]
499 --enable-crash-debug enable automatic gdb attach on crash [disable]
500 --enable-dynamic-plugins enable dynamic A/V plugins [disable]
502 Use these options if autodetection fails:
503 --extra-cflags=FLAGS extra CFLAGS
504 --extra-ldflags=FLAGS extra LDFLAGS
505 --extra-libs=FLAGS extra linker flags
506 --extra-libs-mplayer=FLAGS extra linker flags for MPlayer
507 --with-xvmclib=NAME adapter-specific library name (e.g. XvMCNVIDIA)
509 --with-freetype-config=PATH path to freetype-config
510 --with-sdl-config=PATH path to sdl*-config
511 --with-dvdnav-config=PATH path to dvdnav-config
512 --with-dvdread-config=PATH path to dvdread-config
514 This configure script is NOT autoconf-based, even though its output is similar.
515 It will try to autodetect all configuration options. If you --enable an option
516 it will be forcefully turned on, skipping autodetection. This can break
517 compilation, so you need to know what you are doing.
522 # GOTCHA: the variables below defines the default behavior for autodetection
523 # and have - unless stated otherwise - at least 2 states : yes no
524 # If autodetection is available then the third state is: auto
548 test "$CC" && _cc
="$CC"
552 _runtime_cpudetection
=no
564 _xvmc
=no
#auto when complete
619 _dvdnavconfig
=dvdnav-config
620 _dvdreadconfig
=dvdread-config
622 _dvdread_internal
=auto
623 _libdvdcss_internal
=auto
697 _freetypeconfig
='freetype-config'
712 def_dos_paths
="#define HAVE_DOS_PATHS 0"
713 def_stream_cache
="#define CONFIG_STREAM_CACHE 1"
714 def_priority
="#undef CONFIG_PRIORITY"
715 def_pthread_cache
="#undef PTHREAD_CACHE"
723 _prefix
=$
(echo $ac_option | cut
-d '=' -f 2)
726 _bindir
=$
(echo $ac_option | cut
-d '=' -f 2)
729 _datadir
=$
(echo $ac_option | cut
-d '=' -f 2)
732 _mandir
=$
(echo $ac_option | cut
-d '=' -f 2)
735 _confdir
=$
(echo $ac_option | cut
-d '=' -f 2)
738 _libdir
=$
(echo $ac_option | cut
-d '=' -f 2)
741 _codecsdir
=$
(echo $ac_option | cut
-d '=' -f 2)
744 _localedir
=$
(echo $ac_option | cut
-d '=' -f 2)
748 _install
=$
(echo $ac_option | cut
-d '=' -f 2 )
751 _xvmclib
=$
(echo $ac_option | cut
-d '=' -f 2)
755 _sdlconfig
=$
(echo $ac_option | cut
-d '=' -f 2)
757 --with-freetype-config=*)
758 _freetypeconfig
=$
(echo $ac_option | cut
-d '=' -f 2)
760 --with-dvdnav-config=*)
761 _dvdnavconfig
=$
(echo $ac_option | cut
-d '=' -f 2)
763 --with-dvdread-config=*)
764 _dvdreadconfig
=$
(echo $ac_option | cut
-d '=' -f 2)
768 extra_cflags
="$extra_cflags $(echo $ac_option | cut -d '=' -f 2-)"
771 extra_ldflags
="$extra_ldflags $(echo $ac_option | cut -d '=' -f 2-)"
774 extra_libs
=$
(echo $ac_option | cut
-d '=' -f 2)
776 --extra-libs-mplayer=*)
777 libs_mplayer
=$
(echo $ac_option | cut
-d '=' -f 2)
781 _target
=$
(echo $ac_option | cut
-d '=' -f 2)
784 _cc
=$
(echo $ac_option | cut
-d '=' -f 2)
787 _host_cc
=$
(echo $ac_option | cut
-d '=' -f 2)
790 _as
=$
(echo $ac_option | cut
-d '=' -f 2)
793 _nm
=$
(echo $ac_option | cut
-d '=' -f 2)
796 _yasm
=$
(echo $ac_option | cut
-d '=' -f 2)
799 _ar
=$
(echo $ac_option | cut
-d '=' -f 2)
802 _ranlib
=$
(echo $ac_option | cut
-d '=' -f 2)
805 _windres
=$
(echo $ac_option | cut
-d '=' -f 2)
808 _charset
=$
(echo $ac_option | cut
-d '=' -f 2)
811 language_doc
=$
(echo $ac_option | cut
-d '=' -f 2)
814 language_man
=$
(echo $ac_option | cut
-d '=' -f 2)
817 language_msg
=$
(echo $ac_option | cut
-d '=' -f 2)
820 language
=$
(echo $ac_option | cut
-d '=' -f 2)
839 _debug
=$
(echo $_echo_n '-g'$_echo_c; echo $ac_option | cut
-d '=' -f 2)
844 --enable-translation) _translation
=yes ;;
845 --disable-translation) _translation
=no
;;
846 --enable-runtime-cpudetection) _runtime_cpudetection
=yes ;;
847 --disable-runtime-cpudetection) _runtime_cpudetection
=no
;;
848 --enable-cross-compile) _cross_compile
=yes ;;
849 --disable-cross-compile) _cross_compile
=no
;;
850 --enable-mplayer) _mplayer
=yes ;;
851 --disable-mplayer) _mplayer
=no
;;
852 --enable-dynamic-plugins) _dynamic_plugins
=yes ;;
853 --disable-dynamic-plugins) _dynamic_plugins
=no
;;
854 --enable-x11) _x11
=yes ;;
855 --disable-x11) _x11
=no
;;
856 --enable-xshape) _xshape
=yes ;;
857 --disable-xshape) _xshape
=no
;;
858 --enable-xss) _xss
=yes ;;
859 --disable-xss) _xss
=no
;;
860 --enable-xv) _xv
=yes ;;
861 --disable-xv) _xv
=no
;;
862 --enable-xvmc) _xvmc
=yes ;;
863 --disable-xvmc) _xvmc
=no
;;
864 --enable-vdpau) _vdpau
=yes ;;
865 --disable-vdpau) _vdpau
=no
;;
866 --enable-sdl) _sdl
=yes ;;
867 --disable-sdl) _sdl
=no
;;
868 --enable-kva) _kva
=yes ;;
869 --disable-kva) _kva
=no
;;
870 --enable-direct3d) _direct3d
=yes ;;
871 --disable-direct3d) _direct3d
=no
;;
872 --enable-directx) _directx
=yes ;;
873 --disable-directx) _directx
=no
;;
874 --enable-win32waveout) _win32waveout
=yes ;;
875 --disable-win32waveout) _win32waveout
=no
;;
876 --enable-nas) _nas
=yes ;;
877 --disable-nas) _nas
=no
;;
878 --enable-png) _png
=yes ;;
879 --disable-png) _png
=no
;;
880 --enable-mng) _mng
=yes ;;
881 --disable-mng) _mng
=no
;;
882 --enable-jpeg) _jpeg
=yes ;;
883 --disable-jpeg) _jpeg
=no
;;
884 --enable-pnm) _pnm
=yes ;;
885 --disable-pnm) _pnm
=no
;;
886 --enable-md5sum) _md5sum
=yes ;;
887 --disable-md5sum) _md5sum
=no
;;
888 --enable-yuv4mpeg) _yuv4mpeg
=yes ;;
889 --disable-yuv4mpeg) _yuv4mpeg
=no
;;
890 --enable-gif) _gif
=yes ;;
891 --disable-gif) _gif
=no
;;
892 --enable-gl) _gl
=yes ;;
893 --disable-gl) _gl
=no
;;
894 --enable-matrixview) matrixview
=yes ;;
895 --disable-matrixview) matrixview
=no
;;
896 --enable-ggi) _ggi
=yes ;;
897 --disable-ggi) _ggi
=no
;;
898 --enable-ggiwmh) _ggiwmh
=yes ;;
899 --disable-ggiwmh) _ggiwmh
=no
;;
900 --enable-aa) _aa
=yes ;;
901 --disable-aa) _aa
=no
;;
902 --enable-caca) _caca
=yes ;;
903 --disable-caca) _caca
=no
;;
904 --enable-svga) _svga
=yes ;;
905 --disable-svga) _svga
=no
;;
906 --enable-vesa) _vesa
=yes ;;
907 --disable-vesa) _vesa
=no
;;
908 --enable-fbdev) _fbdev
=yes ;;
909 --disable-fbdev) _fbdev
=no
;;
910 --enable-dvb) _dvb
=yes ;;
911 --disable-dvb) _dvb
=no
;;
912 --enable-dxr3) _dxr3
=yes ;;
913 --disable-dxr3) _dxr3
=no
;;
914 --enable-ivtv) _ivtv
=yes ;;
915 --disable-ivtv) _ivtv
=no
;;
916 --enable-v4l2) _v4l2
=yes ;;
917 --disable-v4l2) _v4l2
=no
;;
918 --enable-iconv) _iconv
=yes ;;
919 --disable-iconv) _iconv
=no
;;
920 --enable-langinfo) _langinfo
=yes ;;
921 --disable-langinfo) _langinfo
=no
;;
922 --enable-rtc) _rtc
=yes ;;
923 --disable-rtc) _rtc
=no
;;
924 --enable-libdv) _libdv
=yes ;;
925 --disable-libdv) _libdv
=no
;;
926 --enable-ossaudio) _ossaudio
=yes ;;
927 --disable-ossaudio) _ossaudio
=no
;;
928 --enable-arts) _arts
=yes ;;
929 --disable-arts) _arts
=no
;;
930 --enable-esd) _esd
=yes ;;
931 --disable-esd) _esd
=no
;;
932 --enable-pulse) _pulse
=yes ;;
933 --disable-pulse) _pulse
=no
;;
934 --enable-jack) _jack
=yes ;;
935 --disable-jack) _jack
=no
;;
936 --enable-openal) _openal
=yes ;;
937 --disable-openal) _openal
=no
;;
938 --enable-kai) _kai
=yes ;;
939 --disable-kai) _kai
=no
;;
940 --enable-dart) _dart
=yes ;;
941 --disable-dart) _dart
=no
;;
942 --enable-mad) _mad
=yes ;;
943 --disable-mad) _mad
=no
;;
944 --enable-libcdio) _libcdio
=yes ;;
945 --disable-libcdio) _libcdio
=no
;;
946 --enable-libvorbis) _libvorbis
=yes ;;
947 --disable-libvorbis) _libvorbis
=no
;;
948 --enable-speex) _speex
=yes ;;
949 --disable-speex) _speex
=no
;;
950 --enable-tremor) _tremor
=yes ;;
951 --disable-tremor) _tremor
=no
;;
952 --enable-theora) _theora
=yes ;;
953 --disable-theora) _theora
=no
;;
954 --enable-mpg123) _mpg123
=yes ;;
955 --disable-mpg123) _mpg123
=no
;;
956 --enable-liba52) _liba52
=yes ;;
957 --disable-liba52) _liba52
=no
;;
958 --enable-libdca) _libdca
=yes ;;
959 --disable-libdca) _libdca
=no
;;
960 --enable-musepack) _musepack
=yes ;;
961 --disable-musepack) _musepack
=no
;;
962 --enable-faad) _faad
=yes ;;
963 --disable-faad) _faad
=no
;;
964 --enable-ladspa) _ladspa
=yes ;;
965 --disable-ladspa) _ladspa
=no
;;
966 --enable-libbs2b) _libbs2b
=yes ;;
967 --disable-libbs2b) _libbs2b
=no
;;
968 --enable-xmms) _xmms
=yes ;;
969 --disable-xmms) _xmms
=no
;;
970 --enable-vcd) _vcd
=yes ;;
971 --disable-vcd) _vcd
=no
;;
972 --enable-bluray) _bluray
=yes ;;
973 --disable-bluray) _bluray
=no
;;
974 --enable-dvdread) _dvdread
=yes ;;
975 --disable-dvdread) _dvdread
=no
;;
976 --enable-dvdread-internal) _dvdread_internal
=yes ;;
977 --disable-dvdread-internal) _dvdread_internal
=no
;;
978 --enable-libdvdcss-internal) _libdvdcss_internal
=yes ;;
979 --disable-libdvdcss-internal) _libdvdcss_internal
=no
;;
980 --enable-dvdnav) _dvdnav
=yes ;;
981 --disable-dvdnav) _dvdnav
=no
;;
982 --enable-xanim) _xanim
=yes ;;
983 --disable-xanim) _xanim
=no
;;
984 --enable-real) _real
=yes ;;
985 --disable-real) _real
=no
;;
986 --enable-live) _live
=yes ;;
987 --disable-live) _live
=no
;;
988 --enable-nemesi) _nemesi
=yes ;;
989 --disable-nemesi) _nemesi
=no
;;
990 --enable-xinerama) _xinerama
=yes ;;
991 --disable-xinerama) _xinerama
=no
;;
992 --enable-mga) _mga
=yes ;;
993 --disable-mga) _mga
=no
;;
994 --enable-xmga) _xmga
=yes ;;
995 --disable-xmga) _xmga
=no
;;
996 --enable-vm) _vm
=yes ;;
997 --disable-vm) _vm
=no
;;
998 --enable-xf86keysym) _xf86keysym
=yes ;;
999 --disable-xf86keysym) _xf86keysym
=no
;;
1000 --enable-sunaudio) _sunaudio
=yes ;;
1001 --disable-sunaudio) _sunaudio
=no
;;
1002 --enable-sgiaudio) _sgiaudio
=yes ;;
1003 --disable-sgiaudio) _sgiaudio
=no
;;
1004 --enable-alsa) _alsa
=yes ;;
1005 --disable-alsa) _alsa
=no
;;
1006 --enable-tv) _tv
=yes ;;
1007 --disable-tv) _tv
=no
;;
1008 --enable-tv-bsdbt848) _tv_bsdbt848
=yes ;;
1009 --disable-tv-bsdbt848) _tv_bsdbt848
=no
;;
1010 --enable-tv-v4l1) _tv_v4l1
=yes ;;
1011 --disable-tv-v4l1) _tv_v4l1
=no
;;
1012 --enable-tv-v4l2) _tv_v4l2
=yes ;;
1013 --disable-tv-v4l2) _tv_v4l2
=no
;;
1014 --enable-tv-dshow) _tv_dshow
=yes ;;
1015 --disable-tv-dshow) _tv_dshow
=no
;;
1016 --enable-radio) _radio
=yes ;;
1017 --enable-radio-capture) _radio_capture
=yes ;;
1018 --disable-radio-capture) _radio_capture
=no
;;
1019 --disable-radio) _radio
=no
;;
1020 --enable-radio-v4l) _radio_v4l
=yes ;;
1021 --disable-radio-v4l) _radio_v4l
=no
;;
1022 --enable-radio-v4l2) _radio_v4l2
=yes ;;
1023 --disable-radio-v4l2) _radio_v4l2
=no
;;
1024 --enable-radio-bsdbt848) _radio_bsdbt848
=yes ;;
1025 --disable-radio-bsdbt848) _radio_bsdbt848
=no
;;
1026 --enable-pvr) _pvr
=yes ;;
1027 --disable-pvr) _pvr
=no
;;
1028 --enable-fastmemcpy) _fastmemcpy
=yes ;;
1029 --disable-fastmemcpy) _fastmemcpy
=no
;;
1030 --enable-networking) networking
=yes ;;
1031 --disable-networking) networking
=no
;;
1032 --enable-winsock2_h) _winsock2_h
=yes ;;
1033 --disable-winsock2_h) _winsock2_h
=no
;;
1034 --enable-smb) _smb
=yes ;;
1035 --disable-smb) _smb
=no
;;
1036 --enable-joystick) _joystick
=yes ;;
1037 --disable-joystick) _joystick
=no
;;
1038 --enable-xvid) _xvid
=yes ;;
1039 --disable-xvid) _xvid
=no
;;
1040 --enable-libnut) _libnut
=yes ;;
1041 --disable-libnut) _libnut
=no
;;
1042 --enable-ffmpeg) ffmpeg
=yes ;;
1043 --disable-ffmpeg) ffmpeg
=no
;;
1044 --ffmpeg-source-dir=*)
1045 _ffmpeg_source
=$
(echo $ac_option | cut
-d '=' -f 2 ) ;;
1047 --enable-lirc) _lirc
=yes ;;
1048 --disable-lirc) _lirc
=no
;;
1049 --enable-lircc) _lircc
=yes ;;
1050 --disable-lircc) _lircc
=no
;;
1051 --enable-apple-remote) _apple_remote
=yes ;;
1052 --disable-apple-remote) _apple_remote
=no
;;
1053 --enable-apple-ir) _apple_ir
=yes ;;
1054 --disable-apple-ir) _apple_ir
=no
;;
1055 --enable-termcap) _termcap
=yes ;;
1056 --disable-termcap) _termcap
=no
;;
1057 --enable-termios) _termios
=yes ;;
1058 --disable-termios) _termios
=no
;;
1059 --enable-3dfx) _3dfx
=yes ;;
1060 --disable-3dfx) _3dfx
=no
;;
1061 --enable-s3fb) _s3fb
=yes ;;
1062 --disable-s3fb) _s3fb
=no
;;
1063 --enable-wii) _wii
=yes ;;
1064 --disable-wii) _wii
=no
;;
1065 --enable-tdfxfb) _tdfxfb
=yes ;;
1066 --disable-tdfxfb) _tdfxfb
=no
;;
1067 --disable-tdfxvid) _tdfxvid
=no
;;
1068 --enable-tdfxvid) _tdfxvid
=yes ;;
1069 --disable-xvr100) _xvr100
=no
;;
1070 --enable-xvr100) _xvr100
=yes ;;
1071 --disable-tga) _tga
=no
;;
1072 --enable-tga) _tga
=yes ;;
1073 --enable-directfb) _directfb
=yes ;;
1074 --disable-directfb) _directfb
=no
;;
1075 --enable-bl) _bl
=yes ;;
1076 --disable-bl) _bl
=no
;;
1077 --enable-mtrr) _mtrr
=yes ;;
1078 --disable-mtrr) _mtrr
=no
;;
1079 --enable-largefiles) _largefiles
=yes ;;
1080 --disable-largefiles) _largefiles
=no
;;
1081 --enable-shm) _shm
=yes ;;
1082 --disable-shm) _shm
=no
;;
1083 --enable-select) _select
=yes ;;
1084 --disable-select) _select
=no
;;
1085 --enable-cdparanoia) _cdparanoia
=yes ;;
1086 --disable-cdparanoia) _cdparanoia
=no
;;
1087 --enable-cddb) _cddb
=yes ;;
1088 --disable-cddb) _cddb
=no
;;
1089 --enable-big-endian) _big_endian
=yes ;;
1090 --disable-big-endian) _big_endian
=no
;;
1091 --enable-bitmap-font) _bitmap_font
=yes ;;
1092 --disable-bitmap-font) _bitmap_font
=no
;;
1093 --enable-freetype) _freetype
=yes ;;
1094 --disable-freetype) _freetype
=no
;;
1095 --enable-fontconfig) _fontconfig
=yes ;;
1096 --disable-fontconfig) _fontconfig
=no
;;
1097 --enable-unrarexec) _unrar_exec
=yes ;;
1098 --disable-unrarexec) _unrar_exec
=no
;;
1099 --enable-ftp) _ftp
=yes ;;
1100 --disable-ftp) _ftp
=no
;;
1101 --enable-vstream) _vstream
=yes ;;
1102 --disable-vstream) _vstream
=no
;;
1103 --enable-pthreads) _pthreads
=yes ;;
1104 --disable-pthreads) _pthreads
=no
;;
1105 --enable-w32threads) _w32threads
=yes ;;
1106 --disable-w32threads) _w32threads
=no
;;
1107 --enable-ass) _ass
=yes ;;
1108 --disable-ass) _ass
=no
;;
1109 --enable-rpath) _rpath
=yes ;;
1110 --disable-rpath) _rpath
=no
;;
1112 --enable-fribidi) _fribidi
=yes ;;
1113 --disable-fribidi) _fribidi
=no
;;
1115 --enable-enca) _enca
=yes ;;
1116 --disable-enca) _enca
=no
;;
1118 --enable-inet6) _inet6
=yes ;;
1119 --disable-inet6) _inet6
=no
;;
1121 --enable-gethostbyname2) _gethostbyname2
=yes ;;
1122 --disable-gethostbyname2) _gethostbyname2
=no
;;
1124 --enable-dga1) _dga1
=yes ;;
1125 --disable-dga1) _dga1
=no
;;
1126 --enable-dga2) _dga2
=yes ;;
1127 --disable-dga2) _dga2
=no
;;
1129 --enable-menu) _menu
=yes ;;
1130 --disable-menu) _menu
=no
;;
1132 --enable-qtx) _qtx
=yes ;;
1133 --disable-qtx) _qtx
=no
;;
1135 --enable-coreaudio) _coreaudio
=yes ;;
1136 --disable-coreaudio) _coreaudio
=no
;;
1137 --enable-corevideo) _corevideo
=yes ;;
1138 --disable-corevideo) _corevideo
=no
;;
1139 --enable-quartz) _quartz
=yes ;;
1140 --disable-quartz) _quartz
=no
;;
1141 --enable-macosx-finder) _macosx_finder
=yes ;;
1142 --disable-macosx-finder) _macosx_finder
=no
;;
1143 --enable-macosx-bundle) _macosx_bundle
=yes ;;
1144 --disable-macosx-bundle) _macosx_bundle
=no
;;
1146 --enable-sortsub) _sortsub
=yes ;;
1147 --disable-sortsub) _sortsub
=no
;;
1149 --enable-crash-debug) _crash_debug
=yes ;;
1150 --disable-crash-debug) _crash_debug
=no
;;
1151 --enable-sighandler) _sighandler
=yes ;;
1152 --disable-sighandler) _sighandler
=no
;;
1153 --enable-win32dll) _win32dll
=yes ;;
1154 --disable-win32dll) _win32dll
=no
;;
1156 --enable-sse) _sse
=yes ;;
1157 --disable-sse) _sse
=no
;;
1158 --enable-sse2) _sse2
=yes ;;
1159 --disable-sse2) _sse2
=no
;;
1160 --enable-ssse3) _ssse3
=yes ;;
1161 --disable-ssse3) _ssse3
=no
;;
1162 --enable-mmxext) _mmxext
=yes ;;
1163 --disable-mmxext) _mmxext
=no
;;
1164 --enable-3dnow) _3dnow
=yes ;;
1165 --disable-3dnow) _3dnow
=no _3dnowext
=no
;;
1166 --enable-3dnowext) _3dnow
=yes _3dnowext
=yes ;;
1167 --disable-3dnowext) _3dnowext
=no
;;
1168 --enable-cmov) _cmov
=yes ;;
1169 --disable-cmov) _cmov
=no
;;
1170 --enable-fast-cmov) _fast_cmov
=yes ;;
1171 --disable-fast-cmov) _fast_cmov
=no
;;
1172 --enable-fast-clz) _fast_clz
=yes ;;
1173 --disable-fast-clz) _fast_clz
=no
;;
1174 --enable-altivec) _altivec
=yes ;;
1175 --disable-altivec) _altivec
=no
;;
1176 --enable-armv5te) _armv5te
=yes ;;
1177 --disable-armv5te) _armv5te
=no
;;
1178 --enable-armv6) _armv6
=yes ;;
1179 --disable-armv6) _armv6
=no
;;
1180 --enable-armv6t2) _armv6t2
=yes ;;
1181 --disable-armv6t2) _armv6t2
=no
;;
1182 --enable-armvfp) _armvfp
=yes ;;
1183 --disable-armvfp) _armvfp
=no
;;
1184 --enable-neon) neon
=yes ;;
1185 --disable-neon) neon
=no
;;
1186 --enable-iwmmxt) _iwmmxt
=yes ;;
1187 --disable-iwmmxt) _iwmmxt
=no
;;
1188 --enable-mmx) _mmx
=yes ;;
1189 --disable-mmx) # 3Dnow! and MMX2 require MMX
1190 _3dnow
=no _3dnowext
=no _mmx
=no _mmxext
=no
;;
1193 echo "Unknown parameter: $ac_option" >&2
1200 # Atmos: moved this here, to be correct, if --prefix is specified
1201 test -z "$_bindir" && _bindir
="$_prefix/bin"
1202 test -z "$_datadir" && _datadir
="$_prefix/share/mplayer"
1203 test -z "$_mandir" && _mandir
="$_prefix/share/man"
1204 test -z "$_confdir" && _confdir
="$_prefix/etc/mplayer"
1205 test -z "$_libdir" && _libdir
="$_prefix/lib"
1206 test -z "$_localedir" && _localedir
="$_prefix/share/locale"
1208 # Determine our OS name and CPU architecture
1209 if test -z "$_target" ; then
1211 system_name
=$
(uname
-s 2>&1)
1212 case "$system_name" in
1213 Linux|FreeBSD|NetBSD|OpenBSD|DragonFly|BSD
/OS|Darwin|SunOS|QNX|GNU|BeOS|MorphOS|AIX|AmigaOS
)
1227 [cC
][yY
][gG
][wW
][iI
][nN
]*)
1237 system_name
="$system_name-UNKNOWN"
1242 # host's CPU/instruction set
1243 host_arch
=$
(uname
-p 2>&1)
1244 case "$host_arch" in
1245 i386|sparc|ppc|alpha|arm|mips|vax
)
1247 powerpc
) # Darwin returns 'powerpc'
1250 *) # uname -p on Linux returns 'unknown' for the processor type,
1251 # OpenBSD returns 'Intel Pentium/MMX ("Genuine Intel" 586-class)'
1253 # Maybe uname -m (machine hardware name) returns something we
1256 # x86/x86pc is used by QNX
1257 case "$(uname -m 2>&1)" in
1258 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
;;
1259 ia64
) host_arch
=ia64
;;
1260 macppc|ppc
) host_arch
=ppc
;;
1261 ppc64
) host_arch
=ppc64
;;
1262 alpha
) host_arch
=alpha
;;
1263 sparc
) host_arch
=sparc
;;
1264 sparc64
) host_arch
=sparc64
;;
1265 parisc
*|hppa
*|
9000*) host_arch
=hppa
;;
1266 arm
*|zaurus|cats
) host_arch
=arm
;;
1267 sh3|sh4|sh4a
) host_arch
=sh
;;
1268 s390
) host_arch
=s390
;;
1269 s390x
) host_arch
=s390x
;;
1270 *mips
*) host_arch
=mips
;;
1271 vax
) host_arch
=vax
;;
1272 xtensa
*) host_arch
=xtensa
;;
1273 *) host_arch
=UNKNOWN
;;
1277 else # if test -z "$_target"
1278 system_name
=$
(echo $_target | cut
-d '-' -f 2)
1279 case "$(echo $system_name | tr A-Z a-z)" in
1280 linux
) system_name
=Linux
;;
1281 freebsd
) system_name
=FreeBSD
;;
1282 gnu
/kfreebsd
) system_name
=FreeBSD
;;
1283 netbsd
) system_name
=NetBSD
;;
1284 bsd
/os
) system_name
=BSD
/OS
;;
1285 openbsd
) system_name
=OpenBSD
;;
1286 dragonfly
) system_name
=DragonFly
;;
1287 sunos
) system_name
=SunOS
;;
1288 qnx
) system_name
=QNX
;;
1289 morphos
) system_name
=MorphOS
;;
1290 amigaos
) system_name
=AmigaOS
;;
1291 mingw32
*) system_name
=MINGW32
;;
1293 # We need to convert underscores so that values like k6-2 and pentium-mmx can be passed
1294 host_arch
=$
(echo $_target | cut
-d '-' -f 1)
1295 if test $
(echo $host_arch) != "x86_64" ; then
1296 host_arch
=$
(echo $host_arch |
tr '_' '-')
1300 extra_cflags
="-I. $extra_cflags"
1301 _timer
=timer-linux.c
1304 extra_ldflags
="$extra_ldflags -L/usr/local/lib"
1305 extra_cflags
="$extra_cflags -I/usr/local/include"
1308 if netbsd || dragonfly
; then
1309 extra_ldflags
="$extra_ldflags -L/usr/pkg/lib"
1310 extra_cflags
="$extra_cflags -I/usr/pkg/include"
1314 extra_cflags
="-mdynamic-no-pic $extra_cflags"
1315 if test "$(basename $_cc)" != "clang" ; then
1316 extra_cflags
="-falign-loops=16 -shared-libgcc $extra_cflags"
1318 _timer
=timer-darwin.c
1322 extra_ldflags
="$extra_ldflags -lC"
1333 extra_cflags
="$extra_cflags -fno-common"
1334 # -lwinmm is always needed for osdep/timer-win2.c
1335 extra_ldflags
="$extra_ldflags -lwinmm"
1339 def_dos_paths
="#define HAVE_DOS_PATHS 1"
1340 def_priority
="#define CONFIG_PRIORITY 1"
1352 def_stream_cache
="#undef CONFIG_STREAM_CACHE"
1353 extra_cflags
="-DNEWLIB -D__USE_INLINE__ $extra_cflags"
1357 extra_ldflags
="$extra_ldflags -lph"
1365 def_dos_paths
="#define HAVE_DOS_PATHS 1"
1366 def_priority
="#define CONFIG_PRIORITY 1"
1369 for tmpdir
in "$TMPDIR" "$TEMPDIR" "/tmp" ; do
1370 test "$tmpdir" && break
1373 mplayer_tmpdir
="$tmpdir/mplayer-configure-$RANDOM-$$"
1374 mkdir
$mplayer_tmpdir || die
"Unable to create tmpdir."
1377 TMPC
="$mplayer_tmpdir/tmp.c"
1378 TMPCPP
="$mplayer_tmpdir/tmp.cpp"
1379 TMPEXE
="$mplayer_tmpdir/tmp$_exesuf"
1380 TMPH
="$mplayer_tmpdir/tmp.h"
1381 TMPS
="$mplayer_tmpdir/tmp.S"
1384 echo configuration
: $configuration > "$TMPLOG"
1388 if test "$_runtime_cpudetection" = yes && ! x86
&& ! ppc
; then
1389 die
"Runtime CPU detection only works for x86, x86-64 and PPC!"
1393 # Checking CC version...
1394 # Intel C++ Compilers (no autoselect, use CC=/some/binary ./configure)
1395 if test "$(basename $_cc)" = "icc" ||
test "$(basename $_cc)" = "ecc"; then
1396 echocheck
"$_cc version"
1398 cc_name
=$
($_cc -V 2>&1 |
head -n 1 | cut
-d ',' -f 1)
1399 cc_version
=$
($_cc -V 2>&1 |
head -n 1 | cut
-d ',' -f 2 | cut
-d ' ' -f 3)
1400 _cc_major
=$
(echo $cc_version | cut
-d '.' -f 1)
1401 _cc_minor
=$
(echo $cc_version | cut
-d '.' -f 2)
1402 # TODO verify older icc/ecc compatibility
1405 cc_version
="v. ?.??, bad"
1409 cc_version
="$cc_version, ok"
1412 cc_version
="$cc_version, bad"
1416 echores
"$cc_version"
1418 for _cc
in "$_cc" gcc cc
; do
1419 cc_name_tmp
=$
($_cc -v 2>&1 |
tail -n 1 | cut
-d ' ' -f 1)
1420 if test "$cc_name_tmp" = "gcc"; then
1421 cc_name
=$cc_name_tmp
1422 echocheck
"$_cc version"
1424 cc_version
=$
($_cc -dumpversion 2>&1)
1430 _cc_major
=$
(echo $cc_version | cut
-d '.' -f 1)
1431 _cc_minor
=$
(echo $cc_version | cut
-d '.' -f 2)
1432 _cc_mini
=$
(echo $cc_version | cut
-d '.' -f 3)
1435 echores
"$cc_version"
1438 cc_name_tmp
=$
($_cc -v 2>&1 |
head -n 1 | cut
-d ' ' -f 1)
1439 if test "$cc_name_tmp" = "clang"; then
1440 echocheck
"$_cc version"
1442 cc_version
=$
($_cc -dumpversion 2>&1)
1443 res_comment
="experimental support only"
1444 echores
"clang $cc_version"
1447 cc_name_tmp
=$
($_cc -V 2>&1 |
head -n 1 | cut
-d ' ' -f 2,3)
1448 if test "$cc_name_tmp" = "Sun C"; then
1449 echocheck
"$_cc version"
1451 cc_version
=$
($_cc -V 2>&1 |
head -n 1 | cut
-d ' ' -f 4)
1452 res_comment
="experimental support only"
1453 echores
"Sun C $cc_version"
1458 test "$cc_fail" = yes && die
"unsupported compiler version"
1460 if test -z "$_target" && x86
; then
1463 int test[(int)sizeof(char *)-7];
1467 cc_check
&& host_arch
=x86_64 || host_arch
=i386
1470 echo "Detected operating system: $system_name"
1471 echo "Detected host architecture: $host_arch"
1474 test "$_host_cc" || _host_cc
=$_cc
1477 echocheck
"cross compilation"
1478 if test $_cross_compile = auto
; then
1480 cflag_check
"" && "$TMPEXE" && _cross_compile
=no
1482 echores
$_cross_compile
1484 if test $_cross_compile = yes; then
1492 # now that we know what compiler should be used for compilation, try to find
1493 # out which assembler is used by the $_cc compiler
1494 if test "$_as" = auto
; then
1495 _as
=$
($_cc -print-prog-name=as
)
1496 test -z "$_as" && _as
=as
1499 if test "$_nm" = auto
; then
1500 _nm
=$
($_cc -print-prog-name=nm
)
1501 test -z "$_nm" && _nm
=nm
1504 # XXX: this should be ok..
1507 if test "$_runtime_cpudetection" = no
; then
1509 # Cygwin has /proc/cpuinfo, but only supports Intel CPUs
1510 # FIXME: Remove the cygwin check once AMD CPUs are supported
1511 if test -r /proc
/cpuinfo
&& ! cygwin
; then
1512 # Linux with /proc mounted, extract CPU information from it
1513 _cpuinfo
="cat /proc/cpuinfo"
1514 elif test -r /compat
/linux
/proc
/cpuinfo
&& ! x86
; then
1515 # FreeBSD with Linux emulation /proc mounted,
1516 # extract CPU information from it
1517 # Don't use it on x86 though, it never reports 3Dnow
1518 _cpuinfo
="cat /compat/linux/proc/cpuinfo"
1519 elif darwin
&& ! x86
; then
1520 # use hostinfo on Darwin
1523 # use 'lsattr' on AIX
1524 _cpuinfo
="lsattr -E -l proc0 -a type"
1526 # all other OSes try to extract CPU information from a small helper
1527 # program cpuinfo instead
1528 $_cc -o cpuinfo
$_exesuf cpuinfo.c
1529 _cpuinfo
="./cpuinfo$_exesuf"
1533 # gather more CPU information
1534 pname
=$
($_cpuinfo |
grep 'model name' | cut
-d ':' -f 2 |
head -n 1)
1535 pvendor
=$
($_cpuinfo |
grep 'vendor_id' | cut
-d ':' -f 2 | cut
-d ' ' -f 2 |
head -n 1)
1536 pfamily
=$
($_cpuinfo |
grep 'cpu family' | cut
-d ':' -f 2 | cut
-d ' ' -f 2 |
head -n 1)
1537 pmodel
=$
($_cpuinfo |
grep -v 'model name' |
grep 'model' | cut
-d ':' -f 2 | cut
-d ' ' -f 2 |
head -n 1)
1538 pstepping
=$
($_cpuinfo |
grep 'stepping' | cut
-d ':' -f 2 | cut
-d ' ' -f 2 |
head -n 1)
1540 exts
=$
($_cpuinfo |
egrep 'features|flags' | cut
-d ':' -f 2 |
head -n 1)
1542 pparam
=$
(echo $exts |
sed -e s
/k6_mtrr
/mtrr
/ -e s
/cyrix_arr
/mtrr
/ -e s
/centaur_mcr
/mtrr
/ \
1543 -e s
/xmm
/sse
/ -e s
/kni
/sse
/)
1545 for ext
in $pparam ; do
1546 eval test \"\
$_$ext\" = auto
2>/dev
/null
&& eval _
$ext=kernel_check
1549 # SSE implies MMX2, but not all SSE processors report the mmxext CPU flag.
1550 test $_sse = kernel_check
&& _mmxext
=kernel_check
1552 echocheck
"CPU vendor"
1553 echores
"$pvendor ($pfamily:$pmodel:$pstepping)"
1555 echocheck
"CPU type"
1559 fi # test "$_runtime_cpudetection" = no
1561 if x86
&& test "$_runtime_cpudetection" = no
; then
1563 if test "$1" = kernel_check
; then
1564 echocheck
"kernel support of $2"
1568 static void catch(int sig) { exit(1); }
1570 signal(SIGILL, catch);
1571 __asm__ volatile ("$3":::"memory"); return 0;
1575 if cc_check
&& tmp_run
; then
1578 _optimizing
="$_optimizing $2"
1583 echo "It seems that your kernel does not correctly support $2."
1584 echo "To use $2 extensions in MPlayer, you have to upgrade/recompile your kernel!"
1591 extcheck
$_mmx "mmx" "emms"
1592 extcheck
$_mmxext "mmxext" "sfence"
1593 extcheck
$_3dnow "3dnow" "femms"
1594 extcheck
$_3dnowext "3dnowext" "pswapd %%mm0, %%mm0"
1595 extcheck
$_sse "sse" "xorps %%xmm0, %%xmm0" || _gcc3_ext
="$_gcc3_ext -mno-sse"
1596 extcheck
$_sse2 "sse2" "xorpd %%xmm0, %%xmm0" || _gcc3_ext
="$_gcc3_ext -mno-sse2"
1597 extcheck
$_ssse3 "ssse3" "pabsd %%xmm0, %%xmm0"
1598 extcheck
$_cmov "cmov" "cmovb %%eax, %%ebx"
1600 echocheck
"mtrr support"
1601 if test "$_mtrr" = kernel_check
; then
1603 _optimizing
="$_optimizing mtrr"
1607 if test "$_gcc3_ext" != ""; then
1608 # if we had to disable sse/sse2 because the active kernel does not
1609 # support this instruction set extension, we also have to tell
1610 # gcc3 to not generate sse/sse2 instructions for normal C code
1611 cflag_check
$_march $_gcc3_ext && _march
="$_march $_gcc3_ext"
1617 def_fast_64bit
='#define HAVE_FAST_64BIT 0'
1618 def_fast_unaligned
='#define HAVE_FAST_UNALIGNED 0'
1619 arch_all
='X86 IA64 SPARC ARM AVR32 SH4 PPC ALPHA MIPS PA_RISC S390 S390X VAX BFIN XTENSA TOMI GENERIC'
1620 subarch_all
='X86_32 X86_64 PPC64'
1621 case "$host_arch" in
1622 i
[3-9]86|x86|x86pc|k5|k6|k6-2|k6-3|pentium
*|athlon
*|i586-i686
)
1625 def_fast_unaligned
='#define HAVE_FAST_UNALIGNED 1'
1630 if test "$_runtime_cpudetection" = no
; then
1634 3) proc
=i386 iproc
=386 ;;
1635 4) proc
=i486 iproc
=486 ;;
1636 5) iproc
=586 # LGB: models are: K5/SSA5 K5 K5 K5 ? ? K6 K6 K6-2 K6-3
1637 # K6 model 13 are the K6-2+ and K6-III+, only differing in cache size.
1638 if test "$pmodel" -eq 9 -o "$pmodel" -eq 13; then
1640 elif test "$pmodel" -eq 5 -o "$pmodel" -eq 10; then
1642 elif test "$pmodel" -ge 8; then
1644 elif test "$pmodel" -ge 6; then
1651 # It's a bit difficult to determine the correct type of Family 6
1652 # AMD CPUs just from their signature. Instead, we check directly
1653 # whether it supports SSE.
1654 if test "$_sse" = yes; then
1655 # gcc treats athlon-xp, athlon-4 and athlon-mp similarly.
1658 # Again, gcc treats athlon and athlon-tbird similarly.
1663 # k8 cpu-type only supported in gcc >= 3.4.0, but that will be
1664 # caught and remedied in the optimization tests below.
1668 *) proc
=amdfam10 iproc
=686
1669 test $_fast_clz = "auto" && _fast_clz
=yes
1675 3) proc
=i386 iproc
=386 ;;
1676 4) proc
=i486 iproc
=486 ;;
1678 if test "$pmodel" -eq 4 ||
test "$pmodel" -eq 8; then
1679 proc
=pentium-mmx
# 4 is desktop, 8 is mobile
1685 if test "$pmodel" -ge 15; then
1687 elif test "$pmodel" -eq 9 -o "$pmodel" -ge 13; then
1689 elif test "$pmodel" -ge 7; then
1691 elif test "$pmodel" -ge 3; then
1696 test $_fast_clz = "auto" && _fast_clz
=yes
1699 # A nocona in 32-bit mode has no more capabilities than a prescott.
1700 if test "$pmodel" -ge 3; then
1704 test $_fast_clz = "auto" && _fast_clz
=yes
1706 test $_fast_cmov = "auto" && _fast_cmov
=no
1708 *) proc
=prescott iproc
=686 ;;
1714 if test "$pmodel" -ge 8; then
1716 elif test "$pmodel" -ge 4; then
1723 if test "$pmodel" -ge 9; then
1730 *) proc
=i686 iproc
=i686
;;
1735 3) proc
=i386 iproc
=386 ;;
1736 4) proc
=i486 iproc
=486 ;;
1737 *) proc
=i586 iproc
=586 ;;
1741 proc
=i586 iproc
=586 ;;
1743 test $_fast_clz = "auto" && _fast_clz
=no
1744 fi # test "$_runtime_cpudetection" = no
1747 # check that gcc supports our CPU, if not, fall back to earlier ones
1748 # LGB: check -mcpu and -march swithing step by step with enabling
1749 # to fall back till 386.
1751 # gcc >= 3.4.0 doesn't support -mcpu, we have to use -mtune instead
1753 if [ "$cc_vendor" = "gnu" ] && ([ "$_cc_major" -gt 3 ] ||
( [ "$_cc_major" = 3 ] && [ "$_cc_minor" -ge 4 ])) ; then
1759 echocheck
"GCC & CPU optimization abilities"
1760 if test "$_runtime_cpudetection" = no
; then
1761 if test $cc_vendor != "intel" && test $cc_vendor != "clang" ; then
1762 cflag_check
-march=native
&& proc
=native
1764 if test "$proc" = "amdfam10"; then
1765 cflag_check
-march=$proc $cpuopt=$proc || proc
=k8
1767 if test "$proc" = "k8"; then
1768 cflag_check
-march=$proc $cpuopt=$proc || proc
=athlon-xp
1770 if test "$proc" = "athlon-xp"; then
1771 cflag_check
-march=$proc $cpuopt=$proc || proc
=athlon
1773 if test "$proc" = "k6-3" ||
test "$proc" = "k6-2"; then
1774 cflag_check
-march=$proc $cpuopt=$proc || proc
=k6
1776 if test "$proc" = "k6" ||
test "$proc" = "c3"; then
1777 if ! cflag_check
-march=$proc $cpuopt=$proc; then
1778 if cflag_check
-march=i586
$cpuopt=i686
; then
1785 if test "$proc" = "prescott" ; then
1786 cflag_check
-march=$proc $cpuopt=$proc || proc
=pentium4
1788 if test "$proc" = "core2" ; then
1789 cflag_check
-march=$proc $cpuopt=$proc || proc
=pentium-m
1791 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
1792 cflag_check
-march=$proc $cpuopt=$proc || proc
=i686
1794 if test "$proc" = "i686" ||
test "$proc" = "pentium-mmx" ||
test "$proc" = "winchip-c6" ||
test "$proc" = "winchip2"; then
1795 cflag_check
-march=$proc $cpuopt=$proc || proc
=i586
1797 if test "$proc" = "i586"; then
1798 cflag_check
-march=$proc $cpuopt=$proc || proc
=i486
1800 if test "$proc" = "i486" ; then
1801 cflag_check
-march=$proc $cpuopt=$proc || proc
=i386
1803 if test "$proc" = "i386" ; then
1804 cflag_check
-march=$proc $cpuopt=$proc || proc
=error
1806 if test "$proc" = "error" ; then
1807 echores
"CPU optimization disabled. CPU not recognized or your compiler is too old."
1811 elif test "$proc" = "i586-i686"; then
1812 _march
="-march=i586"
1813 _mcpu
="$cpuopt=i686"
1816 _march
="-march=$proc"
1817 _mcpu
="$cpuopt=$proc"
1820 else # if test "$_runtime_cpudetection" = no
1821 _mcpu
="$cpuopt=generic"
1822 # at least i486 required, for bswap instruction
1823 _march
="-march=i486"
1824 cflag_check
$_mcpu || _mcpu
="$cpuopt=i686"
1825 cflag_check
$_mcpu || _mcpu
=""
1826 cflag_check
$_march $_mcpu || _march
=""
1829 ## Gabucino : --target takes effect here (hopefully...) by overwriting
1830 ## autodetected mcpu/march parameters
1831 if test "$_target" ; then
1832 # TODO: it may be a good idea to check GCC and fall back in all cases
1833 if test "$host_arch" = "i586-i686"; then
1834 _march
="-march=i586"
1835 _mcpu
="$cpuopt=i686"
1837 _march
="-march=$host_arch"
1838 _mcpu
="$cpuopt=$host_arch"
1846 i586|k5|k6|k6-2|k6-3|pentium|pentium-mmx
) iproc
=586 ;;
1847 i686|athlon
*|pentium
*) iproc
=686 ;;
1852 if test $_cmov = "yes" && test $_fast_cmov = "auto" ; then
1857 test $_fast_clz = "auto" && _fast_clz
=yes
1864 def_fast_64bit
='#define HAVE_FAST_64BIT 1'
1871 def_fast_unaligned
='#define HAVE_FAST_UNALIGNED 1'
1872 def_fast_64bit
='#define HAVE_FAST_64BIT 1'
1875 # gcc >= 3.4.0 doesn't support -mcpu, we have to use -mtune instead
1876 if test "$cc_vendor" = "gnu" && test "$_cc_major" -gt 3 -o "$_cc_major" -eq 3 -a "$_cc_minor" -ge 4 ; then
1881 if test "$_runtime_cpudetection" = no
; then
1886 test $_fast_clz = "auto" && _fast_clz
=no
1895 # 64-bit prescotts exist, but as far as GCC is concerned they
1896 # have the same capabilities as a nocona.
1898 test $_fast_cmov = "auto" && _fast_cmov
=no
1899 test $_fast_clz = "auto" && _fast_clz
=no
1906 fi # test "$_runtime_cpudetection" = no
1908 echocheck
"GCC & CPU optimization abilities"
1909 # This is a stripped-down version of the i386 fallback.
1910 if test "$_runtime_cpudetection" = no
; then
1911 if test $cc_vendor != "intel" && test $cc_vendor != "clang" ; then
1912 cflag_check
-march=native
&& proc
=native
1914 # --- AMD processors ---
1915 if test "$proc" = "amdfam10"; then
1916 cflag_check
-march=$proc $cpuopt=$proc || proc
=k8
1918 if test "$proc" = "k8"; then
1919 cflag_check
-march=$proc $cpuopt=$proc || proc
=athlon-xp
1921 # This will fail if gcc version < 3.3, which is ok because earlier
1922 # versions don't really support 64-bit on amd64.
1923 # Is this a valid assumption? -Corey
1924 if test "$proc" = "athlon-xp"; then
1925 cflag_check
-march=$proc $cpuopt=$proc || proc
=error
1927 # --- Intel processors ---
1928 if test "$proc" = "core2"; then
1929 cflag_check
-march=$proc $cpuopt=$proc || proc
=x86-64
1931 if test "$proc" = "x86-64"; then
1932 cflag_check
-march=$proc $cpuopt=$proc || proc
=nocona
1934 if test "$proc" = "nocona"; then
1935 cflag_check
-march=$proc $cpuopt=$proc || proc
=pentium4
1937 if test "$proc" = "pentium4"; then
1938 cflag_check
-march=$proc $cpuopt=$proc || proc
=error
1941 _march
="-march=$proc"
1942 _mcpu
="$cpuopt=$proc"
1943 if test "$proc" = "error" ; then
1944 echores
"CPU optimization disabled. CPU not recognized or your compiler is too old."
1948 else # if test "$_runtime_cpudetection" = no
1949 # x86-64 is an undocumented option, an intersection of k8 and nocona.
1950 _march
="-march=x86-64"
1951 _mcpu
="$cpuopt=generic"
1952 cflag_check
$_mcpu || _mcpu
="x86-64"
1953 cflag_check
$_mcpu || _mcpu
=""
1954 cflag_check
$_march $_mcpu || _march
=""
1958 test $_fast_cmov = "auto" && _fast_cmov
=yes
1959 test $_fast_clz = "auto" && _fast_clz
=yes
1967 if test "$host_arch" = "sparc64" ; then
1970 def_fast_64bit
='#define HAVE_FAST_64BIT 1'
1972 echocheck
"CPU type"
1974 case "$(echo $karch)" in
1979 sun4u
) proc
=ultrasparc _vis
='yes' ;;
1998 def_fast_unaligned
='#define HAVE_FAST_UNALIGNED 1'
2000 test $_fast_clz = "auto" && _fast_clz
=yes
2008 ppc|ppc64|powerpc|powerpc64
)
2010 def_dcbzl
='#define HAVE_DCBZL 0'
2011 def_fast_unaligned
='#define HAVE_FAST_UNALIGNED 1'
2014 if test "$host_arch" = "ppc64" -o "$host_arch" = "powerpc64" ; then
2016 def_fast_64bit
='#define HAVE_FAST_64BIT 1'
2018 echocheck
"CPU type"
2019 case $system_name in
2021 proc
=$
($_cpuinfo |
grep 'cpu' | cut
-d ':' -f 2 | cut
-d ',' -f 1 | cut
-b 2- |
head -n 1)
2022 if test -n "$($_cpuinfo | grep altivec)"; then
2023 test $_altivec = auto
&& _altivec
=yes
2027 proc
=$
($_cpuinfo |
grep "Processor type" | cut
-f 3 -d ' ' |
sed 's/ppc//')
2028 if [ $
(sysctl
-n hw.vectorunit
) -eq 1 -o \
2029 "$(sysctl -n hw.optional.altivec 2> /dev/null)" = "1" ]; then
2030 test $_altivec = auto
&& _altivec
=yes
2034 # only gcc 3.4 works reliably with AltiVec code under NetBSD
2036 2*|
3.0*|
3.1*|
3.2*|
3.3*)
2039 if [ $
(sysctl
-n machdep.altivec
) -eq 1 ]; then
2040 test $_altivec = auto
&& _altivec
=yes
2046 proc
=$
($_cpuinfo |
grep 'type' | cut
-f 2 -d ' ' |
sed 's/PowerPC_//')
2049 if test "$_altivec" = yes; then
2050 echores
"$proc altivec"
2056 echocheck
"GCC & CPU optimization abilities"
2058 if test -n "$proc"; then
2060 601) _march
='-mcpu=601' _mcpu
='-mtune=601' ;;
2061 603) _march
='-mcpu=603' _mcpu
='-mtune=603' ;;
2062 603e|
603ev
) _march
='-mcpu=603e' _mcpu
='-mtune=603e' ;;
2063 604|
604e|
604r|
604ev
) _march
='-mcpu=604' _mcpu
='-mtune=604' ;;
2064 740|
740/750|
745/755) _march
='-mcpu=740' _mcpu
='-mtune=740' ;;
2065 750|
750CX
) _march
='-mcpu=750' _mcpu
='-mtune=750' ;;
2066 POWER
) _march
='-mcpu=power' _mcpu
='-mtune=power' ;;
2067 POWER2
) _march
='-mcpu=power2' _mcpu
='-mtune=power2' ;;
2068 POWER3
) _march
='-mcpu=power3' _mcpu
='-mtune=power3' ;;
2071 # gcc 3.1(.1) and up supports 7400 and 7450
2072 if test "$_cc_major" -ge "3" && test "$_cc_minor" -ge "1" ||
test "$_cc_major" -ge "4"; then
2074 7400*|
7410*) _march
='-mcpu=7400' _mcpu
='-mtune=7400' ;;
2075 7447*|
7450*|
7455*) _march
='-mcpu=7450' _mcpu
='-mtune=7450' ;;
2079 # gcc 3.2 and up supports 970
2080 if test "$_cc_major" -ge "3" && test "$_cc_minor" -ge "3" ||
test "$_cc_major" -ge "4"; then
2082 970*|PPC970
*) _march
='-mcpu=970' _mcpu
='-mtune=970'
2083 def_dcbzl
='#define HAVE_DCBZL 1' ;;
2087 # gcc 3.3 and up supports POWER4
2088 if test "$_cc_major" -ge "3" && test "$_cc_minor" -ge "3" ||
test "$_cc_major" -ge "4"; then
2090 POWER4
) _march
='-mcpu=power4' _mcpu
='-mtune=power4' ;;
2094 # gcc 3.4 and up supports 440*
2095 if test "$_cc_major" -ge "3" && test "$_cc_minor" -ge "4" ||
test "$_cc_major" -ge "4"; then
2097 440EP
*) _march
='-mcpu=440fp' _mcpu
='-mtune=440fp' ;;
2098 440G
* ) _march
='-mcpu=440' _mcpu
='-mtune=440' ;;
2102 # gcc 4.0 and up supports POWER5
2103 if test "$_cc_major" -ge "4"; then
2105 POWER5
*) _march
='-mcpu=power5' _mcpu
='-mtune=power5' ;;
2111 if test -n "$_mcpu"; then
2112 _optimizing
=$
(echo $_mcpu | cut
-c 8-)
2113 echores
"$_optimizing"
2118 test $_fast_clz = "auto" && _fast_clz
=yes
2125 def_fast_64bit
='#define HAVE_FAST_64BIT 1'
2127 echocheck
"CPU type"
2130 unsigned long ver, mask;
2131 __asm__ ("implver %0" : "=r" (ver));
2132 __asm__ ("amask %1, %0" : "=r" (mask) : "r" (-1));
2133 printf("%ld-%x\n", ver, ~mask);
2137 $_cc -o "$TMPEXE" "$TMPC"
2138 case $
("$TMPEXE") in
2140 0-0) proc
="ev4"; _mvi
="0";;
2141 1-0) proc
="ev5"; _mvi
="0";;
2142 1-1) proc
="ev56"; _mvi
="0";;
2143 1-101) proc
="pca56"; _mvi
="1";;
2144 2-303) proc
="ev6"; _mvi
="1";;
2145 2-307) proc
="ev67"; _mvi
="1";;
2146 2-1307) proc
="ev68"; _mvi
="1";;
2150 echocheck
"GCC & CPU optimization abilities"
2151 if test "$proc" = "ev68" ; then
2152 cc_check
-mcpu=$proc || proc
=ev67
2154 if test "$proc" = "ev67" ; then
2155 cc_check
-mcpu=$proc || proc
=ev6
2160 test $_fast_clz = "auto" && _fast_clz
=yes
2170 echocheck
"CPU type"
2171 proc
=$
(hinv
-c processor |
grep CPU | cut
-d " " -f3)
2172 case "$(echo $proc)" in
2173 R3000
) _march
='-mips1' _mcpu
='-mtune=r2000' ;;
2174 R4000
) _march
='-mips3' _mcpu
='-mtune=r4000' ;;
2175 R4400
) _march
='-mips3' _mcpu
='-mtune=r4400' ;;
2176 R4600
) _march
='-mips3' _mcpu
='-mtune=r4600' ;;
2177 R5000
) _march
='-mips4' _mcpu
='-mtune=r5000' ;;
2178 R8000|R10000|R12000|R14000|R16000
) _march
='-mips4' _mcpu
='-mtune=r8000' ;;
2180 # gcc < 3.x does not support -mtune.
2181 if test "$cc_vendor" = "gnu" && test "$_cc_major" -lt 3 ; then
2187 test $_fast_clz = "auto" && _fast_clz
=yes
2221 echo "The architecture of your CPU ($host_arch) is not supported by this configure script"
2222 echo "It seems nobody has ported MPlayer to your OS or CPU type yet."
2223 die
"unsupported architecture $host_arch"
2225 esac # case "$host_arch" in
2227 if test "$_runtime_cpudetection" = yes ; then
2229 test "$_cmov" != no
&& _cmov
=yes
2231 test "$_mmx" != no
&& _mmx
=yes
2232 test "$_3dnow" != no
&& _3dnow
=yes
2233 test "$_3dnowext" != no
&& _3dnowext
=yes
2234 test "$_mmxext" != no
&& _mmxext
=yes
2235 test "$_sse" != no
&& _sse
=yes
2236 test "$_sse2" != no
&& _sse2
=yes
2237 test "$_ssse3" != no
&& _ssse3
=yes
2238 test "$_mtrr" != no
&& _mtrr
=yes
2247 echocheck
"byte order"
2248 if test "$_big_endian" = auto
; then
2250 short ascii_name[] = {
2251 'M' << 8 | 'P', 'l' << 8 | 'a', 'y' << 8 | 'e', 'r' << 8 | 'B',
2252 'i' << 8 | 'g', 'E' << 8 | 'n', 'd' << 8 | 'i', 'a' << 8 | 'n', 0 };
2253 int main(void) { return (long)ascii_name; }
2256 if strings $TMPEXE |
grep -q -l MPlayerBigEndian
; then
2262 echo ${_echo_n} "failed to autodetect byte order, defaulting to ${_echo_c}"
2265 if test "$_big_endian" = yes ; then
2266 _byte_order
='big-endian'
2267 def_words_endian
='#define WORDS_BIGENDIAN 1'
2268 def_bigendian
='#define HAVE_BIGENDIAN 1'
2270 _byte_order
='little-endian'
2271 def_words_endian
='#undef WORDS_BIGENDIAN'
2272 def_bigendian
='#define HAVE_BIGENDIAN 0'
2274 echores
"$_byte_order"
2277 echocheck
"extern symbol prefix"
2281 cc_check
-c || die
"Symbol mangling check failed."
2282 sym
=$
($_nm -P -g $TMPEXE)
2283 extern_prefix
=${sym%%ff_extern*}
2284 def_extern_asm
="#define EXTERN_ASM $extern_prefix"
2285 def_extern_prefix
="#define EXTERN_PREFIX \"$extern_prefix\""
2286 echores
$extern_prefix
2289 echocheck
"assembler support of -pipe option"
2290 # -I. helps to detect compilers that just misunderstand -pipe like Sun C
2291 cflag_check
-pipe -I.
&& _pipe
="-pipe" && echores
"yes" || echores
"no"
2294 echocheck
"compiler support of named assembler arguments"
2296 def_named_asm_args
="#define NAMED_ASM_ARGS 1"
2297 if test "$cc_vendor" = "gnu" && test "$_cc_major" -lt 3 \
2298 -o "$_cc_major" -eq 3 -a "$_cc_minor" = 0 ; then
2300 def_named_asm_args
="#undef NAMED_ASM_ARGS"
2302 echores
$_named_asm_args
2305 if darwin
&& test "$cc_vendor" = "gnu" ; then
2306 echocheck
"GCC support of -mstackrealign"
2307 # GCC 4.2 and some earlier Apple versions support this flag on x86. Since
2308 # Mac OS X/Intel has an ABI different from Windows this is needed to avoid
2309 # crashes when loading Win32 DLLs. Unfortunately some gcc versions create
2310 # wrong code with this flag, but this can be worked around by adding
2311 # -fno-unit-at-a-time as described in the blog post at
2312 # http://www.dribin.org/dave/blog/archives/2006/12/05/missing_third_param/
2314 __attribute__((noinline)) static int foo3(int i1, int i2, int i3) { return i3; }
2315 int main(void) { return foo3(1, 2, 3) == 3 ? 0 : 1; }
2317 cc_check
-O2 -mstackrealign && tmp_run
&& cflags_stackrealign
=-mstackrealign
2318 test -z "$cflags_stackrealign" && cc_check
-O2 -mstackrealign -fno-unit-at-a-time &&
2319 tmp_run
&& cflags_stackrealign
="-mstackrealign -fno-unit-at-a-time"
2320 test -n "$cflags_stackrealign" && echores
"yes" || echores
"no"
2321 fi # if darwin && test "$cc_vendor" = "gnu" ; then
2324 # Checking for CFLAGS
2326 if test "$_profile" != "" ||
test "$_debug" != "" ; then
2327 CFLAGS
="-O2 $_march $_mcpu $_pipe $_debug $_profile"
2328 WARNFLAGS
="-W -Wall"
2330 elif test -z "$CFLAGS" ; then
2331 if test "$cc_vendor" = "intel" ; then
2332 CFLAGS
="-O2 $_march $_mcpu $_pipe -fomit-frame-pointer"
2333 WARNFLAGS
="-wd167 -wd556 -wd144"
2334 elif test "$cc_vendor" = "sun" ; then
2335 CFLAGS
="-O2 $_march $_mcpu $_pipe -xc99 -xregs=frameptr"
2336 elif test "$cc_vendor" = "clang"; then
2337 CFLAGS
="-O2 $_march $_pipe"
2338 elif test "$cc_vendor" != "gnu" ; then
2339 CFLAGS
="-O2 $_march $_mcpu $_pipe"
2341 CFLAGS
="-O2 $_march $_mcpu $_pipe -ffast-math -fomit-frame-pointer"
2342 WARNFLAGS
="-Wall -Wno-switch -Wno-parentheses -Wpointer-arith -Wredundant-decls"
2343 extra_ldflags
="$extra_ldflags -ffast-math"
2349 if test "$cc_vendor" = "gnu" ; then
2350 cflag_check
-Wundef && WARNFLAGS
="-Wundef $WARNFLAGS"
2351 # -std=gnu99 is not a warning flag but is placed in WARN_CFLAGS because
2352 # that's the only variable specific to C now, and this option is not valid
2354 cflag_check
-std=gnu99
&& WARN_CFLAGS
="-std=gnu99 $WARN_CFLAGS"
2355 cflag_check
-Wno-pointer-sign && WARN_CFLAGS
="-Wno-pointer-sign $WARN_CFLAGS"
2356 cflag_check
-Wdisabled-optimization && WARN_CFLAGS
="-Wdisabled-optimization $WARN_CFLAGS"
2357 cflag_check
-Wmissing-prototypes && WARN_CFLAGS
="-Wmissing-prototypes $WARN_CFLAGS"
2358 cflag_check
-Wstrict-prototypes && WARN_CFLAGS
="-Wstrict-prototypes $WARN_CFLAGS"
2360 CFLAGS
="-D_ISOC99_SOURCE -D_BSD_SOURCE $CFLAGS"
2363 cflag_check
-mno-omit-leaf-frame-pointer && cflags_no_omit_leaf_frame_pointer
="-mno-omit-leaf-frame-pointer"
2364 cflag_check
-MD -MP && DEPFLAGS
="-MD -MP"
2367 if test -n "$LDFLAGS" ; then
2368 extra_ldflags
="$extra_ldflags $LDFLAGS"
2370 elif test "$cc_vendor" = "intel" ; then
2371 extra_ldflags
="$extra_ldflags -i-static"
2373 if test -n "$CPPFLAGS" ; then
2374 extra_cflags
="$extra_cflags $CPPFLAGS"
2381 # Checking assembler (_as) compatibility...
2382 # Added workaround for older as that reads from stdin by default - atmos
2383 as_version
=$
(echo '' |
$_as -version 2>&1 |
sed -n 's/^.*assembler \(version \)*\([0-9.]*\).*$/\2/p')
2384 echocheck
"assembler ($_as $as_version)"
2386 _pref_as_version
='2.9.1'
2388 if test "$_mmx" = yes ; then
2389 echo 'emms' >> $TMPS
2391 if test "$_3dnow" = yes ; then
2392 _pref_as_version
='2.10.1'
2393 echo 'femms' >> $TMPS
2395 if test "$_3dnowext" = yes ; then
2396 _pref_as_version
='2.10.1'
2397 echo 'pswapd %mm0, %mm0' >> $TMPS
2399 if test "$_mmxext" = yes ; then
2400 _pref_as_version
='2.10.1'
2401 echo 'movntq %mm0, (%eax)' >> $TMPS
2403 if test "$_sse" = yes ; then
2404 _pref_as_version
='2.10.1'
2405 echo 'xorps %xmm0, %xmm0' >> $TMPS
2407 #if test "$_sse2" = yes ; then
2408 # _pref_as_version='2.11'
2409 # echo 'xorpd %xmm0, %xmm0' >> $TMPS
2411 if test "$_cmov" = yes ; then
2412 _pref_as_version
='2.10.1'
2413 echo 'cmovb %eax, %ebx' >> $TMPS
2415 if test "$_ssse3" = yes ; then
2416 _pref_as_version
='2.16.92'
2417 echo 'pabsd %xmm0, %xmm1' >> $TMPS
2419 $_as $TMPS -o $TMPEXE > /dev
/null
2>&1 || as_verc_fail
=yes
2421 if test "$as_verc_fail" != yes ; then
2424 res_comment
="Upgrade binutils to ${_pref_as_version} or use --disable-ssse3 etc."
2426 die
"obsolete binutils version"
2436 #if !(defined(__PIC__) || defined(__pic__) || defined(PIC))
2437 #error PIC not enabled
2442 cc_check
&& pic
=yes && extra_cflags
="$extra_cflags -DPIC"
2448 echocheck
".align is a power of two"
2449 if test "$_asmalign_pot" = auto
; then
2451 inline_asm_check
'".align 3"' && _asmalign_pot
=yes
2453 if test "$_asmalign_pot" = "yes" ; then
2454 def_asmalign_pot
='#define ASMALIGN(ZEROBITS) ".align " #ZEROBITS "\n\t"'
2456 def_asmalign_pot
='#define ASMALIGN(ZEROBITS) ".align 1<<" #ZEROBITS "\n\t"'
2458 echores
$_asmalign_pot
2461 echocheck
"10 assembler operands"
2463 def_ten_operands
='#define HAVE_TEN_OPERANDS 0'
2469 :"+&rm"(x), "+&rm"(x), "+&rm"(x), "+&rm"(x), "+&rm"(x), "+&rm"(x)
2474 cc_check
&& ten_operands
=yes && def_ten_operands
='#define HAVE_TEN_OPERANDS 1'
2475 echores
$ten_operands
2477 echocheck
"ebx availability"
2479 def_ebx_available
='#define HAVE_EBX_AVAILABLE 0'
2486 // just adding ebx to clobber list seems unreliable with some
2487 // compilers, e.g. Haiku's gcc 2.95
2489 // and the above check does not work for OSX 64 bit...
2490 __asm__ volatile("":::"%ebx");
2494 cc_check
&& ebx_available
=yes && def_ebx_available
='#define HAVE_EBX_AVAILABLE 1'
2495 echores
$ebx_available
2499 if test -z "$YASMFLAGS" ; then
2501 x86_64
&& objformat
="macho64" || objformat
="macho"
2507 # currently tested for Linux x86, x86_64
2508 YASMFLAGS
="-f $objformat"
2509 x86_64
&& YASMFLAGS
="$YASMFLAGS -DARCH_X86_64 -m amd64"
2510 test "$pic" = "yes" && YASMFLAGS
="$YASMFLAGS -DPIC"
2511 case "$objformat" in
2512 elf
) test $_debug && YASMFLAGS
="$YASMFLAGS -g dwarf2" ;;
2513 *) YASMFLAGS
="$YASMFLAGS -DPREFIX" ;;
2519 echo "pabsw xmm0, xmm0" > $TMPS
2520 yasm_check || _yasm
=""
2521 if test $_yasm ; then
2522 def_yasm
='#define HAVE_YASM 1'
2526 def_yasm
='#define HAVE_YASM 0'
2532 def_bswap
='#define HAVE_BSWAP 0'
2533 echo 'bswap %eax' > $TMPS
2534 $_as $TMPS -o $TMPEXE > /dev
/null
2>&1 && def_bswap
='#define HAVE_BSWAP 1' && bswap
=yes || bswap
=no
2539 #FIXME: This should happen before the check for CFLAGS..
2540 def_altivec_h
='#define HAVE_ALTIVEC_H 0'
2541 if ppc
&& ( test "$_altivec" = yes ||
test "$_runtime_cpudetection" = yes ) ; then
2543 # check if AltiVec is supported by the compiler, and how to enable it
2544 echocheck
"GCC AltiVec flags"
2545 if $
(cflag_check
-maltivec -mabi=altivec
) ; then
2546 _altivec_gcc_flags
="-maltivec -mabi=altivec"
2547 # check if <altivec.h> should be included
2548 if $
(header_check altivec.h
$_altivec_gcc_flags) ; then
2549 def_altivec_h
='#define HAVE_ALTIVEC_H 1'
2550 inc_altivec_h
='#include <altivec.h>'
2552 if $
(cflag_check
-faltivec) ; then
2553 _altivec_gcc_flags
="-faltivec"
2556 _altivec_gcc_flags
="none, AltiVec disabled"
2560 echores
"$_altivec_gcc_flags"
2562 # check if the compiler supports braces for vector declarations
2565 int main(void) { (vector int) {1}; return 0; }
2567 cc_check
$_altivec_gcc_flags || die
"You need a compiler that supports {} in AltiVec vector declarations."
2569 # Disable runtime cpudetection if we cannot generate AltiVec code or
2570 # AltiVec is disabled by the user.
2571 test "$_runtime_cpudetection" = yes && test "$_altivec" = no \
2572 && _runtime_cpudetection
=no
2574 # Show that we are optimizing for AltiVec (if enabled and supported).
2575 test "$_runtime_cpudetection" = no
&& test "$_altivec" = yes \
2576 && _optimizing
="$_optimizing altivec"
2578 # If AltiVec is enabled, make sure the correct flags turn up in CFLAGS.
2579 test "$_altivec" = yes && CFLAGS
="$CFLAGS $_altivec_gcc_flags"
2583 def_xform_asm
='#define HAVE_XFORM_ASM 0'
2585 echocheck
"XFORM ASM support"
2586 inline_asm_check
'"lwzx %1, %y0" :: "Z"(*(int*)0), "r"(0)' &&
2587 xform_asm
=yes && def_xform_asm
='#define HAVE_XFORM_ASM 1'
2588 echores
"$xform_asm"
2592 echocheck
"ARM pld instruction"
2594 inline_asm_check
'"pld [r0]"' && pld
=yes
2597 echocheck
"ARMv5TE (Enhanced DSP Extensions)"
2598 if test $_armv5te = "auto" ; then
2600 inline_asm_check
'"qadd r0, r0, r0"' && _armv5te
=yes
2604 test $_armv5te = "yes" && test $_fast_clz = "auto" && _fast_clz
=yes
2606 echocheck
"ARMv6 (SIMD instructions)"
2607 if test $_armv6 = "auto" ; then
2609 inline_asm_check
'"sadd16 r0, r0, r0"' && _armv6
=yes
2613 echocheck
"ARMv6t2 (SIMD instructions)"
2614 if test $_armv6t2 = "auto" ; then
2616 inline_asm_check
'"movt r0, #0"' && _armv6t2
=yes
2621 if test $_armvfp = "auto" ; then
2623 inline_asm_check
'"fadds s0, s0, s0"' && _armvfp
=yes
2627 echocheck
"ARM NEON"
2628 if test $neon = "auto" ; then
2630 inline_asm_check
'"vadd.i16 q0, q0, q0"' && neon
=yes
2634 echocheck
"iWMMXt (Intel XScale SIMD instructions)"
2635 if test $_iwmmxt = "auto" ; then
2637 inline_asm_check
'"wunpckelub wr6, wr4"' && _iwmmxt
=yes
2642 cpuexts_all
='ALTIVEC MMX MMX2 AMD3DNOW AMD3DNOWEXT SSE SSE2 SSSE3 FAST_CMOV CMOV FAST_CLZ PLD ARMV5TE ARMV6 ARMV6T2 ARMVFP NEON IWMMXT MMI VIS MVI'
2643 test "$_altivec" = yes && cpuexts
="ALTIVEC $cpuexts"
2644 test "$_mmx" = yes && cpuexts
="MMX $cpuexts"
2645 test "$_mmxext" = yes && cpuexts
="MMX2 $cpuexts"
2646 test "$_3dnow" = yes && cpuexts
="AMD3DNOW $cpuexts"
2647 test "$_3dnowext" = yes && cpuexts
="AMD3DNOWEXT $cpuexts"
2648 test "$_sse" = yes && cpuexts
="SSE $cpuexts"
2649 test "$_sse2" = yes && cpuexts
="SSE2 $cpuexts"
2650 test "$_ssse3" = yes && cpuexts
="SSSE3 $cpuexts"
2651 test "$_cmov" = yes && cpuexts
="CMOV $cpuexts"
2652 test "$_fast_cmov" = yes && cpuexts
="FAST_CMOV $cpuexts"
2653 test "$_fast_clz" = yes && cpuexts
="FAST_CLZ $cpuexts"
2654 test "$pld" = yes && cpuexts
="PLD $cpuexts"
2655 test "$_armv5te" = yes && cpuexts
="ARMV5TE $cpuexts"
2656 test "$_armv6" = yes && cpuexts
="ARMV6 $cpuexts"
2657 test "$_armv6t2" = yes && cpuexts
="ARMV6T2 $cpuexts"
2658 test "$_armvfp" = yes && cpuexts
="ARMVFP $cpuexts"
2659 test "$neon" = yes && cpuexts
="NEON $cpuexts"
2660 test "$_iwmmxt" = yes && cpuexts
="IWMMXT $cpuexts"
2661 test "$_vis" = yes && cpuexts
="VIS $cpuexts"
2662 test "$_mvi" = yes && cpuexts
="MVI $cpuexts"
2664 # Checking kernel version...
2665 if x86_32
&& linux
; then
2667 kernel_version
=$
(uname
-r 2>&1)
2668 echocheck
"$system_name kernel version"
2669 case "$kernel_version" in
2670 '') kernel_version
="?.??"; _k_verc_fail
=yes;;
2671 [0-1].
[0-9].
[0-9]*|
2.
[0-3].
[0-9]*)
2672 _k_verc_problem
=yes;;
2674 if test "$_k_verc_problem" = yes && test "$_sse" = yes ; then
2677 if test "$_k_verc_fail" ; then
2678 echores
"$kernel_version, fail"
2679 echo "WARNING! If you want to run MPlayer on this system, get prepared for problems!"
2680 echo "2.2.x has limited SSE support. Upgrade the kernel or use --disable-sse if you"
2681 echo "experience crashes. MPlayer tries to autodetect if your kernel correctly"
2682 echo "supports SSE, but you have been warned! If you are using a kernel older than"
2683 echo "2.2.x you must upgrade it to get SSE support!"
2684 # die "Your kernel is too old for this CPU." # works fine on some 2.2.x so don't die (later check will test)
2686 echores
"$kernel_version, ok"
2690 ######################
2691 # MAIN TESTS GO HERE #
2692 ######################
2696 if cflag_check
-lposix ; then
2697 extra_ldflags
="$extra_ldflags -lposix"
2704 if cflag_check
-lm ; then
2713 echocheck
"langinfo"
2714 if test "$_langinfo" = auto
; then
2716 statement_check langinfo.h
'nl_langinfo(CODESET)' && _langinfo
=yes
2718 if test "$_langinfo" = yes ; then
2719 def_langinfo
='#define HAVE_LANGINFO 1'
2721 def_langinfo
='#undef HAVE_LANGINFO'
2723 echores
"$_langinfo"
2726 echocheck
"translation support"
2727 if test "$_translation" = yes; then
2728 def_translation
="#define CONFIG_TRANSLATION 1"
2730 def_translation
="#undef CONFIG_TRANSLATION"
2732 echores
"$_translation"
2734 echocheck
"language"
2735 # Set preferred languages, "all" uses English as main language.
2736 test -z "$language" && language
=$LINGUAS
2737 test -z "$language_doc" && language_doc
=$language
2738 test -z "$language_man" && language_man
=$language
2739 test -z "$language_msg" && language_msg
=$language
2740 test -z "$language_msg" && language_msg
="all"
2741 language_doc
=$
(echo $language_doc |
tr , " ")
2742 language_man
=$
(echo $language_man |
tr , " ")
2743 language_msg
=$
(echo $language_msg |
tr , " ")
2745 test "$language_doc" = "all" && language_doc
=$doc_lang_all
2746 test "$language_man" = "all" && language_man
=$man_lang_all
2747 test "$language_msg" = "all" && language_msg
=$msg_lang_all
2749 if test "$_translation" != yes ; then
2753 # Prune non-existing translations from language lists.
2754 # Set message translation to the first available language.
2755 # Fall back on English.
2756 for lang
in $language_doc ; do
2757 test -d DOCS
/xml
/$lang && tmp_language_doc
="$tmp_language_doc $lang"
2759 language_doc
=$tmp_language_doc
2760 test -z "$language_doc" && language_doc
=en
2762 for lang
in $language_man ; do
2763 test -d DOCS
/man
/$lang && tmp_language_man
="$tmp_language_man $lang"
2765 language_man
=$tmp_language_man
2766 test -z "$language_man" && language_man
=en
2768 for lang
in $language_msg ; do
2769 test -f po
/$lang.po
&& tmp_language_msg
="$tmp_language_msg $lang"
2771 language_msg
=$tmp_language_msg
2773 echores
"messages (en+): $language_msg - man pages: $language_man - documentation: $language_doc"
2776 echocheck
"enable sighandler"
2777 if test "$_sighandler" = yes ; then
2778 def_sighandler
='#define CONFIG_SIGHANDLER 1'
2780 def_sighandler
='#undef CONFIG_SIGHANDLER'
2782 echores
"$_sighandler"
2784 echocheck
"runtime cpudetection"
2785 if test "$_runtime_cpudetection" = yes ; then
2786 _optimizing
="Runtime CPU-Detection enabled"
2787 def_runtime_cpudetection
='#define CONFIG_RUNTIME_CPUDETECT 1'
2789 def_runtime_cpudetection
='#define CONFIG_RUNTIME_CPUDETECT 0'
2791 echores
"$_runtime_cpudetection"
2794 echocheck
"restrict keyword"
2795 for restrict_keyword
in restrict __restrict __restrict__
; do
2796 echo "void foo(char * $restrict_keyword p); int main(void) { return 0; }" > $TMPC
2798 def_restrict_keyword
=$restrict_keyword
2802 if [ -n "$def_restrict_keyword" ]; then
2803 echores
"$def_restrict_keyword"
2807 # Avoid infinite recursion loop ("#define restrict restrict")
2808 if [ "$def_restrict_keyword" != "restrict" ]; then
2809 def_restrict_keyword
="#define restrict $def_restrict_keyword"
2811 def_restrict_keyword
=""
2815 echocheck
"__builtin_expect"
2816 # GCC branch prediction hint
2818 static int foo(int a) {
2819 a = __builtin_expect(a, 10);
2820 return a == 10 ? 0 : 1;
2822 int main(void) { return foo(10) && foo(0); }
2825 cc_check
&& _builtin_expect
=yes
2826 if test "$_builtin_expect" = yes ; then
2827 def_builtin_expect
='#define HAVE_BUILTIN_EXPECT 1'
2829 def_builtin_expect
='#undef HAVE_BUILTIN_EXPECT'
2831 echores
"$_builtin_expect"
2836 statement_check kstat.h
'kstat_open()' -lkstat && _kstat
=yes
2837 if test "$_kstat" = yes ; then
2838 def_kstat
="#define HAVE_LIBKSTAT 1"
2839 extra_ldflags
="$extra_ldflags -lkstat"
2841 def_kstat
="#undef HAVE_LIBKSTAT"
2847 # required for nanosleep on some systems
2849 statement_check
time.h
'nanosleep(0, 0)' -lposix4 && _posix4
=yes
2850 if test "$_posix4" = yes ; then
2851 extra_ldflags
="$extra_ldflags -lposix4"
2855 for func
in exp2 exp2f llrint log2 log2f lrint lrintf round roundf truncf
; do
2858 statement_check math.h
"${func}(2.0)" -D_ISOC99_SOURCE $_ld_lm && eval _
$func=yes
2859 if eval test "x\$_$func" = "xyes"; then
2860 eval def_
$func="\"#define HAVE_$(echo $func | tr '[a-z]' '[A-Z]') 1\""
2863 eval def_
$func="\"#define HAVE_$(echo $func | tr '[a-z]' '[A-Z]') 0\""
2871 define_statement_check
"_XOPEN_SOURCE 600" "stdlib.h" 'mkstemp("")' && _mkstemp
=yes
2872 if test "$_mkstemp" = yes ; then
2873 def_mkstemp
='#define HAVE_MKSTEMP 1'
2875 def_mkstemp
='#define HAVE_MKSTEMP 0'
2880 echocheck
"nanosleep"
2882 statement_check
time.h
'nanosleep(0, 0)' && _nanosleep
=yes
2883 if test "$_nanosleep" = yes ; then
2884 def_nanosleep
='#define HAVE_NANOSLEEP 1'
2886 def_nanosleep
='#undef HAVE_NANOSLEEP'
2888 echores
"$_nanosleep"
2892 # for Solaris (socket stuff is in -lsocket, gethostbyname and friends in -lnsl):
2893 # for BeOS (socket stuff is in -lsocket, gethostbyname and friends in -lbind):
2896 #include <sys/socket.h>
2897 int main(void) { gethostbyname(0); socket(AF_INET, SOCK_STREAM, 0); return 0; }
2900 for _ld_tmp
in "" "-lsocket -lbind" "-lsocket -ldnet" "-lsocket -lnsl" "-lnsl" "-lsocket" ; do
2901 cc_check
$_ld_tmp && _ld_sock
="$_ld_tmp" && _socklib
=yes && break
2903 test $_socklib = yes && test $_winsock2_h = auto
&& _winsock2_h
=no
2904 if test $_winsock2_h = auto
; then
2906 statement_check winsock2.h
'gethostbyname(0)' -lws2_32 && _ld_sock
="-lws2_32" && _winsock2_h
=yes
2908 test "$_ld_sock" && res_comment
="using $_ld_sock"
2912 if test $_winsock2_h = yes ; then
2914 def_winsock2_h
='#define HAVE_WINSOCK2_H 1'
2916 def_winsock2_h
='#define HAVE_WINSOCK2_H 0'
2920 echocheck
"arpa/inet.h"
2922 def_arpa_inet_h
='#define HAVE_ARPA_INET_H 0'
2923 header_check arpa
/inet.h
&& arpa_inet_h
=yes &&
2924 def_arpa_inet_h
='#define HAVE_ARPA_INET_H 1'
2925 echores
"$arpa_inet_h"
2928 echocheck
"inet_pton()"
2929 def_inet_pton
='#define HAVE_INET_PTON 0'
2931 for _ld_tmp
in "$_ld_sock" "$_ld_sock -lresolv" ; do
2932 statement_check arpa
/inet.h
'inet_pton(0, 0, 0)' $_ld_tmp && inet_pton
=yes && break
2934 if test $inet_pton = yes ; then
2935 test "$_ld_tmp" && res_comment
="using $_ld_tmp"
2936 def_inet_pton
='#define HAVE_INET_PTON 1'
2938 echores
"$inet_pton"
2941 echocheck
"inet_aton()"
2942 def_inet_aton
='#define HAVE_INET_ATON 0'
2944 for _ld_tmp
in "$_ld_sock" "$_ld_sock -lresolv" ; do
2945 statement_check arpa
/inet.h
'inet_aton(0, 0)' $_ld_tmp && inet_aton
=yes && break
2947 if test $inet_aton = yes ; then
2948 test "$_ld_tmp" && res_comment
="using $_ld_tmp"
2949 def_inet_aton
='#define HAVE_INET_ATON 1'
2951 echores
"$inet_aton"
2954 echocheck
"socklen_t"
2956 for header
in "sys/socket.h" "ws2tcpip.h" "sys/types.h" ; do
2957 statement_check
$header 'socklen_t v = 0' && _socklen_t
=yes && break
2959 if test "$_socklen_t" = yes ; then
2960 def_socklen_t
='#define HAVE_SOCKLEN_T 1'
2962 def_socklen_t
='#define HAVE_SOCKLEN_T 0'
2964 echores
"$_socklen_t"
2967 echocheck
"closesocket()"
2969 statement_check winsock2.h
'closesocket(~0)' $_ld_sock && _closesocket
=yes
2970 if test "$_closesocket" = yes ; then
2971 def_closesocket
='#define HAVE_CLOSESOCKET 1'
2973 def_closesocket
='#define HAVE_CLOSESOCKET 0'
2975 echores
"$_closesocket"
2978 echocheck
"networking"
2979 test $_winsock2_h = no
&& test $inet_pton = no
&&
2980 test $inet_aton = no
&& networking
=no
2981 if test "$networking" = yes ; then
2982 def_network
='#define CONFIG_NETWORK 1'
2983 def_networking
='#define CONFIG_NETWORKING 1'
2984 extra_ldflags
="$extra_ldflags $_ld_sock"
2985 inputmodules
="networking $inputmodules"
2987 noinputmodules
="networking $noinputmodules"
2988 def_network
='#define CONFIG_NETWORK 0'
2989 def_networking
='#undef CONFIG_NETWORKING'
2991 echores
"$networking"
2995 if test "$_inet6" = auto
; then
2997 #include <sys/types.h>
2998 #if !defined(_WIN32)
2999 #include <sys/socket.h>
3000 #include <netinet/in.h>
3002 #include <ws2tcpip.h>
3004 int main(void) { struct sockaddr_in6 six; socket(AF_INET6, SOCK_STREAM, AF_INET6); return 0; }
3007 if cc_check
$_ld_sock ; then
3011 if test "$_inet6" = yes ; then
3012 def_inet6
='#define HAVE_AF_INET6 1'
3014 def_inet6
='#undef HAVE_AF_INET6'
3019 echocheck
"gethostbyname2"
3020 if test "$_gethostbyname2" = auto
; then
3022 #include <sys/types.h>
3023 #include <sys/socket.h>
3025 int main(void) { gethostbyname2("", AF_INET); return 0; }
3032 if test "$_gethostbyname2" = yes ; then
3033 def_gethostbyname2
='#define HAVE_GETHOSTBYNAME2 1'
3035 def_gethostbyname2
='#undef HAVE_GETHOSTBYNAME2'
3037 echores
"$_gethostbyname2"
3040 echocheck
"inttypes.h (required)"
3042 header_check inttypes.h
&& _inttypes
=yes
3043 echores
"$_inttypes"
3045 if test "$_inttypes" = no
; then
3046 echocheck
"sys/bitypes.h (inttypes.h predecessor)"
3047 header_check sys
/bitypes.h
&& _inttypes
=yes
3048 if test "$_inttypes" = yes ; then
3049 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."
3051 die
"Cannot find header either inttypes.h or bitypes.h. There is no chance for compilation to succeed."
3056 echocheck
"malloc.h"
3058 header_check malloc.h
&& _malloc
=yes
3059 if test "$_malloc" = yes ; then
3060 def_malloc_h
='#define HAVE_MALLOC_H 1'
3062 def_malloc_h
='#define HAVE_MALLOC_H 0'
3067 echocheck
"memalign()"
3068 # XXX restrict to x86 ? extend to other CPUs/cacheline sizes ?
3069 def_memalign_hack
='#define CONFIG_MEMALIGN_HACK 0'
3071 statement_check malloc.h
'memalign(64, sizeof(char))' && _memalign
=yes
3072 if test "$_memalign" = yes ; then
3073 def_memalign
='#define HAVE_MEMALIGN 1'
3075 def_memalign
='#define HAVE_MEMALIGN 0'
3076 def_map_memalign
='#define memalign(a, b) malloc(b)'
3077 darwin || def_memalign_hack
='#define CONFIG_MEMALIGN_HACK 1'
3079 echores
"$_memalign"
3082 echocheck
"posix_memalign()"
3084 def_posix_memalign
='#define HAVE_POSIX_MEMALIGN 0'
3085 define_statement_check
"_XOPEN_SOURCE 600" "stdlib.h" 'posix_memalign(NULL, 0, 0)' &&
3086 posix_memalign
=yes && def_posix_memalign
='#define HAVE_POSIX_MEMALIGN 1'
3087 echores
"$posix_memalign"
3090 echocheck
"alloca.h"
3092 statement_check alloca.h
'alloca(0)' && _alloca
=yes
3094 def_alloca_h
='#define HAVE_ALLOCA_H 1'
3096 def_alloca_h
='#undef HAVE_ALLOCA_H'
3101 echocheck
"fastmemcpy"
3102 if test "$_fastmemcpy" = yes ; then
3103 def_fastmemcpy
='#define CONFIG_FASTMEMCPY 1'
3105 def_fastmemcpy
='#undef CONFIG_FASTMEMCPY'
3107 echores
"$_fastmemcpy"
3112 statement_check sys
/mman.h
'mmap(0, 0, 0, 0, 0, 0)' && _mman
=yes
3113 if test "$_mman" = yes ; then
3114 def_mman_h
='#define HAVE_SYS_MMAN_H 1'
3116 def_mman_h
='#undef HAVE_SYS_MMAN_H'
3117 os2
&& need_mmap
=yes
3121 _mman_has_map_failed
=no
3122 statement_check sys
/mman.h
'void *p = MAP_FAILED' && _mman_has_map_failed
=yes
3123 if test "$_mman_has_map_failed" = yes ; then
3124 def_mman_has_map_failed
=''
3126 def_mman_has_map_failed
='#define MAP_FAILED ((void *) -1)'
3129 echocheck
"dynamic loader"
3131 for _ld_tmp
in "" "-ldl"; do
3132 statement_check dlfcn.h
'dlopen("", 0)' $_ld_tmp && _ld_dl
="$_ld_tmp" && _dl
=yes && break
3134 if test "$_dl" = yes ; then
3135 def_dl
='#define HAVE_LIBDL 1'
3137 def_dl
='#undef HAVE_LIBDL'
3142 echocheck
"dynamic a/v plugins support"
3143 if test "$_dl" = no
; then
3146 if test "$_dynamic_plugins" = yes ; then
3147 def_dynamic_plugins
='#define CONFIG_DYNAMIC_PLUGINS 1'
3149 def_dynamic_plugins
='#undef CONFIG_DYNAMIC_PLUGINS'
3151 echores
"$_dynamic_plugins"
3154 def_threads
='#define HAVE_THREADS 0'
3158 THREAD_CFLAGS
=-D_REENTRANT
3159 elif freebsd || netbsd || openbsd || bsdos
; then
3160 THREAD_CFLAGS
=-D_THREAD_SAFE
3162 if test "$_pthreads" = auto
; then
3164 #include <pthread.h>
3165 static void *func(void *arg) { return arg; }
3168 #ifdef PTW32_STATIC_LIB
3169 pthread_win32_process_attach_np();
3170 pthread_win32_thread_attach_np();
3172 return pthread_create (&tid, 0, func, 0) != 0;
3177 for _ld_tmp
in "-lpthreadGC2" "" "-lpthread" "-pthread" ; do
3178 # for crosscompilation, we cannot execute the program, be happy if we can link statically
3179 cc_check
$THREAD_CFLAGS $_ld_tmp && (tmp_run ||
test "$_ld_static") && _ld_pthread
="$_ld_tmp" && _pthreads
=yes && break
3181 if test "$_pthreads" = no
&& mingw32
; then
3182 _ld_tmp
="-lpthreadGC2 -lws2_32"
3183 cc_check
$_ld_tmp -DPTW32_STATIC_LIB && (tmp_run ||
test "$_ld_static") && _ld_pthread
="$_ld_tmp" && _pthreads
=yes && CFLAGS
="$CFLAGS -DPTW32_STATIC_LIB"
3187 if test "$_pthreads" = yes ; then
3188 test $_ld_pthread && res_comment
="using $_ld_pthread"
3189 def_pthreads
='#define HAVE_PTHREADS 1'
3190 def_threads
='#define HAVE_THREADS 1'
3191 extra_cflags
="$extra_cflags $THREAD_CFLAGS"
3193 res_comment
="v4l, v4l2, ao_nas, win32 loader disabled"
3194 def_pthreads
='#undef HAVE_PTHREADS'
3195 _nas
=no
; _tv_v4l1
=no
; _tv_v4l2
=no
3196 mingw32 || _win32dll
=no
3198 echores
"$_pthreads"
3201 if test "$_pthreads" = yes ; then
3202 def_pthread_cache
="#define PTHREAD_CACHE 1"
3205 def_stream_cache
="#undef CONFIG_STREAM_CACHE"
3209 echocheck
"w32threads"
3210 if test "$_pthreads" = yes ; then
3211 res_comment
="using pthread instead"
3214 if test "$_w32threads" = auto
; then
3216 mingw32
&& _w32threads
=yes
3218 test "$_w32threads" = yes && def_threads
='#define HAVE_THREADS 1'
3219 echores
"$_w32threads"
3222 if test "$_rpath" = yes ; then
3223 for I
in $
(echo $extra_ldflags |
sed 's/-L//g') ; do
3224 tmp
="$tmp $(echo $I | sed 's/.*/ -L& -Wl,-R&/')"
3231 if test "$_iconv" = auto
; then
3236 #define INBUFSIZE 1024
3237 #define OUTBUFSIZE 4096
3239 char inbuffer[INBUFSIZE];
3240 char outbuffer[OUTBUFSIZE];
3245 char *tocode="UTF-8";
3246 char *fromcode="cp1250";
3247 if ((icdsc = iconv_open(tocode, fromcode)) != (iconv_t)(-1)) {
3248 while ((numread = read(0, inbuffer, INBUFSIZE))) {
3249 char *iptr=inbuffer;
3250 char *optr=outbuffer;
3251 size_t inleft=numread;
3252 size_t outleft=OUTBUFSIZE;
3253 if (iconv(icdsc, &iptr, &inleft, &optr, &outleft)
3255 write(1, outbuffer, OUTBUFSIZE - outleft);
3258 if (iconv_close(icdsc) == -1)
3265 for _ld_tmp
in "" "-liconv" "-liconv $_ld_dl" ; do
3266 cc_check
$_ld_lm $_ld_tmp && extra_ldflags
="$extra_ldflags $_ld_tmp" &&
3270 if test "$_iconv" = yes ; then
3271 def_iconv
='#define CONFIG_ICONV 1'
3273 def_iconv
='#undef CONFIG_ICONV'
3278 echocheck
"soundcard.h"
3280 def_soundcard_h
='#undef HAVE_SOUNDCARD_H'
3281 def_sys_soundcard_h
='#undef HAVE_SYS_SOUNDCARD_H'
3282 for _soundcard_header
in "sys/soundcard.h" "soundcard.h"; do
3283 header_check
$_soundcard_header && _soundcard_h
=yes &&
3284 res_comment
="$_soundcard_header" && break
3287 if test "$_soundcard_h" = yes ; then
3288 if test $_soundcard_header = "sys/soundcard.h"; then
3289 def_sys_soundcard_h
='#define HAVE_SYS_SOUNDCARD_H 1'
3291 def_soundcard_h
='#define HAVE_SOUNDCARD_H 1'
3294 echores
"$_soundcard_h"
3297 echocheck
"sys/dvdio.h"
3299 # FreeBSD 8.1 has broken dvdio.h
3300 header_check_broken sys
/types.h sys
/dvdio.h
&& _dvdio
=yes
3301 if test "$_dvdio" = yes ; then
3302 def_dvdio
='#define DVD_STRUCT_IN_SYS_DVDIO_H 1'
3304 def_dvdio
='#undef DVD_STRUCT_IN_SYS_DVDIO_H'
3309 echocheck
"sys/cdio.h"
3311 # at least OpenSolaris has a broken cdio.h
3312 header_check_broken sys
/types.h sys
/cdio.h
&& _cdio
=yes
3313 if test "$_cdio" = yes ; then
3314 def_cdio
='#define DVD_STRUCT_IN_SYS_CDIO_H 1'
3316 def_cdio
='#undef DVD_STRUCT_IN_SYS_CDIO_H'
3321 echocheck
"linux/cdrom.h"
3323 header_check linux
/cdrom.h
&& _cdrom
=yes
3324 if test "$_cdrom" = yes ; then
3325 def_cdrom
='#define DVD_STRUCT_IN_LINUX_CDROM_H 1'
3327 def_cdrom
='#undef DVD_STRUCT_IN_LINUX_CDROM_H'
3334 header_check dvd.h
&& _dvd
=yes
3335 if test "$_dvd" = yes ; then
3336 def_dvd
='#define DVD_STRUCT_IN_DVD_H 1'
3338 def_dvd
='#undef DVD_STRUCT_IN_DVD_H'
3344 echocheck
"BSDI dvd.h"
3346 header_check dvd.h
&& _bsdi_dvd
=yes
3347 if test "$_bsdi_dvd" = yes ; then
3348 def_bsdi_dvd
='#define DVD_STRUCT_IN_BSDI_DVDIOCTL_DVD_H 1'
3350 def_bsdi_dvd
='#undef DVD_STRUCT_IN_BSDI_DVDIOCTL_DVD_H'
3352 echores
"$_bsdi_dvd"
3357 # also used by AIX, but AIX does not support VCD and/or libdvdread
3358 echocheck
"HP-UX SCSI header"
3360 header_check sys
/scsi.h
&& _hpux_scsi_h
=yes
3361 if test "$_hpux_scsi_h" = yes ; then
3362 def_hpux_scsi_h
='#define HPUX_SCTL_IO 1'
3364 def_hpux_scsi_h
='#undef HPUX_SCTL_IO'
3366 echores
"$_hpux_scsi_h"
3371 echocheck
"userspace SCSI headers (Solaris)"
3373 header_check sys
/scsi
/scsi_types.h
&&
3374 header_check_broken sys
/types.h sys
/scsi
/impl
/uscsi.h
&&
3376 if test "$_sol_scsi_h" = yes ; then
3377 def_sol_scsi_h
='#define SOLARIS_USCSI 1'
3379 def_sol_scsi_h
='#undef SOLARIS_USCSI'
3381 echores
"$_sol_scsi_h"
3386 if test "$_termcap" = auto
; then
3388 for _ld_tmp
in "-lncurses" "-ltinfo" "-ltermcap"; do
3389 statement_check term.h
'tgetent(0, 0)' $_ld_tmp &&
3390 extra_ldflags
="$extra_ldflags $_ld_tmp" && _termcap
=yes && break
3393 if test "$_termcap" = yes ; then
3394 def_termcap
='#define HAVE_TERMCAP 1'
3395 test $_ld_tmp && res_comment
="using $_ld_tmp"
3397 def_termcap
='#undef HAVE_TERMCAP'
3403 def_termios
='#undef HAVE_TERMIOS'
3404 def_termios_h
='#undef HAVE_TERMIOS_H'
3405 def_termios_sys_h
='#undef HAVE_SYS_TERMIOS_H'
3406 if test "$_termios" = auto
; then
3408 for _termios_header
in "termios.h" "sys/termios.h"; do
3409 header_check
$_termios_header && _termios
=yes &&
3410 res_comment
="using $_termios_header" && break
3414 if test "$_termios" = yes ; then
3415 def_termios
='#define HAVE_TERMIOS 1'
3416 if test "$_termios_header" = "termios.h" ; then
3417 def_termios_h
='#define HAVE_TERMIOS_H 1'
3419 def_termios_sys_h
='#define HAVE_SYS_TERMIOS_H 1'
3426 if test "$_shm" = auto
; then
3428 statement_check sys
/shm.h
'shmget(0, 0, 0); shmat(0, 0, 0); shmctl(0, 0, 0)' && _shm
=yes
3430 if test "$_shm" = yes ; then
3431 def_shm
='#define HAVE_SHM 1'
3433 def_shm
='#undef HAVE_SHM'
3438 echocheck
"strsep()"
3440 statement_check string.h
'char *s = "Hello, world!"; strsep(&s, ",")' && _strsep
=yes
3441 if test "$_strsep" = yes ; then
3442 def_strsep
='#define HAVE_STRSEP 1'
3445 def_strsep
='#undef HAVE_STRSEP'
3451 echocheck
"vsscanf()"
3453 #define _ISOC99_SOURCE
3456 int main(void) { va_list ap; vsscanf("foo", "bar", ap); return 0; }
3459 cc_check
&& _vsscanf
=yes
3460 if test "$_vsscanf" = yes ; then
3461 def_vsscanf
='#define HAVE_VSSCANF 1'
3464 def_vsscanf
='#undef HAVE_VSSCANF'
3472 define_statement_check
"_XOPEN_SOURCE 600" "unistd.h" 'int a, b; swab(&a, &b, 0)' && _swab
=yes
3473 if test "$_swab" = yes ; then
3474 def_swab
='#define HAVE_SWAB 1'
3477 def_swab
='#undef HAVE_SWAB'
3482 echocheck
"POSIX select()"
3486 #include <sys/types.h>
3488 #include <sys/time.h>
3490 int main(void) {int nfds = 1; fd_set readfds; struct timeval timeout; select(nfds, &readfds, NULL, NULL, &timeout); return 0; }
3493 def_posix_select
='#undef HAVE_POSIX_SELECT'
3494 #select() of kLIBC (OS/2) supports socket only
3495 ! os2
&& cc_check
&& _posix_select
=yes &&
3496 def_posix_select
='#define HAVE_POSIX_SELECT 1'
3497 echores
"$_posix_select"
3500 echocheck
"audio select()"
3501 if test "$_select" = no
; then
3502 def_select
='#undef HAVE_AUDIO_SELECT'
3503 elif test "$_select" = yes ; then
3504 def_select
='#define HAVE_AUDIO_SELECT 1'
3509 echocheck
"gettimeofday()"
3511 statement_check sys
/time.h
'struct timeval tv; struct timezone tz; gettimeofday(&tv, &tz)' && _gettimeofday
=yes
3512 if test "$_gettimeofday" = yes ; then
3513 def_gettimeofday
='#define HAVE_GETTIMEOFDAY 1'
3514 need_gettimeofday
=no
3516 def_gettimeofday
='#undef HAVE_GETTIMEOFDAY'
3517 need_gettimeofday
=yes
3519 echores
"$_gettimeofday"
3524 statement_check glob.h
'glob("filename", 0, 0, 0)' && _glob
=yes
3525 if test "$_glob" = yes ; then
3526 def_glob
='#define HAVE_GLOB 1'
3529 def_glob
='#undef HAVE_GLOB'
3535 echocheck
"setenv()"
3537 statement_check stdlib.h
'setenv("", "", 0)' && _setenv
=yes
3538 if test "$_setenv" = yes ; then
3539 def_setenv
='#define HAVE_SETENV 1'
3542 def_setenv
='#undef HAVE_SETENV'
3548 echocheck
"setmode()"
3550 def_setmode
='#define HAVE_SETMODE 0'
3551 statement_check io.h
'setmode(0, 0)' && _setmode
=yes && def_setmode
='#define HAVE_SETMODE 1'
3556 echocheck
"sysi86()"
3558 statement_check sys
/sysi86.h
'sysi86(0)' && _sysi86
=yes
3559 if test "$_sysi86" = yes ; then
3560 def_sysi86
='#define HAVE_SYSI86 1'
3561 statement_check sys
/sysi86.h
'int sysi86(int, void*); sysi86(0)' && def_sysi86_iv
='#define HAVE_SYSI86_iv 1'
3563 def_sysi86
='#undef HAVE_SYSI86'
3569 echocheck
"sys/sysinfo.h"
3571 statement_check sys
/sysinfo.h
'struct sysinfo s_info; sysinfo(&s_info)' && _sys_sysinfo
=yes
3572 if test "$_sys_sysinfo" = yes ; then
3573 def_sys_sysinfo_h
='#define HAVE_SYS_SYSINFO_H 1'
3575 def_sys_sysinfo_h
='#undef HAVE_SYS_SYSINFO_H'
3577 echores
"$_sys_sysinfo"
3582 echocheck
"Mac OS X Finder Support"
3583 def_macosx_finder
='#undef CONFIG_MACOSX_FINDER'
3584 if test "$_macosx_finder" = yes ; then
3585 def_macosx_finder
='#define CONFIG_MACOSX_FINDER 1'
3586 extra_ldflags
="$extra_ldflags -framework Carbon"
3588 echores
"$_macosx_finder"
3590 echocheck
"Mac OS X Bundle file locations"
3591 def_macosx_bundle
='#undef CONFIG_MACOSX_BUNDLE'
3592 test "$_macosx_bundle" = auto
&& _macosx_bundle
=$_macosx_finder
3593 if test "$_macosx_bundle" = yes ; then
3594 def_macosx_bundle
='#define CONFIG_MACOSX_BUNDLE 1'
3595 extra_ldflags
="$extra_ldflags -framework Carbon"
3597 echores
"$_macosx_bundle"
3599 echocheck
"Apple Remote"
3600 if test "$_apple_remote" = auto
; then
3604 #include <IOKit/IOCFPlugIn.h>
3606 io_iterator_t hidObjectIterator = (io_iterator_t)NULL;
3607 CFMutableDictionaryRef hidMatchDictionary;
3608 IOReturn ioReturnValue;
3610 // Set up a matching dictionary to search the I/O Registry by class.
3611 // name for all HID class devices
3612 hidMatchDictionary = IOServiceMatching("AppleIRController");
3614 // Now search I/O Registry for matching devices.
3615 ioReturnValue = IOServiceGetMatchingServices(kIOMasterPortDefault,
3616 hidMatchDictionary, &hidObjectIterator);
3618 // If search is unsuccessful, return nonzero.
3619 if (ioReturnValue != kIOReturnSuccess ||
3620 !IOIteratorIsValid(hidObjectIterator)) {
3626 cc_check
-framework IOKit
&& _apple_remote
=yes
3628 if test "$_apple_remote" = yes ; then
3629 def_apple_remote
='#define CONFIG_APPLE_REMOTE 1'
3630 libs_mplayer
="$libs_mplayer -framework IOKit -framework Cocoa"
3632 def_apple_remote
='#undef CONFIG_APPLE_REMOTE'
3634 echores
"$_apple_remote"
3640 echocheck
"Apple IR"
3641 if test "$_apple_ir" = auto
; then
3643 statement_check linux
/input.h
'struct input_event ev; struct input_id id' && _apple_ir
=yes
3645 if test "$_apple_ir" = yes ; then
3646 def_apple_ir
='#define CONFIG_APPLE_IR 1'
3648 def_apple_ir
='#undef CONFIG_APPLE_IR'
3650 echores
"$_apple_ir"
3653 echocheck
"pkg-config"
3654 _pkg_config
=pkg-config
3655 if $
($_pkg_config --version > /dev
/null
2>&1); then
3656 if test "$_ld_static"; then
3657 _pkg_config
="$_pkg_config --static"
3666 echocheck
"Samba support (libsmbclient)"
3667 if test "$_smb" = yes; then
3668 extra_ldflags
="$extra_ldflags -lsmbclient"
3670 if test "$_smb" = auto
; then
3672 for _ld_tmp
in "-lsmbclient" "-lsmbclient $_ld_dl" "-lsmbclient $_ld_dl -lnsl" "-lsmbclient $_ld_dl -lssl -lnsl" ; do
3673 statement_check libsmbclient.h
'smbc_opendir("smb://")' $_ld_tmp &&
3674 extra_ldflags
="$extra_ldflags $_ld_tmp" && _smb
=yes && break
3678 if test "$_smb" = yes; then
3679 def_smb
="#define CONFIG_LIBSMBCLIENT 1"
3680 inputmodules
="smb $inputmodules"
3682 def_smb
="#undef CONFIG_LIBSMBCLIENT"
3683 noinputmodules
="smb $noinputmodules"
3694 if test "$_tdfxfb" = yes ; then
3695 def_tdfxfb
='#define CONFIG_TDFXFB 1'
3696 vomodules
="tdfxfb $vomodules"
3698 def_tdfxfb
='#undef CONFIG_TDFXFB'
3699 novomodules
="tdfxfb $novomodules"
3704 if test "$_s3fb" = yes ; then
3705 def_s3fb
='#define CONFIG_S3FB 1'
3706 vomodules
="s3fb $vomodules"
3708 def_s3fb
='#undef CONFIG_S3FB'
3709 novomodules
="s3fb $novomodules"
3714 if test "$_wii" = yes ; then
3715 def_wii
='#define CONFIG_WII 1'
3716 vomodules
="wii $vomodules"
3718 def_wii
='#undef CONFIG_WII'
3719 novomodules
="wii $novomodules"
3724 if test "$_tdfxvid" = yes ; then
3725 def_tdfxvid
='#define CONFIG_TDFX_VID 1'
3726 vomodules
="tdfx_vid $vomodules"
3728 def_tdfxvid
='#undef CONFIG_TDFX_VID'
3729 novomodules
="tdfx_vid $novomodules"
3734 if test "$_xvr100" = auto
; then
3737 #include <sys/fbio.h>
3738 #include <sys/visual_io.h>
3740 struct vis_identifier ident;
3741 struct fbgattr attr;
3742 ioctl(0, VIS_GETIDENTIFIER, &ident);
3743 ioctl(0, FBIOGATTR, &attr);
3748 cc_check
&& _xvr100
=yes
3750 if test "$_xvr100" = yes ; then
3751 def_xvr100
='#define CONFIG_XVR100 1'
3752 vomodules
="xvr100 $vomodules"
3754 def_tdfxvid
='#undef CONFIG_XVR100'
3755 novomodules
="xvr100 $novomodules"
3760 if test "$_tga" = yes ; then
3761 def_tga
='#define CONFIG_TGA 1'
3762 vomodules
="tga $vomodules"
3764 def_tga
='#undef CONFIG_TGA'
3765 novomodules
="tga $novomodules"
3770 echocheck
"md5sum support"
3771 if test "$_md5sum" = yes; then
3772 def_md5sum
="#define CONFIG_MD5SUM 1"
3773 vomodules
="md5sum $vomodules"
3775 def_md5sum
="#undef CONFIG_MD5SUM"
3776 novomodules
="md5sum $novomodules"
3781 echocheck
"yuv4mpeg support"
3782 if test "$_yuv4mpeg" = yes; then
3783 def_yuv4mpeg
="#define CONFIG_YUV4MPEG 1"
3784 vomodules
="yuv4mpeg $vomodules"
3786 def_yuv4mpeg
="#undef CONFIG_YUV4MPEG"
3787 novomodules
="yuv4mpeg $novomodules"
3789 echores
"$_yuv4mpeg"
3793 if test "$_bl" = yes ; then
3794 def_bl
='#define CONFIG_BL 1'
3795 vomodules
="bl $vomodules"
3797 def_bl
='#undef CONFIG_BL'
3798 novomodules
="bl $novomodules"
3803 echocheck
"DirectFB"
3804 if test "$_directfb" = auto
; then
3807 #include <directfb.h>
3808 #include <directfb_version.h>
3809 #if (DIRECTFB_MAJOR_VERSION << 16 | DIRECTFB_MINOR_VERSION << 8 | DIRECTFB_MICRO_VERSION) < (0 << 16 | 9 << 8 | 22)
3810 #error "DirectFB version too old."
3812 int main(void) { DirectFBInit(0, 0); return 0; }
3814 for _inc_tmp
in "" -I/usr
/local
/include
/directfb
-I/usr
/include
/directfb
-I/usr
/local
/include
; do
3815 cc_check
$_inc_tmp -ldirectfb &&
3816 _directfb
=yes && extra_cflags
="$extra_cflags $_inc_tmp" && break
3819 if test "$_directfb" = yes ; then
3820 def_directfb
='#define CONFIG_DIRECTFB 1'
3821 vomodules
="directfb dfbmga $vomodules"
3822 libs_mplayer
="$libs_mplayer -ldirectfb"
3824 def_directfb
='#undef CONFIG_DIRECTFB'
3825 novomodules
="directfb dfbmga $novomodules"
3827 echores
"$_directfb"
3830 echocheck
"X11 headers presence"
3832 res_comment
="check if the dev(el) packages are installed"
3833 for I
in $
(echo $extra_cflags |
sed s
/-I//g
) /usr
/include
; do
3834 if test -f "$I/X11/Xlib.h" ; then
3840 if test $_cross_compile = no
; then
3841 for I
in /usr
/X11
/include
/usr
/X11R
7/include
/usr
/local
/include
/usr
/X11R
6/include \
3842 /usr
/include
/X11R6
/usr
/openwin
/include
; do
3843 if test -f "$I/X11/Xlib.h" ; then
3844 extra_cflags
="$extra_cflags -I$I"
3846 res_comment
="using $I"
3851 echores
"$_x11_headers"
3855 if test "$_x11" = auto
&& test "$_x11_headers" = yes ; then
3856 for I
in "" -L/usr
/X11R
7/lib
-L/usr
/local
/lib
-L/usr
/X11R
6/lib
-L/usr
/lib
/X11R6 \
3857 -L/usr
/X11
/lib
-L/usr
/lib32
-L/usr
/openwin
/lib
-L/usr
/local
/lib64
-L/usr
/X11R
6/lib64 \
3860 _ld_tmp
="$I -lXext -lX11 $_ld_pthread -Wl,-R$(echo $I | sed s/^-L//)"
3862 _ld_tmp
="$I -lXext -lX11 $_ld_pthread"
3864 statement_check X11
/Xutil.h
'XCreateWindow(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)' $_ld_tmp &&
3865 libs_mplayer
="$libs_mplayer $_ld_tmp" && _x11
=yes && break
3868 if test "$_x11" = yes ; then
3869 def_x11
='#define CONFIG_X11 1'
3870 vomodules
="x11 xover $vomodules"
3873 def_x11
='#undef CONFIG_X11'
3874 novomodules
="x11 $novomodules"
3875 res_comment
="check if the dev(el) packages are installed"
3876 # disable stuff that depends on X
3877 _xv
=no
; _xvmc
=no
; _xinerama
=no
; _vm
=no
; _xf86keysym
=no
; _vdpau
=no
3881 echocheck
"Xss screensaver extensions"
3882 if test "$_xss" = auto
; then
3884 statement_check
"X11/extensions/scrnsaver.h" 'XScreenSaverSuspend(NULL, True)' -lXss && _xss
=yes
3886 if test "$_xss" = yes ; then
3887 def_xss
='#define CONFIG_XSS 1'
3888 libs_mplayer
="$libs_mplayer -lXss"
3890 def_xss
='#undef CONFIG_XSS'
3897 if test "$_x11" = yes ; then
3899 #include <X11/Xmd.h>
3900 #include <X11/Xlib.h>
3901 #include <X11/Xutil.h>
3902 #include <X11/Xatom.h>
3903 #include <X11/extensions/dpms.h>
3904 int main(void) { DPMSQueryExtension(0, 0, 0); return 0; }
3906 cc_check
-lXdpms && _xdpms3
=yes
3907 statement_check_broken X11
/Xlib.h X11
/extensions
/dpms.h
'DPMSQueryExtension(0, 0, 0)' -lXext && _xdpms4
=yes
3909 if test "$_xdpms4" = yes ; then
3910 def_xdpms
='#define CONFIG_XDPMS 1'
3911 res_comment
="using Xdpms 4"
3913 elif test "$_xdpms3" = yes ; then
3914 def_xdpms
='#define CONFIG_XDPMS 1'
3915 libs_mplayer
="$libs_mplayer -lXdpms"
3916 res_comment
="using Xdpms 3"
3919 def_xdpms
='#undef CONFIG_XDPMS'
3925 if test "$_xv" = auto
; then
3927 statement_check_broken X11
/Xlib.h X11
/extensions
/Xvlib.h
'XvGetPortAttribute(0, 0, 0, 0)' -lXv && _xv
=yes
3930 if test "$_xv" = yes ; then
3931 def_xv
='#define CONFIG_XV 1'
3932 libs_mplayer
="$libs_mplayer -lXv"
3933 vomodules
="xv $vomodules"
3935 def_xv
='#undef CONFIG_XV'
3936 novomodules
="xv $novomodules"
3942 if test "$_xv" = yes && test "$_xvmc" != no
; then
3945 #include <X11/Xlib.h>
3946 #include <X11/extensions/Xvlib.h>
3947 #include <X11/extensions/XvMClib.h>
3949 XvMCQueryExtension(0, 0, 0);
3950 XvMCCreateContext(0, 0, 0, 0, 0, 0, 0);
3953 for _ld_tmp
in $_xvmclib XvMCNVIDIA XvMCW I810XvMC
; do
3954 cc_check
-lXvMC -l$_ld_tmp && _xvmc
=yes && _xvmclib
="$_ld_tmp" && break
3957 if test "$_xvmc" = yes ; then
3958 def_xvmc
='#define CONFIG_XVMC 1'
3959 libs_mplayer
="$libs_mplayer -lXvMC -l$_xvmclib"
3960 vomodules
="xvmc $vomodules"
3961 res_comment
="using $_xvmclib"
3963 def_xvmc
='#define CONFIG_XVMC 0'
3964 novomodules
="xvmc $novomodules"
3970 if test "$_vdpau" = auto
; then
3972 if test "$_dl" = yes ; then
3973 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
3976 if test "$_vdpau" = yes ; then
3977 def_vdpau
='#define CONFIG_VDPAU 1'
3978 libs_mplayer
="$libs_mplayer -lvdpau"
3979 vomodules
="vdpau $vomodules"
3981 def_vdpau
='#define CONFIG_VDPAU 0'
3982 novomodules
="vdpau $novomodules"
3987 echocheck
"Xinerama"
3988 if test "$_xinerama" = auto
; then
3990 statement_check X11
/extensions
/Xinerama.h
'XineramaIsActive(0)' -lXinerama && _xinerama
=yes
3993 if test "$_xinerama" = yes ; then
3994 def_xinerama
='#define CONFIG_XINERAMA 1'
3995 libs_mplayer
="$libs_mplayer -lXinerama"
3997 def_xinerama
='#undef CONFIG_XINERAMA'
3999 echores
"$_xinerama"
4002 # Note: the -lXxf86vm library is the VideoMode extension and though it's not
4003 # needed for DGA, AFAIK every distribution packages together with DGA stuffs
4004 # named 'X extensions' or something similar.
4005 # This check may be useful for future mplayer versions (to change resolution)
4006 # If you run into problems, remove '-lXxf86vm'.
4008 if test "$_vm" = auto
; then
4010 statement_check_broken X11
/Xlib.h X11
/extensions
/xf86vmode.h
'XF86VidModeQueryExtension(0, 0, 0)' -lXxf86vm && _vm
=yes
4012 if test "$_vm" = yes ; then
4013 def_vm
='#define CONFIG_XF86VM 1'
4014 libs_mplayer
="$libs_mplayer -lXxf86vm"
4016 def_vm
='#undef CONFIG_XF86VM'
4020 # Check for the presence of special keycodes, like audio control buttons
4021 # that XFree86 might have. Used to be bundled with the xf86vm check, but
4022 # has nothing to do with xf86vm and XFree 3.x has xf86vm but does NOT
4023 # have these new keycodes.
4024 echocheck
"XF86keysym"
4025 if test "$_xf86keysym" = auto
; then
4027 return_check X11
/XF86keysym.h XF86XK_AudioPause
&& _xf86keysym
=yes
4029 if test "$_xf86keysym" = yes ; then
4030 def_xf86keysym
='#define CONFIG_XF86XK 1'
4032 def_xf86keysym
='#undef CONFIG_XF86XK'
4034 echores
"$_xf86keysym"
4037 if test "$_dga2" = auto
&& test "$_x11" = yes ; then
4039 statement_check_broken X11
/Xlib.h X11
/extensions
/xf86dga.h
'XDGASetViewport(0, 0, 0, 0, 0)' -lXxf86dga && _dga2
=yes
4041 if test "$_dga1" = auto
&& test "$_dga2" = no
&& test "$_vm" = yes ; then
4043 statement_check_broken X11
/Xlib.h X11
/extensions
/xf86dga.h
'XF86DGASetViewPort(0, 0, 0, 0)' -lXxf86dga -lXxf86vm && _dga1
=yes
4047 def_dga
='#undef CONFIG_DGA'
4048 def_dga1
='#undef CONFIG_DGA1'
4049 def_dga2
='#undef CONFIG_DGA2'
4050 if test "$_dga1" = yes ; then
4052 def_dga1
='#define CONFIG_DGA1 1'
4053 res_comment
="using DGA 1.0"
4054 elif test "$_dga2" = yes ; then
4056 def_dga2
='#define CONFIG_DGA2 1'
4057 res_comment
="using DGA 2.0"
4059 if test "$_dga" = yes ; then
4060 def_dga
='#define CONFIG_DGA 1'
4061 libs_mplayer
="$libs_mplayer -lXxf86dga"
4062 vomodules
="dga $vomodules"
4064 novomodules
="dga $novomodules"
4070 if test "$_3dfx" = yes && test "$_dga" = yes ; then
4071 def_3dfx
='#define CONFIG_3DFX 1'
4072 vomodules
="3dfx $vomodules"
4074 def_3dfx
='#undef CONFIG_3DFX'
4075 novomodules
="3dfx $novomodules"
4081 if test "$_ggi" = auto
; then
4083 statement_check ggi
/ggi.h
'ggiInit()' -lggi && _ggi
=yes
4085 if test "$_ggi" = yes ; then
4086 def_ggi
='#define CONFIG_GGI 1'
4087 libs_mplayer
="$libs_mplayer -lggi"
4088 vomodules
="ggi $vomodules"
4090 def_ggi
='#undef CONFIG_GGI'
4091 novomodules
="ggi $novomodules"
4095 echocheck
"GGI extension: libggiwmh"
4096 if test "$_ggiwmh" = auto
; then
4098 statement_check ggi
/wmh.h
'ggiWmhInit()' -lggi -lggiwmh && _ggiwmh
=yes
4100 # needed to get right output on obscure combination
4101 # like --disable-ggi --enable-ggiwmh
4102 if test "$_ggi" = yes && test "$_ggiwmh" = yes ; then
4103 def_ggiwmh
='#define CONFIG_GGIWMH 1'
4104 libs_mplayer
="$libs_mplayer -lggiwmh"
4107 def_ggiwmh
='#undef CONFIG_GGIWMH'
4113 if test "$_aa" = auto
; then
4120 c = aa_autoinit(&aa_defparams);
4121 p = aa_getrenderparams();
4122 aa_autoinitkbd(c, 0);
4126 for _ld_tmp
in "-laa" ; do
4127 cc_check
$_ld_tmp && libs_mplayer
="$libs_mplayer $_ld_tmp" && _aa
=yes && break
4130 if test "$_aa" = yes ; then
4131 def_aa
='#define CONFIG_AA 1'
4133 libs_mplayer
="$libs_mplayer $(aalib-config --libs | cut -d " " -f 2,5,6)"
4135 vomodules
="aa $vomodules"
4137 def_aa
='#undef CONFIG_AA'
4138 novomodules
="aa $novomodules"
4144 if test "$_caca" = auto
; then
4146 if ( caca-config
--version ) >> "$TMPLOG" 2>&1 ; then
4149 #ifdef CACA_API_VERSION_1
4152 int main(void) { caca_init(); return 0; }
4154 cc_check $
(caca-config
--libs) && _caca
=yes
4157 if test "$_caca" = yes ; then
4158 def_caca
='#define CONFIG_CACA 1'
4159 extra_cflags
="$extra_cflags $(caca-config --cflags)"
4160 libs_mplayer
="$libs_mplayer $(caca-config --libs)"
4161 vomodules
="caca $vomodules"
4163 def_caca
='#undef CONFIG_CACA'
4164 novomodules
="caca $novomodules"
4170 if test "$_svga" = auto
; then
4172 header_check vga.h
-lvga $_ld_lm && _svga
=yes
4174 if test "$_svga" = yes ; then
4175 def_svga
='#define CONFIG_SVGALIB 1'
4176 libs_mplayer
="$libs_mplayer -lvga"
4177 vomodules
="svga $vomodules"
4179 def_svga
='#undef CONFIG_SVGALIB'
4180 novomodules
="svga $novomodules"
4186 if test "$_fbdev" = auto
; then
4190 if test "$_fbdev" = yes ; then
4191 def_fbdev
='#define CONFIG_FBDEV 1'
4192 vomodules
="fbdev $vomodules"
4194 def_fbdev
='#undef CONFIG_FBDEV'
4195 novomodules
="fbdev $novomodules"
4202 if test "$_dvb" = auto
; then
4206 #include <sys/ioctl.h>
4210 #include <linux/dvb/dmx.h>
4211 #include <linux/dvb/frontend.h>
4212 #include <linux/dvb/video.h>
4213 #include <linux/dvb/audio.h>
4214 int main(void) {return 0;}
4216 for _inc_tmp
in "" "-I/usr/src/DVB/include" ; do
4217 cc_check
$_inc_tmp && _dvb
=yes &&
4218 extra_cflags
="$extra_cflags $_inc_tmp" && break
4222 if test "$_dvb" = yes ; then
4224 inputmodules
="dvb $inputmodules"
4225 def_dvb
='#define CONFIG_DVB 1'
4226 def_dvbin
='#define CONFIG_DVBIN 1'
4227 aomodules
="mpegpes(dvb) $aomodules"
4228 vomodules
="mpegpes(dvb) $vomodules"
4231 noinputmodules
="dvb $noinputmodules"
4232 def_dvb
='#undef CONFIG_DVB'
4233 def_dvbin
='#undef CONFIG_DVBIN '
4234 aomodules
="mpegpes(file) $aomodules"
4235 vomodules
="mpegpes(file) $vomodules"
4241 echocheck
"QuickTime"
4242 if test "$quicktime" = auto
; then
4244 statement_check QuickTime
/QuickTime.h
'ImageDescription *desc; EnterMovies(); ExitMovies()' -framework QuickTime
&& quicktime
=yes
4246 if test "$quicktime" = yes ; then
4247 extra_ldflags
="$extra_ldflags -framework QuickTime"
4248 def_quicktime
='#define CONFIG_QUICKTIME 1'
4250 def_quicktime
='#undef CONFIG_QUICKTIME'
4256 if test "$_quartz" = auto
; then
4258 statement_check Carbon
/Carbon.h
'CFRunLoopRunInMode(kCFRunLoopDefaultMode, 0, false)' -framework Carbon
&& _quartz
=yes
4260 if test "$_quartz" = yes ; then
4261 libs_mplayer
="$libs_mplayer -framework Carbon"
4262 def_quartz
='#define CONFIG_QUARTZ 1'
4263 vomodules
="quartz $vomodules"
4265 def_quartz
='#undef CONFIG_QUARTZ'
4266 novomodules
="quartz $novomodules"
4270 echocheck
"CoreVideo"
4271 if test "$_corevideo" = auto
; then
4273 #include <Carbon/Carbon.h>
4274 #include <CoreServices/CoreServices.h>
4275 #include <OpenGL/OpenGL.h>
4276 #include <QuartzCore/CoreVideo.h>
4277 int main(void) { return 0; }
4280 cc_check
-framework Carbon
-framework Cocoa
-framework QuartzCore
-framework OpenGL
&& _corevideo
=yes
4282 if test "$_corevideo" = yes ; then
4283 vomodules
="corevideo $vomodules"
4284 libs_mplayer
="$libs_mplayer -framework Carbon -framework Cocoa -framework QuartzCore -framework OpenGL"
4285 def_corevideo
='#define CONFIG_COREVIDEO 1'
4287 novomodules
="corevideo $novomodules"
4288 def_corevideo
='#undef CONFIG_COREVIDEO'
4290 echores
"$_corevideo"
4295 echocheck
"PNG support"
4296 if test "$_png" = auto
; then
4299 # Don't check for -lpng on irix since it has its own libpng
4300 # incompatible with the GNU libpng
4301 res_comment
="disabled on irix (not GNU libpng)"
4308 printf("png.h : %s\n", PNG_LIBPNG_VER_STRING);
4309 printf("libpng: %s\n", png_libpng_ver);
4310 return strcmp(PNG_LIBPNG_VER_STRING, png_libpng_ver);
4313 cc_check
-lpng -lz $_ld_lm && _png
=yes
4317 if test "$_png" = yes ; then
4318 def_png
='#define CONFIG_PNG 1'
4319 extra_ldflags
="$extra_ldflags -lpng -lz"
4321 def_png
='#undef CONFIG_PNG'
4324 echocheck
"MNG support"
4325 if test "$_mng" = auto
; then
4327 return_statement_check libmng.h
'const char * p_ver = mng_version_text()' '!p_ver || p_ver[0] == 0' -lmng -lz $_ld_lm && _mng
=yes
4330 if test "$_mng" = yes ; then
4331 def_mng
='#define CONFIG_MNG 1'
4332 extra_ldflags
="$extra_ldflags -lmng -lz"
4334 def_mng
='#undef CONFIG_MNG'
4337 echocheck
"JPEG support"
4338 if test "$_jpeg" = auto
; then
4340 header_check_broken stdio.h jpeglib.h
-ljpeg $_ld_lm && _jpeg
=yes
4344 if test "$_jpeg" = yes ; then
4345 def_jpeg
='#define CONFIG_JPEG 1'
4346 vomodules
="jpeg $vomodules"
4347 extra_ldflags
="$extra_ldflags -ljpeg"
4349 def_jpeg
='#undef CONFIG_JPEG'
4350 novomodules
="jpeg $novomodules"
4355 echocheck
"PNM support"
4356 if test "$_pnm" = yes; then
4357 def_pnm
="#define CONFIG_PNM 1"
4358 vomodules
="pnm $vomodules"
4360 def_pnm
="#undef CONFIG_PNM"
4361 novomodules
="pnm $novomodules"
4367 echocheck
"GIF support"
4368 # This is to appease people who want to force gif support.
4369 # If it is forced to yes, then we still do checks to determine
4370 # which gif library to use.
4371 if test "$_gif" = yes ; then
4376 if test "$_gif" = auto
; then
4378 for _ld_gif
in "-lungif" "-lgif" ; do
4379 statement_check gif_lib.h
'QuantizeBuffer(0, 0, 0, 0, 0, 0, 0, 0)' $_ld_gif && _gif
=yes && break
4383 # If no library was found, and the user wants support forced,
4384 # then we force it on with libgif, as this is the safest
4385 # assumption IMHO. (libungif & libregif both create symbolic
4386 # links to libgif. We also assume that no x11 support is needed,
4387 # because if you are forcing this, then you _should_ know what
4388 # you are doing. [ Besides, package maintainers should never
4389 # have compiled x11 deps into libungif in the first place. ] )
4392 if test "$_force_gif" = yes && test "$_gif" = no
; then
4397 if test "$_gif" = yes ; then
4398 def_gif
='#define CONFIG_GIF 1'
4399 codecmodules
="gif $codecmodules"
4400 vomodules
="gif89a $vomodules"
4401 res_comment
="old version, some encoding functions disabled"
4402 def_gif_4
='#undef CONFIG_GIF_4'
4403 extra_ldflags
="$extra_ldflags $_ld_gif"
4409 #include <gif_lib.h>
4410 static void catch(int sig) { exit(1); }
4412 signal(SIGSEGV, catch); // catch segfault
4413 printf("EGifPutExtensionFirst is at address %p\n", EGifPutExtensionFirst);
4414 EGifSetGifVersion("89a"); // this will segfault a buggy gif lib.
4418 if cc_check
"$_ld_gif" ; then
4419 def_gif_4
='#define CONFIG_GIF_4 1'
4423 def_gif
='#undef CONFIG_GIF'
4424 def_gif_4
='#undef CONFIG_GIF_4'
4425 novomodules
="gif89a $novomodules"
4426 nocodecmodules
="gif $nocodecmodules"
4431 case "$_gif" in yes*)
4432 echocheck
"broken giflib workaround"
4433 def_gif_tvt_hack
='#define CONFIG_GIF_TVT_HACK 1'
4437 #include <gif_lib.h>
4439 GifFileType gif = {.UserData = NULL};
4440 printf("UserData is at address %p\n", gif.UserData);
4444 if cc_check
"$_ld_gif" ; then
4445 def_gif_tvt_hack
='#undef CONFIG_GIF_TVT_HACK'
4454 echocheck
"VESA support"
4455 if test "$_vesa" = auto
; then
4457 statement_check vbe.h
'vbeInit()' -lvbe -llrmi && _vesa
=yes
4459 if test "$_vesa" = yes ; then
4460 def_vesa
='#define CONFIG_VESA 1'
4461 libs_mplayer
="$libs_mplayer -lvbe -llrmi"
4462 vomodules
="vesa $vomodules"
4464 def_vesa
='#undef CONFIG_VESA'
4465 novomodules
="vesa $novomodules"
4477 def_sdl_sdl_h
="#undef CONFIG_SDL_SDL_H"
4478 if test -z "$_sdlconfig" ; then
4479 if ( sdl-config
--version ) >>"$TMPLOG" 2>&1 ; then
4480 _sdlconfig
="sdl-config"
4481 elif ( sdl11-config
--version ) >>"$TMPLOG" 2>&1 ; then
4482 _sdlconfig
="sdl11-config"
4487 if test "$_sdl" = auto ||
test "$_sdl" = yes ; then
4489 #ifdef CONFIG_SDL_SDL_H
4490 #include <SDL/SDL.h>
4495 // we allow SDL hacking our main() only on OSX
4498 int main(int argc, char *argv[]) {
4499 SDL_Init(SDL_INIT_VIDEO|SDL_INIT_NOPARACHUTE);
4504 for _ld_tmp
in "-lSDL" "-lSDL -lpthread" "-lSDL -lwinmm -lgdi32" "-lSDL -lwinmm -lgdi32 -ldxguid" ; do
4505 if cc_check
-DCONFIG_SDL_SDL_H $_inc_tmp $_ld_tmp ; then
4507 def_sdl_sdl_h
="#define CONFIG_SDL_SDL_H 1"
4511 if test "$_sdl" = no
&& "$_sdlconfig" --version >>"$TMPLOG" 2>&1 ; then
4512 res_comment
="using $_sdlconfig"
4514 _inc_tmp
="$($_sdlconfig --cflags | cut -d " " -f 1,5,6 | sed s/no-cygwin/cygwin/)"
4515 _ld_tmp
="$($_sdlconfig --libs | cut -d " " -f 1,4,6 | sed s/no-cygwin/cygwin/)"
4517 _inc_tmp
=$
($_sdlconfig --cflags |
sed s
/-Dmain=SDL_main
//)
4518 _ld_tmp
=$
($_sdlconfig --libs |
sed -e s
/-mwindows// -e s
/-lmingw32//)
4520 _inc_tmp
="$($_sdlconfig --cflags)"
4521 _ld_tmp
="$($_sdlconfig --libs)"
4523 if cc_check
$_inc_tmp $_ld_tmp >>"$TMPLOG" 2>&1 ; then
4525 elif cc_check
$_inc_tmp $_ld_tmp -lstdc++ >>"$TMPLOG" 2>&1 ; then
4526 # HACK for BeOS/Haiku SDL
4527 _ld_tmp
="$_ld_tmp -lstdc++"
4532 if test "$_sdl" = yes ; then
4533 def_sdl
='#define CONFIG_SDL 1'
4534 extra_cflags
="$extra_cflags $_inc_tmp"
4535 libs_mplayer
="$libs_mplayer $_ld_tmp"
4536 vomodules
="sdl $vomodules"
4537 aomodules
="sdl $aomodules"
4539 def_sdl
='#undef CONFIG_SDL'
4540 novomodules
="sdl $novomodules"
4541 noaomodules
="sdl $noaomodules"
4546 # make sure this stays below CoreVideo to avoid issues due to namespace
4547 # conflicts between -lGL and -framework OpenGL
4549 #Note: this test is run even with --enable-gl since we autodetect linker flags
4550 if (test "$_x11" = yes ||
test "$_sdl" = yes || win32
) && test "$_gl" != no
; then
4553 #include <windows.h>
4555 #elif defined(GL_SDL)
4557 #ifdef CONFIG_SDL_SDL_H
4558 #include <SDL/SDL.h>
4563 // we allow SDL hacking our main() only on OSX
4568 #include <X11/Xlib.h>
4571 int main(int argc, char *argv[]) {
4574 wglCreateContext(dc);
4575 #elif defined(GL_SDL)
4576 SDL_GL_SwapBuffers();
4578 glXCreateContext(NULL, NULL, NULL, True);
4585 for _ld_tmp
in "" -lGL "-lGL -lXdamage" "-lGL $_ld_pthread" ; do
4586 if cc_check
$_ld_tmp $_ld_lm ; then
4589 libs_mplayer
="$libs_mplayer $_ld_tmp $_ld_dl"
4593 if cc_check
-DGL_WIN32 -lopengl32 ; then
4596 libs_mplayer
="$libs_mplayer -lopengl32 -lgdi32"
4598 # last so it can reuse any linker etc. flags detected before
4599 if test "$_sdl" = yes ; then
4600 if cc_check
-DGL_SDL ||
4601 cc_check
-DCONFIG_SDL_SDL_H -DGL_SDL ; then
4604 elif cc_check
-DGL_SDL -lGL ||
4605 cc_check
-DCONFIG_SDL_SDL_H -DGL_SDL -lGL ; then
4608 libs_mplayer
="$libs_mplayer -lGL"
4614 if test "$_gl" = yes ; then
4615 def_gl
='#define CONFIG_GL 1'
4616 res_comment
="backends:"
4617 if test "$_gl_win32" = yes ; then
4618 def_gl_win32
='#define CONFIG_GL_WIN32 1'
4619 res_comment
="$res_comment win32"
4621 if test "$_gl_x11" = yes ; then
4622 def_gl_x11
='#define CONFIG_GL_X11 1'
4623 res_comment
="$res_comment x11"
4625 if test "$_gl_sdl" = yes ; then
4626 def_gl_sdl
='#define CONFIG_GL_SDL 1'
4627 res_comment
="$res_comment sdl"
4629 vomodules
="opengl $vomodules"
4631 def_gl
='#undef CONFIG_GL'
4632 def_gl_win32
='#undef CONFIG_GL_WIN32'
4633 def_gl_x11
='#undef CONFIG_GL_X11'
4634 def_gl_sdl
='#undef CONFIG_GL_SDL'
4635 novomodules
="opengl $novomodules"
4640 echocheck
"MatrixView"
4641 if test "$_gl" = no
; then
4644 if test "$matrixview" = yes ; then
4645 vomodules
="matrixview $vomodules"
4646 def_matrixview
='#define CONFIG_MATRIXVIEW 1'
4648 novomodules
="matrixview $novomodules"
4649 def_matrixview
='#undef CONFIG_MATRIXVIEW'
4651 echores
"$matrixview"
4655 echocheck
"KVA (SNAP/WarpOverlay!/DIVE)"
4656 if test "$_kva" = auto
; then
4658 header_check_broken os2.h kva.h
-lkva && _kva
=yes
4660 if test "$_kva" = yes ; then
4661 def_kva
='#define CONFIG_KVA 1'
4662 libs_mplayer
="$libs_mplayer -lkva"
4663 vomodules
="kva $vomodules"
4665 def_kva
='#undef CONFIG_KVA'
4666 novomodules
="kva $novomodules"
4674 echocheck
"Windows waveout"
4675 if test "$_win32waveout" = auto
; then
4677 header_check_broken windows.h mmsystem.h
-lwinmm && _win32waveout
=yes
4679 if test "$_win32waveout" = yes ; then
4680 def_win32waveout
='#define CONFIG_WIN32WAVEOUT 1'
4681 libs_mplayer
="$libs_mplayer -lwinmm"
4682 aomodules
="win32 $aomodules"
4684 def_win32waveout
='#undef CONFIG_WIN32WAVEOUT'
4685 noaomodules
="win32 $noaomodules"
4687 echores
"$_win32waveout"
4689 echocheck
"Direct3D"
4690 if test "$_direct3d" = auto
; then
4692 header_check d3d9.h
&& _direct3d
=yes
4694 if test "$_direct3d" = yes ; then
4695 def_direct3d
='#define CONFIG_DIRECT3D 1'
4696 vomodules
="direct3d $vomodules"
4698 def_direct3d
='#undef CONFIG_DIRECT3D'
4699 novomodules
="direct3d $novomodules"
4701 echores
"$_direct3d"
4704 if test "$_directx" = auto
; then
4708 int main(void) { return 0; }
4711 cc_check
-lgdi32 && _directx
=yes
4713 if test "$_directx" = yes ; then
4714 def_directx
='#define CONFIG_DIRECTX 1'
4715 libs_mplayer
="$libs_mplayer -lgdi32"
4716 vomodules
="directx $vomodules"
4717 aomodules
="dsound $aomodules"
4719 def_directx
='#undef CONFIG_DIRECTX'
4720 novomodules
="directx $novomodules"
4721 noaomodules
="dsound $noaomodules"
4729 if test "$_dxr3" = auto
; then
4731 header_check linux
/em8300.h
&& _dxr3
=yes
4733 if test "$_dxr3" = yes ; then
4734 def_dxr3
='#define CONFIG_DXR3 1'
4735 vomodules
="dxr3 $vomodules"
4737 def_dxr3
='#undef CONFIG_DXR3'
4738 novomodules
="dxr3 $novomodules"
4743 echocheck
"IVTV TV-Out (pre linux-2.6.24)"
4744 if test "$_ivtv" = auto
; then
4746 #include <sys/time.h>
4747 #include <linux/videodev2.h>
4748 #include <linux/ivtv.h>
4749 #include <sys/ioctl.h>
4751 struct ivtv_cfg_stop_decode sd;
4752 struct ivtv_cfg_start_decode sd1;
4753 ioctl(0, IVTV_IOC_START_DECODE, &sd1);
4754 ioctl(0, IVTV_IOC_STOP_DECODE, &sd);
4758 cc_check
&& _ivtv
=yes
4760 if test "$_ivtv" = yes ; then
4761 def_ivtv
='#define CONFIG_IVTV 1'
4762 vomodules
="ivtv $vomodules"
4763 aomodules
="ivtv $aomodules"
4765 def_ivtv
='#undef CONFIG_IVTV'
4766 novomodules
="ivtv $novomodules"
4767 noaomodules
="ivtv $noaomodules"
4772 echocheck
"V4L2 MPEG Decoder"
4773 if test "$_v4l2" = auto
; then
4775 #include <sys/time.h>
4776 #include <linux/videodev2.h>
4777 #include <linux/version.h>
4779 #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,22)
4780 #error kernel headers too old, need 2.6.22
4782 struct v4l2_ext_controls ctrls;
4783 ctrls.ctrl_class = V4L2_CTRL_CLASS_MPEG;
4788 cc_check
&& _v4l2
=yes
4790 if test "$_v4l2" = yes ; then
4791 def_v4l2
='#define CONFIG_V4L2_DECODER 1'
4792 vomodules
="v4l2 $vomodules"
4793 aomodules
="v4l2 $aomodules"
4795 def_v4l2
='#undef CONFIG_V4L2_DECODER'
4796 novomodules
="v4l2 $novomodules"
4797 noaomodules
="v4l2 $noaomodules"
4808 echocheck
"OSS Audio"
4809 if test "$_ossaudio" = auto
; then
4811 return_check
$_soundcard_header SNDCTL_DSP_SETFRAGMENT
&& _ossaudio
=yes
4813 if test "$_ossaudio" = yes ; then
4814 def_ossaudio
='#define CONFIG_OSS_AUDIO 1'
4815 aomodules
="oss $aomodules"
4817 #include <$_soundcard_header>
4818 #ifdef OPEN_SOUND_SYSTEM
4819 int main(void) { return 0; }
4821 #error Not the real thing
4825 cc_check
&& _real_ossaudio
=yes
4826 if test "$_real_ossaudio" = yes; then
4827 def_ossaudio_devdsp
='#define PATH_DEV_DSP "/dev/dsp"'
4828 # Check for OSS4 headers (override default headers)
4829 # Does not apply to systems where OSS4 is native (e.g. FreeBSD)
4830 if test -f /etc
/oss.conf
; then
4832 _ossinc
="$OSSLIBDIR/include"
4833 if test -f "$_ossinc/sys/soundcard.h"; then
4834 extra_cflags
="-I$_ossinc $extra_cflags"
4837 elif netbsd || openbsd
; then
4838 def_ossaudio_devdsp
='#define PATH_DEV_DSP "/dev/sound"'
4839 extra_ldflags
="$extra_ldflags -lossaudio"
4841 def_ossaudio_devdsp
='#define PATH_DEV_DSP "/dev/dsp"'
4843 def_ossaudio_devmixer
='#define PATH_DEV_MIXER "/dev/mixer"'
4845 def_ossaudio
='#undef CONFIG_OSS_AUDIO'
4846 def_ossaudio_devdsp
='#define PATH_DEV_DSP ""'
4847 def_ossaudio_devmixer
='#define PATH_DEV_MIXER ""'
4848 noaomodules
="oss $noaomodules"
4850 echores
"$_ossaudio"
4854 if test "$_arts" = auto
; then
4856 if ( artsc-config
--version ) >> "$TMPLOG" 2>&1 ; then
4857 statement_check artsc.h
'arts_init()' $
(artsc-config
--libs) $
(artsc-config
--cflags) &&
4862 if test "$_arts" = yes ; then
4863 def_arts
='#define CONFIG_ARTS 1'
4864 aomodules
="arts $aomodules"
4865 libs_mplayer
="$libs_mplayer $(artsc-config --libs)"
4866 extra_cflags
="$extra_cflags $(artsc-config --cflags)"
4868 noaomodules
="arts $noaomodules"
4874 if test "$_esd" = auto
; then
4876 if ( esd-config
--version ) >> "$TMPLOG" 2>&1 ; then
4877 statement_check esd.h
'esd_open_sound("test")' $
(esd-config
--libs) $
(esd-config
--cflags) && _esd
=yes
4882 if test "$_esd" = yes ; then
4883 def_esd
='#define CONFIG_ESD 1'
4884 aomodules
="esd $aomodules"
4885 libs_mplayer
="$libs_mplayer $(esd-config --libs)"
4886 extra_cflags
="$extra_cflags $(esd-config --cflags)"
4888 echocheck
"esd_get_latency()"
4889 statement_check esd.h
'esd_get_latency(0)' $
(esd-config
--libs) $
(esd-config
--cflags) &&
4890 _esd_latency
=yes && def_esd_latency
='#define CONFIG_ESD_LATENCY 1'
4891 echores
"$_esd_latency"
4893 def_esd
='#undef CONFIG_ESD'
4894 def_esd_latency
='#undef CONFIG_ESD_LATENCY'
4895 noaomodules
="esd $noaomodules"
4900 if test "$_nas" = auto
; then
4902 header_check audio
/audiolib.h
$_ld_lm -laudio -lXt && _nas
=yes
4904 if test "$_nas" = yes ; then
4905 def_nas
='#define CONFIG_NAS 1'
4906 libs_mplayer
="$libs_mplayer -laudio -lXt"
4907 aomodules
="nas $aomodules"
4909 noaomodules
="nas $noaomodules"
4910 def_nas
='#undef CONFIG_NAS'
4916 if test "$_pulse" = auto
; then
4918 if $_pkg_config --exists 'libpulse >= 0.9' ; then
4919 header_check pulse
/pulseaudio.h $
($_pkg_config --libs --cflags libpulse
) &&
4925 if test "$_pulse" = yes ; then
4926 def_pulse
='#define CONFIG_PULSE 1'
4927 aomodules
="pulse $aomodules"
4928 libs_mplayer
="$libs_mplayer $($_pkg_config --libs libpulse)"
4929 extra_cflags
="$extra_cflags $($_pkg_config --cflags libpulse)"
4931 def_pulse
='#undef CONFIG_PULSE'
4932 noaomodules
="pulse $noaomodules"
4937 if test "$_jack" = auto
; then
4939 if statement_check jack
/jack.h
'jack_client_open("test", JackUseExactName, NULL)' -ljack ; then
4940 libs_mplayer
="$libs_mplayer -ljack"
4941 elif statement_check jack
/jack.h
'jack_client_open("test", JackUseExactName, NULL)' $
($_pkg_config --libs --cflags --silence-errors jack
) ; then
4942 libs_mplayer
="$libs_mplayer $($_pkg_config --libs jack)"
4943 extra_cflags
="$extra_cflags "$
($_pkg_config --cflags jack
)""
4949 if test "$_jack" = yes ; then
4950 def_jack
='#define CONFIG_JACK 1'
4951 aomodules
="jack $aomodules"
4953 noaomodules
="jack $noaomodules"
4958 if test "$_openal" = auto
; then
4962 #include <OpenAL/al.h>
4967 alSourceQueueBuffers(0, 0, 0);
4968 // alGetSourcei(0, AL_SAMPLE_OFFSET, 0);
4972 for I
in "-lopenal" "-lopenal32" "-framework OpenAL" ; do
4973 cc_check
$I && _openal
=yes && break
4974 cc_check
-DOPENAL_AL_H=1 $I && def_openal_h
='#define OPENAL_AL_H 1' && _openal
=yes && break
4976 test "$_openal" = yes && libs_mplayer
="$libs_mplayer $I"
4978 if test "$_openal" = yes ; then
4979 def_openal
='#define CONFIG_OPENAL 1'
4980 aomodules
="openal $aomodules"
4982 noaomodules
="openal $noaomodules"
4986 echocheck
"ALSA audio"
4987 if test "$_alloca" != yes ; then
4989 res_comment
="alloca missing"
4991 if test "$_alsa" != no
; then
4994 #include <sys/asoundlib.h>
4995 #if !((SND_LIB_MAJOR == 0) && (SND_LIB_MINOR == 5))
4996 #error "alsa version != 0.5.x"
4998 int main(void) { return 0; }
5000 cc_check
-lasound $_ld_dl $_ld_pthread && _alsaver
='0.5.x'
5003 #include <sys/asoundlib.h>
5004 #if !((SND_LIB_MAJOR == 0) && (SND_LIB_MINOR == 9))
5005 #error "alsa version != 0.9.x"
5007 int main(void) { return 0; }
5009 cc_check
-lasound $_ld_dl $_ld_pthread && _alsaver
='0.9.x-sys'
5011 #include <alsa/asoundlib.h>
5012 #if !((SND_LIB_MAJOR == 0) && (SND_LIB_MINOR == 9))
5013 #error "alsa version != 0.9.x"
5015 int main(void) { return 0; }
5017 cc_check
-lasound $_ld_dl $_ld_pthread && _alsaver
='0.9.x-alsa'
5020 #include <sys/asoundlib.h>
5021 #if !((SND_LIB_MAJOR == 1) && (SND_LIB_MINOR == 0))
5022 #error "alsa version != 1.0.x"
5024 int main(void) { return 0; }
5026 cc_check
-lasound $_ld_dl $_ld_pthread && _alsaver
='1.0.x-sys'
5028 #include <alsa/asoundlib.h>
5029 #if !((SND_LIB_MAJOR == 1) && (SND_LIB_MINOR == 0))
5030 #error "alsa version != 1.0.x"
5032 int main(void) { return 0; }
5034 cc_check
-lasound $_ld_dl $_ld_pthread && _alsaver
='1.0.x-alsa'
5036 def_alsa
='#undef CONFIG_ALSA'
5037 def_alsa5
='#undef CONFIG_ALSA5'
5038 def_alsa9
='#undef CONFIG_ALSA9'
5039 def_alsa1x
='#undef CONFIG_ALSA1X'
5040 def_sys_asoundlib_h
='#undef HAVE_SYS_ASOUNDLIB_H'
5041 def_alsa_asoundlib_h
='#undef HAVE_ALSA_ASOUNDLIB_H'
5042 if test "$_alsaver" ; then
5044 if test "$_alsaver" = '0.5.x' ; then
5046 aomodules
="alsa5 $aomodules"
5047 def_alsa5
='#define CONFIG_ALSA5 1'
5048 def_sys_asoundlib_h
='#define HAVE_SYS_ASOUNDLIB_H 1'
5049 res_comment
="using alsa 0.5.x and sys/asoundlib.h"
5050 elif test "$_alsaver" = '0.9.x-sys' ; then
5052 aomodules
="alsa $aomodules"
5053 def_alsa
='#define CONFIG_ALSA 1'
5054 def_alsa9
='#define CONFIG_ALSA9 1'
5055 def_sys_asoundlib_h
='#define HAVE_SYS_ASOUNDLIB_H 1'
5056 res_comment
="using alsa 0.9.x and sys/asoundlib.h"
5057 elif test "$_alsaver" = '0.9.x-alsa' ; then
5059 aomodules
="alsa $aomodules"
5060 def_alsa
='#define CONFIG_ALSA 1'
5061 def_alsa9
='#define CONFIG_ALSA9 1'
5062 def_alsa_asoundlib_h
='#define HAVE_ALSA_ASOUNDLIB_H 1'
5063 res_comment
="using alsa 0.9.x and alsa/asoundlib.h"
5064 elif test "$_alsaver" = '1.0.x-sys' ; then
5066 aomodules
="alsa $aomodules"
5067 def_alsa
='#define CONFIG_ALSA 1'
5068 def_alsa1x
="#define CONFIG_ALSA1X 1"
5069 def_alsa_asoundlib_h
='#define HAVE_SYS_ASOUNDLIB_H 1'
5070 res_comment
="using alsa 1.0.x and sys/asoundlib.h"
5071 elif test "$_alsaver" = '1.0.x-alsa' ; then
5073 aomodules
="alsa $aomodules"
5074 def_alsa
='#define CONFIG_ALSA 1'
5075 def_alsa1x
="#define CONFIG_ALSA1X 1"
5076 def_alsa_asoundlib_h
='#define HAVE_ALSA_ASOUNDLIB_H 1'
5077 res_comment
="using alsa 1.0.x and alsa/asoundlib.h"
5080 res_comment
="unknown version"
5082 extra_ldflags
="$extra_ldflags -lasound $_ld_dl $_ld_pthread"
5084 noaomodules
="alsa $noaomodules"
5089 echocheck
"Sun audio"
5090 if test "$_sunaudio" = auto
; then
5092 #include <sys/types.h>
5093 #include <sys/audioio.h>
5094 int main(void) { audio_info_t info; AUDIO_INITINFO(&info); return 0; }
5097 cc_check
&& _sunaudio
=yes
5099 if test "$_sunaudio" = yes ; then
5100 def_sunaudio
='#define CONFIG_SUN_AUDIO 1'
5101 aomodules
="sun $aomodules"
5103 def_sunaudio
='#undef CONFIG_SUN_AUDIO'
5104 noaomodules
="sun $noaomodules"
5106 echores
"$_sunaudio"
5110 echocheck
"CoreAudio"
5111 if test "$_coreaudio" = auto
; then
5113 #include <CoreAudio/CoreAudio.h>
5114 #include <AudioToolbox/AudioToolbox.h>
5115 #include <AudioUnit/AudioUnit.h>
5116 int main(void) { return 0; }
5119 cc_check
-framework CoreAudio
-framework AudioUnit
-framework AudioToolbox
&& _coreaudio
=yes
5121 if test "$_coreaudio" = yes ; then
5122 libs_mplayer
="$libs_mplayer -framework CoreAudio -framework AudioUnit -framework AudioToolbox"
5123 def_coreaudio
='#define CONFIG_COREAUDIO 1'
5124 aomodules
="coreaudio $aomodules"
5126 def_coreaudio
='#undef CONFIG_COREAUDIO'
5127 noaomodules
="coreaudio $noaomodules"
5134 echocheck
"SGI audio"
5135 if test "$_sgiaudio" = auto
; then
5137 header_check dmedia
/audio.h
&& _sgiaudio
=yes
5139 if test "$_sgiaudio" = "yes" ; then
5140 def_sgiaudio
='#define CONFIG_SGI_AUDIO 1'
5141 libs_mplayer
="$libs_mplayer -laudio"
5142 aomodules
="sgi $aomodules"
5144 def_sgiaudio
='#undef CONFIG_SGI_AUDIO'
5145 noaomodules
="sgi $noaomodules"
5147 echores
"$_sgiaudio"
5152 echocheck
"KAI (UNIAUD/DART)"
5153 if test "$_kai" = auto
; then
5155 header_check_broken os2.h kai.h
-lkai && _kai
=yes
5157 if test "$_kai" = yes ; then
5158 def_kai
='#define CONFIG_KAI 1'
5159 libs_mplayer
="$libs_mplayer -lkai"
5160 aomodules
="kai $aomodules"
5162 def_kai
='#undef CONFIG_KAI'
5163 noaomodules
="kai $noaomodules"
5168 if test "$_dart" = auto
; then
5170 header_check_broken os2.h dart.h
-ldart && _dart
=yes
5172 if test "$_dart" = yes ; then
5173 def_dart
='#define CONFIG_DART 1'
5174 libs_mplayer
="$libs_mplayer -ldart"
5175 aomodules
="dart $aomodules"
5177 def_dart
='#undef CONFIG_DART'
5178 noaomodules
="dart $noaomodules"
5184 # set default CD/DVD devices
5185 if win32 || os2
; then
5186 default_cdrom_device
="D:"
5188 default_cdrom_device
="/dev/disk1"
5189 elif dragonfly
; then
5190 default_cdrom_device
="/dev/cd0"
5192 default_cdrom_device
="/dev/acd0"
5194 default_cdrom_device
="/dev/rcd0c"
5196 default_cdrom_device
="/vol/dev/aliases/cdrom0"
5197 # Modern Solaris versions use HAL instead of the vold daemon, the volfs
5198 # file system and the volfs service.
5199 test -r "/cdrom/cdrom0" && default_cdrom_device
="/cdrom/cdrom0"
5201 default_cdrom_device
="a1ide.device:2"
5203 default_cdrom_device
="/dev/cdrom"
5206 if win32 || os2 || dragonfly || freebsd || openbsd || sunos || amigaos
; then
5207 default_dvd_device
=$default_cdrom_device
5209 default_dvd_device
="/dev/rdiskN"
5211 default_dvd_device
="/dev/dvd"
5215 echocheck
"VCD support"
5216 if test "$_vcd" = auto
; then
5218 if linux || freebsd || netbsd || openbsd || dragonfly || bsdos || darwin || sunos || os2
; then
5221 header_check
ddk
/ntddcdrm.h
&& _vcd
=yes
5224 if test "$_vcd" = yes; then
5225 inputmodules
="vcd $inputmodules"
5226 def_vcd
='#define CONFIG_VCD 1'
5228 def_vcd
='#undef CONFIG_VCD'
5229 noinputmodules
="vcd $noinputmodules"
5230 res_comment
="not supported on this OS"
5236 echocheck
"Blu-ray support"
5237 if test "$_bluray" = auto
; then
5239 statement_check libbluray
/bluray.h
'bd_get_title_info(0, 0)' -lbluray && _bluray
=yes
5241 if test "$_bluray" = yes ; then
5242 def_bluray
='#define CONFIG_LIBBLURAY 1'
5243 extra_ldflags
="$extra_ldflags -lbluray"
5244 inputmodules
="bluray $inputmodules"
5246 def_bluray
='#undef CONFIG_LIBBLURAY'
5247 noinputmodules
="bluray $noinputmodules"
5252 if test "$_dvdread_internal" = auto
&& test ! -f "libdvdread4/dvd_reader.c" ; then
5253 _dvdread_internal
=no
5255 if test "$_dvdread_internal" = auto
; then
5256 _dvdread_internal
=no
5258 if (linux || freebsd || netbsd || openbsd || dragonfly || sunos || hpux
) &&
5259 (test "$_dvd" = yes ||
test "$_cdrom" = yes ||
test "$_cdio" = yes ||
5260 test "$_dvdio" = yes ||
test "$_bsdi_dvd" = yes) ||
5261 darwin || win32 || os2
; then
5262 _dvdread_internal
=yes
5264 extra_cflags
="-Ilibdvdread4 $extra_cflags"
5266 elif test "$_dvdread" = auto
; then
5268 if test "$_dl" = yes; then
5269 _dvdreadcflags
=$
($_dvdreadconfig --cflags 2> /dev
/null
)
5270 _dvdreadlibs
=$
($_dvdreadconfig --libs 2> /dev
/null
)
5271 if header_check dvdread
/dvd_reader.h
$_dvdreadcflags $_dvdreadlibs $_ld_dl ; then
5273 extra_cflags
="$extra_cflags $_dvdreadcflags"
5274 extra_ldflags
="$extra_ldflags $_dvdreadlibs"
5275 res_comment
="external"
5280 if test "$_dvdread_internal" = yes; then
5281 def_dvdread
='#define CONFIG_DVDREAD 1'
5282 inputmodules
="dvdread(internal) $inputmodules"
5284 res_comment
="internal"
5285 elif test "$_dvdread" = yes; then
5286 def_dvdread
='#define CONFIG_DVDREAD 1'
5288 extra_ldflags
="$extra_ldflags -ldvdread"
5289 inputmodules
="dvdread(external) $inputmodules"
5290 res_comment
="external"
5292 def_dvdread
='#undef CONFIG_DVDREAD'
5293 noinputmodules
="dvdread $noinputmodules"
5298 echocheck
"internal libdvdcss"
5299 if test "$_libdvdcss_internal" = auto
; then
5300 _libdvdcss_internal
=no
5301 test "$_dvdread_internal" = yes && test -d libdvdcss
&& _libdvdcss_internal
=yes
5302 hpux
&& test "$_hpux_scsi_h" = no
&& _libdvdcss_internal
=no
5304 if test "$_libdvdcss_internal" = yes ; then
5305 if linux || netbsd || openbsd || bsdos
; then
5306 def_dvd_linux
='#define HAVE_LINUX_DVD_STRUCT 1'
5307 openbsd
&& def_dvd_openbsd
='#define HAVE_OPENBSD_DVD_STRUCT 1'
5308 elif freebsd || dragonfly
; then
5309 def_dvd_bsd
='#define HAVE_BSD_DVD_STRUCT 1'
5311 def_dvd_darwin
='#define DARWIN_DVD_IOCTL'
5312 extra_ldflags
="$extra_ldflags -framework IOKit -framework Carbon"
5314 cflags_libdvdcss
="-DSYS_CYGWIN -DWIN32"
5316 cflags_libdvdcss
="-DSYS_BEOS"
5318 cflags_libdvdcss
="-DSYS_OS2"
5320 cflags_libdvdcss_dvdread
="-Ilibdvdcss"
5321 def_dvdcss
="#define HAVE_DVDCSS_DVDCSS_H 1"
5322 inputmodules
="libdvdcss(internal) $inputmodules"
5325 noinputmodules
="libdvdcss(internal) $noinputmodules"
5327 echores
"$_libdvdcss_internal"
5330 echocheck
"cdparanoia"
5331 if test "$_cdparanoia" = auto
; then
5333 #include <cdda_interface.h>
5334 #include <cdda_paranoia.h>
5335 // This need a better test. How ?
5336 int main(void) { void *test = cdda_verbose_set; return test == (void *)1; }
5339 for _inc_tmp
in "" "-I/usr/include/cdda" "-I/usr/local/include/cdda" ; do
5340 cc_check
$_inc_tmp -lcdda_interface -lcdda_paranoia $_ld_lm &&
5341 _cdparanoia
=yes && extra_cflags
="$extra_cflags $_inc_tmp" && break
5344 if test "$_cdparanoia" = yes ; then
5346 extra_ldflags
="$extra_ldflags -lcdda_interface -lcdda_paranoia"
5347 openbsd
&& extra_ldflags
="$extra_ldflags -lutil"
5349 echores
"$_cdparanoia"
5353 if test "$_libcdio" = auto
&& test "$_cdparanoia" = no
; then
5356 #include <cdio/version.h>
5357 #include <cdio/cdda.h>
5358 #include <cdio/paranoia.h>
5360 void *test = cdda_verbose_set;
5361 printf("%s\n", CDIO_VERSION);
5362 return test == (void *)1;
5366 for _ld_tmp
in "" "-lwinmm" ; do
5367 _ld_tmp
="-lcdio_cdda -lcdio -lcdio_paranoia $_ld_tmp"
5368 cc_check
$_ld_tmp $_ld_lm && _libcdio
=yes &&
5369 extra_ldflags
="$extra_ldflags $_ld_tmp" && break
5371 if test "$_libcdio" = no
&& $_pkg_config --exists libcdio_paranoia
; then
5372 _inc_tmp
=$
($_pkg_config --cflags libcdio_paranoia
)
5373 _ld_tmp
=$
($_pkg_config --libs libcdio_paranoia
)
5374 cc_check
$_inc_tmp $_ld_tmp $_ld_lm && _libcdio
=yes &&
5375 extra_ldflags
="$extra_ldflags $_ld_tmp" && extra_cflags
="$extra_cflags $_inc_tmp"
5378 if test "$_libcdio" = yes && test "$_cdparanoia" = no
; then
5380 def_libcdio
='#define CONFIG_LIBCDIO 1'
5381 def_havelibcdio
='yes'
5383 if test "$_cdparanoia" = yes ; then
5384 res_comment
="using cdparanoia"
5386 def_libcdio
='#undef CONFIG_LIBCDIO'
5387 def_havelibcdio
='no'
5391 if test "$_cdda" = yes ; then
5392 test $_cddb = auto
&& test $networking = yes && _cddb
=yes
5393 def_cdparanoia
='#define CONFIG_CDDA 1'
5394 inputmodules
="cdda $inputmodules"
5396 def_cdparanoia
='#undef CONFIG_CDDA'
5397 noinputmodules
="cdda $noinputmodules"
5400 if test "$_cddb" = yes ; then
5401 def_cddb
='#define CONFIG_CDDB 1'
5402 inputmodules
="cddb $inputmodules"
5405 def_cddb
='#undef CONFIG_CDDB'
5406 noinputmodules
="cddb $noinputmodules"
5409 echocheck
"bitmap font support"
5410 if test "$_bitmap_font" = yes ; then
5411 def_bitmap_font
="#define CONFIG_BITMAP_FONT 1"
5413 def_bitmap_font
="#undef CONFIG_BITMAP_FONT"
5415 echores
"$_bitmap_font"
5418 echocheck
"freetype >= 2.0.9"
5420 # freetype depends on iconv
5421 if test "$_iconv" = no
; then
5423 res_comment
="iconv support needed"
5426 if test "$_freetype" = auto
; then
5427 if ( $_freetypeconfig --version ) >/dev
/null
2>&1 ; then
5430 #include <ft2build.h>
5431 #include FT_FREETYPE_H
5432 #if ((FREETYPE_MAJOR < 2) || ((FREETYPE_MINOR == 0) && (FREETYPE_PATCH < 9)))
5433 #error "Need FreeType 2.0.9 or newer"
5437 FT_Init_FreeType(&library);
5442 cc_check $
($_freetypeconfig --cflags) $
($_freetypeconfig --libs) && _freetype
=yes
5447 if test "$_freetype" = yes ; then
5448 def_freetype
='#define CONFIG_FREETYPE 1'
5449 extra_cflags
="$extra_cflags $($_freetypeconfig --cflags)"
5450 extra_ldflags
="$extra_ldflags $($_freetypeconfig --libs)"
5452 def_freetype
='#undef CONFIG_FREETYPE'
5454 echores
"$_freetype"
5456 if test "$_freetype" = no
; then
5458 res_comment
="FreeType support needed"
5460 echocheck
"fontconfig"
5461 if test "$_fontconfig" = auto
; then
5465 #include <fontconfig/fontconfig.h>
5466 #if FC_VERSION < 20402
5467 #error At least version 2.4.2 of fontconfig required
5471 if (err == FcFalse) {
5472 printf("Couldn't initialize fontconfig lib\n");
5479 for _ld_tmp
in "" "-lexpat -lfreetype" "-lexpat -lfreetype -lz" "-lexpat -lfreetype -lz -liconv" ; do
5480 _ld_tmp
="-lfontconfig $_ld_tmp"
5481 cc_check
$_ld_tmp && _fontconfig
=yes && extra_ldflags
="$extra_ldflags $_ld_tmp" && break
5483 if test "$_fontconfig" = no
&& $_pkg_config --exists fontconfig
; then
5484 _inc_tmp
=$
($_pkg_config --cflags fontconfig
)
5485 _ld_tmp
=$
($_pkg_config --libs fontconfig
)
5486 cc_check
$_inc_tmp $_ld_tmp && _fontconfig
=yes &&
5487 extra_ldflags
="$extra_ldflags $_ld_tmp" && extra_cflags
="$extra_cflags $_inc_tmp"
5490 if test "$_fontconfig" = yes ; then
5491 def_fontconfig
='#define CONFIG_FONTCONFIG 1'
5493 def_fontconfig
='#undef CONFIG_FONTCONFIG'
5495 echores
"$_fontconfig"
5498 echocheck
"SSA/ASS support"
5499 if test "$_ass" = auto
-o "$_ass" = yes ; then
5500 if $_pkg_config libass
; then
5502 def_ass
='#define CONFIG_ASS 1'
5503 extra_ldflags
="$extra_ldflags $($_pkg_config --libs libass)"
5504 extra_cflags
="$extra_cflags $($_pkg_config --cflags libass)"
5507 def_ass
='#undef CONFIG_ASS'
5510 def_ass
='#undef CONFIG_ASS'
5515 echocheck
"fribidi with charsets"
5518 if test "$_fribidi" = auto
; then
5521 /* workaround for fribidi 0.10.4 and below */
5522 #define FRIBIDI_CHARSET_UTF8 FRIBIDI_CHAR_SET_UTF8
5523 #include <fribidi/fribidi.h>
5525 if (fribidi_parse_charset("UTF-8") != FRIBIDI_CHAR_SET_UTF8)
5533 cc_check
$_inc_tmp $_ld_tmp && _fribidi
=yes
5534 if $_pkg_config --exists fribidi
> /dev
/null
2>&1 &&
5535 test "$_fribidi" = no
; then
5536 _inc_tmp
="$($_pkg_config --cflags)"
5537 _ld_tmp
="$($_pkg_config --libs)"
5538 cc_check
$_inc_tmp $_ld_tmp && _fribidi
=yes
5541 if test "$_fribidi" = yes ; then
5542 def_fribidi
='#define CONFIG_FRIBIDI 1'
5543 extra_cflags
="$extra_cflags $_inc_tmp"
5544 extra_ldflags
="$extra_ldflags $_ld_tmp"
5546 def_fribidi
='#undef CONFIG_FRIBIDI'
5552 if test "$_enca" = auto
; then
5554 statement_check enca.h
'enca_get_languages(NULL)' -lenca $_ld_lm && _enca
=yes
5556 if test "$_enca" = yes ; then
5557 def_enca
='#define CONFIG_ENCA 1'
5558 extra_ldflags
="$extra_ldflags -lenca"
5560 def_enca
='#undef CONFIG_ENCA'
5567 statement_check zlib.h
'inflate(0, Z_NO_FLUSH)' -lz && _zlib
=yes
5568 if test "$_zlib" = yes ; then
5569 def_zlib
='#define CONFIG_ZLIB 1'
5570 extra_ldflags
="$extra_ldflags -lz"
5572 def_zlib
='#define CONFIG_ZLIB 0'
5578 if test "$_rtc" = auto
; then
5580 #include <sys/ioctl.h>
5582 #include <linux/rtc.h>
5585 #define RTC_PIE_ON RTCIO_PIE_ON
5587 int main(void) { return RTC_PIE_ON; }
5590 cc_check
&& _rtc
=yes
5593 if test "$_rtc" = yes ; then
5594 def_rtc
='#define HAVE_RTC 1'
5596 def_rtc
='#undef HAVE_RTC'
5601 echocheck
"mad support"
5602 if test "$_mad" = auto
; then
5604 header_check mad.h
-lmad && _mad
=yes
5606 if test "$_mad" = yes ; then
5607 def_mad
='#define CONFIG_LIBMAD 1'
5608 extra_ldflags
="$extra_ldflags -lmad"
5609 codecmodules
="libmad $codecmodules"
5611 def_mad
='#undef CONFIG_LIBMAD'
5612 nocodecmodules
="libmad $nocodecmodules"
5616 echocheck
"OggVorbis support"
5617 if test "$_libvorbis" = auto
; then
5619 statement_check vorbis
/codec.h
'vorbis_packet_blocksize(0, 0)' -lvorbis -logg $_ld_lm && _libvorbis
=yes && _tremor
=no
5620 elif test "$_libvorbis" = yes ; then
5623 if test "$_tremor" = auto
; then
5625 statement_check tremor
/ivorbiscodec.h
'vorbis_packet_blocksize(0, 0)' -logg -lvorbisidec $_ld_lm && _tremor
=yes
5627 if test "$_tremor" = yes ; then
5629 def_vorbis
='#define CONFIG_OGGVORBIS 1'
5630 def_tremor
='#define CONFIG_TREMOR 1'
5631 codecmodules
="tremor(external) $codecmodules"
5632 res_comment
="external Tremor"
5633 extra_ldflags
="$extra_ldflags -logg -lvorbisidec"
5634 elif test "$_libvorbis" = yes ; then
5636 def_vorbis
='#define CONFIG_OGGVORBIS 1'
5637 codecmodules
="libvorbis $codecmodules"
5638 res_comment
="libvorbis"
5639 extra_ldflags
="$extra_ldflags -lvorbis -logg"
5642 nocodecmodules
="libvorbis $nocodecmodules"
5646 echocheck
"libspeex (version >= 1.1 required)"
5647 if test "$_speex" = auto
; then
5651 #include <speex/speex.h>
5652 int main(void) { SpeexBits bits; void *dec = NULL; speex_decode_int(dec, &bits, dec); return 0; }
5654 cc_check
-lspeex $_ld_lm && _speex
=yes
5656 if test "$_speex" = yes ; then
5657 def_speex
='#define CONFIG_SPEEX 1'
5658 extra_ldflags
="$extra_ldflags -lspeex"
5659 codecmodules
="speex $codecmodules"
5661 def_speex
='#undef CONFIG_SPEEX'
5662 nocodecmodules
="speex $nocodecmodules"
5666 echocheck
"OggTheora support"
5667 if test "$_theora" = auto
; then
5670 #include <theora/theora.h>
5673 /* Theora is in flux, make sure that all interface routines and datatypes
5674 * exist and work the way we expect it, so we don't break MPlayer. */
5683 theora_info_init(&inf);
5684 theora_comment_init(&tc);
5688 /* we don't want to execute this kind of nonsense; just for making sure
5689 * that compilation works... */
5690 memset(&op, 0, sizeof(op));
5691 r = theora_decode_header(&inf, &tc, &op);
5692 r = theora_decode_init(&st, &inf);
5693 t = theora_granule_time(&st, op.granulepos);
5694 r = theora_decode_packetin(&st, &op);
5695 r = theora_decode_YUVout(&st, &yuv);
5701 _ld_theora
=$
($_pkg_config --silence-errors --libs theora
)
5702 _inc_theora
=$
($_pkg_config --silence-errors --cflags theora
)
5703 cc_check
$_inc_theora $_ld_theora && extra_ldflags
="$extra_ldflags $_ld_theora" &&
5704 extra_cflags
="$extra_cflags $_inc_theora" && _theora
=yes
5705 if test _theora
= no
; then
5706 _ld_theora
="-ltheora -logg"
5707 cc_check
$_ld_theora && extra_ldflags
="$extra_ldflags $_ld_theora" && _theora
=yes
5710 if test "$_theora" = yes ; then
5711 def_theora
='#define CONFIG_OGGTHEORA 1'
5712 codecmodules
="libtheora $codecmodules"
5713 # when --enable-theora is forced, we'd better provide a probably sane
5714 # $_ld_theora than nothing
5715 test -z "$_ld_theora" && extra_ldflags
="$extra_ldflags -ltheora -logg"
5717 def_theora
='#undef CONFIG_OGGTHEORA'
5718 nocodecmodules
="libtheora $nocodecmodules"
5722 # Any version of libmpg123 shall be fine.
5723 echocheck
"mpg123 support"
5724 def_mpg123
='#undef CONFIG_MPG123'
5725 if test "$_mpg123" = auto
; then
5727 statement_check mpg123.h
'mpg123_init()' -lmpg123 && _mpg123
=yes && extra_ldflags
="$extra_ldflags -lmpg123"
5729 if test "$_mpg123" = yes ; then
5730 def_mpg123
='#define CONFIG_MPG123 1'
5731 codecmodules
="mpg123 $codecmodules"
5733 nocodecmodules
="mpg123 $nocodecmodules"
5737 echocheck
"liba52 support"
5738 def_liba52
='#undef CONFIG_LIBA52'
5739 if test "$_liba52" = auto
; then
5742 #include <inttypes.h>
5743 #include <a52dec/a52.h>
5744 int main(void) { a52_state_t *testHand; testHand=a52_init(0); return 0; }
5746 cc_check
-la52 && _liba52
=yes && extra_ldflags
="$extra_ldflags -la52"
5748 if test "$_liba52" = yes ; then
5749 def_liba52
='#define CONFIG_LIBA52 1'
5750 codecmodules
="liba52 $codecmodules"
5752 nocodecmodules
="liba52 $nocodecmodules"
5756 echocheck
"libdca support"
5757 if test "$_libdca" = auto
; then
5759 for _ld_dca
in -ldca -ldts ; do
5760 statement_check_broken stdint.h dts.h
'dts_init(0)' $_ld_dca $_ld_lm &&
5761 extra_ldflags
="$extra_ldflags $_ld_dca" && _libdca
=yes && break
5764 if test "$_libdca" = yes ; then
5765 def_libdca
='#define CONFIG_LIBDCA 1'
5766 codecmodules
="libdca $codecmodules"
5768 def_libdca
='#undef CONFIG_LIBDCA'
5769 nocodecmodules
="libdca $nocodecmodules"
5773 echocheck
"libmpcdec (musepack, version >= 1.2.1 required)"
5774 if test "$_musepack" = yes ; then
5778 #include <mpcdec/mpcdec.h>
5780 mpc_streaminfo info;
5781 mpc_decoder decoder;
5782 mpc_decoder_set_streaminfo(&decoder, &info);
5783 mpc_decoder_decode_frame(&decoder, NULL, 0, NULL);
5787 cc_check
-lmpcdec $_ld_lm && _musepack
=yes
5789 if test "$_musepack" = yes ; then
5790 def_musepack
='#define CONFIG_MUSEPACK 1'
5791 extra_ldflags
="$extra_ldflags -lmpcdec"
5792 codecmodules
="musepack $codecmodules"
5794 def_musepack
='#undef CONFIG_MUSEPACK'
5795 nocodecmodules
="musepack $nocodecmodules"
5797 echores
"$_musepack"
5800 echocheck
"FAAD2 support"
5801 if test "$_faad" = auto
; then
5805 #ifndef FAAD_MIN_STREAMSIZE
5806 #error Too old version
5808 int main(void) { faacDecHandle testhand; faacDecFrameInfo testinfo;
5809 testhand = faacDecOpen(); faacDecInit(0, 0, 0, 0, 0); return 0; }
5811 cc_check
-lfaad $_ld_lm && _faad
=yes
5814 def_faad
='#undef CONFIG_FAAD'
5815 if test "$_faad" = yes ; then
5816 def_faad
='#define CONFIG_FAAD 1'
5817 extra_ldflags
="$extra_ldflags -lfaad"
5818 codecmodules
="faad2 $codecmodules"
5820 nocodecmodules
="faad2 $nocodecmodules"
5825 echocheck
"LADSPA plugin support"
5826 if test "$_ladspa" = auto
; then
5828 statement_check ladspa.h
'LADSPA_Descriptor ld = {0}' && _ladspa
=yes
5830 if test "$_ladspa" = yes; then
5831 def_ladspa
="#define CONFIG_LADSPA 1"
5833 def_ladspa
="#undef CONFIG_LADSPA"
5838 echocheck
"libbs2b audio filter support"
5839 if test "$_libbs2b" = auto
; then
5842 #if BS2B_VERSION_MAJOR < 3
5843 #error Please use libbs2b >= 3.0.0, older versions are not supported.
5853 if $_pkg_config --exists libbs2b
; then
5854 _inc_tmp
=$
($_pkg_config --cflags libbs2b
)
5855 _ld_tmp
=$
($_pkg_config --libs libbs2b
)
5856 cc_check
$_inc_tmp $_ld_tmp && extra_ldflags
="$extra_ldflags $_ld_tmp" &&
5857 extra_cflags
="$extra_cflags $_inc_tmp" && _libbs2b
=yes
5859 for _inc_tmp
in "" -I/usr
/include
/bs2b
-I/usr
/local
/include \
5860 -I/usr
/local
/include
/bs2b
; do
5861 if cc_check
$_inc_tmp $_ld_lm -lbs2b ; then
5862 extra_ldflags
="$extra_ldflags -lbs2b"
5863 extra_cflags
="$extra_cflags $_inc_tmp"
5870 def_libbs2b
="#undef CONFIG_LIBBS2B"
5871 test "$_libbs2b" = yes && def_libbs2b
="#define CONFIG_LIBBS2B 1"
5875 if test -z "$_codecsdir" ; then
5876 for dir
in "$_libdir/codecs" "$_libdir/win32" /usr
/local
/lib
/codecs \
5877 /usr
/lib
/codecs
/usr
/local
/lib
/win32
/usr
/lib
/win32
; do
5878 if test -d "$dir" ; then
5884 # Fall back on default directory.
5885 if test -z "$_codecsdir" ; then
5886 _codecsdir
="$_libdir/codecs"
5887 mingw32 || os2
&& _codecsdir
="codecs"
5891 echocheck
"Win32 codecs"
5892 if test "$_win32dll" = auto
; then
5894 if x86_32
&& ! qnx
; then
5898 if test "$_win32dll" = yes ; then
5899 def_win32dll
='#define CONFIG_WIN32DLL 1'
5901 def_win32_loader
='#define WIN32_LOADER 1'
5902 _win32_emulation
=yes
5904 extra_ldflags
="$extra_ldflags -ladvapi32 -lole32"
5905 res_comment
="using native windows"
5907 codecmodules
="win32 $codecmodules"
5909 def_win32dll
='#undef CONFIG_WIN32DLL'
5910 def_win32_loader
='#undef WIN32_LOADER'
5911 nocodecmodules
="win32 $nocodecmodules"
5913 echores
"$_win32dll"
5916 echocheck
"XAnim codecs"
5917 if test "$_xanim" = auto
; then
5919 res_comment
="dynamic loader support needed"
5920 if test "$_dl" = yes ; then
5924 if test "$_xanim" = yes ; then
5925 def_xanim
='#define CONFIG_XANIM 1'
5926 codecmodules
="xanim $codecmodules"
5928 def_xanim
='#undef CONFIG_XANIM'
5929 nocodecmodules
="xanim $nocodecmodules"
5934 echocheck
"RealPlayer codecs"
5935 if test "$_real" = auto
; then
5937 res_comment
="dynamic loader support needed"
5938 if test "$_dl" = yes ||
test "$_win32dll" = yes &&
5939 (linux || freebsd || netbsd || openbsd || dragonfly || darwin || win32 || os2
) ; then
5943 if test "$_real" = yes ; then
5944 def_real
='#define CONFIG_REALCODECS 1'
5945 codecmodules
="real $codecmodules"
5947 def_real
='#undef CONFIG_REALCODECS'
5948 nocodecmodules
="real $nocodecmodules"
5953 echocheck
"QuickTime codecs"
5955 def_qtx_win32
='#undef CONFIG_QTX_CODECS_WIN32'
5956 if test "$_qtx" = auto
; then
5957 test "$_win32dll" = yes ||
test "$quicktime" = yes && _qtx
=yes
5959 if test "$_qtx" = yes ; then
5960 def_qtx
='#define CONFIG_QTX_CODECS 1'
5961 win32
&& _qtx_codecs_win32
=yes && def_qtx_win32
='#define CONFIG_QTX_CODECS_WIN32 1'
5962 codecmodules
="qtx $codecmodules"
5963 darwin || win32 || _qtx_emulation
=yes
5965 def_qtx
='#undef CONFIG_QTX_CODECS'
5966 nocodecmodules
="qtx $nocodecmodules"
5970 echocheck
"Nemesi Streaming Media libraries"
5971 if test "$_nemesi" = auto
&& test "$networking" = yes ; then
5973 if $_pkg_config libnemesi
--atleast-version=0.6.3 ; then
5974 extra_cflags
="$extra_cflags $($_pkg_config --cflags libnemesi)"
5975 extra_ldflags
="$extra_ldflags $($_pkg_config --libs libnemesi)"
5979 if test "$_nemesi" = yes; then
5981 def_nemesi
='#define CONFIG_LIBNEMESI 1'
5982 inputmodules
="nemesi $inputmodules"
5984 _native_rtsp
="$networking"
5986 def_nemesi
='#undef CONFIG_LIBNEMESI'
5987 noinputmodules
="nemesi $noinputmodules"
5991 echocheck
"LIVE555 Streaming Media libraries"
5992 if test "$_live" = auto
&& test "$networking" = yes ; then
5993 cat > $TMPCPP << EOF
5994 #include <liveMedia.hh>
5995 #if (LIVEMEDIA_LIBRARY_VERSION_INT < 1141257600)
5996 #error Please upgrade to version 2006.03.03 or later of the "LIVE555 Streaming Media" libraries - available from <www.live555.com/liveMedia/>
5998 int main(void) { return 0; }
6002 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
6003 cxx_check
$I/liveMedia
/include
$I/UsageEnvironment
/include
$I/groupsock
/include
&&
6004 _livelibdir
=$
(echo $I|
sed s
/-I//) &&
6005 extra_ldflags
="$_livelibdir/liveMedia/libliveMedia.a \
6006 $_livelibdir/groupsock/libgroupsock.a \
6007 $_livelibdir/UsageEnvironment/libUsageEnvironment.a \
6008 $_livelibdir/BasicUsageEnvironment/libBasicUsageEnvironment.a \
6009 $extra_ldflags -lstdc++" \
6010 extra_cxxflags
="-I$_livelibdir/liveMedia/include \
6011 -I$_livelibdir/UsageEnvironment/include \
6012 -I$_livelibdir/BasicUsageEnvironment/include \
6013 -I$_livelibdir/groupsock/include" &&
6016 if test "$_live" != yes ; then
6017 ld_tmp
="-lliveMedia -lgroupsock -lUsageEnvironment -lBasicUsageEnvironment -lstdc++"
6018 if cxx_check
-I/usr
/include
/liveMedia
-I/usr
/include
/UsageEnvironment
-I/usr
/include
/groupsock
$ld_tmp; then
6023 if test "$_live" = yes && test "$networking" = yes; then
6024 test $_livelibdir && res_comment
="using $_livelibdir"
6025 def_live
='#define CONFIG_LIVE555 1'
6026 inputmodules
="live555 $inputmodules"
6027 elif test "$_live_dist" = yes && test "$networking" = yes; then
6028 res_comment
="using distribution version"
6030 def_live
='#define CONFIG_LIVE555 1'
6031 extra_ldflags
="$extra_ldflags $ld_tmp"
6032 extra_cxxflags
="-I/usr/include/liveMedia -I/usr/include/UsageEnvironment -I/usr/include/BasicUsageEnvironment -I/usr/include/groupsock"
6033 inputmodules
="live555 $inputmodules"
6036 def_live
='#undef CONFIG_LIVE555'
6037 noinputmodules
="live555 $noinputmodules"
6043 all_ffmpeg_libs
="libavutil libavcodec libavformat libswscale libpostproc"
6044 echocheck
"FFmpeg ($all_ffmpeg_libs)"
6045 if test "$ffmpeg" = auto
; then
6047 if $_pkg_config --exists $all_ffmpeg_libs ; then
6048 inc_ffmpeg
=$
($_pkg_config --cflags $all_ffmpeg_libs)
6049 _ld_tmp
=$
($_pkg_config --libs $all_ffmpeg_libs)
6050 extra_ldflags
="$extra_ldflags $_ld_tmp"
6051 extra_cflags
="$extra_cflags $inc_ffmpeg"
6053 elif header_check libavutil
/avutil.h
-lpostproc -lswscale -lavformat -lavcodec -lavutil $_ld_lm ; then
6054 extra_ldflags
="$extra_ldflags -lpostproc -lswscale -lavformat -lavcodec -lavutil"
6057 die
"Unable to find development files for some of the FFmpeg libraries above. Aborting. If you really mean to compile without FFmpeg support use --disable-ffmpeg."
6062 def_ffmpeg_eval_api
="#undef CONFIG_FFMPEG_EVAL_API"
6063 if test "$ffmpeg" = yes; then
6064 def_ffmpeg
='#define CONFIG_FFMPEG 1'
6065 codecmodules
="ffmpeg $codecmodules"
6066 if $_pkg_config --atleast-version=50.18.0 libavutil
; then
6068 def_ffmpeg_eval_api
="#define CONFIG_FFMPEG_EVAL_API 1"
6071 def_ffmpeg
='#undef CONFIG_FFMPEG'
6072 nocodecmodules
="ffmpeg $nocodecmodules"
6076 def_ffmpeg_internals
="#undef CONFIG_FFMPEG_INTERNALS"
6077 if ! test -z "$_ffmpeg_source" ; then
6078 test "$ffmpeg" = yes && def_ffmpeg_internals
="#define CONFIG_FFMPEG_INTERNALS 1" && ffmpeg_internals
=yes
6083 echocheck
"libdv-0.9.5+"
6084 if test "$_libdv" = auto
; then
6086 statement_check libdv
/dv.h
'dv_encoder_new(1, 1, 1)' -ldv $_ld_pthread $_ld_lm && _libdv
=yes
6088 if test "$_libdv" = yes ; then
6089 def_libdv
='#define CONFIG_LIBDV095 1'
6090 extra_ldflags
="$extra_ldflags -ldv"
6091 codecmodules
="libdv $codecmodules"
6093 def_libdv
='#undef CONFIG_LIBDV095'
6094 nocodecmodules
="libdv $nocodecmodules"
6100 if test "$_xvid" = auto
; then
6102 for _ld_tmp
in "-lxvidcore $_ld_lm" "-lxvidcore $_ld_lm $_ld_pthread" ; do
6103 statement_check xvid.h
'xvid_global(0, 0, 0, 0)' $_ld_tmp &&
6104 extra_ldflags
="$extra_ldflags $_ld_tmp" && _xvid
=yes && break
6108 if test "$_xvid" = yes ; then
6109 def_xvid
='#define CONFIG_XVID4 1'
6110 codecmodules
="xvid $codecmodules"
6112 def_xvid
='#undef CONFIG_XVID4'
6113 nocodecmodules
="xvid $nocodecmodules"
6119 if test "$_libnut" = auto
; then
6121 statement_check libnut.h
'nut_context_tt * nut; nut_error(0)' -lnut && _libnut
=yes
6124 if test "$_libnut" = yes ; then
6125 def_libnut
='#define CONFIG_LIBNUT 1'
6126 extra_ldflags
="$extra_ldflags -lnut"
6128 def_libnut
='#undef CONFIG_LIBNUT'
6132 # These VO checks must be done after the FFmpeg one
6133 echocheck
"/dev/mga_vid"
6134 if test "$_mga" = auto
; then
6136 test -c /dev
/mga_vid
&& _mga
=yes
6138 if test "$_mga" = yes ; then
6139 def_mga
='#define CONFIG_MGA 1'
6140 vomodules
="mga $vomodules"
6142 def_mga
='#undef CONFIG_MGA'
6143 novomodules
="mga $novomodules"
6149 if test "$_xmga" = auto
; then
6151 test "$_x11" = yes && test "$_mga" = yes && _xmga
=yes
6153 if test "$_xmga" = yes ; then
6154 def_xmga
='#define CONFIG_XMGA 1'
6155 vomodules
="xmga $vomodules"
6157 def_xmga
='#undef CONFIG_XMGA'
6158 novomodules
="xmga $novomodules"
6163 echocheck
"UnRAR executable"
6164 if test "$_unrar_exec" = auto
; then
6166 mingw32
&& _unrar_exec
="no"
6168 if test "$_unrar_exec" = yes ; then
6169 def_unrar_exec
='#define CONFIG_UNRAR_EXEC 1'
6171 def_unrar_exec
='#undef CONFIG_UNRAR_EXEC'
6173 echores
"$_unrar_exec"
6175 echocheck
"TV interface"
6176 if test "$_tv" = yes ; then
6177 def_tv
='#define CONFIG_TV 1'
6178 inputmodules
="tv $inputmodules"
6180 noinputmodules
="tv $noinputmodules"
6181 def_tv
='#undef CONFIG_TV'
6186 if freebsd || netbsd || openbsd || dragonfly || bsdos
; then
6187 echocheck
"*BSD BT848 bt8xx header"
6189 for file in "machine/ioctl_bt848.h" \
6190 "dev/bktr/ioctl_bt848.h" \
6191 "dev/video/bktr/ioctl_bt848.h" \
6192 "dev/ic/bt8xx.h" ; do
6194 #include <sys/types.h>
6195 #include <sys/ioctl.h>
6197 int main(void) { ioctl(0, TVTUNER_GETFREQ, 0); return 0; }
6201 _ioctl_bt848_h_name
="$file"
6205 if test "$_ioctl_bt848_h" = yes ; then
6206 def_ioctl_bt848_h_name
="#define IOCTL_BT848_H_NAME <$_ioctl_bt848_h_name>"
6207 res_comment
="using $_ioctl_bt848_h_name"
6209 def_ioctl_bt848_h_name
="#undef IOCTL_BT848_H_NAME"
6211 echores
"$_ioctl_bt848_h"
6213 echocheck
"*BSD ioctl_meteor.h"
6215 for ioctl_meteor_h_path
in "machine/ioctl_meteor.h" "dev/bktr/ioctl_meteor.h" "dev/video/bktr/ioctl_meteor.h" ; do
6216 statement_check_broken
"sys/types.h" "$ioctl_meteor_h_path" 'ioctl(0, METEORSINPUT, 0)' &&
6217 _ioctl_meteor_h
=yes && break
6219 if test "$_ioctl_meteor_h" = yes ; then
6220 def_ioctl_meteor_h_name
="#define IOCTL_METEOR_H_NAME <$ioctl_meteor_h_path>"
6221 res_comment
="using $ioctl_meteor_h_path"
6223 def_ioctl_meteor_h_name
="#undef IOCTL_METEOR_H_NAME"
6225 echores
"$_ioctl_meteor_h"
6227 echocheck
"*BSD BrookTree 848 TV interface"
6228 if test "$_tv_bsdbt848" = auto
; then
6230 if test "$_tv" = yes ; then
6232 #include <sys/types.h>
6233 $def_ioctl_meteor_h_name
6234 $def_ioctl_bt848_h_name
6235 #ifdef IOCTL_METEOR_H_NAME
6236 #include IOCTL_METEOR_H_NAME
6238 #ifdef IOCTL_BT848_H_NAME
6239 #include IOCTL_BT848_H_NAME
6242 ioctl(0, METEORSINPUT, 0);
6243 ioctl(0, TVTUNER_GETFREQ, 0);
6247 cc_check
&& _tv_bsdbt848
=yes
6250 if test "$_tv_bsdbt848" = yes ; then
6251 def_tv_bsdbt848
='#define CONFIG_TV_BSDBT848 1'
6252 inputmodules
="tv-bsdbt848 $inputmodules"
6254 def_tv_bsdbt848
='#undef CONFIG_TV_BSDBT848'
6255 noinputmodules
="tv-bsdbt848 $noinputmodules"
6257 echores
"$_tv_bsdbt848"
6258 fi #if freebsd || netbsd || openbsd || dragonfly || bsdos
6261 echocheck
"DirectShow TV interface"
6262 if test "$_tv_dshow" = auto
; then
6264 if test "$_tv" = yes && win32
; then
6265 statement_check ole2.h
'void* p; CoCreateInstance((GUID*)&GUID_NULL, NULL, CLSCTX_INPROC_SERVER, &GUID_NULL, &p)' -lole32 -luuid && _tv_dshow
=yes
6268 if test "$_tv_dshow" = yes ; then
6269 inputmodules
="tv-dshow $inputmodules"
6270 def_tv_dshow
='#define CONFIG_TV_DSHOW 1'
6271 extra_ldflags
="$extra_ldflags -lole32 -luuid"
6273 noinputmodules
="tv-dshow $noinputmodules"
6274 def_tv_dshow
='#undef CONFIG_TV_DSHOW'
6276 echores
"$_tv_dshow"
6279 echocheck
"Video 4 Linux TV interface"
6280 if test "$_tv_v4l1" = auto
; then
6282 if test "$_tv" = yes && linux
; then
6283 header_check_broken sys
/time.h linux
/videodev.h
&& _tv_v4l1
=yes
6286 if test "$_tv_v4l1" = yes ; then
6289 def_tv_v4l
='#define CONFIG_TV_V4L 1'
6290 def_tv_v4l1
='#define CONFIG_TV_V4L1 1'
6291 inputmodules
="tv-v4l $inputmodules"
6293 noinputmodules
="tv-v4l1 $noinputmodules"
6294 def_tv_v4l
='#undef CONFIG_TV_V4L'
6299 echocheck
"Video 4 Linux 2 TV interface"
6300 if test "$_tv_v4l2" = auto
; then
6302 if test "$_tv" = yes && linux
; then
6303 header_check_broken sys
/time.h linux
/videodev2.h
&& _tv_v4l2
=yes
6306 if test "$_tv_v4l2" = yes ; then
6309 def_tv_v4l
='#define CONFIG_TV_V4L 1'
6310 def_tv_v4l2
='#define CONFIG_TV_V4L2 1'
6311 inputmodules
="tv-v4l2 $inputmodules"
6313 noinputmodules
="tv-v4l2 $noinputmodules"
6314 def_tv_v4l2
='#undef CONFIG_TV_V4L2'
6319 echocheck
"Radio interface"
6320 if test "$_radio" = yes ; then
6321 def_radio
='#define CONFIG_RADIO 1'
6322 inputmodules
="radio $inputmodules"
6323 if test "$_alsa9" != yes -a "$_alsa1x" != yes -a "$_ossaudio" != yes ; then
6326 if test "$_radio_capture" = yes ; then
6328 def_radio_capture
="#define CONFIG_RADIO_CAPTURE 1"
6330 def_radio_capture
="#undef CONFIG_RADIO_CAPTURE"
6333 noinputmodules
="radio $noinputmodules"
6334 def_radio
='#undef CONFIG_RADIO'
6335 def_radio_capture
="#undef CONFIG_RADIO_CAPTURE"
6339 echocheck
"Capture for Radio interface"
6340 echores
"$_radio_capture"
6342 echocheck
"Video 4 Linux 2 Radio interface"
6343 if test "$_radio_v4l2" = auto
; then
6345 if test "$_radio" = yes && linux
; then
6346 header_check linux
/videodev2.h
&& _radio_v4l2
=yes
6349 if test "$_radio_v4l2" = yes ; then
6350 def_radio_v4l2
='#define CONFIG_RADIO_V4L2 1'
6352 def_radio_v4l2
='#undef CONFIG_RADIO_V4L2'
6354 echores
"$_radio_v4l2"
6356 echocheck
"Video 4 Linux Radio interface"
6357 if test "$_radio_v4l" = auto
; then
6359 if test "$_radio" = yes && linux
; then
6360 header_check linux
/videodev.h
&& _radio_v4l
=yes
6363 if test "$_radio_v4l" = yes ; then
6364 def_radio_v4l
='#define CONFIG_RADIO_V4L 1'
6366 def_radio_v4l
='#undef CONFIG_RADIO_V4L'
6368 echores
"$_radio_v4l"
6370 if freebsd || netbsd || openbsd || dragonfly || bsdos
&&
6371 test "$_radio" = yes && test "$_radio_bsdbt848" = auto
; then
6372 echocheck
"*BSD BrookTree 848 Radio interface"
6375 #include <sys/types.h>
6376 $def_ioctl_bt848_h_name
6377 #ifdef IOCTL_BT848_H_NAME
6378 #include IOCTL_BT848_H_NAME
6380 int main(void) { ioctl(0, RADIO_GETFREQ, 0); return 0; }
6382 cc_check
&& _radio_bsdbt848
=yes
6383 echores
"$_radio_bsdbt848"
6384 fi #if freebsd || netbsd || openbsd || dragonfly || bsdos && _radio && _radio_bsdbt848
6386 if test "$_radio_bsdbt848" = yes ; then
6387 def_radio_bsdbt848
='#define CONFIG_RADIO_BSDBT848 1'
6389 def_radio_bsdbt848
='#undef CONFIG_RADIO_BSDBT848'
6392 if test "$_radio_v4l" = no
&& test "$_radio_v4l2" = no
&&
6393 test "$_radio_bsdbt848" = no
&& test "$_radio" = yes ; then
6394 die
"Radio driver requires BSD BT848, V4L or V4L2!"
6397 echocheck
"Video 4 Linux 2 MPEG PVR interface"
6398 if test "$_pvr" = auto
; then
6400 if test "$_tv_v4l2" = yes && linux
; then
6402 #include <sys/time.h>
6403 #include <linux/videodev2.h>
6404 int main(void) { struct v4l2_ext_controls ext; return ext.controls->value; }
6406 cc_check
&& _pvr
=yes
6409 if test "$_pvr" = yes ; then
6410 def_pvr
='#define CONFIG_PVR 1'
6411 inputmodules
="pvr $inputmodules"
6413 noinputmodules
="pvr $noinputmodules"
6414 def_pvr
='#undef CONFIG_PVR'
6420 if test "$_ftp" = "auto" ; then
6421 test "$networking" = "yes" && ! beos
&& _ftp
=yes
6423 if test "$_ftp" = yes ; then
6424 def_ftp
='#define CONFIG_FTP 1'
6425 inputmodules
="ftp $inputmodules"
6427 noinputmodules
="ftp $noinputmodules"
6428 def_ftp
='#undef CONFIG_FTP'
6432 echocheck
"vstream client"
6433 if test "$_vstream" = auto
; then
6436 #include <vstream-client.h>
6437 void vstream_error(const char *format, ... ) {}
6438 int main(void) { vstream_start(); return 0; }
6440 cc_check
-lvstream-client && _vstream
=yes
6442 if test "$_vstream" = yes ; then
6443 def_vstream
='#define CONFIG_VSTREAM 1'
6444 inputmodules
="vstream $inputmodules"
6445 extra_ldflags
="$extra_ldflags -lvstream-client"
6447 noinputmodules
="vstream $noinputmodules"
6448 def_vstream
='#undef CONFIG_VSTREAM'
6453 echocheck
"OSD menu"
6454 if test "$_menu" = yes ; then
6455 def_menu
='#define CONFIG_MENU 1'
6456 test $_dvbin = "yes" && _menu_dvbin
=yes
6458 def_menu
='#undef CONFIG_MENU'
6464 echocheck
"Subtitles sorting"
6465 if test "$_sortsub" = yes ; then
6466 def_sortsub
='#define CONFIG_SORTSUB 1'
6468 def_sortsub
='#undef CONFIG_SORTSUB'
6473 echocheck
"XMMS inputplugin support"
6474 if test "$_xmms" = yes ; then
6475 if ( xmms-config
--version ) >/dev
/null
2>&1 ; then
6476 _xmmsplugindir
=$
(xmms-config
--input-plugin-dir)
6477 _xmmslibdir
=$
(xmms-config
--exec-prefix)/lib
6479 _xmmsplugindir
=/usr
/lib
/xmms
/Input
6480 _xmmslibdir
=/usr
/lib
6483 def_xmms
='#define CONFIG_XMMS 1'
6485 extra_ldflags
="$extra_ldflags ${_xmmslibdir}/libxmms.dylib"
6487 extra_ldflags
="$extra_ldflags ${_xmmslibdir}/libxmms.so.1 -export-dynamic"
6490 def_xmms
='#undef CONFIG_XMMS'
6494 if test "$_charset" != "noconv" ; then
6495 def_charset
="#define MSG_CHARSET \"$_charset\""
6497 def_charset
="#undef MSG_CHARSET"
6501 #############################################################################
6503 echocheck
"automatic gdb attach"
6504 if test "$_crash_debug" = yes ; then
6505 def_crash_debug
='#define CONFIG_CRASH_DEBUG 1'
6507 def_crash_debug
='#undef CONFIG_CRASH_DEBUG'
6510 echores
"$_crash_debug"
6512 echocheck
"compiler support for noexecstack"
6513 if cflag_check
-Wl,-z,noexecstack
; then
6514 extra_ldflags
="-Wl,-z,noexecstack $extra_ldflags"
6520 echocheck
"linker support for --nxcompat --no-seh --dynamicbase"
6521 if cflag_check
"-Wl,--nxcompat -Wl,--no-seh -Wl,--dynamicbase" ; then
6522 extra_ldflags
="-Wl,--nxcompat -Wl,--no-seh -Wl,--dynamicbase $extra_ldflags"
6529 # Dynamic linking flags
6530 # (FIXME: 'echocheck "dynamic linking"' above and modify here accordingly)
6532 freebsd || netbsd || openbsd || dragonfly || bsdos
&& _ld_dl_dynamic
='-rdynamic'
6533 if test "$_real" = yes ||
test "$_xanim" = yes && ! win32
&& ! qnx
&& ! darwin
&& ! os2
&& ! sunos
; then
6534 _ld_dl_dynamic
='-rdynamic'
6537 extra_ldflags
="$extra_ldflags $_ld_pthread $_ld_dl $_ld_dl_dynamic"
6538 bsdos
&& extra_ldflags
="$extra_ldflags -ldvd"
6539 (netbsd || openbsd
) && x86_32
&& extra_ldflags
="$extra_ldflags -li386"
6541 def_debug
='#undef MP_DEBUG'
6542 test "$_debug" != "" && def_debug
='#define MP_DEBUG 1'
6545 echocheck
"joystick"
6546 def_joystick
='#undef CONFIG_JOYSTICK'
6547 if test "$_joystick" = yes ; then
6548 if linux || freebsd
; then
6549 # TODO add some check
6550 def_joystick
='#define CONFIG_JOYSTICK 1'
6553 res_comment
="unsupported under $system_name"
6556 echores
"$_joystick"
6559 if test "$_lirc" = auto
; then
6561 header_check lirc
/lirc_client.h
-llirc_client && _lirc
=yes
6563 if test "$_lirc" = yes ; then
6564 def_lirc
='#define CONFIG_LIRC 1'
6565 libs_mplayer
="$libs_mplayer -llirc_client"
6567 def_lirc
='#undef CONFIG_LIRC'
6572 if test "$_lircc" = auto
; then
6574 header_check lirc
/lircc.h
-llircc && _lircc
=yes
6576 if test "$_lircc" = yes ; then
6577 def_lircc
='#define CONFIG_LIRCC 1'
6578 libs_mplayer
="$libs_mplayer -llircc"
6580 def_lircc
='#undef CONFIG_LIRCC'
6584 #############################################################################
6586 # On OS/2 nm supports only a.out. So the -Zomf compiler option to generate
6587 # the OMF format needs to come after the 'extern symbol prefix' check, which
6590 extra_ldflags
="$extra_ldflags -Zomf -Zstack 16384 -Zbin-files -Zargs-wild"
6593 #############################################################################
6594 # 64 bit file offsets?
6595 if test "$_largefiles" = yes || freebsd
; then
6596 CFLAGS
="$CFLAGS -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
6597 if test "$_dvdread" = yes ||
test "$_libdvdcss_internal" = yes ; then
6598 # dvdread support requires this (for off64_t)
6599 CFLAGS
="$CFLAGS -D_LARGEFILE64_SOURCE"
6603 CXXFLAGS
=" $CFLAGS -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS"
6605 # This must be the last test to be performed. Any other tests following it
6606 # could fail due to linker errors. libdvdnavmini is intentionally not linked
6607 # against libdvdread (to permit MPlayer to use its own copy of the library).
6608 # So any compilation using the flags added here but not linking against
6609 # libdvdread can fail.
6610 echocheck
"DVD support (libdvdnav)"
6611 if test "$_dvdread_internal" = yes && test ! -f "libdvdnav/dvdnav.c" ; then
6615 if test "$_dvdnav" = auto
; then
6616 if test "$_dvdread_internal" = yes ; then
6619 res_comment
="internal"
6621 $_dvdnavconfig --version --minilibs >> $TMPLOG 2>&1 || _dvdnav
=no
6624 if test "$_dvdnav" = auto
; then
6626 _dvdnavdir
=$
($_dvdnavconfig --cflags)
6627 _dvdnavlibs
=$
($_dvdnavconfig --libs)
6628 statement_check_broken stdint.h dvdnav
/dvdnav.h
'dvdnav_t *dvd = 0' $_dvdnavdir $_dvdnavlibs $_ld_dl $_ld_pthread && _dvdnav
=yes
6630 if test "$_dvdnav" = yes ; then
6632 def_dvdnav
='#define CONFIG_DVDNAV 1'
6633 if test "$dvdnav_internal" = yes ; then
6634 cflags_libdvdnav
="-Ilibdvdnav"
6635 inputmodules
="dvdnav(internal) $inputmodules"
6637 extra_cflags
="$extra_cflags $($_dvdnavconfig --cflags)"
6638 extra_ldflags
="$extra_ldflags $($_dvdnavconfig --minilibs)"
6639 inputmodules
="dvdnav $inputmodules"
6642 def_dvdnav
='#undef CONFIG_DVDNAV'
6643 noinputmodules
="dvdnav $noinputmodules"
6647 # DO NOT ADD ANY TESTS THAT USE LINKER FLAGS HERE (like cc_check).
6648 # Read dvdnav comment above.
6651 list
=$
(echo $1 |
tr '[a-z]' '[A-Z]')
6652 item
=$
(echo $2 |
tr '[a-z]' '[A-Z]')
6654 for part
in $list; do
6655 if $
(echo $item |
grep -q -E "(^| )$part($| )"); then
6656 echo "${nprefix}_$part = yes"
6661 #############################################################################
6662 echo "Creating config.mak"
6663 cat > config.mak
<< EOF
6664 # -------- Generated by configure -----------
6666 # Ensure that locale settings do not interfere with shell commands.
6669 CONFIGURATION = $configuration
6672 DOC_LANGS = $language_doc
6673 DOC_LANG_ALL = $doc_lang_all
6674 MAN_LANGS = $language_man
6675 MAN_LANG_ALL = $man_lang_all
6676 MSG_LANGS = $language_msg
6677 MSG_LANG_ALL = $msg_lang_all
6679 prefix = \$(DESTDIR)$_prefix
6680 BINDIR = \$(DESTDIR)$_bindir
6681 DATADIR = \$(DESTDIR)$_datadir
6682 LIBDIR = \$(DESTDIR)$_libdir
6683 MANDIR = \$(DESTDIR)$_mandir
6684 CONFDIR = \$(DESTDIR)$_confdir
6685 LOCALEDIR = \$(DESTDIR)$_localedir
6693 INSTALLSTRIP = $_install_strip
6696 CFLAGS = $WARNFLAGS $WARN_CFLAGS $CFLAGS $extra_cflags
6697 CXXFLAGS = $WARNFLAGS $CXXFLAGS $extra_cflags $extra_cxxflags
6698 DEPFLAGS = $DEPFLAGS
6700 CFLAGS_LIBDVDCSS = $cflags_libdvdcss
6701 CFLAGS_LIBDVDCSS_DVDREAD = $cflags_libdvdcss_dvdread
6702 CFLAGS_LIBDVDNAV = $cflags_libdvdnav
6703 CFLAGS_NO_OMIT_LEAF_FRAME_POINTER = $cflags_no_omit_leaf_frame_pointer
6704 CFLAGS_STACKREALIGN = $cflags_stackrealign
6706 EXTRALIBS = $extra_ldflags $_ld_static $_ld_lm $extra_libs
6707 EXTRALIBS_MPLAYER = $libs_mplayer
6716 $(mak_enable "$arch_all" "$arch" ARCH)
6717 $(mak_enable "$subarch_all" "$subarch" ARCH)
6718 $(mak_enable "$cpuexts_all" "$cpuexts" HAVE)
6722 NEED_GETTIMEOFDAY = $need_gettimeofday
6723 NEED_GLOB = $need_glob
6724 NEED_MMAP = $need_mmap
6725 NEED_SETENV = $need_setenv
6726 NEED_SHMEM = $need_shmem
6727 NEED_STRSEP = $need_strsep
6728 NEED_SWAB = $need_swab
6729 NEED_VSSCANF = $need_vsscanf
6737 APPLE_IR = $_apple_ir
6738 APPLE_REMOTE = $_apple_remote
6740 AUDIO_INPUT = $_audio_input
6741 BITMAP_FONT = $_bitmap_font
6746 COREAUDIO = $_coreaudio
6747 COREVIDEO = $_corevideo
6750 DIRECT3D = $_direct3d
6751 DIRECTFB = $_directfb
6755 DVDNAV_INTERNAL = $dvdnav_internal
6757 DVDREAD_INTERNAL = $_dvdread_internal
6761 FASTMEMCPY = $_fastmemcpy
6763 FREETYPE = $_freetype
6768 GL_WIN32 = $_gl_win32
6771 MATRIXVIEW = $matrixview
6772 HAVE_POSIX_SELECT = $_posix_select
6773 HAVE_SYS_MMAN_H = $_mman
6776 JOYSTICK = $_joystick
6783 LIBBLURAY = $_bluray
6787 LIBDVDCSS_INTERNAL = $_libdvdcss_internal
6790 LIBMENU_DVBIN = $_menu_dvbin
6791 LIBNEMESI = $_nemesi
6793 LIBSMBCLIENT = $_smb
6794 LIBTHEORA = $_theora
6797 MACOSX_FINDER = $_macosx_finder
6802 MUSEPACK = $_musepack
6804 NATIVE_RTSP = $_native_rtsp
6805 NETWORKING = $networking
6808 PE_EXECUTABLE = $_pe_executable
6811 PRIORITY = $_priority
6815 QTX_CODECS_WIN32 = $_qtx_codecs_win32
6816 QTX_EMULATION = $_qtx_emulation
6819 RADIO_CAPTURE=$_radio_capture
6820 REAL_CODECS = $_real
6824 STREAM_CACHE = $_stream_cache
6825 SGIAUDIO = $_sgiaudio
6826 SUNAUDIO = $_sunaudio
6832 TV_BSDBT848 = $_tv_bsdbt848
6833 TV_DSHOW = $_tv_dshow
6837 UNRAR_EXEC = $_unrar_exec
6845 WIN32DLL = $_win32dll
6846 WIN32WAVEOUT = $_win32waveout
6847 WIN32_EMULATION = $_win32_emulation
6849 XANIM_CODECS = $_xanim
6851 XMMS_PLUGINS = $_xmms
6856 YUV4MPEG = $_yuv4mpeg
6860 FFMPEG_EVAL_API = $ffmpeg_eval_api
6861 FFMPEG_INTERNALS = $ffmpeg_internals
6862 FFMPEG_SOURCE_PATH = $_ffmpeg_source
6866 YASMFLAGS = $YASMFLAGS
6868 CONFIG_VDPAU = $_vdpau
6869 CONFIG_XVMC = $_xvmc
6870 CONFIG_ZLIB = $_zlib
6872 HAVE_PTHREADS = $_pthreads
6874 HAVE_W32THREADS = $_w32threads
6875 HAVE_YASM = $have_yasm
6879 #############################################################################
6881 ff_config_enable
() {
6882 list
=$
(echo $1 |
tr '[a-z]' '[A-Z]')
6883 item
=$
(echo $2 |
tr '[a-z]' '[A-Z]')
6885 test -z "$_nprefix" && _nprefix
='CONFIG'
6886 for part
in $list; do
6887 if $
(echo $item |
grep -q -E "(^| )$part($| )"); then
6888 echo "#define ${_nprefix}_$part 1"
6890 echo "#define ${_nprefix}_$part 0"
6895 echo "Creating config.h"
6897 /*----------------------------------------------------------------------------
6898 ** This file has been automatically generated by configure any changes in it
6899 ** will be lost when you run configure again.
6900 ** Instead of modifying definitions here, use the --enable/--disable options
6901 ** of the configure script! See ./configure --help for details.
6902 *---------------------------------------------------------------------------*/
6904 #ifndef MPLAYER_CONFIG_H
6905 #define MPLAYER_CONFIG_H
6907 /* Undefine this if you do not want to select mono audio (left or right)
6908 with a stereo MPEG layer 2/3 audio stream. The command line option
6909 -stereo has three possible values (0 for stereo, 1 for left-only, 2 for
6910 right-only), with 0 being the default.
6912 #define CONFIG_FAKE_MONO 1
6914 /* set up audio OUTBURST. Do not change this! */
6915 #define OUTBURST 512
6917 /* Enable fast OSD/SUB renderer (looks ugly, but uses less CPU power) */
6919 #undef FAST_OSD_TABLE
6923 #define CONFIGURATION "$configuration"
6925 #define MPLAYER_DATADIR "$_datadir"
6926 #define MPLAYER_CONFDIR "$_confdir"
6927 #define MPLAYER_LIBDIR "$_libdir"
6928 #define MPLAYER_LOCALEDIR "$_localedir"
6932 /* definitions needed by included libraries */
6933 #define HAVE_INTTYPES_H 1
6935 #define HAVE_ERRNO_H 1
6936 /* libdvdcss + libdvdread */
6937 #define HAVE_LIMITS_H 1
6939 #define HAVE_UNISTD_H 1
6941 #define STDC_HEADERS 1
6942 #define HAVE_MEMCPY 1
6944 #define READ_CACHE_TRACE 0
6946 #define HAVE_DLFCN_H 1
6950 /* system headers */
6952 $def_alsa_asoundlib_h
6956 $def_mman_has_map_failed
6958 $def_sys_asoundlib_h
6959 $def_sys_soundcard_h
6966 /* system functions */
6989 /* system-specific features */
7003 $def_restrict_keyword
7008 /* configurable options */
7012 $def_dynamic_plugins
7015 $def_runtime_cpudetection
7023 #define __CPU__ $iproc
7027 $(ff_config_enable "$arch_all" "$arch" "ARCH")
7028 $(ff_config_enable "$subarch_all" "$subarch" "ARCH")
7029 $(ff_config_enable "$cpuexts_all" "$cpuexts" "HAVE")
7032 /* Blu-ray/DVD/VCD/CD */
7033 #define DEFAULT_CDROM_DEVICE "$default_cdrom_device"
7034 #define DEFAULT_DVD_DEVICE "$default_dvd_device"
7055 /* codec libraries */
7081 #define BINARY_CODECS_PATH "$_codecsdir"
7082 #define XMMS_INPUT_PLUGIN_DIR "$_xmmsplugindir"
7085 /* Audio output drivers */
7101 $def_ossaudio_devdsp
7102 $def_ossaudio_devmixer
7115 $def_ioctl_bt848_h_name
7116 $def_ioctl_meteor_h_name
7218 $def_ffmpeg_eval_api
7219 $def_ffmpeg_internals
7244 #define HAVE_INLINE_ASM 1
7246 /* Use these registers in FFmpeg x86 inline asm. No proper detection yet. */
7248 #define HAVE_EBP_AVAILABLE 1
7250 #define HAVE_EBP_AVAILABLE 0
7253 #endif /* MPLAYER_CONFIG_H */
7256 # Do not overwrite an unchanged config.h to avoid superfluous rebuilds.
7257 cmp -s "$TMPH" config.h ||
mv -f "$TMPH" config.h
7259 #############################################################################
7263 Config files successfully generated by ./configure $configuration !
7265 Install prefix: $_prefix
7266 Data directory: $_datadir
7267 Config direct.: $_confdir
7269 Byte order: $_byte_order
7270 Optimizing for: $_optimizing
7273 Messages (in addition to English): $language_msg
7274 Manual pages: $language_man
7275 Documentation: $language_doc
7277 Enabled optional drivers:
7278 Input: $inputmodules
7279 Codecs: $codecmodules
7280 Audio output: $aomodules
7281 Video output: $vomodules
7283 Disabled optional drivers:
7284 Input: $noinputmodules
7285 Codecs: $nocodecmodules
7286 Audio output: $noaomodules
7287 Video output: $novomodules
7289 'config.h' and 'config.mak' contain your configuration options.
7290 Note: If you alter theses files (for instance CFLAGS) MPlayer may no longer
7291 compile *** DO NOT REPORT BUGS if you tweak these files ***
7293 'make' will now compile MPlayer and 'make install' will install it.
7294 Note: On non-Linux systems you might need to use 'gmake' instead of 'make'.
7299 if test "$_mtrr" = yes ; then
7300 echo "Please check mtrr settings at /proc/mtrr (see DOCS/HTML/$language_doc/video.html#mtrr)"
7306 NOTE: Win32 codec DLLs are not supported on your CPU ($host_arch) or your
7307 operating system ($system_name). You may encounter a few files that cannot
7308 be played due to missing open source video/audio codec support.
7315 Check $TMPLOG if you wonder why an autodetection failed (make sure
7316 development headers/packages are installed).
7318 NOTE: The --enable-* parameters unconditionally force options on, completely
7319 skipping autodetection. This behavior is unlike what you may be used to from
7320 autoconf-based configure scripts that can decide to override you. This greater
7321 level of control comes at a price. You may have to provide the correct compiler
7322 and linker flags yourself.
7323 If you used one of these options (except --enable-menu and similar ones that
7324 turn on internal features) and experience a compilation or linking failure,
7325 make sure you have passed the necessary compiler/linker flags to configure.
7327 If you suspect a bug, please read DOCS/HTML/$language_doc/bugreports.html.
7331 if test "$warn_cflags" = yes; then
7334 MPlayer compilation will use the CPPFLAGS/CFLAGS/LDFLAGS/YASMFLAGS set by you,
7337 *** *** DO NOT REPORT BUGS IF IT DOES NOT COMPILE/WORK! *** ***
7339 It is strongly recommended to let MPlayer choose the correct CFLAGS!
7340 To do so, execute 'CFLAGS= ./configure <options>'
7346 rm -rf "$mplayer_tmpdir"