3 # Original version (C) 2000 Pontscho/fresh!mindworkz
4 # pontscho@makacs.poliod.hu
6 # History / Contributors: Check the Subversion log.
8 # Cleanups all over the place (c) 2001 pl
11 # This configure script is *not* autoconf-based and has different semantics.
12 # It attempts to autodetect all settings and options where possible. It is
13 # possible to override autodetection with the --enable-option/--disable-option
14 # command line parameters. --enable-option forces the option on skipping
15 # autodetection. Yes, this means that compilation may fail and yes, this is not
16 # how autoconf-based configure scripts behave.
18 # configure generates a series of configuration files:
19 # - config.h contains #defines that are used in the C code.
20 # - config.mak is included from the Makefiles.
22 # If you want to add a new check for $feature, here is a simple skeleton:
24 # echocheck "$feature"
25 # if test "$_feature" = auto; then
27 # #include <feature.h>
28 # int main(void) { return 0; }
31 # cc_check && _feature=yes
33 # if test "$_feature" = yes ; then
34 # def_feature='#define CONFIG_FEATURE 1'
36 # def_feature='#undef CONFIG_FEATURE'
40 # Furthermore you need to add the variable _feature to the list of default
41 # settings and set it to one of yes/no/auto. Also add appropriate
42 # --enable-feature/--disable-feature command line options.
43 # The results of the check should be written to config.h and config.mak
44 # at the end of this script. The variable names used for this should be
45 # uniform, i.e. if the option is named 'feature':
47 # _feature : should have a value of yes/no/auto
48 # def_feature : '#define ... 1' or '#undef ...' for conditional compilation
49 # _ld_feature : '-L/path/dir -lfeature' GCC options
51 #############################################################################
53 # Prevent locale nonsense from breaking basic text processing utils
56 # Store the configure line that was used
59 # Prefer these macros to full length text !
60 # These macros only return an error code - NO display is done
65 echo "$_cc $CFLAGS $extra_cflags $_ld_static $extra_ldflags $libs_mplayer $libs_mencoder -o $TMPEXE $@" >> "$TMPLOG"
67 $_cc $CFLAGS $extra_cflags $_ld_static $extra_ldflags $libs_mplayer $libs_mencoder -o "$TMPEXE" "$@" >> "$TMPLOG" 2>&1
75 compile_check
$TMPC $@
79 compile_check
$TMPCPP $@
-lstdc++
84 cat "$TMPS" >> "$TMPLOG"
86 echo "$_yasm $YASMFLAGS -o $TMPEXE $TMPS $@" >> "$TMPLOG"
88 $_yasm $YASMFLAGS -o "$TMPEXE" "$TMPS" "$@" >> "$TMPLOG" 2>&1
96 "$TMPEXE" >> "$TMPLOG" 2>&1
99 # Display error message, flushes tempfile, exit
104 rm -f "$TMPEXE" "$TMPC" "$TMPS" "$TMPCPP"
105 echo "Check \"$TMPLOG\" if you do not understand why it failed."
109 # OS test booleans functions
111 test "$(echo $system_name | tr A-Z a-z)" = "$(echo $1 | tr A-Z a-z)"
113 aix
() { issystem
"AIX"; }
114 amigaos
() { issystem
"AmigaOS"; }
115 beos
() { issystem
"BEOS"; }
116 bsdos
() { issystem
"BSD/OS"; }
117 cygwin
() { issystem
"CYGWIN"; }
118 darwin
() { issystem
"Darwin"; }
119 dragonfly
() { issystem
"DragonFly"; }
120 freebsd
() { issystem
"FreeBSD" || issystem
"GNU/kFreeBSD"; }
121 gnu
() { issystem
"GNU"; }
122 hpux
() { issystem
"HP-UX"; }
123 irix
() { issystem
"IRIX"; }
124 linux
() { issystem
"Linux"; }
125 mingw32
() { issystem
"MINGW32"; }
126 morphos
() { issystem
"MorphOS"; }
127 netbsd
() { issystem
"NetBSD"; }
128 openbsd
() { issystem
"OpenBSD"; }
129 os2
() { issystem
"OS/2"; }
130 qnx
() { issystem
"QNX"; }
131 sunos
() { issystem
"SunOS"; }
132 win32
() { cygwin || mingw32
; }
134 # arch test boolean functions
135 # x86/x86pc is used by QNX
138 i
[3-9]86|x86|x86pc|k5|k6|k6-2|k6-3|pentium
*|athlon
*|i586-i686
) return 0 ;;
145 x86_64|amd64
) return 0 ;;
156 ppc|ppc64|powerpc|powerpc64
) return 0;;
175 # Use this before starting a check
177 echo "============ Checking for $@ ============" >> "$TMPLOG"
178 echo ${_echo_n} "Checking for $@ ... ${_echo_c}"
181 # Use this to echo the results of a check
183 if test "$_res_comment" ; then
184 _res_comment
="($_res_comment)"
186 echo "Result is: $@ $_res_comment" >> "$TMPLOG"
187 echo "##########################################" >> "$TMPLOG"
189 echo "$@ $_res_comment"
192 #############################################################################
194 # Check how echo works in this /bin/sh
196 -n) _echo_n
= _echo_c
='\c' ;; # SysV echo
197 *) _echo_n
='-n ' _echo_c
= ;; # BSD echo
200 msg_lang_all
=$
(echo help
/help_mp-??.h help
/help_mp-??_??.h |
sed -e "s:help/help_mp-\(..\).h:\1:g" -e "s:help/help_mp-\(.....\).h:\1:g")
201 man_lang_all
=$
(echo DOCS
/man
/??
/mplayer
.1 DOCS
/man
/??_??
/mplayer
.1 |
sed -e "s:DOCS/man/\(..\)/mplayer.1:\1:g" -e "s:DOCS/man/\(.._..\)/mplayer.1:\1:g")
202 doc_lang_all
=$
(echo DOCS
/xml
/??
/ DOCS
/xml
/??_??
/ |
sed -e "s:DOCS/xml/\(..\)/:\1:g" -e "s:DOCS/xml/\(.._..\)/:\1:g")
206 Usage: $0 [OPTIONS]...
209 -h, --help display this help and exit
211 Installation directories:
212 --prefix=DIR prefix directory for installation [/usr/local]
213 --bindir=DIR directory for installing binaries [PREFIX/bin]
214 --datadir=DIR directory for installing machine independent
215 data files (skins, etc) [PREFIX/share/mplayer]
216 --mandir=DIR directory for installing man pages [PREFIX/share/man]
217 --confdir=DIR directory for installing configuration files
219 --libdir=DIR directory for object code libraries [PREFIX/lib]
220 --codecsdir=DIR directory for binary codecs [LIBDIR/codecs]
223 --disable-mencoder disable MEncoder (A/V encoder) compilation [enable]
224 --disable-mplayer disable MPlayer compilation [enable]
225 --enable-gui enable GMPlayer compilation (GTK+ GUI) [disable]
226 --enable-gtk1 force using GTK 1.2 for the GUI [disable]
227 --disable-largefiles disable support for files > 2GB [enable]
228 --enable-linux-devfs set default devices to devfs [disable]
229 --enable-termcap use termcap database for key codes [autodetect]
230 --enable-termios use termios database for key codes [autodetect]
231 --disable-iconv disable iconv for encoding conversion [autodetect]
232 --disable-langinfo do not use langinfo [autodetect]
233 --enable-lirc enable LIRC (remote control) support [autodetect]
234 --enable-lircc enable LIRCCD (LIRC client daemon) input [autodetect]
235 --enable-joystick enable joystick support [disable]
236 --enable-apple-remote enable Apple Remote input (Mac OS X only) [autodetect]
237 --enable-apple-ir enable Apple IR Remote input (Linux only) [autodetect]
238 --disable-vm disable X video mode extensions [autodetect]
239 --disable-xf86keysym disable support for multimedia keys [autodetect]
240 --enable-radio enable radio interface [disable]
241 --enable-radio-capture enable radio capture (through PCI/line-in) [disable]
242 --disable-radio-v4l2 disable Video4Linux2 radio interface [autodetect]
243 --disable-radio-bsdbt848 disable BSD BT848 radio interface [autodetect]
244 --disable-tv disable TV interface (TV/DVB grabbers) [enable]
245 --disable-tv-v4l1 disable Video4Linux TV interface [autodetect]
246 --disable-tv-v4l2 disable Video4Linux2 TV interface [autodetect]
247 --disable-tv-bsdbt848 disable BSD BT848 interface [autodetect]
248 --disable-pvr disable Video4Linux2 MPEG PVR [autodetect]
249 --disable-rtc disable RTC (/dev/rtc) on Linux [autodetect]
250 --disable-network disable networking [enable]
251 --enable-winsock2_h enable winsock2_h [autodetect]
252 --enable-smb enable Samba (SMB) input [autodetect]
253 --enable-live enable LIVE555 Streaming Media [autodetect]
254 --enable-nemesi enable Nemesi Streaming Media [autodetect]
255 --disable-vcd disable VCD support [autodetect]
256 --disable-dvdnav disable libdvdnav [autodetect]
257 --disable-dvdread disable libdvdread [autodetect]
258 --disable-dvdread-internal disable internal libdvdread [autodetect]
259 --disable-libdvdcss-internal disable internal libdvdcss [autodetect]
260 --disable-cdparanoia disable cdparanoia [autodetect]
261 --disable-cddb disable cddb [autodetect]
262 --disable-bitmap-font disable bitmap font support [enable]
263 --disable-freetype disable FreeType 2 font rendering [autodetect]
264 --disable-fontconfig disable fontconfig font lookup [autodetect]
265 --disable-unrarexec disable using of UnRAR executable [enabled]
266 --enable-menu enable OSD menu (not DVD menu) [disabled]
267 --disable-sortsub disable subtitle sorting [enabled]
268 --enable-fribidi enable the FriBiDi libs [autodetect]
269 --disable-enca disable ENCA charset oracle library [autodetect]
270 --disable-maemo disable maemo specific features [autodetect]
271 --enable-macosx-finder enable Mac OS X Finder invocation parameter
273 --enable-macosx-bundle enable Mac OS X bundle file locations [autodetect]
274 --disable-inet6 disable IPv6 support [autodetect]
275 --disable-gethostbyname2 gethostbyname2 part of the C library [autodetect]
276 --disable-ftp disable FTP support [enabled]
277 --disable-vstream disable TiVo vstream client support [autodetect]
278 --disable-pthreads disable Posix threads support [autodetect]
279 --disable-w32threads disable Win32 threads support [autodetect]
280 --disable-ass-internal disable internal SSA/ASS subtitle support [autodetect]
281 --disable-ass disable SSA/ASS subtitle support [autodetect]
282 --enable-rpath enable runtime linker path for extra libs [disabled]
285 --enable-gif enable GIF support [autodetect]
286 --enable-png enable PNG input/output support [autodetect]
287 --enable-mng enable MNG input support [autodetect]
288 --enable-jpeg enable JPEG input/output support [autodetect]
289 --enable-libcdio enable libcdio support [autodetect]
290 --enable-liblzo enable liblzo support [autodetect]
291 --disable-win32dll disable Win32 DLL support [autodetect]
292 --disable-qtx disable QuickTime codecs support [enabled]
293 --disable-xanim disable XAnim codecs support [enabled]
294 --disable-real disable RealPlayer codecs support [enabled]
295 --disable-xvid disable Xvid [autodetect]
296 --disable-xvid-lavc disable Xvid in libavcodec [autodetect]
297 --disable-x264 disable x264 [autodetect]
298 --disable-x264-lavc disable x264 in libavcodec [autodetect]
299 --disable-libdirac-lavc disable Dirac in libavcodec [autodetect]
300 --disable-libschroedinger-lavc disable Dirac in libavcodec (Schroedinger
301 decoder) [autodetect]
302 --disable-libnut disable libnut [autodetect]
303 --disable-libavutil_a disable static libavutil [autodetect]
304 --disable-libavcodec_a disable static libavcodec [autodetect]
305 --disable-libavformat_a disable static libavformat [autodetect]
306 --disable-libpostproc_a disable static libpostproc [autodetect]
307 --disable-libswscale_a disable static libswscale [autodetect]
308 --disable-libavutil_so disable shared libavutil [autodetect]
309 --disable-libavcodec_so disable shared libavcodec [autodetect]
310 --disable-libavformat_so disable shared libavformat [autodetect]
311 --disable-libpostproc_so disable shared libpostproc [autodetect]
312 --disable-libswscale_so disable shared libswscale [autodetect]
313 --disable-libavcodec_mpegaudio_hp disable high precision audio decoding
314 in libavcodec [enabled]
315 --disable-tremor-internal disable internal Tremor [enabled]
316 --enable-tremor-low enable lower accuracy internal Tremor [disabled]
317 --enable-tremor enable external Tremor [autodetect]
318 --disable-libvorbis disable libvorbis support [autodetect]
319 --disable-speex disable Speex support [autodetect]
320 --enable-theora enable OggTheora libraries [autodetect]
321 --enable-faad enable external FAAD2 (AAC) [autodetect]
322 --disable-faad-internal disable internal FAAD2 (AAC) [autodetect]
323 --enable-faad-fixed enable fixed-point mode in internal FAAD2 [disabled]
324 --disable-faac disable support for FAAC (AAC encoder) [autodetect]
325 --disable-faac-lavc disable support for FAAC in libavcodec [autodetect]
326 --disable-ladspa disable LADSPA plugin support [autodetect]
327 --disable-libbs2b disable libbs2b audio filter support [autodetect]
328 --disable-libdv disable libdv 0.9.5 en/decoding support [autodetect]
329 --disable-mad disable libmad (MPEG audio) support [autodetect]
330 --disable-mp3lame disable LAME MP3 encoding support [autodetect]
331 --disable-mp3lame-lavc disable LAME in libavcodec [autodetect]
332 --disable-toolame disable Toolame (MPEG layer 2) encoding [autodetect]
333 --disable-twolame disable Twolame (MPEG layer 2) encoding [autodetect]
334 --enable-xmms enable XMMS input plugin support [disabled]
335 --enable-libdca enable libdca support [autodetect]
336 --disable-mp3lib disable builtin mp3lib [autodetect]
337 --disable-liba52 disable liba52 [autodetect]
338 --enable-liba52-internal enable builtin liba52 [disabled]
339 --disable-libmpeg2 disable builtin libmpeg2 [autodetect]
340 --disable-musepack disable musepack support [autodetect]
341 --disable-libopencore_amrnb disable libopencore_amr narrowband [autodetect]
342 --disable-libopencore_amrwb disable libopencore_amr wideband [autodetect]
343 --disable-libopenjpeg disable OpenJPEG (JPEG2000) input/output support [autodetect]
344 --disable-decoder=DECODER disable specified FFmpeg decoder
345 --enable-decoder=DECODER enable specified FFmpeg decoder
346 --disable-encoder=ENCODER disable specified FFmpeg encoder
347 --enable-encoder=ENCODER enable specified FFmpeg encoder
348 --disable-parser=PARSER disable specified FFmpeg parser
349 --enable-parser=PARSER enable specified FFmpeg parser
350 --disable-protocol=PROTO disable specified FFmpeg protocol
351 --enable-protocol=PROTO enable specified FFmpeg protocol
352 --disable-demuxer=DEMUXER disable specified FFmpeg demuxer
353 --enable-demuxer=DEMUXER enable specified FFmpeg demuxer
354 --disable-muxer=MUXER disable specified FFmpeg muxer
355 --enable-muxer=MUXER enable specified FFmpeg muxer
358 --disable-vidix disable VIDIX [for x86 *nix]
359 --with-vidix-drivers[=*] list of VIDIX drivers to be compiled in
360 Available: cyberblade,ivtv,mach64,mga,mga_crtc2,
361 nvidia,pm2,pm3,radeon,rage128,s3,sis,unichrome
362 --disable-vidix-pcidb disable VIDIX PCI device name database
363 --enable-dhahelper enable VIDIX dhahelper support
364 --enable-svgalib_helper enable VIDIX svgalib_helper support
365 --enable-gl enable OpenGL video output [autodetect]
366 --disable-matrixview disable OpenGL MatrixView video output [autodetect]
367 --enable-dga2 enable DGA 2 support [autodetect]
368 --enable-dga1 enable DGA 1 support [autodetect]
369 --enable-vesa enable VESA video output [autodetect]
370 --enable-svga enable SVGAlib video output [autodetect]
371 --enable-sdl enable SDL video output [autodetect]
372 --enable-kva enable KVA video output [autodetect]
373 --enable-aa enable AAlib video output [autodetect]
374 --enable-caca enable CACA video output [autodetect]
375 --enable-ggi enable GGI video output [autodetect]
376 --enable-ggiwmh enable GGI libggiwmh extension [autodetect]
377 --enable-direct3d enable Direct3D video output [autodetect]
378 --enable-directx enable DirectX video output [autodetect]
379 --enable-dxr2 enable DXR2 video output [autodetect]
380 --enable-dxr3 enable DXR3/H+ video output [autodetect]
381 --enable-ivtv enable IVTV TV-Out video output [autodetect]
382 --enable-v4l2 enable V4L2 Decoder audio/video output [autodetect]
383 --enable-dvb enable DVB video output [autodetect]
384 --enable-mga enable mga_vid video output [autodetect]
385 --enable-xmga enable mga_vid X11 video output [autodetect]
386 --enable-xv enable Xv video output [autodetect]
387 --enable-xvmc enable XvMC acceleration [disable]
388 --enable-vdpau enable VDPAU acceleration [autodetect]
389 --enable-vm enable XF86VidMode support [autodetect]
390 --enable-xinerama enable Xinerama support [autodetect]
391 --enable-x11 enable X11 video output [autodetect]
392 --enable-xshape enable XShape support [autodetect]
393 --disable-xss disable screensaver support via xss [autodetect]
394 --enable-fbdev enable FBDev video output [autodetect]
395 --enable-mlib enable mediaLib video output (Solaris) [disable]
396 --enable-3dfx enable obsolete /dev/3dfx video output [disable]
397 --enable-tdfxfb enable tdfxfb video output [disable]
398 --enable-s3fb enable s3fb (S3 ViRGE) video output [disable]
399 --enable-wii enable Nintendo Wii/GameCube video output [disable]
400 --enable-directfb enable DirectFB video output [autodetect]
401 --enable-zr enable ZR360[56]7/ZR36060 video output [autodetect]
402 --enable-bl enable Blinkenlights video output [disable]
403 --enable-tdfxvid enable tdfx_vid video output [disable]
404 --enable-xvr100 enable SUN XVR-100 video output [autodetect]
405 --disable-tga disable Targa video output [enable]
406 --disable-pnm disable PNM video output [enable]
407 --disable-md5sum disable md5sum video output [enable]
408 --disable-yuv4mpeg disable yuv4mpeg video output [enable]
409 --disable-corevideo disable CoreVideo video output [autodetect]
410 --disable-quartz disable Quartz video output [autodetect]
413 --disable-alsa disable ALSA audio output [autodetect]
414 --disable-ossaudio disable OSS audio output [autodetect]
415 --disable-arts disable aRts audio output [autodetect]
416 --disable-esd disable esd audio output [autodetect]
417 --disable-pulse disable Pulseaudio audio output [autodetect]
418 --disable-jack disable JACK audio output [autodetect]
419 --disable-openal disable OpenAL audio output [autodetect]
420 --disable-nas disable NAS audio output [autodetect]
421 --disable-sgiaudio disable SGI audio output [autodetect]
422 --disable-sunaudio disable Sun audio output [autodetect]
423 --disable-kai disable KAI audio output [autodetect]
424 --disable-dart disable DART audio output [autodetect]
425 --disable-win32waveout disable Windows waveout audio output [autodetect]
426 --disable-coreaudio disable CoreAudio audio output [autodetect]
427 --disable-select disable using select() on the audio device [enable]
430 --charset=charset convert the console messages to this character set
431 --language-doc=lang language to use for the documentation [en]
432 --language-man=lang language to use for the man pages [en]
433 --language-msg=lang language to use for the messages and the GUI [en]
434 --language=lang default language to use [en]
435 Specific options override --language. You can pass a list of languages separated
436 by whitespace or commas instead of a single language. Nonexisting translations
437 will be dropped from each list. All documentation and man page translations
438 available in the list will be installed, for the messages the first available
439 translation will be used. The value "all" will activate all translations. The
440 LINGUAS environment variable is honored. In all cases the fallback is English.
441 Available values are: all $msg_lang_all
443 Miscellaneous options:
444 --enable-runtime-cpudetection enable runtime CPU detection [disable]
445 --enable-cross-compile enable cross-compilation [autodetect]
446 --cc=COMPILER C compiler to build MPlayer [gcc]
447 --host-cc=COMPILER C compiler for tools needed while building [gcc]
448 --as=ASSEMBLER assembler to build MPlayer [as]
449 --nm=NM nm tool to build MPlayer [nm]
450 --yasm=YASM Yasm assembler to build MPlayer [yasm]
451 --ar=AR librarian to build MPlayer [ar]
452 --ranlib=RANLIB ranlib to build MPlayer [ranlib]
453 --windres=WINDRES windres to build MPlayer [windres]
454 --target=PLATFORM target platform (i386-linux, arm-linux, etc)
455 --enable-static build a statically linked binary
456 --with-install=PATH path to a custom install program
459 --enable-mmx enable MMX [autodetect]
460 --enable-mmxext enable MMX2 (Pentium III, Athlon) [autodetect]
461 --enable-3dnow enable 3DNow! [autodetect]
462 --enable-3dnowext enable extended 3DNow! [autodetect]
463 --enable-sse enable SSE [autodetect]
464 --enable-sse2 enable SSE2 [autodetect]
465 --enable-ssse3 enable SSSE3 [autodetect]
466 --enable-shm enable shm [autodetect]
467 --enable-altivec enable AltiVec (PowerPC) [autodetect]
468 --enable-armv5te enable DSP extensions (ARM) [autodetect]
469 --enable-armv6 enable ARMv6 (ARM) [autodetect]
470 --enable-armv6t2 enable ARMv6t2 (ARM) [autodetect]
471 --enable-armvfp enable ARM VFP (ARM) [autodetect]
472 --enable-neon enable NEON (ARM) [autodetect]
473 --enable-iwmmxt enable iWMMXt (ARM) [autodetect]
474 --disable-fastmemcpy disable 3DNow!/SSE/MMX optimized memcpy [enable]
475 --enable-hardcoded-tables put tables in binary instead of calculating them at startup [disable]
476 --enable-big-endian force byte order to big-endian [autodetect]
477 --enable-debug[=1-3] compile-in debugging information [disable]
478 --enable-profile compile-in profiling information [disable]
479 --disable-sighandler disable sighandler for crashes [enable]
480 --enable-crash-debug enable automatic gdb attach on crash [disable]
481 --enable-dynamic-plugins enable dynamic A/V plugins [disable]
483 Use these options if autodetection fails:
484 --extra-cflags=FLAGS extra CFLAGS
485 --extra-ldflags=FLAGS extra LDFLAGS
486 --extra-libs=FLAGS extra linker flags
487 --extra-libs-mplayer=FLAGS extra linker flags for MPlayer
488 --extra-libs-mencoder=FLAGS extra linker flags for MEncoder
489 --with-xvmclib=NAME adapter-specific library name (e.g. XvMCNVIDIA)
491 --with-freetype-config=PATH path to freetype-config
492 --with-fribidi-config=PATH path to fribidi-config
493 --with-glib-config=PATH path to glib*-config
494 --with-gtk-config=PATH path to gtk*-config
495 --with-sdl-config=PATH path to sdl*-config
496 --with-dvdnav-config=PATH path to dvdnav-config
497 --with-dvdread-config=PATH path to dvdread-config
499 This configure script is NOT autoconf-based, even though its output is similar.
500 It will try to autodetect all configuration options. If you --enable an option
501 it will be forcefully turned on, skipping autodetection. This can break
502 compilation, so you need to know what you are doing.
507 # GOTCHA: the variables below defines the default behavior for autodetection
508 # and have - unless stated otherwise - at least 2 states : yes no
509 # If autodetection is available then the third state is: auto
533 test "$CC" && _cc
="$CC"
537 _runtime_cpudetection
=no
543 _libopencore_amrnb
=auto
544 _libopencore_amrwb
=auto
546 _libavdecoders_all
=$
(sed -n 's/^[^#]*DEC.*(.*, *\(.*\)).*/\1_decoder/p' libavcodec
/allcodecs.c |
tr '[a-z]' '[A-Z]')
547 _libavdecoders
=$
(echo $_libavdecoders_all |
sed -e 's/ LIB[A-Z0-9_]*_DECODER//g' -e s
/MPEG4AAC_DECODER
//)
548 _libavencoders_all
=$
(sed -n 's/^[^#]*ENC.*(.*, *\(.*\)).*/\1_encoder/p' libavcodec
/allcodecs.c |
tr '[a-z]' '[A-Z]')
549 _libavencoders
=$
(echo $_libavencoders_all |
sed -e 's/ LIB[A-Z0-9_]*_ENCODER//g' -e s
/AAC_ENCODER
//)
550 _libavparsers_all
=$
(sed -n 's/^[^#]*PARSER.*(.*, *\(.*\)).*/\1_parser/p' libavcodec
/allcodecs.c |
tr '[a-z]' '[A-Z]')
551 _libavparsers
=$_libavparsers_all
552 _libavbsfs_all
=$
(sed -n 's/^[^#]*BSF.*(.*, *\(.*\)).*/\1_bsf/p' libavcodec
/allcodecs.c |
tr '[a-z]' '[A-Z]')
553 _libavbsfs
=$_libavbsfs_all
554 _libavhwaccels_all
=$
(sed -n 's/^[^#]*HWACCEL.*(.*, *\(.*\)).*/\1_hwaccel/p' libavcodec
/allcodecs.c |
tr '[a-z]' '[A-Z]')
555 # Disable all hardware accelerators for now.
557 _libavdemuxers_all
=$
(sed -n 's/^[^#]*DEMUX.*(.*, *\(.*\)).*/\1_demuxer/p' libavformat
/allformats.c |
tr '[a-z]' '[A-Z]')
558 _libavdemuxers
=$
(echo $_libavdemuxers_all |
sed -e 's/ LIB[A-Z0-9_]*_DEMUXER//g' -e s
/REDIR_DEMUXER
// -e s
/AVISYNTH_DEMUXER
//)
559 _libavmuxers_all
=$
(sed -n 's/^[^#]*_MUX.*(.*, *\(.*\)).*/\1_muxer/p' libavformat
/allformats.c |
tr '[a-z]' '[A-Z]')
560 _libavmuxers
=$
(echo $_libavmuxers_all |
sed -e 's/ LIB[A-Z0-9_]*_MUXER//g' -e s
/RTP_MUXER
// -e s
/RTSP_MUXER
//)
561 _libavprotocols_all
=$
(sed -n 's/^[^#]*PROTOCOL.*(.*, *\(.*\)).*/\1_protocol/p' libavformat
/allformats.c |
tr '[a-z]' '[A-Z]')
562 _libavprotocols
=$_libavprotocols_all
570 _libavcodec_mpegaudio_hp
=yes
579 _xvmc
=no
#auto when complete
647 _dvdnavconfig
=dvdnav-config
648 _dvdreadconfig
=dvdread-config
650 _dvdread_internal
=auto
651 _libdvdcss_internal
=auto
662 _mlib
=no
#broken, thus disabled
684 _struct_addrinfo
=auto
686 _struct_sockaddr_storage
=auto
698 _libschroedinger_lavc
=auto
743 _freetypeconfig
='freetype-config'
745 _fribidiconfig
='fribidi-config'
760 def_dos_paths
="#define HAVE_DOS_PATHS 0"
761 def_stream_cache
="#define CONFIG_STREAM_CACHE 1"
762 def_priority
="#undef CONFIG_PRIORITY"
763 def_pthread_cache
="#undef PTHREAD_CACHE"
771 _prefix
=$
(echo $ac_option | cut
-d '=' -f 2)
774 _bindir
=$
(echo $ac_option | cut
-d '=' -f 2)
777 _datadir
=$
(echo $ac_option | cut
-d '=' -f 2)
780 _mandir
=$
(echo $ac_option | cut
-d '=' -f 2)
783 _confdir
=$
(echo $ac_option | cut
-d '=' -f 2)
786 _libdir
=$
(echo $ac_option | cut
-d '=' -f 2)
789 _codecsdir
=$
(echo $ac_option | cut
-d '=' -f 2)
793 _install
=$
(echo $ac_option | cut
-d '=' -f 2 )
796 _xvmclib
=$
(echo $ac_option | cut
-d '=' -f 2)
800 _sdlconfig
=$
(echo $ac_option | cut
-d '=' -f 2)
802 --with-freetype-config=*)
803 _freetypeconfig
=$
(echo $ac_option | cut
-d '=' -f 2)
805 --with-fribidi-config=*)
806 _fribidiconfig
=$
(echo $ac_option | cut
-d '=' -f 2)
809 _gtkconfig
=$
(echo $ac_option | cut
-d '=' -f 2)
811 --with-glib-config=*)
812 _glibconfig
=$
(echo $ac_option | cut
-d '=' -f 2)
814 --with-dvdnav-config=*)
815 _dvdnavconfig
=$
(echo $ac_option | cut
-d '=' -f 2)
817 --with-dvdread-config=*)
818 _dvdreadconfig
=$
(echo $ac_option | cut
-d '=' -f 2)
822 extra_cflags
=$
(echo $ac_option | cut
-d '=' -f 2-)
825 extra_ldflags
=$
(echo $ac_option | cut
-d '=' -f 2-)
828 extra_libs
=$
(echo $ac_option | cut
-d '=' -f 2)
830 --extra-libs-mplayer=*)
831 libs_mplayer
=$
(echo $ac_option | cut
-d '=' -f 2)
833 --extra-libs-mencoder=*)
834 libs_mencoder
=$
(echo $ac_option | cut
-d '=' -f 2)
838 _target
=$
(echo $ac_option | cut
-d '=' -f 2)
841 _cc
=$
(echo $ac_option | cut
-d '=' -f 2)
844 _host_cc
=$
(echo $ac_option | cut
-d '=' -f 2)
847 _as
=$
(echo $ac_option | cut
-d '=' -f 2)
850 _nm
=$
(echo $ac_option | cut
-d '=' -f 2)
853 _yasm
=$
(echo $ac_option | cut
-d '=' -f 2)
856 _ar
=$
(echo $ac_option | cut
-d '=' -f 2)
859 _ranlib
=$
(echo $ac_option | cut
-d '=' -f 2)
862 _windres
=$
(echo $ac_option | cut
-d '=' -f 2)
865 _charset
=$
(echo $ac_option | cut
-d '=' -f 2)
868 language_doc
=$
(echo $ac_option | cut
-d '=' -f 2)
871 language_man
=$
(echo $ac_option | cut
-d '=' -f 2)
874 language_msg
=$
(echo $ac_option | cut
-d '=' -f 2)
877 language
=$
(echo $ac_option | cut
-d '=' -f 2)
896 _debug
=$
(echo $_echo_n '-g'$_echo_c; echo $ac_option | cut
-d '=' -f 2)
901 --enable-runtime-cpudetection) _runtime_cpudetection
=yes ;;
902 --disable-runtime-cpudetection) _runtime_cpudetection
=no
;;
903 --enable-cross-compile) _cross_compile
=yes ;;
904 --disable-cross-compile) _cross_compile
=no
;;
905 --enable-mencoder) _mencoder
=yes ;;
906 --disable-mencoder) _mencoder
=no
;;
907 --enable-mplayer) _mplayer
=yes ;;
908 --disable-mplayer) _mplayer
=no
;;
909 --enable-dynamic-plugins) _dynamic_plugins
=yes ;;
910 --disable-dynamic-plugins) _dynamic_plugins
=no
;;
911 --enable-x11) _x11
=yes ;;
912 --disable-x11) _x11
=no
;;
913 --enable-xshape) _xshape
=yes ;;
914 --disable-xshape) _xshape
=no
;;
915 --enable-xss) _xss
=yes ;;
916 --disable-xss) _xss
=no
;;
917 --enable-xv) _xv
=yes ;;
918 --disable-xv) _xv
=no
;;
919 --enable-xvmc) _xvmc
=yes ;;
920 --disable-xvmc) _xvmc
=no
;;
921 --enable-vdpau) _vdpau
=yes ;;
922 --disable-vdpau) _vdpau
=no
;;
923 --enable-sdl) _sdl
=yes ;;
924 --disable-sdl) _sdl
=no
;;
925 --enable-kva) _kva
=yes ;;
926 --disable-kva) _kva
=no
;;
927 --enable-direct3d) _direct3d
=yes ;;
928 --disable-direct3d) _direct3d
=no
;;
929 --enable-directx) _directx
=yes ;;
930 --disable-directx) _directx
=no
;;
931 --enable-win32waveout) _win32waveout
=yes ;;
932 --disable-win32waveout) _win32waveout
=no
;;
933 --enable-nas) _nas
=yes ;;
934 --disable-nas) _nas
=no
;;
935 --enable-png) _png
=yes ;;
936 --disable-png) _png
=no
;;
937 --enable-mng) _mng
=yes ;;
938 --disable-mng) _mng
=no
;;
939 --enable-jpeg) _jpeg
=yes ;;
940 --disable-jpeg) _jpeg
=no
;;
941 --enable-libopenjpeg) libopenjpeg
=yes ;;
942 --disable-libopenjpeg)libopenjpeg
=no
;;
943 --enable-pnm) _pnm
=yes ;;
944 --disable-pnm) _pnm
=no
;;
945 --enable-md5sum) _md5sum
=yes ;;
946 --disable-md5sum) _md5sum
=no
;;
947 --enable-yuv4mpeg) _yuv4mpeg
=yes ;;
948 --disable-yuv4mpeg) _yuv4mpeg
=no
;;
949 --enable-gif) _gif
=yes ;;
950 --disable-gif) _gif
=no
;;
951 --enable-gl) _gl
=yes ;;
952 --disable-gl) _gl
=no
;;
953 --enable-matrixview) matrixview
=yes ;;
954 --disable-matrixview) matrixview
=no
;;
955 --enable-ggi) _ggi
=yes ;;
956 --disable-ggi) _ggi
=no
;;
957 --enable-ggiwmh) _ggiwmh
=yes ;;
958 --disable-ggiwmh) _ggiwmh
=no
;;
959 --enable-aa) _aa
=yes ;;
960 --disable-aa) _aa
=no
;;
961 --enable-caca) _caca
=yes ;;
962 --disable-caca) _caca
=no
;;
963 --enable-svga) _svga
=yes ;;
964 --disable-svga) _svga
=no
;;
965 --enable-vesa) _vesa
=yes ;;
966 --disable-vesa) _vesa
=no
;;
967 --enable-fbdev) _fbdev
=yes ;;
968 --disable-fbdev) _fbdev
=no
;;
969 --enable-dvb) _dvb
=yes ;;
970 --disable-dvb) _dvb
=no
;;
971 --enable-dxr2) _dxr2
=yes ;;
972 --disable-dxr2) _dxr2
=no
;;
973 --enable-dxr3) _dxr3
=yes ;;
974 --disable-dxr3) _dxr3
=no
;;
975 --enable-ivtv) _ivtv
=yes ;;
976 --disable-ivtv) _ivtv
=no
;;
977 --enable-v4l2) _v4l2
=yes ;;
978 --disable-v4l2) _v4l2
=no
;;
979 --enable-iconv) _iconv
=yes ;;
980 --disable-iconv) _iconv
=no
;;
981 --enable-langinfo) _langinfo
=yes ;;
982 --disable-langinfo) _langinfo
=no
;;
983 --enable-rtc) _rtc
=yes ;;
984 --disable-rtc) _rtc
=no
;;
985 --enable-libdv) _libdv
=yes ;;
986 --disable-libdv) _libdv
=no
;;
987 --enable-ossaudio) _ossaudio
=yes ;;
988 --disable-ossaudio) _ossaudio
=no
;;
989 --enable-arts) _arts
=yes ;;
990 --disable-arts) _arts
=no
;;
991 --enable-esd) _esd
=yes ;;
992 --disable-esd) _esd
=no
;;
993 --enable-pulse) _pulse
=yes ;;
994 --disable-pulse) _pulse
=no
;;
995 --enable-jack) _jack
=yes ;;
996 --disable-jack) _jack
=no
;;
997 --enable-openal) _openal
=yes ;;
998 --disable-openal) _openal
=no
;;
999 --enable-kai) _kai
=yes ;;
1000 --disable-kai) _kai
=no
;;
1001 --enable-dart) _dart
=yes ;;
1002 --disable-dart) _dart
=no
;;
1003 --enable-mad) _mad
=yes ;;
1004 --disable-mad) _mad
=no
;;
1005 --enable-mp3lame) _mp3lame
=yes ;;
1006 --disable-mp3lame) _mp3lame
=no
;;
1007 --enable-mp3lame-lavc) _mp3lame_lavc
=yes ;;
1008 --disable-mp3lame-lavc) _mp3lame_lavc
=no
;;
1009 --enable-toolame) _toolame
=yes ;;
1010 --disable-toolame) _toolame
=no
;;
1011 --enable-twolame) _twolame
=yes ;;
1012 --disable-twolame) _twolame
=no
;;
1013 --enable-libcdio) _libcdio
=yes ;;
1014 --disable-libcdio) _libcdio
=no
;;
1015 --enable-liblzo) _liblzo
=yes ;;
1016 --disable-liblzo) _liblzo
=no
;;
1017 --enable-libvorbis) _libvorbis
=yes ;;
1018 --disable-libvorbis) _libvorbis
=no
;;
1019 --enable-speex) _speex
=yes ;;
1020 --disable-speex) _speex
=no
;;
1021 --enable-tremor) _tremor
=yes ;;
1022 --disable-tremor) _tremor
=no
;;
1023 --enable-tremor-internal) _tremor_internal
=yes ;;
1024 --disable-tremor-internal) _tremor_internal
=no
;;
1025 --enable-tremor-low) _tremor_low
=yes ;;
1026 --disable-tremor-low) _tremor_low
=no
;;
1027 --enable-theora) _theora
=yes ;;
1028 --disable-theora) _theora
=no
;;
1029 --enable-mp3lib) _mp3lib
=yes ;;
1030 --disable-mp3lib) _mp3lib
=no
;;
1031 --enable-liba52-internal) _liba52_internal
=yes ;;
1032 --disable-liba52-internal) _liba52_internal
=no
;;
1033 --enable-liba52) _liba52
=yes ;;
1034 --disable-liba52) _liba52
=no
;;
1035 --enable-libdca) _libdca
=yes ;;
1036 --disable-libdca) _libdca
=no
;;
1037 --enable-libmpeg2) _libmpeg2
=yes ;;
1038 --disable-libmpeg2) _libmpeg2
=no
;;
1039 --enable-musepack) _musepack
=yes ;;
1040 --disable-musepack) _musepack
=no
;;
1041 --enable-faad) _faad
=yes ;;
1042 --disable-faad) _faad
=no
;;
1043 --enable-faad-internal) _faad_internal
=yes ;;
1044 --disable-faad-internal) _faad_internal
=no
;;
1045 --enable-faad-fixed) _faad_fixed
=yes ;;
1046 --disable-faad-fixed) _faad_fixed
=no
;;
1047 --enable-faac) _faac
=yes ;;
1048 --disable-faac) _faac
=no
;;
1049 --enable-faac-lavc) _faac_lavc
=yes ;;
1050 --disable-faac-lavc) _faac_lavc
=no
;;
1051 --enable-ladspa) _ladspa
=yes ;;
1052 --disable-ladspa) _ladspa
=no
;;
1053 --enable-libbs2b) _libbs2b
=yes ;;
1054 --disable-libbs2b) _libbs2b
=no
;;
1055 --enable-xmms) _xmms
=yes ;;
1056 --disable-xmms) _xmms
=no
;;
1057 --enable-vcd) _vcd
=yes ;;
1058 --disable-vcd) _vcd
=no
;;
1059 --enable-dvdread) _dvdread
=yes ;;
1060 --disable-dvdread) _dvdread
=no
;;
1061 --enable-dvdread-internal) _dvdread_internal
=yes ;;
1062 --disable-dvdread-internal) _dvdread_internal
=no
;;
1063 --enable-libdvdcss-internal) _libdvdcss_internal
=yes ;;
1064 --disable-libdvdcss-internal) _libdvdcss_internal
=no
;;
1065 --enable-dvdnav) _dvdnav
=yes ;;
1066 --disable-dvdnav) _dvdnav
=no
;;
1067 --enable-xanim) _xanim
=yes ;;
1068 --disable-xanim) _xanim
=no
;;
1069 --enable-real) _real
=yes ;;
1070 --disable-real) _real
=no
;;
1071 --enable-live) _live
=yes ;;
1072 --disable-live) _live
=no
;;
1073 --enable-nemesi) _nemesi
=yes ;;
1074 --disable-nemesi) _nemesi
=no
;;
1075 --enable-xinerama) _xinerama
=yes ;;
1076 --disable-xinerama) _xinerama
=no
;;
1077 --enable-mga) _mga
=yes ;;
1078 --disable-mga) _mga
=no
;;
1079 --enable-xmga) _xmga
=yes ;;
1080 --disable-xmga) _xmga
=no
;;
1081 --enable-vm) _vm
=yes ;;
1082 --disable-vm) _vm
=no
;;
1083 --enable-xf86keysym) _xf86keysym
=yes ;;
1084 --disable-xf86keysym) _xf86keysym
=no
;;
1085 --enable-mlib) _mlib
=yes ;;
1086 --disable-mlib) _mlib
=no
;;
1087 --enable-sunaudio) _sunaudio
=yes ;;
1088 --disable-sunaudio) _sunaudio
=no
;;
1089 --enable-sgiaudio) _sgiaudio
=yes ;;
1090 --disable-sgiaudio) _sgiaudio
=no
;;
1091 --enable-alsa) _alsa
=yes ;;
1092 --disable-alsa) _alsa
=no
;;
1093 --enable-tv) _tv
=yes ;;
1094 --disable-tv) _tv
=no
;;
1095 --enable-tv-bsdbt848) _tv_bsdbt848
=yes ;;
1096 --disable-tv-bsdbt848) _tv_bsdbt848
=no
;;
1097 --enable-tv-v4l1) _tv_v4l1
=yes ;;
1098 --disable-tv-v4l1) _tv_v4l1
=no
;;
1099 --enable-tv-v4l2) _tv_v4l2
=yes ;;
1100 --disable-tv-v4l2) _tv_v4l2
=no
;;
1101 --enable-tv-dshow) _tv_dshow
=yes ;;
1102 --disable-tv-dshow) _tv_dshow
=no
;;
1103 --enable-radio) _radio
=yes ;;
1104 --enable-radio-capture) _radio_capture
=yes ;;
1105 --disable-radio-capture) _radio_capture
=no
;;
1106 --disable-radio) _radio
=no
;;
1107 --enable-radio-v4l) _radio_v4l
=yes ;;
1108 --disable-radio-v4l) _radio_v4l
=no
;;
1109 --enable-radio-v4l2) _radio_v4l2
=yes ;;
1110 --disable-radio-v4l2) _radio_v4l2
=no
;;
1111 --enable-radio-bsdbt848) _radio_bsdbt848
=yes ;;
1112 --disable-radio-bsdbt848) _radio_bsdbt848
=no
;;
1113 --enable-pvr) _pvr
=yes ;;
1114 --disable-pvr) _pvr
=no
;;
1115 --enable-fastmemcpy) _fastmemcpy
=yes ;;
1116 --disable-fastmemcpy) _fastmemcpy
=no
;;
1117 --enable-hardcoded-tables) hardcoded_tables
=yes ;;
1118 --disable-hardcoded-tables) hardcoded_tables
=no
;;
1119 --enable-network) _network
=yes ;;
1120 --disable-network) _network
=no
;;
1121 --enable-winsock2_h) _winsock2_h
=yes ;;
1122 --disable-winsock2_h) _winsock2_h
=no
;;
1123 --enable-smb) _smb
=yes ;;
1124 --disable-smb) _smb
=no
;;
1125 --enable-vidix) _vidix
=yes ;;
1126 --disable-vidix) _vidix
=no
;;
1127 --with-vidix-drivers=*)
1128 _vidix_drivers
=$
(echo $ac_option | cut
-d '=' -f 2)
1130 --disable-vidix-pcidb) _vidix_pcidb
=no
;;
1131 --enable-dhahelper) _dhahelper
=yes ;;
1132 --disable-dhahelper) _dhahelper
=no
;;
1133 --enable-svgalib_helper) _svgalib_helper
=yes ;;
1134 --disable-svgalib_helper) _svgalib_helper
=no
;;
1135 --enable-joystick) _joystick
=yes ;;
1136 --disable-joystick) _joystick
=no
;;
1137 --enable-xvid) _xvid
=yes ;;
1138 --disable-xvid) _xvid
=no
;;
1139 --enable-xvid-lavc) _xvid_lavc
=yes ;;
1140 --disable-xvid-lavc) _xvid_lavc
=no
;;
1141 --enable-x264) _x264
=yes ;;
1142 --disable-x264) _x264
=no
;;
1143 --enable-x264-lavc) _x264_lavc
=yes ;;
1144 --disable-x264-lavc) _x264_lavc
=no
;;
1145 --enable-libdirac-lavc) _libdirac_lavc
=yes ;;
1146 --disable-libdirac-lavc) _libdirac_lavc
=no
;;
1147 --enable-libschroedinger-lavc) _libschroedinger_lavc
=yes ;;
1148 --disable-libschroedinger-lavc) _libschroedinger_lavc
=no
;;
1149 --enable-libnut) _libnut
=yes ;;
1150 --disable-libnut) _libnut
=no
;;
1151 --enable-libavutil_a) _libavutil_a
=yes ;;
1152 --disable-libavutil_a) _libavutil_a
=no
;;
1153 --enable-libavutil_so) _libavutil_so
=yes ;;
1154 --disable-libavutil_so) _libavutil_so
=no
;;
1155 --enable-libavcodec_a) _libavcodec_a
=yes ;;
1156 --disable-libavcodec_a) _libavcodec_a
=no
;;
1157 --enable-libavcodec_so) _libavcodec_so
=yes ;;
1158 --disable-libavcodec_so) _libavcodec_so
=no
;;
1159 --enable-libopencore_amrnb) _libopencore_amrnb
=yes ;;
1160 --disable-libopencore_amrnb) _libopencore_amrnb
=no
;;
1161 --enable-libopencore_amrwb) _libopencore_amrwb
=yes ;;
1162 --disable-libopencore_amrwb) _libopencore_amrwb
=no
;;
1163 --enable-decoder=*) _libavdecoders
="$_libavdecoders $(echo $ac_option | cut -d '=' -f 2 | tr '[a-z]' '[A-Z]')" ;;
1164 --disable-decoder=*) _libavdecoders
=$
(echo $_libavdecoders |
sed "s/$(echo $ac_option | cut -d '=' -f 2 | tr '[a-z]' '[A-Z]')//g") ;;
1165 --enable-encoder=*) _libavencoders
="$_libavencoders $(echo $ac_option | cut -d '=' -f 2 | tr '[a-z]' '[A-Z]')" ;;
1166 --disable-encoder=*) _libavencoders
=$
(echo $_libavencoders |
sed "s/$(echo $ac_option | cut -d '=' -f 2 | tr '[a-z]' '[A-Z]')//g") ;;
1167 --enable-parser=*) _libavparsers
="$_libavparsers $(echo $ac_option | cut -d '=' -f 2 | tr '[a-z]' '[A-Z]')" ;;
1168 --disable-parser=*) _libavparsers
=$
(echo $_libavparsers |
sed "s/$(echo $ac_option | cut -d '=' -f 2 | tr '[a-z]' '[A-Z]')//g") ;;
1169 --enable-protocol=*) _libavprotocols
="$_libavprotocols $(echo $ac_option | cut -d '=' -f 2 | tr '[a-z]' '[A-Z]')" ;;
1170 --disable-protocol=*) _libavprotocols
=$
(echo $_libavprotocols |
sed "s/$(echo $ac_option | cut -d '=' -f 2 | tr '[a-z]' '[A-Z]')//g") ;;
1171 --enable-demuxer=*) _libavdemuxers
="$_libavdemuxers $(echo $ac_option | cut -d '=' -f 2 | tr '[a-z]' '[A-Z]')" ;;
1172 --disable-demuxer=*) _libavdemuxers
=$
(echo $_libavdemuxers |
sed "s/$(echo $ac_option | cut -d '=' -f 2 | tr '[a-z]' '[A-Z]')//g") ;;
1173 --enable-muxer=*) _libavmuxers
="$_libavmuxers $(echo $ac_option | cut -d '=' -f 2 | tr '[a-z]' '[A-Z]')" ;;
1174 --disable-muxer=*) _libavmuxers
=$
(echo $_libavmuxers |
sed "s/$(echo $ac_option | cut -d '=' -f 2 | tr '[a-z]' '[A-Z]')//g") ;;
1175 --enable-libavformat_a) _libavformat_a
=yes ;;
1176 --disable-libavformat_a) _libavformat_a
=no
;;
1177 --enable-libavformat_so) _libavformat_so
=yes ;;
1178 --disable-libavformat_so) _libavformat_so
=no
;;
1179 --enable-libpostproc_a) _libpostproc_a
=yes ;;
1180 --disable-libpostproc_a) _libpostproc_a
=no
;;
1181 --enable-libpostproc_so) _libpostproc_so
=yes ;;
1182 --disable-libpostproc_so) _libpostproc_so
=no
;;
1183 --enable-libswscale_a) _libswscale_a
=yes ;;
1184 --disable-libswscale_a) _libswscale_a
=no
;;
1185 --enable-libswscale_so) _libswscale_so
=yes ;;
1186 --disable-libswscale_so) _libswscale_so
=no
;;
1187 --enable-libavcodec_mpegaudio_hp) _libavcodec_mpegaudio_hp
=yes ;;
1188 --disable-libavcodec_mpegaudio_hp) _libavcodec_mpegaudio_hp
=no
;;
1190 --enable-lirc) _lirc
=yes ;;
1191 --disable-lirc) _lirc
=no
;;
1192 --enable-lircc) _lircc
=yes ;;
1193 --disable-lircc) _lircc
=no
;;
1194 --enable-apple-remote) _apple_remote
=yes ;;
1195 --disable-apple-remote) _apple_remote
=no
;;
1196 --enable-apple-ir) _apple_ir
=yes ;;
1197 --disable-apple-ir) _apple_ir
=no
;;
1198 --enable-gui) _gui
=yes ;;
1199 --disable-gui) _gui
=no
;;
1200 --enable-gtk1) _gtk1
=yes ;;
1201 --disable-gtk1) _gtk1
=no
;;
1202 --enable-termcap) _termcap
=yes ;;
1203 --disable-termcap) _termcap
=no
;;
1204 --enable-termios) _termios
=yes ;;
1205 --disable-termios) _termios
=no
;;
1206 --enable-3dfx) _3dfx
=yes ;;
1207 --disable-3dfx) _3dfx
=no
;;
1208 --enable-s3fb) _s3fb
=yes ;;
1209 --disable-s3fb) _s3fb
=no
;;
1210 --enable-wii) _wii
=yes ;;
1211 --disable-wii) _wii
=no
;;
1212 --enable-tdfxfb) _tdfxfb
=yes ;;
1213 --disable-tdfxfb) _tdfxfb
=no
;;
1214 --disable-tdfxvid) _tdfxvid
=no
;;
1215 --enable-tdfxvid) _tdfxvid
=yes ;;
1216 --disable-xvr100) _xvr100
=no
;;
1217 --enable-xvr100) _xvr100
=yes ;;
1218 --disable-tga) _tga
=no
;;
1219 --enable-tga) _tga
=yes ;;
1220 --enable-directfb) _directfb
=yes ;;
1221 --disable-directfb) _directfb
=no
;;
1222 --enable-zr) _zr
=yes ;;
1223 --disable-zr) _zr
=no
;;
1224 --enable-bl) _bl
=yes ;;
1225 --disable-bl) _bl
=no
;;
1226 --enable-mtrr) _mtrr
=yes ;;
1227 --disable-mtrr) _mtrr
=no
;;
1228 --enable-largefiles) _largefiles
=yes ;;
1229 --disable-largefiles) _largefiles
=no
;;
1230 --enable-shm) _shm
=yes ;;
1231 --disable-shm) _shm
=no
;;
1232 --enable-select) _select
=yes ;;
1233 --disable-select) _select
=no
;;
1234 --enable-linux-devfs) _linux_devfs
=yes ;;
1235 --disable-linux-devfs) _linux_devfs
=no
;;
1236 --enable-cdparanoia) _cdparanoia
=yes ;;
1237 --disable-cdparanoia) _cdparanoia
=no
;;
1238 --enable-cddb) _cddb
=yes ;;
1239 --disable-cddb) _cddb
=no
;;
1240 --enable-big-endian) _big_endian
=yes ;;
1241 --disable-big-endian) _big_endian
=no
;;
1242 --enable-bitmap-font) _bitmap_font
=yes ;;
1243 --disable-bitmap-font) _bitmap_font
=no
;;
1244 --enable-freetype) _freetype
=yes ;;
1245 --disable-freetype) _freetype
=no
;;
1246 --enable-fontconfig) _fontconfig
=yes ;;
1247 --disable-fontconfig) _fontconfig
=no
;;
1248 --enable-unrarexec) _unrar_exec
=yes ;;
1249 --disable-unrarexec) _unrar_exec
=no
;;
1250 --enable-ftp) _ftp
=yes ;;
1251 --disable-ftp) _ftp
=no
;;
1252 --enable-vstream) _vstream
=yes ;;
1253 --disable-vstream) _vstream
=no
;;
1254 --enable-pthreads) _pthreads
=yes ;;
1255 --disable-pthreads) _pthreads
=no
;;
1256 --enable-w32threads) _w32threads
=yes ;;
1257 --disable-w32threads) _w32threads
=no
;;
1258 --enable-ass) _ass
=yes ;;
1259 --disable-ass) _ass
=no
;;
1260 --enable-ass-internal) ass_internal
=yes ;;
1261 --disable-ass-internal) ass_internal
=no
;;
1262 --enable-rpath) _rpath
=yes ;;
1263 --disable-rpath) _rpath
=no
;;
1265 --enable-fribidi) _fribidi
=yes ;;
1266 --disable-fribidi) _fribidi
=no
;;
1268 --enable-enca) _enca
=yes ;;
1269 --disable-enca) _enca
=no
;;
1271 --enable-inet6) _inet6
=yes ;;
1272 --disable-inet6) _inet6
=no
;;
1274 --enable-gethostbyname2) _gethostbyname2
=yes ;;
1275 --disable-gethostbyname2) _gethostbyname2
=no
;;
1277 --enable-dga1) _dga1
=yes ;;
1278 --disable-dga1) _dga1
=no
;;
1279 --enable-dga2) _dga2
=yes ;;
1280 --disable-dga2) _dga2
=no
;;
1282 --enable-menu) _menu
=yes ;;
1283 --disable-menu) _menu
=no
;;
1285 --enable-qtx) _qtx
=yes ;;
1286 --disable-qtx) _qtx
=no
;;
1288 --enable-coreaudio) _coreaudio
=yes ;;
1289 --disable-coreaudio) _coreaudio
=no
;;
1290 --enable-corevideo) _corevideo
=yes ;;
1291 --disable-corevideo) _corevideo
=no
;;
1292 --enable-quartz) _quartz
=yes ;;
1293 --disable-quartz) _quartz
=no
;;
1294 --enable-macosx-finder) _macosx_finder
=yes ;;
1295 --disable-macosx-finder) _macosx_finder
=no
;;
1296 --enable-macosx-bundle) _macosx_bundle
=yes ;;
1297 --disable-macosx-bundle) _macosx_bundle
=no
;;
1299 --enable-maemo) _maemo
=yes ;;
1300 --disable-maemo) _maemo
=no
;;
1302 --enable-sortsub) _sortsub
=yes ;;
1303 --disable-sortsub) _sortsub
=no
;;
1305 --enable-crash-debug) _crash_debug
=yes ;;
1306 --disable-crash-debug) _crash_debug
=no
;;
1307 --enable-sighandler) _sighandler
=yes ;;
1308 --disable-sighandler) _sighandler
=no
;;
1309 --enable-win32dll) _win32dll
=yes ;;
1310 --disable-win32dll) _win32dll
=no
;;
1312 --enable-sse) _sse
=yes ;;
1313 --disable-sse) _sse
=no
;;
1314 --enable-sse2) _sse2
=yes ;;
1315 --disable-sse2) _sse2
=no
;;
1316 --enable-ssse3) _ssse3
=yes ;;
1317 --disable-ssse3) _ssse3
=no
;;
1318 --enable-mmxext) _mmxext
=yes ;;
1319 --disable-mmxext) _mmxext
=no
;;
1320 --enable-3dnow) _3dnow
=yes ;;
1321 --disable-3dnow) _3dnow
=no _3dnowext
=no
;;
1322 --enable-3dnowext) _3dnow
=yes _3dnowext
=yes ;;
1323 --disable-3dnowext) _3dnowext
=no
;;
1324 --enable-cmov) _cmov
=yes ;;
1325 --disable-cmov) _cmov
=no
;;
1326 --enable-fast-cmov) _fast_cmov
=yes ;;
1327 --disable-fast-cmov) _fast_cmov
=no
;;
1328 --enable-fast-clz) _fast_clz
=yes ;;
1329 --disable-fast-clz) _fast_clz
=no
;;
1330 --enable-altivec) _altivec
=yes ;;
1331 --disable-altivec) _altivec
=no
;;
1332 --enable-armv5te) _armv5te
=yes ;;
1333 --disable-armv5te) _armv5te
=no
;;
1334 --enable-armv6) _armv6
=yes ;;
1335 --disable-armv6) _armv6
=no
;;
1336 --enable-armv6t2) _armv6t2
=yes ;;
1337 --disable-armv6t2) _armv6t2
=no
;;
1338 --enable-armvfp) _armvfp
=yes ;;
1339 --disable-armvfp) _armvfp
=no
;;
1340 --enable-neon) neon
=yes ;;
1341 --disable-neon) neon
=no
;;
1342 --enable-iwmmxt) _iwmmxt
=yes ;;
1343 --disable-iwmmxt) _iwmmxt
=no
;;
1344 --enable-mmx) _mmx
=yes ;;
1345 --disable-mmx) # 3Dnow! and MMX2 require MMX
1346 _3dnow
=no _3dnowext
=no _mmx
=no _mmxext
=no
;;
1349 echo "Unknown parameter: $ac_option"
1356 # Atmos: moved this here, to be correct, if --prefix is specified
1357 test -z "$_bindir" && _bindir
="$_prefix/bin"
1358 test -z "$_datadir" && _datadir
="$_prefix/share/mplayer"
1359 test -z "$_mandir" && _mandir
="$_prefix/share/man"
1360 test -z "$_confdir" && _confdir
="$_prefix/etc/mplayer"
1361 test -z "$_libdir" && _libdir
="$_prefix/lib"
1363 # Determine our OS name and CPU architecture
1364 if test -z "$_target" ; then
1366 system_name
=$
(uname
-s 2>&1)
1367 case "$system_name" in
1368 Linux|FreeBSD|NetBSD|OpenBSD|DragonFly|BSD
/OS|Darwin|SunOS|QNX|GNU|BeOS|MorphOS|AIX|AmigaOS
)
1382 [cC
][yY
][gG
][wW
][iI
][nN
]*)
1392 system_name
="$system_name-UNKNOWN"
1397 # host's CPU/instruction set
1398 host_arch
=$
(uname
-p 2>&1)
1399 case "$host_arch" in
1400 i386|sparc|ppc|alpha|arm|mips|vax
)
1402 powerpc
) # Darwin returns 'powerpc'
1405 *) # uname -p on Linux returns 'unknown' for the processor type,
1406 # OpenBSD returns 'Intel Pentium/MMX ("Genuine Intel" 586-class)'
1408 # Maybe uname -m (machine hardware name) returns something we
1411 # x86/x86pc is used by QNX
1412 case "$(uname -m 2>&1)" in
1413 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
;;
1414 ia64
) host_arch
=ia64
;;
1415 macppc|ppc
) host_arch
=ppc
;;
1416 ppc64
) host_arch
=ppc64
;;
1417 alpha
) host_arch
=alpha
;;
1418 sparc
) host_arch
=sparc
;;
1419 sparc64
) host_arch
=sparc64
;;
1420 parisc
*|hppa
*|
9000*) host_arch
=hppa
;;
1421 arm
*|zaurus|cats
) host_arch
=arm
;;
1422 sh3|sh4|sh4a
) host_arch
=sh
;;
1423 s390
) host_arch
=s390
;;
1424 s390x
) host_arch
=s390x
;;
1425 *mips
*) host_arch
=mips
;;
1426 vax
) host_arch
=vax
;;
1427 xtensa
*) host_arch
=xtensa
;;
1428 *) host_arch
=UNKNOWN
;;
1432 else # if test -z "$_target"
1433 system_name
=$
(echo $_target | cut
-d '-' -f 2)
1434 case "$(echo $system_name | tr A-Z a-z)" in
1435 linux
) system_name
=Linux
;;
1436 freebsd
) system_name
=FreeBSD
;;
1437 gnu
/kfreebsd
) system_name
=FreeBSD
;;
1438 netbsd
) system_name
=NetBSD
;;
1439 bsd
/os
) system_name
=BSD
/OS
;;
1440 openbsd
) system_name
=OpenBSD
;;
1441 dragonfly
) system_name
=DragonFly
;;
1442 sunos
) system_name
=SunOS
;;
1443 qnx
) system_name
=QNX
;;
1444 morphos
) system_name
=MorphOS
;;
1445 amigaos
) system_name
=AmigaOS
;;
1446 mingw32
*) system_name
=MINGW32
;;
1448 # We need to convert underscores so that values like k6-2 and pentium-mmx can be passed
1449 host_arch
=$
(echo $_target | cut
-d '-' -f 1)
1450 if test $
(echo $host_arch) != "x86_64" ; then
1451 host_arch
=$
(echo $host_arch |
tr '_' '-')
1455 extra_cflags
="-I. $extra_cflags"
1456 _timer
=timer-linux.c
1459 extra_ldflags
="$extra_ldflags -L/usr/local/lib"
1460 extra_cflags
="$extra_cflags -I/usr/local/include"
1463 if netbsd || dragonfly
; then
1464 extra_ldflags
="$extra_ldflags -L/usr/pkg/lib"
1465 extra_cflags
="$extra_cflags -I/usr/pkg/include"
1469 extra_cflags
="-mdynamic-no-pic -falign-loops=16 -shared-libgcc $extra_cflags"
1470 _timer
=timer-darwin.c
1474 extra_ldflags
="$extra_ldflags -lC"
1485 extra_cflags
="$extra_cflags -fno-common"
1486 # -lwinmm is always needed for osdep/timer-win2.c
1487 extra_ldflags
="$extra_ldflags -lwinmm"
1491 def_dos_paths
="#define HAVE_DOS_PATHS 1"
1492 def_priority
="#define CONFIG_PRIORITY 1"
1504 def_stream_cache
="#undef CONFIG_STREAM_CACHE"
1505 extra_cflags
="-DNEWLIB -D__USE_INLINE__ $extra_cflags"
1509 extra_ldflags
="$extra_ldflags -lph"
1517 def_dos_paths
="#define HAVE_DOS_PATHS 1"
1518 def_priority
="#define CONFIG_PRIORITY 1"
1521 for I
in "$TMPDIR" "$TEMPDIR" "/tmp" ; do
1526 TMPLOG
="configure.log"
1527 TMPC
="$I/mplayer-conf-$RANDOM-$$.c"
1528 TMPCPP
="$I/mplayer-conf-$RANDOM-$$.cpp"
1529 TMPEXE
="$I/mplayer-conf-$RANDOM-$$$_exesuf"
1530 TMPH
="$I/mplayer-conf-$RANDOM-$$.h"
1531 TMPS
="$I/mplayer-conf-$RANDOM-$$.S"
1534 echo configuration
: $_configuration > "$TMPLOG"
1538 if test "$_runtime_cpudetection" = yes && ! x86
&& ! ppc
; then
1539 die
"Runtime CPU detection only works for x86, x86-64 and PPC!"
1543 # Checking CC version...
1544 # Intel C++ Compilers (no autoselect, use CC=/some/binary ./configure)
1545 if test "$(basename $_cc)" = "icc" ||
test "$(basename $_cc)" = "ecc"; then
1546 echocheck
"$_cc version"
1548 cc_name
=$
($_cc -V 2>&1 |
head -n 1 | cut
-d ',' -f 1)
1549 cc_version
=$
($_cc -V 2>&1 |
head -n 1 | cut
-d ',' -f 2 | cut
-d ' ' -f 3)
1550 _cc_major
=$
(echo $cc_version | cut
-d '.' -f 1)
1551 _cc_minor
=$
(echo $cc_version | cut
-d '.' -f 2)
1552 # TODO verify older icc/ecc compatibility
1555 cc_version
="v. ?.??, bad"
1559 cc_version
="$cc_version, ok"
1562 cc_version
="$cc_version, bad"
1566 echores
"$cc_version"
1568 for _cc
in "$_cc" gcc cc
; do
1569 cc_name_tmp
=$
($_cc -v 2>&1 |
tail -n 1 | cut
-d ' ' -f 1)
1570 if test "$cc_name_tmp" = "gcc"; then
1571 cc_name
=$cc_name_tmp
1572 echocheck
"$_cc version"
1574 cc_version
=$
($_cc -dumpversion 2>&1)
1580 _cc_major
=$
(echo $cc_version | cut
-d '.' -f 1)
1581 _cc_minor
=$
(echo $cc_version | cut
-d '.' -f 2)
1582 _cc_mini
=$
(echo $cc_version | cut
-d '.' -f 3)
1585 echores
"$cc_version"
1588 cc_name_tmp
=$
($_cc -V 2>&1 |
head -n 1 | cut
-d ' ' -f 2,3)
1589 if test "$cc_name_tmp" = "Sun C"; then
1590 echocheck
"$_cc version"
1592 cc_version
=$
($_cc -V 2>&1 |
head -n 1 | cut
-d ' ' -f 4)
1593 _res_comment
="experimental support only"
1594 echores
"Sun C $cc_version"
1599 test "$cc_fail" = yes && die
"unsupported compiler version"
1601 if test -z "$_target" && x86
; then
1604 int test[(int)sizeof(char *)-7];
1608 cc_check
&& host_arch
=x86_64 || host_arch
=i386
1611 echo "Detected operating system: $system_name"
1612 echo "Detected host architecture: $host_arch"
1615 test "$_host_cc" || _host_cc
=$_cc
1618 echocheck
"cross compilation"
1619 if test $_cross_compile = auto
; then
1621 int main(void) { return 0; }
1624 cc_check
&& "$TMPEXE" && _cross_compile
=no
1626 echores
$_cross_compile
1628 if test $_cross_compile = yes; then
1636 # now that we know what compiler should be used for compilation, try to find
1637 # out which assembler is used by the $_cc compiler
1638 if test "$_as" = auto
; then
1639 _as
=$
($_cc -print-prog-name=as
)
1640 test -z "$_as" && _as
=as
1643 if test "$_nm" = auto
; then
1644 _nm
=$
($_cc -print-prog-name=nm
)
1645 test -z "$_nm" && _nm
=nm
1648 # XXX: this should be ok..
1651 if test "$_runtime_cpudetection" = no
; then
1653 # Cygwin has /proc/cpuinfo, but only supports Intel CPUs
1654 # FIXME: Remove the cygwin check once AMD CPUs are supported
1655 if test -r /proc
/cpuinfo
&& ! cygwin
; then
1656 # Linux with /proc mounted, extract CPU information from it
1657 _cpuinfo
="cat /proc/cpuinfo"
1658 elif test -r /compat
/linux
/proc
/cpuinfo
&& ! x86
; then
1659 # FreeBSD with Linux emulation /proc mounted,
1660 # extract CPU information from it
1661 # Don't use it on x86 though, it never reports 3Dnow
1662 _cpuinfo
="cat /compat/linux/proc/cpuinfo"
1663 elif darwin
&& ! x86
; then
1664 # use hostinfo on Darwin
1667 # use 'lsattr' on AIX
1668 _cpuinfo
="lsattr -E -l proc0 -a type"
1670 # all other OSes try to extract CPU information from a small helper
1671 # program cpuinfo instead
1672 $_cc -o cpuinfo
$_exesuf cpuinfo.c
1673 _cpuinfo
="./cpuinfo$_exesuf"
1677 # gather more CPU information
1678 pname
=$
($_cpuinfo |
grep 'model name' | cut
-d ':' -f 2 |
head -n 1)
1679 pvendor
=$
($_cpuinfo |
grep 'vendor_id' | cut
-d ':' -f 2 | cut
-d ' ' -f 2 |
head -n 1)
1680 pfamily
=$
($_cpuinfo |
grep 'cpu family' | cut
-d ':' -f 2 | cut
-d ' ' -f 2 |
head -n 1)
1681 pmodel
=$
($_cpuinfo |
grep -v 'model name' |
grep 'model' | cut
-d ':' -f 2 | cut
-d ' ' -f 2 |
head -n 1)
1682 pstepping
=$
($_cpuinfo |
grep 'stepping' | cut
-d ':' -f 2 | cut
-d ' ' -f 2 |
head -n 1)
1684 exts
=$
($_cpuinfo |
egrep 'features|flags' | cut
-d ':' -f 2 |
head -n 1)
1686 pparam
=$
(echo $exts |
sed -e s
/k6_mtrr
/mtrr
/ -e s
/cyrix_arr
/mtrr
/ -e s
/centaur_mcr
/mtrr
/ \
1687 -e s
/xmm
/sse
/ -e s
/kni
/sse
/)
1689 for ext
in $pparam ; do
1690 eval test \"\
$_$ext\" = auto
2>/dev
/null
&& eval _
$ext=kernel_check
1693 # SSE implies MMX2, but not all SSE processors report the mmxext CPU flag.
1694 test $_sse = kernel_check
&& _mmxext
=kernel_check
1696 echocheck
"CPU vendor"
1697 echores
"$pvendor ($pfamily:$pmodel:$pstepping)"
1699 echocheck
"CPU type"
1703 fi # test "$_runtime_cpudetection" = no
1705 if x86
&& test "$_runtime_cpudetection" = no
; then
1707 if test "$1" = kernel_check
; then
1708 echocheck
"kernel support of $2"
1712 void catch() { exit(1); }
1714 signal(SIGILL, catch);
1715 __asm__ volatile ("$3":::"memory"); return 0;
1719 if cc_check
&& tmp_run
; then
1722 _optimizing
="$_optimizing $2"
1727 echo "It seems that your kernel does not correctly support $2."
1728 echo "To use $2 extensions in MPlayer, you have to upgrade/recompile your kernel!"
1735 extcheck
$_mmx "mmx" "emms"
1736 extcheck
$_mmxext "mmxext" "sfence"
1737 extcheck
$_3dnow "3dnow" "femms"
1738 extcheck
$_3dnowext "3dnowext" "pswapd %%mm0, %%mm0"
1739 extcheck
$_sse "sse" "xorps %%xmm0, %%xmm0" || _gcc3_ext
="$_gcc3_ext -mno-sse"
1740 extcheck
$_sse2 "sse2" "xorpd %%xmm0, %%xmm0" || _gcc3_ext
="$_gcc3_ext -mno-sse2"
1741 extcheck
$_ssse3 "ssse3" "pabsd %%xmm0, %%xmm0"
1742 extcheck
$_cmov "cmov" "cmovb %%eax,%%ebx"
1744 echocheck
"mtrr support"
1745 if test "$_mtrr" = kernel_check
; then
1747 _optimizing
="$_optimizing mtrr"
1751 if test "$_gcc3_ext" != ""; then
1752 # if we had to disable sse/sse2 because the active kernel does not
1753 # support this instruction set extension, we also have to tell
1754 # gcc3 to not generate sse/sse2 instructions for normal C code
1756 int main(void) { return 0; }
1758 cc_check
$_march $_gcc3_ext && _march
="$_march $_gcc3_ext"
1764 def_fast_64bit
='#define HAVE_FAST_64BIT 0'
1765 def_fast_unaligned
='#define HAVE_FAST_UNALIGNED 0'
1766 def_local_aligned_8
='#define HAVE_LOCAL_ALIGNED_8 0'
1767 def_local_aligned_16
='#define HAVE_LOCAL_ALIGNED_16 0'
1768 arch_all
='X86 IA64 SPARC ARM AVR32 SH4 PPC ALPHA MIPS PA_RISC S390 S390X VAX BFIN XTENSA TOMI GENERIC'
1769 subarch_all
='X86_32 X86_64 PPC64'
1770 case "$host_arch" in
1771 i
[3-9]86|x86|x86pc|k5|k6|k6-2|k6-3|pentium
*|athlon
*|i586-i686
)
1774 def_fast_unaligned
='#define HAVE_FAST_UNALIGNED 1'
1775 def_local_aligned_8
='#define HAVE_LOCAL_ALIGNED_8 1'
1776 def_local_aligned_16
='#define HAVE_LOCAL_ALIGNED_16 1'
1781 if test "$_runtime_cpudetection" = no
; then
1785 3) proc
=i386 iproc
=386 ;;
1786 4) proc
=i486 iproc
=486 ;;
1787 5) iproc
=586 # LGB: models are: K5/SSA5 K5 K5 K5 ? ? K6 K6 K6-2 K6-3
1788 # K6 model 13 are the K6-2+ and K6-III+, only differing in cache size.
1789 if test "$pmodel" -eq 9 -o "$pmodel" -eq 13; then
1791 elif test "$pmodel" -eq 5 -o "$pmodel" -eq 10; then
1793 elif test "$pmodel" -ge 8; then
1795 elif test "$pmodel" -ge 6; then
1802 # It's a bit difficult to determine the correct type of Family 6
1803 # AMD CPUs just from their signature. Instead, we check directly
1804 # whether it supports SSE.
1805 if test "$_sse" = yes; then
1806 # gcc treats athlon-xp, athlon-4 and athlon-mp similarly.
1809 # Again, gcc treats athlon and athlon-tbird similarly.
1814 # k8 cpu-type only supported in gcc >= 3.4.0, but that will be
1815 # caught and remedied in the optimization tests below.
1819 *) proc
=amdfam10 iproc
=686
1820 test $_fast_clz = "auto" && _fast_clz
=yes
1826 3) proc
=i386 iproc
=386 ;;
1827 4) proc
=i486 iproc
=486 ;;
1829 if test "$pmodel" -eq 4 ||
test "$pmodel" -eq 8; then
1830 proc
=pentium-mmx
# 4 is desktop, 8 is mobile
1836 if test "$pmodel" -ge 15; then
1838 elif test "$pmodel" -eq 9 -o "$pmodel" -ge 13; then
1840 elif test "$pmodel" -ge 7; then
1842 elif test "$pmodel" -ge 3; then
1847 test $_fast_clz = "auto" && _fast_clz
=yes
1850 # A nocona in 32-bit mode has no more capabilities than a prescott.
1851 if test "$pmodel" -ge 3; then
1855 test $_fast_clz = "auto" && _fast_clz
=yes
1857 test $_fast_cmov = "auto" && _fast_cmov
=no
1859 *) proc
=prescott iproc
=686 ;;
1865 if test "$pmodel" -ge 8; then
1867 elif test "$pmodel" -ge 4; then
1874 if test "$pmodel" -ge 9; then
1881 *) proc
=i686 iproc
=i686
;;
1886 3) proc
=i386 iproc
=386 ;;
1887 4) proc
=i486 iproc
=486 ;;
1888 *) proc
=i586 iproc
=586 ;;
1892 proc
=i586 iproc
=586 ;;
1894 test $_fast_clz = "auto" && _fast_clz
=no
1895 fi # test "$_runtime_cpudetection" = no
1898 # check that gcc supports our CPU, if not, fall back to earlier ones
1899 # LGB: check -mcpu and -march swithing step by step with enabling
1900 # to fall back till 386.
1902 # gcc >= 3.4.0 doesn't support -mcpu, we have to use -mtune instead
1904 if [ "$cc_vendor" = "gnu" ] && ([ "$_cc_major" -gt 3 ] ||
( [ "$_cc_major" = 3 ] && [ "$_cc_minor" -ge 4 ])) ; then
1910 echocheck
"GCC & CPU optimization abilities"
1912 int main(void) { return 0; }
1914 if test "$_runtime_cpudetection" = no
; then
1915 if test $cc_vendor != "intel" ; then
1916 cc_check
-march=native
&& proc
=native
1918 if test "$proc" = "k8"; then
1919 cc_check
-march=$proc $cpuopt=$proc || proc
=athlon-xp
1921 if test "$proc" = "athlon-xp"; then
1922 cc_check
-march=$proc $cpuopt=$proc || proc
=athlon
1924 if test "$proc" = "k6-3" ||
test "$proc" = "k6-2"; then
1925 cc_check
-march=$proc $cpuopt=$proc || proc
=k6
1927 if test "$proc" = "k6" ||
test "$proc" = "c3"; then
1928 if ! cc_check
-march=$proc $cpuopt=$proc; then
1929 if cc_check
-march=i586
$cpuopt=i686
; then
1936 if test "$proc" = "prescott" ; then
1937 cc_check
-march=$proc $cpuopt=$proc || proc
=pentium4
1939 if test "$proc" = "core2" ; then
1940 cc_check
-march=$proc $cpuopt=$proc || proc
=pentium-m
1942 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
1943 cc_check
-march=$proc $cpuopt=$proc || proc
=i686
1945 if test "$proc" = "i686" ||
test "$proc" = "pentium-mmx" ||
test "$proc" = "winchip-c6" ||
test "$proc" = "winchip2"; then
1946 cc_check
-march=$proc $cpuopt=$proc || proc
=i586
1948 if test "$proc" = "i586"; then
1949 cc_check
-march=$proc $cpuopt=$proc || proc
=i486
1951 if test "$proc" = "i486" ; then
1952 cc_check
-march=$proc $cpuopt=$proc || proc
=i386
1954 if test "$proc" = "i386" ; then
1955 cc_check
-march=$proc $cpuopt=$proc || proc
=error
1957 if test "$proc" = "error" ; then
1958 echores
"CPU optimization disabled. CPU not recognized or your compiler is too old."
1962 elif test "$proc" = "i586-i686"; then
1963 _march
="-march=i586"
1964 _mcpu
="$cpuopt=i686"
1967 _march
="-march=$proc"
1968 _mcpu
="$cpuopt=$proc"
1971 else # if test "$_runtime_cpudetection" = no
1972 _mcpu
="$cpuopt=generic"
1973 # at least i486 required, for bswap instruction
1974 _march
="-march=i486"
1975 cc_check
$_mcpu || _mcpu
="$cpuopt=i686"
1976 cc_check
$_mcpu || _mcpu
=""
1977 cc_check
$_march $_mcpu || _march
=""
1980 ## Gabucino : --target takes effect here (hopefully...) by overwriting
1981 ## autodetected mcpu/march parameters
1982 if test "$_target" ; then
1983 # TODO: it may be a good idea to check GCC and fall back in all cases
1984 if test "$host_arch" = "i586-i686"; then
1985 _march
="-march=i586"
1986 _mcpu
="$cpuopt=i686"
1988 _march
="-march=$host_arch"
1989 _mcpu
="$cpuopt=$host_arch"
1997 i586|k5|k6|k6-2|k6-3|pentium|pentium-mmx
) iproc
=586 ;;
1998 i686|athlon
*|pentium
*) iproc
=686 ;;
2003 if test $_cmov = "yes" && test $_fast_cmov = "auto" ; then
2008 test $_fast_clz = "auto" && _fast_clz
=yes
2015 def_fast_64bit
='#define HAVE_FAST_64BIT 1'
2022 def_fast_unaligned
='#define HAVE_FAST_UNALIGNED 1'
2023 def_fast_64bit
='#define HAVE_FAST_64BIT 1'
2026 # gcc >= 3.4.0 doesn't support -mcpu, we have to use -mtune instead
2027 if test "$cc_vendor" = "gnu" && test "$_cc_major" -gt 3 -o "$_cc_major" -eq 3 -a "$_cc_minor" -ge 4 ; then
2032 if test "$_runtime_cpudetection" = no
; then
2037 test $_fast_clz = "auto" && _fast_clz
=no
2046 # 64-bit prescotts exist, but as far as GCC is concerned they
2047 # have the same capabilities as a nocona.
2049 test $_fast_cmov = "auto" && _fast_cmov
=no
2050 test $_fast_clz = "auto" && _fast_clz
=no
2057 fi # test "$_runtime_cpudetection" = no
2059 echocheck
"GCC & CPU optimization abilities"
2061 int main(void) { return 0; }
2063 # This is a stripped-down version of the i386 fallback.
2064 if test "$_runtime_cpudetection" = no
; then
2065 if test $cc_vendor != "intel" ; then
2066 cc_check
-march=native
&& proc
=native
2068 # --- AMD processors ---
2069 if test "$proc" = "k8"; then
2070 cc_check
-march=$proc $cpuopt=$proc || proc
=athlon-xp
2072 # This will fail if gcc version < 3.3, which is ok because earlier
2073 # versions don't really support 64-bit on amd64.
2074 # Is this a valid assumption? -Corey
2075 if test "$proc" = "athlon-xp"; then
2076 cc_check
-march=$proc $cpuopt=$proc || proc
=error
2078 # --- Intel processors ---
2079 if test "$proc" = "core2"; then
2080 cc_check
-march=$proc $cpuopt=$proc || proc
=x86-64
2082 if test "$proc" = "x86-64"; then
2083 cc_check
-march=$proc $cpuopt=$proc || proc
=nocona
2085 if test "$proc" = "nocona"; then
2086 cc_check
-march=$proc $cpuopt=$proc || proc
=pentium4
2088 if test "$proc" = "pentium4"; then
2089 cc_check
-march=$proc $cpuopt=$proc || proc
=error
2092 _march
="-march=$proc"
2093 _mcpu
="$cpuopt=$proc"
2094 if test "$proc" = "error" ; then
2095 echores
"CPU optimization disabled. CPU not recognized or your compiler is too old."
2099 else # if test "$_runtime_cpudetection" = no
2100 # x86-64 is an undocumented option, an intersection of k8 and nocona.
2101 _march
="-march=x86-64"
2102 _mcpu
="$cpuopt=generic"
2103 cc_check
$_mcpu || _mcpu
="x86-64"
2104 cc_check
$_mcpu || _mcpu
=""
2105 cc_check
$_march $_mcpu || _march
=""
2109 test $_fast_cmov = "auto" && _fast_cmov
=yes
2110 test $_fast_clz = "auto" && _fast_clz
=yes
2118 if test "$host_arch" = "sparc64" ; then
2121 def_fast_64bit
='#define HAVE_FAST_64BIT 1'
2123 echocheck
"CPU type"
2125 case "$(echo $karch)" in
2130 sun4u
) proc
=ultrasparc _vis
='yes' ;;
2149 def_fast_unaligned
='#define HAVE_FAST_UNALIGNED 1'
2151 test $_fast_clz = "auto" && _fast_clz
=yes
2159 ppc|ppc64|powerpc|powerpc64
)
2161 def_dcbzl
='#define HAVE_DCBZL 0'
2162 def_fast_unaligned
='#define HAVE_FAST_UNALIGNED 1'
2163 def_local_aligned_8
='#define HAVE_LOCAL_ALIGNED_8 1'
2164 def_local_aligned_16
='#define HAVE_LOCAL_ALIGNED_16 1'
2167 if test "$host_arch" = "ppc64" -o "$host_arch" = "powerpc64" ; then
2169 def_fast_64bit
='#define HAVE_FAST_64BIT 1'
2171 echocheck
"CPU type"
2172 case $system_name in
2174 proc
=$
($_cpuinfo |
grep 'cpu' | cut
-d ':' -f 2 | cut
-d ',' -f 1 | cut
-b 2- |
head -n 1)
2175 if test -n "$($_cpuinfo | grep altivec)"; then
2176 test $_altivec = auto
&& _altivec
=yes
2180 proc
=$
($_cpuinfo |
grep "Processor type" | cut
-f 3 -d ' ' |
sed 's/ppc//')
2181 if [ $
(sysctl
-n hw.vectorunit
) -eq 1 -o \
2182 "$(sysctl -n hw.optional.altivec 2> /dev/null)" = "1" ]; then
2183 test $_altivec = auto
&& _altivec
=yes
2187 # only gcc 3.4 works reliably with AltiVec code under NetBSD
2189 2*|
3.0*|
3.1*|
3.2*|
3.3*)
2192 if [ $
(sysctl
-n machdep.altivec
) -eq 1 ]; then
2193 test $_altivec = auto
&& _altivec
=yes
2199 proc
=$
($_cpuinfo |
grep 'type' | cut
-f 2 -d ' ' |
sed 's/PowerPC_//')
2202 if test "$_altivec" = yes; then
2203 echores
"$proc altivec"
2209 echocheck
"GCC & CPU optimization abilities"
2211 if test -n "$proc"; then
2213 601) _march
='-mcpu=601' _mcpu
='-mtune=601' ;;
2214 603) _march
='-mcpu=603' _mcpu
='-mtune=603' ;;
2215 603e|
603ev
) _march
='-mcpu=603e' _mcpu
='-mtune=603e' ;;
2216 604|
604e|
604r|
604ev
) _march
='-mcpu=604' _mcpu
='-mtune=604' ;;
2217 740|
740/750|
745/755) _march
='-mcpu=740' _mcpu
='-mtune=740' ;;
2218 750|
750CX
) _march
='-mcpu=750' _mcpu
='-mtune=750' ;;
2219 POWER
) _march
='-mcpu=power' _mcpu
='-mtune=power' ;;
2220 POWER2
) _march
='-mcpu=power2' _mcpu
='-mtune=power2' ;;
2221 POWER3
) _march
='-mcpu=power3' _mcpu
='-mtune=power3' ;;
2224 # gcc 3.1(.1) and up supports 7400 and 7450
2225 if test "$_cc_major" -ge "3" && test "$_cc_minor" -ge "1" ||
test "$_cc_major" -ge "4"; then
2227 7400*|
7410*) _march
='-mcpu=7400' _mcpu
='-mtune=7400' ;;
2228 7447*|
7450*|
7455*) _march
='-mcpu=7450' _mcpu
='-mtune=7450' ;;
2232 # gcc 3.2 and up supports 970
2233 if test "$_cc_major" -ge "3" && test "$_cc_minor" -ge "3" ||
test "$_cc_major" -ge "4"; then
2235 970*|PPC970
*) _march
='-mcpu=970' _mcpu
='-mtune=970'
2236 def_dcbzl
='#define HAVE_DCBZL 1' ;;
2240 # gcc 3.3 and up supports POWER4
2241 if test "$_cc_major" -ge "3" && test "$_cc_minor" -ge "3" ||
test "$_cc_major" -ge "4"; then
2243 POWER4
) _march
='-mcpu=power4' _mcpu
='-mtune=power4' ;;
2247 # gcc 3.4 and up supports 440*
2248 if test "$_cc_major" -ge "3" && test "$_cc_minor" -ge "4" ||
test "$_cc_major" -ge "4"; then
2250 440EP
*) _march
='-mcpu=440fp' _mcpu
='-mtune=440fp' ;;
2251 440G
* ) _march
='-mcpu=440' _mcpu
='-mtune=440' ;;
2255 # gcc 4.0 and up supports POWER5
2256 if test "$_cc_major" -ge "4"; then
2258 POWER5
*) _march
='-mcpu=power5' _mcpu
='-mtune=power5' ;;
2264 if test -n "$_mcpu"; then
2265 _optimizing
=$
(echo $_mcpu | cut
-c 8-)
2266 echores
"$_optimizing"
2271 test $_fast_clz = "auto" && _fast_clz
=yes
2279 echocheck
"CPU type"
2282 unsigned long ver, mask;
2283 __asm__ ("implver %0" : "=r" (ver));
2284 __asm__ ("amask %1, %0" : "=r" (mask) : "r" (-1));
2285 printf("%ld-%x\n", ver, ~mask);
2289 $_cc -o "$TMPEXE" "$TMPC"
2290 case $
("$TMPEXE") in
2292 0-0) proc
="ev4"; _mvi
="0";;
2293 1-0) proc
="ev5"; _mvi
="0";;
2294 1-1) proc
="ev56"; _mvi
="0";;
2295 1-101) proc
="pca56"; _mvi
="1";;
2296 2-303) proc
="ev6"; _mvi
="1";;
2297 2-307) proc
="ev67"; _mvi
="1";;
2298 2-1307) proc
="ev68"; _mvi
="1";;
2302 echocheck
"GCC & CPU optimization abilities"
2303 if test "$proc" = "ev68" ; then
2304 cc_check
-mcpu=$proc || proc
=ev67
2306 if test "$proc" = "ev67" ; then
2307 cc_check
-mcpu=$proc || proc
=ev6
2312 test $_fast_clz = "auto" && _fast_clz
=yes
2322 echocheck
"CPU type"
2323 proc
=$
(hinv
-c processor |
grep CPU | cut
-d " " -f3)
2324 case "$(echo $proc)" in
2325 R3000
) _march
='-mips1' _mcpu
='-mtune=r2000' ;;
2326 R4000
) _march
='-mips3' _mcpu
='-mtune=r4000' ;;
2327 R4400
) _march
='-mips3' _mcpu
='-mtune=r4400' ;;
2328 R4600
) _march
='-mips3' _mcpu
='-mtune=r4600' ;;
2329 R5000
) _march
='-mips4' _mcpu
='-mtune=r5000' ;;
2330 R8000|R10000|R12000|R14000|R16000
) _march
='-mips4' _mcpu
='-mtune=r8000' ;;
2332 # gcc < 3.x does not support -mtune.
2333 if test "$cc_vendor" = "gnu" && test "$_cc_major" -lt 3 ; then
2339 test $_fast_clz = "auto" && _fast_clz
=yes
2373 echo "The architecture of your CPU ($host_arch) is not supported by this configure script"
2374 echo "It seems nobody has ported MPlayer to your OS or CPU type yet."
2375 die
"unsupported architecture $host_arch"
2377 esac # case "$host_arch" in
2379 if test "$_runtime_cpudetection" = yes ; then
2381 test "$_cmov" != no
&& _cmov
=yes
2383 test "$_mmx" != no
&& _mmx
=yes
2384 test "$_3dnow" != no
&& _3dnow
=yes
2385 test "$_3dnowext" != no
&& _3dnowext
=yes
2386 test "$_mmxext" != no
&& _mmxext
=yes
2387 test "$_sse" != no
&& _sse
=yes
2388 test "$_sse2" != no
&& _sse2
=yes
2389 test "$_ssse3" != no
&& _ssse3
=yes
2390 test "$_mtrr" != no
&& _mtrr
=yes
2399 echocheck
"byte order"
2400 if test "$_big_endian" = auto
; then
2402 short ascii_name[] = { (('M'<<8)|'P'),(('l'<<8)|'a'),(('y'<<8)|'e'),(('r'<<8)|'B'),
2403 (('i'<<8)|'g'),(('E'<<8)|'n'),(('d'<<8)|'i'),(('a'<<8)|'n'),0};
2404 int main(void) { return (int)ascii_name; }
2407 if strings $TMPEXE |
grep -q -l MPlayerBigEndian
; then
2413 echo ${_echo_n} "failed to autodetect byte order, defaulting to ${_echo_c}"
2416 if test "$_big_endian" = yes ; then
2417 _byte_order
='big-endian'
2418 def_words_endian
='#define WORDS_BIGENDIAN 1'
2419 def_bigendian
='#define HAVE_BIGENDIAN 1'
2420 def_av_bigendian
='#define AV_HAVE_BIGENDIAN 1'
2422 _byte_order
='little-endian'
2423 def_words_endian
='#undef WORDS_BIGENDIAN'
2424 def_bigendian
='#define HAVE_BIGENDIAN 0'
2425 def_av_bigendian
='#define AV_HAVE_BIGENDIAN 0'
2427 echores
"$_byte_order"
2430 echocheck
"extern symbol prefix"
2434 cc_check
-c || die
"Symbol mangling check failed."
2435 sym
=$
($_nm -P -g $TMPEXE)
2436 extern_prefix
=${sym%%ff_extern*}
2437 def_extern_asm
="#define EXTERN_ASM $extern_prefix"
2438 def_extern_prefix
="#define EXTERN_PREFIX \"$extern_prefix\""
2439 echores
$extern_prefix
2442 echocheck
"assembler support of -pipe option"
2444 int main(void) { return 0; }
2446 # -I. helps to detect compilers that just misunderstand -pipe like Sun C
2447 cc_check
-pipe -I.
&& _pipe
="-pipe" && echores
"yes" || echores
"no"
2450 echocheck
"compiler support of named assembler arguments"
2452 def_named_asm_args
="#define NAMED_ASM_ARGS 1"
2453 if test "$cc_vendor" = "gnu" && test "$_cc_major" -lt 3 \
2454 -o "$_cc_major" -eq 3 -a "$_cc_minor" = 0 ; then
2456 def_named_asm_args
="#undef NAMED_ASM_ARGS"
2458 echores
$_named_asm_args
2461 if darwin
&& test "$cc_vendor" = "gnu" ; then
2462 echocheck
"GCC support of -mstackrealign"
2463 # GCC 4.2 and some earlier Apple versions support this flag on x86. Since
2464 # Mac OS X/Intel has an ABI different from Windows this is needed to avoid
2465 # crashes when loading Win32 DLLs. Unfortunately some gcc versions create
2466 # wrong code with this flag, but this can be worked around by adding
2467 # -fno-unit-at-a-time as described in the blog post at
2468 # http://www.dribin.org/dave/blog/archives/2006/12/05/missing_third_param/
2470 __attribute__((noinline)) static int foo3(int i1, int i2, int i3) { return i3; }
2471 int main(void) { return foo3(1,2,3) == 3 ? 0 : 1; }
2473 cc_check
-O4 -mstackrealign && tmp_run
&& cflags_stackrealign
=-mstackrealign
2474 test -z "$cflags_stackrealign" && cc_check
-O4 -mstackrealign -fno-unit-at-a-time \
2475 && tmp_run
&& cflags_stackrealign
="-mstackrealign -fno-unit-at-a-time"
2476 test -n "$cflags_stackrealign" && echores
"yes" || echores
"no"
2477 fi # if darwin && test "$cc_vendor" = "gnu" ; then
2480 # Checking for CFLAGS
2482 if test "$_profile" != "" ||
test "$_debug" != "" ; then
2483 CFLAGS
="-W -Wall -O2 $_march $_mcpu $_pipe $_debug $_profile"
2485 elif test -z "$CFLAGS" ; then
2486 if test "$cc_vendor" = "intel" ; then
2487 CFLAGS
="-O2 $_march $_mcpu $_pipe -fomit-frame-pointer -wd167 -wd556 -wd144"
2488 elif test "$cc_vendor" = "sun" ; then
2489 CFLAGS
="-O2 $_march $_mcpu $_pipe -xc99 -xregs=frameptr"
2490 elif test "$cc_vendor" != "gnu" ; then
2491 CFLAGS
="-O2 $_march $_mcpu $_pipe"
2493 CFLAGS
="-Wall -Wno-switch -Wpointer-arith -Wredundant-decls -O4 $_march $_mcpu $_pipe -ffast-math -fomit-frame-pointer"
2494 extra_ldflags
="$extra_ldflags -ffast-math"
2501 int main(void) { return 0; }
2503 if test "$cc_vendor" = "gnu" ; then
2504 cc_check
-std=gnu99
&& CFLAGS
="-std=gnu99 $CFLAGS"
2505 cc_check
-Wdeclaration-after-statement && CFLAGS
="-Wdeclaration-after-statement $CFLAGS"
2506 cc_check
-Wno-pointer-sign && CFLAGS
="-Wno-pointer-sign $CFLAGS"
2507 cc_check
-Wdisabled-optimization && CFLAGS
="-Wdisabled-optimization $CFLAGS"
2508 cc_check
-Wundef && CFLAGS
="-Wundef $CFLAGS"
2509 cc_check
-Wmissing-prototypes && CFLAGS
="-Wmissing-prototypes $CFLAGS"
2510 cc_check
-Wstrict-prototypes && CFLAGS
="-Wstrict-prototypes $CFLAGS"
2512 CFLAGS
="-D_ISOC99_SOURCE -D_BSD_SOURCE $CFLAGS"
2515 cc_check
-mno-omit-leaf-frame-pointer && cflags_no_omit_leaf_frame_pointer
="-mno-omit-leaf-frame-pointer"
2516 cc_check
-MD -MP && CFLAGS
="-MD -MP $CFLAGS"
2519 if test -n "$LDFLAGS" ; then
2520 extra_ldflags
="$extra_ldflags $LDFLAGS"
2522 elif test "$cc_vendor" = "intel" ; then
2523 extra_ldflags
="$extra_ldflags -i-static"
2525 if test -n "$CPPFLAGS" ; then
2526 extra_cflags
="$extra_cflags $CPPFLAGS"
2533 # Checking assembler (_as) compatibility...
2534 # Added workaround for older as that reads from stdin by default - atmos
2535 as_version
=$
(echo '' |
$_as -version 2>&1 |
sed -n 's/^.*assembler \(version \)*\([0-9.]*\).*$/\2/p')
2536 echocheck
"assembler ($_as $as_version)"
2538 _pref_as_version
='2.9.1'
2540 if test "$_mmx" = yes ; then
2541 echo 'emms' >> $TMPS
2543 if test "$_3dnow" = yes ; then
2544 _pref_as_version
='2.10.1'
2545 echo 'femms' >> $TMPS
2547 if test "$_3dnowext" = yes ; then
2548 _pref_as_version
='2.10.1'
2549 echo 'pswapd %mm0, %mm0' >> $TMPS
2551 if test "$_mmxext" = yes ; then
2552 _pref_as_version
='2.10.1'
2553 echo 'movntq %mm0, (%eax)' >> $TMPS
2555 if test "$_sse" = yes ; then
2556 _pref_as_version
='2.10.1'
2557 echo 'xorps %xmm0, %xmm0' >> $TMPS
2559 #if test "$_sse2" = yes ; then
2560 # _pref_as_version='2.11'
2561 # echo 'xorpd %xmm0, %xmm0' >> $TMPS
2563 if test "$_cmov" = yes ; then
2564 _pref_as_version
='2.10.1'
2565 echo 'cmovb %eax, %ebx' >> $TMPS
2567 if test "$_ssse3" = yes ; then
2568 _pref_as_version
='2.16.92'
2569 echo 'pabsd %xmm0, %xmm1' >> $TMPS
2571 $_as $TMPS -o $TMPEXE > /dev
/null
2>&1 || as_verc_fail
=yes
2573 if test "$as_verc_fail" != yes ; then
2576 _res_comment
="Upgrade binutils to ${_pref_as_version} or use --disable-ssse3 etc."
2578 die
"obsolete binutils version"
2583 echocheck
".align is a power of two"
2584 if test "$_asmalign_pot" = auto
; then
2587 int main(void) { __asm__ (".align 3"); return 0; }
2589 cc_check
&& _asmalign_pot
=yes
2591 if test "$_asmalign_pot" = "yes" ; then
2592 def_asmalign_pot
='#define ASMALIGN(ZEROBITS) ".align " #ZEROBITS "\n\t"'
2594 def_asmalign_pot
='#define ASMALIGN(ZEROBITS) ".align 1<<" #ZEROBITS "\n\t"'
2596 echores
$_asmalign_pot
2599 echocheck
"10 assembler operands"
2601 def_ten_operands
='#define HAVE_TEN_OPERANDS 0'
2607 :"+&rm"(x), "+&rm"(x), "+&rm"(x), "+&rm"(x), "+&rm"(x), "+&rm"(x)
2612 cc_check
&& ten_operands
=yes && def_ten_operands
='#define HAVE_TEN_OPERANDS 1'
2613 echores
$ten_operands
2615 echocheck
"ebx availability"
2617 def_ebx_available
='#define HAVE_EBX_AVAILABLE 0'
2624 // just adding ebx to clobber list seems unreliable with some
2625 // compilers, e.g. Haiku's gcc 2.95
2627 // and the above check does not work for OSX 64 bit...
2628 __asm__ volatile("":::"%ebx");
2632 cc_check
&& ebx_available
=yes && def_ebx_available
='#define HAVE_EBX_AVAILABLE 1'
2633 echores
$ebx_available
2639 #if !(defined(__PIC__) || defined(__pic__) || defined(PIC))
2640 #error PIC not enabled
2645 cc_check
&& pic
=yes && extra_cflags
="$extra_cflags -DPIC"
2649 if test -z "$YASMFLAGS" ; then
2651 x86_64
&& objformat
="macho64" || objformat
="macho"
2657 # currently tested for Linux x86, x86_64
2658 YASMFLAGS
="-f $objformat"
2659 x86_64
&& YASMFLAGS
="$YASMFLAGS -DARCH_X86_64 -m amd64"
2660 test "$pic" = "yes" && YASMFLAGS
="$YASMFLAGS -DPIC"
2661 case "$objformat" in
2662 elf
) test $_debug && YASMFLAGS
="$YASMFLAGS -g dwarf2" ;;
2663 *) YASMFLAGS
="$YASMFLAGS -DPREFIX" ;;
2669 echo "pabsw xmm0, xmm0" > $TMPS
2670 yasm_check || _yasm
=""
2671 if test $_yasm ; then
2672 def_yasm
='#define HAVE_YASM 1'
2676 def_yasm
='#define HAVE_YASM 0'
2682 def_bswap
='#define HAVE_BSWAP 0'
2683 echo 'bswap %eax' > $TMPS
2684 $_as $TMPS -o $TMPEXE > /dev
/null
2>&1 && def_bswap
='#define HAVE_BSWAP 1' && bswap
=yes || bswap
=no
2689 #FIXME: This should happen before the check for CFLAGS..
2690 def_altivec_h
='#define HAVE_ALTIVEC_H 0'
2691 if ppc
&& ( test "$_altivec" = yes ||
test "$_runtime_cpudetection" = yes ) ; then
2693 # check if AltiVec is supported by the compiler, and how to enable it
2694 echocheck
"GCC AltiVec flags"
2696 int main(void) { return 0; }
2698 if $
(cc_check
-maltivec -mabi=altivec
) ; then
2699 _altivec_gcc_flags
="-maltivec -mabi=altivec"
2700 # check if <altivec.h> should be included
2702 #include <altivec.h>
2703 int main(void) { return 0; }
2705 if $
(cc_check
$_altivec_gcc_flags) ; then
2706 def_altivec_h
='#define HAVE_ALTIVEC_H 1'
2707 inc_altivec_h
='#include <altivec.h>'
2710 int main(void) { return 0; }
2712 if $
(cc_check
-faltivec) ; then
2713 _altivec_gcc_flags
="-faltivec"
2716 _altivec_gcc_flags
="none, AltiVec disabled"
2720 echores
"$_altivec_gcc_flags"
2722 # check if the compiler supports braces for vector declarations
2725 int main(void) { (vector int) {1}; return 0; }
2727 cc_check
$_altivec_gcc_flags || die
"You need a compiler that supports {} in AltiVec vector declarations."
2729 # Disable runtime cpudetection if we cannot generate AltiVec code or
2730 # AltiVec is disabled by the user.
2731 test "$_runtime_cpudetection" = yes && test "$_altivec" = no \
2732 && _runtime_cpudetection
=no
2734 # Show that we are optimizing for AltiVec (if enabled and supported).
2735 test "$_runtime_cpudetection" = no
&& test "$_altivec" = yes \
2736 && _optimizing
="$_optimizing altivec"
2738 # If AltiVec is enabled, make sure the correct flags turn up in CFLAGS.
2739 test "$_altivec" = yes && CFLAGS
="$CFLAGS $_altivec_gcc_flags"
2743 def_xform_asm
='#define HAVE_XFORM_ASM 0'
2745 echocheck
"XFORM ASM support"
2747 int main(void) { __asm__ volatile ("lwzx %1, %y0" :: "Z"(*(int*)0), "r"(0)); return 0; }
2749 cc_check
&& xform_asm
=yes && def_xform_asm
='#define HAVE_XFORM_ASM 1'
2750 echores
"$xform_asm"
2754 echocheck
"ARM pld instruction"
2756 int main(void) { __asm__ volatile ("pld [r0]"); return 0; }
2762 echocheck
"ARMv5TE (Enhanced DSP Extensions)"
2763 if test $_armv5te = "auto" ; then
2765 int main(void) { __asm__ volatile ("qadd r0, r0, r0"); return 0; }
2768 cc_check
&& _armv5te
=yes
2772 test $_armv5te = "yes" && test $_fast_clz = "auto" && _fast_clz
=yes
2774 echocheck
"ARMv6 (SIMD instructions)"
2775 if test $_armv6 = "auto" ; then
2777 int main(void) { __asm__ volatile ("sadd16 r0, r0, r0"); return 0; }
2780 cc_check
&& _armv6
=yes
2784 echocheck
"ARMv6t2 (SIMD instructions)"
2785 if test $_armv6t2 = "auto" ; then
2787 int main(void) { __asm__ volatile ("movt r0, #0"); return 0; }
2790 cc_check
&& _armv6t2
=yes
2795 if test $_armvfp = "auto" ; then
2797 int main(void) { __asm__ volatile ("fadds s0, s0, s0"); return 0; }
2800 cc_check
&& _armvfp
=yes
2804 echocheck
"ARM NEON"
2805 if test $neon = "auto" ; then
2807 int main(void) { __asm__ volatile ("vadd.i16 q0, q0, q0"); return 0; }
2810 cc_check
&& neon
=yes
2814 echocheck
"iWMMXt (Intel XScale SIMD instructions)"
2815 if test $_iwmmxt = "auto" ; then
2817 int main(void) { __asm__ volatile ("wunpckelub wr6, wr4"); return 0; }
2820 cc_check
&& _iwmmxt
=yes
2825 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'
2826 test "$_altivec" = yes && cpuexts
="ALTIVEC $cpuexts"
2827 test "$_mmx" = yes && cpuexts
="MMX $cpuexts"
2828 test "$_mmxext" = yes && cpuexts
="MMX2 $cpuexts"
2829 test "$_3dnow" = yes && cpuexts
="AMD3DNOW $cpuexts"
2830 test "$_3dnowext" = yes && cpuexts
="AMD3DNOWEXT $cpuexts"
2831 test "$_sse" = yes && cpuexts
="SSE $cpuexts"
2832 test "$_sse2" = yes && cpuexts
="SSE2 $cpuexts"
2833 test "$_ssse3" = yes && cpuexts
="SSSE3 $cpuexts"
2834 test "$_cmov" = yes && cpuexts
="CMOV $cpuexts"
2835 test "$_fast_cmov" = yes && cpuexts
="FAST_CMOV $cpuexts"
2836 test "$_fast_clz" = yes && cpuexts
="FAST_CLZ $cpuexts"
2837 test "$pld" = yes && cpuexts
="PLD $cpuexts"
2838 test "$_armv5te" = yes && cpuexts
="ARMV5TE $cpuexts"
2839 test "$_armv6" = yes && cpuexts
="ARMV6 $cpuexts"
2840 test "$_armv6t2" = yes && cpuexts
="ARMV6T2 $cpuexts"
2841 test "$_armvfp" = yes && cpuexts
="ARMVFP $cpuexts"
2842 test "$neon" = yes && cpuexts
="NEON $cpuexts"
2843 test "$_iwmmxt" = yes && cpuexts
="IWMMXT $cpuexts"
2844 test "$_vis" = yes && cpuexts
="VIS $cpuexts"
2845 test "$_mvi" = yes && cpuexts
="MVI $cpuexts"
2847 # Checking kernel version...
2848 if x86_32
&& linux
; then
2850 kernel_version
=$
(uname
-r 2>&1)
2851 echocheck
"$system_name kernel version"
2852 case "$kernel_version" in
2853 '') kernel_version
="?.??"; _k_verc_fail
=yes;;
2854 [0-1].
[0-9].
[0-9]*|
2.
[0-3].
[0-9]*)
2855 _k_verc_problem
=yes;;
2857 if test "$_k_verc_problem" = yes && test "$_sse" = yes ; then
2860 if test "$_k_verc_fail" ; then
2861 echores
"$kernel_version, fail"
2862 echo "WARNING! If you want to run MPlayer on this system, get prepared for problems!"
2863 echo "2.2.x has limited SSE support. Upgrade the kernel or use --disable-sse if you"
2864 echo "experience crashes. MPlayer tries to autodetect if your kernel correctly"
2865 echo "supports SSE, but you have been warned! If you are using a kernel older than"
2866 echo "2.2.x you must upgrade it to get SSE support!"
2867 # die "Your kernel is too old for this CPU." # works fine on some 2.2.x so don't die (later check will test)
2869 echores
"$kernel_version, ok"
2873 ######################
2874 # MAIN TESTS GO HERE #
2875 ######################
2880 int main(void) { return 0; }
2882 if cc_check
-lposix ; then
2883 extra_ldflags
="$extra_ldflags -lposix"
2891 int main(void) { return 0; }
2893 if cc_check
-lm ; then
2902 echocheck
"langinfo"
2903 if test "$_langinfo" = auto
; then
2905 #include <langinfo.h>
2906 int main(void) { nl_langinfo(CODESET); return 0; }
2909 cc_check
&& _langinfo
=yes
2911 if test "$_langinfo" = yes ; then
2912 def_langinfo
='#define HAVE_LANGINFO 1'
2914 def_langinfo
='#undef HAVE_LANGINFO'
2916 echores
"$_langinfo"
2919 echocheck
"language"
2920 # Set preferred languages, "all" uses English as main language.
2921 test -z "$language" && language
=$LINGUAS
2922 test -z "$language_doc" && language_doc
=$language
2923 test -z "$language_man" && language_man
=$language
2924 test -z "$language_msg" && language_msg
=$language
2925 language_doc
=$
(echo $language_doc |
tr , " ")
2926 language_man
=$
(echo $language_man |
tr , " ")
2927 language_msg
=$
(echo $language_msg |
tr , " ")
2929 test "$language_doc" = "all" && language_doc
=$doc_lang_all
2930 test "$language_man" = "all" && language_man
=$man_lang_all
2931 test "$language_msg" = "all" && language_msg
=en
2933 # Prune non-existing translations from language lists.
2934 # Set message translation to the first available language.
2935 # Fall back on English.
2936 for lang
in $language_doc ; do
2937 test -d DOCS
/xml
/$lang && tmp_language_doc
="$tmp_language_doc $lang"
2939 language_doc
=$tmp_language_doc
2940 test -z "$language_doc" && language_doc
=en
2942 for lang
in $language_man ; do
2943 test -d DOCS
/man
/$lang && tmp_language_man
="$tmp_language_man $lang"
2945 language_man
=$tmp_language_man
2946 test -z "$language_man" && language_man
=en
2948 for lang
in $language_msg ; do
2949 test -f "help/help_mp-${lang}.h" && tmp_language_msg
=$lang && break
2951 language_msg
=$tmp_language_msg
2952 test -z "$language_msg" && language_msg
=en
2953 _mp_help
="help/help_mp-${language_msg}.h"
2954 echores
"messages: $language_msg - man pages: $language_man - documentation: $language_doc"
2957 echocheck
"enable sighandler"
2958 if test "$_sighandler" = yes ; then
2959 def_sighandler
='#define CONFIG_SIGHANDLER 1'
2961 def_sighandler
='#undef CONFIG_SIGHANDLER'
2963 echores
"$_sighandler"
2965 echocheck
"runtime cpudetection"
2966 if test "$_runtime_cpudetection" = yes ; then
2967 _optimizing
="Runtime CPU-Detection enabled"
2968 def_runtime_cpudetection
='#define CONFIG_RUNTIME_CPUDETECT 1'
2970 def_runtime_cpudetection
='#define CONFIG_RUNTIME_CPUDETECT 0'
2972 echores
"$_runtime_cpudetection"
2975 echocheck
"restrict keyword"
2976 for restrict_keyword
in restrict __restrict __restrict__
; do
2977 echo "void foo(char * $restrict_keyword p); int main(void) { return 0; }" > $TMPC
2979 def_restrict_keyword
=$restrict_keyword
2983 if [ -n "$def_restrict_keyword" ]; then
2984 echores
"$def_restrict_keyword"
2988 # Avoid infinite recursion loop ("#define restrict restrict")
2989 if [ "$def_restrict_keyword" != "restrict" ]; then
2990 def_restrict_keyword
="#define restrict $def_restrict_keyword"
2992 def_restrict_keyword
=""
2996 echocheck
"__builtin_expect"
2997 # GCC branch prediction hint
3000 a = __builtin_expect(a, 10);
3001 return a == 10 ? 0 : 1;
3003 int main(void) { return foo(10) && foo(0); }
3006 cc_check
&& _builtin_expect
=yes
3007 if test "$_builtin_expect" = yes ; then
3008 def_builtin_expect
='#define HAVE_BUILTIN_EXPECT 1'
3010 def_builtin_expect
='#undef HAVE_BUILTIN_EXPECT'
3012 echores
"$_builtin_expect"
3018 int main(void) { (void) kstat_open(); (void) kstat_close(0); return 0; }
3021 cc_check
-lkstat && _kstat
=yes
3022 if test "$_kstat" = yes ; then
3023 def_kstat
="#define HAVE_LIBKSTAT 1"
3024 extra_ldflags
="$extra_ldflags -lkstat"
3026 def_kstat
="#undef HAVE_LIBKSTAT"
3032 # required for nanosleep on some systems
3035 int main(void) { (void) nanosleep(0, 0); return 0; }
3038 cc_check
-lposix4 && _posix4
=yes
3039 if test "$_posix4" = yes ; then
3040 extra_ldflags
="$extra_ldflags -lposix4"
3044 for func
in exp2 exp2f llrint log2 log2f lrint lrintf round roundf truncf
; do
3048 int main(void) { long (*foo)(float); foo = $func; (void)(*foo)(0.0); return 0; }
3051 cc_check
-D_ISOC99_SOURCE $_ld_lm && eval _
$func=yes
3052 if eval test "x\$_$func" = "xyes"; then
3053 eval def_
$func="\"#define HAVE_$(echo $func | tr '[a-z]' '[A-Z]') 1\""
3056 eval def_
$func="\"#define HAVE_$(echo $func | tr '[a-z]' '[A-Z]') 0\""
3065 int main(void) { char a; mkstemp(&a); return 0; }
3068 cc_check
&& _mkstemp
=yes
3069 if test "$_mkstemp" = yes ; then
3070 def_mkstemp
='#define HAVE_MKSTEMP 1'
3072 def_mkstemp
='#undef HAVE_MKSTEMP'
3077 echocheck
"nanosleep"
3078 # also check for nanosleep
3081 int main(void) { (void) nanosleep(0, 0); return 0; }
3084 cc_check
&& _nanosleep
=yes
3085 if test "$_nanosleep" = yes ; then
3086 def_nanosleep
='#define HAVE_NANOSLEEP 1'
3088 def_nanosleep
='#undef HAVE_NANOSLEEP'
3090 echores
"$_nanosleep"
3094 # for Solaris (socket stuff is in -lsocket, gethostbyname and friends in -lnsl):
3095 # for BeOS (socket stuff is in -lsocket, gethostbyname and friends in -lbind):
3098 #include <sys/socket.h>
3099 int main(void) { (void) gethostbyname(0); (void) socket(AF_INET, SOCK_STREAM, 0); return 0; }
3102 for _ld_tmp
in "" "-lsocket -lbind" "-lsocket -ldnet" "-lsocket -lnsl" "-lnsl" "-lsocket" ; do
3103 cc_check
$_ld_tmp && _ld_sock
="$_ld_tmp" && _socklib
=yes && break
3105 test $_socklib = yes && test $_winsock2_h = auto
&& _winsock2_h
=no
3106 if test $_winsock2_h = auto
; then
3109 #include <winsock2.h>
3110 int main(void) { (void) gethostbyname(0); return 0; }
3112 cc_check
-lws2_32 && _ld_sock
="-lws2_32" && _winsock2_h
=yes
3114 test "$_ld_sock" && _res_comment
="using $_ld_sock"
3118 if test $_winsock2_h = yes ; then
3120 def_winsock2_h
='#define HAVE_WINSOCK2_H 1'
3121 cc_check_winsock2_h
='-DHAVE_WINSOCK2_H=1'
3123 def_winsock2_h
='#define HAVE_WINSOCK2_H 0'
3124 cc_check_winsock2_h
='-DHAVE_WINSOCK2_H=0'
3128 echocheck
"netdb.h, struct addrinfo"
3129 if test "$_struct_addrinfo" = auto
; then
3133 #include <winsock2.h>
3134 #include <ws2tcpip.h>
3136 #include <sys/types.h>
3137 #include <sys/socket.h>
3140 int main(void) { struct addrinfo ai; return 0; }
3142 cc_check
$cc_check_winsock2_h && _struct_addrinfo
=yes
3144 echores
"$_struct_addrinfo"
3146 if test "$_struct_addrinfo" = yes; then
3147 def_addrinfo
="#define HAVE_STRUCT_ADDRINFO 1"
3149 def_addrinfo
="#define HAVE_STRUCT_ADDRINFO 0"
3153 echocheck
"netdb.h, getaddrinfo()"
3154 if test "$_getaddrinfo" = auto
; then
3158 #include <winsock2.h>
3160 #include <sys/types.h>
3161 #include <sys/socket.h>
3164 int main(void) { (void) getaddrinfo(0, 0, 0, 0); return 0; }
3166 cc_check
$cc_check_winsock2_h && _getaddrinfo
=yes
3168 echores
"$_getaddrinfo"
3170 if test "$_getaddrinfo" = yes; then
3171 def_getaddrinfo
="#define HAVE_GETADDRINFO 1"
3173 def_getaddrinfo
="#define HAVE_GETADDRINFO 0"
3177 echocheck
"sockaddr_storage"
3178 if test "$_struct_sockaddr_storage" = auto
; then
3179 _struct_sockaddr_storage
=no
3182 #include <winsock2.h>
3184 #include <sys/socket.h>
3186 int main(void) { struct sockaddr_storage sas; return 0; }
3188 cc_check
$cc_check_winsock2_h && _struct_sockaddr_storage
=yes
3190 echores
"$_struct_sockaddr_storage"
3192 if test "$_struct_sockaddr_storage" = yes; then
3193 def_sockaddr_storage
="#define HAVE_STRUCT_SOCKADDR_STORAGE 1"
3195 def_sockaddr_storage
="#define HAVE_STRUCT_SOCKADDR_STORAGE 0"
3199 echocheck
"struct ipv6_mreq"
3200 _struct_ipv6_mreq
=no
3201 def_struct_ipv6_mreq
="#define HAVE_STRUCT_IPV6_MREQ 0"
3202 for header
in "netinet/in.h" "ws2tcpip.h" ; do
3205 int main(void) { struct ipv6_mreq mreq6; return 0; }
3207 cc_check
&& _struct_ipv6_mreq
=yes && \
3208 def_struct_ipv6_mreq
="#define HAVE_STRUCT_IPV6_MREQ 1" && break
3210 echores
"$_struct_ipv6_mreq"
3213 echocheck
"struct sockaddr_in6"
3214 _struct_sockaddr_in6
=no
3215 def_struct_sockaddr_in6
="#define HAVE_STRUCT_SOCKADDR_IN6 0"
3216 for header
in "netinet/in.h" "ws2tcpip.h" ; do
3219 int main(void) { struct sockaddr_in6 addr; return 0; }
3221 cc_check
&& _struct_sockaddr_in6
=yes && \
3222 def_struct_sockaddr_in6
="#define HAVE_STRUCT_SOCKADDR_IN6 1" && break
3224 echores
"$_struct_sockaddr_in6"
3227 echocheck
"struct sockaddr sa_len"
3228 _struct_sockaddr_sa_len
=no
3229 def_struct_sockaddr_sa_len
="#define HAVE_STRUCT_SOCKADDR_SA_LEN 0"
3232 #include <winsock2.h>
3234 #include <sys/types.h>
3235 #include <sys/socket.h>
3237 int main(void) { const void *p = &((struct sockaddr *)0)->sa_len; return 0; }
3239 cc_check
$cc_check_winsock2_h && _struct_sockaddr_sa_len
=yes && \
3240 def_struct_sockaddr_sa_len
="#define HAVE_STRUCT_SOCKADDR_SA_LEN 1"
3241 echores
"$_struct_sockaddr_sa_len"
3244 echocheck
"arpa/inet.h"
3246 def_arpa_inet_h
='#define HAVE_ARPA_INET_H 0'
3248 #include <arpa/inet.h>
3249 int main(void) { return 0; }
3251 cc_check
&& arpa_inet_h
=yes && def_arpa_inet_h
='#define HAVE_ARPA_INET_H 1'
3252 echores
"$arpa_inet_h"
3255 echocheck
"inet_pton()"
3256 def_inet_pton
='#define HAVE_INET_PTON 0'
3259 #include <sys/types.h>
3260 #include <sys/socket.h>
3261 #include <arpa/inet.h>
3262 int main(void) { (void) inet_pton(0, 0, 0); return 0; }
3264 for _ld_tmp
in "$_ld_sock" "$_ld_sock -lresolv" ; do
3265 cc_check
$_ld_tmp && inet_pton
=yes && break
3267 if test $inet_pton = yes ; then
3268 test "$_ld_tmp" && _res_comment
="using $_ld_tmp"
3269 def_inet_pton
='#define HAVE_INET_PTON 1'
3271 echores
"$inet_pton"
3274 echocheck
"inet_aton()"
3275 def_inet_aton
='#define HAVE_INET_ATON 0'
3278 #include <sys/types.h>
3279 #include <sys/socket.h>
3280 #include <arpa/inet.h>
3281 int main(void) { (void) inet_aton(0, 0); return 0; }
3283 for _ld_tmp
in "$_ld_sock" "$_ld_sock -lresolv" ; do
3284 cc_check
$_ld_tmp && inet_aton
=yes && break
3286 if test $inet_aton = yes ; then
3287 test "$_ld_tmp" && _res_comment
="using $_ld_tmp"
3288 def_inet_aton
='#define HAVE_INET_ATON 1'
3290 echores
"$inet_aton"
3293 echocheck
"socklen_t"
3295 for header
in "sys/socket.h" "ws2tcpip.h" "sys/types.h" ; do
3298 int main(void) { socklen_t v = 0; return v; }
3300 cc_check
&& _socklen_t
=yes && break
3302 if test "$_socklen_t" = yes ; then
3303 def_socklen_t
='#define HAVE_SOCKLEN_T 1'
3305 def_socklen_t
='#define HAVE_SOCKLEN_T 0'
3307 echores
"$_socklen_t"
3310 echocheck
"closesocket()"
3313 #include <winsock2.h>
3314 int main(void) { closesocket(~0); return 0; }
3316 cc_check
$_ld_sock && _closesocket
=yes
3317 if test "$_closesocket" = yes ; then
3318 def_closesocket
='#define HAVE_CLOSESOCKET 1'
3320 def_closesocket
='#define HAVE_CLOSESOCKET 0'
3322 echores
"$_closesocket"
3326 test $_winsock2_h = no
&& test $inet_pton = no
&&
3327 test $inet_aton = no
&& _network
=no
3328 if test "$_network" = yes ; then
3329 def_network
='#define CONFIG_NETWORK 1'
3330 extra_ldflags
="$extra_ldflags $_ld_sock"
3331 _inputmodules
="network $_inputmodules"
3333 _noinputmodules
="network $_noinputmodules"
3334 def_network
='#undef CONFIG_NETWORK'
3336 _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
//)
3337 _libavdemuxers
=$
(echo $_libavdemuxers |
sed -e s
/RTSP_DEMUXER
// -e s
/SDP_DEMUXER
//)
3343 if test "$_inet6" = auto
; then
3345 #include <sys/types.h>
3346 #if !defined(_WIN32) || defined(__CYGWIN__)
3347 #include <sys/socket.h>
3348 #include <netinet/in.h>
3350 #include <ws2tcpip.h>
3352 int main(void) { struct sockaddr_in6 six; socket(AF_INET6, SOCK_STREAM, AF_INET6); return 0; }
3355 if cc_check
$_ld_sock ; then
3359 if test "$_inet6" = yes ; then
3360 def_inet6
='#define HAVE_AF_INET6 1'
3362 def_inet6
='#undef HAVE_AF_INET6'
3367 echocheck
"gethostbyname2"
3368 if test "$_gethostbyname2" = auto
; then
3370 #include <sys/types.h>
3371 #include <sys/socket.h>
3373 int main(void) { gethostbyname2("", AF_INET); return 0; }
3380 if test "$_gethostbyname2" = yes ; then
3381 def_gethostbyname2
='#define HAVE_GETHOSTBYNAME2 1'
3383 def_gethostbyname2
='#undef HAVE_GETHOSTBYNAME2'
3385 echores
"$_gethostbyname2"
3388 echocheck
"inttypes.h (required)"
3390 #include <inttypes.h>
3391 int main(void) { return 0; }
3394 cc_check
&& _inttypes
=yes
3395 echores
"$_inttypes"
3397 if test "$_inttypes" = no
; then
3398 echocheck
"bitypes.h (inttypes.h predecessor)"
3400 #include <sys/bitypes.h>
3401 int main(void) { return 0; }
3403 cc_check
&& _inttypes
=yes
3404 if test "$_inttypes" = yes ; then
3405 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."
3407 die
"Cannot find header either inttypes.h or bitypes.h. There is no chance for compilation to succeed."
3412 echocheck
"int_fastXY_t in inttypes.h"
3414 #include <inttypes.h>
3416 volatile int_fast16_t v= 0;
3420 cc_check
&& _fast_inttypes
=yes
3421 if test "$_fast_inttypes" = no
; then
3423 typedef signed char int_fast8_t;
3424 typedef signed int int_fast16_t;
3425 typedef signed int int_fast32_t;
3426 typedef signed long long int_fast64_t;
3427 typedef unsigned char uint_fast8_t;
3428 typedef unsigned int uint_fast16_t;
3429 typedef unsigned int uint_fast32_t;
3430 typedef unsigned long long uint_fast64_t;'
3432 echores
"$_fast_inttypes"
3435 echocheck
"malloc.h"
3438 int main(void) { (void) malloc(0); return 0; }
3441 cc_check
&& _malloc
=yes
3442 if test "$_malloc" = yes ; then
3443 def_malloc_h
='#define HAVE_MALLOC_H 1'
3445 def_malloc_h
='#define HAVE_MALLOC_H 0'
3447 # malloc.h emits a warning in FreeBSD and OpenBSD
3448 freebsd || openbsd || dragonfly
&& def_malloc_h
='#define HAVE_MALLOC_H 0'
3452 echocheck
"memalign()"
3453 # XXX restrict to x86 ? extend to other CPUs/cacheline sizes ?
3454 def_memalign_hack
='#define CONFIG_MEMALIGN_HACK 0'
3457 int main(void) { (void) memalign(64, sizeof(char)); return 0; }
3460 cc_check
&& _memalign
=yes
3461 if test "$_memalign" = yes ; then
3462 def_memalign
='#define HAVE_MEMALIGN 1'
3464 def_memalign
='#define HAVE_MEMALIGN 0'
3465 def_map_memalign
='#define memalign(a,b) malloc(b)'
3466 darwin || def_memalign_hack
='#define CONFIG_MEMALIGN_HACK 1'
3468 echores
"$_memalign"
3471 echocheck
"posix_memalign()"
3473 def_posix_memalign
='#define HAVE_POSIX_MEMALIGN 0'
3475 #define _XOPEN_SOURCE 600
3477 int main(void) { posix_memalign(NULL, 0, 0); }
3479 cc_check
&& posix_memalign
=yes && def_posix_memalign
='#define HAVE_POSIX_MEMALIGN 1'
3480 echores
"$posix_memalign"
3483 echocheck
"alloca.h"
3486 int main(void) { (void) alloca(0); return 0; }
3489 cc_check
&& _alloca
=yes
3491 def_alloca_h
='#define HAVE_ALLOCA_H 1'
3493 def_alloca_h
='#undef HAVE_ALLOCA_H'
3498 echocheck
"fastmemcpy"
3499 if test "$_fastmemcpy" = yes ; then
3500 def_fastmemcpy
='#define CONFIG_FASTMEMCPY 1'
3502 def_fastmemcpy
='#undef CONFIG_FASTMEMCPY'
3504 echores
"$_fastmemcpy"
3507 echocheck
"hard-coded tables"
3508 if test "$hardcoded_tables" = yes ; then
3509 def_hardcoded_tables
='#define CONFIG_HARDCODED_TABLES 1'
3510 mak_hardcoded_tables
='CONFIG_HARDCODED_TABLES = yes'
3512 def_hardcoded_tables
='#define CONFIG_HARDCODED_TABLES 0'
3514 echores
"$hardcoded_tables"
3519 #include <sys/types.h>
3520 #include <sys/mman.h>
3521 int main(void) { (void) mmap(0, 0, 0, 0, 0, 0); return 0; }
3524 cc_check
&& _mman
=yes
3525 if test "$_mman" = yes ; then
3526 def_mman_h
='#define HAVE_SYS_MMAN_H 1'
3528 def_mman_h
='#undef HAVE_SYS_MMAN_H'
3529 os2
&& _need_mmap
=yes
3534 #include <sys/types.h>
3535 #include <sys/mman.h>
3536 int main(void) { void *p = MAP_FAILED; return 0; }
3538 _mman_has_map_failed
=no
3539 cc_check
&& _mman_has_map_failed
=yes
3540 if test "$_mman_has_map_failed" = yes ; then
3541 def_mman_has_map_failed
=''
3543 def_mman_has_map_failed
='#define MAP_FAILED ((void *) -1)'
3546 echocheck
"dynamic loader"
3550 int main(void) { dlopen("", 0); dlclose(NULL); dlsym(NULL, ""); return 0; }
3553 for _ld_tmp
in "" "-ldl" ; do
3554 cc_check
$_ld_tmp && _ld_dl
="$_ld_tmp" && _dl
=yes && break
3556 if test "$_dl" = yes ; then
3557 def_dl
='#define HAVE_LIBDL 1'
3559 def_dl
='#undef HAVE_LIBDL'
3564 echocheck
"dynamic a/v plugins support"
3565 if test "$_dl" = no
; then
3568 if test "$_dynamic_plugins" = yes ; then
3569 def_dynamic_plugins
='#define CONFIG_DYNAMIC_PLUGINS 1'
3571 def_dynamic_plugins
='#undef CONFIG_DYNAMIC_PLUGINS'
3573 echores
"$_dynamic_plugins"
3576 def_threads
='#define HAVE_THREADS 0'
3580 THREAD_CFLAGS
=-D_REENTRANT
3581 elif freebsd || netbsd || openbsd || bsdos
; then
3582 THREAD_CFLAGS
=-D_THREAD_SAFE
3584 if test "$_pthreads" = auto
; then
3586 #include <pthread.h>
3587 void* func(void *arg) { return arg; }
3588 int main(void) { pthread_t tid; return pthread_create(&tid, 0, func, 0) == 0 ? 0 : 1; }
3592 for _ld_tmp
in "-lpthreadGC2" "" "-lpthread" "-pthread" ; do
3593 # for crosscompilation, we cannot execute the program, be happy if we can link statically
3594 cc_check
$THREAD_CFLAGS $_ld_tmp && (tmp_run ||
test "$_ld_static") && _ld_pthread
="$_ld_tmp" && _pthreads
=yes && break
3598 if test "$_pthreads" = yes ; then
3599 test $_ld_pthread && _res_comment
="using $_ld_pthread"
3600 def_pthreads
='#define HAVE_PTHREADS 1'
3601 def_threads
='#define HAVE_THREADS 1'
3602 extra_cflags
="$extra_cflags $THREAD_CFLAGS"
3604 _res_comment
="v4l, v4l2, ao_nas, win32 loader disabled"
3605 def_pthreads
='#undef HAVE_PTHREADS'
3606 _nas
=no
; _tv_v4l1
=no
; _tv_v4l2
=no
3607 mingw32 || _win32dll
=no
3609 echores
"$_pthreads"
3612 if test "$_pthreads" = yes ; then
3613 def_pthread_cache
="#define PTHREAD_CACHE 1"
3616 def_stream_cache
="#undef CONFIG_STREAM_CACHE"
3620 echocheck
"w32threads"
3621 if test "$_pthreads" = yes ; then
3622 _res_comment
="using pthread instead"
3625 if test "$_w32threads" = auto
; then
3627 mingw32
&& _w32threads
=yes
3629 test "$_w32threads" = yes && def_threads
='#define HAVE_THREADS 1'
3630 echores
"$_w32threads"
3634 if test "$_rpath" = yes ; then
3635 for I
in $
(echo $extra_ldflags |
sed 's/-L//g') ; do
3636 tmp
="$tmp $(echo $I | sed 's/.*/ -L& -Wl,-R&/')"
3643 if test "$_iconv" = auto
; then
3648 #define INBUFSIZE 1024
3649 #define OUTBUFSIZE 4096
3651 char inbuffer[INBUFSIZE];
3652 char outbuffer[OUTBUFSIZE];
3657 char *tocode="UTF-8";
3658 char *fromcode="cp1250";
3659 if ((icdsc = iconv_open(tocode, fromcode)) != (iconv_t)(-1)) {
3660 while ((numread = read(0, inbuffer, INBUFSIZE))) {
3661 char *iptr=inbuffer;
3662 char *optr=outbuffer;
3663 size_t inleft=numread;
3664 size_t outleft=OUTBUFSIZE;
3665 if (iconv(icdsc, (const char **)&iptr, &inleft, &optr, &outleft)
3667 write(1, outbuffer, OUTBUFSIZE - outleft);
3670 if (iconv_close(icdsc) == -1)
3677 for _ld_tmp
in "" "-liconv" "-liconv $_ld_dl" ; do
3678 cc_check
$_ld_lm $_ld_tmp && extra_ldflags
="$extra_ldflags $_ld_tmp" && \
3682 if test "$_iconv" = yes ; then
3683 def_iconv
='#define CONFIG_ICONV 1'
3685 def_iconv
='#undef CONFIG_ICONV'
3690 echocheck
"soundcard.h"
3692 def_soundcard_h
='#undef HAVE_SOUNDCARD_H'
3693 def_sys_soundcard_h
='#undef HAVE_SYS_SOUNDCARD_H'
3694 for _soundcard_header
in "sys/soundcard.h" "soundcard.h"; do
3696 #include <$_soundcard_header>
3697 int main(void) { return 0; }
3699 cc_check
&& _soundcard_h
=yes && _res_comment
="$_soundcard_header" && break
3702 if test "$_soundcard_h" = yes ; then
3703 if test $_soundcard_header = "sys/soundcard.h"; then
3704 def_sys_soundcard_h
='#define HAVE_SYS_SOUNDCARD_H 1'
3706 def_soundcard_h
='#define HAVE_SOUNDCARD_H 1'
3709 echores
"$_soundcard_h"
3712 echocheck
"sys/dvdio.h"
3715 #include <sys/dvdio.h>
3716 int main(void) { return 0; }
3719 cc_check
&& _dvdio
=yes
3720 if test "$_dvdio" = yes ; then
3721 def_dvdio
='#define DVD_STRUCT_IN_SYS_DVDIO_H 1'
3723 def_dvdio
='#undef DVD_STRUCT_IN_SYS_DVDIO_H'
3728 echocheck
"sys/cdio.h"
3731 #include <sys/cdio.h>
3732 int main(void) { return 0; }
3735 cc_check
&& _cdio
=yes
3736 if test "$_cdio" = yes ; then
3737 def_cdio
='#define DVD_STRUCT_IN_SYS_CDIO_H 1'
3739 def_cdio
='#undef DVD_STRUCT_IN_SYS_CDIO_H'
3744 echocheck
"linux/cdrom.h"
3746 #include <sys/types.h>
3747 #include <linux/cdrom.h>
3748 int main(void) { return 0; }
3751 cc_check
&& _cdrom
=yes
3752 if test "$_cdrom" = yes ; then
3753 def_cdrom
='#define DVD_STRUCT_IN_LINUX_CDROM_H 1'
3755 def_cdrom
='#undef DVD_STRUCT_IN_LINUX_CDROM_H'
3763 int main(void) { return 0; }
3766 cc_check
&& _dvd
=yes
3767 if test "$_dvd" = yes ; then
3768 def_dvd
='#define DVD_STRUCT_IN_DVD_H 1'
3770 def_dvd
='#undef DVD_STRUCT_IN_DVD_H'
3776 echocheck
"BSDI dvd.h"
3779 int main(void) { return 0; }
3782 cc_check
&& _bsdi_dvd
=yes
3783 if test "$_bsdi_dvd" = yes ; then
3784 def_bsdi_dvd
='#define DVD_STRUCT_IN_BSDI_DVDIOCTL_DVD_H 1'
3786 def_bsdi_dvd
='#undef DVD_STRUCT_IN_BSDI_DVDIOCTL_DVD_H'
3788 echores
"$_bsdi_dvd"
3793 # also used by AIX, but AIX does not support VCD and/or libdvdread
3794 echocheck
"HP-UX SCSI header"
3796 #include <sys/scsi.h>
3797 int main(void) { return 0; }
3800 cc_check
&& _hpux_scsi_h
=yes
3801 if test "$_hpux_scsi_h" = yes ; then
3802 def_hpux_scsi_h
='#define HPUX_SCTL_IO 1'
3804 def_hpux_scsi_h
='#undef HPUX_SCTL_IO'
3806 echores
"$_hpux_scsi_h"
3811 echocheck
"userspace SCSI headers (Solaris)"
3814 #include <stropts.h>
3815 #include <sys/scsi/scsi_types.h>
3816 #include <sys/scsi/impl/uscsi.h>
3817 int main(void) { return 0; }
3820 cc_check
&& _sol_scsi_h
=yes
3821 if test "$_sol_scsi_h" = yes ; then
3822 def_sol_scsi_h
='#define SOLARIS_USCSI 1'
3824 def_sol_scsi_h
='#undef SOLARIS_USCSI'
3826 echores
"$_sol_scsi_h"
3831 if test "$_termcap" = auto
; then
3835 int main(void) { tgetent(NULL, NULL); return 0; }
3838 for _ld_tmp
in "-lncurses" "-ltinfo" "-ltermcap"; do
3839 cc_check
$_ld_tmp && extra_ldflags
="$extra_ldflags $_ld_tmp" \
3840 && _termcap
=yes && break
3843 if test "$_termcap" = yes ; then
3844 def_termcap
='#define HAVE_TERMCAP 1'
3845 test $_ld_tmp && _res_comment
="using $_ld_tmp"
3847 def_termcap
='#undef HAVE_TERMCAP'
3853 def_termios
='#undef HAVE_TERMIOS'
3854 def_termios_h
='#undef HAVE_TERMIOS_H'
3855 def_termios_sys_h
='#undef HAVE_SYS_TERMIOS_H'
3856 if test "$_termios" = auto
; then
3858 for _termios_header
in "sys/termios.h" "termios.h"; do
3860 #include <$_termios_header>
3861 int main(void) { return 0; }
3863 cc_check
&& _termios
=yes && _res_comment
="using $_termios_header" && break
3867 if test "$_termios" = yes ; then
3868 def_termios
='#define HAVE_TERMIOS 1'
3869 if test "$_termios_header" = "termios.h" ; then
3870 def_termios_h
='#define HAVE_TERMIOS_H 1'
3872 def_termios_sys_h
='#define HAVE_SYS_TERMIOS_H 1'
3879 if test "$_shm" = auto
; then
3881 #include <sys/types.h>
3882 #include <sys/shm.h>
3883 int main(void) { shmget(0, 0, 0); shmat(0, 0, 0); shmctl(0, 0, 0); return 0; }
3886 cc_check
&& _shm
=yes
3888 if test "$_shm" = yes ; then
3889 def_shm
='#define HAVE_SHM 1'
3891 def_shm
='#undef HAVE_SHM'
3896 echocheck
"strsep()"
3899 int main(void) { char *s = "Hello, world!"; (void) strsep(&s, ","); return 0; }
3902 cc_check
&& _strsep
=yes
3903 if test "$_strsep" = yes ; then
3904 def_strsep
='#define HAVE_STRSEP 1'
3907 def_strsep
='#undef HAVE_STRSEP'
3913 echocheck
"vsscanf()"
3915 #define _ISOC99_SOURCE
3918 int main(void) { va_list ap; vsscanf("foo", "bar", ap); return 0; }
3921 cc_check
&& _vsscanf
=yes
3922 if test "$_vsscanf" = yes ; then
3923 def_vsscanf
='#define HAVE_VSSCANF 1'
3926 def_vsscanf
='#undef HAVE_VSSCANF'
3934 #define _XOPEN_SOURCE 600
3936 int main(void) { swab(0, 0, 0); return 0; }
3939 cc_check
&& _swab
=yes
3940 if test "$_swab" = yes ; then
3941 def_swab
='#define HAVE_SWAB 1'
3944 def_swab
='#undef HAVE_SWAB'
3949 echocheck
"POSIX select()"
3953 #include <sys/types.h>
3955 #include <sys/time.h>
3957 int main(void) {int nfds = 1; fd_set readfds; struct timeval timeout; select(nfds,&readfds,NULL,NULL,&timeout); return 0; }
3960 def_posix_select
='#undef HAVE_POSIX_SELECT'
3961 #select() of kLIBC (OS/2) supports socket only
3962 ! os2
&& cc_check
&& _posix_select
=yes \
3963 && def_posix_select
='#define HAVE_POSIX_SELECT 1'
3964 echores
"$_posix_select"
3967 echocheck
"audio select()"
3968 if test "$_select" = no
; then
3969 def_select
='#undef HAVE_AUDIO_SELECT'
3970 elif test "$_select" = yes ; then
3971 def_select
='#define HAVE_AUDIO_SELECT 1'
3976 echocheck
"gettimeofday()"
3979 #include <sys/time.h>
3980 int main(void) {struct timeval tv_start; gettimeofday(&tv_start, NULL); return 0; }
3983 cc_check
&& _gettimeofday
=yes
3984 if test "$_gettimeofday" = yes ; then
3985 def_gettimeofday
='#define HAVE_GETTIMEOFDAY 1'
3986 _need_gettimeofday
=no
3988 def_gettimeofday
='#undef HAVE_GETTIMEOFDAY'
3989 _need_gettimeofday
=yes
3991 echores
"$_gettimeofday"
3998 int main(void) { glob_t gg; glob("filename",0,NULL,&gg); return 0; }
4001 cc_check
&& _glob
=yes
4002 if test "$_glob" = yes ; then
4003 def_glob
='#define HAVE_GLOB 1'
4006 def_glob
='#undef HAVE_GLOB'
4012 echocheck
"setenv()"
4015 int main(void) { setenv("","",0); return 0; }
4018 cc_check
&& _setenv
=yes
4019 if test "$_setenv" = yes ; then
4020 def_setenv
='#define HAVE_SETENV 1'
4023 def_setenv
='#undef HAVE_SETENV'
4029 echocheck
"setmode()"
4031 def_setmode
='#define HAVE_SETMODE 0'
4034 int main(void) { setmode(0, 0); return 0; }
4036 cc_check
&& _setmode
=yes && def_setmode
='#define HAVE_SETMODE 1'
4041 echocheck
"sysi86()"
4043 #include <sys/sysi86.h>
4044 int main(void) { sysi86(0); return 0; }
4047 cc_check
&& _sysi86
=yes
4048 if test "$_sysi86" = yes ; then
4049 def_sysi86
='#define HAVE_SYSI86 1'
4051 #include <sys/sysi86.h>
4052 int main(void) { int sysi86(int, void*); sysi86(0); return 0; }
4054 cc_check
&& def_sysi86_iv
='#define HAVE_SYSI86_iv 1'
4056 def_sysi86
='#undef HAVE_SYSI86'
4062 echocheck
"sys/sysinfo.h"
4064 #include <sys/sysinfo.h>
4066 struct sysinfo s_info;
4072 cc_check
&& _sys_sysinfo
=yes
4073 if test "$_sys_sysinfo" = yes ; then
4074 def_sys_sysinfo_h
='#define HAVE_SYS_SYSINFO_H 1'
4076 def_sys_sysinfo_h
='#undef HAVE_SYS_SYSINFO_H'
4078 echores
"$_sys_sysinfo"
4083 echocheck
"Mac OS X Finder Support"
4084 def_macosx_finder
='#undef CONFIG_MACOSX_FINDER'
4085 if test "$_macosx_finder" = yes ; then
4086 def_macosx_finder
='#define CONFIG_MACOSX_FINDER 1'
4087 extra_ldflags
="$extra_ldflags -framework Carbon"
4089 echores
"$_macosx_finder"
4091 echocheck
"Mac OS X Bundle file locations"
4092 def_macosx_bundle
='#undef CONFIG_MACOSX_BUNDLE'
4093 test "$_macosx_bundle" = auto
&& _macosx_bundle
=$_macosx_finder
4094 if test "$_macosx_bundle" = yes ; then
4095 def_macosx_bundle
='#define CONFIG_MACOSX_BUNDLE 1'
4096 extra_ldflags
="$extra_ldflags -framework Carbon"
4098 echores
"$_macosx_bundle"
4100 echocheck
"Apple Remote"
4101 if test "$_apple_remote" = auto
; then
4105 #include <IOKit/IOCFPlugIn.h>
4107 io_iterator_t hidObjectIterator = (io_iterator_t)NULL;
4108 CFMutableDictionaryRef hidMatchDictionary;
4109 IOReturn ioReturnValue;
4111 // Set up a matching dictionary to search the I/O Registry by class.
4112 // name for all HID class devices
4113 hidMatchDictionary = IOServiceMatching("AppleIRController");
4115 // Now search I/O Registry for matching devices.
4116 ioReturnValue = IOServiceGetMatchingServices(kIOMasterPortDefault,
4117 hidMatchDictionary, &hidObjectIterator);
4119 // If search is unsuccessful, return nonzero.
4120 if (ioReturnValue != kIOReturnSuccess ||
4121 !IOIteratorIsValid(hidObjectIterator)) {
4127 cc_check
-framework IOKit
&& tmp_run
&& _apple_remote
=yes
4129 if test "$_apple_remote" = yes ; then
4130 def_apple_remote
='#define CONFIG_APPLE_REMOTE 1'
4131 libs_mplayer
="$libs_mplayer -framework IOKit -framework Cocoa"
4133 def_apple_remote
='#undef CONFIG_APPLE_REMOTE'
4135 echores
"$_apple_remote"
4141 echocheck
"Apple IR"
4142 if test "$_apple_ir" = auto
; then
4145 #include <linux/types.h>
4146 #include <linux/input.h>
4148 struct input_event ev;
4153 cc_check
&& _apple_ir
=yes
4155 if test "$_apple_ir" = yes ; then
4156 def_apple_ir
='#define CONFIG_APPLE_IR 1'
4158 def_apple_ir
='#undef CONFIG_APPLE_IR'
4160 echores
"$_apple_ir"
4163 echocheck
"pkg-config"
4164 _pkg_config
=pkg-config
4165 if $
($_pkg_config --version > /dev
/null
2>&1); then
4166 if test "$_ld_static"; then
4167 _pkg_config
="$_pkg_config --static"
4176 echocheck
"Samba support (libsmbclient)"
4177 if test "$_smb" = yes; then
4178 extra_ldflags
="$extra_ldflags -lsmbclient"
4180 if test "$_smb" = auto
; then
4183 #include <libsmbclient.h>
4184 int main(void) { smbc_opendir("smb://"); return 0; }
4186 for _ld_tmp
in "-lsmbclient" "-lsmbclient $_ld_dl" "-lsmbclient $_ld_dl -lnsl" "-lsmbclient $_ld_dl -lssl -lnsl" ; do
4187 cc_check
$_ld_tmp && extra_ldflags
="$extra_ldflags $_ld_tmp" && \
4192 if test "$_smb" = yes; then
4193 def_smb
="#define CONFIG_LIBSMBCLIENT 1"
4194 _inputmodules
="smb $_inputmodules"
4196 def_smb
="#undef CONFIG_LIBSMBCLIENT"
4197 _noinputmodules
="smb $_noinputmodules"
4208 if test "$_tdfxfb" = yes ; then
4209 def_tdfxfb
='#define CONFIG_TDFXFB 1'
4210 _vomodules
="tdfxfb $_vomodules"
4212 def_tdfxfb
='#undef CONFIG_TDFXFB'
4213 _novomodules
="tdfxfb $_novomodules"
4218 if test "$_s3fb" = yes ; then
4219 def_s3fb
='#define CONFIG_S3FB 1'
4220 _vomodules
="s3fb $_vomodules"
4222 def_s3fb
='#undef CONFIG_S3FB'
4223 _novomodules
="s3fb $_novomodules"
4228 if test "$_wii" = yes ; then
4229 def_wii
='#define CONFIG_WII 1'
4230 _vomodules
="wii $_vomodules"
4232 def_wii
='#undef CONFIG_WII'
4233 _novomodules
="wii $_novomodules"
4238 if test "$_tdfxvid" = yes ; then
4239 def_tdfxvid
='#define CONFIG_TDFX_VID 1'
4240 _vomodules
="tdfx_vid $_vomodules"
4242 def_tdfxvid
='#undef CONFIG_TDFX_VID'
4243 _novomodules
="tdfx_vid $_novomodules"
4248 if test "$_xvr100" = auto
; then
4251 #include <sys/fbio.h>
4252 #include <sys/visual_io.h>
4254 struct vis_identifier ident;
4255 struct fbgattr attr;
4256 ioctl(0, VIS_GETIDENTIFIER, &ident);
4257 ioctl(0, FBIOGATTR, &attr);
4262 cc_check
&& _xvr100
=yes
4264 if test "$_xvr100" = yes ; then
4265 def_xvr100
='#define CONFIG_XVR100 1'
4266 _vomodules
="xvr100 $_vomodules"
4268 def_tdfxvid
='#undef CONFIG_XVR100'
4269 _novomodules
="xvr100 $_novomodules"
4274 if test "$_tga" = yes ; then
4275 def_tga
='#define CONFIG_TGA 1'
4276 _vomodules
="tga $_vomodules"
4278 def_tga
='#undef CONFIG_TGA'
4279 _novomodules
="tga $_novomodules"
4284 echocheck
"md5sum support"
4285 if test "$_md5sum" = yes; then
4286 def_md5sum
="#define CONFIG_MD5SUM 1"
4287 _vomodules
="md5sum $_vomodules"
4289 def_md5sum
="#undef CONFIG_MD5SUM"
4290 _novomodules
="md5sum $_novomodules"
4295 echocheck
"yuv4mpeg support"
4296 if test "$_yuv4mpeg" = yes; then
4297 def_yuv4mpeg
="#define CONFIG_YUV4MPEG 1"
4298 _vomodules
="yuv4mpeg $_vomodules"
4300 def_yuv4mpeg
="#undef CONFIG_YUV4MPEG"
4301 _novomodules
="yuv4mpeg $_novomodules"
4303 echores
"$_yuv4mpeg"
4307 if test "$_bl" = yes ; then
4308 def_bl
='#define CONFIG_BL 1'
4309 _vomodules
="bl $_vomodules"
4311 def_bl
='#undef CONFIG_BL'
4312 _novomodules
="bl $_novomodules"
4317 echocheck
"DirectFB"
4318 if test "$_directfb" = auto
; then
4321 #include <directfb.h>
4322 int main(void) { DirectFBInit(0, 0); return 0; }
4324 for _inc_tmp
in "" -I/usr
/local
/include
/directfb \
4325 -I/usr
/include
/directfb
-I/usr
/local
/include
; do
4326 cc_check
$_inc_tmp -ldirectfb && _directfb
=yes && \
4327 extra_cflags
="$extra_cflags $_inc_tmp" && break
4332 expr $1 \
* 65536 + $2 \
* 256 + $3
4335 if test "$_directfb" = yes; then
4337 #include <directfb_version.h>
4339 dfb_ver = DIRECTFB_MAJOR_VERSION.DIRECTFB_MINOR_VERSION.DIRECTFB_MICRO_VERSION
4342 if $_cc -E $TMPC $extra_cflags > "$TMPEXE"; then
4343 _directfb_version
=$
(sed -n 's/^dfb_ver[^0-9]*\(.*\)/\1/p' "$TMPEXE" |
tr -d '()')
4344 _dfb_major
=$
(echo $_directfb_version | cut
-d .
-f 1)
4345 _dfb_minor
=$
(echo $_directfb_version | cut
-d .
-f 2)
4346 _dfb_micro
=$
(echo $_directfb_version | cut
-d .
-f 3)
4347 _dfb_version
=$
(dfb_version
$_dfb_major $_dfb_minor $_dfb_micro)
4348 if test "$_dfb_version" -ge $
(dfb_version
0 9 13); then
4349 def_directfb_version
="#define DIRECTFBVERSION $_dfb_version"
4350 _res_comment
="$_directfb_version"
4351 test "$_dfb_version" -ge $
(dfb_version
0 9 15) && _dfbmga
=yes
4353 def_directfb_version
='#undef DIRECTFBVERSION'
4355 _res_comment
="version >=0.9.13 required"
4359 _res_comment
="failed to get version"
4362 echores
"$_directfb"
4364 if test "$_directfb" = yes ; then
4365 def_directfb
='#define CONFIG_DIRECTFB 1'
4366 _vomodules
="directfb $_vomodules"
4367 libs_mplayer
="$libs_mplayer -ldirectfb"
4369 def_directfb
='#undef CONFIG_DIRECTFB'
4370 _novomodules
="directfb $_novomodules"
4372 if test "$_dfbmga" = yes; then
4373 _vomodules
="dfbmga $_vomodules"
4374 def_dfbmga
='#define CONFIG_DFBMGA 1'
4376 _novomodules
="dfbmga $_novomodules"
4377 def_dfbmga
='#undef CONFIG_DFBMGA'
4381 echocheck
"X11 headers presence"
4383 _res_comment
="check if the dev(el) packages are installed"
4384 for I
in $
(echo $extra_cflags |
sed s
/-I//g
) /usr
/include
; do
4385 if test -f "$I/X11/Xlib.h" ; then
4391 if test $_cross_compile = no
; then
4392 for I
in /usr
/X11
/include
/usr
/X11R
7/include
/usr
/local
/include
/usr
/X11R
6/include \
4393 /usr
/include
/X11R6
/usr
/openwin
/include
; do
4394 if test -f "$I/X11/Xlib.h" ; then
4395 extra_cflags
="$extra_cflags -I$I"
4397 _res_comment
="using $I"
4402 echores
"$_x11_headers"
4406 if test "$_x11" = auto
&& test "$_x11_headers" = yes ; then
4408 #include <X11/Xlib.h>
4409 #include <X11/Xutil.h>
4410 int main(void) { (void) XCreateWindow(0,0,0,0,0,0,0,0,0,0,0,0); return 0; }
4412 for I
in "" -L/usr
/X11R
7/lib
-L/usr
/local
/lib
-L/usr
/X11R
6/lib
-L/usr
/lib
/X11R6 \
4413 -L/usr
/X11
/lib
-L/usr
/lib32
-L/usr
/openwin
/lib
-L/usr
/local
/lib64
-L/usr
/X11R
6/lib64 \
4416 _ld_tmp
="$I -lXext -lX11 $_ld_pthread -Wl,-R$(echo $I | sed s/^-L//)"
4418 _ld_tmp
="$I -lXext -lX11 $_ld_pthread"
4420 cc_check
$_ld_tmp && libs_mplayer
="$libs_mplayer $_ld_tmp" \
4421 && _x11
=yes && break
4424 if test "$_x11" = yes ; then
4425 def_x11
='#define CONFIG_X11 1'
4426 _vomodules
="x11 xover $_vomodules"
4429 def_x11
='#undef CONFIG_X11'
4430 _novomodules
="x11 $_novomodules"
4431 _res_comment
="check if the dev(el) packages are installed"
4432 # disable stuff that depends on X
4433 _xv
=no
; _xvmc
=no
; _xinerama
=no
; _vm
=no
; _xf86keysym
=no
; _vdpau
=no
4437 echocheck
"Xss screensaver extensions"
4438 if test "$_xss" = auto
; then
4440 #include <X11/Xlib.h>
4441 #include <X11/extensions/scrnsaver.h>
4442 int main(void) { XScreenSaverSuspend(NULL, True); return 0; }
4445 cc_check
-lXss && _xss
=yes
4447 if test "$_xss" = yes ; then
4448 def_xss
='#define CONFIG_XSS 1'
4449 libs_mplayer
="$libs_mplayer -lXss"
4451 def_xss
='#undef CONFIG_XSS'
4458 if test "$_x11" = yes ; then
4460 #include <X11/Xmd.h>
4461 #include <X11/Xlib.h>
4462 #include <X11/Xutil.h>
4463 #include <X11/Xatom.h>
4464 #include <X11/extensions/dpms.h>
4465 int main(void) { (void) DPMSQueryExtension(0, 0, 0); return 0; }
4467 cc_check
-lXdpms && _xdpms3
=yes
4469 #include <X11/Xlib.h>
4470 #include <X11/extensions/dpms.h>
4471 int main(void) { (void) DPMSQueryExtension(0, 0, 0); return 0; }
4473 cc_check
-lXext && _xdpms4
=yes
4475 if test "$_xdpms4" = yes ; then
4476 def_xdpms
='#define CONFIG_XDPMS 1'
4477 _res_comment
="using Xdpms 4"
4479 elif test "$_xdpms3" = yes ; then
4480 def_xdpms
='#define CONFIG_XDPMS 1'
4481 libs_mplayer
="$libs_mplayer -lXdpms"
4482 _res_comment
="using Xdpms 3"
4485 def_xdpms
='#undef CONFIG_XDPMS'
4491 if test "$_xv" = auto
; then
4493 #include <X11/Xlib.h>
4494 #include <X11/extensions/Xvlib.h>
4496 (void) XvGetPortAttribute(0, 0, 0, 0);
4497 (void) XvQueryPortAttributes(0, 0, 0);
4501 cc_check
-lXv && _xv
=yes
4504 if test "$_xv" = yes ; then
4505 def_xv
='#define CONFIG_XV 1'
4506 libs_mplayer
="$libs_mplayer -lXv"
4507 _vomodules
="xv $_vomodules"
4509 def_xv
='#undef CONFIG_XV'
4510 _novomodules
="xv $_novomodules"
4516 if test "$_xv" = yes && test "$_xvmc" != no
; then
4519 #include <X11/Xlib.h>
4520 #include <X11/extensions/Xvlib.h>
4521 #include <X11/extensions/XvMClib.h>
4523 (void) XvMCQueryExtension(0,0,0);
4524 (void) XvMCCreateContext(0,0,0,0,0,0,0);
4527 for _ld_tmp
in $_xvmclib XvMCNVIDIA XvMCW I810XvMC
; do
4528 cc_check
-lXvMC -l$_ld_tmp && _xvmc
=yes && _xvmclib
="$_ld_tmp" && break
4531 if test "$_xvmc" = yes ; then
4532 def_xvmc
='#define CONFIG_XVMC 1'
4533 libs_mplayer
="$libs_mplayer -lXvMC -l$_xvmclib"
4534 _vomodules
="xvmc $_vomodules"
4535 _res_comment
="using $_xvmclib"
4537 def_xvmc
='#define CONFIG_XVMC 0'
4538 _novomodules
="xvmc $_novomodules"
4539 _libavdecoders
=$
(echo $_libavdecoders |
sed -e s
/MPEG_XVMC_DECODER
//)
4545 if test "$_vdpau" = auto
; then
4547 if test "$_dl" = yes ; then
4549 #include <vdpau/vdpau_x11.h>
4551 (void) vdp_device_create_x11(0, 0, 0, 0);
4552 return VDP_VIDEO_MIXER_FEATURE_HIGH_QUALITY_SCALING_L1; }
4554 cc_check
-lvdpau && _vdpau
=yes
4557 if test "$_vdpau" = yes ; then
4558 def_vdpau
='#define CONFIG_VDPAU 1'
4559 libs_mplayer
="$libs_mplayer -lvdpau"
4560 _vomodules
="vdpau $_vomodules"
4562 def_vdpau
='#define CONFIG_VDPAU 0'
4563 _novomodules
="vdpau $_novomodules"
4564 _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
//)
4569 echocheck
"Xinerama"
4570 if test "$_xinerama" = auto
; then
4572 #include <X11/Xlib.h>
4573 #include <X11/extensions/Xinerama.h>
4574 int main(void) { (void) XineramaIsActive(0); return 0; }
4577 cc_check
-lXinerama && _xinerama
=yes
4580 if test "$_xinerama" = yes ; then
4581 def_xinerama
='#define CONFIG_XINERAMA 1'
4582 libs_mplayer
="$libs_mplayer -lXinerama"
4584 def_xinerama
='#undef CONFIG_XINERAMA'
4586 echores
"$_xinerama"
4589 # Note: the -lXxf86vm library is the VideoMode extension and though it's not
4590 # needed for DGA, AFAIK every distribution packages together with DGA stuffs
4591 # named 'X extensions' or something similar.
4592 # This check may be useful for future mplayer versions (to change resolution)
4593 # If you run into problems, remove '-lXxf86vm'.
4595 if test "$_vm" = auto
; then
4597 #include <X11/Xlib.h>
4598 #include <X11/extensions/xf86vmode.h>
4599 int main(void) { (void) XF86VidModeQueryExtension(0, 0, 0); return 0; }
4602 cc_check
-lXxf86vm && _vm
=yes
4604 if test "$_vm" = yes ; then
4605 def_vm
='#define CONFIG_XF86VM 1'
4606 libs_mplayer
="$libs_mplayer -lXxf86vm"
4608 def_vm
='#undef CONFIG_XF86VM'
4612 # Check for the presence of special keycodes, like audio control buttons
4613 # that XFree86 might have. Used to be bundled with the xf86vm check, but
4614 # has nothing to do with xf86vm and XFree 3.x has xf86vm but does NOT
4615 # have these new keycodes.
4616 echocheck
"XF86keysym"
4617 if test "$_xf86keysym" = auto
; then
4620 #include <X11/Xlib.h>
4621 #include <X11/XF86keysym.h>
4622 int main(void) { return XF86XK_AudioPause; }
4624 cc_check
&& _xf86keysym
=yes
4626 if test "$_xf86keysym" = yes ; then
4627 def_xf86keysym
='#define CONFIG_XF86XK 1'
4629 def_xf86keysym
='#undef CONFIG_XF86XK'
4631 echores
"$_xf86keysym"
4634 if test "$_dga2" = auto
&& test "$_x11" = yes ; then
4636 #include <X11/Xlib.h>
4637 #include <X11/extensions/xf86dga.h>
4638 int main(void) { (void) XDGASetViewport(0, 0, 0, 0, 0); return 0; }
4641 cc_check
-lXxf86dga && _dga2
=yes
4643 if test "$_dga1" = auto
&& test "$_dga2" = no
&& test "$_vm" = yes ; then
4645 #include <X11/Xlib.h>
4646 #include <X11/extensions/xf86dga.h>
4647 int main(void) { (void) XF86DGASetViewPort(0, 0, 0, 0); return 0; }
4650 cc_check
-lXxf86dga -lXxf86vm && _dga1
=yes
4654 def_dga
='#undef CONFIG_DGA'
4655 def_dga1
='#undef CONFIG_DGA1'
4656 def_dga2
='#undef CONFIG_DGA2'
4657 if test "$_dga1" = yes ; then
4659 def_dga1
='#define CONFIG_DGA1 1'
4660 _res_comment
="using DGA 1.0"
4661 elif test "$_dga2" = yes ; then
4663 def_dga2
='#define CONFIG_DGA2 1'
4664 _res_comment
="using DGA 2.0"
4666 if test "$_dga" = yes ; then
4667 def_dga
='#define CONFIG_DGA 1'
4668 libs_mplayer
="$libs_mplayer -lXxf86dga"
4669 _vomodules
="dga $_vomodules"
4671 _novomodules
="dga $_novomodules"
4677 if test "$_3dfx" = yes && test "$_dga" = yes ; then
4678 def_3dfx
='#define CONFIG_3DFX 1'
4679 _vomodules
="3dfx $_vomodules"
4681 def_3dfx
='#undef CONFIG_3DFX'
4682 _novomodules
="3dfx $_novomodules"
4688 def_vidix
='#undef CONFIG_VIDIX'
4689 def_vidix_drv_cyberblade
='#undef CONFIG_VIDIX_DRV_CYBERBLADE'
4690 _vidix_drv_cyberblade
=no
4691 def_vidix_drv_ivtv
='#undef CONFIG_VIDIX_DRV_IVTV'
4693 def_vidix_drv_mach64
='#undef CONFIG_VIDIX_DRV_MACH64'
4694 _vidix_drv_mach64
=no
4695 def_vidix_drv_mga
='#undef CONFIG_VIDIX_DRV_MGA'
4697 def_vidix_drv_mga_crtc2
='#undef CONFIG_VIDIX_DRV_MGA_CRTC2'
4698 _vidix_drv_mga_crtc2
=no
4699 def_vidix_drv_nvidia
='#undef CONFIG_VIDIX_DRV_NVIDIA'
4700 _vidix_drv_nvidia
=no
4701 def_vidix_drv_pm2
='#undef CONFIG_VIDIX_DRV_PM2'
4703 def_vidix_drv_pm3
='#undef CONFIG_VIDIX_DRV_PM3'
4705 def_vidix_drv_radeon
='#undef CONFIG_VIDIX_DRV_RADEON'
4706 _vidix_drv_radeon
=no
4707 def_vidix_drv_rage128
='#undef CONFIG_VIDIX_DRV_RAGE128'
4708 _vidix_drv_rage128
=no
4709 def_vidix_drv_s3
='#undef CONFIG_VIDIX_DRV_S3'
4711 def_vidix_drv_sh_veu
='#undef CONFIG_VIDIX_DRV_SH_VEU'
4712 _vidix_drv_sh_veu
=no
4713 def_vidix_drv_sis
='#undef CONFIG_VIDIX_DRV_SIS'
4715 def_vidix_drv_unichrome
='#undef CONFIG_VIDIX_DRV_UNICHROME'
4716 _vidix_drv_unichrome
=no
4717 if test "$_vidix" = auto
; then
4719 x86
&& (linux || freebsd || netbsd || openbsd || dragonfly || sunos || win32
) \
4721 x86_64
&& win32
&& _vidix
=no
4722 (ppc || alpha
) && linux
&& _vidix
=yes
4726 if test "$_vidix" = yes ; then
4727 def_vidix
='#define CONFIG_VIDIX 1'
4728 _vomodules
="cvidix $_vomodules"
4729 # FIXME: ivtv driver temporarily disabled until we have a proper test
4730 #test "$_vidix_drivers" || _vidix_drivers="cyberblade ivtv mach64 mga mga_crtc2 nvidia pm2 pm3 radeon rage128 s3 sh_veu sis unichrome"
4731 test "$_vidix_drivers" || _vidix_drivers
="cyberblade mach64 mga mga_crtc2 nvidia pm2 pm3 radeon rage128 s3 sh_veu sis unichrome"
4733 # some vidix drivers are architecture and os specific, discard them elsewhere
4734 x86 || _vidix_drivers
=$
(echo $_vidix_drivers |
sed -e s
/cyberblade
// -e s
/sis
// -e s
/unichrome
// -e s
/s
3//)
4735 (test $host_arch = "sh" && linux
) || _vidix_drivers
=$
(echo $_vidix_drivers |
sed s
/sh_veu
//)
4737 for driver
in $_vidix_drivers ; do
4738 uc_driver
=$
(echo $driver |
tr '[a-z]' '[A-Z]')
4739 eval _vidix_drv_
${driver}=yes
4740 eval def_vidix_drv_
${driver}=\"\
#define CONFIG_VIDIX_DRV_${uc_driver} 1\"
4743 echocheck
"VIDIX PCI device name database"
4744 echores
"$_vidix_pcidb"
4745 if test "$_vidix_pcidb" = yes ; then
4751 echocheck
"VIDIX dhahelper support"
4752 test "$_dhahelper" = yes && cflags_dhahelper
=-DCONFIG_DHAHELPER
4753 echores
"$_dhahelper"
4755 echocheck
"VIDIX svgalib_helper support"
4756 test "$_svgalib_helper" = yes && cflags_svgalib_helper
=-DCONFIG_SVGAHELPER
4757 echores
"$_svgalib_helper"
4760 _novomodules
="cvidix $_novomodules"
4763 if test "$_vidix" = yes && win32
; then
4765 _vomodules
="winvidix $_vomodules"
4766 libs_mplayer
="$libs_mplayer -lgdi32"
4768 _novomodules
="winvidix $_novomodules"
4770 if test "$_vidix" = yes && test "$_x11" = yes; then
4772 _vomodules
="xvidix $_vomodules"
4774 _novomodules
="xvidix $_novomodules"
4777 echocheck
"/dev/mga_vid"
4778 if test "$_mga" = auto
; then
4780 test -c /dev
/mga_vid
&& _mga
=yes
4782 if test "$_mga" = yes ; then
4783 def_mga
='#define CONFIG_MGA 1'
4784 _vomodules
="mga $_vomodules"
4786 def_mga
='#undef CONFIG_MGA'
4787 _novomodules
="mga $_novomodules"
4792 if test "$_xmga" = auto
; then
4794 test "$_x11" = yes && test "$_mga" = yes && _xmga
=yes
4796 if test "$_xmga" = yes ; then
4797 def_xmga
='#define CONFIG_XMGA 1'
4798 _vomodules
="xmga $_vomodules"
4800 def_xmga
='#undef CONFIG_XMGA'
4801 _novomodules
="xmga $_novomodules"
4807 if test "$_ggi" = auto
; then
4809 #include <ggi/ggi.h>
4810 int main(void) { ggiInit(); return 0; }
4813 cc_check
-lggi && _ggi
=yes
4815 if test "$_ggi" = yes ; then
4816 def_ggi
='#define CONFIG_GGI 1'
4817 libs_mplayer
="$libs_mplayer -lggi"
4818 _vomodules
="ggi $_vomodules"
4820 def_ggi
='#undef CONFIG_GGI'
4821 _novomodules
="ggi $_novomodules"
4825 echocheck
"GGI extension: libggiwmh"
4826 if test "$_ggiwmh" = auto
; then
4829 #include <ggi/ggi.h>
4830 #include <ggi/wmh.h>
4831 int main(void) { ggiInit(); ggiWmhInit(); return 0; }
4833 cc_check
-lggi -lggiwmh && _ggiwmh
=yes
4835 # needed to get right output on obscure combination
4836 # like --disable-ggi --enable-ggiwmh
4837 if test "$_ggi" = yes && test "$_ggiwmh" = yes ; then
4838 def_ggiwmh
='#define CONFIG_GGIWMH 1'
4839 libs_mplayer
="$libs_mplayer -lggiwmh"
4842 def_ggiwmh
='#undef CONFIG_GGIWMH'
4848 if test "$_aa" = auto
; then
4851 extern struct aa_hardware_params aa_defparams;
4852 extern struct aa_renderparams aa_defrenderparams;
4856 (void) aa_init(0, 0, 0);
4857 c = aa_autoinit(&aa_defparams);
4858 p = aa_getrenderparams();
4859 aa_autoinitkbd(c,0);
4863 for _ld_tmp
in "-laa" ; do
4864 cc_check
$_ld_tmp && libs_mplayer
="$libs_mplayer $_ld_tmp" && _aa
=yes && break
4867 if test "$_aa" = yes ; then
4868 def_aa
='#define CONFIG_AA 1'
4870 libs_mplayer
="$libs_mplayer $(aalib-config --libs | cut -d " " -f 2,5,6)"
4872 _vomodules
="aa $_vomodules"
4874 def_aa
='#undef CONFIG_AA'
4875 _novomodules
="aa $_novomodules"
4881 if test "$_caca" = auto
; then
4883 if ( caca-config
--version ) >> "$TMPLOG" 2>&1 ; then
4886 #ifdef CACA_API_VERSION_1
4889 int main(void) { (void) caca_init(); return 0; }
4891 cc_check $
(caca-config
--libs) && _caca
=yes
4894 if test "$_caca" = yes ; then
4895 def_caca
='#define CONFIG_CACA 1'
4896 extra_cflags
="$extra_cflags $(caca-config --cflags)"
4897 libs_mplayer
="$libs_mplayer $(caca-config --libs)"
4898 _vomodules
="caca $_vomodules"
4900 def_caca
='#undef CONFIG_CACA'
4901 _novomodules
="caca $_novomodules"
4907 if test "$_svga" = auto
; then
4910 int main(void) { return 0; }
4913 cc_check
-lvga $_ld_lm && _svga
=yes
4915 if test "$_svga" = yes ; then
4916 def_svga
='#define CONFIG_SVGALIB 1'
4917 libs_mplayer
="$libs_mplayer -lvga"
4918 _vomodules
="svga $_vomodules"
4920 def_svga
='#undef CONFIG_SVGALIB'
4921 _novomodules
="svga $_novomodules"
4927 if test "$_fbdev" = auto
; then
4931 if test "$_fbdev" = yes ; then
4932 def_fbdev
='#define CONFIG_FBDEV 1'
4933 _vomodules
="fbdev $_vomodules"
4935 def_fbdev
='#undef CONFIG_FBDEV'
4936 _novomodules
="fbdev $_novomodules"
4943 if test "$_dvb" = auto
; then
4947 #include <sys/ioctl.h>
4951 #include <linux/dvb/dmx.h>
4952 #include <linux/dvb/frontend.h>
4953 #include <linux/dvb/video.h>
4954 #include <linux/dvb/audio.h>
4955 int main(void) {return 0;}
4957 for _inc_tmp
in "" "-I/usr/src/DVB/include" ; do
4958 cc_check
$_inc_tmp && _dvb
=yes && \
4959 extra_cflags
="$extra_cflags $_inc_tmp" && break
4963 if test "$_dvb" = yes ; then
4965 _inputmodules
="dvb $_inputmodules"
4966 def_dvb
='#define CONFIG_DVB 1'
4967 def_dvbin
='#define CONFIG_DVBIN 1'
4968 _aomodules
="mpegpes(dvb) $_aomodules"
4969 _vomodules
="mpegpes(dvb) $_vomodules"
4972 _noinputmodules
="dvb $_noinputmodules"
4973 def_dvb
='#undef CONFIG_DVB'
4974 def_dvbin
='#undef CONFIG_DVBIN '
4975 _aomodules
="mpegpes(file) $_aomodules"
4976 _vomodules
="mpegpes(file) $_vomodules"
4982 echocheck
"QuickTime"
4983 if test "$quicktime" = auto
; then
4985 #include <QuickTime/QuickTime.h>
4987 ImageDescription *desc;
4994 cc_check
-framework QuickTime
&& quicktime
=yes
4996 if test "$quicktime" = yes ; then
4997 extra_ldflags
="$extra_ldflags -framework QuickTime"
4998 def_quicktime
='#define CONFIG_QUICKTIME 1'
5000 def_quicktime
='#undef CONFIG_QUICKTIME'
5006 if test "$_quartz" = auto
; then
5008 #include <Carbon/Carbon.h>
5010 CFRunLoopRunInMode(kCFRunLoopDefaultMode, 0, false);
5015 cc_check
-framework Carbon
&& _quartz
=yes
5017 if test "$_quartz" = yes ; then
5018 libs_mplayer
="$libs_mplayer -framework Carbon"
5019 def_quartz
='#define CONFIG_QUARTZ 1'
5020 _vomodules
="quartz $_vomodules"
5022 def_quartz
='#undef CONFIG_QUARTZ'
5023 _novomodules
="quartz $_novomodules"
5027 echocheck
"CoreVideo"
5028 if test "$_corevideo" = auto
; then
5030 #include <Carbon/Carbon.h>
5031 #include <CoreServices/CoreServices.h>
5032 #include <OpenGL/OpenGL.h>
5033 #include <QuartzCore/CoreVideo.h>
5034 int main(void) { return 0; }
5037 cc_check
-framework Carbon
-framework Cocoa
-framework QuartzCore
-framework OpenGL
&& _corevideo
=yes
5039 if test "$_corevideo" = yes ; then
5040 _vomodules
="corevideo $_vomodules"
5041 libs_mplayer
="$libs_mplayer -framework Carbon -framework Cocoa -framework QuartzCore -framework OpenGL"
5042 def_corevideo
='#define CONFIG_COREVIDEO 1'
5044 _novomodules
="corevideo $_novomodules"
5045 def_corevideo
='#undef CONFIG_COREVIDEO'
5047 echores
"$_corevideo"
5052 # make sure this stays below CoreVideo to avoid issues due to namespace
5053 # conflicts between -lGL and -framework OpenGL
5055 #Note: this test is run even with --enable-gl since we autodetect linker flags
5056 if (test "$_x11" = yes || win32
) && test "$_gl" != no
; then
5059 #include <windows.h>
5063 #include <X11/Xlib.h>
5069 wglCreateContext(dc);
5071 glXCreateContext(NULL, NULL, NULL, True);
5078 for _ld_tmp
in -lGL "-lGL -lXdamage" "-lGL $_ld_pthread" ; do
5079 if cc_check
$_ld_tmp $_ld_lm ; then
5082 libs_mplayer
="$libs_mplayer $_ld_tmp $_ld_dl"
5086 if cc_check
-DGL_WIN32 -lopengl32 ; then
5089 libs_mplayer
="$libs_mplayer -lopengl32 -lgdi32"
5094 if test "$_gl" = yes ; then
5095 def_gl
='#define CONFIG_GL 1'
5096 _res_comment
="backends:"
5097 if test "$_gl_win32" = yes ; then
5098 def_gl_win32
='#define CONFIG_GL_WIN32 1'
5099 _res_comment
="$_res_comment win32"
5101 if test "$_gl_x11" = yes ; then
5102 def_gl_x11
='#define CONFIG_GL_X11 1'
5103 _res_comment
="$_res_comment x11"
5105 _vomodules
="opengl $_vomodules"
5107 def_gl
='#undef CONFIG_GL'
5108 def_gl_win32
='#undef CONFIG_GL_WIN32'
5109 def_gl_x11
='#undef CONFIG_GL_X11'
5110 _novomodules
="opengl $_novomodules"
5115 echocheck
"MatrixView"
5116 if test "$_gl" = no
; then
5119 if test "$matrixview" = yes ; then
5120 _vomodules
="matrixview $_vomodules"
5121 def_matrixview
='#define CONFIG_MATRIXVIEW 1'
5123 _novomodules
="matrixview $_novomodules"
5124 def_matrixview
='#undef CONFIG_MATRIXVIEW'
5126 echores
"$matrixview"
5129 echocheck
"PNG support"
5130 if test "$_png" = auto
; then
5133 # Don't check for -lpng on irix since it has its own libpng
5134 # incompatible with the GNU libpng
5135 _res_comment
="disabled on irix (not GNU libpng)"
5141 printf("png.h : %s\n", PNG_LIBPNG_VER_STRING);
5142 printf("libpng: %s\n", png_libpng_ver);
5143 return strcmp(PNG_LIBPNG_VER_STRING, png_libpng_ver);
5146 cc_check
-lpng -lz $_ld_lm && _png
=yes
5150 if test "$_png" = yes ; then
5151 def_png
='#define CONFIG_PNG 1'
5152 extra_ldflags
="$extra_ldflags -lpng -lz"
5154 def_png
='#undef CONFIG_PNG'
5157 echocheck
"MNG support"
5158 if test "$_mng" = auto
; then
5163 const char * p_ver = mng_version_text();
5164 return !p_ver || p_ver[0] == 0;
5167 if cc_check
-lmng -lz $_ld_lm ; then
5172 if test "$_mng" = yes ; then
5173 def_mng
='#define CONFIG_MNG 1'
5174 extra_ldflags
="$extra_ldflags -lmng -lz"
5176 def_mng
='#undef CONFIG_MNG'
5179 echocheck
"JPEG support"
5180 if test "$_jpeg" = auto
; then
5187 #include <jpeglib.h>
5188 int main(void) { return 0; }
5190 cc_check
-ljpeg $_ld_lm && _jpeg
=yes
5194 if test "$_jpeg" = yes ; then
5195 def_jpeg
='#define CONFIG_JPEG 1'
5196 _vomodules
="jpeg $_vomodules"
5197 extra_ldflags
="$extra_ldflags -ljpeg"
5199 def_jpeg
='#undef CONFIG_JPEG'
5200 _novomodules
="jpeg $_novomodules"
5204 echocheck
"OpenJPEG (JPEG2000) support"
5205 if test "$libopenjpeg" = auto
; then
5209 #include <openjpeg.h>
5210 int main(void) { opj_dparameters_t dec_params; opj_set_default_decoder_parameters(&dec_params); return 0; }
5212 cc_check
-lopenjpeg $_ld_lm && libopenjpeg
=yes
5214 echores
"$libopenjpeg"
5215 if test "$libopenjpeg" = yes ; then
5216 def_libopenjpeg
='#define CONFIG_LIBOPENJPEG 1'
5217 extra_ldflags
="$extra_ldflags -lopenjpeg"
5218 _libavdecoders
="$_libavdecoders LIBOPENJPEG_DECODER"
5219 _libavencoders
="$_libavencoders LIBOPENJPEG_ENCODER"
5220 _codecmodules
="OpenJPEG $_codecmodules"
5222 def_libopenjpeg
='#define CONFIG_LIBOPENJPEG 0'
5223 _nocodecmodules
="OpenJPEG $_nocodecmodules"
5227 echocheck
"PNM support"
5228 if test "$_pnm" = yes; then
5229 def_pnm
="#define CONFIG_PNM 1"
5230 _vomodules
="pnm $_vomodules"
5232 def_pnm
="#undef CONFIG_PNM"
5233 _novomodules
="pnm $_novomodules"
5239 echocheck
"GIF support"
5240 # This is to appease people who want to force gif support.
5241 # If it is forced to yes, then we still do checks to determine
5242 # which gif library to use.
5243 if test "$_gif" = yes ; then
5248 if test "$_gif" = auto
; then
5251 #include <gif_lib.h>
5252 int main(void) { return 0; }
5254 for _ld_gif
in "-lungif" "-lgif" ; do
5255 cc_check
$_ld_gif && _gif
=yes && break
5259 # If no library was found, and the user wants support forced,
5260 # then we force it on with libgif, as this is the safest
5261 # assumption IMHO. (libungif & libregif both create symbolic
5262 # links to libgif. We also assume that no x11 support is needed,
5263 # because if you are forcing this, then you _should_ know what
5264 # you are doing. [ Besides, package maintainers should never
5265 # have compiled x11 deps into libungif in the first place. ] )
5268 if test "$_force_gif" = yes && test "$_gif" = no
; then
5273 if test "$_gif" = yes ; then
5274 def_gif
='#define CONFIG_GIF 1'
5275 _codecmodules
="gif $_codecmodules"
5276 _vomodules
="gif89a $_vomodules"
5277 _res_comment
="old version, some encoding functions disabled"
5278 def_gif_4
='#undef CONFIG_GIF_4'
5279 extra_ldflags
="$extra_ldflags $_ld_gif"
5283 #include <gif_lib.h>
5284 void catch() { exit(1); }
5286 signal(SIGSEGV, catch); // catch segfault
5287 printf("EGifPutExtensionFirst is at address %p\n", EGifPutExtensionFirst);
5288 EGifSetGifVersion("89a"); // this will segfault a buggy gif lib.
5292 if cc_check
"$_ld_gif" ; then
5293 def_gif_4
='#define CONFIG_GIF_4 1'
5297 def_gif
='#undef CONFIG_GIF'
5298 def_gif_4
='#undef CONFIG_GIF_4'
5299 _novomodules
="gif89a $_novomodules"
5300 _nocodecmodules
="gif $_nocodecmodules"
5305 case "$_gif" in yes*)
5306 echocheck
"broken giflib workaround"
5307 def_gif_tvt_hack
='#define CONFIG_GIF_TVT_HACK 1'
5310 #include <gif_lib.h>
5313 printf("UserData is at address %p\n", gif.UserData);
5317 if cc_check
"$_ld_gif" ; then
5318 def_gif_tvt_hack
='#undef CONFIG_GIF_TVT_HACK'
5327 echocheck
"VESA support"
5328 if test "$_vesa" = auto
; then
5331 int main(void) { vbeVersion(); return 0; }
5334 cc_check
-lvbe -llrmi && _vesa
=yes
5336 if test "$_vesa" = yes ; then
5337 def_vesa
='#define CONFIG_VESA 1'
5338 libs_mplayer
="$libs_mplayer -lvbe -llrmi"
5339 _vomodules
="vesa $_vomodules"
5341 def_vesa
='#undef CONFIG_VESA'
5342 _novomodules
="vesa $_novomodules"
5354 def_sdl_sdl_h
="#undef CONFIG_SDL_SDL_H"
5355 if test -z "$_sdlconfig" ; then
5356 if ( sdl-config
--version ) >>"$TMPLOG" 2>&1 ; then
5357 _sdlconfig
="sdl-config"
5358 elif ( sdl11-config
--version ) >>"$TMPLOG" 2>&1 ; then
5359 _sdlconfig
="sdl11-config"
5364 if test "$_sdl" = auto ||
test "$_sdl" = yes ; then
5366 #ifdef CONFIG_SDL_SDL_H
5367 #include <SDL/SDL.h>
5372 // we allow SDL hacking our main() only on OSX
5375 int main(int argc, char *argv[]) {
5376 SDL_Init(SDL_INIT_VIDEO|SDL_INIT_NOPARACHUTE);
5381 for _ld_tmp
in "-lSDL" "-lSDL -lpthread" "-lSDL -lwinmm -lgdi32" "-lSDL -lwinmm -lgdi32 -ldxguid" ; do
5382 if cc_check
-DCONFIG_SDL_SDL_H $_inc_tmp $_ld_tmp ; then
5384 def_sdl_sdl_h
="#define CONFIG_SDL_SDL_H 1"
5388 if test "$_sdl" = no
&& "$_sdlconfig" --version >>"$TMPLOG" 2>&1 ; then
5389 _res_comment
="using $_sdlconfig"
5391 _inc_tmp
="$($_sdlconfig --cflags | cut -d " " -f 1,5,6 | sed s/no-cygwin/cygwin/)"
5392 _ld_tmp
="$($_sdlconfig --libs | cut -d " " -f 1,4,6 | sed s/no-cygwin/cygwin/)"
5394 _inc_tmp
=$
($_sdlconfig --cflags |
sed s
/-Dmain=SDL_main
//)
5395 _ld_tmp
=$
($_sdlconfig --libs |
sed -e s
/-mwindows// -e s
/-lmingw32//)
5397 _inc_tmp
="$($_sdlconfig --cflags)"
5398 _ld_tmp
="$($_sdlconfig --libs)"
5400 if cc_check
$_inc_tmp $_ld_tmp >>"$TMPLOG" 2>&1 ; then
5401 _sdlversion
=$
($_sdlconfig --version |
sed 's/[^0-9]//g')
5402 if test "$_sdlversion" -gt 116 ; then
5403 if test "$_sdlversion" -lt 121 ; then
5404 def_sdlbuggy
='#define BUGGY_SDL'
5406 def_sdlbuggy
='#undef BUGGY_SDL'
5413 if test "$_sdl" = yes ; then
5414 def_sdl
='#define CONFIG_SDL 1'
5415 extra_cflags
="$extra_cflags $_inc_tmp"
5416 libs_mplayer
="$libs_mplayer $_ld_tmp"
5417 _vomodules
="sdl $_vomodules"
5418 _aomodules
="sdl $_aomodules"
5420 def_sdl
='#undef CONFIG_SDL'
5421 _novomodules
="sdl $_novomodules"
5422 _noaomodules
="sdl $_noaomodules"
5428 echocheck
"KVA (SNAP/WarpOverlay!/DIVE)"
5429 if test "$_kva" = auto
; then
5433 int main( void ) { return 0; }
5436 cc_check
-lkva && _kva
=yes
5438 if test "$_kva" = yes ; then
5439 def_kva
='#define CONFIG_KVA 1'
5440 libs_mplayer
="$libs_mplayer -lkva"
5441 _vomodules
="kva $_vomodules"
5443 def_kva
='#undef CONFIG_KVA'
5444 _novomodules
="kva $_novomodules"
5452 echocheck
"Windows waveout"
5453 if test "$_win32waveout" = auto
; then
5455 #include <windows.h>
5456 #include <mmsystem.h>
5457 int main(void) { return 0; }
5460 cc_check
-lwinmm && _win32waveout
=yes
5462 if test "$_win32waveout" = yes ; then
5463 def_win32waveout
='#define CONFIG_WIN32WAVEOUT 1'
5464 libs_mplayer
="$libs_mplayer -lwinmm"
5465 _aomodules
="win32 $_aomodules"
5467 def_win32waveout
='#undef CONFIG_WIN32WAVEOUT'
5468 _noaomodules
="win32 $_noaomodules"
5470 echores
"$_win32waveout"
5472 echocheck
"Direct3D"
5473 if test "$_direct3d" = auto
; then
5475 #include <windows.h>
5477 int main(void) { return 0; }
5480 cc_check
&& _direct3d
=yes
5482 if test "$_direct3d" = yes ; then
5483 def_direct3d
='#define CONFIG_DIRECT3D 1'
5484 _vomodules
="direct3d $_vomodules"
5486 def_direct3d
='#undef CONFIG_DIRECT3D'
5487 _novomodules
="direct3d $_novomodules"
5489 echores
"$_direct3d"
5492 if test "$_directx" = auto
; then
5494 #include <windows.h>
5497 int main(void) { return 0; }
5500 cc_check
-lgdi32 && _directx
=yes
5502 if test "$_directx" = yes ; then
5503 def_directx
='#define CONFIG_DIRECTX 1'
5504 libs_mplayer
="$libs_mplayer -lgdi32"
5505 _vomodules
="directx $_vomodules"
5506 _aomodules
="dsound $_aomodules"
5508 def_directx
='#undef CONFIG_DIRECTX'
5509 _novomodules
="directx $_novomodules"
5510 _noaomodules
="dsound $_noaomodules"
5518 if test "$_dxr2" = auto
; then
5521 #include <dxr2ioctl.h>
5522 int main(void) { return 0; }
5524 for _inc_tmp
in "" -I/usr
/local
/include
/dxr2
-I/usr
/include
/dxr2
; do
5525 cc_check
$_inc_tmp && _dxr2
=yes && \
5526 extra_cflags
="$extra_cflags $_inc_tmp" && break
5529 if test "$_dxr2" = yes; then
5530 def_dxr2
='#define CONFIG_DXR2 1'
5531 _aomodules
="dxr2 $_aomodules"
5532 _vomodules
="dxr2 $_vomodules"
5534 def_dxr2
='#undef CONFIG_DXR2'
5535 _noaomodules
="dxr2 $_noaomodules"
5536 _novomodules
="dxr2 $_novomodules"
5541 if test "$_dxr3" = auto
; then
5543 #include <linux/em8300.h>
5544 int main(void) { return 0; }
5547 cc_check
&& _dxr3
=yes
5549 if test "$_dxr3" = yes ; then
5550 def_dxr3
='#define CONFIG_DXR3 1'
5551 _vomodules
="dxr3 $_vomodules"
5553 def_dxr3
='#undef CONFIG_DXR3'
5554 _novomodules
="dxr3 $_novomodules"
5559 echocheck
"IVTV TV-Out (pre linux-2.6.24)"
5560 if test "$_ivtv" = auto
; then
5563 #include <inttypes.h>
5564 #include <linux/types.h>
5565 #include <linux/videodev2.h>
5566 #include <linux/ivtv.h>
5567 #include <sys/ioctl.h>
5569 struct ivtv_cfg_stop_decode sd;
5570 struct ivtv_cfg_start_decode sd1;
5571 ioctl(0, IVTV_IOC_START_DECODE, &sd1);
5572 ioctl(0, IVTV_IOC_STOP_DECODE, &sd);
5576 cc_check
&& _ivtv
=yes
5578 if test "$_ivtv" = yes ; then
5579 def_ivtv
='#define CONFIG_IVTV 1'
5580 _vomodules
="ivtv $_vomodules"
5581 _aomodules
="ivtv $_aomodules"
5583 def_ivtv
='#undef CONFIG_IVTV'
5584 _novomodules
="ivtv $_novomodules"
5585 _noaomodules
="ivtv $_noaomodules"
5590 echocheck
"V4L2 MPEG Decoder"
5591 if test "$_v4l2" = auto
; then
5594 #include <inttypes.h>
5595 #include <linux/types.h>
5596 #include <linux/videodev2.h>
5597 #include <linux/version.h>
5599 #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,22)
5600 #error kernel headers too old, need 2.6.22
5602 struct v4l2_ext_controls ctrls;
5603 ctrls.ctrl_class = V4L2_CTRL_CLASS_MPEG;
5608 cc_check
&& _v4l2
=yes
5610 if test "$_v4l2" = yes ; then
5611 def_v4l2
='#define CONFIG_V4L2_DECODER 1'
5612 _vomodules
="v4l2 $_vomodules"
5613 _aomodules
="v4l2 $_aomodules"
5615 def_v4l2
='#undef CONFIG_V4L2_DECODER'
5616 _novomodules
="v4l2 $_novomodules"
5617 _noaomodules
="v4l2 $_noaomodules"
5628 echocheck
"OSS Audio"
5629 if test "$_ossaudio" = auto
; then
5631 #include <sys/ioctl.h>
5632 #include <$_soundcard_header>
5633 int main(void) { int arg = SNDCTL_DSP_SETFRAGMENT; return 0; }
5636 cc_check
&& _ossaudio
=yes
5638 if test "$_ossaudio" = yes ; then
5639 def_ossaudio
='#define CONFIG_OSS_AUDIO 1'
5640 _aomodules
="oss $_aomodules"
5641 if test "$_linux_devfs" = yes; then
5642 def_ossaudio_devdsp
='#define PATH_DEV_DSP "/dev/sound/dsp"'
5643 def_ossaudio_devmixer
='#define PATH_DEV_MIXER "/dev/sound/mixer"'
5646 #include <sys/ioctl.h>
5647 #include <$_soundcard_header>
5648 #ifdef OPEN_SOUND_SYSTEM
5649 int main(void) { return 0; }
5651 #error Not the real thing
5655 cc_check
&& _real_ossaudio
=yes
5656 if test "$_real_ossaudio" = yes; then
5657 def_ossaudio_devdsp
='#define PATH_DEV_DSP "/dev/dsp"'
5658 elif netbsd || openbsd
; then
5659 def_ossaudio_devdsp
='#define PATH_DEV_DSP "/dev/sound"'
5660 extra_ldflags
="$extra_ldflags -lossaudio"
5662 def_ossaudio_devdsp
='#define PATH_DEV_DSP "/dev/dsp"'
5664 def_ossaudio_devmixer
='#define PATH_DEV_MIXER "/dev/mixer"'
5667 def_ossaudio
='#undef CONFIG_OSS_AUDIO'
5668 def_ossaudio_devdsp
='#define PATH_DEV_DSP ""'
5669 def_ossaudio_devmixer
='#define PATH_DEV_MIXER ""'
5670 _noaomodules
="oss $_noaomodules"
5672 echores
"$_ossaudio"
5676 if test "$_arts" = auto
; then
5678 if ( artsc-config
--version ) >> "$TMPLOG" 2>&1 ; then
5682 int main(void) { return 0; }
5684 cc_check $
(artsc-config
--libs) $
(artsc-config
--cflags) && _arts
=yes
5689 if test "$_arts" = yes ; then
5690 def_arts
='#define CONFIG_ARTS 1'
5691 _aomodules
="arts $_aomodules"
5692 libs_mplayer
="$libs_mplayer $(artsc-config --libs)"
5693 extra_cflags
="$extra_cflags $(artsc-config --cflags)"
5695 _noaomodules
="arts $_noaomodules"
5701 if test "$_esd" = auto
; then
5703 if ( esd-config
--version ) >> "$TMPLOG" 2>&1 ; then
5707 int main(void) { int fd = esd_open_sound("test"); return fd; }
5709 cc_check $
(esd-config
--libs) $
(esd-config
--cflags) && _esd
=yes
5715 if test "$_esd" = yes ; then
5716 def_esd
='#define CONFIG_ESD 1'
5717 _aomodules
="esd $_aomodules"
5718 libs_mplayer
="$libs_mplayer $(esd-config --libs)"
5719 extra_cflags
="$extra_cflags $(esd-config --cflags)"
5721 echocheck
"esd_get_latency()"
5724 int main(void) { return esd_get_latency(0); }
5726 cc_check $
(esd-config
--libs) $
(esd-config
--cflags) && _esd_latency
=yes && def_esd_latency
='#define CONFIG_ESD_LATENCY 1'
5727 echores
"$_esd_latency"
5729 def_esd
='#undef CONFIG_ESD'
5730 def_esd_latency
='#undef CONFIG_ESD_LATENCY'
5731 _noaomodules
="esd $_noaomodules"
5736 if test "$_nas" = auto
; then
5738 #include <audio/audiolib.h>
5739 int main(void) { return 0; }
5742 cc_check
$_ld_lm -laudio -lXt && _nas
=yes
5744 if test "$_nas" = yes ; then
5745 def_nas
='#define CONFIG_NAS 1'
5746 libs_mplayer
="$libs_mplayer -laudio -lXt"
5747 _aomodules
="nas $_aomodules"
5749 _noaomodules
="nas $_noaomodules"
5750 def_nas
='#undef CONFIG_NAS'
5756 if test "$_pulse" = auto
; then
5758 if $_pkg_config --exists 'libpulse >= 0.9' ; then
5761 #include <pulse/pulseaudio.h>
5762 int main(void) { return 0; }
5764 cc_check $
($_pkg_config --libs --cflags libpulse
) && _pulse
=yes
5770 if test "$_pulse" = yes ; then
5771 def_pulse
='#define CONFIG_PULSE 1'
5772 _aomodules
="pulse $_aomodules"
5773 libs_mplayer
="$libs_mplayer $($_pkg_config --libs libpulse)"
5774 extra_cflags
="$extra_cflags $($_pkg_config --cflags libpulse)"
5776 def_pulse
='#undef CONFIG_PULSE'
5777 _noaomodules
="pulse $_noaomodules"
5782 if test "$_jack" = auto
; then
5786 #include <jack/jack.h>
5787 int main(void) { jack_client_open("test", JackUseExactName, NULL); return 0; }
5789 if cc_check
-ljack ; then
5790 libs_mplayer
="$libs_mplayer -ljack"
5791 elif cc_check $
($_pkg_config --libs --cflags --silence-errors jack
) ; then
5792 libs_mplayer
="$libs_mplayer $($_pkg_config --libs jack)"
5793 extra_cflags
="$extra_cflags "$
($_pkg_config --cflags jack
)""
5799 if test "$_jack" = yes ; then
5800 def_jack
='#define CONFIG_JACK 1'
5801 _aomodules
="jack $_aomodules"
5803 _noaomodules
="jack $_noaomodules"
5808 if test "$_openal" = auto
; then
5812 #include <OpenAL/al.h>
5817 alSourceQueueBuffers(0, 0, 0);
5818 // alGetSourcei(0, AL_SAMPLE_OFFSET, 0);
5822 for I
in "-lopenal" "-lopenal32" "-framework OpenAL" ; do
5823 cc_check
$I && _openal
=yes && break
5824 cc_check
-DOPENAL_AL_H=1 $I && def_openal_h
='#define OPENAL_AL_H 1' && _openal
=yes && break
5826 test "$_openal" = yes && libs_mplayer
="$libs_mplayer $I"
5828 if test "$_openal" = yes ; then
5829 def_openal
='#define CONFIG_OPENAL 1'
5830 _aomodules
="openal $_aomodules"
5832 _noaomodules
="openal $_noaomodules"
5836 echocheck
"ALSA audio"
5837 if test "$_alloca" != yes ; then
5839 _res_comment
="alloca missing"
5841 if test "$_alsa" != no
; then
5844 #include <sys/time.h>
5845 #include <sys/asoundlib.h>
5846 #if !((SND_LIB_MAJOR == 0) && (SND_LIB_MINOR == 5))
5847 #error "alsa version != 0.5.x"
5849 int main(void) { return 0; }
5851 cc_check
-lasound $_ld_dl $_ld_pthread && _alsaver
='0.5.x'
5854 #include <sys/time.h>
5855 #include <sys/asoundlib.h>
5856 #if !((SND_LIB_MAJOR == 0) && (SND_LIB_MINOR == 9))
5857 #error "alsa version != 0.9.x"
5859 int main(void) { return 0; }
5861 cc_check
-lasound $_ld_dl $_ld_pthread && _alsaver
='0.9.x-sys'
5863 #include <sys/time.h>
5864 #include <alsa/asoundlib.h>
5865 #if !((SND_LIB_MAJOR == 0) && (SND_LIB_MINOR == 9))
5866 #error "alsa version != 0.9.x"
5868 int main(void) { return 0; }
5870 cc_check
-lasound $_ld_dl $_ld_pthread && _alsaver
='0.9.x-alsa'
5873 #include <sys/time.h>
5874 #include <sys/asoundlib.h>
5875 #if !((SND_LIB_MAJOR == 1) && (SND_LIB_MINOR == 0))
5876 #error "alsa version != 1.0.x"
5878 int main(void) { return 0; }
5880 cc_check
-lasound $_ld_dl $_ld_pthread && _alsaver
='1.0.x-sys'
5882 #include <sys/time.h>
5883 #include <alsa/asoundlib.h>
5884 #if !((SND_LIB_MAJOR == 1) && (SND_LIB_MINOR == 0))
5885 #error "alsa version != 1.0.x"
5887 int main(void) { return 0; }
5889 cc_check
-lasound $_ld_dl $_ld_pthread && _alsaver
='1.0.x-alsa'
5891 def_alsa
='#undef CONFIG_ALSA'
5892 def_alsa5
='#undef CONFIG_ALSA5'
5893 def_alsa9
='#undef CONFIG_ALSA9'
5894 def_alsa1x
='#undef CONFIG_ALSA1X'
5895 def_sys_asoundlib_h
='#undef HAVE_SYS_ASOUNDLIB_H'
5896 def_alsa_asoundlib_h
='#undef HAVE_ALSA_ASOUNDLIB_H'
5897 if test "$_alsaver" ; then
5899 if test "$_alsaver" = '0.5.x' ; then
5901 _aomodules
="alsa5 $_aomodules"
5902 def_alsa5
='#define CONFIG_ALSA5 1'
5903 def_sys_asoundlib_h
='#define HAVE_SYS_ASOUNDLIB_H 1'
5904 _res_comment
="using alsa 0.5.x and sys/asoundlib.h"
5905 elif test "$_alsaver" = '0.9.x-sys' ; then
5907 _aomodules
="alsa $_aomodules"
5908 def_alsa
='#define CONFIG_ALSA 1'
5909 def_alsa9
='#define CONFIG_ALSA9 1'
5910 def_sys_asoundlib_h
='#define HAVE_SYS_ASOUNDLIB_H 1'
5911 _res_comment
="using alsa 0.9.x and sys/asoundlib.h"
5912 elif test "$_alsaver" = '0.9.x-alsa' ; then
5914 _aomodules
="alsa $_aomodules"
5915 def_alsa
='#define CONFIG_ALSA 1'
5916 def_alsa9
='#define CONFIG_ALSA9 1'
5917 def_alsa_asoundlib_h
='#define HAVE_ALSA_ASOUNDLIB_H 1'
5918 _res_comment
="using alsa 0.9.x and alsa/asoundlib.h"
5919 elif test "$_alsaver" = '1.0.x-sys' ; then
5921 _aomodules
="alsa $_aomodules"
5922 def_alsa
='#define CONFIG_ALSA 1'
5923 def_alsa1x
="#define CONFIG_ALSA1X 1"
5924 def_alsa_asoundlib_h
='#define HAVE_SYS_ASOUNDLIB_H 1'
5925 _res_comment
="using alsa 1.0.x and sys/asoundlib.h"
5926 elif test "$_alsaver" = '1.0.x-alsa' ; then
5928 _aomodules
="alsa $_aomodules"
5929 def_alsa
='#define CONFIG_ALSA 1'
5930 def_alsa1x
="#define CONFIG_ALSA1X 1"
5931 def_alsa_asoundlib_h
='#define HAVE_ALSA_ASOUNDLIB_H 1'
5932 _res_comment
="using alsa 1.0.x and alsa/asoundlib.h"
5935 _res_comment
="unknown version"
5937 extra_ldflags
="$extra_ldflags -lasound $_ld_dl $_ld_pthread"
5939 _noaomodules
="alsa $_noaomodules"
5944 echocheck
"Sun audio"
5945 if test "$_sunaudio" = auto
; then
5947 #include <sys/types.h>
5948 #include <sys/audioio.h>
5949 int main(void) { audio_info_t info; AUDIO_INITINFO(&info); return 0; }
5952 cc_check
&& _sunaudio
=yes
5954 if test "$_sunaudio" = yes ; then
5955 def_sunaudio
='#define CONFIG_SUN_AUDIO 1'
5956 _aomodules
="sun $_aomodules"
5958 def_sunaudio
='#undef CONFIG_SUN_AUDIO'
5959 _noaomodules
="sun $_noaomodules"
5961 echores
"$_sunaudio"
5964 def_mlib
='#define CONFIG_MLIB 0'
5966 echocheck
"Sun mediaLib"
5967 if test "$_mlib" = auto
; then
5971 int main(void) { mlib_VideoColorYUV2ABGR420(0,0,0,0,0,0,0,0,0); return 0; }
5973 cc_check
-lmlib && _mlib
=yes && def_mlib
='#define CONFIG_MLIB 1'
5980 echocheck
"CoreAudio"
5981 if test "$_coreaudio" = auto
; then
5983 #include <CoreAudio/CoreAudio.h>
5984 #include <AudioToolbox/AudioToolbox.h>
5985 #include <AudioUnit/AudioUnit.h>
5986 int main(void) { return 0; }
5989 cc_check
-framework CoreAudio
-framework AudioUnit
-framework AudioToolbox
&& _coreaudio
=yes
5991 if test "$_coreaudio" = yes ; then
5992 libs_mplayer
="$libs_mplayer -framework CoreAudio -framework AudioUnit -framework AudioToolbox"
5993 def_coreaudio
='#define CONFIG_COREAUDIO 1'
5994 _aomodules
="coreaudio $_aomodules"
5996 def_coreaudio
='#undef CONFIG_COREAUDIO'
5997 _noaomodules
="coreaudio $_noaomodules"
6004 echocheck
"SGI audio"
6005 if test "$_sgiaudio" = auto
; then
6006 # check for SGI audio
6008 #include <dmedia/audio.h>
6009 int main(void) { return 0; }
6012 cc_check
&& _sgiaudio
=yes
6014 if test "$_sgiaudio" = "yes" ; then
6015 def_sgiaudio
='#define CONFIG_SGI_AUDIO 1'
6016 libs_mplayer
="$libs_mplayer -laudio"
6017 _aomodules
="sgi $_aomodules"
6019 def_sgiaudio
='#undef CONFIG_SGI_AUDIO'
6020 _noaomodules
="sgi $_noaomodules"
6022 echores
"$_sgiaudio"
6027 echocheck
"KAI (UNIAUD/DART)"
6028 if test "$_kai" = auto
; then
6032 int main(void) { return 0; }
6035 cc_check
-lkai && _kai
=yes
6037 if test "$_kai" = yes ; then
6038 def_kai
='#define CONFIG_KAI 1'
6039 libs_mplayer
="$libs_mplayer -lkai"
6040 _aomodules
="kai $_aomodules"
6042 def_kai
='#undef CONFIG_KAI'
6043 _noaomodules
="kai $_noaomodules"
6048 if test "$_dart" = auto
; then
6052 int main( void ) { return 0; }
6055 cc_check
-ldart && _dart
=yes
6057 if test "$_dart" = yes ; then
6058 def_dart
='#define CONFIG_DART 1'
6059 libs_mplayer
="$libs_mplayer -ldart"
6060 _aomodules
="dart $_aomodules"
6062 def_dart
='#undef CONFIG_DART'
6063 _noaomodules
="dart $_noaomodules"
6069 # set default CD/DVD devices
6070 if win32 || os2
; then
6071 default_cdrom_device
="D:"
6073 default_cdrom_device
="/dev/disk1"
6074 elif dragonfly
; then
6075 default_cdrom_device
="/dev/cd0"
6077 default_cdrom_device
="/dev/acd0"
6079 default_cdrom_device
="/dev/rcd0a"
6081 default_cdrom_device
="/vol/dev/aliases/cdrom0"
6082 # Modern Solaris versions use HAL instead of the vold daemon, the volfs
6083 # file system and the volfs service.
6084 test -r "/cdrom/cdrom0" && default_cdrom_device
="/cdrom/cdrom0"
6086 default_cdrom_device
="a1ide.device:2"
6088 default_cdrom_device
="/dev/cdrom"
6091 if win32 || os2 || dragonfly || freebsd || openbsd || sunos || amigaos
; then
6092 default_dvd_device
=$default_cdrom_device
6094 default_dvd_device
="/dev/rdiskN"
6096 default_dvd_device
="/dev/dvd"
6100 echocheck
"VCD support"
6101 if test "$_vcd" = auto
; then
6103 if linux || freebsd || netbsd || openbsd || dragonfly || bsdos || darwin || sunos || os2
; then
6107 #include <ddk/ntddcdrm.h>
6108 int main(void) { return 0; }
6110 cc_check
&& _vcd
=yes
6113 if test "$_vcd" = yes; then
6114 _inputmodules
="vcd $_inputmodules"
6115 def_vcd
='#define CONFIG_VCD 1'
6117 def_vcd
='#undef CONFIG_VCD'
6118 _noinputmodules
="vcd $_noinputmodules"
6119 _res_comment
="not supported on this OS"
6126 if test "$_dvdread_internal" = auto
; then
6127 _dvdread_internal
=no
6129 if (linux || freebsd || netbsd || openbsd || dragonfly || sunos || hpux
) \
6130 && (test "$_dvd" = yes ||
test "$_cdrom" = yes ||
test "$_cdio" = yes || \
6131 test "$_dvdio" = yes ||
test "$_bsdi_dvd" = yes) \
6132 || darwin || win32 || os2
; then
6133 _dvdread_internal
=yes
6135 extra_cflags
="-Ilibdvdread4 $extra_cflags"
6137 elif test "$_dvdread" = auto
; then
6139 if test "$_dl" = yes; then
6141 #include <inttypes.h>
6142 #include <dvdread/dvd_reader.h>
6143 #include <dvdread/ifo_types.h>
6144 #include <dvdread/ifo_read.h>
6145 #include <dvdread/nav_read.h>
6146 int main(void) { return 0; }
6148 _dvdreadcflags
=$
($_dvdreadconfig --cflags)
6149 _dvdreadlibs
=$
($_dvdreadconfig --libs)
6150 if cc_check
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE \
6151 $_dvdreadcflags $_dvdreadlibs $_ld_dl ; then
6153 extra_cflags
="$extra_cflags $_dvdreadcflags"
6154 extra_ldflags
="$extra_ldflags $_dvdreadlibs"
6155 _res_comment
="external"
6160 if test "$_dvdread_internal" = yes; then
6161 def_dvdread
='#define CONFIG_DVDREAD 1'
6162 _inputmodules
="dvdread(internal) $_inputmodules"
6164 _res_comment
="internal"
6165 elif test "$_dvdread" = yes; then
6166 def_dvdread
='#define CONFIG_DVDREAD 1'
6168 extra_ldflags
="$extra_ldflags -ldvdread"
6169 _inputmodules
="dvdread(external) $_inputmodules"
6170 _res_comment
="external"
6172 def_dvdread
='#undef CONFIG_DVDREAD'
6173 _noinputmodules
="dvdread $_noinputmodules"
6178 echocheck
"internal libdvdcss"
6179 if test "$_libdvdcss_internal" = auto
; then
6180 _libdvdcss_internal
=no
6181 test "$_dvdread_internal" = yes && _libdvdcss_internal
=yes
6182 hpux
&& test "$_hpux_scsi_h" = no
&& _libdvdcss_internal
=no
6184 if test "$_libdvdcss_internal" = yes ; then
6185 if linux || netbsd || openbsd || bsdos
; then
6186 def_dvd_linux
='#define HAVE_LINUX_DVD_STRUCT 1'
6187 openbsd
&& def_dvd_openbsd
='#define HAVE_OPENBSD_DVD_STRUCT 1'
6188 elif freebsd || dragonfly
; then
6189 def_dvd_bsd
='#define HAVE_BSD_DVD_STRUCT 1'
6191 def_dvd_darwin
='#define DARWIN_DVD_IOCTL'
6192 extra_ldflags
="$extra_ldflags -framework IOKit -framework Carbon"
6194 cflags_libdvdcss
="-DSYS_CYGWIN -DWIN32"
6196 cflags_libdvdcss
="-DSYS_BEOS"
6198 cflags_libdvdcss
="-DSYS_OS2"
6200 cflags_libdvdcss_dvdread
="-Ilibdvdcss"
6201 def_dvdcss
="#define HAVE_DVDCSS_DVDCSS_H 1"
6202 _inputmodules
="libdvdcss(internal) $_inputmodules"
6205 _noinputmodules
="libdvdcss(internal) $_noinputmodules"
6207 echores
"$_libdvdcss_internal"
6210 echocheck
"cdparanoia"
6211 if test "$_cdparanoia" = auto
; then
6213 #include <cdda_interface.h>
6214 #include <cdda_paranoia.h>
6215 // This need a better test. How ?
6216 int main(void) { void *test = cdda_verbose_set; return test == (void *)1; }
6219 for _inc_tmp
in "" "-I/usr/include/cdda" "-I/usr/local/include/cdda" ; do
6220 cc_check
$_inc_tmp -lcdda_interface -lcdda_paranoia $_ld_lm && \
6221 _cdparanoia
=yes && extra_cflags
="$extra_cflags $_inc_tmp" && break
6224 if test "$_cdparanoia" = yes ; then
6226 extra_ldflags
="$extra_ldflags -lcdda_interface -lcdda_paranoia"
6227 openbsd
&& extra_ldflags
="$extra_ldflags -lutil"
6229 echores
"$_cdparanoia"
6233 if test "$_libcdio" = auto
&& test "$_cdparanoia" = no
; then
6236 #include <cdio/version.h>
6237 #include <cdio/cdda.h>
6238 #include <cdio/paranoia.h>
6240 void *test = cdda_verbose_set;
6241 printf("%s\n", CDIO_VERSION);
6242 return test == (void *)1;
6246 for _ld_tmp
in "" "-lwinmm" ; do
6247 _ld_tmp
="-lcdio_cdda -lcdio -lcdio_paranoia $_ld_tmp"
6248 cc_check
$_ld_tmp $_ld_lm \
6249 && _libcdio
=yes && extra_ldflags
="$extra_ldflags $_ld_tmp" && break
6251 if test "$_libcdio" = no
&& $_pkg_config --exists libcdio_paranoia
; then
6252 _inc_tmp
=$
($_pkg_config --cflags libcdio_paranoia
)
6253 _ld_tmp
=$
($_pkg_config --libs libcdio_paranoia
)
6254 cc_check
$_inc_tmp $_ld_tmp $_ld_lm && _libcdio
=yes \
6255 && extra_ldflags
="$extra_ldflags $_ld_tmp" && extra_cflags
="$extra_cflags $_inc_tmp"
6258 if test "$_libcdio" = yes && test "$_cdparanoia" = no
; then
6260 def_libcdio
='#define CONFIG_LIBCDIO 1'
6261 def_havelibcdio
='yes'
6263 if test "$_cdparanoia" = yes ; then
6264 _res_comment
="using cdparanoia"
6266 def_libcdio
='#undef CONFIG_LIBCDIO'
6267 def_havelibcdio
='no'
6271 if test "$_cdda" = yes ; then
6272 test $_cddb = auto
&& test $_network = yes && _cddb
=yes
6273 def_cdparanoia
='#define CONFIG_CDDA 1'
6274 _inputmodules
="cdda $_inputmodules"
6276 def_cdparanoia
='#undef CONFIG_CDDA'
6277 _noinputmodules
="cdda $_noinputmodules"
6280 if test "$_cddb" = yes ; then
6281 def_cddb
='#define CONFIG_CDDB 1'
6282 _inputmodules
="cddb $_inputmodules"
6285 def_cddb
='#undef CONFIG_CDDB'
6286 _noinputmodules
="cddb $_noinputmodules"
6289 echocheck
"bitmap font support"
6290 if test "$_bitmap_font" = yes ; then
6291 def_bitmap_font
="#define CONFIG_BITMAP_FONT 1"
6293 def_bitmap_font
="#undef CONFIG_BITMAP_FONT"
6295 echores
"$_bitmap_font"
6298 echocheck
"freetype >= 2.0.9"
6300 # freetype depends on iconv
6301 if test "$_iconv" = no
; then
6303 _res_comment
="iconv support needed"
6306 if test "$_freetype" = auto
; then
6307 if ( $_freetypeconfig --version ) >/dev
/null
2>&1 ; then
6310 #include <ft2build.h>
6311 #include FT_FREETYPE_H
6312 #if ((FREETYPE_MAJOR < 2) || ((FREETYPE_MINOR == 0) && (FREETYPE_PATCH < 9)))
6313 #error "Need FreeType 2.0.9 or newer"
6317 FT_Int major=-1,minor=-1,patch=-1;
6318 int err=FT_Init_FreeType(&library);
6323 cc_check $
($_freetypeconfig --cflags) $
($_freetypeconfig --libs) && _freetype
=yes
6328 if test "$_freetype" = yes ; then
6329 def_freetype
='#define CONFIG_FREETYPE 1'
6330 extra_cflags
="$extra_cflags $($_freetypeconfig --cflags)"
6331 extra_ldflags
="$extra_ldflags $($_freetypeconfig --libs)"
6333 def_freetype
='#undef CONFIG_FREETYPE'
6335 echores
"$_freetype"
6337 if test "$_freetype" = no
; then
6339 _res_comment
="FreeType support needed"
6341 echocheck
"fontconfig"
6342 if test "$_fontconfig" = auto
; then
6346 #include <fontconfig/fontconfig.h>
6347 #if FC_VERSION < 20402
6348 #error At least version 2.4.2 of fontconfig required
6352 if (err == FcFalse) {
6353 printf("Couldn't initialize fontconfig lib\n");
6360 for _ld_tmp
in "" "-lexpat -lfreetype" "-lexpat -lfreetype -lz" "-lexpat -lfreetype -lz -liconv" ; do
6361 _ld_tmp
="-lfontconfig $_ld_tmp"
6362 cc_check
$_ld_tmp && _fontconfig
=yes && extra_ldflags
="$extra_ldflags $_ld_tmp" && break
6364 if test "$_fontconfig" = no
&& $_pkg_config --exists fontconfig
; then
6365 _inc_tmp
=$
($_pkg_config --cflags fontconfig
)
6366 _ld_tmp
=$
($_pkg_config --libs fontconfig
)
6367 cc_check
$_inc_tmp $_ld_tmp && _fontconfig
=yes \
6368 && extra_ldflags
="$extra_ldflags $_ld_tmp" && extra_cflags
="$extra_cflags $_inc_tmp"
6371 if test "$_fontconfig" = yes ; then
6372 def_fontconfig
='#define CONFIG_FONTCONFIG 1'
6374 def_fontconfig
='#undef CONFIG_FONTCONFIG'
6376 echores
"$_fontconfig"
6379 echocheck
"SSA/ASS support"
6380 # libass depends on FreeType
6381 if test "$_freetype" = no
; then
6384 _res_comment
="FreeType support needed"
6387 if test "$_ass" = auto
; then
6389 #include <ft2build.h>
6390 #include FT_FREETYPE_H
6391 #if ((FREETYPE_MAJOR < 2) || (FREETYPE_MINOR < 2) || ((FREETYPE_MINOR == 2) && (FREETYPE_PATCH < 1)))
6392 #error "Need FreeType 2.2.1 or newer"
6394 int main(void) { return 0; }
6397 cc_check $
($_freetypeconfig --cflags) $
($_freetypeconfig --libs) && _ass
=yes
6398 if test "$_ass" = no
; then
6400 _res_comment
="FreeType >= 2.2.1 needed"
6401 elif test "$ass_internal" = no
; then
6402 _res_comment
="external"
6403 extra_ldflags
="$extra_ldflags -lass"
6406 if test "$_ass" = yes ; then
6407 def_ass
='#define CONFIG_ASS 1'
6409 def_ass
='#undef CONFIG_ASS'
6411 if test "$ass_internal" = yes ; then
6412 def_ass_internal
='#define CONFIG_ASS_INTERNAL 1'
6414 def_ass_internal
='#undef CONFIG_ASS_INTERNAL'
6419 echocheck
"fribidi with charsets"
6422 if test "$_fribidi" = auto
; then
6426 /* workaround for fribidi 0.10.4 and below */
6427 #define FRIBIDI_CHARSET_UTF8 FRIBIDI_CHAR_SET_UTF8
6428 #include <fribidi/fribidi.h>
6430 if (fribidi_parse_charset("UTF-8") != FRIBIDI_CHAR_SET_UTF8) {
6431 printf("Fribidi headers are not consistents with the library!\n");
6440 cc_check
$_inc_tmp $_ld_tmp && _fribidi
=yes
6441 if $_fribidiconfig --version > /dev
/null
2>&1 &&
6442 test "$_fribidi" = no
; then
6443 _inc_tmp
="$($_fribidiconfig --cflags)"
6444 _ld_tmp
="$($_fribidiconfig --libs)"
6445 cc_check
$_inc_tmp $_ld_tmp && _fribidi
=yes
6448 if test "$_fribidi" = yes ; then
6449 def_fribidi
='#define CONFIG_FRIBIDI 1'
6450 extra_cflags
="$extra_cflags $_inc_tmp"
6451 extra_ldflags
="$extra_ldflags $_ld_tmp"
6453 def_fribidi
='#undef CONFIG_FRIBIDI'
6459 if test "$_enca" = auto
; then
6461 #include <sys/types.h>
6466 langs = enca_get_languages(&langcnt);
6471 cc_check
-lenca $_ld_lm && _enca
=yes
6473 if test "$_enca" = yes ; then
6474 def_enca
='#define CONFIG_ENCA 1'
6475 extra_ldflags
="$extra_ldflags -lenca"
6477 def_enca
='#undef CONFIG_ENCA'
6485 int main(void) { (void) inflate(0, Z_NO_FLUSH); return 0; }
6488 cc_check
-lz && _zlib
=yes
6489 if test "$_zlib" = yes ; then
6490 def_zlib
='#define CONFIG_ZLIB 1'
6491 extra_ldflags
="$extra_ldflags -lz"
6493 def_zlib
='#define CONFIG_ZLIB 0'
6494 _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
//)
6495 _libavencoders
=$
(echo $_libavencoders |
sed -e s
/FLASHSV_ENCODER
// -e s
/PNG_ENCODER
// -e s
/ZMBV_ENCODER
// -e s
/ZLIB_ENCODER
//)
6502 def_bzlib
='#define CONFIG_BZLIB 0'
6505 int main(void) { BZ2_bzlibVersion(); return 0; }
6507 cc_check
-lbz2 && bzlib
=yes
6508 if test "$bzlib" = yes ; then
6509 def_bzlib
='#define CONFIG_BZLIB 1'
6510 extra_ldflags
="$extra_ldflags -lbz2"
6516 if test "$_rtc" = auto
; then
6518 #include <sys/ioctl.h>
6520 #include <linux/rtc.h>
6523 #define RTC_PIE_ON RTCIO_PIE_ON
6525 int main(void) { return RTC_PIE_ON; }
6528 cc_check
&& _rtc
=yes
6531 if test "$_rtc" = yes ; then
6532 def_rtc
='#define HAVE_RTC 1'
6534 def_rtc
='#undef HAVE_RTC'
6539 echocheck
"liblzo2 support"
6540 if test "$_liblzo" = auto
; then
6543 #include <lzo/lzo1x.h>
6544 int main(void) { lzo_init();return 0; }
6546 cc_check
-llzo2 && _liblzo
=yes
6548 if test "$_liblzo" = yes ; then
6549 def_liblzo
='#define CONFIG_LIBLZO 1'
6550 extra_ldflags
="$extra_ldflags -llzo2"
6551 _codecmodules
="liblzo $_codecmodules"
6553 def_liblzo
='#undef CONFIG_LIBLZO'
6554 _nocodecmodules
="liblzo $_nocodecmodules"
6559 echocheck
"mad support"
6560 if test "$_mad" = auto
; then
6564 int main(void) { return 0; }
6566 cc_check
-lmad && _mad
=yes
6568 if test "$_mad" = yes ; then
6569 def_mad
='#define CONFIG_LIBMAD 1'
6570 extra_ldflags
="$extra_ldflags -lmad"
6571 _codecmodules
="libmad $_codecmodules"
6573 def_mad
='#undef CONFIG_LIBMAD'
6574 _nocodecmodules
="libmad $_nocodecmodules"
6579 if test "$_twolame" = auto
; then
6581 #include <twolame.h>
6582 int main(void) { twolame_init(); return 0; }
6585 cc_check
-ltwolame $_ld_lm && _twolame
=yes
6587 if test "$_twolame" = yes ; then
6588 def_twolame
='#define CONFIG_TWOLAME 1'
6589 libs_mencoder
="$libs_mencoder -ltwolame"
6590 _codecmodules
="twolame $_codecmodules"
6592 def_twolame
='#undef CONFIG_TWOLAME'
6593 _nocodecmodules
="twolame $_nocodecmodules"
6598 if test "$_toolame" = auto
; then
6600 if test "$_twolame" = yes ; then
6601 _res_comment
="disabled by twolame"
6604 #include <toolame.h>
6605 int main(void) { toolame_init(); return 0; }
6607 cc_check
-ltoolame $_ld_lm && _toolame
=yes
6610 if test "$_toolame" = yes ; then
6611 def_toolame
='#define CONFIG_TOOLAME 1'
6612 libs_mencoder
="$libs_mencoder -ltoolame"
6613 _codecmodules
="toolame $_codecmodules"
6615 def_toolame
='#undef CONFIG_TOOLAME'
6616 _nocodecmodules
="toolame $_nocodecmodules"
6618 if test "$_toolamedir" ; then
6619 _res_comment
="using $_toolamedir"
6623 echocheck
"OggVorbis support"
6624 if test "$_tremor_internal" = yes; then
6626 elif test "$_tremor" = auto
; then
6629 #include <tremor/ivorbiscodec.h>
6630 int main(void) { vorbis_packet_blocksize(0,0); return 0; }
6632 cc_check
-logg -lvorbisidec $_ld_lm && _tremor
=yes && _libvorbis
=no
6634 if test "$_libvorbis" = auto
; then
6637 #include <vorbis/codec.h>
6638 int main(void) { vorbis_packet_blocksize(0,0); return 0; }
6640 cc_check
-lvorbis -logg $_ld_lm && _libvorbis
=yes
6642 if test "$_tremor_internal" = yes ; then
6644 def_vorbis
='#define CONFIG_OGGVORBIS 1'
6645 def_tremor
='#define CONFIG_TREMOR 1'
6646 _codecmodules
="tremor(internal) $_codecmodules"
6647 _res_comment
="internal Tremor"
6648 if test "$_tremor_low" = yes ; then
6649 cflags_tremor_low
="-D_LOW_ACCURACY_"
6650 _res_comment
="internal low accuracy Tremor"
6652 elif test "$_tremor" = yes ; then
6654 def_vorbis
='#define CONFIG_OGGVORBIS 1'
6655 def_tremor
='#define CONFIG_TREMOR 1'
6656 _codecmodules
="tremor(external) $_codecmodules"
6657 _res_comment
="external Tremor"
6658 extra_ldflags
="$extra_ldflags -logg -lvorbisidec"
6659 elif test "$_libvorbis" = yes ; then
6661 def_vorbis
='#define CONFIG_OGGVORBIS 1'
6662 _codecmodules
="libvorbis $_codecmodules"
6663 _res_comment
="libvorbis"
6664 extra_ldflags
="$extra_ldflags -lvorbis -logg"
6667 _nocodecmodules
="libvorbis $_nocodecmodules"
6671 echocheck
"libspeex (version >= 1.1 required)"
6672 if test "$_speex" = auto
; then
6675 #include <speex/speex.h>
6676 int main(void) { SpeexBits bits; void *dec; speex_decode_int(dec, &bits, dec); return 0; }
6678 cc_check
-lspeex $_ld_lm && _speex
=yes
6680 if test "$_speex" = yes ; then
6681 def_speex
='#define CONFIG_SPEEX 1'
6682 extra_ldflags
="$extra_ldflags -lspeex"
6683 _codecmodules
="speex $_codecmodules"
6685 def_speex
='#undef CONFIG_SPEEX'
6686 _nocodecmodules
="speex $_nocodecmodules"
6690 echocheck
"OggTheora support"
6691 if test "$_theora" = auto
; then
6694 #include <theora/theora.h>
6697 /* Theora is in flux, make sure that all interface routines and datatypes
6698 * exist and work the way we expect it, so we don't break MPlayer. */
6707 theora_info_init(&inf);
6708 theora_comment_init(&tc);
6712 /* we don't want to execute this kind of nonsense; just for making sure
6713 * that compilation works... */
6714 memset(&op, 0, sizeof(op));
6715 r = theora_decode_header(&inf, &tc, &op);
6716 r = theora_decode_init(&st, &inf);
6717 t = theora_granule_time(&st, op.granulepos);
6718 r = theora_decode_packetin(&st, &op);
6719 r = theora_decode_YUVout(&st, &yuv);
6725 _ld_theora
=$
($_pkg_config --silence-errors --libs theora
)
6726 _inc_theora
=$
($_pkg_config --silence-errors --cflags theora
)
6727 cc_check
$_inc_theora $_ld_theora && extra_ldflags
="$extra_ldflags $_ld_theora" &&
6728 extra_cflags
="$extra_cflags $_inc_theora" && _theora
=yes
6729 if test _theora
= no
; then
6730 _ld_theora
="-ltheora -logg"
6731 cc_check
$_ld_theora && extra_ldflags
="$extra_ldflags $_ld_theora" && _theora
=yes
6733 if test "$_theora" = no
&& test "$_tremor_internal" = yes; then
6734 _ld_theora
=$
($_pkg_config --silence-errors --libs theora
)
6735 _inc_theora
=$
($_pkg_config --silence-errors --cflags theora
)
6736 cc_check tremor
/bitwise.c
$_inc_theora $_ld_theora &&
6737 extra_ldflags
="$extra_ldflags $_ld_theora" &&
6738 extra_cflags
="$extra_cflags $_inc_theora" && _theora
=yes
6739 if test _theora
= no
; then
6740 _ld_theora
="-ltheora -logg"
6741 cc_check tremor
/bitwise.c
$_ld_theora &&
6742 extra_ldflags
="$extra_ldflags $_ld_theora" && _theora
=yes
6746 if test "$_theora" = yes ; then
6747 def_theora
='#define CONFIG_OGGTHEORA 1'
6748 _codecmodules
="libtheora $_codecmodules"
6749 # when --enable-theora is forced, we'd better provide a probably sane
6750 # $_ld_theora than nothing
6751 test -z "$_ld_theora" && extra_ldflags
="$extra_ldflags -ltheora -logg"
6753 def_theora
='#undef CONFIG_OGGTHEORA'
6754 _nocodecmodules
="libtheora $_nocodecmodules"
6758 echocheck
"internal mp3lib support"
6759 if test "$_mp3lib" = auto
; then
6760 test "$cc_vendor" = intel
&& test "$_cc_major" -le 10 -o "$_cc_major" -eq 11 -a "$_cc_minor" -eq 0 && _mp3lib
=no || _mp3lib
=yes
6762 if test "$_mp3lib" = yes ; then
6763 def_mp3lib
='#define CONFIG_MP3LIB 1'
6764 _codecmodules
="mp3lib(internal) $_codecmodules"
6766 def_mp3lib
='#undef CONFIG_MP3LIB'
6767 _nocodecmodules
="mp3lib(internal) $_nocodecmodules"
6771 echocheck
"liba52 support"
6772 if test "$_liba52_internal" = auto
; then
6773 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
6775 def_liba52
='#undef CONFIG_LIBA52'
6776 def_liba52_internal
="#undef CONFIG_LIBA52_INTERNAL"
6777 if test "$_liba52_internal" = yes ; then
6779 def_liba52_internal
="#define CONFIG_LIBA52_INTERNAL 1"
6780 _res_comment
="internal"
6781 elif test "$_liba52_internal" = no
&& test "$_liba52" = auto
; then
6784 #include <inttypes.h>
6785 #include <a52dec/a52.h>
6786 int main(void) { a52_state_t *testHand; testHand=a52_init(0); return 0; }
6788 cc_check
-la52 && _liba52
=yes && _res_comment
="external" && extra_ldflags
="$extra_ldflags -la52"
6790 if test "$_liba52" = yes ; then
6791 def_liba52
='#define CONFIG_LIBA52 1'
6792 _codecmodules
="liba52($_res_comment) $_codecmodules"
6794 _nocodecmodules
="liba52 $_nocodecmodules"
6798 echocheck
"internal libmpeg2 support"
6799 if test "$_libmpeg2" = auto
; then
6801 if alpha
&& test cc_vendor
=gnu
; then
6803 2*|
3.0*|
3.1*) # cannot compile MVI instructions
6805 _res_comment
="broken gcc"
6810 if test "$_libmpeg2" = yes ; then
6811 def_libmpeg2
='#define CONFIG_LIBMPEG2 1'
6812 _codecmodules
="libmpeg2(internal) $_codecmodules"
6814 def_libmpeg2
='#undef CONFIG_LIBMPEG2'
6815 _nocodecmodules
="libmpeg2(internal) $_nocodecmodules"
6817 echores
"$_libmpeg2"
6819 echocheck
"libdca support"
6820 if test "$_libdca" = auto
; then
6823 #include <inttypes.h>
6825 int main(void) { dts_init(0); return 0; }
6827 for _ld_dca
in -ldca -ldts ; do
6828 cc_check
$_ld_dca $_ld_lm && extra_ldflags
="$extra_ldflags $_ld_dca" \
6829 && _libdca
=yes && break
6832 if test "$_libdca" = yes ; then
6833 def_libdca
='#define CONFIG_LIBDCA 1'
6834 _codecmodules
="libdca $_codecmodules"
6836 def_libdca
='#undef CONFIG_LIBDCA'
6837 _nocodecmodules
="libdca $_nocodecmodules"
6841 echocheck
"libmpcdec (musepack, version >= 1.2.1 required)"
6842 if test "$_musepack" = auto
; then
6846 #include <mpcdec/mpcdec.h>
6848 mpc_streaminfo info;
6849 mpc_decoder decoder;
6850 mpc_decoder_set_streaminfo(&decoder, &info);
6851 mpc_decoder_decode_frame(&decoder, NULL, 0, NULL);
6855 cc_check
-lmpcdec $_ld_lm && _musepack
=yes
6857 if test "$_musepack" = yes ; then
6858 def_musepack
='#define CONFIG_MUSEPACK 1'
6859 extra_ldflags
="$extra_ldflags -lmpcdec"
6860 _codecmodules
="musepack $_codecmodules"
6862 def_musepack
='#undef CONFIG_MUSEPACK'
6863 _nocodecmodules
="musepack $_nocodecmodules"
6865 echores
"$_musepack"
6868 echocheck
"FAAC support"
6869 if test "$_faac" = auto
; then
6871 #include <inttypes.h>
6873 int main(void) { unsigned long x, y; faacEncOpen(48000, 2, &x, &y); return 0; }
6876 for _ld_faac
in "-lfaac" "-lfaac -lmp4v2 -lstdc++" ; do
6877 cc_check
$_ld_faac $_ld_lm && libs_mencoder
="$libs_mencoder $_ld_faac" && _faac
=yes && break
6880 if test "$_faac" = yes ; then
6881 def_faac
="#define CONFIG_FAAC 1"
6882 test "$_faac_lavc" = auto
&& _faac_lavc
=yes
6883 if test "$_faac_lavc" = yes ; then
6884 def_faac_lavc
="#define CONFIG_LIBFAAC 1"
6885 libs_mplayer
="$libs_mplayer $_ld_faac"
6886 _libavencoders
="$_libavencoders LIBFAAC_ENCODER"
6888 _codecmodules
="faac $_codecmodules"
6891 def_faac
="#undef CONFIG_FAAC"
6892 def_faac_lavc
="#define CONFIG_LIBFAAC 0"
6893 _nocodecmodules
="faac $_nocodecmodules"
6895 _res_comment
="in libavcodec: $_faac_lavc"
6899 echocheck
"FAAD2 support"
6900 if test "$_faad_internal" = auto
; then
6901 if x86_32
&& test cc_vendor
=gnu
; then
6903 3.1*|
3.2) # ICE/insn with these versions
6905 _res_comment
="broken gcc"
6917 if test "$_faad" = auto
; then
6920 #ifndef FAAD_MIN_STREAMSIZE
6921 #error Too old version
6923 int main(void) { faacDecHandle testhand; faacDecFrameInfo testinfo;
6924 testhand = faacDecOpen(); faacDecInit(0, 0, 0, 0, 0); return 0; }
6926 cc_check
-lfaad $_ld_lm && _faad
=yes
6929 def_faad
='#undef CONFIG_FAAD'
6930 def_faad_internal
="#undef CONFIG_FAAD_INTERNAL"
6931 if test "$_faad_internal" = yes ; then
6932 def_faad_internal
="#define CONFIG_FAAD_INTERNAL 1"
6933 _res_comment
="internal floating-point"
6934 if test "$_faad_fixed" = yes ; then
6935 # The FIXED_POINT implementation of FAAD2 improves performance
6936 # on some platforms, especially for SBR files.
6937 cflags_faad_fixed
="-DFIXED_POINT"
6938 _res_comment
="internal fixed-point"
6940 elif test "$_faad" = yes ; then
6941 extra_ldflags
="$extra_ldflags -lfaad"
6944 if test "$_faad" = yes ; then
6945 def_faad
='#define CONFIG_FAAD 1'
6946 if test "$_faad_internal" = yes ; then
6947 _codecmodules
="faad2(internal) $_codecmodules"
6949 _codecmodules
="faad2 $_codecmodules"
6953 _nocodecmodules
="faad2 $_nocodecmodules"
6958 echocheck
"LADSPA plugin support"
6959 if test "$_ladspa" = auto
; then
6964 const LADSPA_Descriptor *ld = NULL;
6969 cc_check
&& _ladspa
=yes
6971 if test "$_ladspa" = yes; then
6972 def_ladspa
="#define CONFIG_LADSPA 1"
6974 def_ladspa
="#undef CONFIG_LADSPA"
6979 echocheck
"libbs2b audio filter support"
6980 if test "$_libbs2b" = auto
; then
6983 #if BS2B_VERSION_MAJOR < 3
6984 #error Please use libbs2b >= 3.0.0, older versions are not supported.
6994 if $_pkg_config --exists libbs2b
; then
6995 _inc_tmp
=$
($_pkg_config --cflags libbs2b
)
6996 _ld_tmp
=$
($_pkg_config --libs libbs2b
)
6997 cc_check
$_inc_tmp $_ld_tmp && extra_ldflags
="$extra_ldflags $_ld_tmp" &&
6998 extra_cflags
="$extra_cflags $_inc_tmp" && _libbs2b
=yes
7000 for _inc_tmp
in "" -I/usr
/include
/bs2b
-I/usr
/local
/include \
7001 -I/usr
/local
/include
/bs2b
; do
7002 if cc_check
$_inc_tmp $_ld_lm -lbs2b ; then
7003 extra_ldflags
="$extra_ldflags -lbs2b"
7004 extra_cflags
="$extra_cflags $_inc_tmp"
7011 def_libbs2b
="#undef CONFIG_LIBBS2B"
7012 test "$_libbs2b" = yes && def_libbs2b
="#define CONFIG_LIBBS2B 1"
7016 if test -z "$_codecsdir" ; then
7017 for dir
in "$_libdir/codecs" "$_libdir/win32" /usr
/local
/lib
/codecs \
7018 /usr
/lib
/codecs
/usr
/local
/lib
/win32
/usr
/lib
/win32
; do
7019 if test -d "$dir" ; then
7025 # Fall back on default directory.
7026 if test -z "$_codecsdir" ; then
7027 _codecsdir
="$_libdir/codecs"
7028 mingw32 || os2
&& _codecsdir
="codecs"
7032 echocheck
"Win32 codecs"
7033 if test "$_win32dll" = auto
; then
7035 if x86_32
&& ! qnx
; then
7039 if test "$_win32dll" = yes ; then
7040 def_win32dll
='#define CONFIG_WIN32DLL 1'
7042 def_win32_loader
='#define WIN32_LOADER 1'
7043 _win32_emulation
=yes
7045 extra_ldflags
="$extra_ldflags -ladvapi32 -lole32"
7046 _res_comment
="using native windows"
7048 _codecmodules
="win32 $_codecmodules"
7050 def_win32dll
='#undef CONFIG_WIN32DLL'
7051 def_win32_loader
='#undef WIN32_LOADER'
7052 _nocodecmodules
="win32 $_nocodecmodules"
7054 echores
"$_win32dll"
7057 echocheck
"XAnim codecs"
7058 if test "$_xanim" = auto
; then
7060 _res_comment
="dynamic loader support needed"
7061 if test "$_dl" = yes ; then
7065 if test "$_xanim" = yes ; then
7066 def_xanim
='#define CONFIG_XANIM 1'
7067 _codecmodules
="xanim $_codecmodules"
7069 def_xanim
='#undef CONFIG_XANIM'
7070 _nocodecmodules
="xanim $_nocodecmodules"
7075 echocheck
"RealPlayer codecs"
7076 if test "$_real" = auto
; then
7078 _res_comment
="dynamic loader support needed"
7079 if test "$_dl" = yes ||
test "$_win32dll" = yes &&
7080 (linux || freebsd || netbsd || openbsd || dragonfly || darwin || win32 || os2
) ; then
7084 if test "$_real" = yes ; then
7085 def_real
='#define CONFIG_REALCODECS 1'
7086 _codecmodules
="real $_codecmodules"
7088 def_real
='#undef CONFIG_REALCODECS'
7089 _nocodecmodules
="real $_nocodecmodules"
7094 echocheck
"QuickTime codecs"
7096 def_qtx_win32
='#undef CONFIG_QTX_CODECS_WIN32'
7097 if test "$_qtx" = auto
; then
7098 test "$_win32dll" = yes ||
test "$quicktime" = yes && _qtx
=yes
7100 if test "$_qtx" = yes ; then
7101 def_qtx
='#define CONFIG_QTX_CODECS 1'
7102 win32
&& _qtx_codecs_win32
=yes && def_qtx_win32
='#define CONFIG_QTX_CODECS_WIN32 1'
7103 _codecmodules
="qtx $_codecmodules"
7104 darwin || win32 || _qtx_emulation
=yes
7106 def_qtx
='#undef CONFIG_QTX_CODECS'
7107 _nocodecmodules
="qtx $_nocodecmodules"
7111 echocheck
"Nemesi Streaming Media libraries"
7112 if test "$_nemesi" = auto
&& test "$_network" = yes ; then
7114 if $_pkg_config libnemesi
--atleast-version=0.6.3 ; then
7115 extra_cflags
="$extra_cflags $($_pkg_config --cflags libnemesi)"
7116 extra_ldflags
="$extra_ldflags $($_pkg_config --libs libnemesi)"
7120 if test "$_nemesi" = yes; then
7122 def_nemesi
='#define CONFIG_LIBNEMESI 1'
7123 _inputmodules
="nemesi $_inputmodules"
7125 _native_rtsp
="$_network"
7127 def_nemesi
='#undef CONFIG_LIBNEMESI'
7128 _noinputmodules
="nemesi $_noinputmodules"
7132 echocheck
"LIVE555 Streaming Media libraries"
7133 if test "$_live" = auto
&& test "$_network" = yes ; then
7134 cat > $TMPCPP << EOF
7135 #include <liveMedia.hh>
7136 #if (LIVEMEDIA_LIBRARY_VERSION_INT < 1141257600)
7137 #error Please upgrade to version 2006.03.03 or later of the "LIVE555 Streaming Media" libraries - available from <www.live555.com/liveMedia/>
7139 int main(void) { return 0; }
7143 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
7144 cxx_check
$I/liveMedia
/include
$I/UsageEnvironment
/include \
7145 $I/groupsock
/include
&& _livelibdir
=$
(echo $I|
sed s
/-I//) && \
7146 extra_ldflags
="$_livelibdir/liveMedia/libliveMedia.a \
7147 $_livelibdir/groupsock/libgroupsock.a \
7148 $_livelibdir/UsageEnvironment/libUsageEnvironment.a \
7149 $_livelibdir/BasicUsageEnvironment/libBasicUsageEnvironment.a \
7150 $extra_ldflags -lstdc++" \
7151 extra_cxxflags
="-I$_livelibdir/liveMedia/include \
7152 -I$_livelibdir/UsageEnvironment/include \
7153 -I$_livelibdir/BasicUsageEnvironment/include \
7154 -I$_livelibdir/groupsock/include" && \
7157 if test "$_live" != yes ; then
7158 ld_tmp
="-lliveMedia -lgroupsock -lUsageEnvironment -lBasicUsageEnvironment -lstdc++"
7159 if cxx_check
-I/usr
/include
/liveMedia
-I/usr
/include
/UsageEnvironment
-I/usr
/include
/groupsock
$ld_tmp; then
7164 if test "$_live" = yes && test "$_network" = yes; then
7165 test $_livelibdir && _res_comment
="using $_livelibdir"
7166 def_live
='#define CONFIG_LIVE555 1'
7167 _inputmodules
="live555 $_inputmodules"
7168 elif test "$_live_dist" = yes && test "$_network" = yes; then
7169 _res_comment
="using distribution version"
7171 def_live
='#define CONFIG_LIVE555 1'
7172 extra_ldflags
="$extra_ldflags $ld_tmp"
7173 extra_cxxflags
="-I/usr/include/liveMedia -I/usr/include/UsageEnvironment \
7174 -I/usr/include/BasicUsageEnvironment -I/usr/include/groupsock"
7175 _inputmodules
="live555 $_inputmodules"
7178 def_live
='#undef CONFIG_LIVE555'
7179 _noinputmodules
="live555 $_noinputmodules"
7184 echocheck
"FFmpeg libavutil"
7185 if test "$_libavutil_a" = auto
; then
7186 if test -d libavutil
; then
7188 _res_comment
="static"
7190 die
"MPlayer will not compile without libavutil in the source tree."
7192 elif test "$_libavutil_so" = auto
; then
7195 #include <libavutil/common.h>
7196 int main(void) { av_clip(1, 1, 1); return 0; }
7198 if $_pkg_config --exists libavutil
; then
7199 _inc_libavutil
=$
($_pkg_config --cflags libavutil
)
7200 _ld_tmp
=$
($_pkg_config --libs libavutil
)
7201 cc_check
$_inc_libavutil $_ld_tmp && extra_ldflags
="$extra_ldflags $_ld_tmp" \
7202 && _libavutil_so
=yes
7203 elif cc_check
-lavutil $_ld_lm ; then
7204 extra_ldflags
="$extra_ldflags -lavutil"
7206 _res_comment
="using libavutil.so, but static libavutil is recommended"
7210 def_libavutil
='#undef CONFIG_LIBAVUTIL'
7211 def_libavutil_a
='#undef CONFIG_LIBAVUTIL_A'
7212 def_libavutil_so
='#undef CONFIG_LIBAVUTIL_SO'
7213 test "$_libavutil_a" = yes ||
test "$_libavutil_so" = yes && _libavutil
=yes
7214 test "$_libavutil" = yes && def_libavutil
='#define CONFIG_LIBAVUTIL 1'
7215 test "$_libavutil_a" = yes && def_libavutil_a
='#define CONFIG_LIBAVUTIL_A 1'
7216 test "$_libavutil_so" = yes && def_libavutil_so
='#define CONFIG_LIBAVUTIL_SO 1'
7217 # neither static nor shared libavutil is available, but it is mandatory ...
7218 if test "$_libavutil" = no
; then
7219 die
"You need static or shared libavutil, MPlayer will not compile without!"
7221 echores
"$_libavutil"
7223 echocheck
"FFmpeg libavcodec"
7224 if test "$_libavcodec_a" = auto
; then
7226 if test -d libavcodec
&& test -f libavcodec
/utils.c
; then
7228 _res_comment
="static"
7230 elif test "$_libavcodec_so" = auto
; then
7232 _res_comment
="libavcodec.so is discouraged over static libavcodec"
7234 #include <libavcodec/avcodec.h>
7235 int main(void) { avcodec_find_encoder_by_name(""); return 0; }
7237 if $_pkg_config --exists libavcodec
; then
7238 _inc_libavcodec
=$
($_pkg_config --cflags libavcodec
)
7239 _ld_tmp
=$
($_pkg_config --libs libavcodec
)
7240 cc_check
$_inc_libavcodec $_ld_tmp && extra_ldflags
="$extra_ldflags $_ld_tmp" \
7241 && _libavcodec_so
=yes
7242 elif cc_check
-lavcodec $_ld_lm ; then
7243 extra_ldflags
="$extra_ldflags -lavcodec"
7245 _res_comment
="using libavcodec.so, but static libavcodec is recommended"
7249 def_libavcodec
='#undef CONFIG_LIBAVCODEC'
7250 def_libavcodec_a
='#undef CONFIG_LIBAVCODEC_A'
7251 def_libavcodec_so
='#undef CONFIG_LIBAVCODEC_SO'
7252 test "$_libavcodec_a" = yes ||
test "$_libavcodec_so" = yes && _libavcodec
=yes
7253 test "$_libavcodec" = yes && def_libavcodec
='#define CONFIG_LIBAVCODEC 1'
7254 test "$_libavcodec_a" = yes && def_libavcodec_a
='#define CONFIG_LIBAVCODEC_A 1'
7255 test "$_libavcodec_so" = yes && def_libavcodec_so
='#define CONFIG_LIBAVCODEC_SO 1'
7256 test "$_libavcodec_mpegaudio_hp" = yes \
7257 && def_libavcodec_mpegaudio_hp
='#define CONFIG_MPEGAUDIO_HP 1' \
7258 && mak_libavcodec_mpegaudio_hp
='CONFIG_MPEGAUDIO_HP = yes'
7259 if test "$_libavcodec_a" = yes ; then
7260 _codecmodules
="libavcodec(internal) $_codecmodules"
7261 elif test "$_libavcodec_so" = yes ; then
7262 _codecmodules
="libavcodec.so $_codecmodules"
7264 _nocodecmodules
="libavcodec $_nocodecmodules"
7266 echores
"$_libavcodec"
7268 echocheck
"FFmpeg libavformat"
7269 if test "$_libavformat_a" = auto
; then
7271 if test -d libavformat
&& test -f libavformat
/utils.c
; then
7273 _res_comment
="static"
7275 elif test "$_libavformat_so" = auto
; then
7278 #include <libavformat/avformat.h>
7279 #include <libavcodec/opt.h>
7280 int main(void) { av_alloc_format_context(); return 0; }
7282 if $_pkg_config --exists libavformat
; then
7283 _inc_libavformat
=$
($_pkg_config --cflags libavformat
)
7284 _ld_tmp
=$
($_pkg_config --libs libavformat
)
7285 cc_check
$_inc_libavformat $_ld_tmp && extra_ldflags
="$extra_ldflags $_ld_tmp" \
7286 && _libavformat_so
=yes
7287 elif cc_check
$_ld_lm -lavformat ; then
7288 extra_ldflags
="$extra_ldflags -lavformat"
7290 _res_comment
="using libavformat.so, but static libavformat is recommended"
7294 def_libavformat
='#undef CONFIG_LIBAVFORMAT'
7295 def_libavformat_a
='#undef CONFIG_LIBAVFORMAT_A'
7296 def_libavformat_so
='#undef CONFIG_LIBAVFORMAT_SO'
7297 test "$_libavformat_a" = yes ||
test "$_libavformat_so" = yes && _libavformat
=yes
7298 test "$_libavformat" = yes && def_libavformat
='#define CONFIG_LIBAVFORMAT 1'
7299 test "$_libavformat_a" = yes && def_libavformat_a
='#define CONFIG_LIBAVFORMAT_A 1'
7300 test "$_libavformat_so" = yes \
7301 && def_libavformat_so
='#define CONFIG_LIBAVFORMAT_SO 1'
7302 echores
"$_libavformat"
7304 echocheck
"FFmpeg libpostproc"
7305 if test "$_libpostproc_a" = auto
; then
7307 if test -d libpostproc
&& test -f libpostproc
/postprocess.h
; then
7308 _libpostproc_a
='yes'
7309 _res_comment
="static"
7311 elif test "$_libpostproc_so" = auto
; then
7314 #include <inttypes.h>
7315 #include <libpostproc/postprocess.h>
7316 int main(void) { pp_get_mode_by_name_and_quality("de", 0); return 0; }
7318 if cc_check
-lpostproc $_ld_lm ; then
7319 extra_ldflags
="$extra_ldflags -lpostproc"
7321 _res_comment
="using libpostproc.so, but static libpostproc is recommended"
7325 def_libpostproc
='#undef CONFIG_LIBPOSTPROC'
7326 def_libpostproc_a
='#undef CONFIG_LIBPOSTPROC_A'
7327 def_libpostproc_so
='#undef CONFIG_LIBPOSTPROC_SO'
7328 test "$_libpostproc_a" = yes ||
test "$_libpostproc_so" = yes && _libpostproc
=yes
7329 test "$_libpostproc" = yes && def_libpostproc
='#define CONFIG_LIBPOSTPROC 1'
7330 test "$_libpostproc_a" = yes && def_libpostproc_a
='#define CONFIG_LIBPOSTPROC_A 1'
7331 test "$_libpostproc_so" = yes \
7332 && def_libpostproc_so
='#define CONFIG_LIBPOSTPROC_SO 1'
7333 echores
"$_libpostproc"
7335 echocheck
"FFmpeg libswscale"
7336 if test "$_libswscale_a" = auto
; then
7338 if test -d libswscale
&& test -f libswscale
/swscale.h
; then
7340 _res_comment
="static"
7342 elif test "$_libswscale_so" = auto
; then
7344 _res_comment
="using libswscale.so, but static libswscale is recommended"
7346 #include <libswscale/swscale.h>
7347 int main(void) { sws_scale(0, 0, 0, 0, 0, 0, 0); return 0; }
7349 if $_pkg_config --exists libswscale
; then
7350 _inc_libswscale
=$
($_pkg_config --cflags libswscale
)
7351 _ld_tmp
=$
($_pkg_config --libs libswscale
)
7352 cc_check
$_inc_libswscale $_ld_tmp && extra_ldflags
="$extra_ldflags $_ld_tmp" \
7353 && _libswscale_so
=yes
7354 elif cc_check
-lswscale ; then
7355 extra_ldflags
="$extra_ldflags -lswscale"
7360 def_libswscale
='#undef CONFIG_LIBSWSCALE'
7361 def_libswscale_a
='#undef CONFIG_LIBSWSCALE_A'
7362 def_libswscale_so
='#undef CONFIG_LIBSWSCALE_SO'
7363 test "$_libswscale_a" = yes ||
test "$_libswscale_so" = yes && _libswscale
=yes
7364 test "$_libswscale" = yes && def_libswscale
='#define CONFIG_LIBSWSCALE 1'
7365 test "$_libswscale_a" = yes && def_libswscale_a
='#define CONFIG_LIBSWSCALE_A 1'
7366 test "$_libswscale_so" = yes \
7367 && def_libswscale_so
='#define CONFIG_LIBSWSCALE_SO 1'
7368 echores
"$_libswscale"
7370 echocheck
"libopencore_amr narrowband"
7371 if test "$_libopencore_amrnb" = auto
; then
7372 _libopencore_amrnb
=no
7374 #include <opencore-amrnb/interf_dec.h>
7375 int main(void) { Decoder_Interface_init(); return 0; }
7377 cc_check
-lopencore-amrnb && _libopencore_amrnb
=yes
7378 if test "$_libavcodec_a" != yes ; then
7379 _libopencore_amrnb
=no
7380 _res_comment
="libavcodec (static) is required by libopencore_amrnb, sorry"
7383 if test "$_libopencore_amrnb" = yes ; then
7384 _libopencore_amr
=yes
7385 extra_ldflags
="$extra_ldflags -lopencore-amrnb"
7386 def_libopencore_amrnb
='#define CONFIG_LIBOPENCORE_AMRNB 1'
7387 _libavdecoders
="$_libavdecoders LIBOPENCORE_AMRNB_DECODER"
7388 _libavencoders
="$_libavencoders LIBOPENCORE_AMRNB_ENCODER"
7389 _codecmodules
="libopencore_amrnb $_codecmodules"
7391 def_libopencore_amrnb
='#define CONFIG_LIBOPENCORE_AMRNB 0'
7392 _nocodecmodules
="libopencore_amrnb $_nocodecmodules"
7394 echores
"$_libopencore_amrnb"
7397 echocheck
"libopencore_amr wideband"
7398 if test "$_libopencore_amrwb" = auto
; then
7399 _libopencore_amrwb
=no
7401 #include <opencore-amrwb/dec_if.h>
7402 int main(void) { D_IF_init(); return 0; }
7404 cc_check
-lopencore-amrwb && _libopencore_amrwb
=yes
7405 if test "$_libavcodec_a" != yes ; then
7406 _libopencore_amrwb
=no
7407 _res_comment
="libavcodec (static) is required by libopencore_amrwb, sorry"
7410 if test "$_libopencore_amrwb" = yes ; then
7411 _libopencore_amr
=yes
7412 extra_ldflags
="$extra_ldflags -lopencore-amrwb"
7413 def_libopencore_amrwb
='#define CONFIG_LIBOPENCORE_AMRWB 1'
7414 _libavdecoders
="$_libavdecoders LIBOPENCORE_AMRWB_DECODER"
7415 _libavencoders
="$_libavencoders LIBOPENCORE_AMRWB_DECODER"
7416 _codecmodules
="libopencore_amrwb $_codecmodules"
7418 def_libopencore_amrwb
='#define LIBOPENCORE_AMRWB 0'
7419 _nocodecmodules
="libopencore_amrwb $_nocodecmodules"
7421 echores
"$_libopencore_amrwb"
7423 echocheck
"libdv-0.9.5+"
7424 if test "$_libdv" = auto
; then
7427 #include <libdv/dv.h>
7428 int main(void) { dv_encoder_t* enc=dv_encoder_new(1,1,1); return 0; }
7430 cc_check
-ldv $_ld_pthread $_ld_lm && _libdv
=yes
7432 if test "$_libdv" = yes ; then
7433 def_libdv
='#define CONFIG_LIBDV095 1'
7434 extra_ldflags
="$extra_ldflags -ldv"
7435 _codecmodules
="libdv $_codecmodules"
7437 def_libdv
='#undef CONFIG_LIBDV095'
7438 _nocodecmodules
="libdv $_nocodecmodules"
7444 if test "$_xvid" = auto
; then
7448 int main(void) { xvid_global(0, 0, 0, 0); return 0; }
7450 for _ld_tmp
in "-lxvidcore $_ld_lm" "-lxvidcore $_ld_lm $_ld_pthread" ; do
7451 cc_check
$_ld_tmp && extra_ldflags
="$extra_ldflags $_ld_tmp" && _xvid
=yes && break
7455 if test "$_xvid" = yes ; then
7456 def_xvid
='#define CONFIG_XVID4 1'
7457 _codecmodules
="xvid $_codecmodules"
7459 def_xvid
='#undef CONFIG_XVID4'
7460 _nocodecmodules
="xvid $_nocodecmodules"
7464 echocheck
"Xvid two pass plugin"
7465 if test "$_xvid" = yes && test "$_xvid_lavc" = auto
; then
7468 int main(void) { xvid_plugin_2pass2_t s; s.vbv_size=0; return 0; }
7470 cc_check
&& _xvid_lavc
=yes
7472 if test "$_xvid_lavc" = yes ; then
7473 def_xvid_lavc
='#define CONFIG_LIBXVID 1'
7474 _libavencoders
="$_libavencoders LIBXVID_ENCODER"
7477 def_xvid_lavc
='#define CONFIG_LIBXVID 0'
7479 echores
"$_xvid_lavc"
7483 if test "$_x264" = auto
; then
7485 #include <inttypes.h>
7488 #error We do not support old versions of x264. Get the latest from git.
7490 int main(void) { x264_encoder_open((void*)0); return 0; }
7493 for _ld_x264
in "-lx264 $_ld_pthread" "-lx264 $_ld_pthread $_ld_lm" ; do
7494 cc_check
$_ld_x264 && libs_mencoder
="$libs_mencoder $_ld_x264" && _x264
=yes && break
7498 if test "$_x264" = yes ; then
7499 def_x264
='#define CONFIG_X264 1'
7500 _codecmodules
="x264 $_codecmodules"
7501 test "$_x264_lavc" = auto
&& _x264_lavc
=yes
7502 if test "$_x264_lavc" = yes ; then
7503 def_x264_lavc
='#define CONFIG_LIBX264 1'
7504 libs_mplayer
="$libs_mplayer $_ld_x264"
7505 _libavencoders
="$_libavencoders LIBX264_ENCODER"
7509 def_x264
='#undef CONFIG_X264'
7510 def_x264_lavc
='#define CONFIG_LIBX264 0'
7511 _nocodecmodules
="x264 $_nocodecmodules"
7513 _res_comment
="in libavcodec: $_x264_lavc"
7517 echocheck
"libdirac"
7518 if test "$_libdirac_lavc" = auto
; then
7520 if test "$_libavcodec_a" != yes; then
7521 _res_comment
="libavcodec (static) is required by libdirac, sorry"
7524 #include <libdirac_encoder/dirac_encoder.h>
7525 #include <libdirac_decoder/dirac_parser.h>
7528 dirac_encoder_context_t enc_ctx;
7529 dirac_decoder_t *dec_handle;
7530 dirac_encoder_context_init(&enc_ctx, VIDEO_FORMAT_SD_576I50);
7531 dec_handle = dirac_decoder_init(0);
7533 dirac_decoder_close(dec_handle);
7537 if $_pkg_config --exists dirac
; then
7538 _inc_dirac
=$
($_pkg_config --silence-errors --cflags dirac
)
7539 _ld_dirac
=$
($_pkg_config --silence-errors --libs dirac
)
7540 cc_check
$_inc_dirac $_ld_dirac &&
7541 _libdirac_lavc
=yes &&
7542 extra_cflags
="$extra_cflags $_inc_dirac" &&
7543 extra_ldflags
="$extra_ldflags $_ld_dirac"
7547 if test "$_libdirac_lavc" = yes ; then
7548 def_libdirac_lavc
='#define CONFIG_LIBDIRAC 1'
7549 _libavencoders
="$_libavencoders LIBDIRAC_ENCODER"
7550 _libavdecoders
="$_libavdecoders LIBDIRAC_DECODER"
7551 _codecmodules
="libdirac $_codecmodules"
7553 def_libdirac_lavc
='#define CONFIG_LIBDIRAC 0'
7554 _nocodecmodules
="libdirac $_nocodecmodules"
7556 echores
"$_libdirac_lavc"
7559 echocheck
"libschroedinger"
7560 if test "$_libschroedinger_lavc" = auto
; then
7561 _libschroedinger_lavc
=no
7562 if test "$_libavcodec_a" != yes; then
7563 _res_comment
="libavcodec (static) is required by libschroedinger, sorry"
7566 #include <schroedinger/schro.h>
7567 int main(void) { schro_init(); return 0; }
7569 if $_pkg_config --exists schroedinger-1.0
; then
7570 _inc_schroedinger
=$
($_pkg_config --silence-errors --cflags schroedinger-1.0
)
7571 _ld_schroedinger
=$
($_pkg_config --silence-errors --libs schroedinger-1.0
)
7572 cc_check
$_inc_schroedinger $_ld_schroedinger &&
7573 _libschroedinger_lavc
=yes &&
7574 extra_cflags
="$extra_cflags $_inc_schroedinger" &&
7575 extra_ldflags
="$extra_ldflags $_ld_schroedinger"
7579 if test "$_libschroedinger_lavc" = yes ; then
7580 def_libschroedinger_lavc
='#define CONFIG_LIBSCHROEDINGER 1'
7581 _libavencoders
="$_libavencoders LIBSCHROEDINGER_ENCODER"
7582 _libavdecoders
="$_libavdecoders LIBSCHROEDINGER_DECODER"
7583 _codecmodules
="libschroedinger $_codecmodules"
7585 def_libschroedinger_lavc
='#define CONFIG_LIBSCHROEDINGER 0'
7586 _nocodecmodules
="libschroedinger $_nocodecmodules"
7588 echores
"$_libschroedinger_lavc"
7591 if test "$_libnut" = auto
; then
7595 #include <inttypes.h>
7597 nut_context_tt * nut;
7598 int main(void) { (void)nut_error(0); return 0; }
7601 cc_check
-lnut && _libnut
=yes
7604 if test "$_libnut" = yes ; then
7605 def_libnut
='#define CONFIG_LIBNUT 1'
7606 extra_ldflags
="$extra_ldflags -lnut"
7608 def_libnut
='#undef CONFIG_LIBNUT'
7612 #check must be done after libavcodec one
7614 if test "$_zr" = auto
; then
7615 #36067's seem to identify themselves as 36057PQC's, so the line
7616 #below should work for 36067's and 36057's.
7617 if grep -q -s -e "Multimedia video controller: Zoran Corporation ZR36057" /proc
/pci
; then
7623 if test "$_zr" = yes ; then
7624 if test "$_libavcodec_a" = yes ; then
7625 def_zr
='#define CONFIG_ZR 1'
7626 _vomodules
="zr zr2 $_vomodules"
7628 _res_comment
="libavcodec (static) is required by zr, sorry"
7629 _novomodules
="zr $_novomodules"
7630 def_zr
='#undef CONFIG_ZR'
7633 def_zr
='#undef CONFIG_ZR'
7634 _novomodules
="zr zr2 $_novomodules"
7638 # mencoder requires (optional) those libs: libmp3lame
7639 if test "$_mencoder" != no
; then
7641 echocheck
"libmp3lame"
7642 def_mp3lame_preset
='#undef CONFIG_MP3LAME_PRESET'
7643 def_mp3lame_preset_medium
='#undef CONFIG_MP3LAME_PRESET_MEDIUM'
7644 if test "$_mp3lame" = auto
; then
7647 #include <lame/lame.h>
7648 int main(void) { lame_version_t lv; (void) lame_init();
7649 get_lame_version_numerical(&lv);
7652 cc_check
-lmp3lame $_ld_lm && _mp3lame
=yes
7654 if test "$_mp3lame" = yes ; then
7655 def_mp3lame
="#define CONFIG_MP3LAME 1"
7656 _ld_mp3lame
=-lmp3lame
7657 libs_mencoder
="$libs_mencoder $_ld_mp3lame"
7659 #include <lame/lame.h>
7660 int main(void) { lame_set_preset(NULL, STANDARD_FAST); return 0; }
7662 cc_check
$_ld_mp3lame $_ld_lm && def_mp3lame_preset
="#define CONFIG_MP3LAME_PRESET 1"
7664 #include <lame/lame.h>
7665 int main(void) { lame_set_preset(NULL, MEDIUM_FAST); return 0; }
7667 cc_check
$_ld_mp3lame $_ld_lm && def_mp3lame_preset_medium
="#define CONFIG_MP3LAME_PRESET_MEDIUM 1"
7668 test "$_mp3lame_lavc" = auto
&& _mp3lame_lavc
=yes
7669 if test "$_mp3lame_lavc" = yes ; then
7670 def_mp3lame_lavc
="#define CONFIG_LIBMP3LAME 1"
7671 _libavencoders
="$_libavencoders LIBMP3LAME_ENCODER"
7672 libs_mplayer
="$libs_mplayer $_ld_mp3lame"
7676 def_mp3lame
='#undef CONFIG_MP3LAME'
7677 def_mp3lame_lavc
="#define CONFIG_LIBMP3LAME 0"
7679 _res_comment
="in libavcodec: $_mp3lame_lavc"
7682 fi # test "$_mencoder" != no
7684 echocheck
"mencoder"
7685 if test "$_mencoder" = yes ; then
7686 def_muxers
='#define CONFIG_MUXERS 1'
7688 # mpeg1video for vf_lavc, snow for vf_uspp and vf_mcdeint, png for vf_screenshot
7689 _libavencoders
="MPEG1VIDEO_ENCODER SNOW_ENCODER"
7690 test "$_zlib" = yes && _libavencoders
="$_libavencoders PNG_ENCODER"
7692 def_muxers
='#define CONFIG_MUXERS 0'
7694 echores
"$_mencoder"
7697 echocheck
"UnRAR executable"
7698 if test "$_unrar_exec" = auto
; then
7700 mingw32
&& _unrar_exec
="no"
7702 if test "$_unrar_exec" = yes ; then
7703 def_unrar_exec
='#define CONFIG_UNRAR_EXEC 1'
7705 def_unrar_exec
='#undef CONFIG_UNRAR_EXEC'
7707 echores
"$_unrar_exec"
7709 echocheck
"TV interface"
7710 if test "$_tv" = yes ; then
7711 def_tv
='#define CONFIG_TV 1'
7712 _inputmodules
="tv $_inputmodules"
7714 _noinputmodules
="tv $_noinputmodules"
7715 def_tv
='#undef CONFIG_TV'
7720 if freebsd || netbsd || openbsd || dragonfly || bsdos
; then
7721 echocheck
"*BSD BT848 bt8xx header"
7723 for file in "machine/ioctl_bt848.h" \
7724 "dev/bktr/ioctl_bt848.h" \
7725 "dev/video/bktr/ioctl_bt848.h" \
7726 "dev/ic/bt8xx.h" ; do
7728 #include <sys/types.h>
7729 #include <sys/ioctl.h>
7731 int main(void) { ioctl(0, TVTUNER_GETFREQ, 0); return 0; }
7735 _ioctl_bt848_h_name
="$file"
7739 if test "$_ioctl_bt848_h" = yes ; then
7740 def_ioctl_bt848_h_name
="#define IOCTL_BT848_H_NAME <$_ioctl_bt848_h_name>"
7741 _res_comment
="using $_ioctl_bt848_h_name"
7743 def_ioctl_bt848_h_name
="#undef IOCTL_BT848_H_NAME"
7745 echores
"$_ioctl_bt848_h"
7747 echocheck
"*BSD ioctl_meteor.h"
7749 for file in "machine/ioctl_meteor.h" \
7750 "dev/bktr/ioctl_meteor.h" \
7751 "dev/video/bktr/ioctl_meteor.h" ; do
7753 #include <sys/types.h>
7755 int main(void) { ioctl(0, METEORSINPUT, 0); return 0; }
7759 _ioctl_meteor_h_name
="$file"
7763 if test "$_ioctl_meteor_h" = yes ; then
7764 def_ioctl_meteor_h_name
="#define IOCTL_METEOR_H_NAME <$_ioctl_meteor_h_name>"
7765 _res_comment
="using $_ioctl_meteor_h_name"
7767 def_ioctl_meteor_h_name
="#undef IOCTL_METEOR_H_NAME"
7769 echores
"$_ioctl_meteor_h"
7771 echocheck
"*BSD BrookTree 848 TV interface"
7772 if test "$_tv_bsdbt848" = auto
; then
7774 if test "$_tv" = yes ; then
7776 #include <sys/types.h>
7777 $def_ioctl_meteor_h_name
7778 $def_ioctl_bt848_h_name
7779 #ifdef IOCTL_METEOR_H_NAME
7780 #include IOCTL_METEOR_H_NAME
7782 #ifdef IOCTL_BT848_H_NAME
7783 #include IOCTL_BT848_H_NAME
7786 ioctl(0, METEORSINPUT, 0);
7787 ioctl(0, TVTUNER_GETFREQ, 0);
7791 cc_check
&& _tv_bsdbt848
=yes
7794 if test "$_tv_bsdbt848" = yes ; then
7795 def_tv_bsdbt848
='#define CONFIG_TV_BSDBT848 1'
7796 _inputmodules
="tv-bsdbt848 $_inputmodules"
7798 def_tv_bsdbt848
='#undef CONFIG_TV_BSDBT848'
7799 _noinputmodules
="tv-bsdbt848 $_noinputmodules"
7801 echores
"$_tv_bsdbt848"
7802 fi #if freebsd || netbsd || openbsd || dragonfly || bsdos
7805 echocheck
"DirectShow TV interface"
7806 if test "$_tv_dshow" = auto
; then
7808 if test "$_tv" = yes && win32
; then
7813 CoCreateInstance((GUID*)&GUID_NULL, NULL, CLSCTX_INPROC_SERVER, &GUID_NULL, &p);
7817 cc_check
-lole32 -luuid && _tv_dshow
=yes
7820 if test "$_tv_dshow" = yes ; then
7821 _inputmodules
="tv-dshow $_inputmodules"
7822 def_tv_dshow
='#define CONFIG_TV_DSHOW 1'
7823 extra_ldflags
="$extra_ldflags -lole32 -luuid"
7825 _noinputmodules
="tv-dshow $_noinputmodules"
7826 def_tv_dshow
='#undef CONFIG_TV_DSHOW'
7828 echores
"$_tv_dshow"
7831 echocheck
"Video 4 Linux TV interface"
7832 if test "$_tv_v4l1" = auto
; then
7834 if test "$_tv" = yes && linux
; then
7837 #include <linux/videodev.h>
7838 int main(void) { return 0; }
7840 cc_check
&& _tv_v4l1
=yes
7843 if test "$_tv_v4l1" = yes ; then
7846 def_tv_v4l
='#define CONFIG_TV_V4L 1'
7847 def_tv_v4l1
='#define CONFIG_TV_V4L1 1'
7848 _inputmodules
="tv-v4l $_inputmodules"
7850 _noinputmodules
="tv-v4l1 $_noinputmodules"
7851 def_tv_v4l
='#undef CONFIG_TV_V4L'
7856 echocheck
"Video 4 Linux 2 TV interface"
7857 if test "$_tv_v4l2" = auto
; then
7859 if test "$_tv" = yes && linux
; then
7862 #include <linux/types.h>
7863 #include <linux/videodev2.h>
7864 int main(void) { return 0; }
7866 cc_check
&& _tv_v4l2
=yes
7869 if test "$_tv_v4l2" = yes ; then
7872 def_tv_v4l
='#define CONFIG_TV_V4L 1'
7873 def_tv_v4l2
='#define CONFIG_TV_V4L2 1'
7874 _inputmodules
="tv-v4l2 $_inputmodules"
7876 _noinputmodules
="tv-v4l2 $_noinputmodules"
7877 def_tv_v4l2
='#undef CONFIG_TV_V4L2'
7882 echocheck
"Radio interface"
7883 if test "$_radio" = yes ; then
7884 def_radio
='#define CONFIG_RADIO 1'
7885 _inputmodules
="radio $_inputmodules"
7886 if test "$_alsa9" != yes -a "$_alsa1x" != yes -a "$_ossaudio" != yes ; then
7889 if test "$_radio_capture" = yes ; then
7891 def_radio_capture
="#define CONFIG_RADIO_CAPTURE 1"
7893 def_radio_capture
="#undef CONFIG_RADIO_CAPTURE"
7896 _noinputmodules
="radio $_noinputmodules"
7897 def_radio
='#undef CONFIG_RADIO'
7898 def_radio_capture
="#undef CONFIG_RADIO_CAPTURE"
7902 echocheck
"Capture for Radio interface"
7903 echores
"$_radio_capture"
7905 echocheck
"Video 4 Linux 2 Radio interface"
7906 if test "$_radio_v4l2" = auto
; then
7908 if test "$_radio" = yes && linux
; then
7911 #include <linux/types.h>
7912 #include <linux/videodev2.h>
7913 int main(void) { return 0; }
7915 cc_check
&& _radio_v4l2
=yes
7918 if test "$_radio_v4l2" = yes ; then
7919 def_radio_v4l2
='#define CONFIG_RADIO_V4L2 1'
7921 def_radio_v4l2
='#undef CONFIG_RADIO_V4L2'
7923 echores
"$_radio_v4l2"
7925 echocheck
"Video 4 Linux Radio interface"
7926 if test "$_radio_v4l" = auto
; then
7928 if test "$_radio" = yes && linux
; then
7931 #include <linux/videodev.h>
7932 int main(void) { return 0; }
7934 cc_check
&& _radio_v4l
=yes
7937 if test "$_radio_v4l" = yes ; then
7938 def_radio_v4l
='#define CONFIG_RADIO_V4L 1'
7940 def_radio_v4l
='#undef CONFIG_RADIO_V4L'
7942 echores
"$_radio_v4l"
7944 if freebsd || netbsd || openbsd || dragonfly || bsdos \
7945 && test "$_radio" = yes && test "$_radio_bsdbt848" = auto
; then
7946 echocheck
"*BSD BrookTree 848 Radio interface"
7949 #include <sys/types.h>
7950 $def_ioctl_bt848_h_name
7951 #ifdef IOCTL_BT848_H_NAME
7952 #include IOCTL_BT848_H_NAME
7954 int main(void) { ioctl(0, RADIO_GETFREQ, 0); return 0; }
7956 cc_check
&& _radio_bsdbt848
=yes
7957 echores
"$_radio_bsdbt848"
7958 fi #if freebsd || netbsd || openbsd || dragonfly || bsdos && _radio && _radio_bsdbt848
7960 if test "$_radio_bsdbt848" = yes ; then
7961 def_radio_bsdbt848
='#define CONFIG_RADIO_BSDBT848 1'
7963 def_radio_bsdbt848
='#undef CONFIG_RADIO_BSDBT848'
7966 if test "$_radio_v4l" = no
&& test "$_radio_v4l2" = no
&& \
7967 test "$_radio_bsdbt848" = no
&& test "$_radio" = yes ; then
7968 die
"Radio driver requires BSD BT848, V4L or V4L2!"
7971 echocheck
"Video 4 Linux 2 MPEG PVR interface"
7972 if test "$_pvr" = auto
; then
7974 if test "$_tv_v4l2" = yes && linux
; then
7977 #include <inttypes.h>
7978 #include <linux/types.h>
7979 #include <linux/videodev2.h>
7980 int main(void) { struct v4l2_ext_controls ext; return ext.controls->value; }
7982 cc_check
&& _pvr
=yes
7985 if test "$_pvr" = yes ; then
7986 def_pvr
='#define CONFIG_PVR 1'
7987 _inputmodules
="pvr $_inputmodules"
7989 _noinputmodules
="pvr $_noinputmodules"
7990 def_pvr
='#undef CONFIG_PVR'
7996 if ! beos
&& test "$_ftp" = yes ; then
7997 def_ftp
='#define CONFIG_FTP 1'
7998 _inputmodules
="ftp $_inputmodules"
8000 _noinputmodules
="ftp $_noinputmodules"
8001 def_ftp
='#undef CONFIG_FTP'
8005 echocheck
"vstream client"
8006 if test "$_vstream" = auto
; then
8009 #include <vstream-client.h>
8010 void vstream_error(const char *format, ... ) {}
8011 int main(void) { vstream_start(); return 0; }
8013 cc_check
-lvstream-client && _vstream
=yes
8015 if test "$_vstream" = yes ; then
8016 def_vstream
='#define CONFIG_VSTREAM 1'
8017 _inputmodules
="vstream $_inputmodules"
8018 extra_ldflags
="$extra_ldflags -lvstream-client"
8020 _noinputmodules
="vstream $_noinputmodules"
8021 def_vstream
='#undef CONFIG_VSTREAM'
8026 echocheck
"OSD menu"
8027 if test "$_menu" = yes ; then
8028 def_menu
='#define CONFIG_MENU 1'
8029 test $_dvbin = "yes" && _menu_dvbin
=yes
8031 def_menu
='#undef CONFIG_MENU'
8037 echocheck
"Subtitles sorting"
8038 if test "$_sortsub" = yes ; then
8039 def_sortsub
='#define CONFIG_SORTSUB 1'
8041 def_sortsub
='#undef CONFIG_SORTSUB'
8046 echocheck
"XMMS inputplugin support"
8047 if test "$_xmms" = yes ; then
8048 if ( xmms-config
--version ) >/dev
/null
2>&1 ; then
8049 _xmmsplugindir
=$
(xmms-config
--input-plugin-dir)
8050 _xmmslibdir
=$
(xmms-config
--exec-prefix)/lib
8052 _xmmsplugindir
=/usr
/lib
/xmms
/Input
8053 _xmmslibdir
=/usr
/lib
8056 def_xmms
='#define CONFIG_XMMS 1'
8058 extra_ldflags
="$extra_ldflags ${_xmmslibdir}/libxmms.dylib"
8060 extra_ldflags
="$extra_ldflags ${_xmmslibdir}/libxmms.so.1 -export-dynamic"
8063 def_xmms
='#undef CONFIG_XMMS'
8068 # --------------- GUI specific tests begin -------------------
8071 if test "$_gui" = yes ; then
8073 # Required libraries
8074 if test "$_libavcodec" != yes ||
8075 ! echo $_libavdecoders |
grep -q PNG_DECODER
; then
8076 die
"The GUI requires libavcodec with PNG support (needs zlib)."
8078 test "$_freetype" = no
&& test "$_bitmap_font" = no
&& \
8079 die
"The GUI requires either FreeType or bitmap font support."
8082 test "$_x11" != yes && die
"X11 support required for GUI compilation."
8084 echocheck
"XShape extension"
8085 if test "$_xshape" = auto
; then
8088 #include <X11/Xlib.h>
8089 #include <X11/Xproto.h>
8090 #include <X11/Xutil.h>
8091 #include <X11/extensions/shape.h>
8094 char *name = ":0.0";
8097 int eventbase, errorbase;
8098 if (getenv("DISPLAY"))
8099 name=getenv("DISPLAY");
8100 wsDisplay=XOpenDisplay(name);
8101 if (!XShapeQueryExtension(wsDisplay,&eventbase,&errorbase))
8103 XCloseDisplay(wsDisplay);
8107 cc_check
-lXext && _xshape
=yes
8109 if test "$_xshape" = yes ; then
8110 def_xshape
='#define CONFIG_XSHAPE 1'
8112 die
"The GUI requires the X11 extension XShape (which was not found)."
8117 if test "$_gtk1" = no
; then
8119 echocheck
"GTK+ version"
8121 if $_pkg_config gtk
+-2.0
--exists ; then
8122 _gtk
=$
($_pkg_config gtk
+-2.0
--modversion 2>/dev
/null
)
8123 extra_cflags
="$extra_cflags $($_pkg_config gtk+-2.0 --cflags 2>/dev/null)"
8124 libs_mplayer
="$libs_mplayer $($_pkg_config gtk+-2.0 --libs 2>/dev/null)"
8128 if $_pkg_config glib-2.0
--exists ; then
8129 echocheck
"glib version"
8130 _glib
=$
($_pkg_config glib-2.0
--modversion 2>/dev
/null
)
8131 libs_mplayer
="$libs_mplayer $($_pkg_config glib-2.0 --libs 2>/dev/null)"
8134 def_gui
='#define CONFIG_GUI 1'
8135 def_gtk2
='#define CONFIG_GTK2 1'
8138 echo "GLIB-2 devel packages were not found, trying GTK 1.2"
8141 echo "GTK-2 devel packages were not found, trying GTK 1.2"
8146 if test "$_gtk1" = yes ; then
8147 # Check for old GTK (1.2.x)
8148 echocheck
"GTK version"
8149 if test -z "$_gtkconfig" ; then
8150 if ( gtk-config
--version ) >/dev
/null
2>&1 ; then
8151 _gtkconfig
="gtk-config"
8152 elif ( gtk12-config
--version ) >/dev
/null
2>&1 ; then
8153 _gtkconfig
="gtk12-config"
8155 die
"The GUI requires GTK devel packages (which were not found)."
8158 _gtk
=$
($_gtkconfig --version 2>&1)
8159 extra_cflags
="$extra_cflags $($_gtkconfig --cflags 2>&1)"
8160 libs_mplayer
="$libs_mplayer $($_gtkconfig --libs 2>&1)"
8161 echores
"$_gtk (using $_gtkconfig)"
8164 echocheck
"glib version"
8165 if test -z "$_glibconfig" ; then
8166 if ( glib-config
--version ) >/dev
/null
2>&1 ; then
8167 _glibconfig
="glib-config"
8168 elif ( glib12-config
--version ) >/dev
/null
2>&1 ; then
8169 _glibconfig
="glib12-config"
8171 die
"The GUI requires GLIB devel packages (which were not found)"
8174 _glib
=$
($_glibconfig --version 2>&1)
8175 libs_mplayer
="$libs_mplayer $($_glibconfig --libs 2>&1)"
8176 echores
"$_glib (using $_glibconfig)"
8178 def_gui
='#define CONFIG_GUI 1'
8179 def_gtk2
='#undef CONFIG_GTK2'
8184 libs_mplayer
="$libs_mplayer -lcomdlg32 -lcomctl32 -lshell32 -lkernel32"
8185 def_gui
='#define CONFIG_GUI 1'
8186 def_gtk2
='#undef CONFIG_GTK2'
8189 else #if test "$_gui"
8190 def_gui
='#undef CONFIG_GUI'
8191 def_gtk2
='#undef CONFIG_GTK2'
8193 # --------------- GUI specific tests end -------------------
8196 if test "$_charset" != "noconv" ; then
8197 def_charset
="#define MSG_CHARSET \"$_charset\""
8199 def_charset
="#undef MSG_CHARSET"
8203 if test -n "$_charset" && test "$_charset" != "UTF-8" ; then
8204 echocheck
"iconv program"
8205 iconv -f UTF-8
-t $_charset ${_mp_help} > /dev
/null
2>> "$TMPLOG"
8206 if test "$?" -ne 0 ; then
8208 echo "No working iconv program found, use "
8209 echo "--charset=UTF-8 to continue anyway."
8210 echo "If you also have problems with iconv library functions use --charset=noconv."
8211 echo "Messages in the GTK-2 interface will be broken then."
8218 #############################################################################
8220 echocheck
"automatic gdb attach"
8221 if test "$_crash_debug" = yes ; then
8222 def_crash_debug
='#define CONFIG_CRASH_DEBUG 1'
8224 def_crash_debug
='#undef CONFIG_CRASH_DEBUG'
8227 echores
"$_crash_debug"
8229 echocheck
"compiler support for noexecstack"
8231 int main(void) { return 0; }
8233 if cc_check
-Wl,-z,noexecstack
; then
8234 extra_ldflags
="-Wl,-z,noexecstack $extra_ldflags"
8240 echocheck
"linker support for --nxcompat --no-seh --dynamicbase"
8241 if cc_check
"-Wl,--nxcompat -Wl,--no-seh -Wl,--dynamicbase" ; then
8242 extra_ldflags
="-Wl,--nxcompat -Wl,--no-seh -Wl,--dynamicbase $extra_ldflags"
8249 # Dynamic linking flags
8250 # (FIXME: 'echocheck "dynamic linking"' above and modify here accordingly)
8252 freebsd || netbsd || openbsd || dragonfly || bsdos
&& _ld_dl_dynamic
='-rdynamic'
8253 if test "$_real" = yes ||
test "$_xanim" = yes && ! win32
&& ! qnx
&& ! darwin
&& ! os2
&& ! sunos
; then
8254 _ld_dl_dynamic
='-rdynamic'
8257 extra_ldflags
="$extra_ldflags $_ld_pthread $_ld_dl $_ld_dl_dynamic"
8258 bsdos
&& extra_ldflags
="$extra_ldflags -ldvd"
8259 (netbsd || openbsd
) && x86_32
&& extra_ldflags
="$extra_ldflags -li386"
8261 def_debug
='#undef MP_DEBUG'
8262 test "$_debug" != "" && def_debug
='#define MP_DEBUG 1'
8265 echocheck
"joystick"
8266 def_joystick
='#undef CONFIG_JOYSTICK'
8267 if test "$_joystick" = yes ; then
8269 # TODO add some check
8270 def_joystick
='#define CONFIG_JOYSTICK 1'
8273 _res_comment
="unsupported under $system_name"
8276 echores
"$_joystick"
8279 if test "$_lirc" = auto
; then
8282 #include <lirc/lirc_client.h>
8283 int main(void) { return 0; }
8285 cc_check
-llirc_client && _lirc
=yes
8287 if test "$_lirc" = yes ; then
8288 def_lirc
='#define CONFIG_LIRC 1'
8289 libs_mplayer
="$libs_mplayer -llirc_client"
8291 def_lirc
='#undef CONFIG_LIRC'
8296 if test "$_lircc" = auto
; then
8299 #include <lirc/lircc.h>
8300 int main(void) { return 0; }
8302 cc_check
-llircc && _lircc
=yes
8304 if test "$_lircc" = yes ; then
8305 def_lircc
='#define CONFIG_LIRCC 1'
8306 libs_mplayer
="$libs_mplayer -llircc"
8308 def_lircc
='#undef CONFIG_LIRCC'
8313 # Detect maemo development platform libraries availability (http://www.maemo.org),
8314 # they are used when run on Nokia 770|8x0
8315 echocheck
"maemo (Nokia 770|8x0)"
8316 if test "$_maemo" = auto
; then
8319 #include <libosso.h>
8320 int main(void) { (void) osso_initialize("", "", 0, NULL); return 0; }
8322 cc_check $
($_pkg_config --cflags --libs libosso
2>/dev
/null
) && _maemo
=yes
8324 if test "$_maemo" = yes ; then
8325 def_maemo
='#define CONFIG_MAEMO 1'
8326 extra_cflags
="$extra_cflags $($_pkg_config --cflags libosso)"
8327 extra_ldflags
="$extra_ldflags $($_pkg_config --libs libosso) -lXsp"
8329 def_maemo
='#undef CONFIG_MAEMO'
8334 #############################################################################
8336 # On OS/2 nm supports only a.out. So the -Zomf compiler option to generate
8337 # the OMF format needs to come after the 'extern symbol prefix' check, which
8340 extra_ldflags
="$extra_ldflags -Zomf -Zstack 16384 -Zbin-files -Zargs-wild"
8343 # linker paths should be the same for mencoder and mplayer
8345 for I
in $libs_mplayer ; do
8346 _tmp
=$
(echo $I |
sed -e 's/^-L.*$//')
8347 if test -z "$_tmp" ; then
8348 extra_ldflags
="$extra_ldflags $I"
8350 _ld_tmp
="$_ld_tmp $I"
8353 libs_mplayer
=$_ld_tmp
8356 #############################################################################
8357 # 64 bit file offsets?
8358 if test "$_largefiles" = yes || freebsd
; then
8359 CFLAGS
="$CFLAGS -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
8360 if test "$_dvdread" = yes ||
test "$_libdvdcss_internal" = yes ; then
8361 # dvdread support requires this (for off64_t)
8362 CFLAGS
="$CFLAGS -D_LARGEFILE64_SOURCE"
8366 CXXFLAGS
=" $CFLAGS -D__STDC_LIMIT_MACROS"
8368 # This must be the last test to be performed. Any other tests following it
8369 # could fail due to linker errors. libdvdnavmini is intentionally not linked
8370 # against libdvdread (to permit MPlayer to use its own copy of the library).
8371 # So any compilation using the flags added here but not linking against
8372 # libdvdread can fail.
8373 echocheck
"DVD support (libdvdnav)"
8375 if test "$_dvdnav" = auto
; then
8376 if test "$_dvdread_internal" = yes ; then
8379 _res_comment
="internal"
8381 $_dvdnavconfig --version --minilibs >> $TMPLOG 2>&1 || _dvdnav
=no
8384 if test "$_dvdnav" = auto
; then
8386 #include <inttypes.h>
8387 #include <dvdnav/dvdnav.h>
8388 int main(void) { dvdnav_t *dvd=0; return 0; }
8391 _dvdnavdir
=$
($_dvdnavconfig --cflags)
8392 _dvdnavlibs
=$
($_dvdnavconfig --libs)
8393 cc_check
$_dvdnavdir $_dvdnavlibs $_ld_dl $_ld_pthread && _dvdnav
=yes
8395 if test "$_dvdnav" = yes ; then
8397 def_dvdnav
='#define CONFIG_DVDNAV 1'
8398 if test "$dvdnav_internal" = yes ; then
8399 cflags_libdvdnav
="-Ilibdvdnav"
8400 _inputmodules
="dvdnav(internal) $_inputmodules"
8402 extra_cflags
="$extra_cflags $($_dvdnavconfig --cflags)"
8403 extra_ldflags
="$extra_ldflags $($_dvdnavconfig --minilibs)"
8404 _inputmodules
="dvdnav $_inputmodules"
8407 def_dvdnav
='#undef CONFIG_DVDNAV'
8408 _noinputmodules
="dvdnav $_noinputmodules"
8412 # DO NOT ADD ANY TESTS THAT USE LINKER FLAGS HERE (like cc_check).
8413 # Read dvdnav comment above.
8416 list
=$
(echo $1 |
tr '[a-z]' '[A-Z]')
8417 item
=$
(echo $2 |
tr '[a-z]' '[A-Z]')
8419 for part
in $list; do
8420 if $
(echo $item |
grep -q -E "(^| )$part($| )"); then
8421 echo "${nprefix}_$part = yes"
8426 #############################################################################
8427 echo "Creating config.mak"
8428 cat > config.mak
<< EOF
8429 # -------- Generated by configure -----------
8431 # Ensure that locale settings do not interfere with shell commands.
8434 CONFIGURATION = $_configuration
8437 DOC_LANGS = $language_doc
8438 DOC_LANG_ALL = $doc_lang_all
8439 MAN_LANGS = $language_man
8440 MAN_LANG_ALL = $man_lang_all
8442 prefix = \$(DESTDIR)$_prefix
8443 BINDIR = \$(DESTDIR)$_bindir
8444 DATADIR = \$(DESTDIR)$_datadir
8445 LIBDIR = \$(DESTDIR)$_libdir
8446 MANDIR = \$(DESTDIR)$_mandir
8447 CONFDIR = \$(DESTDIR)$_confdir
8455 INSTALLSTRIP = $_install_strip
8458 CFLAGS = $CFLAGS $extra_cflags
8459 ASFLAGS = \$(CFLAGS)
8460 CXXFLAGS = $CXXFLAGS $extra_cflags $extra_cxxflags
8462 CFLAGS_DHAHELPER = $cflags_dhahelper
8463 CFLAGS_FAAD_FIXED = $cflags_faad_fixed
8464 CFLAGS_LIBDVDCSS = $cflags_libdvdcss
8465 CFLAGS_LIBDVDCSS_DVDREAD = $cflags_libdvdcss_dvdread
8466 CFLAGS_LIBDVDNAV = $cflags_libdvdnav
8467 CFLAGS_NO_OMIT_LEAF_FRAME_POINTER = $cflags_no_omit_leaf_frame_pointer
8468 CFLAGS_STACKREALIGN = $cflags_stackrealign
8469 CFLAGS_SVGALIB_HELPER = $cflags_svgalib_helper
8470 CFLAGS_TREMOR_LOW = $cflags_tremor_low
8472 EXTRALIBS = $extra_ldflags $_ld_static $_ld_lm $extra_libs
8473 EXTRALIBS_MPLAYER = $libs_mplayer
8474 EXTRALIBS_MENCODER = $libs_mencoder
8477 HELP_FILE = $_mp_help
8484 $(mak_enable "$arch_all" "$arch" ARCH)
8485 $(mak_enable "$subarch_all" "$subarch" ARCH)
8486 $(mak_enable "$cpuexts_all" "$cpuexts" HAVE)
8488 MENCODER = $_mencoder
8491 NEED_GETTIMEOFDAY = $_need_gettimeofday
8492 NEED_GLOB = $_need_glob
8493 NEED_MMAP = $_need_mmap
8494 NEED_SETENV = $_need_setenv
8495 NEED_SHMEM = $_need_shmem
8496 NEED_STRSEP = $_need_strsep
8497 NEED_SWAB = $_need_swab
8498 NEED_VSSCANF = $_need_vsscanf
8506 APPLE_IR = $_apple_ir
8507 APPLE_REMOTE = $_apple_remote
8509 AUDIO_INPUT = $_audio_input
8510 BITMAP_FONT = $_bitmap_font
8515 COREAUDIO = $_coreaudio
8516 COREVIDEO = $_corevideo
8520 DIRECT3D = $_direct3d
8521 DIRECTFB = $_directfb
8525 DVDNAV_INTERNAL = $dvdnav_internal
8527 DVDREAD_INTERNAL = $_dvdread_internal
8533 FAAD_INTERNAL = $_faad_internal
8534 FASTMEMCPY = $_fastmemcpy
8536 FREETYPE = $_freetype
8541 GL_WIN32 = $_gl_win32
8543 MATRIXVIEW = $matrixview
8546 GUI_WIN32 = $_gui_win32
8547 HAVE_POSIX_SELECT = $_posix_select
8548 HAVE_SYS_MMAN_H = $_mman
8551 JOYSTICK = $_joystick
8557 LIBA52_INTERNAL = $_liba52_internal
8559 LIBASS_INTERNAL = $ass_internal
8563 LIBDVDCSS_INTERNAL = $_libdvdcss_internal
8567 LIBMENU_DVBIN = $_menu_dvbin
8568 LIBMPEG2 = $_libmpeg2
8569 LIBNEMESI = $_nemesi
8571 LIBSMBCLIENT = $_smb
8572 LIBTHEORA = $_theora
8575 MACOSX_FINDER = $_macosx_finder
8581 MUSEPACK = $_musepack
8583 NATIVE_RTSP = $_native_rtsp
8587 PE_EXECUTABLE = $_pe_executable
8590 PRIORITY = $_priority
8594 QTX_CODECS_WIN32 = $_qtx_codecs_win32
8595 QTX_EMULATION = $_qtx_emulation
8598 RADIO_CAPTURE=$_radio_capture
8599 REAL_CODECS = $_real
8603 STREAM_CACHE = $_stream_cache
8604 SGIAUDIO = $_sgiaudio
8605 SUNAUDIO = $_sunaudio
8611 TREMOR_INTERNAL = $_tremor_internal
8613 TV_BSDBT848 = $_tv_bsdbt848
8614 TV_DSHOW = $_tv_dshow
8619 UNRAR_EXEC = $_unrar_exec
8625 VIDIX_PCIDB = $_vidix_pcidb_val
8626 VIDIX_CYBERBLADE=$_vidix_drv_cyberblade
8627 VIDIX_IVTV=$_vidix_drv_ivtv
8628 VIDIX_MACH64=$_vidix_drv_mach64
8629 VIDIX_MGA=$_vidix_drv_mga
8630 VIDIX_MGA_CRTC2=$_vidix_drv_mga_crtc2
8631 VIDIX_NVIDIA=$_vidix_drv_nvidia
8632 VIDIX_PM2=$_vidix_drv_pm2
8633 VIDIX_PM3=$_vidix_drv_pm3
8634 VIDIX_RADEON=$_vidix_drv_radeon
8635 VIDIX_RAGE128=$_vidix_drv_rage128
8636 VIDIX_S3=$_vidix_drv_s3
8637 VIDIX_SH_VEU=$_vidix_drv_sh_veu
8638 VIDIX_SIS=$_vidix_drv_sis
8639 VIDIX_UNICHROME=$_vidix_drv_unichrome
8643 WIN32DLL = $_win32dll
8644 WIN32WAVEOUT = $_win32waveout
8645 WIN32_EMULATION = $_win32_emulation
8646 WINVIDIX = $winvidix
8649 XANIM_CODECS = $_xanim
8651 XMMS_PLUGINS = $_xmms
8657 YUV4MPEG = $_yuv4mpeg
8661 LIBAVUTIL = $_libavutil
8662 LIBAVUTIL_A = $_libavutil_a
8663 LIBAVUTIL_SO = $_libavutil_so
8664 LIBAVCODEC = $_libavcodec
8665 LIBAVCODEC_A = $_libavcodec_a
8666 LIBAVCODEC_SO = $_libavcodec_so
8667 LIBAVFORMAT = $_libavformat
8668 LIBAVFORMAT_A = $_libavformat_a
8669 LIBAVFORMAT_SO = $_libavformat_so
8670 LIBPOSTPROC = $_libpostproc
8671 LIBPOSTPROC_A = $_libpostproc_a
8672 LIBPOSTPROC_SO = $_libpostproc_so
8673 LIBSWSCALE = $_libswscale
8674 LIBSWSCALE_A = $_libswscale_a
8675 LIBSWSCALE_SO = $_libswscale_so
8677 HOSTCC = \$(HOST_CC)
8678 HOSTCFLAGS = -D_ISOC99_SOURCE -D_POSIX_C_SOURCE=200112 -O3
8684 YASMFLAGS = $YASMFLAGS
8691 LIBNAME = \$(LIBPREF)\$(NAME)\$(LIBSUF)
8692 FULLNAME = \$(NAME)\$(BUILDSUF)
8694 # Some FFmpeg codecs depend on these. Enable them unconditionally for now.
8700 CONFIG_H264DSP = yes
8706 $mak_hardcoded_tables
8707 $mak_libavcodec_mpegaudio_hp
8708 !CONFIG_LIBRTMP = yes
8710 CONFIG_BZLIB = $bzlib
8711 CONFIG_ENCODERS = yes
8713 CONFIG_LIBDIRAC_DECODER = $_libdirac_lavc
8714 CONFIG_LIBDIRAC_ENCODER = $_libdirac_lavc
8715 CONFIG_LIBFAAC_ENCODER = $_faac_lavc
8716 CONFIG_LIBMP3LAME_ENCODER = $_mp3lame_lavc
8717 CONFIG_LIBOPENCORE_AMRNB_DECODER = $_libopencore_amrnb
8718 CONFIG_LIBOPENCORE_AMRNB_ENCODER = $_libopencore_amrnb
8719 CONFIG_LIBOPENCORE_AMRWB_DECODER = $_libopencore_amrwb
8720 OCNFIG_LIBOPENJPEG_DECODER = $libopenjpeg
8721 OCNFIG_LIBOPENJPEG_ENCODER = $libopenjpeg
8722 CONFIG_LIBSCHROEDINGER_DECODER = $_libschroedinger_lavc
8723 CONFIG_LIBSCHROEDINGER_ENCODER = $_libschroedinger_lavc
8724 CONFIG_LIBVORBIS_ENCODER = $_libvorbis
8725 CONFIG_LIBX264_ENCODER = $_x264_lavc
8726 CONFIG_LIBXVID_ENCODER = $_xvid_lavc
8727 CONFIG_MLIB = $_mlib
8728 CONFIG_MUXERS = $_mencoder
8729 CONFIG_POSTPROC = yes
8730 CONFIG_VDPAU = $_vdpau
8731 CONFIG_XVMC = $_xvmc
8732 CONFIG_ZLIB = $_zlib
8734 HAVE_PTHREADS = $_pthreads
8736 HAVE_W32THREADS = $_w32threads
8737 HAVE_YASM = $have_yasm
8739 $(echo $_libavdecoders | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/')
8740 $(echo $_libavencoders | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/')
8741 $(echo $_libavparsers | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/')
8742 $(echo $_libavdemuxers | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/')
8743 $(echo $_libavmuxers | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/')
8744 $(echo $_libavprotocols | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/')
8745 $(echo $_libavbsfs | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/')
8746 $(echo $_libavhwaccels | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/')
8749 #############################################################################
8751 ff_config_enable
() {
8752 list
=$
(echo $1 |
tr '[a-z]' '[A-Z]')
8753 item
=$
(echo $2 |
tr '[a-z]' '[A-Z]')
8755 test -z "$_nprefix" && _nprefix
='CONFIG'
8756 for part
in $list; do
8757 if $
(echo $item |
grep -q -E "(^| )$part($| )"); then
8758 echo "#define ${_nprefix}_$part 1"
8760 echo "#define ${_nprefix}_$part 0"
8765 echo "Creating config.h"
8767 /*----------------------------------------------------------------------------
8768 ** This file has been automatically generated by configure any changes in it
8769 ** will be lost when you run configure again.
8770 ** Instead of modifying definitions here, use the --enable/--disable options
8771 ** of the configure script! See ./configure --help for details.
8772 *---------------------------------------------------------------------------*/
8774 #ifndef MPLAYER_CONFIG_H
8775 #define MPLAYER_CONFIG_H
8777 /* Undefine this if you do not want to select mono audio (left or right)
8778 with a stereo MPEG layer 2/3 audio stream. The command line option
8779 -stereo has three possible values (0 for stereo, 1 for left-only, 2 for
8780 right-only), with 0 being the default.
8782 #define CONFIG_FAKE_MONO 1
8784 /* set up max. outburst. use 65536 for ALSA 0.5, for others 16384 is enough */
8785 #define MAX_OUTBURST 65536
8787 /* set up audio OUTBURST. Do not change this! */
8788 #define OUTBURST 512
8790 /* Enable fast OSD/SUB renderer (looks ugly, but uses less CPU power) */
8792 #undef FAST_OSD_TABLE
8794 /* Define this to enable MPEG-1/2 image postprocessing in libmpeg2 */
8795 #define MPEG12_POSTPROC 1
8796 #define ATTRIBUTE_ALIGNED_MAX 16
8800 #define CONFIGURATION "$_configuration"
8802 #define MPLAYER_DATADIR "$_datadir"
8803 #define MPLAYER_CONFDIR "$_confdir"
8804 #define MPLAYER_LIBDIR "$_libdir"
8806 /* definitions needed by included libraries */
8807 #define HAVE_INTTYPES_H 1
8808 /* libmpeg2 + FFmpeg */
8811 #define HAVE_ERRNO_H 1
8812 /* libdvdcss + libdvdread */
8813 #define HAVE_LIMITS_H 1
8814 /* libdvdcss + libfaad2 */
8815 #define HAVE_UNISTD_H 1
8816 /* libfaad2 + libdvdread */
8817 #define STDC_HEADERS 1
8818 #define HAVE_MEMCPY 1
8820 #define HAVE_STRING_H 1
8821 #define HAVE_STRINGS_H 1
8822 #define HAVE_SYS_STAT_H 1
8823 #define HAVE_SYS_TYPES_H 1
8825 #define READ_CACHE_TRACE 0
8827 #define HAVE_DLFCN_H 1
8831 /* system headers */
8833 $def_alsa_asoundlib_h
8837 $def_mman_has_map_failed
8839 $def_sys_asoundlib_h
8840 $def_sys_soundcard_h
8847 /* system functions */
8870 /* system-specific features */
8885 $def_restrict_keyword
8890 /* configurable options */
8894 $def_dynamic_plugins
8897 $def_runtime_cpudetection
8905 #define __CPU__ $iproc
8908 $(ff_config_enable "$arch_all" "$arch" "ARCH")
8909 $(ff_config_enable "$subarch_all" "$subarch" "ARCH")
8910 $(ff_config_enable "$cpuexts_all" "$cpuexts" "HAVE")
8914 #define DEFAULT_CDROM_DEVICE "$default_cdrom_device"
8915 #define DEFAULT_DVD_DEVICE "$default_dvd_device"
8935 /* codec libraries */
8940 $def_liba52_internal
8948 $def_mp3lame_preset_medium
8972 #define BINARY_CODECS_PATH "$_codecsdir"
8973 #define XMMS_INPUT_PLUGIN_DIR "$_xmmsplugindir"
8982 /* Audio output drivers */
8998 $def_ossaudio_devdsp
8999 $def_ossaudio_devmixer
9012 $def_ioctl_bt848_h_name
9013 $def_ioctl_meteor_h_name
9052 $def_struct_ipv6_mreq
9053 $def_struct_sockaddr_in6
9054 $def_struct_sockaddr_sa_len
9058 $def_sockaddr_storage
9073 $def_directfb_version
9110 $def_vidix_drv_cyberblade
9112 $def_vidix_drv_mach64
9114 $def_vidix_drv_mga_crtc2
9115 $def_vidix_drv_nvidia
9117 $def_vidix_drv_radeon
9118 $def_vidix_drv_rage128
9120 $def_vidix_drv_sh_veu
9122 $def_vidix_drv_unichrome
9156 #define CONFIG_DECODERS 1
9157 #define CONFIG_ENCODERS 1
9158 #define CONFIG_DEMUXERS 1
9169 $def_hardcoded_tables
9170 $def_libavcodec_mpegaudio_hp
9172 $def_local_aligned_8
9173 $def_local_aligned_16
9190 #define CONFIG_FASTDIV 0
9191 #define CONFIG_FFSERVER 0
9192 #define CONFIG_GPL 1
9193 #define CONFIG_GRAY 0
9194 #define CONFIG_LIBRTMP 0
9195 #define CONFIG_LIBVORBIS 0
9196 #define CONFIG_POWERPC_PERF 0
9197 #define CONFIG_SMALL 0
9198 #define CONFIG_SWSCALE_ALPHA 1
9200 #if defined(HAVE_AF_INET6) && (!defined(_WIN32) || defined(__CYGWIN__))
9201 #define CONFIG_IPV6 1
9203 #define CONFIG_IPV6 0
9206 #define HAVE_ATTRIBUTE_MAY_ALIAS 1
9207 #define av_alias __attribute__((may_alias))
9208 #define HAVE_ATTRIBUTE_PACKED 1
9209 #define HAVE_GETHRTIME 0
9210 #define HAVE_INLINE_ASM 1
9211 #define HAVE_LDBRX 0
9212 #define HAVE_POLL_H 1
9213 #define HAVE_PPC4XX 0
9214 #define HAVE_STRERROR_R 0
9215 #define HAVE_SYS_SELECT_H 0
9216 #define HAVE_VFP_ARGS 1
9217 #define HAVE_VIRTUALALLOC 0
9219 /* Some FFmpeg codecs depend on these. Enable them unconditionally for now. */
9220 #define CONFIG_AANDCT 1
9221 #define CONFIG_DCT 1
9222 #define CONFIG_DWT 1
9223 #define CONFIG_FFT 1
9224 #define CONFIG_GOLOMB 1
9225 #define CONFIG_H264DSP 1
9226 #define CONFIG_LPC 1
9227 #define CONFIG_MDCT 1
9228 #define CONFIG_RDFT 1
9230 /* Use these registers in FFmpeg x86 inline asm. No proper detection yet. */
9233 #define HAVE_EBP_AVAILABLE 1
9235 #define HAVE_EBP_AVAILABLE 0
9238 #define FFMPEG_CONFIGURATION "--enable-gpl --enable-postproc"
9239 #define FFMPEG_LICENSE "GPL version 2 or later"
9241 /* External libraries used through libavcodec. */
9244 $def_libopencore_amrnb
9245 $def_libopencore_amrwb
9247 $def_libschroedinger_lavc
9252 $(ff_config_enable "$_libavdecoders_all" "$_libavdecoders")
9253 $(ff_config_enable "$_libavencoders_all" "$_libavencoders")
9254 $(ff_config_enable "$_libavparsers_all" "$_libavparsers")
9255 $(ff_config_enable "$_libavdemuxers_all" "$_libavdemuxers")
9256 $(ff_config_enable "$_libavmuxers_all" "$_libavmuxers")
9257 $(ff_config_enable "$_libavprotocols_all" "$_libavprotocols")
9258 $(ff_config_enable "$_libavbsfs_all" "$_libavbsfs")
9259 $(ff_config_enable "$_libavhwaccels_all" "$_libavhwaccels")
9261 #endif /* MPLAYER_CONFIG_H */
9264 # Do not overwrite an unchanged config.h to avoid superfluous rebuilds.
9265 cmp -s "$TMPH" config.h ||
mv -f "$TMPH" config.h
9267 ############################################################################
9269 # Create avconfig.h for FFmpeg.
9270 cat > "$TMPH" << EOF
9271 /* Generated by mpconfigure */
9272 #ifndef AVUTIL_AVCONFIG_H
9273 #define AVUTIL_AVCONFIG_H
9275 #endif /* AVUTIL_AVCONFIG_H */
9278 # Do not overwrite an unchanged avconfig.h to avoid superfluous rebuilds.
9279 cmp -s "$TMPH" libavutil
/avconfig.h ||
mv -f "$TMPH" libavutil
/avconfig.h
9281 #############################################################################
9285 Config files successfully generated by ./configure $_configuration !
9287 Install prefix: $_prefix
9288 Data directory: $_datadir
9289 Config direct.: $_confdir
9291 Byte order: $_byte_order
9292 Optimizing for: $_optimizing
9295 Messages/GUI: $language_msg
9296 Manual pages: $language_man
9297 Documentation: $language_doc
9299 Enabled optional drivers:
9300 Input: $_inputmodules
9301 Codecs: $_codecmodules
9302 Audio output: $_aomodules
9303 Video output: $_vomodules
9305 Disabled optional drivers:
9306 Input: $_noinputmodules
9307 Codecs: $_nocodecmodules
9308 Audio output: $_noaomodules
9309 Video output: $_novomodules
9311 'config.h' and 'config.mak' contain your configuration options.
9312 Note: If you alter theses files (for instance CFLAGS) MPlayer may no longer
9313 compile *** DO NOT REPORT BUGS if you tweak these files ***
9315 'make' will now compile MPlayer and 'make install' will install it.
9316 Note: On non-Linux systems you might need to use 'gmake' instead of 'make'.
9321 if test "$_mtrr" = yes ; then
9322 echo "Please check mtrr settings at /proc/mtrr (see DOCS/HTML/$doc_lang/video.html#mtrr)"
9328 NOTE: Win32 codec DLLs are not supported on your CPU ($host_arch) or your
9329 operating system ($system_name). You may encounter a few files that cannot
9330 be played due to missing open source video/audio codec support.
9337 Check $TMPLOG if you wonder why an autodetection failed (make sure
9338 development headers/packages are installed).
9340 NOTE: The --enable-* parameters unconditionally force options on, completely
9341 skipping autodetection. This behavior is unlike what you may be used to from
9342 autoconf-based configure scripts that can decide to override you. This greater
9343 level of control comes at a price. You may have to provide the correct compiler
9344 and linker flags yourself.
9345 If you used one of these options (except --enable-menu and similar ones that
9346 turn on internal features) and experience a compilation or linking failure,
9347 make sure you have passed the necessary compiler/linker flags to configure.
9349 If you suspect a bug, please read DOCS/HTML/$doc_lang/bugreports.html.
9353 if test "$_warn_CFLAGS" = yes; then
9356 MPlayer compilation will use the CPPFLAGS/CFLAGS/LDFLAGS/YASMFLAGS set by you,
9359 *** *** DO NOT REPORT BUGS IF IT DOES NOT COMPILE/WORK! *** ***
9361 It is strongly recommended to let MPlayer choose the correct CFLAGS!
9362 To do so, execute 'CFLAGS= ./configure <options>'
9368 rm -f "$TMPEXE" "$TMPC" "$TMPS" "$TMPCPP" "$TMPH"