3 # Original version (C) 2000 Pontscho/fresh!mindworkz
4 # pontscho@makacs.poliod.hu
6 # History / Contributors: Check the Subversion log.
8 # Cleanups all over the place (c) 2001 pl
11 # This configure script is *not* autoconf-based and has different semantics.
12 # It attempts to autodetect all settings and options where possible. It is
13 # possible to override autodetection with the --enable-option/--disable-option
14 # command line parameters. --enable-option forces the option on skipping
15 # autodetection. Yes, this means that compilation may fail and yes, this is not
16 # how autoconf-based configure scripts behave.
18 # configure generates a series of configuration files:
19 # - config.h contains #defines that are used in the C code.
20 # - config.mak is included from the Makefiles.
22 # If you want to add a new check for $feature, here is a simple skeleton:
24 # echocheck "$feature"
25 # if test "$_feature" = auto; then
27 # #include <feature.h>
28 # int main(void) { return 0; }
31 # cc_check && _feature=yes
33 # if test "$_feature" = yes ; then
34 # def_feature='#define CONFIG_FEATURE 1'
36 # def_feature='#undef CONFIG_FEATURE'
40 # Furthermore you need to add the variable _feature to the list of default
41 # settings and set it to one of yes/no/auto. Also add appropriate
42 # --enable-feature/--disable-feature command line options.
43 # The results of the check should be written to config.h and config.mak
44 # at the end of this script. The variable names used for this should be
45 # uniform, i.e. if the option is named 'feature':
47 # _feature : should have a value of yes/no/auto
48 # def_feature : '#define ... 1' or '#undef ...' for conditional compilation
49 # _ld_feature : '-L/path/dir -lfeature' GCC options
51 #############################################################################
53 # Prevent locale nonsense from breaking basic text processing utils
56 # Store the configure line that was used
59 # Prefer these macros to full length text !
60 # These macros only return an error code - NO display is done
65 echo "$_cc $CFLAGS $extra_cflags $_ld_static $extra_ldflags $libs_mplayer $libs_mencoder -o $TMPEXE $@" >> "$TMPLOG"
67 $_cc $CFLAGS $extra_cflags $_ld_static $extra_ldflags $libs_mplayer $libs_mencoder -o "$TMPEXE" "$@" >> "$TMPLOG" 2>&1
75 compile_check
$TMPC $@
79 compile_check
$TMPCPP $@
-lstdc++
84 cat "$TMPS" >> "$TMPLOG"
86 echo "$_yasm $YASMFLAGS -o $TMPEXE $TMPS $@" >> "$TMPLOG"
88 $_yasm $YASMFLAGS -o "$TMPEXE" "$TMPS" "$@" >> "$TMPLOG" 2>&1
96 "$TMPEXE" >> "$TMPLOG" 2>&1
99 # Display error message, flushes tempfile, exit
104 rm -f "$TMPEXE" "$TMPC" "$TMPS" "$TMPCPP"
105 echo "Check \"$TMPLOG\" if you do not understand why it failed."
109 # OS test booleans functions
111 test "$(echo $system_name | tr A-Z a-z)" = "$(echo $1 | tr A-Z a-z)"
113 aix
() { issystem
"AIX"; }
114 amigaos
() { issystem
"AmigaOS"; }
115 beos
() { issystem
"BEOS"; }
116 bsdos
() { issystem
"BSD/OS"; }
117 cygwin
() { issystem
"CYGWIN"; }
118 darwin
() { issystem
"Darwin"; }
119 dragonfly
() { issystem
"DragonFly"; }
120 freebsd
() { issystem
"FreeBSD" || issystem
"GNU/kFreeBSD"; }
121 gnu
() { issystem
"GNU"; }
122 hpux
() { issystem
"HP-UX"; }
123 irix
() { issystem
"IRIX"; }
124 linux
() { issystem
"Linux"; }
125 mingw32
() { issystem
"MINGW32"; }
126 morphos
() { issystem
"MorphOS"; }
127 netbsd
() { issystem
"NetBSD"; }
128 openbsd
() { issystem
"OpenBSD"; }
129 os2
() { issystem
"OS/2"; }
130 qnx
() { issystem
"QNX"; }
131 sunos
() { issystem
"SunOS"; }
132 win32
() { cygwin || mingw32
; }
134 # arch test boolean functions
135 # x86/x86pc is used by QNX
138 i
[3-9]86|x86|x86pc|k5|k6|k6-2|k6-3|pentium
*|athlon
*|i586-i686
) return 0 ;;
145 x86_64|amd64
) return 0 ;;
156 ppc|ppc64|powerpc|powerpc64
) return 0;;
175 # Use this before starting a check
177 echo "============ Checking for $@ ============" >> "$TMPLOG"
178 echo ${_echo_n} "Checking for $@ ... ${_echo_c}"
181 # Use this to echo the results of a check
183 if test "$_res_comment" ; then
184 _res_comment
="($_res_comment)"
186 echo "Result is: $@ $_res_comment" >> "$TMPLOG"
187 echo "##########################################" >> "$TMPLOG"
189 echo "$@ $_res_comment"
192 #############################################################################
194 # Check how echo works in this /bin/sh
196 -n) _echo_n
= _echo_c
='\c' ;; # SysV echo
197 *) _echo_n
='-n ' _echo_c
= ;; # BSD echo
200 msg_lang_all
=$
(echo help
/help_mp-??.h help
/help_mp-??_??.h |
sed -e "s:help/help_mp-\(..\).h:\1:g" -e "s:help/help_mp-\(.....\).h:\1:g")
201 man_lang_all
=$
(echo DOCS
/man
/??
/mplayer
.1 DOCS
/man
/??_??
/mplayer
.1 |
sed -e "s:DOCS/man/\(..\)/mplayer.1:\1:g" -e "s:DOCS/man/\(.._..\)/mplayer.1:\1:g")
202 doc_lang_all
=$
(echo DOCS
/xml
/??
/ DOCS
/xml
/??_??
/ |
sed -e "s:DOCS/xml/\(..\)/:\1:g" -e "s:DOCS/xml/\(.._..\)/:\1:g")
206 Usage: $0 [OPTIONS]...
209 -h, --help display this help and exit
211 Installation directories:
212 --prefix=DIR prefix directory for installation [/usr/local]
213 --bindir=DIR directory for installing binaries [PREFIX/bin]
214 --datadir=DIR directory for installing machine independent
215 data files (skins, etc) [PREFIX/share/mplayer]
216 --mandir=DIR directory for installing man pages [PREFIX/share/man]
217 --confdir=DIR directory for installing configuration files
219 --libdir=DIR directory for object code libraries [PREFIX/lib]
220 --codecsdir=DIR directory for binary codecs [LIBDIR/codecs]
221 --win32codecsdir=DIR directory for Windows DLLs [LIBDIR/codecs]
222 --xanimcodecsdir=DIR directory for XAnim codecs [LIBDIR/codecs]
223 --realcodecsdir=DIR directory for RealPlayer codecs [LIBDIR/codecs]
226 --disable-mencoder disable MEncoder (A/V encoder) compilation [enable]
227 --disable-mplayer disable MPlayer compilation [enable]
228 --enable-gui enable GMPlayer compilation (GTK+ GUI) [disable]
229 --enable-gtk1 force using GTK 1.2 for the GUI [disable]
230 --disable-largefiles disable support for files > 2GB [enable]
231 --enable-linux-devfs set default devices to devfs [disable]
232 --enable-termcap use termcap database for key codes [autodetect]
233 --enable-termios use termios database for key codes [autodetect]
234 --disable-iconv disable iconv for encoding conversion [autodetect]
235 --disable-langinfo do not use langinfo [autodetect]
236 --enable-lirc enable LIRC (remote control) support [autodetect]
237 --enable-lircc enable LIRCCD (LIRC client daemon) input [autodetect]
238 --enable-joystick enable joystick support [disable]
239 --enable-apple-remote enable Apple Remote input (Mac OS X only) [autodetect]
240 --enable-apple-ir enable Apple IR Remote input (Linux only) [autodetect]
241 --disable-vm disable X video mode extensions [autodetect]
242 --disable-xf86keysym disable support for multimedia keys [autodetect]
243 --enable-radio enable radio interface [disable]
244 --enable-radio-capture enable radio capture (through PCI/line-in) [disable]
245 --disable-radio-v4l2 disable Video4Linux2 radio interface [autodetect]
246 --disable-radio-bsdbt848 disable BSD BT848 radio interface [autodetect]
247 --disable-tv disable TV interface (TV/DVB grabbers) [enable]
248 --disable-tv-v4l1 disable Video4Linux TV interface [autodetect]
249 --disable-tv-v4l2 disable Video4Linux2 TV interface [autodetect]
250 --disable-tv-bsdbt848 disable BSD BT848 interface [autodetect]
251 --disable-pvr disable Video4Linux2 MPEG PVR [autodetect]
252 --disable-rtc disable RTC (/dev/rtc) on Linux [autodetect]
253 --disable-network disable networking [enable]
254 --enable-winsock2_h enable winsock2_h [autodetect]
255 --enable-smb enable Samba (SMB) input [autodetect]
256 --enable-live enable LIVE555 Streaming Media [autodetect]
257 --enable-nemesi enable Nemesi Streaming Media [autodetect]
258 --disable-vcd disable VCD support [autodetect]
259 --disable-dvdnav disable libdvdnav [autodetect]
260 --disable-dvdread disable libdvdread [autodetect]
261 --disable-dvdread-internal disable internal libdvdread [autodetect]
262 --disable-libdvdcss-internal disable internal libdvdcss [autodetect]
263 --disable-cdparanoia disable cdparanoia [autodetect]
264 --disable-cddb disable cddb [autodetect]
265 --disable-bitmap-font disable bitmap font support [enable]
266 --disable-freetype disable FreeType 2 font rendering [autodetect]
267 --disable-fontconfig disable fontconfig font lookup [autodetect]
268 --disable-unrarexec disable using of UnRAR executable [enabled]
269 --enable-menu enable OSD menu (not DVD menu) [disabled]
270 --disable-sortsub disable subtitle sorting [enabled]
271 --enable-fribidi enable the FriBiDi libs [autodetect]
272 --disable-enca disable ENCA charset oracle library [autodetect]
273 --disable-maemo disable maemo specific features [autodetect]
274 --enable-macosx-finder enable Mac OS X Finder invocation parameter
276 --enable-macosx-bundle enable Mac OS X bundle file locations [autodetect]
277 --disable-inet6 disable IPv6 support [autodetect]
278 --disable-gethostbyname2 gethostbyname2 part of the C library [autodetect]
279 --disable-ftp disable FTP support [enabled]
280 --disable-vstream disable TiVo vstream client support [autodetect]
281 --disable-pthreads disable Posix threads support [autodetect]
282 --disable-w32threads disable Win32 threads support [autodetect]
283 --disable-ass-internal disable internal SSA/ASS subtitle support [autodetect]
284 --disable-ass disable SSA/ASS subtitle support [autodetect]
285 --enable-rpath enable runtime linker path for extra libs [disabled]
288 --enable-gif enable GIF support [autodetect]
289 --enable-png enable PNG input/output support [autodetect]
290 --enable-mng enable MNG input support [autodetect]
291 --enable-jpeg enable JPEG input/output support [autodetect]
292 --enable-libcdio enable libcdio support [autodetect]
293 --enable-liblzo enable liblzo support [autodetect]
294 --disable-win32dll disable Win32 DLL support [enabled]
295 --disable-qtx disable QuickTime codecs support [enabled]
296 --disable-xanim disable XAnim codecs support [enabled]
297 --disable-real disable RealPlayer codecs support [enabled]
298 --disable-xvid disable Xvid [autodetect]
299 --disable-xvid-lavc disable Xvid in libavcodec [autodetect]
300 --disable-x264 disable x264 [autodetect]
301 --disable-x264-lavc disable x264 in libavcodec [autodetect]
302 --disable-libdirac-lavc disable Dirac in libavcodec [autodetect]
303 --disable-libschroedinger-lavc disable Dirac in libavcodec (Schroedinger
304 decoder) [autodetect]
305 --disable-libnut disable libnut [autodetect]
306 --disable-libavutil_a disable static libavutil [autodetect]
307 --disable-libavcodec_a disable static libavcodec [autodetect]
308 --disable-libavformat_a disable static libavformat [autodetect]
309 --disable-libpostproc_a disable static libpostproc [autodetect]
310 --disable-libswscale_a disable static libswscale [autodetect]
311 --disable-libavutil_so disable shared libavutil [autodetect]
312 --disable-libavcodec_so disable shared libavcodec [autodetect]
313 --disable-libavformat_so disable shared libavformat [autodetect]
314 --disable-libpostproc_so disable shared libpostproc [autodetect]
315 --disable-libswscale_so disable shared libswscale [autodetect]
316 --disable-libavcodec_mpegaudio_hp disable high precision audio decoding
317 in libavcodec [enabled]
318 --disable-tremor-internal disable internal Tremor [enabled]
319 --enable-tremor-low enable lower accuracy internal Tremor [disabled]
320 --enable-tremor enable external Tremor [autodetect]
321 --disable-libvorbis disable libvorbis support [autodetect]
322 --disable-speex disable Speex support [autodetect]
323 --enable-theora enable OggTheora libraries [autodetect]
324 --enable-faad enable external FAAD2 (AAC) [autodetect]
325 --disable-faad-internal disable internal FAAD2 (AAC) [autodetect]
326 --enable-faad-fixed enable fixed-point mode in internal FAAD2 [disabled]
327 --disable-faac disable support for FAAC (AAC encoder) [autodetect]
328 --disable-faac-lavc disable support for FAAC in libavcodec [autodetect]
329 --disable-ladspa disable LADSPA plugin support [autodetect]
330 --disable-libbs2b disable libbs2b audio filter support [autodetect]
331 --disable-libdv disable libdv 0.9.5 en/decoding support [autodetect]
332 --disable-mad disable libmad (MPEG audio) support [autodetect]
333 --disable-mp3lame disable LAME MP3 encoding support [autodetect]
334 --disable-mp3lame-lavc disable LAME in libavcodec [autodetect]
335 --disable-toolame disable Toolame (MPEG layer 2) encoding [autodetect]
336 --disable-twolame disable Twolame (MPEG layer 2) encoding [autodetect]
337 --enable-xmms enable XMMS input plugin support [disabled]
338 --enable-libdca enable libdca support [autodetect]
339 --disable-mp3lib disable builtin mp3lib [autodetect]
340 --disable-liba52 disable liba52 [autodetect]
341 --disable-liba52-internal disable builtin liba52 [autodetect]
342 --disable-libmpeg2 disable builtin libmpeg2 [autodetect]
343 --disable-musepack disable musepack support [autodetect]
344 --disable-libopencore_amrnb disable libopencore_amr narrowband [autodetect]
345 --disable-libopencore_amrwb disable libopencore_amr wideband [autodetect]
346 --disable-decoder=DECODER disable specified FFmpeg decoder
347 --enable-decoder=DECODER enable specified FFmpeg decoder
348 --disable-encoder=ENCODER disable specified FFmpeg encoder
349 --enable-encoder=ENCODER enable specified FFmpeg encoder
350 --disable-parser=PARSER disable specified FFmpeg parser
351 --enable-parser=PARSER enable specified FFmpeg parser
352 --disable-protocol=PROTO disable specified FFmpeg protocol
353 --enable-protocol=PROTO enable specified FFmpeg protocol
354 --disable-demuxer=DEMUXER disable specified FFmpeg demuxer
355 --enable-demuxer=DEMUXER enable specified FFmpeg demuxer
356 --disable-muxer=MUXER disable specified FFmpeg muxer
357 --enable-muxer=MUXER enable specified FFmpeg muxer
360 --disable-vidix disable VIDIX [for x86 *nix]
361 --with-vidix-drivers[=*] list of VIDIX drivers to be compiled in
362 Available: cyberblade,ivtv,mach64,mga,mga_crtc2,
363 nvidia,pm2,pm3,radeon,rage128,s3,sis,unichrome
364 --disable-vidix-pcidb disable VIDIX PCI device name database
365 --enable-dhahelper enable VIDIX dhahelper support
366 --enable-svgalib_helper enable VIDIX svgalib_helper support
367 --enable-gl enable OpenGL video output [autodetect]
368 --enable-dga2 enable DGA 2 support [autodetect]
369 --enable-dga1 enable DGA 1 support [autodetect]
370 --enable-vesa enable VESA video output [autodetect]
371 --enable-svga enable SVGAlib video output [autodetect]
372 --enable-sdl enable SDL video output [autodetect]
373 --enable-kva enable KVA video output [autodetect]
374 --enable-aa enable AAlib video output [autodetect]
375 --enable-caca enable CACA video output [autodetect]
376 --enable-ggi enable GGI video output [autodetect]
377 --enable-ggiwmh enable GGI libggiwmh extension [autodetect]
378 --enable-direct3d enable Direct3D video output [autodetect]
379 --enable-directx enable DirectX video output [autodetect]
380 --enable-dxr2 enable DXR2 video output [autodetect]
381 --enable-dxr3 enable DXR3/H+ video output [autodetect]
382 --enable-ivtv enable IVTV TV-Out video output [autodetect]
383 --enable-v4l2 enable V4L2 Decoder audio/video output [autodetect]
384 --enable-dvb enable DVB video output [autodetect]
385 --enable-dvbhead enable DVB video output (HEAD version) [autodetect]
386 --enable-mga enable mga_vid video output [autodetect]
387 --enable-xmga enable mga_vid X11 video output [autodetect]
388 --enable-xv enable Xv video output [autodetect]
389 --enable-xvmc enable XvMC acceleration [disable]
390 --enable-vdpau enable VDPAU acceleration [autodetect]
391 --enable-vm enable XF86VidMode support [autodetect]
392 --enable-xinerama enable Xinerama support [autodetect]
393 --enable-x11 enable X11 video output [autodetect]
394 --enable-xshape enable XShape support [autodetect]
395 --disable-xss disable screensaver support via xss [autodetect]
396 --enable-fbdev enable FBDev video output [autodetect]
397 --enable-mlib enable mediaLib video output (Solaris) [disable]
398 --enable-3dfx enable obsolete /dev/3dfx video output [disable]
399 --enable-tdfxfb enable tdfxfb video output [disable]
400 --enable-s3fb enable s3fb (S3 ViRGE) video output [disable]
401 --enable-wii enable Nintendo Wii/GameCube video output [disable]
402 --enable-directfb enable DirectFB video output [autodetect]
403 --enable-zr enable ZR360[56]7/ZR36060 video output [autodetect]
404 --enable-bl enable Blinkenlights video output [disable]
405 --enable-tdfxvid enable tdfx_vid video output [disable]
406 --enable-xvr100 enable SUN XVR-100 video output [autodetect]
407 --disable-tga disable Targa video output [enable]
408 --disable-pnm disable PNM video output [enable]
409 --disable-md5sum disable md5sum video output [enable]
410 --disable-yuv4mpeg disable yuv4mpeg video output [enable]
411 --disable-corevideo disable CoreVideo video output [autodetect]
412 --disable-quartz disable Quartz video output [autodetect]
415 --disable-alsa disable ALSA audio output [autodetect]
416 --disable-ossaudio disable OSS audio output [autodetect]
417 --disable-arts disable aRts audio output [autodetect]
418 --disable-esd disable esd audio output [autodetect]
419 --disable-pulse disable Pulseaudio audio output [autodetect]
420 --disable-jack disable JACK audio output [autodetect]
421 --disable-openal disable OpenAL audio output [autodetect]
422 --disable-nas disable NAS audio output [autodetect]
423 --disable-sgiaudio disable SGI audio output [autodetect]
424 --disable-sunaudio disable Sun audio output [autodetect]
425 --disable-dart disable DART audio output [autodetect]
426 --disable-win32waveout disable Windows waveout audio output [autodetect]
427 --disable-coreaudio disable CoreAudio audio output [autodetect]
428 --disable-select disable using select() on the audio device [enable]
431 --charset=charset convert the console messages to this character set
432 --language-doc=lang language to use for the documentation [en]
433 --language-man=lang language to use for the man pages [en]
434 --language-msg=lang language to use for the messages and the GUI [en]
435 --language=lang default language to use [en]
436 Specific options override --language. You can pass a list of languages separated
437 by whitespace or commas instead of a single language. Nonexisting translations
438 will be dropped from each list. All documentation and man page translations
439 available in the list will be installed, for the messages the first available
440 translation will be used. The value "all" will activate all translations. The
441 LINGUAS environment variable is honored. In all cases the fallback is English.
442 Available values are: all $msg_lang_all
444 Miscellaneous options:
445 --enable-runtime-cpudetection enable runtime CPU detection [disable]
446 --enable-cross-compile enable cross-compilation [autodetect]
447 --cc=COMPILER C compiler to build MPlayer [gcc]
448 --host-cc=COMPILER C compiler for tools needed while building [gcc]
449 --as=ASSEMBLER assembler to build MPlayer [as]
450 --nm=NM nm tool to build MPlayer [nm]
451 --yasm=YASM Yasm assembler to build MPlayer [yasm]
452 --ar=AR librarian to build MPlayer [ar]
453 --ranlib=RANLIB ranlib to build MPlayer [ranlib]
454 --windres=WINDRES windres to build MPlayer [windres]
455 --target=PLATFORM target platform (i386-linux, arm-linux, etc)
456 --enable-static build a statically linked binary
457 --with-install=PATH path to a custom install program
460 --enable-mmx enable MMX [autodetect]
461 --enable-mmxext enable MMX2 (Pentium III, Athlon) [autodetect]
462 --enable-3dnow enable 3DNow! [autodetect]
463 --enable-3dnowext enable extended 3DNow! [autodetect]
464 --enable-sse enable SSE [autodetect]
465 --enable-sse2 enable SSE2 [autodetect]
466 --enable-ssse3 enable SSSE3 [autodetect]
467 --enable-shm enable shm [autodetect]
468 --enable-altivec enable AltiVec (PowerPC) [autodetect]
469 --enable-armv5te enable DSP extensions (ARM) [autodetect]
470 --enable-armv6 enable ARMv6 (ARM) [autodetect]
471 --enable-armv6t2 enable ARMv6t2 (ARM) [autodetect]
472 --enable-armvfp enable ARM VFP (ARM) [autodetect]
473 --enable-neon enable NEON (ARM) [autodetect]
474 --enable-iwmmxt enable iWMMXt (ARM) [autodetect]
475 --disable-fastmemcpy disable 3DNow!/SSE/MMX optimized memcpy [enable]
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-fribidi-config=PATH path to fribidi-config
493 --with-glib-config=PATH path to glib*-config
494 --with-gtk-config=PATH path to gtk*-config
495 --with-sdl-config=PATH path to sdl*-config
496 --with-dvdnav-config=PATH path to dvdnav-config
497 --with-dvdread-config=PATH path to dvdread-config
499 This configure script is NOT autoconf-based, even though its output is similar.
500 It will try to autodetect all configuration options. If you --enable an option
501 it will be forcefully turned on, skipping autodetection. This can break
502 compilation, so you need to know what you are doing.
507 # GOTCHA: the variables below defines the default behavior for autodetection
508 # and have - unless stated otherwise - at least 2 states : yes no
509 # 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
544 _libavdecoders_all
=$
(sed -n 's/^[^#]*DEC.*(.*, *\(.*\)).*/\1_decoder/p' libavcodec
/allcodecs.c |
tr '[a-z]' '[A-Z]')
545 _libavdecoders
=$
(echo $_libavdecoders_all |
sed -e 's/ LIB[A-Z0-9_]*_DECODER//g' -e s
/MPEG4AAC_DECODER
//)
546 _libavencoders_all
=$
(sed -n 's/^[^#]*ENC.*(.*, *\(.*\)).*/\1_encoder/p' libavcodec
/allcodecs.c |
tr '[a-z]' '[A-Z]')
547 _libavencoders
=$
(echo $_libavencoders_all |
sed -e 's/ LIB[A-Z0-9_]*_ENCODER//g' -e s
/AAC_ENCODER
//)
548 _libavparsers_all
=$
(sed -n 's/^[^#]*PARSER.*(.*, *\(.*\)).*/\1_parser/p' libavcodec
/allcodecs.c |
tr '[a-z]' '[A-Z]')
549 _libavparsers
=$_libavparsers_all
550 _libavbsfs_all
=$
(sed -n 's/^[^#]*BSF.*(.*, *\(.*\)).*/\1_bsf/p' libavcodec
/allcodecs.c |
tr '[a-z]' '[A-Z]')
551 _libavbsfs
=$_libavbsfs_all
552 _libavdemuxers_all
=$
(sed -n 's/^[^#]*DEMUX.*(.*, *\(.*\)).*/\1_demuxer/p' libavformat
/allformats.c |
tr '[a-z]' '[A-Z]')
553 _libavdemuxers
=$
(echo $_libavdemuxers_all |
sed -e 's/ LIB[A-Z0-9_]*_DEMUXER//g' -e s
/REDIR_DEMUXER
// -e s
/RTSP_DEMUXER
// -e s
/SDP_DEMUXER
// -e s
/AVISYNTH_DEMUXER
//)
554 _libavmuxers_all
=$
(sed -n 's/^[^#]*_MUX.*(.*, *\(.*\)).*/\1_muxer/p' libavformat
/allformats.c |
tr '[a-z]' '[A-Z]')
555 _libavmuxers
=$
(echo $_libavmuxers_all |
sed -e 's/ LIB[A-Z0-9_]*_MUXER//g' -e s
/RTP_MUXER
//)
556 _libavprotocols_all
=$
(sed -n 's/^[^#]*PROTOCOL.*(.*, *\(.*\)).*/\1_protocol/p' libavformat
/allformats.c |
tr '[a-z]' '[A-Z]')
565 _libavcodec_mpegaudio_hp
=yes
574 _xvmc
=no
#auto when complete
628 _liba52_internal
=auto
641 _dvdnavconfig
=dvdnav-config
642 _dvdreadconfig
=dvdread-config
644 _dvdread_internal
=auto
645 _libdvdcss_internal
=auto
656 _mlib
=no
#broken, thus disabled
688 _libschroedinger_lavc
=auto
733 _freetypeconfig
='freetype-config'
735 _fribidiconfig
='fribidi-config'
750 def_dos_paths
="#define HAVE_DOS_PATHS 0"
751 def_stream_cache
="#define CONFIG_STREAM_CACHE 1"
752 def_priority
="#undef CONFIG_PRIORITY"
753 def_pthread_cache
="#undef PTHREAD_CACHE"
761 _prefix
=$
(echo $ac_option | cut
-d '=' -f 2)
764 _bindir
=$
(echo $ac_option | cut
-d '=' -f 2)
767 _datadir
=$
(echo $ac_option | cut
-d '=' -f 2)
770 _mandir
=$
(echo $ac_option | cut
-d '=' -f 2)
773 _confdir
=$
(echo $ac_option | cut
-d '=' -f 2)
776 _libdir
=$
(echo $ac_option | cut
-d '=' -f 2)
779 _codecsdir
=$
(echo $ac_option | cut
-d '=' -f 2)
782 _win32codecsdir
=$
(echo $ac_option | cut
-d '=' -f 2)
785 _xanimcodecsdir
=$
(echo $ac_option | cut
-d '=' -f 2)
788 _realcodecsdir
=$
(echo $ac_option | cut
-d '=' -f 2)
792 _install
=$
(echo $ac_option | cut
-d '=' -f 2 )
795 _xvmclib
=$
(echo $ac_option | cut
-d '=' -f 2)
799 _sdlconfig
=$
(echo $ac_option | cut
-d '=' -f 2)
801 --with-freetype-config=*)
802 _freetypeconfig
=$
(echo $ac_option | cut
-d '=' -f 2)
804 --with-fribidi-config=*)
805 _fribidiconfig
=$
(echo $ac_option | cut
-d '=' -f 2)
808 _gtkconfig
=$
(echo $ac_option | cut
-d '=' -f 2)
810 --with-glib-config=*)
811 _glibconfig
=$
(echo $ac_option | cut
-d '=' -f 2)
813 --with-dvdnav-config=*)
814 _dvdnavconfig
=$
(echo $ac_option | cut
-d '=' -f 2)
816 --with-dvdread-config=*)
817 _dvdreadconfig
=$
(echo $ac_option | cut
-d '=' -f 2)
821 extra_cflags
=$
(echo $ac_option | cut
-d '=' -f 2-)
824 extra_ldflags
=$
(echo $ac_option | cut
-d '=' -f 2-)
827 extra_libs
=$
(echo $ac_option | cut
-d '=' -f 2)
829 --extra-libs-mplayer=*)
830 libs_mplayer
=$
(echo $ac_option | cut
-d '=' -f 2)
832 --extra-libs-mencoder=*)
833 libs_mencoder
=$
(echo $ac_option | cut
-d '=' -f 2)
837 _target
=$
(echo $ac_option | cut
-d '=' -f 2)
840 _cc
=$
(echo $ac_option | cut
-d '=' -f 2)
843 _host_cc
=$
(echo $ac_option | cut
-d '=' -f 2)
846 _as
=$
(echo $ac_option | cut
-d '=' -f 2)
849 _nm
=$
(echo $ac_option | cut
-d '=' -f 2)
852 _yasm
=$
(echo $ac_option | cut
-d '=' -f 2)
855 _ar
=$
(echo $ac_option | cut
-d '=' -f 2)
858 _ranlib
=$
(echo $ac_option | cut
-d '=' -f 2)
861 _windres
=$
(echo $ac_option | cut
-d '=' -f 2)
864 _charset
=$
(echo $ac_option | cut
-d '=' -f 2)
867 language_doc
=$
(echo $ac_option | cut
-d '=' -f 2)
870 language_man
=$
(echo $ac_option | cut
-d '=' -f 2)
873 language_msg
=$
(echo $ac_option | cut
-d '=' -f 2)
876 language
=$
(echo $ac_option | cut
-d '=' -f 2)
895 _debug
=$
(echo $_echo_n '-g'$_echo_c; echo $ac_option | cut
-d '=' -f 2)
900 --enable-runtime-cpudetection) _runtime_cpudetection
=yes ;;
901 --disable-runtime-cpudetection) _runtime_cpudetection
=no
;;
902 --enable-cross-compile) _cross_compile
=yes ;;
903 --disable-cross-compile) _cross_compile
=no
;;
904 --enable-mencoder) _mencoder
=yes ;;
905 --disable-mencoder) _mencoder
=no
;;
906 --enable-mplayer) _mplayer
=yes ;;
907 --disable-mplayer) _mplayer
=no
;;
908 --enable-dynamic-plugins) _dynamic_plugins
=yes ;;
909 --disable-dynamic-plugins) _dynamic_plugins
=no
;;
910 --enable-x11) _x11
=yes ;;
911 --disable-x11) _x11
=no
;;
912 --enable-xshape) _xshape
=yes ;;
913 --disable-xshape) _xshape
=no
;;
914 --enable-xss) _xss
=yes ;;
915 --disable-xss) _xss
=no
;;
916 --enable-xv) _xv
=yes ;;
917 --disable-xv) _xv
=no
;;
918 --enable-xvmc) _xvmc
=yes ;;
919 --disable-xvmc) _xvmc
=no
;;
920 --enable-vdpau) _vdpau
=yes ;;
921 --disable-vdpau) _vdpau
=no
;;
922 --enable-sdl) _sdl
=yes ;;
923 --disable-sdl) _sdl
=no
;;
924 --enable-kva) _kva
=yes ;;
925 --disable-kva) _kva
=no
;;
926 --enable-direct3d) _direct3d
=yes ;;
927 --disable-direct3d) _direct3d
=no
;;
928 --enable-directx) _directx
=yes ;;
929 --disable-directx) _directx
=no
;;
930 --enable-win32waveout) _win32waveout
=yes ;;
931 --disable-win32waveout) _win32waveout
=no
;;
932 --enable-nas) _nas
=yes ;;
933 --disable-nas) _nas
=no
;;
934 --enable-png) _png
=yes ;;
935 --disable-png) _png
=no
;;
936 --enable-mng) _mng
=yes ;;
937 --disable-mng) _mng
=no
;;
938 --enable-jpeg) _jpeg
=yes ;;
939 --disable-jpeg) _jpeg
=no
;;
940 --enable-pnm) _pnm
=yes ;;
941 --disable-pnm) _pnm
=no
;;
942 --enable-md5sum) _md5sum
=yes ;;
943 --disable-md5sum) _md5sum
=no
;;
944 --enable-yuv4mpeg) _yuv4mpeg
=yes ;;
945 --disable-yuv4mpeg) _yuv4mpeg
=no
;;
946 --enable-gif) _gif
=yes ;;
947 --disable-gif) _gif
=no
;;
948 --enable-gl) _gl
=yes ;;
949 --disable-gl) _gl
=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-dvbhead) _dvbhead
=yes ;;
967 --disable-dvbhead) _dvbhead
=no
;;
968 --enable-dxr2) _dxr2
=yes ;;
969 --disable-dxr2) _dxr2
=no
;;
970 --enable-dxr3) _dxr3
=yes ;;
971 --disable-dxr3) _dxr3
=no
;;
972 --enable-ivtv) _ivtv
=yes ;;
973 --disable-ivtv) _ivtv
=no
;;
974 --enable-v4l2) _v4l2
=yes ;;
975 --disable-v4l2) _v4l2
=no
;;
976 --enable-iconv) _iconv
=yes ;;
977 --disable-iconv) _iconv
=no
;;
978 --enable-langinfo) _langinfo
=yes ;;
979 --disable-langinfo) _langinfo
=no
;;
980 --enable-rtc) _rtc
=yes ;;
981 --disable-rtc) _rtc
=no
;;
982 --enable-libdv) _libdv
=yes ;;
983 --disable-libdv) _libdv
=no
;;
984 --enable-ossaudio) _ossaudio
=yes ;;
985 --disable-ossaudio) _ossaudio
=no
;;
986 --enable-arts) _arts
=yes ;;
987 --disable-arts) _arts
=no
;;
988 --enable-esd) _esd
=yes ;;
989 --disable-esd) _esd
=no
;;
990 --enable-pulse) _pulse
=yes ;;
991 --disable-pulse) _pulse
=no
;;
992 --enable-jack) _jack
=yes ;;
993 --disable-jack) _jack
=no
;;
994 --enable-openal) _openal
=yes ;;
995 --disable-openal) _openal
=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-internal) _liba52_internal
=yes ;;
1027 --disable-liba52-internal) _liba52_internal
=no
;;
1028 --enable-liba52) _liba52
=yes ;;
1029 --disable-liba52) _liba52
=no
;;
1030 --enable-libdca) _libdca
=yes ;;
1031 --disable-libdca) _libdca
=no
;;
1032 --enable-libmpeg2) _libmpeg2
=yes ;;
1033 --disable-libmpeg2) _libmpeg2
=no
;;
1034 --enable-musepack) _musepack
=yes ;;
1035 --disable-musepack) _musepack
=no
;;
1036 --enable-faad) _faad
=yes ;;
1037 --disable-faad) _faad
=no
;;
1038 --enable-faad-internal) _faad_internal
=yes ;;
1039 --disable-faad-internal) _faad_internal
=no
;;
1040 --enable-faad-fixed) _faad_fixed
=yes ;;
1041 --disable-faad-fixed) _faad_fixed
=no
;;
1042 --enable-faac) _faac
=yes ;;
1043 --disable-faac) _faac
=no
;;
1044 --enable-faac-lavc) _faac_lavc
=yes ;;
1045 --disable-faac-lavc) _faac_lavc
=no
;;
1046 --enable-ladspa) _ladspa
=yes ;;
1047 --disable-ladspa) _ladspa
=no
;;
1048 --enable-libbs2b) _libbs2b
=yes ;;
1049 --disable-libbs2b) _libbs2b
=no
;;
1050 --enable-xmms) _xmms
=yes ;;
1051 --disable-xmms) _xmms
=no
;;
1052 --enable-vcd) _vcd
=yes ;;
1053 --disable-vcd) _vcd
=no
;;
1054 --enable-dvdread) _dvdread
=yes ;;
1055 --disable-dvdread) _dvdread
=no
;;
1056 --enable-dvdread-internal) _dvdread_internal
=yes ;;
1057 --disable-dvdread-internal) _dvdread_internal
=no
;;
1058 --enable-libdvdcss-internal) _libdvdcss_internal
=yes ;;
1059 --disable-libdvdcss-internal) _libdvdcss_internal
=no
;;
1060 --enable-dvdnav) _dvdnav
=yes ;;
1061 --disable-dvdnav) _dvdnav
=no
;;
1062 --enable-xanim) _xanim
=yes ;;
1063 --disable-xanim) _xanim
=no
;;
1064 --enable-real) _real
=yes ;;
1065 --disable-real) _real
=no
;;
1066 --enable-live) _live
=yes ;;
1067 --disable-live) _live
=no
;;
1068 --enable-nemesi) _nemesi
=yes ;;
1069 --disable-nemesi) _nemesi
=no
;;
1070 --enable-xinerama) _xinerama
=yes ;;
1071 --disable-xinerama) _xinerama
=no
;;
1072 --enable-mga) _mga
=yes ;;
1073 --disable-mga) _mga
=no
;;
1074 --enable-xmga) _xmga
=yes ;;
1075 --disable-xmga) _xmga
=no
;;
1076 --enable-vm) _vm
=yes ;;
1077 --disable-vm) _vm
=no
;;
1078 --enable-xf86keysym) _xf86keysym
=yes ;;
1079 --disable-xf86keysym) _xf86keysym
=no
;;
1080 --enable-mlib) _mlib
=yes ;;
1081 --disable-mlib) _mlib
=no
;;
1082 --enable-sunaudio) _sunaudio
=yes ;;
1083 --disable-sunaudio) _sunaudio
=no
;;
1084 --enable-sgiaudio) _sgiaudio
=yes ;;
1085 --disable-sgiaudio) _sgiaudio
=no
;;
1086 --enable-alsa) _alsa
=yes ;;
1087 --disable-alsa) _alsa
=no
;;
1088 --enable-tv) _tv
=yes ;;
1089 --disable-tv) _tv
=no
;;
1090 --enable-tv-bsdbt848) _tv_bsdbt848
=yes ;;
1091 --disable-tv-bsdbt848) _tv_bsdbt848
=no
;;
1092 --enable-tv-v4l1) _tv_v4l1
=yes ;;
1093 --disable-tv-v4l1) _tv_v4l1
=no
;;
1094 --enable-tv-v4l2) _tv_v4l2
=yes ;;
1095 --disable-tv-v4l2) _tv_v4l2
=no
;;
1096 --enable-tv-dshow) _tv_dshow
=yes ;;
1097 --disable-tv-dshow) _tv_dshow
=no
;;
1098 --enable-radio) _radio
=yes ;;
1099 --enable-radio-capture) _radio_capture
=yes ;;
1100 --disable-radio-capture) _radio_capture
=no
;;
1101 --disable-radio) _radio
=no
;;
1102 --enable-radio-v4l) _radio_v4l
=yes ;;
1103 --disable-radio-v4l) _radio_v4l
=no
;;
1104 --enable-radio-v4l2) _radio_v4l2
=yes ;;
1105 --disable-radio-v4l2) _radio_v4l2
=no
;;
1106 --enable-radio-bsdbt848) _radio_bsdbt848
=yes ;;
1107 --disable-radio-bsdbt848) _radio_bsdbt848
=no
;;
1108 --enable-pvr) _pvr
=yes ;;
1109 --disable-pvr) _pvr
=no
;;
1110 --enable-fastmemcpy) _fastmemcpy
=yes ;;
1111 --disable-fastmemcpy) _fastmemcpy
=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-libnut) _libnut
=yes ;;
1143 --disable-libnut) _libnut
=no
;;
1144 --enable-libavutil_a) _libavutil_a
=yes ;;
1145 --disable-libavutil_a) _libavutil_a
=no
;;
1146 --enable-libavutil_so) _libavutil_so
=yes ;;
1147 --disable-libavutil_so) _libavutil_so
=no
;;
1148 --enable-libavcodec_a) _libavcodec_a
=yes ;;
1149 --disable-libavcodec_a) _libavcodec_a
=no
;;
1150 --enable-libavcodec_so) _libavcodec_so
=yes ;;
1151 --disable-libavcodec_so) _libavcodec_so
=no
;;
1152 --enable-libopencore_amrnb) _libopencore_amrnb
=yes ;;
1153 --disable-libopencore_amrnb) _libopencore_amrnb
=no
;;
1154 --enable-libopencore_amrwb) _libopencore_amrwb
=yes ;;
1155 --disable-libopencore_amrwb) _libopencore_amrwb
=no
;;
1156 --enable-decoder=*) _libavdecoders
="$_libavdecoders $(echo $ac_option | cut -d '=' -f 2 | tr '[a-z]' '[A-Z]')" ;;
1157 --disable-decoder=*) _libavdecoders
=$
(echo $_libavdecoders |
sed "s/$(echo $ac_option | cut -d '=' -f 2 | tr '[a-z]' '[A-Z]')//g") ;;
1158 --enable-encoder=*) _libavencoders
="$_libavencoders $(echo $ac_option | cut -d '=' -f 2 | tr '[a-z]' '[A-Z]')" ;;
1159 --disable-encoder=*) _libavencoders
=$
(echo $_libavencoders |
sed "s/$(echo $ac_option | cut -d '=' -f 2 | tr '[a-z]' '[A-Z]')//g") ;;
1160 --enable-parser=*) _libavparsers
="$_libavparsers $(echo $ac_option | cut -d '=' -f 2 | tr '[a-z]' '[A-Z]')" ;;
1161 --disable-parser=*) _libavparsers
=$
(echo $_libavparsers |
sed "s/$(echo $ac_option | cut -d '=' -f 2 | tr '[a-z]' '[A-Z]')//g") ;;
1162 --enable-protocol=*) _libavprotocols
="$_libavprotocols $(echo $ac_option | cut -d '=' -f 2 | tr '[a-z]' '[A-Z]')" ;;
1163 --disable-protocol=*) _libavprotocols
=$
(echo $_libavprotocols |
sed "s/$(echo $ac_option | cut -d '=' -f 2 | tr '[a-z]' '[A-Z]')//g") ;;
1164 --enable-demuxer=*) _libavdemuxers
="$_libavdemuxers $(echo $ac_option | cut -d '=' -f 2 | tr '[a-z]' '[A-Z]')" ;;
1165 --disable-demuxer=*) _libavdemuxers
=$
(echo $_libavdemuxers |
sed "s/$(echo $ac_option | cut -d '=' -f 2 | tr '[a-z]' '[A-Z]')//g") ;;
1166 --enable-muxer=*) _libavmuxers
="$_libavmuxers $(echo $ac_option | cut -d '=' -f 2 | tr '[a-z]' '[A-Z]')" ;;
1167 --disable-muxer=*) _libavmuxers
=$
(echo $_libavmuxers |
sed "s/$(echo $ac_option | cut -d '=' -f 2 | tr '[a-z]' '[A-Z]')//g") ;;
1168 --enable-libavformat_a) _libavformat_a
=yes ;;
1169 --disable-libavformat_a) _libavformat_a
=no
;;
1170 --enable-libavformat_so) _libavformat_so
=yes ;;
1171 --disable-libavformat_so) _libavformat_so
=no
;;
1172 --enable-libpostproc_a) _libpostproc_a
=yes ;;
1173 --disable-libpostproc_a) _libpostproc_a
=no
;;
1174 --enable-libpostproc_so) _libpostproc_so
=yes ;;
1175 --disable-libpostproc_so) _libpostproc_so
=no
;;
1176 --enable-libswscale_a) _libswscale_a
=yes ;;
1177 --disable-libswscale_a) _libswscale_a
=no
;;
1178 --enable-libswscale_so) _libswscale_so
=yes ;;
1179 --disable-libswscale_so) _libswscale_so
=no
;;
1180 --enable-libavcodec_mpegaudio_hp) _libavcodec_mpegaudio_hp
=yes ;;
1181 --disable-libavcodec_mpegaudio_hp) _libavcodec_mpegaudio_hp
=no
;;
1183 --enable-lirc) _lirc
=yes ;;
1184 --disable-lirc) _lirc
=no
;;
1185 --enable-lircc) _lircc
=yes ;;
1186 --disable-lircc) _lircc
=no
;;
1187 --enable-apple-remote) _apple_remote
=yes ;;
1188 --disable-apple-remote) _apple_remote
=no
;;
1189 --enable-apple-ir) _apple_ir
=yes ;;
1190 --disable-apple-ir) _apple_ir
=no
;;
1191 --enable-gui) _gui
=yes ;;
1192 --disable-gui) _gui
=no
;;
1193 --enable-gtk1) _gtk1
=yes ;;
1194 --disable-gtk1) _gtk1
=no
;;
1195 --enable-termcap) _termcap
=yes ;;
1196 --disable-termcap) _termcap
=no
;;
1197 --enable-termios) _termios
=yes ;;
1198 --disable-termios) _termios
=no
;;
1199 --enable-3dfx) _3dfx
=yes ;;
1200 --disable-3dfx) _3dfx
=no
;;
1201 --enable-s3fb) _s3fb
=yes ;;
1202 --disable-s3fb) _s3fb
=no
;;
1203 --enable-wii) _wii
=yes ;;
1204 --disable-wii) _wii
=no
;;
1205 --enable-tdfxfb) _tdfxfb
=yes ;;
1206 --disable-tdfxfb) _tdfxfb
=no
;;
1207 --disable-tdfxvid) _tdfxvid
=no
;;
1208 --enable-tdfxvid) _tdfxvid
=yes ;;
1209 --disable-xvr100) _xvr100
=no
;;
1210 --enable-xvr100) _xvr100
=yes ;;
1211 --disable-tga) _tga
=no
;;
1212 --enable-tga) _tga
=yes ;;
1213 --enable-directfb) _directfb
=yes ;;
1214 --disable-directfb) _directfb
=no
;;
1215 --enable-zr) _zr
=yes ;;
1216 --disable-zr) _zr
=no
;;
1217 --enable-bl) _bl
=yes ;;
1218 --disable-bl) _bl
=no
;;
1219 --enable-mtrr) _mtrr
=yes ;;
1220 --disable-mtrr) _mtrr
=no
;;
1221 --enable-largefiles) _largefiles
=yes ;;
1222 --disable-largefiles) _largefiles
=no
;;
1223 --enable-shm) _shm
=yes ;;
1224 --disable-shm) _shm
=no
;;
1225 --enable-select) _select
=yes ;;
1226 --disable-select) _select
=no
;;
1227 --enable-linux-devfs) _linux_devfs
=yes ;;
1228 --disable-linux-devfs) _linux_devfs
=no
;;
1229 --enable-cdparanoia) _cdparanoia
=yes ;;
1230 --disable-cdparanoia) _cdparanoia
=no
;;
1231 --enable-cddb) _cddb
=yes ;;
1232 --disable-cddb) _cddb
=no
;;
1233 --enable-big-endian) _big_endian
=yes ;;
1234 --disable-big-endian) _big_endian
=no
;;
1235 --enable-bitmap-font) _bitmap_font
=yes ;;
1236 --disable-bitmap-font) _bitmap_font
=no
;;
1237 --enable-freetype) _freetype
=yes ;;
1238 --disable-freetype) _freetype
=no
;;
1239 --enable-fontconfig) _fontconfig
=yes ;;
1240 --disable-fontconfig) _fontconfig
=no
;;
1241 --enable-unrarexec) _unrar_exec
=yes ;;
1242 --disable-unrarexec) _unrar_exec
=no
;;
1243 --enable-ftp) _ftp
=yes ;;
1244 --disable-ftp) _ftp
=no
;;
1245 --enable-vstream) _vstream
=yes ;;
1246 --disable-vstream) _vstream
=no
;;
1247 --enable-pthreads) _pthreads
=yes ;;
1248 --disable-pthreads) _pthreads
=no
;;
1249 --enable-w32threads) _w32threads
=yes ;;
1250 --disable-w32threads) _w32threads
=no
;;
1251 --enable-ass) _ass
=yes ;;
1252 --disable-ass) _ass
=no
;;
1253 --enable-ass-internal) ass_internal
=yes ;;
1254 --disable-ass-internal) ass_internal
=no
;;
1255 --enable-rpath) _rpath
=yes ;;
1256 --disable-rpath) _rpath
=no
;;
1258 --enable-fribidi) _fribidi
=yes ;;
1259 --disable-fribidi) _fribidi
=no
;;
1261 --enable-enca) _enca
=yes ;;
1262 --disable-enca) _enca
=no
;;
1264 --enable-inet6) _inet6
=yes ;;
1265 --disable-inet6) _inet6
=no
;;
1267 --enable-gethostbyname2) _gethostbyname2
=yes ;;
1268 --disable-gethostbyname2) _gethostbyname2
=no
;;
1270 --enable-dga1) _dga1
=yes ;;
1271 --disable-dga1) _dga1
=no
;;
1272 --enable-dga2) _dga2
=yes ;;
1273 --disable-dga2) _dga2
=no
;;
1275 --enable-menu) _menu
=yes ;;
1276 --disable-menu) _menu
=no
;;
1278 --enable-qtx) _qtx
=yes ;;
1279 --disable-qtx) _qtx
=no
;;
1281 --enable-coreaudio) _coreaudio
=yes ;;
1282 --disable-coreaudio) _coreaudio
=no
;;
1283 --enable-corevideo) _corevideo
=yes ;;
1284 --disable-corevideo) _corevideo
=no
;;
1285 --enable-quartz) _quartz
=yes ;;
1286 --disable-quartz) _quartz
=no
;;
1287 --enable-macosx-finder) _macosx_finder
=yes ;;
1288 --disable-macosx-finder) _macosx_finder
=no
;;
1289 --enable-macosx-bundle) _macosx_bundle
=yes;;
1290 --disable-macosx-bundle) _macosx_bundle
=no
;;
1292 --enable-maemo) _maemo
=yes ;;
1293 --disable-maemo) _maemo
=no
;;
1295 --enable-sortsub) _sortsub
=yes ;;
1296 --disable-sortsub) _sortsub
=no
;;
1298 --enable-crash-debug) _crash_debug
=yes ;;
1299 --disable-crash-debug) _crash_debug
=no
;;
1300 --enable-sighandler) _sighandler
=yes ;;
1301 --disable-sighandler) _sighandler
=no
;;
1302 --enable-win32dll) _win32dll
=yes ;;
1303 --disable-win32dll) _win32dll
=no
;;
1305 --enable-sse) _sse
=yes ;;
1306 --disable-sse) _sse
=no
;;
1307 --enable-sse2) _sse2
=yes ;;
1308 --disable-sse2) _sse2
=no
;;
1309 --enable-ssse3) _ssse3
=yes ;;
1310 --disable-ssse3) _ssse3
=no
;;
1311 --enable-mmxext) _mmxext
=yes ;;
1312 --disable-mmxext) _mmxext
=no
;;
1313 --enable-3dnow) _3dnow
=yes ;;
1314 --disable-3dnow) _3dnow
=no _3dnowext
=no
;;
1315 --enable-3dnowext) _3dnow
=yes _3dnowext
=yes ;;
1316 --disable-3dnowext) _3dnowext
=no
;;
1317 --enable-cmov) _cmov
=yes ;;
1318 --disable-cmov) _cmov
=no
;;
1319 --enable-fast-cmov) _fast_cmov
=yes ;;
1320 --disable-fast-cmov) _fast_cmov
=no
;;
1321 --enable-altivec) _altivec
=yes ;;
1322 --disable-altivec) _altivec
=no
;;
1323 --enable-armv5te) _armv5te
=yes ;;
1324 --disable-armv5te) _armv5te
=no
;;
1325 --enable-armv6) _armv6
=yes ;;
1326 --disable-armv6) _armv6
=no
;;
1327 --enable-armv6t2) _armv6t2
=yes ;;
1328 --disable-armv6t2) _armv6t2
=no
;;
1329 --enable-armvfp) _armvfp
=yes ;;
1330 --disable-armvfp) _armvfp
=no
;;
1331 --enable-neon) neon
=yes ;;
1332 --disable-neon) neon
=no
;;
1333 --enable-iwmmxt) _iwmmxt
=yes ;;
1334 --disable-iwmmxt) _iwmmxt
=no
;;
1335 --enable-mmx) _mmx
=yes ;;
1336 --disable-mmx) # 3Dnow! and MMX2 require MMX
1337 _3dnow
=no _3dnowext
=no _mmx
=no _mmxext
=no
;;
1340 echo "Unknown parameter: $ac_option"
1347 # Atmos: moved this here, to be correct, if --prefix is specified
1348 test -z "$_bindir" && _bindir
="$_prefix/bin"
1349 test -z "$_datadir" && _datadir
="$_prefix/share/mplayer"
1350 test -z "$_mandir" && _mandir
="$_prefix/share/man"
1351 test -z "$_confdir" && _confdir
="$_prefix/etc/mplayer"
1352 test -z "$_libdir" && _libdir
="$_prefix/lib"
1354 # Determine our OS name and CPU architecture
1355 if test -z "$_target" ; then
1357 system_name
=$
(uname
-s 2>&1)
1358 case "$system_name" in
1359 Linux|FreeBSD|NetBSD|OpenBSD|DragonFly|BSD
/OS|Darwin|SunOS|QNX|GNU|BeOS|MorphOS|AIX|AmigaOS
)
1373 [cC
][yY
][gG
][wW
][iI
][nN
]*)
1383 system_name
="$system_name-UNKNOWN"
1388 # host's CPU/instruction set
1389 host_arch
=$
(uname
-p 2>&1)
1390 case "$host_arch" in
1391 i386|sparc|ppc|alpha|arm|mips|vax
)
1393 powerpc
) # Darwin returns 'powerpc'
1396 *) # uname -p on Linux returns 'unknown' for the processor type,
1397 # OpenBSD returns 'Intel Pentium/MMX ("Genuine Intel" 586-class)'
1399 # Maybe uname -m (machine hardware name) returns something we
1402 # x86/x86pc is used by QNX
1403 case "$(uname -m 2>&1)" in
1404 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
;;
1405 ia64
) host_arch
=ia64
;;
1406 macppc|ppc
) host_arch
=ppc
;;
1407 ppc64
) host_arch
=ppc64
;;
1408 alpha
) host_arch
=alpha
;;
1409 sparc
) host_arch
=sparc
;;
1410 sparc64
) host_arch
=sparc64
;;
1411 parisc
*|hppa
*|
9000*) host_arch
=hppa
;;
1412 arm
*|zaurus|cats
) host_arch
=arm
;;
1413 sh3|sh4|sh4a
) host_arch
=sh
;;
1414 s390
) host_arch
=s390
;;
1415 s390x
) host_arch
=s390x
;;
1416 *mips
*) host_arch
=mips
;;
1417 vax
) host_arch
=vax
;;
1418 xtensa
*) host_arch
=xtensa
;;
1419 *) host_arch
=UNKNOWN
;;
1423 else # if test -z "$_target"
1424 system_name
=$
(echo $_target | cut
-d '-' -f 2)
1425 case "$(echo $system_name | tr A-Z a-z)" in
1426 linux
) system_name
=Linux
;;
1427 freebsd
) system_name
=FreeBSD
;;
1428 gnu
/kfreebsd
) system_name
=FreeBSD
;;
1429 netbsd
) system_name
=NetBSD
;;
1430 bsd
/os
) system_name
=BSD
/OS
;;
1431 openbsd
) system_name
=OpenBSD
;;
1432 dragonfly
) system_name
=DragonFly
;;
1433 sunos
) system_name
=SunOS
;;
1434 qnx
) system_name
=QNX
;;
1435 morphos
) system_name
=MorphOS
;;
1436 amigaos
) system_name
=AmigaOS
;;
1437 mingw32
*) system_name
=MINGW32
;;
1439 # We need to convert underscores so that values like k6-2 and pentium-mmx can be passed
1440 host_arch
=$
(echo $_target | cut
-d '-' -f 1)
1441 if test $
(echo $host_arch) != "x86_64" ; then
1442 host_arch
=$
(echo $host_arch |
tr '_' '-')
1446 extra_cflags
="-I. $extra_cflags"
1447 _timer
=timer-linux.c
1450 extra_ldflags
="$extra_ldflags -L/usr/local/lib"
1451 extra_cflags
="$extra_cflags -I/usr/local/include"
1454 if netbsd || dragonfly
; then
1455 extra_ldflags
="$extra_ldflags -L/usr/pkg/lib"
1456 extra_cflags
="$extra_cflags -I/usr/pkg/include"
1460 extra_cflags
="-mdynamic-no-pic -falign-loops=16 -shared-libgcc $extra_cflags"
1461 _timer
=timer-darwin.c
1465 extra_ldflags
="$extra_ldflags -lC"
1476 # -lwinmm is always needed for osdep/timer-win2.c
1477 extra_ldflags
="$extra_ldflags -lwinmm"
1481 def_dos_paths
="#define HAVE_DOS_PATHS 1"
1482 def_priority
="#define CONFIG_PRIORITY 1"
1494 def_stream_cache
="#undef CONFIG_STREAM_CACHE"
1495 extra_cflags
="-DNEWLIB -D__USE_INLINE__ $extra_cflags"
1499 extra_ldflags
="$extra_ldflags -lph"
1507 def_dos_paths
="#define HAVE_DOS_PATHS 1"
1508 def_priority
="#define CONFIG_PRIORITY 1"
1511 for I
in "$TMPDIR" "$TEMPDIR" "/tmp" ; do
1516 TMPLOG
="configure.log"
1517 TMPC
="$I/mplayer-conf-$RANDOM-$$.c"
1518 TMPCPP
="$I/mplayer-conf-$RANDOM-$$.cpp"
1519 TMPEXE
="$I/mplayer-conf-$RANDOM-$$$_exesuf"
1520 TMPH
="$I/mplayer-conf-$RANDOM-$$.h"
1521 TMPS
="$I/mplayer-conf-$RANDOM-$$.S"
1524 echo configuration
: $_configuration > "$TMPLOG"
1528 if test "$_runtime_cpudetection" = yes && ! x86
&& ! ppc
; then
1529 die
"Runtime CPU detection only works for x86, x86-64 and PPC!"
1533 # Checking CC version...
1534 # Intel C++ Compilers (no autoselect, use CC=/some/binary ./configure)
1535 if test "$(basename $_cc)" = "icc" ||
test "$(basename $_cc)" = "ecc"; then
1536 echocheck
"$_cc version"
1538 cc_name
=$
($_cc -V 2>&1 |
head -n 1 | cut
-d ',' -f 1)
1539 cc_version
=$
($_cc -V 2>&1 |
head -n 1 | cut
-d ',' -f 2 | cut
-d ' ' -f 3)
1540 _cc_major
=$
(echo $cc_version | cut
-d '.' -f 1)
1541 _cc_minor
=$
(echo $cc_version | cut
-d '.' -f 2)
1542 # TODO verify older icc/ecc compatibility
1545 cc_version
="v. ?.??, bad"
1549 cc_version
="$cc_version, ok"
1552 cc_version
="$cc_version, bad"
1556 echores
"$cc_version"
1558 for _cc
in "$_cc" cc gcc
; do
1559 cc_name_tmp
=$
($_cc -v 2>&1 |
tail -n 1 | cut
-d ' ' -f 1)
1560 if test "$cc_name_tmp" = "gcc"; then
1561 cc_name
=$cc_name_tmp
1562 echocheck
"$_cc version"
1564 cc_version
=$
($_cc -dumpversion 2>&1)
1570 _cc_major
=$
(echo $cc_version | cut
-d '.' -f 1)
1571 _cc_minor
=$
(echo $cc_version | cut
-d '.' -f 2)
1572 _cc_mini
=$
(echo $cc_version | cut
-d '.' -f 3)
1575 echores
"$cc_version"
1580 test "$cc_fail" = yes && die
"unsupported compiler version"
1582 if test -z "$_target" && x86
; then
1585 int test[(int)sizeof(char *)-7];
1589 cc_check
&& host_arch
=x86_64 || host_arch
=i386
1592 echo "Detected operating system: $system_name"
1593 echo "Detected host architecture: $host_arch"
1596 test "$_host_cc" || _host_cc
=$_cc
1599 echocheck
"cross compilation"
1600 if test $_cross_compile = auto
; then
1602 int main(void) { return 0; }
1605 cc_check
&& "$TMPEXE" && _cross_compile
=no
1607 echores
$_cross_compile
1609 if test $_cross_compile = yes; then
1617 # now that we know what compiler should be used for compilation, try to find
1618 # out which assembler is used by the $_cc compiler
1619 if test "$_as" = auto
; then
1620 _as
=$
($_cc -print-prog-name=as
)
1621 test -z "$_as" && _as
=as
1624 if test "$_nm" = auto
; then
1625 _nm
=$
($_cc -print-prog-name=nm
)
1626 test -z "$_nm" && _nm
=nm
1629 # XXX: this should be ok..
1632 if test "$_runtime_cpudetection" = no
; then
1634 # Cygwin has /proc/cpuinfo, but only supports Intel CPUs
1635 # FIXME: Remove the cygwin check once AMD CPUs are supported
1636 if test -r /proc
/cpuinfo
&& ! cygwin
; then
1637 # Linux with /proc mounted, extract CPU information from it
1638 _cpuinfo
="cat /proc/cpuinfo"
1639 elif test -r /compat
/linux
/proc
/cpuinfo
&& ! x86_32
; then
1640 # FreeBSD with Linux emulation /proc mounted,
1641 # extract CPU information from it
1642 _cpuinfo
="cat /compat/linux/proc/cpuinfo"
1643 elif darwin
&& ! x86
; then
1644 # use hostinfo on Darwin
1647 # use 'lsattr' on AIX
1648 _cpuinfo
="lsattr -E -l proc0 -a type"
1650 # all other OSes try to extract CPU information from a small helper
1651 # program cpuinfo instead
1652 $_cc -o cpuinfo
$_exesuf cpuinfo.c
1653 _cpuinfo
="./cpuinfo$_exesuf"
1657 # gather more CPU information
1658 pname
=$
($_cpuinfo |
grep 'model name' | cut
-d ':' -f 2 |
head -n 1)
1659 pvendor
=$
($_cpuinfo |
grep 'vendor_id' | cut
-d ':' -f 2 | cut
-d ' ' -f 2 |
head -n 1)
1660 pfamily
=$
($_cpuinfo |
grep 'cpu family' | cut
-d ':' -f 2 | cut
-d ' ' -f 2 |
head -n 1)
1661 pmodel
=$
($_cpuinfo |
grep -v 'model name' |
grep 'model' | cut
-d ':' -f 2 | cut
-d ' ' -f 2 |
head -n 1)
1662 pstepping
=$
($_cpuinfo |
grep 'stepping' | cut
-d ':' -f 2 | cut
-d ' ' -f 2 |
head -n 1)
1664 exts
=$
($_cpuinfo |
egrep 'features|flags' | cut
-d ':' -f 2 |
head -n 1)
1666 pparam
=$
(echo $exts |
sed -e s
/k6_mtrr
/mtrr
/ -e s
/cyrix_arr
/mtrr
/ -e s
/centaur_mcr
/mtrr
/ \
1667 -e s
/xmm
/sse
/ -e s
/kni
/sse
/)
1669 for ext
in $pparam ; do
1670 eval test \"\
$_$ext\" = auto
2>/dev
/null
&& eval _
$ext=kernel_check
1673 # SSE implies MMX2, but not all SSE processors report the mmxext CPU flag.
1674 test $_sse = kernel_check
&& _mmxext
=kernel_check
1676 echocheck
"CPU vendor"
1677 echores
"$pvendor ($pfamily:$pmodel:$pstepping)"
1679 echocheck
"CPU type"
1683 fi # test "$_runtime_cpudetection" = no
1685 if x86
&& test "$_runtime_cpudetection" = no
; then
1687 if test "$1" = kernel_check
; then
1688 echocheck
"kernel support of $2"
1692 void catch() { exit(1); }
1694 signal(SIGILL, catch);
1695 __asm__ volatile ("$3":::"memory"); return 0;
1699 if cc_check
&& tmp_run
; then
1702 _optimizing
="$_optimizing $2"
1707 echo "It seems that your kernel does not correctly support $2."
1708 echo "To use $2 extensions in MPlayer, you have to upgrade/recompile your kernel!"
1715 extcheck
$_mmx "mmx" "emms"
1716 extcheck
$_mmxext "mmxext" "sfence"
1717 extcheck
$_3dnow "3dnow" "femms"
1718 extcheck
$_3dnowext "3dnowext" "pswapd %%mm0, %%mm0"
1719 extcheck
$_sse "sse" "xorps %%xmm0, %%xmm0" || _gcc3_ext
="$_gcc3_ext -mno-sse"
1720 extcheck
$_sse2 "sse2" "xorpd %%xmm0, %%xmm0" || _gcc3_ext
="$_gcc3_ext -mno-sse2"
1721 extcheck
$_ssse3 "ssse3" "pabsd %%xmm0, %%xmm0"
1722 extcheck
$_cmov "cmov" "cmovb %%eax,%%ebx"
1724 echocheck
"mtrr support"
1725 if test "$_mtrr" = kernel_check
; then
1727 _optimizing
="$_optimizing mtrr"
1731 if test "$_gcc3_ext" != ""; then
1732 # if we had to disable sse/sse2 because the active kernel does not
1733 # support this instruction set extension, we also have to tell
1734 # gcc3 to not generate sse/sse2 instructions for normal C code
1736 int main(void) { return 0; }
1738 cc_check
$_march $_gcc3_ext && _march
="$_march $_gcc3_ext"
1744 def_fast_64bit
='#define HAVE_FAST_64BIT 0'
1745 def_fast_unaligned
='#define HAVE_FAST_UNALIGNED 0'
1746 _arch_all
='X86 X86_32 X86_64 IA64 SPARC ARM AVR32 SH4 PPC PPC64 ALPHA MIPS SGI_MIPS PA_RISC S390 S390X VAX BFIN XTENSA GENERIC'
1747 case "$host_arch" in
1748 i
[3-9]86|x86|x86pc|k5|k6|k6-2|k6-3|pentium
*|athlon
*|i586-i686
)
1750 _target_arch
="ARCH_X86 = yes"
1751 _target_subarch
="ARCH_X86_32 = yes"
1752 def_fast_unaligned
='#define HAVE_FAST_UNALIGNED 1'
1757 if test "$_runtime_cpudetection" = no
; then
1761 3) proc
=i386 iproc
=386 ;;
1762 4) proc
=i486 iproc
=486 ;;
1763 5) iproc
=586 # LGB: models are: K5/SSA5 K5 K5 K5 ? ? K6 K6 K6-2 K6-3
1764 # K6 model 13 are the K6-2+ and K6-III+, only differing in cache size.
1765 if test "$pmodel" -eq 9 -o "$pmodel" -eq 13; then
1767 elif test "$pmodel" -eq 5 -o "$pmodel" -eq 10; then
1769 elif test "$pmodel" -ge 8; then
1771 elif test "$pmodel" -ge 6; then
1778 # It's a bit difficult to determine the correct type of Family 6
1779 # AMD CPUs just from their signature. Instead, we check directly
1780 # whether it supports SSE.
1781 if test "$_sse" = yes; then
1782 # gcc treats athlon-xp, athlon-4 and athlon-mp similarly.
1785 # Again, gcc treats athlon and athlon-tbird similarly.
1790 # k8 cpu-type only supported in gcc >= 3.4.0, but that will be
1791 # caught and remedied in the optimization tests below.
1795 *) proc
=k8 iproc
=686 ;;
1800 3) proc
=i386 iproc
=386 ;;
1801 4) proc
=i486 iproc
=486 ;;
1803 if test "$pmodel" -eq 4 ||
test "$pmodel" -eq 8; then
1804 proc
=pentium-mmx
# 4 is desktop, 8 is mobile
1810 if test "$pmodel" -ge 15; then
1812 elif test "$pmodel" -eq 9 -o "$pmodel" -ge 13; then
1814 elif test "$pmodel" -ge 7; then
1816 elif test "$pmodel" -ge 3; then
1823 # A nocona in 32-bit mode has no more capabilities than a prescott.
1824 if test "$pmodel" -ge 3; then
1829 test $_fast_cmov = "auto" && _fast_cmov
=no
1831 *) proc
=prescott iproc
=686 ;;
1837 if test "$pmodel" -ge 8; then
1839 elif test "$pmodel" -ge 4; then
1846 if test "$pmodel" -ge 9; then
1853 *) proc
=i686 iproc
=i686
;;
1858 3) proc
=i386 iproc
=386 ;;
1859 4) proc
=i486 iproc
=486 ;;
1860 *) proc
=i586 iproc
=586 ;;
1864 proc
=i586 iproc
=586 ;;
1866 fi # test "$_runtime_cpudetection" = no
1869 # check that gcc supports our CPU, if not, fall back to earlier ones
1870 # LGB: check -mcpu and -march swithing step by step with enabling
1871 # to fall back till 386.
1873 # gcc >= 3.4.0 doesn't support -mcpu, we have to use -mtune instead
1875 if [ "$cc_vendor" = "gnu" ] && ([ "$_cc_major" -gt 3 ] ||
( [ "$_cc_major" = 3 ] && [ "$_cc_minor" -ge 4 ])) ; then
1881 echocheck
"GCC & CPU optimization abilities"
1883 int main(void) { return 0; }
1885 if test "$_runtime_cpudetection" = no
; then
1886 cc_check
-march=native
&& proc
=native
1887 if test "$proc" = "k8"; then
1888 cc_check
-march=$proc $cpuopt=$proc || proc
=athlon-xp
1890 if test "$proc" = "athlon-xp"; then
1891 cc_check
-march=$proc $cpuopt=$proc || proc
=athlon
1893 if test "$proc" = "k6-3" ||
test "$proc" = "k6-2"; then
1894 cc_check
-march=$proc $cpuopt=$proc || proc
=k6
1896 if test "$proc" = "k6" ||
test "$proc" = "c3"; then
1897 if ! cc_check
-march=$proc $cpuopt=$proc; then
1898 if cc_check
-march=i586
$cpuopt=i686
; then
1905 if test "$proc" = "prescott" ; then
1906 cc_check
-march=$proc $cpuopt=$proc || proc
=pentium4
1908 if test "$proc" = "core2" ; then
1909 cc_check
-march=$proc $cpuopt=$proc || proc
=pentium-m
1911 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
1912 cc_check
-march=$proc $cpuopt=$proc || proc
=i686
1914 if test "$proc" = "i686" ||
test "$proc" = "pentium-mmx" ||
test "$proc" = "winchip-c6" ||
test "$proc" = "winchip2"; then
1915 cc_check
-march=$proc $cpuopt=$proc || proc
=i586
1917 if test "$proc" = "i586"; then
1918 cc_check
-march=$proc $cpuopt=$proc || proc
=i486
1920 if test "$proc" = "i486" ; then
1921 cc_check
-march=$proc $cpuopt=$proc || proc
=i386
1923 if test "$proc" = "i386" ; then
1924 cc_check
-march=$proc $cpuopt=$proc || proc
=error
1926 if test "$proc" = "error" ; then
1927 echores
"CPU optimization disabled. CPU not recognized or your compiler is too old."
1931 elif test "$proc" = "i586-i686"; then
1932 _march
="-march=i586"
1933 _mcpu
="$cpuopt=i686"
1936 _march
="-march=$proc"
1937 _mcpu
="$cpuopt=$proc"
1940 else # if test "$_runtime_cpudetection" = no
1941 _mcpu
="$cpuopt=generic"
1942 # at least i486 required, for bswap instruction
1943 _march
="-march=i486"
1944 cc_check
$_mcpu || _mcpu
="$cpuopt=i686"
1945 cc_check
$_mcpu || _mcpu
=""
1946 cc_check
$_march $_mcpu || _march
=""
1949 ## Gabucino : --target takes effect here (hopefully...) by overwriting
1950 ## autodetected mcpu/march parameters
1951 if test "$_target" ; then
1952 # TODO: it may be a good idea to check GCC and fall back in all cases
1953 if test "$host_arch" = "i586-i686"; then
1954 _march
="-march=i586"
1955 _mcpu
="$cpuopt=i686"
1957 _march
="-march=$host_arch"
1958 _mcpu
="$cpuopt=$host_arch"
1966 i586|k5|k6|k6-2|k6-3|pentium|pentium-mmx
) iproc
=586 ;;
1967 i686|athlon
*|pentium
*) iproc
=686 ;;
1972 if test $_cmov = "yes" && test $_fast_cmov = "auto" ; then
1983 _target_arch
='ARCH_IA64 = yes'
1984 def_fast_64bit
='#define HAVE_FAST_64BIT 1'
1990 _target_subarch
='ARCH_X86_64 = yes'
1991 _target_arch
="ARCH_X86 = yes"
1992 def_fast_unaligned
='#define HAVE_FAST_UNALIGNED 1'
1993 def_fast_64bit
='#define HAVE_FAST_64BIT 1'
1996 # gcc >= 3.4.0 doesn't support -mcpu, we have to use -mtune instead
1997 if test "$cc_vendor" = "gnu" && test "$_cc_major" -gt 3 -o "$_cc_major" -eq 3 -a "$_cc_minor" -ge 4 ; then
2002 test $_fast_cmov = "auto" && _fast_cmov
=yes
2003 if test "$_runtime_cpudetection" = no
; then
2011 # 64-bit prescotts exist, but as far as GCC is concerned they
2012 # have the same capabilities as a nocona.
2020 fi # test "$_runtime_cpudetection" = no
2022 echocheck
"GCC & CPU optimization abilities"
2024 int main(void) { return 0; }
2026 # This is a stripped-down version of the i386 fallback.
2027 if test "$_runtime_cpudetection" = no
; then
2028 cc_check
-march=native
&& proc
=native
2029 # --- AMD processors ---
2030 if test "$proc" = "k8"; then
2031 cc_check
-march=$proc $cpuopt=$proc || proc
=athlon-xp
2033 # This will fail if gcc version < 3.3, which is ok because earlier
2034 # versions don't really support 64-bit on amd64.
2035 # Is this a valid assumption? -Corey
2036 if test "$proc" = "athlon-xp"; then
2037 cc_check
-march=$proc $cpuopt=$proc || proc
=error
2039 # --- Intel processors ---
2040 if test "$proc" = "core2"; then
2041 cc_check
-march=$proc $cpuopt=$proc || proc
=nocona
2043 if test "$proc" = "nocona"; then
2044 cc_check
-march=$proc $cpuopt=$proc || proc
=pentium4
2046 if test "$proc" = "pentium4"; then
2047 cc_check
-march=$proc $cpuopt=$proc || proc
=error
2050 _march
="-march=$proc"
2051 _mcpu
="$cpuopt=$proc"
2052 if test "$proc" = "error" ; then
2053 echores
"CPU optimization disabled. CPU not recognized or your compiler is too old."
2057 else # if test "$_runtime_cpudetection" = no
2058 # x86-64 is an undocumented option, an intersection of k8 and nocona.
2059 _march
="-march=x86-64"
2060 _mcpu
="$cpuopt=generic"
2061 cc_check
$_mcpu || _mcpu
="x86-64"
2062 cc_check
$_mcpu || _mcpu
=""
2063 cc_check
$_march $_mcpu || _march
=""
2073 _target_arch
='ARCH_SPARC = yes'
2075 if test "$host_arch" = "sparc64" ; then
2078 def_fast_64bit
='#define HAVE_FAST_64BIT 1'
2080 echocheck
"CPU type"
2082 case "$(echo $karch)" in
2087 sun4u
) proc
=ultrasparc _vis
='yes' ;;
2099 arm|armv4l|armv5tel
)
2101 _target_arch
='ARCH_ARM = yes'
2107 _target_arch
='ARCH_AVR32 = yes'
2108 def_fast_unaligned
='#define HAVE_FAST_UNALIGNED 1'
2114 _target_arch
='ARCH_SH4 = yes'
2118 ppc|ppc64|powerpc|powerpc64
)
2120 def_dcbzl
='#define HAVE_DCBZL 0'
2121 _target_arch
='ARCH_PPC = yes'
2122 def_fast_unaligned
='#define HAVE_FAST_UNALIGNED 1'
2125 if test "$host_arch" = "ppc64" -o "$host_arch" = "powerpc64" ; then
2127 _target_subarch
='ARCH_PPC64 = yes'
2128 def_fast_64bit
='#define HAVE_FAST_64BIT 1'
2130 echocheck
"CPU type"
2131 case $system_name in
2133 proc
=$
($_cpuinfo |
grep 'cpu' | cut
-d ':' -f 2 | cut
-d ',' -f 1 | cut
-b 2- |
head -n 1)
2134 if test -n "$($_cpuinfo | grep altivec)"; then
2135 test $_altivec = auto
&& _altivec
=yes
2139 proc
=$
($_cpuinfo |
grep "Processor type" | cut
-f 3 -d ' ' |
sed 's/ppc//')
2140 if [ $
(sysctl
-n hw.vectorunit
) -eq 1 -o \
2141 "$(sysctl -n hw.optional.altivec 2> /dev/null)" = "1" ]; then
2142 test $_altivec = auto
&& _altivec
=yes
2146 # only gcc 3.4 works reliably with AltiVec code under NetBSD
2148 2*|
3.0*|
3.1*|
3.2*|
3.3*)
2151 if [ $
(sysctl
-n machdep.altivec
) -eq 1 ]; then
2152 test $_altivec = auto
&& _altivec
=yes
2158 proc
=$
($_cpuinfo |
grep 'type' | cut
-f 2 -d ' ' |
sed 's/PowerPC_//')
2161 if test "$_altivec" = yes; then
2162 echores
"$proc altivec"
2168 echocheck
"GCC & CPU optimization abilities"
2170 if test -n "$proc"; then
2172 601) _march
='-mcpu=601' _mcpu
='-mtune=601' ;;
2173 603) _march
='-mcpu=603' _mcpu
='-mtune=603' ;;
2174 603e|
603ev
) _march
='-mcpu=603e' _mcpu
='-mtune=603e' ;;
2175 604|
604e|
604r|
604ev
) _march
='-mcpu=604' _mcpu
='-mtune=604' ;;
2176 740|
740/750|
745/755) _march
='-mcpu=740' _mcpu
='-mtune=740' ;;
2177 750|
750CX
) _march
='-mcpu=750' _mcpu
='-mtune=750' ;;
2178 POWER
) _march
='-mcpu=power' _mcpu
='-mtune=power' ;;
2179 POWER2
) _march
='-mcpu=power2' _mcpu
='-mtune=power2' ;;
2180 POWER3
) _march
='-mcpu=power3' _mcpu
='-mtune=power3' ;;
2183 # gcc 3.1(.1) and up supports 7400 and 7450
2184 if test "$_cc_major" -ge "3" && test "$_cc_minor" -ge "1" ||
test "$_cc_major" -ge "4"; then
2186 7400*|
7410*) _march
='-mcpu=7400' _mcpu
='-mtune=7400' ;;
2187 7447*|
7450*|
7455*) _march
='-mcpu=7450' _mcpu
='-mtune=7450' ;;
2191 # gcc 3.2 and up supports 970
2192 if test "$_cc_major" -ge "3" && test "$_cc_minor" -ge "3" ||
test "$_cc_major" -ge "4"; then
2194 970*|PPC970
*) _march
='-mcpu=970' _mcpu
='-mtune=970'
2195 def_dcbzl
='#define HAVE_DCBZL 1' ;;
2199 # gcc 3.3 and up supports POWER4
2200 if test "$_cc_major" -ge "3" && test "$_cc_minor" -ge "3" ||
test "$_cc_major" -ge "4"; then
2202 POWER4
) _march
='-mcpu=power4' _mcpu
='-mtune=power4' ;;
2206 # gcc 3.4 and up supports 440*
2207 if test "$_cc_major" -ge "3" && test "$_cc_minor" -ge "4" ||
test "$_cc_major" -ge "4"; then
2209 440EP
*) _march
='-mcpu=440fp' _mcpu
='-mtune=440fp' ;;
2210 440G
* ) _march
='-mcpu=440' _mcpu
='-mtune=440' ;;
2214 # gcc 4.0 and up supports POWER5
2215 if test "$_cc_major" -ge "4"; then
2217 POWER5
*) _march
='-mcpu=power5' _mcpu
='-mtune=power5' ;;
2223 if test -n "$_mcpu"; then
2224 _optimizing
=$
(echo $_mcpu | cut
-c 8-)
2225 echores
"$_optimizing"
2234 _target_arch
='ARCH_ALPHA = yes'
2237 echocheck
"CPU type"
2240 unsigned long ver, mask;
2241 __asm__ ("implver %0" : "=r" (ver));
2242 __asm__ ("amask %1, %0" : "=r" (mask) : "r" (-1));
2243 printf("%ld-%x\n", ver, ~mask);
2247 $_cc -o "$TMPEXE" "$TMPC"
2248 case $
("$TMPEXE") in
2250 0-0) proc
="ev4"; _mvi
="0";;
2251 1-0) proc
="ev5"; _mvi
="0";;
2252 1-1) proc
="ev56"; _mvi
="0";;
2253 1-101) proc
="pca56"; _mvi
="1";;
2254 2-303) proc
="ev6"; _mvi
="1";;
2255 2-307) proc
="ev67"; _mvi
="1";;
2256 2-1307) proc
="ev68"; _mvi
="1";;
2260 echocheck
"GCC & CPU optimization abilities"
2261 if test "$proc" = "ev68" ; then
2262 cc_check
-mcpu=$proc || proc
=ev67
2264 if test "$proc" = "ev67" ; then
2265 cc_check
-mcpu=$proc || proc
=ev6
2275 _target_arch
='ARCH_SGI_MIPS = yes'
2279 echocheck
"CPU type"
2280 proc
=$
(hinv
-c processor |
grep CPU | cut
-d " " -f3)
2281 case "$(echo $proc)" in
2282 R3000
) _march
='-mips1' _mcpu
='-mtune=r2000' ;;
2283 R4000
) _march
='-mips3' _mcpu
='-mtune=r4000' ;;
2284 R4400
) _march
='-mips3' _mcpu
='-mtune=r4400' ;;
2285 R4600
) _march
='-mips3' _mcpu
='-mtune=r4600' ;;
2286 R5000
) _march
='-mips4' _mcpu
='-mtune=r5000' ;;
2287 R8000|R10000|R12000|R14000|R16000
) _march
='-mips4' _mcpu
='-mtune=r8000' ;;
2289 # gcc < 3.x does not support -mtune.
2290 if test "$cc_vendor" = "gnu" && test "$_cc_major" -lt 3 ; then
2300 _target_arch
='ARCH_PA_RISC = yes'
2306 _target_arch
='ARCH_S390 = yes'
2312 _target_arch
='ARCH_S390X = yes'
2318 _target_arch
='ARCH_VAX = yes'
2324 _target_arch
='ARCH_XTENSA = yes'
2330 _target_arch
='ARCH_GENERIC = yes'
2334 echo "The architecture of your CPU ($host_arch) is not supported by this configure script"
2335 echo "It seems nobody has ported MPlayer to your OS or CPU type yet."
2336 die
"unsupported architecture $host_arch"
2338 esac # case "$host_arch" in
2340 if test "$_runtime_cpudetection" = yes ; then
2342 test "$_cmov" != no
&& _cmov
=yes
2344 test "$_mmx" != no
&& _mmx
=yes
2345 test "$_3dnow" != no
&& _3dnow
=yes
2346 test "$_3dnowext" != no
&& _3dnowext
=yes
2347 test "$_mmxext" != no
&& _mmxext
=yes
2348 test "$_sse" != no
&& _sse
=yes
2349 test "$_sse2" != no
&& _sse2
=yes
2350 test "$_ssse3" != no
&& _ssse3
=yes
2351 test "$_mtrr" != no
&& _mtrr
=yes
2360 echocheck
"byte order"
2361 if test "$_big_endian" = auto
; then
2363 short ascii_name[] = { (('M'<<8)|'P'),(('l'<<8)|'a'),(('y'<<8)|'e'),(('r'<<8)|'B'),
2364 (('i'<<8)|'g'),(('E'<<8)|'n'),(('d'<<8)|'i'),(('a'<<8)|'n'),0};
2365 int main(void) { return (int)ascii_name; }
2368 if strings $TMPEXE |
grep -q -l MPlayerBigEndian
; then
2374 echo ${_echo_n} "failed to autodetect byte order, defaulting to ${_echo_c}"
2377 if test "$_big_endian" = yes ; then
2378 _byte_order
='big-endian'
2379 def_words_endian
='#define WORDS_BIGENDIAN 1'
2380 def_bigendian
='#define HAVE_BIGENDIAN 1'
2382 _byte_order
='little-endian'
2383 def_words_endian
='#undef WORDS_BIGENDIAN'
2384 def_bigendian
='#define HAVE_BIGENDIAN 0'
2386 echores
"$_byte_order"
2389 echocheck
"extern symbol prefix"
2393 cc_check
-c || die
"Symbol mangling check failed."
2394 sym
=$
($_nm -P -g $TMPEXE)
2395 extern_prefix
=${sym%%ff_extern*}
2396 def_extern_asm
="#define EXTERN_ASM $extern_prefix"
2397 def_extern_prefix
="#define EXTERN_PREFIX \"$extern_prefix\""
2398 echores
$extern_prefix
2401 echocheck
"assembler support of -pipe option"
2403 int main(void) { return 0; }
2405 cc_check
-pipe && _pipe
="-pipe" && echores
"yes" || echores
"no"
2408 echocheck
"compiler support of named assembler arguments"
2410 def_named_asm_args
="#define NAMED_ASM_ARGS 1"
2411 if test "$cc_vendor" = "gnu" && test "$_cc_major" -lt 3 \
2412 -o "$_cc_major" -eq 3 -a "$_cc_minor" = 0 ; then
2414 def_named_asm_args
="#undef NAMED_ASM_ARGS"
2416 echores
$_named_asm_args
2419 if darwin
&& test "$cc_vendor" = "gnu" ; then
2420 echocheck
"GCC support of -mstackrealign"
2421 # GCC 4.2 and some earlier Apple versions support this flag on x86. Since
2422 # Mac OS X/Intel has an ABI different from Windows this is needed to avoid
2423 # crashes when loading Win32 DLLs. Unfortunately some gcc versions create
2424 # wrong code with this flag, but this can be worked around by adding
2425 # -fno-unit-at-a-time as described in the blog post at
2426 # http://www.dribin.org/dave/blog/archives/2006/12/05/missing_third_param/
2428 __attribute__((noinline)) static int foo3(int i1, int i2, int i3) { return i3; }
2429 int main(void) { return foo3(1,2,3) == 3 ? 0 : 1; }
2431 cc_check
-O4 -mstackrealign && tmp_run
&& cflags_stackrealign
=-mstackrealign
2432 test -z "$cflags_stackrealign" && cc_check
-O4 -mstackrealign -fno-unit-at-a-time \
2433 && tmp_run
&& cflags_stackrealign
="-mstackrealign -fno-unit-at-a-time"
2434 test -n "$cflags_stackrealign" && echores
"yes" || echores
"no"
2435 fi # if darwin && test "$cc_vendor" = "gnu" ; then
2438 # Checking for CFLAGS
2440 if test "$_profile" != "" ||
test "$_debug" != "" ; then
2441 CFLAGS
="-W -Wall -O2 $_march $_mcpu $_pipe $_debug $_profile"
2443 elif test -z "$CFLAGS" ; then
2444 if test "$cc_vendor" = "intel" ; then
2445 CFLAGS
="-O2 $_march $_mcpu $_pipe -fomit-frame-pointer -wd167 -wd556 -wd144"
2446 elif test "$cc_vendor" != "gnu" ; then
2447 CFLAGS
="-O2 $_march $_mcpu $_pipe"
2449 CFLAGS
="-Wall -Wno-switch -Wpointer-arith -Wredundant-decls -O4 $_march $_mcpu $_pipe -ffast-math -fomit-frame-pointer"
2450 extra_ldflags
="$extra_ldflags -ffast-math"
2457 int main(void) { return 0; }
2459 if test "$cc_vendor" = "gnu" ; then
2460 cc_check
-std=gnu99
&& CFLAGS
="-std=gnu99 $CFLAGS"
2461 cc_check
-Wdeclaration-after-statement && CFLAGS
="-Wdeclaration-after-statement $CFLAGS"
2462 cc_check
-Wno-pointer-sign && CFLAGS
="-Wno-pointer-sign $CFLAGS"
2463 cc_check
-Wdisabled-optimization && CFLAGS
="-Wdisabled-optimization $CFLAGS"
2464 cc_check
-Wundef && CFLAGS
="-Wundef $CFLAGS"
2466 CFLAGS
="-D_ISOC99_SOURCE -D_BSD_SOURCE $CFLAGS"
2469 cc_check
-mno-omit-leaf-frame-pointer && cflags_no_omit_leaf_frame_pointer
="-mno-omit-leaf-frame-pointer"
2472 if test -n "$LDFLAGS" ; then
2473 extra_ldflags
="$extra_ldflags $LDFLAGS"
2475 elif test "$cc_vendor" = "intel" ; then
2476 extra_ldflags
="$extra_ldflags -i-static"
2478 if test -n "$CPPFLAGS" ; then
2479 extra_cflags
="$extra_cflags $CPPFLAGS"
2486 # Checking assembler (_as) compatibility...
2487 # Added workaround for older as that reads from stdin by default - atmos
2488 as_version
=$
(echo '' |
$_as -version 2>&1 |
sed -n 's/^.*assembler \(version \)*\([0-9.]*\).*$/\2/p')
2489 echocheck
"assembler ($_as $as_version)"
2491 _pref_as_version
='2.9.1'
2493 if test "$_mmx" = yes ; then
2494 echo 'emms' >> $TMPS
2496 if test "$_3dnow" = yes ; then
2497 _pref_as_version
='2.10.1'
2498 echo 'femms' >> $TMPS
2500 if test "$_3dnowext" = yes ; then
2501 _pref_as_version
='2.10.1'
2502 echo 'pswapd %mm0, %mm0' >> $TMPS
2504 if test "$_mmxext" = yes ; then
2505 _pref_as_version
='2.10.1'
2506 echo 'movntq %mm0, (%eax)' >> $TMPS
2508 if test "$_sse" = yes ; then
2509 _pref_as_version
='2.10.1'
2510 echo 'xorps %xmm0, %xmm0' >> $TMPS
2512 #if test "$_sse2" = yes ; then
2513 # _pref_as_version='2.11'
2514 # echo 'xorpd %xmm0, %xmm0' >> $TMPS
2516 if test "$_cmov" = yes ; then
2517 _pref_as_version
='2.10.1'
2518 echo 'cmovb %eax, %ebx' >> $TMPS
2520 if test "$_ssse3" = yes ; then
2521 _pref_as_version
='2.16.92'
2522 echo 'pabsd %xmm0, %xmm1' >> $TMPS
2524 $_as $TMPS -o $TMPEXE > /dev
/null
2>&1 || as_verc_fail
=yes
2526 if test "$as_verc_fail" != yes ; then
2529 _res_comment
="Upgrade binutils to ${_pref_as_version} or use --disable-ssse3 etc."
2531 die
"obsolete binutils version"
2536 echocheck
".align is a power of two"
2537 if test "$_asmalign_pot" = auto
; then
2540 int main(void) { __asm__ (".align 3"); return 0; }
2542 cc_check
&& _asmalign_pot
=yes
2544 if test "$_asmalign_pot" = "yes" ; then
2545 def_asmalign_pot
='#define ASMALIGN(ZEROBITS) ".align " #ZEROBITS "\n\t"'
2547 def_asmalign_pot
='#define ASMALIGN(ZEROBITS) ".align 1<<" #ZEROBITS "\n\t"'
2549 echores
$_asmalign_pot
2552 echocheck
"10 assembler operands"
2554 def_ten_operands
='#define HAVE_TEN_OPERANDS 0'
2560 :"+&rm"(x), "+&rm"(x), "+&rm"(x), "+&rm"(x), "+&rm"(x), "+&rm"(x)
2565 cc_check
&& ten_operands
=yes && def_ten_operands
='#define HAVE_TEN_OPERANDS 1'
2566 echores
$ten_operands
2568 echocheck
"ebx availability"
2570 def_ebx_available
='#define HAVE_EBX_AVAILABLE 0'
2577 // just adding ebx to clobber list seems unreliable with some
2578 // compilers, e.g. Haiku's gcc 2.95
2580 // and the above check does not work for OSX 64 bit...
2581 __asm__ volatile("":::"%ebx");
2585 cc_check
&& ebx_available
=yes && def_ebx_available
='#define HAVE_EBX_AVAILABLE 1'
2586 echores
$ebx_available
2592 #if !(defined(__PIC__) || defined(__pic__) || defined(PIC))
2593 #error PIC not enabled
2598 cc_check
&& pic
=yes && extra_cflags
="$extra_cflags -DPIC"
2602 if test -z "$YASMFLAGS" ; then
2604 x86_64
&& objformat
="macho64" || objformat
="macho"
2610 # currently tested for Linux x86, x86_64
2611 YASMFLAGS
="-f $objformat"
2612 x86_64
&& YASMFLAGS
="$YASMFLAGS -DARCH_X86_64 -m amd64"
2613 test "$pic" = "yes" && YASMFLAGS
="$YASMFLAGS -DPIC"
2614 case "$objformat" in
2615 elf
) test $_debug && YASMFLAGS
="$YASMFLAGS -g dwarf2" ;;
2616 *) YASMFLAGS
="$YASMFLAGS -DPREFIX" ;;
2622 echo "pabsw xmm0, xmm0" > $TMPS
2623 yasm_check || _yasm
=""
2624 if test $_yasm ; then
2625 test "$_mmx" = "yes" && fft_mmx
="yes"
2626 def_yasm
='#define HAVE_YASM 1'
2630 def_yasm
='#define HAVE_YASM 0'
2637 def_bswap
='#define HAVE_BSWAP 0'
2638 echo 'bswap %eax' > $TMPS
2639 $_as $TMPS -o $TMPEXE > /dev
/null
2>&1 && def_bswap
='#define HAVE_BSWAP 1' && bswap
=yes || bswap
=no
2644 #FIXME: This should happen before the check for CFLAGS..
2645 def_altivec_h
='#define HAVE_ALTIVEC_H 0'
2646 if ppc
&& ( test "$_altivec" = yes ||
test "$_runtime_cpudetection" = yes ) ; then
2648 # check if AltiVec is supported by the compiler, and how to enable it
2649 echocheck
"GCC AltiVec flags"
2651 int main(void) { return 0; }
2653 if $
(cc_check
-maltivec -mabi=altivec
) ; then
2654 _altivec_gcc_flags
="-maltivec -mabi=altivec"
2655 # check if <altivec.h> should be included
2657 #include <altivec.h>
2658 int main(void) { return 0; }
2660 if $
(cc_check
$_altivec_gcc_flags) ; then
2661 def_altivec_h
='#define HAVE_ALTIVEC_H 1'
2662 inc_altivec_h
='#include <altivec.h>'
2665 int main(void) { return 0; }
2667 if $
(cc_check
-faltivec) ; then
2668 _altivec_gcc_flags
="-faltivec"
2671 _altivec_gcc_flags
="none, AltiVec disabled"
2675 echores
"$_altivec_gcc_flags"
2677 # check if the compiler supports braces for vector declarations
2680 int main(void) { (vector int) {1}; return 0; }
2682 cc_check
$_altivec_gcc_flags || die
"You need a compiler that supports {} in AltiVec vector declarations."
2684 # Disable runtime cpudetection if we cannot generate AltiVec code or
2685 # AltiVec is disabled by the user.
2686 test "$_runtime_cpudetection" = yes && test "$_altivec" = no \
2687 && _runtime_cpudetection
=no
2689 # Show that we are optimizing for AltiVec (if enabled and supported).
2690 test "$_runtime_cpudetection" = no
&& test "$_altivec" = yes \
2691 && _optimizing
="$_optimizing altivec"
2693 # If AltiVec is enabled, make sure the correct flags turn up in CFLAGS.
2694 test "$_altivec" = yes && CFLAGS
="$CFLAGS $_altivec_gcc_flags"
2698 def_xform_asm
='#define HAVE_XFORM_ASM 0'
2700 echocheck
"XFORM ASM support"
2702 int main(void) { __asm__ volatile ("lwzx %1, %y0" :: "Z"(*(int*)0), "r"(0)); return 0; }
2704 cc_check
&& xform_asm
=yes && def_xform_asm
='#define HAVE_XFORM_ASM 1'
2705 echores
"$xform_asm"
2709 echocheck
"ARM pld instruction"
2711 int main(void) { __asm__ volatile ("pld [r0]"); return 0; }
2717 echocheck
"ARMv5TE (Enhanced DSP Extensions)"
2718 if test $_armv5te = "auto" ; then
2720 int main(void) { __asm__ volatile ("qadd r0, r0, r0"); return 0; }
2723 cc_check
&& _armv5te
=yes
2727 echocheck
"ARMv6 (SIMD instructions)"
2728 if test $_armv6 = "auto" ; then
2730 int main(void) { __asm__ volatile ("sadd16 r0, r0, r0"); return 0; }
2733 cc_check
&& _armv6
=yes
2737 echocheck
"ARMv6t2 (SIMD instructions)"
2738 if test $_armv6t2 = "auto" ; then
2740 int main(void) { __asm__ volatile ("movt r0, #0"); return 0; }
2743 cc_check
&& _armv6t2
=yes
2748 if test $_armvfp = "auto" ; then
2750 int main(void) { __asm__ volatile ("fadds s0, s0, s0"); return 0; }
2753 cc_check
&& _armvfp
=yes
2757 echocheck
"ARM NEON"
2758 if test $neon = "auto" ; then
2760 int main(void) { __asm__ volatile ("vadd.i16 q0, q0, q0"); return 0; }
2763 cc_check
&& neon
=yes
2767 echocheck
"iWMMXt (Intel XScale SIMD instructions)"
2768 if test $_iwmmxt = "auto" ; then
2770 int main(void) { __asm__ volatile ("wunpckelub wr6, wr4"); return 0; }
2773 cc_check
&& _iwmmxt
=yes
2778 _cpuexts_all
='ALTIVEC MMX MMX2 AMD3DNOW AMD3DNOWEXT SSE SSE2 SSSE3 FAST_CMOV CMOV PLD ARMV5TE ARMV6 ARMV6T2 ARMVFP NEON IWMMXT MMI VIS MVI'
2779 test "$_altivec" = yes && _cpuexts
="ALTIVEC $_cpuexts"
2780 test "$_mmx" = yes && _cpuexts
="MMX $_cpuexts"
2781 test "$_mmxext" = yes && _cpuexts
="MMX2 $_cpuexts"
2782 test "$_3dnow" = yes && _cpuexts
="AMD3DNOW $_cpuexts"
2783 test "$_3dnowext" = yes && _cpuexts
="AMD3DNOWEXT $_cpuexts"
2784 test "$_sse" = yes && _cpuexts
="SSE $_cpuexts"
2785 test "$_sse2" = yes && _cpuexts
="SSE2 $_cpuexts"
2786 test "$_ssse3" = yes && _cpuexts
="SSSE3 $_cpuexts"
2787 test "$_cmov" = yes && _cpuexts
="CMOV $_cpuexts"
2788 test "$_fast_cmov" = yes && _cpuexts
="FAST_CMOV $_cpuexts"
2789 test "$pld" = yes && _cpuexts
="PLD $_cpuexts"
2790 test "$_armv5te" = yes && _cpuexts
="ARMV5TE $_cpuexts"
2791 test "$_armv6" = yes && _cpuexts
="ARMV6 $_cpuexts"
2792 test "$_armv6t2" = yes && _cpuexts
="ARMV6T2 $_cpuexts"
2793 test "$_armvfp" = yes && _cpuexts
="ARMVFP $_cpuexts"
2794 test "$neon" = yes && _cpuexts
="NEON $_cpuexts"
2795 test "$_iwmmxt" = yes && _cpuexts
="IWMMXT $_cpuexts"
2796 test "$_vis" = yes && _cpuexts
="VIS $_cpuexts"
2797 test "$_mvi" = yes && _cpuexts
="MVI $_cpuexts"
2799 # Checking kernel version...
2800 if x86_32
&& linux
; then
2802 kernel_version
=$
(uname
-r 2>&1)
2803 echocheck
"$system_name kernel version"
2804 case "$kernel_version" in
2805 '') kernel_version
="?.??"; _k_verc_fail
=yes;;
2806 [0-1].
[0-9].
[0-9]*|
2.
[0-3].
[0-9]*)
2807 _k_verc_problem
=yes;;
2809 if test "$_k_verc_problem" = yes && test "$_sse" = yes ; then
2812 if test "$_k_verc_fail" ; then
2813 echores
"$kernel_version, fail"
2814 echo "WARNING! If you want to run MPlayer on this system, get prepared for problems!"
2815 echo "2.2.x has limited SSE support. Upgrade the kernel or use --disable-sse if you"
2816 echo "experience crashes. MPlayer tries to autodetect if your kernel correctly"
2817 echo "supports SSE, but you have been warned! If you are using a kernel older than"
2818 echo "2.2.x you must upgrade it to get SSE support!"
2819 # die "Your kernel is too old for this CPU." # works fine on some 2.2.x so don't die (later check will test)
2821 echores
"$kernel_version, ok"
2825 ######################
2826 # MAIN TESTS GO HERE #
2827 ######################
2832 int main(void) { return 0; }
2834 if cc_check
-lposix ; then
2835 extra_ldflags
="$extra_ldflags -lposix"
2843 int main(void) { return 0; }
2845 if cc_check
-lm ; then
2854 echocheck
"langinfo"
2855 if test "$_langinfo" = auto
; then
2857 #include <langinfo.h>
2858 int main(void) { nl_langinfo(CODESET); return 0; }
2861 cc_check
&& _langinfo
=yes
2863 if test "$_langinfo" = yes ; then
2864 def_langinfo
='#define HAVE_LANGINFO 1'
2866 def_langinfo
='#undef HAVE_LANGINFO'
2868 echores
"$_langinfo"
2871 echocheck
"language"
2872 # Set preferred languages, "all" uses English as main language.
2873 test -z "$language" && language
=$LINGUAS
2874 test -z "$language_doc" && language_doc
=$language
2875 test -z "$language_man" && language_man
=$language
2876 test -z "$language_msg" && language_msg
=$language
2877 language_doc
=$
(echo $language_doc |
tr , " ")
2878 language_man
=$
(echo $language_man |
tr , " ")
2879 language_msg
=$
(echo $language_msg |
tr , " ")
2881 test "$language_doc" = "all" && language_doc
=$doc_lang_all
2882 test "$language_man" = "all" && language_man
=$man_lang_all
2883 test "$language_msg" = "all" && language_msg
=en
2885 # Prune non-existing translations from language lists.
2886 # Set message translation to the first available language.
2887 # Fall back on English.
2888 for lang
in $language_doc ; do
2889 test -d DOCS
/xml
/$lang && tmp_language_doc
="$tmp_language_doc $lang"
2891 language_doc
=$tmp_language_doc
2892 test -z "$language_doc" && language_doc
=en
2894 for lang
in $language_man ; do
2895 test -d DOCS
/man
/$lang && tmp_language_man
="$tmp_language_man $lang"
2897 language_man
=$tmp_language_man
2898 test -z "$language_man" && language_man
=en
2900 for lang
in $language_msg ; do
2901 test -f "help/help_mp-${lang}.h" && tmp_language_msg
=$lang && break
2903 language_msg
=$tmp_language_msg
2904 test -z "$language_msg" && language_msg
=en
2905 _mp_help
="help/help_mp-${language_msg}.h"
2906 echores
"messages: $language_msg - man pages: $language_man - documentation: $language_doc"
2909 echocheck
"enable sighandler"
2910 if test "$_sighandler" = yes ; then
2911 def_sighandler
='#define CONFIG_SIGHANDLER 1'
2913 def_sighandler
='#undef CONFIG_SIGHANDLER'
2915 echores
"$_sighandler"
2917 echocheck
"runtime cpudetection"
2918 if test "$_runtime_cpudetection" = yes ; then
2919 _optimizing
="Runtime CPU-Detection enabled"
2920 def_runtime_cpudetection
='#define CONFIG_RUNTIME_CPUDETECT 1'
2922 def_runtime_cpudetection
='#define CONFIG_RUNTIME_CPUDETECT 0'
2924 echores
"$_runtime_cpudetection"
2927 echocheck
"restrict keyword"
2928 for restrict_keyword
in restrict __restrict __restrict__
; do
2929 echo "void foo(char * $restrict_keyword p); int main(void) { return 0; }" > $TMPC
2931 def_restrict_keyword
=$restrict_keyword
2935 if [ -n "$def_restrict_keyword" ]; then
2936 echores
"$def_restrict_keyword"
2940 # Avoid infinite recursion loop ("#define restrict restrict")
2941 if [ "$def_restrict_keyword" != "restrict" ]; then
2942 def_restrict_keyword
="#define restrict $def_restrict_keyword"
2944 def_restrict_keyword
=""
2948 echocheck
"__builtin_expect"
2949 # GCC branch prediction hint
2952 a = __builtin_expect(a, 10);
2953 return a == 10 ? 0 : 1;
2955 int main(void) { return foo(10) && foo(0); }
2958 cc_check
&& _builtin_expect
=yes
2959 if test "$_builtin_expect" = yes ; then
2960 def_builtin_expect
='#define HAVE_BUILTIN_EXPECT 1'
2962 def_builtin_expect
='#undef HAVE_BUILTIN_EXPECT'
2964 echores
"$_builtin_expect"
2970 int main(void) { (void) kstat_open(); (void) kstat_close(0); return 0; }
2973 cc_check
-lkstat && _kstat
=yes
2974 if test "$_kstat" = yes ; then
2975 def_kstat
="#define HAVE_LIBKSTAT 1"
2976 extra_ldflags
="$extra_ldflags -lkstat"
2978 def_kstat
="#undef HAVE_LIBKSTAT"
2984 # required for nanosleep on some systems
2987 int main(void) { (void) nanosleep(0, 0); return 0; }
2990 cc_check
-lposix4 && _posix4
=yes
2991 if test "$_posix4" = yes ; then
2992 extra_ldflags
="$extra_ldflags -lposix4"
2996 for func
in llrint log2 lrint lrintf round roundf truncf
; do
3000 int main(void) { long (*foo)(float); foo = $func; (void)(*foo)(0.0); return 0; }
3003 cc_check
-D_ISOC99_SOURCE $_ld_lm && eval _
$func=yes
3004 if eval test "x\$_$func" = "xyes"; then
3005 eval def_
$func="\"#define HAVE_$(echo $func | tr '[a-z]' '[A-Z]') 1\""
3008 eval def_
$func="\"#define HAVE_$(echo $func | tr '[a-z]' '[A-Z]') 0\""
3017 int main(void) { char a; mkstemp(&a); return 0; }
3020 cc_check
&& _mkstemp
=yes
3021 if test "$_mkstemp" = yes ; then
3022 def_mkstemp
='#define HAVE_MKSTEMP 1'
3024 def_mkstemp
='#undef HAVE_MKSTEMP'
3029 echocheck
"nanosleep"
3030 # also check for nanosleep
3033 int main(void) { (void) nanosleep(0, 0); return 0; }
3036 cc_check
&& _nanosleep
=yes
3037 if test "$_nanosleep" = yes ; then
3038 def_nanosleep
='#define HAVE_NANOSLEEP 1'
3040 def_nanosleep
='#undef HAVE_NANOSLEEP'
3042 echores
"$_nanosleep"
3046 # for Solaris (socket stuff is in -lsocket, gethostbyname and friends in -lnsl):
3047 # for BeOS (socket stuff is in -lsocket, gethostbyname and friends in -lbind):
3050 #include <sys/socket.h>
3051 int main(void) { (void) gethostbyname(0); (void) socket(AF_INET, SOCK_STREAM, 0); return 0; }
3054 for _ld_tmp
in "" "-lsocket -lbind" "-lsocket -ldnet" "-lsocket -lnsl" "-lnsl" "-lsocket" ; do
3055 cc_check
$_ld_tmp && _ld_sock
="$_ld_tmp" && _socklib
=yes && break
3057 test $_socklib = yes && test $_winsock2_h = auto
&& _winsock2_h
=no
3058 if test $_winsock2_h = auto
; then
3061 #include <winsock2.h>
3062 int main(void) { (void) gethostbyname(0); return 0; }
3064 cc_check
-lws2_32 && _ld_sock
="-lws2_32" && _winsock2_h
=yes
3066 test "$_ld_sock" && _res_comment
="using $_ld_sock"
3070 if test $_winsock2_h = yes ; then
3072 def_winsock2_h
='#define HAVE_WINSOCK2_H 1'
3074 def_winsock2_h
='#define HAVE_WINSOCK2_H 0'
3078 echocheck
"arpa/inet.h"
3080 def_arpa_inet_h
='#define HAVE_ARPA_INET_H 0'
3082 #include <arpa/inet.h>
3083 int main(void) { return 0; }
3085 cc_check
&& arpa_inet_h
=yes && def_arpa_inet_h
='#define HAVE_ARPA_INET_H 1'
3086 echores
"$arpa_inet_h"
3089 echocheck
"inet_pton()"
3090 def_inet_pton
='#define HAVE_INET_PTON 0'
3093 #include <sys/types.h>
3094 #include <sys/socket.h>
3095 #include <arpa/inet.h>
3096 int main(void) { (void) inet_pton(0, 0, 0); return 0; }
3098 for _ld_tmp
in "$_ld_sock" "$_ld_sock -lresolv" ; do
3099 cc_check
$_ld_tmp && inet_pton
=yes && break
3101 if test $inet_pton = yes ; then
3102 test $_ld_tmp && _res_comment
="using $_ld_tmp"
3103 def_inet_pton
='#define HAVE_INET_PTON 1'
3105 echores
"$inet_pton"
3108 echocheck
"inet_aton()"
3109 def_inet_aton
='#define HAVE_INET_ATON 0'
3112 #include <sys/types.h>
3113 #include <sys/socket.h>
3114 #include <arpa/inet.h>
3115 int main(void) { (void) inet_aton(0, 0); return 0; }
3117 for _ld_tmp
in "$_ld_sock" "$_ld_sock -lresolv" ; do
3118 cc_check
$_ld_tmp && inet_aton
=yes && break
3120 if test $inet_aton = yes ; then
3121 test $_ld_tmp && _res_comment
="using $_ld_tmp"
3122 def_inet_aton
='#define HAVE_INET_ATON 1'
3124 echores
"$inet_aton"
3127 echocheck
"socklen_t"
3129 for header
in "sys/socket.h" "ws2tcpip.h" "sys/types.h" ; do
3132 int main(void) { socklen_t v = 0; return v; }
3134 cc_check
&& _socklen_t
=yes && break
3136 if test "$_socklen_t" = yes ; then
3137 def_socklen_t
='#define HAVE_SOCKLEN_T 1'
3139 def_socklen_t
='#define HAVE_SOCKLEN_T 0'
3141 echores
"$_socklen_t"
3144 echocheck
"closesocket()"
3147 #include <winsock2.h>
3148 int main(void) { closesocket(~0); return 0; }
3150 cc_check
$_ld_sock && _closesocket
=yes
3151 if test "$_closesocket" = yes ; then
3152 def_closesocket
='#define HAVE_CLOSESOCKET 1'
3154 def_closesocket
='#define HAVE_CLOSESOCKET 0'
3156 echores
"$_closesocket"
3160 test $_winsock2_h = no
&& test $inet_pton = no
&&
3161 test $inet_aton = no
&& _network
=no
3162 if test "$_network" = yes ; then
3163 def_network
='#define CONFIG_NETWORK 1'
3164 extra_ldflags
="$extra_ldflags $_ld_sock"
3165 _inputmodules
="network $_inputmodules"
3167 _noinputmodules
="network $_noinputmodules"
3168 def_network
='#undef CONFIG_NETWORK'
3175 if test "$_inet6" = auto
; then
3177 #include <sys/types.h>
3178 #if !defined(_WIN32) || defined(__CYGWIN__)
3179 #include <sys/socket.h>
3180 #include <netinet/in.h>
3182 #include <ws2tcpip.h>
3184 int main(void) { struct sockaddr_in6 six; socket(AF_INET6, SOCK_STREAM, AF_INET6); return 0; }
3187 if cc_check
$_ld_sock ; then
3191 if test "$_inet6" = yes ; then
3192 def_inet6
='#define HAVE_AF_INET6 1'
3194 def_inet6
='#undef HAVE_AF_INET6'
3199 echocheck
"gethostbyname2"
3200 if test "$_gethostbyname2" = auto
; then
3202 #include <sys/types.h>
3203 #include <sys/socket.h>
3205 int main(void) { gethostbyname2("", AF_INET); return 0; }
3212 if test "$_gethostbyname2" = yes ; then
3213 def_gethostbyname2
='#define HAVE_GETHOSTBYNAME2 1'
3215 def_gethostbyname2
='#undef HAVE_GETHOSTBYNAME2'
3217 echores
"$_gethostbyname2"
3220 echocheck
"inttypes.h (required)"
3222 #include <inttypes.h>
3223 int main(void) { return 0; }
3226 cc_check
&& _inttypes
=yes
3227 echores
"$_inttypes"
3229 if test "$_inttypes" = no
; then
3230 echocheck
"bitypes.h (inttypes.h predecessor)"
3232 #include <sys/bitypes.h>
3233 int main(void) { return 0; }
3235 cc_check
&& _inttypes
=yes
3236 if test "$_inttypes" = yes ; then
3237 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."
3239 die
"Cannot find header either inttypes.h or bitypes.h. There is no chance for compilation to succeed."
3244 echocheck
"int_fastXY_t in inttypes.h"
3246 #include <inttypes.h>
3248 volatile int_fast16_t v= 0;
3252 cc_check
&& _fast_inttypes
=yes
3253 if test "$_fast_inttypes" = no
; then
3255 typedef signed char int_fast8_t;
3256 typedef signed int int_fast16_t;
3257 typedef signed int int_fast32_t;
3258 typedef signed long long int_fast64_t;
3259 typedef unsigned char uint_fast8_t;
3260 typedef unsigned int uint_fast16_t;
3261 typedef unsigned int uint_fast32_t;
3262 typedef unsigned long long uint_fast64_t;'
3264 echores
"$_fast_inttypes"
3267 echocheck
"malloc.h"
3270 int main(void) { (void) malloc(0); return 0; }
3273 cc_check
&& _malloc
=yes
3274 if test "$_malloc" = yes ; then
3275 def_malloc_h
='#define HAVE_MALLOC_H 1'
3277 def_malloc_h
='#define HAVE_MALLOC_H 0'
3279 # malloc.h emits a warning in FreeBSD and OpenBSD
3280 freebsd || openbsd || dragonfly
&& def_malloc_h
='#define HAVE_MALLOC_H 0'
3284 echocheck
"memalign()"
3285 # XXX restrict to x86 ? extend to other CPUs/cacheline sizes ?
3286 def_memalign_hack
='#define CONFIG_MEMALIGN_HACK 0'
3289 int main(void) { (void) memalign(64, sizeof(char)); return 0; }
3292 cc_check
&& _memalign
=yes
3293 if test "$_memalign" = yes ; then
3294 def_memalign
='#define HAVE_MEMALIGN 1'
3296 def_memalign
='#define HAVE_MEMALIGN 0'
3297 def_map_memalign
='#define memalign(a,b) malloc(b)'
3298 darwin || def_memalign_hack
='#define CONFIG_MEMALIGN_HACK 1'
3300 echores
"$_memalign"
3303 echocheck
"posix_memalign()"
3305 def_posix_memalign
='#define HAVE_POSIX_MEMALIGN 0'
3307 #define _XOPEN_SOURCE 600
3309 int main(void) { posix_memalign(NULL, 0, 0); }
3311 cc_check
&& posix_memalign
=yes && def_posix_memalign
='#define HAVE_POSIX_MEMALIGN 1'
3312 echores
"$posix_memalign"
3315 echocheck
"alloca.h"
3318 int main(void) { (void) alloca(0); return 0; }
3321 cc_check
&& _alloca
=yes
3323 def_alloca_h
='#define HAVE_ALLOCA_H 1'
3325 def_alloca_h
='#undef HAVE_ALLOCA_H'
3330 echocheck
"fastmemcpy"
3331 if test "$_fastmemcpy" = yes ; then
3332 def_fastmemcpy
='#define CONFIG_FASTMEMCPY 1'
3334 def_fastmemcpy
='#undef CONFIG_FASTMEMCPY'
3336 echores
"$_fastmemcpy"
3341 #include <sys/types.h>
3342 #include <sys/mman.h>
3343 int main(void) { (void) mmap(0, 0, 0, 0, 0, 0); return 0; }
3346 cc_check
&& _mman
=yes
3347 if test "$_mman" = yes ; then
3348 def_mman_h
='#define HAVE_SYS_MMAN_H 1'
3350 def_mman_h
='#undef HAVE_SYS_MMAN_H'
3351 os2
&& _need_mmap
=yes
3356 #include <sys/types.h>
3357 #include <sys/mman.h>
3358 int main(void) { void *p = MAP_FAILED; return 0; }
3360 _mman_has_map_failed
=no
3361 cc_check
&& _mman_has_map_failed
=yes
3362 if test "$_mman_has_map_failed" = yes ; then
3363 def_mman_has_map_failed
=''
3365 def_mman_has_map_failed
='#define MAP_FAILED ((void *) -1)'
3368 echocheck
"dynamic loader"
3372 int main(void) { dlopen(NULL, 0); dlclose(NULL); dlsym(NULL, NULL); return 0; }
3375 for _ld_tmp
in "" "-ldl" ; do
3376 cc_check
$_ld_tmp && _ld_dl
="$_ld_tmp" && _dl
=yes && break
3378 if test "$_dl" = yes ; then
3379 def_dl
='#define HAVE_LIBDL 1'
3381 def_dl
='#undef HAVE_LIBDL'
3386 echocheck
"dynamic a/v plugins support"
3387 if test "$_dl" = no
; then
3390 if test "$_dynamic_plugins" = yes ; then
3391 def_dynamic_plugins
='#define CONFIG_DYNAMIC_PLUGINS 1'
3393 def_dynamic_plugins
='#undef CONFIG_DYNAMIC_PLUGINS'
3395 echores
"$_dynamic_plugins"
3398 def_threads
='#define HAVE_THREADS 0'
3402 THREAD_CFLAGS
=-D_REENTRANT
3403 elif freebsd || netbsd || openbsd || bsdos
; then
3404 THREAD_CFLAGS
=-D_THREAD_SAFE
3406 if test "$_pthreads" = auto
; then
3408 #include <pthread.h>
3409 void* func(void *arg) { return arg; }
3410 int main(void) { pthread_t tid; return pthread_create(&tid, 0, func, 0) == 0 ? 0 : 1; }
3414 for _ld_tmp
in "-lpthreadGC2" "" "-lpthread" "-pthread" ; do
3415 # for crosscompilation, we cannot execute the program, be happy if we can link statically
3416 cc_check
$THREAD_CFLAGS $_ld_tmp && (tmp_run ||
test "$_ld_static") && _ld_pthread
="$_ld_tmp" && _pthreads
=yes && break
3420 if test "$_pthreads" = yes ; then
3421 test $_ld_pthread && _res_comment
="using $_ld_pthread"
3422 def_pthreads
='#define HAVE_PTHREADS 1'
3423 def_threads
='#define HAVE_THREADS 1'
3424 extra_cflags
="$extra_cflags $THREAD_CFLAGS"
3426 _res_comment
="v4l, v4l2, ao_nas, win32 loader disabled"
3427 def_pthreads
='#undef HAVE_PTHREADS'
3428 _nas
=no
; _tv_v4l1
=no
; _tv_v4l2
=no
3429 mingw32 || _win32dll
=no
3431 echores
"$_pthreads"
3434 if test "$_pthreads" = yes ; then
3435 def_pthread_cache
="#define PTHREAD_CACHE 1"
3438 def_stream_cache
="#undef CONFIG_STREAM_CACHE"
3442 echocheck
"w32threads"
3443 if test "$_pthreads" = yes ; then
3444 _res_comment
="using pthread instead"
3447 if test "$_w32threads" = auto
; then
3449 mingw32
&& _w32threads
=yes
3451 test "$_w32threads" = yes && def_threads
='#define HAVE_THREADS 1'
3452 echores
"$_w32threads"
3456 if test "$_rpath" = yes ; then
3457 for I
in $
(echo $extra_ldflags |
sed 's/-L//g') ; do
3458 tmp
="$tmp $(echo $I | sed 's/.*/ -L& -Wl,-R&/')"
3465 if test "$_iconv" = auto
; then
3470 #define INBUFSIZE 1024
3471 #define OUTBUFSIZE 4096
3473 char inbuffer[INBUFSIZE];
3474 char outbuffer[OUTBUFSIZE];
3479 char *tocode="UTF-8";
3480 char *fromcode="cp1250";
3481 if ((icdsc = iconv_open(tocode, fromcode)) != (iconv_t)(-1)) {
3482 while ((numread = read(0, inbuffer, INBUFSIZE))) {
3483 char *iptr=inbuffer;
3484 char *optr=outbuffer;
3485 size_t inleft=numread;
3486 size_t outleft=OUTBUFSIZE;
3487 if (iconv(icdsc, (const char **)&iptr, &inleft, &optr, &outleft)
3489 write(1, outbuffer, OUTBUFSIZE - outleft);
3492 if (iconv_close(icdsc) == -1)
3499 for _ld_tmp
in "" "-liconv" "-liconv $_ld_dl" ; do
3500 cc_check
$_ld_lm $_ld_tmp && extra_ldflags
="$extra_ldflags $_ld_tmp" && \
3504 if test "$_iconv" = yes ; then
3505 def_iconv
='#define CONFIG_ICONV 1'
3507 def_iconv
='#undef CONFIG_ICONV'
3512 echocheck
"soundcard.h"
3514 def_soundcard_h
='#undef HAVE_SOUNDCARD_H'
3515 def_sys_soundcard_h
='#undef HAVE_SYS_SOUNDCARD_H'
3516 for _soundcard_header
in "sys/soundcard.h" "soundcard.h"; do
3518 #include <$_soundcard_header>
3519 int main(void) { return 0; }
3521 cc_check
&& _soundcard_h
=yes && _res_comment
="$_soundcard_header" && break
3524 if test "$_soundcard_h" = yes ; then
3525 if test $_soundcard_header = "sys/soundcard.h"; then
3526 def_sys_soundcard_h
='#define HAVE_SYS_SOUNDCARD_H 1'
3528 def_soundcard_h
='#define HAVE_SOUNDCARD_H 1'
3531 echores
"$_soundcard_h"
3534 echocheck
"sys/dvdio.h"
3537 #include <sys/dvdio.h>
3538 int main(void) { return 0; }
3541 cc_check
&& _dvdio
=yes
3542 if test "$_dvdio" = yes ; then
3543 def_dvdio
='#define DVD_STRUCT_IN_SYS_DVDIO_H 1'
3545 def_dvdio
='#undef DVD_STRUCT_IN_SYS_DVDIO_H'
3550 echocheck
"sys/cdio.h"
3553 #include <sys/cdio.h>
3554 int main(void) { return 0; }
3557 cc_check
&& _cdio
=yes
3558 if test "$_cdio" = yes ; then
3559 def_cdio
='#define DVD_STRUCT_IN_SYS_CDIO_H 1'
3561 def_cdio
='#undef DVD_STRUCT_IN_SYS_CDIO_H'
3566 echocheck
"linux/cdrom.h"
3568 #include <sys/types.h>
3569 #include <linux/cdrom.h>
3570 int main(void) { return 0; }
3573 cc_check
&& _cdrom
=yes
3574 if test "$_cdrom" = yes ; then
3575 def_cdrom
='#define DVD_STRUCT_IN_LINUX_CDROM_H 1'
3577 def_cdrom
='#undef DVD_STRUCT_IN_LINUX_CDROM_H'
3585 int main(void) { return 0; }
3588 cc_check
&& _dvd
=yes
3589 if test "$_dvd" = yes ; then
3590 def_dvd
='#define DVD_STRUCT_IN_DVD_H 1'
3592 def_dvd
='#undef DVD_STRUCT_IN_DVD_H'
3598 echocheck
"BSDI dvd.h"
3601 int main(void) { return 0; }
3604 cc_check
&& _bsdi_dvd
=yes
3605 if test "$_bsdi_dvd" = yes ; then
3606 def_bsdi_dvd
='#define DVD_STRUCT_IN_BSDI_DVDIOCTL_DVD_H 1'
3608 def_bsdi_dvd
='#undef DVD_STRUCT_IN_BSDI_DVDIOCTL_DVD_H'
3610 echores
"$_bsdi_dvd"
3615 # also used by AIX, but AIX does not support VCD and/or libdvdread
3616 echocheck
"HP-UX SCSI header"
3618 #include <sys/scsi.h>
3619 int main(void) { return 0; }
3622 cc_check
&& _hpux_scsi_h
=yes
3623 if test "$_hpux_scsi_h" = yes ; then
3624 def_hpux_scsi_h
='#define HPUX_SCTL_IO 1'
3626 def_hpux_scsi_h
='#undef HPUX_SCTL_IO'
3628 echores
"$_hpux_scsi_h"
3633 echocheck
"userspace SCSI headers (Solaris)"
3636 #include <stropts.h>
3637 #include <sys/scsi/scsi_types.h>
3638 #include <sys/scsi/impl/uscsi.h>
3639 int main(void) { return 0; }
3642 cc_check
&& _sol_scsi_h
=yes
3643 if test "$_sol_scsi_h" = yes ; then
3644 def_sol_scsi_h
='#define SOLARIS_USCSI 1'
3646 def_sol_scsi_h
='#undef SOLARIS_USCSI'
3648 echores
"$_sol_scsi_h"
3653 if test "$_termcap" = auto
; then
3657 int main(void) { tgetent(NULL, NULL); return 0; }
3660 for _ld_tmp
in "-lncurses" "-ltinfo" "-ltermcap"; do
3661 cc_check
$_ld_tmp && extra_ldflags
="$extra_ldflags $_ld_tmp" \
3662 && _termcap
=yes && break
3665 if test "$_termcap" = yes ; then
3666 def_termcap
='#define HAVE_TERMCAP 1'
3667 test $_ld_tmp && _res_comment
="using $_ld_tmp"
3669 def_termcap
='#undef HAVE_TERMCAP'
3675 def_termios
='#undef HAVE_TERMIOS'
3676 def_termios_h
='#undef HAVE_TERMIOS_H'
3677 def_termios_sys_h
='#undef HAVE_SYS_TERMIOS_H'
3678 if test "$_termios" = auto
; then
3680 for _termios_header
in "sys/termios.h" "termios.h"; do
3682 #include <$_termios_header>
3683 int main(void) { return 0; }
3685 cc_check
&& _termios
=yes && _res_comment
="using $_termios_header" && break
3689 if test "$_termios" = yes ; then
3690 def_termios
='#define HAVE_TERMIOS 1'
3691 if test "$_termios_header" = "termios.h" ; then
3692 def_termios_h
='#define HAVE_TERMIOS_H 1'
3694 def_termios_sys_h
='#define HAVE_SYS_TERMIOS_H 1'
3701 if test "$_shm" = auto
; then
3703 #include <sys/types.h>
3704 #include <sys/shm.h>
3705 int main(void) { shmget(0, 0, 0); shmat(0, 0, 0); shmctl(0, 0, 0); return 0; }
3708 cc_check
&& _shm
=yes
3710 if test "$_shm" = yes ; then
3711 def_shm
='#define HAVE_SHM 1'
3713 def_shm
='#undef HAVE_SHM'
3718 echocheck
"strsep()"
3721 int main(void) { char *s = "Hello, world!"; (void) strsep(&s, ","); return 0; }
3724 cc_check
&& _strsep
=yes
3725 if test "$_strsep" = yes ; then
3726 def_strsep
='#define HAVE_STRSEP 1'
3729 def_strsep
='#undef HAVE_STRSEP'
3735 echocheck
"vsscanf()"
3737 #define _ISOC99_SOURCE
3740 int main(void) { vsscanf(0, 0, 0); return 0; }
3743 cc_check
&& _vsscanf
=yes
3744 if test "$_vsscanf" = yes ; then
3745 def_vsscanf
='#define HAVE_VSSCANF 1'
3748 def_vsscanf
='#undef HAVE_VSSCANF'
3756 #define _XOPEN_SOURCE 600
3758 int main(void) { swab(0, 0, 0); return 0; }
3761 cc_check
&& _swab
=yes
3762 if test "$_swab" = yes ; then
3763 def_swab
='#define HAVE_SWAB 1'
3766 def_swab
='#undef HAVE_SWAB'
3771 echocheck
"POSIX select()"
3775 #include <sys/types.h>
3777 #include <sys/time.h>
3779 int main(void) {int nfds = 1; fd_set readfds; struct timeval timeout; select(nfds,&readfds,NULL,NULL,&timeout); return 0; }
3782 def_posix_select
='#undef HAVE_POSIX_SELECT'
3783 #select() of kLIBC (OS/2) supports socket only
3784 ! os2
&& cc_check
&& _posix_select
=yes \
3785 && def_posix_select
='#define HAVE_POSIX_SELECT 1'
3786 echores
"$_posix_select"
3789 echocheck
"audio select()"
3790 if test "$_select" = no
; then
3791 def_select
='#undef HAVE_AUDIO_SELECT'
3792 elif test "$_select" = yes ; then
3793 def_select
='#define HAVE_AUDIO_SELECT 1'
3798 echocheck
"gettimeofday()"
3801 #include <sys/time.h>
3802 int main(void) {struct timeval tv_start; gettimeofday(&tv_start, NULL); return 0; }
3805 cc_check
&& _gettimeofday
=yes
3806 if test "$_gettimeofday" = yes ; then
3807 def_gettimeofday
='#define HAVE_GETTIMEOFDAY 1'
3808 _need_gettimeofday
=no
3810 def_gettimeofday
='#undef HAVE_GETTIMEOFDAY'
3811 _need_gettimeofday
=yes
3813 echores
"$_gettimeofday"
3820 int main(void) { glob_t gg; glob("filename",0,NULL,&gg); return 0; }
3823 cc_check
&& _glob
=yes
3824 if test "$_glob" = yes ; then
3825 def_glob
='#define HAVE_GLOB 1'
3828 def_glob
='#undef HAVE_GLOB'
3834 echocheck
"setenv()"
3837 int main(void) { setenv("","",0); return 0; }
3840 cc_check
&& _setenv
=yes
3841 if test "$_setenv" = yes ; then
3842 def_setenv
='#define HAVE_SETENV 1'
3845 def_setenv
='#undef HAVE_SETENV'
3852 echocheck
"sysi86()"
3854 #include <sys/sysi86.h>
3855 int main(void) { sysi86(0); return 0; }
3858 cc_check
&& _sysi86
=yes
3859 if test "$_sysi86" = yes ; then
3860 def_sysi86
='#define HAVE_SYSI86 1'
3862 #include <sys/sysi86.h>
3863 int main(void) { int sysi86(int, void*); sysi86(0); return 0; }
3865 cc_check
&& def_sysi86_iv
='#define HAVE_SYSI86_iv 1'
3867 def_sysi86
='#undef HAVE_SYSI86'
3873 echocheck
"sys/sysinfo.h"
3875 #include <sys/sysinfo.h>
3877 struct sysinfo s_info;
3883 cc_check
&& _sys_sysinfo
=yes
3884 if test "$_sys_sysinfo" = yes ; then
3885 def_sys_sysinfo_h
='#define HAVE_SYS_SYSINFO_H 1'
3887 def_sys_sysinfo_h
='#undef HAVE_SYS_SYSINFO_H'
3889 echores
"$_sys_sysinfo"
3894 echocheck
"Mac OS X Finder Support"
3895 def_macosx_finder
='#undef CONFIG_MACOSX_FINDER'
3896 if test "$_macosx_finder" = yes ; then
3897 def_macosx_finder
='#define CONFIG_MACOSX_FINDER 1'
3898 extra_ldflags
="$extra_ldflags -framework Carbon"
3900 echores
"$_macosx_finder"
3902 echocheck
"Mac OS X Bundle file locations"
3903 def_macosx_bundle
='#undef CONFIG_MACOSX_BUNDLE'
3904 test "$_macosx_bundle" = auto
&& _macosx_bundle
=$_macosx_finder
3905 if test "$_macosx_bundle" = yes ; then
3906 def_macosx_bundle
='#define CONFIG_MACOSX_BUNDLE 1'
3907 extra_ldflags
="$extra_ldflags -framework Carbon"
3909 echores
"$_macosx_bundle"
3911 echocheck
"Apple Remote"
3912 if test "$_apple_remote" = auto
; then
3916 #include <IOKit/IOCFPlugIn.h>
3918 io_iterator_t hidObjectIterator = (io_iterator_t)NULL;
3919 CFMutableDictionaryRef hidMatchDictionary;
3920 IOReturn ioReturnValue;
3922 // Set up a matching dictionary to search the I/O Registry by class.
3923 // name for all HID class devices
3924 hidMatchDictionary = IOServiceMatching("AppleIRController");
3926 // Now search I/O Registry for matching devices.
3927 ioReturnValue = IOServiceGetMatchingServices(kIOMasterPortDefault,
3928 hidMatchDictionary, &hidObjectIterator);
3930 // If search is unsuccessful, return nonzero.
3931 if (ioReturnValue != kIOReturnSuccess ||
3932 !IOIteratorIsValid(hidObjectIterator)) {
3938 cc_check
-framework IOKit
&& tmp_run
&& _apple_remote
=yes
3940 if test "$_apple_remote" = yes ; then
3941 def_apple_remote
='#define CONFIG_APPLE_REMOTE 1'
3942 libs_mplayer
="$libs_mplayer -framework IOKit -framework Cocoa"
3944 def_apple_remote
='#undef CONFIG_APPLE_REMOTE'
3946 echores
"$_apple_remote"
3952 echocheck
"Apple IR"
3953 if test "$_apple_ir" = auto
; then
3956 #include <linux/types.h>
3957 #include <linux/input.h>
3959 struct input_event ev;
3964 cc_check
&& _apple_ir
=yes
3966 if test "$_apple_ir" = yes ; then
3967 def_apple_ir
='#define CONFIG_APPLE_IR 1'
3969 def_apple_ir
='#undef CONFIG_APPLE_IR'
3971 echores
"$_apple_ir"
3974 echocheck
"pkg-config"
3975 _pkg_config
=pkg-config
3976 if $
($_pkg_config --version > /dev
/null
2>&1); then
3977 if test "$_ld_static"; then
3978 _pkg_config
="$_pkg_config --static"
3987 echocheck
"Samba support (libsmbclient)"
3988 if test "$_smb" = yes; then
3989 extra_ldflags
="$extra_ldflags -lsmbclient"
3991 if test "$_smb" = auto
; then
3994 #include <libsmbclient.h>
3995 int main(void) { smbc_opendir("smb://"); return 0; }
3997 for _ld_tmp
in "-lsmbclient" "-lsmbclient $_ld_dl" "-lsmbclient $_ld_dl -lnsl" "-lsmbclient $_ld_dl -lssl -lnsl" ; do
3998 cc_check
$_ld_tmp && extra_ldflags
="$extra_ldflags $_ld_tmp" && \
4003 if test "$_smb" = yes; then
4004 def_smb
="#define CONFIG_LIBSMBCLIENT 1"
4005 _inputmodules
="smb $_inputmodules"
4007 def_smb
="#undef CONFIG_LIBSMBCLIENT"
4008 _noinputmodules
="smb $_noinputmodules"
4019 if test "$_tdfxfb" = yes ; then
4020 def_tdfxfb
='#define CONFIG_TDFXFB 1'
4021 _vomodules
="tdfxfb $_vomodules"
4023 def_tdfxfb
='#undef CONFIG_TDFXFB'
4024 _novomodules
="tdfxfb $_novomodules"
4029 if test "$_s3fb" = yes ; then
4030 def_s3fb
='#define CONFIG_S3FB 1'
4031 _vomodules
="s3fb $_vomodules"
4033 def_s3fb
='#undef CONFIG_S3FB'
4034 _novomodules
="s3fb $_novomodules"
4039 if test "$_wii" = yes ; then
4040 def_wii
='#define CONFIG_WII 1'
4041 _vomodules
="wii $_vomodules"
4043 def_wii
='#undef CONFIG_WII'
4044 _novomodules
="wii $_novomodules"
4049 if test "$_tdfxvid" = yes ; then
4050 def_tdfxvid
='#define CONFIG_TDFX_VID 1'
4051 _vomodules
="tdfx_vid $_vomodules"
4053 def_tdfxvid
='#undef CONFIG_TDFX_VID'
4054 _novomodules
="tdfx_vid $_novomodules"
4059 if test "$_xvr100" = auto
; then
4062 #include <sys/fbio.h>
4063 #include <sys/visual_io.h>
4065 struct vis_identifier ident;
4066 struct fbgattr attr;
4067 ioctl(0, VIS_GETIDENTIFIER, &ident);
4068 ioctl(0, FBIOGATTR, &attr);
4073 cc_check
&& _xvr100
=yes
4075 if test "$_xvr100" = yes ; then
4076 def_xvr100
='#define CONFIG_XVR100 1'
4077 _vomodules
="xvr100 $_vomodules"
4079 def_tdfxvid
='#undef CONFIG_XVR100'
4080 _novomodules
="xvr100 $_novomodules"
4085 if test "$_tga" = yes ; then
4086 def_tga
='#define CONFIG_TGA 1'
4087 _vomodules
="tga $_vomodules"
4089 def_tga
='#undef CONFIG_TGA'
4090 _novomodules
="tga $_novomodules"
4095 echocheck
"md5sum support"
4096 if test "$_md5sum" = yes; then
4097 def_md5sum
="#define CONFIG_MD5SUM 1"
4098 _vomodules
="md5sum $_vomodules"
4100 def_md5sum
="#undef CONFIG_MD5SUM"
4101 _novomodules
="md5sum $_novomodules"
4106 echocheck
"yuv4mpeg support"
4107 if test "$_yuv4mpeg" = yes; then
4108 def_yuv4mpeg
="#define CONFIG_YUV4MPEG 1"
4109 _vomodules
="yuv4mpeg $_vomodules"
4111 def_yuv4mpeg
="#undef CONFIG_YUV4MPEG"
4112 _novomodules
="yuv4mpeg $_novomodules"
4114 echores
"$_yuv4mpeg"
4118 if test "$_bl" = yes ; then
4119 def_bl
='#define CONFIG_BL 1'
4120 _vomodules
="bl $_vomodules"
4122 def_bl
='#undef CONFIG_BL'
4123 _novomodules
="bl $_novomodules"
4128 echocheck
"DirectFB"
4129 if test "$_directfb" = auto
; then
4132 #include <directfb.h>
4133 int main(void) { IDirectFB *foo; DirectFBInit(0,0); return 0; }
4135 for _inc_tmp
in "" -I/usr
/local
/include
/directfb \
4136 -I/usr
/include
/directfb
-I/usr
/local
/include
; do
4137 cc_check
$_inc_tmp -ldirectfb && _directfb
=yes && \
4138 extra_cflags
="$extra_cflags $_inc_tmp" && break
4143 expr $1 \
* 65536 + $2 \
* 256 + $3
4146 if test "$_directfb" = yes; then
4148 #include <directfb_version.h>
4150 dfb_ver = DIRECTFB_MAJOR_VERSION.DIRECTFB_MINOR_VERSION.DIRECTFB_MICRO_VERSION
4153 if $_cc -E $TMPC $extra_cflags > "$TMPEXE"; then
4154 _directfb_version
=$
(sed -n 's/^dfb_ver[^0-9]*\(.*\)/\1/p' "$TMPEXE" |
tr -d '()')
4155 _dfb_major
=$
(echo $_directfb_version | cut
-d .
-f 1)
4156 _dfb_minor
=$
(echo $_directfb_version | cut
-d .
-f 2)
4157 _dfb_micro
=$
(echo $_directfb_version | cut
-d .
-f 3)
4158 _dfb_version
=$
(dfb_version
$_dfb_major $_dfb_minor $_dfb_micro)
4159 if test "$_dfb_version" -ge $
(dfb_version
0 9 13); then
4160 def_directfb_version
="#define DIRECTFBVERSION $_dfb_version"
4161 _res_comment
="$_directfb_version"
4162 test "$_dfb_version" -ge $
(dfb_version
0 9 15) && _dfbmga
=yes
4164 def_directfb_version
='#undef DIRECTFBVERSION'
4166 _res_comment
="version >=0.9.13 required"
4170 _res_comment
="failed to get version"
4173 echores
"$_directfb"
4175 if test "$_directfb" = yes ; then
4176 def_directfb
='#define CONFIG_DIRECTFB 1'
4177 _vomodules
="directfb $_vomodules"
4178 libs_mplayer
="$libs_mplayer -ldirectfb"
4180 def_directfb
='#undef CONFIG_DIRECTFB'
4181 _novomodules
="directfb $_novomodules"
4183 if test "$_dfbmga" = yes; then
4184 _vomodules
="dfbmga $_vomodules"
4185 def_dfbmga
='#define CONFIG_DFBMGA 1'
4187 _novomodules
="dfbmga $_novomodules"
4188 def_dfbmga
='#undef CONFIG_DFBMGA'
4192 echocheck
"X11 headers presence"
4194 _res_comment
="check if the dev(el) packages are installed"
4195 for I
in $
(echo $extra_cflags |
sed s
/-I//g
) /usr
/include
; do
4196 if test -f "$I/X11/Xlib.h" ; then
4202 if test $_cross_compile = no
; then
4203 for I
in /usr
/X11
/include
/usr
/X11R
7/include
/usr
/X11R
6/include \
4204 /usr
/include
/X11R6
/usr
/openwin
/include
; do
4205 if test -f "$I/X11/Xlib.h" ; then
4206 extra_cflags
="$extra_cflags -I$I"
4208 _res_comment
="using $I"
4213 echores
"$_x11_headers"
4217 if test "$_x11" = auto
&& test "$_x11_headers" = yes ; then
4219 #include <X11/Xlib.h>
4220 #include <X11/Xutil.h>
4221 int main(void) { (void) XCreateWindow(0,0,0,0,0,0,0,0,0,0,0,0); return 0; }
4223 for I
in "" -L/usr
/X11R
7/lib
-L/usr
/X11R
6/lib
-L/usr
/lib
/X11R6 \
4224 -L/usr
/X11
/lib
-L/usr
/lib32
-L/usr
/openwin
/lib
-L/usr
/X11R
6/lib64 \
4227 _ld_tmp
="$I -lXext -lX11 $_ld_pthread -Wl,-R$(echo $I | sed s/^-L//)"
4229 _ld_tmp
="$I -lXext -lX11 $_ld_pthread"
4231 cc_check
$_ld_tmp && libs_mplayer
="$libs_mplayer $_ld_tmp" \
4232 && _x11
=yes && break
4235 if test "$_x11" = yes ; then
4236 def_x11
='#define CONFIG_X11 1'
4237 _vomodules
="x11 xover $_vomodules"
4240 def_x11
='#undef CONFIG_X11'
4241 _novomodules
="x11 $_novomodules"
4242 _res_comment
="check if the dev(el) packages are installed"
4243 # disable stuff that depends on X
4244 _xv
=no
; _xvmc
=no
; _xinerama
=no
; _vm
=no
; _xf86keysym
=no
; _vdpau
=no
4248 echocheck
"Xss screensaver extensions"
4249 if test "$_xss" = auto
; then
4251 #include <X11/Xlib.h>
4252 #include <X11/extensions/scrnsaver.h>
4253 int main(void) { XScreenSaverSuspend(NULL, True); return 0; }
4256 cc_check
-lXss && _xss
=yes
4258 if test "$_xss" = yes ; then
4259 def_xss
='#define CONFIG_XSS 1'
4260 libs_mplayer
="$libs_mplayer -lXss"
4262 def_xss
='#undef CONFIG_XSS'
4269 if test "$_x11" = yes ; then
4271 #include <X11/Xmd.h>
4272 #include <X11/Xlib.h>
4273 #include <X11/Xutil.h>
4274 #include <X11/Xatom.h>
4275 #include <X11/extensions/dpms.h>
4276 int main(void) { (void) DPMSQueryExtension(0, 0, 0); return 0; }
4278 cc_check
-lXdpms && _xdpms3
=yes
4280 #include <X11/Xlib.h>
4281 #include <X11/extensions/dpms.h>
4282 int main(void) { (void) DPMSQueryExtension(0, 0, 0); return 0; }
4284 cc_check
-lXext && _xdpms4
=yes
4286 if test "$_xdpms4" = yes ; then
4287 def_xdpms
='#define CONFIG_XDPMS 1'
4288 _res_comment
="using Xdpms 4"
4290 elif test "$_xdpms3" = yes ; then
4291 def_xdpms
='#define CONFIG_XDPMS 1'
4292 libs_mplayer
="$libs_mplayer -lXdpms"
4293 _res_comment
="using Xdpms 3"
4296 def_xdpms
='#undef CONFIG_XDPMS'
4302 if test "$_xv" = auto
; then
4304 #include <X11/Xlib.h>
4305 #include <X11/extensions/Xvlib.h>
4307 (void) XvGetPortAttribute(0, 0, 0, 0);
4308 (void) XvQueryPortAttributes(0, 0, 0);
4312 cc_check
-lXv && _xv
=yes
4315 if test "$_xv" = yes ; then
4316 def_xv
='#define CONFIG_XV 1'
4317 libs_mplayer
="$libs_mplayer -lXv"
4318 _vomodules
="xv $_vomodules"
4320 def_xv
='#undef CONFIG_XV'
4321 _novomodules
="xv $_novomodules"
4327 if test "$_xv" = yes && test "$_xvmc" != no
; then
4330 #include <X11/Xlib.h>
4331 #include <X11/extensions/Xvlib.h>
4332 #include <X11/extensions/XvMClib.h>
4334 (void) XvMCQueryExtension(0,0,0);
4335 (void) XvMCCreateContext(0,0,0,0,0,0,0);
4338 for _ld_tmp
in $_xvmclib XvMCNVIDIA XvMCW I810XvMC
; do
4339 cc_check
-lXvMC -l$_ld_tmp && _xvmc
=yes && _xvmclib
="$_ld_tmp" && break
4342 if test "$_xvmc" = yes ; then
4343 def_xvmc
='#define CONFIG_XVMC 1'
4344 libs_mplayer
="$libs_mplayer -lXvMC -l$_xvmclib"
4345 _vomodules
="xvmc $_vomodules"
4346 _res_comment
="using $_xvmclib"
4348 def_xvmc
='#define CONFIG_XVMC 0'
4349 _novomodules
="xvmc $_novomodules"
4350 _libavdecoders
=$
(echo $_libavdecoders |
sed -e s
/MPEG_XVMC_DECODER
//)
4356 if test "$_vdpau" = auto
; then
4358 if test "$_dl" = yes ; then
4360 #include <vdpau/vdpau_x11.h>
4362 (void) vdp_device_create_x11(0, 0, 0, 0);
4363 return VDP_VIDEO_MIXER_FEATURE_HIGH_QUALITY_SCALING_L1; }
4365 cc_check
-lvdpau && _vdpau
=yes
4368 if test "$_vdpau" = yes ; then
4369 def_vdpau
='#define CONFIG_VDPAU 1'
4370 libs_mplayer
="$libs_mplayer -lvdpau"
4371 _vomodules
="vdpau $_vomodules"
4373 def_vdpau
='#define CONFIG_VDPAU 0'
4374 _novomodules
="vdpau $_novomodules"
4375 _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
//)
4380 echocheck
"Xinerama"
4381 if test "$_xinerama" = auto
; then
4383 #include <X11/Xlib.h>
4384 #include <X11/extensions/Xinerama.h>
4385 int main(void) { (void) XineramaIsActive(0); return 0; }
4388 cc_check
-lXinerama && _xinerama
=yes
4391 if test "$_xinerama" = yes ; then
4392 def_xinerama
='#define CONFIG_XINERAMA 1'
4393 libs_mplayer
="$libs_mplayer -lXinerama"
4395 def_xinerama
='#undef CONFIG_XINERAMA'
4397 echores
"$_xinerama"
4400 # Note: the -lXxf86vm library is the VideoMode extension and though it's not
4401 # needed for DGA, AFAIK every distribution packages together with DGA stuffs
4402 # named 'X extensions' or something similar.
4403 # This check may be useful for future mplayer versions (to change resolution)
4404 # If you run into problems, remove '-lXxf86vm'.
4406 if test "$_vm" = auto
; then
4408 #include <X11/Xlib.h>
4409 #include <X11/extensions/xf86vmode.h>
4410 int main(void) { (void) XF86VidModeQueryExtension(0, 0, 0); return 0; }
4413 cc_check
-lXxf86vm && _vm
=yes
4415 if test "$_vm" = yes ; then
4416 def_vm
='#define CONFIG_XF86VM 1'
4417 libs_mplayer
="$libs_mplayer -lXxf86vm"
4419 def_vm
='#undef CONFIG_XF86VM'
4423 # Check for the presence of special keycodes, like audio control buttons
4424 # that XFree86 might have. Used to be bundled with the xf86vm check, but
4425 # has nothing to do with xf86vm and XFree 3.x has xf86vm but does NOT
4426 # have these new keycodes.
4427 echocheck
"XF86keysym"
4428 if test "$_xf86keysym" = auto
; then
4431 #include <X11/Xlib.h>
4432 #include <X11/XF86keysym.h>
4433 int main(void) { return XF86XK_AudioPause; }
4435 cc_check
&& _xf86keysym
=yes
4437 if test "$_xf86keysym" = yes ; then
4438 def_xf86keysym
='#define CONFIG_XF86XK 1'
4440 def_xf86keysym
='#undef CONFIG_XF86XK'
4442 echores
"$_xf86keysym"
4445 if test "$_dga2" = auto
&& test "$_x11" = yes ; then
4447 #include <X11/Xlib.h>
4448 #include <X11/extensions/xf86dga.h>
4449 int main(void) { (void) XDGASetViewport(0, 0, 0, 0, 0); return 0; }
4452 cc_check
-lXxf86dga && _dga2
=yes
4454 if test "$_dga1" = auto
&& test "$_dga2" = no
&& test "$_vm" = yes ; then
4456 #include <X11/Xlib.h>
4457 #include <X11/extensions/xf86dga.h>
4458 int main(void) { (void) XF86DGASetViewPort(0, 0, 0, 0); return 0; }
4461 cc_check
-lXxf86dga -lXxf86vm && _dga1
=yes
4465 def_dga
='#undef CONFIG_DGA'
4466 def_dga1
='#undef CONFIG_DGA1'
4467 def_dga2
='#undef CONFIG_DGA2'
4468 if test "$_dga1" = yes ; then
4470 def_dga1
='#define CONFIG_DGA1 1'
4471 _res_comment
="using DGA 1.0"
4472 elif test "$_dga2" = yes ; then
4474 def_dga2
='#define CONFIG_DGA2 1'
4475 _res_comment
="using DGA 2.0"
4477 if test "$_dga" = yes ; then
4478 def_dga
='#define CONFIG_DGA 1'
4479 libs_mplayer
="$libs_mplayer -lXxf86dga"
4480 _vomodules
="dga $_vomodules"
4482 _novomodules
="dga $_novomodules"
4488 if test "$_3dfx" = yes && test "$_dga" = yes ; then
4489 def_3dfx
='#define CONFIG_3DFX 1'
4490 _vomodules
="3dfx $_vomodules"
4492 def_3dfx
='#undef CONFIG_3DFX'
4493 _novomodules
="3dfx $_novomodules"
4499 def_vidix
='#undef CONFIG_VIDIX'
4500 def_vidix_drv_cyberblade
='#undef CONFIG_VIDIX_DRV_CYBERBLADE'
4501 _vidix_drv_cyberblade
=no
4502 def_vidix_drv_ivtv
='#undef CONFIG_VIDIX_DRV_IVTV'
4504 def_vidix_drv_mach64
='#undef CONFIG_VIDIX_DRV_MACH64'
4505 _vidix_drv_mach64
=no
4506 def_vidix_drv_mga
='#undef CONFIG_VIDIX_DRV_MGA'
4508 def_vidix_drv_mga_crtc2
='#undef CONFIG_VIDIX_DRV_MGA_CRTC2'
4509 _vidix_drv_mga_crtc2
=no
4510 def_vidix_drv_nvidia
='#undef CONFIG_VIDIX_DRV_NVIDIA'
4511 _vidix_drv_nvidia
=no
4512 def_vidix_drv_pm2
='#undef CONFIG_VIDIX_DRV_PM2'
4514 def_vidix_drv_pm3
='#undef CONFIG_VIDIX_DRV_PM3'
4516 def_vidix_drv_radeon
='#undef CONFIG_VIDIX_DRV_RADEON'
4517 _vidix_drv_radeon
=no
4518 def_vidix_drv_rage128
='#undef CONFIG_VIDIX_DRV_RAGE128'
4519 _vidix_drv_rage128
=no
4520 def_vidix_drv_s3
='#undef CONFIG_VIDIX_DRV_S3'
4522 def_vidix_drv_sh_veu
='#undef CONFIG_VIDIX_DRV_SH_VEU'
4523 _vidix_drv_sh_veu
=no
4524 def_vidix_drv_sis
='#undef CONFIG_VIDIX_DRV_SIS'
4526 def_vidix_drv_unichrome
='#undef CONFIG_VIDIX_DRV_UNICHROME'
4527 _vidix_drv_unichrome
=no
4528 if test "$_vidix" = auto
; then
4530 x86
&& (linux || freebsd || netbsd || openbsd || dragonfly || sunos || win32
) \
4532 (ppc || alpha
) && linux
&& _vidix
=yes
4536 if test "$_vidix" = yes ; then
4537 def_vidix
='#define CONFIG_VIDIX 1'
4538 _vomodules
="cvidix $_vomodules"
4539 # FIXME: ivtv driver temporarily disabled until we have a proper test
4540 #test "$_vidix_drivers" || _vidix_drivers="cyberblade ivtv mach64 mga mga_crtc2 nvidia pm2 pm3 radeon rage128 s3 sh_veu sis unichrome"
4541 test "$_vidix_drivers" || _vidix_drivers
="cyberblade mach64 mga mga_crtc2 nvidia pm2 pm3 radeon rage128 s3 sh_veu sis unichrome"
4543 # some vidix drivers are architecture and os specific, discard them elsewhere
4544 x86 || _vidix_drivers
=$
(echo $_vidix_drivers |
sed -e s
/cyberblade
// -e s
/sis
// -e s
/unichrome
// -e s
/s
3//)
4545 (test $host_arch = "sh" && linux
) || _vidix_drivers
=$
(echo $_vidix_drivers |
sed s
/sh_veu
//)
4547 for driver
in $_vidix_drivers ; do
4548 uc_driver
=$
(echo $driver |
tr '[a-z]' '[A-Z]')
4549 eval _vidix_drv_
${driver}=yes
4550 eval def_vidix_drv_
${driver}=\"\
#define CONFIG_VIDIX_DRV_${uc_driver} 1\"
4553 echocheck
"VIDIX PCI device name database"
4554 echores
"$_vidix_pcidb"
4555 if test "$_vidix_pcidb" = yes ; then
4561 echocheck
"VIDIX dhahelper support"
4562 test "$_dhahelper" = yes && cflags_dhahelper
=-DCONFIG_DHAHELPER
4563 echores
"$_dhahelper"
4565 echocheck
"VIDIX svgalib_helper support"
4566 test "$_svgalib_helper" = yes && cflags_svgalib_helper
=-DCONFIG_SVGAHELPER
4567 echores
"$_svgalib_helper"
4570 _novomodules
="cvidix $_novomodules"
4573 if test "$_vidix" = yes && win32
; then
4575 _vomodules
="winvidix $_vomodules"
4576 libs_mplayer
="$libs_mplayer -lgdi32"
4578 _novomodules
="winvidix $_novomodules"
4580 if test "$_vidix" = yes && test "$_x11" = yes; then
4582 _vomodules
="xvidix $_vomodules"
4584 _novomodules
="xvidix $_novomodules"
4587 echocheck
"/dev/mga_vid"
4588 if test "$_mga" = auto
; then
4590 test -c /dev
/mga_vid
&& _mga
=yes
4592 if test "$_mga" = yes ; then
4593 def_mga
='#define CONFIG_MGA 1'
4594 _vomodules
="mga $_vomodules"
4596 def_mga
='#undef CONFIG_MGA'
4597 _novomodules
="mga $_novomodules"
4603 if test "$_xmga" = auto
; then
4605 test "$_x11" = yes && test "$_mga" = yes && _xmga
=yes
4607 if test "$_xmga" = yes ; then
4608 def_xmga
='#define CONFIG_XMGA 1'
4609 _vomodules
="xmga $_vomodules"
4611 def_xmga
='#undef CONFIG_XMGA'
4612 _novomodules
="xmga $_novomodules"
4618 if test "$_ggi" = auto
; then
4620 #include <ggi/ggi.h>
4621 int main(void) { ggiInit(); return 0; }
4624 cc_check
-lggi && _ggi
=yes
4626 if test "$_ggi" = yes ; then
4627 def_ggi
='#define CONFIG_GGI 1'
4628 libs_mplayer
="$libs_mplayer -lggi"
4629 _vomodules
="ggi $_vomodules"
4631 def_ggi
='#undef CONFIG_GGI'
4632 _novomodules
="ggi $_novomodules"
4636 echocheck
"GGI extension: libggiwmh"
4637 if test "$_ggiwmh" = auto
; then
4640 #include <ggi/ggi.h>
4641 #include <ggi/wmh.h>
4642 int main(void) { ggiInit(); ggiWmhInit(); return 0; }
4644 cc_check
-lggi -lggiwmh && _ggiwmh
=yes
4646 # needed to get right output on obscure combination
4647 # like --disable-ggi --enable-ggiwmh
4648 if test "$_ggi" = yes && test "$_ggiwmh" = yes ; then
4649 def_ggiwmh
='#define CONFIG_GGIWMH 1'
4650 libs_mplayer
="$libs_mplayer -lggiwmh"
4653 def_ggiwmh
='#undef CONFIG_GGIWMH'
4659 if test "$_aa" = auto
; then
4662 extern struct aa_hardware_params aa_defparams;
4663 extern struct aa_renderparams aa_defrenderparams;
4667 (void) aa_init(0, 0, 0);
4668 c = aa_autoinit(&aa_defparams);
4669 p = aa_getrenderparams();
4670 aa_autoinitkbd(c,0);
4674 for _ld_tmp
in "-laa" ; do
4675 cc_check
$_ld_tmp && libs_mplayer
="$libs_mplayer $_ld_tmp" && _aa
=yes && break
4678 if test "$_aa" = yes ; then
4679 def_aa
='#define CONFIG_AA 1'
4681 libs_mplayer
="$libs_mplayer $(aalib-config --libs | cut -d " " -f 2,5,6)"
4683 _vomodules
="aa $_vomodules"
4685 def_aa
='#undef CONFIG_AA'
4686 _novomodules
="aa $_novomodules"
4692 if test "$_caca" = auto
; then
4694 if ( caca-config
--version ) >> "$TMPLOG" 2>&1 ; then
4697 #ifdef CACA_API_VERSION_1
4700 int main(void) { (void) caca_init(); return 0; }
4702 cc_check $
(caca-config
--libs) && _caca
=yes
4705 if test "$_caca" = yes ; then
4706 def_caca
='#define CONFIG_CACA 1'
4707 extra_cflags
="$extra_cflags $(caca-config --cflags)"
4708 libs_mplayer
="$libs_mplayer $(caca-config --libs)"
4709 _vomodules
="caca $_vomodules"
4711 def_caca
='#undef CONFIG_CACA'
4712 _novomodules
="caca $_novomodules"
4718 if test "$_svga" = auto
; then
4721 int main(void) { return 0; }
4724 cc_check
-lvga $_ld_lm && _svga
=yes
4726 if test "$_svga" = yes ; then
4727 def_svga
='#define CONFIG_SVGALIB 1'
4728 libs_mplayer
="$libs_mplayer -lvga"
4729 _vomodules
="svga $_vomodules"
4731 def_svga
='#undef CONFIG_SVGALIB'
4732 _novomodules
="svga $_novomodules"
4738 if test "$_fbdev" = auto
; then
4742 if test "$_fbdev" = yes ; then
4743 def_fbdev
='#define CONFIG_FBDEV 1'
4744 _vomodules
="fbdev $_vomodules"
4746 def_fbdev
='#undef CONFIG_FBDEV'
4747 _novomodules
="fbdev $_novomodules"
4754 if test "$_dvb" = auto
; then
4758 #include <sys/ioctl.h>
4762 #include <ost/dmx.h>
4763 #include <ost/frontend.h>
4764 #include <ost/sec.h>
4765 #include <ost/video.h>
4766 #include <ost/audio.h>
4767 int main(void) {return 0;}
4769 for _inc_tmp
in "" "-I/usr/src/DVB/ost/include" ; do
4770 cc_check
$_inc_tmp && _dvb
=yes && \
4771 extra_cflags
="$extra_cflags $_inc_tmp" && break
4775 if test "$_dvb" = yes ; then
4776 def_dvb
='#define CONFIG_DVB 1'
4777 def_dvbin
='#define CONFIG_DVBIN 1'
4778 _aomodules
="mpegpes(dvb) $_aomodules"
4779 _vomodules
="mpegpes(dvb) $_vomodules"
4782 echocheck
"DVB HEAD"
4783 if test "$_dvbhead" = auto
; then
4788 #include <sys/ioctl.h>
4792 #include <linux/dvb/dmx.h>
4793 #include <linux/dvb/frontend.h>
4794 #include <linux/dvb/video.h>
4795 #include <linux/dvb/audio.h>
4796 int main(void) {return 0;}
4798 for _inc_tmp
in "" "-I/usr/src/DVB/include" ; do
4799 cc_check
$_inc_tmp && _dvbhead
=yes && \
4800 extra_cflags
="$extra_cflags $_inc_tmp" && break
4804 if test "$_dvbhead" = yes ; then
4805 def_dvb
='#define CONFIG_DVB 1'
4806 def_dvb_head
='#define CONFIG_DVB_HEAD 1'
4807 def_dvbin
='#define CONFIG_DVBIN 1'
4808 _aomodules
="mpegpes(dvb) $_aomodules"
4809 _vomodules
="mpegpes(dvb) $_vomodules"
4812 if test "$_dvbhead" = no
&& test "$_dvb" = no
; then
4813 def_dvb
='#undef CONFIG_DVB'
4814 def_dvb_head
='#undef CONFIG_DVB_HEAD'
4815 def_dvbin
='#undef CONFIG_DVBIN '
4816 _aomodules
="mpegpes(file) $_aomodules"
4817 _vomodules
="mpegpes(file) $_vomodules"
4820 if test "$_dvb" = yes ||
test "$_dvbhead" = yes ; then
4822 _inputmodules
="dvb $_inputmodules"
4825 _noinputmodules
="dvb $_noinputmodules"
4831 echocheck
"QuickTime"
4832 if test "$quicktime" = auto
; then
4834 #include <QuickTime/QuickTime.h>
4836 ImageDescription *desc;
4843 cc_check
-framework QuickTime
&& quicktime
=yes
4845 if test "$quicktime" = yes ; then
4846 extra_ldflags
="$extra_ldflags -framework QuickTime"
4847 def_quicktime
='#define CONFIG_QUICKTIME 1'
4849 def_quicktime
='#undef CONFIG_QUICKTIME'
4855 if test "$_quartz" = auto
; then
4857 #include <Carbon/Carbon.h>
4859 CFRunLoopRunInMode(kCFRunLoopDefaultMode, 0, false);
4864 cc_check
-framework Carbon
&& _quartz
=yes
4866 if test "$_quartz" = yes ; then
4867 libs_mplayer
="$libs_mplayer -framework Carbon"
4868 def_quartz
='#define CONFIG_QUARTZ 1'
4869 _vomodules
="quartz $_vomodules"
4871 def_quartz
='#undef CONFIG_QUARTZ'
4872 _novomodules
="quartz $_novomodules"
4876 echocheck
"CoreVideo"
4877 if test "$_corevideo" = auto
; then
4879 #include <Carbon/Carbon.h>
4880 #include <CoreServices/CoreServices.h>
4881 #include <OpenGL/OpenGL.h>
4882 #include <QuartzCore/CoreVideo.h>
4883 int main(void) { return 0; }
4886 cc_check
-framework Carbon
-framework Cocoa
-framework QuartzCore
-framework OpenGL
&& _corevideo
=yes
4888 if test "$_corevideo" = yes ; then
4889 _vomodules
="corevideo $_vomodules"
4890 libs_mplayer
="$libs_mplayer -framework Carbon -framework Cocoa -framework QuartzCore -framework OpenGL"
4891 def_corevideo
='#define CONFIG_COREVIDEO 1'
4893 _novomodules
="corevideo $_novomodules"
4894 def_corevideo
='#undef CONFIG_COREVIDEO'
4896 echores
"$_corevideo"
4901 # make sure this stays below CoreVideo to avoid issues due to namespace
4902 # conflicts between -lGL and -framework OpenGL
4904 #Note: this test is run even with --enable-gl since we autodetect linker flags
4905 if (test "$_x11" = yes || win32
) && test "$_gl" != no
; then
4908 #include <windows.h>
4912 #include <X11/Xlib.h>
4918 wglCreateContext(dc);
4920 glXCreateContext(NULL, NULL, NULL, True);
4927 if cc_check
-lGL $_ld_lm ; then
4930 libs_mplayer
="$libs_mplayer -lGL $_ld_dl"
4931 elif cc_check
-lGL $_ld_lm $_ld_pthread ; then
4934 libs_mplayer
="$libs_mplayer -lGL $_ld_pthread $_ld_dl"
4936 if cc_check
-DGL_WIN32 -lopengl32 ; then
4939 libs_mplayer
="$libs_mplayer -lopengl32 -lgdi32"
4944 if test "$_gl" = yes ; then
4945 def_gl
='#define CONFIG_GL 1'
4946 _res_comment
="backends:"
4947 if test "$_gl_win32" = yes ; then
4948 def_gl_win32
='#define CONFIG_GL_WIN32 1'
4949 _res_comment
="$_res_comment win32"
4951 if test "$_gl_x11" = yes ; then
4952 def_gl_x11
='#define CONFIG_GL_X11 1'
4953 _res_comment
="$_res_comment x11"
4955 _vomodules
="opengl $_vomodules"
4957 def_gl
='#undef CONFIG_GL'
4958 def_gl_win32
='#undef CONFIG_GL_WIN32'
4959 def_gl_x11
='#undef CONFIG_GL_X11'
4960 _novomodules
="opengl $_novomodules"
4965 echocheck
"PNG support"
4966 if test "$_png" = auto
; then
4969 # Don't check for -lpng on irix since it has its own libpng
4970 # incompatible with the GNU libpng
4971 _res_comment
="disabled on irix (not GNU libpng)"
4977 printf("png.h : %s\n", PNG_LIBPNG_VER_STRING);
4978 printf("libpng: %s\n", png_libpng_ver);
4979 return strcmp(PNG_LIBPNG_VER_STRING, png_libpng_ver);
4982 cc_check
-lpng -lz $_ld_lm && _png
=yes
4986 if test "$_png" = yes ; then
4987 def_png
='#define CONFIG_PNG 1'
4988 extra_ldflags
="$extra_ldflags -lpng -lz"
4989 _vomodules
="png $_vomodules"
4991 def_png
='#undef CONFIG_PNG'
4992 _novomodules
="png $_novomodules"
4995 echocheck
"MNG support"
4996 if test "$_mng" = auto
; then
5001 const char * p_ver = mng_version_text();
5002 return !p_ver || p_ver[0] == 0;
5005 if cc_check
-lmng -lz $_ld_lm ; then
5010 if test "$_mng" = yes ; then
5011 def_mng
='#define CONFIG_MNG 1'
5012 extra_ldflags
="$extra_ldflags -lmng -lz"
5014 def_mng
='#undef CONFIG_MNG'
5017 echocheck
"JPEG support"
5018 if test "$_jpeg" = auto
; then
5025 #include <jpeglib.h>
5026 int main(void) { return 0; }
5028 cc_check
-ljpeg $_ld_lm && _jpeg
=yes
5032 if test "$_jpeg" = yes ; then
5033 def_jpeg
='#define CONFIG_JPEG 1'
5034 _vomodules
="jpeg $_vomodules"
5035 extra_ldflags
="$extra_ldflags -ljpeg"
5037 def_jpeg
='#undef CONFIG_JPEG'
5038 _novomodules
="jpeg $_novomodules"
5043 echocheck
"PNM support"
5044 if test "$_pnm" = yes; then
5045 def_pnm
="#define CONFIG_PNM 1"
5046 _vomodules
="pnm $_vomodules"
5048 def_pnm
="#undef CONFIG_PNM"
5049 _novomodules
="pnm $_novomodules"
5055 echocheck
"GIF support"
5056 # This is to appease people who want to force gif support.
5057 # If it is forced to yes, then we still do checks to determine
5058 # which gif library to use.
5059 if test "$_gif" = yes ; then
5064 if test "$_gif" = auto
; then
5067 #include <gif_lib.h>
5068 int main(void) { return 0; }
5070 for _ld_gif
in "-lungif" "-lgif" ; do
5071 cc_check
$_ld_gif && _gif
=yes && break
5075 # If no library was found, and the user wants support forced,
5076 # then we force it on with libgif, as this is the safest
5077 # assumption IMHO. (libungif & libregif both create symbolic
5078 # links to libgif. We also assume that no x11 support is needed,
5079 # because if you are forcing this, then you _should_ know what
5080 # you are doing. [ Besides, package maintainers should never
5081 # have compiled x11 deps into libungif in the first place. ] )
5084 if test "$_force_gif" = yes && test "$_gif" = no
; then
5089 if test "$_gif" = yes ; then
5090 def_gif
='#define CONFIG_GIF 1'
5091 _codecmodules
="gif $_codecmodules"
5092 _vomodules
="gif89a $_vomodules"
5093 _res_comment
="old version, some encoding functions disabled"
5094 def_gif_4
='#undef CONFIG_GIF_4'
5095 extra_ldflags
="$extra_ldflags $_ld_gif"
5099 #include <gif_lib.h>
5100 void catch() { exit(1); }
5102 signal(SIGSEGV, catch); // catch segfault
5103 printf("EGifPutExtensionFirst is at address %p\n", EGifPutExtensionFirst);
5104 EGifSetGifVersion("89a"); // this will segfault a buggy gif lib.
5108 if cc_check
"$_ld_gif" ; then
5109 def_gif_4
='#define CONFIG_GIF_4 1'
5113 def_gif
='#undef CONFIG_GIF'
5114 def_gif_4
='#undef CONFIG_GIF_4'
5115 _novomodules
="gif89a $_novomodules"
5116 _nocodecmodules
="gif $_nocodecmodules"
5121 case "$_gif" in yes*)
5122 echocheck
"broken giflib workaround"
5123 def_gif_tvt_hack
='#define CONFIG_GIF_TVT_HACK 1'
5126 #include <gif_lib.h>
5129 printf("UserData is at address %p\n", gif.UserData);
5133 if cc_check
"$_ld_gif" ; then
5134 def_gif_tvt_hack
='#undef CONFIG_GIF_TVT_HACK'
5143 echocheck
"VESA support"
5144 if test "$_vesa" = auto
; then
5147 int main(void) { vbeVersion(); return 0; }
5150 cc_check
-lvbe -llrmi && _vesa
=yes
5152 if test "$_vesa" = yes ; then
5153 def_vesa
='#define CONFIG_VESA 1'
5154 libs_mplayer
="$libs_mplayer -lvbe -llrmi"
5155 _vomodules
="vesa $_vomodules"
5157 def_vesa
='#undef CONFIG_VESA'
5158 _novomodules
="vesa $_novomodules"
5168 if test -z "$_sdlconfig" ; then
5169 if ( sdl-config
--version ) >>"$TMPLOG" 2>&1 ; then
5170 _sdlconfig
="sdl-config"
5171 elif ( sdl11-config
--version ) >>"$TMPLOG" 2>&1 ; then
5172 _sdlconfig
="sdl11-config"
5177 if test "$_sdl" = auto ||
test "$_sdl" = yes ; then
5180 int main(int argc, char *argv[]) {
5181 SDL_Init(SDL_INIT_VIDEO|SDL_INIT_NOPARACHUTE);
5186 if "$_sdlconfig" --version >>"$TMPLOG" 2>&1 ; then
5187 if cc_check $
($_sdlconfig --cflags) $
($_sdlconfig --libs) >>"$TMPLOG" 2>&1 ; then
5188 _sdlversion
=$
($_sdlconfig --version |
sed 's/[^0-9]//g')
5189 if test "$_sdlversion" -gt 116 ; then
5190 if test "$_sdlversion" -lt 121 ; then
5191 def_sdlbuggy
='#define BUGGY_SDL'
5193 def_sdlbuggy
='#undef BUGGY_SDL'
5200 if test "$_sdl" = yes ; then
5201 def_sdl
='#define CONFIG_SDL 1'
5203 libs_mplayer
="$libs_mplayer $($_sdlconfig --libs | cut -d " " -f 1,4,6 | sed s/no-cygwin/cygwin/)"
5204 extra_cflags
="$extra_cflags $($_sdlconfig --cflags | cut -d " " -f 1,5,6 | sed s/no-cygwin/cygwin/)"
5206 libs_mplayer
="$libs_mplayer $($_sdlconfig --libs | sed -e s/-mwindows// -e s/-lmingw32//)"
5207 extra_cflags
="$extra_cflags $($_sdlconfig --cflags | sed s/-Dmain=SDL_main//)"
5209 libs_mplayer
="$libs_mplayer $($_sdlconfig --libs)"
5210 extra_cflags
="$extra_cflags $($_sdlconfig --cflags | sed s/-D_GNU_SOURCE=1//)"
5212 _vomodules
="sdl $_vomodules"
5213 _aomodules
="sdl $_aomodules"
5214 _res_comment
="using $_sdlconfig"
5216 def_sdl
='#undef CONFIG_SDL'
5217 _novomodules
="sdl $_novomodules"
5218 _noaomodules
="sdl $_noaomodules"
5224 echocheck
"KVA (SNAP/WarpOverlay!/DIVE)"
5225 if test "$_kva" = auto
; then
5229 int main( void ) { return 0; }
5232 cc_check
-lkva && _kva
=yes
5234 if test "$_kva" = yes ; then
5235 def_kva
='#define CONFIG_KVA 1'
5236 libs_mplayer
="$libs_mplayer -lkva"
5237 _vomodules
="kva $_vomodules"
5239 def_kva
='#undef CONFIG_KVA'
5240 _novomodules
="kva $_novomodules"
5248 echocheck
"Windows waveout"
5249 if test "$_win32waveout" = auto
; then
5251 #include <windows.h>
5252 #include <mmsystem.h>
5253 int main(void) { return 0; }
5256 cc_check
-lwinmm && _win32waveout
=yes
5258 if test "$_win32waveout" = yes ; then
5259 def_win32waveout
='#define CONFIG_WIN32WAVEOUT 1'
5260 libs_mplayer
="$libs_mplayer -lwinmm"
5261 _aomodules
="win32 $_aomodules"
5263 def_win32waveout
='#undef CONFIG_WIN32WAVEOUT'
5264 _noaomodules
="win32 $_noaomodules"
5266 echores
"$_win32waveout"
5268 echocheck
"Direct3D"
5269 if test "$_direct3d" = auto
; then
5271 #include <windows.h>
5273 int main(void) { return 0; }
5276 cc_check
-ld3d9 && _direct3d
=yes
5278 if test "$_direct3d" = yes ; then
5279 def_direct3d
='#define CONFIG_DIRECT3D 1'
5280 libs_mplayer
="$libs_mplayer -ld3d9"
5281 _vomodules
="direct3d $_vomodules"
5283 def_direct3d
='#undef CONFIG_DIRECT3D'
5284 _novomodules
="direct3d $_novomodules"
5286 echores
"$_direct3d"
5289 if test "$_directx" = auto
; then
5291 #include <windows.h>
5294 int main(void) { return 0; }
5297 cc_check
-lgdi32 && _directx
=yes
5299 if test "$_directx" = yes ; then
5300 def_directx
='#define CONFIG_DIRECTX 1'
5301 libs_mplayer
="$libs_mplayer -lgdi32"
5302 _vomodules
="directx $_vomodules"
5303 _aomodules
="dsound $_aomodules"
5305 def_directx
='#undef CONFIG_DIRECTX'
5306 _novomodules
="directx $_novomodules"
5307 _noaomodules
="dsound $_noaomodules"
5315 if test "$_dxr2" = auto
; then
5318 #include <dxr2ioctl.h>
5319 int main(void) { return 0; }
5321 for _inc_tmp
in "" -I/usr
/local
/include
/dxr2
-I/usr
/include
/dxr2
; do
5322 cc_check
$_inc_tmp && _dxr2
=yes && \
5323 extra_cflags
="$extra_cflags $_inc_tmp" && break
5326 if test "$_dxr2" = yes; then
5327 def_dxr2
='#define CONFIG_DXR2 1'
5328 _aomodules
="dxr2 $_aomodules"
5329 _vomodules
="dxr2 $_vomodules"
5331 def_dxr2
='#undef CONFIG_DXR2'
5332 _noaomodules
="dxr2 $_noaomodules"
5333 _novomodules
="dxr2 $_novomodules"
5338 if test "$_dxr3" = auto
; then
5340 #include <linux/em8300.h>
5341 int main(void) { return 0; }
5344 cc_check
&& _dxr3
=yes
5346 if test "$_dxr3" = yes ; then
5347 def_dxr3
='#define CONFIG_DXR3 1'
5348 _vomodules
="dxr3 $_vomodules"
5350 def_dxr3
='#undef CONFIG_DXR3'
5351 _novomodules
="dxr3 $_novomodules"
5356 echocheck
"IVTV TV-Out (pre linux-2.6.24)"
5357 if test "$_ivtv" = auto
; then
5360 #include <inttypes.h>
5361 #include <linux/types.h>
5362 #include <linux/videodev2.h>
5363 #include <linux/ivtv.h>
5364 #include <sys/ioctl.h>
5366 struct ivtv_cfg_stop_decode sd;
5367 struct ivtv_cfg_start_decode sd1;
5368 ioctl(0, IVTV_IOC_START_DECODE, &sd1);
5369 ioctl(0, IVTV_IOC_STOP_DECODE, &sd);
5373 cc_check
&& _ivtv
=yes
5375 if test "$_ivtv" = yes ; then
5376 def_ivtv
='#define CONFIG_IVTV 1'
5377 _vomodules
="ivtv $_vomodules"
5378 _aomodules
="ivtv $_aomodules"
5380 def_ivtv
='#undef CONFIG_IVTV'
5381 _novomodules
="ivtv $_novomodules"
5382 _noaomodules
="ivtv $_noaomodules"
5387 echocheck
"V4L2 MPEG Decoder"
5388 if test "$_v4l2" = auto
; then
5391 #include <inttypes.h>
5392 #include <linux/types.h>
5393 #include <linux/videodev2.h>
5394 #include <linux/version.h>
5396 #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,22)
5397 #error kernel headers too old, need 2.6.22
5399 struct v4l2_ext_controls ctrls;
5400 ctrls.ctrl_class = V4L2_CTRL_CLASS_MPEG;
5405 cc_check
&& _v4l2
=yes
5407 if test "$_v4l2" = yes ; then
5408 def_v4l2
='#define CONFIG_V4L2_DECODER 1'
5409 _vomodules
="v4l2 $_vomodules"
5410 _aomodules
="v4l2 $_aomodules"
5412 def_v4l2
='#undef CONFIG_V4L2_DECODER'
5413 _novomodules
="v4l2 $_novomodules"
5414 _noaomodules
="v4l2 $_noaomodules"
5425 echocheck
"OSS Audio"
5426 if test "$_ossaudio" = auto
; then
5428 #include <sys/ioctl.h>
5429 #include <$_soundcard_header>
5430 int main(void) { int arg = SNDCTL_DSP_SETFRAGMENT; return 0; }
5433 cc_check
&& _ossaudio
=yes
5435 if test "$_ossaudio" = yes ; then
5436 def_ossaudio
='#define CONFIG_OSS_AUDIO 1'
5437 _aomodules
="oss $_aomodules"
5438 if test "$_linux_devfs" = yes; then
5439 def_ossaudio_devdsp
='#define PATH_DEV_DSP "/dev/sound/dsp"'
5440 def_ossaudio_devmixer
='#define PATH_DEV_MIXER "/dev/sound/mixer"'
5443 #include <sys/ioctl.h>
5444 #include <$_soundcard_header>
5445 #ifdef OPEN_SOUND_SYSTEM
5446 int main(void) { return 0; }
5448 #error Not the real thing
5452 cc_check
&& _real_ossaudio
=yes
5453 if test "$_real_ossaudio" = yes; then
5454 def_ossaudio_devdsp
='#define PATH_DEV_DSP "/dev/dsp"'
5455 elif netbsd || openbsd
; then
5456 def_ossaudio_devdsp
='#define PATH_DEV_DSP "/dev/sound"'
5457 extra_ldflags
="$extra_ldflags -lossaudio"
5459 def_ossaudio_devdsp
='#define PATH_DEV_DSP "/dev/dsp"'
5461 def_ossaudio_devmixer
='#define PATH_DEV_MIXER "/dev/mixer"'
5464 def_ossaudio
='#undef CONFIG_OSS_AUDIO'
5465 def_ossaudio_devdsp
='#define PATH_DEV_DSP ""'
5466 def_ossaudio_devmixer
='#define PATH_DEV_MIXER ""'
5467 _noaomodules
="oss $_noaomodules"
5469 echores
"$_ossaudio"
5473 if test "$_arts" = auto
; then
5475 if ( artsc-config
--version ) >> "$TMPLOG" 2>&1 ; then
5479 int main(void) { return 0; }
5481 cc_check $
(artsc-config
--libs) $
(artsc-config
--cflags) && _arts
=yes
5486 if test "$_arts" = yes ; then
5487 def_arts
='#define CONFIG_ARTS 1'
5488 _aomodules
="arts $_aomodules"
5489 libs_mplayer
="$libs_mplayer $(artsc-config --libs)"
5490 extra_cflags
="$extra_cflags $(artsc-config --cflags)"
5492 _noaomodules
="arts $_noaomodules"
5498 if test "$_esd" = auto
; then
5500 if ( esd-config
--version ) >> "$TMPLOG" 2>&1 ; then
5504 int main(void) { int fd = esd_open_sound("test"); return fd; }
5506 cc_check $
(esd-config
--libs) $
(esd-config
--cflags) && _esd
=yes
5512 if test "$_esd" = yes ; then
5513 def_esd
='#define CONFIG_ESD 1'
5514 _aomodules
="esd $_aomodules"
5515 libs_mplayer
="$libs_mplayer $(esd-config --libs)"
5516 extra_cflags
="$extra_cflags $(esd-config --cflags)"
5518 echocheck
"esd_get_latency()"
5521 int main(void) { return esd_get_latency(0); }
5523 cc_check $
(esd-config
--libs) $
(esd-config
--cflags) && _esd_latency
=yes && def_esd_latency
='#define CONFIG_ESD_LATENCY 1'
5524 echores
"$_esd_latency"
5526 def_esd
='#undef CONFIG_ESD'
5527 def_esd_latency
='#undef CONFIG_ESD_LATENCY'
5528 _noaomodules
="esd $_noaomodules"
5533 if test "$_nas" = auto
; then
5535 #include <audio/audiolib.h>
5536 int main(void) { return 0; }
5539 cc_check
$_ld_lm -laudio -lXt && _nas
=yes
5541 if test "$_nas" = yes ; then
5542 def_nas
='#define CONFIG_NAS 1'
5543 libs_mplayer
="$libs_mplayer -laudio -lXt"
5544 _aomodules
="nas $_aomodules"
5546 _noaomodules
="nas $_noaomodules"
5547 def_nas
='#undef CONFIG_NAS'
5553 if test "$_pulse" = auto
; then
5555 if $_pkg_config --exists 'libpulse >= 0.9' ; then
5558 #include <pulse/pulseaudio.h>
5559 int main(void) { return 0; }
5561 cc_check $
($_pkg_config --libs --cflags libpulse
) && _pulse
=yes
5567 if test "$_pulse" = yes ; then
5568 def_pulse
='#define CONFIG_PULSE 1'
5569 _aomodules
="pulse $_aomodules"
5570 libs_mplayer
="$libs_mplayer $($_pkg_config --libs libpulse)"
5571 extra_cflags
="$extra_cflags $($_pkg_config --cflags libpulse)"
5573 def_pulse
='#undef CONFIG_PULSE'
5574 _noaomodules
="pulse $_noaomodules"
5579 if test "$_jack" = auto
; then
5583 #include <jack/jack.h>
5584 int main(void) { jack_client_open("test", JackUseExactName, NULL); return 0; }
5586 if cc_check
-ljack ; then
5587 libs_mplayer
="$libs_mplayer -ljack"
5588 elif cc_check $
($_pkg_config --libs --cflags --silence-errors jack
) ; then
5589 libs_mplayer
="$libs_mplayer $($_pkg_config --libs jack)"
5590 extra_cflags
="$extra_cflags "$
($_pkg_config --cflags jack
)""
5596 if test "$_jack" = yes ; then
5597 def_jack
='#define CONFIG_JACK 1'
5598 _aomodules
="jack $_aomodules"
5600 _noaomodules
="jack $_noaomodules"
5605 if test "$_openal" = auto
; then
5609 #include <OpenAL/al.h>
5614 alSourceQueueBuffers(0, 0, 0);
5615 // alGetSourcei(0, AL_SAMPLE_OFFSET, 0);
5619 for I
in "-lopenal" "-lopenal32" "-framework OpenAL" ; do
5620 cc_check
$I && _openal
=yes && break
5621 cc_check
-DOPENAL_AL_H=1 $I && def_openal_h
='#define OPENAL_AL_H 1' && _openal
=yes && break
5623 test "$_openal" = yes && libs_mplayer
="$libs_mplayer $I"
5625 if test "$_openal" = yes ; then
5626 def_openal
='#define CONFIG_OPENAL 1'
5627 _aomodules
="openal $_aomodules"
5629 _noaomodules
="openal $_noaomodules"
5633 echocheck
"ALSA audio"
5634 if test "$_alloca" != yes ; then
5636 _res_comment
="alloca missing"
5638 if test "$_alsa" != no
; then
5641 #include <sys/time.h>
5642 #include <sys/asoundlib.h>
5643 #if !((SND_LIB_MAJOR == 0) && (SND_LIB_MINOR == 5))
5644 #error "alsa version != 0.5.x"
5646 int main(void) { return 0; }
5648 cc_check
-lasound $_ld_dl $_ld_pthread && _alsaver
='0.5.x'
5651 #include <sys/time.h>
5652 #include <sys/asoundlib.h>
5653 #if !((SND_LIB_MAJOR == 0) && (SND_LIB_MINOR == 9))
5654 #error "alsa version != 0.9.x"
5656 int main(void) { return 0; }
5658 cc_check
-lasound $_ld_dl $_ld_pthread && _alsaver
='0.9.x-sys'
5660 #include <sys/time.h>
5661 #include <alsa/asoundlib.h>
5662 #if !((SND_LIB_MAJOR == 0) && (SND_LIB_MINOR == 9))
5663 #error "alsa version != 0.9.x"
5665 int main(void) { return 0; }
5667 cc_check
-lasound $_ld_dl $_ld_pthread && _alsaver
='0.9.x-alsa'
5670 #include <sys/time.h>
5671 #include <sys/asoundlib.h>
5672 #if !((SND_LIB_MAJOR == 1) && (SND_LIB_MINOR == 0))
5673 #error "alsa version != 1.0.x"
5675 int main(void) { return 0; }
5677 cc_check
-lasound $_ld_dl $_ld_pthread && _alsaver
='1.0.x-sys'
5679 #include <sys/time.h>
5680 #include <alsa/asoundlib.h>
5681 #if !((SND_LIB_MAJOR == 1) && (SND_LIB_MINOR == 0))
5682 #error "alsa version != 1.0.x"
5684 int main(void) { return 0; }
5686 cc_check
-lasound $_ld_dl $_ld_pthread && _alsaver
='1.0.x-alsa'
5688 def_alsa
='#undef CONFIG_ALSA'
5689 def_alsa5
='#undef CONFIG_ALSA5'
5690 def_alsa9
='#undef CONFIG_ALSA9'
5691 def_alsa1x
='#undef CONFIG_ALSA1X'
5692 def_sys_asoundlib_h
='#undef HAVE_SYS_ASOUNDLIB_H'
5693 def_alsa_asoundlib_h
='#undef HAVE_ALSA_ASOUNDLIB_H'
5694 if test "$_alsaver" ; then
5696 if test "$_alsaver" = '0.5.x' ; then
5698 _aomodules
="alsa5 $_aomodules"
5699 def_alsa5
='#define CONFIG_ALSA5 1'
5700 def_sys_asoundlib_h
='#define HAVE_SYS_ASOUNDLIB_H 1'
5701 _res_comment
="using alsa 0.5.x and sys/asoundlib.h"
5702 elif test "$_alsaver" = '0.9.x-sys' ; then
5704 _aomodules
="alsa $_aomodules"
5705 def_alsa
='#define CONFIG_ALSA 1'
5706 def_alsa9
='#define CONFIG_ALSA9 1'
5707 def_sys_asoundlib_h
='#define HAVE_SYS_ASOUNDLIB_H 1'
5708 _res_comment
="using alsa 0.9.x and sys/asoundlib.h"
5709 elif test "$_alsaver" = '0.9.x-alsa' ; then
5711 _aomodules
="alsa $_aomodules"
5712 def_alsa
='#define CONFIG_ALSA 1'
5713 def_alsa9
='#define CONFIG_ALSA9 1'
5714 def_alsa_asoundlib_h
='#define HAVE_ALSA_ASOUNDLIB_H 1'
5715 _res_comment
="using alsa 0.9.x and alsa/asoundlib.h"
5716 elif test "$_alsaver" = '1.0.x-sys' ; then
5718 _aomodules
="alsa $_aomodules"
5719 def_alsa
='#define CONFIG_ALSA 1'
5720 def_alsa1x
="#define CONFIG_ALSA1X 1"
5721 def_alsa_asoundlib_h
='#define HAVE_SYS_ASOUNDLIB_H 1'
5722 _res_comment
="using alsa 1.0.x and sys/asoundlib.h"
5723 elif test "$_alsaver" = '1.0.x-alsa' ; then
5725 _aomodules
="alsa $_aomodules"
5726 def_alsa
='#define CONFIG_ALSA 1'
5727 def_alsa1x
="#define CONFIG_ALSA1X 1"
5728 def_alsa_asoundlib_h
='#define HAVE_ALSA_ASOUNDLIB_H 1'
5729 _res_comment
="using alsa 1.0.x and alsa/asoundlib.h"
5732 _res_comment
="unknown version"
5734 extra_ldflags
="$extra_ldflags -lasound $_ld_dl $_ld_pthread"
5736 _noaomodules
="alsa $_noaomodules"
5741 echocheck
"Sun audio"
5742 if test "$_sunaudio" = auto
; then
5744 #include <sys/types.h>
5745 #include <sys/audioio.h>
5746 int main(void) { audio_info_t info; AUDIO_INITINFO(&info); return 0; }
5749 cc_check
&& _sunaudio
=yes
5751 if test "$_sunaudio" = yes ; then
5752 def_sunaudio
='#define CONFIG_SUN_AUDIO 1'
5753 _aomodules
="sun $_aomodules"
5755 def_sunaudio
='#undef CONFIG_SUN_AUDIO'
5756 _noaomodules
="sun $_noaomodules"
5758 echores
"$_sunaudio"
5761 def_mlib
='#define CONFIG_MLIB 0'
5763 echocheck
"Sun mediaLib"
5764 if test "$_mlib" = auto
; then
5768 int main(void) { mlib_VideoColorYUV2ABGR420(0,0,0,0,0,0,0,0,0); return 0; }
5770 cc_check
-lmlib && _mlib
=yes && def_mlib
='#define CONFIG_MLIB 1'
5777 echocheck
"CoreAudio"
5778 if test "$_coreaudio" = auto
; then
5780 #include <CoreAudio/CoreAudio.h>
5781 #include <AudioToolbox/AudioToolbox.h>
5782 #include <AudioUnit/AudioUnit.h>
5783 int main(void) { return 0; }
5786 cc_check
-framework CoreAudio
-framework AudioUnit
-framework AudioToolbox
&& _coreaudio
=yes
5788 if test "$_coreaudio" = yes ; then
5789 libs_mplayer
="$libs_mplayer -framework CoreAudio -framework AudioUnit -framework AudioToolbox"
5790 def_coreaudio
='#define CONFIG_COREAUDIO 1'
5791 _aomodules
="coreaudio $_aomodules"
5793 def_coreaudio
='#undef CONFIG_COREAUDIO'
5794 _noaomodules
="coreaudio $_noaomodules"
5801 echocheck
"SGI audio"
5802 if test "$_sgiaudio" = auto
; then
5803 # check for SGI audio
5805 #include <dmedia/audio.h>
5806 int main(void) { return 0; }
5809 cc_check
&& _sgiaudio
=yes
5811 if test "$_sgiaudio" = "yes" ; then
5812 def_sgiaudio
='#define CONFIG_SGI_AUDIO 1'
5813 libs_mplayer
="$libs_mplayer -laudio"
5814 _aomodules
="sgi $_aomodules"
5816 def_sgiaudio
='#undef CONFIG_SGI_AUDIO'
5817 _noaomodules
="sgi $_noaomodules"
5819 echores
"$_sgiaudio"
5825 if test "$_dart" = auto
; then
5829 int main( void ) { return 0; }
5832 cc_check
-ldart && _dart
=yes
5834 if test "$_dart" = yes ; then
5835 def_dart
='#define CONFIG_DART 1'
5836 libs_mplayer
="$libs_mplayer -ldart"
5837 _aomodules
="dart $_aomodules"
5839 def_dart
='#undef CONFIG_DART'
5840 _noaomodules
="dart $_noaomodules"
5846 # set default CD/DVD devices
5847 if win32 || os2
; then
5848 default_cdrom_device
="D:"
5850 default_cdrom_device
="/dev/disk1"
5851 elif dragonfly
; then
5852 default_cdrom_device
="/dev/cd0"
5854 default_cdrom_device
="/dev/acd0"
5856 default_cdrom_device
="/dev/rcd0a"
5858 default_cdrom_device
="/vol/dev/aliases/cdrom0"
5859 # Modern Solaris versions use HAL instead of the vold daemon, the volfs
5860 # file system and the volfs service.
5861 test -r "/cdrom/cdrom0" && default_cdrom_device
="/cdrom/cdrom0"
5863 default_cdrom_device
="a1ide.device:2"
5865 default_cdrom_device
="/dev/cdrom"
5868 if win32 || os2 || dragonfly || freebsd || openbsd || sunos || amigaos
; then
5869 default_dvd_device
=$default_cdrom_device
5871 default_dvd_device
="/dev/rdiskN"
5873 default_dvd_device
="/dev/dvd"
5877 echocheck
"VCD support"
5878 if test "$_vcd" = auto
; then
5880 if linux || freebsd || netbsd || openbsd || dragonfly || bsdos || darwin || sunos
; then
5884 #include <ddk/ntddcdrm.h>
5885 int main(void) { return 0; }
5887 cc_check
&& _vcd
=yes
5890 if test "$_vcd" = yes; then
5891 _inputmodules
="vcd $_inputmodules"
5892 def_vcd
='#define CONFIG_VCD 1'
5894 def_vcd
='#undef CONFIG_VCD'
5895 _noinputmodules
="vcd $_noinputmodules"
5896 _res_comment
="not supported on this OS"
5903 if test "$_dvdread_internal" = auto
; then
5904 _dvdread_internal
=no
5906 if (linux || freebsd || netbsd || openbsd || dragonfly || sunos || hpux
) \
5907 && (test "$_dvd" = yes ||
test "$_cdrom" = yes ||
test "$_cdio" = yes || \
5908 test "$_dvdio" = yes ||
test "$_bsdi_dvd" = yes) \
5909 || darwin || win32 || os2
; then
5910 _dvdread_internal
=yes
5912 extra_cflags
="-Ilibdvdread4 $extra_cflags"
5914 elif test "$_dvdread" = auto
; then
5916 if test "$_dl" = yes; then
5918 #include <inttypes.h>
5919 #include <dvdread/dvd_reader.h>
5920 #include <dvdread/ifo_types.h>
5921 #include <dvdread/ifo_read.h>
5922 #include <dvdread/nav_read.h>
5923 int main(void) { return 0; }
5925 _dvdreadcflags
=$
($_dvdreadconfig --cflags)
5926 _dvdreadlibs
=$
($_dvdreadconfig --libs)
5927 if cc_check
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE \
5928 $_dvdreadcflags $_dvdreadlibs $_ld_dl ; then
5930 extra_cflags
="$extra_cflags $_dvdreadcflags"
5931 extra_ldflags
="$extra_ldflags $_dvdreadlibs"
5932 _res_comment
="external"
5937 if test "$_dvdread_internal" = yes; then
5938 def_dvdread
='#define CONFIG_DVDREAD 1'
5939 _inputmodules
="dvdread(internal) $_inputmodules"
5941 _res_comment
="internal"
5942 elif test "$_dvdread" = yes; then
5943 def_dvdread
='#define CONFIG_DVDREAD 1'
5945 extra_ldflags
="$extra_ldflags -ldvdread"
5946 _inputmodules
="dvdread(external) $_inputmodules"
5947 _res_comment
="external"
5949 def_dvdread
='#undef CONFIG_DVDREAD'
5950 _noinputmodules
="dvdread $_noinputmodules"
5955 echocheck
"internal libdvdcss"
5956 if test "$_libdvdcss_internal" = auto
; then
5957 _libdvdcss_internal
=no
5958 test "$_dvdread_internal" = yes && _libdvdcss_internal
=yes
5959 hpux
&& test "$_hpux_scsi_h" = no
&& _libdvdcss_internal
=no
5961 if test "$_libdvdcss_internal" = yes ; then
5962 if linux || netbsd || openbsd || bsdos
; then
5963 def_dvd_linux
='#define HAVE_LINUX_DVD_STRUCT 1'
5964 openbsd
&& def_dvd_openbsd
='#define HAVE_OPENBSD_DVD_STRUCT 1'
5965 elif freebsd || dragonfly
; then
5966 def_dvd_bsd
='#define HAVE_BSD_DVD_STRUCT 1'
5968 def_dvd_darwin
='#define DARWIN_DVD_IOCTL'
5969 extra_ldflags
="$extra_ldflags -framework IOKit -framework Carbon"
5971 cflags_libdvdcss
="-DSYS_CYGWIN -DWIN32"
5973 cflags_libdvdcss
="-DSYS_BEOS"
5975 cflags_libdvdcss
="-DSYS_OS2"
5977 cflags_libdvdcss_dvdread
="-Ilibdvdcss"
5978 def_dvdcss
="#define HAVE_DVDCSS_DVDCSS_H 1"
5979 _inputmodules
="libdvdcss(internal) $_inputmodules"
5982 _noinputmodules
="libdvdcss(internal) $_noinputmodules"
5984 echores
"$_libdvdcss_internal"
5987 echocheck
"cdparanoia"
5988 if test "$_cdparanoia" = auto
; then
5990 #include <cdda_interface.h>
5991 #include <cdda_paranoia.h>
5992 // This need a better test. How ?
5993 int main(void) { void *test = cdda_verbose_set; return test == (void *)1; }
5996 for _inc_tmp
in "" "-I/usr/include/cdda" "-I/usr/local/include/cdda" ; do
5997 cc_check
$_inc_tmp -lcdda_interface -lcdda_paranoia $_ld_lm && \
5998 _cdparanoia
=yes && extra_cflags
="$extra_cflags $_inc_tmp" && break
6001 if test "$_cdparanoia" = yes ; then
6003 extra_ldflags
="$extra_ldflags -lcdda_interface -lcdda_paranoia"
6004 openbsd
&& extra_ldflags
="$extra_ldflags -lutil"
6006 echores
"$_cdparanoia"
6010 if test "$_libcdio" = auto
&& test "$_cdparanoia" = no
; then
6013 #include <cdio/version.h>
6014 #include <cdio/cdda.h>
6015 #include <cdio/paranoia.h>
6017 void *test = cdda_verbose_set;
6018 printf("%s\n", CDIO_VERSION);
6019 return test == (void *)1;
6023 for _ld_tmp
in "" "-lwinmm" ; do
6024 _ld_tmp
="-lcdio_cdda -lcdio -lcdio_paranoia $_ld_tmp"
6025 cc_check
$_ld_tmp $_ld_lm \
6026 && _libcdio
=yes && extra_ldflags
="$extra_ldflags $_ld_tmp" && break
6028 if test "$_libcdio" = no
&& $_pkg_config --exists libcdio_paranoia
; then
6029 _inc_tmp
=$
($_pkg_config --cflags libcdio_paranoia
)
6030 _ld_tmp
=$
($_pkg_config --libs libcdio_paranoia
)
6031 cc_check
$_inc_tmp $_ld_tmp $_ld_lm && _libcdio
=yes \
6032 && extra_ldflags
="$extra_ldflags $_ld_tmp" && extra_cflags
="$extra_cflags $_inc_tmp"
6035 if test "$_libcdio" = yes && test "$_cdparanoia" = no
; then
6037 def_libcdio
='#define CONFIG_LIBCDIO 1'
6038 def_havelibcdio
='yes'
6040 if test "$_cdparanoia" = yes ; then
6041 _res_comment
="using cdparanoia"
6043 def_libcdio
='#undef CONFIG_LIBCDIO'
6044 def_havelibcdio
='no'
6048 if test "$_cdda" = yes ; then
6049 test $_cddb = auto
&& test $_network = yes && _cddb
=yes
6050 def_cdparanoia
='#define CONFIG_CDDA 1'
6051 _inputmodules
="cdda $_inputmodules"
6053 def_cdparanoia
='#undef CONFIG_CDDA'
6054 _noinputmodules
="cdda $_noinputmodules"
6057 if test "$_cddb" = yes ; then
6058 def_cddb
='#define CONFIG_CDDB 1'
6059 _inputmodules
="cddb $_inputmodules"
6062 def_cddb
='#undef CONFIG_CDDB'
6063 _noinputmodules
="cddb $_noinputmodules"
6066 echocheck
"bitmap font support"
6067 if test "$_bitmap_font" = yes ; then
6068 def_bitmap_font
="#define CONFIG_BITMAP_FONT 1"
6070 def_bitmap_font
="#undef CONFIG_BITMAP_FONT"
6072 echores
"$_bitmap_font"
6075 echocheck
"freetype >= 2.0.9"
6077 # freetype depends on iconv
6078 if test "$_iconv" = no
; then
6080 _res_comment
="iconv support needed"
6083 if test "$_freetype" = auto
; then
6084 if ( $_freetypeconfig --version ) >/dev
/null
2>&1 ; then
6087 #include <ft2build.h>
6088 #include FT_FREETYPE_H
6089 #if ((FREETYPE_MAJOR < 2) || ((FREETYPE_MINOR == 0) && (FREETYPE_PATCH < 9)))
6090 #error "Need FreeType 2.0.9 or newer"
6094 FT_Int major=-1,minor=-1,patch=-1;
6095 int err=FT_Init_FreeType(&library);
6100 cc_check $
($_freetypeconfig --cflags) $
($_freetypeconfig --libs) && _freetype
=yes
6105 if test "$_freetype" = yes ; then
6106 def_freetype
='#define CONFIG_FREETYPE 1'
6107 extra_cflags
="$extra_cflags $($_freetypeconfig --cflags)"
6108 extra_ldflags
="$extra_ldflags $($_freetypeconfig --libs)"
6110 def_freetype
='#undef CONFIG_FREETYPE'
6112 echores
"$_freetype"
6114 if test "$_freetype" = no
; then
6116 _res_comment
="FreeType support needed"
6118 echocheck
"fontconfig"
6119 if test "$_fontconfig" = auto
; then
6123 #include <fontconfig/fontconfig.h>
6126 if (err == FcFalse) {
6127 printf("Couldn't initialize fontconfig lib\n");
6134 for _ld_tmp
in "" "-lexpat -lfreetype" "-lexpat -lfreetype -lz" ; do
6135 _ld_tmp
="-lfontconfig $_ld_tmp"
6136 cc_check
$_ld_tmp && _fontconfig
=yes && extra_ldflags
="$extra_ldflags $_ld_tmp" && break
6138 if test "$_fontconfig" = no
&& $_pkg_config --exists fontconfig
; then
6139 _inc_tmp
=$
($_pkg_config --cflags fontconfig
)
6140 _ld_tmp
=$
($_pkg_config --libs fontconfig
)
6141 cc_check
$_inc_tmp $_ld_tmp && _fontconfig
=yes \
6142 && extra_ldflags
="$extra_ldflags $_ld_tmp" && extra_cflags
="$extra_cflags $_inc_tmp"
6145 if test "$_fontconfig" = yes ; then
6146 def_fontconfig
='#define CONFIG_FONTCONFIG 1'
6148 def_fontconfig
='#undef CONFIG_FONTCONFIG'
6150 echores
"$_fontconfig"
6153 echocheck
"SSA/ASS support"
6154 # libass depends on FreeType
6155 if test "$_freetype" = no
; then
6157 _res_comment
="FreeType support needed"
6160 if test "$_ass" = auto
; then
6162 #include <ft2build.h>
6163 #include FT_FREETYPE_H
6164 #if ((FREETYPE_MAJOR < 2) || (FREETYPE_MINOR < 1) || ((FREETYPE_MINOR == 1) && (FREETYPE_PATCH < 8)))
6165 #error "Need FreeType 2.1.8 or newer"
6167 int main(void) { return 0; }
6170 cc_check $
($_freetypeconfig --cflags) $
($_freetypeconfig --libs) && _ass
=yes
6171 if test "$_ass" = no
; then
6172 _res_comment
="FreeType >= 2.1.8 needed"
6173 elif test "$ass_internal" = no
; then
6174 _res_comment
="external"
6175 extra_ldflags
="$extra_ldflags -lass"
6178 if test "$_ass" = yes ; then
6179 def_ass
='#define CONFIG_ASS 1'
6181 def_ass
='#undef CONFIG_ASS'
6183 if test "$ass_internal" = yes ; then
6184 def_ass_internal
='#define CONFIG_ASS_INTERNAL 1'
6186 def_ass_internal
='#undef CONFIG_ASS_INTERNAL'
6191 echocheck
"fribidi with charsets"
6192 if test "$_fribidi" = auto
; then
6193 if ( $_fribidiconfig --version ) >/dev
/null
2>&1 ; then
6196 /* workaround for fribidi 0.10.4 and below */
6197 #define FRIBIDI_CHARSET_UTF8 FRIBIDI_CHAR_SET_UTF8
6198 #include <fribidi/fribidi.h>
6200 if (fribidi_parse_charset("UTF-8") != FRIBIDI_CHAR_SET_UTF8) {
6201 printf("Fribidi headers are not consistents with the library!\n");
6208 cc_check $
($_fribidiconfig --cflags) $
($_fribidiconfig --libs) && _fribidi
=yes
6213 if test "$_fribidi" = yes ; then
6214 def_fribidi
='#define CONFIG_FRIBIDI 1'
6215 extra_cflags
="$extra_cflags $($_fribidiconfig --cflags)"
6216 extra_ldflags
="$extra_ldflags $($_fribidiconfig --libs)"
6218 def_fribidi
='#undef CONFIG_FRIBIDI'
6224 if test "$_enca" = auto
; then
6226 #include <sys/types.h>
6231 langs = enca_get_languages(&langcnt);
6236 cc_check
-lenca $_ld_lm && _enca
=yes
6238 if test "$_enca" = yes ; then
6239 def_enca
='#define CONFIG_ENCA 1'
6240 extra_ldflags
="$extra_ldflags -lenca"
6242 def_enca
='#undef CONFIG_ENCA'
6250 int main(void) { (void) inflate(0, Z_NO_FLUSH); return 0; }
6253 cc_check
-lz && _zlib
=yes
6254 if test "$_zlib" = yes ; then
6255 def_zlib
='#define CONFIG_ZLIB 1'
6256 extra_ldflags
="$extra_ldflags -lz"
6258 def_zlib
='#define CONFIG_ZLIB 0'
6259 _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
//)
6260 _libavencoders
=$
(echo $_libavencoders |
sed -e s
/FLASHSV_ENCODER
// -e s
/PNG_ENCODER
// -e s
/ZMBV_ENCODER
// -e s
/ZLIB_ENCODER
//)
6267 def_bzlib
='#define CONFIG_BZLIB 0'
6270 int main(void) { BZ2_bzlibVersion(); return 0; }
6272 cc_check
-lbz2 && bzlib
=yes
6273 if test "$bzlib" = yes ; then
6274 def_bzlib
='#define CONFIG_BZLIB 1'
6275 extra_ldflags
="$extra_ldflags -lbz2"
6281 if test "$_rtc" = auto
; then
6283 #include <sys/ioctl.h>
6285 #include <linux/rtc.h>
6288 #define RTC_PIE_ON RTCIO_PIE_ON
6290 int main(void) { return RTC_PIE_ON; }
6293 cc_check
&& _rtc
=yes
6296 if test "$_rtc" = yes ; then
6297 def_rtc
='#define HAVE_RTC 1'
6299 def_rtc
='#undef HAVE_RTC'
6304 echocheck
"liblzo2 support"
6305 if test "$_liblzo" = auto
; then
6308 #include <lzo/lzo1x.h>
6309 int main(void) { lzo_init();return 0; }
6311 cc_check
-llzo2 && _liblzo
=yes
6313 if test "$_liblzo" = yes ; then
6314 def_liblzo
='#define CONFIG_LIBLZO 1'
6315 extra_ldflags
="$extra_ldflags -llzo2"
6316 _codecmodules
="liblzo $_codecmodules"
6318 def_liblzo
='#undef CONFIG_LIBLZO'
6319 _nocodecmodules
="liblzo $_nocodecmodules"
6324 echocheck
"mad support"
6325 if test "$_mad" = auto
; then
6329 int main(void) { return 0; }
6331 cc_check
-lmad && _mad
=yes
6333 if test "$_mad" = yes ; then
6334 def_mad
='#define CONFIG_LIBMAD 1'
6335 extra_ldflags
="$extra_ldflags -lmad"
6336 _codecmodules
="libmad $_codecmodules"
6338 def_mad
='#undef CONFIG_LIBMAD'
6339 _nocodecmodules
="libmad $_nocodecmodules"
6344 if test "$_twolame" = auto
; then
6346 #include <twolame.h>
6347 int main(void) { twolame_init(); return 0; }
6350 cc_check
-ltwolame $_ld_lm && _twolame
=yes
6352 if test "$_twolame" = yes ; then
6353 def_twolame
='#define CONFIG_TWOLAME 1'
6354 libs_mencoder
="$libs_mencoder -ltwolame"
6355 _codecmodules
="twolame $_codecmodules"
6357 def_twolame
='#undef CONFIG_TWOLAME'
6358 _nocodecmodules
="twolame $_nocodecmodules"
6363 if test "$_toolame" = auto
; then
6365 if test "$_twolame" = yes ; then
6366 _res_comment
="disabled by twolame"
6369 #include <toolame.h>
6370 int main(void) { toolame_init(); return 0; }
6372 cc_check
-ltoolame $_ld_lm && _toolame
=yes
6375 if test "$_toolame" = yes ; then
6376 def_toolame
='#define CONFIG_TOOLAME 1'
6377 libs_mencoder
="$libs_mencoder -ltoolame"
6378 _codecmodules
="toolame $_codecmodules"
6380 def_toolame
='#undef CONFIG_TOOLAME'
6381 _nocodecmodules
="toolame $_nocodecmodules"
6383 if test "$_toolamedir" ; then
6384 _res_comment
="using $_toolamedir"
6388 echocheck
"OggVorbis support"
6389 if test "$_tremor_internal" = yes; then
6391 elif test "$_tremor" = auto
; then
6394 #include <tremor/ivorbiscodec.h>
6395 int main(void) { vorbis_packet_blocksize(0,0); return 0; }
6397 cc_check
-logg -lvorbisidec $_ld_lm && _tremor
=yes && _libvorbis
=no
6399 if test "$_libvorbis" = auto
; then
6402 #include <vorbis/codec.h>
6403 int main(void) { vorbis_packet_blocksize(0,0); return 0; }
6405 cc_check
-lvorbis -logg $_ld_lm && _libvorbis
=yes
6407 if test "$_tremor_internal" = yes ; then
6409 def_vorbis
='#define CONFIG_OGGVORBIS 1'
6410 def_tremor
='#define CONFIG_TREMOR 1'
6411 _codecmodules
="tremor(internal) $_codecmodules"
6412 _res_comment
="internal Tremor"
6413 if test "$_tremor_low" = yes ; then
6414 cflags_tremor_low
="-D_LOW_ACCURACY_"
6415 _res_comment
="internal low accuracy Tremor"
6417 elif test "$_tremor" = yes ; then
6419 def_vorbis
='#define CONFIG_OGGVORBIS 1'
6420 def_tremor
='#define CONFIG_TREMOR 1'
6421 _codecmodules
="tremor(external) $_codecmodules"
6422 _res_comment
="external Tremor"
6423 extra_ldflags
="$extra_ldflags -logg -lvorbisidec"
6424 elif test "$_libvorbis" = yes ; then
6426 def_vorbis
='#define CONFIG_OGGVORBIS 1'
6427 _codecmodules
="libvorbis $_codecmodules"
6428 _res_comment
="libvorbis"
6429 extra_ldflags
="$extra_ldflags -lvorbis -logg"
6432 _nocodecmodules
="libvorbis $_nocodecmodules"
6436 echocheck
"libspeex (version >= 1.1 required)"
6437 if test "$_speex" = auto
; then
6440 #include <speex/speex.h>
6441 int main(void) { SpeexBits bits; void *dec; speex_decode_int(dec, &bits, dec); return 0; }
6443 cc_check
-lspeex $_ld_lm && _speex
=yes
6445 if test "$_speex" = yes ; then
6446 def_speex
='#define CONFIG_SPEEX 1'
6447 extra_ldflags
="$extra_ldflags -lspeex"
6448 _codecmodules
="speex $_codecmodules"
6450 def_speex
='#undef CONFIG_SPEEX'
6451 _nocodecmodules
="speex $_nocodecmodules"
6455 echocheck
"OggTheora support"
6456 if test "$_theora" = auto
; then
6459 #include <theora/theora.h>
6462 /* Theora is in flux, make sure that all interface routines and datatypes
6463 * exist and work the way we expect it, so we don't break MPlayer. */
6472 theora_info_init(&inf);
6473 theora_comment_init(&tc);
6477 /* we don't want to execute this kind of nonsense; just for making sure
6478 * that compilation works... */
6479 memset(&op, 0, sizeof(op));
6480 r = theora_decode_header(&inf, &tc, &op);
6481 r = theora_decode_init(&st, &inf);
6482 t = theora_granule_time(&st, op.granulepos);
6483 r = theora_decode_packetin(&st, &op);
6484 r = theora_decode_YUVout(&st, &yuv);
6490 _ld_theora
=$
($_pkg_config --silence-errors --libs theora
)
6491 _inc_theora
=$
($_pkg_config --silence-errors --cflags theora
)
6492 cc_check
$_inc_theora $_ld_theora && extra_ldflags
="$extra_ldflags $_ld_theora" &&
6493 extra_cflags
="$extra_cflags $_inc_theora" && _theora
=yes
6494 if test _theora
= no
; then
6495 _ld_theora
="-ltheora -logg"
6496 cc_check
$_ld_theora && extra_ldflags
="$extra_ldflags $_ld_theora" && _theora
=yes
6498 if test "$_theora" = no
&& test "$_tremor_internal" = yes; then
6499 _ld_theora
=$
($_pkg_config --silence-errors --libs theora
)
6500 _inc_theora
=$
($_pkg_config --silence-errors --cflags theora
)
6501 cc_check tremor
/bitwise.c
$_inc_theora $_ld_theora &&
6502 extra_ldflags
="$extra_ldflags $_ld_theora" &&
6503 extra_cflags
="$extra_cflags $_inc_theora" && _theora
=yes
6504 if test _theora
= no
; then
6505 _ld_theora
="-ltheora -logg"
6506 cc_check tremor
/bitwise.c
$_ld_theora &&
6507 extra_ldflags
="$extra_ldflags $_ld_theora" && _theora
=yes
6511 if test "$_theora" = yes ; then
6512 def_theora
='#define CONFIG_OGGTHEORA 1'
6513 _codecmodules
="libtheora $_codecmodules"
6514 # when --enable-theora is forced, we'd better provide a probably sane
6515 # $_ld_theora than nothing
6516 test -z "$_ld_theora" && extra_ldflags
="$extra_ldflags -ltheora -logg"
6518 def_theora
='#undef CONFIG_OGGTHEORA'
6519 _nocodecmodules
="libtheora $_nocodecmodules"
6523 echocheck
"internal mp3lib support"
6524 if test "$_mp3lib" = auto
; then
6525 test "$cc_vendor" = intel
&& test "$_cc_major" -le 10 -o "$_cc_major" -eq 11 -a "$_cc_minor" -eq 0 && _mp3lib
=no || _mp3lib
=yes
6527 if test "$_mp3lib" = yes ; then
6528 def_mp3lib
='#define CONFIG_MP3LIB 1'
6529 _codecmodules
="mp3lib(internal) $_codecmodules"
6531 def_mp3lib
='#undef CONFIG_MP3LIB'
6532 _nocodecmodules
="mp3lib(internal) $_nocodecmodules"
6536 echocheck
"liba52 support"
6537 if test "$_liba52_internal" = auto
; then
6538 test "$cc_vendor" = intel
&& test "$_cc_major" -le 10 -o "$_cc_major" -eq 11 -a "$_cc_minor" -eq 0 && _liba52_internal
=no || _liba52_internal
=yes
6540 def_liba52
='#undef CONFIG_LIBA52'
6541 def_liba52_internal
="#undef CONFIG_LIBA52_INTERNAL"
6542 if test "$_liba52_internal" = yes ; then
6544 def_liba52_internal
="#define CONFIG_LIBA52_INTERNAL 1"
6545 _res_comment
="internal"
6546 elif test "$_liba52_internal" = no
&& test "$_liba52" = auto
; then
6549 #include <inttypes.h>
6550 #include <a52dec/a52.h>
6551 int main(void) { a52_state_t *testHand; testHand=a52_init(0); return 0; }
6553 cc_check
-la52 && _liba52
=yes && _res_comment
="external" && extra_ldflags
="$extra_ldflags -la52"
6555 if test "$_liba52" = yes ; then
6556 def_liba52
='#define CONFIG_LIBA52 1'
6557 _codecmodules
="liba52($_res_comment) $_codecmodules"
6559 _nocodecmodules
="liba52 $_nocodecmodules"
6563 echocheck
"internal libmpeg2 support"
6564 if test "$_libmpeg2" = auto
; then
6566 if alpha
&& test cc_vendor
=gnu
; then
6568 2*|
3.0*|
3.1*) # cannot compile MVI instructions
6570 _res_comment
="broken gcc"
6575 if test "$_libmpeg2" = yes ; then
6576 def_libmpeg2
='#define CONFIG_LIBMPEG2 1'
6577 _codecmodules
="libmpeg2(internal) $_codecmodules"
6579 def_libmpeg2
='#undef CONFIG_LIBMPEG2'
6580 _nocodecmodules
="libmpeg2(internal) $_nocodecmodules"
6582 echores
"$_libmpeg2"
6584 echocheck
"libdca support"
6585 if test "$_libdca" = auto
; then
6588 #include <inttypes.h>
6590 int main(void) { dts_init(0); return 0; }
6592 for _ld_dca
in -ldts -ldca ; do
6593 cc_check
$_ld_dca $_ld_lm && extra_ldflags
="$extra_ldflags $_ld_dca" \
6594 && _libdca
=yes && break
6597 if test "$_libdca" = yes ; then
6598 def_libdca
='#define CONFIG_LIBDCA 1'
6599 _codecmodules
="libdca $_codecmodules"
6601 def_libdca
='#undef CONFIG_LIBDCA'
6602 _nocodecmodules
="libdca $_nocodecmodules"
6606 echocheck
"libmpcdec (musepack, version >= 1.2.1 required)"
6607 if test "$_musepack" = auto
; then
6611 #include <mpcdec/mpcdec.h>
6613 mpc_streaminfo info;
6614 mpc_decoder decoder;
6615 mpc_decoder_set_streaminfo(&decoder, &info);
6616 mpc_decoder_decode_frame(&decoder, NULL, 0, NULL);
6620 cc_check
-lmpcdec $_ld_lm && _musepack
=yes
6622 if test "$_musepack" = yes ; then
6623 def_musepack
='#define CONFIG_MUSEPACK 1'
6624 extra_ldflags
="$extra_ldflags -lmpcdec"
6625 _codecmodules
="musepack $_codecmodules"
6627 def_musepack
='#undef CONFIG_MUSEPACK'
6628 _nocodecmodules
="musepack $_nocodecmodules"
6630 echores
"$_musepack"
6633 echocheck
"FAAC support"
6634 if test "$_faac" = auto
; then
6636 #include <inttypes.h>
6638 int main(void) { unsigned long x, y; faacEncOpen(48000, 2, &x, &y); return 0; }
6641 for _ld_faac
in "-lfaac" "-lfaac -lmp4v2 -lstdc++" ; do
6642 cc_check
-O4 $_ld_faac $_ld_lm && libs_mencoder
="$libs_mencoder $_ld_faac" && _faac
=yes && break
6645 if test "$_faac" = yes ; then
6646 def_faac
="#define CONFIG_FAAC 1"
6647 test "$_faac_lavc" = auto
&& _faac_lavc
=yes
6648 if test "$_faac_lavc" = yes ; then
6649 def_faac_lavc
="#define CONFIG_LIBFAAC 1"
6650 libs_mplayer
="$libs_mplayer $_ld_faac"
6651 _libavencoders
="$_libavencoders LIBFAAC_ENCODER"
6653 _codecmodules
="faac $_codecmodules"
6656 def_faac
="#undef CONFIG_FAAC"
6657 def_faac_lavc
="#define CONFIG_LIBFAAC 0"
6658 _nocodecmodules
="faac $_nocodecmodules"
6660 _res_comment
="in libavcodec: $_faac_lavc"
6664 echocheck
"FAAD2 support"
6665 if test "$_faad_internal" = auto
; then
6666 if x86_32
&& test cc_vendor
=gnu
; then
6668 3.1*|
3.2) # ICE/insn with these versions
6670 _res_comment
="broken gcc"
6682 if test "$_faad" = auto
; then
6685 #ifndef FAAD_MIN_STREAMSIZE
6686 #error Too old version
6688 int main(void) { faacDecHandle testhand; faacDecFrameInfo testinfo;
6689 testhand = faacDecOpen(); faacDecInit(0, 0, 0, 0, 0); return 0; }
6691 cc_check
-lfaad $_ld_lm && _faad
=yes
6694 def_faad
='#undef CONFIG_FAAD'
6695 def_faad_internal
="#undef CONFIG_FAAD_INTERNAL"
6696 if test "$_faad_internal" = yes ; then
6697 def_faad_internal
="#define CONFIG_FAAD_INTERNAL 1"
6698 _res_comment
="internal floating-point"
6699 if test "$_faad_fixed" = yes ; then
6700 # The FIXED_POINT implementation of FAAD2 improves performance
6701 # on some platforms, especially for SBR files.
6702 cflags_faad_fixed
="-DFIXED_POINT"
6703 _res_comment
="internal fixed-point"
6705 elif test "$_faad" = yes ; then
6706 extra_ldflags
="$extra_ldflags -lfaad"
6709 if test "$_faad" = yes ; then
6710 def_faad
='#define CONFIG_FAAD 1'
6711 if test "$_faad_internal" = yes ; then
6712 _codecmodules
="faad2(internal) $_codecmodules"
6714 _codecmodules
="faad2 $_codecmodules"
6718 _nocodecmodules
="faad2 $_nocodecmodules"
6723 echocheck
"LADSPA plugin support"
6724 if test "$_ladspa" = auto
; then
6729 const LADSPA_Descriptor *ld = NULL;
6734 cc_check
&& _ladspa
=yes
6736 if test "$_ladspa" = yes; then
6737 def_ladspa
="#define CONFIG_LADSPA 1"
6739 def_ladspa
="#undef CONFIG_LADSPA"
6744 echocheck
"libbs2b audio filter support"
6745 if test "$_libbs2b" = auto
; then
6748 #if BS2B_VERSION_MAJOR < 3
6749 #error Please use libbs2b >= 3.0.0, older versions are not supported.
6759 if $_pkg_config --exists libbs2b
; then
6760 _inc_tmp
=$
($_pkg_config --cflags libbs2b
)
6761 _ld_tmp
=$
($_pkg_config --libs libbs2b
)
6762 cc_check
$_inc_tmp $_ld_tmp && extra_ldflags
="$extra_ldflags $_ld_tmp" &&
6763 extra_cflags
="$extra_cflags $_inc_tmp" && _libbs2b
=yes
6765 for _inc_tmp
in "" -I/usr
/include
/bs2b
-I/usr
/local
/include \
6766 -I/usr
/local
/include
/bs2b
; do
6767 if cc_check
$_inc_tmp $_ld_lm -lbs2b ; then
6768 extra_ldflags
="$extra_ldflags -lbs2b"
6769 extra_cflags
="$extra_cflags $_inc_tmp"
6776 def_libbs2b
="#undef CONFIG_LIBBS2B"
6777 test "$_libbs2b" = yes && def_libbs2b
="#define CONFIG_LIBBS2B 1"
6781 if test -z "$_codecsdir" ; then
6782 for dir
in "$_libdir/codecs" "$_libdir/win32" /usr
/local
/lib
/codecs \
6783 /usr
/lib
/codecs
/usr
/local
/lib
/win32
/usr
/lib
/win32
; do
6784 if test -d "$dir" ; then
6790 # Fall back on default directory.
6791 if test -z "$_codecsdir" ; then
6792 _codecsdir
="$_libdir/codecs"
6793 mingw32
&& _codecsdir
="codecs"
6794 os2
&& _codecsdir
="codecs"
6798 echocheck
"Win32 codecs"
6799 if test "$_win32dll" = auto
; then
6801 if x86_32
&& ! qnx
; then
6805 if test "$_win32dll" = yes ; then
6806 def_win32dll
='#define CONFIG_WIN32DLL 1'
6807 test -z "$_win32codecsdir" && _win32codecsdir
=$_codecsdir
6808 _res_comment
="using $_win32codecsdir"
6810 def_win32_loader
='#define WIN32_LOADER 1'
6811 _win32_emulation
=yes
6813 extra_ldflags
="$extra_ldflags -ladvapi32 -lole32"
6814 _res_comment
="using native windows"
6816 _codecmodules
="win32 $_codecmodules"
6818 def_win32dll
='#undef CONFIG_WIN32DLL'
6819 def_win32_loader
='#undef WIN32_LOADER'
6820 _nocodecmodules
="win32 $_nocodecmodules"
6822 echores
"$_win32dll"
6825 echocheck
"XAnim codecs"
6826 if test "$_xanim" = auto
; then
6828 _res_comment
="dynamic loader support needed"
6829 if test "$_dl" = yes ; then
6833 if test "$_xanim" = yes ; then
6834 test -z "$_xanimcodecsdir" && _xanimcodecsdir
=$_codecsdir
6835 def_xanim
='#define CONFIG_XANIM 1'
6836 def_xanim_path
="#define XACODEC_PATH \"$_xanimcodecsdir\""
6837 _codecmodules
="xanim $_codecmodules"
6838 _res_comment
="using $_xanimcodecsdir"
6840 def_xanim
='#undef CONFIG_XANIM'
6841 def_xanim_path
='#undef XACODEC_PATH'
6842 _nocodecmodules
="xanim $_nocodecmodules"
6847 echocheck
"RealPlayer codecs"
6848 if test "$_real" = auto
; then
6850 _res_comment
="dynamic loader support needed"
6851 if test "$_dl" = yes ||
test "$_win32dll" = yes &&
6852 (linux || freebsd || netbsd || openbsd || dragonfly || darwin || win32
) ; then
6856 if test "$_real" = yes ; then
6857 test -z "$_realcodecsdir" && _realcodecsdir
="$_codecsdir"
6858 def_real
='#define CONFIG_REALCODECS 1'
6859 def_real_path
="#define REALCODEC_PATH \"$_realcodecsdir\""
6860 _codecmodules
="real $_codecmodules"
6861 _res_comment
="using $_realcodecsdir"
6863 def_real
='#undef CONFIG_REALCODECS'
6864 def_real_path
="#undef REALCODEC_PATH"
6865 _nocodecmodules
="real $_nocodecmodules"
6870 echocheck
"QuickTime codecs"
6872 def_qtx_win32
='#undef CONFIG_QTX_CODECS_WIN32'
6873 if test "$_qtx" = auto
; then
6874 test "$_win32dll" = yes ||
test "$quicktime" = yes && _qtx
=yes
6876 if test "$_qtx" = yes ; then
6877 def_qtx
='#define CONFIG_QTX_CODECS 1'
6878 win32
&& _qtx_codecs_win32
=yes && def_qtx_win32
='#define CONFIG_QTX_CODECS_WIN32 1'
6879 _codecmodules
="qtx $_codecmodules"
6880 darwin || win32 || _qtx_emulation
=yes
6882 def_qtx
='#undef CONFIG_QTX_CODECS'
6883 _nocodecmodules
="qtx $_nocodecmodules"
6887 echocheck
"Nemesi Streaming Media libraries"
6888 if test "$_nemesi" = auto
&& test "$_network" = yes ; then
6890 if $_pkg_config libnemesi
--atleast-version=0.6.3 ; then
6891 extra_cflags
="$extra_cflags $($_pkg_config --cflags libnemesi)"
6892 extra_ldflags
="$extra_ldflags $($_pkg_config --libs libnemesi)"
6896 if test "$_nemesi" = yes; then
6898 def_nemesi
='#define CONFIG_LIBNEMESI 1'
6899 _inputmodules
="nemesi $_inputmodules"
6901 _native_rtsp
="$_network"
6903 def_nemesi
='#undef CONFIG_LIBNEMESI'
6904 _noinputmodules
="nemesi $_noinputmodules"
6908 echocheck
"LIVE555 Streaming Media libraries"
6909 if test "$_live" = auto
&& test "$_network" = yes ; then
6910 cat > $TMPCPP << EOF
6911 #include <liveMedia.hh>
6912 #if (LIVEMEDIA_LIBRARY_VERSION_INT < 1141257600)
6913 #error Please upgrade to version 2006.03.03 or later of the "LIVE555 Streaming Media" libraries - available from <www.live555.com/liveMedia/>
6915 int main(void) { return 0; }
6919 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
6920 cxx_check
$I/liveMedia
/include
$I/UsageEnvironment
/include \
6921 $I/groupsock
/include
&& _livelibdir
=$
(echo $I|
sed s
/-I//) && \
6922 extra_ldflags
="$_livelibdir/liveMedia/libliveMedia.a \
6923 $_livelibdir/groupsock/libgroupsock.a \
6924 $_livelibdir/UsageEnvironment/libUsageEnvironment.a \
6925 $_livelibdir/BasicUsageEnvironment/libBasicUsageEnvironment.a \
6926 $extra_ldflags -lstdc++" \
6927 extra_cxxflags
="-I$_livelibdir/liveMedia/include \
6928 -I$_livelibdir/UsageEnvironment/include \
6929 -I$_livelibdir/BasicUsageEnvironment/include \
6930 -I$_livelibdir/groupsock/include" && \
6933 if test "$_live" != yes ; then
6934 ld_tmp
="-lliveMedia -lgroupsock -lUsageEnvironment -lBasicUsageEnvironment -lstdc++"
6935 if cxx_check
-I/usr
/include
/liveMedia
-I/usr
/include
/UsageEnvironment
-I/usr
/include
/groupsock
$ld_tmp; then
6940 if test "$_live" = yes && test "$_network" = yes; then
6941 test $_livelibdir && _res_comment
="using $_livelibdir"
6942 def_live
='#define CONFIG_LIVE555 1'
6943 _inputmodules
="live555 $_inputmodules"
6944 elif test "$_live_dist" = yes && test "$_network" = yes; then
6945 _res_comment
="using distribution version"
6947 def_live
='#define CONFIG_LIVE555 1'
6948 extra_ldflags
="$extra_ldflags $ld_tmp"
6949 extra_cxxflags
="-I/usr/include/liveMedia -I/usr/include/UsageEnvironment \
6950 -I/usr/include/BasicUsageEnvironment -I/usr/include/groupsock"
6951 _inputmodules
="live555 $_inputmodules"
6954 def_live
='#undef CONFIG_LIVE555'
6955 _noinputmodules
="live555 $_noinputmodules"
6960 echocheck
"FFmpeg libavutil"
6961 if test "$_libavutil_a" = auto
; then
6962 if test -d libavutil
; then
6964 _res_comment
="static"
6966 die
"MPlayer will not compile without libavutil in the source tree."
6968 elif test "$_libavutil_so" = auto
; then
6971 #include <libavutil/common.h>
6972 int main(void) { av_gcd(1,1); return 0; }
6974 if $_pkg_config --exists libavutil
; then
6975 _inc_libavutil
=$
($_pkg_config --cflags libavutil
)
6976 _ld_tmp
=$
($_pkg_config --libs libavutil
)
6977 cc_check
$_inc_libavutil $_ld_tmp && extra_ldflags
="$extra_ldflags $_ld_tmp" \
6978 && _libavutil_so
=yes
6979 elif cc_check
-lavutil $_ld_lm ; then
6980 extra_ldflags
="$extra_ldflags -lavutil"
6982 _res_comment
="using libavutil.so, but static libavutil is recommended"
6986 def_libavutil
='#undef CONFIG_LIBAVUTIL'
6987 def_libavutil_a
='#undef CONFIG_LIBAVUTIL_A'
6988 def_libavutil_so
='#undef CONFIG_LIBAVUTIL_SO'
6989 test "$_libavutil_a" = yes ||
test "$_libavutil_so" = yes && _libavutil
=yes
6990 test "$_libavutil" = yes && def_libavutil
='#define CONFIG_LIBAVUTIL 1'
6991 test "$_libavutil_a" = yes && def_libavutil_a
='#define CONFIG_LIBAVUTIL_A 1'
6992 test "$_libavutil_so" = yes && def_libavutil_so
='#define CONFIG_LIBAVUTIL_SO 1'
6993 # neither static nor shared libavutil is available, but it is mandatory ...
6994 if test "$_libavutil" = no
; then
6995 die
"You need static or shared libavutil, MPlayer will not compile without!"
6997 echores
"$_libavutil"
6999 echocheck
"FFmpeg libavcodec"
7000 if test "$_libavcodec_a" = auto
; then
7002 if test -d libavcodec
&& test -f libavcodec
/utils.c
; then
7004 _res_comment
="static"
7006 elif test "$_libavcodec_so" = auto
; then
7008 _res_comment
="libavcodec.so is discouraged over static libavcodec"
7010 #include <libavcodec/avcodec.h>
7011 int main(void) { avcodec_find_encoder_by_name(""); return 0; }
7013 if $_pkg_config --exists libavcodec
; then
7014 _inc_libavcodec
=$
($_pkg_config --cflags libavcodec
)
7015 _ld_tmp
=$
($_pkg_config --libs libavcodec
)
7016 cc_check
$_inc_libavcodec $_ld_tmp && extra_ldflags
="$extra_ldflags $_ld_tmp" \
7017 && _libavcodec_so
=yes
7018 elif cc_check
-lavcodec $_ld_lm ; then
7019 extra_ldflags
="$extra_ldflags -lavcodec"
7021 _res_comment
="using libavcodec.so, but static libavcodec is recommended"
7025 def_libavcodec
='#undef CONFIG_LIBAVCODEC'
7026 def_libavcodec_a
='#undef CONFIG_LIBAVCODEC_A'
7027 def_libavcodec_so
='#undef CONFIG_LIBAVCODEC_SO'
7028 test "$_libavcodec_a" = yes ||
test "$_libavcodec_so" = yes && _libavcodec
=yes
7029 test "$_libavcodec" = yes && def_libavcodec
='#define CONFIG_LIBAVCODEC 1'
7030 test "$_libavcodec_a" = yes && def_libavcodec_a
='#define CONFIG_LIBAVCODEC_A 1'
7031 test "$_libavcodec_so" = yes && def_libavcodec_so
='#define CONFIG_LIBAVCODEC_SO 1'
7032 test "$_libavcodec_mpegaudio_hp" = yes \
7033 && def_libavcodec_mpegaudio_hp
='#define CONFIG_MPEGAUDIO_HP 1'
7034 if test "$_libavcodec_a" = yes ; then
7035 _codecmodules
="libavcodec(internal) $_codecmodules"
7036 elif test "$_libavcodec_so" = yes ; then
7037 _codecmodules
="libavcodec.so $_codecmodules"
7039 _nocodecmodules
="libavcodec $_nocodecmodules"
7041 echores
"$_libavcodec"
7043 echocheck
"FFmpeg libavformat"
7044 if test "$_libavformat_a" = auto
; then
7046 if test -d libavformat
&& test -f libavformat
/utils.c
; then
7048 _res_comment
="static"
7050 elif test "$_libavformat_so" = auto
; then
7053 #include <libavformat/avformat.h>
7054 #include <libavcodec/opt.h>
7055 int main(void) { av_alloc_format_context(); return 0; }
7057 if $_pkg_config --exists libavformat
; then
7058 _inc_libavformat
=$
($_pkg_config --cflags libavformat
)
7059 _ld_tmp
=$
($_pkg_config --libs libavformat
)
7060 cc_check
$_inc_libavformat $_ld_tmp && extra_ldflags
="$extra_ldflags $_ld_tmp" \
7061 && _libavformat_so
=yes
7062 elif cc_check
$_ld_lm -lavformat ; then
7063 extra_ldflags
="$extra_ldflags -lavformat"
7065 _res_comment
="using libavformat.so, but static libavformat is recommended"
7069 def_libavformat
='#undef CONFIG_LIBAVFORMAT'
7070 def_libavformat_a
='#undef CONFIG_LIBAVFORMAT_A'
7071 def_libavformat_so
='#undef CONFIG_LIBAVFORMAT_SO'
7072 test "$_libavformat_a" = yes ||
test "$_libavformat_so" = yes && _libavformat
=yes
7073 test "$_libavformat" = yes && def_libavformat
='#define CONFIG_LIBAVFORMAT 1'
7074 test "$_libavformat_a" = yes && def_libavformat_a
='#define CONFIG_LIBAVFORMAT_A 1'
7075 test "$_libavformat_so" = yes \
7076 && def_libavformat_so
='#define CONFIG_LIBAVFORMAT_SO 1'
7077 echores
"$_libavformat"
7079 echocheck
"FFmpeg libpostproc"
7080 if test "$_libpostproc_a" = auto
; then
7082 if test -d libpostproc
&& test -f libpostproc
/postprocess.h
; then
7083 _libpostproc_a
='yes'
7084 _res_comment
="static"
7086 elif test "$_libpostproc_so" = auto
; then
7089 #include <inttypes.h>
7090 #include <libpostproc/postprocess.h>
7091 int main(void) { pp_get_mode_by_name_and_quality("de", 0); return 0; }
7093 if cc_check
-lpostproc $_ld_lm ; then
7094 extra_ldflags
="$extra_ldflags -lpostproc"
7096 _res_comment
="using libpostproc.so, but static libpostproc is recommended"
7100 def_libpostproc
='#undef CONFIG_LIBPOSTPROC'
7101 def_libpostproc_a
='#undef CONFIG_LIBPOSTPROC_A'
7102 def_libpostproc_so
='#undef CONFIG_LIBPOSTPROC_SO'
7103 test "$_libpostproc_a" = yes ||
test "$_libpostproc_so" = yes && _libpostproc
=yes
7104 test "$_libpostproc" = yes && def_libpostproc
='#define CONFIG_LIBPOSTPROC 1'
7105 test "$_libpostproc_a" = yes && def_libpostproc_a
='#define CONFIG_LIBPOSTPROC_A 1'
7106 test "$_libpostproc_so" = yes \
7107 && def_libpostproc_so
='#define CONFIG_LIBPOSTPROC_SO 1'
7108 echores
"$_libpostproc"
7110 echocheck
"FFmpeg libswscale"
7111 if test "$_libswscale_a" = auto
; then
7113 if test -d libswscale
&& test -f libswscale
/swscale.h
; then
7115 _res_comment
="static"
7117 elif test "$_libswscale_so" = auto
; then
7119 _res_comment
="using libswscale.so, but static libswscale is recommended"
7121 #include <libswscale/swscale.h>
7122 int main(void) { sws_scale(0, 0, 0, 0, 0, 0, 0); return 0; }
7124 if $_pkg_config --exists libswscale
; then
7125 _inc_libswscale
=$
($_pkg_config --cflags libswscale
)
7126 _ld_tmp
=$
($_pkg_config --libs libswscale
)
7127 cc_check
$_inc_libswscale $_ld_tmp && extra_ldflags
="$extra_ldflags $_ld_tmp" \
7128 && _libswscale_so
=yes
7129 elif cc_check
-lswscale ; then
7130 extra_ldflags
="$extra_ldflags -lswscale"
7135 def_libswscale
='#undef CONFIG_LIBSWSCALE'
7136 def_libswscale_a
='#undef CONFIG_LIBSWSCALE_A'
7137 def_libswscale_so
='#undef CONFIG_LIBSWSCALE_SO'
7138 test "$_libswscale_a" = yes ||
test "$_libswscale_so" = yes && _libswscale
=yes
7139 test "$_libswscale" = yes && def_libswscale
='#define CONFIG_LIBSWSCALE 1'
7140 test "$_libswscale_a" = yes && def_libswscale_a
='#define CONFIG_LIBSWSCALE_A 1'
7141 test "$_libswscale_so" = yes \
7142 && def_libswscale_so
='#define CONFIG_LIBSWSCALE_SO 1'
7143 echores
"$_libswscale"
7145 echocheck
"libopencore_amr narrowband"
7146 if test "$_libopencore_amrnb" = auto
; then
7147 _libopencore_amrnb
=no
7149 #include <opencore-amrnb/interf_dec.h>
7150 int main(void) { Decoder_Interface_init(); return 0; }
7152 cc_check
-lopencore-amrnb && _libopencore_amrnb
=yes
7153 if test "$_libavcodec_a" != yes ; then
7154 _libopencore_amrnb
=no
7155 _res_comment
="libavcodec (static) is required by libopencore_amrnb, sorry"
7158 if test "$_libopencore_amrnb" = yes ; then
7159 _libopencore_amr
=yes
7160 extra_ldflags
="$extra_ldflags -lopencore-amrnb"
7161 def_libopencore_amrnb
='#define CONFIG_LIBOPENCORE_AMRNB 1'
7162 _libavdecoders
="$_libavdecoders LIBOPENCORE_AMRNB_DECODER"
7163 _libavencoders
="$_libavencoders LIBOPENCORE_AMRNB_ENCODER"
7164 _codecmodules
="libopencore_amrnb $_codecmodules"
7166 def_libopencore_amrnb
='#define CONFIG_LIBOPENCORE_AMRNB 0'
7167 _nocodecmodules
="libopencore_amrnb $_nocodecmodules"
7169 echores
"$_libopencore_amrnb"
7172 echocheck
"libopencore_amr wideband"
7173 if test "$_libopencore_amrwb" = auto
; then
7174 _libopencore_amrwb
=no
7176 #include <opencore-amrwb/dec_if.h>
7177 int main(void) { D_IF_init(); return 0; }
7179 cc_check
-lopencore-amrwb && _libopencore_amrwb
=yes
7180 if test "$_libavcodec_a" != yes ; then
7181 _libopencore_amrwb
=no
7182 _res_comment
="libavcodec (static) is required by libopencore_amrwb, sorry"
7185 if test "$_libopencore_amrwb" = yes ; then
7186 _libopencore_amr
=yes
7187 extra_ldflags
="$extra_ldflags -lopencore-amrwb"
7188 def_libopencore_amrwb
='#define CONFIG_LIBOPENCORE_AMRWB 1'
7189 _libavdecoders
="$_libavdecoders LIBOPENCORE_AMRWB_DECODER"
7190 _libavencoders
="$_libavencoders LIBOPENCORE_AMRWB_DECODER"
7191 _codecmodules
="libopencore_amrwb $_codecmodules"
7193 def_libopencore_amrwb
='#define LIBOPENCORE_AMRWB 0'
7194 _nocodecmodules
="libopencore_amrwb $_nocodecmodules"
7196 echores
"$_libopencore_amrwb"
7198 echocheck
"libdv-0.9.5+"
7199 if test "$_libdv" = auto
; then
7202 #include <libdv/dv.h>
7203 int main(void) { dv_encoder_t* enc=dv_encoder_new(1,1,1); return 0; }
7205 cc_check
-ldv $_ld_pthread $_ld_lm && _libdv
=yes
7207 if test "$_libdv" = yes ; then
7208 def_libdv
='#define CONFIG_LIBDV095 1'
7209 extra_ldflags
="$extra_ldflags -ldv"
7210 _codecmodules
="libdv $_codecmodules"
7212 def_libdv
='#undef CONFIG_LIBDV095'
7213 _nocodecmodules
="libdv $_nocodecmodules"
7219 if test "$_xvid" = auto
; then
7223 int main(void) { xvid_global(0, 0, 0, 0); return 0; }
7225 for _ld_tmp
in "-lxvidcore $_ld_lm" "-lxvidcore $_ld_lm $_ld_pthread" ; do
7226 cc_check
$_ld_tmp && extra_ldflags
="$extra_ldflags $_ld_tmp" && _xvid
=yes && break
7230 if test "$_xvid" = yes ; then
7231 def_xvid
='#define CONFIG_XVID4 1'
7232 _codecmodules
="xvid $_codecmodules"
7234 def_xvid
='#undef CONFIG_XVID4'
7235 _nocodecmodules
="xvid $_nocodecmodules"
7239 echocheck
"Xvid two pass plugin"
7240 if test "$_xvid" = yes && test "$_xvid_lavc" = auto
; then
7243 int main(void) { xvid_plugin_2pass2_t s; s.vbv_size=0; return 0; }
7245 cc_check
&& _xvid_lavc
=yes
7247 if test "$_xvid_lavc" = yes ; then
7248 def_xvid_lavc
='#define CONFIG_LIBXVID 1'
7249 _libavencoders
="$_libavencoders LIBXVID_ENCODER"
7252 def_xvid_lavc
='#define CONFIG_LIBXVID 0'
7254 echores
"$_xvid_lavc"
7258 if test "$_x264" = auto
; then
7260 #include <inttypes.h>
7263 #error We do not support old versions of x264. Get the latest from git.
7265 int main(void) { x264_encoder_open((void*)0); return 0; }
7268 for _ld_x264
in "-lx264 $_ld_pthread" "-lx264 $_ld_pthread $_ld_lm" ; do
7269 cc_check
$_ld_x264 && libs_mencoder
="$libs_mencoder $_ld_x264" && _x264
=yes && break
7273 if test "$_x264" = yes ; then
7274 def_x264
='#define CONFIG_X264 1'
7275 _codecmodules
="x264 $_codecmodules"
7276 test "$_x264_lavc" = auto
&& _x264_lavc
=yes
7277 if test "$_x264_lavc" = yes ; then
7278 def_x264_lavc
='#define CONFIG_LIBX264 1'
7279 libs_mplayer
="$libs_mplayer $_ld_x264"
7280 _libavencoders
="$_libavencoders LIBX264_ENCODER"
7284 def_x264
='#undef CONFIG_X264'
7285 def_x264_lavc
='#define CONFIG_LIBX264 0'
7286 _nocodecmodules
="x264 $_nocodecmodules"
7288 _res_comment
="in libavcodec: $_x264_lavc"
7292 echocheck
"libdirac"
7293 if test "$_libdirac_lavc" = auto
; then
7295 if test "$_libavcodec_a" != yes; then
7296 _res_comment
="libavcodec (static) is required by libdirac, sorry"
7299 #include <libdirac_encoder/dirac_encoder.h>
7300 #include <libdirac_decoder/dirac_parser.h>
7303 dirac_encoder_context_t enc_ctx;
7304 dirac_decoder_t *dec_handle;
7305 dirac_encoder_context_init(&enc_ctx, VIDEO_FORMAT_SD_576I50);
7306 dec_handle = dirac_decoder_init(0);
7308 dirac_decoder_close(dec_handle);
7312 if $_pkg_config --exists dirac
; then
7313 _inc_dirac
=$
($_pkg_config --silence-errors --cflags dirac
)
7314 _ld_dirac
=$
($_pkg_config --silence-errors --libs dirac
)
7315 cc_check
$_inc_dirac $_ld_dirac &&
7316 _libdirac_lavc
=yes &&
7317 extra_cflags
="$extra_cflags $_inc_dirac" &&
7318 extra_ldflags
="$extra_ldflags $_ld_dirac"
7322 if test "$_libdirac_lavc" = yes ; then
7323 def_libdirac_lavc
='#define CONFIG_LIBDIRAC 1'
7324 _libavencoders
="$_libavencoders LIBDIRAC_ENCODER"
7325 _libavdecoders
="$_libavdecoders LIBDIRAC_DECODER"
7326 _codecmodules
="libdirac $_codecmodules"
7328 def_libdirac_lavc
='#define CONFIG_LIBDIRAC 0'
7329 _nocodecmodules
="libdirac $_nocodecmodules"
7331 echores
"$_libdirac_lavc"
7334 echocheck
"libschroedinger"
7335 if test "$_libschroedinger_lavc" = auto
; then
7336 _libschroedinger_lavc
=no
7337 if test "$_libavcodec_a" != yes; then
7338 _res_comment
="libavcodec (static) is required by libschroedinger, sorry"
7341 #include <schroedinger/schro.h>
7342 int main(void) { schro_init(); return 0; }
7344 if $_pkg_config --exists schroedinger-1.0
; then
7345 _inc_schroedinger
=$
($_pkg_config --silence-errors --cflags schroedinger-1.0
)
7346 _ld_schroedinger
=$
($_pkg_config --silence-errors --libs schroedinger-1.0
)
7347 cc_check
$_inc_schroedinger $_ld_schroedinger &&
7348 _libschroedinger_lavc
=yes &&
7349 extra_cflags
="$extra_cflags $_inc_schroedinger" &&
7350 extra_ldflags
="$extra_ldflags $_ld_schroedinger"
7354 if test "$_libschroedinger_lavc" = yes ; then
7355 def_libschroedinger_lavc
='#define CONFIG_LIBSCHROEDINGER 1'
7356 _libavencoders
="$_libavencoders LIBSCHROEDINGER_ENCODER"
7357 _libavdecoders
="$_libavdecoders LIBSCHROEDINGER_DECODER"
7358 _codecmodules
="libschroedinger $_codecmodules"
7360 def_libschroedinger_lavc
='#define CONFIG_LIBSCHROEDINGER 0'
7361 _nocodecmodules
="libschroedinger $_nocodecmodules"
7363 echores
"$_libschroedinger_lavc"
7366 if test "$_libnut" = auto
; then
7370 #include <inttypes.h>
7372 nut_context_tt * nut;
7373 int main(void) { (void)nut_error(0); return 0; }
7376 cc_check
-lnut && _libnut
=yes
7379 if test "$_libnut" = yes ; then
7380 def_libnut
='#define CONFIG_LIBNUT 1'
7381 extra_ldflags
="$extra_ldflags -lnut"
7383 def_libnut
='#undef CONFIG_LIBNUT'
7387 #check must be done after libavcodec one
7389 if test "$_zr" = auto
; then
7390 #36067's seem to identify themselves as 36057PQC's, so the line
7391 #below should work for 36067's and 36057's.
7392 if grep -q -s -e "Multimedia video controller: Zoran Corporation ZR36057" /proc
/pci
; then
7398 if test "$_zr" = yes ; then
7399 if test "$_libavcodec_a" = yes ; then
7400 def_zr
='#define CONFIG_ZR 1'
7401 _vomodules
="zr zr2 $_vomodules"
7403 _res_comment
="libavcodec (static) is required by zr, sorry"
7404 _novomodules
="zr $_novomodules"
7405 def_zr
='#undef CONFIG_ZR'
7408 def_zr
='#undef CONFIG_ZR'
7409 _novomodules
="zr zr2 $_novomodules"
7413 # mencoder requires (optional) those libs: libmp3lame
7414 if test "$_mencoder" != no
; then
7416 echocheck
"libmp3lame"
7417 def_mp3lame_preset
='#undef CONFIG_MP3LAME_PRESET'
7418 def_mp3lame_preset_medium
='#undef CONFIG_MP3LAME_PRESET_MEDIUM'
7419 if test "$_mp3lame" = auto
; then
7422 #include <lame/lame.h>
7423 int main(void) { lame_version_t lv; (void) lame_init();
7424 get_lame_version_numerical(&lv); printf("%d%d\n",lv.major,lv.minor);
7427 cc_check
-lmp3lame $_ld_lm && _mp3lame
=yes
7429 if test "$_mp3lame" = yes ; then
7430 def_mp3lame
="#define CONFIG_MP3LAME 1"
7431 _ld_mp3lame
=-lmp3lame
7432 libs_mencoder
="$libs_mencoder $_ld_mp3lame"
7434 #include <lame/lame.h>
7435 int main(void) { lame_set_preset(NULL, STANDARD_FAST); return 0; }
7437 cc_check
$_ld_mp3lame $_ld_lm && def_mp3lame_preset
="#define CONFIG_MP3LAME_PRESET 1"
7439 #include <lame/lame.h>
7440 int main(void) { lame_set_preset(NULL, MEDIUM_FAST); return 0; }
7442 cc_check
$_ld_mp3lame $_ld_lm && def_mp3lame_preset_medium
="#define CONFIG_MP3LAME_PRESET_MEDIUM 1"
7443 test "$_mp3lame_lavc" = auto
&& _mp3lame_lavc
=yes
7444 if test "$_mp3lame_lavc" = yes ; then
7445 def_mp3lame_lavc
="#define CONFIG_LIBMP3LAME 1"
7446 _libavencoders
="$_libavencoders LIBMP3LAME_ENCODER"
7447 libs_mplayer
="$libs_mplayer $_ld_mp3lame"
7451 def_mp3lame
='#undef CONFIG_MP3LAME'
7452 def_mp3lame_lavc
="#define CONFIG_LIBMP3LAME 0"
7454 _res_comment
="in libavcodec: $_mp3lame_lavc"
7457 fi # test "$_mencoder" != no
7459 echocheck
"mencoder"
7460 if test "$_mencoder" = yes ; then
7461 def_muxers
='#define CONFIG_MUXERS 1'
7463 # mpeg1video for vf_lavc, snow for vf_uspp and vf_mcdeint, png for vf_screenshot
7464 _libavencoders
="MPEG1VIDEO_ENCODER SNOW_ENCODER"
7465 test "$_zlib" = yes && _libavencoders
="$_libavencoders PNG_ENCODER"
7467 def_muxers
='#define CONFIG_MUXERS 0'
7469 echores
"$_mencoder"
7472 echocheck
"UnRAR executable"
7473 if test "$_unrar_exec" = auto
; then
7475 mingw32
&& _unrar_exec
="no"
7477 if test "$_unrar_exec" = yes ; then
7478 def_unrar_exec
='#define CONFIG_UNRAR_EXEC 1'
7480 def_unrar_exec
='#undef CONFIG_UNRAR_EXEC'
7482 echores
"$_unrar_exec"
7484 echocheck
"TV interface"
7485 if test "$_tv" = yes ; then
7486 def_tv
='#define CONFIG_TV 1'
7487 _inputmodules
="tv $_inputmodules"
7489 _noinputmodules
="tv $_noinputmodules"
7490 def_tv
='#undef CONFIG_TV'
7495 if freebsd || netbsd || openbsd || dragonfly || bsdos
; then
7496 echocheck
"*BSD BT848 bt8xx header"
7498 for file in "machine/ioctl_bt848.h" \
7499 "dev/bktr/ioctl_bt848.h" \
7500 "dev/video/bktr/ioctl_bt848.h" \
7501 "dev/ic/bt8xx.h" ; do
7503 #include <sys/types.h>
7504 #include <sys/ioctl.h>
7506 int main(void) { ioctl(0, TVTUNER_GETFREQ, 0); return 0; }
7510 _ioctl_bt848_h_name
="$file"
7514 if test "$_ioctl_bt848_h" = yes ; then
7515 def_ioctl_bt848_h_name
="#define IOCTL_BT848_H_NAME <$_ioctl_bt848_h_name>"
7516 _res_comment
="using $_ioctl_bt848_h_name"
7518 def_ioctl_bt848_h_name
="#undef IOCTL_BT848_H_NAME"
7520 echores
"$_ioctl_bt848_h"
7522 echocheck
"*BSD ioctl_meteor.h"
7524 for file in "machine/ioctl_meteor.h" \
7525 "dev/bktr/ioctl_meteor.h" \
7526 "dev/video/bktr/ioctl_meteor.h" ; do
7528 #include <sys/types.h>
7530 int main(void) { ioctl(0, METEORSINPUT, 0); return 0; }
7534 _ioctl_meteor_h_name
="$file"
7538 if test "$_ioctl_meteor_h" = yes ; then
7539 def_ioctl_meteor_h_name
="#define IOCTL_METEOR_H_NAME <$_ioctl_meteor_h_name>"
7540 _res_comment
="using $_ioctl_meteor_h_name"
7542 def_ioctl_meteor_h_name
="#undef IOCTL_METEOR_H_NAME"
7544 echores
"$_ioctl_meteor_h"
7546 echocheck
"*BSD BrookTree 848 TV interface"
7547 if test "$_tv_bsdbt848" = auto
; then
7549 if test "$_tv" = yes ; then
7551 #include <sys/types.h>
7552 $def_ioctl_meteor_h_name
7553 $def_ioctl_bt848_h_name
7554 #ifdef IOCTL_METEOR_H_NAME
7555 #include IOCTL_METEOR_H_NAME
7557 #ifdef IOCTL_BT848_H_NAME
7558 #include IOCTL_BT848_H_NAME
7561 ioctl(0, METEORSINPUT, 0);
7562 ioctl(0, TVTUNER_GETFREQ, 0);
7566 cc_check
&& _tv_bsdbt848
=yes
7569 if test "$_tv_bsdbt848" = yes ; then
7570 def_tv_bsdbt848
='#define CONFIG_TV_BSDBT848 1'
7571 _inputmodules
="tv-bsdbt848 $_inputmodules"
7573 def_tv_bsdbt848
='#undef CONFIG_TV_BSDBT848'
7574 _noinputmodules
="tv-bsdbt848 $_noinputmodules"
7576 echores
"$_tv_bsdbt848"
7577 fi #if freebsd || netbsd || openbsd || dragonfly || bsdos
7580 echocheck
"DirectShow TV interface"
7581 if test "$_tv_dshow" = auto
; then
7583 if test "$_tv" = yes && win32
; then
7588 CoCreateInstance((GUID*)&GUID_NULL, NULL, CLSCTX_INPROC_SERVER, &GUID_NULL, &p);
7592 cc_check
-lole32 -luuid && _tv_dshow
=yes
7595 if test "$_tv_dshow" = yes ; then
7596 _inputmodules
="tv-dshow $_inputmodules"
7597 def_tv_dshow
='#define CONFIG_TV_DSHOW 1'
7598 extra_ldflags
="$extra_ldflags -lole32 -luuid"
7600 _noinputmodules
="tv-dshow $_noinputmodules"
7601 def_tv_dshow
='#undef CONFIG_TV_DSHOW'
7603 echores
"$_tv_dshow"
7606 echocheck
"Video 4 Linux TV interface"
7607 if test "$_tv_v4l1" = auto
; then
7609 if test "$_tv" = yes && linux
; then
7612 #include <linux/videodev.h>
7613 int main(void) { return 0; }
7615 cc_check
&& _tv_v4l1
=yes
7618 if test "$_tv_v4l1" = yes ; then
7621 def_tv_v4l
='#define CONFIG_TV_V4L 1'
7622 def_tv_v4l1
='#define CONFIG_TV_V4L1 1'
7623 _inputmodules
="tv-v4l $_inputmodules"
7625 _noinputmodules
="tv-v4l1 $_noinputmodules"
7626 def_tv_v4l
='#undef CONFIG_TV_V4L'
7631 echocheck
"Video 4 Linux 2 TV interface"
7632 if test "$_tv_v4l2" = auto
; then
7634 if test "$_tv" = yes && linux
; then
7637 #include <linux/types.h>
7638 #include <linux/videodev2.h>
7639 int main(void) { return 0; }
7641 cc_check
&& _tv_v4l2
=yes
7644 if test "$_tv_v4l2" = yes ; then
7647 def_tv_v4l
='#define CONFIG_TV_V4L 1'
7648 def_tv_v4l2
='#define CONFIG_TV_V4L2 1'
7649 _inputmodules
="tv-v4l2 $_inputmodules"
7651 _noinputmodules
="tv-v4l2 $_noinputmodules"
7652 def_tv_v4l2
='#undef CONFIG_TV_V4L2'
7657 echocheck
"Radio interface"
7658 if test "$_radio" = yes ; then
7659 def_radio
='#define CONFIG_RADIO 1'
7660 _inputmodules
="radio $_inputmodules"
7661 if test "$_alsa9" != yes -a "$_alsa1x" != yes -a "$_ossaudio" != yes ; then
7664 if test "$_radio_capture" = yes ; then
7666 def_radio_capture
="#define CONFIG_RADIO_CAPTURE 1"
7668 def_radio_capture
="#undef CONFIG_RADIO_CAPTURE"
7671 _noinputmodules
="radio $_noinputmodules"
7672 def_radio
='#undef CONFIG_RADIO'
7673 def_radio_capture
="#undef CONFIG_RADIO_CAPTURE"
7677 echocheck
"Capture for Radio interface"
7678 echores
"$_radio_capture"
7680 echocheck
"Video 4 Linux 2 Radio interface"
7681 if test "$_radio_v4l2" = auto
; then
7683 if test "$_radio" = yes && linux
; then
7686 #include <linux/types.h>
7687 #include <linux/videodev2.h>
7688 int main(void) { return 0; }
7690 cc_check
&& _radio_v4l2
=yes
7693 if test "$_radio_v4l2" = yes ; then
7694 def_radio_v4l2
='#define CONFIG_RADIO_V4L2 1'
7696 def_radio_v4l2
='#undef CONFIG_RADIO_V4L2'
7698 echores
"$_radio_v4l2"
7700 echocheck
"Video 4 Linux Radio interface"
7701 if test "$_radio_v4l" = auto
; then
7703 if test "$_radio" = yes && linux
; then
7706 #include <linux/videodev.h>
7707 int main(void) { return 0; }
7709 cc_check
&& _radio_v4l
=yes
7712 if test "$_radio_v4l" = yes ; then
7713 def_radio_v4l
='#define CONFIG_RADIO_V4L 1'
7715 def_radio_v4l
='#undef CONFIG_RADIO_V4L'
7717 echores
"$_radio_v4l"
7719 if freebsd || netbsd || openbsd || dragonfly || bsdos \
7720 && test "$_radio" = yes && test "$_radio_bsdbt848" = auto
; then
7721 echocheck
"*BSD BrookTree 848 Radio interface"
7724 #include <sys/types.h>
7725 $def_ioctl_bt848_h_name
7726 #ifdef IOCTL_BT848_H_NAME
7727 #include IOCTL_BT848_H_NAME
7729 int main(void) { ioctl(0, RADIO_GETFREQ, 0); return 0; }
7731 cc_check
&& _radio_bsdbt848
=yes
7732 echores
"$_radio_bsdbt848"
7733 fi #if freebsd || netbsd || openbsd || dragonfly || bsdos && _radio && _radio_bsdbt848
7735 if test "$_radio_bsdbt848" = yes ; then
7736 def_radio_bsdbt848
='#define CONFIG_RADIO_BSDBT848 1'
7738 def_radio_bsdbt848
='#undef CONFIG_RADIO_BSDBT848'
7741 if test "$_radio_v4l" = no
&& test "$_radio_v4l2" = no
&& \
7742 test "$_radio_bsdbt848" = no
&& test "$_radio" = yes ; then
7743 die
"Radio driver requires BSD BT848, V4L or V4L2!"
7746 echocheck
"Video 4 Linux 2 MPEG PVR interface"
7747 if test "$_pvr" = auto
; then
7749 if test "$_tv_v4l2" = yes && linux
; then
7752 #include <inttypes.h>
7753 #include <linux/types.h>
7754 #include <linux/videodev2.h>
7755 int main(void) { struct v4l2_ext_controls ext; return ext.controls->value; }
7757 cc_check
&& _pvr
=yes
7760 if test "$_pvr" = yes ; then
7761 def_pvr
='#define CONFIG_PVR 1'
7762 _inputmodules
="pvr $_inputmodules"
7764 _noinputmodules
="pvr $_noinputmodules"
7765 def_pvr
='#undef CONFIG_PVR'
7771 if ! beos
&& test "$_ftp" = yes ; then
7772 def_ftp
='#define CONFIG_FTP 1'
7773 _inputmodules
="ftp $_inputmodules"
7775 _noinputmodules
="ftp $_noinputmodules"
7776 def_ftp
='#undef CONFIG_FTP'
7780 echocheck
"vstream client"
7781 if test "$_vstream" = auto
; then
7784 #include <vstream-client.h>
7785 void vstream_error(const char *format, ... ) {}
7786 int main(void) { vstream_start(); return 0; }
7788 cc_check
-lvstream-client && _vstream
=yes
7790 if test "$_vstream" = yes ; then
7791 def_vstream
='#define CONFIG_VSTREAM 1'
7792 _inputmodules
="vstream $_inputmodules"
7793 extra_ldflags
="$extra_ldflags -lvstream-client"
7795 _noinputmodules
="vstream $_noinputmodules"
7796 def_vstream
='#undef CONFIG_VSTREAM'
7801 echocheck
"OSD menu"
7802 if test "$_menu" = yes ; then
7803 def_menu
='#define CONFIG_MENU 1'
7804 test $_dvbin = "yes" && _menu_dvbin
=yes
7806 def_menu
='#undef CONFIG_MENU'
7812 echocheck
"Subtitles sorting"
7813 if test "$_sortsub" = yes ; then
7814 def_sortsub
='#define CONFIG_SORTSUB 1'
7816 def_sortsub
='#undef CONFIG_SORTSUB'
7821 echocheck
"XMMS inputplugin support"
7822 if test "$_xmms" = yes ; then
7823 if ( xmms-config
--version ) >/dev
/null
2>&1 ; then
7824 _xmmsplugindir
=$
(xmms-config
--input-plugin-dir)
7825 _xmmslibdir
=$
(xmms-config
--exec-prefix)/lib
7827 _xmmsplugindir
=/usr
/lib
/xmms
/Input
7828 _xmmslibdir
=/usr
/lib
7831 def_xmms
='#define CONFIG_XMMS 1'
7833 extra_ldflags
="$extra_ldflags ${_xmmslibdir}/libxmms.dylib"
7835 extra_ldflags
="$extra_ldflags ${_xmmslibdir}/libxmms.so.1 -export-dynamic"
7838 def_xmms
='#undef CONFIG_XMMS'
7843 # --------------- GUI specific tests begin -------------------
7846 if test "$_gui" = yes ; then
7848 # Required libraries
7849 if test "$_libavcodec" != yes ||
7850 ! echo $_libavdecoders |
grep -q PNG_DECODER
; then
7851 die
"The GUI requires libavcodec with PNG support (needs zlib)."
7853 test "$_freetype" = no
&& test "$_bitmap_font" = no
&& \
7854 die
"The GUI requires either FreeType or bitmap font support."
7857 test "$_x11" != yes && die
"X11 support required for GUI compilation."
7859 echocheck
"XShape extension"
7860 if test "$_xshape" = auto
; then
7863 #include <X11/Xlib.h>
7864 #include <X11/Xproto.h>
7865 #include <X11/Xutil.h>
7866 #include <X11/extensions/shape.h>
7869 char *name = ":0.0";
7872 int eventbase, errorbase;
7873 if (getenv("DISPLAY"))
7874 name=getenv("DISPLAY");
7875 wsDisplay=XOpenDisplay(name);
7876 if (!XShapeQueryExtension(wsDisplay,&eventbase,&errorbase))
7878 XCloseDisplay(wsDisplay);
7882 cc_check
-lXext && _xshape
=yes
7884 if test "$_xshape" = yes ; then
7885 def_xshape
='#define CONFIG_XSHAPE 1'
7887 die
"The GUI requires the X11 extension XShape (which was not found)."
7892 if test "$_gtk1" = no
; then
7894 echocheck
"GTK+ version"
7896 if $_pkg_config gtk
+-2.0
--exists ; then
7897 _gtk
=$
($_pkg_config gtk
+-2.0
--modversion 2>/dev
/null
)
7898 extra_cflags
="$extra_cflags $($_pkg_config gtk+-2.0 --cflags 2>/dev/null)"
7899 libs_mplayer
="$libs_mplayer $($_pkg_config gtk+-2.0 --libs 2>/dev/null)"
7903 if $_pkg_config glib-2.0
--exists ; then
7904 echocheck
"glib version"
7905 _glib
=$
($_pkg_config glib-2.0
--modversion 2>/dev
/null
)
7906 libs_mplayer
="$libs_mplayer $($_pkg_config glib-2.0 --libs 2>/dev/null)"
7909 def_gui
='#define CONFIG_GUI 1'
7910 def_gtk2
='#define CONFIG_GTK2 1'
7913 echo "GLIB-2 devel packages were not found, trying GTK 1.2"
7916 echo "GTK-2 devel packages were not found, trying GTK 1.2"
7921 if test "$_gtk1" = yes ; then
7922 # Check for old GTK (1.2.x)
7923 echocheck
"GTK version"
7924 if test -z "$_gtkconfig" ; then
7925 if ( gtk-config
--version ) >/dev
/null
2>&1 ; then
7926 _gtkconfig
="gtk-config"
7927 elif ( gtk12-config
--version ) >/dev
/null
2>&1 ; then
7928 _gtkconfig
="gtk12-config"
7930 die
"The GUI requires GTK devel packages (which were not found)."
7933 _gtk
=$
($_gtkconfig --version 2>&1)
7934 extra_cflags
="$extra_cflags $($_gtkconfig --cflags 2>&1)"
7935 libs_mplayer
="$libs_mplayer $($_gtkconfig --libs 2>&1)"
7936 echores
"$_gtk (using $_gtkconfig)"
7939 echocheck
"glib version"
7940 if test -z "$_glibconfig" ; then
7941 if ( glib-config
--version ) >/dev
/null
2>&1 ; then
7942 _glibconfig
="glib-config"
7943 elif ( glib12-config
--version ) >/dev
/null
2>&1 ; then
7944 _glibconfig
="glib12-config"
7946 die
"The GUI requires GLIB devel packages (which were not found)"
7949 _glib
=$
($_glibconfig --version 2>&1)
7950 libs_mplayer
="$libs_mplayer $($_glibconfig --libs 2>&1)"
7951 echores
"$_glib (using $_glibconfig)"
7953 def_gui
='#define CONFIG_GUI 1'
7954 def_gtk2
='#undef CONFIG_GTK2'
7959 libs_mplayer
="$libs_mplayer -lcomdlg32 -lcomctl32 -lshell32 -lkernel32"
7960 def_gui
='#define CONFIG_GUI 1'
7961 def_gtk2
='#undef CONFIG_GTK2'
7964 else #if test "$_gui"
7965 def_gui
='#undef CONFIG_GUI'
7966 def_gtk2
='#undef CONFIG_GTK2'
7968 # --------------- GUI specific tests end -------------------
7971 if test "$_charset" != "noconv" ; then
7972 def_charset
="#define MSG_CHARSET \"$_charset\""
7974 def_charset
="#undef MSG_CHARSET"
7978 if test -n "$_charset" && test "$_charset" != "UTF-8" ; then
7979 echocheck
"iconv program"
7980 iconv -f UTF-8
-t $_charset ${_mp_help} > /dev
/null
2>> "$TMPLOG"
7981 if test "$?" -ne 0 ; then
7983 echo "No working iconv program found, use "
7984 echo "--charset=UTF-8 to continue anyway."
7985 echo "If you also have problems with iconv library functions use --charset=noconv."
7986 echo "Messages in the GTK-2 interface will be broken then."
7993 #############################################################################
7995 echocheck
"automatic gdb attach"
7996 if test "$_crash_debug" = yes ; then
7997 def_crash_debug
='#define CONFIG_CRASH_DEBUG 1'
7999 def_crash_debug
='#undef CONFIG_CRASH_DEBUG'
8002 echores
"$_crash_debug"
8004 echocheck
"compiler support for noexecstack"
8006 int main(void) { return 0; }
8008 if cc_check
-Wl,-z,noexecstack
; then
8009 extra_ldflags
="-Wl,-z,noexecstack $extra_ldflags"
8016 # Dynamic linking flags
8017 # (FIXME: 'echocheck "dynamic linking"' above and modify here accordingly)
8019 freebsd || netbsd || openbsd || dragonfly || bsdos
&& _ld_dl_dynamic
='-rdynamic'
8020 if test "$_real" = yes ||
test "$_xanim" = yes && ! win32
&& ! qnx
&& ! darwin
&& ! os2
&& ! sunos
; then
8021 _ld_dl_dynamic
='-rdynamic'
8024 extra_ldflags
="$extra_ldflags $_ld_pthread $_ld_dl $_ld_dl_dynamic"
8025 bsdos
&& extra_ldflags
="$extra_ldflags -ldvd"
8026 (netbsd || openbsd
) && x86_32
&& extra_ldflags
="$extra_ldflags -li386"
8028 def_debug
='#undef MP_DEBUG'
8029 test "$_debug" != "" && def_debug
='#define MP_DEBUG 1'
8032 echocheck
"joystick"
8033 def_joystick
='#undef CONFIG_JOYSTICK'
8034 if test "$_joystick" = yes ; then
8036 # TODO add some check
8037 def_joystick
='#define CONFIG_JOYSTICK 1'
8040 _res_comment
="unsupported under $system_name"
8043 echores
"$_joystick"
8046 if test "$_lirc" = auto
; then
8049 #include <lirc/lirc_client.h>
8050 int main(void) { return 0; }
8052 cc_check
-llirc_client && _lirc
=yes
8054 if test "$_lirc" = yes ; then
8055 def_lirc
='#define CONFIG_LIRC 1'
8056 libs_mplayer
="$libs_mplayer -llirc_client"
8058 def_lirc
='#undef CONFIG_LIRC'
8063 if test "$_lircc" = auto
; then
8066 #include <lirc/lircc.h>
8067 int main(void) { return 0; }
8069 cc_check
-llircc && _lircc
=yes
8071 if test "$_lircc" = yes ; then
8072 def_lircc
='#define CONFIG_LIRCC 1'
8073 libs_mplayer
="$libs_mplayer -llircc"
8075 def_lircc
='#undef CONFIG_LIRCC'
8080 # Detect maemo development platform libraries availability (http://www.maemo.org),
8081 # they are used when run on Nokia 770|8x0
8082 echocheck
"maemo (Nokia 770|8x0)"
8083 if test "$_maemo" = auto
; then
8086 #include <libosso.h>
8087 int main(void) { (void) osso_initialize("", "", 0, NULL); return 0; }
8089 cc_check $
($_pkg_config --cflags --libs libosso
2>/dev
/null
) && _maemo
=yes
8091 if test "$_maemo" = yes ; then
8092 def_maemo
='#define CONFIG_MAEMO 1'
8093 extra_cflags
="$extra_cflags $($_pkg_config --cflags libosso)"
8094 extra_ldflags
="$extra_ldflags $($_pkg_config --libs libosso) -lXsp"
8096 def_maemo
='#undef CONFIG_MAEMO'
8101 #############################################################################
8103 # On OS/2 nm supports only a.out. So the -Zomf compiler option to generate
8104 # the OMF format needs to come after the 'extern symbol prefix' check, which
8107 extra_ldflags
="$extra_ldflags -Zomf -Zstack 16384 -Zbin-files -Zargs-wild"
8110 # linker paths should be the same for mencoder and mplayer
8112 for I
in $libs_mplayer ; do
8113 _tmp
=$
(echo $I |
sed -e 's/^-L.*$//')
8114 if test -z "$_tmp" ; then
8115 extra_ldflags
="$extra_ldflags $I"
8117 _ld_tmp
="$_ld_tmp $I"
8120 libs_mplayer
=$_ld_tmp
8123 #############################################################################
8124 # 64 bit file offsets?
8125 if test "$_largefiles" = yes || freebsd
; then
8126 CFLAGS
="$CFLAGS -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
8127 if test "$_dvdread" = yes ||
test "$_libdvdcss_internal" = yes ; then
8128 # dvdread support requires this (for off64_t)
8129 CFLAGS
="$CFLAGS -D_LARGEFILE64_SOURCE"
8133 CXXFLAGS
=" $CFLAGS -D__STDC_LIMIT_MACROS"
8135 # This must be the last test to be performed. Any other tests following it
8136 # could fail due to linker errors. libdvdnavmini is intentionally not linked
8137 # against libdvdread (to permit MPlayer to use its own copy of the library).
8138 # So any compilation using the flags added here but not linking against
8139 # libdvdread can fail.
8140 echocheck
"DVD support (libdvdnav)"
8142 if test "$_dvdnav" = auto
; then
8143 if test "$_dvdread_internal" = yes ; then
8146 _res_comment
="internal"
8148 $_dvdnavconfig --version --minilibs >> $TMPLOG 2>&1 || _dvdnav
=no
8151 if test "$_dvdnav" = auto
; then
8153 #include <inttypes.h>
8154 #include <dvdnav/dvdnav.h>
8155 int main(void) { dvdnav_t *dvd=0; return 0; }
8158 _dvdnavdir
=$
($_dvdnavconfig --cflags)
8159 _dvdnavlibs
=$
($_dvdnavconfig --libs)
8160 cc_check
$_dvdnavdir $_dvdnavlibs $_ld_dl $_ld_pthread && _dvdnav
=yes
8162 if test "$_dvdnav" = yes ; then
8164 def_dvdnav
='#define CONFIG_DVDNAV 1'
8165 if test "$dvdnav_internal" = yes ; then
8166 cflags_libdvdnav
="-Ilibdvdnav"
8167 _inputmodules
="dvdnav(internal) $_inputmodules"
8169 extra_cflags
="$extra_cflags $($_dvdnavconfig --cflags)"
8170 extra_ldflags
="$extra_ldflags $($_dvdnavconfig --minilibs)"
8171 _inputmodules
="dvdnav $_inputmodules"
8174 def_dvdnav
='#undef CONFIG_DVDNAV'
8175 _noinputmodules
="dvdnav $_noinputmodules"
8179 # DO NOT ADD ANY TESTS THAT USE LINKER FLAGS HERE (like cc_check).
8180 # Read dvdnav comment above.
8182 #############################################################################
8183 echo "Creating config.mak"
8184 cat > config.mak
<< EOF
8185 # -------- Generated by configure -----------
8187 # Ensure that locale settings do not interfere with shell commands.
8190 CONFIGURATION = $_configuration
8193 DOC_LANGS = $language_doc
8194 DOC_LANG_ALL = $doc_lang_all
8195 MAN_LANGS = $language_man
8196 MAN_LANG_ALL = $man_lang_all
8198 prefix = \$(DESTDIR)$_prefix
8199 BINDIR = \$(DESTDIR)$_bindir
8200 DATADIR = \$(DESTDIR)$_datadir
8201 LIBDIR = \$(DESTDIR)$_libdir
8202 MANDIR = \$(DESTDIR)$_mandir
8203 CONFDIR = \$(DESTDIR)$_confdir
8212 INSTALLSTRIP = $_install_strip
8216 CFLAGS = $CFLAGS $extra_cflags
8217 OPTFLAGS = $CFLAGS $extra_cflags
8218 CXXFLAGS = $CXXFLAGS $extra_cflags $extra_cxxflags
8219 CFLAGS_DHAHELPER = $cflags_dhahelper
8220 CFLAGS_FAAD_FIXED = $cflags_faad_fixed
8221 CFLAGS_LIBDVDCSS = $cflags_libdvdcss
8222 CFLAGS_LIBDVDCSS_DVDREAD = $cflags_libdvdcss_dvdread
8223 CFLAGS_LIBDVDNAV = $cflags_libdvdnav
8224 CFLAGS_NO_OMIT_LEAF_FRAME_POINTER = $cflags_no_omit_leaf_frame_pointer
8225 CFLAGS_STACKREALIGN = $cflags_stackrealign
8226 CFLAGS_SVGALIB_HELPER = $cflags_svgalib_helper
8227 CFLAGS_TREMOR_LOW = $cflags_tremor_low
8228 YASMFLAGS = $YASMFLAGS
8230 EXTRALIBS = $extra_ldflags $_ld_static $_ld_lm $extra_libs
8231 EXTRALIBS_MPLAYER = $libs_mplayer
8232 EXTRALIBS_MENCODER = $libs_mencoder
8234 DEPEND_CMD = \$(CC) -MM \$(CFLAGS) \$(filter-out %.h,\$^) | sed "s,[0-9a-z._-]*: \(\$(SRC_DIR)/\)*\([a-z0-9]*/\)[^/]* ,\\2&,"
8236 MPDEPEND_CMD = \$(CC) -MM \$(CFLAGS) \$(filter-out %.xpm,\$(filter-out %.h,$^)) | sed -e "s,[0-9a-z._-]*: \([a-z0-9/]*/\)[^/]* ,\1&," -e "s,\(.*\)\.o: ,\1.d &,"
8237 MPDEPEND_CMD_CXX = \$(CC) -MM \$(CXXFLAGS) \$(filter-out %.hh,\$(filter-out %.h,$^)) | sed -e "s,[0-9a-z._-]*: \([a-z0-9/]*/\)[^/]* ,\1&," -e "s,\(.*\)\.o: ,\1.d &,"
8240 HELP_FILE = $_mp_help
8248 $(echo $_cpuexts | tr '[a-z] ' '[A-Z]\n' | sed 's/^/HAVE_/;s/$/=yes/')
8250 MENCODER = $_mencoder
8253 NEED_GETTIMEOFDAY = $_need_gettimeofday
8254 NEED_GLOB = $_need_glob
8255 NEED_MMAP = $_need_mmap
8256 NEED_SETENV = $_need_setenv
8257 NEED_SHMEM = $_need_shmem
8258 NEED_STRSEP = $_need_strsep
8259 NEED_SWAB = $_need_swab
8260 NEED_VSSCANF = $_need_vsscanf
8268 APPLE_IR = $_apple_ir
8269 APPLE_REMOTE = $_apple_remote
8271 AUDIO_INPUT = $_audio_input
8272 BITMAP_FONT = $_bitmap_font
8277 COREAUDIO = $_coreaudio
8278 COREVIDEO = $_corevideo
8282 DIRECT3D = $_direct3d
8283 DIRECTFB = $_directfb
8287 DVDNAV_INTERNAL = $dvdnav_internal
8289 DVDREAD_INTERNAL = $_dvdread_internal
8295 FAAD_INTERNAL = $_faad_internal
8296 FASTMEMCPY = $_fastmemcpy
8298 FREETYPE = $_freetype
8303 GL_WIN32 = $_gl_win32
8307 GUI_WIN32 = $_gui_win32
8308 HAVE_POSIX_SELECT = $_posix_select
8309 HAVE_SYS_MMAN_H = $_mman
8312 JOYSTICK = $_joystick
8317 LIBA52_INTERNAL = $_liba52_internal
8319 LIBASS_INTERNAL = $ass_internal
8323 LIBDVDCSS_INTERNAL = $_libdvdcss_internal
8327 LIBMENU_DVBIN = $_menu_dvbin
8328 LIBMPEG2 = $_libmpeg2
8329 LIBNEMESI = $_nemesi
8331 LIBSMBCLIENT = $_smb
8332 LIBTHEORA = $_theora
8335 MACOSX_BUNDLE = $_macosx_bundle
8336 MACOSX_FINDER = $_macosx_finder
8342 MUSEPACK = $_musepack
8344 NATIVE_RTSP = $_native_rtsp
8348 PE_EXECUTABLE = $_pe_executable
8351 PRIORITY = $_priority
8355 QTX_CODECS_WIN32 = $_qtx_codecs_win32
8356 QTX_EMULATION = $_qtx_emulation
8359 RADIO_CAPTURE=$_radio_capture
8360 REAL_CODECS = $_real
8364 STREAM_CACHE = $_stream_cache
8365 SGIAUDIO = $_sgiaudio
8366 SUNAUDIO = $_sunaudio
8372 TREMOR_INTERNAL = $_tremor_internal
8374 TV_BSDBT848 = $_tv_bsdbt848
8375 TV_DSHOW = $_tv_dshow
8380 UNRAR_EXEC = $_unrar_exec
8386 VIDIX_PCIDB = $_vidix_pcidb_val
8387 VIDIX_CYBERBLADE=$_vidix_drv_cyberblade
8388 VIDIX_IVTV=$_vidix_drv_ivtv
8389 VIDIX_MACH64=$_vidix_drv_mach64
8390 VIDIX_MGA=$_vidix_drv_mga
8391 VIDIX_MGA_CRTC2=$_vidix_drv_mga_crtc2
8392 VIDIX_NVIDIA=$_vidix_drv_nvidia
8393 VIDIX_PM2=$_vidix_drv_pm2
8394 VIDIX_PM3=$_vidix_drv_pm3
8395 VIDIX_RADEON=$_vidix_drv_radeon
8396 VIDIX_RAGE128=$_vidix_drv_rage128
8397 VIDIX_S3=$_vidix_drv_s3
8398 VIDIX_SH_VEU=$_vidix_drv_sh_veu
8399 VIDIX_SIS=$_vidix_drv_sis
8400 VIDIX_UNICHROME=$_vidix_drv_unichrome
8404 WIN32DLL = $_win32dll
8405 WIN32WAVEOUT = $_win32waveout
8406 WIN32_EMULATION = $_win32_emulation
8407 WINVIDIX = $winvidix
8410 XANIM_CODECS = $_xanim
8412 XMMS_PLUGINS = $_xmms
8418 YUV4MPEG = $_yuv4mpeg
8422 LIBAVUTIL = $_libavutil
8423 LIBAVUTIL_A = $_libavutil_a
8424 LIBAVUTIL_SO = $_libavutil_so
8425 LIBAVCODEC = $_libavcodec
8426 LIBAVCODEC_A = $_libavcodec_a
8427 LIBAVCODEC_SO = $_libavcodec_so
8428 LIBAVFORMAT = $_libavformat
8429 LIBAVFORMAT_A = $_libavformat_a
8430 LIBAVFORMAT_SO = $_libavformat_so
8431 LIBPOSTPROC = $_libpostproc
8432 LIBPOSTPROC_A = $_libpostproc_a
8433 LIBPOSTPROC_SO = $_libpostproc_so
8434 LIBSWSCALE = $_libswscale
8435 LIBSWSCALE_A = $_libswscale_a
8436 LIBSWSCALE_SO = $_libswscale_so
8445 LIBNAME=\$(LIBPREF)\$(NAME)\$(LIBSUF)
8447 # Some FFmpeg codecs depend on these. Enable them unconditionally for now.
8450 CONFIG_FFT_MMX=$fft_mmx
8459 CONFIG_LIBDIRAC_DECODER=$_libdirac_lavc
8460 CONFIG_LIBDIRAC_ENCODER=$_libdirac_lavc
8461 CONFIG_LIBFAAC_ENCODER=$_faac_lavc
8462 CONFIG_LIBMP3LAME_ENCODER=$_mp3lame_lavc
8463 CONFIG_LIBOPENCORE_AMRNB_DECODER=$_libopencore_amrnb
8464 CONFIG_LIBOPENCORE_AMRNB_ENCODER=$_libopencore_amrnb
8465 CONFIG_LIBOPENCORE_AMRWB_DECODER=$_libopencore_amrwb
8466 CONFIG_LIBSCHROEDINGER_DECODER=$_libschroedinger_lavc
8467 CONFIG_LIBSCHROEDINGER_ENCODER=$_libschroedinger_lavc
8468 CONFIG_LIBVORBIS_ENCODER=$_libvorbis
8469 CONFIG_LIBX264_ENCODER=$_x264_lavc
8470 CONFIG_LIBXVID_ENCODER=$_xvid_lavc
8471 CONFIG_MLIB = $_mlib
8472 CONFIG_MUXERS=$_mencoder
8473 CONFIG_POSTPROC = yes
8474 # Prevent building libavcodec/imgresample.c with conflicting symbols
8476 CONFIG_VDPAU=$_vdpau
8480 HAVE_PTHREADS = $_pthreads
8482 HAVE_W32THREADS = $_w32threads
8483 HAVE_YASM = $_have_yasm
8485 $(echo $_libavdecoders | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/')
8486 $(echo $_libavencoders | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/')
8487 $(echo $_libavparsers | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/')
8488 $(echo $_libavdemuxers | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/')
8489 $(echo $_libavmuxers | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/')
8490 $(echo $_libavprotocols | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/')
8491 $(echo $_libavbsfs | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/')
8494 #############################################################################
8496 ff_config_enable
() {
8498 test -z "$_nprefix" && _nprefix
='CONFIG'
8500 if $
(echo $2 |
grep -q -E "(^| )$part($| )"); then
8501 echo "#define ${_nprefix}_$part 1"
8503 echo "#define ${_nprefix}_$part 0"
8508 echo "Creating config.h"
8510 /*----------------------------------------------------------------------------
8511 ** This file has been automatically generated by configure any changes in it
8512 ** will be lost when you run configure again.
8513 ** Instead of modifying definitions here, use the --enable/--disable options
8514 ** of the configure script! See ./configure --help for details.
8515 *---------------------------------------------------------------------------*/
8517 #ifndef MPLAYER_CONFIG_H
8518 #define MPLAYER_CONFIG_H
8520 /* Undefine this if you do not want to select mono audio (left or right)
8521 with a stereo MPEG layer 2/3 audio stream. The command line option
8522 -stereo has three possible values (0 for stereo, 1 for left-only, 2 for
8523 right-only), with 0 being the default.
8525 #define CONFIG_FAKE_MONO 1
8527 /* set up max. outburst. use 65536 for ALSA 0.5, for others 16384 is enough */
8528 #define MAX_OUTBURST 65536
8530 /* set up audio OUTBURST. Do not change this! */
8531 #define OUTBURST 512
8533 /* Enable fast OSD/SUB renderer (looks ugly, but uses less CPU power) */
8535 #undef FAST_OSD_TABLE
8537 /* Define this to enable MPEG-1/2 image postprocessing in libmpeg2 */
8538 #define MPEG12_POSTPROC 1
8539 #define ATTRIBUTE_ALIGNED_MAX 16
8543 #define CONFIGURATION "$_configuration"
8545 #define MPLAYER_DATADIR "$_datadir"
8546 #define MPLAYER_CONFDIR "$_confdir"
8547 #define MPLAYER_LIBDIR "$_libdir"
8549 /* definitions needed by included libraries */
8550 #define HAVE_INTTYPES_H 1
8551 /* libmpeg2 + FFmpeg */
8554 #define HAVE_ERRNO_H 1
8555 /* libdvdcss + libdvdread */
8556 #define HAVE_LIMITS_H 1
8557 /* libdvdcss + libfaad2 */
8558 #define HAVE_UNISTD_H 1
8559 /* libfaad2 + libdvdread */
8560 #define STDC_HEADERS 1
8561 #define HAVE_MEMCPY 1
8563 #define HAVE_STRING_H 1
8564 #define HAVE_STRINGS_H 1
8565 #define HAVE_SYS_STAT_H 1
8566 #define HAVE_SYS_TYPES_H 1
8568 #define READ_CACHE_TRACE 0
8570 #define HAVE_DLFCN_H 1
8574 /* system headers */
8576 $def_alsa_asoundlib_h
8580 $def_mman_has_map_failed
8582 $def_sys_asoundlib_h
8583 $def_sys_soundcard_h
8590 /* system functions */
8618 /* system-specific features */
8632 $def_restrict_keyword
8637 /* configurable options */
8641 $def_dynamic_plugins
8644 $def_runtime_cpudetection
8652 #define __CPU__ $iproc
8655 $(ff_config_enable "$_arch_all" "$_arch" "ARCH")
8656 $(ff_config_enable "$_cpuexts_all" "$_cpuexts" "HAVE")
8660 #define DEFAULT_CDROM_DEVICE "$default_cdrom_device"
8661 #define DEFAULT_DVD_DEVICE "$default_dvd_device"
8681 /* codec libraries */
8686 $def_liba52_internal
8694 $def_mp3lame_preset_medium
8717 #define WIN32_PATH "$_win32codecsdir"
8721 #define XMMS_INPUT_PLUGIN_DIR "$_xmmsplugindir"
8730 /* Audio output drivers */
8745 $def_ossaudio_devdsp
8746 $def_ossaudio_devmixer
8759 $def_ioctl_bt848_h_name
8760 $def_ioctl_meteor_h_name
8814 $def_directfb_version
8850 $def_vidix_drv_cyberblade
8852 $def_vidix_drv_mach64
8854 $def_vidix_drv_mga_crtc2
8855 $def_vidix_drv_nvidia
8857 $def_vidix_drv_radeon
8858 $def_vidix_drv_rage128
8860 $def_vidix_drv_sh_veu
8862 $def_vidix_drv_unichrome
8896 #define CONFIG_DECODERS 1
8897 #define CONFIG_ENCODERS 1
8898 #define CONFIG_DEMUXERS 1
8908 $def_libavcodec_mpegaudio_hp
8919 #define CONFIG_FASTDIV 0
8920 #define CONFIG_FFSERVER 0
8921 #define CONFIG_GPL 1
8922 #define CONFIG_GRAY 0
8923 #define CONFIG_HARDCODED_TABLES 0
8924 #define CONFIG_LIBVORBIS 0
8925 #define CONFIG_POWERPC_PERF 0
8926 #define CONFIG_SMALL 0
8927 #define CONFIG_SWSCALE 1
8928 #define CONFIG_SWSCALE_ALPHA 1
8930 #define HAVE_ATTRIBUTE_PACKED 1
8931 #define HAVE_GETHRTIME 0
8932 #define HAVE_INLINE_ASM 0
8933 #define HAVE_LDBRX 0
8934 #define HAVE_POLL_H 1
8935 #define HAVE_PPC4XX 0
8936 #define HAVE_VIRTUALALLOC 0
8938 /* Some FFmpeg codecs depend on these. Enable them unconditionally for now. */
8939 #define CONFIG_AANDCT 1
8940 #define CONFIG_FFT 1
8941 #define CONFIG_GOLOMB 1
8942 #define CONFIG_LPC 1
8943 #define CONFIG_MDCT 1
8944 #define CONFIG_RDFT 1
8946 /* Use these registers in FFmpeg x86 inline asm. No proper detection yet. */
8949 #define HAVE_EBP_AVAILABLE 1
8951 #define HAVE_EBP_AVAILABLE 0
8954 #define FFMPEG_CONFIGURATION "--enable-gpl --enable-postproc"
8955 #define FFMPEG_LICENSE "GPL version 2 or later"
8957 /* External libraries used through libavcodec. */
8960 $def_libopencore_amrnb
8961 $def_libopencore_amrwb
8962 $def_libschroedinger_lavc
8967 $(ff_config_enable "$_libavdecoders_all" "$_libavdecoders")
8968 $(ff_config_enable "$_libavencoders_all" "$_libavencoders")
8969 $(ff_config_enable "$_libavparsers_all" "$_libavparsers")
8970 $(ff_config_enable "$_libavdemuxers_all" "$_libavdemuxers")
8971 $(ff_config_enable "$_libavmuxers_all" "$_libavmuxers")
8972 $(ff_config_enable "$_libavprotocols_all" "$_libavprotocols")
8973 $(ff_config_enable "$_libavbsfs_all" "$_libavbsfs")
8975 #define CONFIG_H263_VAAPI_HWACCEL 0
8976 #define CONFIG_MPEG2_VAAPI_HWACCEL 0
8977 #define CONFIG_MPEG4_VAAPI_HWACCEL 0
8978 #define CONFIG_H264_VAAPI_HWACCEL 0
8979 #define CONFIG_VC1_VAAPI_HWACCEL 0
8980 #define CONFIG_WMV3_VAAPI_HWACCEL 0
8982 #endif /* MPLAYER_CONFIG_H */
8985 # Do not overwrite an unchanged config.h to avoid superfluous rebuilds.
8986 cmp -s "$TMPH" config.h ||
mv -f "$TMPH" config.h
8988 #############################################################################
8992 Config files successfully generated by ./configure $_configuration !
8994 Install prefix: $_prefix
8995 Data directory: $_datadir
8996 Config direct.: $_confdir
8998 Byte order: $_byte_order
8999 Optimizing for: $_optimizing
9002 Messages/GUI: $language_msg
9003 Manual pages: $language_man
9004 Documentation: $language_doc
9006 Enabled optional drivers:
9007 Input: $_inputmodules
9008 Codecs: $_codecmodules
9009 Audio output: $_aomodules
9010 Video output: $_vomodules
9012 Disabled optional drivers:
9013 Input: $_noinputmodules
9014 Codecs: $_nocodecmodules
9015 Audio output: $_noaomodules
9016 Video output: $_novomodules
9018 'config.h' and 'config.mak' contain your configuration options.
9019 Note: If you alter theses files (for instance CFLAGS) MPlayer may no longer
9020 compile *** DO NOT REPORT BUGS if you tweak these files ***
9022 'make' will now compile MPlayer and 'make install' will install it.
9023 Note: On non-Linux systems you might need to use 'gmake' instead of 'make'.
9028 if test "$_mtrr" = yes ; then
9029 echo "Please check mtrr settings at /proc/mtrr (see DOCS/HTML/$doc_lang/video.html#mtrr)"
9035 NOTE: Win32 codec DLLs are not supported on your CPU ($host_arch) or your
9036 operating system ($system_name). You may encounter a few files that cannot
9037 be played due to missing open source video/audio codec support.
9044 Check $TMPLOG if you wonder why an autodetection failed (make sure
9045 development headers/packages are installed).
9047 NOTE: The --enable-* parameters unconditionally force options on, completely
9048 skipping autodetection. This behavior is unlike what you may be used to from
9049 autoconf-based configure scripts that can decide to override you. This greater
9050 level of control comes at a price. You may have to provide the correct compiler
9051 and linker flags yourself.
9052 If you used one of these options (except --enable-gui and similar ones that
9053 turn on internal features) and experience a compilation or linking failure,
9054 make sure you have passed the necessary compiler/linker flags to configure.
9056 If you suspect a bug, please read DOCS/HTML/$doc_lang/bugreports.html.
9060 if test "$_warn_CFLAGS" = yes; then
9063 MPlayer compilation will use the CPPFLAGS/CFLAGS/LDFLAGS/YASMFLAGS set by you,
9066 *** *** DO NOT REPORT BUGS IF IT DOES NOT COMPILE/WORK! *** ***
9068 It is strongly recommended to let MPlayer choose the correct CFLAGS!
9069 To do so, execute 'CFLAGS= ./configure <options>'
9075 rm -f "$TMPEXE" "$TMPC" "$TMPS" "$TMPCPP" "$TMPH"