3 # Original version (C) 2000 Pontscho/fresh!mindworkz
4 # pontscho@makacs.poliod.hu
6 # History / Contributors: check the cvs log !
8 # Cleanups all over the place (c) 2001 pl
11 # This configure script is *not* autoconf-based and has different semantics.
12 # It attempts to autodetect all settings and options where possible. It is
13 # possible to override autodetection with the --enable-option/--disable-option
14 # command line parameters. --enable-option forces the option on skipping
15 # autodetection. Yes, this means that compilation may fail and yes, this is not
16 # how autoconf-based configure scripts behave.
18 # configure generates a series of configuration files:
19 # - config.h contains #defines that are used in the C code.
20 # - config.mak is included from the Makefiles.
22 # If you want to add a new check for $feature, here is a simple skeleton:
24 # echocheck "$feature"
25 # if "$_feature" = auto; then
27 # #include <feature.h>
28 # int main(void) { return 0; }
31 # cc_check && _feature=yes
32 # if test "$_feature" = yes ; then
33 # _def_feature='#define HAVE_FEATURE 1'
35 # _def_feature='#undef HAVE_FEATURE'
39 # Furthermore you need to add the variable _feature to the list of default
40 # settings and set it to one of yes/no/auto. Also add appropriate
41 # --enable-feature/--disable-feature command line options.
42 # The results of the check should be written to config.h and config.mak
43 # at the end of this script. The variable names used for this should be
44 # uniform, i.e. if the option is named 'feature':
46 # _feature : should have a value of yes/no/auto
47 # _def_feature : '#define ... 1' or '#undef ...' for conditional compilation
48 # _ld_feature : '-L/path/dir -lfeature' GCC options
50 #############################################################################
52 # Prevent locale nonsense from breaking basic text processing utils
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 $_inc_extra $_ld_static $_ld_extra $_libs_mplayer $_libs_mencoder -o $TMPEXE $@" >> "$TMPLOG"
67 $_cc $CFLAGS $_inc_extra $_ld_static $_ld_extra $_libs_mplayer $_libs_mencoder -o "$TMPEXE" "$@" >> "$TMPLOG" 2>&1
75 compile_check
$TMPC $@
79 compile_check
$TMPCPP $@
-lstdc++
83 "$TMPEXE" >> "$TMPLOG" 2>&1
86 # Display error message, flushes tempfile, exit
91 rm -f "$TMPEXE" "$TMPC" "$TMPS" "$TMPCPP"
92 echo "Check \"$TMPLOG\" if you do not understand why it failed."
96 # OS test booleans functions
98 test "`echo $system_name | tr A-Z a-z`" = "`echo $1 | tr A-Z a-z`"
100 linux
() { issystem
"Linux" || issystem
"uClinux" ; return "$?" ; }
101 sunos
() { issystem
"SunOS" ; return "$?" ; }
102 hpux
() { issystem
"HP-UX" ; return "$?" ; }
103 irix
() { issystem
"IRIX" ; return "$?" ; }
104 aix
() { issystem
"AIX" ; return "$?" ; }
105 cygwin
() { issystem
"CYGWIN" ; return "$?" ; }
106 freebsd
() { issystem
"FreeBSD" || issystem
"GNU/kFreeBSD"; return "$?" ; }
107 netbsd
() { issystem
"NetBSD" ; return "$?" ; }
108 bsdos
() { issystem
"BSD/OS" ; return "$?" ; }
109 openbsd
() { issystem
"OpenBSD" ; return "$?" ; }
110 dragonfly
() { issystem
"DragonFly" ; return "$?" ; }
111 qnx
() { issystem
"QNX" ; return "$?" ; }
112 darwin
() { issystem
"Darwin" ; return "$?" ; }
113 gnu
() { issystem
"GNU" ; return "$?" ; }
114 mingw32
() { issystem
"MINGW32" ; return "$?" ; }
115 morphos
() { issystem
"MorphOS" ; return "$?" ; }
116 amigaos
() { issystem
"AmigaOS" ; return "$?" ; }
117 win32
() { cygwin || mingw32
; return "$?" ; }
118 beos
() { issystem
"BEOS" ; return "$?" ; }
119 os2
() { issystem
"OS/2" ; return "$?" ; }
121 # arch test boolean functions
122 # x86/x86pc is used by QNX
125 i
[3-9]86|x86|x86pc|k5|k6|k6-2|k6-3|pentium
*|athlon
*|i586-i686
) return 0 ;;
132 x86_64|amd64
) return 0 ;;
143 ppc|powerpc
) return 0;;
169 # Use this before starting a check
171 echo "============ Checking for $@ ============" >> "$TMPLOG"
172 echo ${_echo_n} "Checking for $@ ... ${_echo_c}"
175 # Use this to echo the results of a check
177 if test "$_res_comment" ; then
178 _res_comment
="($_res_comment)"
180 echo "Result is: $@ $_res_comment" >> "$TMPLOG"
181 echo "##########################################" >> "$TMPLOG"
183 echo "$@ $_res_comment"
186 #############################################################################
188 # Check how echo works in this /bin/sh
190 -n) _echo_n
= _echo_c
='\c' ;; # SysV echo
191 *) _echo_n
='-n ' _echo_c
= ;; # BSD echo
194 msg_langs
=`echo help/help_mp-??.h help/help_mp-??_??.h | sed -e "s:help/help_mp-\(..\).h:\1:g" -e "s:help/help_mp-\(.....\).h:\1:g"`
195 man_langs
=`echo DOCS/man/??/mplayer.1 | sed -e "s:DOCS/man/\(..\)/mplayer.1:\1:g"`
196 doc_langs
=`echo DOCS/xml/??/ DOCS/xml/??_??/ | sed -e "s:DOCS/xml/\(..\)/:\1:g" -e "s:DOCS/xml/\(.._..\)/:\1:g"`
200 Usage: $0 [OPTIONS]...
203 -h, --help display this help and exit
205 Installation directories:
206 --prefix=DIR prefix directory for installation [/usr/local]
207 --bindir=DIR directory for installing binaries [PREFIX/bin]
208 --datadir=DIR directory for installing machine independent
209 data files (skins, etc) [PREFIX/share/mplayer]
210 --mandir=DIR directory for installing man pages [PREFIX/share/man]
211 --confdir=DIR directory for installing configuration files
213 --libdir=DIR directory for object code libraries [PREFIX/lib]
214 --codecsdir=DIR directory for binary codecs [LIBDIR/codecs]
215 --win32codecsdir=DIR directory for Windows DLLs [LIBDIR/codecs]
216 --xanimcodecsdir=DIR directory for XAnim codecs [LIBDIR/codecs]
217 --realcodecsdir=DIR directory for RealPlayer codecs [LIBDIR/codecs]
220 --disable-mencoder disable MEncoder (A/V encoder) compilation [enable]
221 --disable-mplayer disable MPlayer compilation [enable]
222 --enable-gui enable GMPlayer compilation (GTK+ GUI) [disable]
223 --enable-gtk1 force using GTK 1.2 for the GUI [disable]
224 --disable-largefiles disable support for files > 2GB [enable]
225 --enable-linux-devfs set default devices to devfs [disable]
226 --enable-termcap use termcap database for key codes [autodetect]
227 --enable-termios use termios database for key codes [autodetect]
228 --disable-iconv disable iconv for encoding conversion [autodetect]
229 --disable-langinfo do not use langinfo [autodetect]
230 --enable-lirc enable LIRC (remote control) support [autodetect]
231 --enable-lircc enable LIRCCD (LIRC client daemon) input [autodetect]
232 --enable-joystick enable joystick support [disable]
233 --enable-apple-remote enable Apple Remote input (Mac OS X only) [autodetect]
234 --enable-apple-ir enable Apple IR Remote input (Linux only) [autodetect]
235 --disable-vm disable X video mode extensions [autodetect]
236 --disable-xf86keysym disable support for multimedia keys [autodetect]
237 --enable-radio enable radio interface [disable]
238 --enable-radio-capture enable radio capture (through PCI/line-in) [disable]
239 --disable-radio-v4l2 disable Video4Linux2 radio interface [autodetect]
240 --disable-radio-bsdbt848 disable BSD BT848 radio interface [autodetect]
241 --disable-tv disable TV interface (TV/DVB grabbers) [enable]
242 --disable-tv-v4l1 disable Video4Linux TV interface [autodetect]
243 --disable-tv-v4l2 disable Video4Linux2 TV interface [autodetect]
244 --disable-tv-bsdbt848 disable BSD BT848 interface [autodetect]
245 --disable-tv-teletext disable TV teletext interface [autodetect]
246 --disable-pvr disable Video4Linux2 MPEG PVR [autodetect]
247 --disable-rtc disable RTC (/dev/rtc) on Linux [autodetect]
248 --disable-network disable networking [enable]
249 --enable-winsock2 enable winsock2 [autodetect]
250 --enable-smb enable Samba (SMB) input [autodetect]
251 --enable-live enable LIVE555 Streaming Media [autodetect]
252 --enable-nemesi enable Nemesi Streaming Media [autodetect]
253 --disable-dvdnav disable libdvdnav [autodetect]
254 --disable-dvdread disable libdvdread [autodetect]
255 --disable-dvdread-internal disable internal libdvdread [autodetect]
256 --disable-libdvdcss-internal disable internal libdvdcss [autodetect]
257 --disable-cdparanoia disable cdparanoia [autodetect]
258 --disable-cddb disable cddb [autodetect]
259 --disable-bitmap-font disable bitmap font support [enable]
260 --disable-freetype disable FreeType 2 font rendering [autodetect]
261 --disable-fontconfig disable fontconfig font lookup [autodetect]
262 --disable-unrarexec disable using of UnRAR executable [enabled]
263 --enable-menu enable OSD menu (not DVD menu) [disabled]
264 --disable-sortsub disable subtitle sorting [enabled]
265 --enable-fribidi enable the FriBiDi libs [autodetect]
266 --disable-enca disable ENCA charset oracle library [autodetect]
267 --disable-macosx disable Mac OS X specific features [autodetect]
268 --disable-maemo disable maemo specific features [autodetect]
269 --enable-macosx-finder-support enable Mac OS X Finder invocation
270 parameter parsing [disabled]
271 --enable-macosx-bundle enable Mac OS X bundle file locations [autodetect]
272 --disable-inet6 disable IPv6 support [autodetect]
273 --disable-gethostbyname2 gethostbyname2 part of the C library [autodetect]
274 --disable-ftp disable FTP support [enabled]
275 --disable-vstream disable TiVo vstream client support [autodetect]
276 --disable-pthreads disable Posix threads support [autodetect]
277 --disable-w32threads disable Win32 threads support [autodetect]
278 --disable-ass disable internal SSA/ASS subtitle support [autodetect]
279 --enable-rpath enable runtime linker path for extra libs [disabled]
282 --enable-gif enable GIF support [autodetect]
283 --enable-png enable PNG input/output support [autodetect]
284 --enable-jpeg enable JPEG input/output support [autodetect]
285 --enable-libcdio enable external libcdio [autodetect]
286 --enable-liblzo enable external liblzo [autodetect]
287 --disable-win32dll disable Win32 DLL support [enabled]
288 --disable-qtx disable QuickTime codecs support [enabled]
289 --disable-xanim disable XAnim codecs support [enabled]
290 --disable-real disable RealPlayer codecs support [enabled]
291 --disable-xvid disable Xvid [autodetect]
292 --disable-xvid-lavc disable Xvid in libavcodec [autodetect]
293 --disable-x264 disable x264 [autodetect]
294 --disable-x264-lavc disable x264 in libavcodec [autodetect]
295 --disable-libnut disable libnut [autodetect]
296 --disable-libavutil_a disable static libavutil [autodetect]
297 --disable-libavcodec_a disable static libavcodec [autodetect]
298 --disable-libavformat_a disable static libavformat [autodetect]
299 --disable-libpostproc_a disable static libpostproc [autodetect]
300 --disable-libavutil_so disable shared libavutil [autodetect]
301 --disable-libavcodec_so disable shared libavcodec [autodetect]
302 --disable-libavformat_so disable shared libavformat [autodetect]
303 --disable-libpostproc_so disable shared libpostproc [autodetect]
304 --disable-libavcodec_mpegaudio_hp disable high precision audio decoding
305 in libavcodec [enabled]
306 --disable-tremor-internal disable internal Tremor [enabled]
307 --enable-tremor-low enable lower accuracy internal Tremor [disabled]
308 --enable-tremor-external enable external Tremor [autodetect]
309 --disable-libvorbis disable libvorbis support [autodetect]
310 --disable-speex disable Speex support [autodetect]
311 --enable-theora enable OggTheora libraries [autodetect]
312 --enable-faad-external enable external FAAD2 (AAC) [autodetect]
313 --disable-faad-internal disable internal FAAD2 (AAC) [autodetect]
314 --enable-faad-fixed enable fixed-point mode in internal FAAD2 [disabled]
315 --disable-faac disable support for FAAC (AAC encoder) [autodetect]
316 --disable-faac-lavc disable support for FAAC in libavcodec [autodetect]
317 --disable-ladspa disable LADSPA plugin support [autodetect]
318 --disable-libdv disable libdv 0.9.5 en/decoding support [autodetect]
319 --disable-mad disable libmad (MPEG audio) support [autodetect]
320 --disable-mp3lame disable LAME MP3 encoding support [autodetect]
321 --disable-mp3lame-lavc disable LAME in libavcodec [autodetect]
322 --disable-toolame disable Toolame (MPEG layer 2) encoding [autodetect]
323 --disable-twolame disable Twolame (MPEG layer 2) encoding [autodetect]
324 --enable-xmms enable XMMS input plugin support [disabled]
325 --enable-libdca enable libdca support [autodetect]
326 --disable-mp3lib disable builtin mp3lib [enabled]
327 --disable-liba52 disable builtin liba52 [enabled]
328 --disable-libmpeg2 disable builtin libmpeg2 [autodetect]
329 --disable-musepack disable musepack support [autodetect]
330 --disable-libamr_nb disable libamr narrowband [autodetect]
331 --disable-libamr_wb disable libamr wideband [autodetect]
332 --disable-decoder=DECODER disable specified FFmpeg decoder
333 --enable-decoder=DECODER enable specified FFmpeg decoder
334 --disable-encoder=ENCODER disable specified FFmpeg encoder
335 --enable-encoder=ENCODER enable specified FFmpeg encoder
336 --disable-parser=PARSER disable specified FFmpeg parser
337 --enable-parser=PARSER enable specified FFmpeg parser
338 --disable-demuxer=DEMUXER disable specified FFmpeg demuxer
339 --enable-demuxer=DEMUXER enable specified FFmpeg demuxer
340 --disable-muxer=MUXER disable specified FFmpeg muxer
341 --enable-muxer=MUXER enable specified FFmpeg muxer
344 --disable-vidix disable VIDIX [for x86 *nix]
345 --with-vidix-drivers[=*] list of VIDIX drivers to be compiled in
346 Available: cyberblade,ivtv,mach64,mga,mga_crtc2,
347 nvidia,pm2,pm3,radeon,rage128,s3,sis,unichrome
348 --disable-vidix-pcidb disable VIDIX PCI device name database
349 --enable-dhahelper enable VIDIX dhahelper support
350 --enable-svgalib_helper enable VIDIX svgalib_helper support
351 --enable-gl enable OpenGL video output [autodetect]
352 --enable-dga2 enable DGA 2 support [autodetect]
353 --enable-dga1 enable DGA 1 support [autodetect]
354 --enable-vesa enable VESA video output [autodetect]
355 --enable-svga enable SVGAlib video output [autodetect]
356 --enable-sdl enable SDL video output [autodetect]
357 --enable-aa enable AAlib video output [autodetect]
358 --enable-caca enable CACA video output [autodetect]
359 --enable-ggi enable GGI video output [autodetect]
360 --enable-ggiwmh enable GGI libggiwmh extension [autodetect]
361 --enable-directx enable DirectX video output [autodetect]
362 --enable-dxr2 enable DXR2 video output [autodetect]
363 --enable-dxr3 enable DXR3/H+ video output [autodetect]
364 --enable-ivtv enable IVTV TV-Out video output [autodetect]
365 --enable-v4l2 enable V4L2 Decoder audio/video output [autodetect]
366 --enable-dvb enable DVB video output [autodetect]
367 --enable-dvbhead enable DVB video output (HEAD version) [autodetect]
368 --enable-mga enable mga_vid video output [autodetect]
369 --enable-xmga enable mga_vid X11 video output [autodetect]
370 --enable-xv enable Xv video output [autodetect]
371 --enable-xvmc enable XvMC acceleration [disable]
372 --enable-vm enable XF86VidMode support [autodetect]
373 --enable-xinerama enable Xinerama support [autodetect]
374 --enable-x11 enable X11 video output [autodetect]
375 --enable-xshape enable XShape support [autodetect]
376 --disable-xss disable screensaver support via xss [autodetect]
377 --enable-fbdev enable FBDev video output [autodetect]
378 --enable-mlib enable mediaLib video output (Solaris) [disable]
379 --enable-3dfx enable obsolete /dev/3dfx video output [disable]
380 --enable-tdfxfb enable tdfxfb video output [disable]
381 --enable-s3fb enable s3fb (S3 ViRGE) video output [disable]
382 --enable-directfb enable DirectFB video output [autodetect]
383 --enable-zr enable ZR360[56]7/ZR36060 video output [autodetect]
384 --enable-bl enable Blinkenlights video output [disable]
385 --enable-tdfxvid enable tdfx_vid video output [disable]
386 --enable-xvr100 enable SUN XVR-100 video output [autodetect]
387 --disable-tga disable Targa video output [enable]
388 --disable-pnm disable PNM video output [enable]
389 --disable-md5sum disable md5sum video output [enable]
390 --disable-yuv4mpeg disable yuv4mpeg video output [enable]
393 --disable-alsa disable ALSA audio output [autodetect]
394 --disable-ossaudio disable OSS audio output [autodetect]
395 --disable-arts disable aRts audio output [autodetect]
396 --disable-esd disable esd audio output [autodetect]
397 --disable-pulse disable Pulseaudio audio output [autodetect]
398 --disable-jack disable JACK audio output [autodetect]
399 --disable-openal disable OpenAL audio output [autodetect]
400 --disable-nas disable NAS audio output [autodetect]
401 --disable-sgiaudio disable SGI audio output [autodetect]
402 --disable-sunaudio disable Sun audio output [autodetect]
403 --disable-win32waveout disable Windows waveout audio output [autodetect]
404 --disable-select disable using select() on the audio device [enable]
406 Miscellaneous options:
407 --enable-runtime-cpudetection enable runtime CPU detection [disable]
408 --enable-cross-compile enable cross-compilation [autodetect]
409 --cc=COMPILER C compiler to build MPlayer [gcc]
410 --host-cc=COMPILER C compiler for tools needed while building [gcc]
411 --as=ASSEMBLER assembler to build MPlayer [as]
412 --ar=AR librarian to build MPlayer [ar]
413 --ranlib=RANLIB ranlib to build MPlayer [ranlib]
414 --windres=WINDRES windres to build MPlayer [windres]
415 --target=PLATFORM target platform (i386-linux, arm-linux, etc)
416 --enable-static build a statically linked binary
417 --charset=charset convert the console messages to this character set
418 --language=list a white space or comma separated list of languages for
419 translated man pages, the first language is used for
420 messages and the GUI (the environment variable
421 \$LINGUAS is also honored) [en]
422 (Available: all $msg_langs)
423 --with-install=PATH path to a custom install program
426 --enable-mmx enable MMX [autodetect]
427 --enable-mmxext enable MMX2 (Pentium III, Athlon) [autodetect]
428 --enable-3dnow enable 3DNow! [autodetect]
429 --enable-3dnowext enable extended 3DNow! [autodetect]
430 --enable-sse enable SSE [autodetect]
431 --enable-sse2 enable SSE2 [autodetect]
432 --enable-ssse3 enable SSSE3 [autodetect]
433 --enable-shm enable shm [autodetect]
434 --enable-altivec enable AltiVec (PowerPC) [autodetect]
435 --enable-armv5te enable DSP extensions (ARM) [autodetect]
436 --enable-armv6 enable ARMv6 (ARM) [autodetect]
437 --enable-iwmmxt enable iWMMXt (ARM) [autodetect]
438 --disable-fastmemcpy disable 3DNow!/SSE/MMX optimized memcpy [enable]
439 --enable-big-endian force byte order to big-endian [autodetect]
440 --enable-debug[=1-3] compile-in debugging information [disable]
441 --enable-profile compile-in profiling information [disable]
442 --disable-sighandler disable sighandler for crashes [enable]
443 --enable-crash-debug enable automatic gdb attach on crash [disable]
444 --enable-dynamic-plugins enable dynamic A/V plugins [disable]
446 Use these options if autodetection fails (Options marked with (*) accept
447 multiple paths separated by ':'):
448 --extra-libs=FLAGS extra linker flags
449 --extra-libs-mplayer=FLAGS extra linker flags for MPlayer
450 --extra-libs-mencoder=FLAGS extra linker flags for MEncoder
451 --with-extraincdir=DIR extra header search paths in DIR (*)
452 --with-extralibdir=DIR extra linker search paths in DIR (*)
453 --with-xvmclib=NAME adapter-specific library name (e.g. XvMCNVIDIA)
455 --with-freetype-config=PATH path to freetype-config
456 --with-fribidi-config=PATH path to fribidi-config
457 --with-glib-config=PATH path to glib*-config
458 --with-gtk-config=PATH path to gtk*-config
459 --with-sdl-config=PATH path to sdl*-config
460 --with-dvdnav-config=PATH path to dvdnav-config
461 --with-dvdread-config=PATH path to dvdread-config
463 This configure script is NOT autoconf-based, even though its output is similar.
464 It will try to autodetect all configuration options. If you --enable an option
465 it will be forcefully turned on, skipping autodetection. This can break
466 compilation, so you need to know what you are doing.
471 # GOTCHA: the variables below defines the default behavior for autodetection
472 # and have - unless stated otherwise - at least 2 states : yes no
473 # If autodetection is available then the third state is: auto
493 test "$CC" && _cc
="$CC"
495 _runtime_cpudetection
=no
503 _libavdecoders_all
=`sed -n 's/^[^#]*DEC.*(.*, *\(.*\)).*/\1_decoder/p' libavcodec/allcodecs.c | tr '[a-z]' '[A-Z]'`
504 _libavdecoders
=` echo $_libavdecoders_all | sed -e 's/ LIB[A-Z0-9_]*_DECODER//g' -e s/MPEG4AAC_DECODER// `
505 _libavencoders_all
=`sed -n 's/^[^#]*ENC.*(.*, *\(.*\)).*/\1_encoder/p' libavcodec/allcodecs.c | tr '[a-z]' '[A-Z]'`
506 _libavencoders
=` echo $_libavencoders_all | sed 's/ LIB[A-Z0-9_]*_ENCODER//g'`
507 _libavparsers_all
=`sed -n 's/^[^#]*PARSER.*(.*, *\(.*\)).*/\1_parser/p' libavcodec/allcodecs.c | tr '[a-z]' '[A-Z]'`
508 _libavparsers
=$_libavparsers_all
509 _libavbsfs_all
=`sed -n 's/^[^#]*BSF.*(.*, *\(.*\)).*/\1_bsf/p' libavcodec/allcodecs.c | tr '[a-z]' '[A-Z]'`
510 _libavbsfs
=$_libavbsfs_all
511 _libavdemuxers_all
=`sed -n 's/^[^#]*DEMUX.*(.*, *\(.*\)).*/\1_demuxer/p' libavformat/allformats.c | tr '[a-z]' '[A-Z]'`
512 _libavdemuxers
=`echo $_libavdemuxers_all | sed -e 's/ LIB[A-Z0-9_]*_DEMUXER//g' -e s/REDIR_DEMUXER// -e s/RTSP_DEMUXER// -e s/SDP_DEMUXER// -e s/AVISYNTH_DEMUXER// `
513 _libavmuxers_all
=`sed -n 's/^[^#]*_MUX.*(.*, *\(.*\)).*/\1_muxer/p' libavformat/allformats.c | tr '[a-z]' '[A-Z]'`
514 _libavmuxers
=`echo $_libavmuxers_all | sed -e 's/ LIB[A-Z0-9_]*_MUXER//g' -e s/RTP_MUXER// `
515 _libavprotocols_all
=`sed -n 's/^[^#]*PROTOCOL.*(.*, *\(.*\)).*/\1_protocol/p' libavformat/allformats.c | tr '[a-z]' '[A-Z]'`
521 _libavcodec_mpegaudio_hp
=yes
530 _xvmc
=no
#auto when complete
573 _tremor_external
=auto
589 _dvdnavconfig
=dvdnav-config
590 _dvdreadconfig
=dvdread-config
592 _dvdread_internal
=auto
593 _libdvdcss_internal
=auto
604 _mlib
=no
#broken, thus disabled
673 _macosx_finder_support
=no
676 _freetypeconfig
='freetype-config'
678 _fribidiconfig
='fribidi-config'
691 _def_stream_cache
="#define USE_STREAM_CACHE 1"
699 _prefix
=`echo $ac_option | cut -d '=' -f 2`
702 _bindir
=`echo $ac_option | cut -d '=' -f 2`
705 _datadir
=`echo $ac_option | cut -d '=' -f 2`
708 _mandir
=`echo $ac_option | cut -d '=' -f 2`
711 _confdir
=`echo $ac_option | cut -d '=' -f 2`
714 _libdir
=`echo $ac_option | cut -d '=' -f 2`
717 _codecsdir
=`echo $ac_option | cut -d '=' -f 2`
720 _win32codecsdir
=`echo $ac_option | cut -d '=' -f 2`
723 _xanimcodecsdir
=`echo $ac_option | cut -d '=' -f 2`
726 _realcodecsdir
=`echo $ac_option | cut -d '=' -f 2`
728 --with-extraincdir=*)
729 _inc_extra
=-I`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -I,g'`
731 --with-extralibdir=*)
732 _ld_extra
=-L`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
736 _install
=`echo $ac_option | cut -d '=' -f 2 `
739 _xvmclib
=`echo $ac_option | cut -d '=' -f 2`
743 _sdlconfig
=`echo $ac_option | cut -d '=' -f 2`
745 --with-freetype-config=*)
746 _freetypeconfig
=`echo $ac_option | cut -d '=' -f 2`
748 --with-fribidi-config=*)
749 _fribidiconfig
=`echo $ac_option | cut -d '=' -f 2`
752 _gtkconfig
=`echo $ac_option | cut -d '=' -f 2`
754 --with-glib-config=*)
755 _glibconfig
=`echo $ac_option | cut -d '=' -f 2`
757 --with-dvdnav-config=*)
758 _dvdnavconfig
=`echo $ac_option | cut -d '=' -f 2`
760 --with-dvdread-config=*)
761 _dvdreadconfig
=`echo $ac_option | cut -d '=' -f 2`
765 _extra_libs
=`echo $ac_option | cut -d '=' -f 2`
767 --extra-libs-mplayer=*)
768 _libs_mplayer
=`echo $ac_option | cut -d '=' -f 2`
770 --extra-libs-mencoder=*)
771 _libs_mencoder
=`echo $ac_option | cut -d '=' -f 2`
775 _target
=`echo $ac_option | cut -d '=' -f 2`
778 _cc
=`echo $ac_option | cut -d '=' -f 2`
781 _host_cc
=`echo $ac_option | cut -d '=' -f 2`
784 _as
=`echo $ac_option | cut -d '=' -f 2`
787 _ar
=`echo $ac_option | cut -d '=' -f 2`
790 _ranlib
=`echo $ac_option | cut -d '=' -f 2`
793 _windres
=`echo $ac_option | cut -d '=' -f 2`
796 _charset
=`echo $ac_option | cut -d '=' -f 2`
799 _language
=`echo $ac_option | cut -d '=' -f 2`
818 _debug
=`echo $_echo_n '-g'$_echo_c; echo $ac_option | cut -d '=' -f 2`
823 --enable-runtime-cpudetection) _runtime_cpudetection
=yes ;;
824 --disable-runtime-cpudetection) _runtime_cpudetection
=no
;;
825 --enable-cross-compile) _cross_compile
=yes ;;
826 --disable-cross-compile) _cross_compile
=no
;;
827 --enable-mencoder) _mencoder
=yes ;;
828 --disable-mencoder) _mencoder
=no
;;
829 --enable-mplayer) _mplayer
=yes ;;
830 --disable-mplayer) _mplayer
=no
;;
831 --enable-dynamic-plugins) _dynamic_plugins
=yes ;;
832 --disable-dynamic-plugins) _dynamic_plugins
=no
;;
833 --enable-x11) _x11
=yes ;;
834 --disable-x11) _x11
=no
;;
835 --enable-xshape) _xshape
=yes ;;
836 --disable-xshape) _xshape
=no
;;
837 --enable-xss) _xss
=yes ;;
838 --disable-xss) _xss
=no
;;
839 --enable-xv) _xv
=yes ;;
840 --disable-xv) _xv
=no
;;
841 --enable-xvmc) _xvmc
=yes ;;
842 --disable-xvmc) _xvmc
=no
;;
843 --enable-sdl) _sdl
=yes ;;
844 --disable-sdl) _sdl
=no
;;
845 --enable-directx) _directx
=yes ;;
846 --disable-directx) _directx
=no
;;
847 --enable-win32waveout) _win32waveout
=yes ;;
848 --disable-win32waveout) _win32waveout
=no
;;
849 --enable-nas) _nas
=yes ;;
850 --disable-nas) _nas
=no
;;
851 --enable-png) _png
=yes ;;
852 --disable-png) _png
=no
;;
853 --enable-jpeg) _jpeg
=yes ;;
854 --disable-jpeg) _jpeg
=no
;;
855 --enable-pnm) _pnm
=yes ;;
856 --disable-pnm) _pnm
=no
;;
857 --enable-md5sum) _md5sum
=yes ;;
858 --disable-md5sum) _md5sum
=no
;;
859 --enable-yuv4mpeg) _yuv4mpeg
=yes ;;
860 --disable-yuv4mpeg) _yuv4mpeg
=no
;;
861 --enable-gif) _gif
=yes ;;
862 --disable-gif) _gif
=no
;;
863 --enable-gl) _gl
=yes ;;
864 --disable-gl) _gl
=no
;;
865 --enable-ggi) _ggi
=yes ;;
866 --disable-ggi) _ggi
=no
;;
867 --enable-ggiwmh) _ggiwmh
=yes ;;
868 --disable-ggiwmh) _ggiwmh
=no
;;
869 --enable-aa) _aa
=yes ;;
870 --disable-aa) _aa
=no
;;
871 --enable-caca) _caca
=yes ;;
872 --disable-caca) _caca
=no
;;
873 --enable-svga) _svga
=yes ;;
874 --disable-svga) _svga
=no
;;
875 --enable-vesa) _vesa
=yes ;;
876 --disable-vesa) _vesa
=no
;;
877 --enable-fbdev) _fbdev
=yes ;;
878 --disable-fbdev) _fbdev
=no
;;
879 --enable-dvb) _dvb
=yes ;;
880 --disable-dvb) _dvb
=no
;;
881 --enable-dvbhead) _dvbhead
=yes ;;
882 --disable-dvbhead) _dvbhead
=no
;;
883 --enable-dxr2) _dxr2
=yes ;;
884 --disable-dxr2) _dxr2
=no
;;
885 --enable-dxr3) _dxr3
=yes ;;
886 --disable-dxr3) _dxr3
=no
;;
887 --enable-ivtv) _ivtv
=yes ;;
888 --disable-ivtv) _ivtv
=no
;;
889 --enable-v4l2) _v4l2
=yes ;;
890 --disable-v4l2) _v4l2
=no
;;
891 --enable-iconv) _iconv
=yes ;;
892 --disable-iconv) _iconv
=no
;;
893 --enable-langinfo) _langinfo
=yes ;;
894 --disable-langinfo) _langinfo
=no
;;
895 --enable-rtc) _rtc
=yes ;;
896 --disable-rtc) _rtc
=no
;;
897 --enable-libdv) _libdv
=yes ;;
898 --disable-libdv) _libdv
=no
;;
899 --enable-ossaudio) _ossaudio
=yes ;;
900 --disable-ossaudio) _ossaudio
=no
;;
901 --enable-arts) _arts
=yes ;;
902 --disable-arts) _arts
=no
;;
903 --enable-esd) _esd
=yes ;;
904 --disable-esd) _esd
=no
;;
905 --enable-pulse) _pulse
=yes ;;
906 --disable-pulse) _pulse
=no
;;
907 --enable-jack) _jack
=yes ;;
908 --disable-jack) _jack
=no
;;
909 --enable-openal) _openal
=yes ;;
910 --disable-openal) _openal
=no
;;
911 --enable-mad) _mad
=yes ;;
912 --disable-mad) _mad
=no
;;
913 --enable-mp3lame) _mp3lame
=yes ;;
914 --disable-mp3lame) _mp3lame
=no
;;
915 --enable-mp3lame-lavc) _mp3lame_lavc
=yes ;;
916 --disable-mp3lame-lavc) _mp3lame_lavc
=no
;;
917 --enable-toolame) _toolame
=yes ;;
918 --disable-toolame) _toolame
=no
;;
919 --enable-twolame) _twolame
=yes ;;
920 --disable-twolame) _twolame
=no
;;
921 --enable-libcdio) _libcdio
=yes ;;
922 --disable-libcdio) _libcdio
=no
;;
923 --enable-liblzo) _liblzo
=yes ;;
924 --disable-liblzo) _liblzo
=no
;;
925 --enable-libvorbis) _libvorbis
=yes ;;
926 --disable-libvorbis) _libvorbis
=no
;;
927 --enable-speex) _speex
=yes ;;
928 --disable-speex) _speex
=no
;;
929 --enable-tremor-internal) _tremor_internal
=yes ;;
930 --disable-tremor-internal) _tremor_internal
=no
;;
931 --enable-tremor-low) _tremor_low
=yes ;;
932 --disable-tremor-low) _tremor_low
=no
;;
933 --enable-tremor-external) _tremor_external
=yes ;;
934 --disable-tremor-external) _tremor_external
=no
;;
935 --enable-theora) _theora
=yes ;;
936 --disable-theora) _theora
=no
;;
937 --enable-mp3lib) _mp3lib
=yes ;;
938 --disable-mp3lib) _mp3lib
=no
;;
939 --enable-liba52) _liba52
=yes ;;
940 --disable-liba52) _liba52
=no
;;
941 --enable-libdca) _libdca
=yes ;;
942 --disable-libdca) _libdca
=no
;;
943 --enable-libmpeg2) _libmpeg2
=yes ;;
944 --disable-libmpeg2) _libmpeg2
=no
;;
945 --enable-musepack) _musepack
=yes ;;
946 --disable-musepack) _musepack
=no
;;
947 --enable-faad-internal) _faad_internal
=yes ;;
948 --disable-faad-internal) _faad_internal
=no
;;
949 --enable-faad-external) _faad_external
=yes ;;
950 --disable-faad-external) _faad_external
=no
;;
951 --enable-faad-fixed) _faad_fixed
=yes ;;
952 --disable-faad-fixed) _faad_fixed
=no
;;
953 --enable-faac) _faac
=yes ;;
954 --disable-faac) _faac
=no
;;
955 --enable-faac-lavc) _faac_lavc
=yes ;;
956 --disable-faac-lavc) _faac_lavc
=no
;;
957 --enable-ladspa) _ladspa
=yes ;;
958 --disable-ladspa) _ladspa
=no
;;
959 --enable-xmms) _xmms
=yes ;;
960 --disable-xmms) _xmms
=no
;;
961 --enable-dvdread) _dvdread
=yes ;;
962 --disable-dvdread) _dvdread
=no
;;
963 --enable-dvdread-internal) _dvdread_internal
=yes ;;
964 --disable-dvdread-internal) _dvdread_internal
=no
;;
965 --enable-libdvdcss-internal) _libdvdcss_internal
=yes ;;
966 --disable-libdvdcss-internal) _libdvdcss_internal
=no
;;
967 --enable-dvdnav) _dvdnav
=yes ;;
968 --disable-dvdnav) _dvdnav
=no
;;
969 --enable-xanim) _xanim
=yes ;;
970 --disable-xanim) _xanim
=no
;;
971 --enable-real) _real
=yes ;;
972 --disable-real) _real
=no
;;
973 --enable-live) _live
=yes ;;
974 --disable-live) _live
=no
;;
975 --enable-nemesi) _nemesi
=yes ;;
976 --disable-nemesi) _nemesi
=no
;;
977 --enable-xinerama) _xinerama
=yes ;;
978 --disable-xinerama) _xinerama
=no
;;
979 --enable-mga) _mga
=yes ;;
980 --disable-mga) _mga
=no
;;
981 --enable-xmga) _xmga
=yes ;;
982 --disable-xmga) _xmga
=no
;;
983 --enable-vm) _vm
=yes ;;
984 --disable-vm) _vm
=no
;;
985 --enable-xf86keysym) _xf86keysym
=yes ;;
986 --disable-xf86keysym) _xf86keysym
=no
;;
987 --enable-mlib) _mlib
=yes ;;
988 --disable-mlib) _mlib
=no
;;
989 --enable-sunaudio) _sunaudio
=yes ;;
990 --disable-sunaudio) _sunaudio
=no
;;
991 --enable-sgiaudio) _sgiaudio
=yes ;;
992 --disable-sgiaudio) _sgiaudio
=no
;;
993 --enable-alsa) _alsa
=yes ;;
994 --disable-alsa) _alsa
=no
;;
995 --enable-tv) _tv
=yes ;;
996 --disable-tv) _tv
=no
;;
997 --enable-tv-bsdbt848) _tv_bsdbt848
=yes ;;
998 --disable-tv-bsdbt848) _tv_bsdbt848
=no
;;
999 --enable-tv-v4l1) _tv_v4l1
=yes ;;
1000 --disable-tv-v4l1) _tv_v4l1
=no
;;
1001 --enable-tv-v4l2) _tv_v4l2
=yes ;;
1002 --disable-tv-v4l2) _tv_v4l2
=no
;;
1003 --enable-tv-dshow) _tv_dshow
=yes ;;
1004 --disable-tv-dshow) _tv_dshow
=no
;;
1005 --enable-tv-teletext) _tv_teletext
=yes ;;
1006 --disable-tv-teletext) _tv_teletext
=no
;;
1007 --enable-radio) _radio
=yes ;;
1008 --enable-radio-capture) _radio_capture
=yes ;;
1009 --disable-radio-capture) _radio_capture
=no
;;
1010 --disable-radio) _radio
=no
;;
1011 --enable-radio-v4l) _radio_v4l
=yes ;;
1012 --disable-radio-v4l) _radio_v4l
=no
;;
1013 --enable-radio-v4l2) _radio_v4l2
=yes ;;
1014 --disable-radio-v4l2) _radio_v4l2
=no
;;
1015 --enable-radio-bsdbt848) _radio_bsdbt848
=yes ;;
1016 --disable-radio-bsdbt848) _radio_bsdbt848
=no
;;
1017 --enable-pvr) _pvr
=yes ;;
1018 --disable-pvr) _pvr
=no
;;
1019 --enable-fastmemcpy) _fastmemcpy
=yes ;;
1020 --disable-fastmemcpy) _fastmemcpy
=no
;;
1021 --enable-network) _network
=yes ;;
1022 --disable-network) _network
=no
;;
1023 --enable-winsock2) _winsock2
=yes ;;
1024 --disable-winsock2) _winsock2
=no
;;
1025 --enable-smb) _smbsupport
=yes ;;
1026 --disable-smb) _smbsupport
=no
;;
1027 --enable-vidix) _vidix
=yes ;;
1028 --disable-vidix) _vidix
=no
;;
1029 --with-vidix-drivers=*)
1030 _vidix_drivers
=`echo $ac_option | cut -d '=' -f 2`
1032 --disable-vidix-pcidb) _vidix_pcidb
=no
;;
1033 --enable-dhahelper) _dhahelper
=yes ;;
1034 --disable-dhahelper) _dhahelper
=no
;;
1035 --enable-svgalib_helper) _svgalib_helper
=yes ;;
1036 --disable-svgalib_helper) _svgalib_helper
=no
;;
1037 --enable-joystick) _joystick
=yes ;;
1038 --disable-joystick) _joystick
=no
;;
1039 --enable-xvid) _xvid
=yes ;;
1040 --disable-xvid) _xvid
=no
;;
1041 --enable-xvid-lavc) _xvid_lavc
=yes ;;
1042 --disable-xvid-lavc) _xvid_lavc
=no
;;
1043 --enable-x264) _x264
=yes ;;
1044 --disable-x264) _x264
=no
;;
1045 --enable-x264-lavc) _x264_lavc
=yes ;;
1046 --disable-x264-lavc) _x264_lavc
=no
;;
1047 --enable-libnut) _libnut
=yes ;;
1048 --disable-libnut) _libnut
=no
;;
1049 --enable-libavutil_a) _libavutil_a
=yes ;;
1050 --disable-libavutil_a) _libavutil_a
=no
;;
1051 --enable-libavutil_so) _libavutil_so
=yes ;;
1052 --disable-libavutil_so) _libavutil_so
=no
;;
1053 --enable-libavcodec_a) _libavcodec_a
=yes ;;
1054 --disable-libavcodec_a) _libavcodec_a
=no
;;
1055 --enable-libavcodec_so) _libavcodec_so
=yes ;;
1056 --disable-libavcodec_so) _libavcodec_so
=no
;;
1057 --enable-libamr_nb) _libamr_nb
=yes ;;
1058 --disable-libamr_nb) _libamr_nb
=no
;;
1059 --enable-libamr_wb) _libamr_wb
=yes ;;
1060 --disable-libamr_wb) _libamr_wb
=no
;;
1061 --enable-decoder=*) _libavdecoders
="$_libavdecoders `echo $ac_option | cut -d '=' -f 2`" ;;
1062 --disable-decoder=*) _libavdecoders
=`echo $_libavdecoders | sed "s/\`echo $ac_option | cut
-d '=' -f 2\
`//g"` ;;
1063 --enable-encoder=*) _libavencoders
="$_libavencoders `echo $ac_option | cut -d '=' -f 2`" ;;
1064 --disable-encoder=*) _libavencoders
=`echo $_libavencoders | sed "s/\`echo $ac_option | cut
-d '=' -f 2\
`//g"` ;;
1065 --enable-parser=*) _libavparsers
="$_libavparsers `echo $ac_option | cut -d '=' -f 2`" ;;
1066 --disable-parser=*) _libavparsers
=`echo $_libavparsers | sed "s/\`echo $ac_option | cut
-d '=' -f 2\
`//g"` ;;
1067 --enable-demuxer=*) _libavdemuxers
="$_libavdemuxers `echo $ac_option | cut -d '=' -f 2`" ;;
1068 --disable-demuxer=*) _libavdemuxers
=`echo $_libavdemuxers | sed "s/\`echo $ac_option | cut
-d '=' -f 2\
`//g"` ;;
1069 --enable-muxer=*) _libavmuxers
="$_libavmuxers `echo $ac_option | cut -d '=' -f 2`" ;;
1070 --disable-muxer=*) _libavmuxers
=`echo $_libavmuxers | sed "s/\`echo $ac_option | cut
-d '=' -f 2\
`//g"` ;;
1071 --enable-libavformat_a) _libavformat_a
=yes ;;
1072 --disable-libavformat_a) _libavformat_a
=no
;;
1073 --enable-libavformat_so) _libavformat_so
=yes ;;
1074 --disable-libavformat_so) _libavformat_so
=no
;;
1075 --enable-libpostproc_a) _libpostproc_a
=yes ;;
1076 --disable-libpostproc_a) _libpostproc_a
=no
;;
1077 --enable-libpostproc_so) _libpostproc_so
=yes ;;
1078 --disable-libpostproc_so) _libpostproc_so
=no
;;
1079 --enable-libavcodec_mpegaudio_hp) _libavcodec_mpegaudio_hp
=yes ;;
1080 --disable-libavcodec_mpegaudio_hp) _libavcodec_mpegaudio_hp
=no
;;
1082 --enable-lirc) _lirc
=yes ;;
1083 --disable-lirc) _lirc
=no
;;
1084 --enable-lircc) _lircc
=yes ;;
1085 --disable-lircc) _lircc
=no
;;
1086 --enable-apple-remote) _apple_remote
=yes ;;
1087 --disable-apple-remote) _apple_remote
=no
;;
1088 --enable-apple-ir) _apple_ir
=yes ;;
1089 --disable-apple-ir) _apple_ir
=no
;;
1090 --enable-gui) _gui
=yes ;;
1091 --disable-gui) _gui
=no
;;
1092 --enable-gtk1) _gtk1
=yes ;;
1093 --disable-gtk1) _gtk1
=no
;;
1094 --enable-termcap) _termcap
=yes ;;
1095 --disable-termcap) _termcap
=no
;;
1096 --enable-termios) _termios
=yes ;;
1097 --disable-termios) _termios
=no
;;
1098 --enable-3dfx) _3dfx
=yes ;;
1099 --disable-3dfx) _3dfx
=no
;;
1100 --enable-s3fb) _s3fb
=yes ;;
1101 --disable-s3fb) _s3fb
=no
;;
1102 --enable-tdfxfb) _tdfxfb
=yes ;;
1103 --disable-tdfxfb) _tdfxfb
=no
;;
1104 --disable-tdfxvid) _tdfxvid
=no
;;
1105 --enable-tdfxvid) _tdfxvid
=yes ;;
1106 --disable-xvr100) _xvr100
=no
;;
1107 --enable-xvr100) _xvr100
=yes ;;
1108 --disable-tga) _tga
=no
;;
1109 --enable-tga) _tga
=yes ;;
1110 --enable-directfb) _directfb
=yes ;;
1111 --disable-directfb) _directfb
=no
;;
1112 --enable-zr) _zr
=yes ;;
1113 --disable-zr) _zr
=no
;;
1114 --enable-bl) _bl
=yes ;;
1115 --disable-bl) _bl
=no
;;
1116 --enable-mtrr) _mtrr
=yes ;;
1117 --disable-mtrr) _mtrr
=no
;;
1118 --enable-largefiles) _largefiles
=yes ;;
1119 --disable-largefiles) _largefiles
=no
;;
1120 --enable-shm) _shm
=yes ;;
1121 --disable-shm) _shm
=no
;;
1122 --enable-select) _select
=yes ;;
1123 --disable-select) _select
=no
;;
1124 --enable-linux-devfs) _linux_devfs
=yes ;;
1125 --disable-linux-devfs) _linux_devfs
=no
;;
1126 --enable-cdparanoia) _cdparanoia
=yes ;;
1127 --disable-cdparanoia) _cdparanoia
=no
;;
1128 --enable-cddb) _cddb
=yes ;;
1129 --disable-cddb) _cddb
=no
;;
1130 --enable-big-endian) _big_endian
=yes ;;
1131 --disable-big-endian) _big_endian
=no
;;
1132 --enable-bitmap-font) _bitmap_font
=yes ;;
1133 --disable-bitmap-font) _bitmap_font
=no
;;
1134 --enable-freetype) _freetype
=yes ;;
1135 --disable-freetype) _freetype
=no
;;
1136 --enable-fontconfig) _fontconfig
=yes ;;
1137 --disable-fontconfig) _fontconfig
=no
;;
1138 --enable-unrarexec) _unrar_exec
=yes ;;
1139 --disable-unrarexec) _unrar_exec
=no
;;
1140 --enable-ftp) _ftp
=yes ;;
1141 --disable-ftp) _ftp
=no
;;
1142 --enable-vstream) _vstream
=yes ;;
1143 --disable-vstream) _vstream
=no
;;
1144 --enable-pthreads) _pthreads
=yes ;;
1145 --disable-pthreads) _pthreads
=no
;;
1146 --enable-w32threads) _w32threads
=yes ;;
1147 --disable-w32threads) _w32threads
=no
;;
1148 --enable-ass) _ass
=yes ;;
1149 --disable-ass) _ass
=no
;;
1150 --enable-rpath) _rpath
=yes ;;
1151 --disable-rpath) _rpath
=no
;;
1153 --enable-fribidi) _fribidi
=yes ;;
1154 --disable-fribidi) _fribidi
=no
;;
1156 --enable-enca) _enca
=yes ;;
1157 --disable-enca) _enca
=no
;;
1159 --enable-inet6) _inet6
=yes ;;
1160 --disable-inet6) _inet6
=no
;;
1162 --enable-gethostbyname2) _gethostbyname2
=yes ;;
1163 --disable-gethostbyname2) _gethostbyname2
=no
;;
1165 --enable-dga1) _dga1
=yes ;;
1166 --disable-dga1) _dga1
=no
;;
1167 --enable-dga2) _dga2
=yes ;;
1168 --disable-dga2) _dga2
=no
;;
1170 --enable-menu) _menu
=yes ;;
1171 --disable-menu) _menu
=no
;;
1173 --enable-qtx) _qtx
=yes ;;
1174 --disable-qtx) _qtx
=no
;;
1176 --enable-macosx) _macosx
=yes ;;
1177 --disable-macosx) _macosx
=no
;;
1178 --enable-macosx-finder-support) _macosx_finder_support
=yes ;;
1179 --disable-macosx-finder-support) _macosx_finder_support
=no
;;
1180 --enable-macosx-bundle) _macosx_bundle
=yes;;
1181 --disable-macosx-bundle) _macosx_bundle
=no
;;
1183 --enable-maemo) _maemo
=yes ;;
1184 --disable-maemo) _maemo
=no
;;
1186 --enable-sortsub) _sortsub
=yes ;;
1187 --disable-sortsub) _sortsub
=no
;;
1189 --enable-crash-debug) _crash_debug
=yes ;;
1190 --disable-crash-debug) _crash_debug
=no
;;
1191 --enable-sighandler) _sighandler
=yes ;;
1192 --disable-sighandler) _sighandler
=no
;;
1193 --enable-win32dll) _win32dll
=yes ;;
1194 --disable-win32dll) _win32dll
=no
;;
1196 --enable-sse) _sse
=yes ;;
1197 --disable-sse) _sse
=no
;;
1198 --enable-sse2) _sse2
=yes ;;
1199 --disable-sse2) _sse2
=no
;;
1200 --enable-ssse3) _ssse3
=yes ;;
1201 --disable-ssse3) _ssse3
=no
;;
1202 --enable-mmxext) _mmxext
=yes ;;
1203 --disable-mmxext) _mmxext
=no
;;
1204 --enable-3dnow) _3dnow
=yes ;;
1205 --disable-3dnow) _3dnow
=no _3dnowext
=no
;;
1206 --enable-3dnowext) _3dnow
=yes _3dnowext
=yes ;;
1207 --disable-3dnowext) _3dnowext
=no
;;
1208 --enable-cmov) _cmov
=yes ;;
1209 --disable-cmov) _cmov
=no
;;
1210 --enable-fast-cmov) _fast_cmov
=yes ;;
1211 --disable-fast-cmov) _fast_cmov
=no
;;
1212 --enable-altivec) _altivec
=yes ;;
1213 --disable-altivec) _altivec
=no
;;
1214 --enable-armv5te) _armv5te
=yes ;;
1215 --disable-armv5te) _armv5te
=no
;;
1216 --enable-armv6) _armv6
=yes ;;
1217 --disable-armv6) _armv6
=no
;;
1218 --enable-iwmmxt) _iwmmxt
=yes ;;
1219 --disable-iwmmxt) _iwmmxt
=no
;;
1220 --enable-mmx) _mmx
=yes ;;
1221 --disable-mmx) # 3Dnow! and MMX2 require MMX
1222 _3dnow
=no _3dnowext
=no _mmx
=no _mmxext
=no
;;
1225 echo "Unknown parameter: $ac_option"
1232 # Atmos: moved this here, to be correct, if --prefix is specified
1233 test -z "$_bindir" && _bindir
="$_prefix/bin"
1234 test -z "$_datadir" && _datadir
="$_prefix/share/mplayer"
1235 test -z "$_mandir" && _mandir
="$_prefix/share/man"
1236 test -z "$_confdir" && _confdir
="$_prefix/etc/mplayer"
1237 test -z "$_libdir" && _libdir
="$_prefix/lib"
1239 # Determine our OS name and CPU architecture
1240 if test -z "$_target" ; then
1242 system_name
=`uname -s 2>&1`
1243 case "$system_name" in
1244 Linux|FreeBSD|NetBSD|OpenBSD|DragonFly|BSD
/OS|Darwin|SunOS|QNX|GNU|BeOS|MorphOS|AIX|AmigaOS
)
1255 [cC
][yY
][gG
][wW
][iI
][nN
]*)
1265 system_name
="$system_name-UNKNOWN"
1270 # host's CPU/instruction set
1271 host_arch
=`uname -p 2>&1`
1272 case "$host_arch" in
1273 i386|sparc|ppc|alpha|arm|sh3|mips|vax
)
1275 powerpc
) # Darwin returns 'powerpc'
1278 *) # uname -p on Linux returns 'unknown' for the processor type,
1279 # OpenBSD returns 'Intel Pentium/MMX ("Genuine Intel" 586-class)'
1281 # Maybe uname -m (machine hardware name) returns something we
1284 # x86/x86pc is used by QNX
1285 case "`uname -m 2>&1`" in
1286 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
;;
1287 ia64
) host_arch
=ia64
;;
1289 if [ -n "`$_cc -dumpmachine | sed -n '/^x86_64-/p;/^amd64-/p'`" -a \
1290 -z "`echo $CFLAGS | grep -- -m32`" ]; then
1296 macppc|ppc|ppc64
) host_arch
=ppc
;;
1297 alpha
) host_arch
=alpha
;;
1298 sparc
) host_arch
=sparc
;;
1299 sparc64
) host_arch
=sparc64
;;
1300 parisc
*|hppa
*|
9000*) host_arch
=hppa
;;
1301 arm
*|zaurus|cats
) host_arch
=arm
;;
1302 sh3
) host_arch
=sh3
;;
1303 s390
) host_arch
=s390
;;
1304 s390x
) host_arch
=s390x
;;
1305 mips
*) host_arch
=mips
;;
1306 vax
) host_arch
=vax
;;
1307 xtensa
*) host_arch
=xtensa
;;
1308 *) host_arch
=UNKNOWN
;;
1312 else # if test -z "$_target"
1313 system_name
=`echo $_target | cut -d '-' -f 2`
1314 case "`echo $system_name | tr A-Z a-z`" in
1315 linux
) system_name
=Linux
;;
1316 freebsd
) system_name
=FreeBSD
;;
1317 gnu
/kfreebsd
) system_name
=FreeBSD
;;
1318 netbsd
) system_name
=NetBSD
;;
1319 bsd
/os
) system_name
=BSD
/OS
;;
1320 openbsd
) system_name
=OpenBSD
;;
1321 dragonfly
) system_name
=DragonFly
;;
1322 sunos
) system_name
=SunOS
;;
1323 qnx
) system_name
=QNX
;;
1324 morphos
) system_name
=MorphOS
;;
1325 amigaos
) system_name
=AmigaOS
;;
1326 mingw32msvc
) system_name
=MINGW32
;;
1328 # We need to convert underscores so that values like k6-2 and pentium-mmx can be passed
1329 host_arch
=`echo $_target | cut -d '-' -f 1`
1330 if test `echo $host_arch` != "x86_64" ; then
1331 host_arch
=`echo $host_arch | tr '_' '-'`
1335 echo "Detected operating system: $system_name"
1336 echo "Detected host architecture: $host_arch"
1338 if test "$_runtime_cpudetection" = yes && ! x86
&& ! ppc
; then
1339 die
"Runtime CPU detection only works for x86, x86-64 and PPC!"
1343 _timer
=timer-linux.c
1346 _ld_extra
="$_ld_extra -L/usr/local/lib"
1347 _inc_extra
="$_inc_extra -I/usr/local/include"
1350 if netbsd || dragonfly
; then
1351 _ld_extra
="$_ld_extra -L/usr/pkg/lib"
1352 _inc_extra
="$_inc_extra -I/usr/pkg/include"
1356 _ld_extra
="$_ld_extra -L/usr/local/lib"
1357 _inc_extra
="$_inc_extra -I/usr/local/include"
1358 _timer
=timer-darwin.c
1362 _ld_extra
="$_ld_extra -lC"
1373 # -lwinmm is always needed for osdep/timer-win2.c
1374 _ld_extra
="$_ld_extra -lwinmm"
1385 _def_confwin32
='#define WIN32'
1392 _def_stream_cache
="#undef USE_STREAM_CACHE"
1396 _ld_extra
="$_ld_extra -lph"
1403 _ar
="emxomfar -p256"
1404 _ranlib
="echo ignoring ranlib"
1405 _ld_extra
="$_ld_extra -Zomf -Zstack 16384 -Zbin-files -Zargs-wild -lmmpm2"
1408 for I
in "$TMPDIR" "$TEMPDIR" "/tmp" ; do
1413 TMPLOG
="configure.log"
1414 TMPC
="$I/mplayer-conf-$RANDOM-$$.c"
1415 TMPCPP
="$I/mplayer-conf-$RANDOM-$$.cpp"
1416 TMPEXE
="$I/mplayer-conf-$RANDOM-$$$_exesuf"
1417 TMPH
="$I/mplayer-conf-$RANDOM-$$.h"
1418 TMPS
="$I/mplayer-conf-$RANDOM-$$.S"
1421 echo configuration
: $_configuration > "$TMPLOG"
1425 # Check how to call 'head' and 'tail'. Newer versions spit out warnings
1426 # if used as 'head -1' instead of 'head -n 1', but older versions don't
1428 if test "`(echo line1 ; echo line2) | head -1 2>/dev/null`" = "line1" ; then
1429 _head
() { head -$1 2>/dev
/null
; }
1431 _head
() { head -n $1 2>/dev
/null
; }
1433 if test "`(echo line1 ; echo line2) | tail -1 2>/dev/null`" = "line2" ; then
1434 _tail
() { tail -$1 2>/dev
/null
; }
1436 _tail
() { tail -n $1 2>/dev
/null
; }
1439 # Checking CC version...
1440 # Intel C++ Compilers (no autoselect, use CC=/some/binary ./configure)
1441 if test "`basename $_cc`" = "icc" ||
test "`basename $_cc`" = "ecc"; then
1442 echocheck
"$_cc version"
1444 cc_name
=`$_cc -V 2>&1 | _head 1 | cut -d ',' -f 1`
1445 cc_version
=`$_cc -V 2>&1 | _head 1 | cut -d ',' -f 2 | cut -d ' ' -f 3`
1446 _cc_major
=`echo $cc_version | cut -d '.' -f 1`
1447 _cc_minor
=`echo $cc_version | cut -d '.' -f 2`
1448 # TODO verify older icc/ecc compatibility
1451 cc_version
="v. ?.??, bad"
1455 cc_version
="$cc_version, ok"
1458 cc_version
="$cc_version, bad"
1462 echores
"$cc_version"
1464 for _cc
in "$_cc" cc gcc
; do
1465 cc_name_tmp
=`$_cc -v 2>&1 | _tail 1 | cut -d ' ' -f 1`
1466 if test "$cc_name_tmp" = "gcc"; then
1467 cc_name
=$cc_name_tmp
1468 echocheck
"$_cc version"
1470 cc_version
=`$_cc -dumpversion 2>&1`
1476 _cc_major
=`echo $cc_version | cut -d '.' -f 1`
1477 _cc_minor
=`echo $cc_version | cut -d '.' -f 2`
1478 _cc_mini
=`echo $cc_version | cut -d '.' -f 3`
1481 echores
"$cc_version"
1486 test "$cc_fail" = yes && die
"unsupported compiler version"
1489 test "$_host_cc" || _host_cc
=$_cc
1492 echocheck
"cross compilation"
1493 if test $_cross_compile = auto
; then
1495 int main(void) { return 0; }
1498 cc_check
&& "$TMPEXE" && _cross_compile
=no
1500 echores
$_cross_compile
1502 if test $_cross_compile = yes; then
1510 # now that we know what compiler should be used for compilation, try to find
1511 # out which assembler is used by the $_cc compiler
1512 if test "$_as" = auto
; then
1513 _as
=`$_cc -print-prog-name=as`
1514 test -z "$_as" && _as
=as
1517 # XXX: this should be ok..
1520 if test "$_runtime_cpudetection" = no
; then
1522 # Cygwin has /proc/cpuinfo, but only supports Intel CPUs
1523 # FIXME: Remove the cygwin check once AMD CPUs are supported
1524 if test -r /proc
/cpuinfo
&& ! cygwin
; then
1525 # Linux with /proc mounted, extract CPU information from it
1526 _cpuinfo
="cat /proc/cpuinfo"
1527 elif test -r /compat
/linux
/proc
/cpuinfo
&& ! x86_32
; then
1528 # FreeBSD with Linux emulation /proc mounted,
1529 # extract CPU information from it
1530 _cpuinfo
="cat /compat/linux/proc/cpuinfo"
1531 elif darwin
&& ! x86_32
; then
1532 # use hostinfo on Darwin
1535 # use 'lsattr' on AIX
1536 _cpuinfo
="lsattr -E -l proc0 -a type"
1538 # all other OSes try to extract CPU information from a small helper
1539 # program cpuinfo instead
1540 $_cc -o cpuinfo
$_exesuf cpuinfo.c
1541 _cpuinfo
="./cpuinfo$_exesuf"
1545 # gather more CPU information
1546 pname
=`$_cpuinfo | grep 'model name' | cut -d ':' -f 2 | _head 1`
1547 pvendor
=`$_cpuinfo | grep 'vendor_id' | cut -d ':' -f 2 | cut -d ' ' -f 2 | _head 1`
1548 pfamily
=`$_cpuinfo | grep 'cpu family' | cut -d ':' -f 2 | cut -d ' ' -f 2 | _head 1`
1549 pmodel
=`$_cpuinfo | grep -v 'model name' | grep 'model' | cut -d ':' -f 2 | cut -d ' ' -f 2 | _head 1`
1550 pstepping
=`$_cpuinfo | grep 'stepping' | cut -d ':' -f 2 | cut -d ' ' -f 2 | _head 1`
1552 exts
=`$_cpuinfo | egrep 'features|flags' | cut -d ':' -f 2 | _head 1`
1554 pparam
=`echo $exts | sed -e s/k6_mtrr/mtrr/ -e s/cyrix_arr/mtrr/ -e s/centaur_mcr/mtrr/ \
1555 -e s/xmm/sse/ -e s/kni/sse/`
1557 for ext
in $pparam ; do
1558 eval test \"\
$_$ext\" = auto
2>/dev
/null
&& eval _
$ext=kernel_check
1561 # SSE implies MMX2, but not all SSE processors report the mmxext CPU flag.
1562 test $_sse = kernel_check
&& _mmxext
=kernel_check
1564 echocheck
"CPU vendor"
1565 echores
"$pvendor ($pfamily:$pmodel:$pstepping)"
1567 echocheck
"CPU type"
1571 fi # test "$_runtime_cpudetection" = no
1573 if x86
&& test "$_runtime_cpudetection" = no
; then
1575 if test "$1" = kernel_check
; then
1576 echocheck
"kernel support of $2"
1580 void catch() { exit(1); }
1582 signal(SIGILL, catch);
1583 __asm__ __volatile__ ("$3":::"memory"); return 0;
1587 if cc_check
&& tmp_run
; then
1590 _optimizing
="$_optimizing $2"
1595 echo "It seems that your kernel does not correctly support $2."
1596 echo "To use $2 extensions in MPlayer, you have to upgrade/recompile your kernel!"
1603 extcheck
$_mmx "mmx" "emms"
1604 extcheck
$_mmxext "mmxext" "sfence"
1605 extcheck
$_3dnow "3dnow" "femms"
1606 extcheck
$_3dnowext "3dnowext" "pswapd %%mm0, %%mm0"
1607 extcheck
$_sse "sse" "xorps %%xmm0, %%xmm0" || _gcc3_ext
="$_gcc3_ext -mno-sse"
1608 extcheck
$_sse2 "sse2" "xorpd %%xmm0, %%xmm0" || _gcc3_ext
="$_gcc3_ext -mno-sse2"
1609 extcheck
$_ssse3 "ssse3" "pabsd %%xmm0, %%xmm0"
1610 extcheck
$_cmov "cmov" "cmovb %%eax,%%ebx"
1612 echocheck
"mtrr support"
1613 if test "$_mtrr" = kernel_check
; then
1615 _optimizing
="$_optimizing mtrr"
1619 if test "$_gcc3_ext" != ""; then
1620 # if we had to disable sse/sse2 because the active kernel does not
1621 # support this instruction set extension, we also have to tell
1622 # gcc3 to not generate sse/sse2 instructions for normal C code
1624 int main(void) { return 0; }
1626 cc_check
$_march $_gcc3_ext && _march
="$_march $_gcc3_ext"
1632 _arch_all
='X86 X86_32 X86_64 IA64 SPARC ARM ARMV4L SH3 POWERPC PPC ALPHA SGI_MIPS PA_RISC S390 S390X VAX BFIN XTENSA GENERIC'
1633 case "$host_arch" in
1634 i
[3-9]86|x86|x86pc|k5|k6|k6-2|k6-3|pentium
*|athlon
*|i586-i686
)
1636 _target_arch_x86
="ARCH_X86 = yes"
1637 _target_arch
="ARCH_X86_32 = yes"
1638 _def_fast_unaligned
='#define HAVE_FAST_UNALIGNED 1'
1643 if test "$_runtime_cpudetection" = no
; then
1647 3) proc
=i386 iproc
=386 ;;
1648 4) proc
=i486 iproc
=486 ;;
1649 5) iproc
=586 # LGB: models are: K5/SSA5 K5 K5 K5 ? ? K6 K6 K6-2 K6-3
1650 # K6 model 13 are the K6-2+ and K6-III+, only differing in cache size.
1651 if test "$pmodel" -eq 9 -o "$pmodel" -eq 13; then
1653 elif test "$pmodel" -eq 5 -o "$pmodel" -eq 10; then
1655 elif test "$pmodel" -ge 8; then
1657 elif test "$pmodel" -ge 6; then
1664 # It's a bit difficult to determine the correct type of Family 6
1665 # AMD CPUs just from their signature. Instead, we check directly
1666 # whether it supports SSE.
1667 if test "$_sse" = yes; then
1668 # gcc treats athlon-xp, athlon-4 and athlon-mp similarly.
1671 # Again, gcc treats athlon and athlon-tbird similarly.
1676 # k8 cpu-type only supported in gcc >= 3.4.0, but that will be
1677 # caught and remedied in the optimization tests below.
1681 *) proc
=k8 iproc
=686 ;;
1686 3) proc
=i386 iproc
=386 ;;
1687 4) proc
=i486 iproc
=486 ;;
1689 if test "$pmodel" -eq 4 ||
test "$pmodel" -eq 8; then
1690 proc
=pentium-mmx
# 4 is desktop, 8 is mobile
1696 if test "$pmodel" -ge 15; then
1698 elif test "$pmodel" -eq 9 -o "$pmodel" -ge 13; then
1700 elif test "$pmodel" -ge 7; then
1702 elif test "$pmodel" -ge 3; then
1709 # A nocona in 32-bit mode has no more capabilities than a prescott.
1710 if test "$pmodel" -ge 3; then
1715 test $_fast_cmov = "auto" && _fast_cmov
=no
1717 *) proc
=prescott iproc
=686 ;;
1723 if test "$pmodel" -ge 8; then
1725 elif test "$pmodel" -ge 4; then
1732 if test "$pmodel" -ge 9; then
1739 *) proc
=i686 iproc
=i686
;;
1744 3) proc
=i386 iproc
=386 ;;
1745 4) proc
=i486 iproc
=486 ;;
1746 *) proc
=i586 iproc
=586 ;;
1750 proc
=i586 iproc
=586 ;;
1752 fi # test "$_runtime_cpudetection" = no
1755 # check that gcc supports our CPU, if not, fall back to earlier ones
1756 # LGB: check -mcpu and -march swithing step by step with enabling
1757 # to fall back till 386.
1759 # gcc >= 3.4.0 doesn't support -mcpu, we have to use -mtune instead
1761 if [ "$cc_vendor" = "gnu" ] && ([ "$_cc_major" -gt 3 ] ||
( [ "$_cc_major" = 3 ] && [ "$_cc_minor" -ge 4 ])) ; then
1767 echocheck
"GCC & CPU optimization abilities"
1769 int main(void) { return 0; }
1771 if test "$_runtime_cpudetection" = no
; then
1772 cc_check
-march=native
&& proc
=native
1773 if test "$proc" = "k8"; then
1774 cc_check
-march=$proc $cpuopt=$proc || proc
=athlon-xp
1776 if test "$proc" = "athlon-xp"; then
1777 cc_check
-march=$proc $cpuopt=$proc || proc
=athlon
1779 if test "$proc" = "k6-3" ||
test "$proc" = "k6-2"; then
1780 cc_check
-march=$proc $cpuopt=$proc || proc
=k6
1782 if test "$proc" = "k6" ||
test "$proc" = "c3"; then
1783 if ! cc_check
-march=$proc $cpuopt=$proc; then
1784 if cc_check
-march=i586
$cpuopt=i686
; then
1791 if test "$proc" = "prescott" ; then
1792 cc_check
-march=$proc $cpuopt=$proc || proc
=pentium4
1794 if test "$proc" = "core2" ; then
1795 cc_check
-march=$proc $cpuopt=$proc || proc
=pentium-m
1797 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
1798 cc_check
-march=$proc $cpuopt=$proc || proc
=i686
1800 if test "$proc" = "i686" ||
test "$proc" = "pentium-mmx" ||
test "$proc" = "winchip-c6" ||
test "$proc" = "winchip2"; then
1801 cc_check
-march=$proc $cpuopt=$proc || proc
=i586
1803 if test "$proc" = "i586"; then
1804 cc_check
-march=$proc $cpuopt=$proc || proc
=i486
1806 if test "$proc" = "i486" ; then
1807 cc_check
-march=$proc $cpuopt=$proc || proc
=i386
1809 if test "$proc" = "i386" ; then
1810 cc_check
-march=$proc $cpuopt=$proc || proc
=error
1812 if test "$proc" = "error" ; then
1813 echores
"CPU optimization disabled. CPU not recognized or your compiler is too old."
1817 elif test "$proc" = "i586-i686"; then
1818 _march
="-march=i586"
1819 _mcpu
="$cpuopt=i686"
1822 _march
="-march=$proc"
1823 _mcpu
="$cpuopt=$proc"
1826 else # if test "$_runtime_cpudetection" = no
1827 _mcpu
="$cpuopt=generic"
1828 # at least i486 required, for bswap instruction
1829 _march
="-march=i486"
1830 cc_check
$_mcpu || _mcpu
="$cpuopt=i686"
1831 cc_check
$_mcpu || _mcpu
=""
1832 cc_check
$_march $_mcpu || _march
=""
1835 ## Gabucino : --target takes effect here (hopefully...) by overwriting
1836 ## autodetected mcpu/march parameters
1837 if test "$_target" ; then
1838 # TODO: it may be a good idea to check GCC and fall back in all cases
1839 if test "$host_arch" = "i586-i686"; then
1840 _march
="-march=i586"
1841 _mcpu
="$cpuopt=i686"
1843 _march
="-march=$host_arch"
1844 _mcpu
="$cpuopt=$host_arch"
1852 i586|k5|k6|k6-2|k6-3|pentium|pentium-mmx
) iproc
=586 ;;
1853 i686|athlon
*|pentium
*) iproc
=686 ;;
1858 if test $_cmov = "yes" && test $_fast_cmov = "auto" ; then
1869 _target_arch
='ARCH_IA64 = yes'
1879 _target_arch
='ARCH_X86_64 = yes'
1880 _target_arch_x86
="ARCH_X86 = yes"
1881 _def_fast_unaligned
='#define HAVE_FAST_UNALIGNED 1'
1884 # gcc >= 3.4.0 doesn't support -mcpu, we have to use -mtune instead
1885 if test "$cc_vendor" = "gnu" && test "$_cc_major" -gt 3 -o "$_cc_major" -eq 3 -a "$_cc_minor" -ge 4 ; then
1890 if test "$_runtime_cpudetection" = no
; then
1898 # 64-bit prescotts exist, but as far as GCC is concerned they
1899 # have the same capabilities as a nocona.
1901 test $_fast_cmov = "auto" && _fast_cmov
=no
1908 fi # test "$_runtime_cpudetection" = no
1910 echocheck
"GCC & CPU optimization abilities"
1912 int main(void) { return 0; }
1914 # This is a stripped-down version of the i386 fallback.
1915 if test "$_runtime_cpudetection" = no
; then
1916 cc_check
-march=native
&& proc
=native
1917 # --- AMD processors ---
1918 if test "$proc" = "k8"; then
1919 cc_check
-march=$proc $cpuopt=$proc || proc
=athlon-xp
1921 # This will fail if gcc version < 3.3, which is ok because earlier
1922 # versions don't really support 64-bit on amd64.
1923 # Is this a valid assumption? -Corey
1924 if test "$proc" = "athlon-xp"; then
1925 cc_check
-march=$proc $cpuopt=$proc || proc
=error
1927 # --- Intel processors ---
1928 if test "$proc" = "core2"; then
1929 cc_check
-march=$proc $cpuopt=$proc || proc
=nocona
1931 if test "$proc" = "nocona"; then
1932 cc_check
-march=$proc $cpuopt=$proc || proc
=pentium4
1934 if test "$proc" = "pentium4"; then
1935 cc_check
-march=$proc $cpuopt=$proc || proc
=error
1938 _march
="-march=$proc"
1939 _mcpu
="$cpuopt=$proc"
1940 if test "$proc" = "error" ; then
1941 echores
"CPU optimization disabled. CPU not recognized or your compiler is too old."
1945 else # if test "$_runtime_cpudetection" = no
1946 # x86-64 is an undocumented option, an intersection of k8 and nocona.
1947 _march
="-march=x86-64"
1948 _mcpu
="$cpuopt=generic"
1949 cc_check
$_mcpu || _mcpu
="x86-64"
1950 cc_check
$_mcpu || _mcpu
=""
1951 cc_check
$_march $_mcpu || _march
=""
1961 _target_arch
='ARCH_SPARC = yes'
1964 echocheck
"CPU type"
1966 case "`echo $karch`" in
1971 sun4u
) proc
=ultrasparc _vis
='yes' ;;
1986 _target_arch
='ARCH_SPARC = yes'
1995 arm|armv4l|armv5tel
)
1997 _target_arch
='ARCH_ARMV4L = yes'
2007 _target_arch
='ARCH_SH3 = yes'
2017 _def_dcbzl
='#undef HAVE_DCBZL'
2018 _target_arch
='ARCH_POWERPC = yes'
2025 echocheck
"CPU type"
2026 case $system_name in
2028 proc
=`$_cpuinfo | grep 'cpu' | cut -d ':' -f 2 | cut -d ',' -f 1 | cut -b 2- | _head 1`
2029 if test -n "`$_cpuinfo | grep altivec`"; then
2030 test $_altivec = auto
&& _altivec
=yes
2034 proc
=`$_cpuinfo | grep "Processor type" | cut -f 3 -d ' ' | sed 's/ppc//'`
2035 if [ `sysctl -n hw.vectorunit` -eq 1 -o \
2036 "`sysctl -n hw.optional.altivec 2> /dev/null`" = "1" ]; then
2037 test $_altivec = auto
&& _altivec
=yes
2041 # only gcc 3.4 works reliably with AltiVec code under NetBSD
2043 2*|
3.0*|
3.1*|
3.2*|
3.3*)
2046 if [ `sysctl -n machdep.altivec` -eq 1 ]; then
2047 test $_altivec = auto
&& _altivec
=yes
2053 proc
=`$_cpuinfo | grep 'type' | cut -f 2 -d ' ' | sed 's/PowerPC_//'`
2056 if test "$_altivec" = yes; then
2057 echores
"$proc altivec"
2063 echocheck
"GCC & CPU optimization abilities"
2065 if test -n "$proc"; then
2067 601) _march
='-mcpu=601' _mcpu
='-mtune=601' ;;
2068 603) _march
='-mcpu=603' _mcpu
='-mtune=603' ;;
2069 603e|
603ev
) _march
='-mcpu=603e' _mcpu
='-mtune=603e' ;;
2070 604|
604e|
604r|
604ev
) _march
='-mcpu=604' _mcpu
='-mtune=604' ;;
2071 740|
740/750|
745/755) _march
='-mcpu=740' _mcpu
='-mtune=740' ;;
2072 750|
750CX
) _march
='-mcpu=750' _mcpu
='-mtune=750' ;;
2073 POWER
) _march
='-mcpu=power' _mcpu
='-mtune=power' ;;
2074 POWER2
) _march
='-mcpu=power2' _mcpu
='-mtune=power2' ;;
2075 POWER3
) _march
='-mcpu=power3' _mcpu
='-mtune=power3' ;;
2078 # gcc 3.1(.1) and up supports 7400 and 7450
2079 if test "$_cc_major" -ge "3" && test "$_cc_minor" -ge "1" ||
test "$_cc_major" -ge "4"; then
2081 7400*|
7410*) _march
='-mcpu=7400' _mcpu
='-mtune=7400' ;;
2082 7447*|
7450*|
7455*) _march
='-mcpu=7450' _mcpu
='-mtune=7450' ;;
2086 # gcc 3.2 and up supports 970
2087 if test "$_cc_major" -ge "3" && test "$_cc_minor" -ge "3" ||
test "$_cc_major" -ge "4"; then
2089 970*|PPC970
*) _march
='-mcpu=970' _mcpu
='-mtune=970'
2090 _def_dcbzl
='#define HAVE_DCBZL 1' ;;
2094 # gcc 3.3 and up supports POWER4
2095 if test "$_cc_major" -ge "3" && test "$_cc_minor" -ge "3" ||
test "$_cc_major" -ge "4"; then
2097 POWER4
) _march
='-mcpu=power4' _mcpu
='-mtune=power4' ;;
2101 # gcc 3.4 and up supports 440*
2102 if test "$_cc_major" -ge "3" && test "$_cc_minor" -ge "4" ||
test "$_cc_major" -ge "4"; then
2104 440EP
*) _march
='-mcpu=440fp' _mcpu
='-mtune=440fp' ;;
2105 440G
* ) _march
='-mcpu=440' _mcpu
='-mtune=440' ;;
2109 # gcc 4.0 and up supports POWER5
2110 if test "$_cc_major" -ge "4"; then
2112 POWER5
*) _march
='-mcpu=power5' _mcpu
='-mtune=power5' ;;
2118 if test -n "$_mcpu"; then
2119 _optimizing
=`echo $_mcpu | cut -c 8-`
2120 echores
"$_optimizing"
2129 _target_arch
='ARCH_ALPHA = yes'
2133 echocheck
"CPU type"
2136 unsigned long ver, mask;
2137 asm ("implver %0" : "=r" (ver));
2138 asm ("amask %1, %0" : "=r" (mask) : "r" (-1));
2139 printf("%ld-%x\n", ver, ~mask);
2143 $_cc -o "$TMPEXE" "$TMPC"
2146 0-0) proc
="ev4"; _mvi
="0";;
2147 1-0) proc
="ev5"; _mvi
="0";;
2148 1-1) proc
="ev56"; _mvi
="0";;
2149 1-101) proc
="pca56"; _mvi
="1";;
2150 2-303) proc
="ev6"; _mvi
="1";;
2151 2-307) proc
="ev67"; _mvi
="1";;
2152 2-1307) proc
="ev68"; _mvi
="1";;
2156 echocheck
"GCC & CPU optimization abilities"
2157 if test "$proc" = "ev68" ; then
2158 cc_check
-mcpu=$proc || proc
=ev67
2160 if test "$proc" = "ev67" ; then
2161 cc_check
-mcpu=$proc || proc
=ev6
2171 _target_arch
='ARCH_SGI_MIPS = yes'
2179 echocheck
"CPU type"
2180 proc
=`hinv -c processor | grep CPU | cut -d " " -f3`
2181 case "`echo $proc`" in
2182 R3000
) _march
='-mips1' _mcpu
='-mtune=r2000' ;;
2183 R4000
) _march
='-mips3' _mcpu
='-mtune=r4000' ;;
2184 R4400
) _march
='-mips3' _mcpu
='-mtune=r4400' ;;
2185 R4600
) _march
='-mips3' _mcpu
='-mtune=r4600' ;;
2186 R5000
) _march
='-mips4' _mcpu
='-mtune=r5000' ;;
2187 R8000|R10000|R12000|R14000|R16000
) _march
='-mips4' _mcpu
='-mtune=r8000' ;;
2189 # gcc < 3.x does not support -mtune.
2190 if test "$cc_vendor" = "gnu" && test "$_cc_major" -lt 3 ; then
2200 _target_arch
='ARCH_PA_RISC = yes'
2210 _target_arch
='ARCH_S390 = yes'
2220 _target_arch
='ARCH_S390X = yes'
2230 _target_arch
='ARCH_VAX = yes'
2240 _target_arch
='ARCH_XTENSA = yes'
2250 _target_arch
='ARCH_GENERIC = yes'
2259 echo "The architecture of your CPU ($host_arch) is not supported by this configure script"
2260 echo "It seems nobody has ported MPlayer to your OS or CPU type yet."
2261 die
"unsupported architecture $host_arch"
2263 esac # case "$host_arch" in
2265 if test "$_runtime_cpudetection" = yes ; then
2267 test "$_cmov" != no
&& _cmov
=yes
2269 test "$_mmx" != no
&& _mmx
=yes
2270 test "$_3dnow" != no
&& _3dnow
=yes
2271 test "$_3dnowext" != no
&& _3dnowext
=yes
2272 test "$_mmxext" != no
&& _mmxext
=yes
2273 test "$_sse" != no
&& _sse
=yes
2274 test "$_sse2" != no
&& _sse2
=yes
2275 test "$_ssse3" != no
&& _ssse3
=yes
2276 test "$_mtrr" != no
&& _mtrr
=yes
2284 echocheck
"extern symbol prefix"
2288 cc_check
-c || die
"Symbol mangling check failed."
2289 sym
=$
(nm
-P -g $TMPEXE)
2290 extern_prefix
=${sym%%ff_extern*}
2291 _def_extern_prefix
="#define EXTERN_PREFIX \"$extern_prefix\""
2292 echores
$extern_prefix
2295 echocheck
"assembler support of -pipe option"
2297 int main(void) { return 0; }
2299 cc_check
-pipe && _pipe
="-pipe" && echores
"yes" || echores
"no"
2302 echocheck
"compiler support of named assembler arguments"
2304 _def_named_asm_args
="#define NAMED_ASM_ARGS 1"
2305 if test "$cc_vendor" = "gnu" && test "$_cc_major" -lt 3 \
2306 -o "$_cc_major" -eq 3 -a "$_cc_minor" = 0 ; then
2308 _def_named_asm_args
="#undef NAMED_ASM_ARGS"
2310 echores
$_named_asm_args
2313 if darwin
&& test "$cc_vendor" = "gnu" ; then
2314 echocheck
"GCC support of -mstackrealign"
2315 # GCC 4.2 and some earlier Apple versions support this flag on x86. Since
2316 # Mac OS X/Intel has an ABI different from Windows this is needed to avoid
2317 # crashes when loading Win32 DLLs. Unfortunately some gcc versions create
2318 # wrong code with this flag, but this can be worked around by adding
2319 # -fno-unit-at-a-time as described in the blog post at
2320 # http://www.dribin.org/dave/blog/archives/2006/12/05/missing_third_param/
2322 __attribute__((noinline)) static int foo3(int i1, int i2, int i3) { return i3; }
2323 int main(void) { return foo3(1,2,3) == 3 ? 0 : 1; }
2325 cc_check
-O4 -mstackrealign && tmp_run
&& _stackrealign
=-mstackrealign
2326 test -z "$_stackrealign" && cc_check
-O4 -mstackrealign -fno-unit-at-a-time \
2327 && tmp_run
&& _stackrealign
="-mstackrealign -fno-unit-at-a-time"
2328 test -n "$_stackrealign" && echores
"yes" || echores
"no"
2329 fi # if darwin && test "$cc_vendor" = "gnu" ; then
2332 # Checking for CFLAGS
2334 if test "$_profile" != "" ||
test "$_debug" != "" ; then
2335 CFLAGS
="-W -Wall -O2 $_march $_mcpu $_pipe $_debug $_profile"
2337 elif test -z "$CFLAGS" ; then
2338 if test "$cc_vendor" = "intel" ; then
2339 CFLAGS
="-O2 $_march $_mcpu $_pipe -fomit-frame-pointer -wd167 -wd556 -wd144"
2340 elif test "$cc_vendor" != "gnu" ; then
2341 CFLAGS
="-O2 $_march $_mcpu $_pipe"
2343 CFLAGS
="-Wall -Wno-switch -Wpointer-arith -Wredundant-decls -O4 $_march $_mcpu $_pipe -ffast-math -fomit-frame-pointer"
2348 if test -n "$LDFLAGS" ; then
2349 _ld_extra
="$_ld_extra $LDFLAGS"
2351 elif test "$cc_vendor" = "intel" ; then
2352 _ld_extra
="$_ld_extra -i-static"
2354 if test -n "$CPPFLAGS" ; then
2355 _inc_extra
="$_inc_extra $CPPFLAGS"
2362 # Checking assembler (_as) compatibility...
2363 # Added workaround for older as that reads from stdin by default - atmos
2364 as_version
=`echo '' | $_as -version 2>&1 | sed -n 's/^.*assembler \(version \)*\([0-9.]*\).*$/\2/p'`
2365 echocheck
"assembler ($_as $as_version)"
2367 _pref_as_version
='2.9.1'
2369 if test "$_mmx" = yes ; then
2370 echo 'emms' >> $TMPS
2372 if test "$_3dnow" = yes ; then
2373 _pref_as_version
='2.10.1'
2374 echo 'femms' >> $TMPS
2376 if test "$_3dnowext" = yes ; then
2377 _pref_as_version
='2.10.1'
2378 echo 'pswapd %mm0, %mm0' >> $TMPS
2380 if test "$_mmxext" = yes ; then
2381 _pref_as_version
='2.10.1'
2382 echo 'movntq %mm0, (%eax)' >> $TMPS
2384 if test "$_sse" = yes ; then
2385 _pref_as_version
='2.10.1'
2386 echo 'xorps %xmm0, %xmm0' >> $TMPS
2388 #if test "$_sse2" = yes ; then
2389 # _pref_as_version='2.11'
2390 # echo 'xorpd %xmm0, %xmm0' >> $TMPS
2392 if test "$_cmov" = yes ; then
2393 _pref_as_version
='2.10.1'
2394 echo 'cmovb %eax, %ebx' >> $TMPS
2396 if test "$_ssse3" = yes ; then
2397 _pref_as_version
='2.16.92'
2398 echo 'pabsd %xmm0, %xmm1' >> $TMPS
2400 $_as $TMPS -o $TMPEXE > /dev
/null
2>&1 || as_verc_fail
=yes
2402 if test "$as_verc_fail" != yes ; then
2405 _res_comment
="Upgrade binutils to ${_pref_as_version} or use --disable-ssse3 etc."
2407 die
"obsolete binutils version"
2412 echocheck
".align is a power of two"
2413 if test "$_asmalign_pot" = auto
; then
2416 int main(void) { asm (".align 3"); return 0; }
2418 cc_check
&& _asmalign_pot
=yes
2420 if test "$_asmalign_pot" = "yes" ; then
2421 _def_asmalign_pot
='#define ASMALIGN(ZEROBITS) ".align " #ZEROBITS "\n\t"'
2423 _def_asmalign_pot
='#define ASMALIGN(ZEROBITS) ".align 1<<" #ZEROBITS "\n\t"'
2425 echores
$_asmalign_pot
2428 #FIXME: This should happen before the check for CFLAGS..
2429 if ppc
&& ( test "$_altivec" = yes ||
test "$_runtime_cpudetection" = yes ) ; then
2431 # check if AltiVec is supported by the compiler, and how to enable it
2432 echocheck
"GCC AltiVec flags"
2434 int main(void) { return 0; }
2436 if $
(cc_check
-maltivec -mabi=altivec
) ; then
2437 _altivec_gcc_flags
="-maltivec -mabi=altivec"
2438 # check if <altivec.h> should be included
2439 _def_altivec_h
='#undef HAVE_ALTIVEC_H'
2441 #include <altivec.h>
2442 int main(void) { return 0; }
2444 if $
(cc_check
$_altivec_gcc_flags) ; then
2445 _def_altivec_h
='#define HAVE_ALTIVEC_H 1'
2446 inc_altivec_h
='#include <altivec.h>'
2449 int main(void) { return 0; }
2451 if $
(cc_check
-faltivec) ; then
2452 _altivec_gcc_flags
="-faltivec"
2455 _altivec_gcc_flags
="none, AltiVec disabled"
2459 echores
"$_altivec_gcc_flags"
2461 # check if the compiler supports braces for vector declarations
2464 #define AVV(x...) {x}
2465 int main(void) { (vector int) AVV(1); return 0; }
2467 cc_check
$_altivec_gcc_flags &&
2468 _def_altivec_vector_braces
='#define HAVE_ALTIVEC_VECTOR_BRACES 1'
2470 # Disable runtime cpudetection if we cannot generate AltiVec code or
2471 # AltiVec is disabled by the user.
2472 test "$_runtime_cpudetection" = yes && test "$_altivec" = no \
2473 && _runtime_cpudetection
=no
2475 # Show that we are optimizing for AltiVec (if enabled and supported).
2476 test "$_runtime_cpudetection" = no
&& test "$_altivec" = yes \
2477 && _optimizing
="$_optimizing altivec"
2479 # If AltiVec is enabled, make sure the correct flags turn up in CFLAGS.
2480 test "$_altivec" = yes && CFLAGS
="$CFLAGS $_altivec_gcc_flags"
2484 echocheck
"ARMv5TE (Enhanced DSP Extensions)"
2485 if test $_armv5te = "auto" ; then
2487 int main(void) { __asm__ __volatile__ ("qadd r0, r0, r0"); return 0; }
2490 cc_check
&& _armv5te
=yes
2494 echocheck
"ARMv6 (SIMD instructions)"
2495 if test $_armv6 = "auto" ; then
2497 int main(void) { __asm__ __volatile__ ("sadd16 r0, r0, r0"); return 0; }
2500 cc_check
&& _armv6
=yes
2504 echocheck
"iWMMXt (Intel XScale SIMD instructions)"
2505 if test $_iwmmxt = "auto" ; then
2507 int main(void) { __asm__ __volatile__ ("wunpckelub wr6, wr4"); return 0; }
2510 cc_check
&& _iwmmxt
=yes
2515 _cpuexts_all
='ALTIVEC MMX MMX2 3DNOW 3DNOWEX SSE SSE2 SSSE3 FAST_CMOV CMOV ARMV5TE ARMV6 IWMMXT MLIB MMI SH4 VIS MVI'
2516 test "$_altivec" = yes && _cpuexts
="ALTIVEC $_cpuexts"
2517 test "$_mmx" = yes && _cpuexts
="MMX $_cpuexts"
2518 test "$_mmxext" = yes && _cpuexts
="MMX2 $_cpuexts"
2519 test "$_3dnow" = yes && _cpuexts
="3DNOW $_cpuexts"
2520 test "$_3dnowext" = yes && _cpuexts
="3DNOWEX $_cpuexts"
2521 test "$_sse" = yes && _cpuexts
="SSE $_cpuexts"
2522 test "$_sse2" = yes && _cpuexts
="SSE2 $_cpuexts"
2523 test "$_ssse3" = yes && _cpuexts
="SSSE3 $_cpuexts"
2524 test "$_cmov" = yes && _cpuexts
="CMOV $_cpuexts"
2525 test "$_fast_cmov" = yes && _cpuexts
="FAST_CMOV $_cpuexts"
2526 test "$_armv5te" = yes && _cpuexts
="ARMV5TE $_cpuexts"
2527 test "$_armv6" = yes && _cpuexts
="ARMV6 $_cpuexts"
2528 test "$_iwmmxt" = yes && _cpuexts
="IWMMXT $_cpuexts"
2529 test "$_vis" = yes && _cpuexts
="VIS $_cpuexts"
2530 test "$_mvi" = yes && _cpuexts
="MVI $_cpuexts"
2532 # Checking kernel version...
2533 if x86_32
&& linux
; then
2535 kernel_version
=`uname -r 2>&1`
2536 echocheck
"$system_name kernel version"
2537 case "$kernel_version" in
2538 '') kernel_version
="?.??"; _k_verc_fail
=yes;;
2539 [0-1].
[0-9].
[0-9]*|
2.
[0-3].
[0-9]*)
2540 _k_verc_problem
=yes;;
2542 if test "$_k_verc_problem" = yes && test "$_sse" = yes ; then
2545 if test "$_k_verc_fail" ; then
2546 echores
"$kernel_version, fail"
2547 echo "WARNING! If you want to run MPlayer on this system, get prepared for problems!"
2548 echo "2.2.x has limited SSE support. Upgrade the kernel or use --disable-sse if you"
2549 echo "experience crashes. MPlayer tries to autodetect if your kernel correctly"
2550 echo "supports SSE, but you have been warned! If you are using a kernel older than"
2551 echo "2.2.x you must upgrade it to get SSE support!"
2552 # die "Your kernel is too old for this CPU." # works fine on some 2.2.x so don't die (later check will test)
2554 echores
"$kernel_version, ok"
2558 ######################
2559 # MAIN TESTS GO HERE #
2560 ######################
2565 int main(void) { return 0; }
2567 if cc_check
-lposix ; then
2568 _ld_extra
="$_ld_extra -lposix"
2576 int main(void) { return 0; }
2578 if cc_check
-lm ; then
2587 echocheck
"langinfo"
2588 if test "$_langinfo" = auto
; then
2590 #include <langinfo.h>
2591 int main(void) { nl_langinfo(CODESET); return 0; }
2594 cc_check
&& _langinfo
=yes
2596 if test "$_langinfo" = yes ; then
2597 _def_langinfo
='#define USE_LANGINFO 1'
2599 _def_langinfo
='#undef USE_LANGINFO'
2601 echores
"$_langinfo"
2604 echocheck
"language"
2605 test -z "$_language" && _language
=$LINGUAS
2606 _language
=`echo $_language | tr , " "`
2607 echo $_language |
grep -q all || msg_langs
="$_language en"
2608 for lang
in $_language ; do
2609 test "$lang" = all
&& lang
=en
2610 if test -f "help/help_mp-${lang}.h" ; then
2614 echo ${_echo_n} "$lang not found, ${_echo_c}"
2615 _language
=`echo $_language | sed "s/$lang *//"`
2618 test -z "$_language" && _language
=en
2619 _mp_help
="help/help_mp-${_language}.h"
2620 for lang
in $msg_langs ; do
2621 if test -f "DOCS/man/$lang/mplayer.1" ; then
2622 MAN_LANG_ALL
="$lang $MAN_LANG_ALL"
2625 MAN_LANG
="$(echo $MAN_LANG_ALL | sed 's/en//')"
2626 _doc_lang
=$_language
2627 test -d DOCS
/xml
/$_doc_lang || _doc_lang
=en
2628 echores
"using $_language (man pages: $MAN_LANG_ALL)"
2631 echocheck
"enable sighandler"
2632 if test "$_sighandler" = yes ; then
2633 _def_sighandler
='#define ENABLE_SIGHANDLER 1'
2635 _def_sighandler
='#undef ENABLE_SIGHANDLER'
2637 echores
"$_sighandler"
2639 echocheck
"runtime cpudetection"
2640 if test "$_runtime_cpudetection" = yes ; then
2641 _optimizing
="Runtime CPU-Detection enabled"
2642 _def_runtime_cpudetection
='#define RUNTIME_CPUDETECT 1'
2644 _def_runtime_cpudetection
='#undef RUNTIME_CPUDETECT'
2646 echores
"$_runtime_cpudetection"
2649 echocheck
"restrict keyword"
2650 for restrict_keyword
in restrict __restrict __restrict__
; do
2651 echo "void foo(char * $restrict_keyword p); int main(void) { return 0; }" > $TMPC
2653 _def_restrict_keyword
=$restrict_keyword
2657 if [ -n "$_def_restrict_keyword" ]; then
2658 echores
"$_def_restrict_keyword"
2662 # Avoid infinite recursion loop ("#define restrict restrict")
2663 if [ "$_def_restrict_keyword" != "restrict" ]; then
2664 _def_restrict_keyword
="#define restrict $_def_restrict_keyword"
2666 _def_restrict_keyword
=""
2670 echocheck
"__builtin_expect"
2671 # GCC branch prediction hint
2674 a = __builtin_expect (a, 10);
2675 return a == 10 ? 0 : 1;
2677 int main(void) { return foo(10) && foo(0); }
2680 cc_check
&& _builtin_expect
=yes
2681 if test "$_builtin_expect" = yes ; then
2682 _def_builtin_expect
='#define HAVE_BUILTIN_EXPECT 1'
2684 _def_builtin_expect
='#undef HAVE_BUILTIN_EXPECT'
2686 echores
"$_builtin_expect"
2692 int main(void) { (void) kstat_open(); (void) kstat_close(0); return 0; }
2695 cc_check
-lkstat && _kstat
=yes
2696 if test "$_kstat" = yes ; then
2697 _def_kstat
="#define HAVE_LIBKSTAT 1"
2698 _ld_extra
="$_ld_extra -lkstat"
2700 _def_kstat
="#undef HAVE_LIBKSTAT"
2706 # required for nanosleep on some systems
2709 int main(void) { (void) nanosleep(0, 0); return 0; }
2712 cc_check
-lposix4 && _posix4
=yes
2713 if test "$_posix4" = yes ; then
2714 _ld_extra
="$_ld_extra -lposix4"
2718 for func
in llrint lrint lrintf round roundf
; do
2722 int main(void) { long (*foo)(float); foo = $func; (void)(*foo)(0.0); return 0; }
2725 cc_check
-D_ISOC99_SOURCE $_ld_lm && eval _
$func=yes
2726 if eval test "x\$_$func" = "xyes"; then
2727 eval _def_
$func="\"#define HAVE_`echo $func | tr '[a-z]' '[A-Z]'` 1\""
2730 eval _def_
$func="\"#undef HAVE_`echo $func | tr '[a-z]' '[A-Z]'`\""
2739 int main(void) { char a; mkstemp(&a); return 0; }
2742 cc_check
&& _mkstemp
=yes
2743 if test "$_mkstemp" = yes ; then
2744 _def_mkstemp
='#define HAVE_MKSTEMP 1'
2746 _def_mkstemp
='#undef HAVE_MKSTEMP'
2751 echocheck
"nanosleep"
2752 # also check for nanosleep
2755 int main(void) { (void) nanosleep(0, 0); return 0; }
2758 cc_check
&& _nanosleep
=yes
2759 if test "$_nanosleep" = yes ; then
2760 _def_nanosleep
='#define HAVE_NANOSLEEP 1'
2762 _def_nanosleep
='#undef HAVE_NANOSLEEP'
2764 echores
"$_nanosleep"
2768 # for Solaris (socket stuff is in -lsocket, gethostbyname and friends in -lnsl):
2769 # for BeOS (socket stuff is in -lsocket, gethostbyname and friends in -lbind):
2772 #include <sys/socket.h>
2773 int main(void) { (void) gethostbyname(0); (void) socket(AF_INET, SOCK_STREAM, 0); return 0; }
2776 for _ld_tmp
in "" "-lsocket -lbind" "-lsocket -ldnet" "-lsocket -lnsl" "-lnsl" "-lsocket" ; do
2777 cc_check
$_ld_tmp && _ld_sock
="$_ld_tmp" && _socklib
=yes && break
2779 if test $_winsock2 = auto
&& ! cygwin
; then
2782 #include <winsock2.h>
2783 int main(void) { (void) gethostbyname(0); return 0; }
2785 cc_check
-lws2_32 && _ld_sock
="-lws2_32" && _winsock2
=yes
2787 test "$_ld_sock" && _res_comment
="using $_ld_sock"
2791 if test $_winsock2 = yes ; then
2793 _def_winsock2
='#define HAVE_WINSOCK2 1'
2795 _def_winsock2
='#undef HAVE_WINSOCK2'
2800 echocheck
"inet_pton()"
2802 #include <sys/types.h>
2803 #include <sys/socket.h>
2804 #include <arpa/inet.h>
2805 int main(void) { (void) inet_pton(0, 0, 0); return 0; }
2807 if test "$_winsock2" = yes ; then
2808 _res_comment
="using winsock2 functions instead"
2810 elif cc_check
$_ld_sock ; then
2811 # NOTE: Linux has libresolv but does not need it
2813 _res_comment
="using $_ld_sock"
2815 elif cc_check
$_ld_sock -lresolv ; then
2816 # NOTE: needed for SunOS at least
2817 _ld_sock
="$_ld_sock -lresolv"
2818 _res_comment
="using $_ld_sock"
2821 _res_comment
="trying inet_aton next"
2824 echocheck
"inet_aton()"
2826 #include <sys/types.h>
2827 #include <sys/socket.h>
2828 #include <arpa/inet.h>
2829 int main(void) { (void) inet_aton(0, 0); return 0; }
2832 if cc_check
$_ld_sock ; then
2833 # NOTE: Linux has libresolv but does not need it
2835 _res_comment
="using $_ld_sock"
2836 elif cc_check
$_ld_sock -lresolv ; then
2837 # NOTE: needed for SunOS at least
2838 _ld_sock
="$_ld_sock -lresolv"
2839 _res_comment
="using $_ld_sock"
2843 _res_comment
="network support disabled"
2845 echores
"$_use_aton"
2848 _def_use_aton
='#undef USE_ATON'
2849 if test "$_use_aton" = yes; then
2850 _def_use_aton
='#define USE_ATON 1'
2854 # FIXME network check
2855 if test "$_network" = yes ; then
2856 _def_network
='#define MPLAYER_NETWORK 1'
2857 _ld_extra
="$_ld_extra $_ld_sock"
2858 _inputmodules
="network $_inputmodules"
2860 _noinputmodules
="network $_noinputmodules"
2861 _def_network
='#undef MPLAYER_NETWORK'
2866 echocheck
"inttypes.h (required)"
2868 #include <inttypes.h>
2869 int main(void) { return 0; }
2872 cc_check
&& _inttypes
=yes
2873 echores
"$_inttypes"
2875 if test "$_inttypes" = no
; then
2876 echocheck
"bitypes.h (inttypes.h predecessor)"
2878 #include <sys/bitypes.h>
2879 int main(void) { return 0; }
2881 cc_check
&& _inttypes
=yes
2882 if test "$_inttypes" = yes ; then
2883 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."
2885 die
"Cannot find header either inttypes.h or bitypes.h. There is no chance for compilation to succeed."
2890 echocheck
"int_fastXY_t in inttypes.h"
2892 #include <inttypes.h>
2894 volatile int_fast16_t v= 0;
2898 cc_check
&& _fast_inttypes
=yes
2899 if test "$_fast_inttypes" = no
; then
2900 _def_fast_inttypes
='
2901 typedef signed char int_fast8_t;
2902 typedef signed int int_fast16_t;
2903 typedef signed int int_fast32_t;
2904 typedef signed long long int_fast64_t;
2905 typedef unsigned char uint_fast8_t;
2906 typedef unsigned int uint_fast16_t;
2907 typedef unsigned int uint_fast32_t;
2908 typedef unsigned long long uint_fast64_t;'
2910 echores
"$_fast_inttypes"
2913 echocheck
"word size"
2914 _mp_wordsize
="#undef MP_WORDSIZE"
2917 #include <sys/types.h>
2918 int main(void) { printf("%d\n", sizeof(size_t)*8); return 0; }
2920 cc_check
&& _wordsize
=`$TMPEXE` && _mp_wordsize
="#define MP_WORDSIZE $_wordsize"
2921 echores
"$_wordsize"
2924 echocheck
"malloc.h"
2927 int main(void) { (void) malloc(0); return 0; }
2930 cc_check
&& _malloc
=yes
2931 if test "$_malloc" = yes ; then
2932 _def_malloc
='#define HAVE_MALLOC_H 1'
2934 _def_malloc
='#undef HAVE_MALLOC_H'
2936 # malloc.h emits a warning in FreeBSD and OpenBSD
2937 freebsd || openbsd || dragonfly
&& _def_malloc
='#undef HAVE_MALLOC_H'
2941 echocheck
"memalign()"
2942 # XXX restrict to x86 ? extend to other CPUs/cacheline sizes ?
2945 int main(void) { (void) memalign(64, sizeof(char)); return 0; }
2948 cc_check
&& _memalign
=yes
2949 if test "$_memalign" = yes ; then
2950 _def_memalign
='#define HAVE_MEMALIGN 1'
2952 _def_memalign
='#undef HAVE_MEMALIGN'
2953 _def_map_memalign
='#define memalign(a,b) malloc(b)'
2954 darwin || _def_memalign_hack
='#define CONFIG_MEMALIGN_HACK 1'
2956 echores
"$_memalign"
2959 echocheck
"alloca.h"
2962 int main(void) { (void) alloca(0); return 0; }
2965 cc_check
&& _alloca
=yes
2967 _def_alloca
='#define HAVE_ALLOCA_H 1'
2969 _def_alloca
='#undef HAVE_ALLOCA_H'
2974 echocheck
"byteswap.h"
2976 #include <byteswap.h>
2977 int main(void) { bswap_16(0); return 0; }
2980 cc_check
&& _byteswap_h
=yes
2982 _def_byteswap_h
='#define HAVE_BYTESWAP_H 1'
2984 _def_byteswap_h
='#undef HAVE_BYTESWAP_H'
2986 echores
"$_byteswap_h"
2991 #include <sys/types.h>
2992 #include <sys/mman.h>
2993 int main(void) { (void) mmap(0, 0, 0, 0, 0, 0); return 0; }
2996 cc_check
&& _mman
=yes
2997 if test "$_mman" = yes ; then
2998 _def_mman
='#define HAVE_SYS_MMAN_H 1'
3000 _def_mman
='#undef HAVE_SYS_MMAN_H'
3001 os2
&& _need_mmap
=yes
3006 #include <sys/types.h>
3007 #include <sys/mman.h>
3008 int main(void) { void *p = MAP_FAILED; return 0; }
3010 _mman_has_map_failed
=no
3011 cc_check
&& _mman_has_map_failed
=yes
3012 if test "$_mman_has_map_failed" = yes ; then
3013 _def_mman_has_map_failed
=''
3015 _def_mman_has_map_failed
='#define MAP_FAILED ((void *) -1)'
3018 echocheck
"dynamic loader"
3022 int main(void) { dlopen(NULL, 0); dlclose(NULL); dlsym(NULL, NULL); return 0; }
3025 for _ld_tmp
in "" "-ldl" ; do
3026 cc_check
$_ld_tmp && _ld_dl
="$_ld_tmp" && _dl
=yes && break
3028 if test "$_dl" = yes ; then
3029 _def_dl
='#define HAVE_LIBDL 1'
3031 _def_dl
='#undef HAVE_LIBDL'
3036 echocheck
"dynamic a/v plugins support"
3037 if test "$_dl" = no
; then
3040 if test "$_dynamic_plugins" = yes ; then
3041 _def_dynamic_plugins
='#define DYNAMIC_PLUGINS 1'
3043 _def_dynamic_plugins
='#undef DYNAMIC_PLUGINS'
3045 echores
"$_dynamic_plugins"
3048 _def_threads
='#undef HAVE_THREADS'
3051 if test "$_pthreads" = auto
; then
3053 #include <pthread.h>
3054 void* func(void *arg) { return arg; }
3055 int main(void) { pthread_t tid; return pthread_create (&tid, 0, func, 0) == 0 ? 0 : 1; }
3059 for _ld_tmp
in "-lpthreadGC2" "" "-lpthread" "-pthread" ; do
3060 # for crosscompilation, we cannot execute the program, be happy if we can link statically
3061 cc_check
$_ld_tmp && (tmp_run ||
test "$_ld_static") && _ld_pthread
="$_ld_tmp" && _pthreads
=yes && break
3065 if test "$_pthreads" = yes ; then
3066 _res_comment
="using $_ld_pthread"
3067 _def_pthreads
='#define HAVE_PTHREADS 1'
3068 _def_threads
='#define HAVE_THREADS 1'
3070 _res_comment
="v4l, v4l2, ao_nas, win32 loader disabled"
3071 _def_pthreads
='#undef HAVE_PTHREADS'
3072 _nas
=no
; _tv_v4l1
=no
; _tv_v4l2
=no
3073 mingw32 || _win32dll
=no
3075 echores
"$_pthreads"
3077 echocheck
"w32threads"
3078 if test "$_pthreads" = yes ; then
3079 _res_comment
="using pthread instead"
3082 if test "$_w32threads" = auto
; then
3084 mingw32
&& _w32threads
=yes
3086 test "$_w32threads" = yes && _def_threads
='#define HAVE_THREADS 1'
3087 echores
"$_w32threads"
3091 if test "$_rpath" = yes ; then
3092 for I
in `echo $_ld_extra | sed 's/-L//g'` ; do
3093 tmp
="$tmp ` echo $I | sed 's/.*/ -L& -Wl,-R&/'`"
3100 if test "$_iconv" = auto
; then
3105 #define INBUFSIZE 1024
3106 #define OUTBUFSIZE 4096
3108 char inbuffer[INBUFSIZE];
3109 char outbuffer[OUTBUFSIZE];
3114 char *tocode="UTF-8";
3115 char *fromcode="cp1250";
3116 if ((icdsc = iconv_open (tocode, fromcode)) != (iconv_t)(-1)) {
3117 while ((numread = read (0, inbuffer, INBUFSIZE))) {
3118 char *iptr=inbuffer;
3119 char *optr=outbuffer;
3120 size_t inleft=numread;
3121 size_t outleft=OUTBUFSIZE;
3122 if (iconv(icdsc, (const char **)&iptr, &inleft, &optr, &outleft)
3124 write (1, outbuffer, OUTBUFSIZE - outleft);
3127 if (iconv_close(icdsc) == -1)
3134 for _ld_tmp
in "" "-liconv" "-liconv $_ld_dl" ; do
3135 cc_check
$_ld_lm $_ld_tmp && _ld_extra
="$_ld_extra $_ld_tmp" && \
3139 if test "$_iconv" = yes ; then
3140 _def_iconv
='#define USE_ICONV 1'
3142 _def_iconv
='#undef USE_ICONV'
3147 echocheck
"soundcard.h"
3149 _def_soundcard
='#undef HAVE_SOUNDCARD_H'
3150 _def_sys_soundcard
='#undef HAVE_SYS_SOUNDCARD_H'
3151 for _soundcard_header
in "sys/soundcard.h" "soundcard.h"; do
3153 #include <$_soundcard_header>
3154 int main(void) { return 0; }
3156 cc_check
&& _soundcard_h
=yes && _res_comment
="$_soundcard_header" && break
3159 if test "$_soundcard_h" = yes ; then
3160 if test $_soundcard_header = "sys/soundcard.h"; then
3161 _def_sys_soundcard
='#define HAVE_SYS_SOUNDCARD_H 1'
3163 _def_soundcard
='#define HAVE_SOUNDCARD_H 1'
3166 echores
"$_soundcard_h"
3169 echocheck
"sys/dvdio.h"
3172 #include <sys/dvdio.h>
3173 int main(void) { return 0; }
3176 cc_check
&& _dvdio
=yes
3177 if test "$_dvdio" = yes ; then
3178 _def_dvdio
='#define DVD_STRUCT_IN_SYS_DVDIO_H 1'
3180 _def_dvdio
='#undef DVD_STRUCT_IN_SYS_DVDIO_H'
3185 echocheck
"sys/cdio.h"
3188 #include <sys/cdio.h>
3189 int main(void) { return 0; }
3192 cc_check
&& _cdio
=yes
3193 if test "$_cdio" = yes ; then
3194 _def_cdio
='#define DVD_STRUCT_IN_SYS_CDIO_H 1'
3196 _def_cdio
='#undef DVD_STRUCT_IN_SYS_CDIO_H'
3201 echocheck
"linux/cdrom.h"
3203 #include <sys/types.h>
3204 #include <linux/cdrom.h>
3205 int main(void) { return 0; }
3208 cc_check
&& _cdrom
=yes
3209 if test "$_cdrom" = yes ; then
3210 _def_cdrom
='#define DVD_STRUCT_IN_LINUX_CDROM_H 1'
3212 _def_cdrom
='#undef DVD_STRUCT_IN_LINUX_CDROM_H'
3220 int main(void) { return 0; }
3223 cc_check
&& _dvd
=yes
3224 if test "$_dvd" = yes ; then
3225 _def_dvd
='#define DVD_STRUCT_IN_DVD_H 1'
3227 _def_dvd
='#undef DVD_STRUCT_IN_DVD_H'
3233 echocheck
"BSDI dvd.h"
3236 int main(void) { return 0; }
3239 cc_check
&& _bsdi_dvd
=yes
3240 if test "$_bsdi_dvd" = yes ; then
3241 _def_bsdi_dvd
='#define DVD_STRUCT_IN_BSDI_DVDIOCTL_DVD_H 1'
3243 _def_bsdi_dvd
='#undef DVD_STRUCT_IN_BSDI_DVDIOCTL_DVD_H'
3245 echores
"$_bsdi_dvd"
3250 # also used by AIX, but AIX does not support VCD and/or libdvdread
3251 echocheck
"HP-UX SCSI header"
3253 #include <sys/scsi.h>
3254 int main(void) { return 0; }
3257 cc_check
&& _hpux_scsi_h
=yes
3258 if test "$_hpux_scsi_h" = yes ; then
3259 _def_hpux_scsi_h
='#define HPUX_SCTL_IO 1'
3261 _def_hpux_scsi_h
='#undef HPUX_SCTL_IO'
3263 echores
"$_hpux_scsi_h"
3268 echocheck
"userspace SCSI headers (Solaris)"
3271 #include <stropts.h>
3272 #include <sys/scsi/scsi_types.h>
3273 #include <sys/scsi/impl/uscsi.h>
3274 int main(void) { return 0; }
3277 cc_check
&& _sol_scsi_h
=yes
3278 if test "$_sol_scsi_h" = yes ; then
3279 _def_sol_scsi_h
='#define SOLARIS_USCSI 1'
3281 _def_sol_scsi_h
='#undef SOLARIS_USCSI'
3283 echores
"$_sol_scsi_h"
3288 if test "$_termcap" = auto
; then
3292 int main(void) { tgetent(NULL, NULL); return 0; }
3295 for _ld_tmp
in "-lncurses" "-ltinfo" "-ltermcap"; do
3296 cc_check
$_ld_tmp && _ld_extra
="$_ld_extra $_ld_tmp" \
3297 && _termcap
=yes && break
3300 if test "$_termcap" = yes ; then
3301 _def_termcap
='#define USE_TERMCAP 1'
3302 _res_comment
="using $_ld_tmp"
3304 _def_termcap
='#undef USE_TERMCAP'
3310 _def_termios
='#undef HAVE_TERMIOS'
3311 _def_termios_h
='#undef HAVE_TERMIOS_H'
3312 _def_termios_sys_h
='#undef HAVE_SYS_TERMIOS_H'
3313 if test "$_termios" = auto
; then
3315 for _termios_header
in "sys/termios.h" "termios.h"; do
3317 #include <$_termios_header>
3318 int main(void) { return 0; }
3320 cc_check
&& _termios
=yes && _res_comment
="$_termios_header" && break
3324 if test "$_termios" = yes ; then
3325 _def_termios
='#define HAVE_TERMIOS 1'
3326 if test "$_termios_header" = "termios.h" ; then
3327 _def_termios_h
='#define HAVE_TERMIOS_H 1'
3329 _def_termios_sys_h
='#define HAVE_SYS_TERMIOS_H 1'
3336 if test "$_shm" = auto
; then
3338 #include <sys/types.h>
3339 #include <sys/shm.h>
3340 int main(void) { shmget(0, 0, 0); shmat(0, 0, 0); shmctl(0, 0, 0); return 0; }
3343 cc_check
&& _shm
=yes
3345 if test "$_shm" = yes ; then
3346 _def_shm
='#define HAVE_SHM 1'
3348 _def_shm
='#undef HAVE_SHM'
3353 echocheck
"strsep()"
3356 int main(void) { char *s = "Hello, world!"; (void) strsep(&s, ","); return 0; }
3359 cc_check
&& _strsep
=yes
3360 if test "$_strsep" = yes ; then
3361 _def_strsep
='#define HAVE_STRSEP 1'
3364 _def_strsep
='#undef HAVE_STRSEP'
3370 echocheck
"vsscanf()"
3373 int main(void) { vsscanf(0, 0, 0); return 0; }
3376 cc_check
&& _vsscanf
=yes
3377 if test "$_vsscanf" = yes ; then
3378 _def_vsscanf
='#define HAVE_VSSCANF 1'
3381 _def_vsscanf
='#undef HAVE_VSSCANF'
3390 int main(void) { swab(0, 0, 0); return 0; }
3393 cc_check
&& _swab
=yes
3394 if test "$_swab" = yes ; then
3395 _def_swab
='#define HAVE_SWAB 1'
3398 _def_swab
='#undef HAVE_SWAB'
3403 echocheck
"POSIX select()"
3407 #include <sys/types.h>
3409 #include <sys/time.h>
3411 int main(void) {int nfds = 1; fd_set readfds; struct timeval timeout; select(nfds,&readfds,NULL,NULL,&timeout); return 0; }
3414 _def_posix_select
='#undef HAVE_POSIX_SELECT'
3415 #select() of kLIBC (OS/2) supports socket only
3416 ! os2
&& cc_check
&& _posix_select
=yes \
3417 && _def_posix_select
='#define HAVE_POSIX_SELECT 1'
3418 echores
"$_posix_select"
3421 echocheck
"gettimeofday()"
3424 #include <sys/time.h>
3425 int main(void) {struct timeval tv_start; gettimeofday(&tv_start, NULL); return 0; }
3428 cc_check
&& _gettimeofday
=yes
3429 if test "$_gettimeofday" = yes ; then
3430 _def_gettimeofday
='#define HAVE_GETTIMEOFDAY 1'
3431 _need_gettimeofday
=no
3433 _def_gettimeofday
='#undef HAVE_GETTIMEOFDAY'
3434 _need_gettimeofday
=yes
3436 echores
"$_gettimeofday"
3443 int main(void) { glob_t gg; glob("filename",0,NULL,&gg); return 0; }
3446 cc_check
&& _glob
=yes
3447 if test "$_glob" = yes ; then
3448 _def_glob
='#define HAVE_GLOB 1'
3451 _def_glob
='#undef HAVE_GLOB'
3457 echocheck
"setenv()"
3460 int main(void) { setenv("","",0); return 0; }
3463 cc_check
&& _setenv
=yes
3464 if test "$_setenv" = yes ; then
3465 _def_setenv
='#define HAVE_SETENV 1'
3468 _def_setenv
='#undef HAVE_SETENV'
3475 echocheck
"sysi86()"
3477 #include <sys/sysi86.h>
3478 int main(void) { sysi86(0); return 0; }
3481 cc_check
&& _sysi86
=yes
3482 if test "$_sysi86" = yes ; then
3483 _def_sysi86
='#define HAVE_SYSI86 1'
3485 #include <sys/sysi86.h>
3486 int main(void) { int sysi86(int, void*); sysi86(0); return 0; }
3488 cc_check
&& _def_sysi86_iv
='#define HAVE_SYSI86_iv 1'
3490 _def_sysi86
='#undef HAVE_SYSI86'
3496 echocheck
"sys/sysinfo.h"
3498 #include <sys/sysinfo.h>
3500 struct sysinfo s_info;
3506 cc_check
&& _sys_sysinfo
=yes
3507 if test "$_sys_sysinfo" = yes ; then
3508 _def_sys_sysinfo
='#define HAVE_SYS_SYSINFO_H 1'
3510 _def_sys_sysinfo
='#undef HAVE_SYS_SYSINFO_H'
3512 echores
"$_sys_sysinfo"
3517 echocheck
"Mac OS X APIs"
3518 if test "$_macosx" = auto
; then
3519 productName
=`/usr/bin/sw_vers -productName`
3520 if test "$productName" = "Mac OS X" ||
3521 test "$productName" = "Mac OS X Server" ; then
3525 _noaomodules
="macosx $_noaomodules"
3526 _novomodules
="quartz $_novomodules"
3529 if test "$_macosx" = yes ; then
3531 #include <Carbon/Carbon.h>
3532 #include <QuickTime/QuickTime.h>
3533 #include <CoreAudio/CoreAudio.h>
3537 CFRunLoopRunInMode(kCFRunLoopDefaultMode, 0, false);
3541 if cc_check
-framework Carbon
-framework QuickTime
-framework CoreAudio
; then
3542 _ld_extra
="$_ld_extra -framework Carbon -framework QuickTime -framework CoreAudio -framework AudioUnit -framework AudioToolbox"
3544 _def_coreaudio
='#define HAVE_COREAUDIO 1'
3545 _aosrc
="$_aosrc ao_macosx.c"
3546 _aomodules
="macosx $_aomodules"
3547 _def_quartz
='#define HAVE_QUARTZ 1'
3548 _vosrc
="$_vosrc vo_quartz.c"
3549 _vomodules
="quartz $_vomodules"
3550 _def_quicktime
='#define HAVE_QUICKTIME 1'
3554 _def_coreaudio
='#undef HAVE_COREAUDIO'
3555 _noaomodules
="macosx $_noaomodules"
3556 _def_quartz
='#undef HAVE_QUARTZ'
3557 _novomodules
="quartz $_novomodules"
3558 _def_quicktime
='#undef HAVE_QUICKTIME'
3561 #include <Carbon/Carbon.h>
3562 #include <QuartzCore/CoreVideo.h>
3563 int main(void) { return 0; }
3565 if cc_check
-framework Carbon
-framework QuartzCore
-framework OpenGL
; then
3566 _vosrc
="$_vosrc vo_macosx.m"
3567 _vomodules
="macosx $_vomodules"
3568 _ld_extra
="$_ld_extra -framework Cocoa -framework QuartzCore -framework OpenGL"
3569 _def_corevideo
='#define HAVE_COREVIDEO 1'
3572 _novomodules
="macosx $_novomodules"
3573 _def_corevideo
='#undef HAVE_COREVIDEO'
3579 echocheck
"Mac OS X Finder Support"
3580 if test "$_macosx_finder_support" = auto
; then
3581 _macosx_finder_support
=$_macosx
3583 if test "$_macosx_finder_support" = yes; then
3584 _def_macosx_finder_support
='#define MACOSX_FINDER_SUPPORT 1'
3585 _macosx_finder_support
=yes
3587 _def_macosx_finder_support
='#undef MACOSX_FINDER_SUPPORT'
3588 _macosx_finder_support
=no
3590 echores
"$_macosx_finder_support"
3592 echocheck
"Mac OS X Bundle file locations"
3593 if test "$_macosx_bundle" = auto
; then
3594 _macosx_bundle
=$_macosx_finder_support
3596 if test "$_macosx_bundle" = yes; then
3597 _def_macosx_bundle
='#define MACOSX_BUNDLE 1'
3599 _def_macosx_bundle
='#undef MACOSX_BUNDLE'
3602 echores
"$_macosx_bundle"
3604 echocheck
"Apple Remote"
3605 if test "$_apple_remote" = auto
; then
3609 #include <IOKit/IOCFPlugIn.h>
3611 io_iterator_t hidObjectIterator = (io_iterator_t)NULL;
3612 CFMutableDictionaryRef hidMatchDictionary;
3613 IOReturn ioReturnValue;
3615 // Set up a matching dictionary to search the I/O Registry by class.
3616 // name for all HID class devices
3617 hidMatchDictionary = IOServiceMatching("AppleIRController");
3619 // Now search I/O Registry for matching devices.
3620 ioReturnValue = IOServiceGetMatchingServices(kIOMasterPortDefault,
3621 hidMatchDictionary, &hidObjectIterator);
3623 // If search is unsuccessful, return nonzero.
3624 if (ioReturnValue != kIOReturnSuccess ||
3625 !IOIteratorIsValid(hidObjectIterator)) {
3631 cc_check
-framework IOKit
&& tmp_run
&& _apple_remote
=yes
3633 if test "$_apple_remote" = yes ; then
3634 _def_apple_remote
='#define HAVE_APPLE_REMOTE 1'
3635 _ld_extra
="$_ld_extra -framework IOKit"
3637 _def_apple_remote
='#undef HAVE_APPLE_REMOTE'
3639 echores
"$_apple_remote"
3645 echocheck
"Apple IR"
3646 if test "$_apple_ir" = auto
; then
3649 #include <linux/types.h>
3650 #include <linux/input.h>
3652 struct input_event ev;
3657 cc_check
&& tmp_run
&& _apple_ir
=yes
3659 if test "$_apple_ir" = yes ; then
3660 _def_apple_ir
='#define HAVE_APPLE_IR 1'
3662 _def_apple_ir
='#undef HAVE_APPLE_IR'
3664 echores
"$_apple_ir"
3667 echocheck
"pkg-config"
3668 _pkg_config
=pkg-config
3669 if `$_pkg_config --version > /dev/null 2>&1`; then
3670 if test "$_ld_static"; then
3671 _pkg_config
="$_pkg_config --static"
3680 echocheck
"Samba support (libsmbclient)"
3681 if test "$_smbsupport" = yes; then
3682 _ld_extra
="$_ld_extra -lsmbclient"
3684 if test "$_smbsupport" = auto
; then
3687 #include <libsmbclient.h>
3688 int main(void) { smbc_opendir("smb://"); return 0; }
3690 for _ld_tmp
in "-lsmbclient" "-lsmbclient $_ld_dl" "-lsmbclient $_ld_dl -lnsl" "-lsmbclient $_ld_dl -lssl -lnsl" ; do
3691 cc_check
$_ld_tmp && _ld_extra
="$_ld_extra $_ld_tmp" && \
3692 _smbsupport
=yes && break
3696 if test "$_smbsupport" = yes; then
3697 _def_smbsupport
="#define LIBSMBCLIENT"
3698 _inputmodules
="smb $_inputmodules"
3700 _def_smbsupport
="#undef LIBSMBCLIENT"
3701 _noinputmodules
="smb $_noinputmodules"
3703 echores
"$_smbsupport"
3712 if test "$_tdfxfb" = yes ; then
3713 _def_tdfxfb
='#define HAVE_TDFXFB 1'
3714 _vosrc
="$_vosrc vo_tdfxfb.c"
3715 _vomodules
="tdfxfb $_vomodules"
3717 _def_tdfxfb
='#undef HAVE_TDFXFB'
3718 _novomodules
="tdfxfb $_novomodules"
3723 if test "$_s3fb" = yes ; then
3724 _def_s3fb
='#define HAVE_S3FB 1'
3725 _vosrc
="$_vosrc vo_s3fb.c"
3726 _vomodules
="s3fb $_vomodules"
3728 _def_s3fb
='#undef HAVE_S3FB'
3729 _novomodules
="s3fb $_novomodules"
3734 if test "$_tdfxvid" = yes ; then
3735 _def_tdfxvid
='#define HAVE_TDFX_VID 1'
3736 _vosrc
="$_vosrc vo_tdfx_vid.c"
3737 _vomodules
="tdfx_vid $_vomodules"
3739 _def_tdfxvid
='#undef HAVE_TDFX_VID'
3740 _novomodules
="tdfx_vid $_novomodules"
3745 if test "$_xvr100" = auto
; then
3748 #include <sys/fbio.h>
3749 #include <sys/visual_io.h>
3751 struct vis_identifier ident;
3752 struct fbgattr attr;
3753 ioctl(0, VIS_GETIDENTIFIER, &ident);
3754 ioctl(0, FBIOGATTR, &attr);
3759 cc_check
&& _xvr100
=yes
3761 if test "$_xvr100" = yes ; then
3762 _def_xvr100
='#define HAVE_XVR100 1'
3763 _vosrc
="$_vosrc vo_xvr100.c"
3764 _vomodules
="xvr100 $_vomodules"
3766 _def_tdfxvid
='#undef HAVE_XVR100'
3767 _novomodules
="xvr100 $_novomodules"
3772 if test "$_tga" = yes ; then
3773 _def_tga
='#define HAVE_TGA 1'
3774 _vosrc
="$_vosrc vo_tga.c"
3775 _vomodules
="tga $_vomodules"
3777 _def_tga
='#undef HAVE_TGA'
3778 _novomodules
="tga $_novomodules"
3783 echocheck
"md5sum support"
3784 if test "$_md5sum" = yes; then
3785 _def_md5sum
="#define HAVE_MD5SUM"
3786 _vosrc
="$_vosrc vo_md5sum.c"
3787 _vomodules
="md5sum $_vomodules"
3789 _def_md5sum
="#undef HAVE_MD5SUM"
3790 _novomodules
="md5sum $_novomodules"
3795 echocheck
"yuv4mpeg support"
3796 if test "$_yuv4mpeg" = yes; then
3797 _def_yuv4mpeg
="#define HAVE_YUV4MPEG"
3798 _vosrc
="$_vosrc vo_yuv4mpeg.c"
3799 _vomodules
="yuv4mpeg $_vomodules"
3801 _def_yuv4mpeg
="#undef HAVE_YUV4MPEG"
3802 _novomodules
="yuv4mpeg $_novomodules"
3804 echores
"$_yuv4mpeg"
3808 if test "$_bl" = yes ; then
3809 _def_bl
='#define HAVE_BL 1'
3810 _vosrc
="$_vosrc vo_bl.c"
3811 _vomodules
="bl $_vomodules"
3813 _def_bl
='#undef HAVE_BL'
3814 _novomodules
="bl $_novomodules"
3819 echocheck
"DirectFB"
3820 if test "$_directfb" = auto
; then
3823 #include <directfb.h>
3824 int main(void) { IDirectFB *foo; DirectFBInit(0,0); return 0; }
3826 for _inc_tmp
in "" -I/usr
/local
/include
/directfb \
3827 -I/usr
/include
/directfb
-I/usr
/local
/include
; do
3828 cc_check
$_inc_tmp -ldirectfb && _directfb
=yes && \
3829 _inc_extra
="$_inc_extra $_inc_tmp" && break
3834 expr $1 \
* 65536 + $2 \
* 256 + $3
3837 if test "$_directfb" = yes; then
3839 #include <directfb_version.h>
3841 dfb_ver = DIRECTFB_MAJOR_VERSION.DIRECTFB_MINOR_VERSION.DIRECTFB_MICRO_VERSION
3844 if $_cc -E $TMPC $_inc_extra > "$TMPEXE"; then
3845 _directfb_version
=`sed -n 's/^dfb_ver[^0-9]*\(.*\)/\1/p' "$TMPEXE" | tr -d '()'`
3846 _dfb_major
=`echo $_directfb_version | cut -d . -f 1`
3847 _dfb_minor
=`echo $_directfb_version | cut -d . -f 2`
3848 _dfb_micro
=`echo $_directfb_version | cut -d . -f 3`
3849 _dfb_version
=`dfb_version $_dfb_major $_dfb_minor $_dfb_micro`
3850 if test "$_dfb_version" -ge `dfb_version 0 9 13`; then
3851 _def_directfb_version
="#define DIRECTFBVERSION $_dfb_version"
3852 _res_comment
="$_directfb_version"
3853 test "$_dfb_version" -ge `dfb_version 0 9 15` && _dfbmga
=yes
3855 _def_directfb_version
='#undef DIRECTFBVERSION'
3857 _res_comment
="version >=0.9.13 required"
3861 _res_comment
="failed to get version"
3864 echores
"$_directfb"
3866 if test "$_directfb" = yes ; then
3867 _def_directfb
='#define HAVE_DIRECTFB 1'
3868 _vosrc
="$_vosrc vo_directfb2.c"
3869 _vomodules
="directfb $_vomodules"
3870 _libs_mplayer
="$_libs_mplayer -ldirectfb"
3872 _def_directfb
='#undef HAVE_DIRECTFB'
3873 _novomodules
="directfb $_novomodules"
3875 if test "$_dfbmga" = yes; then
3876 _vosrc
="$_vosrc vo_dfbmga.c"
3877 _vomodules
="dfbmga $_vomodules"
3878 _def_dfbmga
='#define HAVE_DFBMGA 1'
3880 _novomodules
="dfbmga $_novomodules"
3881 _def_dfbmga
='#undef HAVE_DFBMGA'
3885 echocheck
"X11 headers presence"
3887 _res_comment
="check if the dev(el) packages are installed"
3888 for I
in `echo $_inc_extra | sed s/-I//g` /usr
/include
; do
3889 if test -f "$I/X11/Xlib.h" ; then
3895 if test $_cross_compile = no
; then
3896 for I
in /usr
/X11
/include
/usr
/X11R
6/include
/usr
/include
/X11R6
/usr
/openwin
/include
; do
3897 if test -f "$I/X11/Xlib.h" ; then
3898 _inc_extra
="$_inc_extra -I$I"
3900 _res_comment
="using $I"
3905 echores
"$_x11_headers"
3909 if test "$_x11" = auto
&& test "$_x11_headers" = yes ; then
3911 #include <X11/Xlib.h>
3912 #include <X11/Xutil.h>
3913 int main(void) { (void) XCreateWindow(0,0,0,0,0,0,0,0,0,0,0,0); return 0; }
3915 for I
in "" -L/usr
/X11R
6/lib
-L/usr
/lib
/X11R6
-L/usr
/X11
/lib \
3916 -L/usr
/lib32
-L/usr
/openwin
/lib
-L/usr
/X11R
6/lib64
-L/usr
/lib
; do
3918 _ld_tmp
="$I -lXext -lX11 $_ld_pthread -Wl,-R`echo $I | sed s/^-L//`"
3920 _ld_tmp
="$I -lXext -lX11 $_ld_pthread"
3922 cc_check
$_ld_tmp && _libs_mplayer
="$_libs_mplayer $_ld_tmp" \
3923 && _x11
=yes && break
3926 if test "$_x11" = yes ; then
3927 _def_x11
='#define HAVE_X11 1'
3928 _vosrc
="$_vosrc x11_common.c vo_x11.c vo_xover.c"
3929 _vomodules
="x11 xover $_vomodules"
3932 _def_x11
='#undef HAVE_X11'
3933 _novomodules
="x11 $_novomodules"
3934 _res_comment
="check if the dev(el) packages are installed"
3935 # disable stuff that depends on X
3936 _xv
=no
; _xvmc
=no
; _xinerama
=no
; _vm
=no
; _xf86keysym
=no
3940 echocheck
"Xss screensaver extensions"
3941 if test "$_xss" = auto
; then
3943 #include <X11/Xlib.h>
3944 #include <X11/extensions/scrnsaver.h>
3945 int main(void) { XScreenSaverSuspend(NULL, True); return 0; }
3948 cc_check
-lXss && _xss
=yes
3950 if test "$_xss" = yes ; then
3951 _def_xss
='#define HAVE_XSS 1'
3952 _libs_mplayer
="$_libs_mplayer -lXss"
3954 _def_xss
='#undef HAVE_XSS'
3961 if test "$_x11" = yes ; then
3963 #include <X11/Xmd.h>
3964 #include <X11/Xlib.h>
3965 #include <X11/Xutil.h>
3966 #include <X11/Xatom.h>
3967 #include <X11/extensions/dpms.h>
3968 int main(void) { (void) DPMSQueryExtension(0, 0, 0); return 0; }
3970 cc_check
-lXdpms && _xdpms3
=yes
3972 #include <X11/Xlib.h>
3973 #include <X11/extensions/dpms.h>
3974 int main(void) { (void) DPMSQueryExtension(0, 0, 0); return 0; }
3976 cc_check
-lXext && _xdpms4
=yes
3978 if test "$_xdpms4" = yes ; then
3979 _def_xdpms
='#define HAVE_XDPMS 1'
3980 _res_comment
="using Xdpms 4"
3982 elif test "$_xdpms3" = yes ; then
3983 _def_xdpms
='#define HAVE_XDPMS 1'
3984 _libs_mplayer
="$_libs_mplayer -lXdpms"
3985 _res_comment
="using Xdpms 3"
3988 _def_xdpms
='#undef HAVE_XDPMS'
3994 if test "$_xv" = auto
; then
3996 #include <X11/Xlib.h>
3997 #include <X11/extensions/Xvlib.h>
3999 (void) XvGetPortAttribute(0, 0, 0, 0);
4000 (void) XvQueryPortAttributes(0, 0, 0);
4004 cc_check
-lXv && _xv
=yes
4007 if test "$_xv" = yes ; then
4008 _def_xv
='#define HAVE_XV 1'
4009 _libs_mplayer
="$_libs_mplayer -lXv"
4010 _vosrc
="$_vosrc vo_xv.c"
4011 _vomodules
="xv $_vomodules"
4013 _def_xv
='#undef HAVE_XV'
4014 _novomodules
="xv $_novomodules"
4020 if test "$_xv" = yes && test "$_xvmc" != no
; then
4023 #include <X11/Xlib.h>
4024 #include <X11/extensions/Xvlib.h>
4025 #include <X11/extensions/XvMClib.h>
4027 (void) XvMCQueryExtension(0,0,0);
4028 (void) XvMCCreateContext(0,0,0,0,0,0,0);
4031 for _ld_tmp
in $_xvmclib XvMCNVIDIA XvMCW I810XvMC
; do
4032 cc_check
-lXvMC -l$_ld_tmp && _xvmc
=yes && _xvmclib
="$_ld_tmp" && break
4035 if test "$_xvmc" = yes ; then
4036 _def_xvmc
='#define HAVE_XVMC 1'
4037 _libs_mplayer
="$_libs_mplayer -lXvMC -l$_xvmclib"
4038 _vosrc
="$_vosrc vo_xvmc.c"
4039 _vomodules
="xvmc $_vomodules"
4040 _res_comment
="using $_xvmclib"
4042 _def_xvmc
='#undef HAVE_XVMC'
4043 _novomodules
="xvmc $_novomodules"
4044 _libavdecoders
=`echo $_libavdecoders | sed -e s/MPEG_XVMC_DECODER// `
4049 echocheck
"Xinerama"
4050 if test "$_xinerama" = auto
; then
4052 #include <X11/Xlib.h>
4053 #include <X11/extensions/Xinerama.h>
4054 int main(void) { (void) XineramaIsActive(0); return 0; }
4057 cc_check
-lXinerama && _xinerama
=yes
4060 if test "$_xinerama" = yes ; then
4061 _def_xinerama
='#define HAVE_XINERAMA 1'
4062 _libs_mplayer
="$_libs_mplayer -lXinerama"
4064 _def_xinerama
='#undef HAVE_XINERAMA'
4066 echores
"$_xinerama"
4069 # Note: the -lXxf86vm library is the VideoMode extension and though it's not
4070 # needed for DGA, AFAIK every distribution packages together with DGA stuffs
4071 # named 'X extensions' or something similar.
4072 # This check may be useful for future mplayer versions (to change resolution)
4073 # If you run into problems, remove '-lXxf86vm'.
4075 if test "$_vm" = auto
; then
4077 #include <X11/Xlib.h>
4078 #include <X11/extensions/xf86vmode.h>
4079 int main(void) { (void) XF86VidModeQueryExtension(0, 0, 0); return 0; }
4082 cc_check
-lXxf86vm && _vm
=yes
4084 if test "$_vm" = yes ; then
4085 _def_vm
='#define HAVE_XF86VM 1'
4086 _libs_mplayer
="$_libs_mplayer -lXxf86vm"
4088 _def_vm
='#undef HAVE_XF86VM'
4092 # Check for the presence of special keycodes, like audio control buttons
4093 # that XFree86 might have. Used to be bundled with the xf86vm check, but
4094 # has nothing to do with xf86vm and XFree 3.x has xf86vm but does NOT
4095 # have these new keycodes.
4096 echocheck
"XF86keysym"
4097 if test "$_xf86keysym" = auto
; then
4100 #include <X11/Xlib.h>
4101 #include <X11/XF86keysym.h>
4102 int main(void) { return XF86XK_AudioPause; }
4104 cc_check
&& _xf86keysym
=yes
4106 if test "$_xf86keysym" = yes ; then
4107 _def_xf86keysym
='#define HAVE_XF86XK 1'
4109 _def_xf86keysym
='#undef HAVE_XF86XK'
4111 echores
"$_xf86keysym"
4114 if test "$_dga2" = auto
&& test "$_x11" = yes ; then
4116 #include <X11/Xlib.h>
4117 #include <X11/extensions/xf86dga.h>
4118 int main(void) { (void) XDGASetViewport(0, 0, 0, 0, 0); return 0; }
4121 cc_check
-lXxf86dga && _dga2
=yes
4123 if test "$_dga1" = auto
&& test "$_dga2" = no
&& test "$_vm" = yes ; then
4125 #include <X11/Xlib.h>
4126 #include <X11/extensions/xf86dga.h>
4127 int main(void) { (void) XF86DGASetViewPort(0, 0, 0, 0); return 0; }
4130 cc_check
-lXxf86dga -lXxf86vm && _dga1
=yes
4134 _def_dga
='#undef HAVE_DGA'
4135 _def_dga1
='#undef HAVE_DGA1'
4136 _def_dga2
='#undef HAVE_DGA2'
4137 if test "$_dga1" = yes ; then
4139 _def_dga1
='#define HAVE_DGA1 1'
4140 _res_comment
="using DGA 1.0"
4141 elif test "$_dga2" = yes ; then
4143 _def_dga2
='#define HAVE_DGA2 1'
4144 _res_comment
="using DGA 2.0"
4146 if test "$_dga" = yes ; then
4147 _def_dga
='#define HAVE_DGA 1'
4148 _libs_mplayer
="$_libs_mplayer -lXxf86dga"
4149 _vosrc
="$_vosrc vo_dga.c"
4150 _vomodules
="dga $_vomodules"
4152 _novomodules
="dga $_novomodules"
4158 if test "$_3dfx" = yes && test "$_dga" = yes ; then
4159 _def_3dfx
='#define HAVE_3DFX 1'
4160 _vosrc
="$_vosrc vo_3dfx.c"
4161 _vomodules
="3dfx $_vomodules"
4163 _def_3dfx
='#undef HAVE_3DFX'
4164 _novomodules
="3dfx $_novomodules"
4170 #Note: this test is run even with --enable-gl since we autodetect linker flags
4171 if (test "$_x11" = yes || win32
) && test "$_gl" != no
; then
4175 #include <windows.h>
4176 #include <GL/glext.h>
4178 #include <X11/Xlib.h>
4184 wglCreateContext(dc);
4186 glXCreateContext(NULL, NULL, NULL, True);
4193 if cc_check
-lGL $_ld_lm ; then
4195 _libs_mplayer
="$_libs_mplayer -lGL $_ld_dl"
4196 elif cc_check
-lGL $_ld_lm $_ld_pthread ; then
4198 _libs_mplayer
="$_libs_mplayer -lGL $_ld_pthread $_ld_dl"
4199 elif cc_check
-DGL_WIN32 -lopengl32 ; then
4202 _libs_mplayer
="$_libs_mplayer -lopengl32 -lgdi32"
4207 if test "$_gl" = yes ; then
4208 _def_gl
='#define HAVE_GL 1'
4209 _vosrc
="$_vosrc vo_gl.c vo_gl2.c gl_common.c"
4210 if test "$_gl_win32" = yes ; then
4211 _def_gl_win32
='#define GL_WIN32 1'
4212 _vosrc
="$_vosrc w32_common.c"
4213 _res_comment
="win32 version"
4215 _vomodules
="opengl $_vomodules"
4217 _def_gl
='#undef HAVE_GL'
4218 _def_gl_win32
='#undef GL_WIN32'
4219 _novomodules
="opengl $_novomodules"
4225 _def_vidix
='#undef CONFIG_VIDIX'
4226 _def_vidix_drv_cyberblade
='#undef CONFIG_VIDIX_DRV_CYBERBLADE'
4227 _vidix_drv_cyberblade
=no
4228 _def_vidix_drv_ivtv
='#undef CONFIG_VIDIX_DRV_IVTV'
4230 _def_vidix_drv_ivtv
='#undef CONFIG_VIDIX_DRV_IVTV'
4232 _def_vidix_drv_mach64
='#undef CONFIG_VIDIX_DRV_MACH64'
4233 _vidix_drv_mach64
=no
4234 _def_vidix_drv_mga
='#undef CONFIG_VIDIX_DRV_MGA'
4236 _def_vidix_drv_mga_crtc2
='#undef CONFIG_VIDIX_DRV_MGA_CRTC2'
4237 _vidix_drv_mga_crtc2
=no
4238 _def_vidix_drv_nvidia
='#undef CONFIG_VIDIX_DRV_NVIDIA'
4239 _vidix_drv_nvidia
=no
4240 _def_vidix_drv_pm2
='#undef CONFIG_VIDIX_DRV_PM2'
4242 _def_vidix_drv_pm3
='#undef CONFIG_VIDIX_DRV_PM3'
4244 _def_vidix_drv_radeon
='#undef CONFIG_VIDIX_DRV_RADEON'
4245 _vidix_drv_radeon
=no
4246 _def_vidix_drv_rage128
='#undef CONFIG_VIDIX_DRV_RAGE128'
4247 _vidix_drv_rage128
=no
4248 _def_vidix_drv_s3
='#undef CONFIG_VIDIX_DRV_S3'
4250 _def_vidix_drv_sis
='#undef CONFIG_VIDIX_DRV_SIS'
4252 _def_vidix_drv_unichrome
='#undef CONFIG_VIDIX_DRV_UNICHROME'
4253 _vidix_drv_unichrome
=no
4254 if test "$_vidix" = auto
; then
4256 x86
&& (linux || freebsd || netbsd || openbsd || dragonfly || sunos || win32
) \
4258 (ppc || alpha
) && linux
&& _vidix
=yes
4262 if test "$_vidix" = yes ; then
4263 _def_vidix
='#define CONFIG_VIDIX 1'
4264 _vosrc
="$_vosrc vo_cvidix.c"
4265 _vomodules
="cvidix $_vomodules"
4266 test "$_vidix_drivers" || _vidix_drivers
="cyberblade ivtv mach64 mga mga_crtc2 nvidia pm2 pm3 radeon rage128 s3 sis unichrome"
4267 test $_ivtv = "yes" || _vidix_drivers
=`echo $_vidix_drivers | sed s/ivtv//`
4269 # some vidix drivers are meant to work on x86 only, discard them elsewhere
4270 x86 || _vidix_drivers
=`echo $_vidix_drivers | sed -e s/cyberblade// -e s/sis// -e s/unichrome// -e s/s3//`
4272 for driver
in $_vidix_drivers ; do
4273 uc_driver
=`echo $driver | tr '[a-z]' '[A-Z]'`
4274 eval _vidix_drv_
${driver}=yes
4275 eval _def_vidix_drv_
${driver}=\"\
#define CONFIG_VIDIX_DRV_${uc_driver} 1\"
4278 echocheck
"VIDIX PCI device name database"
4279 echores
"$_vidix_pcidb"
4280 if test "$_vidix_pcidb" = yes ; then
4286 echocheck
"VIDIX dhahelper support"
4287 test "$_dhahelper" = yes && cflag_dhahelper
=-DCONFIG_DHAHELPER
4288 echores
"$_dhahelper"
4290 echocheck
"VIDIX svgalib_helper support"
4291 test "$_svgalib_helper" = yes && cflag_svgalib_helper
=-DCONFIG_SVGAHELPER
4292 echores
"$_svgalib_helper"
4295 _novomodules
="cvidix $_novomodules"
4298 if test "$_vidix" = yes && win32
; then
4299 _vosrc
="$_vosrc vo_winvidix.c"
4300 _vomodules
="winvidix $_vomodules"
4301 _libs_mplayer
="$_libs_mplayer -lgdi32"
4303 _novomodules
="winvidix $_novomodules"
4305 if test "$_vidix" = yes && test "$_x11" = yes; then
4306 _vosrc
="$_vosrc vo_xvidix.c"
4307 _vomodules
="xvidix $_vomodules"
4309 _novomodules
="xvidix $_novomodules"
4312 echocheck
"/dev/mga_vid"
4313 if test "$_mga" = auto
; then
4315 test -c /dev
/mga_vid
&& _mga
=yes
4317 if test "$_mga" = yes ; then
4318 _def_mga
='#define HAVE_MGA 1'
4319 _vosrc
="$_vosrc vo_mga.c"
4320 _vomodules
="mga $_vomodules"
4322 _def_mga
='#undef HAVE_MGA'
4323 _novomodules
="mga $_novomodules"
4329 if test "$_xmga" = auto
; then
4331 test "$_x11" = yes && test "$_mga" = yes && _xmga
=yes
4333 if test "$_xmga" = yes ; then
4334 _def_xmga
='#define HAVE_XMGA 1'
4335 _vosrc
="$_vosrc vo_xmga.c"
4336 _vomodules
="xmga $_vomodules"
4338 _def_xmga
='#undef HAVE_XMGA'
4339 _novomodules
="xmga $_novomodules"
4345 if test "$_ggi" = auto
; then
4347 #include <ggi/ggi.h>
4348 int main(void) { ggiInit(); return 0; }
4351 cc_check
-lggi && _ggi
=yes
4353 if test "$_ggi" = yes ; then
4354 _def_ggi
='#define HAVE_GGI 1'
4355 _libs_mplayer
="$_libs_mplayer -lggi"
4356 _vosrc
="$_vosrc vo_ggi.c"
4357 _vomodules
="ggi $_vomodules"
4359 _def_ggi
='#undef HAVE_GGI'
4360 _novomodules
="ggi $_novomodules"
4364 echocheck
"GGI extension: libggiwmh"
4365 if test "$_ggiwmh" = auto
; then
4368 #include <ggi/ggi.h>
4369 #include <ggi/wmh.h>
4370 int main(void) { ggiInit(); ggiWmhInit(); return 0; }
4372 cc_check
-lggi -lggiwmh && _ggiwmh
=yes
4374 # needed to get right output on obscure combination
4375 # like --disable-ggi --enable-ggiwmh
4376 if test "$_ggi" = yes && test "$_ggiwmh" = yes ; then
4377 _def_ggiwmh
='#define HAVE_GGIWMH 1'
4378 _libs_mplayer
="$_libs_mplayer -lggiwmh"
4381 _def_ggiwmh
='#undef HAVE_GGIWMH'
4387 if test "$_aa" = auto
; then
4390 extern struct aa_hardware_params aa_defparams;
4391 extern struct aa_renderparams aa_defrenderparams;
4395 (void) aa_init(0, 0, 0);
4396 c = aa_autoinit(&aa_defparams);
4397 p = aa_getrenderparams();
4398 aa_autoinitkbd(c,0);
4402 for _ld_tmp
in "-laa" ; do
4403 cc_check
$_ld_tmp && _libs_mplayer
="$_libs_mplayer $_ld_tmp" && _aa
=yes && break
4406 if test "$_aa" = yes ; then
4407 _def_aa
='#define HAVE_AA 1'
4409 _libs_mplayer
="$_libs_mplayer `aalib-config --libs | cut -d " " -f 2,5,6`"
4411 _vosrc
="$_vosrc vo_aa.c"
4412 _vomodules
="aa $_vomodules"
4414 _def_aa
='#undef HAVE_AA'
4415 _novomodules
="aa $_novomodules"
4421 if test "$_caca" = auto
; then
4423 if ( caca-config
--version ) >> "$TMPLOG" 2>&1 ; then
4426 #ifdef CACA_API_VERSION_1
4429 int main(void) { (void) caca_init(); return 0; }
4431 cc_check
`caca-config --libs` && _caca
=yes
4434 if test "$_caca" = yes ; then
4435 _def_caca
='#define HAVE_CACA 1'
4436 _inc_extra
="$_inc_extra `caca-config --cflags`"
4437 _libs_mplayer
="$_libs_mplayer `caca-config --libs`"
4438 _vosrc
="$_vosrc vo_caca.c"
4439 _vomodules
="caca $_vomodules"
4441 _def_caca
='#undef HAVE_CACA'
4442 _novomodules
="caca $_novomodules"
4448 if test "$_svga" = auto
; then
4451 int main(void) { return 0; }
4454 cc_check
-lvga $_ld_lm && _svga
=yes
4456 if test "$_svga" = yes ; then
4457 _def_svga
='#define HAVE_SVGALIB 1'
4458 _libs_mplayer
="$_libs_mplayer -lvga"
4459 _vosrc
="$_vosrc vo_svga.c"
4460 _vomodules
="svga $_vomodules"
4462 _def_svga
='#undef HAVE_SVGALIB'
4463 _novomodules
="svga $_novomodules"
4469 if test "$_fbdev" = auto
; then
4473 if test "$_fbdev" = yes ; then
4474 _def_fbdev
='#define HAVE_FBDEV 1'
4475 _vosrc
="$_vosrc vo_fbdev.c vo_fbdev2.c"
4476 _vomodules
="fbdev $_vomodules"
4478 _def_fbdev
='#undef HAVE_FBDEV'
4479 _novomodules
="fbdev $_novomodules"
4486 if test "$_dvb" = auto
; then
4489 #include <sys/poll.h>
4490 #include <sys/ioctl.h>
4494 #include <ost/dmx.h>
4495 #include <ost/frontend.h>
4496 #include <ost/sec.h>
4497 #include <ost/video.h>
4498 #include <ost/audio.h>
4499 int main(void) {return 0;}
4501 for _inc_tmp
in "" "-I/usr/src/DVB/ost/include" ; do
4502 cc_check
$_inc_tmp && _dvb
=yes && \
4503 _inc_extra
="$_inc_extra $_inc_tmp" && break
4507 if test "$_dvb" = yes ; then
4508 _def_dvb
='#define HAVE_DVB 1'
4509 _def_dvb_in
='#define HAS_DVBIN_SUPPORT 1'
4510 _aomodules
="mpegpes(dvb) $_aomodules"
4511 _vomodules
="mpegpes(dvb) $_vomodules"
4514 echocheck
"DVB HEAD"
4515 if test "$_dvbhead" = auto
; then
4519 #include <sys/poll.h>
4520 #include <sys/ioctl.h>
4524 #include <linux/dvb/dmx.h>
4525 #include <linux/dvb/frontend.h>
4526 #include <linux/dvb/video.h>
4527 #include <linux/dvb/audio.h>
4528 int main(void) {return 0;}
4530 for _inc_tmp
in "" "-I/usr/src/DVB/include" ; do
4531 cc_check
$_inc_tmp && _dvbhead
=yes && \
4532 _inc_extra
="$_inc_extra $_inc_tmp" && break
4536 if test "$_dvbhead" = yes ; then
4537 _def_dvb
='#define HAVE_DVB_HEAD 1'
4538 _def_dvb_in
='#define HAS_DVBIN_SUPPORT 1'
4539 _aomodules
="mpegpes(dvb) $_aomodules"
4540 _vomodules
="mpegpes(dvb) $_vomodules"
4543 if test "$_dvbhead" = no
&& test "$_dvb" = no
; then
4544 _def_dvb
='#undef HAVE_DVB'
4545 _def_dvb_in
='#undef HAS_DVBIN_SUPPORT '
4546 _aomodules
="mpegpes(file) $_aomodules"
4547 _vomodules
="mpegpes(file) $_vomodules"
4550 if test "$_dvb" = yes ||
test "$_dvbhead" = yes ; then
4552 _inputmodules
="dvb $_inputmodules"
4555 _noinputmodules
="dvb $_noinputmodules"
4561 echocheck
"PNG support"
4562 if test "$_png" = auto
; then
4565 # Don't check for -lpng on irix since it has its own libpng
4566 # incompatible with the GNU libpng
4567 _res_comment
="disabled on irix (not GNU libpng)"
4573 printf("png.h : %s\n", PNG_LIBPNG_VER_STRING);
4574 printf("libpng: %s\n", png_libpng_ver);
4575 return strcmp(PNG_LIBPNG_VER_STRING, png_libpng_ver);
4578 if cc_check
-lpng -lz $_ld_lm ; then
4582 _res_comment
="mismatch of library and header versions"
4588 if test "$_png" = yes ; then
4589 _def_png
='#define HAVE_PNG 1'
4590 _ld_extra
="$_ld_extra -lpng -lz"
4591 _vosrc
="$_vosrc vo_png.c"
4592 _vomodules
="png $_vomodules"
4594 _def_png
='#undef HAVE_PNG'
4595 _novomodules
="png $_novomodules"
4598 echocheck
"JPEG support"
4599 if test "$_jpeg" = auto
; then
4606 #include <jpeglib.h>
4607 int main(void) { return 0; }
4609 if cc_check
-ljpeg $_ld_lm ; then
4617 if test "$_jpeg" = yes ; then
4618 _def_jpeg
='#define HAVE_JPEG 1'
4619 _vosrc
="$_vosrc vo_jpeg.c"
4620 _vomodules
="jpeg $_vomodules"
4621 _ld_extra
="$_ld_extra -ljpeg"
4623 _def_jpeg
='#undef HAVE_JPEG'
4624 _novomodules
="jpeg $_novomodules"
4629 echocheck
"PNM support"
4630 if test "$_pnm" = yes; then
4631 _def_pnm
="#define HAVE_PNM"
4632 _vosrc
="$_vosrc vo_pnm.c"
4633 _vomodules
="pnm $_vomodules"
4635 _def_pnm
="#undef HAVE_PNM"
4636 _novomodules
="pnm $_novomodules"
4642 echocheck
"GIF support"
4643 # This is to appease people who want to force gif support.
4644 # If it is forced to yes, then we still do checks to determine
4645 # which gif library to use.
4646 if test "$_gif" = yes ; then
4651 if test "$_gif" = auto
; then
4654 #include <gif_lib.h>
4655 int main(void) { return 0; }
4657 for _ld_gif
in "-lungif" "-lgif" ; do
4658 cc_check
$_ld_gif && tmp_run
&& _gif
=yes && break
4662 # If no library was found, and the user wants support forced,
4663 # then we force it on with libgif, as this is the safest
4664 # assumption IMHO. (libungif & libregif both create symbolic
4665 # links to libgif. We also assume that no x11 support is needed,
4666 # because if you are forcing this, then you _should_ know what
4667 # you are doing. [ Besides, package maintainers should never
4668 # have compiled x11 deps into libungif in the first place. ] )
4671 if test "$_force_gif" = yes && test "$_gif" = no
; then
4676 if test "$_gif" = yes ; then
4677 _def_gif
='#define HAVE_GIF 1'
4678 _vosrc
="$_vosrc vo_gif89a.c"
4679 _codecmodules
="gif $_codecmodules"
4680 _vomodules
="gif89a $_vomodules"
4681 _res_comment
="old version, some encoding functions disabled"
4682 _def_gif_4
='#undef HAVE_GIF_4'
4683 _ld_extra
="$_ld_extra $_ld_gif"
4687 #include <gif_lib.h>
4688 void catch() { exit(1); }
4690 signal(SIGSEGV, catch); // catch segfault
4691 printf("EGifPutExtensionFirst is at address %p\n", EGifPutExtensionFirst);
4692 EGifSetGifVersion("89a"); // this will segfault a buggy gif lib.
4696 if cc_check
"$_ld_gif" && tmp_run
; then
4697 _def_gif_4
='#define HAVE_GIF_4 1'
4701 _def_gif
='#undef HAVE_GIF'
4702 _def_gif_4
='#undef HAVE_GIF_4'
4703 _novomodules
="gif89a $_novomodules"
4704 _nocodecmodules
="gif $_nocodecmodules"
4709 case "$_gif" in yes*)
4710 echocheck
"broken giflib workaround"
4711 _def_gif_tvt_hack
='#define HAVE_GIF_TVT_HACK 1'
4714 #include <gif_lib.h>
4717 printf("UserData is at address %p\n", gif.UserData);
4721 if cc_check
"$_ld_gif" && tmp_run
; then
4722 _def_gif_tvt_hack
='#undef HAVE_GIF_TVT_HACK'
4731 echocheck
"VESA support"
4732 if test "$_vesa" = auto
; then
4735 int main(void) { vbeVersion(); return 0; }
4738 cc_check
-lvbe -llrmi && _vesa
=yes
4740 if test "$_vesa" = yes ; then
4741 _def_vesa
='#define HAVE_VESA 1'
4742 _libs_mplayer
="$_libs_mplayer -lvbe -llrmi"
4743 _vosrc
="$_vosrc vo_vesa.c vesa_lvo.c gtf.c"
4744 _vomodules
="vesa $_vomodules"
4746 _def_vesa
='#undef HAVE_VESA'
4747 _novomodules
="vesa $_novomodules"
4757 if test -z "$_sdlconfig" ; then
4758 if ( sdl-config
--version ) >>"$TMPLOG" 2>&1 ; then
4759 _sdlconfig
="sdl-config"
4760 elif ( sdl11-config
--version ) >>"$TMPLOG" 2>&1 ; then
4761 _sdlconfig
="sdl11-config"
4766 if test "$_sdl" = auto ||
test "$_sdl" = yes ; then
4770 SDL_Init(SDL_INIT_VIDEO|SDL_INIT_NOPARACHUTE);
4775 if "$_sdlconfig" --version >>"$TMPLOG" 2>&1 ; then
4776 if cc_check
`$_sdlconfig --cflags` `$_sdlconfig --libs` >>"$TMPLOG" 2>&1 ; then
4777 _sdlversion
=`$_sdlconfig --version | sed 's/[^0-9]//g'`
4778 if test "$_sdlversion" -gt 116 ; then
4779 if test "$_sdlversion" -lt 121 ; then
4780 _def_sdlbuggy
='#define BUGGY_SDL'
4782 _def_sdlbuggy
='#undef BUGGY_SDL'
4789 if test "$_sdl" = yes ; then
4790 _def_sdl
='#define HAVE_SDL 1'
4792 _libs_mplayer
="$_libs_mplayer `$_sdlconfig --libs | cut -d " " -f 1,4,6 | sed s/no-cygwin/cygwin/`"
4793 _inc_extra
="$_inc_extra `$_sdlconfig --cflags | cut -d " " -f 1,5,6 | sed s/no-cygwin/cygwin/`"
4795 _libs_mplayer
="$_libs_mplayer `$_sdlconfig --libs | sed -e s/-mwindows// -e s/-lmingw32//`"
4796 _inc_extra
="$_inc_extra `$_sdlconfig --cflags | sed s/-Dmain=SDL_main//`"
4798 _libs_mplayer
="$_libs_mplayer `$_sdlconfig --libs`"
4799 _inc_extra
="$_inc_extra `$_sdlconfig --cflags | sed s/-D_GNU_SOURCE=1//`"
4801 _vosrc
="$_vosrc vo_sdl.c"
4802 _vomodules
="sdl $_vomodules"
4803 _aosrc
="$_aosrc ao_sdl.c"
4804 _aomodules
="sdl $_aomodules"
4805 _res_comment
="using $_sdlconfig"
4807 _def_sdl
='#undef HAVE_SDL'
4808 _novomodules
="sdl $_novomodules"
4809 _noaomodules
="sdl $_noaomodules"
4816 echocheck
"Windows waveout"
4817 if test "$_win32waveout" = auto
; then
4819 #include <windows.h>
4820 #include <mmsystem.h>
4821 int main(void) { return 0; }
4824 cc_check
-lwinmm && _win32waveout
=yes
4826 if test "$_win32waveout" = yes ; then
4827 _def_win32waveout
='#define HAVE_WIN32WAVEOUT 1'
4828 _libs_mplayer
="$_libs_mplayer -lwinmm"
4829 _aosrc
="$_aosrc ao_win32.c"
4830 _aomodules
="win32 $_aomodules"
4832 _def_win32waveout
='#undef HAVE_WIN32WAVEOUT'
4833 _noaomodules
="win32 $_noaomodules"
4835 echores
"$_win32waveout"
4838 if test "$_directx" = auto
; then
4840 #include <windows.h>
4843 int main(void) { return 0; }
4846 cc_check
-lgdi32 && _directx
=yes
4848 if test "$_directx" = yes ; then
4849 _def_directx
='#define HAVE_DIRECTX 1'
4850 _libs_mplayer
="$_libs_mplayer -lgdi32"
4851 _vosrc
="$_vosrc vo_directx.c"
4852 _vomodules
="directx $_vomodules"
4853 _aosrc
="$_aosrc ao_dsound.c"
4854 _aomodules
="dsound $_aomodules"
4856 _def_directx
='#undef HAVE_DIRECTX'
4857 _novomodules
="directx $_novomodules"
4858 _noaomodules
="dsound $_noaomodules"
4866 if test "$_nas" = auto
; then
4868 #include <audio/audiolib.h>
4869 int main(void) { return 0; }
4872 cc_check
$_ld_lm -laudio -lXt && _nas
=yes
4874 if test "$_nas" = yes ; then
4875 _def_nas
='#define HAVE_NAS 1'
4876 _libs_mplayer
="$_libs_mplayer -laudio -lXt"
4877 _aosrc
="$_aosrc ao_nas.c"
4878 _aomodules
="nas $_aomodules"
4880 _noaomodules
="nas $_noaomodules"
4881 _def_nas
='#undef HAVE_NAS'
4886 if test "$_dxr2" = auto
; then
4889 #include <dxr2ioctl.h>
4890 int main(void) { return 0; }
4892 for _inc_tmp
in "" -I/usr
/local
/include
/dxr2
-I/usr
/include
/dxr2
; do
4893 cc_check
$_inc_tmp && _dxr2
=yes && \
4894 _inc_extra
="$_inc_extra $_inc_tmp" && break
4897 if test "$_dxr2" = yes; then
4898 _def_dxr2
='#define HAVE_DXR2 1'
4899 _vosrc
="$_vosrc vo_dxr2.c"
4900 _aosrc
="$_aosrc ao_dxr2.c"
4901 _aomodules
="dxr2 $_aomodules"
4902 _vomodules
="dxr2 $_vomodules"
4904 _def_dxr2
='#undef HAVE_DXR2'
4905 _noaomodules
="dxr2 $_noaomodules"
4906 _novomodules
="dxr2 $_novomodules"
4911 if test "$_dxr3" = auto
; then
4913 #include <linux/em8300.h>
4914 int main(void) { return 0; }
4917 cc_check
&& _dxr3
=yes
4919 if test "$_dxr3" = yes ; then
4920 _def_dxr3
='#define HAVE_DXR3 1'
4921 _vosrc
="$_vosrc vo_dxr3.c"
4922 _vomodules
="dxr3 $_vomodules"
4924 _def_dxr3
='#undef HAVE_DXR3'
4925 _novomodules
="dxr3 $_novomodules"
4930 echocheck
"IVTV TV-Out (pre linux-2.6.24)"
4931 if test "$_ivtv" = auto
; then
4934 #include <inttypes.h>
4935 #include <linux/types.h>
4936 #include <linux/videodev2.h>
4937 #include <linux/ivtv.h>
4938 #include <sys/ioctl.h>
4940 struct ivtv_cfg_stop_decode sd;
4941 struct ivtv_cfg_start_decode sd1;
4942 ioctl (0, IVTV_IOC_START_DECODE, &sd1);
4943 ioctl (0, IVTV_IOC_STOP_DECODE, &sd);
4947 cc_check
&& _ivtv
=yes
4949 if test "$_ivtv" = yes ; then
4950 _def_ivtv
='#define HAVE_IVTV 1'
4951 _vosrc
="$_vosrc vo_ivtv.c"
4952 _vomodules
="ivtv $_vomodules"
4953 _aosrc
="$_aosrc ao_ivtv.c"
4954 _aomodules
="ivtv $_aomodules"
4956 _def_ivtv
='#undef HAVE_IVTV'
4957 _novomodules
="ivtv $_novomodules"
4958 _noaomodules
="ivtv $_noaomodules"
4963 echocheck
"V4L2 MPEG Decoder"
4964 if test "$_v4l2" = auto
; then
4967 #include <inttypes.h>
4968 #include <linux/types.h>
4969 #include <linux/videodev2.h>
4970 #include <linux/version.h>
4972 #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,22)
4973 #error kernel headers too old, need 2.6.22
4974 bad_kernel_version();
4976 struct v4l2_ext_controls ctrls;
4977 ctrls.ctrl_class = V4L2_CTRL_CLASS_MPEG;
4982 cc_check
&& _v4l2
=yes
4984 if test "$_v4l2" = yes ; then
4985 _def_v4l2
='#define HAVE_V4L2_DECODER 1'
4986 _vosrc
="$_vosrc vo_v4l2.c"
4987 _vomodules
="v4l2 $_vomodules"
4988 _aosrc
="$_aosrc ao_v4l2.c"
4989 _aomodules
="v4l2 $_aomodules"
4991 _def_v4l2
='#undef HAVE_V4L2_DECODER'
4992 _novomodules
="v4l2 $_novomodules"
4993 _noaomodules
="v4l2 $_noaomodules"
5004 echocheck
"OSS Audio"
5005 if test "$_ossaudio" = auto
; then
5007 #include <sys/ioctl.h>
5008 #include <$_soundcard_header>
5009 int main(void) { int arg = SNDCTL_DSP_SETFRAGMENT; return 0; }
5012 cc_check
&& _ossaudio
=yes
5014 if test "$_ossaudio" = yes ; then
5015 _def_ossaudio
='#define USE_OSS_AUDIO 1'
5016 _aosrc
="$_aosrc ao_oss.c"
5017 _aomodules
="oss $_aomodules"
5018 if test "$_linux_devfs" = yes; then
5019 _def_ossaudio_devdsp
='#define PATH_DEV_DSP "/dev/sound/dsp"'
5020 _def_ossaudio_devmixer
='#define PATH_DEV_MIXER "/dev/sound/mixer"'
5023 #include <sys/ioctl.h>
5024 #include <$_soundcard_header>
5025 #ifdef OPEN_SOUND_SYSTEM
5026 int main(void) { return 0; }
5028 #error Not the real thing
5032 cc_check
&& _real_ossaudio
=yes
5033 if test "$_real_ossaudio" = yes; then
5034 _def_ossaudio_devdsp
='#define PATH_DEV_DSP "/dev/dsp"'
5035 elif netbsd || openbsd
; then
5036 _def_ossaudio_devdsp
='#define PATH_DEV_DSP "/dev/sound"'
5037 _ld_extra
="$_ld_extra -lossaudio"
5039 _def_ossaudio_devdsp
='#define PATH_DEV_DSP "/dev/dsp"'
5041 _def_ossaudio_devmixer
='#define PATH_DEV_MIXER "/dev/mixer"'
5044 _def_ossaudio
='#undef USE_OSS_AUDIO'
5045 _def_ossaudio_devdsp
='#define PATH_DEV_DSP ""'
5046 _def_ossaudio_devmixer
='#define PATH_DEV_MIXER ""'
5047 _noaomodules
="oss $_noaomodules"
5049 echores
"$_ossaudio"
5053 if test "$_arts" = auto
; then
5055 if ( artsc-config
--version ) >> "$TMPLOG" 2>&1 ; then
5059 int main(void) { return 0; }
5061 cc_check
`artsc-config --libs` `artsc-config --cflags` && tmp_run
&& _arts
=yes
5066 if test "$_arts" = yes ; then
5067 _def_arts
='#define USE_ARTS 1'
5068 _aosrc
="$_aosrc ao_arts.c"
5069 _aomodules
="arts $_aomodules"
5070 _libs_mplayer
="$_libs_mplayer `artsc-config --libs`"
5071 _inc_extra
="$_inc_extra `artsc-config --cflags`"
5073 _noaomodules
="arts $_noaomodules"
5079 if test "$_esd" = auto
; then
5081 if ( esd-config
--version ) >> "$TMPLOG" 2>&1 ; then
5085 int main(void) { int fd = esd_open_sound("test"); return fd; }
5087 cc_check
`esd-config --libs` `esd-config --cflags` && _esd
=yes
5093 if test "$_esd" = yes ; then
5094 _def_esd
='#define USE_ESD 1'
5095 _aosrc
="$_aosrc ao_esd.c"
5096 _aomodules
="esd $_aomodules"
5097 _libs_mplayer
="$_libs_mplayer `esd-config --libs`"
5098 _inc_extra
="$_inc_extra `esd-config --cflags`"
5100 echocheck
"esd_get_latency()"
5103 int main(void) { return esd_get_latency(0); }
5105 cc_check
`esd-config --libs` `esd-config --cflags` && _esd_latency
=yes && _def_esd_latency
='#define HAVE_ESD_LATENCY'
5106 echores
"$_esd_latency"
5108 _def_esd
='#undef USE_ESD'
5109 _def_esd_latency
='#undef HAVE_ESD_LATENCY'
5110 _noaomodules
="esd $_noaomodules"
5114 if test "$_pulse" = auto
; then
5116 if $_pkg_config --exists 'libpulse >= 0.9' ; then
5119 #include <pulse/pulseaudio.h>
5120 int main(void) { return 0; }
5122 cc_check
`$_pkg_config --libs --cflags libpulse` && tmp_run
&& _pulse
=yes
5128 if test "$_pulse" = yes ; then
5129 _def_pulse
='#define USE_PULSE 1'
5130 _aosrc
="$_aosrc ao_pulse.c"
5131 _aomodules
="pulse $_aomodules"
5132 _libs_mplayer
="$_libs_mplayer `$_pkg_config --libs libpulse`"
5133 _inc_extra
="$_inc_extra `$_pkg_config --cflags libpulse`"
5135 _def_pulse
='#undef USE_PULSE'
5136 _noaomodules
="pulse $_noaomodules"
5141 if test "$_jack" = auto
; then
5145 #include <jack/jack.h>
5146 int main(void) { jack_client_new("test"); return 0; }
5148 if cc_check
-ljack ; then
5149 _libs_mplayer
="$_libs_mplayer -ljack"
5150 elif cc_check
`$_pkg_config --libs --cflags --silence-errors jack` ; then
5151 _libs_mplayer
="$_libs_mplayer `$_pkg_config --libs jack`"
5152 _inc_extra
="$_inc_extra "`$_pkg_config --cflags jack`""
5158 if test "$_jack" = yes ; then
5159 _def_jack
='#define USE_JACK 1'
5160 _aosrc
="$_aosrc ao_jack.c"
5161 _aomodules
="jack $_aomodules"
5163 _noaomodules
="jack $_noaomodules"
5168 if test "$_openal" = auto
; then
5172 #include <OpenAL/al.h>
5177 alSourceQueueBuffers(0, 0, 0);
5178 // alGetSourcei(0, AL_SAMPLE_OFFSET, 0);
5182 for I
in "-lopenal" "-lopenal32" "-framework OpenAL" ; do
5183 cc_check
$I && _openal
=yes && break
5184 cc_check
-DOPENAL_AL_H=1 $I && _def_openal_h
='#define OPENAL_AL_H 1' && _openal
=yes && break
5186 test "$_openal" = yes && _libs_mplayer
="$_libs_mplayer $I"
5188 if test "$_openal" = yes ; then
5189 _def_openal
='#define USE_OPENAL 1'
5190 _aosrc
="$_aosrc ao_openal.c"
5191 _aomodules
="openal $_aomodules"
5193 _noaomodules
="openal $_noaomodules"
5197 echocheck
"ALSA audio"
5198 if test "$_alsa" != no
; then
5201 #include <sys/time.h>
5202 #include <sys/asoundlib.h>
5203 #if !((SND_LIB_MAJOR == 0) && (SND_LIB_MINOR == 5))
5204 #error "alsa version != 0.5.x"
5206 int main(void) { return 0; }
5208 cc_check
-lasound $_ld_dl $_ld_pthread && _alsaver
='0.5.x'
5211 #include <sys/time.h>
5212 #include <sys/asoundlib.h>
5213 #if !((SND_LIB_MAJOR == 0) && (SND_LIB_MINOR == 9))
5214 #error "alsa version != 0.9.x"
5216 int main(void) { return 0; }
5218 cc_check
-lasound $_ld_dl $_ld_pthread && _alsaver
='0.9.x-sys'
5220 #include <sys/time.h>
5221 #include <alsa/asoundlib.h>
5222 #if !((SND_LIB_MAJOR == 0) && (SND_LIB_MINOR == 9))
5223 #error "alsa version != 0.9.x"
5225 int main(void) { return 0; }
5227 cc_check
-lasound $_ld_dl $_ld_pthread && _alsaver
='0.9.x-alsa'
5230 #include <sys/time.h>
5231 #include <sys/asoundlib.h>
5232 #if !((SND_LIB_MAJOR == 1) && (SND_LIB_MINOR == 0))
5233 #error "alsa version != 1.0.x"
5235 int main(void) { return 0; }
5237 cc_check
-lasound $_ld_dl $_ld_pthread && _alsaver
='1.0.x-sys'
5239 #include <sys/time.h>
5240 #include <alsa/asoundlib.h>
5241 #if !((SND_LIB_MAJOR == 1) && (SND_LIB_MINOR == 0))
5242 #error "alsa version != 1.0.x"
5244 int main(void) { return 0; }
5246 cc_check
-lasound $_ld_dl $_ld_pthread && _alsaver
='1.0.x-alsa'
5248 _def_alsa5
='#undef HAVE_ALSA5'
5249 _def_alsa9
='#undef HAVE_ALSA9'
5250 _def_alsa1x
='#undef HAVE_ALSA1X'
5251 _def_sys_asoundlib_h
='#undef HAVE_SYS_ASOUNDLIB_H'
5252 _def_alsa_asoundlib_h
='#undef HAVE_ALSA_ASOUNDLIB_H'
5253 if test "$_alsaver" ; then
5255 if test "$_alsaver" = '0.5.x' ; then
5257 _aosrc
="$_aosrc ao_alsa5.c"
5258 _aomodules
="alsa5 $_aomodules"
5259 _def_alsa5
='#define HAVE_ALSA5 1'
5260 _def_sys_asoundlib_h
='#define HAVE_SYS_ASOUNDLIB_H 1'
5261 _res_comment
="using alsa 0.5.x and sys/asoundlib.h"
5262 elif test "$_alsaver" = '0.9.x-sys' ; then
5264 _aosrc
="$_aosrc ao_alsa.c"
5265 _aomodules
="alsa $_aomodules"
5266 _def_alsa9
='#define HAVE_ALSA9 1'
5267 _def_sys_asoundlib_h
='#define HAVE_SYS_ASOUNDLIB_H 1'
5268 _res_comment
="using alsa 0.9.x and sys/asoundlib.h"
5269 elif test "$_alsaver" = '0.9.x-alsa' ; then
5271 _aosrc
="$_aosrc ao_alsa.c"
5272 _aomodules
="alsa $_aomodules"
5273 _def_alsa9
='#define HAVE_ALSA9 1'
5274 _def_alsa_asoundlib_h
='#define HAVE_ALSA_ASOUNDLIB_H 1'
5275 _res_comment
="using alsa 0.9.x and alsa/asoundlib.h"
5276 elif test "$_alsaver" = '1.0.x-sys' ; then
5278 _aosrc
="$_aosrc ao_alsa.c"
5279 _aomodules
="alsa $_aomodules"
5280 _def_alsa1x
="#define HAVE_ALSA1X 1"
5281 _def_alsa_asoundlib_h
='#define HAVE_SYS_ASOUNDLIB_H 1'
5282 _res_comment
="using alsa 1.0.x and sys/asoundlib.h"
5283 elif test "$_alsaver" = '1.0.x-alsa' ; then
5285 _aosrc
="$_aosrc ao_alsa.c"
5286 _aomodules
="alsa $_aomodules"
5287 _def_alsa1x
="#define HAVE_ALSA1X 1"
5288 _def_alsa_asoundlib_h
='#define HAVE_ALSA_ASOUNDLIB_H 1'
5289 _res_comment
="using alsa 1.0.x and alsa/asoundlib.h"
5292 _res_comment
="unknown version"
5294 _ld_extra
="$_ld_extra -lasound $_ld_dl $_ld_pthread"
5296 _noaomodules
="alsa $_noaomodules"
5301 echocheck
"Sun audio"
5302 if test "$_sunaudio" = auto
; then
5304 #include <sys/types.h>
5305 #include <sys/audioio.h>
5306 int main(void) { audio_info_t info; AUDIO_INITINFO(&info); return 0; }
5309 cc_check
&& _sunaudio
=yes
5311 if test "$_sunaudio" = yes ; then
5312 _def_sunaudio
='#define USE_SUN_AUDIO 1'
5313 _aosrc
="$_aosrc ao_sun.c"
5314 _aomodules
="sun $_aomodules"
5316 _def_sunaudio
='#undef USE_SUN_AUDIO'
5317 _noaomodules
="sun $_noaomodules"
5319 echores
"$_sunaudio"
5323 echocheck
"Sun mediaLib"
5324 if test "$_mlib" = auto
; then
5328 int main(void) { mlib_VideoColorYUV2ABGR420(0,0,0,0,0,0,0,0,0); return 0; }
5330 cc_check
-lmlib && _mlib
=yes
5332 test "$_mlib" = yes && _cpuexts
="MLIB $_cpuexts"
5338 echocheck
"SGI audio"
5339 if test "$_sgiaudio" = auto
; then
5340 # check for SGI audio
5342 #include <dmedia/audio.h>
5343 int main(void) { return 0; }
5346 cc_check
&& _sgiaudio
=yes
5348 if test "$_sgiaudio" = "yes" ; then
5349 _def_sgiaudio
='#define USE_SGI_AUDIO 1'
5350 _libs_mplayer
="$_libs_mplayer -laudio"
5351 _aosrc
="$_aosrc ao_sgi.c"
5352 _aomodules
="sgi $_aomodules"
5354 _def_sgiaudio
='#undef USE_SGI_AUDIO'
5355 _noaomodules
="sgi $_noaomodules"
5357 echores
"$_sgiaudio"
5361 echocheck
"VCD support"
5362 if linux || freebsd || netbsd || dragonfly || bsdos || darwin || sunos || mingw32
; then
5363 _inputmodules
="vcd $_inputmodules"
5364 _def_vcd
='#define HAVE_VCD 1'
5367 _def_vcd
='#undef HAVE_VCD'
5368 _noinputmodules
="vcd $_noinputmodules"
5369 _res_comment
="not supported on this OS"
5377 if test "$_dvdread_internal" = auto
; then
5378 _dvdread_internal
=no
5380 if (linux || freebsd || netbsd || openbsd || dragonfly || sunos || hpux
) \
5381 && (test "$_dvd" = yes ||
test "$_cdrom" = yes ||
test "$_cdio" = yes || \
5382 test "$_dvdio" = yes ||
test "$_bsdi_dvd" = yes) \
5383 || darwin || win32
; then
5384 _dvdread_internal
=yes
5387 elif test "$_dvdread" = auto
; then
5389 if test "$_dl" = yes; then
5391 #include <inttypes.h>
5392 #include <libdvdread/dvd_reader.h>
5393 #include <libdvdread/ifo_types.h>
5394 #include <libdvdread/ifo_read.h>
5395 #include <libdvdread/nav_read.h>
5396 int main(void) { return 0; }
5399 _dvdreadcflags
=`$_dvdreadconfig --cflags`
5400 _dvdreadlibs
=`$_dvdreadconfig --libs`
5401 if cc_check
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE \
5402 $_dvdreadcflags $_dvdreadlibs $_ld_dl ; then
5404 _inc_extra
="$_inc_extra $_dvdreadcflags"
5405 _ld_extra
="$_ld_extra $_dvdreadlibs"
5406 _res_comment
="external"
5410 if test "$_dvdread_internal" = yes; then
5411 _def_dvdread_internal
="#define USE_DVDREAD_INTERNAL 1"
5412 _def_dvdread
='#define USE_DVDREAD 1'
5413 _inputmodules
="dvdread(internal) $_inputmodules"
5415 _res_comment
="internal"
5416 elif test "$_dvdread" = yes; then
5417 _def_dvdread
='#define USE_DVDREAD 1'
5419 _ld_extra
="$_ld_extra -ldvdread"
5420 _inputmodules
="dvdread(external) $_inputmodules"
5421 _res_comment
="external"
5423 _def_dvdread_internal
="#undef USE_DVDREAD_INTERNAL"
5424 _def_dvdread
='#undef USE_DVDREAD'
5425 _noinputmodules
="dvdread $_noinputmodules"
5430 echocheck
"internal libdvdcss"
5431 if test "$_libdvdcss_internal" = auto
; then
5432 _libdvdcss_internal
=no
5433 test "$_dvdread_internal" = yes && _libdvdcss_internal
=yes
5434 hpux
&& test "$_hpux_scsi_h" = no
&& _libdvdcss_internal
=no
5436 if test "$_libdvdcss_internal" = yes ; then
5437 if linux || netbsd || openbsd || bsdos
; then
5438 _def_dvd_linux
='#define HAVE_LINUX_DVD_STRUCT 1'
5439 openbsd
&& _dev_dvd_openbsd
='#define HAVE_OPENBSD_DVD_STRUCT 1'
5440 elif freebsd || dragonfly
; then
5441 _def_dvd_bsd
='#define HAVE_BSD_DVD_STRUCT 1'
5443 _def_dvd_darwin
='#define DARWIN_DVD_IOCTL'
5444 _ld_extra
="$_ld_extra -framework IOKit"
5446 _libdvdcss_dvdread_flags
="-Ilibdvdcss -DHAVE_DVDCSS_DVDCSS_H"
5447 _inputmodules
="libdvdcss(internal) $_inputmodules"
5450 _noinputmodules
="libdvdcss(internal) $_noinputmodules"
5452 echores
"$_libdvdcss_internal"
5455 echocheck
"cdparanoia"
5456 if test "$_cdparanoia" = auto
; then
5458 #include <cdda_interface.h>
5459 #include <cdda_paranoia.h>
5460 // This need a better test. How ?
5461 int main(void) { void *test = cdda_verbose_set; return test == (void *)1; }
5464 for _inc_tmp
in "" "-I/usr/include/cdda" "-I/usr/local/include/cdda" ; do
5465 cc_check
$_inc_tmp -lcdda_interface -lcdda_paranoia $_ld_lm && \
5466 _cdparanoia
=yes && _inc_extra
="$_inc_extra $_inc_tmp" && break
5469 if test "$_cdparanoia" = yes ; then
5471 _ld_extra
="$_ld_extra -lcdda_interface -lcdda_paranoia"
5472 openbsd
&& _ld_extra
="$_ld_extra -lutil"
5474 echores
"$_cdparanoia"
5478 if test "$_libcdio" = auto
&& test "$_cdparanoia" = no
; then
5481 #include <cdio/version.h>
5482 #include <cdio/cdda.h>
5483 #include <cdio/paranoia.h>
5485 void *test = cdda_verbose_set;
5486 printf("%s\n", CDIO_VERSION);
5487 return test == (void *)1;
5491 for _ld_tmp
in "" "-lwinmm" ; do
5492 _ld_tmp
="-lcdio_cdda -lcdio -lcdio_paranoia $_ld_tmp"
5493 cc_check
$_ld_tmp $_ld_lm \
5494 && _libcdio
=yes && _ld_extra
="$_ld_extra $_ld_tmp" && break
5496 if test "$_libcdio" = no
&& $_pkg_config --exists libcdio_paranoia
; then
5497 _inc_tmp
=`$_pkg_config --cflags libcdio_paranoia`
5498 _ld_tmp
=`$_pkg_config --libs libcdio_paranoia`
5499 cc_check
$_inc_tmp $_ld_tmp $_ld_lm && _libcdio
=yes \
5500 && _ld_extra
="$_ld_extra $_ld_tmp" && _inc_extra
="$_inc_extra $_inc_tmp"
5503 if test "$_libcdio" = yes && test "$_cdparanoia" = no
; then
5505 _def_libcdio
='#define HAVE_LIBCDIO'
5506 _def_havelibcdio
='yes'
5508 if test "$_cdparanoia" = yes ; then
5509 _res_comment
="using cdparanoia"
5511 _def_libcdio
='#undef HAVE_LIBCDIO'
5512 _def_havelibcdio
='no'
5516 if test "$_cdda" = yes ; then
5517 test $_cddb = auto
&& test $_network = yes && _cddb
=yes
5518 _def_cdparanoia
='#define HAVE_CDDA'
5519 _inputmodules
="cdda $_inputmodules"
5521 _def_cdparanoia
='#undef HAVE_CDDA'
5522 _noinputmodules
="cdda $_noinputmodules"
5525 if test "$_cddb" = yes ; then
5526 _def_cddb
='#define HAVE_CDDB'
5527 _inputmodules
="cddb $_inputmodules"
5530 _def_cddb
='#undef HAVE_CDDB'
5531 _noinputmodules
="cddb $_noinputmodules"
5534 echocheck
"bitmap font support"
5535 if test "$_bitmap_font" = yes ; then
5536 _def_bitmap_font
="#define HAVE_BITMAP_FONT 1"
5538 _def_bitmap_font
="#undef HAVE_BITMAP_FONT"
5540 echores
"$_bitmap_font"
5543 echocheck
"freetype >= 2.0.9"
5545 # freetype depends on iconv
5546 if test "$_iconv" = no
; then
5548 _res_comment
="iconv support needed"
5551 if test "$_freetype" = auto
; then
5552 if ( $_freetypeconfig --version ) >/dev
/null
2>&1 ; then
5555 #include <ft2build.h>
5556 #include FT_FREETYPE_H
5557 #if ((FREETYPE_MAJOR < 2) || ((FREETYPE_MINOR == 0) && (FREETYPE_PATCH < 9)))
5558 #error "Need FreeType 2.0.9 or newer"
5562 FT_Int major=-1,minor=-1,patch=-1;
5563 int err=FT_Init_FreeType(&library);
5565 printf("Couldn't initialize freetype2 lib, err code: %d\n",err);
5568 FT_Library_Version(library,&major,&minor,&patch); // in v2.1.0+ only :(((
5569 printf("freetype2 header version: %d.%d.%d library version: %d.%d.%d\n",
5570 FREETYPE_MAJOR,FREETYPE_MINOR,FREETYPE_PATCH,
5571 (int)major,(int)minor,(int)patch );
5572 if(major!=FREETYPE_MAJOR || minor!=FREETYPE_MINOR){
5573 printf("Library and header version mismatch! Fix it in your distribution!\n");
5580 cc_check
`$_freetypeconfig --cflags` `$_freetypeconfig --libs` && tmp_run
&& _freetype
=yes
5585 if test "$_freetype" = yes ; then
5586 _def_freetype
='#define HAVE_FREETYPE'
5587 _inc_extra
="$_inc_extra `$_freetypeconfig --cflags`"
5588 _ld_extra
="$_ld_extra `$_freetypeconfig --libs`"
5590 _def_freetype
='#undef HAVE_FREETYPE'
5592 echores
"$_freetype"
5594 if test "$_freetype" = no
; then
5596 _res_comment
="freetype support needed"
5598 echocheck
"fontconfig"
5599 if test "$_fontconfig" = auto
; then
5603 #include <fontconfig/fontconfig.h>
5607 printf("Couldn't initialize fontconfig lib\n");
5614 for _ld_tmp
in "" "-lexpat -lfreetype" "-lexpat -lfreetype -lz" ; do
5615 _ld_tmp
="-lfontconfig $_ld_tmp"
5616 cc_check
$_ld_tmp && _fontconfig
=yes && _ld_extra
="$_ld_extra $_ld_tmp" && break
5618 if test "$_fontconfig" = no
&& $_pkg_config --exists fontconfig
; then
5619 _inc_tmp
=`$_pkg_config --cflags fontconfig`
5620 _ld_tmp
=`$_pkg_config --libs fontconfig`
5621 cc_check
$_inc_tmp $_ld_tmp && _fontconfig
=yes \
5622 && _ld_extra
="$_ld_extra $_ld_tmp" && _inc_extra
="$_inc_extra $_inc_tmp"
5625 if test "$_fontconfig" = yes ; then
5626 _def_fontconfig
='#define HAVE_FONTCONFIG'
5628 _def_fontconfig
='#undef HAVE_FONTCONFIG'
5630 echores
"$_fontconfig"
5633 echocheck
"SSA/ASS support"
5634 # libass depends on FreeType
5635 if test "$_freetype" = no
; then
5637 _res_comment
="FreeType support needed"
5640 if test "$_ass" = auto
; then
5642 #include <ft2build.h>
5643 #include FT_FREETYPE_H
5644 #if ((FREETYPE_MAJOR < 2) || (FREETYPE_MINOR < 1) || ((FREETYPE_MINOR == 1) && (FREETYPE_PATCH < 8)))
5645 #error "Need FreeType 2.1.8 or newer"
5647 int main(void) { return 0; }
5650 cc_check
`$_freetypeconfig --cflags` `$_freetypeconfig --libs` && tmp_run
&& _ass
=yes
5651 if test "$_ass" = no
; then
5652 _res_comment
="FreeType >= 2.1.8 needed"
5655 if test "$_ass" = yes ; then
5656 _def_ass
='#define USE_ASS'
5658 _def_ass
='#undef USE_ASS'
5663 echocheck
"fribidi with charsets"
5664 if test "$_fribidi" = auto
; then
5665 if ( $_fribidiconfig --version ) >/dev
/null
2>&1 ; then
5668 /* workaround for fribidi 0.10.4 and below */
5669 #define FRIBIDI_CHARSET_UTF8 FRIBIDI_CHAR_SET_UTF8
5670 #include <fribidi/fribidi.h>
5672 if(fribidi_parse_charset("UTF-8") != FRIBIDI_CHAR_SET_UTF8) {
5673 printf("Fribidi headers are not consistents with the library!\n");
5680 cc_check
`$_fribidiconfig --cflags` `$_fribidiconfig --libs` && tmp_run
&& _fribidi
=yes
5685 if test "$_fribidi" = yes ; then
5686 _def_fribidi
='#define USE_FRIBIDI'
5687 _inc_extra
="$_inc_extra `$_fribidiconfig --cflags`"
5688 _ld_extra
="$_ld_extra `$_fribidiconfig --libs`"
5690 _def_fribidi
='#undef USE_FRIBIDI'
5696 if test "$_enca" = auto
; then
5698 #include <sys/types.h>
5703 langs = enca_get_languages(&langcnt);
5708 cc_check
-lenca $_ld_lm && _enca
=yes
5710 if test "$_enca" = yes ; then
5711 _def_enca
='#define HAVE_ENCA 1'
5712 _ld_extra
="$_ld_extra -lenca"
5714 _def_enca
='#undef HAVE_ENCA'
5722 int main(void) { (void) inflate(0, Z_NO_FLUSH); return 0; }
5725 cc_check
-lz && _zlib
=yes
5726 if test "$_zlib" = yes ; then
5727 _def_zlib
='#define HAVE_ZLIB 1'
5728 _ld_extra
="$_ld_extra -lz"
5730 _def_zlib
='#undef HAVE_ZLIB'
5731 _libavdecoders
=`echo $_libavdecoders | sed -e s/FLASHSV_DECODER// -e s/PNG_DECODER// -e s/ZMBV_DECODER// -e s/DXA_DECODER// `
5732 _libavencoders
=`echo $_libavencoders | sed -e s/FLASHSV_ENCODER// -e s/PNG_ENCODER// -e s/ZMBV_ENCODER// `
5738 if test "$_rtc" = auto
; then
5740 #include <sys/ioctl.h>
5742 #include <linux/rtc.h>
5745 #define RTC_PIE_ON RTCIO_PIE_ON
5747 int main(void) { return RTC_PIE_ON; }
5750 cc_check
&& _rtc
=yes
5753 if test "$_rtc" = yes ; then
5754 _def_rtc
='#define HAVE_RTC 1'
5756 _def_rtc
='#undef HAVE_RTC'
5761 echocheck
"liblzo2 support"
5762 if test "$_liblzo" = auto
; then
5765 #include <lzo/lzo1x.h>
5766 int main(void) { lzo_init();return 0; }
5768 cc_check
-llzo2 && _liblzo
=yes
5770 if test "$_liblzo" = yes ; then
5771 _def_liblzo
='#define USE_LIBLZO 1'
5772 _ld_extra
="$_ld_extra -llzo2"
5773 _codecmodules
="liblzo $_codecmodules"
5775 _def_liblzo
='#undef USE_LIBLZO'
5776 _nocodecmodules
="liblzo $_nocodecmodules"
5781 echocheck
"mad support"
5782 if test "$_mad" = auto
; then
5786 int main(void) { return 0; }
5788 cc_check
-lmad && _mad
=yes
5790 if test "$_mad" = yes ; then
5791 _def_mad
='#define USE_LIBMAD 1'
5792 _ld_extra
="$_ld_extra -lmad"
5793 _codecmodules
="libmad $_codecmodules"
5795 _def_mad
='#undef USE_LIBMAD'
5796 _nocodecmodules
="libmad $_nocodecmodules"
5801 if test "$_twolame" = auto
; then
5803 #include <twolame.h>
5804 int main(void) { twolame_init(); return 0; }
5807 cc_check
-ltwolame $_ld_lm && _twolame
=yes
5809 if test "$_twolame" = yes ; then
5810 _def_twolame
='#define HAVE_TWOLAME 1'
5811 _libs_mencoder
="$_libs_mencoder -ltwolame"
5812 _codecmodules
="twolame $_codecmodules"
5814 _def_twolame
='#undef HAVE_TWOLAME'
5815 _nocodecmodules
="twolame $_nocodecmodules"
5820 if test "$_toolame" = auto
; then
5822 if test "$_twolame" = yes ; then
5823 _res_comment
="disabled by twolame"
5826 #include <toolame.h>
5827 int main(void) { toolame_init(); return 0; }
5829 cc_check
-ltoolame $_ld_lm && _toolame
=yes
5832 if test "$_toolame" = yes ; then
5833 _def_toolame
='#define HAVE_TOOLAME 1'
5834 _libs_mencoder
="$_libs_mencoder -ltoolame"
5835 _codecmodules
="toolame $_codecmodules"
5837 _def_toolame
='#undef HAVE_TOOLAME'
5838 _nocodecmodules
="toolame $_nocodecmodules"
5840 if test "$_toolamedir" ; then
5841 _res_comment
="using $_toolamedir"
5845 echocheck
"OggVorbis support"
5846 if test "$_tremor_internal" = yes; then
5848 elif test "$_tremor_external" = auto
; then
5851 #include <tremor/ivorbiscodec.h>
5852 int main(void) { vorbis_packet_blocksize(0,0); return 0; }
5854 cc_check
-logg -lvorbisidec $_ld_lm && _tremor_external
=yes && _libvorbis
=no
5856 if test "$_libvorbis" = auto
; then
5859 #include <vorbis/codec.h>
5860 int main(void) { vorbis_packet_blocksize(0,0); return 0; }
5862 cc_check
-lvorbis -logg $_ld_lm && _libvorbis
=yes
5864 if test "$_tremor_internal" = yes ; then
5866 _def_vorbis
='#define HAVE_OGGVORBIS 1'
5867 _def_tremor
='#define TREMOR 1'
5868 _codecmodules
="tremor(internal) $_codecmodules"
5869 _res_comment
="internal Tremor"
5870 if test "$_tremor_low" = yes ; then
5871 CFLAGS
="$CFLAGS -D_LOW_ACCURACY_"
5872 _res_comment
="internal low accuracy Tremor"
5874 elif test "$_tremor_external" = yes ; then
5876 _def_vorbis
='#define HAVE_OGGVORBIS 1'
5877 _def_tremor
='#define TREMOR 1'
5878 _codecmodules
="tremor(external) $_codecmodules"
5879 _res_comment
="external Tremor"
5880 _ld_extra
="$_ld_extra -logg -lvorbisidec"
5881 elif test "$_libvorbis" = yes ; then
5883 _def_vorbis
='#define HAVE_OGGVORBIS 1'
5884 _codecmodules
="libvorbis $_codecmodules"
5885 _res_comment
="libvorbis"
5886 _ld_extra
="$_ld_extra -lvorbis -logg"
5889 _nocodecmodules
="libvorbis $_nocodecmodules"
5893 echocheck
"libspeex (version >= 1.1 required)"
5894 if test "$_speex" = auto
; then
5897 #include <speex/speex.h>
5898 int main(void) { SpeexBits bits; void *dec; speex_decode_int(dec, &bits, dec); return 0; }
5900 cc_check
-lspeex $_ld_lm && _speex
=yes
5902 if test "$_speex" = yes ; then
5903 _def_speex
='#define HAVE_SPEEX 1'
5904 _ld_extra
="$_ld_extra -lspeex"
5905 _codecmodules
="speex $_codecmodules"
5907 _def_speex
='#undef HAVE_SPEEX'
5908 _nocodecmodules
="speex $_nocodecmodules"
5912 echocheck
"OggTheora support"
5913 if test "$_theora" = auto
; then
5916 #include <theora/theora.h>
5919 /* theora is in flux, make sure that all interface routines and
5920 * datatypes exist and work the way we expect it, so we don't break
5930 theora_info_init (&inf);
5931 theora_comment_init (&tc);
5935 /* we don't want to execute this kind of nonsense; just for making sure
5936 * that compilation works... */
5937 memset(&op, 0, sizeof(op));
5938 r = theora_decode_header (&inf, &tc, &op);
5939 r = theora_decode_init (&st, &inf);
5940 t = theora_granule_time (&st, op.granulepos);
5941 r = theora_decode_packetin (&st, &op);
5942 r = theora_decode_YUVout (&st, &yuv);
5948 for _ld_theora
in "`$_pkg_config --silence-errors --libs --cflags theora`" "-ltheora -logg"; do
5949 cc_check
$_ld_theora && _ld_extra
="$_ld_extra $_ld_theora" \
5950 && _theora
=yes && break
5952 if test "$_theora" = no
&& test "$_tremor_internal" = yes; then
5953 for _ld_theora
in "`$_pkg_config --silence-errors --libs --cflags theora`" "-ltheora -logg"; do
5954 cc_check
-I. tremor
/bitwise.c
$_ld_theora \
5955 && _ld_extra
="$_ld_extra $_ld_theora" && theora
=yes && break
5959 if test "$_theora" = yes ; then
5960 _def_theora
='#define HAVE_OGGTHEORA 1'
5961 _codecmodules
="libtheora $_codecmodules"
5962 # when --enable-theora is forced, we'd better provide a probably sane
5963 # $_ld_theora than nothing
5964 test -z "$_ld_theora" && _ld_extra
="$_ld_extra -ltheora -logg"
5966 _def_theora
='#undef HAVE_OGGTHEORA'
5967 _nocodecmodules
="libtheora $_nocodecmodules"
5971 echocheck
"internal mp3lib support"
5972 if test "$_mp3lib" = yes ; then
5973 _def_mp3lib
='#define USE_MP3LIB 1'
5974 _codecmodules
="mp3lib $_codecmodules"
5976 _def_mp3lib
='#undef USE_MP3LIB'
5977 _nocodecmodules
="mp3lib $_nocodecmodules"
5981 echocheck
"internal liba52 support"
5982 if test "$_liba52" = yes ; then
5983 _def_liba52
='#define USE_LIBA52 1'
5984 _codecmodules
="liba52 $_codecmodules"
5986 _def_liba52
='#undef USE_LIBA52'
5987 _nocodecmodules
="liba52 $_nocodecmodules"
5991 echocheck
"internal libmpeg2 support"
5992 if test "$_libmpeg2" = auto
; then
5994 if alpha
&& test cc_vendor
=gnu
; then
5996 2*|
3.0*|
3.1*) # cannot compile MVI instructions
5998 _res_comment
="broken gcc"
6003 if test "$_libmpeg2" = yes ; then
6004 _def_libmpeg2
='#define USE_LIBMPEG2 1'
6005 _codecmodules
="libmpeg2 $_codecmodules"
6007 _def_libmpeg2
='#undef USE_LIBMPEG2'
6008 _nocodecmodules
="libmpeg2 $_nocodecmodules"
6010 echores
"$_libmpeg2"
6012 echocheck
"libdca support"
6013 if test "$_libdca" = auto
; then
6016 #include <inttypes.h>
6018 int main(void) { dts_init (0); return 0; }
6020 for _ld_dca
in -ldts -ldca ; do
6021 cc_check
$_ld_dca $_ld_lm && _ld_extra
="$_ld_extra $_ld_dca" \
6022 && _libdca
=yes && break
6025 if test "$_libdca" = yes ; then
6026 _def_libdca
='#define USE_LIBDCA 1'
6027 _codecmodules
="libdca $_codecmodules"
6029 _def_libdca
='#undef USE_LIBDCA'
6030 _nocodecmodules
="libdca $_nocodecmodules"
6034 echocheck
"libmpcdec (musepack, version >= 1.2.1 required)"
6035 if test "$_musepack" = auto
; then
6039 #include <mpcdec/mpcdec.h>
6041 mpc_streaminfo info;
6042 mpc_decoder decoder;
6043 mpc_decoder_set_streaminfo(&decoder, &info);
6044 mpc_decoder_decode_frame(&decoder, NULL, 0, NULL);
6048 cc_check
-lmpcdec $_ld_lm && _musepack
=yes
6050 if test "$_musepack" = yes ; then
6051 _def_musepack
='#define HAVE_MUSEPACK 1'
6052 _ld_extra
="$_ld_extra -lmpcdec"
6053 _codecmodules
="musepack $_codecmodules"
6055 _def_musepack
='#undef HAVE_MUSEPACK'
6056 _nocodecmodules
="musepack $_nocodecmodules"
6058 echores
"$_musepack"
6061 echocheck
"FAAC (AAC encoder) support"
6062 if test "$_faac" = auto
; then
6064 #include <inttypes.h>
6066 int main(void) { unsigned long x, y; faacEncOpen(48000, 2, &x, &y); return 0; }
6069 for _ld_faac
in "-lfaac" "-lfaac -lmp4v2 -lstdc++" ; do
6070 cc_check
-O4 $_ld_faac $_ld_lm && _libs_mencoder
="$_libs_mencoder $_ld_faac" && _faac
=yes && break
6073 if test "$_faac" = yes ; then
6074 _def_faac
="#define HAVE_FAAC 1"
6075 test "$_faac_lavc" = auto
&& _faac_lavc
=yes
6076 if test "$_faac_lavc" = yes ; then
6077 _def_faac_lavc
="#define CONFIG_LIBFAAC 1"
6078 _libs_mplayer
="$_libs_mplayer $_ld_faac"
6079 _libavencoders
="$_libavencoders LIBFAAC_ENCODER"
6081 _codecmodules
="faac $_codecmodules"
6084 _def_faac
="#undef HAVE_FAAC"
6085 _def_faac_lavc
="#undef CONFIG_LIBFAAC"
6086 _nocodecmodules
="faac $_nocodecmodules"
6088 _res_comment
="in libavcodec: $_faac_lavc"
6092 echocheck
"FAAD2 (AAC) support"
6093 if test "$_faad_internal" = auto
; then
6094 if x86_32
&& test cc_vendor
=gnu
; then
6096 3.1*|
3.2) # ICE/insn with these versions
6098 _res_comment
="broken gcc"
6107 elif test "$_faad_internal" = no
&& test "$_faad_external" = auto
; then
6111 #ifndef FAAD_MIN_STREAMSIZE
6112 #error Too old version
6114 int main(void) { faacDecHandle testhand; faacDecFrameInfo testinfo;
6115 testhand = faacDecOpen(); faacDecInit(0, 0, 0, 0, 0); return 0; }
6117 cc_check
-lfaad $_ld_lm && _faad_external
=yes
6120 if test "$_faad_internal" = yes ; then
6121 _def_faad_internal
="#define USE_FAAD_INTERNAL 1"
6123 _res_comment
="internal floating-point"
6124 if test "$_faad_fixed" = yes ; then
6125 # The FIXED_POINT implementation of FAAD2 improves performance
6126 # on some platforms, especially for SBR files.
6127 CFLAGS
="$CFLAGS -DFIXED_POINT"
6128 _res_comment
="internal fixed-point"
6130 elif test "$_faad_external" = yes ; then
6132 _ld_extra
="$_ld_extra -lfaad"
6134 _def_faad_internal
="#undef USE_FAAD_INTERNAL"
6138 if test "$_faad" = yes ; then
6139 _def_faad
='#define HAVE_FAAD 1'
6140 _codecmodules
="faad2 $_codecmodules"
6142 _def_faad
='#undef HAVE_FAAD'
6143 _nocodecmodules
="faad2 $_nocodecmodules"
6148 echocheck
"LADSPA plugin support"
6149 if test "$_ladspa" = auto
; then
6154 const LADSPA_Descriptor *ld = NULL;
6159 cc_check
&& _ladspa
=yes
6161 if test "$_ladspa" = yes; then
6162 _def_ladspa
="#define HAVE_LADSPA"
6164 _def_ladspa
="#undef HAVE_LADSPA"
6169 if test -z "$_codecsdir" ; then
6170 for dir
in "$_libdir/codecs" "$_libdir/win32" /usr
/local
/lib
/codecs \
6171 /usr
/lib
/codecs
/usr
/local
/lib
/win32
/usr
/lib
/win32
; do
6172 if test -d "$dir" ; then
6178 # Fall back on default directory.
6179 if test -z "$_codecsdir" ; then
6180 _codecsdir
="$_libdir/codecs"
6181 mingw32
&& _codecsdir
="codecs"
6182 os2
&& _codecsdir
="codecs"
6186 echocheck
"Win32 codecs"
6187 if test "$_win32dll" = auto
; then
6189 if x86_32
&& ! qnx
; then
6193 if test "$_win32dll" = yes ; then
6194 _def_win32dll
='#define USE_WIN32DLL 1'
6195 test -z "$_win32codecsdir" && _win32codecsdir
=$_codecsdir
6196 _res_comment
="using $_win32codecsdir"
6198 _def_win32_loader
='#define WIN32_LOADER 1'
6199 _win32_emulation
=yes
6201 _ld_extra
="$_ld_extra -ladvapi32 -lole32"
6202 _res_comment
="using native windows"
6204 _codecmodules
="win32 $_codecmodules"
6206 _def_win32dll
='#undef USE_WIN32DLL'
6207 _def_win32_loader
='#undef WIN32_LOADER'
6208 _nocodecmodules
="win32 $_nocodecmodules"
6210 echores
"$_win32dll"
6213 echocheck
"XAnim codecs"
6214 if test "$_xanim" = auto
; then
6216 _res_comment
="dynamic loader support needed"
6217 if test "$_dl" = yes ; then
6221 if test "$_xanim" = yes ; then
6222 test -z "$_xanimcodecsdir" && _xanimcodecsdir
=$_codecsdir
6223 _def_xanim
='#define USE_XANIM 1'
6224 _def_xanim_path
="#define XACODEC_PATH \"$_xanimcodecsdir\""
6225 _codecmodules
="xanim $_codecmodules"
6226 _res_comment
="using $_xanimcodecsdir"
6228 _def_xanim
='#undef USE_XANIM'
6229 _def_xanim_path
='#undef XACODEC_PATH'
6230 _nocodecmodules
="xanim $_nocodecmodules"
6235 echocheck
"RealPlayer codecs"
6236 if test "$_real" = auto
; then
6238 _res_comment
="dynamic loader support needed"
6239 if test "$_dl" = yes ||
test "$_win32dll" = yes &&
6240 (linux || freebsd || netbsd || dragonfly || darwin || win32
) ; then
6244 if test "$_real" = yes ; then
6245 test -z "$_realcodecsdir" && _realcodecsdir
="$_codecsdir"
6246 _def_real
='#define USE_REALCODECS 1'
6247 _def_real_path
="#define REALCODEC_PATH \"$_realcodecsdir\""
6248 _codecmodules
="real $_codecmodules"
6249 _res_comment
="using $_realcodecsdir"
6251 _def_real
='#undef USE_REALCODECS'
6252 _def_real_path
="#undef REALCODEC_PATH"
6253 _nocodecmodules
="real $_nocodecmodules"
6258 echocheck
"QuickTime codecs"
6260 _def_qtx_win32
='#undef USE_QTX_CODECS_WIN32'
6261 if test "$_qtx" = auto
; then
6262 test "$_win32dll" = yes || darwin
&& _qtx
=yes
6264 if test "$_qtx" = yes ; then
6265 _def_qtx
='#define USE_QTX_CODECS 1'
6266 win32
&& _qtx_codecs_win32
=yes && _def_qtx_win32
='#define USE_QTX_CODECS_WIN32 1'
6267 _codecmodules
="qtx $_codecmodules"
6268 darwin || win32 || _qtx_emulation
=yes
6270 _def_qtx
='#undef USE_QTX_CODECS'
6271 _nocodecmodules
="qtx $_nocodecmodules"
6275 echocheck
"Nemesi Streaming Media libraries"
6276 if test "$_nemesi" = auto
&& test "$_network" = yes ; then
6278 if $_pkg_config libnemesi
--atleast-version=0.6.3 ; then
6279 _inc_extra
="$_inc_extra `$_pkg_config --cflags libnemesi`"
6280 _ld_extra
="$_ld_extra `$_pkg_config --libs libnemesi`"
6284 if test "$_nemesi" = yes; then
6286 _def_nemesi
='#define LIBNEMESI 1'
6287 _inputmodules
="nemesi $_inputmodules"
6289 _native_rtsp
="$_network"
6291 _def_nemesi
='#undef LIBNEMESI'
6292 _noinputmodules
="nemesi $_noinputmodules"
6296 echocheck
"LIVE555 Streaming Media libraries"
6297 if test "$_live" = auto
&& test "$_network" = yes ; then
6298 cat > $TMPCPP << EOF
6299 #include <liveMedia.hh>
6300 #if (LIVEMEDIA_LIBRARY_VERSION_INT < 1141257600)
6301 #error Please upgrade to version 2006.03.03 or later of the "LIVE555 Streaming Media" libraries - available from <www.live555.com/liveMedia/>
6303 int main(void) { return 0; }
6307 for I
in $_inc_extra "-I$_libdir/live" "-I/usr/lib/live" "-I/usr/local/live" "-I/usr/local/lib/live" ; do
6308 cxx_check
$I/liveMedia
/include
$I/UsageEnvironment
/include \
6309 $I/groupsock
/include
&& _livelibdir
=`echo $I| sed s/-I//` && \
6310 _ld_extra
="$_livelibdir/liveMedia/libliveMedia.a \
6311 $_livelibdir/groupsock/libgroupsock.a \
6312 $_livelibdir/UsageEnvironment/libUsageEnvironment.a \
6313 $_livelibdir/BasicUsageEnvironment/libBasicUsageEnvironment.a \
6314 $_ld_extra -lstdc++" \
6315 _inc_extraxx
="-I$_livelibdir/liveMedia/include \
6316 -I$_livelibdir/UsageEnvironment/include \
6317 -I$_livelibdir/BasicUsageEnvironment/include \
6318 -I$_livelibdir/groupsock/include" && \
6321 if test "$_live" != yes ; then
6322 if cxx_check
-I/usr
/include
/liveMedia
-I/usr
/include
/UsageEnvironment
-I/usr
/include
/groupsock
; then
6327 if test "$_live" = yes && test "$_network" = yes; then
6328 _res_comment
="using $_livelibdir"
6329 _def_live
='#define STREAMING_LIVE555 1'
6330 _inputmodules
="live555 $_inputmodules"
6331 elif test "$_live_dist" = yes && test "$_network" = yes; then
6332 _res_comment
="using distribution version"
6334 _def_live
='#define STREAMING_LIVE555 1'
6335 _ld_extra
="$_ld_extra -lliveMedia -lgroupsock -lUsageEnvironment -lBasicUsageEnvironment -lstdc++"
6336 _inc_extraxx
="-I/usr/include/liveMedia -I/usr/include/UsageEnvironment \
6337 -I/usr/include/BasicUsageEnvironment -I/usr/include/groupsock"
6338 _inputmodules
="live555 $_inputmodules"
6341 _def_live
='#undef STREAMING_LIVE555'
6342 _noinputmodules
="live555 $_noinputmodules"
6347 echocheck
"FFmpeg libavutil"
6348 if test "$_libavutil_a" = auto
; then
6349 if test -d libavutil
; then
6351 _res_comment
="static"
6353 die
"MPlayer will not compile without libavutil in the source tree."
6355 elif test "$_libavutil_so" = auto
; then
6358 #include <libavutil/common.h>
6359 int main(void) { ff_gcd(1,1); return 0; }
6361 if $_pkg_config --exists libavutil
; then
6362 _inc_libavutil
=`$_pkg_config --cflags libavutil`
6363 _ld_tmp
=`$_pkg_config --libs libavutil`
6364 cc_check
$_inc_libavutil $_ld_tmp && _ld_extra
="$_ld_extra $_ld_tmp" \
6365 && _libavutil_so
=yes
6366 elif cc_check
-lavutil $_ld_lm ; then
6367 _ld_extra
="$_ld_extra -lavutil"
6369 _res_comment
="using libavutil.so, but static libavutil is recommended"
6373 _def_libavutil
='#undef USE_LIBAVUTIL'
6374 _def_libavutil_a
='#undef USE_LIBAVUTIL_A'
6375 _def_libavutil_so
='#undef USE_LIBAVUTIL_SO'
6376 test "$_libavutil_a" = yes ||
test "$_libavutil_so" = yes && _libavutil
=yes
6377 test "$_libavutil" = yes && _def_libavutil
='#define USE_LIBAVUTIL 1'
6378 test "$_libavutil_a" = yes && _def_libavutil_a
='#define USE_LIBAVUTIL_A 1'
6379 test "$_libavutil_so" = yes && _def_libavutil_so
='#define USE_LIBAVUTIL_SO 1'
6380 # neither static nor shared libavutil is available, but it is mandatory ...
6381 if test "$_libavutil" = no
; then
6382 die
"You need static or shared libavutil, MPlayer will not compile without!"
6384 echores
"$_libavutil"
6386 echocheck
"FFmpeg libavcodec"
6387 if test "$_libavcodec_a" = auto
; then
6389 if test -d libavcodec
&& test -f libavcodec
/utils.c
; then
6391 _res_comment
="static"
6393 elif test "$_libavcodec_so" = auto
; then
6395 _res_comment
="libavcodec.so is discouraged over static libavcodec"
6397 #include <libavcodec/avcodec.h>
6398 int main(void) { avcodec_find_encoder_by_name(""); return 0; }
6400 if $_pkg_config --exists libavcodec
; then
6401 _inc_libavcodec
=`$_pkg_config --cflags libavcodec`
6402 _ld_tmp
=`$_pkg_config --libs libavcodec`
6403 cc_check
$_inc_libavcodec $_ld_tmp && _ld_extra
="$_ld_extra $_ld_tmp" \
6404 && _libavcodec_so
=yes
6405 elif cc_check
-lavcodec $_ld_lm ; then
6406 _ld_extra
="$_ld_extra -lavcodec"
6408 _res_comment
="using libavcodec.so, but static libavcodec is recommended"
6412 _def_libavcodec
='#undef USE_LIBAVCODEC'
6413 _def_libavcodec_a
='#undef USE_LIBAVCODEC_A'
6414 _def_libavcodec_so
='#undef USE_LIBAVCODEC_SO'
6415 test "$_libavcodec_a" = yes ||
test "$_libavcodec_so" = yes && _libavcodec
=yes
6416 test "$_libavcodec" = yes && _def_libavcodec
='#define USE_LIBAVCODEC 1'
6417 test "$_libavcodec_a" = yes && _def_libavcodec_a
='#define USE_LIBAVCODEC_A 1'
6418 test "$_libavcodec_so" = yes && _def_libavcodec_so
='#define USE_LIBAVCODEC_SO 1'
6419 test "$_libavcodec_mpegaudio_hp" = yes \
6420 && _def_libavcodec_mpegaudio_hp
='#define CONFIG_MPEGAUDIO_HP 1'
6421 if test "$_libavcodec_a" = yes ; then
6422 _codecmodules
="libavcodec $_codecmodules"
6423 elif test "$_libavcodec_so" = yes ; then
6424 _codecmodules
="libavcodec.so $_codecmodules"
6426 _nocodecmodules
="libavcodec $_nocodecmodules"
6428 echores
"$_libavcodec"
6430 echocheck
"FFmpeg libavformat"
6431 if test "$_libavformat_a" = auto
; then
6433 if test -d libavformat
&& test -f libavformat
/utils.c
; then
6435 _res_comment
="static"
6437 elif test "$_libavformat_so" = auto
; then
6440 #include <libavformat/avformat.h>
6441 #include <libavcodec/opt.h>
6442 int main(void) { av_alloc_format_context(); return 0; }
6444 if $_pkg_config --exists libavformat
; then
6445 _inc_libavformat
=`$_pkg_config --cflags libavformat`
6446 _ld_tmp
=`$_pkg_config --libs libavformat`
6447 cc_check
$_inc_libavformat $_ld_tmp && _ld_extra
="$_ld_extra $_ld_tmp" \
6448 && _libavformat_so
=yes
6449 elif cc_check
$_ld_lm -lavformat ; then
6450 _ld_extra
="$_ld_extra -lavformat"
6452 _res_comment
="using libavformat.so, but static libavformat is recommended"
6456 _def_libavformat
='#undef USE_LIBAVFORMAT'
6457 _def_libavformat_a
='#undef USE_LIBAVFORMAT_A'
6458 _def_libavformat_so
='#undef USE_LIBAVFORMAT_SO'
6459 test "$_libavformat_a" = yes ||
test "$_libavformat_so" = yes && _libavformat
=yes
6460 test "$_libavformat" = yes && _def_libavformat
='#define USE_LIBAVFORMAT 1'
6461 test "$_libavformat_a" = yes && _def_libavformat_a
='#define USE_LIBAVFORMAT_A 1'
6462 test "$_libavformat_so" = yes \
6463 && _def_libavformat_so
='#define USE_LIBAVFORMAT_SO 1'
6464 echores
"$_libavformat"
6466 echocheck
"FFmpeg libpostproc"
6467 if test "$_libpostproc_a" = auto
; then
6469 if test -d libpostproc
&& test -f libpostproc
/postprocess.h
; then
6470 _libpostproc_a
='yes'
6471 _res_comment
="static"
6473 elif test "$_libpostproc_so" = auto
; then
6476 #define USE_LIBPOSTPROC 1
6477 #include <inttypes.h>
6478 #include <libpostproc/postprocess.h>
6479 int main(void) { pp_get_mode_by_name_and_quality("de", 0); return 0; }
6481 if cc_check
-lpostproc $_ld_lm ; then
6482 _ld_extra
="$_ld_extra -lpostproc"
6484 _res_comment
="using libpostproc.so, but static libpostproc is recommended"
6488 _def_libpostproc
='#undef USE_LIBPOSTPROC'
6489 _def_libpostproc_a
='#undef USE_LIBPOSTPROC_A'
6490 _def_libpostproc_so
='#undef USE_LIBPOSTPROC_SO'
6491 test "$_libpostproc_a" = yes ||
test "$_libpostproc_so" = yes && _libpostproc
=yes
6492 test "$_libpostproc" = yes && _def_libpostproc
='#define USE_LIBPOSTPROC 1'
6493 test "$_libpostproc_a" = yes && _def_libpostproc_a
='#define USE_LIBPOSTPROC_A 1'
6494 test "$_libpostproc_so" = yes \
6495 && _def_libpostproc_so
='#define USE_LIBPOSTPROC_SO 1'
6496 echores
"$_libpostproc"
6499 echocheck
"libamr narrowband"
6500 if test "$_libamr_nb" = auto
; then
6503 #include <amrnb/sp_dec.h>
6504 int main(void) { Speech_Decode_Frame_init(); return 0; }
6506 cc_check
-lamrnb && _libamr_nb
=yes
6507 if test "$_libavcodec_a" != yes ; then
6509 _res_comment
="libavcodec (static) is required by libamr_nb, sorry"
6512 if test "$_libamr_nb" = yes ; then
6514 _ld_extra
="$_ld_extra -lamrnb"
6515 _def_libamr
='#define CONFIG_LIBAMR 1'
6516 _def_libamr_nb
='#define CONFIG_LIBAMR_NB 1'
6517 _libavdecoders
="$_libavdecoders LIBAMR_NB_DECODER"
6518 _libavencoders
="$_libavencoders LIBAMR_NB_ENCODER"
6519 _codecmodules
="libamr_nb $_codecmodules"
6521 _def_libamr_nb
='#undef CONFIG_LIBAMR_NB'
6522 _nocodecmodules
="libamr_nb $_nocodecmodules"
6524 echores
"$_libamr_nb"
6527 echocheck
"libamr wideband"
6528 if test "$_libamr_wb" = auto
; then
6531 #include <amrwb/dec_if.h>
6532 int main(void) { D_IF_init(); return 0; }
6534 cc_check
-lamrwb && _libamr_wb
=yes
6535 if test "$_libavcodec_a" != yes ; then
6537 _res_comment
="libavcodec (static) is required by libamr_wb, sorry"
6540 if test "$_libamr_wb" = yes ; then
6542 _ld_extra
="$_ld_extra -lamrwb"
6543 _def_libamr
='#define CONFIG_LIBAMR 1'
6544 _def_libamr_wb
='#define CONFIG_LIBAMR_WB 1'
6545 _libavdecoders
="$_libavdecoders LIBAMR_WB_DECODER"
6546 _libavencoders
="$_libavencoders LIBAMR_WB_ENCODER"
6547 _codecmodules
="libamr_wb $_codecmodules"
6549 _def_libamr_wb
='#undef CONFIG_LIBAMR_WB'
6550 _nocodecmodules
="libamr_wb $_nocodecmodules"
6552 echores
"$_libamr_wb"
6554 echocheck
"libdv-0.9.5+"
6555 if test "$_libdv" = auto
; then
6558 #include <libdv/dv.h>
6559 int main(void) { dv_encoder_t* enc=dv_encoder_new(1,1,1); return 0; }
6561 cc_check
-ldv $_ld_pthread $_ld_lm && _libdv
=yes
6563 if test "$_libdv" = yes ; then
6564 _def_libdv
='#define HAVE_LIBDV095 1'
6565 _ld_extra
="$_ld_extra -ldv"
6566 _codecmodules
="libdv $_codecmodules"
6568 _def_libdv
='#undef HAVE_LIBDV095'
6569 _nocodecmodules
="libdv $_nocodecmodules"
6575 if test "$_xvid" = auto
; then
6579 int main(void) { xvid_global(0, 0, 0, 0); return 0; }
6581 for _ld_tmp
in "-lxvidcore $_ld_lm" "-lxvidcore $_ld_lm $_ld_pthread" ; do
6582 cc_check
$_ld_tmp && _ld_extra
="$_ld_extra $_ld_tmp" && _xvid
=yes && break
6586 if test "$_xvid" = yes ; then
6587 _def_xvid
='#define HAVE_XVID4 1'
6588 _codecmodules
="xvid $_codecmodules"
6590 _def_xvid
='#undef HAVE_XVID4'
6591 _nocodecmodules
="xvid $_nocodecmodules"
6595 echocheck
"Xvid two pass plugin"
6596 if test "$_xvid" = yes && test "$_xvid_lavc" = auto
; then
6599 int main(void) { xvid_plugin_2pass2_t s; s.vbv_size=0; return 0; }
6601 cc_check
&& _xvid_lavc
=yes
6603 if test "$_xvid_lavc" = yes ; then
6604 _def_xvid_lavc
='#define CONFIG_LIBXVID 1'
6605 _libavencoders
="$_libavencoders LIBXVID_ENCODER"
6608 _def_xvid_lavc
='#undef CONFIG_LIBXVID'
6610 echores
"$_xvid_lavc"
6614 if test "$_x264" = auto
; then
6616 #include <inttypes.h>
6619 #error We do not support old versions of x264. Get the latest from SVN.
6621 int main(void) { x264_encoder_open((void*)0); return 0; }
6624 for _ld_x264
in "-lx264 $_ld_pthread" "-lx264 $_ld_pthread $_ld_lm" ; do
6625 cc_check
$_ld_x264 && _libs_mencoder
="$_libs_mencoder $_ld_x264" && _x264
=yes && break
6629 if test "$_x264" = yes ; then
6630 _def_x264
='#define HAVE_X264 1'
6631 _codecmodules
="x264 $_codecmodules"
6632 test "$_x264_lavc" = auto
&& _x264_lavc
=yes
6633 if test "$_x264_lavc" = yes ; then
6634 _def_x264_lavc
='#define CONFIG_LIBX264 1'
6635 _libs_mplayer
="$_libs_mplayer $_ld_x264"
6636 _libavencoders
="$_libavencoders LIBX264_ENCODER"
6640 _def_x264
='#undef HAVE_X264'
6641 _def_x264_lavc
='#undef CONFIG_LIBX264'
6642 _nocodecmodules
="x264 $_nocodecmodules"
6644 _res_comment
="in libavcodec: $_x264_lavc"
6649 if test "$_libnut" = auto
; then
6653 #include <inttypes.h>
6655 int main(void) { (void)nut_error(0); return 0; }
6658 cc_check
-lnut && _libnut
=yes
6661 if test "$_libnut" = yes ; then
6662 _def_libnut
='#define HAVE_LIBNUT 1'
6663 _ld_extra
="$_ld_extra -lnut"
6665 _def_libnut
='#undef HAVE_LIBNUT'
6669 #check must be done after libavcodec one
6671 if test "$_zr" = auto
; then
6672 #36067's seem to identify themselves as 36057PQC's, so the line
6673 #below should work for 36067's and 36057's.
6674 if grep -q -s -e "Multimedia video controller: Zoran Corporation ZR36057" /proc
/pci
; then
6680 if test "$_zr" = yes ; then
6681 if test "$_libavcodec_a" = yes ; then
6682 _def_zr
='#define HAVE_ZR 1'
6683 _vosrc
="$_vosrc vo_zr2.c vo_zr.c jpeg_enc.c"
6684 _vomodules
="zr zr2 $_vomodules"
6686 _res_comment
="libavcodec (static) is required by zr, sorry"
6687 _novomodules
="zr $_novomodules"
6688 _def_zr
='#undef HAVE_ZR'
6691 _def_zr
='#undef HAVE_ZR'
6692 _novomodules
="zr zr2 $_novomodules"
6696 # mencoder requires (optional) those libs: libmp3lame
6697 if test "$_mencoder" != no
; then
6699 echocheck
"libmp3lame (for mencoder)"
6700 _def_mp3lame_preset
='#undef HAVE_MP3LAME_PRESET'
6701 _def_mp3lame_preset_medium
='#undef HAVE_MP3LAME_PRESET_MEDIUM'
6702 if test "$_mp3lame" = auto
; then
6705 #include <lame/lame.h>
6706 int main(void) { lame_version_t lv; (void) lame_init();
6707 get_lame_version_numerical(&lv); printf("%d%d\n",lv.major,lv.minor);
6710 cc_check
-lmp3lame $_ld_lm && tmp_run
&& _mp3lame
=yes
6712 if test "$_mp3lame" = yes ; then
6713 _def_mp3lame
="#define HAVE_MP3LAME"
6714 _ld_mp3lame
=-lmp3lame
6715 _libs_mencoder
="$_libs_mencoder $_ld_mp3lame"
6717 #include <lame/lame.h>
6718 int main(void) { lame_set_preset(NULL, STANDARD_FAST); return 0; }
6720 cc_check
$_ld_mp3lame $_ld_lm && _def_mp3lame_preset
="#define HAVE_MP3LAME_PRESET"
6722 #include <lame/lame.h>
6723 int main(void) { lame_set_preset(NULL, MEDIUM_FAST); return 0; }
6725 cc_check
$_ld_mp3lame $_ld_lm && _def_mp3lame_preset_medium
="#define HAVE_MP3LAME_PRESET_MEDIUM"
6726 test "$_mp3lame_lavc" = auto
&& _mp3lame_lavc
=yes
6727 if test "$_mp3lame_lavc" = yes ; then
6728 _def_mp3lame_lavc
="#define CONFIG_LIBMP3LAME 1"
6729 _libavencoders
="$_libavencoders LIBMP3LAME_ENCODER"
6730 _libs_mplayer
="$_libs_mplayer $_ld_mp3lame"
6734 _def_mp3lame
='#undef HAVE_MP3LAME'
6735 _def_mp3lame_lavc
="#undef CONFIG_LIBMP3LAME"
6737 _res_comment
="in libavcodec: $_mp3lame_lavc"
6742 echocheck
"mencoder"
6743 _mencoder_flag
='#undef HAVE_MENCODER'
6744 if test "$_mencoder" = yes ; then
6745 _mencoder_flag
='#define HAVE_MENCODER'
6746 _def_muxers
='#define CONFIG_MUXERS 1'
6748 # mpeg1video for vf_lavc, snow for vf_uspp and vf_mcdeint
6749 _libavencoders
="MPEG1VIDEO_ENCODER SNOW_ENCODER"
6752 echores
"$_mencoder"
6754 echocheck
"fastmemcpy"
6755 # fastmemcpy check is done earlier with tests of CPU & binutils features
6756 if test "$_fastmemcpy" = yes ; then
6757 _def_fastmemcpy
='#define USE_FASTMEMCPY 1'
6759 _def_fastmemcpy
='#undef USE_FASTMEMCPY'
6761 echores
"$_fastmemcpy"
6764 echocheck
"UnRAR executable"
6765 if test "$_unrar_exec" = auto
; then
6767 mingw32
&& _unrar_exec
="no"
6769 if test "$_unrar_exec" = yes ; then
6770 _def_unrar_exec
='#define USE_UNRAR_EXEC 1'
6772 _def_unrar_exec
='#undef USE_UNRAR_EXEC'
6774 echores
"$_unrar_exec"
6776 echocheck
"TV interface"
6777 if test "$_tv" = yes ; then
6778 _def_tv
='#define USE_TV 1'
6779 _inputmodules
="tv $_inputmodules"
6781 _noinputmodules
="tv $_noinputmodules"
6782 _def_tv
='#undef USE_TV'
6787 if freebsd || netbsd || openbsd || dragonfly || bsdos
; then
6788 echocheck
"*BSD BT848 bt8xx header"
6790 for file in "machine/ioctl_bt848.h" \
6791 "dev/bktr/ioctl_bt848.h" \
6792 "dev/video/bktr/ioctl_bt848.h" \
6793 "dev/ic/bt8xx.h" ; do
6795 #include <sys/types.h>
6796 #include <sys/ioctl.h>
6798 int main(void) { ioctl(0, TVTUNER_GETFREQ, 0); return 0; }
6802 _ioctl_bt848_h_name
="$file"
6806 if test "$_ioctl_bt848_h" = yes ; then
6807 _def_ioctl_bt848_h_name
="#define IOCTL_BT848_H_NAME <$_ioctl_bt848_h_name>"
6808 _res_comment
="using $_ioctl_bt848_h_name"
6810 _def_ioctl_bt848_h_name
="#undef IOCTL_BT848_H_NAME"
6812 echores
"$_ioctl_bt848_h"
6814 echocheck
"*BSD ioctl_meteor.h"
6816 for file in "machine/ioctl_meteor.h" \
6817 "dev/bktr/ioctl_meteor.h" \
6818 "dev/video/bktr/ioctl_meteor.h" ; do
6820 #include <sys/types.h>
6822 int main(void) { ioctl(0, METEORSINPUT, 0); return 0; }
6826 _ioctl_meteor_h_name
="$file"
6830 if test "$_ioctl_meteor_h" = yes ; then
6831 _def_ioctl_meteor_h_name
="#define IOCTL_METEOR_H_NAME <$_ioctl_meteor_h_name>"
6832 _res_comment
="using $_ioctl_meteor_h_name"
6834 _def_ioctl_meteor_h_name
="#undef IOCTL_METEOR_H_NAME"
6836 echores
"$_ioctl_meteor_h"
6838 echocheck
"*BSD BrookTree 848 TV interface"
6839 if test "$_tv_bsdbt848" = auto
; then
6841 if test "$_tv" = yes ; then
6843 #include <sys/types.h>
6844 $_def_ioctl_meteor_h_name
6845 $_def_ioctl_bt848_h_name
6846 #ifdef IOCTL_METEOR_H_NAME
6847 #include IOCTL_METEOR_H_NAME
6849 #ifdef IOCTL_BT848_H_NAME
6850 #include IOCTL_BT848_H_NAME
6853 ioctl(0, METEORSINPUT, 0);
6854 ioctl(0, TVTUNER_GETFREQ, 0);
6858 cc_check
&& _tv_bsdbt848
=yes
6861 if test "$_tv_bsdbt848" = yes ; then
6862 _def_tv_bsdbt848
='#define HAVE_TV_BSDBT848 1'
6863 _inputmodules
="tv-bsdbt848 $_inputmodules"
6865 _def_tv_bsdbt848
='#undef HAVE_TV_BSDBT848'
6866 _noinputmodules
="tv-bsdbt848 $_noinputmodules"
6868 echores
"$_tv_bsdbt848"
6869 fi #if freebsd || netbsd || openbsd || dragonfly || bsdos
6872 echocheck
"DirectShow TV interface"
6873 if test "$_tv_dshow" = auto
; then
6875 if test "$_tv" = yes && win32
; then
6880 CoCreateInstance((GUID*)&GUID_NULL, NULL, CLSCTX_INPROC_SERVER, &GUID_NULL, &p);
6884 cc_check
-lole32 -luuid && _tv_dshow
=yes
6887 if test "$_tv_dshow" = yes ; then
6888 _inputmodules
="tv-dshow $_inputmodules"
6889 _def_tv_dshow
='#define HAVE_TV_DSHOW 1'
6890 _ld_extra
="$_ld_extra -lole32 -luuid"
6892 _noinputmodules
="tv-dshow $_noinputmodules"
6893 _def_tv_dshow
='#undef HAVE_TV_DSHOW'
6895 echores
"$_tv_dshow"
6898 echocheck
"Video 4 Linux TV interface"
6899 if test "$_tv_v4l1" = auto
; then
6901 if test "$_tv" = yes && linux
; then
6904 #include <linux/videodev.h>
6905 int main(void) { return 0; }
6907 cc_check
&& _tv_v4l1
=yes
6910 if test "$_tv_v4l1" = yes ; then
6913 _def_tv_v4l
='#define HAVE_TV_V4L 1'
6914 _def_tv_v4l1
='#define HAVE_TV_V4L1 1'
6915 _inputmodules
="tv-v4l $_inputmodules"
6917 _noinputmodules
="tv-v4l1 $_noinputmodules"
6918 _def_tv_v4l
='#undef HAVE_TV_V4L'
6923 echocheck
"Video 4 Linux 2 TV interface"
6924 if test "$_tv_v4l2" = auto
; then
6926 if test "$_tv" = yes && linux
; then
6929 #include <linux/types.h>
6930 #include <linux/videodev2.h>
6931 int main(void) { return 0; }
6933 cc_check
&& _tv_v4l2
=yes
6936 if test "$_tv_v4l2" = yes ; then
6939 _def_tv_v4l
='#define HAVE_TV_V4L 1'
6940 _def_tv_v4l2
='#define HAVE_TV_V4L2 1'
6941 _inputmodules
="tv-v4l2 $_inputmodules"
6943 _noinputmodules
="tv-v4l2 $_noinputmodules"
6944 _def_tv_v4l2
='#undef HAVE_TV_V4L2'
6949 echocheck
"TV teletext interface"
6950 if test "$_tv_teletext" = auto
; then
6952 if test "$_freetype" = yes && test "$_pthreads" = yes; then
6953 if test "$_tv_v4l2" = yes ||
test "$_v4l" = yes ||
test "$_tv_dshow" = yes; then
6958 if test "$_tv_teletext" = yes ; then
6959 _def_tv_teletext
='#define HAVE_TV_TELETEXT 1'
6960 _inputmodules
="tv-teletext $_inputmodules"
6962 _noinputmodules
="tv-teletext $_noinputmodules"
6963 _def_tv_teletext
='#undef HAVE_TV_TELETEXT'
6965 echores
"$_tv_teletext"
6968 echocheck
"Radio interface"
6969 if test "$_radio" = yes ; then
6970 _def_radio
='#define USE_RADIO 1'
6971 _inputmodules
="radio $_inputmodules"
6972 if test "$_alsa9" != yes -a "$_alsa1x" != yes -a "$_ossaudio" != yes ; then
6975 if test "$_radio_capture" = yes ; then
6977 _def_radio_capture
="#define USE_RADIO_CAPTURE 1"
6979 _def_radio_capture
="#undef USE_RADIO_CAPTURE"
6982 _noinputmodules
="radio $_noinputmodules"
6983 _def_radio
='#undef USE_RADIO'
6984 _def_radio_capture
="#undef USE_RADIO_CAPTURE"
6988 echocheck
"Capture for Radio interface"
6989 echores
"$_radio_capture"
6991 echocheck
"Video 4 Linux 2 Radio interface"
6992 if test "$_radio_v4l2" = auto
; then
6994 if test "$_radio" = yes && linux
; then
6997 #include <linux/types.h>
6998 #include <linux/videodev2.h>
6999 int main(void) { return 0; }
7001 cc_check
&& _radio_v4l2
=yes
7004 if test "$_radio_v4l2" = yes ; then
7005 _def_radio_v4l2
='#define HAVE_RADIO_V4L2 1'
7007 _def_radio_v4l2
='#undef HAVE_RADIO_V4L2'
7009 echores
"$_radio_v4l2"
7011 echocheck
"Video 4 Linux Radio interface"
7012 if test "$_radio_v4l" = auto
; then
7014 if test "$_radio" = yes && linux
; then
7017 #include <linux/videodev.h>
7018 int main(void) { return 0; }
7020 cc_check
&& _radio_v4l
=yes
7023 if test "$_radio_v4l" = yes ; then
7024 _def_radio_v4l
='#define HAVE_RADIO_V4L 1'
7026 _def_radio_v4l
='#undef HAVE_RADIO_V4L'
7028 echores
"$_radio_v4l"
7030 if freebsd || netbsd || openbsd || dragonfly || bsdos \
7031 && test "$_radio" = yes && test "$_radio_bsdbt848" = auto
; then
7032 echocheck
"*BSD BrookTree 848 Radio interface"
7035 #include <sys/types.h>
7036 $_def_ioctl_bt848_h_name
7037 #ifdef IOCTL_BT848_H_NAME
7038 #include IOCTL_BT848_H_NAME
7040 int main(void) { ioctl(0, RADIO_GETFREQ, 0); return 0; }
7042 cc_check
&& _radio_bsdbt848
=yes
7043 echores
"$_radio_bsdbt848"
7044 fi #if freebsd || netbsd || openbsd || dragonfly || bsdos && _radio && _radio_bsdbt848
7046 if test "$_radio_bsdbt848" = yes ; then
7047 _def_radio_bsdbt848
='#define HAVE_RADIO_BSDBT848 1'
7049 _def_radio_bsdbt848
='#undef HAVE_RADIO_BSDBT848'
7052 if test "$_radio_v4l" = no
&& test "$_radio_v4l2" = no
&& \
7053 test "$_radio_bsdbt848" = no
&& test "$_radio" = yes ; then
7054 die
"Radio driver requires BSD BT848, V4L or V4L2!"
7057 echocheck
"Video 4 Linux 2 MPEG PVR interface"
7058 if test "$_pvr" = auto
; then
7060 if test "$_tv_v4l2" = yes && linux
; then
7063 #include <inttypes.h>
7064 #include <linux/types.h>
7065 #include <linux/videodev2.h>
7066 int main(void) { struct v4l2_ext_controls ext; return 0; }
7068 cc_check
&& _pvr
=yes
7071 if test "$_pvr" = yes ; then
7072 _def_pvr
='#define HAVE_PVR 1'
7073 _inputmodules
="pvr $_inputmodules"
7075 _noinputmodules
="pvr $_noinputmodules"
7076 _def_pvr
='#undef HAVE_PVR'
7081 echocheck
"audio select()"
7082 if test "$_select" = no
; then
7083 _def_select
='#undef HAVE_AUDIO_SELECT'
7084 elif test "$_select" = yes ; then
7085 _def_select
='#define HAVE_AUDIO_SELECT 1'
7091 if ! beos
&& test "$_ftp" = yes ; then
7092 _def_ftp
='#define HAVE_FTP 1'
7093 _inputmodules
="ftp $_inputmodules"
7095 _noinputmodules
="ftp $_noinputmodules"
7096 _def_ftp
='#undef HAVE_FTP'
7100 echocheck
"vstream client"
7101 if test "$_vstream" = auto
; then
7104 #include <vstream-client.h>
7105 void vstream_error(const char *format, ... ) {}
7106 int main(void) { vstream_start(); return 0; }
7108 cc_check
-lvstream-client && _vstream
=yes
7110 if test "$_vstream" = yes ; then
7111 _def_vstream
='#define HAVE_VSTREAM 1'
7112 _inputmodules
="vstream $_inputmodules"
7113 _ld_extra
="$_ld_extra -lvstream-client"
7115 _noinputmodules
="vstream $_noinputmodules"
7116 _def_vstream
='#undef HAVE_VSTREAM'
7121 echocheck
"byte order"
7122 if test "$_big_endian" = auto
; then
7124 short ascii_name[] = { (('M'<<8)|'P'),(('l'<<8)|'a'),(('y'<<8)|'e'),(('r'<<8)|'B'),
7125 (('i'<<8)|'g'),(('E'<<8)|'n'),(('d'<<8)|'i'),(('a'<<8)|'n'),0};
7126 int main(void) { return (int)ascii_name; }
7129 if strings $TMPEXE |
grep -q -l MPlayerBigEndian
; then
7135 echo ${_echo_n} "failed to autodetect byte order, defaulting to ${_echo_c}"
7138 if test "$_big_endian" = yes ; then
7139 _byte_order
='big-endian'
7140 _def_words_endian
='#define WORDS_BIGENDIAN 1'
7142 _byte_order
='little-endian'
7143 _def_words_endian
='#undef WORDS_BIGENDIAN'
7145 echores
"$_byte_order"
7147 echocheck
"OSD menu"
7148 if test "$_menu" = yes ; then
7149 _def_menu
='#define HAVE_MENU 1'
7150 test $_dvbin = "yes" && _menu_dvbin
=yes
7152 _def_menu
='#undef HAVE_MENU'
7158 echocheck
"Subtitles sorting"
7159 if test "$_sortsub" = yes ; then
7160 _def_sortsub
='#define USE_SORTSUB 1'
7162 _def_sortsub
='#undef USE_SORTSUB'
7167 echocheck
"XMMS inputplugin support"
7168 if test "$_xmms" = yes ; then
7169 if ( xmms-config
--version ) >/dev
/null
2>&1 ; then
7170 _xmmsplugindir
=`xmms-config --input-plugin-dir`
7171 _xmmslibdir
=`xmms-config --exec-prefix`/lib
7173 _xmmsplugindir
=/usr
/lib
/xmms
/Input
7174 _xmmslibdir
=/usr
/lib
7177 _def_xmms
='#define HAVE_XMMS 1'
7179 _ld_extra
="$_ld_extra ${_xmmslibdir}/libxmms.dylib"
7181 _ld_extra
="$_ld_extra ${_xmmslibdir}/libxmms.so.1 -export-dynamic"
7184 _def_xmms
='#undef HAVE_XMMS'
7189 if test "$_inet6" = auto
; then
7191 #include <sys/types.h>
7192 #if !defined(_WIN32) || defined(__CYGWIN__)
7193 #include <sys/socket.h>
7194 #include <netinet/in.h>
7196 #include <ws2tcpip.h>
7198 int main(void) { struct sockaddr_in6 six; socket(AF_INET6, SOCK_STREAM, AF_INET6); return 0; }
7201 if cc_check
$_ld_sock ; then
7205 if test "$_inet6" = yes ; then
7206 _def_inet6
='#define HAVE_AF_INET6 1'
7208 _def_inet6
='#undef HAVE_AF_INET6'
7213 echocheck
"gethostbyname2"
7214 if test "$_gethostbyname2" = auto
; then
7216 #include <sys/types.h>
7217 #include <sys/socket.h>
7219 int main(void) { gethostbyname2("", AF_INET); return 0; }
7227 if test "$_gethostbyname2" = yes ; then
7228 _def_gethostbyname2
='#define HAVE_GETHOSTBYNAME2 1'
7230 _def_gethostbyname2
='#undef HAVE_GETHOSTBYNAME2'
7232 echores
"$_gethostbyname2"
7235 # --------------- GUI specific tests begin -------------------
7238 if test "$_gui" = yes ; then
7240 # Required libraries
7241 if test "$_libavcodec" != yes ||
7242 ! echo $_libavdecoders |
grep -q PNG_DECODER
; then
7243 die
"The GUI requires libavcodec with PNG support (needs zlib)."
7245 test "$_freetype" = no
&& test "$_bitmap_font" = no
&& \
7246 die
"The GUI requires either FreeType or bitmap font support."
7249 test "$_x11" != yes && die
"X11 support required for GUI compilation."
7251 echocheck
"XShape extension"
7252 if test "$_xshape" = auto
; then
7255 #include <X11/Xlib.h>
7256 #include <X11/Xproto.h>
7257 #include <X11/Xutil.h>
7258 #include <X11/extensions/shape.h>
7261 char *name = ":0.0";
7264 int eventbase, errorbase;
7265 if (getenv("DISPLAY"))
7266 name=getenv("DISPLAY");
7267 wsDisplay=XOpenDisplay(name);
7268 if (!XShapeQueryExtension(wsDisplay,&eventbase,&errorbase))
7270 XCloseDisplay(wsDisplay);
7274 cc_check
-lXext && _xshape
=yes
7276 if test "$_xshape" = yes ; then
7277 _def_xshape
='#define HAVE_XSHAPE 1'
7279 die
"The GUI requires the X11 extension XShape (which was not found)."
7284 if test "$_gtk1" = no
; then
7286 echocheck
"GTK+ version"
7288 if $_pkg_config gtk
+-2.0
--exists ; then
7289 _gtk
=`$_pkg_config gtk+-2.0 --modversion 2>/dev/null`
7290 _inc_extra
="$_inc_extra `$_pkg_config gtk+-2.0 --cflags 2>/dev/null`"
7291 _libs_mplayer
="$_libs_mplayer `$_pkg_config gtk+-2.0 --libs 2>/dev/null`"
7295 if $_pkg_config glib-2.0
--exists ; then
7296 echocheck
"glib version"
7297 _glib
=`$_pkg_config glib-2.0 --modversion 2>/dev/null`
7298 _libs_mplayer
="$_libs_mplayer `$_pkg_config glib-2.0 --libs 2>/dev/null`"
7301 _def_gui
='#define HAVE_NEW_GUI 1'
7302 _def_gtk2_gui
='#define HAVE_GTK2_GUI 1'
7305 echo "GLIB-2 devel packages were not found, trying GTK 1.2"
7308 echo "GTK-2 devel packages were not found, trying GTK 1.2"
7313 if test "$_gtk1" = yes ; then
7314 # Check for old GTK (1.2.x)
7315 echocheck
"GTK version"
7316 if test -z "$_gtkconfig" ; then
7317 if ( gtk-config
--version ) >/dev
/null
2>&1 ; then
7318 _gtkconfig
="gtk-config"
7319 elif ( gtk12-config
--version ) >/dev
/null
2>&1 ; then
7320 _gtkconfig
="gtk12-config"
7322 die
"The GUI requires GTK devel packages (which were not found)."
7325 _gtk
=`$_gtkconfig --version 2>&1`
7326 _inc_extra
="$_inc_extra `$_gtkconfig --cflags 2>&1`"
7327 _libs_mplayer
="$_libs_mplayer `$_gtkconfig --libs 2>&1`"
7328 echores
"$_gtk (using $_gtkconfig)"
7331 echocheck
"glib version"
7332 if test -z "$_glibconfig" ; then
7333 if ( glib-config
--version ) >/dev
/null
2>&1 ; then
7334 _glibconfig
="glib-config"
7335 elif ( glib12-config
--version ) >/dev
/null
2>&1 ; then
7336 _glibconfig
="glib12-config"
7338 die
"The GUI requires GLIB devel packages (which were not found)"
7341 _glib
=`$_glibconfig --version 2>&1`
7342 _libs_mplayer
="$_libs_mplayer `$_glibconfig --libs 2>&1`"
7343 echores
"$_glib (using $_glibconfig)"
7345 _def_gui
='#define HAVE_NEW_GUI 1'
7346 _def_gtk2_gui
='#undef HAVE_GTK2_GUI'
7351 _libs_mplayer
="$_libs_mplayer -lcomdlg32 -lcomctl32 -lshell32 -lkernel32"
7352 _def_gui
='#define HAVE_NEW_GUI 1'
7353 _def_gtk2_gui
='#undef HAVE_GTK2_GUI'
7356 else #if test "$_gui"
7357 _def_gui
='#undef HAVE_NEW_GUI'
7358 _def_gtk2_gui
='#undef HAVE_GTK2_GUI'
7360 # --------------- GUI specific tests end -------------------
7363 if test "$_charset" = "noconv" ; then
7366 if test "$_charset" ; then
7367 _def_charset
="#define MSG_CHARSET \"$_charset\""
7369 _def_charset
="#undef MSG_CHARSET"
7372 if test "$_charset" != "UTF-8" ; then
7373 echocheck
"iconv program"
7374 iconv -f UTF-8
-t $_charset ${_mp_help} > /dev
/null
2>> "$TMPLOG"
7375 if test "$?" -ne 0 ; then
7377 echo "No working iconv program found, use "
7378 echo "--charset=UTF-8 to continue anyway."
7379 echo "If you also have problems with iconv library functions use --charset=noconv."
7380 echo "Messages in the GTK-2 interface will be broken then."
7387 #############################################################################
7389 echocheck
"automatic gdb attach"
7390 if test "$_crash_debug" = yes ; then
7391 _def_crash_debug
='#define CRASH_DEBUG 1'
7393 _def_crash_debug
='#undef CRASH_DEBUG'
7396 echores
"$_crash_debug"
7398 echocheck
"compiler support for noexecstack"
7400 int main(void) { return 0; }
7402 if cc_check
-Wl,-z,noexecstack
; then
7403 _ld_extra
="-Wl,-z,noexecstack $_ld_extra"
7410 # Dynamic linking flags
7411 # (FIXME: 'echocheck "dynamic linking"' above and modify here accordingly)
7413 freebsd || netbsd || openbsd || dragonfly || bsdos
&& _ld_dl_dynamic
='-rdynamic'
7414 if test "$_real" = yes ||
test "$_xanim" = yes && ! win32
&& ! qnx
&& ! darwin
&& ! os2
; then
7415 _ld_dl_dynamic
='-rdynamic'
7418 _ld_extra
="$_ld_extra $_ld_pthread $_ld_dl $_ld_dl_dynamic"
7419 bsdos
&& _ld_extra
="$_ld_extra -ldvd"
7420 netbsd
&& x86_32
&& _ld_extra
="$_ld_extra -li386"
7421 openbsd
&& x86_32
&& _ld_extra
="$_ld_extra -li386"
7423 _def_debug
='#undef MP_DEBUG'
7424 test "$_debug" != "" && _def_debug
='#define MP_DEBUG 1'
7427 echocheck
"joystick"
7428 _def_joystick
='#undef HAVE_JOYSTICK'
7429 if test "$_joystick" = yes ; then
7431 # TODO add some check
7432 _def_joystick
='#define HAVE_JOYSTICK 1'
7435 _res_comment
="unsupported under $system_name"
7438 echores
"$_joystick"
7441 if test "$_lirc" = auto
; then
7444 #include <lirc/lirc_client.h>
7445 int main(void) { return 0; }
7447 cc_check
-llirc_client && _lirc
=yes
7449 if test "$_lirc" = yes ; then
7450 _def_lirc
='#define HAVE_LIRC 1'
7451 _ld_extra
="$_ld_extra -llirc_client"
7453 _def_lirc
='#undef HAVE_LIRC'
7458 if test "$_lircc" = auto
; then
7461 #include <lirc/lircc.h>
7462 int main(void) { return 0; }
7464 cc_check
-llircc && _lircc
=yes
7466 if test "$_lircc" = yes ; then
7467 _def_lircc
='#define HAVE_LIRCC 1'
7468 _ld_extra
="$_ld_extra -llircc"
7470 _def_lircc
='#undef HAVE_LIRCC'
7475 # Detect maemo development platform libraries availability (http://www.maemo.org),
7476 # they are used when run on Nokia 770
7477 echocheck
"maemo (Nokia 770)"
7478 if test "$_maemo" = auto
; then
7481 #include <libosso.h>
7482 int main(void) { (void) osso_initialize("", "", 0, NULL); return 0; }
7484 cc_check
`$_pkg_config --cflags --libs libosso 2>/dev/null` && _maemo
=yes
7486 if test "$_maemo" = yes ; then
7487 _def_maemo
='#define HAVE_MAEMO 1'
7488 _inc_extra
="$_inc_extra `$_pkg_config --cflags libosso`"
7489 _ld_extra
="$_ld_extra `$_pkg_config --libs libosso` -lXsp"
7491 _def_maemo
='#undef HAVE_MAEMO'
7496 # linker paths should be the same for mencoder and mplayer
7498 for I
in $_libs_mplayer ; do
7499 _tmp
=`echo $I | sed -e 's/^-L.*$//'`
7500 if test -z "$_tmp" ; then
7501 _ld_extra
="$I $_ld_extra"
7503 _ld_tmp
="$_ld_tmp $I"
7506 _libs_mplayer
=$_ld_tmp
7509 #############################################################################
7511 CFLAGS
="$CFLAGS -mdynamic-no-pic -falign-loops=16 -shared-libgcc"
7512 if [ "$_cc_major" = 3 ] && [ "$_cc_minor" -lt 1 ]; then
7513 CFLAGS
="$CFLAGS -no-cpp-precomp"
7517 CFLAGS
="$CFLAGS -DNEWLIB -D__USE_INLINE__"
7520 # use flag for HPUX missing setenv()
7521 CFLAGS
="$CFLAGS -DHPUX"
7525 CFLAGS
="$CFLAGS -D_REENTRANT"
7526 elif freebsd || netbsd || openbsd || bsdos
; then
7527 # FIXME bsd needs this so maybe other OS'es
7528 CFLAGS
="$CFLAGS -D_THREAD_SAFE"
7531 CFLAGS
="$CFLAGS -D__CYGWIN__"
7534 CFLAGS
="$CFLAGS -Zomf"
7535 ASFLAGS
="$ASFLAGS -Zomf"
7537 # 64 bit file offsets?
7538 if test "$_largefiles" = yes || freebsd
; then
7539 CFLAGS
="$CFLAGS -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
7540 if test "$_dvdread" = yes ||
test "$_libdvdcss_internal" = yes ; then
7541 # dvdread support requires this (for off64_t)
7542 CFLAGS
="$CFLAGS -D_LARGEFILE64_SOURCE"
7543 cygwin
&& CFLAGS
="$CFLAGS -DSYS_CYGWIN"
7544 beos
&& CFLAGS
="$CFLAGS -DSYS_BEOS"
7545 os2
&& CFLAGS
="$CFLAGS -DSYS_OS2"
7549 # Make sure config.h gets included.
7550 if test "$_dvdread_internal" = yes ||
test "$_faad_internal" = yes ; then
7551 CFLAGS
="$CFLAGS -DHAVE_CONFIG_H"
7554 CFLAGS
="-I. $CFLAGS"
7555 CXXFLAGS
=" $CFLAGS -D__STDC_LIMIT_MACROS"
7558 int main(void) { return 0; }
7560 if test "$cc_vendor" = "gnu" ; then
7561 cc_check
-std=gnu99
&& CFLAGS
="-std=gnu99 $CFLAGS"
7562 cc_check
-Wdeclaration-after-statement && CFLAGS
="-Wdeclaration-after-statement $CFLAGS"
7563 cc_check
-Wno-pointer-sign && CFLAGS
="-Wno-pointer-sign $CFLAGS"
7564 cc_check
-Wdisabled-optimization && CFLAGS
="-Wdisabled-optimization $CFLAGS"
7567 cc_check
-mno-omit-leaf-frame-pointer && CFLAG_NO_OMIT_LEAF_FRAME_POINTER
="-mno-omit-leaf-frame-pointer"
7569 #this must be the last test to be performed or the ones following it will likely fail
7570 #because libdvdnavmini is intentionally not linked against libdvdread (to permit mplayer
7571 # to use its own copy of the library)
7572 echocheck
"DVD support (libdvdnav)"
7573 if test "$_dvdnav" = auto
; then
7574 if test "$_dvdread_internal" = yes ; then
7576 _res_comment
="Disabled in favor of the internal copy of dvdread. Append --disable-dvdread-internal."
7578 $_dvdnavconfig --version --minilibs >> $TMPLOG 2>&1 || _dvdnav
=no
7581 if test "$_dvdnav" = auto
; then
7583 #include <inttypes.h>
7584 #include <dvdnav/dvdnav.h>
7585 int main(void) { dvdnav_t *dvd=0; return 0; }
7588 _dvdnavdir
=`$_dvdnavconfig --cflags`
7589 _dvdnavlibs
=`$_dvdnavconfig --libs`
7590 cc_check
$_dvdnavdir $_dvdnavlibs $_ld_dl $_ld_pthread && _dvdnav
=yes
7592 if test "$_dvdnav" = yes ; then
7594 _def_dvdnav
='#define USE_DVDNAV 1'
7595 _inc_extra
="$_inc_extra `$_dvdnavconfig --cflags`"
7596 _ld_extra
="$_ld_extra `$_dvdnavconfig --minilibs`"
7597 _inputmodules
="dvdnav $_inputmodules"
7599 _def_dvdnav
='#undef USE_DVDNAV'
7600 _noinputmodules
="dvdnav $_noinputmodules"
7604 #############################################################################
7605 echo "Creating config.mak"
7606 cat > config.mak
<< EOF
7607 # -------- Generated by configure -----------
7609 # Ensure that locale settings do not interfere with shell commands.
7612 MAN_LANG = $MAN_LANG
7613 MAN_LANG_ALL = $MAN_LANG_ALL
7616 prefix = \$(DESTDIR)$_prefix
7617 BINDIR = \$(DESTDIR)$_bindir
7618 DATADIR = \$(DESTDIR)$_datadir
7619 MANDIR = \$(DESTDIR)$_mandir
7620 CONFDIR = \$(DESTDIR)$_confdir
7621 LIBDIR = \$(DESTDIR)$_libdir
7630 INSTALLSTRIP = $_install_strip
7632 EXTRA_INC = $_inc_extra
7633 EXTRAXX_INC = $_inc_extra $_inc_extraxx
7634 CFLAGS = $CFLAGS \$(EXTRA_INC)
7635 OPTFLAGS = $CFLAGS \$(EXTRA_INC)
7636 CFLAG_NO_OMIT_LEAF_FRAME_POINTER = $CFLAG_NO_OMIT_LEAF_FRAME_POINTER
7637 CXXFLAGS = $CXXFLAGS \$(EXTRAXX_INC)
7638 CFLAG_STACKREALIGN = $_stackrealign
7639 LIBDVDCSS_DVDREAD_FLAGS = $_libdvdcss_dvdread_flags
7640 CFLAG_DHAHELPER = $cflag_dhahelper
7641 CFLAG_SVGALIB_HELPER = $cflag_svgalib_helper
7644 EXTRALIBS = $_extra_libs
7645 EXTRA_LIB = $_ld_extra $_ld_static $_ld_lm
7646 EXTRALIBS_MPLAYER = $_libs_mplayer
7647 EXTRALIBS_MENCODER = $_libs_mencoder
7650 HELP_FILE = $_mp_help
7656 `echo $_cpuexts | tr '[a-z] ' '[A-Z]\n' | sed 's/^/HAVE_/;s/$/=yes/'`
7664 MENCODER = $_mencoder
7669 LIBMPEG2 = $_libmpeg2
7671 TREMOR_INTERNAL = $_tremor_internal
7672 TREMOR_LOW = $_tremor_low
7674 HAVE_SYS_MMAN_H = $_mman
7675 HAVE_POSIX_SELECT = $_posix_select
7677 NEED_GETTIMEOFDAY = $_need_gettimeofday
7678 NEED_GLOB = $_need_glob
7679 NEED_MMAP = $_need_mmap
7680 NEED_SETENV = $_need_setenv
7681 NEED_SHMEM = $_need_shmem
7682 NEED_STRSEP = $_need_strsep
7683 NEED_SWAB = $_need_swab
7684 NEED_VSSCANF = $_need_vsscanf
7692 APPLE_IR = $_apple_ir
7693 APPLE_REMOTE = $_apple_remote
7694 AUDIO_INPUT = $_audio_input
7695 BITMAP_FONT = $_bitmap_font
7698 COREAUDIO = $_coreaudio
7699 COREVIDEO = $_corevideo
7703 DVDREAD_INTERNAL = $_dvdread_internal
7706 FAAD_INTERNAL = $_faad_internal
7707 FREETYPE = $_freetype
7712 GUI_WIN32 = $_gui_win32
7713 JOYSTICK = $_joystick
7719 LIBDVDCSS_INTERNAL = $_libdvdcss_internal
7723 LIBMENU_DVBIN = $_menu_dvbin
7724 LIBNEMESI = $_nemesi
7726 LIBSMBCLIENT = $_smbsupport
7727 LIBTHEORA = $_theora
7728 LIBVORBIS = $_vorbis
7730 MACOSX_BUNDLE = $_macosx_bundle
7731 MACOSX_FINDER_SUPPORT = $_macosx_finder_support
7733 MPLAYER_NETWORK = $_network
7734 MUSEPACK = $_musepack
7735 NATIVE_RTSP = $_native_rtsp
7736 PE_EXECUTABLE = $_pe_executable
7740 QTX_CODECS_WIN32 = $_qtx_codecs_win32
7741 QTX_EMULATION = $_qtx_emulation
7744 RADIO_CAPTURE=$_radio_capture
7745 REAL_CODECS = $_real
7747 STREAMING_LIVE555 = $_live
7748 STREAM_CACHE = $_stream_cache
7751 TV_BSDBT848 = $_tv_bsdbt848
7752 TV_DSHOW = $_tv_dshow
7753 TV_TELETEXT = $_tv_teletext
7758 UNRAR_EXEC = $_unrar_exec
7761 VIDIX_PCIDB = $_vidix_pcidb_val
7762 VIDIX_CYBERBLADE=$_vidix_drv_cyberblade
7763 VIDIX_IVTV=$_vidix_drv_ivtv
7764 VIDIX_MACH64=$_vidix_drv_mach64
7765 VIDIX_MGA=$_vidix_drv_mga
7766 VIDIX_MGA_CRTC2=$_vidix_drv_mga_crtc2
7767 VIDIX_NVIDIA=$_vidix_drv_nvidia
7768 VIDIX_PM2=$_vidix_drv_pm2
7769 VIDIX_PM3=$_vidix_drv_pm3
7770 VIDIX_RADEON=$_vidix_drv_radeon
7771 VIDIX_RAGE128=$_vidix_drv_rage128
7772 VIDIX_S3=$_vidix_drv_s3
7773 VIDIX_SIS=$_vidix_drv_sis
7774 VIDIX_UNICHROME=$_vidix_drv_unichrome
7776 WIN32DLL = $_win32dll
7777 WIN32_EMULATION = $_win32_emulation
7779 XANIM_CODECS = $_xanim
7780 XMMS_PLUGINS = $_xmms
7785 LIBAVUTIL = $_libavutil
7786 LIBAVUTIL_A = $_libavutil_a
7787 LIBAVUTIL_SO = $_libavutil_so
7788 LIBAVCODEC = $_libavcodec
7789 LIBAVCODEC_A = $_libavcodec_a
7790 LIBAVCODEC_SO = $_libavcodec_so
7791 LIBAVFORMAT = $_libavformat
7792 LIBAVFORMAT_A = $_libavformat_a
7793 LIBAVFORMAT_SO = $_libavformat_so
7794 LIBPOSTPROC = $_libpostproc
7795 LIBPOSTPROC_A = $_libpostproc_a
7796 LIBPOSTPROC_SO = $_libpostproc_so
7803 LIBNAME=\$(LIBPREF)\$(NAME)\$(LIBSUF)
7807 CONFIG_MUXERS=$_mencoder
7808 CONFIG_LIBAMR=$_libamr
7809 CONFIG_LIBAMR_NB=$_libamr_nb
7810 CONFIG_LIBAMR_WB=$_libamr_wb
7811 CONFIG_LIBFAAC=$_faac_lavc
7812 CONFIG_LIBMP3LAME=$_mp3lame_lavc
7813 CONFIG_LIBVORBIS=$_libvorbis
7814 CONFIG_LIBX264=$_x264_lavc
7815 CONFIG_LIBXVID=$_xvid_lavc
7816 CONFIG_MLIB = $_mlib
7817 CONFIG_POSTPROC = yes
7818 # Prevent building libavcodec/imgresample.c with conflicting symbols
7822 HAVE_PTHREADS = $_pthreads
7823 HAVE_W32THREADS = $_w32threads
7826 `echo $_libavdecoders | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/'`
7827 `echo $_libavencoders | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/'`
7828 `echo $_libavparsers | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/'`
7829 `echo $_libavdemuxers | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/'`
7830 `echo $_libavmuxers | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/'`
7831 `echo $_libavbsfs | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/'`
7833 DEPEND_CMD = \$(CC) -MM \$(CFLAGS) \$(filter-out %.h,\$^) | sed "s,[0-9a-z._-]*: \(\$(SRC_DIR)/\)*\([a-z0-9]*/\)[^/]* ,\\2&,"
7835 MPDEPEND_CMD = \$(CC) -MM \$(CFLAGS) \$(filter-out %.h,$^) | sed -e "s,[0-9a-z._-]*: \([a-z0-9/]*/\)[^/]* ,\1&,"
7836 MPDEPEND_CMD_CXX = \$(CC) -MM \$(CXXFLAGS) \$(filter-out %.h,$^) | sed -e "s,[0-9a-z._-]*: \([a-z0-9/]*/\)[^/]* ,\1&,"
7840 #############################################################################
7842 ff_config_enable
() {
7844 test -z "$_nprefix" && _nprefix
='CONFIG'
7846 if ` echo $2 | grep -q -E "(^| )$part($| )" `; then
7847 echo "#define ${_nprefix}_$part 1"
7848 echo "#define ENABLE_$part 1"
7850 echo "#define ENABLE_$part 0"
7855 echo "Creating config.h"
7857 /* -------- This file has been automatically generated by configure ---------
7858 Note: Any changes in it will be lost when you run configure again. */
7860 /* Protect against multiple inclusion */
7861 #ifndef MPLAYER_CONFIG_H
7862 #define MPLAYER_CONFIG_H
7864 #define CONFIGURATION "$_configuration"
7866 /* make sure we never get lavformat's poll() emulation, the results are
7867 horrible if the X libs try to actually use it, see MPlayer-users
7868 Message-ID: <45D49541.8060101@infernix.net>
7869 Date: Thu, 15 Feb 2007 18:15:45 +0100
7870 Subject: [MPlayer-users] Crash with backtrace when playing back demuxed...
7872 #define HAVE_SYS_POLL_H 1
7874 /* yes, we have inttypes.h */
7875 #define HAVE_INTTYPES_H 1
7877 /* int_fastXY_t emulation */
7881 #define HAVE_ERRNO_H 1
7883 /* libdvdcss + libdvdread */
7884 #define HAVE_LIMITS_H 1
7886 /* libdvdcss + libfaad2 */
7887 #define HAVE_UNISTD_H 1
7889 /* libfaad2 + libdvdread */
7890 #define STDC_HEADERS 1
7893 #define HAVE_MEMCPY 1
7894 #define HAVE_STRCHR 1
7897 #define HAVE_UINTPTR_T 1
7899 /* name of messages charset */
7902 /* Runtime CPU detection */
7903 $_def_runtime_cpudetection
7905 /* Dynamic a/v plugins */
7906 $_def_dynamic_plugins
7908 /* "restrict" keyword */
7909 $_def_restrict_keyword
7911 /* __builtin_expect branch prediction hint */
7912 $_def_builtin_expect
7913 #ifdef HAVE_BUILTIN_EXPECT
7914 #define likely(x) __builtin_expect ((x) != 0, 1)
7915 #define unlikely(x) __builtin_expect ((x) != 0, 0)
7917 #define likely(x) (x)
7918 #define unlikely(x) (x)
7921 /* attribute(used) as needed by some compilers */
7922 #if (__GNUC__ * 100 + __GNUC_MINOR__ >= 300)
7923 # define attribute_used __attribute__((used))
7925 # define attribute_used
7928 /* extern symbol prefix */
7931 /* compiler support for named assembler arguments */
7932 $_def_named_asm_args
7934 /* enable/disable SIGHANDLER */
7937 /* enable/disable automatic gdb attach on crash, requires SIGHANDLER */
7940 /* Toggles debugging informations */
7943 /* Indicates that libcdio is available for VCD and CD-DA playback */
7946 /* Indicates that Ogle's libdvdread is available for DVD playback */
7949 /* Indicates that dvdread is internal */
7950 $_def_dvdread_internal
7952 /* Additional options for libdvdread/libdvdcss */
7965 /* Common data directory (for fonts, etc) */
7966 #define MPLAYER_DATADIR "$_datadir"
7967 #define MPLAYER_CONFDIR "$_confdir"
7968 #define MPLAYER_LIBDIR "$_libdir"
7970 /* Define this to compile stream-caching support, it can be enabled via
7971 -cache <kilobytes> */
7974 /* Define if you are using Xvid library */
7977 /* Define if you are using the X.264 library */
7980 /* Define if you are using libnut */
7983 /* Define to include support for libdv-0.9.5 */
7986 /* If build mencoder */
7989 /* Indicates if libmp3lame is available
7990 Note: for mencoder */
7992 $_def_mp3lame_preset
7993 $_def_mp3lame_preset_medium
7995 /* Undefine this if you do not want to select mono audio (left or right)
7996 with a stereo MPEG layer 2/3 audio stream. The command line option
7997 -stereo has three possible values (0 for stereo, 1 for left-only, 2 for
7998 right-only), with 0 being the default.
8000 #define USE_FAKE_MONO 1
8002 /* Undefine this if your sound card driver has no working select().
8003 If you have kernel Oops, player hangups, or just no audio, you should
8004 try to recompile MPlayer with this option disabled! */
8007 /* define this to use iconv(3) function to codepage conversions */
8010 /* define this to use nl_langinfo function */
8013 /* define this to use RTC (/dev/rtc) for video timers */
8016 /* set up max. outburst. use 65536 for ALSA 0.5, for others 16384 is enough */
8017 #define MAX_OUTBURST 65536
8019 /* set up audio OUTBURST. Do not change this! */
8020 #define OUTBURST 512
8022 /* Define this if your system has the header file for the OSS sound interface */
8025 /* Define this if your system has the header file for the OSS sound interface
8026 * in /usr/include */
8029 /* Define this if your system has the sysinfo header */
8032 /* Define this if your system has the "malloc.h" header file */
8035 /* memalign is mapped to malloc if unsupported */
8040 /* assembler handling of .align */
8043 /* Define this if your system has the "alloca.h" header file */
8046 /* Define this if your system has the "byteswap.h" header file */
8049 /* Define this if your system has the "sys/mman.h" header file */
8051 $_def_mman_has_map_failed
8053 /* Define this if you have the elf dynamic linker -ldl library */
8056 /* Define this if you have the kstat kernel statistics library */
8059 /* Define this if you have zlib */
8062 #define CONFIG_ZLIB 1
8065 /* Define this if you have shm support */
8068 /* Define this if your system has strsep */
8071 /* Define this if your system has vsscanf */
8074 /* Define this if your system has swab */
8077 /* Define this if your system has posix select */
8080 /* Define this if your system has gettimeofday */
8083 /* Define this if your system has glob */
8086 /* Define this if your system has setenv */
8089 int setenv(const char *name, const char *val, int overwrite);
8092 /* Define this if your system has sysi86 */
8096 /* Define this if your system has pthreads */
8099 /* Define this if you enabled thread support for libavcodec */
8102 #define ENABLE_THREADS 1
8104 #define ENABLE_THREADS 0
8107 /* LIRC (remote control, see www.lirc.org) support: */
8110 /* Apple Remote (remote control, see http://docs.info.apple.com/article.html?artnum=302504) support: */
8113 /* Apple IR Remote (Linux remote control driver) */
8116 /* Support for maemo (http://www.maemo.org) */
8120 * LIRCCD (LIRC client daemon)
8121 * See http://www.dolda2000.cjb.net/~fredrik/lirccd/
8125 /* DVD navigation support using libdvdnav */
8128 /* Define this to enable MPEG 1/2 image postprocessing (requires a FAST CPU!) */
8129 #define MPEG12_POSTPROC 1
8131 /* maximum alignment used by libmpeg2 */
8132 #define ATTRIBUTE_ALIGNED_MAX 16
8134 /* Define this to enable image postprocessing in libavcodec (requires a FAST CPU!) */
8137 $_def_libpostproc_so
8139 /* Win32 DLL support */
8141 #define WIN32_PATH "$_win32codecsdir"
8143 /* Mac OS X specific features */
8144 $_def_macosx_finder_support
8151 /* Build our Win32-loader */
8154 /* ffmpeg's libavcodec support (requires libavcodec source) */
8158 $_def_libavcodec_mpegaudio_hp
8160 /* ffmpeg's libavformat support (requires libavformat source) */
8163 $_def_libavformat_so
8169 /* Use libavcodec's decoders */
8170 #define CONFIG_DECODERS 1
8171 #define ENABLE_DECODERS 1
8172 /* Use libavcodec's encoders */
8173 #define CONFIG_ENCODERS 1
8174 #define ENABLE_ENCODERS 1
8176 /* Use libavformat's demuxers */
8177 #define CONFIG_DEMUXERS 1
8178 #define ENABLE_DEMUXERS 1
8179 /* Use libavformat's muxers */
8182 /* Use these registers in FFmpeg x86 inline asm. No proper detection yet. */
8183 #define HAVE_EBX_AVAILABLE 1
8185 #define HAVE_EBP_AVAILABLE 1
8188 #define HAVE_SOCKLEN_T 1
8190 #define CONFIG_GPL 1
8191 #define ENABLE_SMALL 0
8192 #define ENABLE_GRAY 0
8194 /* Use AMR codecs from libavcodec. */
8199 /* Use specific parts from FFmpeg. */
8200 `ff_config_enable "$_libavdecoders_all" "$_libavdecoders"`
8201 `ff_config_enable "$_libavencoders_all" "$_libavencoders"`
8202 `ff_config_enable "$_libavparsers_all" "$_libavparsers"`
8203 `ff_config_enable "$_libavdemuxers_all" "$_libavdemuxers"`
8204 `ff_config_enable "$_libavmuxers_all" "$_libavmuxers"`
8205 `ff_config_enable "$_libavprotocols_all" "$_libavprotocols"`
8206 `ff_config_enable "$_libavbsfs_all" "$_libavbsfs"`
8213 /* Use codec libs included in mplayer CVS / source dist: */
8218 /* XAnim DLL support */
8220 /* Default search path */
8223 /* RealPlayer DLL support */
8225 /* Default search path */
8228 /* LIVE555 Streaming Media library support */
8231 /* libnemesi Streaming Media library support */
8234 /* Use 3dnow/mmxext/sse/mmx optimized fast memcpy() [maybe buggy... signal 4]*/
8237 /* Use UnRAR executable for Vobsubs */
8240 /* gui support, please do not edit this option */
8244 /* Audio output drivers */
8246 $_def_ossaudio_devdsp
8247 $_def_ossaudio_devmixer
8258 $_def_sys_asoundlib_h
8259 $_def_alsa_asoundlib_h
8265 /* Enable fast OSD/SUB renderer (looks ugly, but uses less CPU power) */
8267 #undef FAST_OSD_TABLE
8269 /* Enable TV Interface support */
8272 /* Enable Video 4 Linux TV interface support */
8275 /* Enable Video 4 Linux 1 TV interface support */
8278 /* Enable Video 4 Linux 2 TV interface support */
8281 /* Enable DirectShow TV interface support */
8284 /* *BSD BrookTree headers */
8285 $_def_ioctl_meteor_h_name
8286 $_def_ioctl_bt848_h_name
8288 /* Enable *BSD BrookTree TV interface support */
8291 /* Enable TV Teletext Interface support */
8294 /* Enable Radio Interface support */
8297 /* Enable Capture for Radio Interface support */
8300 /* Enable Video 4 Linux Radio interface support */
8303 /* Enable Video 4 Linux 2 Radio interface support */
8306 /* Enable *BSD BrookTree Radio interface support */
8307 $_def_radio_bsdbt848
8309 /* Enable Video 4 Linux 2 MPEG PVR support */
8312 /* Define if your processor stores words with the most significant
8313 byte first (like Motorola and SPARC, unlike Intel and VAX). */
8316 /* Define if your processor can access unaligned data in a fast way */
8317 $_def_fast_unaligned
8319 `ff_config_enable "$_arch_all" "$_arch" "ARCH"`
8321 /* For the PPC. G5 has the dcbzl when in 64bit mode but G4s and earlier do not
8322 have the instruction. */
8325 /* Define this for Cygwin build for win32 */
8328 /* Define this to any prefered value from 386 up to infinity with step 100 */
8329 #define __CPU__ $iproc
8336 #define DEFAULT_CDROM_DEVICE "/vol/dev/aliases/cdrom0"
8337 #define DEFAULT_DVD_DEVICE DEFAULT_CDROM_DEVICE
8338 #elif defined(WIN32) || defined(__OS2__)
8339 #define DEFAULT_CDROM_DEVICE "D:"
8340 #define DEFAULT_DVD_DEVICE DEFAULT_CDROM_DEVICE
8341 #elif defined(__APPLE__) || defined(__DARWIN__)
8342 #define DEFAULT_CDROM_DEVICE "/dev/disk1"
8343 #define DEFAULT_DVD_DEVICE "/dev/rdiskN"
8344 #elif defined(__OpenBSD__)
8345 #define DEFAULT_CDROM_DEVICE "/dev/rcd0a"
8346 #define DEFAULT_DVD_DEVICE DEFAULT_CDROM_DEVICE
8347 #elif defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
8348 #define DEFAULT_CDROM_DEVICE "/dev/acd0"
8349 #define DEFAULT_DVD_DEVICE DEFAULT_CDROM_DEVICE
8350 #elif defined(__DragonFly__)
8351 #define DEFAULT_CDROM_DEVICE "/dev/cd0"
8352 #define DEFAULT_DVD_DEVICE DEFAULT_CDROM_DEVICE
8353 #elif defined(__AMIGAOS4__)
8354 #define DEFAULT_CDROM_DEVICE "a1ide.device:2"
8355 #define DEFAULT_DVD_DEVICE DEFAULT_CDROM_DEVICE
8357 #define DEFAULT_CDROM_DEVICE "/dev/cdrom"
8358 #define DEFAULT_DVD_DEVICE "/dev/dvd"
8362 /*----------------------------------------------------------------------------
8364 ** NOTE: Instead of modifying these definitions here, use the
8365 ** --enable/--disable options of the ./configure script!
8366 ** See ./configure --help for details.
8368 *---------------------------------------------------------------------------*/
8370 /* C99 *lrint* and round* functions available */
8377 /* mkstemp support */
8380 /* nanosleep support */
8386 /* termcap flag for getch2.c */
8389 /* termios flag for getch2.c */
8394 /* enable PNG support */
8397 /* enable JPEG support */
8400 /* enable PNM support */
8403 /* enable md5sum support */
8406 /* enable yuv4mpeg support */
8409 /* enable GIF support */
8414 /* enable bitmap font support */
8417 /* enable FreeType support */
8420 /* enable Fontconfig support */
8423 /* enable SSA/ASS support */
8426 /* enable FriBiDi usage */
8429 /* enable ENCA usage */
8432 /* liblzo support */
8435 #define CONFIG_LZO 1
8438 /* libmad support */
8441 /* enable OggVorbis support */
8445 /* enable Speex support */
8448 /* enable musepack support */
8451 /* enable OggTheora support */
8454 /* enable FAAD (AAC) support */
8458 /* enable FAAC (AAC encoder) support */
8461 /* enable libdca support */
8464 /* enable LADSPA plugin support */
8467 /* enable network */
8470 /* enable ftp support */
8473 /* enable vstream support */
8476 /* enable winsock2 instead of Unix functions*/
8479 /* define this to use inet_aton() instead of inet_pton() */
8482 /* enables / disables cdparanoia support */
8486 /* enables / disables VIDIX usage */
8488 $_def_vidix_drv_cyberblade
8489 $_def_vidix_drv_ivtv
8490 $_def_vidix_drv_mach64
8492 $_def_vidix_drv_mga_crtc2
8493 $_def_vidix_drv_nvidia
8495 $_def_vidix_drv_radeon
8496 $_def_vidix_drv_rage128
8499 $_def_vidix_drv_unichrome
8502 /* enables / disables new input joystick support */
8505 /* enables / disables QTX codecs */
8509 /* enables / disables osd menu */
8512 /* enables / disables subtitles sorting */
8515 /* XMMS input plugin support */
8517 #define XMMS_INPUT_PLUGIN_DIR "$_xmmsplugindir"
8519 /* enables inet6 support */
8522 /* do we have gethostbyname2? */
8523 $_def_gethostbyname2
8525 /* Extension defines */
8526 `ff_config_enable "$_cpuexts_all" "$_cpuexts" "HAVE"`
8528 $_def_altivec_h // enables usage of altivec.h
8529 $_def_altivec_vector_braces
8532 #define SCREEN_SIZE_X 1
8533 #define SCREEN_SIZE_Y 1
8546 /* defined for SDLlib with keyrepeat bugs (before 1.2.1) */
8557 $_def_directfb_version
8583 #if defined(HAVE_GL) || defined(HAVE_X11) || defined(HAVE_XV)
8584 #define X11_FULLSCREEN 1
8587 #endif /* MPLAYER_CONFIG_H */
8590 # Do not overwrite an unchanged config.h to avoid superfluous rebuilds.
8591 cmp -s "$TMPH" config.h ||
mv -f "$TMPH" config.h
8593 #############################################################################
8597 Config files successfully generated by ./configure $_configuration !
8599 Install prefix: $_prefix
8600 Data directory: $_datadir
8601 Config direct.: $_confdir
8603 Byte order: $_byte_order
8604 Optimizing for: $_optimizing
8607 Messages/GUI: $_language
8610 echo ${_echo_n} " Manual pages: $MAN_LANG_ALL ${_echo_c}"
8611 test "$msg_langs" = en
&& echo ${_echo_n} " (no localization selected, use --language=all)${_echo_c}"
8616 Enabled optional drivers:
8617 Input: $_inputmodules
8618 Codecs: $_codecmodules
8619 Audio output: $_aomodules
8620 Video output: $_vomodules
8621 Disabled optional drivers:
8622 Input: $_noinputmodules
8623 Codecs: $_nocodecmodules
8624 Audio output: $_noaomodules
8625 Video output: $_novomodules
8627 'config.h' and 'config.mak' contain your configuration options.
8628 Note: If you alter theses files (for instance CFLAGS) MPlayer may no longer
8629 compile *** DO NOT REPORT BUGS if you tweak these files ***
8631 'make' will now compile MPlayer and 'make install' will install it.
8632 Note: On non-Linux systems you might need to use 'gmake' instead of 'make'.
8637 if test "$_mtrr" = yes ; then
8638 echo "Please check mtrr settings at /proc/mtrr (see DOCS/HTML/$_doc_lang/video.html#mtrr)"
8644 NOTE: Win32 codec DLLs are not supported on your CPU ($host_arch) or your
8645 operating system ($system_name). You may encounter a few files that cannot
8646 be played due to missing open source video/audio codec support.
8653 Check $TMPLOG if you wonder why an autodetection failed (make sure
8654 development headers/packages are installed).
8656 NOTE: The --enable-* parameters unconditionally force options on, completely
8657 skipping autodetection. This behavior is unlike what you may be used to from
8658 autoconf-based configure scripts that can decide to override you. This greater
8659 level of control comes at a price. You may have to provide the correct compiler
8660 and linker flags yourself.
8661 If you used one of these options (except --enable-gui and similar ones that
8662 turn on internal features) and experience a compilation or linking failure,
8663 make sure you have passed the necessary compiler/linker flags to configure.
8665 If you suspect a bug, please read DOCS/HTML/$_doc_lang/bugreports.html.
8669 if test "$_warn_CFLAGS" = yes; then
8672 MPlayer compilation will use the CPPFLAGS/CFLAGS/LDFLAGS set by you, but:
8674 *** *** DO NOT REPORT BUGS IF IT DOES NOT COMPILE/WORK! *** ***
8676 It is strongly recommended to let MPlayer choose the correct CFLAGS!
8677 To do so, execute 'CFLAGS= ./configure <options>'
8683 rm -f "$TMPEXE" "$TMPC" "$TMPS" "$TMPCPP" "$TMPH"