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