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]
223 --disable-mencoder disable MEncoder (A/V encoder) compilation [enable]
224 --disable-mplayer disable MPlayer compilation [enable]
225 --enable-gui enable GMPlayer compilation (GTK+ GUI) [disable]
226 --enable-gtk1 force using GTK 1.2 for the GUI [disable]
227 --disable-largefiles disable support for files > 2GB [enable]
228 --enable-linux-devfs set default devices to devfs [disable]
229 --enable-termcap use termcap database for key codes [autodetect]
230 --enable-termios use termios database for key codes [autodetect]
231 --disable-iconv disable iconv for encoding conversion [autodetect]
232 --disable-langinfo do not use langinfo [autodetect]
233 --enable-lirc enable LIRC (remote control) support [autodetect]
234 --enable-lircc enable LIRCCD (LIRC client daemon) input [autodetect]
235 --enable-joystick enable joystick support [disable]
236 --enable-apple-remote enable Apple Remote input (Mac OS X only) [autodetect]
237 --enable-apple-ir enable Apple IR Remote input (Linux only) [autodetect]
238 --disable-vm disable X video mode extensions [autodetect]
239 --disable-xf86keysym disable support for multimedia keys [autodetect]
240 --enable-radio enable radio interface [disable]
241 --enable-radio-capture enable radio capture (through PCI/line-in) [disable]
242 --disable-radio-v4l2 disable Video4Linux2 radio interface [autodetect]
243 --disable-radio-bsdbt848 disable BSD BT848 radio interface [autodetect]
244 --disable-tv disable TV interface (TV/DVB grabbers) [enable]
245 --disable-tv-v4l1 disable Video4Linux TV interface [autodetect]
246 --disable-tv-v4l2 disable Video4Linux2 TV interface [autodetect]
247 --disable-tv-bsdbt848 disable BSD BT848 interface [autodetect]
248 --disable-pvr disable Video4Linux2 MPEG PVR [autodetect]
249 --disable-rtc disable RTC (/dev/rtc) on Linux [autodetect]
250 --disable-network disable networking [enable]
251 --enable-winsock2_h enable winsock2_h [autodetect]
252 --enable-smb enable Samba (SMB) input [autodetect]
253 --enable-live enable LIVE555 Streaming Media [autodetect]
254 --enable-nemesi enable Nemesi Streaming Media [autodetect]
255 --disable-vcd disable VCD support [autodetect]
256 --disable-dvdnav disable libdvdnav [autodetect]
257 --disable-dvdread disable libdvdread [autodetect]
258 --disable-dvdread-internal disable internal libdvdread [autodetect]
259 --disable-libdvdcss-internal disable internal libdvdcss [autodetect]
260 --disable-cdparanoia disable cdparanoia [autodetect]
261 --disable-cddb disable cddb [autodetect]
262 --disable-bitmap-font disable bitmap font support [enable]
263 --disable-freetype disable FreeType 2 font rendering [autodetect]
264 --disable-fontconfig disable fontconfig font lookup [autodetect]
265 --disable-unrarexec disable using of UnRAR executable [enabled]
266 --enable-menu enable OSD menu (not DVD menu) [disabled]
267 --disable-sortsub disable subtitle sorting [enabled]
268 --enable-fribidi enable the FriBiDi libs [autodetect]
269 --disable-enca disable ENCA charset oracle library [autodetect]
270 --disable-maemo disable maemo specific features [autodetect]
271 --enable-macosx-finder enable Mac OS X Finder invocation parameter
273 --enable-macosx-bundle enable Mac OS X bundle file locations [autodetect]
274 --disable-inet6 disable IPv6 support [autodetect]
275 --disable-gethostbyname2 gethostbyname2 part of the C library [autodetect]
276 --disable-ftp disable FTP support [enabled]
277 --disable-vstream disable TiVo vstream client support [autodetect]
278 --disable-pthreads disable Posix threads support [autodetect]
279 --disable-w32threads disable Win32 threads support [autodetect]
280 --disable-ass-internal disable internal SSA/ASS subtitle support [autodetect]
281 --disable-ass disable SSA/ASS subtitle support [autodetect]
282 --enable-rpath enable runtime linker path for extra libs [disabled]
285 --enable-gif enable GIF support [autodetect]
286 --enable-png enable PNG input/output support [autodetect]
287 --enable-mng enable MNG input support [autodetect]
288 --enable-jpeg enable JPEG input/output support [autodetect]
289 --enable-libcdio enable libcdio support [autodetect]
290 --enable-liblzo enable liblzo support [autodetect]
291 --disable-win32dll disable Win32 DLL support [autodetect]
292 --disable-qtx disable QuickTime codecs support [enabled]
293 --disable-xanim disable XAnim codecs support [enabled]
294 --disable-real disable RealPlayer codecs support [enabled]
295 --disable-xvid disable Xvid [autodetect]
296 --disable-xvid-lavc disable Xvid in libavcodec [autodetect]
297 --disable-x264 disable x264 [autodetect]
298 --disable-x264-lavc disable x264 in libavcodec [autodetect]
299 --disable-libdirac-lavc disable Dirac in libavcodec [autodetect]
300 --disable-libschroedinger-lavc disable Dirac in libavcodec (Schroedinger
301 decoder) [autodetect]
302 --disable-libvpx-lavc disable libvpx in libavcodec [autodetect]
303 --disable-libnut disable libnut [autodetect]
304 --disable-libavutil_a disable static libavutil [autodetect]
305 --disable-libavcodec_a disable static libavcodec [autodetect]
306 --disable-libavformat_a disable static libavformat [autodetect]
307 --disable-libpostproc_a disable static libpostproc [autodetect]
308 --disable-libswscale_a disable static libswscale [autodetect]
309 --disable-libavutil_so disable shared libavutil [autodetect]
310 --disable-libavcodec_so disable shared libavcodec [autodetect]
311 --disable-libavformat_so disable shared libavformat [autodetect]
312 --disable-libpostproc_so disable shared libpostproc [autodetect]
313 --disable-libswscale_so disable shared libswscale [autodetect]
314 --disable-libavcodec_mpegaudio_hp disable high precision audio decoding
315 in libavcodec [enabled]
316 --disable-tremor-internal disable internal Tremor [enabled]
317 --enable-tremor-low enable lower accuracy internal Tremor [disabled]
318 --enable-tremor enable external Tremor [autodetect]
319 --disable-libvorbis disable libvorbis support [autodetect]
320 --disable-speex disable Speex support [autodetect]
321 --enable-theora enable OggTheora libraries [autodetect]
322 --enable-faad enable external FAAD2 (AAC) [autodetect]
323 --disable-faad-internal disable internal FAAD2 (AAC) [autodetect]
324 --enable-faad-fixed enable fixed-point mode in internal FAAD2 [disabled]
325 --disable-faac disable support for FAAC (AAC encoder) [autodetect]
326 --disable-faac-lavc disable support for FAAC in libavcodec [autodetect]
327 --disable-ladspa disable LADSPA plugin support [autodetect]
328 --disable-libbs2b disable libbs2b audio filter support [autodetect]
329 --disable-libdv disable libdv 0.9.5 en/decoding support [autodetect]
330 --disable-mad disable libmad (MPEG audio) support [autodetect]
331 --disable-mp3lame disable LAME MP3 encoding support [autodetect]
332 --disable-mp3lame-lavc disable LAME in libavcodec [autodetect]
333 --disable-toolame disable Toolame (MPEG layer 2) encoding [autodetect]
334 --disable-twolame disable Twolame (MPEG layer 2) encoding [autodetect]
335 --enable-xmms enable XMMS input plugin support [disabled]
336 --enable-libdca enable libdca support [autodetect]
337 --disable-mp3lib disable builtin mp3lib [autodetect]
338 --disable-liba52 disable liba52 [autodetect]
339 --disable-libmpeg2 disable builtin libmpeg2 [autodetect]
340 --disable-musepack disable musepack support [autodetect]
341 --disable-libopencore_amrnb disable libopencore_amr narrowband [autodetect]
342 --disable-libopencore_amrwb disable libopencore_amr wideband [autodetect]
343 --disable-libopenjpeg disable OpenJPEG (JPEG2000) input/output support [autodetect]
344 --disable-decoder=DECODER disable specified FFmpeg decoder
345 --enable-decoder=DECODER enable specified FFmpeg decoder
346 --disable-encoder=ENCODER disable specified FFmpeg encoder
347 --enable-encoder=ENCODER enable specified FFmpeg encoder
348 --disable-parser=PARSER disable specified FFmpeg parser
349 --enable-parser=PARSER enable specified FFmpeg parser
350 --disable-protocol=PROTO disable specified FFmpeg protocol
351 --enable-protocol=PROTO enable specified FFmpeg protocol
352 --disable-demuxer=DEMUXER disable specified FFmpeg demuxer
353 --enable-demuxer=DEMUXER enable specified FFmpeg demuxer
354 --disable-muxer=MUXER disable specified FFmpeg muxer
355 --enable-muxer=MUXER enable specified FFmpeg muxer
358 --disable-vidix disable VIDIX [for x86 *nix]
359 --with-vidix-drivers[=*] list of VIDIX drivers to be compiled in
360 Available: cyberblade,ivtv,mach64,mga,mga_crtc2,
361 nvidia,pm2,pm3,radeon,rage128,s3,sis,unichrome
362 --disable-vidix-pcidb disable VIDIX PCI device name database
363 --enable-dhahelper enable VIDIX dhahelper support
364 --enable-svgalib_helper enable VIDIX svgalib_helper support
365 --enable-gl enable OpenGL video output [autodetect]
366 --disable-matrixview disable OpenGL MatrixView video output [autodetect]
367 --enable-dga2 enable DGA 2 support [autodetect]
368 --enable-dga1 enable DGA 1 support [autodetect]
369 --enable-vesa enable VESA video output [autodetect]
370 --enable-svga enable SVGAlib video output [autodetect]
371 --enable-sdl enable SDL video output [autodetect]
372 --enable-kva enable KVA video output [autodetect]
373 --enable-aa enable AAlib video output [autodetect]
374 --enable-caca enable CACA video output [autodetect]
375 --enable-ggi enable GGI video output [autodetect]
376 --enable-ggiwmh enable GGI libggiwmh extension [autodetect]
377 --enable-direct3d enable Direct3D video output [autodetect]
378 --enable-directx enable DirectX video output [autodetect]
379 --enable-dxr2 enable DXR2 video output [autodetect]
380 --enable-dxr3 enable DXR3/H+ video output [autodetect]
381 --enable-ivtv enable IVTV TV-Out video output [autodetect]
382 --enable-v4l2 enable V4L2 Decoder audio/video output [autodetect]
383 --enable-dvb enable DVB video output [autodetect]
384 --enable-mga enable mga_vid video output [autodetect]
385 --enable-xmga enable mga_vid X11 video output [autodetect]
386 --enable-xv enable Xv video output [autodetect]
387 --enable-xvmc enable XvMC acceleration [disable]
388 --enable-vdpau enable VDPAU acceleration [autodetect]
389 --enable-vm enable XF86VidMode support [autodetect]
390 --enable-xinerama enable Xinerama support [autodetect]
391 --enable-x11 enable X11 video output [autodetect]
392 --enable-xshape enable XShape support [autodetect]
393 --disable-xss disable screensaver support via xss [autodetect]
394 --enable-fbdev enable FBDev video output [autodetect]
395 --enable-mlib enable mediaLib video output (Solaris) [disable]
396 --enable-3dfx enable obsolete /dev/3dfx video output [disable]
397 --enable-tdfxfb enable tdfxfb video output [disable]
398 --enable-s3fb enable s3fb (S3 ViRGE) video output [disable]
399 --enable-wii enable Nintendo Wii/GameCube video output [disable]
400 --enable-directfb enable DirectFB video output [autodetect]
401 --enable-zr enable ZR360[56]7/ZR36060 video output [autodetect]
402 --enable-bl enable Blinkenlights video output [disable]
403 --enable-tdfxvid enable tdfx_vid video output [disable]
404 --enable-xvr100 enable SUN XVR-100 video output [autodetect]
405 --disable-tga disable Targa video output [enable]
406 --disable-pnm disable PNM video output [enable]
407 --disable-md5sum disable md5sum video output [enable]
408 --disable-yuv4mpeg disable yuv4mpeg video output [enable]
409 --disable-corevideo disable CoreVideo video output [autodetect]
410 --disable-quartz disable Quartz video output [autodetect]
413 --disable-alsa disable ALSA audio output [autodetect]
414 --disable-ossaudio disable OSS audio output [autodetect]
415 --disable-arts disable aRts audio output [autodetect]
416 --disable-esd disable esd audio output [autodetect]
417 --disable-pulse disable Pulseaudio audio output [autodetect]
418 --disable-jack disable JACK audio output [autodetect]
419 --disable-openal disable OpenAL audio output [autodetect]
420 --disable-nas disable NAS audio output [autodetect]
421 --disable-sgiaudio disable SGI audio output [autodetect]
422 --disable-sunaudio disable Sun audio output [autodetect]
423 --disable-kai disable KAI audio output [autodetect]
424 --disable-dart disable DART audio output [autodetect]
425 --disable-win32waveout disable Windows waveout audio output [autodetect]
426 --disable-coreaudio disable CoreAudio audio output [autodetect]
427 --disable-select disable using select() on the audio device [enable]
430 --charset=charset convert the console messages to this character set
431 --language-doc=lang language to use for the documentation [en]
432 --language-man=lang language to use for the man pages [en]
433 --language-msg=lang language to use for the messages and the GUI [en]
434 --language=lang default language to use [en]
435 Specific options override --language. You can pass a list of languages separated
436 by whitespace or commas instead of a single language. Nonexisting translations
437 will be dropped from each list. All documentation and man page translations
438 available in the list will be installed, for the messages the first available
439 translation will be used. The value "all" will activate all translations. The
440 LINGUAS environment variable is honored. In all cases the fallback is English.
441 Available values are: all $msg_lang_all
443 Miscellaneous options:
444 --enable-runtime-cpudetection enable runtime CPU detection [disable]
445 --enable-cross-compile enable cross-compilation [autodetect]
446 --cc=COMPILER C compiler to build MPlayer [gcc]
447 --host-cc=COMPILER C compiler for tools needed while building [gcc]
448 --as=ASSEMBLER assembler to build MPlayer [as]
449 --nm=NM nm tool to build MPlayer [nm]
450 --yasm=YASM Yasm assembler to build MPlayer [yasm]
451 --ar=AR librarian to build MPlayer [ar]
452 --ranlib=RANLIB ranlib to build MPlayer [ranlib]
453 --windres=WINDRES windres to build MPlayer [windres]
454 --target=PLATFORM target platform (i386-linux, arm-linux, etc)
455 --enable-static build a statically linked binary
456 --with-install=PATH path to a custom install program
459 --enable-mmx enable MMX [autodetect]
460 --enable-mmxext enable MMX2 (Pentium III, Athlon) [autodetect]
461 --enable-3dnow enable 3DNow! [autodetect]
462 --enable-3dnowext enable extended 3DNow! [autodetect]
463 --enable-sse enable SSE [autodetect]
464 --enable-sse2 enable SSE2 [autodetect]
465 --enable-ssse3 enable SSSE3 [autodetect]
466 --enable-shm enable shm [autodetect]
467 --enable-altivec enable AltiVec (PowerPC) [autodetect]
468 --enable-armv5te enable DSP extensions (ARM) [autodetect]
469 --enable-armv6 enable ARMv6 (ARM) [autodetect]
470 --enable-armv6t2 enable ARMv6t2 (ARM) [autodetect]
471 --enable-armvfp enable ARM VFP (ARM) [autodetect]
472 --enable-neon enable NEON (ARM) [autodetect]
473 --enable-iwmmxt enable iWMMXt (ARM) [autodetect]
474 --disable-fastmemcpy disable 3DNow!/SSE/MMX optimized memcpy [enable]
475 --enable-hardcoded-tables put tables in binary instead of calculating them at startup [disable]
476 --enable-big-endian force byte order to big-endian [autodetect]
477 --enable-debug[=1-3] compile-in debugging information [disable]
478 --enable-profile compile-in profiling information [disable]
479 --disable-sighandler disable sighandler for crashes [enable]
480 --enable-crash-debug enable automatic gdb attach on crash [disable]
481 --enable-dynamic-plugins enable dynamic A/V plugins [disable]
483 Use these options if autodetection fails:
484 --extra-cflags=FLAGS extra CFLAGS
485 --extra-ldflags=FLAGS extra LDFLAGS
486 --extra-libs=FLAGS extra linker flags
487 --extra-libs-mplayer=FLAGS extra linker flags for MPlayer
488 --extra-libs-mencoder=FLAGS extra linker flags for MEncoder
489 --with-xvmclib=NAME adapter-specific library name (e.g. XvMCNVIDIA)
491 --with-freetype-config=PATH path to freetype-config
492 --with-glib-config=PATH path to glib*-config
493 --with-gtk-config=PATH path to gtk*-config
494 --with-sdl-config=PATH path to sdl*-config
495 --with-dvdnav-config=PATH path to dvdnav-config
496 --with-dvdread-config=PATH path to dvdread-config
498 This configure script is NOT autoconf-based, even though its output is similar.
499 It will try to autodetect all configuration options. If you --enable an option
500 it will be forcefully turned on, skipping autodetection. This can break
501 compilation, so you need to know what you are doing.
506 # GOTCHA: the variables below defines the default behavior for autodetection
507 # and have - unless stated otherwise - at least 2 states : yes no
508 # If autodetection is available then the third state is: auto
532 test "$CC" && _cc
="$CC"
536 _runtime_cpudetection
=no
542 _libopencore_amrnb
=auto
543 _libopencore_amrwb
=auto
545 _libavdecoders_all
=$
(sed -n 's/^[^#]*DEC.*(.*, *\(.*\)).*/\1_decoder/p' libavcodec
/allcodecs.c |
tr '[a-z]' '[A-Z]')
546 _libavdecoders
=$
(echo $_libavdecoders_all |
sed -e 's/ LIB[A-Z0-9_]*_DECODER//g' -e s
/MPEG4AAC_DECODER
//)
547 _libavencoders_all
=$
(sed -n 's/^[^#]*ENC.*(.*, *\(.*\)).*/\1_encoder/p' libavcodec
/allcodecs.c |
tr '[a-z]' '[A-Z]')
548 _libavencoders
=$
(echo $_libavencoders_all |
sed -e 's/ LIB[A-Z0-9_]*_ENCODER//g' -e s
/AAC_ENCODER
//)
549 _libavparsers_all
=$
(sed -n 's/^[^#]*PARSER.*(.*, *\(.*\)).*/\1_parser/p' libavcodec
/allcodecs.c |
tr '[a-z]' '[A-Z]')
550 _libavparsers
=$_libavparsers_all
551 _libavbsfs_all
=$
(sed -n 's/^[^#]*BSF.*(.*, *\(.*\)).*/\1_bsf/p' libavcodec
/allcodecs.c |
tr '[a-z]' '[A-Z]')
552 _libavbsfs
=$_libavbsfs_all
553 _libavhwaccels_all
=$
(sed -n 's/^[^#]*HWACCEL.*(.*, *\(.*\)).*/\1_hwaccel/p' libavcodec
/allcodecs.c |
tr '[a-z]' '[A-Z]')
554 # Disable all hardware accelerators for now.
556 _libavdemuxers_all
=$
(sed -n 's/^[^#]*DEMUX.*(.*, *\(.*\)).*/\1_demuxer/p' libavformat
/allformats.c |
tr '[a-z]' '[A-Z]')
557 _libavdemuxers
=$
(echo $_libavdemuxers_all |
sed -e 's/ LIB[A-Z0-9_]*_DEMUXER//g' -e s
/REDIR_DEMUXER
// -e s
/AVISYNTH_DEMUXER
//)
558 _libavmuxers_all
=$
(sed -n 's/^[^#]*_MUX.*(.*, *\(.*\)).*/\1_muxer/p' libavformat
/allformats.c |
tr '[a-z]' '[A-Z]')
559 _libavmuxers
=$
(echo $_libavmuxers_all |
sed -e 's/ LIB[A-Z0-9_]*_MUXER//g' -e s
/RTP_MUXER
// -e s
/RTSP_MUXER
//)
560 _libavprotocols_all
=$
(sed -n 's/^[^#]*PROTOCOL.*(.*, *\(.*\)).*/\1_protocol/p' libavformat
/allformats.c |
tr '[a-z]' '[A-Z]')
561 _libavprotocols
=$_libavprotocols_all
569 _libavcodec_mpegaudio_hp
=yes
578 _xvmc
=no
#auto when complete
645 _dvdnavconfig
=dvdnav-config
646 _dvdreadconfig
=dvdread-config
648 _dvdread_internal
=auto
649 _libdvdcss_internal
=auto
660 _mlib
=no
#broken, thus disabled
682 _struct_addrinfo
=auto
684 _struct_sockaddr_storage
=auto
696 _libschroedinger_lavc
=auto
742 _freetypeconfig
='freetype-config'
758 def_dos_paths
="#define HAVE_DOS_PATHS 0"
759 def_stream_cache
="#define CONFIG_STREAM_CACHE 1"
760 def_priority
="#undef CONFIG_PRIORITY"
761 def_pthread_cache
="#undef PTHREAD_CACHE"
769 _prefix
=$
(echo $ac_option | cut
-d '=' -f 2)
772 _bindir
=$
(echo $ac_option | cut
-d '=' -f 2)
775 _datadir
=$
(echo $ac_option | cut
-d '=' -f 2)
778 _mandir
=$
(echo $ac_option | cut
-d '=' -f 2)
781 _confdir
=$
(echo $ac_option | cut
-d '=' -f 2)
784 _libdir
=$
(echo $ac_option | cut
-d '=' -f 2)
787 _codecsdir
=$
(echo $ac_option | cut
-d '=' -f 2)
791 _install
=$
(echo $ac_option | cut
-d '=' -f 2 )
794 _xvmclib
=$
(echo $ac_option | cut
-d '=' -f 2)
798 _sdlconfig
=$
(echo $ac_option | cut
-d '=' -f 2)
800 --with-freetype-config=*)
801 _freetypeconfig
=$
(echo $ac_option | cut
-d '=' -f 2)
804 _gtkconfig
=$
(echo $ac_option | cut
-d '=' -f 2)
806 --with-glib-config=*)
807 _glibconfig
=$
(echo $ac_option | cut
-d '=' -f 2)
809 --with-dvdnav-config=*)
810 _dvdnavconfig
=$
(echo $ac_option | cut
-d '=' -f 2)
812 --with-dvdread-config=*)
813 _dvdreadconfig
=$
(echo $ac_option | cut
-d '=' -f 2)
817 extra_cflags
=$
(echo $ac_option | cut
-d '=' -f 2-)
820 extra_ldflags
=$
(echo $ac_option | cut
-d '=' -f 2-)
823 extra_libs
=$
(echo $ac_option | cut
-d '=' -f 2)
825 --extra-libs-mplayer=*)
826 libs_mplayer
=$
(echo $ac_option | cut
-d '=' -f 2)
828 --extra-libs-mencoder=*)
829 libs_mencoder
=$
(echo $ac_option | cut
-d '=' -f 2)
833 _target
=$
(echo $ac_option | cut
-d '=' -f 2)
836 _cc
=$
(echo $ac_option | cut
-d '=' -f 2)
839 _host_cc
=$
(echo $ac_option | cut
-d '=' -f 2)
842 _as
=$
(echo $ac_option | cut
-d '=' -f 2)
845 _nm
=$
(echo $ac_option | cut
-d '=' -f 2)
848 _yasm
=$
(echo $ac_option | cut
-d '=' -f 2)
851 _ar
=$
(echo $ac_option | cut
-d '=' -f 2)
854 _ranlib
=$
(echo $ac_option | cut
-d '=' -f 2)
857 _windres
=$
(echo $ac_option | cut
-d '=' -f 2)
860 _charset
=$
(echo $ac_option | cut
-d '=' -f 2)
863 language_doc
=$
(echo $ac_option | cut
-d '=' -f 2)
866 language_man
=$
(echo $ac_option | cut
-d '=' -f 2)
869 language_msg
=$
(echo $ac_option | cut
-d '=' -f 2)
872 language
=$
(echo $ac_option | cut
-d '=' -f 2)
891 _debug
=$
(echo $_echo_n '-g'$_echo_c; echo $ac_option | cut
-d '=' -f 2)
896 --enable-runtime-cpudetection) _runtime_cpudetection
=yes ;;
897 --disable-runtime-cpudetection) _runtime_cpudetection
=no
;;
898 --enable-cross-compile) _cross_compile
=yes ;;
899 --disable-cross-compile) _cross_compile
=no
;;
900 --enable-mencoder) _mencoder
=yes ;;
901 --disable-mencoder) _mencoder
=no
;;
902 --enable-mplayer) _mplayer
=yes ;;
903 --disable-mplayer) _mplayer
=no
;;
904 --enable-dynamic-plugins) _dynamic_plugins
=yes ;;
905 --disable-dynamic-plugins) _dynamic_plugins
=no
;;
906 --enable-x11) _x11
=yes ;;
907 --disable-x11) _x11
=no
;;
908 --enable-xshape) _xshape
=yes ;;
909 --disable-xshape) _xshape
=no
;;
910 --enable-xss) _xss
=yes ;;
911 --disable-xss) _xss
=no
;;
912 --enable-xv) _xv
=yes ;;
913 --disable-xv) _xv
=no
;;
914 --enable-xvmc) _xvmc
=yes ;;
915 --disable-xvmc) _xvmc
=no
;;
916 --enable-vdpau) _vdpau
=yes ;;
917 --disable-vdpau) _vdpau
=no
;;
918 --enable-sdl) _sdl
=yes ;;
919 --disable-sdl) _sdl
=no
;;
920 --enable-kva) _kva
=yes ;;
921 --disable-kva) _kva
=no
;;
922 --enable-direct3d) _direct3d
=yes ;;
923 --disable-direct3d) _direct3d
=no
;;
924 --enable-directx) _directx
=yes ;;
925 --disable-directx) _directx
=no
;;
926 --enable-win32waveout) _win32waveout
=yes ;;
927 --disable-win32waveout) _win32waveout
=no
;;
928 --enable-nas) _nas
=yes ;;
929 --disable-nas) _nas
=no
;;
930 --enable-png) _png
=yes ;;
931 --disable-png) _png
=no
;;
932 --enable-mng) _mng
=yes ;;
933 --disable-mng) _mng
=no
;;
934 --enable-jpeg) _jpeg
=yes ;;
935 --disable-jpeg) _jpeg
=no
;;
936 --enable-libopenjpeg) libopenjpeg
=yes ;;
937 --disable-libopenjpeg)libopenjpeg
=no
;;
938 --enable-pnm) _pnm
=yes ;;
939 --disable-pnm) _pnm
=no
;;
940 --enable-md5sum) _md5sum
=yes ;;
941 --disable-md5sum) _md5sum
=no
;;
942 --enable-yuv4mpeg) _yuv4mpeg
=yes ;;
943 --disable-yuv4mpeg) _yuv4mpeg
=no
;;
944 --enable-gif) _gif
=yes ;;
945 --disable-gif) _gif
=no
;;
946 --enable-gl) _gl
=yes ;;
947 --disable-gl) _gl
=no
;;
948 --enable-matrixview) matrixview
=yes ;;
949 --disable-matrixview) matrixview
=no
;;
950 --enable-ggi) _ggi
=yes ;;
951 --disable-ggi) _ggi
=no
;;
952 --enable-ggiwmh) _ggiwmh
=yes ;;
953 --disable-ggiwmh) _ggiwmh
=no
;;
954 --enable-aa) _aa
=yes ;;
955 --disable-aa) _aa
=no
;;
956 --enable-caca) _caca
=yes ;;
957 --disable-caca) _caca
=no
;;
958 --enable-svga) _svga
=yes ;;
959 --disable-svga) _svga
=no
;;
960 --enable-vesa) _vesa
=yes ;;
961 --disable-vesa) _vesa
=no
;;
962 --enable-fbdev) _fbdev
=yes ;;
963 --disable-fbdev) _fbdev
=no
;;
964 --enable-dvb) _dvb
=yes ;;
965 --disable-dvb) _dvb
=no
;;
966 --enable-dxr2) _dxr2
=yes ;;
967 --disable-dxr2) _dxr2
=no
;;
968 --enable-dxr3) _dxr3
=yes ;;
969 --disable-dxr3) _dxr3
=no
;;
970 --enable-ivtv) _ivtv
=yes ;;
971 --disable-ivtv) _ivtv
=no
;;
972 --enable-v4l2) _v4l2
=yes ;;
973 --disable-v4l2) _v4l2
=no
;;
974 --enable-iconv) _iconv
=yes ;;
975 --disable-iconv) _iconv
=no
;;
976 --enable-langinfo) _langinfo
=yes ;;
977 --disable-langinfo) _langinfo
=no
;;
978 --enable-rtc) _rtc
=yes ;;
979 --disable-rtc) _rtc
=no
;;
980 --enable-libdv) _libdv
=yes ;;
981 --disable-libdv) _libdv
=no
;;
982 --enable-ossaudio) _ossaudio
=yes ;;
983 --disable-ossaudio) _ossaudio
=no
;;
984 --enable-arts) _arts
=yes ;;
985 --disable-arts) _arts
=no
;;
986 --enable-esd) _esd
=yes ;;
987 --disable-esd) _esd
=no
;;
988 --enable-pulse) _pulse
=yes ;;
989 --disable-pulse) _pulse
=no
;;
990 --enable-jack) _jack
=yes ;;
991 --disable-jack) _jack
=no
;;
992 --enable-openal) _openal
=yes ;;
993 --disable-openal) _openal
=no
;;
994 --enable-kai) _kai
=yes ;;
995 --disable-kai) _kai
=no
;;
996 --enable-dart) _dart
=yes ;;
997 --disable-dart) _dart
=no
;;
998 --enable-mad) _mad
=yes ;;
999 --disable-mad) _mad
=no
;;
1000 --enable-mp3lame) _mp3lame
=yes ;;
1001 --disable-mp3lame) _mp3lame
=no
;;
1002 --enable-mp3lame-lavc) _mp3lame_lavc
=yes ;;
1003 --disable-mp3lame-lavc) _mp3lame_lavc
=no
;;
1004 --enable-toolame) _toolame
=yes ;;
1005 --disable-toolame) _toolame
=no
;;
1006 --enable-twolame) _twolame
=yes ;;
1007 --disable-twolame) _twolame
=no
;;
1008 --enable-libcdio) _libcdio
=yes ;;
1009 --disable-libcdio) _libcdio
=no
;;
1010 --enable-liblzo) _liblzo
=yes ;;
1011 --disable-liblzo) _liblzo
=no
;;
1012 --enable-libvorbis) _libvorbis
=yes ;;
1013 --disable-libvorbis) _libvorbis
=no
;;
1014 --enable-speex) _speex
=yes ;;
1015 --disable-speex) _speex
=no
;;
1016 --enable-tremor) _tremor
=yes ;;
1017 --disable-tremor) _tremor
=no
;;
1018 --enable-tremor-internal) _tremor_internal
=yes ;;
1019 --disable-tremor-internal) _tremor_internal
=no
;;
1020 --enable-tremor-low) _tremor_low
=yes ;;
1021 --disable-tremor-low) _tremor_low
=no
;;
1022 --enable-theora) _theora
=yes ;;
1023 --disable-theora) _theora
=no
;;
1024 --enable-mp3lib) _mp3lib
=yes ;;
1025 --disable-mp3lib) _mp3lib
=no
;;
1026 --enable-liba52) _liba52
=yes ;;
1027 --disable-liba52) _liba52
=no
;;
1028 --enable-libdca) _libdca
=yes ;;
1029 --disable-libdca) _libdca
=no
;;
1030 --enable-libmpeg2) _libmpeg2
=yes ;;
1031 --disable-libmpeg2) _libmpeg2
=no
;;
1032 --enable-musepack) _musepack
=yes ;;
1033 --disable-musepack) _musepack
=no
;;
1034 --enable-faad) _faad
=yes ;;
1035 --disable-faad) _faad
=no
;;
1036 --enable-faad-internal) _faad_internal
=yes ;;
1037 --disable-faad-internal) _faad_internal
=no
;;
1038 --enable-faad-fixed) _faad_fixed
=yes ;;
1039 --disable-faad-fixed) _faad_fixed
=no
;;
1040 --enable-faac) _faac
=yes ;;
1041 --disable-faac) _faac
=no
;;
1042 --enable-faac-lavc) _faac_lavc
=yes ;;
1043 --disable-faac-lavc) _faac_lavc
=no
;;
1044 --enable-ladspa) _ladspa
=yes ;;
1045 --disable-ladspa) _ladspa
=no
;;
1046 --enable-libbs2b) _libbs2b
=yes ;;
1047 --disable-libbs2b) _libbs2b
=no
;;
1048 --enable-xmms) _xmms
=yes ;;
1049 --disable-xmms) _xmms
=no
;;
1050 --enable-vcd) _vcd
=yes ;;
1051 --disable-vcd) _vcd
=no
;;
1052 --enable-dvdread) _dvdread
=yes ;;
1053 --disable-dvdread) _dvdread
=no
;;
1054 --enable-dvdread-internal) _dvdread_internal
=yes ;;
1055 --disable-dvdread-internal) _dvdread_internal
=no
;;
1056 --enable-libdvdcss-internal) _libdvdcss_internal
=yes ;;
1057 --disable-libdvdcss-internal) _libdvdcss_internal
=no
;;
1058 --enable-dvdnav) _dvdnav
=yes ;;
1059 --disable-dvdnav) _dvdnav
=no
;;
1060 --enable-xanim) _xanim
=yes ;;
1061 --disable-xanim) _xanim
=no
;;
1062 --enable-real) _real
=yes ;;
1063 --disable-real) _real
=no
;;
1064 --enable-live) _live
=yes ;;
1065 --disable-live) _live
=no
;;
1066 --enable-nemesi) _nemesi
=yes ;;
1067 --disable-nemesi) _nemesi
=no
;;
1068 --enable-xinerama) _xinerama
=yes ;;
1069 --disable-xinerama) _xinerama
=no
;;
1070 --enable-mga) _mga
=yes ;;
1071 --disable-mga) _mga
=no
;;
1072 --enable-xmga) _xmga
=yes ;;
1073 --disable-xmga) _xmga
=no
;;
1074 --enable-vm) _vm
=yes ;;
1075 --disable-vm) _vm
=no
;;
1076 --enable-xf86keysym) _xf86keysym
=yes ;;
1077 --disable-xf86keysym) _xf86keysym
=no
;;
1078 --enable-mlib) _mlib
=yes ;;
1079 --disable-mlib) _mlib
=no
;;
1080 --enable-sunaudio) _sunaudio
=yes ;;
1081 --disable-sunaudio) _sunaudio
=no
;;
1082 --enable-sgiaudio) _sgiaudio
=yes ;;
1083 --disable-sgiaudio) _sgiaudio
=no
;;
1084 --enable-alsa) _alsa
=yes ;;
1085 --disable-alsa) _alsa
=no
;;
1086 --enable-tv) _tv
=yes ;;
1087 --disable-tv) _tv
=no
;;
1088 --enable-tv-bsdbt848) _tv_bsdbt848
=yes ;;
1089 --disable-tv-bsdbt848) _tv_bsdbt848
=no
;;
1090 --enable-tv-v4l1) _tv_v4l1
=yes ;;
1091 --disable-tv-v4l1) _tv_v4l1
=no
;;
1092 --enable-tv-v4l2) _tv_v4l2
=yes ;;
1093 --disable-tv-v4l2) _tv_v4l2
=no
;;
1094 --enable-tv-dshow) _tv_dshow
=yes ;;
1095 --disable-tv-dshow) _tv_dshow
=no
;;
1096 --enable-radio) _radio
=yes ;;
1097 --enable-radio-capture) _radio_capture
=yes ;;
1098 --disable-radio-capture) _radio_capture
=no
;;
1099 --disable-radio) _radio
=no
;;
1100 --enable-radio-v4l) _radio_v4l
=yes ;;
1101 --disable-radio-v4l) _radio_v4l
=no
;;
1102 --enable-radio-v4l2) _radio_v4l2
=yes ;;
1103 --disable-radio-v4l2) _radio_v4l2
=no
;;
1104 --enable-radio-bsdbt848) _radio_bsdbt848
=yes ;;
1105 --disable-radio-bsdbt848) _radio_bsdbt848
=no
;;
1106 --enable-pvr) _pvr
=yes ;;
1107 --disable-pvr) _pvr
=no
;;
1108 --enable-fastmemcpy) _fastmemcpy
=yes ;;
1109 --disable-fastmemcpy) _fastmemcpy
=no
;;
1110 --enable-hardcoded-tables) hardcoded_tables
=yes ;;
1111 --disable-hardcoded-tables) hardcoded_tables
=no
;;
1112 --enable-network) _network
=yes ;;
1113 --disable-network) _network
=no
;;
1114 --enable-winsock2_h) _winsock2_h
=yes ;;
1115 --disable-winsock2_h) _winsock2_h
=no
;;
1116 --enable-smb) _smb
=yes ;;
1117 --disable-smb) _smb
=no
;;
1118 --enable-vidix) _vidix
=yes ;;
1119 --disable-vidix) _vidix
=no
;;
1120 --with-vidix-drivers=*)
1121 _vidix_drivers
=$
(echo $ac_option | cut
-d '=' -f 2)
1123 --disable-vidix-pcidb) _vidix_pcidb
=no
;;
1124 --enable-dhahelper) _dhahelper
=yes ;;
1125 --disable-dhahelper) _dhahelper
=no
;;
1126 --enable-svgalib_helper) _svgalib_helper
=yes ;;
1127 --disable-svgalib_helper) _svgalib_helper
=no
;;
1128 --enable-joystick) _joystick
=yes ;;
1129 --disable-joystick) _joystick
=no
;;
1130 --enable-xvid) _xvid
=yes ;;
1131 --disable-xvid) _xvid
=no
;;
1132 --enable-xvid-lavc) _xvid_lavc
=yes ;;
1133 --disable-xvid-lavc) _xvid_lavc
=no
;;
1134 --enable-x264) _x264
=yes ;;
1135 --disable-x264) _x264
=no
;;
1136 --enable-x264-lavc) _x264_lavc
=yes ;;
1137 --disable-x264-lavc) _x264_lavc
=no
;;
1138 --enable-libdirac-lavc) _libdirac_lavc
=yes ;;
1139 --disable-libdirac-lavc) _libdirac_lavc
=no
;;
1140 --enable-libschroedinger-lavc) _libschroedinger_lavc
=yes ;;
1141 --disable-libschroedinger-lavc) _libschroedinger_lavc
=no
;;
1142 --enable-libvpx-lavc) _libvpx_lavc
=yes ;;
1143 --disable-libvpx-lavc) _libvpx_lavc
=no
;;
1144 --enable-libnut) _libnut
=yes ;;
1145 --disable-libnut) _libnut
=no
;;
1146 --enable-libavutil_a) _libavutil_a
=yes ;;
1147 --disable-libavutil_a) _libavutil_a
=no
;;
1148 --enable-libavutil_so) _libavutil_so
=yes ;;
1149 --disable-libavutil_so) _libavutil_so
=no
;;
1150 --enable-libavcodec_a) _libavcodec_a
=yes ;;
1151 --disable-libavcodec_a) _libavcodec_a
=no
;;
1152 --enable-libavcodec_so) _libavcodec_so
=yes ;;
1153 --disable-libavcodec_so) _libavcodec_so
=no
;;
1154 --enable-libopencore_amrnb) _libopencore_amrnb
=yes ;;
1155 --disable-libopencore_amrnb) _libopencore_amrnb
=no
;;
1156 --enable-libopencore_amrwb) _libopencore_amrwb
=yes ;;
1157 --disable-libopencore_amrwb) _libopencore_amrwb
=no
;;
1158 --enable-decoder=*) _libavdecoders
="$_libavdecoders $(echo $ac_option | cut -d '=' -f 2 | tr '[a-z]' '[A-Z]')" ;;
1159 --disable-decoder=*) _libavdecoders
=$
(echo $_libavdecoders |
sed "s/$(echo $ac_option | cut -d '=' -f 2 | tr '[a-z]' '[A-Z]')//g") ;;
1160 --enable-encoder=*) _libavencoders
="$_libavencoders $(echo $ac_option | cut -d '=' -f 2 | tr '[a-z]' '[A-Z]')" ;;
1161 --disable-encoder=*) _libavencoders
=$
(echo $_libavencoders |
sed "s/$(echo $ac_option | cut -d '=' -f 2 | tr '[a-z]' '[A-Z]')//g") ;;
1162 --enable-parser=*) _libavparsers
="$_libavparsers $(echo $ac_option | cut -d '=' -f 2 | tr '[a-z]' '[A-Z]')" ;;
1163 --disable-parser=*) _libavparsers
=$
(echo $_libavparsers |
sed "s/$(echo $ac_option | cut -d '=' -f 2 | tr '[a-z]' '[A-Z]')//g") ;;
1164 --enable-protocol=*) _libavprotocols
="$_libavprotocols $(echo $ac_option | cut -d '=' -f 2 | tr '[a-z]' '[A-Z]')" ;;
1165 --disable-protocol=*) _libavprotocols
=$
(echo $_libavprotocols |
sed "s/$(echo $ac_option | cut -d '=' -f 2 | tr '[a-z]' '[A-Z]')//g") ;;
1166 --enable-demuxer=*) _libavdemuxers
="$_libavdemuxers $(echo $ac_option | cut -d '=' -f 2 | tr '[a-z]' '[A-Z]')" ;;
1167 --disable-demuxer=*) _libavdemuxers
=$
(echo $_libavdemuxers |
sed "s/$(echo $ac_option | cut -d '=' -f 2 | tr '[a-z]' '[A-Z]')//g") ;;
1168 --enable-muxer=*) _libavmuxers
="$_libavmuxers $(echo $ac_option | cut -d '=' -f 2 | tr '[a-z]' '[A-Z]')" ;;
1169 --disable-muxer=*) _libavmuxers
=$
(echo $_libavmuxers |
sed "s/$(echo $ac_option | cut -d '=' -f 2 | tr '[a-z]' '[A-Z]')//g") ;;
1170 --enable-libavformat_a) _libavformat_a
=yes ;;
1171 --disable-libavformat_a) _libavformat_a
=no
;;
1172 --enable-libavformat_so) _libavformat_so
=yes ;;
1173 --disable-libavformat_so) _libavformat_so
=no
;;
1174 --enable-libpostproc_a) _libpostproc_a
=yes ;;
1175 --disable-libpostproc_a) _libpostproc_a
=no
;;
1176 --enable-libpostproc_so) _libpostproc_so
=yes ;;
1177 --disable-libpostproc_so) _libpostproc_so
=no
;;
1178 --enable-libswscale_a) _libswscale_a
=yes ;;
1179 --disable-libswscale_a) _libswscale_a
=no
;;
1180 --enable-libswscale_so) _libswscale_so
=yes ;;
1181 --disable-libswscale_so) _libswscale_so
=no
;;
1182 --enable-libavcodec_mpegaudio_hp) _libavcodec_mpegaudio_hp
=yes ;;
1183 --disable-libavcodec_mpegaudio_hp) _libavcodec_mpegaudio_hp
=no
;;
1185 --enable-lirc) _lirc
=yes ;;
1186 --disable-lirc) _lirc
=no
;;
1187 --enable-lircc) _lircc
=yes ;;
1188 --disable-lircc) _lircc
=no
;;
1189 --enable-apple-remote) _apple_remote
=yes ;;
1190 --disable-apple-remote) _apple_remote
=no
;;
1191 --enable-apple-ir) _apple_ir
=yes ;;
1192 --disable-apple-ir) _apple_ir
=no
;;
1193 --enable-gui) _gui
=yes ;;
1194 --disable-gui) _gui
=no
;;
1195 --enable-gtk1) _gtk1
=yes ;;
1196 --disable-gtk1) _gtk1
=no
;;
1197 --enable-termcap) _termcap
=yes ;;
1198 --disable-termcap) _termcap
=no
;;
1199 --enable-termios) _termios
=yes ;;
1200 --disable-termios) _termios
=no
;;
1201 --enable-3dfx) _3dfx
=yes ;;
1202 --disable-3dfx) _3dfx
=no
;;
1203 --enable-s3fb) _s3fb
=yes ;;
1204 --disable-s3fb) _s3fb
=no
;;
1205 --enable-wii) _wii
=yes ;;
1206 --disable-wii) _wii
=no
;;
1207 --enable-tdfxfb) _tdfxfb
=yes ;;
1208 --disable-tdfxfb) _tdfxfb
=no
;;
1209 --disable-tdfxvid) _tdfxvid
=no
;;
1210 --enable-tdfxvid) _tdfxvid
=yes ;;
1211 --disable-xvr100) _xvr100
=no
;;
1212 --enable-xvr100) _xvr100
=yes ;;
1213 --disable-tga) _tga
=no
;;
1214 --enable-tga) _tga
=yes ;;
1215 --enable-directfb) _directfb
=yes ;;
1216 --disable-directfb) _directfb
=no
;;
1217 --enable-zr) _zr
=yes ;;
1218 --disable-zr) _zr
=no
;;
1219 --enable-bl) _bl
=yes ;;
1220 --disable-bl) _bl
=no
;;
1221 --enable-mtrr) _mtrr
=yes ;;
1222 --disable-mtrr) _mtrr
=no
;;
1223 --enable-largefiles) _largefiles
=yes ;;
1224 --disable-largefiles) _largefiles
=no
;;
1225 --enable-shm) _shm
=yes ;;
1226 --disable-shm) _shm
=no
;;
1227 --enable-select) _select
=yes ;;
1228 --disable-select) _select
=no
;;
1229 --enable-linux-devfs) _linux_devfs
=yes ;;
1230 --disable-linux-devfs) _linux_devfs
=no
;;
1231 --enable-cdparanoia) _cdparanoia
=yes ;;
1232 --disable-cdparanoia) _cdparanoia
=no
;;
1233 --enable-cddb) _cddb
=yes ;;
1234 --disable-cddb) _cddb
=no
;;
1235 --enable-big-endian) _big_endian
=yes ;;
1236 --disable-big-endian) _big_endian
=no
;;
1237 --enable-bitmap-font) _bitmap_font
=yes ;;
1238 --disable-bitmap-font) _bitmap_font
=no
;;
1239 --enable-freetype) _freetype
=yes ;;
1240 --disable-freetype) _freetype
=no
;;
1241 --enable-fontconfig) _fontconfig
=yes ;;
1242 --disable-fontconfig) _fontconfig
=no
;;
1243 --enable-unrarexec) _unrar_exec
=yes ;;
1244 --disable-unrarexec) _unrar_exec
=no
;;
1245 --enable-ftp) _ftp
=yes ;;
1246 --disable-ftp) _ftp
=no
;;
1247 --enable-vstream) _vstream
=yes ;;
1248 --disable-vstream) _vstream
=no
;;
1249 --enable-pthreads) _pthreads
=yes ;;
1250 --disable-pthreads) _pthreads
=no
;;
1251 --enable-w32threads) _w32threads
=yes ;;
1252 --disable-w32threads) _w32threads
=no
;;
1253 --enable-ass) _ass
=yes ;;
1254 --disable-ass) _ass
=no
;;
1255 --enable-ass-internal) ass_internal
=yes ;;
1256 --disable-ass-internal) ass_internal
=no
;;
1257 --enable-rpath) _rpath
=yes ;;
1258 --disable-rpath) _rpath
=no
;;
1260 --enable-fribidi) _fribidi
=yes ;;
1261 --disable-fribidi) _fribidi
=no
;;
1263 --enable-enca) _enca
=yes ;;
1264 --disable-enca) _enca
=no
;;
1266 --enable-inet6) _inet6
=yes ;;
1267 --disable-inet6) _inet6
=no
;;
1269 --enable-gethostbyname2) _gethostbyname2
=yes ;;
1270 --disable-gethostbyname2) _gethostbyname2
=no
;;
1272 --enable-dga1) _dga1
=yes ;;
1273 --disable-dga1) _dga1
=no
;;
1274 --enable-dga2) _dga2
=yes ;;
1275 --disable-dga2) _dga2
=no
;;
1277 --enable-menu) _menu
=yes ;;
1278 --disable-menu) _menu
=no
;;
1280 --enable-qtx) _qtx
=yes ;;
1281 --disable-qtx) _qtx
=no
;;
1283 --enable-coreaudio) _coreaudio
=yes ;;
1284 --disable-coreaudio) _coreaudio
=no
;;
1285 --enable-corevideo) _corevideo
=yes ;;
1286 --disable-corevideo) _corevideo
=no
;;
1287 --enable-quartz) _quartz
=yes ;;
1288 --disable-quartz) _quartz
=no
;;
1289 --enable-macosx-finder) _macosx_finder
=yes ;;
1290 --disable-macosx-finder) _macosx_finder
=no
;;
1291 --enable-macosx-bundle) _macosx_bundle
=yes ;;
1292 --disable-macosx-bundle) _macosx_bundle
=no
;;
1294 --enable-maemo) _maemo
=yes ;;
1295 --disable-maemo) _maemo
=no
;;
1297 --enable-sortsub) _sortsub
=yes ;;
1298 --disable-sortsub) _sortsub
=no
;;
1300 --enable-crash-debug) _crash_debug
=yes ;;
1301 --disable-crash-debug) _crash_debug
=no
;;
1302 --enable-sighandler) _sighandler
=yes ;;
1303 --disable-sighandler) _sighandler
=no
;;
1304 --enable-win32dll) _win32dll
=yes ;;
1305 --disable-win32dll) _win32dll
=no
;;
1307 --enable-sse) _sse
=yes ;;
1308 --disable-sse) _sse
=no
;;
1309 --enable-sse2) _sse2
=yes ;;
1310 --disable-sse2) _sse2
=no
;;
1311 --enable-ssse3) _ssse3
=yes ;;
1312 --disable-ssse3) _ssse3
=no
;;
1313 --enable-mmxext) _mmxext
=yes ;;
1314 --disable-mmxext) _mmxext
=no
;;
1315 --enable-3dnow) _3dnow
=yes ;;
1316 --disable-3dnow) _3dnow
=no _3dnowext
=no
;;
1317 --enable-3dnowext) _3dnow
=yes _3dnowext
=yes ;;
1318 --disable-3dnowext) _3dnowext
=no
;;
1319 --enable-cmov) _cmov
=yes ;;
1320 --disable-cmov) _cmov
=no
;;
1321 --enable-fast-cmov) _fast_cmov
=yes ;;
1322 --disable-fast-cmov) _fast_cmov
=no
;;
1323 --enable-fast-clz) _fast_clz
=yes ;;
1324 --disable-fast-clz) _fast_clz
=no
;;
1325 --enable-altivec) _altivec
=yes ;;
1326 --disable-altivec) _altivec
=no
;;
1327 --enable-armv5te) _armv5te
=yes ;;
1328 --disable-armv5te) _armv5te
=no
;;
1329 --enable-armv6) _armv6
=yes ;;
1330 --disable-armv6) _armv6
=no
;;
1331 --enable-armv6t2) _armv6t2
=yes ;;
1332 --disable-armv6t2) _armv6t2
=no
;;
1333 --enable-armvfp) _armvfp
=yes ;;
1334 --disable-armvfp) _armvfp
=no
;;
1335 --enable-neon) neon
=yes ;;
1336 --disable-neon) neon
=no
;;
1337 --enable-iwmmxt) _iwmmxt
=yes ;;
1338 --disable-iwmmxt) _iwmmxt
=no
;;
1339 --enable-mmx) _mmx
=yes ;;
1340 --disable-mmx) # 3Dnow! and MMX2 require MMX
1341 _3dnow
=no _3dnowext
=no _mmx
=no _mmxext
=no
;;
1344 echo "Unknown parameter: $ac_option"
1351 # Atmos: moved this here, to be correct, if --prefix is specified
1352 test -z "$_bindir" && _bindir
="$_prefix/bin"
1353 test -z "$_datadir" && _datadir
="$_prefix/share/mplayer"
1354 test -z "$_mandir" && _mandir
="$_prefix/share/man"
1355 test -z "$_confdir" && _confdir
="$_prefix/etc/mplayer"
1356 test -z "$_libdir" && _libdir
="$_prefix/lib"
1358 # Determine our OS name and CPU architecture
1359 if test -z "$_target" ; then
1361 system_name
=$
(uname
-s 2>&1)
1362 case "$system_name" in
1363 Linux|FreeBSD|NetBSD|OpenBSD|DragonFly|BSD
/OS|Darwin|SunOS|QNX|GNU|BeOS|MorphOS|AIX|AmigaOS
)
1377 [cC
][yY
][gG
][wW
][iI
][nN
]*)
1387 system_name
="$system_name-UNKNOWN"
1392 # host's CPU/instruction set
1393 host_arch
=$
(uname
-p 2>&1)
1394 case "$host_arch" in
1395 i386|sparc|ppc|alpha|arm|mips|vax
)
1397 powerpc
) # Darwin returns 'powerpc'
1400 *) # uname -p on Linux returns 'unknown' for the processor type,
1401 # OpenBSD returns 'Intel Pentium/MMX ("Genuine Intel" 586-class)'
1403 # Maybe uname -m (machine hardware name) returns something we
1406 # x86/x86pc is used by QNX
1407 case "$(uname -m 2>&1)" in
1408 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
;;
1409 ia64
) host_arch
=ia64
;;
1410 macppc|ppc
) host_arch
=ppc
;;
1411 ppc64
) host_arch
=ppc64
;;
1412 alpha
) host_arch
=alpha
;;
1413 sparc
) host_arch
=sparc
;;
1414 sparc64
) host_arch
=sparc64
;;
1415 parisc
*|hppa
*|
9000*) host_arch
=hppa
;;
1416 arm
*|zaurus|cats
) host_arch
=arm
;;
1417 sh3|sh4|sh4a
) host_arch
=sh
;;
1418 s390
) host_arch
=s390
;;
1419 s390x
) host_arch
=s390x
;;
1420 *mips
*) host_arch
=mips
;;
1421 vax
) host_arch
=vax
;;
1422 xtensa
*) host_arch
=xtensa
;;
1423 *) host_arch
=UNKNOWN
;;
1427 else # if test -z "$_target"
1428 system_name
=$
(echo $_target | cut
-d '-' -f 2)
1429 case "$(echo $system_name | tr A-Z a-z)" in
1430 linux
) system_name
=Linux
;;
1431 freebsd
) system_name
=FreeBSD
;;
1432 gnu
/kfreebsd
) system_name
=FreeBSD
;;
1433 netbsd
) system_name
=NetBSD
;;
1434 bsd
/os
) system_name
=BSD
/OS
;;
1435 openbsd
) system_name
=OpenBSD
;;
1436 dragonfly
) system_name
=DragonFly
;;
1437 sunos
) system_name
=SunOS
;;
1438 qnx
) system_name
=QNX
;;
1439 morphos
) system_name
=MorphOS
;;
1440 amigaos
) system_name
=AmigaOS
;;
1441 mingw32
*) system_name
=MINGW32
;;
1443 # We need to convert underscores so that values like k6-2 and pentium-mmx can be passed
1444 host_arch
=$
(echo $_target | cut
-d '-' -f 1)
1445 if test $
(echo $host_arch) != "x86_64" ; then
1446 host_arch
=$
(echo $host_arch |
tr '_' '-')
1450 extra_cflags
="-I. $extra_cflags"
1451 _timer
=timer-linux.c
1454 extra_ldflags
="$extra_ldflags -L/usr/local/lib"
1455 extra_cflags
="$extra_cflags -I/usr/local/include"
1458 if netbsd || dragonfly
; then
1459 extra_ldflags
="$extra_ldflags -L/usr/pkg/lib"
1460 extra_cflags
="$extra_cflags -I/usr/pkg/include"
1464 extra_cflags
="-mdynamic-no-pic -falign-loops=16 -shared-libgcc $extra_cflags"
1465 _timer
=timer-darwin.c
1469 extra_ldflags
="$extra_ldflags -lC"
1480 extra_cflags
="$extra_cflags -fno-common"
1481 # -lwinmm is always needed for osdep/timer-win2.c
1482 extra_ldflags
="$extra_ldflags -lwinmm"
1486 def_dos_paths
="#define HAVE_DOS_PATHS 1"
1487 def_priority
="#define CONFIG_PRIORITY 1"
1499 def_stream_cache
="#undef CONFIG_STREAM_CACHE"
1500 extra_cflags
="-DNEWLIB -D__USE_INLINE__ $extra_cflags"
1504 extra_ldflags
="$extra_ldflags -lph"
1512 def_dos_paths
="#define HAVE_DOS_PATHS 1"
1513 def_priority
="#define CONFIG_PRIORITY 1"
1516 for I
in "$TMPDIR" "$TEMPDIR" "/tmp" ; do
1521 TMPLOG
="configure.log"
1522 TMPC
="$I/mplayer-conf-$RANDOM-$$.c"
1523 TMPCPP
="$I/mplayer-conf-$RANDOM-$$.cpp"
1524 TMPEXE
="$I/mplayer-conf-$RANDOM-$$$_exesuf"
1525 TMPH
="$I/mplayer-conf-$RANDOM-$$.h"
1526 TMPS
="$I/mplayer-conf-$RANDOM-$$.S"
1529 echo configuration
: $_configuration > "$TMPLOG"
1533 if test "$_runtime_cpudetection" = yes && ! x86
&& ! ppc
; then
1534 die
"Runtime CPU detection only works for x86, x86-64 and PPC!"
1538 # Checking CC version...
1539 # Intel C++ Compilers (no autoselect, use CC=/some/binary ./configure)
1540 if test "$(basename $_cc)" = "icc" ||
test "$(basename $_cc)" = "ecc"; then
1541 echocheck
"$_cc version"
1543 cc_name
=$
($_cc -V 2>&1 |
head -n 1 | cut
-d ',' -f 1)
1544 cc_version
=$
($_cc -V 2>&1 |
head -n 1 | cut
-d ',' -f 2 | cut
-d ' ' -f 3)
1545 _cc_major
=$
(echo $cc_version | cut
-d '.' -f 1)
1546 _cc_minor
=$
(echo $cc_version | cut
-d '.' -f 2)
1547 # TODO verify older icc/ecc compatibility
1550 cc_version
="v. ?.??, bad"
1554 cc_version
="$cc_version, ok"
1557 cc_version
="$cc_version, bad"
1561 echores
"$cc_version"
1563 for _cc
in "$_cc" gcc cc
; do
1564 cc_name_tmp
=$
($_cc -v 2>&1 |
tail -n 1 | cut
-d ' ' -f 1)
1565 if test "$cc_name_tmp" = "gcc"; then
1566 cc_name
=$cc_name_tmp
1567 echocheck
"$_cc version"
1569 cc_version
=$
($_cc -dumpversion 2>&1)
1575 _cc_major
=$
(echo $cc_version | cut
-d '.' -f 1)
1576 _cc_minor
=$
(echo $cc_version | cut
-d '.' -f 2)
1577 _cc_mini
=$
(echo $cc_version | cut
-d '.' -f 3)
1580 echores
"$cc_version"
1583 cc_name_tmp
=$
($_cc -V 2>&1 |
head -n 1 | cut
-d ' ' -f 2,3)
1584 if test "$cc_name_tmp" = "Sun C"; then
1585 echocheck
"$_cc version"
1587 cc_version
=$
($_cc -V 2>&1 |
head -n 1 | cut
-d ' ' -f 4)
1588 res_comment
="experimental support only"
1589 echores
"Sun C $cc_version"
1594 test "$cc_fail" = yes && die
"unsupported compiler version"
1596 if test -z "$_target" && x86
; then
1599 int test[(int)sizeof(char *)-7];
1603 cc_check
&& host_arch
=x86_64 || host_arch
=i386
1606 echo "Detected operating system: $system_name"
1607 echo "Detected host architecture: $host_arch"
1610 test "$_host_cc" || _host_cc
=$_cc
1613 echocheck
"cross compilation"
1614 if test $_cross_compile = auto
; then
1616 int main(void) { return 0; }
1619 cc_check
&& "$TMPEXE" && _cross_compile
=no
1621 echores
$_cross_compile
1623 if test $_cross_compile = yes; then
1631 # now that we know what compiler should be used for compilation, try to find
1632 # out which assembler is used by the $_cc compiler
1633 if test "$_as" = auto
; then
1634 _as
=$
($_cc -print-prog-name=as
)
1635 test -z "$_as" && _as
=as
1638 if test "$_nm" = auto
; then
1639 _nm
=$
($_cc -print-prog-name=nm
)
1640 test -z "$_nm" && _nm
=nm
1643 # XXX: this should be ok..
1646 if test "$_runtime_cpudetection" = no
; then
1648 # Cygwin has /proc/cpuinfo, but only supports Intel CPUs
1649 # FIXME: Remove the cygwin check once AMD CPUs are supported
1650 if test -r /proc
/cpuinfo
&& ! cygwin
; then
1651 # Linux with /proc mounted, extract CPU information from it
1652 _cpuinfo
="cat /proc/cpuinfo"
1653 elif test -r /compat
/linux
/proc
/cpuinfo
&& ! x86
; then
1654 # FreeBSD with Linux emulation /proc mounted,
1655 # extract CPU information from it
1656 # Don't use it on x86 though, it never reports 3Dnow
1657 _cpuinfo
="cat /compat/linux/proc/cpuinfo"
1658 elif darwin
&& ! x86
; then
1659 # use hostinfo on Darwin
1662 # use 'lsattr' on AIX
1663 _cpuinfo
="lsattr -E -l proc0 -a type"
1665 # all other OSes try to extract CPU information from a small helper
1666 # program cpuinfo instead
1667 $_cc -o cpuinfo
$_exesuf cpuinfo.c
1668 _cpuinfo
="./cpuinfo$_exesuf"
1671 if [ "$cc_vendor" = "gnu" ] && [ "$_cc_major" = 2 ] ; then
1672 test $_sse = auto
&& _sse
=no
1673 test $_win32dll = auto
&& _win32dll
=no
1678 # gather more CPU information
1679 pname
=$
($_cpuinfo |
grep 'model name' | cut
-d ':' -f 2 |
head -n 1)
1680 pvendor
=$
($_cpuinfo |
grep 'vendor_id' | cut
-d ':' -f 2 | cut
-d ' ' -f 2 |
head -n 1)
1681 pfamily
=$
($_cpuinfo |
grep 'cpu family' | cut
-d ':' -f 2 | cut
-d ' ' -f 2 |
head -n 1)
1682 pmodel
=$
($_cpuinfo |
grep -v 'model name' |
grep 'model' | cut
-d ':' -f 2 | cut
-d ' ' -f 2 |
head -n 1)
1683 pstepping
=$
($_cpuinfo |
grep 'stepping' | cut
-d ':' -f 2 | cut
-d ' ' -f 2 |
head -n 1)
1685 exts
=$
($_cpuinfo |
egrep 'features|flags' | cut
-d ':' -f 2 |
head -n 1)
1687 pparam
=$
(echo $exts |
sed -e s
/k6_mtrr
/mtrr
/ -e s
/cyrix_arr
/mtrr
/ -e s
/centaur_mcr
/mtrr
/ \
1688 -e s
/xmm
/sse
/ -e s
/kni
/sse
/)
1690 for ext
in $pparam ; do
1691 eval test \"\
$_$ext\" = auto
2>/dev
/null
&& eval _
$ext=kernel_check
1694 # SSE implies MMX2, but not all SSE processors report the mmxext CPU flag.
1695 test $_sse = kernel_check
&& _mmxext
=kernel_check
1697 echocheck
"CPU vendor"
1698 echores
"$pvendor ($pfamily:$pmodel:$pstepping)"
1700 echocheck
"CPU type"
1704 fi # test "$_runtime_cpudetection" = no
1706 if x86
&& test "$_runtime_cpudetection" = no
; then
1708 if test "$1" = kernel_check
; then
1709 echocheck
"kernel support of $2"
1713 void catch() { exit(1); }
1715 signal(SIGILL, catch);
1716 __asm__ volatile ("$3":::"memory"); return 0;
1720 if cc_check
&& tmp_run
; then
1723 _optimizing
="$_optimizing $2"
1728 echo "It seems that your kernel does not correctly support $2."
1729 echo "To use $2 extensions in MPlayer, you have to upgrade/recompile your kernel!"
1736 extcheck
$_mmx "mmx" "emms"
1737 extcheck
$_mmxext "mmxext" "sfence"
1738 extcheck
$_3dnow "3dnow" "femms"
1739 extcheck
$_3dnowext "3dnowext" "pswapd %%mm0, %%mm0"
1740 extcheck
$_sse "sse" "xorps %%xmm0, %%xmm0" || _gcc3_ext
="$_gcc3_ext -mno-sse"
1741 extcheck
$_sse2 "sse2" "xorpd %%xmm0, %%xmm0" || _gcc3_ext
="$_gcc3_ext -mno-sse2"
1742 extcheck
$_ssse3 "ssse3" "pabsd %%xmm0, %%xmm0"
1743 extcheck
$_cmov "cmov" "cmovb %%eax,%%ebx"
1745 echocheck
"mtrr support"
1746 if test "$_mtrr" = kernel_check
; then
1748 _optimizing
="$_optimizing mtrr"
1752 if test "$_gcc3_ext" != ""; then
1753 # if we had to disable sse/sse2 because the active kernel does not
1754 # support this instruction set extension, we also have to tell
1755 # gcc3 to not generate sse/sse2 instructions for normal C code
1757 int main(void) { return 0; }
1759 cc_check
$_march $_gcc3_ext && _march
="$_march $_gcc3_ext"
1765 def_fast_64bit
='#define HAVE_FAST_64BIT 0'
1766 def_fast_unaligned
='#define HAVE_FAST_UNALIGNED 0'
1767 def_local_aligned_8
='#define HAVE_LOCAL_ALIGNED_8 0'
1768 def_local_aligned_16
='#define HAVE_LOCAL_ALIGNED_16 0'
1769 arch_all
='X86 IA64 SPARC ARM AVR32 SH4 PPC ALPHA MIPS PA_RISC S390 S390X VAX BFIN XTENSA TOMI GENERIC'
1770 subarch_all
='X86_32 X86_64 PPC64'
1771 case "$host_arch" in
1772 i
[3-9]86|x86|x86pc|k5|k6|k6-2|k6-3|pentium
*|athlon
*|i586-i686
)
1775 def_fast_unaligned
='#define HAVE_FAST_UNALIGNED 1'
1776 def_local_aligned_8
='#define HAVE_LOCAL_ALIGNED_8 1'
1777 def_local_aligned_16
='#define HAVE_LOCAL_ALIGNED_16 1'
1782 if test "$_runtime_cpudetection" = no
; then
1786 3) proc
=i386 iproc
=386 ;;
1787 4) proc
=i486 iproc
=486 ;;
1788 5) iproc
=586 # LGB: models are: K5/SSA5 K5 K5 K5 ? ? K6 K6 K6-2 K6-3
1789 # K6 model 13 are the K6-2+ and K6-III+, only differing in cache size.
1790 if test "$pmodel" -eq 9 -o "$pmodel" -eq 13; then
1792 elif test "$pmodel" -eq 5 -o "$pmodel" -eq 10; then
1794 elif test "$pmodel" -ge 8; then
1796 elif test "$pmodel" -ge 6; then
1803 # It's a bit difficult to determine the correct type of Family 6
1804 # AMD CPUs just from their signature. Instead, we check directly
1805 # whether it supports SSE.
1806 if test "$_sse" = yes; then
1807 # gcc treats athlon-xp, athlon-4 and athlon-mp similarly.
1810 # Again, gcc treats athlon and athlon-tbird similarly.
1815 # k8 cpu-type only supported in gcc >= 3.4.0, but that will be
1816 # caught and remedied in the optimization tests below.
1820 *) proc
=amdfam10 iproc
=686
1821 test $_fast_clz = "auto" && _fast_clz
=yes
1827 3) proc
=i386 iproc
=386 ;;
1828 4) proc
=i486 iproc
=486 ;;
1830 if test "$pmodel" -eq 4 ||
test "$pmodel" -eq 8; then
1831 proc
=pentium-mmx
# 4 is desktop, 8 is mobile
1837 if test "$pmodel" -ge 15; then
1839 elif test "$pmodel" -eq 9 -o "$pmodel" -ge 13; then
1841 elif test "$pmodel" -ge 7; then
1843 elif test "$pmodel" -ge 3; then
1848 test $_fast_clz = "auto" && _fast_clz
=yes
1851 # A nocona in 32-bit mode has no more capabilities than a prescott.
1852 if test "$pmodel" -ge 3; then
1856 test $_fast_clz = "auto" && _fast_clz
=yes
1858 test $_fast_cmov = "auto" && _fast_cmov
=no
1860 *) proc
=prescott iproc
=686 ;;
1866 if test "$pmodel" -ge 8; then
1868 elif test "$pmodel" -ge 4; then
1875 if test "$pmodel" -ge 9; then
1882 *) proc
=i686 iproc
=i686
;;
1887 3) proc
=i386 iproc
=386 ;;
1888 4) proc
=i486 iproc
=486 ;;
1889 *) proc
=i586 iproc
=586 ;;
1893 proc
=i586 iproc
=586 ;;
1895 test $_fast_clz = "auto" && _fast_clz
=no
1896 fi # test "$_runtime_cpudetection" = no
1899 # check that gcc supports our CPU, if not, fall back to earlier ones
1900 # LGB: check -mcpu and -march swithing step by step with enabling
1901 # to fall back till 386.
1903 # gcc >= 3.4.0 doesn't support -mcpu, we have to use -mtune instead
1905 if [ "$cc_vendor" = "gnu" ] && ([ "$_cc_major" -gt 3 ] ||
( [ "$_cc_major" = 3 ] && [ "$_cc_minor" -ge 4 ])) ; then
1911 echocheck
"GCC & CPU optimization abilities"
1913 int main(void) { return 0; }
1915 if test "$_runtime_cpudetection" = no
; then
1916 if test $cc_vendor != "intel" ; then
1917 cc_check
-march=native
&& proc
=native
1919 if test "$proc" = "amdfam10"; then
1920 cc_check
-march=$proc $cpuopt=$proc || proc
=k8
1922 if test "$proc" = "k8"; then
1923 cc_check
-march=$proc $cpuopt=$proc || proc
=athlon-xp
1925 if test "$proc" = "athlon-xp"; then
1926 cc_check
-march=$proc $cpuopt=$proc || proc
=athlon
1928 if test "$proc" = "k6-3" ||
test "$proc" = "k6-2"; then
1929 cc_check
-march=$proc $cpuopt=$proc || proc
=k6
1931 if test "$proc" = "k6" ||
test "$proc" = "c3"; then
1932 if ! cc_check
-march=$proc $cpuopt=$proc; then
1933 if cc_check
-march=i586
$cpuopt=i686
; then
1940 if test "$proc" = "prescott" ; then
1941 cc_check
-march=$proc $cpuopt=$proc || proc
=pentium4
1943 if test "$proc" = "core2" ; then
1944 cc_check
-march=$proc $cpuopt=$proc || proc
=pentium-m
1946 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
1947 cc_check
-march=$proc $cpuopt=$proc || proc
=i686
1949 if test "$proc" = "i686" ||
test "$proc" = "pentium-mmx" ||
test "$proc" = "winchip-c6" ||
test "$proc" = "winchip2"; then
1950 cc_check
-march=$proc $cpuopt=$proc || proc
=i586
1952 if test "$proc" = "i586"; then
1953 cc_check
-march=$proc $cpuopt=$proc || proc
=i486
1955 if test "$proc" = "i486" ; then
1956 cc_check
-march=$proc $cpuopt=$proc || proc
=i386
1958 if test "$proc" = "i386" ; then
1959 cc_check
-march=$proc $cpuopt=$proc || proc
=error
1961 if test "$proc" = "error" ; then
1962 echores
"CPU optimization disabled. CPU not recognized or your compiler is too old."
1966 elif test "$proc" = "i586-i686"; then
1967 _march
="-march=i586"
1968 _mcpu
="$cpuopt=i686"
1971 _march
="-march=$proc"
1972 _mcpu
="$cpuopt=$proc"
1975 else # if test "$_runtime_cpudetection" = no
1976 _mcpu
="$cpuopt=generic"
1977 # at least i486 required, for bswap instruction
1978 _march
="-march=i486"
1979 cc_check
$_mcpu || _mcpu
="$cpuopt=i686"
1980 cc_check
$_mcpu || _mcpu
=""
1981 cc_check
$_march $_mcpu || _march
=""
1984 ## Gabucino : --target takes effect here (hopefully...) by overwriting
1985 ## autodetected mcpu/march parameters
1986 if test "$_target" ; then
1987 # TODO: it may be a good idea to check GCC and fall back in all cases
1988 if test "$host_arch" = "i586-i686"; then
1989 _march
="-march=i586"
1990 _mcpu
="$cpuopt=i686"
1992 _march
="-march=$host_arch"
1993 _mcpu
="$cpuopt=$host_arch"
2001 i586|k5|k6|k6-2|k6-3|pentium|pentium-mmx
) iproc
=586 ;;
2002 i686|athlon
*|pentium
*) iproc
=686 ;;
2007 if test $_cmov = "yes" && test $_fast_cmov = "auto" ; then
2012 test $_fast_clz = "auto" && _fast_clz
=yes
2019 def_fast_64bit
='#define HAVE_FAST_64BIT 1'
2026 def_fast_unaligned
='#define HAVE_FAST_UNALIGNED 1'
2027 def_fast_64bit
='#define HAVE_FAST_64BIT 1'
2030 # gcc >= 3.4.0 doesn't support -mcpu, we have to use -mtune instead
2031 if test "$cc_vendor" = "gnu" && test "$_cc_major" -gt 3 -o "$_cc_major" -eq 3 -a "$_cc_minor" -ge 4 ; then
2036 if test "$_runtime_cpudetection" = no
; then
2041 test $_fast_clz = "auto" && _fast_clz
=no
2050 # 64-bit prescotts exist, but as far as GCC is concerned they
2051 # have the same capabilities as a nocona.
2053 test $_fast_cmov = "auto" && _fast_cmov
=no
2054 test $_fast_clz = "auto" && _fast_clz
=no
2061 fi # test "$_runtime_cpudetection" = no
2063 echocheck
"GCC & CPU optimization abilities"
2065 int main(void) { return 0; }
2067 # This is a stripped-down version of the i386 fallback.
2068 if test "$_runtime_cpudetection" = no
; then
2069 if test $cc_vendor != "intel" ; then
2070 cc_check
-march=native
&& proc
=native
2072 # --- AMD processors ---
2073 if test "$proc" = "k8"; then
2074 cc_check
-march=$proc $cpuopt=$proc || proc
=athlon-xp
2076 # This will fail if gcc version < 3.3, which is ok because earlier
2077 # versions don't really support 64-bit on amd64.
2078 # Is this a valid assumption? -Corey
2079 if test "$proc" = "athlon-xp"; then
2080 cc_check
-march=$proc $cpuopt=$proc || proc
=error
2082 # --- Intel processors ---
2083 if test "$proc" = "core2"; then
2084 cc_check
-march=$proc $cpuopt=$proc || proc
=x86-64
2086 if test "$proc" = "x86-64"; then
2087 cc_check
-march=$proc $cpuopt=$proc || proc
=nocona
2089 if test "$proc" = "nocona"; then
2090 cc_check
-march=$proc $cpuopt=$proc || proc
=pentium4
2092 if test "$proc" = "pentium4"; then
2093 cc_check
-march=$proc $cpuopt=$proc || proc
=error
2096 _march
="-march=$proc"
2097 _mcpu
="$cpuopt=$proc"
2098 if test "$proc" = "error" ; then
2099 echores
"CPU optimization disabled. CPU not recognized or your compiler is too old."
2103 else # if test "$_runtime_cpudetection" = no
2104 # x86-64 is an undocumented option, an intersection of k8 and nocona.
2105 _march
="-march=x86-64"
2106 _mcpu
="$cpuopt=generic"
2107 cc_check
$_mcpu || _mcpu
="x86-64"
2108 cc_check
$_mcpu || _mcpu
=""
2109 cc_check
$_march $_mcpu || _march
=""
2113 test $_fast_cmov = "auto" && _fast_cmov
=yes
2114 test $_fast_clz = "auto" && _fast_clz
=yes
2122 if test "$host_arch" = "sparc64" ; then
2125 def_fast_64bit
='#define HAVE_FAST_64BIT 1'
2127 echocheck
"CPU type"
2129 case "$(echo $karch)" in
2134 sun4u
) proc
=ultrasparc _vis
='yes' ;;
2153 def_fast_unaligned
='#define HAVE_FAST_UNALIGNED 1'
2155 test $_fast_clz = "auto" && _fast_clz
=yes
2163 ppc|ppc64|powerpc|powerpc64
)
2165 def_dcbzl
='#define HAVE_DCBZL 0'
2166 def_fast_unaligned
='#define HAVE_FAST_UNALIGNED 1'
2167 def_local_aligned_8
='#define HAVE_LOCAL_ALIGNED_8 1'
2168 def_local_aligned_16
='#define HAVE_LOCAL_ALIGNED_16 1'
2171 if test "$host_arch" = "ppc64" -o "$host_arch" = "powerpc64" ; then
2173 def_fast_64bit
='#define HAVE_FAST_64BIT 1'
2175 echocheck
"CPU type"
2176 case $system_name in
2178 proc
=$
($_cpuinfo |
grep 'cpu' | cut
-d ':' -f 2 | cut
-d ',' -f 1 | cut
-b 2- |
head -n 1)
2179 if test -n "$($_cpuinfo | grep altivec)"; then
2180 test $_altivec = auto
&& _altivec
=yes
2184 proc
=$
($_cpuinfo |
grep "Processor type" | cut
-f 3 -d ' ' |
sed 's/ppc//')
2185 if [ $
(sysctl
-n hw.vectorunit
) -eq 1 -o \
2186 "$(sysctl -n hw.optional.altivec 2> /dev/null)" = "1" ]; then
2187 test $_altivec = auto
&& _altivec
=yes
2191 # only gcc 3.4 works reliably with AltiVec code under NetBSD
2193 2*|
3.0*|
3.1*|
3.2*|
3.3*)
2196 if [ $
(sysctl
-n machdep.altivec
) -eq 1 ]; then
2197 test $_altivec = auto
&& _altivec
=yes
2203 proc
=$
($_cpuinfo |
grep 'type' | cut
-f 2 -d ' ' |
sed 's/PowerPC_//')
2206 if test "$_altivec" = yes; then
2207 echores
"$proc altivec"
2213 echocheck
"GCC & CPU optimization abilities"
2215 if test -n "$proc"; then
2217 601) _march
='-mcpu=601' _mcpu
='-mtune=601' ;;
2218 603) _march
='-mcpu=603' _mcpu
='-mtune=603' ;;
2219 603e|
603ev
) _march
='-mcpu=603e' _mcpu
='-mtune=603e' ;;
2220 604|
604e|
604r|
604ev
) _march
='-mcpu=604' _mcpu
='-mtune=604' ;;
2221 740|
740/750|
745/755) _march
='-mcpu=740' _mcpu
='-mtune=740' ;;
2222 750|
750CX
) _march
='-mcpu=750' _mcpu
='-mtune=750' ;;
2223 POWER
) _march
='-mcpu=power' _mcpu
='-mtune=power' ;;
2224 POWER2
) _march
='-mcpu=power2' _mcpu
='-mtune=power2' ;;
2225 POWER3
) _march
='-mcpu=power3' _mcpu
='-mtune=power3' ;;
2228 # gcc 3.1(.1) and up supports 7400 and 7450
2229 if test "$_cc_major" -ge "3" && test "$_cc_minor" -ge "1" ||
test "$_cc_major" -ge "4"; then
2231 7400*|
7410*) _march
='-mcpu=7400' _mcpu
='-mtune=7400' ;;
2232 7447*|
7450*|
7455*) _march
='-mcpu=7450' _mcpu
='-mtune=7450' ;;
2236 # gcc 3.2 and up supports 970
2237 if test "$_cc_major" -ge "3" && test "$_cc_minor" -ge "3" ||
test "$_cc_major" -ge "4"; then
2239 970*|PPC970
*) _march
='-mcpu=970' _mcpu
='-mtune=970'
2240 def_dcbzl
='#define HAVE_DCBZL 1' ;;
2244 # gcc 3.3 and up supports POWER4
2245 if test "$_cc_major" -ge "3" && test "$_cc_minor" -ge "3" ||
test "$_cc_major" -ge "4"; then
2247 POWER4
) _march
='-mcpu=power4' _mcpu
='-mtune=power4' ;;
2251 # gcc 3.4 and up supports 440*
2252 if test "$_cc_major" -ge "3" && test "$_cc_minor" -ge "4" ||
test "$_cc_major" -ge "4"; then
2254 440EP
*) _march
='-mcpu=440fp' _mcpu
='-mtune=440fp' ;;
2255 440G
* ) _march
='-mcpu=440' _mcpu
='-mtune=440' ;;
2259 # gcc 4.0 and up supports POWER5
2260 if test "$_cc_major" -ge "4"; then
2262 POWER5
*) _march
='-mcpu=power5' _mcpu
='-mtune=power5' ;;
2268 if test -n "$_mcpu"; then
2269 _optimizing
=$
(echo $_mcpu | cut
-c 8-)
2270 echores
"$_optimizing"
2275 test $_fast_clz = "auto" && _fast_clz
=yes
2283 echocheck
"CPU type"
2286 unsigned long ver, mask;
2287 __asm__ ("implver %0" : "=r" (ver));
2288 __asm__ ("amask %1, %0" : "=r" (mask) : "r" (-1));
2289 printf("%ld-%x\n", ver, ~mask);
2293 $_cc -o "$TMPEXE" "$TMPC"
2294 case $
("$TMPEXE") in
2296 0-0) proc
="ev4"; _mvi
="0";;
2297 1-0) proc
="ev5"; _mvi
="0";;
2298 1-1) proc
="ev56"; _mvi
="0";;
2299 1-101) proc
="pca56"; _mvi
="1";;
2300 2-303) proc
="ev6"; _mvi
="1";;
2301 2-307) proc
="ev67"; _mvi
="1";;
2302 2-1307) proc
="ev68"; _mvi
="1";;
2306 echocheck
"GCC & CPU optimization abilities"
2307 if test "$proc" = "ev68" ; then
2308 cc_check
-mcpu=$proc || proc
=ev67
2310 if test "$proc" = "ev67" ; then
2311 cc_check
-mcpu=$proc || proc
=ev6
2316 test $_fast_clz = "auto" && _fast_clz
=yes
2326 echocheck
"CPU type"
2327 proc
=$
(hinv
-c processor |
grep CPU | cut
-d " " -f3)
2328 case "$(echo $proc)" in
2329 R3000
) _march
='-mips1' _mcpu
='-mtune=r2000' ;;
2330 R4000
) _march
='-mips3' _mcpu
='-mtune=r4000' ;;
2331 R4400
) _march
='-mips3' _mcpu
='-mtune=r4400' ;;
2332 R4600
) _march
='-mips3' _mcpu
='-mtune=r4600' ;;
2333 R5000
) _march
='-mips4' _mcpu
='-mtune=r5000' ;;
2334 R8000|R10000|R12000|R14000|R16000
) _march
='-mips4' _mcpu
='-mtune=r8000' ;;
2336 # gcc < 3.x does not support -mtune.
2337 if test "$cc_vendor" = "gnu" && test "$_cc_major" -lt 3 ; then
2343 test $_fast_clz = "auto" && _fast_clz
=yes
2377 echo "The architecture of your CPU ($host_arch) is not supported by this configure script"
2378 echo "It seems nobody has ported MPlayer to your OS or CPU type yet."
2379 die
"unsupported architecture $host_arch"
2381 esac # case "$host_arch" in
2383 if test "$_runtime_cpudetection" = yes ; then
2385 test "$_cmov" != no
&& _cmov
=yes
2387 test "$_mmx" != no
&& _mmx
=yes
2388 test "$_3dnow" != no
&& _3dnow
=yes
2389 test "$_3dnowext" != no
&& _3dnowext
=yes
2390 test "$_mmxext" != no
&& _mmxext
=yes
2391 test "$_sse" != no
&& _sse
=yes
2392 test "$_sse2" != no
&& _sse2
=yes
2393 test "$_ssse3" != no
&& _ssse3
=yes
2394 test "$_mtrr" != no
&& _mtrr
=yes
2403 echocheck
"byte order"
2404 if test "$_big_endian" = auto
; then
2406 short ascii_name[] = { (('M'<<8)|'P'),(('l'<<8)|'a'),(('y'<<8)|'e'),(('r'<<8)|'B'),
2407 (('i'<<8)|'g'),(('E'<<8)|'n'),(('d'<<8)|'i'),(('a'<<8)|'n'),0};
2408 int main(void) { return (int)ascii_name; }
2411 if strings $TMPEXE |
grep -q -l MPlayerBigEndian
; then
2417 echo ${_echo_n} "failed to autodetect byte order, defaulting to ${_echo_c}"
2420 if test "$_big_endian" = yes ; then
2421 _byte_order
='big-endian'
2422 def_words_endian
='#define WORDS_BIGENDIAN 1'
2423 def_bigendian
='#define HAVE_BIGENDIAN 1'
2424 def_av_bigendian
='#define AV_HAVE_BIGENDIAN 1'
2426 _byte_order
='little-endian'
2427 def_words_endian
='#undef WORDS_BIGENDIAN'
2428 def_bigendian
='#define HAVE_BIGENDIAN 0'
2429 def_av_bigendian
='#define AV_HAVE_BIGENDIAN 0'
2431 echores
"$_byte_order"
2434 echocheck
"extern symbol prefix"
2438 cc_check
-c || die
"Symbol mangling check failed."
2439 sym
=$
($_nm -P -g $TMPEXE)
2440 extern_prefix
=${sym%%ff_extern*}
2441 def_extern_asm
="#define EXTERN_ASM $extern_prefix"
2442 def_extern_prefix
="#define EXTERN_PREFIX \"$extern_prefix\""
2443 echores
$extern_prefix
2446 echocheck
"assembler support of -pipe option"
2448 int main(void) { return 0; }
2450 # -I. helps to detect compilers that just misunderstand -pipe like Sun C
2451 cc_check
-pipe -I.
&& _pipe
="-pipe" && echores
"yes" || echores
"no"
2454 echocheck
"compiler support of named assembler arguments"
2456 def_named_asm_args
="#define NAMED_ASM_ARGS 1"
2457 if test "$cc_vendor" = "gnu" && test "$_cc_major" -lt 3 \
2458 -o "$_cc_major" -eq 3 -a "$_cc_minor" = 0 ; then
2460 def_named_asm_args
="#undef NAMED_ASM_ARGS"
2462 echores
$_named_asm_args
2465 if darwin
&& test "$cc_vendor" = "gnu" ; then
2466 echocheck
"GCC support of -mstackrealign"
2467 # GCC 4.2 and some earlier Apple versions support this flag on x86. Since
2468 # Mac OS X/Intel has an ABI different from Windows this is needed to avoid
2469 # crashes when loading Win32 DLLs. Unfortunately some gcc versions create
2470 # wrong code with this flag, but this can be worked around by adding
2471 # -fno-unit-at-a-time as described in the blog post at
2472 # http://www.dribin.org/dave/blog/archives/2006/12/05/missing_third_param/
2474 __attribute__((noinline)) static int foo3(int i1, int i2, int i3) { return i3; }
2475 int main(void) { return foo3(1,2,3) == 3 ? 0 : 1; }
2477 cc_check
-O4 -mstackrealign && tmp_run
&& cflags_stackrealign
=-mstackrealign
2478 test -z "$cflags_stackrealign" && cc_check
-O4 -mstackrealign -fno-unit-at-a-time \
2479 && tmp_run
&& cflags_stackrealign
="-mstackrealign -fno-unit-at-a-time"
2480 test -n "$cflags_stackrealign" && echores
"yes" || echores
"no"
2481 fi # if darwin && test "$cc_vendor" = "gnu" ; then
2484 # Checking for CFLAGS
2486 if test "$_profile" != "" ||
test "$_debug" != "" ; then
2487 CFLAGS
="-W -Wall -O2 $_march $_mcpu $_pipe $_debug $_profile"
2489 elif test -z "$CFLAGS" ; then
2490 if test "$cc_vendor" = "intel" ; then
2491 CFLAGS
="-O2 $_march $_mcpu $_pipe -fomit-frame-pointer -wd167 -wd556 -wd144"
2492 elif test "$cc_vendor" = "sun" ; then
2493 CFLAGS
="-O2 $_march $_mcpu $_pipe -xc99 -xregs=frameptr"
2494 elif test "$cc_vendor" != "gnu" ; then
2495 CFLAGS
="-O2 $_march $_mcpu $_pipe"
2497 CFLAGS
="-Wall -Wno-switch -Wpointer-arith -Wredundant-decls -O4 $_march $_mcpu $_pipe -ffast-math -fomit-frame-pointer"
2498 extra_ldflags
="$extra_ldflags -ffast-math"
2505 int main(void) { return 0; }
2507 if test "$cc_vendor" = "gnu" ; then
2508 cc_check
-std=gnu99
&& CFLAGS
="-std=gnu99 $CFLAGS"
2509 cc_check
-Wdeclaration-after-statement && CFLAGS
="-Wdeclaration-after-statement $CFLAGS"
2510 cc_check
-Wno-pointer-sign && CFLAGS
="-Wno-pointer-sign $CFLAGS"
2511 cc_check
-Wdisabled-optimization && CFLAGS
="-Wdisabled-optimization $CFLAGS"
2512 cc_check
-Wundef && CFLAGS
="-Wundef $CFLAGS"
2513 cc_check
-Wmissing-prototypes && CFLAGS
="-Wmissing-prototypes $CFLAGS"
2514 cc_check
-Wstrict-prototypes && CFLAGS
="-Wstrict-prototypes $CFLAGS"
2516 CFLAGS
="-D_ISOC99_SOURCE -D_BSD_SOURCE $CFLAGS"
2519 cc_check
-mno-omit-leaf-frame-pointer && cflags_no_omit_leaf_frame_pointer
="-mno-omit-leaf-frame-pointer"
2520 cc_check
-MD -MP && CFLAGS
="-MD -MP $CFLAGS"
2523 if test -n "$LDFLAGS" ; then
2524 extra_ldflags
="$extra_ldflags $LDFLAGS"
2526 elif test "$cc_vendor" = "intel" ; then
2527 extra_ldflags
="$extra_ldflags -i-static"
2529 if test -n "$CPPFLAGS" ; then
2530 extra_cflags
="$extra_cflags $CPPFLAGS"
2537 # Checking assembler (_as) compatibility...
2538 # Added workaround for older as that reads from stdin by default - atmos
2539 as_version
=$
(echo '' |
$_as -version 2>&1 |
sed -n 's/^.*assembler \(version \)*\([0-9.]*\).*$/\2/p')
2540 echocheck
"assembler ($_as $as_version)"
2542 _pref_as_version
='2.9.1'
2544 if test "$_mmx" = yes ; then
2545 echo 'emms' >> $TMPS
2547 if test "$_3dnow" = yes ; then
2548 _pref_as_version
='2.10.1'
2549 echo 'femms' >> $TMPS
2551 if test "$_3dnowext" = yes ; then
2552 _pref_as_version
='2.10.1'
2553 echo 'pswapd %mm0, %mm0' >> $TMPS
2555 if test "$_mmxext" = yes ; then
2556 _pref_as_version
='2.10.1'
2557 echo 'movntq %mm0, (%eax)' >> $TMPS
2559 if test "$_sse" = yes ; then
2560 _pref_as_version
='2.10.1'
2561 echo 'xorps %xmm0, %xmm0' >> $TMPS
2563 #if test "$_sse2" = yes ; then
2564 # _pref_as_version='2.11'
2565 # echo 'xorpd %xmm0, %xmm0' >> $TMPS
2567 if test "$_cmov" = yes ; then
2568 _pref_as_version
='2.10.1'
2569 echo 'cmovb %eax, %ebx' >> $TMPS
2571 if test "$_ssse3" = yes ; then
2572 _pref_as_version
='2.16.92'
2573 echo 'pabsd %xmm0, %xmm1' >> $TMPS
2575 $_as $TMPS -o $TMPEXE > /dev
/null
2>&1 || as_verc_fail
=yes
2577 if test "$as_verc_fail" != yes ; then
2580 res_comment
="Upgrade binutils to ${_pref_as_version} or use --disable-ssse3 etc."
2582 die
"obsolete binutils version"
2587 echocheck
".align is a power of two"
2588 if test "$_asmalign_pot" = auto
; then
2591 int main(void) { __asm__ (".align 3"); return 0; }
2593 cc_check
&& _asmalign_pot
=yes
2595 if test "$_asmalign_pot" = "yes" ; then
2596 def_asmalign_pot
='#define ASMALIGN(ZEROBITS) ".align " #ZEROBITS "\n\t"'
2598 def_asmalign_pot
='#define ASMALIGN(ZEROBITS) ".align 1<<" #ZEROBITS "\n\t"'
2600 echores
$_asmalign_pot
2603 echocheck
"10 assembler operands"
2605 def_ten_operands
='#define HAVE_TEN_OPERANDS 0'
2611 :"+&rm"(x), "+&rm"(x), "+&rm"(x), "+&rm"(x), "+&rm"(x), "+&rm"(x)
2616 cc_check
&& ten_operands
=yes && def_ten_operands
='#define HAVE_TEN_OPERANDS 1'
2617 echores
$ten_operands
2619 echocheck
"ebx availability"
2621 def_ebx_available
='#define HAVE_EBX_AVAILABLE 0'
2628 // just adding ebx to clobber list seems unreliable with some
2629 // compilers, e.g. Haiku's gcc 2.95
2631 // and the above check does not work for OSX 64 bit...
2632 __asm__ volatile("":::"%ebx");
2636 cc_check
&& ebx_available
=yes && def_ebx_available
='#define HAVE_EBX_AVAILABLE 1'
2637 echores
$ebx_available
2643 #if !(defined(__PIC__) || defined(__pic__) || defined(PIC))
2644 #error PIC not enabled
2649 cc_check
&& pic
=yes && extra_cflags
="$extra_cflags -DPIC"
2653 if test -z "$YASMFLAGS" ; then
2655 x86_64
&& objformat
="macho64" || objformat
="macho"
2661 # currently tested for Linux x86, x86_64
2662 YASMFLAGS
="-f $objformat"
2663 x86_64
&& YASMFLAGS
="$YASMFLAGS -DARCH_X86_64 -m amd64"
2664 test "$pic" = "yes" && YASMFLAGS
="$YASMFLAGS -DPIC"
2665 case "$objformat" in
2666 elf
) test $_debug && YASMFLAGS
="$YASMFLAGS -g dwarf2" ;;
2667 *) YASMFLAGS
="$YASMFLAGS -DPREFIX" ;;
2673 echo "pabsw xmm0, xmm0" > $TMPS
2674 yasm_check || _yasm
=""
2675 if test $_yasm ; then
2676 def_yasm
='#define HAVE_YASM 1'
2680 def_yasm
='#define HAVE_YASM 0'
2686 def_bswap
='#define HAVE_BSWAP 0'
2687 echo 'bswap %eax' > $TMPS
2688 $_as $TMPS -o $TMPEXE > /dev
/null
2>&1 && def_bswap
='#define HAVE_BSWAP 1' && bswap
=yes || bswap
=no
2693 #FIXME: This should happen before the check for CFLAGS..
2694 def_altivec_h
='#define HAVE_ALTIVEC_H 0'
2695 if ppc
&& ( test "$_altivec" = yes ||
test "$_runtime_cpudetection" = yes ) ; then
2697 # check if AltiVec is supported by the compiler, and how to enable it
2698 echocheck
"GCC AltiVec flags"
2700 int main(void) { return 0; }
2702 if $
(cc_check
-maltivec -mabi=altivec
) ; then
2703 _altivec_gcc_flags
="-maltivec -mabi=altivec"
2704 # check if <altivec.h> should be included
2706 #include <altivec.h>
2707 int main(void) { return 0; }
2709 if $
(cc_check
$_altivec_gcc_flags) ; then
2710 def_altivec_h
='#define HAVE_ALTIVEC_H 1'
2711 inc_altivec_h
='#include <altivec.h>'
2714 int main(void) { return 0; }
2716 if $
(cc_check
-faltivec) ; then
2717 _altivec_gcc_flags
="-faltivec"
2720 _altivec_gcc_flags
="none, AltiVec disabled"
2724 echores
"$_altivec_gcc_flags"
2726 # check if the compiler supports braces for vector declarations
2729 int main(void) { (vector int) {1}; return 0; }
2731 cc_check
$_altivec_gcc_flags || die
"You need a compiler that supports {} in AltiVec vector declarations."
2733 # Disable runtime cpudetection if we cannot generate AltiVec code or
2734 # AltiVec is disabled by the user.
2735 test "$_runtime_cpudetection" = yes && test "$_altivec" = no \
2736 && _runtime_cpudetection
=no
2738 # Show that we are optimizing for AltiVec (if enabled and supported).
2739 test "$_runtime_cpudetection" = no
&& test "$_altivec" = yes \
2740 && _optimizing
="$_optimizing altivec"
2742 # If AltiVec is enabled, make sure the correct flags turn up in CFLAGS.
2743 test "$_altivec" = yes && CFLAGS
="$CFLAGS $_altivec_gcc_flags"
2747 def_xform_asm
='#define HAVE_XFORM_ASM 0'
2749 echocheck
"XFORM ASM support"
2751 int main(void) { __asm__ volatile ("lwzx %1, %y0" :: "Z"(*(int*)0), "r"(0)); return 0; }
2753 cc_check
&& xform_asm
=yes && def_xform_asm
='#define HAVE_XFORM_ASM 1'
2754 echores
"$xform_asm"
2758 echocheck
"ARM pld instruction"
2760 int main(void) { __asm__ volatile ("pld [r0]"); return 0; }
2766 echocheck
"ARMv5TE (Enhanced DSP Extensions)"
2767 if test $_armv5te = "auto" ; then
2769 int main(void) { __asm__ volatile ("qadd r0, r0, r0"); return 0; }
2772 cc_check
&& _armv5te
=yes
2776 test $_armv5te = "yes" && test $_fast_clz = "auto" && _fast_clz
=yes
2778 echocheck
"ARMv6 (SIMD instructions)"
2779 if test $_armv6 = "auto" ; then
2781 int main(void) { __asm__ volatile ("sadd16 r0, r0, r0"); return 0; }
2784 cc_check
&& _armv6
=yes
2788 echocheck
"ARMv6t2 (SIMD instructions)"
2789 if test $_armv6t2 = "auto" ; then
2791 int main(void) { __asm__ volatile ("movt r0, #0"); return 0; }
2794 cc_check
&& _armv6t2
=yes
2799 if test $_armvfp = "auto" ; then
2801 int main(void) { __asm__ volatile ("fadds s0, s0, s0"); return 0; }
2804 cc_check
&& _armvfp
=yes
2808 echocheck
"ARM NEON"
2809 if test $neon = "auto" ; then
2811 int main(void) { __asm__ volatile ("vadd.i16 q0, q0, q0"); return 0; }
2814 cc_check
&& neon
=yes
2818 echocheck
"iWMMXt (Intel XScale SIMD instructions)"
2819 if test $_iwmmxt = "auto" ; then
2821 int main(void) { __asm__ volatile ("wunpckelub wr6, wr4"); return 0; }
2824 cc_check
&& _iwmmxt
=yes
2829 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'
2830 test "$_altivec" = yes && cpuexts
="ALTIVEC $cpuexts"
2831 test "$_mmx" = yes && cpuexts
="MMX $cpuexts"
2832 test "$_mmxext" = yes && cpuexts
="MMX2 $cpuexts"
2833 test "$_3dnow" = yes && cpuexts
="AMD3DNOW $cpuexts"
2834 test "$_3dnowext" = yes && cpuexts
="AMD3DNOWEXT $cpuexts"
2835 test "$_sse" = yes && cpuexts
="SSE $cpuexts"
2836 test "$_sse2" = yes && cpuexts
="SSE2 $cpuexts"
2837 test "$_ssse3" = yes && cpuexts
="SSSE3 $cpuexts"
2838 test "$_cmov" = yes && cpuexts
="CMOV $cpuexts"
2839 test "$_fast_cmov" = yes && cpuexts
="FAST_CMOV $cpuexts"
2840 test "$_fast_clz" = yes && cpuexts
="FAST_CLZ $cpuexts"
2841 test "$pld" = yes && cpuexts
="PLD $cpuexts"
2842 test "$_armv5te" = yes && cpuexts
="ARMV5TE $cpuexts"
2843 test "$_armv6" = yes && cpuexts
="ARMV6 $cpuexts"
2844 test "$_armv6t2" = yes && cpuexts
="ARMV6T2 $cpuexts"
2845 test "$_armvfp" = yes && cpuexts
="ARMVFP $cpuexts"
2846 test "$neon" = yes && cpuexts
="NEON $cpuexts"
2847 test "$_iwmmxt" = yes && cpuexts
="IWMMXT $cpuexts"
2848 test "$_vis" = yes && cpuexts
="VIS $cpuexts"
2849 test "$_mvi" = yes && cpuexts
="MVI $cpuexts"
2851 # Checking kernel version...
2852 if x86_32
&& linux
; then
2854 kernel_version
=$
(uname
-r 2>&1)
2855 echocheck
"$system_name kernel version"
2856 case "$kernel_version" in
2857 '') kernel_version
="?.??"; _k_verc_fail
=yes;;
2858 [0-1].
[0-9].
[0-9]*|
2.
[0-3].
[0-9]*)
2859 _k_verc_problem
=yes;;
2861 if test "$_k_verc_problem" = yes && test "$_sse" = yes ; then
2864 if test "$_k_verc_fail" ; then
2865 echores
"$kernel_version, fail"
2866 echo "WARNING! If you want to run MPlayer on this system, get prepared for problems!"
2867 echo "2.2.x has limited SSE support. Upgrade the kernel or use --disable-sse if you"
2868 echo "experience crashes. MPlayer tries to autodetect if your kernel correctly"
2869 echo "supports SSE, but you have been warned! If you are using a kernel older than"
2870 echo "2.2.x you must upgrade it to get SSE support!"
2871 # die "Your kernel is too old for this CPU." # works fine on some 2.2.x so don't die (later check will test)
2873 echores
"$kernel_version, ok"
2877 ######################
2878 # MAIN TESTS GO HERE #
2879 ######################
2884 int main(void) { return 0; }
2886 if cc_check
-lposix ; then
2887 extra_ldflags
="$extra_ldflags -lposix"
2895 int main(void) { return 0; }
2897 if cc_check
-lm ; then
2906 echocheck
"langinfo"
2907 if test "$_langinfo" = auto
; then
2909 #include <langinfo.h>
2910 int main(void) { nl_langinfo(CODESET); return 0; }
2913 cc_check
&& _langinfo
=yes
2915 if test "$_langinfo" = yes ; then
2916 def_langinfo
='#define HAVE_LANGINFO 1'
2918 def_langinfo
='#undef HAVE_LANGINFO'
2920 echores
"$_langinfo"
2923 echocheck
"language"
2924 # Set preferred languages, "all" uses English as main language.
2925 test -z "$language" && language
=$LINGUAS
2926 test -z "$language_doc" && language_doc
=$language
2927 test -z "$language_man" && language_man
=$language
2928 test -z "$language_msg" && language_msg
=$language
2929 language_doc
=$
(echo $language_doc |
tr , " ")
2930 language_man
=$
(echo $language_man |
tr , " ")
2931 language_msg
=$
(echo $language_msg |
tr , " ")
2933 test "$language_doc" = "all" && language_doc
=$doc_lang_all
2934 test "$language_man" = "all" && language_man
=$man_lang_all
2935 test "$language_msg" = "all" && language_msg
=en
2937 # Prune non-existing translations from language lists.
2938 # Set message translation to the first available language.
2939 # Fall back on English.
2940 for lang
in $language_doc ; do
2941 test -d DOCS
/xml
/$lang && tmp_language_doc
="$tmp_language_doc $lang"
2943 language_doc
=$tmp_language_doc
2944 test -z "$language_doc" && language_doc
=en
2946 for lang
in $language_man ; do
2947 test -d DOCS
/man
/$lang && tmp_language_man
="$tmp_language_man $lang"
2949 language_man
=$tmp_language_man
2950 test -z "$language_man" && language_man
=en
2952 for lang
in $language_msg ; do
2953 test -f "help/help_mp-${lang}.h" && tmp_language_msg
=$lang && break
2955 language_msg
=$tmp_language_msg
2956 test -z "$language_msg" && language_msg
=en
2957 _mp_help
="help/help_mp-${language_msg}.h"
2958 echores
"messages: $language_msg - man pages: $language_man - documentation: $language_doc"
2961 echocheck
"enable sighandler"
2962 if test "$_sighandler" = yes ; then
2963 def_sighandler
='#define CONFIG_SIGHANDLER 1'
2965 def_sighandler
='#undef CONFIG_SIGHANDLER'
2967 echores
"$_sighandler"
2969 echocheck
"runtime cpudetection"
2970 if test "$_runtime_cpudetection" = yes ; then
2971 _optimizing
="Runtime CPU-Detection enabled"
2972 def_runtime_cpudetection
='#define CONFIG_RUNTIME_CPUDETECT 1'
2974 def_runtime_cpudetection
='#define CONFIG_RUNTIME_CPUDETECT 0'
2976 echores
"$_runtime_cpudetection"
2979 echocheck
"restrict keyword"
2980 for restrict_keyword
in restrict __restrict __restrict__
; do
2981 echo "void foo(char * $restrict_keyword p); int main(void) { return 0; }" > $TMPC
2983 def_restrict_keyword
=$restrict_keyword
2987 if [ -n "$def_restrict_keyword" ]; then
2988 echores
"$def_restrict_keyword"
2992 # Avoid infinite recursion loop ("#define restrict restrict")
2993 if [ "$def_restrict_keyword" != "restrict" ]; then
2994 def_restrict_keyword
="#define restrict $def_restrict_keyword"
2996 def_restrict_keyword
=""
3000 echocheck
"__builtin_expect"
3001 # GCC branch prediction hint
3004 a = __builtin_expect(a, 10);
3005 return a == 10 ? 0 : 1;
3007 int main(void) { return foo(10) && foo(0); }
3010 cc_check
&& _builtin_expect
=yes
3011 if test "$_builtin_expect" = yes ; then
3012 def_builtin_expect
='#define HAVE_BUILTIN_EXPECT 1'
3014 def_builtin_expect
='#undef HAVE_BUILTIN_EXPECT'
3016 echores
"$_builtin_expect"
3022 int main(void) { (void) kstat_open(); (void) kstat_close(0); return 0; }
3025 cc_check
-lkstat && _kstat
=yes
3026 if test "$_kstat" = yes ; then
3027 def_kstat
="#define HAVE_LIBKSTAT 1"
3028 extra_ldflags
="$extra_ldflags -lkstat"
3030 def_kstat
="#undef HAVE_LIBKSTAT"
3036 # required for nanosleep on some systems
3039 int main(void) { (void) nanosleep(0, 0); return 0; }
3042 cc_check
-lposix4 && _posix4
=yes
3043 if test "$_posix4" = yes ; then
3044 extra_ldflags
="$extra_ldflags -lposix4"
3048 for func
in exp2 exp2f llrint llrintf log2 log2f lrint lrintf round roundf truncf
; do
3052 int main(void) { long (*foo)(float); foo = $func; (void)(*foo)(0.0); return 0; }
3055 cc_check
-D_ISOC99_SOURCE $_ld_lm && eval _
$func=yes
3056 if eval test "x\$_$func" = "xyes"; then
3057 eval def_
$func="\"#define HAVE_$(echo $func | tr '[a-z]' '[A-Z]') 1\""
3060 eval def_
$func="\"#define HAVE_$(echo $func | tr '[a-z]' '[A-Z]') 0\""
3069 int main(void) { char a; mkstemp(&a); return 0; }
3072 cc_check
&& _mkstemp
=yes
3073 if test "$_mkstemp" = yes ; then
3074 def_mkstemp
='#define HAVE_MKSTEMP 1'
3076 def_mkstemp
='#undef HAVE_MKSTEMP'
3081 echocheck
"nanosleep"
3082 # also check for nanosleep
3085 int main(void) { (void) nanosleep(0, 0); return 0; }
3088 cc_check
&& _nanosleep
=yes
3089 if test "$_nanosleep" = yes ; then
3090 def_nanosleep
='#define HAVE_NANOSLEEP 1'
3092 def_nanosleep
='#undef HAVE_NANOSLEEP'
3094 echores
"$_nanosleep"
3098 # for Solaris (socket stuff is in -lsocket, gethostbyname and friends in -lnsl):
3099 # for BeOS (socket stuff is in -lsocket, gethostbyname and friends in -lbind):
3102 #include <sys/socket.h>
3103 int main(void) { (void) gethostbyname(0); (void) socket(AF_INET, SOCK_STREAM, 0); return 0; }
3106 for _ld_tmp
in "" "-lsocket -lbind" "-lsocket -ldnet" "-lsocket -lnsl" "-lnsl" "-lsocket" ; do
3107 cc_check
$_ld_tmp && _ld_sock
="$_ld_tmp" && _socklib
=yes && break
3109 test $_socklib = yes && test $_winsock2_h = auto
&& _winsock2_h
=no
3110 if test $_winsock2_h = auto
; then
3113 #include <winsock2.h>
3114 int main(void) { (void) gethostbyname(0); return 0; }
3116 cc_check
-lws2_32 && _ld_sock
="-lws2_32" && _winsock2_h
=yes
3118 test "$_ld_sock" && res_comment
="using $_ld_sock"
3122 if test $_winsock2_h = yes ; then
3124 def_winsock2_h
='#define HAVE_WINSOCK2_H 1'
3125 cc_check_winsock2_h
='-DHAVE_WINSOCK2_H=1'
3127 def_winsock2_h
='#define HAVE_WINSOCK2_H 0'
3128 cc_check_winsock2_h
='-DHAVE_WINSOCK2_H=0'
3132 echocheck
"netdb.h, struct addrinfo"
3133 if test "$_struct_addrinfo" = auto
; then
3137 #include <winsock2.h>
3138 #include <ws2tcpip.h>
3140 #include <sys/types.h>
3141 #include <sys/socket.h>
3144 int main(void) { struct addrinfo ai; return 0; }
3146 cc_check
$cc_check_winsock2_h && _struct_addrinfo
=yes
3148 echores
"$_struct_addrinfo"
3150 if test "$_struct_addrinfo" = yes; then
3151 def_addrinfo
="#define HAVE_STRUCT_ADDRINFO 1"
3153 def_addrinfo
="#define HAVE_STRUCT_ADDRINFO 0"
3157 echocheck
"netdb.h, getaddrinfo()"
3158 if test "$_getaddrinfo" = auto
; then
3162 #include <winsock2.h>
3164 #include <sys/types.h>
3165 #include <sys/socket.h>
3168 int main(void) { (void) getaddrinfo(0, 0, 0, 0); return 0; }
3170 cc_check
$cc_check_winsock2_h && _getaddrinfo
=yes
3172 echores
"$_getaddrinfo"
3174 if test "$_getaddrinfo" = yes; then
3175 def_getaddrinfo
="#define HAVE_GETADDRINFO 1"
3177 def_getaddrinfo
="#define HAVE_GETADDRINFO 0"
3181 echocheck
"sockaddr_storage"
3182 if test "$_struct_sockaddr_storage" = auto
; then
3183 _struct_sockaddr_storage
=no
3186 #include <winsock2.h>
3188 #include <sys/socket.h>
3190 int main(void) { struct sockaddr_storage sas; return 0; }
3192 cc_check
$cc_check_winsock2_h && _struct_sockaddr_storage
=yes
3194 echores
"$_struct_sockaddr_storage"
3196 if test "$_struct_sockaddr_storage" = yes; then
3197 def_sockaddr_storage
="#define HAVE_STRUCT_SOCKADDR_STORAGE 1"
3199 def_sockaddr_storage
="#define HAVE_STRUCT_SOCKADDR_STORAGE 0"
3203 echocheck
"struct ipv6_mreq"
3204 _struct_ipv6_mreq
=no
3205 def_struct_ipv6_mreq
="#define HAVE_STRUCT_IPV6_MREQ 0"
3206 for header
in "netinet/in.h" "ws2tcpip.h" ; do
3209 int main(void) { struct ipv6_mreq mreq6; return 0; }
3211 cc_check
&& _struct_ipv6_mreq
=yes && \
3212 def_struct_ipv6_mreq
="#define HAVE_STRUCT_IPV6_MREQ 1" && break
3214 echores
"$_struct_ipv6_mreq"
3217 echocheck
"struct sockaddr_in6"
3218 _struct_sockaddr_in6
=no
3219 def_struct_sockaddr_in6
="#define HAVE_STRUCT_SOCKADDR_IN6 0"
3220 for header
in "netinet/in.h" "ws2tcpip.h" ; do
3223 int main(void) { struct sockaddr_in6 addr; return 0; }
3225 cc_check
&& _struct_sockaddr_in6
=yes && \
3226 def_struct_sockaddr_in6
="#define HAVE_STRUCT_SOCKADDR_IN6 1" && break
3228 echores
"$_struct_sockaddr_in6"
3231 echocheck
"struct sockaddr sa_len"
3232 _struct_sockaddr_sa_len
=no
3233 def_struct_sockaddr_sa_len
="#define HAVE_STRUCT_SOCKADDR_SA_LEN 0"
3236 #include <winsock2.h>
3238 #include <sys/types.h>
3239 #include <sys/socket.h>
3241 int main(void) { const void *p = &((struct sockaddr *)0)->sa_len; return 0; }
3243 cc_check
$cc_check_winsock2_h && _struct_sockaddr_sa_len
=yes && \
3244 def_struct_sockaddr_sa_len
="#define HAVE_STRUCT_SOCKADDR_SA_LEN 1"
3245 echores
"$_struct_sockaddr_sa_len"
3248 echocheck
"arpa/inet.h"
3250 def_arpa_inet_h
='#define HAVE_ARPA_INET_H 0'
3252 #include <arpa/inet.h>
3253 int main(void) { return 0; }
3255 cc_check
&& arpa_inet_h
=yes && def_arpa_inet_h
='#define HAVE_ARPA_INET_H 1'
3256 echores
"$arpa_inet_h"
3259 echocheck
"inet_pton()"
3260 def_inet_pton
='#define HAVE_INET_PTON 0'
3263 #include <sys/types.h>
3264 #include <sys/socket.h>
3265 #include <arpa/inet.h>
3266 int main(void) { (void) inet_pton(0, 0, 0); return 0; }
3268 for _ld_tmp
in "$_ld_sock" "$_ld_sock -lresolv" ; do
3269 cc_check
$_ld_tmp && inet_pton
=yes && break
3271 if test $inet_pton = yes ; then
3272 test "$_ld_tmp" && res_comment
="using $_ld_tmp"
3273 def_inet_pton
='#define HAVE_INET_PTON 1'
3275 echores
"$inet_pton"
3278 echocheck
"inet_aton()"
3279 def_inet_aton
='#define HAVE_INET_ATON 0'
3282 #include <sys/types.h>
3283 #include <sys/socket.h>
3284 #include <arpa/inet.h>
3285 int main(void) { (void) inet_aton(0, 0); return 0; }
3287 for _ld_tmp
in "$_ld_sock" "$_ld_sock -lresolv" ; do
3288 cc_check
$_ld_tmp && inet_aton
=yes && break
3290 if test $inet_aton = yes ; then
3291 test "$_ld_tmp" && res_comment
="using $_ld_tmp"
3292 def_inet_aton
='#define HAVE_INET_ATON 1'
3294 echores
"$inet_aton"
3297 echocheck
"socklen_t"
3299 for header
in "sys/socket.h" "ws2tcpip.h" "sys/types.h" ; do
3302 int main(void) { socklen_t v = 0; return v; }
3304 cc_check
&& _socklen_t
=yes && break
3306 if test "$_socklen_t" = yes ; then
3307 def_socklen_t
='#define HAVE_SOCKLEN_T 1'
3309 def_socklen_t
='#define HAVE_SOCKLEN_T 0'
3311 echores
"$_socklen_t"
3314 echocheck
"closesocket()"
3317 #include <winsock2.h>
3318 int main(void) { closesocket(~0); return 0; }
3320 cc_check
$_ld_sock && _closesocket
=yes
3321 if test "$_closesocket" = yes ; then
3322 def_closesocket
='#define HAVE_CLOSESOCKET 1'
3324 def_closesocket
='#define HAVE_CLOSESOCKET 0'
3326 echores
"$_closesocket"
3330 test $_winsock2_h = no
&& test $inet_pton = no
&&
3331 test $inet_aton = no
&& _network
=no
3332 if test "$_network" = yes ; then
3333 def_network
='#define CONFIG_NETWORK 1'
3334 extra_ldflags
="$extra_ldflags $_ld_sock"
3335 inputmodules
="network $inputmodules"
3337 noinputmodules
="network $noinputmodules"
3338 def_network
='#undef CONFIG_NETWORK'
3340 _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
//)
3341 _libavdemuxers
=$
(echo $_libavdemuxers |
sed -e s
/RTSP_DEMUXER
// -e s
/SDP_DEMUXER
//)
3347 if test "$_inet6" = auto
; then
3349 #include <sys/types.h>
3350 #if !defined(_WIN32) || defined(__CYGWIN__)
3351 #include <sys/socket.h>
3352 #include <netinet/in.h>
3354 #include <ws2tcpip.h>
3356 int main(void) { struct sockaddr_in6 six; socket(AF_INET6, SOCK_STREAM, AF_INET6); return 0; }
3359 if cc_check
$_ld_sock ; then
3363 if test "$_inet6" = yes ; then
3364 def_inet6
='#define HAVE_AF_INET6 1'
3366 def_inet6
='#undef HAVE_AF_INET6'
3371 echocheck
"gethostbyname2"
3372 if test "$_gethostbyname2" = auto
; then
3374 #include <sys/types.h>
3375 #include <sys/socket.h>
3377 int main(void) { gethostbyname2("", AF_INET); return 0; }
3384 if test "$_gethostbyname2" = yes ; then
3385 def_gethostbyname2
='#define HAVE_GETHOSTBYNAME2 1'
3387 def_gethostbyname2
='#undef HAVE_GETHOSTBYNAME2'
3389 echores
"$_gethostbyname2"
3392 echocheck
"inttypes.h (required)"
3394 #include <inttypes.h>
3395 int main(void) { return 0; }
3398 cc_check
&& _inttypes
=yes
3399 echores
"$_inttypes"
3401 if test "$_inttypes" = no
; then
3402 echocheck
"bitypes.h (inttypes.h predecessor)"
3404 #include <sys/bitypes.h>
3405 int main(void) { return 0; }
3407 cc_check
&& _inttypes
=yes
3408 if test "$_inttypes" = yes ; then
3409 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."
3411 die
"Cannot find header either inttypes.h or bitypes.h. There is no chance for compilation to succeed."
3416 echocheck
"int_fastXY_t in inttypes.h"
3418 #include <inttypes.h>
3420 volatile int_fast16_t v= 0;
3424 cc_check
&& _fast_inttypes
=yes
3425 if test "$_fast_inttypes" = no
; then
3427 typedef signed char int_fast8_t;
3428 typedef signed int int_fast16_t;
3429 typedef signed int int_fast32_t;
3430 typedef signed long long int_fast64_t;
3431 typedef unsigned char uint_fast8_t;
3432 typedef unsigned int uint_fast16_t;
3433 typedef unsigned int uint_fast32_t;
3434 typedef unsigned long long uint_fast64_t;'
3436 echores
"$_fast_inttypes"
3439 echocheck
"malloc.h"
3442 int main(void) { (void) malloc(0); return 0; }
3445 cc_check
&& _malloc
=yes
3446 if test "$_malloc" = yes ; then
3447 def_malloc_h
='#define HAVE_MALLOC_H 1'
3449 def_malloc_h
='#define HAVE_MALLOC_H 0'
3454 echocheck
"memalign()"
3455 # XXX restrict to x86 ? extend to other CPUs/cacheline sizes ?
3456 def_memalign_hack
='#define CONFIG_MEMALIGN_HACK 0'
3459 int main(void) { (void) memalign(64, sizeof(char)); return 0; }
3462 cc_check
&& _memalign
=yes
3463 if test "$_memalign" = yes ; then
3464 def_memalign
='#define HAVE_MEMALIGN 1'
3466 def_memalign
='#define HAVE_MEMALIGN 0'
3467 def_map_memalign
='#define memalign(a,b) malloc(b)'
3468 darwin || def_memalign_hack
='#define CONFIG_MEMALIGN_HACK 1'
3470 echores
"$_memalign"
3473 echocheck
"posix_memalign()"
3475 def_posix_memalign
='#define HAVE_POSIX_MEMALIGN 0'
3477 #define _XOPEN_SOURCE 600
3479 int main(void) { posix_memalign(NULL, 0, 0); }
3481 cc_check
&& posix_memalign
=yes && def_posix_memalign
='#define HAVE_POSIX_MEMALIGN 1'
3482 echores
"$posix_memalign"
3485 echocheck
"alloca.h"
3488 int main(void) { (void) alloca(0); return 0; }
3491 cc_check
&& _alloca
=yes
3493 def_alloca_h
='#define HAVE_ALLOCA_H 1'
3495 def_alloca_h
='#undef HAVE_ALLOCA_H'
3500 echocheck
"fastmemcpy"
3501 if test "$_fastmemcpy" = yes ; then
3502 def_fastmemcpy
='#define CONFIG_FASTMEMCPY 1'
3504 def_fastmemcpy
='#undef CONFIG_FASTMEMCPY'
3506 echores
"$_fastmemcpy"
3509 echocheck
"hard-coded tables"
3510 if test "$hardcoded_tables" = yes ; then
3511 def_hardcoded_tables
='#define CONFIG_HARDCODED_TABLES 1'
3512 mak_hardcoded_tables
='CONFIG_HARDCODED_TABLES = yes'
3514 def_hardcoded_tables
='#define CONFIG_HARDCODED_TABLES 0'
3516 echores
"$hardcoded_tables"
3521 #include <sys/types.h>
3522 #include <sys/mman.h>
3523 int main(void) { (void) mmap(0, 0, 0, 0, 0, 0); return 0; }
3526 cc_check
&& _mman
=yes
3527 if test "$_mman" = yes ; then
3528 def_mman_h
='#define HAVE_SYS_MMAN_H 1'
3530 def_mman_h
='#undef HAVE_SYS_MMAN_H'
3531 os2
&& _need_mmap
=yes
3536 #include <sys/types.h>
3537 #include <sys/mman.h>
3538 int main(void) { void *p = MAP_FAILED; return 0; }
3540 _mman_has_map_failed
=no
3541 cc_check
&& _mman_has_map_failed
=yes
3542 if test "$_mman_has_map_failed" = yes ; then
3543 def_mman_has_map_failed
=''
3545 def_mman_has_map_failed
='#define MAP_FAILED ((void *) -1)'
3548 echocheck
"dynamic loader"
3552 int main(void) { dlopen("", 0); dlclose(NULL); dlsym(NULL, ""); return 0; }
3555 for _ld_tmp
in "" "-ldl" ; do
3556 cc_check
$_ld_tmp && _ld_dl
="$_ld_tmp" && _dl
=yes && break
3558 if test "$_dl" = yes ; then
3559 def_dl
='#define HAVE_LIBDL 1'
3561 def_dl
='#undef HAVE_LIBDL'
3566 echocheck
"dynamic a/v plugins support"
3567 if test "$_dl" = no
; then
3570 if test "$_dynamic_plugins" = yes ; then
3571 def_dynamic_plugins
='#define CONFIG_DYNAMIC_PLUGINS 1'
3573 def_dynamic_plugins
='#undef CONFIG_DYNAMIC_PLUGINS'
3575 echores
"$_dynamic_plugins"
3578 def_threads
='#define HAVE_THREADS 0'
3582 THREAD_CFLAGS
=-D_REENTRANT
3583 elif freebsd || netbsd || openbsd || bsdos
; then
3584 THREAD_CFLAGS
=-D_THREAD_SAFE
3586 if test "$_pthreads" = auto
; then
3588 #include <pthread.h>
3589 void* func(void *arg) { return arg; }
3590 int main(void) { pthread_t tid; return pthread_create(&tid, 0, func, 0) == 0 ? 0 : 1; }
3594 for _ld_tmp
in "-lpthreadGC2" "" "-lpthread" "-pthread" ; do
3595 # for crosscompilation, we cannot execute the program, be happy if we can link statically
3596 cc_check
$THREAD_CFLAGS $_ld_tmp && (tmp_run ||
test "$_ld_static") && _ld_pthread
="$_ld_tmp" && _pthreads
=yes && break
3600 if test "$_pthreads" = yes ; then
3601 test $_ld_pthread && res_comment
="using $_ld_pthread"
3602 def_pthreads
='#define HAVE_PTHREADS 1'
3603 def_threads
='#define HAVE_THREADS 1'
3604 extra_cflags
="$extra_cflags $THREAD_CFLAGS"
3606 res_comment
="v4l, v4l2, ao_nas, win32 loader disabled"
3607 def_pthreads
='#undef HAVE_PTHREADS'
3608 _nas
=no
; _tv_v4l1
=no
; _tv_v4l2
=no
3609 mingw32 || _win32dll
=no
3611 echores
"$_pthreads"
3614 if test "$_pthreads" = yes ; then
3615 def_pthread_cache
="#define PTHREAD_CACHE 1"
3618 def_stream_cache
="#undef CONFIG_STREAM_CACHE"
3622 echocheck
"w32threads"
3623 if test "$_pthreads" = yes ; then
3624 res_comment
="using pthread instead"
3627 if test "$_w32threads" = auto
; then
3629 mingw32
&& _w32threads
=yes
3631 test "$_w32threads" = yes && def_threads
='#define HAVE_THREADS 1'
3632 echores
"$_w32threads"
3636 if test "$_rpath" = yes ; then
3637 for I
in $
(echo $extra_ldflags |
sed 's/-L//g') ; do
3638 tmp
="$tmp $(echo $I | sed 's/.*/ -L& -Wl,-R&/')"
3645 if test "$_iconv" = auto
; then
3650 #define INBUFSIZE 1024
3651 #define OUTBUFSIZE 4096
3653 char inbuffer[INBUFSIZE];
3654 char outbuffer[OUTBUFSIZE];
3659 char *tocode="UTF-8";
3660 char *fromcode="cp1250";
3661 if ((icdsc = iconv_open(tocode, fromcode)) != (iconv_t)(-1)) {
3662 while ((numread = read(0, inbuffer, INBUFSIZE))) {
3663 char *iptr=inbuffer;
3664 char *optr=outbuffer;
3665 size_t inleft=numread;
3666 size_t outleft=OUTBUFSIZE;
3667 if (iconv(icdsc, (const char **)&iptr, &inleft, &optr, &outleft)
3669 write(1, outbuffer, OUTBUFSIZE - outleft);
3672 if (iconv_close(icdsc) == -1)
3679 for _ld_tmp
in "" "-liconv" "-liconv $_ld_dl" ; do
3680 cc_check
$_ld_lm $_ld_tmp && extra_ldflags
="$extra_ldflags $_ld_tmp" && \
3684 if test "$_iconv" = yes ; then
3685 def_iconv
='#define CONFIG_ICONV 1'
3687 def_iconv
='#undef CONFIG_ICONV'
3692 echocheck
"soundcard.h"
3694 def_soundcard_h
='#undef HAVE_SOUNDCARD_H'
3695 def_sys_soundcard_h
='#undef HAVE_SYS_SOUNDCARD_H'
3696 for _soundcard_header
in "sys/soundcard.h" "soundcard.h"; do
3698 #include <$_soundcard_header>
3699 int main(void) { return 0; }
3701 cc_check
&& _soundcard_h
=yes && res_comment
="$_soundcard_header" && break
3704 if test "$_soundcard_h" = yes ; then
3705 if test $_soundcard_header = "sys/soundcard.h"; then
3706 def_sys_soundcard_h
='#define HAVE_SYS_SOUNDCARD_H 1'
3708 def_soundcard_h
='#define HAVE_SOUNDCARD_H 1'
3711 echores
"$_soundcard_h"
3714 echocheck
"sys/dvdio.h"
3717 #include <sys/dvdio.h>
3718 int main(void) { return 0; }
3721 cc_check
&& _dvdio
=yes
3722 if test "$_dvdio" = yes ; then
3723 def_dvdio
='#define DVD_STRUCT_IN_SYS_DVDIO_H 1'
3725 def_dvdio
='#undef DVD_STRUCT_IN_SYS_DVDIO_H'
3730 echocheck
"sys/cdio.h"
3733 #include <sys/cdio.h>
3734 int main(void) { return 0; }
3737 cc_check
&& _cdio
=yes
3738 if test "$_cdio" = yes ; then
3739 def_cdio
='#define DVD_STRUCT_IN_SYS_CDIO_H 1'
3741 def_cdio
='#undef DVD_STRUCT_IN_SYS_CDIO_H'
3746 echocheck
"linux/cdrom.h"
3748 #include <sys/types.h>
3749 #include <linux/cdrom.h>
3750 int main(void) { return 0; }
3753 cc_check
&& _cdrom
=yes
3754 if test "$_cdrom" = yes ; then
3755 def_cdrom
='#define DVD_STRUCT_IN_LINUX_CDROM_H 1'
3757 def_cdrom
='#undef DVD_STRUCT_IN_LINUX_CDROM_H'
3765 int main(void) { return 0; }
3768 cc_check
&& _dvd
=yes
3769 if test "$_dvd" = yes ; then
3770 def_dvd
='#define DVD_STRUCT_IN_DVD_H 1'
3772 def_dvd
='#undef DVD_STRUCT_IN_DVD_H'
3778 echocheck
"BSDI dvd.h"
3781 int main(void) { return 0; }
3784 cc_check
&& _bsdi_dvd
=yes
3785 if test "$_bsdi_dvd" = yes ; then
3786 def_bsdi_dvd
='#define DVD_STRUCT_IN_BSDI_DVDIOCTL_DVD_H 1'
3788 def_bsdi_dvd
='#undef DVD_STRUCT_IN_BSDI_DVDIOCTL_DVD_H'
3790 echores
"$_bsdi_dvd"
3795 # also used by AIX, but AIX does not support VCD and/or libdvdread
3796 echocheck
"HP-UX SCSI header"
3798 #include <sys/scsi.h>
3799 int main(void) { return 0; }
3802 cc_check
&& _hpux_scsi_h
=yes
3803 if test "$_hpux_scsi_h" = yes ; then
3804 def_hpux_scsi_h
='#define HPUX_SCTL_IO 1'
3806 def_hpux_scsi_h
='#undef HPUX_SCTL_IO'
3808 echores
"$_hpux_scsi_h"
3813 echocheck
"userspace SCSI headers (Solaris)"
3816 #include <stropts.h>
3817 #include <sys/scsi/scsi_types.h>
3818 #include <sys/scsi/impl/uscsi.h>
3819 int main(void) { return 0; }
3822 cc_check
&& _sol_scsi_h
=yes
3823 if test "$_sol_scsi_h" = yes ; then
3824 def_sol_scsi_h
='#define SOLARIS_USCSI 1'
3826 def_sol_scsi_h
='#undef SOLARIS_USCSI'
3828 echores
"$_sol_scsi_h"
3833 if test "$_termcap" = auto
; then
3837 int main(void) { tgetent(NULL, NULL); return 0; }
3840 for _ld_tmp
in "-lncurses" "-ltinfo" "-ltermcap"; do
3841 cc_check
$_ld_tmp && extra_ldflags
="$extra_ldflags $_ld_tmp" \
3842 && _termcap
=yes && break
3845 if test "$_termcap" = yes ; then
3846 def_termcap
='#define HAVE_TERMCAP 1'
3847 test $_ld_tmp && res_comment
="using $_ld_tmp"
3849 def_termcap
='#undef HAVE_TERMCAP'
3855 def_termios
='#undef HAVE_TERMIOS'
3856 def_termios_h
='#undef HAVE_TERMIOS_H'
3857 def_termios_sys_h
='#undef HAVE_SYS_TERMIOS_H'
3858 if test "$_termios" = auto
; then
3860 for _termios_header
in "termios.h" "sys/termios.h"; do
3862 #include <$_termios_header>
3863 int main(void) { return 0; }
3865 cc_check
&& _termios
=yes && res_comment
="using $_termios_header" && break
3869 if test "$_termios" = yes ; then
3870 def_termios
='#define HAVE_TERMIOS 1'
3871 if test "$_termios_header" = "termios.h" ; then
3872 def_termios_h
='#define HAVE_TERMIOS_H 1'
3874 def_termios_sys_h
='#define HAVE_SYS_TERMIOS_H 1'
3881 if test "$_shm" = auto
; then
3883 #include <sys/types.h>
3884 #include <sys/shm.h>
3885 int main(void) { shmget(0, 0, 0); shmat(0, 0, 0); shmctl(0, 0, 0); return 0; }
3888 cc_check
&& _shm
=yes
3890 if test "$_shm" = yes ; then
3891 def_shm
='#define HAVE_SHM 1'
3893 def_shm
='#undef HAVE_SHM'
3898 echocheck
"strsep()"
3901 int main(void) { char *s = "Hello, world!"; (void) strsep(&s, ","); return 0; }
3904 cc_check
&& _strsep
=yes
3905 if test "$_strsep" = yes ; then
3906 def_strsep
='#define HAVE_STRSEP 1'
3909 def_strsep
='#undef HAVE_STRSEP'
3915 echocheck
"vsscanf()"
3917 #define _ISOC99_SOURCE
3920 int main(void) { va_list ap; vsscanf("foo", "bar", ap); return 0; }
3923 cc_check
&& _vsscanf
=yes
3924 if test "$_vsscanf" = yes ; then
3925 def_vsscanf
='#define HAVE_VSSCANF 1'
3928 def_vsscanf
='#undef HAVE_VSSCANF'
3936 #define _XOPEN_SOURCE 600
3938 int main(void) { swab(0, 0, 0); return 0; }
3941 cc_check
&& _swab
=yes
3942 if test "$_swab" = yes ; then
3943 def_swab
='#define HAVE_SWAB 1'
3946 def_swab
='#undef HAVE_SWAB'
3951 echocheck
"POSIX select()"
3955 #include <sys/types.h>
3957 #include <sys/time.h>
3959 int main(void) {int nfds = 1; fd_set readfds; struct timeval timeout; select(nfds,&readfds,NULL,NULL,&timeout); return 0; }
3962 def_posix_select
='#undef HAVE_POSIX_SELECT'
3963 #select() of kLIBC (OS/2) supports socket only
3964 ! os2
&& cc_check
&& _posix_select
=yes \
3965 && def_posix_select
='#define HAVE_POSIX_SELECT 1'
3966 echores
"$_posix_select"
3969 echocheck
"audio select()"
3970 if test "$_select" = no
; then
3971 def_select
='#undef HAVE_AUDIO_SELECT'
3972 elif test "$_select" = yes ; then
3973 def_select
='#define HAVE_AUDIO_SELECT 1'
3978 echocheck
"gettimeofday()"
3981 #include <sys/time.h>
3982 int main(void) {struct timeval tv_start; gettimeofday(&tv_start, NULL); return 0; }
3985 cc_check
&& _gettimeofday
=yes
3986 if test "$_gettimeofday" = yes ; then
3987 def_gettimeofday
='#define HAVE_GETTIMEOFDAY 1'
3988 _need_gettimeofday
=no
3990 def_gettimeofday
='#undef HAVE_GETTIMEOFDAY'
3991 _need_gettimeofday
=yes
3993 echores
"$_gettimeofday"
4000 int main(void) { glob_t gg; glob("filename",0,NULL,&gg); return 0; }
4003 cc_check
&& _glob
=yes
4004 if test "$_glob" = yes ; then
4005 def_glob
='#define HAVE_GLOB 1'
4008 def_glob
='#undef HAVE_GLOB'
4014 echocheck
"setenv()"
4017 int main(void) { setenv("","",0); return 0; }
4020 cc_check
&& _setenv
=yes
4021 if test "$_setenv" = yes ; then
4022 def_setenv
='#define HAVE_SETENV 1'
4025 def_setenv
='#undef HAVE_SETENV'
4031 echocheck
"setmode()"
4033 def_setmode
='#define HAVE_SETMODE 0'
4036 int main(void) { setmode(0, 0); return 0; }
4038 cc_check
&& _setmode
=yes && def_setmode
='#define HAVE_SETMODE 1'
4043 echocheck
"sysi86()"
4045 #include <sys/sysi86.h>
4046 int main(void) { sysi86(0); return 0; }
4049 cc_check
&& _sysi86
=yes
4050 if test "$_sysi86" = yes ; then
4051 def_sysi86
='#define HAVE_SYSI86 1'
4053 #include <sys/sysi86.h>
4054 int main(void) { int sysi86(int, void*); sysi86(0); return 0; }
4056 cc_check
&& def_sysi86_iv
='#define HAVE_SYSI86_iv 1'
4058 def_sysi86
='#undef HAVE_SYSI86'
4064 echocheck
"sys/sysinfo.h"
4066 #include <sys/sysinfo.h>
4068 struct sysinfo s_info;
4074 cc_check
&& _sys_sysinfo
=yes
4075 if test "$_sys_sysinfo" = yes ; then
4076 def_sys_sysinfo_h
='#define HAVE_SYS_SYSINFO_H 1'
4078 def_sys_sysinfo_h
='#undef HAVE_SYS_SYSINFO_H'
4080 echores
"$_sys_sysinfo"
4085 echocheck
"Mac OS X Finder Support"
4086 def_macosx_finder
='#undef CONFIG_MACOSX_FINDER'
4087 if test "$_macosx_finder" = yes ; then
4088 def_macosx_finder
='#define CONFIG_MACOSX_FINDER 1'
4089 extra_ldflags
="$extra_ldflags -framework Carbon"
4091 echores
"$_macosx_finder"
4093 echocheck
"Mac OS X Bundle file locations"
4094 def_macosx_bundle
='#undef CONFIG_MACOSX_BUNDLE'
4095 test "$_macosx_bundle" = auto
&& _macosx_bundle
=$_macosx_finder
4096 if test "$_macosx_bundle" = yes ; then
4097 def_macosx_bundle
='#define CONFIG_MACOSX_BUNDLE 1'
4098 extra_ldflags
="$extra_ldflags -framework Carbon"
4100 echores
"$_macosx_bundle"
4102 echocheck
"Apple Remote"
4103 if test "$_apple_remote" = auto
; then
4107 #include <IOKit/IOCFPlugIn.h>
4109 io_iterator_t hidObjectIterator = (io_iterator_t)NULL;
4110 CFMutableDictionaryRef hidMatchDictionary;
4111 IOReturn ioReturnValue;
4113 // Set up a matching dictionary to search the I/O Registry by class.
4114 // name for all HID class devices
4115 hidMatchDictionary = IOServiceMatching("AppleIRController");
4117 // Now search I/O Registry for matching devices.
4118 ioReturnValue = IOServiceGetMatchingServices(kIOMasterPortDefault,
4119 hidMatchDictionary, &hidObjectIterator);
4121 // If search is unsuccessful, return nonzero.
4122 if (ioReturnValue != kIOReturnSuccess ||
4123 !IOIteratorIsValid(hidObjectIterator)) {
4129 cc_check
-framework IOKit
&& tmp_run
&& _apple_remote
=yes
4131 if test "$_apple_remote" = yes ; then
4132 def_apple_remote
='#define CONFIG_APPLE_REMOTE 1'
4133 libs_mplayer
="$libs_mplayer -framework IOKit -framework Cocoa"
4135 def_apple_remote
='#undef CONFIG_APPLE_REMOTE'
4137 echores
"$_apple_remote"
4143 echocheck
"Apple IR"
4144 if test "$_apple_ir" = auto
; then
4147 #include <linux/types.h>
4148 #include <linux/input.h>
4150 struct input_event ev;
4155 cc_check
&& _apple_ir
=yes
4157 if test "$_apple_ir" = yes ; then
4158 def_apple_ir
='#define CONFIG_APPLE_IR 1'
4160 def_apple_ir
='#undef CONFIG_APPLE_IR'
4162 echores
"$_apple_ir"
4165 echocheck
"pkg-config"
4166 _pkg_config
=pkg-config
4167 if $
($_pkg_config --version > /dev
/null
2>&1); then
4168 if test "$_ld_static"; then
4169 _pkg_config
="$_pkg_config --static"
4178 echocheck
"Samba support (libsmbclient)"
4179 if test "$_smb" = yes; then
4180 extra_ldflags
="$extra_ldflags -lsmbclient"
4182 if test "$_smb" = auto
; then
4185 #include <libsmbclient.h>
4186 int main(void) { smbc_opendir("smb://"); return 0; }
4188 for _ld_tmp
in "-lsmbclient" "-lsmbclient $_ld_dl" "-lsmbclient $_ld_dl -lnsl" "-lsmbclient $_ld_dl -lssl -lnsl" ; do
4189 cc_check
$_ld_tmp && extra_ldflags
="$extra_ldflags $_ld_tmp" && \
4194 if test "$_smb" = yes; then
4195 def_smb
="#define CONFIG_LIBSMBCLIENT 1"
4196 inputmodules
="smb $inputmodules"
4198 def_smb
="#undef CONFIG_LIBSMBCLIENT"
4199 noinputmodules
="smb $noinputmodules"
4210 if test "$_tdfxfb" = yes ; then
4211 def_tdfxfb
='#define CONFIG_TDFXFB 1'
4212 vomodules
="tdfxfb $vomodules"
4214 def_tdfxfb
='#undef CONFIG_TDFXFB'
4215 novomodules
="tdfxfb $novomodules"
4220 if test "$_s3fb" = yes ; then
4221 def_s3fb
='#define CONFIG_S3FB 1'
4222 vomodules
="s3fb $vomodules"
4224 def_s3fb
='#undef CONFIG_S3FB'
4225 novomodules
="s3fb $novomodules"
4230 if test "$_wii" = yes ; then
4231 def_wii
='#define CONFIG_WII 1'
4232 vomodules
="wii $vomodules"
4234 def_wii
='#undef CONFIG_WII'
4235 novomodules
="wii $novomodules"
4240 if test "$_tdfxvid" = yes ; then
4241 def_tdfxvid
='#define CONFIG_TDFX_VID 1'
4242 vomodules
="tdfx_vid $vomodules"
4244 def_tdfxvid
='#undef CONFIG_TDFX_VID'
4245 novomodules
="tdfx_vid $novomodules"
4250 if test "$_xvr100" = auto
; then
4253 #include <sys/fbio.h>
4254 #include <sys/visual_io.h>
4256 struct vis_identifier ident;
4257 struct fbgattr attr;
4258 ioctl(0, VIS_GETIDENTIFIER, &ident);
4259 ioctl(0, FBIOGATTR, &attr);
4264 cc_check
&& _xvr100
=yes
4266 if test "$_xvr100" = yes ; then
4267 def_xvr100
='#define CONFIG_XVR100 1'
4268 vomodules
="xvr100 $vomodules"
4270 def_tdfxvid
='#undef CONFIG_XVR100'
4271 novomodules
="xvr100 $novomodules"
4276 if test "$_tga" = yes ; then
4277 def_tga
='#define CONFIG_TGA 1'
4278 vomodules
="tga $vomodules"
4280 def_tga
='#undef CONFIG_TGA'
4281 novomodules
="tga $novomodules"
4286 echocheck
"md5sum support"
4287 if test "$_md5sum" = yes; then
4288 def_md5sum
="#define CONFIG_MD5SUM 1"
4289 vomodules
="md5sum $vomodules"
4291 def_md5sum
="#undef CONFIG_MD5SUM"
4292 novomodules
="md5sum $novomodules"
4297 echocheck
"yuv4mpeg support"
4298 if test "$_yuv4mpeg" = yes; then
4299 def_yuv4mpeg
="#define CONFIG_YUV4MPEG 1"
4300 vomodules
="yuv4mpeg $vomodules"
4302 def_yuv4mpeg
="#undef CONFIG_YUV4MPEG"
4303 novomodules
="yuv4mpeg $novomodules"
4305 echores
"$_yuv4mpeg"
4309 if test "$_bl" = yes ; then
4310 def_bl
='#define CONFIG_BL 1'
4311 vomodules
="bl $vomodules"
4313 def_bl
='#undef CONFIG_BL'
4314 novomodules
="bl $novomodules"
4319 echocheck
"DirectFB"
4320 if test "$_directfb" = auto
; then
4323 #include <directfb.h>
4324 int main(void) { DirectFBInit(0, 0); return 0; }
4326 for _inc_tmp
in "" -I/usr
/local
/include
/directfb \
4327 -I/usr
/include
/directfb
-I/usr
/local
/include
; do
4328 cc_check
$_inc_tmp -ldirectfb && _directfb
=yes && \
4329 extra_cflags
="$extra_cflags $_inc_tmp" && break
4334 expr $1 \
* 65536 + $2 \
* 256 + $3
4337 if test "$_directfb" = yes; then
4339 #include <directfb_version.h>
4341 dfb_ver = DIRECTFB_MAJOR_VERSION.DIRECTFB_MINOR_VERSION.DIRECTFB_MICRO_VERSION
4344 if $_cc -E $TMPC $extra_cflags > "$TMPEXE"; then
4345 _directfb_version
=$
(sed -n 's/^dfb_ver[^0-9]*\(.*\)/\1/p' "$TMPEXE" |
tr -d '()')
4346 _dfb_major
=$
(echo $_directfb_version | cut
-d .
-f 1)
4347 _dfb_minor
=$
(echo $_directfb_version | cut
-d .
-f 2)
4348 _dfb_micro
=$
(echo $_directfb_version | cut
-d .
-f 3)
4349 _dfb_version
=$
(dfb_version
$_dfb_major $_dfb_minor $_dfb_micro)
4350 if test "$_dfb_version" -ge $
(dfb_version
0 9 13); then
4351 def_directfb_version
="#define DIRECTFBVERSION $_dfb_version"
4352 res_comment
="$_directfb_version"
4353 test "$_dfb_version" -ge $
(dfb_version
0 9 15) && _dfbmga
=yes
4355 def_directfb_version
='#undef DIRECTFBVERSION'
4357 res_comment
="version >=0.9.13 required"
4361 res_comment
="failed to get version"
4364 echores
"$_directfb"
4366 if test "$_directfb" = yes ; then
4367 def_directfb
='#define CONFIG_DIRECTFB 1'
4368 vomodules
="directfb $vomodules"
4369 libs_mplayer
="$libs_mplayer -ldirectfb"
4371 def_directfb
='#undef CONFIG_DIRECTFB'
4372 novomodules
="directfb $novomodules"
4374 if test "$_dfbmga" = yes; then
4375 vomodules
="dfbmga $vomodules"
4376 def_dfbmga
='#define CONFIG_DFBMGA 1'
4378 novomodules
="dfbmga $novomodules"
4379 def_dfbmga
='#undef CONFIG_DFBMGA'
4383 echocheck
"X11 headers presence"
4385 res_comment
="check if the dev(el) packages are installed"
4386 for I
in $
(echo $extra_cflags |
sed s
/-I//g
) /usr
/include
; do
4387 if test -f "$I/X11/Xlib.h" ; then
4393 if test $_cross_compile = no
; then
4394 for I
in /usr
/X11
/include
/usr
/X11R
7/include
/usr
/local
/include
/usr
/X11R
6/include \
4395 /usr
/include
/X11R6
/usr
/openwin
/include
; do
4396 if test -f "$I/X11/Xlib.h" ; then
4397 extra_cflags
="$extra_cflags -I$I"
4399 res_comment
="using $I"
4404 echores
"$_x11_headers"
4408 if test "$_x11" = auto
&& test "$_x11_headers" = yes ; then
4410 #include <X11/Xlib.h>
4411 #include <X11/Xutil.h>
4412 int main(void) { (void) XCreateWindow(0,0,0,0,0,0,0,0,0,0,0,0); return 0; }
4414 for I
in "" -L/usr
/X11R
7/lib
-L/usr
/local
/lib
-L/usr
/X11R
6/lib
-L/usr
/lib
/X11R6 \
4415 -L/usr
/X11
/lib
-L/usr
/lib32
-L/usr
/openwin
/lib
-L/usr
/local
/lib64
-L/usr
/X11R
6/lib64 \
4418 _ld_tmp
="$I -lXext -lX11 $_ld_pthread -Wl,-R$(echo $I | sed s/^-L//)"
4420 _ld_tmp
="$I -lXext -lX11 $_ld_pthread"
4422 cc_check
$_ld_tmp && libs_mplayer
="$libs_mplayer $_ld_tmp" \
4423 && _x11
=yes && break
4426 if test "$_x11" = yes ; then
4427 def_x11
='#define CONFIG_X11 1'
4428 vomodules
="x11 xover $vomodules"
4431 def_x11
='#undef CONFIG_X11'
4432 novomodules
="x11 $novomodules"
4433 res_comment
="check if the dev(el) packages are installed"
4434 # disable stuff that depends on X
4435 _xv
=no
; _xvmc
=no
; _xinerama
=no
; _vm
=no
; _xf86keysym
=no
; _vdpau
=no
4439 echocheck
"Xss screensaver extensions"
4440 if test "$_xss" = auto
; then
4442 #include <X11/Xlib.h>
4443 #include <X11/extensions/scrnsaver.h>
4444 int main(void) { XScreenSaverSuspend(NULL, True); return 0; }
4447 cc_check
-lXss && _xss
=yes
4449 if test "$_xss" = yes ; then
4450 def_xss
='#define CONFIG_XSS 1'
4451 libs_mplayer
="$libs_mplayer -lXss"
4453 def_xss
='#undef CONFIG_XSS'
4460 if test "$_x11" = yes ; then
4462 #include <X11/Xmd.h>
4463 #include <X11/Xlib.h>
4464 #include <X11/Xutil.h>
4465 #include <X11/Xatom.h>
4466 #include <X11/extensions/dpms.h>
4467 int main(void) { (void) DPMSQueryExtension(0, 0, 0); return 0; }
4469 cc_check
-lXdpms && _xdpms3
=yes
4471 #include <X11/Xlib.h>
4472 #include <X11/extensions/dpms.h>
4473 int main(void) { (void) DPMSQueryExtension(0, 0, 0); return 0; }
4475 cc_check
-lXext && _xdpms4
=yes
4477 if test "$_xdpms4" = yes ; then
4478 def_xdpms
='#define CONFIG_XDPMS 1'
4479 res_comment
="using Xdpms 4"
4481 elif test "$_xdpms3" = yes ; then
4482 def_xdpms
='#define CONFIG_XDPMS 1'
4483 libs_mplayer
="$libs_mplayer -lXdpms"
4484 res_comment
="using Xdpms 3"
4487 def_xdpms
='#undef CONFIG_XDPMS'
4493 if test "$_xv" = auto
; then
4495 #include <X11/Xlib.h>
4496 #include <X11/extensions/Xvlib.h>
4498 (void) XvGetPortAttribute(0, 0, 0, 0);
4499 (void) XvQueryPortAttributes(0, 0, 0);
4503 cc_check
-lXv && _xv
=yes
4506 if test "$_xv" = yes ; then
4507 def_xv
='#define CONFIG_XV 1'
4508 libs_mplayer
="$libs_mplayer -lXv"
4509 vomodules
="xv $vomodules"
4511 def_xv
='#undef CONFIG_XV'
4512 novomodules
="xv $novomodules"
4518 if test "$_xv" = yes && test "$_xvmc" != no
; then
4521 #include <X11/Xlib.h>
4522 #include <X11/extensions/Xvlib.h>
4523 #include <X11/extensions/XvMClib.h>
4525 (void) XvMCQueryExtension(0,0,0);
4526 (void) XvMCCreateContext(0,0,0,0,0,0,0);
4529 for _ld_tmp
in $_xvmclib XvMCNVIDIA XvMCW I810XvMC
; do
4530 cc_check
-lXvMC -l$_ld_tmp && _xvmc
=yes && _xvmclib
="$_ld_tmp" && break
4533 if test "$_xvmc" = yes ; then
4534 def_xvmc
='#define CONFIG_XVMC 1'
4535 libs_mplayer
="$libs_mplayer -lXvMC -l$_xvmclib"
4536 vomodules
="xvmc $vomodules"
4537 res_comment
="using $_xvmclib"
4539 def_xvmc
='#define CONFIG_XVMC 0'
4540 novomodules
="xvmc $novomodules"
4541 _libavdecoders
=$
(echo $_libavdecoders |
sed -e s
/MPEG_XVMC_DECODER
//)
4547 if test "$_vdpau" = auto
; then
4549 if test "$_dl" = yes ; then
4551 #include <vdpau/vdpau_x11.h>
4553 (void) vdp_device_create_x11(0, 0, 0, 0);
4554 return VDP_VIDEO_MIXER_FEATURE_HIGH_QUALITY_SCALING_L1; }
4556 cc_check
-lvdpau && _vdpau
=yes
4559 if test "$_vdpau" = yes ; then
4560 def_vdpau
='#define CONFIG_VDPAU 1'
4561 libs_mplayer
="$libs_mplayer -lvdpau"
4562 vomodules
="vdpau $vomodules"
4564 def_vdpau
='#define CONFIG_VDPAU 0'
4565 novomodules
="vdpau $novomodules"
4566 _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
//)
4571 echocheck
"Xinerama"
4572 if test "$_xinerama" = auto
; then
4574 #include <X11/Xlib.h>
4575 #include <X11/extensions/Xinerama.h>
4576 int main(void) { (void) XineramaIsActive(0); return 0; }
4579 cc_check
-lXinerama && _xinerama
=yes
4582 if test "$_xinerama" = yes ; then
4583 def_xinerama
='#define CONFIG_XINERAMA 1'
4584 libs_mplayer
="$libs_mplayer -lXinerama"
4586 def_xinerama
='#undef CONFIG_XINERAMA'
4588 echores
"$_xinerama"
4591 # Note: the -lXxf86vm library is the VideoMode extension and though it's not
4592 # needed for DGA, AFAIK every distribution packages together with DGA stuffs
4593 # named 'X extensions' or something similar.
4594 # This check may be useful for future mplayer versions (to change resolution)
4595 # If you run into problems, remove '-lXxf86vm'.
4597 if test "$_vm" = auto
; then
4599 #include <X11/Xlib.h>
4600 #include <X11/extensions/xf86vmode.h>
4601 int main(void) { (void) XF86VidModeQueryExtension(0, 0, 0); return 0; }
4604 cc_check
-lXxf86vm && _vm
=yes
4606 if test "$_vm" = yes ; then
4607 def_vm
='#define CONFIG_XF86VM 1'
4608 libs_mplayer
="$libs_mplayer -lXxf86vm"
4610 def_vm
='#undef CONFIG_XF86VM'
4614 # Check for the presence of special keycodes, like audio control buttons
4615 # that XFree86 might have. Used to be bundled with the xf86vm check, but
4616 # has nothing to do with xf86vm and XFree 3.x has xf86vm but does NOT
4617 # have these new keycodes.
4618 echocheck
"XF86keysym"
4619 if test "$_xf86keysym" = auto
; then
4622 #include <X11/Xlib.h>
4623 #include <X11/XF86keysym.h>
4624 int main(void) { return XF86XK_AudioPause; }
4626 cc_check
&& _xf86keysym
=yes
4628 if test "$_xf86keysym" = yes ; then
4629 def_xf86keysym
='#define CONFIG_XF86XK 1'
4631 def_xf86keysym
='#undef CONFIG_XF86XK'
4633 echores
"$_xf86keysym"
4636 if test "$_dga2" = auto
&& test "$_x11" = yes ; then
4638 #include <X11/Xlib.h>
4639 #include <X11/extensions/xf86dga.h>
4640 int main(void) { (void) XDGASetViewport(0, 0, 0, 0, 0); return 0; }
4643 cc_check
-lXxf86dga && _dga2
=yes
4645 if test "$_dga1" = auto
&& test "$_dga2" = no
&& test "$_vm" = yes ; then
4647 #include <X11/Xlib.h>
4648 #include <X11/extensions/xf86dga.h>
4649 int main(void) { (void) XF86DGASetViewPort(0, 0, 0, 0); return 0; }
4652 cc_check
-lXxf86dga -lXxf86vm && _dga1
=yes
4656 def_dga
='#undef CONFIG_DGA'
4657 def_dga1
='#undef CONFIG_DGA1'
4658 def_dga2
='#undef CONFIG_DGA2'
4659 if test "$_dga1" = yes ; then
4661 def_dga1
='#define CONFIG_DGA1 1'
4662 res_comment
="using DGA 1.0"
4663 elif test "$_dga2" = yes ; then
4665 def_dga2
='#define CONFIG_DGA2 1'
4666 res_comment
="using DGA 2.0"
4668 if test "$_dga" = yes ; then
4669 def_dga
='#define CONFIG_DGA 1'
4670 libs_mplayer
="$libs_mplayer -lXxf86dga"
4671 vomodules
="dga $vomodules"
4673 novomodules
="dga $novomodules"
4679 if test "$_3dfx" = yes && test "$_dga" = yes ; then
4680 def_3dfx
='#define CONFIG_3DFX 1'
4681 vomodules
="3dfx $vomodules"
4683 def_3dfx
='#undef CONFIG_3DFX'
4684 novomodules
="3dfx $novomodules"
4690 def_vidix
='#undef CONFIG_VIDIX'
4691 def_vidix_drv_cyberblade
='#undef CONFIG_VIDIX_DRV_CYBERBLADE'
4692 _vidix_drv_cyberblade
=no
4693 def_vidix_drv_ivtv
='#undef CONFIG_VIDIX_DRV_IVTV'
4695 def_vidix_drv_mach64
='#undef CONFIG_VIDIX_DRV_MACH64'
4696 _vidix_drv_mach64
=no
4697 def_vidix_drv_mga
='#undef CONFIG_VIDIX_DRV_MGA'
4699 def_vidix_drv_mga_crtc2
='#undef CONFIG_VIDIX_DRV_MGA_CRTC2'
4700 _vidix_drv_mga_crtc2
=no
4701 def_vidix_drv_nvidia
='#undef CONFIG_VIDIX_DRV_NVIDIA'
4702 _vidix_drv_nvidia
=no
4703 def_vidix_drv_pm2
='#undef CONFIG_VIDIX_DRV_PM2'
4705 def_vidix_drv_pm3
='#undef CONFIG_VIDIX_DRV_PM3'
4707 def_vidix_drv_radeon
='#undef CONFIG_VIDIX_DRV_RADEON'
4708 _vidix_drv_radeon
=no
4709 def_vidix_drv_rage128
='#undef CONFIG_VIDIX_DRV_RAGE128'
4710 _vidix_drv_rage128
=no
4711 def_vidix_drv_s3
='#undef CONFIG_VIDIX_DRV_S3'
4713 def_vidix_drv_sh_veu
='#undef CONFIG_VIDIX_DRV_SH_VEU'
4714 _vidix_drv_sh_veu
=no
4715 def_vidix_drv_sis
='#undef CONFIG_VIDIX_DRV_SIS'
4717 def_vidix_drv_unichrome
='#undef CONFIG_VIDIX_DRV_UNICHROME'
4718 _vidix_drv_unichrome
=no
4719 if test "$_vidix" = auto
; then
4721 x86
&& (linux || freebsd || netbsd || openbsd || dragonfly || sunos || win32
) \
4723 x86_64
&& ! linux
&& _vidix
=no
4724 (ppc || alpha
) && linux
&& _vidix
=yes
4728 if test "$_vidix" = yes ; then
4729 def_vidix
='#define CONFIG_VIDIX 1'
4730 vomodules
="cvidix $vomodules"
4731 # FIXME: ivtv driver temporarily disabled until we have a proper test
4732 #test "$_vidix_drivers" || _vidix_drivers="cyberblade ivtv mach64 mga mga_crtc2 nvidia pm2 pm3 radeon rage128 s3 sh_veu sis unichrome"
4733 test "$_vidix_drivers" || _vidix_drivers
="cyberblade mach64 mga mga_crtc2 nvidia pm2 pm3 radeon rage128 s3 sh_veu sis unichrome"
4735 # some vidix drivers are architecture and os specific, discard them elsewhere
4736 x86 || _vidix_drivers
=$
(echo $_vidix_drivers |
sed -e s
/cyberblade
// -e s
/sis
// -e s
/unichrome
// -e s
/s
3//)
4737 (test $host_arch = "sh" && linux
) || _vidix_drivers
=$
(echo $_vidix_drivers |
sed s
/sh_veu
//)
4739 for driver
in $_vidix_drivers ; do
4740 uc_driver
=$
(echo $driver |
tr '[a-z]' '[A-Z]')
4741 eval _vidix_drv_
${driver}=yes
4742 eval def_vidix_drv_
${driver}=\"\
#define CONFIG_VIDIX_DRV_${uc_driver} 1\"
4745 echocheck
"VIDIX PCI device name database"
4746 echores
"$_vidix_pcidb"
4747 if test "$_vidix_pcidb" = yes ; then
4753 echocheck
"VIDIX dhahelper support"
4754 test "$_dhahelper" = yes && cflags_dhahelper
=-DCONFIG_DHAHELPER
4755 echores
"$_dhahelper"
4757 echocheck
"VIDIX svgalib_helper support"
4758 test "$_svgalib_helper" = yes && cflags_svgalib_helper
=-DCONFIG_SVGAHELPER
4759 echores
"$_svgalib_helper"
4762 novomodules
="cvidix $novomodules"
4765 if test "$_vidix" = yes && win32
; then
4767 vomodules
="winvidix $vomodules"
4768 libs_mplayer
="$libs_mplayer -lgdi32"
4770 novomodules
="winvidix $novomodules"
4772 if test "$_vidix" = yes && test "$_x11" = yes; then
4774 vomodules
="xvidix $vomodules"
4776 novomodules
="xvidix $novomodules"
4779 echocheck
"/dev/mga_vid"
4780 if test "$_mga" = auto
; then
4782 test -c /dev
/mga_vid
&& _mga
=yes
4784 if test "$_mga" = yes ; then
4785 def_mga
='#define CONFIG_MGA 1'
4786 vomodules
="mga $vomodules"
4788 def_mga
='#undef CONFIG_MGA'
4789 novomodules
="mga $novomodules"
4794 if test "$_xmga" = auto
; then
4796 test "$_x11" = yes && test "$_mga" = yes && _xmga
=yes
4798 if test "$_xmga" = yes ; then
4799 def_xmga
='#define CONFIG_XMGA 1'
4800 vomodules
="xmga $vomodules"
4802 def_xmga
='#undef CONFIG_XMGA'
4803 novomodules
="xmga $novomodules"
4809 if test "$_ggi" = auto
; then
4811 #include <ggi/ggi.h>
4812 int main(void) { ggiInit(); return 0; }
4815 cc_check
-lggi && _ggi
=yes
4817 if test "$_ggi" = yes ; then
4818 def_ggi
='#define CONFIG_GGI 1'
4819 libs_mplayer
="$libs_mplayer -lggi"
4820 vomodules
="ggi $vomodules"
4822 def_ggi
='#undef CONFIG_GGI'
4823 novomodules
="ggi $novomodules"
4827 echocheck
"GGI extension: libggiwmh"
4828 if test "$_ggiwmh" = auto
; then
4831 #include <ggi/ggi.h>
4832 #include <ggi/wmh.h>
4833 int main(void) { ggiInit(); ggiWmhInit(); return 0; }
4835 cc_check
-lggi -lggiwmh && _ggiwmh
=yes
4837 # needed to get right output on obscure combination
4838 # like --disable-ggi --enable-ggiwmh
4839 if test "$_ggi" = yes && test "$_ggiwmh" = yes ; then
4840 def_ggiwmh
='#define CONFIG_GGIWMH 1'
4841 libs_mplayer
="$libs_mplayer -lggiwmh"
4844 def_ggiwmh
='#undef CONFIG_GGIWMH'
4850 if test "$_aa" = auto
; then
4853 extern struct aa_hardware_params aa_defparams;
4854 extern struct aa_renderparams aa_defrenderparams;
4858 (void) aa_init(0, 0, 0);
4859 c = aa_autoinit(&aa_defparams);
4860 p = aa_getrenderparams();
4861 aa_autoinitkbd(c,0);
4865 for _ld_tmp
in "-laa" ; do
4866 cc_check
$_ld_tmp && libs_mplayer
="$libs_mplayer $_ld_tmp" && _aa
=yes && break
4869 if test "$_aa" = yes ; then
4870 def_aa
='#define CONFIG_AA 1'
4872 libs_mplayer
="$libs_mplayer $(aalib-config --libs | cut -d " " -f 2,5,6)"
4874 vomodules
="aa $vomodules"
4876 def_aa
='#undef CONFIG_AA'
4877 novomodules
="aa $novomodules"
4883 if test "$_caca" = auto
; then
4885 if ( caca-config
--version ) >> "$TMPLOG" 2>&1 ; then
4888 #ifdef CACA_API_VERSION_1
4891 int main(void) { (void) caca_init(); return 0; }
4893 cc_check $
(caca-config
--libs) && _caca
=yes
4896 if test "$_caca" = yes ; then
4897 def_caca
='#define CONFIG_CACA 1'
4898 extra_cflags
="$extra_cflags $(caca-config --cflags)"
4899 libs_mplayer
="$libs_mplayer $(caca-config --libs)"
4900 vomodules
="caca $vomodules"
4902 def_caca
='#undef CONFIG_CACA'
4903 novomodules
="caca $novomodules"
4909 if test "$_svga" = auto
; then
4912 int main(void) { return 0; }
4915 cc_check
-lvga $_ld_lm && _svga
=yes
4917 if test "$_svga" = yes ; then
4918 def_svga
='#define CONFIG_SVGALIB 1'
4919 libs_mplayer
="$libs_mplayer -lvga"
4920 vomodules
="svga $vomodules"
4922 def_svga
='#undef CONFIG_SVGALIB'
4923 novomodules
="svga $novomodules"
4929 if test "$_fbdev" = auto
; then
4933 if test "$_fbdev" = yes ; then
4934 def_fbdev
='#define CONFIG_FBDEV 1'
4935 vomodules
="fbdev $vomodules"
4937 def_fbdev
='#undef CONFIG_FBDEV'
4938 novomodules
="fbdev $novomodules"
4945 if test "$_dvb" = auto
; then
4949 #include <sys/ioctl.h>
4953 #include <linux/dvb/dmx.h>
4954 #include <linux/dvb/frontend.h>
4955 #include <linux/dvb/video.h>
4956 #include <linux/dvb/audio.h>
4957 int main(void) {return 0;}
4959 for _inc_tmp
in "" "-I/usr/src/DVB/include" ; do
4960 cc_check
$_inc_tmp && _dvb
=yes && \
4961 extra_cflags
="$extra_cflags $_inc_tmp" && break
4965 if test "$_dvb" = yes ; then
4967 inputmodules
="dvb $inputmodules"
4968 def_dvb
='#define CONFIG_DVB 1'
4969 def_dvbin
='#define CONFIG_DVBIN 1'
4970 aomodules
="mpegpes(dvb) $aomodules"
4971 vomodules
="mpegpes(dvb) $vomodules"
4974 noinputmodules
="dvb $noinputmodules"
4975 def_dvb
='#undef CONFIG_DVB'
4976 def_dvbin
='#undef CONFIG_DVBIN '
4977 aomodules
="mpegpes(file) $aomodules"
4978 vomodules
="mpegpes(file) $vomodules"
4984 echocheck
"QuickTime"
4985 if test "$quicktime" = auto
; then
4987 #include <QuickTime/QuickTime.h>
4989 ImageDescription *desc;
4996 cc_check
-framework QuickTime
&& quicktime
=yes
4998 if test "$quicktime" = yes ; then
4999 extra_ldflags
="$extra_ldflags -framework QuickTime"
5000 def_quicktime
='#define CONFIG_QUICKTIME 1'
5002 def_quicktime
='#undef CONFIG_QUICKTIME'
5008 if test "$_quartz" = auto
; then
5010 #include <Carbon/Carbon.h>
5012 CFRunLoopRunInMode(kCFRunLoopDefaultMode, 0, false);
5017 cc_check
-framework Carbon
&& _quartz
=yes
5019 if test "$_quartz" = yes ; then
5020 libs_mplayer
="$libs_mplayer -framework Carbon"
5021 def_quartz
='#define CONFIG_QUARTZ 1'
5022 vomodules
="quartz $vomodules"
5024 def_quartz
='#undef CONFIG_QUARTZ'
5025 novomodules
="quartz $novomodules"
5029 echocheck
"CoreVideo"
5030 if test "$_corevideo" = auto
; then
5032 #include <Carbon/Carbon.h>
5033 #include <CoreServices/CoreServices.h>
5034 #include <OpenGL/OpenGL.h>
5035 #include <QuartzCore/CoreVideo.h>
5036 int main(void) { return 0; }
5039 cc_check
-framework Carbon
-framework Cocoa
-framework QuartzCore
-framework OpenGL
&& _corevideo
=yes
5041 if test "$_corevideo" = yes ; then
5042 vomodules
="corevideo $vomodules"
5043 libs_mplayer
="$libs_mplayer -framework Carbon -framework Cocoa -framework QuartzCore -framework OpenGL"
5044 def_corevideo
='#define CONFIG_COREVIDEO 1'
5046 novomodules
="corevideo $novomodules"
5047 def_corevideo
='#undef CONFIG_COREVIDEO'
5049 echores
"$_corevideo"
5054 echocheck
"PNG support"
5055 if test "$_png" = auto
; then
5058 # Don't check for -lpng on irix since it has its own libpng
5059 # incompatible with the GNU libpng
5060 res_comment
="disabled on irix (not GNU libpng)"
5066 printf("png.h : %s\n", PNG_LIBPNG_VER_STRING);
5067 printf("libpng: %s\n", png_libpng_ver);
5068 return strcmp(PNG_LIBPNG_VER_STRING, png_libpng_ver);
5071 cc_check
-lpng -lz $_ld_lm && _png
=yes
5075 if test "$_png" = yes ; then
5076 def_png
='#define CONFIG_PNG 1'
5077 extra_ldflags
="$extra_ldflags -lpng -lz"
5079 def_png
='#undef CONFIG_PNG'
5082 echocheck
"MNG support"
5083 if test "$_mng" = auto
; then
5088 const char * p_ver = mng_version_text();
5089 return !p_ver || p_ver[0] == 0;
5092 if cc_check
-lmng -lz $_ld_lm ; then
5097 if test "$_mng" = yes ; then
5098 def_mng
='#define CONFIG_MNG 1'
5099 extra_ldflags
="$extra_ldflags -lmng -lz"
5101 def_mng
='#undef CONFIG_MNG'
5104 echocheck
"JPEG support"
5105 if test "$_jpeg" = auto
; then
5112 #include <jpeglib.h>
5113 int main(void) { return 0; }
5115 cc_check
-ljpeg $_ld_lm && _jpeg
=yes
5119 if test "$_jpeg" = yes ; then
5120 def_jpeg
='#define CONFIG_JPEG 1'
5121 vomodules
="jpeg $vomodules"
5122 extra_ldflags
="$extra_ldflags -ljpeg"
5124 def_jpeg
='#undef CONFIG_JPEG'
5125 novomodules
="jpeg $novomodules"
5129 echocheck
"OpenJPEG (JPEG2000) support"
5130 if test "$libopenjpeg" = auto
; then
5134 #include <openjpeg.h>
5135 int main(void) { opj_dparameters_t dec_params; opj_set_default_decoder_parameters(&dec_params); return 0; }
5137 cc_check
-lopenjpeg $_ld_lm && libopenjpeg
=yes
5139 echores
"$libopenjpeg"
5140 if test "$libopenjpeg" = yes ; then
5141 def_libopenjpeg
='#define CONFIG_LIBOPENJPEG 1'
5142 extra_ldflags
="$extra_ldflags -lopenjpeg"
5143 _libavdecoders
="$_libavdecoders LIBOPENJPEG_DECODER"
5144 _libavencoders
="$_libavencoders LIBOPENJPEG_ENCODER"
5145 codecmodules
="OpenJPEG $codecmodules"
5147 def_libopenjpeg
='#define CONFIG_LIBOPENJPEG 0'
5148 nocodecmodules
="OpenJPEG $nocodecmodules"
5152 echocheck
"PNM support"
5153 if test "$_pnm" = yes; then
5154 def_pnm
="#define CONFIG_PNM 1"
5155 vomodules
="pnm $vomodules"
5157 def_pnm
="#undef CONFIG_PNM"
5158 novomodules
="pnm $novomodules"
5164 echocheck
"GIF support"
5165 # This is to appease people who want to force gif support.
5166 # If it is forced to yes, then we still do checks to determine
5167 # which gif library to use.
5168 if test "$_gif" = yes ; then
5173 if test "$_gif" = auto
; then
5176 #include <gif_lib.h>
5177 int main(void) { return 0; }
5179 for _ld_gif
in "-lungif" "-lgif" ; do
5180 cc_check
$_ld_gif && _gif
=yes && break
5184 # If no library was found, and the user wants support forced,
5185 # then we force it on with libgif, as this is the safest
5186 # assumption IMHO. (libungif & libregif both create symbolic
5187 # links to libgif. We also assume that no x11 support is needed,
5188 # because if you are forcing this, then you _should_ know what
5189 # you are doing. [ Besides, package maintainers should never
5190 # have compiled x11 deps into libungif in the first place. ] )
5193 if test "$_force_gif" = yes && test "$_gif" = no
; then
5198 if test "$_gif" = yes ; then
5199 def_gif
='#define CONFIG_GIF 1'
5200 codecmodules
="gif $codecmodules"
5201 vomodules
="gif89a $vomodules"
5202 res_comment
="old version, some encoding functions disabled"
5203 def_gif_4
='#undef CONFIG_GIF_4'
5204 extra_ldflags
="$extra_ldflags $_ld_gif"
5208 #include <gif_lib.h>
5209 void catch() { exit(1); }
5211 signal(SIGSEGV, catch); // catch segfault
5212 printf("EGifPutExtensionFirst is at address %p\n", EGifPutExtensionFirst);
5213 EGifSetGifVersion("89a"); // this will segfault a buggy gif lib.
5217 if cc_check
"$_ld_gif" ; then
5218 def_gif_4
='#define CONFIG_GIF_4 1'
5222 def_gif
='#undef CONFIG_GIF'
5223 def_gif_4
='#undef CONFIG_GIF_4'
5224 novomodules
="gif89a $novomodules"
5225 nocodecmodules
="gif $nocodecmodules"
5230 case "$_gif" in yes*)
5231 echocheck
"broken giflib workaround"
5232 def_gif_tvt_hack
='#define CONFIG_GIF_TVT_HACK 1'
5235 #include <gif_lib.h>
5238 printf("UserData is at address %p\n", gif.UserData);
5242 if cc_check
"$_ld_gif" ; then
5243 def_gif_tvt_hack
='#undef CONFIG_GIF_TVT_HACK'
5252 echocheck
"VESA support"
5253 if test "$_vesa" = auto
; then
5256 int main(void) { vbeVersion(); return 0; }
5259 cc_check
-lvbe -llrmi && _vesa
=yes
5261 if test "$_vesa" = yes ; then
5262 def_vesa
='#define CONFIG_VESA 1'
5263 libs_mplayer
="$libs_mplayer -lvbe -llrmi"
5264 vomodules
="vesa $vomodules"
5266 def_vesa
='#undef CONFIG_VESA'
5267 novomodules
="vesa $novomodules"
5279 def_sdl_sdl_h
="#undef CONFIG_SDL_SDL_H"
5280 if test -z "$_sdlconfig" ; then
5281 if ( sdl-config
--version ) >>"$TMPLOG" 2>&1 ; then
5282 _sdlconfig
="sdl-config"
5283 elif ( sdl11-config
--version ) >>"$TMPLOG" 2>&1 ; then
5284 _sdlconfig
="sdl11-config"
5289 if test "$_sdl" = auto ||
test "$_sdl" = yes ; then
5291 #ifdef CONFIG_SDL_SDL_H
5292 #include <SDL/SDL.h>
5297 // we allow SDL hacking our main() only on OSX
5300 int main(int argc, char *argv[]) {
5301 SDL_Init(SDL_INIT_VIDEO|SDL_INIT_NOPARACHUTE);
5306 for _ld_tmp
in "-lSDL" "-lSDL -lpthread" "-lSDL -lwinmm -lgdi32" "-lSDL -lwinmm -lgdi32 -ldxguid" ; do
5307 if cc_check
-DCONFIG_SDL_SDL_H $_inc_tmp $_ld_tmp ; then
5309 def_sdl_sdl_h
="#define CONFIG_SDL_SDL_H 1"
5313 if test "$_sdl" = no
&& "$_sdlconfig" --version >>"$TMPLOG" 2>&1 ; then
5314 res_comment
="using $_sdlconfig"
5316 _inc_tmp
="$($_sdlconfig --cflags | cut -d " " -f 1,5,6 | sed s/no-cygwin/cygwin/)"
5317 _ld_tmp
="$($_sdlconfig --libs | cut -d " " -f 1,4,6 | sed s/no-cygwin/cygwin/)"
5319 _inc_tmp
=$
($_sdlconfig --cflags |
sed s
/-Dmain=SDL_main
//)
5320 _ld_tmp
=$
($_sdlconfig --libs |
sed -e s
/-mwindows// -e s
/-lmingw32//)
5322 _inc_tmp
="$($_sdlconfig --cflags)"
5323 _ld_tmp
="$($_sdlconfig --libs)"
5325 if cc_check
$_inc_tmp $_ld_tmp >>"$TMPLOG" 2>&1 ; then
5330 if test "$_sdl" = yes ; then
5331 def_sdl
='#define CONFIG_SDL 1'
5332 extra_cflags
="$extra_cflags $_inc_tmp"
5333 libs_mplayer
="$libs_mplayer $_ld_tmp"
5334 vomodules
="sdl $vomodules"
5335 aomodules
="sdl $aomodules"
5337 def_sdl
='#undef CONFIG_SDL'
5338 novomodules
="sdl $novomodules"
5339 noaomodules
="sdl $noaomodules"
5344 # make sure this stays below CoreVideo to avoid issues due to namespace
5345 # conflicts between -lGL and -framework OpenGL
5347 #Note: this test is run even with --enable-gl since we autodetect linker flags
5348 if (test "$_x11" = yes ||
test "$_sdl" = yes || win32
) && test "$_gl" != no
; then
5351 #include <windows.h>
5353 #elif defined(GL_SDL)
5355 #ifdef CONFIG_SDL_SDL_H
5356 #include <SDL/SDL.h>
5361 // we allow SDL hacking our main() only on OSX
5366 #include <X11/Xlib.h>
5372 wglCreateContext(dc);
5373 #elif defined(GL_SDL)
5374 SDL_GL_SwapBuffers();
5376 glXCreateContext(NULL, NULL, NULL, True);
5383 for _ld_tmp
in "" -lGL "-lGL -lXdamage" "-lGL $_ld_pthread" ; do
5384 if cc_check
$_ld_tmp $_ld_lm ; then
5387 libs_mplayer
="$libs_mplayer $_ld_tmp $_ld_dl"
5391 if cc_check
-DGL_WIN32 -lopengl32 ; then
5394 libs_mplayer
="$libs_mplayer -lopengl32 -lgdi32"
5396 # last so it can reuse any linker etc. flags detected before
5397 if test "$_sdl" = yes ; then
5398 if cc_check
-DGL_SDL ||
5399 cc_check
-DCONFIG_SDL_SDL_H -DGL_SDL ; then
5402 elif cc_check
-DGL_SDL -lGL ||
5403 cc_check
-DCONFIG_SDL_SDL_H -DGL_SDL -lGL ; then
5406 libs_mplayer
="$libs_mplayer -lGL"
5412 if test "$_gl" = yes ; then
5413 def_gl
='#define CONFIG_GL 1'
5414 res_comment
="backends:"
5415 if test "$_gl_win32" = yes ; then
5416 def_gl_win32
='#define CONFIG_GL_WIN32 1'
5417 res_comment
="$res_comment win32"
5419 if test "$_gl_x11" = yes ; then
5420 def_gl_x11
='#define CONFIG_GL_X11 1'
5421 res_comment
="$res_comment x11"
5423 if test "$_gl_sdl" = yes ; then
5424 def_gl_sdl
='#define CONFIG_GL_SDL 1'
5425 res_comment
="$res_comment sdl"
5427 vomodules
="opengl $vomodules"
5429 def_gl
='#undef CONFIG_GL'
5430 def_gl_win32
='#undef CONFIG_GL_WIN32'
5431 def_gl_x11
='#undef CONFIG_GL_X11'
5432 def_gl_sdl
='#undef CONFIG_GL_SDL'
5433 novomodules
="opengl $novomodules"
5438 echocheck
"MatrixView"
5439 if test "$_gl" = no
; then
5442 if test "$matrixview" = yes ; then
5443 vomodules
="matrixview $vomodules"
5444 def_matrixview
='#define CONFIG_MATRIXVIEW 1'
5446 novomodules
="matrixview $novomodules"
5447 def_matrixview
='#undef CONFIG_MATRIXVIEW'
5449 echores
"$matrixview"
5453 echocheck
"KVA (SNAP/WarpOverlay!/DIVE)"
5454 if test "$_kva" = auto
; then
5458 int main( void ) { return 0; }
5461 cc_check
-lkva && _kva
=yes
5463 if test "$_kva" = yes ; then
5464 def_kva
='#define CONFIG_KVA 1'
5465 libs_mplayer
="$libs_mplayer -lkva"
5466 vomodules
="kva $vomodules"
5468 def_kva
='#undef CONFIG_KVA'
5469 novomodules
="kva $novomodules"
5477 echocheck
"Windows waveout"
5478 if test "$_win32waveout" = auto
; then
5480 #include <windows.h>
5481 #include <mmsystem.h>
5482 int main(void) { return 0; }
5485 cc_check
-lwinmm && _win32waveout
=yes
5487 if test "$_win32waveout" = yes ; then
5488 def_win32waveout
='#define CONFIG_WIN32WAVEOUT 1'
5489 libs_mplayer
="$libs_mplayer -lwinmm"
5490 aomodules
="win32 $aomodules"
5492 def_win32waveout
='#undef CONFIG_WIN32WAVEOUT'
5493 noaomodules
="win32 $noaomodules"
5495 echores
"$_win32waveout"
5497 echocheck
"Direct3D"
5498 if test "$_direct3d" = auto
; then
5500 #include <windows.h>
5502 int main(void) { return 0; }
5505 cc_check
&& _direct3d
=yes
5507 if test "$_direct3d" = yes ; then
5508 def_direct3d
='#define CONFIG_DIRECT3D 1'
5509 vomodules
="direct3d $vomodules"
5511 def_direct3d
='#undef CONFIG_DIRECT3D'
5512 novomodules
="direct3d $novomodules"
5514 echores
"$_direct3d"
5517 if test "$_directx" = auto
; then
5519 #include <windows.h>
5522 int main(void) { return 0; }
5525 cc_check
-lgdi32 && _directx
=yes
5527 if test "$_directx" = yes ; then
5528 def_directx
='#define CONFIG_DIRECTX 1'
5529 libs_mplayer
="$libs_mplayer -lgdi32"
5530 vomodules
="directx $vomodules"
5531 aomodules
="dsound $aomodules"
5533 def_directx
='#undef CONFIG_DIRECTX'
5534 novomodules
="directx $novomodules"
5535 noaomodules
="dsound $noaomodules"
5543 if test "$_dxr2" = auto
; then
5546 #include <dxr2ioctl.h>
5547 int main(void) { return 0; }
5549 for _inc_tmp
in "" -I/usr
/local
/include
/dxr2
-I/usr
/include
/dxr2
; do
5550 cc_check
$_inc_tmp && _dxr2
=yes && \
5551 extra_cflags
="$extra_cflags $_inc_tmp" && break
5554 if test "$_dxr2" = yes; then
5555 def_dxr2
='#define CONFIG_DXR2 1'
5556 aomodules
="dxr2 $aomodules"
5557 vomodules
="dxr2 $vomodules"
5559 def_dxr2
='#undef CONFIG_DXR2'
5560 noaomodules
="dxr2 $noaomodules"
5561 novomodules
="dxr2 $novomodules"
5566 if test "$_dxr3" = auto
; then
5568 #include <linux/em8300.h>
5569 int main(void) { return 0; }
5572 cc_check
&& _dxr3
=yes
5574 if test "$_dxr3" = yes ; then
5575 def_dxr3
='#define CONFIG_DXR3 1'
5576 vomodules
="dxr3 $vomodules"
5578 def_dxr3
='#undef CONFIG_DXR3'
5579 novomodules
="dxr3 $novomodules"
5584 echocheck
"IVTV TV-Out (pre linux-2.6.24)"
5585 if test "$_ivtv" = auto
; then
5588 #include <inttypes.h>
5589 #include <linux/types.h>
5590 #include <linux/videodev2.h>
5591 #include <linux/ivtv.h>
5592 #include <sys/ioctl.h>
5594 struct ivtv_cfg_stop_decode sd;
5595 struct ivtv_cfg_start_decode sd1;
5596 ioctl(0, IVTV_IOC_START_DECODE, &sd1);
5597 ioctl(0, IVTV_IOC_STOP_DECODE, &sd);
5601 cc_check
&& _ivtv
=yes
5603 if test "$_ivtv" = yes ; then
5604 def_ivtv
='#define CONFIG_IVTV 1'
5605 vomodules
="ivtv $vomodules"
5606 aomodules
="ivtv $aomodules"
5608 def_ivtv
='#undef CONFIG_IVTV'
5609 novomodules
="ivtv $novomodules"
5610 noaomodules
="ivtv $noaomodules"
5615 echocheck
"V4L2 MPEG Decoder"
5616 if test "$_v4l2" = auto
; then
5619 #include <inttypes.h>
5620 #include <linux/types.h>
5621 #include <linux/videodev2.h>
5622 #include <linux/version.h>
5624 #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,22)
5625 #error kernel headers too old, need 2.6.22
5627 struct v4l2_ext_controls ctrls;
5628 ctrls.ctrl_class = V4L2_CTRL_CLASS_MPEG;
5633 cc_check
&& _v4l2
=yes
5635 if test "$_v4l2" = yes ; then
5636 def_v4l2
='#define CONFIG_V4L2_DECODER 1'
5637 vomodules
="v4l2 $vomodules"
5638 aomodules
="v4l2 $aomodules"
5640 def_v4l2
='#undef CONFIG_V4L2_DECODER'
5641 novomodules
="v4l2 $novomodules"
5642 noaomodules
="v4l2 $noaomodules"
5653 echocheck
"OSS Audio"
5654 if test "$_ossaudio" = auto
; then
5656 #include <sys/ioctl.h>
5657 #include <$_soundcard_header>
5658 int main(void) { int arg = SNDCTL_DSP_SETFRAGMENT; return 0; }
5661 cc_check
&& _ossaudio
=yes
5663 if test "$_ossaudio" = yes ; then
5664 def_ossaudio
='#define CONFIG_OSS_AUDIO 1'
5665 aomodules
="oss $aomodules"
5666 if test "$_linux_devfs" = yes; then
5667 def_ossaudio_devdsp
='#define PATH_DEV_DSP "/dev/sound/dsp"'
5668 def_ossaudio_devmixer
='#define PATH_DEV_MIXER "/dev/sound/mixer"'
5671 #include <sys/ioctl.h>
5672 #include <$_soundcard_header>
5673 #ifdef OPEN_SOUND_SYSTEM
5674 int main(void) { return 0; }
5676 #error Not the real thing
5680 cc_check
&& _real_ossaudio
=yes
5681 if test "$_real_ossaudio" = yes; then
5682 def_ossaudio_devdsp
='#define PATH_DEV_DSP "/dev/dsp"'
5683 elif netbsd || openbsd
; then
5684 def_ossaudio_devdsp
='#define PATH_DEV_DSP "/dev/sound"'
5685 extra_ldflags
="$extra_ldflags -lossaudio"
5687 def_ossaudio_devdsp
='#define PATH_DEV_DSP "/dev/dsp"'
5689 def_ossaudio_devmixer
='#define PATH_DEV_MIXER "/dev/mixer"'
5692 def_ossaudio
='#undef CONFIG_OSS_AUDIO'
5693 def_ossaudio_devdsp
='#define PATH_DEV_DSP ""'
5694 def_ossaudio_devmixer
='#define PATH_DEV_MIXER ""'
5695 noaomodules
="oss $noaomodules"
5697 echores
"$_ossaudio"
5701 if test "$_arts" = auto
; then
5703 if ( artsc-config
--version ) >> "$TMPLOG" 2>&1 ; then
5707 int main(void) { return 0; }
5709 cc_check $
(artsc-config
--libs) $
(artsc-config
--cflags) && _arts
=yes
5714 if test "$_arts" = yes ; then
5715 def_arts
='#define CONFIG_ARTS 1'
5716 aomodules
="arts $aomodules"
5717 libs_mplayer
="$libs_mplayer $(artsc-config --libs)"
5718 extra_cflags
="$extra_cflags $(artsc-config --cflags)"
5720 noaomodules
="arts $noaomodules"
5726 if test "$_esd" = auto
; then
5728 if ( esd-config
--version ) >> "$TMPLOG" 2>&1 ; then
5732 int main(void) { int fd = esd_open_sound("test"); return fd; }
5734 cc_check $
(esd-config
--libs) $
(esd-config
--cflags) && _esd
=yes
5740 if test "$_esd" = yes ; then
5741 def_esd
='#define CONFIG_ESD 1'
5742 aomodules
="esd $aomodules"
5743 libs_mplayer
="$libs_mplayer $(esd-config --libs)"
5744 extra_cflags
="$extra_cflags $(esd-config --cflags)"
5746 echocheck
"esd_get_latency()"
5749 int main(void) { return esd_get_latency(0); }
5751 cc_check $
(esd-config
--libs) $
(esd-config
--cflags) && _esd_latency
=yes && def_esd_latency
='#define CONFIG_ESD_LATENCY 1'
5752 echores
"$_esd_latency"
5754 def_esd
='#undef CONFIG_ESD'
5755 def_esd_latency
='#undef CONFIG_ESD_LATENCY'
5756 noaomodules
="esd $noaomodules"
5761 if test "$_nas" = auto
; then
5763 #include <audio/audiolib.h>
5764 int main(void) { return 0; }
5767 cc_check
$_ld_lm -laudio -lXt && _nas
=yes
5769 if test "$_nas" = yes ; then
5770 def_nas
='#define CONFIG_NAS 1'
5771 libs_mplayer
="$libs_mplayer -laudio -lXt"
5772 aomodules
="nas $aomodules"
5774 noaomodules
="nas $noaomodules"
5775 def_nas
='#undef CONFIG_NAS'
5781 if test "$_pulse" = auto
; then
5783 if $_pkg_config --exists 'libpulse >= 0.9' ; then
5786 #include <pulse/pulseaudio.h>
5787 int main(void) { return 0; }
5789 cc_check $
($_pkg_config --libs --cflags libpulse
) && _pulse
=yes
5795 if test "$_pulse" = yes ; then
5796 def_pulse
='#define CONFIG_PULSE 1'
5797 aomodules
="pulse $aomodules"
5798 libs_mplayer
="$libs_mplayer $($_pkg_config --libs libpulse)"
5799 extra_cflags
="$extra_cflags $($_pkg_config --cflags libpulse)"
5801 def_pulse
='#undef CONFIG_PULSE'
5802 noaomodules
="pulse $noaomodules"
5807 if test "$_jack" = auto
; then
5811 #include <jack/jack.h>
5812 int main(void) { jack_client_open("test", JackUseExactName, NULL); return 0; }
5814 if cc_check
-ljack ; then
5815 libs_mplayer
="$libs_mplayer -ljack"
5816 elif cc_check $
($_pkg_config --libs --cflags --silence-errors jack
) ; then
5817 libs_mplayer
="$libs_mplayer $($_pkg_config --libs jack)"
5818 extra_cflags
="$extra_cflags "$
($_pkg_config --cflags jack
)""
5824 if test "$_jack" = yes ; then
5825 def_jack
='#define CONFIG_JACK 1'
5826 aomodules
="jack $aomodules"
5828 noaomodules
="jack $noaomodules"
5833 if test "$_openal" = auto
; then
5837 #include <OpenAL/al.h>
5842 alSourceQueueBuffers(0, 0, 0);
5843 // alGetSourcei(0, AL_SAMPLE_OFFSET, 0);
5847 for I
in "-lopenal" "-lopenal32" "-framework OpenAL" ; do
5848 cc_check
$I && _openal
=yes && break
5849 cc_check
-DOPENAL_AL_H=1 $I && def_openal_h
='#define OPENAL_AL_H 1' && _openal
=yes && break
5851 test "$_openal" = yes && libs_mplayer
="$libs_mplayer $I"
5853 if test "$_openal" = yes ; then
5854 def_openal
='#define CONFIG_OPENAL 1'
5855 aomodules
="openal $aomodules"
5857 noaomodules
="openal $noaomodules"
5861 echocheck
"ALSA audio"
5862 if test "$_alloca" != yes ; then
5864 res_comment
="alloca missing"
5866 if test "$_alsa" != no
; then
5869 #include <sys/time.h>
5870 #include <sys/asoundlib.h>
5871 #if !((SND_LIB_MAJOR == 0) && (SND_LIB_MINOR == 5))
5872 #error "alsa version != 0.5.x"
5874 int main(void) { return 0; }
5876 cc_check
-lasound $_ld_dl $_ld_pthread && _alsaver
='0.5.x'
5879 #include <sys/time.h>
5880 #include <sys/asoundlib.h>
5881 #if !((SND_LIB_MAJOR == 0) && (SND_LIB_MINOR == 9))
5882 #error "alsa version != 0.9.x"
5884 int main(void) { return 0; }
5886 cc_check
-lasound $_ld_dl $_ld_pthread && _alsaver
='0.9.x-sys'
5888 #include <sys/time.h>
5889 #include <alsa/asoundlib.h>
5890 #if !((SND_LIB_MAJOR == 0) && (SND_LIB_MINOR == 9))
5891 #error "alsa version != 0.9.x"
5893 int main(void) { return 0; }
5895 cc_check
-lasound $_ld_dl $_ld_pthread && _alsaver
='0.9.x-alsa'
5898 #include <sys/time.h>
5899 #include <sys/asoundlib.h>
5900 #if !((SND_LIB_MAJOR == 1) && (SND_LIB_MINOR == 0))
5901 #error "alsa version != 1.0.x"
5903 int main(void) { return 0; }
5905 cc_check
-lasound $_ld_dl $_ld_pthread && _alsaver
='1.0.x-sys'
5907 #include <sys/time.h>
5908 #include <alsa/asoundlib.h>
5909 #if !((SND_LIB_MAJOR == 1) && (SND_LIB_MINOR == 0))
5910 #error "alsa version != 1.0.x"
5912 int main(void) { return 0; }
5914 cc_check
-lasound $_ld_dl $_ld_pthread && _alsaver
='1.0.x-alsa'
5916 def_alsa
='#undef CONFIG_ALSA'
5917 def_alsa5
='#undef CONFIG_ALSA5'
5918 def_alsa9
='#undef CONFIG_ALSA9'
5919 def_alsa1x
='#undef CONFIG_ALSA1X'
5920 def_sys_asoundlib_h
='#undef HAVE_SYS_ASOUNDLIB_H'
5921 def_alsa_asoundlib_h
='#undef HAVE_ALSA_ASOUNDLIB_H'
5922 if test "$_alsaver" ; then
5924 if test "$_alsaver" = '0.5.x' ; then
5926 aomodules
="alsa5 $aomodules"
5927 def_alsa5
='#define CONFIG_ALSA5 1'
5928 def_sys_asoundlib_h
='#define HAVE_SYS_ASOUNDLIB_H 1'
5929 res_comment
="using alsa 0.5.x and sys/asoundlib.h"
5930 elif test "$_alsaver" = '0.9.x-sys' ; then
5932 aomodules
="alsa $aomodules"
5933 def_alsa
='#define CONFIG_ALSA 1'
5934 def_alsa9
='#define CONFIG_ALSA9 1'
5935 def_sys_asoundlib_h
='#define HAVE_SYS_ASOUNDLIB_H 1'
5936 res_comment
="using alsa 0.9.x and sys/asoundlib.h"
5937 elif test "$_alsaver" = '0.9.x-alsa' ; then
5939 aomodules
="alsa $aomodules"
5940 def_alsa
='#define CONFIG_ALSA 1'
5941 def_alsa9
='#define CONFIG_ALSA9 1'
5942 def_alsa_asoundlib_h
='#define HAVE_ALSA_ASOUNDLIB_H 1'
5943 res_comment
="using alsa 0.9.x and alsa/asoundlib.h"
5944 elif test "$_alsaver" = '1.0.x-sys' ; then
5946 aomodules
="alsa $aomodules"
5947 def_alsa
='#define CONFIG_ALSA 1'
5948 def_alsa1x
="#define CONFIG_ALSA1X 1"
5949 def_alsa_asoundlib_h
='#define HAVE_SYS_ASOUNDLIB_H 1'
5950 res_comment
="using alsa 1.0.x and sys/asoundlib.h"
5951 elif test "$_alsaver" = '1.0.x-alsa' ; then
5953 aomodules
="alsa $aomodules"
5954 def_alsa
='#define CONFIG_ALSA 1'
5955 def_alsa1x
="#define CONFIG_ALSA1X 1"
5956 def_alsa_asoundlib_h
='#define HAVE_ALSA_ASOUNDLIB_H 1'
5957 res_comment
="using alsa 1.0.x and alsa/asoundlib.h"
5960 res_comment
="unknown version"
5962 extra_ldflags
="$extra_ldflags -lasound $_ld_dl $_ld_pthread"
5964 noaomodules
="alsa $noaomodules"
5969 echocheck
"Sun audio"
5970 if test "$_sunaudio" = auto
; then
5972 #include <sys/types.h>
5973 #include <sys/audioio.h>
5974 int main(void) { audio_info_t info; AUDIO_INITINFO(&info); return 0; }
5977 cc_check
&& _sunaudio
=yes
5979 if test "$_sunaudio" = yes ; then
5980 def_sunaudio
='#define CONFIG_SUN_AUDIO 1'
5981 aomodules
="sun $aomodules"
5983 def_sunaudio
='#undef CONFIG_SUN_AUDIO'
5984 noaomodules
="sun $noaomodules"
5986 echores
"$_sunaudio"
5989 def_mlib
='#define CONFIG_MLIB 0'
5991 echocheck
"Sun mediaLib"
5992 if test "$_mlib" = auto
; then
5996 int main(void) { mlib_VideoColorYUV2ABGR420(0,0,0,0,0,0,0,0,0); return 0; }
5998 cc_check
-lmlib && _mlib
=yes && def_mlib
='#define CONFIG_MLIB 1'
6005 echocheck
"CoreAudio"
6006 if test "$_coreaudio" = auto
; then
6008 #include <CoreAudio/CoreAudio.h>
6009 #include <AudioToolbox/AudioToolbox.h>
6010 #include <AudioUnit/AudioUnit.h>
6011 int main(void) { return 0; }
6014 cc_check
-framework CoreAudio
-framework AudioUnit
-framework AudioToolbox
&& _coreaudio
=yes
6016 if test "$_coreaudio" = yes ; then
6017 libs_mplayer
="$libs_mplayer -framework CoreAudio -framework AudioUnit -framework AudioToolbox"
6018 def_coreaudio
='#define CONFIG_COREAUDIO 1'
6019 aomodules
="coreaudio $aomodules"
6021 def_coreaudio
='#undef CONFIG_COREAUDIO'
6022 noaomodules
="coreaudio $noaomodules"
6029 echocheck
"SGI audio"
6030 if test "$_sgiaudio" = auto
; then
6031 # check for SGI audio
6033 #include <dmedia/audio.h>
6034 int main(void) { return 0; }
6037 cc_check
&& _sgiaudio
=yes
6039 if test "$_sgiaudio" = "yes" ; then
6040 def_sgiaudio
='#define CONFIG_SGI_AUDIO 1'
6041 libs_mplayer
="$libs_mplayer -laudio"
6042 aomodules
="sgi $aomodules"
6044 def_sgiaudio
='#undef CONFIG_SGI_AUDIO'
6045 noaomodules
="sgi $noaomodules"
6047 echores
"$_sgiaudio"
6052 echocheck
"KAI (UNIAUD/DART)"
6053 if test "$_kai" = auto
; then
6057 int main(void) { return 0; }
6060 cc_check
-lkai && _kai
=yes
6062 if test "$_kai" = yes ; then
6063 def_kai
='#define CONFIG_KAI 1'
6064 libs_mplayer
="$libs_mplayer -lkai"
6065 aomodules
="kai $aomodules"
6067 def_kai
='#undef CONFIG_KAI'
6068 noaomodules
="kai $noaomodules"
6073 if test "$_dart" = auto
; then
6077 int main( void ) { return 0; }
6080 cc_check
-ldart && _dart
=yes
6082 if test "$_dart" = yes ; then
6083 def_dart
='#define CONFIG_DART 1'
6084 libs_mplayer
="$libs_mplayer -ldart"
6085 aomodules
="dart $aomodules"
6087 def_dart
='#undef CONFIG_DART'
6088 noaomodules
="dart $noaomodules"
6094 # set default CD/DVD devices
6095 if win32 || os2
; then
6096 default_cdrom_device
="D:"
6098 default_cdrom_device
="/dev/disk1"
6099 elif dragonfly
; then
6100 default_cdrom_device
="/dev/cd0"
6102 default_cdrom_device
="/dev/acd0"
6104 default_cdrom_device
="/dev/rcd0a"
6106 default_cdrom_device
="/vol/dev/aliases/cdrom0"
6107 # Modern Solaris versions use HAL instead of the vold daemon, the volfs
6108 # file system and the volfs service.
6109 test -r "/cdrom/cdrom0" && default_cdrom_device
="/cdrom/cdrom0"
6111 default_cdrom_device
="a1ide.device:2"
6113 default_cdrom_device
="/dev/cdrom"
6116 if win32 || os2 || dragonfly || freebsd || openbsd || sunos || amigaos
; then
6117 default_dvd_device
=$default_cdrom_device
6119 default_dvd_device
="/dev/rdiskN"
6121 default_dvd_device
="/dev/dvd"
6125 echocheck
"VCD support"
6126 if test "$_vcd" = auto
; then
6128 if linux || freebsd || netbsd || openbsd || dragonfly || bsdos || darwin || sunos || os2
; then
6132 #include <ddk/ntddcdrm.h>
6133 int main(void) { return 0; }
6135 cc_check
&& _vcd
=yes
6138 if test "$_vcd" = yes; then
6139 inputmodules
="vcd $inputmodules"
6140 def_vcd
='#define CONFIG_VCD 1'
6142 def_vcd
='#undef CONFIG_VCD'
6143 noinputmodules
="vcd $noinputmodules"
6144 res_comment
="not supported on this OS"
6151 if test "$_dvdread_internal" = auto
; then
6152 _dvdread_internal
=no
6154 if (linux || freebsd || netbsd || openbsd || dragonfly || sunos || hpux
) \
6155 && (test "$_dvd" = yes ||
test "$_cdrom" = yes ||
test "$_cdio" = yes || \
6156 test "$_dvdio" = yes ||
test "$_bsdi_dvd" = yes) \
6157 || darwin || win32 || os2
; then
6158 _dvdread_internal
=yes
6160 extra_cflags
="-Ilibdvdread4 $extra_cflags"
6162 elif test "$_dvdread" = auto
; then
6164 if test "$_dl" = yes; then
6166 #include <inttypes.h>
6167 #include <dvdread/dvd_reader.h>
6168 #include <dvdread/ifo_types.h>
6169 #include <dvdread/ifo_read.h>
6170 #include <dvdread/nav_read.h>
6171 int main(void) { return 0; }
6173 _dvdreadcflags
=$
($_dvdreadconfig --cflags)
6174 _dvdreadlibs
=$
($_dvdreadconfig --libs)
6175 if cc_check
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE \
6176 $_dvdreadcflags $_dvdreadlibs $_ld_dl ; then
6178 extra_cflags
="$extra_cflags $_dvdreadcflags"
6179 extra_ldflags
="$extra_ldflags $_dvdreadlibs"
6180 res_comment
="external"
6185 if test "$_dvdread_internal" = yes; then
6186 def_dvdread
='#define CONFIG_DVDREAD 1'
6187 inputmodules
="dvdread(internal) $inputmodules"
6189 res_comment
="internal"
6190 elif test "$_dvdread" = yes; then
6191 def_dvdread
='#define CONFIG_DVDREAD 1'
6193 extra_ldflags
="$extra_ldflags -ldvdread"
6194 inputmodules
="dvdread(external) $inputmodules"
6195 res_comment
="external"
6197 def_dvdread
='#undef CONFIG_DVDREAD'
6198 noinputmodules
="dvdread $noinputmodules"
6203 echocheck
"internal libdvdcss"
6204 if test "$_libdvdcss_internal" = auto
; then
6205 _libdvdcss_internal
=no
6206 test "$_dvdread_internal" = yes && _libdvdcss_internal
=yes
6207 hpux
&& test "$_hpux_scsi_h" = no
&& _libdvdcss_internal
=no
6209 if test "$_libdvdcss_internal" = yes ; then
6210 if linux || netbsd || openbsd || bsdos
; then
6211 def_dvd_linux
='#define HAVE_LINUX_DVD_STRUCT 1'
6212 openbsd
&& def_dvd_openbsd
='#define HAVE_OPENBSD_DVD_STRUCT 1'
6213 elif freebsd || dragonfly
; then
6214 def_dvd_bsd
='#define HAVE_BSD_DVD_STRUCT 1'
6216 def_dvd_darwin
='#define DARWIN_DVD_IOCTL'
6217 extra_ldflags
="$extra_ldflags -framework IOKit -framework Carbon"
6219 cflags_libdvdcss
="-DSYS_CYGWIN -DWIN32"
6221 cflags_libdvdcss
="-DSYS_BEOS"
6223 cflags_libdvdcss
="-DSYS_OS2"
6225 cflags_libdvdcss_dvdread
="-Ilibdvdcss"
6226 def_dvdcss
="#define HAVE_DVDCSS_DVDCSS_H 1"
6227 inputmodules
="libdvdcss(internal) $inputmodules"
6230 noinputmodules
="libdvdcss(internal) $noinputmodules"
6232 echores
"$_libdvdcss_internal"
6235 echocheck
"cdparanoia"
6236 if test "$_cdparanoia" = auto
; then
6238 #include <cdda_interface.h>
6239 #include <cdda_paranoia.h>
6240 // This need a better test. How ?
6241 int main(void) { void *test = cdda_verbose_set; return test == (void *)1; }
6244 for _inc_tmp
in "" "-I/usr/include/cdda" "-I/usr/local/include/cdda" ; do
6245 cc_check
$_inc_tmp -lcdda_interface -lcdda_paranoia $_ld_lm && \
6246 _cdparanoia
=yes && extra_cflags
="$extra_cflags $_inc_tmp" && break
6249 if test "$_cdparanoia" = yes ; then
6251 extra_ldflags
="$extra_ldflags -lcdda_interface -lcdda_paranoia"
6252 openbsd
&& extra_ldflags
="$extra_ldflags -lutil"
6254 echores
"$_cdparanoia"
6258 if test "$_libcdio" = auto
&& test "$_cdparanoia" = no
; then
6261 #include <cdio/version.h>
6262 #include <cdio/cdda.h>
6263 #include <cdio/paranoia.h>
6265 void *test = cdda_verbose_set;
6266 printf("%s\n", CDIO_VERSION);
6267 return test == (void *)1;
6271 for _ld_tmp
in "" "-lwinmm" ; do
6272 _ld_tmp
="-lcdio_cdda -lcdio -lcdio_paranoia $_ld_tmp"
6273 cc_check
$_ld_tmp $_ld_lm \
6274 && _libcdio
=yes && extra_ldflags
="$extra_ldflags $_ld_tmp" && break
6276 if test "$_libcdio" = no
&& $_pkg_config --exists libcdio_paranoia
; then
6277 _inc_tmp
=$
($_pkg_config --cflags libcdio_paranoia
)
6278 _ld_tmp
=$
($_pkg_config --libs libcdio_paranoia
)
6279 cc_check
$_inc_tmp $_ld_tmp $_ld_lm && _libcdio
=yes \
6280 && extra_ldflags
="$extra_ldflags $_ld_tmp" && extra_cflags
="$extra_cflags $_inc_tmp"
6283 if test "$_libcdio" = yes && test "$_cdparanoia" = no
; then
6285 def_libcdio
='#define CONFIG_LIBCDIO 1'
6286 def_havelibcdio
='yes'
6288 if test "$_cdparanoia" = yes ; then
6289 res_comment
="using cdparanoia"
6291 def_libcdio
='#undef CONFIG_LIBCDIO'
6292 def_havelibcdio
='no'
6296 if test "$_cdda" = yes ; then
6297 test $_cddb = auto
&& test $_network = yes && _cddb
=yes
6298 def_cdparanoia
='#define CONFIG_CDDA 1'
6299 inputmodules
="cdda $inputmodules"
6301 def_cdparanoia
='#undef CONFIG_CDDA'
6302 noinputmodules
="cdda $noinputmodules"
6305 if test "$_cddb" = yes ; then
6306 def_cddb
='#define CONFIG_CDDB 1'
6307 inputmodules
="cddb $inputmodules"
6310 def_cddb
='#undef CONFIG_CDDB'
6311 noinputmodules
="cddb $noinputmodules"
6314 echocheck
"bitmap font support"
6315 if test "$_bitmap_font" = yes ; then
6316 def_bitmap_font
="#define CONFIG_BITMAP_FONT 1"
6318 def_bitmap_font
="#undef CONFIG_BITMAP_FONT"
6320 echores
"$_bitmap_font"
6323 echocheck
"freetype >= 2.0.9"
6325 # freetype depends on iconv
6326 if test "$_iconv" = no
; then
6328 res_comment
="iconv support needed"
6331 if test "$_freetype" = auto
; then
6332 if ( $_freetypeconfig --version ) >/dev
/null
2>&1 ; then
6335 #include <ft2build.h>
6336 #include FT_FREETYPE_H
6337 #if ((FREETYPE_MAJOR < 2) || ((FREETYPE_MINOR == 0) && (FREETYPE_PATCH < 9)))
6338 #error "Need FreeType 2.0.9 or newer"
6342 FT_Int major=-1,minor=-1,patch=-1;
6343 int err=FT_Init_FreeType(&library);
6348 cc_check $
($_freetypeconfig --cflags) $
($_freetypeconfig --libs) && _freetype
=yes
6353 if test "$_freetype" = yes ; then
6354 def_freetype
='#define CONFIG_FREETYPE 1'
6355 extra_cflags
="$extra_cflags $($_freetypeconfig --cflags)"
6356 extra_ldflags
="$extra_ldflags $($_freetypeconfig --libs)"
6358 def_freetype
='#undef CONFIG_FREETYPE'
6360 echores
"$_freetype"
6362 if test "$_freetype" = no
; then
6364 res_comment
="FreeType support needed"
6366 echocheck
"fontconfig"
6367 if test "$_fontconfig" = auto
; then
6371 #include <fontconfig/fontconfig.h>
6372 #if FC_VERSION < 20402
6373 #error At least version 2.4.2 of fontconfig required
6377 if (err == FcFalse) {
6378 printf("Couldn't initialize fontconfig lib\n");
6385 for _ld_tmp
in "" "-lexpat -lfreetype" "-lexpat -lfreetype -lz" "-lexpat -lfreetype -lz -liconv" ; do
6386 _ld_tmp
="-lfontconfig $_ld_tmp"
6387 cc_check
$_ld_tmp && _fontconfig
=yes && extra_ldflags
="$extra_ldflags $_ld_tmp" && break
6389 if test "$_fontconfig" = no
&& $_pkg_config --exists fontconfig
; then
6390 _inc_tmp
=$
($_pkg_config --cflags fontconfig
)
6391 _ld_tmp
=$
($_pkg_config --libs fontconfig
)
6392 cc_check
$_inc_tmp $_ld_tmp && _fontconfig
=yes \
6393 && extra_ldflags
="$extra_ldflags $_ld_tmp" && extra_cflags
="$extra_cflags $_inc_tmp"
6396 if test "$_fontconfig" = yes ; then
6397 def_fontconfig
='#define CONFIG_FONTCONFIG 1'
6399 def_fontconfig
='#undef CONFIG_FONTCONFIG'
6401 echores
"$_fontconfig"
6404 echocheck
"SSA/ASS support"
6405 # libass depends on FreeType
6406 if test "$_freetype" = no
; then
6409 res_comment
="FreeType support needed"
6412 if test "$_ass" = auto
; then
6414 #include <ft2build.h>
6415 #include FT_FREETYPE_H
6416 #if ((FREETYPE_MAJOR < 2) || (FREETYPE_MINOR < 2) || ((FREETYPE_MINOR == 2) && (FREETYPE_PATCH < 1)))
6417 #error "Need FreeType 2.2.1 or newer"
6419 int main(void) { return 0; }
6422 cc_check $
($_freetypeconfig --cflags) $
($_freetypeconfig --libs) && _ass
=yes
6423 if test "$_ass" = no
; then
6425 res_comment
="FreeType >= 2.2.1 needed"
6426 elif test "$ass_internal" = no
; then
6428 #include <ass/ass.h>
6430 #if defined(LIBASS_VERSION) && LIBASS_VERSION >= 0x00907010
6431 ass_process_force_style(0);
6433 process_force_style(0);
6438 if cc_check
-lass ; then
6439 res_comment
="external"
6440 extra_ldflags
="$extra_ldflags -lass"
6446 if test "$_ass" = yes ; then
6447 def_ass
='#define CONFIG_ASS 1'
6449 def_ass
='#undef CONFIG_ASS'
6451 if test "$ass_internal" = yes ; then
6452 def_ass_internal
='#define CONFIG_ASS_INTERNAL 1'
6454 def_ass_internal
='#undef CONFIG_ASS_INTERNAL'
6459 echocheck
"fribidi with charsets"
6462 if test "$_fribidi" = auto
; then
6466 /* workaround for fribidi 0.10.4 and below */
6467 #define FRIBIDI_CHARSET_UTF8 FRIBIDI_CHAR_SET_UTF8
6468 #include <fribidi/fribidi.h>
6470 if (fribidi_parse_charset("UTF-8") != FRIBIDI_CHAR_SET_UTF8) {
6471 printf("Fribidi headers are not consistents with the library!\n");
6480 cc_check
$_inc_tmp $_ld_tmp && _fribidi
=yes
6481 if $_pkg_config --exists fribidi
> /dev
/null
2>&1 &&
6482 test "$_fribidi" = no
; then
6483 _inc_tmp
="$($_pkg_config --cflags)"
6484 _ld_tmp
="$($_pkg_config --libs)"
6485 cc_check
$_inc_tmp $_ld_tmp && _fribidi
=yes
6488 if test "$_fribidi" = yes ; then
6489 def_fribidi
='#define CONFIG_FRIBIDI 1'
6490 extra_cflags
="$extra_cflags $_inc_tmp"
6491 extra_ldflags
="$extra_ldflags $_ld_tmp"
6493 def_fribidi
='#undef CONFIG_FRIBIDI'
6499 if test "$_enca" = auto
; then
6501 #include <sys/types.h>
6506 langs = enca_get_languages(&langcnt);
6511 cc_check
-lenca $_ld_lm && _enca
=yes
6513 if test "$_enca" = yes ; then
6514 def_enca
='#define CONFIG_ENCA 1'
6515 extra_ldflags
="$extra_ldflags -lenca"
6517 def_enca
='#undef CONFIG_ENCA'
6525 int main(void) { (void) inflate(0, Z_NO_FLUSH); return 0; }
6528 cc_check
-lz && _zlib
=yes
6529 if test "$_zlib" = yes ; then
6530 def_zlib
='#define CONFIG_ZLIB 1'
6531 extra_ldflags
="$extra_ldflags -lz"
6533 def_zlib
='#define CONFIG_ZLIB 0'
6534 _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
//)
6535 _libavencoders
=$
(echo $_libavencoders |
sed -e s
/FLASHSV_ENCODER
// -e s
/PNG_ENCODER
// -e s
/ZMBV_ENCODER
// -e s
/ZLIB_ENCODER
//)
6542 def_bzlib
='#define CONFIG_BZLIB 0'
6545 int main(void) { BZ2_bzlibVersion(); return 0; }
6547 cc_check
-lbz2 && bzlib
=yes
6548 if test "$bzlib" = yes ; then
6549 def_bzlib
='#define CONFIG_BZLIB 1'
6550 extra_ldflags
="$extra_ldflags -lbz2"
6556 if test "$_rtc" = auto
; then
6558 #include <sys/ioctl.h>
6560 #include <linux/rtc.h>
6563 #define RTC_PIE_ON RTCIO_PIE_ON
6565 int main(void) { return RTC_PIE_ON; }
6568 cc_check
&& _rtc
=yes
6571 if test "$_rtc" = yes ; then
6572 def_rtc
='#define HAVE_RTC 1'
6574 def_rtc
='#undef HAVE_RTC'
6579 echocheck
"liblzo2 support"
6580 if test "$_liblzo" = auto
; then
6583 #include <lzo/lzo1x.h>
6584 int main(void) { lzo_init();return 0; }
6586 cc_check
-llzo2 && _liblzo
=yes
6588 if test "$_liblzo" = yes ; then
6589 def_liblzo
='#define CONFIG_LIBLZO 1'
6590 extra_ldflags
="$extra_ldflags -llzo2"
6591 codecmodules
="liblzo $codecmodules"
6593 def_liblzo
='#undef CONFIG_LIBLZO'
6594 nocodecmodules
="liblzo $nocodecmodules"
6599 echocheck
"mad support"
6600 if test "$_mad" = auto
; then
6604 int main(void) { return 0; }
6606 cc_check
-lmad && _mad
=yes
6608 if test "$_mad" = yes ; then
6609 def_mad
='#define CONFIG_LIBMAD 1'
6610 extra_ldflags
="$extra_ldflags -lmad"
6611 codecmodules
="libmad $codecmodules"
6613 def_mad
='#undef CONFIG_LIBMAD'
6614 nocodecmodules
="libmad $nocodecmodules"
6619 if test "$_twolame" = auto
; then
6621 #include <twolame.h>
6622 int main(void) { twolame_init(); return 0; }
6625 cc_check
-ltwolame $_ld_lm && _twolame
=yes
6627 if test "$_twolame" = yes ; then
6628 def_twolame
='#define CONFIG_TWOLAME 1'
6629 libs_mencoder
="$libs_mencoder -ltwolame"
6630 codecmodules
="twolame $codecmodules"
6632 def_twolame
='#undef CONFIG_TWOLAME'
6633 nocodecmodules
="twolame $nocodecmodules"
6638 if test "$_toolame" = auto
; then
6640 if test "$_twolame" = yes ; then
6641 res_comment
="disabled by twolame"
6644 #include <toolame.h>
6645 int main(void) { toolame_init(); return 0; }
6647 cc_check
-ltoolame $_ld_lm && _toolame
=yes
6650 if test "$_toolame" = yes ; then
6651 def_toolame
='#define CONFIG_TOOLAME 1'
6652 libs_mencoder
="$libs_mencoder -ltoolame"
6653 codecmodules
="toolame $codecmodules"
6655 def_toolame
='#undef CONFIG_TOOLAME'
6656 nocodecmodules
="toolame $nocodecmodules"
6658 if test "$_toolamedir" ; then
6659 res_comment
="using $_toolamedir"
6663 echocheck
"OggVorbis support"
6664 if test "$_tremor_internal" = yes; then
6666 elif test "$_tremor" = auto
; then
6669 #include <tremor/ivorbiscodec.h>
6670 int main(void) { vorbis_packet_blocksize(0,0); return 0; }
6672 cc_check
-logg -lvorbisidec $_ld_lm && _tremor
=yes && _libvorbis
=no
6674 if test "$_libvorbis" = auto
; then
6677 #include <vorbis/codec.h>
6678 int main(void) { vorbis_packet_blocksize(0,0); return 0; }
6680 cc_check
-lvorbis -logg $_ld_lm && _libvorbis
=yes
6682 if test "$_tremor_internal" = yes ; then
6684 def_vorbis
='#define CONFIG_OGGVORBIS 1'
6685 def_tremor
='#define CONFIG_TREMOR 1'
6686 codecmodules
="tremor(internal) $codecmodules"
6687 res_comment
="internal Tremor"
6688 if test "$_tremor_low" = yes ; then
6689 cflags_tremor_low
="-D_LOW_ACCURACY_"
6690 res_comment
="internal low accuracy Tremor"
6692 elif test "$_tremor" = yes ; then
6694 def_vorbis
='#define CONFIG_OGGVORBIS 1'
6695 def_tremor
='#define CONFIG_TREMOR 1'
6696 codecmodules
="tremor(external) $codecmodules"
6697 res_comment
="external Tremor"
6698 extra_ldflags
="$extra_ldflags -logg -lvorbisidec"
6699 elif test "$_libvorbis" = yes ; then
6701 def_vorbis
='#define CONFIG_OGGVORBIS 1'
6702 codecmodules
="libvorbis $codecmodules"
6703 res_comment
="libvorbis"
6704 extra_ldflags
="$extra_ldflags -lvorbis -logg"
6707 nocodecmodules
="libvorbis $nocodecmodules"
6711 echocheck
"libspeex (version >= 1.1 required)"
6712 if test "$_speex" = auto
; then
6715 #include <speex/speex.h>
6716 int main(void) { SpeexBits bits; void *dec; speex_decode_int(dec, &bits, dec); return 0; }
6718 cc_check
-lspeex $_ld_lm && _speex
=yes
6720 if test "$_speex" = yes ; then
6721 def_speex
='#define CONFIG_SPEEX 1'
6722 extra_ldflags
="$extra_ldflags -lspeex"
6723 codecmodules
="speex $codecmodules"
6725 def_speex
='#undef CONFIG_SPEEX'
6726 nocodecmodules
="speex $nocodecmodules"
6730 echocheck
"OggTheora support"
6731 if test "$_theora" = auto
; then
6734 #include <theora/theora.h>
6737 /* Theora is in flux, make sure that all interface routines and datatypes
6738 * exist and work the way we expect it, so we don't break MPlayer. */
6747 theora_info_init(&inf);
6748 theora_comment_init(&tc);
6752 /* we don't want to execute this kind of nonsense; just for making sure
6753 * that compilation works... */
6754 memset(&op, 0, sizeof(op));
6755 r = theora_decode_header(&inf, &tc, &op);
6756 r = theora_decode_init(&st, &inf);
6757 t = theora_granule_time(&st, op.granulepos);
6758 r = theora_decode_packetin(&st, &op);
6759 r = theora_decode_YUVout(&st, &yuv);
6765 _ld_theora
=$
($_pkg_config --silence-errors --libs theora
)
6766 _inc_theora
=$
($_pkg_config --silence-errors --cflags theora
)
6767 cc_check
$_inc_theora $_ld_theora && extra_ldflags
="$extra_ldflags $_ld_theora" &&
6768 extra_cflags
="$extra_cflags $_inc_theora" && _theora
=yes
6769 if test _theora
= no
; then
6770 _ld_theora
="-ltheora -logg"
6771 cc_check
$_ld_theora && extra_ldflags
="$extra_ldflags $_ld_theora" && _theora
=yes
6773 if test "$_theora" = no
&& test "$_tremor_internal" = yes; then
6774 _ld_theora
=$
($_pkg_config --silence-errors --libs theora
)
6775 _inc_theora
=$
($_pkg_config --silence-errors --cflags theora
)
6776 cc_check tremor
/bitwise.c
$_inc_theora $_ld_theora &&
6777 extra_ldflags
="$extra_ldflags $_ld_theora" &&
6778 extra_cflags
="$extra_cflags $_inc_theora" && _theora
=yes
6779 if test _theora
= no
; then
6780 _ld_theora
="-ltheora -logg"
6781 cc_check tremor
/bitwise.c
$_ld_theora &&
6782 extra_ldflags
="$extra_ldflags $_ld_theora" && _theora
=yes
6786 if test "$_theora" = yes ; then
6787 def_theora
='#define CONFIG_OGGTHEORA 1'
6788 codecmodules
="libtheora $codecmodules"
6789 # when --enable-theora is forced, we'd better provide a probably sane
6790 # $_ld_theora than nothing
6791 test -z "$_ld_theora" && extra_ldflags
="$extra_ldflags -ltheora -logg"
6793 def_theora
='#undef CONFIG_OGGTHEORA'
6794 nocodecmodules
="libtheora $nocodecmodules"
6798 echocheck
"mp3lib support"
6799 if test "$_mp3lib" = auto
; then
6800 test "$cc_vendor" = intel
&& test "$_cc_major" -le 10 -o "$_cc_major" -eq 11 -a "$_cc_minor" -eq 0 && _mp3lib
=no || _mp3lib
=yes
6802 if test "$_mp3lib" = yes ; then
6803 def_mp3lib
='#define CONFIG_MP3LIB 1'
6804 codecmodules
="mp3lib(internal) $codecmodules"
6806 def_mp3lib
='#undef CONFIG_MP3LIB'
6807 nocodecmodules
="mp3lib(internal) $nocodecmodules"
6811 echocheck
"liba52 support"
6812 def_liba52
='#undef CONFIG_LIBA52'
6813 if test "$_liba52" = auto
; then
6816 #include <inttypes.h>
6817 #include <a52dec/a52.h>
6818 int main(void) { a52_state_t *testHand; testHand=a52_init(0); return 0; }
6820 cc_check
-la52 && _liba52
=yes && extra_ldflags
="$extra_ldflags -la52"
6822 if test "$_liba52" = yes ; then
6823 def_liba52
='#define CONFIG_LIBA52 1'
6824 codecmodules
="liba52 $codecmodules"
6826 nocodecmodules
="liba52 $nocodecmodules"
6830 echocheck
"internal libmpeg2 support"
6831 if test "$_libmpeg2" = auto
; then
6833 if alpha
&& test cc_vendor
=gnu
; then
6835 2*|
3.0*|
3.1*) # cannot compile MVI instructions
6837 res_comment
="broken gcc"
6842 if test "$_libmpeg2" = yes ; then
6843 def_libmpeg2
='#define CONFIG_LIBMPEG2 1'
6844 codecmodules
="libmpeg2(internal) $codecmodules"
6846 def_libmpeg2
='#undef CONFIG_LIBMPEG2'
6847 nocodecmodules
="libmpeg2(internal) $nocodecmodules"
6849 echores
"$_libmpeg2"
6851 echocheck
"libdca support"
6852 if test "$_libdca" = auto
; then
6855 #include <inttypes.h>
6857 int main(void) { dts_init(0); return 0; }
6859 for _ld_dca
in -ldca -ldts ; do
6860 cc_check
$_ld_dca $_ld_lm && extra_ldflags
="$extra_ldflags $_ld_dca" \
6861 && _libdca
=yes && break
6864 if test "$_libdca" = yes ; then
6865 def_libdca
='#define CONFIG_LIBDCA 1'
6866 codecmodules
="libdca $codecmodules"
6868 def_libdca
='#undef CONFIG_LIBDCA'
6869 nocodecmodules
="libdca $nocodecmodules"
6873 echocheck
"libmpcdec (musepack, version >= 1.2.1 required)"
6874 if test "$_musepack" = auto
; then
6878 #include <mpcdec/mpcdec.h>
6880 mpc_streaminfo info;
6881 mpc_decoder decoder;
6882 mpc_decoder_set_streaminfo(&decoder, &info);
6883 mpc_decoder_decode_frame(&decoder, NULL, 0, NULL);
6887 cc_check
-lmpcdec $_ld_lm && _musepack
=yes
6889 if test "$_musepack" = yes ; then
6890 def_musepack
='#define CONFIG_MUSEPACK 1'
6891 extra_ldflags
="$extra_ldflags -lmpcdec"
6892 codecmodules
="musepack $codecmodules"
6894 def_musepack
='#undef CONFIG_MUSEPACK'
6895 nocodecmodules
="musepack $nocodecmodules"
6897 echores
"$_musepack"
6900 echocheck
"FAAC support"
6901 if test "$_faac" = auto
; then
6903 #include <inttypes.h>
6905 int main(void) { unsigned long x, y; faacEncOpen(48000, 2, &x, &y); return 0; }
6908 for _ld_faac
in "-lfaac" "-lfaac -lmp4v2 -lstdc++" ; do
6909 cc_check
$_ld_faac $_ld_lm && libs_mencoder
="$libs_mencoder $_ld_faac" && _faac
=yes && break
6912 if test "$_faac" = yes ; then
6913 def_faac
="#define CONFIG_FAAC 1"
6914 test "$_faac_lavc" = auto
&& _faac_lavc
=yes
6915 if test "$_faac_lavc" = yes ; then
6916 def_faac_lavc
="#define CONFIG_LIBFAAC 1"
6917 libs_mplayer
="$libs_mplayer $_ld_faac"
6918 _libavencoders
="$_libavencoders LIBFAAC_ENCODER"
6920 codecmodules
="faac $codecmodules"
6923 def_faac
="#undef CONFIG_FAAC"
6924 def_faac_lavc
="#define CONFIG_LIBFAAC 0"
6925 nocodecmodules
="faac $nocodecmodules"
6927 res_comment
="in libavcodec: $_faac_lavc"
6931 echocheck
"FAAD2 support"
6932 if test "$_faad_internal" = auto
; then
6933 if x86_32
&& test cc_vendor
=gnu
; then
6935 3.1*|
3.2) # ICE/insn with these versions
6937 res_comment
="broken gcc"
6949 if test "$_faad" = auto
; then
6952 #ifndef FAAD_MIN_STREAMSIZE
6953 #error Too old version
6955 int main(void) { faacDecHandle testhand; faacDecFrameInfo testinfo;
6956 testhand = faacDecOpen(); faacDecInit(0, 0, 0, 0, 0); return 0; }
6958 cc_check
-lfaad $_ld_lm && _faad
=yes
6961 def_faad
='#undef CONFIG_FAAD'
6962 def_faad_internal
="#undef CONFIG_FAAD_INTERNAL"
6963 if test "$_faad_internal" = yes ; then
6964 def_faad_internal
="#define CONFIG_FAAD_INTERNAL 1"
6965 res_comment
="internal floating-point"
6966 if test "$_faad_fixed" = yes ; then
6967 # The FIXED_POINT implementation of FAAD2 improves performance
6968 # on some platforms, especially for SBR files.
6969 cflags_faad_fixed
="-DFIXED_POINT"
6970 res_comment
="internal fixed-point"
6972 elif test "$_faad" = yes ; then
6973 extra_ldflags
="$extra_ldflags -lfaad"
6976 if test "$_faad" = yes ; then
6977 def_faad
='#define CONFIG_FAAD 1'
6978 if test "$_faad_internal" = yes ; then
6979 codecmodules
="faad2(internal) $codecmodules"
6981 codecmodules
="faad2 $codecmodules"
6985 nocodecmodules
="faad2 $nocodecmodules"
6990 echocheck
"LADSPA plugin support"
6991 if test "$_ladspa" = auto
; then
6996 const LADSPA_Descriptor *ld = NULL;
7001 cc_check
&& _ladspa
=yes
7003 if test "$_ladspa" = yes; then
7004 def_ladspa
="#define CONFIG_LADSPA 1"
7006 def_ladspa
="#undef CONFIG_LADSPA"
7011 echocheck
"libbs2b audio filter support"
7012 if test "$_libbs2b" = auto
; then
7015 #if BS2B_VERSION_MAJOR < 3
7016 #error Please use libbs2b >= 3.0.0, older versions are not supported.
7026 if $_pkg_config --exists libbs2b
; then
7027 _inc_tmp
=$
($_pkg_config --cflags libbs2b
)
7028 _ld_tmp
=$
($_pkg_config --libs libbs2b
)
7029 cc_check
$_inc_tmp $_ld_tmp && extra_ldflags
="$extra_ldflags $_ld_tmp" &&
7030 extra_cflags
="$extra_cflags $_inc_tmp" && _libbs2b
=yes
7032 for _inc_tmp
in "" -I/usr
/include
/bs2b
-I/usr
/local
/include \
7033 -I/usr
/local
/include
/bs2b
; do
7034 if cc_check
$_inc_tmp $_ld_lm -lbs2b ; then
7035 extra_ldflags
="$extra_ldflags -lbs2b"
7036 extra_cflags
="$extra_cflags $_inc_tmp"
7043 def_libbs2b
="#undef CONFIG_LIBBS2B"
7044 test "$_libbs2b" = yes && def_libbs2b
="#define CONFIG_LIBBS2B 1"
7048 if test -z "$_codecsdir" ; then
7049 for dir
in "$_libdir/codecs" "$_libdir/win32" /usr
/local
/lib
/codecs \
7050 /usr
/lib
/codecs
/usr
/local
/lib
/win32
/usr
/lib
/win32
; do
7051 if test -d "$dir" ; then
7057 # Fall back on default directory.
7058 if test -z "$_codecsdir" ; then
7059 _codecsdir
="$_libdir/codecs"
7060 mingw32 || os2
&& _codecsdir
="codecs"
7064 echocheck
"Win32 codecs"
7065 if test "$_win32dll" = auto
; then
7067 if x86_32
&& ! qnx
; then
7071 if test "$_win32dll" = yes ; then
7072 def_win32dll
='#define CONFIG_WIN32DLL 1'
7074 def_win32_loader
='#define WIN32_LOADER 1'
7075 _win32_emulation
=yes
7077 extra_ldflags
="$extra_ldflags -ladvapi32 -lole32"
7078 res_comment
="using native windows"
7080 codecmodules
="win32 $codecmodules"
7082 def_win32dll
='#undef CONFIG_WIN32DLL'
7083 def_win32_loader
='#undef WIN32_LOADER'
7084 nocodecmodules
="win32 $nocodecmodules"
7086 echores
"$_win32dll"
7089 echocheck
"XAnim codecs"
7090 if test "$_xanim" = auto
; then
7092 res_comment
="dynamic loader support needed"
7093 if test "$_dl" = yes ; then
7097 if test "$_xanim" = yes ; then
7098 def_xanim
='#define CONFIG_XANIM 1'
7099 codecmodules
="xanim $codecmodules"
7101 def_xanim
='#undef CONFIG_XANIM'
7102 nocodecmodules
="xanim $nocodecmodules"
7107 echocheck
"RealPlayer codecs"
7108 if test "$_real" = auto
; then
7110 res_comment
="dynamic loader support needed"
7111 if test "$_dl" = yes ||
test "$_win32dll" = yes &&
7112 (linux || freebsd || netbsd || openbsd || dragonfly || darwin || win32 || os2
) ; then
7116 if test "$_real" = yes ; then
7117 def_real
='#define CONFIG_REALCODECS 1'
7118 codecmodules
="real $codecmodules"
7120 def_real
='#undef CONFIG_REALCODECS'
7121 nocodecmodules
="real $nocodecmodules"
7126 echocheck
"QuickTime codecs"
7128 def_qtx_win32
='#undef CONFIG_QTX_CODECS_WIN32'
7129 if test "$_qtx" = auto
; then
7130 test "$_win32dll" = yes ||
test "$quicktime" = yes && _qtx
=yes
7132 if test "$_qtx" = yes ; then
7133 def_qtx
='#define CONFIG_QTX_CODECS 1'
7134 win32
&& _qtx_codecs_win32
=yes && def_qtx_win32
='#define CONFIG_QTX_CODECS_WIN32 1'
7135 codecmodules
="qtx $codecmodules"
7136 darwin || win32 || _qtx_emulation
=yes
7138 def_qtx
='#undef CONFIG_QTX_CODECS'
7139 nocodecmodules
="qtx $nocodecmodules"
7143 echocheck
"Nemesi Streaming Media libraries"
7144 if test "$_nemesi" = auto
&& test "$_network" = yes ; then
7146 if $_pkg_config libnemesi
--atleast-version=0.6.3 ; then
7147 extra_cflags
="$extra_cflags $($_pkg_config --cflags libnemesi)"
7148 extra_ldflags
="$extra_ldflags $($_pkg_config --libs libnemesi)"
7152 if test "$_nemesi" = yes; then
7154 def_nemesi
='#define CONFIG_LIBNEMESI 1'
7155 inputmodules
="nemesi $inputmodules"
7157 _native_rtsp
="$_network"
7159 def_nemesi
='#undef CONFIG_LIBNEMESI'
7160 noinputmodules
="nemesi $noinputmodules"
7164 echocheck
"LIVE555 Streaming Media libraries"
7165 if test "$_live" = auto
&& test "$_network" = yes ; then
7166 cat > $TMPCPP << EOF
7167 #include <liveMedia.hh>
7168 #if (LIVEMEDIA_LIBRARY_VERSION_INT < 1141257600)
7169 #error Please upgrade to version 2006.03.03 or later of the "LIVE555 Streaming Media" libraries - available from <www.live555.com/liveMedia/>
7171 int main(void) { return 0; }
7175 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
7176 cxx_check
$I/liveMedia
/include
$I/UsageEnvironment
/include \
7177 $I/groupsock
/include
&& _livelibdir
=$
(echo $I|
sed s
/-I//) && \
7178 extra_ldflags
="$_livelibdir/liveMedia/libliveMedia.a \
7179 $_livelibdir/groupsock/libgroupsock.a \
7180 $_livelibdir/UsageEnvironment/libUsageEnvironment.a \
7181 $_livelibdir/BasicUsageEnvironment/libBasicUsageEnvironment.a \
7182 $extra_ldflags -lstdc++" \
7183 extra_cxxflags
="-I$_livelibdir/liveMedia/include \
7184 -I$_livelibdir/UsageEnvironment/include \
7185 -I$_livelibdir/BasicUsageEnvironment/include \
7186 -I$_livelibdir/groupsock/include" && \
7189 if test "$_live" != yes ; then
7190 ld_tmp
="-lliveMedia -lgroupsock -lUsageEnvironment -lBasicUsageEnvironment -lstdc++"
7191 if cxx_check
-I/usr
/include
/liveMedia
-I/usr
/include
/UsageEnvironment
-I/usr
/include
/groupsock
$ld_tmp; then
7196 if test "$_live" = yes && test "$_network" = yes; then
7197 test $_livelibdir && res_comment
="using $_livelibdir"
7198 def_live
='#define CONFIG_LIVE555 1'
7199 inputmodules
="live555 $inputmodules"
7200 elif test "$_live_dist" = yes && test "$_network" = yes; then
7201 res_comment
="using distribution version"
7203 def_live
='#define CONFIG_LIVE555 1'
7204 extra_ldflags
="$extra_ldflags $ld_tmp"
7205 extra_cxxflags
="-I/usr/include/liveMedia -I/usr/include/UsageEnvironment \
7206 -I/usr/include/BasicUsageEnvironment -I/usr/include/groupsock"
7207 inputmodules
="live555 $inputmodules"
7210 def_live
='#undef CONFIG_LIVE555'
7211 noinputmodules
="live555 $noinputmodules"
7216 echocheck
"FFmpeg libavutil"
7217 if test "$_libavutil_a" = auto
; then
7218 if test -d libavutil
; then
7220 res_comment
="static"
7222 die
"MPlayer will not compile without libavutil in the source tree."
7224 elif test "$_libavutil_so" = auto
; then
7227 #include <libavutil/common.h>
7228 int main(void) { av_clip(1, 1, 1); return 0; }
7230 if $_pkg_config --exists libavutil
; then
7231 _inc_libavutil
=$
($_pkg_config --cflags libavutil
)
7232 _ld_tmp
=$
($_pkg_config --libs libavutil
)
7233 cc_check
$_inc_libavutil $_ld_tmp && extra_ldflags
="$extra_ldflags $_ld_tmp" \
7234 && _libavutil_so
=yes
7235 elif cc_check
-lavutil $_ld_lm ; then
7236 extra_ldflags
="$extra_ldflags -lavutil"
7238 res_comment
="using libavutil.so, but static libavutil is recommended"
7242 def_libavutil
='#undef CONFIG_LIBAVUTIL'
7243 def_libavutil_a
='#undef CONFIG_LIBAVUTIL_A'
7244 def_libavutil_so
='#undef CONFIG_LIBAVUTIL_SO'
7245 test "$_libavutil_a" = yes ||
test "$_libavutil_so" = yes && _libavutil
=yes
7246 test "$_libavutil" = yes && def_libavutil
='#define CONFIG_LIBAVUTIL 1'
7247 test "$_libavutil_a" = yes && def_libavutil_a
='#define CONFIG_LIBAVUTIL_A 1'
7248 test "$_libavutil_so" = yes && def_libavutil_so
='#define CONFIG_LIBAVUTIL_SO 1'
7249 # neither static nor shared libavutil is available, but it is mandatory ...
7250 if test "$_libavutil" = no
; then
7251 die
"You need static or shared libavutil, MPlayer will not compile without!"
7253 echores
"$_libavutil"
7255 echocheck
"FFmpeg libavcodec"
7256 if test "$_libavcodec_a" = auto
; then
7258 if test -d libavcodec
&& test -f libavcodec
/utils.c
; then
7260 res_comment
="static"
7262 elif test "$_libavcodec_so" = auto
; then
7264 res_comment
="libavcodec.so is discouraged over static libavcodec"
7266 #include <libavcodec/avcodec.h>
7267 int main(void) { avcodec_find_encoder_by_name(""); return 0; }
7269 if $_pkg_config --exists libavcodec
; then
7270 _inc_libavcodec
=$
($_pkg_config --cflags libavcodec
)
7271 _ld_tmp
=$
($_pkg_config --libs libavcodec
)
7272 cc_check
$_inc_libavcodec $_ld_tmp && extra_ldflags
="$extra_ldflags $_ld_tmp" \
7273 && _libavcodec_so
=yes
7274 elif cc_check
-lavcodec $_ld_lm ; then
7275 extra_ldflags
="$extra_ldflags -lavcodec"
7277 res_comment
="using libavcodec.so, but static libavcodec is recommended"
7281 def_libavcodec
='#undef CONFIG_LIBAVCODEC'
7282 def_libavcodec_a
='#undef CONFIG_LIBAVCODEC_A'
7283 def_libavcodec_so
='#undef CONFIG_LIBAVCODEC_SO'
7284 test "$_libavcodec_a" = yes ||
test "$_libavcodec_so" = yes && _libavcodec
=yes
7285 test "$_libavcodec" = yes && def_libavcodec
='#define CONFIG_LIBAVCODEC 1'
7286 test "$_libavcodec_a" = yes && def_libavcodec_a
='#define CONFIG_LIBAVCODEC_A 1'
7287 test "$_libavcodec_so" = yes && def_libavcodec_so
='#define CONFIG_LIBAVCODEC_SO 1'
7288 test "$_libavcodec_mpegaudio_hp" = yes \
7289 && def_libavcodec_mpegaudio_hp
='#define CONFIG_MPEGAUDIO_HP 1' \
7290 && mak_libavcodec_mpegaudio_hp
='CONFIG_MPEGAUDIO_HP = yes'
7291 if test "$_libavcodec_a" = yes ; then
7292 codecmodules
="libavcodec(internal) $codecmodules"
7293 elif test "$_libavcodec_so" = yes ; then
7294 codecmodules
="libavcodec.so $codecmodules"
7296 nocodecmodules
="libavcodec $nocodecmodules"
7298 echores
"$_libavcodec"
7300 echocheck
"FFmpeg libavformat"
7301 if test "$_libavformat_a" = auto
; then
7303 if test -d libavformat
&& test -f libavformat
/utils.c
; then
7305 res_comment
="static"
7307 elif test "$_libavformat_so" = auto
; then
7310 #include <libavformat/avformat.h>
7311 #include <libavcodec/opt.h>
7312 int main(void) { av_alloc_format_context(); return 0; }
7314 if $_pkg_config --exists libavformat
; then
7315 _inc_libavformat
=$
($_pkg_config --cflags libavformat
)
7316 _ld_tmp
=$
($_pkg_config --libs libavformat
)
7317 cc_check
$_inc_libavformat $_ld_tmp && extra_ldflags
="$extra_ldflags $_ld_tmp" \
7318 && _libavformat_so
=yes
7319 elif cc_check
$_ld_lm -lavformat ; then
7320 extra_ldflags
="$extra_ldflags -lavformat"
7322 res_comment
="using libavformat.so, but static libavformat is recommended"
7326 def_libavformat
='#undef CONFIG_LIBAVFORMAT'
7327 def_libavformat_a
='#undef CONFIG_LIBAVFORMAT_A'
7328 def_libavformat_so
='#undef CONFIG_LIBAVFORMAT_SO'
7329 test "$_libavformat_a" = yes ||
test "$_libavformat_so" = yes && _libavformat
=yes
7330 test "$_libavformat" = yes && def_libavformat
='#define CONFIG_LIBAVFORMAT 1'
7331 test "$_libavformat_a" = yes && def_libavformat_a
='#define CONFIG_LIBAVFORMAT_A 1'
7332 test "$_libavformat_so" = yes \
7333 && def_libavformat_so
='#define CONFIG_LIBAVFORMAT_SO 1'
7334 echores
"$_libavformat"
7336 echocheck
"FFmpeg libpostproc"
7337 if test "$_libpostproc_a" = auto
; then
7339 if test -d libpostproc
&& test -f libpostproc
/postprocess.h
; then
7340 _libpostproc_a
='yes'
7341 res_comment
="static"
7343 elif test "$_libpostproc_so" = auto
; then
7346 #include <inttypes.h>
7347 #include <libpostproc/postprocess.h>
7348 int main(void) { pp_get_mode_by_name_and_quality("de", 0); return 0; }
7350 if cc_check
-lpostproc $_ld_lm ; then
7351 extra_ldflags
="$extra_ldflags -lpostproc"
7353 res_comment
="using libpostproc.so, but static libpostproc is recommended"
7357 def_libpostproc
='#undef CONFIG_LIBPOSTPROC'
7358 def_libpostproc_a
='#undef CONFIG_LIBPOSTPROC_A'
7359 def_libpostproc_so
='#undef CONFIG_LIBPOSTPROC_SO'
7360 test "$_libpostproc_a" = yes ||
test "$_libpostproc_so" = yes && _libpostproc
=yes
7361 test "$_libpostproc" = yes && def_libpostproc
='#define CONFIG_LIBPOSTPROC 1'
7362 test "$_libpostproc_a" = yes && def_libpostproc_a
='#define CONFIG_LIBPOSTPROC_A 1'
7363 test "$_libpostproc_so" = yes \
7364 && def_libpostproc_so
='#define CONFIG_LIBPOSTPROC_SO 1'
7365 echores
"$_libpostproc"
7367 echocheck
"FFmpeg libswscale"
7368 if test "$_libswscale_a" = auto
; then
7370 if test -d libswscale
&& test -f libswscale
/swscale.h
; then
7372 res_comment
="static"
7374 elif test "$_libswscale_so" = auto
; then
7376 res_comment
="using libswscale.so, but static libswscale is recommended"
7378 #include <libswscale/swscale.h>
7379 int main(void) { sws_scale(0, 0, 0, 0, 0, 0, 0); return 0; }
7381 if $_pkg_config --exists libswscale
; then
7382 _inc_libswscale
=$
($_pkg_config --cflags libswscale
)
7383 _ld_tmp
=$
($_pkg_config --libs libswscale
)
7384 cc_check
$_inc_libswscale $_ld_tmp && extra_ldflags
="$extra_ldflags $_ld_tmp" \
7385 && _libswscale_so
=yes
7386 elif cc_check
-lswscale ; then
7387 extra_ldflags
="$extra_ldflags -lswscale"
7392 def_libswscale
='#undef CONFIG_LIBSWSCALE'
7393 def_libswscale_a
='#undef CONFIG_LIBSWSCALE_A'
7394 def_libswscale_so
='#undef CONFIG_LIBSWSCALE_SO'
7395 test "$_libswscale_a" = yes ||
test "$_libswscale_so" = yes && _libswscale
=yes
7396 test "$_libswscale" = yes && def_libswscale
='#define CONFIG_LIBSWSCALE 1'
7397 test "$_libswscale_a" = yes && def_libswscale_a
='#define CONFIG_LIBSWSCALE_A 1'
7398 test "$_libswscale_so" = yes \
7399 && def_libswscale_so
='#define CONFIG_LIBSWSCALE_SO 1'
7400 echores
"$_libswscale"
7402 echocheck
"libopencore_amr narrowband"
7403 if test "$_libopencore_amrnb" = auto
; then
7404 _libopencore_amrnb
=no
7406 #include <opencore-amrnb/interf_dec.h>
7407 int main(void) { Decoder_Interface_init(); return 0; }
7409 cc_check
-lopencore-amrnb && _libopencore_amrnb
=yes
7410 if test "$_libavcodec_a" != yes ; then
7411 _libopencore_amrnb
=no
7412 res_comment
="libavcodec (static) is required by libopencore_amrnb, sorry"
7415 if test "$_libopencore_amrnb" = yes ; then
7416 _libopencore_amr
=yes
7417 extra_ldflags
="$extra_ldflags -lopencore-amrnb"
7418 def_libopencore_amrnb
='#define CONFIG_LIBOPENCORE_AMRNB 1'
7419 _libavdecoders
="$_libavdecoders LIBOPENCORE_AMRNB_DECODER"
7420 _libavencoders
="$_libavencoders LIBOPENCORE_AMRNB_ENCODER"
7421 codecmodules
="libopencore_amrnb $codecmodules"
7423 def_libopencore_amrnb
='#define CONFIG_LIBOPENCORE_AMRNB 0'
7424 nocodecmodules
="libopencore_amrnb $nocodecmodules"
7426 echores
"$_libopencore_amrnb"
7429 echocheck
"libopencore_amr wideband"
7430 if test "$_libopencore_amrwb" = auto
; then
7431 _libopencore_amrwb
=no
7433 #include <opencore-amrwb/dec_if.h>
7434 int main(void) { D_IF_init(); return 0; }
7436 cc_check
-lopencore-amrwb && _libopencore_amrwb
=yes
7437 if test "$_libavcodec_a" != yes ; then
7438 _libopencore_amrwb
=no
7439 res_comment
="libavcodec (static) is required by libopencore_amrwb, sorry"
7442 if test "$_libopencore_amrwb" = yes ; then
7443 _libopencore_amr
=yes
7444 extra_ldflags
="$extra_ldflags -lopencore-amrwb"
7445 def_libopencore_amrwb
='#define CONFIG_LIBOPENCORE_AMRWB 1'
7446 _libavdecoders
="$_libavdecoders LIBOPENCORE_AMRWB_DECODER"
7447 codecmodules
="libopencore_amrwb $codecmodules"
7449 def_libopencore_amrwb
='#define LIBOPENCORE_AMRWB 0'
7450 nocodecmodules
="libopencore_amrwb $nocodecmodules"
7452 echores
"$_libopencore_amrwb"
7454 echocheck
"libdv-0.9.5+"
7455 if test "$_libdv" = auto
; then
7458 #include <libdv/dv.h>
7459 int main(void) { dv_encoder_t* enc=dv_encoder_new(1,1,1); return 0; }
7461 cc_check
-ldv $_ld_pthread $_ld_lm && _libdv
=yes
7463 if test "$_libdv" = yes ; then
7464 def_libdv
='#define CONFIG_LIBDV095 1'
7465 extra_ldflags
="$extra_ldflags -ldv"
7466 codecmodules
="libdv $codecmodules"
7468 def_libdv
='#undef CONFIG_LIBDV095'
7469 nocodecmodules
="libdv $nocodecmodules"
7475 if test "$_xvid" = auto
; then
7479 int main(void) { xvid_global(0, 0, 0, 0); return 0; }
7481 for _ld_tmp
in "-lxvidcore $_ld_lm" "-lxvidcore $_ld_lm $_ld_pthread" ; do
7482 cc_check
$_ld_tmp && extra_ldflags
="$extra_ldflags $_ld_tmp" && _xvid
=yes && break
7486 if test "$_xvid" = yes ; then
7487 def_xvid
='#define CONFIG_XVID4 1'
7488 codecmodules
="xvid $codecmodules"
7490 def_xvid
='#undef CONFIG_XVID4'
7491 nocodecmodules
="xvid $nocodecmodules"
7495 echocheck
"Xvid two pass plugin"
7496 if test "$_xvid" = yes && test "$_xvid_lavc" = auto
; then
7499 int main(void) { xvid_plugin_2pass2_t s; s.vbv_size=0; return 0; }
7501 cc_check
&& _xvid_lavc
=yes
7503 if test "$_xvid_lavc" = yes ; then
7504 def_xvid_lavc
='#define CONFIG_LIBXVID 1'
7505 _libavencoders
="$_libavencoders LIBXVID_ENCODER"
7508 def_xvid_lavc
='#define CONFIG_LIBXVID 0'
7510 echores
"$_xvid_lavc"
7514 if test "$_x264" = auto
; then
7516 #include <inttypes.h>
7519 #error We do not support old versions of x264. Get the latest from git.
7521 int main(void) { x264_encoder_open((void*)0); return 0; }
7524 for _ld_x264
in "-lx264 $_ld_pthread" "-lx264 $_ld_pthread $_ld_lm" ; do
7525 cc_check
$_ld_x264 && libs_mencoder
="$libs_mencoder $_ld_x264" && _x264
=yes && break
7529 if test "$_x264" = yes ; then
7530 def_x264
='#define CONFIG_X264 1'
7531 codecmodules
="x264 $codecmodules"
7532 test "$_x264_lavc" = auto
&& _x264_lavc
=yes
7533 if test "$_x264_lavc" = yes ; then
7534 def_x264_lavc
='#define CONFIG_LIBX264 1'
7535 libs_mplayer
="$libs_mplayer $_ld_x264"
7536 _libavencoders
="$_libavencoders LIBX264_ENCODER"
7540 def_x264
='#undef CONFIG_X264'
7541 def_x264_lavc
='#define CONFIG_LIBX264 0'
7542 nocodecmodules
="x264 $nocodecmodules"
7544 res_comment
="in libavcodec: $_x264_lavc"
7548 echocheck
"libdirac"
7549 if test "$_libdirac_lavc" = auto
; then
7551 if test "$_libavcodec_a" != yes; then
7552 res_comment
="libavcodec (static) is required by libdirac, sorry"
7555 #include <libdirac_encoder/dirac_encoder.h>
7556 #include <libdirac_decoder/dirac_parser.h>
7559 dirac_encoder_context_t enc_ctx;
7560 dirac_decoder_t *dec_handle;
7561 dirac_encoder_context_init(&enc_ctx, VIDEO_FORMAT_SD_576I50);
7562 dec_handle = dirac_decoder_init(0);
7564 dirac_decoder_close(dec_handle);
7568 if $_pkg_config --exists dirac
; then
7569 _inc_dirac
=$
($_pkg_config --silence-errors --cflags dirac
)
7570 _ld_dirac
=$
($_pkg_config --silence-errors --libs dirac
)
7571 cc_check
$_inc_dirac $_ld_dirac &&
7572 _libdirac_lavc
=yes &&
7573 extra_cflags
="$extra_cflags $_inc_dirac" &&
7574 extra_ldflags
="$extra_ldflags $_ld_dirac"
7578 if test "$_libdirac_lavc" = yes ; then
7579 def_libdirac_lavc
='#define CONFIG_LIBDIRAC 1'
7580 _libavencoders
="$_libavencoders LIBDIRAC_ENCODER"
7581 _libavdecoders
="$_libavdecoders LIBDIRAC_DECODER"
7582 codecmodules
="libdirac $codecmodules"
7584 def_libdirac_lavc
='#define CONFIG_LIBDIRAC 0'
7585 nocodecmodules
="libdirac $nocodecmodules"
7587 echores
"$_libdirac_lavc"
7590 echocheck
"libschroedinger"
7591 if test "$_libschroedinger_lavc" = auto
; then
7592 _libschroedinger_lavc
=no
7593 if test "$_libavcodec_a" != yes; then
7594 res_comment
="libavcodec (static) is required by libschroedinger, sorry"
7597 #include <schroedinger/schro.h>
7598 int main(void) { schro_init(); return SCHRO_ENCODER_RATE_CONTROL_CONSTANT_QUALITY; }
7600 if $_pkg_config --exists schroedinger-1.0
; then
7601 _inc_schroedinger
=$
($_pkg_config --silence-errors --cflags schroedinger-1.0
)
7602 _ld_schroedinger
=$
($_pkg_config --silence-errors --libs schroedinger-1.0
)
7603 cc_check
$_inc_schroedinger $_ld_schroedinger &&
7604 _libschroedinger_lavc
=yes &&
7605 extra_cflags
="$extra_cflags $_inc_schroedinger" &&
7606 extra_ldflags
="$extra_ldflags $_ld_schroedinger"
7610 if test "$_libschroedinger_lavc" = yes ; then
7611 def_libschroedinger_lavc
='#define CONFIG_LIBSCHROEDINGER 1'
7612 _libavencoders
="$_libavencoders LIBSCHROEDINGER_ENCODER"
7613 _libavdecoders
="$_libavdecoders LIBSCHROEDINGER_DECODER"
7614 codecmodules
="libschroedinger $codecmodules"
7616 def_libschroedinger_lavc
='#define CONFIG_LIBSCHROEDINGER 0'
7617 nocodecmodules
="libschroedinger $nocodecmodules"
7619 echores
"$_libschroedinger_lavc"
7622 if test "$_libvpx_lavc" = auto
; then
7624 if test "$_libavcodec_a" != yes; then
7625 res_comment
="libavcodec (static) is required by libvpx, sorry"
7628 #include <vpx/vpx_decoder.h>
7629 #include <vpx/vp8dx.h>
7630 int main(void) { vpx_codec_dec_init(NULL, &vpx_codec_vp8_dx_algo, NULL, 0); return 0; }
7632 cc_check
-lvpx && _libvpx_lavc
=yes && extra_ldflags
="$extra_ldflags -lvpx"
7635 if test "$_libvpx_lavc" = yes ; then
7636 def_libvpx_lavc
='#define CONFIG_LIBVPX 1'
7637 _libavdecoders
="$_libavdecoders LIBVPX_DECODER"
7638 codecmodules
="libvpx $codecmodules"
7640 def_libvpx_lavc
='#define CONFIG_LIBVPX 0'
7641 nocodecmodules
="libvpx $nocodecmodules"
7643 echores
"$_libvpx_lavc"
7646 if test "$_libnut" = auto
; then
7650 #include <inttypes.h>
7652 nut_context_tt * nut;
7653 int main(void) { (void)nut_error(0); return 0; }
7656 cc_check
-lnut && _libnut
=yes
7659 if test "$_libnut" = yes ; then
7660 def_libnut
='#define CONFIG_LIBNUT 1'
7661 extra_ldflags
="$extra_ldflags -lnut"
7663 def_libnut
='#undef CONFIG_LIBNUT'
7667 #check must be done after libavcodec one
7669 if test "$_zr" = auto
; then
7670 #36067's seem to identify themselves as 36057PQC's, so the line
7671 #below should work for 36067's and 36057's.
7672 if grep -q -s -e "Multimedia video controller: Zoran Corporation ZR36057" /proc
/pci
; then
7678 if test "$_zr" = yes ; then
7679 if test "$_libavcodec_a" = yes ; then
7680 def_zr
='#define CONFIG_ZR 1'
7681 vomodules
="zr zr2 $vomodules"
7683 res_comment
="libavcodec (static) is required by zr, sorry"
7684 novomodules
="zr $novomodules"
7685 def_zr
='#undef CONFIG_ZR'
7688 def_zr
='#undef CONFIG_ZR'
7689 novomodules
="zr zr2 $novomodules"
7693 # mencoder requires (optional) those libs: libmp3lame
7694 if test "$_mencoder" != no
; then
7696 echocheck
"libmp3lame"
7697 def_mp3lame_preset
='#undef CONFIG_MP3LAME_PRESET'
7698 def_mp3lame_preset_medium
='#undef CONFIG_MP3LAME_PRESET_MEDIUM'
7699 if test "$_mp3lame" = auto
; then
7702 #include <lame/lame.h>
7703 int main(void) { lame_version_t lv; (void) lame_init();
7704 get_lame_version_numerical(&lv);
7707 cc_check
-lmp3lame $_ld_lm && _mp3lame
=yes
7709 if test "$_mp3lame" = yes ; then
7710 def_mp3lame
="#define CONFIG_MP3LAME 1"
7711 _ld_mp3lame
=-lmp3lame
7712 libs_mencoder
="$libs_mencoder $_ld_mp3lame"
7714 #include <lame/lame.h>
7715 int main(void) { lame_set_preset(NULL, STANDARD_FAST); return 0; }
7717 cc_check
$_ld_mp3lame $_ld_lm && def_mp3lame_preset
="#define CONFIG_MP3LAME_PRESET 1"
7719 #include <lame/lame.h>
7720 int main(void) { lame_set_preset(NULL, MEDIUM_FAST); return 0; }
7722 cc_check
$_ld_mp3lame $_ld_lm && def_mp3lame_preset_medium
="#define CONFIG_MP3LAME_PRESET_MEDIUM 1"
7723 test "$_mp3lame_lavc" = auto
&& _mp3lame_lavc
=yes
7724 if test "$_mp3lame_lavc" = yes ; then
7725 def_mp3lame_lavc
="#define CONFIG_LIBMP3LAME 1"
7726 _libavencoders
="$_libavencoders LIBMP3LAME_ENCODER"
7727 libs_mplayer
="$libs_mplayer $_ld_mp3lame"
7731 def_mp3lame
='#undef CONFIG_MP3LAME'
7732 def_mp3lame_lavc
="#define CONFIG_LIBMP3LAME 0"
7734 res_comment
="in libavcodec: $_mp3lame_lavc"
7737 fi # test "$_mencoder" != no
7739 echocheck
"mencoder"
7740 if test "$_mencoder" = yes ; then
7741 def_muxers
='#define CONFIG_MUXERS 1'
7743 # mpeg1video for vf_lavc, snow for vf_uspp / vf_mcdeint,
7744 # png for vf_screenshot, mjpeg for zr
7745 _libavencoders
="MPEG1VIDEO_ENCODER SNOW_ENCODER"
7746 test "$_zlib" = yes && _libavencoders
="$_libavencoders PNG_ENCODER"
7747 test "$_zr" = yes && _libavencoders
="$_libavencoders MJPEG_ENCODER"
7749 def_muxers
='#define CONFIG_MUXERS 0'
7751 echores
"$_mencoder"
7754 echocheck
"UnRAR executable"
7755 if test "$_unrar_exec" = auto
; then
7757 mingw32
&& _unrar_exec
="no"
7759 if test "$_unrar_exec" = yes ; then
7760 def_unrar_exec
='#define CONFIG_UNRAR_EXEC 1'
7762 def_unrar_exec
='#undef CONFIG_UNRAR_EXEC'
7764 echores
"$_unrar_exec"
7766 echocheck
"TV interface"
7767 if test "$_tv" = yes ; then
7768 def_tv
='#define CONFIG_TV 1'
7769 inputmodules
="tv $inputmodules"
7771 noinputmodules
="tv $noinputmodules"
7772 def_tv
='#undef CONFIG_TV'
7777 if freebsd || netbsd || openbsd || dragonfly || bsdos
; then
7778 echocheck
"*BSD BT848 bt8xx header"
7780 for file in "machine/ioctl_bt848.h" \
7781 "dev/bktr/ioctl_bt848.h" \
7782 "dev/video/bktr/ioctl_bt848.h" \
7783 "dev/ic/bt8xx.h" ; do
7785 #include <sys/types.h>
7786 #include <sys/ioctl.h>
7788 int main(void) { ioctl(0, TVTUNER_GETFREQ, 0); return 0; }
7792 _ioctl_bt848_h_name
="$file"
7796 if test "$_ioctl_bt848_h" = yes ; then
7797 def_ioctl_bt848_h_name
="#define IOCTL_BT848_H_NAME <$_ioctl_bt848_h_name>"
7798 res_comment
="using $_ioctl_bt848_h_name"
7800 def_ioctl_bt848_h_name
="#undef IOCTL_BT848_H_NAME"
7802 echores
"$_ioctl_bt848_h"
7804 echocheck
"*BSD ioctl_meteor.h"
7806 for file in "machine/ioctl_meteor.h" \
7807 "dev/bktr/ioctl_meteor.h" \
7808 "dev/video/bktr/ioctl_meteor.h" ; do
7810 #include <sys/types.h>
7812 int main(void) { ioctl(0, METEORSINPUT, 0); return 0; }
7816 _ioctl_meteor_h_name
="$file"
7820 if test "$_ioctl_meteor_h" = yes ; then
7821 def_ioctl_meteor_h_name
="#define IOCTL_METEOR_H_NAME <$_ioctl_meteor_h_name>"
7822 res_comment
="using $_ioctl_meteor_h_name"
7824 def_ioctl_meteor_h_name
="#undef IOCTL_METEOR_H_NAME"
7826 echores
"$_ioctl_meteor_h"
7828 echocheck
"*BSD BrookTree 848 TV interface"
7829 if test "$_tv_bsdbt848" = auto
; then
7831 if test "$_tv" = yes ; then
7833 #include <sys/types.h>
7834 $def_ioctl_meteor_h_name
7835 $def_ioctl_bt848_h_name
7836 #ifdef IOCTL_METEOR_H_NAME
7837 #include IOCTL_METEOR_H_NAME
7839 #ifdef IOCTL_BT848_H_NAME
7840 #include IOCTL_BT848_H_NAME
7843 ioctl(0, METEORSINPUT, 0);
7844 ioctl(0, TVTUNER_GETFREQ, 0);
7848 cc_check
&& _tv_bsdbt848
=yes
7851 if test "$_tv_bsdbt848" = yes ; then
7852 def_tv_bsdbt848
='#define CONFIG_TV_BSDBT848 1'
7853 inputmodules
="tv-bsdbt848 $inputmodules"
7855 def_tv_bsdbt848
='#undef CONFIG_TV_BSDBT848'
7856 noinputmodules
="tv-bsdbt848 $noinputmodules"
7858 echores
"$_tv_bsdbt848"
7859 fi #if freebsd || netbsd || openbsd || dragonfly || bsdos
7862 echocheck
"DirectShow TV interface"
7863 if test "$_tv_dshow" = auto
; then
7865 if test "$_tv" = yes && win32
; then
7870 CoCreateInstance((GUID*)&GUID_NULL, NULL, CLSCTX_INPROC_SERVER, &GUID_NULL, &p);
7874 cc_check
-lole32 -luuid && _tv_dshow
=yes
7877 if test "$_tv_dshow" = yes ; then
7878 inputmodules
="tv-dshow $inputmodules"
7879 def_tv_dshow
='#define CONFIG_TV_DSHOW 1'
7880 extra_ldflags
="$extra_ldflags -lole32 -luuid"
7882 noinputmodules
="tv-dshow $noinputmodules"
7883 def_tv_dshow
='#undef CONFIG_TV_DSHOW'
7885 echores
"$_tv_dshow"
7888 echocheck
"Video 4 Linux TV interface"
7889 if test "$_tv_v4l1" = auto
; then
7891 if test "$_tv" = yes && linux
; then
7894 #include <linux/videodev.h>
7895 int main(void) { return 0; }
7897 cc_check
&& _tv_v4l1
=yes
7900 if test "$_tv_v4l1" = yes ; then
7903 def_tv_v4l
='#define CONFIG_TV_V4L 1'
7904 def_tv_v4l1
='#define CONFIG_TV_V4L1 1'
7905 inputmodules
="tv-v4l $inputmodules"
7907 noinputmodules
="tv-v4l1 $noinputmodules"
7908 def_tv_v4l
='#undef CONFIG_TV_V4L'
7913 echocheck
"Video 4 Linux 2 TV interface"
7914 if test "$_tv_v4l2" = auto
; then
7916 if test "$_tv" = yes && linux
; then
7919 #include <linux/types.h>
7920 #include <linux/videodev2.h>
7921 int main(void) { return 0; }
7923 cc_check
&& _tv_v4l2
=yes
7926 if test "$_tv_v4l2" = yes ; then
7929 def_tv_v4l
='#define CONFIG_TV_V4L 1'
7930 def_tv_v4l2
='#define CONFIG_TV_V4L2 1'
7931 inputmodules
="tv-v4l2 $inputmodules"
7933 noinputmodules
="tv-v4l2 $noinputmodules"
7934 def_tv_v4l2
='#undef CONFIG_TV_V4L2'
7939 echocheck
"Radio interface"
7940 if test "$_radio" = yes ; then
7941 def_radio
='#define CONFIG_RADIO 1'
7942 inputmodules
="radio $inputmodules"
7943 if test "$_alsa9" != yes -a "$_alsa1x" != yes -a "$_ossaudio" != yes ; then
7946 if test "$_radio_capture" = yes ; then
7948 def_radio_capture
="#define CONFIG_RADIO_CAPTURE 1"
7950 def_radio_capture
="#undef CONFIG_RADIO_CAPTURE"
7953 noinputmodules
="radio $noinputmodules"
7954 def_radio
='#undef CONFIG_RADIO'
7955 def_radio_capture
="#undef CONFIG_RADIO_CAPTURE"
7959 echocheck
"Capture for Radio interface"
7960 echores
"$_radio_capture"
7962 echocheck
"Video 4 Linux 2 Radio interface"
7963 if test "$_radio_v4l2" = auto
; then
7965 if test "$_radio" = yes && linux
; then
7968 #include <linux/types.h>
7969 #include <linux/videodev2.h>
7970 int main(void) { return 0; }
7972 cc_check
&& _radio_v4l2
=yes
7975 if test "$_radio_v4l2" = yes ; then
7976 def_radio_v4l2
='#define CONFIG_RADIO_V4L2 1'
7978 def_radio_v4l2
='#undef CONFIG_RADIO_V4L2'
7980 echores
"$_radio_v4l2"
7982 echocheck
"Video 4 Linux Radio interface"
7983 if test "$_radio_v4l" = auto
; then
7985 if test "$_radio" = yes && linux
; then
7988 #include <linux/videodev.h>
7989 int main(void) { return 0; }
7991 cc_check
&& _radio_v4l
=yes
7994 if test "$_radio_v4l" = yes ; then
7995 def_radio_v4l
='#define CONFIG_RADIO_V4L 1'
7997 def_radio_v4l
='#undef CONFIG_RADIO_V4L'
7999 echores
"$_radio_v4l"
8001 if freebsd || netbsd || openbsd || dragonfly || bsdos \
8002 && test "$_radio" = yes && test "$_radio_bsdbt848" = auto
; then
8003 echocheck
"*BSD BrookTree 848 Radio interface"
8006 #include <sys/types.h>
8007 $def_ioctl_bt848_h_name
8008 #ifdef IOCTL_BT848_H_NAME
8009 #include IOCTL_BT848_H_NAME
8011 int main(void) { ioctl(0, RADIO_GETFREQ, 0); return 0; }
8013 cc_check
&& _radio_bsdbt848
=yes
8014 echores
"$_radio_bsdbt848"
8015 fi #if freebsd || netbsd || openbsd || dragonfly || bsdos && _radio && _radio_bsdbt848
8017 if test "$_radio_bsdbt848" = yes ; then
8018 def_radio_bsdbt848
='#define CONFIG_RADIO_BSDBT848 1'
8020 def_radio_bsdbt848
='#undef CONFIG_RADIO_BSDBT848'
8023 if test "$_radio_v4l" = no
&& test "$_radio_v4l2" = no
&& \
8024 test "$_radio_bsdbt848" = no
&& test "$_radio" = yes ; then
8025 die
"Radio driver requires BSD BT848, V4L or V4L2!"
8028 echocheck
"Video 4 Linux 2 MPEG PVR interface"
8029 if test "$_pvr" = auto
; then
8031 if test "$_tv_v4l2" = yes && linux
; then
8034 #include <inttypes.h>
8035 #include <linux/types.h>
8036 #include <linux/videodev2.h>
8037 int main(void) { struct v4l2_ext_controls ext; return ext.controls->value; }
8039 cc_check
&& _pvr
=yes
8042 if test "$_pvr" = yes ; then
8043 def_pvr
='#define CONFIG_PVR 1'
8044 inputmodules
="pvr $inputmodules"
8046 noinputmodules
="pvr $noinputmodules"
8047 def_pvr
='#undef CONFIG_PVR'
8053 if ! beos
&& test "$_ftp" = yes ; then
8054 def_ftp
='#define CONFIG_FTP 1'
8055 inputmodules
="ftp $inputmodules"
8057 noinputmodules
="ftp $noinputmodules"
8058 def_ftp
='#undef CONFIG_FTP'
8062 echocheck
"vstream client"
8063 if test "$_vstream" = auto
; then
8066 #include <vstream-client.h>
8067 void vstream_error(const char *format, ... ) {}
8068 int main(void) { vstream_start(); return 0; }
8070 cc_check
-lvstream-client && _vstream
=yes
8072 if test "$_vstream" = yes ; then
8073 def_vstream
='#define CONFIG_VSTREAM 1'
8074 inputmodules
="vstream $inputmodules"
8075 extra_ldflags
="$extra_ldflags -lvstream-client"
8077 noinputmodules
="vstream $noinputmodules"
8078 def_vstream
='#undef CONFIG_VSTREAM'
8083 echocheck
"OSD menu"
8084 if test "$_menu" = yes ; then
8085 def_menu
='#define CONFIG_MENU 1'
8086 test $_dvbin = "yes" && _menu_dvbin
=yes
8088 def_menu
='#undef CONFIG_MENU'
8094 echocheck
"Subtitles sorting"
8095 if test "$_sortsub" = yes ; then
8096 def_sortsub
='#define CONFIG_SORTSUB 1'
8098 def_sortsub
='#undef CONFIG_SORTSUB'
8103 echocheck
"XMMS inputplugin support"
8104 if test "$_xmms" = yes ; then
8105 if ( xmms-config
--version ) >/dev
/null
2>&1 ; then
8106 _xmmsplugindir
=$
(xmms-config
--input-plugin-dir)
8107 _xmmslibdir
=$
(xmms-config
--exec-prefix)/lib
8109 _xmmsplugindir
=/usr
/lib
/xmms
/Input
8110 _xmmslibdir
=/usr
/lib
8113 def_xmms
='#define CONFIG_XMMS 1'
8115 extra_ldflags
="$extra_ldflags ${_xmmslibdir}/libxmms.dylib"
8117 extra_ldflags
="$extra_ldflags ${_xmmslibdir}/libxmms.so.1 -export-dynamic"
8120 def_xmms
='#undef CONFIG_XMMS'
8125 # --------------- GUI specific tests begin -------------------
8128 if test "$_gui" = yes ; then
8130 # Required libraries
8131 if test "$_libavcodec" != yes ||
8132 ! echo $_libavdecoders |
grep -q PNG_DECODER
; then
8133 die
"The GUI requires libavcodec with PNG support (needs zlib)."
8135 test "$_freetype" = no
&& test "$_bitmap_font" = no
&& \
8136 die
"The GUI requires either FreeType or bitmap font support."
8139 test "$_x11" != yes && die
"X11 support required for GUI compilation."
8141 echocheck
"XShape extension"
8142 if test "$_xshape" = auto
; then
8145 #include <X11/Xlib.h>
8146 #include <X11/Xproto.h>
8147 #include <X11/Xutil.h>
8148 #include <X11/extensions/shape.h>
8151 char *name = ":0.0";
8154 int eventbase, errorbase;
8155 if (getenv("DISPLAY"))
8156 name=getenv("DISPLAY");
8157 wsDisplay=XOpenDisplay(name);
8158 if (!XShapeQueryExtension(wsDisplay,&eventbase,&errorbase))
8160 XCloseDisplay(wsDisplay);
8164 cc_check
-lXext && _xshape
=yes
8166 if test "$_xshape" = yes ; then
8167 def_xshape
='#define CONFIG_XSHAPE 1'
8169 die
"The GUI requires the X11 extension XShape (which was not found)."
8174 if test "$_gtk1" = no
; then
8176 echocheck
"GTK+ version"
8178 if $_pkg_config gtk
+-2.0
--exists ; then
8179 _gtk
=$
($_pkg_config gtk
+-2.0
--modversion 2>/dev
/null
)
8180 extra_cflags
="$extra_cflags $($_pkg_config gtk+-2.0 --cflags 2>/dev/null)"
8181 libs_mplayer
="$libs_mplayer $($_pkg_config gtk+-2.0 --libs 2>/dev/null)"
8185 if $_pkg_config glib-2.0
--exists ; then
8186 echocheck
"glib version"
8187 _glib
=$
($_pkg_config glib-2.0
--modversion 2>/dev
/null
)
8188 libs_mplayer
="$libs_mplayer $($_pkg_config glib-2.0 --libs 2>/dev/null)"
8191 def_gui
='#define CONFIG_GUI 1'
8192 def_gtk2
='#define CONFIG_GTK2 1'
8195 echo "GLIB-2 devel packages were not found, trying GTK 1.2"
8198 echo "GTK-2 devel packages were not found, trying GTK 1.2"
8203 if test "$_gtk1" = yes ; then
8204 # Check for old GTK (1.2.x)
8205 echocheck
"GTK version"
8206 if test -z "$_gtkconfig" ; then
8207 if ( gtk-config
--version ) >/dev
/null
2>&1 ; then
8208 _gtkconfig
="gtk-config"
8209 elif ( gtk12-config
--version ) >/dev
/null
2>&1 ; then
8210 _gtkconfig
="gtk12-config"
8212 die
"The GUI requires GTK devel packages (which were not found)."
8215 _gtk
=$
($_gtkconfig --version 2>&1)
8216 extra_cflags
="$extra_cflags $($_gtkconfig --cflags 2>&1)"
8217 libs_mplayer
="$libs_mplayer $($_gtkconfig --libs 2>&1)"
8218 echores
"$_gtk (using $_gtkconfig)"
8221 echocheck
"glib version"
8222 if test -z "$_glibconfig" ; then
8223 if ( glib-config
--version ) >/dev
/null
2>&1 ; then
8224 _glibconfig
="glib-config"
8225 elif ( glib12-config
--version ) >/dev
/null
2>&1 ; then
8226 _glibconfig
="glib12-config"
8228 die
"The GUI requires GLIB devel packages (which were not found)"
8231 _glib
=$
($_glibconfig --version 2>&1)
8232 libs_mplayer
="$libs_mplayer $($_glibconfig --libs 2>&1)"
8233 echores
"$_glib (using $_glibconfig)"
8235 def_gui
='#define CONFIG_GUI 1'
8236 def_gtk2
='#undef CONFIG_GTK2'
8241 libs_mplayer
="$libs_mplayer -lcomdlg32 -lcomctl32 -lshell32 -lkernel32"
8242 def_gui
='#define CONFIG_GUI 1'
8243 def_gtk2
='#undef CONFIG_GTK2'
8246 else #if test "$_gui"
8247 def_gui
='#undef CONFIG_GUI'
8248 def_gtk2
='#undef CONFIG_GTK2'
8250 # --------------- GUI specific tests end -------------------
8253 if test "$_charset" != "noconv" ; then
8254 def_charset
="#define MSG_CHARSET \"$_charset\""
8256 def_charset
="#undef MSG_CHARSET"
8260 if test -n "$_charset" && test "$_charset" != "UTF-8" ; then
8261 echocheck
"iconv program"
8262 iconv -f UTF-8
-t $_charset ${_mp_help} > /dev
/null
2>> "$TMPLOG"
8263 if test "$?" -ne 0 ; then
8265 echo "No working iconv program found, use "
8266 echo "--charset=UTF-8 to continue anyway."
8267 echo "If you also have problems with iconv library functions use --charset=noconv."
8268 echo "Messages in the GTK-2 interface will be broken then."
8275 #############################################################################
8277 echocheck
"automatic gdb attach"
8278 if test "$_crash_debug" = yes ; then
8279 def_crash_debug
='#define CONFIG_CRASH_DEBUG 1'
8281 def_crash_debug
='#undef CONFIG_CRASH_DEBUG'
8284 echores
"$_crash_debug"
8286 echocheck
"compiler support for noexecstack"
8288 int main(void) { return 0; }
8290 if cc_check
-Wl,-z,noexecstack
; then
8291 extra_ldflags
="-Wl,-z,noexecstack $extra_ldflags"
8297 echocheck
"linker support for --nxcompat --no-seh --dynamicbase"
8298 if cc_check
"-Wl,--nxcompat -Wl,--no-seh -Wl,--dynamicbase" ; then
8299 extra_ldflags
="-Wl,--nxcompat -Wl,--no-seh -Wl,--dynamicbase $extra_ldflags"
8306 # Dynamic linking flags
8307 # (FIXME: 'echocheck "dynamic linking"' above and modify here accordingly)
8309 freebsd || netbsd || openbsd || dragonfly || bsdos
&& _ld_dl_dynamic
='-rdynamic'
8310 if test "$_real" = yes ||
test "$_xanim" = yes && ! win32
&& ! qnx
&& ! darwin
&& ! os2
&& ! sunos
; then
8311 _ld_dl_dynamic
='-rdynamic'
8314 extra_ldflags
="$extra_ldflags $_ld_pthread $_ld_dl $_ld_dl_dynamic"
8315 bsdos
&& extra_ldflags
="$extra_ldflags -ldvd"
8316 (netbsd || openbsd
) && x86_32
&& extra_ldflags
="$extra_ldflags -li386"
8318 def_debug
='#undef MP_DEBUG'
8319 test "$_debug" != "" && def_debug
='#define MP_DEBUG 1'
8322 echocheck
"joystick"
8323 def_joystick
='#undef CONFIG_JOYSTICK'
8324 if test "$_joystick" = yes ; then
8326 # TODO add some check
8327 def_joystick
='#define CONFIG_JOYSTICK 1'
8330 res_comment
="unsupported under $system_name"
8333 echores
"$_joystick"
8336 if test "$_lirc" = auto
; then
8339 #include <lirc/lirc_client.h>
8340 int main(void) { return 0; }
8342 cc_check
-llirc_client && _lirc
=yes
8344 if test "$_lirc" = yes ; then
8345 def_lirc
='#define CONFIG_LIRC 1'
8346 libs_mplayer
="$libs_mplayer -llirc_client"
8348 def_lirc
='#undef CONFIG_LIRC'
8353 if test "$_lircc" = auto
; then
8356 #include <lirc/lircc.h>
8357 int main(void) { return 0; }
8359 cc_check
-llircc && _lircc
=yes
8361 if test "$_lircc" = yes ; then
8362 def_lircc
='#define CONFIG_LIRCC 1'
8363 libs_mplayer
="$libs_mplayer -llircc"
8365 def_lircc
='#undef CONFIG_LIRCC'
8370 # Detect maemo development platform libraries availability (http://www.maemo.org),
8371 # they are used when run on Nokia 770|8x0
8372 echocheck
"maemo (Nokia 770|8x0)"
8373 if test "$_maemo" = auto
; then
8376 #include <libosso.h>
8377 int main(void) { (void) osso_initialize("", "", 0, NULL); return 0; }
8379 cc_check $
($_pkg_config --cflags --libs libosso
2>/dev
/null
) && _maemo
=yes
8381 if test "$_maemo" = yes ; then
8382 def_maemo
='#define CONFIG_MAEMO 1'
8383 extra_cflags
="$extra_cflags $($_pkg_config --cflags libosso)"
8384 extra_ldflags
="$extra_ldflags $($_pkg_config --libs libosso) -lXsp"
8386 def_maemo
='#undef CONFIG_MAEMO'
8391 #############################################################################
8393 # On OS/2 nm supports only a.out. So the -Zomf compiler option to generate
8394 # the OMF format needs to come after the 'extern symbol prefix' check, which
8397 extra_ldflags
="$extra_ldflags -Zomf -Zstack 16384 -Zbin-files -Zargs-wild"
8400 # linker paths should be the same for mencoder and mplayer
8402 for I
in $libs_mplayer ; do
8403 _tmp
=$
(echo $I |
sed -e 's/^-L.*$//')
8404 if test -z "$_tmp" ; then
8405 extra_ldflags
="$extra_ldflags $I"
8407 _ld_tmp
="$_ld_tmp $I"
8410 libs_mplayer
=$_ld_tmp
8413 #############################################################################
8414 # 64 bit file offsets?
8415 if test "$_largefiles" = yes || freebsd
; then
8416 CFLAGS
="$CFLAGS -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
8417 if test "$_dvdread" = yes ||
test "$_libdvdcss_internal" = yes ; then
8418 # dvdread support requires this (for off64_t)
8419 CFLAGS
="$CFLAGS -D_LARGEFILE64_SOURCE"
8423 CXXFLAGS
=" $CFLAGS -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS"
8425 # This must be the last test to be performed. Any other tests following it
8426 # could fail due to linker errors. libdvdnavmini is intentionally not linked
8427 # against libdvdread (to permit MPlayer to use its own copy of the library).
8428 # So any compilation using the flags added here but not linking against
8429 # libdvdread can fail.
8430 echocheck
"DVD support (libdvdnav)"
8432 if test "$_dvdnav" = auto
; then
8433 if test "$_dvdread_internal" = yes ; then
8436 res_comment
="internal"
8438 $_dvdnavconfig --version --minilibs >> $TMPLOG 2>&1 || _dvdnav
=no
8441 if test "$_dvdnav" = auto
; then
8443 #include <inttypes.h>
8444 #include <dvdnav/dvdnav.h>
8445 int main(void) { dvdnav_t *dvd=0; return 0; }
8448 _dvdnavdir
=$
($_dvdnavconfig --cflags)
8449 _dvdnavlibs
=$
($_dvdnavconfig --libs)
8450 cc_check
$_dvdnavdir $_dvdnavlibs $_ld_dl $_ld_pthread && _dvdnav
=yes
8452 if test "$_dvdnav" = yes ; then
8454 def_dvdnav
='#define CONFIG_DVDNAV 1'
8455 if test "$dvdnav_internal" = yes ; then
8456 cflags_libdvdnav
="-Ilibdvdnav"
8457 inputmodules
="dvdnav(internal) $inputmodules"
8459 extra_cflags
="$extra_cflags $($_dvdnavconfig --cflags)"
8460 extra_ldflags
="$extra_ldflags $($_dvdnavconfig --minilibs)"
8461 inputmodules
="dvdnav $inputmodules"
8464 def_dvdnav
='#undef CONFIG_DVDNAV'
8465 noinputmodules
="dvdnav $noinputmodules"
8469 # DO NOT ADD ANY TESTS THAT USE LINKER FLAGS HERE (like cc_check).
8470 # Read dvdnav comment above.
8473 list
=$
(echo $1 |
tr '[a-z]' '[A-Z]')
8474 item
=$
(echo $2 |
tr '[a-z]' '[A-Z]')
8476 for part
in $list; do
8477 if $
(echo $item |
grep -q -E "(^| )$part($| )"); then
8478 echo "${nprefix}_$part = yes"
8483 #############################################################################
8484 echo "Creating config.mak"
8485 cat > config.mak
<< EOF
8486 # -------- Generated by configure -----------
8488 # Ensure that locale settings do not interfere with shell commands.
8491 CONFIGURATION = $_configuration
8494 DOC_LANGS = $language_doc
8495 DOC_LANG_ALL = $doc_lang_all
8496 MAN_LANGS = $language_man
8497 MAN_LANG_ALL = $man_lang_all
8499 prefix = \$(DESTDIR)$_prefix
8500 BINDIR = \$(DESTDIR)$_bindir
8501 DATADIR = \$(DESTDIR)$_datadir
8502 LIBDIR = \$(DESTDIR)$_libdir
8503 MANDIR = \$(DESTDIR)$_mandir
8504 CONFDIR = \$(DESTDIR)$_confdir
8512 INSTALLSTRIP = $_install_strip
8515 CFLAGS = $CFLAGS $extra_cflags
8516 ASFLAGS = \$(CFLAGS)
8517 CXXFLAGS = $CXXFLAGS $extra_cflags $extra_cxxflags
8519 CFLAGS_DHAHELPER = $cflags_dhahelper
8520 CFLAGS_FAAD_FIXED = $cflags_faad_fixed
8521 CFLAGS_LIBDVDCSS = $cflags_libdvdcss
8522 CFLAGS_LIBDVDCSS_DVDREAD = $cflags_libdvdcss_dvdread
8523 CFLAGS_LIBDVDNAV = $cflags_libdvdnav
8524 CFLAGS_NO_OMIT_LEAF_FRAME_POINTER = $cflags_no_omit_leaf_frame_pointer
8525 CFLAGS_STACKREALIGN = $cflags_stackrealign
8526 CFLAGS_SVGALIB_HELPER = $cflags_svgalib_helper
8527 CFLAGS_TREMOR_LOW = $cflags_tremor_low
8529 EXTRALIBS = $extra_ldflags $_ld_static $_ld_lm $extra_libs
8530 EXTRALIBS_MPLAYER = $libs_mplayer
8531 EXTRALIBS_MENCODER = $libs_mencoder
8534 HELP_FILE = $_mp_help
8541 $(mak_enable "$arch_all" "$arch" ARCH)
8542 $(mak_enable "$subarch_all" "$subarch" ARCH)
8543 $(mak_enable "$cpuexts_all" "$cpuexts" HAVE)
8545 MENCODER = $_mencoder
8548 NEED_GETTIMEOFDAY = $_need_gettimeofday
8549 NEED_GLOB = $_need_glob
8550 NEED_MMAP = $_need_mmap
8551 NEED_SETENV = $_need_setenv
8552 NEED_SHMEM = $_need_shmem
8553 NEED_STRSEP = $_need_strsep
8554 NEED_SWAB = $_need_swab
8555 NEED_VSSCANF = $_need_vsscanf
8563 APPLE_IR = $_apple_ir
8564 APPLE_REMOTE = $_apple_remote
8566 AUDIO_INPUT = $_audio_input
8567 BITMAP_FONT = $_bitmap_font
8572 COREAUDIO = $_coreaudio
8573 COREVIDEO = $_corevideo
8577 DIRECT3D = $_direct3d
8578 DIRECTFB = $_directfb
8582 DVDNAV_INTERNAL = $dvdnav_internal
8584 DVDREAD_INTERNAL = $_dvdread_internal
8590 FAAD_INTERNAL = $_faad_internal
8591 FASTMEMCPY = $_fastmemcpy
8593 FREETYPE = $_freetype
8598 GL_WIN32 = $_gl_win32
8601 MATRIXVIEW = $matrixview
8604 GUI_WIN32 = $_gui_win32
8605 HAVE_POSIX_SELECT = $_posix_select
8606 HAVE_SYS_MMAN_H = $_mman
8609 JOYSTICK = $_joystick
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_FINDER = $_macosx_finder
8638 MUSEPACK = $_musepack
8640 NATIVE_RTSP = $_native_rtsp
8644 PE_EXECUTABLE = $_pe_executable
8647 PRIORITY = $_priority
8651 QTX_CODECS_WIN32 = $_qtx_codecs_win32
8652 QTX_EMULATION = $_qtx_emulation
8655 RADIO_CAPTURE=$_radio_capture
8656 REAL_CODECS = $_real
8660 STREAM_CACHE = $_stream_cache
8661 SGIAUDIO = $_sgiaudio
8662 SUNAUDIO = $_sunaudio
8668 TREMOR_INTERNAL = $_tremor_internal
8670 TV_BSDBT848 = $_tv_bsdbt848
8671 TV_DSHOW = $_tv_dshow
8676 UNRAR_EXEC = $_unrar_exec
8682 VIDIX_PCIDB = $_vidix_pcidb_val
8683 VIDIX_CYBERBLADE=$_vidix_drv_cyberblade
8684 VIDIX_IVTV=$_vidix_drv_ivtv
8685 VIDIX_MACH64=$_vidix_drv_mach64
8686 VIDIX_MGA=$_vidix_drv_mga
8687 VIDIX_MGA_CRTC2=$_vidix_drv_mga_crtc2
8688 VIDIX_NVIDIA=$_vidix_drv_nvidia
8689 VIDIX_PM2=$_vidix_drv_pm2
8690 VIDIX_PM3=$_vidix_drv_pm3
8691 VIDIX_RADEON=$_vidix_drv_radeon
8692 VIDIX_RAGE128=$_vidix_drv_rage128
8693 VIDIX_S3=$_vidix_drv_s3
8694 VIDIX_SH_VEU=$_vidix_drv_sh_veu
8695 VIDIX_SIS=$_vidix_drv_sis
8696 VIDIX_UNICHROME=$_vidix_drv_unichrome
8700 WIN32DLL = $_win32dll
8701 WIN32WAVEOUT = $_win32waveout
8702 WIN32_EMULATION = $_win32_emulation
8703 WINVIDIX = $winvidix
8706 XANIM_CODECS = $_xanim
8708 XMMS_PLUGINS = $_xmms
8714 YUV4MPEG = $_yuv4mpeg
8718 LIBAVUTIL = $_libavutil
8719 LIBAVUTIL_A = $_libavutil_a
8720 LIBAVUTIL_SO = $_libavutil_so
8721 LIBAVCODEC = $_libavcodec
8722 LIBAVCODEC_A = $_libavcodec_a
8723 LIBAVCODEC_SO = $_libavcodec_so
8724 LIBAVFORMAT = $_libavformat
8725 LIBAVFORMAT_A = $_libavformat_a
8726 LIBAVFORMAT_SO = $_libavformat_so
8727 LIBPOSTPROC = $_libpostproc
8728 LIBPOSTPROC_A = $_libpostproc_a
8729 LIBPOSTPROC_SO = $_libpostproc_so
8730 LIBSWSCALE = $_libswscale
8731 LIBSWSCALE_A = $_libswscale_a
8732 LIBSWSCALE_SO = $_libswscale_so
8734 HOSTCC = \$(HOST_CC)
8735 HOSTCFLAGS = -D_ISOC99_SOURCE -D_POSIX_C_SOURCE=200112 -O3
8741 YASMFLAGS = $YASMFLAGS
8748 LIBNAME = \$(LIBPREF)\$(NAME)\$(LIBSUF)
8749 FULLNAME = \$(NAME)\$(BUILDSUF)
8751 # Some FFmpeg codecs depend on these. Enable them unconditionally for now.
8757 CONFIG_H264DSP = yes
8763 $mak_hardcoded_tables
8764 $mak_libavcodec_mpegaudio_hp
8765 !CONFIG_LIBRTMP = yes
8767 CONFIG_BZLIB = $bzlib
8768 CONFIG_ENCODERS = yes
8770 CONFIG_LIBDIRAC_DECODER = $_libdirac_lavc
8771 CONFIG_LIBDIRAC_ENCODER = $_libdirac_lavc
8772 CONFIG_LIBFAAC_ENCODER = $_faac_lavc
8773 CONFIG_LIBMP3LAME_ENCODER = $_mp3lame_lavc
8774 CONFIG_LIBOPENCORE_AMRNB_DECODER = $_libopencore_amrnb
8775 CONFIG_LIBOPENCORE_AMRNB_ENCODER = $_libopencore_amrnb
8776 CONFIG_LIBOPENCORE_AMRWB_DECODER = $_libopencore_amrwb
8777 OCNFIG_LIBOPENJPEG_DECODER = $libopenjpeg
8778 OCNFIG_LIBOPENJPEG_ENCODER = $libopenjpeg
8779 CONFIG_LIBSCHROEDINGER_DECODER = $_libschroedinger_lavc
8780 CONFIG_LIBSCHROEDINGER_ENCODER = $_libschroedinger_lavc
8781 CONFIG_LIBVORBIS_ENCODER = $_libvorbis
8782 CONFIG_LIBX264_ENCODER = $_x264_lavc
8783 CONFIG_LIBXVID_ENCODER = $_xvid_lavc
8784 CONFIG_MLIB = $_mlib
8785 CONFIG_MUXERS = $_mencoder
8786 CONFIG_POSTPROC = yes
8787 CONFIG_VDPAU = $_vdpau
8788 CONFIG_XVMC = $_xvmc
8789 CONFIG_ZLIB = $_zlib
8791 HAVE_PTHREADS = $_pthreads
8793 HAVE_W32THREADS = $_w32threads
8794 HAVE_YASM = $have_yasm
8796 $(echo $_libavdecoders | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/')
8797 $(echo $_libavencoders | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/')
8798 $(echo $_libavparsers | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/')
8799 $(echo $_libavdemuxers | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/')
8800 $(echo $_libavmuxers | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/')
8801 $(echo $_libavprotocols | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/')
8802 $(echo $_libavbsfs | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/')
8803 $(echo $_libavhwaccels | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/')
8806 #############################################################################
8808 ff_config_enable
() {
8809 list
=$
(echo $1 |
tr '[a-z]' '[A-Z]')
8810 item
=$
(echo $2 |
tr '[a-z]' '[A-Z]')
8812 test -z "$_nprefix" && _nprefix
='CONFIG'
8813 for part
in $list; do
8814 if $
(echo $item |
grep -q -E "(^| )$part($| )"); then
8815 echo "#define ${_nprefix}_$part 1"
8817 echo "#define ${_nprefix}_$part 0"
8822 echo "Creating config.h"
8824 /*----------------------------------------------------------------------------
8825 ** This file has been automatically generated by configure any changes in it
8826 ** will be lost when you run configure again.
8827 ** Instead of modifying definitions here, use the --enable/--disable options
8828 ** of the configure script! See ./configure --help for details.
8829 *---------------------------------------------------------------------------*/
8831 #ifndef MPLAYER_CONFIG_H
8832 #define MPLAYER_CONFIG_H
8834 /* Undefine this if you do not want to select mono audio (left or right)
8835 with a stereo MPEG layer 2/3 audio stream. The command line option
8836 -stereo has three possible values (0 for stereo, 1 for left-only, 2 for
8837 right-only), with 0 being the default.
8839 #define CONFIG_FAKE_MONO 1
8841 /* set up max. outburst. use 65536 for ALSA 0.5, for others 16384 is enough */
8842 #define MAX_OUTBURST 65536
8844 /* set up audio OUTBURST. Do not change this! */
8845 #define OUTBURST 512
8847 /* Enable fast OSD/SUB renderer (looks ugly, but uses less CPU power) */
8849 #undef FAST_OSD_TABLE
8851 /* Define this to enable MPEG-1/2 image postprocessing in libmpeg2 */
8852 #define MPEG12_POSTPROC 1
8853 #define ATTRIBUTE_ALIGNED_MAX 16
8857 #define CONFIGURATION "$_configuration"
8859 #define MPLAYER_DATADIR "$_datadir"
8860 #define MPLAYER_CONFDIR "$_confdir"
8861 #define MPLAYER_LIBDIR "$_libdir"
8863 /* definitions needed by included libraries */
8864 #define HAVE_INTTYPES_H 1
8865 /* libmpeg2 + FFmpeg */
8868 #define HAVE_ERRNO_H 1
8869 /* libdvdcss + libdvdread */
8870 #define HAVE_LIMITS_H 1
8871 /* libdvdcss + libfaad2 */
8872 #define HAVE_UNISTD_H 1
8873 /* libfaad2 + libdvdread */
8874 #define STDC_HEADERS 1
8875 #define HAVE_MEMCPY 1
8877 #define HAVE_STRING_H 1
8878 #define HAVE_STRINGS_H 1
8879 #define HAVE_SYS_STAT_H 1
8880 #define HAVE_SYS_TYPES_H 1
8882 #define READ_CACHE_TRACE 0
8884 #define HAVE_DLFCN_H 1
8888 /* system headers */
8890 $def_alsa_asoundlib_h
8894 $def_mman_has_map_failed
8896 $def_sys_asoundlib_h
8897 $def_sys_soundcard_h
8904 /* system functions */
8927 /* system-specific features */
8942 $def_restrict_keyword
8947 /* configurable options */
8951 $def_dynamic_plugins
8954 $def_runtime_cpudetection
8962 #define __CPU__ $iproc
8965 $(ff_config_enable "$arch_all" "$arch" "ARCH")
8966 $(ff_config_enable "$subarch_all" "$subarch" "ARCH")
8967 $(ff_config_enable "$cpuexts_all" "$cpuexts" "HAVE")
8971 #define DEFAULT_CDROM_DEVICE "$default_cdrom_device"
8972 #define DEFAULT_DVD_DEVICE "$default_dvd_device"
8992 /* codec libraries */
9004 $def_mp3lame_preset_medium
9028 #define BINARY_CODECS_PATH "$_codecsdir"
9029 #define XMMS_INPUT_PLUGIN_DIR "$_xmmsplugindir"
9038 /* Audio output drivers */
9054 $def_ossaudio_devdsp
9055 $def_ossaudio_devmixer
9068 $def_ioctl_bt848_h_name
9069 $def_ioctl_meteor_h_name
9108 $def_struct_ipv6_mreq
9109 $def_struct_sockaddr_in6
9110 $def_struct_sockaddr_sa_len
9114 $def_sockaddr_storage
9129 $def_directfb_version
9166 $def_vidix_drv_cyberblade
9168 $def_vidix_drv_mach64
9170 $def_vidix_drv_mga_crtc2
9171 $def_vidix_drv_nvidia
9173 $def_vidix_drv_radeon
9174 $def_vidix_drv_rage128
9176 $def_vidix_drv_sh_veu
9178 $def_vidix_drv_unichrome
9212 #define CONFIG_DECODERS 1
9213 #define CONFIG_ENCODERS 1
9214 #define CONFIG_DEMUXERS 1
9225 $def_hardcoded_tables
9226 $def_libavcodec_mpegaudio_hp
9229 $def_local_aligned_8
9230 $def_local_aligned_16
9247 #define CONFIG_FASTDIV 0
9248 #define CONFIG_FFSERVER 0
9249 #define CONFIG_GPL 1
9250 #define CONFIG_GRAY 0
9251 #define CONFIG_LIBRTMP 0
9252 #define CONFIG_LIBVORBIS 0
9253 #define CONFIG_POWERPC_PERF 0
9254 #define CONFIG_SMALL 0
9255 #define CONFIG_SWSCALE_ALPHA 1
9257 #if defined(HAVE_AF_INET6) && (!defined(_WIN32) || defined(__CYGWIN__))
9258 #define CONFIG_IPV6 1
9260 #define CONFIG_IPV6 0
9263 #define HAVE_ATTRIBUTE_PACKED 1
9264 #define HAVE_GETHRTIME 0
9265 #define HAVE_INLINE_ASM 1
9266 #define HAVE_LDBRX 0
9267 #define HAVE_POLL_H 1
9268 #define HAVE_PPC4XX 0
9269 #define HAVE_STRERROR_R 0
9270 #define HAVE_SYS_SELECT_H 0
9271 #define HAVE_VFP_ARGS 1
9272 #define HAVE_VIRTUALALLOC 0
9274 /* Some FFmpeg codecs depend on these. Enable them unconditionally for now. */
9275 #define CONFIG_AANDCT 1
9276 #define CONFIG_DCT 1
9277 #define CONFIG_DWT 1
9278 #define CONFIG_FFT 1
9279 #define CONFIG_GOLOMB 1
9280 #define CONFIG_H264DSP 1
9281 #define CONFIG_LPC 1
9282 #define CONFIG_MDCT 1
9283 #define CONFIG_RDFT 1
9285 /* Use these registers in FFmpeg x86 inline asm. No proper detection yet. */
9288 #define HAVE_EBP_AVAILABLE 1
9290 #define HAVE_EBP_AVAILABLE 0
9293 #define FFMPEG_CONFIGURATION "--enable-gpl --enable-postproc"
9294 #define FFMPEG_LICENSE "GPL version 2 or later"
9296 /* External libraries used through libavcodec. */
9299 $def_libopencore_amrnb
9300 $def_libopencore_amrwb
9302 $def_libschroedinger_lavc
9307 $(ff_config_enable "$_libavdecoders_all" "$_libavdecoders")
9308 $(ff_config_enable "$_libavencoders_all" "$_libavencoders")
9309 $(ff_config_enable "$_libavparsers_all" "$_libavparsers")
9310 $(ff_config_enable "$_libavdemuxers_all" "$_libavdemuxers")
9311 $(ff_config_enable "$_libavmuxers_all" "$_libavmuxers")
9312 $(ff_config_enable "$_libavprotocols_all" "$_libavprotocols")
9313 $(ff_config_enable "$_libavbsfs_all" "$_libavbsfs")
9314 $(ff_config_enable "$_libavhwaccels_all" "$_libavhwaccels")
9316 #endif /* MPLAYER_CONFIG_H */
9319 # Do not overwrite an unchanged config.h to avoid superfluous rebuilds.
9320 cmp -s "$TMPH" config.h ||
mv -f "$TMPH" config.h
9322 ############################################################################
9324 # Create avconfig.h for FFmpeg.
9325 cat > "$TMPH" << EOF
9326 /* Generated by mpconfigure */
9327 #ifndef AVUTIL_AVCONFIG_H
9328 #define AVUTIL_AVCONFIG_H
9330 #endif /* AVUTIL_AVCONFIG_H */
9333 # Do not overwrite an unchanged avconfig.h to avoid superfluous rebuilds.
9334 cmp -s "$TMPH" libavutil
/avconfig.h ||
mv -f "$TMPH" libavutil
/avconfig.h
9336 #############################################################################
9340 Config files successfully generated by ./configure $_configuration !
9342 Install prefix: $_prefix
9343 Data directory: $_datadir
9344 Config direct.: $_confdir
9346 Byte order: $_byte_order
9347 Optimizing for: $_optimizing
9350 Messages/GUI: $language_msg
9351 Manual pages: $language_man
9352 Documentation: $language_doc
9354 Enabled optional drivers:
9355 Input: $inputmodules
9356 Codecs: $codecmodules
9357 Audio output: $aomodules
9358 Video output: $vomodules
9360 Disabled optional drivers:
9361 Input: $noinputmodules
9362 Codecs: $nocodecmodules
9363 Audio output: $noaomodules
9364 Video output: $novomodules
9366 'config.h' and 'config.mak' contain your configuration options.
9367 Note: If you alter theses files (for instance CFLAGS) MPlayer may no longer
9368 compile *** DO NOT REPORT BUGS if you tweak these files ***
9370 'make' will now compile MPlayer and 'make install' will install it.
9371 Note: On non-Linux systems you might need to use 'gmake' instead of 'make'.
9376 if test "$_mtrr" = yes ; then
9377 echo "Please check mtrr settings at /proc/mtrr (see DOCS/HTML/$doc_lang/video.html#mtrr)"
9383 NOTE: Win32 codec DLLs are not supported on your CPU ($host_arch) or your
9384 operating system ($system_name). You may encounter a few files that cannot
9385 be played due to missing open source video/audio codec support.
9392 Check $TMPLOG if you wonder why an autodetection failed (make sure
9393 development headers/packages are installed).
9395 NOTE: The --enable-* parameters unconditionally force options on, completely
9396 skipping autodetection. This behavior is unlike what you may be used to from
9397 autoconf-based configure scripts that can decide to override you. This greater
9398 level of control comes at a price. You may have to provide the correct compiler
9399 and linker flags yourself.
9400 If you used one of these options (except --enable-menu and similar ones that
9401 turn on internal features) and experience a compilation or linking failure,
9402 make sure you have passed the necessary compiler/linker flags to configure.
9404 If you suspect a bug, please read DOCS/HTML/$doc_lang/bugreports.html.
9408 if test "$_warn_CFLAGS" = yes; then
9411 MPlayer compilation will use the CPPFLAGS/CFLAGS/LDFLAGS/YASMFLAGS set by you,
9414 *** *** DO NOT REPORT BUGS IF IT DOES NOT COMPILE/WORK! *** ***
9416 It is strongly recommended to let MPlayer choose the correct CFLAGS!
9417 To do so, execute 'CFLAGS= ./configure <options>'
9423 rm -f "$TMPEXE" "$TMPC" "$TMPS" "$TMPCPP" "$TMPH"