3 # Original version (C) 2000 Pontscho/fresh!mindworkz
4 # pontscho@makacs.poliod.hu
6 # History / Contributors: Check the Subversion log.
8 # Cleanups all over the place (c) 2001 pl
11 # This configure script is *not* autoconf-based and has different semantics.
12 # It attempts to autodetect all settings and options where possible. It is
13 # possible to override autodetection with the --enable-option/--disable-option
14 # command line parameters. --enable-option forces the option on skipping
15 # autodetection. Yes, this means that compilation may fail and yes, this is not
16 # how autoconf-based configure scripts behave.
18 # configure generates a series of configuration files:
19 # - config.h contains #defines that are used in the C code.
20 # - config.mak is included from the Makefiles.
22 # If you want to add a new check for $feature, here is a simple skeleton:
24 # echocheck "$feature"
25 # if test "$_feature" = auto; then
27 # #include <feature.h>
28 # int main(void) { return 0; }
31 # cc_check && _feature=yes
33 # if test "$_feature" = yes ; then
34 # def_feature='#define CONFIG_FEATURE 1'
36 # def_feature='#undef CONFIG_FEATURE'
40 # Furthermore you need to add the variable _feature to the list of default
41 # settings and set it to one of yes/no/auto. Also add appropriate
42 # --enable-feature/--disable-feature command line options.
43 # The results of the check should be written to config.h and config.mak
44 # at the end of this script. The variable names used for this should be
45 # uniform, i.e. if the option is named 'feature':
47 # _feature : should have a value of yes/no/auto
48 # def_feature : '#define ... 1' or '#undef ...' for conditional compilation
49 # _ld_feature : '-L/path/dir -lfeature' GCC options
51 #############################################################################
53 # Prevent locale nonsense from breaking basic text processing utils
56 # Store the configure line that was used
59 # Prefer these macros to full length text !
60 # These macros only return an error code - NO display is done
65 echo "$_cc $CFLAGS $extra_cflags $_ld_static $extra_ldflags $libs_mplayer $libs_mencoder -o $TMPEXE $@" >> "$TMPLOG"
67 $_cc $CFLAGS $extra_cflags $_ld_static $extra_ldflags $libs_mplayer $libs_mencoder -o "$TMPEXE" "$@" >> "$TMPLOG" 2>&1
75 compile_check
$TMPC $@
79 compile_check
$TMPCPP $@
-lstdc++
84 cat "$TMPS" >> "$TMPLOG"
86 echo "$_yasm $YASMFLAGS -o $TMPEXE $TMPS $@" >> "$TMPLOG"
88 $_yasm $YASMFLAGS -o "$TMPEXE" "$TMPS" "$@" >> "$TMPLOG" 2>&1
96 "$TMPEXE" >> "$TMPLOG" 2>&1
99 # Display error message, flushes tempfile, exit
104 rm -f "$TMPEXE" "$TMPC" "$TMPS" "$TMPCPP"
105 echo "Check \"$TMPLOG\" if you do not understand why it failed."
109 # OS test booleans functions
111 test "$(echo $system_name | tr A-Z a-z)" = "$(echo $1 | tr A-Z a-z)"
113 aix
() { issystem
"AIX"; }
114 amigaos
() { issystem
"AmigaOS"; }
115 beos
() { issystem
"BEOS"; }
116 bsdos
() { issystem
"BSD/OS"; }
117 cygwin
() { issystem
"CYGWIN"; }
118 darwin
() { issystem
"Darwin"; }
119 dragonfly
() { issystem
"DragonFly"; }
120 freebsd
() { issystem
"FreeBSD" || issystem
"GNU/kFreeBSD"; }
121 gnu
() { issystem
"GNU"; }
122 hpux
() { issystem
"HP-UX"; }
123 irix
() { issystem
"IRIX"; }
124 linux
() { issystem
"Linux"; }
125 mingw32
() { issystem
"MINGW32"; }
126 morphos
() { issystem
"MorphOS"; }
127 netbsd
() { issystem
"NetBSD"; }
128 openbsd
() { issystem
"OpenBSD"; }
129 os2
() { issystem
"OS/2"; }
130 qnx
() { issystem
"QNX"; }
131 sunos
() { issystem
"SunOS"; }
132 win32
() { cygwin || mingw32
; }
134 # arch test boolean functions
135 # x86/x86pc is used by QNX
138 i
[3-9]86|x86|x86pc|k5|k6|k6-2|k6-3|pentium
*|athlon
*|i586-i686
) return 0 ;;
145 x86_64|amd64
) return 0 ;;
156 ppc|ppc64|powerpc|powerpc64
) return 0;;
175 # Use this before starting a check
177 echo "============ Checking for $@ ============" >> "$TMPLOG"
178 echo ${_echo_n} "Checking for $@ ... ${_echo_c}"
181 # Use this to echo the results of a check
183 if test "$res_comment" ; then
184 res_comment
="($res_comment)"
186 echo "Result is: $@ $res_comment" >> "$TMPLOG"
187 echo "##########################################" >> "$TMPLOG"
189 echo "$@ $res_comment"
192 #############################################################################
194 # Check how echo works in this /bin/sh
196 -n) _echo_n
= _echo_c
='\c' ;; # SysV echo
197 *) _echo_n
='-n ' _echo_c
= ;; # BSD echo
200 msg_lang_all
=$
(echo help
/help_mp-??.h help
/help_mp-??_??.h |
sed -e "s:help/help_mp-\(..\).h:\1:g" -e "s:help/help_mp-\(.....\).h:\1:g")
201 man_lang_all
=$
(echo DOCS
/man
/??
/mplayer
.1 DOCS
/man
/??_??
/mplayer
.1 |
sed -e "s:DOCS/man/\(..\)/mplayer.1:\1:g" -e "s:DOCS/man/\(.._..\)/mplayer.1:\1:g")
202 doc_lang_all
=$
(echo DOCS
/xml
/??
/ DOCS
/xml
/??_??
/ |
sed -e "s:DOCS/xml/\(..\)/:\1:g" -e "s:DOCS/xml/\(.._..\)/:\1:g")
206 Usage: $0 [OPTIONS]...
209 -h, --help display this help and exit
211 Installation directories:
212 --prefix=DIR prefix directory for installation [/usr/local]
213 --bindir=DIR directory for installing binaries [PREFIX/bin]
214 --datadir=DIR directory for installing machine independent
215 data files (skins, etc) [PREFIX/share/mplayer]
216 --mandir=DIR directory for installing man pages [PREFIX/share/man]
217 --confdir=DIR directory for installing configuration files
219 --libdir=DIR directory for object code libraries [PREFIX/lib]
220 --codecsdir=DIR directory for binary codecs [LIBDIR/codecs]
223 --disable-mencoder disable MEncoder (A/V encoder) compilation [enable]
224 --disable-mplayer disable MPlayer compilation [enable]
225 --enable-gui enable GMPlayer compilation (GTK+ GUI) [disable]
226 --enable-gtk1 force using GTK 1.2 for the GUI [disable]
227 --disable-largefiles disable support for files > 2GB [enable]
228 --enable-linux-devfs set default devices to devfs [disable]
229 --enable-termcap use termcap database for key codes [autodetect]
230 --enable-termios use termios database for key codes [autodetect]
231 --disable-iconv disable iconv for encoding conversion [autodetect]
232 --disable-langinfo do not use langinfo [autodetect]
233 --enable-lirc enable LIRC (remote control) support [autodetect]
234 --enable-lircc enable LIRCCD (LIRC client daemon) input [autodetect]
235 --enable-joystick enable joystick support [disable]
236 --enable-apple-remote enable Apple Remote input (Mac OS X only) [autodetect]
237 --enable-apple-ir enable Apple IR Remote input (Linux only) [autodetect]
238 --disable-vm disable X video mode extensions [autodetect]
239 --disable-xf86keysym disable support for multimedia keys [autodetect]
240 --enable-radio enable radio interface [disable]
241 --enable-radio-capture enable radio capture (through PCI/line-in) [disable]
242 --disable-radio-v4l2 disable Video4Linux2 radio interface [autodetect]
243 --disable-radio-bsdbt848 disable BSD BT848 radio interface [autodetect]
244 --disable-tv disable TV interface (TV/DVB grabbers) [enable]
245 --disable-tv-v4l1 disable Video4Linux TV interface [autodetect]
246 --disable-tv-v4l2 disable Video4Linux2 TV interface [autodetect]
247 --disable-tv-bsdbt848 disable BSD BT848 interface [autodetect]
248 --disable-pvr disable Video4Linux2 MPEG PVR [autodetect]
249 --disable-rtc disable RTC (/dev/rtc) on Linux [autodetect]
250 --disable-network disable networking [enable]
251 --enable-winsock2_h enable winsock2_h [autodetect]
252 --enable-smb enable Samba (SMB) input [autodetect]
253 --enable-live enable LIVE555 Streaming Media [autodetect]
254 --enable-nemesi enable Nemesi Streaming Media [autodetect]
255 --disable-vcd disable VCD support [autodetect]
256 --disable-dvdnav disable libdvdnav [autodetect]
257 --disable-dvdread disable libdvdread [autodetect]
258 --disable-dvdread-internal disable internal libdvdread [autodetect]
259 --disable-libdvdcss-internal disable internal libdvdcss [autodetect]
260 --disable-cdparanoia disable cdparanoia [autodetect]
261 --disable-cddb disable cddb [autodetect]
262 --disable-bitmap-font disable bitmap font support [enable]
263 --disable-freetype disable FreeType 2 font rendering [autodetect]
264 --disable-fontconfig disable fontconfig font lookup [autodetect]
265 --disable-unrarexec disable using of UnRAR executable [enabled]
266 --enable-menu enable OSD menu (not DVD menu) [disabled]
267 --disable-sortsub disable subtitle sorting [enabled]
268 --enable-fribidi enable the FriBiDi libs [autodetect]
269 --disable-enca disable ENCA charset oracle library [autodetect]
270 --disable-maemo disable maemo specific features [autodetect]
271 --enable-macosx-finder enable Mac OS X Finder invocation parameter
273 --enable-macosx-bundle enable Mac OS X bundle file locations [autodetect]
274 --disable-inet6 disable IPv6 support [autodetect]
275 --disable-gethostbyname2 gethostbyname2 part of the C library [autodetect]
276 --disable-ftp disable FTP support [enabled]
277 --disable-vstream disable TiVo vstream client support [autodetect]
278 --disable-pthreads disable Posix threads support [autodetect]
279 --disable-w32threads disable Win32 threads support [autodetect]
280 --disable-ass-internal disable internal SSA/ASS subtitle support [autodetect]
281 --disable-ass disable SSA/ASS subtitle support [autodetect]
282 --enable-rpath enable runtime linker path for extra libs [disabled]
285 --enable-gif enable GIF support [autodetect]
286 --enable-png enable PNG input/output support [autodetect]
287 --enable-mng enable MNG input support [autodetect]
288 --enable-jpeg enable JPEG input/output support [autodetect]
289 --enable-libcdio enable libcdio support [autodetect]
290 --enable-liblzo enable liblzo support [autodetect]
291 --disable-win32dll disable Win32 DLL support [autodetect]
292 --disable-qtx disable QuickTime codecs support [enabled]
293 --disable-xanim disable XAnim codecs support [enabled]
294 --disable-real disable RealPlayer codecs support [enabled]
295 --disable-xvid disable Xvid [autodetect]
296 --disable-xvid-lavc disable Xvid in libavcodec [autodetect]
297 --disable-x264 disable x264 [autodetect]
298 --disable-x264-lavc disable x264 in libavcodec [autodetect]
299 --disable-libdirac-lavc disable Dirac in libavcodec [autodetect]
300 --disable-libschroedinger-lavc disable Dirac in libavcodec (Schroedinger
301 decoder) [autodetect]
302 --disable-libvpx-lavc disable libvpx in libavcodec [autodetect]
303 --disable-libnut disable libnut [autodetect]
304 --disable-libavutil_a disable static libavutil [autodetect]
305 --disable-libavcodec_a disable static libavcodec [autodetect]
306 --disable-libavformat_a disable static libavformat [autodetect]
307 --disable-libpostproc_a disable static libpostproc [autodetect]
308 --disable-libswscale_a disable static libswscale [autodetect]
309 --disable-libavutil_so disable shared libavutil [autodetect]
310 --disable-libavcodec_so disable shared libavcodec [autodetect]
311 --disable-libavformat_so disable shared libavformat [autodetect]
312 --disable-libpostproc_so disable shared libpostproc [autodetect]
313 --disable-libswscale_so disable shared libswscale [autodetect]
314 --disable-libavcodec_mpegaudio_hp disable high precision audio decoding
315 in libavcodec [enabled]
316 --disable-tremor-internal disable internal Tremor [enabled]
317 --enable-tremor-low enable lower accuracy internal Tremor [disabled]
318 --enable-tremor enable external Tremor [autodetect]
319 --disable-libvorbis disable libvorbis support [autodetect]
320 --disable-speex disable Speex support [autodetect]
321 --enable-theora enable OggTheora libraries [autodetect]
322 --enable-faad enable external FAAD2 (AAC) [autodetect]
323 --disable-faad-internal disable internal FAAD2 (AAC) [autodetect]
324 --enable-faad-fixed enable fixed-point mode in internal FAAD2 [disabled]
325 --disable-faac disable support for FAAC (AAC encoder) [autodetect]
326 --disable-faac-lavc disable support for FAAC in libavcodec [autodetect]
327 --disable-ladspa disable LADSPA plugin support [autodetect]
328 --disable-libbs2b disable libbs2b audio filter support [autodetect]
329 --disable-libdv disable libdv 0.9.5 en/decoding support [autodetect]
330 --disable-mad disable libmad (MPEG audio) support [autodetect]
331 --disable-mp3lame disable LAME MP3 encoding support [autodetect]
332 --disable-mp3lame-lavc disable LAME in libavcodec [autodetect]
333 --disable-toolame disable Toolame (MPEG layer 2) encoding [autodetect]
334 --disable-twolame disable Twolame (MPEG layer 2) encoding [autodetect]
335 --enable-xmms enable XMMS input plugin support [disabled]
336 --enable-libdca enable libdca support [autodetect]
337 --disable-mp3lib disable builtin mp3lib [autodetect]
338 --disable-liba52 disable liba52 [autodetect]
339 --disable-libmpeg2 disable builtin libmpeg2 [autodetect]
340 --disable-musepack disable musepack support [autodetect]
341 --disable-libopencore_amrnb disable libopencore_amr narrowband [autodetect]
342 --disable-libopencore_amrwb disable libopencore_amr wideband [autodetect]
343 --disable-libopenjpeg disable OpenJPEG (JPEG2000) input/output support [autodetect]
344 --disable-decoder=DECODER disable specified FFmpeg decoder
345 --enable-decoder=DECODER enable specified FFmpeg decoder
346 --disable-encoder=ENCODER disable specified FFmpeg encoder
347 --enable-encoder=ENCODER enable specified FFmpeg encoder
348 --disable-parser=PARSER disable specified FFmpeg parser
349 --enable-parser=PARSER enable specified FFmpeg parser
350 --disable-protocol=PROTO disable specified FFmpeg protocol
351 --enable-protocol=PROTO enable specified FFmpeg protocol
352 --disable-demuxer=DEMUXER disable specified FFmpeg demuxer
353 --enable-demuxer=DEMUXER enable specified FFmpeg demuxer
354 --disable-muxer=MUXER disable specified FFmpeg muxer
355 --enable-muxer=MUXER enable specified FFmpeg muxer
358 --disable-vidix disable VIDIX [for x86 *nix]
359 --with-vidix-drivers[=*] list of VIDIX drivers to be compiled in
360 Available: cyberblade,ivtv,mach64,mga,mga_crtc2,
361 nvidia,pm2,pm3,radeon,rage128,s3,sis,unichrome
362 --disable-vidix-pcidb disable VIDIX PCI device name database
363 --enable-dhahelper enable VIDIX dhahelper support
364 --enable-svgalib_helper enable VIDIX svgalib_helper support
365 --enable-gl enable OpenGL video output [autodetect]
366 --disable-matrixview disable OpenGL MatrixView video output [autodetect]
367 --enable-dga2 enable DGA 2 support [autodetect]
368 --enable-dga1 enable DGA 1 support [autodetect]
369 --enable-vesa enable VESA video output [autodetect]
370 --enable-svga enable SVGAlib video output [autodetect]
371 --enable-sdl enable SDL video output [autodetect]
372 --enable-kva enable KVA video output [autodetect]
373 --enable-aa enable AAlib video output [autodetect]
374 --enable-caca enable CACA video output [autodetect]
375 --enable-ggi enable GGI video output [autodetect]
376 --enable-ggiwmh enable GGI libggiwmh extension [autodetect]
377 --enable-direct3d enable Direct3D video output [autodetect]
378 --enable-directx enable DirectX video output [autodetect]
379 --enable-dxr2 enable DXR2 video output [autodetect]
380 --enable-dxr3 enable DXR3/H+ video output [autodetect]
381 --enable-ivtv enable IVTV TV-Out video output [autodetect]
382 --enable-v4l2 enable V4L2 Decoder audio/video output [autodetect]
383 --enable-dvb enable DVB video output [autodetect]
384 --enable-mga enable mga_vid video output [autodetect]
385 --enable-xmga enable mga_vid X11 video output [autodetect]
386 --enable-xv enable Xv video output [autodetect]
387 --enable-xvmc enable XvMC acceleration [disable]
388 --enable-vdpau enable VDPAU acceleration [autodetect]
389 --enable-vm enable XF86VidMode support [autodetect]
390 --enable-xinerama enable Xinerama support [autodetect]
391 --enable-x11 enable X11 video output [autodetect]
392 --enable-xshape enable XShape support [autodetect]
393 --disable-xss disable screensaver support via xss [autodetect]
394 --enable-fbdev enable FBDev video output [autodetect]
395 --enable-mlib enable mediaLib video output (Solaris) [disable]
396 --enable-3dfx enable obsolete /dev/3dfx video output [disable]
397 --enable-tdfxfb enable tdfxfb video output [disable]
398 --enable-s3fb enable s3fb (S3 ViRGE) video output [disable]
399 --enable-wii enable Nintendo Wii/GameCube video output [disable]
400 --enable-directfb enable DirectFB video output [autodetect]
401 --enable-zr enable ZR360[56]7/ZR36060 video output [autodetect]
402 --enable-bl enable Blinkenlights video output [disable]
403 --enable-tdfxvid enable tdfx_vid video output [disable]
404 --enable-xvr100 enable SUN XVR-100 video output [autodetect]
405 --disable-tga disable Targa video output [enable]
406 --disable-pnm disable PNM video output [enable]
407 --disable-md5sum disable md5sum video output [enable]
408 --disable-yuv4mpeg disable yuv4mpeg video output [enable]
409 --disable-corevideo disable CoreVideo video output [autodetect]
410 --disable-quartz disable Quartz video output [autodetect]
413 --disable-alsa disable ALSA audio output [autodetect]
414 --disable-ossaudio disable OSS audio output [autodetect]
415 --disable-arts disable aRts audio output [autodetect]
416 --disable-esd disable esd audio output [autodetect]
417 --disable-pulse disable Pulseaudio audio output [autodetect]
418 --disable-jack disable JACK audio output [autodetect]
419 --disable-openal disable OpenAL audio output [autodetect]
420 --disable-nas disable NAS audio output [autodetect]
421 --disable-sgiaudio disable SGI audio output [autodetect]
422 --disable-sunaudio disable Sun audio output [autodetect]
423 --disable-kai disable KAI audio output [autodetect]
424 --disable-dart disable DART audio output [autodetect]
425 --disable-win32waveout disable Windows waveout audio output [autodetect]
426 --disable-coreaudio disable CoreAudio audio output [autodetect]
427 --disable-select disable using select() on the audio device [enable]
430 --charset=charset convert the console messages to this character set
431 --language-doc=lang language to use for the documentation [en]
432 --language-man=lang language to use for the man pages [en]
433 --language-msg=lang language to use for the messages and the GUI [en]
434 --language=lang default language to use [en]
435 Specific options override --language. You can pass a list of languages separated
436 by whitespace or commas instead of a single language. Nonexisting translations
437 will be dropped from each list. All documentation and man page translations
438 available in the list will be installed, for the messages the first available
439 translation will be used. The value "all" will activate all translations. The
440 LINGUAS environment variable is honored. In all cases the fallback is English.
441 Available values are: all $msg_lang_all
443 Miscellaneous options:
444 --enable-runtime-cpudetection enable runtime CPU detection [disable]
445 --enable-cross-compile enable cross-compilation [autodetect]
446 --cc=COMPILER C compiler to build MPlayer [gcc]
447 --host-cc=COMPILER C compiler for tools needed while building [gcc]
448 --as=ASSEMBLER assembler to build MPlayer [as]
449 --nm=NM nm tool to build MPlayer [nm]
450 --yasm=YASM Yasm assembler to build MPlayer [yasm]
451 --ar=AR librarian to build MPlayer [ar]
452 --ranlib=RANLIB ranlib to build MPlayer [ranlib]
453 --windres=WINDRES windres to build MPlayer [windres]
454 --target=PLATFORM target platform (i386-linux, arm-linux, etc)
455 --enable-static build a statically linked binary
456 --with-install=PATH path to a custom install program
459 --enable-mmx enable MMX [autodetect]
460 --enable-mmxext enable MMX2 (Pentium III, Athlon) [autodetect]
461 --enable-3dnow enable 3DNow! [autodetect]
462 --enable-3dnowext enable extended 3DNow! [autodetect]
463 --enable-sse enable SSE [autodetect]
464 --enable-sse2 enable SSE2 [autodetect]
465 --enable-ssse3 enable SSSE3 [autodetect]
466 --enable-shm enable shm [autodetect]
467 --enable-altivec enable AltiVec (PowerPC) [autodetect]
468 --enable-armv5te enable DSP extensions (ARM) [autodetect]
469 --enable-armv6 enable ARMv6 (ARM) [autodetect]
470 --enable-armv6t2 enable ARMv6t2 (ARM) [autodetect]
471 --enable-armvfp enable ARM VFP (ARM) [autodetect]
472 --enable-neon enable NEON (ARM) [autodetect]
473 --enable-iwmmxt enable iWMMXt (ARM) [autodetect]
474 --disable-fastmemcpy disable 3DNow!/SSE/MMX optimized memcpy [enable]
475 --enable-hardcoded-tables put tables in binary instead of calculating them at startup [disable]
476 --enable-big-endian force byte order to big-endian [autodetect]
477 --enable-debug[=1-3] compile-in debugging information [disable]
478 --enable-profile compile-in profiling information [disable]
479 --disable-sighandler disable sighandler for crashes [enable]
480 --enable-crash-debug enable automatic gdb attach on crash [disable]
481 --enable-dynamic-plugins enable dynamic A/V plugins [disable]
483 Use these options if autodetection fails:
484 --extra-cflags=FLAGS extra CFLAGS
485 --extra-ldflags=FLAGS extra LDFLAGS
486 --extra-libs=FLAGS extra linker flags
487 --extra-libs-mplayer=FLAGS extra linker flags for MPlayer
488 --extra-libs-mencoder=FLAGS extra linker flags for MEncoder
489 --with-xvmclib=NAME adapter-specific library name (e.g. XvMCNVIDIA)
491 --with-freetype-config=PATH path to freetype-config
492 --with-glib-config=PATH path to glib*-config
493 --with-gtk-config=PATH path to gtk*-config
494 --with-sdl-config=PATH path to sdl*-config
495 --with-dvdnav-config=PATH path to dvdnav-config
496 --with-dvdread-config=PATH path to dvdread-config
498 This configure script is NOT autoconf-based, even though its output is similar.
499 It will try to autodetect all configuration options. If you --enable an option
500 it will be forcefully turned on, skipping autodetection. This can break
501 compilation, so you need to know what you are doing.
506 # GOTCHA: the variables below defines the default behavior for autodetection
507 # and have - unless stated otherwise - at least 2 states : yes no
508 # If autodetection is available then the third state is: auto
532 test "$CC" && _cc
="$CC"
536 _runtime_cpudetection
=no
542 _libopencore_amrnb
=auto
543 _libopencore_amrwb
=auto
545 _libavdecoders_all
=$
(sed -n 's/^[^#]*DEC.*(.*, *\(.*\)).*/\1_decoder/p' libavcodec
/allcodecs.c |
tr '[a-z]' '[A-Z]')
546 _libavdecoders
=$
(echo $_libavdecoders_all |
sed -e 's/ LIB[A-Z0-9_]*_DECODER//g' -e s
/MPEG4AAC_DECODER
//)
547 _libavencoders_all
=$
(sed -n 's/^[^#]*ENC.*(.*, *\(.*\)).*/\1_encoder/p' libavcodec
/allcodecs.c |
tr '[a-z]' '[A-Z]')
548 _libavencoders
=$
(echo $_libavencoders_all |
sed -e 's/ LIB[A-Z0-9_]*_ENCODER//g' -e s
/AAC_ENCODER
//)
549 _libavparsers_all
=$
(sed -n 's/^[^#]*PARSER.*(.*, *\(.*\)).*/\1_parser/p' libavcodec
/allcodecs.c |
tr '[a-z]' '[A-Z]')
550 _libavparsers
=$_libavparsers_all
551 _libavbsfs_all
=$
(sed -n 's/^[^#]*BSF.*(.*, *\(.*\)).*/\1_bsf/p' libavcodec
/allcodecs.c |
tr '[a-z]' '[A-Z]')
552 _libavbsfs
=$_libavbsfs_all
553 _libavhwaccels_all
=$
(sed -n 's/^[^#]*HWACCEL.*(.*, *\(.*\)).*/\1_hwaccel/p' libavcodec
/allcodecs.c |
tr '[a-z]' '[A-Z]')
554 # Disable all hardware accelerators for now.
556 _libavdemuxers_all
=$
(sed -n 's/^[^#]*DEMUX.*(.*, *\(.*\)).*/\1_demuxer/p' libavformat
/allformats.c |
tr '[a-z]' '[A-Z]')
557 _libavdemuxers
=$
(echo $_libavdemuxers_all |
sed -e 's/ LIB[A-Z0-9_]*_DEMUXER//g' -e s
/REDIR_DEMUXER
// -e s
/AVISYNTH_DEMUXER
//)
558 _libavmuxers_all
=$
(sed -n 's/^[^#]*_MUX.*(.*, *\(.*\)).*/\1_muxer/p' libavformat
/allformats.c |
tr '[a-z]' '[A-Z]')
559 _libavmuxers
=$
(echo $_libavmuxers_all |
sed -e 's/ LIB[A-Z0-9_]*_MUXER//g' -e s
/RTP_MUXER
// -e s
/RTSP_MUXER
//)
560 _libavprotocols_all
=$
(sed -n 's/^[^#]*PROTOCOL.*(.*, *\(.*\)).*/\1_protocol/p' libavformat
/allformats.c |
tr '[a-z]' '[A-Z]')
561 _libavprotocols
=$_libavprotocols_all
569 _libavcodec_mpegaudio_hp
=yes
578 _xvmc
=no
#auto when complete
645 _dvdnavconfig
=dvdnav-config
646 _dvdreadconfig
=dvdread-config
648 _dvdread_internal
=auto
649 _libdvdcss_internal
=auto
660 _mlib
=no
#broken, thus disabled
682 _struct_addrinfo
=auto
684 _struct_sockaddr_storage
=auto
696 _libschroedinger_lavc
=auto
742 _freetypeconfig
='freetype-config'
758 def_dos_paths
="#define HAVE_DOS_PATHS 0"
759 def_stream_cache
="#define CONFIG_STREAM_CACHE 1"
760 def_priority
="#undef CONFIG_PRIORITY"
761 def_pthread_cache
="#undef PTHREAD_CACHE"
769 _prefix
=$
(echo $ac_option | cut
-d '=' -f 2)
772 _bindir
=$
(echo $ac_option | cut
-d '=' -f 2)
775 _datadir
=$
(echo $ac_option | cut
-d '=' -f 2)
778 _mandir
=$
(echo $ac_option | cut
-d '=' -f 2)
781 _confdir
=$
(echo $ac_option | cut
-d '=' -f 2)
784 _libdir
=$
(echo $ac_option | cut
-d '=' -f 2)
787 _codecsdir
=$
(echo $ac_option | cut
-d '=' -f 2)
791 _install
=$
(echo $ac_option | cut
-d '=' -f 2 )
794 _xvmclib
=$
(echo $ac_option | cut
-d '=' -f 2)
798 _sdlconfig
=$
(echo $ac_option | cut
-d '=' -f 2)
800 --with-freetype-config=*)
801 _freetypeconfig
=$
(echo $ac_option | cut
-d '=' -f 2)
804 _gtkconfig
=$
(echo $ac_option | cut
-d '=' -f 2)
806 --with-glib-config=*)
807 _glibconfig
=$
(echo $ac_option | cut
-d '=' -f 2)
809 --with-dvdnav-config=*)
810 _dvdnavconfig
=$
(echo $ac_option | cut
-d '=' -f 2)
812 --with-dvdread-config=*)
813 _dvdreadconfig
=$
(echo $ac_option | cut
-d '=' -f 2)
817 extra_cflags
=$
(echo $ac_option | cut
-d '=' -f 2-)
820 extra_ldflags
=$
(echo $ac_option | cut
-d '=' -f 2-)
823 extra_libs
=$
(echo $ac_option | cut
-d '=' -f 2)
825 --extra-libs-mplayer=*)
826 libs_mplayer
=$
(echo $ac_option | cut
-d '=' -f 2)
828 --extra-libs-mencoder=*)
829 libs_mencoder
=$
(echo $ac_option | cut
-d '=' -f 2)
833 _target
=$
(echo $ac_option | cut
-d '=' -f 2)
836 _cc
=$
(echo $ac_option | cut
-d '=' -f 2)
839 _host_cc
=$
(echo $ac_option | cut
-d '=' -f 2)
842 _as
=$
(echo $ac_option | cut
-d '=' -f 2)
845 _nm
=$
(echo $ac_option | cut
-d '=' -f 2)
848 _yasm
=$
(echo $ac_option | cut
-d '=' -f 2)
851 _ar
=$
(echo $ac_option | cut
-d '=' -f 2)
854 _ranlib
=$
(echo $ac_option | cut
-d '=' -f 2)
857 _windres
=$
(echo $ac_option | cut
-d '=' -f 2)
860 _charset
=$
(echo $ac_option | cut
-d '=' -f 2)
863 language_doc
=$
(echo $ac_option | cut
-d '=' -f 2)
866 language_man
=$
(echo $ac_option | cut
-d '=' -f 2)
869 language_msg
=$
(echo $ac_option | cut
-d '=' -f 2)
872 language
=$
(echo $ac_option | cut
-d '=' -f 2)
891 _debug
=$
(echo $_echo_n '-g'$_echo_c; echo $ac_option | cut
-d '=' -f 2)
896 --enable-runtime-cpudetection) _runtime_cpudetection
=yes ;;
897 --disable-runtime-cpudetection) _runtime_cpudetection
=no
;;
898 --enable-cross-compile) _cross_compile
=yes ;;
899 --disable-cross-compile) _cross_compile
=no
;;
900 --enable-mencoder) _mencoder
=yes ;;
901 --disable-mencoder) _mencoder
=no
;;
902 --enable-mplayer) _mplayer
=yes ;;
903 --disable-mplayer) _mplayer
=no
;;
904 --enable-dynamic-plugins) _dynamic_plugins
=yes ;;
905 --disable-dynamic-plugins) _dynamic_plugins
=no
;;
906 --enable-x11) _x11
=yes ;;
907 --disable-x11) _x11
=no
;;
908 --enable-xshape) _xshape
=yes ;;
909 --disable-xshape) _xshape
=no
;;
910 --enable-xss) _xss
=yes ;;
911 --disable-xss) _xss
=no
;;
912 --enable-xv) _xv
=yes ;;
913 --disable-xv) _xv
=no
;;
914 --enable-xvmc) _xvmc
=yes ;;
915 --disable-xvmc) _xvmc
=no
;;
916 --enable-vdpau) _vdpau
=yes ;;
917 --disable-vdpau) _vdpau
=no
;;
918 --enable-sdl) _sdl
=yes ;;
919 --disable-sdl) _sdl
=no
;;
920 --enable-kva) _kva
=yes ;;
921 --disable-kva) _kva
=no
;;
922 --enable-direct3d) _direct3d
=yes ;;
923 --disable-direct3d) _direct3d
=no
;;
924 --enable-directx) _directx
=yes ;;
925 --disable-directx) _directx
=no
;;
926 --enable-win32waveout) _win32waveout
=yes ;;
927 --disable-win32waveout) _win32waveout
=no
;;
928 --enable-nas) _nas
=yes ;;
929 --disable-nas) _nas
=no
;;
930 --enable-png) _png
=yes ;;
931 --disable-png) _png
=no
;;
932 --enable-mng) _mng
=yes ;;
933 --disable-mng) _mng
=no
;;
934 --enable-jpeg) _jpeg
=yes ;;
935 --disable-jpeg) _jpeg
=no
;;
936 --enable-libopenjpeg) libopenjpeg
=yes ;;
937 --disable-libopenjpeg)libopenjpeg
=no
;;
938 --enable-pnm) _pnm
=yes ;;
939 --disable-pnm) _pnm
=no
;;
940 --enable-md5sum) _md5sum
=yes ;;
941 --disable-md5sum) _md5sum
=no
;;
942 --enable-yuv4mpeg) _yuv4mpeg
=yes ;;
943 --disable-yuv4mpeg) _yuv4mpeg
=no
;;
944 --enable-gif) _gif
=yes ;;
945 --disable-gif) _gif
=no
;;
946 --enable-gl) _gl
=yes ;;
947 --disable-gl) _gl
=no
;;
948 --enable-matrixview) matrixview
=yes ;;
949 --disable-matrixview) matrixview
=no
;;
950 --enable-ggi) _ggi
=yes ;;
951 --disable-ggi) _ggi
=no
;;
952 --enable-ggiwmh) _ggiwmh
=yes ;;
953 --disable-ggiwmh) _ggiwmh
=no
;;
954 --enable-aa) _aa
=yes ;;
955 --disable-aa) _aa
=no
;;
956 --enable-caca) _caca
=yes ;;
957 --disable-caca) _caca
=no
;;
958 --enable-svga) _svga
=yes ;;
959 --disable-svga) _svga
=no
;;
960 --enable-vesa) _vesa
=yes ;;
961 --disable-vesa) _vesa
=no
;;
962 --enable-fbdev) _fbdev
=yes ;;
963 --disable-fbdev) _fbdev
=no
;;
964 --enable-dvb) _dvb
=yes ;;
965 --disable-dvb) _dvb
=no
;;
966 --enable-dxr2) _dxr2
=yes ;;
967 --disable-dxr2) _dxr2
=no
;;
968 --enable-dxr3) _dxr3
=yes ;;
969 --disable-dxr3) _dxr3
=no
;;
970 --enable-ivtv) _ivtv
=yes ;;
971 --disable-ivtv) _ivtv
=no
;;
972 --enable-v4l2) _v4l2
=yes ;;
973 --disable-v4l2) _v4l2
=no
;;
974 --enable-iconv) _iconv
=yes ;;
975 --disable-iconv) _iconv
=no
;;
976 --enable-langinfo) _langinfo
=yes ;;
977 --disable-langinfo) _langinfo
=no
;;
978 --enable-rtc) _rtc
=yes ;;
979 --disable-rtc) _rtc
=no
;;
980 --enable-libdv) _libdv
=yes ;;
981 --disable-libdv) _libdv
=no
;;
982 --enable-ossaudio) _ossaudio
=yes ;;
983 --disable-ossaudio) _ossaudio
=no
;;
984 --enable-arts) _arts
=yes ;;
985 --disable-arts) _arts
=no
;;
986 --enable-esd) _esd
=yes ;;
987 --disable-esd) _esd
=no
;;
988 --enable-pulse) _pulse
=yes ;;
989 --disable-pulse) _pulse
=no
;;
990 --enable-jack) _jack
=yes ;;
991 --disable-jack) _jack
=no
;;
992 --enable-openal) _openal
=yes ;;
993 --disable-openal) _openal
=no
;;
994 --enable-kai) _kai
=yes ;;
995 --disable-kai) _kai
=no
;;
996 --enable-dart) _dart
=yes ;;
997 --disable-dart) _dart
=no
;;
998 --enable-mad) _mad
=yes ;;
999 --disable-mad) _mad
=no
;;
1000 --enable-mp3lame) _mp3lame
=yes ;;
1001 --disable-mp3lame) _mp3lame
=no
;;
1002 --enable-mp3lame-lavc) _mp3lame_lavc
=yes ;;
1003 --disable-mp3lame-lavc) _mp3lame_lavc
=no
;;
1004 --enable-toolame) _toolame
=yes ;;
1005 --disable-toolame) _toolame
=no
;;
1006 --enable-twolame) _twolame
=yes ;;
1007 --disable-twolame) _twolame
=no
;;
1008 --enable-libcdio) _libcdio
=yes ;;
1009 --disable-libcdio) _libcdio
=no
;;
1010 --enable-liblzo) _liblzo
=yes ;;
1011 --disable-liblzo) _liblzo
=no
;;
1012 --enable-libvorbis) _libvorbis
=yes ;;
1013 --disable-libvorbis) _libvorbis
=no
;;
1014 --enable-speex) _speex
=yes ;;
1015 --disable-speex) _speex
=no
;;
1016 --enable-tremor) _tremor
=yes ;;
1017 --disable-tremor) _tremor
=no
;;
1018 --enable-tremor-internal) _tremor_internal
=yes ;;
1019 --disable-tremor-internal) _tremor_internal
=no
;;
1020 --enable-tremor-low) _tremor_low
=yes ;;
1021 --disable-tremor-low) _tremor_low
=no
;;
1022 --enable-theora) _theora
=yes ;;
1023 --disable-theora) _theora
=no
;;
1024 --enable-mp3lib) _mp3lib
=yes ;;
1025 --disable-mp3lib) _mp3lib
=no
;;
1026 --enable-liba52) _liba52
=yes ;;
1027 --disable-liba52) _liba52
=no
;;
1028 --enable-libdca) _libdca
=yes ;;
1029 --disable-libdca) _libdca
=no
;;
1030 --enable-libmpeg2) _libmpeg2
=yes ;;
1031 --disable-libmpeg2) _libmpeg2
=no
;;
1032 --enable-musepack) _musepack
=yes ;;
1033 --disable-musepack) _musepack
=no
;;
1034 --enable-faad) _faad
=yes ;;
1035 --disable-faad) _faad
=no
;;
1036 --enable-faad-internal) _faad_internal
=yes ;;
1037 --disable-faad-internal) _faad_internal
=no
;;
1038 --enable-faad-fixed) _faad_fixed
=yes ;;
1039 --disable-faad-fixed) _faad_fixed
=no
;;
1040 --enable-faac) _faac
=yes ;;
1041 --disable-faac) _faac
=no
;;
1042 --enable-faac-lavc) _faac_lavc
=yes ;;
1043 --disable-faac-lavc) _faac_lavc
=no
;;
1044 --enable-ladspa) _ladspa
=yes ;;
1045 --disable-ladspa) _ladspa
=no
;;
1046 --enable-libbs2b) _libbs2b
=yes ;;
1047 --disable-libbs2b) _libbs2b
=no
;;
1048 --enable-xmms) _xmms
=yes ;;
1049 --disable-xmms) _xmms
=no
;;
1050 --enable-vcd) _vcd
=yes ;;
1051 --disable-vcd) _vcd
=no
;;
1052 --enable-dvdread) _dvdread
=yes ;;
1053 --disable-dvdread) _dvdread
=no
;;
1054 --enable-dvdread-internal) _dvdread_internal
=yes ;;
1055 --disable-dvdread-internal) _dvdread_internal
=no
;;
1056 --enable-libdvdcss-internal) _libdvdcss_internal
=yes ;;
1057 --disable-libdvdcss-internal) _libdvdcss_internal
=no
;;
1058 --enable-dvdnav) _dvdnav
=yes ;;
1059 --disable-dvdnav) _dvdnav
=no
;;
1060 --enable-xanim) _xanim
=yes ;;
1061 --disable-xanim) _xanim
=no
;;
1062 --enable-real) _real
=yes ;;
1063 --disable-real) _real
=no
;;
1064 --enable-live) _live
=yes ;;
1065 --disable-live) _live
=no
;;
1066 --enable-nemesi) _nemesi
=yes ;;
1067 --disable-nemesi) _nemesi
=no
;;
1068 --enable-xinerama) _xinerama
=yes ;;
1069 --disable-xinerama) _xinerama
=no
;;
1070 --enable-mga) _mga
=yes ;;
1071 --disable-mga) _mga
=no
;;
1072 --enable-xmga) _xmga
=yes ;;
1073 --disable-xmga) _xmga
=no
;;
1074 --enable-vm) _vm
=yes ;;
1075 --disable-vm) _vm
=no
;;
1076 --enable-xf86keysym) _xf86keysym
=yes ;;
1077 --disable-xf86keysym) _xf86keysym
=no
;;
1078 --enable-mlib) _mlib
=yes ;;
1079 --disable-mlib) _mlib
=no
;;
1080 --enable-sunaudio) _sunaudio
=yes ;;
1081 --disable-sunaudio) _sunaudio
=no
;;
1082 --enable-sgiaudio) _sgiaudio
=yes ;;
1083 --disable-sgiaudio) _sgiaudio
=no
;;
1084 --enable-alsa) _alsa
=yes ;;
1085 --disable-alsa) _alsa
=no
;;
1086 --enable-tv) _tv
=yes ;;
1087 --disable-tv) _tv
=no
;;
1088 --enable-tv-bsdbt848) _tv_bsdbt848
=yes ;;
1089 --disable-tv-bsdbt848) _tv_bsdbt848
=no
;;
1090 --enable-tv-v4l1) _tv_v4l1
=yes ;;
1091 --disable-tv-v4l1) _tv_v4l1
=no
;;
1092 --enable-tv-v4l2) _tv_v4l2
=yes ;;
1093 --disable-tv-v4l2) _tv_v4l2
=no
;;
1094 --enable-tv-dshow) _tv_dshow
=yes ;;
1095 --disable-tv-dshow) _tv_dshow
=no
;;
1096 --enable-radio) _radio
=yes ;;
1097 --enable-radio-capture) _radio_capture
=yes ;;
1098 --disable-radio-capture) _radio_capture
=no
;;
1099 --disable-radio) _radio
=no
;;
1100 --enable-radio-v4l) _radio_v4l
=yes ;;
1101 --disable-radio-v4l) _radio_v4l
=no
;;
1102 --enable-radio-v4l2) _radio_v4l2
=yes ;;
1103 --disable-radio-v4l2) _radio_v4l2
=no
;;
1104 --enable-radio-bsdbt848) _radio_bsdbt848
=yes ;;
1105 --disable-radio-bsdbt848) _radio_bsdbt848
=no
;;
1106 --enable-pvr) _pvr
=yes ;;
1107 --disable-pvr) _pvr
=no
;;
1108 --enable-fastmemcpy) _fastmemcpy
=yes ;;
1109 --disable-fastmemcpy) _fastmemcpy
=no
;;
1110 --enable-hardcoded-tables) hardcoded_tables
=yes ;;
1111 --disable-hardcoded-tables) hardcoded_tables
=no
;;
1112 --enable-network) _network
=yes ;;
1113 --disable-network) _network
=no
;;
1114 --enable-winsock2_h) _winsock2_h
=yes ;;
1115 --disable-winsock2_h) _winsock2_h
=no
;;
1116 --enable-smb) _smb
=yes ;;
1117 --disable-smb) _smb
=no
;;
1118 --enable-vidix) _vidix
=yes ;;
1119 --disable-vidix) _vidix
=no
;;
1120 --with-vidix-drivers=*)
1121 _vidix_drivers
=$
(echo $ac_option | cut
-d '=' -f 2)
1123 --disable-vidix-pcidb) _vidix_pcidb
=no
;;
1124 --enable-dhahelper) _dhahelper
=yes ;;
1125 --disable-dhahelper) _dhahelper
=no
;;
1126 --enable-svgalib_helper) _svgalib_helper
=yes ;;
1127 --disable-svgalib_helper) _svgalib_helper
=no
;;
1128 --enable-joystick) _joystick
=yes ;;
1129 --disable-joystick) _joystick
=no
;;
1130 --enable-xvid) _xvid
=yes ;;
1131 --disable-xvid) _xvid
=no
;;
1132 --enable-xvid-lavc) _xvid_lavc
=yes ;;
1133 --disable-xvid-lavc) _xvid_lavc
=no
;;
1134 --enable-x264) _x264
=yes ;;
1135 --disable-x264) _x264
=no
;;
1136 --enable-x264-lavc) _x264_lavc
=yes ;;
1137 --disable-x264-lavc) _x264_lavc
=no
;;
1138 --enable-libdirac-lavc) _libdirac_lavc
=yes ;;
1139 --disable-libdirac-lavc) _libdirac_lavc
=no
;;
1140 --enable-libschroedinger-lavc) _libschroedinger_lavc
=yes ;;
1141 --disable-libschroedinger-lavc) _libschroedinger_lavc
=no
;;
1142 --enable-libvpx-lavc) _libvpx_lavc
=yes ;;
1143 --disable-libvpx-lavc) _libvpx_lavc
=no
;;
1144 --enable-libnut) _libnut
=yes ;;
1145 --disable-libnut) _libnut
=no
;;
1146 --enable-libavutil_a) _libavutil_a
=yes ;;
1147 --disable-libavutil_a) _libavutil_a
=no
;;
1148 --enable-libavutil_so) _libavutil_so
=yes ;;
1149 --disable-libavutil_so) _libavutil_so
=no
;;
1150 --enable-libavcodec_a) _libavcodec_a
=yes ;;
1151 --disable-libavcodec_a) _libavcodec_a
=no
;;
1152 --enable-libavcodec_so) _libavcodec_so
=yes ;;
1153 --disable-libavcodec_so) _libavcodec_so
=no
;;
1154 --enable-libopencore_amrnb) _libopencore_amrnb
=yes ;;
1155 --disable-libopencore_amrnb) _libopencore_amrnb
=no
;;
1156 --enable-libopencore_amrwb) _libopencore_amrwb
=yes ;;
1157 --disable-libopencore_amrwb) _libopencore_amrwb
=no
;;
1158 --enable-decoder=*) _libavdecoders
="$_libavdecoders $(echo $ac_option | cut -d '=' -f 2 | tr '[a-z]' '[A-Z]')" ;;
1159 --disable-decoder=*) _libavdecoders
=$
(echo $_libavdecoders |
sed "s/$(echo $ac_option | cut -d '=' -f 2 | tr '[a-z]' '[A-Z]')//g") ;;
1160 --enable-encoder=*) _libavencoders
="$_libavencoders $(echo $ac_option | cut -d '=' -f 2 | tr '[a-z]' '[A-Z]')" ;;
1161 --disable-encoder=*) _libavencoders
=$
(echo $_libavencoders |
sed "s/$(echo $ac_option | cut -d '=' -f 2 | tr '[a-z]' '[A-Z]')//g") ;;
1162 --enable-parser=*) _libavparsers
="$_libavparsers $(echo $ac_option | cut -d '=' -f 2 | tr '[a-z]' '[A-Z]')" ;;
1163 --disable-parser=*) _libavparsers
=$
(echo $_libavparsers |
sed "s/$(echo $ac_option | cut -d '=' -f 2 | tr '[a-z]' '[A-Z]')//g") ;;
1164 --enable-protocol=*) _libavprotocols
="$_libavprotocols $(echo $ac_option | cut -d '=' -f 2 | tr '[a-z]' '[A-Z]')" ;;
1165 --disable-protocol=*) _libavprotocols
=$
(echo $_libavprotocols |
sed "s/$(echo $ac_option | cut -d '=' -f 2 | tr '[a-z]' '[A-Z]')//g") ;;
1166 --enable-demuxer=*) _libavdemuxers
="$_libavdemuxers $(echo $ac_option | cut -d '=' -f 2 | tr '[a-z]' '[A-Z]')" ;;
1167 --disable-demuxer=*) _libavdemuxers
=$
(echo $_libavdemuxers |
sed "s/$(echo $ac_option | cut -d '=' -f 2 | tr '[a-z]' '[A-Z]')//g") ;;
1168 --enable-muxer=*) _libavmuxers
="$_libavmuxers $(echo $ac_option | cut -d '=' -f 2 | tr '[a-z]' '[A-Z]')" ;;
1169 --disable-muxer=*) _libavmuxers
=$
(echo $_libavmuxers |
sed "s/$(echo $ac_option | cut -d '=' -f 2 | tr '[a-z]' '[A-Z]')//g") ;;
1170 --enable-libavformat_a) _libavformat_a
=yes ;;
1171 --disable-libavformat_a) _libavformat_a
=no
;;
1172 --enable-libavformat_so) _libavformat_so
=yes ;;
1173 --disable-libavformat_so) _libavformat_so
=no
;;
1174 --enable-libpostproc_a) _libpostproc_a
=yes ;;
1175 --disable-libpostproc_a) _libpostproc_a
=no
;;
1176 --enable-libpostproc_so) _libpostproc_so
=yes ;;
1177 --disable-libpostproc_so) _libpostproc_so
=no
;;
1178 --enable-libswscale_a) _libswscale_a
=yes ;;
1179 --disable-libswscale_a) _libswscale_a
=no
;;
1180 --enable-libswscale_so) _libswscale_so
=yes ;;
1181 --disable-libswscale_so) _libswscale_so
=no
;;
1182 --enable-libavcodec_mpegaudio_hp) _libavcodec_mpegaudio_hp
=yes ;;
1183 --disable-libavcodec_mpegaudio_hp) _libavcodec_mpegaudio_hp
=no
;;
1185 --enable-lirc) _lirc
=yes ;;
1186 --disable-lirc) _lirc
=no
;;
1187 --enable-lircc) _lircc
=yes ;;
1188 --disable-lircc) _lircc
=no
;;
1189 --enable-apple-remote) _apple_remote
=yes ;;
1190 --disable-apple-remote) _apple_remote
=no
;;
1191 --enable-apple-ir) _apple_ir
=yes ;;
1192 --disable-apple-ir) _apple_ir
=no
;;
1193 --enable-gui) _gui
=yes ;;
1194 --disable-gui) _gui
=no
;;
1195 --enable-gtk1) _gtk1
=yes ;;
1196 --disable-gtk1) _gtk1
=no
;;
1197 --enable-termcap) _termcap
=yes ;;
1198 --disable-termcap) _termcap
=no
;;
1199 --enable-termios) _termios
=yes ;;
1200 --disable-termios) _termios
=no
;;
1201 --enable-3dfx) _3dfx
=yes ;;
1202 --disable-3dfx) _3dfx
=no
;;
1203 --enable-s3fb) _s3fb
=yes ;;
1204 --disable-s3fb) _s3fb
=no
;;
1205 --enable-wii) _wii
=yes ;;
1206 --disable-wii) _wii
=no
;;
1207 --enable-tdfxfb) _tdfxfb
=yes ;;
1208 --disable-tdfxfb) _tdfxfb
=no
;;
1209 --disable-tdfxvid) _tdfxvid
=no
;;
1210 --enable-tdfxvid) _tdfxvid
=yes ;;
1211 --disable-xvr100) _xvr100
=no
;;
1212 --enable-xvr100) _xvr100
=yes ;;
1213 --disable-tga) _tga
=no
;;
1214 --enable-tga) _tga
=yes ;;
1215 --enable-directfb) _directfb
=yes ;;
1216 --disable-directfb) _directfb
=no
;;
1217 --enable-zr) _zr
=yes ;;
1218 --disable-zr) _zr
=no
;;
1219 --enable-bl) _bl
=yes ;;
1220 --disable-bl) _bl
=no
;;
1221 --enable-mtrr) _mtrr
=yes ;;
1222 --disable-mtrr) _mtrr
=no
;;
1223 --enable-largefiles) _largefiles
=yes ;;
1224 --disable-largefiles) _largefiles
=no
;;
1225 --enable-shm) _shm
=yes ;;
1226 --disable-shm) _shm
=no
;;
1227 --enable-select) _select
=yes ;;
1228 --disable-select) _select
=no
;;
1229 --enable-linux-devfs) _linux_devfs
=yes ;;
1230 --disable-linux-devfs) _linux_devfs
=no
;;
1231 --enable-cdparanoia) _cdparanoia
=yes ;;
1232 --disable-cdparanoia) _cdparanoia
=no
;;
1233 --enable-cddb) _cddb
=yes ;;
1234 --disable-cddb) _cddb
=no
;;
1235 --enable-big-endian) _big_endian
=yes ;;
1236 --disable-big-endian) _big_endian
=no
;;
1237 --enable-bitmap-font) _bitmap_font
=yes ;;
1238 --disable-bitmap-font) _bitmap_font
=no
;;
1239 --enable-freetype) _freetype
=yes ;;
1240 --disable-freetype) _freetype
=no
;;
1241 --enable-fontconfig) _fontconfig
=yes ;;
1242 --disable-fontconfig) _fontconfig
=no
;;
1243 --enable-unrarexec) _unrar_exec
=yes ;;
1244 --disable-unrarexec) _unrar_exec
=no
;;
1245 --enable-ftp) _ftp
=yes ;;
1246 --disable-ftp) _ftp
=no
;;
1247 --enable-vstream) _vstream
=yes ;;
1248 --disable-vstream) _vstream
=no
;;
1249 --enable-pthreads) _pthreads
=yes ;;
1250 --disable-pthreads) _pthreads
=no
;;
1251 --enable-w32threads) _w32threads
=yes ;;
1252 --disable-w32threads) _w32threads
=no
;;
1253 --enable-ass) _ass
=yes ;;
1254 --disable-ass) _ass
=no
;;
1255 --enable-ass-internal) ass_internal
=yes ;;
1256 --disable-ass-internal) ass_internal
=no
;;
1257 --enable-rpath) _rpath
=yes ;;
1258 --disable-rpath) _rpath
=no
;;
1260 --enable-fribidi) _fribidi
=yes ;;
1261 --disable-fribidi) _fribidi
=no
;;
1263 --enable-enca) _enca
=yes ;;
1264 --disable-enca) _enca
=no
;;
1266 --enable-inet6) _inet6
=yes ;;
1267 --disable-inet6) _inet6
=no
;;
1269 --enable-gethostbyname2) _gethostbyname2
=yes ;;
1270 --disable-gethostbyname2) _gethostbyname2
=no
;;
1272 --enable-dga1) _dga1
=yes ;;
1273 --disable-dga1) _dga1
=no
;;
1274 --enable-dga2) _dga2
=yes ;;
1275 --disable-dga2) _dga2
=no
;;
1277 --enable-menu) _menu
=yes ;;
1278 --disable-menu) _menu
=no
;;
1280 --enable-qtx) _qtx
=yes ;;
1281 --disable-qtx) _qtx
=no
;;
1283 --enable-coreaudio) _coreaudio
=yes ;;
1284 --disable-coreaudio) _coreaudio
=no
;;
1285 --enable-corevideo) _corevideo
=yes ;;
1286 --disable-corevideo) _corevideo
=no
;;
1287 --enable-quartz) _quartz
=yes ;;
1288 --disable-quartz) _quartz
=no
;;
1289 --enable-macosx-finder) _macosx_finder
=yes ;;
1290 --disable-macosx-finder) _macosx_finder
=no
;;
1291 --enable-macosx-bundle) _macosx_bundle
=yes ;;
1292 --disable-macosx-bundle) _macosx_bundle
=no
;;
1294 --enable-maemo) _maemo
=yes ;;
1295 --disable-maemo) _maemo
=no
;;
1297 --enable-sortsub) _sortsub
=yes ;;
1298 --disable-sortsub) _sortsub
=no
;;
1300 --enable-crash-debug) _crash_debug
=yes ;;
1301 --disable-crash-debug) _crash_debug
=no
;;
1302 --enable-sighandler) _sighandler
=yes ;;
1303 --disable-sighandler) _sighandler
=no
;;
1304 --enable-win32dll) _win32dll
=yes ;;
1305 --disable-win32dll) _win32dll
=no
;;
1307 --enable-sse) _sse
=yes ;;
1308 --disable-sse) _sse
=no
;;
1309 --enable-sse2) _sse2
=yes ;;
1310 --disable-sse2) _sse2
=no
;;
1311 --enable-ssse3) _ssse3
=yes ;;
1312 --disable-ssse3) _ssse3
=no
;;
1313 --enable-mmxext) _mmxext
=yes ;;
1314 --disable-mmxext) _mmxext
=no
;;
1315 --enable-3dnow) _3dnow
=yes ;;
1316 --disable-3dnow) _3dnow
=no _3dnowext
=no
;;
1317 --enable-3dnowext) _3dnow
=yes _3dnowext
=yes ;;
1318 --disable-3dnowext) _3dnowext
=no
;;
1319 --enable-cmov) _cmov
=yes ;;
1320 --disable-cmov) _cmov
=no
;;
1321 --enable-fast-cmov) _fast_cmov
=yes ;;
1322 --disable-fast-cmov) _fast_cmov
=no
;;
1323 --enable-fast-clz) _fast_clz
=yes ;;
1324 --disable-fast-clz) _fast_clz
=no
;;
1325 --enable-altivec) _altivec
=yes ;;
1326 --disable-altivec) _altivec
=no
;;
1327 --enable-armv5te) _armv5te
=yes ;;
1328 --disable-armv5te) _armv5te
=no
;;
1329 --enable-armv6) _armv6
=yes ;;
1330 --disable-armv6) _armv6
=no
;;
1331 --enable-armv6t2) _armv6t2
=yes ;;
1332 --disable-armv6t2) _armv6t2
=no
;;
1333 --enable-armvfp) _armvfp
=yes ;;
1334 --disable-armvfp) _armvfp
=no
;;
1335 --enable-neon) neon
=yes ;;
1336 --disable-neon) neon
=no
;;
1337 --enable-iwmmxt) _iwmmxt
=yes ;;
1338 --disable-iwmmxt) _iwmmxt
=no
;;
1339 --enable-mmx) _mmx
=yes ;;
1340 --disable-mmx) # 3Dnow! and MMX2 require MMX
1341 _3dnow
=no _3dnowext
=no _mmx
=no _mmxext
=no
;;
1344 echo "Unknown parameter: $ac_option"
1351 # Atmos: moved this here, to be correct, if --prefix is specified
1352 test -z "$_bindir" && _bindir
="$_prefix/bin"
1353 test -z "$_datadir" && _datadir
="$_prefix/share/mplayer"
1354 test -z "$_mandir" && _mandir
="$_prefix/share/man"
1355 test -z "$_confdir" && _confdir
="$_prefix/etc/mplayer"
1356 test -z "$_libdir" && _libdir
="$_prefix/lib"
1358 # Determine our OS name and CPU architecture
1359 if test -z "$_target" ; then
1361 system_name
=$
(uname
-s 2>&1)
1362 case "$system_name" in
1363 Linux|FreeBSD|NetBSD|OpenBSD|DragonFly|BSD
/OS|Darwin|SunOS|QNX|GNU|BeOS|MorphOS|AIX|AmigaOS
)
1377 [cC
][yY
][gG
][wW
][iI
][nN
]*)
1387 system_name
="$system_name-UNKNOWN"
1392 # host's CPU/instruction set
1393 host_arch
=$
(uname
-p 2>&1)
1394 case "$host_arch" in
1395 i386|sparc|ppc|alpha|arm|mips|vax
)
1397 powerpc
) # Darwin returns 'powerpc'
1400 *) # uname -p on Linux returns 'unknown' for the processor type,
1401 # OpenBSD returns 'Intel Pentium/MMX ("Genuine Intel" 586-class)'
1403 # Maybe uname -m (machine hardware name) returns something we
1406 # x86/x86pc is used by QNX
1407 case "$(uname -m 2>&1)" in
1408 x86_64|amd64|i
[3-9]86*|x86|x86pc|k5|k6|k6_2|k6_3|k6-2|k6-3|pentium
*|athlon
*|i586_i686|i586-i686|BePC
) host_arch
=i386
;;
1409 ia64
) host_arch
=ia64
;;
1410 macppc|ppc
) host_arch
=ppc
;;
1411 ppc64
) host_arch
=ppc64
;;
1412 alpha
) host_arch
=alpha
;;
1413 sparc
) host_arch
=sparc
;;
1414 sparc64
) host_arch
=sparc64
;;
1415 parisc
*|hppa
*|
9000*) host_arch
=hppa
;;
1416 arm
*|zaurus|cats
) host_arch
=arm
;;
1417 sh3|sh4|sh4a
) host_arch
=sh
;;
1418 s390
) host_arch
=s390
;;
1419 s390x
) host_arch
=s390x
;;
1420 *mips
*) host_arch
=mips
;;
1421 vax
) host_arch
=vax
;;
1422 xtensa
*) host_arch
=xtensa
;;
1423 *) host_arch
=UNKNOWN
;;
1427 else # if test -z "$_target"
1428 system_name
=$
(echo $_target | cut
-d '-' -f 2)
1429 case "$(echo $system_name | tr A-Z a-z)" in
1430 linux
) system_name
=Linux
;;
1431 freebsd
) system_name
=FreeBSD
;;
1432 gnu
/kfreebsd
) system_name
=FreeBSD
;;
1433 netbsd
) system_name
=NetBSD
;;
1434 bsd
/os
) system_name
=BSD
/OS
;;
1435 openbsd
) system_name
=OpenBSD
;;
1436 dragonfly
) system_name
=DragonFly
;;
1437 sunos
) system_name
=SunOS
;;
1438 qnx
) system_name
=QNX
;;
1439 morphos
) system_name
=MorphOS
;;
1440 amigaos
) system_name
=AmigaOS
;;
1441 mingw32
*) system_name
=MINGW32
;;
1443 # We need to convert underscores so that values like k6-2 and pentium-mmx can be passed
1444 host_arch
=$
(echo $_target | cut
-d '-' -f 1)
1445 if test $
(echo $host_arch) != "x86_64" ; then
1446 host_arch
=$
(echo $host_arch |
tr '_' '-')
1450 extra_cflags
="-I. $extra_cflags"
1451 _timer
=timer-linux.c
1454 extra_ldflags
="$extra_ldflags -L/usr/local/lib"
1455 extra_cflags
="$extra_cflags -I/usr/local/include"
1458 if netbsd || dragonfly
; then
1459 extra_ldflags
="$extra_ldflags -L/usr/pkg/lib"
1460 extra_cflags
="$extra_cflags -I/usr/pkg/include"
1464 extra_cflags
="-mdynamic-no-pic -falign-loops=16 -shared-libgcc $extra_cflags"
1465 _timer
=timer-darwin.c
1469 extra_ldflags
="$extra_ldflags -lC"
1480 extra_cflags
="$extra_cflags -fno-common"
1481 # -lwinmm is always needed for osdep/timer-win2.c
1482 extra_ldflags
="$extra_ldflags -lwinmm"
1486 def_dos_paths
="#define HAVE_DOS_PATHS 1"
1487 def_priority
="#define CONFIG_PRIORITY 1"
1499 def_stream_cache
="#undef CONFIG_STREAM_CACHE"
1500 extra_cflags
="-DNEWLIB -D__USE_INLINE__ $extra_cflags"
1504 extra_ldflags
="$extra_ldflags -lph"
1512 def_dos_paths
="#define HAVE_DOS_PATHS 1"
1513 def_priority
="#define CONFIG_PRIORITY 1"
1516 for I
in "$TMPDIR" "$TEMPDIR" "/tmp" ; do
1521 TMPLOG
="configure.log"
1522 TMPC
="$I/mplayer-conf-$RANDOM-$$.c"
1523 TMPCPP
="$I/mplayer-conf-$RANDOM-$$.cpp"
1524 TMPEXE
="$I/mplayer-conf-$RANDOM-$$$_exesuf"
1525 TMPH
="$I/mplayer-conf-$RANDOM-$$.h"
1526 TMPS
="$I/mplayer-conf-$RANDOM-$$.S"
1529 echo configuration
: $_configuration > "$TMPLOG"
1533 if test "$_runtime_cpudetection" = yes && ! x86
&& ! ppc
; then
1534 die
"Runtime CPU detection only works for x86, x86-64 and PPC!"
1538 # Checking CC version...
1539 # Intel C++ Compilers (no autoselect, use CC=/some/binary ./configure)
1540 if test "$(basename $_cc)" = "icc" ||
test "$(basename $_cc)" = "ecc"; then
1541 echocheck
"$_cc version"
1543 cc_name
=$
($_cc -V 2>&1 |
head -n 1 | cut
-d ',' -f 1)
1544 cc_version
=$
($_cc -V 2>&1 |
head -n 1 | cut
-d ',' -f 2 | cut
-d ' ' -f 3)
1545 _cc_major
=$
(echo $cc_version | cut
-d '.' -f 1)
1546 _cc_minor
=$
(echo $cc_version | cut
-d '.' -f 2)
1547 # TODO verify older icc/ecc compatibility
1550 cc_version
="v. ?.??, bad"
1554 cc_version
="$cc_version, ok"
1557 cc_version
="$cc_version, bad"
1561 echores
"$cc_version"
1563 for _cc
in "$_cc" gcc cc
; do
1564 cc_name_tmp
=$
($_cc -v 2>&1 |
tail -n 1 | cut
-d ' ' -f 1)
1565 if test "$cc_name_tmp" = "gcc"; then
1566 cc_name
=$cc_name_tmp
1567 echocheck
"$_cc version"
1569 cc_version
=$
($_cc -dumpversion 2>&1)
1575 _cc_major
=$
(echo $cc_version | cut
-d '.' -f 1)
1576 _cc_minor
=$
(echo $cc_version | cut
-d '.' -f 2)
1577 _cc_mini
=$
(echo $cc_version | cut
-d '.' -f 3)
1580 echores
"$cc_version"
1583 cc_name_tmp
=$
($_cc -V 2>&1 |
head -n 1 | cut
-d ' ' -f 2,3)
1584 if test "$cc_name_tmp" = "Sun C"; then
1585 echocheck
"$_cc version"
1587 cc_version
=$
($_cc -V 2>&1 |
head -n 1 | cut
-d ' ' -f 4)
1588 res_comment
="experimental support only"
1589 echores
"Sun C $cc_version"
1594 test "$cc_fail" = yes && die
"unsupported compiler version"
1596 if test -z "$_target" && x86
; then
1599 int test[(int)sizeof(char *)-7];
1603 cc_check
&& host_arch
=x86_64 || host_arch
=i386
1606 echo "Detected operating system: $system_name"
1607 echo "Detected host architecture: $host_arch"
1610 test "$_host_cc" || _host_cc
=$_cc
1613 echocheck
"cross compilation"
1614 if test $_cross_compile = auto
; then
1616 int main(void) { return 0; }
1619 cc_check
&& "$TMPEXE" && _cross_compile
=no
1621 echores
$_cross_compile
1623 if test $_cross_compile = yes; then
1631 # now that we know what compiler should be used for compilation, try to find
1632 # out which assembler is used by the $_cc compiler
1633 if test "$_as" = auto
; then
1634 _as
=$
($_cc -print-prog-name=as
)
1635 test -z "$_as" && _as
=as
1638 if test "$_nm" = auto
; then
1639 _nm
=$
($_cc -print-prog-name=nm
)
1640 test -z "$_nm" && _nm
=nm
1643 # XXX: this should be ok..
1646 if test "$_runtime_cpudetection" = no
; then
1648 # Cygwin has /proc/cpuinfo, but only supports Intel CPUs
1649 # FIXME: Remove the cygwin check once AMD CPUs are supported
1650 if test -r /proc
/cpuinfo
&& ! cygwin
; then
1651 # Linux with /proc mounted, extract CPU information from it
1652 _cpuinfo
="cat /proc/cpuinfo"
1653 elif test -r /compat
/linux
/proc
/cpuinfo
&& ! x86
; then
1654 # FreeBSD with Linux emulation /proc mounted,
1655 # extract CPU information from it
1656 # Don't use it on x86 though, it never reports 3Dnow
1657 _cpuinfo
="cat /compat/linux/proc/cpuinfo"
1658 elif darwin
&& ! x86
; then
1659 # use hostinfo on Darwin
1662 # use 'lsattr' on AIX
1663 _cpuinfo
="lsattr -E -l proc0 -a type"
1665 # all other OSes try to extract CPU information from a small helper
1666 # program cpuinfo instead
1667 $_cc -o cpuinfo
$_exesuf cpuinfo.c
1668 _cpuinfo
="./cpuinfo$_exesuf"
1671 if [ "$cc_vendor" = "gnu" ] && [ "$_cc_major" = 2 ] ; then
1672 test $_sse = auto
&& _sse
=no
1673 test $_win32dll = auto
&& _win32dll
=no
1678 # gather more CPU information
1679 pname
=$
($_cpuinfo |
grep 'model name' | cut
-d ':' -f 2 |
head -n 1)
1680 pvendor
=$
($_cpuinfo |
grep 'vendor_id' | cut
-d ':' -f 2 | cut
-d ' ' -f 2 |
head -n 1)
1681 pfamily
=$
($_cpuinfo |
grep 'cpu family' | cut
-d ':' -f 2 | cut
-d ' ' -f 2 |
head -n 1)
1682 pmodel
=$
($_cpuinfo |
grep -v 'model name' |
grep 'model' | cut
-d ':' -f 2 | cut
-d ' ' -f 2 |
head -n 1)
1683 pstepping
=$
($_cpuinfo |
grep 'stepping' | cut
-d ':' -f 2 | cut
-d ' ' -f 2 |
head -n 1)
1685 exts
=$
($_cpuinfo |
egrep 'features|flags' | cut
-d ':' -f 2 |
head -n 1)
1687 pparam
=$
(echo $exts |
sed -e s
/k6_mtrr
/mtrr
/ -e s
/cyrix_arr
/mtrr
/ -e s
/centaur_mcr
/mtrr
/ \
1688 -e s
/xmm
/sse
/ -e s
/kni
/sse
/)
1690 for ext
in $pparam ; do
1691 eval test \"\
$_$ext\" = auto
2>/dev
/null
&& eval _
$ext=kernel_check
1694 # SSE implies MMX2, but not all SSE processors report the mmxext CPU flag.
1695 test $_sse = kernel_check
&& _mmxext
=kernel_check
1697 echocheck
"CPU vendor"
1698 echores
"$pvendor ($pfamily:$pmodel:$pstepping)"
1700 echocheck
"CPU type"
1704 fi # test "$_runtime_cpudetection" = no
1706 if x86
&& test "$_runtime_cpudetection" = no
; then
1708 if test "$1" = kernel_check
; then
1709 echocheck
"kernel support of $2"
1713 void catch() { exit(1); }
1715 signal(SIGILL, catch);
1716 __asm__ volatile ("$3":::"memory"); return 0;
1720 if cc_check
&& tmp_run
; then
1723 _optimizing
="$_optimizing $2"
1728 echo "It seems that your kernel does not correctly support $2."
1729 echo "To use $2 extensions in MPlayer, you have to upgrade/recompile your kernel!"
1736 extcheck
$_mmx "mmx" "emms"
1737 extcheck
$_mmxext "mmxext" "sfence"
1738 extcheck
$_3dnow "3dnow" "femms"
1739 extcheck
$_3dnowext "3dnowext" "pswapd %%mm0, %%mm0"
1740 extcheck
$_sse "sse" "xorps %%xmm0, %%xmm0" || _gcc3_ext
="$_gcc3_ext -mno-sse"
1741 extcheck
$_sse2 "sse2" "xorpd %%xmm0, %%xmm0" || _gcc3_ext
="$_gcc3_ext -mno-sse2"
1742 extcheck
$_ssse3 "ssse3" "pabsd %%xmm0, %%xmm0"
1743 extcheck
$_cmov "cmov" "cmovb %%eax,%%ebx"
1745 echocheck
"mtrr support"
1746 if test "$_mtrr" = kernel_check
; then
1748 _optimizing
="$_optimizing mtrr"
1752 if test "$_gcc3_ext" != ""; then
1753 # if we had to disable sse/sse2 because the active kernel does not
1754 # support this instruction set extension, we also have to tell
1755 # gcc3 to not generate sse/sse2 instructions for normal C code
1757 int main(void) { return 0; }
1759 cc_check
$_march $_gcc3_ext && _march
="$_march $_gcc3_ext"
1765 def_fast_64bit
='#define HAVE_FAST_64BIT 0'
1766 def_fast_unaligned
='#define HAVE_FAST_UNALIGNED 0'
1767 def_local_aligned_8
='#define HAVE_LOCAL_ALIGNED_8 0'
1768 def_local_aligned_16
='#define HAVE_LOCAL_ALIGNED_16 0'
1769 arch_all
='X86 IA64 SPARC ARM AVR32 SH4 PPC ALPHA MIPS PA_RISC S390 S390X VAX BFIN XTENSA TOMI GENERIC'
1770 subarch_all
='X86_32 X86_64 PPC64'
1771 case "$host_arch" in
1772 i
[3-9]86|x86|x86pc|k5|k6|k6-2|k6-3|pentium
*|athlon
*|i586-i686
)
1775 def_fast_unaligned
='#define HAVE_FAST_UNALIGNED 1'
1776 def_local_aligned_8
='#define HAVE_LOCAL_ALIGNED_8 1'
1777 def_local_aligned_16
='#define HAVE_LOCAL_ALIGNED_16 1'
1782 if test "$_runtime_cpudetection" = no
; then
1786 3) proc
=i386 iproc
=386 ;;
1787 4) proc
=i486 iproc
=486 ;;
1788 5) iproc
=586 # LGB: models are: K5/SSA5 K5 K5 K5 ? ? K6 K6 K6-2 K6-3
1789 # K6 model 13 are the K6-2+ and K6-III+, only differing in cache size.
1790 if test "$pmodel" -eq 9 -o "$pmodel" -eq 13; then
1792 elif test "$pmodel" -eq 5 -o "$pmodel" -eq 10; then
1794 elif test "$pmodel" -ge 8; then
1796 elif test "$pmodel" -ge 6; then
1803 # It's a bit difficult to determine the correct type of Family 6
1804 # AMD CPUs just from their signature. Instead, we check directly
1805 # whether it supports SSE.
1806 if test "$_sse" = yes; then
1807 # gcc treats athlon-xp, athlon-4 and athlon-mp similarly.
1810 # Again, gcc treats athlon and athlon-tbird similarly.
1815 # k8 cpu-type only supported in gcc >= 3.4.0, but that will be
1816 # caught and remedied in the optimization tests below.
1820 *) proc
=amdfam10 iproc
=686
1821 test $_fast_clz = "auto" && _fast_clz
=yes
1827 3) proc
=i386 iproc
=386 ;;
1828 4) proc
=i486 iproc
=486 ;;
1830 if test "$pmodel" -eq 4 ||
test "$pmodel" -eq 8; then
1831 proc
=pentium-mmx
# 4 is desktop, 8 is mobile
1837 if test "$pmodel" -ge 15; then
1839 elif test "$pmodel" -eq 9 -o "$pmodel" -ge 13; then
1841 elif test "$pmodel" -ge 7; then
1843 elif test "$pmodel" -ge 3; then
1848 test $_fast_clz = "auto" && _fast_clz
=yes
1851 # A nocona in 32-bit mode has no more capabilities than a prescott.
1852 if test "$pmodel" -ge 3; then
1856 test $_fast_clz = "auto" && _fast_clz
=yes
1858 test $_fast_cmov = "auto" && _fast_cmov
=no
1860 *) proc
=prescott iproc
=686 ;;
1866 if test "$pmodel" -ge 8; then
1868 elif test "$pmodel" -ge 4; then
1875 if test "$pmodel" -ge 9; then
1882 *) proc
=i686 iproc
=i686
;;
1887 3) proc
=i386 iproc
=386 ;;
1888 4) proc
=i486 iproc
=486 ;;
1889 *) proc
=i586 iproc
=586 ;;
1893 proc
=i586 iproc
=586 ;;
1895 test $_fast_clz = "auto" && _fast_clz
=no
1896 fi # test "$_runtime_cpudetection" = no
1899 # check that gcc supports our CPU, if not, fall back to earlier ones
1900 # LGB: check -mcpu and -march swithing step by step with enabling
1901 # to fall back till 386.
1903 # gcc >= 3.4.0 doesn't support -mcpu, we have to use -mtune instead
1905 if [ "$cc_vendor" = "gnu" ] && ([ "$_cc_major" -gt 3 ] ||
( [ "$_cc_major" = 3 ] && [ "$_cc_minor" -ge 4 ])) ; then
1911 echocheck
"GCC & CPU optimization abilities"
1913 int main(void) { return 0; }
1915 if test "$_runtime_cpudetection" = no
; then
1916 if test $cc_vendor != "intel" ; then
1917 cc_check
-march=native
&& proc
=native
1919 if test "$proc" = "k8"; then
1920 cc_check
-march=$proc $cpuopt=$proc || proc
=athlon-xp
1922 if test "$proc" = "athlon-xp"; then
1923 cc_check
-march=$proc $cpuopt=$proc || proc
=athlon
1925 if test "$proc" = "k6-3" ||
test "$proc" = "k6-2"; then
1926 cc_check
-march=$proc $cpuopt=$proc || proc
=k6
1928 if test "$proc" = "k6" ||
test "$proc" = "c3"; then
1929 if ! cc_check
-march=$proc $cpuopt=$proc; then
1930 if cc_check
-march=i586
$cpuopt=i686
; then
1937 if test "$proc" = "prescott" ; then
1938 cc_check
-march=$proc $cpuopt=$proc || proc
=pentium4
1940 if test "$proc" = "core2" ; then
1941 cc_check
-march=$proc $cpuopt=$proc || proc
=pentium-m
1943 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
1944 cc_check
-march=$proc $cpuopt=$proc || proc
=i686
1946 if test "$proc" = "i686" ||
test "$proc" = "pentium-mmx" ||
test "$proc" = "winchip-c6" ||
test "$proc" = "winchip2"; then
1947 cc_check
-march=$proc $cpuopt=$proc || proc
=i586
1949 if test "$proc" = "i586"; then
1950 cc_check
-march=$proc $cpuopt=$proc || proc
=i486
1952 if test "$proc" = "i486" ; then
1953 cc_check
-march=$proc $cpuopt=$proc || proc
=i386
1955 if test "$proc" = "i386" ; then
1956 cc_check
-march=$proc $cpuopt=$proc || proc
=error
1958 if test "$proc" = "error" ; then
1959 echores
"CPU optimization disabled. CPU not recognized or your compiler is too old."
1963 elif test "$proc" = "i586-i686"; then
1964 _march
="-march=i586"
1965 _mcpu
="$cpuopt=i686"
1968 _march
="-march=$proc"
1969 _mcpu
="$cpuopt=$proc"
1972 else # if test "$_runtime_cpudetection" = no
1973 _mcpu
="$cpuopt=generic"
1974 # at least i486 required, for bswap instruction
1975 _march
="-march=i486"
1976 cc_check
$_mcpu || _mcpu
="$cpuopt=i686"
1977 cc_check
$_mcpu || _mcpu
=""
1978 cc_check
$_march $_mcpu || _march
=""
1981 ## Gabucino : --target takes effect here (hopefully...) by overwriting
1982 ## autodetected mcpu/march parameters
1983 if test "$_target" ; then
1984 # TODO: it may be a good idea to check GCC and fall back in all cases
1985 if test "$host_arch" = "i586-i686"; then
1986 _march
="-march=i586"
1987 _mcpu
="$cpuopt=i686"
1989 _march
="-march=$host_arch"
1990 _mcpu
="$cpuopt=$host_arch"
1998 i586|k5|k6|k6-2|k6-3|pentium|pentium-mmx
) iproc
=586 ;;
1999 i686|athlon
*|pentium
*) iproc
=686 ;;
2004 if test $_cmov = "yes" && test $_fast_cmov = "auto" ; then
2009 test $_fast_clz = "auto" && _fast_clz
=yes
2016 def_fast_64bit
='#define HAVE_FAST_64BIT 1'
2023 def_fast_unaligned
='#define HAVE_FAST_UNALIGNED 1'
2024 def_fast_64bit
='#define HAVE_FAST_64BIT 1'
2027 # gcc >= 3.4.0 doesn't support -mcpu, we have to use -mtune instead
2028 if test "$cc_vendor" = "gnu" && test "$_cc_major" -gt 3 -o "$_cc_major" -eq 3 -a "$_cc_minor" -ge 4 ; then
2033 if test "$_runtime_cpudetection" = no
; then
2038 test $_fast_clz = "auto" && _fast_clz
=no
2047 # 64-bit prescotts exist, but as far as GCC is concerned they
2048 # have the same capabilities as a nocona.
2050 test $_fast_cmov = "auto" && _fast_cmov
=no
2051 test $_fast_clz = "auto" && _fast_clz
=no
2058 fi # test "$_runtime_cpudetection" = no
2060 echocheck
"GCC & CPU optimization abilities"
2062 int main(void) { return 0; }
2064 # This is a stripped-down version of the i386 fallback.
2065 if test "$_runtime_cpudetection" = no
; then
2066 if test $cc_vendor != "intel" ; then
2067 cc_check
-march=native
&& proc
=native
2069 # --- AMD processors ---
2070 if test "$proc" = "k8"; then
2071 cc_check
-march=$proc $cpuopt=$proc || proc
=athlon-xp
2073 # This will fail if gcc version < 3.3, which is ok because earlier
2074 # versions don't really support 64-bit on amd64.
2075 # Is this a valid assumption? -Corey
2076 if test "$proc" = "athlon-xp"; then
2077 cc_check
-march=$proc $cpuopt=$proc || proc
=error
2079 # --- Intel processors ---
2080 if test "$proc" = "core2"; then
2081 cc_check
-march=$proc $cpuopt=$proc || proc
=x86-64
2083 if test "$proc" = "x86-64"; then
2084 cc_check
-march=$proc $cpuopt=$proc || proc
=nocona
2086 if test "$proc" = "nocona"; then
2087 cc_check
-march=$proc $cpuopt=$proc || proc
=pentium4
2089 if test "$proc" = "pentium4"; then
2090 cc_check
-march=$proc $cpuopt=$proc || proc
=error
2093 _march
="-march=$proc"
2094 _mcpu
="$cpuopt=$proc"
2095 if test "$proc" = "error" ; then
2096 echores
"CPU optimization disabled. CPU not recognized or your compiler is too old."
2100 else # if test "$_runtime_cpudetection" = no
2101 # x86-64 is an undocumented option, an intersection of k8 and nocona.
2102 _march
="-march=x86-64"
2103 _mcpu
="$cpuopt=generic"
2104 cc_check
$_mcpu || _mcpu
="x86-64"
2105 cc_check
$_mcpu || _mcpu
=""
2106 cc_check
$_march $_mcpu || _march
=""
2110 test $_fast_cmov = "auto" && _fast_cmov
=yes
2111 test $_fast_clz = "auto" && _fast_clz
=yes
2119 if test "$host_arch" = "sparc64" ; then
2122 def_fast_64bit
='#define HAVE_FAST_64BIT 1'
2124 echocheck
"CPU type"
2126 case "$(echo $karch)" in
2131 sun4u
) proc
=ultrasparc _vis
='yes' ;;
2150 def_fast_unaligned
='#define HAVE_FAST_UNALIGNED 1'
2152 test $_fast_clz = "auto" && _fast_clz
=yes
2160 ppc|ppc64|powerpc|powerpc64
)
2162 def_dcbzl
='#define HAVE_DCBZL 0'
2163 def_fast_unaligned
='#define HAVE_FAST_UNALIGNED 1'
2164 def_local_aligned_8
='#define HAVE_LOCAL_ALIGNED_8 1'
2165 def_local_aligned_16
='#define HAVE_LOCAL_ALIGNED_16 1'
2168 if test "$host_arch" = "ppc64" -o "$host_arch" = "powerpc64" ; then
2170 def_fast_64bit
='#define HAVE_FAST_64BIT 1'
2172 echocheck
"CPU type"
2173 case $system_name in
2175 proc
=$
($_cpuinfo |
grep 'cpu' | cut
-d ':' -f 2 | cut
-d ',' -f 1 | cut
-b 2- |
head -n 1)
2176 if test -n "$($_cpuinfo | grep altivec)"; then
2177 test $_altivec = auto
&& _altivec
=yes
2181 proc
=$
($_cpuinfo |
grep "Processor type" | cut
-f 3 -d ' ' |
sed 's/ppc//')
2182 if [ $
(sysctl
-n hw.vectorunit
) -eq 1 -o \
2183 "$(sysctl -n hw.optional.altivec 2> /dev/null)" = "1" ]; then
2184 test $_altivec = auto
&& _altivec
=yes
2188 # only gcc 3.4 works reliably with AltiVec code under NetBSD
2190 2*|
3.0*|
3.1*|
3.2*|
3.3*)
2193 if [ $
(sysctl
-n machdep.altivec
) -eq 1 ]; then
2194 test $_altivec = auto
&& _altivec
=yes
2200 proc
=$
($_cpuinfo |
grep 'type' | cut
-f 2 -d ' ' |
sed 's/PowerPC_//')
2203 if test "$_altivec" = yes; then
2204 echores
"$proc altivec"
2210 echocheck
"GCC & CPU optimization abilities"
2212 if test -n "$proc"; then
2214 601) _march
='-mcpu=601' _mcpu
='-mtune=601' ;;
2215 603) _march
='-mcpu=603' _mcpu
='-mtune=603' ;;
2216 603e|
603ev
) _march
='-mcpu=603e' _mcpu
='-mtune=603e' ;;
2217 604|
604e|
604r|
604ev
) _march
='-mcpu=604' _mcpu
='-mtune=604' ;;
2218 740|
740/750|
745/755) _march
='-mcpu=740' _mcpu
='-mtune=740' ;;
2219 750|
750CX
) _march
='-mcpu=750' _mcpu
='-mtune=750' ;;
2220 POWER
) _march
='-mcpu=power' _mcpu
='-mtune=power' ;;
2221 POWER2
) _march
='-mcpu=power2' _mcpu
='-mtune=power2' ;;
2222 POWER3
) _march
='-mcpu=power3' _mcpu
='-mtune=power3' ;;
2225 # gcc 3.1(.1) and up supports 7400 and 7450
2226 if test "$_cc_major" -ge "3" && test "$_cc_minor" -ge "1" ||
test "$_cc_major" -ge "4"; then
2228 7400*|
7410*) _march
='-mcpu=7400' _mcpu
='-mtune=7400' ;;
2229 7447*|
7450*|
7455*) _march
='-mcpu=7450' _mcpu
='-mtune=7450' ;;
2233 # gcc 3.2 and up supports 970
2234 if test "$_cc_major" -ge "3" && test "$_cc_minor" -ge "3" ||
test "$_cc_major" -ge "4"; then
2236 970*|PPC970
*) _march
='-mcpu=970' _mcpu
='-mtune=970'
2237 def_dcbzl
='#define HAVE_DCBZL 1' ;;
2241 # gcc 3.3 and up supports POWER4
2242 if test "$_cc_major" -ge "3" && test "$_cc_minor" -ge "3" ||
test "$_cc_major" -ge "4"; then
2244 POWER4
) _march
='-mcpu=power4' _mcpu
='-mtune=power4' ;;
2248 # gcc 3.4 and up supports 440*
2249 if test "$_cc_major" -ge "3" && test "$_cc_minor" -ge "4" ||
test "$_cc_major" -ge "4"; then
2251 440EP
*) _march
='-mcpu=440fp' _mcpu
='-mtune=440fp' ;;
2252 440G
* ) _march
='-mcpu=440' _mcpu
='-mtune=440' ;;
2256 # gcc 4.0 and up supports POWER5
2257 if test "$_cc_major" -ge "4"; then
2259 POWER5
*) _march
='-mcpu=power5' _mcpu
='-mtune=power5' ;;
2265 if test -n "$_mcpu"; then
2266 _optimizing
=$
(echo $_mcpu | cut
-c 8-)
2267 echores
"$_optimizing"
2272 test $_fast_clz = "auto" && _fast_clz
=yes
2280 echocheck
"CPU type"
2283 unsigned long ver, mask;
2284 __asm__ ("implver %0" : "=r" (ver));
2285 __asm__ ("amask %1, %0" : "=r" (mask) : "r" (-1));
2286 printf("%ld-%x\n", ver, ~mask);
2290 $_cc -o "$TMPEXE" "$TMPC"
2291 case $
("$TMPEXE") in
2293 0-0) proc
="ev4"; _mvi
="0";;
2294 1-0) proc
="ev5"; _mvi
="0";;
2295 1-1) proc
="ev56"; _mvi
="0";;
2296 1-101) proc
="pca56"; _mvi
="1";;
2297 2-303) proc
="ev6"; _mvi
="1";;
2298 2-307) proc
="ev67"; _mvi
="1";;
2299 2-1307) proc
="ev68"; _mvi
="1";;
2303 echocheck
"GCC & CPU optimization abilities"
2304 if test "$proc" = "ev68" ; then
2305 cc_check
-mcpu=$proc || proc
=ev67
2307 if test "$proc" = "ev67" ; then
2308 cc_check
-mcpu=$proc || proc
=ev6
2313 test $_fast_clz = "auto" && _fast_clz
=yes
2323 echocheck
"CPU type"
2324 proc
=$
(hinv
-c processor |
grep CPU | cut
-d " " -f3)
2325 case "$(echo $proc)" in
2326 R3000
) _march
='-mips1' _mcpu
='-mtune=r2000' ;;
2327 R4000
) _march
='-mips3' _mcpu
='-mtune=r4000' ;;
2328 R4400
) _march
='-mips3' _mcpu
='-mtune=r4400' ;;
2329 R4600
) _march
='-mips3' _mcpu
='-mtune=r4600' ;;
2330 R5000
) _march
='-mips4' _mcpu
='-mtune=r5000' ;;
2331 R8000|R10000|R12000|R14000|R16000
) _march
='-mips4' _mcpu
='-mtune=r8000' ;;
2333 # gcc < 3.x does not support -mtune.
2334 if test "$cc_vendor" = "gnu" && test "$_cc_major" -lt 3 ; then
2340 test $_fast_clz = "auto" && _fast_clz
=yes
2374 echo "The architecture of your CPU ($host_arch) is not supported by this configure script"
2375 echo "It seems nobody has ported MPlayer to your OS or CPU type yet."
2376 die
"unsupported architecture $host_arch"
2378 esac # case "$host_arch" in
2380 if test "$_runtime_cpudetection" = yes ; then
2382 test "$_cmov" != no
&& _cmov
=yes
2384 test "$_mmx" != no
&& _mmx
=yes
2385 test "$_3dnow" != no
&& _3dnow
=yes
2386 test "$_3dnowext" != no
&& _3dnowext
=yes
2387 test "$_mmxext" != no
&& _mmxext
=yes
2388 test "$_sse" != no
&& _sse
=yes
2389 test "$_sse2" != no
&& _sse2
=yes
2390 test "$_ssse3" != no
&& _ssse3
=yes
2391 test "$_mtrr" != no
&& _mtrr
=yes
2400 echocheck
"byte order"
2401 if test "$_big_endian" = auto
; then
2403 short ascii_name[] = { (('M'<<8)|'P'),(('l'<<8)|'a'),(('y'<<8)|'e'),(('r'<<8)|'B'),
2404 (('i'<<8)|'g'),(('E'<<8)|'n'),(('d'<<8)|'i'),(('a'<<8)|'n'),0};
2405 int main(void) { return (int)ascii_name; }
2408 if strings $TMPEXE |
grep -q -l MPlayerBigEndian
; then
2414 echo ${_echo_n} "failed to autodetect byte order, defaulting to ${_echo_c}"
2417 if test "$_big_endian" = yes ; then
2418 _byte_order
='big-endian'
2419 def_words_endian
='#define WORDS_BIGENDIAN 1'
2420 def_bigendian
='#define HAVE_BIGENDIAN 1'
2421 def_av_bigendian
='#define AV_HAVE_BIGENDIAN 1'
2423 _byte_order
='little-endian'
2424 def_words_endian
='#undef WORDS_BIGENDIAN'
2425 def_bigendian
='#define HAVE_BIGENDIAN 0'
2426 def_av_bigendian
='#define AV_HAVE_BIGENDIAN 0'
2428 echores
"$_byte_order"
2431 echocheck
"extern symbol prefix"
2435 cc_check
-c || die
"Symbol mangling check failed."
2436 sym
=$
($_nm -P -g $TMPEXE)
2437 extern_prefix
=${sym%%ff_extern*}
2438 def_extern_asm
="#define EXTERN_ASM $extern_prefix"
2439 def_extern_prefix
="#define EXTERN_PREFIX \"$extern_prefix\""
2440 echores
$extern_prefix
2443 echocheck
"assembler support of -pipe option"
2445 int main(void) { return 0; }
2447 # -I. helps to detect compilers that just misunderstand -pipe like Sun C
2448 cc_check
-pipe -I.
&& _pipe
="-pipe" && echores
"yes" || echores
"no"
2451 echocheck
"compiler support of named assembler arguments"
2453 def_named_asm_args
="#define NAMED_ASM_ARGS 1"
2454 if test "$cc_vendor" = "gnu" && test "$_cc_major" -lt 3 \
2455 -o "$_cc_major" -eq 3 -a "$_cc_minor" = 0 ; then
2457 def_named_asm_args
="#undef NAMED_ASM_ARGS"
2459 echores
$_named_asm_args
2462 if darwin
&& test "$cc_vendor" = "gnu" ; then
2463 echocheck
"GCC support of -mstackrealign"
2464 # GCC 4.2 and some earlier Apple versions support this flag on x86. Since
2465 # Mac OS X/Intel has an ABI different from Windows this is needed to avoid
2466 # crashes when loading Win32 DLLs. Unfortunately some gcc versions create
2467 # wrong code with this flag, but this can be worked around by adding
2468 # -fno-unit-at-a-time as described in the blog post at
2469 # http://www.dribin.org/dave/blog/archives/2006/12/05/missing_third_param/
2471 __attribute__((noinline)) static int foo3(int i1, int i2, int i3) { return i3; }
2472 int main(void) { return foo3(1,2,3) == 3 ? 0 : 1; }
2474 cc_check
-O4 -mstackrealign && tmp_run
&& cflags_stackrealign
=-mstackrealign
2475 test -z "$cflags_stackrealign" && cc_check
-O4 -mstackrealign -fno-unit-at-a-time \
2476 && tmp_run
&& cflags_stackrealign
="-mstackrealign -fno-unit-at-a-time"
2477 test -n "$cflags_stackrealign" && echores
"yes" || echores
"no"
2478 fi # if darwin && test "$cc_vendor" = "gnu" ; then
2481 # Checking for CFLAGS
2483 if test "$_profile" != "" ||
test "$_debug" != "" ; then
2484 CFLAGS
="-W -Wall -O2 $_march $_mcpu $_pipe $_debug $_profile"
2486 elif test -z "$CFLAGS" ; then
2487 if test "$cc_vendor" = "intel" ; then
2488 CFLAGS
="-O2 $_march $_mcpu $_pipe -fomit-frame-pointer -wd167 -wd556 -wd144"
2489 elif test "$cc_vendor" = "sun" ; then
2490 CFLAGS
="-O2 $_march $_mcpu $_pipe -xc99 -xregs=frameptr"
2491 elif test "$cc_vendor" != "gnu" ; then
2492 CFLAGS
="-O2 $_march $_mcpu $_pipe"
2494 CFLAGS
="-Wall -Wno-switch -Wpointer-arith -Wredundant-decls -O4 $_march $_mcpu $_pipe -ffast-math -fomit-frame-pointer"
2495 extra_ldflags
="$extra_ldflags -ffast-math"
2502 int main(void) { return 0; }
2504 if test "$cc_vendor" = "gnu" ; then
2505 cc_check
-std=gnu99
&& CFLAGS
="-std=gnu99 $CFLAGS"
2506 cc_check
-Wdeclaration-after-statement && CFLAGS
="-Wdeclaration-after-statement $CFLAGS"
2507 cc_check
-Wno-pointer-sign && CFLAGS
="-Wno-pointer-sign $CFLAGS"
2508 cc_check
-Wdisabled-optimization && CFLAGS
="-Wdisabled-optimization $CFLAGS"
2509 cc_check
-Wundef && CFLAGS
="-Wundef $CFLAGS"
2510 cc_check
-Wmissing-prototypes && CFLAGS
="-Wmissing-prototypes $CFLAGS"
2511 cc_check
-Wstrict-prototypes && CFLAGS
="-Wstrict-prototypes $CFLAGS"
2513 CFLAGS
="-D_ISOC99_SOURCE -D_BSD_SOURCE $CFLAGS"
2516 cc_check
-mno-omit-leaf-frame-pointer && cflags_no_omit_leaf_frame_pointer
="-mno-omit-leaf-frame-pointer"
2517 cc_check
-MD -MP && CFLAGS
="-MD -MP $CFLAGS"
2520 if test -n "$LDFLAGS" ; then
2521 extra_ldflags
="$extra_ldflags $LDFLAGS"
2523 elif test "$cc_vendor" = "intel" ; then
2524 extra_ldflags
="$extra_ldflags -i-static"
2526 if test -n "$CPPFLAGS" ; then
2527 extra_cflags
="$extra_cflags $CPPFLAGS"
2534 # Checking assembler (_as) compatibility...
2535 # Added workaround for older as that reads from stdin by default - atmos
2536 as_version
=$
(echo '' |
$_as -version 2>&1 |
sed -n 's/^.*assembler \(version \)*\([0-9.]*\).*$/\2/p')
2537 echocheck
"assembler ($_as $as_version)"
2539 _pref_as_version
='2.9.1'
2541 if test "$_mmx" = yes ; then
2542 echo 'emms' >> $TMPS
2544 if test "$_3dnow" = yes ; then
2545 _pref_as_version
='2.10.1'
2546 echo 'femms' >> $TMPS
2548 if test "$_3dnowext" = yes ; then
2549 _pref_as_version
='2.10.1'
2550 echo 'pswapd %mm0, %mm0' >> $TMPS
2552 if test "$_mmxext" = yes ; then
2553 _pref_as_version
='2.10.1'
2554 echo 'movntq %mm0, (%eax)' >> $TMPS
2556 if test "$_sse" = yes ; then
2557 _pref_as_version
='2.10.1'
2558 echo 'xorps %xmm0, %xmm0' >> $TMPS
2560 #if test "$_sse2" = yes ; then
2561 # _pref_as_version='2.11'
2562 # echo 'xorpd %xmm0, %xmm0' >> $TMPS
2564 if test "$_cmov" = yes ; then
2565 _pref_as_version
='2.10.1'
2566 echo 'cmovb %eax, %ebx' >> $TMPS
2568 if test "$_ssse3" = yes ; then
2569 _pref_as_version
='2.16.92'
2570 echo 'pabsd %xmm0, %xmm1' >> $TMPS
2572 $_as $TMPS -o $TMPEXE > /dev
/null
2>&1 || as_verc_fail
=yes
2574 if test "$as_verc_fail" != yes ; then
2577 res_comment
="Upgrade binutils to ${_pref_as_version} or use --disable-ssse3 etc."
2579 die
"obsolete binutils version"
2584 echocheck
".align is a power of two"
2585 if test "$_asmalign_pot" = auto
; then
2588 int main(void) { __asm__ (".align 3"); return 0; }
2590 cc_check
&& _asmalign_pot
=yes
2592 if test "$_asmalign_pot" = "yes" ; then
2593 def_asmalign_pot
='#define ASMALIGN(ZEROBITS) ".align " #ZEROBITS "\n\t"'
2595 def_asmalign_pot
='#define ASMALIGN(ZEROBITS) ".align 1<<" #ZEROBITS "\n\t"'
2597 echores
$_asmalign_pot
2600 echocheck
"10 assembler operands"
2602 def_ten_operands
='#define HAVE_TEN_OPERANDS 0'
2608 :"+&rm"(x), "+&rm"(x), "+&rm"(x), "+&rm"(x), "+&rm"(x), "+&rm"(x)
2613 cc_check
&& ten_operands
=yes && def_ten_operands
='#define HAVE_TEN_OPERANDS 1'
2614 echores
$ten_operands
2616 echocheck
"ebx availability"
2618 def_ebx_available
='#define HAVE_EBX_AVAILABLE 0'
2625 // just adding ebx to clobber list seems unreliable with some
2626 // compilers, e.g. Haiku's gcc 2.95
2628 // and the above check does not work for OSX 64 bit...
2629 __asm__ volatile("":::"%ebx");
2633 cc_check
&& ebx_available
=yes && def_ebx_available
='#define HAVE_EBX_AVAILABLE 1'
2634 echores
$ebx_available
2640 #if !(defined(__PIC__) || defined(__pic__) || defined(PIC))
2641 #error PIC not enabled
2646 cc_check
&& pic
=yes && extra_cflags
="$extra_cflags -DPIC"
2650 if test -z "$YASMFLAGS" ; then
2652 x86_64
&& objformat
="macho64" || objformat
="macho"
2658 # currently tested for Linux x86, x86_64
2659 YASMFLAGS
="-f $objformat"
2660 x86_64
&& YASMFLAGS
="$YASMFLAGS -DARCH_X86_64 -m amd64"
2661 test "$pic" = "yes" && YASMFLAGS
="$YASMFLAGS -DPIC"
2662 case "$objformat" in
2663 elf
) test $_debug && YASMFLAGS
="$YASMFLAGS -g dwarf2" ;;
2664 *) YASMFLAGS
="$YASMFLAGS -DPREFIX" ;;
2670 echo "pabsw xmm0, xmm0" > $TMPS
2671 yasm_check || _yasm
=""
2672 if test $_yasm ; then
2673 def_yasm
='#define HAVE_YASM 1'
2677 def_yasm
='#define HAVE_YASM 0'
2683 def_bswap
='#define HAVE_BSWAP 0'
2684 echo 'bswap %eax' > $TMPS
2685 $_as $TMPS -o $TMPEXE > /dev
/null
2>&1 && def_bswap
='#define HAVE_BSWAP 1' && bswap
=yes || bswap
=no
2690 #FIXME: This should happen before the check for CFLAGS..
2691 def_altivec_h
='#define HAVE_ALTIVEC_H 0'
2692 if ppc
&& ( test "$_altivec" = yes ||
test "$_runtime_cpudetection" = yes ) ; then
2694 # check if AltiVec is supported by the compiler, and how to enable it
2695 echocheck
"GCC AltiVec flags"
2697 int main(void) { return 0; }
2699 if $
(cc_check
-maltivec -mabi=altivec
) ; then
2700 _altivec_gcc_flags
="-maltivec -mabi=altivec"
2701 # check if <altivec.h> should be included
2703 #include <altivec.h>
2704 int main(void) { return 0; }
2706 if $
(cc_check
$_altivec_gcc_flags) ; then
2707 def_altivec_h
='#define HAVE_ALTIVEC_H 1'
2708 inc_altivec_h
='#include <altivec.h>'
2711 int main(void) { return 0; }
2713 if $
(cc_check
-faltivec) ; then
2714 _altivec_gcc_flags
="-faltivec"
2717 _altivec_gcc_flags
="none, AltiVec disabled"
2721 echores
"$_altivec_gcc_flags"
2723 # check if the compiler supports braces for vector declarations
2726 int main(void) { (vector int) {1}; return 0; }
2728 cc_check
$_altivec_gcc_flags || die
"You need a compiler that supports {} in AltiVec vector declarations."
2730 # Disable runtime cpudetection if we cannot generate AltiVec code or
2731 # AltiVec is disabled by the user.
2732 test "$_runtime_cpudetection" = yes && test "$_altivec" = no \
2733 && _runtime_cpudetection
=no
2735 # Show that we are optimizing for AltiVec (if enabled and supported).
2736 test "$_runtime_cpudetection" = no
&& test "$_altivec" = yes \
2737 && _optimizing
="$_optimizing altivec"
2739 # If AltiVec is enabled, make sure the correct flags turn up in CFLAGS.
2740 test "$_altivec" = yes && CFLAGS
="$CFLAGS $_altivec_gcc_flags"
2744 def_xform_asm
='#define HAVE_XFORM_ASM 0'
2746 echocheck
"XFORM ASM support"
2748 int main(void) { __asm__ volatile ("lwzx %1, %y0" :: "Z"(*(int*)0), "r"(0)); return 0; }
2750 cc_check
&& xform_asm
=yes && def_xform_asm
='#define HAVE_XFORM_ASM 1'
2751 echores
"$xform_asm"
2755 echocheck
"ARM pld instruction"
2757 int main(void) { __asm__ volatile ("pld [r0]"); return 0; }
2763 echocheck
"ARMv5TE (Enhanced DSP Extensions)"
2764 if test $_armv5te = "auto" ; then
2766 int main(void) { __asm__ volatile ("qadd r0, r0, r0"); return 0; }
2769 cc_check
&& _armv5te
=yes
2773 test $_armv5te = "yes" && test $_fast_clz = "auto" && _fast_clz
=yes
2775 echocheck
"ARMv6 (SIMD instructions)"
2776 if test $_armv6 = "auto" ; then
2778 int main(void) { __asm__ volatile ("sadd16 r0, r0, r0"); return 0; }
2781 cc_check
&& _armv6
=yes
2785 echocheck
"ARMv6t2 (SIMD instructions)"
2786 if test $_armv6t2 = "auto" ; then
2788 int main(void) { __asm__ volatile ("movt r0, #0"); return 0; }
2791 cc_check
&& _armv6t2
=yes
2796 if test $_armvfp = "auto" ; then
2798 int main(void) { __asm__ volatile ("fadds s0, s0, s0"); return 0; }
2801 cc_check
&& _armvfp
=yes
2805 echocheck
"ARM NEON"
2806 if test $neon = "auto" ; then
2808 int main(void) { __asm__ volatile ("vadd.i16 q0, q0, q0"); return 0; }
2811 cc_check
&& neon
=yes
2815 echocheck
"iWMMXt (Intel XScale SIMD instructions)"
2816 if test $_iwmmxt = "auto" ; then
2818 int main(void) { __asm__ volatile ("wunpckelub wr6, wr4"); return 0; }
2821 cc_check
&& _iwmmxt
=yes
2826 cpuexts_all
='ALTIVEC MMX MMX2 AMD3DNOW AMD3DNOWEXT SSE SSE2 SSSE3 FAST_CMOV CMOV FAST_CLZ PLD ARMV5TE ARMV6 ARMV6T2 ARMVFP NEON IWMMXT MMI VIS MVI'
2827 test "$_altivec" = yes && cpuexts
="ALTIVEC $cpuexts"
2828 test "$_mmx" = yes && cpuexts
="MMX $cpuexts"
2829 test "$_mmxext" = yes && cpuexts
="MMX2 $cpuexts"
2830 test "$_3dnow" = yes && cpuexts
="AMD3DNOW $cpuexts"
2831 test "$_3dnowext" = yes && cpuexts
="AMD3DNOWEXT $cpuexts"
2832 test "$_sse" = yes && cpuexts
="SSE $cpuexts"
2833 test "$_sse2" = yes && cpuexts
="SSE2 $cpuexts"
2834 test "$_ssse3" = yes && cpuexts
="SSSE3 $cpuexts"
2835 test "$_cmov" = yes && cpuexts
="CMOV $cpuexts"
2836 test "$_fast_cmov" = yes && cpuexts
="FAST_CMOV $cpuexts"
2837 test "$_fast_clz" = yes && cpuexts
="FAST_CLZ $cpuexts"
2838 test "$pld" = yes && cpuexts
="PLD $cpuexts"
2839 test "$_armv5te" = yes && cpuexts
="ARMV5TE $cpuexts"
2840 test "$_armv6" = yes && cpuexts
="ARMV6 $cpuexts"
2841 test "$_armv6t2" = yes && cpuexts
="ARMV6T2 $cpuexts"
2842 test "$_armvfp" = yes && cpuexts
="ARMVFP $cpuexts"
2843 test "$neon" = yes && cpuexts
="NEON $cpuexts"
2844 test "$_iwmmxt" = yes && cpuexts
="IWMMXT $cpuexts"
2845 test "$_vis" = yes && cpuexts
="VIS $cpuexts"
2846 test "$_mvi" = yes && cpuexts
="MVI $cpuexts"
2848 # Checking kernel version...
2849 if x86_32
&& linux
; then
2851 kernel_version
=$
(uname
-r 2>&1)
2852 echocheck
"$system_name kernel version"
2853 case "$kernel_version" in
2854 '') kernel_version
="?.??"; _k_verc_fail
=yes;;
2855 [0-1].
[0-9].
[0-9]*|
2.
[0-3].
[0-9]*)
2856 _k_verc_problem
=yes;;
2858 if test "$_k_verc_problem" = yes && test "$_sse" = yes ; then
2861 if test "$_k_verc_fail" ; then
2862 echores
"$kernel_version, fail"
2863 echo "WARNING! If you want to run MPlayer on this system, get prepared for problems!"
2864 echo "2.2.x has limited SSE support. Upgrade the kernel or use --disable-sse if you"
2865 echo "experience crashes. MPlayer tries to autodetect if your kernel correctly"
2866 echo "supports SSE, but you have been warned! If you are using a kernel older than"
2867 echo "2.2.x you must upgrade it to get SSE support!"
2868 # die "Your kernel is too old for this CPU." # works fine on some 2.2.x so don't die (later check will test)
2870 echores
"$kernel_version, ok"
2874 ######################
2875 # MAIN TESTS GO HERE #
2876 ######################
2881 int main(void) { return 0; }
2883 if cc_check
-lposix ; then
2884 extra_ldflags
="$extra_ldflags -lposix"
2892 int main(void) { return 0; }
2894 if cc_check
-lm ; then
2903 echocheck
"langinfo"
2904 if test "$_langinfo" = auto
; then
2906 #include <langinfo.h>
2907 int main(void) { nl_langinfo(CODESET); return 0; }
2910 cc_check
&& _langinfo
=yes
2912 if test "$_langinfo" = yes ; then
2913 def_langinfo
='#define HAVE_LANGINFO 1'
2915 def_langinfo
='#undef HAVE_LANGINFO'
2917 echores
"$_langinfo"
2920 echocheck
"language"
2921 # Set preferred languages, "all" uses English as main language.
2922 test -z "$language" && language
=$LINGUAS
2923 test -z "$language_doc" && language_doc
=$language
2924 test -z "$language_man" && language_man
=$language
2925 test -z "$language_msg" && language_msg
=$language
2926 language_doc
=$
(echo $language_doc |
tr , " ")
2927 language_man
=$
(echo $language_man |
tr , " ")
2928 language_msg
=$
(echo $language_msg |
tr , " ")
2930 test "$language_doc" = "all" && language_doc
=$doc_lang_all
2931 test "$language_man" = "all" && language_man
=$man_lang_all
2932 test "$language_msg" = "all" && language_msg
=en
2934 # Prune non-existing translations from language lists.
2935 # Set message translation to the first available language.
2936 # Fall back on English.
2937 for lang
in $language_doc ; do
2938 test -d DOCS
/xml
/$lang && tmp_language_doc
="$tmp_language_doc $lang"
2940 language_doc
=$tmp_language_doc
2941 test -z "$language_doc" && language_doc
=en
2943 for lang
in $language_man ; do
2944 test -d DOCS
/man
/$lang && tmp_language_man
="$tmp_language_man $lang"
2946 language_man
=$tmp_language_man
2947 test -z "$language_man" && language_man
=en
2949 for lang
in $language_msg ; do
2950 test -f "help/help_mp-${lang}.h" && tmp_language_msg
=$lang && break
2952 language_msg
=$tmp_language_msg
2953 test -z "$language_msg" && language_msg
=en
2954 _mp_help
="help/help_mp-${language_msg}.h"
2955 echores
"messages: $language_msg - man pages: $language_man - documentation: $language_doc"
2958 echocheck
"enable sighandler"
2959 if test "$_sighandler" = yes ; then
2960 def_sighandler
='#define CONFIG_SIGHANDLER 1'
2962 def_sighandler
='#undef CONFIG_SIGHANDLER'
2964 echores
"$_sighandler"
2966 echocheck
"runtime cpudetection"
2967 if test "$_runtime_cpudetection" = yes ; then
2968 _optimizing
="Runtime CPU-Detection enabled"
2969 def_runtime_cpudetection
='#define CONFIG_RUNTIME_CPUDETECT 1'
2971 def_runtime_cpudetection
='#define CONFIG_RUNTIME_CPUDETECT 0'
2973 echores
"$_runtime_cpudetection"
2976 echocheck
"restrict keyword"
2977 for restrict_keyword
in restrict __restrict __restrict__
; do
2978 echo "void foo(char * $restrict_keyword p); int main(void) { return 0; }" > $TMPC
2980 def_restrict_keyword
=$restrict_keyword
2984 if [ -n "$def_restrict_keyword" ]; then
2985 echores
"$def_restrict_keyword"
2989 # Avoid infinite recursion loop ("#define restrict restrict")
2990 if [ "$def_restrict_keyword" != "restrict" ]; then
2991 def_restrict_keyword
="#define restrict $def_restrict_keyword"
2993 def_restrict_keyword
=""
2997 echocheck
"__builtin_expect"
2998 # GCC branch prediction hint
3001 a = __builtin_expect(a, 10);
3002 return a == 10 ? 0 : 1;
3004 int main(void) { return foo(10) && foo(0); }
3007 cc_check
&& _builtin_expect
=yes
3008 if test "$_builtin_expect" = yes ; then
3009 def_builtin_expect
='#define HAVE_BUILTIN_EXPECT 1'
3011 def_builtin_expect
='#undef HAVE_BUILTIN_EXPECT'
3013 echores
"$_builtin_expect"
3019 int main(void) { (void) kstat_open(); (void) kstat_close(0); return 0; }
3022 cc_check
-lkstat && _kstat
=yes
3023 if test "$_kstat" = yes ; then
3024 def_kstat
="#define HAVE_LIBKSTAT 1"
3025 extra_ldflags
="$extra_ldflags -lkstat"
3027 def_kstat
="#undef HAVE_LIBKSTAT"
3033 # required for nanosleep on some systems
3036 int main(void) { (void) nanosleep(0, 0); return 0; }
3039 cc_check
-lposix4 && _posix4
=yes
3040 if test "$_posix4" = yes ; then
3041 extra_ldflags
="$extra_ldflags -lposix4"
3045 for func
in exp2 exp2f llrint llrintf log2 log2f lrint lrintf round roundf truncf
; do
3049 int main(void) { long (*foo)(float); foo = $func; (void)(*foo)(0.0); return 0; }
3052 cc_check
-D_ISOC99_SOURCE $_ld_lm && eval _
$func=yes
3053 if eval test "x\$_$func" = "xyes"; then
3054 eval def_
$func="\"#define HAVE_$(echo $func | tr '[a-z]' '[A-Z]') 1\""
3057 eval def_
$func="\"#define HAVE_$(echo $func | tr '[a-z]' '[A-Z]') 0\""
3066 int main(void) { char a; mkstemp(&a); return 0; }
3069 cc_check
&& _mkstemp
=yes
3070 if test "$_mkstemp" = yes ; then
3071 def_mkstemp
='#define HAVE_MKSTEMP 1'
3073 def_mkstemp
='#undef HAVE_MKSTEMP'
3078 echocheck
"nanosleep"
3079 # also check for nanosleep
3082 int main(void) { (void) nanosleep(0, 0); return 0; }
3085 cc_check
&& _nanosleep
=yes
3086 if test "$_nanosleep" = yes ; then
3087 def_nanosleep
='#define HAVE_NANOSLEEP 1'
3089 def_nanosleep
='#undef HAVE_NANOSLEEP'
3091 echores
"$_nanosleep"
3095 # for Solaris (socket stuff is in -lsocket, gethostbyname and friends in -lnsl):
3096 # for BeOS (socket stuff is in -lsocket, gethostbyname and friends in -lbind):
3099 #include <sys/socket.h>
3100 int main(void) { (void) gethostbyname(0); (void) socket(AF_INET, SOCK_STREAM, 0); return 0; }
3103 for _ld_tmp
in "" "-lsocket -lbind" "-lsocket -ldnet" "-lsocket -lnsl" "-lnsl" "-lsocket" ; do
3104 cc_check
$_ld_tmp && _ld_sock
="$_ld_tmp" && _socklib
=yes && break
3106 test $_socklib = yes && test $_winsock2_h = auto
&& _winsock2_h
=no
3107 if test $_winsock2_h = auto
; then
3110 #include <winsock2.h>
3111 int main(void) { (void) gethostbyname(0); return 0; }
3113 cc_check
-lws2_32 && _ld_sock
="-lws2_32" && _winsock2_h
=yes
3115 test "$_ld_sock" && res_comment
="using $_ld_sock"
3119 if test $_winsock2_h = yes ; then
3121 def_winsock2_h
='#define HAVE_WINSOCK2_H 1'
3122 cc_check_winsock2_h
='-DHAVE_WINSOCK2_H=1'
3124 def_winsock2_h
='#define HAVE_WINSOCK2_H 0'
3125 cc_check_winsock2_h
='-DHAVE_WINSOCK2_H=0'
3129 echocheck
"netdb.h, struct addrinfo"
3130 if test "$_struct_addrinfo" = auto
; then
3134 #include <winsock2.h>
3135 #include <ws2tcpip.h>
3137 #include <sys/types.h>
3138 #include <sys/socket.h>
3141 int main(void) { struct addrinfo ai; return 0; }
3143 cc_check
$cc_check_winsock2_h && _struct_addrinfo
=yes
3145 echores
"$_struct_addrinfo"
3147 if test "$_struct_addrinfo" = yes; then
3148 def_addrinfo
="#define HAVE_STRUCT_ADDRINFO 1"
3150 def_addrinfo
="#define HAVE_STRUCT_ADDRINFO 0"
3154 echocheck
"netdb.h, getaddrinfo()"
3155 if test "$_getaddrinfo" = auto
; then
3159 #include <winsock2.h>
3161 #include <sys/types.h>
3162 #include <sys/socket.h>
3165 int main(void) { (void) getaddrinfo(0, 0, 0, 0); return 0; }
3167 cc_check
$cc_check_winsock2_h && _getaddrinfo
=yes
3169 echores
"$_getaddrinfo"
3171 if test "$_getaddrinfo" = yes; then
3172 def_getaddrinfo
="#define HAVE_GETADDRINFO 1"
3174 def_getaddrinfo
="#define HAVE_GETADDRINFO 0"
3178 echocheck
"sockaddr_storage"
3179 if test "$_struct_sockaddr_storage" = auto
; then
3180 _struct_sockaddr_storage
=no
3183 #include <winsock2.h>
3185 #include <sys/socket.h>
3187 int main(void) { struct sockaddr_storage sas; return 0; }
3189 cc_check
$cc_check_winsock2_h && _struct_sockaddr_storage
=yes
3191 echores
"$_struct_sockaddr_storage"
3193 if test "$_struct_sockaddr_storage" = yes; then
3194 def_sockaddr_storage
="#define HAVE_STRUCT_SOCKADDR_STORAGE 1"
3196 def_sockaddr_storage
="#define HAVE_STRUCT_SOCKADDR_STORAGE 0"
3200 echocheck
"struct ipv6_mreq"
3201 _struct_ipv6_mreq
=no
3202 def_struct_ipv6_mreq
="#define HAVE_STRUCT_IPV6_MREQ 0"
3203 for header
in "netinet/in.h" "ws2tcpip.h" ; do
3206 int main(void) { struct ipv6_mreq mreq6; return 0; }
3208 cc_check
&& _struct_ipv6_mreq
=yes && \
3209 def_struct_ipv6_mreq
="#define HAVE_STRUCT_IPV6_MREQ 1" && break
3211 echores
"$_struct_ipv6_mreq"
3214 echocheck
"struct sockaddr_in6"
3215 _struct_sockaddr_in6
=no
3216 def_struct_sockaddr_in6
="#define HAVE_STRUCT_SOCKADDR_IN6 0"
3217 for header
in "netinet/in.h" "ws2tcpip.h" ; do
3220 int main(void) { struct sockaddr_in6 addr; return 0; }
3222 cc_check
&& _struct_sockaddr_in6
=yes && \
3223 def_struct_sockaddr_in6
="#define HAVE_STRUCT_SOCKADDR_IN6 1" && break
3225 echores
"$_struct_sockaddr_in6"
3228 echocheck
"struct sockaddr sa_len"
3229 _struct_sockaddr_sa_len
=no
3230 def_struct_sockaddr_sa_len
="#define HAVE_STRUCT_SOCKADDR_SA_LEN 0"
3233 #include <winsock2.h>
3235 #include <sys/types.h>
3236 #include <sys/socket.h>
3238 int main(void) { const void *p = &((struct sockaddr *)0)->sa_len; return 0; }
3240 cc_check
$cc_check_winsock2_h && _struct_sockaddr_sa_len
=yes && \
3241 def_struct_sockaddr_sa_len
="#define HAVE_STRUCT_SOCKADDR_SA_LEN 1"
3242 echores
"$_struct_sockaddr_sa_len"
3245 echocheck
"arpa/inet.h"
3247 def_arpa_inet_h
='#define HAVE_ARPA_INET_H 0'
3249 #include <arpa/inet.h>
3250 int main(void) { return 0; }
3252 cc_check
&& arpa_inet_h
=yes && def_arpa_inet_h
='#define HAVE_ARPA_INET_H 1'
3253 echores
"$arpa_inet_h"
3256 echocheck
"inet_pton()"
3257 def_inet_pton
='#define HAVE_INET_PTON 0'
3260 #include <sys/types.h>
3261 #include <sys/socket.h>
3262 #include <arpa/inet.h>
3263 int main(void) { (void) inet_pton(0, 0, 0); return 0; }
3265 for _ld_tmp
in "$_ld_sock" "$_ld_sock -lresolv" ; do
3266 cc_check
$_ld_tmp && inet_pton
=yes && break
3268 if test $inet_pton = yes ; then
3269 test "$_ld_tmp" && res_comment
="using $_ld_tmp"
3270 def_inet_pton
='#define HAVE_INET_PTON 1'
3272 echores
"$inet_pton"
3275 echocheck
"inet_aton()"
3276 def_inet_aton
='#define HAVE_INET_ATON 0'
3279 #include <sys/types.h>
3280 #include <sys/socket.h>
3281 #include <arpa/inet.h>
3282 int main(void) { (void) inet_aton(0, 0); return 0; }
3284 for _ld_tmp
in "$_ld_sock" "$_ld_sock -lresolv" ; do
3285 cc_check
$_ld_tmp && inet_aton
=yes && break
3287 if test $inet_aton = yes ; then
3288 test "$_ld_tmp" && res_comment
="using $_ld_tmp"
3289 def_inet_aton
='#define HAVE_INET_ATON 1'
3291 echores
"$inet_aton"
3294 echocheck
"socklen_t"
3296 for header
in "sys/socket.h" "ws2tcpip.h" "sys/types.h" ; do
3299 int main(void) { socklen_t v = 0; return v; }
3301 cc_check
&& _socklen_t
=yes && break
3303 if test "$_socklen_t" = yes ; then
3304 def_socklen_t
='#define HAVE_SOCKLEN_T 1'
3306 def_socklen_t
='#define HAVE_SOCKLEN_T 0'
3308 echores
"$_socklen_t"
3311 echocheck
"closesocket()"
3314 #include <winsock2.h>
3315 int main(void) { closesocket(~0); return 0; }
3317 cc_check
$_ld_sock && _closesocket
=yes
3318 if test "$_closesocket" = yes ; then
3319 def_closesocket
='#define HAVE_CLOSESOCKET 1'
3321 def_closesocket
='#define HAVE_CLOSESOCKET 0'
3323 echores
"$_closesocket"
3327 test $_winsock2_h = no
&& test $inet_pton = no
&&
3328 test $inet_aton = no
&& _network
=no
3329 if test "$_network" = yes ; then
3330 def_network
='#define CONFIG_NETWORK 1'
3331 extra_ldflags
="$extra_ldflags $_ld_sock"
3332 inputmodules
="network $inputmodules"
3334 _noinputmodules
="network $_noinputmodules"
3335 def_network
='#undef CONFIG_NETWORK'
3337 _libavprotocols
=$
(echo $_libavprotocols |
sed -e s
/GOPHER_PROTOCOL
// -e s
/HTTP_PROTOCOL
// -e s
/RTMP_PROTOCOL
// -e s
/RTP_PROTOCOL
// -e s
/TCP_PROTOCOL
// -e s
/UDP_PROTOCOL
//)
3338 _libavdemuxers
=$
(echo $_libavdemuxers |
sed -e s
/RTSP_DEMUXER
// -e s
/SDP_DEMUXER
//)
3344 if test "$_inet6" = auto
; then
3346 #include <sys/types.h>
3347 #if !defined(_WIN32) || defined(__CYGWIN__)
3348 #include <sys/socket.h>
3349 #include <netinet/in.h>
3351 #include <ws2tcpip.h>
3353 int main(void) { struct sockaddr_in6 six; socket(AF_INET6, SOCK_STREAM, AF_INET6); return 0; }
3356 if cc_check
$_ld_sock ; then
3360 if test "$_inet6" = yes ; then
3361 def_inet6
='#define HAVE_AF_INET6 1'
3363 def_inet6
='#undef HAVE_AF_INET6'
3368 echocheck
"gethostbyname2"
3369 if test "$_gethostbyname2" = auto
; then
3371 #include <sys/types.h>
3372 #include <sys/socket.h>
3374 int main(void) { gethostbyname2("", AF_INET); return 0; }
3381 if test "$_gethostbyname2" = yes ; then
3382 def_gethostbyname2
='#define HAVE_GETHOSTBYNAME2 1'
3384 def_gethostbyname2
='#undef HAVE_GETHOSTBYNAME2'
3386 echores
"$_gethostbyname2"
3389 echocheck
"inttypes.h (required)"
3391 #include <inttypes.h>
3392 int main(void) { return 0; }
3395 cc_check
&& _inttypes
=yes
3396 echores
"$_inttypes"
3398 if test "$_inttypes" = no
; then
3399 echocheck
"bitypes.h (inttypes.h predecessor)"
3401 #include <sys/bitypes.h>
3402 int main(void) { return 0; }
3404 cc_check
&& _inttypes
=yes
3405 if test "$_inttypes" = yes ; then
3406 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."
3408 die
"Cannot find header either inttypes.h or bitypes.h. There is no chance for compilation to succeed."
3413 echocheck
"int_fastXY_t in inttypes.h"
3415 #include <inttypes.h>
3417 volatile int_fast16_t v= 0;
3421 cc_check
&& _fast_inttypes
=yes
3422 if test "$_fast_inttypes" = no
; then
3424 typedef signed char int_fast8_t;
3425 typedef signed int int_fast16_t;
3426 typedef signed int int_fast32_t;
3427 typedef signed long long int_fast64_t;
3428 typedef unsigned char uint_fast8_t;
3429 typedef unsigned int uint_fast16_t;
3430 typedef unsigned int uint_fast32_t;
3431 typedef unsigned long long uint_fast64_t;'
3433 echores
"$_fast_inttypes"
3436 echocheck
"malloc.h"
3439 int main(void) { (void) malloc(0); return 0; }
3442 cc_check
&& _malloc
=yes
3443 if test "$_malloc" = yes ; then
3444 def_malloc_h
='#define HAVE_MALLOC_H 1'
3446 def_malloc_h
='#define HAVE_MALLOC_H 0'
3451 echocheck
"memalign()"
3452 # XXX restrict to x86 ? extend to other CPUs/cacheline sizes ?
3453 def_memalign_hack
='#define CONFIG_MEMALIGN_HACK 0'
3456 int main(void) { (void) memalign(64, sizeof(char)); return 0; }
3459 cc_check
&& _memalign
=yes
3460 if test "$_memalign" = yes ; then
3461 def_memalign
='#define HAVE_MEMALIGN 1'
3463 def_memalign
='#define HAVE_MEMALIGN 0'
3464 def_map_memalign
='#define memalign(a,b) malloc(b)'
3465 darwin || def_memalign_hack
='#define CONFIG_MEMALIGN_HACK 1'
3467 echores
"$_memalign"
3470 echocheck
"posix_memalign()"
3472 def_posix_memalign
='#define HAVE_POSIX_MEMALIGN 0'
3474 #define _XOPEN_SOURCE 600
3476 int main(void) { posix_memalign(NULL, 0, 0); }
3478 cc_check
&& posix_memalign
=yes && def_posix_memalign
='#define HAVE_POSIX_MEMALIGN 1'
3479 echores
"$posix_memalign"
3482 echocheck
"alloca.h"
3485 int main(void) { (void) alloca(0); return 0; }
3488 cc_check
&& _alloca
=yes
3490 def_alloca_h
='#define HAVE_ALLOCA_H 1'
3492 def_alloca_h
='#undef HAVE_ALLOCA_H'
3497 echocheck
"fastmemcpy"
3498 if test "$_fastmemcpy" = yes ; then
3499 def_fastmemcpy
='#define CONFIG_FASTMEMCPY 1'
3501 def_fastmemcpy
='#undef CONFIG_FASTMEMCPY'
3503 echores
"$_fastmemcpy"
3506 echocheck
"hard-coded tables"
3507 if test "$hardcoded_tables" = yes ; then
3508 def_hardcoded_tables
='#define CONFIG_HARDCODED_TABLES 1'
3509 mak_hardcoded_tables
='CONFIG_HARDCODED_TABLES = yes'
3511 def_hardcoded_tables
='#define CONFIG_HARDCODED_TABLES 0'
3513 echores
"$hardcoded_tables"
3518 #include <sys/types.h>
3519 #include <sys/mman.h>
3520 int main(void) { (void) mmap(0, 0, 0, 0, 0, 0); return 0; }
3523 cc_check
&& _mman
=yes
3524 if test "$_mman" = yes ; then
3525 def_mman_h
='#define HAVE_SYS_MMAN_H 1'
3527 def_mman_h
='#undef HAVE_SYS_MMAN_H'
3528 os2
&& _need_mmap
=yes
3533 #include <sys/types.h>
3534 #include <sys/mman.h>
3535 int main(void) { void *p = MAP_FAILED; return 0; }
3537 _mman_has_map_failed
=no
3538 cc_check
&& _mman_has_map_failed
=yes
3539 if test "$_mman_has_map_failed" = yes ; then
3540 def_mman_has_map_failed
=''
3542 def_mman_has_map_failed
='#define MAP_FAILED ((void *) -1)'
3545 echocheck
"dynamic loader"
3549 int main(void) { dlopen("", 0); dlclose(NULL); dlsym(NULL, ""); return 0; }
3552 for _ld_tmp
in "" "-ldl" ; do
3553 cc_check
$_ld_tmp && _ld_dl
="$_ld_tmp" && _dl
=yes && break
3555 if test "$_dl" = yes ; then
3556 def_dl
='#define HAVE_LIBDL 1'
3558 def_dl
='#undef HAVE_LIBDL'
3563 echocheck
"dynamic a/v plugins support"
3564 if test "$_dl" = no
; then
3567 if test "$_dynamic_plugins" = yes ; then
3568 def_dynamic_plugins
='#define CONFIG_DYNAMIC_PLUGINS 1'
3570 def_dynamic_plugins
='#undef CONFIG_DYNAMIC_PLUGINS'
3572 echores
"$_dynamic_plugins"
3575 def_threads
='#define HAVE_THREADS 0'
3579 THREAD_CFLAGS
=-D_REENTRANT
3580 elif freebsd || netbsd || openbsd || bsdos
; then
3581 THREAD_CFLAGS
=-D_THREAD_SAFE
3583 if test "$_pthreads" = auto
; then
3585 #include <pthread.h>
3586 void* func(void *arg) { return arg; }
3587 int main(void) { pthread_t tid; return pthread_create(&tid, 0, func, 0) == 0 ? 0 : 1; }
3591 for _ld_tmp
in "-lpthreadGC2" "" "-lpthread" "-pthread" ; do
3592 # for crosscompilation, we cannot execute the program, be happy if we can link statically
3593 cc_check
$THREAD_CFLAGS $_ld_tmp && (tmp_run ||
test "$_ld_static") && _ld_pthread
="$_ld_tmp" && _pthreads
=yes && break
3597 if test "$_pthreads" = yes ; then
3598 test $_ld_pthread && res_comment
="using $_ld_pthread"
3599 def_pthreads
='#define HAVE_PTHREADS 1'
3600 def_threads
='#define HAVE_THREADS 1'
3601 extra_cflags
="$extra_cflags $THREAD_CFLAGS"
3603 res_comment
="v4l, v4l2, ao_nas, win32 loader disabled"
3604 def_pthreads
='#undef HAVE_PTHREADS'
3605 _nas
=no
; _tv_v4l1
=no
; _tv_v4l2
=no
3606 mingw32 || _win32dll
=no
3608 echores
"$_pthreads"
3611 if test "$_pthreads" = yes ; then
3612 def_pthread_cache
="#define PTHREAD_CACHE 1"
3615 def_stream_cache
="#undef CONFIG_STREAM_CACHE"
3619 echocheck
"w32threads"
3620 if test "$_pthreads" = yes ; then
3621 res_comment
="using pthread instead"
3624 if test "$_w32threads" = auto
; then
3626 mingw32
&& _w32threads
=yes
3628 test "$_w32threads" = yes && def_threads
='#define HAVE_THREADS 1'
3629 echores
"$_w32threads"
3633 if test "$_rpath" = yes ; then
3634 for I
in $
(echo $extra_ldflags |
sed 's/-L//g') ; do
3635 tmp
="$tmp $(echo $I | sed 's/.*/ -L& -Wl,-R&/')"
3642 if test "$_iconv" = auto
; then
3647 #define INBUFSIZE 1024
3648 #define OUTBUFSIZE 4096
3650 char inbuffer[INBUFSIZE];
3651 char outbuffer[OUTBUFSIZE];
3656 char *tocode="UTF-8";
3657 char *fromcode="cp1250";
3658 if ((icdsc = iconv_open(tocode, fromcode)) != (iconv_t)(-1)) {
3659 while ((numread = read(0, inbuffer, INBUFSIZE))) {
3660 char *iptr=inbuffer;
3661 char *optr=outbuffer;
3662 size_t inleft=numread;
3663 size_t outleft=OUTBUFSIZE;
3664 if (iconv(icdsc, (const char **)&iptr, &inleft, &optr, &outleft)
3666 write(1, outbuffer, OUTBUFSIZE - outleft);
3669 if (iconv_close(icdsc) == -1)
3676 for _ld_tmp
in "" "-liconv" "-liconv $_ld_dl" ; do
3677 cc_check
$_ld_lm $_ld_tmp && extra_ldflags
="$extra_ldflags $_ld_tmp" && \
3681 if test "$_iconv" = yes ; then
3682 def_iconv
='#define CONFIG_ICONV 1'
3684 def_iconv
='#undef CONFIG_ICONV'
3689 echocheck
"soundcard.h"
3691 def_soundcard_h
='#undef HAVE_SOUNDCARD_H'
3692 def_sys_soundcard_h
='#undef HAVE_SYS_SOUNDCARD_H'
3693 for _soundcard_header
in "sys/soundcard.h" "soundcard.h"; do
3695 #include <$_soundcard_header>
3696 int main(void) { return 0; }
3698 cc_check
&& _soundcard_h
=yes && res_comment
="$_soundcard_header" && break
3701 if test "$_soundcard_h" = yes ; then
3702 if test $_soundcard_header = "sys/soundcard.h"; then
3703 def_sys_soundcard_h
='#define HAVE_SYS_SOUNDCARD_H 1'
3705 def_soundcard_h
='#define HAVE_SOUNDCARD_H 1'
3708 echores
"$_soundcard_h"
3711 echocheck
"sys/dvdio.h"
3714 #include <sys/dvdio.h>
3715 int main(void) { return 0; }
3718 cc_check
&& _dvdio
=yes
3719 if test "$_dvdio" = yes ; then
3720 def_dvdio
='#define DVD_STRUCT_IN_SYS_DVDIO_H 1'
3722 def_dvdio
='#undef DVD_STRUCT_IN_SYS_DVDIO_H'
3727 echocheck
"sys/cdio.h"
3730 #include <sys/cdio.h>
3731 int main(void) { return 0; }
3734 cc_check
&& _cdio
=yes
3735 if test "$_cdio" = yes ; then
3736 def_cdio
='#define DVD_STRUCT_IN_SYS_CDIO_H 1'
3738 def_cdio
='#undef DVD_STRUCT_IN_SYS_CDIO_H'
3743 echocheck
"linux/cdrom.h"
3745 #include <sys/types.h>
3746 #include <linux/cdrom.h>
3747 int main(void) { return 0; }
3750 cc_check
&& _cdrom
=yes
3751 if test "$_cdrom" = yes ; then
3752 def_cdrom
='#define DVD_STRUCT_IN_LINUX_CDROM_H 1'
3754 def_cdrom
='#undef DVD_STRUCT_IN_LINUX_CDROM_H'
3762 int main(void) { return 0; }
3765 cc_check
&& _dvd
=yes
3766 if test "$_dvd" = yes ; then
3767 def_dvd
='#define DVD_STRUCT_IN_DVD_H 1'
3769 def_dvd
='#undef DVD_STRUCT_IN_DVD_H'
3775 echocheck
"BSDI dvd.h"
3778 int main(void) { return 0; }
3781 cc_check
&& _bsdi_dvd
=yes
3782 if test "$_bsdi_dvd" = yes ; then
3783 def_bsdi_dvd
='#define DVD_STRUCT_IN_BSDI_DVDIOCTL_DVD_H 1'
3785 def_bsdi_dvd
='#undef DVD_STRUCT_IN_BSDI_DVDIOCTL_DVD_H'
3787 echores
"$_bsdi_dvd"
3792 # also used by AIX, but AIX does not support VCD and/or libdvdread
3793 echocheck
"HP-UX SCSI header"
3795 #include <sys/scsi.h>
3796 int main(void) { return 0; }
3799 cc_check
&& _hpux_scsi_h
=yes
3800 if test "$_hpux_scsi_h" = yes ; then
3801 def_hpux_scsi_h
='#define HPUX_SCTL_IO 1'
3803 def_hpux_scsi_h
='#undef HPUX_SCTL_IO'
3805 echores
"$_hpux_scsi_h"
3810 echocheck
"userspace SCSI headers (Solaris)"
3813 #include <stropts.h>
3814 #include <sys/scsi/scsi_types.h>
3815 #include <sys/scsi/impl/uscsi.h>
3816 int main(void) { return 0; }
3819 cc_check
&& _sol_scsi_h
=yes
3820 if test "$_sol_scsi_h" = yes ; then
3821 def_sol_scsi_h
='#define SOLARIS_USCSI 1'
3823 def_sol_scsi_h
='#undef SOLARIS_USCSI'
3825 echores
"$_sol_scsi_h"
3830 if test "$_termcap" = auto
; then
3834 int main(void) { tgetent(NULL, NULL); return 0; }
3837 for _ld_tmp
in "-lncurses" "-ltinfo" "-ltermcap"; do
3838 cc_check
$_ld_tmp && extra_ldflags
="$extra_ldflags $_ld_tmp" \
3839 && _termcap
=yes && break
3842 if test "$_termcap" = yes ; then
3843 def_termcap
='#define HAVE_TERMCAP 1'
3844 test $_ld_tmp && res_comment
="using $_ld_tmp"
3846 def_termcap
='#undef HAVE_TERMCAP'
3852 def_termios
='#undef HAVE_TERMIOS'
3853 def_termios_h
='#undef HAVE_TERMIOS_H'
3854 def_termios_sys_h
='#undef HAVE_SYS_TERMIOS_H'
3855 if test "$_termios" = auto
; then
3857 for _termios_header
in "termios.h" "sys/termios.h"; do
3859 #include <$_termios_header>
3860 int main(void) { return 0; }
3862 cc_check
&& _termios
=yes && res_comment
="using $_termios_header" && break
3866 if test "$_termios" = yes ; then
3867 def_termios
='#define HAVE_TERMIOS 1'
3868 if test "$_termios_header" = "termios.h" ; then
3869 def_termios_h
='#define HAVE_TERMIOS_H 1'
3871 def_termios_sys_h
='#define HAVE_SYS_TERMIOS_H 1'
3878 if test "$_shm" = auto
; then
3880 #include <sys/types.h>
3881 #include <sys/shm.h>
3882 int main(void) { shmget(0, 0, 0); shmat(0, 0, 0); shmctl(0, 0, 0); return 0; }
3885 cc_check
&& _shm
=yes
3887 if test "$_shm" = yes ; then
3888 def_shm
='#define HAVE_SHM 1'
3890 def_shm
='#undef HAVE_SHM'
3895 echocheck
"strsep()"
3898 int main(void) { char *s = "Hello, world!"; (void) strsep(&s, ","); return 0; }
3901 cc_check
&& _strsep
=yes
3902 if test "$_strsep" = yes ; then
3903 def_strsep
='#define HAVE_STRSEP 1'
3906 def_strsep
='#undef HAVE_STRSEP'
3912 echocheck
"vsscanf()"
3914 #define _ISOC99_SOURCE
3917 int main(void) { va_list ap; vsscanf("foo", "bar", ap); return 0; }
3920 cc_check
&& _vsscanf
=yes
3921 if test "$_vsscanf" = yes ; then
3922 def_vsscanf
='#define HAVE_VSSCANF 1'
3925 def_vsscanf
='#undef HAVE_VSSCANF'
3933 #define _XOPEN_SOURCE 600
3935 int main(void) { swab(0, 0, 0); return 0; }
3938 cc_check
&& _swab
=yes
3939 if test "$_swab" = yes ; then
3940 def_swab
='#define HAVE_SWAB 1'
3943 def_swab
='#undef HAVE_SWAB'
3948 echocheck
"POSIX select()"
3952 #include <sys/types.h>
3954 #include <sys/time.h>
3956 int main(void) {int nfds = 1; fd_set readfds; struct timeval timeout; select(nfds,&readfds,NULL,NULL,&timeout); return 0; }
3959 def_posix_select
='#undef HAVE_POSIX_SELECT'
3960 #select() of kLIBC (OS/2) supports socket only
3961 ! os2
&& cc_check
&& _posix_select
=yes \
3962 && def_posix_select
='#define HAVE_POSIX_SELECT 1'
3963 echores
"$_posix_select"
3966 echocheck
"audio select()"
3967 if test "$_select" = no
; then
3968 def_select
='#undef HAVE_AUDIO_SELECT'
3969 elif test "$_select" = yes ; then
3970 def_select
='#define HAVE_AUDIO_SELECT 1'
3975 echocheck
"gettimeofday()"
3978 #include <sys/time.h>
3979 int main(void) {struct timeval tv_start; gettimeofday(&tv_start, NULL); return 0; }
3982 cc_check
&& _gettimeofday
=yes
3983 if test "$_gettimeofday" = yes ; then
3984 def_gettimeofday
='#define HAVE_GETTIMEOFDAY 1'
3985 _need_gettimeofday
=no
3987 def_gettimeofday
='#undef HAVE_GETTIMEOFDAY'
3988 _need_gettimeofday
=yes
3990 echores
"$_gettimeofday"
3997 int main(void) { glob_t gg; glob("filename",0,NULL,&gg); return 0; }
4000 cc_check
&& _glob
=yes
4001 if test "$_glob" = yes ; then
4002 def_glob
='#define HAVE_GLOB 1'
4005 def_glob
='#undef HAVE_GLOB'
4011 echocheck
"setenv()"
4014 int main(void) { setenv("","",0); return 0; }
4017 cc_check
&& _setenv
=yes
4018 if test "$_setenv" = yes ; then
4019 def_setenv
='#define HAVE_SETENV 1'
4022 def_setenv
='#undef HAVE_SETENV'
4028 echocheck
"setmode()"
4030 def_setmode
='#define HAVE_SETMODE 0'
4033 int main(void) { setmode(0, 0); return 0; }
4035 cc_check
&& _setmode
=yes && def_setmode
='#define HAVE_SETMODE 1'
4040 echocheck
"sysi86()"
4042 #include <sys/sysi86.h>
4043 int main(void) { sysi86(0); return 0; }
4046 cc_check
&& _sysi86
=yes
4047 if test "$_sysi86" = yes ; then
4048 def_sysi86
='#define HAVE_SYSI86 1'
4050 #include <sys/sysi86.h>
4051 int main(void) { int sysi86(int, void*); sysi86(0); return 0; }
4053 cc_check
&& def_sysi86_iv
='#define HAVE_SYSI86_iv 1'
4055 def_sysi86
='#undef HAVE_SYSI86'
4061 echocheck
"sys/sysinfo.h"
4063 #include <sys/sysinfo.h>
4065 struct sysinfo s_info;
4071 cc_check
&& _sys_sysinfo
=yes
4072 if test "$_sys_sysinfo" = yes ; then
4073 def_sys_sysinfo_h
='#define HAVE_SYS_SYSINFO_H 1'
4075 def_sys_sysinfo_h
='#undef HAVE_SYS_SYSINFO_H'
4077 echores
"$_sys_sysinfo"
4082 echocheck
"Mac OS X Finder Support"
4083 def_macosx_finder
='#undef CONFIG_MACOSX_FINDER'
4084 if test "$_macosx_finder" = yes ; then
4085 def_macosx_finder
='#define CONFIG_MACOSX_FINDER 1'
4086 extra_ldflags
="$extra_ldflags -framework Carbon"
4088 echores
"$_macosx_finder"
4090 echocheck
"Mac OS X Bundle file locations"
4091 def_macosx_bundle
='#undef CONFIG_MACOSX_BUNDLE'
4092 test "$_macosx_bundle" = auto
&& _macosx_bundle
=$_macosx_finder
4093 if test "$_macosx_bundle" = yes ; then
4094 def_macosx_bundle
='#define CONFIG_MACOSX_BUNDLE 1'
4095 extra_ldflags
="$extra_ldflags -framework Carbon"
4097 echores
"$_macosx_bundle"
4099 echocheck
"Apple Remote"
4100 if test "$_apple_remote" = auto
; then
4104 #include <IOKit/IOCFPlugIn.h>
4106 io_iterator_t hidObjectIterator = (io_iterator_t)NULL;
4107 CFMutableDictionaryRef hidMatchDictionary;
4108 IOReturn ioReturnValue;
4110 // Set up a matching dictionary to search the I/O Registry by class.
4111 // name for all HID class devices
4112 hidMatchDictionary = IOServiceMatching("AppleIRController");
4114 // Now search I/O Registry for matching devices.
4115 ioReturnValue = IOServiceGetMatchingServices(kIOMasterPortDefault,
4116 hidMatchDictionary, &hidObjectIterator);
4118 // If search is unsuccessful, return nonzero.
4119 if (ioReturnValue != kIOReturnSuccess ||
4120 !IOIteratorIsValid(hidObjectIterator)) {
4126 cc_check
-framework IOKit
&& tmp_run
&& _apple_remote
=yes
4128 if test "$_apple_remote" = yes ; then
4129 def_apple_remote
='#define CONFIG_APPLE_REMOTE 1'
4130 libs_mplayer
="$libs_mplayer -framework IOKit -framework Cocoa"
4132 def_apple_remote
='#undef CONFIG_APPLE_REMOTE'
4134 echores
"$_apple_remote"
4140 echocheck
"Apple IR"
4141 if test "$_apple_ir" = auto
; then
4144 #include <linux/types.h>
4145 #include <linux/input.h>
4147 struct input_event ev;
4152 cc_check
&& _apple_ir
=yes
4154 if test "$_apple_ir" = yes ; then
4155 def_apple_ir
='#define CONFIG_APPLE_IR 1'
4157 def_apple_ir
='#undef CONFIG_APPLE_IR'
4159 echores
"$_apple_ir"
4162 echocheck
"pkg-config"
4163 _pkg_config
=pkg-config
4164 if $
($_pkg_config --version > /dev
/null
2>&1); then
4165 if test "$_ld_static"; then
4166 _pkg_config
="$_pkg_config --static"
4175 echocheck
"Samba support (libsmbclient)"
4176 if test "$_smb" = yes; then
4177 extra_ldflags
="$extra_ldflags -lsmbclient"
4179 if test "$_smb" = auto
; then
4182 #include <libsmbclient.h>
4183 int main(void) { smbc_opendir("smb://"); return 0; }
4185 for _ld_tmp
in "-lsmbclient" "-lsmbclient $_ld_dl" "-lsmbclient $_ld_dl -lnsl" "-lsmbclient $_ld_dl -lssl -lnsl" ; do
4186 cc_check
$_ld_tmp && extra_ldflags
="$extra_ldflags $_ld_tmp" && \
4191 if test "$_smb" = yes; then
4192 def_smb
="#define CONFIG_LIBSMBCLIENT 1"
4193 inputmodules
="smb $inputmodules"
4195 def_smb
="#undef CONFIG_LIBSMBCLIENT"
4196 _noinputmodules
="smb $_noinputmodules"
4207 if test "$_tdfxfb" = yes ; then
4208 def_tdfxfb
='#define CONFIG_TDFXFB 1'
4209 vomodules
="tdfxfb $vomodules"
4211 def_tdfxfb
='#undef CONFIG_TDFXFB'
4212 novomodules
="tdfxfb $novomodules"
4217 if test "$_s3fb" = yes ; then
4218 def_s3fb
='#define CONFIG_S3FB 1'
4219 vomodules
="s3fb $vomodules"
4221 def_s3fb
='#undef CONFIG_S3FB'
4222 novomodules
="s3fb $novomodules"
4227 if test "$_wii" = yes ; then
4228 def_wii
='#define CONFIG_WII 1'
4229 vomodules
="wii $vomodules"
4231 def_wii
='#undef CONFIG_WII'
4232 novomodules
="wii $novomodules"
4237 if test "$_tdfxvid" = yes ; then
4238 def_tdfxvid
='#define CONFIG_TDFX_VID 1'
4239 vomodules
="tdfx_vid $vomodules"
4241 def_tdfxvid
='#undef CONFIG_TDFX_VID'
4242 novomodules
="tdfx_vid $novomodules"
4247 if test "$_xvr100" = auto
; then
4250 #include <sys/fbio.h>
4251 #include <sys/visual_io.h>
4253 struct vis_identifier ident;
4254 struct fbgattr attr;
4255 ioctl(0, VIS_GETIDENTIFIER, &ident);
4256 ioctl(0, FBIOGATTR, &attr);
4261 cc_check
&& _xvr100
=yes
4263 if test "$_xvr100" = yes ; then
4264 def_xvr100
='#define CONFIG_XVR100 1'
4265 vomodules
="xvr100 $vomodules"
4267 def_tdfxvid
='#undef CONFIG_XVR100'
4268 novomodules
="xvr100 $novomodules"
4273 if test "$_tga" = yes ; then
4274 def_tga
='#define CONFIG_TGA 1'
4275 vomodules
="tga $vomodules"
4277 def_tga
='#undef CONFIG_TGA'
4278 novomodules
="tga $novomodules"
4283 echocheck
"md5sum support"
4284 if test "$_md5sum" = yes; then
4285 def_md5sum
="#define CONFIG_MD5SUM 1"
4286 vomodules
="md5sum $vomodules"
4288 def_md5sum
="#undef CONFIG_MD5SUM"
4289 novomodules
="md5sum $novomodules"
4294 echocheck
"yuv4mpeg support"
4295 if test "$_yuv4mpeg" = yes; then
4296 def_yuv4mpeg
="#define CONFIG_YUV4MPEG 1"
4297 vomodules
="yuv4mpeg $vomodules"
4299 def_yuv4mpeg
="#undef CONFIG_YUV4MPEG"
4300 novomodules
="yuv4mpeg $novomodules"
4302 echores
"$_yuv4mpeg"
4306 if test "$_bl" = yes ; then
4307 def_bl
='#define CONFIG_BL 1'
4308 vomodules
="bl $vomodules"
4310 def_bl
='#undef CONFIG_BL'
4311 novomodules
="bl $novomodules"
4316 echocheck
"DirectFB"
4317 if test "$_directfb" = auto
; then
4320 #include <directfb.h>
4321 int main(void) { DirectFBInit(0, 0); return 0; }
4323 for _inc_tmp
in "" -I/usr
/local
/include
/directfb \
4324 -I/usr
/include
/directfb
-I/usr
/local
/include
; do
4325 cc_check
$_inc_tmp -ldirectfb && _directfb
=yes && \
4326 extra_cflags
="$extra_cflags $_inc_tmp" && break
4331 expr $1 \
* 65536 + $2 \
* 256 + $3
4334 if test "$_directfb" = yes; then
4336 #include <directfb_version.h>
4338 dfb_ver = DIRECTFB_MAJOR_VERSION.DIRECTFB_MINOR_VERSION.DIRECTFB_MICRO_VERSION
4341 if $_cc -E $TMPC $extra_cflags > "$TMPEXE"; then
4342 _directfb_version
=$
(sed -n 's/^dfb_ver[^0-9]*\(.*\)/\1/p' "$TMPEXE" |
tr -d '()')
4343 _dfb_major
=$
(echo $_directfb_version | cut
-d .
-f 1)
4344 _dfb_minor
=$
(echo $_directfb_version | cut
-d .
-f 2)
4345 _dfb_micro
=$
(echo $_directfb_version | cut
-d .
-f 3)
4346 _dfb_version
=$
(dfb_version
$_dfb_major $_dfb_minor $_dfb_micro)
4347 if test "$_dfb_version" -ge $
(dfb_version
0 9 13); then
4348 def_directfb_version
="#define DIRECTFBVERSION $_dfb_version"
4349 res_comment
="$_directfb_version"
4350 test "$_dfb_version" -ge $
(dfb_version
0 9 15) && _dfbmga
=yes
4352 def_directfb_version
='#undef DIRECTFBVERSION'
4354 res_comment
="version >=0.9.13 required"
4358 res_comment
="failed to get version"
4361 echores
"$_directfb"
4363 if test "$_directfb" = yes ; then
4364 def_directfb
='#define CONFIG_DIRECTFB 1'
4365 vomodules
="directfb $vomodules"
4366 libs_mplayer
="$libs_mplayer -ldirectfb"
4368 def_directfb
='#undef CONFIG_DIRECTFB'
4369 novomodules
="directfb $novomodules"
4371 if test "$_dfbmga" = yes; then
4372 vomodules
="dfbmga $vomodules"
4373 def_dfbmga
='#define CONFIG_DFBMGA 1'
4375 novomodules
="dfbmga $novomodules"
4376 def_dfbmga
='#undef CONFIG_DFBMGA'
4380 echocheck
"X11 headers presence"
4382 res_comment
="check if the dev(el) packages are installed"
4383 for I
in $
(echo $extra_cflags |
sed s
/-I//g
) /usr
/include
; do
4384 if test -f "$I/X11/Xlib.h" ; then
4390 if test $_cross_compile = no
; then
4391 for I
in /usr
/X11
/include
/usr
/X11R
7/include
/usr
/local
/include
/usr
/X11R
6/include \
4392 /usr
/include
/X11R6
/usr
/openwin
/include
; do
4393 if test -f "$I/X11/Xlib.h" ; then
4394 extra_cflags
="$extra_cflags -I$I"
4396 res_comment
="using $I"
4401 echores
"$_x11_headers"
4405 if test "$_x11" = auto
&& test "$_x11_headers" = yes ; then
4407 #include <X11/Xlib.h>
4408 #include <X11/Xutil.h>
4409 int main(void) { (void) XCreateWindow(0,0,0,0,0,0,0,0,0,0,0,0); return 0; }
4411 for I
in "" -L/usr
/X11R
7/lib
-L/usr
/local
/lib
-L/usr
/X11R
6/lib
-L/usr
/lib
/X11R6 \
4412 -L/usr
/X11
/lib
-L/usr
/lib32
-L/usr
/openwin
/lib
-L/usr
/local
/lib64
-L/usr
/X11R
6/lib64 \
4415 _ld_tmp
="$I -lXext -lX11 $_ld_pthread -Wl,-R$(echo $I | sed s/^-L//)"
4417 _ld_tmp
="$I -lXext -lX11 $_ld_pthread"
4419 cc_check
$_ld_tmp && libs_mplayer
="$libs_mplayer $_ld_tmp" \
4420 && _x11
=yes && break
4423 if test "$_x11" = yes ; then
4424 def_x11
='#define CONFIG_X11 1'
4425 vomodules
="x11 xover $vomodules"
4428 def_x11
='#undef CONFIG_X11'
4429 novomodules
="x11 $novomodules"
4430 res_comment
="check if the dev(el) packages are installed"
4431 # disable stuff that depends on X
4432 _xv
=no
; _xvmc
=no
; _xinerama
=no
; _vm
=no
; _xf86keysym
=no
; _vdpau
=no
4436 echocheck
"Xss screensaver extensions"
4437 if test "$_xss" = auto
; then
4439 #include <X11/Xlib.h>
4440 #include <X11/extensions/scrnsaver.h>
4441 int main(void) { XScreenSaverSuspend(NULL, True); return 0; }
4444 cc_check
-lXss && _xss
=yes
4446 if test "$_xss" = yes ; then
4447 def_xss
='#define CONFIG_XSS 1'
4448 libs_mplayer
="$libs_mplayer -lXss"
4450 def_xss
='#undef CONFIG_XSS'
4457 if test "$_x11" = yes ; then
4459 #include <X11/Xmd.h>
4460 #include <X11/Xlib.h>
4461 #include <X11/Xutil.h>
4462 #include <X11/Xatom.h>
4463 #include <X11/extensions/dpms.h>
4464 int main(void) { (void) DPMSQueryExtension(0, 0, 0); return 0; }
4466 cc_check
-lXdpms && _xdpms3
=yes
4468 #include <X11/Xlib.h>
4469 #include <X11/extensions/dpms.h>
4470 int main(void) { (void) DPMSQueryExtension(0, 0, 0); return 0; }
4472 cc_check
-lXext && _xdpms4
=yes
4474 if test "$_xdpms4" = yes ; then
4475 def_xdpms
='#define CONFIG_XDPMS 1'
4476 res_comment
="using Xdpms 4"
4478 elif test "$_xdpms3" = yes ; then
4479 def_xdpms
='#define CONFIG_XDPMS 1'
4480 libs_mplayer
="$libs_mplayer -lXdpms"
4481 res_comment
="using Xdpms 3"
4484 def_xdpms
='#undef CONFIG_XDPMS'
4490 if test "$_xv" = auto
; then
4492 #include <X11/Xlib.h>
4493 #include <X11/extensions/Xvlib.h>
4495 (void) XvGetPortAttribute(0, 0, 0, 0);
4496 (void) XvQueryPortAttributes(0, 0, 0);
4500 cc_check
-lXv && _xv
=yes
4503 if test "$_xv" = yes ; then
4504 def_xv
='#define CONFIG_XV 1'
4505 libs_mplayer
="$libs_mplayer -lXv"
4506 vomodules
="xv $vomodules"
4508 def_xv
='#undef CONFIG_XV'
4509 novomodules
="xv $novomodules"
4515 if test "$_xv" = yes && test "$_xvmc" != no
; then
4518 #include <X11/Xlib.h>
4519 #include <X11/extensions/Xvlib.h>
4520 #include <X11/extensions/XvMClib.h>
4522 (void) XvMCQueryExtension(0,0,0);
4523 (void) XvMCCreateContext(0,0,0,0,0,0,0);
4526 for _ld_tmp
in $_xvmclib XvMCNVIDIA XvMCW I810XvMC
; do
4527 cc_check
-lXvMC -l$_ld_tmp && _xvmc
=yes && _xvmclib
="$_ld_tmp" && break
4530 if test "$_xvmc" = yes ; then
4531 def_xvmc
='#define CONFIG_XVMC 1'
4532 libs_mplayer
="$libs_mplayer -lXvMC -l$_xvmclib"
4533 vomodules
="xvmc $vomodules"
4534 res_comment
="using $_xvmclib"
4536 def_xvmc
='#define CONFIG_XVMC 0'
4537 novomodules
="xvmc $novomodules"
4538 _libavdecoders
=$
(echo $_libavdecoders |
sed -e s
/MPEG_XVMC_DECODER
//)
4544 if test "$_vdpau" = auto
; then
4546 if test "$_dl" = yes ; then
4548 #include <vdpau/vdpau_x11.h>
4550 (void) vdp_device_create_x11(0, 0, 0, 0);
4551 return VDP_VIDEO_MIXER_FEATURE_HIGH_QUALITY_SCALING_L1; }
4553 cc_check
-lvdpau && _vdpau
=yes
4556 if test "$_vdpau" = yes ; then
4557 def_vdpau
='#define CONFIG_VDPAU 1'
4558 libs_mplayer
="$libs_mplayer -lvdpau"
4559 vomodules
="vdpau $vomodules"
4561 def_vdpau
='#define CONFIG_VDPAU 0'
4562 novomodules
="vdpau $novomodules"
4563 _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
//)
4568 echocheck
"Xinerama"
4569 if test "$_xinerama" = auto
; then
4571 #include <X11/Xlib.h>
4572 #include <X11/extensions/Xinerama.h>
4573 int main(void) { (void) XineramaIsActive(0); return 0; }
4576 cc_check
-lXinerama && _xinerama
=yes
4579 if test "$_xinerama" = yes ; then
4580 def_xinerama
='#define CONFIG_XINERAMA 1'
4581 libs_mplayer
="$libs_mplayer -lXinerama"
4583 def_xinerama
='#undef CONFIG_XINERAMA'
4585 echores
"$_xinerama"
4588 # Note: the -lXxf86vm library is the VideoMode extension and though it's not
4589 # needed for DGA, AFAIK every distribution packages together with DGA stuffs
4590 # named 'X extensions' or something similar.
4591 # This check may be useful for future mplayer versions (to change resolution)
4592 # If you run into problems, remove '-lXxf86vm'.
4594 if test "$_vm" = auto
; then
4596 #include <X11/Xlib.h>
4597 #include <X11/extensions/xf86vmode.h>
4598 int main(void) { (void) XF86VidModeQueryExtension(0, 0, 0); return 0; }
4601 cc_check
-lXxf86vm && _vm
=yes
4603 if test "$_vm" = yes ; then
4604 def_vm
='#define CONFIG_XF86VM 1'
4605 libs_mplayer
="$libs_mplayer -lXxf86vm"
4607 def_vm
='#undef CONFIG_XF86VM'
4611 # Check for the presence of special keycodes, like audio control buttons
4612 # that XFree86 might have. Used to be bundled with the xf86vm check, but
4613 # has nothing to do with xf86vm and XFree 3.x has xf86vm but does NOT
4614 # have these new keycodes.
4615 echocheck
"XF86keysym"
4616 if test "$_xf86keysym" = auto
; then
4619 #include <X11/Xlib.h>
4620 #include <X11/XF86keysym.h>
4621 int main(void) { return XF86XK_AudioPause; }
4623 cc_check
&& _xf86keysym
=yes
4625 if test "$_xf86keysym" = yes ; then
4626 def_xf86keysym
='#define CONFIG_XF86XK 1'
4628 def_xf86keysym
='#undef CONFIG_XF86XK'
4630 echores
"$_xf86keysym"
4633 if test "$_dga2" = auto
&& test "$_x11" = yes ; then
4635 #include <X11/Xlib.h>
4636 #include <X11/extensions/xf86dga.h>
4637 int main(void) { (void) XDGASetViewport(0, 0, 0, 0, 0); return 0; }
4640 cc_check
-lXxf86dga && _dga2
=yes
4642 if test "$_dga1" = auto
&& test "$_dga2" = no
&& test "$_vm" = yes ; then
4644 #include <X11/Xlib.h>
4645 #include <X11/extensions/xf86dga.h>
4646 int main(void) { (void) XF86DGASetViewPort(0, 0, 0, 0); return 0; }
4649 cc_check
-lXxf86dga -lXxf86vm && _dga1
=yes
4653 def_dga
='#undef CONFIG_DGA'
4654 def_dga1
='#undef CONFIG_DGA1'
4655 def_dga2
='#undef CONFIG_DGA2'
4656 if test "$_dga1" = yes ; then
4658 def_dga1
='#define CONFIG_DGA1 1'
4659 res_comment
="using DGA 1.0"
4660 elif test "$_dga2" = yes ; then
4662 def_dga2
='#define CONFIG_DGA2 1'
4663 res_comment
="using DGA 2.0"
4665 if test "$_dga" = yes ; then
4666 def_dga
='#define CONFIG_DGA 1'
4667 libs_mplayer
="$libs_mplayer -lXxf86dga"
4668 vomodules
="dga $vomodules"
4670 novomodules
="dga $novomodules"
4676 if test "$_3dfx" = yes && test "$_dga" = yes ; then
4677 def_3dfx
='#define CONFIG_3DFX 1'
4678 vomodules
="3dfx $vomodules"
4680 def_3dfx
='#undef CONFIG_3DFX'
4681 novomodules
="3dfx $novomodules"
4687 def_vidix
='#undef CONFIG_VIDIX'
4688 def_vidix_drv_cyberblade
='#undef CONFIG_VIDIX_DRV_CYBERBLADE'
4689 _vidix_drv_cyberblade
=no
4690 def_vidix_drv_ivtv
='#undef CONFIG_VIDIX_DRV_IVTV'
4692 def_vidix_drv_mach64
='#undef CONFIG_VIDIX_DRV_MACH64'
4693 _vidix_drv_mach64
=no
4694 def_vidix_drv_mga
='#undef CONFIG_VIDIX_DRV_MGA'
4696 def_vidix_drv_mga_crtc2
='#undef CONFIG_VIDIX_DRV_MGA_CRTC2'
4697 _vidix_drv_mga_crtc2
=no
4698 def_vidix_drv_nvidia
='#undef CONFIG_VIDIX_DRV_NVIDIA'
4699 _vidix_drv_nvidia
=no
4700 def_vidix_drv_pm2
='#undef CONFIG_VIDIX_DRV_PM2'
4702 def_vidix_drv_pm3
='#undef CONFIG_VIDIX_DRV_PM3'
4704 def_vidix_drv_radeon
='#undef CONFIG_VIDIX_DRV_RADEON'
4705 _vidix_drv_radeon
=no
4706 def_vidix_drv_rage128
='#undef CONFIG_VIDIX_DRV_RAGE128'
4707 _vidix_drv_rage128
=no
4708 def_vidix_drv_s3
='#undef CONFIG_VIDIX_DRV_S3'
4710 def_vidix_drv_sh_veu
='#undef CONFIG_VIDIX_DRV_SH_VEU'
4711 _vidix_drv_sh_veu
=no
4712 def_vidix_drv_sis
='#undef CONFIG_VIDIX_DRV_SIS'
4714 def_vidix_drv_unichrome
='#undef CONFIG_VIDIX_DRV_UNICHROME'
4715 _vidix_drv_unichrome
=no
4716 if test "$_vidix" = auto
; then
4718 x86
&& (linux || freebsd || netbsd || openbsd || dragonfly || sunos || win32
) \
4720 x86_64
&& ! linux
&& _vidix
=no
4721 (ppc || alpha
) && linux
&& _vidix
=yes
4725 if test "$_vidix" = yes ; then
4726 def_vidix
='#define CONFIG_VIDIX 1'
4727 vomodules
="cvidix $vomodules"
4728 # FIXME: ivtv driver temporarily disabled until we have a proper test
4729 #test "$_vidix_drivers" || _vidix_drivers="cyberblade ivtv mach64 mga mga_crtc2 nvidia pm2 pm3 radeon rage128 s3 sh_veu sis unichrome"
4730 test "$_vidix_drivers" || _vidix_drivers
="cyberblade mach64 mga mga_crtc2 nvidia pm2 pm3 radeon rage128 s3 sh_veu sis unichrome"
4732 # some vidix drivers are architecture and os specific, discard them elsewhere
4733 x86 || _vidix_drivers
=$
(echo $_vidix_drivers |
sed -e s
/cyberblade
// -e s
/sis
// -e s
/unichrome
// -e s
/s
3//)
4734 (test $host_arch = "sh" && linux
) || _vidix_drivers
=$
(echo $_vidix_drivers |
sed s
/sh_veu
//)
4736 for driver
in $_vidix_drivers ; do
4737 uc_driver
=$
(echo $driver |
tr '[a-z]' '[A-Z]')
4738 eval _vidix_drv_
${driver}=yes
4739 eval def_vidix_drv_
${driver}=\"\
#define CONFIG_VIDIX_DRV_${uc_driver} 1\"
4742 echocheck
"VIDIX PCI device name database"
4743 echores
"$_vidix_pcidb"
4744 if test "$_vidix_pcidb" = yes ; then
4750 echocheck
"VIDIX dhahelper support"
4751 test "$_dhahelper" = yes && cflags_dhahelper
=-DCONFIG_DHAHELPER
4752 echores
"$_dhahelper"
4754 echocheck
"VIDIX svgalib_helper support"
4755 test "$_svgalib_helper" = yes && cflags_svgalib_helper
=-DCONFIG_SVGAHELPER
4756 echores
"$_svgalib_helper"
4759 novomodules
="cvidix $novomodules"
4762 if test "$_vidix" = yes && win32
; then
4764 vomodules
="winvidix $vomodules"
4765 libs_mplayer
="$libs_mplayer -lgdi32"
4767 novomodules
="winvidix $novomodules"
4769 if test "$_vidix" = yes && test "$_x11" = yes; then
4771 vomodules
="xvidix $vomodules"
4773 novomodules
="xvidix $novomodules"
4776 echocheck
"/dev/mga_vid"
4777 if test "$_mga" = auto
; then
4779 test -c /dev
/mga_vid
&& _mga
=yes
4781 if test "$_mga" = yes ; then
4782 def_mga
='#define CONFIG_MGA 1'
4783 vomodules
="mga $vomodules"
4785 def_mga
='#undef CONFIG_MGA'
4786 novomodules
="mga $novomodules"
4791 if test "$_xmga" = auto
; then
4793 test "$_x11" = yes && test "$_mga" = yes && _xmga
=yes
4795 if test "$_xmga" = yes ; then
4796 def_xmga
='#define CONFIG_XMGA 1'
4797 vomodules
="xmga $vomodules"
4799 def_xmga
='#undef CONFIG_XMGA'
4800 novomodules
="xmga $novomodules"
4806 if test "$_ggi" = auto
; then
4808 #include <ggi/ggi.h>
4809 int main(void) { ggiInit(); return 0; }
4812 cc_check
-lggi && _ggi
=yes
4814 if test "$_ggi" = yes ; then
4815 def_ggi
='#define CONFIG_GGI 1'
4816 libs_mplayer
="$libs_mplayer -lggi"
4817 vomodules
="ggi $vomodules"
4819 def_ggi
='#undef CONFIG_GGI'
4820 novomodules
="ggi $novomodules"
4824 echocheck
"GGI extension: libggiwmh"
4825 if test "$_ggiwmh" = auto
; then
4828 #include <ggi/ggi.h>
4829 #include <ggi/wmh.h>
4830 int main(void) { ggiInit(); ggiWmhInit(); return 0; }
4832 cc_check
-lggi -lggiwmh && _ggiwmh
=yes
4834 # needed to get right output on obscure combination
4835 # like --disable-ggi --enable-ggiwmh
4836 if test "$_ggi" = yes && test "$_ggiwmh" = yes ; then
4837 def_ggiwmh
='#define CONFIG_GGIWMH 1'
4838 libs_mplayer
="$libs_mplayer -lggiwmh"
4841 def_ggiwmh
='#undef CONFIG_GGIWMH'
4847 if test "$_aa" = auto
; then
4850 extern struct aa_hardware_params aa_defparams;
4851 extern struct aa_renderparams aa_defrenderparams;
4855 (void) aa_init(0, 0, 0);
4856 c = aa_autoinit(&aa_defparams);
4857 p = aa_getrenderparams();
4858 aa_autoinitkbd(c,0);
4862 for _ld_tmp
in "-laa" ; do
4863 cc_check
$_ld_tmp && libs_mplayer
="$libs_mplayer $_ld_tmp" && _aa
=yes && break
4866 if test "$_aa" = yes ; then
4867 def_aa
='#define CONFIG_AA 1'
4869 libs_mplayer
="$libs_mplayer $(aalib-config --libs | cut -d " " -f 2,5,6)"
4871 vomodules
="aa $vomodules"
4873 def_aa
='#undef CONFIG_AA'
4874 novomodules
="aa $novomodules"
4880 if test "$_caca" = auto
; then
4882 if ( caca-config
--version ) >> "$TMPLOG" 2>&1 ; then
4885 #ifdef CACA_API_VERSION_1
4888 int main(void) { (void) caca_init(); return 0; }
4890 cc_check $
(caca-config
--libs) && _caca
=yes
4893 if test "$_caca" = yes ; then
4894 def_caca
='#define CONFIG_CACA 1'
4895 extra_cflags
="$extra_cflags $(caca-config --cflags)"
4896 libs_mplayer
="$libs_mplayer $(caca-config --libs)"
4897 vomodules
="caca $vomodules"
4899 def_caca
='#undef CONFIG_CACA'
4900 novomodules
="caca $novomodules"
4906 if test "$_svga" = auto
; then
4909 int main(void) { return 0; }
4912 cc_check
-lvga $_ld_lm && _svga
=yes
4914 if test "$_svga" = yes ; then
4915 def_svga
='#define CONFIG_SVGALIB 1'
4916 libs_mplayer
="$libs_mplayer -lvga"
4917 vomodules
="svga $vomodules"
4919 def_svga
='#undef CONFIG_SVGALIB'
4920 novomodules
="svga $novomodules"
4926 if test "$_fbdev" = auto
; then
4930 if test "$_fbdev" = yes ; then
4931 def_fbdev
='#define CONFIG_FBDEV 1'
4932 vomodules
="fbdev $vomodules"
4934 def_fbdev
='#undef CONFIG_FBDEV'
4935 novomodules
="fbdev $novomodules"
4942 if test "$_dvb" = auto
; then
4946 #include <sys/ioctl.h>
4950 #include <linux/dvb/dmx.h>
4951 #include <linux/dvb/frontend.h>
4952 #include <linux/dvb/video.h>
4953 #include <linux/dvb/audio.h>
4954 int main(void) {return 0;}
4956 for _inc_tmp
in "" "-I/usr/src/DVB/include" ; do
4957 cc_check
$_inc_tmp && _dvb
=yes && \
4958 extra_cflags
="$extra_cflags $_inc_tmp" && break
4962 if test "$_dvb" = yes ; then
4964 inputmodules
="dvb $inputmodules"
4965 def_dvb
='#define CONFIG_DVB 1'
4966 def_dvbin
='#define CONFIG_DVBIN 1'
4967 aomodules
="mpegpes(dvb) $aomodules"
4968 vomodules
="mpegpes(dvb) $vomodules"
4971 _noinputmodules
="dvb $_noinputmodules"
4972 def_dvb
='#undef CONFIG_DVB'
4973 def_dvbin
='#undef CONFIG_DVBIN '
4974 aomodules
="mpegpes(file) $aomodules"
4975 vomodules
="mpegpes(file) $vomodules"
4981 echocheck
"QuickTime"
4982 if test "$quicktime" = auto
; then
4984 #include <QuickTime/QuickTime.h>
4986 ImageDescription *desc;
4993 cc_check
-framework QuickTime
&& quicktime
=yes
4995 if test "$quicktime" = yes ; then
4996 extra_ldflags
="$extra_ldflags -framework QuickTime"
4997 def_quicktime
='#define CONFIG_QUICKTIME 1'
4999 def_quicktime
='#undef CONFIG_QUICKTIME'
5005 if test "$_quartz" = auto
; then
5007 #include <Carbon/Carbon.h>
5009 CFRunLoopRunInMode(kCFRunLoopDefaultMode, 0, false);
5014 cc_check
-framework Carbon
&& _quartz
=yes
5016 if test "$_quartz" = yes ; then
5017 libs_mplayer
="$libs_mplayer -framework Carbon"
5018 def_quartz
='#define CONFIG_QUARTZ 1'
5019 vomodules
="quartz $vomodules"
5021 def_quartz
='#undef CONFIG_QUARTZ'
5022 novomodules
="quartz $novomodules"
5026 echocheck
"CoreVideo"
5027 if test "$_corevideo" = auto
; then
5029 #include <Carbon/Carbon.h>
5030 #include <CoreServices/CoreServices.h>
5031 #include <OpenGL/OpenGL.h>
5032 #include <QuartzCore/CoreVideo.h>
5033 int main(void) { return 0; }
5036 cc_check
-framework Carbon
-framework Cocoa
-framework QuartzCore
-framework OpenGL
&& _corevideo
=yes
5038 if test "$_corevideo" = yes ; then
5039 vomodules
="corevideo $vomodules"
5040 libs_mplayer
="$libs_mplayer -framework Carbon -framework Cocoa -framework QuartzCore -framework OpenGL"
5041 def_corevideo
='#define CONFIG_COREVIDEO 1'
5043 novomodules
="corevideo $novomodules"
5044 def_corevideo
='#undef CONFIG_COREVIDEO'
5046 echores
"$_corevideo"
5051 echocheck
"PNG support"
5052 if test "$_png" = auto
; then
5055 # Don't check for -lpng on irix since it has its own libpng
5056 # incompatible with the GNU libpng
5057 res_comment
="disabled on irix (not GNU libpng)"
5063 printf("png.h : %s\n", PNG_LIBPNG_VER_STRING);
5064 printf("libpng: %s\n", png_libpng_ver);
5065 return strcmp(PNG_LIBPNG_VER_STRING, png_libpng_ver);
5068 cc_check
-lpng -lz $_ld_lm && _png
=yes
5072 if test "$_png" = yes ; then
5073 def_png
='#define CONFIG_PNG 1'
5074 extra_ldflags
="$extra_ldflags -lpng -lz"
5076 def_png
='#undef CONFIG_PNG'
5079 echocheck
"MNG support"
5080 if test "$_mng" = auto
; then
5085 const char * p_ver = mng_version_text();
5086 return !p_ver || p_ver[0] == 0;
5089 if cc_check
-lmng -lz $_ld_lm ; then
5094 if test "$_mng" = yes ; then
5095 def_mng
='#define CONFIG_MNG 1'
5096 extra_ldflags
="$extra_ldflags -lmng -lz"
5098 def_mng
='#undef CONFIG_MNG'
5101 echocheck
"JPEG support"
5102 if test "$_jpeg" = auto
; then
5109 #include <jpeglib.h>
5110 int main(void) { return 0; }
5112 cc_check
-ljpeg $_ld_lm && _jpeg
=yes
5116 if test "$_jpeg" = yes ; then
5117 def_jpeg
='#define CONFIG_JPEG 1'
5118 vomodules
="jpeg $vomodules"
5119 extra_ldflags
="$extra_ldflags -ljpeg"
5121 def_jpeg
='#undef CONFIG_JPEG'
5122 novomodules
="jpeg $novomodules"
5126 echocheck
"OpenJPEG (JPEG2000) support"
5127 if test "$libopenjpeg" = auto
; then
5131 #include <openjpeg.h>
5132 int main(void) { opj_dparameters_t dec_params; opj_set_default_decoder_parameters(&dec_params); return 0; }
5134 cc_check
-lopenjpeg $_ld_lm && libopenjpeg
=yes
5136 echores
"$libopenjpeg"
5137 if test "$libopenjpeg" = yes ; then
5138 def_libopenjpeg
='#define CONFIG_LIBOPENJPEG 1'
5139 extra_ldflags
="$extra_ldflags -lopenjpeg"
5140 _libavdecoders
="$_libavdecoders LIBOPENJPEG_DECODER"
5141 _libavencoders
="$_libavencoders LIBOPENJPEG_ENCODER"
5142 codecmodules
="OpenJPEG $codecmodules"
5144 def_libopenjpeg
='#define CONFIG_LIBOPENJPEG 0'
5145 nocodecmodules
="OpenJPEG $nocodecmodules"
5149 echocheck
"PNM support"
5150 if test "$_pnm" = yes; then
5151 def_pnm
="#define CONFIG_PNM 1"
5152 vomodules
="pnm $vomodules"
5154 def_pnm
="#undef CONFIG_PNM"
5155 novomodules
="pnm $novomodules"
5161 echocheck
"GIF support"
5162 # This is to appease people who want to force gif support.
5163 # If it is forced to yes, then we still do checks to determine
5164 # which gif library to use.
5165 if test "$_gif" = yes ; then
5170 if test "$_gif" = auto
; then
5173 #include <gif_lib.h>
5174 int main(void) { return 0; }
5176 for _ld_gif
in "-lungif" "-lgif" ; do
5177 cc_check
$_ld_gif && _gif
=yes && break
5181 # If no library was found, and the user wants support forced,
5182 # then we force it on with libgif, as this is the safest
5183 # assumption IMHO. (libungif & libregif both create symbolic
5184 # links to libgif. We also assume that no x11 support is needed,
5185 # because if you are forcing this, then you _should_ know what
5186 # you are doing. [ Besides, package maintainers should never
5187 # have compiled x11 deps into libungif in the first place. ] )
5190 if test "$_force_gif" = yes && test "$_gif" = no
; then
5195 if test "$_gif" = yes ; then
5196 def_gif
='#define CONFIG_GIF 1'
5197 codecmodules
="gif $codecmodules"
5198 vomodules
="gif89a $vomodules"
5199 res_comment
="old version, some encoding functions disabled"
5200 def_gif_4
='#undef CONFIG_GIF_4'
5201 extra_ldflags
="$extra_ldflags $_ld_gif"
5205 #include <gif_lib.h>
5206 void catch() { exit(1); }
5208 signal(SIGSEGV, catch); // catch segfault
5209 printf("EGifPutExtensionFirst is at address %p\n", EGifPutExtensionFirst);
5210 EGifSetGifVersion("89a"); // this will segfault a buggy gif lib.
5214 if cc_check
"$_ld_gif" ; then
5215 def_gif_4
='#define CONFIG_GIF_4 1'
5219 def_gif
='#undef CONFIG_GIF'
5220 def_gif_4
='#undef CONFIG_GIF_4'
5221 novomodules
="gif89a $novomodules"
5222 nocodecmodules
="gif $nocodecmodules"
5227 case "$_gif" in yes*)
5228 echocheck
"broken giflib workaround"
5229 def_gif_tvt_hack
='#define CONFIG_GIF_TVT_HACK 1'
5232 #include <gif_lib.h>
5235 printf("UserData is at address %p\n", gif.UserData);
5239 if cc_check
"$_ld_gif" ; then
5240 def_gif_tvt_hack
='#undef CONFIG_GIF_TVT_HACK'
5249 echocheck
"VESA support"
5250 if test "$_vesa" = auto
; then
5253 int main(void) { vbeVersion(); return 0; }
5256 cc_check
-lvbe -llrmi && _vesa
=yes
5258 if test "$_vesa" = yes ; then
5259 def_vesa
='#define CONFIG_VESA 1'
5260 libs_mplayer
="$libs_mplayer -lvbe -llrmi"
5261 vomodules
="vesa $vomodules"
5263 def_vesa
='#undef CONFIG_VESA'
5264 novomodules
="vesa $novomodules"
5276 def_sdl_sdl_h
="#undef CONFIG_SDL_SDL_H"
5277 if test -z "$_sdlconfig" ; then
5278 if ( sdl-config
--version ) >>"$TMPLOG" 2>&1 ; then
5279 _sdlconfig
="sdl-config"
5280 elif ( sdl11-config
--version ) >>"$TMPLOG" 2>&1 ; then
5281 _sdlconfig
="sdl11-config"
5286 if test "$_sdl" = auto ||
test "$_sdl" = yes ; then
5288 #ifdef CONFIG_SDL_SDL_H
5289 #include <SDL/SDL.h>
5294 // we allow SDL hacking our main() only on OSX
5297 int main(int argc, char *argv[]) {
5298 SDL_Init(SDL_INIT_VIDEO|SDL_INIT_NOPARACHUTE);
5303 for _ld_tmp
in "-lSDL" "-lSDL -lpthread" "-lSDL -lwinmm -lgdi32" "-lSDL -lwinmm -lgdi32 -ldxguid" ; do
5304 if cc_check
-DCONFIG_SDL_SDL_H $_inc_tmp $_ld_tmp ; then
5306 def_sdl_sdl_h
="#define CONFIG_SDL_SDL_H 1"
5310 if test "$_sdl" = no
&& "$_sdlconfig" --version >>"$TMPLOG" 2>&1 ; then
5311 res_comment
="using $_sdlconfig"
5313 _inc_tmp
="$($_sdlconfig --cflags | cut -d " " -f 1,5,6 | sed s/no-cygwin/cygwin/)"
5314 _ld_tmp
="$($_sdlconfig --libs | cut -d " " -f 1,4,6 | sed s/no-cygwin/cygwin/)"
5316 _inc_tmp
=$
($_sdlconfig --cflags |
sed s
/-Dmain=SDL_main
//)
5317 _ld_tmp
=$
($_sdlconfig --libs |
sed -e s
/-mwindows// -e s
/-lmingw32//)
5319 _inc_tmp
="$($_sdlconfig --cflags)"
5320 _ld_tmp
="$($_sdlconfig --libs)"
5322 if cc_check
$_inc_tmp $_ld_tmp >>"$TMPLOG" 2>&1 ; then
5327 if test "$_sdl" = yes ; then
5328 def_sdl
='#define CONFIG_SDL 1'
5329 extra_cflags
="$extra_cflags $_inc_tmp"
5330 libs_mplayer
="$libs_mplayer $_ld_tmp"
5331 vomodules
="sdl $vomodules"
5332 aomodules
="sdl $aomodules"
5334 def_sdl
='#undef CONFIG_SDL'
5335 novomodules
="sdl $novomodules"
5336 noaomodules
="sdl $noaomodules"
5341 # make sure this stays below CoreVideo to avoid issues due to namespace
5342 # conflicts between -lGL and -framework OpenGL
5344 #Note: this test is run even with --enable-gl since we autodetect linker flags
5345 if (test "$_x11" = yes ||
test "$_sdl" = yes || win32
) && test "$_gl" != no
; then
5348 #include <windows.h>
5350 #elif defined(GL_SDL)
5352 #ifdef CONFIG_SDL_SDL_H
5353 #include <SDL/SDL.h>
5358 // we allow SDL hacking our main() only on OSX
5363 #include <X11/Xlib.h>
5369 wglCreateContext(dc);
5370 #elif defined(GL_SDL)
5371 SDL_GL_SwapBuffers();
5373 glXCreateContext(NULL, NULL, NULL, True);
5380 for _ld_tmp
in "" -lGL "-lGL -lXdamage" "-lGL $_ld_pthread" ; do
5381 if cc_check
$_ld_tmp $_ld_lm ; then
5384 libs_mplayer
="$libs_mplayer $_ld_tmp $_ld_dl"
5388 if cc_check
-DGL_WIN32 -lopengl32 ; then
5391 libs_mplayer
="$libs_mplayer -lopengl32 -lgdi32"
5393 # last so it can reuse any linker etc. flags detected before
5394 if test "$_sdl" = yes ; then
5395 if cc_check
-DGL_SDL ||
5396 cc_check
-DCONFIG_SDL_SDL_H -DGL_SDL ; then
5399 elif cc_check
-DGL_SDL -lGL ||
5400 cc_check
-DCONFIG_SDL_SDL_H -DGL_SDL -lGL ; then
5403 libs_mplayer
="$libs_mplayer -lGL"
5409 if test "$_gl" = yes ; then
5410 def_gl
='#define CONFIG_GL 1'
5411 res_comment
="backends:"
5412 if test "$_gl_win32" = yes ; then
5413 def_gl_win32
='#define CONFIG_GL_WIN32 1'
5414 res_comment
="$res_comment win32"
5416 if test "$_gl_x11" = yes ; then
5417 def_gl_x11
='#define CONFIG_GL_X11 1'
5418 res_comment
="$res_comment x11"
5420 if test "$_gl_sdl" = yes ; then
5421 def_gl_sdl
='#define CONFIG_GL_SDL 1'
5422 res_comment
="$res_comment sdl"
5424 vomodules
="opengl $vomodules"
5426 def_gl
='#undef CONFIG_GL'
5427 def_gl_win32
='#undef CONFIG_GL_WIN32'
5428 def_gl_x11
='#undef CONFIG_GL_X11'
5429 def_gl_sdl
='#undef CONFIG_GL_SDL'
5430 novomodules
="opengl $novomodules"
5435 echocheck
"MatrixView"
5436 if test "$_gl" = no
; then
5439 if test "$matrixview" = yes ; then
5440 vomodules
="matrixview $vomodules"
5441 def_matrixview
='#define CONFIG_MATRIXVIEW 1'
5443 novomodules
="matrixview $novomodules"
5444 def_matrixview
='#undef CONFIG_MATRIXVIEW'
5446 echores
"$matrixview"
5450 echocheck
"KVA (SNAP/WarpOverlay!/DIVE)"
5451 if test "$_kva" = auto
; then
5455 int main( void ) { return 0; }
5458 cc_check
-lkva && _kva
=yes
5460 if test "$_kva" = yes ; then
5461 def_kva
='#define CONFIG_KVA 1'
5462 libs_mplayer
="$libs_mplayer -lkva"
5463 vomodules
="kva $vomodules"
5465 def_kva
='#undef CONFIG_KVA'
5466 novomodules
="kva $novomodules"
5474 echocheck
"Windows waveout"
5475 if test "$_win32waveout" = auto
; then
5477 #include <windows.h>
5478 #include <mmsystem.h>
5479 int main(void) { return 0; }
5482 cc_check
-lwinmm && _win32waveout
=yes
5484 if test "$_win32waveout" = yes ; then
5485 def_win32waveout
='#define CONFIG_WIN32WAVEOUT 1'
5486 libs_mplayer
="$libs_mplayer -lwinmm"
5487 aomodules
="win32 $aomodules"
5489 def_win32waveout
='#undef CONFIG_WIN32WAVEOUT'
5490 noaomodules
="win32 $noaomodules"
5492 echores
"$_win32waveout"
5494 echocheck
"Direct3D"
5495 if test "$_direct3d" = auto
; then
5497 #include <windows.h>
5499 int main(void) { return 0; }
5502 cc_check
&& _direct3d
=yes
5504 if test "$_direct3d" = yes ; then
5505 def_direct3d
='#define CONFIG_DIRECT3D 1'
5506 vomodules
="direct3d $vomodules"
5508 def_direct3d
='#undef CONFIG_DIRECT3D'
5509 novomodules
="direct3d $novomodules"
5511 echores
"$_direct3d"
5514 if test "$_directx" = auto
; then
5516 #include <windows.h>
5519 int main(void) { return 0; }
5522 cc_check
-lgdi32 && _directx
=yes
5524 if test "$_directx" = yes ; then
5525 def_directx
='#define CONFIG_DIRECTX 1'
5526 libs_mplayer
="$libs_mplayer -lgdi32"
5527 vomodules
="directx $vomodules"
5528 aomodules
="dsound $aomodules"
5530 def_directx
='#undef CONFIG_DIRECTX'
5531 novomodules
="directx $novomodules"
5532 noaomodules
="dsound $noaomodules"
5540 if test "$_dxr2" = auto
; then
5543 #include <dxr2ioctl.h>
5544 int main(void) { return 0; }
5546 for _inc_tmp
in "" -I/usr
/local
/include
/dxr2
-I/usr
/include
/dxr2
; do
5547 cc_check
$_inc_tmp && _dxr2
=yes && \
5548 extra_cflags
="$extra_cflags $_inc_tmp" && break
5551 if test "$_dxr2" = yes; then
5552 def_dxr2
='#define CONFIG_DXR2 1'
5553 aomodules
="dxr2 $aomodules"
5554 vomodules
="dxr2 $vomodules"
5556 def_dxr2
='#undef CONFIG_DXR2'
5557 noaomodules
="dxr2 $noaomodules"
5558 novomodules
="dxr2 $novomodules"
5563 if test "$_dxr3" = auto
; then
5565 #include <linux/em8300.h>
5566 int main(void) { return 0; }
5569 cc_check
&& _dxr3
=yes
5571 if test "$_dxr3" = yes ; then
5572 def_dxr3
='#define CONFIG_DXR3 1'
5573 vomodules
="dxr3 $vomodules"
5575 def_dxr3
='#undef CONFIG_DXR3'
5576 novomodules
="dxr3 $novomodules"
5581 echocheck
"IVTV TV-Out (pre linux-2.6.24)"
5582 if test "$_ivtv" = auto
; then
5585 #include <inttypes.h>
5586 #include <linux/types.h>
5587 #include <linux/videodev2.h>
5588 #include <linux/ivtv.h>
5589 #include <sys/ioctl.h>
5591 struct ivtv_cfg_stop_decode sd;
5592 struct ivtv_cfg_start_decode sd1;
5593 ioctl(0, IVTV_IOC_START_DECODE, &sd1);
5594 ioctl(0, IVTV_IOC_STOP_DECODE, &sd);
5598 cc_check
&& _ivtv
=yes
5600 if test "$_ivtv" = yes ; then
5601 def_ivtv
='#define CONFIG_IVTV 1'
5602 vomodules
="ivtv $vomodules"
5603 aomodules
="ivtv $aomodules"
5605 def_ivtv
='#undef CONFIG_IVTV'
5606 novomodules
="ivtv $novomodules"
5607 noaomodules
="ivtv $noaomodules"
5612 echocheck
"V4L2 MPEG Decoder"
5613 if test "$_v4l2" = auto
; then
5616 #include <inttypes.h>
5617 #include <linux/types.h>
5618 #include <linux/videodev2.h>
5619 #include <linux/version.h>
5621 #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,22)
5622 #error kernel headers too old, need 2.6.22
5624 struct v4l2_ext_controls ctrls;
5625 ctrls.ctrl_class = V4L2_CTRL_CLASS_MPEG;
5630 cc_check
&& _v4l2
=yes
5632 if test "$_v4l2" = yes ; then
5633 def_v4l2
='#define CONFIG_V4L2_DECODER 1'
5634 vomodules
="v4l2 $vomodules"
5635 aomodules
="v4l2 $aomodules"
5637 def_v4l2
='#undef CONFIG_V4L2_DECODER'
5638 novomodules
="v4l2 $novomodules"
5639 noaomodules
="v4l2 $noaomodules"
5650 echocheck
"OSS Audio"
5651 if test "$_ossaudio" = auto
; then
5653 #include <sys/ioctl.h>
5654 #include <$_soundcard_header>
5655 int main(void) { int arg = SNDCTL_DSP_SETFRAGMENT; return 0; }
5658 cc_check
&& _ossaudio
=yes
5660 if test "$_ossaudio" = yes ; then
5661 def_ossaudio
='#define CONFIG_OSS_AUDIO 1'
5662 aomodules
="oss $aomodules"
5663 if test "$_linux_devfs" = yes; then
5664 def_ossaudio_devdsp
='#define PATH_DEV_DSP "/dev/sound/dsp"'
5665 def_ossaudio_devmixer
='#define PATH_DEV_MIXER "/dev/sound/mixer"'
5668 #include <sys/ioctl.h>
5669 #include <$_soundcard_header>
5670 #ifdef OPEN_SOUND_SYSTEM
5671 int main(void) { return 0; }
5673 #error Not the real thing
5677 cc_check
&& _real_ossaudio
=yes
5678 if test "$_real_ossaudio" = yes; then
5679 def_ossaudio_devdsp
='#define PATH_DEV_DSP "/dev/dsp"'
5680 elif netbsd || openbsd
; then
5681 def_ossaudio_devdsp
='#define PATH_DEV_DSP "/dev/sound"'
5682 extra_ldflags
="$extra_ldflags -lossaudio"
5684 def_ossaudio_devdsp
='#define PATH_DEV_DSP "/dev/dsp"'
5686 def_ossaudio_devmixer
='#define PATH_DEV_MIXER "/dev/mixer"'
5689 def_ossaudio
='#undef CONFIG_OSS_AUDIO'
5690 def_ossaudio_devdsp
='#define PATH_DEV_DSP ""'
5691 def_ossaudio_devmixer
='#define PATH_DEV_MIXER ""'
5692 noaomodules
="oss $noaomodules"
5694 echores
"$_ossaudio"
5698 if test "$_arts" = auto
; then
5700 if ( artsc-config
--version ) >> "$TMPLOG" 2>&1 ; then
5704 int main(void) { return 0; }
5706 cc_check $
(artsc-config
--libs) $
(artsc-config
--cflags) && _arts
=yes
5711 if test "$_arts" = yes ; then
5712 def_arts
='#define CONFIG_ARTS 1'
5713 aomodules
="arts $aomodules"
5714 libs_mplayer
="$libs_mplayer $(artsc-config --libs)"
5715 extra_cflags
="$extra_cflags $(artsc-config --cflags)"
5717 noaomodules
="arts $noaomodules"
5723 if test "$_esd" = auto
; then
5725 if ( esd-config
--version ) >> "$TMPLOG" 2>&1 ; then
5729 int main(void) { int fd = esd_open_sound("test"); return fd; }
5731 cc_check $
(esd-config
--libs) $
(esd-config
--cflags) && _esd
=yes
5737 if test "$_esd" = yes ; then
5738 def_esd
='#define CONFIG_ESD 1'
5739 aomodules
="esd $aomodules"
5740 libs_mplayer
="$libs_mplayer $(esd-config --libs)"
5741 extra_cflags
="$extra_cflags $(esd-config --cflags)"
5743 echocheck
"esd_get_latency()"
5746 int main(void) { return esd_get_latency(0); }
5748 cc_check $
(esd-config
--libs) $
(esd-config
--cflags) && _esd_latency
=yes && def_esd_latency
='#define CONFIG_ESD_LATENCY 1'
5749 echores
"$_esd_latency"
5751 def_esd
='#undef CONFIG_ESD'
5752 def_esd_latency
='#undef CONFIG_ESD_LATENCY'
5753 noaomodules
="esd $noaomodules"
5758 if test "$_nas" = auto
; then
5760 #include <audio/audiolib.h>
5761 int main(void) { return 0; }
5764 cc_check
$_ld_lm -laudio -lXt && _nas
=yes
5766 if test "$_nas" = yes ; then
5767 def_nas
='#define CONFIG_NAS 1'
5768 libs_mplayer
="$libs_mplayer -laudio -lXt"
5769 aomodules
="nas $aomodules"
5771 noaomodules
="nas $noaomodules"
5772 def_nas
='#undef CONFIG_NAS'
5778 if test "$_pulse" = auto
; then
5780 if $_pkg_config --exists 'libpulse >= 0.9' ; then
5783 #include <pulse/pulseaudio.h>
5784 int main(void) { return 0; }
5786 cc_check $
($_pkg_config --libs --cflags libpulse
) && _pulse
=yes
5792 if test "$_pulse" = yes ; then
5793 def_pulse
='#define CONFIG_PULSE 1'
5794 aomodules
="pulse $aomodules"
5795 libs_mplayer
="$libs_mplayer $($_pkg_config --libs libpulse)"
5796 extra_cflags
="$extra_cflags $($_pkg_config --cflags libpulse)"
5798 def_pulse
='#undef CONFIG_PULSE'
5799 noaomodules
="pulse $noaomodules"
5804 if test "$_jack" = auto
; then
5808 #include <jack/jack.h>
5809 int main(void) { jack_client_open("test", JackUseExactName, NULL); return 0; }
5811 if cc_check
-ljack ; then
5812 libs_mplayer
="$libs_mplayer -ljack"
5813 elif cc_check $
($_pkg_config --libs --cflags --silence-errors jack
) ; then
5814 libs_mplayer
="$libs_mplayer $($_pkg_config --libs jack)"
5815 extra_cflags
="$extra_cflags "$
($_pkg_config --cflags jack
)""
5821 if test "$_jack" = yes ; then
5822 def_jack
='#define CONFIG_JACK 1'
5823 aomodules
="jack $aomodules"
5825 noaomodules
="jack $noaomodules"
5830 if test "$_openal" = auto
; then
5834 #include <OpenAL/al.h>
5839 alSourceQueueBuffers(0, 0, 0);
5840 // alGetSourcei(0, AL_SAMPLE_OFFSET, 0);
5844 for I
in "-lopenal" "-lopenal32" "-framework OpenAL" ; do
5845 cc_check
$I && _openal
=yes && break
5846 cc_check
-DOPENAL_AL_H=1 $I && def_openal_h
='#define OPENAL_AL_H 1' && _openal
=yes && break
5848 test "$_openal" = yes && libs_mplayer
="$libs_mplayer $I"
5850 if test "$_openal" = yes ; then
5851 def_openal
='#define CONFIG_OPENAL 1'
5852 aomodules
="openal $aomodules"
5854 noaomodules
="openal $noaomodules"
5858 echocheck
"ALSA audio"
5859 if test "$_alloca" != yes ; then
5861 res_comment
="alloca missing"
5863 if test "$_alsa" != no
; then
5866 #include <sys/time.h>
5867 #include <sys/asoundlib.h>
5868 #if !((SND_LIB_MAJOR == 0) && (SND_LIB_MINOR == 5))
5869 #error "alsa version != 0.5.x"
5871 int main(void) { return 0; }
5873 cc_check
-lasound $_ld_dl $_ld_pthread && _alsaver
='0.5.x'
5876 #include <sys/time.h>
5877 #include <sys/asoundlib.h>
5878 #if !((SND_LIB_MAJOR == 0) && (SND_LIB_MINOR == 9))
5879 #error "alsa version != 0.9.x"
5881 int main(void) { return 0; }
5883 cc_check
-lasound $_ld_dl $_ld_pthread && _alsaver
='0.9.x-sys'
5885 #include <sys/time.h>
5886 #include <alsa/asoundlib.h>
5887 #if !((SND_LIB_MAJOR == 0) && (SND_LIB_MINOR == 9))
5888 #error "alsa version != 0.9.x"
5890 int main(void) { return 0; }
5892 cc_check
-lasound $_ld_dl $_ld_pthread && _alsaver
='0.9.x-alsa'
5895 #include <sys/time.h>
5896 #include <sys/asoundlib.h>
5897 #if !((SND_LIB_MAJOR == 1) && (SND_LIB_MINOR == 0))
5898 #error "alsa version != 1.0.x"
5900 int main(void) { return 0; }
5902 cc_check
-lasound $_ld_dl $_ld_pthread && _alsaver
='1.0.x-sys'
5904 #include <sys/time.h>
5905 #include <alsa/asoundlib.h>
5906 #if !((SND_LIB_MAJOR == 1) && (SND_LIB_MINOR == 0))
5907 #error "alsa version != 1.0.x"
5909 int main(void) { return 0; }
5911 cc_check
-lasound $_ld_dl $_ld_pthread && _alsaver
='1.0.x-alsa'
5913 def_alsa
='#undef CONFIG_ALSA'
5914 def_alsa5
='#undef CONFIG_ALSA5'
5915 def_alsa9
='#undef CONFIG_ALSA9'
5916 def_alsa1x
='#undef CONFIG_ALSA1X'
5917 def_sys_asoundlib_h
='#undef HAVE_SYS_ASOUNDLIB_H'
5918 def_alsa_asoundlib_h
='#undef HAVE_ALSA_ASOUNDLIB_H'
5919 if test "$_alsaver" ; then
5921 if test "$_alsaver" = '0.5.x' ; then
5923 aomodules
="alsa5 $aomodules"
5924 def_alsa5
='#define CONFIG_ALSA5 1'
5925 def_sys_asoundlib_h
='#define HAVE_SYS_ASOUNDLIB_H 1'
5926 res_comment
="using alsa 0.5.x and sys/asoundlib.h"
5927 elif test "$_alsaver" = '0.9.x-sys' ; then
5929 aomodules
="alsa $aomodules"
5930 def_alsa
='#define CONFIG_ALSA 1'
5931 def_alsa9
='#define CONFIG_ALSA9 1'
5932 def_sys_asoundlib_h
='#define HAVE_SYS_ASOUNDLIB_H 1'
5933 res_comment
="using alsa 0.9.x and sys/asoundlib.h"
5934 elif test "$_alsaver" = '0.9.x-alsa' ; then
5936 aomodules
="alsa $aomodules"
5937 def_alsa
='#define CONFIG_ALSA 1'
5938 def_alsa9
='#define CONFIG_ALSA9 1'
5939 def_alsa_asoundlib_h
='#define HAVE_ALSA_ASOUNDLIB_H 1'
5940 res_comment
="using alsa 0.9.x and alsa/asoundlib.h"
5941 elif test "$_alsaver" = '1.0.x-sys' ; then
5943 aomodules
="alsa $aomodules"
5944 def_alsa
='#define CONFIG_ALSA 1'
5945 def_alsa1x
="#define CONFIG_ALSA1X 1"
5946 def_alsa_asoundlib_h
='#define HAVE_SYS_ASOUNDLIB_H 1'
5947 res_comment
="using alsa 1.0.x and sys/asoundlib.h"
5948 elif test "$_alsaver" = '1.0.x-alsa' ; then
5950 aomodules
="alsa $aomodules"
5951 def_alsa
='#define CONFIG_ALSA 1'
5952 def_alsa1x
="#define CONFIG_ALSA1X 1"
5953 def_alsa_asoundlib_h
='#define HAVE_ALSA_ASOUNDLIB_H 1'
5954 res_comment
="using alsa 1.0.x and alsa/asoundlib.h"
5957 res_comment
="unknown version"
5959 extra_ldflags
="$extra_ldflags -lasound $_ld_dl $_ld_pthread"
5961 noaomodules
="alsa $noaomodules"
5966 echocheck
"Sun audio"
5967 if test "$_sunaudio" = auto
; then
5969 #include <sys/types.h>
5970 #include <sys/audioio.h>
5971 int main(void) { audio_info_t info; AUDIO_INITINFO(&info); return 0; }
5974 cc_check
&& _sunaudio
=yes
5976 if test "$_sunaudio" = yes ; then
5977 def_sunaudio
='#define CONFIG_SUN_AUDIO 1'
5978 aomodules
="sun $aomodules"
5980 def_sunaudio
='#undef CONFIG_SUN_AUDIO'
5981 noaomodules
="sun $noaomodules"
5983 echores
"$_sunaudio"
5986 def_mlib
='#define CONFIG_MLIB 0'
5988 echocheck
"Sun mediaLib"
5989 if test "$_mlib" = auto
; then
5993 int main(void) { mlib_VideoColorYUV2ABGR420(0,0,0,0,0,0,0,0,0); return 0; }
5995 cc_check
-lmlib && _mlib
=yes && def_mlib
='#define CONFIG_MLIB 1'
6002 echocheck
"CoreAudio"
6003 if test "$_coreaudio" = auto
; then
6005 #include <CoreAudio/CoreAudio.h>
6006 #include <AudioToolbox/AudioToolbox.h>
6007 #include <AudioUnit/AudioUnit.h>
6008 int main(void) { return 0; }
6011 cc_check
-framework CoreAudio
-framework AudioUnit
-framework AudioToolbox
&& _coreaudio
=yes
6013 if test "$_coreaudio" = yes ; then
6014 libs_mplayer
="$libs_mplayer -framework CoreAudio -framework AudioUnit -framework AudioToolbox"
6015 def_coreaudio
='#define CONFIG_COREAUDIO 1'
6016 aomodules
="coreaudio $aomodules"
6018 def_coreaudio
='#undef CONFIG_COREAUDIO'
6019 noaomodules
="coreaudio $noaomodules"
6026 echocheck
"SGI audio"
6027 if test "$_sgiaudio" = auto
; then
6028 # check for SGI audio
6030 #include <dmedia/audio.h>
6031 int main(void) { return 0; }
6034 cc_check
&& _sgiaudio
=yes
6036 if test "$_sgiaudio" = "yes" ; then
6037 def_sgiaudio
='#define CONFIG_SGI_AUDIO 1'
6038 libs_mplayer
="$libs_mplayer -laudio"
6039 aomodules
="sgi $aomodules"
6041 def_sgiaudio
='#undef CONFIG_SGI_AUDIO'
6042 noaomodules
="sgi $noaomodules"
6044 echores
"$_sgiaudio"
6049 echocheck
"KAI (UNIAUD/DART)"
6050 if test "$_kai" = auto
; then
6054 int main(void) { return 0; }
6057 cc_check
-lkai && _kai
=yes
6059 if test "$_kai" = yes ; then
6060 def_kai
='#define CONFIG_KAI 1'
6061 libs_mplayer
="$libs_mplayer -lkai"
6062 aomodules
="kai $aomodules"
6064 def_kai
='#undef CONFIG_KAI'
6065 noaomodules
="kai $noaomodules"
6070 if test "$_dart" = auto
; then
6074 int main( void ) { return 0; }
6077 cc_check
-ldart && _dart
=yes
6079 if test "$_dart" = yes ; then
6080 def_dart
='#define CONFIG_DART 1'
6081 libs_mplayer
="$libs_mplayer -ldart"
6082 aomodules
="dart $aomodules"
6084 def_dart
='#undef CONFIG_DART'
6085 noaomodules
="dart $noaomodules"
6091 # set default CD/DVD devices
6092 if win32 || os2
; then
6093 default_cdrom_device
="D:"
6095 default_cdrom_device
="/dev/disk1"
6096 elif dragonfly
; then
6097 default_cdrom_device
="/dev/cd0"
6099 default_cdrom_device
="/dev/acd0"
6101 default_cdrom_device
="/dev/rcd0a"
6103 default_cdrom_device
="/vol/dev/aliases/cdrom0"
6104 # Modern Solaris versions use HAL instead of the vold daemon, the volfs
6105 # file system and the volfs service.
6106 test -r "/cdrom/cdrom0" && default_cdrom_device
="/cdrom/cdrom0"
6108 default_cdrom_device
="a1ide.device:2"
6110 default_cdrom_device
="/dev/cdrom"
6113 if win32 || os2 || dragonfly || freebsd || openbsd || sunos || amigaos
; then
6114 default_dvd_device
=$default_cdrom_device
6116 default_dvd_device
="/dev/rdiskN"
6118 default_dvd_device
="/dev/dvd"
6122 echocheck
"VCD support"
6123 if test "$_vcd" = auto
; then
6125 if linux || freebsd || netbsd || openbsd || dragonfly || bsdos || darwin || sunos || os2
; then
6129 #include <ddk/ntddcdrm.h>
6130 int main(void) { return 0; }
6132 cc_check
&& _vcd
=yes
6135 if test "$_vcd" = yes; then
6136 inputmodules
="vcd $inputmodules"
6137 def_vcd
='#define CONFIG_VCD 1'
6139 def_vcd
='#undef CONFIG_VCD'
6140 _noinputmodules
="vcd $_noinputmodules"
6141 res_comment
="not supported on this OS"
6148 if test "$_dvdread_internal" = auto
; then
6149 _dvdread_internal
=no
6151 if (linux || freebsd || netbsd || openbsd || dragonfly || sunos || hpux
) \
6152 && (test "$_dvd" = yes ||
test "$_cdrom" = yes ||
test "$_cdio" = yes || \
6153 test "$_dvdio" = yes ||
test "$_bsdi_dvd" = yes) \
6154 || darwin || win32 || os2
; then
6155 _dvdread_internal
=yes
6157 extra_cflags
="-Ilibdvdread4 $extra_cflags"
6159 elif test "$_dvdread" = auto
; then
6161 if test "$_dl" = yes; then
6163 #include <inttypes.h>
6164 #include <dvdread/dvd_reader.h>
6165 #include <dvdread/ifo_types.h>
6166 #include <dvdread/ifo_read.h>
6167 #include <dvdread/nav_read.h>
6168 int main(void) { return 0; }
6170 _dvdreadcflags
=$
($_dvdreadconfig --cflags)
6171 _dvdreadlibs
=$
($_dvdreadconfig --libs)
6172 if cc_check
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE \
6173 $_dvdreadcflags $_dvdreadlibs $_ld_dl ; then
6175 extra_cflags
="$extra_cflags $_dvdreadcflags"
6176 extra_ldflags
="$extra_ldflags $_dvdreadlibs"
6177 res_comment
="external"
6182 if test "$_dvdread_internal" = yes; then
6183 def_dvdread
='#define CONFIG_DVDREAD 1'
6184 inputmodules
="dvdread(internal) $inputmodules"
6186 res_comment
="internal"
6187 elif test "$_dvdread" = yes; then
6188 def_dvdread
='#define CONFIG_DVDREAD 1'
6190 extra_ldflags
="$extra_ldflags -ldvdread"
6191 inputmodules
="dvdread(external) $inputmodules"
6192 res_comment
="external"
6194 def_dvdread
='#undef CONFIG_DVDREAD'
6195 _noinputmodules
="dvdread $_noinputmodules"
6200 echocheck
"internal libdvdcss"
6201 if test "$_libdvdcss_internal" = auto
; then
6202 _libdvdcss_internal
=no
6203 test "$_dvdread_internal" = yes && _libdvdcss_internal
=yes
6204 hpux
&& test "$_hpux_scsi_h" = no
&& _libdvdcss_internal
=no
6206 if test "$_libdvdcss_internal" = yes ; then
6207 if linux || netbsd || openbsd || bsdos
; then
6208 def_dvd_linux
='#define HAVE_LINUX_DVD_STRUCT 1'
6209 openbsd
&& def_dvd_openbsd
='#define HAVE_OPENBSD_DVD_STRUCT 1'
6210 elif freebsd || dragonfly
; then
6211 def_dvd_bsd
='#define HAVE_BSD_DVD_STRUCT 1'
6213 def_dvd_darwin
='#define DARWIN_DVD_IOCTL'
6214 extra_ldflags
="$extra_ldflags -framework IOKit -framework Carbon"
6216 cflags_libdvdcss
="-DSYS_CYGWIN -DWIN32"
6218 cflags_libdvdcss
="-DSYS_BEOS"
6220 cflags_libdvdcss
="-DSYS_OS2"
6222 cflags_libdvdcss_dvdread
="-Ilibdvdcss"
6223 def_dvdcss
="#define HAVE_DVDCSS_DVDCSS_H 1"
6224 inputmodules
="libdvdcss(internal) $inputmodules"
6227 _noinputmodules
="libdvdcss(internal) $_noinputmodules"
6229 echores
"$_libdvdcss_internal"
6232 echocheck
"cdparanoia"
6233 if test "$_cdparanoia" = auto
; then
6235 #include <cdda_interface.h>
6236 #include <cdda_paranoia.h>
6237 // This need a better test. How ?
6238 int main(void) { void *test = cdda_verbose_set; return test == (void *)1; }
6241 for _inc_tmp
in "" "-I/usr/include/cdda" "-I/usr/local/include/cdda" ; do
6242 cc_check
$_inc_tmp -lcdda_interface -lcdda_paranoia $_ld_lm && \
6243 _cdparanoia
=yes && extra_cflags
="$extra_cflags $_inc_tmp" && break
6246 if test "$_cdparanoia" = yes ; then
6248 extra_ldflags
="$extra_ldflags -lcdda_interface -lcdda_paranoia"
6249 openbsd
&& extra_ldflags
="$extra_ldflags -lutil"
6251 echores
"$_cdparanoia"
6255 if test "$_libcdio" = auto
&& test "$_cdparanoia" = no
; then
6258 #include <cdio/version.h>
6259 #include <cdio/cdda.h>
6260 #include <cdio/paranoia.h>
6262 void *test = cdda_verbose_set;
6263 printf("%s\n", CDIO_VERSION);
6264 return test == (void *)1;
6268 for _ld_tmp
in "" "-lwinmm" ; do
6269 _ld_tmp
="-lcdio_cdda -lcdio -lcdio_paranoia $_ld_tmp"
6270 cc_check
$_ld_tmp $_ld_lm \
6271 && _libcdio
=yes && extra_ldflags
="$extra_ldflags $_ld_tmp" && break
6273 if test "$_libcdio" = no
&& $_pkg_config --exists libcdio_paranoia
; then
6274 _inc_tmp
=$
($_pkg_config --cflags libcdio_paranoia
)
6275 _ld_tmp
=$
($_pkg_config --libs libcdio_paranoia
)
6276 cc_check
$_inc_tmp $_ld_tmp $_ld_lm && _libcdio
=yes \
6277 && extra_ldflags
="$extra_ldflags $_ld_tmp" && extra_cflags
="$extra_cflags $_inc_tmp"
6280 if test "$_libcdio" = yes && test "$_cdparanoia" = no
; then
6282 def_libcdio
='#define CONFIG_LIBCDIO 1'
6283 def_havelibcdio
='yes'
6285 if test "$_cdparanoia" = yes ; then
6286 res_comment
="using cdparanoia"
6288 def_libcdio
='#undef CONFIG_LIBCDIO'
6289 def_havelibcdio
='no'
6293 if test "$_cdda" = yes ; then
6294 test $_cddb = auto
&& test $_network = yes && _cddb
=yes
6295 def_cdparanoia
='#define CONFIG_CDDA 1'
6296 inputmodules
="cdda $inputmodules"
6298 def_cdparanoia
='#undef CONFIG_CDDA'
6299 _noinputmodules
="cdda $_noinputmodules"
6302 if test "$_cddb" = yes ; then
6303 def_cddb
='#define CONFIG_CDDB 1'
6304 inputmodules
="cddb $inputmodules"
6307 def_cddb
='#undef CONFIG_CDDB'
6308 _noinputmodules
="cddb $_noinputmodules"
6311 echocheck
"bitmap font support"
6312 if test "$_bitmap_font" = yes ; then
6313 def_bitmap_font
="#define CONFIG_BITMAP_FONT 1"
6315 def_bitmap_font
="#undef CONFIG_BITMAP_FONT"
6317 echores
"$_bitmap_font"
6320 echocheck
"freetype >= 2.0.9"
6322 # freetype depends on iconv
6323 if test "$_iconv" = no
; then
6325 res_comment
="iconv support needed"
6328 if test "$_freetype" = auto
; then
6329 if ( $_freetypeconfig --version ) >/dev
/null
2>&1 ; then
6332 #include <ft2build.h>
6333 #include FT_FREETYPE_H
6334 #if ((FREETYPE_MAJOR < 2) || ((FREETYPE_MINOR == 0) && (FREETYPE_PATCH < 9)))
6335 #error "Need FreeType 2.0.9 or newer"
6339 FT_Int major=-1,minor=-1,patch=-1;
6340 int err=FT_Init_FreeType(&library);
6345 cc_check $
($_freetypeconfig --cflags) $
($_freetypeconfig --libs) && _freetype
=yes
6350 if test "$_freetype" = yes ; then
6351 def_freetype
='#define CONFIG_FREETYPE 1'
6352 extra_cflags
="$extra_cflags $($_freetypeconfig --cflags)"
6353 extra_ldflags
="$extra_ldflags $($_freetypeconfig --libs)"
6355 def_freetype
='#undef CONFIG_FREETYPE'
6357 echores
"$_freetype"
6359 if test "$_freetype" = no
; then
6361 res_comment
="FreeType support needed"
6363 echocheck
"fontconfig"
6364 if test "$_fontconfig" = auto
; then
6368 #include <fontconfig/fontconfig.h>
6369 #if FC_VERSION < 20402
6370 #error At least version 2.4.2 of fontconfig required
6374 if (err == FcFalse) {
6375 printf("Couldn't initialize fontconfig lib\n");
6382 for _ld_tmp
in "" "-lexpat -lfreetype" "-lexpat -lfreetype -lz" "-lexpat -lfreetype -lz -liconv" ; do
6383 _ld_tmp
="-lfontconfig $_ld_tmp"
6384 cc_check
$_ld_tmp && _fontconfig
=yes && extra_ldflags
="$extra_ldflags $_ld_tmp" && break
6386 if test "$_fontconfig" = no
&& $_pkg_config --exists fontconfig
; then
6387 _inc_tmp
=$
($_pkg_config --cflags fontconfig
)
6388 _ld_tmp
=$
($_pkg_config --libs fontconfig
)
6389 cc_check
$_inc_tmp $_ld_tmp && _fontconfig
=yes \
6390 && extra_ldflags
="$extra_ldflags $_ld_tmp" && extra_cflags
="$extra_cflags $_inc_tmp"
6393 if test "$_fontconfig" = yes ; then
6394 def_fontconfig
='#define CONFIG_FONTCONFIG 1'
6396 def_fontconfig
='#undef CONFIG_FONTCONFIG'
6398 echores
"$_fontconfig"
6401 echocheck
"SSA/ASS support"
6402 # libass depends on FreeType
6403 if test "$_freetype" = no
; then
6406 res_comment
="FreeType support needed"
6409 if test "$_ass" = auto
; then
6411 #include <ft2build.h>
6412 #include FT_FREETYPE_H
6413 #if ((FREETYPE_MAJOR < 2) || (FREETYPE_MINOR < 2) || ((FREETYPE_MINOR == 2) && (FREETYPE_PATCH < 1)))
6414 #error "Need FreeType 2.2.1 or newer"
6416 int main(void) { return 0; }
6419 cc_check $
($_freetypeconfig --cflags) $
($_freetypeconfig --libs) && _ass
=yes
6420 if test "$_ass" = no
; then
6422 res_comment
="FreeType >= 2.2.1 needed"
6423 elif test "$ass_internal" = no
; then
6424 res_comment
="external"
6425 extra_ldflags
="$extra_ldflags -lass"
6428 if test "$_ass" = yes ; then
6429 def_ass
='#define CONFIG_ASS 1'
6431 def_ass
='#undef CONFIG_ASS'
6433 if test "$ass_internal" = yes ; then
6434 def_ass_internal
='#define CONFIG_ASS_INTERNAL 1'
6436 def_ass_internal
='#undef CONFIG_ASS_INTERNAL'
6441 echocheck
"fribidi with charsets"
6444 if test "$_fribidi" = auto
; then
6448 /* workaround for fribidi 0.10.4 and below */
6449 #define FRIBIDI_CHARSET_UTF8 FRIBIDI_CHAR_SET_UTF8
6450 #include <fribidi/fribidi.h>
6452 if (fribidi_parse_charset("UTF-8") != FRIBIDI_CHAR_SET_UTF8) {
6453 printf("Fribidi headers are not consistents with the library!\n");
6462 cc_check
$_inc_tmp $_ld_tmp && _fribidi
=yes
6463 if $_pkg_config --exists fribidi
> /dev
/null
2>&1 &&
6464 test "$_fribidi" = no
; then
6465 _inc_tmp
="$($_pkg_config --cflags)"
6466 _ld_tmp
="$($_pkg_config --libs)"
6467 cc_check
$_inc_tmp $_ld_tmp && _fribidi
=yes
6470 if test "$_fribidi" = yes ; then
6471 def_fribidi
='#define CONFIG_FRIBIDI 1'
6472 extra_cflags
="$extra_cflags $_inc_tmp"
6473 extra_ldflags
="$extra_ldflags $_ld_tmp"
6475 def_fribidi
='#undef CONFIG_FRIBIDI'
6481 if test "$_enca" = auto
; then
6483 #include <sys/types.h>
6488 langs = enca_get_languages(&langcnt);
6493 cc_check
-lenca $_ld_lm && _enca
=yes
6495 if test "$_enca" = yes ; then
6496 def_enca
='#define CONFIG_ENCA 1'
6497 extra_ldflags
="$extra_ldflags -lenca"
6499 def_enca
='#undef CONFIG_ENCA'
6507 int main(void) { (void) inflate(0, Z_NO_FLUSH); return 0; }
6510 cc_check
-lz && _zlib
=yes
6511 if test "$_zlib" = yes ; then
6512 def_zlib
='#define CONFIG_ZLIB 1'
6513 extra_ldflags
="$extra_ldflags -lz"
6515 def_zlib
='#define CONFIG_ZLIB 0'
6516 _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
//)
6517 _libavencoders
=$
(echo $_libavencoders |
sed -e s
/FLASHSV_ENCODER
// -e s
/PNG_ENCODER
// -e s
/ZMBV_ENCODER
// -e s
/ZLIB_ENCODER
//)
6524 def_bzlib
='#define CONFIG_BZLIB 0'
6527 int main(void) { BZ2_bzlibVersion(); return 0; }
6529 cc_check
-lbz2 && bzlib
=yes
6530 if test "$bzlib" = yes ; then
6531 def_bzlib
='#define CONFIG_BZLIB 1'
6532 extra_ldflags
="$extra_ldflags -lbz2"
6538 if test "$_rtc" = auto
; then
6540 #include <sys/ioctl.h>
6542 #include <linux/rtc.h>
6545 #define RTC_PIE_ON RTCIO_PIE_ON
6547 int main(void) { return RTC_PIE_ON; }
6550 cc_check
&& _rtc
=yes
6553 if test "$_rtc" = yes ; then
6554 def_rtc
='#define HAVE_RTC 1'
6556 def_rtc
='#undef HAVE_RTC'
6561 echocheck
"liblzo2 support"
6562 if test "$_liblzo" = auto
; then
6565 #include <lzo/lzo1x.h>
6566 int main(void) { lzo_init();return 0; }
6568 cc_check
-llzo2 && _liblzo
=yes
6570 if test "$_liblzo" = yes ; then
6571 def_liblzo
='#define CONFIG_LIBLZO 1'
6572 extra_ldflags
="$extra_ldflags -llzo2"
6573 codecmodules
="liblzo $codecmodules"
6575 def_liblzo
='#undef CONFIG_LIBLZO'
6576 nocodecmodules
="liblzo $nocodecmodules"
6581 echocheck
"mad support"
6582 if test "$_mad" = auto
; then
6586 int main(void) { return 0; }
6588 cc_check
-lmad && _mad
=yes
6590 if test "$_mad" = yes ; then
6591 def_mad
='#define CONFIG_LIBMAD 1'
6592 extra_ldflags
="$extra_ldflags -lmad"
6593 codecmodules
="libmad $codecmodules"
6595 def_mad
='#undef CONFIG_LIBMAD'
6596 nocodecmodules
="libmad $nocodecmodules"
6601 if test "$_twolame" = auto
; then
6603 #include <twolame.h>
6604 int main(void) { twolame_init(); return 0; }
6607 cc_check
-ltwolame $_ld_lm && _twolame
=yes
6609 if test "$_twolame" = yes ; then
6610 def_twolame
='#define CONFIG_TWOLAME 1'
6611 libs_mencoder
="$libs_mencoder -ltwolame"
6612 codecmodules
="twolame $codecmodules"
6614 def_twolame
='#undef CONFIG_TWOLAME'
6615 nocodecmodules
="twolame $nocodecmodules"
6620 if test "$_toolame" = auto
; then
6622 if test "$_twolame" = yes ; then
6623 res_comment
="disabled by twolame"
6626 #include <toolame.h>
6627 int main(void) { toolame_init(); return 0; }
6629 cc_check
-ltoolame $_ld_lm && _toolame
=yes
6632 if test "$_toolame" = yes ; then
6633 def_toolame
='#define CONFIG_TOOLAME 1'
6634 libs_mencoder
="$libs_mencoder -ltoolame"
6635 codecmodules
="toolame $codecmodules"
6637 def_toolame
='#undef CONFIG_TOOLAME'
6638 nocodecmodules
="toolame $nocodecmodules"
6640 if test "$_toolamedir" ; then
6641 res_comment
="using $_toolamedir"
6645 echocheck
"OggVorbis support"
6646 if test "$_tremor_internal" = yes; then
6648 elif test "$_tremor" = auto
; then
6651 #include <tremor/ivorbiscodec.h>
6652 int main(void) { vorbis_packet_blocksize(0,0); return 0; }
6654 cc_check
-logg -lvorbisidec $_ld_lm && _tremor
=yes && _libvorbis
=no
6656 if test "$_libvorbis" = auto
; then
6659 #include <vorbis/codec.h>
6660 int main(void) { vorbis_packet_blocksize(0,0); return 0; }
6662 cc_check
-lvorbis -logg $_ld_lm && _libvorbis
=yes
6664 if test "$_tremor_internal" = yes ; then
6666 def_vorbis
='#define CONFIG_OGGVORBIS 1'
6667 def_tremor
='#define CONFIG_TREMOR 1'
6668 codecmodules
="tremor(internal) $codecmodules"
6669 res_comment
="internal Tremor"
6670 if test "$_tremor_low" = yes ; then
6671 cflags_tremor_low
="-D_LOW_ACCURACY_"
6672 res_comment
="internal low accuracy Tremor"
6674 elif test "$_tremor" = yes ; then
6676 def_vorbis
='#define CONFIG_OGGVORBIS 1'
6677 def_tremor
='#define CONFIG_TREMOR 1'
6678 codecmodules
="tremor(external) $codecmodules"
6679 res_comment
="external Tremor"
6680 extra_ldflags
="$extra_ldflags -logg -lvorbisidec"
6681 elif test "$_libvorbis" = yes ; then
6683 def_vorbis
='#define CONFIG_OGGVORBIS 1'
6684 codecmodules
="libvorbis $codecmodules"
6685 res_comment
="libvorbis"
6686 extra_ldflags
="$extra_ldflags -lvorbis -logg"
6689 nocodecmodules
="libvorbis $nocodecmodules"
6693 echocheck
"libspeex (version >= 1.1 required)"
6694 if test "$_speex" = auto
; then
6697 #include <speex/speex.h>
6698 int main(void) { SpeexBits bits; void *dec; speex_decode_int(dec, &bits, dec); return 0; }
6700 cc_check
-lspeex $_ld_lm && _speex
=yes
6702 if test "$_speex" = yes ; then
6703 def_speex
='#define CONFIG_SPEEX 1'
6704 extra_ldflags
="$extra_ldflags -lspeex"
6705 codecmodules
="speex $codecmodules"
6707 def_speex
='#undef CONFIG_SPEEX'
6708 nocodecmodules
="speex $nocodecmodules"
6712 echocheck
"OggTheora support"
6713 if test "$_theora" = auto
; then
6716 #include <theora/theora.h>
6719 /* Theora is in flux, make sure that all interface routines and datatypes
6720 * exist and work the way we expect it, so we don't break MPlayer. */
6729 theora_info_init(&inf);
6730 theora_comment_init(&tc);
6734 /* we don't want to execute this kind of nonsense; just for making sure
6735 * that compilation works... */
6736 memset(&op, 0, sizeof(op));
6737 r = theora_decode_header(&inf, &tc, &op);
6738 r = theora_decode_init(&st, &inf);
6739 t = theora_granule_time(&st, op.granulepos);
6740 r = theora_decode_packetin(&st, &op);
6741 r = theora_decode_YUVout(&st, &yuv);
6747 _ld_theora
=$
($_pkg_config --silence-errors --libs theora
)
6748 _inc_theora
=$
($_pkg_config --silence-errors --cflags theora
)
6749 cc_check
$_inc_theora $_ld_theora && extra_ldflags
="$extra_ldflags $_ld_theora" &&
6750 extra_cflags
="$extra_cflags $_inc_theora" && _theora
=yes
6751 if test _theora
= no
; then
6752 _ld_theora
="-ltheora -logg"
6753 cc_check
$_ld_theora && extra_ldflags
="$extra_ldflags $_ld_theora" && _theora
=yes
6755 if test "$_theora" = no
&& test "$_tremor_internal" = yes; then
6756 _ld_theora
=$
($_pkg_config --silence-errors --libs theora
)
6757 _inc_theora
=$
($_pkg_config --silence-errors --cflags theora
)
6758 cc_check tremor
/bitwise.c
$_inc_theora $_ld_theora &&
6759 extra_ldflags
="$extra_ldflags $_ld_theora" &&
6760 extra_cflags
="$extra_cflags $_inc_theora" && _theora
=yes
6761 if test _theora
= no
; then
6762 _ld_theora
="-ltheora -logg"
6763 cc_check tremor
/bitwise.c
$_ld_theora &&
6764 extra_ldflags
="$extra_ldflags $_ld_theora" && _theora
=yes
6768 if test "$_theora" = yes ; then
6769 def_theora
='#define CONFIG_OGGTHEORA 1'
6770 codecmodules
="libtheora $codecmodules"
6771 # when --enable-theora is forced, we'd better provide a probably sane
6772 # $_ld_theora than nothing
6773 test -z "$_ld_theora" && extra_ldflags
="$extra_ldflags -ltheora -logg"
6775 def_theora
='#undef CONFIG_OGGTHEORA'
6776 nocodecmodules
="libtheora $nocodecmodules"
6780 echocheck
"mp3lib support"
6781 if test "$_mp3lib" = auto
; then
6782 test "$cc_vendor" = intel
&& test "$_cc_major" -le 10 -o "$_cc_major" -eq 11 -a "$_cc_minor" -eq 0 && _mp3lib
=no || _mp3lib
=yes
6784 if test "$_mp3lib" = yes ; then
6785 def_mp3lib
='#define CONFIG_MP3LIB 1'
6786 codecmodules
="mp3lib(internal) $codecmodules"
6788 def_mp3lib
='#undef CONFIG_MP3LIB'
6789 nocodecmodules
="mp3lib(internal) $nocodecmodules"
6793 echocheck
"liba52 support"
6794 def_liba52
='#undef CONFIG_LIBA52'
6795 if test "$_liba52" = auto
; then
6798 #include <inttypes.h>
6799 #include <a52dec/a52.h>
6800 int main(void) { a52_state_t *testHand; testHand=a52_init(0); return 0; }
6802 cc_check
-la52 && _liba52
=yes && extra_ldflags
="$extra_ldflags -la52"
6804 if test "$_liba52" = yes ; then
6805 def_liba52
='#define CONFIG_LIBA52 1'
6806 codecmodules
="liba52 $codecmodules"
6808 nocodecmodules
="liba52 $nocodecmodules"
6812 echocheck
"internal libmpeg2 support"
6813 if test "$_libmpeg2" = auto
; then
6815 if alpha
&& test cc_vendor
=gnu
; then
6817 2*|
3.0*|
3.1*) # cannot compile MVI instructions
6819 res_comment
="broken gcc"
6824 if test "$_libmpeg2" = yes ; then
6825 def_libmpeg2
='#define CONFIG_LIBMPEG2 1'
6826 codecmodules
="libmpeg2(internal) $codecmodules"
6828 def_libmpeg2
='#undef CONFIG_LIBMPEG2'
6829 nocodecmodules
="libmpeg2(internal) $nocodecmodules"
6831 echores
"$_libmpeg2"
6833 echocheck
"libdca support"
6834 if test "$_libdca" = auto
; then
6837 #include <inttypes.h>
6839 int main(void) { dts_init(0); return 0; }
6841 for _ld_dca
in -ldca -ldts ; do
6842 cc_check
$_ld_dca $_ld_lm && extra_ldflags
="$extra_ldflags $_ld_dca" \
6843 && _libdca
=yes && break
6846 if test "$_libdca" = yes ; then
6847 def_libdca
='#define CONFIG_LIBDCA 1'
6848 codecmodules
="libdca $codecmodules"
6850 def_libdca
='#undef CONFIG_LIBDCA'
6851 nocodecmodules
="libdca $nocodecmodules"
6855 echocheck
"libmpcdec (musepack, version >= 1.2.1 required)"
6856 if test "$_musepack" = auto
; then
6860 #include <mpcdec/mpcdec.h>
6862 mpc_streaminfo info;
6863 mpc_decoder decoder;
6864 mpc_decoder_set_streaminfo(&decoder, &info);
6865 mpc_decoder_decode_frame(&decoder, NULL, 0, NULL);
6869 cc_check
-lmpcdec $_ld_lm && _musepack
=yes
6871 if test "$_musepack" = yes ; then
6872 def_musepack
='#define CONFIG_MUSEPACK 1'
6873 extra_ldflags
="$extra_ldflags -lmpcdec"
6874 codecmodules
="musepack $codecmodules"
6876 def_musepack
='#undef CONFIG_MUSEPACK'
6877 nocodecmodules
="musepack $nocodecmodules"
6879 echores
"$_musepack"
6882 echocheck
"FAAC support"
6883 if test "$_faac" = auto
; then
6885 #include <inttypes.h>
6887 int main(void) { unsigned long x, y; faacEncOpen(48000, 2, &x, &y); return 0; }
6890 for _ld_faac
in "-lfaac" "-lfaac -lmp4v2 -lstdc++" ; do
6891 cc_check
$_ld_faac $_ld_lm && libs_mencoder
="$libs_mencoder $_ld_faac" && _faac
=yes && break
6894 if test "$_faac" = yes ; then
6895 def_faac
="#define CONFIG_FAAC 1"
6896 test "$_faac_lavc" = auto
&& _faac_lavc
=yes
6897 if test "$_faac_lavc" = yes ; then
6898 def_faac_lavc
="#define CONFIG_LIBFAAC 1"
6899 libs_mplayer
="$libs_mplayer $_ld_faac"
6900 _libavencoders
="$_libavencoders LIBFAAC_ENCODER"
6902 codecmodules
="faac $codecmodules"
6905 def_faac
="#undef CONFIG_FAAC"
6906 def_faac_lavc
="#define CONFIG_LIBFAAC 0"
6907 nocodecmodules
="faac $nocodecmodules"
6909 res_comment
="in libavcodec: $_faac_lavc"
6913 echocheck
"FAAD2 support"
6914 if test "$_faad_internal" = auto
; then
6915 if x86_32
&& test cc_vendor
=gnu
; then
6917 3.1*|
3.2) # ICE/insn with these versions
6919 res_comment
="broken gcc"
6931 if test "$_faad" = auto
; then
6934 #ifndef FAAD_MIN_STREAMSIZE
6935 #error Too old version
6937 int main(void) { faacDecHandle testhand; faacDecFrameInfo testinfo;
6938 testhand = faacDecOpen(); faacDecInit(0, 0, 0, 0, 0); return 0; }
6940 cc_check
-lfaad $_ld_lm && _faad
=yes
6943 def_faad
='#undef CONFIG_FAAD'
6944 def_faad_internal
="#undef CONFIG_FAAD_INTERNAL"
6945 if test "$_faad_internal" = yes ; then
6946 def_faad_internal
="#define CONFIG_FAAD_INTERNAL 1"
6947 res_comment
="internal floating-point"
6948 if test "$_faad_fixed" = yes ; then
6949 # The FIXED_POINT implementation of FAAD2 improves performance
6950 # on some platforms, especially for SBR files.
6951 cflags_faad_fixed
="-DFIXED_POINT"
6952 res_comment
="internal fixed-point"
6954 elif test "$_faad" = yes ; then
6955 extra_ldflags
="$extra_ldflags -lfaad"
6958 if test "$_faad" = yes ; then
6959 def_faad
='#define CONFIG_FAAD 1'
6960 if test "$_faad_internal" = yes ; then
6961 codecmodules
="faad2(internal) $codecmodules"
6963 codecmodules
="faad2 $codecmodules"
6967 nocodecmodules
="faad2 $nocodecmodules"
6972 echocheck
"LADSPA plugin support"
6973 if test "$_ladspa" = auto
; then
6978 const LADSPA_Descriptor *ld = NULL;
6983 cc_check
&& _ladspa
=yes
6985 if test "$_ladspa" = yes; then
6986 def_ladspa
="#define CONFIG_LADSPA 1"
6988 def_ladspa
="#undef CONFIG_LADSPA"
6993 echocheck
"libbs2b audio filter support"
6994 if test "$_libbs2b" = auto
; then
6997 #if BS2B_VERSION_MAJOR < 3
6998 #error Please use libbs2b >= 3.0.0, older versions are not supported.
7008 if $_pkg_config --exists libbs2b
; then
7009 _inc_tmp
=$
($_pkg_config --cflags libbs2b
)
7010 _ld_tmp
=$
($_pkg_config --libs libbs2b
)
7011 cc_check
$_inc_tmp $_ld_tmp && extra_ldflags
="$extra_ldflags $_ld_tmp" &&
7012 extra_cflags
="$extra_cflags $_inc_tmp" && _libbs2b
=yes
7014 for _inc_tmp
in "" -I/usr
/include
/bs2b
-I/usr
/local
/include \
7015 -I/usr
/local
/include
/bs2b
; do
7016 if cc_check
$_inc_tmp $_ld_lm -lbs2b ; then
7017 extra_ldflags
="$extra_ldflags -lbs2b"
7018 extra_cflags
="$extra_cflags $_inc_tmp"
7025 def_libbs2b
="#undef CONFIG_LIBBS2B"
7026 test "$_libbs2b" = yes && def_libbs2b
="#define CONFIG_LIBBS2B 1"
7030 if test -z "$_codecsdir" ; then
7031 for dir
in "$_libdir/codecs" "$_libdir/win32" /usr
/local
/lib
/codecs \
7032 /usr
/lib
/codecs
/usr
/local
/lib
/win32
/usr
/lib
/win32
; do
7033 if test -d "$dir" ; then
7039 # Fall back on default directory.
7040 if test -z "$_codecsdir" ; then
7041 _codecsdir
="$_libdir/codecs"
7042 mingw32 || os2
&& _codecsdir
="codecs"
7046 echocheck
"Win32 codecs"
7047 if test "$_win32dll" = auto
; then
7049 if x86_32
&& ! qnx
; then
7053 if test "$_win32dll" = yes ; then
7054 def_win32dll
='#define CONFIG_WIN32DLL 1'
7056 def_win32_loader
='#define WIN32_LOADER 1'
7057 _win32_emulation
=yes
7059 extra_ldflags
="$extra_ldflags -ladvapi32 -lole32"
7060 res_comment
="using native windows"
7062 codecmodules
="win32 $codecmodules"
7064 def_win32dll
='#undef CONFIG_WIN32DLL'
7065 def_win32_loader
='#undef WIN32_LOADER'
7066 nocodecmodules
="win32 $nocodecmodules"
7068 echores
"$_win32dll"
7071 echocheck
"XAnim codecs"
7072 if test "$_xanim" = auto
; then
7074 res_comment
="dynamic loader support needed"
7075 if test "$_dl" = yes ; then
7079 if test "$_xanim" = yes ; then
7080 def_xanim
='#define CONFIG_XANIM 1'
7081 codecmodules
="xanim $codecmodules"
7083 def_xanim
='#undef CONFIG_XANIM'
7084 nocodecmodules
="xanim $nocodecmodules"
7089 echocheck
"RealPlayer codecs"
7090 if test "$_real" = auto
; then
7092 res_comment
="dynamic loader support needed"
7093 if test "$_dl" = yes ||
test "$_win32dll" = yes &&
7094 (linux || freebsd || netbsd || openbsd || dragonfly || darwin || win32 || os2
) ; then
7098 if test "$_real" = yes ; then
7099 def_real
='#define CONFIG_REALCODECS 1'
7100 codecmodules
="real $codecmodules"
7102 def_real
='#undef CONFIG_REALCODECS'
7103 nocodecmodules
="real $nocodecmodules"
7108 echocheck
"QuickTime codecs"
7110 def_qtx_win32
='#undef CONFIG_QTX_CODECS_WIN32'
7111 if test "$_qtx" = auto
; then
7112 test "$_win32dll" = yes ||
test "$quicktime" = yes && _qtx
=yes
7114 if test "$_qtx" = yes ; then
7115 def_qtx
='#define CONFIG_QTX_CODECS 1'
7116 win32
&& _qtx_codecs_win32
=yes && def_qtx_win32
='#define CONFIG_QTX_CODECS_WIN32 1'
7117 codecmodules
="qtx $codecmodules"
7118 darwin || win32 || _qtx_emulation
=yes
7120 def_qtx
='#undef CONFIG_QTX_CODECS'
7121 nocodecmodules
="qtx $nocodecmodules"
7125 echocheck
"Nemesi Streaming Media libraries"
7126 if test "$_nemesi" = auto
&& test "$_network" = yes ; then
7128 if $_pkg_config libnemesi
--atleast-version=0.6.3 ; then
7129 extra_cflags
="$extra_cflags $($_pkg_config --cflags libnemesi)"
7130 extra_ldflags
="$extra_ldflags $($_pkg_config --libs libnemesi)"
7134 if test "$_nemesi" = yes; then
7136 def_nemesi
='#define CONFIG_LIBNEMESI 1'
7137 inputmodules
="nemesi $inputmodules"
7139 _native_rtsp
="$_network"
7141 def_nemesi
='#undef CONFIG_LIBNEMESI'
7142 _noinputmodules
="nemesi $_noinputmodules"
7146 echocheck
"LIVE555 Streaming Media libraries"
7147 if test "$_live" = auto
&& test "$_network" = yes ; then
7148 cat > $TMPCPP << EOF
7149 #include <liveMedia.hh>
7150 #if (LIVEMEDIA_LIBRARY_VERSION_INT < 1141257600)
7151 #error Please upgrade to version 2006.03.03 or later of the "LIVE555 Streaming Media" libraries - available from <www.live555.com/liveMedia/>
7153 int main(void) { return 0; }
7157 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
7158 cxx_check
$I/liveMedia
/include
$I/UsageEnvironment
/include \
7159 $I/groupsock
/include
&& _livelibdir
=$
(echo $I|
sed s
/-I//) && \
7160 extra_ldflags
="$_livelibdir/liveMedia/libliveMedia.a \
7161 $_livelibdir/groupsock/libgroupsock.a \
7162 $_livelibdir/UsageEnvironment/libUsageEnvironment.a \
7163 $_livelibdir/BasicUsageEnvironment/libBasicUsageEnvironment.a \
7164 $extra_ldflags -lstdc++" \
7165 extra_cxxflags
="-I$_livelibdir/liveMedia/include \
7166 -I$_livelibdir/UsageEnvironment/include \
7167 -I$_livelibdir/BasicUsageEnvironment/include \
7168 -I$_livelibdir/groupsock/include" && \
7171 if test "$_live" != yes ; then
7172 ld_tmp
="-lliveMedia -lgroupsock -lUsageEnvironment -lBasicUsageEnvironment -lstdc++"
7173 if cxx_check
-I/usr
/include
/liveMedia
-I/usr
/include
/UsageEnvironment
-I/usr
/include
/groupsock
$ld_tmp; then
7178 if test "$_live" = yes && test "$_network" = yes; then
7179 test $_livelibdir && res_comment
="using $_livelibdir"
7180 def_live
='#define CONFIG_LIVE555 1'
7181 inputmodules
="live555 $inputmodules"
7182 elif test "$_live_dist" = yes && test "$_network" = yes; then
7183 res_comment
="using distribution version"
7185 def_live
='#define CONFIG_LIVE555 1'
7186 extra_ldflags
="$extra_ldflags $ld_tmp"
7187 extra_cxxflags
="-I/usr/include/liveMedia -I/usr/include/UsageEnvironment \
7188 -I/usr/include/BasicUsageEnvironment -I/usr/include/groupsock"
7189 inputmodules
="live555 $inputmodules"
7192 def_live
='#undef CONFIG_LIVE555'
7193 _noinputmodules
="live555 $_noinputmodules"
7198 echocheck
"FFmpeg libavutil"
7199 if test "$_libavutil_a" = auto
; then
7200 if test -d libavutil
; then
7202 res_comment
="static"
7204 die
"MPlayer will not compile without libavutil in the source tree."
7206 elif test "$_libavutil_so" = auto
; then
7209 #include <libavutil/common.h>
7210 int main(void) { av_clip(1, 1, 1); return 0; }
7212 if $_pkg_config --exists libavutil
; then
7213 _inc_libavutil
=$
($_pkg_config --cflags libavutil
)
7214 _ld_tmp
=$
($_pkg_config --libs libavutil
)
7215 cc_check
$_inc_libavutil $_ld_tmp && extra_ldflags
="$extra_ldflags $_ld_tmp" \
7216 && _libavutil_so
=yes
7217 elif cc_check
-lavutil $_ld_lm ; then
7218 extra_ldflags
="$extra_ldflags -lavutil"
7220 res_comment
="using libavutil.so, but static libavutil is recommended"
7224 def_libavutil
='#undef CONFIG_LIBAVUTIL'
7225 def_libavutil_a
='#undef CONFIG_LIBAVUTIL_A'
7226 def_libavutil_so
='#undef CONFIG_LIBAVUTIL_SO'
7227 test "$_libavutil_a" = yes ||
test "$_libavutil_so" = yes && _libavutil
=yes
7228 test "$_libavutil" = yes && def_libavutil
='#define CONFIG_LIBAVUTIL 1'
7229 test "$_libavutil_a" = yes && def_libavutil_a
='#define CONFIG_LIBAVUTIL_A 1'
7230 test "$_libavutil_so" = yes && def_libavutil_so
='#define CONFIG_LIBAVUTIL_SO 1'
7231 # neither static nor shared libavutil is available, but it is mandatory ...
7232 if test "$_libavutil" = no
; then
7233 die
"You need static or shared libavutil, MPlayer will not compile without!"
7235 echores
"$_libavutil"
7237 echocheck
"FFmpeg libavcodec"
7238 if test "$_libavcodec_a" = auto
; then
7240 if test -d libavcodec
&& test -f libavcodec
/utils.c
; then
7242 res_comment
="static"
7244 elif test "$_libavcodec_so" = auto
; then
7246 res_comment
="libavcodec.so is discouraged over static libavcodec"
7248 #include <libavcodec/avcodec.h>
7249 int main(void) { avcodec_find_encoder_by_name(""); return 0; }
7251 if $_pkg_config --exists libavcodec
; then
7252 _inc_libavcodec
=$
($_pkg_config --cflags libavcodec
)
7253 _ld_tmp
=$
($_pkg_config --libs libavcodec
)
7254 cc_check
$_inc_libavcodec $_ld_tmp && extra_ldflags
="$extra_ldflags $_ld_tmp" \
7255 && _libavcodec_so
=yes
7256 elif cc_check
-lavcodec $_ld_lm ; then
7257 extra_ldflags
="$extra_ldflags -lavcodec"
7259 res_comment
="using libavcodec.so, but static libavcodec is recommended"
7263 def_libavcodec
='#undef CONFIG_LIBAVCODEC'
7264 def_libavcodec_a
='#undef CONFIG_LIBAVCODEC_A'
7265 def_libavcodec_so
='#undef CONFIG_LIBAVCODEC_SO'
7266 test "$_libavcodec_a" = yes ||
test "$_libavcodec_so" = yes && _libavcodec
=yes
7267 test "$_libavcodec" = yes && def_libavcodec
='#define CONFIG_LIBAVCODEC 1'
7268 test "$_libavcodec_a" = yes && def_libavcodec_a
='#define CONFIG_LIBAVCODEC_A 1'
7269 test "$_libavcodec_so" = yes && def_libavcodec_so
='#define CONFIG_LIBAVCODEC_SO 1'
7270 test "$_libavcodec_mpegaudio_hp" = yes \
7271 && def_libavcodec_mpegaudio_hp
='#define CONFIG_MPEGAUDIO_HP 1' \
7272 && mak_libavcodec_mpegaudio_hp
='CONFIG_MPEGAUDIO_HP = yes'
7273 if test "$_libavcodec_a" = yes ; then
7274 codecmodules
="libavcodec(internal) $codecmodules"
7275 elif test "$_libavcodec_so" = yes ; then
7276 codecmodules
="libavcodec.so $codecmodules"
7278 nocodecmodules
="libavcodec $nocodecmodules"
7280 echores
"$_libavcodec"
7282 echocheck
"FFmpeg libavformat"
7283 if test "$_libavformat_a" = auto
; then
7285 if test -d libavformat
&& test -f libavformat
/utils.c
; then
7287 res_comment
="static"
7289 elif test "$_libavformat_so" = auto
; then
7292 #include <libavformat/avformat.h>
7293 #include <libavcodec/opt.h>
7294 int main(void) { av_alloc_format_context(); return 0; }
7296 if $_pkg_config --exists libavformat
; then
7297 _inc_libavformat
=$
($_pkg_config --cflags libavformat
)
7298 _ld_tmp
=$
($_pkg_config --libs libavformat
)
7299 cc_check
$_inc_libavformat $_ld_tmp && extra_ldflags
="$extra_ldflags $_ld_tmp" \
7300 && _libavformat_so
=yes
7301 elif cc_check
$_ld_lm -lavformat ; then
7302 extra_ldflags
="$extra_ldflags -lavformat"
7304 res_comment
="using libavformat.so, but static libavformat is recommended"
7308 def_libavformat
='#undef CONFIG_LIBAVFORMAT'
7309 def_libavformat_a
='#undef CONFIG_LIBAVFORMAT_A'
7310 def_libavformat_so
='#undef CONFIG_LIBAVFORMAT_SO'
7311 test "$_libavformat_a" = yes ||
test "$_libavformat_so" = yes && _libavformat
=yes
7312 test "$_libavformat" = yes && def_libavformat
='#define CONFIG_LIBAVFORMAT 1'
7313 test "$_libavformat_a" = yes && def_libavformat_a
='#define CONFIG_LIBAVFORMAT_A 1'
7314 test "$_libavformat_so" = yes \
7315 && def_libavformat_so
='#define CONFIG_LIBAVFORMAT_SO 1'
7316 echores
"$_libavformat"
7318 echocheck
"FFmpeg libpostproc"
7319 if test "$_libpostproc_a" = auto
; then
7321 if test -d libpostproc
&& test -f libpostproc
/postprocess.h
; then
7322 _libpostproc_a
='yes'
7323 res_comment
="static"
7325 elif test "$_libpostproc_so" = auto
; then
7328 #include <inttypes.h>
7329 #include <libpostproc/postprocess.h>
7330 int main(void) { pp_get_mode_by_name_and_quality("de", 0); return 0; }
7332 if cc_check
-lpostproc $_ld_lm ; then
7333 extra_ldflags
="$extra_ldflags -lpostproc"
7335 res_comment
="using libpostproc.so, but static libpostproc is recommended"
7339 def_libpostproc
='#undef CONFIG_LIBPOSTPROC'
7340 def_libpostproc_a
='#undef CONFIG_LIBPOSTPROC_A'
7341 def_libpostproc_so
='#undef CONFIG_LIBPOSTPROC_SO'
7342 test "$_libpostproc_a" = yes ||
test "$_libpostproc_so" = yes && _libpostproc
=yes
7343 test "$_libpostproc" = yes && def_libpostproc
='#define CONFIG_LIBPOSTPROC 1'
7344 test "$_libpostproc_a" = yes && def_libpostproc_a
='#define CONFIG_LIBPOSTPROC_A 1'
7345 test "$_libpostproc_so" = yes \
7346 && def_libpostproc_so
='#define CONFIG_LIBPOSTPROC_SO 1'
7347 echores
"$_libpostproc"
7349 echocheck
"FFmpeg libswscale"
7350 if test "$_libswscale_a" = auto
; then
7352 if test -d libswscale
&& test -f libswscale
/swscale.h
; then
7354 res_comment
="static"
7356 elif test "$_libswscale_so" = auto
; then
7358 res_comment
="using libswscale.so, but static libswscale is recommended"
7360 #include <libswscale/swscale.h>
7361 int main(void) { sws_scale(0, 0, 0, 0, 0, 0, 0); return 0; }
7363 if $_pkg_config --exists libswscale
; then
7364 _inc_libswscale
=$
($_pkg_config --cflags libswscale
)
7365 _ld_tmp
=$
($_pkg_config --libs libswscale
)
7366 cc_check
$_inc_libswscale $_ld_tmp && extra_ldflags
="$extra_ldflags $_ld_tmp" \
7367 && _libswscale_so
=yes
7368 elif cc_check
-lswscale ; then
7369 extra_ldflags
="$extra_ldflags -lswscale"
7374 def_libswscale
='#undef CONFIG_LIBSWSCALE'
7375 def_libswscale_a
='#undef CONFIG_LIBSWSCALE_A'
7376 def_libswscale_so
='#undef CONFIG_LIBSWSCALE_SO'
7377 test "$_libswscale_a" = yes ||
test "$_libswscale_so" = yes && _libswscale
=yes
7378 test "$_libswscale" = yes && def_libswscale
='#define CONFIG_LIBSWSCALE 1'
7379 test "$_libswscale_a" = yes && def_libswscale_a
='#define CONFIG_LIBSWSCALE_A 1'
7380 test "$_libswscale_so" = yes \
7381 && def_libswscale_so
='#define CONFIG_LIBSWSCALE_SO 1'
7382 echores
"$_libswscale"
7384 echocheck
"libopencore_amr narrowband"
7385 if test "$_libopencore_amrnb" = auto
; then
7386 _libopencore_amrnb
=no
7388 #include <opencore-amrnb/interf_dec.h>
7389 int main(void) { Decoder_Interface_init(); return 0; }
7391 cc_check
-lopencore-amrnb && _libopencore_amrnb
=yes
7392 if test "$_libavcodec_a" != yes ; then
7393 _libopencore_amrnb
=no
7394 res_comment
="libavcodec (static) is required by libopencore_amrnb, sorry"
7397 if test "$_libopencore_amrnb" = yes ; then
7398 _libopencore_amr
=yes
7399 extra_ldflags
="$extra_ldflags -lopencore-amrnb"
7400 def_libopencore_amrnb
='#define CONFIG_LIBOPENCORE_AMRNB 1'
7401 _libavdecoders
="$_libavdecoders LIBOPENCORE_AMRNB_DECODER"
7402 _libavencoders
="$_libavencoders LIBOPENCORE_AMRNB_ENCODER"
7403 codecmodules
="libopencore_amrnb $codecmodules"
7405 def_libopencore_amrnb
='#define CONFIG_LIBOPENCORE_AMRNB 0'
7406 nocodecmodules
="libopencore_amrnb $nocodecmodules"
7408 echores
"$_libopencore_amrnb"
7411 echocheck
"libopencore_amr wideband"
7412 if test "$_libopencore_amrwb" = auto
; then
7413 _libopencore_amrwb
=no
7415 #include <opencore-amrwb/dec_if.h>
7416 int main(void) { D_IF_init(); return 0; }
7418 cc_check
-lopencore-amrwb && _libopencore_amrwb
=yes
7419 if test "$_libavcodec_a" != yes ; then
7420 _libopencore_amrwb
=no
7421 res_comment
="libavcodec (static) is required by libopencore_amrwb, sorry"
7424 if test "$_libopencore_amrwb" = yes ; then
7425 _libopencore_amr
=yes
7426 extra_ldflags
="$extra_ldflags -lopencore-amrwb"
7427 def_libopencore_amrwb
='#define CONFIG_LIBOPENCORE_AMRWB 1'
7428 _libavdecoders
="$_libavdecoders LIBOPENCORE_AMRWB_DECODER"
7429 codecmodules
="libopencore_amrwb $codecmodules"
7431 def_libopencore_amrwb
='#define LIBOPENCORE_AMRWB 0'
7432 nocodecmodules
="libopencore_amrwb $nocodecmodules"
7434 echores
"$_libopencore_amrwb"
7436 echocheck
"libdv-0.9.5+"
7437 if test "$_libdv" = auto
; then
7440 #include <libdv/dv.h>
7441 int main(void) { dv_encoder_t* enc=dv_encoder_new(1,1,1); return 0; }
7443 cc_check
-ldv $_ld_pthread $_ld_lm && _libdv
=yes
7445 if test "$_libdv" = yes ; then
7446 def_libdv
='#define CONFIG_LIBDV095 1'
7447 extra_ldflags
="$extra_ldflags -ldv"
7448 codecmodules
="libdv $codecmodules"
7450 def_libdv
='#undef CONFIG_LIBDV095'
7451 nocodecmodules
="libdv $nocodecmodules"
7457 if test "$_xvid" = auto
; then
7461 int main(void) { xvid_global(0, 0, 0, 0); return 0; }
7463 for _ld_tmp
in "-lxvidcore $_ld_lm" "-lxvidcore $_ld_lm $_ld_pthread" ; do
7464 cc_check
$_ld_tmp && extra_ldflags
="$extra_ldflags $_ld_tmp" && _xvid
=yes && break
7468 if test "$_xvid" = yes ; then
7469 def_xvid
='#define CONFIG_XVID4 1'
7470 codecmodules
="xvid $codecmodules"
7472 def_xvid
='#undef CONFIG_XVID4'
7473 nocodecmodules
="xvid $nocodecmodules"
7477 echocheck
"Xvid two pass plugin"
7478 if test "$_xvid" = yes && test "$_xvid_lavc" = auto
; then
7481 int main(void) { xvid_plugin_2pass2_t s; s.vbv_size=0; return 0; }
7483 cc_check
&& _xvid_lavc
=yes
7485 if test "$_xvid_lavc" = yes ; then
7486 def_xvid_lavc
='#define CONFIG_LIBXVID 1'
7487 _libavencoders
="$_libavencoders LIBXVID_ENCODER"
7490 def_xvid_lavc
='#define CONFIG_LIBXVID 0'
7492 echores
"$_xvid_lavc"
7496 if test "$_x264" = auto
; then
7498 #include <inttypes.h>
7501 #error We do not support old versions of x264. Get the latest from git.
7503 int main(void) { x264_encoder_open((void*)0); return 0; }
7506 for _ld_x264
in "-lx264 $_ld_pthread" "-lx264 $_ld_pthread $_ld_lm" ; do
7507 cc_check
$_ld_x264 && libs_mencoder
="$libs_mencoder $_ld_x264" && _x264
=yes && break
7511 if test "$_x264" = yes ; then
7512 def_x264
='#define CONFIG_X264 1'
7513 codecmodules
="x264 $codecmodules"
7514 test "$_x264_lavc" = auto
&& _x264_lavc
=yes
7515 if test "$_x264_lavc" = yes ; then
7516 def_x264_lavc
='#define CONFIG_LIBX264 1'
7517 libs_mplayer
="$libs_mplayer $_ld_x264"
7518 _libavencoders
="$_libavencoders LIBX264_ENCODER"
7522 def_x264
='#undef CONFIG_X264'
7523 def_x264_lavc
='#define CONFIG_LIBX264 0'
7524 nocodecmodules
="x264 $nocodecmodules"
7526 res_comment
="in libavcodec: $_x264_lavc"
7530 echocheck
"libdirac"
7531 if test "$_libdirac_lavc" = auto
; then
7533 if test "$_libavcodec_a" != yes; then
7534 res_comment
="libavcodec (static) is required by libdirac, sorry"
7537 #include <libdirac_encoder/dirac_encoder.h>
7538 #include <libdirac_decoder/dirac_parser.h>
7541 dirac_encoder_context_t enc_ctx;
7542 dirac_decoder_t *dec_handle;
7543 dirac_encoder_context_init(&enc_ctx, VIDEO_FORMAT_SD_576I50);
7544 dec_handle = dirac_decoder_init(0);
7546 dirac_decoder_close(dec_handle);
7550 if $_pkg_config --exists dirac
; then
7551 _inc_dirac
=$
($_pkg_config --silence-errors --cflags dirac
)
7552 _ld_dirac
=$
($_pkg_config --silence-errors --libs dirac
)
7553 cc_check
$_inc_dirac $_ld_dirac &&
7554 _libdirac_lavc
=yes &&
7555 extra_cflags
="$extra_cflags $_inc_dirac" &&
7556 extra_ldflags
="$extra_ldflags $_ld_dirac"
7560 if test "$_libdirac_lavc" = yes ; then
7561 def_libdirac_lavc
='#define CONFIG_LIBDIRAC 1'
7562 _libavencoders
="$_libavencoders LIBDIRAC_ENCODER"
7563 _libavdecoders
="$_libavdecoders LIBDIRAC_DECODER"
7564 codecmodules
="libdirac $codecmodules"
7566 def_libdirac_lavc
='#define CONFIG_LIBDIRAC 0'
7567 nocodecmodules
="libdirac $nocodecmodules"
7569 echores
"$_libdirac_lavc"
7572 echocheck
"libschroedinger"
7573 if test "$_libschroedinger_lavc" = auto
; then
7574 _libschroedinger_lavc
=no
7575 if test "$_libavcodec_a" != yes; then
7576 res_comment
="libavcodec (static) is required by libschroedinger, sorry"
7579 #include <schroedinger/schro.h>
7580 int main(void) { schro_init(); return SCHRO_ENCODER_RATE_CONTROL_CONSTANT_QUALITY; }
7582 if $_pkg_config --exists schroedinger-1.0
; then
7583 _inc_schroedinger
=$
($_pkg_config --silence-errors --cflags schroedinger-1.0
)
7584 _ld_schroedinger
=$
($_pkg_config --silence-errors --libs schroedinger-1.0
)
7585 cc_check
$_inc_schroedinger $_ld_schroedinger &&
7586 _libschroedinger_lavc
=yes &&
7587 extra_cflags
="$extra_cflags $_inc_schroedinger" &&
7588 extra_ldflags
="$extra_ldflags $_ld_schroedinger"
7592 if test "$_libschroedinger_lavc" = yes ; then
7593 def_libschroedinger_lavc
='#define CONFIG_LIBSCHROEDINGER 1'
7594 _libavencoders
="$_libavencoders LIBSCHROEDINGER_ENCODER"
7595 _libavdecoders
="$_libavdecoders LIBSCHROEDINGER_DECODER"
7596 codecmodules
="libschroedinger $codecmodules"
7598 def_libschroedinger_lavc
='#define CONFIG_LIBSCHROEDINGER 0'
7599 nocodecmodules
="libschroedinger $nocodecmodules"
7601 echores
"$_libschroedinger_lavc"
7604 if test "$_libvpx_lavc" = auto
; then
7606 if test "$_libavcodec_a" != yes; then
7607 res_comment
="libavcodec (static) is required by libvpx, sorry"
7610 #include <vpx/vpx_decoder.h>
7611 #include <vpx/vp8dx.h>
7612 int main(void) { vpx_codec_dec_init(NULL, &vpx_codec_vp8_dx_algo, NULL, 0); return 0; }
7614 cc_check
-lvpx && _libvpx_lavc
=yes && extra_ldflags
="$extra_ldflags -lvpx"
7617 if test "$_libvpx_lavc" = yes ; then
7618 def_libvpx_lavc
='#define CONFIG_LIBVPX 1'
7619 _libavdecoders
="$_libavdecoders LIBVPX_DECODER"
7620 codecmodules
="libvpx $codecmodules"
7622 def_libvpx_lavc
='#define CONFIG_LIBVPX 0'
7623 nocodecmodules
="libvpx $nocodecmodules"
7625 echores
"$_libvpx_lavc"
7628 if test "$_libnut" = auto
; then
7632 #include <inttypes.h>
7634 nut_context_tt * nut;
7635 int main(void) { (void)nut_error(0); return 0; }
7638 cc_check
-lnut && _libnut
=yes
7641 if test "$_libnut" = yes ; then
7642 def_libnut
='#define CONFIG_LIBNUT 1'
7643 extra_ldflags
="$extra_ldflags -lnut"
7645 def_libnut
='#undef CONFIG_LIBNUT'
7649 #check must be done after libavcodec one
7651 if test "$_zr" = auto
; then
7652 #36067's seem to identify themselves as 36057PQC's, so the line
7653 #below should work for 36067's and 36057's.
7654 if grep -q -s -e "Multimedia video controller: Zoran Corporation ZR36057" /proc
/pci
; then
7660 if test "$_zr" = yes ; then
7661 if test "$_libavcodec_a" = yes ; then
7662 def_zr
='#define CONFIG_ZR 1'
7663 vomodules
="zr zr2 $vomodules"
7665 res_comment
="libavcodec (static) is required by zr, sorry"
7666 novomodules
="zr $novomodules"
7667 def_zr
='#undef CONFIG_ZR'
7670 def_zr
='#undef CONFIG_ZR'
7671 novomodules
="zr zr2 $novomodules"
7675 # mencoder requires (optional) those libs: libmp3lame
7676 if test "$_mencoder" != no
; then
7678 echocheck
"libmp3lame"
7679 def_mp3lame_preset
='#undef CONFIG_MP3LAME_PRESET'
7680 def_mp3lame_preset_medium
='#undef CONFIG_MP3LAME_PRESET_MEDIUM'
7681 if test "$_mp3lame" = auto
; then
7684 #include <lame/lame.h>
7685 int main(void) { lame_version_t lv; (void) lame_init();
7686 get_lame_version_numerical(&lv);
7689 cc_check
-lmp3lame $_ld_lm && _mp3lame
=yes
7691 if test "$_mp3lame" = yes ; then
7692 def_mp3lame
="#define CONFIG_MP3LAME 1"
7693 _ld_mp3lame
=-lmp3lame
7694 libs_mencoder
="$libs_mencoder $_ld_mp3lame"
7696 #include <lame/lame.h>
7697 int main(void) { lame_set_preset(NULL, STANDARD_FAST); return 0; }
7699 cc_check
$_ld_mp3lame $_ld_lm && def_mp3lame_preset
="#define CONFIG_MP3LAME_PRESET 1"
7701 #include <lame/lame.h>
7702 int main(void) { lame_set_preset(NULL, MEDIUM_FAST); return 0; }
7704 cc_check
$_ld_mp3lame $_ld_lm && def_mp3lame_preset_medium
="#define CONFIG_MP3LAME_PRESET_MEDIUM 1"
7705 test "$_mp3lame_lavc" = auto
&& _mp3lame_lavc
=yes
7706 if test "$_mp3lame_lavc" = yes ; then
7707 def_mp3lame_lavc
="#define CONFIG_LIBMP3LAME 1"
7708 _libavencoders
="$_libavencoders LIBMP3LAME_ENCODER"
7709 libs_mplayer
="$libs_mplayer $_ld_mp3lame"
7713 def_mp3lame
='#undef CONFIG_MP3LAME'
7714 def_mp3lame_lavc
="#define CONFIG_LIBMP3LAME 0"
7716 res_comment
="in libavcodec: $_mp3lame_lavc"
7719 fi # test "$_mencoder" != no
7721 echocheck
"mencoder"
7722 if test "$_mencoder" = yes ; then
7723 def_muxers
='#define CONFIG_MUXERS 1'
7725 # mpeg1video for vf_lavc, snow for vf_uspp / vf_mcdeint,
7726 # png for vf_screenshot, mjpeg for zr
7727 _libavencoders
="MPEG1VIDEO_ENCODER SNOW_ENCODER"
7728 test "$_zlib" = yes && _libavencoders
="$_libavencoders PNG_ENCODER"
7729 test "$_zr" = yes && _libavencoders
="$_libavencoders MJPEG_ENCODER"
7731 def_muxers
='#define CONFIG_MUXERS 0'
7733 echores
"$_mencoder"
7736 echocheck
"UnRAR executable"
7737 if test "$_unrar_exec" = auto
; then
7739 mingw32
&& _unrar_exec
="no"
7741 if test "$_unrar_exec" = yes ; then
7742 def_unrar_exec
='#define CONFIG_UNRAR_EXEC 1'
7744 def_unrar_exec
='#undef CONFIG_UNRAR_EXEC'
7746 echores
"$_unrar_exec"
7748 echocheck
"TV interface"
7749 if test "$_tv" = yes ; then
7750 def_tv
='#define CONFIG_TV 1'
7751 inputmodules
="tv $inputmodules"
7753 _noinputmodules
="tv $_noinputmodules"
7754 def_tv
='#undef CONFIG_TV'
7759 if freebsd || netbsd || openbsd || dragonfly || bsdos
; then
7760 echocheck
"*BSD BT848 bt8xx header"
7762 for file in "machine/ioctl_bt848.h" \
7763 "dev/bktr/ioctl_bt848.h" \
7764 "dev/video/bktr/ioctl_bt848.h" \
7765 "dev/ic/bt8xx.h" ; do
7767 #include <sys/types.h>
7768 #include <sys/ioctl.h>
7770 int main(void) { ioctl(0, TVTUNER_GETFREQ, 0); return 0; }
7774 _ioctl_bt848_h_name
="$file"
7778 if test "$_ioctl_bt848_h" = yes ; then
7779 def_ioctl_bt848_h_name
="#define IOCTL_BT848_H_NAME <$_ioctl_bt848_h_name>"
7780 res_comment
="using $_ioctl_bt848_h_name"
7782 def_ioctl_bt848_h_name
="#undef IOCTL_BT848_H_NAME"
7784 echores
"$_ioctl_bt848_h"
7786 echocheck
"*BSD ioctl_meteor.h"
7788 for file in "machine/ioctl_meteor.h" \
7789 "dev/bktr/ioctl_meteor.h" \
7790 "dev/video/bktr/ioctl_meteor.h" ; do
7792 #include <sys/types.h>
7794 int main(void) { ioctl(0, METEORSINPUT, 0); return 0; }
7798 _ioctl_meteor_h_name
="$file"
7802 if test "$_ioctl_meteor_h" = yes ; then
7803 def_ioctl_meteor_h_name
="#define IOCTL_METEOR_H_NAME <$_ioctl_meteor_h_name>"
7804 res_comment
="using $_ioctl_meteor_h_name"
7806 def_ioctl_meteor_h_name
="#undef IOCTL_METEOR_H_NAME"
7808 echores
"$_ioctl_meteor_h"
7810 echocheck
"*BSD BrookTree 848 TV interface"
7811 if test "$_tv_bsdbt848" = auto
; then
7813 if test "$_tv" = yes ; then
7815 #include <sys/types.h>
7816 $def_ioctl_meteor_h_name
7817 $def_ioctl_bt848_h_name
7818 #ifdef IOCTL_METEOR_H_NAME
7819 #include IOCTL_METEOR_H_NAME
7821 #ifdef IOCTL_BT848_H_NAME
7822 #include IOCTL_BT848_H_NAME
7825 ioctl(0, METEORSINPUT, 0);
7826 ioctl(0, TVTUNER_GETFREQ, 0);
7830 cc_check
&& _tv_bsdbt848
=yes
7833 if test "$_tv_bsdbt848" = yes ; then
7834 def_tv_bsdbt848
='#define CONFIG_TV_BSDBT848 1'
7835 inputmodules
="tv-bsdbt848 $inputmodules"
7837 def_tv_bsdbt848
='#undef CONFIG_TV_BSDBT848'
7838 _noinputmodules
="tv-bsdbt848 $_noinputmodules"
7840 echores
"$_tv_bsdbt848"
7841 fi #if freebsd || netbsd || openbsd || dragonfly || bsdos
7844 echocheck
"DirectShow TV interface"
7845 if test "$_tv_dshow" = auto
; then
7847 if test "$_tv" = yes && win32
; then
7852 CoCreateInstance((GUID*)&GUID_NULL, NULL, CLSCTX_INPROC_SERVER, &GUID_NULL, &p);
7856 cc_check
-lole32 -luuid && _tv_dshow
=yes
7859 if test "$_tv_dshow" = yes ; then
7860 inputmodules
="tv-dshow $inputmodules"
7861 def_tv_dshow
='#define CONFIG_TV_DSHOW 1'
7862 extra_ldflags
="$extra_ldflags -lole32 -luuid"
7864 _noinputmodules
="tv-dshow $_noinputmodules"
7865 def_tv_dshow
='#undef CONFIG_TV_DSHOW'
7867 echores
"$_tv_dshow"
7870 echocheck
"Video 4 Linux TV interface"
7871 if test "$_tv_v4l1" = auto
; then
7873 if test "$_tv" = yes && linux
; then
7876 #include <linux/videodev.h>
7877 int main(void) { return 0; }
7879 cc_check
&& _tv_v4l1
=yes
7882 if test "$_tv_v4l1" = yes ; then
7885 def_tv_v4l
='#define CONFIG_TV_V4L 1'
7886 def_tv_v4l1
='#define CONFIG_TV_V4L1 1'
7887 inputmodules
="tv-v4l $inputmodules"
7889 _noinputmodules
="tv-v4l1 $_noinputmodules"
7890 def_tv_v4l
='#undef CONFIG_TV_V4L'
7895 echocheck
"Video 4 Linux 2 TV interface"
7896 if test "$_tv_v4l2" = auto
; then
7898 if test "$_tv" = yes && linux
; then
7901 #include <linux/types.h>
7902 #include <linux/videodev2.h>
7903 int main(void) { return 0; }
7905 cc_check
&& _tv_v4l2
=yes
7908 if test "$_tv_v4l2" = yes ; then
7911 def_tv_v4l
='#define CONFIG_TV_V4L 1'
7912 def_tv_v4l2
='#define CONFIG_TV_V4L2 1'
7913 inputmodules
="tv-v4l2 $inputmodules"
7915 _noinputmodules
="tv-v4l2 $_noinputmodules"
7916 def_tv_v4l2
='#undef CONFIG_TV_V4L2'
7921 echocheck
"Radio interface"
7922 if test "$_radio" = yes ; then
7923 def_radio
='#define CONFIG_RADIO 1'
7924 inputmodules
="radio $inputmodules"
7925 if test "$_alsa9" != yes -a "$_alsa1x" != yes -a "$_ossaudio" != yes ; then
7928 if test "$_radio_capture" = yes ; then
7930 def_radio_capture
="#define CONFIG_RADIO_CAPTURE 1"
7932 def_radio_capture
="#undef CONFIG_RADIO_CAPTURE"
7935 _noinputmodules
="radio $_noinputmodules"
7936 def_radio
='#undef CONFIG_RADIO'
7937 def_radio_capture
="#undef CONFIG_RADIO_CAPTURE"
7941 echocheck
"Capture for Radio interface"
7942 echores
"$_radio_capture"
7944 echocheck
"Video 4 Linux 2 Radio interface"
7945 if test "$_radio_v4l2" = auto
; then
7947 if test "$_radio" = yes && linux
; then
7950 #include <linux/types.h>
7951 #include <linux/videodev2.h>
7952 int main(void) { return 0; }
7954 cc_check
&& _radio_v4l2
=yes
7957 if test "$_radio_v4l2" = yes ; then
7958 def_radio_v4l2
='#define CONFIG_RADIO_V4L2 1'
7960 def_radio_v4l2
='#undef CONFIG_RADIO_V4L2'
7962 echores
"$_radio_v4l2"
7964 echocheck
"Video 4 Linux Radio interface"
7965 if test "$_radio_v4l" = auto
; then
7967 if test "$_radio" = yes && linux
; then
7970 #include <linux/videodev.h>
7971 int main(void) { return 0; }
7973 cc_check
&& _radio_v4l
=yes
7976 if test "$_radio_v4l" = yes ; then
7977 def_radio_v4l
='#define CONFIG_RADIO_V4L 1'
7979 def_radio_v4l
='#undef CONFIG_RADIO_V4L'
7981 echores
"$_radio_v4l"
7983 if freebsd || netbsd || openbsd || dragonfly || bsdos \
7984 && test "$_radio" = yes && test "$_radio_bsdbt848" = auto
; then
7985 echocheck
"*BSD BrookTree 848 Radio interface"
7988 #include <sys/types.h>
7989 $def_ioctl_bt848_h_name
7990 #ifdef IOCTL_BT848_H_NAME
7991 #include IOCTL_BT848_H_NAME
7993 int main(void) { ioctl(0, RADIO_GETFREQ, 0); return 0; }
7995 cc_check
&& _radio_bsdbt848
=yes
7996 echores
"$_radio_bsdbt848"
7997 fi #if freebsd || netbsd || openbsd || dragonfly || bsdos && _radio && _radio_bsdbt848
7999 if test "$_radio_bsdbt848" = yes ; then
8000 def_radio_bsdbt848
='#define CONFIG_RADIO_BSDBT848 1'
8002 def_radio_bsdbt848
='#undef CONFIG_RADIO_BSDBT848'
8005 if test "$_radio_v4l" = no
&& test "$_radio_v4l2" = no
&& \
8006 test "$_radio_bsdbt848" = no
&& test "$_radio" = yes ; then
8007 die
"Radio driver requires BSD BT848, V4L or V4L2!"
8010 echocheck
"Video 4 Linux 2 MPEG PVR interface"
8011 if test "$_pvr" = auto
; then
8013 if test "$_tv_v4l2" = yes && linux
; then
8016 #include <inttypes.h>
8017 #include <linux/types.h>
8018 #include <linux/videodev2.h>
8019 int main(void) { struct v4l2_ext_controls ext; return ext.controls->value; }
8021 cc_check
&& _pvr
=yes
8024 if test "$_pvr" = yes ; then
8025 def_pvr
='#define CONFIG_PVR 1'
8026 inputmodules
="pvr $inputmodules"
8028 _noinputmodules
="pvr $_noinputmodules"
8029 def_pvr
='#undef CONFIG_PVR'
8035 if ! beos
&& test "$_ftp" = yes ; then
8036 def_ftp
='#define CONFIG_FTP 1'
8037 inputmodules
="ftp $inputmodules"
8039 _noinputmodules
="ftp $_noinputmodules"
8040 def_ftp
='#undef CONFIG_FTP'
8044 echocheck
"vstream client"
8045 if test "$_vstream" = auto
; then
8048 #include <vstream-client.h>
8049 void vstream_error(const char *format, ... ) {}
8050 int main(void) { vstream_start(); return 0; }
8052 cc_check
-lvstream-client && _vstream
=yes
8054 if test "$_vstream" = yes ; then
8055 def_vstream
='#define CONFIG_VSTREAM 1'
8056 inputmodules
="vstream $inputmodules"
8057 extra_ldflags
="$extra_ldflags -lvstream-client"
8059 _noinputmodules
="vstream $_noinputmodules"
8060 def_vstream
='#undef CONFIG_VSTREAM'
8065 echocheck
"OSD menu"
8066 if test "$_menu" = yes ; then
8067 def_menu
='#define CONFIG_MENU 1'
8068 test $_dvbin = "yes" && _menu_dvbin
=yes
8070 def_menu
='#undef CONFIG_MENU'
8076 echocheck
"Subtitles sorting"
8077 if test "$_sortsub" = yes ; then
8078 def_sortsub
='#define CONFIG_SORTSUB 1'
8080 def_sortsub
='#undef CONFIG_SORTSUB'
8085 echocheck
"XMMS inputplugin support"
8086 if test "$_xmms" = yes ; then
8087 if ( xmms-config
--version ) >/dev
/null
2>&1 ; then
8088 _xmmsplugindir
=$
(xmms-config
--input-plugin-dir)
8089 _xmmslibdir
=$
(xmms-config
--exec-prefix)/lib
8091 _xmmsplugindir
=/usr
/lib
/xmms
/Input
8092 _xmmslibdir
=/usr
/lib
8095 def_xmms
='#define CONFIG_XMMS 1'
8097 extra_ldflags
="$extra_ldflags ${_xmmslibdir}/libxmms.dylib"
8099 extra_ldflags
="$extra_ldflags ${_xmmslibdir}/libxmms.so.1 -export-dynamic"
8102 def_xmms
='#undef CONFIG_XMMS'
8107 # --------------- GUI specific tests begin -------------------
8110 if test "$_gui" = yes ; then
8112 # Required libraries
8113 if test "$_libavcodec" != yes ||
8114 ! echo $_libavdecoders |
grep -q PNG_DECODER
; then
8115 die
"The GUI requires libavcodec with PNG support (needs zlib)."
8117 test "$_freetype" = no
&& test "$_bitmap_font" = no
&& \
8118 die
"The GUI requires either FreeType or bitmap font support."
8121 test "$_x11" != yes && die
"X11 support required for GUI compilation."
8123 echocheck
"XShape extension"
8124 if test "$_xshape" = auto
; then
8127 #include <X11/Xlib.h>
8128 #include <X11/Xproto.h>
8129 #include <X11/Xutil.h>
8130 #include <X11/extensions/shape.h>
8133 char *name = ":0.0";
8136 int eventbase, errorbase;
8137 if (getenv("DISPLAY"))
8138 name=getenv("DISPLAY");
8139 wsDisplay=XOpenDisplay(name);
8140 if (!XShapeQueryExtension(wsDisplay,&eventbase,&errorbase))
8142 XCloseDisplay(wsDisplay);
8146 cc_check
-lXext && _xshape
=yes
8148 if test "$_xshape" = yes ; then
8149 def_xshape
='#define CONFIG_XSHAPE 1'
8151 die
"The GUI requires the X11 extension XShape (which was not found)."
8156 if test "$_gtk1" = no
; then
8158 echocheck
"GTK+ version"
8160 if $_pkg_config gtk
+-2.0
--exists ; then
8161 _gtk
=$
($_pkg_config gtk
+-2.0
--modversion 2>/dev
/null
)
8162 extra_cflags
="$extra_cflags $($_pkg_config gtk+-2.0 --cflags 2>/dev/null)"
8163 libs_mplayer
="$libs_mplayer $($_pkg_config gtk+-2.0 --libs 2>/dev/null)"
8167 if $_pkg_config glib-2.0
--exists ; then
8168 echocheck
"glib version"
8169 _glib
=$
($_pkg_config glib-2.0
--modversion 2>/dev
/null
)
8170 libs_mplayer
="$libs_mplayer $($_pkg_config glib-2.0 --libs 2>/dev/null)"
8173 def_gui
='#define CONFIG_GUI 1'
8174 def_gtk2
='#define CONFIG_GTK2 1'
8177 echo "GLIB-2 devel packages were not found, trying GTK 1.2"
8180 echo "GTK-2 devel packages were not found, trying GTK 1.2"
8185 if test "$_gtk1" = yes ; then
8186 # Check for old GTK (1.2.x)
8187 echocheck
"GTK version"
8188 if test -z "$_gtkconfig" ; then
8189 if ( gtk-config
--version ) >/dev
/null
2>&1 ; then
8190 _gtkconfig
="gtk-config"
8191 elif ( gtk12-config
--version ) >/dev
/null
2>&1 ; then
8192 _gtkconfig
="gtk12-config"
8194 die
"The GUI requires GTK devel packages (which were not found)."
8197 _gtk
=$
($_gtkconfig --version 2>&1)
8198 extra_cflags
="$extra_cflags $($_gtkconfig --cflags 2>&1)"
8199 libs_mplayer
="$libs_mplayer $($_gtkconfig --libs 2>&1)"
8200 echores
"$_gtk (using $_gtkconfig)"
8203 echocheck
"glib version"
8204 if test -z "$_glibconfig" ; then
8205 if ( glib-config
--version ) >/dev
/null
2>&1 ; then
8206 _glibconfig
="glib-config"
8207 elif ( glib12-config
--version ) >/dev
/null
2>&1 ; then
8208 _glibconfig
="glib12-config"
8210 die
"The GUI requires GLIB devel packages (which were not found)"
8213 _glib
=$
($_glibconfig --version 2>&1)
8214 libs_mplayer
="$libs_mplayer $($_glibconfig --libs 2>&1)"
8215 echores
"$_glib (using $_glibconfig)"
8217 def_gui
='#define CONFIG_GUI 1'
8218 def_gtk2
='#undef CONFIG_GTK2'
8223 libs_mplayer
="$libs_mplayer -lcomdlg32 -lcomctl32 -lshell32 -lkernel32"
8224 def_gui
='#define CONFIG_GUI 1'
8225 def_gtk2
='#undef CONFIG_GTK2'
8228 else #if test "$_gui"
8229 def_gui
='#undef CONFIG_GUI'
8230 def_gtk2
='#undef CONFIG_GTK2'
8232 # --------------- GUI specific tests end -------------------
8235 if test "$_charset" != "noconv" ; then
8236 def_charset
="#define MSG_CHARSET \"$_charset\""
8238 def_charset
="#undef MSG_CHARSET"
8242 if test -n "$_charset" && test "$_charset" != "UTF-8" ; then
8243 echocheck
"iconv program"
8244 iconv -f UTF-8
-t $_charset ${_mp_help} > /dev
/null
2>> "$TMPLOG"
8245 if test "$?" -ne 0 ; then
8247 echo "No working iconv program found, use "
8248 echo "--charset=UTF-8 to continue anyway."
8249 echo "If you also have problems with iconv library functions use --charset=noconv."
8250 echo "Messages in the GTK-2 interface will be broken then."
8257 #############################################################################
8259 echocheck
"automatic gdb attach"
8260 if test "$_crash_debug" = yes ; then
8261 def_crash_debug
='#define CONFIG_CRASH_DEBUG 1'
8263 def_crash_debug
='#undef CONFIG_CRASH_DEBUG'
8266 echores
"$_crash_debug"
8268 echocheck
"compiler support for noexecstack"
8270 int main(void) { return 0; }
8272 if cc_check
-Wl,-z,noexecstack
; then
8273 extra_ldflags
="-Wl,-z,noexecstack $extra_ldflags"
8279 echocheck
"linker support for --nxcompat --no-seh --dynamicbase"
8280 if cc_check
"-Wl,--nxcompat -Wl,--no-seh -Wl,--dynamicbase" ; then
8281 extra_ldflags
="-Wl,--nxcompat -Wl,--no-seh -Wl,--dynamicbase $extra_ldflags"
8288 # Dynamic linking flags
8289 # (FIXME: 'echocheck "dynamic linking"' above and modify here accordingly)
8291 freebsd || netbsd || openbsd || dragonfly || bsdos
&& _ld_dl_dynamic
='-rdynamic'
8292 if test "$_real" = yes ||
test "$_xanim" = yes && ! win32
&& ! qnx
&& ! darwin
&& ! os2
&& ! sunos
; then
8293 _ld_dl_dynamic
='-rdynamic'
8296 extra_ldflags
="$extra_ldflags $_ld_pthread $_ld_dl $_ld_dl_dynamic"
8297 bsdos
&& extra_ldflags
="$extra_ldflags -ldvd"
8298 (netbsd || openbsd
) && x86_32
&& extra_ldflags
="$extra_ldflags -li386"
8300 def_debug
='#undef MP_DEBUG'
8301 test "$_debug" != "" && def_debug
='#define MP_DEBUG 1'
8304 echocheck
"joystick"
8305 def_joystick
='#undef CONFIG_JOYSTICK'
8306 if test "$_joystick" = yes ; then
8308 # TODO add some check
8309 def_joystick
='#define CONFIG_JOYSTICK 1'
8312 res_comment
="unsupported under $system_name"
8315 echores
"$_joystick"
8318 if test "$_lirc" = auto
; then
8321 #include <lirc/lirc_client.h>
8322 int main(void) { return 0; }
8324 cc_check
-llirc_client && _lirc
=yes
8326 if test "$_lirc" = yes ; then
8327 def_lirc
='#define CONFIG_LIRC 1'
8328 libs_mplayer
="$libs_mplayer -llirc_client"
8330 def_lirc
='#undef CONFIG_LIRC'
8335 if test "$_lircc" = auto
; then
8338 #include <lirc/lircc.h>
8339 int main(void) { return 0; }
8341 cc_check
-llircc && _lircc
=yes
8343 if test "$_lircc" = yes ; then
8344 def_lircc
='#define CONFIG_LIRCC 1'
8345 libs_mplayer
="$libs_mplayer -llircc"
8347 def_lircc
='#undef CONFIG_LIRCC'
8352 # Detect maemo development platform libraries availability (http://www.maemo.org),
8353 # they are used when run on Nokia 770|8x0
8354 echocheck
"maemo (Nokia 770|8x0)"
8355 if test "$_maemo" = auto
; then
8358 #include <libosso.h>
8359 int main(void) { (void) osso_initialize("", "", 0, NULL); return 0; }
8361 cc_check $
($_pkg_config --cflags --libs libosso
2>/dev
/null
) && _maemo
=yes
8363 if test "$_maemo" = yes ; then
8364 def_maemo
='#define CONFIG_MAEMO 1'
8365 extra_cflags
="$extra_cflags $($_pkg_config --cflags libosso)"
8366 extra_ldflags
="$extra_ldflags $($_pkg_config --libs libosso) -lXsp"
8368 def_maemo
='#undef CONFIG_MAEMO'
8373 #############################################################################
8375 # On OS/2 nm supports only a.out. So the -Zomf compiler option to generate
8376 # the OMF format needs to come after the 'extern symbol prefix' check, which
8379 extra_ldflags
="$extra_ldflags -Zomf -Zstack 16384 -Zbin-files -Zargs-wild"
8382 # linker paths should be the same for mencoder and mplayer
8384 for I
in $libs_mplayer ; do
8385 _tmp
=$
(echo $I |
sed -e 's/^-L.*$//')
8386 if test -z "$_tmp" ; then
8387 extra_ldflags
="$extra_ldflags $I"
8389 _ld_tmp
="$_ld_tmp $I"
8392 libs_mplayer
=$_ld_tmp
8395 #############################################################################
8396 # 64 bit file offsets?
8397 if test "$_largefiles" = yes || freebsd
; then
8398 CFLAGS
="$CFLAGS -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
8399 if test "$_dvdread" = yes ||
test "$_libdvdcss_internal" = yes ; then
8400 # dvdread support requires this (for off64_t)
8401 CFLAGS
="$CFLAGS -D_LARGEFILE64_SOURCE"
8405 CXXFLAGS
=" $CFLAGS -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS"
8407 # This must be the last test to be performed. Any other tests following it
8408 # could fail due to linker errors. libdvdnavmini is intentionally not linked
8409 # against libdvdread (to permit MPlayer to use its own copy of the library).
8410 # So any compilation using the flags added here but not linking against
8411 # libdvdread can fail.
8412 echocheck
"DVD support (libdvdnav)"
8414 if test "$_dvdnav" = auto
; then
8415 if test "$_dvdread_internal" = yes ; then
8418 res_comment
="internal"
8420 $_dvdnavconfig --version --minilibs >> $TMPLOG 2>&1 || _dvdnav
=no
8423 if test "$_dvdnav" = auto
; then
8425 #include <inttypes.h>
8426 #include <dvdnav/dvdnav.h>
8427 int main(void) { dvdnav_t *dvd=0; return 0; }
8430 _dvdnavdir
=$
($_dvdnavconfig --cflags)
8431 _dvdnavlibs
=$
($_dvdnavconfig --libs)
8432 cc_check
$_dvdnavdir $_dvdnavlibs $_ld_dl $_ld_pthread && _dvdnav
=yes
8434 if test "$_dvdnav" = yes ; then
8436 def_dvdnav
='#define CONFIG_DVDNAV 1'
8437 if test "$dvdnav_internal" = yes ; then
8438 cflags_libdvdnav
="-Ilibdvdnav"
8439 inputmodules
="dvdnav(internal) $inputmodules"
8441 extra_cflags
="$extra_cflags $($_dvdnavconfig --cflags)"
8442 extra_ldflags
="$extra_ldflags $($_dvdnavconfig --minilibs)"
8443 inputmodules
="dvdnav $inputmodules"
8446 def_dvdnav
='#undef CONFIG_DVDNAV'
8447 _noinputmodules
="dvdnav $_noinputmodules"
8451 # DO NOT ADD ANY TESTS THAT USE LINKER FLAGS HERE (like cc_check).
8452 # Read dvdnav comment above.
8455 list
=$
(echo $1 |
tr '[a-z]' '[A-Z]')
8456 item
=$
(echo $2 |
tr '[a-z]' '[A-Z]')
8458 for part
in $list; do
8459 if $
(echo $item |
grep -q -E "(^| )$part($| )"); then
8460 echo "${nprefix}_$part = yes"
8465 #############################################################################
8466 echo "Creating config.mak"
8467 cat > config.mak
<< EOF
8468 # -------- Generated by configure -----------
8470 # Ensure that locale settings do not interfere with shell commands.
8473 CONFIGURATION = $_configuration
8476 DOC_LANGS = $language_doc
8477 DOC_LANG_ALL = $doc_lang_all
8478 MAN_LANGS = $language_man
8479 MAN_LANG_ALL = $man_lang_all
8481 prefix = \$(DESTDIR)$_prefix
8482 BINDIR = \$(DESTDIR)$_bindir
8483 DATADIR = \$(DESTDIR)$_datadir
8484 LIBDIR = \$(DESTDIR)$_libdir
8485 MANDIR = \$(DESTDIR)$_mandir
8486 CONFDIR = \$(DESTDIR)$_confdir
8494 INSTALLSTRIP = $_install_strip
8497 CFLAGS = $CFLAGS $extra_cflags
8498 ASFLAGS = \$(CFLAGS)
8499 CXXFLAGS = $CXXFLAGS $extra_cflags $extra_cxxflags
8501 CFLAGS_DHAHELPER = $cflags_dhahelper
8502 CFLAGS_FAAD_FIXED = $cflags_faad_fixed
8503 CFLAGS_LIBDVDCSS = $cflags_libdvdcss
8504 CFLAGS_LIBDVDCSS_DVDREAD = $cflags_libdvdcss_dvdread
8505 CFLAGS_LIBDVDNAV = $cflags_libdvdnav
8506 CFLAGS_NO_OMIT_LEAF_FRAME_POINTER = $cflags_no_omit_leaf_frame_pointer
8507 CFLAGS_STACKREALIGN = $cflags_stackrealign
8508 CFLAGS_SVGALIB_HELPER = $cflags_svgalib_helper
8509 CFLAGS_TREMOR_LOW = $cflags_tremor_low
8511 EXTRALIBS = $extra_ldflags $_ld_static $_ld_lm $extra_libs
8512 EXTRALIBS_MPLAYER = $libs_mplayer
8513 EXTRALIBS_MENCODER = $libs_mencoder
8516 HELP_FILE = $_mp_help
8523 $(mak_enable "$arch_all" "$arch" ARCH)
8524 $(mak_enable "$subarch_all" "$subarch" ARCH)
8525 $(mak_enable "$cpuexts_all" "$cpuexts" HAVE)
8527 MENCODER = $_mencoder
8530 NEED_GETTIMEOFDAY = $_need_gettimeofday
8531 NEED_GLOB = $_need_glob
8532 NEED_MMAP = $_need_mmap
8533 NEED_SETENV = $_need_setenv
8534 NEED_SHMEM = $_need_shmem
8535 NEED_STRSEP = $_need_strsep
8536 NEED_SWAB = $_need_swab
8537 NEED_VSSCANF = $_need_vsscanf
8545 APPLE_IR = $_apple_ir
8546 APPLE_REMOTE = $_apple_remote
8548 AUDIO_INPUT = $_audio_input
8549 BITMAP_FONT = $_bitmap_font
8554 COREAUDIO = $_coreaudio
8555 COREVIDEO = $_corevideo
8559 DIRECT3D = $_direct3d
8560 DIRECTFB = $_directfb
8564 DVDNAV_INTERNAL = $dvdnav_internal
8566 DVDREAD_INTERNAL = $_dvdread_internal
8572 FAAD_INTERNAL = $_faad_internal
8573 FASTMEMCPY = $_fastmemcpy
8575 FREETYPE = $_freetype
8580 GL_WIN32 = $_gl_win32
8583 MATRIXVIEW = $matrixview
8586 GUI_WIN32 = $_gui_win32
8587 HAVE_POSIX_SELECT = $_posix_select
8588 HAVE_SYS_MMAN_H = $_mman
8591 JOYSTICK = $_joystick
8598 LIBASS_INTERNAL = $ass_internal
8602 LIBDVDCSS_INTERNAL = $_libdvdcss_internal
8606 LIBMENU_DVBIN = $_menu_dvbin
8607 LIBMPEG2 = $_libmpeg2
8608 LIBNEMESI = $_nemesi
8610 LIBSMBCLIENT = $_smb
8611 LIBTHEORA = $_theora
8614 MACOSX_FINDER = $_macosx_finder
8620 MUSEPACK = $_musepack
8622 NATIVE_RTSP = $_native_rtsp
8626 PE_EXECUTABLE = $_pe_executable
8629 PRIORITY = $_priority
8633 QTX_CODECS_WIN32 = $_qtx_codecs_win32
8634 QTX_EMULATION = $_qtx_emulation
8637 RADIO_CAPTURE=$_radio_capture
8638 REAL_CODECS = $_real
8642 STREAM_CACHE = $_stream_cache
8643 SGIAUDIO = $_sgiaudio
8644 SUNAUDIO = $_sunaudio
8650 TREMOR_INTERNAL = $_tremor_internal
8652 TV_BSDBT848 = $_tv_bsdbt848
8653 TV_DSHOW = $_tv_dshow
8658 UNRAR_EXEC = $_unrar_exec
8664 VIDIX_PCIDB = $_vidix_pcidb_val
8665 VIDIX_CYBERBLADE=$_vidix_drv_cyberblade
8666 VIDIX_IVTV=$_vidix_drv_ivtv
8667 VIDIX_MACH64=$_vidix_drv_mach64
8668 VIDIX_MGA=$_vidix_drv_mga
8669 VIDIX_MGA_CRTC2=$_vidix_drv_mga_crtc2
8670 VIDIX_NVIDIA=$_vidix_drv_nvidia
8671 VIDIX_PM2=$_vidix_drv_pm2
8672 VIDIX_PM3=$_vidix_drv_pm3
8673 VIDIX_RADEON=$_vidix_drv_radeon
8674 VIDIX_RAGE128=$_vidix_drv_rage128
8675 VIDIX_S3=$_vidix_drv_s3
8676 VIDIX_SH_VEU=$_vidix_drv_sh_veu
8677 VIDIX_SIS=$_vidix_drv_sis
8678 VIDIX_UNICHROME=$_vidix_drv_unichrome
8682 WIN32DLL = $_win32dll
8683 WIN32WAVEOUT = $_win32waveout
8684 WIN32_EMULATION = $_win32_emulation
8685 WINVIDIX = $winvidix
8688 XANIM_CODECS = $_xanim
8690 XMMS_PLUGINS = $_xmms
8696 YUV4MPEG = $_yuv4mpeg
8700 LIBAVUTIL = $_libavutil
8701 LIBAVUTIL_A = $_libavutil_a
8702 LIBAVUTIL_SO = $_libavutil_so
8703 LIBAVCODEC = $_libavcodec
8704 LIBAVCODEC_A = $_libavcodec_a
8705 LIBAVCODEC_SO = $_libavcodec_so
8706 LIBAVFORMAT = $_libavformat
8707 LIBAVFORMAT_A = $_libavformat_a
8708 LIBAVFORMAT_SO = $_libavformat_so
8709 LIBPOSTPROC = $_libpostproc
8710 LIBPOSTPROC_A = $_libpostproc_a
8711 LIBPOSTPROC_SO = $_libpostproc_so
8712 LIBSWSCALE = $_libswscale
8713 LIBSWSCALE_A = $_libswscale_a
8714 LIBSWSCALE_SO = $_libswscale_so
8716 HOSTCC = \$(HOST_CC)
8717 HOSTCFLAGS = -D_ISOC99_SOURCE -D_POSIX_C_SOURCE=200112 -O3
8723 YASMFLAGS = $YASMFLAGS
8730 LIBNAME = \$(LIBPREF)\$(NAME)\$(LIBSUF)
8731 FULLNAME = \$(NAME)\$(BUILDSUF)
8733 # Some FFmpeg codecs depend on these. Enable them unconditionally for now.
8739 CONFIG_H264DSP = yes
8745 $mak_hardcoded_tables
8746 $mak_libavcodec_mpegaudio_hp
8747 !CONFIG_LIBRTMP = yes
8749 CONFIG_BZLIB = $bzlib
8750 CONFIG_ENCODERS = yes
8752 CONFIG_LIBDIRAC_DECODER = $_libdirac_lavc
8753 CONFIG_LIBDIRAC_ENCODER = $_libdirac_lavc
8754 CONFIG_LIBFAAC_ENCODER = $_faac_lavc
8755 CONFIG_LIBMP3LAME_ENCODER = $_mp3lame_lavc
8756 CONFIG_LIBOPENCORE_AMRNB_DECODER = $_libopencore_amrnb
8757 CONFIG_LIBOPENCORE_AMRNB_ENCODER = $_libopencore_amrnb
8758 CONFIG_LIBOPENCORE_AMRWB_DECODER = $_libopencore_amrwb
8759 OCNFIG_LIBOPENJPEG_DECODER = $libopenjpeg
8760 OCNFIG_LIBOPENJPEG_ENCODER = $libopenjpeg
8761 CONFIG_LIBSCHROEDINGER_DECODER = $_libschroedinger_lavc
8762 CONFIG_LIBSCHROEDINGER_ENCODER = $_libschroedinger_lavc
8763 CONFIG_LIBVORBIS_ENCODER = $_libvorbis
8764 CONFIG_LIBX264_ENCODER = $_x264_lavc
8765 CONFIG_LIBXVID_ENCODER = $_xvid_lavc
8766 CONFIG_MLIB = $_mlib
8767 CONFIG_MUXERS = $_mencoder
8768 CONFIG_POSTPROC = yes
8769 CONFIG_VDPAU = $_vdpau
8770 CONFIG_XVMC = $_xvmc
8771 CONFIG_ZLIB = $_zlib
8773 HAVE_PTHREADS = $_pthreads
8775 HAVE_W32THREADS = $_w32threads
8776 HAVE_YASM = $have_yasm
8778 $(echo $_libavdecoders | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/')
8779 $(echo $_libavencoders | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/')
8780 $(echo $_libavparsers | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/')
8781 $(echo $_libavdemuxers | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/')
8782 $(echo $_libavmuxers | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/')
8783 $(echo $_libavprotocols | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/')
8784 $(echo $_libavbsfs | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/')
8785 $(echo $_libavhwaccels | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/')
8788 #############################################################################
8790 ff_config_enable
() {
8791 list
=$
(echo $1 |
tr '[a-z]' '[A-Z]')
8792 item
=$
(echo $2 |
tr '[a-z]' '[A-Z]')
8794 test -z "$_nprefix" && _nprefix
='CONFIG'
8795 for part
in $list; do
8796 if $
(echo $item |
grep -q -E "(^| )$part($| )"); then
8797 echo "#define ${_nprefix}_$part 1"
8799 echo "#define ${_nprefix}_$part 0"
8804 echo "Creating config.h"
8806 /*----------------------------------------------------------------------------
8807 ** This file has been automatically generated by configure any changes in it
8808 ** will be lost when you run configure again.
8809 ** Instead of modifying definitions here, use the --enable/--disable options
8810 ** of the configure script! See ./configure --help for details.
8811 *---------------------------------------------------------------------------*/
8813 #ifndef MPLAYER_CONFIG_H
8814 #define MPLAYER_CONFIG_H
8816 /* Undefine this if you do not want to select mono audio (left or right)
8817 with a stereo MPEG layer 2/3 audio stream. The command line option
8818 -stereo has three possible values (0 for stereo, 1 for left-only, 2 for
8819 right-only), with 0 being the default.
8821 #define CONFIG_FAKE_MONO 1
8823 /* set up max. outburst. use 65536 for ALSA 0.5, for others 16384 is enough */
8824 #define MAX_OUTBURST 65536
8826 /* set up audio OUTBURST. Do not change this! */
8827 #define OUTBURST 512
8829 /* Enable fast OSD/SUB renderer (looks ugly, but uses less CPU power) */
8831 #undef FAST_OSD_TABLE
8833 /* Define this to enable MPEG-1/2 image postprocessing in libmpeg2 */
8834 #define MPEG12_POSTPROC 1
8835 #define ATTRIBUTE_ALIGNED_MAX 16
8839 #define CONFIGURATION "$_configuration"
8841 #define MPLAYER_DATADIR "$_datadir"
8842 #define MPLAYER_CONFDIR "$_confdir"
8843 #define MPLAYER_LIBDIR "$_libdir"
8845 /* definitions needed by included libraries */
8846 #define HAVE_INTTYPES_H 1
8847 /* libmpeg2 + FFmpeg */
8850 #define HAVE_ERRNO_H 1
8851 /* libdvdcss + libdvdread */
8852 #define HAVE_LIMITS_H 1
8853 /* libdvdcss + libfaad2 */
8854 #define HAVE_UNISTD_H 1
8855 /* libfaad2 + libdvdread */
8856 #define STDC_HEADERS 1
8857 #define HAVE_MEMCPY 1
8859 #define HAVE_STRING_H 1
8860 #define HAVE_STRINGS_H 1
8861 #define HAVE_SYS_STAT_H 1
8862 #define HAVE_SYS_TYPES_H 1
8864 #define READ_CACHE_TRACE 0
8866 #define HAVE_DLFCN_H 1
8870 /* system headers */
8872 $def_alsa_asoundlib_h
8876 $def_mman_has_map_failed
8878 $def_sys_asoundlib_h
8879 $def_sys_soundcard_h
8886 /* system functions */
8909 /* system-specific features */
8924 $def_restrict_keyword
8929 /* configurable options */
8933 $def_dynamic_plugins
8936 $def_runtime_cpudetection
8944 #define __CPU__ $iproc
8947 $(ff_config_enable "$arch_all" "$arch" "ARCH")
8948 $(ff_config_enable "$subarch_all" "$subarch" "ARCH")
8949 $(ff_config_enable "$cpuexts_all" "$cpuexts" "HAVE")
8953 #define DEFAULT_CDROM_DEVICE "$default_cdrom_device"
8954 #define DEFAULT_DVD_DEVICE "$default_dvd_device"
8974 /* codec libraries */
8986 $def_mp3lame_preset_medium
9010 #define BINARY_CODECS_PATH "$_codecsdir"
9011 #define XMMS_INPUT_PLUGIN_DIR "$_xmmsplugindir"
9020 /* Audio output drivers */
9036 $def_ossaudio_devdsp
9037 $def_ossaudio_devmixer
9050 $def_ioctl_bt848_h_name
9051 $def_ioctl_meteor_h_name
9090 $def_struct_ipv6_mreq
9091 $def_struct_sockaddr_in6
9092 $def_struct_sockaddr_sa_len
9096 $def_sockaddr_storage
9111 $def_directfb_version
9148 $def_vidix_drv_cyberblade
9150 $def_vidix_drv_mach64
9152 $def_vidix_drv_mga_crtc2
9153 $def_vidix_drv_nvidia
9155 $def_vidix_drv_radeon
9156 $def_vidix_drv_rage128
9158 $def_vidix_drv_sh_veu
9160 $def_vidix_drv_unichrome
9194 #define CONFIG_DECODERS 1
9195 #define CONFIG_ENCODERS 1
9196 #define CONFIG_DEMUXERS 1
9207 $def_hardcoded_tables
9208 $def_libavcodec_mpegaudio_hp
9211 $def_local_aligned_8
9212 $def_local_aligned_16
9229 #define CONFIG_FASTDIV 0
9230 #define CONFIG_FFSERVER 0
9231 #define CONFIG_GPL 1
9232 #define CONFIG_GRAY 0
9233 #define CONFIG_LIBRTMP 0
9234 #define CONFIG_LIBVORBIS 0
9235 #define CONFIG_POWERPC_PERF 0
9236 #define CONFIG_SMALL 0
9237 #define CONFIG_SWSCALE_ALPHA 1
9239 #if defined(HAVE_AF_INET6) && (!defined(_WIN32) || defined(__CYGWIN__))
9240 #define CONFIG_IPV6 1
9242 #define CONFIG_IPV6 0
9245 #define HAVE_ATTRIBUTE_MAY_ALIAS 1
9246 #define av_alias __attribute__((may_alias))
9247 #define HAVE_ATTRIBUTE_PACKED 1
9248 #define HAVE_GETHRTIME 0
9249 #define HAVE_INLINE_ASM 1
9250 #define HAVE_LDBRX 0
9251 #define HAVE_POLL_H 1
9252 #define HAVE_PPC4XX 0
9253 #define HAVE_STRERROR_R 0
9254 #define HAVE_SYS_SELECT_H 0
9255 #define HAVE_VFP_ARGS 1
9256 #define HAVE_VIRTUALALLOC 0
9258 /* Some FFmpeg codecs depend on these. Enable them unconditionally for now. */
9259 #define CONFIG_AANDCT 1
9260 #define CONFIG_DCT 1
9261 #define CONFIG_DWT 1
9262 #define CONFIG_FFT 1
9263 #define CONFIG_GOLOMB 1
9264 #define CONFIG_H264DSP 1
9265 #define CONFIG_LPC 1
9266 #define CONFIG_MDCT 1
9267 #define CONFIG_RDFT 1
9269 /* Use these registers in FFmpeg x86 inline asm. No proper detection yet. */
9272 #define HAVE_EBP_AVAILABLE 1
9274 #define HAVE_EBP_AVAILABLE 0
9277 #define FFMPEG_CONFIGURATION "--enable-gpl --enable-postproc"
9278 #define FFMPEG_LICENSE "GPL version 2 or later"
9280 /* External libraries used through libavcodec. */
9283 $def_libopencore_amrnb
9284 $def_libopencore_amrwb
9286 $def_libschroedinger_lavc
9291 $(ff_config_enable "$_libavdecoders_all" "$_libavdecoders")
9292 $(ff_config_enable "$_libavencoders_all" "$_libavencoders")
9293 $(ff_config_enable "$_libavparsers_all" "$_libavparsers")
9294 $(ff_config_enable "$_libavdemuxers_all" "$_libavdemuxers")
9295 $(ff_config_enable "$_libavmuxers_all" "$_libavmuxers")
9296 $(ff_config_enable "$_libavprotocols_all" "$_libavprotocols")
9297 $(ff_config_enable "$_libavbsfs_all" "$_libavbsfs")
9298 $(ff_config_enable "$_libavhwaccels_all" "$_libavhwaccels")
9300 #endif /* MPLAYER_CONFIG_H */
9303 # Do not overwrite an unchanged config.h to avoid superfluous rebuilds.
9304 cmp -s "$TMPH" config.h ||
mv -f "$TMPH" config.h
9306 ############################################################################
9308 # Create avconfig.h for FFmpeg.
9309 cat > "$TMPH" << EOF
9310 /* Generated by mpconfigure */
9311 #ifndef AVUTIL_AVCONFIG_H
9312 #define AVUTIL_AVCONFIG_H
9314 #endif /* AVUTIL_AVCONFIG_H */
9317 # Do not overwrite an unchanged avconfig.h to avoid superfluous rebuilds.
9318 cmp -s "$TMPH" libavutil
/avconfig.h ||
mv -f "$TMPH" libavutil
/avconfig.h
9320 #############################################################################
9324 Config files successfully generated by ./configure $_configuration !
9326 Install prefix: $_prefix
9327 Data directory: $_datadir
9328 Config direct.: $_confdir
9330 Byte order: $_byte_order
9331 Optimizing for: $_optimizing
9334 Messages/GUI: $language_msg
9335 Manual pages: $language_man
9336 Documentation: $language_doc
9338 Enabled optional drivers:
9339 Input: $inputmodules
9340 Codecs: $codecmodules
9341 Audio output: $aomodules
9342 Video output: $vomodules
9344 Disabled optional drivers:
9345 Input: $_noinputmodules
9346 Codecs: $nocodecmodules
9347 Audio output: $noaomodules
9348 Video output: $novomodules
9350 'config.h' and 'config.mak' contain your configuration options.
9351 Note: If you alter theses files (for instance CFLAGS) MPlayer may no longer
9352 compile *** DO NOT REPORT BUGS if you tweak these files ***
9354 'make' will now compile MPlayer and 'make install' will install it.
9355 Note: On non-Linux systems you might need to use 'gmake' instead of 'make'.
9360 if test "$_mtrr" = yes ; then
9361 echo "Please check mtrr settings at /proc/mtrr (see DOCS/HTML/$doc_lang/video.html#mtrr)"
9367 NOTE: Win32 codec DLLs are not supported on your CPU ($host_arch) or your
9368 operating system ($system_name). You may encounter a few files that cannot
9369 be played due to missing open source video/audio codec support.
9376 Check $TMPLOG if you wonder why an autodetection failed (make sure
9377 development headers/packages are installed).
9379 NOTE: The --enable-* parameters unconditionally force options on, completely
9380 skipping autodetection. This behavior is unlike what you may be used to from
9381 autoconf-based configure scripts that can decide to override you. This greater
9382 level of control comes at a price. You may have to provide the correct compiler
9383 and linker flags yourself.
9384 If you used one of these options (except --enable-menu and similar ones that
9385 turn on internal features) and experience a compilation or linking failure,
9386 make sure you have passed the necessary compiler/linker flags to configure.
9388 If you suspect a bug, please read DOCS/HTML/$doc_lang/bugreports.html.
9392 if test "$_warn_CFLAGS" = yes; then
9395 MPlayer compilation will use the CPPFLAGS/CFLAGS/LDFLAGS/YASMFLAGS set by you,
9398 *** *** DO NOT REPORT BUGS IF IT DOES NOT COMPILE/WORK! *** ***
9400 It is strongly recommended to let MPlayer choose the correct CFLAGS!
9401 To do so, execute 'CFLAGS= ./configure <options>'
9407 rm -f "$TMPEXE" "$TMPC" "$TMPS" "$TMPCPP" "$TMPH"