3 # Original version (C) 2000 Pontscho/fresh!mindworkz
4 # pontscho@makacs.poliod.hu
6 # History / Contributors: Check the Subversion log.
8 # Cleanups all over the place (c) 2001 pl
11 # This configure script is *not* autoconf-based and has different semantics.
12 # It attempts to autodetect all settings and options where possible. It is
13 # possible to override autodetection with the --enable-option/--disable-option
14 # command line parameters. --enable-option forces the option on skipping
15 # autodetection. Yes, this means that compilation may fail and yes, this is not
16 # how autoconf-based configure scripts behave.
18 # configure generates a series of configuration files:
19 # - config.h contains #defines that are used in the C code.
20 # - config.mak is included from the Makefiles.
22 # If you want to add a new check for $feature, here is a simple skeleton:
24 # echocheck "$feature"
25 # if test "$_feature" = auto; then
27 # #include <feature.h>
28 # int main(void) { return 0; }
31 # cc_check && _feature=yes
33 # if test "$_feature" = yes ; then
34 # def_feature='#define CONFIG_FEATURE 1'
36 # def_feature='#undef CONFIG_FEATURE'
40 # Furthermore you need to add the variable _feature to the list of default
41 # settings and set it to one of yes/no/auto. Also add appropriate
42 # --enable-feature/--disable-feature command line options.
43 # The results of the check should be written to config.h and config.mak
44 # at the end of this script. The variable names used for this should be
45 # uniform, i.e. if the option is named 'feature':
47 # _feature : should have a value of yes/no/auto
48 # def_feature : '#define ... 1' or '#undef ...' for conditional compilation
49 # _ld_feature : '-L/path/dir -lfeature' GCC options
51 #############################################################################
53 # Prevent locale nonsense from breaking basic text processing utils
56 # Store the configure line that was used
59 # Prefer these macros to full length text !
60 # These macros only return an error code - NO display is done
65 cat "$source" >> "$TMPLOG"
67 echo "$_cc $source $CFLAGS $extra_cflags $_ld_static $extra_ldflags $libs_mplayer $libs_mencoder -o $TMPEXE $@" >> "$TMPLOG"
69 $_cc $CFLAGS "$source" $extra_cflags $_ld_static $extra_ldflags $libs_mplayer $libs_mencoder -o "$TMPEXE" "$@" >> "$TMPLOG" 2>&1
77 compile_check
$TMPC $@
81 compile_check
$TMPCPP $@
-lstdc++
86 cat "$TMPS" >> "$TMPLOG"
88 echo "$_yasm $YASMFLAGS -o $TMPEXE $TMPS $@" >> "$TMPLOG"
90 $_yasm $YASMFLAGS -o "$TMPEXE" "$TMPS" "$@" >> "$TMPLOG" 2>&1
98 "$TMPEXE" >> "$TMPLOG" 2>&1
101 # Display error message, flushes tempfile, exit
106 rm -f "$TMPEXE" "$TMPC" "$TMPS" "$TMPCPP"
107 echo "Check \"$TMPLOG\" if you do not understand why it failed."
111 # OS test booleans functions
113 test "$(echo $system_name | tr A-Z a-z)" = "$(echo $1 | tr A-Z a-z)"
115 aix
() { issystem
"AIX"; }
116 amigaos
() { issystem
"AmigaOS"; }
117 beos
() { issystem
"BEOS"; }
118 bsdos
() { issystem
"BSD/OS"; }
119 cygwin
() { issystem
"CYGWIN"; }
120 darwin
() { issystem
"Darwin"; }
121 dragonfly
() { issystem
"DragonFly"; }
122 freebsd
() { issystem
"FreeBSD" || issystem
"GNU/kFreeBSD"; }
123 gnu
() { issystem
"GNU"; }
124 hpux
() { issystem
"HP-UX"; }
125 irix
() { issystem
"IRIX"; }
126 linux
() { issystem
"Linux"; }
127 mingw32
() { issystem
"MINGW32"; }
128 morphos
() { issystem
"MorphOS"; }
129 netbsd
() { issystem
"NetBSD"; }
130 openbsd
() { issystem
"OpenBSD"; }
131 os2
() { issystem
"OS/2"; }
132 qnx
() { issystem
"QNX"; }
133 sunos
() { issystem
"SunOS"; }
134 win32
() { cygwin || mingw32
; }
136 # arch test boolean functions
137 # x86/x86pc is used by QNX
140 i
[3-9]86|x86|x86pc|k5|k6|k6-2|k6-3|pentium
*|athlon
*|i586-i686
) return 0 ;;
147 x86_64|amd64
) return 0 ;;
158 ppc|ppc64|powerpc|powerpc64
) return 0;;
177 # Use this before starting a check
179 echo "============ Checking for $@ ============" >> "$TMPLOG"
180 echo ${_echo_n} "Checking for $@ ... ${_echo_c}"
183 # Use this to echo the results of a check
185 if test "$res_comment" ; then
186 res_comment
="($res_comment)"
188 echo "Result is: $@ $res_comment" >> "$TMPLOG"
189 echo "##########################################" >> "$TMPLOG"
191 echo "$@ $res_comment"
194 #############################################################################
196 # Check how echo works in this /bin/sh
198 -n) _echo_n
= _echo_c
='\c' ;; # SysV echo
199 *) _echo_n
='-n ' _echo_c
= ;; # BSD echo
202 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")
203 man_lang_all
=$
(echo DOCS
/man
/??
/mplayer
.1 DOCS
/man
/??_??
/mplayer
.1 |
sed -e "s:DOCS/man/\(..\)/mplayer.1:\1:g" -e "s:DOCS/man/\(.._..\)/mplayer.1:\1:g")
204 doc_lang_all
=$
(echo DOCS
/xml
/??
/ DOCS
/xml
/??_??
/ |
sed -e "s:DOCS/xml/\(..\)/:\1:g" -e "s:DOCS/xml/\(.._..\)/:\1:g")
208 Usage: $0 [OPTIONS]...
211 -h, --help display this help and exit
213 Installation directories:
214 --prefix=DIR prefix directory for installation [/usr/local]
215 --bindir=DIR directory for installing binaries [PREFIX/bin]
216 --datadir=DIR directory for installing machine independent
217 data files (skins, etc) [PREFIX/share/mplayer]
218 --mandir=DIR directory for installing man pages [PREFIX/share/man]
219 --confdir=DIR directory for installing configuration files
221 --libdir=DIR directory for object code libraries [PREFIX/lib]
222 --codecsdir=DIR directory for binary codecs [LIBDIR/codecs]
225 --disable-mencoder disable MEncoder (A/V encoder) compilation [enable]
226 --disable-mplayer disable MPlayer compilation [enable]
227 --enable-gui enable GMPlayer compilation (GTK+ GUI) [disable]
228 --enable-gtk1 force using GTK 1.2 for the GUI [disable]
229 --disable-largefiles disable support for files > 2GB [enable]
230 --enable-linux-devfs set default devices to devfs [disable]
231 --enable-termcap use termcap database for key codes [autodetect]
232 --enable-termios use termios database for key codes [autodetect]
233 --disable-iconv disable iconv for encoding conversion [autodetect]
234 --disable-langinfo do not use langinfo [autodetect]
235 --enable-lirc enable LIRC (remote control) support [autodetect]
236 --enable-lircc enable LIRCCD (LIRC client daemon) input [autodetect]
237 --enable-joystick enable joystick support [disable]
238 --enable-apple-remote enable Apple Remote input (Mac OS X only) [autodetect]
239 --enable-apple-ir enable Apple IR Remote input (Linux only) [autodetect]
240 --disable-vm disable X video mode extensions [autodetect]
241 --disable-xf86keysym disable support for multimedia keys [autodetect]
242 --enable-radio enable radio interface [disable]
243 --enable-radio-capture enable radio capture (through PCI/line-in) [disable]
244 --disable-radio-v4l2 disable Video4Linux2 radio interface [autodetect]
245 --disable-radio-bsdbt848 disable BSD BT848 radio interface [autodetect]
246 --disable-tv disable TV interface (TV/DVB grabbers) [enable]
247 --disable-tv-v4l1 disable Video4Linux TV interface [autodetect]
248 --disable-tv-v4l2 disable Video4Linux2 TV interface [autodetect]
249 --disable-tv-bsdbt848 disable BSD BT848 interface [autodetect]
250 --disable-pvr disable Video4Linux2 MPEG PVR [autodetect]
251 --disable-rtc disable RTC (/dev/rtc) on Linux [autodetect]
252 --disable-network disable networking [enable]
253 --enable-winsock2_h enable winsock2_h [autodetect]
254 --enable-smb enable Samba (SMB) input [autodetect]
255 --enable-live enable LIVE555 Streaming Media [autodetect]
256 --enable-nemesi enable Nemesi Streaming Media [autodetect]
257 --enable-librtmp enable RTMPDump Streaming Media [autodetect]
258 --disable-vcd disable VCD support [autodetect]
259 --disable-dvdnav disable libdvdnav [autodetect]
260 --disable-dvdread disable libdvdread [autodetect]
261 --disable-dvdread-internal disable internal libdvdread [autodetect]
262 --disable-libdvdcss-internal disable internal libdvdcss [autodetect]
263 --disable-cdparanoia disable cdparanoia [autodetect]
264 --disable-cddb disable cddb [autodetect]
265 --disable-bitmap-font disable bitmap font support [enable]
266 --disable-freetype disable FreeType 2 font rendering [autodetect]
267 --disable-fontconfig disable fontconfig font lookup [autodetect]
268 --disable-unrarexec disable using of UnRAR executable [enabled]
269 --enable-menu enable OSD menu (not DVD menu) [disabled]
270 --disable-sortsub disable subtitle sorting [enabled]
271 --enable-fribidi enable the FriBiDi libs [autodetect]
272 --disable-enca disable ENCA charset oracle library [autodetect]
273 --disable-maemo disable maemo specific features [autodetect]
274 --enable-macosx-finder enable Mac OS X Finder invocation parameter
276 --enable-macosx-bundle enable Mac OS X bundle file locations [autodetect]
277 --disable-inet6 disable IPv6 support [autodetect]
278 --disable-gethostbyname2 gethostbyname2 part of the C library [autodetect]
279 --disable-ftp disable FTP support [enabled]
280 --disable-vstream disable TiVo vstream client support [autodetect]
281 --disable-pthreads disable Posix threads support [autodetect]
282 --disable-w32threads disable Win32 threads support [autodetect]
283 --disable-ass-internal disable internal SSA/ASS subtitle support [autodetect]
284 --disable-ass disable SSA/ASS subtitle support [autodetect]
285 --enable-rpath enable runtime linker path for extra libs [disabled]
288 --enable-gif enable GIF support [autodetect]
289 --enable-png enable PNG input/output support [autodetect]
290 --enable-mng enable MNG input support [autodetect]
291 --enable-jpeg enable JPEG input/output support [autodetect]
292 --enable-libcdio enable libcdio support [autodetect]
293 --enable-liblzo enable liblzo support [autodetect]
294 --disable-win32dll disable Win32 DLL support [autodetect]
295 --disable-qtx disable QuickTime codecs support [enabled]
296 --disable-xanim disable XAnim codecs support [enabled]
297 --disable-real disable RealPlayer codecs support [enabled]
298 --disable-xvid disable Xvid [autodetect]
299 --disable-xvid-lavc disable Xvid in libavcodec [autodetect]
300 --disable-x264 disable x264 [autodetect]
301 --disable-x264-lavc disable x264 in libavcodec [autodetect]
302 --disable-libdirac-lavc disable Dirac in libavcodec [autodetect]
303 --disable-libschroedinger-lavc disable Dirac in libavcodec (Schroedinger
304 decoder) [autodetect]
305 --disable-libvpx-lavc disable libvpx in libavcodec [autodetect]
306 --disable-libnut disable libnut [autodetect]
307 --disable-libavutil_a disable static libavutil [autodetect]
308 --disable-libavcodec_a disable static libavcodec [autodetect]
309 --disable-libavformat_a disable static libavformat [autodetect]
310 --disable-libpostproc_a disable static libpostproc [autodetect]
311 --disable-libswscale_a disable static libswscale [autodetect]
312 --disable-libavutil_so disable shared libavutil [autodetect]
313 --disable-libavcodec_so disable shared libavcodec [autodetect]
314 --disable-libavformat_so disable shared libavformat [autodetect]
315 --disable-libpostproc_so disable shared libpostproc [autodetect]
316 --disable-libswscale_so disable shared libswscale [autodetect]
317 --disable-libavcodec_mpegaudio_hp disable high precision audio decoding
318 in libavcodec [enabled]
319 --disable-tremor-internal disable internal Tremor [enabled]
320 --enable-tremor-low enable lower accuracy internal Tremor [disabled]
321 --enable-tremor enable external Tremor [autodetect]
322 --disable-libvorbis disable libvorbis support [autodetect]
323 --disable-speex disable Speex support [autodetect]
324 --enable-theora enable OggTheora libraries [autodetect]
325 --enable-faad enable external FAAD2 (AAC) [autodetect]
326 --disable-faad-internal disable internal FAAD2 (AAC) [autodetect]
327 --enable-faad-fixed enable fixed-point mode in internal FAAD2 [disabled]
328 --disable-faac disable support for FAAC (AAC encoder) [autodetect]
329 --disable-faac-lavc disable support for FAAC in libavcodec [autodetect]
330 --disable-ladspa disable LADSPA plugin support [autodetect]
331 --disable-libbs2b disable libbs2b audio filter support [autodetect]
332 --disable-libdv disable libdv 0.9.5 en/decoding support [autodetect]
333 --disable-mad disable libmad (MPEG audio) support [autodetect]
334 --disable-mp3lame disable LAME MP3 encoding support [autodetect]
335 --disable-mp3lame-lavc disable LAME in libavcodec [autodetect]
336 --disable-toolame disable Toolame (MPEG layer 2) encoding [autodetect]
337 --disable-twolame disable Twolame (MPEG layer 2) encoding [autodetect]
338 --enable-xmms enable XMMS input plugin support [disabled]
339 --enable-libdca enable libdca support [autodetect]
340 --disable-mp3lib disable builtin mp3lib [autodetect]
341 --disable-liba52 disable liba52 [autodetect]
342 --disable-libmpeg2 disable builtin libmpeg2 [autodetect]
343 --disable-musepack disable musepack support [autodetect]
344 --disable-libopencore_amrnb disable libopencore_amr narrowband [autodetect]
345 --disable-libopencore_amrwb disable libopencore_amr wideband [autodetect]
346 --disable-libopenjpeg disable OpenJPEG (JPEG2000) input/output support [autodetect]
347 --disable-decoder=DECODER disable specified FFmpeg decoder
348 --enable-decoder=DECODER enable specified FFmpeg decoder
349 --disable-encoder=ENCODER disable specified FFmpeg encoder
350 --enable-encoder=ENCODER enable specified FFmpeg encoder
351 --disable-parser=PARSER disable specified FFmpeg parser
352 --enable-parser=PARSER enable specified FFmpeg parser
353 --disable-protocol=PROTO disable specified FFmpeg protocol
354 --enable-protocol=PROTO enable specified FFmpeg protocol
355 --disable-demuxer=DEMUXER disable specified FFmpeg demuxer
356 --enable-demuxer=DEMUXER enable specified FFmpeg demuxer
357 --disable-muxer=MUXER disable specified FFmpeg muxer
358 --enable-muxer=MUXER enable specified FFmpeg muxer
361 --disable-vidix disable VIDIX [for x86 *nix]
362 --with-vidix-drivers[=*] list of VIDIX drivers to be compiled in
363 Available: cyberblade,ivtv,mach64,mga,mga_crtc2,
364 nvidia,pm2,pm3,radeon,rage128,s3,sis,unichrome
365 --disable-vidix-pcidb disable VIDIX PCI device name database
366 --enable-dhahelper enable VIDIX dhahelper support
367 --enable-svgalib_helper enable VIDIX svgalib_helper support
368 --enable-gl enable OpenGL video output [autodetect]
369 --disable-matrixview disable OpenGL MatrixView video output [autodetect]
370 --enable-dga2 enable DGA 2 support [autodetect]
371 --enable-dga1 enable DGA 1 support [autodetect]
372 --enable-vesa enable VESA video output [autodetect]
373 --enable-svga enable SVGAlib video output [autodetect]
374 --enable-sdl enable SDL video output [autodetect]
375 --enable-kva enable KVA video output [autodetect]
376 --enable-aa enable AAlib video output [autodetect]
377 --enable-caca enable CACA video output [autodetect]
378 --enable-ggi enable GGI video output [autodetect]
379 --enable-ggiwmh enable GGI libggiwmh extension [autodetect]
380 --enable-direct3d enable Direct3D video output [autodetect]
381 --enable-directx enable DirectX video output [autodetect]
382 --enable-dxr2 enable DXR2 video output [autodetect]
383 --enable-dxr3 enable DXR3/H+ video output [autodetect]
384 --enable-ivtv enable IVTV TV-Out video output [autodetect]
385 --enable-v4l2 enable V4L2 Decoder audio/video output [autodetect]
386 --enable-dvb enable DVB video output [autodetect]
387 --enable-mga enable mga_vid video output [autodetect]
388 --enable-xmga enable mga_vid X11 video output [autodetect]
389 --enable-xv enable Xv video output [autodetect]
390 --enable-xvmc enable XvMC acceleration [disable]
391 --enable-vdpau enable VDPAU acceleration [autodetect]
392 --enable-vm enable XF86VidMode support [autodetect]
393 --enable-xinerama enable Xinerama support [autodetect]
394 --enable-x11 enable X11 video output [autodetect]
395 --enable-xshape enable XShape support [autodetect]
396 --disable-xss disable screensaver support via xss [autodetect]
397 --enable-fbdev enable FBDev video output [autodetect]
398 --enable-mlib enable mediaLib video output (Solaris) [disable]
399 --enable-3dfx enable obsolete /dev/3dfx video output [disable]
400 --enable-tdfxfb enable tdfxfb video output [disable]
401 --enable-s3fb enable s3fb (S3 ViRGE) video output [disable]
402 --enable-wii enable Nintendo Wii/GameCube video output [disable]
403 --enable-directfb enable DirectFB video output [autodetect]
404 --enable-zr enable ZR360[56]7/ZR36060 video output [autodetect]
405 --enable-bl enable Blinkenlights video output [disable]
406 --enable-tdfxvid enable tdfx_vid video output [disable]
407 --enable-xvr100 enable SUN XVR-100 video output [autodetect]
408 --disable-tga disable Targa video output [enable]
409 --disable-pnm disable PNM video output [enable]
410 --disable-md5sum disable md5sum video output [enable]
411 --disable-yuv4mpeg disable yuv4mpeg video output [enable]
412 --disable-corevideo disable CoreVideo video output [autodetect]
413 --disable-quartz disable Quartz video output [autodetect]
416 --disable-alsa disable ALSA audio output [autodetect]
417 --disable-ossaudio disable OSS audio output [autodetect]
418 --disable-arts disable aRts audio output [autodetect]
419 --disable-esd disable esd audio output [autodetect]
420 --disable-pulse disable Pulseaudio audio output [autodetect]
421 --disable-jack disable JACK audio output [autodetect]
422 --disable-openal disable OpenAL audio output [autodetect]
423 --disable-nas disable NAS audio output [autodetect]
424 --disable-sgiaudio disable SGI audio output [autodetect]
425 --disable-sunaudio disable Sun audio output [autodetect]
426 --disable-kai disable KAI audio output [autodetect]
427 --disable-dart disable DART audio output [autodetect]
428 --disable-win32waveout disable Windows waveout audio output [autodetect]
429 --disable-coreaudio disable CoreAudio audio output [autodetect]
430 --disable-select disable using select() on the audio device [enable]
433 --charset=charset convert the console messages to this character set
434 --language-doc=lang language to use for the documentation [en]
435 --language-man=lang language to use for the man pages [en]
436 --language-msg=lang language to use for the messages and the GUI [en]
437 --language=lang default language to use [en]
438 Specific options override --language. You can pass a list of languages separated
439 by whitespace or commas instead of a single language. Nonexisting translations
440 will be dropped from each list. All documentation and man page translations
441 available in the list will be installed, for the messages the first available
442 translation will be used. The value "all" will activate all translations. The
443 LINGUAS environment variable is honored. In all cases the fallback is English.
444 Available values are: all $msg_lang_all
446 Miscellaneous options:
447 --enable-runtime-cpudetection enable runtime CPU detection [disable]
448 --enable-cross-compile enable cross-compilation [autodetect]
449 --cc=COMPILER C compiler to build MPlayer [gcc]
450 --host-cc=COMPILER C compiler for tools needed while building [gcc]
451 --as=ASSEMBLER assembler to build MPlayer [as]
452 --nm=NM nm tool to build MPlayer [nm]
453 --yasm=YASM Yasm assembler to build MPlayer [yasm]
454 --ar=AR librarian to build MPlayer [ar]
455 --ranlib=RANLIB ranlib to build MPlayer [ranlib]
456 --windres=WINDRES windres to build MPlayer [windres]
457 --target=PLATFORM target platform (i386-linux, arm-linux, etc)
458 --enable-static build a statically linked binary
459 --with-install=PATH path to a custom install program
462 --enable-mmx enable MMX [autodetect]
463 --enable-mmxext enable MMX2 (Pentium III, Athlon) [autodetect]
464 --enable-3dnow enable 3DNow! [autodetect]
465 --enable-3dnowext enable extended 3DNow! [autodetect]
466 --enable-sse enable SSE [autodetect]
467 --enable-sse2 enable SSE2 [autodetect]
468 --enable-ssse3 enable SSSE3 [autodetect]
469 --enable-shm enable shm [autodetect]
470 --enable-altivec enable AltiVec (PowerPC) [autodetect]
471 --enable-armv5te enable DSP extensions (ARM) [autodetect]
472 --enable-armv6 enable ARMv6 (ARM) [autodetect]
473 --enable-armv6t2 enable ARMv6t2 (ARM) [autodetect]
474 --enable-armvfp enable ARM VFP (ARM) [autodetect]
475 --enable-neon enable NEON (ARM) [autodetect]
476 --enable-iwmmxt enable iWMMXt (ARM) [autodetect]
477 --disable-fastmemcpy disable 3DNow!/SSE/MMX optimized memcpy [enable]
478 --enable-hardcoded-tables put tables in binary instead of calculating them at startup [disable]
479 --enable-big-endian force byte order to big-endian [autodetect]
480 --enable-debug[=1-3] compile-in debugging information [disable]
481 --enable-profile compile-in profiling information [disable]
482 --disable-sighandler disable sighandler for crashes [enable]
483 --enable-crash-debug enable automatic gdb attach on crash [disable]
484 --enable-dynamic-plugins enable dynamic A/V plugins [disable]
486 Use these options if autodetection fails:
487 --extra-cflags=FLAGS extra CFLAGS
488 --extra-ldflags=FLAGS extra LDFLAGS
489 --extra-libs=FLAGS extra linker flags
490 --extra-libs-mplayer=FLAGS extra linker flags for MPlayer
491 --extra-libs-mencoder=FLAGS extra linker flags for MEncoder
492 --with-xvmclib=NAME adapter-specific library name (e.g. XvMCNVIDIA)
494 --with-freetype-config=PATH path to freetype-config
495 --with-glib-config=PATH path to glib*-config
496 --with-gtk-config=PATH path to gtk*-config
497 --with-sdl-config=PATH path to sdl*-config
498 --with-dvdnav-config=PATH path to dvdnav-config
499 --with-dvdread-config=PATH path to dvdread-config
501 This configure script is NOT autoconf-based, even though its output is similar.
502 It will try to autodetect all configuration options. If you --enable an option
503 it will be forcefully turned on, skipping autodetection. This can break
504 compilation, so you need to know what you are doing.
509 # GOTCHA: the variables below defines the default behavior for autodetection
510 # and have - unless stated otherwise - at least 2 states : yes no
511 # If autodetection is available then the third state is: auto
535 test "$CC" && _cc
="$CC"
539 _runtime_cpudetection
=no
545 _libopencore_amrnb
=auto
546 _libopencore_amrwb
=auto
548 _libavdecoders_all
=$
(sed -n 's/^[^#]*DEC.*(.*, *\(.*\)).*/\1_decoder/p' libavcodec
/allcodecs.c |
tr '[a-z]' '[A-Z]')
549 _libavdecoders
=$
(echo $_libavdecoders_all |
sed -e 's/ LIB[A-Z0-9_]*_DECODER//g' -e s
/MPEG4AAC_DECODER
//)
550 _libavencoders_all
=$
(sed -n 's/^[^#]*ENC.*(.*, *\(.*\)).*/\1_encoder/p' libavcodec
/allcodecs.c |
tr '[a-z]' '[A-Z]')
551 _libavencoders
=$
(echo $_libavencoders_all |
sed -e 's/ LIB[A-Z0-9_]*_ENCODER//g' -e s
/AAC_ENCODER
//)
552 _libavparsers_all
=$
(sed -n 's/^[^#]*PARSER.*(.*, *\(.*\)).*/\1_parser/p' libavcodec
/allcodecs.c |
tr '[a-z]' '[A-Z]')
553 _libavparsers
=$_libavparsers_all
554 _libavbsfs_all
=$
(sed -n 's/^[^#]*BSF.*(.*, *\(.*\)).*/\1_bsf/p' libavcodec
/allcodecs.c |
tr '[a-z]' '[A-Z]')
555 _libavbsfs
=$_libavbsfs_all
556 _libavhwaccels_all
=$
(sed -n 's/^[^#]*HWACCEL.*(.*, *\(.*\)).*/\1_hwaccel/p' libavcodec
/allcodecs.c |
tr '[a-z]' '[A-Z]')
557 # Disable all hardware accelerators for now.
559 _libavdemuxers_all
=$
(sed -n 's/^[^#]*DEMUX.*(.*, *\(.*\)).*/\1_demuxer/p' libavformat
/allformats.c |
tr '[a-z]' '[A-Z]')
560 _libavdemuxers
=$
(echo $_libavdemuxers_all |
sed -e 's/ LIB[A-Z0-9_]*_DEMUXER//g' -e s
/REDIR_DEMUXER
// -e s
/AVISYNTH_DEMUXER
//)
561 _libavmuxers_all
=$
(sed -n 's/^[^#]*_MUX.*(.*, *\(.*\)).*/\1_muxer/p' libavformat
/allformats.c |
tr '[a-z]' '[A-Z]')
562 _libavmuxers
=$
(echo $_libavmuxers_all |
sed -e 's/ LIB[A-Z0-9_]*_MUXER//g' -e s
/RTP_MUXER
// -e s
/RTSP_MUXER
//)
563 _libavprotocols_all
=$
(sed -n 's/^[^#]*PROTOCOL.*(.*, *\(.*\)).*/\1_protocol/p' libavformat
/allformats.c |
tr '[a-z]' '[A-Z]')
564 _libavprotocols
=$_libavprotocols_all
572 _libavcodec_mpegaudio_hp
=yes
581 _xvmc
=no
#auto when complete
648 _dvdnavconfig
=dvdnav-config
649 _dvdreadconfig
=dvdread-config
651 _dvdread_internal
=auto
652 _libdvdcss_internal
=auto
664 _mlib
=no
#broken, thus disabled
686 _struct_addrinfo
=auto
688 _struct_sockaddr_storage
=auto
700 _libschroedinger_lavc
=auto
746 _freetypeconfig
='freetype-config'
762 def_dos_paths
="#define HAVE_DOS_PATHS 0"
763 def_stream_cache
="#define CONFIG_STREAM_CACHE 1"
764 def_priority
="#undef CONFIG_PRIORITY"
765 def_pthread_cache
="#undef PTHREAD_CACHE"
773 _prefix
=$
(echo $ac_option | cut
-d '=' -f 2)
776 _bindir
=$
(echo $ac_option | cut
-d '=' -f 2)
779 _datadir
=$
(echo $ac_option | cut
-d '=' -f 2)
782 _mandir
=$
(echo $ac_option | cut
-d '=' -f 2)
785 _confdir
=$
(echo $ac_option | cut
-d '=' -f 2)
788 _libdir
=$
(echo $ac_option | cut
-d '=' -f 2)
791 _codecsdir
=$
(echo $ac_option | cut
-d '=' -f 2)
795 _install
=$
(echo $ac_option | cut
-d '=' -f 2 )
798 _xvmclib
=$
(echo $ac_option | cut
-d '=' -f 2)
802 _sdlconfig
=$
(echo $ac_option | cut
-d '=' -f 2)
804 --with-freetype-config=*)
805 _freetypeconfig
=$
(echo $ac_option | cut
-d '=' -f 2)
808 _gtkconfig
=$
(echo $ac_option | cut
-d '=' -f 2)
810 --with-glib-config=*)
811 _glibconfig
=$
(echo $ac_option | cut
-d '=' -f 2)
813 --with-dvdnav-config=*)
814 _dvdnavconfig
=$
(echo $ac_option | cut
-d '=' -f 2)
816 --with-dvdread-config=*)
817 _dvdreadconfig
=$
(echo $ac_option | cut
-d '=' -f 2)
821 extra_cflags
=$
(echo $ac_option | cut
-d '=' -f 2-)
824 extra_ldflags
=$
(echo $ac_option | cut
-d '=' -f 2-)
827 extra_libs
=$
(echo $ac_option | cut
-d '=' -f 2)
829 --extra-libs-mplayer=*)
830 libs_mplayer
=$
(echo $ac_option | cut
-d '=' -f 2)
832 --extra-libs-mencoder=*)
833 libs_mencoder
=$
(echo $ac_option | cut
-d '=' -f 2)
837 _target
=$
(echo $ac_option | cut
-d '=' -f 2)
840 _cc
=$
(echo $ac_option | cut
-d '=' -f 2)
843 _host_cc
=$
(echo $ac_option | cut
-d '=' -f 2)
846 _as
=$
(echo $ac_option | cut
-d '=' -f 2)
849 _nm
=$
(echo $ac_option | cut
-d '=' -f 2)
852 _yasm
=$
(echo $ac_option | cut
-d '=' -f 2)
855 _ar
=$
(echo $ac_option | cut
-d '=' -f 2)
858 _ranlib
=$
(echo $ac_option | cut
-d '=' -f 2)
861 _windres
=$
(echo $ac_option | cut
-d '=' -f 2)
864 _charset
=$
(echo $ac_option | cut
-d '=' -f 2)
867 language_doc
=$
(echo $ac_option | cut
-d '=' -f 2)
870 language_man
=$
(echo $ac_option | cut
-d '=' -f 2)
873 language_msg
=$
(echo $ac_option | cut
-d '=' -f 2)
876 language
=$
(echo $ac_option | cut
-d '=' -f 2)
895 _debug
=$
(echo $_echo_n '-g'$_echo_c; echo $ac_option | cut
-d '=' -f 2)
900 --enable-runtime-cpudetection) _runtime_cpudetection
=yes ;;
901 --disable-runtime-cpudetection) _runtime_cpudetection
=no
;;
902 --enable-cross-compile) _cross_compile
=yes ;;
903 --disable-cross-compile) _cross_compile
=no
;;
904 --enable-mencoder) _mencoder
=yes ;;
905 --disable-mencoder) _mencoder
=no
;;
906 --enable-mplayer) _mplayer
=yes ;;
907 --disable-mplayer) _mplayer
=no
;;
908 --enable-dynamic-plugins) _dynamic_plugins
=yes ;;
909 --disable-dynamic-plugins) _dynamic_plugins
=no
;;
910 --enable-x11) _x11
=yes ;;
911 --disable-x11) _x11
=no
;;
912 --enable-xshape) _xshape
=yes ;;
913 --disable-xshape) _xshape
=no
;;
914 --enable-xss) _xss
=yes ;;
915 --disable-xss) _xss
=no
;;
916 --enable-xv) _xv
=yes ;;
917 --disable-xv) _xv
=no
;;
918 --enable-xvmc) _xvmc
=yes ;;
919 --disable-xvmc) _xvmc
=no
;;
920 --enable-vdpau) _vdpau
=yes ;;
921 --disable-vdpau) _vdpau
=no
;;
922 --enable-sdl) _sdl
=yes ;;
923 --disable-sdl) _sdl
=no
;;
924 --enable-kva) _kva
=yes ;;
925 --disable-kva) _kva
=no
;;
926 --enable-direct3d) _direct3d
=yes ;;
927 --disable-direct3d) _direct3d
=no
;;
928 --enable-directx) _directx
=yes ;;
929 --disable-directx) _directx
=no
;;
930 --enable-win32waveout) _win32waveout
=yes ;;
931 --disable-win32waveout) _win32waveout
=no
;;
932 --enable-nas) _nas
=yes ;;
933 --disable-nas) _nas
=no
;;
934 --enable-png) _png
=yes ;;
935 --disable-png) _png
=no
;;
936 --enable-mng) _mng
=yes ;;
937 --disable-mng) _mng
=no
;;
938 --enable-jpeg) _jpeg
=yes ;;
939 --disable-jpeg) _jpeg
=no
;;
940 --enable-libopenjpeg) libopenjpeg
=yes ;;
941 --disable-libopenjpeg)libopenjpeg
=no
;;
942 --enable-pnm) _pnm
=yes ;;
943 --disable-pnm) _pnm
=no
;;
944 --enable-md5sum) _md5sum
=yes ;;
945 --disable-md5sum) _md5sum
=no
;;
946 --enable-yuv4mpeg) _yuv4mpeg
=yes ;;
947 --disable-yuv4mpeg) _yuv4mpeg
=no
;;
948 --enable-gif) _gif
=yes ;;
949 --disable-gif) _gif
=no
;;
950 --enable-gl) _gl
=yes ;;
951 --disable-gl) _gl
=no
;;
952 --enable-matrixview) matrixview
=yes ;;
953 --disable-matrixview) matrixview
=no
;;
954 --enable-ggi) _ggi
=yes ;;
955 --disable-ggi) _ggi
=no
;;
956 --enable-ggiwmh) _ggiwmh
=yes ;;
957 --disable-ggiwmh) _ggiwmh
=no
;;
958 --enable-aa) _aa
=yes ;;
959 --disable-aa) _aa
=no
;;
960 --enable-caca) _caca
=yes ;;
961 --disable-caca) _caca
=no
;;
962 --enable-svga) _svga
=yes ;;
963 --disable-svga) _svga
=no
;;
964 --enable-vesa) _vesa
=yes ;;
965 --disable-vesa) _vesa
=no
;;
966 --enable-fbdev) _fbdev
=yes ;;
967 --disable-fbdev) _fbdev
=no
;;
968 --enable-dvb) _dvb
=yes ;;
969 --disable-dvb) _dvb
=no
;;
970 --enable-dxr2) _dxr2
=yes ;;
971 --disable-dxr2) _dxr2
=no
;;
972 --enable-dxr3) _dxr3
=yes ;;
973 --disable-dxr3) _dxr3
=no
;;
974 --enable-ivtv) _ivtv
=yes ;;
975 --disable-ivtv) _ivtv
=no
;;
976 --enable-v4l2) _v4l2
=yes ;;
977 --disable-v4l2) _v4l2
=no
;;
978 --enable-iconv) _iconv
=yes ;;
979 --disable-iconv) _iconv
=no
;;
980 --enable-langinfo) _langinfo
=yes ;;
981 --disable-langinfo) _langinfo
=no
;;
982 --enable-rtc) _rtc
=yes ;;
983 --disable-rtc) _rtc
=no
;;
984 --enable-libdv) _libdv
=yes ;;
985 --disable-libdv) _libdv
=no
;;
986 --enable-ossaudio) _ossaudio
=yes ;;
987 --disable-ossaudio) _ossaudio
=no
;;
988 --enable-arts) _arts
=yes ;;
989 --disable-arts) _arts
=no
;;
990 --enable-esd) _esd
=yes ;;
991 --disable-esd) _esd
=no
;;
992 --enable-pulse) _pulse
=yes ;;
993 --disable-pulse) _pulse
=no
;;
994 --enable-jack) _jack
=yes ;;
995 --disable-jack) _jack
=no
;;
996 --enable-openal) _openal
=yes ;;
997 --disable-openal) _openal
=no
;;
998 --enable-kai) _kai
=yes ;;
999 --disable-kai) _kai
=no
;;
1000 --enable-dart) _dart
=yes ;;
1001 --disable-dart) _dart
=no
;;
1002 --enable-mad) _mad
=yes ;;
1003 --disable-mad) _mad
=no
;;
1004 --enable-mp3lame) _mp3lame
=yes ;;
1005 --disable-mp3lame) _mp3lame
=no
;;
1006 --enable-mp3lame-lavc) _mp3lame_lavc
=yes ;;
1007 --disable-mp3lame-lavc) _mp3lame_lavc
=no
;;
1008 --enable-toolame) _toolame
=yes ;;
1009 --disable-toolame) _toolame
=no
;;
1010 --enable-twolame) _twolame
=yes ;;
1011 --disable-twolame) _twolame
=no
;;
1012 --enable-libcdio) _libcdio
=yes ;;
1013 --disable-libcdio) _libcdio
=no
;;
1014 --enable-liblzo) _liblzo
=yes ;;
1015 --disable-liblzo) _liblzo
=no
;;
1016 --enable-libvorbis) _libvorbis
=yes ;;
1017 --disable-libvorbis) _libvorbis
=no
;;
1018 --enable-speex) _speex
=yes ;;
1019 --disable-speex) _speex
=no
;;
1020 --enable-tremor) _tremor
=yes ;;
1021 --disable-tremor) _tremor
=no
;;
1022 --enable-tremor-internal) _tremor_internal
=yes ;;
1023 --disable-tremor-internal) _tremor_internal
=no
;;
1024 --enable-tremor-low) _tremor_low
=yes ;;
1025 --disable-tremor-low) _tremor_low
=no
;;
1026 --enable-theora) _theora
=yes ;;
1027 --disable-theora) _theora
=no
;;
1028 --enable-mp3lib) _mp3lib
=yes ;;
1029 --disable-mp3lib) _mp3lib
=no
;;
1030 --enable-liba52) _liba52
=yes ;;
1031 --disable-liba52) _liba52
=no
;;
1032 --enable-libdca) _libdca
=yes ;;
1033 --disable-libdca) _libdca
=no
;;
1034 --enable-libmpeg2) _libmpeg2
=yes ;;
1035 --disable-libmpeg2) _libmpeg2
=no
;;
1036 --enable-musepack) _musepack
=yes ;;
1037 --disable-musepack) _musepack
=no
;;
1038 --enable-faad) _faad
=yes ;;
1039 --disable-faad) _faad
=no
;;
1040 --enable-faad-internal) _faad_internal
=yes ;;
1041 --disable-faad-internal) _faad_internal
=no
;;
1042 --enable-faad-fixed) _faad_fixed
=yes ;;
1043 --disable-faad-fixed) _faad_fixed
=no
;;
1044 --enable-faac) _faac
=yes ;;
1045 --disable-faac) _faac
=no
;;
1046 --enable-faac-lavc) _faac_lavc
=yes ;;
1047 --disable-faac-lavc) _faac_lavc
=no
;;
1048 --enable-ladspa) _ladspa
=yes ;;
1049 --disable-ladspa) _ladspa
=no
;;
1050 --enable-libbs2b) _libbs2b
=yes ;;
1051 --disable-libbs2b) _libbs2b
=no
;;
1052 --enable-xmms) _xmms
=yes ;;
1053 --disable-xmms) _xmms
=no
;;
1054 --enable-vcd) _vcd
=yes ;;
1055 --disable-vcd) _vcd
=no
;;
1056 --enable-dvdread) _dvdread
=yes ;;
1057 --disable-dvdread) _dvdread
=no
;;
1058 --enable-dvdread-internal) _dvdread_internal
=yes ;;
1059 --disable-dvdread-internal) _dvdread_internal
=no
;;
1060 --enable-libdvdcss-internal) _libdvdcss_internal
=yes ;;
1061 --disable-libdvdcss-internal) _libdvdcss_internal
=no
;;
1062 --enable-dvdnav) _dvdnav
=yes ;;
1063 --disable-dvdnav) _dvdnav
=no
;;
1064 --enable-xanim) _xanim
=yes ;;
1065 --disable-xanim) _xanim
=no
;;
1066 --enable-real) _real
=yes ;;
1067 --disable-real) _real
=no
;;
1068 --enable-live) _live
=yes ;;
1069 --disable-live) _live
=no
;;
1070 --enable-nemesi) _nemesi
=yes ;;
1071 --disable-nemesi) _nemesi
=no
;;
1072 --enable-librtmp) _librtmp
=yes ;;
1073 --disable-librtmp) _librtmp
=no
;;
1074 --enable-xinerama) _xinerama
=yes ;;
1075 --disable-xinerama) _xinerama
=no
;;
1076 --enable-mga) _mga
=yes ;;
1077 --disable-mga) _mga
=no
;;
1078 --enable-xmga) _xmga
=yes ;;
1079 --disable-xmga) _xmga
=no
;;
1080 --enable-vm) _vm
=yes ;;
1081 --disable-vm) _vm
=no
;;
1082 --enable-xf86keysym) _xf86keysym
=yes ;;
1083 --disable-xf86keysym) _xf86keysym
=no
;;
1084 --enable-mlib) _mlib
=yes ;;
1085 --disable-mlib) _mlib
=no
;;
1086 --enable-sunaudio) _sunaudio
=yes ;;
1087 --disable-sunaudio) _sunaudio
=no
;;
1088 --enable-sgiaudio) _sgiaudio
=yes ;;
1089 --disable-sgiaudio) _sgiaudio
=no
;;
1090 --enable-alsa) _alsa
=yes ;;
1091 --disable-alsa) _alsa
=no
;;
1092 --enable-tv) _tv
=yes ;;
1093 --disable-tv) _tv
=no
;;
1094 --enable-tv-bsdbt848) _tv_bsdbt848
=yes ;;
1095 --disable-tv-bsdbt848) _tv_bsdbt848
=no
;;
1096 --enable-tv-v4l1) _tv_v4l1
=yes ;;
1097 --disable-tv-v4l1) _tv_v4l1
=no
;;
1098 --enable-tv-v4l2) _tv_v4l2
=yes ;;
1099 --disable-tv-v4l2) _tv_v4l2
=no
;;
1100 --enable-tv-dshow) _tv_dshow
=yes ;;
1101 --disable-tv-dshow) _tv_dshow
=no
;;
1102 --enable-radio) _radio
=yes ;;
1103 --enable-radio-capture) _radio_capture
=yes ;;
1104 --disable-radio-capture) _radio_capture
=no
;;
1105 --disable-radio) _radio
=no
;;
1106 --enable-radio-v4l) _radio_v4l
=yes ;;
1107 --disable-radio-v4l) _radio_v4l
=no
;;
1108 --enable-radio-v4l2) _radio_v4l2
=yes ;;
1109 --disable-radio-v4l2) _radio_v4l2
=no
;;
1110 --enable-radio-bsdbt848) _radio_bsdbt848
=yes ;;
1111 --disable-radio-bsdbt848) _radio_bsdbt848
=no
;;
1112 --enable-pvr) _pvr
=yes ;;
1113 --disable-pvr) _pvr
=no
;;
1114 --enable-fastmemcpy) _fastmemcpy
=yes ;;
1115 --disable-fastmemcpy) _fastmemcpy
=no
;;
1116 --enable-hardcoded-tables) hardcoded_tables
=yes ;;
1117 --disable-hardcoded-tables) hardcoded_tables
=no
;;
1118 --enable-network) _network
=yes ;;
1119 --disable-network) _network
=no
;;
1120 --enable-winsock2_h) _winsock2_h
=yes ;;
1121 --disable-winsock2_h) _winsock2_h
=no
;;
1122 --enable-smb) _smb
=yes ;;
1123 --disable-smb) _smb
=no
;;
1124 --enable-vidix) _vidix
=yes ;;
1125 --disable-vidix) _vidix
=no
;;
1126 --with-vidix-drivers=*)
1127 _vidix_drivers
=$
(echo $ac_option | cut
-d '=' -f 2)
1129 --disable-vidix-pcidb) _vidix_pcidb
=no
;;
1130 --enable-dhahelper) _dhahelper
=yes ;;
1131 --disable-dhahelper) _dhahelper
=no
;;
1132 --enable-svgalib_helper) _svgalib_helper
=yes ;;
1133 --disable-svgalib_helper) _svgalib_helper
=no
;;
1134 --enable-joystick) _joystick
=yes ;;
1135 --disable-joystick) _joystick
=no
;;
1136 --enable-xvid) _xvid
=yes ;;
1137 --disable-xvid) _xvid
=no
;;
1138 --enable-xvid-lavc) _xvid_lavc
=yes ;;
1139 --disable-xvid-lavc) _xvid_lavc
=no
;;
1140 --enable-x264) _x264
=yes ;;
1141 --disable-x264) _x264
=no
;;
1142 --enable-x264-lavc) _x264_lavc
=yes ;;
1143 --disable-x264-lavc) _x264_lavc
=no
;;
1144 --enable-libdirac-lavc) _libdirac_lavc
=yes ;;
1145 --disable-libdirac-lavc) _libdirac_lavc
=no
;;
1146 --enable-libschroedinger-lavc) _libschroedinger_lavc
=yes ;;
1147 --disable-libschroedinger-lavc) _libschroedinger_lavc
=no
;;
1148 --enable-libvpx-lavc) _libvpx_lavc
=yes ;;
1149 --disable-libvpx-lavc) _libvpx_lavc
=no
;;
1150 --enable-libnut) _libnut
=yes ;;
1151 --disable-libnut) _libnut
=no
;;
1152 --enable-libavutil_a) _libavutil_a
=yes ;;
1153 --disable-libavutil_a) _libavutil_a
=no
;;
1154 --enable-libavutil_so) _libavutil_so
=yes ;;
1155 --disable-libavutil_so) _libavutil_so
=no
;;
1156 --enable-libavcodec_a) _libavcodec_a
=yes ;;
1157 --disable-libavcodec_a) _libavcodec_a
=no
;;
1158 --enable-libavcodec_so) _libavcodec_so
=yes ;;
1159 --disable-libavcodec_so) _libavcodec_so
=no
;;
1160 --enable-libopencore_amrnb) _libopencore_amrnb
=yes ;;
1161 --disable-libopencore_amrnb) _libopencore_amrnb
=no
;;
1162 --enable-libopencore_amrwb) _libopencore_amrwb
=yes ;;
1163 --disable-libopencore_amrwb) _libopencore_amrwb
=no
;;
1164 --enable-decoder=*) _libavdecoders
="$_libavdecoders $(echo $ac_option | cut -d '=' -f 2 | tr '[a-z]' '[A-Z]')" ;;
1165 --disable-decoder=*) _libavdecoders
=$
(echo $_libavdecoders |
sed "s/$(echo $ac_option | cut -d '=' -f 2 | tr '[a-z]' '[A-Z]')//g") ;;
1166 --enable-encoder=*) _libavencoders
="$_libavencoders $(echo $ac_option | cut -d '=' -f 2 | tr '[a-z]' '[A-Z]')" ;;
1167 --disable-encoder=*) _libavencoders
=$
(echo $_libavencoders |
sed "s/$(echo $ac_option | cut -d '=' -f 2 | tr '[a-z]' '[A-Z]')//g") ;;
1168 --enable-parser=*) _libavparsers
="$_libavparsers $(echo $ac_option | cut -d '=' -f 2 | tr '[a-z]' '[A-Z]')" ;;
1169 --disable-parser=*) _libavparsers
=$
(echo $_libavparsers |
sed "s/$(echo $ac_option | cut -d '=' -f 2 | tr '[a-z]' '[A-Z]')//g") ;;
1170 --enable-protocol=*) _libavprotocols
="$_libavprotocols $(echo $ac_option | cut -d '=' -f 2 | tr '[a-z]' '[A-Z]')" ;;
1171 --disable-protocol=*) _libavprotocols
=$
(echo $_libavprotocols |
sed "s/$(echo $ac_option | cut -d '=' -f 2 | tr '[a-z]' '[A-Z]')//g") ;;
1172 --enable-demuxer=*) _libavdemuxers
="$_libavdemuxers $(echo $ac_option | cut -d '=' -f 2 | tr '[a-z]' '[A-Z]')" ;;
1173 --disable-demuxer=*) _libavdemuxers
=$
(echo $_libavdemuxers |
sed "s/$(echo $ac_option | cut -d '=' -f 2 | tr '[a-z]' '[A-Z]')//g") ;;
1174 --enable-muxer=*) _libavmuxers
="$_libavmuxers $(echo $ac_option | cut -d '=' -f 2 | tr '[a-z]' '[A-Z]')" ;;
1175 --disable-muxer=*) _libavmuxers
=$
(echo $_libavmuxers |
sed "s/$(echo $ac_option | cut -d '=' -f 2 | tr '[a-z]' '[A-Z]')//g") ;;
1176 --enable-libavformat_a) _libavformat_a
=yes ;;
1177 --disable-libavformat_a) _libavformat_a
=no
;;
1178 --enable-libavformat_so) _libavformat_so
=yes ;;
1179 --disable-libavformat_so) _libavformat_so
=no
;;
1180 --enable-libpostproc_a) _libpostproc_a
=yes ;;
1181 --disable-libpostproc_a) _libpostproc_a
=no
;;
1182 --enable-libpostproc_so) _libpostproc_so
=yes ;;
1183 --disable-libpostproc_so) _libpostproc_so
=no
;;
1184 --enable-libswscale_a) _libswscale_a
=yes ;;
1185 --disable-libswscale_a) _libswscale_a
=no
;;
1186 --enable-libswscale_so) _libswscale_so
=yes ;;
1187 --disable-libswscale_so) _libswscale_so
=no
;;
1188 --enable-libavcodec_mpegaudio_hp) _libavcodec_mpegaudio_hp
=yes ;;
1189 --disable-libavcodec_mpegaudio_hp) _libavcodec_mpegaudio_hp
=no
;;
1191 --enable-lirc) _lirc
=yes ;;
1192 --disable-lirc) _lirc
=no
;;
1193 --enable-lircc) _lircc
=yes ;;
1194 --disable-lircc) _lircc
=no
;;
1195 --enable-apple-remote) _apple_remote
=yes ;;
1196 --disable-apple-remote) _apple_remote
=no
;;
1197 --enable-apple-ir) _apple_ir
=yes ;;
1198 --disable-apple-ir) _apple_ir
=no
;;
1199 --enable-gui) _gui
=yes ;;
1200 --disable-gui) _gui
=no
;;
1201 --enable-gtk1) _gtk1
=yes ;;
1202 --disable-gtk1) _gtk1
=no
;;
1203 --enable-termcap) _termcap
=yes ;;
1204 --disable-termcap) _termcap
=no
;;
1205 --enable-termios) _termios
=yes ;;
1206 --disable-termios) _termios
=no
;;
1207 --enable-3dfx) _3dfx
=yes ;;
1208 --disable-3dfx) _3dfx
=no
;;
1209 --enable-s3fb) _s3fb
=yes ;;
1210 --disable-s3fb) _s3fb
=no
;;
1211 --enable-wii) _wii
=yes ;;
1212 --disable-wii) _wii
=no
;;
1213 --enable-tdfxfb) _tdfxfb
=yes ;;
1214 --disable-tdfxfb) _tdfxfb
=no
;;
1215 --disable-tdfxvid) _tdfxvid
=no
;;
1216 --enable-tdfxvid) _tdfxvid
=yes ;;
1217 --disable-xvr100) _xvr100
=no
;;
1218 --enable-xvr100) _xvr100
=yes ;;
1219 --disable-tga) _tga
=no
;;
1220 --enable-tga) _tga
=yes ;;
1221 --enable-directfb) _directfb
=yes ;;
1222 --disable-directfb) _directfb
=no
;;
1223 --enable-zr) _zr
=yes ;;
1224 --disable-zr) _zr
=no
;;
1225 --enable-bl) _bl
=yes ;;
1226 --disable-bl) _bl
=no
;;
1227 --enable-mtrr) _mtrr
=yes ;;
1228 --disable-mtrr) _mtrr
=no
;;
1229 --enable-largefiles) _largefiles
=yes ;;
1230 --disable-largefiles) _largefiles
=no
;;
1231 --enable-shm) _shm
=yes ;;
1232 --disable-shm) _shm
=no
;;
1233 --enable-select) _select
=yes ;;
1234 --disable-select) _select
=no
;;
1235 --enable-linux-devfs) _linux_devfs
=yes ;;
1236 --disable-linux-devfs) _linux_devfs
=no
;;
1237 --enable-cdparanoia) _cdparanoia
=yes ;;
1238 --disable-cdparanoia) _cdparanoia
=no
;;
1239 --enable-cddb) _cddb
=yes ;;
1240 --disable-cddb) _cddb
=no
;;
1241 --enable-big-endian) _big_endian
=yes ;;
1242 --disable-big-endian) _big_endian
=no
;;
1243 --enable-bitmap-font) _bitmap_font
=yes ;;
1244 --disable-bitmap-font) _bitmap_font
=no
;;
1245 --enable-freetype) _freetype
=yes ;;
1246 --disable-freetype) _freetype
=no
;;
1247 --enable-fontconfig) _fontconfig
=yes ;;
1248 --disable-fontconfig) _fontconfig
=no
;;
1249 --enable-unrarexec) _unrar_exec
=yes ;;
1250 --disable-unrarexec) _unrar_exec
=no
;;
1251 --enable-ftp) _ftp
=yes ;;
1252 --disable-ftp) _ftp
=no
;;
1253 --enable-vstream) _vstream
=yes ;;
1254 --disable-vstream) _vstream
=no
;;
1255 --enable-pthreads) _pthreads
=yes ;;
1256 --disable-pthreads) _pthreads
=no
;;
1257 --enable-w32threads) _w32threads
=yes ;;
1258 --disable-w32threads) _w32threads
=no
;;
1259 --enable-ass) _ass
=yes ;;
1260 --disable-ass) _ass
=no
;;
1261 --enable-ass-internal) ass_internal
=yes ;;
1262 --disable-ass-internal) ass_internal
=no
;;
1263 --enable-rpath) _rpath
=yes ;;
1264 --disable-rpath) _rpath
=no
;;
1266 --enable-fribidi) _fribidi
=yes ;;
1267 --disable-fribidi) _fribidi
=no
;;
1269 --enable-enca) _enca
=yes ;;
1270 --disable-enca) _enca
=no
;;
1272 --enable-inet6) _inet6
=yes ;;
1273 --disable-inet6) _inet6
=no
;;
1275 --enable-gethostbyname2) _gethostbyname2
=yes ;;
1276 --disable-gethostbyname2) _gethostbyname2
=no
;;
1278 --enable-dga1) _dga1
=yes ;;
1279 --disable-dga1) _dga1
=no
;;
1280 --enable-dga2) _dga2
=yes ;;
1281 --disable-dga2) _dga2
=no
;;
1283 --enable-menu) _menu
=yes ;;
1284 --disable-menu) _menu
=no
;;
1286 --enable-qtx) _qtx
=yes ;;
1287 --disable-qtx) _qtx
=no
;;
1289 --enable-coreaudio) _coreaudio
=yes ;;
1290 --disable-coreaudio) _coreaudio
=no
;;
1291 --enable-corevideo) _corevideo
=yes ;;
1292 --disable-corevideo) _corevideo
=no
;;
1293 --enable-quartz) _quartz
=yes ;;
1294 --disable-quartz) _quartz
=no
;;
1295 --enable-macosx-finder) _macosx_finder
=yes ;;
1296 --disable-macosx-finder) _macosx_finder
=no
;;
1297 --enable-macosx-bundle) _macosx_bundle
=yes ;;
1298 --disable-macosx-bundle) _macosx_bundle
=no
;;
1300 --enable-maemo) _maemo
=yes ;;
1301 --disable-maemo) _maemo
=no
;;
1303 --enable-sortsub) _sortsub
=yes ;;
1304 --disable-sortsub) _sortsub
=no
;;
1306 --enable-crash-debug) _crash_debug
=yes ;;
1307 --disable-crash-debug) _crash_debug
=no
;;
1308 --enable-sighandler) _sighandler
=yes ;;
1309 --disable-sighandler) _sighandler
=no
;;
1310 --enable-win32dll) _win32dll
=yes ;;
1311 --disable-win32dll) _win32dll
=no
;;
1313 --enable-sse) _sse
=yes ;;
1314 --disable-sse) _sse
=no
;;
1315 --enable-sse2) _sse2
=yes ;;
1316 --disable-sse2) _sse2
=no
;;
1317 --enable-ssse3) _ssse3
=yes ;;
1318 --disable-ssse3) _ssse3
=no
;;
1319 --enable-mmxext) _mmxext
=yes ;;
1320 --disable-mmxext) _mmxext
=no
;;
1321 --enable-3dnow) _3dnow
=yes ;;
1322 --disable-3dnow) _3dnow
=no _3dnowext
=no
;;
1323 --enable-3dnowext) _3dnow
=yes _3dnowext
=yes ;;
1324 --disable-3dnowext) _3dnowext
=no
;;
1325 --enable-cmov) _cmov
=yes ;;
1326 --disable-cmov) _cmov
=no
;;
1327 --enable-fast-cmov) _fast_cmov
=yes ;;
1328 --disable-fast-cmov) _fast_cmov
=no
;;
1329 --enable-fast-clz) _fast_clz
=yes ;;
1330 --disable-fast-clz) _fast_clz
=no
;;
1331 --enable-altivec) _altivec
=yes ;;
1332 --disable-altivec) _altivec
=no
;;
1333 --enable-armv5te) _armv5te
=yes ;;
1334 --disable-armv5te) _armv5te
=no
;;
1335 --enable-armv6) _armv6
=yes ;;
1336 --disable-armv6) _armv6
=no
;;
1337 --enable-armv6t2) _armv6t2
=yes ;;
1338 --disable-armv6t2) _armv6t2
=no
;;
1339 --enable-armvfp) _armvfp
=yes ;;
1340 --disable-armvfp) _armvfp
=no
;;
1341 --enable-neon) neon
=yes ;;
1342 --disable-neon) neon
=no
;;
1343 --enable-iwmmxt) _iwmmxt
=yes ;;
1344 --disable-iwmmxt) _iwmmxt
=no
;;
1345 --enable-mmx) _mmx
=yes ;;
1346 --disable-mmx) # 3Dnow! and MMX2 require MMX
1347 _3dnow
=no _3dnowext
=no _mmx
=no _mmxext
=no
;;
1350 echo "Unknown parameter: $ac_option"
1357 # Atmos: moved this here, to be correct, if --prefix is specified
1358 test -z "$_bindir" && _bindir
="$_prefix/bin"
1359 test -z "$_datadir" && _datadir
="$_prefix/share/mplayer"
1360 test -z "$_mandir" && _mandir
="$_prefix/share/man"
1361 test -z "$_confdir" && _confdir
="$_prefix/etc/mplayer"
1362 test -z "$_libdir" && _libdir
="$_prefix/lib"
1364 # Determine our OS name and CPU architecture
1365 if test -z "$_target" ; then
1367 system_name
=$
(uname
-s 2>&1)
1368 case "$system_name" in
1369 Linux|FreeBSD|NetBSD|OpenBSD|DragonFly|BSD
/OS|Darwin|SunOS|QNX|GNU|BeOS|MorphOS|AIX|AmigaOS
)
1383 [cC
][yY
][gG
][wW
][iI
][nN
]*)
1393 system_name
="$system_name-UNKNOWN"
1398 # host's CPU/instruction set
1399 host_arch
=$
(uname
-p 2>&1)
1400 case "$host_arch" in
1401 i386|sparc|ppc|alpha|arm|mips|vax
)
1403 powerpc
) # Darwin returns 'powerpc'
1406 *) # uname -p on Linux returns 'unknown' for the processor type,
1407 # OpenBSD returns 'Intel Pentium/MMX ("Genuine Intel" 586-class)'
1409 # Maybe uname -m (machine hardware name) returns something we
1412 # x86/x86pc is used by QNX
1413 case "$(uname -m 2>&1)" in
1414 x86_64|amd64|i
[3-9]86*|x86|x86pc|k5|k6|k6_2|k6_3|k6-2|k6-3|pentium
*|athlon
*|i586_i686|i586-i686|BePC
) host_arch
=i386
;;
1415 ia64
) host_arch
=ia64
;;
1416 macppc|ppc
) host_arch
=ppc
;;
1417 ppc64
) host_arch
=ppc64
;;
1418 alpha
) host_arch
=alpha
;;
1419 sparc
) host_arch
=sparc
;;
1420 sparc64
) host_arch
=sparc64
;;
1421 parisc
*|hppa
*|
9000*) host_arch
=hppa
;;
1422 arm
*|zaurus|cats
) host_arch
=arm
;;
1423 sh3|sh4|sh4a
) host_arch
=sh
;;
1424 s390
) host_arch
=s390
;;
1425 s390x
) host_arch
=s390x
;;
1426 *mips
*) host_arch
=mips
;;
1427 vax
) host_arch
=vax
;;
1428 xtensa
*) host_arch
=xtensa
;;
1429 *) host_arch
=UNKNOWN
;;
1433 else # if test -z "$_target"
1434 system_name
=$
(echo $_target | cut
-d '-' -f 2)
1435 case "$(echo $system_name | tr A-Z a-z)" in
1436 linux
) system_name
=Linux
;;
1437 freebsd
) system_name
=FreeBSD
;;
1438 gnu
/kfreebsd
) system_name
=FreeBSD
;;
1439 netbsd
) system_name
=NetBSD
;;
1440 bsd
/os
) system_name
=BSD
/OS
;;
1441 openbsd
) system_name
=OpenBSD
;;
1442 dragonfly
) system_name
=DragonFly
;;
1443 sunos
) system_name
=SunOS
;;
1444 qnx
) system_name
=QNX
;;
1445 morphos
) system_name
=MorphOS
;;
1446 amigaos
) system_name
=AmigaOS
;;
1447 mingw32
*) system_name
=MINGW32
;;
1449 # We need to convert underscores so that values like k6-2 and pentium-mmx can be passed
1450 host_arch
=$
(echo $_target | cut
-d '-' -f 1)
1451 if test $
(echo $host_arch) != "x86_64" ; then
1452 host_arch
=$
(echo $host_arch |
tr '_' '-')
1456 extra_cflags
="-I. $extra_cflags"
1457 _timer
=timer-linux.c
1460 extra_ldflags
="$extra_ldflags -L/usr/local/lib"
1461 extra_cflags
="$extra_cflags -I/usr/local/include"
1464 if netbsd || dragonfly
; then
1465 extra_ldflags
="$extra_ldflags -L/usr/pkg/lib"
1466 extra_cflags
="$extra_cflags -I/usr/pkg/include"
1470 extra_cflags
="-mdynamic-no-pic -falign-loops=16 -shared-libgcc $extra_cflags"
1471 _timer
=timer-darwin.c
1475 extra_ldflags
="$extra_ldflags -lC"
1486 extra_cflags
="$extra_cflags -fno-common"
1487 # -lwinmm is always needed for osdep/timer-win2.c
1488 extra_ldflags
="$extra_ldflags -lwinmm"
1492 def_dos_paths
="#define HAVE_DOS_PATHS 1"
1493 def_priority
="#define CONFIG_PRIORITY 1"
1505 def_stream_cache
="#undef CONFIG_STREAM_CACHE"
1506 extra_cflags
="-DNEWLIB -D__USE_INLINE__ $extra_cflags"
1510 extra_ldflags
="$extra_ldflags -lph"
1518 def_dos_paths
="#define HAVE_DOS_PATHS 1"
1519 def_priority
="#define CONFIG_PRIORITY 1"
1522 for I
in "$TMPDIR" "$TEMPDIR" "/tmp" ; do
1527 TMPLOG
="configure.log"
1528 TMPC
="$I/mplayer-conf-$RANDOM-$$.c"
1529 TMPCPP
="$I/mplayer-conf-$RANDOM-$$.cpp"
1530 TMPEXE
="$I/mplayer-conf-$RANDOM-$$$_exesuf"
1531 TMPH
="$I/mplayer-conf-$RANDOM-$$.h"
1532 TMPS
="$I/mplayer-conf-$RANDOM-$$.S"
1535 echo configuration
: $_configuration > "$TMPLOG"
1539 if test "$_runtime_cpudetection" = yes && ! x86
&& ! ppc
; then
1540 die
"Runtime CPU detection only works for x86, x86-64 and PPC!"
1544 # Checking CC version...
1545 # Intel C++ Compilers (no autoselect, use CC=/some/binary ./configure)
1546 if test "$(basename $_cc)" = "icc" ||
test "$(basename $_cc)" = "ecc"; then
1547 echocheck
"$_cc version"
1549 cc_name
=$
($_cc -V 2>&1 |
head -n 1 | cut
-d ',' -f 1)
1550 cc_version
=$
($_cc -V 2>&1 |
head -n 1 | cut
-d ',' -f 2 | cut
-d ' ' -f 3)
1551 _cc_major
=$
(echo $cc_version | cut
-d '.' -f 1)
1552 _cc_minor
=$
(echo $cc_version | cut
-d '.' -f 2)
1553 # TODO verify older icc/ecc compatibility
1556 cc_version
="v. ?.??, bad"
1560 cc_version
="$cc_version, ok"
1563 cc_version
="$cc_version, bad"
1567 echores
"$cc_version"
1569 for _cc
in "$_cc" gcc cc
; do
1570 cc_name_tmp
=$
($_cc -v 2>&1 |
tail -n 1 | cut
-d ' ' -f 1)
1571 if test "$cc_name_tmp" = "gcc"; then
1572 cc_name
=$cc_name_tmp
1573 echocheck
"$_cc version"
1575 cc_version
=$
($_cc -dumpversion 2>&1)
1581 _cc_major
=$
(echo $cc_version | cut
-d '.' -f 1)
1582 _cc_minor
=$
(echo $cc_version | cut
-d '.' -f 2)
1583 _cc_mini
=$
(echo $cc_version | cut
-d '.' -f 3)
1586 echores
"$cc_version"
1589 cc_name_tmp
=$
($_cc -V 2>&1 |
head -n 1 | cut
-d ' ' -f 2,3)
1590 if test "$cc_name_tmp" = "Sun C"; then
1591 echocheck
"$_cc version"
1593 cc_version
=$
($_cc -V 2>&1 |
head -n 1 | cut
-d ' ' -f 4)
1594 res_comment
="experimental support only"
1595 echores
"Sun C $cc_version"
1600 test "$cc_fail" = yes && die
"unsupported compiler version"
1602 if test -z "$_target" && x86
; then
1605 int test[(int)sizeof(char *)-7];
1609 cc_check
&& host_arch
=x86_64 || host_arch
=i386
1612 echo "Detected operating system: $system_name"
1613 echo "Detected host architecture: $host_arch"
1616 test "$_host_cc" || _host_cc
=$_cc
1619 echocheck
"cross compilation"
1620 if test $_cross_compile = auto
; then
1622 int main(void) { return 0; }
1625 cc_check
&& "$TMPEXE" && _cross_compile
=no
1627 echores
$_cross_compile
1629 if test $_cross_compile = yes; then
1637 # now that we know what compiler should be used for compilation, try to find
1638 # out which assembler is used by the $_cc compiler
1639 if test "$_as" = auto
; then
1640 _as
=$
($_cc -print-prog-name=as
)
1641 test -z "$_as" && _as
=as
1644 if test "$_nm" = auto
; then
1645 _nm
=$
($_cc -print-prog-name=nm
)
1646 test -z "$_nm" && _nm
=nm
1649 # XXX: this should be ok..
1652 if test "$_runtime_cpudetection" = no
; then
1654 # Cygwin has /proc/cpuinfo, but only supports Intel CPUs
1655 # FIXME: Remove the cygwin check once AMD CPUs are supported
1656 if test -r /proc
/cpuinfo
&& ! cygwin
; then
1657 # Linux with /proc mounted, extract CPU information from it
1658 _cpuinfo
="cat /proc/cpuinfo"
1659 elif test -r /compat
/linux
/proc
/cpuinfo
&& ! x86
; then
1660 # FreeBSD with Linux emulation /proc mounted,
1661 # extract CPU information from it
1662 # Don't use it on x86 though, it never reports 3Dnow
1663 _cpuinfo
="cat /compat/linux/proc/cpuinfo"
1664 elif darwin
&& ! x86
; then
1665 # use hostinfo on Darwin
1668 # use 'lsattr' on AIX
1669 _cpuinfo
="lsattr -E -l proc0 -a type"
1671 # all other OSes try to extract CPU information from a small helper
1672 # program cpuinfo instead
1673 $_cc -o cpuinfo
$_exesuf cpuinfo.c
1674 _cpuinfo
="./cpuinfo$_exesuf"
1677 if [ "$cc_vendor" = "gnu" ] && [ "$_cc_major" = 2 ] ; then
1678 test $_sse = auto
&& _sse
=no
1679 test $_win32dll = auto
&& _win32dll
=no
1684 # gather more CPU information
1685 pname
=$
($_cpuinfo |
grep 'model name' | cut
-d ':' -f 2 |
head -n 1)
1686 pvendor
=$
($_cpuinfo |
grep 'vendor_id' | cut
-d ':' -f 2 | cut
-d ' ' -f 2 |
head -n 1)
1687 pfamily
=$
($_cpuinfo |
grep 'cpu family' | cut
-d ':' -f 2 | cut
-d ' ' -f 2 |
head -n 1)
1688 pmodel
=$
($_cpuinfo |
grep -v 'model name' |
grep 'model' | cut
-d ':' -f 2 | cut
-d ' ' -f 2 |
head -n 1)
1689 pstepping
=$
($_cpuinfo |
grep 'stepping' | cut
-d ':' -f 2 | cut
-d ' ' -f 2 |
head -n 1)
1691 exts
=$
($_cpuinfo |
egrep 'features|flags' | cut
-d ':' -f 2 |
head -n 1)
1693 pparam
=$
(echo $exts |
sed -e s
/k6_mtrr
/mtrr
/ -e s
/cyrix_arr
/mtrr
/ -e s
/centaur_mcr
/mtrr
/ \
1694 -e s
/xmm
/sse
/ -e s
/kni
/sse
/)
1696 for ext
in $pparam ; do
1697 eval test \"\
$_$ext\" = auto
2>/dev
/null
&& eval _
$ext=kernel_check
1700 # SSE implies MMX2, but not all SSE processors report the mmxext CPU flag.
1701 test $_sse = kernel_check
&& _mmxext
=kernel_check
1703 echocheck
"CPU vendor"
1704 echores
"$pvendor ($pfamily:$pmodel:$pstepping)"
1706 echocheck
"CPU type"
1710 fi # test "$_runtime_cpudetection" = no
1712 if x86
&& test "$_runtime_cpudetection" = no
; then
1714 if test "$1" = kernel_check
; then
1715 echocheck
"kernel support of $2"
1719 void catch() { exit(1); }
1721 signal(SIGILL, catch);
1722 __asm__ volatile ("$3":::"memory"); return 0;
1726 if cc_check
&& tmp_run
; then
1729 _optimizing
="$_optimizing $2"
1734 echo "It seems that your kernel does not correctly support $2."
1735 echo "To use $2 extensions in MPlayer, you have to upgrade/recompile your kernel!"
1742 extcheck
$_mmx "mmx" "emms"
1743 extcheck
$_mmxext "mmxext" "sfence"
1744 extcheck
$_3dnow "3dnow" "femms"
1745 extcheck
$_3dnowext "3dnowext" "pswapd %%mm0, %%mm0"
1746 extcheck
$_sse "sse" "xorps %%xmm0, %%xmm0" || _gcc3_ext
="$_gcc3_ext -mno-sse"
1747 extcheck
$_sse2 "sse2" "xorpd %%xmm0, %%xmm0" || _gcc3_ext
="$_gcc3_ext -mno-sse2"
1748 extcheck
$_ssse3 "ssse3" "pabsd %%xmm0, %%xmm0"
1749 extcheck
$_cmov "cmov" "cmovb %%eax,%%ebx"
1751 echocheck
"mtrr support"
1752 if test "$_mtrr" = kernel_check
; then
1754 _optimizing
="$_optimizing mtrr"
1758 if test "$_gcc3_ext" != ""; then
1759 # if we had to disable sse/sse2 because the active kernel does not
1760 # support this instruction set extension, we also have to tell
1761 # gcc3 to not generate sse/sse2 instructions for normal C code
1763 int main(void) { return 0; }
1765 cc_check
$_march $_gcc3_ext && _march
="$_march $_gcc3_ext"
1771 def_fast_64bit
='#define HAVE_FAST_64BIT 0'
1772 def_fast_unaligned
='#define HAVE_FAST_UNALIGNED 0'
1773 def_local_aligned_8
='#define HAVE_LOCAL_ALIGNED_8 0'
1774 def_local_aligned_16
='#define HAVE_LOCAL_ALIGNED_16 0'
1775 arch_all
='X86 IA64 SPARC ARM AVR32 SH4 PPC ALPHA MIPS PA_RISC S390 S390X VAX BFIN XTENSA TOMI GENERIC'
1776 subarch_all
='X86_32 X86_64 PPC64'
1777 case "$host_arch" in
1778 i
[3-9]86|x86|x86pc|k5|k6|k6-2|k6-3|pentium
*|athlon
*|i586-i686
)
1781 def_fast_unaligned
='#define HAVE_FAST_UNALIGNED 1'
1782 def_local_aligned_8
='#define HAVE_LOCAL_ALIGNED_8 1'
1783 def_local_aligned_16
='#define HAVE_LOCAL_ALIGNED_16 1'
1788 if test "$_runtime_cpudetection" = no
; then
1792 3) proc
=i386 iproc
=386 ;;
1793 4) proc
=i486 iproc
=486 ;;
1794 5) iproc
=586 # LGB: models are: K5/SSA5 K5 K5 K5 ? ? K6 K6 K6-2 K6-3
1795 # K6 model 13 are the K6-2+ and K6-III+, only differing in cache size.
1796 if test "$pmodel" -eq 9 -o "$pmodel" -eq 13; then
1798 elif test "$pmodel" -eq 5 -o "$pmodel" -eq 10; then
1800 elif test "$pmodel" -ge 8; then
1802 elif test "$pmodel" -ge 6; then
1809 # It's a bit difficult to determine the correct type of Family 6
1810 # AMD CPUs just from their signature. Instead, we check directly
1811 # whether it supports SSE.
1812 if test "$_sse" = yes; then
1813 # gcc treats athlon-xp, athlon-4 and athlon-mp similarly.
1816 # Again, gcc treats athlon and athlon-tbird similarly.
1821 # k8 cpu-type only supported in gcc >= 3.4.0, but that will be
1822 # caught and remedied in the optimization tests below.
1826 *) proc
=amdfam10 iproc
=686
1827 test $_fast_clz = "auto" && _fast_clz
=yes
1833 3) proc
=i386 iproc
=386 ;;
1834 4) proc
=i486 iproc
=486 ;;
1836 if test "$pmodel" -eq 4 ||
test "$pmodel" -eq 8; then
1837 proc
=pentium-mmx
# 4 is desktop, 8 is mobile
1843 if test "$pmodel" -ge 15; then
1845 elif test "$pmodel" -eq 9 -o "$pmodel" -ge 13; then
1847 elif test "$pmodel" -ge 7; then
1849 elif test "$pmodel" -ge 3; then
1854 test $_fast_clz = "auto" && _fast_clz
=yes
1857 # A nocona in 32-bit mode has no more capabilities than a prescott.
1858 if test "$pmodel" -ge 3; then
1862 test $_fast_clz = "auto" && _fast_clz
=yes
1864 test $_fast_cmov = "auto" && _fast_cmov
=no
1866 *) proc
=prescott iproc
=686 ;;
1872 if test "$pmodel" -ge 8; then
1874 elif test "$pmodel" -ge 4; then
1881 if test "$pmodel" -ge 9; then
1888 *) proc
=i686 iproc
=i686
;;
1893 3) proc
=i386 iproc
=386 ;;
1894 4) proc
=i486 iproc
=486 ;;
1895 *) proc
=i586 iproc
=586 ;;
1899 proc
=i586 iproc
=586 ;;
1901 test $_fast_clz = "auto" && _fast_clz
=no
1902 fi # test "$_runtime_cpudetection" = no
1905 # check that gcc supports our CPU, if not, fall back to earlier ones
1906 # LGB: check -mcpu and -march swithing step by step with enabling
1907 # to fall back till 386.
1909 # gcc >= 3.4.0 doesn't support -mcpu, we have to use -mtune instead
1911 if [ "$cc_vendor" = "gnu" ] && ([ "$_cc_major" -gt 3 ] ||
( [ "$_cc_major" = 3 ] && [ "$_cc_minor" -ge 4 ])) ; then
1917 echocheck
"GCC & CPU optimization abilities"
1919 int main(void) { return 0; }
1921 if test "$_runtime_cpudetection" = no
; then
1922 if test $cc_vendor != "intel" ; then
1923 cc_check
-march=native
&& proc
=native
1925 if test "$proc" = "amdfam10"; then
1926 cc_check
-march=$proc $cpuopt=$proc || proc
=k8
1928 if test "$proc" = "k8"; then
1929 cc_check
-march=$proc $cpuopt=$proc || proc
=athlon-xp
1931 if test "$proc" = "athlon-xp"; then
1932 cc_check
-march=$proc $cpuopt=$proc || proc
=athlon
1934 if test "$proc" = "k6-3" ||
test "$proc" = "k6-2"; then
1935 cc_check
-march=$proc $cpuopt=$proc || proc
=k6
1937 if test "$proc" = "k6" ||
test "$proc" = "c3"; then
1938 if ! cc_check
-march=$proc $cpuopt=$proc; then
1939 if cc_check
-march=i586
$cpuopt=i686
; then
1946 if test "$proc" = "prescott" ; then
1947 cc_check
-march=$proc $cpuopt=$proc || proc
=pentium4
1949 if test "$proc" = "core2" ; then
1950 cc_check
-march=$proc $cpuopt=$proc || proc
=pentium-m
1952 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
1953 cc_check
-march=$proc $cpuopt=$proc || proc
=i686
1955 if test "$proc" = "i686" ||
test "$proc" = "pentium-mmx" ||
test "$proc" = "winchip-c6" ||
test "$proc" = "winchip2"; then
1956 cc_check
-march=$proc $cpuopt=$proc || proc
=i586
1958 if test "$proc" = "i586"; then
1959 cc_check
-march=$proc $cpuopt=$proc || proc
=i486
1961 if test "$proc" = "i486" ; then
1962 cc_check
-march=$proc $cpuopt=$proc || proc
=i386
1964 if test "$proc" = "i386" ; then
1965 cc_check
-march=$proc $cpuopt=$proc || proc
=error
1967 if test "$proc" = "error" ; then
1968 echores
"CPU optimization disabled. CPU not recognized or your compiler is too old."
1972 elif test "$proc" = "i586-i686"; then
1973 _march
="-march=i586"
1974 _mcpu
="$cpuopt=i686"
1977 _march
="-march=$proc"
1978 _mcpu
="$cpuopt=$proc"
1981 else # if test "$_runtime_cpudetection" = no
1982 _mcpu
="$cpuopt=generic"
1983 # at least i486 required, for bswap instruction
1984 _march
="-march=i486"
1985 cc_check
$_mcpu || _mcpu
="$cpuopt=i686"
1986 cc_check
$_mcpu || _mcpu
=""
1987 cc_check
$_march $_mcpu || _march
=""
1990 ## Gabucino : --target takes effect here (hopefully...) by overwriting
1991 ## autodetected mcpu/march parameters
1992 if test "$_target" ; then
1993 # TODO: it may be a good idea to check GCC and fall back in all cases
1994 if test "$host_arch" = "i586-i686"; then
1995 _march
="-march=i586"
1996 _mcpu
="$cpuopt=i686"
1998 _march
="-march=$host_arch"
1999 _mcpu
="$cpuopt=$host_arch"
2007 i586|k5|k6|k6-2|k6-3|pentium|pentium-mmx
) iproc
=586 ;;
2008 i686|athlon
*|pentium
*) iproc
=686 ;;
2013 if test $_cmov = "yes" && test $_fast_cmov = "auto" ; then
2018 test $_fast_clz = "auto" && _fast_clz
=yes
2025 def_fast_64bit
='#define HAVE_FAST_64BIT 1'
2032 def_fast_unaligned
='#define HAVE_FAST_UNALIGNED 1'
2033 def_fast_64bit
='#define HAVE_FAST_64BIT 1'
2036 # gcc >= 3.4.0 doesn't support -mcpu, we have to use -mtune instead
2037 if test "$cc_vendor" = "gnu" && test "$_cc_major" -gt 3 -o "$_cc_major" -eq 3 -a "$_cc_minor" -ge 4 ; then
2042 if test "$_runtime_cpudetection" = no
; then
2047 test $_fast_clz = "auto" && _fast_clz
=no
2056 # 64-bit prescotts exist, but as far as GCC is concerned they
2057 # have the same capabilities as a nocona.
2059 test $_fast_cmov = "auto" && _fast_cmov
=no
2060 test $_fast_clz = "auto" && _fast_clz
=no
2067 fi # test "$_runtime_cpudetection" = no
2069 echocheck
"GCC & CPU optimization abilities"
2071 int main(void) { return 0; }
2073 # This is a stripped-down version of the i386 fallback.
2074 if test "$_runtime_cpudetection" = no
; then
2075 if test $cc_vendor != "intel" ; then
2076 cc_check
-march=native
&& proc
=native
2078 # --- AMD processors ---
2079 if test "$proc" = "amdfam10"; then
2080 cc_check
-march=$proc $cpuopt=$proc || proc
=k8
2082 if test "$proc" = "k8"; then
2083 cc_check
-march=$proc $cpuopt=$proc || proc
=athlon-xp
2085 # This will fail if gcc version < 3.3, which is ok because earlier
2086 # versions don't really support 64-bit on amd64.
2087 # Is this a valid assumption? -Corey
2088 if test "$proc" = "athlon-xp"; then
2089 cc_check
-march=$proc $cpuopt=$proc || proc
=error
2091 # --- Intel processors ---
2092 if test "$proc" = "core2"; then
2093 cc_check
-march=$proc $cpuopt=$proc || proc
=x86-64
2095 if test "$proc" = "x86-64"; then
2096 cc_check
-march=$proc $cpuopt=$proc || proc
=nocona
2098 if test "$proc" = "nocona"; then
2099 cc_check
-march=$proc $cpuopt=$proc || proc
=pentium4
2101 if test "$proc" = "pentium4"; then
2102 cc_check
-march=$proc $cpuopt=$proc || proc
=error
2105 _march
="-march=$proc"
2106 _mcpu
="$cpuopt=$proc"
2107 if test "$proc" = "error" ; then
2108 echores
"CPU optimization disabled. CPU not recognized or your compiler is too old."
2112 else # if test "$_runtime_cpudetection" = no
2113 # x86-64 is an undocumented option, an intersection of k8 and nocona.
2114 _march
="-march=x86-64"
2115 _mcpu
="$cpuopt=generic"
2116 cc_check
$_mcpu || _mcpu
="x86-64"
2117 cc_check
$_mcpu || _mcpu
=""
2118 cc_check
$_march $_mcpu || _march
=""
2122 test $_fast_cmov = "auto" && _fast_cmov
=yes
2123 test $_fast_clz = "auto" && _fast_clz
=yes
2131 if test "$host_arch" = "sparc64" ; then
2134 def_fast_64bit
='#define HAVE_FAST_64BIT 1'
2136 echocheck
"CPU type"
2138 case "$(echo $karch)" in
2143 sun4u
) proc
=ultrasparc _vis
='yes' ;;
2162 def_fast_unaligned
='#define HAVE_FAST_UNALIGNED 1'
2164 test $_fast_clz = "auto" && _fast_clz
=yes
2172 ppc|ppc64|powerpc|powerpc64
)
2174 def_dcbzl
='#define HAVE_DCBZL 0'
2175 def_fast_unaligned
='#define HAVE_FAST_UNALIGNED 1'
2176 def_local_aligned_8
='#define HAVE_LOCAL_ALIGNED_8 1'
2177 def_local_aligned_16
='#define HAVE_LOCAL_ALIGNED_16 1'
2180 if test "$host_arch" = "ppc64" -o "$host_arch" = "powerpc64" ; then
2182 def_fast_64bit
='#define HAVE_FAST_64BIT 1'
2184 echocheck
"CPU type"
2185 case $system_name in
2187 proc
=$
($_cpuinfo |
grep 'cpu' | cut
-d ':' -f 2 | cut
-d ',' -f 1 | cut
-b 2- |
head -n 1)
2188 if test -n "$($_cpuinfo | grep altivec)"; then
2189 test $_altivec = auto
&& _altivec
=yes
2193 proc
=$
($_cpuinfo |
grep "Processor type" | cut
-f 3 -d ' ' |
sed 's/ppc//')
2194 if [ $
(sysctl
-n hw.vectorunit
) -eq 1 -o \
2195 "$(sysctl -n hw.optional.altivec 2> /dev/null)" = "1" ]; then
2196 test $_altivec = auto
&& _altivec
=yes
2200 # only gcc 3.4 works reliably with AltiVec code under NetBSD
2202 2*|
3.0*|
3.1*|
3.2*|
3.3*)
2205 if [ $
(sysctl
-n machdep.altivec
) -eq 1 ]; then
2206 test $_altivec = auto
&& _altivec
=yes
2212 proc
=$
($_cpuinfo |
grep 'type' | cut
-f 2 -d ' ' |
sed 's/PowerPC_//')
2215 if test "$_altivec" = yes; then
2216 echores
"$proc altivec"
2222 echocheck
"GCC & CPU optimization abilities"
2224 if test -n "$proc"; then
2226 601) _march
='-mcpu=601' _mcpu
='-mtune=601' ;;
2227 603) _march
='-mcpu=603' _mcpu
='-mtune=603' ;;
2228 603e|
603ev
) _march
='-mcpu=603e' _mcpu
='-mtune=603e' ;;
2229 604|
604e|
604r|
604ev
) _march
='-mcpu=604' _mcpu
='-mtune=604' ;;
2230 740|
740/750|
745/755) _march
='-mcpu=740' _mcpu
='-mtune=740' ;;
2231 750|
750CX
) _march
='-mcpu=750' _mcpu
='-mtune=750' ;;
2232 POWER
) _march
='-mcpu=power' _mcpu
='-mtune=power' ;;
2233 POWER2
) _march
='-mcpu=power2' _mcpu
='-mtune=power2' ;;
2234 POWER3
) _march
='-mcpu=power3' _mcpu
='-mtune=power3' ;;
2237 # gcc 3.1(.1) and up supports 7400 and 7450
2238 if test "$_cc_major" -ge "3" && test "$_cc_minor" -ge "1" ||
test "$_cc_major" -ge "4"; then
2240 7400*|
7410*) _march
='-mcpu=7400' _mcpu
='-mtune=7400' ;;
2241 7447*|
7450*|
7455*) _march
='-mcpu=7450' _mcpu
='-mtune=7450' ;;
2245 # gcc 3.2 and up supports 970
2246 if test "$_cc_major" -ge "3" && test "$_cc_minor" -ge "3" ||
test "$_cc_major" -ge "4"; then
2248 970*|PPC970
*) _march
='-mcpu=970' _mcpu
='-mtune=970'
2249 def_dcbzl
='#define HAVE_DCBZL 1' ;;
2253 # gcc 3.3 and up supports POWER4
2254 if test "$_cc_major" -ge "3" && test "$_cc_minor" -ge "3" ||
test "$_cc_major" -ge "4"; then
2256 POWER4
) _march
='-mcpu=power4' _mcpu
='-mtune=power4' ;;
2260 # gcc 3.4 and up supports 440*
2261 if test "$_cc_major" -ge "3" && test "$_cc_minor" -ge "4" ||
test "$_cc_major" -ge "4"; then
2263 440EP
*) _march
='-mcpu=440fp' _mcpu
='-mtune=440fp' ;;
2264 440G
* ) _march
='-mcpu=440' _mcpu
='-mtune=440' ;;
2268 # gcc 4.0 and up supports POWER5
2269 if test "$_cc_major" -ge "4"; then
2271 POWER5
*) _march
='-mcpu=power5' _mcpu
='-mtune=power5' ;;
2277 if test -n "$_mcpu"; then
2278 _optimizing
=$
(echo $_mcpu | cut
-c 8-)
2279 echores
"$_optimizing"
2284 test $_fast_clz = "auto" && _fast_clz
=yes
2292 echocheck
"CPU type"
2295 unsigned long ver, mask;
2296 __asm__ ("implver %0" : "=r" (ver));
2297 __asm__ ("amask %1, %0" : "=r" (mask) : "r" (-1));
2298 printf("%ld-%x\n", ver, ~mask);
2302 $_cc -o "$TMPEXE" "$TMPC"
2303 case $
("$TMPEXE") in
2305 0-0) proc
="ev4"; _mvi
="0";;
2306 1-0) proc
="ev5"; _mvi
="0";;
2307 1-1) proc
="ev56"; _mvi
="0";;
2308 1-101) proc
="pca56"; _mvi
="1";;
2309 2-303) proc
="ev6"; _mvi
="1";;
2310 2-307) proc
="ev67"; _mvi
="1";;
2311 2-1307) proc
="ev68"; _mvi
="1";;
2315 echocheck
"GCC & CPU optimization abilities"
2316 if test "$proc" = "ev68" ; then
2317 cc_check
-mcpu=$proc || proc
=ev67
2319 if test "$proc" = "ev67" ; then
2320 cc_check
-mcpu=$proc || proc
=ev6
2325 test $_fast_clz = "auto" && _fast_clz
=yes
2335 echocheck
"CPU type"
2336 proc
=$
(hinv
-c processor |
grep CPU | cut
-d " " -f3)
2337 case "$(echo $proc)" in
2338 R3000
) _march
='-mips1' _mcpu
='-mtune=r2000' ;;
2339 R4000
) _march
='-mips3' _mcpu
='-mtune=r4000' ;;
2340 R4400
) _march
='-mips3' _mcpu
='-mtune=r4400' ;;
2341 R4600
) _march
='-mips3' _mcpu
='-mtune=r4600' ;;
2342 R5000
) _march
='-mips4' _mcpu
='-mtune=r5000' ;;
2343 R8000|R10000|R12000|R14000|R16000
) _march
='-mips4' _mcpu
='-mtune=r8000' ;;
2345 # gcc < 3.x does not support -mtune.
2346 if test "$cc_vendor" = "gnu" && test "$_cc_major" -lt 3 ; then
2352 test $_fast_clz = "auto" && _fast_clz
=yes
2386 echo "The architecture of your CPU ($host_arch) is not supported by this configure script"
2387 echo "It seems nobody has ported MPlayer to your OS or CPU type yet."
2388 die
"unsupported architecture $host_arch"
2390 esac # case "$host_arch" in
2392 if test "$_runtime_cpudetection" = yes ; then
2394 test "$_cmov" != no
&& _cmov
=yes
2396 test "$_mmx" != no
&& _mmx
=yes
2397 test "$_3dnow" != no
&& _3dnow
=yes
2398 test "$_3dnowext" != no
&& _3dnowext
=yes
2399 test "$_mmxext" != no
&& _mmxext
=yes
2400 test "$_sse" != no
&& _sse
=yes
2401 test "$_sse2" != no
&& _sse2
=yes
2402 test "$_ssse3" != no
&& _ssse3
=yes
2403 test "$_mtrr" != no
&& _mtrr
=yes
2412 echocheck
"byte order"
2413 if test "$_big_endian" = auto
; then
2415 short ascii_name[] = { (('M'<<8)|'P'),(('l'<<8)|'a'),(('y'<<8)|'e'),(('r'<<8)|'B'),
2416 (('i'<<8)|'g'),(('E'<<8)|'n'),(('d'<<8)|'i'),(('a'<<8)|'n'),0};
2417 int main(void) { return (int)ascii_name; }
2420 if strings $TMPEXE |
grep -q -l MPlayerBigEndian
; then
2426 echo ${_echo_n} "failed to autodetect byte order, defaulting to ${_echo_c}"
2429 if test "$_big_endian" = yes ; then
2430 _byte_order
='big-endian'
2431 def_words_endian
='#define WORDS_BIGENDIAN 1'
2432 def_bigendian
='#define HAVE_BIGENDIAN 1'
2433 def_av_bigendian
='#define AV_HAVE_BIGENDIAN 1'
2435 _byte_order
='little-endian'
2436 def_words_endian
='#undef WORDS_BIGENDIAN'
2437 def_bigendian
='#define HAVE_BIGENDIAN 0'
2438 def_av_bigendian
='#define AV_HAVE_BIGENDIAN 0'
2440 echores
"$_byte_order"
2443 echocheck
"extern symbol prefix"
2447 cc_check
-c || die
"Symbol mangling check failed."
2448 sym
=$
($_nm -P -g $TMPEXE)
2449 extern_prefix
=${sym%%ff_extern*}
2450 def_extern_asm
="#define EXTERN_ASM $extern_prefix"
2451 def_extern_prefix
="#define EXTERN_PREFIX \"$extern_prefix\""
2452 echores
$extern_prefix
2455 echocheck
"assembler support of -pipe option"
2457 int main(void) { return 0; }
2459 # -I. helps to detect compilers that just misunderstand -pipe like Sun C
2460 cc_check
-pipe -I.
&& _pipe
="-pipe" && echores
"yes" || echores
"no"
2463 echocheck
"compiler support of named assembler arguments"
2465 def_named_asm_args
="#define NAMED_ASM_ARGS 1"
2466 if test "$cc_vendor" = "gnu" && test "$_cc_major" -lt 3 \
2467 -o "$_cc_major" -eq 3 -a "$_cc_minor" = 0 ; then
2469 def_named_asm_args
="#undef NAMED_ASM_ARGS"
2471 echores
$_named_asm_args
2474 if darwin
&& test "$cc_vendor" = "gnu" ; then
2475 echocheck
"GCC support of -mstackrealign"
2476 # GCC 4.2 and some earlier Apple versions support this flag on x86. Since
2477 # Mac OS X/Intel has an ABI different from Windows this is needed to avoid
2478 # crashes when loading Win32 DLLs. Unfortunately some gcc versions create
2479 # wrong code with this flag, but this can be worked around by adding
2480 # -fno-unit-at-a-time as described in the blog post at
2481 # http://www.dribin.org/dave/blog/archives/2006/12/05/missing_third_param/
2483 __attribute__((noinline)) static int foo3(int i1, int i2, int i3) { return i3; }
2484 int main(void) { return foo3(1,2,3) == 3 ? 0 : 1; }
2486 cc_check
-O4 -mstackrealign && tmp_run
&& cflags_stackrealign
=-mstackrealign
2487 test -z "$cflags_stackrealign" && cc_check
-O4 -mstackrealign -fno-unit-at-a-time \
2488 && tmp_run
&& cflags_stackrealign
="-mstackrealign -fno-unit-at-a-time"
2489 test -n "$cflags_stackrealign" && echores
"yes" || echores
"no"
2490 fi # if darwin && test "$cc_vendor" = "gnu" ; then
2493 # Checking for CFLAGS
2495 if test "$_profile" != "" ||
test "$_debug" != "" ; then
2496 CFLAGS
="-W -Wall -O2 $_march $_mcpu $_pipe $_debug $_profile"
2498 elif test -z "$CFLAGS" ; then
2499 if test "$cc_vendor" = "intel" ; then
2500 CFLAGS
="-O2 $_march $_mcpu $_pipe -fomit-frame-pointer -wd167 -wd556 -wd144"
2501 elif test "$cc_vendor" = "sun" ; then
2502 CFLAGS
="-O2 $_march $_mcpu $_pipe -xc99 -xregs=frameptr"
2503 elif test "$cc_vendor" != "gnu" ; then
2504 CFLAGS
="-O2 $_march $_mcpu $_pipe"
2506 CFLAGS
="-Wall -Wno-switch -Wpointer-arith -Wredundant-decls -O4 $_march $_mcpu $_pipe -ffast-math -fomit-frame-pointer"
2507 extra_ldflags
="$extra_ldflags -ffast-math"
2514 int main(void) { return 0; }
2516 if test "$cc_vendor" = "gnu" ; then
2517 cc_check
-std=gnu99
&& CFLAGS
="-std=gnu99 $CFLAGS"
2518 cc_check
-Wdeclaration-after-statement && CFLAGS
="-Wdeclaration-after-statement $CFLAGS"
2519 cc_check
-Wno-pointer-sign && CFLAGS
="-Wno-pointer-sign $CFLAGS"
2520 cc_check
-Wdisabled-optimization && CFLAGS
="-Wdisabled-optimization $CFLAGS"
2521 cc_check
-Wundef && CFLAGS
="-Wundef $CFLAGS"
2522 cc_check
-Wmissing-prototypes && CFLAGS
="-Wmissing-prototypes $CFLAGS"
2523 cc_check
-Wstrict-prototypes && CFLAGS
="-Wstrict-prototypes $CFLAGS"
2525 CFLAGS
="-D_ISOC99_SOURCE -D_BSD_SOURCE $CFLAGS"
2528 cc_check
-mno-omit-leaf-frame-pointer && cflags_no_omit_leaf_frame_pointer
="-mno-omit-leaf-frame-pointer"
2529 cc_check
-MD -MP && CFLAGS
="-MD -MP $CFLAGS"
2532 if test -n "$LDFLAGS" ; then
2533 extra_ldflags
="$extra_ldflags $LDFLAGS"
2535 elif test "$cc_vendor" = "intel" ; then
2536 extra_ldflags
="$extra_ldflags -i-static"
2538 if test -n "$CPPFLAGS" ; then
2539 extra_cflags
="$extra_cflags $CPPFLAGS"
2546 # Checking assembler (_as) compatibility...
2547 # Added workaround for older as that reads from stdin by default - atmos
2548 as_version
=$
(echo '' |
$_as -version 2>&1 |
sed -n 's/^.*assembler \(version \)*\([0-9.]*\).*$/\2/p')
2549 echocheck
"assembler ($_as $as_version)"
2551 _pref_as_version
='2.9.1'
2553 if test "$_mmx" = yes ; then
2554 echo 'emms' >> $TMPS
2556 if test "$_3dnow" = yes ; then
2557 _pref_as_version
='2.10.1'
2558 echo 'femms' >> $TMPS
2560 if test "$_3dnowext" = yes ; then
2561 _pref_as_version
='2.10.1'
2562 echo 'pswapd %mm0, %mm0' >> $TMPS
2564 if test "$_mmxext" = yes ; then
2565 _pref_as_version
='2.10.1'
2566 echo 'movntq %mm0, (%eax)' >> $TMPS
2568 if test "$_sse" = yes ; then
2569 _pref_as_version
='2.10.1'
2570 echo 'xorps %xmm0, %xmm0' >> $TMPS
2572 #if test "$_sse2" = yes ; then
2573 # _pref_as_version='2.11'
2574 # echo 'xorpd %xmm0, %xmm0' >> $TMPS
2576 if test "$_cmov" = yes ; then
2577 _pref_as_version
='2.10.1'
2578 echo 'cmovb %eax, %ebx' >> $TMPS
2580 if test "$_ssse3" = yes ; then
2581 _pref_as_version
='2.16.92'
2582 echo 'pabsd %xmm0, %xmm1' >> $TMPS
2584 $_as $TMPS -o $TMPEXE > /dev
/null
2>&1 || as_verc_fail
=yes
2586 if test "$as_verc_fail" != yes ; then
2589 res_comment
="Upgrade binutils to ${_pref_as_version} or use --disable-ssse3 etc."
2591 die
"obsolete binutils version"
2596 echocheck
".align is a power of two"
2597 if test "$_asmalign_pot" = auto
; then
2600 int main(void) { __asm__ (".align 3"); return 0; }
2602 cc_check
&& _asmalign_pot
=yes
2604 if test "$_asmalign_pot" = "yes" ; then
2605 def_asmalign_pot
='#define ASMALIGN(ZEROBITS) ".align " #ZEROBITS "\n\t"'
2607 def_asmalign_pot
='#define ASMALIGN(ZEROBITS) ".align 1<<" #ZEROBITS "\n\t"'
2609 echores
$_asmalign_pot
2612 echocheck
"10 assembler operands"
2614 def_ten_operands
='#define HAVE_TEN_OPERANDS 0'
2620 :"+&rm"(x), "+&rm"(x), "+&rm"(x), "+&rm"(x), "+&rm"(x), "+&rm"(x)
2625 cc_check
&& ten_operands
=yes && def_ten_operands
='#define HAVE_TEN_OPERANDS 1'
2626 echores
$ten_operands
2628 echocheck
"ebx availability"
2630 def_ebx_available
='#define HAVE_EBX_AVAILABLE 0'
2637 // just adding ebx to clobber list seems unreliable with some
2638 // compilers, e.g. Haiku's gcc 2.95
2640 // and the above check does not work for OSX 64 bit...
2641 __asm__ volatile("":::"%ebx");
2645 cc_check
&& ebx_available
=yes && def_ebx_available
='#define HAVE_EBX_AVAILABLE 1'
2646 echores
$ebx_available
2652 #if !(defined(__PIC__) || defined(__pic__) || defined(PIC))
2653 #error PIC not enabled
2658 cc_check
&& pic
=yes && extra_cflags
="$extra_cflags -DPIC"
2662 if test -z "$YASMFLAGS" ; then
2664 x86_64
&& objformat
="macho64" || objformat
="macho"
2670 # currently tested for Linux x86, x86_64
2671 YASMFLAGS
="-f $objformat"
2672 x86_64
&& YASMFLAGS
="$YASMFLAGS -DARCH_X86_64 -m amd64"
2673 test "$pic" = "yes" && YASMFLAGS
="$YASMFLAGS -DPIC"
2674 case "$objformat" in
2675 elf
) test $_debug && YASMFLAGS
="$YASMFLAGS -g dwarf2" ;;
2676 *) YASMFLAGS
="$YASMFLAGS -DPREFIX" ;;
2682 echo "pabsw xmm0, xmm0" > $TMPS
2683 yasm_check || _yasm
=""
2684 if test $_yasm ; then
2685 def_yasm
='#define HAVE_YASM 1'
2689 def_yasm
='#define HAVE_YASM 0'
2695 def_bswap
='#define HAVE_BSWAP 0'
2696 echo 'bswap %eax' > $TMPS
2697 $_as $TMPS -o $TMPEXE > /dev
/null
2>&1 && def_bswap
='#define HAVE_BSWAP 1' && bswap
=yes || bswap
=no
2702 #FIXME: This should happen before the check for CFLAGS..
2703 def_altivec_h
='#define HAVE_ALTIVEC_H 0'
2704 if ppc
&& ( test "$_altivec" = yes ||
test "$_runtime_cpudetection" = yes ) ; then
2706 # check if AltiVec is supported by the compiler, and how to enable it
2707 echocheck
"GCC AltiVec flags"
2709 int main(void) { return 0; }
2711 if $
(cc_check
-maltivec -mabi=altivec
) ; then
2712 _altivec_gcc_flags
="-maltivec -mabi=altivec"
2713 # check if <altivec.h> should be included
2715 #include <altivec.h>
2716 int main(void) { return 0; }
2718 if $
(cc_check
$_altivec_gcc_flags) ; then
2719 def_altivec_h
='#define HAVE_ALTIVEC_H 1'
2720 inc_altivec_h
='#include <altivec.h>'
2723 int main(void) { return 0; }
2725 if $
(cc_check
-faltivec) ; then
2726 _altivec_gcc_flags
="-faltivec"
2729 _altivec_gcc_flags
="none, AltiVec disabled"
2733 echores
"$_altivec_gcc_flags"
2735 # check if the compiler supports braces for vector declarations
2738 int main(void) { (vector int) {1}; return 0; }
2740 cc_check
$_altivec_gcc_flags || die
"You need a compiler that supports {} in AltiVec vector declarations."
2742 # Disable runtime cpudetection if we cannot generate AltiVec code or
2743 # AltiVec is disabled by the user.
2744 test "$_runtime_cpudetection" = yes && test "$_altivec" = no \
2745 && _runtime_cpudetection
=no
2747 # Show that we are optimizing for AltiVec (if enabled and supported).
2748 test "$_runtime_cpudetection" = no
&& test "$_altivec" = yes \
2749 && _optimizing
="$_optimizing altivec"
2751 # If AltiVec is enabled, make sure the correct flags turn up in CFLAGS.
2752 test "$_altivec" = yes && CFLAGS
="$CFLAGS $_altivec_gcc_flags"
2756 def_xform_asm
='#define HAVE_XFORM_ASM 0'
2758 echocheck
"XFORM ASM support"
2760 int main(void) { __asm__ volatile ("lwzx %1, %y0" :: "Z"(*(int*)0), "r"(0)); return 0; }
2762 cc_check
&& xform_asm
=yes && def_xform_asm
='#define HAVE_XFORM_ASM 1'
2763 echores
"$xform_asm"
2767 echocheck
"ARM pld instruction"
2769 int main(void) { __asm__ volatile ("pld [r0]"); return 0; }
2775 echocheck
"ARMv5TE (Enhanced DSP Extensions)"
2776 if test $_armv5te = "auto" ; then
2778 int main(void) { __asm__ volatile ("qadd r0, r0, r0"); return 0; }
2781 cc_check
&& _armv5te
=yes
2785 test $_armv5te = "yes" && test $_fast_clz = "auto" && _fast_clz
=yes
2787 echocheck
"ARMv6 (SIMD instructions)"
2788 if test $_armv6 = "auto" ; then
2790 int main(void) { __asm__ volatile ("sadd16 r0, r0, r0"); return 0; }
2793 cc_check
&& _armv6
=yes
2797 echocheck
"ARMv6t2 (SIMD instructions)"
2798 if test $_armv6t2 = "auto" ; then
2800 int main(void) { __asm__ volatile ("movt r0, #0"); return 0; }
2803 cc_check
&& _armv6t2
=yes
2808 if test $_armvfp = "auto" ; then
2810 int main(void) { __asm__ volatile ("fadds s0, s0, s0"); return 0; }
2813 cc_check
&& _armvfp
=yes
2817 echocheck
"ARM NEON"
2818 if test $neon = "auto" ; then
2820 int main(void) { __asm__ volatile ("vadd.i16 q0, q0, q0"); return 0; }
2823 cc_check
&& neon
=yes
2827 echocheck
"iWMMXt (Intel XScale SIMD instructions)"
2828 if test $_iwmmxt = "auto" ; then
2830 int main(void) { __asm__ volatile ("wunpckelub wr6, wr4"); return 0; }
2833 cc_check
&& _iwmmxt
=yes
2838 cpuexts_all
='ALTIVEC MMX MMX2 AMD3DNOW AMD3DNOWEXT SSE SSE2 SSSE3 FAST_CMOV CMOV FAST_CLZ PLD ARMV5TE ARMV6 ARMV6T2 ARMVFP NEON IWMMXT MMI VIS MVI'
2839 test "$_altivec" = yes && cpuexts
="ALTIVEC $cpuexts"
2840 test "$_mmx" = yes && cpuexts
="MMX $cpuexts"
2841 test "$_mmxext" = yes && cpuexts
="MMX2 $cpuexts"
2842 test "$_3dnow" = yes && cpuexts
="AMD3DNOW $cpuexts"
2843 test "$_3dnowext" = yes && cpuexts
="AMD3DNOWEXT $cpuexts"
2844 test "$_sse" = yes && cpuexts
="SSE $cpuexts"
2845 test "$_sse2" = yes && cpuexts
="SSE2 $cpuexts"
2846 test "$_ssse3" = yes && cpuexts
="SSSE3 $cpuexts"
2847 test "$_cmov" = yes && cpuexts
="CMOV $cpuexts"
2848 test "$_fast_cmov" = yes && cpuexts
="FAST_CMOV $cpuexts"
2849 test "$_fast_clz" = yes && cpuexts
="FAST_CLZ $cpuexts"
2850 test "$pld" = yes && cpuexts
="PLD $cpuexts"
2851 test "$_armv5te" = yes && cpuexts
="ARMV5TE $cpuexts"
2852 test "$_armv6" = yes && cpuexts
="ARMV6 $cpuexts"
2853 test "$_armv6t2" = yes && cpuexts
="ARMV6T2 $cpuexts"
2854 test "$_armvfp" = yes && cpuexts
="ARMVFP $cpuexts"
2855 test "$neon" = yes && cpuexts
="NEON $cpuexts"
2856 test "$_iwmmxt" = yes && cpuexts
="IWMMXT $cpuexts"
2857 test "$_vis" = yes && cpuexts
="VIS $cpuexts"
2858 test "$_mvi" = yes && cpuexts
="MVI $cpuexts"
2860 # Checking kernel version...
2861 if x86_32
&& linux
; then
2863 kernel_version
=$
(uname
-r 2>&1)
2864 echocheck
"$system_name kernel version"
2865 case "$kernel_version" in
2866 '') kernel_version
="?.??"; _k_verc_fail
=yes;;
2867 [0-1].
[0-9].
[0-9]*|
2.
[0-3].
[0-9]*)
2868 _k_verc_problem
=yes;;
2870 if test "$_k_verc_problem" = yes && test "$_sse" = yes ; then
2873 if test "$_k_verc_fail" ; then
2874 echores
"$kernel_version, fail"
2875 echo "WARNING! If you want to run MPlayer on this system, get prepared for problems!"
2876 echo "2.2.x has limited SSE support. Upgrade the kernel or use --disable-sse if you"
2877 echo "experience crashes. MPlayer tries to autodetect if your kernel correctly"
2878 echo "supports SSE, but you have been warned! If you are using a kernel older than"
2879 echo "2.2.x you must upgrade it to get SSE support!"
2880 # die "Your kernel is too old for this CPU." # works fine on some 2.2.x so don't die (later check will test)
2882 echores
"$kernel_version, ok"
2886 ######################
2887 # MAIN TESTS GO HERE #
2888 ######################
2893 int main(void) { return 0; }
2895 if cc_check
-lposix ; then
2896 extra_ldflags
="$extra_ldflags -lposix"
2904 int main(void) { return 0; }
2906 if cc_check
-lm ; then
2915 echocheck
"langinfo"
2916 if test "$_langinfo" = auto
; then
2918 #include <langinfo.h>
2919 int main(void) { nl_langinfo(CODESET); return 0; }
2922 cc_check
&& _langinfo
=yes
2924 if test "$_langinfo" = yes ; then
2925 def_langinfo
='#define HAVE_LANGINFO 1'
2927 def_langinfo
='#undef HAVE_LANGINFO'
2929 echores
"$_langinfo"
2932 echocheck
"language"
2933 # Set preferred languages, "all" uses English as main language.
2934 test -z "$language" && language
=$LINGUAS
2935 test -z "$language_doc" && language_doc
=$language
2936 test -z "$language_man" && language_man
=$language
2937 test -z "$language_msg" && language_msg
=$language
2938 language_doc
=$
(echo $language_doc |
tr , " ")
2939 language_man
=$
(echo $language_man |
tr , " ")
2940 language_msg
=$
(echo $language_msg |
tr , " ")
2942 test "$language_doc" = "all" && language_doc
=$doc_lang_all
2943 test "$language_man" = "all" && language_man
=$man_lang_all
2944 test "$language_msg" = "all" && language_msg
=en
2946 # Prune non-existing translations from language lists.
2947 # Set message translation to the first available language.
2948 # Fall back on English.
2949 for lang
in $language_doc ; do
2950 test -d DOCS
/xml
/$lang && tmp_language_doc
="$tmp_language_doc $lang"
2952 language_doc
=$tmp_language_doc
2953 test -z "$language_doc" && language_doc
=en
2955 for lang
in $language_man ; do
2956 test -d DOCS
/man
/$lang && tmp_language_man
="$tmp_language_man $lang"
2958 language_man
=$tmp_language_man
2959 test -z "$language_man" && language_man
=en
2961 for lang
in $language_msg ; do
2962 test -f "help/help_mp-${lang}.h" && tmp_language_msg
=$lang && break
2964 language_msg
=$tmp_language_msg
2965 test -z "$language_msg" && language_msg
=en
2966 _mp_help
="help/help_mp-${language_msg}.h"
2967 echores
"messages: $language_msg - man pages: $language_man - documentation: $language_doc"
2970 echocheck
"enable sighandler"
2971 if test "$_sighandler" = yes ; then
2972 def_sighandler
='#define CONFIG_SIGHANDLER 1'
2974 def_sighandler
='#undef CONFIG_SIGHANDLER'
2976 echores
"$_sighandler"
2978 echocheck
"runtime cpudetection"
2979 if test "$_runtime_cpudetection" = yes ; then
2980 _optimizing
="Runtime CPU-Detection enabled"
2981 def_runtime_cpudetection
='#define CONFIG_RUNTIME_CPUDETECT 1'
2983 def_runtime_cpudetection
='#define CONFIG_RUNTIME_CPUDETECT 0'
2985 echores
"$_runtime_cpudetection"
2988 echocheck
"restrict keyword"
2989 for restrict_keyword
in restrict __restrict __restrict__
; do
2990 echo "void foo(char * $restrict_keyword p); int main(void) { return 0; }" > $TMPC
2992 def_restrict_keyword
=$restrict_keyword
2996 if [ -n "$def_restrict_keyword" ]; then
2997 echores
"$def_restrict_keyword"
3001 # Avoid infinite recursion loop ("#define restrict restrict")
3002 if [ "$def_restrict_keyword" != "restrict" ]; then
3003 def_restrict_keyword
="#define restrict $def_restrict_keyword"
3005 def_restrict_keyword
=""
3009 echocheck
"__builtin_expect"
3010 # GCC branch prediction hint
3013 a = __builtin_expect(a, 10);
3014 return a == 10 ? 0 : 1;
3016 int main(void) { return foo(10) && foo(0); }
3019 cc_check
&& _builtin_expect
=yes
3020 if test "$_builtin_expect" = yes ; then
3021 def_builtin_expect
='#define HAVE_BUILTIN_EXPECT 1'
3023 def_builtin_expect
='#undef HAVE_BUILTIN_EXPECT'
3025 echores
"$_builtin_expect"
3031 int main(void) { (void) kstat_open(); (void) kstat_close(0); return 0; }
3034 cc_check
-lkstat && _kstat
=yes
3035 if test "$_kstat" = yes ; then
3036 def_kstat
="#define HAVE_LIBKSTAT 1"
3037 extra_ldflags
="$extra_ldflags -lkstat"
3039 def_kstat
="#undef HAVE_LIBKSTAT"
3045 # required for nanosleep on some systems
3048 int main(void) { (void) nanosleep(0, 0); return 0; }
3051 cc_check
-lposix4 && _posix4
=yes
3052 if test "$_posix4" = yes ; then
3053 extra_ldflags
="$extra_ldflags -lposix4"
3057 for func
in exp2 exp2f llrint llrintf log2 log2f lrint lrintf round roundf truncf
; do
3061 int main(void) { long (*foo)(float); foo = $func; (void)(*foo)(0.0); return 0; }
3064 cc_check
-D_ISOC99_SOURCE $_ld_lm && eval _
$func=yes
3065 if eval test "x\$_$func" = "xyes"; then
3066 eval def_
$func="\"#define HAVE_$(echo $func | tr '[a-z]' '[A-Z]') 1\""
3069 eval def_
$func="\"#define HAVE_$(echo $func | tr '[a-z]' '[A-Z]') 0\""
3078 int main(void) { char a; mkstemp(&a); return 0; }
3081 cc_check
&& _mkstemp
=yes
3082 if test "$_mkstemp" = yes ; then
3083 def_mkstemp
='#define HAVE_MKSTEMP 1'
3085 def_mkstemp
='#undef HAVE_MKSTEMP'
3090 echocheck
"nanosleep"
3091 # also check for nanosleep
3094 int main(void) { (void) nanosleep(0, 0); return 0; }
3097 cc_check
&& _nanosleep
=yes
3098 if test "$_nanosleep" = yes ; then
3099 def_nanosleep
='#define HAVE_NANOSLEEP 1'
3101 def_nanosleep
='#undef HAVE_NANOSLEEP'
3103 echores
"$_nanosleep"
3107 # for Solaris (socket stuff is in -lsocket, gethostbyname and friends in -lnsl):
3108 # for BeOS (socket stuff is in -lsocket, gethostbyname and friends in -lbind):
3111 #include <sys/socket.h>
3112 int main(void) { (void) gethostbyname(0); (void) socket(AF_INET, SOCK_STREAM, 0); return 0; }
3115 for _ld_tmp
in "" "-lsocket -lbind" "-lsocket -ldnet" "-lsocket -lnsl" "-lnsl" "-lsocket" ; do
3116 cc_check
$_ld_tmp && _ld_sock
="$_ld_tmp" && _socklib
=yes && break
3118 test $_socklib = yes && test $_winsock2_h = auto
&& _winsock2_h
=no
3119 if test $_winsock2_h = auto
; then
3122 #include <winsock2.h>
3123 int main(void) { (void) gethostbyname(0); return 0; }
3125 cc_check
-lws2_32 && _ld_sock
="-lws2_32" && _winsock2_h
=yes
3127 test "$_ld_sock" && res_comment
="using $_ld_sock"
3131 if test $_winsock2_h = yes ; then
3133 def_winsock2_h
='#define HAVE_WINSOCK2_H 1'
3134 cc_check_winsock2_h
='-DHAVE_WINSOCK2_H=1'
3136 def_winsock2_h
='#define HAVE_WINSOCK2_H 0'
3137 cc_check_winsock2_h
='-DHAVE_WINSOCK2_H=0'
3141 echocheck
"netdb.h, struct addrinfo"
3142 if test "$_struct_addrinfo" = auto
; then
3146 #include <winsock2.h>
3147 #include <ws2tcpip.h>
3149 #include <sys/types.h>
3150 #include <sys/socket.h>
3153 int main(void) { struct addrinfo ai; return 0; }
3155 cc_check
$cc_check_winsock2_h && _struct_addrinfo
=yes
3157 echores
"$_struct_addrinfo"
3159 if test "$_struct_addrinfo" = yes; then
3160 def_addrinfo
="#define HAVE_STRUCT_ADDRINFO 1"
3162 def_addrinfo
="#define HAVE_STRUCT_ADDRINFO 0"
3166 echocheck
"netdb.h, getaddrinfo()"
3167 if test "$_getaddrinfo" = auto
; then
3171 #include <winsock2.h>
3173 #include <sys/types.h>
3174 #include <sys/socket.h>
3177 int main(void) { (void) getaddrinfo(0, 0, 0, 0); return 0; }
3179 cc_check
$cc_check_winsock2_h && _getaddrinfo
=yes
3181 echores
"$_getaddrinfo"
3183 if test "$_getaddrinfo" = yes; then
3184 def_getaddrinfo
="#define HAVE_GETADDRINFO 1"
3186 def_getaddrinfo
="#define HAVE_GETADDRINFO 0"
3190 echocheck
"sockaddr_storage"
3191 if test "$_struct_sockaddr_storage" = auto
; then
3192 _struct_sockaddr_storage
=no
3195 #include <winsock2.h>
3197 #include <sys/socket.h>
3199 int main(void) { struct sockaddr_storage sas; return 0; }
3201 cc_check
$cc_check_winsock2_h && _struct_sockaddr_storage
=yes
3203 echores
"$_struct_sockaddr_storage"
3205 if test "$_struct_sockaddr_storage" = yes; then
3206 def_sockaddr_storage
="#define HAVE_STRUCT_SOCKADDR_STORAGE 1"
3208 def_sockaddr_storage
="#define HAVE_STRUCT_SOCKADDR_STORAGE 0"
3212 echocheck
"struct ipv6_mreq"
3213 _struct_ipv6_mreq
=no
3214 def_struct_ipv6_mreq
="#define HAVE_STRUCT_IPV6_MREQ 0"
3215 for header
in "netinet/in.h" "ws2tcpip.h" ; do
3218 int main(void) { struct ipv6_mreq mreq6; return 0; }
3220 cc_check
&& _struct_ipv6_mreq
=yes && \
3221 def_struct_ipv6_mreq
="#define HAVE_STRUCT_IPV6_MREQ 1" && break
3223 echores
"$_struct_ipv6_mreq"
3226 echocheck
"struct sockaddr_in6"
3227 _struct_sockaddr_in6
=no
3228 def_struct_sockaddr_in6
="#define HAVE_STRUCT_SOCKADDR_IN6 0"
3229 for header
in "netinet/in.h" "ws2tcpip.h" ; do
3232 int main(void) { struct sockaddr_in6 addr; return 0; }
3234 cc_check
&& _struct_sockaddr_in6
=yes && \
3235 def_struct_sockaddr_in6
="#define HAVE_STRUCT_SOCKADDR_IN6 1" && break
3237 echores
"$_struct_sockaddr_in6"
3240 echocheck
"struct sockaddr sa_len"
3241 _struct_sockaddr_sa_len
=no
3242 def_struct_sockaddr_sa_len
="#define HAVE_STRUCT_SOCKADDR_SA_LEN 0"
3245 #include <winsock2.h>
3247 #include <sys/types.h>
3248 #include <sys/socket.h>
3250 int main(void) { const void *p = &((struct sockaddr *)0)->sa_len; return 0; }
3252 cc_check
$cc_check_winsock2_h && _struct_sockaddr_sa_len
=yes && \
3253 def_struct_sockaddr_sa_len
="#define HAVE_STRUCT_SOCKADDR_SA_LEN 1"
3254 echores
"$_struct_sockaddr_sa_len"
3257 echocheck
"arpa/inet.h"
3259 def_arpa_inet_h
='#define HAVE_ARPA_INET_H 0'
3261 #include <arpa/inet.h>
3262 int main(void) { return 0; }
3264 cc_check
&& arpa_inet_h
=yes && def_arpa_inet_h
='#define HAVE_ARPA_INET_H 1'
3265 echores
"$arpa_inet_h"
3268 echocheck
"inet_pton()"
3269 def_inet_pton
='#define HAVE_INET_PTON 0'
3272 #include <sys/types.h>
3273 #include <sys/socket.h>
3274 #include <arpa/inet.h>
3275 int main(void) { (void) inet_pton(0, 0, 0); return 0; }
3277 for _ld_tmp
in "$_ld_sock" "$_ld_sock -lresolv" ; do
3278 cc_check
$_ld_tmp && inet_pton
=yes && break
3280 if test $inet_pton = yes ; then
3281 test "$_ld_tmp" && res_comment
="using $_ld_tmp"
3282 def_inet_pton
='#define HAVE_INET_PTON 1'
3284 echores
"$inet_pton"
3287 echocheck
"inet_aton()"
3288 def_inet_aton
='#define HAVE_INET_ATON 0'
3291 #include <sys/types.h>
3292 #include <sys/socket.h>
3293 #include <arpa/inet.h>
3294 int main(void) { (void) inet_aton(0, 0); return 0; }
3296 for _ld_tmp
in "$_ld_sock" "$_ld_sock -lresolv" ; do
3297 cc_check
$_ld_tmp && inet_aton
=yes && break
3299 if test $inet_aton = yes ; then
3300 test "$_ld_tmp" && res_comment
="using $_ld_tmp"
3301 def_inet_aton
='#define HAVE_INET_ATON 1'
3303 echores
"$inet_aton"
3306 echocheck
"socklen_t"
3308 for header
in "sys/socket.h" "ws2tcpip.h" "sys/types.h" ; do
3311 int main(void) { socklen_t v = 0; return v; }
3313 cc_check
&& _socklen_t
=yes && break
3315 if test "$_socklen_t" = yes ; then
3316 def_socklen_t
='#define HAVE_SOCKLEN_T 1'
3318 def_socklen_t
='#define HAVE_SOCKLEN_T 0'
3320 echores
"$_socklen_t"
3323 echocheck
"closesocket()"
3326 #include <winsock2.h>
3327 int main(void) { closesocket(~0); return 0; }
3329 cc_check
$_ld_sock && _closesocket
=yes
3330 if test "$_closesocket" = yes ; then
3331 def_closesocket
='#define HAVE_CLOSESOCKET 1'
3333 def_closesocket
='#define HAVE_CLOSESOCKET 0'
3335 echores
"$_closesocket"
3339 test $_winsock2_h = no
&& test $inet_pton = no
&&
3340 test $inet_aton = no
&& _network
=no
3341 if test "$_network" = yes ; then
3342 def_network
='#define CONFIG_NETWORK 1'
3343 extra_ldflags
="$extra_ldflags $_ld_sock"
3344 inputmodules
="network $inputmodules"
3346 noinputmodules
="network $noinputmodules"
3347 def_network
='#undef CONFIG_NETWORK'
3349 _libavprotocols
=$
(echo $_libavprotocols |
sed -e s
/GOPHER_PROTOCOL
// -e s
/HTTP_PROTOCOL
// -e s
/RTMP_PROTOCOL
// -e s
/RTP_PROTOCOL
// -e s
/TCP_PROTOCOL
// -e s
/UDP_PROTOCOL
//)
3350 _libavdemuxers
=$
(echo $_libavdemuxers |
sed -e s
/RTSP_DEMUXER
// -e s
/SDP_DEMUXER
//)
3356 if test "$_inet6" = auto
; then
3358 #include <sys/types.h>
3359 #if !defined(_WIN32) || defined(__CYGWIN__)
3360 #include <sys/socket.h>
3361 #include <netinet/in.h>
3363 #include <ws2tcpip.h>
3365 int main(void) { struct sockaddr_in6 six; socket(AF_INET6, SOCK_STREAM, AF_INET6); return 0; }
3368 if cc_check
$_ld_sock ; then
3372 if test "$_inet6" = yes ; then
3373 def_inet6
='#define HAVE_AF_INET6 1'
3375 def_inet6
='#undef HAVE_AF_INET6'
3380 echocheck
"gethostbyname2"
3381 if test "$_gethostbyname2" = auto
; then
3383 #include <sys/types.h>
3384 #include <sys/socket.h>
3386 int main(void) { gethostbyname2("", AF_INET); return 0; }
3393 if test "$_gethostbyname2" = yes ; then
3394 def_gethostbyname2
='#define HAVE_GETHOSTBYNAME2 1'
3396 def_gethostbyname2
='#undef HAVE_GETHOSTBYNAME2'
3398 echores
"$_gethostbyname2"
3401 echocheck
"inttypes.h (required)"
3403 #include <inttypes.h>
3404 int main(void) { return 0; }
3407 cc_check
&& _inttypes
=yes
3408 echores
"$_inttypes"
3410 if test "$_inttypes" = no
; then
3411 echocheck
"bitypes.h (inttypes.h predecessor)"
3413 #include <sys/bitypes.h>
3414 int main(void) { return 0; }
3416 cc_check
&& _inttypes
=yes
3417 if test "$_inttypes" = yes ; then
3418 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."
3420 die
"Cannot find header either inttypes.h or bitypes.h. There is no chance for compilation to succeed."
3425 echocheck
"int_fastXY_t in inttypes.h"
3427 #include <inttypes.h>
3429 volatile int_fast16_t v= 0;
3433 cc_check
&& _fast_inttypes
=yes
3434 if test "$_fast_inttypes" = no
; then
3436 typedef signed char int_fast8_t;
3437 typedef signed int int_fast16_t;
3438 typedef signed int int_fast32_t;
3439 typedef signed long long int_fast64_t;
3440 typedef unsigned char uint_fast8_t;
3441 typedef unsigned int uint_fast16_t;
3442 typedef unsigned int uint_fast32_t;
3443 typedef unsigned long long uint_fast64_t;'
3445 echores
"$_fast_inttypes"
3448 echocheck
"malloc.h"
3451 int main(void) { (void) malloc(0); return 0; }
3454 cc_check
&& _malloc
=yes
3455 if test "$_malloc" = yes ; then
3456 def_malloc_h
='#define HAVE_MALLOC_H 1'
3458 def_malloc_h
='#define HAVE_MALLOC_H 0'
3463 echocheck
"memalign()"
3464 # XXX restrict to x86 ? extend to other CPUs/cacheline sizes ?
3465 def_memalign_hack
='#define CONFIG_MEMALIGN_HACK 0'
3468 int main(void) { (void) memalign(64, sizeof(char)); return 0; }
3471 cc_check
&& _memalign
=yes
3472 if test "$_memalign" = yes ; then
3473 def_memalign
='#define HAVE_MEMALIGN 1'
3475 def_memalign
='#define HAVE_MEMALIGN 0'
3476 def_map_memalign
='#define memalign(a,b) malloc(b)'
3477 darwin || def_memalign_hack
='#define CONFIG_MEMALIGN_HACK 1'
3479 echores
"$_memalign"
3482 echocheck
"posix_memalign()"
3484 def_posix_memalign
='#define HAVE_POSIX_MEMALIGN 0'
3486 #define _XOPEN_SOURCE 600
3488 int main(void) { posix_memalign(NULL, 0, 0); }
3490 cc_check
&& posix_memalign
=yes && def_posix_memalign
='#define HAVE_POSIX_MEMALIGN 1'
3491 echores
"$posix_memalign"
3494 echocheck
"alloca.h"
3497 int main(void) { (void) alloca(0); return 0; }
3500 cc_check
&& _alloca
=yes
3502 def_alloca_h
='#define HAVE_ALLOCA_H 1'
3504 def_alloca_h
='#undef HAVE_ALLOCA_H'
3509 echocheck
"fastmemcpy"
3510 if test "$_fastmemcpy" = yes ; then
3511 def_fastmemcpy
='#define CONFIG_FASTMEMCPY 1'
3513 def_fastmemcpy
='#undef CONFIG_FASTMEMCPY'
3515 echores
"$_fastmemcpy"
3518 echocheck
"hard-coded tables"
3519 if test "$hardcoded_tables" = yes ; then
3520 def_hardcoded_tables
='#define CONFIG_HARDCODED_TABLES 1'
3521 mak_hardcoded_tables
='CONFIG_HARDCODED_TABLES = yes'
3523 def_hardcoded_tables
='#define CONFIG_HARDCODED_TABLES 0'
3525 echores
"$hardcoded_tables"
3530 #include <sys/types.h>
3531 #include <sys/mman.h>
3532 int main(void) { (void) mmap(0, 0, 0, 0, 0, 0); return 0; }
3535 cc_check
&& _mman
=yes
3536 if test "$_mman" = yes ; then
3537 def_mman_h
='#define HAVE_SYS_MMAN_H 1'
3539 def_mman_h
='#undef HAVE_SYS_MMAN_H'
3540 os2
&& _need_mmap
=yes
3545 #include <sys/types.h>
3546 #include <sys/mman.h>
3547 int main(void) { void *p = MAP_FAILED; return 0; }
3549 _mman_has_map_failed
=no
3550 cc_check
&& _mman_has_map_failed
=yes
3551 if test "$_mman_has_map_failed" = yes ; then
3552 def_mman_has_map_failed
=''
3554 def_mman_has_map_failed
='#define MAP_FAILED ((void *) -1)'
3557 echocheck
"dynamic loader"
3561 int main(void) { dlopen("", 0); dlclose(NULL); dlsym(NULL, ""); return 0; }
3564 for _ld_tmp
in "" "-ldl" ; do
3565 cc_check
$_ld_tmp && _ld_dl
="$_ld_tmp" && _dl
=yes && break
3567 if test "$_dl" = yes ; then
3568 def_dl
='#define HAVE_LIBDL 1'
3570 def_dl
='#undef HAVE_LIBDL'
3575 echocheck
"dynamic a/v plugins support"
3576 if test "$_dl" = no
; then
3579 if test "$_dynamic_plugins" = yes ; then
3580 def_dynamic_plugins
='#define CONFIG_DYNAMIC_PLUGINS 1'
3582 def_dynamic_plugins
='#undef CONFIG_DYNAMIC_PLUGINS'
3584 echores
"$_dynamic_plugins"
3587 def_threads
='#define HAVE_THREADS 0'
3591 THREAD_CFLAGS
=-D_REENTRANT
3592 elif freebsd || netbsd || openbsd || bsdos
; then
3593 THREAD_CFLAGS
=-D_THREAD_SAFE
3595 if test "$_pthreads" = auto
; then
3597 #include <pthread.h>
3598 void* func(void *arg) { return arg; }
3599 int main(void) { pthread_t tid; return pthread_create(&tid, 0, func, 0) == 0 ? 0 : 1; }
3603 for _ld_tmp
in "-lpthreadGC2" "" "-lpthread" "-pthread" ; do
3604 # for crosscompilation, we cannot execute the program, be happy if we can link statically
3605 cc_check
$THREAD_CFLAGS $_ld_tmp && (tmp_run ||
test "$_ld_static") && _ld_pthread
="$_ld_tmp" && _pthreads
=yes && break
3609 if test "$_pthreads" = yes ; then
3610 test $_ld_pthread && res_comment
="using $_ld_pthread"
3611 def_pthreads
='#define HAVE_PTHREADS 1'
3612 def_threads
='#define HAVE_THREADS 1'
3613 extra_cflags
="$extra_cflags $THREAD_CFLAGS"
3615 res_comment
="v4l, v4l2, ao_nas, win32 loader disabled"
3616 def_pthreads
='#undef HAVE_PTHREADS'
3617 _nas
=no
; _tv_v4l1
=no
; _tv_v4l2
=no
3618 mingw32 || _win32dll
=no
3620 echores
"$_pthreads"
3623 if test "$_pthreads" = yes ; then
3624 def_pthread_cache
="#define PTHREAD_CACHE 1"
3627 def_stream_cache
="#undef CONFIG_STREAM_CACHE"
3631 echocheck
"w32threads"
3632 if test "$_pthreads" = yes ; then
3633 res_comment
="using pthread instead"
3636 if test "$_w32threads" = auto
; then
3638 mingw32
&& _w32threads
=yes
3640 test "$_w32threads" = yes && def_threads
='#define HAVE_THREADS 1'
3641 echores
"$_w32threads"
3645 if test "$_rpath" = yes ; then
3646 for I
in $
(echo $extra_ldflags |
sed 's/-L//g') ; do
3647 tmp
="$tmp $(echo $I | sed 's/.*/ -L& -Wl,-R&/')"
3654 if test "$_iconv" = auto
; then
3659 #define INBUFSIZE 1024
3660 #define OUTBUFSIZE 4096
3662 char inbuffer[INBUFSIZE];
3663 char outbuffer[OUTBUFSIZE];
3668 char *tocode="UTF-8";
3669 char *fromcode="cp1250";
3670 if ((icdsc = iconv_open(tocode, fromcode)) != (iconv_t)(-1)) {
3671 while ((numread = read(0, inbuffer, INBUFSIZE))) {
3672 char *iptr=inbuffer;
3673 char *optr=outbuffer;
3674 size_t inleft=numread;
3675 size_t outleft=OUTBUFSIZE;
3676 if (iconv(icdsc, (const char **)&iptr, &inleft, &optr, &outleft)
3678 write(1, outbuffer, OUTBUFSIZE - outleft);
3681 if (iconv_close(icdsc) == -1)
3688 for _ld_tmp
in "" "-liconv" "-liconv $_ld_dl" ; do
3689 cc_check
$_ld_lm $_ld_tmp && extra_ldflags
="$extra_ldflags $_ld_tmp" && \
3693 if test "$_iconv" = yes ; then
3694 def_iconv
='#define CONFIG_ICONV 1'
3696 def_iconv
='#undef CONFIG_ICONV'
3701 echocheck
"soundcard.h"
3703 def_soundcard_h
='#undef HAVE_SOUNDCARD_H'
3704 def_sys_soundcard_h
='#undef HAVE_SYS_SOUNDCARD_H'
3705 for _soundcard_header
in "sys/soundcard.h" "soundcard.h"; do
3707 #include <$_soundcard_header>
3708 int main(void) { return 0; }
3710 cc_check
&& _soundcard_h
=yes && res_comment
="$_soundcard_header" && break
3713 if test "$_soundcard_h" = yes ; then
3714 if test $_soundcard_header = "sys/soundcard.h"; then
3715 def_sys_soundcard_h
='#define HAVE_SYS_SOUNDCARD_H 1'
3717 def_soundcard_h
='#define HAVE_SOUNDCARD_H 1'
3720 echores
"$_soundcard_h"
3723 echocheck
"sys/dvdio.h"
3726 #include <sys/dvdio.h>
3727 int main(void) { return 0; }
3730 cc_check
&& _dvdio
=yes
3731 if test "$_dvdio" = yes ; then
3732 def_dvdio
='#define DVD_STRUCT_IN_SYS_DVDIO_H 1'
3734 def_dvdio
='#undef DVD_STRUCT_IN_SYS_DVDIO_H'
3739 echocheck
"sys/cdio.h"
3742 #include <sys/cdio.h>
3743 int main(void) { return 0; }
3746 cc_check
&& _cdio
=yes
3747 if test "$_cdio" = yes ; then
3748 def_cdio
='#define DVD_STRUCT_IN_SYS_CDIO_H 1'
3750 def_cdio
='#undef DVD_STRUCT_IN_SYS_CDIO_H'
3755 echocheck
"linux/cdrom.h"
3757 #include <sys/types.h>
3758 #include <linux/cdrom.h>
3759 int main(void) { return 0; }
3762 cc_check
&& _cdrom
=yes
3763 if test "$_cdrom" = yes ; then
3764 def_cdrom
='#define DVD_STRUCT_IN_LINUX_CDROM_H 1'
3766 def_cdrom
='#undef DVD_STRUCT_IN_LINUX_CDROM_H'
3774 int main(void) { return 0; }
3777 cc_check
&& _dvd
=yes
3778 if test "$_dvd" = yes ; then
3779 def_dvd
='#define DVD_STRUCT_IN_DVD_H 1'
3781 def_dvd
='#undef DVD_STRUCT_IN_DVD_H'
3787 echocheck
"BSDI dvd.h"
3790 int main(void) { return 0; }
3793 cc_check
&& _bsdi_dvd
=yes
3794 if test "$_bsdi_dvd" = yes ; then
3795 def_bsdi_dvd
='#define DVD_STRUCT_IN_BSDI_DVDIOCTL_DVD_H 1'
3797 def_bsdi_dvd
='#undef DVD_STRUCT_IN_BSDI_DVDIOCTL_DVD_H'
3799 echores
"$_bsdi_dvd"
3804 # also used by AIX, but AIX does not support VCD and/or libdvdread
3805 echocheck
"HP-UX SCSI header"
3807 #include <sys/scsi.h>
3808 int main(void) { return 0; }
3811 cc_check
&& _hpux_scsi_h
=yes
3812 if test "$_hpux_scsi_h" = yes ; then
3813 def_hpux_scsi_h
='#define HPUX_SCTL_IO 1'
3815 def_hpux_scsi_h
='#undef HPUX_SCTL_IO'
3817 echores
"$_hpux_scsi_h"
3822 echocheck
"userspace SCSI headers (Solaris)"
3825 #include <stropts.h>
3826 #include <sys/scsi/scsi_types.h>
3827 #include <sys/scsi/impl/uscsi.h>
3828 int main(void) { return 0; }
3831 cc_check
&& _sol_scsi_h
=yes
3832 if test "$_sol_scsi_h" = yes ; then
3833 def_sol_scsi_h
='#define SOLARIS_USCSI 1'
3835 def_sol_scsi_h
='#undef SOLARIS_USCSI'
3837 echores
"$_sol_scsi_h"
3842 if test "$_termcap" = auto
; then
3846 int main(void) { tgetent(NULL, NULL); return 0; }
3849 for _ld_tmp
in "-lncurses" "-ltinfo" "-ltermcap"; do
3850 cc_check
$_ld_tmp && extra_ldflags
="$extra_ldflags $_ld_tmp" \
3851 && _termcap
=yes && break
3854 if test "$_termcap" = yes ; then
3855 def_termcap
='#define HAVE_TERMCAP 1'
3856 test $_ld_tmp && res_comment
="using $_ld_tmp"
3858 def_termcap
='#undef HAVE_TERMCAP'
3864 def_termios
='#undef HAVE_TERMIOS'
3865 def_termios_h
='#undef HAVE_TERMIOS_H'
3866 def_termios_sys_h
='#undef HAVE_SYS_TERMIOS_H'
3867 if test "$_termios" = auto
; then
3869 for _termios_header
in "termios.h" "sys/termios.h"; do
3871 #include <$_termios_header>
3872 int main(void) { return 0; }
3874 cc_check
&& _termios
=yes && res_comment
="using $_termios_header" && break
3878 if test "$_termios" = yes ; then
3879 def_termios
='#define HAVE_TERMIOS 1'
3880 if test "$_termios_header" = "termios.h" ; then
3881 def_termios_h
='#define HAVE_TERMIOS_H 1'
3883 def_termios_sys_h
='#define HAVE_SYS_TERMIOS_H 1'
3890 if test "$_shm" = auto
; then
3892 #include <sys/types.h>
3893 #include <sys/shm.h>
3894 int main(void) { shmget(0, 0, 0); shmat(0, 0, 0); shmctl(0, 0, 0); return 0; }
3897 cc_check
&& _shm
=yes
3899 if test "$_shm" = yes ; then
3900 def_shm
='#define HAVE_SHM 1'
3902 def_shm
='#undef HAVE_SHM'
3907 echocheck
"strsep()"
3910 int main(void) { char *s = "Hello, world!"; (void) strsep(&s, ","); return 0; }
3913 cc_check
&& _strsep
=yes
3914 if test "$_strsep" = yes ; then
3915 def_strsep
='#define HAVE_STRSEP 1'
3918 def_strsep
='#undef HAVE_STRSEP'
3924 echocheck
"vsscanf()"
3926 #define _ISOC99_SOURCE
3929 int main(void) { va_list ap; vsscanf("foo", "bar", ap); return 0; }
3932 cc_check
&& _vsscanf
=yes
3933 if test "$_vsscanf" = yes ; then
3934 def_vsscanf
='#define HAVE_VSSCANF 1'
3937 def_vsscanf
='#undef HAVE_VSSCANF'
3945 #define _XOPEN_SOURCE 600
3947 int main(void) { swab(0, 0, 0); return 0; }
3950 cc_check
&& _swab
=yes
3951 if test "$_swab" = yes ; then
3952 def_swab
='#define HAVE_SWAB 1'
3955 def_swab
='#undef HAVE_SWAB'
3960 echocheck
"POSIX select()"
3964 #include <sys/types.h>
3966 #include <sys/time.h>
3968 int main(void) {int nfds = 1; fd_set readfds; struct timeval timeout; select(nfds,&readfds,NULL,NULL,&timeout); return 0; }
3971 def_posix_select
='#undef HAVE_POSIX_SELECT'
3972 #select() of kLIBC (OS/2) supports socket only
3973 ! os2
&& cc_check
&& _posix_select
=yes \
3974 && def_posix_select
='#define HAVE_POSIX_SELECT 1'
3975 echores
"$_posix_select"
3978 echocheck
"audio select()"
3979 if test "$_select" = no
; then
3980 def_select
='#undef HAVE_AUDIO_SELECT'
3981 elif test "$_select" = yes ; then
3982 def_select
='#define HAVE_AUDIO_SELECT 1'
3987 echocheck
"gettimeofday()"
3990 #include <sys/time.h>
3991 int main(void) {struct timeval tv_start; gettimeofday(&tv_start, NULL); return 0; }
3994 cc_check
&& _gettimeofday
=yes
3995 if test "$_gettimeofday" = yes ; then
3996 def_gettimeofday
='#define HAVE_GETTIMEOFDAY 1'
3997 _need_gettimeofday
=no
3999 def_gettimeofday
='#undef HAVE_GETTIMEOFDAY'
4000 _need_gettimeofday
=yes
4002 echores
"$_gettimeofday"
4009 int main(void) { glob_t gg; glob("filename",0,NULL,&gg); return 0; }
4012 cc_check
&& _glob
=yes
4013 if test "$_glob" = yes ; then
4014 def_glob
='#define HAVE_GLOB 1'
4017 def_glob
='#undef HAVE_GLOB'
4023 echocheck
"setenv()"
4026 int main(void) { setenv("","",0); return 0; }
4029 cc_check
&& _setenv
=yes
4030 if test "$_setenv" = yes ; then
4031 def_setenv
='#define HAVE_SETENV 1'
4034 def_setenv
='#undef HAVE_SETENV'
4040 echocheck
"setmode()"
4042 def_setmode
='#define HAVE_SETMODE 0'
4045 int main(void) { setmode(0, 0); return 0; }
4047 cc_check
&& _setmode
=yes && def_setmode
='#define HAVE_SETMODE 1'
4052 echocheck
"sysi86()"
4054 #include <sys/sysi86.h>
4055 int main(void) { sysi86(0); return 0; }
4058 cc_check
&& _sysi86
=yes
4059 if test "$_sysi86" = yes ; then
4060 def_sysi86
='#define HAVE_SYSI86 1'
4062 #include <sys/sysi86.h>
4063 int main(void) { int sysi86(int, void*); sysi86(0); return 0; }
4065 cc_check
&& def_sysi86_iv
='#define HAVE_SYSI86_iv 1'
4067 def_sysi86
='#undef HAVE_SYSI86'
4073 echocheck
"sys/sysinfo.h"
4075 #include <sys/sysinfo.h>
4077 struct sysinfo s_info;
4083 cc_check
&& _sys_sysinfo
=yes
4084 if test "$_sys_sysinfo" = yes ; then
4085 def_sys_sysinfo_h
='#define HAVE_SYS_SYSINFO_H 1'
4087 def_sys_sysinfo_h
='#undef HAVE_SYS_SYSINFO_H'
4089 echores
"$_sys_sysinfo"
4094 echocheck
"Mac OS X Finder Support"
4095 def_macosx_finder
='#undef CONFIG_MACOSX_FINDER'
4096 if test "$_macosx_finder" = yes ; then
4097 def_macosx_finder
='#define CONFIG_MACOSX_FINDER 1'
4098 extra_ldflags
="$extra_ldflags -framework Carbon"
4100 echores
"$_macosx_finder"
4102 echocheck
"Mac OS X Bundle file locations"
4103 def_macosx_bundle
='#undef CONFIG_MACOSX_BUNDLE'
4104 test "$_macosx_bundle" = auto
&& _macosx_bundle
=$_macosx_finder
4105 if test "$_macosx_bundle" = yes ; then
4106 def_macosx_bundle
='#define CONFIG_MACOSX_BUNDLE 1'
4107 extra_ldflags
="$extra_ldflags -framework Carbon"
4109 echores
"$_macosx_bundle"
4111 echocheck
"Apple Remote"
4112 if test "$_apple_remote" = auto
; then
4116 #include <IOKit/IOCFPlugIn.h>
4118 io_iterator_t hidObjectIterator = (io_iterator_t)NULL;
4119 CFMutableDictionaryRef hidMatchDictionary;
4120 IOReturn ioReturnValue;
4122 // Set up a matching dictionary to search the I/O Registry by class.
4123 // name for all HID class devices
4124 hidMatchDictionary = IOServiceMatching("AppleIRController");
4126 // Now search I/O Registry for matching devices.
4127 ioReturnValue = IOServiceGetMatchingServices(kIOMasterPortDefault,
4128 hidMatchDictionary, &hidObjectIterator);
4130 // If search is unsuccessful, return nonzero.
4131 if (ioReturnValue != kIOReturnSuccess ||
4132 !IOIteratorIsValid(hidObjectIterator)) {
4138 cc_check
-framework IOKit
&& tmp_run
&& _apple_remote
=yes
4140 if test "$_apple_remote" = yes ; then
4141 def_apple_remote
='#define CONFIG_APPLE_REMOTE 1'
4142 libs_mplayer
="$libs_mplayer -framework IOKit -framework Cocoa"
4144 def_apple_remote
='#undef CONFIG_APPLE_REMOTE'
4146 echores
"$_apple_remote"
4152 echocheck
"Apple IR"
4153 if test "$_apple_ir" = auto
; then
4156 #include <linux/types.h>
4157 #include <linux/input.h>
4159 struct input_event ev;
4164 cc_check
&& _apple_ir
=yes
4166 if test "$_apple_ir" = yes ; then
4167 def_apple_ir
='#define CONFIG_APPLE_IR 1'
4169 def_apple_ir
='#undef CONFIG_APPLE_IR'
4171 echores
"$_apple_ir"
4174 echocheck
"pkg-config"
4175 _pkg_config
=pkg-config
4176 if $
($_pkg_config --version > /dev
/null
2>&1); then
4177 if test "$_ld_static"; then
4178 _pkg_config
="$_pkg_config --static"
4187 echocheck
"Samba support (libsmbclient)"
4188 if test "$_smb" = yes; then
4189 extra_ldflags
="$extra_ldflags -lsmbclient"
4191 if test "$_smb" = auto
; then
4194 #include <libsmbclient.h>
4195 int main(void) { smbc_opendir("smb://"); return 0; }
4197 for _ld_tmp
in "-lsmbclient" "-lsmbclient $_ld_dl" "-lsmbclient $_ld_dl -lnsl" "-lsmbclient $_ld_dl -lssl -lnsl" ; do
4198 cc_check
$_ld_tmp && extra_ldflags
="$extra_ldflags $_ld_tmp" && \
4203 if test "$_smb" = yes; then
4204 def_smb
="#define CONFIG_LIBSMBCLIENT 1"
4205 inputmodules
="smb $inputmodules"
4207 def_smb
="#undef CONFIG_LIBSMBCLIENT"
4208 noinputmodules
="smb $noinputmodules"
4219 if test "$_tdfxfb" = yes ; then
4220 def_tdfxfb
='#define CONFIG_TDFXFB 1'
4221 vomodules
="tdfxfb $vomodules"
4223 def_tdfxfb
='#undef CONFIG_TDFXFB'
4224 novomodules
="tdfxfb $novomodules"
4229 if test "$_s3fb" = yes ; then
4230 def_s3fb
='#define CONFIG_S3FB 1'
4231 vomodules
="s3fb $vomodules"
4233 def_s3fb
='#undef CONFIG_S3FB'
4234 novomodules
="s3fb $novomodules"
4239 if test "$_wii" = yes ; then
4240 def_wii
='#define CONFIG_WII 1'
4241 vomodules
="wii $vomodules"
4243 def_wii
='#undef CONFIG_WII'
4244 novomodules
="wii $novomodules"
4249 if test "$_tdfxvid" = yes ; then
4250 def_tdfxvid
='#define CONFIG_TDFX_VID 1'
4251 vomodules
="tdfx_vid $vomodules"
4253 def_tdfxvid
='#undef CONFIG_TDFX_VID'
4254 novomodules
="tdfx_vid $novomodules"
4259 if test "$_xvr100" = auto
; then
4262 #include <sys/fbio.h>
4263 #include <sys/visual_io.h>
4265 struct vis_identifier ident;
4266 struct fbgattr attr;
4267 ioctl(0, VIS_GETIDENTIFIER, &ident);
4268 ioctl(0, FBIOGATTR, &attr);
4273 cc_check
&& _xvr100
=yes
4275 if test "$_xvr100" = yes ; then
4276 def_xvr100
='#define CONFIG_XVR100 1'
4277 vomodules
="xvr100 $vomodules"
4279 def_tdfxvid
='#undef CONFIG_XVR100'
4280 novomodules
="xvr100 $novomodules"
4285 if test "$_tga" = yes ; then
4286 def_tga
='#define CONFIG_TGA 1'
4287 vomodules
="tga $vomodules"
4289 def_tga
='#undef CONFIG_TGA'
4290 novomodules
="tga $novomodules"
4295 echocheck
"md5sum support"
4296 if test "$_md5sum" = yes; then
4297 def_md5sum
="#define CONFIG_MD5SUM 1"
4298 vomodules
="md5sum $vomodules"
4300 def_md5sum
="#undef CONFIG_MD5SUM"
4301 novomodules
="md5sum $novomodules"
4306 echocheck
"yuv4mpeg support"
4307 if test "$_yuv4mpeg" = yes; then
4308 def_yuv4mpeg
="#define CONFIG_YUV4MPEG 1"
4309 vomodules
="yuv4mpeg $vomodules"
4311 def_yuv4mpeg
="#undef CONFIG_YUV4MPEG"
4312 novomodules
="yuv4mpeg $novomodules"
4314 echores
"$_yuv4mpeg"
4318 if test "$_bl" = yes ; then
4319 def_bl
='#define CONFIG_BL 1'
4320 vomodules
="bl $vomodules"
4322 def_bl
='#undef CONFIG_BL'
4323 novomodules
="bl $novomodules"
4328 echocheck
"DirectFB"
4329 if test "$_directfb" = auto
; then
4332 #include <directfb.h>
4333 int main(void) { DirectFBInit(0, 0); return 0; }
4335 for _inc_tmp
in "" -I/usr
/local
/include
/directfb \
4336 -I/usr
/include
/directfb
-I/usr
/local
/include
; do
4337 cc_check
$_inc_tmp -ldirectfb && _directfb
=yes && \
4338 extra_cflags
="$extra_cflags $_inc_tmp" && break
4343 expr $1 \
* 65536 + $2 \
* 256 + $3
4346 if test "$_directfb" = yes; then
4348 #include <directfb_version.h>
4350 dfb_ver = DIRECTFB_MAJOR_VERSION.DIRECTFB_MINOR_VERSION.DIRECTFB_MICRO_VERSION
4353 if $_cc -E $TMPC $extra_cflags > "$TMPEXE"; then
4354 _directfb_version
=$
(sed -n 's/^dfb_ver[^0-9]*\(.*\)/\1/p' "$TMPEXE" |
tr -d '()')
4355 _dfb_major
=$
(echo $_directfb_version | cut
-d .
-f 1)
4356 _dfb_minor
=$
(echo $_directfb_version | cut
-d .
-f 2)
4357 _dfb_micro
=$
(echo $_directfb_version | cut
-d .
-f 3)
4358 _dfb_version
=$
(dfb_version
$_dfb_major $_dfb_minor $_dfb_micro)
4359 if test "$_dfb_version" -ge $
(dfb_version
0 9 13); then
4360 def_directfb_version
="#define DIRECTFBVERSION $_dfb_version"
4361 res_comment
="$_directfb_version"
4362 test "$_dfb_version" -ge $
(dfb_version
0 9 15) && _dfbmga
=yes
4364 def_directfb_version
='#undef DIRECTFBVERSION'
4366 res_comment
="version >=0.9.13 required"
4370 res_comment
="failed to get version"
4373 echores
"$_directfb"
4375 if test "$_directfb" = yes ; then
4376 def_directfb
='#define CONFIG_DIRECTFB 1'
4377 vomodules
="directfb $vomodules"
4378 libs_mplayer
="$libs_mplayer -ldirectfb"
4380 def_directfb
='#undef CONFIG_DIRECTFB'
4381 novomodules
="directfb $novomodules"
4383 if test "$_dfbmga" = yes; then
4384 vomodules
="dfbmga $vomodules"
4385 def_dfbmga
='#define CONFIG_DFBMGA 1'
4387 novomodules
="dfbmga $novomodules"
4388 def_dfbmga
='#undef CONFIG_DFBMGA'
4392 echocheck
"X11 headers presence"
4394 res_comment
="check if the dev(el) packages are installed"
4395 for I
in $
(echo $extra_cflags |
sed s
/-I//g
) /usr
/include
; do
4396 if test -f "$I/X11/Xlib.h" ; then
4402 if test $_cross_compile = no
; then
4403 for I
in /usr
/X11
/include
/usr
/X11R
7/include
/usr
/local
/include
/usr
/X11R
6/include \
4404 /usr
/include
/X11R6
/usr
/openwin
/include
; do
4405 if test -f "$I/X11/Xlib.h" ; then
4406 extra_cflags
="$extra_cflags -I$I"
4408 res_comment
="using $I"
4413 echores
"$_x11_headers"
4417 if test "$_x11" = auto
&& test "$_x11_headers" = yes ; then
4419 #include <X11/Xlib.h>
4420 #include <X11/Xutil.h>
4421 int main(void) { (void) XCreateWindow(0,0,0,0,0,0,0,0,0,0,0,0); return 0; }
4423 for I
in "" -L/usr
/X11R
7/lib
-L/usr
/local
/lib
-L/usr
/X11R
6/lib
-L/usr
/lib
/X11R6 \
4424 -L/usr
/X11
/lib
-L/usr
/lib32
-L/usr
/openwin
/lib
-L/usr
/local
/lib64
-L/usr
/X11R
6/lib64 \
4427 _ld_tmp
="$I -lXext -lX11 $_ld_pthread -Wl,-R$(echo $I | sed s/^-L//)"
4429 _ld_tmp
="$I -lXext -lX11 $_ld_pthread"
4431 cc_check
$_ld_tmp && libs_mplayer
="$libs_mplayer $_ld_tmp" \
4432 && _x11
=yes && break
4435 if test "$_x11" = yes ; then
4436 def_x11
='#define CONFIG_X11 1'
4437 vomodules
="x11 xover $vomodules"
4440 def_x11
='#undef CONFIG_X11'
4441 novomodules
="x11 $novomodules"
4442 res_comment
="check if the dev(el) packages are installed"
4443 # disable stuff that depends on X
4444 _xv
=no
; _xvmc
=no
; _xinerama
=no
; _vm
=no
; _xf86keysym
=no
; _vdpau
=no
4448 echocheck
"Xss screensaver extensions"
4449 if test "$_xss" = auto
; then
4451 #include <X11/Xlib.h>
4452 #include <X11/extensions/scrnsaver.h>
4453 int main(void) { XScreenSaverSuspend(NULL, True); return 0; }
4456 cc_check
-lXss && _xss
=yes
4458 if test "$_xss" = yes ; then
4459 def_xss
='#define CONFIG_XSS 1'
4460 libs_mplayer
="$libs_mplayer -lXss"
4462 def_xss
='#undef CONFIG_XSS'
4469 if test "$_x11" = yes ; then
4471 #include <X11/Xmd.h>
4472 #include <X11/Xlib.h>
4473 #include <X11/Xutil.h>
4474 #include <X11/Xatom.h>
4475 #include <X11/extensions/dpms.h>
4476 int main(void) { (void) DPMSQueryExtension(0, 0, 0); return 0; }
4478 cc_check
-lXdpms && _xdpms3
=yes
4480 #include <X11/Xlib.h>
4481 #include <X11/extensions/dpms.h>
4482 int main(void) { (void) DPMSQueryExtension(0, 0, 0); return 0; }
4484 cc_check
-lXext && _xdpms4
=yes
4486 if test "$_xdpms4" = yes ; then
4487 def_xdpms
='#define CONFIG_XDPMS 1'
4488 res_comment
="using Xdpms 4"
4490 elif test "$_xdpms3" = yes ; then
4491 def_xdpms
='#define CONFIG_XDPMS 1'
4492 libs_mplayer
="$libs_mplayer -lXdpms"
4493 res_comment
="using Xdpms 3"
4496 def_xdpms
='#undef CONFIG_XDPMS'
4502 if test "$_xv" = auto
; then
4504 #include <X11/Xlib.h>
4505 #include <X11/extensions/Xvlib.h>
4507 (void) XvGetPortAttribute(0, 0, 0, 0);
4508 (void) XvQueryPortAttributes(0, 0, 0);
4512 cc_check
-lXv && _xv
=yes
4515 if test "$_xv" = yes ; then
4516 def_xv
='#define CONFIG_XV 1'
4517 libs_mplayer
="$libs_mplayer -lXv"
4518 vomodules
="xv $vomodules"
4520 def_xv
='#undef CONFIG_XV'
4521 novomodules
="xv $novomodules"
4527 if test "$_xv" = yes && test "$_xvmc" != no
; then
4530 #include <X11/Xlib.h>
4531 #include <X11/extensions/Xvlib.h>
4532 #include <X11/extensions/XvMClib.h>
4534 (void) XvMCQueryExtension(0,0,0);
4535 (void) XvMCCreateContext(0,0,0,0,0,0,0);
4538 for _ld_tmp
in $_xvmclib XvMCNVIDIA XvMCW I810XvMC
; do
4539 cc_check
-lXvMC -l$_ld_tmp && _xvmc
=yes && _xvmclib
="$_ld_tmp" && break
4542 if test "$_xvmc" = yes ; then
4543 def_xvmc
='#define CONFIG_XVMC 1'
4544 libs_mplayer
="$libs_mplayer -lXvMC -l$_xvmclib"
4545 vomodules
="xvmc $vomodules"
4546 res_comment
="using $_xvmclib"
4548 def_xvmc
='#define CONFIG_XVMC 0'
4549 novomodules
="xvmc $novomodules"
4550 _libavdecoders
=$
(echo $_libavdecoders |
sed -e s
/MPEG_XVMC_DECODER
//)
4556 if test "$_vdpau" = auto
; then
4558 if test "$_dl" = yes ; then
4560 #include <vdpau/vdpau_x11.h>
4562 (void) vdp_device_create_x11(0, 0, 0, 0);
4563 return VDP_VIDEO_MIXER_FEATURE_HIGH_QUALITY_SCALING_L1; }
4565 cc_check
-lvdpau && _vdpau
=yes
4568 if test "$_vdpau" = yes ; then
4569 def_vdpau
='#define CONFIG_VDPAU 1'
4570 libs_mplayer
="$libs_mplayer -lvdpau"
4571 vomodules
="vdpau $vomodules"
4573 def_vdpau
='#define CONFIG_VDPAU 0'
4574 novomodules
="vdpau $novomodules"
4575 _libavdecoders
=$
(echo $_libavdecoders |
sed -e s
/MPEG_VDPAU_DECODER
// -e s
/MPEG1_VDPAU_DECODER
// -e s
/H264_VDPAU_DECODER
// -e s
/WMV3_VDPAU_DECODER
// -e s
/VC1_VDPAU_DECODER
// -e s
/MPEG4_VDPAU_DECODER
//)
4580 echocheck
"Xinerama"
4581 if test "$_xinerama" = auto
; then
4583 #include <X11/Xlib.h>
4584 #include <X11/extensions/Xinerama.h>
4585 int main(void) { (void) XineramaIsActive(0); return 0; }
4588 cc_check
-lXinerama && _xinerama
=yes
4591 if test "$_xinerama" = yes ; then
4592 def_xinerama
='#define CONFIG_XINERAMA 1'
4593 libs_mplayer
="$libs_mplayer -lXinerama"
4595 def_xinerama
='#undef CONFIG_XINERAMA'
4597 echores
"$_xinerama"
4600 # Note: the -lXxf86vm library is the VideoMode extension and though it's not
4601 # needed for DGA, AFAIK every distribution packages together with DGA stuffs
4602 # named 'X extensions' or something similar.
4603 # This check may be useful for future mplayer versions (to change resolution)
4604 # If you run into problems, remove '-lXxf86vm'.
4606 if test "$_vm" = auto
; then
4608 #include <X11/Xlib.h>
4609 #include <X11/extensions/xf86vmode.h>
4610 int main(void) { (void) XF86VidModeQueryExtension(0, 0, 0); return 0; }
4613 cc_check
-lXxf86vm && _vm
=yes
4615 if test "$_vm" = yes ; then
4616 def_vm
='#define CONFIG_XF86VM 1'
4617 libs_mplayer
="$libs_mplayer -lXxf86vm"
4619 def_vm
='#undef CONFIG_XF86VM'
4623 # Check for the presence of special keycodes, like audio control buttons
4624 # that XFree86 might have. Used to be bundled with the xf86vm check, but
4625 # has nothing to do with xf86vm and XFree 3.x has xf86vm but does NOT
4626 # have these new keycodes.
4627 echocheck
"XF86keysym"
4628 if test "$_xf86keysym" = auto
; then
4631 #include <X11/Xlib.h>
4632 #include <X11/XF86keysym.h>
4633 int main(void) { return XF86XK_AudioPause; }
4635 cc_check
&& _xf86keysym
=yes
4637 if test "$_xf86keysym" = yes ; then
4638 def_xf86keysym
='#define CONFIG_XF86XK 1'
4640 def_xf86keysym
='#undef CONFIG_XF86XK'
4642 echores
"$_xf86keysym"
4645 if test "$_dga2" = auto
&& test "$_x11" = yes ; then
4647 #include <X11/Xlib.h>
4648 #include <X11/extensions/xf86dga.h>
4649 int main(void) { (void) XDGASetViewport(0, 0, 0, 0, 0); return 0; }
4652 cc_check
-lXxf86dga && _dga2
=yes
4654 if test "$_dga1" = auto
&& test "$_dga2" = no
&& test "$_vm" = yes ; then
4656 #include <X11/Xlib.h>
4657 #include <X11/extensions/xf86dga.h>
4658 int main(void) { (void) XF86DGASetViewPort(0, 0, 0, 0); return 0; }
4661 cc_check
-lXxf86dga -lXxf86vm && _dga1
=yes
4665 def_dga
='#undef CONFIG_DGA'
4666 def_dga1
='#undef CONFIG_DGA1'
4667 def_dga2
='#undef CONFIG_DGA2'
4668 if test "$_dga1" = yes ; then
4670 def_dga1
='#define CONFIG_DGA1 1'
4671 res_comment
="using DGA 1.0"
4672 elif test "$_dga2" = yes ; then
4674 def_dga2
='#define CONFIG_DGA2 1'
4675 res_comment
="using DGA 2.0"
4677 if test "$_dga" = yes ; then
4678 def_dga
='#define CONFIG_DGA 1'
4679 libs_mplayer
="$libs_mplayer -lXxf86dga"
4680 vomodules
="dga $vomodules"
4682 novomodules
="dga $novomodules"
4688 if test "$_3dfx" = yes && test "$_dga" = yes ; then
4689 def_3dfx
='#define CONFIG_3DFX 1'
4690 vomodules
="3dfx $vomodules"
4692 def_3dfx
='#undef CONFIG_3DFX'
4693 novomodules
="3dfx $novomodules"
4699 def_vidix
='#undef CONFIG_VIDIX'
4700 def_vidix_drv_cyberblade
='#undef CONFIG_VIDIX_DRV_CYBERBLADE'
4701 _vidix_drv_cyberblade
=no
4702 def_vidix_drv_ivtv
='#undef CONFIG_VIDIX_DRV_IVTV'
4704 def_vidix_drv_mach64
='#undef CONFIG_VIDIX_DRV_MACH64'
4705 _vidix_drv_mach64
=no
4706 def_vidix_drv_mga
='#undef CONFIG_VIDIX_DRV_MGA'
4708 def_vidix_drv_mga_crtc2
='#undef CONFIG_VIDIX_DRV_MGA_CRTC2'
4709 _vidix_drv_mga_crtc2
=no
4710 def_vidix_drv_nvidia
='#undef CONFIG_VIDIX_DRV_NVIDIA'
4711 _vidix_drv_nvidia
=no
4712 def_vidix_drv_pm2
='#undef CONFIG_VIDIX_DRV_PM2'
4714 def_vidix_drv_pm3
='#undef CONFIG_VIDIX_DRV_PM3'
4716 def_vidix_drv_radeon
='#undef CONFIG_VIDIX_DRV_RADEON'
4717 _vidix_drv_radeon
=no
4718 def_vidix_drv_rage128
='#undef CONFIG_VIDIX_DRV_RAGE128'
4719 _vidix_drv_rage128
=no
4720 def_vidix_drv_s3
='#undef CONFIG_VIDIX_DRV_S3'
4722 def_vidix_drv_sh_veu
='#undef CONFIG_VIDIX_DRV_SH_VEU'
4723 _vidix_drv_sh_veu
=no
4724 def_vidix_drv_sis
='#undef CONFIG_VIDIX_DRV_SIS'
4726 def_vidix_drv_unichrome
='#undef CONFIG_VIDIX_DRV_UNICHROME'
4727 _vidix_drv_unichrome
=no
4728 if test "$_vidix" = auto
; then
4730 x86
&& (linux || freebsd || netbsd || openbsd || dragonfly || sunos || win32
) \
4732 x86_64
&& ! linux
&& _vidix
=no
4733 (ppc || alpha
) && linux
&& _vidix
=yes
4737 if test "$_vidix" = yes ; then
4738 def_vidix
='#define CONFIG_VIDIX 1'
4739 vomodules
="cvidix $vomodules"
4740 # FIXME: ivtv driver temporarily disabled until we have a proper test
4741 #test "$_vidix_drivers" || _vidix_drivers="cyberblade ivtv mach64 mga mga_crtc2 nvidia pm2 pm3 radeon rage128 s3 sh_veu sis unichrome"
4742 test "$_vidix_drivers" || _vidix_drivers
="cyberblade mach64 mga mga_crtc2 nvidia pm2 pm3 radeon rage128 s3 sh_veu sis unichrome"
4744 # some vidix drivers are architecture and os specific, discard them elsewhere
4745 x86 || _vidix_drivers
=$
(echo $_vidix_drivers |
sed -e s
/cyberblade
// -e s
/sis
// -e s
/unichrome
// -e s
/s
3//)
4746 (test $host_arch = "sh" && linux
) || _vidix_drivers
=$
(echo $_vidix_drivers |
sed s
/sh_veu
//)
4748 for driver
in $_vidix_drivers ; do
4749 uc_driver
=$
(echo $driver |
tr '[a-z]' '[A-Z]')
4750 eval _vidix_drv_
${driver}=yes
4751 eval def_vidix_drv_
${driver}=\"\
#define CONFIG_VIDIX_DRV_${uc_driver} 1\"
4754 echocheck
"VIDIX PCI device name database"
4755 echores
"$_vidix_pcidb"
4756 if test "$_vidix_pcidb" = yes ; then
4762 echocheck
"VIDIX dhahelper support"
4763 test "$_dhahelper" = yes && cflags_dhahelper
=-DCONFIG_DHAHELPER
4764 echores
"$_dhahelper"
4766 echocheck
"VIDIX svgalib_helper support"
4767 test "$_svgalib_helper" = yes && cflags_svgalib_helper
=-DCONFIG_SVGAHELPER
4768 echores
"$_svgalib_helper"
4771 novomodules
="cvidix $novomodules"
4774 if test "$_vidix" = yes && win32
; then
4776 vomodules
="winvidix $vomodules"
4777 libs_mplayer
="$libs_mplayer -lgdi32"
4779 novomodules
="winvidix $novomodules"
4781 if test "$_vidix" = yes && test "$_x11" = yes; then
4783 vomodules
="xvidix $vomodules"
4785 novomodules
="xvidix $novomodules"
4788 echocheck
"/dev/mga_vid"
4789 if test "$_mga" = auto
; then
4791 test -c /dev
/mga_vid
&& _mga
=yes
4793 if test "$_mga" = yes ; then
4794 def_mga
='#define CONFIG_MGA 1'
4795 vomodules
="mga $vomodules"
4797 def_mga
='#undef CONFIG_MGA'
4798 novomodules
="mga $novomodules"
4803 if test "$_xmga" = auto
; then
4805 test "$_x11" = yes && test "$_mga" = yes && _xmga
=yes
4807 if test "$_xmga" = yes ; then
4808 def_xmga
='#define CONFIG_XMGA 1'
4809 vomodules
="xmga $vomodules"
4811 def_xmga
='#undef CONFIG_XMGA'
4812 novomodules
="xmga $novomodules"
4818 if test "$_ggi" = auto
; then
4820 #include <ggi/ggi.h>
4821 int main(void) { ggiInit(); return 0; }
4824 cc_check
-lggi && _ggi
=yes
4826 if test "$_ggi" = yes ; then
4827 def_ggi
='#define CONFIG_GGI 1'
4828 libs_mplayer
="$libs_mplayer -lggi"
4829 vomodules
="ggi $vomodules"
4831 def_ggi
='#undef CONFIG_GGI'
4832 novomodules
="ggi $novomodules"
4836 echocheck
"GGI extension: libggiwmh"
4837 if test "$_ggiwmh" = auto
; then
4840 #include <ggi/ggi.h>
4841 #include <ggi/wmh.h>
4842 int main(void) { ggiInit(); ggiWmhInit(); return 0; }
4844 cc_check
-lggi -lggiwmh && _ggiwmh
=yes
4846 # needed to get right output on obscure combination
4847 # like --disable-ggi --enable-ggiwmh
4848 if test "$_ggi" = yes && test "$_ggiwmh" = yes ; then
4849 def_ggiwmh
='#define CONFIG_GGIWMH 1'
4850 libs_mplayer
="$libs_mplayer -lggiwmh"
4853 def_ggiwmh
='#undef CONFIG_GGIWMH'
4859 if test "$_aa" = auto
; then
4862 extern struct aa_hardware_params aa_defparams;
4863 extern struct aa_renderparams aa_defrenderparams;
4867 (void) aa_init(0, 0, 0);
4868 c = aa_autoinit(&aa_defparams);
4869 p = aa_getrenderparams();
4870 aa_autoinitkbd(c,0);
4874 for _ld_tmp
in "-laa" ; do
4875 cc_check
$_ld_tmp && libs_mplayer
="$libs_mplayer $_ld_tmp" && _aa
=yes && break
4878 if test "$_aa" = yes ; then
4879 def_aa
='#define CONFIG_AA 1'
4881 libs_mplayer
="$libs_mplayer $(aalib-config --libs | cut -d " " -f 2,5,6)"
4883 vomodules
="aa $vomodules"
4885 def_aa
='#undef CONFIG_AA'
4886 novomodules
="aa $novomodules"
4892 if test "$_caca" = auto
; then
4894 if ( caca-config
--version ) >> "$TMPLOG" 2>&1 ; then
4897 #ifdef CACA_API_VERSION_1
4900 int main(void) { (void) caca_init(); return 0; }
4902 cc_check $
(caca-config
--libs) && _caca
=yes
4905 if test "$_caca" = yes ; then
4906 def_caca
='#define CONFIG_CACA 1'
4907 extra_cflags
="$extra_cflags $(caca-config --cflags)"
4908 libs_mplayer
="$libs_mplayer $(caca-config --libs)"
4909 vomodules
="caca $vomodules"
4911 def_caca
='#undef CONFIG_CACA'
4912 novomodules
="caca $novomodules"
4918 if test "$_svga" = auto
; then
4921 int main(void) { return 0; }
4924 cc_check
-lvga $_ld_lm && _svga
=yes
4926 if test "$_svga" = yes ; then
4927 def_svga
='#define CONFIG_SVGALIB 1'
4928 libs_mplayer
="$libs_mplayer -lvga"
4929 vomodules
="svga $vomodules"
4931 def_svga
='#undef CONFIG_SVGALIB'
4932 novomodules
="svga $novomodules"
4938 if test "$_fbdev" = auto
; then
4942 if test "$_fbdev" = yes ; then
4943 def_fbdev
='#define CONFIG_FBDEV 1'
4944 vomodules
="fbdev $vomodules"
4946 def_fbdev
='#undef CONFIG_FBDEV'
4947 novomodules
="fbdev $novomodules"
4954 if test "$_dvb" = auto
; then
4958 #include <sys/ioctl.h>
4962 #include <linux/dvb/dmx.h>
4963 #include <linux/dvb/frontend.h>
4964 #include <linux/dvb/video.h>
4965 #include <linux/dvb/audio.h>
4966 int main(void) {return 0;}
4968 for _inc_tmp
in "" "-I/usr/src/DVB/include" ; do
4969 cc_check
$_inc_tmp && _dvb
=yes && \
4970 extra_cflags
="$extra_cflags $_inc_tmp" && break
4974 if test "$_dvb" = yes ; then
4976 inputmodules
="dvb $inputmodules"
4977 def_dvb
='#define CONFIG_DVB 1'
4978 def_dvbin
='#define CONFIG_DVBIN 1'
4979 aomodules
="mpegpes(dvb) $aomodules"
4980 vomodules
="mpegpes(dvb) $vomodules"
4983 noinputmodules
="dvb $noinputmodules"
4984 def_dvb
='#undef CONFIG_DVB'
4985 def_dvbin
='#undef CONFIG_DVBIN '
4986 aomodules
="mpegpes(file) $aomodules"
4987 vomodules
="mpegpes(file) $vomodules"
4993 echocheck
"QuickTime"
4994 if test "$quicktime" = auto
; then
4996 #include <QuickTime/QuickTime.h>
4998 ImageDescription *desc;
5005 cc_check
-framework QuickTime
&& quicktime
=yes
5007 if test "$quicktime" = yes ; then
5008 extra_ldflags
="$extra_ldflags -framework QuickTime"
5009 def_quicktime
='#define CONFIG_QUICKTIME 1'
5011 def_quicktime
='#undef CONFIG_QUICKTIME'
5017 if test "$_quartz" = auto
; then
5019 #include <Carbon/Carbon.h>
5021 CFRunLoopRunInMode(kCFRunLoopDefaultMode, 0, false);
5026 cc_check
-framework Carbon
&& _quartz
=yes
5028 if test "$_quartz" = yes ; then
5029 libs_mplayer
="$libs_mplayer -framework Carbon"
5030 def_quartz
='#define CONFIG_QUARTZ 1'
5031 vomodules
="quartz $vomodules"
5033 def_quartz
='#undef CONFIG_QUARTZ'
5034 novomodules
="quartz $novomodules"
5038 echocheck
"CoreVideo"
5039 if test "$_corevideo" = auto
; then
5041 #include <Carbon/Carbon.h>
5042 #include <CoreServices/CoreServices.h>
5043 #include <OpenGL/OpenGL.h>
5044 #include <QuartzCore/CoreVideo.h>
5045 int main(void) { return 0; }
5048 cc_check
-framework Carbon
-framework Cocoa
-framework QuartzCore
-framework OpenGL
&& _corevideo
=yes
5050 if test "$_corevideo" = yes ; then
5051 vomodules
="corevideo $vomodules"
5052 libs_mplayer
="$libs_mplayer -framework Carbon -framework Cocoa -framework QuartzCore -framework OpenGL"
5053 def_corevideo
='#define CONFIG_COREVIDEO 1'
5055 novomodules
="corevideo $novomodules"
5056 def_corevideo
='#undef CONFIG_COREVIDEO'
5058 echores
"$_corevideo"
5063 echocheck
"PNG support"
5064 if test "$_png" = auto
; then
5067 # Don't check for -lpng on irix since it has its own libpng
5068 # incompatible with the GNU libpng
5069 res_comment
="disabled on irix (not GNU libpng)"
5075 printf("png.h : %s\n", PNG_LIBPNG_VER_STRING);
5076 printf("libpng: %s\n", png_libpng_ver);
5077 return strcmp(PNG_LIBPNG_VER_STRING, png_libpng_ver);
5080 cc_check
-lpng -lz $_ld_lm && _png
=yes
5084 if test "$_png" = yes ; then
5085 def_png
='#define CONFIG_PNG 1'
5086 extra_ldflags
="$extra_ldflags -lpng -lz"
5088 def_png
='#undef CONFIG_PNG'
5091 echocheck
"MNG support"
5092 if test "$_mng" = auto
; then
5097 const char * p_ver = mng_version_text();
5098 return !p_ver || p_ver[0] == 0;
5101 if cc_check
-lmng -lz $_ld_lm ; then
5106 if test "$_mng" = yes ; then
5107 def_mng
='#define CONFIG_MNG 1'
5108 extra_ldflags
="$extra_ldflags -lmng -lz"
5110 def_mng
='#undef CONFIG_MNG'
5113 echocheck
"JPEG support"
5114 if test "$_jpeg" = auto
; then
5121 #include <jpeglib.h>
5122 int main(void) { return 0; }
5124 cc_check
-ljpeg $_ld_lm && _jpeg
=yes
5128 if test "$_jpeg" = yes ; then
5129 def_jpeg
='#define CONFIG_JPEG 1'
5130 vomodules
="jpeg $vomodules"
5131 extra_ldflags
="$extra_ldflags -ljpeg"
5133 def_jpeg
='#undef CONFIG_JPEG'
5134 novomodules
="jpeg $novomodules"
5138 echocheck
"OpenJPEG (JPEG2000) support"
5139 if test "$libopenjpeg" = auto
; then
5143 #include <openjpeg.h>
5144 int main(void) { opj_dparameters_t dec_params; opj_set_default_decoder_parameters(&dec_params); return 0; }
5146 cc_check
-lopenjpeg $_ld_lm && libopenjpeg
=yes
5148 echores
"$libopenjpeg"
5149 if test "$libopenjpeg" = yes ; then
5150 def_libopenjpeg
='#define CONFIG_LIBOPENJPEG 1'
5151 extra_ldflags
="$extra_ldflags -lopenjpeg"
5152 _libavdecoders
="$_libavdecoders LIBOPENJPEG_DECODER"
5153 _libavencoders
="$_libavencoders LIBOPENJPEG_ENCODER"
5154 codecmodules
="OpenJPEG $codecmodules"
5156 def_libopenjpeg
='#define CONFIG_LIBOPENJPEG 0'
5157 nocodecmodules
="OpenJPEG $nocodecmodules"
5161 echocheck
"PNM support"
5162 if test "$_pnm" = yes; then
5163 def_pnm
="#define CONFIG_PNM 1"
5164 vomodules
="pnm $vomodules"
5166 def_pnm
="#undef CONFIG_PNM"
5167 novomodules
="pnm $novomodules"
5173 echocheck
"GIF support"
5174 # This is to appease people who want to force gif support.
5175 # If it is forced to yes, then we still do checks to determine
5176 # which gif library to use.
5177 if test "$_gif" = yes ; then
5182 if test "$_gif" = auto
; then
5185 #include <gif_lib.h>
5186 int main(void) { return 0; }
5188 for _ld_gif
in "-lungif" "-lgif" ; do
5189 cc_check
$_ld_gif && _gif
=yes && break
5193 # If no library was found, and the user wants support forced,
5194 # then we force it on with libgif, as this is the safest
5195 # assumption IMHO. (libungif & libregif both create symbolic
5196 # links to libgif. We also assume that no x11 support is needed,
5197 # because if you are forcing this, then you _should_ know what
5198 # you are doing. [ Besides, package maintainers should never
5199 # have compiled x11 deps into libungif in the first place. ] )
5202 if test "$_force_gif" = yes && test "$_gif" = no
; then
5207 if test "$_gif" = yes ; then
5208 def_gif
='#define CONFIG_GIF 1'
5209 codecmodules
="gif $codecmodules"
5210 vomodules
="gif89a $vomodules"
5211 res_comment
="old version, some encoding functions disabled"
5212 def_gif_4
='#undef CONFIG_GIF_4'
5213 extra_ldflags
="$extra_ldflags $_ld_gif"
5217 #include <gif_lib.h>
5218 void catch() { exit(1); }
5220 signal(SIGSEGV, catch); // catch segfault
5221 printf("EGifPutExtensionFirst is at address %p\n", EGifPutExtensionFirst);
5222 EGifSetGifVersion("89a"); // this will segfault a buggy gif lib.
5226 if cc_check
"$_ld_gif" ; then
5227 def_gif_4
='#define CONFIG_GIF_4 1'
5231 def_gif
='#undef CONFIG_GIF'
5232 def_gif_4
='#undef CONFIG_GIF_4'
5233 novomodules
="gif89a $novomodules"
5234 nocodecmodules
="gif $nocodecmodules"
5239 case "$_gif" in yes*)
5240 echocheck
"broken giflib workaround"
5241 def_gif_tvt_hack
='#define CONFIG_GIF_TVT_HACK 1'
5244 #include <gif_lib.h>
5247 printf("UserData is at address %p\n", gif.UserData);
5251 if cc_check
"$_ld_gif" ; then
5252 def_gif_tvt_hack
='#undef CONFIG_GIF_TVT_HACK'
5261 echocheck
"VESA support"
5262 if test "$_vesa" = auto
; then
5265 int main(void) { vbeVersion(); return 0; }
5268 cc_check
-lvbe -llrmi && _vesa
=yes
5270 if test "$_vesa" = yes ; then
5271 def_vesa
='#define CONFIG_VESA 1'
5272 libs_mplayer
="$libs_mplayer -lvbe -llrmi"
5273 vomodules
="vesa $vomodules"
5275 def_vesa
='#undef CONFIG_VESA'
5276 novomodules
="vesa $novomodules"
5288 def_sdl_sdl_h
="#undef CONFIG_SDL_SDL_H"
5289 if test -z "$_sdlconfig" ; then
5290 if ( sdl-config
--version ) >>"$TMPLOG" 2>&1 ; then
5291 _sdlconfig
="sdl-config"
5292 elif ( sdl11-config
--version ) >>"$TMPLOG" 2>&1 ; then
5293 _sdlconfig
="sdl11-config"
5298 if test "$_sdl" = auto ||
test "$_sdl" = yes ; then
5300 #ifdef CONFIG_SDL_SDL_H
5301 #include <SDL/SDL.h>
5306 // we allow SDL hacking our main() only on OSX
5309 int main(int argc, char *argv[]) {
5310 SDL_Init(SDL_INIT_VIDEO|SDL_INIT_NOPARACHUTE);
5315 for _ld_tmp
in "-lSDL" "-lSDL -lpthread" "-lSDL -lwinmm -lgdi32" "-lSDL -lwinmm -lgdi32 -ldxguid" ; do
5316 if cc_check
-DCONFIG_SDL_SDL_H $_inc_tmp $_ld_tmp ; then
5318 def_sdl_sdl_h
="#define CONFIG_SDL_SDL_H 1"
5322 if test "$_sdl" = no
&& "$_sdlconfig" --version >>"$TMPLOG" 2>&1 ; then
5323 res_comment
="using $_sdlconfig"
5325 _inc_tmp
="$($_sdlconfig --cflags | cut -d " " -f 1,5,6 | sed s/no-cygwin/cygwin/)"
5326 _ld_tmp
="$($_sdlconfig --libs | cut -d " " -f 1,4,6 | sed s/no-cygwin/cygwin/)"
5328 _inc_tmp
=$
($_sdlconfig --cflags |
sed s
/-Dmain=SDL_main
//)
5329 _ld_tmp
=$
($_sdlconfig --libs |
sed -e s
/-mwindows// -e s
/-lmingw32//)
5331 _inc_tmp
="$($_sdlconfig --cflags)"
5332 _ld_tmp
="$($_sdlconfig --libs)"
5334 if cc_check
$_inc_tmp $_ld_tmp >>"$TMPLOG" 2>&1 ; then
5339 if test "$_sdl" = yes ; then
5340 def_sdl
='#define CONFIG_SDL 1'
5341 extra_cflags
="$extra_cflags $_inc_tmp"
5342 libs_mplayer
="$libs_mplayer $_ld_tmp"
5343 vomodules
="sdl $vomodules"
5344 aomodules
="sdl $aomodules"
5346 def_sdl
='#undef CONFIG_SDL'
5347 novomodules
="sdl $novomodules"
5348 noaomodules
="sdl $noaomodules"
5353 # make sure this stays below CoreVideo to avoid issues due to namespace
5354 # conflicts between -lGL and -framework OpenGL
5356 #Note: this test is run even with --enable-gl since we autodetect linker flags
5357 if (test "$_x11" = yes ||
test "$_sdl" = yes || win32
) && test "$_gl" != no
; then
5360 #include <windows.h>
5362 #elif defined(GL_SDL)
5364 #ifdef CONFIG_SDL_SDL_H
5365 #include <SDL/SDL.h>
5370 // we allow SDL hacking our main() only on OSX
5375 #include <X11/Xlib.h>
5381 wglCreateContext(dc);
5382 #elif defined(GL_SDL)
5383 SDL_GL_SwapBuffers();
5385 glXCreateContext(NULL, NULL, NULL, True);
5392 for _ld_tmp
in "" -lGL "-lGL -lXdamage" "-lGL $_ld_pthread" ; do
5393 if cc_check
$_ld_tmp $_ld_lm ; then
5396 libs_mplayer
="$libs_mplayer $_ld_tmp $_ld_dl"
5400 if cc_check
-DGL_WIN32 -lopengl32 ; then
5403 libs_mplayer
="$libs_mplayer -lopengl32 -lgdi32"
5405 # last so it can reuse any linker etc. flags detected before
5406 if test "$_sdl" = yes ; then
5407 if cc_check
-DGL_SDL ||
5408 cc_check
-DCONFIG_SDL_SDL_H -DGL_SDL ; then
5411 elif cc_check
-DGL_SDL -lGL ||
5412 cc_check
-DCONFIG_SDL_SDL_H -DGL_SDL -lGL ; then
5415 libs_mplayer
="$libs_mplayer -lGL"
5421 if test "$_gl" = yes ; then
5422 def_gl
='#define CONFIG_GL 1'
5423 res_comment
="backends:"
5424 if test "$_gl_win32" = yes ; then
5425 def_gl_win32
='#define CONFIG_GL_WIN32 1'
5426 res_comment
="$res_comment win32"
5428 if test "$_gl_x11" = yes ; then
5429 def_gl_x11
='#define CONFIG_GL_X11 1'
5430 res_comment
="$res_comment x11"
5432 if test "$_gl_sdl" = yes ; then
5433 def_gl_sdl
='#define CONFIG_GL_SDL 1'
5434 res_comment
="$res_comment sdl"
5436 vomodules
="opengl $vomodules"
5438 def_gl
='#undef CONFIG_GL'
5439 def_gl_win32
='#undef CONFIG_GL_WIN32'
5440 def_gl_x11
='#undef CONFIG_GL_X11'
5441 def_gl_sdl
='#undef CONFIG_GL_SDL'
5442 novomodules
="opengl $novomodules"
5447 echocheck
"MatrixView"
5448 if test "$_gl" = no
; then
5451 if test "$matrixview" = yes ; then
5452 vomodules
="matrixview $vomodules"
5453 def_matrixview
='#define CONFIG_MATRIXVIEW 1'
5455 novomodules
="matrixview $novomodules"
5456 def_matrixview
='#undef CONFIG_MATRIXVIEW'
5458 echores
"$matrixview"
5462 echocheck
"KVA (SNAP/WarpOverlay!/DIVE)"
5463 if test "$_kva" = auto
; then
5467 int main( void ) { return 0; }
5470 cc_check
-lkva && _kva
=yes
5472 if test "$_kva" = yes ; then
5473 def_kva
='#define CONFIG_KVA 1'
5474 libs_mplayer
="$libs_mplayer -lkva"
5475 vomodules
="kva $vomodules"
5477 def_kva
='#undef CONFIG_KVA'
5478 novomodules
="kva $novomodules"
5486 echocheck
"Windows waveout"
5487 if test "$_win32waveout" = auto
; then
5489 #include <windows.h>
5490 #include <mmsystem.h>
5491 int main(void) { return 0; }
5494 cc_check
-lwinmm && _win32waveout
=yes
5496 if test "$_win32waveout" = yes ; then
5497 def_win32waveout
='#define CONFIG_WIN32WAVEOUT 1'
5498 libs_mplayer
="$libs_mplayer -lwinmm"
5499 aomodules
="win32 $aomodules"
5501 def_win32waveout
='#undef CONFIG_WIN32WAVEOUT'
5502 noaomodules
="win32 $noaomodules"
5504 echores
"$_win32waveout"
5506 echocheck
"Direct3D"
5507 if test "$_direct3d" = auto
; then
5509 #include <windows.h>
5511 int main(void) { return 0; }
5514 cc_check
&& _direct3d
=yes
5516 if test "$_direct3d" = yes ; then
5517 def_direct3d
='#define CONFIG_DIRECT3D 1'
5518 vomodules
="direct3d $vomodules"
5520 def_direct3d
='#undef CONFIG_DIRECT3D'
5521 novomodules
="direct3d $novomodules"
5523 echores
"$_direct3d"
5526 if test "$_directx" = auto
; then
5528 #include <windows.h>
5531 int main(void) { return 0; }
5534 cc_check
-lgdi32 && _directx
=yes
5536 if test "$_directx" = yes ; then
5537 def_directx
='#define CONFIG_DIRECTX 1'
5538 libs_mplayer
="$libs_mplayer -lgdi32"
5539 vomodules
="directx $vomodules"
5540 aomodules
="dsound $aomodules"
5542 def_directx
='#undef CONFIG_DIRECTX'
5543 novomodules
="directx $novomodules"
5544 noaomodules
="dsound $noaomodules"
5552 if test "$_dxr2" = auto
; then
5555 #include <dxr2ioctl.h>
5556 int main(void) { return 0; }
5558 for _inc_tmp
in "" -I/usr
/local
/include
/dxr2
-I/usr
/include
/dxr2
; do
5559 cc_check
$_inc_tmp && _dxr2
=yes && \
5560 extra_cflags
="$extra_cflags $_inc_tmp" && break
5563 if test "$_dxr2" = yes; then
5564 def_dxr2
='#define CONFIG_DXR2 1'
5565 aomodules
="dxr2 $aomodules"
5566 vomodules
="dxr2 $vomodules"
5568 def_dxr2
='#undef CONFIG_DXR2'
5569 noaomodules
="dxr2 $noaomodules"
5570 novomodules
="dxr2 $novomodules"
5575 if test "$_dxr3" = auto
; then
5577 #include <linux/em8300.h>
5578 int main(void) { return 0; }
5581 cc_check
&& _dxr3
=yes
5583 if test "$_dxr3" = yes ; then
5584 def_dxr3
='#define CONFIG_DXR3 1'
5585 vomodules
="dxr3 $vomodules"
5587 def_dxr3
='#undef CONFIG_DXR3'
5588 novomodules
="dxr3 $novomodules"
5593 echocheck
"IVTV TV-Out (pre linux-2.6.24)"
5594 if test "$_ivtv" = auto
; then
5597 #include <inttypes.h>
5598 #include <linux/types.h>
5599 #include <linux/videodev2.h>
5600 #include <linux/ivtv.h>
5601 #include <sys/ioctl.h>
5603 struct ivtv_cfg_stop_decode sd;
5604 struct ivtv_cfg_start_decode sd1;
5605 ioctl(0, IVTV_IOC_START_DECODE, &sd1);
5606 ioctl(0, IVTV_IOC_STOP_DECODE, &sd);
5610 cc_check
&& _ivtv
=yes
5612 if test "$_ivtv" = yes ; then
5613 def_ivtv
='#define CONFIG_IVTV 1'
5614 vomodules
="ivtv $vomodules"
5615 aomodules
="ivtv $aomodules"
5617 def_ivtv
='#undef CONFIG_IVTV'
5618 novomodules
="ivtv $novomodules"
5619 noaomodules
="ivtv $noaomodules"
5624 echocheck
"V4L2 MPEG Decoder"
5625 if test "$_v4l2" = auto
; then
5628 #include <inttypes.h>
5629 #include <linux/types.h>
5630 #include <linux/videodev2.h>
5631 #include <linux/version.h>
5633 #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,22)
5634 #error kernel headers too old, need 2.6.22
5636 struct v4l2_ext_controls ctrls;
5637 ctrls.ctrl_class = V4L2_CTRL_CLASS_MPEG;
5642 cc_check
&& _v4l2
=yes
5644 if test "$_v4l2" = yes ; then
5645 def_v4l2
='#define CONFIG_V4L2_DECODER 1'
5646 vomodules
="v4l2 $vomodules"
5647 aomodules
="v4l2 $aomodules"
5649 def_v4l2
='#undef CONFIG_V4L2_DECODER'
5650 novomodules
="v4l2 $novomodules"
5651 noaomodules
="v4l2 $noaomodules"
5662 echocheck
"OSS Audio"
5663 if test "$_ossaudio" = auto
; then
5665 #include <sys/ioctl.h>
5666 #include <$_soundcard_header>
5667 int main(void) { int arg = SNDCTL_DSP_SETFRAGMENT; return 0; }
5670 cc_check
&& _ossaudio
=yes
5672 if test "$_ossaudio" = yes ; then
5673 def_ossaudio
='#define CONFIG_OSS_AUDIO 1'
5674 aomodules
="oss $aomodules"
5675 if test "$_linux_devfs" = yes; then
5676 def_ossaudio_devdsp
='#define PATH_DEV_DSP "/dev/sound/dsp"'
5677 def_ossaudio_devmixer
='#define PATH_DEV_MIXER "/dev/sound/mixer"'
5680 #include <sys/ioctl.h>
5681 #include <$_soundcard_header>
5682 #ifdef OPEN_SOUND_SYSTEM
5683 int main(void) { return 0; }
5685 #error Not the real thing
5689 cc_check
&& _real_ossaudio
=yes
5690 if test "$_real_ossaudio" = yes; then
5691 def_ossaudio_devdsp
='#define PATH_DEV_DSP "/dev/dsp"'
5692 elif netbsd || openbsd
; then
5693 def_ossaudio_devdsp
='#define PATH_DEV_DSP "/dev/sound"'
5694 extra_ldflags
="$extra_ldflags -lossaudio"
5696 def_ossaudio_devdsp
='#define PATH_DEV_DSP "/dev/dsp"'
5698 def_ossaudio_devmixer
='#define PATH_DEV_MIXER "/dev/mixer"'
5701 def_ossaudio
='#undef CONFIG_OSS_AUDIO'
5702 def_ossaudio_devdsp
='#define PATH_DEV_DSP ""'
5703 def_ossaudio_devmixer
='#define PATH_DEV_MIXER ""'
5704 noaomodules
="oss $noaomodules"
5706 echores
"$_ossaudio"
5710 if test "$_arts" = auto
; then
5712 if ( artsc-config
--version ) >> "$TMPLOG" 2>&1 ; then
5716 int main(void) { return 0; }
5718 cc_check $
(artsc-config
--libs) $
(artsc-config
--cflags) && _arts
=yes
5723 if test "$_arts" = yes ; then
5724 def_arts
='#define CONFIG_ARTS 1'
5725 aomodules
="arts $aomodules"
5726 libs_mplayer
="$libs_mplayer $(artsc-config --libs)"
5727 extra_cflags
="$extra_cflags $(artsc-config --cflags)"
5729 noaomodules
="arts $noaomodules"
5735 if test "$_esd" = auto
; then
5737 if ( esd-config
--version ) >> "$TMPLOG" 2>&1 ; then
5741 int main(void) { int fd = esd_open_sound("test"); return fd; }
5743 cc_check $
(esd-config
--libs) $
(esd-config
--cflags) && _esd
=yes
5749 if test "$_esd" = yes ; then
5750 def_esd
='#define CONFIG_ESD 1'
5751 aomodules
="esd $aomodules"
5752 libs_mplayer
="$libs_mplayer $(esd-config --libs)"
5753 extra_cflags
="$extra_cflags $(esd-config --cflags)"
5755 echocheck
"esd_get_latency()"
5758 int main(void) { return esd_get_latency(0); }
5760 cc_check $
(esd-config
--libs) $
(esd-config
--cflags) && _esd_latency
=yes && def_esd_latency
='#define CONFIG_ESD_LATENCY 1'
5761 echores
"$_esd_latency"
5763 def_esd
='#undef CONFIG_ESD'
5764 def_esd_latency
='#undef CONFIG_ESD_LATENCY'
5765 noaomodules
="esd $noaomodules"
5770 if test "$_nas" = auto
; then
5772 #include <audio/audiolib.h>
5773 int main(void) { return 0; }
5776 cc_check
$_ld_lm -laudio -lXt && _nas
=yes
5778 if test "$_nas" = yes ; then
5779 def_nas
='#define CONFIG_NAS 1'
5780 libs_mplayer
="$libs_mplayer -laudio -lXt"
5781 aomodules
="nas $aomodules"
5783 noaomodules
="nas $noaomodules"
5784 def_nas
='#undef CONFIG_NAS'
5790 if test "$_pulse" = auto
; then
5792 if $_pkg_config --exists 'libpulse >= 0.9' ; then
5795 #include <pulse/pulseaudio.h>
5796 int main(void) { return 0; }
5798 cc_check $
($_pkg_config --libs --cflags libpulse
) && _pulse
=yes
5804 if test "$_pulse" = yes ; then
5805 def_pulse
='#define CONFIG_PULSE 1'
5806 aomodules
="pulse $aomodules"
5807 libs_mplayer
="$libs_mplayer $($_pkg_config --libs libpulse)"
5808 extra_cflags
="$extra_cflags $($_pkg_config --cflags libpulse)"
5810 def_pulse
='#undef CONFIG_PULSE'
5811 noaomodules
="pulse $noaomodules"
5816 if test "$_jack" = auto
; then
5820 #include <jack/jack.h>
5821 int main(void) { jack_client_open("test", JackUseExactName, NULL); return 0; }
5823 if cc_check
-ljack ; then
5824 libs_mplayer
="$libs_mplayer -ljack"
5825 elif cc_check $
($_pkg_config --libs --cflags --silence-errors jack
) ; then
5826 libs_mplayer
="$libs_mplayer $($_pkg_config --libs jack)"
5827 extra_cflags
="$extra_cflags "$
($_pkg_config --cflags jack
)""
5833 if test "$_jack" = yes ; then
5834 def_jack
='#define CONFIG_JACK 1'
5835 aomodules
="jack $aomodules"
5837 noaomodules
="jack $noaomodules"
5842 if test "$_openal" = auto
; then
5846 #include <OpenAL/al.h>
5851 alSourceQueueBuffers(0, 0, 0);
5852 // alGetSourcei(0, AL_SAMPLE_OFFSET, 0);
5856 for I
in "-lopenal" "-lopenal32" "-framework OpenAL" ; do
5857 cc_check
$I && _openal
=yes && break
5858 cc_check
-DOPENAL_AL_H=1 $I && def_openal_h
='#define OPENAL_AL_H 1' && _openal
=yes && break
5860 test "$_openal" = yes && libs_mplayer
="$libs_mplayer $I"
5862 if test "$_openal" = yes ; then
5863 def_openal
='#define CONFIG_OPENAL 1'
5864 aomodules
="openal $aomodules"
5866 noaomodules
="openal $noaomodules"
5870 echocheck
"ALSA audio"
5871 if test "$_alloca" != yes ; then
5873 res_comment
="alloca missing"
5875 if test "$_alsa" != no
; then
5878 #include <sys/time.h>
5879 #include <sys/asoundlib.h>
5880 #if !((SND_LIB_MAJOR == 0) && (SND_LIB_MINOR == 5))
5881 #error "alsa version != 0.5.x"
5883 int main(void) { return 0; }
5885 cc_check
-lasound $_ld_dl $_ld_pthread && _alsaver
='0.5.x'
5888 #include <sys/time.h>
5889 #include <sys/asoundlib.h>
5890 #if !((SND_LIB_MAJOR == 0) && (SND_LIB_MINOR == 9))
5891 #error "alsa version != 0.9.x"
5893 int main(void) { return 0; }
5895 cc_check
-lasound $_ld_dl $_ld_pthread && _alsaver
='0.9.x-sys'
5897 #include <sys/time.h>
5898 #include <alsa/asoundlib.h>
5899 #if !((SND_LIB_MAJOR == 0) && (SND_LIB_MINOR == 9))
5900 #error "alsa version != 0.9.x"
5902 int main(void) { return 0; }
5904 cc_check
-lasound $_ld_dl $_ld_pthread && _alsaver
='0.9.x-alsa'
5907 #include <sys/time.h>
5908 #include <sys/asoundlib.h>
5909 #if !((SND_LIB_MAJOR == 1) && (SND_LIB_MINOR == 0))
5910 #error "alsa version != 1.0.x"
5912 int main(void) { return 0; }
5914 cc_check
-lasound $_ld_dl $_ld_pthread && _alsaver
='1.0.x-sys'
5916 #include <sys/time.h>
5917 #include <alsa/asoundlib.h>
5918 #if !((SND_LIB_MAJOR == 1) && (SND_LIB_MINOR == 0))
5919 #error "alsa version != 1.0.x"
5921 int main(void) { return 0; }
5923 cc_check
-lasound $_ld_dl $_ld_pthread && _alsaver
='1.0.x-alsa'
5925 def_alsa
='#undef CONFIG_ALSA'
5926 def_alsa5
='#undef CONFIG_ALSA5'
5927 def_alsa9
='#undef CONFIG_ALSA9'
5928 def_alsa1x
='#undef CONFIG_ALSA1X'
5929 def_sys_asoundlib_h
='#undef HAVE_SYS_ASOUNDLIB_H'
5930 def_alsa_asoundlib_h
='#undef HAVE_ALSA_ASOUNDLIB_H'
5931 if test "$_alsaver" ; then
5933 if test "$_alsaver" = '0.5.x' ; then
5935 aomodules
="alsa5 $aomodules"
5936 def_alsa5
='#define CONFIG_ALSA5 1'
5937 def_sys_asoundlib_h
='#define HAVE_SYS_ASOUNDLIB_H 1'
5938 res_comment
="using alsa 0.5.x and sys/asoundlib.h"
5939 elif test "$_alsaver" = '0.9.x-sys' ; then
5941 aomodules
="alsa $aomodules"
5942 def_alsa
='#define CONFIG_ALSA 1'
5943 def_alsa9
='#define CONFIG_ALSA9 1'
5944 def_sys_asoundlib_h
='#define HAVE_SYS_ASOUNDLIB_H 1'
5945 res_comment
="using alsa 0.9.x and sys/asoundlib.h"
5946 elif test "$_alsaver" = '0.9.x-alsa' ; then
5948 aomodules
="alsa $aomodules"
5949 def_alsa
='#define CONFIG_ALSA 1'
5950 def_alsa9
='#define CONFIG_ALSA9 1'
5951 def_alsa_asoundlib_h
='#define HAVE_ALSA_ASOUNDLIB_H 1'
5952 res_comment
="using alsa 0.9.x and alsa/asoundlib.h"
5953 elif test "$_alsaver" = '1.0.x-sys' ; then
5955 aomodules
="alsa $aomodules"
5956 def_alsa
='#define CONFIG_ALSA 1'
5957 def_alsa1x
="#define CONFIG_ALSA1X 1"
5958 def_alsa_asoundlib_h
='#define HAVE_SYS_ASOUNDLIB_H 1'
5959 res_comment
="using alsa 1.0.x and sys/asoundlib.h"
5960 elif test "$_alsaver" = '1.0.x-alsa' ; then
5962 aomodules
="alsa $aomodules"
5963 def_alsa
='#define CONFIG_ALSA 1'
5964 def_alsa1x
="#define CONFIG_ALSA1X 1"
5965 def_alsa_asoundlib_h
='#define HAVE_ALSA_ASOUNDLIB_H 1'
5966 res_comment
="using alsa 1.0.x and alsa/asoundlib.h"
5969 res_comment
="unknown version"
5971 extra_ldflags
="$extra_ldflags -lasound $_ld_dl $_ld_pthread"
5973 noaomodules
="alsa $noaomodules"
5978 echocheck
"Sun audio"
5979 if test "$_sunaudio" = auto
; then
5981 #include <sys/types.h>
5982 #include <sys/audioio.h>
5983 int main(void) { audio_info_t info; AUDIO_INITINFO(&info); return 0; }
5986 cc_check
&& _sunaudio
=yes
5988 if test "$_sunaudio" = yes ; then
5989 def_sunaudio
='#define CONFIG_SUN_AUDIO 1'
5990 aomodules
="sun $aomodules"
5992 def_sunaudio
='#undef CONFIG_SUN_AUDIO'
5993 noaomodules
="sun $noaomodules"
5995 echores
"$_sunaudio"
5998 def_mlib
='#define CONFIG_MLIB 0'
6000 echocheck
"Sun mediaLib"
6001 if test "$_mlib" = auto
; then
6005 int main(void) { mlib_VideoColorYUV2ABGR420(0,0,0,0,0,0,0,0,0); return 0; }
6007 cc_check
-lmlib && _mlib
=yes && def_mlib
='#define CONFIG_MLIB 1'
6014 echocheck
"CoreAudio"
6015 if test "$_coreaudio" = auto
; then
6017 #include <CoreAudio/CoreAudio.h>
6018 #include <AudioToolbox/AudioToolbox.h>
6019 #include <AudioUnit/AudioUnit.h>
6020 int main(void) { return 0; }
6023 cc_check
-framework CoreAudio
-framework AudioUnit
-framework AudioToolbox
&& _coreaudio
=yes
6025 if test "$_coreaudio" = yes ; then
6026 libs_mplayer
="$libs_mplayer -framework CoreAudio -framework AudioUnit -framework AudioToolbox"
6027 def_coreaudio
='#define CONFIG_COREAUDIO 1'
6028 aomodules
="coreaudio $aomodules"
6030 def_coreaudio
='#undef CONFIG_COREAUDIO'
6031 noaomodules
="coreaudio $noaomodules"
6038 echocheck
"SGI audio"
6039 if test "$_sgiaudio" = auto
; then
6040 # check for SGI audio
6042 #include <dmedia/audio.h>
6043 int main(void) { return 0; }
6046 cc_check
&& _sgiaudio
=yes
6048 if test "$_sgiaudio" = "yes" ; then
6049 def_sgiaudio
='#define CONFIG_SGI_AUDIO 1'
6050 libs_mplayer
="$libs_mplayer -laudio"
6051 aomodules
="sgi $aomodules"
6053 def_sgiaudio
='#undef CONFIG_SGI_AUDIO'
6054 noaomodules
="sgi $noaomodules"
6056 echores
"$_sgiaudio"
6061 echocheck
"KAI (UNIAUD/DART)"
6062 if test "$_kai" = auto
; then
6066 int main(void) { return 0; }
6069 cc_check
-lkai && _kai
=yes
6071 if test "$_kai" = yes ; then
6072 def_kai
='#define CONFIG_KAI 1'
6073 libs_mplayer
="$libs_mplayer -lkai"
6074 aomodules
="kai $aomodules"
6076 def_kai
='#undef CONFIG_KAI'
6077 noaomodules
="kai $noaomodules"
6082 if test "$_dart" = auto
; then
6086 int main( void ) { return 0; }
6089 cc_check
-ldart && _dart
=yes
6091 if test "$_dart" = yes ; then
6092 def_dart
='#define CONFIG_DART 1'
6093 libs_mplayer
="$libs_mplayer -ldart"
6094 aomodules
="dart $aomodules"
6096 def_dart
='#undef CONFIG_DART'
6097 noaomodules
="dart $noaomodules"
6103 # set default CD/DVD devices
6104 if win32 || os2
; then
6105 default_cdrom_device
="D:"
6107 default_cdrom_device
="/dev/disk1"
6108 elif dragonfly
; then
6109 default_cdrom_device
="/dev/cd0"
6111 default_cdrom_device
="/dev/acd0"
6113 default_cdrom_device
="/dev/rcd0a"
6115 default_cdrom_device
="/vol/dev/aliases/cdrom0"
6116 # Modern Solaris versions use HAL instead of the vold daemon, the volfs
6117 # file system and the volfs service.
6118 test -r "/cdrom/cdrom0" && default_cdrom_device
="/cdrom/cdrom0"
6120 default_cdrom_device
="a1ide.device:2"
6122 default_cdrom_device
="/dev/cdrom"
6125 if win32 || os2 || dragonfly || freebsd || openbsd || sunos || amigaos
; then
6126 default_dvd_device
=$default_cdrom_device
6128 default_dvd_device
="/dev/rdiskN"
6130 default_dvd_device
="/dev/dvd"
6134 echocheck
"VCD support"
6135 if test "$_vcd" = auto
; then
6137 if linux || freebsd || netbsd || openbsd || dragonfly || bsdos || darwin || sunos || os2
; then
6141 #include <ddk/ntddcdrm.h>
6142 int main(void) { return 0; }
6144 cc_check
&& _vcd
=yes
6147 if test "$_vcd" = yes; then
6148 inputmodules
="vcd $inputmodules"
6149 def_vcd
='#define CONFIG_VCD 1'
6151 def_vcd
='#undef CONFIG_VCD'
6152 noinputmodules
="vcd $noinputmodules"
6153 res_comment
="not supported on this OS"
6160 if test "$_dvdread_internal" = auto
; then
6161 _dvdread_internal
=no
6163 if (linux || freebsd || netbsd || openbsd || dragonfly || sunos || hpux
) \
6164 && (test "$_dvd" = yes ||
test "$_cdrom" = yes ||
test "$_cdio" = yes || \
6165 test "$_dvdio" = yes ||
test "$_bsdi_dvd" = yes) \
6166 || darwin || win32 || os2
; then
6167 _dvdread_internal
=yes
6169 extra_cflags
="-Ilibdvdread4 $extra_cflags"
6171 elif test "$_dvdread" = auto
; then
6173 if test "$_dl" = yes; then
6175 #include <inttypes.h>
6176 #include <dvdread/dvd_reader.h>
6177 #include <dvdread/ifo_types.h>
6178 #include <dvdread/ifo_read.h>
6179 #include <dvdread/nav_read.h>
6180 int main(void) { return 0; }
6182 _dvdreadcflags
=$
($_dvdreadconfig --cflags)
6183 _dvdreadlibs
=$
($_dvdreadconfig --libs)
6184 if cc_check
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE \
6185 $_dvdreadcflags $_dvdreadlibs $_ld_dl ; then
6187 extra_cflags
="$extra_cflags $_dvdreadcflags"
6188 extra_ldflags
="$extra_ldflags $_dvdreadlibs"
6189 res_comment
="external"
6194 if test "$_dvdread_internal" = yes; then
6195 def_dvdread
='#define CONFIG_DVDREAD 1'
6196 inputmodules
="dvdread(internal) $inputmodules"
6198 res_comment
="internal"
6199 elif test "$_dvdread" = yes; then
6200 def_dvdread
='#define CONFIG_DVDREAD 1'
6202 extra_ldflags
="$extra_ldflags -ldvdread"
6203 inputmodules
="dvdread(external) $inputmodules"
6204 res_comment
="external"
6206 def_dvdread
='#undef CONFIG_DVDREAD'
6207 noinputmodules
="dvdread $noinputmodules"
6212 echocheck
"internal libdvdcss"
6213 if test "$_libdvdcss_internal" = auto
; then
6214 _libdvdcss_internal
=no
6215 test "$_dvdread_internal" = yes && _libdvdcss_internal
=yes
6216 hpux
&& test "$_hpux_scsi_h" = no
&& _libdvdcss_internal
=no
6218 if test "$_libdvdcss_internal" = yes ; then
6219 if linux || netbsd || openbsd || bsdos
; then
6220 def_dvd_linux
='#define HAVE_LINUX_DVD_STRUCT 1'
6221 openbsd
&& def_dvd_openbsd
='#define HAVE_OPENBSD_DVD_STRUCT 1'
6222 elif freebsd || dragonfly
; then
6223 def_dvd_bsd
='#define HAVE_BSD_DVD_STRUCT 1'
6225 def_dvd_darwin
='#define DARWIN_DVD_IOCTL'
6226 extra_ldflags
="$extra_ldflags -framework IOKit -framework Carbon"
6228 cflags_libdvdcss
="-DSYS_CYGWIN -DWIN32"
6230 cflags_libdvdcss
="-DSYS_BEOS"
6232 cflags_libdvdcss
="-DSYS_OS2"
6234 cflags_libdvdcss_dvdread
="-Ilibdvdcss"
6235 def_dvdcss
="#define HAVE_DVDCSS_DVDCSS_H 1"
6236 inputmodules
="libdvdcss(internal) $inputmodules"
6239 noinputmodules
="libdvdcss(internal) $noinputmodules"
6241 echores
"$_libdvdcss_internal"
6244 echocheck
"cdparanoia"
6245 if test "$_cdparanoia" = auto
; then
6247 #include <cdda_interface.h>
6248 #include <cdda_paranoia.h>
6249 // This need a better test. How ?
6250 int main(void) { void *test = cdda_verbose_set; return test == (void *)1; }
6253 for _inc_tmp
in "" "-I/usr/include/cdda" "-I/usr/local/include/cdda" ; do
6254 cc_check
$_inc_tmp -lcdda_interface -lcdda_paranoia $_ld_lm && \
6255 _cdparanoia
=yes && extra_cflags
="$extra_cflags $_inc_tmp" && break
6258 if test "$_cdparanoia" = yes ; then
6260 extra_ldflags
="$extra_ldflags -lcdda_interface -lcdda_paranoia"
6261 openbsd
&& extra_ldflags
="$extra_ldflags -lutil"
6263 echores
"$_cdparanoia"
6267 if test "$_libcdio" = auto
&& test "$_cdparanoia" = no
; then
6270 #include <cdio/version.h>
6271 #include <cdio/cdda.h>
6272 #include <cdio/paranoia.h>
6274 void *test = cdda_verbose_set;
6275 printf("%s\n", CDIO_VERSION);
6276 return test == (void *)1;
6280 for _ld_tmp
in "" "-lwinmm" ; do
6281 _ld_tmp
="-lcdio_cdda -lcdio -lcdio_paranoia $_ld_tmp"
6282 cc_check
$_ld_tmp $_ld_lm \
6283 && _libcdio
=yes && extra_ldflags
="$extra_ldflags $_ld_tmp" && break
6285 if test "$_libcdio" = no
&& $_pkg_config --exists libcdio_paranoia
; then
6286 _inc_tmp
=$
($_pkg_config --cflags libcdio_paranoia
)
6287 _ld_tmp
=$
($_pkg_config --libs libcdio_paranoia
)
6288 cc_check
$_inc_tmp $_ld_tmp $_ld_lm && _libcdio
=yes \
6289 && extra_ldflags
="$extra_ldflags $_ld_tmp" && extra_cflags
="$extra_cflags $_inc_tmp"
6292 if test "$_libcdio" = yes && test "$_cdparanoia" = no
; then
6294 def_libcdio
='#define CONFIG_LIBCDIO 1'
6295 def_havelibcdio
='yes'
6297 if test "$_cdparanoia" = yes ; then
6298 res_comment
="using cdparanoia"
6300 def_libcdio
='#undef CONFIG_LIBCDIO'
6301 def_havelibcdio
='no'
6305 if test "$_cdda" = yes ; then
6306 test $_cddb = auto
&& test $_network = yes && _cddb
=yes
6307 def_cdparanoia
='#define CONFIG_CDDA 1'
6308 inputmodules
="cdda $inputmodules"
6310 def_cdparanoia
='#undef CONFIG_CDDA'
6311 noinputmodules
="cdda $noinputmodules"
6314 if test "$_cddb" = yes ; then
6315 def_cddb
='#define CONFIG_CDDB 1'
6316 inputmodules
="cddb $inputmodules"
6319 def_cddb
='#undef CONFIG_CDDB'
6320 noinputmodules
="cddb $noinputmodules"
6323 echocheck
"bitmap font support"
6324 if test "$_bitmap_font" = yes ; then
6325 def_bitmap_font
="#define CONFIG_BITMAP_FONT 1"
6327 def_bitmap_font
="#undef CONFIG_BITMAP_FONT"
6329 echores
"$_bitmap_font"
6332 echocheck
"freetype >= 2.0.9"
6334 # freetype depends on iconv
6335 if test "$_iconv" = no
; then
6337 res_comment
="iconv support needed"
6340 if test "$_freetype" = auto
; then
6341 if ( $_freetypeconfig --version ) >/dev
/null
2>&1 ; then
6344 #include <ft2build.h>
6345 #include FT_FREETYPE_H
6346 #if ((FREETYPE_MAJOR < 2) || ((FREETYPE_MINOR == 0) && (FREETYPE_PATCH < 9)))
6347 #error "Need FreeType 2.0.9 or newer"
6351 FT_Int major=-1,minor=-1,patch=-1;
6352 int err=FT_Init_FreeType(&library);
6357 cc_check $
($_freetypeconfig --cflags) $
($_freetypeconfig --libs) && _freetype
=yes
6362 if test "$_freetype" = yes ; then
6363 def_freetype
='#define CONFIG_FREETYPE 1'
6364 extra_cflags
="$extra_cflags $($_freetypeconfig --cflags)"
6365 extra_ldflags
="$extra_ldflags $($_freetypeconfig --libs)"
6367 def_freetype
='#undef CONFIG_FREETYPE'
6369 echores
"$_freetype"
6371 if test "$_freetype" = no
; then
6373 res_comment
="FreeType support needed"
6375 echocheck
"fontconfig"
6376 if test "$_fontconfig" = auto
; then
6380 #include <fontconfig/fontconfig.h>
6381 #if FC_VERSION < 20402
6382 #error At least version 2.4.2 of fontconfig required
6386 if (err == FcFalse) {
6387 printf("Couldn't initialize fontconfig lib\n");
6394 for _ld_tmp
in "" "-lexpat -lfreetype" "-lexpat -lfreetype -lz" "-lexpat -lfreetype -lz -liconv" ; do
6395 _ld_tmp
="-lfontconfig $_ld_tmp"
6396 cc_check
$_ld_tmp && _fontconfig
=yes && extra_ldflags
="$extra_ldflags $_ld_tmp" && break
6398 if test "$_fontconfig" = no
&& $_pkg_config --exists fontconfig
; then
6399 _inc_tmp
=$
($_pkg_config --cflags fontconfig
)
6400 _ld_tmp
=$
($_pkg_config --libs fontconfig
)
6401 cc_check
$_inc_tmp $_ld_tmp && _fontconfig
=yes \
6402 && extra_ldflags
="$extra_ldflags $_ld_tmp" && extra_cflags
="$extra_cflags $_inc_tmp"
6405 if test "$_fontconfig" = yes ; then
6406 def_fontconfig
='#define CONFIG_FONTCONFIG 1'
6408 def_fontconfig
='#undef CONFIG_FONTCONFIG'
6410 echores
"$_fontconfig"
6413 echocheck
"SSA/ASS support"
6414 # libass depends on FreeType
6415 if test "$_freetype" = no
; then
6418 res_comment
="FreeType support needed"
6421 if test "$_ass" = auto
; then
6423 #include <ft2build.h>
6424 #include FT_FREETYPE_H
6425 #if ((FREETYPE_MAJOR < 2) || (FREETYPE_MINOR < 2) || ((FREETYPE_MINOR == 2) && (FREETYPE_PATCH < 1)))
6426 #error "Need FreeType 2.2.1 or newer"
6428 int main(void) { return 0; }
6431 cc_check $
($_freetypeconfig --cflags) $
($_freetypeconfig --libs) && _ass
=yes
6432 if test "$_ass" = no
; then
6434 res_comment
="FreeType >= 2.2.1 needed"
6435 elif test "$ass_internal" = no
; then
6437 #include <ass/ass.h>
6439 #if defined(LIBASS_VERSION) && LIBASS_VERSION >= 0x00907010
6440 ass_process_force_style(0);
6442 process_force_style(0);
6447 if cc_check
-lass ; then
6448 res_comment
="external"
6449 extra_ldflags
="$extra_ldflags -lass"
6455 if test "$_ass" = yes ; then
6456 def_ass
='#define CONFIG_ASS 1'
6458 def_ass
='#undef CONFIG_ASS'
6460 if test "$ass_internal" = yes ; then
6461 def_ass_internal
='#define CONFIG_ASS_INTERNAL 1'
6463 def_ass_internal
='#undef CONFIG_ASS_INTERNAL'
6468 echocheck
"fribidi with charsets"
6471 if test "$_fribidi" = auto
; then
6475 /* workaround for fribidi 0.10.4 and below */
6476 #define FRIBIDI_CHARSET_UTF8 FRIBIDI_CHAR_SET_UTF8
6477 #include <fribidi/fribidi.h>
6479 if (fribidi_parse_charset("UTF-8") != FRIBIDI_CHAR_SET_UTF8) {
6480 printf("Fribidi headers are not consistents with the library!\n");
6489 cc_check
$_inc_tmp $_ld_tmp && _fribidi
=yes
6490 if $_pkg_config --exists fribidi
> /dev
/null
2>&1 &&
6491 test "$_fribidi" = no
; then
6492 _inc_tmp
="$($_pkg_config --cflags)"
6493 _ld_tmp
="$($_pkg_config --libs)"
6494 cc_check
$_inc_tmp $_ld_tmp && _fribidi
=yes
6497 if test "$_fribidi" = yes ; then
6498 def_fribidi
='#define CONFIG_FRIBIDI 1'
6499 extra_cflags
="$extra_cflags $_inc_tmp"
6500 extra_ldflags
="$extra_ldflags $_ld_tmp"
6502 def_fribidi
='#undef CONFIG_FRIBIDI'
6508 if test "$_enca" = auto
; then
6510 #include <sys/types.h>
6515 langs = enca_get_languages(&langcnt);
6520 cc_check
-lenca $_ld_lm && _enca
=yes
6522 if test "$_enca" = yes ; then
6523 def_enca
='#define CONFIG_ENCA 1'
6524 extra_ldflags
="$extra_ldflags -lenca"
6526 def_enca
='#undef CONFIG_ENCA'
6534 int main(void) { (void) inflate(0, Z_NO_FLUSH); return 0; }
6537 cc_check
-lz && _zlib
=yes
6538 if test "$_zlib" = yes ; then
6539 def_zlib
='#define CONFIG_ZLIB 1'
6540 extra_ldflags
="$extra_ldflags -lz"
6542 def_zlib
='#define CONFIG_ZLIB 0'
6543 _libavdecoders
=$
(echo $_libavdecoders |
sed -e s
/FLASHSV_DECODER
// -e s
/PNG_DECODER
// -e s
/ZMBV_DECODER
// -e s
/ZLIB_DECODER
// -e s
/DXA_DECODER
// -e s
/TSCC_DECODER
//)
6544 _libavencoders
=$
(echo $_libavencoders |
sed -e s
/FLASHSV_ENCODER
// -e s
/PNG_ENCODER
// -e s
/ZMBV_ENCODER
// -e s
/ZLIB_ENCODER
//)
6551 def_bzlib
='#define CONFIG_BZLIB 0'
6554 int main(void) { BZ2_bzlibVersion(); return 0; }
6556 cc_check
-lbz2 && bzlib
=yes
6557 if test "$bzlib" = yes ; then
6558 def_bzlib
='#define CONFIG_BZLIB 1'
6559 extra_ldflags
="$extra_ldflags -lbz2"
6565 if test "$_rtc" = auto
; then
6567 #include <sys/ioctl.h>
6569 #include <linux/rtc.h>
6572 #define RTC_PIE_ON RTCIO_PIE_ON
6574 int main(void) { return RTC_PIE_ON; }
6577 cc_check
&& _rtc
=yes
6580 if test "$_rtc" = yes ; then
6581 def_rtc
='#define HAVE_RTC 1'
6583 def_rtc
='#undef HAVE_RTC'
6588 echocheck
"liblzo2 support"
6589 if test "$_liblzo" = auto
; then
6592 #include <lzo/lzo1x.h>
6593 int main(void) { lzo_init();return 0; }
6595 cc_check
-llzo2 && _liblzo
=yes
6597 if test "$_liblzo" = yes ; then
6598 def_liblzo
='#define CONFIG_LIBLZO 1'
6599 extra_ldflags
="$extra_ldflags -llzo2"
6600 codecmodules
="liblzo $codecmodules"
6602 def_liblzo
='#undef CONFIG_LIBLZO'
6603 nocodecmodules
="liblzo $nocodecmodules"
6608 echocheck
"mad support"
6609 if test "$_mad" = auto
; then
6613 int main(void) { return 0; }
6615 cc_check
-lmad && _mad
=yes
6617 if test "$_mad" = yes ; then
6618 def_mad
='#define CONFIG_LIBMAD 1'
6619 extra_ldflags
="$extra_ldflags -lmad"
6620 codecmodules
="libmad $codecmodules"
6622 def_mad
='#undef CONFIG_LIBMAD'
6623 nocodecmodules
="libmad $nocodecmodules"
6628 if test "$_twolame" = auto
; then
6630 #include <twolame.h>
6631 int main(void) { twolame_init(); return 0; }
6634 cc_check
-ltwolame $_ld_lm && _twolame
=yes
6636 if test "$_twolame" = yes ; then
6637 def_twolame
='#define CONFIG_TWOLAME 1'
6638 libs_mencoder
="$libs_mencoder -ltwolame"
6639 codecmodules
="twolame $codecmodules"
6641 def_twolame
='#undef CONFIG_TWOLAME'
6642 nocodecmodules
="twolame $nocodecmodules"
6647 if test "$_toolame" = auto
; then
6649 if test "$_twolame" = yes ; then
6650 res_comment
="disabled by twolame"
6653 #include <toolame.h>
6654 int main(void) { toolame_init(); return 0; }
6656 cc_check
-ltoolame $_ld_lm && _toolame
=yes
6659 if test "$_toolame" = yes ; then
6660 def_toolame
='#define CONFIG_TOOLAME 1'
6661 libs_mencoder
="$libs_mencoder -ltoolame"
6662 codecmodules
="toolame $codecmodules"
6664 def_toolame
='#undef CONFIG_TOOLAME'
6665 nocodecmodules
="toolame $nocodecmodules"
6667 if test "$_toolamedir" ; then
6668 res_comment
="using $_toolamedir"
6672 echocheck
"OggVorbis support"
6673 if test "$_tremor_internal" = yes; then
6675 elif test "$_tremor" = auto
; then
6678 #include <tremor/ivorbiscodec.h>
6679 int main(void) { vorbis_packet_blocksize(0,0); return 0; }
6681 cc_check
-logg -lvorbisidec $_ld_lm && _tremor
=yes && _libvorbis
=no
6683 if test "$_libvorbis" = auto
; then
6686 #include <vorbis/codec.h>
6687 int main(void) { vorbis_packet_blocksize(0,0); return 0; }
6689 cc_check
-lvorbis -logg $_ld_lm && _libvorbis
=yes
6691 if test "$_tremor_internal" = yes ; then
6693 def_vorbis
='#define CONFIG_OGGVORBIS 1'
6694 def_tremor
='#define CONFIG_TREMOR 1'
6695 codecmodules
="tremor(internal) $codecmodules"
6696 res_comment
="internal Tremor"
6697 if test "$_tremor_low" = yes ; then
6698 cflags_tremor_low
="-D_LOW_ACCURACY_"
6699 res_comment
="internal low accuracy Tremor"
6701 elif test "$_tremor" = yes ; then
6703 def_vorbis
='#define CONFIG_OGGVORBIS 1'
6704 def_tremor
='#define CONFIG_TREMOR 1'
6705 codecmodules
="tremor(external) $codecmodules"
6706 res_comment
="external Tremor"
6707 extra_ldflags
="$extra_ldflags -logg -lvorbisidec"
6708 elif test "$_libvorbis" = yes ; then
6710 def_vorbis
='#define CONFIG_OGGVORBIS 1'
6711 codecmodules
="libvorbis $codecmodules"
6712 res_comment
="libvorbis"
6713 extra_ldflags
="$extra_ldflags -lvorbis -logg"
6716 nocodecmodules
="libvorbis $nocodecmodules"
6720 echocheck
"libspeex (version >= 1.1 required)"
6721 if test "$_speex" = auto
; then
6724 #include <speex/speex.h>
6725 int main(void) { SpeexBits bits; void *dec; speex_decode_int(dec, &bits, dec); return 0; }
6727 cc_check
-lspeex $_ld_lm && _speex
=yes
6729 if test "$_speex" = yes ; then
6730 def_speex
='#define CONFIG_SPEEX 1'
6731 extra_ldflags
="$extra_ldflags -lspeex"
6732 codecmodules
="speex $codecmodules"
6734 def_speex
='#undef CONFIG_SPEEX'
6735 nocodecmodules
="speex $nocodecmodules"
6739 echocheck
"OggTheora support"
6740 if test "$_theora" = auto
; then
6743 #include <theora/theora.h>
6746 /* Theora is in flux, make sure that all interface routines and datatypes
6747 * exist and work the way we expect it, so we don't break MPlayer. */
6756 theora_info_init(&inf);
6757 theora_comment_init(&tc);
6761 /* we don't want to execute this kind of nonsense; just for making sure
6762 * that compilation works... */
6763 memset(&op, 0, sizeof(op));
6764 r = theora_decode_header(&inf, &tc, &op);
6765 r = theora_decode_init(&st, &inf);
6766 t = theora_granule_time(&st, op.granulepos);
6767 r = theora_decode_packetin(&st, &op);
6768 r = theora_decode_YUVout(&st, &yuv);
6774 _ld_theora
=$
($_pkg_config --silence-errors --libs theora
)
6775 _inc_theora
=$
($_pkg_config --silence-errors --cflags theora
)
6776 cc_check
$_inc_theora $_ld_theora && extra_ldflags
="$extra_ldflags $_ld_theora" &&
6777 extra_cflags
="$extra_cflags $_inc_theora" && _theora
=yes
6778 if test _theora
= no
; then
6779 _ld_theora
="-ltheora -logg"
6780 cc_check
$_ld_theora && extra_ldflags
="$extra_ldflags $_ld_theora" && _theora
=yes
6782 if test "$_theora" = no
&& test "$_tremor_internal" = yes; then
6783 _ld_theora
=$
($_pkg_config --silence-errors --libs theora
)
6784 _inc_theora
=$
($_pkg_config --silence-errors --cflags theora
)
6785 cc_check tremor
/bitwise.c
$_inc_theora $_ld_theora &&
6786 extra_ldflags
="$extra_ldflags $_ld_theora" &&
6787 extra_cflags
="$extra_cflags $_inc_theora" && _theora
=yes
6788 if test _theora
= no
; then
6789 _ld_theora
="-ltheora -logg"
6790 cc_check tremor
/bitwise.c
$_ld_theora &&
6791 extra_ldflags
="$extra_ldflags $_ld_theora" && _theora
=yes
6795 if test "$_theora" = yes ; then
6796 def_theora
='#define CONFIG_OGGTHEORA 1'
6797 codecmodules
="libtheora $codecmodules"
6798 # when --enable-theora is forced, we'd better provide a probably sane
6799 # $_ld_theora than nothing
6800 test -z "$_ld_theora" && extra_ldflags
="$extra_ldflags -ltheora -logg"
6802 def_theora
='#undef CONFIG_OGGTHEORA'
6803 nocodecmodules
="libtheora $nocodecmodules"
6807 echocheck
"mp3lib support"
6808 if test "$_mp3lib" = auto
; then
6809 test "$cc_vendor" = intel
&& test "$_cc_major" -le 10 -o "$_cc_major" -eq 11 -a "$_cc_minor" -eq 0 && _mp3lib
=no || _mp3lib
=yes
6811 if test "$_mp3lib" = yes ; then
6812 def_mp3lib
='#define CONFIG_MP3LIB 1'
6813 codecmodules
="mp3lib(internal) $codecmodules"
6815 def_mp3lib
='#undef CONFIG_MP3LIB'
6816 nocodecmodules
="mp3lib(internal) $nocodecmodules"
6820 echocheck
"liba52 support"
6821 def_liba52
='#undef CONFIG_LIBA52'
6822 if test "$_liba52" = auto
; then
6825 #include <inttypes.h>
6826 #include <a52dec/a52.h>
6827 int main(void) { a52_state_t *testHand; testHand=a52_init(0); return 0; }
6829 cc_check
-la52 && _liba52
=yes && extra_ldflags
="$extra_ldflags -la52"
6831 if test "$_liba52" = yes ; then
6832 def_liba52
='#define CONFIG_LIBA52 1'
6833 codecmodules
="liba52 $codecmodules"
6835 nocodecmodules
="liba52 $nocodecmodules"
6839 echocheck
"internal libmpeg2 support"
6840 if test "$_libmpeg2" = auto
; then
6842 if alpha
&& test cc_vendor
=gnu
; then
6844 2*|
3.0*|
3.1*) # cannot compile MVI instructions
6846 res_comment
="broken gcc"
6851 if test "$_libmpeg2" = yes ; then
6852 def_libmpeg2
='#define CONFIG_LIBMPEG2 1'
6853 codecmodules
="libmpeg2(internal) $codecmodules"
6855 def_libmpeg2
='#undef CONFIG_LIBMPEG2'
6856 nocodecmodules
="libmpeg2(internal) $nocodecmodules"
6858 echores
"$_libmpeg2"
6860 echocheck
"libdca support"
6861 if test "$_libdca" = auto
; then
6864 #include <inttypes.h>
6866 int main(void) { dts_init(0); return 0; }
6868 for _ld_dca
in -ldca -ldts ; do
6869 cc_check
$_ld_dca $_ld_lm && extra_ldflags
="$extra_ldflags $_ld_dca" \
6870 && _libdca
=yes && break
6873 if test "$_libdca" = yes ; then
6874 def_libdca
='#define CONFIG_LIBDCA 1'
6875 codecmodules
="libdca $codecmodules"
6877 def_libdca
='#undef CONFIG_LIBDCA'
6878 nocodecmodules
="libdca $nocodecmodules"
6882 echocheck
"libmpcdec (musepack, version >= 1.2.1 required)"
6883 if test "$_musepack" = auto
; then
6887 #include <mpcdec/mpcdec.h>
6889 mpc_streaminfo info;
6890 mpc_decoder decoder;
6891 mpc_decoder_set_streaminfo(&decoder, &info);
6892 mpc_decoder_decode_frame(&decoder, NULL, 0, NULL);
6896 cc_check
-lmpcdec $_ld_lm && _musepack
=yes
6898 if test "$_musepack" = yes ; then
6899 def_musepack
='#define CONFIG_MUSEPACK 1'
6900 extra_ldflags
="$extra_ldflags -lmpcdec"
6901 codecmodules
="musepack $codecmodules"
6903 def_musepack
='#undef CONFIG_MUSEPACK'
6904 nocodecmodules
="musepack $nocodecmodules"
6906 echores
"$_musepack"
6909 echocheck
"FAAC support"
6910 if test "$_faac" = auto
; then
6912 #include <inttypes.h>
6914 int main(void) { unsigned long x, y; faacEncOpen(48000, 2, &x, &y); return 0; }
6917 for _ld_faac
in "-lfaac" "-lfaac -lmp4v2 -lstdc++" ; do
6918 cc_check
$_ld_faac $_ld_lm && libs_mencoder
="$libs_mencoder $_ld_faac" && _faac
=yes && break
6921 if test "$_faac" = yes ; then
6922 def_faac
="#define CONFIG_FAAC 1"
6923 test "$_faac_lavc" = auto
&& _faac_lavc
=yes
6924 if test "$_faac_lavc" = yes ; then
6925 def_faac_lavc
="#define CONFIG_LIBFAAC 1"
6926 libs_mplayer
="$libs_mplayer $_ld_faac"
6927 _libavencoders
="$_libavencoders LIBFAAC_ENCODER"
6929 codecmodules
="faac $codecmodules"
6932 def_faac
="#undef CONFIG_FAAC"
6933 def_faac_lavc
="#define CONFIG_LIBFAAC 0"
6934 nocodecmodules
="faac $nocodecmodules"
6936 res_comment
="in libavcodec: $_faac_lavc"
6940 echocheck
"FAAD2 support"
6941 if test "$_faad_internal" = auto
; then
6942 if x86_32
&& test cc_vendor
=gnu
; then
6944 3.1*|
3.2) # ICE/insn with these versions
6946 res_comment
="broken gcc"
6958 if test "$_faad" = auto
; then
6961 #ifndef FAAD_MIN_STREAMSIZE
6962 #error Too old version
6964 int main(void) { faacDecHandle testhand; faacDecFrameInfo testinfo;
6965 testhand = faacDecOpen(); faacDecInit(0, 0, 0, 0, 0); return 0; }
6967 cc_check
-lfaad $_ld_lm && _faad
=yes
6970 def_faad
='#undef CONFIG_FAAD'
6971 def_faad_internal
="#undef CONFIG_FAAD_INTERNAL"
6972 if test "$_faad_internal" = yes ; then
6973 def_faad_internal
="#define CONFIG_FAAD_INTERNAL 1"
6974 res_comment
="internal floating-point"
6975 if test "$_faad_fixed" = yes ; then
6976 # The FIXED_POINT implementation of FAAD2 improves performance
6977 # on some platforms, especially for SBR files.
6978 cflags_faad_fixed
="-DFIXED_POINT"
6979 res_comment
="internal fixed-point"
6981 elif test "$_faad" = yes ; then
6982 extra_ldflags
="$extra_ldflags -lfaad"
6985 if test "$_faad" = yes ; then
6986 def_faad
='#define CONFIG_FAAD 1'
6987 if test "$_faad_internal" = yes ; then
6988 codecmodules
="faad2(internal) $codecmodules"
6990 codecmodules
="faad2 $codecmodules"
6994 nocodecmodules
="faad2 $nocodecmodules"
6999 echocheck
"LADSPA plugin support"
7000 if test "$_ladspa" = auto
; then
7005 const LADSPA_Descriptor *ld = NULL;
7010 cc_check
&& _ladspa
=yes
7012 if test "$_ladspa" = yes; then
7013 def_ladspa
="#define CONFIG_LADSPA 1"
7015 def_ladspa
="#undef CONFIG_LADSPA"
7020 echocheck
"libbs2b audio filter support"
7021 if test "$_libbs2b" = auto
; then
7024 #if BS2B_VERSION_MAJOR < 3
7025 #error Please use libbs2b >= 3.0.0, older versions are not supported.
7035 if $_pkg_config --exists libbs2b
; then
7036 _inc_tmp
=$
($_pkg_config --cflags libbs2b
)
7037 _ld_tmp
=$
($_pkg_config --libs libbs2b
)
7038 cc_check
$_inc_tmp $_ld_tmp && extra_ldflags
="$extra_ldflags $_ld_tmp" &&
7039 extra_cflags
="$extra_cflags $_inc_tmp" && _libbs2b
=yes
7041 for _inc_tmp
in "" -I/usr
/include
/bs2b
-I/usr
/local
/include \
7042 -I/usr
/local
/include
/bs2b
; do
7043 if cc_check
$_inc_tmp $_ld_lm -lbs2b ; then
7044 extra_ldflags
="$extra_ldflags -lbs2b"
7045 extra_cflags
="$extra_cflags $_inc_tmp"
7052 def_libbs2b
="#undef CONFIG_LIBBS2B"
7053 test "$_libbs2b" = yes && def_libbs2b
="#define CONFIG_LIBBS2B 1"
7057 if test -z "$_codecsdir" ; then
7058 for dir
in "$_libdir/codecs" "$_libdir/win32" /usr
/local
/lib
/codecs \
7059 /usr
/lib
/codecs
/usr
/local
/lib
/win32
/usr
/lib
/win32
; do
7060 if test -d "$dir" ; then
7066 # Fall back on default directory.
7067 if test -z "$_codecsdir" ; then
7068 _codecsdir
="$_libdir/codecs"
7069 mingw32 || os2
&& _codecsdir
="codecs"
7073 echocheck
"Win32 codecs"
7074 if test "$_win32dll" = auto
; then
7076 if x86_32
&& ! qnx
; then
7080 if test "$_win32dll" = yes ; then
7081 def_win32dll
='#define CONFIG_WIN32DLL 1'
7083 def_win32_loader
='#define WIN32_LOADER 1'
7084 _win32_emulation
=yes
7086 extra_ldflags
="$extra_ldflags -ladvapi32 -lole32"
7087 res_comment
="using native windows"
7089 codecmodules
="win32 $codecmodules"
7091 def_win32dll
='#undef CONFIG_WIN32DLL'
7092 def_win32_loader
='#undef WIN32_LOADER'
7093 nocodecmodules
="win32 $nocodecmodules"
7095 echores
"$_win32dll"
7098 echocheck
"XAnim codecs"
7099 if test "$_xanim" = auto
; then
7101 res_comment
="dynamic loader support needed"
7102 if test "$_dl" = yes ; then
7106 if test "$_xanim" = yes ; then
7107 def_xanim
='#define CONFIG_XANIM 1'
7108 codecmodules
="xanim $codecmodules"
7110 def_xanim
='#undef CONFIG_XANIM'
7111 nocodecmodules
="xanim $nocodecmodules"
7116 echocheck
"RealPlayer codecs"
7117 if test "$_real" = auto
; then
7119 res_comment
="dynamic loader support needed"
7120 if test "$_dl" = yes ||
test "$_win32dll" = yes &&
7121 (linux || freebsd || netbsd || openbsd || dragonfly || darwin || win32 || os2
) ; then
7125 if test "$_real" = yes ; then
7126 def_real
='#define CONFIG_REALCODECS 1'
7127 codecmodules
="real $codecmodules"
7129 def_real
='#undef CONFIG_REALCODECS'
7130 nocodecmodules
="real $nocodecmodules"
7135 echocheck
"QuickTime codecs"
7137 def_qtx_win32
='#undef CONFIG_QTX_CODECS_WIN32'
7138 if test "$_qtx" = auto
; then
7139 test "$_win32dll" = yes ||
test "$quicktime" = yes && _qtx
=yes
7141 if test "$_qtx" = yes ; then
7142 def_qtx
='#define CONFIG_QTX_CODECS 1'
7143 win32
&& _qtx_codecs_win32
=yes && def_qtx_win32
='#define CONFIG_QTX_CODECS_WIN32 1'
7144 codecmodules
="qtx $codecmodules"
7145 darwin || win32 || _qtx_emulation
=yes
7147 def_qtx
='#undef CONFIG_QTX_CODECS'
7148 nocodecmodules
="qtx $nocodecmodules"
7152 echocheck
"Nemesi Streaming Media libraries"
7153 if test "$_nemesi" = auto
&& test "$_network" = yes ; then
7155 if $_pkg_config libnemesi
--atleast-version=0.6.3 ; then
7156 extra_cflags
="$extra_cflags $($_pkg_config --cflags libnemesi)"
7157 extra_ldflags
="$extra_ldflags $($_pkg_config --libs libnemesi)"
7161 if test "$_nemesi" = yes; then
7163 def_nemesi
='#define CONFIG_LIBNEMESI 1'
7164 inputmodules
="nemesi $inputmodules"
7166 _native_rtsp
="$_network"
7168 def_nemesi
='#undef CONFIG_LIBNEMESI'
7169 noinputmodules
="nemesi $noinputmodules"
7173 echocheck
"LIVE555 Streaming Media libraries"
7174 if test "$_live" = auto
&& test "$_network" = yes ; then
7175 cat > $TMPCPP << EOF
7176 #include <liveMedia.hh>
7177 #if (LIVEMEDIA_LIBRARY_VERSION_INT < 1141257600)
7178 #error Please upgrade to version 2006.03.03 or later of the "LIVE555 Streaming Media" libraries - available from <www.live555.com/liveMedia/>
7180 int main(void) { return 0; }
7184 for I
in $extra_cflags "-I$_libdir/live" "-I/usr/lib/live" "-I/usr/lib64/live" "-I/usr/local/live" "-I/usr/local/lib/live" ; do
7185 cxx_check
$I/liveMedia
/include
$I/UsageEnvironment
/include \
7186 $I/groupsock
/include
&& _livelibdir
=$
(echo $I|
sed s
/-I//) && \
7187 extra_ldflags
="$_livelibdir/liveMedia/libliveMedia.a \
7188 $_livelibdir/groupsock/libgroupsock.a \
7189 $_livelibdir/UsageEnvironment/libUsageEnvironment.a \
7190 $_livelibdir/BasicUsageEnvironment/libBasicUsageEnvironment.a \
7191 $extra_ldflags -lstdc++" \
7192 extra_cxxflags
="-I$_livelibdir/liveMedia/include \
7193 -I$_livelibdir/UsageEnvironment/include \
7194 -I$_livelibdir/BasicUsageEnvironment/include \
7195 -I$_livelibdir/groupsock/include" && \
7198 if test "$_live" != yes ; then
7199 ld_tmp
="-lliveMedia -lgroupsock -lUsageEnvironment -lBasicUsageEnvironment -lstdc++"
7200 if cxx_check
-I/usr
/include
/liveMedia
-I/usr
/include
/UsageEnvironment
-I/usr
/include
/groupsock
$ld_tmp; then
7205 if test "$_live" = yes && test "$_network" = yes; then
7206 test $_livelibdir && res_comment
="using $_livelibdir"
7207 def_live
='#define CONFIG_LIVE555 1'
7208 inputmodules
="live555 $inputmodules"
7209 elif test "$_live_dist" = yes && test "$_network" = yes; then
7210 res_comment
="using distribution version"
7212 def_live
='#define CONFIG_LIVE555 1'
7213 extra_ldflags
="$extra_ldflags $ld_tmp"
7214 extra_cxxflags
="-I/usr/include/liveMedia -I/usr/include/UsageEnvironment \
7215 -I/usr/include/BasicUsageEnvironment -I/usr/include/groupsock"
7216 inputmodules
="live555 $inputmodules"
7219 def_live
='#undef CONFIG_LIVE555'
7220 noinputmodules
="live555 $noinputmodules"
7224 echocheck
"RTMPDump Streaming Media library"
7225 if test "$_librtmp" = auto
&& test "$_network" = yes ; then
7227 #include <librtmp/rtmp.h>
7228 int main(void) { RTMP r; RTMP_Init(&r); return 0; }
7230 cc_check
-lrtmp && _librtmp
=yes && extra_ldflags
="$extra_ldflags -lrtmp"
7231 if test "$_librtmp" != yes && $_pkg_config --exists librtmp
; then
7232 _inc_tmp
=$
($_pkg_config --cflags librtmp
)
7233 _ld_tmp
=$
($_pkg_config --libs librtmp
)
7234 cc_check
$_inc_tmp $_ld_tmp && _librtmp
=yes && \
7235 extra_ldflags
="$extra_ldflags $_ld_tmp" && \
7236 extra_cflags
="$extra_cflags $_inc_tmp"
7239 if test "$_librtmp" = yes && test "$_network" = yes; then
7241 def_librtmp
='#define CONFIG_LIBRTMP 1'
7242 inputmodules
="librtmp $inputmodules"
7246 def_librtmp
='#undef CONFIG_LIBRTMP'
7247 noinputmodules
="librtmp $noinputmodules"
7251 echocheck
"FFmpeg libavutil"
7252 if test "$_libavutil_a" = auto
; then
7253 if test -d libavutil
; then
7255 res_comment
="static"
7257 die
"MPlayer will not compile without libavutil in the source tree."
7259 elif test "$_libavutil_so" = auto
; then
7262 #include <libavutil/common.h>
7263 int main(void) { av_clip(1, 1, 1); return 0; }
7265 if $_pkg_config --exists libavutil
; then
7266 _inc_libavutil
=$
($_pkg_config --cflags libavutil
)
7267 _ld_tmp
=$
($_pkg_config --libs libavutil
)
7268 cc_check
$_inc_libavutil $_ld_tmp && extra_ldflags
="$extra_ldflags $_ld_tmp" \
7269 && _libavutil_so
=yes
7270 elif cc_check
-lavutil $_ld_lm ; then
7271 extra_ldflags
="$extra_ldflags -lavutil"
7273 res_comment
="using libavutil.so, but static libavutil is recommended"
7277 def_libavutil
='#undef CONFIG_LIBAVUTIL'
7278 def_libavutil_a
='#undef CONFIG_LIBAVUTIL_A'
7279 def_libavutil_so
='#undef CONFIG_LIBAVUTIL_SO'
7280 test "$_libavutil_a" = yes ||
test "$_libavutil_so" = yes && _libavutil
=yes
7281 test "$_libavutil" = yes && def_libavutil
='#define CONFIG_LIBAVUTIL 1'
7282 test "$_libavutil_a" = yes && def_libavutil_a
='#define CONFIG_LIBAVUTIL_A 1'
7283 test "$_libavutil_so" = yes && def_libavutil_so
='#define CONFIG_LIBAVUTIL_SO 1'
7284 # neither static nor shared libavutil is available, but it is mandatory ...
7285 if test "$_libavutil" = no
; then
7286 die
"You need static or shared libavutil, MPlayer will not compile without!"
7288 echores
"$_libavutil"
7290 echocheck
"FFmpeg libavcodec"
7291 if test "$_libavcodec_a" = auto
; then
7293 if test -d libavcodec
&& test -f libavcodec
/utils.c
; then
7295 res_comment
="static"
7297 elif test "$_libavcodec_so" = auto
; then
7299 res_comment
="libavcodec.so is discouraged over static libavcodec"
7301 #include <libavcodec/avcodec.h>
7302 int main(void) { avcodec_find_encoder_by_name(""); return 0; }
7304 if $_pkg_config --exists libavcodec
; then
7305 _inc_libavcodec
=$
($_pkg_config --cflags libavcodec
)
7306 _ld_tmp
=$
($_pkg_config --libs libavcodec
)
7307 cc_check
$_inc_libavcodec $_ld_tmp && extra_ldflags
="$extra_ldflags $_ld_tmp" \
7308 && _libavcodec_so
=yes
7309 elif cc_check
-lavcodec $_ld_lm ; then
7310 extra_ldflags
="$extra_ldflags -lavcodec"
7312 res_comment
="using libavcodec.so, but static libavcodec is recommended"
7316 def_libavcodec
='#undef CONFIG_LIBAVCODEC'
7317 def_libavcodec_a
='#undef CONFIG_LIBAVCODEC_A'
7318 def_libavcodec_so
='#undef CONFIG_LIBAVCODEC_SO'
7319 test "$_libavcodec_a" = yes ||
test "$_libavcodec_so" = yes && _libavcodec
=yes
7320 test "$_libavcodec" = yes && def_libavcodec
='#define CONFIG_LIBAVCODEC 1'
7321 test "$_libavcodec_a" = yes && def_libavcodec_a
='#define CONFIG_LIBAVCODEC_A 1'
7322 test "$_libavcodec_so" = yes && def_libavcodec_so
='#define CONFIG_LIBAVCODEC_SO 1'
7323 test "$_libavcodec_mpegaudio_hp" = yes \
7324 && def_libavcodec_mpegaudio_hp
='#define CONFIG_MPEGAUDIO_HP 1' \
7325 && mak_libavcodec_mpegaudio_hp
='CONFIG_MPEGAUDIO_HP = yes'
7326 if test "$_libavcodec_a" = yes ; then
7327 codecmodules
="libavcodec(internal) $codecmodules"
7328 elif test "$_libavcodec_so" = yes ; then
7329 codecmodules
="libavcodec.so $codecmodules"
7331 nocodecmodules
="libavcodec $nocodecmodules"
7333 echores
"$_libavcodec"
7335 echocheck
"FFmpeg libavformat"
7336 if test "$_libavformat_a" = auto
; then
7338 if test -d libavformat
&& test -f libavformat
/utils.c
; then
7340 res_comment
="static"
7342 elif test "$_libavformat_so" = auto
; then
7345 #include <libavformat/avformat.h>
7346 #include <libavcodec/opt.h>
7347 int main(void) { av_alloc_format_context(); return 0; }
7349 if $_pkg_config --exists libavformat
; then
7350 _inc_libavformat
=$
($_pkg_config --cflags libavformat
)
7351 _ld_tmp
=$
($_pkg_config --libs libavformat
)
7352 cc_check
$_inc_libavformat $_ld_tmp && extra_ldflags
="$extra_ldflags $_ld_tmp" \
7353 && _libavformat_so
=yes
7354 elif cc_check
$_ld_lm -lavformat ; then
7355 extra_ldflags
="$extra_ldflags -lavformat"
7357 res_comment
="using libavformat.so, but static libavformat is recommended"
7361 def_libavformat
='#undef CONFIG_LIBAVFORMAT'
7362 def_libavformat_a
='#undef CONFIG_LIBAVFORMAT_A'
7363 def_libavformat_so
='#undef CONFIG_LIBAVFORMAT_SO'
7364 test "$_libavformat_a" = yes ||
test "$_libavformat_so" = yes && _libavformat
=yes
7365 test "$_libavformat" = yes && def_libavformat
='#define CONFIG_LIBAVFORMAT 1'
7366 test "$_libavformat_a" = yes && def_libavformat_a
='#define CONFIG_LIBAVFORMAT_A 1'
7367 test "$_libavformat_so" = yes \
7368 && def_libavformat_so
='#define CONFIG_LIBAVFORMAT_SO 1'
7369 echores
"$_libavformat"
7371 echocheck
"FFmpeg libpostproc"
7372 if test "$_libpostproc_a" = auto
; then
7374 if test -d libpostproc
&& test -f libpostproc
/postprocess.h
; then
7375 _libpostproc_a
='yes'
7376 res_comment
="static"
7378 elif test "$_libpostproc_so" = auto
; then
7381 #include <inttypes.h>
7382 #include <libpostproc/postprocess.h>
7383 int main(void) { pp_get_mode_by_name_and_quality("de", 0); return 0; }
7385 if cc_check
-lpostproc $_ld_lm ; then
7386 extra_ldflags
="$extra_ldflags -lpostproc"
7388 res_comment
="using libpostproc.so, but static libpostproc is recommended"
7392 def_libpostproc
='#undef CONFIG_LIBPOSTPROC'
7393 def_libpostproc_a
='#undef CONFIG_LIBPOSTPROC_A'
7394 def_libpostproc_so
='#undef CONFIG_LIBPOSTPROC_SO'
7395 test "$_libpostproc_a" = yes ||
test "$_libpostproc_so" = yes && _libpostproc
=yes
7396 test "$_libpostproc" = yes && def_libpostproc
='#define CONFIG_LIBPOSTPROC 1'
7397 test "$_libpostproc_a" = yes && def_libpostproc_a
='#define CONFIG_LIBPOSTPROC_A 1'
7398 test "$_libpostproc_so" = yes \
7399 && def_libpostproc_so
='#define CONFIG_LIBPOSTPROC_SO 1'
7400 echores
"$_libpostproc"
7402 echocheck
"FFmpeg libswscale"
7403 if test "$_libswscale_a" = auto
; then
7405 if test -d libswscale
&& test -f libswscale
/swscale.h
; then
7407 res_comment
="static"
7409 elif test "$_libswscale_so" = auto
; then
7411 res_comment
="using libswscale.so, but static libswscale is recommended"
7413 #include <libswscale/swscale.h>
7414 int main(void) { sws_scale(0, 0, 0, 0, 0, 0, 0); return 0; }
7416 if $_pkg_config --exists libswscale
; then
7417 _inc_libswscale
=$
($_pkg_config --cflags libswscale
)
7418 _ld_tmp
=$
($_pkg_config --libs libswscale
)
7419 cc_check
$_inc_libswscale $_ld_tmp && extra_ldflags
="$extra_ldflags $_ld_tmp" \
7420 && _libswscale_so
=yes
7421 elif cc_check
-lswscale ; then
7422 extra_ldflags
="$extra_ldflags -lswscale"
7427 def_libswscale
='#undef CONFIG_LIBSWSCALE'
7428 def_libswscale_a
='#undef CONFIG_LIBSWSCALE_A'
7429 def_libswscale_so
='#undef CONFIG_LIBSWSCALE_SO'
7430 test "$_libswscale_a" = yes ||
test "$_libswscale_so" = yes && _libswscale
=yes
7431 test "$_libswscale" = yes && def_libswscale
='#define CONFIG_LIBSWSCALE 1'
7432 test "$_libswscale_a" = yes && def_libswscale_a
='#define CONFIG_LIBSWSCALE_A 1'
7433 test "$_libswscale_so" = yes \
7434 && def_libswscale_so
='#define CONFIG_LIBSWSCALE_SO 1'
7435 echores
"$_libswscale"
7437 echocheck
"libopencore_amr narrowband"
7438 if test "$_libopencore_amrnb" = auto
; then
7439 _libopencore_amrnb
=no
7441 #include <opencore-amrnb/interf_dec.h>
7442 int main(void) { Decoder_Interface_init(); return 0; }
7444 cc_check
-lopencore-amrnb && _libopencore_amrnb
=yes
7445 if test "$_libavcodec_a" != yes ; then
7446 _libopencore_amrnb
=no
7447 res_comment
="libavcodec (static) is required by libopencore_amrnb, sorry"
7450 if test "$_libopencore_amrnb" = yes ; then
7451 _libopencore_amr
=yes
7452 extra_ldflags
="$extra_ldflags -lopencore-amrnb"
7453 def_libopencore_amrnb
='#define CONFIG_LIBOPENCORE_AMRNB 1'
7454 _libavdecoders
="$_libavdecoders LIBOPENCORE_AMRNB_DECODER"
7455 _libavencoders
="$_libavencoders LIBOPENCORE_AMRNB_ENCODER"
7456 codecmodules
="libopencore_amrnb $codecmodules"
7458 def_libopencore_amrnb
='#define CONFIG_LIBOPENCORE_AMRNB 0'
7459 nocodecmodules
="libopencore_amrnb $nocodecmodules"
7461 echores
"$_libopencore_amrnb"
7464 echocheck
"libopencore_amr wideband"
7465 if test "$_libopencore_amrwb" = auto
; then
7466 _libopencore_amrwb
=no
7468 #include <opencore-amrwb/dec_if.h>
7469 int main(void) { D_IF_init(); return 0; }
7471 cc_check
-lopencore-amrwb && _libopencore_amrwb
=yes
7472 if test "$_libavcodec_a" != yes ; then
7473 _libopencore_amrwb
=no
7474 res_comment
="libavcodec (static) is required by libopencore_amrwb, sorry"
7477 if test "$_libopencore_amrwb" = yes ; then
7478 _libopencore_amr
=yes
7479 extra_ldflags
="$extra_ldflags -lopencore-amrwb"
7480 def_libopencore_amrwb
='#define CONFIG_LIBOPENCORE_AMRWB 1'
7481 _libavdecoders
="$_libavdecoders LIBOPENCORE_AMRWB_DECODER"
7482 codecmodules
="libopencore_amrwb $codecmodules"
7484 def_libopencore_amrwb
='#define LIBOPENCORE_AMRWB 0'
7485 nocodecmodules
="libopencore_amrwb $nocodecmodules"
7487 echores
"$_libopencore_amrwb"
7489 echocheck
"libdv-0.9.5+"
7490 if test "$_libdv" = auto
; then
7493 #include <libdv/dv.h>
7494 int main(void) { dv_encoder_t* enc=dv_encoder_new(1,1,1); return 0; }
7496 cc_check
-ldv $_ld_pthread $_ld_lm && _libdv
=yes
7498 if test "$_libdv" = yes ; then
7499 def_libdv
='#define CONFIG_LIBDV095 1'
7500 extra_ldflags
="$extra_ldflags -ldv"
7501 codecmodules
="libdv $codecmodules"
7503 def_libdv
='#undef CONFIG_LIBDV095'
7504 nocodecmodules
="libdv $nocodecmodules"
7510 if test "$_xvid" = auto
; then
7514 int main(void) { xvid_global(0, 0, 0, 0); return 0; }
7516 for _ld_tmp
in "-lxvidcore $_ld_lm" "-lxvidcore $_ld_lm $_ld_pthread" ; do
7517 cc_check
$_ld_tmp && extra_ldflags
="$extra_ldflags $_ld_tmp" && _xvid
=yes && break
7521 if test "$_xvid" = yes ; then
7522 def_xvid
='#define CONFIG_XVID4 1'
7523 codecmodules
="xvid $codecmodules"
7525 def_xvid
='#undef CONFIG_XVID4'
7526 nocodecmodules
="xvid $nocodecmodules"
7530 echocheck
"Xvid two pass plugin"
7531 if test "$_xvid" = yes && test "$_xvid_lavc" = auto
; then
7534 int main(void) { xvid_plugin_2pass2_t s; s.vbv_size=0; return 0; }
7536 cc_check
&& _xvid_lavc
=yes
7538 if test "$_xvid_lavc" = yes ; then
7539 def_xvid_lavc
='#define CONFIG_LIBXVID 1'
7540 _libavencoders
="$_libavencoders LIBXVID_ENCODER"
7543 def_xvid_lavc
='#define CONFIG_LIBXVID 0'
7545 echores
"$_xvid_lavc"
7549 if test "$_x264" = auto
; then
7551 #include <inttypes.h>
7554 #error We do not support old versions of x264. Get the latest from git.
7556 int main(void) { x264_encoder_open((void*)0); return 0; }
7559 for _ld_x264
in "-lx264 $_ld_pthread" "-lx264 $_ld_pthread $_ld_lm" ; do
7560 cc_check
$_ld_x264 && libs_mencoder
="$libs_mencoder $_ld_x264" && _x264
=yes && break
7564 if test "$_x264" = yes ; then
7565 def_x264
='#define CONFIG_X264 1'
7566 codecmodules
="x264 $codecmodules"
7567 test "$_x264_lavc" = auto
&& _x264_lavc
=yes
7568 if test "$_x264_lavc" = yes ; then
7569 def_x264_lavc
='#define CONFIG_LIBX264 1'
7570 libs_mplayer
="$libs_mplayer $_ld_x264"
7571 _libavencoders
="$_libavencoders LIBX264_ENCODER"
7575 def_x264
='#undef CONFIG_X264'
7576 def_x264_lavc
='#define CONFIG_LIBX264 0'
7577 nocodecmodules
="x264 $nocodecmodules"
7579 res_comment
="in libavcodec: $_x264_lavc"
7583 echocheck
"libdirac"
7584 if test "$_libdirac_lavc" = auto
; then
7586 if test "$_libavcodec_a" != yes; then
7587 res_comment
="libavcodec (static) is required by libdirac, sorry"
7590 #include <libdirac_encoder/dirac_encoder.h>
7591 #include <libdirac_decoder/dirac_parser.h>
7594 dirac_encoder_context_t enc_ctx;
7595 dirac_decoder_t *dec_handle;
7596 dirac_encoder_context_init(&enc_ctx, VIDEO_FORMAT_SD_576I50);
7597 dec_handle = dirac_decoder_init(0);
7599 dirac_decoder_close(dec_handle);
7603 if $_pkg_config --exists dirac
; then
7604 _inc_dirac
=$
($_pkg_config --silence-errors --cflags dirac
)
7605 _ld_dirac
=$
($_pkg_config --silence-errors --libs dirac
)
7606 cc_check
$_inc_dirac $_ld_dirac &&
7607 _libdirac_lavc
=yes &&
7608 extra_cflags
="$extra_cflags $_inc_dirac" &&
7609 extra_ldflags
="$extra_ldflags $_ld_dirac"
7613 if test "$_libdirac_lavc" = yes ; then
7614 def_libdirac_lavc
='#define CONFIG_LIBDIRAC 1'
7615 _libavencoders
="$_libavencoders LIBDIRAC_ENCODER"
7616 _libavdecoders
="$_libavdecoders LIBDIRAC_DECODER"
7617 codecmodules
="libdirac $codecmodules"
7619 def_libdirac_lavc
='#define CONFIG_LIBDIRAC 0'
7620 nocodecmodules
="libdirac $nocodecmodules"
7622 echores
"$_libdirac_lavc"
7625 echocheck
"libschroedinger"
7626 if test "$_libschroedinger_lavc" = auto
; then
7627 _libschroedinger_lavc
=no
7628 if test "$_libavcodec_a" != yes; then
7629 res_comment
="libavcodec (static) is required by libschroedinger, sorry"
7632 #include <schroedinger/schro.h>
7633 int main(void) { schro_init(); return SCHRO_ENCODER_RATE_CONTROL_CONSTANT_QUALITY; }
7635 if $_pkg_config --exists schroedinger-1.0
; then
7636 _inc_schroedinger
=$
($_pkg_config --silence-errors --cflags schroedinger-1.0
)
7637 _ld_schroedinger
=$
($_pkg_config --silence-errors --libs schroedinger-1.0
)
7638 cc_check
$_inc_schroedinger $_ld_schroedinger &&
7639 _libschroedinger_lavc
=yes &&
7640 extra_cflags
="$extra_cflags $_inc_schroedinger" &&
7641 extra_ldflags
="$extra_ldflags $_ld_schroedinger"
7645 if test "$_libschroedinger_lavc" = yes ; then
7646 def_libschroedinger_lavc
='#define CONFIG_LIBSCHROEDINGER 1'
7647 _libavencoders
="$_libavencoders LIBSCHROEDINGER_ENCODER"
7648 _libavdecoders
="$_libavdecoders LIBSCHROEDINGER_DECODER"
7649 codecmodules
="libschroedinger $codecmodules"
7651 def_libschroedinger_lavc
='#define CONFIG_LIBSCHROEDINGER 0'
7652 nocodecmodules
="libschroedinger $nocodecmodules"
7654 echores
"$_libschroedinger_lavc"
7657 if test "$_libvpx_lavc" = auto
; then
7659 if test "$_libavcodec_a" != yes; then
7660 res_comment
="libavcodec (static) is required by libvpx, sorry"
7663 #include <vpx/vpx_decoder.h>
7664 #include <vpx/vp8dx.h>
7665 int main(void) { vpx_codec_dec_init(NULL, &vpx_codec_vp8_dx_algo, NULL, 0); return 0; }
7667 cc_check
-lvpx && _libvpx_lavc
=yes && extra_ldflags
="$extra_ldflags -lvpx"
7670 if test "$_libvpx_lavc" = yes ; then
7671 def_libvpx_lavc
='#define CONFIG_LIBVPX 1'
7672 _libavdecoders
="$_libavdecoders LIBVPX_DECODER"
7673 codecmodules
="libvpx $codecmodules"
7675 def_libvpx_lavc
='#define CONFIG_LIBVPX 0'
7676 nocodecmodules
="libvpx $nocodecmodules"
7678 echores
"$_libvpx_lavc"
7681 if test "$_libnut" = auto
; then
7685 #include <inttypes.h>
7687 nut_context_tt * nut;
7688 int main(void) { (void)nut_error(0); return 0; }
7691 cc_check
-lnut && _libnut
=yes
7694 if test "$_libnut" = yes ; then
7695 def_libnut
='#define CONFIG_LIBNUT 1'
7696 extra_ldflags
="$extra_ldflags -lnut"
7698 def_libnut
='#undef CONFIG_LIBNUT'
7702 #check must be done after libavcodec one
7704 if test "$_zr" = auto
; then
7705 #36067's seem to identify themselves as 36057PQC's, so the line
7706 #below should work for 36067's and 36057's.
7707 if grep -q -s -e "Multimedia video controller: Zoran Corporation ZR36057" /proc
/pci
; then
7713 if test "$_zr" = yes ; then
7714 if test "$_libavcodec_a" = yes ; then
7715 def_zr
='#define CONFIG_ZR 1'
7716 vomodules
="zr zr2 $vomodules"
7718 res_comment
="libavcodec (static) is required by zr, sorry"
7719 novomodules
="zr $novomodules"
7720 def_zr
='#undef CONFIG_ZR'
7723 def_zr
='#undef CONFIG_ZR'
7724 novomodules
="zr zr2 $novomodules"
7728 # mencoder requires (optional) those libs: libmp3lame
7729 if test "$_mencoder" != no
; then
7731 echocheck
"libmp3lame"
7732 def_mp3lame_preset
='#undef CONFIG_MP3LAME_PRESET'
7733 def_mp3lame_preset_medium
='#undef CONFIG_MP3LAME_PRESET_MEDIUM'
7734 if test "$_mp3lame" = auto
; then
7737 #include <lame/lame.h>
7738 int main(void) { lame_version_t lv; (void) lame_init();
7739 get_lame_version_numerical(&lv);
7742 cc_check
-lmp3lame $_ld_lm && _mp3lame
=yes
7744 if test "$_mp3lame" = yes ; then
7745 def_mp3lame
="#define CONFIG_MP3LAME 1"
7746 _ld_mp3lame
=-lmp3lame
7747 libs_mencoder
="$libs_mencoder $_ld_mp3lame"
7749 #include <lame/lame.h>
7750 int main(void) { lame_set_preset(NULL, STANDARD_FAST); return 0; }
7752 cc_check
$_ld_mp3lame $_ld_lm && def_mp3lame_preset
="#define CONFIG_MP3LAME_PRESET 1"
7754 #include <lame/lame.h>
7755 int main(void) { lame_set_preset(NULL, MEDIUM_FAST); return 0; }
7757 cc_check
$_ld_mp3lame $_ld_lm && def_mp3lame_preset_medium
="#define CONFIG_MP3LAME_PRESET_MEDIUM 1"
7758 test "$_mp3lame_lavc" = auto
&& _mp3lame_lavc
=yes
7759 if test "$_mp3lame_lavc" = yes ; then
7760 def_mp3lame_lavc
="#define CONFIG_LIBMP3LAME 1"
7761 _libavencoders
="$_libavencoders LIBMP3LAME_ENCODER"
7762 libs_mplayer
="$libs_mplayer $_ld_mp3lame"
7766 def_mp3lame
='#undef CONFIG_MP3LAME'
7767 def_mp3lame_lavc
="#define CONFIG_LIBMP3LAME 0"
7769 res_comment
="in libavcodec: $_mp3lame_lavc"
7772 fi # test "$_mencoder" != no
7774 echocheck
"mencoder"
7775 if test "$_mencoder" = yes ; then
7776 def_muxers
='#define CONFIG_MUXERS 1'
7778 # mpeg1video for vf_lavc, snow for vf_uspp / vf_mcdeint,
7779 # png for vf_screenshot, mjpeg for zr
7780 _libavencoders
="MPEG1VIDEO_ENCODER SNOW_ENCODER"
7781 test "$_zlib" = yes && _libavencoders
="$_libavencoders PNG_ENCODER"
7782 test "$_zr" = yes && _libavencoders
="$_libavencoders MJPEG_ENCODER"
7784 def_muxers
='#define CONFIG_MUXERS 0'
7786 echores
"$_mencoder"
7789 echocheck
"UnRAR executable"
7790 if test "$_unrar_exec" = auto
; then
7792 mingw32
&& _unrar_exec
="no"
7794 if test "$_unrar_exec" = yes ; then
7795 def_unrar_exec
='#define CONFIG_UNRAR_EXEC 1'
7797 def_unrar_exec
='#undef CONFIG_UNRAR_EXEC'
7799 echores
"$_unrar_exec"
7801 echocheck
"TV interface"
7802 if test "$_tv" = yes ; then
7803 def_tv
='#define CONFIG_TV 1'
7804 inputmodules
="tv $inputmodules"
7806 noinputmodules
="tv $noinputmodules"
7807 def_tv
='#undef CONFIG_TV'
7812 if freebsd || netbsd || openbsd || dragonfly || bsdos
; then
7813 echocheck
"*BSD BT848 bt8xx header"
7815 for file in "machine/ioctl_bt848.h" \
7816 "dev/bktr/ioctl_bt848.h" \
7817 "dev/video/bktr/ioctl_bt848.h" \
7818 "dev/ic/bt8xx.h" ; do
7820 #include <sys/types.h>
7821 #include <sys/ioctl.h>
7823 int main(void) { ioctl(0, TVTUNER_GETFREQ, 0); return 0; }
7827 _ioctl_bt848_h_name
="$file"
7831 if test "$_ioctl_bt848_h" = yes ; then
7832 def_ioctl_bt848_h_name
="#define IOCTL_BT848_H_NAME <$_ioctl_bt848_h_name>"
7833 res_comment
="using $_ioctl_bt848_h_name"
7835 def_ioctl_bt848_h_name
="#undef IOCTL_BT848_H_NAME"
7837 echores
"$_ioctl_bt848_h"
7839 echocheck
"*BSD ioctl_meteor.h"
7841 for file in "machine/ioctl_meteor.h" \
7842 "dev/bktr/ioctl_meteor.h" \
7843 "dev/video/bktr/ioctl_meteor.h" ; do
7845 #include <sys/types.h>
7847 int main(void) { ioctl(0, METEORSINPUT, 0); return 0; }
7851 _ioctl_meteor_h_name
="$file"
7855 if test "$_ioctl_meteor_h" = yes ; then
7856 def_ioctl_meteor_h_name
="#define IOCTL_METEOR_H_NAME <$_ioctl_meteor_h_name>"
7857 res_comment
="using $_ioctl_meteor_h_name"
7859 def_ioctl_meteor_h_name
="#undef IOCTL_METEOR_H_NAME"
7861 echores
"$_ioctl_meteor_h"
7863 echocheck
"*BSD BrookTree 848 TV interface"
7864 if test "$_tv_bsdbt848" = auto
; then
7866 if test "$_tv" = yes ; then
7868 #include <sys/types.h>
7869 $def_ioctl_meteor_h_name
7870 $def_ioctl_bt848_h_name
7871 #ifdef IOCTL_METEOR_H_NAME
7872 #include IOCTL_METEOR_H_NAME
7874 #ifdef IOCTL_BT848_H_NAME
7875 #include IOCTL_BT848_H_NAME
7878 ioctl(0, METEORSINPUT, 0);
7879 ioctl(0, TVTUNER_GETFREQ, 0);
7883 cc_check
&& _tv_bsdbt848
=yes
7886 if test "$_tv_bsdbt848" = yes ; then
7887 def_tv_bsdbt848
='#define CONFIG_TV_BSDBT848 1'
7888 inputmodules
="tv-bsdbt848 $inputmodules"
7890 def_tv_bsdbt848
='#undef CONFIG_TV_BSDBT848'
7891 noinputmodules
="tv-bsdbt848 $noinputmodules"
7893 echores
"$_tv_bsdbt848"
7894 fi #if freebsd || netbsd || openbsd || dragonfly || bsdos
7897 echocheck
"DirectShow TV interface"
7898 if test "$_tv_dshow" = auto
; then
7900 if test "$_tv" = yes && win32
; then
7905 CoCreateInstance((GUID*)&GUID_NULL, NULL, CLSCTX_INPROC_SERVER, &GUID_NULL, &p);
7909 cc_check
-lole32 -luuid && _tv_dshow
=yes
7912 if test "$_tv_dshow" = yes ; then
7913 inputmodules
="tv-dshow $inputmodules"
7914 def_tv_dshow
='#define CONFIG_TV_DSHOW 1'
7915 extra_ldflags
="$extra_ldflags -lole32 -luuid"
7917 noinputmodules
="tv-dshow $noinputmodules"
7918 def_tv_dshow
='#undef CONFIG_TV_DSHOW'
7920 echores
"$_tv_dshow"
7923 echocheck
"Video 4 Linux TV interface"
7924 if test "$_tv_v4l1" = auto
; then
7926 if test "$_tv" = yes && linux
; then
7929 #include <linux/videodev.h>
7930 int main(void) { return 0; }
7932 cc_check
&& _tv_v4l1
=yes
7935 if test "$_tv_v4l1" = yes ; then
7938 def_tv_v4l
='#define CONFIG_TV_V4L 1'
7939 def_tv_v4l1
='#define CONFIG_TV_V4L1 1'
7940 inputmodules
="tv-v4l $inputmodules"
7942 noinputmodules
="tv-v4l1 $noinputmodules"
7943 def_tv_v4l
='#undef CONFIG_TV_V4L'
7948 echocheck
"Video 4 Linux 2 TV interface"
7949 if test "$_tv_v4l2" = auto
; then
7951 if test "$_tv" = yes && linux
; then
7954 #include <linux/types.h>
7955 #include <linux/videodev2.h>
7956 int main(void) { return 0; }
7958 cc_check
&& _tv_v4l2
=yes
7961 if test "$_tv_v4l2" = yes ; then
7964 def_tv_v4l
='#define CONFIG_TV_V4L 1'
7965 def_tv_v4l2
='#define CONFIG_TV_V4L2 1'
7966 inputmodules
="tv-v4l2 $inputmodules"
7968 noinputmodules
="tv-v4l2 $noinputmodules"
7969 def_tv_v4l2
='#undef CONFIG_TV_V4L2'
7974 echocheck
"Radio interface"
7975 if test "$_radio" = yes ; then
7976 def_radio
='#define CONFIG_RADIO 1'
7977 inputmodules
="radio $inputmodules"
7978 if test "$_alsa9" != yes -a "$_alsa1x" != yes -a "$_ossaudio" != yes ; then
7981 if test "$_radio_capture" = yes ; then
7983 def_radio_capture
="#define CONFIG_RADIO_CAPTURE 1"
7985 def_radio_capture
="#undef CONFIG_RADIO_CAPTURE"
7988 noinputmodules
="radio $noinputmodules"
7989 def_radio
='#undef CONFIG_RADIO'
7990 def_radio_capture
="#undef CONFIG_RADIO_CAPTURE"
7994 echocheck
"Capture for Radio interface"
7995 echores
"$_radio_capture"
7997 echocheck
"Video 4 Linux 2 Radio interface"
7998 if test "$_radio_v4l2" = auto
; then
8000 if test "$_radio" = yes && linux
; then
8003 #include <linux/types.h>
8004 #include <linux/videodev2.h>
8005 int main(void) { return 0; }
8007 cc_check
&& _radio_v4l2
=yes
8010 if test "$_radio_v4l2" = yes ; then
8011 def_radio_v4l2
='#define CONFIG_RADIO_V4L2 1'
8013 def_radio_v4l2
='#undef CONFIG_RADIO_V4L2'
8015 echores
"$_radio_v4l2"
8017 echocheck
"Video 4 Linux Radio interface"
8018 if test "$_radio_v4l" = auto
; then
8020 if test "$_radio" = yes && linux
; then
8023 #include <linux/videodev.h>
8024 int main(void) { return 0; }
8026 cc_check
&& _radio_v4l
=yes
8029 if test "$_radio_v4l" = yes ; then
8030 def_radio_v4l
='#define CONFIG_RADIO_V4L 1'
8032 def_radio_v4l
='#undef CONFIG_RADIO_V4L'
8034 echores
"$_radio_v4l"
8036 if freebsd || netbsd || openbsd || dragonfly || bsdos \
8037 && test "$_radio" = yes && test "$_radio_bsdbt848" = auto
; then
8038 echocheck
"*BSD BrookTree 848 Radio interface"
8041 #include <sys/types.h>
8042 $def_ioctl_bt848_h_name
8043 #ifdef IOCTL_BT848_H_NAME
8044 #include IOCTL_BT848_H_NAME
8046 int main(void) { ioctl(0, RADIO_GETFREQ, 0); return 0; }
8048 cc_check
&& _radio_bsdbt848
=yes
8049 echores
"$_radio_bsdbt848"
8050 fi #if freebsd || netbsd || openbsd || dragonfly || bsdos && _radio && _radio_bsdbt848
8052 if test "$_radio_bsdbt848" = yes ; then
8053 def_radio_bsdbt848
='#define CONFIG_RADIO_BSDBT848 1'
8055 def_radio_bsdbt848
='#undef CONFIG_RADIO_BSDBT848'
8058 if test "$_radio_v4l" = no
&& test "$_radio_v4l2" = no
&& \
8059 test "$_radio_bsdbt848" = no
&& test "$_radio" = yes ; then
8060 die
"Radio driver requires BSD BT848, V4L or V4L2!"
8063 echocheck
"Video 4 Linux 2 MPEG PVR interface"
8064 if test "$_pvr" = auto
; then
8066 if test "$_tv_v4l2" = yes && linux
; then
8069 #include <inttypes.h>
8070 #include <linux/types.h>
8071 #include <linux/videodev2.h>
8072 int main(void) { struct v4l2_ext_controls ext; return ext.controls->value; }
8074 cc_check
&& _pvr
=yes
8077 if test "$_pvr" = yes ; then
8078 def_pvr
='#define CONFIG_PVR 1'
8079 inputmodules
="pvr $inputmodules"
8081 noinputmodules
="pvr $noinputmodules"
8082 def_pvr
='#undef CONFIG_PVR'
8088 if ! beos
&& test "$_ftp" = yes ; then
8089 def_ftp
='#define CONFIG_FTP 1'
8090 inputmodules
="ftp $inputmodules"
8092 noinputmodules
="ftp $noinputmodules"
8093 def_ftp
='#undef CONFIG_FTP'
8097 echocheck
"vstream client"
8098 if test "$_vstream" = auto
; then
8101 #include <vstream-client.h>
8102 void vstream_error(const char *format, ... ) {}
8103 int main(void) { vstream_start(); return 0; }
8105 cc_check
-lvstream-client && _vstream
=yes
8107 if test "$_vstream" = yes ; then
8108 def_vstream
='#define CONFIG_VSTREAM 1'
8109 inputmodules
="vstream $inputmodules"
8110 extra_ldflags
="$extra_ldflags -lvstream-client"
8112 noinputmodules
="vstream $noinputmodules"
8113 def_vstream
='#undef CONFIG_VSTREAM'
8118 echocheck
"OSD menu"
8119 if test "$_menu" = yes ; then
8120 def_menu
='#define CONFIG_MENU 1'
8121 test $_dvbin = "yes" && _menu_dvbin
=yes
8123 def_menu
='#undef CONFIG_MENU'
8129 echocheck
"Subtitles sorting"
8130 if test "$_sortsub" = yes ; then
8131 def_sortsub
='#define CONFIG_SORTSUB 1'
8133 def_sortsub
='#undef CONFIG_SORTSUB'
8138 echocheck
"XMMS inputplugin support"
8139 if test "$_xmms" = yes ; then
8140 if ( xmms-config
--version ) >/dev
/null
2>&1 ; then
8141 _xmmsplugindir
=$
(xmms-config
--input-plugin-dir)
8142 _xmmslibdir
=$
(xmms-config
--exec-prefix)/lib
8144 _xmmsplugindir
=/usr
/lib
/xmms
/Input
8145 _xmmslibdir
=/usr
/lib
8148 def_xmms
='#define CONFIG_XMMS 1'
8150 extra_ldflags
="$extra_ldflags ${_xmmslibdir}/libxmms.dylib"
8152 extra_ldflags
="$extra_ldflags ${_xmmslibdir}/libxmms.so.1 -export-dynamic"
8155 def_xmms
='#undef CONFIG_XMMS'
8160 # --------------- GUI specific tests begin -------------------
8163 if test "$_gui" = yes ; then
8165 # Required libraries
8166 if test "$_libavcodec" != yes ||
8167 ! echo $_libavdecoders |
grep -q PNG_DECODER
; then
8168 die
"The GUI requires libavcodec with PNG support (needs zlib)."
8170 test "$_freetype" = no
&& test "$_bitmap_font" = no
&& \
8171 die
"The GUI requires either FreeType or bitmap font support."
8174 test "$_x11" != yes && die
"X11 support required for GUI compilation."
8176 echocheck
"XShape extension"
8177 if test "$_xshape" = auto
; then
8180 #include <X11/Xlib.h>
8181 #include <X11/Xproto.h>
8182 #include <X11/Xutil.h>
8183 #include <X11/extensions/shape.h>
8186 char *name = ":0.0";
8189 int eventbase, errorbase;
8190 if (getenv("DISPLAY"))
8191 name=getenv("DISPLAY");
8192 wsDisplay=XOpenDisplay(name);
8193 if (!XShapeQueryExtension(wsDisplay,&eventbase,&errorbase))
8195 XCloseDisplay(wsDisplay);
8199 cc_check
-lXext && _xshape
=yes
8201 if test "$_xshape" = yes ; then
8202 def_xshape
='#define CONFIG_XSHAPE 1'
8204 die
"The GUI requires the X11 extension XShape (which was not found)."
8209 if test "$_gtk1" = no
; then
8211 echocheck
"GTK+ version"
8213 if $_pkg_config gtk
+-2.0
--exists ; then
8214 _gtk
=$
($_pkg_config gtk
+-2.0
--modversion 2>/dev
/null
)
8215 extra_cflags
="$extra_cflags $($_pkg_config gtk+-2.0 --cflags 2>/dev/null)"
8216 libs_mplayer
="$libs_mplayer $($_pkg_config gtk+-2.0 --libs 2>/dev/null)"
8220 if $_pkg_config glib-2.0
--exists ; then
8221 echocheck
"glib version"
8222 _glib
=$
($_pkg_config glib-2.0
--modversion 2>/dev
/null
)
8223 libs_mplayer
="$libs_mplayer $($_pkg_config glib-2.0 --libs 2>/dev/null)"
8226 def_gui
='#define CONFIG_GUI 1'
8227 def_gtk2
='#define CONFIG_GTK2 1'
8230 echo "GLIB-2 devel packages were not found, trying GTK 1.2"
8233 echo "GTK-2 devel packages were not found, trying GTK 1.2"
8238 if test "$_gtk1" = yes ; then
8239 # Check for old GTK (1.2.x)
8240 echocheck
"GTK version"
8241 if test -z "$_gtkconfig" ; then
8242 if ( gtk-config
--version ) >/dev
/null
2>&1 ; then
8243 _gtkconfig
="gtk-config"
8244 elif ( gtk12-config
--version ) >/dev
/null
2>&1 ; then
8245 _gtkconfig
="gtk12-config"
8247 die
"The GUI requires GTK devel packages (which were not found)."
8250 _gtk
=$
($_gtkconfig --version 2>&1)
8251 extra_cflags
="$extra_cflags $($_gtkconfig --cflags 2>&1)"
8252 libs_mplayer
="$libs_mplayer $($_gtkconfig --libs 2>&1)"
8253 echores
"$_gtk (using $_gtkconfig)"
8256 echocheck
"glib version"
8257 if test -z "$_glibconfig" ; then
8258 if ( glib-config
--version ) >/dev
/null
2>&1 ; then
8259 _glibconfig
="glib-config"
8260 elif ( glib12-config
--version ) >/dev
/null
2>&1 ; then
8261 _glibconfig
="glib12-config"
8263 die
"The GUI requires GLIB devel packages (which were not found)"
8266 _glib
=$
($_glibconfig --version 2>&1)
8267 libs_mplayer
="$libs_mplayer $($_glibconfig --libs 2>&1)"
8268 echores
"$_glib (using $_glibconfig)"
8270 def_gui
='#define CONFIG_GUI 1'
8271 def_gtk2
='#undef CONFIG_GTK2'
8276 libs_mplayer
="$libs_mplayer -lcomdlg32 -lcomctl32 -lshell32 -lkernel32"
8277 def_gui
='#define CONFIG_GUI 1'
8278 def_gtk2
='#undef CONFIG_GTK2'
8281 else #if test "$_gui"
8282 def_gui
='#undef CONFIG_GUI'
8283 def_gtk2
='#undef CONFIG_GTK2'
8285 # --------------- GUI specific tests end -------------------
8288 if test "$_charset" != "noconv" ; then
8289 def_charset
="#define MSG_CHARSET \"$_charset\""
8291 def_charset
="#undef MSG_CHARSET"
8295 if test -n "$_charset" && test "$_charset" != "UTF-8" ; then
8296 echocheck
"iconv program"
8297 iconv -f UTF-8
-t $_charset ${_mp_help} > /dev
/null
2>> "$TMPLOG"
8298 if test "$?" -ne 0 ; then
8300 echo "No working iconv program found, use "
8301 echo "--charset=UTF-8 to continue anyway."
8302 echo "If you also have problems with iconv library functions use --charset=noconv."
8303 echo "Messages in the GTK-2 interface will be broken then."
8310 #############################################################################
8312 echocheck
"automatic gdb attach"
8313 if test "$_crash_debug" = yes ; then
8314 def_crash_debug
='#define CONFIG_CRASH_DEBUG 1'
8316 def_crash_debug
='#undef CONFIG_CRASH_DEBUG'
8319 echores
"$_crash_debug"
8321 echocheck
"compiler support for noexecstack"
8323 int main(void) { return 0; }
8325 if cc_check
-Wl,-z,noexecstack
; then
8326 extra_ldflags
="-Wl,-z,noexecstack $extra_ldflags"
8332 echocheck
"linker support for --nxcompat --no-seh --dynamicbase"
8333 if cc_check
"-Wl,--nxcompat -Wl,--no-seh -Wl,--dynamicbase" ; then
8334 extra_ldflags
="-Wl,--nxcompat -Wl,--no-seh -Wl,--dynamicbase $extra_ldflags"
8341 # Dynamic linking flags
8342 # (FIXME: 'echocheck "dynamic linking"' above and modify here accordingly)
8344 freebsd || netbsd || openbsd || dragonfly || bsdos
&& _ld_dl_dynamic
='-rdynamic'
8345 if test "$_real" = yes ||
test "$_xanim" = yes && ! win32
&& ! qnx
&& ! darwin
&& ! os2
&& ! sunos
; then
8346 _ld_dl_dynamic
='-rdynamic'
8349 extra_ldflags
="$extra_ldflags $_ld_pthread $_ld_dl $_ld_dl_dynamic"
8350 bsdos
&& extra_ldflags
="$extra_ldflags -ldvd"
8351 (netbsd || openbsd
) && x86_32
&& extra_ldflags
="$extra_ldflags -li386"
8353 def_debug
='#undef MP_DEBUG'
8354 test "$_debug" != "" && def_debug
='#define MP_DEBUG 1'
8357 echocheck
"joystick"
8358 def_joystick
='#undef CONFIG_JOYSTICK'
8359 if test "$_joystick" = yes ; then
8361 # TODO add some check
8362 def_joystick
='#define CONFIG_JOYSTICK 1'
8365 res_comment
="unsupported under $system_name"
8368 echores
"$_joystick"
8371 if test "$_lirc" = auto
; then
8374 #include <lirc/lirc_client.h>
8375 int main(void) { return 0; }
8377 cc_check
-llirc_client && _lirc
=yes
8379 if test "$_lirc" = yes ; then
8380 def_lirc
='#define CONFIG_LIRC 1'
8381 libs_mplayer
="$libs_mplayer -llirc_client"
8383 def_lirc
='#undef CONFIG_LIRC'
8388 if test "$_lircc" = auto
; then
8391 #include <lirc/lircc.h>
8392 int main(void) { return 0; }
8394 cc_check
-llircc && _lircc
=yes
8396 if test "$_lircc" = yes ; then
8397 def_lircc
='#define CONFIG_LIRCC 1'
8398 libs_mplayer
="$libs_mplayer -llircc"
8400 def_lircc
='#undef CONFIG_LIRCC'
8405 # Detect maemo development platform libraries availability (http://www.maemo.org),
8406 # they are used when run on Nokia 770|8x0
8407 echocheck
"maemo (Nokia 770|8x0)"
8408 if test "$_maemo" = auto
; then
8411 #include <libosso.h>
8412 int main(void) { (void) osso_initialize("", "", 0, NULL); return 0; }
8414 cc_check $
($_pkg_config --cflags --libs libosso
2>/dev
/null
) && _maemo
=yes
8416 if test "$_maemo" = yes ; then
8417 def_maemo
='#define CONFIG_MAEMO 1'
8418 extra_cflags
="$extra_cflags $($_pkg_config --cflags libosso)"
8419 extra_ldflags
="$extra_ldflags $($_pkg_config --libs libosso) -lXsp"
8421 def_maemo
='#undef CONFIG_MAEMO'
8426 #############################################################################
8428 # On OS/2 nm supports only a.out. So the -Zomf compiler option to generate
8429 # the OMF format needs to come after the 'extern symbol prefix' check, which
8432 extra_ldflags
="$extra_ldflags -Zomf -Zstack 16384 -Zbin-files -Zargs-wild"
8435 # linker paths should be the same for mencoder and mplayer
8437 for I
in $libs_mplayer ; do
8438 _tmp
=$
(echo $I |
sed -e 's/^-L.*$//')
8439 if test -z "$_tmp" ; then
8440 extra_ldflags
="$extra_ldflags $I"
8442 _ld_tmp
="$_ld_tmp $I"
8445 libs_mplayer
=$_ld_tmp
8448 #############################################################################
8449 # 64 bit file offsets?
8450 if test "$_largefiles" = yes || freebsd
; then
8451 CFLAGS
="$CFLAGS -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
8452 if test "$_dvdread" = yes ||
test "$_libdvdcss_internal" = yes ; then
8453 # dvdread support requires this (for off64_t)
8454 CFLAGS
="$CFLAGS -D_LARGEFILE64_SOURCE"
8458 CXXFLAGS
=" $CFLAGS -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS"
8460 # This must be the last test to be performed. Any other tests following it
8461 # could fail due to linker errors. libdvdnavmini is intentionally not linked
8462 # against libdvdread (to permit MPlayer to use its own copy of the library).
8463 # So any compilation using the flags added here but not linking against
8464 # libdvdread can fail.
8465 echocheck
"DVD support (libdvdnav)"
8467 if test "$_dvdnav" = auto
; then
8468 if test "$_dvdread_internal" = yes ; then
8471 res_comment
="internal"
8473 $_dvdnavconfig --version --minilibs >> $TMPLOG 2>&1 || _dvdnav
=no
8476 if test "$_dvdnav" = auto
; then
8478 #include <inttypes.h>
8479 #include <dvdnav/dvdnav.h>
8480 int main(void) { dvdnav_t *dvd=0; return 0; }
8483 _dvdnavdir
=$
($_dvdnavconfig --cflags)
8484 _dvdnavlibs
=$
($_dvdnavconfig --libs)
8485 cc_check
$_dvdnavdir $_dvdnavlibs $_ld_dl $_ld_pthread && _dvdnav
=yes
8487 if test "$_dvdnav" = yes ; then
8489 def_dvdnav
='#define CONFIG_DVDNAV 1'
8490 if test "$dvdnav_internal" = yes ; then
8491 cflags_libdvdnav
="-Ilibdvdnav"
8492 inputmodules
="dvdnav(internal) $inputmodules"
8494 extra_cflags
="$extra_cflags $($_dvdnavconfig --cflags)"
8495 extra_ldflags
="$extra_ldflags $($_dvdnavconfig --minilibs)"
8496 inputmodules
="dvdnav $inputmodules"
8499 def_dvdnav
='#undef CONFIG_DVDNAV'
8500 noinputmodules
="dvdnav $noinputmodules"
8504 # DO NOT ADD ANY TESTS THAT USE LINKER FLAGS HERE (like cc_check).
8505 # Read dvdnav comment above.
8508 list
=$
(echo $1 |
tr '[a-z]' '[A-Z]')
8509 item
=$
(echo $2 |
tr '[a-z]' '[A-Z]')
8511 for part
in $list; do
8512 if $
(echo $item |
grep -q -E "(^| )$part($| )"); then
8513 echo "${nprefix}_$part = yes"
8518 #############################################################################
8519 echo "Creating config.mak"
8520 cat > config.mak
<< EOF
8521 # -------- Generated by configure -----------
8523 # Ensure that locale settings do not interfere with shell commands.
8526 CONFIGURATION = $_configuration
8529 DOC_LANGS = $language_doc
8530 DOC_LANG_ALL = $doc_lang_all
8531 MAN_LANGS = $language_man
8532 MAN_LANG_ALL = $man_lang_all
8534 prefix = \$(DESTDIR)$_prefix
8535 BINDIR = \$(DESTDIR)$_bindir
8536 DATADIR = \$(DESTDIR)$_datadir
8537 LIBDIR = \$(DESTDIR)$_libdir
8538 MANDIR = \$(DESTDIR)$_mandir
8539 CONFDIR = \$(DESTDIR)$_confdir
8547 INSTALLSTRIP = $_install_strip
8550 CFLAGS = $CFLAGS $extra_cflags
8551 ASFLAGS = \$(CFLAGS)
8552 CXXFLAGS = $CXXFLAGS $extra_cflags $extra_cxxflags
8554 CFLAGS_DHAHELPER = $cflags_dhahelper
8555 CFLAGS_FAAD_FIXED = $cflags_faad_fixed
8556 CFLAGS_LIBDVDCSS = $cflags_libdvdcss
8557 CFLAGS_LIBDVDCSS_DVDREAD = $cflags_libdvdcss_dvdread
8558 CFLAGS_LIBDVDNAV = $cflags_libdvdnav
8559 CFLAGS_NO_OMIT_LEAF_FRAME_POINTER = $cflags_no_omit_leaf_frame_pointer
8560 CFLAGS_STACKREALIGN = $cflags_stackrealign
8561 CFLAGS_SVGALIB_HELPER = $cflags_svgalib_helper
8562 CFLAGS_TREMOR_LOW = $cflags_tremor_low
8564 EXTRALIBS = $extra_ldflags $_ld_static $_ld_lm $extra_libs
8565 EXTRALIBS_MPLAYER = $libs_mplayer
8566 EXTRALIBS_MENCODER = $libs_mencoder
8569 HELP_FILE = $_mp_help
8576 $(mak_enable "$arch_all" "$arch" ARCH)
8577 $(mak_enable "$subarch_all" "$subarch" ARCH)
8578 $(mak_enable "$cpuexts_all" "$cpuexts" HAVE)
8580 MENCODER = $_mencoder
8583 NEED_GETTIMEOFDAY = $_need_gettimeofday
8584 NEED_GLOB = $_need_glob
8585 NEED_MMAP = $_need_mmap
8586 NEED_SETENV = $_need_setenv
8587 NEED_SHMEM = $_need_shmem
8588 NEED_STRSEP = $_need_strsep
8589 NEED_SWAB = $_need_swab
8590 NEED_VSSCANF = $_need_vsscanf
8598 APPLE_IR = $_apple_ir
8599 APPLE_REMOTE = $_apple_remote
8601 AUDIO_INPUT = $_audio_input
8602 BITMAP_FONT = $_bitmap_font
8607 COREAUDIO = $_coreaudio
8608 COREVIDEO = $_corevideo
8612 DIRECT3D = $_direct3d
8613 DIRECTFB = $_directfb
8617 DVDNAV_INTERNAL = $dvdnav_internal
8619 DVDREAD_INTERNAL = $_dvdread_internal
8625 FAAD_INTERNAL = $_faad_internal
8626 FASTMEMCPY = $_fastmemcpy
8628 FREETYPE = $_freetype
8633 GL_WIN32 = $_gl_win32
8636 MATRIXVIEW = $matrixview
8639 GUI_WIN32 = $_gui_win32
8640 HAVE_POSIX_SELECT = $_posix_select
8641 HAVE_SYS_MMAN_H = $_mman
8644 JOYSTICK = $_joystick
8651 LIBASS_INTERNAL = $ass_internal
8655 LIBDVDCSS_INTERNAL = $_libdvdcss_internal
8659 LIBMENU_DVBIN = $_menu_dvbin
8660 LIBMPEG2 = $_libmpeg2
8661 LIBNEMESI = $_nemesi
8663 LIBSMBCLIENT = $_smb
8664 LIBTHEORA = $_theora
8667 MACOSX_FINDER = $_macosx_finder
8673 MUSEPACK = $_musepack
8675 NATIVE_RTSP = $_native_rtsp
8679 PE_EXECUTABLE = $_pe_executable
8682 PRIORITY = $_priority
8686 QTX_CODECS_WIN32 = $_qtx_codecs_win32
8687 QTX_EMULATION = $_qtx_emulation
8690 RADIO_CAPTURE=$_radio_capture
8691 REAL_CODECS = $_real
8695 STREAM_CACHE = $_stream_cache
8696 SGIAUDIO = $_sgiaudio
8697 SUNAUDIO = $_sunaudio
8703 TREMOR_INTERNAL = $_tremor_internal
8705 TV_BSDBT848 = $_tv_bsdbt848
8706 TV_DSHOW = $_tv_dshow
8711 UNRAR_EXEC = $_unrar_exec
8717 VIDIX_PCIDB = $_vidix_pcidb_val
8718 VIDIX_CYBERBLADE=$_vidix_drv_cyberblade
8719 VIDIX_IVTV=$_vidix_drv_ivtv
8720 VIDIX_MACH64=$_vidix_drv_mach64
8721 VIDIX_MGA=$_vidix_drv_mga
8722 VIDIX_MGA_CRTC2=$_vidix_drv_mga_crtc2
8723 VIDIX_NVIDIA=$_vidix_drv_nvidia
8724 VIDIX_PM2=$_vidix_drv_pm2
8725 VIDIX_PM3=$_vidix_drv_pm3
8726 VIDIX_RADEON=$_vidix_drv_radeon
8727 VIDIX_RAGE128=$_vidix_drv_rage128
8728 VIDIX_S3=$_vidix_drv_s3
8729 VIDIX_SH_VEU=$_vidix_drv_sh_veu
8730 VIDIX_SIS=$_vidix_drv_sis
8731 VIDIX_UNICHROME=$_vidix_drv_unichrome
8735 WIN32DLL = $_win32dll
8736 WIN32WAVEOUT = $_win32waveout
8737 WIN32_EMULATION = $_win32_emulation
8738 WINVIDIX = $winvidix
8741 XANIM_CODECS = $_xanim
8743 XMMS_PLUGINS = $_xmms
8749 YUV4MPEG = $_yuv4mpeg
8753 LIBAVUTIL = $_libavutil
8754 LIBAVUTIL_A = $_libavutil_a
8755 LIBAVUTIL_SO = $_libavutil_so
8756 LIBAVCODEC = $_libavcodec
8757 LIBAVCODEC_A = $_libavcodec_a
8758 LIBAVCODEC_SO = $_libavcodec_so
8759 LIBAVFORMAT = $_libavformat
8760 LIBAVFORMAT_A = $_libavformat_a
8761 LIBAVFORMAT_SO = $_libavformat_so
8762 LIBPOSTPROC = $_libpostproc
8763 LIBPOSTPROC_A = $_libpostproc_a
8764 LIBPOSTPROC_SO = $_libpostproc_so
8765 LIBSWSCALE = $_libswscale
8766 LIBSWSCALE_A = $_libswscale_a
8767 LIBSWSCALE_SO = $_libswscale_so
8769 HOSTCC = \$(HOST_CC)
8770 HOSTCFLAGS = -D_ISOC99_SOURCE -D_POSIX_C_SOURCE=200112 -O3
8776 YASMFLAGS = $YASMFLAGS
8783 LIBNAME = \$(LIBPREF)\$(NAME)\$(LIBSUF)
8784 FULLNAME = \$(NAME)\$(BUILDSUF)
8786 # Some FFmpeg codecs depend on these. Enable them unconditionally for now.
8792 CONFIG_H264DSP = yes
8798 $mak_hardcoded_tables
8799 $mak_libavcodec_mpegaudio_hp
8800 !CONFIG_LIBRTMP = $nolibrtmp
8801 CONFIG_LIBRTMP = $_librtmp
8803 CONFIG_BZLIB = $bzlib
8804 CONFIG_ENCODERS = yes
8806 CONFIG_LIBDIRAC_DECODER = $_libdirac_lavc
8807 CONFIG_LIBDIRAC_ENCODER = $_libdirac_lavc
8808 CONFIG_LIBFAAC_ENCODER = $_faac_lavc
8809 CONFIG_LIBMP3LAME_ENCODER = $_mp3lame_lavc
8810 CONFIG_LIBOPENCORE_AMRNB_DECODER = $_libopencore_amrnb
8811 CONFIG_LIBOPENCORE_AMRNB_ENCODER = $_libopencore_amrnb
8812 CONFIG_LIBOPENCORE_AMRWB_DECODER = $_libopencore_amrwb
8813 OCNFIG_LIBOPENJPEG_DECODER = $libopenjpeg
8814 OCNFIG_LIBOPENJPEG_ENCODER = $libopenjpeg
8815 CONFIG_LIBSCHROEDINGER_DECODER = $_libschroedinger_lavc
8816 CONFIG_LIBSCHROEDINGER_ENCODER = $_libschroedinger_lavc
8817 CONFIG_LIBVORBIS_ENCODER = $_libvorbis
8818 CONFIG_LIBX264_ENCODER = $_x264_lavc
8819 CONFIG_LIBXVID_ENCODER = $_xvid_lavc
8820 CONFIG_MLIB = $_mlib
8821 CONFIG_MUXERS = $_mencoder
8822 CONFIG_POSTPROC = yes
8823 CONFIG_VDPAU = $_vdpau
8824 CONFIG_XVMC = $_xvmc
8825 CONFIG_ZLIB = $_zlib
8827 HAVE_PTHREADS = $_pthreads
8829 HAVE_W32THREADS = $_w32threads
8830 HAVE_YASM = $have_yasm
8832 $(echo $_libavdecoders | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/')
8833 $(echo $_libavencoders | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/')
8834 $(echo $_libavparsers | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/')
8835 $(echo $_libavdemuxers | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/')
8836 $(echo $_libavmuxers | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/')
8837 $(echo $_libavprotocols | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/')
8838 $(echo $_libavbsfs | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/')
8839 $(echo $_libavhwaccels | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/')
8842 #############################################################################
8844 ff_config_enable
() {
8845 list
=$
(echo $1 |
tr '[a-z]' '[A-Z]')
8846 item
=$
(echo $2 |
tr '[a-z]' '[A-Z]')
8848 test -z "$_nprefix" && _nprefix
='CONFIG'
8849 for part
in $list; do
8850 if $
(echo $item |
grep -q -E "(^| )$part($| )"); then
8851 echo "#define ${_nprefix}_$part 1"
8853 echo "#define ${_nprefix}_$part 0"
8858 echo "Creating config.h"
8860 /*----------------------------------------------------------------------------
8861 ** This file has been automatically generated by configure any changes in it
8862 ** will be lost when you run configure again.
8863 ** Instead of modifying definitions here, use the --enable/--disable options
8864 ** of the configure script! See ./configure --help for details.
8865 *---------------------------------------------------------------------------*/
8867 #ifndef MPLAYER_CONFIG_H
8868 #define MPLAYER_CONFIG_H
8870 /* Undefine this if you do not want to select mono audio (left or right)
8871 with a stereo MPEG layer 2/3 audio stream. The command line option
8872 -stereo has three possible values (0 for stereo, 1 for left-only, 2 for
8873 right-only), with 0 being the default.
8875 #define CONFIG_FAKE_MONO 1
8877 /* set up max. outburst. use 65536 for ALSA 0.5, for others 16384 is enough */
8878 #define MAX_OUTBURST 65536
8880 /* set up audio OUTBURST. Do not change this! */
8881 #define OUTBURST 512
8883 /* Enable fast OSD/SUB renderer (looks ugly, but uses less CPU power) */
8885 #undef FAST_OSD_TABLE
8887 /* Define this to enable MPEG-1/2 image postprocessing in libmpeg2 */
8888 #define MPEG12_POSTPROC 1
8889 #define ATTRIBUTE_ALIGNED_MAX 16
8893 #define CONFIGURATION "$_configuration"
8895 #define MPLAYER_DATADIR "$_datadir"
8896 #define MPLAYER_CONFDIR "$_confdir"
8897 #define MPLAYER_LIBDIR "$_libdir"
8899 /* definitions needed by included libraries */
8900 #define HAVE_INTTYPES_H 1
8901 /* libmpeg2 + FFmpeg */
8904 #define HAVE_ERRNO_H 1
8905 /* libdvdcss + libdvdread */
8906 #define HAVE_LIMITS_H 1
8907 /* libdvdcss + libfaad2 */
8908 #define HAVE_UNISTD_H 1
8909 /* libfaad2 + libdvdread */
8910 #define STDC_HEADERS 1
8911 #define HAVE_MEMCPY 1
8913 #define HAVE_STRING_H 1
8914 #define HAVE_STRINGS_H 1
8915 #define HAVE_SYS_STAT_H 1
8916 #define HAVE_SYS_TYPES_H 1
8918 #define READ_CACHE_TRACE 0
8920 #define HAVE_DLFCN_H 1
8924 /* system headers */
8926 $def_alsa_asoundlib_h
8930 $def_mman_has_map_failed
8932 $def_sys_asoundlib_h
8933 $def_sys_soundcard_h
8940 /* system functions */
8963 /* system-specific features */
8978 $def_restrict_keyword
8983 /* configurable options */
8987 $def_dynamic_plugins
8990 $def_runtime_cpudetection
8998 #define __CPU__ $iproc
9001 $(ff_config_enable "$arch_all" "$arch" "ARCH")
9002 $(ff_config_enable "$subarch_all" "$subarch" "ARCH")
9003 $(ff_config_enable "$cpuexts_all" "$cpuexts" "HAVE")
9007 #define DEFAULT_CDROM_DEVICE "$default_cdrom_device"
9008 #define DEFAULT_DVD_DEVICE "$default_dvd_device"
9028 /* codec libraries */
9040 $def_mp3lame_preset_medium
9064 #define BINARY_CODECS_PATH "$_codecsdir"
9065 #define XMMS_INPUT_PLUGIN_DIR "$_xmmsplugindir"
9074 /* Audio output drivers */
9090 $def_ossaudio_devdsp
9091 $def_ossaudio_devmixer
9104 $def_ioctl_bt848_h_name
9105 $def_ioctl_meteor_h_name
9144 $def_struct_ipv6_mreq
9145 $def_struct_sockaddr_in6
9146 $def_struct_sockaddr_sa_len
9150 $def_sockaddr_storage
9165 $def_directfb_version
9202 $def_vidix_drv_cyberblade
9204 $def_vidix_drv_mach64
9206 $def_vidix_drv_mga_crtc2
9207 $def_vidix_drv_nvidia
9209 $def_vidix_drv_radeon
9210 $def_vidix_drv_rage128
9212 $def_vidix_drv_sh_veu
9214 $def_vidix_drv_unichrome
9248 #define CONFIG_DECODERS 1
9249 #define CONFIG_ENCODERS 1
9250 #define CONFIG_DEMUXERS 1
9261 $def_hardcoded_tables
9262 $def_libavcodec_mpegaudio_hp
9265 $def_local_aligned_8
9266 $def_local_aligned_16
9283 #define CONFIG_FASTDIV 0
9284 #define CONFIG_FFSERVER 0
9285 #define CONFIG_GPL 1
9286 #define CONFIG_GRAY 0
9287 #define CONFIG_LIBVORBIS 0
9288 #define CONFIG_POWERPC_PERF 0
9289 #define CONFIG_SMALL 0
9290 #define CONFIG_SWSCALE_ALPHA 1
9292 #if defined(HAVE_AF_INET6) && (!defined(_WIN32) || defined(__CYGWIN__))
9293 #define CONFIG_IPV6 1
9295 #define CONFIG_IPV6 0
9298 #define HAVE_ATTRIBUTE_PACKED 1
9299 #define HAVE_GETHRTIME 0
9300 #define HAVE_INLINE_ASM 1
9301 #define HAVE_LDBRX 0
9302 #define HAVE_POLL_H 1
9303 #define HAVE_PPC4XX 0
9304 #define HAVE_STRERROR_R 0
9305 #define HAVE_SYS_SELECT_H 0
9306 #define HAVE_VFP_ARGS 1
9307 #define HAVE_VIRTUALALLOC 0
9309 /* Some FFmpeg codecs depend on these. Enable them unconditionally for now. */
9310 #define CONFIG_AANDCT 1
9311 #define CONFIG_DCT 1
9312 #define CONFIG_DWT 1
9313 #define CONFIG_FFT 1
9314 #define CONFIG_GOLOMB 1
9315 #define CONFIG_H264DSP 1
9316 #define CONFIG_LPC 1
9317 #define CONFIG_MDCT 1
9318 #define CONFIG_RDFT 1
9320 /* Use these registers in FFmpeg x86 inline asm. No proper detection yet. */
9323 #define HAVE_EBP_AVAILABLE 1
9325 #define HAVE_EBP_AVAILABLE 0
9328 #define FFMPEG_CONFIGURATION "--enable-gpl --enable-postproc"
9329 #define FFMPEG_LICENSE "GPL version 2 or later"
9331 /* External libraries used through libavcodec. */
9334 $def_libopencore_amrnb
9335 $def_libopencore_amrwb
9338 $def_libschroedinger_lavc
9343 $(ff_config_enable "$_libavdecoders_all" "$_libavdecoders")
9344 $(ff_config_enable "$_libavencoders_all" "$_libavencoders")
9345 $(ff_config_enable "$_libavparsers_all" "$_libavparsers")
9346 $(ff_config_enable "$_libavdemuxers_all" "$_libavdemuxers")
9347 $(ff_config_enable "$_libavmuxers_all" "$_libavmuxers")
9348 $(ff_config_enable "$_libavprotocols_all" "$_libavprotocols")
9349 $(ff_config_enable "$_libavbsfs_all" "$_libavbsfs")
9350 $(ff_config_enable "$_libavhwaccels_all" "$_libavhwaccels")
9352 #endif /* MPLAYER_CONFIG_H */
9355 # Do not overwrite an unchanged config.h to avoid superfluous rebuilds.
9356 cmp -s "$TMPH" config.h ||
mv -f "$TMPH" config.h
9358 ############################################################################
9360 # Create avconfig.h for FFmpeg.
9361 cat > "$TMPH" << EOF
9362 /* Generated by mpconfigure */
9363 #ifndef AVUTIL_AVCONFIG_H
9364 #define AVUTIL_AVCONFIG_H
9366 #endif /* AVUTIL_AVCONFIG_H */
9369 # Do not overwrite an unchanged avconfig.h to avoid superfluous rebuilds.
9370 cmp -s "$TMPH" libavutil
/avconfig.h ||
mv -f "$TMPH" libavutil
/avconfig.h
9372 #############################################################################
9376 Config files successfully generated by ./configure $_configuration !
9378 Install prefix: $_prefix
9379 Data directory: $_datadir
9380 Config direct.: $_confdir
9382 Byte order: $_byte_order
9383 Optimizing for: $_optimizing
9386 Messages/GUI: $language_msg
9387 Manual pages: $language_man
9388 Documentation: $language_doc
9390 Enabled optional drivers:
9391 Input: $inputmodules
9392 Codecs: $codecmodules
9393 Audio output: $aomodules
9394 Video output: $vomodules
9396 Disabled optional drivers:
9397 Input: $noinputmodules
9398 Codecs: $nocodecmodules
9399 Audio output: $noaomodules
9400 Video output: $novomodules
9402 'config.h' and 'config.mak' contain your configuration options.
9403 Note: If you alter theses files (for instance CFLAGS) MPlayer may no longer
9404 compile *** DO NOT REPORT BUGS if you tweak these files ***
9406 'make' will now compile MPlayer and 'make install' will install it.
9407 Note: On non-Linux systems you might need to use 'gmake' instead of 'make'.
9412 if test "$_mtrr" = yes ; then
9413 echo "Please check mtrr settings at /proc/mtrr (see DOCS/HTML/$doc_lang/video.html#mtrr)"
9419 NOTE: Win32 codec DLLs are not supported on your CPU ($host_arch) or your
9420 operating system ($system_name). You may encounter a few files that cannot
9421 be played due to missing open source video/audio codec support.
9428 Check $TMPLOG if you wonder why an autodetection failed (make sure
9429 development headers/packages are installed).
9431 NOTE: The --enable-* parameters unconditionally force options on, completely
9432 skipping autodetection. This behavior is unlike what you may be used to from
9433 autoconf-based configure scripts that can decide to override you. This greater
9434 level of control comes at a price. You may have to provide the correct compiler
9435 and linker flags yourself.
9436 If you used one of these options (except --enable-menu and similar ones that
9437 turn on internal features) and experience a compilation or linking failure,
9438 make sure you have passed the necessary compiler/linker flags to configure.
9440 If you suspect a bug, please read DOCS/HTML/$doc_lang/bugreports.html.
9444 if test "$_warn_CFLAGS" = yes; then
9447 MPlayer compilation will use the CPPFLAGS/CFLAGS/LDFLAGS/YASMFLAGS set by you,
9450 *** *** DO NOT REPORT BUGS IF IT DOES NOT COMPILE/WORK! *** ***
9452 It is strongly recommended to let MPlayer choose the correct CFLAGS!
9453 To do so, execute 'CFLAGS= ./configure <options>'
9459 rm -f "$TMPEXE" "$TMPC" "$TMPS" "$TMPCPP" "$TMPH"