3 # Original version (C) 2000 Pontscho/fresh!mindworkz
4 # pontscho@makacs.poliod.hu
6 # History / Contributors: Check the Subversion log.
8 # Cleanups all over the place (c) 2001 pl
11 # This configure script is *not* autoconf-based and has different semantics.
12 # It attempts to autodetect all settings and options where possible. It is
13 # possible to override autodetection with the --enable-option/--disable-option
14 # command line parameters. --enable-option forces the option on skipping
15 # autodetection. Yes, this means that compilation may fail and yes, this is not
16 # how autoconf-based configure scripts behave.
18 # configure generates a series of configuration files:
19 # - config.h contains #defines that are used in the C code.
20 # - config.mak is included from the Makefiles.
22 # If you want to add a new check for $feature, here is a simple skeleton:
24 # echocheck "$feature"
25 # if test "$_feature" = auto; then
27 # #include <feature.h>
28 # int main(void) { return 0; }
31 # cc_check && _feature=yes
33 # if test "$_feature" = yes ; then
34 # def_feature='#define CONFIG_FEATURE 1'
36 # def_feature='#undef CONFIG_FEATURE'
40 # Furthermore you need to add the variable _feature to the list of default
41 # settings and set it to one of yes/no/auto. Also add appropriate
42 # --enable-feature/--disable-feature command line options.
43 # The results of the check should be written to config.h and config.mak
44 # at the end of this script. The variable names used for this should be
45 # uniform, i.e. if the option is named 'feature':
47 # _feature : should have a value of yes/no/auto
48 # def_feature : '#define ... 1' or '#undef ...' for conditional compilation
49 # _ld_feature : '-L/path/dir -lfeature' GCC options
51 #############################################################################
53 # Prevent locale nonsense from breaking basic text processing utils
56 # Store the configure line that was used
59 # Prefer these macros to full length text !
60 # These macros only return an error code - NO display is done
65 echo "$_cc $CFLAGS $extra_cflags $_ld_static $extra_ldflags $libs_mplayer $libs_mencoder -o $TMPEXE $@" >> "$TMPLOG"
67 $_cc $CFLAGS $extra_cflags $_ld_static $extra_ldflags $libs_mplayer $libs_mencoder -o "$TMPEXE" "$@" >> "$TMPLOG" 2>&1
75 compile_check
$TMPC $@
79 compile_check
$TMPCPP $@
-lstdc++
84 cat "$TMPS" >> "$TMPLOG"
86 echo "$_yasm $YASMFLAGS -o $TMPEXE $TMPS $@" >> "$TMPLOG"
88 $_yasm $YASMFLAGS -o "$TMPEXE" "$TMPS" "$@" >> "$TMPLOG" 2>&1
96 "$TMPEXE" >> "$TMPLOG" 2>&1
99 # Display error message, flushes tempfile, exit
104 rm -f "$TMPEXE" "$TMPC" "$TMPS" "$TMPCPP"
105 echo "Check \"$TMPLOG\" if you do not understand why it failed."
109 # OS test booleans functions
111 test "$(echo $system_name | tr A-Z a-z)" = "$(echo $1 | tr A-Z a-z)"
113 aix
() { issystem
"AIX"; }
114 amigaos
() { issystem
"AmigaOS"; }
115 beos
() { issystem
"BEOS"; }
116 bsdos
() { issystem
"BSD/OS"; }
117 cygwin
() { issystem
"CYGWIN"; }
118 darwin
() { issystem
"Darwin"; }
119 dragonfly
() { issystem
"DragonFly"; }
120 freebsd
() { issystem
"FreeBSD" || issystem
"GNU/kFreeBSD"; }
121 gnu
() { issystem
"GNU"; }
122 hpux
() { issystem
"HP-UX"; }
123 irix
() { issystem
"IRIX"; }
124 linux
() { issystem
"Linux"; }
125 mingw32
() { issystem
"MINGW32"; }
126 morphos
() { issystem
"MorphOS"; }
127 netbsd
() { issystem
"NetBSD"; }
128 openbsd
() { issystem
"OpenBSD"; }
129 os2
() { issystem
"OS/2"; }
130 qnx
() { issystem
"QNX"; }
131 sunos
() { issystem
"SunOS"; }
132 win32
() { cygwin || mingw32
; }
134 # arch test boolean functions
135 # x86/x86pc is used by QNX
138 i
[3-9]86|x86|x86pc|k5|k6|k6-2|k6-3|pentium
*|athlon
*|i586-i686
) return 0 ;;
145 x86_64|amd64
) return 0 ;;
156 ppc|ppc64|powerpc|powerpc64
) return 0;;
175 # Use this before starting a check
177 echo "============ Checking for $@ ============" >> "$TMPLOG"
178 echo ${_echo_n} "Checking for $@ ... ${_echo_c}"
181 # Use this to echo the results of a check
183 if test "$_res_comment" ; then
184 _res_comment
="($_res_comment)"
186 echo "Result is: $@ $_res_comment" >> "$TMPLOG"
187 echo "##########################################" >> "$TMPLOG"
189 echo "$@ $_res_comment"
192 #############################################################################
194 # Check how echo works in this /bin/sh
196 -n) _echo_n
= _echo_c
='\c' ;; # SysV echo
197 *) _echo_n
='-n ' _echo_c
= ;; # BSD echo
200 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")
201 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")
202 doc_lang_all
=$
(echo DOCS
/xml
/??
/ DOCS
/xml
/??_??
/ |
sed -e "s:DOCS/xml/\(..\)/:\1:g" -e "s:DOCS/xml/\(.._..\)/:\1:g")
206 Usage: $0 [OPTIONS]...
209 -h, --help display this help and exit
211 Installation directories:
212 --prefix=DIR prefix directory for installation [/usr/local]
213 --bindir=DIR directory for installing binaries [PREFIX/bin]
214 --datadir=DIR directory for installing machine independent
215 data files (skins, etc) [PREFIX/share/mplayer]
216 --mandir=DIR directory for installing man pages [PREFIX/share/man]
217 --confdir=DIR directory for installing configuration files
219 --libdir=DIR directory for object code libraries [PREFIX/lib]
220 --codecsdir=DIR directory for binary codecs [LIBDIR/codecs]
221 --win32codecsdir=DIR directory for Windows DLLs [LIBDIR/codecs]
222 --xanimcodecsdir=DIR directory for XAnim codecs [LIBDIR/codecs]
223 --realcodecsdir=DIR directory for RealPlayer codecs [LIBDIR/codecs]
226 --disable-mencoder disable MEncoder (A/V encoder) compilation [enable]
227 --disable-mplayer disable MPlayer compilation [enable]
228 --enable-gui enable GMPlayer compilation (GTK+ GUI) [disable]
229 --enable-gtk1 force using GTK 1.2 for the GUI [disable]
230 --disable-largefiles disable support for files > 2GB [enable]
231 --enable-linux-devfs set default devices to devfs [disable]
232 --enable-termcap use termcap database for key codes [autodetect]
233 --enable-termios use termios database for key codes [autodetect]
234 --disable-iconv disable iconv for encoding conversion [autodetect]
235 --disable-langinfo do not use langinfo [autodetect]
236 --enable-lirc enable LIRC (remote control) support [autodetect]
237 --enable-lircc enable LIRCCD (LIRC client daemon) input [autodetect]
238 --enable-joystick enable joystick support [disable]
239 --enable-apple-remote enable Apple Remote input (Mac OS X only) [autodetect]
240 --enable-apple-ir enable Apple IR Remote input (Linux only) [autodetect]
241 --disable-vm disable X video mode extensions [autodetect]
242 --disable-xf86keysym disable support for multimedia keys [autodetect]
243 --enable-radio enable radio interface [disable]
244 --enable-radio-capture enable radio capture (through PCI/line-in) [disable]
245 --disable-radio-v4l2 disable Video4Linux2 radio interface [autodetect]
246 --disable-radio-bsdbt848 disable BSD BT848 radio interface [autodetect]
247 --disable-tv disable TV interface (TV/DVB grabbers) [enable]
248 --disable-tv-v4l1 disable Video4Linux TV interface [autodetect]
249 --disable-tv-v4l2 disable Video4Linux2 TV interface [autodetect]
250 --disable-tv-bsdbt848 disable BSD BT848 interface [autodetect]
251 --disable-pvr disable Video4Linux2 MPEG PVR [autodetect]
252 --disable-rtc disable RTC (/dev/rtc) on Linux [autodetect]
253 --disable-network disable networking [enable]
254 --enable-winsock2_h enable winsock2_h [autodetect]
255 --enable-smb enable Samba (SMB) input [autodetect]
256 --enable-live enable LIVE555 Streaming Media [autodetect]
257 --enable-nemesi enable Nemesi 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 [enabled]
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-libnut disable libnut [autodetect]
306 --disable-libavutil_a disable static libavutil [autodetect]
307 --disable-libavcodec_a disable static libavcodec [autodetect]
308 --disable-libavformat_a disable static libavformat [autodetect]
309 --disable-libpostproc_a disable static libpostproc [autodetect]
310 --disable-libswscale_a disable static libswscale [autodetect]
311 --disable-libavutil_so disable shared libavutil [autodetect]
312 --disable-libavcodec_so disable shared libavcodec [autodetect]
313 --disable-libavformat_so disable shared libavformat [autodetect]
314 --disable-libpostproc_so disable shared libpostproc [autodetect]
315 --disable-libswscale_so disable shared libswscale [autodetect]
316 --disable-libavcodec_mpegaudio_hp disable high precision audio decoding
317 in libavcodec [enabled]
318 --disable-tremor-internal disable internal Tremor [enabled]
319 --enable-tremor-low enable lower accuracy internal Tremor [disabled]
320 --enable-tremor enable external Tremor [autodetect]
321 --disable-libvorbis disable libvorbis support [autodetect]
322 --disable-speex disable Speex support [autodetect]
323 --enable-theora enable OggTheora libraries [autodetect]
324 --enable-faad enable external FAAD2 (AAC) [autodetect]
325 --disable-faad-internal disable internal FAAD2 (AAC) [autodetect]
326 --enable-faad-fixed enable fixed-point mode in internal FAAD2 [disabled]
327 --disable-faac disable support for FAAC (AAC encoder) [autodetect]
328 --disable-faac-lavc disable support for FAAC in libavcodec [autodetect]
329 --disable-ladspa disable LADSPA plugin support [autodetect]
330 --disable-libbs2b disable libbs2b audio filter support [autodetect]
331 --disable-libdv disable libdv 0.9.5 en/decoding support [autodetect]
332 --disable-mad disable libmad (MPEG audio) support [autodetect]
333 --disable-mp3lame disable LAME MP3 encoding support [autodetect]
334 --disable-mp3lame-lavc disable LAME in libavcodec [autodetect]
335 --disable-toolame disable Toolame (MPEG layer 2) encoding [autodetect]
336 --disable-twolame disable Twolame (MPEG layer 2) encoding [autodetect]
337 --enable-xmms enable XMMS input plugin support [disabled]
338 --enable-libdca enable libdca support [autodetect]
339 --disable-mp3lib disable builtin mp3lib [autodetect]
340 --disable-liba52 disable liba52 [autodetect]
341 --enable-liba52-internal enable builtin liba52 [disabled]
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-dvbhead enable DVB video output (HEAD version) [autodetect]
388 --enable-mga enable mga_vid video output [autodetect]
389 --enable-xmga enable mga_vid X11 video output [autodetect]
390 --enable-xv enable Xv video output [autodetect]
391 --enable-xvmc enable XvMC acceleration [disable]
392 --enable-vdpau enable VDPAU acceleration [autodetect]
393 --enable-vm enable XF86VidMode support [autodetect]
394 --enable-xinerama enable Xinerama support [autodetect]
395 --enable-x11 enable X11 video output [autodetect]
396 --enable-xshape enable XShape support [autodetect]
397 --disable-xss disable screensaver support via xss [autodetect]
398 --enable-fbdev enable FBDev video output [autodetect]
399 --enable-mlib enable mediaLib video output (Solaris) [disable]
400 --enable-3dfx enable obsolete /dev/3dfx video output [disable]
401 --enable-tdfxfb enable tdfxfb video output [disable]
402 --enable-s3fb enable s3fb (S3 ViRGE) video output [disable]
403 --enable-wii enable Nintendo Wii/GameCube video output [disable]
404 --enable-directfb enable DirectFB video output [autodetect]
405 --enable-zr enable ZR360[56]7/ZR36060 video output [autodetect]
406 --enable-bl enable Blinkenlights video output [disable]
407 --enable-tdfxvid enable tdfx_vid video output [disable]
408 --enable-xvr100 enable SUN XVR-100 video output [autodetect]
409 --disable-tga disable Targa video output [enable]
410 --disable-pnm disable PNM video output [enable]
411 --disable-md5sum disable md5sum video output [enable]
412 --disable-yuv4mpeg disable yuv4mpeg video output [enable]
413 --disable-corevideo disable CoreVideo video output [autodetect]
414 --disable-quartz disable Quartz video output [autodetect]
417 --disable-alsa disable ALSA audio output [autodetect]
418 --disable-ossaudio disable OSS audio output [autodetect]
419 --disable-arts disable aRts audio output [autodetect]
420 --disable-esd disable esd audio output [autodetect]
421 --disable-pulse disable Pulseaudio audio output [autodetect]
422 --disable-jack disable JACK audio output [autodetect]
423 --disable-openal disable OpenAL audio output [autodetect]
424 --disable-nas disable NAS audio output [autodetect]
425 --disable-sgiaudio disable SGI audio output [autodetect]
426 --disable-sunaudio disable Sun audio output [autodetect]
427 --disable-kai disable KAI audio output [autodetect]
428 --disable-dart disable DART audio output [autodetect]
429 --disable-win32waveout disable Windows waveout audio output [autodetect]
430 --disable-coreaudio disable CoreAudio audio output [autodetect]
431 --disable-select disable using select() on the audio device [enable]
434 --charset=charset convert the console messages to this character set
435 --language-doc=lang language to use for the documentation [en]
436 --language-man=lang language to use for the man pages [en]
437 --language-msg=lang language to use for the messages and the GUI [en]
438 --language=lang default language to use [en]
439 Specific options override --language. You can pass a list of languages separated
440 by whitespace or commas instead of a single language. Nonexisting translations
441 will be dropped from each list. All documentation and man page translations
442 available in the list will be installed, for the messages the first available
443 translation will be used. The value "all" will activate all translations. The
444 LINGUAS environment variable is honored. In all cases the fallback is English.
445 Available values are: all $msg_lang_all
447 Miscellaneous options:
448 --enable-runtime-cpudetection enable runtime CPU detection [disable]
449 --enable-cross-compile enable cross-compilation [autodetect]
450 --cc=COMPILER C compiler to build MPlayer [gcc]
451 --host-cc=COMPILER C compiler for tools needed while building [gcc]
452 --as=ASSEMBLER assembler to build MPlayer [as]
453 --nm=NM nm tool to build MPlayer [nm]
454 --yasm=YASM Yasm assembler to build MPlayer [yasm]
455 --ar=AR librarian to build MPlayer [ar]
456 --ranlib=RANLIB ranlib to build MPlayer [ranlib]
457 --windres=WINDRES windres to build MPlayer [windres]
458 --target=PLATFORM target platform (i386-linux, arm-linux, etc)
459 --enable-static build a statically linked binary
460 --with-install=PATH path to a custom install program
463 --enable-mmx enable MMX [autodetect]
464 --enable-mmxext enable MMX2 (Pentium III, Athlon) [autodetect]
465 --enable-3dnow enable 3DNow! [autodetect]
466 --enable-3dnowext enable extended 3DNow! [autodetect]
467 --enable-sse enable SSE [autodetect]
468 --enable-sse2 enable SSE2 [autodetect]
469 --enable-ssse3 enable SSSE3 [autodetect]
470 --enable-shm enable shm [autodetect]
471 --enable-altivec enable AltiVec (PowerPC) [autodetect]
472 --enable-armv5te enable DSP extensions (ARM) [autodetect]
473 --enable-armv6 enable ARMv6 (ARM) [autodetect]
474 --enable-armv6t2 enable ARMv6t2 (ARM) [autodetect]
475 --enable-armvfp enable ARM VFP (ARM) [autodetect]
476 --enable-neon enable NEON (ARM) [autodetect]
477 --enable-iwmmxt enable iWMMXt (ARM) [autodetect]
478 --disable-fastmemcpy disable 3DNow!/SSE/MMX optimized memcpy [enable]
479 --enable-hardcoded-tables put tables in binary instead of calculating them at startup [disable]
480 --enable-big-endian force byte order to big-endian [autodetect]
481 --enable-debug[=1-3] compile-in debugging information [disable]
482 --enable-profile compile-in profiling information [disable]
483 --disable-sighandler disable sighandler for crashes [enable]
484 --enable-crash-debug enable automatic gdb attach on crash [disable]
485 --enable-dynamic-plugins enable dynamic A/V plugins [disable]
487 Use these options if autodetection fails:
488 --extra-cflags=FLAGS extra CFLAGS
489 --extra-ldflags=FLAGS extra LDFLAGS
490 --extra-libs=FLAGS extra linker flags
491 --extra-libs-mplayer=FLAGS extra linker flags for MPlayer
492 --extra-libs-mencoder=FLAGS extra linker flags for MEncoder
493 --with-xvmclib=NAME adapter-specific library name (e.g. XvMCNVIDIA)
495 --with-freetype-config=PATH path to freetype-config
496 --with-fribidi-config=PATH path to fribidi-config
497 --with-glib-config=PATH path to glib*-config
498 --with-gtk-config=PATH path to gtk*-config
499 --with-sdl-config=PATH path to sdl*-config
500 --with-dvdnav-config=PATH path to dvdnav-config
501 --with-dvdread-config=PATH path to dvdread-config
503 This configure script is NOT autoconf-based, even though its output is similar.
504 It will try to autodetect all configuration options. If you --enable an option
505 it will be forcefully turned on, skipping autodetection. This can break
506 compilation, so you need to know what you are doing.
511 # GOTCHA: the variables below defines the default behavior for autodetection
512 # and have - unless stated otherwise - at least 2 states : yes no
513 # If autodetection is available then the third state is: auto
537 test "$CC" && _cc
="$CC"
541 _runtime_cpudetection
=no
547 _libopencore_amrnb
=auto
548 _libopencore_amrwb
=auto
550 _libavdecoders_all
=$
(sed -n 's/^[^#]*DEC.*(.*, *\(.*\)).*/\1_decoder/p' libavcodec
/allcodecs.c |
tr '[a-z]' '[A-Z]')
551 _libavdecoders
=$
(echo $_libavdecoders_all |
sed -e 's/ LIB[A-Z0-9_]*_DECODER//g' -e s
/MPEG4AAC_DECODER
//)
552 _libavencoders_all
=$
(sed -n 's/^[^#]*ENC.*(.*, *\(.*\)).*/\1_encoder/p' libavcodec
/allcodecs.c |
tr '[a-z]' '[A-Z]')
553 _libavencoders
=$
(echo $_libavencoders_all |
sed -e 's/ LIB[A-Z0-9_]*_ENCODER//g' -e s
/AAC_ENCODER
//)
554 _libavparsers_all
=$
(sed -n 's/^[^#]*PARSER.*(.*, *\(.*\)).*/\1_parser/p' libavcodec
/allcodecs.c |
tr '[a-z]' '[A-Z]')
555 _libavparsers
=$_libavparsers_all
556 _libavbsfs_all
=$
(sed -n 's/^[^#]*BSF.*(.*, *\(.*\)).*/\1_bsf/p' libavcodec
/allcodecs.c |
tr '[a-z]' '[A-Z]')
557 _libavbsfs
=$_libavbsfs_all
558 _libavhwaccels_all
=$
(sed -n 's/^[^#]*HWACCEL.*(.*, *\(.*\)).*/\1_hwaccel/p' libavcodec
/allcodecs.c |
tr '[a-z]' '[A-Z]')
559 # Disable all hardware accelerators for now.
561 _libavdemuxers_all
=$
(sed -n 's/^[^#]*DEMUX.*(.*, *\(.*\)).*/\1_demuxer/p' libavformat
/allformats.c |
tr '[a-z]' '[A-Z]')
562 _libavdemuxers
=$
(echo $_libavdemuxers_all |
sed -e 's/ LIB[A-Z0-9_]*_DEMUXER//g' -e s
/REDIR_DEMUXER
// -e s
/AVISYNTH_DEMUXER
//)
563 _libavmuxers_all
=$
(sed -n 's/^[^#]*_MUX.*(.*, *\(.*\)).*/\1_muxer/p' libavformat
/allformats.c |
tr '[a-z]' '[A-Z]')
564 _libavmuxers
=$
(echo $_libavmuxers_all |
sed -e 's/ LIB[A-Z0-9_]*_MUXER//g' -e s
/RTP_MUXER
//)
565 _libavprotocols_all
=$
(sed -n 's/^[^#]*PROTOCOL.*(.*, *\(.*\)).*/\1_protocol/p' libavformat
/allformats.c |
tr '[a-z]' '[A-Z]')
566 _libavprotocols
=$_libavprotocols_all
574 _libavcodec_mpegaudio_hp
=yes
583 _xvmc
=no
#auto when complete
652 _dvdnavconfig
=dvdnav-config
653 _dvdreadconfig
=dvdread-config
655 _dvdread_internal
=auto
656 _libdvdcss_internal
=auto
667 _mlib
=no
#broken, thus disabled
689 _struct_addrinfo
=auto
691 _struct_sockaddr_storage
=auto
703 _libschroedinger_lavc
=auto
748 _freetypeconfig
='freetype-config'
750 _fribidiconfig
='fribidi-config'
765 def_dos_paths
="#define HAVE_DOS_PATHS 0"
766 def_stream_cache
="#define CONFIG_STREAM_CACHE 1"
767 def_priority
="#undef CONFIG_PRIORITY"
768 def_pthread_cache
="#undef PTHREAD_CACHE"
776 _prefix
=$
(echo $ac_option | cut
-d '=' -f 2)
779 _bindir
=$
(echo $ac_option | cut
-d '=' -f 2)
782 _datadir
=$
(echo $ac_option | cut
-d '=' -f 2)
785 _mandir
=$
(echo $ac_option | cut
-d '=' -f 2)
788 _confdir
=$
(echo $ac_option | cut
-d '=' -f 2)
791 _libdir
=$
(echo $ac_option | cut
-d '=' -f 2)
794 _codecsdir
=$
(echo $ac_option | cut
-d '=' -f 2)
797 _win32codecsdir
=$
(echo $ac_option | cut
-d '=' -f 2)
800 _xanimcodecsdir
=$
(echo $ac_option | cut
-d '=' -f 2)
803 _realcodecsdir
=$
(echo $ac_option | cut
-d '=' -f 2)
807 _install
=$
(echo $ac_option | cut
-d '=' -f 2 )
810 _xvmclib
=$
(echo $ac_option | cut
-d '=' -f 2)
814 _sdlconfig
=$
(echo $ac_option | cut
-d '=' -f 2)
816 --with-freetype-config=*)
817 _freetypeconfig
=$
(echo $ac_option | cut
-d '=' -f 2)
819 --with-fribidi-config=*)
820 _fribidiconfig
=$
(echo $ac_option | cut
-d '=' -f 2)
823 _gtkconfig
=$
(echo $ac_option | cut
-d '=' -f 2)
825 --with-glib-config=*)
826 _glibconfig
=$
(echo $ac_option | cut
-d '=' -f 2)
828 --with-dvdnav-config=*)
829 _dvdnavconfig
=$
(echo $ac_option | cut
-d '=' -f 2)
831 --with-dvdread-config=*)
832 _dvdreadconfig
=$
(echo $ac_option | cut
-d '=' -f 2)
836 extra_cflags
=$
(echo $ac_option | cut
-d '=' -f 2-)
839 extra_ldflags
=$
(echo $ac_option | cut
-d '=' -f 2-)
842 extra_libs
=$
(echo $ac_option | cut
-d '=' -f 2)
844 --extra-libs-mplayer=*)
845 libs_mplayer
=$
(echo $ac_option | cut
-d '=' -f 2)
847 --extra-libs-mencoder=*)
848 libs_mencoder
=$
(echo $ac_option | cut
-d '=' -f 2)
852 _target
=$
(echo $ac_option | cut
-d '=' -f 2)
855 _cc
=$
(echo $ac_option | cut
-d '=' -f 2)
858 _host_cc
=$
(echo $ac_option | cut
-d '=' -f 2)
861 _as
=$
(echo $ac_option | cut
-d '=' -f 2)
864 _nm
=$
(echo $ac_option | cut
-d '=' -f 2)
867 _yasm
=$
(echo $ac_option | cut
-d '=' -f 2)
870 _ar
=$
(echo $ac_option | cut
-d '=' -f 2)
873 _ranlib
=$
(echo $ac_option | cut
-d '=' -f 2)
876 _windres
=$
(echo $ac_option | cut
-d '=' -f 2)
879 _charset
=$
(echo $ac_option | cut
-d '=' -f 2)
882 language_doc
=$
(echo $ac_option | cut
-d '=' -f 2)
885 language_man
=$
(echo $ac_option | cut
-d '=' -f 2)
888 language_msg
=$
(echo $ac_option | cut
-d '=' -f 2)
891 language
=$
(echo $ac_option | cut
-d '=' -f 2)
910 _debug
=$
(echo $_echo_n '-g'$_echo_c; echo $ac_option | cut
-d '=' -f 2)
915 --enable-runtime-cpudetection) _runtime_cpudetection
=yes ;;
916 --disable-runtime-cpudetection) _runtime_cpudetection
=no
;;
917 --enable-cross-compile) _cross_compile
=yes ;;
918 --disable-cross-compile) _cross_compile
=no
;;
919 --enable-mencoder) _mencoder
=yes ;;
920 --disable-mencoder) _mencoder
=no
;;
921 --enable-mplayer) _mplayer
=yes ;;
922 --disable-mplayer) _mplayer
=no
;;
923 --enable-dynamic-plugins) _dynamic_plugins
=yes ;;
924 --disable-dynamic-plugins) _dynamic_plugins
=no
;;
925 --enable-x11) _x11
=yes ;;
926 --disable-x11) _x11
=no
;;
927 --enable-xshape) _xshape
=yes ;;
928 --disable-xshape) _xshape
=no
;;
929 --enable-xss) _xss
=yes ;;
930 --disable-xss) _xss
=no
;;
931 --enable-xv) _xv
=yes ;;
932 --disable-xv) _xv
=no
;;
933 --enable-xvmc) _xvmc
=yes ;;
934 --disable-xvmc) _xvmc
=no
;;
935 --enable-vdpau) _vdpau
=yes ;;
936 --disable-vdpau) _vdpau
=no
;;
937 --enable-sdl) _sdl
=yes ;;
938 --disable-sdl) _sdl
=no
;;
939 --enable-kva) _kva
=yes ;;
940 --disable-kva) _kva
=no
;;
941 --enable-direct3d) _direct3d
=yes ;;
942 --disable-direct3d) _direct3d
=no
;;
943 --enable-directx) _directx
=yes ;;
944 --disable-directx) _directx
=no
;;
945 --enable-win32waveout) _win32waveout
=yes ;;
946 --disable-win32waveout) _win32waveout
=no
;;
947 --enable-nas) _nas
=yes ;;
948 --disable-nas) _nas
=no
;;
949 --enable-png) _png
=yes ;;
950 --disable-png) _png
=no
;;
951 --enable-mng) _mng
=yes ;;
952 --disable-mng) _mng
=no
;;
953 --enable-jpeg) _jpeg
=yes ;;
954 --disable-jpeg) _jpeg
=no
;;
955 --enable-libopenjpeg) libopenjpeg
=yes ;;
956 --disable-libopenjpeg)libopenjpeg
=no
;;
957 --enable-pnm) _pnm
=yes ;;
958 --disable-pnm) _pnm
=no
;;
959 --enable-md5sum) _md5sum
=yes ;;
960 --disable-md5sum) _md5sum
=no
;;
961 --enable-yuv4mpeg) _yuv4mpeg
=yes ;;
962 --disable-yuv4mpeg) _yuv4mpeg
=no
;;
963 --enable-gif) _gif
=yes ;;
964 --disable-gif) _gif
=no
;;
965 --enable-gl) _gl
=yes ;;
966 --disable-gl) _gl
=no
;;
967 --enable-matrixview) matrixview
=yes ;;
968 --disable-matrixview) matrixview
=no
;;
969 --enable-ggi) _ggi
=yes ;;
970 --disable-ggi) _ggi
=no
;;
971 --enable-ggiwmh) _ggiwmh
=yes ;;
972 --disable-ggiwmh) _ggiwmh
=no
;;
973 --enable-aa) _aa
=yes ;;
974 --disable-aa) _aa
=no
;;
975 --enable-caca) _caca
=yes ;;
976 --disable-caca) _caca
=no
;;
977 --enable-svga) _svga
=yes ;;
978 --disable-svga) _svga
=no
;;
979 --enable-vesa) _vesa
=yes ;;
980 --disable-vesa) _vesa
=no
;;
981 --enable-fbdev) _fbdev
=yes ;;
982 --disable-fbdev) _fbdev
=no
;;
983 --enable-dvb) _dvb
=yes ;;
984 --disable-dvb) _dvb
=no
;;
985 --enable-dvbhead) _dvbhead
=yes ;;
986 --disable-dvbhead) _dvbhead
=no
;;
987 --enable-dxr2) _dxr2
=yes ;;
988 --disable-dxr2) _dxr2
=no
;;
989 --enable-dxr3) _dxr3
=yes ;;
990 --disable-dxr3) _dxr3
=no
;;
991 --enable-ivtv) _ivtv
=yes ;;
992 --disable-ivtv) _ivtv
=no
;;
993 --enable-v4l2) _v4l2
=yes ;;
994 --disable-v4l2) _v4l2
=no
;;
995 --enable-iconv) _iconv
=yes ;;
996 --disable-iconv) _iconv
=no
;;
997 --enable-langinfo) _langinfo
=yes ;;
998 --disable-langinfo) _langinfo
=no
;;
999 --enable-rtc) _rtc
=yes ;;
1000 --disable-rtc) _rtc
=no
;;
1001 --enable-libdv) _libdv
=yes ;;
1002 --disable-libdv) _libdv
=no
;;
1003 --enable-ossaudio) _ossaudio
=yes ;;
1004 --disable-ossaudio) _ossaudio
=no
;;
1005 --enable-arts) _arts
=yes ;;
1006 --disable-arts) _arts
=no
;;
1007 --enable-esd) _esd
=yes ;;
1008 --disable-esd) _esd
=no
;;
1009 --enable-pulse) _pulse
=yes ;;
1010 --disable-pulse) _pulse
=no
;;
1011 --enable-jack) _jack
=yes ;;
1012 --disable-jack) _jack
=no
;;
1013 --enable-openal) _openal
=yes ;;
1014 --disable-openal) _openal
=no
;;
1015 --enable-kai) _kai
=yes ;;
1016 --disable-kai) _kai
=no
;;
1017 --enable-dart) _dart
=yes ;;
1018 --disable-dart) _dart
=no
;;
1019 --enable-mad) _mad
=yes ;;
1020 --disable-mad) _mad
=no
;;
1021 --enable-mp3lame) _mp3lame
=yes ;;
1022 --disable-mp3lame) _mp3lame
=no
;;
1023 --enable-mp3lame-lavc) _mp3lame_lavc
=yes ;;
1024 --disable-mp3lame-lavc) _mp3lame_lavc
=no
;;
1025 --enable-toolame) _toolame
=yes ;;
1026 --disable-toolame) _toolame
=no
;;
1027 --enable-twolame) _twolame
=yes ;;
1028 --disable-twolame) _twolame
=no
;;
1029 --enable-libcdio) _libcdio
=yes ;;
1030 --disable-libcdio) _libcdio
=no
;;
1031 --enable-liblzo) _liblzo
=yes ;;
1032 --disable-liblzo) _liblzo
=no
;;
1033 --enable-libvorbis) _libvorbis
=yes ;;
1034 --disable-libvorbis) _libvorbis
=no
;;
1035 --enable-speex) _speex
=yes ;;
1036 --disable-speex) _speex
=no
;;
1037 --enable-tremor) _tremor
=yes ;;
1038 --disable-tremor) _tremor
=no
;;
1039 --enable-tremor-internal) _tremor_internal
=yes ;;
1040 --disable-tremor-internal) _tremor_internal
=no
;;
1041 --enable-tremor-low) _tremor_low
=yes ;;
1042 --disable-tremor-low) _tremor_low
=no
;;
1043 --enable-theora) _theora
=yes ;;
1044 --disable-theora) _theora
=no
;;
1045 --enable-mp3lib) _mp3lib
=yes ;;
1046 --disable-mp3lib) _mp3lib
=no
;;
1047 --enable-liba52-internal) _liba52_internal
=yes ;;
1048 --disable-liba52-internal) _liba52_internal
=no
;;
1049 --enable-liba52) _liba52
=yes ;;
1050 --disable-liba52) _liba52
=no
;;
1051 --enable-libdca) _libdca
=yes ;;
1052 --disable-libdca) _libdca
=no
;;
1053 --enable-libmpeg2) _libmpeg2
=yes ;;
1054 --disable-libmpeg2) _libmpeg2
=no
;;
1055 --enable-musepack) _musepack
=yes ;;
1056 --disable-musepack) _musepack
=no
;;
1057 --enable-faad) _faad
=yes ;;
1058 --disable-faad) _faad
=no
;;
1059 --enable-faad-internal) _faad_internal
=yes ;;
1060 --disable-faad-internal) _faad_internal
=no
;;
1061 --enable-faad-fixed) _faad_fixed
=yes ;;
1062 --disable-faad-fixed) _faad_fixed
=no
;;
1063 --enable-faac) _faac
=yes ;;
1064 --disable-faac) _faac
=no
;;
1065 --enable-faac-lavc) _faac_lavc
=yes ;;
1066 --disable-faac-lavc) _faac_lavc
=no
;;
1067 --enable-ladspa) _ladspa
=yes ;;
1068 --disable-ladspa) _ladspa
=no
;;
1069 --enable-libbs2b) _libbs2b
=yes ;;
1070 --disable-libbs2b) _libbs2b
=no
;;
1071 --enable-xmms) _xmms
=yes ;;
1072 --disable-xmms) _xmms
=no
;;
1073 --enable-vcd) _vcd
=yes ;;
1074 --disable-vcd) _vcd
=no
;;
1075 --enable-dvdread) _dvdread
=yes ;;
1076 --disable-dvdread) _dvdread
=no
;;
1077 --enable-dvdread-internal) _dvdread_internal
=yes ;;
1078 --disable-dvdread-internal) _dvdread_internal
=no
;;
1079 --enable-libdvdcss-internal) _libdvdcss_internal
=yes ;;
1080 --disable-libdvdcss-internal) _libdvdcss_internal
=no
;;
1081 --enable-dvdnav) _dvdnav
=yes ;;
1082 --disable-dvdnav) _dvdnav
=no
;;
1083 --enable-xanim) _xanim
=yes ;;
1084 --disable-xanim) _xanim
=no
;;
1085 --enable-real) _real
=yes ;;
1086 --disable-real) _real
=no
;;
1087 --enable-live) _live
=yes ;;
1088 --disable-live) _live
=no
;;
1089 --enable-nemesi) _nemesi
=yes ;;
1090 --disable-nemesi) _nemesi
=no
;;
1091 --enable-xinerama) _xinerama
=yes ;;
1092 --disable-xinerama) _xinerama
=no
;;
1093 --enable-mga) _mga
=yes ;;
1094 --disable-mga) _mga
=no
;;
1095 --enable-xmga) _xmga
=yes ;;
1096 --disable-xmga) _xmga
=no
;;
1097 --enable-vm) _vm
=yes ;;
1098 --disable-vm) _vm
=no
;;
1099 --enable-xf86keysym) _xf86keysym
=yes ;;
1100 --disable-xf86keysym) _xf86keysym
=no
;;
1101 --enable-mlib) _mlib
=yes ;;
1102 --disable-mlib) _mlib
=no
;;
1103 --enable-sunaudio) _sunaudio
=yes ;;
1104 --disable-sunaudio) _sunaudio
=no
;;
1105 --enable-sgiaudio) _sgiaudio
=yes ;;
1106 --disable-sgiaudio) _sgiaudio
=no
;;
1107 --enable-alsa) _alsa
=yes ;;
1108 --disable-alsa) _alsa
=no
;;
1109 --enable-tv) _tv
=yes ;;
1110 --disable-tv) _tv
=no
;;
1111 --enable-tv-bsdbt848) _tv_bsdbt848
=yes ;;
1112 --disable-tv-bsdbt848) _tv_bsdbt848
=no
;;
1113 --enable-tv-v4l1) _tv_v4l1
=yes ;;
1114 --disable-tv-v4l1) _tv_v4l1
=no
;;
1115 --enable-tv-v4l2) _tv_v4l2
=yes ;;
1116 --disable-tv-v4l2) _tv_v4l2
=no
;;
1117 --enable-tv-dshow) _tv_dshow
=yes ;;
1118 --disable-tv-dshow) _tv_dshow
=no
;;
1119 --enable-radio) _radio
=yes ;;
1120 --enable-radio-capture) _radio_capture
=yes ;;
1121 --disable-radio-capture) _radio_capture
=no
;;
1122 --disable-radio) _radio
=no
;;
1123 --enable-radio-v4l) _radio_v4l
=yes ;;
1124 --disable-radio-v4l) _radio_v4l
=no
;;
1125 --enable-radio-v4l2) _radio_v4l2
=yes ;;
1126 --disable-radio-v4l2) _radio_v4l2
=no
;;
1127 --enable-radio-bsdbt848) _radio_bsdbt848
=yes ;;
1128 --disable-radio-bsdbt848) _radio_bsdbt848
=no
;;
1129 --enable-pvr) _pvr
=yes ;;
1130 --disable-pvr) _pvr
=no
;;
1131 --enable-fastmemcpy) _fastmemcpy
=yes ;;
1132 --disable-fastmemcpy) _fastmemcpy
=no
;;
1133 --enable-hardcoded-tables) hardcoded_tables
=yes ;;
1134 --disable-hardcoded-tables) hardcoded_tables
=no
;;
1135 --enable-network) _network
=yes ;;
1136 --disable-network) _network
=no
;;
1137 --enable-winsock2_h) _winsock2_h
=yes ;;
1138 --disable-winsock2_h) _winsock2_h
=no
;;
1139 --enable-smb) _smb
=yes ;;
1140 --disable-smb) _smb
=no
;;
1141 --enable-vidix) _vidix
=yes ;;
1142 --disable-vidix) _vidix
=no
;;
1143 --with-vidix-drivers=*)
1144 _vidix_drivers
=$
(echo $ac_option | cut
-d '=' -f 2)
1146 --disable-vidix-pcidb) _vidix_pcidb
=no
;;
1147 --enable-dhahelper) _dhahelper
=yes ;;
1148 --disable-dhahelper) _dhahelper
=no
;;
1149 --enable-svgalib_helper) _svgalib_helper
=yes ;;
1150 --disable-svgalib_helper) _svgalib_helper
=no
;;
1151 --enable-joystick) _joystick
=yes ;;
1152 --disable-joystick) _joystick
=no
;;
1153 --enable-xvid) _xvid
=yes ;;
1154 --disable-xvid) _xvid
=no
;;
1155 --enable-xvid-lavc) _xvid_lavc
=yes ;;
1156 --disable-xvid-lavc) _xvid_lavc
=no
;;
1157 --enable-x264) _x264
=yes ;;
1158 --disable-x264) _x264
=no
;;
1159 --enable-x264-lavc) _x264_lavc
=yes ;;
1160 --disable-x264-lavc) _x264_lavc
=no
;;
1161 --enable-libdirac-lavc) _libdirac_lavc
=yes ;;
1162 --disable-libdirac-lavc) _libdirac_lavc
=no
;;
1163 --enable-libschroedinger-lavc) _libschroedinger_lavc
=yes ;;
1164 --disable-libschroedinger-lavc) _libschroedinger_lavc
=no
;;
1165 --enable-libnut) _libnut
=yes ;;
1166 --disable-libnut) _libnut
=no
;;
1167 --enable-libavutil_a) _libavutil_a
=yes ;;
1168 --disable-libavutil_a) _libavutil_a
=no
;;
1169 --enable-libavutil_so) _libavutil_so
=yes ;;
1170 --disable-libavutil_so) _libavutil_so
=no
;;
1171 --enable-libavcodec_a) _libavcodec_a
=yes ;;
1172 --disable-libavcodec_a) _libavcodec_a
=no
;;
1173 --enable-libavcodec_so) _libavcodec_so
=yes ;;
1174 --disable-libavcodec_so) _libavcodec_so
=no
;;
1175 --enable-libopencore_amrnb) _libopencore_amrnb
=yes ;;
1176 --disable-libopencore_amrnb) _libopencore_amrnb
=no
;;
1177 --enable-libopencore_amrwb) _libopencore_amrwb
=yes ;;
1178 --disable-libopencore_amrwb) _libopencore_amrwb
=no
;;
1179 --enable-decoder=*) _libavdecoders
="$_libavdecoders $(echo $ac_option | cut -d '=' -f 2 | tr '[a-z]' '[A-Z]')" ;;
1180 --disable-decoder=*) _libavdecoders
=$
(echo $_libavdecoders |
sed "s/$(echo $ac_option | cut -d '=' -f 2 | tr '[a-z]' '[A-Z]')//g") ;;
1181 --enable-encoder=*) _libavencoders
="$_libavencoders $(echo $ac_option | cut -d '=' -f 2 | tr '[a-z]' '[A-Z]')" ;;
1182 --disable-encoder=*) _libavencoders
=$
(echo $_libavencoders |
sed "s/$(echo $ac_option | cut -d '=' -f 2 | tr '[a-z]' '[A-Z]')//g") ;;
1183 --enable-parser=*) _libavparsers
="$_libavparsers $(echo $ac_option | cut -d '=' -f 2 | tr '[a-z]' '[A-Z]')" ;;
1184 --disable-parser=*) _libavparsers
=$
(echo $_libavparsers |
sed "s/$(echo $ac_option | cut -d '=' -f 2 | tr '[a-z]' '[A-Z]')//g") ;;
1185 --enable-protocol=*) _libavprotocols
="$_libavprotocols $(echo $ac_option | cut -d '=' -f 2 | tr '[a-z]' '[A-Z]')" ;;
1186 --disable-protocol=*) _libavprotocols
=$
(echo $_libavprotocols |
sed "s/$(echo $ac_option | cut -d '=' -f 2 | tr '[a-z]' '[A-Z]')//g") ;;
1187 --enable-demuxer=*) _libavdemuxers
="$_libavdemuxers $(echo $ac_option | cut -d '=' -f 2 | tr '[a-z]' '[A-Z]')" ;;
1188 --disable-demuxer=*) _libavdemuxers
=$
(echo $_libavdemuxers |
sed "s/$(echo $ac_option | cut -d '=' -f 2 | tr '[a-z]' '[A-Z]')//g") ;;
1189 --enable-muxer=*) _libavmuxers
="$_libavmuxers $(echo $ac_option | cut -d '=' -f 2 | tr '[a-z]' '[A-Z]')" ;;
1190 --disable-muxer=*) _libavmuxers
=$
(echo $_libavmuxers |
sed "s/$(echo $ac_option | cut -d '=' -f 2 | tr '[a-z]' '[A-Z]')//g") ;;
1191 --enable-libavformat_a) _libavformat_a
=yes ;;
1192 --disable-libavformat_a) _libavformat_a
=no
;;
1193 --enable-libavformat_so) _libavformat_so
=yes ;;
1194 --disable-libavformat_so) _libavformat_so
=no
;;
1195 --enable-libpostproc_a) _libpostproc_a
=yes ;;
1196 --disable-libpostproc_a) _libpostproc_a
=no
;;
1197 --enable-libpostproc_so) _libpostproc_so
=yes ;;
1198 --disable-libpostproc_so) _libpostproc_so
=no
;;
1199 --enable-libswscale_a) _libswscale_a
=yes ;;
1200 --disable-libswscale_a) _libswscale_a
=no
;;
1201 --enable-libswscale_so) _libswscale_so
=yes ;;
1202 --disable-libswscale_so) _libswscale_so
=no
;;
1203 --enable-libavcodec_mpegaudio_hp) _libavcodec_mpegaudio_hp
=yes ;;
1204 --disable-libavcodec_mpegaudio_hp) _libavcodec_mpegaudio_hp
=no
;;
1206 --enable-lirc) _lirc
=yes ;;
1207 --disable-lirc) _lirc
=no
;;
1208 --enable-lircc) _lircc
=yes ;;
1209 --disable-lircc) _lircc
=no
;;
1210 --enable-apple-remote) _apple_remote
=yes ;;
1211 --disable-apple-remote) _apple_remote
=no
;;
1212 --enable-apple-ir) _apple_ir
=yes ;;
1213 --disable-apple-ir) _apple_ir
=no
;;
1214 --enable-gui) _gui
=yes ;;
1215 --disable-gui) _gui
=no
;;
1216 --enable-gtk1) _gtk1
=yes ;;
1217 --disable-gtk1) _gtk1
=no
;;
1218 --enable-termcap) _termcap
=yes ;;
1219 --disable-termcap) _termcap
=no
;;
1220 --enable-termios) _termios
=yes ;;
1221 --disable-termios) _termios
=no
;;
1222 --enable-3dfx) _3dfx
=yes ;;
1223 --disable-3dfx) _3dfx
=no
;;
1224 --enable-s3fb) _s3fb
=yes ;;
1225 --disable-s3fb) _s3fb
=no
;;
1226 --enable-wii) _wii
=yes ;;
1227 --disable-wii) _wii
=no
;;
1228 --enable-tdfxfb) _tdfxfb
=yes ;;
1229 --disable-tdfxfb) _tdfxfb
=no
;;
1230 --disable-tdfxvid) _tdfxvid
=no
;;
1231 --enable-tdfxvid) _tdfxvid
=yes ;;
1232 --disable-xvr100) _xvr100
=no
;;
1233 --enable-xvr100) _xvr100
=yes ;;
1234 --disable-tga) _tga
=no
;;
1235 --enable-tga) _tga
=yes ;;
1236 --enable-directfb) _directfb
=yes ;;
1237 --disable-directfb) _directfb
=no
;;
1238 --enable-zr) _zr
=yes ;;
1239 --disable-zr) _zr
=no
;;
1240 --enable-bl) _bl
=yes ;;
1241 --disable-bl) _bl
=no
;;
1242 --enable-mtrr) _mtrr
=yes ;;
1243 --disable-mtrr) _mtrr
=no
;;
1244 --enable-largefiles) _largefiles
=yes ;;
1245 --disable-largefiles) _largefiles
=no
;;
1246 --enable-shm) _shm
=yes ;;
1247 --disable-shm) _shm
=no
;;
1248 --enable-select) _select
=yes ;;
1249 --disable-select) _select
=no
;;
1250 --enable-linux-devfs) _linux_devfs
=yes ;;
1251 --disable-linux-devfs) _linux_devfs
=no
;;
1252 --enable-cdparanoia) _cdparanoia
=yes ;;
1253 --disable-cdparanoia) _cdparanoia
=no
;;
1254 --enable-cddb) _cddb
=yes ;;
1255 --disable-cddb) _cddb
=no
;;
1256 --enable-big-endian) _big_endian
=yes ;;
1257 --disable-big-endian) _big_endian
=no
;;
1258 --enable-bitmap-font) _bitmap_font
=yes ;;
1259 --disable-bitmap-font) _bitmap_font
=no
;;
1260 --enable-freetype) _freetype
=yes ;;
1261 --disable-freetype) _freetype
=no
;;
1262 --enable-fontconfig) _fontconfig
=yes ;;
1263 --disable-fontconfig) _fontconfig
=no
;;
1264 --enable-unrarexec) _unrar_exec
=yes ;;
1265 --disable-unrarexec) _unrar_exec
=no
;;
1266 --enable-ftp) _ftp
=yes ;;
1267 --disable-ftp) _ftp
=no
;;
1268 --enable-vstream) _vstream
=yes ;;
1269 --disable-vstream) _vstream
=no
;;
1270 --enable-pthreads) _pthreads
=yes ;;
1271 --disable-pthreads) _pthreads
=no
;;
1272 --enable-w32threads) _w32threads
=yes ;;
1273 --disable-w32threads) _w32threads
=no
;;
1274 --enable-ass) _ass
=yes ;;
1275 --disable-ass) _ass
=no
;;
1276 --enable-ass-internal) ass_internal
=yes ;;
1277 --disable-ass-internal) ass_internal
=no
;;
1278 --enable-rpath) _rpath
=yes ;;
1279 --disable-rpath) _rpath
=no
;;
1281 --enable-fribidi) _fribidi
=yes ;;
1282 --disable-fribidi) _fribidi
=no
;;
1284 --enable-enca) _enca
=yes ;;
1285 --disable-enca) _enca
=no
;;
1287 --enable-inet6) _inet6
=yes ;;
1288 --disable-inet6) _inet6
=no
;;
1290 --enable-gethostbyname2) _gethostbyname2
=yes ;;
1291 --disable-gethostbyname2) _gethostbyname2
=no
;;
1293 --enable-dga1) _dga1
=yes ;;
1294 --disable-dga1) _dga1
=no
;;
1295 --enable-dga2) _dga2
=yes ;;
1296 --disable-dga2) _dga2
=no
;;
1298 --enable-menu) _menu
=yes ;;
1299 --disable-menu) _menu
=no
;;
1301 --enable-qtx) _qtx
=yes ;;
1302 --disable-qtx) _qtx
=no
;;
1304 --enable-coreaudio) _coreaudio
=yes ;;
1305 --disable-coreaudio) _coreaudio
=no
;;
1306 --enable-corevideo) _corevideo
=yes ;;
1307 --disable-corevideo) _corevideo
=no
;;
1308 --enable-quartz) _quartz
=yes ;;
1309 --disable-quartz) _quartz
=no
;;
1310 --enable-macosx-finder) _macosx_finder
=yes ;;
1311 --disable-macosx-finder) _macosx_finder
=no
;;
1312 --enable-macosx-bundle) _macosx_bundle
=yes ;;
1313 --disable-macosx-bundle) _macosx_bundle
=no
;;
1315 --enable-maemo) _maemo
=yes ;;
1316 --disable-maemo) _maemo
=no
;;
1318 --enable-sortsub) _sortsub
=yes ;;
1319 --disable-sortsub) _sortsub
=no
;;
1321 --enable-crash-debug) _crash_debug
=yes ;;
1322 --disable-crash-debug) _crash_debug
=no
;;
1323 --enable-sighandler) _sighandler
=yes ;;
1324 --disable-sighandler) _sighandler
=no
;;
1325 --enable-win32dll) _win32dll
=yes ;;
1326 --disable-win32dll) _win32dll
=no
;;
1328 --enable-sse) _sse
=yes ;;
1329 --disable-sse) _sse
=no
;;
1330 --enable-sse2) _sse2
=yes ;;
1331 --disable-sse2) _sse2
=no
;;
1332 --enable-ssse3) _ssse3
=yes ;;
1333 --disable-ssse3) _ssse3
=no
;;
1334 --enable-mmxext) _mmxext
=yes ;;
1335 --disable-mmxext) _mmxext
=no
;;
1336 --enable-3dnow) _3dnow
=yes ;;
1337 --disable-3dnow) _3dnow
=no _3dnowext
=no
;;
1338 --enable-3dnowext) _3dnow
=yes _3dnowext
=yes ;;
1339 --disable-3dnowext) _3dnowext
=no
;;
1340 --enable-cmov) _cmov
=yes ;;
1341 --disable-cmov) _cmov
=no
;;
1342 --enable-fast-cmov) _fast_cmov
=yes ;;
1343 --disable-fast-cmov) _fast_cmov
=no
;;
1344 --enable-fast-clz) _fast_clz
=yes ;;
1345 --disable-fast-clz) _fast_clz
=no
;;
1346 --enable-altivec) _altivec
=yes ;;
1347 --disable-altivec) _altivec
=no
;;
1348 --enable-armv5te) _armv5te
=yes ;;
1349 --disable-armv5te) _armv5te
=no
;;
1350 --enable-armv6) _armv6
=yes ;;
1351 --disable-armv6) _armv6
=no
;;
1352 --enable-armv6t2) _armv6t2
=yes ;;
1353 --disable-armv6t2) _armv6t2
=no
;;
1354 --enable-armvfp) _armvfp
=yes ;;
1355 --disable-armvfp) _armvfp
=no
;;
1356 --enable-neon) neon
=yes ;;
1357 --disable-neon) neon
=no
;;
1358 --enable-iwmmxt) _iwmmxt
=yes ;;
1359 --disable-iwmmxt) _iwmmxt
=no
;;
1360 --enable-mmx) _mmx
=yes ;;
1361 --disable-mmx) # 3Dnow! and MMX2 require MMX
1362 _3dnow
=no _3dnowext
=no _mmx
=no _mmxext
=no
;;
1365 echo "Unknown parameter: $ac_option"
1372 # Atmos: moved this here, to be correct, if --prefix is specified
1373 test -z "$_bindir" && _bindir
="$_prefix/bin"
1374 test -z "$_datadir" && _datadir
="$_prefix/share/mplayer"
1375 test -z "$_mandir" && _mandir
="$_prefix/share/man"
1376 test -z "$_confdir" && _confdir
="$_prefix/etc/mplayer"
1377 test -z "$_libdir" && _libdir
="$_prefix/lib"
1379 # Determine our OS name and CPU architecture
1380 if test -z "$_target" ; then
1382 system_name
=$
(uname
-s 2>&1)
1383 case "$system_name" in
1384 Linux|FreeBSD|NetBSD|OpenBSD|DragonFly|BSD
/OS|Darwin|SunOS|QNX|GNU|BeOS|MorphOS|AIX|AmigaOS
)
1398 [cC
][yY
][gG
][wW
][iI
][nN
]*)
1408 system_name
="$system_name-UNKNOWN"
1413 # host's CPU/instruction set
1414 host_arch
=$
(uname
-p 2>&1)
1415 case "$host_arch" in
1416 i386|sparc|ppc|alpha|arm|mips|vax
)
1418 powerpc
) # Darwin returns 'powerpc'
1421 *) # uname -p on Linux returns 'unknown' for the processor type,
1422 # OpenBSD returns 'Intel Pentium/MMX ("Genuine Intel" 586-class)'
1424 # Maybe uname -m (machine hardware name) returns something we
1427 # x86/x86pc is used by QNX
1428 case "$(uname -m 2>&1)" in
1429 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
;;
1430 ia64
) host_arch
=ia64
;;
1431 macppc|ppc
) host_arch
=ppc
;;
1432 ppc64
) host_arch
=ppc64
;;
1433 alpha
) host_arch
=alpha
;;
1434 sparc
) host_arch
=sparc
;;
1435 sparc64
) host_arch
=sparc64
;;
1436 parisc
*|hppa
*|
9000*) host_arch
=hppa
;;
1437 arm
*|zaurus|cats
) host_arch
=arm
;;
1438 sh3|sh4|sh4a
) host_arch
=sh
;;
1439 s390
) host_arch
=s390
;;
1440 s390x
) host_arch
=s390x
;;
1441 *mips
*) host_arch
=mips
;;
1442 vax
) host_arch
=vax
;;
1443 xtensa
*) host_arch
=xtensa
;;
1444 *) host_arch
=UNKNOWN
;;
1448 else # if test -z "$_target"
1449 system_name
=$
(echo $_target | cut
-d '-' -f 2)
1450 case "$(echo $system_name | tr A-Z a-z)" in
1451 linux
) system_name
=Linux
;;
1452 freebsd
) system_name
=FreeBSD
;;
1453 gnu
/kfreebsd
) system_name
=FreeBSD
;;
1454 netbsd
) system_name
=NetBSD
;;
1455 bsd
/os
) system_name
=BSD
/OS
;;
1456 openbsd
) system_name
=OpenBSD
;;
1457 dragonfly
) system_name
=DragonFly
;;
1458 sunos
) system_name
=SunOS
;;
1459 qnx
) system_name
=QNX
;;
1460 morphos
) system_name
=MorphOS
;;
1461 amigaos
) system_name
=AmigaOS
;;
1462 mingw32
*) system_name
=MINGW32
;;
1464 # We need to convert underscores so that values like k6-2 and pentium-mmx can be passed
1465 host_arch
=$
(echo $_target | cut
-d '-' -f 1)
1466 if test $
(echo $host_arch) != "x86_64" ; then
1467 host_arch
=$
(echo $host_arch |
tr '_' '-')
1471 extra_cflags
="-I. $extra_cflags"
1472 _timer
=timer-linux.c
1475 extra_ldflags
="$extra_ldflags -L/usr/local/lib"
1476 extra_cflags
="$extra_cflags -I/usr/local/include"
1479 if netbsd || dragonfly
; then
1480 extra_ldflags
="$extra_ldflags -L/usr/pkg/lib"
1481 extra_cflags
="$extra_cflags -I/usr/pkg/include"
1485 extra_cflags
="-mdynamic-no-pic -falign-loops=16 -shared-libgcc $extra_cflags"
1486 _timer
=timer-darwin.c
1490 extra_ldflags
="$extra_ldflags -lC"
1501 extra_cflags
="$extra_cflags -fno-common"
1502 # -lwinmm is always needed for osdep/timer-win2.c
1503 extra_ldflags
="$extra_ldflags -lwinmm"
1507 def_dos_paths
="#define HAVE_DOS_PATHS 1"
1508 def_priority
="#define CONFIG_PRIORITY 1"
1520 def_stream_cache
="#undef CONFIG_STREAM_CACHE"
1521 extra_cflags
="-DNEWLIB -D__USE_INLINE__ $extra_cflags"
1525 extra_ldflags
="$extra_ldflags -lph"
1533 def_dos_paths
="#define HAVE_DOS_PATHS 1"
1534 def_priority
="#define CONFIG_PRIORITY 1"
1537 for I
in "$TMPDIR" "$TEMPDIR" "/tmp" ; do
1542 TMPLOG
="configure.log"
1543 TMPC
="$I/mplayer-conf-$RANDOM-$$.c"
1544 TMPCPP
="$I/mplayer-conf-$RANDOM-$$.cpp"
1545 TMPEXE
="$I/mplayer-conf-$RANDOM-$$$_exesuf"
1546 TMPH
="$I/mplayer-conf-$RANDOM-$$.h"
1547 TMPS
="$I/mplayer-conf-$RANDOM-$$.S"
1550 echo configuration
: $_configuration > "$TMPLOG"
1554 if test "$_runtime_cpudetection" = yes && ! x86
&& ! ppc
; then
1555 die
"Runtime CPU detection only works for x86, x86-64 and PPC!"
1559 # Checking CC version...
1560 # Intel C++ Compilers (no autoselect, use CC=/some/binary ./configure)
1561 if test "$(basename $_cc)" = "icc" ||
test "$(basename $_cc)" = "ecc"; then
1562 echocheck
"$_cc version"
1564 cc_name
=$
($_cc -V 2>&1 |
head -n 1 | cut
-d ',' -f 1)
1565 cc_version
=$
($_cc -V 2>&1 |
head -n 1 | cut
-d ',' -f 2 | cut
-d ' ' -f 3)
1566 _cc_major
=$
(echo $cc_version | cut
-d '.' -f 1)
1567 _cc_minor
=$
(echo $cc_version | cut
-d '.' -f 2)
1568 # TODO verify older icc/ecc compatibility
1571 cc_version
="v. ?.??, bad"
1575 cc_version
="$cc_version, ok"
1578 cc_version
="$cc_version, bad"
1582 echores
"$cc_version"
1584 for _cc
in "$_cc" gcc cc
; do
1585 cc_name_tmp
=$
($_cc -v 2>&1 |
tail -n 1 | cut
-d ' ' -f 1)
1586 if test "$cc_name_tmp" = "gcc"; then
1587 cc_name
=$cc_name_tmp
1588 echocheck
"$_cc version"
1590 cc_version
=$
($_cc -dumpversion 2>&1)
1596 _cc_major
=$
(echo $cc_version | cut
-d '.' -f 1)
1597 _cc_minor
=$
(echo $cc_version | cut
-d '.' -f 2)
1598 _cc_mini
=$
(echo $cc_version | cut
-d '.' -f 3)
1601 echores
"$cc_version"
1604 cc_name_tmp
=$
($_cc -V 2>&1 |
head -n 1 | cut
-d ' ' -f 2,3)
1605 if test "$cc_name_tmp" = "Sun C"; then
1606 echocheck
"$_cc version"
1608 cc_version
=$
($_cc -V 2>&1 |
head -n 1 | cut
-d ' ' -f 4)
1609 _res_comment
="experimental support only"
1610 echores
"Sun C $cc_version"
1615 test "$cc_fail" = yes && die
"unsupported compiler version"
1617 if test -z "$_target" && x86
; then
1620 int test[(int)sizeof(char *)-7];
1624 cc_check
&& host_arch
=x86_64 || host_arch
=i386
1627 echo "Detected operating system: $system_name"
1628 echo "Detected host architecture: $host_arch"
1631 test "$_host_cc" || _host_cc
=$_cc
1634 echocheck
"cross compilation"
1635 if test $_cross_compile = auto
; then
1637 int main(void) { return 0; }
1640 cc_check
&& "$TMPEXE" && _cross_compile
=no
1642 echores
$_cross_compile
1644 if test $_cross_compile = yes; then
1652 # now that we know what compiler should be used for compilation, try to find
1653 # out which assembler is used by the $_cc compiler
1654 if test "$_as" = auto
; then
1655 _as
=$
($_cc -print-prog-name=as
)
1656 test -z "$_as" && _as
=as
1659 if test "$_nm" = auto
; then
1660 _nm
=$
($_cc -print-prog-name=nm
)
1661 test -z "$_nm" && _nm
=nm
1664 # XXX: this should be ok..
1667 if test "$_runtime_cpudetection" = no
; then
1669 # Cygwin has /proc/cpuinfo, but only supports Intel CPUs
1670 # FIXME: Remove the cygwin check once AMD CPUs are supported
1671 if test -r /proc
/cpuinfo
&& ! cygwin
; then
1672 # Linux with /proc mounted, extract CPU information from it
1673 _cpuinfo
="cat /proc/cpuinfo"
1674 elif test -r /compat
/linux
/proc
/cpuinfo
&& ! x86
; then
1675 # FreeBSD with Linux emulation /proc mounted,
1676 # extract CPU information from it
1677 # Don't use it on x86 though, it never reports 3Dnow
1678 _cpuinfo
="cat /compat/linux/proc/cpuinfo"
1679 elif darwin
&& ! x86
; then
1680 # use hostinfo on Darwin
1683 # use 'lsattr' on AIX
1684 _cpuinfo
="lsattr -E -l proc0 -a type"
1686 # all other OSes try to extract CPU information from a small helper
1687 # program cpuinfo instead
1688 $_cc -o cpuinfo
$_exesuf cpuinfo.c
1689 _cpuinfo
="./cpuinfo$_exesuf"
1693 # gather more CPU information
1694 pname
=$
($_cpuinfo |
grep 'model name' | cut
-d ':' -f 2 |
head -n 1)
1695 pvendor
=$
($_cpuinfo |
grep 'vendor_id' | cut
-d ':' -f 2 | cut
-d ' ' -f 2 |
head -n 1)
1696 pfamily
=$
($_cpuinfo |
grep 'cpu family' | cut
-d ':' -f 2 | cut
-d ' ' -f 2 |
head -n 1)
1697 pmodel
=$
($_cpuinfo |
grep -v 'model name' |
grep 'model' | cut
-d ':' -f 2 | cut
-d ' ' -f 2 |
head -n 1)
1698 pstepping
=$
($_cpuinfo |
grep 'stepping' | cut
-d ':' -f 2 | cut
-d ' ' -f 2 |
head -n 1)
1700 exts
=$
($_cpuinfo |
egrep 'features|flags' | cut
-d ':' -f 2 |
head -n 1)
1702 pparam
=$
(echo $exts |
sed -e s
/k6_mtrr
/mtrr
/ -e s
/cyrix_arr
/mtrr
/ -e s
/centaur_mcr
/mtrr
/ \
1703 -e s
/xmm
/sse
/ -e s
/kni
/sse
/)
1705 for ext
in $pparam ; do
1706 eval test \"\
$_$ext\" = auto
2>/dev
/null
&& eval _
$ext=kernel_check
1709 # SSE implies MMX2, but not all SSE processors report the mmxext CPU flag.
1710 test $_sse = kernel_check
&& _mmxext
=kernel_check
1712 echocheck
"CPU vendor"
1713 echores
"$pvendor ($pfamily:$pmodel:$pstepping)"
1715 echocheck
"CPU type"
1719 fi # test "$_runtime_cpudetection" = no
1721 if x86
&& test "$_runtime_cpudetection" = no
; then
1723 if test "$1" = kernel_check
; then
1724 echocheck
"kernel support of $2"
1728 void catch() { exit(1); }
1730 signal(SIGILL, catch);
1731 __asm__ volatile ("$3":::"memory"); return 0;
1735 if cc_check
&& tmp_run
; then
1738 _optimizing
="$_optimizing $2"
1743 echo "It seems that your kernel does not correctly support $2."
1744 echo "To use $2 extensions in MPlayer, you have to upgrade/recompile your kernel!"
1751 extcheck
$_mmx "mmx" "emms"
1752 extcheck
$_mmxext "mmxext" "sfence"
1753 extcheck
$_3dnow "3dnow" "femms"
1754 extcheck
$_3dnowext "3dnowext" "pswapd %%mm0, %%mm0"
1755 extcheck
$_sse "sse" "xorps %%xmm0, %%xmm0" || _gcc3_ext
="$_gcc3_ext -mno-sse"
1756 extcheck
$_sse2 "sse2" "xorpd %%xmm0, %%xmm0" || _gcc3_ext
="$_gcc3_ext -mno-sse2"
1757 extcheck
$_ssse3 "ssse3" "pabsd %%xmm0, %%xmm0"
1758 extcheck
$_cmov "cmov" "cmovb %%eax,%%ebx"
1760 echocheck
"mtrr support"
1761 if test "$_mtrr" = kernel_check
; then
1763 _optimizing
="$_optimizing mtrr"
1767 if test "$_gcc3_ext" != ""; then
1768 # if we had to disable sse/sse2 because the active kernel does not
1769 # support this instruction set extension, we also have to tell
1770 # gcc3 to not generate sse/sse2 instructions for normal C code
1772 int main(void) { return 0; }
1774 cc_check
$_march $_gcc3_ext && _march
="$_march $_gcc3_ext"
1780 def_fast_64bit
='#define HAVE_FAST_64BIT 0'
1781 def_fast_unaligned
='#define HAVE_FAST_UNALIGNED 0'
1782 _arch_all
='X86 X86_32 X86_64 IA64 SPARC ARM AVR32 SH4 PPC PPC64 ALPHA MIPS SGI_MIPS PA_RISC S390 S390X VAX BFIN XTENSA GENERIC'
1783 case "$host_arch" in
1784 i
[3-9]86|x86|x86pc|k5|k6|k6-2|k6-3|pentium
*|athlon
*|i586-i686
)
1786 _target_arch
="ARCH_X86 = yes"
1787 _target_subarch
="ARCH_X86_32 = yes"
1788 def_fast_unaligned
='#define HAVE_FAST_UNALIGNED 1'
1793 if test "$_runtime_cpudetection" = no
; then
1797 3) proc
=i386 iproc
=386 ;;
1798 4) proc
=i486 iproc
=486 ;;
1799 5) iproc
=586 # LGB: models are: K5/SSA5 K5 K5 K5 ? ? K6 K6 K6-2 K6-3
1800 # K6 model 13 are the K6-2+ and K6-III+, only differing in cache size.
1801 if test "$pmodel" -eq 9 -o "$pmodel" -eq 13; then
1803 elif test "$pmodel" -eq 5 -o "$pmodel" -eq 10; then
1805 elif test "$pmodel" -ge 8; then
1807 elif test "$pmodel" -ge 6; then
1814 # It's a bit difficult to determine the correct type of Family 6
1815 # AMD CPUs just from their signature. Instead, we check directly
1816 # whether it supports SSE.
1817 if test "$_sse" = yes; then
1818 # gcc treats athlon-xp, athlon-4 and athlon-mp similarly.
1821 # Again, gcc treats athlon and athlon-tbird similarly.
1826 # k8 cpu-type only supported in gcc >= 3.4.0, but that will be
1827 # caught and remedied in the optimization tests below.
1831 *) proc
=amdfam10 iproc
=686
1832 test $_fast_clz = "auto" && _fast_clz
=yes
1838 3) proc
=i386 iproc
=386 ;;
1839 4) proc
=i486 iproc
=486 ;;
1841 if test "$pmodel" -eq 4 ||
test "$pmodel" -eq 8; then
1842 proc
=pentium-mmx
# 4 is desktop, 8 is mobile
1848 if test "$pmodel" -ge 15; then
1850 elif test "$pmodel" -eq 9 -o "$pmodel" -ge 13; then
1852 elif test "$pmodel" -ge 7; then
1854 elif test "$pmodel" -ge 3; then
1859 test $_fast_clz = "auto" && _fast_clz
=yes
1862 # A nocona in 32-bit mode has no more capabilities than a prescott.
1863 if test "$pmodel" -ge 3; then
1867 test $_fast_clz = "auto" && _fast_clz
=yes
1869 test $_fast_cmov = "auto" && _fast_cmov
=no
1871 *) proc
=prescott iproc
=686 ;;
1877 if test "$pmodel" -ge 8; then
1879 elif test "$pmodel" -ge 4; then
1886 if test "$pmodel" -ge 9; then
1893 *) proc
=i686 iproc
=i686
;;
1898 3) proc
=i386 iproc
=386 ;;
1899 4) proc
=i486 iproc
=486 ;;
1900 *) proc
=i586 iproc
=586 ;;
1904 proc
=i586 iproc
=586 ;;
1906 test $_fast_clz = "auto" && _fast_clz
=no
1907 fi # test "$_runtime_cpudetection" = no
1910 # check that gcc supports our CPU, if not, fall back to earlier ones
1911 # LGB: check -mcpu and -march swithing step by step with enabling
1912 # to fall back till 386.
1914 # gcc >= 3.4.0 doesn't support -mcpu, we have to use -mtune instead
1916 if [ "$cc_vendor" = "gnu" ] && ([ "$_cc_major" -gt 3 ] ||
( [ "$_cc_major" = 3 ] && [ "$_cc_minor" -ge 4 ])) ; then
1922 echocheck
"GCC & CPU optimization abilities"
1924 int main(void) { return 0; }
1926 if test "$_runtime_cpudetection" = no
; then
1927 cc_check
-march=native
&& proc
=native
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 _target_arch
='ARCH_IA64 = yes'
2026 def_fast_64bit
='#define HAVE_FAST_64BIT 1'
2032 _target_subarch
='ARCH_X86_64 = yes'
2033 _target_arch
="ARCH_X86 = yes"
2034 def_fast_unaligned
='#define HAVE_FAST_UNALIGNED 1'
2035 def_fast_64bit
='#define HAVE_FAST_64BIT 1'
2038 # gcc >= 3.4.0 doesn't support -mcpu, we have to use -mtune instead
2039 if test "$cc_vendor" = "gnu" && test "$_cc_major" -gt 3 -o "$_cc_major" -eq 3 -a "$_cc_minor" -ge 4 ; then
2044 if test "$_runtime_cpudetection" = no
; then
2049 test $_fast_clz = "auto" && _fast_clz
=no
2058 # 64-bit prescotts exist, but as far as GCC is concerned they
2059 # have the same capabilities as a nocona.
2061 test $_fast_cmov = "auto" && _fast_cmov
=no
2062 test $_fast_clz = "auto" && _fast_clz
=no
2069 fi # test "$_runtime_cpudetection" = no
2071 echocheck
"GCC & CPU optimization abilities"
2073 int main(void) { return 0; }
2075 # This is a stripped-down version of the i386 fallback.
2076 if test "$_runtime_cpudetection" = no
; then
2077 cc_check
-march=native
&& proc
=native
2078 # --- AMD processors ---
2079 if test "$proc" = "k8"; then
2080 cc_check
-march=$proc $cpuopt=$proc || proc
=athlon-xp
2082 # This will fail if gcc version < 3.3, which is ok because earlier
2083 # versions don't really support 64-bit on amd64.
2084 # Is this a valid assumption? -Corey
2085 if test "$proc" = "athlon-xp"; then
2086 cc_check
-march=$proc $cpuopt=$proc || proc
=error
2088 # --- Intel processors ---
2089 if test "$proc" = "core2"; then
2090 cc_check
-march=$proc $cpuopt=$proc || proc
=x86-64
2092 if test "$proc" = "x86-64"; then
2093 cc_check
-march=$proc $cpuopt=$proc || proc
=nocona
2095 if test "$proc" = "nocona"; then
2096 cc_check
-march=$proc $cpuopt=$proc || proc
=pentium4
2098 if test "$proc" = "pentium4"; then
2099 cc_check
-march=$proc $cpuopt=$proc || proc
=error
2102 _march
="-march=$proc"
2103 _mcpu
="$cpuopt=$proc"
2104 if test "$proc" = "error" ; then
2105 echores
"CPU optimization disabled. CPU not recognized or your compiler is too old."
2109 else # if test "$_runtime_cpudetection" = no
2110 # x86-64 is an undocumented option, an intersection of k8 and nocona.
2111 _march
="-march=x86-64"
2112 _mcpu
="$cpuopt=generic"
2113 cc_check
$_mcpu || _mcpu
="x86-64"
2114 cc_check
$_mcpu || _mcpu
=""
2115 cc_check
$_march $_mcpu || _march
=""
2119 test $_fast_cmov = "auto" && _fast_cmov
=yes
2120 test $_fast_clz = "auto" && _fast_clz
=yes
2127 _target_arch
='ARCH_SPARC = yes'
2129 if test "$host_arch" = "sparc64" ; then
2132 def_fast_64bit
='#define HAVE_FAST_64BIT 1'
2134 echocheck
"CPU type"
2136 case "$(echo $karch)" in
2141 sun4u
) proc
=ultrasparc _vis
='yes' ;;
2155 _target_arch
='ARCH_ARM = yes'
2161 _target_arch
='ARCH_AVR32 = yes'
2162 def_fast_unaligned
='#define HAVE_FAST_UNALIGNED 1'
2164 test $_fast_clz = "auto" && _fast_clz
=yes
2169 _target_arch
='ARCH_SH4 = yes'
2173 ppc|ppc64|powerpc|powerpc64
)
2175 def_dcbzl
='#define HAVE_DCBZL 0'
2176 _target_arch
='ARCH_PPC = yes'
2177 def_fast_unaligned
='#define HAVE_FAST_UNALIGNED 1'
2180 if test "$host_arch" = "ppc64" -o "$host_arch" = "powerpc64" ; then
2182 _target_subarch
='ARCH_PPC64 = yes'
2183 def_fast_64bit
='#define HAVE_FAST_64BIT 1'
2185 echocheck
"CPU type"
2186 case $system_name in
2188 proc
=$
($_cpuinfo |
grep 'cpu' | cut
-d ':' -f 2 | cut
-d ',' -f 1 | cut
-b 2- |
head -n 1)
2189 if test -n "$($_cpuinfo | grep altivec)"; then
2190 test $_altivec = auto
&& _altivec
=yes
2194 proc
=$
($_cpuinfo |
grep "Processor type" | cut
-f 3 -d ' ' |
sed 's/ppc//')
2195 if [ $
(sysctl
-n hw.vectorunit
) -eq 1 -o \
2196 "$(sysctl -n hw.optional.altivec 2> /dev/null)" = "1" ]; then
2197 test $_altivec = auto
&& _altivec
=yes
2201 # only gcc 3.4 works reliably with AltiVec code under NetBSD
2203 2*|
3.0*|
3.1*|
3.2*|
3.3*)
2206 if [ $
(sysctl
-n machdep.altivec
) -eq 1 ]; then
2207 test $_altivec = auto
&& _altivec
=yes
2213 proc
=$
($_cpuinfo |
grep 'type' | cut
-f 2 -d ' ' |
sed 's/PowerPC_//')
2216 if test "$_altivec" = yes; then
2217 echores
"$proc altivec"
2223 echocheck
"GCC & CPU optimization abilities"
2225 if test -n "$proc"; then
2227 601) _march
='-mcpu=601' _mcpu
='-mtune=601' ;;
2228 603) _march
='-mcpu=603' _mcpu
='-mtune=603' ;;
2229 603e|
603ev
) _march
='-mcpu=603e' _mcpu
='-mtune=603e' ;;
2230 604|
604e|
604r|
604ev
) _march
='-mcpu=604' _mcpu
='-mtune=604' ;;
2231 740|
740/750|
745/755) _march
='-mcpu=740' _mcpu
='-mtune=740' ;;
2232 750|
750CX
) _march
='-mcpu=750' _mcpu
='-mtune=750' ;;
2233 POWER
) _march
='-mcpu=power' _mcpu
='-mtune=power' ;;
2234 POWER2
) _march
='-mcpu=power2' _mcpu
='-mtune=power2' ;;
2235 POWER3
) _march
='-mcpu=power3' _mcpu
='-mtune=power3' ;;
2238 # gcc 3.1(.1) and up supports 7400 and 7450
2239 if test "$_cc_major" -ge "3" && test "$_cc_minor" -ge "1" ||
test "$_cc_major" -ge "4"; then
2241 7400*|
7410*) _march
='-mcpu=7400' _mcpu
='-mtune=7400' ;;
2242 7447*|
7450*|
7455*) _march
='-mcpu=7450' _mcpu
='-mtune=7450' ;;
2246 # gcc 3.2 and up supports 970
2247 if test "$_cc_major" -ge "3" && test "$_cc_minor" -ge "3" ||
test "$_cc_major" -ge "4"; then
2249 970*|PPC970
*) _march
='-mcpu=970' _mcpu
='-mtune=970'
2250 def_dcbzl
='#define HAVE_DCBZL 1' ;;
2254 # gcc 3.3 and up supports POWER4
2255 if test "$_cc_major" -ge "3" && test "$_cc_minor" -ge "3" ||
test "$_cc_major" -ge "4"; then
2257 POWER4
) _march
='-mcpu=power4' _mcpu
='-mtune=power4' ;;
2261 # gcc 3.4 and up supports 440*
2262 if test "$_cc_major" -ge "3" && test "$_cc_minor" -ge "4" ||
test "$_cc_major" -ge "4"; then
2264 440EP
*) _march
='-mcpu=440fp' _mcpu
='-mtune=440fp' ;;
2265 440G
* ) _march
='-mcpu=440' _mcpu
='-mtune=440' ;;
2269 # gcc 4.0 and up supports POWER5
2270 if test "$_cc_major" -ge "4"; then
2272 POWER5
*) _march
='-mcpu=power5' _mcpu
='-mtune=power5' ;;
2278 if test -n "$_mcpu"; then
2279 _optimizing
=$
(echo $_mcpu | cut
-c 8-)
2280 echores
"$_optimizing"
2285 test $_fast_clz = "auto" && _fast_clz
=yes
2291 _target_arch
='ARCH_ALPHA = yes'
2294 echocheck
"CPU type"
2297 unsigned long ver, mask;
2298 __asm__ ("implver %0" : "=r" (ver));
2299 __asm__ ("amask %1, %0" : "=r" (mask) : "r" (-1));
2300 printf("%ld-%x\n", ver, ~mask);
2304 $_cc -o "$TMPEXE" "$TMPC"
2305 case $
("$TMPEXE") in
2307 0-0) proc
="ev4"; _mvi
="0";;
2308 1-0) proc
="ev5"; _mvi
="0";;
2309 1-1) proc
="ev56"; _mvi
="0";;
2310 1-101) proc
="pca56"; _mvi
="1";;
2311 2-303) proc
="ev6"; _mvi
="1";;
2312 2-307) proc
="ev67"; _mvi
="1";;
2313 2-1307) proc
="ev68"; _mvi
="1";;
2317 echocheck
"GCC & CPU optimization abilities"
2318 if test "$proc" = "ev68" ; then
2319 cc_check
-mcpu=$proc || proc
=ev67
2321 if test "$proc" = "ev67" ; then
2322 cc_check
-mcpu=$proc || proc
=ev6
2327 test $_fast_clz = "auto" && _fast_clz
=yes
2334 _target_arch
='ARCH_SGI_MIPS = yes'
2338 echocheck
"CPU type"
2339 proc
=$
(hinv
-c processor |
grep CPU | cut
-d " " -f3)
2340 case "$(echo $proc)" in
2341 R3000
) _march
='-mips1' _mcpu
='-mtune=r2000' ;;
2342 R4000
) _march
='-mips3' _mcpu
='-mtune=r4000' ;;
2343 R4400
) _march
='-mips3' _mcpu
='-mtune=r4400' ;;
2344 R4600
) _march
='-mips3' _mcpu
='-mtune=r4600' ;;
2345 R5000
) _march
='-mips4' _mcpu
='-mtune=r5000' ;;
2346 R8000|R10000|R12000|R14000|R16000
) _march
='-mips4' _mcpu
='-mtune=r8000' ;;
2348 # gcc < 3.x does not support -mtune.
2349 if test "$cc_vendor" = "gnu" && test "$_cc_major" -lt 3 ; then
2355 test $_fast_clz = "auto" && _fast_clz
=yes
2361 _target_arch
='ARCH_PA_RISC = yes'
2367 _target_arch
='ARCH_S390 = yes'
2373 _target_arch
='ARCH_S390X = yes'
2379 _target_arch
='ARCH_VAX = yes'
2385 _target_arch
='ARCH_XTENSA = yes'
2391 _target_arch
='ARCH_GENERIC = yes'
2395 echo "The architecture of your CPU ($host_arch) is not supported by this configure script"
2396 echo "It seems nobody has ported MPlayer to your OS or CPU type yet."
2397 die
"unsupported architecture $host_arch"
2399 esac # case "$host_arch" in
2401 if test "$_runtime_cpudetection" = yes ; then
2403 test "$_cmov" != no
&& _cmov
=yes
2405 test "$_mmx" != no
&& _mmx
=yes
2406 test "$_3dnow" != no
&& _3dnow
=yes
2407 test "$_3dnowext" != no
&& _3dnowext
=yes
2408 test "$_mmxext" != no
&& _mmxext
=yes
2409 test "$_sse" != no
&& _sse
=yes
2410 test "$_sse2" != no
&& _sse2
=yes
2411 test "$_ssse3" != no
&& _ssse3
=yes
2412 test "$_mtrr" != no
&& _mtrr
=yes
2421 echocheck
"byte order"
2422 if test "$_big_endian" = auto
; then
2424 short ascii_name[] = { (('M'<<8)|'P'),(('l'<<8)|'a'),(('y'<<8)|'e'),(('r'<<8)|'B'),
2425 (('i'<<8)|'g'),(('E'<<8)|'n'),(('d'<<8)|'i'),(('a'<<8)|'n'),0};
2426 int main(void) { return (int)ascii_name; }
2429 if strings $TMPEXE |
grep -q -l MPlayerBigEndian
; then
2435 echo ${_echo_n} "failed to autodetect byte order, defaulting to ${_echo_c}"
2438 if test "$_big_endian" = yes ; then
2439 _byte_order
='big-endian'
2440 def_words_endian
='#define WORDS_BIGENDIAN 1'
2441 def_bigendian
='#define HAVE_BIGENDIAN 1'
2442 def_av_bigendian
='#define AV_HAVE_BIGENDIAN 1'
2444 _byte_order
='little-endian'
2445 def_words_endian
='#undef WORDS_BIGENDIAN'
2446 def_bigendian
='#define HAVE_BIGENDIAN 0'
2447 def_av_bigendian
='#define AV_HAVE_BIGENDIAN 0'
2449 echores
"$_byte_order"
2452 echocheck
"extern symbol prefix"
2456 cc_check
-c || die
"Symbol mangling check failed."
2457 sym
=$
($_nm -P -g $TMPEXE)
2458 extern_prefix
=${sym%%ff_extern*}
2459 def_extern_asm
="#define EXTERN_ASM $extern_prefix"
2460 def_extern_prefix
="#define EXTERN_PREFIX \"$extern_prefix\""
2461 echores
$extern_prefix
2464 echocheck
"assembler support of -pipe option"
2466 int main(void) { return 0; }
2468 # -I. helps to detect compilers that just misunderstand -pipe like Sun C
2469 cc_check
-pipe -I.
&& _pipe
="-pipe" && echores
"yes" || echores
"no"
2472 echocheck
"compiler support of named assembler arguments"
2474 def_named_asm_args
="#define NAMED_ASM_ARGS 1"
2475 if test "$cc_vendor" = "gnu" && test "$_cc_major" -lt 3 \
2476 -o "$_cc_major" -eq 3 -a "$_cc_minor" = 0 ; then
2478 def_named_asm_args
="#undef NAMED_ASM_ARGS"
2480 echores
$_named_asm_args
2483 if darwin
&& test "$cc_vendor" = "gnu" ; then
2484 echocheck
"GCC support of -mstackrealign"
2485 # GCC 4.2 and some earlier Apple versions support this flag on x86. Since
2486 # Mac OS X/Intel has an ABI different from Windows this is needed to avoid
2487 # crashes when loading Win32 DLLs. Unfortunately some gcc versions create
2488 # wrong code with this flag, but this can be worked around by adding
2489 # -fno-unit-at-a-time as described in the blog post at
2490 # http://www.dribin.org/dave/blog/archives/2006/12/05/missing_third_param/
2492 __attribute__((noinline)) static int foo3(int i1, int i2, int i3) { return i3; }
2493 int main(void) { return foo3(1,2,3) == 3 ? 0 : 1; }
2495 cc_check
-O4 -mstackrealign && tmp_run
&& cflags_stackrealign
=-mstackrealign
2496 test -z "$cflags_stackrealign" && cc_check
-O4 -mstackrealign -fno-unit-at-a-time \
2497 && tmp_run
&& cflags_stackrealign
="-mstackrealign -fno-unit-at-a-time"
2498 test -n "$cflags_stackrealign" && echores
"yes" || echores
"no"
2499 fi # if darwin && test "$cc_vendor" = "gnu" ; then
2502 # Checking for CFLAGS
2504 if test "$_profile" != "" ||
test "$_debug" != "" ; then
2505 CFLAGS
="-W -Wall -O2 $_march $_mcpu $_pipe $_debug $_profile"
2507 elif test -z "$CFLAGS" ; then
2508 if test "$cc_vendor" = "intel" ; then
2509 CFLAGS
="-O2 $_march $_mcpu $_pipe -fomit-frame-pointer -wd167 -wd556 -wd144"
2510 elif test "$cc_vendor" = "sun" ; then
2511 CFLAGS
="-O2 $_march $_mcpu $_pipe -xc99 -xregs=frameptr"
2512 elif test "$cc_vendor" != "gnu" ; then
2513 CFLAGS
="-O2 $_march $_mcpu $_pipe"
2515 CFLAGS
="-Wall -Wno-switch -Wpointer-arith -Wredundant-decls -O4 $_march $_mcpu $_pipe -ffast-math -fomit-frame-pointer"
2516 extra_ldflags
="$extra_ldflags -ffast-math"
2523 int main(void) { return 0; }
2525 if test "$cc_vendor" = "gnu" ; then
2526 cc_check
-std=gnu99
&& CFLAGS
="-std=gnu99 $CFLAGS"
2527 cc_check
-Wdeclaration-after-statement && CFLAGS
="-Wdeclaration-after-statement $CFLAGS"
2528 cc_check
-Wno-pointer-sign && CFLAGS
="-Wno-pointer-sign $CFLAGS"
2529 cc_check
-Wdisabled-optimization && CFLAGS
="-Wdisabled-optimization $CFLAGS"
2530 cc_check
-Wundef && CFLAGS
="-Wundef $CFLAGS"
2532 CFLAGS
="-D_ISOC99_SOURCE -D_BSD_SOURCE $CFLAGS"
2535 cc_check
-mno-omit-leaf-frame-pointer && cflags_no_omit_leaf_frame_pointer
="-mno-omit-leaf-frame-pointer"
2538 if test -n "$LDFLAGS" ; then
2539 extra_ldflags
="$extra_ldflags $LDFLAGS"
2541 elif test "$cc_vendor" = "intel" ; then
2542 extra_ldflags
="$extra_ldflags -i-static"
2544 if test -n "$CPPFLAGS" ; then
2545 extra_cflags
="$extra_cflags $CPPFLAGS"
2552 # Checking assembler (_as) compatibility...
2553 # Added workaround for older as that reads from stdin by default - atmos
2554 as_version
=$
(echo '' |
$_as -version 2>&1 |
sed -n 's/^.*assembler \(version \)*\([0-9.]*\).*$/\2/p')
2555 echocheck
"assembler ($_as $as_version)"
2557 _pref_as_version
='2.9.1'
2559 if test "$_mmx" = yes ; then
2560 echo 'emms' >> $TMPS
2562 if test "$_3dnow" = yes ; then
2563 _pref_as_version
='2.10.1'
2564 echo 'femms' >> $TMPS
2566 if test "$_3dnowext" = yes ; then
2567 _pref_as_version
='2.10.1'
2568 echo 'pswapd %mm0, %mm0' >> $TMPS
2570 if test "$_mmxext" = yes ; then
2571 _pref_as_version
='2.10.1'
2572 echo 'movntq %mm0, (%eax)' >> $TMPS
2574 if test "$_sse" = yes ; then
2575 _pref_as_version
='2.10.1'
2576 echo 'xorps %xmm0, %xmm0' >> $TMPS
2578 #if test "$_sse2" = yes ; then
2579 # _pref_as_version='2.11'
2580 # echo 'xorpd %xmm0, %xmm0' >> $TMPS
2582 if test "$_cmov" = yes ; then
2583 _pref_as_version
='2.10.1'
2584 echo 'cmovb %eax, %ebx' >> $TMPS
2586 if test "$_ssse3" = yes ; then
2587 _pref_as_version
='2.16.92'
2588 echo 'pabsd %xmm0, %xmm1' >> $TMPS
2590 $_as $TMPS -o $TMPEXE > /dev
/null
2>&1 || as_verc_fail
=yes
2592 if test "$as_verc_fail" != yes ; then
2595 _res_comment
="Upgrade binutils to ${_pref_as_version} or use --disable-ssse3 etc."
2597 die
"obsolete binutils version"
2602 echocheck
".align is a power of two"
2603 if test "$_asmalign_pot" = auto
; then
2606 int main(void) { __asm__ (".align 3"); return 0; }
2608 cc_check
&& _asmalign_pot
=yes
2610 if test "$_asmalign_pot" = "yes" ; then
2611 def_asmalign_pot
='#define ASMALIGN(ZEROBITS) ".align " #ZEROBITS "\n\t"'
2613 def_asmalign_pot
='#define ASMALIGN(ZEROBITS) ".align 1<<" #ZEROBITS "\n\t"'
2615 echores
$_asmalign_pot
2618 echocheck
"10 assembler operands"
2620 def_ten_operands
='#define HAVE_TEN_OPERANDS 0'
2626 :"+&rm"(x), "+&rm"(x), "+&rm"(x), "+&rm"(x), "+&rm"(x), "+&rm"(x)
2631 cc_check
&& ten_operands
=yes && def_ten_operands
='#define HAVE_TEN_OPERANDS 1'
2632 echores
$ten_operands
2634 echocheck
"ebx availability"
2636 def_ebx_available
='#define HAVE_EBX_AVAILABLE 0'
2643 // just adding ebx to clobber list seems unreliable with some
2644 // compilers, e.g. Haiku's gcc 2.95
2646 // and the above check does not work for OSX 64 bit...
2647 __asm__ volatile("":::"%ebx");
2651 cc_check
&& ebx_available
=yes && def_ebx_available
='#define HAVE_EBX_AVAILABLE 1'
2652 echores
$ebx_available
2658 #if !(defined(__PIC__) || defined(__pic__) || defined(PIC))
2659 #error PIC not enabled
2664 cc_check
&& pic
=yes && extra_cflags
="$extra_cflags -DPIC"
2668 if test -z "$YASMFLAGS" ; then
2670 x86_64
&& objformat
="macho64" || objformat
="macho"
2676 # currently tested for Linux x86, x86_64
2677 YASMFLAGS
="-f $objformat"
2678 x86_64
&& YASMFLAGS
="$YASMFLAGS -DARCH_X86_64 -m amd64"
2679 test "$pic" = "yes" && YASMFLAGS
="$YASMFLAGS -DPIC"
2680 case "$objformat" in
2681 elf
) test $_debug && YASMFLAGS
="$YASMFLAGS -g dwarf2" ;;
2682 *) YASMFLAGS
="$YASMFLAGS -DPREFIX" ;;
2688 echo "pabsw xmm0, xmm0" > $TMPS
2689 yasm_check || _yasm
=""
2690 if test $_yasm ; then
2691 test "$_mmx" = "yes" && fft_mmx
="yes"
2692 def_yasm
='#define HAVE_YASM 1'
2696 def_yasm
='#define HAVE_YASM 0'
2703 def_bswap
='#define HAVE_BSWAP 0'
2704 echo 'bswap %eax' > $TMPS
2705 $_as $TMPS -o $TMPEXE > /dev
/null
2>&1 && def_bswap
='#define HAVE_BSWAP 1' && bswap
=yes || bswap
=no
2710 #FIXME: This should happen before the check for CFLAGS..
2711 def_altivec_h
='#define HAVE_ALTIVEC_H 0'
2712 if ppc
&& ( test "$_altivec" = yes ||
test "$_runtime_cpudetection" = yes ) ; then
2714 # check if AltiVec is supported by the compiler, and how to enable it
2715 echocheck
"GCC AltiVec flags"
2717 int main(void) { return 0; }
2719 if $
(cc_check
-maltivec -mabi=altivec
) ; then
2720 _altivec_gcc_flags
="-maltivec -mabi=altivec"
2721 # check if <altivec.h> should be included
2723 #include <altivec.h>
2724 int main(void) { return 0; }
2726 if $
(cc_check
$_altivec_gcc_flags) ; then
2727 def_altivec_h
='#define HAVE_ALTIVEC_H 1'
2728 inc_altivec_h
='#include <altivec.h>'
2731 int main(void) { return 0; }
2733 if $
(cc_check
-faltivec) ; then
2734 _altivec_gcc_flags
="-faltivec"
2737 _altivec_gcc_flags
="none, AltiVec disabled"
2741 echores
"$_altivec_gcc_flags"
2743 # check if the compiler supports braces for vector declarations
2746 int main(void) { (vector int) {1}; return 0; }
2748 cc_check
$_altivec_gcc_flags || die
"You need a compiler that supports {} in AltiVec vector declarations."
2750 # Disable runtime cpudetection if we cannot generate AltiVec code or
2751 # AltiVec is disabled by the user.
2752 test "$_runtime_cpudetection" = yes && test "$_altivec" = no \
2753 && _runtime_cpudetection
=no
2755 # Show that we are optimizing for AltiVec (if enabled and supported).
2756 test "$_runtime_cpudetection" = no
&& test "$_altivec" = yes \
2757 && _optimizing
="$_optimizing altivec"
2759 # If AltiVec is enabled, make sure the correct flags turn up in CFLAGS.
2760 test "$_altivec" = yes && CFLAGS
="$CFLAGS $_altivec_gcc_flags"
2764 def_xform_asm
='#define HAVE_XFORM_ASM 0'
2766 echocheck
"XFORM ASM support"
2768 int main(void) { __asm__ volatile ("lwzx %1, %y0" :: "Z"(*(int*)0), "r"(0)); return 0; }
2770 cc_check
&& xform_asm
=yes && def_xform_asm
='#define HAVE_XFORM_ASM 1'
2771 echores
"$xform_asm"
2775 echocheck
"ARM pld instruction"
2777 int main(void) { __asm__ volatile ("pld [r0]"); return 0; }
2783 echocheck
"ARMv5TE (Enhanced DSP Extensions)"
2784 if test $_armv5te = "auto" ; then
2786 int main(void) { __asm__ volatile ("qadd r0, r0, r0"); return 0; }
2789 cc_check
&& _armv5te
=yes
2793 test $_armv5te = "yes" && test $_fast_clz = "auto" && _fast_clz
=yes
2795 echocheck
"ARMv6 (SIMD instructions)"
2796 if test $_armv6 = "auto" ; then
2798 int main(void) { __asm__ volatile ("sadd16 r0, r0, r0"); return 0; }
2801 cc_check
&& _armv6
=yes
2805 echocheck
"ARMv6t2 (SIMD instructions)"
2806 if test $_armv6t2 = "auto" ; then
2808 int main(void) { __asm__ volatile ("movt r0, #0"); return 0; }
2811 cc_check
&& _armv6t2
=yes
2816 if test $_armvfp = "auto" ; then
2818 int main(void) { __asm__ volatile ("fadds s0, s0, s0"); return 0; }
2821 cc_check
&& _armvfp
=yes
2825 echocheck
"ARM NEON"
2826 if test $neon = "auto" ; then
2828 int main(void) { __asm__ volatile ("vadd.i16 q0, q0, q0"); return 0; }
2831 cc_check
&& neon
=yes
2835 echocheck
"iWMMXt (Intel XScale SIMD instructions)"
2836 if test $_iwmmxt = "auto" ; then
2838 int main(void) { __asm__ volatile ("wunpckelub wr6, wr4"); return 0; }
2841 cc_check
&& _iwmmxt
=yes
2846 _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'
2847 test "$_altivec" = yes && _cpuexts
="ALTIVEC $_cpuexts"
2848 test "$_mmx" = yes && _cpuexts
="MMX $_cpuexts"
2849 test "$_mmxext" = yes && _cpuexts
="MMX2 $_cpuexts"
2850 test "$_3dnow" = yes && _cpuexts
="AMD3DNOW $_cpuexts"
2851 test "$_3dnowext" = yes && _cpuexts
="AMD3DNOWEXT $_cpuexts"
2852 test "$_sse" = yes && _cpuexts
="SSE $_cpuexts"
2853 test "$_sse2" = yes && _cpuexts
="SSE2 $_cpuexts"
2854 test "$_ssse3" = yes && _cpuexts
="SSSE3 $_cpuexts"
2855 test "$_cmov" = yes && _cpuexts
="CMOV $_cpuexts"
2856 test "$_fast_cmov" = yes && _cpuexts
="FAST_CMOV $_cpuexts"
2857 test "$_fast_clz" = yes && _cpuexts
="FAST_CLZ $_cpuexts"
2858 test "$pld" = yes && _cpuexts
="PLD $_cpuexts"
2859 test "$_armv5te" = yes && _cpuexts
="ARMV5TE $_cpuexts"
2860 test "$_armv6" = yes && _cpuexts
="ARMV6 $_cpuexts"
2861 test "$_armv6t2" = yes && _cpuexts
="ARMV6T2 $_cpuexts"
2862 test "$_armvfp" = yes && _cpuexts
="ARMVFP $_cpuexts"
2863 test "$neon" = yes && _cpuexts
="NEON $_cpuexts"
2864 test "$_iwmmxt" = yes && _cpuexts
="IWMMXT $_cpuexts"
2865 test "$_vis" = yes && _cpuexts
="VIS $_cpuexts"
2866 test "$_mvi" = yes && _cpuexts
="MVI $_cpuexts"
2868 # Checking kernel version...
2869 if x86_32
&& linux
; then
2871 kernel_version
=$
(uname
-r 2>&1)
2872 echocheck
"$system_name kernel version"
2873 case "$kernel_version" in
2874 '') kernel_version
="?.??"; _k_verc_fail
=yes;;
2875 [0-1].
[0-9].
[0-9]*|
2.
[0-3].
[0-9]*)
2876 _k_verc_problem
=yes;;
2878 if test "$_k_verc_problem" = yes && test "$_sse" = yes ; then
2881 if test "$_k_verc_fail" ; then
2882 echores
"$kernel_version, fail"
2883 echo "WARNING! If you want to run MPlayer on this system, get prepared for problems!"
2884 echo "2.2.x has limited SSE support. Upgrade the kernel or use --disable-sse if you"
2885 echo "experience crashes. MPlayer tries to autodetect if your kernel correctly"
2886 echo "supports SSE, but you have been warned! If you are using a kernel older than"
2887 echo "2.2.x you must upgrade it to get SSE support!"
2888 # die "Your kernel is too old for this CPU." # works fine on some 2.2.x so don't die (later check will test)
2890 echores
"$kernel_version, ok"
2894 ######################
2895 # MAIN TESTS GO HERE #
2896 ######################
2901 int main(void) { return 0; }
2903 if cc_check
-lposix ; then
2904 extra_ldflags
="$extra_ldflags -lposix"
2912 int main(void) { return 0; }
2914 if cc_check
-lm ; then
2923 echocheck
"langinfo"
2924 if test "$_langinfo" = auto
; then
2926 #include <langinfo.h>
2927 int main(void) { nl_langinfo(CODESET); return 0; }
2930 cc_check
&& _langinfo
=yes
2932 if test "$_langinfo" = yes ; then
2933 def_langinfo
='#define HAVE_LANGINFO 1'
2935 def_langinfo
='#undef HAVE_LANGINFO'
2937 echores
"$_langinfo"
2940 echocheck
"language"
2941 # Set preferred languages, "all" uses English as main language.
2942 test -z "$language" && language
=$LINGUAS
2943 test -z "$language_doc" && language_doc
=$language
2944 test -z "$language_man" && language_man
=$language
2945 test -z "$language_msg" && language_msg
=$language
2946 language_doc
=$
(echo $language_doc |
tr , " ")
2947 language_man
=$
(echo $language_man |
tr , " ")
2948 language_msg
=$
(echo $language_msg |
tr , " ")
2950 test "$language_doc" = "all" && language_doc
=$doc_lang_all
2951 test "$language_man" = "all" && language_man
=$man_lang_all
2952 test "$language_msg" = "all" && language_msg
=en
2954 # Prune non-existing translations from language lists.
2955 # Set message translation to the first available language.
2956 # Fall back on English.
2957 for lang
in $language_doc ; do
2958 test -d DOCS
/xml
/$lang && tmp_language_doc
="$tmp_language_doc $lang"
2960 language_doc
=$tmp_language_doc
2961 test -z "$language_doc" && language_doc
=en
2963 for lang
in $language_man ; do
2964 test -d DOCS
/man
/$lang && tmp_language_man
="$tmp_language_man $lang"
2966 language_man
=$tmp_language_man
2967 test -z "$language_man" && language_man
=en
2969 for lang
in $language_msg ; do
2970 test -f "help/help_mp-${lang}.h" && tmp_language_msg
=$lang && break
2972 language_msg
=$tmp_language_msg
2973 test -z "$language_msg" && language_msg
=en
2974 _mp_help
="help/help_mp-${language_msg}.h"
2975 echores
"messages: $language_msg - man pages: $language_man - documentation: $language_doc"
2978 echocheck
"enable sighandler"
2979 if test "$_sighandler" = yes ; then
2980 def_sighandler
='#define CONFIG_SIGHANDLER 1'
2982 def_sighandler
='#undef CONFIG_SIGHANDLER'
2984 echores
"$_sighandler"
2986 echocheck
"runtime cpudetection"
2987 if test "$_runtime_cpudetection" = yes ; then
2988 _optimizing
="Runtime CPU-Detection enabled"
2989 def_runtime_cpudetection
='#define CONFIG_RUNTIME_CPUDETECT 1'
2991 def_runtime_cpudetection
='#define CONFIG_RUNTIME_CPUDETECT 0'
2993 echores
"$_runtime_cpudetection"
2996 echocheck
"restrict keyword"
2997 for restrict_keyword
in restrict __restrict __restrict__
; do
2998 echo "void foo(char * $restrict_keyword p); int main(void) { return 0; }" > $TMPC
3000 def_restrict_keyword
=$restrict_keyword
3004 if [ -n "$def_restrict_keyword" ]; then
3005 echores
"$def_restrict_keyword"
3009 # Avoid infinite recursion loop ("#define restrict restrict")
3010 if [ "$def_restrict_keyword" != "restrict" ]; then
3011 def_restrict_keyword
="#define restrict $def_restrict_keyword"
3013 def_restrict_keyword
=""
3017 echocheck
"__builtin_expect"
3018 # GCC branch prediction hint
3021 a = __builtin_expect(a, 10);
3022 return a == 10 ? 0 : 1;
3024 int main(void) { return foo(10) && foo(0); }
3027 cc_check
&& _builtin_expect
=yes
3028 if test "$_builtin_expect" = yes ; then
3029 def_builtin_expect
='#define HAVE_BUILTIN_EXPECT 1'
3031 def_builtin_expect
='#undef HAVE_BUILTIN_EXPECT'
3033 echores
"$_builtin_expect"
3039 int main(void) { (void) kstat_open(); (void) kstat_close(0); return 0; }
3042 cc_check
-lkstat && _kstat
=yes
3043 if test "$_kstat" = yes ; then
3044 def_kstat
="#define HAVE_LIBKSTAT 1"
3045 extra_ldflags
="$extra_ldflags -lkstat"
3047 def_kstat
="#undef HAVE_LIBKSTAT"
3053 # required for nanosleep on some systems
3056 int main(void) { (void) nanosleep(0, 0); return 0; }
3059 cc_check
-lposix4 && _posix4
=yes
3060 if test "$_posix4" = yes ; then
3061 extra_ldflags
="$extra_ldflags -lposix4"
3065 for func
in exp2 exp2f llrint log2 log2f lrint lrintf round roundf truncf
; do
3069 int main(void) { long (*foo)(float); foo = $func; (void)(*foo)(0.0); return 0; }
3072 cc_check
-D_ISOC99_SOURCE $_ld_lm && eval _
$func=yes
3073 if eval test "x\$_$func" = "xyes"; then
3074 eval def_
$func="\"#define HAVE_$(echo $func | tr '[a-z]' '[A-Z]') 1\""
3077 eval def_
$func="\"#define HAVE_$(echo $func | tr '[a-z]' '[A-Z]') 0\""
3086 int main(void) { char a; mkstemp(&a); return 0; }
3089 cc_check
&& _mkstemp
=yes
3090 if test "$_mkstemp" = yes ; then
3091 def_mkstemp
='#define HAVE_MKSTEMP 1'
3093 def_mkstemp
='#undef HAVE_MKSTEMP'
3098 echocheck
"nanosleep"
3099 # also check for nanosleep
3102 int main(void) { (void) nanosleep(0, 0); return 0; }
3105 cc_check
&& _nanosleep
=yes
3106 if test "$_nanosleep" = yes ; then
3107 def_nanosleep
='#define HAVE_NANOSLEEP 1'
3109 def_nanosleep
='#undef HAVE_NANOSLEEP'
3111 echores
"$_nanosleep"
3115 # for Solaris (socket stuff is in -lsocket, gethostbyname and friends in -lnsl):
3116 # for BeOS (socket stuff is in -lsocket, gethostbyname and friends in -lbind):
3119 #include <sys/socket.h>
3120 int main(void) { (void) gethostbyname(0); (void) socket(AF_INET, SOCK_STREAM, 0); return 0; }
3123 for _ld_tmp
in "" "-lsocket -lbind" "-lsocket -ldnet" "-lsocket -lnsl" "-lnsl" "-lsocket" ; do
3124 cc_check
$_ld_tmp && _ld_sock
="$_ld_tmp" && _socklib
=yes && break
3126 test $_socklib = yes && test $_winsock2_h = auto
&& _winsock2_h
=no
3127 if test $_winsock2_h = auto
; then
3130 #include <winsock2.h>
3131 int main(void) { (void) gethostbyname(0); return 0; }
3133 cc_check
-lws2_32 && _ld_sock
="-lws2_32" && _winsock2_h
=yes
3135 test "$_ld_sock" && _res_comment
="using $_ld_sock"
3139 if test $_winsock2_h = yes ; then
3141 def_winsock2_h
='#define HAVE_WINSOCK2_H 1'
3142 cc_check_winsock2_h
='-DHAVE_WINSOCK2_H=1'
3144 def_winsock2_h
='#define HAVE_WINSOCK2_H 0'
3145 cc_check_winsock2_h
='-DHAVE_WINSOCK2_H=0'
3149 echocheck
"netdb.h, struct addrinfo"
3150 if test "$_struct_addrinfo" = auto
; then
3154 #include <winsock2.h>
3155 #include <ws2tcpip.h>
3157 #include <sys/types.h>
3158 #include <sys/socket.h>
3161 int main(void) { struct addrinfo ai; return 0; }
3163 cc_check
$cc_check_winsock2_h && _struct_addrinfo
=yes
3165 echores
"$_struct_addrinfo"
3167 if test "$_struct_addrinfo" = yes; then
3168 def_addrinfo
="#define HAVE_STRUCT_ADDRINFO 1"
3170 def_addrinfo
="#define HAVE_STRUCT_ADDRINFO 0"
3174 echocheck
"netdb.h, getaddrinfo()"
3175 if test "$_getaddrinfo" = auto
; then
3179 #include <winsock2.h>
3181 #include <sys/types.h>
3182 #include <sys/socket.h>
3185 int main(void) { (void) getaddrinfo(0, 0, 0, 0); return 0; }
3187 cc_check
$cc_check_winsock2_h && _getaddrinfo
=yes
3189 echores
"$_getaddrinfo"
3191 if test "$_getaddrinfo" = yes; then
3192 def_getaddrinfo
="#define HAVE_GETADDRINFO 1"
3194 def_getaddrinfo
="#define HAVE_GETADDRINFO 0"
3198 echocheck
"sockaddr_storage"
3199 if test "$_struct_sockaddr_storage" = auto
; then
3200 _struct_sockaddr_storage
=no
3203 #include <winsock2.h>
3205 #include <sys/socket.h>
3207 int main(void) { struct sockaddr_storage sas; return 0; }
3209 cc_check
$cc_check_winsock2_h && _struct_sockaddr_storage
=yes
3211 echores
"$_struct_sockaddr_storage"
3213 if test "$_struct_sockaddr_storage" = yes; then
3214 def_sockaddr_storage
="#define HAVE_STRUCT_SOCKADDR_STORAGE 1"
3216 def_sockaddr_storage
="#define HAVE_STRUCT_SOCKADDR_STORAGE 0"
3220 echocheck
"struct ipv6_mreq"
3221 _struct_ipv6_mreq
=no
3222 def_struct_ipv6_mreq
="#define HAVE_STRUCT_IPV6_MREQ 0"
3223 for header
in "netinet/in.h" "ws2tcpip.h" ; do
3226 int main(void) { struct ipv6_mreq mreq6; return 0; }
3228 cc_check
&& _struct_ipv6_mreq
=yes && \
3229 def_struct_ipv6_mreq
="#define HAVE_STRUCT_IPV6_MREQ 1" && break
3231 echores
"$_struct_ipv6_mreq"
3234 echocheck
"struct sockaddr_in6"
3235 _struct_sockaddr_in6
=no
3236 def_struct_sockaddr_in6
="#define HAVE_STRUCT_SOCKADDR_IN6 0"
3237 for header
in "netinet/in.h" "ws2tcpip.h" ; do
3240 int main(void) { struct sockaddr_in6 addr; return 0; }
3242 cc_check
&& _struct_sockaddr_in6
=yes && \
3243 def_struct_sockaddr_in6
="#define HAVE_STRUCT_SOCKADDR_IN6 1" && break
3245 echores
"$_struct_sockaddr_in6"
3248 echocheck
"struct sockaddr sa_len"
3249 _struct_sockaddr_sa_len
=no
3250 def_struct_sockaddr_sa_len
="#define HAVE_STRUCT_SOCKADDR_SA_LEN 0"
3253 #include <winsock2.h>
3255 #include <sys/types.h>
3256 #include <sys/socket.h>
3258 int main(void) { const void *p = &((struct sockaddr *)0)->sa_len; return 0; }
3260 cc_check
$cc_check_winsock2_h && _struct_sockaddr_sa_len
=yes && \
3261 def_struct_sockaddr_sa_len
="#define HAVE_STRUCT_SOCKADDR_SA_LEN 1"
3262 echores
"$_struct_sockaddr_sa_len"
3265 echocheck
"arpa/inet.h"
3267 def_arpa_inet_h
='#define HAVE_ARPA_INET_H 0'
3269 #include <arpa/inet.h>
3270 int main(void) { return 0; }
3272 cc_check
&& arpa_inet_h
=yes && def_arpa_inet_h
='#define HAVE_ARPA_INET_H 1'
3273 echores
"$arpa_inet_h"
3276 echocheck
"inet_pton()"
3277 def_inet_pton
='#define HAVE_INET_PTON 0'
3280 #include <sys/types.h>
3281 #include <sys/socket.h>
3282 #include <arpa/inet.h>
3283 int main(void) { (void) inet_pton(0, 0, 0); return 0; }
3285 for _ld_tmp
in "$_ld_sock" "$_ld_sock -lresolv" ; do
3286 cc_check
$_ld_tmp && inet_pton
=yes && break
3288 if test $inet_pton = yes ; then
3289 test "$_ld_tmp" && _res_comment
="using $_ld_tmp"
3290 def_inet_pton
='#define HAVE_INET_PTON 1'
3292 echores
"$inet_pton"
3295 echocheck
"inet_aton()"
3296 def_inet_aton
='#define HAVE_INET_ATON 0'
3299 #include <sys/types.h>
3300 #include <sys/socket.h>
3301 #include <arpa/inet.h>
3302 int main(void) { (void) inet_aton(0, 0); return 0; }
3304 for _ld_tmp
in "$_ld_sock" "$_ld_sock -lresolv" ; do
3305 cc_check
$_ld_tmp && inet_aton
=yes && break
3307 if test $inet_aton = yes ; then
3308 test "$_ld_tmp" && _res_comment
="using $_ld_tmp"
3309 def_inet_aton
='#define HAVE_INET_ATON 1'
3311 echores
"$inet_aton"
3314 echocheck
"socklen_t"
3316 for header
in "sys/socket.h" "ws2tcpip.h" "sys/types.h" ; do
3319 int main(void) { socklen_t v = 0; return v; }
3321 cc_check
&& _socklen_t
=yes && break
3323 if test "$_socklen_t" = yes ; then
3324 def_socklen_t
='#define HAVE_SOCKLEN_T 1'
3326 def_socklen_t
='#define HAVE_SOCKLEN_T 0'
3328 echores
"$_socklen_t"
3331 echocheck
"closesocket()"
3334 #include <winsock2.h>
3335 int main(void) { closesocket(~0); return 0; }
3337 cc_check
$_ld_sock && _closesocket
=yes
3338 if test "$_closesocket" = yes ; then
3339 def_closesocket
='#define HAVE_CLOSESOCKET 1'
3341 def_closesocket
='#define HAVE_CLOSESOCKET 0'
3343 echores
"$_closesocket"
3347 test $_winsock2_h = no
&& test $inet_pton = no
&&
3348 test $inet_aton = no
&& _network
=no
3349 if test "$_network" = yes ; then
3350 def_network
='#define CONFIG_NETWORK 1'
3351 extra_ldflags
="$extra_ldflags $_ld_sock"
3352 _inputmodules
="network $_inputmodules"
3354 _noinputmodules
="network $_noinputmodules"
3355 def_network
='#undef CONFIG_NETWORK'
3357 _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
//)
3358 _libavdemuxers
=$
(echo $_libavdemuxers |
sed -e s
/RTSP_DEMUXER
// -e s
/SDP_DEMUXER
//)
3364 if test "$_inet6" = auto
; then
3366 #include <sys/types.h>
3367 #if !defined(_WIN32) || defined(__CYGWIN__)
3368 #include <sys/socket.h>
3369 #include <netinet/in.h>
3371 #include <ws2tcpip.h>
3373 int main(void) { struct sockaddr_in6 six; socket(AF_INET6, SOCK_STREAM, AF_INET6); return 0; }
3376 if cc_check
$_ld_sock ; then
3380 if test "$_inet6" = yes ; then
3381 def_inet6
='#define HAVE_AF_INET6 1'
3383 def_inet6
='#undef HAVE_AF_INET6'
3388 echocheck
"gethostbyname2"
3389 if test "$_gethostbyname2" = auto
; then
3391 #include <sys/types.h>
3392 #include <sys/socket.h>
3394 int main(void) { gethostbyname2("", AF_INET); return 0; }
3401 if test "$_gethostbyname2" = yes ; then
3402 def_gethostbyname2
='#define HAVE_GETHOSTBYNAME2 1'
3404 def_gethostbyname2
='#undef HAVE_GETHOSTBYNAME2'
3406 echores
"$_gethostbyname2"
3409 echocheck
"inttypes.h (required)"
3411 #include <inttypes.h>
3412 int main(void) { return 0; }
3415 cc_check
&& _inttypes
=yes
3416 echores
"$_inttypes"
3418 if test "$_inttypes" = no
; then
3419 echocheck
"bitypes.h (inttypes.h predecessor)"
3421 #include <sys/bitypes.h>
3422 int main(void) { return 0; }
3424 cc_check
&& _inttypes
=yes
3425 if test "$_inttypes" = yes ; then
3426 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."
3428 die
"Cannot find header either inttypes.h or bitypes.h. There is no chance for compilation to succeed."
3433 echocheck
"int_fastXY_t in inttypes.h"
3435 #include <inttypes.h>
3437 volatile int_fast16_t v= 0;
3441 cc_check
&& _fast_inttypes
=yes
3442 if test "$_fast_inttypes" = no
; then
3444 typedef signed char int_fast8_t;
3445 typedef signed int int_fast16_t;
3446 typedef signed int int_fast32_t;
3447 typedef signed long long int_fast64_t;
3448 typedef unsigned char uint_fast8_t;
3449 typedef unsigned int uint_fast16_t;
3450 typedef unsigned int uint_fast32_t;
3451 typedef unsigned long long uint_fast64_t;'
3453 echores
"$_fast_inttypes"
3456 echocheck
"malloc.h"
3459 int main(void) { (void) malloc(0); return 0; }
3462 cc_check
&& _malloc
=yes
3463 if test "$_malloc" = yes ; then
3464 def_malloc_h
='#define HAVE_MALLOC_H 1'
3466 def_malloc_h
='#define HAVE_MALLOC_H 0'
3468 # malloc.h emits a warning in FreeBSD and OpenBSD
3469 freebsd || openbsd || dragonfly
&& def_malloc_h
='#define HAVE_MALLOC_H 0'
3473 echocheck
"memalign()"
3474 # XXX restrict to x86 ? extend to other CPUs/cacheline sizes ?
3475 def_memalign_hack
='#define CONFIG_MEMALIGN_HACK 0'
3478 int main(void) { (void) memalign(64, sizeof(char)); return 0; }
3481 cc_check
&& _memalign
=yes
3482 if test "$_memalign" = yes ; then
3483 def_memalign
='#define HAVE_MEMALIGN 1'
3485 def_memalign
='#define HAVE_MEMALIGN 0'
3486 def_map_memalign
='#define memalign(a,b) malloc(b)'
3487 darwin || def_memalign_hack
='#define CONFIG_MEMALIGN_HACK 1'
3489 echores
"$_memalign"
3492 echocheck
"posix_memalign()"
3494 def_posix_memalign
='#define HAVE_POSIX_MEMALIGN 0'
3496 #define _XOPEN_SOURCE 600
3498 int main(void) { posix_memalign(NULL, 0, 0); }
3500 cc_check
&& posix_memalign
=yes && def_posix_memalign
='#define HAVE_POSIX_MEMALIGN 1'
3501 echores
"$posix_memalign"
3504 echocheck
"alloca.h"
3507 int main(void) { (void) alloca(0); return 0; }
3510 cc_check
&& _alloca
=yes
3512 def_alloca_h
='#define HAVE_ALLOCA_H 1'
3514 def_alloca_h
='#undef HAVE_ALLOCA_H'
3519 echocheck
"fastmemcpy"
3520 if test "$_fastmemcpy" = yes ; then
3521 def_fastmemcpy
='#define CONFIG_FASTMEMCPY 1'
3523 def_fastmemcpy
='#undef CONFIG_FASTMEMCPY'
3525 echores
"$_fastmemcpy"
3528 echocheck
"hard-coded tables"
3529 if test "$hardcoded_tables" = yes ; then
3530 def_hardcoded_tables
='#define CONFIG_HARDCODED_TABLES 1'
3531 mak_hardcoded_tables
='CONFIG_HARDCODED_TABLES = yes'
3533 def_hardcoded_tables
='#define CONFIG_HARDCODED_TABLES 0'
3535 echores
"$hardcoded_tables"
3540 #include <sys/types.h>
3541 #include <sys/mman.h>
3542 int main(void) { (void) mmap(0, 0, 0, 0, 0, 0); return 0; }
3545 cc_check
&& _mman
=yes
3546 if test "$_mman" = yes ; then
3547 def_mman_h
='#define HAVE_SYS_MMAN_H 1'
3549 def_mman_h
='#undef HAVE_SYS_MMAN_H'
3550 os2
&& _need_mmap
=yes
3555 #include <sys/types.h>
3556 #include <sys/mman.h>
3557 int main(void) { void *p = MAP_FAILED; return 0; }
3559 _mman_has_map_failed
=no
3560 cc_check
&& _mman_has_map_failed
=yes
3561 if test "$_mman_has_map_failed" = yes ; then
3562 def_mman_has_map_failed
=''
3564 def_mman_has_map_failed
='#define MAP_FAILED ((void *) -1)'
3567 echocheck
"dynamic loader"
3571 int main(void) { dlopen("", 0); dlclose(NULL); dlsym(NULL, ""); return 0; }
3574 for _ld_tmp
in "" "-ldl" ; do
3575 cc_check
$_ld_tmp && _ld_dl
="$_ld_tmp" && _dl
=yes && break
3577 if test "$_dl" = yes ; then
3578 def_dl
='#define HAVE_LIBDL 1'
3580 def_dl
='#undef HAVE_LIBDL'
3585 echocheck
"dynamic a/v plugins support"
3586 if test "$_dl" = no
; then
3589 if test "$_dynamic_plugins" = yes ; then
3590 def_dynamic_plugins
='#define CONFIG_DYNAMIC_PLUGINS 1'
3592 def_dynamic_plugins
='#undef CONFIG_DYNAMIC_PLUGINS'
3594 echores
"$_dynamic_plugins"
3597 def_threads
='#define HAVE_THREADS 0'
3601 THREAD_CFLAGS
=-D_REENTRANT
3602 elif freebsd || netbsd || openbsd || bsdos
; then
3603 THREAD_CFLAGS
=-D_THREAD_SAFE
3605 if test "$_pthreads" = auto
; then
3607 #include <pthread.h>
3608 void* func(void *arg) { return arg; }
3609 int main(void) { pthread_t tid; return pthread_create(&tid, 0, func, 0) == 0 ? 0 : 1; }
3613 for _ld_tmp
in "-lpthreadGC2" "" "-lpthread" "-pthread" ; do
3614 # for crosscompilation, we cannot execute the program, be happy if we can link statically
3615 cc_check
$THREAD_CFLAGS $_ld_tmp && (tmp_run ||
test "$_ld_static") && _ld_pthread
="$_ld_tmp" && _pthreads
=yes && break
3619 if test "$_pthreads" = yes ; then
3620 test $_ld_pthread && _res_comment
="using $_ld_pthread"
3621 def_pthreads
='#define HAVE_PTHREADS 1'
3622 def_threads
='#define HAVE_THREADS 1'
3623 extra_cflags
="$extra_cflags $THREAD_CFLAGS"
3625 _res_comment
="v4l, v4l2, ao_nas, win32 loader disabled"
3626 def_pthreads
='#undef HAVE_PTHREADS'
3627 _nas
=no
; _tv_v4l1
=no
; _tv_v4l2
=no
3628 mingw32 || _win32dll
=no
3630 echores
"$_pthreads"
3633 if test "$_pthreads" = yes ; then
3634 def_pthread_cache
="#define PTHREAD_CACHE 1"
3637 def_stream_cache
="#undef CONFIG_STREAM_CACHE"
3641 echocheck
"w32threads"
3642 if test "$_pthreads" = yes ; then
3643 _res_comment
="using pthread instead"
3646 if test "$_w32threads" = auto
; then
3648 mingw32
&& _w32threads
=yes
3650 test "$_w32threads" = yes && def_threads
='#define HAVE_THREADS 1'
3651 echores
"$_w32threads"
3655 if test "$_rpath" = yes ; then
3656 for I
in $
(echo $extra_ldflags |
sed 's/-L//g') ; do
3657 tmp
="$tmp $(echo $I | sed 's/.*/ -L& -Wl,-R&/')"
3664 if test "$_iconv" = auto
; then
3669 #define INBUFSIZE 1024
3670 #define OUTBUFSIZE 4096
3672 char inbuffer[INBUFSIZE];
3673 char outbuffer[OUTBUFSIZE];
3678 char *tocode="UTF-8";
3679 char *fromcode="cp1250";
3680 if ((icdsc = iconv_open(tocode, fromcode)) != (iconv_t)(-1)) {
3681 while ((numread = read(0, inbuffer, INBUFSIZE))) {
3682 char *iptr=inbuffer;
3683 char *optr=outbuffer;
3684 size_t inleft=numread;
3685 size_t outleft=OUTBUFSIZE;
3686 if (iconv(icdsc, (const char **)&iptr, &inleft, &optr, &outleft)
3688 write(1, outbuffer, OUTBUFSIZE - outleft);
3691 if (iconv_close(icdsc) == -1)
3698 for _ld_tmp
in "" "-liconv" "-liconv $_ld_dl" ; do
3699 cc_check
$_ld_lm $_ld_tmp && extra_ldflags
="$extra_ldflags $_ld_tmp" && \
3703 if test "$_iconv" = yes ; then
3704 def_iconv
='#define CONFIG_ICONV 1'
3706 def_iconv
='#undef CONFIG_ICONV'
3711 echocheck
"soundcard.h"
3713 def_soundcard_h
='#undef HAVE_SOUNDCARD_H'
3714 def_sys_soundcard_h
='#undef HAVE_SYS_SOUNDCARD_H'
3715 for _soundcard_header
in "sys/soundcard.h" "soundcard.h"; do
3717 #include <$_soundcard_header>
3718 int main(void) { return 0; }
3720 cc_check
&& _soundcard_h
=yes && _res_comment
="$_soundcard_header" && break
3723 if test "$_soundcard_h" = yes ; then
3724 if test $_soundcard_header = "sys/soundcard.h"; then
3725 def_sys_soundcard_h
='#define HAVE_SYS_SOUNDCARD_H 1'
3727 def_soundcard_h
='#define HAVE_SOUNDCARD_H 1'
3730 echores
"$_soundcard_h"
3733 echocheck
"sys/dvdio.h"
3736 #include <sys/dvdio.h>
3737 int main(void) { return 0; }
3740 cc_check
&& _dvdio
=yes
3741 if test "$_dvdio" = yes ; then
3742 def_dvdio
='#define DVD_STRUCT_IN_SYS_DVDIO_H 1'
3744 def_dvdio
='#undef DVD_STRUCT_IN_SYS_DVDIO_H'
3749 echocheck
"sys/cdio.h"
3752 #include <sys/cdio.h>
3753 int main(void) { return 0; }
3756 cc_check
&& _cdio
=yes
3757 if test "$_cdio" = yes ; then
3758 def_cdio
='#define DVD_STRUCT_IN_SYS_CDIO_H 1'
3760 def_cdio
='#undef DVD_STRUCT_IN_SYS_CDIO_H'
3765 echocheck
"linux/cdrom.h"
3767 #include <sys/types.h>
3768 #include <linux/cdrom.h>
3769 int main(void) { return 0; }
3772 cc_check
&& _cdrom
=yes
3773 if test "$_cdrom" = yes ; then
3774 def_cdrom
='#define DVD_STRUCT_IN_LINUX_CDROM_H 1'
3776 def_cdrom
='#undef DVD_STRUCT_IN_LINUX_CDROM_H'
3784 int main(void) { return 0; }
3787 cc_check
&& _dvd
=yes
3788 if test "$_dvd" = yes ; then
3789 def_dvd
='#define DVD_STRUCT_IN_DVD_H 1'
3791 def_dvd
='#undef DVD_STRUCT_IN_DVD_H'
3797 echocheck
"BSDI dvd.h"
3800 int main(void) { return 0; }
3803 cc_check
&& _bsdi_dvd
=yes
3804 if test "$_bsdi_dvd" = yes ; then
3805 def_bsdi_dvd
='#define DVD_STRUCT_IN_BSDI_DVDIOCTL_DVD_H 1'
3807 def_bsdi_dvd
='#undef DVD_STRUCT_IN_BSDI_DVDIOCTL_DVD_H'
3809 echores
"$_bsdi_dvd"
3814 # also used by AIX, but AIX does not support VCD and/or libdvdread
3815 echocheck
"HP-UX SCSI header"
3817 #include <sys/scsi.h>
3818 int main(void) { return 0; }
3821 cc_check
&& _hpux_scsi_h
=yes
3822 if test "$_hpux_scsi_h" = yes ; then
3823 def_hpux_scsi_h
='#define HPUX_SCTL_IO 1'
3825 def_hpux_scsi_h
='#undef HPUX_SCTL_IO'
3827 echores
"$_hpux_scsi_h"
3832 echocheck
"userspace SCSI headers (Solaris)"
3835 #include <stropts.h>
3836 #include <sys/scsi/scsi_types.h>
3837 #include <sys/scsi/impl/uscsi.h>
3838 int main(void) { return 0; }
3841 cc_check
&& _sol_scsi_h
=yes
3842 if test "$_sol_scsi_h" = yes ; then
3843 def_sol_scsi_h
='#define SOLARIS_USCSI 1'
3845 def_sol_scsi_h
='#undef SOLARIS_USCSI'
3847 echores
"$_sol_scsi_h"
3852 if test "$_termcap" = auto
; then
3856 int main(void) { tgetent(NULL, NULL); return 0; }
3859 for _ld_tmp
in "-lncurses" "-ltinfo" "-ltermcap"; do
3860 cc_check
$_ld_tmp && extra_ldflags
="$extra_ldflags $_ld_tmp" \
3861 && _termcap
=yes && break
3864 if test "$_termcap" = yes ; then
3865 def_termcap
='#define HAVE_TERMCAP 1'
3866 test $_ld_tmp && _res_comment
="using $_ld_tmp"
3868 def_termcap
='#undef HAVE_TERMCAP'
3874 def_termios
='#undef HAVE_TERMIOS'
3875 def_termios_h
='#undef HAVE_TERMIOS_H'
3876 def_termios_sys_h
='#undef HAVE_SYS_TERMIOS_H'
3877 if test "$_termios" = auto
; then
3879 for _termios_header
in "sys/termios.h" "termios.h"; do
3881 #include <$_termios_header>
3882 int main(void) { return 0; }
3884 cc_check
&& _termios
=yes && _res_comment
="using $_termios_header" && break
3888 if test "$_termios" = yes ; then
3889 def_termios
='#define HAVE_TERMIOS 1'
3890 if test "$_termios_header" = "termios.h" ; then
3891 def_termios_h
='#define HAVE_TERMIOS_H 1'
3893 def_termios_sys_h
='#define HAVE_SYS_TERMIOS_H 1'
3900 if test "$_shm" = auto
; then
3902 #include <sys/types.h>
3903 #include <sys/shm.h>
3904 int main(void) { shmget(0, 0, 0); shmat(0, 0, 0); shmctl(0, 0, 0); return 0; }
3907 cc_check
&& _shm
=yes
3909 if test "$_shm" = yes ; then
3910 def_shm
='#define HAVE_SHM 1'
3912 def_shm
='#undef HAVE_SHM'
3917 echocheck
"strsep()"
3920 int main(void) { char *s = "Hello, world!"; (void) strsep(&s, ","); return 0; }
3923 cc_check
&& _strsep
=yes
3924 if test "$_strsep" = yes ; then
3925 def_strsep
='#define HAVE_STRSEP 1'
3928 def_strsep
='#undef HAVE_STRSEP'
3934 echocheck
"vsscanf()"
3936 #define _ISOC99_SOURCE
3939 int main(void) { va_list ap; vsscanf("foo", "bar", ap); return 0; }
3942 cc_check
&& _vsscanf
=yes
3943 if test "$_vsscanf" = yes ; then
3944 def_vsscanf
='#define HAVE_VSSCANF 1'
3947 def_vsscanf
='#undef HAVE_VSSCANF'
3955 #define _XOPEN_SOURCE 600
3957 int main(void) { swab(0, 0, 0); return 0; }
3960 cc_check
&& _swab
=yes
3961 if test "$_swab" = yes ; then
3962 def_swab
='#define HAVE_SWAB 1'
3965 def_swab
='#undef HAVE_SWAB'
3970 echocheck
"POSIX select()"
3974 #include <sys/types.h>
3976 #include <sys/time.h>
3978 int main(void) {int nfds = 1; fd_set readfds; struct timeval timeout; select(nfds,&readfds,NULL,NULL,&timeout); return 0; }
3981 def_posix_select
='#undef HAVE_POSIX_SELECT'
3982 #select() of kLIBC (OS/2) supports socket only
3983 ! os2
&& cc_check
&& _posix_select
=yes \
3984 && def_posix_select
='#define HAVE_POSIX_SELECT 1'
3985 echores
"$_posix_select"
3988 echocheck
"audio select()"
3989 if test "$_select" = no
; then
3990 def_select
='#undef HAVE_AUDIO_SELECT'
3991 elif test "$_select" = yes ; then
3992 def_select
='#define HAVE_AUDIO_SELECT 1'
3997 echocheck
"gettimeofday()"
4000 #include <sys/time.h>
4001 int main(void) {struct timeval tv_start; gettimeofday(&tv_start, NULL); return 0; }
4004 cc_check
&& _gettimeofday
=yes
4005 if test "$_gettimeofday" = yes ; then
4006 def_gettimeofday
='#define HAVE_GETTIMEOFDAY 1'
4007 _need_gettimeofday
=no
4009 def_gettimeofday
='#undef HAVE_GETTIMEOFDAY'
4010 _need_gettimeofday
=yes
4012 echores
"$_gettimeofday"
4019 int main(void) { glob_t gg; glob("filename",0,NULL,&gg); return 0; }
4022 cc_check
&& _glob
=yes
4023 if test "$_glob" = yes ; then
4024 def_glob
='#define HAVE_GLOB 1'
4027 def_glob
='#undef HAVE_GLOB'
4033 echocheck
"setenv()"
4036 int main(void) { setenv("","",0); return 0; }
4039 cc_check
&& _setenv
=yes
4040 if test "$_setenv" = yes ; then
4041 def_setenv
='#define HAVE_SETENV 1'
4044 def_setenv
='#undef HAVE_SETENV'
4051 echocheck
"sysi86()"
4053 #include <sys/sysi86.h>
4054 int main(void) { sysi86(0); return 0; }
4057 cc_check
&& _sysi86
=yes
4058 if test "$_sysi86" = yes ; then
4059 def_sysi86
='#define HAVE_SYSI86 1'
4061 #include <sys/sysi86.h>
4062 int main(void) { int sysi86(int, void*); sysi86(0); return 0; }
4064 cc_check
&& def_sysi86_iv
='#define HAVE_SYSI86_iv 1'
4066 def_sysi86
='#undef HAVE_SYSI86'
4072 echocheck
"sys/sysinfo.h"
4074 #include <sys/sysinfo.h>
4076 struct sysinfo s_info;
4082 cc_check
&& _sys_sysinfo
=yes
4083 if test "$_sys_sysinfo" = yes ; then
4084 def_sys_sysinfo_h
='#define HAVE_SYS_SYSINFO_H 1'
4086 def_sys_sysinfo_h
='#undef HAVE_SYS_SYSINFO_H'
4088 echores
"$_sys_sysinfo"
4093 echocheck
"Mac OS X Finder Support"
4094 def_macosx_finder
='#undef CONFIG_MACOSX_FINDER'
4095 if test "$_macosx_finder" = yes ; then
4096 def_macosx_finder
='#define CONFIG_MACOSX_FINDER 1'
4097 extra_ldflags
="$extra_ldflags -framework Carbon"
4099 echores
"$_macosx_finder"
4101 echocheck
"Mac OS X Bundle file locations"
4102 def_macosx_bundle
='#undef CONFIG_MACOSX_BUNDLE'
4103 test "$_macosx_bundle" = auto
&& _macosx_bundle
=$_macosx_finder
4104 if test "$_macosx_bundle" = yes ; then
4105 def_macosx_bundle
='#define CONFIG_MACOSX_BUNDLE 1'
4106 extra_ldflags
="$extra_ldflags -framework Carbon"
4108 echores
"$_macosx_bundle"
4110 echocheck
"Apple Remote"
4111 if test "$_apple_remote" = auto
; then
4115 #include <IOKit/IOCFPlugIn.h>
4117 io_iterator_t hidObjectIterator = (io_iterator_t)NULL;
4118 CFMutableDictionaryRef hidMatchDictionary;
4119 IOReturn ioReturnValue;
4121 // Set up a matching dictionary to search the I/O Registry by class.
4122 // name for all HID class devices
4123 hidMatchDictionary = IOServiceMatching("AppleIRController");
4125 // Now search I/O Registry for matching devices.
4126 ioReturnValue = IOServiceGetMatchingServices(kIOMasterPortDefault,
4127 hidMatchDictionary, &hidObjectIterator);
4129 // If search is unsuccessful, return nonzero.
4130 if (ioReturnValue != kIOReturnSuccess ||
4131 !IOIteratorIsValid(hidObjectIterator)) {
4137 cc_check
-framework IOKit
&& tmp_run
&& _apple_remote
=yes
4139 if test "$_apple_remote" = yes ; then
4140 def_apple_remote
='#define CONFIG_APPLE_REMOTE 1'
4141 libs_mplayer
="$libs_mplayer -framework IOKit -framework Cocoa"
4143 def_apple_remote
='#undef CONFIG_APPLE_REMOTE'
4145 echores
"$_apple_remote"
4151 echocheck
"Apple IR"
4152 if test "$_apple_ir" = auto
; then
4155 #include <linux/types.h>
4156 #include <linux/input.h>
4158 struct input_event ev;
4163 cc_check
&& _apple_ir
=yes
4165 if test "$_apple_ir" = yes ; then
4166 def_apple_ir
='#define CONFIG_APPLE_IR 1'
4168 def_apple_ir
='#undef CONFIG_APPLE_IR'
4170 echores
"$_apple_ir"
4173 echocheck
"pkg-config"
4174 _pkg_config
=pkg-config
4175 if $
($_pkg_config --version > /dev
/null
2>&1); then
4176 if test "$_ld_static"; then
4177 _pkg_config
="$_pkg_config --static"
4186 echocheck
"Samba support (libsmbclient)"
4187 if test "$_smb" = yes; then
4188 extra_ldflags
="$extra_ldflags -lsmbclient"
4190 if test "$_smb" = auto
; then
4193 #include <libsmbclient.h>
4194 int main(void) { smbc_opendir("smb://"); return 0; }
4196 for _ld_tmp
in "-lsmbclient" "-lsmbclient $_ld_dl" "-lsmbclient $_ld_dl -lnsl" "-lsmbclient $_ld_dl -lssl -lnsl" ; do
4197 cc_check
$_ld_tmp && extra_ldflags
="$extra_ldflags $_ld_tmp" && \
4202 if test "$_smb" = yes; then
4203 def_smb
="#define CONFIG_LIBSMBCLIENT 1"
4204 _inputmodules
="smb $_inputmodules"
4206 def_smb
="#undef CONFIG_LIBSMBCLIENT"
4207 _noinputmodules
="smb $_noinputmodules"
4218 if test "$_tdfxfb" = yes ; then
4219 def_tdfxfb
='#define CONFIG_TDFXFB 1'
4220 _vomodules
="tdfxfb $_vomodules"
4222 def_tdfxfb
='#undef CONFIG_TDFXFB'
4223 _novomodules
="tdfxfb $_novomodules"
4228 if test "$_s3fb" = yes ; then
4229 def_s3fb
='#define CONFIG_S3FB 1'
4230 _vomodules
="s3fb $_vomodules"
4232 def_s3fb
='#undef CONFIG_S3FB'
4233 _novomodules
="s3fb $_novomodules"
4238 if test "$_wii" = yes ; then
4239 def_wii
='#define CONFIG_WII 1'
4240 _vomodules
="wii $_vomodules"
4242 def_wii
='#undef CONFIG_WII'
4243 _novomodules
="wii $_novomodules"
4248 if test "$_tdfxvid" = yes ; then
4249 def_tdfxvid
='#define CONFIG_TDFX_VID 1'
4250 _vomodules
="tdfx_vid $_vomodules"
4252 def_tdfxvid
='#undef CONFIG_TDFX_VID'
4253 _novomodules
="tdfx_vid $_novomodules"
4258 if test "$_xvr100" = auto
; then
4261 #include <sys/fbio.h>
4262 #include <sys/visual_io.h>
4264 struct vis_identifier ident;
4265 struct fbgattr attr;
4266 ioctl(0, VIS_GETIDENTIFIER, &ident);
4267 ioctl(0, FBIOGATTR, &attr);
4272 cc_check
&& _xvr100
=yes
4274 if test "$_xvr100" = yes ; then
4275 def_xvr100
='#define CONFIG_XVR100 1'
4276 _vomodules
="xvr100 $_vomodules"
4278 def_tdfxvid
='#undef CONFIG_XVR100'
4279 _novomodules
="xvr100 $_novomodules"
4284 if test "$_tga" = yes ; then
4285 def_tga
='#define CONFIG_TGA 1'
4286 _vomodules
="tga $_vomodules"
4288 def_tga
='#undef CONFIG_TGA'
4289 _novomodules
="tga $_novomodules"
4294 echocheck
"md5sum support"
4295 if test "$_md5sum" = yes; then
4296 def_md5sum
="#define CONFIG_MD5SUM 1"
4297 _vomodules
="md5sum $_vomodules"
4299 def_md5sum
="#undef CONFIG_MD5SUM"
4300 _novomodules
="md5sum $_novomodules"
4305 echocheck
"yuv4mpeg support"
4306 if test "$_yuv4mpeg" = yes; then
4307 def_yuv4mpeg
="#define CONFIG_YUV4MPEG 1"
4308 _vomodules
="yuv4mpeg $_vomodules"
4310 def_yuv4mpeg
="#undef CONFIG_YUV4MPEG"
4311 _novomodules
="yuv4mpeg $_novomodules"
4313 echores
"$_yuv4mpeg"
4317 if test "$_bl" = yes ; then
4318 def_bl
='#define CONFIG_BL 1'
4319 _vomodules
="bl $_vomodules"
4321 def_bl
='#undef CONFIG_BL'
4322 _novomodules
="bl $_novomodules"
4327 echocheck
"DirectFB"
4328 if test "$_directfb" = auto
; then
4331 #include <directfb.h>
4332 int main(void) { DirectFBInit(0, 0); return 0; }
4334 for _inc_tmp
in "" -I/usr
/local
/include
/directfb \
4335 -I/usr
/include
/directfb
-I/usr
/local
/include
; do
4336 cc_check
$_inc_tmp -ldirectfb && _directfb
=yes && \
4337 extra_cflags
="$extra_cflags $_inc_tmp" && break
4342 expr $1 \
* 65536 + $2 \
* 256 + $3
4345 if test "$_directfb" = yes; then
4347 #include <directfb_version.h>
4349 dfb_ver = DIRECTFB_MAJOR_VERSION.DIRECTFB_MINOR_VERSION.DIRECTFB_MICRO_VERSION
4352 if $_cc -E $TMPC $extra_cflags > "$TMPEXE"; then
4353 _directfb_version
=$
(sed -n 's/^dfb_ver[^0-9]*\(.*\)/\1/p' "$TMPEXE" |
tr -d '()')
4354 _dfb_major
=$
(echo $_directfb_version | cut
-d .
-f 1)
4355 _dfb_minor
=$
(echo $_directfb_version | cut
-d .
-f 2)
4356 _dfb_micro
=$
(echo $_directfb_version | cut
-d .
-f 3)
4357 _dfb_version
=$
(dfb_version
$_dfb_major $_dfb_minor $_dfb_micro)
4358 if test "$_dfb_version" -ge $
(dfb_version
0 9 13); then
4359 def_directfb_version
="#define DIRECTFBVERSION $_dfb_version"
4360 _res_comment
="$_directfb_version"
4361 test "$_dfb_version" -ge $
(dfb_version
0 9 15) && _dfbmga
=yes
4363 def_directfb_version
='#undef DIRECTFBVERSION'
4365 _res_comment
="version >=0.9.13 required"
4369 _res_comment
="failed to get version"
4372 echores
"$_directfb"
4374 if test "$_directfb" = yes ; then
4375 def_directfb
='#define CONFIG_DIRECTFB 1'
4376 _vomodules
="directfb $_vomodules"
4377 libs_mplayer
="$libs_mplayer -ldirectfb"
4379 def_directfb
='#undef CONFIG_DIRECTFB'
4380 _novomodules
="directfb $_novomodules"
4382 if test "$_dfbmga" = yes; then
4383 _vomodules
="dfbmga $_vomodules"
4384 def_dfbmga
='#define CONFIG_DFBMGA 1'
4386 _novomodules
="dfbmga $_novomodules"
4387 def_dfbmga
='#undef CONFIG_DFBMGA'
4391 echocheck
"X11 headers presence"
4393 _res_comment
="check if the dev(el) packages are installed"
4394 for I
in $
(echo $extra_cflags |
sed s
/-I//g
) /usr
/include
; do
4395 if test -f "$I/X11/Xlib.h" ; then
4401 if test $_cross_compile = no
; then
4402 for I
in /usr
/X11
/include
/usr
/X11R
7/include
/usr
/local
/include
/usr
/X11R
6/include \
4403 /usr
/include
/X11R6
/usr
/openwin
/include
; do
4404 if test -f "$I/X11/Xlib.h" ; then
4405 extra_cflags
="$extra_cflags -I$I"
4407 _res_comment
="using $I"
4412 echores
"$_x11_headers"
4416 if test "$_x11" = auto
&& test "$_x11_headers" = yes ; then
4418 #include <X11/Xlib.h>
4419 #include <X11/Xutil.h>
4420 int main(void) { (void) XCreateWindow(0,0,0,0,0,0,0,0,0,0,0,0); return 0; }
4422 for I
in "" -L/usr
/X11R
7/lib
-L/usr
/local
/lib
-L/usr
/X11R
6/lib
-L/usr
/lib
/X11R6 \
4423 -L/usr
/X11
/lib
-L/usr
/lib32
-L/usr
/openwin
/lib
-L/usr
/local
/lib64
-L/usr
/X11R
6/lib64 \
4426 _ld_tmp
="$I -lXext -lX11 $_ld_pthread -Wl,-R$(echo $I | sed s/^-L//)"
4428 _ld_tmp
="$I -lXext -lX11 $_ld_pthread"
4430 cc_check
$_ld_tmp && libs_mplayer
="$libs_mplayer $_ld_tmp" \
4431 && _x11
=yes && break
4434 if test "$_x11" = yes ; then
4435 def_x11
='#define CONFIG_X11 1'
4436 _vomodules
="x11 xover $_vomodules"
4439 def_x11
='#undef CONFIG_X11'
4440 _novomodules
="x11 $_novomodules"
4441 _res_comment
="check if the dev(el) packages are installed"
4442 # disable stuff that depends on X
4443 _xv
=no
; _xvmc
=no
; _xinerama
=no
; _vm
=no
; _xf86keysym
=no
; _vdpau
=no
4447 echocheck
"Xss screensaver extensions"
4448 if test "$_xss" = auto
; then
4450 #include <X11/Xlib.h>
4451 #include <X11/extensions/scrnsaver.h>
4452 int main(void) { XScreenSaverSuspend(NULL, True); return 0; }
4455 cc_check
-lXss && _xss
=yes
4457 if test "$_xss" = yes ; then
4458 def_xss
='#define CONFIG_XSS 1'
4459 libs_mplayer
="$libs_mplayer -lXss"
4461 def_xss
='#undef CONFIG_XSS'
4468 if test "$_x11" = yes ; then
4470 #include <X11/Xmd.h>
4471 #include <X11/Xlib.h>
4472 #include <X11/Xutil.h>
4473 #include <X11/Xatom.h>
4474 #include <X11/extensions/dpms.h>
4475 int main(void) { (void) DPMSQueryExtension(0, 0, 0); return 0; }
4477 cc_check
-lXdpms && _xdpms3
=yes
4479 #include <X11/Xlib.h>
4480 #include <X11/extensions/dpms.h>
4481 int main(void) { (void) DPMSQueryExtension(0, 0, 0); return 0; }
4483 cc_check
-lXext && _xdpms4
=yes
4485 if test "$_xdpms4" = yes ; then
4486 def_xdpms
='#define CONFIG_XDPMS 1'
4487 _res_comment
="using Xdpms 4"
4489 elif test "$_xdpms3" = yes ; then
4490 def_xdpms
='#define CONFIG_XDPMS 1'
4491 libs_mplayer
="$libs_mplayer -lXdpms"
4492 _res_comment
="using Xdpms 3"
4495 def_xdpms
='#undef CONFIG_XDPMS'
4501 if test "$_xv" = auto
; then
4503 #include <X11/Xlib.h>
4504 #include <X11/extensions/Xvlib.h>
4506 (void) XvGetPortAttribute(0, 0, 0, 0);
4507 (void) XvQueryPortAttributes(0, 0, 0);
4511 cc_check
-lXv && _xv
=yes
4514 if test "$_xv" = yes ; then
4515 def_xv
='#define CONFIG_XV 1'
4516 libs_mplayer
="$libs_mplayer -lXv"
4517 _vomodules
="xv $_vomodules"
4519 def_xv
='#undef CONFIG_XV'
4520 _novomodules
="xv $_novomodules"
4526 if test "$_xv" = yes && test "$_xvmc" != no
; then
4529 #include <X11/Xlib.h>
4530 #include <X11/extensions/Xvlib.h>
4531 #include <X11/extensions/XvMClib.h>
4533 (void) XvMCQueryExtension(0,0,0);
4534 (void) XvMCCreateContext(0,0,0,0,0,0,0);
4537 for _ld_tmp
in $_xvmclib XvMCNVIDIA XvMCW I810XvMC
; do
4538 cc_check
-lXvMC -l$_ld_tmp && _xvmc
=yes && _xvmclib
="$_ld_tmp" && break
4541 if test "$_xvmc" = yes ; then
4542 def_xvmc
='#define CONFIG_XVMC 1'
4543 libs_mplayer
="$libs_mplayer -lXvMC -l$_xvmclib"
4544 _vomodules
="xvmc $_vomodules"
4545 _res_comment
="using $_xvmclib"
4547 def_xvmc
='#define CONFIG_XVMC 0'
4548 _novomodules
="xvmc $_novomodules"
4549 _libavdecoders
=$
(echo $_libavdecoders |
sed -e s
/MPEG_XVMC_DECODER
//)
4555 if test "$_vdpau" = auto
; then
4557 if test "$_dl" = yes ; then
4559 #include <vdpau/vdpau_x11.h>
4561 (void) vdp_device_create_x11(0, 0, 0, 0);
4562 return VDP_VIDEO_MIXER_FEATURE_HIGH_QUALITY_SCALING_L1; }
4564 cc_check
-lvdpau && _vdpau
=yes
4567 if test "$_vdpau" = yes ; then
4568 def_vdpau
='#define CONFIG_VDPAU 1'
4569 libs_mplayer
="$libs_mplayer -lvdpau"
4570 _vomodules
="vdpau $_vomodules"
4572 def_vdpau
='#define CONFIG_VDPAU 0'
4573 _novomodules
="vdpau $_novomodules"
4574 _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
//)
4579 echocheck
"Xinerama"
4580 if test "$_xinerama" = auto
; then
4582 #include <X11/Xlib.h>
4583 #include <X11/extensions/Xinerama.h>
4584 int main(void) { (void) XineramaIsActive(0); return 0; }
4587 cc_check
-lXinerama && _xinerama
=yes
4590 if test "$_xinerama" = yes ; then
4591 def_xinerama
='#define CONFIG_XINERAMA 1'
4592 libs_mplayer
="$libs_mplayer -lXinerama"
4594 def_xinerama
='#undef CONFIG_XINERAMA'
4596 echores
"$_xinerama"
4599 # Note: the -lXxf86vm library is the VideoMode extension and though it's not
4600 # needed for DGA, AFAIK every distribution packages together with DGA stuffs
4601 # named 'X extensions' or something similar.
4602 # This check may be useful for future mplayer versions (to change resolution)
4603 # If you run into problems, remove '-lXxf86vm'.
4605 if test "$_vm" = auto
; then
4607 #include <X11/Xlib.h>
4608 #include <X11/extensions/xf86vmode.h>
4609 int main(void) { (void) XF86VidModeQueryExtension(0, 0, 0); return 0; }
4612 cc_check
-lXxf86vm && _vm
=yes
4614 if test "$_vm" = yes ; then
4615 def_vm
='#define CONFIG_XF86VM 1'
4616 libs_mplayer
="$libs_mplayer -lXxf86vm"
4618 def_vm
='#undef CONFIG_XF86VM'
4622 # Check for the presence of special keycodes, like audio control buttons
4623 # that XFree86 might have. Used to be bundled with the xf86vm check, but
4624 # has nothing to do with xf86vm and XFree 3.x has xf86vm but does NOT
4625 # have these new keycodes.
4626 echocheck
"XF86keysym"
4627 if test "$_xf86keysym" = auto
; then
4630 #include <X11/Xlib.h>
4631 #include <X11/XF86keysym.h>
4632 int main(void) { return XF86XK_AudioPause; }
4634 cc_check
&& _xf86keysym
=yes
4636 if test "$_xf86keysym" = yes ; then
4637 def_xf86keysym
='#define CONFIG_XF86XK 1'
4639 def_xf86keysym
='#undef CONFIG_XF86XK'
4641 echores
"$_xf86keysym"
4644 if test "$_dga2" = auto
&& test "$_x11" = yes ; then
4646 #include <X11/Xlib.h>
4647 #include <X11/extensions/xf86dga.h>
4648 int main(void) { (void) XDGASetViewport(0, 0, 0, 0, 0); return 0; }
4651 cc_check
-lXxf86dga && _dga2
=yes
4653 if test "$_dga1" = auto
&& test "$_dga2" = no
&& test "$_vm" = yes ; then
4655 #include <X11/Xlib.h>
4656 #include <X11/extensions/xf86dga.h>
4657 int main(void) { (void) XF86DGASetViewPort(0, 0, 0, 0); return 0; }
4660 cc_check
-lXxf86dga -lXxf86vm && _dga1
=yes
4664 def_dga
='#undef CONFIG_DGA'
4665 def_dga1
='#undef CONFIG_DGA1'
4666 def_dga2
='#undef CONFIG_DGA2'
4667 if test "$_dga1" = yes ; then
4669 def_dga1
='#define CONFIG_DGA1 1'
4670 _res_comment
="using DGA 1.0"
4671 elif test "$_dga2" = yes ; then
4673 def_dga2
='#define CONFIG_DGA2 1'
4674 _res_comment
="using DGA 2.0"
4676 if test "$_dga" = yes ; then
4677 def_dga
='#define CONFIG_DGA 1'
4678 libs_mplayer
="$libs_mplayer -lXxf86dga"
4679 _vomodules
="dga $_vomodules"
4681 _novomodules
="dga $_novomodules"
4687 if test "$_3dfx" = yes && test "$_dga" = yes ; then
4688 def_3dfx
='#define CONFIG_3DFX 1'
4689 _vomodules
="3dfx $_vomodules"
4691 def_3dfx
='#undef CONFIG_3DFX'
4692 _novomodules
="3dfx $_novomodules"
4698 def_vidix
='#undef CONFIG_VIDIX'
4699 def_vidix_drv_cyberblade
='#undef CONFIG_VIDIX_DRV_CYBERBLADE'
4700 _vidix_drv_cyberblade
=no
4701 def_vidix_drv_ivtv
='#undef CONFIG_VIDIX_DRV_IVTV'
4703 def_vidix_drv_mach64
='#undef CONFIG_VIDIX_DRV_MACH64'
4704 _vidix_drv_mach64
=no
4705 def_vidix_drv_mga
='#undef CONFIG_VIDIX_DRV_MGA'
4707 def_vidix_drv_mga_crtc2
='#undef CONFIG_VIDIX_DRV_MGA_CRTC2'
4708 _vidix_drv_mga_crtc2
=no
4709 def_vidix_drv_nvidia
='#undef CONFIG_VIDIX_DRV_NVIDIA'
4710 _vidix_drv_nvidia
=no
4711 def_vidix_drv_pm2
='#undef CONFIG_VIDIX_DRV_PM2'
4713 def_vidix_drv_pm3
='#undef CONFIG_VIDIX_DRV_PM3'
4715 def_vidix_drv_radeon
='#undef CONFIG_VIDIX_DRV_RADEON'
4716 _vidix_drv_radeon
=no
4717 def_vidix_drv_rage128
='#undef CONFIG_VIDIX_DRV_RAGE128'
4718 _vidix_drv_rage128
=no
4719 def_vidix_drv_s3
='#undef CONFIG_VIDIX_DRV_S3'
4721 def_vidix_drv_sh_veu
='#undef CONFIG_VIDIX_DRV_SH_VEU'
4722 _vidix_drv_sh_veu
=no
4723 def_vidix_drv_sis
='#undef CONFIG_VIDIX_DRV_SIS'
4725 def_vidix_drv_unichrome
='#undef CONFIG_VIDIX_DRV_UNICHROME'
4726 _vidix_drv_unichrome
=no
4727 if test "$_vidix" = auto
; then
4729 x86
&& (linux || freebsd || netbsd || openbsd || dragonfly || sunos || win32
) \
4731 x86_64
&& win32
&& _vidix
=no
4732 (ppc || alpha
) && linux
&& _vidix
=yes
4736 if test "$_vidix" = yes ; then
4737 def_vidix
='#define CONFIG_VIDIX 1'
4738 _vomodules
="cvidix $_vomodules"
4739 # FIXME: ivtv driver temporarily disabled until we have a proper test
4740 #test "$_vidix_drivers" || _vidix_drivers="cyberblade ivtv mach64 mga mga_crtc2 nvidia pm2 pm3 radeon rage128 s3 sh_veu sis unichrome"
4741 test "$_vidix_drivers" || _vidix_drivers
="cyberblade mach64 mga mga_crtc2 nvidia pm2 pm3 radeon rage128 s3 sh_veu sis unichrome"
4743 # some vidix drivers are architecture and os specific, discard them elsewhere
4744 x86 || _vidix_drivers
=$
(echo $_vidix_drivers |
sed -e s
/cyberblade
// -e s
/sis
// -e s
/unichrome
// -e s
/s
3//)
4745 (test $host_arch = "sh" && linux
) || _vidix_drivers
=$
(echo $_vidix_drivers |
sed s
/sh_veu
//)
4747 for driver
in $_vidix_drivers ; do
4748 uc_driver
=$
(echo $driver |
tr '[a-z]' '[A-Z]')
4749 eval _vidix_drv_
${driver}=yes
4750 eval def_vidix_drv_
${driver}=\"\
#define CONFIG_VIDIX_DRV_${uc_driver} 1\"
4753 echocheck
"VIDIX PCI device name database"
4754 echores
"$_vidix_pcidb"
4755 if test "$_vidix_pcidb" = yes ; then
4761 echocheck
"VIDIX dhahelper support"
4762 test "$_dhahelper" = yes && cflags_dhahelper
=-DCONFIG_DHAHELPER
4763 echores
"$_dhahelper"
4765 echocheck
"VIDIX svgalib_helper support"
4766 test "$_svgalib_helper" = yes && cflags_svgalib_helper
=-DCONFIG_SVGAHELPER
4767 echores
"$_svgalib_helper"
4770 _novomodules
="cvidix $_novomodules"
4773 if test "$_vidix" = yes && win32
; then
4775 _vomodules
="winvidix $_vomodules"
4776 libs_mplayer
="$libs_mplayer -lgdi32"
4778 _novomodules
="winvidix $_novomodules"
4780 if test "$_vidix" = yes && test "$_x11" = yes; then
4782 _vomodules
="xvidix $_vomodules"
4784 _novomodules
="xvidix $_novomodules"
4787 echocheck
"/dev/mga_vid"
4788 if test "$_mga" = auto
; then
4790 test -c /dev
/mga_vid
&& _mga
=yes
4792 if test "$_mga" = yes ; then
4793 def_mga
='#define CONFIG_MGA 1'
4794 _vomodules
="mga $_vomodules"
4796 def_mga
='#undef CONFIG_MGA'
4797 _novomodules
="mga $_novomodules"
4802 if test "$_xmga" = auto
; then
4804 test "$_x11" = yes && test "$_mga" = yes && _xmga
=yes
4806 if test "$_xmga" = yes ; then
4807 def_xmga
='#define CONFIG_XMGA 1'
4808 _vomodules
="xmga $_vomodules"
4810 def_xmga
='#undef CONFIG_XMGA'
4811 _novomodules
="xmga $_novomodules"
4817 if test "$_ggi" = auto
; then
4819 #include <ggi/ggi.h>
4820 int main(void) { ggiInit(); return 0; }
4823 cc_check
-lggi && _ggi
=yes
4825 if test "$_ggi" = yes ; then
4826 def_ggi
='#define CONFIG_GGI 1'
4827 libs_mplayer
="$libs_mplayer -lggi"
4828 _vomodules
="ggi $_vomodules"
4830 def_ggi
='#undef CONFIG_GGI'
4831 _novomodules
="ggi $_novomodules"
4835 echocheck
"GGI extension: libggiwmh"
4836 if test "$_ggiwmh" = auto
; then
4839 #include <ggi/ggi.h>
4840 #include <ggi/wmh.h>
4841 int main(void) { ggiInit(); ggiWmhInit(); return 0; }
4843 cc_check
-lggi -lggiwmh && _ggiwmh
=yes
4845 # needed to get right output on obscure combination
4846 # like --disable-ggi --enable-ggiwmh
4847 if test "$_ggi" = yes && test "$_ggiwmh" = yes ; then
4848 def_ggiwmh
='#define CONFIG_GGIWMH 1'
4849 libs_mplayer
="$libs_mplayer -lggiwmh"
4852 def_ggiwmh
='#undef CONFIG_GGIWMH'
4858 if test "$_aa" = auto
; then
4861 extern struct aa_hardware_params aa_defparams;
4862 extern struct aa_renderparams aa_defrenderparams;
4866 (void) aa_init(0, 0, 0);
4867 c = aa_autoinit(&aa_defparams);
4868 p = aa_getrenderparams();
4869 aa_autoinitkbd(c,0);
4873 for _ld_tmp
in "-laa" ; do
4874 cc_check
$_ld_tmp && libs_mplayer
="$libs_mplayer $_ld_tmp" && _aa
=yes && break
4877 if test "$_aa" = yes ; then
4878 def_aa
='#define CONFIG_AA 1'
4880 libs_mplayer
="$libs_mplayer $(aalib-config --libs | cut -d " " -f 2,5,6)"
4882 _vomodules
="aa $_vomodules"
4884 def_aa
='#undef CONFIG_AA'
4885 _novomodules
="aa $_novomodules"
4891 if test "$_caca" = auto
; then
4893 if ( caca-config
--version ) >> "$TMPLOG" 2>&1 ; then
4896 #ifdef CACA_API_VERSION_1
4899 int main(void) { (void) caca_init(); return 0; }
4901 cc_check $
(caca-config
--libs) && _caca
=yes
4904 if test "$_caca" = yes ; then
4905 def_caca
='#define CONFIG_CACA 1'
4906 extra_cflags
="$extra_cflags $(caca-config --cflags)"
4907 libs_mplayer
="$libs_mplayer $(caca-config --libs)"
4908 _vomodules
="caca $_vomodules"
4910 def_caca
='#undef CONFIG_CACA'
4911 _novomodules
="caca $_novomodules"
4917 if test "$_svga" = auto
; then
4920 int main(void) { return 0; }
4923 cc_check
-lvga $_ld_lm && _svga
=yes
4925 if test "$_svga" = yes ; then
4926 def_svga
='#define CONFIG_SVGALIB 1'
4927 libs_mplayer
="$libs_mplayer -lvga"
4928 _vomodules
="svga $_vomodules"
4930 def_svga
='#undef CONFIG_SVGALIB'
4931 _novomodules
="svga $_novomodules"
4937 if test "$_fbdev" = auto
; then
4941 if test "$_fbdev" = yes ; then
4942 def_fbdev
='#define CONFIG_FBDEV 1'
4943 _vomodules
="fbdev $_vomodules"
4945 def_fbdev
='#undef CONFIG_FBDEV'
4946 _novomodules
="fbdev $_novomodules"
4953 if test "$_dvb" = auto
; then
4957 #include <sys/ioctl.h>
4961 #include <ost/dmx.h>
4962 #include <ost/frontend.h>
4963 #include <ost/sec.h>
4964 #include <ost/video.h>
4965 #include <ost/audio.h>
4966 int main(void) {return 0;}
4968 for _inc_tmp
in "" "-I/usr/src/DVB/ost/include" ; do
4969 cc_check
$_inc_tmp && _dvb
=yes && \
4970 extra_cflags
="$extra_cflags $_inc_tmp" && break
4974 if test "$_dvb" = yes ; then
4975 def_dvb
='#define CONFIG_DVB 1'
4976 def_dvbin
='#define CONFIG_DVBIN 1'
4977 _aomodules
="mpegpes(dvb) $_aomodules"
4978 _vomodules
="mpegpes(dvb) $_vomodules"
4981 echocheck
"DVB HEAD"
4982 if test "$_dvbhead" = auto
; then
4987 #include <sys/ioctl.h>
4991 #include <linux/dvb/dmx.h>
4992 #include <linux/dvb/frontend.h>
4993 #include <linux/dvb/video.h>
4994 #include <linux/dvb/audio.h>
4995 int main(void) {return 0;}
4997 for _inc_tmp
in "" "-I/usr/src/DVB/include" ; do
4998 cc_check
$_inc_tmp && _dvbhead
=yes && \
4999 extra_cflags
="$extra_cflags $_inc_tmp" && break
5003 if test "$_dvbhead" = yes ; then
5004 def_dvb
='#define CONFIG_DVB 1'
5005 def_dvb_head
='#define CONFIG_DVB_HEAD 1'
5006 def_dvbin
='#define CONFIG_DVBIN 1'
5007 _aomodules
="mpegpes(dvb) $_aomodules"
5008 _vomodules
="mpegpes(dvb) $_vomodules"
5011 if test "$_dvbhead" = no
&& test "$_dvb" = no
; then
5012 def_dvb
='#undef CONFIG_DVB'
5013 def_dvb_head
='#undef CONFIG_DVB_HEAD'
5014 def_dvbin
='#undef CONFIG_DVBIN '
5015 _aomodules
="mpegpes(file) $_aomodules"
5016 _vomodules
="mpegpes(file) $_vomodules"
5019 if test "$_dvb" = yes ||
test "$_dvbhead" = yes ; then
5021 _inputmodules
="dvb $_inputmodules"
5024 _noinputmodules
="dvb $_noinputmodules"
5030 echocheck
"QuickTime"
5031 if test "$quicktime" = auto
; then
5033 #include <QuickTime/QuickTime.h>
5035 ImageDescription *desc;
5042 cc_check
-framework QuickTime
&& quicktime
=yes
5044 if test "$quicktime" = yes ; then
5045 extra_ldflags
="$extra_ldflags -framework QuickTime"
5046 def_quicktime
='#define CONFIG_QUICKTIME 1'
5048 def_quicktime
='#undef CONFIG_QUICKTIME'
5054 if test "$_quartz" = auto
; then
5056 #include <Carbon/Carbon.h>
5058 CFRunLoopRunInMode(kCFRunLoopDefaultMode, 0, false);
5063 cc_check
-framework Carbon
&& _quartz
=yes
5065 if test "$_quartz" = yes ; then
5066 libs_mplayer
="$libs_mplayer -framework Carbon"
5067 def_quartz
='#define CONFIG_QUARTZ 1'
5068 _vomodules
="quartz $_vomodules"
5070 def_quartz
='#undef CONFIG_QUARTZ'
5071 _novomodules
="quartz $_novomodules"
5075 echocheck
"CoreVideo"
5076 if test "$_corevideo" = auto
; then
5078 #include <Carbon/Carbon.h>
5079 #include <CoreServices/CoreServices.h>
5080 #include <OpenGL/OpenGL.h>
5081 #include <QuartzCore/CoreVideo.h>
5082 int main(void) { return 0; }
5085 cc_check
-framework Carbon
-framework Cocoa
-framework QuartzCore
-framework OpenGL
&& _corevideo
=yes
5087 if test "$_corevideo" = yes ; then
5088 _vomodules
="corevideo $_vomodules"
5089 libs_mplayer
="$libs_mplayer -framework Carbon -framework Cocoa -framework QuartzCore -framework OpenGL"
5090 def_corevideo
='#define CONFIG_COREVIDEO 1'
5092 _novomodules
="corevideo $_novomodules"
5093 def_corevideo
='#undef CONFIG_COREVIDEO'
5095 echores
"$_corevideo"
5100 # make sure this stays below CoreVideo to avoid issues due to namespace
5101 # conflicts between -lGL and -framework OpenGL
5103 #Note: this test is run even with --enable-gl since we autodetect linker flags
5104 if (test "$_x11" = yes || win32
) && test "$_gl" != no
; then
5107 #include <windows.h>
5111 #include <X11/Xlib.h>
5117 wglCreateContext(dc);
5119 glXCreateContext(NULL, NULL, NULL, True);
5126 for _ld_tmp
in -lGL "-lGL -lXdamage" "-lGL $_ld_pthread" ; do
5127 if cc_check
$_ld_tmp $_ld_lm ; then
5130 libs_mplayer
="$libs_mplayer $_ld_tmp $_ld_dl"
5134 if cc_check
-DGL_WIN32 -lopengl32 ; then
5137 libs_mplayer
="$libs_mplayer -lopengl32 -lgdi32"
5142 if test "$_gl" = yes ; then
5143 def_gl
='#define CONFIG_GL 1'
5144 _res_comment
="backends:"
5145 if test "$_gl_win32" = yes ; then
5146 def_gl_win32
='#define CONFIG_GL_WIN32 1'
5147 _res_comment
="$_res_comment win32"
5149 if test "$_gl_x11" = yes ; then
5150 def_gl_x11
='#define CONFIG_GL_X11 1'
5151 _res_comment
="$_res_comment x11"
5153 _vomodules
="opengl $_vomodules"
5155 def_gl
='#undef CONFIG_GL'
5156 def_gl_win32
='#undef CONFIG_GL_WIN32'
5157 def_gl_x11
='#undef CONFIG_GL_X11'
5158 _novomodules
="opengl $_novomodules"
5163 echocheck
"MatrixView"
5164 if test "$_gl" = no
; then
5167 if test "$matrixview" = yes ; then
5168 _vomodules
="matrixview $_vomodules"
5169 def_matrixview
='#define CONFIG_MATRIXVIEW 1'
5171 _novomodules
="matrixview $_novomodules"
5172 def_matrixview
='#undef CONFIG_MATRIXVIEW'
5174 echores
"$matrixview"
5177 echocheck
"PNG support"
5178 if test "$_png" = auto
; then
5181 # Don't check for -lpng on irix since it has its own libpng
5182 # incompatible with the GNU libpng
5183 _res_comment
="disabled on irix (not GNU libpng)"
5189 printf("png.h : %s\n", PNG_LIBPNG_VER_STRING);
5190 printf("libpng: %s\n", png_libpng_ver);
5191 return strcmp(PNG_LIBPNG_VER_STRING, png_libpng_ver);
5194 cc_check
-lpng -lz $_ld_lm && _png
=yes
5198 if test "$_png" = yes ; then
5199 def_png
='#define CONFIG_PNG 1'
5200 extra_ldflags
="$extra_ldflags -lpng -lz"
5202 def_png
='#undef CONFIG_PNG'
5205 echocheck
"MNG support"
5206 if test "$_mng" = auto
; then
5211 const char * p_ver = mng_version_text();
5212 return !p_ver || p_ver[0] == 0;
5215 if cc_check
-lmng -lz $_ld_lm ; then
5220 if test "$_mng" = yes ; then
5221 def_mng
='#define CONFIG_MNG 1'
5222 extra_ldflags
="$extra_ldflags -lmng -lz"
5224 def_mng
='#undef CONFIG_MNG'
5227 echocheck
"JPEG support"
5228 if test "$_jpeg" = auto
; then
5235 #include <jpeglib.h>
5236 int main(void) { return 0; }
5238 cc_check
-ljpeg $_ld_lm && _jpeg
=yes
5242 if test "$_jpeg" = yes ; then
5243 def_jpeg
='#define CONFIG_JPEG 1'
5244 _vomodules
="jpeg $_vomodules"
5245 extra_ldflags
="$extra_ldflags -ljpeg"
5247 def_jpeg
='#undef CONFIG_JPEG'
5248 _novomodules
="jpeg $_novomodules"
5252 echocheck
"OpenJPEG (JPEG2000) support"
5253 if test "$libopenjpeg" = auto
; then
5257 #include <openjpeg.h>
5258 int main(void) { opj_dparameters_t dec_params; opj_set_default_decoder_parameters(&dec_params); return 0; }
5260 cc_check
-lopenjpeg $_ld_lm && libopenjpeg
=yes
5262 echores
"$libopenjpeg"
5263 if test "$libopenjpeg" = yes ; then
5264 def_libopenjpeg
='#define CONFIG_LIBOPENJPEG 1'
5265 extra_ldflags
="$extra_ldflags -lopenjpeg"
5266 _libavdecoders
="$_libavdecoders LIBOPENJPEG_DECODER"
5267 _libavencoders
="$_libavencoders LIBOPENJPEG_ENCODER"
5268 _codecmodules
="OpenJPEG $_codecmodules"
5270 def_libopenjpeg
='#define CONFIG_LIBOPENJPEG 0'
5271 _nocodecmodules
="OpenJPEG $_nocodecmodules"
5275 echocheck
"PNM support"
5276 if test "$_pnm" = yes; then
5277 def_pnm
="#define CONFIG_PNM 1"
5278 _vomodules
="pnm $_vomodules"
5280 def_pnm
="#undef CONFIG_PNM"
5281 _novomodules
="pnm $_novomodules"
5287 echocheck
"GIF support"
5288 # This is to appease people who want to force gif support.
5289 # If it is forced to yes, then we still do checks to determine
5290 # which gif library to use.
5291 if test "$_gif" = yes ; then
5296 if test "$_gif" = auto
; then
5299 #include <gif_lib.h>
5300 int main(void) { return 0; }
5302 for _ld_gif
in "-lungif" "-lgif" ; do
5303 cc_check
$_ld_gif && _gif
=yes && break
5307 # If no library was found, and the user wants support forced,
5308 # then we force it on with libgif, as this is the safest
5309 # assumption IMHO. (libungif & libregif both create symbolic
5310 # links to libgif. We also assume that no x11 support is needed,
5311 # because if you are forcing this, then you _should_ know what
5312 # you are doing. [ Besides, package maintainers should never
5313 # have compiled x11 deps into libungif in the first place. ] )
5316 if test "$_force_gif" = yes && test "$_gif" = no
; then
5321 if test "$_gif" = yes ; then
5322 def_gif
='#define CONFIG_GIF 1'
5323 _codecmodules
="gif $_codecmodules"
5324 _vomodules
="gif89a $_vomodules"
5325 _res_comment
="old version, some encoding functions disabled"
5326 def_gif_4
='#undef CONFIG_GIF_4'
5327 extra_ldflags
="$extra_ldflags $_ld_gif"
5331 #include <gif_lib.h>
5332 void catch() { exit(1); }
5334 signal(SIGSEGV, catch); // catch segfault
5335 printf("EGifPutExtensionFirst is at address %p\n", EGifPutExtensionFirst);
5336 EGifSetGifVersion("89a"); // this will segfault a buggy gif lib.
5340 if cc_check
"$_ld_gif" ; then
5341 def_gif_4
='#define CONFIG_GIF_4 1'
5345 def_gif
='#undef CONFIG_GIF'
5346 def_gif_4
='#undef CONFIG_GIF_4'
5347 _novomodules
="gif89a $_novomodules"
5348 _nocodecmodules
="gif $_nocodecmodules"
5353 case "$_gif" in yes*)
5354 echocheck
"broken giflib workaround"
5355 def_gif_tvt_hack
='#define CONFIG_GIF_TVT_HACK 1'
5358 #include <gif_lib.h>
5361 printf("UserData is at address %p\n", gif.UserData);
5365 if cc_check
"$_ld_gif" ; then
5366 def_gif_tvt_hack
='#undef CONFIG_GIF_TVT_HACK'
5375 echocheck
"VESA support"
5376 if test "$_vesa" = auto
; then
5379 int main(void) { vbeVersion(); return 0; }
5382 cc_check
-lvbe -llrmi && _vesa
=yes
5384 if test "$_vesa" = yes ; then
5385 def_vesa
='#define CONFIG_VESA 1'
5386 libs_mplayer
="$libs_mplayer -lvbe -llrmi"
5387 _vomodules
="vesa $_vomodules"
5389 def_vesa
='#undef CONFIG_VESA'
5390 _novomodules
="vesa $_novomodules"
5402 def_sdl_sdl_h
="#undef CONFIG_SDL_SDL_H"
5403 if test -z "$_sdlconfig" ; then
5404 if ( sdl-config
--version ) >>"$TMPLOG" 2>&1 ; then
5405 _sdlconfig
="sdl-config"
5406 elif ( sdl11-config
--version ) >>"$TMPLOG" 2>&1 ; then
5407 _sdlconfig
="sdl11-config"
5412 if test "$_sdl" = auto ||
test "$_sdl" = yes ; then
5414 #ifdef CONFIG_SDL_SDL_H
5415 #include <SDL/SDL.h>
5420 // we allow SDL hacking our main() only on OSX
5423 int main(int argc, char *argv[]) {
5424 SDL_Init(SDL_INIT_VIDEO|SDL_INIT_NOPARACHUTE);
5429 for _ld_tmp
in "-lSDL" "-lSDL -lpthread" "-lSDL -lwinmm -lgdi32" "-lSDL -lwinmm -lgdi32 -ldxguid" ; do
5430 if cc_check
-DCONFIG_SDL_SDL_H $_inc_tmp $_ld_tmp ; then
5432 def_sdl_sdl_h
="#define CONFIG_SDL_SDL_H 1"
5436 if test "$_sdl" = no
&& "$_sdlconfig" --version >>"$TMPLOG" 2>&1 ; then
5437 _res_comment
="using $_sdlconfig"
5439 _inc_tmp
="$($_sdlconfig --cflags | cut -d " " -f 1,5,6 | sed s/no-cygwin/cygwin/)"
5440 _ld_tmp
="$($_sdlconfig --libs | cut -d " " -f 1,4,6 | sed s/no-cygwin/cygwin/)"
5442 _inc_tmp
=$
($_sdlconfig --cflags |
sed s
/-Dmain=SDL_main
//)
5443 _ld_tmp
=$
($_sdlconfig --libs |
sed -e s
/-mwindows// -e s
/-lmingw32//)
5445 _inc_tmp
="$($_sdlconfig --cflags)"
5446 _ld_tmp
="$($_sdlconfig --libs)"
5448 if cc_check
$_inc_tmp $_ld_tmp >>"$TMPLOG" 2>&1 ; then
5449 _sdlversion
=$
($_sdlconfig --version |
sed 's/[^0-9]//g')
5450 if test "$_sdlversion" -gt 116 ; then
5451 if test "$_sdlversion" -lt 121 ; then
5452 def_sdlbuggy
='#define BUGGY_SDL'
5454 def_sdlbuggy
='#undef BUGGY_SDL'
5461 if test "$_sdl" = yes ; then
5462 def_sdl
='#define CONFIG_SDL 1'
5463 extra_cflags
="$extra_cflags $_inc_tmp"
5464 libs_mplayer
="$libs_mplayer $_ld_tmp"
5465 _vomodules
="sdl $_vomodules"
5466 _aomodules
="sdl $_aomodules"
5468 def_sdl
='#undef CONFIG_SDL'
5469 _novomodules
="sdl $_novomodules"
5470 _noaomodules
="sdl $_noaomodules"
5476 echocheck
"KVA (SNAP/WarpOverlay!/DIVE)"
5477 if test "$_kva" = auto
; then
5481 int main( void ) { return 0; }
5484 cc_check
-lkva && _kva
=yes
5486 if test "$_kva" = yes ; then
5487 def_kva
='#define CONFIG_KVA 1'
5488 libs_mplayer
="$libs_mplayer -lkva"
5489 _vomodules
="kva $_vomodules"
5491 def_kva
='#undef CONFIG_KVA'
5492 _novomodules
="kva $_novomodules"
5500 echocheck
"Windows waveout"
5501 if test "$_win32waveout" = auto
; then
5503 #include <windows.h>
5504 #include <mmsystem.h>
5505 int main(void) { return 0; }
5508 cc_check
-lwinmm && _win32waveout
=yes
5510 if test "$_win32waveout" = yes ; then
5511 def_win32waveout
='#define CONFIG_WIN32WAVEOUT 1'
5512 libs_mplayer
="$libs_mplayer -lwinmm"
5513 _aomodules
="win32 $_aomodules"
5515 def_win32waveout
='#undef CONFIG_WIN32WAVEOUT'
5516 _noaomodules
="win32 $_noaomodules"
5518 echores
"$_win32waveout"
5520 echocheck
"Direct3D"
5521 if test "$_direct3d" = auto
; then
5523 #include <windows.h>
5525 int main(void) { return 0; }
5528 cc_check
&& _direct3d
=yes
5530 if test "$_direct3d" = yes ; then
5531 def_direct3d
='#define CONFIG_DIRECT3D 1'
5532 _vomodules
="direct3d $_vomodules"
5534 def_direct3d
='#undef CONFIG_DIRECT3D'
5535 _novomodules
="direct3d $_novomodules"
5537 echores
"$_direct3d"
5540 if test "$_directx" = auto
; then
5542 #include <windows.h>
5545 int main(void) { return 0; }
5548 cc_check
-lgdi32 && _directx
=yes
5550 if test "$_directx" = yes ; then
5551 def_directx
='#define CONFIG_DIRECTX 1'
5552 libs_mplayer
="$libs_mplayer -lgdi32"
5553 _vomodules
="directx $_vomodules"
5554 _aomodules
="dsound $_aomodules"
5556 def_directx
='#undef CONFIG_DIRECTX'
5557 _novomodules
="directx $_novomodules"
5558 _noaomodules
="dsound $_noaomodules"
5566 if test "$_dxr2" = auto
; then
5569 #include <dxr2ioctl.h>
5570 int main(void) { return 0; }
5572 for _inc_tmp
in "" -I/usr
/local
/include
/dxr2
-I/usr
/include
/dxr2
; do
5573 cc_check
$_inc_tmp && _dxr2
=yes && \
5574 extra_cflags
="$extra_cflags $_inc_tmp" && break
5577 if test "$_dxr2" = yes; then
5578 def_dxr2
='#define CONFIG_DXR2 1'
5579 _aomodules
="dxr2 $_aomodules"
5580 _vomodules
="dxr2 $_vomodules"
5582 def_dxr2
='#undef CONFIG_DXR2'
5583 _noaomodules
="dxr2 $_noaomodules"
5584 _novomodules
="dxr2 $_novomodules"
5589 if test "$_dxr3" = auto
; then
5591 #include <linux/em8300.h>
5592 int main(void) { return 0; }
5595 cc_check
&& _dxr3
=yes
5597 if test "$_dxr3" = yes ; then
5598 def_dxr3
='#define CONFIG_DXR3 1'
5599 _vomodules
="dxr3 $_vomodules"
5601 def_dxr3
='#undef CONFIG_DXR3'
5602 _novomodules
="dxr3 $_novomodules"
5607 echocheck
"IVTV TV-Out (pre linux-2.6.24)"
5608 if test "$_ivtv" = auto
; then
5611 #include <inttypes.h>
5612 #include <linux/types.h>
5613 #include <linux/videodev2.h>
5614 #include <linux/ivtv.h>
5615 #include <sys/ioctl.h>
5617 struct ivtv_cfg_stop_decode sd;
5618 struct ivtv_cfg_start_decode sd1;
5619 ioctl(0, IVTV_IOC_START_DECODE, &sd1);
5620 ioctl(0, IVTV_IOC_STOP_DECODE, &sd);
5624 cc_check
&& _ivtv
=yes
5626 if test "$_ivtv" = yes ; then
5627 def_ivtv
='#define CONFIG_IVTV 1'
5628 _vomodules
="ivtv $_vomodules"
5629 _aomodules
="ivtv $_aomodules"
5631 def_ivtv
='#undef CONFIG_IVTV'
5632 _novomodules
="ivtv $_novomodules"
5633 _noaomodules
="ivtv $_noaomodules"
5638 echocheck
"V4L2 MPEG Decoder"
5639 if test "$_v4l2" = auto
; then
5642 #include <inttypes.h>
5643 #include <linux/types.h>
5644 #include <linux/videodev2.h>
5645 #include <linux/version.h>
5647 #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,22)
5648 #error kernel headers too old, need 2.6.22
5650 struct v4l2_ext_controls ctrls;
5651 ctrls.ctrl_class = V4L2_CTRL_CLASS_MPEG;
5656 cc_check
&& _v4l2
=yes
5658 if test "$_v4l2" = yes ; then
5659 def_v4l2
='#define CONFIG_V4L2_DECODER 1'
5660 _vomodules
="v4l2 $_vomodules"
5661 _aomodules
="v4l2 $_aomodules"
5663 def_v4l2
='#undef CONFIG_V4L2_DECODER'
5664 _novomodules
="v4l2 $_novomodules"
5665 _noaomodules
="v4l2 $_noaomodules"
5676 echocheck
"OSS Audio"
5677 if test "$_ossaudio" = auto
; then
5679 #include <sys/ioctl.h>
5680 #include <$_soundcard_header>
5681 int main(void) { int arg = SNDCTL_DSP_SETFRAGMENT; return 0; }
5684 cc_check
&& _ossaudio
=yes
5686 if test "$_ossaudio" = yes ; then
5687 def_ossaudio
='#define CONFIG_OSS_AUDIO 1'
5688 _aomodules
="oss $_aomodules"
5689 if test "$_linux_devfs" = yes; then
5690 def_ossaudio_devdsp
='#define PATH_DEV_DSP "/dev/sound/dsp"'
5691 def_ossaudio_devmixer
='#define PATH_DEV_MIXER "/dev/sound/mixer"'
5694 #include <sys/ioctl.h>
5695 #include <$_soundcard_header>
5696 #ifdef OPEN_SOUND_SYSTEM
5697 int main(void) { return 0; }
5699 #error Not the real thing
5703 cc_check
&& _real_ossaudio
=yes
5704 if test "$_real_ossaudio" = yes; then
5705 def_ossaudio_devdsp
='#define PATH_DEV_DSP "/dev/dsp"'
5706 elif netbsd || openbsd
; then
5707 def_ossaudio_devdsp
='#define PATH_DEV_DSP "/dev/sound"'
5708 extra_ldflags
="$extra_ldflags -lossaudio"
5710 def_ossaudio_devdsp
='#define PATH_DEV_DSP "/dev/dsp"'
5712 def_ossaudio_devmixer
='#define PATH_DEV_MIXER "/dev/mixer"'
5715 def_ossaudio
='#undef CONFIG_OSS_AUDIO'
5716 def_ossaudio_devdsp
='#define PATH_DEV_DSP ""'
5717 def_ossaudio_devmixer
='#define PATH_DEV_MIXER ""'
5718 _noaomodules
="oss $_noaomodules"
5720 echores
"$_ossaudio"
5724 if test "$_arts" = auto
; then
5726 if ( artsc-config
--version ) >> "$TMPLOG" 2>&1 ; then
5730 int main(void) { return 0; }
5732 cc_check $
(artsc-config
--libs) $
(artsc-config
--cflags) && _arts
=yes
5737 if test "$_arts" = yes ; then
5738 def_arts
='#define CONFIG_ARTS 1'
5739 _aomodules
="arts $_aomodules"
5740 libs_mplayer
="$libs_mplayer $(artsc-config --libs)"
5741 extra_cflags
="$extra_cflags $(artsc-config --cflags)"
5743 _noaomodules
="arts $_noaomodules"
5749 if test "$_esd" = auto
; then
5751 if ( esd-config
--version ) >> "$TMPLOG" 2>&1 ; then
5755 int main(void) { int fd = esd_open_sound("test"); return fd; }
5757 cc_check $
(esd-config
--libs) $
(esd-config
--cflags) && _esd
=yes
5763 if test "$_esd" = yes ; then
5764 def_esd
='#define CONFIG_ESD 1'
5765 _aomodules
="esd $_aomodules"
5766 libs_mplayer
="$libs_mplayer $(esd-config --libs)"
5767 extra_cflags
="$extra_cflags $(esd-config --cflags)"
5769 echocheck
"esd_get_latency()"
5772 int main(void) { return esd_get_latency(0); }
5774 cc_check $
(esd-config
--libs) $
(esd-config
--cflags) && _esd_latency
=yes && def_esd_latency
='#define CONFIG_ESD_LATENCY 1'
5775 echores
"$_esd_latency"
5777 def_esd
='#undef CONFIG_ESD'
5778 def_esd_latency
='#undef CONFIG_ESD_LATENCY'
5779 _noaomodules
="esd $_noaomodules"
5784 if test "$_nas" = auto
; then
5786 #include <audio/audiolib.h>
5787 int main(void) { return 0; }
5790 cc_check
$_ld_lm -laudio -lXt && _nas
=yes
5792 if test "$_nas" = yes ; then
5793 def_nas
='#define CONFIG_NAS 1'
5794 libs_mplayer
="$libs_mplayer -laudio -lXt"
5795 _aomodules
="nas $_aomodules"
5797 _noaomodules
="nas $_noaomodules"
5798 def_nas
='#undef CONFIG_NAS'
5804 if test "$_pulse" = auto
; then
5806 if $_pkg_config --exists 'libpulse >= 0.9' ; then
5809 #include <pulse/pulseaudio.h>
5810 int main(void) { return 0; }
5812 cc_check $
($_pkg_config --libs --cflags libpulse
) && _pulse
=yes
5818 if test "$_pulse" = yes ; then
5819 def_pulse
='#define CONFIG_PULSE 1'
5820 _aomodules
="pulse $_aomodules"
5821 libs_mplayer
="$libs_mplayer $($_pkg_config --libs libpulse)"
5822 extra_cflags
="$extra_cflags $($_pkg_config --cflags libpulse)"
5824 def_pulse
='#undef CONFIG_PULSE'
5825 _noaomodules
="pulse $_noaomodules"
5830 if test "$_jack" = auto
; then
5834 #include <jack/jack.h>
5835 int main(void) { jack_client_open("test", JackUseExactName, NULL); return 0; }
5837 if cc_check
-ljack ; then
5838 libs_mplayer
="$libs_mplayer -ljack"
5839 elif cc_check $
($_pkg_config --libs --cflags --silence-errors jack
) ; then
5840 libs_mplayer
="$libs_mplayer $($_pkg_config --libs jack)"
5841 extra_cflags
="$extra_cflags "$
($_pkg_config --cflags jack
)""
5847 if test "$_jack" = yes ; then
5848 def_jack
='#define CONFIG_JACK 1'
5849 _aomodules
="jack $_aomodules"
5851 _noaomodules
="jack $_noaomodules"
5856 if test "$_openal" = auto
; then
5860 #include <OpenAL/al.h>
5865 alSourceQueueBuffers(0, 0, 0);
5866 // alGetSourcei(0, AL_SAMPLE_OFFSET, 0);
5870 for I
in "-lopenal" "-lopenal32" "-framework OpenAL" ; do
5871 cc_check
$I && _openal
=yes && break
5872 cc_check
-DOPENAL_AL_H=1 $I && def_openal_h
='#define OPENAL_AL_H 1' && _openal
=yes && break
5874 test "$_openal" = yes && libs_mplayer
="$libs_mplayer $I"
5876 if test "$_openal" = yes ; then
5877 def_openal
='#define CONFIG_OPENAL 1'
5878 _aomodules
="openal $_aomodules"
5880 _noaomodules
="openal $_noaomodules"
5884 echocheck
"ALSA audio"
5885 if test "$_alloca" != yes ; then
5887 _res_comment
="alloca missing"
5889 if test "$_alsa" != no
; then
5892 #include <sys/time.h>
5893 #include <sys/asoundlib.h>
5894 #if !((SND_LIB_MAJOR == 0) && (SND_LIB_MINOR == 5))
5895 #error "alsa version != 0.5.x"
5897 int main(void) { return 0; }
5899 cc_check
-lasound $_ld_dl $_ld_pthread && _alsaver
='0.5.x'
5902 #include <sys/time.h>
5903 #include <sys/asoundlib.h>
5904 #if !((SND_LIB_MAJOR == 0) && (SND_LIB_MINOR == 9))
5905 #error "alsa version != 0.9.x"
5907 int main(void) { return 0; }
5909 cc_check
-lasound $_ld_dl $_ld_pthread && _alsaver
='0.9.x-sys'
5911 #include <sys/time.h>
5912 #include <alsa/asoundlib.h>
5913 #if !((SND_LIB_MAJOR == 0) && (SND_LIB_MINOR == 9))
5914 #error "alsa version != 0.9.x"
5916 int main(void) { return 0; }
5918 cc_check
-lasound $_ld_dl $_ld_pthread && _alsaver
='0.9.x-alsa'
5921 #include <sys/time.h>
5922 #include <sys/asoundlib.h>
5923 #if !((SND_LIB_MAJOR == 1) && (SND_LIB_MINOR == 0))
5924 #error "alsa version != 1.0.x"
5926 int main(void) { return 0; }
5928 cc_check
-lasound $_ld_dl $_ld_pthread && _alsaver
='1.0.x-sys'
5930 #include <sys/time.h>
5931 #include <alsa/asoundlib.h>
5932 #if !((SND_LIB_MAJOR == 1) && (SND_LIB_MINOR == 0))
5933 #error "alsa version != 1.0.x"
5935 int main(void) { return 0; }
5937 cc_check
-lasound $_ld_dl $_ld_pthread && _alsaver
='1.0.x-alsa'
5939 def_alsa
='#undef CONFIG_ALSA'
5940 def_alsa5
='#undef CONFIG_ALSA5'
5941 def_alsa9
='#undef CONFIG_ALSA9'
5942 def_alsa1x
='#undef CONFIG_ALSA1X'
5943 def_sys_asoundlib_h
='#undef HAVE_SYS_ASOUNDLIB_H'
5944 def_alsa_asoundlib_h
='#undef HAVE_ALSA_ASOUNDLIB_H'
5945 if test "$_alsaver" ; then
5947 if test "$_alsaver" = '0.5.x' ; then
5949 _aomodules
="alsa5 $_aomodules"
5950 def_alsa5
='#define CONFIG_ALSA5 1'
5951 def_sys_asoundlib_h
='#define HAVE_SYS_ASOUNDLIB_H 1'
5952 _res_comment
="using alsa 0.5.x and sys/asoundlib.h"
5953 elif test "$_alsaver" = '0.9.x-sys' ; then
5955 _aomodules
="alsa $_aomodules"
5956 def_alsa
='#define CONFIG_ALSA 1'
5957 def_alsa9
='#define CONFIG_ALSA9 1'
5958 def_sys_asoundlib_h
='#define HAVE_SYS_ASOUNDLIB_H 1'
5959 _res_comment
="using alsa 0.9.x and sys/asoundlib.h"
5960 elif test "$_alsaver" = '0.9.x-alsa' ; then
5962 _aomodules
="alsa $_aomodules"
5963 def_alsa
='#define CONFIG_ALSA 1'
5964 def_alsa9
='#define CONFIG_ALSA9 1'
5965 def_alsa_asoundlib_h
='#define HAVE_ALSA_ASOUNDLIB_H 1'
5966 _res_comment
="using alsa 0.9.x and alsa/asoundlib.h"
5967 elif test "$_alsaver" = '1.0.x-sys' ; then
5969 _aomodules
="alsa $_aomodules"
5970 def_alsa
='#define CONFIG_ALSA 1'
5971 def_alsa1x
="#define CONFIG_ALSA1X 1"
5972 def_alsa_asoundlib_h
='#define HAVE_SYS_ASOUNDLIB_H 1'
5973 _res_comment
="using alsa 1.0.x and sys/asoundlib.h"
5974 elif test "$_alsaver" = '1.0.x-alsa' ; then
5976 _aomodules
="alsa $_aomodules"
5977 def_alsa
='#define CONFIG_ALSA 1'
5978 def_alsa1x
="#define CONFIG_ALSA1X 1"
5979 def_alsa_asoundlib_h
='#define HAVE_ALSA_ASOUNDLIB_H 1'
5980 _res_comment
="using alsa 1.0.x and alsa/asoundlib.h"
5983 _res_comment
="unknown version"
5985 extra_ldflags
="$extra_ldflags -lasound $_ld_dl $_ld_pthread"
5987 _noaomodules
="alsa $_noaomodules"
5992 echocheck
"Sun audio"
5993 if test "$_sunaudio" = auto
; then
5995 #include <sys/types.h>
5996 #include <sys/audioio.h>
5997 int main(void) { audio_info_t info; AUDIO_INITINFO(&info); return 0; }
6000 cc_check
&& _sunaudio
=yes
6002 if test "$_sunaudio" = yes ; then
6003 def_sunaudio
='#define CONFIG_SUN_AUDIO 1'
6004 _aomodules
="sun $_aomodules"
6006 def_sunaudio
='#undef CONFIG_SUN_AUDIO'
6007 _noaomodules
="sun $_noaomodules"
6009 echores
"$_sunaudio"
6012 def_mlib
='#define CONFIG_MLIB 0'
6014 echocheck
"Sun mediaLib"
6015 if test "$_mlib" = auto
; then
6019 int main(void) { mlib_VideoColorYUV2ABGR420(0,0,0,0,0,0,0,0,0); return 0; }
6021 cc_check
-lmlib && _mlib
=yes && def_mlib
='#define CONFIG_MLIB 1'
6028 echocheck
"CoreAudio"
6029 if test "$_coreaudio" = auto
; then
6031 #include <CoreAudio/CoreAudio.h>
6032 #include <AudioToolbox/AudioToolbox.h>
6033 #include <AudioUnit/AudioUnit.h>
6034 int main(void) { return 0; }
6037 cc_check
-framework CoreAudio
-framework AudioUnit
-framework AudioToolbox
&& _coreaudio
=yes
6039 if test "$_coreaudio" = yes ; then
6040 libs_mplayer
="$libs_mplayer -framework CoreAudio -framework AudioUnit -framework AudioToolbox"
6041 def_coreaudio
='#define CONFIG_COREAUDIO 1'
6042 _aomodules
="coreaudio $_aomodules"
6044 def_coreaudio
='#undef CONFIG_COREAUDIO'
6045 _noaomodules
="coreaudio $_noaomodules"
6052 echocheck
"SGI audio"
6053 if test "$_sgiaudio" = auto
; then
6054 # check for SGI audio
6056 #include <dmedia/audio.h>
6057 int main(void) { return 0; }
6060 cc_check
&& _sgiaudio
=yes
6062 if test "$_sgiaudio" = "yes" ; then
6063 def_sgiaudio
='#define CONFIG_SGI_AUDIO 1'
6064 libs_mplayer
="$libs_mplayer -laudio"
6065 _aomodules
="sgi $_aomodules"
6067 def_sgiaudio
='#undef CONFIG_SGI_AUDIO'
6068 _noaomodules
="sgi $_noaomodules"
6070 echores
"$_sgiaudio"
6075 echocheck
"KAI (UNIAUD/DART)"
6076 if test "$_kai" = auto
; then
6080 int main(void) { return 0; }
6083 cc_check
-lkai && _kai
=yes
6085 if test "$_kai" = yes ; then
6086 def_kai
='#define CONFIG_KAI 1'
6087 libs_mplayer
="$libs_mplayer -lkai"
6088 _aomodules
="kai $_aomodules"
6090 def_kai
='#undef CONFIG_KAI'
6091 _noaomodules
="kai $_noaomodules"
6096 if test "$_dart" = auto
; then
6100 int main( void ) { return 0; }
6103 cc_check
-ldart && _dart
=yes
6105 if test "$_dart" = yes ; then
6106 def_dart
='#define CONFIG_DART 1'
6107 libs_mplayer
="$libs_mplayer -ldart"
6108 _aomodules
="dart $_aomodules"
6110 def_dart
='#undef CONFIG_DART'
6111 _noaomodules
="dart $_noaomodules"
6117 # set default CD/DVD devices
6118 if win32 || os2
; then
6119 default_cdrom_device
="D:"
6121 default_cdrom_device
="/dev/disk1"
6122 elif dragonfly
; then
6123 default_cdrom_device
="/dev/cd0"
6125 default_cdrom_device
="/dev/acd0"
6127 default_cdrom_device
="/dev/rcd0a"
6129 default_cdrom_device
="/vol/dev/aliases/cdrom0"
6130 # Modern Solaris versions use HAL instead of the vold daemon, the volfs
6131 # file system and the volfs service.
6132 test -r "/cdrom/cdrom0" && default_cdrom_device
="/cdrom/cdrom0"
6134 default_cdrom_device
="a1ide.device:2"
6136 default_cdrom_device
="/dev/cdrom"
6139 if win32 || os2 || dragonfly || freebsd || openbsd || sunos || amigaos
; then
6140 default_dvd_device
=$default_cdrom_device
6142 default_dvd_device
="/dev/rdiskN"
6144 default_dvd_device
="/dev/dvd"
6148 echocheck
"VCD support"
6149 if test "$_vcd" = auto
; then
6151 if linux || freebsd || netbsd || openbsd || dragonfly || bsdos || darwin || sunos
; then
6155 #include <ddk/ntddcdrm.h>
6156 int main(void) { return 0; }
6158 cc_check
&& _vcd
=yes
6161 if test "$_vcd" = yes; then
6162 _inputmodules
="vcd $_inputmodules"
6163 def_vcd
='#define CONFIG_VCD 1'
6165 def_vcd
='#undef CONFIG_VCD'
6166 _noinputmodules
="vcd $_noinputmodules"
6167 _res_comment
="not supported on this OS"
6174 if test "$_dvdread_internal" = auto
; then
6175 _dvdread_internal
=no
6177 if (linux || freebsd || netbsd || openbsd || dragonfly || sunos || hpux
) \
6178 && (test "$_dvd" = yes ||
test "$_cdrom" = yes ||
test "$_cdio" = yes || \
6179 test "$_dvdio" = yes ||
test "$_bsdi_dvd" = yes) \
6180 || darwin || win32 || os2
; then
6181 _dvdread_internal
=yes
6183 extra_cflags
="-Ilibdvdread4 $extra_cflags"
6185 elif test "$_dvdread" = auto
; then
6187 if test "$_dl" = yes; then
6189 #include <inttypes.h>
6190 #include <dvdread/dvd_reader.h>
6191 #include <dvdread/ifo_types.h>
6192 #include <dvdread/ifo_read.h>
6193 #include <dvdread/nav_read.h>
6194 int main(void) { return 0; }
6196 _dvdreadcflags
=$
($_dvdreadconfig --cflags)
6197 _dvdreadlibs
=$
($_dvdreadconfig --libs)
6198 if cc_check
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE \
6199 $_dvdreadcflags $_dvdreadlibs $_ld_dl ; then
6201 extra_cflags
="$extra_cflags $_dvdreadcflags"
6202 extra_ldflags
="$extra_ldflags $_dvdreadlibs"
6203 _res_comment
="external"
6208 if test "$_dvdread_internal" = yes; then
6209 def_dvdread
='#define CONFIG_DVDREAD 1'
6210 _inputmodules
="dvdread(internal) $_inputmodules"
6212 _res_comment
="internal"
6213 elif test "$_dvdread" = yes; then
6214 def_dvdread
='#define CONFIG_DVDREAD 1'
6216 extra_ldflags
="$extra_ldflags -ldvdread"
6217 _inputmodules
="dvdread(external) $_inputmodules"
6218 _res_comment
="external"
6220 def_dvdread
='#undef CONFIG_DVDREAD'
6221 _noinputmodules
="dvdread $_noinputmodules"
6226 echocheck
"internal libdvdcss"
6227 if test "$_libdvdcss_internal" = auto
; then
6228 _libdvdcss_internal
=no
6229 test "$_dvdread_internal" = yes && _libdvdcss_internal
=yes
6230 hpux
&& test "$_hpux_scsi_h" = no
&& _libdvdcss_internal
=no
6232 if test "$_libdvdcss_internal" = yes ; then
6233 if linux || netbsd || openbsd || bsdos
; then
6234 def_dvd_linux
='#define HAVE_LINUX_DVD_STRUCT 1'
6235 openbsd
&& def_dvd_openbsd
='#define HAVE_OPENBSD_DVD_STRUCT 1'
6236 elif freebsd || dragonfly
; then
6237 def_dvd_bsd
='#define HAVE_BSD_DVD_STRUCT 1'
6239 def_dvd_darwin
='#define DARWIN_DVD_IOCTL'
6240 extra_ldflags
="$extra_ldflags -framework IOKit -framework Carbon"
6242 cflags_libdvdcss
="-DSYS_CYGWIN -DWIN32"
6244 cflags_libdvdcss
="-DSYS_BEOS"
6246 cflags_libdvdcss
="-DSYS_OS2"
6248 cflags_libdvdcss_dvdread
="-Ilibdvdcss"
6249 def_dvdcss
="#define HAVE_DVDCSS_DVDCSS_H 1"
6250 _inputmodules
="libdvdcss(internal) $_inputmodules"
6253 _noinputmodules
="libdvdcss(internal) $_noinputmodules"
6255 echores
"$_libdvdcss_internal"
6258 echocheck
"cdparanoia"
6259 if test "$_cdparanoia" = auto
; then
6261 #include <cdda_interface.h>
6262 #include <cdda_paranoia.h>
6263 // This need a better test. How ?
6264 int main(void) { void *test = cdda_verbose_set; return test == (void *)1; }
6267 for _inc_tmp
in "" "-I/usr/include/cdda" "-I/usr/local/include/cdda" ; do
6268 cc_check
$_inc_tmp -lcdda_interface -lcdda_paranoia $_ld_lm && \
6269 _cdparanoia
=yes && extra_cflags
="$extra_cflags $_inc_tmp" && break
6272 if test "$_cdparanoia" = yes ; then
6274 extra_ldflags
="$extra_ldflags -lcdda_interface -lcdda_paranoia"
6275 openbsd
&& extra_ldflags
="$extra_ldflags -lutil"
6277 echores
"$_cdparanoia"
6281 if test "$_libcdio" = auto
&& test "$_cdparanoia" = no
; then
6284 #include <cdio/version.h>
6285 #include <cdio/cdda.h>
6286 #include <cdio/paranoia.h>
6288 void *test = cdda_verbose_set;
6289 printf("%s\n", CDIO_VERSION);
6290 return test == (void *)1;
6294 for _ld_tmp
in "" "-lwinmm" ; do
6295 _ld_tmp
="-lcdio_cdda -lcdio -lcdio_paranoia $_ld_tmp"
6296 cc_check
$_ld_tmp $_ld_lm \
6297 && _libcdio
=yes && extra_ldflags
="$extra_ldflags $_ld_tmp" && break
6299 if test "$_libcdio" = no
&& $_pkg_config --exists libcdio_paranoia
; then
6300 _inc_tmp
=$
($_pkg_config --cflags libcdio_paranoia
)
6301 _ld_tmp
=$
($_pkg_config --libs libcdio_paranoia
)
6302 cc_check
$_inc_tmp $_ld_tmp $_ld_lm && _libcdio
=yes \
6303 && extra_ldflags
="$extra_ldflags $_ld_tmp" && extra_cflags
="$extra_cflags $_inc_tmp"
6306 if test "$_libcdio" = yes && test "$_cdparanoia" = no
; then
6308 def_libcdio
='#define CONFIG_LIBCDIO 1'
6309 def_havelibcdio
='yes'
6311 if test "$_cdparanoia" = yes ; then
6312 _res_comment
="using cdparanoia"
6314 def_libcdio
='#undef CONFIG_LIBCDIO'
6315 def_havelibcdio
='no'
6319 if test "$_cdda" = yes ; then
6320 test $_cddb = auto
&& test $_network = yes && _cddb
=yes
6321 def_cdparanoia
='#define CONFIG_CDDA 1'
6322 _inputmodules
="cdda $_inputmodules"
6324 def_cdparanoia
='#undef CONFIG_CDDA'
6325 _noinputmodules
="cdda $_noinputmodules"
6328 if test "$_cddb" = yes ; then
6329 def_cddb
='#define CONFIG_CDDB 1'
6330 _inputmodules
="cddb $_inputmodules"
6333 def_cddb
='#undef CONFIG_CDDB'
6334 _noinputmodules
="cddb $_noinputmodules"
6337 echocheck
"bitmap font support"
6338 if test "$_bitmap_font" = yes ; then
6339 def_bitmap_font
="#define CONFIG_BITMAP_FONT 1"
6341 def_bitmap_font
="#undef CONFIG_BITMAP_FONT"
6343 echores
"$_bitmap_font"
6346 echocheck
"freetype >= 2.0.9"
6348 # freetype depends on iconv
6349 if test "$_iconv" = no
; then
6351 _res_comment
="iconv support needed"
6354 if test "$_freetype" = auto
; then
6355 if ( $_freetypeconfig --version ) >/dev
/null
2>&1 ; then
6358 #include <ft2build.h>
6359 #include FT_FREETYPE_H
6360 #if ((FREETYPE_MAJOR < 2) || ((FREETYPE_MINOR == 0) && (FREETYPE_PATCH < 9)))
6361 #error "Need FreeType 2.0.9 or newer"
6365 FT_Int major=-1,minor=-1,patch=-1;
6366 int err=FT_Init_FreeType(&library);
6371 cc_check $
($_freetypeconfig --cflags) $
($_freetypeconfig --libs) && _freetype
=yes
6376 if test "$_freetype" = yes ; then
6377 def_freetype
='#define CONFIG_FREETYPE 1'
6378 extra_cflags
="$extra_cflags $($_freetypeconfig --cflags)"
6379 extra_ldflags
="$extra_ldflags $($_freetypeconfig --libs)"
6381 def_freetype
='#undef CONFIG_FREETYPE'
6383 echores
"$_freetype"
6385 if test "$_freetype" = no
; then
6387 _res_comment
="FreeType support needed"
6389 echocheck
"fontconfig"
6390 if test "$_fontconfig" = auto
; then
6394 #include <fontconfig/fontconfig.h>
6395 #if FC_VERSION < 20402
6396 #error At least version 2.4.2 of fontconfig required
6400 if (err == FcFalse) {
6401 printf("Couldn't initialize fontconfig lib\n");
6408 for _ld_tmp
in "" "-lexpat -lfreetype" "-lexpat -lfreetype -lz" "-lexpat -lfreetype -lz -liconv" ; do
6409 _ld_tmp
="-lfontconfig $_ld_tmp"
6410 cc_check
$_ld_tmp && _fontconfig
=yes && extra_ldflags
="$extra_ldflags $_ld_tmp" && break
6412 if test "$_fontconfig" = no
&& $_pkg_config --exists fontconfig
; then
6413 _inc_tmp
=$
($_pkg_config --cflags fontconfig
)
6414 _ld_tmp
=$
($_pkg_config --libs fontconfig
)
6415 cc_check
$_inc_tmp $_ld_tmp && _fontconfig
=yes \
6416 && extra_ldflags
="$extra_ldflags $_ld_tmp" && extra_cflags
="$extra_cflags $_inc_tmp"
6419 if test "$_fontconfig" = yes ; then
6420 def_fontconfig
='#define CONFIG_FONTCONFIG 1'
6422 def_fontconfig
='#undef CONFIG_FONTCONFIG'
6424 echores
"$_fontconfig"
6427 echocheck
"SSA/ASS support"
6428 # libass depends on FreeType
6429 if test "$_freetype" = no
; then
6432 _res_comment
="FreeType support needed"
6435 if test "$_ass" = auto
; then
6437 #include <ft2build.h>
6438 #include FT_FREETYPE_H
6439 #if ((FREETYPE_MAJOR < 2) || (FREETYPE_MINOR < 2) || ((FREETYPE_MINOR == 2) && (FREETYPE_PATCH < 1)))
6440 #error "Need FreeType 2.2.1 or newer"
6442 int main(void) { return 0; }
6445 cc_check $
($_freetypeconfig --cflags) $
($_freetypeconfig --libs) && _ass
=yes
6446 if test "$_ass" = no
; then
6448 _res_comment
="FreeType >= 2.2.1 needed"
6449 elif test "$ass_internal" = no
; then
6450 _res_comment
="external"
6451 extra_ldflags
="$extra_ldflags -lass"
6454 if test "$_ass" = yes ; then
6455 def_ass
='#define CONFIG_ASS 1'
6457 def_ass
='#undef CONFIG_ASS'
6459 if test "$ass_internal" = yes ; then
6460 def_ass_internal
='#define CONFIG_ASS_INTERNAL 1'
6462 def_ass_internal
='#undef CONFIG_ASS_INTERNAL'
6467 echocheck
"fribidi with charsets"
6470 if test "$_fribidi" = auto
; then
6474 /* workaround for fribidi 0.10.4 and below */
6475 #define FRIBIDI_CHARSET_UTF8 FRIBIDI_CHAR_SET_UTF8
6476 #include <fribidi/fribidi.h>
6478 if (fribidi_parse_charset("UTF-8") != FRIBIDI_CHAR_SET_UTF8) {
6479 printf("Fribidi headers are not consistents with the library!\n");
6488 cc_check
$_inc_tmp $_ld_tmp && _fribidi
=yes
6489 if $_fribidiconfig --version > /dev
/null
2>&1 &&
6490 test "$_fribidi" = no
; then
6491 _inc_tmp
="$($_fribidiconfig --cflags)"
6492 _ld_tmp
="$($_fribidiconfig --libs)"
6493 cc_check
$_inc_tmp $_ld_tmp && _fribidi
=yes
6496 if test "$_fribidi" = yes ; then
6497 def_fribidi
='#define CONFIG_FRIBIDI 1'
6498 extra_cflags
="$extra_cflags $_inc_tmp"
6499 extra_ldflags
="$extra_ldflags $_ld_tmp"
6501 def_fribidi
='#undef CONFIG_FRIBIDI'
6507 if test "$_enca" = auto
; then
6509 #include <sys/types.h>
6514 langs = enca_get_languages(&langcnt);
6519 cc_check
-lenca $_ld_lm && _enca
=yes
6521 if test "$_enca" = yes ; then
6522 def_enca
='#define CONFIG_ENCA 1'
6523 extra_ldflags
="$extra_ldflags -lenca"
6525 def_enca
='#undef CONFIG_ENCA'
6533 int main(void) { (void) inflate(0, Z_NO_FLUSH); return 0; }
6536 cc_check
-lz && _zlib
=yes
6537 if test "$_zlib" = yes ; then
6538 def_zlib
='#define CONFIG_ZLIB 1'
6539 extra_ldflags
="$extra_ldflags -lz"
6541 def_zlib
='#define CONFIG_ZLIB 0'
6542 _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
//)
6543 _libavencoders
=$
(echo $_libavencoders |
sed -e s
/FLASHSV_ENCODER
// -e s
/PNG_ENCODER
// -e s
/ZMBV_ENCODER
// -e s
/ZLIB_ENCODER
//)
6550 def_bzlib
='#define CONFIG_BZLIB 0'
6553 int main(void) { BZ2_bzlibVersion(); return 0; }
6555 cc_check
-lbz2 && bzlib
=yes
6556 if test "$bzlib" = yes ; then
6557 def_bzlib
='#define CONFIG_BZLIB 1'
6558 extra_ldflags
="$extra_ldflags -lbz2"
6564 if test "$_rtc" = auto
; then
6566 #include <sys/ioctl.h>
6568 #include <linux/rtc.h>
6571 #define RTC_PIE_ON RTCIO_PIE_ON
6573 int main(void) { return RTC_PIE_ON; }
6576 cc_check
&& _rtc
=yes
6579 if test "$_rtc" = yes ; then
6580 def_rtc
='#define HAVE_RTC 1'
6582 def_rtc
='#undef HAVE_RTC'
6587 echocheck
"liblzo2 support"
6588 if test "$_liblzo" = auto
; then
6591 #include <lzo/lzo1x.h>
6592 int main(void) { lzo_init();return 0; }
6594 cc_check
-llzo2 && _liblzo
=yes
6596 if test "$_liblzo" = yes ; then
6597 def_liblzo
='#define CONFIG_LIBLZO 1'
6598 extra_ldflags
="$extra_ldflags -llzo2"
6599 _codecmodules
="liblzo $_codecmodules"
6601 def_liblzo
='#undef CONFIG_LIBLZO'
6602 _nocodecmodules
="liblzo $_nocodecmodules"
6607 echocheck
"mad support"
6608 if test "$_mad" = auto
; then
6612 int main(void) { return 0; }
6614 cc_check
-lmad && _mad
=yes
6616 if test "$_mad" = yes ; then
6617 def_mad
='#define CONFIG_LIBMAD 1'
6618 extra_ldflags
="$extra_ldflags -lmad"
6619 _codecmodules
="libmad $_codecmodules"
6621 def_mad
='#undef CONFIG_LIBMAD'
6622 _nocodecmodules
="libmad $_nocodecmodules"
6627 if test "$_twolame" = auto
; then
6629 #include <twolame.h>
6630 int main(void) { twolame_init(); return 0; }
6633 cc_check
-ltwolame $_ld_lm && _twolame
=yes
6635 if test "$_twolame" = yes ; then
6636 def_twolame
='#define CONFIG_TWOLAME 1'
6637 libs_mencoder
="$libs_mencoder -ltwolame"
6638 _codecmodules
="twolame $_codecmodules"
6640 def_twolame
='#undef CONFIG_TWOLAME'
6641 _nocodecmodules
="twolame $_nocodecmodules"
6646 if test "$_toolame" = auto
; then
6648 if test "$_twolame" = yes ; then
6649 _res_comment
="disabled by twolame"
6652 #include <toolame.h>
6653 int main(void) { toolame_init(); return 0; }
6655 cc_check
-ltoolame $_ld_lm && _toolame
=yes
6658 if test "$_toolame" = yes ; then
6659 def_toolame
='#define CONFIG_TOOLAME 1'
6660 libs_mencoder
="$libs_mencoder -ltoolame"
6661 _codecmodules
="toolame $_codecmodules"
6663 def_toolame
='#undef CONFIG_TOOLAME'
6664 _nocodecmodules
="toolame $_nocodecmodules"
6666 if test "$_toolamedir" ; then
6667 _res_comment
="using $_toolamedir"
6671 echocheck
"OggVorbis support"
6672 if test "$_tremor_internal" = yes; then
6674 elif test "$_tremor" = auto
; then
6677 #include <tremor/ivorbiscodec.h>
6678 int main(void) { vorbis_packet_blocksize(0,0); return 0; }
6680 cc_check
-logg -lvorbisidec $_ld_lm && _tremor
=yes && _libvorbis
=no
6682 if test "$_libvorbis" = auto
; then
6685 #include <vorbis/codec.h>
6686 int main(void) { vorbis_packet_blocksize(0,0); return 0; }
6688 cc_check
-lvorbis -logg $_ld_lm && _libvorbis
=yes
6690 if test "$_tremor_internal" = yes ; then
6692 def_vorbis
='#define CONFIG_OGGVORBIS 1'
6693 def_tremor
='#define CONFIG_TREMOR 1'
6694 _codecmodules
="tremor(internal) $_codecmodules"
6695 _res_comment
="internal Tremor"
6696 if test "$_tremor_low" = yes ; then
6697 cflags_tremor_low
="-D_LOW_ACCURACY_"
6698 _res_comment
="internal low accuracy Tremor"
6700 elif test "$_tremor" = yes ; then
6702 def_vorbis
='#define CONFIG_OGGVORBIS 1'
6703 def_tremor
='#define CONFIG_TREMOR 1'
6704 _codecmodules
="tremor(external) $_codecmodules"
6705 _res_comment
="external Tremor"
6706 extra_ldflags
="$extra_ldflags -logg -lvorbisidec"
6707 elif test "$_libvorbis" = yes ; then
6709 def_vorbis
='#define CONFIG_OGGVORBIS 1'
6710 _codecmodules
="libvorbis $_codecmodules"
6711 _res_comment
="libvorbis"
6712 extra_ldflags
="$extra_ldflags -lvorbis -logg"
6715 _nocodecmodules
="libvorbis $_nocodecmodules"
6719 echocheck
"libspeex (version >= 1.1 required)"
6720 if test "$_speex" = auto
; then
6723 #include <speex/speex.h>
6724 int main(void) { SpeexBits bits; void *dec; speex_decode_int(dec, &bits, dec); return 0; }
6726 cc_check
-lspeex $_ld_lm && _speex
=yes
6728 if test "$_speex" = yes ; then
6729 def_speex
='#define CONFIG_SPEEX 1'
6730 extra_ldflags
="$extra_ldflags -lspeex"
6731 _codecmodules
="speex $_codecmodules"
6733 def_speex
='#undef CONFIG_SPEEX'
6734 _nocodecmodules
="speex $_nocodecmodules"
6738 echocheck
"OggTheora support"
6739 if test "$_theora" = auto
; then
6742 #include <theora/theora.h>
6745 /* Theora is in flux, make sure that all interface routines and datatypes
6746 * exist and work the way we expect it, so we don't break MPlayer. */
6755 theora_info_init(&inf);
6756 theora_comment_init(&tc);
6760 /* we don't want to execute this kind of nonsense; just for making sure
6761 * that compilation works... */
6762 memset(&op, 0, sizeof(op));
6763 r = theora_decode_header(&inf, &tc, &op);
6764 r = theora_decode_init(&st, &inf);
6765 t = theora_granule_time(&st, op.granulepos);
6766 r = theora_decode_packetin(&st, &op);
6767 r = theora_decode_YUVout(&st, &yuv);
6773 _ld_theora
=$
($_pkg_config --silence-errors --libs theora
)
6774 _inc_theora
=$
($_pkg_config --silence-errors --cflags theora
)
6775 cc_check
$_inc_theora $_ld_theora && extra_ldflags
="$extra_ldflags $_ld_theora" &&
6776 extra_cflags
="$extra_cflags $_inc_theora" && _theora
=yes
6777 if test _theora
= no
; then
6778 _ld_theora
="-ltheora -logg"
6779 cc_check
$_ld_theora && extra_ldflags
="$extra_ldflags $_ld_theora" && _theora
=yes
6781 if test "$_theora" = no
&& test "$_tremor_internal" = yes; then
6782 _ld_theora
=$
($_pkg_config --silence-errors --libs theora
)
6783 _inc_theora
=$
($_pkg_config --silence-errors --cflags theora
)
6784 cc_check tremor
/bitwise.c
$_inc_theora $_ld_theora &&
6785 extra_ldflags
="$extra_ldflags $_ld_theora" &&
6786 extra_cflags
="$extra_cflags $_inc_theora" && _theora
=yes
6787 if test _theora
= no
; then
6788 _ld_theora
="-ltheora -logg"
6789 cc_check tremor
/bitwise.c
$_ld_theora &&
6790 extra_ldflags
="$extra_ldflags $_ld_theora" && _theora
=yes
6794 if test "$_theora" = yes ; then
6795 def_theora
='#define CONFIG_OGGTHEORA 1'
6796 _codecmodules
="libtheora $_codecmodules"
6797 # when --enable-theora is forced, we'd better provide a probably sane
6798 # $_ld_theora than nothing
6799 test -z "$_ld_theora" && extra_ldflags
="$extra_ldflags -ltheora -logg"
6801 def_theora
='#undef CONFIG_OGGTHEORA'
6802 _nocodecmodules
="libtheora $_nocodecmodules"
6806 echocheck
"internal mp3lib support"
6807 if test "$_mp3lib" = auto
; then
6808 test "$cc_vendor" = intel
&& test "$_cc_major" -le 10 -o "$_cc_major" -eq 11 -a "$_cc_minor" -eq 0 && _mp3lib
=no || _mp3lib
=yes
6810 if test "$_mp3lib" = yes ; then
6811 def_mp3lib
='#define CONFIG_MP3LIB 1'
6812 _codecmodules
="mp3lib(internal) $_codecmodules"
6814 def_mp3lib
='#undef CONFIG_MP3LIB'
6815 _nocodecmodules
="mp3lib(internal) $_nocodecmodules"
6819 echocheck
"liba52 support"
6820 if test "$_liba52_internal" = auto
; then
6821 test "$cc_vendor" = intel
&& test "$_cc_major" -le 10 -o "$_cc_major" -eq 11 -a "$_cc_minor" -eq 0 && _liba52_internal
=no || _liba52_internal
=yes
6823 def_liba52
='#undef CONFIG_LIBA52'
6824 def_liba52_internal
="#undef CONFIG_LIBA52_INTERNAL"
6825 if test "$_liba52_internal" = yes ; then
6827 def_liba52_internal
="#define CONFIG_LIBA52_INTERNAL 1"
6828 _res_comment
="internal"
6829 elif test "$_liba52_internal" = no
&& test "$_liba52" = auto
; then
6832 #include <inttypes.h>
6833 #include <a52dec/a52.h>
6834 int main(void) { a52_state_t *testHand; testHand=a52_init(0); return 0; }
6836 cc_check
-la52 && _liba52
=yes && _res_comment
="external" && extra_ldflags
="$extra_ldflags -la52"
6838 if test "$_liba52" = yes ; then
6839 def_liba52
='#define CONFIG_LIBA52 1'
6840 _codecmodules
="liba52($_res_comment) $_codecmodules"
6842 _nocodecmodules
="liba52 $_nocodecmodules"
6846 echocheck
"internal libmpeg2 support"
6847 if test "$_libmpeg2" = auto
; then
6849 if alpha
&& test cc_vendor
=gnu
; then
6851 2*|
3.0*|
3.1*) # cannot compile MVI instructions
6853 _res_comment
="broken gcc"
6858 if test "$_libmpeg2" = yes ; then
6859 def_libmpeg2
='#define CONFIG_LIBMPEG2 1'
6860 _codecmodules
="libmpeg2(internal) $_codecmodules"
6862 def_libmpeg2
='#undef CONFIG_LIBMPEG2'
6863 _nocodecmodules
="libmpeg2(internal) $_nocodecmodules"
6865 echores
"$_libmpeg2"
6867 echocheck
"libdca support"
6868 if test "$_libdca" = auto
; then
6871 #include <inttypes.h>
6873 int main(void) { dts_init(0); return 0; }
6875 for _ld_dca
in -ldca -ldts ; do
6876 cc_check
$_ld_dca $_ld_lm && extra_ldflags
="$extra_ldflags $_ld_dca" \
6877 && _libdca
=yes && break
6880 if test "$_libdca" = yes ; then
6881 def_libdca
='#define CONFIG_LIBDCA 1'
6882 _codecmodules
="libdca $_codecmodules"
6884 def_libdca
='#undef CONFIG_LIBDCA'
6885 _nocodecmodules
="libdca $_nocodecmodules"
6889 echocheck
"libmpcdec (musepack, version >= 1.2.1 required)"
6890 if test "$_musepack" = auto
; then
6894 #include <mpcdec/mpcdec.h>
6896 mpc_streaminfo info;
6897 mpc_decoder decoder;
6898 mpc_decoder_set_streaminfo(&decoder, &info);
6899 mpc_decoder_decode_frame(&decoder, NULL, 0, NULL);
6903 cc_check
-lmpcdec $_ld_lm && _musepack
=yes
6905 if test "$_musepack" = yes ; then
6906 def_musepack
='#define CONFIG_MUSEPACK 1'
6907 extra_ldflags
="$extra_ldflags -lmpcdec"
6908 _codecmodules
="musepack $_codecmodules"
6910 def_musepack
='#undef CONFIG_MUSEPACK'
6911 _nocodecmodules
="musepack $_nocodecmodules"
6913 echores
"$_musepack"
6916 echocheck
"FAAC support"
6917 if test "$_faac" = auto
; then
6919 #include <inttypes.h>
6921 int main(void) { unsigned long x, y; faacEncOpen(48000, 2, &x, &y); return 0; }
6924 for _ld_faac
in "-lfaac" "-lfaac -lmp4v2 -lstdc++" ; do
6925 cc_check
-O4 $_ld_faac $_ld_lm && libs_mencoder
="$libs_mencoder $_ld_faac" && _faac
=yes && break
6928 if test "$_faac" = yes ; then
6929 def_faac
="#define CONFIG_FAAC 1"
6930 test "$_faac_lavc" = auto
&& _faac_lavc
=yes
6931 if test "$_faac_lavc" = yes ; then
6932 def_faac_lavc
="#define CONFIG_LIBFAAC 1"
6933 libs_mplayer
="$libs_mplayer $_ld_faac"
6934 _libavencoders
="$_libavencoders LIBFAAC_ENCODER"
6936 _codecmodules
="faac $_codecmodules"
6939 def_faac
="#undef CONFIG_FAAC"
6940 def_faac_lavc
="#define CONFIG_LIBFAAC 0"
6941 _nocodecmodules
="faac $_nocodecmodules"
6943 _res_comment
="in libavcodec: $_faac_lavc"
6947 echocheck
"FAAD2 support"
6948 if test "$_faad_internal" = auto
; then
6949 if x86_32
&& test cc_vendor
=gnu
; then
6951 3.1*|
3.2) # ICE/insn with these versions
6953 _res_comment
="broken gcc"
6965 if test "$_faad" = auto
; then
6968 #ifndef FAAD_MIN_STREAMSIZE
6969 #error Too old version
6971 int main(void) { faacDecHandle testhand; faacDecFrameInfo testinfo;
6972 testhand = faacDecOpen(); faacDecInit(0, 0, 0, 0, 0); return 0; }
6974 cc_check
-lfaad $_ld_lm && _faad
=yes
6977 def_faad
='#undef CONFIG_FAAD'
6978 def_faad_internal
="#undef CONFIG_FAAD_INTERNAL"
6979 if test "$_faad_internal" = yes ; then
6980 def_faad_internal
="#define CONFIG_FAAD_INTERNAL 1"
6981 _res_comment
="internal floating-point"
6982 if test "$_faad_fixed" = yes ; then
6983 # The FIXED_POINT implementation of FAAD2 improves performance
6984 # on some platforms, especially for SBR files.
6985 cflags_faad_fixed
="-DFIXED_POINT"
6986 _res_comment
="internal fixed-point"
6988 elif test "$_faad" = yes ; then
6989 extra_ldflags
="$extra_ldflags -lfaad"
6992 if test "$_faad" = yes ; then
6993 def_faad
='#define CONFIG_FAAD 1'
6994 if test "$_faad_internal" = yes ; then
6995 _codecmodules
="faad2(internal) $_codecmodules"
6997 _codecmodules
="faad2 $_codecmodules"
7001 _nocodecmodules
="faad2 $_nocodecmodules"
7006 echocheck
"LADSPA plugin support"
7007 if test "$_ladspa" = auto
; then
7012 const LADSPA_Descriptor *ld = NULL;
7017 cc_check
&& _ladspa
=yes
7019 if test "$_ladspa" = yes; then
7020 def_ladspa
="#define CONFIG_LADSPA 1"
7022 def_ladspa
="#undef CONFIG_LADSPA"
7027 echocheck
"libbs2b audio filter support"
7028 if test "$_libbs2b" = auto
; then
7031 #if BS2B_VERSION_MAJOR < 3
7032 #error Please use libbs2b >= 3.0.0, older versions are not supported.
7042 if $_pkg_config --exists libbs2b
; then
7043 _inc_tmp
=$
($_pkg_config --cflags libbs2b
)
7044 _ld_tmp
=$
($_pkg_config --libs libbs2b
)
7045 cc_check
$_inc_tmp $_ld_tmp && extra_ldflags
="$extra_ldflags $_ld_tmp" &&
7046 extra_cflags
="$extra_cflags $_inc_tmp" && _libbs2b
=yes
7048 for _inc_tmp
in "" -I/usr
/include
/bs2b
-I/usr
/local
/include \
7049 -I/usr
/local
/include
/bs2b
; do
7050 if cc_check
$_inc_tmp $_ld_lm -lbs2b ; then
7051 extra_ldflags
="$extra_ldflags -lbs2b"
7052 extra_cflags
="$extra_cflags $_inc_tmp"
7059 def_libbs2b
="#undef CONFIG_LIBBS2B"
7060 test "$_libbs2b" = yes && def_libbs2b
="#define CONFIG_LIBBS2B 1"
7064 if test -z "$_codecsdir" ; then
7065 for dir
in "$_libdir/codecs" "$_libdir/win32" /usr
/local
/lib
/codecs \
7066 /usr
/lib
/codecs
/usr
/local
/lib
/win32
/usr
/lib
/win32
; do
7067 if test -d "$dir" ; then
7073 # Fall back on default directory.
7074 if test -z "$_codecsdir" ; then
7075 _codecsdir
="$_libdir/codecs"
7076 mingw32
&& _codecsdir
="codecs"
7077 os2
&& _codecsdir
="codecs"
7081 echocheck
"Win32 codecs"
7082 if test "$_win32dll" = auto
; then
7084 if x86_32
&& ! qnx
; then
7088 if test "$_win32dll" = yes ; then
7089 def_win32dll
='#define CONFIG_WIN32DLL 1'
7090 test -z "$_win32codecsdir" && _win32codecsdir
=$_codecsdir
7091 _res_comment
="using $_win32codecsdir"
7093 def_win32_loader
='#define WIN32_LOADER 1'
7094 _win32_emulation
=yes
7096 extra_ldflags
="$extra_ldflags -ladvapi32 -lole32"
7097 _res_comment
="using native windows"
7099 _codecmodules
="win32 $_codecmodules"
7101 def_win32dll
='#undef CONFIG_WIN32DLL'
7102 def_win32_loader
='#undef WIN32_LOADER'
7103 _nocodecmodules
="win32 $_nocodecmodules"
7105 echores
"$_win32dll"
7108 echocheck
"XAnim codecs"
7109 if test "$_xanim" = auto
; then
7111 _res_comment
="dynamic loader support needed"
7112 if test "$_dl" = yes ; then
7116 if test "$_xanim" = yes ; then
7117 test -z "$_xanimcodecsdir" && _xanimcodecsdir
=$_codecsdir
7118 def_xanim
='#define CONFIG_XANIM 1'
7119 def_xanim_path
="#define XACODEC_PATH \"$_xanimcodecsdir\""
7120 _codecmodules
="xanim $_codecmodules"
7121 _res_comment
="using $_xanimcodecsdir"
7123 def_xanim
='#undef CONFIG_XANIM'
7124 def_xanim_path
='#undef XACODEC_PATH'
7125 _nocodecmodules
="xanim $_nocodecmodules"
7130 echocheck
"RealPlayer codecs"
7131 if test "$_real" = auto
; then
7133 _res_comment
="dynamic loader support needed"
7134 if test "$_dl" = yes ||
test "$_win32dll" = yes &&
7135 (linux || freebsd || netbsd || openbsd || dragonfly || darwin || win32 || os2
) ; then
7139 if test "$_real" = yes ; then
7140 test -z "$_realcodecsdir" && _realcodecsdir
="$_codecsdir"
7141 def_real
='#define CONFIG_REALCODECS 1'
7142 def_real_path
="#define REALCODEC_PATH \"$_realcodecsdir\""
7143 _codecmodules
="real $_codecmodules"
7144 _res_comment
="using $_realcodecsdir"
7146 def_real
='#undef CONFIG_REALCODECS'
7147 def_real_path
="#undef REALCODEC_PATH"
7148 _nocodecmodules
="real $_nocodecmodules"
7153 echocheck
"QuickTime codecs"
7155 def_qtx_win32
='#undef CONFIG_QTX_CODECS_WIN32'
7156 if test "$_qtx" = auto
; then
7157 test "$_win32dll" = yes ||
test "$quicktime" = yes && _qtx
=yes
7159 if test "$_qtx" = yes ; then
7160 def_qtx
='#define CONFIG_QTX_CODECS 1'
7161 win32
&& _qtx_codecs_win32
=yes && def_qtx_win32
='#define CONFIG_QTX_CODECS_WIN32 1'
7162 _codecmodules
="qtx $_codecmodules"
7163 darwin || win32 || _qtx_emulation
=yes
7165 def_qtx
='#undef CONFIG_QTX_CODECS'
7166 _nocodecmodules
="qtx $_nocodecmodules"
7170 echocheck
"Nemesi Streaming Media libraries"
7171 if test "$_nemesi" = auto
&& test "$_network" = yes ; then
7173 if $_pkg_config libnemesi
--atleast-version=0.6.3 ; then
7174 extra_cflags
="$extra_cflags $($_pkg_config --cflags libnemesi)"
7175 extra_ldflags
="$extra_ldflags $($_pkg_config --libs libnemesi)"
7179 if test "$_nemesi" = yes; then
7181 def_nemesi
='#define CONFIG_LIBNEMESI 1'
7182 _inputmodules
="nemesi $_inputmodules"
7184 _native_rtsp
="$_network"
7186 def_nemesi
='#undef CONFIG_LIBNEMESI'
7187 _noinputmodules
="nemesi $_noinputmodules"
7191 echocheck
"LIVE555 Streaming Media libraries"
7192 if test "$_live" = auto
&& test "$_network" = yes ; then
7193 cat > $TMPCPP << EOF
7194 #include <liveMedia.hh>
7195 #if (LIVEMEDIA_LIBRARY_VERSION_INT < 1141257600)
7196 #error Please upgrade to version 2006.03.03 or later of the "LIVE555 Streaming Media" libraries - available from <www.live555.com/liveMedia/>
7198 int main(void) { return 0; }
7202 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
7203 cxx_check
$I/liveMedia
/include
$I/UsageEnvironment
/include \
7204 $I/groupsock
/include
&& _livelibdir
=$
(echo $I|
sed s
/-I//) && \
7205 extra_ldflags
="$_livelibdir/liveMedia/libliveMedia.a \
7206 $_livelibdir/groupsock/libgroupsock.a \
7207 $_livelibdir/UsageEnvironment/libUsageEnvironment.a \
7208 $_livelibdir/BasicUsageEnvironment/libBasicUsageEnvironment.a \
7209 $extra_ldflags -lstdc++" \
7210 extra_cxxflags
="-I$_livelibdir/liveMedia/include \
7211 -I$_livelibdir/UsageEnvironment/include \
7212 -I$_livelibdir/BasicUsageEnvironment/include \
7213 -I$_livelibdir/groupsock/include" && \
7216 if test "$_live" != yes ; then
7217 ld_tmp
="-lliveMedia -lgroupsock -lUsageEnvironment -lBasicUsageEnvironment -lstdc++"
7218 if cxx_check
-I/usr
/include
/liveMedia
-I/usr
/include
/UsageEnvironment
-I/usr
/include
/groupsock
$ld_tmp; then
7223 if test "$_live" = yes && test "$_network" = yes; then
7224 test $_livelibdir && _res_comment
="using $_livelibdir"
7225 def_live
='#define CONFIG_LIVE555 1'
7226 _inputmodules
="live555 $_inputmodules"
7227 elif test "$_live_dist" = yes && test "$_network" = yes; then
7228 _res_comment
="using distribution version"
7230 def_live
='#define CONFIG_LIVE555 1'
7231 extra_ldflags
="$extra_ldflags $ld_tmp"
7232 extra_cxxflags
="-I/usr/include/liveMedia -I/usr/include/UsageEnvironment \
7233 -I/usr/include/BasicUsageEnvironment -I/usr/include/groupsock"
7234 _inputmodules
="live555 $_inputmodules"
7237 def_live
='#undef CONFIG_LIVE555'
7238 _noinputmodules
="live555 $_noinputmodules"
7243 echocheck
"FFmpeg libavutil"
7244 if test "$_libavutil_a" = auto
; then
7245 if test -d libavutil
; then
7247 _res_comment
="static"
7249 die
"MPlayer will not compile without libavutil in the source tree."
7251 elif test "$_libavutil_so" = auto
; then
7254 #include <libavutil/common.h>
7255 int main(void) { av_clip(1, 1, 1); return 0; }
7257 if $_pkg_config --exists libavutil
; then
7258 _inc_libavutil
=$
($_pkg_config --cflags libavutil
)
7259 _ld_tmp
=$
($_pkg_config --libs libavutil
)
7260 cc_check
$_inc_libavutil $_ld_tmp && extra_ldflags
="$extra_ldflags $_ld_tmp" \
7261 && _libavutil_so
=yes
7262 elif cc_check
-lavutil $_ld_lm ; then
7263 extra_ldflags
="$extra_ldflags -lavutil"
7265 _res_comment
="using libavutil.so, but static libavutil is recommended"
7269 def_libavutil
='#undef CONFIG_LIBAVUTIL'
7270 def_libavutil_a
='#undef CONFIG_LIBAVUTIL_A'
7271 def_libavutil_so
='#undef CONFIG_LIBAVUTIL_SO'
7272 test "$_libavutil_a" = yes ||
test "$_libavutil_so" = yes && _libavutil
=yes
7273 test "$_libavutil" = yes && def_libavutil
='#define CONFIG_LIBAVUTIL 1'
7274 test "$_libavutil_a" = yes && def_libavutil_a
='#define CONFIG_LIBAVUTIL_A 1'
7275 test "$_libavutil_so" = yes && def_libavutil_so
='#define CONFIG_LIBAVUTIL_SO 1'
7276 # neither static nor shared libavutil is available, but it is mandatory ...
7277 if test "$_libavutil" = no
; then
7278 die
"You need static or shared libavutil, MPlayer will not compile without!"
7280 echores
"$_libavutil"
7282 echocheck
"FFmpeg libavcodec"
7283 if test "$_libavcodec_a" = auto
; then
7285 if test -d libavcodec
&& test -f libavcodec
/utils.c
; then
7287 _res_comment
="static"
7289 elif test "$_libavcodec_so" = auto
; then
7291 _res_comment
="libavcodec.so is discouraged over static libavcodec"
7293 #include <libavcodec/avcodec.h>
7294 int main(void) { avcodec_find_encoder_by_name(""); return 0; }
7296 if $_pkg_config --exists libavcodec
; then
7297 _inc_libavcodec
=$
($_pkg_config --cflags libavcodec
)
7298 _ld_tmp
=$
($_pkg_config --libs libavcodec
)
7299 cc_check
$_inc_libavcodec $_ld_tmp && extra_ldflags
="$extra_ldflags $_ld_tmp" \
7300 && _libavcodec_so
=yes
7301 elif cc_check
-lavcodec $_ld_lm ; then
7302 extra_ldflags
="$extra_ldflags -lavcodec"
7304 _res_comment
="using libavcodec.so, but static libavcodec is recommended"
7308 def_libavcodec
='#undef CONFIG_LIBAVCODEC'
7309 def_libavcodec_a
='#undef CONFIG_LIBAVCODEC_A'
7310 def_libavcodec_so
='#undef CONFIG_LIBAVCODEC_SO'
7311 test "$_libavcodec_a" = yes ||
test "$_libavcodec_so" = yes && _libavcodec
=yes
7312 test "$_libavcodec" = yes && def_libavcodec
='#define CONFIG_LIBAVCODEC 1'
7313 test "$_libavcodec_a" = yes && def_libavcodec_a
='#define CONFIG_LIBAVCODEC_A 1'
7314 test "$_libavcodec_so" = yes && def_libavcodec_so
='#define CONFIG_LIBAVCODEC_SO 1'
7315 test "$_libavcodec_mpegaudio_hp" = yes \
7316 && def_libavcodec_mpegaudio_hp
='#define CONFIG_MPEGAUDIO_HP 1' \
7317 && mak_libavcodec_mpegaudio_hp
='CONFIG_MPEGAUDIO_HP = yes'
7318 if test "$_libavcodec_a" = yes ; then
7319 _codecmodules
="libavcodec(internal) $_codecmodules"
7320 elif test "$_libavcodec_so" = yes ; then
7321 _codecmodules
="libavcodec.so $_codecmodules"
7323 _nocodecmodules
="libavcodec $_nocodecmodules"
7325 echores
"$_libavcodec"
7327 echocheck
"FFmpeg libavformat"
7328 if test "$_libavformat_a" = auto
; then
7330 if test -d libavformat
&& test -f libavformat
/utils.c
; then
7332 _res_comment
="static"
7334 elif test "$_libavformat_so" = auto
; then
7337 #include <libavformat/avformat.h>
7338 #include <libavcodec/opt.h>
7339 int main(void) { av_alloc_format_context(); return 0; }
7341 if $_pkg_config --exists libavformat
; then
7342 _inc_libavformat
=$
($_pkg_config --cflags libavformat
)
7343 _ld_tmp
=$
($_pkg_config --libs libavformat
)
7344 cc_check
$_inc_libavformat $_ld_tmp && extra_ldflags
="$extra_ldflags $_ld_tmp" \
7345 && _libavformat_so
=yes
7346 elif cc_check
$_ld_lm -lavformat ; then
7347 extra_ldflags
="$extra_ldflags -lavformat"
7349 _res_comment
="using libavformat.so, but static libavformat is recommended"
7353 def_libavformat
='#undef CONFIG_LIBAVFORMAT'
7354 def_libavformat_a
='#undef CONFIG_LIBAVFORMAT_A'
7355 def_libavformat_so
='#undef CONFIG_LIBAVFORMAT_SO'
7356 test "$_libavformat_a" = yes ||
test "$_libavformat_so" = yes && _libavformat
=yes
7357 test "$_libavformat" = yes && def_libavformat
='#define CONFIG_LIBAVFORMAT 1'
7358 test "$_libavformat_a" = yes && def_libavformat_a
='#define CONFIG_LIBAVFORMAT_A 1'
7359 test "$_libavformat_so" = yes \
7360 && def_libavformat_so
='#define CONFIG_LIBAVFORMAT_SO 1'
7361 echores
"$_libavformat"
7363 echocheck
"FFmpeg libpostproc"
7364 if test "$_libpostproc_a" = auto
; then
7366 if test -d libpostproc
&& test -f libpostproc
/postprocess.h
; then
7367 _libpostproc_a
='yes'
7368 _res_comment
="static"
7370 elif test "$_libpostproc_so" = auto
; then
7373 #include <inttypes.h>
7374 #include <libpostproc/postprocess.h>
7375 int main(void) { pp_get_mode_by_name_and_quality("de", 0); return 0; }
7377 if cc_check
-lpostproc $_ld_lm ; then
7378 extra_ldflags
="$extra_ldflags -lpostproc"
7380 _res_comment
="using libpostproc.so, but static libpostproc is recommended"
7384 def_libpostproc
='#undef CONFIG_LIBPOSTPROC'
7385 def_libpostproc_a
='#undef CONFIG_LIBPOSTPROC_A'
7386 def_libpostproc_so
='#undef CONFIG_LIBPOSTPROC_SO'
7387 test "$_libpostproc_a" = yes ||
test "$_libpostproc_so" = yes && _libpostproc
=yes
7388 test "$_libpostproc" = yes && def_libpostproc
='#define CONFIG_LIBPOSTPROC 1'
7389 test "$_libpostproc_a" = yes && def_libpostproc_a
='#define CONFIG_LIBPOSTPROC_A 1'
7390 test "$_libpostproc_so" = yes \
7391 && def_libpostproc_so
='#define CONFIG_LIBPOSTPROC_SO 1'
7392 echores
"$_libpostproc"
7394 echocheck
"FFmpeg libswscale"
7395 if test "$_libswscale_a" = auto
; then
7397 if test -d libswscale
&& test -f libswscale
/swscale.h
; then
7399 _res_comment
="static"
7401 elif test "$_libswscale_so" = auto
; then
7403 _res_comment
="using libswscale.so, but static libswscale is recommended"
7405 #include <libswscale/swscale.h>
7406 int main(void) { sws_scale(0, 0, 0, 0, 0, 0, 0); return 0; }
7408 if $_pkg_config --exists libswscale
; then
7409 _inc_libswscale
=$
($_pkg_config --cflags libswscale
)
7410 _ld_tmp
=$
($_pkg_config --libs libswscale
)
7411 cc_check
$_inc_libswscale $_ld_tmp && extra_ldflags
="$extra_ldflags $_ld_tmp" \
7412 && _libswscale_so
=yes
7413 elif cc_check
-lswscale ; then
7414 extra_ldflags
="$extra_ldflags -lswscale"
7419 def_libswscale
='#undef CONFIG_LIBSWSCALE'
7420 def_libswscale_a
='#undef CONFIG_LIBSWSCALE_A'
7421 def_libswscale_so
='#undef CONFIG_LIBSWSCALE_SO'
7422 test "$_libswscale_a" = yes ||
test "$_libswscale_so" = yes && _libswscale
=yes
7423 test "$_libswscale" = yes && def_libswscale
='#define CONFIG_LIBSWSCALE 1'
7424 test "$_libswscale_a" = yes && def_libswscale_a
='#define CONFIG_LIBSWSCALE_A 1'
7425 test "$_libswscale_so" = yes \
7426 && def_libswscale_so
='#define CONFIG_LIBSWSCALE_SO 1'
7427 echores
"$_libswscale"
7429 echocheck
"libopencore_amr narrowband"
7430 if test "$_libopencore_amrnb" = auto
; then
7431 _libopencore_amrnb
=no
7433 #include <opencore-amrnb/interf_dec.h>
7434 int main(void) { Decoder_Interface_init(); return 0; }
7436 cc_check
-lopencore-amrnb && _libopencore_amrnb
=yes
7437 if test "$_libavcodec_a" != yes ; then
7438 _libopencore_amrnb
=no
7439 _res_comment
="libavcodec (static) is required by libopencore_amrnb, sorry"
7442 if test "$_libopencore_amrnb" = yes ; then
7443 _libopencore_amr
=yes
7444 extra_ldflags
="$extra_ldflags -lopencore-amrnb"
7445 def_libopencore_amrnb
='#define CONFIG_LIBOPENCORE_AMRNB 1'
7446 _libavdecoders
="$_libavdecoders LIBOPENCORE_AMRNB_DECODER"
7447 _libavencoders
="$_libavencoders LIBOPENCORE_AMRNB_ENCODER"
7448 _codecmodules
="libopencore_amrnb $_codecmodules"
7450 def_libopencore_amrnb
='#define CONFIG_LIBOPENCORE_AMRNB 0'
7451 _nocodecmodules
="libopencore_amrnb $_nocodecmodules"
7453 echores
"$_libopencore_amrnb"
7456 echocheck
"libopencore_amr wideband"
7457 if test "$_libopencore_amrwb" = auto
; then
7458 _libopencore_amrwb
=no
7460 #include <opencore-amrwb/dec_if.h>
7461 int main(void) { D_IF_init(); return 0; }
7463 cc_check
-lopencore-amrwb && _libopencore_amrwb
=yes
7464 if test "$_libavcodec_a" != yes ; then
7465 _libopencore_amrwb
=no
7466 _res_comment
="libavcodec (static) is required by libopencore_amrwb, sorry"
7469 if test "$_libopencore_amrwb" = yes ; then
7470 _libopencore_amr
=yes
7471 extra_ldflags
="$extra_ldflags -lopencore-amrwb"
7472 def_libopencore_amrwb
='#define CONFIG_LIBOPENCORE_AMRWB 1'
7473 _libavdecoders
="$_libavdecoders LIBOPENCORE_AMRWB_DECODER"
7474 _libavencoders
="$_libavencoders LIBOPENCORE_AMRWB_DECODER"
7475 _codecmodules
="libopencore_amrwb $_codecmodules"
7477 def_libopencore_amrwb
='#define LIBOPENCORE_AMRWB 0'
7478 _nocodecmodules
="libopencore_amrwb $_nocodecmodules"
7480 echores
"$_libopencore_amrwb"
7482 echocheck
"libdv-0.9.5+"
7483 if test "$_libdv" = auto
; then
7486 #include <libdv/dv.h>
7487 int main(void) { dv_encoder_t* enc=dv_encoder_new(1,1,1); return 0; }
7489 cc_check
-ldv $_ld_pthread $_ld_lm && _libdv
=yes
7491 if test "$_libdv" = yes ; then
7492 def_libdv
='#define CONFIG_LIBDV095 1'
7493 extra_ldflags
="$extra_ldflags -ldv"
7494 _codecmodules
="libdv $_codecmodules"
7496 def_libdv
='#undef CONFIG_LIBDV095'
7497 _nocodecmodules
="libdv $_nocodecmodules"
7503 if test "$_xvid" = auto
; then
7507 int main(void) { xvid_global(0, 0, 0, 0); return 0; }
7509 for _ld_tmp
in "-lxvidcore $_ld_lm" "-lxvidcore $_ld_lm $_ld_pthread" ; do
7510 cc_check
$_ld_tmp && extra_ldflags
="$extra_ldflags $_ld_tmp" && _xvid
=yes && break
7514 if test "$_xvid" = yes ; then
7515 def_xvid
='#define CONFIG_XVID4 1'
7516 _codecmodules
="xvid $_codecmodules"
7518 def_xvid
='#undef CONFIG_XVID4'
7519 _nocodecmodules
="xvid $_nocodecmodules"
7523 echocheck
"Xvid two pass plugin"
7524 if test "$_xvid" = yes && test "$_xvid_lavc" = auto
; then
7527 int main(void) { xvid_plugin_2pass2_t s; s.vbv_size=0; return 0; }
7529 cc_check
&& _xvid_lavc
=yes
7531 if test "$_xvid_lavc" = yes ; then
7532 def_xvid_lavc
='#define CONFIG_LIBXVID 1'
7533 _libavencoders
="$_libavencoders LIBXVID_ENCODER"
7536 def_xvid_lavc
='#define CONFIG_LIBXVID 0'
7538 echores
"$_xvid_lavc"
7542 if test "$_x264" = auto
; then
7544 #include <inttypes.h>
7547 #error We do not support old versions of x264. Get the latest from git.
7549 int main(void) { x264_encoder_open((void*)0); return 0; }
7552 for _ld_x264
in "-lx264 $_ld_pthread" "-lx264 $_ld_pthread $_ld_lm" ; do
7553 cc_check
$_ld_x264 && libs_mencoder
="$libs_mencoder $_ld_x264" && _x264
=yes && break
7557 if test "$_x264" = yes ; then
7558 def_x264
='#define CONFIG_X264 1'
7559 _codecmodules
="x264 $_codecmodules"
7560 test "$_x264_lavc" = auto
&& _x264_lavc
=yes
7561 if test "$_x264_lavc" = yes ; then
7562 def_x264_lavc
='#define CONFIG_LIBX264 1'
7563 libs_mplayer
="$libs_mplayer $_ld_x264"
7564 _libavencoders
="$_libavencoders LIBX264_ENCODER"
7568 def_x264
='#undef CONFIG_X264'
7569 def_x264_lavc
='#define CONFIG_LIBX264 0'
7570 _nocodecmodules
="x264 $_nocodecmodules"
7572 _res_comment
="in libavcodec: $_x264_lavc"
7576 echocheck
"libdirac"
7577 if test "$_libdirac_lavc" = auto
; then
7579 if test "$_libavcodec_a" != yes; then
7580 _res_comment
="libavcodec (static) is required by libdirac, sorry"
7583 #include <libdirac_encoder/dirac_encoder.h>
7584 #include <libdirac_decoder/dirac_parser.h>
7587 dirac_encoder_context_t enc_ctx;
7588 dirac_decoder_t *dec_handle;
7589 dirac_encoder_context_init(&enc_ctx, VIDEO_FORMAT_SD_576I50);
7590 dec_handle = dirac_decoder_init(0);
7592 dirac_decoder_close(dec_handle);
7596 if $_pkg_config --exists dirac
; then
7597 _inc_dirac
=$
($_pkg_config --silence-errors --cflags dirac
)
7598 _ld_dirac
=$
($_pkg_config --silence-errors --libs dirac
)
7599 cc_check
$_inc_dirac $_ld_dirac &&
7600 _libdirac_lavc
=yes &&
7601 extra_cflags
="$extra_cflags $_inc_dirac" &&
7602 extra_ldflags
="$extra_ldflags $_ld_dirac"
7606 if test "$_libdirac_lavc" = yes ; then
7607 def_libdirac_lavc
='#define CONFIG_LIBDIRAC 1'
7608 _libavencoders
="$_libavencoders LIBDIRAC_ENCODER"
7609 _libavdecoders
="$_libavdecoders LIBDIRAC_DECODER"
7610 _codecmodules
="libdirac $_codecmodules"
7612 def_libdirac_lavc
='#define CONFIG_LIBDIRAC 0'
7613 _nocodecmodules
="libdirac $_nocodecmodules"
7615 echores
"$_libdirac_lavc"
7618 echocheck
"libschroedinger"
7619 if test "$_libschroedinger_lavc" = auto
; then
7620 _libschroedinger_lavc
=no
7621 if test "$_libavcodec_a" != yes; then
7622 _res_comment
="libavcodec (static) is required by libschroedinger, sorry"
7625 #include <schroedinger/schro.h>
7626 int main(void) { schro_init(); return 0; }
7628 if $_pkg_config --exists schroedinger-1.0
; then
7629 _inc_schroedinger
=$
($_pkg_config --silence-errors --cflags schroedinger-1.0
)
7630 _ld_schroedinger
=$
($_pkg_config --silence-errors --libs schroedinger-1.0
)
7631 cc_check
$_inc_schroedinger $_ld_schroedinger &&
7632 _libschroedinger_lavc
=yes &&
7633 extra_cflags
="$extra_cflags $_inc_schroedinger" &&
7634 extra_ldflags
="$extra_ldflags $_ld_schroedinger"
7638 if test "$_libschroedinger_lavc" = yes ; then
7639 def_libschroedinger_lavc
='#define CONFIG_LIBSCHROEDINGER 1'
7640 _libavencoders
="$_libavencoders LIBSCHROEDINGER_ENCODER"
7641 _libavdecoders
="$_libavdecoders LIBSCHROEDINGER_DECODER"
7642 _codecmodules
="libschroedinger $_codecmodules"
7644 def_libschroedinger_lavc
='#define CONFIG_LIBSCHROEDINGER 0'
7645 _nocodecmodules
="libschroedinger $_nocodecmodules"
7647 echores
"$_libschroedinger_lavc"
7650 if test "$_libnut" = auto
; then
7654 #include <inttypes.h>
7656 nut_context_tt * nut;
7657 int main(void) { (void)nut_error(0); return 0; }
7660 cc_check
-lnut && _libnut
=yes
7663 if test "$_libnut" = yes ; then
7664 def_libnut
='#define CONFIG_LIBNUT 1'
7665 extra_ldflags
="$extra_ldflags -lnut"
7667 def_libnut
='#undef CONFIG_LIBNUT'
7671 #check must be done after libavcodec one
7673 if test "$_zr" = auto
; then
7674 #36067's seem to identify themselves as 36057PQC's, so the line
7675 #below should work for 36067's and 36057's.
7676 if grep -q -s -e "Multimedia video controller: Zoran Corporation ZR36057" /proc
/pci
; then
7682 if test "$_zr" = yes ; then
7683 if test "$_libavcodec_a" = yes ; then
7684 def_zr
='#define CONFIG_ZR 1'
7685 _vomodules
="zr zr2 $_vomodules"
7687 _res_comment
="libavcodec (static) is required by zr, sorry"
7688 _novomodules
="zr $_novomodules"
7689 def_zr
='#undef CONFIG_ZR'
7692 def_zr
='#undef CONFIG_ZR'
7693 _novomodules
="zr zr2 $_novomodules"
7697 # mencoder requires (optional) those libs: libmp3lame
7698 if test "$_mencoder" != no
; then
7700 echocheck
"libmp3lame"
7701 def_mp3lame_preset
='#undef CONFIG_MP3LAME_PRESET'
7702 def_mp3lame_preset_medium
='#undef CONFIG_MP3LAME_PRESET_MEDIUM'
7703 if test "$_mp3lame" = auto
; then
7706 #include <lame/lame.h>
7707 int main(void) { lame_version_t lv; (void) lame_init();
7708 get_lame_version_numerical(&lv);
7711 cc_check
-lmp3lame $_ld_lm && _mp3lame
=yes
7713 if test "$_mp3lame" = yes ; then
7714 def_mp3lame
="#define CONFIG_MP3LAME 1"
7715 _ld_mp3lame
=-lmp3lame
7716 libs_mencoder
="$libs_mencoder $_ld_mp3lame"
7718 #include <lame/lame.h>
7719 int main(void) { lame_set_preset(NULL, STANDARD_FAST); return 0; }
7721 cc_check
$_ld_mp3lame $_ld_lm && def_mp3lame_preset
="#define CONFIG_MP3LAME_PRESET 1"
7723 #include <lame/lame.h>
7724 int main(void) { lame_set_preset(NULL, MEDIUM_FAST); return 0; }
7726 cc_check
$_ld_mp3lame $_ld_lm && def_mp3lame_preset_medium
="#define CONFIG_MP3LAME_PRESET_MEDIUM 1"
7727 test "$_mp3lame_lavc" = auto
&& _mp3lame_lavc
=yes
7728 if test "$_mp3lame_lavc" = yes ; then
7729 def_mp3lame_lavc
="#define CONFIG_LIBMP3LAME 1"
7730 _libavencoders
="$_libavencoders LIBMP3LAME_ENCODER"
7731 libs_mplayer
="$libs_mplayer $_ld_mp3lame"
7735 def_mp3lame
='#undef CONFIG_MP3LAME'
7736 def_mp3lame_lavc
="#define CONFIG_LIBMP3LAME 0"
7738 _res_comment
="in libavcodec: $_mp3lame_lavc"
7741 fi # test "$_mencoder" != no
7743 echocheck
"mencoder"
7744 if test "$_mencoder" = yes ; then
7745 def_muxers
='#define CONFIG_MUXERS 1'
7747 # mpeg1video for vf_lavc, snow for vf_uspp and vf_mcdeint, png for vf_screenshot
7748 _libavencoders
="MPEG1VIDEO_ENCODER SNOW_ENCODER"
7749 test "$_zlib" = yes && _libavencoders
="$_libavencoders PNG_ENCODER"
7751 def_muxers
='#define CONFIG_MUXERS 0'
7753 echores
"$_mencoder"
7756 echocheck
"UnRAR executable"
7757 if test "$_unrar_exec" = auto
; then
7759 mingw32
&& _unrar_exec
="no"
7761 if test "$_unrar_exec" = yes ; then
7762 def_unrar_exec
='#define CONFIG_UNRAR_EXEC 1'
7764 def_unrar_exec
='#undef CONFIG_UNRAR_EXEC'
7766 echores
"$_unrar_exec"
7768 echocheck
"TV interface"
7769 if test "$_tv" = yes ; then
7770 def_tv
='#define CONFIG_TV 1'
7771 _inputmodules
="tv $_inputmodules"
7773 _noinputmodules
="tv $_noinputmodules"
7774 def_tv
='#undef CONFIG_TV'
7779 if freebsd || netbsd || openbsd || dragonfly || bsdos
; then
7780 echocheck
"*BSD BT848 bt8xx header"
7782 for file in "machine/ioctl_bt848.h" \
7783 "dev/bktr/ioctl_bt848.h" \
7784 "dev/video/bktr/ioctl_bt848.h" \
7785 "dev/ic/bt8xx.h" ; do
7787 #include <sys/types.h>
7788 #include <sys/ioctl.h>
7790 int main(void) { ioctl(0, TVTUNER_GETFREQ, 0); return 0; }
7794 _ioctl_bt848_h_name
="$file"
7798 if test "$_ioctl_bt848_h" = yes ; then
7799 def_ioctl_bt848_h_name
="#define IOCTL_BT848_H_NAME <$_ioctl_bt848_h_name>"
7800 _res_comment
="using $_ioctl_bt848_h_name"
7802 def_ioctl_bt848_h_name
="#undef IOCTL_BT848_H_NAME"
7804 echores
"$_ioctl_bt848_h"
7806 echocheck
"*BSD ioctl_meteor.h"
7808 for file in "machine/ioctl_meteor.h" \
7809 "dev/bktr/ioctl_meteor.h" \
7810 "dev/video/bktr/ioctl_meteor.h" ; do
7812 #include <sys/types.h>
7814 int main(void) { ioctl(0, METEORSINPUT, 0); return 0; }
7818 _ioctl_meteor_h_name
="$file"
7822 if test "$_ioctl_meteor_h" = yes ; then
7823 def_ioctl_meteor_h_name
="#define IOCTL_METEOR_H_NAME <$_ioctl_meteor_h_name>"
7824 _res_comment
="using $_ioctl_meteor_h_name"
7826 def_ioctl_meteor_h_name
="#undef IOCTL_METEOR_H_NAME"
7828 echores
"$_ioctl_meteor_h"
7830 echocheck
"*BSD BrookTree 848 TV interface"
7831 if test "$_tv_bsdbt848" = auto
; then
7833 if test "$_tv" = yes ; then
7835 #include <sys/types.h>
7836 $def_ioctl_meteor_h_name
7837 $def_ioctl_bt848_h_name
7838 #ifdef IOCTL_METEOR_H_NAME
7839 #include IOCTL_METEOR_H_NAME
7841 #ifdef IOCTL_BT848_H_NAME
7842 #include IOCTL_BT848_H_NAME
7845 ioctl(0, METEORSINPUT, 0);
7846 ioctl(0, TVTUNER_GETFREQ, 0);
7850 cc_check
&& _tv_bsdbt848
=yes
7853 if test "$_tv_bsdbt848" = yes ; then
7854 def_tv_bsdbt848
='#define CONFIG_TV_BSDBT848 1'
7855 _inputmodules
="tv-bsdbt848 $_inputmodules"
7857 def_tv_bsdbt848
='#undef CONFIG_TV_BSDBT848'
7858 _noinputmodules
="tv-bsdbt848 $_noinputmodules"
7860 echores
"$_tv_bsdbt848"
7861 fi #if freebsd || netbsd || openbsd || dragonfly || bsdos
7864 echocheck
"DirectShow TV interface"
7865 if test "$_tv_dshow" = auto
; then
7867 if test "$_tv" = yes && win32
; then
7872 CoCreateInstance((GUID*)&GUID_NULL, NULL, CLSCTX_INPROC_SERVER, &GUID_NULL, &p);
7876 cc_check
-lole32 -luuid && _tv_dshow
=yes
7879 if test "$_tv_dshow" = yes ; then
7880 _inputmodules
="tv-dshow $_inputmodules"
7881 def_tv_dshow
='#define CONFIG_TV_DSHOW 1'
7882 extra_ldflags
="$extra_ldflags -lole32 -luuid"
7884 _noinputmodules
="tv-dshow $_noinputmodules"
7885 def_tv_dshow
='#undef CONFIG_TV_DSHOW'
7887 echores
"$_tv_dshow"
7890 echocheck
"Video 4 Linux TV interface"
7891 if test "$_tv_v4l1" = auto
; then
7893 if test "$_tv" = yes && linux
; then
7896 #include <linux/videodev.h>
7897 int main(void) { return 0; }
7899 cc_check
&& _tv_v4l1
=yes
7902 if test "$_tv_v4l1" = yes ; then
7905 def_tv_v4l
='#define CONFIG_TV_V4L 1'
7906 def_tv_v4l1
='#define CONFIG_TV_V4L1 1'
7907 _inputmodules
="tv-v4l $_inputmodules"
7909 _noinputmodules
="tv-v4l1 $_noinputmodules"
7910 def_tv_v4l
='#undef CONFIG_TV_V4L'
7915 echocheck
"Video 4 Linux 2 TV interface"
7916 if test "$_tv_v4l2" = auto
; then
7918 if test "$_tv" = yes && linux
; then
7921 #include <linux/types.h>
7922 #include <linux/videodev2.h>
7923 int main(void) { return 0; }
7925 cc_check
&& _tv_v4l2
=yes
7928 if test "$_tv_v4l2" = yes ; then
7931 def_tv_v4l
='#define CONFIG_TV_V4L 1'
7932 def_tv_v4l2
='#define CONFIG_TV_V4L2 1'
7933 _inputmodules
="tv-v4l2 $_inputmodules"
7935 _noinputmodules
="tv-v4l2 $_noinputmodules"
7936 def_tv_v4l2
='#undef CONFIG_TV_V4L2'
7941 echocheck
"Radio interface"
7942 if test "$_radio" = yes ; then
7943 def_radio
='#define CONFIG_RADIO 1'
7944 _inputmodules
="radio $_inputmodules"
7945 if test "$_alsa9" != yes -a "$_alsa1x" != yes -a "$_ossaudio" != yes ; then
7948 if test "$_radio_capture" = yes ; then
7950 def_radio_capture
="#define CONFIG_RADIO_CAPTURE 1"
7952 def_radio_capture
="#undef CONFIG_RADIO_CAPTURE"
7955 _noinputmodules
="radio $_noinputmodules"
7956 def_radio
='#undef CONFIG_RADIO'
7957 def_radio_capture
="#undef CONFIG_RADIO_CAPTURE"
7961 echocheck
"Capture for Radio interface"
7962 echores
"$_radio_capture"
7964 echocheck
"Video 4 Linux 2 Radio interface"
7965 if test "$_radio_v4l2" = auto
; then
7967 if test "$_radio" = yes && linux
; then
7970 #include <linux/types.h>
7971 #include <linux/videodev2.h>
7972 int main(void) { return 0; }
7974 cc_check
&& _radio_v4l2
=yes
7977 if test "$_radio_v4l2" = yes ; then
7978 def_radio_v4l2
='#define CONFIG_RADIO_V4L2 1'
7980 def_radio_v4l2
='#undef CONFIG_RADIO_V4L2'
7982 echores
"$_radio_v4l2"
7984 echocheck
"Video 4 Linux Radio interface"
7985 if test "$_radio_v4l" = auto
; then
7987 if test "$_radio" = yes && linux
; then
7990 #include <linux/videodev.h>
7991 int main(void) { return 0; }
7993 cc_check
&& _radio_v4l
=yes
7996 if test "$_radio_v4l" = yes ; then
7997 def_radio_v4l
='#define CONFIG_RADIO_V4L 1'
7999 def_radio_v4l
='#undef CONFIG_RADIO_V4L'
8001 echores
"$_radio_v4l"
8003 if freebsd || netbsd || openbsd || dragonfly || bsdos \
8004 && test "$_radio" = yes && test "$_radio_bsdbt848" = auto
; then
8005 echocheck
"*BSD BrookTree 848 Radio interface"
8008 #include <sys/types.h>
8009 $def_ioctl_bt848_h_name
8010 #ifdef IOCTL_BT848_H_NAME
8011 #include IOCTL_BT848_H_NAME
8013 int main(void) { ioctl(0, RADIO_GETFREQ, 0); return 0; }
8015 cc_check
&& _radio_bsdbt848
=yes
8016 echores
"$_radio_bsdbt848"
8017 fi #if freebsd || netbsd || openbsd || dragonfly || bsdos && _radio && _radio_bsdbt848
8019 if test "$_radio_bsdbt848" = yes ; then
8020 def_radio_bsdbt848
='#define CONFIG_RADIO_BSDBT848 1'
8022 def_radio_bsdbt848
='#undef CONFIG_RADIO_BSDBT848'
8025 if test "$_radio_v4l" = no
&& test "$_radio_v4l2" = no
&& \
8026 test "$_radio_bsdbt848" = no
&& test "$_radio" = yes ; then
8027 die
"Radio driver requires BSD BT848, V4L or V4L2!"
8030 echocheck
"Video 4 Linux 2 MPEG PVR interface"
8031 if test "$_pvr" = auto
; then
8033 if test "$_tv_v4l2" = yes && linux
; then
8036 #include <inttypes.h>
8037 #include <linux/types.h>
8038 #include <linux/videodev2.h>
8039 int main(void) { struct v4l2_ext_controls ext; return ext.controls->value; }
8041 cc_check
&& _pvr
=yes
8044 if test "$_pvr" = yes ; then
8045 def_pvr
='#define CONFIG_PVR 1'
8046 _inputmodules
="pvr $_inputmodules"
8048 _noinputmodules
="pvr $_noinputmodules"
8049 def_pvr
='#undef CONFIG_PVR'
8055 if ! beos
&& test "$_ftp" = yes ; then
8056 def_ftp
='#define CONFIG_FTP 1'
8057 _inputmodules
="ftp $_inputmodules"
8059 _noinputmodules
="ftp $_noinputmodules"
8060 def_ftp
='#undef CONFIG_FTP'
8064 echocheck
"vstream client"
8065 if test "$_vstream" = auto
; then
8068 #include <vstream-client.h>
8069 void vstream_error(const char *format, ... ) {}
8070 int main(void) { vstream_start(); return 0; }
8072 cc_check
-lvstream-client && _vstream
=yes
8074 if test "$_vstream" = yes ; then
8075 def_vstream
='#define CONFIG_VSTREAM 1'
8076 _inputmodules
="vstream $_inputmodules"
8077 extra_ldflags
="$extra_ldflags -lvstream-client"
8079 _noinputmodules
="vstream $_noinputmodules"
8080 def_vstream
='#undef CONFIG_VSTREAM'
8085 echocheck
"OSD menu"
8086 if test "$_menu" = yes ; then
8087 def_menu
='#define CONFIG_MENU 1'
8088 test $_dvbin = "yes" && _menu_dvbin
=yes
8090 def_menu
='#undef CONFIG_MENU'
8096 echocheck
"Subtitles sorting"
8097 if test "$_sortsub" = yes ; then
8098 def_sortsub
='#define CONFIG_SORTSUB 1'
8100 def_sortsub
='#undef CONFIG_SORTSUB'
8105 echocheck
"XMMS inputplugin support"
8106 if test "$_xmms" = yes ; then
8107 if ( xmms-config
--version ) >/dev
/null
2>&1 ; then
8108 _xmmsplugindir
=$
(xmms-config
--input-plugin-dir)
8109 _xmmslibdir
=$
(xmms-config
--exec-prefix)/lib
8111 _xmmsplugindir
=/usr
/lib
/xmms
/Input
8112 _xmmslibdir
=/usr
/lib
8115 def_xmms
='#define CONFIG_XMMS 1'
8117 extra_ldflags
="$extra_ldflags ${_xmmslibdir}/libxmms.dylib"
8119 extra_ldflags
="$extra_ldflags ${_xmmslibdir}/libxmms.so.1 -export-dynamic"
8122 def_xmms
='#undef CONFIG_XMMS'
8127 # --------------- GUI specific tests begin -------------------
8130 if test "$_gui" = yes ; then
8132 # Required libraries
8133 if test "$_libavcodec" != yes ||
8134 ! echo $_libavdecoders |
grep -q PNG_DECODER
; then
8135 die
"The GUI requires libavcodec with PNG support (needs zlib)."
8137 test "$_freetype" = no
&& test "$_bitmap_font" = no
&& \
8138 die
"The GUI requires either FreeType or bitmap font support."
8141 test "$_x11" != yes && die
"X11 support required for GUI compilation."
8143 echocheck
"XShape extension"
8144 if test "$_xshape" = auto
; then
8147 #include <X11/Xlib.h>
8148 #include <X11/Xproto.h>
8149 #include <X11/Xutil.h>
8150 #include <X11/extensions/shape.h>
8153 char *name = ":0.0";
8156 int eventbase, errorbase;
8157 if (getenv("DISPLAY"))
8158 name=getenv("DISPLAY");
8159 wsDisplay=XOpenDisplay(name);
8160 if (!XShapeQueryExtension(wsDisplay,&eventbase,&errorbase))
8162 XCloseDisplay(wsDisplay);
8166 cc_check
-lXext && _xshape
=yes
8168 if test "$_xshape" = yes ; then
8169 def_xshape
='#define CONFIG_XSHAPE 1'
8171 die
"The GUI requires the X11 extension XShape (which was not found)."
8176 if test "$_gtk1" = no
; then
8178 echocheck
"GTK+ version"
8180 if $_pkg_config gtk
+-2.0
--exists ; then
8181 _gtk
=$
($_pkg_config gtk
+-2.0
--modversion 2>/dev
/null
)
8182 extra_cflags
="$extra_cflags $($_pkg_config gtk+-2.0 --cflags 2>/dev/null)"
8183 libs_mplayer
="$libs_mplayer $($_pkg_config gtk+-2.0 --libs 2>/dev/null)"
8187 if $_pkg_config glib-2.0
--exists ; then
8188 echocheck
"glib version"
8189 _glib
=$
($_pkg_config glib-2.0
--modversion 2>/dev
/null
)
8190 libs_mplayer
="$libs_mplayer $($_pkg_config glib-2.0 --libs 2>/dev/null)"
8193 def_gui
='#define CONFIG_GUI 1'
8194 def_gtk2
='#define CONFIG_GTK2 1'
8197 echo "GLIB-2 devel packages were not found, trying GTK 1.2"
8200 echo "GTK-2 devel packages were not found, trying GTK 1.2"
8205 if test "$_gtk1" = yes ; then
8206 # Check for old GTK (1.2.x)
8207 echocheck
"GTK version"
8208 if test -z "$_gtkconfig" ; then
8209 if ( gtk-config
--version ) >/dev
/null
2>&1 ; then
8210 _gtkconfig
="gtk-config"
8211 elif ( gtk12-config
--version ) >/dev
/null
2>&1 ; then
8212 _gtkconfig
="gtk12-config"
8214 die
"The GUI requires GTK devel packages (which were not found)."
8217 _gtk
=$
($_gtkconfig --version 2>&1)
8218 extra_cflags
="$extra_cflags $($_gtkconfig --cflags 2>&1)"
8219 libs_mplayer
="$libs_mplayer $($_gtkconfig --libs 2>&1)"
8220 echores
"$_gtk (using $_gtkconfig)"
8223 echocheck
"glib version"
8224 if test -z "$_glibconfig" ; then
8225 if ( glib-config
--version ) >/dev
/null
2>&1 ; then
8226 _glibconfig
="glib-config"
8227 elif ( glib12-config
--version ) >/dev
/null
2>&1 ; then
8228 _glibconfig
="glib12-config"
8230 die
"The GUI requires GLIB devel packages (which were not found)"
8233 _glib
=$
($_glibconfig --version 2>&1)
8234 libs_mplayer
="$libs_mplayer $($_glibconfig --libs 2>&1)"
8235 echores
"$_glib (using $_glibconfig)"
8237 def_gui
='#define CONFIG_GUI 1'
8238 def_gtk2
='#undef CONFIG_GTK2'
8243 libs_mplayer
="$libs_mplayer -lcomdlg32 -lcomctl32 -lshell32 -lkernel32"
8244 def_gui
='#define CONFIG_GUI 1'
8245 def_gtk2
='#undef CONFIG_GTK2'
8248 else #if test "$_gui"
8249 def_gui
='#undef CONFIG_GUI'
8250 def_gtk2
='#undef CONFIG_GTK2'
8252 # --------------- GUI specific tests end -------------------
8255 if test "$_charset" != "noconv" ; then
8256 def_charset
="#define MSG_CHARSET \"$_charset\""
8258 def_charset
="#undef MSG_CHARSET"
8262 if test -n "$_charset" && test "$_charset" != "UTF-8" ; then
8263 echocheck
"iconv program"
8264 iconv -f UTF-8
-t $_charset ${_mp_help} > /dev
/null
2>> "$TMPLOG"
8265 if test "$?" -ne 0 ; then
8267 echo "No working iconv program found, use "
8268 echo "--charset=UTF-8 to continue anyway."
8269 echo "If you also have problems with iconv library functions use --charset=noconv."
8270 echo "Messages in the GTK-2 interface will be broken then."
8277 #############################################################################
8279 echocheck
"automatic gdb attach"
8280 if test "$_crash_debug" = yes ; then
8281 def_crash_debug
='#define CONFIG_CRASH_DEBUG 1'
8283 def_crash_debug
='#undef CONFIG_CRASH_DEBUG'
8286 echores
"$_crash_debug"
8288 echocheck
"compiler support for noexecstack"
8290 int main(void) { return 0; }
8292 if cc_check
-Wl,-z,noexecstack
; then
8293 extra_ldflags
="-Wl,-z,noexecstack $extra_ldflags"
8299 echocheck
"linker support for --nxcompat --no-seh --dynamicbase"
8300 if cc_check
"-Wl,--nxcompat -Wl,--no-seh -Wl,--dynamicbase" ; then
8301 extra_ldflags
="-Wl,--nxcompat -Wl,--no-seh -Wl,--dynamicbase $extra_ldflags"
8308 # Dynamic linking flags
8309 # (FIXME: 'echocheck "dynamic linking"' above and modify here accordingly)
8311 freebsd || netbsd || openbsd || dragonfly || bsdos
&& _ld_dl_dynamic
='-rdynamic'
8312 if test "$_real" = yes ||
test "$_xanim" = yes && ! win32
&& ! qnx
&& ! darwin
&& ! os2
&& ! sunos
; then
8313 _ld_dl_dynamic
='-rdynamic'
8316 extra_ldflags
="$extra_ldflags $_ld_pthread $_ld_dl $_ld_dl_dynamic"
8317 bsdos
&& extra_ldflags
="$extra_ldflags -ldvd"
8318 (netbsd || openbsd
) && x86_32
&& extra_ldflags
="$extra_ldflags -li386"
8320 def_debug
='#undef MP_DEBUG'
8321 test "$_debug" != "" && def_debug
='#define MP_DEBUG 1'
8324 echocheck
"joystick"
8325 def_joystick
='#undef CONFIG_JOYSTICK'
8326 if test "$_joystick" = yes ; then
8328 # TODO add some check
8329 def_joystick
='#define CONFIG_JOYSTICK 1'
8332 _res_comment
="unsupported under $system_name"
8335 echores
"$_joystick"
8338 if test "$_lirc" = auto
; then
8341 #include <lirc/lirc_client.h>
8342 int main(void) { return 0; }
8344 cc_check
-llirc_client && _lirc
=yes
8346 if test "$_lirc" = yes ; then
8347 def_lirc
='#define CONFIG_LIRC 1'
8348 libs_mplayer
="$libs_mplayer -llirc_client"
8350 def_lirc
='#undef CONFIG_LIRC'
8355 if test "$_lircc" = auto
; then
8358 #include <lirc/lircc.h>
8359 int main(void) { return 0; }
8361 cc_check
-llircc && _lircc
=yes
8363 if test "$_lircc" = yes ; then
8364 def_lircc
='#define CONFIG_LIRCC 1'
8365 libs_mplayer
="$libs_mplayer -llircc"
8367 def_lircc
='#undef CONFIG_LIRCC'
8372 # Detect maemo development platform libraries availability (http://www.maemo.org),
8373 # they are used when run on Nokia 770|8x0
8374 echocheck
"maemo (Nokia 770|8x0)"
8375 if test "$_maemo" = auto
; then
8378 #include <libosso.h>
8379 int main(void) { (void) osso_initialize("", "", 0, NULL); return 0; }
8381 cc_check $
($_pkg_config --cflags --libs libosso
2>/dev
/null
) && _maemo
=yes
8383 if test "$_maemo" = yes ; then
8384 def_maemo
='#define CONFIG_MAEMO 1'
8385 extra_cflags
="$extra_cflags $($_pkg_config --cflags libosso)"
8386 extra_ldflags
="$extra_ldflags $($_pkg_config --libs libosso) -lXsp"
8388 def_maemo
='#undef CONFIG_MAEMO'
8393 #############################################################################
8395 # On OS/2 nm supports only a.out. So the -Zomf compiler option to generate
8396 # the OMF format needs to come after the 'extern symbol prefix' check, which
8399 extra_ldflags
="$extra_ldflags -Zomf -Zstack 16384 -Zbin-files -Zargs-wild"
8402 # linker paths should be the same for mencoder and mplayer
8404 for I
in $libs_mplayer ; do
8405 _tmp
=$
(echo $I |
sed -e 's/^-L.*$//')
8406 if test -z "$_tmp" ; then
8407 extra_ldflags
="$extra_ldflags $I"
8409 _ld_tmp
="$_ld_tmp $I"
8412 libs_mplayer
=$_ld_tmp
8415 #############################################################################
8416 # 64 bit file offsets?
8417 if test "$_largefiles" = yes || freebsd
; then
8418 CFLAGS
="$CFLAGS -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
8419 if test "$_dvdread" = yes ||
test "$_libdvdcss_internal" = yes ; then
8420 # dvdread support requires this (for off64_t)
8421 CFLAGS
="$CFLAGS -D_LARGEFILE64_SOURCE"
8425 CXXFLAGS
=" $CFLAGS -D__STDC_LIMIT_MACROS"
8427 # This must be the last test to be performed. Any other tests following it
8428 # could fail due to linker errors. libdvdnavmini is intentionally not linked
8429 # against libdvdread (to permit MPlayer to use its own copy of the library).
8430 # So any compilation using the flags added here but not linking against
8431 # libdvdread can fail.
8432 echocheck
"DVD support (libdvdnav)"
8434 if test "$_dvdnav" = auto
; then
8435 if test "$_dvdread_internal" = yes ; then
8438 _res_comment
="internal"
8440 $_dvdnavconfig --version --minilibs >> $TMPLOG 2>&1 || _dvdnav
=no
8443 if test "$_dvdnav" = auto
; then
8445 #include <inttypes.h>
8446 #include <dvdnav/dvdnav.h>
8447 int main(void) { dvdnav_t *dvd=0; return 0; }
8450 _dvdnavdir
=$
($_dvdnavconfig --cflags)
8451 _dvdnavlibs
=$
($_dvdnavconfig --libs)
8452 cc_check
$_dvdnavdir $_dvdnavlibs $_ld_dl $_ld_pthread && _dvdnav
=yes
8454 if test "$_dvdnav" = yes ; then
8456 def_dvdnav
='#define CONFIG_DVDNAV 1'
8457 if test "$dvdnav_internal" = yes ; then
8458 cflags_libdvdnav
="-Ilibdvdnav"
8459 _inputmodules
="dvdnav(internal) $_inputmodules"
8461 extra_cflags
="$extra_cflags $($_dvdnavconfig --cflags)"
8462 extra_ldflags
="$extra_ldflags $($_dvdnavconfig --minilibs)"
8463 _inputmodules
="dvdnav $_inputmodules"
8466 def_dvdnav
='#undef CONFIG_DVDNAV'
8467 _noinputmodules
="dvdnav $_noinputmodules"
8471 # DO NOT ADD ANY TESTS THAT USE LINKER FLAGS HERE (like cc_check).
8472 # Read dvdnav comment above.
8474 #############################################################################
8475 echo "Creating config.mak"
8476 cat > config.mak
<< EOF
8477 # -------- Generated by configure -----------
8479 # Ensure that locale settings do not interfere with shell commands.
8482 CONFIGURATION = $_configuration
8485 DOC_LANGS = $language_doc
8486 DOC_LANG_ALL = $doc_lang_all
8487 MAN_LANGS = $language_man
8488 MAN_LANG_ALL = $man_lang_all
8490 prefix = \$(DESTDIR)$_prefix
8491 BINDIR = \$(DESTDIR)$_bindir
8492 DATADIR = \$(DESTDIR)$_datadir
8493 LIBDIR = \$(DESTDIR)$_libdir
8494 MANDIR = \$(DESTDIR)$_mandir
8495 CONFDIR = \$(DESTDIR)$_confdir
8504 INSTALLSTRIP = $_install_strip
8508 CFLAGS = $CFLAGS $extra_cflags
8509 ASFLAGS = $CFLAGS $extra_cflags
8510 OPTFLAGS = $CFLAGS $extra_cflags
8511 CXXFLAGS = $CXXFLAGS $extra_cflags $extra_cxxflags
8512 CFLAGS_DHAHELPER = $cflags_dhahelper
8513 CFLAGS_FAAD_FIXED = $cflags_faad_fixed
8514 CFLAGS_LIBDVDCSS = $cflags_libdvdcss
8515 CFLAGS_LIBDVDCSS_DVDREAD = $cflags_libdvdcss_dvdread
8516 CFLAGS_LIBDVDNAV = $cflags_libdvdnav
8517 CFLAGS_NO_OMIT_LEAF_FRAME_POINTER = $cflags_no_omit_leaf_frame_pointer
8518 CFLAGS_STACKREALIGN = $cflags_stackrealign
8519 CFLAGS_SVGALIB_HELPER = $cflags_svgalib_helper
8520 CFLAGS_TREMOR_LOW = $cflags_tremor_low
8521 YASMFLAGS = $YASMFLAGS
8523 EXTRALIBS = $extra_ldflags $_ld_static $_ld_lm $extra_libs
8524 EXTRALIBS_MPLAYER = $libs_mplayer
8525 EXTRALIBS_MENCODER = $libs_mencoder
8527 DEPEND_CMD = \$(CC) -MM \$(CFLAGS) \$(filter-out %.h,\$^) | sed "s,[0-9a-z._-]*: \(\$(SRC_DIR)/\)*\([a-z0-9]*/\)[^/]* ,\\2&,"
8529 MPDEPEND_CMD = \$(CC) -MM \$(CFLAGS) \$(filter-out %.xpm,\$(filter-out %.h,$^)) | sed -e "s,[0-9a-z._-]*: \([a-z0-9/]*/\)[^/]* ,\1&," -e "s,\(.*\)\.o: ,\1.d &,"
8530 MPDEPEND_CMD_CXX = \$(CC) -MM \$(CXXFLAGS) \$(filter-out %.hh,\$(filter-out %.h,$^)) | sed -e "s,[0-9a-z._-]*: \([a-z0-9/]*/\)[^/]* ,\1&," -e "s,\(.*\)\.o: ,\1.d &,"
8533 HELP_FILE = $_mp_help
8541 $(echo $_cpuexts | tr '[a-z] ' '[A-Z]\n' | sed 's/^/HAVE_/;s/$/=yes/')
8543 MENCODER = $_mencoder
8546 NEED_GETTIMEOFDAY = $_need_gettimeofday
8547 NEED_GLOB = $_need_glob
8548 NEED_MMAP = $_need_mmap
8549 NEED_SETENV = $_need_setenv
8550 NEED_SHMEM = $_need_shmem
8551 NEED_STRSEP = $_need_strsep
8552 NEED_SWAB = $_need_swab
8553 NEED_VSSCANF = $_need_vsscanf
8561 APPLE_IR = $_apple_ir
8562 APPLE_REMOTE = $_apple_remote
8564 AUDIO_INPUT = $_audio_input
8565 BITMAP_FONT = $_bitmap_font
8570 COREAUDIO = $_coreaudio
8571 COREVIDEO = $_corevideo
8575 DIRECT3D = $_direct3d
8576 DIRECTFB = $_directfb
8580 DVDNAV_INTERNAL = $dvdnav_internal
8582 DVDREAD_INTERNAL = $_dvdread_internal
8588 FAAD_INTERNAL = $_faad_internal
8589 FASTMEMCPY = $_fastmemcpy
8590 $mak_hardcoded_tables
8591 $mak_libavcodec_mpegaudio_hp
8593 FREETYPE = $_freetype
8598 GL_WIN32 = $_gl_win32
8600 MATRIXVIEW = $matrixview
8603 GUI_WIN32 = $_gui_win32
8604 HAVE_POSIX_SELECT = $_posix_select
8605 HAVE_SYS_MMAN_H = $_mman
8608 JOYSTICK = $_joystick
8614 LIBA52_INTERNAL = $_liba52_internal
8616 LIBASS_INTERNAL = $ass_internal
8620 LIBDVDCSS_INTERNAL = $_libdvdcss_internal
8624 LIBMENU_DVBIN = $_menu_dvbin
8625 LIBMPEG2 = $_libmpeg2
8626 LIBNEMESI = $_nemesi
8628 LIBSMBCLIENT = $_smb
8629 LIBTHEORA = $_theora
8632 MACOSX_BUNDLE = $_macosx_bundle
8633 MACOSX_FINDER = $_macosx_finder
8639 MUSEPACK = $_musepack
8641 NATIVE_RTSP = $_native_rtsp
8645 PE_EXECUTABLE = $_pe_executable
8648 PRIORITY = $_priority
8652 QTX_CODECS_WIN32 = $_qtx_codecs_win32
8653 QTX_EMULATION = $_qtx_emulation
8656 RADIO_CAPTURE=$_radio_capture
8657 REAL_CODECS = $_real
8661 STREAM_CACHE = $_stream_cache
8662 SGIAUDIO = $_sgiaudio
8663 SUNAUDIO = $_sunaudio
8669 TREMOR_INTERNAL = $_tremor_internal
8671 TV_BSDBT848 = $_tv_bsdbt848
8672 TV_DSHOW = $_tv_dshow
8677 UNRAR_EXEC = $_unrar_exec
8683 VIDIX_PCIDB = $_vidix_pcidb_val
8684 VIDIX_CYBERBLADE=$_vidix_drv_cyberblade
8685 VIDIX_IVTV=$_vidix_drv_ivtv
8686 VIDIX_MACH64=$_vidix_drv_mach64
8687 VIDIX_MGA=$_vidix_drv_mga
8688 VIDIX_MGA_CRTC2=$_vidix_drv_mga_crtc2
8689 VIDIX_NVIDIA=$_vidix_drv_nvidia
8690 VIDIX_PM2=$_vidix_drv_pm2
8691 VIDIX_PM3=$_vidix_drv_pm3
8692 VIDIX_RADEON=$_vidix_drv_radeon
8693 VIDIX_RAGE128=$_vidix_drv_rage128
8694 VIDIX_S3=$_vidix_drv_s3
8695 VIDIX_SH_VEU=$_vidix_drv_sh_veu
8696 VIDIX_SIS=$_vidix_drv_sis
8697 VIDIX_UNICHROME=$_vidix_drv_unichrome
8701 WIN32DLL = $_win32dll
8702 WIN32WAVEOUT = $_win32waveout
8703 WIN32_EMULATION = $_win32_emulation
8704 WINVIDIX = $winvidix
8707 XANIM_CODECS = $_xanim
8709 XMMS_PLUGINS = $_xmms
8715 YUV4MPEG = $_yuv4mpeg
8719 LIBAVUTIL = $_libavutil
8720 LIBAVUTIL_A = $_libavutil_a
8721 LIBAVUTIL_SO = $_libavutil_so
8722 LIBAVCODEC = $_libavcodec
8723 LIBAVCODEC_A = $_libavcodec_a
8724 LIBAVCODEC_SO = $_libavcodec_so
8725 LIBAVFORMAT = $_libavformat
8726 LIBAVFORMAT_A = $_libavformat_a
8727 LIBAVFORMAT_SO = $_libavformat_so
8728 LIBPOSTPROC = $_libpostproc
8729 LIBPOSTPROC_A = $_libpostproc_a
8730 LIBPOSTPROC_SO = $_libpostproc_so
8731 LIBSWSCALE = $_libswscale
8732 LIBSWSCALE_A = $_libswscale_a
8733 LIBSWSCALE_SO = $_libswscale_so
8736 HOSTCFLAGS=-D_ISOC99_SOURCE -D_POSIX_C_SOURCE=200112 -O3
8745 LIBNAME=\$(LIBPREF)\$(NAME)\$(LIBSUF)
8746 FULLNAME=\$(NAME)\$(BUILDSUF)
8748 # Some FFmpeg codecs depend on these. Enable them unconditionally for now.
8752 CONFIG_FFT_MMX=$fft_mmx
8761 CONFIG_LIBDIRAC_DECODER=$_libdirac_lavc
8762 CONFIG_LIBDIRAC_ENCODER=$_libdirac_lavc
8763 CONFIG_LIBFAAC_ENCODER=$_faac_lavc
8764 CONFIG_LIBMP3LAME_ENCODER=$_mp3lame_lavc
8765 CONFIG_LIBOPENCORE_AMRNB_DECODER=$_libopencore_amrnb
8766 CONFIG_LIBOPENCORE_AMRNB_ENCODER=$_libopencore_amrnb
8767 CONFIG_LIBOPENCORE_AMRWB_DECODER=$_libopencore_amrwb
8768 OCNFIG_LIBOPENJPEG_DECODER = $libopenjpeg
8769 OCNFIG_LIBOPENJPEG_ENCODER = $libopenjpeg
8770 CONFIG_LIBSCHROEDINGER_DECODER=$_libschroedinger_lavc
8771 CONFIG_LIBSCHROEDINGER_ENCODER=$_libschroedinger_lavc
8772 CONFIG_LIBVORBIS_ENCODER=$_libvorbis
8773 CONFIG_LIBX264_ENCODER=$_x264_lavc
8774 CONFIG_LIBXVID_ENCODER=$_xvid_lavc
8775 CONFIG_MLIB = $_mlib
8776 CONFIG_MUXERS=$_mencoder
8777 CONFIG_POSTPROC = yes
8778 # Prevent building libavcodec/imgresample.c with conflicting symbols
8780 CONFIG_VDPAU=$_vdpau
8784 HAVE_PTHREADS = $_pthreads
8786 HAVE_W32THREADS = $_w32threads
8787 HAVE_YASM = $_have_yasm
8789 $(echo $_libavdecoders | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/')
8790 $(echo $_libavencoders | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/')
8791 $(echo $_libavparsers | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/')
8792 $(echo $_libavdemuxers | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/')
8793 $(echo $_libavmuxers | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/')
8794 $(echo $_libavprotocols | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/')
8795 $(echo $_libavbsfs | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/')
8796 $(echo $_libavhwaccels | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/')
8799 #############################################################################
8801 ff_config_enable
() {
8803 test -z "$_nprefix" && _nprefix
='CONFIG'
8805 if $
(echo $2 |
grep -q -E "(^| )$part($| )"); then
8806 echo "#define ${_nprefix}_$part 1"
8808 echo "#define ${_nprefix}_$part 0"
8813 echo "Creating config.h"
8815 /*----------------------------------------------------------------------------
8816 ** This file has been automatically generated by configure any changes in it
8817 ** will be lost when you run configure again.
8818 ** Instead of modifying definitions here, use the --enable/--disable options
8819 ** of the configure script! See ./configure --help for details.
8820 *---------------------------------------------------------------------------*/
8822 #ifndef MPLAYER_CONFIG_H
8823 #define MPLAYER_CONFIG_H
8825 /* Undefine this if you do not want to select mono audio (left or right)
8826 with a stereo MPEG layer 2/3 audio stream. The command line option
8827 -stereo has three possible values (0 for stereo, 1 for left-only, 2 for
8828 right-only), with 0 being the default.
8830 #define CONFIG_FAKE_MONO 1
8832 /* set up max. outburst. use 65536 for ALSA 0.5, for others 16384 is enough */
8833 #define MAX_OUTBURST 65536
8835 /* set up audio OUTBURST. Do not change this! */
8836 #define OUTBURST 512
8838 /* Enable fast OSD/SUB renderer (looks ugly, but uses less CPU power) */
8840 #undef FAST_OSD_TABLE
8842 /* Define this to enable MPEG-1/2 image postprocessing in libmpeg2 */
8843 #define MPEG12_POSTPROC 1
8844 #define ATTRIBUTE_ALIGNED_MAX 16
8848 #define CONFIGURATION "$_configuration"
8850 #define MPLAYER_DATADIR "$_datadir"
8851 #define MPLAYER_CONFDIR "$_confdir"
8852 #define MPLAYER_LIBDIR "$_libdir"
8854 /* definitions needed by included libraries */
8855 #define HAVE_INTTYPES_H 1
8856 /* libmpeg2 + FFmpeg */
8859 #define HAVE_ERRNO_H 1
8860 /* libdvdcss + libdvdread */
8861 #define HAVE_LIMITS_H 1
8862 /* libdvdcss + libfaad2 */
8863 #define HAVE_UNISTD_H 1
8864 /* libfaad2 + libdvdread */
8865 #define STDC_HEADERS 1
8866 #define HAVE_MEMCPY 1
8868 #define HAVE_STRING_H 1
8869 #define HAVE_STRINGS_H 1
8870 #define HAVE_SYS_STAT_H 1
8871 #define HAVE_SYS_TYPES_H 1
8873 #define READ_CACHE_TRACE 0
8875 #define HAVE_DLFCN_H 1
8879 /* system headers */
8881 $def_alsa_asoundlib_h
8885 $def_mman_has_map_failed
8887 $def_sys_asoundlib_h
8888 $def_sys_soundcard_h
8895 /* system functions */
8917 /* system-specific features */
8932 $def_restrict_keyword
8937 /* configurable options */
8941 $def_dynamic_plugins
8944 $def_runtime_cpudetection
8952 #define __CPU__ $iproc
8955 $(ff_config_enable "$_arch_all" "$_arch" "ARCH")
8956 $(ff_config_enable "$_cpuexts_all" "$_cpuexts" "HAVE")
8960 #define DEFAULT_CDROM_DEVICE "$default_cdrom_device"
8961 #define DEFAULT_DVD_DEVICE "$default_dvd_device"
8981 /* codec libraries */
8986 $def_liba52_internal
8994 $def_mp3lame_preset_medium
9017 #define WIN32_PATH "$_win32codecsdir"
9021 #define XMMS_INPUT_PLUGIN_DIR "$_xmmsplugindir"
9030 /* Audio output drivers */
9046 $def_ossaudio_devdsp
9047 $def_ossaudio_devmixer
9060 $def_ioctl_bt848_h_name
9061 $def_ioctl_meteor_h_name
9100 $def_struct_ipv6_mreq
9101 $def_struct_sockaddr_in6
9102 $def_struct_sockaddr_sa_len
9106 $def_sockaddr_storage
9121 $def_directfb_version
9159 $def_vidix_drv_cyberblade
9161 $def_vidix_drv_mach64
9163 $def_vidix_drv_mga_crtc2
9164 $def_vidix_drv_nvidia
9166 $def_vidix_drv_radeon
9167 $def_vidix_drv_rage128
9169 $def_vidix_drv_sh_veu
9171 $def_vidix_drv_unichrome
9205 #define CONFIG_DECODERS 1
9206 #define CONFIG_ENCODERS 1
9207 #define CONFIG_DEMUXERS 1
9218 $def_hardcoded_tables
9219 $def_libavcodec_mpegaudio_hp
9237 #define CONFIG_FASTDIV 0
9238 #define CONFIG_FFSERVER 0
9239 #define CONFIG_GPL 1
9240 #define CONFIG_GRAY 0
9241 #define CONFIG_LIBVORBIS 0
9242 #define CONFIG_POWERPC_PERF 0
9243 #define CONFIG_SMALL 0
9244 #define CONFIG_SWSCALE 1
9245 #define CONFIG_SWSCALE_ALPHA 1
9247 #if defined(HAVE_AF_INET6) && (!defined(_WIN32) || defined(__CYGWIN__))
9248 #define CONFIG_IPV6 1
9250 #define CONFIG_IPV6 0
9253 #define HAVE_ATTRIBUTE_MAY_ALIAS 1
9254 #define HAVE_ATTRIBUTE_PACKED 1
9255 #define HAVE_GETHRTIME 0
9256 #define HAVE_INLINE_ASM 1
9257 #define HAVE_LDBRX 0
9258 #define HAVE_POLL_H 1
9259 #define HAVE_PPC4XX 0
9260 #define HAVE_SETMODE 0
9261 #define HAVE_SYS_SELECT_H 0
9262 #define HAVE_VFP_ARGS 1
9263 #define HAVE_VIRTUALALLOC 0
9265 /* Some FFmpeg codecs depend on these. Enable them unconditionally for now. */
9266 #define CONFIG_AANDCT 1
9267 #define CONFIG_FFT 1
9268 #define CONFIG_GOLOMB 1
9269 #define CONFIG_LPC 1
9270 #define CONFIG_MDCT 1
9271 #define CONFIG_RDFT 1
9273 /* Use these registers in FFmpeg x86 inline asm. No proper detection yet. */
9276 #define HAVE_EBP_AVAILABLE 1
9278 #define HAVE_EBP_AVAILABLE 0
9281 #define FFMPEG_CONFIGURATION "--enable-gpl --enable-postproc"
9282 #define FFMPEG_LICENSE "GPL version 2 or later"
9284 /* External libraries used through libavcodec. */
9287 $def_libopencore_amrnb
9288 $def_libopencore_amrwb
9290 $def_libschroedinger_lavc
9295 $(ff_config_enable "$_libavdecoders_all" "$_libavdecoders")
9296 $(ff_config_enable "$_libavencoders_all" "$_libavencoders")
9297 $(ff_config_enable "$_libavparsers_all" "$_libavparsers")
9298 $(ff_config_enable "$_libavdemuxers_all" "$_libavdemuxers")
9299 $(ff_config_enable "$_libavmuxers_all" "$_libavmuxers")
9300 $(ff_config_enable "$_libavprotocols_all" "$_libavprotocols")
9301 $(ff_config_enable "$_libavbsfs_all" "$_libavbsfs")
9302 $(ff_config_enable "$_libavhwaccels_all" "$_libavhwaccels")
9304 #endif /* MPLAYER_CONFIG_H */
9307 # Do not overwrite an unchanged config.h to avoid superfluous rebuilds.
9308 cmp -s "$TMPH" config.h ||
mv -f "$TMPH" config.h
9310 ############################################################################
9312 # Create avconfig.h for FFmpeg.
9313 cat > "$TMPH" << EOF
9314 /* Generated by mpconfigure */
9315 #ifndef AVUTIL_AVCONFIG_H
9316 #define AVUTIL_AVCONFIG_H
9318 #endif /* AVUTIL_AVCONFIG_H */
9321 # Do not overwrite an unchanged avconfig.h to avoid superfluous rebuilds.
9322 cmp -s "$TMPH" libavutil
/avconfig.h ||
mv -f "$TMPH" libavutil
/avconfig.h
9324 #############################################################################
9328 Config files successfully generated by ./configure $_configuration !
9330 Install prefix: $_prefix
9331 Data directory: $_datadir
9332 Config direct.: $_confdir
9334 Byte order: $_byte_order
9335 Optimizing for: $_optimizing
9338 Messages/GUI: $language_msg
9339 Manual pages: $language_man
9340 Documentation: $language_doc
9342 Enabled optional drivers:
9343 Input: $_inputmodules
9344 Codecs: $_codecmodules
9345 Audio output: $_aomodules
9346 Video output: $_vomodules
9348 Disabled optional drivers:
9349 Input: $_noinputmodules
9350 Codecs: $_nocodecmodules
9351 Audio output: $_noaomodules
9352 Video output: $_novomodules
9354 'config.h' and 'config.mak' contain your configuration options.
9355 Note: If you alter theses files (for instance CFLAGS) MPlayer may no longer
9356 compile *** DO NOT REPORT BUGS if you tweak these files ***
9358 'make' will now compile MPlayer and 'make install' will install it.
9359 Note: On non-Linux systems you might need to use 'gmake' instead of 'make'.
9364 if test "$_mtrr" = yes ; then
9365 echo "Please check mtrr settings at /proc/mtrr (see DOCS/HTML/$doc_lang/video.html#mtrr)"
9371 NOTE: Win32 codec DLLs are not supported on your CPU ($host_arch) or your
9372 operating system ($system_name). You may encounter a few files that cannot
9373 be played due to missing open source video/audio codec support.
9380 Check $TMPLOG if you wonder why an autodetection failed (make sure
9381 development headers/packages are installed).
9383 NOTE: The --enable-* parameters unconditionally force options on, completely
9384 skipping autodetection. This behavior is unlike what you may be used to from
9385 autoconf-based configure scripts that can decide to override you. This greater
9386 level of control comes at a price. You may have to provide the correct compiler
9387 and linker flags yourself.
9388 If you used one of these options (except --enable-gui and similar ones that
9389 turn on internal features) and experience a compilation or linking failure,
9390 make sure you have passed the necessary compiler/linker flags to configure.
9392 If you suspect a bug, please read DOCS/HTML/$doc_lang/bugreports.html.
9396 if test "$_warn_CFLAGS" = yes; then
9399 MPlayer compilation will use the CPPFLAGS/CFLAGS/LDFLAGS/YASMFLAGS set by you,
9402 *** *** DO NOT REPORT BUGS IF IT DOES NOT COMPILE/WORK! *** ***
9404 It is strongly recommended to let MPlayer choose the correct CFLAGS!
9405 To do so, execute 'CFLAGS= ./configure <options>'
9411 rm -f "$TMPEXE" "$TMPC" "$TMPS" "$TMPCPP" "$TMPH"