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_lang_all
=`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_lang_all
=`echo DOCS/man/??/mplayer.1 | sed -e "s:DOCS/man/\(..\)/mplayer.1:\1:g"`
196 doc_lang_all
=`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-libdirac-lavc disable Dirac in libavcodec [autodetect]
296 --disable-libschroedinger-lavc disable Dirac in libavcodec (Schroedinger
297 decoder) [autodetect]
298 --disable-libnut disable libnut [autodetect]
299 --disable-libavutil_a disable static libavutil [autodetect]
300 --disable-libavcodec_a disable static libavcodec [autodetect]
301 --disable-libavformat_a disable static libavformat [autodetect]
302 --disable-libpostproc_a disable static libpostproc [autodetect]
303 --disable-libavutil_so disable shared libavutil [autodetect]
304 --disable-libavcodec_so disable shared libavcodec [autodetect]
305 --disable-libavformat_so disable shared libavformat [autodetect]
306 --disable-libpostproc_so disable shared libpostproc [autodetect]
307 --disable-libavcodec_mpegaudio_hp disable high precision audio decoding
308 in libavcodec [enabled]
309 --disable-tremor-internal disable internal Tremor [enabled]
310 --enable-tremor-low enable lower accuracy internal Tremor [disabled]
311 --enable-tremor-external enable external Tremor [autodetect]
312 --disable-libvorbis disable libvorbis support [autodetect]
313 --disable-speex disable Speex support [autodetect]
314 --enable-theora enable OggTheora libraries [autodetect]
315 --enable-faad-external enable external FAAD2 (AAC) [autodetect]
316 --disable-faad-internal disable internal FAAD2 (AAC) [autodetect]
317 --enable-faad-fixed enable fixed-point mode in internal FAAD2 [disabled]
318 --disable-faac disable support for FAAC (AAC encoder) [autodetect]
319 --disable-faac-lavc disable support for FAAC in libavcodec [autodetect]
320 --disable-ladspa disable LADSPA plugin support [autodetect]
321 --disable-libdv disable libdv 0.9.5 en/decoding support [autodetect]
322 --disable-mad disable libmad (MPEG audio) support [autodetect]
323 --disable-mp3lame disable LAME MP3 encoding support [autodetect]
324 --disable-mp3lame-lavc disable LAME in libavcodec [autodetect]
325 --disable-toolame disable Toolame (MPEG layer 2) encoding [autodetect]
326 --disable-twolame disable Twolame (MPEG layer 2) encoding [autodetect]
327 --enable-xmms enable XMMS input plugin support [disabled]
328 --enable-libdca enable libdca support [autodetect]
329 --disable-mp3lib disable builtin mp3lib [enabled]
330 --disable-liba52 disable builtin liba52 [enabled]
331 --disable-libmpeg2 disable builtin libmpeg2 [autodetect]
332 --disable-musepack disable musepack support [autodetect]
333 --disable-libamr_nb disable libamr narrowband [autodetect]
334 --disable-libamr_wb disable libamr wideband [autodetect]
335 --disable-decoder=DECODER disable specified FFmpeg decoder
336 --enable-decoder=DECODER enable specified FFmpeg decoder
337 --disable-encoder=ENCODER disable specified FFmpeg encoder
338 --enable-encoder=ENCODER enable specified FFmpeg encoder
339 --disable-parser=PARSER disable specified FFmpeg parser
340 --enable-parser=PARSER enable specified FFmpeg parser
341 --disable-demuxer=DEMUXER disable specified FFmpeg demuxer
342 --enable-demuxer=DEMUXER enable specified FFmpeg demuxer
343 --disable-muxer=MUXER disable specified FFmpeg muxer
344 --enable-muxer=MUXER enable specified FFmpeg muxer
347 --disable-vidix disable VIDIX [for x86 *nix]
348 --with-vidix-drivers[=*] list of VIDIX drivers to be compiled in
349 Available: cyberblade,ivtv,mach64,mga,mga_crtc2,
350 nvidia,pm2,pm3,radeon,rage128,s3,sis,unichrome
351 --disable-vidix-pcidb disable VIDIX PCI device name database
352 --enable-dhahelper enable VIDIX dhahelper support
353 --enable-svgalib_helper enable VIDIX svgalib_helper support
354 --enable-gl enable OpenGL video output [autodetect]
355 --enable-dga2 enable DGA 2 support [autodetect]
356 --enable-dga1 enable DGA 1 support [autodetect]
357 --enable-vesa enable VESA video output [autodetect]
358 --enable-svga enable SVGAlib video output [autodetect]
359 --enable-sdl enable SDL video output [autodetect]
360 --enable-aa enable AAlib video output [autodetect]
361 --enable-caca enable CACA video output [autodetect]
362 --enable-ggi enable GGI video output [autodetect]
363 --enable-ggiwmh enable GGI libggiwmh extension [autodetect]
364 --enable-directx enable DirectX video output [autodetect]
365 --enable-dxr2 enable DXR2 video output [autodetect]
366 --enable-dxr3 enable DXR3/H+ video output [autodetect]
367 --enable-ivtv enable IVTV TV-Out video output [autodetect]
368 --enable-v4l2 enable V4L2 Decoder audio/video output [autodetect]
369 --enable-dvb enable DVB video output [autodetect]
370 --enable-dvbhead enable DVB video output (HEAD version) [autodetect]
371 --enable-mga enable mga_vid video output [autodetect]
372 --enable-xmga enable mga_vid X11 video output [autodetect]
373 --enable-xv enable Xv video output [autodetect]
374 --enable-xvmc enable XvMC acceleration [disable]
375 --enable-vm enable XF86VidMode support [autodetect]
376 --enable-xinerama enable Xinerama support [autodetect]
377 --enable-x11 enable X11 video output [autodetect]
378 --enable-xshape enable XShape support [autodetect]
379 --disable-xss disable screensaver support via xss [autodetect]
380 --enable-fbdev enable FBDev video output [autodetect]
381 --enable-mlib enable mediaLib video output (Solaris) [disable]
382 --enable-3dfx enable obsolete /dev/3dfx video output [disable]
383 --enable-tdfxfb enable tdfxfb video output [disable]
384 --enable-s3fb enable s3fb (S3 ViRGE) video output [disable]
385 --enable-directfb enable DirectFB video output [autodetect]
386 --enable-zr enable ZR360[56]7/ZR36060 video output [autodetect]
387 --enable-bl enable Blinkenlights video output [disable]
388 --enable-tdfxvid enable tdfx_vid video output [disable]
389 --enable-xvr100 enable SUN XVR-100 video output [autodetect]
390 --disable-tga disable Targa video output [enable]
391 --disable-pnm disable PNM video output [enable]
392 --disable-md5sum disable md5sum video output [enable]
393 --disable-yuv4mpeg disable yuv4mpeg video output [enable]
396 --disable-alsa disable ALSA audio output [autodetect]
397 --disable-ossaudio disable OSS audio output [autodetect]
398 --disable-arts disable aRts audio output [autodetect]
399 --disable-esd disable esd audio output [autodetect]
400 --disable-pulse disable Pulseaudio audio output [autodetect]
401 --disable-jack disable JACK audio output [autodetect]
402 --disable-openal disable OpenAL audio output [autodetect]
403 --disable-nas disable NAS audio output [autodetect]
404 --disable-sgiaudio disable SGI audio output [autodetect]
405 --disable-sunaudio disable Sun audio output [autodetect]
406 --disable-win32waveout disable Windows waveout audio output [autodetect]
407 --disable-select disable using select() on the audio device [enable]
409 Miscellaneous options:
410 --enable-runtime-cpudetection enable runtime CPU detection [disable]
411 --enable-cross-compile enable cross-compilation [autodetect]
412 --cc=COMPILER C compiler to build MPlayer [gcc]
413 --host-cc=COMPILER C compiler for tools needed while building [gcc]
414 --as=ASSEMBLER assembler to build MPlayer [as]
415 --ar=AR librarian to build MPlayer [ar]
416 --ranlib=RANLIB ranlib to build MPlayer [ranlib]
417 --windres=WINDRES windres to build MPlayer [windres]
418 --target=PLATFORM target platform (i386-linux, arm-linux, etc)
419 --enable-static build a statically linked binary
420 --charset=charset convert the console messages to this character set
421 --language=list a white space or comma separated list of languages for
422 translated man pages, the first language is used for
423 messages and the GUI (the environment variable
424 \$LINGUAS is also honored) [en]
425 (Available: all $msg_lang_all)
426 --with-install=PATH path to a custom install program
429 --enable-mmx enable MMX [autodetect]
430 --enable-mmxext enable MMX2 (Pentium III, Athlon) [autodetect]
431 --enable-3dnow enable 3DNow! [autodetect]
432 --enable-3dnowext enable extended 3DNow! [autodetect]
433 --enable-sse enable SSE [autodetect]
434 --enable-sse2 enable SSE2 [autodetect]
435 --enable-ssse3 enable SSSE3 [autodetect]
436 --enable-shm enable shm [autodetect]
437 --enable-altivec enable AltiVec (PowerPC) [autodetect]
438 --enable-armv5te enable DSP extensions (ARM) [autodetect]
439 --enable-armv6 enable ARMv6 (ARM) [autodetect]
440 --enable-iwmmxt enable iWMMXt (ARM) [autodetect]
441 --disable-fastmemcpy disable 3DNow!/SSE/MMX optimized memcpy [enable]
442 --enable-big-endian force byte order to big-endian [autodetect]
443 --enable-debug[=1-3] compile-in debugging information [disable]
444 --enable-profile compile-in profiling information [disable]
445 --disable-sighandler disable sighandler for crashes [enable]
446 --enable-crash-debug enable automatic gdb attach on crash [disable]
447 --enable-dynamic-plugins enable dynamic A/V plugins [disable]
449 Use these options if autodetection fails (Options marked with (*) accept
450 multiple paths separated by ':'):
451 --extra-libs=FLAGS extra linker flags
452 --extra-libs-mplayer=FLAGS extra linker flags for MPlayer
453 --extra-libs-mencoder=FLAGS extra linker flags for MEncoder
454 --with-extraincdir=DIR extra header search paths in DIR (*)
455 --with-extralibdir=DIR extra linker search paths in DIR (*)
456 --with-xvmclib=NAME adapter-specific library name (e.g. XvMCNVIDIA)
458 --with-freetype-config=PATH path to freetype-config
459 --with-fribidi-config=PATH path to fribidi-config
460 --with-glib-config=PATH path to glib*-config
461 --with-gtk-config=PATH path to gtk*-config
462 --with-sdl-config=PATH path to sdl*-config
463 --with-dvdnav-config=PATH path to dvdnav-config
464 --with-dvdread-config=PATH path to dvdread-config
466 This configure script is NOT autoconf-based, even though its output is similar.
467 It will try to autodetect all configuration options. If you --enable an option
468 it will be forcefully turned on, skipping autodetection. This can break
469 compilation, so you need to know what you are doing.
474 # GOTCHA: the variables below defines the default behavior for autodetection
475 # and have - unless stated otherwise - at least 2 states : yes no
476 # If autodetection is available then the third state is: auto
496 test "$CC" && _cc
="$CC"
498 _runtime_cpudetection
=no
506 _libavdecoders_all
=`sed -n 's/^[^#]*DEC.*(.*, *\(.*\)).*/\1_decoder/p' ffmpeg/libavcodec/allcodecs.c | tr '[a-z]' '[A-Z]'`
507 _libavdecoders
=` echo $_libavdecoders_all | sed -e 's/ LIB[A-Z0-9_]*_DECODER//g' -e s/MPEG4AAC_DECODER// `
508 _libavencoders_all
=`sed -n 's/^[^#]*ENC.*(.*, *\(.*\)).*/\1_encoder/p' ffmpeg/libavcodec/allcodecs.c | tr '[a-z]' '[A-Z]'`
509 _libavencoders
=` echo $_libavencoders_all | sed 's/ LIB[A-Z0-9_]*_ENCODER//g'`
510 _libavparsers_all
=`sed -n 's/^[^#]*PARSER.*(.*, *\(.*\)).*/\1_parser/p' ffmpeg/libavcodec/allcodecs.c | tr '[a-z]' '[A-Z]'`
511 _libavparsers
=$_libavparsers_all
512 _libavbsfs_all
=`sed -n 's/^[^#]*BSF.*(.*, *\(.*\)).*/\1_bsf/p' ffmpeg/libavcodec/allcodecs.c | tr '[a-z]' '[A-Z]'`
513 _libavbsfs
=$_libavbsfs_all
514 _libavdemuxers_all
=`sed -n 's/^[^#]*DEMUX.*(.*, *\(.*\)).*/\1_demuxer/p' ffmpeg/libavformat/allformats.c | tr '[a-z]' '[A-Z]'`
515 _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// `
516 _libavmuxers_all
=`sed -n 's/^[^#]*_MUX.*(.*, *\(.*\)).*/\1_muxer/p' ffmpeg/libavformat/allformats.c | tr '[a-z]' '[A-Z]'`
517 _libavmuxers
=`echo $_libavmuxers_all | sed -e 's/ LIB[A-Z0-9_]*_MUXER//g' -e s/RTP_MUXER// `
518 _libavprotocols_all
=`sed -n 's/^[^#]*PROTOCOL.*(.*, *\(.*\)).*/\1_protocol/p' ffmpeg/libavformat/allformats.c | tr '[a-z]' '[A-Z]'`
524 _libavcodec_mpegaudio_hp
=yes
533 _xvmc
=no
#auto when complete
576 _tremor_external
=auto
592 _dvdnavconfig
=dvdnav-config
593 _dvdreadconfig
=dvdread-config
595 _dvdread_internal
=auto
596 _libdvdcss_internal
=auto
607 _mlib
=no
#broken, thus disabled
640 _libschroedinger_lavc
=auto
678 _macosx_finder_support
=no
681 _freetypeconfig
='freetype-config'
683 _fribidiconfig
='fribidi-config'
696 _def_stream_cache
="#define CONFIG_STREAM_CACHE 1"
704 _prefix
=`echo $ac_option | cut -d '=' -f 2`
707 _bindir
=`echo $ac_option | cut -d '=' -f 2`
710 _datadir
=`echo $ac_option | cut -d '=' -f 2`
713 _mandir
=`echo $ac_option | cut -d '=' -f 2`
716 _confdir
=`echo $ac_option | cut -d '=' -f 2`
719 _libdir
=`echo $ac_option | cut -d '=' -f 2`
722 _codecsdir
=`echo $ac_option | cut -d '=' -f 2`
725 _win32codecsdir
=`echo $ac_option | cut -d '=' -f 2`
728 _xanimcodecsdir
=`echo $ac_option | cut -d '=' -f 2`
731 _realcodecsdir
=`echo $ac_option | cut -d '=' -f 2`
733 --with-extraincdir=*)
734 _inc_extra
=-I`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -I,g'`
736 --with-extralibdir=*)
737 _ld_extra
=-L`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
741 _install
=`echo $ac_option | cut -d '=' -f 2 `
744 _xvmclib
=`echo $ac_option | cut -d '=' -f 2`
748 _sdlconfig
=`echo $ac_option | cut -d '=' -f 2`
750 --with-freetype-config=*)
751 _freetypeconfig
=`echo $ac_option | cut -d '=' -f 2`
753 --with-fribidi-config=*)
754 _fribidiconfig
=`echo $ac_option | cut -d '=' -f 2`
757 _gtkconfig
=`echo $ac_option | cut -d '=' -f 2`
759 --with-glib-config=*)
760 _glibconfig
=`echo $ac_option | cut -d '=' -f 2`
762 --with-dvdnav-config=*)
763 _dvdnavconfig
=`echo $ac_option | cut -d '=' -f 2`
765 --with-dvdread-config=*)
766 _dvdreadconfig
=`echo $ac_option | cut -d '=' -f 2`
770 _extra_libs
=`echo $ac_option | cut -d '=' -f 2`
772 --extra-libs-mplayer=*)
773 _libs_mplayer
=`echo $ac_option | cut -d '=' -f 2`
775 --extra-libs-mencoder=*)
776 _libs_mencoder
=`echo $ac_option | cut -d '=' -f 2`
780 _target
=`echo $ac_option | cut -d '=' -f 2`
783 _cc
=`echo $ac_option | cut -d '=' -f 2`
786 _host_cc
=`echo $ac_option | cut -d '=' -f 2`
789 _as
=`echo $ac_option | cut -d '=' -f 2`
792 _ar
=`echo $ac_option | cut -d '=' -f 2`
795 _ranlib
=`echo $ac_option | cut -d '=' -f 2`
798 _windres
=`echo $ac_option | cut -d '=' -f 2`
801 _charset
=`echo $ac_option | cut -d '=' -f 2`
804 _language
=`echo $ac_option | cut -d '=' -f 2`
823 _debug
=`echo $_echo_n '-g'$_echo_c; echo $ac_option | cut -d '=' -f 2`
828 --enable-runtime-cpudetection) _runtime_cpudetection
=yes ;;
829 --disable-runtime-cpudetection) _runtime_cpudetection
=no
;;
830 --enable-cross-compile) _cross_compile
=yes ;;
831 --disable-cross-compile) _cross_compile
=no
;;
832 --enable-mencoder) _mencoder
=yes ;;
833 --disable-mencoder) _mencoder
=no
;;
834 --enable-mplayer) _mplayer
=yes ;;
835 --disable-mplayer) _mplayer
=no
;;
836 --enable-dynamic-plugins) _dynamic_plugins
=yes ;;
837 --disable-dynamic-plugins) _dynamic_plugins
=no
;;
838 --enable-x11) _x11
=yes ;;
839 --disable-x11) _x11
=no
;;
840 --enable-xshape) _xshape
=yes ;;
841 --disable-xshape) _xshape
=no
;;
842 --enable-xss) _xss
=yes ;;
843 --disable-xss) _xss
=no
;;
844 --enable-xv) _xv
=yes ;;
845 --disable-xv) _xv
=no
;;
846 --enable-xvmc) _xvmc
=yes ;;
847 --disable-xvmc) _xvmc
=no
;;
848 --enable-sdl) _sdl
=yes ;;
849 --disable-sdl) _sdl
=no
;;
850 --enable-directx) _directx
=yes ;;
851 --disable-directx) _directx
=no
;;
852 --enable-win32waveout) _win32waveout
=yes ;;
853 --disable-win32waveout) _win32waveout
=no
;;
854 --enable-nas) _nas
=yes ;;
855 --disable-nas) _nas
=no
;;
856 --enable-png) _png
=yes ;;
857 --disable-png) _png
=no
;;
858 --enable-jpeg) _jpeg
=yes ;;
859 --disable-jpeg) _jpeg
=no
;;
860 --enable-pnm) _pnm
=yes ;;
861 --disable-pnm) _pnm
=no
;;
862 --enable-md5sum) _md5sum
=yes ;;
863 --disable-md5sum) _md5sum
=no
;;
864 --enable-yuv4mpeg) _yuv4mpeg
=yes ;;
865 --disable-yuv4mpeg) _yuv4mpeg
=no
;;
866 --enable-gif) _gif
=yes ;;
867 --disable-gif) _gif
=no
;;
868 --enable-gl) _gl
=yes ;;
869 --disable-gl) _gl
=no
;;
870 --enable-ggi) _ggi
=yes ;;
871 --disable-ggi) _ggi
=no
;;
872 --enable-ggiwmh) _ggiwmh
=yes ;;
873 --disable-ggiwmh) _ggiwmh
=no
;;
874 --enable-aa) _aa
=yes ;;
875 --disable-aa) _aa
=no
;;
876 --enable-caca) _caca
=yes ;;
877 --disable-caca) _caca
=no
;;
878 --enable-svga) _svga
=yes ;;
879 --disable-svga) _svga
=no
;;
880 --enable-vesa) _vesa
=yes ;;
881 --disable-vesa) _vesa
=no
;;
882 --enable-fbdev) _fbdev
=yes ;;
883 --disable-fbdev) _fbdev
=no
;;
884 --enable-dvb) _dvb
=yes ;;
885 --disable-dvb) _dvb
=no
;;
886 --enable-dvbhead) _dvbhead
=yes ;;
887 --disable-dvbhead) _dvbhead
=no
;;
888 --enable-dxr2) _dxr2
=yes ;;
889 --disable-dxr2) _dxr2
=no
;;
890 --enable-dxr3) _dxr3
=yes ;;
891 --disable-dxr3) _dxr3
=no
;;
892 --enable-ivtv) _ivtv
=yes ;;
893 --disable-ivtv) _ivtv
=no
;;
894 --enable-v4l2) _v4l2
=yes ;;
895 --disable-v4l2) _v4l2
=no
;;
896 --enable-iconv) _iconv
=yes ;;
897 --disable-iconv) _iconv
=no
;;
898 --enable-langinfo) _langinfo
=yes ;;
899 --disable-langinfo) _langinfo
=no
;;
900 --enable-rtc) _rtc
=yes ;;
901 --disable-rtc) _rtc
=no
;;
902 --enable-libdv) _libdv
=yes ;;
903 --disable-libdv) _libdv
=no
;;
904 --enable-ossaudio) _ossaudio
=yes ;;
905 --disable-ossaudio) _ossaudio
=no
;;
906 --enable-arts) _arts
=yes ;;
907 --disable-arts) _arts
=no
;;
908 --enable-esd) _esd
=yes ;;
909 --disable-esd) _esd
=no
;;
910 --enable-pulse) _pulse
=yes ;;
911 --disable-pulse) _pulse
=no
;;
912 --enable-jack) _jack
=yes ;;
913 --disable-jack) _jack
=no
;;
914 --enable-openal) _openal
=yes ;;
915 --disable-openal) _openal
=no
;;
916 --enable-mad) _mad
=yes ;;
917 --disable-mad) _mad
=no
;;
918 --enable-mp3lame) _mp3lame
=yes ;;
919 --disable-mp3lame) _mp3lame
=no
;;
920 --enable-mp3lame-lavc) _mp3lame_lavc
=yes ;;
921 --disable-mp3lame-lavc) _mp3lame_lavc
=no
;;
922 --enable-toolame) _toolame
=yes ;;
923 --disable-toolame) _toolame
=no
;;
924 --enable-twolame) _twolame
=yes ;;
925 --disable-twolame) _twolame
=no
;;
926 --enable-libcdio) _libcdio
=yes ;;
927 --disable-libcdio) _libcdio
=no
;;
928 --enable-liblzo) _liblzo
=yes ;;
929 --disable-liblzo) _liblzo
=no
;;
930 --enable-libvorbis) _libvorbis
=yes ;;
931 --disable-libvorbis) _libvorbis
=no
;;
932 --enable-speex) _speex
=yes ;;
933 --disable-speex) _speex
=no
;;
934 --enable-tremor-internal) _tremor_internal
=yes ;;
935 --disable-tremor-internal) _tremor_internal
=no
;;
936 --enable-tremor-low) _tremor_low
=yes ;;
937 --disable-tremor-low) _tremor_low
=no
;;
938 --enable-tremor-external) _tremor_external
=yes ;;
939 --disable-tremor-external) _tremor_external
=no
;;
940 --enable-theora) _theora
=yes ;;
941 --disable-theora) _theora
=no
;;
942 --enable-mp3lib) _mp3lib
=yes ;;
943 --disable-mp3lib) _mp3lib
=no
;;
944 --enable-liba52) _liba52
=yes ;;
945 --disable-liba52) _liba52
=no
;;
946 --enable-libdca) _libdca
=yes ;;
947 --disable-libdca) _libdca
=no
;;
948 --enable-libmpeg2) _libmpeg2
=yes ;;
949 --disable-libmpeg2) _libmpeg2
=no
;;
950 --enable-musepack) _musepack
=yes ;;
951 --disable-musepack) _musepack
=no
;;
952 --enable-faad-internal) _faad_internal
=yes ;;
953 --disable-faad-internal) _faad_internal
=no
;;
954 --enable-faad-external) _faad_external
=yes ;;
955 --disable-faad-external) _faad_external
=no
;;
956 --enable-faad-fixed) _faad_fixed
=yes ;;
957 --disable-faad-fixed) _faad_fixed
=no
;;
958 --enable-faac) _faac
=yes ;;
959 --disable-faac) _faac
=no
;;
960 --enable-faac-lavc) _faac_lavc
=yes ;;
961 --disable-faac-lavc) _faac_lavc
=no
;;
962 --enable-ladspa) _ladspa
=yes ;;
963 --disable-ladspa) _ladspa
=no
;;
964 --enable-xmms) _xmms
=yes ;;
965 --disable-xmms) _xmms
=no
;;
966 --enable-dvdread) _dvdread
=yes ;;
967 --disable-dvdread) _dvdread
=no
;;
968 --enable-dvdread-internal) _dvdread_internal
=yes ;;
969 --disable-dvdread-internal) _dvdread_internal
=no
;;
970 --enable-libdvdcss-internal) _libdvdcss_internal
=yes ;;
971 --disable-libdvdcss-internal) _libdvdcss_internal
=no
;;
972 --enable-dvdnav) _dvdnav
=yes ;;
973 --disable-dvdnav) _dvdnav
=no
;;
974 --enable-xanim) _xanim
=yes ;;
975 --disable-xanim) _xanim
=no
;;
976 --enable-real) _real
=yes ;;
977 --disable-real) _real
=no
;;
978 --enable-live) _live
=yes ;;
979 --disable-live) _live
=no
;;
980 --enable-nemesi) _nemesi
=yes ;;
981 --disable-nemesi) _nemesi
=no
;;
982 --enable-xinerama) _xinerama
=yes ;;
983 --disable-xinerama) _xinerama
=no
;;
984 --enable-mga) _mga
=yes ;;
985 --disable-mga) _mga
=no
;;
986 --enable-xmga) _xmga
=yes ;;
987 --disable-xmga) _xmga
=no
;;
988 --enable-vm) _vm
=yes ;;
989 --disable-vm) _vm
=no
;;
990 --enable-xf86keysym) _xf86keysym
=yes ;;
991 --disable-xf86keysym) _xf86keysym
=no
;;
992 --enable-mlib) _mlib
=yes ;;
993 --disable-mlib) _mlib
=no
;;
994 --enable-sunaudio) _sunaudio
=yes ;;
995 --disable-sunaudio) _sunaudio
=no
;;
996 --enable-sgiaudio) _sgiaudio
=yes ;;
997 --disable-sgiaudio) _sgiaudio
=no
;;
998 --enable-alsa) _alsa
=yes ;;
999 --disable-alsa) _alsa
=no
;;
1000 --enable-tv) _tv
=yes ;;
1001 --disable-tv) _tv
=no
;;
1002 --enable-tv-bsdbt848) _tv_bsdbt848
=yes ;;
1003 --disable-tv-bsdbt848) _tv_bsdbt848
=no
;;
1004 --enable-tv-v4l1) _tv_v4l1
=yes ;;
1005 --disable-tv-v4l1) _tv_v4l1
=no
;;
1006 --enable-tv-v4l2) _tv_v4l2
=yes ;;
1007 --disable-tv-v4l2) _tv_v4l2
=no
;;
1008 --enable-tv-dshow) _tv_dshow
=yes ;;
1009 --disable-tv-dshow) _tv_dshow
=no
;;
1010 --enable-tv-teletext) _tv_teletext
=yes ;;
1011 --disable-tv-teletext) _tv_teletext
=no
;;
1012 --enable-radio) _radio
=yes ;;
1013 --enable-radio-capture) _radio_capture
=yes ;;
1014 --disable-radio-capture) _radio_capture
=no
;;
1015 --disable-radio) _radio
=no
;;
1016 --enable-radio-v4l) _radio_v4l
=yes ;;
1017 --disable-radio-v4l) _radio_v4l
=no
;;
1018 --enable-radio-v4l2) _radio_v4l2
=yes ;;
1019 --disable-radio-v4l2) _radio_v4l2
=no
;;
1020 --enable-radio-bsdbt848) _radio_bsdbt848
=yes ;;
1021 --disable-radio-bsdbt848) _radio_bsdbt848
=no
;;
1022 --enable-pvr) _pvr
=yes ;;
1023 --disable-pvr) _pvr
=no
;;
1024 --enable-fastmemcpy) _fastmemcpy
=yes ;;
1025 --disable-fastmemcpy) _fastmemcpy
=no
;;
1026 --enable-network) _network
=yes ;;
1027 --disable-network) _network
=no
;;
1028 --enable-winsock2) _winsock2
=yes ;;
1029 --disable-winsock2) _winsock2
=no
;;
1030 --enable-smb) _smbsupport
=yes ;;
1031 --disable-smb) _smbsupport
=no
;;
1032 --enable-vidix) _vidix
=yes ;;
1033 --disable-vidix) _vidix
=no
;;
1034 --with-vidix-drivers=*)
1035 _vidix_drivers
=`echo $ac_option | cut -d '=' -f 2`
1037 --disable-vidix-pcidb) _vidix_pcidb
=no
;;
1038 --enable-dhahelper) _dhahelper
=yes ;;
1039 --disable-dhahelper) _dhahelper
=no
;;
1040 --enable-svgalib_helper) _svgalib_helper
=yes ;;
1041 --disable-svgalib_helper) _svgalib_helper
=no
;;
1042 --enable-joystick) _joystick
=yes ;;
1043 --disable-joystick) _joystick
=no
;;
1044 --enable-xvid) _xvid
=yes ;;
1045 --disable-xvid) _xvid
=no
;;
1046 --enable-xvid-lavc) _xvid_lavc
=yes ;;
1047 --disable-xvid-lavc) _xvid_lavc
=no
;;
1048 --enable-x264) _x264
=yes ;;
1049 --disable-x264) _x264
=no
;;
1050 --enable-x264-lavc) _x264_lavc
=yes ;;
1051 --disable-x264-lavc) _x264_lavc
=no
;;
1052 --enable-libdirac-lavc) _libdirac_lavc
=yes ;;
1053 --disable-libdirac-lavc) _libdirac_lavc
=no
;;
1054 --enable-libschroedinger-lavc) _libschroedinger_lavc
=yes ;;
1055 --disable-libschroedinger-lavc) _libschroedinger_lavc
=no
;;
1056 --enable-libnut) _libnut
=yes ;;
1057 --disable-libnut) _libnut
=no
;;
1058 --enable-libavutil_a) _libavutil_a
=yes ;;
1059 --disable-libavutil_a) _libavutil_a
=no
;;
1060 --enable-libavutil_so) _libavutil_so
=yes ;;
1061 --disable-libavutil_so) _libavutil_so
=no
;;
1062 --enable-libavcodec_a) _libavcodec_a
=yes ;;
1063 --disable-libavcodec_a) _libavcodec_a
=no
;;
1064 --enable-libavcodec_so) _libavcodec_so
=yes ;;
1065 --disable-libavcodec_so) _libavcodec_so
=no
;;
1066 --enable-libamr_nb) _libamr_nb
=yes ;;
1067 --disable-libamr_nb) _libamr_nb
=no
;;
1068 --enable-libamr_wb) _libamr_wb
=yes ;;
1069 --disable-libamr_wb) _libamr_wb
=no
;;
1070 --enable-decoder=*) _libavdecoders
="$_libavdecoders `echo $ac_option | cut -d '=' -f 2`" ;;
1071 --disable-decoder=*) _libavdecoders
=`echo $_libavdecoders | sed "s/\`echo $ac_option | cut
-d '=' -f 2\
`//g"` ;;
1072 --enable-encoder=*) _libavencoders
="$_libavencoders `echo $ac_option | cut -d '=' -f 2`" ;;
1073 --disable-encoder=*) _libavencoders
=`echo $_libavencoders | sed "s/\`echo $ac_option | cut
-d '=' -f 2\
`//g"` ;;
1074 --enable-parser=*) _libavparsers
="$_libavparsers `echo $ac_option | cut -d '=' -f 2`" ;;
1075 --disable-parser=*) _libavparsers
=`echo $_libavparsers | sed "s/\`echo $ac_option | cut
-d '=' -f 2\
`//g"` ;;
1076 --enable-demuxer=*) _libavdemuxers
="$_libavdemuxers `echo $ac_option | cut -d '=' -f 2`" ;;
1077 --disable-demuxer=*) _libavdemuxers
=`echo $_libavdemuxers | sed "s/\`echo $ac_option | cut
-d '=' -f 2\
`//g"` ;;
1078 --enable-muxer=*) _libavmuxers
="$_libavmuxers `echo $ac_option | cut -d '=' -f 2`" ;;
1079 --disable-muxer=*) _libavmuxers
=`echo $_libavmuxers | sed "s/\`echo $ac_option | cut
-d '=' -f 2\
`//g"` ;;
1080 --enable-libavformat_a) _libavformat_a
=yes ;;
1081 --disable-libavformat_a) _libavformat_a
=no
;;
1082 --enable-libavformat_so) _libavformat_so
=yes ;;
1083 --disable-libavformat_so) _libavformat_so
=no
;;
1084 --enable-libpostproc_a) _libpostproc_a
=yes ;;
1085 --disable-libpostproc_a) _libpostproc_a
=no
;;
1086 --enable-libpostproc_so) _libpostproc_so
=yes ;;
1087 --disable-libpostproc_so) _libpostproc_so
=no
;;
1088 --enable-libavcodec_mpegaudio_hp) _libavcodec_mpegaudio_hp
=yes ;;
1089 --disable-libavcodec_mpegaudio_hp) _libavcodec_mpegaudio_hp
=no
;;
1091 --enable-lirc) _lirc
=yes ;;
1092 --disable-lirc) _lirc
=no
;;
1093 --enable-lircc) _lircc
=yes ;;
1094 --disable-lircc) _lircc
=no
;;
1095 --enable-apple-remote) _apple_remote
=yes ;;
1096 --disable-apple-remote) _apple_remote
=no
;;
1097 --enable-apple-ir) _apple_ir
=yes ;;
1098 --disable-apple-ir) _apple_ir
=no
;;
1099 --enable-gui) _gui
=yes ;;
1100 --disable-gui) _gui
=no
;;
1101 --enable-gtk1) _gtk1
=yes ;;
1102 --disable-gtk1) _gtk1
=no
;;
1103 --enable-termcap) _termcap
=yes ;;
1104 --disable-termcap) _termcap
=no
;;
1105 --enable-termios) _termios
=yes ;;
1106 --disable-termios) _termios
=no
;;
1107 --enable-3dfx) _3dfx
=yes ;;
1108 --disable-3dfx) _3dfx
=no
;;
1109 --enable-s3fb) _s3fb
=yes ;;
1110 --disable-s3fb) _s3fb
=no
;;
1111 --enable-tdfxfb) _tdfxfb
=yes ;;
1112 --disable-tdfxfb) _tdfxfb
=no
;;
1113 --disable-tdfxvid) _tdfxvid
=no
;;
1114 --enable-tdfxvid) _tdfxvid
=yes ;;
1115 --disable-xvr100) _xvr100
=no
;;
1116 --enable-xvr100) _xvr100
=yes ;;
1117 --disable-tga) _tga
=no
;;
1118 --enable-tga) _tga
=yes ;;
1119 --enable-directfb) _directfb
=yes ;;
1120 --disable-directfb) _directfb
=no
;;
1121 --enable-zr) _zr
=yes ;;
1122 --disable-zr) _zr
=no
;;
1123 --enable-bl) _bl
=yes ;;
1124 --disable-bl) _bl
=no
;;
1125 --enable-mtrr) _mtrr
=yes ;;
1126 --disable-mtrr) _mtrr
=no
;;
1127 --enable-largefiles) _largefiles
=yes ;;
1128 --disable-largefiles) _largefiles
=no
;;
1129 --enable-shm) _shm
=yes ;;
1130 --disable-shm) _shm
=no
;;
1131 --enable-select) _select
=yes ;;
1132 --disable-select) _select
=no
;;
1133 --enable-linux-devfs) _linux_devfs
=yes ;;
1134 --disable-linux-devfs) _linux_devfs
=no
;;
1135 --enable-cdparanoia) _cdparanoia
=yes ;;
1136 --disable-cdparanoia) _cdparanoia
=no
;;
1137 --enable-cddb) _cddb
=yes ;;
1138 --disable-cddb) _cddb
=no
;;
1139 --enable-big-endian) _big_endian
=yes ;;
1140 --disable-big-endian) _big_endian
=no
;;
1141 --enable-bitmap-font) _bitmap_font
=yes ;;
1142 --disable-bitmap-font) _bitmap_font
=no
;;
1143 --enable-freetype) _freetype
=yes ;;
1144 --disable-freetype) _freetype
=no
;;
1145 --enable-fontconfig) _fontconfig
=yes ;;
1146 --disable-fontconfig) _fontconfig
=no
;;
1147 --enable-unrarexec) _unrar_exec
=yes ;;
1148 --disable-unrarexec) _unrar_exec
=no
;;
1149 --enable-ftp) _ftp
=yes ;;
1150 --disable-ftp) _ftp
=no
;;
1151 --enable-vstream) _vstream
=yes ;;
1152 --disable-vstream) _vstream
=no
;;
1153 --enable-pthreads) _pthreads
=yes ;;
1154 --disable-pthreads) _pthreads
=no
;;
1155 --enable-w32threads) _w32threads
=yes ;;
1156 --disable-w32threads) _w32threads
=no
;;
1157 --enable-ass) _ass
=yes ;;
1158 --disable-ass) _ass
=no
;;
1159 --enable-rpath) _rpath
=yes ;;
1160 --disable-rpath) _rpath
=no
;;
1162 --enable-fribidi) _fribidi
=yes ;;
1163 --disable-fribidi) _fribidi
=no
;;
1165 --enable-enca) _enca
=yes ;;
1166 --disable-enca) _enca
=no
;;
1168 --enable-inet6) _inet6
=yes ;;
1169 --disable-inet6) _inet6
=no
;;
1171 --enable-gethostbyname2) _gethostbyname2
=yes ;;
1172 --disable-gethostbyname2) _gethostbyname2
=no
;;
1174 --enable-dga1) _dga1
=yes ;;
1175 --disable-dga1) _dga1
=no
;;
1176 --enable-dga2) _dga2
=yes ;;
1177 --disable-dga2) _dga2
=no
;;
1179 --enable-menu) _menu
=yes ;;
1180 --disable-menu) _menu
=no
;;
1182 --enable-qtx) _qtx
=yes ;;
1183 --disable-qtx) _qtx
=no
;;
1185 --enable-macosx) _macosx
=yes ;;
1186 --disable-macosx) _macosx
=no
;;
1187 --enable-macosx-finder-support) _macosx_finder_support
=yes ;;
1188 --disable-macosx-finder-support) _macosx_finder_support
=no
;;
1189 --enable-macosx-bundle) _macosx_bundle
=yes;;
1190 --disable-macosx-bundle) _macosx_bundle
=no
;;
1192 --enable-maemo) _maemo
=yes ;;
1193 --disable-maemo) _maemo
=no
;;
1195 --enable-sortsub) _sortsub
=yes ;;
1196 --disable-sortsub) _sortsub
=no
;;
1198 --enable-crash-debug) _crash_debug
=yes ;;
1199 --disable-crash-debug) _crash_debug
=no
;;
1200 --enable-sighandler) _sighandler
=yes ;;
1201 --disable-sighandler) _sighandler
=no
;;
1202 --enable-win32dll) _win32dll
=yes ;;
1203 --disable-win32dll) _win32dll
=no
;;
1205 --enable-sse) _sse
=yes ;;
1206 --disable-sse) _sse
=no
;;
1207 --enable-sse2) _sse2
=yes ;;
1208 --disable-sse2) _sse2
=no
;;
1209 --enable-ssse3) _ssse3
=yes ;;
1210 --disable-ssse3) _ssse3
=no
;;
1211 --enable-mmxext) _mmxext
=yes ;;
1212 --disable-mmxext) _mmxext
=no
;;
1213 --enable-3dnow) _3dnow
=yes ;;
1214 --disable-3dnow) _3dnow
=no _3dnowext
=no
;;
1215 --enable-3dnowext) _3dnow
=yes _3dnowext
=yes ;;
1216 --disable-3dnowext) _3dnowext
=no
;;
1217 --enable-cmov) _cmov
=yes ;;
1218 --disable-cmov) _cmov
=no
;;
1219 --enable-fast-cmov) _fast_cmov
=yes ;;
1220 --disable-fast-cmov) _fast_cmov
=no
;;
1221 --enable-altivec) _altivec
=yes ;;
1222 --disable-altivec) _altivec
=no
;;
1223 --enable-armv5te) _armv5te
=yes ;;
1224 --disable-armv5te) _armv5te
=no
;;
1225 --enable-armv6) _armv6
=yes ;;
1226 --disable-armv6) _armv6
=no
;;
1227 --enable-iwmmxt) _iwmmxt
=yes ;;
1228 --disable-iwmmxt) _iwmmxt
=no
;;
1229 --enable-mmx) _mmx
=yes ;;
1230 --disable-mmx) # 3Dnow! and MMX2 require MMX
1231 _3dnow
=no _3dnowext
=no _mmx
=no _mmxext
=no
;;
1234 echo "Unknown parameter: $ac_option"
1241 # Atmos: moved this here, to be correct, if --prefix is specified
1242 test -z "$_bindir" && _bindir
="$_prefix/bin"
1243 test -z "$_datadir" && _datadir
="$_prefix/share/mplayer"
1244 test -z "$_mandir" && _mandir
="$_prefix/share/man"
1245 test -z "$_confdir" && _confdir
="$_prefix/etc/mplayer"
1246 test -z "$_libdir" && _libdir
="$_prefix/lib"
1248 # Determine our OS name and CPU architecture
1249 if test -z "$_target" ; then
1251 system_name
=`uname -s 2>&1`
1252 case "$system_name" in
1253 Linux|FreeBSD|NetBSD|OpenBSD|DragonFly|BSD
/OS|Darwin|SunOS|QNX|GNU|BeOS|MorphOS|AIX|AmigaOS
)
1264 [cC
][yY
][gG
][wW
][iI
][nN
]*)
1274 system_name
="$system_name-UNKNOWN"
1279 # host's CPU/instruction set
1280 host_arch
=`uname -p 2>&1`
1281 case "$host_arch" in
1282 i386|sparc|ppc|alpha|arm|sh3|mips|vax
)
1284 powerpc
) # Darwin returns 'powerpc'
1287 *) # uname -p on Linux returns 'unknown' for the processor type,
1288 # OpenBSD returns 'Intel Pentium/MMX ("Genuine Intel" 586-class)'
1290 # Maybe uname -m (machine hardware name) returns something we
1293 # x86/x86pc is used by QNX
1294 case "`uname -m 2>&1`" in
1295 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
;;
1296 ia64
) host_arch
=ia64
;;
1298 if [ -n "`$_cc -dumpmachine | sed -n '/^x86_64-/p;/^amd64-/p'`" -a \
1299 -z "`echo $CFLAGS | grep -- -m32`" ]; then
1305 macppc|ppc|ppc64
) host_arch
=ppc
;;
1306 alpha
) host_arch
=alpha
;;
1307 sparc
) host_arch
=sparc
;;
1308 sparc64
) host_arch
=sparc64
;;
1309 parisc
*|hppa
*|
9000*) host_arch
=hppa
;;
1310 arm
*|zaurus|cats
) host_arch
=arm
;;
1311 sh3
) host_arch
=sh3
;;
1312 s390
) host_arch
=s390
;;
1313 s390x
) host_arch
=s390x
;;
1314 mips
*) host_arch
=mips
;;
1315 vax
) host_arch
=vax
;;
1316 xtensa
*) host_arch
=xtensa
;;
1317 *) host_arch
=UNKNOWN
;;
1321 else # if test -z "$_target"
1322 system_name
=`echo $_target | cut -d '-' -f 2`
1323 case "`echo $system_name | tr A-Z a-z`" in
1324 linux
) system_name
=Linux
;;
1325 freebsd
) system_name
=FreeBSD
;;
1326 gnu
/kfreebsd
) system_name
=FreeBSD
;;
1327 netbsd
) system_name
=NetBSD
;;
1328 bsd
/os
) system_name
=BSD
/OS
;;
1329 openbsd
) system_name
=OpenBSD
;;
1330 dragonfly
) system_name
=DragonFly
;;
1331 sunos
) system_name
=SunOS
;;
1332 qnx
) system_name
=QNX
;;
1333 morphos
) system_name
=MorphOS
;;
1334 amigaos
) system_name
=AmigaOS
;;
1335 mingw32msvc
) system_name
=MINGW32
;;
1337 # We need to convert underscores so that values like k6-2 and pentium-mmx can be passed
1338 host_arch
=`echo $_target | cut -d '-' -f 1`
1339 if test `echo $host_arch` != "x86_64" ; then
1340 host_arch
=`echo $host_arch | tr '_' '-'`
1344 echo "Detected operating system: $system_name"
1345 echo "Detected host architecture: $host_arch"
1347 if test "$_runtime_cpudetection" = yes && ! x86
&& ! ppc
; then
1348 die
"Runtime CPU detection only works for x86, x86-64 and PPC!"
1352 _timer
=timer-linux.c
1355 _ld_extra
="$_ld_extra -L/usr/local/lib"
1356 _inc_extra
="$_inc_extra -I/usr/local/include"
1359 if netbsd || dragonfly
; then
1360 _ld_extra
="$_ld_extra -L/usr/pkg/lib"
1361 _inc_extra
="$_inc_extra -I/usr/pkg/include"
1365 _ld_extra
="$_ld_extra -L/usr/local/lib"
1366 _inc_extra
="$_inc_extra -I/usr/local/include"
1367 _timer
=timer-darwin.c
1371 _ld_extra
="$_ld_extra -lC"
1382 # -lwinmm is always needed for osdep/timer-win2.c
1383 _ld_extra
="$_ld_extra -lwinmm"
1394 _def_confwin32
='#define WIN32'
1401 _def_stream_cache
="#undef CONFIG_STREAM_CACHE"
1405 _ld_extra
="$_ld_extra -lph"
1414 for I
in "$TMPDIR" "$TEMPDIR" "/tmp" ; do
1419 TMPLOG
="configure.log"
1420 TMPC
="$I/mplayer-conf-$RANDOM-$$.c"
1421 TMPCPP
="$I/mplayer-conf-$RANDOM-$$.cpp"
1422 TMPEXE
="$I/mplayer-conf-$RANDOM-$$$_exesuf"
1423 TMPH
="$I/mplayer-conf-$RANDOM-$$.h"
1424 TMPS
="$I/mplayer-conf-$RANDOM-$$.S"
1427 echo configuration
: $_configuration > "$TMPLOG"
1431 # Check how to call 'head' and 'tail'. Newer versions spit out warnings
1432 # if used as 'head -1' instead of 'head -n 1', but older versions don't
1434 if test "`(echo line1 ; echo line2) | head -1 2>/dev/null`" = "line1" ; then
1435 _head
() { head -$1 2>/dev
/null
; }
1437 _head
() { head -n $1 2>/dev
/null
; }
1439 if test "`(echo line1 ; echo line2) | tail -1 2>/dev/null`" = "line2" ; then
1440 _tail
() { tail -$1 2>/dev
/null
; }
1442 _tail
() { tail -n $1 2>/dev
/null
; }
1445 # Checking CC version...
1446 # Intel C++ Compilers (no autoselect, use CC=/some/binary ./configure)
1447 if test "`basename $_cc`" = "icc" ||
test "`basename $_cc`" = "ecc"; then
1448 echocheck
"$_cc version"
1450 cc_name
=`$_cc -V 2>&1 | _head 1 | cut -d ',' -f 1`
1451 cc_version
=`$_cc -V 2>&1 | _head 1 | cut -d ',' -f 2 | cut -d ' ' -f 3`
1452 _cc_major
=`echo $cc_version | cut -d '.' -f 1`
1453 _cc_minor
=`echo $cc_version | cut -d '.' -f 2`
1454 # TODO verify older icc/ecc compatibility
1457 cc_version
="v. ?.??, bad"
1461 cc_version
="$cc_version, ok"
1464 cc_version
="$cc_version, bad"
1468 echores
"$cc_version"
1470 for _cc
in "$_cc" cc gcc
; do
1471 cc_name_tmp
=`$_cc -v 2>&1 | _tail 1 | cut -d ' ' -f 1`
1472 if test "$cc_name_tmp" = "gcc"; then
1473 cc_name
=$cc_name_tmp
1474 echocheck
"$_cc version"
1476 cc_version
=`$_cc -dumpversion 2>&1`
1482 _cc_major
=`echo $cc_version | cut -d '.' -f 1`
1483 _cc_minor
=`echo $cc_version | cut -d '.' -f 2`
1484 _cc_mini
=`echo $cc_version | cut -d '.' -f 3`
1487 echores
"$cc_version"
1492 test "$cc_fail" = yes && die
"unsupported compiler version"
1495 test "$_host_cc" || _host_cc
=$_cc
1498 echocheck
"cross compilation"
1499 if test $_cross_compile = auto
; then
1501 int main(void) { return 0; }
1504 cc_check
&& "$TMPEXE" && _cross_compile
=no
1506 echores
$_cross_compile
1508 if test $_cross_compile = yes; then
1516 # now that we know what compiler should be used for compilation, try to find
1517 # out which assembler is used by the $_cc compiler
1518 if test "$_as" = auto
; then
1519 _as
=`$_cc -print-prog-name=as`
1520 test -z "$_as" && _as
=as
1523 # XXX: this should be ok..
1526 if test "$_runtime_cpudetection" = no
; then
1528 # Cygwin has /proc/cpuinfo, but only supports Intel CPUs
1529 # FIXME: Remove the cygwin check once AMD CPUs are supported
1530 if test -r /proc
/cpuinfo
&& ! cygwin
; then
1531 # Linux with /proc mounted, extract CPU information from it
1532 _cpuinfo
="cat /proc/cpuinfo"
1533 elif test -r /compat
/linux
/proc
/cpuinfo
&& ! x86_32
; then
1534 # FreeBSD with Linux emulation /proc mounted,
1535 # extract CPU information from it
1536 _cpuinfo
="cat /compat/linux/proc/cpuinfo"
1537 elif darwin
&& ! x86_32
; then
1538 # use hostinfo on Darwin
1541 # use 'lsattr' on AIX
1542 _cpuinfo
="lsattr -E -l proc0 -a type"
1544 # all other OSes try to extract CPU information from a small helper
1545 # program cpuinfo instead
1546 $_cc -o cpuinfo
$_exesuf cpuinfo.c
1547 _cpuinfo
="./cpuinfo$_exesuf"
1551 # gather more CPU information
1552 pname
=`$_cpuinfo | grep 'model name' | cut -d ':' -f 2 | _head 1`
1553 pvendor
=`$_cpuinfo | grep 'vendor_id' | cut -d ':' -f 2 | cut -d ' ' -f 2 | _head 1`
1554 pfamily
=`$_cpuinfo | grep 'cpu family' | cut -d ':' -f 2 | cut -d ' ' -f 2 | _head 1`
1555 pmodel
=`$_cpuinfo | grep -v 'model name' | grep 'model' | cut -d ':' -f 2 | cut -d ' ' -f 2 | _head 1`
1556 pstepping
=`$_cpuinfo | grep 'stepping' | cut -d ':' -f 2 | cut -d ' ' -f 2 | _head 1`
1558 exts
=`$_cpuinfo | egrep 'features|flags' | cut -d ':' -f 2 | _head 1`
1560 pparam
=`echo $exts | sed -e s/k6_mtrr/mtrr/ -e s/cyrix_arr/mtrr/ -e s/centaur_mcr/mtrr/ \
1561 -e s/xmm/sse/ -e s/kni/sse/`
1563 for ext
in $pparam ; do
1564 eval test \"\
$_$ext\" = auto
2>/dev
/null
&& eval _
$ext=kernel_check
1567 # SSE implies MMX2, but not all SSE processors report the mmxext CPU flag.
1568 test $_sse = kernel_check
&& _mmxext
=kernel_check
1570 echocheck
"CPU vendor"
1571 echores
"$pvendor ($pfamily:$pmodel:$pstepping)"
1573 echocheck
"CPU type"
1577 fi # test "$_runtime_cpudetection" = no
1579 if x86
&& test "$_runtime_cpudetection" = no
; then
1581 if test "$1" = kernel_check
; then
1582 echocheck
"kernel support of $2"
1586 void catch() { exit(1); }
1588 signal(SIGILL, catch);
1589 __asm__ __volatile__ ("$3":::"memory"); return 0;
1593 if cc_check
&& tmp_run
; then
1596 _optimizing
="$_optimizing $2"
1601 echo "It seems that your kernel does not correctly support $2."
1602 echo "To use $2 extensions in MPlayer, you have to upgrade/recompile your kernel!"
1609 extcheck
$_mmx "mmx" "emms"
1610 extcheck
$_mmxext "mmxext" "sfence"
1611 extcheck
$_3dnow "3dnow" "femms"
1612 extcheck
$_3dnowext "3dnowext" "pswapd %%mm0, %%mm0"
1613 extcheck
$_sse "sse" "xorps %%xmm0, %%xmm0" || _gcc3_ext
="$_gcc3_ext -mno-sse"
1614 extcheck
$_sse2 "sse2" "xorpd %%xmm0, %%xmm0" || _gcc3_ext
="$_gcc3_ext -mno-sse2"
1615 extcheck
$_ssse3 "ssse3" "pabsd %%xmm0, %%xmm0"
1616 extcheck
$_cmov "cmov" "cmovb %%eax,%%ebx"
1618 echocheck
"mtrr support"
1619 if test "$_mtrr" = kernel_check
; then
1621 _optimizing
="$_optimizing mtrr"
1625 if test "$_gcc3_ext" != ""; then
1626 # if we had to disable sse/sse2 because the active kernel does not
1627 # support this instruction set extension, we also have to tell
1628 # gcc3 to not generate sse/sse2 instructions for normal C code
1630 int main(void) { return 0; }
1632 cc_check
$_march $_gcc3_ext && _march
="$_march $_gcc3_ext"
1638 _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'
1639 case "$host_arch" in
1640 i
[3-9]86|x86|x86pc|k5|k6|k6-2|k6-3|pentium
*|athlon
*|i586-i686
)
1642 _target_arch_x86
="ARCH_X86 = yes"
1643 _target_arch
="ARCH_X86_32 = yes"
1644 _def_fast_unaligned
='#define HAVE_FAST_UNALIGNED 1'
1649 if test "$_runtime_cpudetection" = no
; then
1653 3) proc
=i386 iproc
=386 ;;
1654 4) proc
=i486 iproc
=486 ;;
1655 5) iproc
=586 # LGB: models are: K5/SSA5 K5 K5 K5 ? ? K6 K6 K6-2 K6-3
1656 # K6 model 13 are the K6-2+ and K6-III+, only differing in cache size.
1657 if test "$pmodel" -eq 9 -o "$pmodel" -eq 13; then
1659 elif test "$pmodel" -eq 5 -o "$pmodel" -eq 10; then
1661 elif test "$pmodel" -ge 8; then
1663 elif test "$pmodel" -ge 6; then
1670 # It's a bit difficult to determine the correct type of Family 6
1671 # AMD CPUs just from their signature. Instead, we check directly
1672 # whether it supports SSE.
1673 if test "$_sse" = yes; then
1674 # gcc treats athlon-xp, athlon-4 and athlon-mp similarly.
1677 # Again, gcc treats athlon and athlon-tbird similarly.
1682 # k8 cpu-type only supported in gcc >= 3.4.0, but that will be
1683 # caught and remedied in the optimization tests below.
1687 *) proc
=k8 iproc
=686 ;;
1692 3) proc
=i386 iproc
=386 ;;
1693 4) proc
=i486 iproc
=486 ;;
1695 if test "$pmodel" -eq 4 ||
test "$pmodel" -eq 8; then
1696 proc
=pentium-mmx
# 4 is desktop, 8 is mobile
1702 if test "$pmodel" -ge 15; then
1704 elif test "$pmodel" -eq 9 -o "$pmodel" -ge 13; then
1706 elif test "$pmodel" -ge 7; then
1708 elif test "$pmodel" -ge 3; then
1715 # A nocona in 32-bit mode has no more capabilities than a prescott.
1716 if test "$pmodel" -ge 3; then
1721 test $_fast_cmov = "auto" && _fast_cmov
=no
1723 *) proc
=prescott iproc
=686 ;;
1729 if test "$pmodel" -ge 8; then
1731 elif test "$pmodel" -ge 4; then
1738 if test "$pmodel" -ge 9; then
1745 *) proc
=i686 iproc
=i686
;;
1750 3) proc
=i386 iproc
=386 ;;
1751 4) proc
=i486 iproc
=486 ;;
1752 *) proc
=i586 iproc
=586 ;;
1756 proc
=i586 iproc
=586 ;;
1758 fi # test "$_runtime_cpudetection" = no
1761 # check that gcc supports our CPU, if not, fall back to earlier ones
1762 # LGB: check -mcpu and -march swithing step by step with enabling
1763 # to fall back till 386.
1765 # gcc >= 3.4.0 doesn't support -mcpu, we have to use -mtune instead
1767 if [ "$cc_vendor" = "gnu" ] && ([ "$_cc_major" -gt 3 ] ||
( [ "$_cc_major" = 3 ] && [ "$_cc_minor" -ge 4 ])) ; then
1773 echocheck
"GCC & CPU optimization abilities"
1775 int main(void) { return 0; }
1777 if test "$_runtime_cpudetection" = no
; then
1778 cc_check
-march=native
&& proc
=native
1779 if test "$proc" = "k8"; then
1780 cc_check
-march=$proc $cpuopt=$proc || proc
=athlon-xp
1782 if test "$proc" = "athlon-xp"; then
1783 cc_check
-march=$proc $cpuopt=$proc || proc
=athlon
1785 if test "$proc" = "k6-3" ||
test "$proc" = "k6-2"; then
1786 cc_check
-march=$proc $cpuopt=$proc || proc
=k6
1788 if test "$proc" = "k6" ||
test "$proc" = "c3"; then
1789 if ! cc_check
-march=$proc $cpuopt=$proc; then
1790 if cc_check
-march=i586
$cpuopt=i686
; then
1797 if test "$proc" = "prescott" ; then
1798 cc_check
-march=$proc $cpuopt=$proc || proc
=pentium4
1800 if test "$proc" = "core2" ; then
1801 cc_check
-march=$proc $cpuopt=$proc || proc
=pentium-m
1803 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
1804 cc_check
-march=$proc $cpuopt=$proc || proc
=i686
1806 if test "$proc" = "i686" ||
test "$proc" = "pentium-mmx" ||
test "$proc" = "winchip-c6" ||
test "$proc" = "winchip2"; then
1807 cc_check
-march=$proc $cpuopt=$proc || proc
=i586
1809 if test "$proc" = "i586"; then
1810 cc_check
-march=$proc $cpuopt=$proc || proc
=i486
1812 if test "$proc" = "i486" ; then
1813 cc_check
-march=$proc $cpuopt=$proc || proc
=i386
1815 if test "$proc" = "i386" ; then
1816 cc_check
-march=$proc $cpuopt=$proc || proc
=error
1818 if test "$proc" = "error" ; then
1819 echores
"CPU optimization disabled. CPU not recognized or your compiler is too old."
1823 elif test "$proc" = "i586-i686"; then
1824 _march
="-march=i586"
1825 _mcpu
="$cpuopt=i686"
1828 _march
="-march=$proc"
1829 _mcpu
="$cpuopt=$proc"
1832 else # if test "$_runtime_cpudetection" = no
1833 _mcpu
="$cpuopt=generic"
1834 # at least i486 required, for bswap instruction
1835 _march
="-march=i486"
1836 cc_check
$_mcpu || _mcpu
="$cpuopt=i686"
1837 cc_check
$_mcpu || _mcpu
=""
1838 cc_check
$_march $_mcpu || _march
=""
1841 ## Gabucino : --target takes effect here (hopefully...) by overwriting
1842 ## autodetected mcpu/march parameters
1843 if test "$_target" ; then
1844 # TODO: it may be a good idea to check GCC and fall back in all cases
1845 if test "$host_arch" = "i586-i686"; then
1846 _march
="-march=i586"
1847 _mcpu
="$cpuopt=i686"
1849 _march
="-march=$host_arch"
1850 _mcpu
="$cpuopt=$host_arch"
1858 i586|k5|k6|k6-2|k6-3|pentium|pentium-mmx
) iproc
=586 ;;
1859 i686|athlon
*|pentium
*) iproc
=686 ;;
1864 if test $_cmov = "yes" && test $_fast_cmov = "auto" ; then
1875 _target_arch
='ARCH_IA64 = yes'
1885 _target_arch
='ARCH_X86_64 = yes'
1886 _target_arch_x86
="ARCH_X86 = yes"
1887 _def_fast_unaligned
='#define HAVE_FAST_UNALIGNED 1'
1890 # gcc >= 3.4.0 doesn't support -mcpu, we have to use -mtune instead
1891 if test "$cc_vendor" = "gnu" && test "$_cc_major" -gt 3 -o "$_cc_major" -eq 3 -a "$_cc_minor" -ge 4 ; then
1896 if test "$_runtime_cpudetection" = no
; then
1904 # 64-bit prescotts exist, but as far as GCC is concerned they
1905 # have the same capabilities as a nocona.
1907 test $_fast_cmov = "auto" && _fast_cmov
=no
1914 fi # test "$_runtime_cpudetection" = no
1916 echocheck
"GCC & CPU optimization abilities"
1918 int main(void) { return 0; }
1920 # This is a stripped-down version of the i386 fallback.
1921 if test "$_runtime_cpudetection" = no
; then
1922 cc_check
-march=native
&& proc
=native
1923 # --- AMD processors ---
1924 if test "$proc" = "k8"; then
1925 cc_check
-march=$proc $cpuopt=$proc || proc
=athlon-xp
1927 # This will fail if gcc version < 3.3, which is ok because earlier
1928 # versions don't really support 64-bit on amd64.
1929 # Is this a valid assumption? -Corey
1930 if test "$proc" = "athlon-xp"; then
1931 cc_check
-march=$proc $cpuopt=$proc || proc
=error
1933 # --- Intel processors ---
1934 if test "$proc" = "core2"; then
1935 cc_check
-march=$proc $cpuopt=$proc || proc
=nocona
1937 if test "$proc" = "nocona"; then
1938 cc_check
-march=$proc $cpuopt=$proc || proc
=pentium4
1940 if test "$proc" = "pentium4"; then
1941 cc_check
-march=$proc $cpuopt=$proc || proc
=error
1944 _march
="-march=$proc"
1945 _mcpu
="$cpuopt=$proc"
1946 if test "$proc" = "error" ; then
1947 echores
"CPU optimization disabled. CPU not recognized or your compiler is too old."
1951 else # if test "$_runtime_cpudetection" = no
1952 # x86-64 is an undocumented option, an intersection of k8 and nocona.
1953 _march
="-march=x86-64"
1954 _mcpu
="$cpuopt=generic"
1955 cc_check
$_mcpu || _mcpu
="x86-64"
1956 cc_check
$_mcpu || _mcpu
=""
1957 cc_check
$_march $_mcpu || _march
=""
1967 _target_arch
='ARCH_SPARC = yes'
1970 echocheck
"CPU type"
1972 case "`echo $karch`" in
1977 sun4u
) proc
=ultrasparc _vis
='yes' ;;
1992 _target_arch
='ARCH_SPARC = yes'
2001 arm|armv4l|armv5tel
)
2003 _target_arch
='ARCH_ARMV4L = yes'
2013 _target_arch
='ARCH_SH3 = yes'
2023 _def_dcbzl
='#undef HAVE_DCBZL'
2024 _target_arch
='ARCH_POWERPC = yes'
2031 echocheck
"CPU type"
2032 case $system_name in
2034 proc
=`$_cpuinfo | grep 'cpu' | cut -d ':' -f 2 | cut -d ',' -f 1 | cut -b 2- | _head 1`
2035 if test -n "`$_cpuinfo | grep altivec`"; then
2036 test $_altivec = auto
&& _altivec
=yes
2040 proc
=`$_cpuinfo | grep "Processor type" | cut -f 3 -d ' ' | sed 's/ppc//'`
2041 if [ `sysctl -n hw.vectorunit` -eq 1 -o \
2042 "`sysctl -n hw.optional.altivec 2> /dev/null`" = "1" ]; then
2043 test $_altivec = auto
&& _altivec
=yes
2047 # only gcc 3.4 works reliably with AltiVec code under NetBSD
2049 2*|
3.0*|
3.1*|
3.2*|
3.3*)
2052 if [ `sysctl -n machdep.altivec` -eq 1 ]; then
2053 test $_altivec = auto
&& _altivec
=yes
2059 proc
=`$_cpuinfo | grep 'type' | cut -f 2 -d ' ' | sed 's/PowerPC_//'`
2062 if test "$_altivec" = yes; then
2063 echores
"$proc altivec"
2069 echocheck
"GCC & CPU optimization abilities"
2071 if test -n "$proc"; then
2073 601) _march
='-mcpu=601' _mcpu
='-mtune=601' ;;
2074 603) _march
='-mcpu=603' _mcpu
='-mtune=603' ;;
2075 603e|
603ev
) _march
='-mcpu=603e' _mcpu
='-mtune=603e' ;;
2076 604|
604e|
604r|
604ev
) _march
='-mcpu=604' _mcpu
='-mtune=604' ;;
2077 740|
740/750|
745/755) _march
='-mcpu=740' _mcpu
='-mtune=740' ;;
2078 750|
750CX
) _march
='-mcpu=750' _mcpu
='-mtune=750' ;;
2079 POWER
) _march
='-mcpu=power' _mcpu
='-mtune=power' ;;
2080 POWER2
) _march
='-mcpu=power2' _mcpu
='-mtune=power2' ;;
2081 POWER3
) _march
='-mcpu=power3' _mcpu
='-mtune=power3' ;;
2084 # gcc 3.1(.1) and up supports 7400 and 7450
2085 if test "$_cc_major" -ge "3" && test "$_cc_minor" -ge "1" ||
test "$_cc_major" -ge "4"; then
2087 7400*|
7410*) _march
='-mcpu=7400' _mcpu
='-mtune=7400' ;;
2088 7447*|
7450*|
7455*) _march
='-mcpu=7450' _mcpu
='-mtune=7450' ;;
2092 # gcc 3.2 and up supports 970
2093 if test "$_cc_major" -ge "3" && test "$_cc_minor" -ge "3" ||
test "$_cc_major" -ge "4"; then
2095 970*|PPC970
*) _march
='-mcpu=970' _mcpu
='-mtune=970'
2096 _def_dcbzl
='#define HAVE_DCBZL 1' ;;
2100 # gcc 3.3 and up supports POWER4
2101 if test "$_cc_major" -ge "3" && test "$_cc_minor" -ge "3" ||
test "$_cc_major" -ge "4"; then
2103 POWER4
) _march
='-mcpu=power4' _mcpu
='-mtune=power4' ;;
2107 # gcc 3.4 and up supports 440*
2108 if test "$_cc_major" -ge "3" && test "$_cc_minor" -ge "4" ||
test "$_cc_major" -ge "4"; then
2110 440EP
*) _march
='-mcpu=440fp' _mcpu
='-mtune=440fp' ;;
2111 440G
* ) _march
='-mcpu=440' _mcpu
='-mtune=440' ;;
2115 # gcc 4.0 and up supports POWER5
2116 if test "$_cc_major" -ge "4"; then
2118 POWER5
*) _march
='-mcpu=power5' _mcpu
='-mtune=power5' ;;
2124 if test -n "$_mcpu"; then
2125 _optimizing
=`echo $_mcpu | cut -c 8-`
2126 echores
"$_optimizing"
2135 _target_arch
='ARCH_ALPHA = yes'
2139 echocheck
"CPU type"
2142 unsigned long ver, mask;
2143 asm ("implver %0" : "=r" (ver));
2144 asm ("amask %1, %0" : "=r" (mask) : "r" (-1));
2145 printf("%ld-%x\n", ver, ~mask);
2149 $_cc -o "$TMPEXE" "$TMPC"
2152 0-0) proc
="ev4"; _mvi
="0";;
2153 1-0) proc
="ev5"; _mvi
="0";;
2154 1-1) proc
="ev56"; _mvi
="0";;
2155 1-101) proc
="pca56"; _mvi
="1";;
2156 2-303) proc
="ev6"; _mvi
="1";;
2157 2-307) proc
="ev67"; _mvi
="1";;
2158 2-1307) proc
="ev68"; _mvi
="1";;
2162 echocheck
"GCC & CPU optimization abilities"
2163 if test "$proc" = "ev68" ; then
2164 cc_check
-mcpu=$proc || proc
=ev67
2166 if test "$proc" = "ev67" ; then
2167 cc_check
-mcpu=$proc || proc
=ev6
2177 _target_arch
='ARCH_SGI_MIPS = yes'
2185 echocheck
"CPU type"
2186 proc
=`hinv -c processor | grep CPU | cut -d " " -f3`
2187 case "`echo $proc`" in
2188 R3000
) _march
='-mips1' _mcpu
='-mtune=r2000' ;;
2189 R4000
) _march
='-mips3' _mcpu
='-mtune=r4000' ;;
2190 R4400
) _march
='-mips3' _mcpu
='-mtune=r4400' ;;
2191 R4600
) _march
='-mips3' _mcpu
='-mtune=r4600' ;;
2192 R5000
) _march
='-mips4' _mcpu
='-mtune=r5000' ;;
2193 R8000|R10000|R12000|R14000|R16000
) _march
='-mips4' _mcpu
='-mtune=r8000' ;;
2195 # gcc < 3.x does not support -mtune.
2196 if test "$cc_vendor" = "gnu" && test "$_cc_major" -lt 3 ; then
2206 _target_arch
='ARCH_PA_RISC = yes'
2216 _target_arch
='ARCH_S390 = yes'
2226 _target_arch
='ARCH_S390X = yes'
2236 _target_arch
='ARCH_VAX = yes'
2246 _target_arch
='ARCH_XTENSA = yes'
2256 _target_arch
='ARCH_GENERIC = yes'
2265 echo "The architecture of your CPU ($host_arch) is not supported by this configure script"
2266 echo "It seems nobody has ported MPlayer to your OS or CPU type yet."
2267 die
"unsupported architecture $host_arch"
2269 esac # case "$host_arch" in
2271 if test "$_runtime_cpudetection" = yes ; then
2273 test "$_cmov" != no
&& _cmov
=yes
2275 test "$_mmx" != no
&& _mmx
=yes
2276 test "$_3dnow" != no
&& _3dnow
=yes
2277 test "$_3dnowext" != no
&& _3dnowext
=yes
2278 test "$_mmxext" != no
&& _mmxext
=yes
2279 test "$_sse" != no
&& _sse
=yes
2280 test "$_sse2" != no
&& _sse2
=yes
2281 test "$_ssse3" != no
&& _ssse3
=yes
2282 test "$_mtrr" != no
&& _mtrr
=yes
2290 echocheck
"extern symbol prefix"
2294 cc_check
-c || die
"Symbol mangling check failed."
2295 sym
=$
(nm
-P -g $TMPEXE)
2296 extern_prefix
=${sym%%ff_extern*}
2297 _def_extern_prefix
="#define EXTERN_PREFIX \"$extern_prefix\""
2298 echores
$extern_prefix
2301 echocheck
"assembler support of -pipe option"
2303 int main(void) { return 0; }
2305 cc_check
-pipe && _pipe
="-pipe" && echores
"yes" || echores
"no"
2308 echocheck
"compiler support of named assembler arguments"
2310 _def_named_asm_args
="#define NAMED_ASM_ARGS 1"
2311 if test "$cc_vendor" = "gnu" && test "$_cc_major" -lt 3 \
2312 -o "$_cc_major" -eq 3 -a "$_cc_minor" = 0 ; then
2314 _def_named_asm_args
="#undef NAMED_ASM_ARGS"
2316 echores
$_named_asm_args
2319 if darwin
&& test "$cc_vendor" = "gnu" ; then
2320 echocheck
"GCC support of -mstackrealign"
2321 # GCC 4.2 and some earlier Apple versions support this flag on x86. Since
2322 # Mac OS X/Intel has an ABI different from Windows this is needed to avoid
2323 # crashes when loading Win32 DLLs. Unfortunately some gcc versions create
2324 # wrong code with this flag, but this can be worked around by adding
2325 # -fno-unit-at-a-time as described in the blog post at
2326 # http://www.dribin.org/dave/blog/archives/2006/12/05/missing_third_param/
2328 __attribute__((noinline)) static int foo3(int i1, int i2, int i3) { return i3; }
2329 int main(void) { return foo3(1,2,3) == 3 ? 0 : 1; }
2331 cc_check
-O4 -mstackrealign && tmp_run
&& _stackrealign
=-mstackrealign
2332 test -z "$_stackrealign" && cc_check
-O4 -mstackrealign -fno-unit-at-a-time \
2333 && tmp_run
&& _stackrealign
="-mstackrealign -fno-unit-at-a-time"
2334 test -n "$_stackrealign" && echores
"yes" || echores
"no"
2335 fi # if darwin && test "$cc_vendor" = "gnu" ; then
2338 # Checking for CFLAGS
2340 if test "$_profile" != "" ||
test "$_debug" != "" ; then
2341 CFLAGS
="-W -Wall -O2 $_march $_mcpu $_pipe $_debug $_profile"
2343 elif test -z "$CFLAGS" ; then
2344 if test "$cc_vendor" = "intel" ; then
2345 CFLAGS
="-O2 $_march $_mcpu $_pipe -fomit-frame-pointer -wd167 -wd556 -wd144"
2346 elif test "$cc_vendor" != "gnu" ; then
2347 CFLAGS
="-O2 $_march $_mcpu $_pipe"
2349 CFLAGS
="-Wall -Wno-switch -Wpointer-arith -Wredundant-decls -O4 $_march $_mcpu $_pipe -ffast-math -fomit-frame-pointer"
2354 if test -n "$LDFLAGS" ; then
2355 _ld_extra
="$_ld_extra $LDFLAGS"
2357 elif test "$cc_vendor" = "intel" ; then
2358 _ld_extra
="$_ld_extra -i-static"
2360 if test -n "$CPPFLAGS" ; then
2361 _inc_extra
="$_inc_extra $CPPFLAGS"
2368 # Checking assembler (_as) compatibility...
2369 # Added workaround for older as that reads from stdin by default - atmos
2370 as_version
=`echo '' | $_as -version 2>&1 | sed -n 's/^.*assembler \(version \)*\([0-9.]*\).*$/\2/p'`
2371 echocheck
"assembler ($_as $as_version)"
2373 _pref_as_version
='2.9.1'
2375 if test "$_mmx" = yes ; then
2376 echo 'emms' >> $TMPS
2378 if test "$_3dnow" = yes ; then
2379 _pref_as_version
='2.10.1'
2380 echo 'femms' >> $TMPS
2382 if test "$_3dnowext" = yes ; then
2383 _pref_as_version
='2.10.1'
2384 echo 'pswapd %mm0, %mm0' >> $TMPS
2386 if test "$_mmxext" = yes ; then
2387 _pref_as_version
='2.10.1'
2388 echo 'movntq %mm0, (%eax)' >> $TMPS
2390 if test "$_sse" = yes ; then
2391 _pref_as_version
='2.10.1'
2392 echo 'xorps %xmm0, %xmm0' >> $TMPS
2394 #if test "$_sse2" = yes ; then
2395 # _pref_as_version='2.11'
2396 # echo 'xorpd %xmm0, %xmm0' >> $TMPS
2398 if test "$_cmov" = yes ; then
2399 _pref_as_version
='2.10.1'
2400 echo 'cmovb %eax, %ebx' >> $TMPS
2402 if test "$_ssse3" = yes ; then
2403 _pref_as_version
='2.16.92'
2404 echo 'pabsd %xmm0, %xmm1' >> $TMPS
2406 $_as $TMPS -o $TMPEXE > /dev
/null
2>&1 || as_verc_fail
=yes
2408 if test "$as_verc_fail" != yes ; then
2411 _res_comment
="Upgrade binutils to ${_pref_as_version} or use --disable-ssse3 etc."
2413 die
"obsolete binutils version"
2418 echocheck
".align is a power of two"
2419 if test "$_asmalign_pot" = auto
; then
2422 int main(void) { asm (".align 3"); return 0; }
2424 cc_check
&& _asmalign_pot
=yes
2426 if test "$_asmalign_pot" = "yes" ; then
2427 _def_asmalign_pot
='#define ASMALIGN(ZEROBITS) ".align " #ZEROBITS "\n\t"'
2429 _def_asmalign_pot
='#define ASMALIGN(ZEROBITS) ".align 1<<" #ZEROBITS "\n\t"'
2431 echores
$_asmalign_pot
2434 #FIXME: This should happen before the check for CFLAGS..
2435 if ppc
&& ( test "$_altivec" = yes ||
test "$_runtime_cpudetection" = yes ) ; then
2437 # check if AltiVec is supported by the compiler, and how to enable it
2438 echocheck
"GCC AltiVec flags"
2440 int main(void) { return 0; }
2442 if $
(cc_check
-maltivec -mabi=altivec
) ; then
2443 _altivec_gcc_flags
="-maltivec -mabi=altivec"
2444 # check if <altivec.h> should be included
2445 _def_altivec_h
='#undef HAVE_ALTIVEC_H'
2447 #include <altivec.h>
2448 int main(void) { return 0; }
2450 if $
(cc_check
$_altivec_gcc_flags) ; then
2451 _def_altivec_h
='#define HAVE_ALTIVEC_H 1'
2452 inc_altivec_h
='#include <altivec.h>'
2455 int main(void) { return 0; }
2457 if $
(cc_check
-faltivec) ; then
2458 _altivec_gcc_flags
="-faltivec"
2461 _altivec_gcc_flags
="none, AltiVec disabled"
2465 echores
"$_altivec_gcc_flags"
2467 # check if the compiler supports braces for vector declarations
2470 int main(void) { (vector int) {1}; return 0; }
2472 cc_check
$_altivec_gcc_flags || die
"You need a compiler that supports {} in AltiVec vector declarations."
2474 # Disable runtime cpudetection if we cannot generate AltiVec code or
2475 # AltiVec is disabled by the user.
2476 test "$_runtime_cpudetection" = yes && test "$_altivec" = no \
2477 && _runtime_cpudetection
=no
2479 # Show that we are optimizing for AltiVec (if enabled and supported).
2480 test "$_runtime_cpudetection" = no
&& test "$_altivec" = yes \
2481 && _optimizing
="$_optimizing altivec"
2483 # If AltiVec is enabled, make sure the correct flags turn up in CFLAGS.
2484 test "$_altivec" = yes && CFLAGS
="$CFLAGS $_altivec_gcc_flags"
2488 echocheck
"ARMv5TE (Enhanced DSP Extensions)"
2489 if test $_armv5te = "auto" ; then
2491 int main(void) { __asm__ __volatile__ ("qadd r0, r0, r0"); return 0; }
2494 cc_check
&& _armv5te
=yes
2498 echocheck
"ARMv6 (SIMD instructions)"
2499 if test $_armv6 = "auto" ; then
2501 int main(void) { __asm__ __volatile__ ("sadd16 r0, r0, r0"); return 0; }
2504 cc_check
&& _armv6
=yes
2508 echocheck
"iWMMXt (Intel XScale SIMD instructions)"
2509 if test $_iwmmxt = "auto" ; then
2511 int main(void) { __asm__ __volatile__ ("wunpckelub wr6, wr4"); return 0; }
2514 cc_check
&& _iwmmxt
=yes
2519 _cpuexts_all
='ALTIVEC MMX MMX2 3DNOW 3DNOWEX SSE SSE2 SSSE3 FAST_CMOV CMOV ARMV5TE ARMV6 IWMMXT MLIB MMI SH4 VIS MVI'
2520 test "$_altivec" = yes && _cpuexts
="ALTIVEC $_cpuexts"
2521 test "$_mmx" = yes && _cpuexts
="MMX $_cpuexts"
2522 test "$_mmxext" = yes && _cpuexts
="MMX2 $_cpuexts"
2523 test "$_3dnow" = yes && _cpuexts
="3DNOW $_cpuexts"
2524 test "$_3dnowext" = yes && _cpuexts
="3DNOWEX $_cpuexts"
2525 test "$_sse" = yes && _cpuexts
="SSE $_cpuexts"
2526 test "$_sse2" = yes && _cpuexts
="SSE2 $_cpuexts"
2527 test "$_ssse3" = yes && _cpuexts
="SSSE3 $_cpuexts"
2528 test "$_cmov" = yes && _cpuexts
="CMOV $_cpuexts"
2529 test "$_fast_cmov" = yes && _cpuexts
="FAST_CMOV $_cpuexts"
2530 test "$_armv5te" = yes && _cpuexts
="ARMV5TE $_cpuexts"
2531 test "$_armv6" = yes && _cpuexts
="ARMV6 $_cpuexts"
2532 test "$_iwmmxt" = yes && _cpuexts
="IWMMXT $_cpuexts"
2533 test "$_vis" = yes && _cpuexts
="VIS $_cpuexts"
2534 test "$_mvi" = yes && _cpuexts
="MVI $_cpuexts"
2536 # Checking kernel version...
2537 if x86_32
&& linux
; then
2539 kernel_version
=`uname -r 2>&1`
2540 echocheck
"$system_name kernel version"
2541 case "$kernel_version" in
2542 '') kernel_version
="?.??"; _k_verc_fail
=yes;;
2543 [0-1].
[0-9].
[0-9]*|
2.
[0-3].
[0-9]*)
2544 _k_verc_problem
=yes;;
2546 if test "$_k_verc_problem" = yes && test "$_sse" = yes ; then
2549 if test "$_k_verc_fail" ; then
2550 echores
"$kernel_version, fail"
2551 echo "WARNING! If you want to run MPlayer on this system, get prepared for problems!"
2552 echo "2.2.x has limited SSE support. Upgrade the kernel or use --disable-sse if you"
2553 echo "experience crashes. MPlayer tries to autodetect if your kernel correctly"
2554 echo "supports SSE, but you have been warned! If you are using a kernel older than"
2555 echo "2.2.x you must upgrade it to get SSE support!"
2556 # die "Your kernel is too old for this CPU." # works fine on some 2.2.x so don't die (later check will test)
2558 echores
"$kernel_version, ok"
2562 ######################
2563 # MAIN TESTS GO HERE #
2564 ######################
2569 int main(void) { return 0; }
2571 if cc_check
-lposix ; then
2572 _ld_extra
="$_ld_extra -lposix"
2580 int main(void) { return 0; }
2582 if cc_check
-lm ; then
2591 echocheck
"langinfo"
2592 if test "$_langinfo" = auto
; then
2594 #include <langinfo.h>
2595 int main(void) { nl_langinfo(CODESET); return 0; }
2598 cc_check
&& _langinfo
=yes
2600 if test "$_langinfo" = yes ; then
2601 _def_langinfo
='#define CONFIG_LANGINFO 1'
2603 _def_langinfo
='#undef CONFIG_LANGINFO'
2605 echores
"$_langinfo"
2608 echocheck
"language"
2609 test -z "$_language" && _language
=$LINGUAS
2610 _language
=`echo $_language | tr , " "`
2611 if $
(echo $_language |
grep -q all
) ; then
2612 doc_lang
=en
; doc_langs
=$doc_lang_all
2613 man_lang
=en
; man_langs
=$man_lang_all
2616 for lang
in $_language ; do
2617 if test -d DOCS
/man
/$lang ; then
2618 tmp_man_langs
="$tmp_man_langs $lang"
2620 if test -d DOCS
/xml
/$lang ; then
2621 tmp_doc_langs
="$tmp_doc_langs $lang"
2624 man_langs
=$tmp_man_langs
2625 doc_langs
=$tmp_man_langs
2626 for lang
in $_language ; do
2627 if test -f "help/help_mp-${lang}.h" ; then
2631 echo ${_echo_n} "$lang not found, ${_echo_c}"
2632 _language
=`echo $_language | sed "s/$lang *//"`
2636 test -z "$doc_langs" && doc_langs
=en
2637 test -z "$man_langs" && man_langs
=en
2638 test -z "$doc_lang" && doc_lang
=$
(echo $doc_langs | cut
-f1 -d" ")
2639 test -z "$man_lang" && man_lang
=$
(echo $man_langs | cut
-f1 -d" ")
2640 test -z "$msg_lang" && msg_lang
=en
2641 _mp_help
="help/help_mp-${msg_lang}.h"
2642 echores
"messages: $msg_lang - man pages: $man_langs - documentation: $doc_langs"
2645 echocheck
"enable sighandler"
2646 if test "$_sighandler" = yes ; then
2647 _def_sighandler
='#define ENABLE_SIGHANDLER 1'
2649 _def_sighandler
='#undef ENABLE_SIGHANDLER'
2651 echores
"$_sighandler"
2653 echocheck
"runtime cpudetection"
2654 if test "$_runtime_cpudetection" = yes ; then
2655 _optimizing
="Runtime CPU-Detection enabled"
2656 _def_runtime_cpudetection
='#define RUNTIME_CPUDETECT 1'
2658 _def_runtime_cpudetection
='#undef RUNTIME_CPUDETECT'
2660 echores
"$_runtime_cpudetection"
2663 echocheck
"restrict keyword"
2664 for restrict_keyword
in restrict __restrict __restrict__
; do
2665 echo "void foo(char * $restrict_keyword p); int main(void) { return 0; }" > $TMPC
2667 _def_restrict_keyword
=$restrict_keyword
2671 if [ -n "$_def_restrict_keyword" ]; then
2672 echores
"$_def_restrict_keyword"
2676 # Avoid infinite recursion loop ("#define restrict restrict")
2677 if [ "$_def_restrict_keyword" != "restrict" ]; then
2678 _def_restrict_keyword
="#define restrict $_def_restrict_keyword"
2680 _def_restrict_keyword
=""
2684 echocheck
"__builtin_expect"
2685 # GCC branch prediction hint
2688 a = __builtin_expect (a, 10);
2689 return a == 10 ? 0 : 1;
2691 int main(void) { return foo(10) && foo(0); }
2694 cc_check
&& _builtin_expect
=yes
2695 if test "$_builtin_expect" = yes ; then
2696 _def_builtin_expect
='#define HAVE_BUILTIN_EXPECT 1'
2698 _def_builtin_expect
='#undef HAVE_BUILTIN_EXPECT'
2700 echores
"$_builtin_expect"
2706 int main(void) { (void) kstat_open(); (void) kstat_close(0); return 0; }
2709 cc_check
-lkstat && _kstat
=yes
2710 if test "$_kstat" = yes ; then
2711 _def_kstat
="#define HAVE_LIBKSTAT 1"
2712 _ld_extra
="$_ld_extra -lkstat"
2714 _def_kstat
="#undef HAVE_LIBKSTAT"
2720 # required for nanosleep on some systems
2723 int main(void) { (void) nanosleep(0, 0); return 0; }
2726 cc_check
-lposix4 && _posix4
=yes
2727 if test "$_posix4" = yes ; then
2728 _ld_extra
="$_ld_extra -lposix4"
2732 for func
in llrint lrint lrintf round roundf
; do
2736 int main(void) { long (*foo)(float); foo = $func; (void)(*foo)(0.0); return 0; }
2739 cc_check
-D_ISOC99_SOURCE $_ld_lm && eval _
$func=yes
2740 if eval test "x\$_$func" = "xyes"; then
2741 eval _def_
$func="\"#define HAVE_`echo $func | tr '[a-z]' '[A-Z]'` 1\""
2744 eval _def_
$func="\"#undef HAVE_`echo $func | tr '[a-z]' '[A-Z]'`\""
2753 int main(void) { char a; mkstemp(&a); return 0; }
2756 cc_check
&& _mkstemp
=yes
2757 if test "$_mkstemp" = yes ; then
2758 _def_mkstemp
='#define HAVE_MKSTEMP 1'
2760 _def_mkstemp
='#undef HAVE_MKSTEMP'
2765 echocheck
"nanosleep"
2766 # also check for nanosleep
2769 int main(void) { (void) nanosleep(0, 0); return 0; }
2772 cc_check
&& _nanosleep
=yes
2773 if test "$_nanosleep" = yes ; then
2774 _def_nanosleep
='#define HAVE_NANOSLEEP 1'
2776 _def_nanosleep
='#undef HAVE_NANOSLEEP'
2778 echores
"$_nanosleep"
2782 # for Solaris (socket stuff is in -lsocket, gethostbyname and friends in -lnsl):
2783 # for BeOS (socket stuff is in -lsocket, gethostbyname and friends in -lbind):
2786 #include <sys/socket.h>
2787 int main(void) { (void) gethostbyname(0); (void) socket(AF_INET, SOCK_STREAM, 0); return 0; }
2790 for _ld_tmp
in "" "-lsocket -lbind" "-lsocket -ldnet" "-lsocket -lnsl" "-lnsl" "-lsocket" ; do
2791 cc_check
$_ld_tmp && _ld_sock
="$_ld_tmp" && _socklib
=yes && break
2793 if test $_winsock2 = auto
&& ! cygwin
; then
2796 #include <winsock2.h>
2797 int main(void) { (void) gethostbyname(0); return 0; }
2799 cc_check
-lws2_32 && _ld_sock
="-lws2_32" && _winsock2
=yes
2801 test "$_ld_sock" && _res_comment
="using $_ld_sock"
2805 if test $_winsock2 = yes ; then
2807 _def_winsock2
='#define HAVE_WINSOCK2 1'
2809 _def_winsock2
='#undef HAVE_WINSOCK2'
2814 echocheck
"inet_pton()"
2816 #include <sys/types.h>
2817 #include <sys/socket.h>
2818 #include <arpa/inet.h>
2819 int main(void) { (void) inet_pton(0, 0, 0); return 0; }
2821 if test "$_winsock2" = yes ; then
2822 _res_comment
="using winsock2 functions instead"
2824 elif cc_check
$_ld_sock ; then
2825 # NOTE: Linux has libresolv but does not need it
2827 _res_comment
="using $_ld_sock"
2829 elif cc_check
$_ld_sock -lresolv ; then
2830 # NOTE: needed for SunOS at least
2831 _ld_sock
="$_ld_sock -lresolv"
2832 _res_comment
="using $_ld_sock"
2835 _res_comment
="trying inet_aton next"
2838 echocheck
"inet_aton()"
2840 #include <sys/types.h>
2841 #include <sys/socket.h>
2842 #include <arpa/inet.h>
2843 int main(void) { (void) inet_aton(0, 0); return 0; }
2846 if cc_check
$_ld_sock ; then
2847 # NOTE: Linux has libresolv but does not need it
2849 _res_comment
="using $_ld_sock"
2850 elif cc_check
$_ld_sock -lresolv ; then
2851 # NOTE: needed for SunOS at least
2852 _ld_sock
="$_ld_sock -lresolv"
2853 _res_comment
="using $_ld_sock"
2857 _res_comment
="network support disabled"
2859 echores
"$_use_aton"
2862 _def_use_aton
='#undef CONFIG_ATON'
2863 if test "$_use_aton" = yes; then
2864 _def_use_aton
='#define CONFIG_ATON 1'
2868 echocheck
"socklen_t"
2870 #include <sys/socket.h>
2871 int main(void) { socklen_t v = 0; return v; }
2873 cc_check
&& _socklen_t
=yes
2874 if test "$_socklen_t" = yes ; then
2875 _def_socklen_t
='#define HAVE_SOCKLEN_T 1'
2877 _def_socklen_t
='#undef HAVE_SOCKLEN_T'
2879 echores
"$_socklen_t"
2883 # FIXME network check
2884 if test "$_network" = yes ; then
2885 _def_network
='#define MPLAYER_NETWORK 1'
2886 _ld_extra
="$_ld_extra $_ld_sock"
2887 _inputmodules
="network $_inputmodules"
2889 _noinputmodules
="network $_noinputmodules"
2890 _def_network
='#undef MPLAYER_NETWORK'
2895 echocheck
"inttypes.h (required)"
2897 #include <inttypes.h>
2898 int main(void) { return 0; }
2901 cc_check
&& _inttypes
=yes
2902 echores
"$_inttypes"
2904 if test "$_inttypes" = no
; then
2905 echocheck
"bitypes.h (inttypes.h predecessor)"
2907 #include <sys/bitypes.h>
2908 int main(void) { return 0; }
2910 cc_check
&& _inttypes
=yes
2911 if test "$_inttypes" = yes ; then
2912 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."
2914 die
"Cannot find header either inttypes.h or bitypes.h. There is no chance for compilation to succeed."
2919 echocheck
"int_fastXY_t in inttypes.h"
2921 #include <inttypes.h>
2923 volatile int_fast16_t v= 0;
2927 cc_check
&& _fast_inttypes
=yes
2928 if test "$_fast_inttypes" = no
; then
2929 _def_fast_inttypes
='
2930 typedef signed char int_fast8_t;
2931 typedef signed int int_fast16_t;
2932 typedef signed int int_fast32_t;
2933 typedef signed long long int_fast64_t;
2934 typedef unsigned char uint_fast8_t;
2935 typedef unsigned int uint_fast16_t;
2936 typedef unsigned int uint_fast32_t;
2937 typedef unsigned long long uint_fast64_t;'
2939 echores
"$_fast_inttypes"
2942 echocheck
"word size"
2943 _mp_wordsize
="#undef MP_WORDSIZE"
2946 #include <sys/types.h>
2947 int main(void) { printf("%d\n", sizeof(size_t)*8); return 0; }
2949 cc_check
&& _wordsize
=`$TMPEXE` && _mp_wordsize
="#define MP_WORDSIZE $_wordsize"
2950 echores
"$_wordsize"
2953 echocheck
"malloc.h"
2956 int main(void) { (void) malloc(0); return 0; }
2959 cc_check
&& _malloc
=yes
2960 if test "$_malloc" = yes ; then
2961 _def_malloc
='#define HAVE_MALLOC_H 1'
2963 _def_malloc
='#undef HAVE_MALLOC_H'
2965 # malloc.h emits a warning in FreeBSD and OpenBSD
2966 freebsd || openbsd || dragonfly
&& _def_malloc
='#undef HAVE_MALLOC_H'
2970 echocheck
"memalign()"
2971 # XXX restrict to x86 ? extend to other CPUs/cacheline sizes ?
2974 int main(void) { (void) memalign(64, sizeof(char)); return 0; }
2977 cc_check
&& _memalign
=yes
2978 if test "$_memalign" = yes ; then
2979 _def_memalign
='#define HAVE_MEMALIGN 1'
2981 _def_memalign
='#undef HAVE_MEMALIGN'
2982 _def_map_memalign
='#define memalign(a,b) malloc(b)'
2983 darwin || _def_memalign_hack
='#define CONFIG_MEMALIGN_HACK 1'
2985 echores
"$_memalign"
2988 echocheck
"alloca.h"
2991 int main(void) { (void) alloca(0); return 0; }
2994 cc_check
&& _alloca
=yes
2996 _def_alloca
='#define HAVE_ALLOCA_H 1'
2998 _def_alloca
='#undef HAVE_ALLOCA_H'
3003 echocheck
"byteswap.h"
3005 #include <byteswap.h>
3006 int main(void) { bswap_16(0); return 0; }
3009 cc_check
&& _byteswap_h
=yes
3011 _def_byteswap_h
='#define HAVE_BYTESWAP_H 1'
3013 _def_byteswap_h
='#undef HAVE_BYTESWAP_H'
3015 echores
"$_byteswap_h"
3020 #include <sys/types.h>
3021 #include <sys/mman.h>
3022 int main(void) { (void) mmap(0, 0, 0, 0, 0, 0); return 0; }
3025 cc_check
&& _mman
=yes
3026 if test "$_mman" = yes ; then
3027 _def_mman
='#define HAVE_SYS_MMAN_H 1'
3029 _def_mman
='#undef HAVE_SYS_MMAN_H'
3030 os2
&& _need_mmap
=yes
3035 #include <sys/types.h>
3036 #include <sys/mman.h>
3037 int main(void) { void *p = MAP_FAILED; return 0; }
3039 _mman_has_map_failed
=no
3040 cc_check
&& _mman_has_map_failed
=yes
3041 if test "$_mman_has_map_failed" = yes ; then
3042 _def_mman_has_map_failed
=''
3044 _def_mman_has_map_failed
='#define MAP_FAILED ((void *) -1)'
3047 echocheck
"dynamic loader"
3051 int main(void) { dlopen(NULL, 0); dlclose(NULL); dlsym(NULL, NULL); return 0; }
3054 for _ld_tmp
in "" "-ldl" ; do
3055 cc_check
$_ld_tmp && _ld_dl
="$_ld_tmp" && _dl
=yes && break
3057 if test "$_dl" = yes ; then
3058 _def_dl
='#define HAVE_LIBDL 1'
3060 _def_dl
='#undef HAVE_LIBDL'
3065 echocheck
"dynamic a/v plugins support"
3066 if test "$_dl" = no
; then
3069 if test "$_dynamic_plugins" = yes ; then
3070 _def_dynamic_plugins
='#define DYNAMIC_PLUGINS 1'
3072 _def_dynamic_plugins
='#undef DYNAMIC_PLUGINS'
3074 echores
"$_dynamic_plugins"
3077 _def_threads
='#undef HAVE_THREADS'
3080 if test "$_pthreads" = auto
; then
3082 #include <pthread.h>
3083 void* func(void *arg) { return arg; }
3084 int main(void) { pthread_t tid; return pthread_create (&tid, 0, func, 0) == 0 ? 0 : 1; }
3088 for _ld_tmp
in "-lpthreadGC2" "" "-lpthread" "-pthread" ; do
3089 # for crosscompilation, we cannot execute the program, be happy if we can link statically
3090 cc_check
$_ld_tmp && (tmp_run ||
test "$_ld_static") && _ld_pthread
="$_ld_tmp" && _pthreads
=yes && break
3094 if test "$_pthreads" = yes ; then
3095 _res_comment
="using $_ld_pthread"
3096 _def_pthreads
='#define HAVE_PTHREADS 1'
3097 _def_threads
='#define HAVE_THREADS 1'
3099 _res_comment
="v4l, v4l2, ao_nas, win32 loader disabled"
3100 _def_pthreads
='#undef HAVE_PTHREADS'
3101 _nas
=no
; _tv_v4l1
=no
; _tv_v4l2
=no
3102 mingw32 || _win32dll
=no
3104 echores
"$_pthreads"
3106 echocheck
"w32threads"
3107 if test "$_pthreads" = yes ; then
3108 _res_comment
="using pthread instead"
3111 if test "$_w32threads" = auto
; then
3113 mingw32
&& _w32threads
=yes
3115 test "$_w32threads" = yes && _def_threads
='#define HAVE_THREADS 1'
3116 echores
"$_w32threads"
3120 if test "$_rpath" = yes ; then
3121 for I
in `echo $_ld_extra | sed 's/-L//g'` ; do
3122 tmp
="$tmp ` echo $I | sed 's/.*/ -L& -Wl,-R&/'`"
3129 if test "$_iconv" = auto
; then
3134 #define INBUFSIZE 1024
3135 #define OUTBUFSIZE 4096
3137 char inbuffer[INBUFSIZE];
3138 char outbuffer[OUTBUFSIZE];
3143 char *tocode="UTF-8";
3144 char *fromcode="cp1250";
3145 if ((icdsc = iconv_open (tocode, fromcode)) != (iconv_t)(-1)) {
3146 while ((numread = read (0, inbuffer, INBUFSIZE))) {
3147 char *iptr=inbuffer;
3148 char *optr=outbuffer;
3149 size_t inleft=numread;
3150 size_t outleft=OUTBUFSIZE;
3151 if (iconv(icdsc, (const char **)&iptr, &inleft, &optr, &outleft)
3153 write (1, outbuffer, OUTBUFSIZE - outleft);
3156 if (iconv_close(icdsc) == -1)
3163 for _ld_tmp
in "" "-liconv" "-liconv $_ld_dl" ; do
3164 cc_check
$_ld_lm $_ld_tmp && _ld_extra
="$_ld_extra $_ld_tmp" && \
3168 if test "$_iconv" = yes ; then
3169 _def_iconv
='#define CONFIG_ICONV 1'
3171 _def_iconv
='#undef CONFIG_ICONV'
3176 echocheck
"soundcard.h"
3178 _def_soundcard
='#undef HAVE_SOUNDCARD_H'
3179 _def_sys_soundcard
='#undef HAVE_SYS_SOUNDCARD_H'
3180 for _soundcard_header
in "sys/soundcard.h" "soundcard.h"; do
3182 #include <$_soundcard_header>
3183 int main(void) { return 0; }
3185 cc_check
&& _soundcard_h
=yes && _res_comment
="$_soundcard_header" && break
3188 if test "$_soundcard_h" = yes ; then
3189 if test $_soundcard_header = "sys/soundcard.h"; then
3190 _def_sys_soundcard
='#define HAVE_SYS_SOUNDCARD_H 1'
3192 _def_soundcard
='#define HAVE_SOUNDCARD_H 1'
3195 echores
"$_soundcard_h"
3198 echocheck
"sys/dvdio.h"
3201 #include <sys/dvdio.h>
3202 int main(void) { return 0; }
3205 cc_check
&& _dvdio
=yes
3206 if test "$_dvdio" = yes ; then
3207 _def_dvdio
='#define DVD_STRUCT_IN_SYS_DVDIO_H 1'
3209 _def_dvdio
='#undef DVD_STRUCT_IN_SYS_DVDIO_H'
3214 echocheck
"sys/cdio.h"
3217 #include <sys/cdio.h>
3218 int main(void) { return 0; }
3221 cc_check
&& _cdio
=yes
3222 if test "$_cdio" = yes ; then
3223 _def_cdio
='#define DVD_STRUCT_IN_SYS_CDIO_H 1'
3225 _def_cdio
='#undef DVD_STRUCT_IN_SYS_CDIO_H'
3230 echocheck
"linux/cdrom.h"
3232 #include <sys/types.h>
3233 #include <linux/cdrom.h>
3234 int main(void) { return 0; }
3237 cc_check
&& _cdrom
=yes
3238 if test "$_cdrom" = yes ; then
3239 _def_cdrom
='#define DVD_STRUCT_IN_LINUX_CDROM_H 1'
3241 _def_cdrom
='#undef DVD_STRUCT_IN_LINUX_CDROM_H'
3249 int main(void) { return 0; }
3252 cc_check
&& _dvd
=yes
3253 if test "$_dvd" = yes ; then
3254 _def_dvd
='#define DVD_STRUCT_IN_DVD_H 1'
3256 _def_dvd
='#undef DVD_STRUCT_IN_DVD_H'
3262 echocheck
"BSDI dvd.h"
3265 int main(void) { return 0; }
3268 cc_check
&& _bsdi_dvd
=yes
3269 if test "$_bsdi_dvd" = yes ; then
3270 _def_bsdi_dvd
='#define DVD_STRUCT_IN_BSDI_DVDIOCTL_DVD_H 1'
3272 _def_bsdi_dvd
='#undef DVD_STRUCT_IN_BSDI_DVDIOCTL_DVD_H'
3274 echores
"$_bsdi_dvd"
3279 # also used by AIX, but AIX does not support VCD and/or libdvdread
3280 echocheck
"HP-UX SCSI header"
3282 #include <sys/scsi.h>
3283 int main(void) { return 0; }
3286 cc_check
&& _hpux_scsi_h
=yes
3287 if test "$_hpux_scsi_h" = yes ; then
3288 _def_hpux_scsi_h
='#define HPUX_SCTL_IO 1'
3290 _def_hpux_scsi_h
='#undef HPUX_SCTL_IO'
3292 echores
"$_hpux_scsi_h"
3297 echocheck
"userspace SCSI headers (Solaris)"
3300 #include <stropts.h>
3301 #include <sys/scsi/scsi_types.h>
3302 #include <sys/scsi/impl/uscsi.h>
3303 int main(void) { return 0; }
3306 cc_check
&& _sol_scsi_h
=yes
3307 if test "$_sol_scsi_h" = yes ; then
3308 _def_sol_scsi_h
='#define SOLARIS_USCSI 1'
3310 _def_sol_scsi_h
='#undef SOLARIS_USCSI'
3312 echores
"$_sol_scsi_h"
3317 if test "$_termcap" = auto
; then
3321 int main(void) { tgetent(NULL, NULL); return 0; }
3324 for _ld_tmp
in "-lncurses" "-ltinfo" "-ltermcap"; do
3325 cc_check
$_ld_tmp && _ld_extra
="$_ld_extra $_ld_tmp" \
3326 && _termcap
=yes && break
3329 if test "$_termcap" = yes ; then
3330 _def_termcap
='#define CONFIG_TERMCAP 1'
3331 _res_comment
="using $_ld_tmp"
3333 _def_termcap
='#undef CONFIG_TERMCAP'
3339 _def_termios
='#undef HAVE_TERMIOS'
3340 _def_termios_h
='#undef HAVE_TERMIOS_H'
3341 _def_termios_sys_h
='#undef HAVE_SYS_TERMIOS_H'
3342 if test "$_termios" = auto
; then
3344 for _termios_header
in "sys/termios.h" "termios.h"; do
3346 #include <$_termios_header>
3347 int main(void) { return 0; }
3349 cc_check
&& _termios
=yes && _res_comment
="$_termios_header" && break
3353 if test "$_termios" = yes ; then
3354 _def_termios
='#define HAVE_TERMIOS 1'
3355 if test "$_termios_header" = "termios.h" ; then
3356 _def_termios_h
='#define HAVE_TERMIOS_H 1'
3358 _def_termios_sys_h
='#define HAVE_SYS_TERMIOS_H 1'
3365 if test "$_shm" = auto
; then
3367 #include <sys/types.h>
3368 #include <sys/shm.h>
3369 int main(void) { shmget(0, 0, 0); shmat(0, 0, 0); shmctl(0, 0, 0); return 0; }
3372 cc_check
&& _shm
=yes
3374 if test "$_shm" = yes ; then
3375 _def_shm
='#define HAVE_SHM 1'
3377 _def_shm
='#undef HAVE_SHM'
3382 echocheck
"strsep()"
3385 int main(void) { char *s = "Hello, world!"; (void) strsep(&s, ","); return 0; }
3388 cc_check
&& _strsep
=yes
3389 if test "$_strsep" = yes ; then
3390 _def_strsep
='#define HAVE_STRSEP 1'
3393 _def_strsep
='#undef HAVE_STRSEP'
3399 echocheck
"vsscanf()"
3402 int main(void) { vsscanf(0, 0, 0); return 0; }
3405 cc_check
&& _vsscanf
=yes
3406 if test "$_vsscanf" = yes ; then
3407 _def_vsscanf
='#define HAVE_VSSCANF 1'
3410 _def_vsscanf
='#undef HAVE_VSSCANF'
3419 int main(void) { swab(0, 0, 0); return 0; }
3422 cc_check
&& _swab
=yes
3423 if test "$_swab" = yes ; then
3424 _def_swab
='#define HAVE_SWAB 1'
3427 _def_swab
='#undef HAVE_SWAB'
3432 echocheck
"POSIX select()"
3436 #include <sys/types.h>
3438 #include <sys/time.h>
3440 int main(void) {int nfds = 1; fd_set readfds; struct timeval timeout; select(nfds,&readfds,NULL,NULL,&timeout); return 0; }
3443 _def_posix_select
='#undef HAVE_POSIX_SELECT'
3444 #select() of kLIBC (OS/2) supports socket only
3445 ! os2
&& cc_check
&& _posix_select
=yes \
3446 && _def_posix_select
='#define HAVE_POSIX_SELECT 1'
3447 echores
"$_posix_select"
3450 echocheck
"gettimeofday()"
3453 #include <sys/time.h>
3454 int main(void) {struct timeval tv_start; gettimeofday(&tv_start, NULL); return 0; }
3457 cc_check
&& _gettimeofday
=yes
3458 if test "$_gettimeofday" = yes ; then
3459 _def_gettimeofday
='#define HAVE_GETTIMEOFDAY 1'
3460 _need_gettimeofday
=no
3462 _def_gettimeofday
='#undef HAVE_GETTIMEOFDAY'
3463 _need_gettimeofday
=yes
3465 echores
"$_gettimeofday"
3472 int main(void) { glob_t gg; glob("filename",0,NULL,&gg); return 0; }
3475 cc_check
&& _glob
=yes
3476 if test "$_glob" = yes ; then
3477 _def_glob
='#define HAVE_GLOB 1'
3480 _def_glob
='#undef HAVE_GLOB'
3486 echocheck
"setenv()"
3489 int main(void) { setenv("","",0); return 0; }
3492 cc_check
&& _setenv
=yes
3493 if test "$_setenv" = yes ; then
3494 _def_setenv
='#define HAVE_SETENV 1'
3497 _def_setenv
='#undef HAVE_SETENV'
3504 echocheck
"sysi86()"
3506 #include <sys/sysi86.h>
3507 int main(void) { sysi86(0); return 0; }
3510 cc_check
&& _sysi86
=yes
3511 if test "$_sysi86" = yes ; then
3512 _def_sysi86
='#define HAVE_SYSI86 1'
3514 #include <sys/sysi86.h>
3515 int main(void) { int sysi86(int, void*); sysi86(0); return 0; }
3517 cc_check
&& _def_sysi86_iv
='#define HAVE_SYSI86_iv 1'
3519 _def_sysi86
='#undef HAVE_SYSI86'
3525 echocheck
"sys/sysinfo.h"
3527 #include <sys/sysinfo.h>
3529 struct sysinfo s_info;
3535 cc_check
&& _sys_sysinfo
=yes
3536 if test "$_sys_sysinfo" = yes ; then
3537 _def_sys_sysinfo
='#define HAVE_SYS_SYSINFO_H 1'
3539 _def_sys_sysinfo
='#undef HAVE_SYS_SYSINFO_H'
3541 echores
"$_sys_sysinfo"
3546 echocheck
"Mac OS X APIs"
3547 if test "$_macosx" = auto
; then
3548 productName
=`/usr/bin/sw_vers -productName`
3549 if test "$productName" = "Mac OS X" ||
3550 test "$productName" = "Mac OS X Server" ; then
3554 _noaomodules
="macosx $_noaomodules"
3555 _novomodules
="quartz $_novomodules"
3558 if test "$_macosx" = yes ; then
3560 #include <Carbon/Carbon.h>
3561 #include <QuickTime/QuickTime.h>
3562 #include <CoreAudio/CoreAudio.h>
3566 CFRunLoopRunInMode(kCFRunLoopDefaultMode, 0, false);
3570 if cc_check
-framework Carbon
-framework QuickTime
-framework CoreAudio
; then
3571 _ld_extra
="$_ld_extra -framework Carbon -framework QuickTime -framework CoreAudio -framework AudioUnit -framework AudioToolbox"
3573 _def_coreaudio
='#define HAVE_COREAUDIO 1'
3574 _aosrc
="$_aosrc ao_macosx.c"
3575 _aomodules
="macosx $_aomodules"
3576 _def_quartz
='#define HAVE_QUARTZ 1'
3577 _vosrc
="$_vosrc vo_quartz.c"
3578 _vomodules
="quartz $_vomodules"
3579 _def_quicktime
='#define HAVE_QUICKTIME 1'
3583 _def_coreaudio
='#undef HAVE_COREAUDIO'
3584 _noaomodules
="macosx $_noaomodules"
3585 _def_quartz
='#undef HAVE_QUARTZ'
3586 _novomodules
="quartz $_novomodules"
3587 _def_quicktime
='#undef HAVE_QUICKTIME'
3590 #include <Carbon/Carbon.h>
3591 #include <QuartzCore/CoreVideo.h>
3592 int main(void) { return 0; }
3594 if cc_check
-framework Carbon
-framework QuartzCore
-framework OpenGL
; then
3595 _vosrc
="$_vosrc vo_macosx.m"
3596 _vomodules
="macosx $_vomodules"
3597 _ld_extra
="$_ld_extra -framework Cocoa -framework QuartzCore -framework OpenGL"
3598 _def_corevideo
='#define HAVE_COREVIDEO 1'
3601 _novomodules
="macosx $_novomodules"
3602 _def_corevideo
='#undef HAVE_COREVIDEO'
3608 echocheck
"Mac OS X Finder Support"
3609 if test "$_macosx_finder_support" = auto
; then
3610 _macosx_finder_support
=$_macosx
3612 if test "$_macosx_finder_support" = yes; then
3613 _def_macosx_finder_support
='#define MACOSX_FINDER_SUPPORT 1'
3614 _macosx_finder_support
=yes
3616 _def_macosx_finder_support
='#undef MACOSX_FINDER_SUPPORT'
3617 _macosx_finder_support
=no
3619 echores
"$_macosx_finder_support"
3621 echocheck
"Mac OS X Bundle file locations"
3622 if test "$_macosx_bundle" = auto
; then
3623 _macosx_bundle
=$_macosx_finder_support
3625 if test "$_macosx_bundle" = yes; then
3626 _def_macosx_bundle
='#define MACOSX_BUNDLE 1'
3628 _def_macosx_bundle
='#undef MACOSX_BUNDLE'
3631 echores
"$_macosx_bundle"
3633 echocheck
"Apple Remote"
3634 if test "$_apple_remote" = auto
; then
3638 #include <IOKit/IOCFPlugIn.h>
3640 io_iterator_t hidObjectIterator = (io_iterator_t)NULL;
3641 CFMutableDictionaryRef hidMatchDictionary;
3642 IOReturn ioReturnValue;
3644 // Set up a matching dictionary to search the I/O Registry by class.
3645 // name for all HID class devices
3646 hidMatchDictionary = IOServiceMatching("AppleIRController");
3648 // Now search I/O Registry for matching devices.
3649 ioReturnValue = IOServiceGetMatchingServices(kIOMasterPortDefault,
3650 hidMatchDictionary, &hidObjectIterator);
3652 // If search is unsuccessful, return nonzero.
3653 if (ioReturnValue != kIOReturnSuccess ||
3654 !IOIteratorIsValid(hidObjectIterator)) {
3660 cc_check
-framework IOKit
&& tmp_run
&& _apple_remote
=yes
3662 if test "$_apple_remote" = yes ; then
3663 _def_apple_remote
='#define HAVE_APPLE_REMOTE 1'
3664 _ld_extra
="$_ld_extra -framework IOKit"
3666 _def_apple_remote
='#undef HAVE_APPLE_REMOTE'
3668 echores
"$_apple_remote"
3674 echocheck
"Apple IR"
3675 if test "$_apple_ir" = auto
; then
3678 #include <linux/types.h>
3679 #include <linux/input.h>
3681 struct input_event ev;
3686 cc_check
&& tmp_run
&& _apple_ir
=yes
3688 if test "$_apple_ir" = yes ; then
3689 _def_apple_ir
='#define HAVE_APPLE_IR 1'
3691 _def_apple_ir
='#undef HAVE_APPLE_IR'
3693 echores
"$_apple_ir"
3696 echocheck
"pkg-config"
3697 _pkg_config
=pkg-config
3698 if `$_pkg_config --version > /dev/null 2>&1`; then
3699 if test "$_ld_static"; then
3700 _pkg_config
="$_pkg_config --static"
3709 echocheck
"Samba support (libsmbclient)"
3710 if test "$_smbsupport" = yes; then
3711 _ld_extra
="$_ld_extra -lsmbclient"
3713 if test "$_smbsupport" = auto
; then
3716 #include <libsmbclient.h>
3717 int main(void) { smbc_opendir("smb://"); return 0; }
3719 for _ld_tmp
in "-lsmbclient" "-lsmbclient $_ld_dl" "-lsmbclient $_ld_dl -lnsl" "-lsmbclient $_ld_dl -lssl -lnsl" ; do
3720 cc_check
$_ld_tmp && _ld_extra
="$_ld_extra $_ld_tmp" && \
3721 _smbsupport
=yes && break
3725 if test "$_smbsupport" = yes; then
3726 _def_smbsupport
="#define LIBSMBCLIENT"
3727 _inputmodules
="smb $_inputmodules"
3729 _def_smbsupport
="#undef LIBSMBCLIENT"
3730 _noinputmodules
="smb $_noinputmodules"
3732 echores
"$_smbsupport"
3741 if test "$_tdfxfb" = yes ; then
3742 _def_tdfxfb
='#define HAVE_TDFXFB 1'
3743 _vosrc
="$_vosrc vo_tdfxfb.c"
3744 _vomodules
="tdfxfb $_vomodules"
3746 _def_tdfxfb
='#undef HAVE_TDFXFB'
3747 _novomodules
="tdfxfb $_novomodules"
3752 if test "$_s3fb" = yes ; then
3753 _def_s3fb
='#define HAVE_S3FB 1'
3754 _vosrc
="$_vosrc vo_s3fb.c"
3755 _vomodules
="s3fb $_vomodules"
3757 _def_s3fb
='#undef HAVE_S3FB'
3758 _novomodules
="s3fb $_novomodules"
3763 if test "$_tdfxvid" = yes ; then
3764 _def_tdfxvid
='#define HAVE_TDFX_VID 1'
3765 _vosrc
="$_vosrc vo_tdfx_vid.c"
3766 _vomodules
="tdfx_vid $_vomodules"
3768 _def_tdfxvid
='#undef HAVE_TDFX_VID'
3769 _novomodules
="tdfx_vid $_novomodules"
3774 if test "$_xvr100" = auto
; then
3777 #include <sys/fbio.h>
3778 #include <sys/visual_io.h>
3780 struct vis_identifier ident;
3781 struct fbgattr attr;
3782 ioctl(0, VIS_GETIDENTIFIER, &ident);
3783 ioctl(0, FBIOGATTR, &attr);
3788 cc_check
&& _xvr100
=yes
3790 if test "$_xvr100" = yes ; then
3791 _def_xvr100
='#define HAVE_XVR100 1'
3792 _vosrc
="$_vosrc vo_xvr100.c"
3793 _vomodules
="xvr100 $_vomodules"
3795 _def_tdfxvid
='#undef HAVE_XVR100'
3796 _novomodules
="xvr100 $_novomodules"
3801 if test "$_tga" = yes ; then
3802 _def_tga
='#define HAVE_TGA 1'
3803 _vosrc
="$_vosrc vo_tga.c"
3804 _vomodules
="tga $_vomodules"
3806 _def_tga
='#undef HAVE_TGA'
3807 _novomodules
="tga $_novomodules"
3812 echocheck
"md5sum support"
3813 if test "$_md5sum" = yes; then
3814 _def_md5sum
="#define HAVE_MD5SUM"
3815 _vosrc
="$_vosrc vo_md5sum.c"
3816 _vomodules
="md5sum $_vomodules"
3818 _def_md5sum
="#undef HAVE_MD5SUM"
3819 _novomodules
="md5sum $_novomodules"
3824 echocheck
"yuv4mpeg support"
3825 if test "$_yuv4mpeg" = yes; then
3826 _def_yuv4mpeg
="#define HAVE_YUV4MPEG"
3827 _vosrc
="$_vosrc vo_yuv4mpeg.c"
3828 _vomodules
="yuv4mpeg $_vomodules"
3830 _def_yuv4mpeg
="#undef HAVE_YUV4MPEG"
3831 _novomodules
="yuv4mpeg $_novomodules"
3833 echores
"$_yuv4mpeg"
3837 if test "$_bl" = yes ; then
3838 _def_bl
='#define HAVE_BL 1'
3839 _vosrc
="$_vosrc vo_bl.c"
3840 _vomodules
="bl $_vomodules"
3842 _def_bl
='#undef HAVE_BL'
3843 _novomodules
="bl $_novomodules"
3848 echocheck
"DirectFB"
3849 if test "$_directfb" = auto
; then
3852 #include <directfb.h>
3853 int main(void) { IDirectFB *foo; DirectFBInit(0,0); return 0; }
3855 for _inc_tmp
in "" -I/usr
/local
/include
/directfb \
3856 -I/usr
/include
/directfb
-I/usr
/local
/include
; do
3857 cc_check
$_inc_tmp -ldirectfb && _directfb
=yes && \
3858 _inc_extra
="$_inc_extra $_inc_tmp" && break
3863 expr $1 \
* 65536 + $2 \
* 256 + $3
3866 if test "$_directfb" = yes; then
3868 #include <directfb_version.h>
3870 dfb_ver = DIRECTFB_MAJOR_VERSION.DIRECTFB_MINOR_VERSION.DIRECTFB_MICRO_VERSION
3873 if $_cc -E $TMPC $_inc_extra > "$TMPEXE"; then
3874 _directfb_version
=`sed -n 's/^dfb_ver[^0-9]*\(.*\)/\1/p' "$TMPEXE" | tr -d '()'`
3875 _dfb_major
=`echo $_directfb_version | cut -d . -f 1`
3876 _dfb_minor
=`echo $_directfb_version | cut -d . -f 2`
3877 _dfb_micro
=`echo $_directfb_version | cut -d . -f 3`
3878 _dfb_version
=`dfb_version $_dfb_major $_dfb_minor $_dfb_micro`
3879 if test "$_dfb_version" -ge `dfb_version 0 9 13`; then
3880 _def_directfb_version
="#define DIRECTFBVERSION $_dfb_version"
3881 _res_comment
="$_directfb_version"
3882 test "$_dfb_version" -ge `dfb_version 0 9 15` && _dfbmga
=yes
3884 _def_directfb_version
='#undef DIRECTFBVERSION'
3886 _res_comment
="version >=0.9.13 required"
3890 _res_comment
="failed to get version"
3893 echores
"$_directfb"
3895 if test "$_directfb" = yes ; then
3896 _def_directfb
='#define HAVE_DIRECTFB 1'
3897 _vosrc
="$_vosrc vo_directfb2.c"
3898 _vomodules
="directfb $_vomodules"
3899 _libs_mplayer
="$_libs_mplayer -ldirectfb"
3901 _def_directfb
='#undef HAVE_DIRECTFB'
3902 _novomodules
="directfb $_novomodules"
3904 if test "$_dfbmga" = yes; then
3905 _vosrc
="$_vosrc vo_dfbmga.c"
3906 _vomodules
="dfbmga $_vomodules"
3907 _def_dfbmga
='#define HAVE_DFBMGA 1'
3909 _novomodules
="dfbmga $_novomodules"
3910 _def_dfbmga
='#undef HAVE_DFBMGA'
3914 echocheck
"X11 headers presence"
3916 _res_comment
="check if the dev(el) packages are installed"
3917 for I
in `echo $_inc_extra | sed s/-I//g` /usr
/include
; do
3918 if test -f "$I/X11/Xlib.h" ; then
3924 if test $_cross_compile = no
; then
3925 for I
in /usr
/X11
/include
/usr
/X11R
6/include
/usr
/include
/X11R6
/usr
/openwin
/include
; do
3926 if test -f "$I/X11/Xlib.h" ; then
3927 _inc_extra
="$_inc_extra -I$I"
3929 _res_comment
="using $I"
3934 echores
"$_x11_headers"
3938 if test "$_x11" = auto
&& test "$_x11_headers" = yes ; then
3940 #include <X11/Xlib.h>
3941 #include <X11/Xutil.h>
3942 int main(void) { (void) XCreateWindow(0,0,0,0,0,0,0,0,0,0,0,0); return 0; }
3944 for I
in "" -L/usr
/X11R
6/lib
-L/usr
/lib
/X11R6
-L/usr
/X11
/lib \
3945 -L/usr
/lib32
-L/usr
/openwin
/lib
-L/usr
/X11R
6/lib64
-L/usr
/lib
; do
3947 _ld_tmp
="$I -lXext -lX11 $_ld_pthread -Wl,-R`echo $I | sed s/^-L//`"
3949 _ld_tmp
="$I -lXext -lX11 $_ld_pthread"
3951 cc_check
$_ld_tmp && _libs_mplayer
="$_libs_mplayer $_ld_tmp" \
3952 && _x11
=yes && break
3955 if test "$_x11" = yes ; then
3956 _def_x11
='#define HAVE_X11 1'
3957 _vosrc
="$_vosrc x11_common.c vo_x11.c vo_xover.c"
3958 _vomodules
="x11 xover $_vomodules"
3961 _def_x11
='#undef HAVE_X11'
3962 _novomodules
="x11 $_novomodules"
3963 _res_comment
="check if the dev(el) packages are installed"
3964 # disable stuff that depends on X
3965 _xv
=no
; _xvmc
=no
; _xinerama
=no
; _vm
=no
; _xf86keysym
=no
3969 echocheck
"Xss screensaver extensions"
3970 if test "$_xss" = auto
; then
3972 #include <X11/Xlib.h>
3973 #include <X11/extensions/scrnsaver.h>
3974 int main(void) { XScreenSaverSuspend(NULL, True); return 0; }
3977 cc_check
-lXss && _xss
=yes
3979 if test "$_xss" = yes ; then
3980 _def_xss
='#define HAVE_XSS 1'
3981 _libs_mplayer
="$_libs_mplayer -lXss"
3983 _def_xss
='#undef HAVE_XSS'
3990 if test "$_x11" = yes ; then
3992 #include <X11/Xmd.h>
3993 #include <X11/Xlib.h>
3994 #include <X11/Xutil.h>
3995 #include <X11/Xatom.h>
3996 #include <X11/extensions/dpms.h>
3997 int main(void) { (void) DPMSQueryExtension(0, 0, 0); return 0; }
3999 cc_check
-lXdpms && _xdpms3
=yes
4001 #include <X11/Xlib.h>
4002 #include <X11/extensions/dpms.h>
4003 int main(void) { (void) DPMSQueryExtension(0, 0, 0); return 0; }
4005 cc_check
-lXext && _xdpms4
=yes
4007 if test "$_xdpms4" = yes ; then
4008 _def_xdpms
='#define HAVE_XDPMS 1'
4009 _res_comment
="using Xdpms 4"
4011 elif test "$_xdpms3" = yes ; then
4012 _def_xdpms
='#define HAVE_XDPMS 1'
4013 _libs_mplayer
="$_libs_mplayer -lXdpms"
4014 _res_comment
="using Xdpms 3"
4017 _def_xdpms
='#undef HAVE_XDPMS'
4023 if test "$_xv" = auto
; then
4025 #include <X11/Xlib.h>
4026 #include <X11/extensions/Xvlib.h>
4028 (void) XvGetPortAttribute(0, 0, 0, 0);
4029 (void) XvQueryPortAttributes(0, 0, 0);
4033 cc_check
-lXv && _xv
=yes
4036 if test "$_xv" = yes ; then
4037 _def_xv
='#define HAVE_XV 1'
4038 _libs_mplayer
="$_libs_mplayer -lXv"
4039 _vosrc
="$_vosrc vo_xv.c"
4040 _vomodules
="xv $_vomodules"
4042 _def_xv
='#undef HAVE_XV'
4043 _novomodules
="xv $_novomodules"
4049 if test "$_xv" = yes && test "$_xvmc" != no
; then
4052 #include <X11/Xlib.h>
4053 #include <X11/extensions/Xvlib.h>
4054 #include <X11/extensions/XvMClib.h>
4056 (void) XvMCQueryExtension(0,0,0);
4057 (void) XvMCCreateContext(0,0,0,0,0,0,0);
4060 for _ld_tmp
in $_xvmclib XvMCNVIDIA XvMCW I810XvMC
; do
4061 cc_check
-lXvMC -l$_ld_tmp && _xvmc
=yes && _xvmclib
="$_ld_tmp" && break
4064 if test "$_xvmc" = yes ; then
4065 _def_xvmc
='#define HAVE_XVMC 1'
4066 _libs_mplayer
="$_libs_mplayer -lXvMC -l$_xvmclib"
4067 _vosrc
="$_vosrc vo_xvmc.c"
4068 _vomodules
="xvmc $_vomodules"
4069 _res_comment
="using $_xvmclib"
4071 _def_xvmc
='#undef HAVE_XVMC'
4072 _novomodules
="xvmc $_novomodules"
4073 _libavdecoders
=`echo $_libavdecoders | sed -e s/MPEG_XVMC_DECODER// `
4078 echocheck
"Xinerama"
4079 if test "$_xinerama" = auto
; then
4081 #include <X11/Xlib.h>
4082 #include <X11/extensions/Xinerama.h>
4083 int main(void) { (void) XineramaIsActive(0); return 0; }
4086 cc_check
-lXinerama && _xinerama
=yes
4089 if test "$_xinerama" = yes ; then
4090 _def_xinerama
='#define HAVE_XINERAMA 1'
4091 _libs_mplayer
="$_libs_mplayer -lXinerama"
4093 _def_xinerama
='#undef HAVE_XINERAMA'
4095 echores
"$_xinerama"
4098 # Note: the -lXxf86vm library is the VideoMode extension and though it's not
4099 # needed for DGA, AFAIK every distribution packages together with DGA stuffs
4100 # named 'X extensions' or something similar.
4101 # This check may be useful for future mplayer versions (to change resolution)
4102 # If you run into problems, remove '-lXxf86vm'.
4104 if test "$_vm" = auto
; then
4106 #include <X11/Xlib.h>
4107 #include <X11/extensions/xf86vmode.h>
4108 int main(void) { (void) XF86VidModeQueryExtension(0, 0, 0); return 0; }
4111 cc_check
-lXxf86vm && _vm
=yes
4113 if test "$_vm" = yes ; then
4114 _def_vm
='#define HAVE_XF86VM 1'
4115 _libs_mplayer
="$_libs_mplayer -lXxf86vm"
4117 _def_vm
='#undef HAVE_XF86VM'
4121 # Check for the presence of special keycodes, like audio control buttons
4122 # that XFree86 might have. Used to be bundled with the xf86vm check, but
4123 # has nothing to do with xf86vm and XFree 3.x has xf86vm but does NOT
4124 # have these new keycodes.
4125 echocheck
"XF86keysym"
4126 if test "$_xf86keysym" = auto
; then
4129 #include <X11/Xlib.h>
4130 #include <X11/XF86keysym.h>
4131 int main(void) { return XF86XK_AudioPause; }
4133 cc_check
&& _xf86keysym
=yes
4135 if test "$_xf86keysym" = yes ; then
4136 _def_xf86keysym
='#define HAVE_XF86XK 1'
4138 _def_xf86keysym
='#undef HAVE_XF86XK'
4140 echores
"$_xf86keysym"
4143 if test "$_dga2" = auto
&& test "$_x11" = yes ; then
4145 #include <X11/Xlib.h>
4146 #include <X11/extensions/xf86dga.h>
4147 int main(void) { (void) XDGASetViewport(0, 0, 0, 0, 0); return 0; }
4150 cc_check
-lXxf86dga && _dga2
=yes
4152 if test "$_dga1" = auto
&& test "$_dga2" = no
&& test "$_vm" = yes ; then
4154 #include <X11/Xlib.h>
4155 #include <X11/extensions/xf86dga.h>
4156 int main(void) { (void) XF86DGASetViewPort(0, 0, 0, 0); return 0; }
4159 cc_check
-lXxf86dga -lXxf86vm && _dga1
=yes
4163 _def_dga
='#undef HAVE_DGA'
4164 _def_dga1
='#undef HAVE_DGA1'
4165 _def_dga2
='#undef HAVE_DGA2'
4166 if test "$_dga1" = yes ; then
4168 _def_dga1
='#define HAVE_DGA1 1'
4169 _res_comment
="using DGA 1.0"
4170 elif test "$_dga2" = yes ; then
4172 _def_dga2
='#define HAVE_DGA2 1'
4173 _res_comment
="using DGA 2.0"
4175 if test "$_dga" = yes ; then
4176 _def_dga
='#define HAVE_DGA 1'
4177 _libs_mplayer
="$_libs_mplayer -lXxf86dga"
4178 _vosrc
="$_vosrc vo_dga.c"
4179 _vomodules
="dga $_vomodules"
4181 _novomodules
="dga $_novomodules"
4187 if test "$_3dfx" = yes && test "$_dga" = yes ; then
4188 _def_3dfx
='#define HAVE_3DFX 1'
4189 _vosrc
="$_vosrc vo_3dfx.c"
4190 _vomodules
="3dfx $_vomodules"
4192 _def_3dfx
='#undef HAVE_3DFX'
4193 _novomodules
="3dfx $_novomodules"
4199 #Note: this test is run even with --enable-gl since we autodetect linker flags
4200 if (test "$_x11" = yes || win32
) && test "$_gl" != no
; then
4204 #include <windows.h>
4205 #include <GL/glext.h>
4207 #include <X11/Xlib.h>
4213 wglCreateContext(dc);
4215 glXCreateContext(NULL, NULL, NULL, True);
4222 if cc_check
-lGL $_ld_lm ; then
4224 _libs_mplayer
="$_libs_mplayer -lGL $_ld_dl"
4225 elif cc_check
-lGL $_ld_lm $_ld_pthread ; then
4227 _libs_mplayer
="$_libs_mplayer -lGL $_ld_pthread $_ld_dl"
4228 elif cc_check
-DGL_WIN32 -lopengl32 ; then
4231 _libs_mplayer
="$_libs_mplayer -lopengl32 -lgdi32"
4236 if test "$_gl" = yes ; then
4237 _def_gl
='#define HAVE_GL 1'
4238 _vosrc
="$_vosrc vo_gl.c vo_gl2.c gl_common.c"
4239 if test "$_gl_win32" = yes ; then
4240 _def_gl_win32
='#define GL_WIN32 1'
4241 _vosrc
="$_vosrc w32_common.c"
4242 _res_comment
="win32 version"
4244 _vomodules
="opengl $_vomodules"
4246 _def_gl
='#undef HAVE_GL'
4247 _def_gl_win32
='#undef GL_WIN32'
4248 _novomodules
="opengl $_novomodules"
4254 _def_vidix
='#undef CONFIG_VIDIX'
4255 _def_vidix_drv_cyberblade
='#undef CONFIG_VIDIX_DRV_CYBERBLADE'
4256 _vidix_drv_cyberblade
=no
4257 _def_vidix_drv_ivtv
='#undef CONFIG_VIDIX_DRV_IVTV'
4259 _def_vidix_drv_ivtv
='#undef CONFIG_VIDIX_DRV_IVTV'
4261 _def_vidix_drv_mach64
='#undef CONFIG_VIDIX_DRV_MACH64'
4262 _vidix_drv_mach64
=no
4263 _def_vidix_drv_mga
='#undef CONFIG_VIDIX_DRV_MGA'
4265 _def_vidix_drv_mga_crtc2
='#undef CONFIG_VIDIX_DRV_MGA_CRTC2'
4266 _vidix_drv_mga_crtc2
=no
4267 _def_vidix_drv_nvidia
='#undef CONFIG_VIDIX_DRV_NVIDIA'
4268 _vidix_drv_nvidia
=no
4269 _def_vidix_drv_pm2
='#undef CONFIG_VIDIX_DRV_PM2'
4271 _def_vidix_drv_pm3
='#undef CONFIG_VIDIX_DRV_PM3'
4273 _def_vidix_drv_radeon
='#undef CONFIG_VIDIX_DRV_RADEON'
4274 _vidix_drv_radeon
=no
4275 _def_vidix_drv_rage128
='#undef CONFIG_VIDIX_DRV_RAGE128'
4276 _vidix_drv_rage128
=no
4277 _def_vidix_drv_s3
='#undef CONFIG_VIDIX_DRV_S3'
4279 _def_vidix_drv_sis
='#undef CONFIG_VIDIX_DRV_SIS'
4281 _def_vidix_drv_unichrome
='#undef CONFIG_VIDIX_DRV_UNICHROME'
4282 _vidix_drv_unichrome
=no
4283 if test "$_vidix" = auto
; then
4285 x86
&& (linux || freebsd || netbsd || openbsd || dragonfly || sunos || win32
) \
4287 (ppc || alpha
) && linux
&& _vidix
=yes
4291 if test "$_vidix" = yes ; then
4292 _def_vidix
='#define CONFIG_VIDIX 1'
4293 _vosrc
="$_vosrc vo_cvidix.c"
4294 _vomodules
="cvidix $_vomodules"
4295 test "$_vidix_drivers" || _vidix_drivers
="cyberblade ivtv mach64 mga mga_crtc2 nvidia pm2 pm3 radeon rage128 s3 sis unichrome"
4296 test $_ivtv = "yes" || _vidix_drivers
=`echo $_vidix_drivers | sed s/ivtv//`
4298 # some vidix drivers are meant to work on x86 only, discard them elsewhere
4299 x86 || _vidix_drivers
=`echo $_vidix_drivers | sed -e s/cyberblade// -e s/sis// -e s/unichrome// -e s/s3//`
4301 for driver
in $_vidix_drivers ; do
4302 uc_driver
=`echo $driver | tr '[a-z]' '[A-Z]'`
4303 eval _vidix_drv_
${driver}=yes
4304 eval _def_vidix_drv_
${driver}=\"\
#define CONFIG_VIDIX_DRV_${uc_driver} 1\"
4307 echocheck
"VIDIX PCI device name database"
4308 echores
"$_vidix_pcidb"
4309 if test "$_vidix_pcidb" = yes ; then
4315 echocheck
"VIDIX dhahelper support"
4316 test "$_dhahelper" = yes && cflag_dhahelper
=-DCONFIG_DHAHELPER
4317 echores
"$_dhahelper"
4319 echocheck
"VIDIX svgalib_helper support"
4320 test "$_svgalib_helper" = yes && cflag_svgalib_helper
=-DCONFIG_SVGAHELPER
4321 echores
"$_svgalib_helper"
4324 _novomodules
="cvidix $_novomodules"
4327 if test "$_vidix" = yes && win32
; then
4328 _vosrc
="$_vosrc vo_winvidix.c"
4329 _vomodules
="winvidix $_vomodules"
4330 _libs_mplayer
="$_libs_mplayer -lgdi32"
4332 _novomodules
="winvidix $_novomodules"
4334 if test "$_vidix" = yes && test "$_x11" = yes; then
4335 _vosrc
="$_vosrc vo_xvidix.c"
4336 _vomodules
="xvidix $_vomodules"
4338 _novomodules
="xvidix $_novomodules"
4341 echocheck
"/dev/mga_vid"
4342 if test "$_mga" = auto
; then
4344 test -c /dev
/mga_vid
&& _mga
=yes
4346 if test "$_mga" = yes ; then
4347 _def_mga
='#define HAVE_MGA 1'
4348 _vosrc
="$_vosrc vo_mga.c"
4349 _vomodules
="mga $_vomodules"
4351 _def_mga
='#undef HAVE_MGA'
4352 _novomodules
="mga $_novomodules"
4358 if test "$_xmga" = auto
; then
4360 test "$_x11" = yes && test "$_mga" = yes && _xmga
=yes
4362 if test "$_xmga" = yes ; then
4363 _def_xmga
='#define HAVE_XMGA 1'
4364 _vosrc
="$_vosrc vo_xmga.c"
4365 _vomodules
="xmga $_vomodules"
4367 _def_xmga
='#undef HAVE_XMGA'
4368 _novomodules
="xmga $_novomodules"
4374 if test "$_ggi" = auto
; then
4376 #include <ggi/ggi.h>
4377 int main(void) { ggiInit(); return 0; }
4380 cc_check
-lggi && _ggi
=yes
4382 if test "$_ggi" = yes ; then
4383 _def_ggi
='#define HAVE_GGI 1'
4384 _libs_mplayer
="$_libs_mplayer -lggi"
4385 _vosrc
="$_vosrc vo_ggi.c"
4386 _vomodules
="ggi $_vomodules"
4388 _def_ggi
='#undef HAVE_GGI'
4389 _novomodules
="ggi $_novomodules"
4393 echocheck
"GGI extension: libggiwmh"
4394 if test "$_ggiwmh" = auto
; then
4397 #include <ggi/ggi.h>
4398 #include <ggi/wmh.h>
4399 int main(void) { ggiInit(); ggiWmhInit(); return 0; }
4401 cc_check
-lggi -lggiwmh && _ggiwmh
=yes
4403 # needed to get right output on obscure combination
4404 # like --disable-ggi --enable-ggiwmh
4405 if test "$_ggi" = yes && test "$_ggiwmh" = yes ; then
4406 _def_ggiwmh
='#define HAVE_GGIWMH 1'
4407 _libs_mplayer
="$_libs_mplayer -lggiwmh"
4410 _def_ggiwmh
='#undef HAVE_GGIWMH'
4416 if test "$_aa" = auto
; then
4419 extern struct aa_hardware_params aa_defparams;
4420 extern struct aa_renderparams aa_defrenderparams;
4424 (void) aa_init(0, 0, 0);
4425 c = aa_autoinit(&aa_defparams);
4426 p = aa_getrenderparams();
4427 aa_autoinitkbd(c,0);
4431 for _ld_tmp
in "-laa" ; do
4432 cc_check
$_ld_tmp && _libs_mplayer
="$_libs_mplayer $_ld_tmp" && _aa
=yes && break
4435 if test "$_aa" = yes ; then
4436 _def_aa
='#define HAVE_AA 1'
4438 _libs_mplayer
="$_libs_mplayer `aalib-config --libs | cut -d " " -f 2,5,6`"
4440 _vosrc
="$_vosrc vo_aa.c"
4441 _vomodules
="aa $_vomodules"
4443 _def_aa
='#undef HAVE_AA'
4444 _novomodules
="aa $_novomodules"
4450 if test "$_caca" = auto
; then
4452 if ( caca-config
--version ) >> "$TMPLOG" 2>&1 ; then
4455 #ifdef CACA_API_VERSION_1
4458 int main(void) { (void) caca_init(); return 0; }
4460 cc_check
`caca-config --libs` && _caca
=yes
4463 if test "$_caca" = yes ; then
4464 _def_caca
='#define HAVE_CACA 1'
4465 _inc_extra
="$_inc_extra `caca-config --cflags`"
4466 _libs_mplayer
="$_libs_mplayer `caca-config --libs`"
4467 _vosrc
="$_vosrc vo_caca.c"
4468 _vomodules
="caca $_vomodules"
4470 _def_caca
='#undef HAVE_CACA'
4471 _novomodules
="caca $_novomodules"
4477 if test "$_svga" = auto
; then
4480 int main(void) { return 0; }
4483 cc_check
-lvga $_ld_lm && _svga
=yes
4485 if test "$_svga" = yes ; then
4486 _def_svga
='#define HAVE_SVGALIB 1'
4487 _libs_mplayer
="$_libs_mplayer -lvga"
4488 _vosrc
="$_vosrc vo_svga.c"
4489 _vomodules
="svga $_vomodules"
4491 _def_svga
='#undef HAVE_SVGALIB'
4492 _novomodules
="svga $_novomodules"
4498 if test "$_fbdev" = auto
; then
4502 if test "$_fbdev" = yes ; then
4503 _def_fbdev
='#define HAVE_FBDEV 1'
4504 _vosrc
="$_vosrc vo_fbdev.c vo_fbdev2.c"
4505 _vomodules
="fbdev $_vomodules"
4507 _def_fbdev
='#undef HAVE_FBDEV'
4508 _novomodules
="fbdev $_novomodules"
4515 if test "$_dvb" = auto
; then
4518 #include <sys/poll.h>
4519 #include <sys/ioctl.h>
4523 #include <ost/dmx.h>
4524 #include <ost/frontend.h>
4525 #include <ost/sec.h>
4526 #include <ost/video.h>
4527 #include <ost/audio.h>
4528 int main(void) {return 0;}
4530 for _inc_tmp
in "" "-I/usr/src/DVB/ost/include" ; do
4531 cc_check
$_inc_tmp && _dvb
=yes && \
4532 _inc_extra
="$_inc_extra $_inc_tmp" && break
4536 if test "$_dvb" = yes ; then
4537 _def_dvb
='#define HAVE_DVB 1'
4538 _def_dvb_in
='#define HAS_DVBIN_SUPPORT 1'
4539 _aomodules
="mpegpes(dvb) $_aomodules"
4540 _vomodules
="mpegpes(dvb) $_vomodules"
4543 echocheck
"DVB HEAD"
4544 if test "$_dvbhead" = auto
; then
4548 #include <sys/poll.h>
4549 #include <sys/ioctl.h>
4553 #include <linux/dvb/dmx.h>
4554 #include <linux/dvb/frontend.h>
4555 #include <linux/dvb/video.h>
4556 #include <linux/dvb/audio.h>
4557 int main(void) {return 0;}
4559 for _inc_tmp
in "" "-I/usr/src/DVB/include" ; do
4560 cc_check
$_inc_tmp && _dvbhead
=yes && \
4561 _inc_extra
="$_inc_extra $_inc_tmp" && break
4565 if test "$_dvbhead" = yes ; then
4566 _def_dvb
='#define HAVE_DVB_HEAD 1'
4567 _def_dvb_in
='#define HAS_DVBIN_SUPPORT 1'
4568 _aomodules
="mpegpes(dvb) $_aomodules"
4569 _vomodules
="mpegpes(dvb) $_vomodules"
4572 if test "$_dvbhead" = no
&& test "$_dvb" = no
; then
4573 _def_dvb
='#undef HAVE_DVB'
4574 _def_dvb_in
='#undef HAS_DVBIN_SUPPORT '
4575 _aomodules
="mpegpes(file) $_aomodules"
4576 _vomodules
="mpegpes(file) $_vomodules"
4579 if test "$_dvb" = yes ||
test "$_dvbhead" = yes ; then
4581 _inputmodules
="dvb $_inputmodules"
4584 _noinputmodules
="dvb $_noinputmodules"
4590 echocheck
"PNG support"
4591 if test "$_png" = auto
; then
4594 # Don't check for -lpng on irix since it has its own libpng
4595 # incompatible with the GNU libpng
4596 _res_comment
="disabled on irix (not GNU libpng)"
4602 printf("png.h : %s\n", PNG_LIBPNG_VER_STRING);
4603 printf("libpng: %s\n", png_libpng_ver);
4604 return strcmp(PNG_LIBPNG_VER_STRING, png_libpng_ver);
4607 if cc_check
-lpng -lz $_ld_lm ; then
4611 _res_comment
="mismatch of library and header versions"
4617 if test "$_png" = yes ; then
4618 _def_png
='#define HAVE_PNG 1'
4619 _ld_extra
="$_ld_extra -lpng -lz"
4620 _vosrc
="$_vosrc vo_png.c"
4621 _vomodules
="png $_vomodules"
4623 _def_png
='#undef HAVE_PNG'
4624 _novomodules
="png $_novomodules"
4627 echocheck
"JPEG support"
4628 if test "$_jpeg" = auto
; then
4635 #include <jpeglib.h>
4636 int main(void) { return 0; }
4638 if cc_check
-ljpeg $_ld_lm ; then
4646 if test "$_jpeg" = yes ; then
4647 _def_jpeg
='#define HAVE_JPEG 1'
4648 _vosrc
="$_vosrc vo_jpeg.c"
4649 _vomodules
="jpeg $_vomodules"
4650 _ld_extra
="$_ld_extra -ljpeg"
4652 _def_jpeg
='#undef HAVE_JPEG'
4653 _novomodules
="jpeg $_novomodules"
4658 echocheck
"PNM support"
4659 if test "$_pnm" = yes; then
4660 _def_pnm
="#define HAVE_PNM"
4661 _vosrc
="$_vosrc vo_pnm.c"
4662 _vomodules
="pnm $_vomodules"
4664 _def_pnm
="#undef HAVE_PNM"
4665 _novomodules
="pnm $_novomodules"
4671 echocheck
"GIF support"
4672 # This is to appease people who want to force gif support.
4673 # If it is forced to yes, then we still do checks to determine
4674 # which gif library to use.
4675 if test "$_gif" = yes ; then
4680 if test "$_gif" = auto
; then
4683 #include <gif_lib.h>
4684 int main(void) { return 0; }
4686 for _ld_gif
in "-lungif" "-lgif" ; do
4687 cc_check
$_ld_gif && tmp_run
&& _gif
=yes && break
4691 # If no library was found, and the user wants support forced,
4692 # then we force it on with libgif, as this is the safest
4693 # assumption IMHO. (libungif & libregif both create symbolic
4694 # links to libgif. We also assume that no x11 support is needed,
4695 # because if you are forcing this, then you _should_ know what
4696 # you are doing. [ Besides, package maintainers should never
4697 # have compiled x11 deps into libungif in the first place. ] )
4700 if test "$_force_gif" = yes && test "$_gif" = no
; then
4705 if test "$_gif" = yes ; then
4706 _def_gif
='#define HAVE_GIF 1'
4707 _vosrc
="$_vosrc vo_gif89a.c"
4708 _codecmodules
="gif $_codecmodules"
4709 _vomodules
="gif89a $_vomodules"
4710 _res_comment
="old version, some encoding functions disabled"
4711 _def_gif_4
='#undef HAVE_GIF_4'
4712 _ld_extra
="$_ld_extra $_ld_gif"
4716 #include <gif_lib.h>
4717 void catch() { exit(1); }
4719 signal(SIGSEGV, catch); // catch segfault
4720 printf("EGifPutExtensionFirst is at address %p\n", EGifPutExtensionFirst);
4721 EGifSetGifVersion("89a"); // this will segfault a buggy gif lib.
4725 if cc_check
"$_ld_gif" && tmp_run
; then
4726 _def_gif_4
='#define HAVE_GIF_4 1'
4730 _def_gif
='#undef HAVE_GIF'
4731 _def_gif_4
='#undef HAVE_GIF_4'
4732 _novomodules
="gif89a $_novomodules"
4733 _nocodecmodules
="gif $_nocodecmodules"
4738 case "$_gif" in yes*)
4739 echocheck
"broken giflib workaround"
4740 _def_gif_tvt_hack
='#define HAVE_GIF_TVT_HACK 1'
4743 #include <gif_lib.h>
4746 printf("UserData is at address %p\n", gif.UserData);
4750 if cc_check
"$_ld_gif" && tmp_run
; then
4751 _def_gif_tvt_hack
='#undef HAVE_GIF_TVT_HACK'
4760 echocheck
"VESA support"
4761 if test "$_vesa" = auto
; then
4764 int main(void) { vbeVersion(); return 0; }
4767 cc_check
-lvbe -llrmi && _vesa
=yes
4769 if test "$_vesa" = yes ; then
4770 _def_vesa
='#define HAVE_VESA 1'
4771 _libs_mplayer
="$_libs_mplayer -lvbe -llrmi"
4772 _vosrc
="$_vosrc vo_vesa.c vesa_lvo.c gtf.c"
4773 _vomodules
="vesa $_vomodules"
4775 _def_vesa
='#undef HAVE_VESA'
4776 _novomodules
="vesa $_novomodules"
4786 if test -z "$_sdlconfig" ; then
4787 if ( sdl-config
--version ) >>"$TMPLOG" 2>&1 ; then
4788 _sdlconfig
="sdl-config"
4789 elif ( sdl11-config
--version ) >>"$TMPLOG" 2>&1 ; then
4790 _sdlconfig
="sdl11-config"
4795 if test "$_sdl" = auto ||
test "$_sdl" = yes ; then
4799 SDL_Init(SDL_INIT_VIDEO|SDL_INIT_NOPARACHUTE);
4804 if "$_sdlconfig" --version >>"$TMPLOG" 2>&1 ; then
4805 if cc_check
`$_sdlconfig --cflags` `$_sdlconfig --libs` >>"$TMPLOG" 2>&1 ; then
4806 _sdlversion
=`$_sdlconfig --version | sed 's/[^0-9]//g'`
4807 if test "$_sdlversion" -gt 116 ; then
4808 if test "$_sdlversion" -lt 121 ; then
4809 _def_sdlbuggy
='#define BUGGY_SDL'
4811 _def_sdlbuggy
='#undef BUGGY_SDL'
4818 if test "$_sdl" = yes ; then
4819 _def_sdl
='#define HAVE_SDL 1'
4821 _libs_mplayer
="$_libs_mplayer `$_sdlconfig --libs | cut -d " " -f 1,4,6 | sed s/no-cygwin/cygwin/`"
4822 _inc_extra
="$_inc_extra `$_sdlconfig --cflags | cut -d " " -f 1,5,6 | sed s/no-cygwin/cygwin/`"
4824 _libs_mplayer
="$_libs_mplayer `$_sdlconfig --libs | sed -e s/-mwindows// -e s/-lmingw32//`"
4825 _inc_extra
="$_inc_extra `$_sdlconfig --cflags | sed s/-Dmain=SDL_main//`"
4827 _libs_mplayer
="$_libs_mplayer `$_sdlconfig --libs`"
4828 _inc_extra
="$_inc_extra `$_sdlconfig --cflags | sed s/-D_GNU_SOURCE=1//`"
4830 _vosrc
="$_vosrc vo_sdl.c"
4831 _vomodules
="sdl $_vomodules"
4832 _aosrc
="$_aosrc ao_sdl.c"
4833 _aomodules
="sdl $_aomodules"
4834 _res_comment
="using $_sdlconfig"
4836 _def_sdl
='#undef HAVE_SDL'
4837 _novomodules
="sdl $_novomodules"
4838 _noaomodules
="sdl $_noaomodules"
4845 echocheck
"Windows waveout"
4846 if test "$_win32waveout" = auto
; then
4848 #include <windows.h>
4849 #include <mmsystem.h>
4850 int main(void) { return 0; }
4853 cc_check
-lwinmm && _win32waveout
=yes
4855 if test "$_win32waveout" = yes ; then
4856 _def_win32waveout
='#define HAVE_WIN32WAVEOUT 1'
4857 _libs_mplayer
="$_libs_mplayer -lwinmm"
4858 _aosrc
="$_aosrc ao_win32.c"
4859 _aomodules
="win32 $_aomodules"
4861 _def_win32waveout
='#undef HAVE_WIN32WAVEOUT'
4862 _noaomodules
="win32 $_noaomodules"
4864 echores
"$_win32waveout"
4867 if test "$_directx" = auto
; then
4869 #include <windows.h>
4872 int main(void) { return 0; }
4875 cc_check
-lgdi32 && _directx
=yes
4877 if test "$_directx" = yes ; then
4878 _def_directx
='#define HAVE_DIRECTX 1'
4879 _libs_mplayer
="$_libs_mplayer -lgdi32"
4880 _vosrc
="$_vosrc vo_directx.c"
4881 _vomodules
="directx $_vomodules"
4882 _aosrc
="$_aosrc ao_dsound.c"
4883 _aomodules
="dsound $_aomodules"
4885 _def_directx
='#undef HAVE_DIRECTX'
4886 _novomodules
="directx $_novomodules"
4887 _noaomodules
="dsound $_noaomodules"
4895 if test "$_nas" = auto
; then
4897 #include <audio/audiolib.h>
4898 int main(void) { return 0; }
4901 cc_check
$_ld_lm -laudio -lXt && _nas
=yes
4903 if test "$_nas" = yes ; then
4904 _def_nas
='#define HAVE_NAS 1'
4905 _libs_mplayer
="$_libs_mplayer -laudio -lXt"
4906 _aosrc
="$_aosrc ao_nas.c"
4907 _aomodules
="nas $_aomodules"
4909 _noaomodules
="nas $_noaomodules"
4910 _def_nas
='#undef HAVE_NAS'
4915 if test "$_dxr2" = auto
; then
4918 #include <dxr2ioctl.h>
4919 int main(void) { return 0; }
4921 for _inc_tmp
in "" -I/usr
/local
/include
/dxr2
-I/usr
/include
/dxr2
; do
4922 cc_check
$_inc_tmp && _dxr2
=yes && \
4923 _inc_extra
="$_inc_extra $_inc_tmp" && break
4926 if test "$_dxr2" = yes; then
4927 _def_dxr2
='#define HAVE_DXR2 1'
4928 _vosrc
="$_vosrc vo_dxr2.c"
4929 _aosrc
="$_aosrc ao_dxr2.c"
4930 _aomodules
="dxr2 $_aomodules"
4931 _vomodules
="dxr2 $_vomodules"
4933 _def_dxr2
='#undef HAVE_DXR2'
4934 _noaomodules
="dxr2 $_noaomodules"
4935 _novomodules
="dxr2 $_novomodules"
4940 if test "$_dxr3" = auto
; then
4942 #include <linux/em8300.h>
4943 int main(void) { return 0; }
4946 cc_check
&& _dxr3
=yes
4948 if test "$_dxr3" = yes ; then
4949 _def_dxr3
='#define HAVE_DXR3 1'
4950 _vosrc
="$_vosrc vo_dxr3.c"
4951 _vomodules
="dxr3 $_vomodules"
4953 _def_dxr3
='#undef HAVE_DXR3'
4954 _novomodules
="dxr3 $_novomodules"
4959 echocheck
"IVTV TV-Out (pre linux-2.6.24)"
4960 if test "$_ivtv" = auto
; then
4963 #include <inttypes.h>
4964 #include <linux/types.h>
4965 #include <linux/videodev2.h>
4966 #include <linux/ivtv.h>
4967 #include <sys/ioctl.h>
4969 struct ivtv_cfg_stop_decode sd;
4970 struct ivtv_cfg_start_decode sd1;
4971 ioctl (0, IVTV_IOC_START_DECODE, &sd1);
4972 ioctl (0, IVTV_IOC_STOP_DECODE, &sd);
4976 cc_check
&& _ivtv
=yes
4978 if test "$_ivtv" = yes ; then
4979 _def_ivtv
='#define HAVE_IVTV 1'
4980 _vosrc
="$_vosrc vo_ivtv.c"
4981 _vomodules
="ivtv $_vomodules"
4982 _aosrc
="$_aosrc ao_ivtv.c"
4983 _aomodules
="ivtv $_aomodules"
4985 _def_ivtv
='#undef HAVE_IVTV'
4986 _novomodules
="ivtv $_novomodules"
4987 _noaomodules
="ivtv $_noaomodules"
4992 echocheck
"V4L2 MPEG Decoder"
4993 if test "$_v4l2" = auto
; then
4996 #include <inttypes.h>
4997 #include <linux/types.h>
4998 #include <linux/videodev2.h>
4999 #include <linux/version.h>
5001 #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,22)
5002 #error kernel headers too old, need 2.6.22
5003 bad_kernel_version();
5005 struct v4l2_ext_controls ctrls;
5006 ctrls.ctrl_class = V4L2_CTRL_CLASS_MPEG;
5011 cc_check
&& _v4l2
=yes
5013 if test "$_v4l2" = yes ; then
5014 _def_v4l2
='#define HAVE_V4L2_DECODER 1'
5015 _vosrc
="$_vosrc vo_v4l2.c"
5016 _vomodules
="v4l2 $_vomodules"
5017 _aosrc
="$_aosrc ao_v4l2.c"
5018 _aomodules
="v4l2 $_aomodules"
5020 _def_v4l2
='#undef HAVE_V4L2_DECODER'
5021 _novomodules
="v4l2 $_novomodules"
5022 _noaomodules
="v4l2 $_noaomodules"
5033 echocheck
"OSS Audio"
5034 if test "$_ossaudio" = auto
; then
5036 #include <sys/ioctl.h>
5037 #include <$_soundcard_header>
5038 int main(void) { int arg = SNDCTL_DSP_SETFRAGMENT; return 0; }
5041 cc_check
&& _ossaudio
=yes
5043 if test "$_ossaudio" = yes ; then
5044 _def_ossaudio
='#define CONFIG_OSS_AUDIO 1'
5045 _aosrc
="$_aosrc ao_oss.c"
5046 _aomodules
="oss $_aomodules"
5047 if test "$_linux_devfs" = yes; then
5048 _def_ossaudio_devdsp
='#define PATH_DEV_DSP "/dev/sound/dsp"'
5049 _def_ossaudio_devmixer
='#define PATH_DEV_MIXER "/dev/sound/mixer"'
5052 #include <sys/ioctl.h>
5053 #include <$_soundcard_header>
5054 #ifdef OPEN_SOUND_SYSTEM
5055 int main(void) { return 0; }
5057 #error Not the real thing
5061 cc_check
&& _real_ossaudio
=yes
5062 if test "$_real_ossaudio" = yes; then
5063 _def_ossaudio_devdsp
='#define PATH_DEV_DSP "/dev/dsp"'
5064 elif netbsd || openbsd
; then
5065 _def_ossaudio_devdsp
='#define PATH_DEV_DSP "/dev/sound"'
5066 _ld_extra
="$_ld_extra -lossaudio"
5068 _def_ossaudio_devdsp
='#define PATH_DEV_DSP "/dev/dsp"'
5070 _def_ossaudio_devmixer
='#define PATH_DEV_MIXER "/dev/mixer"'
5073 _def_ossaudio
='#undef CONFIG_OSS_AUDIO'
5074 _def_ossaudio_devdsp
='#define PATH_DEV_DSP ""'
5075 _def_ossaudio_devmixer
='#define PATH_DEV_MIXER ""'
5076 _noaomodules
="oss $_noaomodules"
5078 echores
"$_ossaudio"
5082 if test "$_arts" = auto
; then
5084 if ( artsc-config
--version ) >> "$TMPLOG" 2>&1 ; then
5088 int main(void) { return 0; }
5090 cc_check
`artsc-config --libs` `artsc-config --cflags` && tmp_run
&& _arts
=yes
5095 if test "$_arts" = yes ; then
5096 _def_arts
='#define CONFIG_ARTS 1'
5097 _aosrc
="$_aosrc ao_arts.c"
5098 _aomodules
="arts $_aomodules"
5099 _libs_mplayer
="$_libs_mplayer `artsc-config --libs`"
5100 _inc_extra
="$_inc_extra `artsc-config --cflags`"
5102 _noaomodules
="arts $_noaomodules"
5108 if test "$_esd" = auto
; then
5110 if ( esd-config
--version ) >> "$TMPLOG" 2>&1 ; then
5114 int main(void) { int fd = esd_open_sound("test"); return fd; }
5116 cc_check
`esd-config --libs` `esd-config --cflags` && _esd
=yes
5122 if test "$_esd" = yes ; then
5123 _def_esd
='#define CONFIG_ESD 1'
5124 _aosrc
="$_aosrc ao_esd.c"
5125 _aomodules
="esd $_aomodules"
5126 _libs_mplayer
="$_libs_mplayer `esd-config --libs`"
5127 _inc_extra
="$_inc_extra `esd-config --cflags`"
5129 echocheck
"esd_get_latency()"
5132 int main(void) { return esd_get_latency(0); }
5134 cc_check
`esd-config --libs` `esd-config --cflags` && _esd_latency
=yes && _def_esd_latency
='#define HAVE_ESD_LATENCY'
5135 echores
"$_esd_latency"
5137 _def_esd
='#undef CONFIG_ESD'
5138 _def_esd_latency
='#undef HAVE_ESD_LATENCY'
5139 _noaomodules
="esd $_noaomodules"
5143 if test "$_pulse" = auto
; then
5145 if $_pkg_config --exists 'libpulse >= 0.9' ; then
5148 #include <pulse/pulseaudio.h>
5149 int main(void) { return 0; }
5151 cc_check
`$_pkg_config --libs --cflags libpulse` && tmp_run
&& _pulse
=yes
5157 if test "$_pulse" = yes ; then
5158 _def_pulse
='#define CONFIG_PULSE 1'
5159 _aosrc
="$_aosrc ao_pulse.c"
5160 _aomodules
="pulse $_aomodules"
5161 _libs_mplayer
="$_libs_mplayer `$_pkg_config --libs libpulse`"
5162 _inc_extra
="$_inc_extra `$_pkg_config --cflags libpulse`"
5164 _def_pulse
='#undef CONFIG_PULSE'
5165 _noaomodules
="pulse $_noaomodules"
5170 if test "$_jack" = auto
; then
5174 #include <jack/jack.h>
5175 int main(void) { jack_client_new("test"); return 0; }
5177 if cc_check
-ljack ; then
5178 _libs_mplayer
="$_libs_mplayer -ljack"
5179 elif cc_check
`$_pkg_config --libs --cflags --silence-errors jack` ; then
5180 _libs_mplayer
="$_libs_mplayer `$_pkg_config --libs jack`"
5181 _inc_extra
="$_inc_extra "`$_pkg_config --cflags jack`""
5187 if test "$_jack" = yes ; then
5188 _def_jack
='#define CONFIG_JACK 1'
5189 _aosrc
="$_aosrc ao_jack.c"
5190 _aomodules
="jack $_aomodules"
5192 _noaomodules
="jack $_noaomodules"
5197 if test "$_openal" = auto
; then
5201 #include <OpenAL/al.h>
5206 alSourceQueueBuffers(0, 0, 0);
5207 // alGetSourcei(0, AL_SAMPLE_OFFSET, 0);
5211 for I
in "-lopenal" "-lopenal32" "-framework OpenAL" ; do
5212 cc_check
$I && _openal
=yes && break
5213 cc_check
-DOPENAL_AL_H=1 $I && _def_openal_h
='#define OPENAL_AL_H 1' && _openal
=yes && break
5215 test "$_openal" = yes && _libs_mplayer
="$_libs_mplayer $I"
5217 if test "$_openal" = yes ; then
5218 _def_openal
='#define CONFIG_OPENAL 1'
5219 _aosrc
="$_aosrc ao_openal.c"
5220 _aomodules
="openal $_aomodules"
5222 _noaomodules
="openal $_noaomodules"
5226 echocheck
"ALSA audio"
5227 if test "$_alloca" != yes ; then
5229 _res_comment
="alloca missing"
5231 if test "$_alsa" != no
; then
5234 #include <sys/time.h>
5235 #include <sys/asoundlib.h>
5236 #if !((SND_LIB_MAJOR == 0) && (SND_LIB_MINOR == 5))
5237 #error "alsa version != 0.5.x"
5239 int main(void) { return 0; }
5241 cc_check
-lasound $_ld_dl $_ld_pthread && _alsaver
='0.5.x'
5244 #include <sys/time.h>
5245 #include <sys/asoundlib.h>
5246 #if !((SND_LIB_MAJOR == 0) && (SND_LIB_MINOR == 9))
5247 #error "alsa version != 0.9.x"
5249 int main(void) { return 0; }
5251 cc_check
-lasound $_ld_dl $_ld_pthread && _alsaver
='0.9.x-sys'
5253 #include <sys/time.h>
5254 #include <alsa/asoundlib.h>
5255 #if !((SND_LIB_MAJOR == 0) && (SND_LIB_MINOR == 9))
5256 #error "alsa version != 0.9.x"
5258 int main(void) { return 0; }
5260 cc_check
-lasound $_ld_dl $_ld_pthread && _alsaver
='0.9.x-alsa'
5263 #include <sys/time.h>
5264 #include <sys/asoundlib.h>
5265 #if !((SND_LIB_MAJOR == 1) && (SND_LIB_MINOR == 0))
5266 #error "alsa version != 1.0.x"
5268 int main(void) { return 0; }
5270 cc_check
-lasound $_ld_dl $_ld_pthread && _alsaver
='1.0.x-sys'
5272 #include <sys/time.h>
5273 #include <alsa/asoundlib.h>
5274 #if !((SND_LIB_MAJOR == 1) && (SND_LIB_MINOR == 0))
5275 #error "alsa version != 1.0.x"
5277 int main(void) { return 0; }
5279 cc_check
-lasound $_ld_dl $_ld_pthread && _alsaver
='1.0.x-alsa'
5281 _def_alsa5
='#undef HAVE_ALSA5'
5282 _def_alsa9
='#undef HAVE_ALSA9'
5283 _def_alsa1x
='#undef HAVE_ALSA1X'
5284 _def_sys_asoundlib_h
='#undef HAVE_SYS_ASOUNDLIB_H'
5285 _def_alsa_asoundlib_h
='#undef HAVE_ALSA_ASOUNDLIB_H'
5286 if test "$_alsaver" ; then
5288 if test "$_alsaver" = '0.5.x' ; then
5290 _aosrc
="$_aosrc ao_alsa5.c"
5291 _aomodules
="alsa5 $_aomodules"
5292 _def_alsa5
='#define HAVE_ALSA5 1'
5293 _def_sys_asoundlib_h
='#define HAVE_SYS_ASOUNDLIB_H 1'
5294 _res_comment
="using alsa 0.5.x and sys/asoundlib.h"
5295 elif test "$_alsaver" = '0.9.x-sys' ; then
5297 _aosrc
="$_aosrc ao_alsa.c"
5298 _aomodules
="alsa $_aomodules"
5299 _def_alsa9
='#define HAVE_ALSA9 1'
5300 _def_sys_asoundlib_h
='#define HAVE_SYS_ASOUNDLIB_H 1'
5301 _res_comment
="using alsa 0.9.x and sys/asoundlib.h"
5302 elif test "$_alsaver" = '0.9.x-alsa' ; then
5304 _aosrc
="$_aosrc ao_alsa.c"
5305 _aomodules
="alsa $_aomodules"
5306 _def_alsa9
='#define HAVE_ALSA9 1'
5307 _def_alsa_asoundlib_h
='#define HAVE_ALSA_ASOUNDLIB_H 1'
5308 _res_comment
="using alsa 0.9.x and alsa/asoundlib.h"
5309 elif test "$_alsaver" = '1.0.x-sys' ; then
5311 _aosrc
="$_aosrc ao_alsa.c"
5312 _aomodules
="alsa $_aomodules"
5313 _def_alsa1x
="#define HAVE_ALSA1X 1"
5314 _def_alsa_asoundlib_h
='#define HAVE_SYS_ASOUNDLIB_H 1'
5315 _res_comment
="using alsa 1.0.x and sys/asoundlib.h"
5316 elif test "$_alsaver" = '1.0.x-alsa' ; then
5318 _aosrc
="$_aosrc ao_alsa.c"
5319 _aomodules
="alsa $_aomodules"
5320 _def_alsa1x
="#define HAVE_ALSA1X 1"
5321 _def_alsa_asoundlib_h
='#define HAVE_ALSA_ASOUNDLIB_H 1'
5322 _res_comment
="using alsa 1.0.x and alsa/asoundlib.h"
5325 _res_comment
="unknown version"
5327 _ld_extra
="$_ld_extra -lasound $_ld_dl $_ld_pthread"
5329 _noaomodules
="alsa $_noaomodules"
5334 echocheck
"Sun audio"
5335 if test "$_sunaudio" = auto
; then
5337 #include <sys/types.h>
5338 #include <sys/audioio.h>
5339 int main(void) { audio_info_t info; AUDIO_INITINFO(&info); return 0; }
5342 cc_check
&& _sunaudio
=yes
5344 if test "$_sunaudio" = yes ; then
5345 _def_sunaudio
='#define CONFIG_SUN_AUDIO 1'
5346 _aosrc
="$_aosrc ao_sun.c"
5347 _aomodules
="sun $_aomodules"
5349 _def_sunaudio
='#undef CONFIG_SUN_AUDIO'
5350 _noaomodules
="sun $_noaomodules"
5352 echores
"$_sunaudio"
5356 echocheck
"Sun mediaLib"
5357 if test "$_mlib" = auto
; then
5361 int main(void) { mlib_VideoColorYUV2ABGR420(0,0,0,0,0,0,0,0,0); return 0; }
5363 cc_check
-lmlib && _mlib
=yes
5365 test "$_mlib" = yes && _cpuexts
="MLIB $_cpuexts"
5371 echocheck
"SGI audio"
5372 if test "$_sgiaudio" = auto
; then
5373 # check for SGI audio
5375 #include <dmedia/audio.h>
5376 int main(void) { return 0; }
5379 cc_check
&& _sgiaudio
=yes
5381 if test "$_sgiaudio" = "yes" ; then
5382 _def_sgiaudio
='#define CONFIG_SGI_AUDIO 1'
5383 _libs_mplayer
="$_libs_mplayer -laudio"
5384 _aosrc
="$_aosrc ao_sgi.c"
5385 _aomodules
="sgi $_aomodules"
5387 _def_sgiaudio
='#undef CONFIG_SGI_AUDIO'
5388 _noaomodules
="sgi $_noaomodules"
5390 echores
"$_sgiaudio"
5394 echocheck
"VCD support"
5395 if linux || freebsd || netbsd || dragonfly || bsdos || darwin || sunos || mingw32
; then
5396 _inputmodules
="vcd $_inputmodules"
5397 _def_vcd
='#define HAVE_VCD 1'
5400 _def_vcd
='#undef HAVE_VCD'
5401 _noinputmodules
="vcd $_noinputmodules"
5402 _res_comment
="not supported on this OS"
5410 if test "$_dvdread_internal" = auto
; then
5411 _dvdread_internal
=no
5413 if (linux || freebsd || netbsd || openbsd || dragonfly || sunos || hpux
) \
5414 && (test "$_dvd" = yes ||
test "$_cdrom" = yes ||
test "$_cdio" = yes || \
5415 test "$_dvdio" = yes ||
test "$_bsdi_dvd" = yes) \
5416 || darwin || win32
; then
5417 _dvdread_internal
=yes
5420 elif test "$_dvdread" = auto
; then
5422 if test "$_dl" = yes; then
5424 #include <inttypes.h>
5425 #include <libdvdread/dvd_reader.h>
5426 #include <libdvdread/ifo_types.h>
5427 #include <libdvdread/ifo_read.h>
5428 #include <libdvdread/nav_read.h>
5429 int main(void) { return 0; }
5432 _dvdreadcflags
=`$_dvdreadconfig --cflags`
5433 _dvdreadlibs
=`$_dvdreadconfig --libs`
5434 if cc_check
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE \
5435 $_dvdreadcflags $_dvdreadlibs $_ld_dl ; then
5437 _inc_extra
="$_inc_extra $_dvdreadcflags"
5438 _ld_extra
="$_ld_extra $_dvdreadlibs"
5439 _res_comment
="external"
5443 if test "$_dvdread_internal" = yes; then
5444 _def_dvdread_internal
="#define CONFIG_DVDREAD_INTERNAL 1"
5445 _def_dvdread
='#define CONFIG_DVDREAD 1'
5446 _inputmodules
="dvdread(internal) $_inputmodules"
5448 _res_comment
="internal"
5449 elif test "$_dvdread" = yes; then
5450 _def_dvdread
='#define CONFIG_DVDREAD 1'
5452 _ld_extra
="$_ld_extra -ldvdread"
5453 _inputmodules
="dvdread(external) $_inputmodules"
5454 _res_comment
="external"
5456 _def_dvdread_internal
="#undef CONFIG_DVDREAD_INTERNAL"
5457 _def_dvdread
='#undef CONFIG_DVDREAD'
5458 _noinputmodules
="dvdread $_noinputmodules"
5463 echocheck
"internal libdvdcss"
5464 if test "$_libdvdcss_internal" = auto
; then
5465 _libdvdcss_internal
=no
5466 test "$_dvdread_internal" = yes && _libdvdcss_internal
=yes
5467 hpux
&& test "$_hpux_scsi_h" = no
&& _libdvdcss_internal
=no
5469 if test "$_libdvdcss_internal" = yes ; then
5470 if linux || netbsd || openbsd || bsdos
; then
5471 _def_dvd_linux
='#define HAVE_LINUX_DVD_STRUCT 1'
5472 openbsd
&& _dev_dvd_openbsd
='#define HAVE_OPENBSD_DVD_STRUCT 1'
5473 elif freebsd || dragonfly
; then
5474 _def_dvd_bsd
='#define HAVE_BSD_DVD_STRUCT 1'
5476 _def_dvd_darwin
='#define DARWIN_DVD_IOCTL'
5477 _ld_extra
="$_ld_extra -framework IOKit"
5479 CFLAGS
="$CFLAGS -DSYS_CYGWIN"
5481 CFLAGS
="$CFLAGS -DSYS_BEOS"
5483 CFLAGS
="$CFLAGS -DSYS_OS2"
5485 _libdvdcss_dvdread_flags
="-Ilibdvdcss -DHAVE_DVDCSS_DVDCSS_H"
5486 _inputmodules
="libdvdcss(internal) $_inputmodules"
5489 _noinputmodules
="libdvdcss(internal) $_noinputmodules"
5491 echores
"$_libdvdcss_internal"
5494 echocheck
"cdparanoia"
5495 if test "$_cdparanoia" = auto
; then
5497 #include <cdda_interface.h>
5498 #include <cdda_paranoia.h>
5499 // This need a better test. How ?
5500 int main(void) { void *test = cdda_verbose_set; return test == (void *)1; }
5503 for _inc_tmp
in "" "-I/usr/include/cdda" "-I/usr/local/include/cdda" ; do
5504 cc_check
$_inc_tmp -lcdda_interface -lcdda_paranoia $_ld_lm && \
5505 _cdparanoia
=yes && _inc_extra
="$_inc_extra $_inc_tmp" && break
5508 if test "$_cdparanoia" = yes ; then
5510 _ld_extra
="$_ld_extra -lcdda_interface -lcdda_paranoia"
5511 openbsd
&& _ld_extra
="$_ld_extra -lutil"
5513 echores
"$_cdparanoia"
5517 if test "$_libcdio" = auto
&& test "$_cdparanoia" = no
; then
5520 #include <cdio/version.h>
5521 #include <cdio/cdda.h>
5522 #include <cdio/paranoia.h>
5524 void *test = cdda_verbose_set;
5525 printf("%s\n", CDIO_VERSION);
5526 return test == (void *)1;
5530 for _ld_tmp
in "" "-lwinmm" ; do
5531 _ld_tmp
="-lcdio_cdda -lcdio -lcdio_paranoia $_ld_tmp"
5532 cc_check
$_ld_tmp $_ld_lm \
5533 && _libcdio
=yes && _ld_extra
="$_ld_extra $_ld_tmp" && break
5535 if test "$_libcdio" = no
&& $_pkg_config --exists libcdio_paranoia
; then
5536 _inc_tmp
=`$_pkg_config --cflags libcdio_paranoia`
5537 _ld_tmp
=`$_pkg_config --libs libcdio_paranoia`
5538 cc_check
$_inc_tmp $_ld_tmp $_ld_lm && _libcdio
=yes \
5539 && _ld_extra
="$_ld_extra $_ld_tmp" && _inc_extra
="$_inc_extra $_inc_tmp"
5542 if test "$_libcdio" = yes && test "$_cdparanoia" = no
; then
5544 _def_libcdio
='#define HAVE_LIBCDIO'
5545 _def_havelibcdio
='yes'
5547 if test "$_cdparanoia" = yes ; then
5548 _res_comment
="using cdparanoia"
5550 _def_libcdio
='#undef HAVE_LIBCDIO'
5551 _def_havelibcdio
='no'
5555 if test "$_cdda" = yes ; then
5556 test $_cddb = auto
&& test $_network = yes && _cddb
=yes
5557 _def_cdparanoia
='#define HAVE_CDDA'
5558 _inputmodules
="cdda $_inputmodules"
5560 _def_cdparanoia
='#undef HAVE_CDDA'
5561 _noinputmodules
="cdda $_noinputmodules"
5564 if test "$_cddb" = yes ; then
5565 _def_cddb
='#define HAVE_CDDB'
5566 _inputmodules
="cddb $_inputmodules"
5569 _def_cddb
='#undef HAVE_CDDB'
5570 _noinputmodules
="cddb $_noinputmodules"
5573 echocheck
"bitmap font support"
5574 if test "$_bitmap_font" = yes ; then
5575 _def_bitmap_font
="#define HAVE_BITMAP_FONT 1"
5577 _def_bitmap_font
="#undef HAVE_BITMAP_FONT"
5579 echores
"$_bitmap_font"
5582 echocheck
"freetype >= 2.0.9"
5584 # freetype depends on iconv
5585 if test "$_iconv" = no
; then
5587 _res_comment
="iconv support needed"
5590 if test "$_freetype" = auto
; then
5591 if ( $_freetypeconfig --version ) >/dev
/null
2>&1 ; then
5594 #include <ft2build.h>
5595 #include FT_FREETYPE_H
5596 #if ((FREETYPE_MAJOR < 2) || ((FREETYPE_MINOR == 0) && (FREETYPE_PATCH < 9)))
5597 #error "Need FreeType 2.0.9 or newer"
5601 FT_Int major=-1,minor=-1,patch=-1;
5602 int err=FT_Init_FreeType(&library);
5604 printf("Couldn't initialize freetype2 lib, err code: %d\n",err);
5607 FT_Library_Version(library,&major,&minor,&patch); // in v2.1.0+ only :(((
5608 printf("freetype2 header version: %d.%d.%d library version: %d.%d.%d\n",
5609 FREETYPE_MAJOR,FREETYPE_MINOR,FREETYPE_PATCH,
5610 (int)major,(int)minor,(int)patch );
5611 if(major!=FREETYPE_MAJOR || minor!=FREETYPE_MINOR){
5612 printf("Library and header version mismatch! Fix it in your distribution!\n");
5619 cc_check
`$_freetypeconfig --cflags` `$_freetypeconfig --libs` && tmp_run
&& _freetype
=yes
5624 if test "$_freetype" = yes ; then
5625 _def_freetype
='#define HAVE_FREETYPE'
5626 _inc_extra
="$_inc_extra `$_freetypeconfig --cflags`"
5627 _ld_extra
="$_ld_extra `$_freetypeconfig --libs`"
5629 _def_freetype
='#undef HAVE_FREETYPE'
5631 echores
"$_freetype"
5633 if test "$_freetype" = no
; then
5635 _res_comment
="freetype support needed"
5637 echocheck
"fontconfig"
5638 if test "$_fontconfig" = auto
; then
5642 #include <fontconfig/fontconfig.h>
5646 printf("Couldn't initialize fontconfig lib\n");
5653 for _ld_tmp
in "" "-lexpat -lfreetype" "-lexpat -lfreetype -lz" ; do
5654 _ld_tmp
="-lfontconfig $_ld_tmp"
5655 cc_check
$_ld_tmp && _fontconfig
=yes && _ld_extra
="$_ld_extra $_ld_tmp" && break
5657 if test "$_fontconfig" = no
&& $_pkg_config --exists fontconfig
; then
5658 _inc_tmp
=`$_pkg_config --cflags fontconfig`
5659 _ld_tmp
=`$_pkg_config --libs fontconfig`
5660 cc_check
$_inc_tmp $_ld_tmp && _fontconfig
=yes \
5661 && _ld_extra
="$_ld_extra $_ld_tmp" && _inc_extra
="$_inc_extra $_inc_tmp"
5664 if test "$_fontconfig" = yes ; then
5665 _def_fontconfig
='#define HAVE_FONTCONFIG'
5667 _def_fontconfig
='#undef HAVE_FONTCONFIG'
5669 echores
"$_fontconfig"
5672 echocheck
"SSA/ASS support"
5673 # libass depends on FreeType
5674 if test "$_freetype" = no
; then
5676 _res_comment
="FreeType support needed"
5679 if test "$_ass" = auto
; then
5681 #include <ft2build.h>
5682 #include FT_FREETYPE_H
5683 #if ((FREETYPE_MAJOR < 2) || (FREETYPE_MINOR < 1) || ((FREETYPE_MINOR == 1) && (FREETYPE_PATCH < 8)))
5684 #error "Need FreeType 2.1.8 or newer"
5686 int main(void) { return 0; }
5689 cc_check
`$_freetypeconfig --cflags` `$_freetypeconfig --libs` && tmp_run
&& _ass
=yes
5690 if test "$_ass" = no
; then
5691 _res_comment
="FreeType >= 2.1.8 needed"
5694 if test "$_ass" = yes ; then
5695 _def_ass
='#define CONFIG_ASS'
5697 _def_ass
='#undef CONFIG_ASS'
5702 echocheck
"fribidi with charsets"
5703 if test "$_fribidi" = auto
; then
5704 if ( $_fribidiconfig --version ) >/dev
/null
2>&1 ; then
5707 /* workaround for fribidi 0.10.4 and below */
5708 #define FRIBIDI_CHARSET_UTF8 FRIBIDI_CHAR_SET_UTF8
5709 #include <fribidi/fribidi.h>
5711 if(fribidi_parse_charset("UTF-8") != FRIBIDI_CHAR_SET_UTF8) {
5712 printf("Fribidi headers are not consistents with the library!\n");
5719 cc_check
`$_fribidiconfig --cflags` `$_fribidiconfig --libs` && tmp_run
&& _fribidi
=yes
5724 if test "$_fribidi" = yes ; then
5725 _def_fribidi
='#define CONFIG_FRIBIDI'
5726 _inc_extra
="$_inc_extra `$_fribidiconfig --cflags`"
5727 _ld_extra
="$_ld_extra `$_fribidiconfig --libs`"
5729 _def_fribidi
='#undef CONFIG_FRIBIDI'
5735 if test "$_enca" = auto
; then
5737 #include <sys/types.h>
5742 langs = enca_get_languages(&langcnt);
5747 cc_check
-lenca $_ld_lm && _enca
=yes
5749 if test "$_enca" = yes ; then
5750 _def_enca
='#define HAVE_ENCA 1'
5751 _ld_extra
="$_ld_extra -lenca"
5753 _def_enca
='#undef HAVE_ENCA'
5761 int main(void) { (void) inflate(0, Z_NO_FLUSH); return 0; }
5764 cc_check
-lz && _zlib
=yes
5765 if test "$_zlib" = yes ; then
5766 _def_zlib
='#define CONFIG_ZLIB 1'
5767 _ld_extra
="$_ld_extra -lz"
5769 _def_zlib
='#undef CONFIG_ZLIB'
5770 _libavdecoders
=`echo $_libavdecoders | sed -e s/FLASHSV_DECODER// -e s/PNG_DECODER// -e s/ZMBV_DECODER// -e s/DXA_DECODER// `
5771 _libavencoders
=`echo $_libavencoders | sed -e s/FLASHSV_ENCODER// -e s/PNG_ENCODER// -e s/ZMBV_ENCODER// `
5777 if test "$_rtc" = auto
; then
5779 #include <sys/ioctl.h>
5781 #include <linux/rtc.h>
5784 #define RTC_PIE_ON RTCIO_PIE_ON
5786 int main(void) { return RTC_PIE_ON; }
5789 cc_check
&& _rtc
=yes
5792 if test "$_rtc" = yes ; then
5793 _def_rtc
='#define HAVE_RTC 1'
5795 _def_rtc
='#undef HAVE_RTC'
5800 echocheck
"liblzo2 support"
5801 if test "$_liblzo" = auto
; then
5804 #include <lzo/lzo1x.h>
5805 int main(void) { lzo_init();return 0; }
5807 cc_check
-llzo2 && _liblzo
=yes
5809 if test "$_liblzo" = yes ; then
5810 _def_liblzo
='#define CONFIG_LIBLZO 1'
5811 _ld_extra
="$_ld_extra -llzo2"
5812 _codecmodules
="liblzo $_codecmodules"
5814 _def_liblzo
='#undef CONFIG_LIBLZO'
5815 _nocodecmodules
="liblzo $_nocodecmodules"
5820 echocheck
"mad support"
5821 if test "$_mad" = auto
; then
5825 int main(void) { return 0; }
5827 cc_check
-lmad && _mad
=yes
5829 if test "$_mad" = yes ; then
5830 _def_mad
='#define CONFIG_LIBMAD 1'
5831 _ld_extra
="$_ld_extra -lmad"
5832 _codecmodules
="libmad $_codecmodules"
5834 _def_mad
='#undef CONFIG_LIBMAD'
5835 _nocodecmodules
="libmad $_nocodecmodules"
5840 if test "$_twolame" = auto
; then
5842 #include <twolame.h>
5843 int main(void) { twolame_init(); return 0; }
5846 cc_check
-ltwolame $_ld_lm && _twolame
=yes
5848 if test "$_twolame" = yes ; then
5849 _def_twolame
='#define HAVE_TWOLAME 1'
5850 _libs_mencoder
="$_libs_mencoder -ltwolame"
5851 _codecmodules
="twolame $_codecmodules"
5853 _def_twolame
='#undef HAVE_TWOLAME'
5854 _nocodecmodules
="twolame $_nocodecmodules"
5859 if test "$_toolame" = auto
; then
5861 if test "$_twolame" = yes ; then
5862 _res_comment
="disabled by twolame"
5865 #include <toolame.h>
5866 int main(void) { toolame_init(); return 0; }
5868 cc_check
-ltoolame $_ld_lm && _toolame
=yes
5871 if test "$_toolame" = yes ; then
5872 _def_toolame
='#define HAVE_TOOLAME 1'
5873 _libs_mencoder
="$_libs_mencoder -ltoolame"
5874 _codecmodules
="toolame $_codecmodules"
5876 _def_toolame
='#undef HAVE_TOOLAME'
5877 _nocodecmodules
="toolame $_nocodecmodules"
5879 if test "$_toolamedir" ; then
5880 _res_comment
="using $_toolamedir"
5884 echocheck
"OggVorbis support"
5885 if test "$_tremor_internal" = yes; then
5887 elif test "$_tremor_external" = auto
; then
5890 #include <tremor/ivorbiscodec.h>
5891 int main(void) { vorbis_packet_blocksize(0,0); return 0; }
5893 cc_check
-logg -lvorbisidec $_ld_lm && _tremor_external
=yes && _libvorbis
=no
5895 if test "$_libvorbis" = auto
; then
5898 #include <vorbis/codec.h>
5899 int main(void) { vorbis_packet_blocksize(0,0); return 0; }
5901 cc_check
-lvorbis -logg $_ld_lm && _libvorbis
=yes
5903 if test "$_tremor_internal" = yes ; then
5905 _def_vorbis
='#define HAVE_OGGVORBIS 1'
5906 _def_tremor
='#define TREMOR 1'
5907 _codecmodules
="tremor(internal) $_codecmodules"
5908 _res_comment
="internal Tremor"
5909 if test "$_tremor_low" = yes ; then
5910 CFLAGS
="$CFLAGS -D_LOW_ACCURACY_"
5911 _res_comment
="internal low accuracy Tremor"
5913 elif test "$_tremor_external" = yes ; then
5915 _def_vorbis
='#define HAVE_OGGVORBIS 1'
5916 _def_tremor
='#define TREMOR 1'
5917 _codecmodules
="tremor(external) $_codecmodules"
5918 _res_comment
="external Tremor"
5919 _ld_extra
="$_ld_extra -logg -lvorbisidec"
5920 elif test "$_libvorbis" = yes ; then
5922 _def_vorbis
='#define HAVE_OGGVORBIS 1'
5923 _codecmodules
="libvorbis $_codecmodules"
5924 _res_comment
="libvorbis"
5925 _ld_extra
="$_ld_extra -lvorbis -logg"
5928 _nocodecmodules
="libvorbis $_nocodecmodules"
5932 echocheck
"libspeex (version >= 1.1 required)"
5933 if test "$_speex" = auto
; then
5936 #include <speex/speex.h>
5937 int main(void) { SpeexBits bits; void *dec; speex_decode_int(dec, &bits, dec); return 0; }
5939 cc_check
-lspeex $_ld_lm && _speex
=yes
5941 if test "$_speex" = yes ; then
5942 _def_speex
='#define HAVE_SPEEX 1'
5943 _ld_extra
="$_ld_extra -lspeex"
5944 _codecmodules
="speex $_codecmodules"
5946 _def_speex
='#undef HAVE_SPEEX'
5947 _nocodecmodules
="speex $_nocodecmodules"
5951 echocheck
"OggTheora support"
5952 if test "$_theora" = auto
; then
5955 #include <theora/theora.h>
5958 /* theora is in flux, make sure that all interface routines and
5959 * datatypes exist and work the way we expect it, so we don't break
5969 theora_info_init (&inf);
5970 theora_comment_init (&tc);
5974 /* we don't want to execute this kind of nonsense; just for making sure
5975 * that compilation works... */
5976 memset(&op, 0, sizeof(op));
5977 r = theora_decode_header (&inf, &tc, &op);
5978 r = theora_decode_init (&st, &inf);
5979 t = theora_granule_time (&st, op.granulepos);
5980 r = theora_decode_packetin (&st, &op);
5981 r = theora_decode_YUVout (&st, &yuv);
5987 for _ld_theora
in "`$_pkg_config --silence-errors --libs --cflags theora`" "-ltheora -logg"; do
5988 cc_check
$_ld_theora && _ld_extra
="$_ld_extra $_ld_theora" \
5989 && _theora
=yes && break
5991 if test "$_theora" = no
&& test "$_tremor_internal" = yes; then
5992 for _ld_theora
in "`$_pkg_config --silence-errors --libs --cflags theora`" "-ltheora -logg"; do
5993 cc_check
-I. tremor
/bitwise.c
$_ld_theora \
5994 && _ld_extra
="$_ld_extra $_ld_theora" && theora
=yes && break
5998 if test "$_theora" = yes ; then
5999 _def_theora
='#define HAVE_OGGTHEORA 1'
6000 _codecmodules
="libtheora $_codecmodules"
6001 # when --enable-theora is forced, we'd better provide a probably sane
6002 # $_ld_theora than nothing
6003 test -z "$_ld_theora" && _ld_extra
="$_ld_extra -ltheora -logg"
6005 _def_theora
='#undef HAVE_OGGTHEORA'
6006 _nocodecmodules
="libtheora $_nocodecmodules"
6010 echocheck
"internal mp3lib support"
6011 if test "$_mp3lib" = yes ; then
6012 _def_mp3lib
='#define CONFIG_MP3LIB 1'
6013 _codecmodules
="mp3lib $_codecmodules"
6015 _def_mp3lib
='#undef CONFIG_MP3LIB'
6016 _nocodecmodules
="mp3lib $_nocodecmodules"
6020 echocheck
"internal liba52 support"
6021 if test "$_liba52" = yes ; then
6022 _def_liba52
='#define CONFIG_LIBA52 1'
6023 _codecmodules
="liba52 $_codecmodules"
6025 _def_liba52
='#undef CONFIG_LIBA52'
6026 _nocodecmodules
="liba52 $_nocodecmodules"
6030 echocheck
"internal libmpeg2 support"
6031 if test "$_libmpeg2" = auto
; then
6033 if alpha
&& test cc_vendor
=gnu
; then
6035 2*|
3.0*|
3.1*) # cannot compile MVI instructions
6037 _res_comment
="broken gcc"
6042 if test "$_libmpeg2" = yes ; then
6043 _def_libmpeg2
='#define CONFIG_LIBMPEG2 1'
6044 _codecmodules
="libmpeg2 $_codecmodules"
6046 _def_libmpeg2
='#undef CONFIG_LIBMPEG2'
6047 _nocodecmodules
="libmpeg2 $_nocodecmodules"
6049 echores
"$_libmpeg2"
6051 echocheck
"libdca support"
6052 if test "$_libdca" = auto
; then
6055 #include <inttypes.h>
6057 int main(void) { dts_init (0); return 0; }
6059 for _ld_dca
in -ldts -ldca ; do
6060 cc_check
$_ld_dca $_ld_lm && _ld_extra
="$_ld_extra $_ld_dca" \
6061 && _libdca
=yes && break
6064 if test "$_libdca" = yes ; then
6065 _def_libdca
='#define CONFIG_LIBDCA 1'
6066 _codecmodules
="libdca $_codecmodules"
6068 _def_libdca
='#undef CONFIG_LIBDCA'
6069 _nocodecmodules
="libdca $_nocodecmodules"
6073 echocheck
"libmpcdec (musepack, version >= 1.2.1 required)"
6074 if test "$_musepack" = auto
; then
6078 #include <mpcdec/mpcdec.h>
6080 mpc_streaminfo info;
6081 mpc_decoder decoder;
6082 mpc_decoder_set_streaminfo(&decoder, &info);
6083 mpc_decoder_decode_frame(&decoder, NULL, 0, NULL);
6087 cc_check
-lmpcdec $_ld_lm && _musepack
=yes
6089 if test "$_musepack" = yes ; then
6090 _def_musepack
='#define HAVE_MUSEPACK 1'
6091 _ld_extra
="$_ld_extra -lmpcdec"
6092 _codecmodules
="musepack $_codecmodules"
6094 _def_musepack
='#undef HAVE_MUSEPACK'
6095 _nocodecmodules
="musepack $_nocodecmodules"
6097 echores
"$_musepack"
6100 echocheck
"FAAC (AAC encoder) support"
6101 if test "$_faac" = auto
; then
6103 #include <inttypes.h>
6105 int main(void) { unsigned long x, y; faacEncOpen(48000, 2, &x, &y); return 0; }
6108 for _ld_faac
in "-lfaac" "-lfaac -lmp4v2 -lstdc++" ; do
6109 cc_check
-O4 $_ld_faac $_ld_lm && _libs_mencoder
="$_libs_mencoder $_ld_faac" && _faac
=yes && break
6112 if test "$_faac" = yes ; then
6113 _def_faac
="#define HAVE_FAAC 1"
6114 test "$_faac_lavc" = auto
&& _faac_lavc
=yes
6115 if test "$_faac_lavc" = yes ; then
6116 _def_faac_lavc
="#define CONFIG_LIBFAAC 1"
6117 _libs_mplayer
="$_libs_mplayer $_ld_faac"
6118 _libavencoders
="$_libavencoders LIBFAAC_ENCODER"
6120 _codecmodules
="faac $_codecmodules"
6123 _def_faac
="#undef HAVE_FAAC"
6124 _def_faac_lavc
="#undef CONFIG_LIBFAAC"
6125 _nocodecmodules
="faac $_nocodecmodules"
6127 _res_comment
="in libavcodec: $_faac_lavc"
6131 echocheck
"FAAD2 (AAC) support"
6132 if test "$_faad_internal" = auto
; then
6133 if x86_32
&& test cc_vendor
=gnu
; then
6135 3.1*|
3.2) # ICE/insn with these versions
6137 _res_comment
="broken gcc"
6146 elif test "$_faad_internal" = no
&& test "$_faad_external" = auto
; then
6150 #ifndef FAAD_MIN_STREAMSIZE
6151 #error Too old version
6153 int main(void) { faacDecHandle testhand; faacDecFrameInfo testinfo;
6154 testhand = faacDecOpen(); faacDecInit(0, 0, 0, 0, 0); return 0; }
6156 cc_check
-lfaad $_ld_lm && _faad_external
=yes
6159 if test "$_faad_internal" = yes ; then
6160 _def_faad_internal
="#define CONFIG_FAAD_INTERNAL 1"
6162 _res_comment
="internal floating-point"
6163 if test "$_faad_fixed" = yes ; then
6164 # The FIXED_POINT implementation of FAAD2 improves performance
6165 # on some platforms, especially for SBR files.
6166 CFLAGS
="$CFLAGS -DFIXED_POINT"
6167 _res_comment
="internal fixed-point"
6169 elif test "$_faad_external" = yes ; then
6171 _ld_extra
="$_ld_extra -lfaad"
6173 _def_faad_internal
="#undef CONFIG_FAAD_INTERNAL"
6177 if test "$_faad" = yes ; then
6178 _def_faad
='#define HAVE_FAAD 1'
6179 _codecmodules
="faad2 $_codecmodules"
6181 _def_faad
='#undef HAVE_FAAD'
6182 _nocodecmodules
="faad2 $_nocodecmodules"
6187 echocheck
"LADSPA plugin support"
6188 if test "$_ladspa" = auto
; then
6193 const LADSPA_Descriptor *ld = NULL;
6198 cc_check
&& _ladspa
=yes
6200 if test "$_ladspa" = yes; then
6201 _def_ladspa
="#define HAVE_LADSPA"
6203 _def_ladspa
="#undef HAVE_LADSPA"
6208 if test -z "$_codecsdir" ; then
6209 for dir
in "$_libdir/codecs" "$_libdir/win32" /usr
/local
/lib
/codecs \
6210 /usr
/lib
/codecs
/usr
/local
/lib
/win32
/usr
/lib
/win32
; do
6211 if test -d "$dir" ; then
6217 # Fall back on default directory.
6218 if test -z "$_codecsdir" ; then
6219 _codecsdir
="$_libdir/codecs"
6220 mingw32
&& _codecsdir
="codecs"
6221 os2
&& _codecsdir
="codecs"
6225 echocheck
"Win32 codecs"
6226 if test "$_win32dll" = auto
; then
6228 if x86_32
&& ! qnx
; then
6232 if test "$_win32dll" = yes ; then
6233 _def_win32dll
='#define CONFIG_WIN32DLL 1'
6234 test -z "$_win32codecsdir" && _win32codecsdir
=$_codecsdir
6235 _res_comment
="using $_win32codecsdir"
6237 _def_win32_loader
='#define WIN32_LOADER 1'
6238 _win32_emulation
=yes
6240 _ld_extra
="$_ld_extra -ladvapi32 -lole32"
6241 _res_comment
="using native windows"
6243 _codecmodules
="win32 $_codecmodules"
6245 _def_win32dll
='#undef CONFIG_WIN32DLL'
6246 _def_win32_loader
='#undef WIN32_LOADER'
6247 _nocodecmodules
="win32 $_nocodecmodules"
6249 echores
"$_win32dll"
6252 echocheck
"XAnim codecs"
6253 if test "$_xanim" = auto
; then
6255 _res_comment
="dynamic loader support needed"
6256 if test "$_dl" = yes ; then
6260 if test "$_xanim" = yes ; then
6261 test -z "$_xanimcodecsdir" && _xanimcodecsdir
=$_codecsdir
6262 _def_xanim
='#define CONFIG_XANIM 1'
6263 _def_xanim_path
="#define XACODEC_PATH \"$_xanimcodecsdir\""
6264 _codecmodules
="xanim $_codecmodules"
6265 _res_comment
="using $_xanimcodecsdir"
6267 _def_xanim
='#undef CONFIG_XANIM'
6268 _def_xanim_path
='#undef XACODEC_PATH'
6269 _nocodecmodules
="xanim $_nocodecmodules"
6274 echocheck
"RealPlayer codecs"
6275 if test "$_real" = auto
; then
6277 _res_comment
="dynamic loader support needed"
6278 if test "$_dl" = yes ||
test "$_win32dll" = yes &&
6279 (linux || freebsd || netbsd || dragonfly || darwin || win32
) ; then
6283 if test "$_real" = yes ; then
6284 test -z "$_realcodecsdir" && _realcodecsdir
="$_codecsdir"
6285 _def_real
='#define CONFIG_REALCODECS 1'
6286 _def_real_path
="#define REALCODEC_PATH \"$_realcodecsdir\""
6287 _codecmodules
="real $_codecmodules"
6288 _res_comment
="using $_realcodecsdir"
6290 _def_real
='#undef CONFIG_REALCODECS'
6291 _def_real_path
="#undef REALCODEC_PATH"
6292 _nocodecmodules
="real $_nocodecmodules"
6297 echocheck
"QuickTime codecs"
6299 _def_qtx_win32
='#undef CONFIG_QTX_CODECS_WIN32'
6300 if test "$_qtx" = auto
; then
6301 test "$_win32dll" = yes || darwin
&& _qtx
=yes
6303 if test "$_qtx" = yes ; then
6304 _def_qtx
='#define CONFIG_QTX_CODECS 1'
6305 win32
&& _qtx_codecs_win32
=yes && _def_qtx_win32
='#define CONFIG_QTX_CODECS_WIN32 1'
6306 _codecmodules
="qtx $_codecmodules"
6307 darwin || win32 || _qtx_emulation
=yes
6309 _def_qtx
='#undef CONFIG_QTX_CODECS'
6310 _nocodecmodules
="qtx $_nocodecmodules"
6314 echocheck
"Nemesi Streaming Media libraries"
6315 if test "$_nemesi" = auto
&& test "$_network" = yes ; then
6317 if $_pkg_config libnemesi
--atleast-version=0.6.3 ; then
6318 _inc_extra
="$_inc_extra `$_pkg_config --cflags libnemesi`"
6319 _ld_extra
="$_ld_extra `$_pkg_config --libs libnemesi`"
6323 if test "$_nemesi" = yes; then
6325 _def_nemesi
='#define LIBNEMESI 1'
6326 _inputmodules
="nemesi $_inputmodules"
6328 _native_rtsp
="$_network"
6330 _def_nemesi
='#undef LIBNEMESI'
6331 _noinputmodules
="nemesi $_noinputmodules"
6335 echocheck
"LIVE555 Streaming Media libraries"
6336 if test "$_live" = auto
&& test "$_network" = yes ; then
6337 cat > $TMPCPP << EOF
6338 #include <liveMedia.hh>
6339 #if (LIVEMEDIA_LIBRARY_VERSION_INT < 1141257600)
6340 #error Please upgrade to version 2006.03.03 or later of the "LIVE555 Streaming Media" libraries - available from <www.live555.com/liveMedia/>
6342 int main(void) { return 0; }
6346 for I
in $_inc_extra "-I$_libdir/live" "-I/usr/lib/live" "-I/usr/local/live" "-I/usr/local/lib/live" ; do
6347 cxx_check
$I/liveMedia
/include
$I/UsageEnvironment
/include \
6348 $I/groupsock
/include
&& _livelibdir
=`echo $I| sed s/-I//` && \
6349 _ld_extra
="$_livelibdir/liveMedia/libliveMedia.a \
6350 $_livelibdir/groupsock/libgroupsock.a \
6351 $_livelibdir/UsageEnvironment/libUsageEnvironment.a \
6352 $_livelibdir/BasicUsageEnvironment/libBasicUsageEnvironment.a \
6353 $_ld_extra -lstdc++" \
6354 _inc_extraxx
="-I$_livelibdir/liveMedia/include \
6355 -I$_livelibdir/UsageEnvironment/include \
6356 -I$_livelibdir/BasicUsageEnvironment/include \
6357 -I$_livelibdir/groupsock/include" && \
6360 if test "$_live" != yes ; then
6361 if cxx_check
-I/usr
/include
/liveMedia
-I/usr
/include
/UsageEnvironment
-I/usr
/include
/groupsock
; then
6366 if test "$_live" = yes && test "$_network" = yes; then
6367 _res_comment
="using $_livelibdir"
6368 _def_live
='#define STREAMING_LIVE555 1'
6369 _inputmodules
="live555 $_inputmodules"
6370 elif test "$_live_dist" = yes && test "$_network" = yes; then
6371 _res_comment
="using distribution version"
6373 _def_live
='#define STREAMING_LIVE555 1'
6374 _ld_extra
="$_ld_extra -lliveMedia -lgroupsock -lUsageEnvironment -lBasicUsageEnvironment -lstdc++"
6375 _inc_extraxx
="-I/usr/include/liveMedia -I/usr/include/UsageEnvironment \
6376 -I/usr/include/BasicUsageEnvironment -I/usr/include/groupsock"
6377 _inputmodules
="live555 $_inputmodules"
6380 _def_live
='#undef STREAMING_LIVE555'
6381 _noinputmodules
="live555 $_noinputmodules"
6386 echocheck
"FFmpeg libavutil"
6387 if test "$_libavutil_a" = auto
; then
6388 if test -d ffmpeg
/libavutil
; then
6390 _res_comment
="static"
6392 die
"MPlayer will not compile without libavutil in the source tree."
6394 elif test "$_libavutil_so" = auto
; then
6397 #include <libavutil/common.h>
6398 int main(void) { ff_gcd(1,1); return 0; }
6400 if $_pkg_config --exists libavutil
; then
6401 _inc_libavutil
=`$_pkg_config --cflags libavutil`
6402 _ld_tmp
=`$_pkg_config --libs libavutil`
6403 cc_check
$_inc_libavutil $_ld_tmp && _ld_extra
="$_ld_extra $_ld_tmp" \
6404 && _libavutil_so
=yes
6405 elif cc_check
-lavutil $_ld_lm ; then
6406 _ld_extra
="$_ld_extra -lavutil"
6408 _res_comment
="using libavutil.so, but static libavutil is recommended"
6412 _def_libavutil
='#undef CONFIG_LIBAVUTIL'
6413 _def_libavutil_a
='#undef CONFIG_LIBAVUTIL_A'
6414 _def_libavutil_so
='#undef CONFIG_LIBAVUTIL_SO'
6415 test "$_libavutil_a" = yes ||
test "$_libavutil_so" = yes && _libavutil
=yes
6416 test "$_libavutil" = yes && _def_libavutil
='#define CONFIG_LIBAVUTIL 1'
6417 test "$_libavutil_a" = yes && _def_libavutil_a
='#define CONFIG_LIBAVUTIL_A 1'
6418 test "$_libavutil_so" = yes && _def_libavutil_so
='#define CONFIG_LIBAVUTIL_SO 1'
6419 # neither static nor shared libavutil is available, but it is mandatory ...
6420 if test "$_libavutil" = no
; then
6421 die
"You need static or shared libavutil, MPlayer will not compile without!"
6423 echores
"$_libavutil"
6425 echocheck
"FFmpeg libavcodec"
6426 if test "$_libavcodec_a" = auto
; then
6428 if test -d ffmpeg
/libavcodec
&& test -f ffmpeg
/libavcodec
/utils.c
; then
6430 _res_comment
="static"
6432 elif test "$_libavcodec_so" = auto
; then
6434 _res_comment
="libavcodec.so is discouraged over static libavcodec"
6436 #include <libavcodec/avcodec.h>
6437 int main(void) { avcodec_find_encoder_by_name(""); return 0; }
6439 if $_pkg_config --exists libavcodec
; then
6440 _inc_libavcodec
=`$_pkg_config --cflags libavcodec`
6441 _ld_tmp
=`$_pkg_config --libs libavcodec`
6442 cc_check
$_inc_libavcodec $_ld_tmp && _ld_extra
="$_ld_extra $_ld_tmp" \
6443 && _libavcodec_so
=yes
6444 elif cc_check
-lavcodec $_ld_lm ; then
6445 _ld_extra
="$_ld_extra -lavcodec"
6447 _res_comment
="using libavcodec.so, but static libavcodec is recommended"
6451 _def_libavcodec
='#undef CONFIG_LIBAVCODEC'
6452 _def_libavcodec_a
='#undef CONFIG_LIBAVCODEC_A'
6453 _def_libavcodec_so
='#undef CONFIG_LIBAVCODEC_SO'
6454 test "$_libavcodec_a" = yes ||
test "$_libavcodec_so" = yes && _libavcodec
=yes
6455 test "$_libavcodec" = yes && _def_libavcodec
='#define CONFIG_LIBAVCODEC 1'
6456 test "$_libavcodec_a" = yes && _def_libavcodec_a
='#define CONFIG_LIBAVCODEC_A 1'
6457 test "$_libavcodec_so" = yes && _def_libavcodec_so
='#define CONFIG_LIBAVCODEC_SO 1'
6458 test "$_libavcodec_mpegaudio_hp" = yes \
6459 && _def_libavcodec_mpegaudio_hp
='#define CONFIG_MPEGAUDIO_HP 1'
6460 if test "$_libavcodec_a" = yes ; then
6461 _codecmodules
="libavcodec $_codecmodules"
6462 elif test "$_libavcodec_so" = yes ; then
6463 _codecmodules
="libavcodec.so $_codecmodules"
6465 _nocodecmodules
="libavcodec $_nocodecmodules"
6467 echores
"$_libavcodec"
6469 echocheck
"FFmpeg libavformat"
6470 if test "$_libavformat_a" = auto
; then
6472 if test -d ffmpeg
/libavformat
&& test -f ffmpeg
/libavformat
/utils.c
; then
6474 _res_comment
="static"
6476 elif test "$_libavformat_so" = auto
; then
6479 #include <libavformat/avformat.h>
6480 #include <libavcodec/opt.h>
6481 int main(void) { av_alloc_format_context(); return 0; }
6483 if $_pkg_config --exists libavformat
; then
6484 _inc_libavformat
=`$_pkg_config --cflags libavformat`
6485 _ld_tmp
=`$_pkg_config --libs libavformat`
6486 cc_check
$_inc_libavformat $_ld_tmp && _ld_extra
="$_ld_extra $_ld_tmp" \
6487 && _libavformat_so
=yes
6488 elif cc_check
$_ld_lm -lavformat ; then
6489 _ld_extra
="$_ld_extra -lavformat"
6491 _res_comment
="using libavformat.so, but static libavformat is recommended"
6495 _def_libavformat
='#undef CONFIG_LIBAVFORMAT'
6496 _def_libavformat_a
='#undef CONFIG_LIBAVFORMAT_A'
6497 _def_libavformat_so
='#undef CONFIG_LIBAVFORMAT_SO'
6498 test "$_libavformat_a" = yes ||
test "$_libavformat_so" = yes && _libavformat
=yes
6499 test "$_libavformat" = yes && _def_libavformat
='#define CONFIG_LIBAVFORMAT 1'
6500 test "$_libavformat_a" = yes && _def_libavformat_a
='#define CONFIG_LIBAVFORMAT_A 1'
6501 test "$_libavformat_so" = yes \
6502 && _def_libavformat_so
='#define CONFIG_LIBAVFORMAT_SO 1'
6503 echores
"$_libavformat"
6505 echocheck
"FFmpeg libpostproc"
6506 if test "$_libpostproc_a" = auto
; then
6508 if test -d ffmpeg
/libpostproc
&& test -f ffmpeg
/libpostproc
/postprocess.h
; then
6509 _libpostproc_a
='yes'
6510 _res_comment
="static"
6512 elif test "$_libpostproc_so" = auto
; then
6515 #define CONFIG_LIBPOSTPROC 1
6516 #include <inttypes.h>
6517 #include <libpostproc/postprocess.h>
6518 int main(void) { pp_get_mode_by_name_and_quality("de", 0); return 0; }
6520 if cc_check
-lpostproc $_ld_lm ; then
6521 _ld_extra
="$_ld_extra -lpostproc"
6523 _res_comment
="using libpostproc.so, but static libpostproc is recommended"
6527 _def_libpostproc
='#undef CONFIG_LIBPOSTPROC'
6528 _def_libpostproc_a
='#undef CONFIG_LIBPOSTPROC_A'
6529 _def_libpostproc_so
='#undef CONFIG_LIBPOSTPROC_SO'
6530 test "$_libpostproc_a" = yes ||
test "$_libpostproc_so" = yes && _libpostproc
=yes
6531 test "$_libpostproc" = yes && _def_libpostproc
='#define CONFIG_LIBPOSTPROC 1'
6532 test "$_libpostproc_a" = yes && _def_libpostproc_a
='#define CONFIG_LIBPOSTPROC_A 1'
6533 test "$_libpostproc_so" = yes \
6534 && _def_libpostproc_so
='#define CONFIG_LIBPOSTPROC_SO 1'
6535 echores
"$_libpostproc"
6538 echocheck
"libamr narrowband"
6539 if test "$_libamr_nb" = auto
; then
6542 #include <amrnb/sp_dec.h>
6543 int main(void) { Speech_Decode_Frame_init(); return 0; }
6545 cc_check
-lamrnb && _libamr_nb
=yes
6546 if test "$_libavcodec_a" != yes ; then
6548 _res_comment
="libavcodec (static) is required by libamr_nb, sorry"
6551 if test "$_libamr_nb" = yes ; then
6553 _ld_extra
="$_ld_extra -lamrnb"
6554 _def_libamr
='#define CONFIG_LIBAMR 1'
6555 _def_libamr_nb
='#define CONFIG_LIBAMR_NB 1'
6556 _libavdecoders
="$_libavdecoders LIBAMR_NB_DECODER"
6557 _libavencoders
="$_libavencoders LIBAMR_NB_ENCODER"
6558 _codecmodules
="libamr_nb $_codecmodules"
6560 _def_libamr_nb
='#undef CONFIG_LIBAMR_NB'
6561 _nocodecmodules
="libamr_nb $_nocodecmodules"
6563 echores
"$_libamr_nb"
6566 echocheck
"libamr wideband"
6567 if test "$_libamr_wb" = auto
; then
6570 #include <amrwb/dec_if.h>
6571 int main(void) { D_IF_init(); return 0; }
6573 cc_check
-lamrwb && _libamr_wb
=yes
6574 if test "$_libavcodec_a" != yes ; then
6576 _res_comment
="libavcodec (static) is required by libamr_wb, sorry"
6579 if test "$_libamr_wb" = yes ; then
6581 _ld_extra
="$_ld_extra -lamrwb"
6582 _def_libamr
='#define CONFIG_LIBAMR 1'
6583 _def_libamr_wb
='#define CONFIG_LIBAMR_WB 1'
6584 _libavdecoders
="$_libavdecoders LIBAMR_WB_DECODER"
6585 _libavencoders
="$_libavencoders LIBAMR_WB_ENCODER"
6586 _codecmodules
="libamr_wb $_codecmodules"
6588 _def_libamr_wb
='#undef CONFIG_LIBAMR_WB'
6589 _nocodecmodules
="libamr_wb $_nocodecmodules"
6591 echores
"$_libamr_wb"
6593 echocheck
"libdv-0.9.5+"
6594 if test "$_libdv" = auto
; then
6597 #include <libdv/dv.h>
6598 int main(void) { dv_encoder_t* enc=dv_encoder_new(1,1,1); return 0; }
6600 cc_check
-ldv $_ld_pthread $_ld_lm && _libdv
=yes
6602 if test "$_libdv" = yes ; then
6603 _def_libdv
='#define HAVE_LIBDV095 1'
6604 _ld_extra
="$_ld_extra -ldv"
6605 _codecmodules
="libdv $_codecmodules"
6607 _def_libdv
='#undef HAVE_LIBDV095'
6608 _nocodecmodules
="libdv $_nocodecmodules"
6614 if test "$_xvid" = auto
; then
6618 int main(void) { xvid_global(0, 0, 0, 0); return 0; }
6620 for _ld_tmp
in "-lxvidcore $_ld_lm" "-lxvidcore $_ld_lm $_ld_pthread" ; do
6621 cc_check
$_ld_tmp && _ld_extra
="$_ld_extra $_ld_tmp" && _xvid
=yes && break
6625 if test "$_xvid" = yes ; then
6626 _def_xvid
='#define HAVE_XVID4 1'
6627 _codecmodules
="xvid $_codecmodules"
6629 _def_xvid
='#undef HAVE_XVID4'
6630 _nocodecmodules
="xvid $_nocodecmodules"
6634 echocheck
"Xvid two pass plugin"
6635 if test "$_xvid" = yes && test "$_xvid_lavc" = auto
; then
6638 int main(void) { xvid_plugin_2pass2_t s; s.vbv_size=0; return 0; }
6640 cc_check
&& _xvid_lavc
=yes
6642 if test "$_xvid_lavc" = yes ; then
6643 _def_xvid_lavc
='#define CONFIG_LIBXVID 1'
6644 _libavencoders
="$_libavencoders LIBXVID_ENCODER"
6647 _def_xvid_lavc
='#undef CONFIG_LIBXVID'
6649 echores
"$_xvid_lavc"
6653 if test "$_x264" = auto
; then
6655 #include <inttypes.h>
6658 #error We do not support old versions of x264. Get the latest from SVN.
6660 int main(void) { x264_encoder_open((void*)0); return 0; }
6663 for _ld_x264
in "-lx264 $_ld_pthread" "-lx264 $_ld_pthread $_ld_lm" ; do
6664 cc_check
$_ld_x264 && _libs_mencoder
="$_libs_mencoder $_ld_x264" && _x264
=yes && break
6668 if test "$_x264" = yes ; then
6669 _def_x264
='#define HAVE_X264 1'
6670 _codecmodules
="x264 $_codecmodules"
6671 test "$_x264_lavc" = auto
&& _x264_lavc
=yes
6672 if test "$_x264_lavc" = yes ; then
6673 _def_x264_lavc
='#define CONFIG_LIBX264 1'
6674 _libs_mplayer
="$_libs_mplayer $_ld_x264"
6675 _libavencoders
="$_libavencoders LIBX264_ENCODER"
6679 _def_x264
='#undef HAVE_X264'
6680 _def_x264_lavc
='#undef CONFIG_LIBX264'
6681 _nocodecmodules
="x264 $_nocodecmodules"
6683 _res_comment
="in libavcodec: $_x264_lavc"
6687 echocheck
"libdirac"
6688 if test "$_libdirac_lavc" = auto
; then
6690 if test "$_libavcodec_a" != yes; then
6691 _res_comment
="libavcodec (static) is required by libdirac, sorry"
6694 #include <libdirac_encoder/dirac_encoder.h>
6695 #include <libdirac_decoder/dirac_parser.h>
6698 dirac_encoder_context_t enc_ctx;
6699 dirac_decoder_t *dec_handle;
6700 dirac_encoder_context_init(&enc_ctx, VIDEO_FORMAT_SD_576I50);
6701 dec_handle = dirac_decoder_init(0);
6703 dirac_decoder_close(dec_handle);
6707 if $_pkg_config --exists dirac
; then
6708 _inc_dirac
=`$_pkg_config --silence-errors --cflags dirac`
6709 _ld_dirac
=`$_pkg_config --silence-errors --libs dirac`
6710 cc_check
$_inc_dirac $_ld_dirac &&
6711 _libdirac_lavc
=yes &&
6712 _inc_extra
="$_inc_extra $_inc_dirac" &&
6713 _ld_extra
="$_ld_extra $_ld_dirac"
6717 if test "$_libdirac_lavc" = yes ; then
6718 _def_libdirac_lavc
='#define CONFIG_LIBDIRAC 1'
6719 _libavencoders
="$_libavencoders LIBDIRAC_ENCODER"
6720 _libavdecoders
="$_libavdecoders LIBDIRAC_DECODER"
6721 _codecmodules
="libdirac $_codecmodules"
6723 _def_libdirac_lavc
='#undef CONFIG_LIBDIRAC'
6724 _nocodecmodules
="libdirac $_nocodecmodules"
6726 echores
"$_libdirac_lavc"
6729 echocheck
"libschroedinger"
6730 if test "$_libschroedinger_lavc" = auto
; then
6731 _libschroedinger_lavc
=no
6732 if test "$_libavcodec_a" != yes; then
6733 _res_comment
="libavcodec (static) is required by libschroedinger, sorry"
6736 #include <schroedinger/schro.h>
6737 int main(void) { schro_init(); return 0; }
6739 if $_pkg_config --exists schroedinger-1.0
; then
6740 _inc_schroedinger
=`$_pkg_config --silence-errors --cflags schroedinger-1.0`
6741 _ld_schroedinger
=`$_pkg_config --silence-errors --libs schroedinger-1.0`
6742 cc_check
$_inc_schroedinger $_ld_schroedinger &&
6743 _libschroedinger_lavc
=yes &&
6744 _inc_extra
="$_inc_extra $_inc_schroedinger" &&
6745 _ld_extra
="$_ld_extra $_ld_schroedinger"
6749 if test "$_libschroedinger_lavc" = yes ; then
6750 _def_libschroedinger_lavc
='#define CONFIG_LIBSCHROEDINGER 1'
6751 _libavencoders
="$_libavencoders LIBSCHROEDINGER_ENCODER"
6752 _libavdecoders
="$_libavdecoders LIBSCHROEDINGER_DECODER"
6753 _codecmodules
="libschroedinger $_codecmodules"
6755 _def_libschroedinger_lavc
='#undef CONFIG_LIBSCHROEDINGER'
6756 _nocodecmodules
="libschroedinger $_nocodecmodules"
6758 echores
"$_libschroedinger_lavc"
6761 if test "$_libnut" = auto
; then
6765 #include <inttypes.h>
6767 int main(void) { (void)nut_error(0); return 0; }
6770 cc_check
-lnut && _libnut
=yes
6773 if test "$_libnut" = yes ; then
6774 _def_libnut
='#define HAVE_LIBNUT 1'
6775 _ld_extra
="$_ld_extra -lnut"
6777 _def_libnut
='#undef HAVE_LIBNUT'
6781 #check must be done after libavcodec one
6783 if test "$_zr" = auto
; then
6784 #36067's seem to identify themselves as 36057PQC's, so the line
6785 #below should work for 36067's and 36057's.
6786 if grep -q -s -e "Multimedia video controller: Zoran Corporation ZR36057" /proc
/pci
; then
6792 if test "$_zr" = yes ; then
6793 if test "$_libavcodec_a" = yes ; then
6794 _def_zr
='#define HAVE_ZR 1'
6795 _vosrc
="$_vosrc vo_zr2.c vo_zr.c jpeg_enc.c"
6796 _vomodules
="zr zr2 $_vomodules"
6798 _res_comment
="libavcodec (static) is required by zr, sorry"
6799 _novomodules
="zr $_novomodules"
6800 _def_zr
='#undef HAVE_ZR'
6803 _def_zr
='#undef HAVE_ZR'
6804 _novomodules
="zr zr2 $_novomodules"
6808 # mencoder requires (optional) those libs: libmp3lame
6809 if test "$_mencoder" != no
; then
6811 echocheck
"libmp3lame (for mencoder)"
6812 _def_mp3lame_preset
='#undef HAVE_MP3LAME_PRESET'
6813 _def_mp3lame_preset_medium
='#undef HAVE_MP3LAME_PRESET_MEDIUM'
6814 if test "$_mp3lame" = auto
; then
6817 #include <lame/lame.h>
6818 int main(void) { lame_version_t lv; (void) lame_init();
6819 get_lame_version_numerical(&lv); printf("%d%d\n",lv.major,lv.minor);
6822 cc_check
-lmp3lame $_ld_lm && tmp_run
&& _mp3lame
=yes
6824 if test "$_mp3lame" = yes ; then
6825 _def_mp3lame
="#define HAVE_MP3LAME"
6826 _ld_mp3lame
=-lmp3lame
6827 _libs_mencoder
="$_libs_mencoder $_ld_mp3lame"
6829 #include <lame/lame.h>
6830 int main(void) { lame_set_preset(NULL, STANDARD_FAST); return 0; }
6832 cc_check
$_ld_mp3lame $_ld_lm && _def_mp3lame_preset
="#define HAVE_MP3LAME_PRESET"
6834 #include <lame/lame.h>
6835 int main(void) { lame_set_preset(NULL, MEDIUM_FAST); return 0; }
6837 cc_check
$_ld_mp3lame $_ld_lm && _def_mp3lame_preset_medium
="#define HAVE_MP3LAME_PRESET_MEDIUM"
6838 test "$_mp3lame_lavc" = auto
&& _mp3lame_lavc
=yes
6839 if test "$_mp3lame_lavc" = yes ; then
6840 _def_mp3lame_lavc
="#define CONFIG_LIBMP3LAME 1"
6841 _libavencoders
="$_libavencoders LIBMP3LAME_ENCODER"
6842 _libs_mplayer
="$_libs_mplayer $_ld_mp3lame"
6846 _def_mp3lame
='#undef HAVE_MP3LAME'
6847 _def_mp3lame_lavc
="#undef CONFIG_LIBMP3LAME"
6849 _res_comment
="in libavcodec: $_mp3lame_lavc"
6854 echocheck
"mencoder"
6855 _mencoder_flag
='#undef HAVE_MENCODER'
6856 if test "$_mencoder" = yes ; then
6857 _mencoder_flag
='#define HAVE_MENCODER'
6858 _def_muxers
='#define CONFIG_MUXERS 1'
6860 # mpeg1video for vf_lavc, snow for vf_uspp and vf_mcdeint
6861 _libavencoders
="MPEG1VIDEO_ENCODER SNOW_ENCODER"
6864 echores
"$_mencoder"
6866 echocheck
"fastmemcpy"
6867 # fastmemcpy check is done earlier with tests of CPU & binutils features
6868 if test "$_fastmemcpy" = yes ; then
6869 _def_fastmemcpy
='#define CONFIG_FASTMEMCPY 1'
6871 _def_fastmemcpy
='#undef CONFIG_FASTMEMCPY'
6873 echores
"$_fastmemcpy"
6876 echocheck
"UnRAR executable"
6877 if test "$_unrar_exec" = auto
; then
6879 mingw32
&& _unrar_exec
="no"
6881 if test "$_unrar_exec" = yes ; then
6882 _def_unrar_exec
='#define CONFIG_UNRAR_EXEC 1'
6884 _def_unrar_exec
='#undef CONFIG_UNRAR_EXEC'
6886 echores
"$_unrar_exec"
6888 echocheck
"TV interface"
6889 if test "$_tv" = yes ; then
6890 _def_tv
='#define CONFIG_TV 1'
6891 _inputmodules
="tv $_inputmodules"
6893 _noinputmodules
="tv $_noinputmodules"
6894 _def_tv
='#undef CONFIG_TV'
6899 if freebsd || netbsd || openbsd || dragonfly || bsdos
; then
6900 echocheck
"*BSD BT848 bt8xx header"
6902 for file in "machine/ioctl_bt848.h" \
6903 "dev/bktr/ioctl_bt848.h" \
6904 "dev/video/bktr/ioctl_bt848.h" \
6905 "dev/ic/bt8xx.h" ; do
6907 #include <sys/types.h>
6908 #include <sys/ioctl.h>
6910 int main(void) { ioctl(0, TVTUNER_GETFREQ, 0); return 0; }
6914 _ioctl_bt848_h_name
="$file"
6918 if test "$_ioctl_bt848_h" = yes ; then
6919 _def_ioctl_bt848_h_name
="#define IOCTL_BT848_H_NAME <$_ioctl_bt848_h_name>"
6920 _res_comment
="using $_ioctl_bt848_h_name"
6922 _def_ioctl_bt848_h_name
="#undef IOCTL_BT848_H_NAME"
6924 echores
"$_ioctl_bt848_h"
6926 echocheck
"*BSD ioctl_meteor.h"
6928 for file in "machine/ioctl_meteor.h" \
6929 "dev/bktr/ioctl_meteor.h" \
6930 "dev/video/bktr/ioctl_meteor.h" ; do
6932 #include <sys/types.h>
6934 int main(void) { ioctl(0, METEORSINPUT, 0); return 0; }
6938 _ioctl_meteor_h_name
="$file"
6942 if test "$_ioctl_meteor_h" = yes ; then
6943 _def_ioctl_meteor_h_name
="#define IOCTL_METEOR_H_NAME <$_ioctl_meteor_h_name>"
6944 _res_comment
="using $_ioctl_meteor_h_name"
6946 _def_ioctl_meteor_h_name
="#undef IOCTL_METEOR_H_NAME"
6948 echores
"$_ioctl_meteor_h"
6950 echocheck
"*BSD BrookTree 848 TV interface"
6951 if test "$_tv_bsdbt848" = auto
; then
6953 if test "$_tv" = yes ; then
6955 #include <sys/types.h>
6956 $_def_ioctl_meteor_h_name
6957 $_def_ioctl_bt848_h_name
6958 #ifdef IOCTL_METEOR_H_NAME
6959 #include IOCTL_METEOR_H_NAME
6961 #ifdef IOCTL_BT848_H_NAME
6962 #include IOCTL_BT848_H_NAME
6965 ioctl(0, METEORSINPUT, 0);
6966 ioctl(0, TVTUNER_GETFREQ, 0);
6970 cc_check
&& _tv_bsdbt848
=yes
6973 if test "$_tv_bsdbt848" = yes ; then
6974 _def_tv_bsdbt848
='#define HAVE_TV_BSDBT848 1'
6975 _inputmodules
="tv-bsdbt848 $_inputmodules"
6977 _def_tv_bsdbt848
='#undef HAVE_TV_BSDBT848'
6978 _noinputmodules
="tv-bsdbt848 $_noinputmodules"
6980 echores
"$_tv_bsdbt848"
6981 fi #if freebsd || netbsd || openbsd || dragonfly || bsdos
6984 echocheck
"DirectShow TV interface"
6985 if test "$_tv_dshow" = auto
; then
6987 if test "$_tv" = yes && win32
; then
6992 CoCreateInstance((GUID*)&GUID_NULL, NULL, CLSCTX_INPROC_SERVER, &GUID_NULL, &p);
6996 cc_check
-lole32 -luuid && _tv_dshow
=yes
6999 if test "$_tv_dshow" = yes ; then
7000 _inputmodules
="tv-dshow $_inputmodules"
7001 _def_tv_dshow
='#define HAVE_TV_DSHOW 1'
7002 _ld_extra
="$_ld_extra -lole32 -luuid"
7004 _noinputmodules
="tv-dshow $_noinputmodules"
7005 _def_tv_dshow
='#undef HAVE_TV_DSHOW'
7007 echores
"$_tv_dshow"
7010 echocheck
"Video 4 Linux TV interface"
7011 if test "$_tv_v4l1" = auto
; then
7013 if test "$_tv" = yes && linux
; then
7016 #include <linux/videodev.h>
7017 int main(void) { return 0; }
7019 cc_check
&& _tv_v4l1
=yes
7022 if test "$_tv_v4l1" = yes ; then
7025 _def_tv_v4l
='#define HAVE_TV_V4L 1'
7026 _def_tv_v4l1
='#define HAVE_TV_V4L1 1'
7027 _inputmodules
="tv-v4l $_inputmodules"
7029 _noinputmodules
="tv-v4l1 $_noinputmodules"
7030 _def_tv_v4l
='#undef HAVE_TV_V4L'
7035 echocheck
"Video 4 Linux 2 TV interface"
7036 if test "$_tv_v4l2" = auto
; then
7038 if test "$_tv" = yes && linux
; then
7041 #include <linux/types.h>
7042 #include <linux/videodev2.h>
7043 int main(void) { return 0; }
7045 cc_check
&& _tv_v4l2
=yes
7048 if test "$_tv_v4l2" = yes ; then
7051 _def_tv_v4l
='#define HAVE_TV_V4L 1'
7052 _def_tv_v4l2
='#define HAVE_TV_V4L2 1'
7053 _inputmodules
="tv-v4l2 $_inputmodules"
7055 _noinputmodules
="tv-v4l2 $_noinputmodules"
7056 _def_tv_v4l2
='#undef HAVE_TV_V4L2'
7061 echocheck
"TV teletext interface"
7062 if test "$_tv_teletext" = auto
; then
7064 if test "$_freetype" = yes && test "$_pthreads" = yes; then
7065 if test "$_tv_v4l2" = yes ||
test "$_v4l" = yes ||
test "$_tv_dshow" = yes; then
7070 if test "$_tv_teletext" = yes ; then
7071 _def_tv_teletext
='#define HAVE_TV_TELETEXT 1'
7072 _inputmodules
="tv-teletext $_inputmodules"
7074 _noinputmodules
="tv-teletext $_noinputmodules"
7075 _def_tv_teletext
='#undef HAVE_TV_TELETEXT'
7077 echores
"$_tv_teletext"
7080 echocheck
"Radio interface"
7081 if test "$_radio" = yes ; then
7082 _def_radio
='#define CONFIG_RADIO 1'
7083 _inputmodules
="radio $_inputmodules"
7084 if test "$_alsa9" != yes -a "$_alsa1x" != yes -a "$_ossaudio" != yes ; then
7087 if test "$_radio_capture" = yes ; then
7089 _def_radio_capture
="#define CONFIG_RADIO_CAPTURE 1"
7091 _def_radio_capture
="#undef CONFIG_RADIO_CAPTURE"
7094 _noinputmodules
="radio $_noinputmodules"
7095 _def_radio
='#undef CONFIG_RADIO'
7096 _def_radio_capture
="#undef CONFIG_RADIO_CAPTURE"
7100 echocheck
"Capture for Radio interface"
7101 echores
"$_radio_capture"
7103 echocheck
"Video 4 Linux 2 Radio interface"
7104 if test "$_radio_v4l2" = auto
; then
7106 if test "$_radio" = yes && linux
; then
7109 #include <linux/types.h>
7110 #include <linux/videodev2.h>
7111 int main(void) { return 0; }
7113 cc_check
&& _radio_v4l2
=yes
7116 if test "$_radio_v4l2" = yes ; then
7117 _def_radio_v4l2
='#define HAVE_RADIO_V4L2 1'
7119 _def_radio_v4l2
='#undef HAVE_RADIO_V4L2'
7121 echores
"$_radio_v4l2"
7123 echocheck
"Video 4 Linux Radio interface"
7124 if test "$_radio_v4l" = auto
; then
7126 if test "$_radio" = yes && linux
; then
7129 #include <linux/videodev.h>
7130 int main(void) { return 0; }
7132 cc_check
&& _radio_v4l
=yes
7135 if test "$_radio_v4l" = yes ; then
7136 _def_radio_v4l
='#define HAVE_RADIO_V4L 1'
7138 _def_radio_v4l
='#undef HAVE_RADIO_V4L'
7140 echores
"$_radio_v4l"
7142 if freebsd || netbsd || openbsd || dragonfly || bsdos \
7143 && test "$_radio" = yes && test "$_radio_bsdbt848" = auto
; then
7144 echocheck
"*BSD BrookTree 848 Radio interface"
7147 #include <sys/types.h>
7148 $_def_ioctl_bt848_h_name
7149 #ifdef IOCTL_BT848_H_NAME
7150 #include IOCTL_BT848_H_NAME
7152 int main(void) { ioctl(0, RADIO_GETFREQ, 0); return 0; }
7154 cc_check
&& _radio_bsdbt848
=yes
7155 echores
"$_radio_bsdbt848"
7156 fi #if freebsd || netbsd || openbsd || dragonfly || bsdos && _radio && _radio_bsdbt848
7158 if test "$_radio_bsdbt848" = yes ; then
7159 _def_radio_bsdbt848
='#define HAVE_RADIO_BSDBT848 1'
7161 _def_radio_bsdbt848
='#undef HAVE_RADIO_BSDBT848'
7164 if test "$_radio_v4l" = no
&& test "$_radio_v4l2" = no
&& \
7165 test "$_radio_bsdbt848" = no
&& test "$_radio" = yes ; then
7166 die
"Radio driver requires BSD BT848, V4L or V4L2!"
7169 echocheck
"Video 4 Linux 2 MPEG PVR interface"
7170 if test "$_pvr" = auto
; then
7172 if test "$_tv_v4l2" = yes && linux
; then
7175 #include <inttypes.h>
7176 #include <linux/types.h>
7177 #include <linux/videodev2.h>
7178 int main(void) { struct v4l2_ext_controls ext; return 0; }
7180 cc_check
&& _pvr
=yes
7183 if test "$_pvr" = yes ; then
7184 _def_pvr
='#define HAVE_PVR 1'
7185 _inputmodules
="pvr $_inputmodules"
7187 _noinputmodules
="pvr $_noinputmodules"
7188 _def_pvr
='#undef HAVE_PVR'
7193 echocheck
"audio select()"
7194 if test "$_select" = no
; then
7195 _def_select
='#undef HAVE_AUDIO_SELECT'
7196 elif test "$_select" = yes ; then
7197 _def_select
='#define HAVE_AUDIO_SELECT 1'
7203 if ! beos
&& test "$_ftp" = yes ; then
7204 _def_ftp
='#define HAVE_FTP 1'
7205 _inputmodules
="ftp $_inputmodules"
7207 _noinputmodules
="ftp $_noinputmodules"
7208 _def_ftp
='#undef HAVE_FTP'
7212 echocheck
"vstream client"
7213 if test "$_vstream" = auto
; then
7216 #include <vstream-client.h>
7217 void vstream_error(const char *format, ... ) {}
7218 int main(void) { vstream_start(); return 0; }
7220 cc_check
-lvstream-client && _vstream
=yes
7222 if test "$_vstream" = yes ; then
7223 _def_vstream
='#define HAVE_VSTREAM 1'
7224 _inputmodules
="vstream $_inputmodules"
7225 _ld_extra
="$_ld_extra -lvstream-client"
7227 _noinputmodules
="vstream $_noinputmodules"
7228 _def_vstream
='#undef HAVE_VSTREAM'
7233 echocheck
"byte order"
7234 if test "$_big_endian" = auto
; then
7236 short ascii_name[] = { (('M'<<8)|'P'),(('l'<<8)|'a'),(('y'<<8)|'e'),(('r'<<8)|'B'),
7237 (('i'<<8)|'g'),(('E'<<8)|'n'),(('d'<<8)|'i'),(('a'<<8)|'n'),0};
7238 int main(void) { return (int)ascii_name; }
7241 if strings $TMPEXE |
grep -q -l MPlayerBigEndian
; then
7247 echo ${_echo_n} "failed to autodetect byte order, defaulting to ${_echo_c}"
7250 if test "$_big_endian" = yes ; then
7251 _byte_order
='big-endian'
7252 _def_words_endian
='#define WORDS_BIGENDIAN 1'
7254 _byte_order
='little-endian'
7255 _def_words_endian
='#undef WORDS_BIGENDIAN'
7257 echores
"$_byte_order"
7259 echocheck
"OSD menu"
7260 if test "$_menu" = yes ; then
7261 _def_menu
='#define HAVE_MENU 1'
7262 test $_dvbin = "yes" && _menu_dvbin
=yes
7264 _def_menu
='#undef HAVE_MENU'
7270 echocheck
"Subtitles sorting"
7271 if test "$_sortsub" = yes ; then
7272 _def_sortsub
='#define CONFIG_SORTSUB 1'
7274 _def_sortsub
='#undef CONFIG_SORTSUB'
7279 echocheck
"XMMS inputplugin support"
7280 if test "$_xmms" = yes ; then
7281 if ( xmms-config
--version ) >/dev
/null
2>&1 ; then
7282 _xmmsplugindir
=`xmms-config --input-plugin-dir`
7283 _xmmslibdir
=`xmms-config --exec-prefix`/lib
7285 _xmmsplugindir
=/usr
/lib
/xmms
/Input
7286 _xmmslibdir
=/usr
/lib
7289 _def_xmms
='#define HAVE_XMMS 1'
7291 _ld_extra
="$_ld_extra ${_xmmslibdir}/libxmms.dylib"
7293 _ld_extra
="$_ld_extra ${_xmmslibdir}/libxmms.so.1 -export-dynamic"
7296 _def_xmms
='#undef HAVE_XMMS'
7301 if test "$_inet6" = auto
; then
7303 #include <sys/types.h>
7304 #if !defined(_WIN32) || defined(__CYGWIN__)
7305 #include <sys/socket.h>
7306 #include <netinet/in.h>
7308 #include <ws2tcpip.h>
7310 int main(void) { struct sockaddr_in6 six; socket(AF_INET6, SOCK_STREAM, AF_INET6); return 0; }
7313 if cc_check
$_ld_sock ; then
7317 if test "$_inet6" = yes ; then
7318 _def_inet6
='#define HAVE_AF_INET6 1'
7320 _def_inet6
='#undef HAVE_AF_INET6'
7325 echocheck
"gethostbyname2"
7326 if test "$_gethostbyname2" = auto
; then
7328 #include <sys/types.h>
7329 #include <sys/socket.h>
7331 int main(void) { gethostbyname2("", AF_INET); return 0; }
7339 if test "$_gethostbyname2" = yes ; then
7340 _def_gethostbyname2
='#define HAVE_GETHOSTBYNAME2 1'
7342 _def_gethostbyname2
='#undef HAVE_GETHOSTBYNAME2'
7344 echores
"$_gethostbyname2"
7347 # --------------- GUI specific tests begin -------------------
7350 if test "$_gui" = yes ; then
7352 # Required libraries
7353 if test "$_libavcodec" != yes ||
7354 ! echo $_libavdecoders |
grep -q PNG_DECODER
; then
7355 die
"The GUI requires libavcodec with PNG support (needs zlib)."
7357 test "$_freetype" = no
&& test "$_bitmap_font" = no
&& \
7358 die
"The GUI requires either FreeType or bitmap font support."
7361 test "$_x11" != yes && die
"X11 support required for GUI compilation."
7363 echocheck
"XShape extension"
7364 if test "$_xshape" = auto
; then
7367 #include <X11/Xlib.h>
7368 #include <X11/Xproto.h>
7369 #include <X11/Xutil.h>
7370 #include <X11/extensions/shape.h>
7373 char *name = ":0.0";
7376 int eventbase, errorbase;
7377 if (getenv("DISPLAY"))
7378 name=getenv("DISPLAY");
7379 wsDisplay=XOpenDisplay(name);
7380 if (!XShapeQueryExtension(wsDisplay,&eventbase,&errorbase))
7382 XCloseDisplay(wsDisplay);
7386 cc_check
-lXext && _xshape
=yes
7388 if test "$_xshape" = yes ; then
7389 _def_xshape
='#define HAVE_XSHAPE 1'
7391 die
"The GUI requires the X11 extension XShape (which was not found)."
7396 if test "$_gtk1" = no
; then
7398 echocheck
"GTK+ version"
7400 if $_pkg_config gtk
+-2.0
--exists ; then
7401 _gtk
=`$_pkg_config gtk+-2.0 --modversion 2>/dev/null`
7402 _inc_extra
="$_inc_extra `$_pkg_config gtk+-2.0 --cflags 2>/dev/null`"
7403 _libs_mplayer
="$_libs_mplayer `$_pkg_config gtk+-2.0 --libs 2>/dev/null`"
7407 if $_pkg_config glib-2.0
--exists ; then
7408 echocheck
"glib version"
7409 _glib
=`$_pkg_config glib-2.0 --modversion 2>/dev/null`
7410 _libs_mplayer
="$_libs_mplayer `$_pkg_config glib-2.0 --libs 2>/dev/null`"
7413 _def_gui
='#define HAVE_NEW_GUI 1'
7414 _def_gtk2_gui
='#define HAVE_GTK2_GUI 1'
7417 echo "GLIB-2 devel packages were not found, trying GTK 1.2"
7420 echo "GTK-2 devel packages were not found, trying GTK 1.2"
7425 if test "$_gtk1" = yes ; then
7426 # Check for old GTK (1.2.x)
7427 echocheck
"GTK version"
7428 if test -z "$_gtkconfig" ; then
7429 if ( gtk-config
--version ) >/dev
/null
2>&1 ; then
7430 _gtkconfig
="gtk-config"
7431 elif ( gtk12-config
--version ) >/dev
/null
2>&1 ; then
7432 _gtkconfig
="gtk12-config"
7434 die
"The GUI requires GTK devel packages (which were not found)."
7437 _gtk
=`$_gtkconfig --version 2>&1`
7438 _inc_extra
="$_inc_extra `$_gtkconfig --cflags 2>&1`"
7439 _libs_mplayer
="$_libs_mplayer `$_gtkconfig --libs 2>&1`"
7440 echores
"$_gtk (using $_gtkconfig)"
7443 echocheck
"glib version"
7444 if test -z "$_glibconfig" ; then
7445 if ( glib-config
--version ) >/dev
/null
2>&1 ; then
7446 _glibconfig
="glib-config"
7447 elif ( glib12-config
--version ) >/dev
/null
2>&1 ; then
7448 _glibconfig
="glib12-config"
7450 die
"The GUI requires GLIB devel packages (which were not found)"
7453 _glib
=`$_glibconfig --version 2>&1`
7454 _libs_mplayer
="$_libs_mplayer `$_glibconfig --libs 2>&1`"
7455 echores
"$_glib (using $_glibconfig)"
7457 _def_gui
='#define HAVE_NEW_GUI 1'
7458 _def_gtk2_gui
='#undef HAVE_GTK2_GUI'
7463 _libs_mplayer
="$_libs_mplayer -lcomdlg32 -lcomctl32 -lshell32 -lkernel32"
7464 _def_gui
='#define HAVE_NEW_GUI 1'
7465 _def_gtk2_gui
='#undef HAVE_GTK2_GUI'
7468 else #if test "$_gui"
7469 _def_gui
='#undef HAVE_NEW_GUI'
7470 _def_gtk2_gui
='#undef HAVE_GTK2_GUI'
7472 # --------------- GUI specific tests end -------------------
7475 if test "$_charset" = "noconv" ; then
7478 if test "$_charset" ; then
7479 _def_charset
="#define MSG_CHARSET \"$_charset\""
7481 _def_charset
="#undef MSG_CHARSET"
7484 if test -n "$_charset" && test "$_charset" != "UTF-8" ; then
7485 echocheck
"iconv program"
7486 iconv -f UTF-8
-t $_charset ${_mp_help} > /dev
/null
2>> "$TMPLOG"
7487 if test "$?" -ne 0 ; then
7489 echo "No working iconv program found, use "
7490 echo "--charset=UTF-8 to continue anyway."
7491 echo "If you also have problems with iconv library functions use --charset=noconv."
7492 echo "Messages in the GTK-2 interface will be broken then."
7499 #############################################################################
7501 echocheck
"automatic gdb attach"
7502 if test "$_crash_debug" = yes ; then
7503 _def_crash_debug
='#define CRASH_DEBUG 1'
7505 _def_crash_debug
='#undef CRASH_DEBUG'
7508 echores
"$_crash_debug"
7510 echocheck
"compiler support for noexecstack"
7512 int main(void) { return 0; }
7514 if cc_check
-Wl,-z,noexecstack
; then
7515 _ld_extra
="-Wl,-z,noexecstack $_ld_extra"
7522 # Dynamic linking flags
7523 # (FIXME: 'echocheck "dynamic linking"' above and modify here accordingly)
7525 freebsd || netbsd || openbsd || dragonfly || bsdos
&& _ld_dl_dynamic
='-rdynamic'
7526 if test "$_real" = yes ||
test "$_xanim" = yes && ! win32
&& ! qnx
&& ! darwin
&& ! os2
; then
7527 _ld_dl_dynamic
='-rdynamic'
7530 _ld_extra
="$_ld_extra $_ld_pthread $_ld_dl $_ld_dl_dynamic"
7531 bsdos
&& _ld_extra
="$_ld_extra -ldvd"
7532 netbsd
&& x86_32
&& _ld_extra
="$_ld_extra -li386"
7533 openbsd
&& x86_32
&& _ld_extra
="$_ld_extra -li386"
7535 _def_debug
='#undef MP_DEBUG'
7536 test "$_debug" != "" && _def_debug
='#define MP_DEBUG 1'
7539 echocheck
"joystick"
7540 _def_joystick
='#undef HAVE_JOYSTICK'
7541 if test "$_joystick" = yes ; then
7543 # TODO add some check
7544 _def_joystick
='#define HAVE_JOYSTICK 1'
7547 _res_comment
="unsupported under $system_name"
7550 echores
"$_joystick"
7553 if test "$_lirc" = auto
; then
7556 #include <lirc/lirc_client.h>
7557 int main(void) { return 0; }
7559 cc_check
-llirc_client && _lirc
=yes
7561 if test "$_lirc" = yes ; then
7562 _def_lirc
='#define HAVE_LIRC 1'
7563 _ld_extra
="$_ld_extra -llirc_client"
7565 _def_lirc
='#undef HAVE_LIRC'
7570 if test "$_lircc" = auto
; then
7573 #include <lirc/lircc.h>
7574 int main(void) { return 0; }
7576 cc_check
-llircc && _lircc
=yes
7578 if test "$_lircc" = yes ; then
7579 _def_lircc
='#define HAVE_LIRCC 1'
7580 _ld_extra
="$_ld_extra -llircc"
7582 _def_lircc
='#undef HAVE_LIRCC'
7587 # Detect maemo development platform libraries availability (http://www.maemo.org),
7588 # they are used when run on Nokia 770|8x0
7589 echocheck
"maemo (Nokia 770|8x0)"
7590 if test "$_maemo" = auto
; then
7593 #include <libosso.h>
7594 int main(void) { (void) osso_initialize("", "", 0, NULL); return 0; }
7596 cc_check
`$_pkg_config --cflags --libs libosso 2>/dev/null` && _maemo
=yes
7598 if test "$_maemo" = yes ; then
7599 _def_maemo
='#define HAVE_MAEMO 1'
7600 _inc_extra
="$_inc_extra `$_pkg_config --cflags libosso`"
7601 _ld_extra
="$_ld_extra `$_pkg_config --libs libosso` -lXsp"
7603 _def_maemo
='#undef HAVE_MAEMO'
7608 #this must be the last test to be performed or the ones following it will likely fail
7609 #because libdvdnavmini is intentionally not linked against libdvdread (to permit mplayer
7610 # to use its own copy of the library)
7611 echocheck
"DVD support (libdvdnav)"
7612 if test "$_dvdnav" = auto
; then
7613 if test "$_dvdread_internal" = yes ; then
7615 _res_comment
="Disabled in favor of the internal copy of dvdread. Append --disable-dvdread-internal."
7617 $_dvdnavconfig --version --minilibs >> $TMPLOG 2>&1 || _dvdnav
=no
7620 if test "$_dvdnav" = auto
; then
7622 #include <inttypes.h>
7623 #include <dvdnav/dvdnav.h>
7624 int main(void) { dvdnav_t *dvd=0; return 0; }
7627 _dvdnavdir
=`$_dvdnavconfig --cflags`
7628 _dvdnavlibs
=`$_dvdnavconfig --libs`
7629 cc_check
$_dvdnavdir $_dvdnavlibs $_ld_dl $_ld_pthread && _dvdnav
=yes
7631 if test "$_dvdnav" = yes ; then
7633 _def_dvdnav
='#define CONFIG_DVDNAV 1'
7634 _inc_extra
="$_inc_extra `$_dvdnavconfig --cflags`"
7635 _ld_extra
="$_ld_extra `$_dvdnavconfig --minilibs`"
7636 _inputmodules
="dvdnav $_inputmodules"
7638 _def_dvdnav
='#undef CONFIG_DVDNAV'
7639 _noinputmodules
="dvdnav $_noinputmodules"
7644 #############################################################################
7646 # On OS/2 nm supports only a.out. So the -Zomf compiler option to generate
7647 # the OMF format needs to come after the 'extern symbol prefix' check, which
7650 _ld_extra
="$_ld_extra -Zomf -Zstack 16384 -Zbin-files -Zargs-wild"
7653 # linker paths should be the same for mencoder and mplayer
7655 for I
in $_libs_mplayer ; do
7656 _tmp
=`echo $I | sed -e 's/^-L.*$//'`
7657 if test -z "$_tmp" ; then
7658 _ld_extra
="$I $_ld_extra"
7660 _ld_tmp
="$_ld_tmp $I"
7663 _libs_mplayer
=$_ld_tmp
7666 #############################################################################
7668 CFLAGS
="$CFLAGS -mdynamic-no-pic -falign-loops=16 -shared-libgcc"
7669 if [ "$_cc_major" = 3 ] && [ "$_cc_minor" -lt 1 ]; then
7670 CFLAGS
="$CFLAGS -no-cpp-precomp"
7674 CFLAGS
="$CFLAGS -DNEWLIB -D__USE_INLINE__"
7678 CFLAGS
="$CFLAGS -D_REENTRANT"
7679 elif freebsd || netbsd || openbsd || bsdos
; then
7680 # FIXME bsd needs this so maybe other OS'es
7681 CFLAGS
="$CFLAGS -D_THREAD_SAFE"
7683 # 64 bit file offsets?
7684 if test "$_largefiles" = yes || freebsd
; then
7685 CFLAGS
="$CFLAGS -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
7686 if test "$_dvdread" = yes ||
test "$_libdvdcss_internal" = yes ; then
7687 # dvdread support requires this (for off64_t)
7688 CFLAGS
="$CFLAGS -D_LARGEFILE64_SOURCE"
7693 int main(void) { return 0; }
7695 if test "$cc_vendor" = "gnu" ; then
7696 cc_check
-std=gnu99
&& CFLAGS
="-std=gnu99 $CFLAGS"
7697 cc_check
-Wno-pointer-sign && CFLAGS
="-Wno-pointer-sign $CFLAGS"
7698 cc_check
-Wdisabled-optimization && CFLAGS
="-Wdisabled-optimization $CFLAGS"
7701 CFLAGS_FFMPEG
="-I../.. $CFLAGS"
7702 CFLAGS
="-I. -Iffmpeg $CFLAGS"
7703 CXXFLAGS
=" $CFLAGS -D__STDC_LIMIT_MACROS"
7705 cc_check
-mno-omit-leaf-frame-pointer && CFLAG_NO_OMIT_LEAF_FRAME_POINTER
="-mno-omit-leaf-frame-pointer"
7707 #############################################################################
7708 echo "Creating config.mak"
7709 cat > config.mak
<< EOF
7710 # -------- Generated by configure -----------
7712 # Ensure that locale settings do not interfere with shell commands.
7715 DOC_LANG = $doc_lang
7716 DOC_LANGS = $doc_langs
7717 DOC_LANG_ALL = $doc_lang_all
7718 MAN_LANG = $man_lang
7719 MAN_LANGS = $man_langs
7720 MAN_LANG_ALL = $man_lang_all
7723 prefix = \$(DESTDIR)$_prefix
7724 BINDIR = \$(DESTDIR)$_bindir
7725 DATADIR = \$(DESTDIR)$_datadir
7726 MANDIR = \$(DESTDIR)$_mandir
7727 CONFDIR = \$(DESTDIR)$_confdir
7728 LIBDIR = \$(DESTDIR)$_libdir
7737 INSTALLSTRIP = $_install_strip
7739 EXTRA_INC = $_inc_extra
7740 EXTRAXX_INC = $_inc_extra $_inc_extraxx
7741 CFLAGS = $CFLAGS \$(EXTRA_INC)
7742 OPTFLAGS = $CFLAGS \$(EXTRA_INC)
7743 FFMPEG_OFLAGS = $CFLAGS_FFMPEG \$(EXTRA_INC)
7744 CFLAG_NO_OMIT_LEAF_FRAME_POINTER = $CFLAG_NO_OMIT_LEAF_FRAME_POINTER
7745 CXXFLAGS = $CXXFLAGS \$(EXTRAXX_INC)
7746 CFLAG_STACKREALIGN = $_stackrealign
7747 LIBDVDCSS_DVDREAD_FLAGS = $_libdvdcss_dvdread_flags
7748 CFLAG_DHAHELPER = $cflag_dhahelper
7749 CFLAG_SVGALIB_HELPER = $cflag_svgalib_helper
7751 EXTRALIBS = $_extra_libs
7752 EXTRA_LIB = $_ld_extra $_ld_static $_ld_lm
7753 EXTRALIBS_MPLAYER = $_libs_mplayer
7754 EXTRALIBS_MENCODER = $_libs_mencoder
7757 HELP_FILE = $_mp_help
7763 `echo $_cpuexts | tr '[a-z] ' '[A-Z]\n' | sed 's/^/HAVE_/;s/$/=yes/'`
7771 MENCODER = $_mencoder
7776 LIBMPEG2 = $_libmpeg2
7778 TREMOR_INTERNAL = $_tremor_internal
7779 TREMOR_LOW = $_tremor_low
7781 HAVE_SYS_MMAN_H = $_mman
7782 HAVE_POSIX_SELECT = $_posix_select
7784 NEED_GETTIMEOFDAY = $_need_gettimeofday
7785 NEED_GLOB = $_need_glob
7786 NEED_MMAP = $_need_mmap
7787 NEED_SETENV = $_need_setenv
7788 NEED_SHMEM = $_need_shmem
7789 NEED_STRSEP = $_need_strsep
7790 NEED_SWAB = $_need_swab
7791 NEED_VSSCANF = $_need_vsscanf
7799 APPLE_IR = $_apple_ir
7800 APPLE_REMOTE = $_apple_remote
7801 AUDIO_INPUT = $_audio_input
7802 BITMAP_FONT = $_bitmap_font
7805 COREAUDIO = $_coreaudio
7806 COREVIDEO = $_corevideo
7810 DVDREAD_INTERNAL = $_dvdread_internal
7813 FAAD_INTERNAL = $_faad_internal
7814 FREETYPE = $_freetype
7819 GUI_WIN32 = $_gui_win32
7820 JOYSTICK = $_joystick
7826 LIBDVDCSS_INTERNAL = $_libdvdcss_internal
7830 LIBMENU_DVBIN = $_menu_dvbin
7831 LIBNEMESI = $_nemesi
7833 LIBSMBCLIENT = $_smbsupport
7834 LIBTHEORA = $_theora
7835 LIBVORBIS = $_vorbis
7837 MACOSX_BUNDLE = $_macosx_bundle
7838 MACOSX_FINDER_SUPPORT = $_macosx_finder_support
7840 MPLAYER_NETWORK = $_network
7841 MUSEPACK = $_musepack
7842 NATIVE_RTSP = $_native_rtsp
7843 PE_EXECUTABLE = $_pe_executable
7847 QTX_CODECS_WIN32 = $_qtx_codecs_win32
7848 QTX_EMULATION = $_qtx_emulation
7851 RADIO_CAPTURE=$_radio_capture
7852 REAL_CODECS = $_real
7854 STREAMING_LIVE555 = $_live
7855 STREAM_CACHE = $_stream_cache
7858 TV_BSDBT848 = $_tv_bsdbt848
7859 TV_DSHOW = $_tv_dshow
7860 TV_TELETEXT = $_tv_teletext
7865 UNRAR_EXEC = $_unrar_exec
7868 VIDIX_PCIDB = $_vidix_pcidb_val
7869 VIDIX_CYBERBLADE=$_vidix_drv_cyberblade
7870 VIDIX_IVTV=$_vidix_drv_ivtv
7871 VIDIX_MACH64=$_vidix_drv_mach64
7872 VIDIX_MGA=$_vidix_drv_mga
7873 VIDIX_MGA_CRTC2=$_vidix_drv_mga_crtc2
7874 VIDIX_NVIDIA=$_vidix_drv_nvidia
7875 VIDIX_PM2=$_vidix_drv_pm2
7876 VIDIX_PM3=$_vidix_drv_pm3
7877 VIDIX_RADEON=$_vidix_drv_radeon
7878 VIDIX_RAGE128=$_vidix_drv_rage128
7879 VIDIX_S3=$_vidix_drv_s3
7880 VIDIX_SIS=$_vidix_drv_sis
7881 VIDIX_UNICHROME=$_vidix_drv_unichrome
7883 WIN32DLL = $_win32dll
7884 WIN32_EMULATION = $_win32_emulation
7886 XANIM_CODECS = $_xanim
7887 XMMS_PLUGINS = $_xmms
7892 LIBAVUTIL = $_libavutil
7893 LIBAVUTIL_A = $_libavutil_a
7894 LIBAVUTIL_SO = $_libavutil_so
7895 LIBAVCODEC = $_libavcodec
7896 LIBAVCODEC_A = $_libavcodec_a
7897 LIBAVCODEC_SO = $_libavcodec_so
7898 LIBAVFORMAT = $_libavformat
7899 LIBAVFORMAT_A = $_libavformat_a
7900 LIBAVFORMAT_SO = $_libavformat_so
7901 LIBPOSTPROC = $_libpostproc
7902 LIBPOSTPROC_A = $_libpostproc_a
7903 LIBPOSTPROC_SO = $_libpostproc_so
7910 LIBNAME=\$(LIBPREF)\$(NAME)\$(LIBSUF)
7914 CONFIG_MUXERS=$_mencoder
7915 CONFIG_LIBAMR=$_libamr
7916 CONFIG_LIBAMR_NB=$_libamr_nb
7917 CONFIG_LIBAMR_WB=$_libamr_wb
7918 CONFIG_LIBDIRAC=$_libdirac_lavc
7919 CONFIG_LIBFAAC=$_faac_lavc
7920 CONFIG_LIBMP3LAME=$_mp3lame_lavc
7921 CONFIG_LIBSCHROEDINGER=$_libschroedinger_lavc
7922 CONFIG_LIBVORBIS=$_libvorbis
7923 CONFIG_LIBX264=$_x264_lavc
7924 CONFIG_LIBXVID=$_xvid_lavc
7925 CONFIG_MLIB = $_mlib
7926 CONFIG_POSTPROC = yes
7927 # Prevent building libavcodec/imgresample.c with conflicting symbols
7931 HAVE_PTHREADS = $_pthreads
7932 HAVE_W32THREADS = $_w32threads
7935 `echo $_libavdecoders | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/'`
7936 `echo $_libavencoders | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/'`
7937 `echo $_libavparsers | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/'`
7938 `echo $_libavdemuxers | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/'`
7939 `echo $_libavmuxers | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/'`
7940 `echo $_libavbsfs | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/'`
7942 DEPEND_CMD = \$(CC) -MM \$(CFLAGS) \$(filter-out %.h,\$^) | sed "s,[0-9a-z._-]*: \(\$(SRC_DIR)/\)*\([a-z0-9]*/\)[^/]* ,\\2&,"
7944 MPDEPEND_CMD = \$(CC) -MM \$(CFLAGS) \$(filter-out %.h,$^) | sed -e "s,[0-9a-z._-]*: \([a-z0-9/]*/\)[^/]* ,\1&," -e "s,\(.*\)\.o: ,\1.d &,"
7945 MPDEPEND_CMD_CXX = \$(CC) -MM \$(CXXFLAGS) \$(filter-out %.h,$^) | sed -e "s,[0-9a-z._-]*: \([a-z0-9/]*/\)[^/]* ,\1&," -e "s,\(.*\)\.o: ,\1.d &,"
7949 #############################################################################
7951 ff_config_enable
() {
7953 test -z "$_nprefix" && _nprefix
='CONFIG'
7955 if ` echo $2 | grep -q -E "(^| )$part($| )" `; then
7956 echo "#define ${_nprefix}_$part 1"
7957 echo "#define ENABLE_$part 1"
7959 echo "#define ENABLE_$part 0"
7964 echo "Creating config.h"
7966 /* -------- This file has been automatically generated by configure ---------
7967 Note: Any changes in it will be lost when you run configure again. */
7969 /* Protect against multiple inclusion */
7970 #ifndef MPLAYER_CONFIG_H
7971 #define MPLAYER_CONFIG_H
7973 #define CONFIGURATION "$_configuration"
7975 /* make sure we never get lavformat's poll() emulation, the results are
7976 horrible if the X libs try to actually use it, see MPlayer-users
7977 Message-ID: <45D49541.8060101@infernix.net>
7978 Date: Thu, 15 Feb 2007 18:15:45 +0100
7979 Subject: [MPlayer-users] Crash with backtrace when playing back demuxed...
7981 #define HAVE_SYS_POLL_H 1
7983 /* yes, we have inttypes.h */
7984 #define HAVE_INTTYPES_H 1
7986 /* int_fastXY_t emulation */
7990 #define HAVE_ERRNO_H 1
7992 /* libdvdcss + libdvdread */
7993 #define HAVE_LIMITS_H 1
7995 /* libdvdcss + libfaad2 */
7996 #define HAVE_UNISTD_H 1
7998 /* libfaad2 + libdvdread */
7999 #define STDC_HEADERS 1
8002 #define HAVE_MEMCPY 1
8003 #define HAVE_STRCHR 1
8006 #define HAVE_UINTPTR_T 1
8008 /* name of messages charset */
8011 /* Runtime CPU detection */
8012 $_def_runtime_cpudetection
8014 /* Dynamic a/v plugins */
8015 $_def_dynamic_plugins
8017 /* "restrict" keyword */
8018 $_def_restrict_keyword
8020 /* __builtin_expect branch prediction hint */
8021 $_def_builtin_expect
8022 #ifdef HAVE_BUILTIN_EXPECT
8023 #define likely(x) __builtin_expect ((x) != 0, 1)
8024 #define unlikely(x) __builtin_expect ((x) != 0, 0)
8026 #define likely(x) (x)
8027 #define unlikely(x) (x)
8030 /* attribute(used) as needed by some compilers */
8031 #if (__GNUC__ * 100 + __GNUC_MINOR__ >= 300)
8032 # define attribute_used __attribute__((used))
8034 # define attribute_used
8037 /* extern symbol prefix */
8040 /* compiler support for named assembler arguments */
8041 $_def_named_asm_args
8043 /* enable/disable SIGHANDLER */
8046 /* enable/disable automatic gdb attach on crash, requires SIGHANDLER */
8049 /* Toggles debugging informations */
8052 /* Indicates that libcdio is available for VCD and CD-DA playback */
8055 /* Indicates that Ogle's libdvdread is available for DVD playback */
8058 /* Indicates that dvdread is internal */
8059 $_def_dvdread_internal
8061 /* Additional options for libdvdread/libdvdcss */
8074 /* Common data directory (for fonts, etc) */
8075 #define MPLAYER_DATADIR "$_datadir"
8076 #define MPLAYER_CONFDIR "$_confdir"
8077 #define MPLAYER_LIBDIR "$_libdir"
8079 /* Define this to compile stream-caching support, it can be enabled via
8080 -cache <kilobytes> */
8083 /* Define if you are using Xvid library */
8086 /* Define if you are using the X.264 library */
8089 /* Define if you are using libnut */
8092 /* Define to include support for libdv-0.9.5 */
8095 /* If build mencoder */
8098 /* Indicates if libmp3lame is available
8099 Note: for mencoder */
8101 $_def_mp3lame_preset
8102 $_def_mp3lame_preset_medium
8104 /* Undefine this if you do not want to select mono audio (left or right)
8105 with a stereo MPEG layer 2/3 audio stream. The command line option
8106 -stereo has three possible values (0 for stereo, 1 for left-only, 2 for
8107 right-only), with 0 being the default.
8109 #define CONFIG_FAKE_MONO 1
8111 /* Undefine this if your sound card driver has no working select().
8112 If you have kernel Oops, player hangups, or just no audio, you should
8113 try to recompile MPlayer with this option disabled! */
8116 /* define this to use iconv(3) function to codepage conversions */
8119 /* define this to use nl_langinfo function */
8122 /* define this to use RTC (/dev/rtc) for video timers */
8125 /* set up max. outburst. use 65536 for ALSA 0.5, for others 16384 is enough */
8126 #define MAX_OUTBURST 65536
8128 /* set up audio OUTBURST. Do not change this! */
8129 #define OUTBURST 512
8131 /* Define this if your system has the header file for the OSS sound interface */
8134 /* Define this if your system has the header file for the OSS sound interface
8135 * in /usr/include */
8138 /* Define this if your system has the sysinfo header */
8141 /* Define this if your system has the "malloc.h" header file */
8144 /* memalign is mapped to malloc if unsupported */
8149 /* assembler handling of .align */
8152 /* Define this if your system has the "alloca.h" header file */
8155 /* Define this if your system has the "byteswap.h" header file */
8158 /* Define this if your system has the "sys/mman.h" header file */
8160 $_def_mman_has_map_failed
8162 /* Define this if you have the elf dynamic linker -ldl library */
8165 /* Define this if you have the kstat kernel statistics library */
8168 /* Define this if you have zlib */
8171 /* Define this if you have shm support */
8174 /* Define this if your system has strsep */
8177 /* Define this if your system has vsscanf */
8180 /* Define this if your system has swab */
8183 /* Define this if your system has posix select */
8186 /* Define this if your system has gettimeofday */
8189 /* Define this if your system has glob */
8192 /* Define this if your system has setenv */
8195 int setenv(const char *name, const char *val, int overwrite);
8198 /* Define this if your system has sysi86 */
8202 /* Define this if your system has pthreads */
8205 /* LIRC (remote control, see www.lirc.org) support: */
8208 /* Apple Remote (remote control, see http://docs.info.apple.com/article.html?artnum=302504) support: */
8211 /* Apple IR Remote (Linux remote control driver) */
8214 /* Support for maemo (http://www.maemo.org) */
8218 * LIRCCD (LIRC client daemon)
8219 * See http://www.dolda2000.cjb.net/~fredrik/lirccd/
8223 /* DVD navigation support using libdvdnav */
8226 /* Define this to enable MPEG 1/2 image postprocessing (requires a FAST CPU!) */
8227 #define MPEG12_POSTPROC 1
8229 /* maximum alignment used by libmpeg2 */
8230 #define ATTRIBUTE_ALIGNED_MAX 16
8232 /* Win32 DLL support */
8234 #define WIN32_PATH "$_win32codecsdir"
8236 /* Mac OS X specific features */
8237 $_def_macosx_finder_support
8244 /* Build our Win32-loader */
8248 /* Define this to enable image postprocessing in libavcodec (requires a FAST CPU!) */
8251 $_def_libpostproc_so
8253 /* Define this if you enabled thread support for libavcodec */
8256 #define ENABLE_THREADS 1
8258 #define ENABLE_THREADS 0
8261 /* ffmpeg's libavcodec support (requires libavcodec source) */
8265 $_def_libavcodec_mpegaudio_hp
8267 /* ffmpeg's libavformat support (requires libavformat source) */
8270 $_def_libavformat_so
8276 /* Use libavcodec's decoders */
8277 #define CONFIG_DECODERS 1
8278 #define ENABLE_DECODERS 1
8279 /* Use libavcodec's encoders */
8280 #define CONFIG_ENCODERS 1
8281 #define ENABLE_ENCODERS 1
8283 /* Use libavformat's demuxers */
8284 #define CONFIG_DEMUXERS 1
8285 #define ENABLE_DEMUXERS 1
8286 /* Use libavformat's muxers */
8289 /* Use these registers in FFmpeg x86 inline asm. No proper detection yet. */
8290 #define HAVE_EBX_AVAILABLE 1
8292 #define HAVE_EBP_AVAILABLE 1
8295 #define CONFIG_GPL 1
8296 #define ENABLE_SMALL 0
8297 #define ENABLE_GRAY 0
8299 /* Use AMR codecs from libavcodec. */
8304 /* Use specific parts from FFmpeg. */
8305 `ff_config_enable "$_libavdecoders_all" "$_libavdecoders"`
8306 `ff_config_enable "$_libavencoders_all" "$_libavencoders"`
8307 `ff_config_enable "$_libavparsers_all" "$_libavparsers"`
8308 `ff_config_enable "$_libavdemuxers_all" "$_libavdemuxers"`
8309 `ff_config_enable "$_libavmuxers_all" "$_libavmuxers"`
8310 `ff_config_enable "$_libavprotocols_all" "$_libavprotocols"`
8311 `ff_config_enable "$_libavbsfs_all" "$_libavbsfs"`
8316 $_def_libschroedinger_lavc
8320 /* Use codec libs included in mplayer CVS / source dist: */
8325 /* XAnim DLL support */
8327 /* Default search path */
8330 /* RealPlayer DLL support */
8332 /* Default search path */
8335 /* LIVE555 Streaming Media library support */
8338 /* libnemesi Streaming Media library support */
8341 /* Use 3dnow/mmxext/sse/mmx optimized fast memcpy() [maybe buggy... signal 4]*/
8344 /* Use UnRAR executable for Vobsubs */
8347 /* gui support, please do not edit this option */
8351 /* Audio output drivers */
8353 $_def_ossaudio_devdsp
8354 $_def_ossaudio_devmixer
8365 $_def_sys_asoundlib_h
8366 $_def_alsa_asoundlib_h
8372 /* Enable fast OSD/SUB renderer (looks ugly, but uses less CPU power) */
8374 #undef FAST_OSD_TABLE
8376 /* Enable TV Interface support */
8379 /* Enable Video 4 Linux TV interface support */
8382 /* Enable Video 4 Linux 1 TV interface support */
8385 /* Enable Video 4 Linux 2 TV interface support */
8388 /* Enable DirectShow TV interface support */
8391 /* *BSD BrookTree headers */
8392 $_def_ioctl_meteor_h_name
8393 $_def_ioctl_bt848_h_name
8395 /* Enable *BSD BrookTree TV interface support */
8398 /* Enable TV Teletext Interface support */
8401 /* Enable Radio Interface support */
8404 /* Enable Capture for Radio Interface support */
8407 /* Enable Video 4 Linux Radio interface support */
8410 /* Enable Video 4 Linux 2 Radio interface support */
8413 /* Enable *BSD BrookTree Radio interface support */
8414 $_def_radio_bsdbt848
8416 /* Enable Video 4 Linux 2 MPEG PVR support */
8419 /* Define if your processor stores words with the most significant
8420 byte first (like Motorola and SPARC, unlike Intel and VAX). */
8423 /* Define if your processor can access unaligned data in a fast way */
8424 $_def_fast_unaligned
8426 `ff_config_enable "$_arch_all" "$_arch" "ARCH"`
8428 /* For the PPC. G5 has the dcbzl when in 64bit mode but G4s and earlier do not
8429 have the instruction. */
8432 /* Define this for Cygwin build for win32 */
8435 /* Define this to any prefered value from 386 up to infinity with step 100 */
8436 #define __CPU__ $iproc
8443 #define DEFAULT_CDROM_DEVICE "/vol/dev/aliases/cdrom0"
8444 #define DEFAULT_DVD_DEVICE DEFAULT_CDROM_DEVICE
8445 #elif defined(WIN32) || defined(__OS2__)
8446 #define DEFAULT_CDROM_DEVICE "D:"
8447 #define DEFAULT_DVD_DEVICE DEFAULT_CDROM_DEVICE
8448 #elif defined(__APPLE__) || defined(__DARWIN__)
8449 #define DEFAULT_CDROM_DEVICE "/dev/disk1"
8450 #define DEFAULT_DVD_DEVICE "/dev/rdiskN"
8451 #elif defined(__OpenBSD__)
8452 #define DEFAULT_CDROM_DEVICE "/dev/rcd0a"
8453 #define DEFAULT_DVD_DEVICE DEFAULT_CDROM_DEVICE
8454 #elif defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
8455 #define DEFAULT_CDROM_DEVICE "/dev/acd0"
8456 #define DEFAULT_DVD_DEVICE DEFAULT_CDROM_DEVICE
8457 #elif defined(__DragonFly__)
8458 #define DEFAULT_CDROM_DEVICE "/dev/cd0"
8459 #define DEFAULT_DVD_DEVICE DEFAULT_CDROM_DEVICE
8460 #elif defined(__AMIGAOS4__)
8461 #define DEFAULT_CDROM_DEVICE "a1ide.device:2"
8462 #define DEFAULT_DVD_DEVICE DEFAULT_CDROM_DEVICE
8464 #define DEFAULT_CDROM_DEVICE "/dev/cdrom"
8465 #define DEFAULT_DVD_DEVICE "/dev/dvd"
8469 /*----------------------------------------------------------------------------
8471 ** NOTE: Instead of modifying these definitions here, use the
8472 ** --enable/--disable options of the ./configure script!
8473 ** See ./configure --help for details.
8475 *---------------------------------------------------------------------------*/
8477 /* C99 *lrint* and round* functions available */
8484 /* mkstemp support */
8487 /* nanosleep support */
8493 /* termcap flag for getch2.c */
8496 /* termios flag for getch2.c */
8501 /* enable PNG support */
8504 /* enable JPEG support */
8507 /* enable PNM support */
8510 /* enable md5sum support */
8513 /* enable yuv4mpeg support */
8516 /* enable GIF support */
8521 /* enable bitmap font support */
8524 /* enable FreeType support */
8527 /* enable Fontconfig support */
8530 /* enable SSA/ASS support */
8533 /* enable FriBiDi usage */
8536 /* enable ENCA usage */
8539 /* liblzo support */
8542 /* libmad support */
8545 /* enable OggVorbis support */
8549 /* enable Speex support */
8552 /* enable musepack support */
8555 /* enable OggTheora support */
8558 /* enable FAAD (AAC) support */
8562 /* enable FAAC (AAC encoder) support */
8565 /* enable libdca support */
8568 /* enable LADSPA plugin support */
8571 /* enable network */
8574 /* enable ftp support */
8577 /* enable vstream support */
8580 /* enable winsock2 instead of Unix functions*/
8583 /* define this to use inet_aton() instead of inet_pton() */
8586 /* socklen_t support */
8588 #ifndef HAVE_SOCKLEN_T
8589 typedef int socklen_t;
8592 /* enables / disables cdparanoia support */
8596 /* enables / disables VIDIX usage */
8598 $_def_vidix_drv_cyberblade
8599 $_def_vidix_drv_ivtv
8600 $_def_vidix_drv_mach64
8602 $_def_vidix_drv_mga_crtc2
8603 $_def_vidix_drv_nvidia
8605 $_def_vidix_drv_radeon
8606 $_def_vidix_drv_rage128
8609 $_def_vidix_drv_unichrome
8612 /* enables / disables new input joystick support */
8615 /* enables / disables QTX codecs */
8619 /* enables / disables osd menu */
8622 /* enables / disables subtitles sorting */
8625 /* XMMS input plugin support */
8627 #define XMMS_INPUT_PLUGIN_DIR "$_xmmsplugindir"
8629 /* enables inet6 support */
8632 /* do we have gethostbyname2? */
8633 $_def_gethostbyname2
8635 /* Extension defines */
8636 `ff_config_enable "$_cpuexts_all" "$_cpuexts" "HAVE"`
8638 $_def_altivec_h // enables usage of altivec.h
8641 #define SCREEN_SIZE_X 1
8642 #define SCREEN_SIZE_Y 1
8655 /* defined for SDLlib with keyrepeat bugs (before 1.2.1) */
8666 $_def_directfb_version
8692 #if defined(HAVE_GL) || defined(HAVE_X11) || defined(HAVE_XV)
8693 #define X11_FULLSCREEN 1
8696 #endif /* MPLAYER_CONFIG_H */
8699 # Do not overwrite an unchanged config.h to avoid superfluous rebuilds.
8700 cmp -s "$TMPH" config.h ||
mv -f "$TMPH" config.h
8702 cp -p config.h ffmpeg
/config.h
8703 sed -e 's/OPTFLAGS/MPLAYER_OPTFLAGS/' -e 's/FFMPEG_OFLAGS/OPTFLAGS/' config.mak
>ffmpeg
/config.mak
8705 #############################################################################
8709 Config files successfully generated by ./configure $_configuration !
8711 Install prefix: $_prefix
8712 Data directory: $_datadir
8713 Config direct.: $_confdir
8715 Byte order: $_byte_order
8716 Optimizing for: $_optimizing
8719 Messages/GUI: $msg_lang
8720 Manual pages: $man_langs
8722 Enabled optional drivers:
8723 Input: $_inputmodules
8724 Codecs: $_codecmodules
8725 Audio output: $_aomodules
8726 Video output: $_vomodules
8728 Disabled optional drivers:
8729 Input: $_noinputmodules
8730 Codecs: $_nocodecmodules
8731 Audio output: $_noaomodules
8732 Video output: $_novomodules
8734 'config.h' and 'config.mak' contain your configuration options.
8735 Note: If you alter theses files (for instance CFLAGS) MPlayer may no longer
8736 compile *** DO NOT REPORT BUGS if you tweak these files ***
8738 'make' will now compile MPlayer and 'make install' will install it.
8739 Note: On non-Linux systems you might need to use 'gmake' instead of 'make'.
8744 if test "$_mtrr" = yes ; then
8745 echo "Please check mtrr settings at /proc/mtrr (see DOCS/HTML/$doc_lang/video.html#mtrr)"
8751 NOTE: Win32 codec DLLs are not supported on your CPU ($host_arch) or your
8752 operating system ($system_name). You may encounter a few files that cannot
8753 be played due to missing open source video/audio codec support.
8760 Check $TMPLOG if you wonder why an autodetection failed (make sure
8761 development headers/packages are installed).
8763 NOTE: The --enable-* parameters unconditionally force options on, completely
8764 skipping autodetection. This behavior is unlike what you may be used to from
8765 autoconf-based configure scripts that can decide to override you. This greater
8766 level of control comes at a price. You may have to provide the correct compiler
8767 and linker flags yourself.
8768 If you used one of these options (except --enable-gui and similar ones that
8769 turn on internal features) and experience a compilation or linking failure,
8770 make sure you have passed the necessary compiler/linker flags to configure.
8772 If you suspect a bug, please read DOCS/HTML/$doc_lang/bugreports.html.
8776 if test "$_warn_CFLAGS" = yes; then
8779 MPlayer compilation will use the CPPFLAGS/CFLAGS/LDFLAGS set by you, but:
8781 *** *** DO NOT REPORT BUGS IF IT DOES NOT COMPILE/WORK! *** ***
8783 It is strongly recommended to let MPlayer choose the correct CFLAGS!
8784 To do so, execute 'CFLAGS= ./configure <options>'
8790 rm -f "$TMPEXE" "$TMPC" "$TMPS" "$TMPCPP" "$TMPH"