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 $libs_mencoder -o $TMPEXE $@" >> "$TMPLOG"
54 $_cc $WARNFLAGS $WARN_CFLAGS $CFLAGS "$source" $extra_cflags $_ld_static $extra_ldflags $libs_mplayer $libs_mencoder -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) { $2; return 0; }
83 compile_check
$TMPC $@
89 int main(void) { return 0; }
92 compile_check
$TMPC $@
97 int main(void) { __asm__ volatile ($1); return 0; }
100 compile_check
$TMPC $@
103 # The following checks are special and should only be used with broken and
104 # non-selfsufficient headers that do not include all of their dependencies.
106 header_check_broken
() {
110 int main(void) { return 0; }
114 compile_check
$TMPC $@
117 statement_check_broken
() {
121 int main(void) { $3; return 0; }
124 compile_check
$TMPC $@
129 cat "$TMPS" >> "$TMPLOG"
131 echo "$_yasm $YASMFLAGS -o $TMPEXE $TMPS $@" >> "$TMPLOG"
133 $_yasm $YASMFLAGS -o "$TMPEXE" "$TMPS" "$@" >> "$TMPLOG" 2>&1
141 "$TMPEXE" >> "$TMPLOG" 2>&1
144 # Display error message, flushes tempfile, exit
149 rm -f "$TMPEXE" "$TMPC" "$TMPS" "$TMPCPP"
150 echo "Check \"$TMPLOG\" if you do not understand why it failed."
154 # OS test booleans functions
156 test "$(echo $system_name | tr A-Z a-z)" = "$(echo $1 | tr A-Z a-z)"
158 aix
() { issystem
"AIX"; }
159 amigaos
() { issystem
"AmigaOS"; }
160 beos
() { issystem
"BEOS"; }
161 bsdos
() { issystem
"BSD/OS"; }
162 cygwin
() { issystem
"CYGWIN"; }
163 darwin
() { issystem
"Darwin"; }
164 dragonfly
() { issystem
"DragonFly"; }
165 freebsd
() { issystem
"FreeBSD" || issystem
"GNU/kFreeBSD"; }
166 gnu
() { issystem
"GNU"; }
167 hpux
() { issystem
"HP-UX"; }
168 irix
() { issystem
"IRIX"; }
169 linux
() { issystem
"Linux"; }
170 mingw32
() { issystem
"MINGW32"; }
171 morphos
() { issystem
"MorphOS"; }
172 netbsd
() { issystem
"NetBSD"; }
173 openbsd
() { issystem
"OpenBSD"; }
174 os2
() { issystem
"OS/2"; }
175 qnx
() { issystem
"QNX"; }
176 sunos
() { issystem
"SunOS"; }
177 win32
() { cygwin || mingw32
; }
179 # arch test boolean functions
180 # x86/x86pc is used by QNX
183 i
[3-9]86|x86|x86pc|k5|k6|k6-2|k6-3|pentium
*|athlon
*|i586-i686
) return 0 ;;
190 x86_64|amd64
) return 0 ;;
201 ppc|ppc64|powerpc|powerpc64
) return 0;;
220 # Use this before starting a check
222 echo "============ Checking for $@ ============" >> "$TMPLOG"
223 echo ${_echo_n} "Checking for $@ ... ${_echo_c}"
226 # Use this to echo the results of a check
228 if test "$res_comment" ; then
229 res_comment
="($res_comment)"
231 echo "Result is: $@ $res_comment" >> "$TMPLOG"
232 echo "##########################################" >> "$TMPLOG"
234 echo "$@ $res_comment"
237 #############################################################################
239 # Check how echo works in this /bin/sh
241 -n) _echo_n
= _echo_c
='\c' ;; # SysV echo
242 *) _echo_n
='-n ' _echo_c
= ;; # BSD echo
246 ls po
/*.po
>/dev
/null
2>&1 && msg_lang_all
=$
(echo po
/*.po |
sed -e 's:po/\([^[:space:]]*\)\.po:\1:g')
247 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")
248 doc_lang_all
=$
(echo DOCS
/xml
/??
/ DOCS
/xml
/??_??
/ |
sed -e "s:DOCS/xml/\(..\)/:\1:g" -e "s:DOCS/xml/\(.._..\)/:\1:g")
252 Usage: $0 [OPTIONS]...
255 -h, --help display this help and exit
257 Installation directories:
258 --prefix=DIR prefix directory for installation [/usr/local]
259 --bindir=DIR directory for installing binaries [PREFIX/bin]
260 --datadir=DIR directory for installing machine independent
261 data files (skins, etc) [PREFIX/share/mplayer]
262 --mandir=DIR directory for installing man pages [PREFIX/share/man]
263 --confdir=DIR directory for installing configuration files
265 --localedir=DIR directory for locale tree [PREFIX/share/locale]
266 --libdir=DIR directory for object code libraries [PREFIX/lib]
267 --codecsdir=DIR directory for binary codecs [LIBDIR/codecs]
270 --disable-mplayer disable MPlayer compilation [enable]
271 --disable-largefiles disable support for files > 2GB [enable]
272 --enable-termcap use termcap database for key codes [autodetect]
273 --enable-termios use termios database for key codes [autodetect]
274 --disable-iconv disable iconv for encoding conversion [autodetect]
275 --disable-langinfo do not use langinfo [autodetect]
276 --enable-lirc enable LIRC (remote control) support [autodetect]
277 --enable-lircc enable LIRCCD (LIRC client daemon) input [autodetect]
278 --enable-joystick enable joystick support [disable]
279 --enable-apple-remote enable Apple Remote input (Mac OS X only) [autodetect]
280 --enable-apple-ir enable Apple IR Remote input (Linux only) [autodetect]
281 --disable-vm disable X video mode extensions [autodetect]
282 --disable-xf86keysym disable support for multimedia keys [autodetect]
283 --enable-radio enable radio interface [disable]
284 --enable-radio-capture enable radio capture (through PCI/line-in) [disable]
285 --disable-radio-v4l2 disable Video4Linux2 radio interface [autodetect]
286 --disable-radio-bsdbt848 disable BSD BT848 radio interface [autodetect]
287 --disable-tv disable TV interface (TV/DVB grabbers) [enable]
288 --disable-tv-v4l1 disable Video4Linux TV interface [autodetect]
289 --disable-tv-v4l2 disable Video4Linux2 TV interface [autodetect]
290 --disable-tv-bsdbt848 disable BSD BT848 interface [autodetect]
291 --disable-pvr disable Video4Linux2 MPEG PVR [autodetect]
292 --disable-rtc disable RTC (/dev/rtc) on Linux [autodetect]
293 --disable-networking disable networking [enable]
294 --enable-winsock2_h enable winsock2_h [autodetect]
295 --enable-smb enable Samba (SMB) input [autodetect]
296 --enable-live enable LIVE555 Streaming Media [autodetect]
297 --enable-nemesi enable Nemesi Streaming Media [autodetect]
298 --disable-vcd disable VCD support [autodetect]
299 --disable-bluray disable Blu-ray support [autodetect]
300 --disable-dvdnav disable libdvdnav [autodetect]
301 --disable-dvdread disable libdvdread [autodetect]
302 --disable-dvdread-internal disable internal libdvdread [autodetect]
303 --disable-libdvdcss-internal disable internal libdvdcss [autodetect]
304 --disable-cdparanoia disable cdparanoia [autodetect]
305 --disable-cddb disable cddb [autodetect]
306 --disable-bitmap-font disable bitmap font support [enable]
307 --disable-freetype disable FreeType 2 font rendering [autodetect]
308 --disable-fontconfig disable fontconfig font lookup [autodetect]
309 --disable-unrarexec disable using of UnRAR executable [enabled]
310 --enable-menu enable OSD menu (not DVD menu) [disabled]
311 --disable-sortsub disable subtitle sorting [enabled]
312 --enable-fribidi enable the FriBiDi libs [autodetect]
313 --disable-enca disable ENCA charset oracle library [autodetect]
314 --disable-maemo disable maemo specific features [autodetect]
315 --enable-macosx-finder enable Mac OS X Finder invocation parameter
317 --enable-macosx-bundle enable Mac OS X bundle file locations [autodetect]
318 --disable-inet6 disable IPv6 support [autodetect]
319 --disable-gethostbyname2 gethostbyname2 part of the C library [autodetect]
320 --disable-ftp disable FTP support [enabled]
321 --disable-vstream disable TiVo vstream client support [autodetect]
322 --disable-pthreads disable Posix threads support [autodetect]
323 --disable-w32threads disable Win32 threads support [autodetect]
324 --disable-ass disable internal SSA/ASS subtitle support [autodetect]
325 --enable-rpath enable runtime linker path for extra libs [disabled]
328 --enable-gif enable GIF support [autodetect]
329 --enable-png enable PNG input/output support [autodetect]
330 --enable-mng enable MNG input support [autodetect]
331 --enable-jpeg enable JPEG input/output support [autodetect]
332 --enable-libcdio enable libcdio support [autodetect]
333 --enable-liblzo enable liblzo support [autodetect]
334 --disable-win32dll disable Win32 DLL support [autodetect]
335 --disable-qtx disable QuickTime codecs support [enabled]
336 --disable-xanim disable XAnim codecs support [enabled]
337 --disable-real disable RealPlayer codecs support [enabled]
338 --disable-xvid disable Xvid [autodetect]
339 --disable-x264 disable x264 [autodetect]
340 --disable-libnut disable libnut [autodetect]
341 --disable-ffmpeg_a disable static FFmpeg [autodetect]
342 --disable-ffmpeg_so disable shared FFmpeg [autodetect]
343 --disable-tremor-internal disable internal Tremor [enabled]
344 --enable-tremor-low enable lower accuracy internal Tremor [disabled]
345 --enable-tremor enable external Tremor [autodetect]
346 --disable-libvorbis disable libvorbis support [autodetect]
347 --disable-speex disable Speex support [autodetect]
348 --enable-theora enable OggTheora libraries [autodetect]
349 --enable-faad enable external FAAD2 (AAC) [autodetect]
350 --disable-faad-internal disable internal FAAD2 (AAC) [autodetect]
351 --enable-faad-fixed enable fixed-point mode in internal FAAD2 [disabled]
352 --disable-faac disable support for FAAC (AAC encoder) [autodetect]
353 --disable-ladspa disable LADSPA plugin support [autodetect]
354 --disable-libbs2b disable libbs2b audio filter support [autodetect]
355 --disable-libdv disable libdv 0.9.5 en/decoding support [autodetect]
356 --disable-mpg123 disable libmpg123 MP3 decoding support [autodetect]
357 --disable-mad disable libmad (MPEG audio) support [autodetect]
358 --disable-mp3lame disable LAME MP3 encoding support [autodetect]
359 --disable-toolame disable Toolame (MPEG layer 2) encoding [autodetect]
360 --disable-twolame disable Twolame (MPEG layer 2) encoding [autodetect]
361 --enable-xmms enable XMMS input plugin support [disabled]
362 --enable-libdca enable libdca support [autodetect]
363 --disable-mp3lib disable builtin mp3lib [autodetect]
364 --disable-liba52 disable liba52 [autodetect]
365 --disable-libmpeg2 disable builtin libmpeg2 [autodetect]
366 --disable-musepack disable musepack support [autodetect]
369 --disable-vidix disable VIDIX [for x86 *nix]
370 --with-vidix-drivers[=*] list of VIDIX drivers to be compiled in
371 Available: cyberblade, ivtv, mach64, mga, mga_crtc2,
372 nvidia, pm2, pm3, radeon, rage128, s3, sis, unichrome
373 --disable-vidix-pcidb disable VIDIX PCI device name database
374 --enable-dhahelper enable VIDIX dhahelper support
375 --enable-svgalib_helper enable VIDIX svgalib_helper support
376 --enable-gl enable OpenGL video output [autodetect]
377 --disable-matrixview disable OpenGL MatrixView video output [autodetect]
378 --enable-dga2 enable DGA 2 support [autodetect]
379 --enable-dga1 enable DGA 1 support [autodetect]
380 --enable-vesa enable VESA video output [autodetect]
381 --enable-svga enable SVGAlib video output [autodetect]
382 --enable-sdl enable SDL video output [autodetect]
383 --enable-kva enable KVA video output [autodetect]
384 --enable-aa enable AAlib video output [autodetect]
385 --enable-caca enable CACA video output [autodetect]
386 --enable-ggi enable GGI video output [autodetect]
387 --enable-ggiwmh enable GGI libggiwmh extension [autodetect]
388 --enable-direct3d enable Direct3D video output [autodetect]
389 --enable-directx enable DirectX video output [autodetect]
390 --enable-dxr2 enable DXR2 video output [autodetect]
391 --enable-dxr3 enable DXR3/H+ video output [autodetect]
392 --enable-ivtv enable IVTV TV-Out video output [autodetect]
393 --enable-v4l2 enable V4L2 Decoder audio/video output [autodetect]
394 --enable-dvb enable DVB video output [autodetect]
395 --enable-mga enable mga_vid video output [autodetect]
396 --enable-xmga enable mga_vid X11 video output [autodetect]
397 --enable-xv enable Xv video output [autodetect]
398 --enable-xvmc enable XvMC acceleration [disable]
399 --enable-vdpau enable VDPAU acceleration [autodetect]
400 --enable-vm enable XF86VidMode support [autodetect]
401 --enable-xinerama enable Xinerama support [autodetect]
402 --enable-x11 enable X11 video output [autodetect]
403 --enable-xshape enable XShape support [autodetect]
404 --disable-xss disable screensaver support via xss [autodetect]
405 --enable-fbdev enable FBDev video output [autodetect]
406 --enable-mlib enable mediaLib video output (Solaris) [disable]
407 --enable-3dfx enable obsolete /dev/3dfx video output [disable]
408 --enable-tdfxfb enable tdfxfb video output [disable]
409 --enable-s3fb enable s3fb (S3 ViRGE) video output [disable]
410 --enable-wii enable Nintendo Wii/GameCube video output [disable]
411 --enable-directfb enable DirectFB video output [autodetect]
412 --enable-zr enable ZR360[56]7/ZR36060 video output [autodetect]
413 --enable-bl enable Blinkenlights video output [disable]
414 --enable-tdfxvid enable tdfx_vid video output [disable]
415 --enable-xvr100 enable SUN XVR-100 video output [autodetect]
416 --disable-tga disable Targa video output [enable]
417 --disable-pnm disable PNM video output [enable]
418 --disable-md5sum disable md5sum video output [enable]
419 --disable-yuv4mpeg disable yuv4mpeg video output [enable]
420 --disable-corevideo disable CoreVideo video output [autodetect]
421 --disable-quartz disable Quartz video output [autodetect]
424 --disable-alsa disable ALSA audio output [autodetect]
425 --disable-ossaudio disable OSS audio output [autodetect]
426 --disable-arts disable aRts audio output [autodetect]
427 --disable-esd disable esd audio output [autodetect]
428 --disable-pulse disable Pulseaudio audio output [autodetect]
429 --disable-jack disable JACK audio output [autodetect]
430 --enable-openal enable OpenAL audio output [disable]
431 --disable-nas disable NAS audio output [autodetect]
432 --disable-sgiaudio disable SGI audio output [autodetect]
433 --disable-sunaudio disable Sun audio output [autodetect]
434 --disable-kai disable KAI audio output [autodetect]
435 --disable-dart disable DART audio output [autodetect]
436 --disable-win32waveout disable Windows waveout audio output [autodetect]
437 --disable-coreaudio disable CoreAudio audio output [autodetect]
438 --disable-select disable using select() on the audio device [enable]
441 --enable-translation enable support for translated output [disable]
442 --charset=charset convert the console messages to this character set
443 --language-doc=lang language to use for the documentation [en]
444 --language-man=lang language to use for the man pages [en]
445 --language-msg=lang extra languages for program messages [all]
446 --language=lang default language to use [en]
447 Specific options override --language. You can pass a list of languages separated
448 by whitespace or commas instead of a single language. Nonexisting translations
449 will be dropped from each list. All translations available in the list will be
450 installed. The value "all" will activate all translations. The LINGUAS
451 environment variable is honored. In all cases the fallback is English.
452 The program always supports English-language output; additional message
453 languages are only installed if --enable-translation is also specified.
454 Available values for --language-doc are: all $doc_lang_all
455 Available values for --language-man are: all $man_lang_all
456 Available values for --language-msg are: all $msg_lang_all
458 Miscellaneous options:
459 --enable-runtime-cpudetection enable runtime CPU detection [disable]
460 --enable-cross-compile enable cross-compilation [autodetect]
461 --cc=COMPILER C compiler to build MPlayer [gcc]
462 --host-cc=COMPILER C compiler for tools needed while building [gcc]
463 --as=ASSEMBLER assembler to build MPlayer [as]
464 --nm=NM nm tool to build MPlayer [nm]
465 --yasm=YASM Yasm assembler to build MPlayer [yasm]
466 --ar=AR librarian to build MPlayer [ar]
467 --ranlib=RANLIB ranlib to build MPlayer [ranlib]
468 --windres=WINDRES windres to build MPlayer [windres]
469 --target=PLATFORM target platform (i386-linux, arm-linux, etc)
470 --enable-static build a statically linked binary
471 --with-install=PATH path to a custom install program
474 --enable-mmx enable MMX [autodetect]
475 --enable-mmxext enable MMX2 (Pentium III, Athlon) [autodetect]
476 --enable-3dnow enable 3DNow! [autodetect]
477 --enable-3dnowext enable extended 3DNow! [autodetect]
478 --enable-sse enable SSE [autodetect]
479 --enable-sse2 enable SSE2 [autodetect]
480 --enable-ssse3 enable SSSE3 [autodetect]
481 --enable-shm enable shm [autodetect]
482 --enable-altivec enable AltiVec (PowerPC) [autodetect]
483 --enable-armv5te enable DSP extensions (ARM) [autodetect]
484 --enable-armv6 enable ARMv6 (ARM) [autodetect]
485 --enable-armv6t2 enable ARMv6t2 (ARM) [autodetect]
486 --enable-armvfp enable ARM VFP (ARM) [autodetect]
487 --enable-neon enable NEON (ARM) [autodetect]
488 --enable-iwmmxt enable iWMMXt (ARM) [autodetect]
489 --disable-fastmemcpy disable 3DNow!/SSE/MMX optimized memcpy [enable]
490 --enable-big-endian force byte order to big-endian [autodetect]
491 --enable-debug[=1-3] compile-in debugging information [disable]
492 --enable-profile compile-in profiling information [disable]
493 --disable-sighandler disable sighandler for crashes [enable]
494 --enable-crash-debug enable automatic gdb attach on crash [disable]
495 --enable-dynamic-plugins enable dynamic A/V plugins [disable]
496 --ffmpeg-source-dir=PATH enable features requiring internal FFmpeg headers
498 Use these options if autodetection fails:
499 --extra-cflags=FLAGS extra CFLAGS
500 --extra-ldflags=FLAGS extra LDFLAGS
501 --extra-libs=FLAGS extra linker flags
502 --extra-libs-mplayer=FLAGS extra linker flags for MPlayer
503 --with-xvmclib=NAME adapter-specific library name (e.g. XvMCNVIDIA)
505 --with-freetype-config=PATH path to freetype-config
506 --with-glib-config=PATH path to glib*-config
507 --with-gtk-config=PATH path to gtk*-config
508 --with-sdl-config=PATH path to sdl*-config
509 --with-dvdnav-config=PATH path to dvdnav-config
510 --with-dvdread-config=PATH path to dvdread-config
512 This configure script is NOT autoconf-based, even though its output is similar.
513 It will try to autodetect all configuration options. If you --enable an option
514 it will be forcefully turned on, skipping autodetection. This can break
515 compilation, so you need to know what you are doing.
520 # GOTCHA: the variables below defines the default behavior for autodetection
521 # and have - unless stated otherwise - at least 2 states : yes no
522 # If autodetection is available then the third state is: auto
546 test "$CC" && _cc
="$CC"
550 _runtime_cpudetection
=no
563 _xvmc
=no
#auto when complete
630 _dvdnavconfig
=dvdnav-config
631 _dvdreadconfig
=dvdread-config
633 _dvdread_internal
=auto
634 _libdvdcss_internal
=auto
645 _mlib
=no
#broken, thus disabled
718 _freetypeconfig
='freetype-config'
733 def_dos_paths
="#define HAVE_DOS_PATHS 0"
734 def_stream_cache
="#define CONFIG_STREAM_CACHE 1"
735 def_priority
="#undef CONFIG_PRIORITY"
736 def_pthread_cache
="#undef PTHREAD_CACHE"
744 _prefix
=$
(echo $ac_option | cut
-d '=' -f 2)
747 _bindir
=$
(echo $ac_option | cut
-d '=' -f 2)
750 _datadir
=$
(echo $ac_option | cut
-d '=' -f 2)
753 _mandir
=$
(echo $ac_option | cut
-d '=' -f 2)
756 _confdir
=$
(echo $ac_option | cut
-d '=' -f 2)
759 _libdir
=$
(echo $ac_option | cut
-d '=' -f 2)
762 _codecsdir
=$
(echo $ac_option | cut
-d '=' -f 2)
765 _localedir
=$
(echo $ac_option | cut
-d '=' -f 2)
769 _install
=$
(echo $ac_option | cut
-d '=' -f 2 )
772 _xvmclib
=$
(echo $ac_option | cut
-d '=' -f 2)
776 _sdlconfig
=$
(echo $ac_option | cut
-d '=' -f 2)
778 --with-freetype-config=*)
779 _freetypeconfig
=$
(echo $ac_option | cut
-d '=' -f 2)
782 _gtkconfig
=$
(echo $ac_option | cut
-d '=' -f 2)
784 --with-glib-config=*)
785 _glibconfig
=$
(echo $ac_option | cut
-d '=' -f 2)
787 --with-dvdnav-config=*)
788 _dvdnavconfig
=$
(echo $ac_option | cut
-d '=' -f 2)
790 --with-dvdread-config=*)
791 _dvdreadconfig
=$
(echo $ac_option | cut
-d '=' -f 2)
795 extra_cflags
="$extra_cflags $(echo $ac_option | cut -d '=' -f 2-)"
798 extra_ldflags
="$extra_ldflags $(echo $ac_option | cut -d '=' -f 2-)"
801 extra_libs
=$
(echo $ac_option | cut
-d '=' -f 2)
803 --extra-libs-mplayer=*)
804 libs_mplayer
=$
(echo $ac_option | cut
-d '=' -f 2)
808 _target
=$
(echo $ac_option | cut
-d '=' -f 2)
811 _cc
=$
(echo $ac_option | cut
-d '=' -f 2)
814 _host_cc
=$
(echo $ac_option | cut
-d '=' -f 2)
817 _as
=$
(echo $ac_option | cut
-d '=' -f 2)
820 _nm
=$
(echo $ac_option | cut
-d '=' -f 2)
823 _yasm
=$
(echo $ac_option | cut
-d '=' -f 2)
826 _ar
=$
(echo $ac_option | cut
-d '=' -f 2)
829 _ranlib
=$
(echo $ac_option | cut
-d '=' -f 2)
832 _windres
=$
(echo $ac_option | cut
-d '=' -f 2)
835 _charset
=$
(echo $ac_option | cut
-d '=' -f 2)
838 language_doc
=$
(echo $ac_option | cut
-d '=' -f 2)
841 language_man
=$
(echo $ac_option | cut
-d '=' -f 2)
844 language_msg
=$
(echo $ac_option | cut
-d '=' -f 2)
847 language
=$
(echo $ac_option | cut
-d '=' -f 2)
866 _debug
=$
(echo $_echo_n '-g'$_echo_c; echo $ac_option | cut
-d '=' -f 2)
871 --enable-translation) _translation
=yes ;;
872 --disable-translation) _translation
=no
;;
873 --enable-runtime-cpudetection) _runtime_cpudetection
=yes ;;
874 --disable-runtime-cpudetection) _runtime_cpudetection
=no
;;
875 --enable-cross-compile) _cross_compile
=yes ;;
876 --disable-cross-compile) _cross_compile
=no
;;
877 --enable-mplayer) _mplayer
=yes ;;
878 --disable-mplayer) _mplayer
=no
;;
879 --enable-dynamic-plugins) _dynamic_plugins
=yes ;;
880 --disable-dynamic-plugins) _dynamic_plugins
=no
;;
881 --enable-x11) _x11
=yes ;;
882 --disable-x11) _x11
=no
;;
883 --enable-xshape) _xshape
=yes ;;
884 --disable-xshape) _xshape
=no
;;
885 --enable-xss) _xss
=yes ;;
886 --disable-xss) _xss
=no
;;
887 --enable-xv) _xv
=yes ;;
888 --disable-xv) _xv
=no
;;
889 --enable-xvmc) _xvmc
=yes ;;
890 --disable-xvmc) _xvmc
=no
;;
891 --enable-vdpau) _vdpau
=yes ;;
892 --disable-vdpau) _vdpau
=no
;;
893 --enable-sdl) _sdl
=yes ;;
894 --disable-sdl) _sdl
=no
;;
895 --enable-kva) _kva
=yes ;;
896 --disable-kva) _kva
=no
;;
897 --enable-direct3d) _direct3d
=yes ;;
898 --disable-direct3d) _direct3d
=no
;;
899 --enable-directx) _directx
=yes ;;
900 --disable-directx) _directx
=no
;;
901 --enable-win32waveout) _win32waveout
=yes ;;
902 --disable-win32waveout) _win32waveout
=no
;;
903 --enable-nas) _nas
=yes ;;
904 --disable-nas) _nas
=no
;;
905 --enable-png) _png
=yes ;;
906 --disable-png) _png
=no
;;
907 --enable-mng) _mng
=yes ;;
908 --disable-mng) _mng
=no
;;
909 --enable-jpeg) _jpeg
=yes ;;
910 --disable-jpeg) _jpeg
=no
;;
911 --enable-pnm) _pnm
=yes ;;
912 --disable-pnm) _pnm
=no
;;
913 --enable-md5sum) _md5sum
=yes ;;
914 --disable-md5sum) _md5sum
=no
;;
915 --enable-yuv4mpeg) _yuv4mpeg
=yes ;;
916 --disable-yuv4mpeg) _yuv4mpeg
=no
;;
917 --enable-gif) _gif
=yes ;;
918 --disable-gif) _gif
=no
;;
919 --enable-gl) _gl
=yes ;;
920 --disable-gl) _gl
=no
;;
921 --enable-matrixview) matrixview
=yes ;;
922 --disable-matrixview) matrixview
=no
;;
923 --enable-ggi) _ggi
=yes ;;
924 --disable-ggi) _ggi
=no
;;
925 --enable-ggiwmh) _ggiwmh
=yes ;;
926 --disable-ggiwmh) _ggiwmh
=no
;;
927 --enable-aa) _aa
=yes ;;
928 --disable-aa) _aa
=no
;;
929 --enable-caca) _caca
=yes ;;
930 --disable-caca) _caca
=no
;;
931 --enable-svga) _svga
=yes ;;
932 --disable-svga) _svga
=no
;;
933 --enable-vesa) _vesa
=yes ;;
934 --disable-vesa) _vesa
=no
;;
935 --enable-fbdev) _fbdev
=yes ;;
936 --disable-fbdev) _fbdev
=no
;;
937 --enable-dvb) _dvb
=yes ;;
938 --disable-dvb) _dvb
=no
;;
939 --enable-dxr2) _dxr2
=yes ;;
940 --disable-dxr2) _dxr2
=no
;;
941 --enable-dxr3) _dxr3
=yes ;;
942 --disable-dxr3) _dxr3
=no
;;
943 --enable-ivtv) _ivtv
=yes ;;
944 --disable-ivtv) _ivtv
=no
;;
945 --enable-v4l2) _v4l2
=yes ;;
946 --disable-v4l2) _v4l2
=no
;;
947 --enable-iconv) _iconv
=yes ;;
948 --disable-iconv) _iconv
=no
;;
949 --enable-langinfo) _langinfo
=yes ;;
950 --disable-langinfo) _langinfo
=no
;;
951 --enable-rtc) _rtc
=yes ;;
952 --disable-rtc) _rtc
=no
;;
953 --enable-libdv) _libdv
=yes ;;
954 --disable-libdv) _libdv
=no
;;
955 --enable-ossaudio) _ossaudio
=yes ;;
956 --disable-ossaudio) _ossaudio
=no
;;
957 --enable-arts) _arts
=yes ;;
958 --disable-arts) _arts
=no
;;
959 --enable-esd) _esd
=yes ;;
960 --disable-esd) _esd
=no
;;
961 --enable-pulse) _pulse
=yes ;;
962 --disable-pulse) _pulse
=no
;;
963 --enable-jack) _jack
=yes ;;
964 --disable-jack) _jack
=no
;;
965 --enable-openal) _openal
=yes ;;
966 --disable-openal) _openal
=no
;;
967 --enable-kai) _kai
=yes ;;
968 --disable-kai) _kai
=no
;;
969 --enable-dart) _dart
=yes ;;
970 --disable-dart) _dart
=no
;;
971 --enable-mad) _mad
=yes ;;
972 --disable-mad) _mad
=no
;;
973 --enable-mp3lame) _mp3lame
=yes ;;
974 --disable-mp3lame) _mp3lame
=no
;;
975 --enable-toolame) _toolame
=yes ;;
976 --disable-toolame) _toolame
=no
;;
977 --enable-twolame) _twolame
=yes ;;
978 --disable-twolame) _twolame
=no
;;
979 --enable-libcdio) _libcdio
=yes ;;
980 --disable-libcdio) _libcdio
=no
;;
981 --enable-liblzo) _liblzo
=yes ;;
982 --disable-liblzo) _liblzo
=no
;;
983 --enable-libvorbis) _libvorbis
=yes ;;
984 --disable-libvorbis) _libvorbis
=no
;;
985 --enable-speex) _speex
=yes ;;
986 --disable-speex) _speex
=no
;;
987 --enable-tremor) _tremor
=yes ;;
988 --disable-tremor) _tremor
=no
;;
989 --enable-tremor-internal) _tremor_internal
=yes ;;
990 --disable-tremor-internal) _tremor_internal
=no
;;
991 --enable-tremor-low) _tremor_low
=yes ;;
992 --disable-tremor-low) _tremor_low
=no
;;
993 --enable-theora) _theora
=yes ;;
994 --disable-theora) _theora
=no
;;
995 --enable-mpg123) _mpg123
=yes ;;
996 --disable-mpg123) _mpg123
=no
;;
997 --enable-mp3lib) _mp3lib
=yes ;;
998 --disable-mp3lib) _mp3lib
=no
;;
999 --enable-liba52) _liba52
=yes ;;
1000 --disable-liba52) _liba52
=no
;;
1001 --enable-libdca) _libdca
=yes ;;
1002 --disable-libdca) _libdca
=no
;;
1003 --enable-libmpeg2) _libmpeg2
=yes ;;
1004 --disable-libmpeg2) _libmpeg2
=no
;;
1005 --enable-musepack) _musepack
=yes ;;
1006 --disable-musepack) _musepack
=no
;;
1007 --enable-faad) _faad
=yes ;;
1008 --disable-faad) _faad
=no
;;
1009 --enable-faad-internal) _faad_internal
=yes ;;
1010 --disable-faad-internal) _faad_internal
=no
;;
1011 --enable-faad-fixed) _faad_fixed
=yes ;;
1012 --disable-faad-fixed) _faad_fixed
=no
;;
1013 --enable-faac) _faac
=yes ;;
1014 --disable-faac) _faac
=no
;;
1015 --enable-ladspa) _ladspa
=yes ;;
1016 --disable-ladspa) _ladspa
=no
;;
1017 --enable-libbs2b) _libbs2b
=yes ;;
1018 --disable-libbs2b) _libbs2b
=no
;;
1019 --enable-xmms) _xmms
=yes ;;
1020 --disable-xmms) _xmms
=no
;;
1021 --enable-vcd) _vcd
=yes ;;
1022 --disable-vcd) _vcd
=no
;;
1023 --enable-bluray) _bluray
=yes ;;
1024 --disable-bluray) _bluray
=no
;;
1025 --enable-dvdread) _dvdread
=yes ;;
1026 --disable-dvdread) _dvdread
=no
;;
1027 --enable-dvdread-internal) _dvdread_internal
=yes ;;
1028 --disable-dvdread-internal) _dvdread_internal
=no
;;
1029 --enable-libdvdcss-internal) _libdvdcss_internal
=yes ;;
1030 --disable-libdvdcss-internal) _libdvdcss_internal
=no
;;
1031 --enable-dvdnav) _dvdnav
=yes ;;
1032 --disable-dvdnav) _dvdnav
=no
;;
1033 --enable-xanim) _xanim
=yes ;;
1034 --disable-xanim) _xanim
=no
;;
1035 --enable-real) _real
=yes ;;
1036 --disable-real) _real
=no
;;
1037 --enable-live) _live
=yes ;;
1038 --disable-live) _live
=no
;;
1039 --enable-nemesi) _nemesi
=yes ;;
1040 --disable-nemesi) _nemesi
=no
;;
1041 --enable-xinerama) _xinerama
=yes ;;
1042 --disable-xinerama) _xinerama
=no
;;
1043 --enable-mga) _mga
=yes ;;
1044 --disable-mga) _mga
=no
;;
1045 --enable-xmga) _xmga
=yes ;;
1046 --disable-xmga) _xmga
=no
;;
1047 --enable-vm) _vm
=yes ;;
1048 --disable-vm) _vm
=no
;;
1049 --enable-xf86keysym) _xf86keysym
=yes ;;
1050 --disable-xf86keysym) _xf86keysym
=no
;;
1051 --enable-mlib) _mlib
=yes ;;
1052 --disable-mlib) _mlib
=no
;;
1053 --enable-sunaudio) _sunaudio
=yes ;;
1054 --disable-sunaudio) _sunaudio
=no
;;
1055 --enable-sgiaudio) _sgiaudio
=yes ;;
1056 --disable-sgiaudio) _sgiaudio
=no
;;
1057 --enable-alsa) _alsa
=yes ;;
1058 --disable-alsa) _alsa
=no
;;
1059 --enable-tv) _tv
=yes ;;
1060 --disable-tv) _tv
=no
;;
1061 --enable-tv-bsdbt848) _tv_bsdbt848
=yes ;;
1062 --disable-tv-bsdbt848) _tv_bsdbt848
=no
;;
1063 --enable-tv-v4l1) _tv_v4l1
=yes ;;
1064 --disable-tv-v4l1) _tv_v4l1
=no
;;
1065 --enable-tv-v4l2) _tv_v4l2
=yes ;;
1066 --disable-tv-v4l2) _tv_v4l2
=no
;;
1067 --enable-tv-dshow) _tv_dshow
=yes ;;
1068 --disable-tv-dshow) _tv_dshow
=no
;;
1069 --enable-radio) _radio
=yes ;;
1070 --enable-radio-capture) _radio_capture
=yes ;;
1071 --disable-radio-capture) _radio_capture
=no
;;
1072 --disable-radio) _radio
=no
;;
1073 --enable-radio-v4l) _radio_v4l
=yes ;;
1074 --disable-radio-v4l) _radio_v4l
=no
;;
1075 --enable-radio-v4l2) _radio_v4l2
=yes ;;
1076 --disable-radio-v4l2) _radio_v4l2
=no
;;
1077 --enable-radio-bsdbt848) _radio_bsdbt848
=yes ;;
1078 --disable-radio-bsdbt848) _radio_bsdbt848
=no
;;
1079 --enable-pvr) _pvr
=yes ;;
1080 --disable-pvr) _pvr
=no
;;
1081 --enable-fastmemcpy) _fastmemcpy
=yes ;;
1082 --disable-fastmemcpy) _fastmemcpy
=no
;;
1083 --enable-networking) networking
=yes ;;
1084 --disable-networking) networking
=no
;;
1085 --enable-winsock2_h) _winsock2_h
=yes ;;
1086 --disable-winsock2_h) _winsock2_h
=no
;;
1087 --enable-smb) _smb
=yes ;;
1088 --disable-smb) _smb
=no
;;
1089 --enable-vidix) _vidix
=yes ;;
1090 --disable-vidix) _vidix
=no
;;
1091 --with-vidix-drivers=*)
1092 _vidix_drivers
=$
(echo $ac_option | cut
-d '=' -f 2)
1094 --disable-vidix-pcidb) _vidix_pcidb
=no
;;
1095 --enable-dhahelper) _dhahelper
=yes ;;
1096 --disable-dhahelper) _dhahelper
=no
;;
1097 --enable-svgalib_helper) _svgalib_helper
=yes ;;
1098 --disable-svgalib_helper) _svgalib_helper
=no
;;
1099 --enable-joystick) _joystick
=yes ;;
1100 --disable-joystick) _joystick
=no
;;
1101 --enable-xvid) _xvid
=yes ;;
1102 --disable-xvid) _xvid
=no
;;
1103 --enable-x264) _x264
=yes ;;
1104 --disable-x264) _x264
=no
;;
1105 --enable-libnut) _libnut
=yes ;;
1106 --disable-libnut) _libnut
=no
;;
1107 --enable-ffmpeg) ffmpeg
=yes ;;
1108 --disable-ffmpeg) ffmpeg
=no
;;
1109 --ffmpeg-source-dir=*)
1110 _ffmpeg_source
=$
(echo $ac_option | cut
-d '=' -f 2 ) ;;
1112 --enable-lirc) _lirc
=yes ;;
1113 --disable-lirc) _lirc
=no
;;
1114 --enable-lircc) _lircc
=yes ;;
1115 --disable-lircc) _lircc
=no
;;
1116 --enable-apple-remote) _apple_remote
=yes ;;
1117 --disable-apple-remote) _apple_remote
=no
;;
1118 --enable-apple-ir) _apple_ir
=yes ;;
1119 --disable-apple-ir) _apple_ir
=no
;;
1120 --enable-gui) _gui
=yes ;;
1121 --disable-gui) _gui
=no
;;
1122 --enable-gtk1) _gtk1
=yes ;;
1123 --disable-gtk1) _gtk1
=no
;;
1124 --enable-termcap) _termcap
=yes ;;
1125 --disable-termcap) _termcap
=no
;;
1126 --enable-termios) _termios
=yes ;;
1127 --disable-termios) _termios
=no
;;
1128 --enable-3dfx) _3dfx
=yes ;;
1129 --disable-3dfx) _3dfx
=no
;;
1130 --enable-s3fb) _s3fb
=yes ;;
1131 --disable-s3fb) _s3fb
=no
;;
1132 --enable-wii) _wii
=yes ;;
1133 --disable-wii) _wii
=no
;;
1134 --enable-tdfxfb) _tdfxfb
=yes ;;
1135 --disable-tdfxfb) _tdfxfb
=no
;;
1136 --disable-tdfxvid) _tdfxvid
=no
;;
1137 --enable-tdfxvid) _tdfxvid
=yes ;;
1138 --disable-xvr100) _xvr100
=no
;;
1139 --enable-xvr100) _xvr100
=yes ;;
1140 --disable-tga) _tga
=no
;;
1141 --enable-tga) _tga
=yes ;;
1142 --enable-directfb) _directfb
=yes ;;
1143 --disable-directfb) _directfb
=no
;;
1144 --enable-zr) _zr
=yes ;;
1145 --disable-zr) _zr
=no
;;
1146 --enable-bl) _bl
=yes ;;
1147 --disable-bl) _bl
=no
;;
1148 --enable-mtrr) _mtrr
=yes ;;
1149 --disable-mtrr) _mtrr
=no
;;
1150 --enable-largefiles) _largefiles
=yes ;;
1151 --disable-largefiles) _largefiles
=no
;;
1152 --enable-shm) _shm
=yes ;;
1153 --disable-shm) _shm
=no
;;
1154 --enable-select) _select
=yes ;;
1155 --disable-select) _select
=no
;;
1156 --enable-cdparanoia) _cdparanoia
=yes ;;
1157 --disable-cdparanoia) _cdparanoia
=no
;;
1158 --enable-cddb) _cddb
=yes ;;
1159 --disable-cddb) _cddb
=no
;;
1160 --enable-big-endian) _big_endian
=yes ;;
1161 --disable-big-endian) _big_endian
=no
;;
1162 --enable-bitmap-font) _bitmap_font
=yes ;;
1163 --disable-bitmap-font) _bitmap_font
=no
;;
1164 --enable-freetype) _freetype
=yes ;;
1165 --disable-freetype) _freetype
=no
;;
1166 --enable-fontconfig) _fontconfig
=yes ;;
1167 --disable-fontconfig) _fontconfig
=no
;;
1168 --enable-unrarexec) _unrar_exec
=yes ;;
1169 --disable-unrarexec) _unrar_exec
=no
;;
1170 --enable-ftp) _ftp
=yes ;;
1171 --disable-ftp) _ftp
=no
;;
1172 --enable-vstream) _vstream
=yes ;;
1173 --disable-vstream) _vstream
=no
;;
1174 --enable-pthreads) _pthreads
=yes ;;
1175 --disable-pthreads) _pthreads
=no
;;
1176 --enable-w32threads) _w32threads
=yes ;;
1177 --disable-w32threads) _w32threads
=no
;;
1178 --enable-ass) _ass
=yes ;;
1179 --disable-ass) _ass
=no
;;
1180 --enable-rpath) _rpath
=yes ;;
1181 --disable-rpath) _rpath
=no
;;
1183 --enable-fribidi) _fribidi
=yes ;;
1184 --disable-fribidi) _fribidi
=no
;;
1186 --enable-enca) _enca
=yes ;;
1187 --disable-enca) _enca
=no
;;
1189 --enable-inet6) _inet6
=yes ;;
1190 --disable-inet6) _inet6
=no
;;
1192 --enable-gethostbyname2) _gethostbyname2
=yes ;;
1193 --disable-gethostbyname2) _gethostbyname2
=no
;;
1195 --enable-dga1) _dga1
=yes ;;
1196 --disable-dga1) _dga1
=no
;;
1197 --enable-dga2) _dga2
=yes ;;
1198 --disable-dga2) _dga2
=no
;;
1200 --enable-menu) _menu
=yes ;;
1201 --disable-menu) _menu
=no
;;
1203 --enable-qtx) _qtx
=yes ;;
1204 --disable-qtx) _qtx
=no
;;
1206 --enable-coreaudio) _coreaudio
=yes ;;
1207 --disable-coreaudio) _coreaudio
=no
;;
1208 --enable-corevideo) _corevideo
=yes ;;
1209 --disable-corevideo) _corevideo
=no
;;
1210 --enable-quartz) _quartz
=yes ;;
1211 --disable-quartz) _quartz
=no
;;
1212 --enable-macosx-finder) _macosx_finder
=yes ;;
1213 --disable-macosx-finder) _macosx_finder
=no
;;
1214 --enable-macosx-bundle) _macosx_bundle
=yes ;;
1215 --disable-macosx-bundle) _macosx_bundle
=no
;;
1217 --enable-maemo) _maemo
=yes ;;
1218 --disable-maemo) _maemo
=no
;;
1220 --enable-sortsub) _sortsub
=yes ;;
1221 --disable-sortsub) _sortsub
=no
;;
1223 --enable-crash-debug) _crash_debug
=yes ;;
1224 --disable-crash-debug) _crash_debug
=no
;;
1225 --enable-sighandler) _sighandler
=yes ;;
1226 --disable-sighandler) _sighandler
=no
;;
1227 --enable-win32dll) _win32dll
=yes ;;
1228 --disable-win32dll) _win32dll
=no
;;
1230 --enable-sse) _sse
=yes ;;
1231 --disable-sse) _sse
=no
;;
1232 --enable-sse2) _sse2
=yes ;;
1233 --disable-sse2) _sse2
=no
;;
1234 --enable-ssse3) _ssse3
=yes ;;
1235 --disable-ssse3) _ssse3
=no
;;
1236 --enable-mmxext) _mmxext
=yes ;;
1237 --disable-mmxext) _mmxext
=no
;;
1238 --enable-3dnow) _3dnow
=yes ;;
1239 --disable-3dnow) _3dnow
=no _3dnowext
=no
;;
1240 --enable-3dnowext) _3dnow
=yes _3dnowext
=yes ;;
1241 --disable-3dnowext) _3dnowext
=no
;;
1242 --enable-cmov) _cmov
=yes ;;
1243 --disable-cmov) _cmov
=no
;;
1244 --enable-fast-cmov) _fast_cmov
=yes ;;
1245 --disable-fast-cmov) _fast_cmov
=no
;;
1246 --enable-fast-clz) _fast_clz
=yes ;;
1247 --disable-fast-clz) _fast_clz
=no
;;
1248 --enable-altivec) _altivec
=yes ;;
1249 --disable-altivec) _altivec
=no
;;
1250 --enable-armv5te) _armv5te
=yes ;;
1251 --disable-armv5te) _armv5te
=no
;;
1252 --enable-armv6) _armv6
=yes ;;
1253 --disable-armv6) _armv6
=no
;;
1254 --enable-armv6t2) _armv6t2
=yes ;;
1255 --disable-armv6t2) _armv6t2
=no
;;
1256 --enable-armvfp) _armvfp
=yes ;;
1257 --disable-armvfp) _armvfp
=no
;;
1258 --enable-neon) neon
=yes ;;
1259 --disable-neon) neon
=no
;;
1260 --enable-iwmmxt) _iwmmxt
=yes ;;
1261 --disable-iwmmxt) _iwmmxt
=no
;;
1262 --enable-mmx) _mmx
=yes ;;
1263 --disable-mmx) # 3Dnow! and MMX2 require MMX
1264 _3dnow
=no _3dnowext
=no _mmx
=no _mmxext
=no
;;
1267 echo "Unknown parameter: $ac_option"
1274 if test "$_gui" = yes ; then
1275 die
"Internal GUI was removed from MPlayer. Please use one of many available\n frontends\
1276 (http://www.mplayerhq.hu/design7/projects.html#mplayer_frontends)."
1279 # Atmos: moved this here, to be correct, if --prefix is specified
1280 test -z "$_bindir" && _bindir
="$_prefix/bin"
1281 test -z "$_datadir" && _datadir
="$_prefix/share/mplayer"
1282 test -z "$_mandir" && _mandir
="$_prefix/share/man"
1283 test -z "$_confdir" && _confdir
="$_prefix/etc/mplayer"
1284 test -z "$_libdir" && _libdir
="$_prefix/lib"
1285 test -z "$_localedir" && _localedir
="$_prefix/share/locale"
1287 # Determine our OS name and CPU architecture
1288 if test -z "$_target" ; then
1290 system_name
=$
(uname
-s 2>&1)
1291 case "$system_name" in
1292 Linux|FreeBSD|NetBSD|OpenBSD|DragonFly|BSD
/OS|Darwin|SunOS|QNX|GNU|BeOS|MorphOS|AIX|AmigaOS
)
1306 [cC
][yY
][gG
][wW
][iI
][nN
]*)
1316 system_name
="$system_name-UNKNOWN"
1321 # host's CPU/instruction set
1322 host_arch
=$
(uname
-p 2>&1)
1323 case "$host_arch" in
1324 i386|sparc|ppc|alpha|arm|mips|vax
)
1326 powerpc
) # Darwin returns 'powerpc'
1329 *) # uname -p on Linux returns 'unknown' for the processor type,
1330 # OpenBSD returns 'Intel Pentium/MMX ("Genuine Intel" 586-class)'
1332 # Maybe uname -m (machine hardware name) returns something we
1335 # x86/x86pc is used by QNX
1336 case "$(uname -m 2>&1)" in
1337 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
;;
1338 ia64
) host_arch
=ia64
;;
1339 macppc|ppc
) host_arch
=ppc
;;
1340 ppc64
) host_arch
=ppc64
;;
1341 alpha
) host_arch
=alpha
;;
1342 sparc
) host_arch
=sparc
;;
1343 sparc64
) host_arch
=sparc64
;;
1344 parisc
*|hppa
*|
9000*) host_arch
=hppa
;;
1345 arm
*|zaurus|cats
) host_arch
=arm
;;
1346 sh3|sh4|sh4a
) host_arch
=sh
;;
1347 s390
) host_arch
=s390
;;
1348 s390x
) host_arch
=s390x
;;
1349 *mips
*) host_arch
=mips
;;
1350 vax
) host_arch
=vax
;;
1351 xtensa
*) host_arch
=xtensa
;;
1352 *) host_arch
=UNKNOWN
;;
1356 else # if test -z "$_target"
1357 system_name
=$
(echo $_target | cut
-d '-' -f 2)
1358 case "$(echo $system_name | tr A-Z a-z)" in
1359 linux
) system_name
=Linux
;;
1360 freebsd
) system_name
=FreeBSD
;;
1361 gnu
/kfreebsd
) system_name
=FreeBSD
;;
1362 netbsd
) system_name
=NetBSD
;;
1363 bsd
/os
) system_name
=BSD
/OS
;;
1364 openbsd
) system_name
=OpenBSD
;;
1365 dragonfly
) system_name
=DragonFly
;;
1366 sunos
) system_name
=SunOS
;;
1367 qnx
) system_name
=QNX
;;
1368 morphos
) system_name
=MorphOS
;;
1369 amigaos
) system_name
=AmigaOS
;;
1370 mingw32
*) system_name
=MINGW32
;;
1372 # We need to convert underscores so that values like k6-2 and pentium-mmx can be passed
1373 host_arch
=$
(echo $_target | cut
-d '-' -f 1)
1374 if test $
(echo $host_arch) != "x86_64" ; then
1375 host_arch
=$
(echo $host_arch |
tr '_' '-')
1379 extra_cflags
="-I. $extra_cflags"
1380 _timer
=timer-linux.c
1383 extra_ldflags
="$extra_ldflags -L/usr/local/lib"
1384 extra_cflags
="$extra_cflags -I/usr/local/include"
1387 if netbsd || dragonfly
; then
1388 extra_ldflags
="$extra_ldflags -L/usr/pkg/lib"
1389 extra_cflags
="$extra_cflags -I/usr/pkg/include"
1393 extra_cflags
="-mdynamic-no-pic $extra_cflags"
1394 if test "$(basename $_cc)" != "clang" ; then
1395 extra_cflags
="-falign-loops=16 -shared-libgcc $extra_cflags"
1397 _timer
=timer-darwin.c
1401 extra_ldflags
="$extra_ldflags -lC"
1412 extra_cflags
="$extra_cflags -fno-common"
1413 # -lwinmm is always needed for osdep/timer-win2.c
1414 extra_ldflags
="$extra_ldflags -lwinmm"
1418 def_dos_paths
="#define HAVE_DOS_PATHS 1"
1419 def_priority
="#define CONFIG_PRIORITY 1"
1431 def_stream_cache
="#undef CONFIG_STREAM_CACHE"
1432 extra_cflags
="-DNEWLIB -D__USE_INLINE__ $extra_cflags"
1436 extra_ldflags
="$extra_ldflags -lph"
1444 def_dos_paths
="#define HAVE_DOS_PATHS 1"
1445 def_priority
="#define CONFIG_PRIORITY 1"
1448 for tmpdir
in "$TMPDIR" "$TEMPDIR" "/tmp" ; do
1449 test "$tmpdir" && break
1452 mplayer_tmpdir
="$tmpdir/mplayer-configure-$RANDOM-$$"
1453 mkdir
$mplayer_tmpdir || die
"Unable to create tmpdir."
1456 TMPC
="$mplayer_tmpdir/tmp.c"
1457 TMPCPP
="$mplayer_tmpdir/tmp.cpp"
1458 TMPEXE
="$mplayer_tmpdir/tmp$_exesuf"
1459 TMPH
="$mplayer_tmpdir/tmp.h"
1460 TMPS
="$mplayer_tmpdir/tmp.S"
1463 echo configuration
: $configuration > "$TMPLOG"
1467 if test "$_runtime_cpudetection" = yes && ! x86
&& ! ppc
; then
1468 die
"Runtime CPU detection only works for x86, x86-64 and PPC!"
1472 # Checking CC version...
1473 # Intel C++ Compilers (no autoselect, use CC=/some/binary ./configure)
1474 if test "$(basename $_cc)" = "icc" ||
test "$(basename $_cc)" = "ecc"; then
1475 echocheck
"$_cc version"
1477 cc_name
=$
($_cc -V 2>&1 |
head -n 1 | cut
-d ',' -f 1)
1478 cc_version
=$
($_cc -V 2>&1 |
head -n 1 | cut
-d ',' -f 2 | cut
-d ' ' -f 3)
1479 _cc_major
=$
(echo $cc_version | cut
-d '.' -f 1)
1480 _cc_minor
=$
(echo $cc_version | cut
-d '.' -f 2)
1481 # TODO verify older icc/ecc compatibility
1484 cc_version
="v. ?.??, bad"
1488 cc_version
="$cc_version, ok"
1491 cc_version
="$cc_version, bad"
1495 echores
"$cc_version"
1497 for _cc
in "$_cc" gcc cc
; do
1498 cc_name_tmp
=$
($_cc -v 2>&1 |
tail -n 1 | cut
-d ' ' -f 1)
1499 if test "$cc_name_tmp" = "gcc"; then
1500 cc_name
=$cc_name_tmp
1501 echocheck
"$_cc version"
1503 cc_version
=$
($_cc -dumpversion 2>&1)
1509 _cc_major
=$
(echo $cc_version | cut
-d '.' -f 1)
1510 _cc_minor
=$
(echo $cc_version | cut
-d '.' -f 2)
1511 _cc_mini
=$
(echo $cc_version | cut
-d '.' -f 3)
1514 echores
"$cc_version"
1517 cc_name_tmp
=$
($_cc -v 2>&1 |
head -n 1 | cut
-d ' ' -f 1)
1518 if test "$cc_name_tmp" = "clang"; then
1519 echocheck
"$_cc version"
1521 cc_version
=$
($_cc -dumpversion 2>&1)
1522 res_comment
="experimental support only"
1523 echores
"clang $cc_version"
1526 cc_name_tmp
=$
($_cc -V 2>&1 |
head -n 1 | cut
-d ' ' -f 2,3)
1527 if test "$cc_name_tmp" = "Sun C"; then
1528 echocheck
"$_cc version"
1530 cc_version
=$
($_cc -V 2>&1 |
head -n 1 | cut
-d ' ' -f 4)
1531 res_comment
="experimental support only"
1532 echores
"Sun C $cc_version"
1537 test "$cc_fail" = yes && die
"unsupported compiler version"
1539 if test -z "$_target" && x86
; then
1542 int test[(int)sizeof(char *)-7];
1546 cc_check
&& host_arch
=x86_64 || host_arch
=i386
1549 echo "Detected operating system: $system_name"
1550 echo "Detected host architecture: $host_arch"
1553 test "$_host_cc" || _host_cc
=$_cc
1556 echocheck
"cross compilation"
1557 if test $_cross_compile = auto
; then
1559 cflag_check
"" && "$TMPEXE" && _cross_compile
=no
1561 echores
$_cross_compile
1563 if test $_cross_compile = yes; then
1571 # now that we know what compiler should be used for compilation, try to find
1572 # out which assembler is used by the $_cc compiler
1573 if test "$_as" = auto
; then
1574 _as
=$
($_cc -print-prog-name=as
)
1575 test -z "$_as" && _as
=as
1578 if test "$_nm" = auto
; then
1579 _nm
=$
($_cc -print-prog-name=nm
)
1580 test -z "$_nm" && _nm
=nm
1583 # XXX: this should be ok..
1586 if test "$_runtime_cpudetection" = no
; then
1588 # Cygwin has /proc/cpuinfo, but only supports Intel CPUs
1589 # FIXME: Remove the cygwin check once AMD CPUs are supported
1590 if test -r /proc
/cpuinfo
&& ! cygwin
; then
1591 # Linux with /proc mounted, extract CPU information from it
1592 _cpuinfo
="cat /proc/cpuinfo"
1593 elif test -r /compat
/linux
/proc
/cpuinfo
&& ! x86
; then
1594 # FreeBSD with Linux emulation /proc mounted,
1595 # extract CPU information from it
1596 # Don't use it on x86 though, it never reports 3Dnow
1597 _cpuinfo
="cat /compat/linux/proc/cpuinfo"
1598 elif darwin
&& ! x86
; then
1599 # use hostinfo on Darwin
1602 # use 'lsattr' on AIX
1603 _cpuinfo
="lsattr -E -l proc0 -a type"
1605 # all other OSes try to extract CPU information from a small helper
1606 # program cpuinfo instead
1607 $_cc -o cpuinfo
$_exesuf cpuinfo.c
1608 _cpuinfo
="./cpuinfo$_exesuf"
1612 # gather more CPU information
1613 pname
=$
($_cpuinfo |
grep 'model name' | cut
-d ':' -f 2 |
head -n 1)
1614 pvendor
=$
($_cpuinfo |
grep 'vendor_id' | cut
-d ':' -f 2 | cut
-d ' ' -f 2 |
head -n 1)
1615 pfamily
=$
($_cpuinfo |
grep 'cpu family' | cut
-d ':' -f 2 | cut
-d ' ' -f 2 |
head -n 1)
1616 pmodel
=$
($_cpuinfo |
grep -v 'model name' |
grep 'model' | cut
-d ':' -f 2 | cut
-d ' ' -f 2 |
head -n 1)
1617 pstepping
=$
($_cpuinfo |
grep 'stepping' | cut
-d ':' -f 2 | cut
-d ' ' -f 2 |
head -n 1)
1619 exts
=$
($_cpuinfo |
egrep 'features|flags' | cut
-d ':' -f 2 |
head -n 1)
1621 pparam
=$
(echo $exts |
sed -e s
/k6_mtrr
/mtrr
/ -e s
/cyrix_arr
/mtrr
/ -e s
/centaur_mcr
/mtrr
/ \
1622 -e s
/xmm
/sse
/ -e s
/kni
/sse
/)
1624 for ext
in $pparam ; do
1625 eval test \"\
$_$ext\" = auto
2>/dev
/null
&& eval _
$ext=kernel_check
1628 # SSE implies MMX2, but not all SSE processors report the mmxext CPU flag.
1629 test $_sse = kernel_check
&& _mmxext
=kernel_check
1631 echocheck
"CPU vendor"
1632 echores
"$pvendor ($pfamily:$pmodel:$pstepping)"
1634 echocheck
"CPU type"
1638 fi # test "$_runtime_cpudetection" = no
1640 if x86
&& test "$_runtime_cpudetection" = no
; then
1642 if test "$1" = kernel_check
; then
1643 echocheck
"kernel support of $2"
1647 static void catch(int sig) { exit(1); }
1649 signal(SIGILL, catch);
1650 __asm__ volatile ("$3":::"memory"); return 0;
1654 if cc_check
&& tmp_run
; then
1657 _optimizing
="$_optimizing $2"
1662 echo "It seems that your kernel does not correctly support $2."
1663 echo "To use $2 extensions in MPlayer, you have to upgrade/recompile your kernel!"
1670 extcheck
$_mmx "mmx" "emms"
1671 extcheck
$_mmxext "mmxext" "sfence"
1672 extcheck
$_3dnow "3dnow" "femms"
1673 extcheck
$_3dnowext "3dnowext" "pswapd %%mm0, %%mm0"
1674 extcheck
$_sse "sse" "xorps %%xmm0, %%xmm0" || _gcc3_ext
="$_gcc3_ext -mno-sse"
1675 extcheck
$_sse2 "sse2" "xorpd %%xmm0, %%xmm0" || _gcc3_ext
="$_gcc3_ext -mno-sse2"
1676 extcheck
$_ssse3 "ssse3" "pabsd %%xmm0, %%xmm0"
1677 extcheck
$_cmov "cmov" "cmovb %%eax, %%ebx"
1679 echocheck
"mtrr support"
1680 if test "$_mtrr" = kernel_check
; then
1682 _optimizing
="$_optimizing mtrr"
1686 if test "$_gcc3_ext" != ""; then
1687 # if we had to disable sse/sse2 because the active kernel does not
1688 # support this instruction set extension, we also have to tell
1689 # gcc3 to not generate sse/sse2 instructions for normal C code
1690 cflag_check
$_march $_gcc3_ext && _march
="$_march $_gcc3_ext"
1696 def_fast_64bit
='#define HAVE_FAST_64BIT 0'
1697 def_fast_unaligned
='#define HAVE_FAST_UNALIGNED 0'
1698 arch_all
='X86 IA64 SPARC ARM AVR32 SH4 PPC ALPHA MIPS PA_RISC S390 S390X VAX BFIN XTENSA TOMI GENERIC'
1699 subarch_all
='X86_32 X86_64 PPC64'
1700 case "$host_arch" in
1701 i
[3-9]86|x86|x86pc|k5|k6|k6-2|k6-3|pentium
*|athlon
*|i586-i686
)
1704 def_fast_unaligned
='#define HAVE_FAST_UNALIGNED 1'
1709 if test "$_runtime_cpudetection" = no
; then
1713 3) proc
=i386 iproc
=386 ;;
1714 4) proc
=i486 iproc
=486 ;;
1715 5) iproc
=586 # LGB: models are: K5/SSA5 K5 K5 K5 ? ? K6 K6 K6-2 K6-3
1716 # K6 model 13 are the K6-2+ and K6-III+, only differing in cache size.
1717 if test "$pmodel" -eq 9 -o "$pmodel" -eq 13; then
1719 elif test "$pmodel" -eq 5 -o "$pmodel" -eq 10; then
1721 elif test "$pmodel" -ge 8; then
1723 elif test "$pmodel" -ge 6; then
1730 # It's a bit difficult to determine the correct type of Family 6
1731 # AMD CPUs just from their signature. Instead, we check directly
1732 # whether it supports SSE.
1733 if test "$_sse" = yes; then
1734 # gcc treats athlon-xp, athlon-4 and athlon-mp similarly.
1737 # Again, gcc treats athlon and athlon-tbird similarly.
1742 # k8 cpu-type only supported in gcc >= 3.4.0, but that will be
1743 # caught and remedied in the optimization tests below.
1747 *) proc
=amdfam10 iproc
=686
1748 test $_fast_clz = "auto" && _fast_clz
=yes
1754 3) proc
=i386 iproc
=386 ;;
1755 4) proc
=i486 iproc
=486 ;;
1757 if test "$pmodel" -eq 4 ||
test "$pmodel" -eq 8; then
1758 proc
=pentium-mmx
# 4 is desktop, 8 is mobile
1764 if test "$pmodel" -ge 15; then
1766 elif test "$pmodel" -eq 9 -o "$pmodel" -ge 13; then
1768 elif test "$pmodel" -ge 7; then
1770 elif test "$pmodel" -ge 3; then
1775 test $_fast_clz = "auto" && _fast_clz
=yes
1778 # A nocona in 32-bit mode has no more capabilities than a prescott.
1779 if test "$pmodel" -ge 3; then
1783 test $_fast_clz = "auto" && _fast_clz
=yes
1785 test $_fast_cmov = "auto" && _fast_cmov
=no
1787 *) proc
=prescott iproc
=686 ;;
1793 if test "$pmodel" -ge 8; then
1795 elif test "$pmodel" -ge 4; then
1802 if test "$pmodel" -ge 9; then
1809 *) proc
=i686 iproc
=i686
;;
1814 3) proc
=i386 iproc
=386 ;;
1815 4) proc
=i486 iproc
=486 ;;
1816 *) proc
=i586 iproc
=586 ;;
1820 proc
=i586 iproc
=586 ;;
1822 test $_fast_clz = "auto" && _fast_clz
=no
1823 fi # test "$_runtime_cpudetection" = no
1826 # check that gcc supports our CPU, if not, fall back to earlier ones
1827 # LGB: check -mcpu and -march swithing step by step with enabling
1828 # to fall back till 386.
1830 # gcc >= 3.4.0 doesn't support -mcpu, we have to use -mtune instead
1832 if [ "$cc_vendor" = "gnu" ] && ([ "$_cc_major" -gt 3 ] ||
( [ "$_cc_major" = 3 ] && [ "$_cc_minor" -ge 4 ])) ; then
1838 echocheck
"GCC & CPU optimization abilities"
1839 if test "$_runtime_cpudetection" = no
; then
1840 if test $cc_vendor != "intel" && test $cc_vendor != "clang" ; then
1841 cflag_check
-march=native
&& proc
=native
1843 if test "$proc" = "amdfam10"; then
1844 cflag_check
-march=$proc $cpuopt=$proc || proc
=k8
1846 if test "$proc" = "k8"; then
1847 cflag_check
-march=$proc $cpuopt=$proc || proc
=athlon-xp
1849 if test "$proc" = "athlon-xp"; then
1850 cflag_check
-march=$proc $cpuopt=$proc || proc
=athlon
1852 if test "$proc" = "k6-3" ||
test "$proc" = "k6-2"; then
1853 cflag_check
-march=$proc $cpuopt=$proc || proc
=k6
1855 if test "$proc" = "k6" ||
test "$proc" = "c3"; then
1856 if ! cflag_check
-march=$proc $cpuopt=$proc; then
1857 if cflag_check
-march=i586
$cpuopt=i686
; then
1864 if test "$proc" = "prescott" ; then
1865 cflag_check
-march=$proc $cpuopt=$proc || proc
=pentium4
1867 if test "$proc" = "core2" ; then
1868 cflag_check
-march=$proc $cpuopt=$proc || proc
=pentium-m
1870 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
1871 cflag_check
-march=$proc $cpuopt=$proc || proc
=i686
1873 if test "$proc" = "i686" ||
test "$proc" = "pentium-mmx" ||
test "$proc" = "winchip-c6" ||
test "$proc" = "winchip2"; then
1874 cflag_check
-march=$proc $cpuopt=$proc || proc
=i586
1876 if test "$proc" = "i586"; then
1877 cflag_check
-march=$proc $cpuopt=$proc || proc
=i486
1879 if test "$proc" = "i486" ; then
1880 cflag_check
-march=$proc $cpuopt=$proc || proc
=i386
1882 if test "$proc" = "i386" ; then
1883 cflag_check
-march=$proc $cpuopt=$proc || proc
=error
1885 if test "$proc" = "error" ; then
1886 echores
"CPU optimization disabled. CPU not recognized or your compiler is too old."
1890 elif test "$proc" = "i586-i686"; then
1891 _march
="-march=i586"
1892 _mcpu
="$cpuopt=i686"
1895 _march
="-march=$proc"
1896 _mcpu
="$cpuopt=$proc"
1899 else # if test "$_runtime_cpudetection" = no
1900 _mcpu
="$cpuopt=generic"
1901 # at least i486 required, for bswap instruction
1902 _march
="-march=i486"
1903 cflag_check
$_mcpu || _mcpu
="$cpuopt=i686"
1904 cflag_check
$_mcpu || _mcpu
=""
1905 cflag_check
$_march $_mcpu || _march
=""
1908 ## Gabucino : --target takes effect here (hopefully...) by overwriting
1909 ## autodetected mcpu/march parameters
1910 if test "$_target" ; then
1911 # TODO: it may be a good idea to check GCC and fall back in all cases
1912 if test "$host_arch" = "i586-i686"; then
1913 _march
="-march=i586"
1914 _mcpu
="$cpuopt=i686"
1916 _march
="-march=$host_arch"
1917 _mcpu
="$cpuopt=$host_arch"
1925 i586|k5|k6|k6-2|k6-3|pentium|pentium-mmx
) iproc
=586 ;;
1926 i686|athlon
*|pentium
*) iproc
=686 ;;
1931 if test $_cmov = "yes" && test $_fast_cmov = "auto" ; then
1936 test $_fast_clz = "auto" && _fast_clz
=yes
1943 def_fast_64bit
='#define HAVE_FAST_64BIT 1'
1950 def_fast_unaligned
='#define HAVE_FAST_UNALIGNED 1'
1951 def_fast_64bit
='#define HAVE_FAST_64BIT 1'
1954 # gcc >= 3.4.0 doesn't support -mcpu, we have to use -mtune instead
1955 if test "$cc_vendor" = "gnu" && test "$_cc_major" -gt 3 -o "$_cc_major" -eq 3 -a "$_cc_minor" -ge 4 ; then
1960 if test "$_runtime_cpudetection" = no
; then
1965 test $_fast_clz = "auto" && _fast_clz
=no
1974 # 64-bit prescotts exist, but as far as GCC is concerned they
1975 # have the same capabilities as a nocona.
1977 test $_fast_cmov = "auto" && _fast_cmov
=no
1978 test $_fast_clz = "auto" && _fast_clz
=no
1985 fi # test "$_runtime_cpudetection" = no
1987 echocheck
"GCC & CPU optimization abilities"
1988 # This is a stripped-down version of the i386 fallback.
1989 if test "$_runtime_cpudetection" = no
; then
1990 if test $cc_vendor != "intel" && test $cc_vendor != "clang" ; then
1991 cflag_check
-march=native
&& proc
=native
1993 # --- AMD processors ---
1994 if test "$proc" = "amdfam10"; then
1995 cflag_check
-march=$proc $cpuopt=$proc || proc
=k8
1997 if test "$proc" = "k8"; then
1998 cflag_check
-march=$proc $cpuopt=$proc || proc
=athlon-xp
2000 # This will fail if gcc version < 3.3, which is ok because earlier
2001 # versions don't really support 64-bit on amd64.
2002 # Is this a valid assumption? -Corey
2003 if test "$proc" = "athlon-xp"; then
2004 cflag_check
-march=$proc $cpuopt=$proc || proc
=error
2006 # --- Intel processors ---
2007 if test "$proc" = "core2"; then
2008 cflag_check
-march=$proc $cpuopt=$proc || proc
=x86-64
2010 if test "$proc" = "x86-64"; then
2011 cflag_check
-march=$proc $cpuopt=$proc || proc
=nocona
2013 if test "$proc" = "nocona"; then
2014 cflag_check
-march=$proc $cpuopt=$proc || proc
=pentium4
2016 if test "$proc" = "pentium4"; then
2017 cflag_check
-march=$proc $cpuopt=$proc || proc
=error
2020 _march
="-march=$proc"
2021 _mcpu
="$cpuopt=$proc"
2022 if test "$proc" = "error" ; then
2023 echores
"CPU optimization disabled. CPU not recognized or your compiler is too old."
2027 else # if test "$_runtime_cpudetection" = no
2028 # x86-64 is an undocumented option, an intersection of k8 and nocona.
2029 _march
="-march=x86-64"
2030 _mcpu
="$cpuopt=generic"
2031 cflag_check
$_mcpu || _mcpu
="x86-64"
2032 cflag_check
$_mcpu || _mcpu
=""
2033 cflag_check
$_march $_mcpu || _march
=""
2037 test $_fast_cmov = "auto" && _fast_cmov
=yes
2038 test $_fast_clz = "auto" && _fast_clz
=yes
2046 if test "$host_arch" = "sparc64" ; then
2049 def_fast_64bit
='#define HAVE_FAST_64BIT 1'
2051 echocheck
"CPU type"
2053 case "$(echo $karch)" in
2058 sun4u
) proc
=ultrasparc _vis
='yes' ;;
2077 def_fast_unaligned
='#define HAVE_FAST_UNALIGNED 1'
2079 test $_fast_clz = "auto" && _fast_clz
=yes
2087 ppc|ppc64|powerpc|powerpc64
)
2089 def_dcbzl
='#define HAVE_DCBZL 0'
2090 def_fast_unaligned
='#define HAVE_FAST_UNALIGNED 1'
2093 if test "$host_arch" = "ppc64" -o "$host_arch" = "powerpc64" ; then
2095 def_fast_64bit
='#define HAVE_FAST_64BIT 1'
2097 echocheck
"CPU type"
2098 case $system_name in
2100 proc
=$
($_cpuinfo |
grep 'cpu' | cut
-d ':' -f 2 | cut
-d ',' -f 1 | cut
-b 2- |
head -n 1)
2101 if test -n "$($_cpuinfo | grep altivec)"; then
2102 test $_altivec = auto
&& _altivec
=yes
2106 proc
=$
($_cpuinfo |
grep "Processor type" | cut
-f 3 -d ' ' |
sed 's/ppc//')
2107 if [ $
(sysctl
-n hw.vectorunit
) -eq 1 -o \
2108 "$(sysctl -n hw.optional.altivec 2> /dev/null)" = "1" ]; then
2109 test $_altivec = auto
&& _altivec
=yes
2113 # only gcc 3.4 works reliably with AltiVec code under NetBSD
2115 2*|
3.0*|
3.1*|
3.2*|
3.3*)
2118 if [ $
(sysctl
-n machdep.altivec
) -eq 1 ]; then
2119 test $_altivec = auto
&& _altivec
=yes
2125 proc
=$
($_cpuinfo |
grep 'type' | cut
-f 2 -d ' ' |
sed 's/PowerPC_//')
2128 if test "$_altivec" = yes; then
2129 echores
"$proc altivec"
2135 echocheck
"GCC & CPU optimization abilities"
2137 if test -n "$proc"; then
2139 601) _march
='-mcpu=601' _mcpu
='-mtune=601' ;;
2140 603) _march
='-mcpu=603' _mcpu
='-mtune=603' ;;
2141 603e|
603ev
) _march
='-mcpu=603e' _mcpu
='-mtune=603e' ;;
2142 604|
604e|
604r|
604ev
) _march
='-mcpu=604' _mcpu
='-mtune=604' ;;
2143 740|
740/750|
745/755) _march
='-mcpu=740' _mcpu
='-mtune=740' ;;
2144 750|
750CX
) _march
='-mcpu=750' _mcpu
='-mtune=750' ;;
2145 POWER
) _march
='-mcpu=power' _mcpu
='-mtune=power' ;;
2146 POWER2
) _march
='-mcpu=power2' _mcpu
='-mtune=power2' ;;
2147 POWER3
) _march
='-mcpu=power3' _mcpu
='-mtune=power3' ;;
2150 # gcc 3.1(.1) and up supports 7400 and 7450
2151 if test "$_cc_major" -ge "3" && test "$_cc_minor" -ge "1" ||
test "$_cc_major" -ge "4"; then
2153 7400*|
7410*) _march
='-mcpu=7400' _mcpu
='-mtune=7400' ;;
2154 7447*|
7450*|
7455*) _march
='-mcpu=7450' _mcpu
='-mtune=7450' ;;
2158 # gcc 3.2 and up supports 970
2159 if test "$_cc_major" -ge "3" && test "$_cc_minor" -ge "3" ||
test "$_cc_major" -ge "4"; then
2161 970*|PPC970
*) _march
='-mcpu=970' _mcpu
='-mtune=970'
2162 def_dcbzl
='#define HAVE_DCBZL 1' ;;
2166 # gcc 3.3 and up supports POWER4
2167 if test "$_cc_major" -ge "3" && test "$_cc_minor" -ge "3" ||
test "$_cc_major" -ge "4"; then
2169 POWER4
) _march
='-mcpu=power4' _mcpu
='-mtune=power4' ;;
2173 # gcc 3.4 and up supports 440*
2174 if test "$_cc_major" -ge "3" && test "$_cc_minor" -ge "4" ||
test "$_cc_major" -ge "4"; then
2176 440EP
*) _march
='-mcpu=440fp' _mcpu
='-mtune=440fp' ;;
2177 440G
* ) _march
='-mcpu=440' _mcpu
='-mtune=440' ;;
2181 # gcc 4.0 and up supports POWER5
2182 if test "$_cc_major" -ge "4"; then
2184 POWER5
*) _march
='-mcpu=power5' _mcpu
='-mtune=power5' ;;
2190 if test -n "$_mcpu"; then
2191 _optimizing
=$
(echo $_mcpu | cut
-c 8-)
2192 echores
"$_optimizing"
2197 test $_fast_clz = "auto" && _fast_clz
=yes
2204 def_fast_64bit
='#define HAVE_FAST_64BIT 1'
2206 echocheck
"CPU type"
2209 unsigned long ver, mask;
2210 __asm__ ("implver %0" : "=r" (ver));
2211 __asm__ ("amask %1, %0" : "=r" (mask) : "r" (-1));
2212 printf("%ld-%x\n", ver, ~mask);
2216 $_cc -o "$TMPEXE" "$TMPC"
2217 case $
("$TMPEXE") in
2219 0-0) proc
="ev4"; _mvi
="0";;
2220 1-0) proc
="ev5"; _mvi
="0";;
2221 1-1) proc
="ev56"; _mvi
="0";;
2222 1-101) proc
="pca56"; _mvi
="1";;
2223 2-303) proc
="ev6"; _mvi
="1";;
2224 2-307) proc
="ev67"; _mvi
="1";;
2225 2-1307) proc
="ev68"; _mvi
="1";;
2229 echocheck
"GCC & CPU optimization abilities"
2230 if test "$proc" = "ev68" ; then
2231 cc_check
-mcpu=$proc || proc
=ev67
2233 if test "$proc" = "ev67" ; then
2234 cc_check
-mcpu=$proc || proc
=ev6
2239 test $_fast_clz = "auto" && _fast_clz
=yes
2249 echocheck
"CPU type"
2250 proc
=$
(hinv
-c processor |
grep CPU | cut
-d " " -f3)
2251 case "$(echo $proc)" in
2252 R3000
) _march
='-mips1' _mcpu
='-mtune=r2000' ;;
2253 R4000
) _march
='-mips3' _mcpu
='-mtune=r4000' ;;
2254 R4400
) _march
='-mips3' _mcpu
='-mtune=r4400' ;;
2255 R4600
) _march
='-mips3' _mcpu
='-mtune=r4600' ;;
2256 R5000
) _march
='-mips4' _mcpu
='-mtune=r5000' ;;
2257 R8000|R10000|R12000|R14000|R16000
) _march
='-mips4' _mcpu
='-mtune=r8000' ;;
2259 # gcc < 3.x does not support -mtune.
2260 if test "$cc_vendor" = "gnu" && test "$_cc_major" -lt 3 ; then
2266 test $_fast_clz = "auto" && _fast_clz
=yes
2300 echo "The architecture of your CPU ($host_arch) is not supported by this configure script"
2301 echo "It seems nobody has ported MPlayer to your OS or CPU type yet."
2302 die
"unsupported architecture $host_arch"
2304 esac # case "$host_arch" in
2306 if test "$_runtime_cpudetection" = yes ; then
2308 test "$_cmov" != no
&& _cmov
=yes
2310 test "$_mmx" != no
&& _mmx
=yes
2311 test "$_3dnow" != no
&& _3dnow
=yes
2312 test "$_3dnowext" != no
&& _3dnowext
=yes
2313 test "$_mmxext" != no
&& _mmxext
=yes
2314 test "$_sse" != no
&& _sse
=yes
2315 test "$_sse2" != no
&& _sse2
=yes
2316 test "$_ssse3" != no
&& _ssse3
=yes
2317 test "$_mtrr" != no
&& _mtrr
=yes
2326 echocheck
"byte order"
2327 if test "$_big_endian" = auto
; then
2329 short ascii_name[] = {
2330 'M' << 8 | 'P', 'l' << 8 | 'a', 'y' << 8 | 'e', 'r' << 8 | 'B',
2331 'i' << 8 | 'g', 'E' << 8 | 'n', 'd' << 8 | 'i', 'a' << 8 | 'n', 0 };
2332 int main(void) { return (long)ascii_name; }
2335 if strings $TMPEXE |
grep -q -l MPlayerBigEndian
; then
2341 echo ${_echo_n} "failed to autodetect byte order, defaulting to ${_echo_c}"
2344 if test "$_big_endian" = yes ; then
2345 _byte_order
='big-endian'
2346 def_words_endian
='#define WORDS_BIGENDIAN 1'
2347 def_bigendian
='#define HAVE_BIGENDIAN 1'
2349 _byte_order
='little-endian'
2350 def_words_endian
='#undef WORDS_BIGENDIAN'
2351 def_bigendian
='#define HAVE_BIGENDIAN 0'
2353 echores
"$_byte_order"
2356 echocheck
"extern symbol prefix"
2360 cc_check
-c || die
"Symbol mangling check failed."
2361 sym
=$
($_nm -P -g $TMPEXE)
2362 extern_prefix
=${sym%%ff_extern*}
2363 def_extern_asm
="#define EXTERN_ASM $extern_prefix"
2364 def_extern_prefix
="#define EXTERN_PREFIX \"$extern_prefix\""
2365 echores
$extern_prefix
2368 echocheck
"assembler support of -pipe option"
2369 # -I. helps to detect compilers that just misunderstand -pipe like Sun C
2370 cflag_check
-pipe -I.
&& _pipe
="-pipe" && echores
"yes" || echores
"no"
2373 echocheck
"compiler support of named assembler arguments"
2375 def_named_asm_args
="#define NAMED_ASM_ARGS 1"
2376 if test "$cc_vendor" = "gnu" && test "$_cc_major" -lt 3 \
2377 -o "$_cc_major" -eq 3 -a "$_cc_minor" = 0 ; then
2379 def_named_asm_args
="#undef NAMED_ASM_ARGS"
2381 echores
$_named_asm_args
2384 if darwin
&& test "$cc_vendor" = "gnu" ; then
2385 echocheck
"GCC support of -mstackrealign"
2386 # GCC 4.2 and some earlier Apple versions support this flag on x86. Since
2387 # Mac OS X/Intel has an ABI different from Windows this is needed to avoid
2388 # crashes when loading Win32 DLLs. Unfortunately some gcc versions create
2389 # wrong code with this flag, but this can be worked around by adding
2390 # -fno-unit-at-a-time as described in the blog post at
2391 # http://www.dribin.org/dave/blog/archives/2006/12/05/missing_third_param/
2393 __attribute__((noinline)) static int foo3(int i1, int i2, int i3) { return i3; }
2394 int main(void) { return foo3(1, 2, 3) == 3 ? 0 : 1; }
2396 cc_check
-O2 -mstackrealign && tmp_run
&& cflags_stackrealign
=-mstackrealign
2397 test -z "$cflags_stackrealign" && cc_check
-O2 -mstackrealign -fno-unit-at-a-time \
2398 && tmp_run
&& cflags_stackrealign
="-mstackrealign -fno-unit-at-a-time"
2399 test -n "$cflags_stackrealign" && echores
"yes" || echores
"no"
2400 fi # if darwin && test "$cc_vendor" = "gnu" ; then
2403 # Checking for CFLAGS
2405 if test "$_profile" != "" ||
test "$_debug" != "" ; then
2406 CFLAGS
="-O2 $_march $_mcpu $_pipe $_debug $_profile"
2407 WARNFLAGS
="-W -Wall"
2409 elif test -z "$CFLAGS" ; then
2410 if test "$cc_vendor" = "intel" ; then
2411 CFLAGS
="-O2 $_march $_mcpu $_pipe -fomit-frame-pointer"
2412 WARNFLAGS
="-wd167 -wd556 -wd144"
2413 elif test "$cc_vendor" = "sun" ; then
2414 CFLAGS
="-O2 $_march $_mcpu $_pipe -xc99 -xregs=frameptr"
2415 elif test "$cc_vendor" = "clang"; then
2416 CFLAGS
="-O2 $_march $_pipe"
2417 elif test "$cc_vendor" != "gnu" ; then
2418 CFLAGS
="-O2 $_march $_mcpu $_pipe"
2420 CFLAGS
="-O2 $_march $_mcpu $_pipe -ffast-math -fomit-frame-pointer"
2421 WARNFLAGS
="-Wall -Wno-switch -Wno-parentheses -Wpointer-arith -Wredundant-decls"
2422 extra_ldflags
="$extra_ldflags -ffast-math"
2428 if test "$cc_vendor" = "gnu" ; then
2429 cflag_check
-Wundef && WARNFLAGS
="-Wundef $WARNFLAGS"
2430 # -std=gnu99 is not a warning flag but is placed in WARN_CFLAGS because
2431 # that's the only variable specific to C now, and this option is not valid
2433 cflag_check
-std=gnu99
&& WARN_CFLAGS
="-std=gnu99 $WARN_CFLAGS"
2434 cflag_check
-Wno-pointer-sign && WARN_CFLAGS
="-Wno-pointer-sign $WARN_CFLAGS"
2435 cflag_check
-Wdisabled-optimization && WARN_CFLAGS
="-Wdisabled-optimization $WARN_CFLAGS"
2436 cflag_check
-Wmissing-prototypes && WARN_CFLAGS
="-Wmissing-prototypes $WARN_CFLAGS"
2437 cflag_check
-Wstrict-prototypes && WARN_CFLAGS
="-Wstrict-prototypes $WARN_CFLAGS"
2439 CFLAGS
="-D_ISOC99_SOURCE -D_BSD_SOURCE $CFLAGS"
2442 cflag_check
-mno-omit-leaf-frame-pointer && cflags_no_omit_leaf_frame_pointer
="-mno-omit-leaf-frame-pointer"
2443 cflag_check
-MD -MP && DEPFLAGS
="-MD -MP"
2446 if test -n "$LDFLAGS" ; then
2447 extra_ldflags
="$extra_ldflags $LDFLAGS"
2449 elif test "$cc_vendor" = "intel" ; then
2450 extra_ldflags
="$extra_ldflags -i-static"
2452 if test -n "$CPPFLAGS" ; then
2453 extra_cflags
="$extra_cflags $CPPFLAGS"
2460 # Checking assembler (_as) compatibility...
2461 # Added workaround for older as that reads from stdin by default - atmos
2462 as_version
=$
(echo '' |
$_as -version 2>&1 |
sed -n 's/^.*assembler \(version \)*\([0-9.]*\).*$/\2/p')
2463 echocheck
"assembler ($_as $as_version)"
2465 _pref_as_version
='2.9.1'
2467 if test "$_mmx" = yes ; then
2468 echo 'emms' >> $TMPS
2470 if test "$_3dnow" = yes ; then
2471 _pref_as_version
='2.10.1'
2472 echo 'femms' >> $TMPS
2474 if test "$_3dnowext" = yes ; then
2475 _pref_as_version
='2.10.1'
2476 echo 'pswapd %mm0, %mm0' >> $TMPS
2478 if test "$_mmxext" = yes ; then
2479 _pref_as_version
='2.10.1'
2480 echo 'movntq %mm0, (%eax)' >> $TMPS
2482 if test "$_sse" = yes ; then
2483 _pref_as_version
='2.10.1'
2484 echo 'xorps %xmm0, %xmm0' >> $TMPS
2486 #if test "$_sse2" = yes ; then
2487 # _pref_as_version='2.11'
2488 # echo 'xorpd %xmm0, %xmm0' >> $TMPS
2490 if test "$_cmov" = yes ; then
2491 _pref_as_version
='2.10.1'
2492 echo 'cmovb %eax, %ebx' >> $TMPS
2494 if test "$_ssse3" = yes ; then
2495 _pref_as_version
='2.16.92'
2496 echo 'pabsd %xmm0, %xmm1' >> $TMPS
2498 $_as $TMPS -o $TMPEXE > /dev
/null
2>&1 || as_verc_fail
=yes
2500 if test "$as_verc_fail" != yes ; then
2503 res_comment
="Upgrade binutils to ${_pref_as_version} or use --disable-ssse3 etc."
2505 die
"obsolete binutils version"
2515 #if !(defined(__PIC__) || defined(__pic__) || defined(PIC))
2516 #error PIC not enabled
2521 cc_check
&& pic
=yes && extra_cflags
="$extra_cflags -DPIC"
2527 echocheck
".align is a power of two"
2528 if test "$_asmalign_pot" = auto
; then
2530 inline_asm_check
'".align 3"' && _asmalign_pot
=yes
2532 if test "$_asmalign_pot" = "yes" ; then
2533 def_asmalign_pot
='#define ASMALIGN(ZEROBITS) ".align " #ZEROBITS "\n\t"'
2535 def_asmalign_pot
='#define ASMALIGN(ZEROBITS) ".align 1<<" #ZEROBITS "\n\t"'
2537 echores
$_asmalign_pot
2540 echocheck
"10 assembler operands"
2542 def_ten_operands
='#define HAVE_TEN_OPERANDS 0'
2548 :"+&rm"(x), "+&rm"(x), "+&rm"(x), "+&rm"(x), "+&rm"(x), "+&rm"(x)
2553 cc_check
&& ten_operands
=yes && def_ten_operands
='#define HAVE_TEN_OPERANDS 1'
2554 echores
$ten_operands
2556 echocheck
"ebx availability"
2558 def_ebx_available
='#define HAVE_EBX_AVAILABLE 0'
2565 // just adding ebx to clobber list seems unreliable with some
2566 // compilers, e.g. Haiku's gcc 2.95
2568 // and the above check does not work for OSX 64 bit...
2569 __asm__ volatile("":::"%ebx");
2573 cc_check
&& ebx_available
=yes && def_ebx_available
='#define HAVE_EBX_AVAILABLE 1'
2574 echores
$ebx_available
2578 if test -z "$YASMFLAGS" ; then
2580 x86_64
&& objformat
="macho64" || objformat
="macho"
2586 # currently tested for Linux x86, x86_64
2587 YASMFLAGS
="-f $objformat"
2588 x86_64
&& YASMFLAGS
="$YASMFLAGS -DARCH_X86_64 -m amd64"
2589 test "$pic" = "yes" && YASMFLAGS
="$YASMFLAGS -DPIC"
2590 case "$objformat" in
2591 elf
) test $_debug && YASMFLAGS
="$YASMFLAGS -g dwarf2" ;;
2592 *) YASMFLAGS
="$YASMFLAGS -DPREFIX" ;;
2598 echo "pabsw xmm0, xmm0" > $TMPS
2599 yasm_check || _yasm
=""
2600 if test $_yasm ; then
2601 def_yasm
='#define HAVE_YASM 1'
2605 def_yasm
='#define HAVE_YASM 0'
2611 def_bswap
='#define HAVE_BSWAP 0'
2612 echo 'bswap %eax' > $TMPS
2613 $_as $TMPS -o $TMPEXE > /dev
/null
2>&1 && def_bswap
='#define HAVE_BSWAP 1' && bswap
=yes || bswap
=no
2618 #FIXME: This should happen before the check for CFLAGS..
2619 def_altivec_h
='#define HAVE_ALTIVEC_H 0'
2620 if ppc
&& ( test "$_altivec" = yes ||
test "$_runtime_cpudetection" = yes ) ; then
2622 # check if AltiVec is supported by the compiler, and how to enable it
2623 echocheck
"GCC AltiVec flags"
2624 if $
(cflag_check
-maltivec -mabi=altivec
) ; then
2625 _altivec_gcc_flags
="-maltivec -mabi=altivec"
2626 # check if <altivec.h> should be included
2627 if $
(header_check altivec.h
$_altivec_gcc_flags) ; then
2628 def_altivec_h
='#define HAVE_ALTIVEC_H 1'
2629 inc_altivec_h
='#include <altivec.h>'
2631 if $
(cflag_check
-faltivec) ; then
2632 _altivec_gcc_flags
="-faltivec"
2635 _altivec_gcc_flags
="none, AltiVec disabled"
2639 echores
"$_altivec_gcc_flags"
2641 # check if the compiler supports braces for vector declarations
2644 int main(void) { (vector int) {1}; return 0; }
2646 cc_check
$_altivec_gcc_flags || die
"You need a compiler that supports {} in AltiVec vector declarations."
2648 # Disable runtime cpudetection if we cannot generate AltiVec code or
2649 # AltiVec is disabled by the user.
2650 test "$_runtime_cpudetection" = yes && test "$_altivec" = no \
2651 && _runtime_cpudetection
=no
2653 # Show that we are optimizing for AltiVec (if enabled and supported).
2654 test "$_runtime_cpudetection" = no
&& test "$_altivec" = yes \
2655 && _optimizing
="$_optimizing altivec"
2657 # If AltiVec is enabled, make sure the correct flags turn up in CFLAGS.
2658 test "$_altivec" = yes && CFLAGS
="$CFLAGS $_altivec_gcc_flags"
2662 def_xform_asm
='#define HAVE_XFORM_ASM 0'
2664 echocheck
"XFORM ASM support"
2665 inline_asm_check
'"lwzx %1, %y0" :: "Z"(*(int*)0), "r"(0)' &&
2666 xform_asm
=yes && def_xform_asm
='#define HAVE_XFORM_ASM 1'
2667 echores
"$xform_asm"
2671 echocheck
"ARM pld instruction"
2673 inline_asm_check
'"pld [r0]"' && pld
=yes
2676 echocheck
"ARMv5TE (Enhanced DSP Extensions)"
2677 if test $_armv5te = "auto" ; then
2679 inline_asm_check
'"qadd r0, r0, r0"' && _armv5te
=yes
2683 test $_armv5te = "yes" && test $_fast_clz = "auto" && _fast_clz
=yes
2685 echocheck
"ARMv6 (SIMD instructions)"
2686 if test $_armv6 = "auto" ; then
2688 inline_asm_check
'"sadd16 r0, r0, r0"' && _armv6
=yes
2692 echocheck
"ARMv6t2 (SIMD instructions)"
2693 if test $_armv6t2 = "auto" ; then
2695 inline_asm_check
'"movt r0, #0"' && _armv6t2
=yes
2700 if test $_armvfp = "auto" ; then
2702 inline_asm_check
'"fadds s0, s0, s0"' && _armvfp
=yes
2706 echocheck
"ARM NEON"
2707 if test $neon = "auto" ; then
2709 inline_asm_check
'"vadd.i16 q0, q0, q0"' && neon
=yes
2713 echocheck
"iWMMXt (Intel XScale SIMD instructions)"
2714 if test $_iwmmxt = "auto" ; then
2716 inline_asm_check
'"wunpckelub wr6, wr4"' && _iwmmxt
=yes
2721 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'
2722 test "$_altivec" = yes && cpuexts
="ALTIVEC $cpuexts"
2723 test "$_mmx" = yes && cpuexts
="MMX $cpuexts"
2724 test "$_mmxext" = yes && cpuexts
="MMX2 $cpuexts"
2725 test "$_3dnow" = yes && cpuexts
="AMD3DNOW $cpuexts"
2726 test "$_3dnowext" = yes && cpuexts
="AMD3DNOWEXT $cpuexts"
2727 test "$_sse" = yes && cpuexts
="SSE $cpuexts"
2728 test "$_sse2" = yes && cpuexts
="SSE2 $cpuexts"
2729 test "$_ssse3" = yes && cpuexts
="SSSE3 $cpuexts"
2730 test "$_cmov" = yes && cpuexts
="CMOV $cpuexts"
2731 test "$_fast_cmov" = yes && cpuexts
="FAST_CMOV $cpuexts"
2732 test "$_fast_clz" = yes && cpuexts
="FAST_CLZ $cpuexts"
2733 test "$pld" = yes && cpuexts
="PLD $cpuexts"
2734 test "$_armv5te" = yes && cpuexts
="ARMV5TE $cpuexts"
2735 test "$_armv6" = yes && cpuexts
="ARMV6 $cpuexts"
2736 test "$_armv6t2" = yes && cpuexts
="ARMV6T2 $cpuexts"
2737 test "$_armvfp" = yes && cpuexts
="ARMVFP $cpuexts"
2738 test "$neon" = yes && cpuexts
="NEON $cpuexts"
2739 test "$_iwmmxt" = yes && cpuexts
="IWMMXT $cpuexts"
2740 test "$_vis" = yes && cpuexts
="VIS $cpuexts"
2741 test "$_mvi" = yes && cpuexts
="MVI $cpuexts"
2743 # Checking kernel version...
2744 if x86_32
&& linux
; then
2746 kernel_version
=$
(uname
-r 2>&1)
2747 echocheck
"$system_name kernel version"
2748 case "$kernel_version" in
2749 '') kernel_version
="?.??"; _k_verc_fail
=yes;;
2750 [0-1].
[0-9].
[0-9]*|
2.
[0-3].
[0-9]*)
2751 _k_verc_problem
=yes;;
2753 if test "$_k_verc_problem" = yes && test "$_sse" = yes ; then
2756 if test "$_k_verc_fail" ; then
2757 echores
"$kernel_version, fail"
2758 echo "WARNING! If you want to run MPlayer on this system, get prepared for problems!"
2759 echo "2.2.x has limited SSE support. Upgrade the kernel or use --disable-sse if you"
2760 echo "experience crashes. MPlayer tries to autodetect if your kernel correctly"
2761 echo "supports SSE, but you have been warned! If you are using a kernel older than"
2762 echo "2.2.x you must upgrade it to get SSE support!"
2763 # die "Your kernel is too old for this CPU." # works fine on some 2.2.x so don't die (later check will test)
2765 echores
"$kernel_version, ok"
2769 ######################
2770 # MAIN TESTS GO HERE #
2771 ######################
2775 if cflag_check
-lposix ; then
2776 extra_ldflags
="$extra_ldflags -lposix"
2783 if cflag_check
-lm ; then
2792 echocheck
"langinfo"
2793 if test "$_langinfo" = auto
; then
2795 statement_check langinfo.h
'nl_langinfo(CODESET)' && _langinfo
=yes
2797 if test "$_langinfo" = yes ; then
2798 def_langinfo
='#define HAVE_LANGINFO 1'
2800 def_langinfo
='#undef HAVE_LANGINFO'
2802 echores
"$_langinfo"
2805 echocheck
"translation support"
2806 if test "$_translation" = yes; then
2807 def_translation
="#define CONFIG_TRANSLATION 1"
2809 def_translation
="#undef CONFIG_TRANSLATION"
2811 echores
"$_translation"
2813 echocheck
"language"
2814 # Set preferred languages, "all" uses English as main language.
2815 test -z "$language" && language
=$LINGUAS
2816 test -z "$language_doc" && language_doc
=$language
2817 test -z "$language_man" && language_man
=$language
2818 test -z "$language_msg" && language_msg
="all"
2819 language_doc
=$
(echo $language_doc |
tr , " ")
2820 language_man
=$
(echo $language_man |
tr , " ")
2821 language_msg
=$
(echo $language_msg |
tr , " ")
2823 test "$language_doc" = "all" && language_doc
=$doc_lang_all
2824 test "$language_man" = "all" && language_man
=$man_lang_all
2825 test "$language_msg" = "all" && language_msg
=$msg_lang_all
2827 if test "$_translation" != yes ; then
2831 # Prune non-existing translations from language lists.
2832 # Set message translation to the first available language.
2833 # Fall back on English.
2834 for lang
in $language_doc ; do
2835 test -d DOCS
/xml
/$lang && tmp_language_doc
="$tmp_language_doc $lang"
2837 language_doc
=$tmp_language_doc
2838 test -z "$language_doc" && language_doc
=en
2840 for lang
in $language_man ; do
2841 test -d DOCS
/man
/$lang && tmp_language_man
="$tmp_language_man $lang"
2843 language_man
=$tmp_language_man
2844 test -z "$language_man" && language_man
=en
2846 for lang
in $language_msg ; do
2847 test -f po
/$lang.po
&& tmp_language_msg
="$tmp_language_msg $lang"
2849 language_msg
=$tmp_language_msg
2851 echores
"messages (en+): $language_msg - man pages: $language_man - documentation: $language_doc"
2854 echocheck
"enable sighandler"
2855 if test "$_sighandler" = yes ; then
2856 def_sighandler
='#define CONFIG_SIGHANDLER 1'
2858 def_sighandler
='#undef CONFIG_SIGHANDLER'
2860 echores
"$_sighandler"
2862 echocheck
"runtime cpudetection"
2863 if test "$_runtime_cpudetection" = yes ; then
2864 _optimizing
="Runtime CPU-Detection enabled"
2865 def_runtime_cpudetection
='#define CONFIG_RUNTIME_CPUDETECT 1'
2867 def_runtime_cpudetection
='#define CONFIG_RUNTIME_CPUDETECT 0'
2869 echores
"$_runtime_cpudetection"
2872 echocheck
"restrict keyword"
2873 for restrict_keyword
in restrict __restrict __restrict__
; do
2874 echo "void foo(char * $restrict_keyword p); int main(void) { return 0; }" > $TMPC
2876 def_restrict_keyword
=$restrict_keyword
2880 if [ -n "$def_restrict_keyword" ]; then
2881 echores
"$def_restrict_keyword"
2885 # Avoid infinite recursion loop ("#define restrict restrict")
2886 if [ "$def_restrict_keyword" != "restrict" ]; then
2887 def_restrict_keyword
="#define restrict $def_restrict_keyword"
2889 def_restrict_keyword
=""
2893 echocheck
"__builtin_expect"
2894 # GCC branch prediction hint
2896 static int foo(int a) {
2897 a = __builtin_expect(a, 10);
2898 return a == 10 ? 0 : 1;
2900 int main(void) { return foo(10) && foo(0); }
2903 cc_check
&& _builtin_expect
=yes
2904 if test "$_builtin_expect" = yes ; then
2905 def_builtin_expect
='#define HAVE_BUILTIN_EXPECT 1'
2907 def_builtin_expect
='#undef HAVE_BUILTIN_EXPECT'
2909 echores
"$_builtin_expect"
2914 statement_check kstat.h
'kstat_open()' -lkstat && _kstat
=yes
2915 if test "$_kstat" = yes ; then
2916 def_kstat
="#define HAVE_LIBKSTAT 1"
2917 extra_ldflags
="$extra_ldflags -lkstat"
2919 def_kstat
="#undef HAVE_LIBKSTAT"
2925 # required for nanosleep on some systems
2927 statement_check
time.h
'nanosleep(0, 0)' -lposix4 && _posix4
=yes
2928 if test "$_posix4" = yes ; then
2929 extra_ldflags
="$extra_ldflags -lposix4"
2933 for func
in exp2 exp2f llrint log2 log2f lrint lrintf round roundf truncf
; do
2936 statement_check math.h
"${func}(2.0)" -D_ISOC99_SOURCE $_ld_lm && eval _
$func=yes
2937 if eval test "x\$_$func" = "xyes"; then
2938 eval def_
$func="\"#define HAVE_$(echo $func | tr '[a-z]' '[A-Z]') 1\""
2941 eval def_
$func="\"#define HAVE_$(echo $func | tr '[a-z]' '[A-Z]') 0\""
2949 #define _XOPEN_SOURCE 500
2951 int main(void) { mkstemp(""); return 0; }
2954 cc_check
&& _mkstemp
=yes
2955 if test "$_mkstemp" = yes ; then
2956 def_mkstemp
='#define HAVE_MKSTEMP 1'
2958 def_mkstemp
='#define HAVE_MKSTEMP 0'
2963 echocheck
"nanosleep"
2965 statement_check
time.h
'nanosleep(0, 0)' && _nanosleep
=yes
2966 if test "$_nanosleep" = yes ; then
2967 def_nanosleep
='#define HAVE_NANOSLEEP 1'
2969 def_nanosleep
='#undef HAVE_NANOSLEEP'
2971 echores
"$_nanosleep"
2975 # for Solaris (socket stuff is in -lsocket, gethostbyname and friends in -lnsl):
2976 # for BeOS (socket stuff is in -lsocket, gethostbyname and friends in -lbind):
2979 #include <sys/socket.h>
2980 int main(void) { gethostbyname(0); socket(AF_INET, SOCK_STREAM, 0); return 0; }
2983 for _ld_tmp
in "" "-lsocket -lbind" "-lsocket -ldnet" "-lsocket -lnsl" "-lnsl" "-lsocket" ; do
2984 cc_check
$_ld_tmp && _ld_sock
="$_ld_tmp" && _socklib
=yes && break
2986 test $_socklib = yes && test $_winsock2_h = auto
&& _winsock2_h
=no
2987 if test $_winsock2_h = auto
; then
2989 statement_check winsock2.h
'gethostbyname(0)' -lws2_32 && _ld_sock
="-lws2_32" && _winsock2_h
=yes
2991 test "$_ld_sock" && res_comment
="using $_ld_sock"
2995 if test $_winsock2_h = yes ; then
2997 def_winsock2_h
='#define HAVE_WINSOCK2_H 1'
2999 def_winsock2_h
='#define HAVE_WINSOCK2_H 0'
3003 echocheck
"arpa/inet.h"
3005 def_arpa_inet_h
='#define HAVE_ARPA_INET_H 0'
3006 header_check arpa
/inet.h
&& arpa_inet_h
=yes &&
3007 def_arpa_inet_h
='#define HAVE_ARPA_INET_H 1'
3008 echores
"$arpa_inet_h"
3011 echocheck
"inet_pton()"
3012 def_inet_pton
='#define HAVE_INET_PTON 0'
3014 for _ld_tmp
in "$_ld_sock" "$_ld_sock -lresolv" ; do
3015 statement_check arpa
/inet.h
'inet_pton(0, 0, 0)' $_ld_tmp && inet_pton
=yes && break
3017 if test $inet_pton = yes ; then
3018 test "$_ld_tmp" && res_comment
="using $_ld_tmp"
3019 def_inet_pton
='#define HAVE_INET_PTON 1'
3021 echores
"$inet_pton"
3024 echocheck
"inet_aton()"
3025 def_inet_aton
='#define HAVE_INET_ATON 0'
3027 for _ld_tmp
in "$_ld_sock" "$_ld_sock -lresolv" ; do
3028 statement_check arpa
/inet.h
'inet_aton(0, 0)' $_ld_tmp && inet_aton
=yes && break
3030 if test $inet_aton = yes ; then
3031 test "$_ld_tmp" && res_comment
="using $_ld_tmp"
3032 def_inet_aton
='#define HAVE_INET_ATON 1'
3034 echores
"$inet_aton"
3037 echocheck
"socklen_t"
3039 for header
in "sys/socket.h" "ws2tcpip.h" "sys/types.h" ; do
3040 statement_check
$header 'socklen_t v = 0' && _socklen_t
=yes && break
3042 if test "$_socklen_t" = yes ; then
3043 def_socklen_t
='#define HAVE_SOCKLEN_T 1'
3045 def_socklen_t
='#define HAVE_SOCKLEN_T 0'
3047 echores
"$_socklen_t"
3050 echocheck
"closesocket()"
3052 statement_check winsock2.h
'closesocket(~0)' $_ld_sock && _closesocket
=yes
3053 if test "$_closesocket" = yes ; then
3054 def_closesocket
='#define HAVE_CLOSESOCKET 1'
3056 def_closesocket
='#define HAVE_CLOSESOCKET 0'
3058 echores
"$_closesocket"
3061 echocheck
"networking"
3062 test $_winsock2_h = no
&& test $inet_pton = no
&&
3063 test $inet_aton = no
&& networking
=no
3064 if test "$networking" = yes ; then
3065 def_network
='#define CONFIG_NETWORK 1'
3066 def_networking
='#define CONFIG_NETWORKING 1'
3067 extra_ldflags
="$extra_ldflags $_ld_sock"
3068 inputmodules
="networking $inputmodules"
3070 noinputmodules
="networking $noinputmodules"
3071 def_network
='#define CONFIG_NETWORK 0'
3072 def_networking
='#undef CONFIG_NETWORKING'
3074 echores
"$networking"
3078 if test "$_inet6" = auto
; then
3080 #include <sys/types.h>
3081 #if !defined(_WIN32) || defined(__CYGWIN__)
3082 #include <sys/socket.h>
3083 #include <netinet/in.h>
3085 #include <ws2tcpip.h>
3087 int main(void) { struct sockaddr_in6 six; socket(AF_INET6, SOCK_STREAM, AF_INET6); return 0; }
3090 if cc_check
$_ld_sock ; then
3094 if test "$_inet6" = yes ; then
3095 def_inet6
='#define HAVE_AF_INET6 1'
3097 def_inet6
='#undef HAVE_AF_INET6'
3102 echocheck
"gethostbyname2"
3103 if test "$_gethostbyname2" = auto
; then
3105 #include <sys/types.h>
3106 #include <sys/socket.h>
3108 int main(void) { gethostbyname2("", AF_INET); return 0; }
3115 if test "$_gethostbyname2" = yes ; then
3116 def_gethostbyname2
='#define HAVE_GETHOSTBYNAME2 1'
3118 def_gethostbyname2
='#undef HAVE_GETHOSTBYNAME2'
3120 echores
"$_gethostbyname2"
3123 echocheck
"inttypes.h (required)"
3125 header_check inttypes.h
&& _inttypes
=yes
3126 echores
"$_inttypes"
3128 if test "$_inttypes" = no
; then
3129 echocheck
"sys/bitypes.h (inttypes.h predecessor)"
3130 header_check sys
/bitypes.h
&& _inttypes
=yes
3131 if test "$_inttypes" = yes ; then
3132 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."
3134 die
"Cannot find header either inttypes.h or bitypes.h. There is no chance for compilation to succeed."
3139 echocheck
"int_fastXY_t in inttypes.h"
3141 #include <inttypes.h>
3142 int main(void) { volatile int_fast16_t v = 0; return v; }
3145 cc_check
&& _fast_inttypes
=yes
3146 if test "$_fast_inttypes" = no
; then
3148 typedef signed char int_fast8_t;
3149 typedef signed int int_fast16_t;
3150 typedef signed int int_fast32_t;
3151 typedef signed long long int_fast64_t;
3152 typedef unsigned char uint_fast8_t;
3153 typedef unsigned int uint_fast16_t;
3154 typedef unsigned int uint_fast32_t;
3155 typedef unsigned long long uint_fast64_t;'
3157 echores
"$_fast_inttypes"
3160 echocheck
"malloc.h"
3162 header_check malloc.h
&& _malloc
=yes
3163 if test "$_malloc" = yes ; then
3164 def_malloc_h
='#define HAVE_MALLOC_H 1'
3166 def_malloc_h
='#define HAVE_MALLOC_H 0'
3171 echocheck
"memalign()"
3172 # XXX restrict to x86 ? extend to other CPUs/cacheline sizes ?
3173 def_memalign_hack
='#define CONFIG_MEMALIGN_HACK 0'
3175 statement_check malloc.h
'memalign(64, sizeof(char))' && _memalign
=yes
3176 if test "$_memalign" = yes ; then
3177 def_memalign
='#define HAVE_MEMALIGN 1'
3179 def_memalign
='#define HAVE_MEMALIGN 0'
3180 def_map_memalign
='#define memalign(a, b) malloc(b)'
3181 darwin || def_memalign_hack
='#define CONFIG_MEMALIGN_HACK 1'
3183 echores
"$_memalign"
3186 echocheck
"posix_memalign()"
3188 def_posix_memalign
='#define HAVE_POSIX_MEMALIGN 0'
3190 #define _XOPEN_SOURCE 600
3192 int main(void) { posix_memalign(NULL, 0, 0); }
3194 cc_check
&& posix_memalign
=yes && def_posix_memalign
='#define HAVE_POSIX_MEMALIGN 1'
3195 echores
"$posix_memalign"
3198 echocheck
"alloca.h"
3200 statement_check alloca.h
'alloca(0)' && _alloca
=yes
3202 def_alloca_h
='#define HAVE_ALLOCA_H 1'
3204 def_alloca_h
='#undef HAVE_ALLOCA_H'
3209 echocheck
"fastmemcpy"
3210 if test "$_fastmemcpy" = yes ; then
3211 def_fastmemcpy
='#define CONFIG_FASTMEMCPY 1'
3213 def_fastmemcpy
='#undef CONFIG_FASTMEMCPY'
3215 echores
"$_fastmemcpy"
3220 statement_check sys
/mman.h
'mmap(0, 0, 0, 0, 0, 0)' && _mman
=yes
3221 if test "$_mman" = yes ; then
3222 def_mman_h
='#define HAVE_SYS_MMAN_H 1'
3224 def_mman_h
='#undef HAVE_SYS_MMAN_H'
3225 os2
&& _need_mmap
=yes
3229 _mman_has_map_failed
=no
3230 statement_check sys
/mman.h
'void *p = MAP_FAILED' && _mman_has_map_failed
=yes
3231 if test "$_mman_has_map_failed" = yes ; then
3232 def_mman_has_map_failed
=''
3234 def_mman_has_map_failed
='#define MAP_FAILED ((void *) -1)'
3237 echocheck
"dynamic loader"
3239 for _ld_tmp
in "" "-ldl"; do
3240 statement_check dlfcn.h
'dlopen("", 0)' $_ld_tmp && _ld_dl
="$_ld_tmp" && _dl
=yes && break
3242 if test "$_dl" = yes ; then
3243 def_dl
='#define HAVE_LIBDL 1'
3245 def_dl
='#undef HAVE_LIBDL'
3250 echocheck
"dynamic a/v plugins support"
3251 if test "$_dl" = no
; then
3254 if test "$_dynamic_plugins" = yes ; then
3255 def_dynamic_plugins
='#define CONFIG_DYNAMIC_PLUGINS 1'
3257 def_dynamic_plugins
='#undef CONFIG_DYNAMIC_PLUGINS'
3259 echores
"$_dynamic_plugins"
3262 def_threads
='#define HAVE_THREADS 0'
3266 THREAD_CFLAGS
=-D_REENTRANT
3267 elif freebsd || netbsd || openbsd || bsdos
; then
3268 THREAD_CFLAGS
=-D_THREAD_SAFE
3270 if test "$_pthreads" = auto
; then
3272 #include <pthread.h>
3273 static void *func(void *arg) { return arg; }
3274 int main(void) { pthread_t tid; return pthread_create(&tid, 0, func, 0) == 0 ? 0 : 1; }
3278 for _ld_tmp
in "-lpthreadGC2" "" "-lpthread" "-pthread" ; do
3279 # for crosscompilation, we cannot execute the program, be happy if we can link statically
3280 cc_check
$THREAD_CFLAGS $_ld_tmp && (tmp_run ||
test "$_ld_static") && _ld_pthread
="$_ld_tmp" && _pthreads
=yes && break
3284 if test "$_pthreads" = yes ; then
3285 test $_ld_pthread && res_comment
="using $_ld_pthread"
3286 def_pthreads
='#define HAVE_PTHREADS 1'
3287 def_threads
='#define HAVE_THREADS 1'
3288 extra_cflags
="$extra_cflags $THREAD_CFLAGS"
3290 res_comment
="v4l, v4l2, ao_nas, win32 loader disabled"
3291 def_pthreads
='#undef HAVE_PTHREADS'
3292 _nas
=no
; _tv_v4l1
=no
; _tv_v4l2
=no
3293 mingw32 || _win32dll
=no
3295 echores
"$_pthreads"
3298 if test "$_pthreads" = yes ; then
3299 def_pthread_cache
="#define PTHREAD_CACHE 1"
3302 def_stream_cache
="#undef CONFIG_STREAM_CACHE"
3306 echocheck
"w32threads"
3307 if test "$_pthreads" = yes ; then
3308 res_comment
="using pthread instead"
3311 if test "$_w32threads" = auto
; then
3313 mingw32
&& _w32threads
=yes
3315 test "$_w32threads" = yes && def_threads
='#define HAVE_THREADS 1'
3316 echores
"$_w32threads"
3319 if test "$_rpath" = yes ; then
3320 for I
in $
(echo $extra_ldflags |
sed 's/-L//g') ; do
3321 tmp
="$tmp $(echo $I | sed 's/.*/ -L& -Wl,-R&/')"
3328 if test "$_iconv" = auto
; then
3333 #define INBUFSIZE 1024
3334 #define OUTBUFSIZE 4096
3336 char inbuffer[INBUFSIZE];
3337 char outbuffer[OUTBUFSIZE];
3342 char *tocode="UTF-8";
3343 char *fromcode="cp1250";
3344 if ((icdsc = iconv_open(tocode, fromcode)) != (iconv_t)(-1)) {
3345 while ((numread = read(0, inbuffer, INBUFSIZE))) {
3346 char *iptr=inbuffer;
3347 char *optr=outbuffer;
3348 size_t inleft=numread;
3349 size_t outleft=OUTBUFSIZE;
3350 if (iconv(icdsc, &iptr, &inleft, &optr, &outleft)
3352 write(1, outbuffer, OUTBUFSIZE - outleft);
3355 if (iconv_close(icdsc) == -1)
3362 for _ld_tmp
in "" "-liconv" "-liconv $_ld_dl" ; do
3363 cc_check
$_ld_lm $_ld_tmp && extra_ldflags
="$extra_ldflags $_ld_tmp" && \
3367 if test "$_iconv" = yes ; then
3368 def_iconv
='#define CONFIG_ICONV 1'
3370 def_iconv
='#undef CONFIG_ICONV'
3375 echocheck
"soundcard.h"
3377 def_soundcard_h
='#undef HAVE_SOUNDCARD_H'
3378 def_sys_soundcard_h
='#undef HAVE_SYS_SOUNDCARD_H'
3379 for _soundcard_header
in "sys/soundcard.h" "soundcard.h"; do
3380 header_check
$_soundcard_header && _soundcard_h
=yes &&
3381 res_comment
="$_soundcard_header" && break
3384 if test "$_soundcard_h" = yes ; then
3385 if test $_soundcard_header = "sys/soundcard.h"; then
3386 def_sys_soundcard_h
='#define HAVE_SYS_SOUNDCARD_H 1'
3388 def_soundcard_h
='#define HAVE_SOUNDCARD_H 1'
3391 echores
"$_soundcard_h"
3394 echocheck
"sys/dvdio.h"
3396 # FreeBSD 8.1 has broken dvdio.h
3397 header_check_broken sys
/types.h sys
/dvdio.h
&& _dvdio
=yes
3398 if test "$_dvdio" = yes ; then
3399 def_dvdio
='#define DVD_STRUCT_IN_SYS_DVDIO_H 1'
3401 def_dvdio
='#undef DVD_STRUCT_IN_SYS_DVDIO_H'
3406 echocheck
"sys/cdio.h"
3408 # at least OpenSolaris has a broken cdio.h
3409 header_check_broken sys
/types.h sys
/cdio.h
&& _cdio
=yes
3410 if test "$_cdio" = yes ; then
3411 def_cdio
='#define DVD_STRUCT_IN_SYS_CDIO_H 1'
3413 def_cdio
='#undef DVD_STRUCT_IN_SYS_CDIO_H'
3418 echocheck
"linux/cdrom.h"
3420 header_check linux
/cdrom.h
&& _cdrom
=yes
3421 if test "$_cdrom" = yes ; then
3422 def_cdrom
='#define DVD_STRUCT_IN_LINUX_CDROM_H 1'
3424 def_cdrom
='#undef DVD_STRUCT_IN_LINUX_CDROM_H'
3431 header_check dvd.h
&& _dvd
=yes
3432 if test "$_dvd" = yes ; then
3433 def_dvd
='#define DVD_STRUCT_IN_DVD_H 1'
3435 def_dvd
='#undef DVD_STRUCT_IN_DVD_H'
3441 echocheck
"BSDI dvd.h"
3443 header_check dvd.h
&& _bsdi_dvd
=yes
3444 if test "$_bsdi_dvd" = yes ; then
3445 def_bsdi_dvd
='#define DVD_STRUCT_IN_BSDI_DVDIOCTL_DVD_H 1'
3447 def_bsdi_dvd
='#undef DVD_STRUCT_IN_BSDI_DVDIOCTL_DVD_H'
3449 echores
"$_bsdi_dvd"
3454 # also used by AIX, but AIX does not support VCD and/or libdvdread
3455 echocheck
"HP-UX SCSI header"
3457 header_check sys
/scsi.h
&& _hpux_scsi_h
=yes
3458 if test "$_hpux_scsi_h" = yes ; then
3459 def_hpux_scsi_h
='#define HPUX_SCTL_IO 1'
3461 def_hpux_scsi_h
='#undef HPUX_SCTL_IO'
3463 echores
"$_hpux_scsi_h"
3468 echocheck
"userspace SCSI headers (Solaris)"
3470 header_check sys
/scsi
/scsi_types.h
&&
3471 header_check_broken sys
/types.h sys
/scsi
/impl
/uscsi.h
&&
3473 if test "$_sol_scsi_h" = yes ; then
3474 def_sol_scsi_h
='#define SOLARIS_USCSI 1'
3476 def_sol_scsi_h
='#undef SOLARIS_USCSI'
3478 echores
"$_sol_scsi_h"
3483 if test "$_termcap" = auto
; then
3485 for _ld_tmp
in "-lncurses" "-ltinfo" "-ltermcap"; do
3486 statement_check term.h
'tgetent(0, 0)' $_ld_tmp &&
3487 extra_ldflags
="$extra_ldflags $_ld_tmp" && _termcap
=yes && break
3490 if test "$_termcap" = yes ; then
3491 def_termcap
='#define HAVE_TERMCAP 1'
3492 test $_ld_tmp && res_comment
="using $_ld_tmp"
3494 def_termcap
='#undef HAVE_TERMCAP'
3500 def_termios
='#undef HAVE_TERMIOS'
3501 def_termios_h
='#undef HAVE_TERMIOS_H'
3502 def_termios_sys_h
='#undef HAVE_SYS_TERMIOS_H'
3503 if test "$_termios" = auto
; then
3505 for _termios_header
in "termios.h" "sys/termios.h"; do
3506 header_check
$_termios_header && _termios
=yes &&
3507 res_comment
="using $_termios_header" && break
3511 if test "$_termios" = yes ; then
3512 def_termios
='#define HAVE_TERMIOS 1'
3513 if test "$_termios_header" = "termios.h" ; then
3514 def_termios_h
='#define HAVE_TERMIOS_H 1'
3516 def_termios_sys_h
='#define HAVE_SYS_TERMIOS_H 1'
3523 if test "$_shm" = auto
; then
3525 #include <sys/shm.h>
3526 int main(void) { shmget(0, 0, 0); shmat(0, 0, 0); shmctl(0, 0, 0); return 0; }
3529 cc_check
&& _shm
=yes
3531 if test "$_shm" = yes ; then
3532 def_shm
='#define HAVE_SHM 1'
3534 def_shm
='#undef HAVE_SHM'
3539 echocheck
"strsep()"
3542 int main(void) { char *s = "Hello, world!"; strsep(&s, ","); return 0; }
3545 cc_check
&& _strsep
=yes
3546 if test "$_strsep" = yes ; then
3547 def_strsep
='#define HAVE_STRSEP 1'
3550 def_strsep
='#undef HAVE_STRSEP'
3556 echocheck
"vsscanf()"
3558 #define _ISOC99_SOURCE
3561 int main(void) { va_list ap; vsscanf("foo", "bar", ap); return 0; }
3564 cc_check
&& _vsscanf
=yes
3565 if test "$_vsscanf" = yes ; then
3566 def_vsscanf
='#define HAVE_VSSCANF 1'
3569 def_vsscanf
='#undef HAVE_VSSCANF'
3577 #define _XOPEN_SOURCE 600
3579 int main(void) { int a, b; swab(&a, &b, 0); return 0; }
3582 cc_check
&& _swab
=yes
3583 if test "$_swab" = yes ; then
3584 def_swab
='#define HAVE_SWAB 1'
3587 def_swab
='#undef HAVE_SWAB'
3592 echocheck
"POSIX select()"
3596 #include <sys/types.h>
3598 #include <sys/time.h>
3600 int main(void) {int nfds = 1; fd_set readfds; struct timeval timeout; select(nfds, &readfds, NULL, NULL, &timeout); return 0; }
3603 def_posix_select
='#undef HAVE_POSIX_SELECT'
3604 #select() of kLIBC (OS/2) supports socket only
3605 ! os2
&& cc_check
&& _posix_select
=yes \
3606 && def_posix_select
='#define HAVE_POSIX_SELECT 1'
3607 echores
"$_posix_select"
3610 echocheck
"audio select()"
3611 if test "$_select" = no
; then
3612 def_select
='#undef HAVE_AUDIO_SELECT'
3613 elif test "$_select" = yes ; then
3614 def_select
='#define HAVE_AUDIO_SELECT 1'
3619 echocheck
"gettimeofday()"
3621 #include <sys/time.h>
3622 int main(void) {struct timeval tv; struct timezone tz; gettimeofday(&tv, &tz); return 0; }
3625 cc_check
&& _gettimeofday
=yes
3626 if test "$_gettimeofday" = yes ; then
3627 def_gettimeofday
='#define HAVE_GETTIMEOFDAY 1'
3628 _need_gettimeofday
=no
3630 def_gettimeofday
='#undef HAVE_GETTIMEOFDAY'
3631 _need_gettimeofday
=yes
3633 echores
"$_gettimeofday"
3638 statement_check glob.h
'glob("filename", 0, 0, 0)' && _glob
=yes
3639 if test "$_glob" = yes ; then
3640 def_glob
='#define HAVE_GLOB 1'
3643 def_glob
='#undef HAVE_GLOB'
3649 echocheck
"setenv()"
3651 statement_check stdlib.h
'setenv("", "", 0)' && _setenv
=yes
3652 if test "$_setenv" = yes ; then
3653 def_setenv
='#define HAVE_SETENV 1'
3656 def_setenv
='#undef HAVE_SETENV'
3662 echocheck
"setmode()"
3664 def_setmode
='#define HAVE_SETMODE 0'
3665 statement_check io.h
'setmode(0, 0)' && _setmode
=yes && def_setmode
='#define HAVE_SETMODE 1'
3670 echocheck
"sysi86()"
3672 statement_check sys
/sysi86.h
'sysi86(0)' && _sysi86
=yes
3673 if test "$_sysi86" = yes ; then
3674 def_sysi86
='#define HAVE_SYSI86 1'
3676 #include <sys/sysi86.h>
3677 int main(void) { int sysi86(int, void*); sysi86(0); return 0; }
3679 cc_check
&& def_sysi86_iv
='#define HAVE_SYSI86_iv 1'
3681 def_sysi86
='#undef HAVE_SYSI86'
3687 echocheck
"sys/sysinfo.h"
3689 #include <sys/sysinfo.h>
3690 int main(void) { struct sysinfo s_info; sysinfo(&s_info); return 0; }
3693 cc_check
&& _sys_sysinfo
=yes
3694 if test "$_sys_sysinfo" = yes ; then
3695 def_sys_sysinfo_h
='#define HAVE_SYS_SYSINFO_H 1'
3697 def_sys_sysinfo_h
='#undef HAVE_SYS_SYSINFO_H'
3699 echores
"$_sys_sysinfo"
3704 echocheck
"Mac OS X Finder Support"
3705 def_macosx_finder
='#undef CONFIG_MACOSX_FINDER'
3706 if test "$_macosx_finder" = yes ; then
3707 def_macosx_finder
='#define CONFIG_MACOSX_FINDER 1'
3708 extra_ldflags
="$extra_ldflags -framework Carbon"
3710 echores
"$_macosx_finder"
3712 echocheck
"Mac OS X Bundle file locations"
3713 def_macosx_bundle
='#undef CONFIG_MACOSX_BUNDLE'
3714 test "$_macosx_bundle" = auto
&& _macosx_bundle
=$_macosx_finder
3715 if test "$_macosx_bundle" = yes ; then
3716 def_macosx_bundle
='#define CONFIG_MACOSX_BUNDLE 1'
3717 extra_ldflags
="$extra_ldflags -framework Carbon"
3719 echores
"$_macosx_bundle"
3721 echocheck
"Apple Remote"
3722 if test "$_apple_remote" = auto
; then
3726 #include <IOKit/IOCFPlugIn.h>
3728 io_iterator_t hidObjectIterator = (io_iterator_t)NULL;
3729 CFMutableDictionaryRef hidMatchDictionary;
3730 IOReturn ioReturnValue;
3732 // Set up a matching dictionary to search the I/O Registry by class.
3733 // name for all HID class devices
3734 hidMatchDictionary = IOServiceMatching("AppleIRController");
3736 // Now search I/O Registry for matching devices.
3737 ioReturnValue = IOServiceGetMatchingServices(kIOMasterPortDefault,
3738 hidMatchDictionary, &hidObjectIterator);
3740 // If search is unsuccessful, return nonzero.
3741 if (ioReturnValue != kIOReturnSuccess ||
3742 !IOIteratorIsValid(hidObjectIterator)) {
3748 cc_check
-framework IOKit
&& _apple_remote
=yes
3750 if test "$_apple_remote" = yes ; then
3751 def_apple_remote
='#define CONFIG_APPLE_REMOTE 1'
3752 libs_mplayer
="$libs_mplayer -framework IOKit -framework Cocoa"
3754 def_apple_remote
='#undef CONFIG_APPLE_REMOTE'
3756 echores
"$_apple_remote"
3762 echocheck
"Apple IR"
3763 if test "$_apple_ir" = auto
; then
3766 #include <linux/input.h>
3767 int main(void) { struct input_event ev; struct input_id id; return 0; }
3769 cc_check
&& _apple_ir
=yes
3771 if test "$_apple_ir" = yes ; then
3772 def_apple_ir
='#define CONFIG_APPLE_IR 1'
3774 def_apple_ir
='#undef CONFIG_APPLE_IR'
3776 echores
"$_apple_ir"
3779 echocheck
"pkg-config"
3780 _pkg_config
=pkg-config
3781 if $
($_pkg_config --version > /dev
/null
2>&1); then
3782 if test "$_ld_static"; then
3783 _pkg_config
="$_pkg_config --static"
3792 echocheck
"Samba support (libsmbclient)"
3793 if test "$_smb" = yes; then
3794 extra_ldflags
="$extra_ldflags -lsmbclient"
3796 if test "$_smb" = auto
; then
3798 for _ld_tmp
in "-lsmbclient" "-lsmbclient $_ld_dl" "-lsmbclient $_ld_dl -lnsl" "-lsmbclient $_ld_dl -lssl -lnsl" ; do
3799 statement_check libsmbclient.h
'smbc_opendir("smb://")' $_ld_tmp &&
3800 extra_ldflags
="$extra_ldflags $_ld_tmp" && _smb
=yes && break
3804 if test "$_smb" = yes; then
3805 def_smb
="#define CONFIG_LIBSMBCLIENT 1"
3806 inputmodules
="smb $inputmodules"
3808 def_smb
="#undef CONFIG_LIBSMBCLIENT"
3809 noinputmodules
="smb $noinputmodules"
3820 if test "$_tdfxfb" = yes ; then
3821 def_tdfxfb
='#define CONFIG_TDFXFB 1'
3822 vomodules
="tdfxfb $vomodules"
3824 def_tdfxfb
='#undef CONFIG_TDFXFB'
3825 novomodules
="tdfxfb $novomodules"
3830 if test "$_s3fb" = yes ; then
3831 def_s3fb
='#define CONFIG_S3FB 1'
3832 vomodules
="s3fb $vomodules"
3834 def_s3fb
='#undef CONFIG_S3FB'
3835 novomodules
="s3fb $novomodules"
3840 if test "$_wii" = yes ; then
3841 def_wii
='#define CONFIG_WII 1'
3842 vomodules
="wii $vomodules"
3844 def_wii
='#undef CONFIG_WII'
3845 novomodules
="wii $novomodules"
3850 if test "$_tdfxvid" = yes ; then
3851 def_tdfxvid
='#define CONFIG_TDFX_VID 1'
3852 vomodules
="tdfx_vid $vomodules"
3854 def_tdfxvid
='#undef CONFIG_TDFX_VID'
3855 novomodules
="tdfx_vid $novomodules"
3860 if test "$_xvr100" = auto
; then
3863 #include <sys/fbio.h>
3864 #include <sys/visual_io.h>
3866 struct vis_identifier ident;
3867 struct fbgattr attr;
3868 ioctl(0, VIS_GETIDENTIFIER, &ident);
3869 ioctl(0, FBIOGATTR, &attr);
3874 cc_check
&& _xvr100
=yes
3876 if test "$_xvr100" = yes ; then
3877 def_xvr100
='#define CONFIG_XVR100 1'
3878 vomodules
="xvr100 $vomodules"
3880 def_tdfxvid
='#undef CONFIG_XVR100'
3881 novomodules
="xvr100 $novomodules"
3886 if test "$_tga" = yes ; then
3887 def_tga
='#define CONFIG_TGA 1'
3888 vomodules
="tga $vomodules"
3890 def_tga
='#undef CONFIG_TGA'
3891 novomodules
="tga $novomodules"
3896 echocheck
"md5sum support"
3897 if test "$_md5sum" = yes; then
3898 def_md5sum
="#define CONFIG_MD5SUM 1"
3899 vomodules
="md5sum $vomodules"
3901 def_md5sum
="#undef CONFIG_MD5SUM"
3902 novomodules
="md5sum $novomodules"
3907 echocheck
"yuv4mpeg support"
3908 if test "$_yuv4mpeg" = yes; then
3909 def_yuv4mpeg
="#define CONFIG_YUV4MPEG 1"
3910 vomodules
="yuv4mpeg $vomodules"
3912 def_yuv4mpeg
="#undef CONFIG_YUV4MPEG"
3913 novomodules
="yuv4mpeg $novomodules"
3915 echores
"$_yuv4mpeg"
3919 if test "$_bl" = yes ; then
3920 def_bl
='#define CONFIG_BL 1'
3921 vomodules
="bl $vomodules"
3923 def_bl
='#undef CONFIG_BL'
3924 novomodules
="bl $novomodules"
3929 echocheck
"DirectFB"
3930 if test "$_directfb" = auto
; then
3933 #include <directfb.h>
3934 #include <directfb_version.h>
3935 #if (DIRECTFB_MAJOR_VERSION << 16 | DIRECTFB_MINOR_VERSION << 8 | DIRECTFB_MICRO_VERSION) < (0 << 16 | 9 << 8 | 22)
3936 #error "DirectFB version too old."
3938 int main(void) { DirectFBInit(0, 0); return 0; }
3940 for _inc_tmp
in "" -I/usr
/local
/include
/directfb
-I/usr
/include
/directfb
-I/usr
/local
/include
; do
3941 cc_check
$_inc_tmp -ldirectfb &&
3942 _directfb
=yes && extra_cflags
="$extra_cflags $_inc_tmp" && break
3945 if test "$_directfb" = yes ; then
3946 def_directfb
='#define CONFIG_DIRECTFB 1'
3947 vomodules
="directfb dfbmga $vomodules"
3948 libs_mplayer
="$libs_mplayer -ldirectfb"
3950 def_directfb
='#undef CONFIG_DIRECTFB'
3951 novomodules
="directfb dfbmga $novomodules"
3953 echores
"$_directfb"
3956 echocheck
"X11 headers presence"
3958 res_comment
="check if the dev(el) packages are installed"
3959 for I
in $
(echo $extra_cflags |
sed s
/-I//g
) /usr
/include
; do
3960 if test -f "$I/X11/Xlib.h" ; then
3966 if test $_cross_compile = no
; then
3967 for I
in /usr
/X11
/include
/usr
/X11R
7/include
/usr
/local
/include
/usr
/X11R
6/include \
3968 /usr
/include
/X11R6
/usr
/openwin
/include
; do
3969 if test -f "$I/X11/Xlib.h" ; then
3970 extra_cflags
="$extra_cflags -I$I"
3972 res_comment
="using $I"
3977 echores
"$_x11_headers"
3981 if test "$_x11" = auto
&& test "$_x11_headers" = yes ; then
3982 for I
in "" -L/usr
/X11R
7/lib
-L/usr
/local
/lib
-L/usr
/X11R
6/lib
-L/usr
/lib
/X11R6 \
3983 -L/usr
/X11
/lib
-L/usr
/lib32
-L/usr
/openwin
/lib
-L/usr
/local
/lib64
-L/usr
/X11R
6/lib64 \
3986 _ld_tmp
="$I -lXext -lX11 $_ld_pthread -Wl,-R$(echo $I | sed s/^-L//)"
3988 _ld_tmp
="$I -lXext -lX11 $_ld_pthread"
3990 statement_check X11
/Xutil.h
'XCreateWindow(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)' $_ld_tmp &&
3991 libs_mplayer
="$libs_mplayer $_ld_tmp" && _x11
=yes && break
3994 if test "$_x11" = yes ; then
3995 def_x11
='#define CONFIG_X11 1'
3996 vomodules
="x11 xover $vomodules"
3999 def_x11
='#undef CONFIG_X11'
4000 novomodules
="x11 $novomodules"
4001 res_comment
="check if the dev(el) packages are installed"
4002 # disable stuff that depends on X
4003 _xv
=no
; _xvmc
=no
; _xinerama
=no
; _vm
=no
; _xf86keysym
=no
; _vdpau
=no
4007 echocheck
"Xss screensaver extensions"
4008 if test "$_xss" = auto
; then
4010 #include <X11/Xlib.h>
4011 #include <X11/extensions/scrnsaver.h>
4012 int main(void) { XScreenSaverSuspend(NULL, True); return 0; }
4015 cc_check
-lXss && _xss
=yes
4017 if test "$_xss" = yes ; then
4018 def_xss
='#define CONFIG_XSS 1'
4019 libs_mplayer
="$libs_mplayer -lXss"
4021 def_xss
='#undef CONFIG_XSS'
4028 if test "$_x11" = yes ; then
4030 #include <X11/Xmd.h>
4031 #include <X11/Xlib.h>
4032 #include <X11/Xutil.h>
4033 #include <X11/Xatom.h>
4034 #include <X11/extensions/dpms.h>
4035 int main(void) { DPMSQueryExtension(0, 0, 0); return 0; }
4037 cc_check
-lXdpms && _xdpms3
=yes
4038 statement_check_broken X11
/Xlib.h X11
/extensions
/dpms.h
'DPMSQueryExtension(0, 0, 0)' -lXext && _xdpms4
=yes
4040 if test "$_xdpms4" = yes ; then
4041 def_xdpms
='#define CONFIG_XDPMS 1'
4042 res_comment
="using Xdpms 4"
4044 elif test "$_xdpms3" = yes ; then
4045 def_xdpms
='#define CONFIG_XDPMS 1'
4046 libs_mplayer
="$libs_mplayer -lXdpms"
4047 res_comment
="using Xdpms 3"
4050 def_xdpms
='#undef CONFIG_XDPMS'
4056 if test "$_xv" = auto
; then
4058 statement_check_broken X11
/Xlib.h X11
/extensions
/Xvlib.h
'XvGetPortAttribute(0, 0, 0, 0)' -lXv && _xv
=yes
4061 if test "$_xv" = yes ; then
4062 def_xv
='#define CONFIG_XV 1'
4063 libs_mplayer
="$libs_mplayer -lXv"
4064 vomodules
="xv $vomodules"
4066 def_xv
='#undef CONFIG_XV'
4067 novomodules
="xv $novomodules"
4073 if test "$_xv" = yes && test "$_xvmc" != no
; then
4076 #include <X11/Xlib.h>
4077 #include <X11/extensions/Xvlib.h>
4078 #include <X11/extensions/XvMClib.h>
4080 XvMCQueryExtension(0, 0, 0);
4081 XvMCCreateContext(0, 0, 0, 0, 0, 0, 0);
4084 for _ld_tmp
in $_xvmclib XvMCNVIDIA XvMCW I810XvMC
; do
4085 cc_check
-lXvMC -l$_ld_tmp && _xvmc
=yes && _xvmclib
="$_ld_tmp" && break
4088 if test "$_xvmc" = yes ; then
4089 def_xvmc
='#define CONFIG_XVMC 1'
4090 libs_mplayer
="$libs_mplayer -lXvMC -l$_xvmclib"
4091 vomodules
="xvmc $vomodules"
4092 res_comment
="using $_xvmclib"
4094 def_xvmc
='#define CONFIG_XVMC 0'
4095 novomodules
="xvmc $novomodules"
4101 if test "$_vdpau" = auto
; then
4103 if test "$_dl" = yes ; then
4105 #include <vdpau/vdpau_x11.h>
4107 vdp_device_create_x11(0, 0, 0, 0);
4108 return VDP_VIDEO_MIXER_FEATURE_HIGH_QUALITY_SCALING_L1; }
4110 cc_check
-lvdpau && _vdpau
=yes
4113 if test "$_vdpau" = yes ; then
4114 def_vdpau
='#define CONFIG_VDPAU 1'
4115 libs_mplayer
="$libs_mplayer -lvdpau"
4116 vomodules
="vdpau $vomodules"
4118 def_vdpau
='#define CONFIG_VDPAU 0'
4119 novomodules
="vdpau $novomodules"
4124 echocheck
"Xinerama"
4125 if test "$_xinerama" = auto
; then
4127 statement_check X11
/extensions
/Xinerama.h
'XineramaIsActive(0)' -lXinerama && _xinerama
=yes
4130 if test "$_xinerama" = yes ; then
4131 def_xinerama
='#define CONFIG_XINERAMA 1'
4132 libs_mplayer
="$libs_mplayer -lXinerama"
4134 def_xinerama
='#undef CONFIG_XINERAMA'
4136 echores
"$_xinerama"
4139 # Note: the -lXxf86vm library is the VideoMode extension and though it's not
4140 # needed for DGA, AFAIK every distribution packages together with DGA stuffs
4141 # named 'X extensions' or something similar.
4142 # This check may be useful for future mplayer versions (to change resolution)
4143 # If you run into problems, remove '-lXxf86vm'.
4145 if test "$_vm" = auto
; then
4147 statement_check_broken X11
/Xlib.h X11
/extensions
/xf86vmode.h
'XF86VidModeQueryExtension(0, 0, 0)' -lXxf86vm && _vm
=yes
4149 if test "$_vm" = yes ; then
4150 def_vm
='#define CONFIG_XF86VM 1'
4151 libs_mplayer
="$libs_mplayer -lXxf86vm"
4153 def_vm
='#undef CONFIG_XF86VM'
4157 # Check for the presence of special keycodes, like audio control buttons
4158 # that XFree86 might have. Used to be bundled with the xf86vm check, but
4159 # has nothing to do with xf86vm and XFree 3.x has xf86vm but does NOT
4160 # have these new keycodes.
4161 echocheck
"XF86keysym"
4162 if test "$_xf86keysym" = auto
; then
4165 #include <X11/XF86keysym.h>
4166 int main(void) { return XF86XK_AudioPause; }
4168 cc_check
&& _xf86keysym
=yes
4170 if test "$_xf86keysym" = yes ; then
4171 def_xf86keysym
='#define CONFIG_XF86XK 1'
4173 def_xf86keysym
='#undef CONFIG_XF86XK'
4175 echores
"$_xf86keysym"
4178 if test "$_dga2" = auto
&& test "$_x11" = yes ; then
4180 statement_check_broken X11
/Xlib.h X11
/extensions
/xf86dga.h
'XDGASetViewport(0, 0, 0, 0, 0)' -lXxf86dga && _dga2
=yes
4182 if test "$_dga1" = auto
&& test "$_dga2" = no
&& test "$_vm" = yes ; then
4184 statement_check_broken X11
/Xlib.h X11
/extensions
/xf86dga.h
'XF86DGASetViewPort(0, 0, 0, 0)' -lXxf86dga -lXxf86vm && _dga1
=yes
4188 def_dga
='#undef CONFIG_DGA'
4189 def_dga1
='#undef CONFIG_DGA1'
4190 def_dga2
='#undef CONFIG_DGA2'
4191 if test "$_dga1" = yes ; then
4193 def_dga1
='#define CONFIG_DGA1 1'
4194 res_comment
="using DGA 1.0"
4195 elif test "$_dga2" = yes ; then
4197 def_dga2
='#define CONFIG_DGA2 1'
4198 res_comment
="using DGA 2.0"
4200 if test "$_dga" = yes ; then
4201 def_dga
='#define CONFIG_DGA 1'
4202 libs_mplayer
="$libs_mplayer -lXxf86dga"
4203 vomodules
="dga $vomodules"
4205 novomodules
="dga $novomodules"
4211 if test "$_3dfx" = yes && test "$_dga" = yes ; then
4212 def_3dfx
='#define CONFIG_3DFX 1'
4213 vomodules
="3dfx $vomodules"
4215 def_3dfx
='#undef CONFIG_3DFX'
4216 novomodules
="3dfx $novomodules"
4222 def_vidix
='#undef CONFIG_VIDIX'
4223 def_vidix_drv_cyberblade
='#undef CONFIG_VIDIX_DRV_CYBERBLADE'
4224 _vidix_drv_cyberblade
=no
4225 def_vidix_drv_ivtv
='#undef CONFIG_VIDIX_DRV_IVTV'
4227 def_vidix_drv_mach64
='#undef CONFIG_VIDIX_DRV_MACH64'
4228 _vidix_drv_mach64
=no
4229 def_vidix_drv_mga
='#undef CONFIG_VIDIX_DRV_MGA'
4231 def_vidix_drv_mga_crtc2
='#undef CONFIG_VIDIX_DRV_MGA_CRTC2'
4232 _vidix_drv_mga_crtc2
=no
4233 def_vidix_drv_nvidia
='#undef CONFIG_VIDIX_DRV_NVIDIA'
4234 _vidix_drv_nvidia
=no
4235 def_vidix_drv_pm2
='#undef CONFIG_VIDIX_DRV_PM2'
4237 def_vidix_drv_pm3
='#undef CONFIG_VIDIX_DRV_PM3'
4239 def_vidix_drv_radeon
='#undef CONFIG_VIDIX_DRV_RADEON'
4240 _vidix_drv_radeon
=no
4241 def_vidix_drv_rage128
='#undef CONFIG_VIDIX_DRV_RAGE128'
4242 _vidix_drv_rage128
=no
4243 def_vidix_drv_s3
='#undef CONFIG_VIDIX_DRV_S3'
4245 def_vidix_drv_sh_veu
='#undef CONFIG_VIDIX_DRV_SH_VEU'
4246 _vidix_drv_sh_veu
=no
4247 def_vidix_drv_sis
='#undef CONFIG_VIDIX_DRV_SIS'
4249 def_vidix_drv_unichrome
='#undef CONFIG_VIDIX_DRV_UNICHROME'
4250 _vidix_drv_unichrome
=no
4251 if test "$_vidix" = auto
; then
4253 x86
&& (linux || freebsd || netbsd || openbsd || dragonfly || sunos || win32
) \
4255 x86_64
&& ! linux
&& _vidix
=no
4256 (ppc || alpha
) && linux
&& _vidix
=yes
4260 if test "$_vidix" = yes ; then
4261 def_vidix
='#define CONFIG_VIDIX 1'
4262 vomodules
="cvidix $vomodules"
4263 # FIXME: ivtv driver temporarily disabled until we have a proper test
4264 #test "$_vidix_drivers" || _vidix_drivers="cyberblade ivtv mach64 mga mga_crtc2 nvidia pm2 pm3 radeon rage128 s3 sh_veu sis unichrome"
4265 test "$_vidix_drivers" || _vidix_drivers
="cyberblade mach64 mga mga_crtc2 nvidia pm2 pm3 radeon rage128 s3 sh_veu sis unichrome"
4267 # some vidix drivers are architecture and os specific, discard them elsewhere
4268 x86 || _vidix_drivers
=$
(echo $_vidix_drivers |
sed -e s
/cyberblade
// -e s
/sis
// -e s
/unichrome
// -e s
/s
3//)
4269 (test $host_arch = "sh" && linux
) || _vidix_drivers
=$
(echo $_vidix_drivers |
sed s
/sh_veu
//)
4271 for driver
in $_vidix_drivers ; do
4272 uc_driver
=$
(echo $driver |
tr '[a-z]' '[A-Z]')
4273 eval _vidix_drv_
${driver}=yes
4274 eval def_vidix_drv_
${driver}=\"\
#define CONFIG_VIDIX_DRV_${uc_driver} 1\"
4277 echocheck
"VIDIX PCI device name database"
4278 echores
"$_vidix_pcidb"
4279 if test "$_vidix_pcidb" = yes ; then
4285 echocheck
"VIDIX dhahelper support"
4286 test "$_dhahelper" = yes && cflags_dhahelper
=-DCONFIG_DHAHELPER
4287 echores
"$_dhahelper"
4289 echocheck
"VIDIX svgalib_helper support"
4290 test "$_svgalib_helper" = yes && cflags_svgalib_helper
=-DCONFIG_SVGAHELPER
4291 echores
"$_svgalib_helper"
4294 novomodules
="cvidix $novomodules"
4297 if test "$_vidix" = yes && win32
; then
4299 vomodules
="winvidix $vomodules"
4300 libs_mplayer
="$libs_mplayer -lgdi32"
4302 novomodules
="winvidix $novomodules"
4304 if test "$_vidix" = yes && test "$_x11" = yes; then
4306 vomodules
="xvidix $vomodules"
4308 novomodules
="xvidix $novomodules"
4312 if test "$_ggi" = auto
; then
4314 statement_check ggi
/ggi.h
'ggiInit()' -lggi && _ggi
=yes
4316 if test "$_ggi" = yes ; then
4317 def_ggi
='#define CONFIG_GGI 1'
4318 libs_mplayer
="$libs_mplayer -lggi"
4319 vomodules
="ggi $vomodules"
4321 def_ggi
='#undef CONFIG_GGI'
4322 novomodules
="ggi $novomodules"
4326 echocheck
"GGI extension: libggiwmh"
4327 if test "$_ggiwmh" = auto
; then
4329 statement_check ggi
/wmh.h
'ggiWmhInit()' -lggi -lggiwmh && _ggiwmh
=yes
4331 # needed to get right output on obscure combination
4332 # like --disable-ggi --enable-ggiwmh
4333 if test "$_ggi" = yes && test "$_ggiwmh" = yes ; then
4334 def_ggiwmh
='#define CONFIG_GGIWMH 1'
4335 libs_mplayer
="$libs_mplayer -lggiwmh"
4338 def_ggiwmh
='#undef CONFIG_GGIWMH'
4344 if test "$_aa" = auto
; then
4351 c = aa_autoinit(&aa_defparams);
4352 p = aa_getrenderparams();
4353 aa_autoinitkbd(c, 0);
4357 for _ld_tmp
in "-laa" ; do
4358 cc_check
$_ld_tmp && libs_mplayer
="$libs_mplayer $_ld_tmp" && _aa
=yes && break
4361 if test "$_aa" = yes ; then
4362 def_aa
='#define CONFIG_AA 1'
4364 libs_mplayer
="$libs_mplayer $(aalib-config --libs | cut -d " " -f 2,5,6)"
4366 vomodules
="aa $vomodules"
4368 def_aa
='#undef CONFIG_AA'
4369 novomodules
="aa $novomodules"
4375 if test "$_caca" = auto
; then
4377 if ( caca-config
--version ) >> "$TMPLOG" 2>&1 ; then
4380 #ifdef CACA_API_VERSION_1
4383 int main(void) { caca_init(); return 0; }
4385 cc_check $
(caca-config
--libs) && _caca
=yes
4388 if test "$_caca" = yes ; then
4389 def_caca
='#define CONFIG_CACA 1'
4390 extra_cflags
="$extra_cflags $(caca-config --cflags)"
4391 libs_mplayer
="$libs_mplayer $(caca-config --libs)"
4392 vomodules
="caca $vomodules"
4394 def_caca
='#undef CONFIG_CACA'
4395 novomodules
="caca $novomodules"
4401 if test "$_svga" = auto
; then
4403 header_check vga.h
-lvga $_ld_lm && _svga
=yes
4405 if test "$_svga" = yes ; then
4406 def_svga
='#define CONFIG_SVGALIB 1'
4407 libs_mplayer
="$libs_mplayer -lvga"
4408 vomodules
="svga $vomodules"
4410 def_svga
='#undef CONFIG_SVGALIB'
4411 novomodules
="svga $novomodules"
4417 if test "$_fbdev" = auto
; then
4421 if test "$_fbdev" = yes ; then
4422 def_fbdev
='#define CONFIG_FBDEV 1'
4423 vomodules
="fbdev $vomodules"
4425 def_fbdev
='#undef CONFIG_FBDEV'
4426 novomodules
="fbdev $novomodules"
4433 if test "$_dvb" = auto
; then
4437 #include <sys/ioctl.h>
4441 #include <linux/dvb/dmx.h>
4442 #include <linux/dvb/frontend.h>
4443 #include <linux/dvb/video.h>
4444 #include <linux/dvb/audio.h>
4445 int main(void) {return 0;}
4447 for _inc_tmp
in "" "-I/usr/src/DVB/include" ; do
4448 cc_check
$_inc_tmp && _dvb
=yes && \
4449 extra_cflags
="$extra_cflags $_inc_tmp" && break
4453 if test "$_dvb" = yes ; then
4455 inputmodules
="dvb $inputmodules"
4456 def_dvb
='#define CONFIG_DVB 1'
4457 def_dvbin
='#define CONFIG_DVBIN 1'
4458 aomodules
="mpegpes(dvb) $aomodules"
4459 vomodules
="mpegpes(dvb) $vomodules"
4462 noinputmodules
="dvb $noinputmodules"
4463 def_dvb
='#undef CONFIG_DVB'
4464 def_dvbin
='#undef CONFIG_DVBIN '
4465 aomodules
="mpegpes(file) $aomodules"
4466 vomodules
="mpegpes(file) $vomodules"
4472 echocheck
"QuickTime"
4473 if test "$quicktime" = auto
; then
4475 #include <QuickTime/QuickTime.h>
4477 ImageDescription *desc;
4484 cc_check
-framework QuickTime
&& quicktime
=yes
4486 if test "$quicktime" = yes ; then
4487 extra_ldflags
="$extra_ldflags -framework QuickTime"
4488 def_quicktime
='#define CONFIG_QUICKTIME 1'
4490 def_quicktime
='#undef CONFIG_QUICKTIME'
4496 if test "$_quartz" = auto
; then
4498 statement_check Carbon
/Carbon.h
'CFRunLoopRunInMode(kCFRunLoopDefaultMode, 0, false)' -framework Carbon
&& _quartz
=yes
4500 if test "$_quartz" = yes ; then
4501 libs_mplayer
="$libs_mplayer -framework Carbon"
4502 def_quartz
='#define CONFIG_QUARTZ 1'
4503 vomodules
="quartz $vomodules"
4505 def_quartz
='#undef CONFIG_QUARTZ'
4506 novomodules
="quartz $novomodules"
4510 echocheck
"CoreVideo"
4511 if test "$_corevideo" = auto
; then
4513 #include <Carbon/Carbon.h>
4514 #include <CoreServices/CoreServices.h>
4515 #include <OpenGL/OpenGL.h>
4516 #include <QuartzCore/CoreVideo.h>
4517 int main(void) { return 0; }
4520 cc_check
-framework Carbon
-framework Cocoa
-framework QuartzCore
-framework OpenGL
&& _corevideo
=yes
4522 if test "$_corevideo" = yes ; then
4523 vomodules
="corevideo $vomodules"
4524 libs_mplayer
="$libs_mplayer -framework Carbon -framework Cocoa -framework QuartzCore -framework OpenGL"
4525 def_corevideo
='#define CONFIG_COREVIDEO 1'
4527 novomodules
="corevideo $novomodules"
4528 def_corevideo
='#undef CONFIG_COREVIDEO'
4530 echores
"$_corevideo"
4535 echocheck
"PNG support"
4536 if test "$_png" = auto
; then
4539 # Don't check for -lpng on irix since it has its own libpng
4540 # incompatible with the GNU libpng
4541 res_comment
="disabled on irix (not GNU libpng)"
4548 printf("png.h : %s\n", PNG_LIBPNG_VER_STRING);
4549 printf("libpng: %s\n", png_libpng_ver);
4550 return strcmp(PNG_LIBPNG_VER_STRING, png_libpng_ver);
4553 cc_check
-lpng -lz $_ld_lm && _png
=yes
4557 if test "$_png" = yes ; then
4558 def_png
='#define CONFIG_PNG 1'
4559 extra_ldflags
="$extra_ldflags -lpng -lz"
4561 def_png
='#undef CONFIG_PNG'
4564 echocheck
"MNG support"
4565 if test "$_mng" = auto
; then
4570 const char * p_ver = mng_version_text();
4571 return !p_ver || p_ver[0] == 0;
4574 if cc_check
-lmng -lz $_ld_lm ; then
4579 if test "$_mng" = yes ; then
4580 def_mng
='#define CONFIG_MNG 1'
4581 extra_ldflags
="$extra_ldflags -lmng -lz"
4583 def_mng
='#undef CONFIG_MNG'
4586 echocheck
"JPEG support"
4587 if test "$_jpeg" = auto
; then
4589 header_check_broken stdio.h jpeglib.h
-ljpeg $_ld_lm && _jpeg
=yes
4593 if test "$_jpeg" = yes ; then
4594 def_jpeg
='#define CONFIG_JPEG 1'
4595 vomodules
="jpeg $vomodules"
4596 extra_ldflags
="$extra_ldflags -ljpeg"
4598 def_jpeg
='#undef CONFIG_JPEG'
4599 novomodules
="jpeg $novomodules"
4604 echocheck
"PNM support"
4605 if test "$_pnm" = yes; then
4606 def_pnm
="#define CONFIG_PNM 1"
4607 vomodules
="pnm $vomodules"
4609 def_pnm
="#undef CONFIG_PNM"
4610 novomodules
="pnm $novomodules"
4616 echocheck
"GIF support"
4617 # This is to appease people who want to force gif support.
4618 # If it is forced to yes, then we still do checks to determine
4619 # which gif library to use.
4620 if test "$_gif" = yes ; then
4625 if test "$_gif" = auto
; then
4627 for _ld_gif
in "-lungif" "-lgif" ; do
4628 statement_check gif_lib.h
'QuantizeBuffer(0, 0, 0, 0, 0, 0, 0, 0)' $_ld_gif && _gif
=yes && break
4632 # If no library was found, and the user wants support forced,
4633 # then we force it on with libgif, as this is the safest
4634 # assumption IMHO. (libungif & libregif both create symbolic
4635 # links to libgif. We also assume that no x11 support is needed,
4636 # because if you are forcing this, then you _should_ know what
4637 # you are doing. [ Besides, package maintainers should never
4638 # have compiled x11 deps into libungif in the first place. ] )
4641 if test "$_force_gif" = yes && test "$_gif" = no
; then
4646 if test "$_gif" = yes ; then
4647 def_gif
='#define CONFIG_GIF 1'
4648 codecmodules
="gif $codecmodules"
4649 vomodules
="gif89a $vomodules"
4650 res_comment
="old version, some encoding functions disabled"
4651 def_gif_4
='#undef CONFIG_GIF_4'
4652 extra_ldflags
="$extra_ldflags $_ld_gif"
4658 #include <gif_lib.h>
4659 static void catch(int sig) { exit(1); }
4661 signal(SIGSEGV, catch); // catch segfault
4662 printf("EGifPutExtensionFirst is at address %p\n", EGifPutExtensionFirst);
4663 EGifSetGifVersion("89a"); // this will segfault a buggy gif lib.
4667 if cc_check
"$_ld_gif" ; then
4668 def_gif_4
='#define CONFIG_GIF_4 1'
4672 def_gif
='#undef CONFIG_GIF'
4673 def_gif_4
='#undef CONFIG_GIF_4'
4674 novomodules
="gif89a $novomodules"
4675 nocodecmodules
="gif $nocodecmodules"
4680 case "$_gif" in yes*)
4681 echocheck
"broken giflib workaround"
4682 def_gif_tvt_hack
='#define CONFIG_GIF_TVT_HACK 1'
4686 #include <gif_lib.h>
4688 GifFileType gif = {.UserData = NULL};
4689 printf("UserData is at address %p\n", gif.UserData);
4693 if cc_check
"$_ld_gif" ; then
4694 def_gif_tvt_hack
='#undef CONFIG_GIF_TVT_HACK'
4703 echocheck
"VESA support"
4704 if test "$_vesa" = auto
; then
4706 statement_check vbe.h
'vbeInit()' -lvbe -llrmi && _vesa
=yes
4708 if test "$_vesa" = yes ; then
4709 def_vesa
='#define CONFIG_VESA 1'
4710 libs_mplayer
="$libs_mplayer -lvbe -llrmi"
4711 vomodules
="vesa $vomodules"
4713 def_vesa
='#undef CONFIG_VESA'
4714 novomodules
="vesa $novomodules"
4726 def_sdl_sdl_h
="#undef CONFIG_SDL_SDL_H"
4727 if test -z "$_sdlconfig" ; then
4728 if ( sdl-config
--version ) >>"$TMPLOG" 2>&1 ; then
4729 _sdlconfig
="sdl-config"
4730 elif ( sdl11-config
--version ) >>"$TMPLOG" 2>&1 ; then
4731 _sdlconfig
="sdl11-config"
4736 if test "$_sdl" = auto ||
test "$_sdl" = yes ; then
4738 #ifdef CONFIG_SDL_SDL_H
4739 #include <SDL/SDL.h>
4744 // we allow SDL hacking our main() only on OSX
4747 int main(int argc, char *argv[]) {
4748 SDL_Init(SDL_INIT_VIDEO|SDL_INIT_NOPARACHUTE);
4753 for _ld_tmp
in "-lSDL" "-lSDL -lpthread" "-lSDL -lwinmm -lgdi32" "-lSDL -lwinmm -lgdi32 -ldxguid" ; do
4754 if cc_check
-DCONFIG_SDL_SDL_H $_inc_tmp $_ld_tmp ; then
4756 def_sdl_sdl_h
="#define CONFIG_SDL_SDL_H 1"
4760 if test "$_sdl" = no
&& "$_sdlconfig" --version >>"$TMPLOG" 2>&1 ; then
4761 res_comment
="using $_sdlconfig"
4763 _inc_tmp
="$($_sdlconfig --cflags | cut -d " " -f 1,5,6 | sed s/no-cygwin/cygwin/)"
4764 _ld_tmp
="$($_sdlconfig --libs | cut -d " " -f 1,4,6 | sed s/no-cygwin/cygwin/)"
4766 _inc_tmp
=$
($_sdlconfig --cflags |
sed s
/-Dmain=SDL_main
//)
4767 _ld_tmp
=$
($_sdlconfig --libs |
sed -e s
/-mwindows// -e s
/-lmingw32//)
4769 _inc_tmp
="$($_sdlconfig --cflags)"
4770 _ld_tmp
="$($_sdlconfig --libs)"
4772 if cc_check
$_inc_tmp $_ld_tmp >>"$TMPLOG" 2>&1 ; then
4774 elif cc_check
$_inc_tmp $_ld_tmp -lstdc++ >>"$TMPLOG" 2>&1 ; then
4775 # HACK for BeOS/Haiku SDL
4776 _ld_tmp
="$_ld_tmp -lstdc++"
4781 if test "$_sdl" = yes ; then
4782 def_sdl
='#define CONFIG_SDL 1'
4783 extra_cflags
="$extra_cflags $_inc_tmp"
4784 libs_mplayer
="$libs_mplayer $_ld_tmp"
4785 vomodules
="sdl $vomodules"
4786 aomodules
="sdl $aomodules"
4788 def_sdl
='#undef CONFIG_SDL'
4789 novomodules
="sdl $novomodules"
4790 noaomodules
="sdl $noaomodules"
4795 # make sure this stays below CoreVideo to avoid issues due to namespace
4796 # conflicts between -lGL and -framework OpenGL
4798 #Note: this test is run even with --enable-gl since we autodetect linker flags
4799 if (test "$_x11" = yes ||
test "$_sdl" = yes || win32
) && test "$_gl" != no
; then
4802 #include <windows.h>
4804 #elif defined(GL_SDL)
4806 #ifdef CONFIG_SDL_SDL_H
4807 #include <SDL/SDL.h>
4812 // we allow SDL hacking our main() only on OSX
4817 #include <X11/Xlib.h>
4820 int main(int argc, char *argv[]) {
4823 wglCreateContext(dc);
4824 #elif defined(GL_SDL)
4825 SDL_GL_SwapBuffers();
4827 glXCreateContext(NULL, NULL, NULL, True);
4834 for _ld_tmp
in "" -lGL "-lGL -lXdamage" "-lGL $_ld_pthread" ; do
4835 if cc_check
$_ld_tmp $_ld_lm ; then
4838 libs_mplayer
="$libs_mplayer $_ld_tmp $_ld_dl"
4842 if cc_check
-DGL_WIN32 -lopengl32 ; then
4845 libs_mplayer
="$libs_mplayer -lopengl32 -lgdi32"
4847 # last so it can reuse any linker etc. flags detected before
4848 if test "$_sdl" = yes ; then
4849 if cc_check
-DGL_SDL ||
4850 cc_check
-DCONFIG_SDL_SDL_H -DGL_SDL ; then
4853 elif cc_check
-DGL_SDL -lGL ||
4854 cc_check
-DCONFIG_SDL_SDL_H -DGL_SDL -lGL ; then
4857 libs_mplayer
="$libs_mplayer -lGL"
4863 if test "$_gl" = yes ; then
4864 def_gl
='#define CONFIG_GL 1'
4865 res_comment
="backends:"
4866 if test "$_gl_win32" = yes ; then
4867 def_gl_win32
='#define CONFIG_GL_WIN32 1'
4868 res_comment
="$res_comment win32"
4870 if test "$_gl_x11" = yes ; then
4871 def_gl_x11
='#define CONFIG_GL_X11 1'
4872 res_comment
="$res_comment x11"
4874 if test "$_gl_sdl" = yes ; then
4875 def_gl_sdl
='#define CONFIG_GL_SDL 1'
4876 res_comment
="$res_comment sdl"
4878 vomodules
="opengl $vomodules"
4880 def_gl
='#undef CONFIG_GL'
4881 def_gl_win32
='#undef CONFIG_GL_WIN32'
4882 def_gl_x11
='#undef CONFIG_GL_X11'
4883 def_gl_sdl
='#undef CONFIG_GL_SDL'
4884 novomodules
="opengl $novomodules"
4889 echocheck
"MatrixView"
4890 if test "$_gl" = no
; then
4893 if test "$matrixview" = yes ; then
4894 vomodules
="matrixview $vomodules"
4895 def_matrixview
='#define CONFIG_MATRIXVIEW 1'
4897 novomodules
="matrixview $novomodules"
4898 def_matrixview
='#undef CONFIG_MATRIXVIEW'
4900 echores
"$matrixview"
4904 echocheck
"KVA (SNAP/WarpOverlay!/DIVE)"
4905 if test "$_kva" = auto
; then
4907 header_check_broken os2.h kva.h
-lkva && _kva
=yes
4909 if test "$_kva" = yes ; then
4910 def_kva
='#define CONFIG_KVA 1'
4911 libs_mplayer
="$libs_mplayer -lkva"
4912 vomodules
="kva $vomodules"
4914 def_kva
='#undef CONFIG_KVA'
4915 novomodules
="kva $novomodules"
4923 echocheck
"Windows waveout"
4924 if test "$_win32waveout" = auto
; then
4926 header_check_broken windows.h mmsystem.h
-lwinmm && _win32waveout
=yes
4928 if test "$_win32waveout" = yes ; then
4929 def_win32waveout
='#define CONFIG_WIN32WAVEOUT 1'
4930 libs_mplayer
="$libs_mplayer -lwinmm"
4931 aomodules
="win32 $aomodules"
4933 def_win32waveout
='#undef CONFIG_WIN32WAVEOUT'
4934 noaomodules
="win32 $noaomodules"
4936 echores
"$_win32waveout"
4938 echocheck
"Direct3D"
4939 if test "$_direct3d" = auto
; then
4941 header_check d3d9.h
&& _direct3d
=yes
4943 if test "$_direct3d" = yes ; then
4944 def_direct3d
='#define CONFIG_DIRECT3D 1'
4945 vomodules
="direct3d $vomodules"
4947 def_direct3d
='#undef CONFIG_DIRECT3D'
4948 novomodules
="direct3d $novomodules"
4950 echores
"$_direct3d"
4953 if test "$_directx" = auto
; then
4957 int main(void) { return 0; }
4960 cc_check
-lgdi32 && _directx
=yes
4962 if test "$_directx" = yes ; then
4963 def_directx
='#define CONFIG_DIRECTX 1'
4964 libs_mplayer
="$libs_mplayer -lgdi32"
4965 vomodules
="directx $vomodules"
4966 aomodules
="dsound $aomodules"
4968 def_directx
='#undef CONFIG_DIRECTX'
4969 novomodules
="directx $novomodules"
4970 noaomodules
="dsound $noaomodules"
4978 if test "$_dxr2" = auto
; then
4980 for _inc_tmp
in "" -I/usr
/local
/include
/dxr2
-I/usr
/include
/dxr2
; do
4981 header_check dxr2ioctl.h
$_inc_tmp && _dxr2
=yes &&
4982 extra_cflags
="$extra_cflags $_inc_tmp" && break
4985 if test "$_dxr2" = yes; then
4986 def_dxr2
='#define CONFIG_DXR2 1'
4987 aomodules
="dxr2 $aomodules"
4988 vomodules
="dxr2 $vomodules"
4990 def_dxr2
='#undef CONFIG_DXR2'
4991 noaomodules
="dxr2 $noaomodules"
4992 novomodules
="dxr2 $novomodules"
4997 if test "$_dxr3" = auto
; then
4999 header_check linux
/em8300.h
&& _dxr3
=yes
5001 if test "$_dxr3" = yes ; then
5002 def_dxr3
='#define CONFIG_DXR3 1'
5003 vomodules
="dxr3 $vomodules"
5005 def_dxr3
='#undef CONFIG_DXR3'
5006 novomodules
="dxr3 $novomodules"
5011 echocheck
"IVTV TV-Out (pre linux-2.6.24)"
5012 if test "$_ivtv" = auto
; then
5014 #include <linux/videodev2.h>
5015 #include <linux/ivtv.h>
5016 #include <sys/ioctl.h>
5018 struct ivtv_cfg_stop_decode sd;
5019 struct ivtv_cfg_start_decode sd1;
5020 ioctl(0, IVTV_IOC_START_DECODE, &sd1);
5021 ioctl(0, IVTV_IOC_STOP_DECODE, &sd);
5025 cc_check
&& _ivtv
=yes
5027 if test "$_ivtv" = yes ; then
5028 def_ivtv
='#define CONFIG_IVTV 1'
5029 vomodules
="ivtv $vomodules"
5030 aomodules
="ivtv $aomodules"
5032 def_ivtv
='#undef CONFIG_IVTV'
5033 novomodules
="ivtv $novomodules"
5034 noaomodules
="ivtv $noaomodules"
5039 echocheck
"V4L2 MPEG Decoder"
5040 if test "$_v4l2" = auto
; then
5042 #include <linux/videodev2.h>
5043 #include <linux/version.h>
5045 #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,22)
5046 #error kernel headers too old, need 2.6.22
5048 struct v4l2_ext_controls ctrls;
5049 ctrls.ctrl_class = V4L2_CTRL_CLASS_MPEG;
5054 cc_check
&& _v4l2
=yes
5056 if test "$_v4l2" = yes ; then
5057 def_v4l2
='#define CONFIG_V4L2_DECODER 1'
5058 vomodules
="v4l2 $vomodules"
5059 aomodules
="v4l2 $aomodules"
5061 def_v4l2
='#undef CONFIG_V4L2_DECODER'
5062 novomodules
="v4l2 $novomodules"
5063 noaomodules
="v4l2 $noaomodules"
5074 echocheck
"OSS Audio"
5075 if test "$_ossaudio" = auto
; then
5077 #include <$_soundcard_header>
5078 int main(void) { return SNDCTL_DSP_SETFRAGMENT; }
5081 cc_check
&& _ossaudio
=yes
5083 if test "$_ossaudio" = yes ; then
5084 def_ossaudio
='#define CONFIG_OSS_AUDIO 1'
5085 aomodules
="oss $aomodules"
5087 #include <$_soundcard_header>
5088 #ifdef OPEN_SOUND_SYSTEM
5089 int main(void) { return 0; }
5091 #error Not the real thing
5095 cc_check
&& _real_ossaudio
=yes
5096 if test "$_real_ossaudio" = yes; then
5097 def_ossaudio_devdsp
='#define PATH_DEV_DSP "/dev/dsp"'
5098 # Check for OSS4 headers (override default headers)
5099 # Does not apply to systems where OSS4 is native (e.g. FreeBSD)
5100 if test -f /etc
/oss.conf
; then
5102 _ossinc
="$OSSLIBDIR/include"
5103 if test -f "$_ossinc/sys/soundcard.h"; then
5104 extra_cflags
="-I$_ossinc $extra_cflags"
5107 elif netbsd || openbsd
; then
5108 def_ossaudio_devdsp
='#define PATH_DEV_DSP "/dev/sound"'
5109 extra_ldflags
="$extra_ldflags -lossaudio"
5111 def_ossaudio_devdsp
='#define PATH_DEV_DSP "/dev/dsp"'
5113 def_ossaudio_devmixer
='#define PATH_DEV_MIXER "/dev/mixer"'
5115 def_ossaudio
='#undef CONFIG_OSS_AUDIO'
5116 def_ossaudio_devdsp
='#define PATH_DEV_DSP ""'
5117 def_ossaudio_devmixer
='#define PATH_DEV_MIXER ""'
5118 noaomodules
="oss $noaomodules"
5120 echores
"$_ossaudio"
5124 if test "$_arts" = auto
; then
5126 if ( artsc-config
--version ) >> "$TMPLOG" 2>&1 ; then
5127 statement_check artsc.h
'arts_init()' $
(artsc-config
--libs) $
(artsc-config
--cflags) &&
5132 if test "$_arts" = yes ; then
5133 def_arts
='#define CONFIG_ARTS 1'
5134 aomodules
="arts $aomodules"
5135 libs_mplayer
="$libs_mplayer $(artsc-config --libs)"
5136 extra_cflags
="$extra_cflags $(artsc-config --cflags)"
5138 noaomodules
="arts $noaomodules"
5144 if test "$_esd" = auto
; then
5146 if ( esd-config
--version ) >> "$TMPLOG" 2>&1 ; then
5147 statement_check esd.h
'esd_open_sound("test")' $
(esd-config
--libs) $
(esd-config
--cflags) && _esd
=yes
5152 if test "$_esd" = yes ; then
5153 def_esd
='#define CONFIG_ESD 1'
5154 aomodules
="esd $aomodules"
5155 libs_mplayer
="$libs_mplayer $(esd-config --libs)"
5156 extra_cflags
="$extra_cflags $(esd-config --cflags)"
5158 echocheck
"esd_get_latency()"
5159 statement_check esd.h
'esd_get_latency(0)' $
(esd-config
--libs) $
(esd-config
--cflags) &&
5160 _esd_latency
=yes && def_esd_latency
='#define CONFIG_ESD_LATENCY 1'
5161 echores
"$_esd_latency"
5163 def_esd
='#undef CONFIG_ESD'
5164 def_esd_latency
='#undef CONFIG_ESD_LATENCY'
5165 noaomodules
="esd $noaomodules"
5170 if test "$_nas" = auto
; then
5172 header_check audio
/audiolib.h
$_ld_lm -laudio -lXt && _nas
=yes
5174 if test "$_nas" = yes ; then
5175 def_nas
='#define CONFIG_NAS 1'
5176 libs_mplayer
="$libs_mplayer -laudio -lXt"
5177 aomodules
="nas $aomodules"
5179 noaomodules
="nas $noaomodules"
5180 def_nas
='#undef CONFIG_NAS'
5186 if test "$_pulse" = auto
; then
5188 if $_pkg_config --exists 'libpulse >= 0.9' ; then
5189 header_check pulse
/pulseaudio.h $
($_pkg_config --libs --cflags libpulse
) &&
5195 if test "$_pulse" = yes ; then
5196 def_pulse
='#define CONFIG_PULSE 1'
5197 aomodules
="pulse $aomodules"
5198 libs_mplayer
="$libs_mplayer $($_pkg_config --libs libpulse)"
5199 extra_cflags
="$extra_cflags $($_pkg_config --cflags libpulse)"
5201 def_pulse
='#undef CONFIG_PULSE'
5202 noaomodules
="pulse $noaomodules"
5207 if test "$_jack" = auto
; then
5209 if statement_check jack
/jack.h
'jack_client_open("test", JackUseExactName, NULL)' -ljack ; then
5210 libs_mplayer
="$libs_mplayer -ljack"
5211 elif statement_check jack
/jack.h
'jack_client_open("test", JackUseExactName, NULL)' $
($_pkg_config --libs --cflags --silence-errors jack
) ; then
5212 libs_mplayer
="$libs_mplayer $($_pkg_config --libs jack)"
5213 extra_cflags
="$extra_cflags "$
($_pkg_config --cflags jack
)""
5219 if test "$_jack" = yes ; then
5220 def_jack
='#define CONFIG_JACK 1'
5221 aomodules
="jack $aomodules"
5223 noaomodules
="jack $noaomodules"
5228 if test "$_openal" = auto
; then
5232 #include <OpenAL/al.h>
5237 alSourceQueueBuffers(0, 0, 0);
5238 // alGetSourcei(0, AL_SAMPLE_OFFSET, 0);
5242 for I
in "-lopenal" "-lopenal32" "-framework OpenAL" ; do
5243 cc_check
$I && _openal
=yes && break
5244 cc_check
-DOPENAL_AL_H=1 $I && def_openal_h
='#define OPENAL_AL_H 1' && _openal
=yes && break
5246 test "$_openal" = yes && libs_mplayer
="$libs_mplayer $I"
5248 if test "$_openal" = yes ; then
5249 def_openal
='#define CONFIG_OPENAL 1'
5250 aomodules
="openal $aomodules"
5252 noaomodules
="openal $noaomodules"
5256 echocheck
"ALSA audio"
5257 if test "$_alloca" != yes ; then
5259 res_comment
="alloca missing"
5261 if test "$_alsa" != no
; then
5264 #include <sys/asoundlib.h>
5265 #if !((SND_LIB_MAJOR == 0) && (SND_LIB_MINOR == 5))
5266 #error "alsa version != 0.5.x"
5268 int main(void) { return 0; }
5270 cc_check
-lasound $_ld_dl $_ld_pthread && _alsaver
='0.5.x'
5273 #include <sys/asoundlib.h>
5274 #if !((SND_LIB_MAJOR == 0) && (SND_LIB_MINOR == 9))
5275 #error "alsa version != 0.9.x"
5277 int main(void) { return 0; }
5279 cc_check
-lasound $_ld_dl $_ld_pthread && _alsaver
='0.9.x-sys'
5281 #include <alsa/asoundlib.h>
5282 #if !((SND_LIB_MAJOR == 0) && (SND_LIB_MINOR == 9))
5283 #error "alsa version != 0.9.x"
5285 int main(void) { return 0; }
5287 cc_check
-lasound $_ld_dl $_ld_pthread && _alsaver
='0.9.x-alsa'
5290 #include <sys/asoundlib.h>
5291 #if !((SND_LIB_MAJOR == 1) && (SND_LIB_MINOR == 0))
5292 #error "alsa version != 1.0.x"
5294 int main(void) { return 0; }
5296 cc_check
-lasound $_ld_dl $_ld_pthread && _alsaver
='1.0.x-sys'
5298 #include <alsa/asoundlib.h>
5299 #if !((SND_LIB_MAJOR == 1) && (SND_LIB_MINOR == 0))
5300 #error "alsa version != 1.0.x"
5302 int main(void) { return 0; }
5304 cc_check
-lasound $_ld_dl $_ld_pthread && _alsaver
='1.0.x-alsa'
5306 def_alsa
='#undef CONFIG_ALSA'
5307 def_alsa5
='#undef CONFIG_ALSA5'
5308 def_alsa9
='#undef CONFIG_ALSA9'
5309 def_alsa1x
='#undef CONFIG_ALSA1X'
5310 def_sys_asoundlib_h
='#undef HAVE_SYS_ASOUNDLIB_H'
5311 def_alsa_asoundlib_h
='#undef HAVE_ALSA_ASOUNDLIB_H'
5312 if test "$_alsaver" ; then
5314 if test "$_alsaver" = '0.5.x' ; then
5316 aomodules
="alsa5 $aomodules"
5317 def_alsa5
='#define CONFIG_ALSA5 1'
5318 def_sys_asoundlib_h
='#define HAVE_SYS_ASOUNDLIB_H 1'
5319 res_comment
="using alsa 0.5.x and sys/asoundlib.h"
5320 elif test "$_alsaver" = '0.9.x-sys' ; then
5322 aomodules
="alsa $aomodules"
5323 def_alsa
='#define CONFIG_ALSA 1'
5324 def_alsa9
='#define CONFIG_ALSA9 1'
5325 def_sys_asoundlib_h
='#define HAVE_SYS_ASOUNDLIB_H 1'
5326 res_comment
="using alsa 0.9.x and sys/asoundlib.h"
5327 elif test "$_alsaver" = '0.9.x-alsa' ; then
5329 aomodules
="alsa $aomodules"
5330 def_alsa
='#define CONFIG_ALSA 1'
5331 def_alsa9
='#define CONFIG_ALSA9 1'
5332 def_alsa_asoundlib_h
='#define HAVE_ALSA_ASOUNDLIB_H 1'
5333 res_comment
="using alsa 0.9.x and alsa/asoundlib.h"
5334 elif test "$_alsaver" = '1.0.x-sys' ; then
5336 aomodules
="alsa $aomodules"
5337 def_alsa
='#define CONFIG_ALSA 1'
5338 def_alsa1x
="#define CONFIG_ALSA1X 1"
5339 def_alsa_asoundlib_h
='#define HAVE_SYS_ASOUNDLIB_H 1'
5340 res_comment
="using alsa 1.0.x and sys/asoundlib.h"
5341 elif test "$_alsaver" = '1.0.x-alsa' ; then
5343 aomodules
="alsa $aomodules"
5344 def_alsa
='#define CONFIG_ALSA 1'
5345 def_alsa1x
="#define CONFIG_ALSA1X 1"
5346 def_alsa_asoundlib_h
='#define HAVE_ALSA_ASOUNDLIB_H 1'
5347 res_comment
="using alsa 1.0.x and alsa/asoundlib.h"
5350 res_comment
="unknown version"
5352 extra_ldflags
="$extra_ldflags -lasound $_ld_dl $_ld_pthread"
5354 noaomodules
="alsa $noaomodules"
5359 echocheck
"Sun audio"
5360 if test "$_sunaudio" = auto
; then
5362 #include <sys/types.h>
5363 #include <sys/audioio.h>
5364 int main(void) { audio_info_t info; AUDIO_INITINFO(&info); return 0; }
5367 cc_check
&& _sunaudio
=yes
5369 if test "$_sunaudio" = yes ; then
5370 def_sunaudio
='#define CONFIG_SUN_AUDIO 1'
5371 aomodules
="sun $aomodules"
5373 def_sunaudio
='#undef CONFIG_SUN_AUDIO'
5374 noaomodules
="sun $noaomodules"
5376 echores
"$_sunaudio"
5379 def_mlib
='#define CONFIG_MLIB 0'
5381 echocheck
"Sun mediaLib"
5382 if test "$_mlib" = auto
; then
5384 cc_check mlib.h
"mlib_VideoColorYUV2ABGR420(0, 0, 0, 0, 0, 0, 0, 0, 0)" -lmlib &&
5385 _mlib
=yes && def_mlib
='#define CONFIG_MLIB 1'
5392 echocheck
"CoreAudio"
5393 if test "$_coreaudio" = auto
; then
5395 #include <CoreAudio/CoreAudio.h>
5396 #include <AudioToolbox/AudioToolbox.h>
5397 #include <AudioUnit/AudioUnit.h>
5398 int main(void) { return 0; }
5401 cc_check
-framework CoreAudio
-framework AudioUnit
-framework AudioToolbox
&& _coreaudio
=yes
5403 if test "$_coreaudio" = yes ; then
5404 libs_mplayer
="$libs_mplayer -framework CoreAudio -framework AudioUnit -framework AudioToolbox"
5405 def_coreaudio
='#define CONFIG_COREAUDIO 1'
5406 aomodules
="coreaudio $aomodules"
5408 def_coreaudio
='#undef CONFIG_COREAUDIO'
5409 noaomodules
="coreaudio $noaomodules"
5416 echocheck
"SGI audio"
5417 if test "$_sgiaudio" = auto
; then
5419 header_check dmedia
/audio.h
&& _sgiaudio
=yes
5421 if test "$_sgiaudio" = "yes" ; then
5422 def_sgiaudio
='#define CONFIG_SGI_AUDIO 1'
5423 libs_mplayer
="$libs_mplayer -laudio"
5424 aomodules
="sgi $aomodules"
5426 def_sgiaudio
='#undef CONFIG_SGI_AUDIO'
5427 noaomodules
="sgi $noaomodules"
5429 echores
"$_sgiaudio"
5434 echocheck
"KAI (UNIAUD/DART)"
5435 if test "$_kai" = auto
; then
5437 header_check_broken os2.h kai.h
-lkai && _kai
=yes
5439 if test "$_kai" = yes ; then
5440 def_kai
='#define CONFIG_KAI 1'
5441 libs_mplayer
="$libs_mplayer -lkai"
5442 aomodules
="kai $aomodules"
5444 def_kai
='#undef CONFIG_KAI'
5445 noaomodules
="kai $noaomodules"
5450 if test "$_dart" = auto
; then
5452 header_check_broken os2.h dart.h
-ldart && _dart
=yes
5454 if test "$_dart" = yes ; then
5455 def_dart
='#define CONFIG_DART 1'
5456 libs_mplayer
="$libs_mplayer -ldart"
5457 aomodules
="dart $aomodules"
5459 def_dart
='#undef CONFIG_DART'
5460 noaomodules
="dart $noaomodules"
5466 # set default CD/DVD devices
5467 if win32 || os2
; then
5468 default_cdrom_device
="D:"
5470 default_cdrom_device
="/dev/disk1"
5471 elif dragonfly
; then
5472 default_cdrom_device
="/dev/cd0"
5474 default_cdrom_device
="/dev/acd0"
5476 default_cdrom_device
="/dev/rcd0c"
5478 default_cdrom_device
="/vol/dev/aliases/cdrom0"
5479 # Modern Solaris versions use HAL instead of the vold daemon, the volfs
5480 # file system and the volfs service.
5481 test -r "/cdrom/cdrom0" && default_cdrom_device
="/cdrom/cdrom0"
5483 default_cdrom_device
="a1ide.device:2"
5485 default_cdrom_device
="/dev/cdrom"
5488 if win32 || os2 || dragonfly || freebsd || openbsd || sunos || amigaos
; then
5489 default_dvd_device
=$default_cdrom_device
5491 default_dvd_device
="/dev/rdiskN"
5493 default_dvd_device
="/dev/dvd"
5497 echocheck
"VCD support"
5498 if test "$_vcd" = auto
; then
5500 if linux || freebsd || netbsd || openbsd || dragonfly || bsdos || darwin || sunos || os2
; then
5503 header_check
ddk
/ntddcdrm.h
&& _vcd
=yes
5506 if test "$_vcd" = yes; then
5507 inputmodules
="vcd $inputmodules"
5508 def_vcd
='#define CONFIG_VCD 1'
5510 def_vcd
='#undef CONFIG_VCD'
5511 noinputmodules
="vcd $noinputmodules"
5512 res_comment
="not supported on this OS"
5518 echocheck
"Blu-ray support"
5519 if test "$_bluray" = auto
; then
5521 statement_check libbluray
/bluray.h
'bd_get_title_info(0, 0)' -lbluray && _bluray
=yes
5523 if test "$_bluray" = yes ; then
5524 def_bluray
='#define CONFIG_LIBBLURAY 1'
5525 extra_ldflags
="$extra_ldflags -lbluray"
5526 inputmodules
="bluray $inputmodules"
5528 def_bluray
='#undef CONFIG_LIBBLURAY'
5529 noinputmodules
="bluray $noinputmodules"
5534 if test "$_dvdread_internal" = auto
&& test ! -f "libdvdread4/dvd_reader.c" ; then
5535 _dvdread_internal
=no
5537 if test "$_dvdread_internal" = auto
; then
5538 _dvdread_internal
=no
5540 if (linux || freebsd || netbsd || openbsd || dragonfly || sunos || hpux
) \
5541 && (test "$_dvd" = yes ||
test "$_cdrom" = yes ||
test "$_cdio" = yes || \
5542 test "$_dvdio" = yes ||
test "$_bsdi_dvd" = yes) \
5543 || darwin || win32 || os2
; then
5544 _dvdread_internal
=yes
5546 extra_cflags
="-Ilibdvdread4 $extra_cflags"
5548 elif test "$_dvdread" = auto
; then
5550 if test "$_dl" = yes; then
5551 _dvdreadcflags
=$
($_dvdreadconfig --cflags 2> /dev
/null
)
5552 _dvdreadlibs
=$
($_dvdreadconfig --libs 2> /dev
/null
)
5553 if header_check dvdread
/dvd_reader.h
$_dvdreadcflags $_dvdreadlibs $_ld_dl ; then
5555 extra_cflags
="$extra_cflags $_dvdreadcflags"
5556 extra_ldflags
="$extra_ldflags $_dvdreadlibs"
5557 res_comment
="external"
5562 if test "$_dvdread_internal" = yes; then
5563 def_dvdread
='#define CONFIG_DVDREAD 1'
5564 inputmodules
="dvdread(internal) $inputmodules"
5566 res_comment
="internal"
5567 elif test "$_dvdread" = yes; then
5568 def_dvdread
='#define CONFIG_DVDREAD 1'
5570 extra_ldflags
="$extra_ldflags -ldvdread"
5571 inputmodules
="dvdread(external) $inputmodules"
5572 res_comment
="external"
5574 def_dvdread
='#undef CONFIG_DVDREAD'
5575 noinputmodules
="dvdread $noinputmodules"
5580 echocheck
"internal libdvdcss"
5581 if test "$_libdvdcss_internal" = auto
; then
5582 _libdvdcss_internal
=no
5583 test "$_dvdread_internal" = yes && test -d libdvdcss
&& _libdvdcss_internal
=yes
5584 hpux
&& test "$_hpux_scsi_h" = no
&& _libdvdcss_internal
=no
5586 if test "$_libdvdcss_internal" = yes ; then
5587 if linux || netbsd || openbsd || bsdos
; then
5588 def_dvd_linux
='#define HAVE_LINUX_DVD_STRUCT 1'
5589 openbsd
&& def_dvd_openbsd
='#define HAVE_OPENBSD_DVD_STRUCT 1'
5590 elif freebsd || dragonfly
; then
5591 def_dvd_bsd
='#define HAVE_BSD_DVD_STRUCT 1'
5593 def_dvd_darwin
='#define DARWIN_DVD_IOCTL'
5594 extra_ldflags
="$extra_ldflags -framework IOKit -framework Carbon"
5596 cflags_libdvdcss
="-DSYS_CYGWIN -DWIN32"
5598 cflags_libdvdcss
="-DSYS_BEOS"
5600 cflags_libdvdcss
="-DSYS_OS2"
5602 cflags_libdvdcss_dvdread
="-Ilibdvdcss"
5603 def_dvdcss
="#define HAVE_DVDCSS_DVDCSS_H 1"
5604 inputmodules
="libdvdcss(internal) $inputmodules"
5607 noinputmodules
="libdvdcss(internal) $noinputmodules"
5609 echores
"$_libdvdcss_internal"
5612 echocheck
"cdparanoia"
5613 if test "$_cdparanoia" = auto
; then
5615 #include <cdda_interface.h>
5616 #include <cdda_paranoia.h>
5617 // This need a better test. How ?
5618 int main(void) { void *test = cdda_verbose_set; return test == (void *)1; }
5621 for _inc_tmp
in "" "-I/usr/include/cdda" "-I/usr/local/include/cdda" ; do
5622 cc_check
$_inc_tmp -lcdda_interface -lcdda_paranoia $_ld_lm && \
5623 _cdparanoia
=yes && extra_cflags
="$extra_cflags $_inc_tmp" && break
5626 if test "$_cdparanoia" = yes ; then
5628 extra_ldflags
="$extra_ldflags -lcdda_interface -lcdda_paranoia"
5629 openbsd
&& extra_ldflags
="$extra_ldflags -lutil"
5631 echores
"$_cdparanoia"
5635 if test "$_libcdio" = auto
&& test "$_cdparanoia" = no
; then
5638 #include <cdio/version.h>
5639 #include <cdio/cdda.h>
5640 #include <cdio/paranoia.h>
5642 void *test = cdda_verbose_set;
5643 printf("%s\n", CDIO_VERSION);
5644 return test == (void *)1;
5648 for _ld_tmp
in "" "-lwinmm" ; do
5649 _ld_tmp
="-lcdio_cdda -lcdio -lcdio_paranoia $_ld_tmp"
5650 cc_check
$_ld_tmp $_ld_lm \
5651 && _libcdio
=yes && extra_ldflags
="$extra_ldflags $_ld_tmp" && break
5653 if test "$_libcdio" = no
&& $_pkg_config --exists libcdio_paranoia
; then
5654 _inc_tmp
=$
($_pkg_config --cflags libcdio_paranoia
)
5655 _ld_tmp
=$
($_pkg_config --libs libcdio_paranoia
)
5656 cc_check
$_inc_tmp $_ld_tmp $_ld_lm && _libcdio
=yes \
5657 && extra_ldflags
="$extra_ldflags $_ld_tmp" && extra_cflags
="$extra_cflags $_inc_tmp"
5660 if test "$_libcdio" = yes && test "$_cdparanoia" = no
; then
5662 def_libcdio
='#define CONFIG_LIBCDIO 1'
5663 def_havelibcdio
='yes'
5665 if test "$_cdparanoia" = yes ; then
5666 res_comment
="using cdparanoia"
5668 def_libcdio
='#undef CONFIG_LIBCDIO'
5669 def_havelibcdio
='no'
5673 if test "$_cdda" = yes ; then
5674 test $_cddb = auto
&& test $networking = yes && _cddb
=yes
5675 def_cdparanoia
='#define CONFIG_CDDA 1'
5676 inputmodules
="cdda $inputmodules"
5678 def_cdparanoia
='#undef CONFIG_CDDA'
5679 noinputmodules
="cdda $noinputmodules"
5682 if test "$_cddb" = yes ; then
5683 def_cddb
='#define CONFIG_CDDB 1'
5684 inputmodules
="cddb $inputmodules"
5687 def_cddb
='#undef CONFIG_CDDB'
5688 noinputmodules
="cddb $noinputmodules"
5691 echocheck
"bitmap font support"
5692 if test "$_bitmap_font" = yes ; then
5693 def_bitmap_font
="#define CONFIG_BITMAP_FONT 1"
5695 def_bitmap_font
="#undef CONFIG_BITMAP_FONT"
5697 echores
"$_bitmap_font"
5700 echocheck
"freetype >= 2.0.9"
5702 # freetype depends on iconv
5703 if test "$_iconv" = no
; then
5705 res_comment
="iconv support needed"
5708 if test "$_freetype" = auto
; then
5709 if ( $_freetypeconfig --version ) >/dev
/null
2>&1 ; then
5712 #include <ft2build.h>
5713 #include FT_FREETYPE_H
5714 #if ((FREETYPE_MAJOR < 2) || ((FREETYPE_MINOR == 0) && (FREETYPE_PATCH < 9)))
5715 #error "Need FreeType 2.0.9 or newer"
5719 FT_Init_FreeType(&library);
5724 cc_check $
($_freetypeconfig --cflags) $
($_freetypeconfig --libs) && _freetype
=yes
5729 if test "$_freetype" = yes ; then
5730 def_freetype
='#define CONFIG_FREETYPE 1'
5731 extra_cflags
="$extra_cflags $($_freetypeconfig --cflags)"
5732 extra_ldflags
="$extra_ldflags $($_freetypeconfig --libs)"
5734 def_freetype
='#undef CONFIG_FREETYPE'
5736 echores
"$_freetype"
5738 if test "$_freetype" = no
; then
5740 res_comment
="FreeType support needed"
5742 echocheck
"fontconfig"
5743 if test "$_fontconfig" = auto
; then
5747 #include <fontconfig/fontconfig.h>
5748 #if FC_VERSION < 20402
5749 #error At least version 2.4.2 of fontconfig required
5753 if (err == FcFalse) {
5754 printf("Couldn't initialize fontconfig lib\n");
5761 for _ld_tmp
in "" "-lexpat -lfreetype" "-lexpat -lfreetype -lz" "-lexpat -lfreetype -lz -liconv" ; do
5762 _ld_tmp
="-lfontconfig $_ld_tmp"
5763 cc_check
$_ld_tmp && _fontconfig
=yes && extra_ldflags
="$extra_ldflags $_ld_tmp" && break
5765 if test "$_fontconfig" = no
&& $_pkg_config --exists fontconfig
; then
5766 _inc_tmp
=$
($_pkg_config --cflags fontconfig
)
5767 _ld_tmp
=$
($_pkg_config --libs fontconfig
)
5768 cc_check
$_inc_tmp $_ld_tmp && _fontconfig
=yes \
5769 && extra_ldflags
="$extra_ldflags $_ld_tmp" && extra_cflags
="$extra_cflags $_inc_tmp"
5772 if test "$_fontconfig" = yes ; then
5773 def_fontconfig
='#define CONFIG_FONTCONFIG 1'
5775 def_fontconfig
='#undef CONFIG_FONTCONFIG'
5777 echores
"$_fontconfig"
5780 echocheck
"SSA/ASS support"
5781 if test "$_ass" = auto
-o "$_ass" = yes ; then
5782 if $_pkg_config libass
; then
5784 def_ass
='#define CONFIG_ASS 1'
5785 extra_ldflags
="$extra_ldflags $($_pkg_config --libs libass)"
5786 extra_cflags
="$extra_cflags $($_pkg_config --cflags libass)"
5789 def_ass
='#undef CONFIG_ASS'
5792 def_ass
='#undef CONFIG_ASS'
5797 echocheck
"fribidi with charsets"
5800 if test "$_fribidi" = auto
; then
5803 /* workaround for fribidi 0.10.4 and below */
5804 #define FRIBIDI_CHARSET_UTF8 FRIBIDI_CHAR_SET_UTF8
5805 #include <fribidi/fribidi.h>
5807 if (fribidi_parse_charset("UTF-8") != FRIBIDI_CHAR_SET_UTF8)
5815 cc_check
$_inc_tmp $_ld_tmp && _fribidi
=yes
5816 if $_pkg_config --exists fribidi
> /dev
/null
2>&1 &&
5817 test "$_fribidi" = no
; then
5818 _inc_tmp
="$($_pkg_config --cflags)"
5819 _ld_tmp
="$($_pkg_config --libs)"
5820 cc_check
$_inc_tmp $_ld_tmp && _fribidi
=yes
5823 if test "$_fribidi" = yes ; then
5824 def_fribidi
='#define CONFIG_FRIBIDI 1'
5825 extra_cflags
="$extra_cflags $_inc_tmp"
5826 extra_ldflags
="$extra_ldflags $_ld_tmp"
5828 def_fribidi
='#undef CONFIG_FRIBIDI'
5834 if test "$_enca" = auto
; then
5836 statement_check enca.h
'enca_get_languages(NULL)' -lenca $_ld_lm && _enca
=yes
5838 if test "$_enca" = yes ; then
5839 def_enca
='#define CONFIG_ENCA 1'
5840 extra_ldflags
="$extra_ldflags -lenca"
5842 def_enca
='#undef CONFIG_ENCA'
5849 statement_check zlib.h
'inflate(0, Z_NO_FLUSH)' -lz && _zlib
=yes
5850 if test "$_zlib" = yes ; then
5851 def_zlib
='#define CONFIG_ZLIB 1'
5852 extra_ldflags
="$extra_ldflags -lz"
5854 def_zlib
='#define CONFIG_ZLIB 0'
5861 def_bzlib
='#define CONFIG_BZLIB 0'
5862 statement_check bzlib.h
'BZ2_bzlibVersion()' -lbz2 && bzlib
=yes
5863 if test "$bzlib" = yes ; then
5864 def_bzlib
='#define CONFIG_BZLIB 1'
5865 extra_ldflags
="$extra_ldflags -lbz2"
5871 if test "$_rtc" = auto
; then
5873 #include <sys/ioctl.h>
5875 #include <linux/rtc.h>
5878 #define RTC_PIE_ON RTCIO_PIE_ON
5880 int main(void) { return RTC_PIE_ON; }
5883 cc_check
&& _rtc
=yes
5886 if test "$_rtc" = yes ; then
5887 def_rtc
='#define HAVE_RTC 1'
5889 def_rtc
='#undef HAVE_RTC'
5894 echocheck
"liblzo2 support"
5895 if test "$_liblzo" = auto
; then
5897 statement_check lzo
/lzo1x.h
'lzo_init()' -llzo2 && _liblzo
=yes
5899 if test "$_liblzo" = yes ; then
5900 def_liblzo
='#define CONFIG_LIBLZO 1'
5901 extra_ldflags
="$extra_ldflags -llzo2"
5902 codecmodules
="liblzo $codecmodules"
5904 def_liblzo
='#undef CONFIG_LIBLZO'
5905 nocodecmodules
="liblzo $nocodecmodules"
5910 echocheck
"mad support"
5911 if test "$_mad" = auto
; then
5913 header_check mad.h
-lmad && _mad
=yes
5915 if test "$_mad" = yes ; then
5916 def_mad
='#define CONFIG_LIBMAD 1'
5917 extra_ldflags
="$extra_ldflags -lmad"
5918 codecmodules
="libmad $codecmodules"
5920 def_mad
='#undef CONFIG_LIBMAD'
5921 nocodecmodules
="libmad $nocodecmodules"
5926 if test "$_twolame" = auto
; then
5928 statement_check twolame.h
'twolame_init()' -ltwolame $_ld_lm && _twolame
=yes
5930 if test "$_twolame" = yes ; then
5931 def_twolame
='#define CONFIG_TWOLAME 1'
5932 libs_mencoder
="$libs_mencoder -ltwolame"
5933 codecmodules
="twolame $codecmodules"
5935 def_twolame
='#undef CONFIG_TWOLAME'
5936 nocodecmodules
="twolame $nocodecmodules"
5941 if test "$_toolame" = auto
; then
5943 if test "$_twolame" = yes ; then
5944 res_comment
="disabled by twolame"
5946 statement_check toolame.h
'toolame_init()' -ltoolame $_ld_lm && _toolame
=yes
5949 if test "$_toolame" = yes ; then
5950 def_toolame
='#define CONFIG_TOOLAME 1'
5951 libs_mencoder
="$libs_mencoder -ltoolame"
5952 codecmodules
="toolame $codecmodules"
5954 def_toolame
='#undef CONFIG_TOOLAME'
5955 nocodecmodules
="toolame $nocodecmodules"
5957 if test "$_toolamedir" ; then
5958 res_comment
="using $_toolamedir"
5962 echocheck
"OggVorbis support"
5963 if test "$_tremor_internal" = yes; then
5965 elif test "$_tremor" = auto
; then
5967 statement_check tremor
/ivorbiscodec.h
'vorbis_packet_blocksize(0, 0)' -logg -lvorbisidec $_ld_lm && _tremor
=yes && _libvorbis
=no
5969 if test "$_libvorbis" = auto
; then
5971 statement_check vorbis
/codec.h
'vorbis_packet_blocksize(0, 0)' -lvorbis -logg $_ld_lm && _libvorbis
=yes
5973 if test "$_tremor_internal" = yes ; then
5975 def_vorbis
='#define CONFIG_OGGVORBIS 1'
5976 def_tremor
='#define CONFIG_TREMOR 1'
5977 codecmodules
="tremor(internal) $codecmodules"
5978 res_comment
="internal Tremor"
5979 if test "$_tremor_low" = yes ; then
5980 cflags_tremor_low
="-D_LOW_ACCURACY_"
5981 res_comment
="internal low accuracy Tremor"
5983 elif test "$_tremor" = yes ; then
5985 def_vorbis
='#define CONFIG_OGGVORBIS 1'
5986 def_tremor
='#define CONFIG_TREMOR 1'
5987 codecmodules
="tremor(external) $codecmodules"
5988 res_comment
="external Tremor"
5989 extra_ldflags
="$extra_ldflags -logg -lvorbisidec"
5990 elif test "$_libvorbis" = yes ; then
5992 def_vorbis
='#define CONFIG_OGGVORBIS 1'
5993 codecmodules
="libvorbis $codecmodules"
5994 res_comment
="libvorbis"
5995 extra_ldflags
="$extra_ldflags -lvorbis -logg"
5998 nocodecmodules
="libvorbis $nocodecmodules"
6002 echocheck
"libspeex (version >= 1.1 required)"
6003 if test "$_speex" = auto
; then
6007 #include <speex/speex.h>
6008 int main(void) { SpeexBits bits; void *dec = NULL; speex_decode_int(dec, &bits, dec); return 0; }
6010 cc_check
-lspeex $_ld_lm && _speex
=yes
6012 if test "$_speex" = yes ; then
6013 def_speex
='#define CONFIG_SPEEX 1'
6014 extra_ldflags
="$extra_ldflags -lspeex"
6015 codecmodules
="speex $codecmodules"
6017 def_speex
='#undef CONFIG_SPEEX'
6018 nocodecmodules
="speex $nocodecmodules"
6022 echocheck
"OggTheora support"
6023 if test "$_theora" = auto
; then
6026 #include <theora/theora.h>
6029 /* Theora is in flux, make sure that all interface routines and datatypes
6030 * exist and work the way we expect it, so we don't break MPlayer. */
6039 theora_info_init(&inf);
6040 theora_comment_init(&tc);
6044 /* we don't want to execute this kind of nonsense; just for making sure
6045 * that compilation works... */
6046 memset(&op, 0, sizeof(op));
6047 r = theora_decode_header(&inf, &tc, &op);
6048 r = theora_decode_init(&st, &inf);
6049 t = theora_granule_time(&st, op.granulepos);
6050 r = theora_decode_packetin(&st, &op);
6051 r = theora_decode_YUVout(&st, &yuv);
6057 _ld_theora
=$
($_pkg_config --silence-errors --libs theora
)
6058 _inc_theora
=$
($_pkg_config --silence-errors --cflags theora
)
6059 cc_check
$_inc_theora $_ld_theora && extra_ldflags
="$extra_ldflags $_ld_theora" &&
6060 extra_cflags
="$extra_cflags $_inc_theora" && _theora
=yes
6061 if test _theora
= no
; then
6062 _ld_theora
="-ltheora -logg"
6063 cc_check
$_ld_theora && extra_ldflags
="$extra_ldflags $_ld_theora" && _theora
=yes
6065 if test "$_theora" = no
&& test "$_tremor_internal" = yes; then
6066 _ld_theora
=$
($_pkg_config --silence-errors --libs theora
)
6067 _inc_theora
=$
($_pkg_config --silence-errors --cflags theora
)
6068 cc_check tremor
/bitwise.c
$_inc_theora $_ld_theora &&
6069 extra_ldflags
="$extra_ldflags $_ld_theora" &&
6070 extra_cflags
="$extra_cflags $_inc_theora" && _theora
=yes
6071 if test _theora
= no
; then
6072 _ld_theora
="-ltheora -logg"
6073 cc_check tremor
/bitwise.c
$_ld_theora &&
6074 extra_ldflags
="$extra_ldflags $_ld_theora" && _theora
=yes
6078 if test "$_theora" = yes ; then
6079 def_theora
='#define CONFIG_OGGTHEORA 1'
6080 codecmodules
="libtheora $codecmodules"
6081 # when --enable-theora is forced, we'd better provide a probably sane
6082 # $_ld_theora than nothing
6083 test -z "$_ld_theora" && extra_ldflags
="$extra_ldflags -ltheora -logg"
6085 def_theora
='#undef CONFIG_OGGTHEORA'
6086 nocodecmodules
="libtheora $nocodecmodules"
6090 echocheck
"mp3lib support"
6091 if test "$_mp3lib" = auto
; then
6092 test "$cc_vendor" = intel
&& test "$_cc_major" -le 10 -o "$_cc_major" -eq 11 -a "$_cc_minor" -eq 0 && _mp3lib
=no || _mp3lib
=yes
6094 if test "$_mp3lib" = yes ; then
6095 def_mp3lib
='#define CONFIG_MP3LIB 1'
6096 codecmodules
="mp3lib(internal) $codecmodules"
6098 def_mp3lib
='#undef CONFIG_MP3LIB'
6099 nocodecmodules
="mp3lib(internal) $nocodecmodules"
6103 # Any version of libmpg123 shall be fine.
6104 echocheck
"mpg123 support"
6105 def_mpg123
='#undef CONFIG_MPG123'
6106 if test "$_mpg123" = auto
; then
6108 statement_check mpg123.h
'mpg123_init()' -lmpg123 && _mpg123
=yes && extra_ldflags
="$extra_ldflags -lmpg123"
6110 if test "$_mpg123" = yes ; then
6111 def_mpg123
='#define CONFIG_MPG123 1'
6112 codecmodules
="mpg123 $codecmodules"
6114 nocodecmodules
="mpg123 $nocodecmodules"
6118 echocheck
"liba52 support"
6119 def_liba52
='#undef CONFIG_LIBA52'
6120 if test "$_liba52" = auto
; then
6123 #include <inttypes.h>
6124 #include <a52dec/a52.h>
6125 int main(void) { a52_state_t *testHand; testHand=a52_init(0); return 0; }
6127 cc_check
-la52 && _liba52
=yes && extra_ldflags
="$extra_ldflags -la52"
6129 if test "$_liba52" = yes ; then
6130 def_liba52
='#define CONFIG_LIBA52 1'
6131 codecmodules
="liba52 $codecmodules"
6133 nocodecmodules
="liba52 $nocodecmodules"
6137 echocheck
"internal libmpeg2 support"
6138 if test "$_libmpeg2" = auto
; then
6140 if alpha
&& test cc_vendor
=gnu
; then
6142 2*|
3.0*|
3.1*) # cannot compile MVI instructions
6144 res_comment
="broken gcc"
6149 if test "$_libmpeg2" = yes ; then
6150 def_libmpeg2
='#define CONFIG_LIBMPEG2 1'
6151 codecmodules
="libmpeg2(internal) $codecmodules"
6153 def_libmpeg2
='#undef CONFIG_LIBMPEG2'
6154 nocodecmodules
="libmpeg2(internal) $nocodecmodules"
6156 echores
"$_libmpeg2"
6158 echocheck
"libdca support"
6159 if test "$_libdca" = auto
; then
6161 for _ld_dca
in -ldca -ldts ; do
6162 statement_check_broken stdint.h dts.h
'dts_init(0)' $_ld_dca $_ld_lm &&
6163 extra_ldflags
="$extra_ldflags $_ld_dca" && _libdca
=yes && break
6166 if test "$_libdca" = yes ; then
6167 def_libdca
='#define CONFIG_LIBDCA 1'
6168 codecmodules
="libdca $codecmodules"
6170 def_libdca
='#undef CONFIG_LIBDCA'
6171 nocodecmodules
="libdca $nocodecmodules"
6175 echocheck
"libmpcdec (musepack, version >= 1.2.1 required)"
6176 if test "$_musepack" = auto
; then
6180 #include <mpcdec/mpcdec.h>
6182 mpc_streaminfo info;
6183 mpc_decoder decoder;
6184 mpc_decoder_set_streaminfo(&decoder, &info);
6185 mpc_decoder_decode_frame(&decoder, NULL, 0, NULL);
6189 cc_check
-lmpcdec $_ld_lm && _musepack
=yes
6191 if test "$_musepack" = yes ; then
6192 def_musepack
='#define CONFIG_MUSEPACK 1'
6193 extra_ldflags
="$extra_ldflags -lmpcdec"
6194 codecmodules
="musepack $codecmodules"
6196 def_musepack
='#undef CONFIG_MUSEPACK'
6197 nocodecmodules
="musepack $nocodecmodules"
6199 echores
"$_musepack"
6202 echocheck
"FAAC support"
6203 if test "$_faac" = auto
; then
6205 #include <inttypes.h>
6207 int main(void) { unsigned long x, y; faacEncOpen(48000, 2, &x, &y); return 0; }
6210 for _ld_faac
in "-lfaac" "-lfaac -lmp4v2 -lstdc++" ; do
6211 cc_check
$_ld_faac $_ld_lm && libs_mencoder
="$libs_mencoder $_ld_faac" && _faac
=yes && break
6214 if test "$_faac" = yes ; then
6215 def_faac
="#define CONFIG_FAAC 1"
6216 codecmodules
="faac $codecmodules"
6218 def_faac
="#undef CONFIG_FAAC"
6219 nocodecmodules
="faac $nocodecmodules"
6224 echocheck
"FAAD2 support"
6225 if test "$_faad_internal" = auto
; then
6226 if x86_32
&& test cc_vendor
=gnu
; then
6228 3.1*|
3.2) # ICE/insn with these versions
6230 res_comment
="broken gcc"
6242 if test "$_faad" = auto
; then
6245 #ifndef FAAD_MIN_STREAMSIZE
6246 #error Too old version
6248 int main(void) { faacDecHandle testhand; faacDecFrameInfo testinfo;
6249 testhand = faacDecOpen(); faacDecInit(0, 0, 0, 0, 0); return 0; }
6251 cc_check
-lfaad $_ld_lm && _faad
=yes
6254 def_faad
='#undef CONFIG_FAAD'
6255 def_faad_internal
="#undef CONFIG_FAAD_INTERNAL"
6256 if test "$_faad_internal" = yes ; then
6257 def_faad_internal
="#define CONFIG_FAAD_INTERNAL 1"
6258 res_comment
="internal floating-point"
6259 if test "$_faad_fixed" = yes ; then
6260 # The FIXED_POINT implementation of FAAD2 improves performance
6261 # on some platforms, especially for SBR files.
6262 cflags_faad_fixed
="-DFIXED_POINT"
6263 res_comment
="internal fixed-point"
6265 elif test "$_faad" = yes ; then
6266 extra_ldflags
="$extra_ldflags -lfaad"
6269 if test "$_faad" = yes ; then
6270 def_faad
='#define CONFIG_FAAD 1'
6271 if test "$_faad_internal" = yes ; then
6272 codecmodules
="faad2(internal) $codecmodules"
6274 codecmodules
="faad2 $codecmodules"
6278 nocodecmodules
="faad2 $nocodecmodules"
6283 echocheck
"LADSPA plugin support"
6284 if test "$_ladspa" = auto
; then
6286 statement_check ladspa.h
'LADSPA_Descriptor ld = {0}' && _ladspa
=yes
6288 if test "$_ladspa" = yes; then
6289 def_ladspa
="#define CONFIG_LADSPA 1"
6291 def_ladspa
="#undef CONFIG_LADSPA"
6296 echocheck
"libbs2b audio filter support"
6297 if test "$_libbs2b" = auto
; then
6300 #if BS2B_VERSION_MAJOR < 3
6301 #error Please use libbs2b >= 3.0.0, older versions are not supported.
6311 if $_pkg_config --exists libbs2b
; then
6312 _inc_tmp
=$
($_pkg_config --cflags libbs2b
)
6313 _ld_tmp
=$
($_pkg_config --libs libbs2b
)
6314 cc_check
$_inc_tmp $_ld_tmp && extra_ldflags
="$extra_ldflags $_ld_tmp" &&
6315 extra_cflags
="$extra_cflags $_inc_tmp" && _libbs2b
=yes
6317 for _inc_tmp
in "" -I/usr
/include
/bs2b
-I/usr
/local
/include \
6318 -I/usr
/local
/include
/bs2b
; do
6319 if cc_check
$_inc_tmp $_ld_lm -lbs2b ; then
6320 extra_ldflags
="$extra_ldflags -lbs2b"
6321 extra_cflags
="$extra_cflags $_inc_tmp"
6328 def_libbs2b
="#undef CONFIG_LIBBS2B"
6329 test "$_libbs2b" = yes && def_libbs2b
="#define CONFIG_LIBBS2B 1"
6333 if test -z "$_codecsdir" ; then
6334 for dir
in "$_libdir/codecs" "$_libdir/win32" /usr
/local
/lib
/codecs \
6335 /usr
/lib
/codecs
/usr
/local
/lib
/win32
/usr
/lib
/win32
; do
6336 if test -d "$dir" ; then
6342 # Fall back on default directory.
6343 if test -z "$_codecsdir" ; then
6344 _codecsdir
="$_libdir/codecs"
6345 mingw32 || os2
&& _codecsdir
="codecs"
6349 echocheck
"Win32 codecs"
6350 if test "$_win32dll" = auto
; then
6352 if x86_32
&& ! qnx
; then
6356 if test "$_win32dll" = yes ; then
6357 def_win32dll
='#define CONFIG_WIN32DLL 1'
6359 def_win32_loader
='#define WIN32_LOADER 1'
6360 _win32_emulation
=yes
6362 extra_ldflags
="$extra_ldflags -ladvapi32 -lole32"
6363 res_comment
="using native windows"
6365 codecmodules
="win32 $codecmodules"
6367 def_win32dll
='#undef CONFIG_WIN32DLL'
6368 def_win32_loader
='#undef WIN32_LOADER'
6369 nocodecmodules
="win32 $nocodecmodules"
6371 echores
"$_win32dll"
6374 echocheck
"XAnim codecs"
6375 if test "$_xanim" = auto
; then
6377 res_comment
="dynamic loader support needed"
6378 if test "$_dl" = yes ; then
6382 if test "$_xanim" = yes ; then
6383 def_xanim
='#define CONFIG_XANIM 1'
6384 codecmodules
="xanim $codecmodules"
6386 def_xanim
='#undef CONFIG_XANIM'
6387 nocodecmodules
="xanim $nocodecmodules"
6392 echocheck
"RealPlayer codecs"
6393 if test "$_real" = auto
; then
6395 res_comment
="dynamic loader support needed"
6396 if test "$_dl" = yes ||
test "$_win32dll" = yes &&
6397 (linux || freebsd || netbsd || openbsd || dragonfly || darwin || win32 || os2
) ; then
6401 if test "$_real" = yes ; then
6402 def_real
='#define CONFIG_REALCODECS 1'
6403 codecmodules
="real $codecmodules"
6405 def_real
='#undef CONFIG_REALCODECS'
6406 nocodecmodules
="real $nocodecmodules"
6411 echocheck
"QuickTime codecs"
6413 def_qtx_win32
='#undef CONFIG_QTX_CODECS_WIN32'
6414 if test "$_qtx" = auto
; then
6415 test "$_win32dll" = yes ||
test "$quicktime" = yes && _qtx
=yes
6417 if test "$_qtx" = yes ; then
6418 def_qtx
='#define CONFIG_QTX_CODECS 1'
6419 win32
&& _qtx_codecs_win32
=yes && def_qtx_win32
='#define CONFIG_QTX_CODECS_WIN32 1'
6420 codecmodules
="qtx $codecmodules"
6421 darwin || win32 || _qtx_emulation
=yes
6423 def_qtx
='#undef CONFIG_QTX_CODECS'
6424 nocodecmodules
="qtx $nocodecmodules"
6428 echocheck
"Nemesi Streaming Media libraries"
6429 if test "$_nemesi" = auto
&& test "$networking" = yes ; then
6431 if $_pkg_config libnemesi
--atleast-version=0.6.3 ; then
6432 extra_cflags
="$extra_cflags $($_pkg_config --cflags libnemesi)"
6433 extra_ldflags
="$extra_ldflags $($_pkg_config --libs libnemesi)"
6437 if test "$_nemesi" = yes; then
6439 def_nemesi
='#define CONFIG_LIBNEMESI 1'
6440 inputmodules
="nemesi $inputmodules"
6442 _native_rtsp
="$networking"
6444 def_nemesi
='#undef CONFIG_LIBNEMESI'
6445 noinputmodules
="nemesi $noinputmodules"
6449 echocheck
"LIVE555 Streaming Media libraries"
6450 if test "$_live" = auto
&& test "$networking" = yes ; then
6451 cat > $TMPCPP << EOF
6452 #include <liveMedia.hh>
6453 #if (LIVEMEDIA_LIBRARY_VERSION_INT < 1141257600)
6454 #error Please upgrade to version 2006.03.03 or later of the "LIVE555 Streaming Media" libraries - available from <www.live555.com/liveMedia/>
6456 int main(void) { return 0; }
6460 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
6461 cxx_check
$I/liveMedia
/include
$I/UsageEnvironment
/include \
6462 $I/groupsock
/include
&& _livelibdir
=$
(echo $I|
sed s
/-I//) && \
6463 extra_ldflags
="$_livelibdir/liveMedia/libliveMedia.a \
6464 $_livelibdir/groupsock/libgroupsock.a \
6465 $_livelibdir/UsageEnvironment/libUsageEnvironment.a \
6466 $_livelibdir/BasicUsageEnvironment/libBasicUsageEnvironment.a \
6467 $extra_ldflags -lstdc++" \
6468 extra_cxxflags
="-I$_livelibdir/liveMedia/include \
6469 -I$_livelibdir/UsageEnvironment/include \
6470 -I$_livelibdir/BasicUsageEnvironment/include \
6471 -I$_livelibdir/groupsock/include" && \
6474 if test "$_live" != yes ; then
6475 ld_tmp
="-lliveMedia -lgroupsock -lUsageEnvironment -lBasicUsageEnvironment -lstdc++"
6476 if cxx_check
-I/usr
/include
/liveMedia
-I/usr
/include
/UsageEnvironment
-I/usr
/include
/groupsock
$ld_tmp; then
6481 if test "$_live" = yes && test "$networking" = yes; then
6482 test $_livelibdir && res_comment
="using $_livelibdir"
6483 def_live
='#define CONFIG_LIVE555 1'
6484 inputmodules
="live555 $inputmodules"
6485 elif test "$_live_dist" = yes && test "$networking" = yes; then
6486 res_comment
="using distribution version"
6488 def_live
='#define CONFIG_LIVE555 1'
6489 extra_ldflags
="$extra_ldflags $ld_tmp"
6490 extra_cxxflags
="-I/usr/include/liveMedia -I/usr/include/UsageEnvironment \
6491 -I/usr/include/BasicUsageEnvironment -I/usr/include/groupsock"
6492 inputmodules
="live555 $inputmodules"
6495 def_live
='#undef CONFIG_LIVE555'
6496 noinputmodules
="live555 $noinputmodules"
6502 all_ffmpeg_libs
="libavutil libavcodec libavformat libswscale libpostproc"
6503 echocheck
"FFmpeg ($all_ffmpeg_libs)"
6504 if test "$ffmpeg" = auto
; then
6506 if $_pkg_config --exists $all_ffmpeg_libs ; then
6507 inc_ffmpeg
=$
($_pkg_config --cflags $all_ffmpeg_libs)
6508 _ld_tmp
=$
($_pkg_config --libs $all_ffmpeg_libs)
6509 extra_ldflags
="$extra_ldflags $_ld_tmp"
6510 extra_cflags
="$extra_cflags $inc_ffmpeg"
6512 elif header_check libavcore
/avutil.h
-lpostproc -lswscale -lavformat -lavcodec -lavutil $_ld_lm ; then
6513 extra_ldflags
="$extra_ldflags -lpostproc -lswscale -lavformat -lavcodec -lavutil -lavcore"
6519 def_ffmpeg_eval_api
="#undef CONFIG_FFMPEG_EVAL_API"
6520 if test "$ffmpeg" = yes; then
6521 def_ffmpeg
='#define CONFIG_FFMPEG 1'
6522 codecmodules
="ffmpeg $codecmodules"
6523 if $_pkg_config --atleast-version=50.18.0 libavutil
; then
6525 def_ffmpeg_eval_api
="#define CONFIG_FFMPEG_EVAL_API 1"
6528 def_ffmpeg
='#undef CONFIG_FFMPEG'
6529 nocodecmodules
="ffmpeg $nocodecmodules"
6533 def_ffmpeg_internals
="#undef CONFIG_FFMPEG_INTERNALS"
6534 if ! test -z "$_ffmpeg_source" ; then
6535 test "$ffmpeg" = yes && def_ffmpeg_internals
="#define CONFIG_FFMPEG_INTERNALS 1" && ffmpeg_internals
=yes
6540 echocheck
"libdv-0.9.5+"
6541 if test "$_libdv" = auto
; then
6543 statement_check libdv
/dv.h
'dv_encoder_new(1, 1, 1)' -ldv $_ld_pthread $_ld_lm && _libdv
=yes
6545 if test "$_libdv" = yes ; then
6546 def_libdv
='#define CONFIG_LIBDV095 1'
6547 extra_ldflags
="$extra_ldflags -ldv"
6548 codecmodules
="libdv $codecmodules"
6550 def_libdv
='#undef CONFIG_LIBDV095'
6551 nocodecmodules
="libdv $nocodecmodules"
6557 if test "$_xvid" = auto
; then
6559 for _ld_tmp
in "-lxvidcore $_ld_lm" "-lxvidcore $_ld_lm $_ld_pthread" ; do
6560 statement_check xvid.h
'xvid_global(0, 0, 0, 0)' $_ld_tmp &&
6561 extra_ldflags
="$extra_ldflags $_ld_tmp" && _xvid
=yes && break
6565 if test "$_xvid" = yes ; then
6566 def_xvid
='#define CONFIG_XVID4 1'
6567 codecmodules
="xvid $codecmodules"
6569 def_xvid
='#undef CONFIG_XVID4'
6570 nocodecmodules
="xvid $nocodecmodules"
6575 if test "$_x264" = auto
; then
6577 #include <inttypes.h>
6580 #error We do not support old versions of x264. Get the latest from git.
6582 int main(void) { x264_encoder_open((void*)0); return 0; }
6585 for _ld_x264
in "-lx264 $_ld_pthread" "-lx264 $_ld_pthread $_ld_lm" ; do
6586 cc_check
$_ld_x264 && libs_mencoder
="$libs_mencoder $_ld_x264" && _x264
=yes && break
6590 if test "$_x264" = yes ; then
6591 def_x264
='#define CONFIG_X264 1'
6592 codecmodules
="x264 $codecmodules"
6594 def_x264
='#undef CONFIG_X264'
6595 nocodecmodules
="x264 $nocodecmodules"
6600 if test "$_libnut" = auto
; then
6603 nut_context_tt * nut;
6604 int main(void) { nut_error(0); return 0; }
6607 cc_check
-lnut && _libnut
=yes
6610 if test "$_libnut" = yes ; then
6611 def_libnut
='#define CONFIG_LIBNUT 1'
6612 extra_ldflags
="$extra_ldflags -lnut"
6614 def_libnut
='#undef CONFIG_LIBNUT'
6618 # These VO checks must be done after the FFmpeg one
6619 echocheck
"/dev/mga_vid"
6620 if test "$_mga" = auto
; then
6622 test -c /dev
/mga_vid
&& _mga
=yes
6624 if test "$_mga" = yes ; then
6625 def_mga
='#define CONFIG_MGA 1'
6626 vomodules
="mga $vomodules"
6628 def_mga
='#undef CONFIG_MGA'
6629 novomodules
="mga $novomodules"
6635 if test "$_xmga" = auto
; then
6637 test "$_x11" = yes && test "$_mga" = yes && _xmga
=yes
6639 if test "$_xmga" = yes ; then
6640 def_xmga
='#define CONFIG_XMGA 1'
6641 vomodules
="xmga $vomodules"
6643 def_xmga
='#undef CONFIG_XMGA'
6644 novomodules
="xmga $novomodules"
6649 if test "$_zr" = auto
; then
6650 #36067's seem to identify themselves as 36057PQC's, so the line
6651 #below should work for 36067's and 36057's.
6652 if grep -q -s -e "Multimedia video controller: Zoran Corporation ZR36057" /proc
/pci
; then
6658 if test "$_zr" = yes ; then
6659 if test "$ffmpeg_internals" = yes ; then
6660 def_zr
='#define CONFIG_ZR 1'
6661 vomodules
="zr zr2 $vomodules"
6663 res_comment
="FFmpeg internal headers are required by zr, sorry"
6664 novomodules
="zr $novomodules"
6665 def_zr
='#undef CONFIG_ZR'
6668 def_zr
='#undef CONFIG_ZR'
6669 novomodules
="zr zr2 $novomodules"
6673 # mencoder requires (optional) those libs: libmp3lame
6674 if test "$_mencoder" != no
; then
6676 echocheck
"libmp3lame"
6677 def_mp3lame
='#undef CONFIG_MP3LAME'
6678 def_mp3lame_preset
='#undef CONFIG_MP3LAME_PRESET'
6679 def_mp3lame_preset_medium
='#undef CONFIG_MP3LAME_PRESET_MEDIUM'
6680 if test "$_mp3lame" = auto
; then
6683 #include <lame/lame.h>
6684 int main(void) { lame_version_t lv; lame_init();
6685 get_lame_version_numerical(&lv);
6688 cc_check
-lmp3lame $_ld_lm && _mp3lame
=yes
6690 if test "$_mp3lame" = yes ; then
6691 def_mp3lame
="#define CONFIG_MP3LAME 1"
6692 _ld_mp3lame
=-lmp3lame
6693 libs_mencoder
="$libs_mencoder $_ld_mp3lame"
6694 statement_check lame
/lame.h
'lame_set_preset(NULL, STANDARD_FAST)' $_ld_mp3lame $_ld_lm && def_mp3lame_preset
="#define CONFIG_MP3LAME_PRESET 1"
6695 statement_check lame
/lame.h
'lame_set_preset(NULL, MEDIUM_FAST)' $_ld_mp3lame $_ld_lm && def_mp3lame_preset_medium
="#define CONFIG_MP3LAME_PRESET_MEDIUM 1"
6699 fi # test "$_mencoder" != no
6701 echocheck
"mencoder"
6702 if test "$_mencoder" = yes ; then
6703 def_muxers
='#define CONFIG_MUXERS 1'
6705 def_muxers
='#define CONFIG_MUXERS 0'
6707 echores
"$_mencoder"
6710 echocheck
"UnRAR executable"
6711 if test "$_unrar_exec" = auto
; then
6713 mingw32
&& _unrar_exec
="no"
6715 if test "$_unrar_exec" = yes ; then
6716 def_unrar_exec
='#define CONFIG_UNRAR_EXEC 1'
6718 def_unrar_exec
='#undef CONFIG_UNRAR_EXEC'
6720 echores
"$_unrar_exec"
6722 echocheck
"TV interface"
6723 if test "$_tv" = yes ; then
6724 def_tv
='#define CONFIG_TV 1'
6725 inputmodules
="tv $inputmodules"
6727 noinputmodules
="tv $noinputmodules"
6728 def_tv
='#undef CONFIG_TV'
6733 if freebsd || netbsd || openbsd || dragonfly || bsdos
; then
6734 echocheck
"*BSD BT848 bt8xx header"
6736 for file in "machine/ioctl_bt848.h" \
6737 "dev/bktr/ioctl_bt848.h" \
6738 "dev/video/bktr/ioctl_bt848.h" \
6739 "dev/ic/bt8xx.h" ; do
6741 #include <sys/types.h>
6742 #include <sys/ioctl.h>
6744 int main(void) { ioctl(0, TVTUNER_GETFREQ, 0); return 0; }
6748 _ioctl_bt848_h_name
="$file"
6752 if test "$_ioctl_bt848_h" = yes ; then
6753 def_ioctl_bt848_h_name
="#define IOCTL_BT848_H_NAME <$_ioctl_bt848_h_name>"
6754 res_comment
="using $_ioctl_bt848_h_name"
6756 def_ioctl_bt848_h_name
="#undef IOCTL_BT848_H_NAME"
6758 echores
"$_ioctl_bt848_h"
6760 echocheck
"*BSD ioctl_meteor.h"
6762 for file in "machine/ioctl_meteor.h" \
6763 "dev/bktr/ioctl_meteor.h" \
6764 "dev/video/bktr/ioctl_meteor.h" ; do
6766 #include <sys/types.h>
6768 int main(void) { ioctl(0, METEORSINPUT, 0); return 0; }
6772 _ioctl_meteor_h_name
="$file"
6776 if test "$_ioctl_meteor_h" = yes ; then
6777 def_ioctl_meteor_h_name
="#define IOCTL_METEOR_H_NAME <$_ioctl_meteor_h_name>"
6778 res_comment
="using $_ioctl_meteor_h_name"
6780 def_ioctl_meteor_h_name
="#undef IOCTL_METEOR_H_NAME"
6782 echores
"$_ioctl_meteor_h"
6784 echocheck
"*BSD BrookTree 848 TV interface"
6785 if test "$_tv_bsdbt848" = auto
; then
6787 if test "$_tv" = yes ; then
6789 #include <sys/types.h>
6790 $def_ioctl_meteor_h_name
6791 $def_ioctl_bt848_h_name
6792 #ifdef IOCTL_METEOR_H_NAME
6793 #include IOCTL_METEOR_H_NAME
6795 #ifdef IOCTL_BT848_H_NAME
6796 #include IOCTL_BT848_H_NAME
6799 ioctl(0, METEORSINPUT, 0);
6800 ioctl(0, TVTUNER_GETFREQ, 0);
6804 cc_check
&& _tv_bsdbt848
=yes
6807 if test "$_tv_bsdbt848" = yes ; then
6808 def_tv_bsdbt848
='#define CONFIG_TV_BSDBT848 1'
6809 inputmodules
="tv-bsdbt848 $inputmodules"
6811 def_tv_bsdbt848
='#undef CONFIG_TV_BSDBT848'
6812 noinputmodules
="tv-bsdbt848 $noinputmodules"
6814 echores
"$_tv_bsdbt848"
6815 fi #if freebsd || netbsd || openbsd || dragonfly || bsdos
6818 echocheck
"DirectShow TV interface"
6819 if test "$_tv_dshow" = auto
; then
6821 if test "$_tv" = yes && win32
; then
6826 CoCreateInstance((GUID*)&GUID_NULL, NULL, CLSCTX_INPROC_SERVER, &GUID_NULL, &p);
6830 cc_check
-lole32 -luuid && _tv_dshow
=yes
6833 if test "$_tv_dshow" = yes ; then
6834 inputmodules
="tv-dshow $inputmodules"
6835 def_tv_dshow
='#define CONFIG_TV_DSHOW 1'
6836 extra_ldflags
="$extra_ldflags -lole32 -luuid"
6838 noinputmodules
="tv-dshow $noinputmodules"
6839 def_tv_dshow
='#undef CONFIG_TV_DSHOW'
6841 echores
"$_tv_dshow"
6844 echocheck
"Video 4 Linux TV interface"
6845 if test "$_tv_v4l1" = auto
; then
6847 if test "$_tv" = yes && linux
; then
6848 header_check linux
/videodev.h
&& _tv_v4l1
=yes
6851 if test "$_tv_v4l1" = yes ; then
6854 def_tv_v4l
='#define CONFIG_TV_V4L 1'
6855 def_tv_v4l1
='#define CONFIG_TV_V4L1 1'
6856 inputmodules
="tv-v4l $inputmodules"
6858 noinputmodules
="tv-v4l1 $noinputmodules"
6859 def_tv_v4l
='#undef CONFIG_TV_V4L'
6864 echocheck
"Video 4 Linux 2 TV interface"
6865 if test "$_tv_v4l2" = auto
; then
6867 if test "$_tv" = yes && linux
; then
6868 header_check linux
/videodev2.h
&& _tv_v4l2
=yes
6871 if test "$_tv_v4l2" = yes ; then
6874 def_tv_v4l
='#define CONFIG_TV_V4L 1'
6875 def_tv_v4l2
='#define CONFIG_TV_V4L2 1'
6876 inputmodules
="tv-v4l2 $inputmodules"
6878 noinputmodules
="tv-v4l2 $noinputmodules"
6879 def_tv_v4l2
='#undef CONFIG_TV_V4L2'
6884 echocheck
"Radio interface"
6885 if test "$_radio" = yes ; then
6886 def_radio
='#define CONFIG_RADIO 1'
6887 inputmodules
="radio $inputmodules"
6888 if test "$_alsa9" != yes -a "$_alsa1x" != yes -a "$_ossaudio" != yes ; then
6891 if test "$_radio_capture" = yes ; then
6893 def_radio_capture
="#define CONFIG_RADIO_CAPTURE 1"
6895 def_radio_capture
="#undef CONFIG_RADIO_CAPTURE"
6898 noinputmodules
="radio $noinputmodules"
6899 def_radio
='#undef CONFIG_RADIO'
6900 def_radio_capture
="#undef CONFIG_RADIO_CAPTURE"
6904 echocheck
"Capture for Radio interface"
6905 echores
"$_radio_capture"
6907 echocheck
"Video 4 Linux 2 Radio interface"
6908 if test "$_radio_v4l2" = auto
; then
6910 if test "$_radio" = yes && linux
; then
6911 header_check linux
/videodev2.h
&& _radio_v4l2
=yes
6914 if test "$_radio_v4l2" = yes ; then
6915 def_radio_v4l2
='#define CONFIG_RADIO_V4L2 1'
6917 def_radio_v4l2
='#undef CONFIG_RADIO_V4L2'
6919 echores
"$_radio_v4l2"
6921 echocheck
"Video 4 Linux Radio interface"
6922 if test "$_radio_v4l" = auto
; then
6924 if test "$_radio" = yes && linux
; then
6925 header_check linux
/videodev.h
&& _radio_v4l
=yes
6928 if test "$_radio_v4l" = yes ; then
6929 def_radio_v4l
='#define CONFIG_RADIO_V4L 1'
6931 def_radio_v4l
='#undef CONFIG_RADIO_V4L'
6933 echores
"$_radio_v4l"
6935 if freebsd || netbsd || openbsd || dragonfly || bsdos \
6936 && test "$_radio" = yes && test "$_radio_bsdbt848" = auto
; then
6937 echocheck
"*BSD BrookTree 848 Radio interface"
6940 #include <sys/types.h>
6941 $def_ioctl_bt848_h_name
6942 #ifdef IOCTL_BT848_H_NAME
6943 #include IOCTL_BT848_H_NAME
6945 int main(void) { ioctl(0, RADIO_GETFREQ, 0); return 0; }
6947 cc_check
&& _radio_bsdbt848
=yes
6948 echores
"$_radio_bsdbt848"
6949 fi #if freebsd || netbsd || openbsd || dragonfly || bsdos && _radio && _radio_bsdbt848
6951 if test "$_radio_bsdbt848" = yes ; then
6952 def_radio_bsdbt848
='#define CONFIG_RADIO_BSDBT848 1'
6954 def_radio_bsdbt848
='#undef CONFIG_RADIO_BSDBT848'
6957 if test "$_radio_v4l" = no
&& test "$_radio_v4l2" = no
&& \
6958 test "$_radio_bsdbt848" = no
&& test "$_radio" = yes ; then
6959 die
"Radio driver requires BSD BT848, V4L or V4L2!"
6962 echocheck
"Video 4 Linux 2 MPEG PVR interface"
6963 if test "$_pvr" = auto
; then
6965 if test "$_tv_v4l2" = yes && linux
; then
6967 #include <linux/videodev2.h>
6968 int main(void) { struct v4l2_ext_controls ext; return ext.controls->value; }
6970 cc_check
&& _pvr
=yes
6973 if test "$_pvr" = yes ; then
6974 def_pvr
='#define CONFIG_PVR 1'
6975 inputmodules
="pvr $inputmodules"
6977 noinputmodules
="pvr $noinputmodules"
6978 def_pvr
='#undef CONFIG_PVR'
6984 if test "$_ftp" = "auto" ; then
6985 test "$networking" = "yes" && ! beos
&& _ftp
=yes
6987 if test "$_ftp" = yes ; then
6988 def_ftp
='#define CONFIG_FTP 1'
6989 inputmodules
="ftp $inputmodules"
6991 noinputmodules
="ftp $noinputmodules"
6992 def_ftp
='#undef CONFIG_FTP'
6996 echocheck
"vstream client"
6997 if test "$_vstream" = auto
; then
7000 #include <vstream-client.h>
7001 void vstream_error(const char *format, ... ) {}
7002 int main(void) { vstream_start(); return 0; }
7004 cc_check
-lvstream-client && _vstream
=yes
7006 if test "$_vstream" = yes ; then
7007 def_vstream
='#define CONFIG_VSTREAM 1'
7008 inputmodules
="vstream $inputmodules"
7009 extra_ldflags
="$extra_ldflags -lvstream-client"
7011 noinputmodules
="vstream $noinputmodules"
7012 def_vstream
='#undef CONFIG_VSTREAM'
7017 echocheck
"OSD menu"
7018 if test "$_menu" = yes ; then
7019 def_menu
='#define CONFIG_MENU 1'
7020 test $_dvbin = "yes" && _menu_dvbin
=yes
7022 def_menu
='#undef CONFIG_MENU'
7028 echocheck
"Subtitles sorting"
7029 if test "$_sortsub" = yes ; then
7030 def_sortsub
='#define CONFIG_SORTSUB 1'
7032 def_sortsub
='#undef CONFIG_SORTSUB'
7037 echocheck
"XMMS inputplugin support"
7038 if test "$_xmms" = yes ; then
7039 if ( xmms-config
--version ) >/dev
/null
2>&1 ; then
7040 _xmmsplugindir
=$
(xmms-config
--input-plugin-dir)
7041 _xmmslibdir
=$
(xmms-config
--exec-prefix)/lib
7043 _xmmsplugindir
=/usr
/lib
/xmms
/Input
7044 _xmmslibdir
=/usr
/lib
7047 def_xmms
='#define CONFIG_XMMS 1'
7049 extra_ldflags
="$extra_ldflags ${_xmmslibdir}/libxmms.dylib"
7051 extra_ldflags
="$extra_ldflags ${_xmmslibdir}/libxmms.so.1 -export-dynamic"
7054 def_xmms
='#undef CONFIG_XMMS'
7058 if test "$_charset" != "noconv" ; then
7059 def_charset
="#define MSG_CHARSET \"$_charset\""
7061 def_charset
="#undef MSG_CHARSET"
7065 #############################################################################
7067 echocheck
"automatic gdb attach"
7068 if test "$_crash_debug" = yes ; then
7069 def_crash_debug
='#define CONFIG_CRASH_DEBUG 1'
7071 def_crash_debug
='#undef CONFIG_CRASH_DEBUG'
7074 echores
"$_crash_debug"
7076 echocheck
"compiler support for noexecstack"
7077 if cflag_check
-Wl,-z,noexecstack
; then
7078 extra_ldflags
="-Wl,-z,noexecstack $extra_ldflags"
7084 echocheck
"linker support for --nxcompat --no-seh --dynamicbase"
7085 if cflag_check
"-Wl,--nxcompat -Wl,--no-seh -Wl,--dynamicbase" ; then
7086 extra_ldflags
="-Wl,--nxcompat -Wl,--no-seh -Wl,--dynamicbase $extra_ldflags"
7093 # Dynamic linking flags
7094 # (FIXME: 'echocheck "dynamic linking"' above and modify here accordingly)
7096 freebsd || netbsd || openbsd || dragonfly || bsdos
&& _ld_dl_dynamic
='-rdynamic'
7097 if test "$_real" = yes ||
test "$_xanim" = yes && ! win32
&& ! qnx
&& ! darwin
&& ! os2
&& ! sunos
; then
7098 _ld_dl_dynamic
='-rdynamic'
7101 extra_ldflags
="$extra_ldflags $_ld_pthread $_ld_dl $_ld_dl_dynamic"
7102 bsdos
&& extra_ldflags
="$extra_ldflags -ldvd"
7103 (netbsd || openbsd
) && x86_32
&& extra_ldflags
="$extra_ldflags -li386"
7105 def_debug
='#undef MP_DEBUG'
7106 test "$_debug" != "" && def_debug
='#define MP_DEBUG 1'
7109 echocheck
"joystick"
7110 def_joystick
='#undef CONFIG_JOYSTICK'
7111 if test "$_joystick" = yes ; then
7112 if linux || freebsd
; then
7113 # TODO add some check
7114 def_joystick
='#define CONFIG_JOYSTICK 1'
7117 res_comment
="unsupported under $system_name"
7120 echores
"$_joystick"
7123 if test "$_lirc" = auto
; then
7125 header_check lirc
/lirc_client.h
-llirc_client && _lirc
=yes
7127 if test "$_lirc" = yes ; then
7128 def_lirc
='#define CONFIG_LIRC 1'
7129 libs_mplayer
="$libs_mplayer -llirc_client"
7131 def_lirc
='#undef CONFIG_LIRC'
7136 if test "$_lircc" = auto
; then
7138 header_check lirc
/lircc.h
-llircc && _lircc
=yes
7140 if test "$_lircc" = yes ; then
7141 def_lircc
='#define CONFIG_LIRCC 1'
7142 libs_mplayer
="$libs_mplayer -llircc"
7144 def_lircc
='#undef CONFIG_LIRCC'
7149 # Detect maemo development platform libraries availability (http://www.maemo.org),
7150 # they are used when run on Nokia 770|8x0
7151 echocheck
"maemo (Nokia 770|8x0)"
7152 if test "$_maemo" = auto
; then
7154 statement_check libosso.h
'osso_initialize('', '', 0, NULL)' $
($_pkg_config --cflags --libs libosso
2>/dev
/null
) && _maemo
=yes
7156 if test "$_maemo" = yes ; then
7157 def_maemo
='#define CONFIG_MAEMO 1'
7158 extra_cflags
="$extra_cflags $($_pkg_config --cflags libosso)"
7159 extra_ldflags
="$extra_ldflags $($_pkg_config --libs libosso) -lXsp"
7161 def_maemo
='#undef CONFIG_MAEMO'
7166 #############################################################################
7168 # On OS/2 nm supports only a.out. So the -Zomf compiler option to generate
7169 # the OMF format needs to come after the 'extern symbol prefix' check, which
7172 extra_ldflags
="$extra_ldflags -Zomf -Zstack 16384 -Zbin-files -Zargs-wild"
7175 # linker paths should be the same for mencoder and mplayer
7177 for I
in $libs_mplayer ; do
7178 _tmp
=$
(echo $I |
sed -e 's/^-L.*$//')
7179 if test -z "$_tmp" ; then
7180 extra_ldflags
="$extra_ldflags $I"
7182 _ld_tmp
="$_ld_tmp $I"
7185 libs_mplayer
=$_ld_tmp
7188 #############################################################################
7189 # 64 bit file offsets?
7190 if test "$_largefiles" = yes || freebsd
; then
7191 CFLAGS
="$CFLAGS -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
7192 if test "$_dvdread" = yes ||
test "$_libdvdcss_internal" = yes ; then
7193 # dvdread support requires this (for off64_t)
7194 CFLAGS
="$CFLAGS -D_LARGEFILE64_SOURCE"
7198 CXXFLAGS
=" $CFLAGS -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS"
7200 # This must be the last test to be performed. Any other tests following it
7201 # could fail due to linker errors. libdvdnavmini is intentionally not linked
7202 # against libdvdread (to permit MPlayer to use its own copy of the library).
7203 # So any compilation using the flags added here but not linking against
7204 # libdvdread can fail.
7205 echocheck
"DVD support (libdvdnav)"
7206 if test "$_dvdread_internal" = yes && test ! -f "libdvdnav/dvdnav.c" ; then
7210 if test "$_dvdnav" = auto
; then
7211 if test "$_dvdread_internal" = yes ; then
7214 res_comment
="internal"
7216 $_dvdnavconfig --version --minilibs >> $TMPLOG 2>&1 || _dvdnav
=no
7219 if test "$_dvdnav" = auto
; then
7221 _dvdnavdir
=$
($_dvdnavconfig --cflags)
7222 _dvdnavlibs
=$
($_dvdnavconfig --libs)
7223 statement_check_broken stdint.h dvdnav
/dvdnav.h
'dvdnav_t *dvd = 0' $_dvdnavdir $_dvdnavlibs $_ld_dl $_ld_pthread && _dvdnav
=yes
7225 if test "$_dvdnav" = yes ; then
7227 def_dvdnav
='#define CONFIG_DVDNAV 1'
7228 if test "$dvdnav_internal" = yes ; then
7229 cflags_libdvdnav
="-Ilibdvdnav"
7230 inputmodules
="dvdnav(internal) $inputmodules"
7232 extra_cflags
="$extra_cflags $($_dvdnavconfig --cflags)"
7233 extra_ldflags
="$extra_ldflags $($_dvdnavconfig --minilibs)"
7234 inputmodules
="dvdnav $inputmodules"
7237 def_dvdnav
='#undef CONFIG_DVDNAV'
7238 noinputmodules
="dvdnav $noinputmodules"
7242 # DO NOT ADD ANY TESTS THAT USE LINKER FLAGS HERE (like cc_check).
7243 # Read dvdnav comment above.
7246 list
=$
(echo $1 |
tr '[a-z]' '[A-Z]')
7247 item
=$
(echo $2 |
tr '[a-z]' '[A-Z]')
7249 for part
in $list; do
7250 if $
(echo $item |
grep -q -E "(^| )$part($| )"); then
7251 echo "${nprefix}_$part = yes"
7256 #############################################################################
7257 echo "Creating config.mak"
7258 cat > config.mak
<< EOF
7259 # -------- Generated by configure -----------
7261 # Ensure that locale settings do not interfere with shell commands.
7264 CONFIGURATION = $configuration
7267 DOC_LANGS = $language_doc
7268 DOC_LANG_ALL = $doc_lang_all
7269 MAN_LANGS = $language_man
7270 MAN_LANG_ALL = $man_lang_all
7271 MSG_LANGS = $language_msg
7272 MSG_LANG_ALL = $msg_lang_all
7274 prefix = \$(DESTDIR)$_prefix
7275 BINDIR = \$(DESTDIR)$_bindir
7276 DATADIR = \$(DESTDIR)$_datadir
7277 LIBDIR = \$(DESTDIR)$_libdir
7278 MANDIR = \$(DESTDIR)$_mandir
7279 CONFDIR = \$(DESTDIR)$_confdir
7280 LOCALEDIR = \$(DESTDIR)$_localedir
7288 INSTALLSTRIP = $_install_strip
7291 CFLAGS = $WARNFLAGS $WARN_CFLAGS $CFLAGS $extra_cflags
7292 CXXFLAGS = $WARNFLAGS $CXXFLAGS $extra_cflags $extra_cxxflags
7293 DEPFLAGS = $DEPFLAGS
7295 CFLAGS_DHAHELPER = $cflags_dhahelper
7296 CFLAGS_FAAD_FIXED = $cflags_faad_fixed
7297 CFLAGS_LIBDVDCSS = $cflags_libdvdcss
7298 CFLAGS_LIBDVDCSS_DVDREAD = $cflags_libdvdcss_dvdread
7299 CFLAGS_LIBDVDNAV = $cflags_libdvdnav
7300 CFLAGS_NO_OMIT_LEAF_FRAME_POINTER = $cflags_no_omit_leaf_frame_pointer
7301 CFLAGS_STACKREALIGN = $cflags_stackrealign
7302 CFLAGS_SVGALIB_HELPER = $cflags_svgalib_helper
7303 CFLAGS_TREMOR_LOW = $cflags_tremor_low
7305 EXTRALIBS = $extra_ldflags $_ld_static $_ld_lm $extra_libs
7306 EXTRALIBS_MPLAYER = $libs_mplayer
7307 EXTRALIBS_MENCODER = $libs_mencoder
7316 $(mak_enable "$arch_all" "$arch" ARCH)
7317 $(mak_enable "$subarch_all" "$subarch" ARCH)
7318 $(mak_enable "$cpuexts_all" "$cpuexts" HAVE)
7320 MENCODER = $_mencoder
7323 NEED_GETTIMEOFDAY = $_need_gettimeofday
7324 NEED_GLOB = $_need_glob
7325 NEED_MMAP = $_need_mmap
7326 NEED_SETENV = $_need_setenv
7327 NEED_SHMEM = $_need_shmem
7328 NEED_STRSEP = $_need_strsep
7329 NEED_SWAB = $_need_swab
7330 NEED_VSSCANF = $_need_vsscanf
7338 APPLE_IR = $_apple_ir
7339 APPLE_REMOTE = $_apple_remote
7341 AUDIO_INPUT = $_audio_input
7342 BITMAP_FONT = $_bitmap_font
7347 COREAUDIO = $_coreaudio
7348 COREVIDEO = $_corevideo
7351 DIRECT3D = $_direct3d
7352 DIRECTFB = $_directfb
7356 DVDNAV_INTERNAL = $dvdnav_internal
7358 DVDREAD_INTERNAL = $_dvdread_internal
7364 FAAD_INTERNAL = $_faad_internal
7365 FASTMEMCPY = $_fastmemcpy
7367 FREETYPE = $_freetype
7372 GL_WIN32 = $_gl_win32
7375 MATRIXVIEW = $matrixview
7376 HAVE_POSIX_SELECT = $_posix_select
7377 HAVE_SYS_MMAN_H = $_mman
7380 JOYSTICK = $_joystick
7387 LIBBLURAY = $_bluray
7391 LIBDVDCSS_INTERNAL = $_libdvdcss_internal
7395 LIBMENU_DVBIN = $_menu_dvbin
7396 LIBMPEG2 = $_libmpeg2
7397 LIBNEMESI = $_nemesi
7399 LIBSMBCLIENT = $_smb
7400 LIBTHEORA = $_theora
7403 MACOSX_FINDER = $_macosx_finder
7410 MUSEPACK = $_musepack
7412 NATIVE_RTSP = $_native_rtsp
7413 NETWORKING = $networking
7416 PE_EXECUTABLE = $_pe_executable
7419 PRIORITY = $_priority
7423 QTX_CODECS_WIN32 = $_qtx_codecs_win32
7424 QTX_EMULATION = $_qtx_emulation
7427 RADIO_CAPTURE=$_radio_capture
7428 REAL_CODECS = $_real
7432 STREAM_CACHE = $_stream_cache
7433 SGIAUDIO = $_sgiaudio
7434 SUNAUDIO = $_sunaudio
7440 TREMOR_INTERNAL = $_tremor_internal
7442 TV_BSDBT848 = $_tv_bsdbt848
7443 TV_DSHOW = $_tv_dshow
7448 UNRAR_EXEC = $_unrar_exec
7454 VIDIX_PCIDB = $_vidix_pcidb_val
7455 VIDIX_CYBERBLADE=$_vidix_drv_cyberblade
7456 VIDIX_IVTV=$_vidix_drv_ivtv
7457 VIDIX_MACH64=$_vidix_drv_mach64
7458 VIDIX_MGA=$_vidix_drv_mga
7459 VIDIX_MGA_CRTC2=$_vidix_drv_mga_crtc2
7460 VIDIX_NVIDIA=$_vidix_drv_nvidia
7461 VIDIX_PM2=$_vidix_drv_pm2
7462 VIDIX_PM3=$_vidix_drv_pm3
7463 VIDIX_RADEON=$_vidix_drv_radeon
7464 VIDIX_RAGE128=$_vidix_drv_rage128
7465 VIDIX_S3=$_vidix_drv_s3
7466 VIDIX_SH_VEU=$_vidix_drv_sh_veu
7467 VIDIX_SIS=$_vidix_drv_sis
7468 VIDIX_UNICHROME=$_vidix_drv_unichrome
7472 WIN32DLL = $_win32dll
7473 WIN32WAVEOUT = $_win32waveout
7474 WIN32_EMULATION = $_win32_emulation
7475 WINVIDIX = $winvidix
7478 XANIM_CODECS = $_xanim
7480 XMMS_PLUGINS = $_xmms
7486 YUV4MPEG = $_yuv4mpeg
7491 FFMPEG_EVAL_API = $ffmpeg_eval_api
7492 FFMPEG_INTERNALS = $ffmpeg_internals
7493 FFMPEG_SOURCE_PATH = $_ffmpeg_source
7497 YASMFLAGS = $YASMFLAGS
7499 # Some FFmpeg codecs depend on these. Enable them unconditionally for now.
7503 CONFIG_H264DSP = yes
7508 CONFIG_BZLIB = $bzlib
7509 CONFIG_ENCODERS = yes
7511 CONFIG_MLIB = $_mlib
7512 CONFIG_MUXERS = $_mencoder
7513 CONFIG_VDPAU = $_vdpau
7514 CONFIG_XVMC = $_xvmc
7515 CONFIG_ZLIB = $_zlib
7517 HAVE_PTHREADS = $_pthreads
7519 HAVE_W32THREADS = $_w32threads
7520 HAVE_YASM = $have_yasm
7524 #############################################################################
7526 ff_config_enable
() {
7527 list
=$
(echo $1 |
tr '[a-z]' '[A-Z]')
7528 item
=$
(echo $2 |
tr '[a-z]' '[A-Z]')
7530 test -z "$_nprefix" && _nprefix
='CONFIG'
7531 for part
in $list; do
7532 if $
(echo $item |
grep -q -E "(^| )$part($| )"); then
7533 echo "#define ${_nprefix}_$part 1"
7535 echo "#define ${_nprefix}_$part 0"
7540 echo "Creating config.h"
7542 /*----------------------------------------------------------------------------
7543 ** This file has been automatically generated by configure any changes in it
7544 ** will be lost when you run configure again.
7545 ** Instead of modifying definitions here, use the --enable/--disable options
7546 ** of the configure script! See ./configure --help for details.
7547 *---------------------------------------------------------------------------*/
7549 #ifndef MPLAYER_CONFIG_H
7550 #define MPLAYER_CONFIG_H
7552 /* Undefine this if you do not want to select mono audio (left or right)
7553 with a stereo MPEG layer 2/3 audio stream. The command line option
7554 -stereo has three possible values (0 for stereo, 1 for left-only, 2 for
7555 right-only), with 0 being the default.
7557 #define CONFIG_FAKE_MONO 1
7559 /* set up audio OUTBURST. Do not change this! */
7560 #define OUTBURST 512
7562 /* Enable fast OSD/SUB renderer (looks ugly, but uses less CPU power) */
7564 #undef FAST_OSD_TABLE
7566 /* Define this to enable MPEG-1/2 image postprocessing in libmpeg2 */
7567 #define MPEG12_POSTPROC 1
7568 #define ATTRIBUTE_ALIGNED_MAX 16
7572 #define CONFIGURATION "$configuration"
7574 #define MPLAYER_DATADIR "$_datadir"
7575 #define MPLAYER_CONFDIR "$_confdir"
7576 #define MPLAYER_LIBDIR "$_libdir"
7577 #define MPLAYER_LOCALEDIR "$_localedir"
7581 /* definitions needed by included libraries */
7582 #define HAVE_INTTYPES_H 1
7583 /* libmpeg2 + FFmpeg */
7586 #define HAVE_ERRNO_H 1
7587 /* libdvdcss + libdvdread */
7588 #define HAVE_LIMITS_H 1
7589 /* libdvdcss + libfaad2 */
7590 #define HAVE_UNISTD_H 1
7591 /* libfaad2 + libdvdread */
7592 #define STDC_HEADERS 1
7593 #define HAVE_MEMCPY 1
7595 #define HAVE_STDLIB_H 1
7596 #define HAVE_STRING_H 1
7597 #define HAVE_STRINGS_H 1
7598 #define HAVE_SYS_STAT_H 1
7599 #define HAVE_SYS_TYPES_H 1
7601 #define READ_CACHE_TRACE 0
7603 #define HAVE_DLFCN_H 1
7607 /* system headers */
7609 $def_alsa_asoundlib_h
7613 $def_mman_has_map_failed
7615 $def_sys_asoundlib_h
7616 $def_sys_soundcard_h
7623 /* system functions */
7646 /* system-specific features */
7661 $def_restrict_keyword
7666 /* configurable options */
7670 $def_dynamic_plugins
7673 $def_runtime_cpudetection
7681 #define __CPU__ $iproc
7685 $(ff_config_enable "$arch_all" "$arch" "ARCH")
7686 $(ff_config_enable "$subarch_all" "$subarch" "ARCH")
7687 $(ff_config_enable "$cpuexts_all" "$cpuexts" "HAVE")
7690 /* Blu-ray/DVD/VCD/CD */
7691 #define DEFAULT_CDROM_DEVICE "$default_cdrom_device"
7692 #define DEFAULT_DVD_DEVICE "$default_dvd_device"
7713 /* codec libraries */
7725 $def_mp3lame_preset_medium
7750 #define BINARY_CODECS_PATH "$_codecsdir"
7751 #define XMMS_INPUT_PLUGIN_DIR "$_xmmsplugindir"
7754 /* Audio output drivers */
7770 $def_ossaudio_devdsp
7771 $def_ossaudio_devmixer
7784 $def_ioctl_bt848_h_name
7785 $def_ioctl_meteor_h_name
7873 $def_vidix_drv_cyberblade
7875 $def_vidix_drv_mach64
7877 $def_vidix_drv_mga_crtc2
7878 $def_vidix_drv_nvidia
7880 $def_vidix_drv_radeon
7881 $def_vidix_drv_rage128
7883 $def_vidix_drv_sh_veu
7885 $def_vidix_drv_unichrome
7904 $def_ffmpeg_eval_api
7905 $def_ffmpeg_internals
7907 #define CONFIG_DECODERS 1
7908 #define CONFIG_ENCODERS 1
7909 #define CONFIG_DEMUXERS 1
7937 #define CONFIG_FASTDIV 0
7938 #define CONFIG_FFSERVER 0
7939 #define CONFIG_GPL 1
7940 #define CONFIG_GRAY 0
7941 #define CONFIG_HARDCODED_TABLES 0
7942 #define CONFIG_LIBVORBIS 0
7943 #define CONFIG_POWERPC_PERF 0
7944 #define CONFIG_SMALL 0
7945 #define CONFIG_SWSCALE_ALPHA 1
7947 #define HAVE_ATTRIBUTE_PACKED 1
7948 #define HAVE_GETHRTIME 0
7949 #define HAVE_INLINE_ASM 1
7950 #define HAVE_LDBRX 0
7951 #define HAVE_POLL_H 1
7952 #define HAVE_PPC4XX 0
7953 #define HAVE_VFP_ARGS 1
7954 #define HAVE_VIRTUALALLOC 0
7956 /* Some FFmpeg codecs depend on these. Enable them unconditionally for now. */
7957 #define CONFIG_AANDCT 1
7958 #define CONFIG_DCT 1
7959 #define CONFIG_DWT 1
7960 #define CONFIG_FFT 1
7961 #define CONFIG_GOLOMB 1
7962 #define CONFIG_H264DSP 1
7963 #define CONFIG_LPC 1
7964 #define CONFIG_MDCT 1
7965 #define CONFIG_RDFT 1
7967 /* Use these registers in FFmpeg x86 inline asm. No proper detection yet. */
7969 #define HAVE_EBP_AVAILABLE 1
7971 #define HAVE_EBP_AVAILABLE 0
7974 #endif /* MPLAYER_CONFIG_H */
7977 # Do not overwrite an unchanged config.h to avoid superfluous rebuilds.
7978 cmp -s "$TMPH" config.h ||
mv -f "$TMPH" config.h
7980 #############################################################################
7982 .
/version.sh
`$_cc -dumpversion`
7986 Config files successfully generated by ./configure $configuration !
7988 Install prefix: $_prefix
7989 Data directory: $_datadir
7990 Config direct.: $_confdir
7992 Byte order: $_byte_order
7993 Optimizing for: $_optimizing
7996 Messages (in addition to English): $language_msg
7997 Manual pages: $language_man
7998 Documentation: $language_doc
8000 Enabled optional drivers:
8001 Input: $inputmodules
8002 Codecs: $codecmodules
8003 Audio output: $aomodules
8004 Video output: $vomodules
8006 Disabled optional drivers:
8007 Input: $noinputmodules
8008 Codecs: $nocodecmodules
8009 Audio output: $noaomodules
8010 Video output: $novomodules
8012 'config.h' and 'config.mak' contain your configuration options.
8013 Note: If you alter theses files (for instance CFLAGS) MPlayer may no longer
8014 compile *** DO NOT REPORT BUGS if you tweak these files ***
8016 'make' will now compile MPlayer and 'make install' will install it.
8017 Note: On non-Linux systems you might need to use 'gmake' instead of 'make'.
8022 if test "$_mtrr" = yes ; then
8023 echo "Please check mtrr settings at /proc/mtrr (see DOCS/HTML/$language_doc/video.html#mtrr)"
8029 NOTE: Win32 codec DLLs are not supported on your CPU ($host_arch) or your
8030 operating system ($system_name). You may encounter a few files that cannot
8031 be played due to missing open source video/audio codec support.
8038 Check $TMPLOG if you wonder why an autodetection failed (make sure
8039 development headers/packages are installed).
8041 NOTE: The --enable-* parameters unconditionally force options on, completely
8042 skipping autodetection. This behavior is unlike what you may be used to from
8043 autoconf-based configure scripts that can decide to override you. This greater
8044 level of control comes at a price. You may have to provide the correct compiler
8045 and linker flags yourself.
8046 If you used one of these options (except --enable-menu and similar ones that
8047 turn on internal features) and experience a compilation or linking failure,
8048 make sure you have passed the necessary compiler/linker flags to configure.
8050 If you suspect a bug, please read DOCS/HTML/$language_doc/bugreports.html.
8054 if test "$warn_cflags" = yes; then
8057 MPlayer compilation will use the CPPFLAGS/CFLAGS/LDFLAGS/YASMFLAGS set by you,
8060 *** *** DO NOT REPORT BUGS IF IT DOES NOT COMPILE/WORK! *** ***
8062 It is strongly recommended to let MPlayer choose the correct CFLAGS!
8063 To do so, execute 'CFLAGS= ./configure <options>'
8069 rm -rf "$mplayer_tmpdir"