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, here is a simple skeleton:
24 # echocheck "$feature"
25 # if test "$_feature" = auto; then
27 # #include <feature.h>
28 # int main(void) { return 0; }
31 # cc_check && _feature=yes
33 # if test "$_feature" = yes ; then
34 # def_feature='#define CONFIG_FEATURE 1'
36 # def_feature='#undef CONFIG_FEATURE'
40 # Furthermore you need to add the variable _feature to the list of default
41 # settings and set it to one of yes/no/auto. Also add appropriate
42 # --enable-feature/--disable-feature command line options.
43 # The results of the check should be written to config.h and config.mak
44 # at the end of this script. The variable names used for this should be
45 # uniform, i.e. if the option is named 'feature':
47 # _feature : should have a value of yes/no/auto
48 # def_feature : '#define ... 1' or '#undef ...' for conditional compilation
49 # _ld_feature : '-L/path/dir -lfeature' GCC options
51 #############################################################################
53 # Prevent locale nonsense from breaking basic text processing utils
56 # Store the configure line that was used
59 # Prefer these macros to full length text !
60 # These macros only return an error code - NO display is done
65 echo "$_cc $CFLAGS $extra_cflags $_ld_static $extra_ldflags $libs_mplayer $libs_mencoder -o $TMPEXE $@" >> "$TMPLOG"
67 $_cc $CFLAGS $extra_cflags $_ld_static $extra_ldflags $libs_mplayer $libs_mencoder -o "$TMPEXE" "$@" >> "$TMPLOG" 2>&1
75 compile_check
$TMPC $@
79 compile_check
$TMPCPP $@
-lstdc++
84 cat "$TMPS" >> "$TMPLOG"
86 echo "$_yasm $YASMFLAGS -o $TMPEXE $TMPS $@" >> "$TMPLOG"
88 $_yasm $YASMFLAGS -o "$TMPEXE" "$TMPS" "$@" >> "$TMPLOG" 2>&1
96 "$TMPEXE" >> "$TMPLOG" 2>&1
99 # Display error message, flushes tempfile, exit
104 rm -f "$TMPEXE" "$TMPC" "$TMPS" "$TMPCPP"
105 echo "Check \"$TMPLOG\" if you do not understand why it failed."
109 # OS test booleans functions
111 test "$(echo $system_name | tr A-Z a-z)" = "$(echo $1 | tr A-Z a-z)"
113 aix
() { issystem
"AIX"; }
114 amigaos
() { issystem
"AmigaOS"; }
115 beos
() { issystem
"BEOS"; }
116 bsdos
() { issystem
"BSD/OS"; }
117 cygwin
() { issystem
"CYGWIN"; }
118 darwin
() { issystem
"Darwin"; }
119 dragonfly
() { issystem
"DragonFly"; }
120 freebsd
() { issystem
"FreeBSD" || issystem
"GNU/kFreeBSD"; }
121 gnu
() { issystem
"GNU"; }
122 hpux
() { issystem
"HP-UX"; }
123 irix
() { issystem
"IRIX"; }
124 linux
() { issystem
"Linux"; }
125 mingw32
() { issystem
"MINGW32"; }
126 morphos
() { issystem
"MorphOS"; }
127 netbsd
() { issystem
"NetBSD"; }
128 openbsd
() { issystem
"OpenBSD"; }
129 os2
() { issystem
"OS/2"; }
130 qnx
() { issystem
"QNX"; }
131 sunos
() { issystem
"SunOS"; }
132 win32
() { cygwin || mingw32
; }
134 # arch test boolean functions
135 # x86/x86pc is used by QNX
138 i
[3-9]86|x86|x86pc|k5|k6|k6-2|k6-3|pentium
*|athlon
*|i586-i686
) return 0 ;;
145 x86_64|amd64
) return 0 ;;
156 ppc|ppc64|powerpc|powerpc64
) return 0;;
175 # Use this before starting a check
177 echo "============ Checking for $@ ============" >> "$TMPLOG"
178 echo ${_echo_n} "Checking for $@ ... ${_echo_c}"
181 # Use this to echo the results of a check
183 if test "$_res_comment" ; then
184 _res_comment
="($_res_comment)"
186 echo "Result is: $@ $_res_comment" >> "$TMPLOG"
187 echo "##########################################" >> "$TMPLOG"
189 echo "$@ $_res_comment"
192 #############################################################################
194 # Check how echo works in this /bin/sh
196 -n) _echo_n
= _echo_c
='\c' ;; # SysV echo
197 *) _echo_n
='-n ' _echo_c
= ;; # BSD echo
200 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")
201 doc_lang_all
=$
(echo DOCS
/xml
/??
/ DOCS
/xml
/??_??
/ |
sed -e "s:DOCS/xml/\(..\)/:\1:g" -e "s:DOCS/xml/\(.._..\)/:\1:g")
205 Usage: $0 [OPTIONS]...
208 -h, --help display this help and exit
210 Installation directories:
211 --prefix=DIR prefix directory for installation [/usr/local]
212 --bindir=DIR directory for installing binaries [PREFIX/bin]
213 --datadir=DIR directory for installing machine independent
214 data files (skins, etc) [PREFIX/share/mplayer]
215 --mandir=DIR directory for installing man pages [PREFIX/share/man]
216 --confdir=DIR directory for installing configuration files
218 --localedir=DIR directory for locale tree [PREFIX/share/locale]
219 --libdir=DIR directory for object code libraries [PREFIX/lib]
220 --codecsdir=DIR directory for binary codecs [LIBDIR/codecs]
221 --win32codecsdir=DIR directory for Windows DLLs [LIBDIR/codecs]
222 --xanimcodecsdir=DIR directory for XAnim codecs [LIBDIR/codecs]
223 --realcodecsdir=DIR directory for RealPlayer codecs [LIBDIR/codecs]
226 --disable-mencoder disable MEncoder (A/V encoder) compilation [enable]
227 --disable-mplayer disable MPlayer compilation [enable]
228 --disable-largefiles disable support for files > 2GB [enable]
229 --enable-linux-devfs set default devices to devfs [disable]
230 --enable-termcap use termcap database for key codes [autodetect]
231 --enable-termios use termios database for key codes [autodetect]
232 --disable-iconv disable iconv for encoding conversion [autodetect]
233 --disable-langinfo do not use langinfo [autodetect]
234 --enable-lirc enable LIRC (remote control) support [autodetect]
235 --enable-lircc enable LIRCCD (LIRC client daemon) input [autodetect]
236 --enable-joystick enable joystick support [disable]
237 --enable-apple-remote enable Apple Remote input (Mac OS X only) [autodetect]
238 --enable-apple-ir enable Apple IR Remote input (Linux only) [autodetect]
239 --disable-vm disable X video mode extensions [autodetect]
240 --disable-xf86keysym disable support for multimedia keys [autodetect]
241 --enable-radio enable radio interface [disable]
242 --enable-radio-capture enable radio capture (through PCI/line-in) [disable]
243 --disable-radio-v4l2 disable Video4Linux2 radio interface [autodetect]
244 --disable-radio-bsdbt848 disable BSD BT848 radio interface [autodetect]
245 --disable-tv disable TV interface (TV/DVB grabbers) [enable]
246 --disable-tv-v4l1 disable Video4Linux TV interface [autodetect]
247 --disable-tv-v4l2 disable Video4Linux2 TV interface [autodetect]
248 --disable-tv-bsdbt848 disable BSD BT848 interface [autodetect]
249 --disable-pvr disable Video4Linux2 MPEG PVR [autodetect]
250 --disable-rtc disable RTC (/dev/rtc) on Linux [autodetect]
251 --disable-network disable networking [enable]
252 --enable-winsock2_h enable winsock2_h [autodetect]
253 --enable-smb enable Samba (SMB) input [autodetect]
254 --enable-live enable LIVE555 Streaming Media [autodetect]
255 --enable-nemesi enable Nemesi Streaming Media [autodetect]
256 --disable-vcd disable VCD support [autodetect]
257 --disable-dvdnav disable libdvdnav [autodetect]
258 --disable-dvdread disable libdvdread [autodetect]
259 --disable-dvdread-internal disable internal libdvdread [autodetect]
260 --disable-libdvdcss-internal disable internal libdvdcss [autodetect]
261 --disable-cdparanoia disable cdparanoia [autodetect]
262 --disable-cddb disable cddb [autodetect]
263 --disable-bitmap-font disable bitmap font support [enable]
264 --disable-freetype disable FreeType 2 font rendering [autodetect]
265 --disable-fontconfig disable fontconfig font lookup [autodetect]
266 --disable-unrarexec disable using of UnRAR executable [enabled]
267 --enable-menu enable OSD menu (not DVD menu) [disabled]
268 --disable-sortsub disable subtitle sorting [enabled]
269 --enable-fribidi enable the FriBiDi libs [autodetect]
270 --disable-enca disable ENCA charset oracle library [autodetect]
271 --disable-maemo disable maemo specific features [autodetect]
272 --enable-macosx-finder enable Mac OS X Finder invocation parameter
274 --enable-macosx-bundle enable Mac OS X bundle file locations [autodetect]
275 --disable-inet6 disable IPv6 support [autodetect]
276 --disable-gethostbyname2 gethostbyname2 part of the C library [autodetect]
277 --disable-ftp disable FTP support [enabled]
278 --disable-vstream disable TiVo vstream client support [autodetect]
279 --disable-pthreads disable Posix threads support [autodetect]
280 --disable-w32threads disable Win32 threads support [autodetect]
281 --disable-ass disable internal SSA/ASS subtitle support [autodetect]
282 --enable-rpath enable runtime linker path for extra libs [disabled]
285 --enable-gif enable GIF support [autodetect]
286 --enable-png enable PNG input/output support [autodetect]
287 --enable-mng enable MNG input support [autodetect]
288 --enable-jpeg enable JPEG input/output support [autodetect]
289 --enable-libcdio enable libcdio support [autodetect]
290 --enable-liblzo enable liblzo support [autodetect]
291 --disable-win32dll disable Win32 DLL support [autodetect]
292 --disable-qtx disable QuickTime codecs support [enabled]
293 --disable-xanim disable XAnim codecs support [enabled]
294 --disable-real disable RealPlayer codecs support [enabled]
295 --disable-xvid disable Xvid [autodetect]
296 --disable-x264 disable x264 [autodetect]
297 --disable-libnut disable libnut [autodetect]
298 --disable-libavutil disable libavutil [autodetect]
299 --disable-libavcodec disable libavcodec [autodetect]
300 --disable-libavformat disable libavformat [autodetect]
301 --disable-libpostproc disable libpostproc [autodetect]
302 --disable-libswscale disable libswscale [autodetect]
303 --disable-tremor-internal disable internal Tremor [enabled]
304 --enable-tremor-low enable lower accuracy internal Tremor [disabled]
305 --enable-tremor enable external Tremor [autodetect]
306 --disable-libvorbis disable libvorbis support [autodetect]
307 --disable-speex disable Speex support [autodetect]
308 --enable-theora enable OggTheora libraries [autodetect]
309 --enable-faad enable external FAAD2 (AAC) [autodetect]
310 --disable-faad-internal disable internal FAAD2 (AAC) [autodetect]
311 --enable-faad-fixed enable fixed-point mode in internal FAAD2 [disabled]
312 --disable-faac disable support for FAAC (AAC encoder) [autodetect]
313 --disable-ladspa disable LADSPA plugin support [autodetect]
314 --disable-libbs2b disable libbs2b audio filter support [autodetect]
315 --disable-libdv disable libdv 0.9.5 en/decoding support [autodetect]
316 --disable-mad disable libmad (MPEG audio) support [autodetect]
317 --disable-mp3lame disable LAME MP3 encoding support [autodetect]
318 --disable-toolame disable Toolame (MPEG layer 2) encoding [autodetect]
319 --disable-twolame disable Twolame (MPEG layer 2) encoding [autodetect]
320 --enable-xmms enable XMMS input plugin support [disabled]
321 --enable-libdca enable libdca support [autodetect]
322 --disable-mp3lib disable builtin mp3lib [autodetect]
323 --disable-liba52 disable liba52 [autodetect]
324 --enable-liba52-internal enable builtin liba52 [disabled]
325 --disable-libmpeg2 disable builtin libmpeg2 [autodetect]
326 --disable-musepack disable musepack support [autodetect]
329 --disable-vidix disable VIDIX [for x86 *nix]
330 --with-vidix-drivers[=*] list of VIDIX drivers to be compiled in
331 Available: cyberblade,ivtv,mach64,mga,mga_crtc2,
332 nvidia,pm2,pm3,radeon,rage128,s3,sis,unichrome
333 --disable-vidix-pcidb disable VIDIX PCI device name database
334 --enable-dhahelper enable VIDIX dhahelper support
335 --enable-svgalib_helper enable VIDIX svgalib_helper support
336 --enable-gl enable OpenGL video output [autodetect]
337 --disable-matrixview disable OpenGL MatrixView video output [autodetect]
338 --enable-dga2 enable DGA 2 support [autodetect]
339 --enable-dga1 enable DGA 1 support [autodetect]
340 --enable-vesa enable VESA video output [autodetect]
341 --enable-svga enable SVGAlib video output [autodetect]
342 --enable-sdl enable SDL video output [autodetect]
343 --enable-kva enable KVA video output [autodetect]
344 --enable-aa enable AAlib video output [autodetect]
345 --enable-caca enable CACA video output [autodetect]
346 --enable-ggi enable GGI video output [autodetect]
347 --enable-ggiwmh enable GGI libggiwmh extension [autodetect]
348 --enable-direct3d enable Direct3D video output [autodetect]
349 --enable-directx enable DirectX video output [autodetect]
350 --enable-dxr2 enable DXR2 video output [autodetect]
351 --enable-dxr3 enable DXR3/H+ video output [autodetect]
352 --enable-ivtv enable IVTV TV-Out video output [autodetect]
353 --enable-v4l2 enable V4L2 Decoder audio/video output [autodetect]
354 --enable-dvb enable DVB video output [autodetect]
355 --enable-mga enable mga_vid video output [autodetect]
356 --enable-xmga enable mga_vid X11 video output [autodetect]
357 --enable-xv enable Xv video output [autodetect]
358 --enable-xvmc enable XvMC acceleration [disable]
359 --enable-vdpau enable VDPAU acceleration [autodetect]
360 --enable-vm enable XF86VidMode support [autodetect]
361 --enable-xinerama enable Xinerama support [autodetect]
362 --enable-x11 enable X11 video output [autodetect]
363 --enable-xshape enable XShape support [autodetect]
364 --disable-xss disable screensaver support via xss [autodetect]
365 --enable-fbdev enable FBDev video output [autodetect]
366 --enable-mlib enable mediaLib video output (Solaris) [disable]
367 --enable-3dfx enable obsolete /dev/3dfx video output [disable]
368 --enable-tdfxfb enable tdfxfb video output [disable]
369 --enable-s3fb enable s3fb (S3 ViRGE) video output [disable]
370 --enable-wii enable Nintendo Wii/GameCube video output [disable]
371 --enable-directfb enable DirectFB video output [autodetect]
372 --enable-zr enable ZR360[56]7/ZR36060 video output [autodetect]
373 --enable-bl enable Blinkenlights video output [disable]
374 --enable-tdfxvid enable tdfx_vid video output [disable]
375 --enable-xvr100 enable SUN XVR-100 video output [autodetect]
376 --disable-tga disable Targa video output [enable]
377 --disable-pnm disable PNM video output [enable]
378 --disable-md5sum disable md5sum video output [enable]
379 --disable-yuv4mpeg disable yuv4mpeg video output [enable]
380 --disable-corevideo disable CoreVideo video output [autodetect]
381 --disable-quartz disable Quartz video output [autodetect]
384 --disable-alsa disable ALSA audio output [autodetect]
385 --disable-ossaudio disable OSS audio output [autodetect]
386 --disable-arts disable aRts audio output [autodetect]
387 --disable-esd disable esd audio output [autodetect]
388 --disable-pulse disable Pulseaudio audio output [autodetect]
389 --disable-jack disable JACK audio output [autodetect]
390 --enable-openal enable OpenAL audio output [disable]
391 --disable-nas disable NAS audio output [autodetect]
392 --disable-sgiaudio disable SGI audio output [autodetect]
393 --disable-sunaudio disable Sun audio output [autodetect]
394 --disable-kai disable KAI audio output [autodetect]
395 --disable-dart disable DART audio output [autodetect]
396 --disable-win32waveout disable Windows waveout audio output [autodetect]
397 --disable-coreaudio disable CoreAudio audio output [autodetect]
398 --disable-select disable using select() on the audio device [enable]
401 --enable-translation enable support for translated output [disable]
402 --charset=charset convert the console messages to this character set
403 --language-doc=lang language to use for the documentation [en]
404 --language-man=lang language to use for the man pages [en]
405 --language=lang default language to use [en]
406 Specific options override --language. You can pass a list of languages separated
407 by whitespace or commas instead of a single language. Nonexisting translations
408 will be dropped from each list. All documentation and man page translations
409 available in the list will be installed, for the messages the first available
410 translation will be used. The value "all" will activate all translations. The
411 LINGUAS environment variable is honored. In all cases the fallback is English.
412 Available values are: all $man_lang_all
414 Miscellaneous options:
415 --enable-runtime-cpudetection enable runtime CPU detection [disable]
416 --enable-cross-compile enable cross-compilation [autodetect]
417 --cc=COMPILER C compiler to build MPlayer [gcc]
418 --host-cc=COMPILER C compiler for tools needed while building [gcc]
419 --as=ASSEMBLER assembler to build MPlayer [as]
420 --nm=NM nm tool to build MPlayer [nm]
421 --yasm=YASM Yasm assembler to build MPlayer [yasm]
422 --ar=AR librarian to build MPlayer [ar]
423 --ranlib=RANLIB ranlib to build MPlayer [ranlib]
424 --windres=WINDRES windres to build MPlayer [windres]
425 --target=PLATFORM target platform (i386-linux, arm-linux, etc)
426 --enable-static build a statically linked binary
427 --with-install=PATH path to a custom install program
430 --enable-mmx enable MMX [autodetect]
431 --enable-mmxext enable MMX2 (Pentium III, Athlon) [autodetect]
432 --enable-3dnow enable 3DNow! [autodetect]
433 --enable-3dnowext enable extended 3DNow! [autodetect]
434 --enable-sse enable SSE [autodetect]
435 --enable-sse2 enable SSE2 [autodetect]
436 --enable-ssse3 enable SSSE3 [autodetect]
437 --enable-shm enable shm [autodetect]
438 --enable-altivec enable AltiVec (PowerPC) [autodetect]
439 --enable-armv5te enable DSP extensions (ARM) [autodetect]
440 --enable-armv6 enable ARMv6 (ARM) [autodetect]
441 --enable-armv6t2 enable ARMv6t2 (ARM) [autodetect]
442 --enable-armvfp enable ARM VFP (ARM) [autodetect]
443 --enable-neon enable NEON (ARM) [autodetect]
444 --enable-iwmmxt enable iWMMXt (ARM) [autodetect]
445 --disable-fastmemcpy disable 3DNow!/SSE/MMX optimized memcpy [enable]
446 --enable-big-endian force byte order to big-endian [autodetect]
447 --enable-debug[=1-3] compile-in debugging information [disable]
448 --enable-profile compile-in profiling information [disable]
449 --disable-sighandler disable sighandler for crashes [enable]
450 --enable-crash-debug enable automatic gdb attach on crash [disable]
451 --enable-dynamic-plugins enable dynamic A/V plugins [disable]
452 --ffmpeg-source-dir=PATH enable features requiring internal FFmpeg headers
454 Use these options if autodetection fails:
455 --extra-cflags=FLAGS extra CFLAGS
456 --extra-ldflags=FLAGS extra LDFLAGS
457 --extra-libs=FLAGS extra linker flags
458 --extra-libs-mplayer=FLAGS extra linker flags for MPlayer
459 --extra-libs-mencoder=FLAGS extra linker flags for MEncoder
460 --with-xvmclib=NAME adapter-specific library name (e.g. XvMCNVIDIA)
462 --with-freetype-config=PATH path to freetype-config
463 --with-fribidi-config=PATH path to fribidi-config
464 --with-glib-config=PATH path to glib*-config
465 --with-gtk-config=PATH path to gtk*-config
466 --with-sdl-config=PATH path to sdl*-config
467 --with-dvdnav-config=PATH path to dvdnav-config
468 --with-dvdread-config=PATH path to dvdread-config
470 This configure script is NOT autoconf-based, even though its output is similar.
471 It will try to autodetect all configuration options. If you --enable an option
472 it will be forcefully turned on, skipping autodetection. This can break
473 compilation, so you need to know what you are doing.
478 # GOTCHA: the variables below defines the default behavior for autodetection
479 # and have - unless stated otherwise - at least 2 states : yes no
480 # If autodetection is available then the third state is: auto
504 test "$CC" && _cc
="$CC"
508 _runtime_cpudetection
=no
516 _libavcodec_internals
=no
517 _libswscale_internals
=no
526 _xvmc
=no
#auto when complete
592 _dvdnavconfig
=dvdnav-config
593 _dvdreadconfig
=dvdread-config
595 _dvdread_internal
=auto
596 _libdvdcss_internal
=auto
607 _mlib
=no
#broken, thus disabled
681 _freetypeconfig
='freetype-config'
683 _fribidiconfig
='fribidi-config'
697 def_dos_paths
="#define HAVE_DOS_PATHS 0"
698 def_stream_cache
="#define CONFIG_STREAM_CACHE 1"
699 def_priority
="#undef CONFIG_PRIORITY"
700 def_pthread_cache
="#undef PTHREAD_CACHE"
708 _prefix
=$
(echo $ac_option | cut
-d '=' -f 2)
711 _bindir
=$
(echo $ac_option | cut
-d '=' -f 2)
714 _datadir
=$
(echo $ac_option | cut
-d '=' -f 2)
717 _mandir
=$
(echo $ac_option | cut
-d '=' -f 2)
720 _confdir
=$
(echo $ac_option | cut
-d '=' -f 2)
723 _libdir
=$
(echo $ac_option | cut
-d '=' -f 2)
726 _codecsdir
=$
(echo $ac_option | cut
-d '=' -f 2)
729 _win32codecsdir
=$
(echo $ac_option | cut
-d '=' -f 2)
732 _xanimcodecsdir
=$
(echo $ac_option | cut
-d '=' -f 2)
735 _realcodecsdir
=$
(echo $ac_option | cut
-d '=' -f 2)
738 _localedir
=$
(echo $ac_option | cut
-d '=' -f 2)
742 _install
=$
(echo $ac_option | cut
-d '=' -f 2 )
745 _xvmclib
=$
(echo $ac_option | cut
-d '=' -f 2)
749 _sdlconfig
=$
(echo $ac_option | cut
-d '=' -f 2)
751 --with-freetype-config=*)
752 _freetypeconfig
=$
(echo $ac_option | cut
-d '=' -f 2)
754 --with-fribidi-config=*)
755 _fribidiconfig
=$
(echo $ac_option | cut
-d '=' -f 2)
758 _gtkconfig
=$
(echo $ac_option | cut
-d '=' -f 2)
760 --with-glib-config=*)
761 _glibconfig
=$
(echo $ac_option | cut
-d '=' -f 2)
763 --with-dvdnav-config=*)
764 _dvdnavconfig
=$
(echo $ac_option | cut
-d '=' -f 2)
766 --with-dvdread-config=*)
767 _dvdreadconfig
=$
(echo $ac_option | cut
-d '=' -f 2)
771 extra_cflags
="$extra_cflags $(echo $ac_option | cut -d '=' -f 2-)"
774 extra_ldflags
="$extra_ldflags $(echo $ac_option | cut -d '=' -f 2-)"
777 extra_libs
=$
(echo $ac_option | cut
-d '=' -f 2)
779 --extra-libs-mplayer=*)
780 libs_mplayer
=$
(echo $ac_option | cut
-d '=' -f 2)
782 --extra-libs-mencoder=*)
783 libs_mencoder
=$
(echo $ac_option | cut
-d '=' -f 2)
787 _target
=$
(echo $ac_option | cut
-d '=' -f 2)
790 _cc
=$
(echo $ac_option | cut
-d '=' -f 2)
793 _host_cc
=$
(echo $ac_option | cut
-d '=' -f 2)
796 _as
=$
(echo $ac_option | cut
-d '=' -f 2)
799 _nm
=$
(echo $ac_option | cut
-d '=' -f 2)
802 _yasm
=$
(echo $ac_option | cut
-d '=' -f 2)
805 _ar
=$
(echo $ac_option | cut
-d '=' -f 2)
808 _ranlib
=$
(echo $ac_option | cut
-d '=' -f 2)
811 _windres
=$
(echo $ac_option | cut
-d '=' -f 2)
814 _charset
=$
(echo $ac_option | cut
-d '=' -f 2)
817 language_doc
=$
(echo $ac_option | cut
-d '=' -f 2)
820 language_man
=$
(echo $ac_option | cut
-d '=' -f 2)
823 language
=$
(echo $ac_option | cut
-d '=' -f 2)
842 _debug
=$
(echo $_echo_n '-g'$_echo_c; echo $ac_option | cut
-d '=' -f 2)
847 --enable-translation) _translation
=yes ;;
848 --disable-translation) _translation
=no
;;
849 --enable-runtime-cpudetection) _runtime_cpudetection
=yes ;;
850 --disable-runtime-cpudetection) _runtime_cpudetection
=no
;;
851 --enable-cross-compile) _cross_compile
=yes ;;
852 --disable-cross-compile) _cross_compile
=no
;;
853 --enable-mencoder) _mencoder
=yes ;;
854 --disable-mencoder) _mencoder
=no
;;
855 --enable-mplayer) _mplayer
=yes ;;
856 --disable-mplayer) _mplayer
=no
;;
857 --enable-dynamic-plugins) _dynamic_plugins
=yes ;;
858 --disable-dynamic-plugins) _dynamic_plugins
=no
;;
859 --enable-x11) _x11
=yes ;;
860 --disable-x11) _x11
=no
;;
861 --enable-xshape) _xshape
=yes ;;
862 --disable-xshape) _xshape
=no
;;
863 --enable-xss) _xss
=yes ;;
864 --disable-xss) _xss
=no
;;
865 --enable-xv) _xv
=yes ;;
866 --disable-xv) _xv
=no
;;
867 --enable-xvmc) _xvmc
=yes ;;
868 --disable-xvmc) _xvmc
=no
;;
869 --enable-vdpau) _vdpau
=yes ;;
870 --disable-vdpau) _vdpau
=no
;;
871 --enable-sdl) _sdl
=yes ;;
872 --disable-sdl) _sdl
=no
;;
873 --enable-kva) _kva
=yes ;;
874 --disable-kva) _kva
=no
;;
875 --enable-direct3d) _direct3d
=yes ;;
876 --disable-direct3d) _direct3d
=no
;;
877 --enable-directx) _directx
=yes ;;
878 --disable-directx) _directx
=no
;;
879 --enable-win32waveout) _win32waveout
=yes ;;
880 --disable-win32waveout) _win32waveout
=no
;;
881 --enable-nas) _nas
=yes ;;
882 --disable-nas) _nas
=no
;;
883 --enable-png) _png
=yes ;;
884 --disable-png) _png
=no
;;
885 --enable-mng) _mng
=yes ;;
886 --disable-mng) _mng
=no
;;
887 --enable-jpeg) _jpeg
=yes ;;
888 --disable-jpeg) _jpeg
=no
;;
889 --enable-pnm) _pnm
=yes ;;
890 --disable-pnm) _pnm
=no
;;
891 --enable-md5sum) _md5sum
=yes ;;
892 --disable-md5sum) _md5sum
=no
;;
893 --enable-yuv4mpeg) _yuv4mpeg
=yes ;;
894 --disable-yuv4mpeg) _yuv4mpeg
=no
;;
895 --enable-gif) _gif
=yes ;;
896 --disable-gif) _gif
=no
;;
897 --enable-gl) _gl
=yes ;;
898 --disable-gl) _gl
=no
;;
899 --enable-matrixview) matrixview
=yes ;;
900 --disable-matrixview) matrixview
=no
;;
901 --enable-ggi) _ggi
=yes ;;
902 --disable-ggi) _ggi
=no
;;
903 --enable-ggiwmh) _ggiwmh
=yes ;;
904 --disable-ggiwmh) _ggiwmh
=no
;;
905 --enable-aa) _aa
=yes ;;
906 --disable-aa) _aa
=no
;;
907 --enable-caca) _caca
=yes ;;
908 --disable-caca) _caca
=no
;;
909 --enable-svga) _svga
=yes ;;
910 --disable-svga) _svga
=no
;;
911 --enable-vesa) _vesa
=yes ;;
912 --disable-vesa) _vesa
=no
;;
913 --enable-fbdev) _fbdev
=yes ;;
914 --disable-fbdev) _fbdev
=no
;;
915 --enable-dvb) _dvb
=yes ;;
916 --disable-dvb) _dvb
=no
;;
917 --enable-dxr2) _dxr2
=yes ;;
918 --disable-dxr2) _dxr2
=no
;;
919 --enable-dxr3) _dxr3
=yes ;;
920 --disable-dxr3) _dxr3
=no
;;
921 --enable-ivtv) _ivtv
=yes ;;
922 --disable-ivtv) _ivtv
=no
;;
923 --enable-v4l2) _v4l2
=yes ;;
924 --disable-v4l2) _v4l2
=no
;;
925 --enable-iconv) _iconv
=yes ;;
926 --disable-iconv) _iconv
=no
;;
927 --enable-langinfo) _langinfo
=yes ;;
928 --disable-langinfo) _langinfo
=no
;;
929 --enable-rtc) _rtc
=yes ;;
930 --disable-rtc) _rtc
=no
;;
931 --enable-libdv) _libdv
=yes ;;
932 --disable-libdv) _libdv
=no
;;
933 --enable-ossaudio) _ossaudio
=yes ;;
934 --disable-ossaudio) _ossaudio
=no
;;
935 --enable-arts) _arts
=yes ;;
936 --disable-arts) _arts
=no
;;
937 --enable-esd) _esd
=yes ;;
938 --disable-esd) _esd
=no
;;
939 --enable-pulse) _pulse
=yes ;;
940 --disable-pulse) _pulse
=no
;;
941 --enable-jack) _jack
=yes ;;
942 --disable-jack) _jack
=no
;;
943 --enable-openal) _openal
=yes ;;
944 --disable-openal) _openal
=no
;;
945 --enable-kai) _kai
=yes ;;
946 --disable-kai) _kai
=no
;;
947 --enable-dart) _dart
=yes ;;
948 --disable-dart) _dart
=no
;;
949 --enable-mad) _mad
=yes ;;
950 --disable-mad) _mad
=no
;;
951 --enable-mp3lame) _mp3lame
=yes ;;
952 --disable-mp3lame) _mp3lame
=no
;;
953 --enable-toolame) _toolame
=yes ;;
954 --disable-toolame) _toolame
=no
;;
955 --enable-twolame) _twolame
=yes ;;
956 --disable-twolame) _twolame
=no
;;
957 --enable-libcdio) _libcdio
=yes ;;
958 --disable-libcdio) _libcdio
=no
;;
959 --enable-liblzo) _liblzo
=yes ;;
960 --disable-liblzo) _liblzo
=no
;;
961 --enable-libvorbis) _libvorbis
=yes ;;
962 --disable-libvorbis) _libvorbis
=no
;;
963 --enable-speex) _speex
=yes ;;
964 --disable-speex) _speex
=no
;;
965 --enable-tremor) _tremor
=yes ;;
966 --disable-tremor) _tremor
=no
;;
967 --enable-tremor-internal) _tremor_internal
=yes ;;
968 --disable-tremor-internal) _tremor_internal
=no
;;
969 --enable-tremor-low) _tremor_low
=yes ;;
970 --disable-tremor-low) _tremor_low
=no
;;
971 --enable-theora) _theora
=yes ;;
972 --disable-theora) _theora
=no
;;
973 --enable-mp3lib) _mp3lib
=yes ;;
974 --disable-mp3lib) _mp3lib
=no
;;
975 --enable-liba52-internal) _liba52_internal
=yes ;;
976 --disable-liba52-internal) _liba52_internal
=no
;;
977 --enable-liba52) _liba52
=yes ;;
978 --disable-liba52) _liba52
=no
;;
979 --enable-libdca) _libdca
=yes ;;
980 --disable-libdca) _libdca
=no
;;
981 --enable-libmpeg2) _libmpeg2
=yes ;;
982 --disable-libmpeg2) _libmpeg2
=no
;;
983 --enable-musepack) _musepack
=yes ;;
984 --disable-musepack) _musepack
=no
;;
985 --enable-faad) _faad
=yes ;;
986 --disable-faad) _faad
=no
;;
987 --enable-faad-internal) _faad_internal
=yes ;;
988 --disable-faad-internal) _faad_internal
=no
;;
989 --enable-faad-fixed) _faad_fixed
=yes ;;
990 --disable-faad-fixed) _faad_fixed
=no
;;
991 --enable-faac) _faac
=yes ;;
992 --disable-faac) _faac
=no
;;
993 --enable-ladspa) _ladspa
=yes ;;
994 --disable-ladspa) _ladspa
=no
;;
995 --enable-libbs2b) _libbs2b
=yes ;;
996 --disable-libbs2b) _libbs2b
=no
;;
997 --enable-xmms) _xmms
=yes ;;
998 --disable-xmms) _xmms
=no
;;
999 --enable-vcd) _vcd
=yes ;;
1000 --disable-vcd) _vcd
=no
;;
1001 --enable-dvdread) _dvdread
=yes ;;
1002 --disable-dvdread) _dvdread
=no
;;
1003 --enable-dvdread-internal) _dvdread_internal
=yes ;;
1004 --disable-dvdread-internal) _dvdread_internal
=no
;;
1005 --enable-libdvdcss-internal) _libdvdcss_internal
=yes ;;
1006 --disable-libdvdcss-internal) _libdvdcss_internal
=no
;;
1007 --enable-dvdnav) _dvdnav
=yes ;;
1008 --disable-dvdnav) _dvdnav
=no
;;
1009 --enable-xanim) _xanim
=yes ;;
1010 --disable-xanim) _xanim
=no
;;
1011 --enable-real) _real
=yes ;;
1012 --disable-real) _real
=no
;;
1013 --enable-live) _live
=yes ;;
1014 --disable-live) _live
=no
;;
1015 --enable-nemesi) _nemesi
=yes ;;
1016 --disable-nemesi) _nemesi
=no
;;
1017 --enable-xinerama) _xinerama
=yes ;;
1018 --disable-xinerama) _xinerama
=no
;;
1019 --enable-mga) _mga
=yes ;;
1020 --disable-mga) _mga
=no
;;
1021 --enable-xmga) _xmga
=yes ;;
1022 --disable-xmga) _xmga
=no
;;
1023 --enable-vm) _vm
=yes ;;
1024 --disable-vm) _vm
=no
;;
1025 --enable-xf86keysym) _xf86keysym
=yes ;;
1026 --disable-xf86keysym) _xf86keysym
=no
;;
1027 --enable-mlib) _mlib
=yes ;;
1028 --disable-mlib) _mlib
=no
;;
1029 --enable-sunaudio) _sunaudio
=yes ;;
1030 --disable-sunaudio) _sunaudio
=no
;;
1031 --enable-sgiaudio) _sgiaudio
=yes ;;
1032 --disable-sgiaudio) _sgiaudio
=no
;;
1033 --enable-alsa) _alsa
=yes ;;
1034 --disable-alsa) _alsa
=no
;;
1035 --enable-tv) _tv
=yes ;;
1036 --disable-tv) _tv
=no
;;
1037 --enable-tv-bsdbt848) _tv_bsdbt848
=yes ;;
1038 --disable-tv-bsdbt848) _tv_bsdbt848
=no
;;
1039 --enable-tv-v4l1) _tv_v4l1
=yes ;;
1040 --disable-tv-v4l1) _tv_v4l1
=no
;;
1041 --enable-tv-v4l2) _tv_v4l2
=yes ;;
1042 --disable-tv-v4l2) _tv_v4l2
=no
;;
1043 --enable-tv-dshow) _tv_dshow
=yes ;;
1044 --disable-tv-dshow) _tv_dshow
=no
;;
1045 --enable-radio) _radio
=yes ;;
1046 --enable-radio-capture) _radio_capture
=yes ;;
1047 --disable-radio-capture) _radio_capture
=no
;;
1048 --disable-radio) _radio
=no
;;
1049 --enable-radio-v4l) _radio_v4l
=yes ;;
1050 --disable-radio-v4l) _radio_v4l
=no
;;
1051 --enable-radio-v4l2) _radio_v4l2
=yes ;;
1052 --disable-radio-v4l2) _radio_v4l2
=no
;;
1053 --enable-radio-bsdbt848) _radio_bsdbt848
=yes ;;
1054 --disable-radio-bsdbt848) _radio_bsdbt848
=no
;;
1055 --enable-pvr) _pvr
=yes ;;
1056 --disable-pvr) _pvr
=no
;;
1057 --enable-fastmemcpy) _fastmemcpy
=yes ;;
1058 --disable-fastmemcpy) _fastmemcpy
=no
;;
1059 --enable-network) _network
=yes ;;
1060 --disable-network) _network
=no
;;
1061 --enable-winsock2_h) _winsock2_h
=yes ;;
1062 --disable-winsock2_h) _winsock2_h
=no
;;
1063 --enable-smb) _smb
=yes ;;
1064 --disable-smb) _smb
=no
;;
1065 --enable-vidix) _vidix
=yes ;;
1066 --disable-vidix) _vidix
=no
;;
1067 --with-vidix-drivers=*)
1068 _vidix_drivers
=$
(echo $ac_option | cut
-d '=' -f 2)
1070 --disable-vidix-pcidb) _vidix_pcidb
=no
;;
1071 --enable-dhahelper) _dhahelper
=yes ;;
1072 --disable-dhahelper) _dhahelper
=no
;;
1073 --enable-svgalib_helper) _svgalib_helper
=yes ;;
1074 --disable-svgalib_helper) _svgalib_helper
=no
;;
1075 --enable-joystick) _joystick
=yes ;;
1076 --disable-joystick) _joystick
=no
;;
1077 --enable-xvid) _xvid
=yes ;;
1078 --disable-xvid) _xvid
=no
;;
1079 --enable-x264) _x264
=yes ;;
1080 --disable-x264) _x264
=no
;;
1081 --enable-libnut) _libnut
=yes ;;
1082 --disable-libnut) _libnut
=no
;;
1083 --enable-libavutil) _libavutil
=yes ;;
1084 --disable-libavutil) _libavutil
=no
;;
1085 --enable-libavcodec) _libavcodec
=yes ;;
1086 --disable-libavcodec) _libavcodec
=no
;;
1087 --enable-libavformat) _libavformat
=yes ;;
1088 --disable-libavformat) _libavformat
=no
;;
1089 --enable-libpostproc) _libpostproc
=yes ;;
1090 --disable-libpostproc) _libpostproc
=no
;;
1091 --enable-libswscale) _libswscale
=yes ;;
1092 --disable-libswscale) _libswscale
=no
;;
1093 --ffmpeg-source-dir=*)
1094 _ffmpeg_source
=$
(echo $ac_option | cut
-d '=' -f 2 ) ;;
1096 --enable-lirc) _lirc
=yes ;;
1097 --disable-lirc) _lirc
=no
;;
1098 --enable-lircc) _lircc
=yes ;;
1099 --disable-lircc) _lircc
=no
;;
1100 --enable-apple-remote) _apple_remote
=yes ;;
1101 --disable-apple-remote) _apple_remote
=no
;;
1102 --enable-apple-ir) _apple_ir
=yes ;;
1103 --disable-apple-ir) _apple_ir
=no
;;
1104 --enable-gui) _gui
=yes ;;
1105 --disable-gui) _gui
=no
;;
1106 --enable-gtk1) _gtk1
=yes ;;
1107 --disable-gtk1) _gtk1
=no
;;
1108 --enable-termcap) _termcap
=yes ;;
1109 --disable-termcap) _termcap
=no
;;
1110 --enable-termios) _termios
=yes ;;
1111 --disable-termios) _termios
=no
;;
1112 --enable-3dfx) _3dfx
=yes ;;
1113 --disable-3dfx) _3dfx
=no
;;
1114 --enable-s3fb) _s3fb
=yes ;;
1115 --disable-s3fb) _s3fb
=no
;;
1116 --enable-wii) _wii
=yes ;;
1117 --disable-wii) _wii
=no
;;
1118 --enable-tdfxfb) _tdfxfb
=yes ;;
1119 --disable-tdfxfb) _tdfxfb
=no
;;
1120 --disable-tdfxvid) _tdfxvid
=no
;;
1121 --enable-tdfxvid) _tdfxvid
=yes ;;
1122 --disable-xvr100) _xvr100
=no
;;
1123 --enable-xvr100) _xvr100
=yes ;;
1124 --disable-tga) _tga
=no
;;
1125 --enable-tga) _tga
=yes ;;
1126 --enable-directfb) _directfb
=yes ;;
1127 --disable-directfb) _directfb
=no
;;
1128 --enable-zr) _zr
=yes ;;
1129 --disable-zr) _zr
=no
;;
1130 --enable-bl) _bl
=yes ;;
1131 --disable-bl) _bl
=no
;;
1132 --enable-mtrr) _mtrr
=yes ;;
1133 --disable-mtrr) _mtrr
=no
;;
1134 --enable-largefiles) _largefiles
=yes ;;
1135 --disable-largefiles) _largefiles
=no
;;
1136 --enable-shm) _shm
=yes ;;
1137 --disable-shm) _shm
=no
;;
1138 --enable-select) _select
=yes ;;
1139 --disable-select) _select
=no
;;
1140 --enable-linux-devfs) _linux_devfs
=yes ;;
1141 --disable-linux-devfs) _linux_devfs
=no
;;
1142 --enable-cdparanoia) _cdparanoia
=yes ;;
1143 --disable-cdparanoia) _cdparanoia
=no
;;
1144 --enable-cddb) _cddb
=yes ;;
1145 --disable-cddb) _cddb
=no
;;
1146 --enable-big-endian) _big_endian
=yes ;;
1147 --disable-big-endian) _big_endian
=no
;;
1148 --enable-bitmap-font) _bitmap_font
=yes ;;
1149 --disable-bitmap-font) _bitmap_font
=no
;;
1150 --enable-freetype) _freetype
=yes ;;
1151 --disable-freetype) _freetype
=no
;;
1152 --enable-fontconfig) _fontconfig
=yes ;;
1153 --disable-fontconfig) _fontconfig
=no
;;
1154 --enable-unrarexec) _unrar_exec
=yes ;;
1155 --disable-unrarexec) _unrar_exec
=no
;;
1156 --enable-ftp) _ftp
=yes ;;
1157 --disable-ftp) _ftp
=no
;;
1158 --enable-vstream) _vstream
=yes ;;
1159 --disable-vstream) _vstream
=no
;;
1160 --enable-pthreads) _pthreads
=yes ;;
1161 --disable-pthreads) _pthreads
=no
;;
1162 --enable-w32threads) _w32threads
=yes ;;
1163 --disable-w32threads) _w32threads
=no
;;
1164 --enable-ass) _ass
=yes ;;
1165 --disable-ass) _ass
=no
;;
1166 --enable-rpath) _rpath
=yes ;;
1167 --disable-rpath) _rpath
=no
;;
1169 --enable-fribidi) _fribidi
=yes ;;
1170 --disable-fribidi) _fribidi
=no
;;
1172 --enable-enca) _enca
=yes ;;
1173 --disable-enca) _enca
=no
;;
1175 --enable-inet6) _inet6
=yes ;;
1176 --disable-inet6) _inet6
=no
;;
1178 --enable-gethostbyname2) _gethostbyname2
=yes ;;
1179 --disable-gethostbyname2) _gethostbyname2
=no
;;
1181 --enable-dga1) _dga1
=yes ;;
1182 --disable-dga1) _dga1
=no
;;
1183 --enable-dga2) _dga2
=yes ;;
1184 --disable-dga2) _dga2
=no
;;
1186 --enable-menu) _menu
=yes ;;
1187 --disable-menu) _menu
=no
;;
1189 --enable-qtx) _qtx
=yes ;;
1190 --disable-qtx) _qtx
=no
;;
1192 --enable-coreaudio) _coreaudio
=yes ;;
1193 --disable-coreaudio) _coreaudio
=no
;;
1194 --enable-corevideo) _corevideo
=yes ;;
1195 --disable-corevideo) _corevideo
=no
;;
1196 --enable-quartz) _quartz
=yes ;;
1197 --disable-quartz) _quartz
=no
;;
1198 --enable-macosx-finder) _macosx_finder
=yes ;;
1199 --disable-macosx-finder) _macosx_finder
=no
;;
1200 --enable-macosx-bundle) _macosx_bundle
=yes ;;
1201 --disable-macosx-bundle) _macosx_bundle
=no
;;
1203 --enable-maemo) _maemo
=yes ;;
1204 --disable-maemo) _maemo
=no
;;
1206 --enable-sortsub) _sortsub
=yes ;;
1207 --disable-sortsub) _sortsub
=no
;;
1209 --enable-crash-debug) _crash_debug
=yes ;;
1210 --disable-crash-debug) _crash_debug
=no
;;
1211 --enable-sighandler) _sighandler
=yes ;;
1212 --disable-sighandler) _sighandler
=no
;;
1213 --enable-win32dll) _win32dll
=yes ;;
1214 --disable-win32dll) _win32dll
=no
;;
1216 --enable-sse) _sse
=yes ;;
1217 --disable-sse) _sse
=no
;;
1218 --enable-sse2) _sse2
=yes ;;
1219 --disable-sse2) _sse2
=no
;;
1220 --enable-ssse3) _ssse3
=yes ;;
1221 --disable-ssse3) _ssse3
=no
;;
1222 --enable-mmxext) _mmxext
=yes ;;
1223 --disable-mmxext) _mmxext
=no
;;
1224 --enable-3dnow) _3dnow
=yes ;;
1225 --disable-3dnow) _3dnow
=no _3dnowext
=no
;;
1226 --enable-3dnowext) _3dnow
=yes _3dnowext
=yes ;;
1227 --disable-3dnowext) _3dnowext
=no
;;
1228 --enable-cmov) _cmov
=yes ;;
1229 --disable-cmov) _cmov
=no
;;
1230 --enable-fast-cmov) _fast_cmov
=yes ;;
1231 --disable-fast-cmov) _fast_cmov
=no
;;
1232 --enable-fast-clz) _fast_clz
=yes ;;
1233 --disable-fast-clz) _fast_clz
=no
;;
1234 --enable-altivec) _altivec
=yes ;;
1235 --disable-altivec) _altivec
=no
;;
1236 --enable-armv5te) _armv5te
=yes ;;
1237 --disable-armv5te) _armv5te
=no
;;
1238 --enable-armv6) _armv6
=yes ;;
1239 --disable-armv6) _armv6
=no
;;
1240 --enable-armv6t2) _armv6t2
=yes ;;
1241 --disable-armv6t2) _armv6t2
=no
;;
1242 --enable-armvfp) _armvfp
=yes ;;
1243 --disable-armvfp) _armvfp
=no
;;
1244 --enable-neon) neon
=yes ;;
1245 --disable-neon) neon
=no
;;
1246 --enable-iwmmxt) _iwmmxt
=yes ;;
1247 --disable-iwmmxt) _iwmmxt
=no
;;
1248 --enable-mmx) _mmx
=yes ;;
1249 --disable-mmx) # 3Dnow! and MMX2 require MMX
1250 _3dnow
=no _3dnowext
=no _mmx
=no _mmxext
=no
;;
1253 echo "Unknown parameter: $ac_option"
1260 if test "$_gui" = yes ; then
1261 die
"Internal GUI was removed from MPlayer. Please use one of many available\n frontends\
1262 (http://www.mplayerhq.hu/design7/projects.html#mplayer_frontends)."
1265 # Atmos: moved this here, to be correct, if --prefix is specified
1266 test -z "$_bindir" && _bindir
="$_prefix/bin"
1267 test -z "$_datadir" && _datadir
="$_prefix/share/mplayer"
1268 test -z "$_mandir" && _mandir
="$_prefix/share/man"
1269 test -z "$_confdir" && _confdir
="$_prefix/etc/mplayer"
1270 test -z "$_libdir" && _libdir
="$_prefix/lib"
1271 test -z "$_localedir" && _localedir
="$_prefix/share/locale"
1273 # Determine our OS name and CPU architecture
1274 if test -z "$_target" ; then
1276 system_name
=$
(uname
-s 2>&1)
1277 case "$system_name" in
1278 Linux|FreeBSD|NetBSD|OpenBSD|DragonFly|BSD
/OS|Darwin|SunOS|QNX|GNU|BeOS|MorphOS|AIX|AmigaOS
)
1292 [cC
][yY
][gG
][wW
][iI
][nN
]*)
1302 system_name
="$system_name-UNKNOWN"
1307 # host's CPU/instruction set
1308 host_arch
=$
(uname
-p 2>&1)
1309 case "$host_arch" in
1310 i386|sparc|ppc|alpha|arm|mips|vax
)
1312 powerpc
) # Darwin returns 'powerpc'
1315 *) # uname -p on Linux returns 'unknown' for the processor type,
1316 # OpenBSD returns 'Intel Pentium/MMX ("Genuine Intel" 586-class)'
1318 # Maybe uname -m (machine hardware name) returns something we
1321 # x86/x86pc is used by QNX
1322 case "$(uname -m 2>&1)" in
1323 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
;;
1324 ia64
) host_arch
=ia64
;;
1325 macppc|ppc
) host_arch
=ppc
;;
1326 ppc64
) host_arch
=ppc64
;;
1327 alpha
) host_arch
=alpha
;;
1328 sparc
) host_arch
=sparc
;;
1329 sparc64
) host_arch
=sparc64
;;
1330 parisc
*|hppa
*|
9000*) host_arch
=hppa
;;
1331 arm
*|zaurus|cats
) host_arch
=arm
;;
1332 sh3|sh4|sh4a
) host_arch
=sh
;;
1333 s390
) host_arch
=s390
;;
1334 s390x
) host_arch
=s390x
;;
1335 *mips
*) host_arch
=mips
;;
1336 vax
) host_arch
=vax
;;
1337 xtensa
*) host_arch
=xtensa
;;
1338 *) host_arch
=UNKNOWN
;;
1342 else # if test -z "$_target"
1343 system_name
=$
(echo $_target | cut
-d '-' -f 2)
1344 case "$(echo $system_name | tr A-Z a-z)" in
1345 linux
) system_name
=Linux
;;
1346 freebsd
) system_name
=FreeBSD
;;
1347 gnu
/kfreebsd
) system_name
=FreeBSD
;;
1348 netbsd
) system_name
=NetBSD
;;
1349 bsd
/os
) system_name
=BSD
/OS
;;
1350 openbsd
) system_name
=OpenBSD
;;
1351 dragonfly
) system_name
=DragonFly
;;
1352 sunos
) system_name
=SunOS
;;
1353 qnx
) system_name
=QNX
;;
1354 morphos
) system_name
=MorphOS
;;
1355 amigaos
) system_name
=AmigaOS
;;
1356 mingw32
*) system_name
=MINGW32
;;
1358 # We need to convert underscores so that values like k6-2 and pentium-mmx can be passed
1359 host_arch
=$
(echo $_target | cut
-d '-' -f 1)
1360 if test $
(echo $host_arch) != "x86_64" ; then
1361 host_arch
=$
(echo $host_arch |
tr '_' '-')
1365 extra_cflags
="-I. $extra_cflags"
1366 _timer
=timer-linux.c
1369 extra_ldflags
="$extra_ldflags -L/usr/local/lib"
1370 extra_cflags
="$extra_cflags -I/usr/local/include"
1373 if netbsd || dragonfly
; then
1374 extra_ldflags
="$extra_ldflags -L/usr/pkg/lib"
1375 extra_cflags
="$extra_cflags -I/usr/pkg/include"
1379 extra_cflags
="-mdynamic-no-pic -falign-loops=16 -shared-libgcc $extra_cflags"
1380 _timer
=timer-darwin.c
1384 extra_ldflags
="$extra_ldflags -lC"
1395 extra_cflags
="$extra_cflags -fno-common"
1396 # -lwinmm is always needed for osdep/timer-win2.c
1397 extra_ldflags
="$extra_ldflags -lwinmm"
1401 def_dos_paths
="#define HAVE_DOS_PATHS 1"
1402 def_priority
="#define CONFIG_PRIORITY 1"
1414 def_stream_cache
="#undef CONFIG_STREAM_CACHE"
1415 extra_cflags
="-DNEWLIB -D__USE_INLINE__ $extra_cflags"
1419 extra_ldflags
="$extra_ldflags -lph"
1427 def_dos_paths
="#define HAVE_DOS_PATHS 1"
1428 def_priority
="#define CONFIG_PRIORITY 1"
1431 for I
in "$TMPDIR" "$TEMPDIR" "/tmp" ; do
1436 TMPLOG
="configure.log"
1437 TMPC
="$I/mplayer-conf-$RANDOM-$$.c"
1438 TMPCPP
="$I/mplayer-conf-$RANDOM-$$.cpp"
1439 TMPEXE
="$I/mplayer-conf-$RANDOM-$$$_exesuf"
1440 TMPH
="$I/mplayer-conf-$RANDOM-$$.h"
1441 TMPS
="$I/mplayer-conf-$RANDOM-$$.S"
1444 echo configuration
: $_configuration > "$TMPLOG"
1448 if test "$_runtime_cpudetection" = yes && ! x86
&& ! ppc
; then
1449 die
"Runtime CPU detection only works for x86, x86-64 and PPC!"
1453 # Checking CC version...
1454 # Intel C++ Compilers (no autoselect, use CC=/some/binary ./configure)
1455 if test "$(basename $_cc)" = "icc" ||
test "$(basename $_cc)" = "ecc"; then
1456 echocheck
"$_cc version"
1458 cc_name
=$
($_cc -V 2>&1 |
head -n 1 | cut
-d ',' -f 1)
1459 cc_version
=$
($_cc -V 2>&1 |
head -n 1 | cut
-d ',' -f 2 | cut
-d ' ' -f 3)
1460 _cc_major
=$
(echo $cc_version | cut
-d '.' -f 1)
1461 _cc_minor
=$
(echo $cc_version | cut
-d '.' -f 2)
1462 # TODO verify older icc/ecc compatibility
1465 cc_version
="v. ?.??, bad"
1469 cc_version
="$cc_version, ok"
1472 cc_version
="$cc_version, bad"
1476 echores
"$cc_version"
1478 for _cc
in "$_cc" gcc cc
; do
1479 cc_name_tmp
=$
($_cc -v 2>&1 |
tail -n 1 | cut
-d ' ' -f 1)
1480 if test "$cc_name_tmp" = "gcc"; then
1481 cc_name
=$cc_name_tmp
1482 echocheck
"$_cc version"
1484 cc_version
=$
($_cc -dumpversion 2>&1)
1490 _cc_major
=$
(echo $cc_version | cut
-d '.' -f 1)
1491 _cc_minor
=$
(echo $cc_version | cut
-d '.' -f 2)
1492 _cc_mini
=$
(echo $cc_version | cut
-d '.' -f 3)
1495 echores
"$cc_version"
1498 cc_name_tmp
=$
($_cc -V 2>&1 |
head -n 1 | cut
-d ' ' -f 2,3)
1499 if test "$cc_name_tmp" = "Sun C"; then
1500 echocheck
"$_cc version"
1502 cc_version
=$
($_cc -V 2>&1 |
head -n 1 | cut
-d ' ' -f 4)
1503 _res_comment
="experimental support only"
1504 echores
"Sun C $cc_version"
1509 test "$cc_fail" = yes && die
"unsupported compiler version"
1511 if test -z "$_target" && x86
; then
1514 int test[(int)sizeof(char *)-7];
1518 cc_check
&& host_arch
=x86_64 || host_arch
=i386
1521 echo "Detected operating system: $system_name"
1522 echo "Detected host architecture: $host_arch"
1525 test "$_host_cc" || _host_cc
=$_cc
1528 echocheck
"cross compilation"
1529 if test $_cross_compile = auto
; then
1531 int main(void) { return 0; }
1534 cc_check
&& "$TMPEXE" && _cross_compile
=no
1536 echores
$_cross_compile
1538 if test $_cross_compile = yes; then
1546 # now that we know what compiler should be used for compilation, try to find
1547 # out which assembler is used by the $_cc compiler
1548 if test "$_as" = auto
; then
1549 _as
=$
($_cc -print-prog-name=as
)
1550 test -z "$_as" && _as
=as
1553 if test "$_nm" = auto
; then
1554 _nm
=$
($_cc -print-prog-name=nm
)
1555 test -z "$_nm" && _nm
=nm
1558 # XXX: this should be ok..
1561 if test "$_runtime_cpudetection" = no
; then
1563 # Cygwin has /proc/cpuinfo, but only supports Intel CPUs
1564 # FIXME: Remove the cygwin check once AMD CPUs are supported
1565 if test -r /proc
/cpuinfo
&& ! cygwin
; then
1566 # Linux with /proc mounted, extract CPU information from it
1567 _cpuinfo
="cat /proc/cpuinfo"
1568 elif test -r /compat
/linux
/proc
/cpuinfo
&& ! x86
; then
1569 # FreeBSD with Linux emulation /proc mounted,
1570 # extract CPU information from it
1571 # Don't use it on x86 though, it never reports 3Dnow
1572 _cpuinfo
="cat /compat/linux/proc/cpuinfo"
1573 elif darwin
&& ! x86
; then
1574 # use hostinfo on Darwin
1577 # use 'lsattr' on AIX
1578 _cpuinfo
="lsattr -E -l proc0 -a type"
1580 # all other OSes try to extract CPU information from a small helper
1581 # program cpuinfo instead
1582 $_cc -o cpuinfo
$_exesuf cpuinfo.c
1583 _cpuinfo
="./cpuinfo$_exesuf"
1587 # gather more CPU information
1588 pname
=$
($_cpuinfo |
grep 'model name' | cut
-d ':' -f 2 |
head -n 1)
1589 pvendor
=$
($_cpuinfo |
grep 'vendor_id' | cut
-d ':' -f 2 | cut
-d ' ' -f 2 |
head -n 1)
1590 pfamily
=$
($_cpuinfo |
grep 'cpu family' | cut
-d ':' -f 2 | cut
-d ' ' -f 2 |
head -n 1)
1591 pmodel
=$
($_cpuinfo |
grep -v 'model name' |
grep 'model' | cut
-d ':' -f 2 | cut
-d ' ' -f 2 |
head -n 1)
1592 pstepping
=$
($_cpuinfo |
grep 'stepping' | cut
-d ':' -f 2 | cut
-d ' ' -f 2 |
head -n 1)
1594 exts
=$
($_cpuinfo |
egrep 'features|flags' | cut
-d ':' -f 2 |
head -n 1)
1596 pparam
=$
(echo $exts |
sed -e s
/k6_mtrr
/mtrr
/ -e s
/cyrix_arr
/mtrr
/ -e s
/centaur_mcr
/mtrr
/ \
1597 -e s
/xmm
/sse
/ -e s
/kni
/sse
/)
1599 for ext
in $pparam ; do
1600 eval test \"\
$_$ext\" = auto
2>/dev
/null
&& eval _
$ext=kernel_check
1603 # SSE implies MMX2, but not all SSE processors report the mmxext CPU flag.
1604 test $_sse = kernel_check
&& _mmxext
=kernel_check
1606 echocheck
"CPU vendor"
1607 echores
"$pvendor ($pfamily:$pmodel:$pstepping)"
1609 echocheck
"CPU type"
1613 fi # test "$_runtime_cpudetection" = no
1615 if x86
&& test "$_runtime_cpudetection" = no
; then
1617 if test "$1" = kernel_check
; then
1618 echocheck
"kernel support of $2"
1622 void catch() { exit(1); }
1624 signal(SIGILL, catch);
1625 __asm__ volatile ("$3":::"memory"); return 0;
1629 if cc_check
&& tmp_run
; then
1632 _optimizing
="$_optimizing $2"
1637 echo "It seems that your kernel does not correctly support $2."
1638 echo "To use $2 extensions in MPlayer, you have to upgrade/recompile your kernel!"
1645 extcheck
$_mmx "mmx" "emms"
1646 extcheck
$_mmxext "mmxext" "sfence"
1647 extcheck
$_3dnow "3dnow" "femms"
1648 extcheck
$_3dnowext "3dnowext" "pswapd %%mm0, %%mm0"
1649 extcheck
$_sse "sse" "xorps %%xmm0, %%xmm0" || _gcc3_ext
="$_gcc3_ext -mno-sse"
1650 extcheck
$_sse2 "sse2" "xorpd %%xmm0, %%xmm0" || _gcc3_ext
="$_gcc3_ext -mno-sse2"
1651 extcheck
$_ssse3 "ssse3" "pabsd %%xmm0, %%xmm0"
1652 extcheck
$_cmov "cmov" "cmovb %%eax,%%ebx"
1654 echocheck
"mtrr support"
1655 if test "$_mtrr" = kernel_check
; then
1657 _optimizing
="$_optimizing mtrr"
1661 if test "$_gcc3_ext" != ""; then
1662 # if we had to disable sse/sse2 because the active kernel does not
1663 # support this instruction set extension, we also have to tell
1664 # gcc3 to not generate sse/sse2 instructions for normal C code
1666 int main(void) { return 0; }
1668 cc_check
$_march $_gcc3_ext && _march
="$_march $_gcc3_ext"
1674 def_fast_64bit
='#define HAVE_FAST_64BIT 0'
1675 def_fast_unaligned
='#define HAVE_FAST_UNALIGNED 0'
1676 _arch_all
='X86 X86_32 X86_64 IA64 SPARC ARM AVR32 SH4 PPC PPC64 ALPHA MIPS SGI_MIPS PA_RISC S390 S390X VAX BFIN XTENSA GENERIC'
1677 case "$host_arch" in
1678 i
[3-9]86|x86|x86pc|k5|k6|k6-2|k6-3|pentium
*|athlon
*|i586-i686
)
1680 _target_arch
="ARCH_X86 = yes"
1681 _target_subarch
="ARCH_X86_32 = yes"
1682 def_fast_unaligned
='#define HAVE_FAST_UNALIGNED 1'
1687 if test "$_runtime_cpudetection" = no
; then
1691 3) proc
=i386 iproc
=386 ;;
1692 4) proc
=i486 iproc
=486 ;;
1693 5) iproc
=586 # LGB: models are: K5/SSA5 K5 K5 K5 ? ? K6 K6 K6-2 K6-3
1694 # K6 model 13 are the K6-2+ and K6-III+, only differing in cache size.
1695 if test "$pmodel" -eq 9 -o "$pmodel" -eq 13; then
1697 elif test "$pmodel" -eq 5 -o "$pmodel" -eq 10; then
1699 elif test "$pmodel" -ge 8; then
1701 elif test "$pmodel" -ge 6; then
1708 # It's a bit difficult to determine the correct type of Family 6
1709 # AMD CPUs just from their signature. Instead, we check directly
1710 # whether it supports SSE.
1711 if test "$_sse" = yes; then
1712 # gcc treats athlon-xp, athlon-4 and athlon-mp similarly.
1715 # Again, gcc treats athlon and athlon-tbird similarly.
1720 # k8 cpu-type only supported in gcc >= 3.4.0, but that will be
1721 # caught and remedied in the optimization tests below.
1725 *) proc
=amdfam10 iproc
=686
1726 test $_fast_clz = "auto" && _fast_clz
=yes
1732 3) proc
=i386 iproc
=386 ;;
1733 4) proc
=i486 iproc
=486 ;;
1735 if test "$pmodel" -eq 4 ||
test "$pmodel" -eq 8; then
1736 proc
=pentium-mmx
# 4 is desktop, 8 is mobile
1742 if test "$pmodel" -ge 15; then
1744 elif test "$pmodel" -eq 9 -o "$pmodel" -ge 13; then
1746 elif test "$pmodel" -ge 7; then
1748 elif test "$pmodel" -ge 3; then
1753 test $_fast_clz = "auto" && _fast_clz
=yes
1756 # A nocona in 32-bit mode has no more capabilities than a prescott.
1757 if test "$pmodel" -ge 3; then
1761 test $_fast_clz = "auto" && _fast_clz
=yes
1763 test $_fast_cmov = "auto" && _fast_cmov
=no
1765 *) proc
=prescott iproc
=686 ;;
1771 if test "$pmodel" -ge 8; then
1773 elif test "$pmodel" -ge 4; then
1780 if test "$pmodel" -ge 9; then
1787 *) proc
=i686 iproc
=i686
;;
1792 3) proc
=i386 iproc
=386 ;;
1793 4) proc
=i486 iproc
=486 ;;
1794 *) proc
=i586 iproc
=586 ;;
1798 proc
=i586 iproc
=586 ;;
1800 test $_fast_clz = "auto" && _fast_clz
=no
1801 fi # test "$_runtime_cpudetection" = no
1804 # check that gcc supports our CPU, if not, fall back to earlier ones
1805 # LGB: check -mcpu and -march swithing step by step with enabling
1806 # to fall back till 386.
1808 # gcc >= 3.4.0 doesn't support -mcpu, we have to use -mtune instead
1810 if [ "$cc_vendor" = "gnu" ] && ([ "$_cc_major" -gt 3 ] ||
( [ "$_cc_major" = 3 ] && [ "$_cc_minor" -ge 4 ])) ; then
1816 echocheck
"GCC & CPU optimization abilities"
1818 int main(void) { return 0; }
1820 if test "$_runtime_cpudetection" = no
; then
1821 cc_check
-march=native
&& proc
=native
1822 if test "$proc" = "k8"; then
1823 cc_check
-march=$proc $cpuopt=$proc || proc
=athlon-xp
1825 if test "$proc" = "athlon-xp"; then
1826 cc_check
-march=$proc $cpuopt=$proc || proc
=athlon
1828 if test "$proc" = "k6-3" ||
test "$proc" = "k6-2"; then
1829 cc_check
-march=$proc $cpuopt=$proc || proc
=k6
1831 if test "$proc" = "k6" ||
test "$proc" = "c3"; then
1832 if ! cc_check
-march=$proc $cpuopt=$proc; then
1833 if cc_check
-march=i586
$cpuopt=i686
; then
1840 if test "$proc" = "prescott" ; then
1841 cc_check
-march=$proc $cpuopt=$proc || proc
=pentium4
1843 if test "$proc" = "core2" ; then
1844 cc_check
-march=$proc $cpuopt=$proc || proc
=pentium-m
1846 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
1847 cc_check
-march=$proc $cpuopt=$proc || proc
=i686
1849 if test "$proc" = "i686" ||
test "$proc" = "pentium-mmx" ||
test "$proc" = "winchip-c6" ||
test "$proc" = "winchip2"; then
1850 cc_check
-march=$proc $cpuopt=$proc || proc
=i586
1852 if test "$proc" = "i586"; then
1853 cc_check
-march=$proc $cpuopt=$proc || proc
=i486
1855 if test "$proc" = "i486" ; then
1856 cc_check
-march=$proc $cpuopt=$proc || proc
=i386
1858 if test "$proc" = "i386" ; then
1859 cc_check
-march=$proc $cpuopt=$proc || proc
=error
1861 if test "$proc" = "error" ; then
1862 echores
"CPU optimization disabled. CPU not recognized or your compiler is too old."
1866 elif test "$proc" = "i586-i686"; then
1867 _march
="-march=i586"
1868 _mcpu
="$cpuopt=i686"
1871 _march
="-march=$proc"
1872 _mcpu
="$cpuopt=$proc"
1875 else # if test "$_runtime_cpudetection" = no
1876 _mcpu
="$cpuopt=generic"
1877 # at least i486 required, for bswap instruction
1878 _march
="-march=i486"
1879 cc_check
$_mcpu || _mcpu
="$cpuopt=i686"
1880 cc_check
$_mcpu || _mcpu
=""
1881 cc_check
$_march $_mcpu || _march
=""
1884 ## Gabucino : --target takes effect here (hopefully...) by overwriting
1885 ## autodetected mcpu/march parameters
1886 if test "$_target" ; then
1887 # TODO: it may be a good idea to check GCC and fall back in all cases
1888 if test "$host_arch" = "i586-i686"; then
1889 _march
="-march=i586"
1890 _mcpu
="$cpuopt=i686"
1892 _march
="-march=$host_arch"
1893 _mcpu
="$cpuopt=$host_arch"
1901 i586|k5|k6|k6-2|k6-3|pentium|pentium-mmx
) iproc
=586 ;;
1902 i686|athlon
*|pentium
*) iproc
=686 ;;
1907 if test $_cmov = "yes" && test $_fast_cmov = "auto" ; then
1912 test $_fast_clz = "auto" && _fast_clz
=yes
1919 _target_arch
='ARCH_IA64 = yes'
1920 def_fast_64bit
='#define HAVE_FAST_64BIT 1'
1926 _target_subarch
='ARCH_X86_64 = yes'
1927 _target_arch
="ARCH_X86 = yes"
1928 def_fast_unaligned
='#define HAVE_FAST_UNALIGNED 1'
1929 def_fast_64bit
='#define HAVE_FAST_64BIT 1'
1932 # gcc >= 3.4.0 doesn't support -mcpu, we have to use -mtune instead
1933 if test "$cc_vendor" = "gnu" && test "$_cc_major" -gt 3 -o "$_cc_major" -eq 3 -a "$_cc_minor" -ge 4 ; then
1938 if test "$_runtime_cpudetection" = no
; then
1943 test $_fast_clz = "auto" && _fast_clz
=no
1952 # 64-bit prescotts exist, but as far as GCC is concerned they
1953 # have the same capabilities as a nocona.
1955 test $_fast_cmov = "auto" && _fast_cmov
=no
1956 test $_fast_clz = "auto" && _fast_clz
=no
1963 fi # test "$_runtime_cpudetection" = no
1965 echocheck
"GCC & CPU optimization abilities"
1967 int main(void) { return 0; }
1969 # This is a stripped-down version of the i386 fallback.
1970 if test "$_runtime_cpudetection" = no
; then
1971 cc_check
-march=native
&& proc
=native
1972 # --- AMD processors ---
1973 if test "$proc" = "k8"; then
1974 cc_check
-march=$proc $cpuopt=$proc || proc
=athlon-xp
1976 # This will fail if gcc version < 3.3, which is ok because earlier
1977 # versions don't really support 64-bit on amd64.
1978 # Is this a valid assumption? -Corey
1979 if test "$proc" = "athlon-xp"; then
1980 cc_check
-march=$proc $cpuopt=$proc || proc
=error
1982 # --- Intel processors ---
1983 if test "$proc" = "core2"; then
1984 cc_check
-march=$proc $cpuopt=$proc || proc
=x86-64
1986 if test "$proc" = "x86-64"; then
1987 cc_check
-march=$proc $cpuopt=$proc || proc
=nocona
1989 if test "$proc" = "nocona"; then
1990 cc_check
-march=$proc $cpuopt=$proc || proc
=pentium4
1992 if test "$proc" = "pentium4"; then
1993 cc_check
-march=$proc $cpuopt=$proc || proc
=error
1996 _march
="-march=$proc"
1997 _mcpu
="$cpuopt=$proc"
1998 if test "$proc" = "error" ; then
1999 echores
"CPU optimization disabled. CPU not recognized or your compiler is too old."
2003 else # if test "$_runtime_cpudetection" = no
2004 # x86-64 is an undocumented option, an intersection of k8 and nocona.
2005 _march
="-march=x86-64"
2006 _mcpu
="$cpuopt=generic"
2007 cc_check
$_mcpu || _mcpu
="x86-64"
2008 cc_check
$_mcpu || _mcpu
=""
2009 cc_check
$_march $_mcpu || _march
=""
2013 test $_fast_cmov = "auto" && _fast_cmov
=yes
2014 test $_fast_clz = "auto" && _fast_clz
=yes
2021 _target_arch
='ARCH_SPARC = yes'
2023 if test "$host_arch" = "sparc64" ; then
2026 def_fast_64bit
='#define HAVE_FAST_64BIT 1'
2028 echocheck
"CPU type"
2030 case "$(echo $karch)" in
2035 sun4u
) proc
=ultrasparc _vis
='yes' ;;
2049 _target_arch
='ARCH_ARM = yes'
2055 _target_arch
='ARCH_AVR32 = yes'
2056 def_fast_unaligned
='#define HAVE_FAST_UNALIGNED 1'
2058 test $_fast_clz = "auto" && _fast_clz
=yes
2063 _target_arch
='ARCH_SH4 = yes'
2067 ppc|ppc64|powerpc|powerpc64
)
2069 def_dcbzl
='#define HAVE_DCBZL 0'
2070 _target_arch
='ARCH_PPC = yes'
2071 def_fast_unaligned
='#define HAVE_FAST_UNALIGNED 1'
2074 if test "$host_arch" = "ppc64" -o "$host_arch" = "powerpc64" ; then
2076 _target_subarch
='ARCH_PPC64 = yes'
2077 def_fast_64bit
='#define HAVE_FAST_64BIT 1'
2079 echocheck
"CPU type"
2080 case $system_name in
2082 proc
=$
($_cpuinfo |
grep 'cpu' | cut
-d ':' -f 2 | cut
-d ',' -f 1 | cut
-b 2- |
head -n 1)
2083 if test -n "$($_cpuinfo | grep altivec)"; then
2084 test $_altivec = auto
&& _altivec
=yes
2088 proc
=$
($_cpuinfo |
grep "Processor type" | cut
-f 3 -d ' ' |
sed 's/ppc//')
2089 if [ $
(sysctl
-n hw.vectorunit
) -eq 1 -o \
2090 "$(sysctl -n hw.optional.altivec 2> /dev/null)" = "1" ]; then
2091 test $_altivec = auto
&& _altivec
=yes
2095 # only gcc 3.4 works reliably with AltiVec code under NetBSD
2097 2*|
3.0*|
3.1*|
3.2*|
3.3*)
2100 if [ $
(sysctl
-n machdep.altivec
) -eq 1 ]; then
2101 test $_altivec = auto
&& _altivec
=yes
2107 proc
=$
($_cpuinfo |
grep 'type' | cut
-f 2 -d ' ' |
sed 's/PowerPC_//')
2110 if test "$_altivec" = yes; then
2111 echores
"$proc altivec"
2117 echocheck
"GCC & CPU optimization abilities"
2119 if test -n "$proc"; then
2121 601) _march
='-mcpu=601' _mcpu
='-mtune=601' ;;
2122 603) _march
='-mcpu=603' _mcpu
='-mtune=603' ;;
2123 603e|
603ev
) _march
='-mcpu=603e' _mcpu
='-mtune=603e' ;;
2124 604|
604e|
604r|
604ev
) _march
='-mcpu=604' _mcpu
='-mtune=604' ;;
2125 740|
740/750|
745/755) _march
='-mcpu=740' _mcpu
='-mtune=740' ;;
2126 750|
750CX
) _march
='-mcpu=750' _mcpu
='-mtune=750' ;;
2127 POWER
) _march
='-mcpu=power' _mcpu
='-mtune=power' ;;
2128 POWER2
) _march
='-mcpu=power2' _mcpu
='-mtune=power2' ;;
2129 POWER3
) _march
='-mcpu=power3' _mcpu
='-mtune=power3' ;;
2132 # gcc 3.1(.1) and up supports 7400 and 7450
2133 if test "$_cc_major" -ge "3" && test "$_cc_minor" -ge "1" ||
test "$_cc_major" -ge "4"; then
2135 7400*|
7410*) _march
='-mcpu=7400' _mcpu
='-mtune=7400' ;;
2136 7447*|
7450*|
7455*) _march
='-mcpu=7450' _mcpu
='-mtune=7450' ;;
2140 # gcc 3.2 and up supports 970
2141 if test "$_cc_major" -ge "3" && test "$_cc_minor" -ge "3" ||
test "$_cc_major" -ge "4"; then
2143 970*|PPC970
*) _march
='-mcpu=970' _mcpu
='-mtune=970'
2144 def_dcbzl
='#define HAVE_DCBZL 1' ;;
2148 # gcc 3.3 and up supports POWER4
2149 if test "$_cc_major" -ge "3" && test "$_cc_minor" -ge "3" ||
test "$_cc_major" -ge "4"; then
2151 POWER4
) _march
='-mcpu=power4' _mcpu
='-mtune=power4' ;;
2155 # gcc 3.4 and up supports 440*
2156 if test "$_cc_major" -ge "3" && test "$_cc_minor" -ge "4" ||
test "$_cc_major" -ge "4"; then
2158 440EP
*) _march
='-mcpu=440fp' _mcpu
='-mtune=440fp' ;;
2159 440G
* ) _march
='-mcpu=440' _mcpu
='-mtune=440' ;;
2163 # gcc 4.0 and up supports POWER5
2164 if test "$_cc_major" -ge "4"; then
2166 POWER5
*) _march
='-mcpu=power5' _mcpu
='-mtune=power5' ;;
2172 if test -n "$_mcpu"; then
2173 _optimizing
=$
(echo $_mcpu | cut
-c 8-)
2174 echores
"$_optimizing"
2179 test $_fast_clz = "auto" && _fast_clz
=yes
2185 _target_arch
='ARCH_ALPHA = yes'
2187 def_fast_64bit
='#define HAVE_FAST_64BIT 1'
2189 echocheck
"CPU type"
2192 unsigned long ver, mask;
2193 __asm__ ("implver %0" : "=r" (ver));
2194 __asm__ ("amask %1, %0" : "=r" (mask) : "r" (-1));
2195 printf("%ld-%x\n", ver, ~mask);
2199 $_cc -o "$TMPEXE" "$TMPC"
2200 case $
("$TMPEXE") in
2202 0-0) proc
="ev4"; _mvi
="0";;
2203 1-0) proc
="ev5"; _mvi
="0";;
2204 1-1) proc
="ev56"; _mvi
="0";;
2205 1-101) proc
="pca56"; _mvi
="1";;
2206 2-303) proc
="ev6"; _mvi
="1";;
2207 2-307) proc
="ev67"; _mvi
="1";;
2208 2-1307) proc
="ev68"; _mvi
="1";;
2212 echocheck
"GCC & CPU optimization abilities"
2213 if test "$proc" = "ev68" ; then
2214 cc_check
-mcpu=$proc || proc
=ev67
2216 if test "$proc" = "ev67" ; then
2217 cc_check
-mcpu=$proc || proc
=ev6
2222 test $_fast_clz = "auto" && _fast_clz
=yes
2229 _target_arch
='ARCH_SGI_MIPS = yes'
2233 echocheck
"CPU type"
2234 proc
=$
(hinv
-c processor |
grep CPU | cut
-d " " -f3)
2235 case "$(echo $proc)" in
2236 R3000
) _march
='-mips1' _mcpu
='-mtune=r2000' ;;
2237 R4000
) _march
='-mips3' _mcpu
='-mtune=r4000' ;;
2238 R4400
) _march
='-mips3' _mcpu
='-mtune=r4400' ;;
2239 R4600
) _march
='-mips3' _mcpu
='-mtune=r4600' ;;
2240 R5000
) _march
='-mips4' _mcpu
='-mtune=r5000' ;;
2241 R8000|R10000|R12000|R14000|R16000
) _march
='-mips4' _mcpu
='-mtune=r8000' ;;
2243 # gcc < 3.x does not support -mtune.
2244 if test "$cc_vendor" = "gnu" && test "$_cc_major" -lt 3 ; then
2250 test $_fast_clz = "auto" && _fast_clz
=yes
2256 _target_arch
='ARCH_PA_RISC = yes'
2262 _target_arch
='ARCH_S390 = yes'
2268 _target_arch
='ARCH_S390X = yes'
2274 _target_arch
='ARCH_VAX = yes'
2280 _target_arch
='ARCH_XTENSA = yes'
2286 _target_arch
='ARCH_GENERIC = yes'
2290 echo "The architecture of your CPU ($host_arch) is not supported by this configure script"
2291 echo "It seems nobody has ported MPlayer to your OS or CPU type yet."
2292 die
"unsupported architecture $host_arch"
2294 esac # case "$host_arch" in
2296 if test "$_runtime_cpudetection" = yes ; then
2298 test "$_cmov" != no
&& _cmov
=yes
2300 test "$_mmx" != no
&& _mmx
=yes
2301 test "$_3dnow" != no
&& _3dnow
=yes
2302 test "$_3dnowext" != no
&& _3dnowext
=yes
2303 test "$_mmxext" != no
&& _mmxext
=yes
2304 test "$_sse" != no
&& _sse
=yes
2305 test "$_sse2" != no
&& _sse2
=yes
2306 test "$_ssse3" != no
&& _ssse3
=yes
2307 test "$_mtrr" != no
&& _mtrr
=yes
2316 echocheck
"byte order"
2317 if test "$_big_endian" = auto
; then
2319 short ascii_name[] = { (('M'<<8)|'P'),(('l'<<8)|'a'),(('y'<<8)|'e'),(('r'<<8)|'B'),
2320 (('i'<<8)|'g'),(('E'<<8)|'n'),(('d'<<8)|'i'),(('a'<<8)|'n'),0};
2321 int main(void) { return (int)ascii_name; }
2324 if strings $TMPEXE |
grep -q -l MPlayerBigEndian
; then
2330 echo ${_echo_n} "failed to autodetect byte order, defaulting to ${_echo_c}"
2333 if test "$_big_endian" = yes ; then
2334 _byte_order
='big-endian'
2335 def_words_endian
='#define WORDS_BIGENDIAN 1'
2336 def_bigendian
='#define HAVE_BIGENDIAN 1'
2338 _byte_order
='little-endian'
2339 def_words_endian
='#undef WORDS_BIGENDIAN'
2340 def_bigendian
='#define HAVE_BIGENDIAN 0'
2342 echores
"$_byte_order"
2345 echocheck
"extern symbol prefix"
2349 cc_check
-c || die
"Symbol mangling check failed."
2350 sym
=$
($_nm -P -g $TMPEXE)
2351 extern_prefix
=${sym%%ff_extern*}
2352 def_extern_asm
="#define EXTERN_ASM $extern_prefix"
2353 def_extern_prefix
="#define EXTERN_PREFIX \"$extern_prefix\""
2354 echores
$extern_prefix
2357 echocheck
"assembler support of -pipe option"
2359 int main(void) { return 0; }
2361 # -I. helps to detect compilers that just misunderstand -pipe like Sun C
2362 cc_check
-pipe -I.
&& _pipe
="-pipe" && echores
"yes" || echores
"no"
2365 echocheck
"compiler support of named assembler arguments"
2367 def_named_asm_args
="#define NAMED_ASM_ARGS 1"
2368 if test "$cc_vendor" = "gnu" && test "$_cc_major" -lt 3 \
2369 -o "$_cc_major" -eq 3 -a "$_cc_minor" = 0 ; then
2371 def_named_asm_args
="#undef NAMED_ASM_ARGS"
2373 echores
$_named_asm_args
2376 if darwin
&& test "$cc_vendor" = "gnu" ; then
2377 echocheck
"GCC support of -mstackrealign"
2378 # GCC 4.2 and some earlier Apple versions support this flag on x86. Since
2379 # Mac OS X/Intel has an ABI different from Windows this is needed to avoid
2380 # crashes when loading Win32 DLLs. Unfortunately some gcc versions create
2381 # wrong code with this flag, but this can be worked around by adding
2382 # -fno-unit-at-a-time as described in the blog post at
2383 # http://www.dribin.org/dave/blog/archives/2006/12/05/missing_third_param/
2385 __attribute__((noinline)) static int foo3(int i1, int i2, int i3) { return i3; }
2386 int main(void) { return foo3(1,2,3) == 3 ? 0 : 1; }
2388 cc_check
-O2 -mstackrealign && tmp_run
&& cflags_stackrealign
=-mstackrealign
2389 test -z "$cflags_stackrealign" && cc_check
-O2 -mstackrealign -fno-unit-at-a-time \
2390 && tmp_run
&& cflags_stackrealign
="-mstackrealign -fno-unit-at-a-time"
2391 test -n "$cflags_stackrealign" && echores
"yes" || echores
"no"
2392 fi # if darwin && test "$cc_vendor" = "gnu" ; then
2395 # Checking for CFLAGS
2397 if test "$_profile" != "" ||
test "$_debug" != "" ; then
2398 CFLAGS
="-W -Wall -O2 $_march $_mcpu $_pipe $_debug $_profile"
2400 elif test -z "$CFLAGS" ; then
2401 if test "$cc_vendor" = "intel" ; then
2402 CFLAGS
="-O2 $_march $_mcpu $_pipe -fomit-frame-pointer -wd167 -wd556 -wd144"
2403 elif test "$cc_vendor" = "sun" ; then
2404 CFLAGS
="-O2 $_march $_mcpu $_pipe -xc99 -xregs=frameptr"
2405 elif test "$cc_vendor" != "gnu" ; then
2406 CFLAGS
="-O2 $_march $_mcpu $_pipe"
2408 CFLAGS
="-Wall -Wno-switch -Wpointer-arith -Wredundant-decls -O2 $_march $_mcpu $_pipe -ffast-math -fomit-frame-pointer"
2409 extra_ldflags
="$extra_ldflags -ffast-math"
2416 int main(void) { return 0; }
2418 if test "$cc_vendor" = "gnu" ; then
2419 cc_check
-std=gnu99
&& CFLAGS
="-std=gnu99 $CFLAGS"
2420 cc_check
-Wno-pointer-sign && CFLAGS
="-Wno-pointer-sign $CFLAGS"
2421 cc_check
-Wdisabled-optimization && CFLAGS
="-Wdisabled-optimization $CFLAGS"
2422 cc_check
-Wundef && CFLAGS
="-Wundef $CFLAGS"
2423 cc_check
-Wmissing-prototypes && CFLAGS
="-Wmissing-prototypes $CFLAGS"
2425 CFLAGS
="-D_ISOC99_SOURCE -D_BSD_SOURCE $CFLAGS"
2428 cc_check
-mno-omit-leaf-frame-pointer && cflags_no_omit_leaf_frame_pointer
="-mno-omit-leaf-frame-pointer"
2431 if test -n "$LDFLAGS" ; then
2432 extra_ldflags
="$extra_ldflags $LDFLAGS"
2434 elif test "$cc_vendor" = "intel" ; then
2435 extra_ldflags
="$extra_ldflags -i-static"
2437 if test -n "$CPPFLAGS" ; then
2438 extra_cflags
="$extra_cflags $CPPFLAGS"
2445 # Checking assembler (_as) compatibility...
2446 # Added workaround for older as that reads from stdin by default - atmos
2447 as_version
=$
(echo '' |
$_as -version 2>&1 |
sed -n 's/^.*assembler \(version \)*\([0-9.]*\).*$/\2/p')
2448 echocheck
"assembler ($_as $as_version)"
2450 _pref_as_version
='2.9.1'
2452 if test "$_mmx" = yes ; then
2453 echo 'emms' >> $TMPS
2455 if test "$_3dnow" = yes ; then
2456 _pref_as_version
='2.10.1'
2457 echo 'femms' >> $TMPS
2459 if test "$_3dnowext" = yes ; then
2460 _pref_as_version
='2.10.1'
2461 echo 'pswapd %mm0, %mm0' >> $TMPS
2463 if test "$_mmxext" = yes ; then
2464 _pref_as_version
='2.10.1'
2465 echo 'movntq %mm0, (%eax)' >> $TMPS
2467 if test "$_sse" = yes ; then
2468 _pref_as_version
='2.10.1'
2469 echo 'xorps %xmm0, %xmm0' >> $TMPS
2471 #if test "$_sse2" = yes ; then
2472 # _pref_as_version='2.11'
2473 # echo 'xorpd %xmm0, %xmm0' >> $TMPS
2475 if test "$_cmov" = yes ; then
2476 _pref_as_version
='2.10.1'
2477 echo 'cmovb %eax, %ebx' >> $TMPS
2479 if test "$_ssse3" = yes ; then
2480 _pref_as_version
='2.16.92'
2481 echo 'pabsd %xmm0, %xmm1' >> $TMPS
2483 $_as $TMPS -o $TMPEXE > /dev
/null
2>&1 || as_verc_fail
=yes
2485 if test "$as_verc_fail" != yes ; then
2488 _res_comment
="Upgrade binutils to ${_pref_as_version} or use --disable-ssse3 etc."
2490 die
"obsolete binutils version"
2495 echocheck
".align is a power of two"
2496 if test "$_asmalign_pot" = auto
; then
2499 int main(void) { __asm__ (".align 3"); return 0; }
2501 cc_check
&& _asmalign_pot
=yes
2503 if test "$_asmalign_pot" = "yes" ; then
2504 def_asmalign_pot
='#define ASMALIGN(ZEROBITS) ".align " #ZEROBITS "\n\t"'
2506 def_asmalign_pot
='#define ASMALIGN(ZEROBITS) ".align 1<<" #ZEROBITS "\n\t"'
2508 echores
$_asmalign_pot
2511 echocheck
"10 assembler operands"
2513 def_ten_operands
='#define HAVE_TEN_OPERANDS 0'
2519 :"+&rm"(x), "+&rm"(x), "+&rm"(x), "+&rm"(x), "+&rm"(x), "+&rm"(x)
2524 cc_check
&& ten_operands
=yes && def_ten_operands
='#define HAVE_TEN_OPERANDS 1'
2525 echores
$ten_operands
2527 echocheck
"ebx availability"
2529 def_ebx_available
='#define HAVE_EBX_AVAILABLE 0'
2536 // just adding ebx to clobber list seems unreliable with some
2537 // compilers, e.g. Haiku's gcc 2.95
2539 // and the above check does not work for OSX 64 bit...
2540 __asm__ volatile("":::"%ebx");
2544 cc_check
&& ebx_available
=yes && def_ebx_available
='#define HAVE_EBX_AVAILABLE 1'
2545 echores
$ebx_available
2551 #if !(defined(__PIC__) || defined(__pic__) || defined(PIC))
2552 #error PIC not enabled
2557 cc_check
&& pic
=yes && extra_cflags
="$extra_cflags -DPIC"
2561 if test -z "$YASMFLAGS" ; then
2563 x86_64
&& objformat
="macho64" || objformat
="macho"
2569 # currently tested for Linux x86, x86_64
2570 YASMFLAGS
="-f $objformat"
2571 x86_64
&& YASMFLAGS
="$YASMFLAGS -DARCH_X86_64 -m amd64"
2572 test "$pic" = "yes" && YASMFLAGS
="$YASMFLAGS -DPIC"
2573 case "$objformat" in
2574 elf
) test $_debug && YASMFLAGS
="$YASMFLAGS -g dwarf2" ;;
2575 *) YASMFLAGS
="$YASMFLAGS -DPREFIX" ;;
2581 echo "pabsw xmm0, xmm0" > $TMPS
2582 yasm_check || _yasm
=""
2583 if test $_yasm ; then
2584 test "$_mmx" = "yes" && fft_mmx
="yes"
2585 def_yasm
='#define HAVE_YASM 1'
2589 def_yasm
='#define HAVE_YASM 0'
2596 def_bswap
='#define HAVE_BSWAP 0'
2597 echo 'bswap %eax' > $TMPS
2598 $_as $TMPS -o $TMPEXE > /dev
/null
2>&1 && def_bswap
='#define HAVE_BSWAP 1' && bswap
=yes || bswap
=no
2603 #FIXME: This should happen before the check for CFLAGS..
2604 def_altivec_h
='#define HAVE_ALTIVEC_H 0'
2605 if ppc
&& ( test "$_altivec" = yes ||
test "$_runtime_cpudetection" = yes ) ; then
2607 # check if AltiVec is supported by the compiler, and how to enable it
2608 echocheck
"GCC AltiVec flags"
2610 int main(void) { return 0; }
2612 if $
(cc_check
-maltivec -mabi=altivec
) ; then
2613 _altivec_gcc_flags
="-maltivec -mabi=altivec"
2614 # check if <altivec.h> should be included
2616 #include <altivec.h>
2617 int main(void) { return 0; }
2619 if $
(cc_check
$_altivec_gcc_flags) ; then
2620 def_altivec_h
='#define HAVE_ALTIVEC_H 1'
2621 inc_altivec_h
='#include <altivec.h>'
2624 int main(void) { return 0; }
2626 if $
(cc_check
-faltivec) ; then
2627 _altivec_gcc_flags
="-faltivec"
2630 _altivec_gcc_flags
="none, AltiVec disabled"
2634 echores
"$_altivec_gcc_flags"
2636 # check if the compiler supports braces for vector declarations
2639 int main(void) { (vector int) {1}; return 0; }
2641 cc_check
$_altivec_gcc_flags || die
"You need a compiler that supports {} in AltiVec vector declarations."
2643 # Disable runtime cpudetection if we cannot generate AltiVec code or
2644 # AltiVec is disabled by the user.
2645 test "$_runtime_cpudetection" = yes && test "$_altivec" = no \
2646 && _runtime_cpudetection
=no
2648 # Show that we are optimizing for AltiVec (if enabled and supported).
2649 test "$_runtime_cpudetection" = no
&& test "$_altivec" = yes \
2650 && _optimizing
="$_optimizing altivec"
2652 # If AltiVec is enabled, make sure the correct flags turn up in CFLAGS.
2653 test "$_altivec" = yes && CFLAGS
="$CFLAGS $_altivec_gcc_flags"
2657 def_xform_asm
='#define HAVE_XFORM_ASM 0'
2659 echocheck
"XFORM ASM support"
2661 int main(void) { __asm__ volatile ("lwzx %1, %y0" :: "Z"(*(int*)0), "r"(0)); return 0; }
2663 cc_check
&& xform_asm
=yes && def_xform_asm
='#define HAVE_XFORM_ASM 1'
2664 echores
"$xform_asm"
2668 echocheck
"ARM pld instruction"
2670 int main(void) { __asm__ volatile ("pld [r0]"); return 0; }
2676 echocheck
"ARMv5TE (Enhanced DSP Extensions)"
2677 if test $_armv5te = "auto" ; then
2679 int main(void) { __asm__ volatile ("qadd r0, r0, r0"); return 0; }
2682 cc_check
&& _armv5te
=yes
2686 test $_armv5te = "yes" && test $_fast_clz = "auto" && _fast_clz
=yes
2688 echocheck
"ARMv6 (SIMD instructions)"
2689 if test $_armv6 = "auto" ; then
2691 int main(void) { __asm__ volatile ("sadd16 r0, r0, r0"); return 0; }
2694 cc_check
&& _armv6
=yes
2698 echocheck
"ARMv6t2 (SIMD instructions)"
2699 if test $_armv6t2 = "auto" ; then
2701 int main(void) { __asm__ volatile ("movt r0, #0"); return 0; }
2704 cc_check
&& _armv6t2
=yes
2709 if test $_armvfp = "auto" ; then
2711 int main(void) { __asm__ volatile ("fadds s0, s0, s0"); return 0; }
2714 cc_check
&& _armvfp
=yes
2718 echocheck
"ARM NEON"
2719 if test $neon = "auto" ; then
2721 int main(void) { __asm__ volatile ("vadd.i16 q0, q0, q0"); return 0; }
2724 cc_check
&& neon
=yes
2728 echocheck
"iWMMXt (Intel XScale SIMD instructions)"
2729 if test $_iwmmxt = "auto" ; then
2731 int main(void) { __asm__ volatile ("wunpckelub wr6, wr4"); return 0; }
2734 cc_check
&& _iwmmxt
=yes
2739 _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'
2740 test "$_altivec" = yes && _cpuexts
="ALTIVEC $_cpuexts"
2741 test "$_mmx" = yes && _cpuexts
="MMX $_cpuexts"
2742 test "$_mmxext" = yes && _cpuexts
="MMX2 $_cpuexts"
2743 test "$_3dnow" = yes && _cpuexts
="AMD3DNOW $_cpuexts"
2744 test "$_3dnowext" = yes && _cpuexts
="AMD3DNOWEXT $_cpuexts"
2745 test "$_sse" = yes && _cpuexts
="SSE $_cpuexts"
2746 test "$_sse2" = yes && _cpuexts
="SSE2 $_cpuexts"
2747 test "$_ssse3" = yes && _cpuexts
="SSSE3 $_cpuexts"
2748 test "$_cmov" = yes && _cpuexts
="CMOV $_cpuexts"
2749 test "$_fast_cmov" = yes && _cpuexts
="FAST_CMOV $_cpuexts"
2750 test "$_fast_clz" = yes && _cpuexts
="FAST_CLZ $_cpuexts"
2751 test "$pld" = yes && _cpuexts
="PLD $_cpuexts"
2752 test "$_armv5te" = yes && _cpuexts
="ARMV5TE $_cpuexts"
2753 test "$_armv6" = yes && _cpuexts
="ARMV6 $_cpuexts"
2754 test "$_armv6t2" = yes && _cpuexts
="ARMV6T2 $_cpuexts"
2755 test "$_armvfp" = yes && _cpuexts
="ARMVFP $_cpuexts"
2756 test "$neon" = yes && _cpuexts
="NEON $_cpuexts"
2757 test "$_iwmmxt" = yes && _cpuexts
="IWMMXT $_cpuexts"
2758 test "$_vis" = yes && _cpuexts
="VIS $_cpuexts"
2759 test "$_mvi" = yes && _cpuexts
="MVI $_cpuexts"
2761 # Checking kernel version...
2762 if x86_32
&& linux
; then
2764 kernel_version
=$
(uname
-r 2>&1)
2765 echocheck
"$system_name kernel version"
2766 case "$kernel_version" in
2767 '') kernel_version
="?.??"; _k_verc_fail
=yes;;
2768 [0-1].
[0-9].
[0-9]*|
2.
[0-3].
[0-9]*)
2769 _k_verc_problem
=yes;;
2771 if test "$_k_verc_problem" = yes && test "$_sse" = yes ; then
2774 if test "$_k_verc_fail" ; then
2775 echores
"$kernel_version, fail"
2776 echo "WARNING! If you want to run MPlayer on this system, get prepared for problems!"
2777 echo "2.2.x has limited SSE support. Upgrade the kernel or use --disable-sse if you"
2778 echo "experience crashes. MPlayer tries to autodetect if your kernel correctly"
2779 echo "supports SSE, but you have been warned! If you are using a kernel older than"
2780 echo "2.2.x you must upgrade it to get SSE support!"
2781 # die "Your kernel is too old for this CPU." # works fine on some 2.2.x so don't die (later check will test)
2783 echores
"$kernel_version, ok"
2787 ######################
2788 # MAIN TESTS GO HERE #
2789 ######################
2794 int main(void) { return 0; }
2796 if cc_check
-lposix ; then
2797 extra_ldflags
="$extra_ldflags -lposix"
2805 int main(void) { return 0; }
2807 if cc_check
-lm ; then
2816 echocheck
"langinfo"
2817 if test "$_langinfo" = auto
; then
2819 #include <langinfo.h>
2820 int main(void) { nl_langinfo(CODESET); return 0; }
2823 cc_check
&& _langinfo
=yes
2825 if test "$_langinfo" = yes ; then
2826 def_langinfo
='#define HAVE_LANGINFO 1'
2828 def_langinfo
='#undef HAVE_LANGINFO'
2830 echores
"$_langinfo"
2833 echocheck
"translation support"
2834 if test "$_translation" = yes; then
2835 def_translation
="#define CONFIG_TRANSLATION 1"
2837 def_translation
="#undef CONFIG_TRANSLATION"
2839 echores
"$_translation"
2841 echocheck
"language"
2842 # Set preferred languages, "all" uses English as main language.
2843 test -z "$language" && language
=$LINGUAS
2844 test -z "$language_doc" && language_doc
=$language
2845 test -z "$language_man" && language_man
=$language
2846 language_doc
=$
(echo $language_doc |
tr , " ")
2847 language_man
=$
(echo $language_man |
tr , " ")
2849 test "$language_doc" = "all" && language_doc
=$doc_lang_all
2850 test "$language_man" = "all" && language_man
=$man_lang_all
2852 # Prune non-existing translations from language lists.
2853 # Set message translation to the first available language.
2854 # Fall back on English.
2855 for lang
in $language_doc ; do
2856 test -d DOCS
/xml
/$lang && tmp_language_doc
="$tmp_language_doc $lang"
2858 language_doc
=$tmp_language_doc
2859 test -z "$language_doc" && language_doc
=en
2861 for lang
in $language_man ; do
2862 test -d DOCS
/man
/$lang && tmp_language_man
="$tmp_language_man $lang"
2864 language_man
=$tmp_language_man
2865 test -z "$language_man" && language_man
=en
2867 echores
"man pages: $language_man - documentation: $language_doc"
2870 echocheck
"enable sighandler"
2871 if test "$_sighandler" = yes ; then
2872 def_sighandler
='#define CONFIG_SIGHANDLER 1'
2874 def_sighandler
='#undef CONFIG_SIGHANDLER'
2876 echores
"$_sighandler"
2878 echocheck
"runtime cpudetection"
2879 if test "$_runtime_cpudetection" = yes ; then
2880 _optimizing
="Runtime CPU-Detection enabled"
2881 def_runtime_cpudetection
='#define CONFIG_RUNTIME_CPUDETECT 1'
2883 def_runtime_cpudetection
='#define CONFIG_RUNTIME_CPUDETECT 0'
2885 echores
"$_runtime_cpudetection"
2888 echocheck
"restrict keyword"
2889 for restrict_keyword
in restrict __restrict __restrict__
; do
2890 echo "void foo(char * $restrict_keyword p); int main(void) { return 0; }" > $TMPC
2892 def_restrict_keyword
=$restrict_keyword
2896 if [ -n "$def_restrict_keyword" ]; then
2897 echores
"$def_restrict_keyword"
2901 # Avoid infinite recursion loop ("#define restrict restrict")
2902 if [ "$def_restrict_keyword" != "restrict" ]; then
2903 def_restrict_keyword
="#define restrict $def_restrict_keyword"
2905 def_restrict_keyword
=""
2909 echocheck
"__builtin_expect"
2910 # GCC branch prediction hint
2913 a = __builtin_expect(a, 10);
2914 return a == 10 ? 0 : 1;
2916 int main(void) { return foo(10) && foo(0); }
2919 cc_check
&& _builtin_expect
=yes
2920 if test "$_builtin_expect" = yes ; then
2921 def_builtin_expect
='#define HAVE_BUILTIN_EXPECT 1'
2923 def_builtin_expect
='#undef HAVE_BUILTIN_EXPECT'
2925 echores
"$_builtin_expect"
2931 int main(void) { (void) kstat_open(); (void) kstat_close(0); return 0; }
2934 cc_check
-lkstat && _kstat
=yes
2935 if test "$_kstat" = yes ; then
2936 def_kstat
="#define HAVE_LIBKSTAT 1"
2937 extra_ldflags
="$extra_ldflags -lkstat"
2939 def_kstat
="#undef HAVE_LIBKSTAT"
2945 # required for nanosleep on some systems
2948 int main(void) { (void) nanosleep(0, 0); return 0; }
2951 cc_check
-lposix4 && _posix4
=yes
2952 if test "$_posix4" = yes ; then
2953 extra_ldflags
="$extra_ldflags -lposix4"
2957 for func
in exp2 exp2f llrint log2 log2f lrint lrintf round roundf truncf
; do
2961 int main(void) { long (*foo)(float); foo = $func; (void)(*foo)(0.0); return 0; }
2964 cc_check
-D_ISOC99_SOURCE $_ld_lm && eval _
$func=yes
2965 if eval test "x\$_$func" = "xyes"; then
2966 eval def_
$func="\"#define HAVE_$(echo $func | tr '[a-z]' '[A-Z]') 1\""
2969 eval def_
$func="\"#define HAVE_$(echo $func | tr '[a-z]' '[A-Z]') 0\""
2978 int main(void) { char a; mkstemp(&a); return 0; }
2981 cc_check
&& _mkstemp
=yes
2982 if test "$_mkstemp" = yes ; then
2983 def_mkstemp
='#define HAVE_MKSTEMP 1'
2985 def_mkstemp
='#undef HAVE_MKSTEMP'
2990 echocheck
"nanosleep"
2991 # also check for nanosleep
2994 int main(void) { (void) nanosleep(0, 0); return 0; }
2997 cc_check
&& _nanosleep
=yes
2998 if test "$_nanosleep" = yes ; then
2999 def_nanosleep
='#define HAVE_NANOSLEEP 1'
3001 def_nanosleep
='#undef HAVE_NANOSLEEP'
3003 echores
"$_nanosleep"
3007 # for Solaris (socket stuff is in -lsocket, gethostbyname and friends in -lnsl):
3008 # for BeOS (socket stuff is in -lsocket, gethostbyname and friends in -lbind):
3011 #include <sys/socket.h>
3012 int main(void) { (void) gethostbyname(0); (void) socket(AF_INET, SOCK_STREAM, 0); return 0; }
3015 for _ld_tmp
in "" "-lsocket -lbind" "-lsocket -ldnet" "-lsocket -lnsl" "-lnsl" "-lsocket" ; do
3016 cc_check
$_ld_tmp && _ld_sock
="$_ld_tmp" && _socklib
=yes && break
3018 test $_socklib = yes && test $_winsock2_h = auto
&& _winsock2_h
=no
3019 if test $_winsock2_h = auto
; then
3022 #include <winsock2.h>
3023 int main(void) { (void) gethostbyname(0); return 0; }
3025 cc_check
-lws2_32 && _ld_sock
="-lws2_32" && _winsock2_h
=yes
3027 test "$_ld_sock" && _res_comment
="using $_ld_sock"
3031 if test $_winsock2_h = yes ; then
3033 def_winsock2_h
='#define HAVE_WINSOCK2_H 1'
3035 def_winsock2_h
='#define HAVE_WINSOCK2_H 0'
3039 echocheck
"arpa/inet.h"
3041 def_arpa_inet_h
='#define HAVE_ARPA_INET_H 0'
3043 #include <arpa/inet.h>
3044 int main(void) { return 0; }
3046 cc_check
&& arpa_inet_h
=yes && def_arpa_inet_h
='#define HAVE_ARPA_INET_H 1'
3047 echores
"$arpa_inet_h"
3050 echocheck
"inet_pton()"
3051 def_inet_pton
='#define HAVE_INET_PTON 0'
3054 #include <sys/types.h>
3055 #include <sys/socket.h>
3056 #include <arpa/inet.h>
3057 int main(void) { (void) inet_pton(0, 0, 0); return 0; }
3059 for _ld_tmp
in "$_ld_sock" "$_ld_sock -lresolv" ; do
3060 cc_check
$_ld_tmp && inet_pton
=yes && break
3062 if test $inet_pton = yes ; then
3063 test "$_ld_tmp" && _res_comment
="using $_ld_tmp"
3064 def_inet_pton
='#define HAVE_INET_PTON 1'
3066 echores
"$inet_pton"
3069 echocheck
"inet_aton()"
3070 def_inet_aton
='#define HAVE_INET_ATON 0'
3073 #include <sys/types.h>
3074 #include <sys/socket.h>
3075 #include <arpa/inet.h>
3076 int main(void) { (void) inet_aton(0, 0); return 0; }
3078 for _ld_tmp
in "$_ld_sock" "$_ld_sock -lresolv" ; do
3079 cc_check
$_ld_tmp && inet_aton
=yes && break
3081 if test $inet_aton = yes ; then
3082 test "$_ld_tmp" && _res_comment
="using $_ld_tmp"
3083 def_inet_aton
='#define HAVE_INET_ATON 1'
3085 echores
"$inet_aton"
3088 echocheck
"socklen_t"
3090 for header
in "sys/socket.h" "ws2tcpip.h" "sys/types.h" ; do
3093 int main(void) { socklen_t v = 0; return v; }
3095 cc_check
&& _socklen_t
=yes && break
3097 if test "$_socklen_t" = yes ; then
3098 def_socklen_t
='#define HAVE_SOCKLEN_T 1'
3100 def_socklen_t
='#define HAVE_SOCKLEN_T 0'
3102 echores
"$_socklen_t"
3105 echocheck
"closesocket()"
3108 #include <winsock2.h>
3109 int main(void) { closesocket(~0); return 0; }
3111 cc_check
$_ld_sock && _closesocket
=yes
3112 if test "$_closesocket" = yes ; then
3113 def_closesocket
='#define HAVE_CLOSESOCKET 1'
3115 def_closesocket
='#define HAVE_CLOSESOCKET 0'
3117 echores
"$_closesocket"
3121 test $_winsock2_h = no
&& test $inet_pton = no
&&
3122 test $inet_aton = no
&& _network
=no
3123 if test "$_network" = yes ; then
3124 def_network
='#define CONFIG_NETWORK 1'
3125 extra_ldflags
="$extra_ldflags $_ld_sock"
3126 _inputmodules
="network $_inputmodules"
3128 _noinputmodules
="network $_noinputmodules"
3129 def_network
='#undef CONFIG_NETWORK'
3136 if test "$_inet6" = auto
; then
3138 #include <sys/types.h>
3139 #if !defined(_WIN32) || defined(__CYGWIN__)
3140 #include <sys/socket.h>
3141 #include <netinet/in.h>
3143 #include <ws2tcpip.h>
3145 int main(void) { struct sockaddr_in6 six; socket(AF_INET6, SOCK_STREAM, AF_INET6); return 0; }
3148 if cc_check
$_ld_sock ; then
3152 if test "$_inet6" = yes ; then
3153 def_inet6
='#define HAVE_AF_INET6 1'
3155 def_inet6
='#undef HAVE_AF_INET6'
3160 echocheck
"gethostbyname2"
3161 if test "$_gethostbyname2" = auto
; then
3163 #include <sys/types.h>
3164 #include <sys/socket.h>
3166 int main(void) { gethostbyname2("", AF_INET); return 0; }
3173 if test "$_gethostbyname2" = yes ; then
3174 def_gethostbyname2
='#define HAVE_GETHOSTBYNAME2 1'
3176 def_gethostbyname2
='#undef HAVE_GETHOSTBYNAME2'
3178 echores
"$_gethostbyname2"
3181 echocheck
"inttypes.h (required)"
3183 #include <inttypes.h>
3184 int main(void) { return 0; }
3187 cc_check
&& _inttypes
=yes
3188 echores
"$_inttypes"
3190 if test "$_inttypes" = no
; then
3191 echocheck
"bitypes.h (inttypes.h predecessor)"
3193 #include <sys/bitypes.h>
3194 int main(void) { return 0; }
3196 cc_check
&& _inttypes
=yes
3197 if test "$_inttypes" = yes ; then
3198 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."
3200 die
"Cannot find header either inttypes.h or bitypes.h. There is no chance for compilation to succeed."
3205 echocheck
"int_fastXY_t in inttypes.h"
3207 #include <inttypes.h>
3209 volatile int_fast16_t v= 0;
3213 cc_check
&& _fast_inttypes
=yes
3214 if test "$_fast_inttypes" = no
; then
3216 typedef signed char int_fast8_t;
3217 typedef signed int int_fast16_t;
3218 typedef signed int int_fast32_t;
3219 typedef signed long long int_fast64_t;
3220 typedef unsigned char uint_fast8_t;
3221 typedef unsigned int uint_fast16_t;
3222 typedef unsigned int uint_fast32_t;
3223 typedef unsigned long long uint_fast64_t;'
3225 echores
"$_fast_inttypes"
3228 echocheck
"malloc.h"
3231 int main(void) { (void) malloc(0); return 0; }
3234 cc_check
&& _malloc
=yes
3235 if test "$_malloc" = yes ; then
3236 def_malloc_h
='#define HAVE_MALLOC_H 1'
3238 def_malloc_h
='#define HAVE_MALLOC_H 0'
3240 # malloc.h emits a warning in FreeBSD and OpenBSD
3241 freebsd || openbsd || dragonfly
&& def_malloc_h
='#define HAVE_MALLOC_H 0'
3245 echocheck
"memalign()"
3246 # XXX restrict to x86 ? extend to other CPUs/cacheline sizes ?
3247 def_memalign_hack
='#define CONFIG_MEMALIGN_HACK 0'
3250 int main(void) { (void) memalign(64, sizeof(char)); return 0; }
3253 cc_check
&& _memalign
=yes
3254 if test "$_memalign" = yes ; then
3255 def_memalign
='#define HAVE_MEMALIGN 1'
3257 def_memalign
='#define HAVE_MEMALIGN 0'
3258 def_map_memalign
='#define memalign(a,b) malloc(b)'
3259 darwin || def_memalign_hack
='#define CONFIG_MEMALIGN_HACK 1'
3261 echores
"$_memalign"
3264 echocheck
"posix_memalign()"
3266 def_posix_memalign
='#define HAVE_POSIX_MEMALIGN 0'
3268 #define _XOPEN_SOURCE 600
3270 int main(void) { posix_memalign(NULL, 0, 0); }
3272 cc_check
&& posix_memalign
=yes && def_posix_memalign
='#define HAVE_POSIX_MEMALIGN 1'
3273 echores
"$posix_memalign"
3276 echocheck
"alloca.h"
3279 int main(void) { (void) alloca(0); return 0; }
3282 cc_check
&& _alloca
=yes
3284 def_alloca_h
='#define HAVE_ALLOCA_H 1'
3286 def_alloca_h
='#undef HAVE_ALLOCA_H'
3291 echocheck
"fastmemcpy"
3292 if test "$_fastmemcpy" = yes ; then
3293 def_fastmemcpy
='#define CONFIG_FASTMEMCPY 1'
3295 def_fastmemcpy
='#undef CONFIG_FASTMEMCPY'
3297 echores
"$_fastmemcpy"
3302 #include <sys/types.h>
3303 #include <sys/mman.h>
3304 int main(void) { (void) mmap(0, 0, 0, 0, 0, 0); return 0; }
3307 cc_check
&& _mman
=yes
3308 if test "$_mman" = yes ; then
3309 def_mman_h
='#define HAVE_SYS_MMAN_H 1'
3311 def_mman_h
='#undef HAVE_SYS_MMAN_H'
3312 os2
&& _need_mmap
=yes
3317 #include <sys/types.h>
3318 #include <sys/mman.h>
3319 int main(void) { void *p = MAP_FAILED; return 0; }
3321 _mman_has_map_failed
=no
3322 cc_check
&& _mman_has_map_failed
=yes
3323 if test "$_mman_has_map_failed" = yes ; then
3324 def_mman_has_map_failed
=''
3326 def_mman_has_map_failed
='#define MAP_FAILED ((void *) -1)'
3329 echocheck
"dynamic loader"
3333 int main(void) { dlopen("", 0); dlclose(NULL); dlsym(NULL, ""); return 0; }
3336 for _ld_tmp
in "" "-ldl" ; do
3337 cc_check
$_ld_tmp && _ld_dl
="$_ld_tmp" && _dl
=yes && break
3339 if test "$_dl" = yes ; then
3340 def_dl
='#define HAVE_LIBDL 1'
3342 def_dl
='#undef HAVE_LIBDL'
3347 echocheck
"dynamic a/v plugins support"
3348 if test "$_dl" = no
; then
3351 if test "$_dynamic_plugins" = yes ; then
3352 def_dynamic_plugins
='#define CONFIG_DYNAMIC_PLUGINS 1'
3354 def_dynamic_plugins
='#undef CONFIG_DYNAMIC_PLUGINS'
3356 echores
"$_dynamic_plugins"
3359 def_threads
='#define HAVE_THREADS 0'
3363 THREAD_CFLAGS
=-D_REENTRANT
3364 elif freebsd || netbsd || openbsd || bsdos
; then
3365 THREAD_CFLAGS
=-D_THREAD_SAFE
3367 if test "$_pthreads" = auto
; then
3369 #include <pthread.h>
3370 void* func(void *arg) { return arg; }
3371 int main(void) { pthread_t tid; return pthread_create(&tid, 0, func, 0) == 0 ? 0 : 1; }
3375 for _ld_tmp
in "-lpthreadGC2" "" "-lpthread" "-pthread" ; do
3376 # for crosscompilation, we cannot execute the program, be happy if we can link statically
3377 cc_check
$THREAD_CFLAGS $_ld_tmp && (tmp_run ||
test "$_ld_static") && _ld_pthread
="$_ld_tmp" && _pthreads
=yes && break
3381 if test "$_pthreads" = yes ; then
3382 test $_ld_pthread && _res_comment
="using $_ld_pthread"
3383 def_pthreads
='#define HAVE_PTHREADS 1'
3384 def_threads
='#define HAVE_THREADS 1'
3385 extra_cflags
="$extra_cflags $THREAD_CFLAGS"
3387 _res_comment
="v4l, v4l2, ao_nas, win32 loader disabled"
3388 def_pthreads
='#undef HAVE_PTHREADS'
3389 _nas
=no
; _tv_v4l1
=no
; _tv_v4l2
=no
3390 mingw32 || _win32dll
=no
3392 echores
"$_pthreads"
3395 if test "$_pthreads" = yes ; then
3396 def_pthread_cache
="#define PTHREAD_CACHE 1"
3399 def_stream_cache
="#undef CONFIG_STREAM_CACHE"
3403 echocheck
"w32threads"
3404 if test "$_pthreads" = yes ; then
3405 _res_comment
="using pthread instead"
3408 if test "$_w32threads" = auto
; then
3410 mingw32
&& _w32threads
=yes
3412 test "$_w32threads" = yes && def_threads
='#define HAVE_THREADS 1'
3413 echores
"$_w32threads"
3417 if test "$_rpath" = yes ; then
3418 for I
in $
(echo $extra_ldflags |
sed 's/-L//g') ; do
3419 tmp
="$tmp $(echo $I | sed 's/.*/ -L& -Wl,-R&/')"
3426 if test "$_iconv" = auto
; then
3431 #define INBUFSIZE 1024
3432 #define OUTBUFSIZE 4096
3434 char inbuffer[INBUFSIZE];
3435 char outbuffer[OUTBUFSIZE];
3440 char *tocode="UTF-8";
3441 char *fromcode="cp1250";
3442 if ((icdsc = iconv_open(tocode, fromcode)) != (iconv_t)(-1)) {
3443 while ((numread = read(0, inbuffer, INBUFSIZE))) {
3444 char *iptr=inbuffer;
3445 char *optr=outbuffer;
3446 size_t inleft=numread;
3447 size_t outleft=OUTBUFSIZE;
3448 if (iconv(icdsc, (const char **)&iptr, &inleft, &optr, &outleft)
3450 write(1, outbuffer, OUTBUFSIZE - outleft);
3453 if (iconv_close(icdsc) == -1)
3460 for _ld_tmp
in "" "-liconv" "-liconv $_ld_dl" ; do
3461 cc_check
$_ld_lm $_ld_tmp && extra_ldflags
="$extra_ldflags $_ld_tmp" && \
3465 if test "$_iconv" = yes ; then
3466 def_iconv
='#define CONFIG_ICONV 1'
3468 def_iconv
='#undef CONFIG_ICONV'
3473 echocheck
"soundcard.h"
3475 def_soundcard_h
='#undef HAVE_SOUNDCARD_H'
3476 def_sys_soundcard_h
='#undef HAVE_SYS_SOUNDCARD_H'
3477 for _soundcard_header
in "sys/soundcard.h" "soundcard.h"; do
3479 #include <$_soundcard_header>
3480 int main(void) { return 0; }
3482 cc_check
&& _soundcard_h
=yes && _res_comment
="$_soundcard_header" && break
3485 if test "$_soundcard_h" = yes ; then
3486 if test $_soundcard_header = "sys/soundcard.h"; then
3487 def_sys_soundcard_h
='#define HAVE_SYS_SOUNDCARD_H 1'
3489 def_soundcard_h
='#define HAVE_SOUNDCARD_H 1'
3492 echores
"$_soundcard_h"
3495 echocheck
"sys/dvdio.h"
3498 #include <sys/dvdio.h>
3499 int main(void) { return 0; }
3502 cc_check
&& _dvdio
=yes
3503 if test "$_dvdio" = yes ; then
3504 def_dvdio
='#define DVD_STRUCT_IN_SYS_DVDIO_H 1'
3506 def_dvdio
='#undef DVD_STRUCT_IN_SYS_DVDIO_H'
3511 echocheck
"sys/cdio.h"
3514 #include <sys/cdio.h>
3515 int main(void) { return 0; }
3518 cc_check
&& _cdio
=yes
3519 if test "$_cdio" = yes ; then
3520 def_cdio
='#define DVD_STRUCT_IN_SYS_CDIO_H 1'
3522 def_cdio
='#undef DVD_STRUCT_IN_SYS_CDIO_H'
3527 echocheck
"linux/cdrom.h"
3529 #include <sys/types.h>
3530 #include <linux/cdrom.h>
3531 int main(void) { return 0; }
3534 cc_check
&& _cdrom
=yes
3535 if test "$_cdrom" = yes ; then
3536 def_cdrom
='#define DVD_STRUCT_IN_LINUX_CDROM_H 1'
3538 def_cdrom
='#undef DVD_STRUCT_IN_LINUX_CDROM_H'
3546 int main(void) { return 0; }
3549 cc_check
&& _dvd
=yes
3550 if test "$_dvd" = yes ; then
3551 def_dvd
='#define DVD_STRUCT_IN_DVD_H 1'
3553 def_dvd
='#undef DVD_STRUCT_IN_DVD_H'
3559 echocheck
"BSDI dvd.h"
3562 int main(void) { return 0; }
3565 cc_check
&& _bsdi_dvd
=yes
3566 if test "$_bsdi_dvd" = yes ; then
3567 def_bsdi_dvd
='#define DVD_STRUCT_IN_BSDI_DVDIOCTL_DVD_H 1'
3569 def_bsdi_dvd
='#undef DVD_STRUCT_IN_BSDI_DVDIOCTL_DVD_H'
3571 echores
"$_bsdi_dvd"
3576 # also used by AIX, but AIX does not support VCD and/or libdvdread
3577 echocheck
"HP-UX SCSI header"
3579 #include <sys/scsi.h>
3580 int main(void) { return 0; }
3583 cc_check
&& _hpux_scsi_h
=yes
3584 if test "$_hpux_scsi_h" = yes ; then
3585 def_hpux_scsi_h
='#define HPUX_SCTL_IO 1'
3587 def_hpux_scsi_h
='#undef HPUX_SCTL_IO'
3589 echores
"$_hpux_scsi_h"
3594 echocheck
"userspace SCSI headers (Solaris)"
3597 #include <stropts.h>
3598 #include <sys/scsi/scsi_types.h>
3599 #include <sys/scsi/impl/uscsi.h>
3600 int main(void) { return 0; }
3603 cc_check
&& _sol_scsi_h
=yes
3604 if test "$_sol_scsi_h" = yes ; then
3605 def_sol_scsi_h
='#define SOLARIS_USCSI 1'
3607 def_sol_scsi_h
='#undef SOLARIS_USCSI'
3609 echores
"$_sol_scsi_h"
3614 if test "$_termcap" = auto
; then
3618 int main(void) { tgetent(NULL, NULL); return 0; }
3621 for _ld_tmp
in "-lncurses" "-ltinfo" "-ltermcap"; do
3622 cc_check
$_ld_tmp && extra_ldflags
="$extra_ldflags $_ld_tmp" \
3623 && _termcap
=yes && break
3626 if test "$_termcap" = yes ; then
3627 def_termcap
='#define HAVE_TERMCAP 1'
3628 test $_ld_tmp && _res_comment
="using $_ld_tmp"
3630 def_termcap
='#undef HAVE_TERMCAP'
3636 def_termios
='#undef HAVE_TERMIOS'
3637 def_termios_h
='#undef HAVE_TERMIOS_H'
3638 def_termios_sys_h
='#undef HAVE_SYS_TERMIOS_H'
3639 if test "$_termios" = auto
; then
3641 for _termios_header
in "sys/termios.h" "termios.h"; do
3643 #include <$_termios_header>
3644 int main(void) { return 0; }
3646 cc_check
&& _termios
=yes && _res_comment
="using $_termios_header" && break
3650 if test "$_termios" = yes ; then
3651 def_termios
='#define HAVE_TERMIOS 1'
3652 if test "$_termios_header" = "termios.h" ; then
3653 def_termios_h
='#define HAVE_TERMIOS_H 1'
3655 def_termios_sys_h
='#define HAVE_SYS_TERMIOS_H 1'
3662 if test "$_shm" = auto
; then
3664 #include <sys/types.h>
3665 #include <sys/shm.h>
3666 int main(void) { shmget(0, 0, 0); shmat(0, 0, 0); shmctl(0, 0, 0); return 0; }
3669 cc_check
&& _shm
=yes
3671 if test "$_shm" = yes ; then
3672 def_shm
='#define HAVE_SHM 1'
3674 def_shm
='#undef HAVE_SHM'
3679 echocheck
"strsep()"
3682 int main(void) { char *s = "Hello, world!"; (void) strsep(&s, ","); return 0; }
3685 cc_check
&& _strsep
=yes
3686 if test "$_strsep" = yes ; then
3687 def_strsep
='#define HAVE_STRSEP 1'
3690 def_strsep
='#undef HAVE_STRSEP'
3696 echocheck
"vsscanf()"
3698 #define _ISOC99_SOURCE
3701 int main(void) { va_list ap; vsscanf("foo", "bar", ap); return 0; }
3704 cc_check
&& _vsscanf
=yes
3705 if test "$_vsscanf" = yes ; then
3706 def_vsscanf
='#define HAVE_VSSCANF 1'
3709 def_vsscanf
='#undef HAVE_VSSCANF'
3717 #define _XOPEN_SOURCE 600
3719 int main(void) { swab(0, 0, 0); return 0; }
3722 cc_check
&& _swab
=yes
3723 if test "$_swab" = yes ; then
3724 def_swab
='#define HAVE_SWAB 1'
3727 def_swab
='#undef HAVE_SWAB'
3732 echocheck
"POSIX select()"
3736 #include <sys/types.h>
3738 #include <sys/time.h>
3740 int main(void) {int nfds = 1; fd_set readfds; struct timeval timeout; select(nfds,&readfds,NULL,NULL,&timeout); return 0; }
3743 def_posix_select
='#undef HAVE_POSIX_SELECT'
3744 #select() of kLIBC (OS/2) supports socket only
3745 ! os2
&& cc_check
&& _posix_select
=yes \
3746 && def_posix_select
='#define HAVE_POSIX_SELECT 1'
3747 echores
"$_posix_select"
3750 echocheck
"audio select()"
3751 if test "$_select" = no
; then
3752 def_select
='#undef HAVE_AUDIO_SELECT'
3753 elif test "$_select" = yes ; then
3754 def_select
='#define HAVE_AUDIO_SELECT 1'
3759 echocheck
"gettimeofday()"
3762 #include <sys/time.h>
3763 int main(void) {struct timeval tv_start; gettimeofday(&tv_start, NULL); return 0; }
3766 cc_check
&& _gettimeofday
=yes
3767 if test "$_gettimeofday" = yes ; then
3768 def_gettimeofday
='#define HAVE_GETTIMEOFDAY 1'
3769 _need_gettimeofday
=no
3771 def_gettimeofday
='#undef HAVE_GETTIMEOFDAY'
3772 _need_gettimeofday
=yes
3774 echores
"$_gettimeofday"
3781 int main(void) { glob_t gg; glob("filename",0,NULL,&gg); return 0; }
3784 cc_check
&& _glob
=yes
3785 if test "$_glob" = yes ; then
3786 def_glob
='#define HAVE_GLOB 1'
3789 def_glob
='#undef HAVE_GLOB'
3795 echocheck
"setenv()"
3798 int main(void) { setenv("","",0); return 0; }
3801 cc_check
&& _setenv
=yes
3802 if test "$_setenv" = yes ; then
3803 def_setenv
='#define HAVE_SETENV 1'
3806 def_setenv
='#undef HAVE_SETENV'
3812 echocheck
"setmode()"
3814 def_setmode
='#define HAVE_SETMODE 0'
3817 int main(void) { setmode(0, 0); return 0; }
3819 cc_check
&& _setmode
=yes && def_setmode
='#define HAVE_SETMODE 1'
3824 echocheck
"sysi86()"
3826 #include <sys/sysi86.h>
3827 int main(void) { sysi86(0); return 0; }
3830 cc_check
&& _sysi86
=yes
3831 if test "$_sysi86" = yes ; then
3832 def_sysi86
='#define HAVE_SYSI86 1'
3834 #include <sys/sysi86.h>
3835 int main(void) { int sysi86(int, void*); sysi86(0); return 0; }
3837 cc_check
&& def_sysi86_iv
='#define HAVE_SYSI86_iv 1'
3839 def_sysi86
='#undef HAVE_SYSI86'
3845 echocheck
"sys/sysinfo.h"
3847 #include <sys/sysinfo.h>
3849 struct sysinfo s_info;
3855 cc_check
&& _sys_sysinfo
=yes
3856 if test "$_sys_sysinfo" = yes ; then
3857 def_sys_sysinfo_h
='#define HAVE_SYS_SYSINFO_H 1'
3859 def_sys_sysinfo_h
='#undef HAVE_SYS_SYSINFO_H'
3861 echores
"$_sys_sysinfo"
3866 echocheck
"Mac OS X Finder Support"
3867 def_macosx_finder
='#undef CONFIG_MACOSX_FINDER'
3868 if test "$_macosx_finder" = yes ; then
3869 def_macosx_finder
='#define CONFIG_MACOSX_FINDER 1'
3870 extra_ldflags
="$extra_ldflags -framework Carbon"
3872 echores
"$_macosx_finder"
3874 echocheck
"Mac OS X Bundle file locations"
3875 def_macosx_bundle
='#undef CONFIG_MACOSX_BUNDLE'
3876 test "$_macosx_bundle" = auto
&& _macosx_bundle
=$_macosx_finder
3877 if test "$_macosx_bundle" = yes ; then
3878 def_macosx_bundle
='#define CONFIG_MACOSX_BUNDLE 1'
3879 extra_ldflags
="$extra_ldflags -framework Carbon"
3881 echores
"$_macosx_bundle"
3883 echocheck
"Apple Remote"
3884 if test "$_apple_remote" = auto
; then
3888 #include <IOKit/IOCFPlugIn.h>
3890 io_iterator_t hidObjectIterator = (io_iterator_t)NULL;
3891 CFMutableDictionaryRef hidMatchDictionary;
3892 IOReturn ioReturnValue;
3894 // Set up a matching dictionary to search the I/O Registry by class.
3895 // name for all HID class devices
3896 hidMatchDictionary = IOServiceMatching("AppleIRController");
3898 // Now search I/O Registry for matching devices.
3899 ioReturnValue = IOServiceGetMatchingServices(kIOMasterPortDefault,
3900 hidMatchDictionary, &hidObjectIterator);
3902 // If search is unsuccessful, return nonzero.
3903 if (ioReturnValue != kIOReturnSuccess ||
3904 !IOIteratorIsValid(hidObjectIterator)) {
3910 cc_check
-framework IOKit
&& tmp_run
&& _apple_remote
=yes
3912 if test "$_apple_remote" = yes ; then
3913 def_apple_remote
='#define CONFIG_APPLE_REMOTE 1'
3914 libs_mplayer
="$libs_mplayer -framework IOKit -framework Cocoa"
3916 def_apple_remote
='#undef CONFIG_APPLE_REMOTE'
3918 echores
"$_apple_remote"
3924 echocheck
"Apple IR"
3925 if test "$_apple_ir" = auto
; then
3928 #include <linux/types.h>
3929 #include <linux/input.h>
3931 struct input_event ev;
3936 cc_check
&& _apple_ir
=yes
3938 if test "$_apple_ir" = yes ; then
3939 def_apple_ir
='#define CONFIG_APPLE_IR 1'
3941 def_apple_ir
='#undef CONFIG_APPLE_IR'
3943 echores
"$_apple_ir"
3946 echocheck
"pkg-config"
3947 _pkg_config
=pkg-config
3948 if $
($_pkg_config --version > /dev
/null
2>&1); then
3949 if test "$_ld_static"; then
3950 _pkg_config
="$_pkg_config --static"
3959 echocheck
"Samba support (libsmbclient)"
3960 if test "$_smb" = yes; then
3961 extra_ldflags
="$extra_ldflags -lsmbclient"
3963 if test "$_smb" = auto
; then
3966 #include <libsmbclient.h>
3967 int main(void) { smbc_opendir("smb://"); return 0; }
3969 for _ld_tmp
in "-lsmbclient" "-lsmbclient $_ld_dl" "-lsmbclient $_ld_dl -lnsl" "-lsmbclient $_ld_dl -lssl -lnsl" ; do
3970 cc_check
$_ld_tmp && extra_ldflags
="$extra_ldflags $_ld_tmp" && \
3975 if test "$_smb" = yes; then
3976 def_smb
="#define CONFIG_LIBSMBCLIENT 1"
3977 _inputmodules
="smb $_inputmodules"
3979 def_smb
="#undef CONFIG_LIBSMBCLIENT"
3980 _noinputmodules
="smb $_noinputmodules"
3991 if test "$_tdfxfb" = yes ; then
3992 def_tdfxfb
='#define CONFIG_TDFXFB 1'
3993 _vomodules
="tdfxfb $_vomodules"
3995 def_tdfxfb
='#undef CONFIG_TDFXFB'
3996 _novomodules
="tdfxfb $_novomodules"
4001 if test "$_s3fb" = yes ; then
4002 def_s3fb
='#define CONFIG_S3FB 1'
4003 _vomodules
="s3fb $_vomodules"
4005 def_s3fb
='#undef CONFIG_S3FB'
4006 _novomodules
="s3fb $_novomodules"
4011 if test "$_wii" = yes ; then
4012 def_wii
='#define CONFIG_WII 1'
4013 _vomodules
="wii $_vomodules"
4015 def_wii
='#undef CONFIG_WII'
4016 _novomodules
="wii $_novomodules"
4021 if test "$_tdfxvid" = yes ; then
4022 def_tdfxvid
='#define CONFIG_TDFX_VID 1'
4023 _vomodules
="tdfx_vid $_vomodules"
4025 def_tdfxvid
='#undef CONFIG_TDFX_VID'
4026 _novomodules
="tdfx_vid $_novomodules"
4031 if test "$_xvr100" = auto
; then
4034 #include <sys/fbio.h>
4035 #include <sys/visual_io.h>
4037 struct vis_identifier ident;
4038 struct fbgattr attr;
4039 ioctl(0, VIS_GETIDENTIFIER, &ident);
4040 ioctl(0, FBIOGATTR, &attr);
4045 cc_check
&& _xvr100
=yes
4047 if test "$_xvr100" = yes ; then
4048 def_xvr100
='#define CONFIG_XVR100 1'
4049 _vomodules
="xvr100 $_vomodules"
4051 def_tdfxvid
='#undef CONFIG_XVR100'
4052 _novomodules
="xvr100 $_novomodules"
4057 if test "$_tga" = yes ; then
4058 def_tga
='#define CONFIG_TGA 1'
4059 _vomodules
="tga $_vomodules"
4061 def_tga
='#undef CONFIG_TGA'
4062 _novomodules
="tga $_novomodules"
4067 echocheck
"md5sum support"
4068 if test "$_md5sum" = yes; then
4069 def_md5sum
="#define CONFIG_MD5SUM 1"
4070 _vomodules
="md5sum $_vomodules"
4072 def_md5sum
="#undef CONFIG_MD5SUM"
4073 _novomodules
="md5sum $_novomodules"
4078 echocheck
"yuv4mpeg support"
4079 if test "$_yuv4mpeg" = yes; then
4080 def_yuv4mpeg
="#define CONFIG_YUV4MPEG 1"
4081 _vomodules
="yuv4mpeg $_vomodules"
4083 def_yuv4mpeg
="#undef CONFIG_YUV4MPEG"
4084 _novomodules
="yuv4mpeg $_novomodules"
4086 echores
"$_yuv4mpeg"
4090 if test "$_bl" = yes ; then
4091 def_bl
='#define CONFIG_BL 1'
4092 _vomodules
="bl $_vomodules"
4094 def_bl
='#undef CONFIG_BL'
4095 _novomodules
="bl $_novomodules"
4100 echocheck
"DirectFB"
4101 if test "$_directfb" = auto
; then
4104 #include <directfb.h>
4105 int main(void) { DirectFBInit(0, 0); return 0; }
4107 for _inc_tmp
in "" -I/usr
/local
/include
/directfb \
4108 -I/usr
/include
/directfb
-I/usr
/local
/include
; do
4109 cc_check
$_inc_tmp -ldirectfb && _directfb
=yes && \
4110 extra_cflags
="$extra_cflags $_inc_tmp" && break
4115 expr $1 \
* 65536 + $2 \
* 256 + $3
4118 if test "$_directfb" = yes; then
4120 #include <directfb_version.h>
4122 dfb_ver = DIRECTFB_MAJOR_VERSION.DIRECTFB_MINOR_VERSION.DIRECTFB_MICRO_VERSION
4125 if $_cc -E $TMPC $extra_cflags > "$TMPEXE"; then
4126 _directfb_version
=$
(sed -n 's/^dfb_ver[^0-9]*\(.*\)/\1/p' "$TMPEXE" |
tr -d '()')
4127 _dfb_major
=$
(echo $_directfb_version | cut
-d .
-f 1)
4128 _dfb_minor
=$
(echo $_directfb_version | cut
-d .
-f 2)
4129 _dfb_micro
=$
(echo $_directfb_version | cut
-d .
-f 3)
4130 _dfb_version
=$
(dfb_version
$_dfb_major $_dfb_minor $_dfb_micro)
4131 if test "$_dfb_version" -ge $
(dfb_version
0 9 13); then
4132 def_directfb_version
="#define DIRECTFBVERSION $_dfb_version"
4133 _res_comment
="$_directfb_version"
4134 test "$_dfb_version" -ge $
(dfb_version
0 9 15) && _dfbmga
=yes
4136 def_directfb_version
='#undef DIRECTFBVERSION'
4138 _res_comment
="version >=0.9.13 required"
4142 _res_comment
="failed to get version"
4145 echores
"$_directfb"
4147 if test "$_directfb" = yes ; then
4148 def_directfb
='#define CONFIG_DIRECTFB 1'
4149 _vomodules
="directfb $_vomodules"
4150 libs_mplayer
="$libs_mplayer -ldirectfb"
4152 def_directfb
='#undef CONFIG_DIRECTFB'
4153 _novomodules
="directfb $_novomodules"
4155 if test "$_dfbmga" = yes; then
4156 _vomodules
="dfbmga $_vomodules"
4157 def_dfbmga
='#define CONFIG_DFBMGA 1'
4159 _novomodules
="dfbmga $_novomodules"
4160 def_dfbmga
='#undef CONFIG_DFBMGA'
4164 echocheck
"X11 headers presence"
4166 _res_comment
="check if the dev(el) packages are installed"
4167 for I
in $
(echo $extra_cflags |
sed s
/-I//g
) /usr
/include
; do
4168 if test -f "$I/X11/Xlib.h" ; then
4174 if test $_cross_compile = no
; then
4175 for I
in /usr
/X11
/include
/usr
/X11R
7/include
/usr
/local
/include
/usr
/X11R
6/include \
4176 /usr
/include
/X11R6
/usr
/openwin
/include
; do
4177 if test -f "$I/X11/Xlib.h" ; then
4178 extra_cflags
="$extra_cflags -I$I"
4180 _res_comment
="using $I"
4185 echores
"$_x11_headers"
4189 if test "$_x11" = auto
&& test "$_x11_headers" = yes ; then
4191 #include <X11/Xlib.h>
4192 #include <X11/Xutil.h>
4193 int main(void) { (void) XCreateWindow(0,0,0,0,0,0,0,0,0,0,0,0); return 0; }
4195 for I
in "" -L/usr
/X11R
7/lib
-L/usr
/local
/lib
-L/usr
/X11R
6/lib
-L/usr
/lib
/X11R6 \
4196 -L/usr
/X11
/lib
-L/usr
/lib32
-L/usr
/openwin
/lib
-L/usr
/local
/lib64
-L/usr
/X11R
6/lib64 \
4199 _ld_tmp
="$I -lXext -lX11 $_ld_pthread -Wl,-R$(echo $I | sed s/^-L//)"
4201 _ld_tmp
="$I -lXext -lX11 $_ld_pthread"
4203 cc_check
$_ld_tmp && libs_mplayer
="$libs_mplayer $_ld_tmp" \
4204 && _x11
=yes && break
4207 if test "$_x11" = yes ; then
4208 def_x11
='#define CONFIG_X11 1'
4209 _vomodules
="x11 xover $_vomodules"
4212 def_x11
='#undef CONFIG_X11'
4213 _novomodules
="x11 $_novomodules"
4214 _res_comment
="check if the dev(el) packages are installed"
4215 # disable stuff that depends on X
4216 _xv
=no
; _xvmc
=no
; _xinerama
=no
; _vm
=no
; _xf86keysym
=no
; _vdpau
=no
4220 echocheck
"Xss screensaver extensions"
4221 if test "$_xss" = auto
; then
4223 #include <X11/Xlib.h>
4224 #include <X11/extensions/scrnsaver.h>
4225 int main(void) { XScreenSaverSuspend(NULL, True); return 0; }
4228 cc_check
-lXss && _xss
=yes
4230 if test "$_xss" = yes ; then
4231 def_xss
='#define CONFIG_XSS 1'
4232 libs_mplayer
="$libs_mplayer -lXss"
4234 def_xss
='#undef CONFIG_XSS'
4241 if test "$_x11" = yes ; then
4243 #include <X11/Xmd.h>
4244 #include <X11/Xlib.h>
4245 #include <X11/Xutil.h>
4246 #include <X11/Xatom.h>
4247 #include <X11/extensions/dpms.h>
4248 int main(void) { (void) DPMSQueryExtension(0, 0, 0); return 0; }
4250 cc_check
-lXdpms && _xdpms3
=yes
4252 #include <X11/Xlib.h>
4253 #include <X11/extensions/dpms.h>
4254 int main(void) { (void) DPMSQueryExtension(0, 0, 0); return 0; }
4256 cc_check
-lXext && _xdpms4
=yes
4258 if test "$_xdpms4" = yes ; then
4259 def_xdpms
='#define CONFIG_XDPMS 1'
4260 _res_comment
="using Xdpms 4"
4262 elif test "$_xdpms3" = yes ; then
4263 def_xdpms
='#define CONFIG_XDPMS 1'
4264 libs_mplayer
="$libs_mplayer -lXdpms"
4265 _res_comment
="using Xdpms 3"
4268 def_xdpms
='#undef CONFIG_XDPMS'
4274 if test "$_xv" = auto
; then
4276 #include <X11/Xlib.h>
4277 #include <X11/extensions/Xvlib.h>
4279 (void) XvGetPortAttribute(0, 0, 0, 0);
4280 (void) XvQueryPortAttributes(0, 0, 0);
4284 cc_check
-lXv && _xv
=yes
4287 if test "$_xv" = yes ; then
4288 def_xv
='#define CONFIG_XV 1'
4289 libs_mplayer
="$libs_mplayer -lXv"
4290 _vomodules
="xv $_vomodules"
4292 def_xv
='#undef CONFIG_XV'
4293 _novomodules
="xv $_novomodules"
4299 if test "$_xv" = yes && test "$_xvmc" != no
; then
4302 #include <X11/Xlib.h>
4303 #include <X11/extensions/Xvlib.h>
4304 #include <X11/extensions/XvMClib.h>
4306 (void) XvMCQueryExtension(0,0,0);
4307 (void) XvMCCreateContext(0,0,0,0,0,0,0);
4310 for _ld_tmp
in $_xvmclib XvMCNVIDIA XvMCW I810XvMC
; do
4311 cc_check
-lXvMC -l$_ld_tmp && _xvmc
=yes && _xvmclib
="$_ld_tmp" && break
4314 if test "$_xvmc" = yes ; then
4315 def_xvmc
='#define CONFIG_XVMC 1'
4316 libs_mplayer
="$libs_mplayer -lXvMC -l$_xvmclib"
4317 _vomodules
="xvmc $_vomodules"
4318 _res_comment
="using $_xvmclib"
4320 def_xvmc
='#define CONFIG_XVMC 0'
4321 _novomodules
="xvmc $_novomodules"
4327 if test "$_vdpau" = auto
; then
4329 if test "$_dl" = yes ; then
4331 #include <vdpau/vdpau_x11.h>
4333 (void) vdp_device_create_x11(0, 0, 0, 0);
4334 return VDP_VIDEO_MIXER_ATTRIBUTE_SKIP_CHROMA_DEINTERLACE;}
4336 cc_check
-lvdpau && _vdpau
=yes
4339 if test "$_vdpau" = yes ; then
4340 def_vdpau
='#define CONFIG_VDPAU 1'
4341 libs_mplayer
="$libs_mplayer -lvdpau"
4342 _vomodules
="vdpau $_vomodules"
4344 def_vdpau
='#define CONFIG_VDPAU 0'
4345 _novomodules
="vdpau $_novomodules"
4350 echocheck
"Xinerama"
4351 if test "$_xinerama" = auto
; then
4353 #include <X11/Xlib.h>
4354 #include <X11/extensions/Xinerama.h>
4355 int main(void) { (void) XineramaIsActive(0); return 0; }
4358 cc_check
-lXinerama && _xinerama
=yes
4361 if test "$_xinerama" = yes ; then
4362 def_xinerama
='#define CONFIG_XINERAMA 1'
4363 libs_mplayer
="$libs_mplayer -lXinerama"
4365 def_xinerama
='#undef CONFIG_XINERAMA'
4367 echores
"$_xinerama"
4370 # Note: the -lXxf86vm library is the VideoMode extension and though it's not
4371 # needed for DGA, AFAIK every distribution packages together with DGA stuffs
4372 # named 'X extensions' or something similar.
4373 # This check may be useful for future mplayer versions (to change resolution)
4374 # If you run into problems, remove '-lXxf86vm'.
4376 if test "$_vm" = auto
; then
4378 #include <X11/Xlib.h>
4379 #include <X11/extensions/xf86vmode.h>
4380 int main(void) { (void) XF86VidModeQueryExtension(0, 0, 0); return 0; }
4383 cc_check
-lXxf86vm && _vm
=yes
4385 if test "$_vm" = yes ; then
4386 def_vm
='#define CONFIG_XF86VM 1'
4387 libs_mplayer
="$libs_mplayer -lXxf86vm"
4389 def_vm
='#undef CONFIG_XF86VM'
4393 # Check for the presence of special keycodes, like audio control buttons
4394 # that XFree86 might have. Used to be bundled with the xf86vm check, but
4395 # has nothing to do with xf86vm and XFree 3.x has xf86vm but does NOT
4396 # have these new keycodes.
4397 echocheck
"XF86keysym"
4398 if test "$_xf86keysym" = auto
; then
4401 #include <X11/Xlib.h>
4402 #include <X11/XF86keysym.h>
4403 int main(void) { return XF86XK_AudioPause; }
4405 cc_check
&& _xf86keysym
=yes
4407 if test "$_xf86keysym" = yes ; then
4408 def_xf86keysym
='#define CONFIG_XF86XK 1'
4410 def_xf86keysym
='#undef CONFIG_XF86XK'
4412 echores
"$_xf86keysym"
4415 if test "$_dga2" = auto
&& test "$_x11" = yes ; then
4417 #include <X11/Xlib.h>
4418 #include <X11/extensions/xf86dga.h>
4419 int main(void) { (void) XDGASetViewport(0, 0, 0, 0, 0); return 0; }
4422 cc_check
-lXxf86dga && _dga2
=yes
4424 if test "$_dga1" = auto
&& test "$_dga2" = no
&& test "$_vm" = yes ; then
4426 #include <X11/Xlib.h>
4427 #include <X11/extensions/xf86dga.h>
4428 int main(void) { (void) XF86DGASetViewPort(0, 0, 0, 0); return 0; }
4431 cc_check
-lXxf86dga -lXxf86vm && _dga1
=yes
4435 def_dga
='#undef CONFIG_DGA'
4436 def_dga1
='#undef CONFIG_DGA1'
4437 def_dga2
='#undef CONFIG_DGA2'
4438 if test "$_dga1" = yes ; then
4440 def_dga1
='#define CONFIG_DGA1 1'
4441 _res_comment
="using DGA 1.0"
4442 elif test "$_dga2" = yes ; then
4444 def_dga2
='#define CONFIG_DGA2 1'
4445 _res_comment
="using DGA 2.0"
4447 if test "$_dga" = yes ; then
4448 def_dga
='#define CONFIG_DGA 1'
4449 libs_mplayer
="$libs_mplayer -lXxf86dga"
4450 _vomodules
="dga $_vomodules"
4452 _novomodules
="dga $_novomodules"
4458 if test "$_3dfx" = yes && test "$_dga" = yes ; then
4459 def_3dfx
='#define CONFIG_3DFX 1'
4460 _vomodules
="3dfx $_vomodules"
4462 def_3dfx
='#undef CONFIG_3DFX'
4463 _novomodules
="3dfx $_novomodules"
4469 def_vidix
='#undef CONFIG_VIDIX'
4470 def_vidix_drv_cyberblade
='#undef CONFIG_VIDIX_DRV_CYBERBLADE'
4471 _vidix_drv_cyberblade
=no
4472 def_vidix_drv_ivtv
='#undef CONFIG_VIDIX_DRV_IVTV'
4474 def_vidix_drv_mach64
='#undef CONFIG_VIDIX_DRV_MACH64'
4475 _vidix_drv_mach64
=no
4476 def_vidix_drv_mga
='#undef CONFIG_VIDIX_DRV_MGA'
4478 def_vidix_drv_mga_crtc2
='#undef CONFIG_VIDIX_DRV_MGA_CRTC2'
4479 _vidix_drv_mga_crtc2
=no
4480 def_vidix_drv_nvidia
='#undef CONFIG_VIDIX_DRV_NVIDIA'
4481 _vidix_drv_nvidia
=no
4482 def_vidix_drv_pm2
='#undef CONFIG_VIDIX_DRV_PM2'
4484 def_vidix_drv_pm3
='#undef CONFIG_VIDIX_DRV_PM3'
4486 def_vidix_drv_radeon
='#undef CONFIG_VIDIX_DRV_RADEON'
4487 _vidix_drv_radeon
=no
4488 def_vidix_drv_rage128
='#undef CONFIG_VIDIX_DRV_RAGE128'
4489 _vidix_drv_rage128
=no
4490 def_vidix_drv_s3
='#undef CONFIG_VIDIX_DRV_S3'
4492 def_vidix_drv_sh_veu
='#undef CONFIG_VIDIX_DRV_SH_VEU'
4493 _vidix_drv_sh_veu
=no
4494 def_vidix_drv_sis
='#undef CONFIG_VIDIX_DRV_SIS'
4496 def_vidix_drv_unichrome
='#undef CONFIG_VIDIX_DRV_UNICHROME'
4497 _vidix_drv_unichrome
=no
4498 if test "$_vidix" = auto
; then
4500 x86
&& (linux || freebsd || netbsd || openbsd || dragonfly || sunos || win32
) \
4502 x86_64
&& win32
&& _vidix
=no
4503 (ppc || alpha
) && linux
&& _vidix
=yes
4507 if test "$_vidix" = yes ; then
4508 def_vidix
='#define CONFIG_VIDIX 1'
4509 _vomodules
="cvidix $_vomodules"
4510 # FIXME: ivtv driver temporarily disabled until we have a proper test
4511 #test "$_vidix_drivers" || _vidix_drivers="cyberblade ivtv mach64 mga mga_crtc2 nvidia pm2 pm3 radeon rage128 s3 sh_veu sis unichrome"
4512 test "$_vidix_drivers" || _vidix_drivers
="cyberblade mach64 mga mga_crtc2 nvidia pm2 pm3 radeon rage128 s3 sh_veu sis unichrome"
4514 # some vidix drivers are architecture and os specific, discard them elsewhere
4515 x86 || _vidix_drivers
=$
(echo $_vidix_drivers |
sed -e s
/cyberblade
// -e s
/sis
// -e s
/unichrome
// -e s
/s
3//)
4516 (test $host_arch = "sh" && linux
) || _vidix_drivers
=$
(echo $_vidix_drivers |
sed s
/sh_veu
//)
4518 for driver
in $_vidix_drivers ; do
4519 uc_driver
=$
(echo $driver |
tr '[a-z]' '[A-Z]')
4520 eval _vidix_drv_
${driver}=yes
4521 eval def_vidix_drv_
${driver}=\"\
#define CONFIG_VIDIX_DRV_${uc_driver} 1\"
4524 echocheck
"VIDIX PCI device name database"
4525 echores
"$_vidix_pcidb"
4526 if test "$_vidix_pcidb" = yes ; then
4532 echocheck
"VIDIX dhahelper support"
4533 test "$_dhahelper" = yes && cflags_dhahelper
=-DCONFIG_DHAHELPER
4534 echores
"$_dhahelper"
4536 echocheck
"VIDIX svgalib_helper support"
4537 test "$_svgalib_helper" = yes && cflags_svgalib_helper
=-DCONFIG_SVGAHELPER
4538 echores
"$_svgalib_helper"
4541 _novomodules
="cvidix $_novomodules"
4544 if test "$_vidix" = yes && win32
; then
4546 _vomodules
="winvidix $_vomodules"
4547 libs_mplayer
="$libs_mplayer -lgdi32"
4549 _novomodules
="winvidix $_novomodules"
4551 if test "$_vidix" = yes && test "$_x11" = yes; then
4553 _vomodules
="xvidix $_vomodules"
4555 _novomodules
="xvidix $_novomodules"
4559 if test "$_ggi" = auto
; then
4561 #include <ggi/ggi.h>
4562 int main(void) { ggiInit(); return 0; }
4565 cc_check
-lggi && _ggi
=yes
4567 if test "$_ggi" = yes ; then
4568 def_ggi
='#define CONFIG_GGI 1'
4569 libs_mplayer
="$libs_mplayer -lggi"
4570 _vomodules
="ggi $_vomodules"
4572 def_ggi
='#undef CONFIG_GGI'
4573 _novomodules
="ggi $_novomodules"
4577 echocheck
"GGI extension: libggiwmh"
4578 if test "$_ggiwmh" = auto
; then
4581 #include <ggi/ggi.h>
4582 #include <ggi/wmh.h>
4583 int main(void) { ggiInit(); ggiWmhInit(); return 0; }
4585 cc_check
-lggi -lggiwmh && _ggiwmh
=yes
4587 # needed to get right output on obscure combination
4588 # like --disable-ggi --enable-ggiwmh
4589 if test "$_ggi" = yes && test "$_ggiwmh" = yes ; then
4590 def_ggiwmh
='#define CONFIG_GGIWMH 1'
4591 libs_mplayer
="$libs_mplayer -lggiwmh"
4594 def_ggiwmh
='#undef CONFIG_GGIWMH'
4600 if test "$_aa" = auto
; then
4603 extern struct aa_hardware_params aa_defparams;
4604 extern struct aa_renderparams aa_defrenderparams;
4608 (void) aa_init(0, 0, 0);
4609 c = aa_autoinit(&aa_defparams);
4610 p = aa_getrenderparams();
4611 aa_autoinitkbd(c,0);
4615 for _ld_tmp
in "-laa" ; do
4616 cc_check
$_ld_tmp && libs_mplayer
="$libs_mplayer $_ld_tmp" && _aa
=yes && break
4619 if test "$_aa" = yes ; then
4620 def_aa
='#define CONFIG_AA 1'
4622 libs_mplayer
="$libs_mplayer $(aalib-config --libs | cut -d " " -f 2,5,6)"
4624 _vomodules
="aa $_vomodules"
4626 def_aa
='#undef CONFIG_AA'
4627 _novomodules
="aa $_novomodules"
4633 if test "$_caca" = auto
; then
4635 if ( caca-config
--version ) >> "$TMPLOG" 2>&1 ; then
4638 #ifdef CACA_API_VERSION_1
4641 int main(void) { (void) caca_init(); return 0; }
4643 cc_check $
(caca-config
--libs) && _caca
=yes
4646 if test "$_caca" = yes ; then
4647 def_caca
='#define CONFIG_CACA 1'
4648 extra_cflags
="$extra_cflags $(caca-config --cflags)"
4649 libs_mplayer
="$libs_mplayer $(caca-config --libs)"
4650 _vomodules
="caca $_vomodules"
4652 def_caca
='#undef CONFIG_CACA'
4653 _novomodules
="caca $_novomodules"
4659 if test "$_svga" = auto
; then
4662 int main(void) { return 0; }
4665 cc_check
-lvga $_ld_lm && _svga
=yes
4667 if test "$_svga" = yes ; then
4668 def_svga
='#define CONFIG_SVGALIB 1'
4669 libs_mplayer
="$libs_mplayer -lvga"
4670 _vomodules
="svga $_vomodules"
4672 def_svga
='#undef CONFIG_SVGALIB'
4673 _novomodules
="svga $_novomodules"
4679 if test "$_fbdev" = auto
; then
4683 if test "$_fbdev" = yes ; then
4684 def_fbdev
='#define CONFIG_FBDEV 1'
4685 _vomodules
="fbdev $_vomodules"
4687 def_fbdev
='#undef CONFIG_FBDEV'
4688 _novomodules
="fbdev $_novomodules"
4695 if test "$_dvb" = auto
; then
4699 #include <sys/ioctl.h>
4703 #include <linux/dvb/dmx.h>
4704 #include <linux/dvb/frontend.h>
4705 #include <linux/dvb/video.h>
4706 #include <linux/dvb/audio.h>
4707 int main(void) {return 0;}
4709 for _inc_tmp
in "" "-I/usr/src/DVB/include" ; do
4710 cc_check
$_inc_tmp && _dvb
=yes && \
4711 extra_cflags
="$extra_cflags $_inc_tmp" && break
4715 if test "$_dvb" = yes ; then
4717 _inputmodules
="dvb $_inputmodules"
4718 def_dvb
='#define CONFIG_DVB 1'
4719 def_dvbin
='#define CONFIG_DVBIN 1'
4720 _aomodules
="mpegpes(dvb) $_aomodules"
4721 _vomodules
="mpegpes(dvb) $_vomodules"
4724 _noinputmodules
="dvb $_noinputmodules"
4725 def_dvb
='#undef CONFIG_DVB'
4726 def_dvbin
='#undef CONFIG_DVBIN '
4727 _aomodules
="mpegpes(file) $_aomodules"
4728 _vomodules
="mpegpes(file) $_vomodules"
4734 echocheck
"QuickTime"
4735 if test "$quicktime" = auto
; then
4737 #include <QuickTime/QuickTime.h>
4739 ImageDescription *desc;
4746 cc_check
-framework QuickTime
&& quicktime
=yes
4748 if test "$quicktime" = yes ; then
4749 extra_ldflags
="$extra_ldflags -framework QuickTime"
4750 def_quicktime
='#define CONFIG_QUICKTIME 1'
4752 def_quicktime
='#undef CONFIG_QUICKTIME'
4758 if test "$_quartz" = auto
; then
4760 #include <Carbon/Carbon.h>
4762 CFRunLoopRunInMode(kCFRunLoopDefaultMode, 0, false);
4767 cc_check
-framework Carbon
&& _quartz
=yes
4769 if test "$_quartz" = yes ; then
4770 libs_mplayer
="$libs_mplayer -framework Carbon"
4771 def_quartz
='#define CONFIG_QUARTZ 1'
4772 _vomodules
="quartz $_vomodules"
4774 def_quartz
='#undef CONFIG_QUARTZ'
4775 _novomodules
="quartz $_novomodules"
4779 echocheck
"CoreVideo"
4780 if test "$_corevideo" = auto
; then
4782 #include <Carbon/Carbon.h>
4783 #include <CoreServices/CoreServices.h>
4784 #include <OpenGL/OpenGL.h>
4785 #include <QuartzCore/CoreVideo.h>
4786 int main(void) { return 0; }
4789 cc_check
-framework Carbon
-framework Cocoa
-framework QuartzCore
-framework OpenGL
&& _corevideo
=yes
4791 if test "$_corevideo" = yes ; then
4792 _vomodules
="corevideo $_vomodules"
4793 libs_mplayer
="$libs_mplayer -framework Carbon -framework Cocoa -framework QuartzCore -framework OpenGL"
4794 def_corevideo
='#define CONFIG_COREVIDEO 1'
4796 _novomodules
="corevideo $_novomodules"
4797 def_corevideo
='#undef CONFIG_COREVIDEO'
4799 echores
"$_corevideo"
4804 # make sure this stays below CoreVideo to avoid issues due to namespace
4805 # conflicts between -lGL and -framework OpenGL
4807 #Note: this test is run even with --enable-gl since we autodetect linker flags
4808 if (test "$_x11" = yes || win32
) && test "$_gl" != no
; then
4811 #include <windows.h>
4815 #include <X11/Xlib.h>
4821 wglCreateContext(dc);
4823 glXCreateContext(NULL, NULL, NULL, True);
4830 for _ld_tmp
in -lGL "-lGL -lXdamage" "-lGL $_ld_pthread" ; do
4831 if cc_check
$_ld_tmp $_ld_lm ; then
4834 libs_mplayer
="$libs_mplayer $_ld_tmp $_ld_dl"
4838 if cc_check
-DGL_WIN32 -lopengl32 ; then
4841 libs_mplayer
="$libs_mplayer -lopengl32 -lgdi32"
4846 if test "$_gl" = yes ; then
4847 def_gl
='#define CONFIG_GL 1'
4848 _res_comment
="backends:"
4849 if test "$_gl_win32" = yes ; then
4850 def_gl_win32
='#define CONFIG_GL_WIN32 1'
4851 _res_comment
="$_res_comment win32"
4853 if test "$_gl_x11" = yes ; then
4854 def_gl_x11
='#define CONFIG_GL_X11 1'
4855 _res_comment
="$_res_comment x11"
4857 _vomodules
="opengl $_vomodules"
4859 def_gl
='#undef CONFIG_GL'
4860 def_gl_win32
='#undef CONFIG_GL_WIN32'
4861 def_gl_x11
='#undef CONFIG_GL_X11'
4862 _novomodules
="opengl $_novomodules"
4867 echocheck
"MatrixView"
4868 if test "$_gl" = no
; then
4871 if test "$matrixview" = yes ; then
4872 _vomodules
="matrixview $_vomodules"
4873 def_matrixview
='#define CONFIG_MATRIXVIEW 1'
4875 _novomodules
="matrixview $_novomodules"
4876 def_matrixview
='#undef CONFIG_MATRIXVIEW'
4878 echores
"$matrixview"
4881 echocheck
"PNG support"
4882 if test "$_png" = auto
; then
4885 # Don't check for -lpng on irix since it has its own libpng
4886 # incompatible with the GNU libpng
4887 _res_comment
="disabled on irix (not GNU libpng)"
4893 printf("png.h : %s\n", PNG_LIBPNG_VER_STRING);
4894 printf("libpng: %s\n", png_libpng_ver);
4895 return strcmp(PNG_LIBPNG_VER_STRING, png_libpng_ver);
4898 cc_check
-lpng -lz $_ld_lm && _png
=yes
4902 if test "$_png" = yes ; then
4903 def_png
='#define CONFIG_PNG 1'
4904 extra_ldflags
="$extra_ldflags -lpng -lz"
4906 def_png
='#undef CONFIG_PNG'
4909 echocheck
"MNG support"
4910 if test "$_mng" = auto
; then
4915 const char * p_ver = mng_version_text();
4916 return !p_ver || p_ver[0] == 0;
4919 if cc_check
-lmng -lz $_ld_lm ; then
4924 if test "$_mng" = yes ; then
4925 def_mng
='#define CONFIG_MNG 1'
4926 extra_ldflags
="$extra_ldflags -lmng -lz"
4928 def_mng
='#undef CONFIG_MNG'
4931 echocheck
"JPEG support"
4932 if test "$_jpeg" = auto
; then
4939 #include <jpeglib.h>
4940 int main(void) { return 0; }
4942 cc_check
-ljpeg $_ld_lm && _jpeg
=yes
4946 if test "$_jpeg" = yes ; then
4947 def_jpeg
='#define CONFIG_JPEG 1'
4948 _vomodules
="jpeg $_vomodules"
4949 extra_ldflags
="$extra_ldflags -ljpeg"
4951 def_jpeg
='#undef CONFIG_JPEG'
4952 _novomodules
="jpeg $_novomodules"
4957 echocheck
"PNM support"
4958 if test "$_pnm" = yes; then
4959 def_pnm
="#define CONFIG_PNM 1"
4960 _vomodules
="pnm $_vomodules"
4962 def_pnm
="#undef CONFIG_PNM"
4963 _novomodules
="pnm $_novomodules"
4969 echocheck
"GIF support"
4970 # This is to appease people who want to force gif support.
4971 # If it is forced to yes, then we still do checks to determine
4972 # which gif library to use.
4973 if test "$_gif" = yes ; then
4978 if test "$_gif" = auto
; then
4981 #include <gif_lib.h>
4982 int main(void) { return 0; }
4984 for _ld_gif
in "-lungif" "-lgif" ; do
4985 cc_check
$_ld_gif && _gif
=yes && break
4989 # If no library was found, and the user wants support forced,
4990 # then we force it on with libgif, as this is the safest
4991 # assumption IMHO. (libungif & libregif both create symbolic
4992 # links to libgif. We also assume that no x11 support is needed,
4993 # because if you are forcing this, then you _should_ know what
4994 # you are doing. [ Besides, package maintainers should never
4995 # have compiled x11 deps into libungif in the first place. ] )
4998 if test "$_force_gif" = yes && test "$_gif" = no
; then
5003 if test "$_gif" = yes ; then
5004 def_gif
='#define CONFIG_GIF 1'
5005 _codecmodules
="gif $_codecmodules"
5006 _vomodules
="gif89a $_vomodules"
5007 _res_comment
="old version, some encoding functions disabled"
5008 def_gif_4
='#undef CONFIG_GIF_4'
5009 extra_ldflags
="$extra_ldflags $_ld_gif"
5013 #include <gif_lib.h>
5014 void catch() { exit(1); }
5016 signal(SIGSEGV, catch); // catch segfault
5017 printf("EGifPutExtensionFirst is at address %p\n", EGifPutExtensionFirst);
5018 EGifSetGifVersion("89a"); // this will segfault a buggy gif lib.
5022 if cc_check
"$_ld_gif" ; then
5023 def_gif_4
='#define CONFIG_GIF_4 1'
5027 def_gif
='#undef CONFIG_GIF'
5028 def_gif_4
='#undef CONFIG_GIF_4'
5029 _novomodules
="gif89a $_novomodules"
5030 _nocodecmodules
="gif $_nocodecmodules"
5035 case "$_gif" in yes*)
5036 echocheck
"broken giflib workaround"
5037 def_gif_tvt_hack
='#define CONFIG_GIF_TVT_HACK 1'
5040 #include <gif_lib.h>
5043 printf("UserData is at address %p\n", gif.UserData);
5047 if cc_check
"$_ld_gif" ; then
5048 def_gif_tvt_hack
='#undef CONFIG_GIF_TVT_HACK'
5057 echocheck
"VESA support"
5058 if test "$_vesa" = auto
; then
5061 int main(void) { vbeVersion(); return 0; }
5064 cc_check
-lvbe -llrmi && _vesa
=yes
5066 if test "$_vesa" = yes ; then
5067 def_vesa
='#define CONFIG_VESA 1'
5068 libs_mplayer
="$libs_mplayer -lvbe -llrmi"
5069 _vomodules
="vesa $_vomodules"
5071 def_vesa
='#undef CONFIG_VESA'
5072 _novomodules
="vesa $_novomodules"
5084 def_sdl_sdl_h
="#undef CONFIG_SDL_SDL_H"
5085 if test -z "$_sdlconfig" ; then
5086 if ( sdl-config
--version ) >>"$TMPLOG" 2>&1 ; then
5087 _sdlconfig
="sdl-config"
5088 elif ( sdl11-config
--version ) >>"$TMPLOG" 2>&1 ; then
5089 _sdlconfig
="sdl11-config"
5094 if test "$_sdl" = auto ||
test "$_sdl" = yes ; then
5096 #ifdef CONFIG_SDL_SDL_H
5097 #include <SDL/SDL.h>
5102 // we allow SDL hacking our main() only on OSX
5105 int main(int argc, char *argv[]) {
5106 SDL_Init(SDL_INIT_VIDEO|SDL_INIT_NOPARACHUTE);
5111 for _ld_tmp
in "-lSDL" "-lSDL -lpthread" "-lSDL -lwinmm -lgdi32" "-lSDL -lwinmm -lgdi32 -ldxguid" ; do
5112 if cc_check
-DCONFIG_SDL_SDL_H $_inc_tmp $_ld_tmp ; then
5114 def_sdl_sdl_h
="#define CONFIG_SDL_SDL_H 1"
5118 if test "$_sdl" = no
&& "$_sdlconfig" --version >>"$TMPLOG" 2>&1 ; then
5119 _res_comment
="using $_sdlconfig"
5121 _inc_tmp
="$($_sdlconfig --cflags | cut -d " " -f 1,5,6 | sed s/no-cygwin/cygwin/)"
5122 _ld_tmp
="$($_sdlconfig --libs | cut -d " " -f 1,4,6 | sed s/no-cygwin/cygwin/)"
5124 _inc_tmp
=$
($_sdlconfig --cflags |
sed s
/-Dmain=SDL_main
//)
5125 _ld_tmp
=$
($_sdlconfig --libs |
sed -e s
/-mwindows// -e s
/-lmingw32//)
5127 _inc_tmp
="$($_sdlconfig --cflags)"
5128 _ld_tmp
="$($_sdlconfig --libs)"
5130 if cc_check
$_inc_tmp $_ld_tmp >>"$TMPLOG" 2>&1 ; then
5131 _sdlversion
=$
($_sdlconfig --version |
sed 's/[^0-9]//g')
5132 if test "$_sdlversion" -gt 116 ; then
5133 if test "$_sdlversion" -lt 121 ; then
5134 def_sdlbuggy
='#define BUGGY_SDL'
5136 def_sdlbuggy
='#undef BUGGY_SDL'
5143 if test "$_sdl" = yes ; then
5144 def_sdl
='#define CONFIG_SDL 1'
5145 extra_cflags
="$extra_cflags $_inc_tmp"
5146 libs_mplayer
="$libs_mplayer $_ld_tmp"
5147 _vomodules
="sdl $_vomodules"
5148 _aomodules
="sdl $_aomodules"
5150 def_sdl
='#undef CONFIG_SDL'
5151 _novomodules
="sdl $_novomodules"
5152 _noaomodules
="sdl $_noaomodules"
5158 echocheck
"KVA (SNAP/WarpOverlay!/DIVE)"
5159 if test "$_kva" = auto
; then
5163 int main( void ) { return 0; }
5166 cc_check
-lkva && _kva
=yes
5168 if test "$_kva" = yes ; then
5169 def_kva
='#define CONFIG_KVA 1'
5170 libs_mplayer
="$libs_mplayer -lkva"
5171 _vomodules
="kva $_vomodules"
5173 def_kva
='#undef CONFIG_KVA'
5174 _novomodules
="kva $_novomodules"
5182 echocheck
"Windows waveout"
5183 if test "$_win32waveout" = auto
; then
5185 #include <windows.h>
5186 #include <mmsystem.h>
5187 int main(void) { return 0; }
5190 cc_check
-lwinmm && _win32waveout
=yes
5192 if test "$_win32waveout" = yes ; then
5193 def_win32waveout
='#define CONFIG_WIN32WAVEOUT 1'
5194 libs_mplayer
="$libs_mplayer -lwinmm"
5195 _aomodules
="win32 $_aomodules"
5197 def_win32waveout
='#undef CONFIG_WIN32WAVEOUT'
5198 _noaomodules
="win32 $_noaomodules"
5200 echores
"$_win32waveout"
5202 echocheck
"Direct3D"
5203 if test "$_direct3d" = auto
; then
5205 #include <windows.h>
5207 int main(void) { return 0; }
5210 cc_check
&& _direct3d
=yes
5212 if test "$_direct3d" = yes ; then
5213 def_direct3d
='#define CONFIG_DIRECT3D 1'
5214 _vomodules
="direct3d $_vomodules"
5216 def_direct3d
='#undef CONFIG_DIRECT3D'
5217 _novomodules
="direct3d $_novomodules"
5219 echores
"$_direct3d"
5222 if test "$_directx" = auto
; then
5224 #include <windows.h>
5227 int main(void) { return 0; }
5230 cc_check
-lgdi32 && _directx
=yes
5232 if test "$_directx" = yes ; then
5233 def_directx
='#define CONFIG_DIRECTX 1'
5234 libs_mplayer
="$libs_mplayer -lgdi32"
5235 _vomodules
="directx $_vomodules"
5236 _aomodules
="dsound $_aomodules"
5238 def_directx
='#undef CONFIG_DIRECTX'
5239 _novomodules
="directx $_novomodules"
5240 _noaomodules
="dsound $_noaomodules"
5248 if test "$_dxr2" = auto
; then
5251 #include <dxr2ioctl.h>
5252 int main(void) { return 0; }
5254 for _inc_tmp
in "" -I/usr
/local
/include
/dxr2
-I/usr
/include
/dxr2
; do
5255 cc_check
$_inc_tmp && _dxr2
=yes && \
5256 extra_cflags
="$extra_cflags $_inc_tmp" && break
5259 if test "$_dxr2" = yes; then
5260 def_dxr2
='#define CONFIG_DXR2 1'
5261 _aomodules
="dxr2 $_aomodules"
5262 _vomodules
="dxr2 $_vomodules"
5264 def_dxr2
='#undef CONFIG_DXR2'
5265 _noaomodules
="dxr2 $_noaomodules"
5266 _novomodules
="dxr2 $_novomodules"
5271 if test "$_dxr3" = auto
; then
5273 #include <linux/em8300.h>
5274 int main(void) { return 0; }
5277 cc_check
&& _dxr3
=yes
5279 if test "$_dxr3" = yes ; then
5280 def_dxr3
='#define CONFIG_DXR3 1'
5281 _vomodules
="dxr3 $_vomodules"
5283 def_dxr3
='#undef CONFIG_DXR3'
5284 _novomodules
="dxr3 $_novomodules"
5289 echocheck
"IVTV TV-Out (pre linux-2.6.24)"
5290 if test "$_ivtv" = auto
; then
5293 #include <inttypes.h>
5294 #include <linux/types.h>
5295 #include <linux/videodev2.h>
5296 #include <linux/ivtv.h>
5297 #include <sys/ioctl.h>
5299 struct ivtv_cfg_stop_decode sd;
5300 struct ivtv_cfg_start_decode sd1;
5301 ioctl(0, IVTV_IOC_START_DECODE, &sd1);
5302 ioctl(0, IVTV_IOC_STOP_DECODE, &sd);
5306 cc_check
&& _ivtv
=yes
5308 if test "$_ivtv" = yes ; then
5309 def_ivtv
='#define CONFIG_IVTV 1'
5310 _vomodules
="ivtv $_vomodules"
5311 _aomodules
="ivtv $_aomodules"
5313 def_ivtv
='#undef CONFIG_IVTV'
5314 _novomodules
="ivtv $_novomodules"
5315 _noaomodules
="ivtv $_noaomodules"
5320 echocheck
"V4L2 MPEG Decoder"
5321 if test "$_v4l2" = auto
; then
5324 #include <inttypes.h>
5325 #include <linux/types.h>
5326 #include <linux/videodev2.h>
5327 #include <linux/version.h>
5329 #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,22)
5330 #error kernel headers too old, need 2.6.22
5332 struct v4l2_ext_controls ctrls;
5333 ctrls.ctrl_class = V4L2_CTRL_CLASS_MPEG;
5338 cc_check
&& _v4l2
=yes
5340 if test "$_v4l2" = yes ; then
5341 def_v4l2
='#define CONFIG_V4L2_DECODER 1'
5342 _vomodules
="v4l2 $_vomodules"
5343 _aomodules
="v4l2 $_aomodules"
5345 def_v4l2
='#undef CONFIG_V4L2_DECODER'
5346 _novomodules
="v4l2 $_novomodules"
5347 _noaomodules
="v4l2 $_noaomodules"
5358 echocheck
"OSS Audio"
5359 if test "$_ossaudio" = auto
; then
5361 #include <sys/ioctl.h>
5362 #include <$_soundcard_header>
5363 int main(void) { int arg = SNDCTL_DSP_SETFRAGMENT; return 0; }
5366 cc_check
&& _ossaudio
=yes
5368 if test "$_ossaudio" = yes ; then
5369 def_ossaudio
='#define CONFIG_OSS_AUDIO 1'
5370 _aomodules
="oss $_aomodules"
5371 if test "$_linux_devfs" = yes; then
5372 def_ossaudio_devdsp
='#define PATH_DEV_DSP "/dev/sound/dsp"'
5373 def_ossaudio_devmixer
='#define PATH_DEV_MIXER "/dev/sound/mixer"'
5376 #include <sys/ioctl.h>
5377 #include <$_soundcard_header>
5378 #ifdef OPEN_SOUND_SYSTEM
5379 int main(void) { return 0; }
5381 #error Not the real thing
5385 cc_check
&& _real_ossaudio
=yes
5386 if test "$_real_ossaudio" = yes; then
5387 def_ossaudio_devdsp
='#define PATH_DEV_DSP "/dev/dsp"'
5388 # Check for OSS4 headers (override default headers)
5389 # Does not apply to systems where OSS4 is native (e.g. FreeBSD)
5390 if test -f /etc
/oss.conf
; then
5392 _ossinc
="$OSSLIBDIR/include"
5393 if test -f "$_ossinc/sys/soundcard.h"; then
5394 extra_cflags
="-I$_ossinc $extra_cflags"
5397 elif netbsd || openbsd
; then
5398 def_ossaudio_devdsp
='#define PATH_DEV_DSP "/dev/sound"'
5399 extra_ldflags
="$extra_ldflags -lossaudio"
5401 def_ossaudio_devdsp
='#define PATH_DEV_DSP "/dev/dsp"'
5403 def_ossaudio_devmixer
='#define PATH_DEV_MIXER "/dev/mixer"'
5406 def_ossaudio
='#undef CONFIG_OSS_AUDIO'
5407 def_ossaudio_devdsp
='#define PATH_DEV_DSP ""'
5408 def_ossaudio_devmixer
='#define PATH_DEV_MIXER ""'
5409 _noaomodules
="oss $_noaomodules"
5411 echores
"$_ossaudio"
5415 if test "$_arts" = auto
; then
5417 if ( artsc-config
--version ) >> "$TMPLOG" 2>&1 ; then
5421 int main(void) { return 0; }
5423 cc_check $
(artsc-config
--libs) $
(artsc-config
--cflags) && _arts
=yes
5428 if test "$_arts" = yes ; then
5429 def_arts
='#define CONFIG_ARTS 1'
5430 _aomodules
="arts $_aomodules"
5431 libs_mplayer
="$libs_mplayer $(artsc-config --libs)"
5432 extra_cflags
="$extra_cflags $(artsc-config --cflags)"
5434 _noaomodules
="arts $_noaomodules"
5440 if test "$_esd" = auto
; then
5442 if ( esd-config
--version ) >> "$TMPLOG" 2>&1 ; then
5446 int main(void) { int fd = esd_open_sound("test"); return fd; }
5448 cc_check $
(esd-config
--libs) $
(esd-config
--cflags) && _esd
=yes
5454 if test "$_esd" = yes ; then
5455 def_esd
='#define CONFIG_ESD 1'
5456 _aomodules
="esd $_aomodules"
5457 libs_mplayer
="$libs_mplayer $(esd-config --libs)"
5458 extra_cflags
="$extra_cflags $(esd-config --cflags)"
5460 echocheck
"esd_get_latency()"
5463 int main(void) { return esd_get_latency(0); }
5465 cc_check $
(esd-config
--libs) $
(esd-config
--cflags) && _esd_latency
=yes && def_esd_latency
='#define CONFIG_ESD_LATENCY 1'
5466 echores
"$_esd_latency"
5468 def_esd
='#undef CONFIG_ESD'
5469 def_esd_latency
='#undef CONFIG_ESD_LATENCY'
5470 _noaomodules
="esd $_noaomodules"
5475 if test "$_nas" = auto
; then
5477 #include <audio/audiolib.h>
5478 int main(void) { return 0; }
5481 cc_check
$_ld_lm -laudio -lXt && _nas
=yes
5483 if test "$_nas" = yes ; then
5484 def_nas
='#define CONFIG_NAS 1'
5485 libs_mplayer
="$libs_mplayer -laudio -lXt"
5486 _aomodules
="nas $_aomodules"
5488 _noaomodules
="nas $_noaomodules"
5489 def_nas
='#undef CONFIG_NAS'
5495 if test "$_pulse" = auto
; then
5497 if $_pkg_config --exists 'libpulse >= 0.9' ; then
5500 #include <pulse/pulseaudio.h>
5501 int main(void) { return 0; }
5503 cc_check $
($_pkg_config --libs --cflags libpulse
) && _pulse
=yes
5509 if test "$_pulse" = yes ; then
5510 def_pulse
='#define CONFIG_PULSE 1'
5511 _aomodules
="pulse $_aomodules"
5512 libs_mplayer
="$libs_mplayer $($_pkg_config --libs libpulse)"
5513 extra_cflags
="$extra_cflags $($_pkg_config --cflags libpulse)"
5515 def_pulse
='#undef CONFIG_PULSE'
5516 _noaomodules
="pulse $_noaomodules"
5521 if test "$_jack" = auto
; then
5525 #include <jack/jack.h>
5526 int main(void) { jack_client_open("test", JackUseExactName, NULL); return 0; }
5528 if cc_check
-ljack ; then
5529 libs_mplayer
="$libs_mplayer -ljack"
5530 elif cc_check $
($_pkg_config --libs --cflags --silence-errors jack
) ; then
5531 libs_mplayer
="$libs_mplayer $($_pkg_config --libs jack)"
5532 extra_cflags
="$extra_cflags "$
($_pkg_config --cflags jack
)""
5538 if test "$_jack" = yes ; then
5539 def_jack
='#define CONFIG_JACK 1'
5540 _aomodules
="jack $_aomodules"
5542 _noaomodules
="jack $_noaomodules"
5547 if test "$_openal" = auto
; then
5551 #include <OpenAL/al.h>
5556 alSourceQueueBuffers(0, 0, 0);
5557 // alGetSourcei(0, AL_SAMPLE_OFFSET, 0);
5561 for I
in "-lopenal" "-lopenal32" "-framework OpenAL" ; do
5562 cc_check
$I && _openal
=yes && break
5563 cc_check
-DOPENAL_AL_H=1 $I && def_openal_h
='#define OPENAL_AL_H 1' && _openal
=yes && break
5565 test "$_openal" = yes && libs_mplayer
="$libs_mplayer $I"
5567 if test "$_openal" = yes ; then
5568 def_openal
='#define CONFIG_OPENAL 1'
5569 _aomodules
="openal $_aomodules"
5571 _noaomodules
="openal $_noaomodules"
5575 echocheck
"ALSA audio"
5576 if test "$_alloca" != yes ; then
5578 _res_comment
="alloca missing"
5580 if test "$_alsa" != no
; then
5583 #include <sys/time.h>
5584 #include <sys/asoundlib.h>
5585 #if !((SND_LIB_MAJOR == 0) && (SND_LIB_MINOR == 5))
5586 #error "alsa version != 0.5.x"
5588 int main(void) { return 0; }
5590 cc_check
-lasound $_ld_dl $_ld_pthread && _alsaver
='0.5.x'
5593 #include <sys/time.h>
5594 #include <sys/asoundlib.h>
5595 #if !((SND_LIB_MAJOR == 0) && (SND_LIB_MINOR == 9))
5596 #error "alsa version != 0.9.x"
5598 int main(void) { return 0; }
5600 cc_check
-lasound $_ld_dl $_ld_pthread && _alsaver
='0.9.x-sys'
5602 #include <sys/time.h>
5603 #include <alsa/asoundlib.h>
5604 #if !((SND_LIB_MAJOR == 0) && (SND_LIB_MINOR == 9))
5605 #error "alsa version != 0.9.x"
5607 int main(void) { return 0; }
5609 cc_check
-lasound $_ld_dl $_ld_pthread && _alsaver
='0.9.x-alsa'
5612 #include <sys/time.h>
5613 #include <sys/asoundlib.h>
5614 #if !((SND_LIB_MAJOR == 1) && (SND_LIB_MINOR == 0))
5615 #error "alsa version != 1.0.x"
5617 int main(void) { return 0; }
5619 cc_check
-lasound $_ld_dl $_ld_pthread && _alsaver
='1.0.x-sys'
5621 #include <sys/time.h>
5622 #include <alsa/asoundlib.h>
5623 #if !((SND_LIB_MAJOR == 1) && (SND_LIB_MINOR == 0))
5624 #error "alsa version != 1.0.x"
5626 int main(void) { return 0; }
5628 cc_check
-lasound $_ld_dl $_ld_pthread && _alsaver
='1.0.x-alsa'
5630 def_alsa
='#undef CONFIG_ALSA'
5631 def_alsa5
='#undef CONFIG_ALSA5'
5632 def_alsa9
='#undef CONFIG_ALSA9'
5633 def_alsa1x
='#undef CONFIG_ALSA1X'
5634 def_sys_asoundlib_h
='#undef HAVE_SYS_ASOUNDLIB_H'
5635 def_alsa_asoundlib_h
='#undef HAVE_ALSA_ASOUNDLIB_H'
5636 if test "$_alsaver" ; then
5638 if test "$_alsaver" = '0.5.x' ; then
5640 _aomodules
="alsa5 $_aomodules"
5641 def_alsa5
='#define CONFIG_ALSA5 1'
5642 def_sys_asoundlib_h
='#define HAVE_SYS_ASOUNDLIB_H 1'
5643 _res_comment
="using alsa 0.5.x and sys/asoundlib.h"
5644 elif test "$_alsaver" = '0.9.x-sys' ; then
5646 _aomodules
="alsa $_aomodules"
5647 def_alsa
='#define CONFIG_ALSA 1'
5648 def_alsa9
='#define CONFIG_ALSA9 1'
5649 def_sys_asoundlib_h
='#define HAVE_SYS_ASOUNDLIB_H 1'
5650 _res_comment
="using alsa 0.9.x and sys/asoundlib.h"
5651 elif test "$_alsaver" = '0.9.x-alsa' ; then
5653 _aomodules
="alsa $_aomodules"
5654 def_alsa
='#define CONFIG_ALSA 1'
5655 def_alsa9
='#define CONFIG_ALSA9 1'
5656 def_alsa_asoundlib_h
='#define HAVE_ALSA_ASOUNDLIB_H 1'
5657 _res_comment
="using alsa 0.9.x and alsa/asoundlib.h"
5658 elif test "$_alsaver" = '1.0.x-sys' ; then
5660 _aomodules
="alsa $_aomodules"
5661 def_alsa
='#define CONFIG_ALSA 1'
5662 def_alsa1x
="#define CONFIG_ALSA1X 1"
5663 def_alsa_asoundlib_h
='#define HAVE_SYS_ASOUNDLIB_H 1'
5664 _res_comment
="using alsa 1.0.x and sys/asoundlib.h"
5665 elif test "$_alsaver" = '1.0.x-alsa' ; then
5667 _aomodules
="alsa $_aomodules"
5668 def_alsa
='#define CONFIG_ALSA 1'
5669 def_alsa1x
="#define CONFIG_ALSA1X 1"
5670 def_alsa_asoundlib_h
='#define HAVE_ALSA_ASOUNDLIB_H 1'
5671 _res_comment
="using alsa 1.0.x and alsa/asoundlib.h"
5674 _res_comment
="unknown version"
5676 extra_ldflags
="$extra_ldflags -lasound $_ld_dl $_ld_pthread"
5678 _noaomodules
="alsa $_noaomodules"
5683 echocheck
"Sun audio"
5684 if test "$_sunaudio" = auto
; then
5686 #include <sys/types.h>
5687 #include <sys/audioio.h>
5688 int main(void) { audio_info_t info; AUDIO_INITINFO(&info); return 0; }
5691 cc_check
&& _sunaudio
=yes
5693 if test "$_sunaudio" = yes ; then
5694 def_sunaudio
='#define CONFIG_SUN_AUDIO 1'
5695 _aomodules
="sun $_aomodules"
5697 def_sunaudio
='#undef CONFIG_SUN_AUDIO'
5698 _noaomodules
="sun $_noaomodules"
5700 echores
"$_sunaudio"
5703 def_mlib
='#define CONFIG_MLIB 0'
5705 echocheck
"Sun mediaLib"
5706 if test "$_mlib" = auto
; then
5710 int main(void) { mlib_VideoColorYUV2ABGR420(0,0,0,0,0,0,0,0,0); return 0; }
5712 cc_check
-lmlib && _mlib
=yes && def_mlib
='#define CONFIG_MLIB 1'
5719 echocheck
"CoreAudio"
5720 if test "$_coreaudio" = auto
; then
5722 #include <CoreAudio/CoreAudio.h>
5723 #include <AudioToolbox/AudioToolbox.h>
5724 #include <AudioUnit/AudioUnit.h>
5725 int main(void) { return 0; }
5728 cc_check
-framework CoreAudio
-framework AudioUnit
-framework AudioToolbox
&& _coreaudio
=yes
5730 if test "$_coreaudio" = yes ; then
5731 libs_mplayer
="$libs_mplayer -framework CoreAudio -framework AudioUnit -framework AudioToolbox"
5732 def_coreaudio
='#define CONFIG_COREAUDIO 1'
5733 _aomodules
="coreaudio $_aomodules"
5735 def_coreaudio
='#undef CONFIG_COREAUDIO'
5736 _noaomodules
="coreaudio $_noaomodules"
5743 echocheck
"SGI audio"
5744 if test "$_sgiaudio" = auto
; then
5745 # check for SGI audio
5747 #include <dmedia/audio.h>
5748 int main(void) { return 0; }
5751 cc_check
&& _sgiaudio
=yes
5753 if test "$_sgiaudio" = "yes" ; then
5754 def_sgiaudio
='#define CONFIG_SGI_AUDIO 1'
5755 libs_mplayer
="$libs_mplayer -laudio"
5756 _aomodules
="sgi $_aomodules"
5758 def_sgiaudio
='#undef CONFIG_SGI_AUDIO'
5759 _noaomodules
="sgi $_noaomodules"
5761 echores
"$_sgiaudio"
5766 echocheck
"KAI (UNIAUD/DART)"
5767 if test "$_kai" = auto
; then
5771 int main(void) { return 0; }
5774 cc_check
-lkai && _kai
=yes
5776 if test "$_kai" = yes ; then
5777 def_kai
='#define CONFIG_KAI 1'
5778 libs_mplayer
="$libs_mplayer -lkai"
5779 _aomodules
="kai $_aomodules"
5781 def_kai
='#undef CONFIG_KAI'
5782 _noaomodules
="kai $_noaomodules"
5787 if test "$_dart" = auto
; then
5791 int main( void ) { return 0; }
5794 cc_check
-ldart && _dart
=yes
5796 if test "$_dart" = yes ; then
5797 def_dart
='#define CONFIG_DART 1'
5798 libs_mplayer
="$libs_mplayer -ldart"
5799 _aomodules
="dart $_aomodules"
5801 def_dart
='#undef CONFIG_DART'
5802 _noaomodules
="dart $_noaomodules"
5808 # set default CD/DVD devices
5809 if win32 || os2
; then
5810 default_cdrom_device
="D:"
5812 default_cdrom_device
="/dev/disk1"
5813 elif dragonfly
; then
5814 default_cdrom_device
="/dev/cd0"
5816 default_cdrom_device
="/dev/acd0"
5818 default_cdrom_device
="/dev/rcd0a"
5820 default_cdrom_device
="/vol/dev/aliases/cdrom0"
5821 # Modern Solaris versions use HAL instead of the vold daemon, the volfs
5822 # file system and the volfs service.
5823 test -r "/cdrom/cdrom0" && default_cdrom_device
="/cdrom/cdrom0"
5825 default_cdrom_device
="a1ide.device:2"
5827 default_cdrom_device
="/dev/cdrom"
5830 if win32 || os2 || dragonfly || freebsd || openbsd || sunos || amigaos
; then
5831 default_dvd_device
=$default_cdrom_device
5833 default_dvd_device
="/dev/rdiskN"
5835 default_dvd_device
="/dev/dvd"
5839 echocheck
"VCD support"
5840 if test "$_vcd" = auto
; then
5842 if linux || freebsd || netbsd || openbsd || dragonfly || bsdos || darwin || sunos || os2
; then
5846 #include <ddk/ntddcdrm.h>
5847 int main(void) { return 0; }
5849 cc_check
&& _vcd
=yes
5852 if test "$_vcd" = yes; then
5853 _inputmodules
="vcd $_inputmodules"
5854 def_vcd
='#define CONFIG_VCD 1'
5856 def_vcd
='#undef CONFIG_VCD'
5857 _noinputmodules
="vcd $_noinputmodules"
5858 _res_comment
="not supported on this OS"
5865 if test "$_dvdread_internal" = auto
&& test ! -f "libdvdread4/dvd_reader.c" ; then
5866 _dvdread_internal
=no
5868 if test "$_dvdread_internal" = auto
; then
5869 _dvdread_internal
=no
5871 if (linux || freebsd || netbsd || openbsd || dragonfly || sunos || hpux
) \
5872 && (test "$_dvd" = yes ||
test "$_cdrom" = yes ||
test "$_cdio" = yes || \
5873 test "$_dvdio" = yes ||
test "$_bsdi_dvd" = yes) \
5874 || darwin || win32 || os2
; then
5875 _dvdread_internal
=yes
5877 extra_cflags
="-Ilibdvdread4 $extra_cflags"
5879 elif test "$_dvdread" = auto
; then
5881 if test "$_dl" = yes; then
5883 #include <inttypes.h>
5884 #include <dvdread/dvd_reader.h>
5885 #include <dvdread/ifo_types.h>
5886 #include <dvdread/ifo_read.h>
5887 #include <dvdread/nav_read.h>
5888 int main(void) { return 0; }
5890 _dvdreadcflags
=$
($_dvdreadconfig --cflags)
5891 _dvdreadlibs
=$
($_dvdreadconfig --libs)
5892 if cc_check
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE \
5893 $_dvdreadcflags $_dvdreadlibs $_ld_dl ; then
5895 extra_cflags
="$extra_cflags $_dvdreadcflags"
5896 extra_ldflags
="$extra_ldflags $_dvdreadlibs"
5897 _res_comment
="external"
5902 if test "$_dvdread_internal" = yes; then
5903 def_dvdread
='#define CONFIG_DVDREAD 1'
5904 _inputmodules
="dvdread(internal) $_inputmodules"
5906 _res_comment
="internal"
5907 elif test "$_dvdread" = yes; then
5908 def_dvdread
='#define CONFIG_DVDREAD 1'
5910 extra_ldflags
="$extra_ldflags -ldvdread"
5911 _inputmodules
="dvdread(external) $_inputmodules"
5912 _res_comment
="external"
5914 def_dvdread
='#undef CONFIG_DVDREAD'
5915 _noinputmodules
="dvdread $_noinputmodules"
5920 echocheck
"internal libdvdcss"
5921 if test "$_libdvdcss_internal" = auto
; then
5922 _libdvdcss_internal
=no
5923 test "$_dvdread_internal" = yes && _libdvdcss_internal
=yes
5924 hpux
&& test "$_hpux_scsi_h" = no
&& _libdvdcss_internal
=no
5926 if test "$_libdvdcss_internal" = yes ; then
5927 if linux || netbsd || openbsd || bsdos
; then
5928 def_dvd_linux
='#define HAVE_LINUX_DVD_STRUCT 1'
5929 openbsd
&& def_dvd_openbsd
='#define HAVE_OPENBSD_DVD_STRUCT 1'
5930 elif freebsd || dragonfly
; then
5931 def_dvd_bsd
='#define HAVE_BSD_DVD_STRUCT 1'
5933 def_dvd_darwin
='#define DARWIN_DVD_IOCTL'
5934 extra_ldflags
="$extra_ldflags -framework IOKit -framework Carbon"
5936 cflags_libdvdcss
="-DSYS_CYGWIN -DWIN32"
5938 cflags_libdvdcss
="-DSYS_BEOS"
5940 cflags_libdvdcss
="-DSYS_OS2"
5942 cflags_libdvdcss_dvdread
="-Ilibdvdcss"
5943 def_dvdcss
="#define HAVE_DVDCSS_DVDCSS_H 1"
5944 _inputmodules
="libdvdcss(internal) $_inputmodules"
5947 _noinputmodules
="libdvdcss(internal) $_noinputmodules"
5949 echores
"$_libdvdcss_internal"
5952 echocheck
"cdparanoia"
5953 if test "$_cdparanoia" = auto
; then
5955 #include <cdda_interface.h>
5956 #include <cdda_paranoia.h>
5957 // This need a better test. How ?
5958 int main(void) { void *test = cdda_verbose_set; return test == (void *)1; }
5961 for _inc_tmp
in "" "-I/usr/include/cdda" "-I/usr/local/include/cdda" ; do
5962 cc_check
$_inc_tmp -lcdda_interface -lcdda_paranoia $_ld_lm && \
5963 _cdparanoia
=yes && extra_cflags
="$extra_cflags $_inc_tmp" && break
5966 if test "$_cdparanoia" = yes ; then
5968 extra_ldflags
="$extra_ldflags -lcdda_interface -lcdda_paranoia"
5969 openbsd
&& extra_ldflags
="$extra_ldflags -lutil"
5971 echores
"$_cdparanoia"
5975 if test "$_libcdio" = auto
&& test "$_cdparanoia" = no
; then
5978 #include <cdio/version.h>
5979 #include <cdio/cdda.h>
5980 #include <cdio/paranoia.h>
5982 void *test = cdda_verbose_set;
5983 printf("%s\n", CDIO_VERSION);
5984 return test == (void *)1;
5988 for _ld_tmp
in "" "-lwinmm" ; do
5989 _ld_tmp
="-lcdio_cdda -lcdio -lcdio_paranoia $_ld_tmp"
5990 cc_check
$_ld_tmp $_ld_lm \
5991 && _libcdio
=yes && extra_ldflags
="$extra_ldflags $_ld_tmp" && break
5993 if test "$_libcdio" = no
&& $_pkg_config --exists libcdio_paranoia
; then
5994 _inc_tmp
=$
($_pkg_config --cflags libcdio_paranoia
)
5995 _ld_tmp
=$
($_pkg_config --libs libcdio_paranoia
)
5996 cc_check
$_inc_tmp $_ld_tmp $_ld_lm && _libcdio
=yes \
5997 && extra_ldflags
="$extra_ldflags $_ld_tmp" && extra_cflags
="$extra_cflags $_inc_tmp"
6000 if test "$_libcdio" = yes && test "$_cdparanoia" = no
; then
6002 def_libcdio
='#define CONFIG_LIBCDIO 1'
6003 def_havelibcdio
='yes'
6005 if test "$_cdparanoia" = yes ; then
6006 _res_comment
="using cdparanoia"
6008 def_libcdio
='#undef CONFIG_LIBCDIO'
6009 def_havelibcdio
='no'
6013 if test "$_cdda" = yes ; then
6014 test $_cddb = auto
&& test $_network = yes && _cddb
=yes
6015 def_cdparanoia
='#define CONFIG_CDDA 1'
6016 _inputmodules
="cdda $_inputmodules"
6018 def_cdparanoia
='#undef CONFIG_CDDA'
6019 _noinputmodules
="cdda $_noinputmodules"
6022 if test "$_cddb" = yes ; then
6023 def_cddb
='#define CONFIG_CDDB 1'
6024 _inputmodules
="cddb $_inputmodules"
6027 def_cddb
='#undef CONFIG_CDDB'
6028 _noinputmodules
="cddb $_noinputmodules"
6031 echocheck
"bitmap font support"
6032 if test "$_bitmap_font" = yes ; then
6033 def_bitmap_font
="#define CONFIG_BITMAP_FONT 1"
6035 def_bitmap_font
="#undef CONFIG_BITMAP_FONT"
6037 echores
"$_bitmap_font"
6040 echocheck
"freetype >= 2.0.9"
6042 # freetype depends on iconv
6043 if test "$_iconv" = no
; then
6045 _res_comment
="iconv support needed"
6048 if test "$_freetype" = auto
; then
6049 if ( $_freetypeconfig --version ) >/dev
/null
2>&1 ; then
6052 #include <ft2build.h>
6053 #include FT_FREETYPE_H
6054 #if ((FREETYPE_MAJOR < 2) || ((FREETYPE_MINOR == 0) && (FREETYPE_PATCH < 9)))
6055 #error "Need FreeType 2.0.9 or newer"
6059 FT_Int major=-1,minor=-1,patch=-1;
6060 int err=FT_Init_FreeType(&library);
6065 cc_check $
($_freetypeconfig --cflags) $
($_freetypeconfig --libs) && _freetype
=yes
6070 if test "$_freetype" = yes ; then
6071 def_freetype
='#define CONFIG_FREETYPE 1'
6072 extra_cflags
="$extra_cflags $($_freetypeconfig --cflags)"
6073 extra_ldflags
="$extra_ldflags $($_freetypeconfig --libs)"
6075 def_freetype
='#undef CONFIG_FREETYPE'
6077 echores
"$_freetype"
6079 if test "$_freetype" = no
; then
6081 _res_comment
="FreeType support needed"
6083 echocheck
"fontconfig"
6084 if test "$_fontconfig" = auto
; then
6088 #include <fontconfig/fontconfig.h>
6089 #if FC_VERSION < 20402
6090 #error At least version 2.4.2 of fontconfig required
6094 if (err == FcFalse) {
6095 printf("Couldn't initialize fontconfig lib\n");
6102 for _ld_tmp
in "" "-lexpat -lfreetype" "-lexpat -lfreetype -lz" "-lexpat -lfreetype -lz -liconv" ; do
6103 _ld_tmp
="-lfontconfig $_ld_tmp"
6104 cc_check
$_ld_tmp && _fontconfig
=yes && extra_ldflags
="$extra_ldflags $_ld_tmp" && break
6106 if test "$_fontconfig" = no
&& $_pkg_config --exists fontconfig
; then
6107 _inc_tmp
=$
($_pkg_config --cflags fontconfig
)
6108 _ld_tmp
=$
($_pkg_config --libs fontconfig
)
6109 cc_check
$_inc_tmp $_ld_tmp && _fontconfig
=yes \
6110 && extra_ldflags
="$extra_ldflags $_ld_tmp" && extra_cflags
="$extra_cflags $_inc_tmp"
6113 if test "$_fontconfig" = yes ; then
6114 def_fontconfig
='#define CONFIG_FONTCONFIG 1'
6116 def_fontconfig
='#undef CONFIG_FONTCONFIG'
6118 echores
"$_fontconfig"
6121 echocheck
"SSA/ASS support"
6122 if test "$_ass" = auto
-o "$_ass" = yes ; then
6123 if $_pkg_config libass
; then
6125 def_ass
='#define CONFIG_ASS 1'
6126 extra_ldflags
="$extra_ldflags $($_pkg_config --libs libass)"
6127 extra_cflags
="$extra_cflags $($_pkg_config --cflags libass)"
6130 def_ass
='#undef CONFIG_ASS'
6133 def_ass
='#undef CONFIG_ASS'
6138 echocheck
"fribidi with charsets"
6141 if test "$_fribidi" = auto
; then
6145 /* workaround for fribidi 0.10.4 and below */
6146 #define FRIBIDI_CHARSET_UTF8 FRIBIDI_CHAR_SET_UTF8
6147 #include <fribidi/fribidi.h>
6149 if (fribidi_parse_charset("UTF-8") != FRIBIDI_CHAR_SET_UTF8) {
6150 printf("Fribidi headers are not consistents with the library!\n");
6159 cc_check
$_inc_tmp $_ld_tmp && _fribidi
=yes
6160 if $_fribidiconfig --version > /dev
/null
2>&1 &&
6161 test "$_fribidi" = no
; then
6162 _inc_tmp
="$($_fribidiconfig --cflags)"
6163 _ld_tmp
="$($_fribidiconfig --libs)"
6164 cc_check
$_inc_tmp $_ld_tmp && _fribidi
=yes
6167 if test "$_fribidi" = yes ; then
6168 def_fribidi
='#define CONFIG_FRIBIDI 1'
6169 extra_cflags
="$extra_cflags $_inc_tmp"
6170 extra_ldflags
="$extra_ldflags $_ld_tmp"
6172 def_fribidi
='#undef CONFIG_FRIBIDI'
6178 if test "$_enca" = auto
; then
6180 #include <sys/types.h>
6185 langs = enca_get_languages(&langcnt);
6190 cc_check
-lenca $_ld_lm && _enca
=yes
6192 if test "$_enca" = yes ; then
6193 def_enca
='#define CONFIG_ENCA 1'
6194 extra_ldflags
="$extra_ldflags -lenca"
6196 def_enca
='#undef CONFIG_ENCA'
6204 int main(void) { (void) inflate(0, Z_NO_FLUSH); return 0; }
6207 cc_check
-lz && _zlib
=yes
6208 if test "$_zlib" = yes ; then
6209 def_zlib
='#define CONFIG_ZLIB 1'
6210 extra_ldflags
="$extra_ldflags -lz"
6212 def_zlib
='#define CONFIG_ZLIB 0'
6219 def_bzlib
='#define CONFIG_BZLIB 0'
6222 int main(void) { BZ2_bzlibVersion(); return 0; }
6224 cc_check
-lbz2 && bzlib
=yes
6225 if test "$bzlib" = yes ; then
6226 def_bzlib
='#define CONFIG_BZLIB 1'
6227 extra_ldflags
="$extra_ldflags -lbz2"
6233 if test "$_rtc" = auto
; then
6235 #include <sys/ioctl.h>
6237 #include <linux/rtc.h>
6240 #define RTC_PIE_ON RTCIO_PIE_ON
6242 int main(void) { return RTC_PIE_ON; }
6245 cc_check
&& _rtc
=yes
6248 if test "$_rtc" = yes ; then
6249 def_rtc
='#define HAVE_RTC 1'
6251 def_rtc
='#undef HAVE_RTC'
6256 echocheck
"liblzo2 support"
6257 if test "$_liblzo" = auto
; then
6260 #include <lzo/lzo1x.h>
6261 int main(void) { lzo_init();return 0; }
6263 cc_check
-llzo2 && _liblzo
=yes
6265 if test "$_liblzo" = yes ; then
6266 def_liblzo
='#define CONFIG_LIBLZO 1'
6267 extra_ldflags
="$extra_ldflags -llzo2"
6268 _codecmodules
="liblzo $_codecmodules"
6270 def_liblzo
='#undef CONFIG_LIBLZO'
6271 _nocodecmodules
="liblzo $_nocodecmodules"
6276 echocheck
"mad support"
6277 if test "$_mad" = auto
; then
6281 int main(void) { return 0; }
6283 cc_check
-lmad && _mad
=yes
6285 if test "$_mad" = yes ; then
6286 def_mad
='#define CONFIG_LIBMAD 1'
6287 extra_ldflags
="$extra_ldflags -lmad"
6288 _codecmodules
="libmad $_codecmodules"
6290 def_mad
='#undef CONFIG_LIBMAD'
6291 _nocodecmodules
="libmad $_nocodecmodules"
6296 if test "$_twolame" = auto
; then
6298 #include <twolame.h>
6299 int main(void) { twolame_init(); return 0; }
6302 cc_check
-ltwolame $_ld_lm && _twolame
=yes
6304 if test "$_twolame" = yes ; then
6305 def_twolame
='#define CONFIG_TWOLAME 1'
6306 libs_mencoder
="$libs_mencoder -ltwolame"
6307 _codecmodules
="twolame $_codecmodules"
6309 def_twolame
='#undef CONFIG_TWOLAME'
6310 _nocodecmodules
="twolame $_nocodecmodules"
6315 if test "$_toolame" = auto
; then
6317 if test "$_twolame" = yes ; then
6318 _res_comment
="disabled by twolame"
6321 #include <toolame.h>
6322 int main(void) { toolame_init(); return 0; }
6324 cc_check
-ltoolame $_ld_lm && _toolame
=yes
6327 if test "$_toolame" = yes ; then
6328 def_toolame
='#define CONFIG_TOOLAME 1'
6329 libs_mencoder
="$libs_mencoder -ltoolame"
6330 _codecmodules
="toolame $_codecmodules"
6332 def_toolame
='#undef CONFIG_TOOLAME'
6333 _nocodecmodules
="toolame $_nocodecmodules"
6335 if test "$_toolamedir" ; then
6336 _res_comment
="using $_toolamedir"
6340 echocheck
"OggVorbis support"
6341 if test "$_tremor_internal" = yes; then
6343 elif test "$_tremor" = auto
; then
6346 #include <tremor/ivorbiscodec.h>
6347 int main(void) { vorbis_packet_blocksize(0,0); return 0; }
6349 cc_check
-logg -lvorbisidec $_ld_lm && _tremor
=yes && _libvorbis
=no
6351 if test "$_libvorbis" = auto
; then
6354 #include <vorbis/codec.h>
6355 int main(void) { vorbis_packet_blocksize(0,0); return 0; }
6357 cc_check
-lvorbis -logg $_ld_lm && _libvorbis
=yes
6359 if test "$_tremor_internal" = yes ; then
6361 def_vorbis
='#define CONFIG_OGGVORBIS 1'
6362 def_tremor
='#define CONFIG_TREMOR 1'
6363 _codecmodules
="tremor(internal) $_codecmodules"
6364 _res_comment
="internal Tremor"
6365 if test "$_tremor_low" = yes ; then
6366 cflags_tremor_low
="-D_LOW_ACCURACY_"
6367 _res_comment
="internal low accuracy Tremor"
6369 elif test "$_tremor" = yes ; then
6371 def_vorbis
='#define CONFIG_OGGVORBIS 1'
6372 def_tremor
='#define CONFIG_TREMOR 1'
6373 _codecmodules
="tremor(external) $_codecmodules"
6374 _res_comment
="external Tremor"
6375 extra_ldflags
="$extra_ldflags -logg -lvorbisidec"
6376 elif test "$_libvorbis" = yes ; then
6378 def_vorbis
='#define CONFIG_OGGVORBIS 1'
6379 _codecmodules
="libvorbis $_codecmodules"
6380 _res_comment
="libvorbis"
6381 extra_ldflags
="$extra_ldflags -lvorbis -logg"
6384 _nocodecmodules
="libvorbis $_nocodecmodules"
6388 echocheck
"libspeex (version >= 1.1 required)"
6389 if test "$_speex" = auto
; then
6392 #include <speex/speex.h>
6393 int main(void) { SpeexBits bits; void *dec; speex_decode_int(dec, &bits, dec); return 0; }
6395 cc_check
-lspeex $_ld_lm && _speex
=yes
6397 if test "$_speex" = yes ; then
6398 def_speex
='#define CONFIG_SPEEX 1'
6399 extra_ldflags
="$extra_ldflags -lspeex"
6400 _codecmodules
="speex $_codecmodules"
6402 def_speex
='#undef CONFIG_SPEEX'
6403 _nocodecmodules
="speex $_nocodecmodules"
6407 echocheck
"OggTheora support"
6408 if test "$_theora" = auto
; then
6411 #include <theora/theora.h>
6414 /* Theora is in flux, make sure that all interface routines and datatypes
6415 * exist and work the way we expect it, so we don't break MPlayer. */
6424 theora_info_init(&inf);
6425 theora_comment_init(&tc);
6429 /* we don't want to execute this kind of nonsense; just for making sure
6430 * that compilation works... */
6431 memset(&op, 0, sizeof(op));
6432 r = theora_decode_header(&inf, &tc, &op);
6433 r = theora_decode_init(&st, &inf);
6434 t = theora_granule_time(&st, op.granulepos);
6435 r = theora_decode_packetin(&st, &op);
6436 r = theora_decode_YUVout(&st, &yuv);
6442 _ld_theora
=$
($_pkg_config --silence-errors --libs theora
)
6443 _inc_theora
=$
($_pkg_config --silence-errors --cflags theora
)
6444 cc_check
$_inc_theora $_ld_theora && extra_ldflags
="$extra_ldflags $_ld_theora" &&
6445 extra_cflags
="$extra_cflags $_inc_theora" && _theora
=yes
6446 if test _theora
= no
; then
6447 _ld_theora
="-ltheora -logg"
6448 cc_check
$_ld_theora && extra_ldflags
="$extra_ldflags $_ld_theora" && _theora
=yes
6450 if test "$_theora" = no
&& test "$_tremor_internal" = yes; then
6451 _ld_theora
=$
($_pkg_config --silence-errors --libs theora
)
6452 _inc_theora
=$
($_pkg_config --silence-errors --cflags theora
)
6453 cc_check tremor
/bitwise.c
$_inc_theora $_ld_theora &&
6454 extra_ldflags
="$extra_ldflags $_ld_theora" &&
6455 extra_cflags
="$extra_cflags $_inc_theora" && _theora
=yes
6456 if test _theora
= no
; then
6457 _ld_theora
="-ltheora -logg"
6458 cc_check tremor
/bitwise.c
$_ld_theora &&
6459 extra_ldflags
="$extra_ldflags $_ld_theora" && _theora
=yes
6463 if test "$_theora" = yes ; then
6464 def_theora
='#define CONFIG_OGGTHEORA 1'
6465 _codecmodules
="libtheora $_codecmodules"
6466 # when --enable-theora is forced, we'd better provide a probably sane
6467 # $_ld_theora than nothing
6468 test -z "$_ld_theora" && extra_ldflags
="$extra_ldflags -ltheora -logg"
6470 def_theora
='#undef CONFIG_OGGTHEORA'
6471 _nocodecmodules
="libtheora $_nocodecmodules"
6475 echocheck
"internal mp3lib support"
6476 if test "$_mp3lib" = auto
; then
6477 test "$cc_vendor" = intel
&& test "$_cc_major" -le 10 -o "$_cc_major" -eq 11 -a "$_cc_minor" -eq 0 && _mp3lib
=no || _mp3lib
=yes
6479 if test "$_mp3lib" = yes ; then
6480 def_mp3lib
='#define CONFIG_MP3LIB 1'
6481 _codecmodules
="mp3lib(internal) $_codecmodules"
6483 def_mp3lib
='#undef CONFIG_MP3LIB'
6484 _nocodecmodules
="mp3lib(internal) $_nocodecmodules"
6488 echocheck
"liba52 support"
6489 if test "$_liba52_internal" = auto
; then
6490 test "$cc_vendor" = intel
&& test "$_cc_major" -le 10 -o "$_cc_major" -eq 11 -a "$_cc_minor" -eq 0 && _liba52_internal
=no || _liba52_internal
=yes
6492 def_liba52
='#undef CONFIG_LIBA52'
6493 def_liba52_internal
="#undef CONFIG_LIBA52_INTERNAL"
6494 if test "$_liba52_internal" = yes ; then
6496 def_liba52_internal
="#define CONFIG_LIBA52_INTERNAL 1"
6497 _res_comment
="internal"
6498 elif test "$_liba52_internal" = no
&& test "$_liba52" = auto
; then
6501 #include <inttypes.h>
6502 #include <a52dec/a52.h>
6503 int main(void) { a52_state_t *testHand; testHand=a52_init(0); return 0; }
6505 cc_check
-la52 && _liba52
=yes && _res_comment
="external" && extra_ldflags
="$extra_ldflags -la52"
6507 if test "$_liba52" = yes ; then
6508 def_liba52
='#define CONFIG_LIBA52 1'
6509 _codecmodules
="liba52($_res_comment) $_codecmodules"
6511 _nocodecmodules
="liba52 $_nocodecmodules"
6515 echocheck
"internal libmpeg2 support"
6516 if test "$_libmpeg2" = auto
; then
6518 if alpha
&& test cc_vendor
=gnu
; then
6520 2*|
3.0*|
3.1*) # cannot compile MVI instructions
6522 _res_comment
="broken gcc"
6527 if test "$_libmpeg2" = yes ; then
6528 def_libmpeg2
='#define CONFIG_LIBMPEG2 1'
6529 _codecmodules
="libmpeg2(internal) $_codecmodules"
6531 def_libmpeg2
='#undef CONFIG_LIBMPEG2'
6532 _nocodecmodules
="libmpeg2(internal) $_nocodecmodules"
6534 echores
"$_libmpeg2"
6536 echocheck
"libdca support"
6537 if test "$_libdca" = auto
; then
6540 #include <inttypes.h>
6542 int main(void) { dts_init(0); return 0; }
6544 for _ld_dca
in -ldca -ldts ; do
6545 cc_check
$_ld_dca $_ld_lm && extra_ldflags
="$extra_ldflags $_ld_dca" \
6546 && _libdca
=yes && break
6549 if test "$_libdca" = yes ; then
6550 def_libdca
='#define CONFIG_LIBDCA 1'
6551 _codecmodules
="libdca $_codecmodules"
6553 def_libdca
='#undef CONFIG_LIBDCA'
6554 _nocodecmodules
="libdca $_nocodecmodules"
6558 echocheck
"libmpcdec (musepack, version >= 1.2.1 required)"
6559 if test "$_musepack" = auto
; then
6563 #include <mpcdec/mpcdec.h>
6565 mpc_streaminfo info;
6566 mpc_decoder decoder;
6567 mpc_decoder_set_streaminfo(&decoder, &info);
6568 mpc_decoder_decode_frame(&decoder, NULL, 0, NULL);
6572 cc_check
-lmpcdec $_ld_lm && _musepack
=yes
6574 if test "$_musepack" = yes ; then
6575 def_musepack
='#define CONFIG_MUSEPACK 1'
6576 extra_ldflags
="$extra_ldflags -lmpcdec"
6577 _codecmodules
="musepack $_codecmodules"
6579 def_musepack
='#undef CONFIG_MUSEPACK'
6580 _nocodecmodules
="musepack $_nocodecmodules"
6582 echores
"$_musepack"
6585 echocheck
"FAAC support"
6586 if test "$_faac" = auto
; then
6588 #include <inttypes.h>
6590 int main(void) { unsigned long x, y; faacEncOpen(48000, 2, &x, &y); return 0; }
6593 for _ld_faac
in "-lfaac" "-lfaac -lmp4v2 -lstdc++" ; do
6594 cc_check
-O2 $_ld_faac $_ld_lm && libs_mencoder
="$libs_mencoder $_ld_faac" && _faac
=yes && break
6597 if test "$_faac" = yes ; then
6598 def_faac
="#define CONFIG_FAAC 1"
6599 _codecmodules
="faac $_codecmodules"
6601 def_faac
="#undef CONFIG_FAAC"
6602 _nocodecmodules
="faac $_nocodecmodules"
6607 echocheck
"FAAD2 support"
6608 if test "$_faad_internal" = auto
; then
6609 if x86_32
&& test cc_vendor
=gnu
; then
6611 3.1*|
3.2) # ICE/insn with these versions
6613 _res_comment
="broken gcc"
6625 if test "$_faad" = auto
; then
6628 #ifndef FAAD_MIN_STREAMSIZE
6629 #error Too old version
6631 int main(void) { faacDecHandle testhand; faacDecFrameInfo testinfo;
6632 testhand = faacDecOpen(); faacDecInit(0, 0, 0, 0, 0); return 0; }
6634 cc_check
-lfaad $_ld_lm && _faad
=yes
6637 def_faad
='#undef CONFIG_FAAD'
6638 def_faad_internal
="#undef CONFIG_FAAD_INTERNAL"
6639 if test "$_faad_internal" = yes ; then
6640 def_faad_internal
="#define CONFIG_FAAD_INTERNAL 1"
6641 _res_comment
="internal floating-point"
6642 if test "$_faad_fixed" = yes ; then
6643 # The FIXED_POINT implementation of FAAD2 improves performance
6644 # on some platforms, especially for SBR files.
6645 cflags_faad_fixed
="-DFIXED_POINT"
6646 _res_comment
="internal fixed-point"
6648 elif test "$_faad" = yes ; then
6649 extra_ldflags
="$extra_ldflags -lfaad"
6652 if test "$_faad" = yes ; then
6653 def_faad
='#define CONFIG_FAAD 1'
6654 if test "$_faad_internal" = yes ; then
6655 _codecmodules
="faad2(internal) $_codecmodules"
6657 _codecmodules
="faad2 $_codecmodules"
6661 _nocodecmodules
="faad2 $_nocodecmodules"
6666 echocheck
"LADSPA plugin support"
6667 if test "$_ladspa" = auto
; then
6672 const LADSPA_Descriptor *ld = NULL;
6677 cc_check
&& _ladspa
=yes
6679 if test "$_ladspa" = yes; then
6680 def_ladspa
="#define CONFIG_LADSPA 1"
6682 def_ladspa
="#undef CONFIG_LADSPA"
6687 echocheck
"libbs2b audio filter support"
6688 if test "$_libbs2b" = auto
; then
6691 #if BS2B_VERSION_MAJOR < 3
6692 #error Please use libbs2b >= 3.0.0, older versions are not supported.
6702 if $_pkg_config --exists libbs2b
; then
6703 _inc_tmp
=$
($_pkg_config --cflags libbs2b
)
6704 _ld_tmp
=$
($_pkg_config --libs libbs2b
)
6705 cc_check
$_inc_tmp $_ld_tmp && extra_ldflags
="$extra_ldflags $_ld_tmp" &&
6706 extra_cflags
="$extra_cflags $_inc_tmp" && _libbs2b
=yes
6708 for _inc_tmp
in "" -I/usr
/include
/bs2b
-I/usr
/local
/include \
6709 -I/usr
/local
/include
/bs2b
; do
6710 if cc_check
$_inc_tmp $_ld_lm -lbs2b ; then
6711 extra_ldflags
="$extra_ldflags -lbs2b"
6712 extra_cflags
="$extra_cflags $_inc_tmp"
6719 def_libbs2b
="#undef CONFIG_LIBBS2B"
6720 test "$_libbs2b" = yes && def_libbs2b
="#define CONFIG_LIBBS2B 1"
6724 if test -z "$_codecsdir" ; then
6725 for dir
in "$_libdir/codecs" "$_libdir/win32" /usr
/local
/lib
/codecs \
6726 /usr
/lib
/codecs
/usr
/local
/lib
/win32
/usr
/lib
/win32
; do
6727 if test -d "$dir" ; then
6733 # Fall back on default directory.
6734 if test -z "$_codecsdir" ; then
6735 _codecsdir
="$_libdir/codecs"
6736 mingw32
&& _codecsdir
="codecs"
6737 os2
&& _codecsdir
="codecs"
6741 echocheck
"Win32 codecs"
6742 if test "$_win32dll" = auto
; then
6744 if x86_32
&& ! qnx
; then
6748 if test "$_win32dll" = yes ; then
6749 def_win32dll
='#define CONFIG_WIN32DLL 1'
6750 test -z "$_win32codecsdir" && _win32codecsdir
=$_codecsdir
6751 _res_comment
="using $_win32codecsdir"
6753 def_win32_loader
='#define WIN32_LOADER 1'
6754 _win32_emulation
=yes
6756 extra_ldflags
="$extra_ldflags -ladvapi32 -lole32"
6757 _res_comment
="using native windows"
6759 _codecmodules
="win32 $_codecmodules"
6761 def_win32dll
='#undef CONFIG_WIN32DLL'
6762 def_win32_loader
='#undef WIN32_LOADER'
6763 _nocodecmodules
="win32 $_nocodecmodules"
6765 echores
"$_win32dll"
6768 echocheck
"XAnim codecs"
6769 if test "$_xanim" = auto
; then
6771 _res_comment
="dynamic loader support needed"
6772 if test "$_dl" = yes ; then
6776 if test "$_xanim" = yes ; then
6777 test -z "$_xanimcodecsdir" && _xanimcodecsdir
=$_codecsdir
6778 def_xanim
='#define CONFIG_XANIM 1'
6779 def_xanim_path
="#define XACODEC_PATH \"$_xanimcodecsdir\""
6780 _codecmodules
="xanim $_codecmodules"
6781 _res_comment
="using $_xanimcodecsdir"
6783 def_xanim
='#undef CONFIG_XANIM'
6784 def_xanim_path
='#undef XACODEC_PATH'
6785 _nocodecmodules
="xanim $_nocodecmodules"
6790 echocheck
"RealPlayer codecs"
6791 if test "$_real" = auto
; then
6793 _res_comment
="dynamic loader support needed"
6794 if test "$_dl" = yes ||
test "$_win32dll" = yes &&
6795 (linux || freebsd || netbsd || openbsd || dragonfly || darwin || win32 || os2
) ; then
6799 if test "$_real" = yes ; then
6800 test -z "$_realcodecsdir" && _realcodecsdir
="$_codecsdir"
6801 def_real
='#define CONFIG_REALCODECS 1'
6802 def_real_path
="#define REALCODEC_PATH \"$_realcodecsdir\""
6803 _codecmodules
="real $_codecmodules"
6804 _res_comment
="using $_realcodecsdir"
6806 def_real
='#undef CONFIG_REALCODECS'
6807 def_real_path
="#undef REALCODEC_PATH"
6808 _nocodecmodules
="real $_nocodecmodules"
6813 echocheck
"QuickTime codecs"
6815 def_qtx_win32
='#undef CONFIG_QTX_CODECS_WIN32'
6816 if test "$_qtx" = auto
; then
6817 test "$_win32dll" = yes ||
test "$quicktime" = yes && _qtx
=yes
6819 if test "$_qtx" = yes ; then
6820 def_qtx
='#define CONFIG_QTX_CODECS 1'
6821 win32
&& _qtx_codecs_win32
=yes && def_qtx_win32
='#define CONFIG_QTX_CODECS_WIN32 1'
6822 _codecmodules
="qtx $_codecmodules"
6823 darwin || win32 || _qtx_emulation
=yes
6825 def_qtx
='#undef CONFIG_QTX_CODECS'
6826 _nocodecmodules
="qtx $_nocodecmodules"
6830 echocheck
"Nemesi Streaming Media libraries"
6831 if test "$_nemesi" = auto
&& test "$_network" = yes ; then
6833 if $_pkg_config libnemesi
--atleast-version=0.6.3 ; then
6834 extra_cflags
="$extra_cflags $($_pkg_config --cflags libnemesi)"
6835 extra_ldflags
="$extra_ldflags $($_pkg_config --libs libnemesi)"
6839 if test "$_nemesi" = yes; then
6841 def_nemesi
='#define CONFIG_LIBNEMESI 1'
6842 _inputmodules
="nemesi $_inputmodules"
6844 _native_rtsp
="$_network"
6846 def_nemesi
='#undef CONFIG_LIBNEMESI'
6847 _noinputmodules
="nemesi $_noinputmodules"
6851 echocheck
"LIVE555 Streaming Media libraries"
6852 if test "$_live" = auto
&& test "$_network" = yes ; then
6853 cat > $TMPCPP << EOF
6854 #include <liveMedia.hh>
6855 #if (LIVEMEDIA_LIBRARY_VERSION_INT < 1141257600)
6856 #error Please upgrade to version 2006.03.03 or later of the "LIVE555 Streaming Media" libraries - available from <www.live555.com/liveMedia/>
6858 int main(void) { return 0; }
6862 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
6863 cxx_check
$I/liveMedia
/include
$I/UsageEnvironment
/include \
6864 $I/groupsock
/include
&& _livelibdir
=$
(echo $I|
sed s
/-I//) && \
6865 extra_ldflags
="$_livelibdir/liveMedia/libliveMedia.a \
6866 $_livelibdir/groupsock/libgroupsock.a \
6867 $_livelibdir/UsageEnvironment/libUsageEnvironment.a \
6868 $_livelibdir/BasicUsageEnvironment/libBasicUsageEnvironment.a \
6869 $extra_ldflags -lstdc++" \
6870 extra_cxxflags
="-I$_livelibdir/liveMedia/include \
6871 -I$_livelibdir/UsageEnvironment/include \
6872 -I$_livelibdir/BasicUsageEnvironment/include \
6873 -I$_livelibdir/groupsock/include" && \
6876 if test "$_live" != yes ; then
6877 ld_tmp
="-lliveMedia -lgroupsock -lUsageEnvironment -lBasicUsageEnvironment -lstdc++"
6878 if cxx_check
-I/usr
/include
/liveMedia
-I/usr
/include
/UsageEnvironment
-I/usr
/include
/groupsock
$ld_tmp; then
6883 if test "$_live" = yes && test "$_network" = yes; then
6884 test $_livelibdir && _res_comment
="using $_livelibdir"
6885 def_live
='#define CONFIG_LIVE555 1'
6886 _inputmodules
="live555 $_inputmodules"
6887 elif test "$_live_dist" = yes && test "$_network" = yes; then
6888 _res_comment
="using distribution version"
6890 def_live
='#define CONFIG_LIVE555 1'
6891 extra_ldflags
="$extra_ldflags $ld_tmp"
6892 extra_cxxflags
="-I/usr/include/liveMedia -I/usr/include/UsageEnvironment \
6893 -I/usr/include/BasicUsageEnvironment -I/usr/include/groupsock"
6894 _inputmodules
="live555 $_inputmodules"
6897 def_live
='#undef CONFIG_LIVE555'
6898 _noinputmodules
="live555 $_noinputmodules"
6903 echocheck
"FFmpeg libavutil"
6904 if test "$_libavutil" = auto
; then
6907 #include <libavutil/common.h>
6908 int main(void) { av_clip(1, 1, 1); return 0; }
6910 if $_pkg_config --exists libavutil
; then
6911 _inc_libavutil
=$
($_pkg_config --cflags libavutil
)
6912 _ld_tmp
=$
($_pkg_config --libs libavutil
)
6913 cc_check
$_inc_libavutil $_ld_tmp && extra_ldflags
="$extra_ldflags $_ld_tmp" extra_cflags
="$extra_cflags $_inc_libavutil" \
6915 elif cc_check
-lavutil $_ld_lm ; then
6916 extra_ldflags
="$extra_ldflags -lavutil"
6920 def_libavutil
='#undef CONFIG_LIBAVUTIL'
6921 test "$_libavutil" = yes && def_libavutil
='#define CONFIG_LIBAVUTIL 1'
6922 # libavutil is not available, but it is mandatory ...
6923 if test "$_libavutil" = no
; then
6924 die
"You need libavutil, MPlayer will not compile without!"
6926 echores
"$_libavutil"
6928 echocheck
"FFmpeg libavcodec"
6929 if test "$_libavcodec" = auto
; then
6932 #include <libavcodec/avcodec.h>
6933 int main(void) { avcodec_find_encoder_by_name(""); return 0; }
6935 if $_pkg_config --exists libavcodec
; then
6936 _inc_libavcodec
=$
($_pkg_config --cflags libavcodec
)
6937 _ld_tmp
=$
($_pkg_config --libs libavcodec
)
6938 cc_check
$_inc_libavcodec $_ld_tmp && extra_ldflags
="$extra_ldflags $_ld_tmp" && extra_cflags
="$extra_cflags $_inc_libavcodec" \
6940 elif cc_check
-lavcodec $_ld_lm ; then
6941 extra_ldflags
="$extra_ldflags -lavcodec"
6945 def_libavcodec
='#undef CONFIG_LIBAVCODEC'
6946 test "$_libavcodec" = yes && def_libavcodec
='#define CONFIG_LIBAVCODEC 1'
6947 if test "$_libavcodec" = yes ; then
6948 _codecmodules
="libavcodec $_codecmodules"
6950 _nocodecmodules
="libavcodec $_nocodecmodules"
6952 echores
"$_libavcodec"
6954 echocheck
"FFmpeg libavformat"
6955 if test "$_libavformat" = auto
; then
6958 #include <libavformat/avformat.h>
6959 #include <libavcodec/opt.h>
6960 int main(void) { av_alloc_format_context(); return 0; }
6962 if $_pkg_config --exists libavformat
; then
6963 _inc_libavformat
=$
($_pkg_config --cflags libavformat
)
6964 _ld_tmp
=$
($_pkg_config --libs libavformat
)
6965 cc_check
$_inc_libavformat $_ld_tmp && extra_ldflags
="$extra_ldflags $_ld_tmp" && extra_cflags
="$extra_cflags $_inc_libavformat" \
6967 elif cc_check
$_ld_lm -lavformat ; then
6968 extra_ldflags
="$extra_ldflags -lavformat"
6972 def_libavformat
='#undef CONFIG_LIBAVFORMAT'
6973 test "$_libavformat" = yes && def_libavformat
='#define CONFIG_LIBAVFORMAT 1'
6974 echores
"$_libavformat"
6976 echocheck
"FFmpeg libpostproc"
6977 if test "$_libpostproc" = auto
; then
6980 #include <inttypes.h>
6981 #include <libpostproc/postprocess.h>
6982 int main(void) { pp_get_mode_by_name_and_quality("de", 0); return 0; }
6984 if $_pkg_config --exists libpostproc
; then
6985 _inc_libpostproc
=$
($_pkg_config --cflags libpostproc
)
6986 _ld_tmp
=$
($_pkg_config --libs libpostproc
)
6987 cc_check
$_inc_libpostproc $_ld_tmp && extra_ldflags
="$extra_ldflags $_ld_tmp" && extra_cflags
="$extra_cflags $_inc_libpostproc" \
6989 elif cc_check
-lpostproc $_ld_lm ; then
6990 extra_ldflags
="$extra_ldflags -lpostproc"
6994 def_libpostproc
='#undef CONFIG_LIBPOSTPROC'
6995 test "$_libpostproc" = yes && def_libpostproc
='#define CONFIG_LIBPOSTPROC 1'
6996 echores
"$_libpostproc"
6998 echocheck
"FFmpeg libswscale"
6999 if test "$_libswscale" = auto
; then
7002 #include <libswscale/swscale.h>
7003 int main(void) { sws_scale(0, 0, 0, 0, 0, 0, 0); return 0; }
7005 if $_pkg_config --exists libswscale
; then
7006 _inc_libswscale
=$
($_pkg_config --cflags libswscale
)
7007 _ld_tmp
=$
($_pkg_config --libs libswscale
)
7008 cc_check
$_inc_libswscale $_ld_tmp && extra_ldflags
="$extra_ldflags $_ld_tmp" extra_cflags
="$extra_cflags $_inc_libswscale" \
7010 elif cc_check
-lswscale ; then
7011 extra_ldflags
="$extra_ldflags -lswscale"
7015 def_libswscale
='#undef CONFIG_LIBSWSCALE'
7016 test "$_libswscale" = yes && def_libswscale
='#define CONFIG_LIBSWSCALE 1'
7017 echores
"$_libswscale"
7019 def_libswscale_internals
="#undef CONFIG_LIBSWSCALE_INTERNALS"
7020 if ! test -z "$_ffmpeg_source" ; then
7021 test "$_libswscale" = yes && def_libswscale_internals
="#define CONFIG_LIBSWSCALE_INTERNALS 1" && _libswscale_internals
=yes
7024 def_libavcodec_internals
="#undef CONFIG_LIBAVCODEC_INTERNALS"
7025 if ! test -z "$_ffmpeg_source" ; then
7026 test "$_libavcodec" = yes && def_libavcodec_internals
="#define CONFIG_LIBAVCODEC_INTERNALS 1" && _libavcodec_internals
=yes
7029 echocheck
"libdv-0.9.5+"
7030 if test "$_libdv" = auto
; then
7033 #include <libdv/dv.h>
7034 int main(void) { dv_encoder_t* enc=dv_encoder_new(1,1,1); return 0; }
7036 cc_check
-ldv $_ld_pthread $_ld_lm && _libdv
=yes
7038 if test "$_libdv" = yes ; then
7039 def_libdv
='#define CONFIG_LIBDV095 1'
7040 extra_ldflags
="$extra_ldflags -ldv"
7041 _codecmodules
="libdv $_codecmodules"
7043 def_libdv
='#undef CONFIG_LIBDV095'
7044 _nocodecmodules
="libdv $_nocodecmodules"
7050 if test "$_xvid" = auto
; then
7054 int main(void) { xvid_global(0, 0, 0, 0); return 0; }
7056 for _ld_tmp
in "-lxvidcore $_ld_lm" "-lxvidcore $_ld_lm $_ld_pthread" ; do
7057 cc_check
$_ld_tmp && extra_ldflags
="$extra_ldflags $_ld_tmp" && _xvid
=yes && break
7061 if test "$_xvid" = yes ; then
7062 def_xvid
='#define CONFIG_XVID4 1'
7063 _codecmodules
="xvid $_codecmodules"
7065 def_xvid
='#undef CONFIG_XVID4'
7066 _nocodecmodules
="xvid $_nocodecmodules"
7071 if test "$_x264" = auto
; then
7073 #include <inttypes.h>
7076 #error We do not support old versions of x264. Get the latest from git.
7078 int main(void) { x264_encoder_open((void*)0); return 0; }
7081 for _ld_x264
in "-lx264 $_ld_pthread" "-lx264 $_ld_pthread $_ld_lm" ; do
7082 cc_check
$_ld_x264 && libs_mencoder
="$libs_mencoder $_ld_x264" && _x264
=yes && break
7086 if test "$_x264" = yes ; then
7087 def_x264
='#define CONFIG_X264 1'
7088 _codecmodules
="x264 $_codecmodules"
7090 def_x264
='#undef CONFIG_X264'
7091 _nocodecmodules
="x264 $_nocodecmodules"
7096 if test "$_libnut" = auto
; then
7100 #include <inttypes.h>
7102 nut_context_tt * nut;
7103 int main(void) { (void)nut_error(0); return 0; }
7106 cc_check
-lnut && _libnut
=yes
7109 if test "$_libnut" = yes ; then
7110 def_libnut
='#define CONFIG_LIBNUT 1'
7111 extra_ldflags
="$extra_ldflags -lnut"
7113 def_libnut
='#undef CONFIG_LIBNUT'
7117 # These VO checks must be done after libavcodec/libswscale one
7118 echocheck
"/dev/mga_vid"
7119 if test "$_mga" = auto
; then
7121 test -c /dev
/mga_vid
&& _mga
=yes
7123 if test "$_mga" = yes ; then
7124 if test "$_libswscale_internals" = yes ; then
7125 def_mga
='#define CONFIG_MGA 1'
7126 _vomodules
="mga $_vomodules"
7128 _res_comment
="libswscale internal headers are required by mga, sorry"
7129 def_mga
='#undef CONFIG_MGA'
7130 _novomodules
="mga $_novomodules"
7133 def_mga
='#undef CONFIG_MGA'
7134 _novomodules
="mga $_novomodules"
7140 if test "$_xmga" = auto
; then
7142 test "$_x11" = yes && test "$_mga" = yes && _xmga
=yes
7144 if test "$_xmga" = yes ; then
7145 if test "$_libswscale_internals" = yes ; then
7146 def_xmga
='#define CONFIG_XMGA 1'
7147 _vomodules
="xmga $_vomodules"
7149 _res_comment
="libswscale internal headers are required by mga, sorry"
7150 def_xmga
='#undef CONFIG_XMGA'
7151 _novomodules
="xmga $_novomodules"
7154 def_xmga
='#undef CONFIG_XMGA'
7155 _novomodules
="xmga $_novomodules"
7160 if test "$_zr" = auto
; then
7161 #36067's seem to identify themselves as 36057PQC's, so the line
7162 #below should work for 36067's and 36057's.
7163 if grep -q -s -e "Multimedia video controller: Zoran Corporation ZR36057" /proc
/pci
; then
7169 if test "$_zr" = yes ; then
7170 if test "$_libavcodec_internals" = yes ; then
7171 def_zr
='#define CONFIG_ZR 1'
7172 _vomodules
="zr zr2 $_vomodules"
7174 _res_comment
="libavcodec internal headers are required by zr, sorry"
7175 _novomodules
="zr $_novomodules"
7176 def_zr
='#undef CONFIG_ZR'
7179 def_zr
='#undef CONFIG_ZR'
7180 _novomodules
="zr zr2 $_novomodules"
7184 # mencoder requires (optional) those libs: libmp3lame
7185 if test "$_mencoder" != no
; then
7187 echocheck
"libmp3lame"
7188 def_mp3lame_preset
='#undef CONFIG_MP3LAME_PRESET'
7189 def_mp3lame_preset_medium
='#undef CONFIG_MP3LAME_PRESET_MEDIUM'
7190 if test "$_mp3lame" = auto
; then
7193 #include <lame/lame.h>
7194 int main(void) { lame_version_t lv; (void) lame_init();
7195 get_lame_version_numerical(&lv);
7198 cc_check
-lmp3lame $_ld_lm && _mp3lame
=yes
7200 if test "$_mp3lame" = yes ; then
7201 def_mp3lame
="#define CONFIG_MP3LAME 1"
7202 _ld_mp3lame
=-lmp3lame
7203 libs_mencoder
="$libs_mencoder $_ld_mp3lame"
7205 #include <lame/lame.h>
7206 int main(void) { lame_set_preset(NULL, STANDARD_FAST); return 0; }
7208 cc_check
$_ld_mp3lame $_ld_lm && def_mp3lame_preset
="#define CONFIG_MP3LAME_PRESET 1"
7210 #include <lame/lame.h>
7211 int main(void) { lame_set_preset(NULL, MEDIUM_FAST); return 0; }
7213 cc_check
$_ld_mp3lame $_ld_lm && def_mp3lame_preset_medium
="#define CONFIG_MP3LAME_PRESET_MEDIUM 1"
7215 def_mp3lame
='#undef CONFIG_MP3LAME'
7219 fi # test "$_mencoder" != no
7221 echocheck
"mencoder"
7222 if test "$_mencoder" = yes ; then
7223 def_muxers
='#define CONFIG_MUXERS 1'
7225 def_muxers
='#define CONFIG_MUXERS 0'
7227 echores
"$_mencoder"
7230 echocheck
"UnRAR executable"
7231 if test "$_unrar_exec" = auto
; then
7233 mingw32
&& _unrar_exec
="no"
7235 if test "$_unrar_exec" = yes ; then
7236 def_unrar_exec
='#define CONFIG_UNRAR_EXEC 1'
7238 def_unrar_exec
='#undef CONFIG_UNRAR_EXEC'
7240 echores
"$_unrar_exec"
7242 echocheck
"TV interface"
7243 if test "$_tv" = yes ; then
7244 def_tv
='#define CONFIG_TV 1'
7245 _inputmodules
="tv $_inputmodules"
7247 _noinputmodules
="tv $_noinputmodules"
7248 def_tv
='#undef CONFIG_TV'
7253 if freebsd || netbsd || openbsd || dragonfly || bsdos
; then
7254 echocheck
"*BSD BT848 bt8xx header"
7256 for file in "machine/ioctl_bt848.h" \
7257 "dev/bktr/ioctl_bt848.h" \
7258 "dev/video/bktr/ioctl_bt848.h" \
7259 "dev/ic/bt8xx.h" ; do
7261 #include <sys/types.h>
7262 #include <sys/ioctl.h>
7264 int main(void) { ioctl(0, TVTUNER_GETFREQ, 0); return 0; }
7268 _ioctl_bt848_h_name
="$file"
7272 if test "$_ioctl_bt848_h" = yes ; then
7273 def_ioctl_bt848_h_name
="#define IOCTL_BT848_H_NAME <$_ioctl_bt848_h_name>"
7274 _res_comment
="using $_ioctl_bt848_h_name"
7276 def_ioctl_bt848_h_name
="#undef IOCTL_BT848_H_NAME"
7278 echores
"$_ioctl_bt848_h"
7280 echocheck
"*BSD ioctl_meteor.h"
7282 for file in "machine/ioctl_meteor.h" \
7283 "dev/bktr/ioctl_meteor.h" \
7284 "dev/video/bktr/ioctl_meteor.h" ; do
7286 #include <sys/types.h>
7288 int main(void) { ioctl(0, METEORSINPUT, 0); return 0; }
7292 _ioctl_meteor_h_name
="$file"
7296 if test "$_ioctl_meteor_h" = yes ; then
7297 def_ioctl_meteor_h_name
="#define IOCTL_METEOR_H_NAME <$_ioctl_meteor_h_name>"
7298 _res_comment
="using $_ioctl_meteor_h_name"
7300 def_ioctl_meteor_h_name
="#undef IOCTL_METEOR_H_NAME"
7302 echores
"$_ioctl_meteor_h"
7304 echocheck
"*BSD BrookTree 848 TV interface"
7305 if test "$_tv_bsdbt848" = auto
; then
7307 if test "$_tv" = yes ; then
7309 #include <sys/types.h>
7310 $def_ioctl_meteor_h_name
7311 $def_ioctl_bt848_h_name
7312 #ifdef IOCTL_METEOR_H_NAME
7313 #include IOCTL_METEOR_H_NAME
7315 #ifdef IOCTL_BT848_H_NAME
7316 #include IOCTL_BT848_H_NAME
7319 ioctl(0, METEORSINPUT, 0);
7320 ioctl(0, TVTUNER_GETFREQ, 0);
7324 cc_check
&& _tv_bsdbt848
=yes
7327 if test "$_tv_bsdbt848" = yes ; then
7328 def_tv_bsdbt848
='#define CONFIG_TV_BSDBT848 1'
7329 _inputmodules
="tv-bsdbt848 $_inputmodules"
7331 def_tv_bsdbt848
='#undef CONFIG_TV_BSDBT848'
7332 _noinputmodules
="tv-bsdbt848 $_noinputmodules"
7334 echores
"$_tv_bsdbt848"
7335 fi #if freebsd || netbsd || openbsd || dragonfly || bsdos
7338 echocheck
"DirectShow TV interface"
7339 if test "$_tv_dshow" = auto
; then
7341 if test "$_tv" = yes && win32
; then
7346 CoCreateInstance((GUID*)&GUID_NULL, NULL, CLSCTX_INPROC_SERVER, &GUID_NULL, &p);
7350 cc_check
-lole32 -luuid && _tv_dshow
=yes
7353 if test "$_tv_dshow" = yes ; then
7354 _inputmodules
="tv-dshow $_inputmodules"
7355 def_tv_dshow
='#define CONFIG_TV_DSHOW 1'
7356 extra_ldflags
="$extra_ldflags -lole32 -luuid"
7358 _noinputmodules
="tv-dshow $_noinputmodules"
7359 def_tv_dshow
='#undef CONFIG_TV_DSHOW'
7361 echores
"$_tv_dshow"
7364 echocheck
"Video 4 Linux TV interface"
7365 if test "$_tv_v4l1" = auto
; then
7367 if test "$_tv" = yes && linux
; then
7370 #include <linux/videodev.h>
7371 int main(void) { return 0; }
7373 cc_check
&& _tv_v4l1
=yes
7376 if test "$_tv_v4l1" = yes ; then
7379 def_tv_v4l
='#define CONFIG_TV_V4L 1'
7380 def_tv_v4l1
='#define CONFIG_TV_V4L1 1'
7381 _inputmodules
="tv-v4l $_inputmodules"
7383 _noinputmodules
="tv-v4l1 $_noinputmodules"
7384 def_tv_v4l
='#undef CONFIG_TV_V4L'
7389 echocheck
"Video 4 Linux 2 TV interface"
7390 if test "$_tv_v4l2" = auto
; then
7392 if test "$_tv" = yes && linux
; then
7395 #include <linux/types.h>
7396 #include <linux/videodev2.h>
7397 int main(void) { return 0; }
7399 cc_check
&& _tv_v4l2
=yes
7402 if test "$_tv_v4l2" = yes ; then
7405 def_tv_v4l
='#define CONFIG_TV_V4L 1'
7406 def_tv_v4l2
='#define CONFIG_TV_V4L2 1'
7407 _inputmodules
="tv-v4l2 $_inputmodules"
7409 _noinputmodules
="tv-v4l2 $_noinputmodules"
7410 def_tv_v4l2
='#undef CONFIG_TV_V4L2'
7415 echocheck
"Radio interface"
7416 if test "$_radio" = yes ; then
7417 def_radio
='#define CONFIG_RADIO 1'
7418 _inputmodules
="radio $_inputmodules"
7419 if test "$_alsa9" != yes -a "$_alsa1x" != yes -a "$_ossaudio" != yes ; then
7422 if test "$_radio_capture" = yes ; then
7424 def_radio_capture
="#define CONFIG_RADIO_CAPTURE 1"
7426 def_radio_capture
="#undef CONFIG_RADIO_CAPTURE"
7429 _noinputmodules
="radio $_noinputmodules"
7430 def_radio
='#undef CONFIG_RADIO'
7431 def_radio_capture
="#undef CONFIG_RADIO_CAPTURE"
7435 echocheck
"Capture for Radio interface"
7436 echores
"$_radio_capture"
7438 echocheck
"Video 4 Linux 2 Radio interface"
7439 if test "$_radio_v4l2" = auto
; then
7441 if test "$_radio" = yes && linux
; then
7444 #include <linux/types.h>
7445 #include <linux/videodev2.h>
7446 int main(void) { return 0; }
7448 cc_check
&& _radio_v4l2
=yes
7451 if test "$_radio_v4l2" = yes ; then
7452 def_radio_v4l2
='#define CONFIG_RADIO_V4L2 1'
7454 def_radio_v4l2
='#undef CONFIG_RADIO_V4L2'
7456 echores
"$_radio_v4l2"
7458 echocheck
"Video 4 Linux Radio interface"
7459 if test "$_radio_v4l" = auto
; then
7461 if test "$_radio" = yes && linux
; then
7464 #include <linux/videodev.h>
7465 int main(void) { return 0; }
7467 cc_check
&& _radio_v4l
=yes
7470 if test "$_radio_v4l" = yes ; then
7471 def_radio_v4l
='#define CONFIG_RADIO_V4L 1'
7473 def_radio_v4l
='#undef CONFIG_RADIO_V4L'
7475 echores
"$_radio_v4l"
7477 if freebsd || netbsd || openbsd || dragonfly || bsdos \
7478 && test "$_radio" = yes && test "$_radio_bsdbt848" = auto
; then
7479 echocheck
"*BSD BrookTree 848 Radio interface"
7482 #include <sys/types.h>
7483 $def_ioctl_bt848_h_name
7484 #ifdef IOCTL_BT848_H_NAME
7485 #include IOCTL_BT848_H_NAME
7487 int main(void) { ioctl(0, RADIO_GETFREQ, 0); return 0; }
7489 cc_check
&& _radio_bsdbt848
=yes
7490 echores
"$_radio_bsdbt848"
7491 fi #if freebsd || netbsd || openbsd || dragonfly || bsdos && _radio && _radio_bsdbt848
7493 if test "$_radio_bsdbt848" = yes ; then
7494 def_radio_bsdbt848
='#define CONFIG_RADIO_BSDBT848 1'
7496 def_radio_bsdbt848
='#undef CONFIG_RADIO_BSDBT848'
7499 if test "$_radio_v4l" = no
&& test "$_radio_v4l2" = no
&& \
7500 test "$_radio_bsdbt848" = no
&& test "$_radio" = yes ; then
7501 die
"Radio driver requires BSD BT848, V4L or V4L2!"
7504 echocheck
"Video 4 Linux 2 MPEG PVR interface"
7505 if test "$_pvr" = auto
; then
7507 if test "$_tv_v4l2" = yes && linux
; then
7510 #include <inttypes.h>
7511 #include <linux/types.h>
7512 #include <linux/videodev2.h>
7513 int main(void) { struct v4l2_ext_controls ext; return ext.controls->value; }
7515 cc_check
&& _pvr
=yes
7518 if test "$_pvr" = yes ; then
7519 def_pvr
='#define CONFIG_PVR 1'
7520 _inputmodules
="pvr $_inputmodules"
7522 _noinputmodules
="pvr $_noinputmodules"
7523 def_pvr
='#undef CONFIG_PVR'
7529 if ! beos
&& test "$_ftp" = yes ; then
7530 def_ftp
='#define CONFIG_FTP 1'
7531 _inputmodules
="ftp $_inputmodules"
7533 _noinputmodules
="ftp $_noinputmodules"
7534 def_ftp
='#undef CONFIG_FTP'
7538 echocheck
"vstream client"
7539 if test "$_vstream" = auto
; then
7542 #include <vstream-client.h>
7543 void vstream_error(const char *format, ... ) {}
7544 int main(void) { vstream_start(); return 0; }
7546 cc_check
-lvstream-client && _vstream
=yes
7548 if test "$_vstream" = yes ; then
7549 def_vstream
='#define CONFIG_VSTREAM 1'
7550 _inputmodules
="vstream $_inputmodules"
7551 extra_ldflags
="$extra_ldflags -lvstream-client"
7553 _noinputmodules
="vstream $_noinputmodules"
7554 def_vstream
='#undef CONFIG_VSTREAM'
7559 echocheck
"OSD menu"
7560 if test "$_menu" = yes ; then
7561 def_menu
='#define CONFIG_MENU 1'
7562 test $_dvbin = "yes" && _menu_dvbin
=yes
7564 def_menu
='#undef CONFIG_MENU'
7570 echocheck
"Subtitles sorting"
7571 if test "$_sortsub" = yes ; then
7572 def_sortsub
='#define CONFIG_SORTSUB 1'
7574 def_sortsub
='#undef CONFIG_SORTSUB'
7579 echocheck
"XMMS inputplugin support"
7580 if test "$_xmms" = yes ; then
7581 if ( xmms-config
--version ) >/dev
/null
2>&1 ; then
7582 _xmmsplugindir
=$
(xmms-config
--input-plugin-dir)
7583 _xmmslibdir
=$
(xmms-config
--exec-prefix)/lib
7585 _xmmsplugindir
=/usr
/lib
/xmms
/Input
7586 _xmmslibdir
=/usr
/lib
7589 def_xmms
='#define CONFIG_XMMS 1'
7591 extra_ldflags
="$extra_ldflags ${_xmmslibdir}/libxmms.dylib"
7593 extra_ldflags
="$extra_ldflags ${_xmmslibdir}/libxmms.so.1 -export-dynamic"
7596 def_xmms
='#undef CONFIG_XMMS'
7600 if test "$_charset" != "noconv" ; then
7601 def_charset
="#define MSG_CHARSET \"$_charset\""
7603 def_charset
="#undef MSG_CHARSET"
7607 #############################################################################
7609 echocheck
"automatic gdb attach"
7610 if test "$_crash_debug" = yes ; then
7611 def_crash_debug
='#define CONFIG_CRASH_DEBUG 1'
7613 def_crash_debug
='#undef CONFIG_CRASH_DEBUG'
7616 echores
"$_crash_debug"
7618 echocheck
"compiler support for noexecstack"
7620 int main(void) { return 0; }
7622 if cc_check
-Wl,-z,noexecstack
; then
7623 extra_ldflags
="-Wl,-z,noexecstack $extra_ldflags"
7629 echocheck
"linker support for --nxcompat --no-seh --dynamicbase"
7630 if cc_check
"-Wl,--nxcompat -Wl,--no-seh -Wl,--dynamicbase" ; then
7631 extra_ldflags
="-Wl,--nxcompat -Wl,--no-seh -Wl,--dynamicbase $extra_ldflags"
7638 # Dynamic linking flags
7639 # (FIXME: 'echocheck "dynamic linking"' above and modify here accordingly)
7641 freebsd || netbsd || openbsd || dragonfly || bsdos
&& _ld_dl_dynamic
='-rdynamic'
7642 if test "$_real" = yes ||
test "$_xanim" = yes && ! win32
&& ! qnx
&& ! darwin
&& ! os2
&& ! sunos
; then
7643 _ld_dl_dynamic
='-rdynamic'
7646 extra_ldflags
="$extra_ldflags $_ld_pthread $_ld_dl $_ld_dl_dynamic"
7647 bsdos
&& extra_ldflags
="$extra_ldflags -ldvd"
7648 (netbsd || openbsd
) && x86_32
&& extra_ldflags
="$extra_ldflags -li386"
7650 def_debug
='#undef MP_DEBUG'
7651 test "$_debug" != "" && def_debug
='#define MP_DEBUG 1'
7654 echocheck
"joystick"
7655 def_joystick
='#undef CONFIG_JOYSTICK'
7656 if test "$_joystick" = yes ; then
7658 # TODO add some check
7659 def_joystick
='#define CONFIG_JOYSTICK 1'
7662 _res_comment
="unsupported under $system_name"
7665 echores
"$_joystick"
7668 if test "$_lirc" = auto
; then
7671 #include <lirc/lirc_client.h>
7672 int main(void) { return 0; }
7674 cc_check
-llirc_client && _lirc
=yes
7676 if test "$_lirc" = yes ; then
7677 def_lirc
='#define CONFIG_LIRC 1'
7678 libs_mplayer
="$libs_mplayer -llirc_client"
7680 def_lirc
='#undef CONFIG_LIRC'
7685 if test "$_lircc" = auto
; then
7688 #include <lirc/lircc.h>
7689 int main(void) { return 0; }
7691 cc_check
-llircc && _lircc
=yes
7693 if test "$_lircc" = yes ; then
7694 def_lircc
='#define CONFIG_LIRCC 1'
7695 libs_mplayer
="$libs_mplayer -llircc"
7697 def_lircc
='#undef CONFIG_LIRCC'
7702 # Detect maemo development platform libraries availability (http://www.maemo.org),
7703 # they are used when run on Nokia 770|8x0
7704 echocheck
"maemo (Nokia 770|8x0)"
7705 if test "$_maemo" = auto
; then
7708 #include <libosso.h>
7709 int main(void) { (void) osso_initialize("", "", 0, NULL); return 0; }
7711 cc_check $
($_pkg_config --cflags --libs libosso
2>/dev
/null
) && _maemo
=yes
7713 if test "$_maemo" = yes ; then
7714 def_maemo
='#define CONFIG_MAEMO 1'
7715 extra_cflags
="$extra_cflags $($_pkg_config --cflags libosso)"
7716 extra_ldflags
="$extra_ldflags $($_pkg_config --libs libosso) -lXsp"
7718 def_maemo
='#undef CONFIG_MAEMO'
7723 #############################################################################
7725 # On OS/2 nm supports only a.out. So the -Zomf compiler option to generate
7726 # the OMF format needs to come after the 'extern symbol prefix' check, which
7729 extra_ldflags
="$extra_ldflags -Zomf -Zstack 16384 -Zbin-files -Zargs-wild"
7732 # linker paths should be the same for mencoder and mplayer
7734 for I
in $libs_mplayer ; do
7735 _tmp
=$
(echo $I |
sed -e 's/^-L.*$//')
7736 if test -z "$_tmp" ; then
7737 extra_ldflags
="$extra_ldflags $I"
7739 _ld_tmp
="$_ld_tmp $I"
7742 libs_mplayer
=$_ld_tmp
7745 #############################################################################
7746 # 64 bit file offsets?
7747 if test "$_largefiles" = yes || freebsd
; then
7748 CFLAGS
="$CFLAGS -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
7749 if test "$_dvdread" = yes ||
test "$_libdvdcss_internal" = yes ; then
7750 # dvdread support requires this (for off64_t)
7751 CFLAGS
="$CFLAGS -D_LARGEFILE64_SOURCE"
7755 CXXFLAGS
=" $CFLAGS -Iffmpeg -D__STDC_LIMIT_MACROS"
7757 # This must be the last test to be performed. Any other tests following it
7758 # could fail due to linker errors. libdvdnavmini is intentionally not linked
7759 # against libdvdread (to permit MPlayer to use its own copy of the library).
7760 # So any compilation using the flags added here but not linking against
7761 # libdvdread can fail.
7762 echocheck
"DVD support (libdvdnav)"
7763 if test "$_dvdread_internal" = yes && test ! -f "libdvdnav/dvdnav.c" ; then
7767 if test "$_dvdnav" = auto
; then
7768 if test "$_dvdread_internal" = yes ; then
7771 _res_comment
="internal"
7773 $_dvdnavconfig --version --minilibs >> $TMPLOG 2>&1 || _dvdnav
=no
7776 if test "$_dvdnav" = auto
; then
7778 #include <inttypes.h>
7779 #include <dvdnav/dvdnav.h>
7780 int main(void) { dvdnav_t *dvd=0; return 0; }
7783 _dvdnavdir
=$
($_dvdnavconfig --cflags)
7784 _dvdnavlibs
=$
($_dvdnavconfig --libs)
7785 cc_check
$_dvdnavdir $_dvdnavlibs $_ld_dl $_ld_pthread && _dvdnav
=yes
7787 if test "$_dvdnav" = yes ; then
7789 def_dvdnav
='#define CONFIG_DVDNAV 1'
7790 if test "$dvdnav_internal" = yes ; then
7791 cflags_libdvdnav
="-Ilibdvdnav"
7792 _inputmodules
="dvdnav(internal) $_inputmodules"
7794 extra_cflags
="$extra_cflags $($_dvdnavconfig --cflags)"
7795 extra_ldflags
="$extra_ldflags $($_dvdnavconfig --minilibs)"
7796 _inputmodules
="dvdnav $_inputmodules"
7799 def_dvdnav
='#undef CONFIG_DVDNAV'
7800 _noinputmodules
="dvdnav $_noinputmodules"
7804 # DO NOT ADD ANY TESTS THAT USE LINKER FLAGS HERE (like cc_check).
7805 # Read dvdnav comment above.
7807 #############################################################################
7808 echo "Creating config.mak"
7809 cat > config.mak
<< EOF
7810 # -------- Generated by configure -----------
7812 # Ensure that locale settings do not interfere with shell commands.
7815 CONFIGURATION = $_configuration
7818 DOC_LANGS = $language_doc
7819 DOC_LANG_ALL = $doc_lang_all
7820 MAN_LANGS = $language_man
7821 MAN_LANG_ALL = $man_lang_all
7823 prefix = \$(DESTDIR)$_prefix
7824 BINDIR = \$(DESTDIR)$_bindir
7825 DATADIR = \$(DESTDIR)$_datadir
7826 LIBDIR = \$(DESTDIR)$_libdir
7827 MANDIR = \$(DESTDIR)$_mandir
7828 CONFDIR = \$(DESTDIR)$_confdir
7829 LOCALEDIR = \$(DESTDIR)$_localedir
7838 INSTALLSTRIP = $_install_strip
7842 CFLAGS = $CFLAGS $extra_cflags
7843 CXXFLAGS = $CXXFLAGS $extra_cflags $extra_cxxflags
7844 CFLAGS_DHAHELPER = $cflags_dhahelper
7845 CFLAGS_FAAD_FIXED = $cflags_faad_fixed
7846 CFLAGS_LIBDVDCSS = $cflags_libdvdcss
7847 CFLAGS_LIBDVDCSS_DVDREAD = $cflags_libdvdcss_dvdread
7848 CFLAGS_LIBDVDNAV = $cflags_libdvdnav
7849 CFLAGS_NO_OMIT_LEAF_FRAME_POINTER = $cflags_no_omit_leaf_frame_pointer
7850 CFLAGS_STACKREALIGN = $cflags_stackrealign
7851 CFLAGS_SVGALIB_HELPER = $cflags_svgalib_helper
7852 CFLAGS_TREMOR_LOW = $cflags_tremor_low
7853 YASMFLAGS = $YASMFLAGS
7855 EXTRALIBS = $extra_ldflags $_ld_static $_ld_lm $extra_libs
7856 EXTRALIBS_MPLAYER = $libs_mplayer
7857 EXTRALIBS_MENCODER = $libs_mencoder
7859 MPDEPEND_CMD = \$(CC) -MM \$(CFLAGS) \$(filter-out %.xpm,\$(filter-out %.h,$^)) | sed -e "s,[0-9a-z._-]*: \([a-z0-9/]*/\)[^/]* ,\1&," -e "s,\(.*\)\.o: ,\1.d &,"
7860 MPDEPEND_CMD_CXX = \$(CC) -MM \$(CXXFLAGS) \$(filter-out %.hh,\$(filter-out %.h,$^)) | sed -e "s,[0-9a-z._-]*: \([a-z0-9/]*/\)[^/]* ,\1&," -e "s,\(.*\)\.o: ,\1.d &,"
7870 $(echo $_cpuexts | tr '[a-z] ' '[A-Z]\n' | sed 's/^/HAVE_/;s/$/=yes/')
7872 MENCODER = $_mencoder
7875 NEED_GETTIMEOFDAY = $_need_gettimeofday
7876 NEED_GLOB = $_need_glob
7877 NEED_MMAP = $_need_mmap
7878 NEED_SETENV = $_need_setenv
7879 NEED_SHMEM = $_need_shmem
7880 NEED_STRSEP = $_need_strsep
7881 NEED_SWAB = $_need_swab
7882 NEED_VSSCANF = $_need_vsscanf
7890 APPLE_IR = $_apple_ir
7891 APPLE_REMOTE = $_apple_remote
7893 AUDIO_INPUT = $_audio_input
7894 BITMAP_FONT = $_bitmap_font
7899 COREAUDIO = $_coreaudio
7900 COREVIDEO = $_corevideo
7904 DIRECT3D = $_direct3d
7905 DIRECTFB = $_directfb
7909 DVDNAV_INTERNAL = $dvdnav_internal
7911 DVDREAD_INTERNAL = $_dvdread_internal
7917 FAAD_INTERNAL = $_faad_internal
7918 FASTMEMCPY = $_fastmemcpy
7920 FREETYPE = $_freetype
7925 GL_WIN32 = $_gl_win32
7927 MATRIXVIEW = $matrixview
7928 HAVE_POSIX_SELECT = $_posix_select
7929 HAVE_SYS_MMAN_H = $_mman
7932 JOYSTICK = $_joystick
7938 LIBA52_INTERNAL = $_liba52_internal
7943 LIBDVDCSS_INTERNAL = $_libdvdcss_internal
7947 LIBMENU_DVBIN = $_menu_dvbin
7948 LIBMPEG2 = $_libmpeg2
7949 LIBNEMESI = $_nemesi
7951 LIBSMBCLIENT = $_smb
7952 LIBTHEORA = $_theora
7955 MACOSX_BUNDLE = $_macosx_bundle
7956 MACOSX_FINDER = $_macosx_finder
7962 MUSEPACK = $_musepack
7964 NATIVE_RTSP = $_native_rtsp
7968 PE_EXECUTABLE = $_pe_executable
7971 PRIORITY = $_priority
7975 QTX_CODECS_WIN32 = $_qtx_codecs_win32
7976 QTX_EMULATION = $_qtx_emulation
7979 RADIO_CAPTURE=$_radio_capture
7980 REAL_CODECS = $_real
7984 STREAM_CACHE = $_stream_cache
7985 SGIAUDIO = $_sgiaudio
7986 SUNAUDIO = $_sunaudio
7992 TREMOR_INTERNAL = $_tremor_internal
7994 TV_BSDBT848 = $_tv_bsdbt848
7995 TV_DSHOW = $_tv_dshow
8000 UNRAR_EXEC = $_unrar_exec
8006 VIDIX_PCIDB = $_vidix_pcidb_val
8007 VIDIX_CYBERBLADE=$_vidix_drv_cyberblade
8008 VIDIX_IVTV=$_vidix_drv_ivtv
8009 VIDIX_MACH64=$_vidix_drv_mach64
8010 VIDIX_MGA=$_vidix_drv_mga
8011 VIDIX_MGA_CRTC2=$_vidix_drv_mga_crtc2
8012 VIDIX_NVIDIA=$_vidix_drv_nvidia
8013 VIDIX_PM2=$_vidix_drv_pm2
8014 VIDIX_PM3=$_vidix_drv_pm3
8015 VIDIX_RADEON=$_vidix_drv_radeon
8016 VIDIX_RAGE128=$_vidix_drv_rage128
8017 VIDIX_S3=$_vidix_drv_s3
8018 VIDIX_SH_VEU=$_vidix_drv_sh_veu
8019 VIDIX_SIS=$_vidix_drv_sis
8020 VIDIX_UNICHROME=$_vidix_drv_unichrome
8024 WIN32DLL = $_win32dll
8025 WIN32WAVEOUT = $_win32waveout
8026 WIN32_EMULATION = $_win32_emulation
8027 WINVIDIX = $winvidix
8030 XANIM_CODECS = $_xanim
8032 XMMS_PLUGINS = $_xmms
8038 YUV4MPEG = $_yuv4mpeg
8042 LIBAVUTIL = $_libavutil
8043 LIBAVCODEC = $_libavcodec
8044 LIBAVFORMAT = $_libavformat
8045 LIBPOSTPROC = $_libpostproc
8046 LIBSWSCALE = $_libswscale
8047 LIBAVCODEC_INTERNALS = $_libavcodec_internals
8048 LIBSWSCALE_INTERNALS = $_libswscale_internals
8049 FFMPEG_SOURCE_PATH = $_ffmpeg_source
8051 # Some FFmpeg codecs depend on these. Enable them unconditionally for now.
8054 CONFIG_FFT_MMX=$fft_mmx
8063 CONFIG_MLIB = $_mlib
8064 CONFIG_MUXERS=$_mencoder
8065 CONFIG_VDPAU=$_vdpau
8069 HAVE_PTHREADS = $_pthreads
8071 HAVE_W32THREADS = $_w32threads
8072 HAVE_YASM = $_have_yasm
8076 #############################################################################
8078 ff_config_enable
() {
8080 test -z "$_nprefix" && _nprefix
='CONFIG'
8082 if $
(echo $2 |
grep -q -E "(^| )$part($| )"); then
8083 echo "#define ${_nprefix}_$part 1"
8085 echo "#define ${_nprefix}_$part 0"
8090 echo "Creating config.h"
8092 /*----------------------------------------------------------------------------
8093 ** This file has been automatically generated by configure any changes in it
8094 ** will be lost when you run configure again.
8095 ** Instead of modifying definitions here, use the --enable/--disable options
8096 ** of the configure script! See ./configure --help for details.
8097 *---------------------------------------------------------------------------*/
8099 #ifndef MPLAYER_CONFIG_H
8100 #define MPLAYER_CONFIG_H
8102 /* Undefine this if you do not want to select mono audio (left or right)
8103 with a stereo MPEG layer 2/3 audio stream. The command line option
8104 -stereo has three possible values (0 for stereo, 1 for left-only, 2 for
8105 right-only), with 0 being the default.
8107 #define CONFIG_FAKE_MONO 1
8109 /* set up audio OUTBURST. Do not change this! */
8110 #define OUTBURST 512
8112 /* Enable fast OSD/SUB renderer (looks ugly, but uses less CPU power) */
8114 #undef FAST_OSD_TABLE
8116 /* Define this to enable MPEG-1/2 image postprocessing in libmpeg2 */
8117 #define MPEG12_POSTPROC 1
8118 #define ATTRIBUTE_ALIGNED_MAX 16
8122 #define CONFIGURATION "$_configuration"
8124 #define MPLAYER_DATADIR "$_datadir"
8125 #define MPLAYER_CONFDIR "$_confdir"
8126 #define MPLAYER_LIBDIR "$_libdir"
8127 #define MPLAYER_LOCALEDIR "$_localedir"
8131 /* definitions needed by included libraries */
8132 #define HAVE_INTTYPES_H 1
8133 /* libmpeg2 + FFmpeg */
8136 #define HAVE_ERRNO_H 1
8137 /* libdvdcss + libdvdread */
8138 #define HAVE_LIMITS_H 1
8139 /* libdvdcss + libfaad2 */
8140 #define HAVE_UNISTD_H 1
8141 /* libfaad2 + libdvdread */
8142 #define STDC_HEADERS 1
8143 #define HAVE_MEMCPY 1
8145 #define HAVE_STRING_H 1
8146 #define HAVE_STRINGS_H 1
8147 #define HAVE_SYS_STAT_H 1
8148 #define HAVE_SYS_TYPES_H 1
8150 #define READ_CACHE_TRACE 0
8152 #define HAVE_DLFCN_H 1
8156 /* system headers */
8158 $def_alsa_asoundlib_h
8162 $def_mman_has_map_failed
8164 $def_sys_asoundlib_h
8165 $def_sys_soundcard_h
8172 /* system functions */
8195 /* system-specific features */
8210 $def_restrict_keyword
8215 /* configurable options */
8219 $def_dynamic_plugins
8222 $def_runtime_cpudetection
8230 #define __CPU__ $iproc
8233 $(ff_config_enable "$_arch_all" "$_arch" "ARCH")
8234 $(ff_config_enable "$_cpuexts_all" "$_cpuexts" "HAVE")
8238 #define DEFAULT_CDROM_DEVICE "$default_cdrom_device"
8239 #define DEFAULT_DVD_DEVICE "$default_dvd_device"
8259 /* codec libraries */
8264 $def_liba52_internal
8272 $def_mp3lame_preset_medium
8295 #define WIN32_PATH "$_win32codecsdir"
8299 #define XMMS_INPUT_PLUGIN_DIR "$_xmmsplugindir"
8302 /* Audio output drivers */
8318 $def_ossaudio_devdsp
8319 $def_ossaudio_devmixer
8332 $def_ioctl_bt848_h_name
8333 $def_ioctl_meteor_h_name
8386 $def_directfb_version
8423 $def_vidix_drv_cyberblade
8425 $def_vidix_drv_mach64
8427 $def_vidix_drv_mga_crtc2
8428 $def_vidix_drv_nvidia
8430 $def_vidix_drv_radeon
8431 $def_vidix_drv_rage128
8433 $def_vidix_drv_sh_veu
8435 $def_vidix_drv_unichrome
8458 $def_libavcodec_internals
8459 $def_libswscale_internals
8461 #define CONFIG_DECODERS 1
8462 #define CONFIG_ENCODERS 1
8463 #define CONFIG_DEMUXERS 1
8491 #define CONFIG_FASTDIV 0
8492 #define CONFIG_FFSERVER 0
8493 #define CONFIG_GPL 1
8494 #define CONFIG_GRAY 0
8495 #define CONFIG_HARDCODED_TABLES 0
8496 #define CONFIG_LIBVORBIS 0
8497 #define CONFIG_POWERPC_PERF 0
8498 #define CONFIG_SMALL 0
8499 #define CONFIG_SWSCALE 1
8500 #define CONFIG_SWSCALE_ALPHA 1
8502 #define HAVE_ATTRIBUTE_PACKED 1
8503 #define HAVE_GETHRTIME 0
8504 #define HAVE_INLINE_ASM 1
8505 #define HAVE_LDBRX 0
8506 #define HAVE_POLL_H 1
8507 #define HAVE_PPC4XX 0
8508 #define HAVE_VFP_ARGS 1
8509 #define HAVE_VIRTUALALLOC 0
8511 /* Some FFmpeg codecs depend on these. Enable them unconditionally for now. */
8512 #define CONFIG_AANDCT 1
8513 #define CONFIG_FFT 1
8514 #define CONFIG_GOLOMB 1
8515 #define CONFIG_LPC 1
8516 #define CONFIG_MDCT 1
8517 #define CONFIG_RDFT 1
8519 /* Use these registers in FFmpeg x86 inline asm. No proper detection yet. */
8522 #define HAVE_EBP_AVAILABLE 1
8524 #define HAVE_EBP_AVAILABLE 0
8527 #define CONFIG_H263_VAAPI_HWACCEL 0
8528 #define CONFIG_MPEG2_VAAPI_HWACCEL 0
8529 #define CONFIG_MPEG4_VAAPI_HWACCEL 0
8530 #define CONFIG_H264_VAAPI_HWACCEL 0
8531 #define CONFIG_VC1_VAAPI_HWACCEL 0
8532 #define CONFIG_WMV3_VAAPI_HWACCEL 0
8534 #endif /* MPLAYER_CONFIG_H */
8537 # Do not overwrite an unchanged config.h to avoid superfluous rebuilds.
8538 cmp -s "$TMPH" config.h ||
mv -f "$TMPH" config.h
8540 #############################################################################
8542 .
/version.sh
`$_cc -dumpversion`
8546 Config files successfully generated by ./configure $_configuration !
8548 Install prefix: $_prefix
8549 Data directory: $_datadir
8550 Config direct.: $_confdir
8552 Byte order: $_byte_order
8553 Optimizing for: $_optimizing
8556 Manual pages: $language_man
8557 Documentation: $language_doc
8559 Enabled optional drivers:
8560 Input: $_inputmodules
8561 Codecs: $_codecmodules
8562 Audio output: $_aomodules
8563 Video output: $_vomodules
8565 Disabled optional drivers:
8566 Input: $_noinputmodules
8567 Codecs: $_nocodecmodules
8568 Audio output: $_noaomodules
8569 Video output: $_novomodules
8571 'config.h' and 'config.mak' contain your configuration options.
8572 Note: If you alter theses files (for instance CFLAGS) MPlayer may no longer
8573 compile *** DO NOT REPORT BUGS if you tweak these files ***
8575 'make' will now compile MPlayer and 'make install' will install it.
8576 Note: On non-Linux systems you might need to use 'gmake' instead of 'make'.
8581 if test "$_mtrr" = yes ; then
8582 echo "Please check mtrr settings at /proc/mtrr (see DOCS/HTML/$doc_lang/video.html#mtrr)"
8588 NOTE: Win32 codec DLLs are not supported on your CPU ($host_arch) or your
8589 operating system ($system_name). You may encounter a few files that cannot
8590 be played due to missing open source video/audio codec support.
8597 Check $TMPLOG if you wonder why an autodetection failed (make sure
8598 development headers/packages are installed).
8600 NOTE: The --enable-* parameters unconditionally force options on, completely
8601 skipping autodetection. This behavior is unlike what you may be used to from
8602 autoconf-based configure scripts that can decide to override you. This greater
8603 level of control comes at a price. You may have to provide the correct compiler
8604 and linker flags yourself.
8605 If you used one of these options (except --enable-menu and similar ones that
8606 turn on internal features) and experience a compilation or linking failure,
8607 make sure you have passed the necessary compiler/linker flags to configure.
8609 If you suspect a bug, please read DOCS/HTML/$doc_lang/bugreports.html.
8613 if test "$_warn_CFLAGS" = yes; then
8616 MPlayer compilation will use the CPPFLAGS/CFLAGS/LDFLAGS/YASMFLAGS set by you,
8619 *** *** DO NOT REPORT BUGS IF IT DOES NOT COMPILE/WORK! *** ***
8621 It is strongly recommended to let MPlayer choose the correct CFLAGS!
8622 To do so, execute 'CFLAGS= ./configure <options>'
8628 rm -f "$TMPEXE" "$TMPC" "$TMPS" "$TMPCPP" "$TMPH"