3 # Original version (C) 2000 Pontscho/fresh!mindworkz
4 # pontscho@makacs.poliod.hu
6 # History / Contributors: check the cvs 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 "$_feature" = auto; then
27 # #include <feature.h>
28 # int main(void) { return 0; }
31 # cc_check && _feature=yes
32 # if test "$_feature" = yes ; then
33 # _def_feature='#define HAVE_FEATURE 1'
35 # _def_feature='#undef HAVE_FEATURE'
39 # Furthermore you need to add the variable _feature to the list of default
40 # settings and set it to one of yes/no/auto. Also add appropriate
41 # --enable-feature/--disable-feature command line options.
42 # The results of the check should be written to config.h and config.mak
43 # at the end of this script. The variable names used for this should be
44 # uniform, i.e. if the option is named 'feature':
46 # _feature : should have a value of yes/no/auto
47 # _def_feature : '#define ... 1' or '#undef ...' for conditional compilation
48 # _ld_feature : '-L/path/dir -lfeature' GCC options
50 #############################################################################
52 # Prevent locale nonsense from breaking basic text processing utils
56 # Prefer these macros to full length text !
57 # These macros only return an error code - NO display is done
62 echo "$_cc $CFLAGS $_inc_extra $_ld_static $_ld_extra -o $TMPO $@" >> "$TMPLOG"
64 $_cc $CFLAGS $_inc_extra $_ld_static $_ld_extra -o "$TMPO" "$@" >> "$TMPLOG" 2>&1
67 echo "ldd $TMPO" >> "$TMPLOG"
68 $_ldd "$TMPO" >> "$TMPLOG" 2>&1
74 compile_check
$TMPC $@
78 compile_check
$TMPCPP $@
-lstdc++
82 "$TMPO" >> "$TMPLOG" 2>&1
85 # Display error message, flushes tempfile, exit
90 rm -f "$TMPO" "$TMPC" "$TMPS" "$TMPCPP"
91 echo "Check \"$TMPLOG\" if you do not understand why it failed."
95 # OS test booleans functions
97 test "`echo $system_name | tr A-Z a-z`" = "`echo $1 | tr A-Z a-z`"
99 linux
() { issystem
"Linux" ; return "$?" ; }
100 sunos
() { issystem
"SunOS" ; return "$?" ; }
101 hpux
() { issystem
"HP-UX" ; return "$?" ; }
102 irix
() { issystem
"IRIX" ; return "$?" ; }
103 aix
() { issystem
"AIX" ; return "$?" ; }
104 cygwin
() { issystem
"CYGWIN" ; return "$?" ; }
105 freebsd
() { issystem
"FreeBSD" ; return "$?" ; }
106 netbsd
() { issystem
"NetBSD" ; return "$?" ; }
107 bsdos
() { issystem
"BSD/OS" ; return "$?" ; }
108 openbsd
() { issystem
"OpenBSD" ; return "$?" ; }
109 bsd
() { freebsd || netbsd || bsdos || openbsd
; return "$?" ; }
110 qnx
() { issystem
"QNX" ; return "$?" ; }
111 darwin
() { issystem
"Darwin" ; return "$?" ; }
112 gnu
() { issystem
"GNU" ; return "$?" ; }
113 mingw32
() { issystem
"MINGW32" ; return "$?" ; }
114 morphos
() { issystem
"MorphOS" ; return "$?" ; }
115 win32
() { cygwin || mingw32
; return "$?" ; }
116 beos
() { issystem
"BEOS" ; return "$?" ; }
118 # arch test boolean functions
119 # x86/x86pc is used by QNX
122 i
[3-9]86|x86|x86pc|k5|k6|k6-2|k6-3|pentium
*|athlon
*|i586-i686
) return 0 ;;
129 x86_64|amd64
) return 0 ;;
155 # not boolean test: implement the posix shell "!" operator for a
157 # usage: not {command}
158 # returns exit status "success" when the execution of "command"
165 # Use this before starting a check
167 echo "============ Checking for $@ ============" >> "$TMPLOG"
168 echo ${_echo_n} "Checking for $@ ... ${_echo_c}"
171 # Use this to echo the results of a check
173 if test "$_res_comment" ; then
174 _res_comment
="($_res_comment)"
176 echo "Result is: $@ $_res_comment" >> "$TMPLOG"
177 echo "##########################################" >> "$TMPLOG"
179 echo "$@ $_res_comment"
182 #############################################################################
184 # Check how echo works in this /bin/sh
186 -n) _echo_n
= _echo_c
='\c' ;; # SysV echo
187 *) _echo_n
='-n ' _echo_c
= ;; # BSD echo
190 LANGUAGES
=`echo help/help_mp-??.h help/help_mp-??_??.h | sed "s:help/help_mp-\(..\).h:\1:g" | sed "s:help/help_mp-\(.....\).h:\1:g"`
194 Usage: $0 [OPTIONS]...
197 -h, --help display this help and exit
199 Installation directories:
200 --prefix=DIR use this prefix for installing mplayer [/usr/local]
201 --bindir=DIR use this prefix for installing mplayer binary
203 --datadir=DIR use this prefix for installing machine independent
204 data files (fonts, skins) [PREFIX/share/mplayer]
205 --mandir=DIR use this prefix for installing manpages [PREFIX/man]
206 --confdir=DIR use this prefix for installing configuration files
208 --libdir=DIR use this prefix for object code libraries [PREFIX/lib]
211 --disable-mencoder disable mencoder (a/v encoder) compilation [enable]
212 --enable-gui enable gmplayer compilation (GTK+ GUI) [disable]
213 --enable-gtk1 force using GTK 1.2 for GUI [disable]
214 --enable-largefiles enable support for files > 2 GBytes [disable]
215 --enable-linux-devfs set default devices to devfs ones [disable]
216 --enable-termcap use termcap database for key codes [autodetect]
217 --enable-termios use termios database for key codes [autodetect]
218 --disable-iconv do not use iconv(3) function [autodetect]
219 --disable-langinfo do not use langinfo [autodetect]
220 --enable-lirc enable LIRC (remote control) support [autodetect]
221 --enable-lircc enable LIRCCD (LIRC client daemon) input [autodetect]
222 --enable-joystick enable joystick support [disable]
223 --disable-vm disable support X video mode extensions [autodetect]
224 --disable-xf86keysym disable support for 'multimedia' keys [autodetect]
225 --enable-radio enable Radio Interface [disable]
226 --enable-radio-capture enable Capture for Radio Interface (through pci/line-in) [disable]
227 --disable-radio-v4l2 disable Video4Linux2 Radio Interface support [autodetect]
228 --disable-tv disable TV Interface (tv/dvb grabbers) [enable]
229 --disable-tv-v4l1 disable Video4Linux TV Interface support [autodetect]
230 --disable-tv-v4l2 disable Video4Linux2 TV Interface support [autodetect]
231 --disable-tv-bsdbt848 disable BSD BT848 Interface support [autodetect]
232 --disable-pvr disable Video4Linux2 MPEG PVR support [autodetect]
233 --disable-rtc disable RTC (/dev/rtc) on Linux [autodetect]
234 --disable-network disable network support (for: http/mms/rtp) [enable]
235 --enable-winsock2 enable winsock2 usage [autodetect]
236 --enable-smb enable Samba (SMB) input support [autodetect]
237 --enable-live enable LIVE555 Streaming Media support [autodetect]
238 --disable-dvdnav disable libdvdnav support [autodetect]
239 --disable-dvdread Disable libdvdread support [autodetect]
240 --disable-mpdvdkit Disable mpdvdkit2 support [autodetect]
241 --disable-cdparanoia Disable cdparanoia support [autodetect]
242 --disable-bitmap-font Disable bitmap font support [enable]
243 --disable-freetype Disable freetype2 font rendering support [autodetect]
244 --disable-fontconfig Disable fontconfig font lookup support [autodetect]
245 --disable-unrarlib Disable Unique RAR File Library [enabled]
246 --enable-menu Enable OSD menu support (NOT DVD MENU) [disabled]
247 --disable-sortsub Disable subtitles sorting [enabled]
248 --enable-fribidi Enable using the FriBiDi libs [autodetect]
249 --disable-enca Disable using ENCA charset oracle library [autodetect]
250 --disable-macosx Disable Mac OS X specific features [autodetect]
251 --enable-macosx-finder-support Enable Mac OS X Finder invocation parameter parsing [disabled]
252 --enable-macosx-bundle Enable Mac OS X bundle file locations [autodetect]
253 --disable-inet6 Disable IPv6 support [autodetect]
254 --disable-gethostbyname2 gethostbyname() function is not provided by the C
256 --disable-ftp Disable ftp support [enabled]
257 --disable-vstream Disable tivo vstream client support [autodetect]
258 --disable-pthreads Disable Posix threads support [autodetect]
259 --disable-ass Disable internal SSA/ASS subtitles support [autodetect]
260 --enable-rpath Enable runtime linker path for extra libs [disabled]
263 --enable-gif enable gif support [autodetect]
264 --enable-png enable png input/output support [autodetect]
265 --enable-jpeg enable jpeg input/output support [autodetect]
266 --enable-libcdio enable external libcdio support [autodetect]
267 --enable-liblzo enable external liblzo support [autodetect]
268 --disable-win32 disable Win32 DLL support [autodetect]
269 --disable-qtx disable Quicktime codecs [autodetect]
270 --disable-xanim disable XAnim DLL support [autodetect]
271 --disable-real disable RealPlayer DLL support [autodetect]
272 --disable-xvid disable XviD codec [autodetect]
273 --disable-x264 disable H.264 encoder [autodetect]
274 --disable-nut disable libnut demuxer [autodetect]
275 --disable-libavutil disable libavutil [autodetect]
276 --disable-libavcodec disable libavcodec [autodetect]
277 --disable-libavformat disable libavformat [autodetect]
278 --disable-libpostproc disable libpostproc [autodetect]
279 --disable-libavutil_so disable shared libavutil [autodetect]
280 --disable-libavcodec_so disable shared libavcodec [autodetect]
281 --disable-libavformat_so disable shared libavformat [autodetect]
282 --disable-libpostproc_so disable shared libpostproc [autodetect]
283 --disable-libavcodec_mpegaudio_hp disable high precision audio decoding
284 in libavcodec [enabled]
285 --enable-libfame enable libfame realtime encoder [autodetect]
286 --disable-tremor-internal do not build internal Tremor support [enabled]
287 --enable-tremor-low build with lower accuracy internal Tremor [disabled]
288 --enable-tremor-external build with external Tremor [autodetect]
289 --disable-libvorbis disable libvorbis support [autodetect]
290 --disable-speex disable Speex support [autodetect]
291 --enable-theora build with OggTheora support [autodetect]
292 --enable-faad-external build with external FAAD2 (AAC) support [autodetect]
293 --disable-faad-internal disable internal FAAD2 (AAC) support [autodetect]
294 --disable-faac disable support for FAAC (AAC encoder) [autodetect]
295 --disable-ladspa disable LADSPA plugin support [autodetect]
296 --disable-libdv disable libdv 0.9.5 en/decoding support [autodetect]
297 --disable-mad disable libmad (MPEG audio) support [autodetect]
298 --disable-toolame disable Toolame (MPEG layer 2 audio) support in mencoder [autodetect]
299 --disable-twolame disable Twolame (MPEG layer 2 audio) support in mencoder [autodetect]
300 --enable-xmms build with XMMS inputplugin support [disabled]
301 --disable-mp3lib disable builtin mp3lib [enabled]
302 --disable-liba52 disable builtin liba52 [enabled]
303 --enable-libdts enable libdts support [autodetect]
304 --disable-libmpeg2 disable builtin libmpeg2 [enabled]
305 --disable-musepack disable musepack support [autodetect]
306 --disable-amr_nb disable amr narrowband, floating point [autodetect]
307 --disable-amr_nb-fixed disable amr narrowband, fixed point [autodetect]
308 --disable-amr_wb disable amr wideband, floating point [autodetect]
309 --disable-decoder=DECODER disable specified FFmpeg decoder
310 --enable-decoder=DECODER enable specified FFmpeg decoder
311 --disable-encoder=ENCODER disable specified FFmpeg encoder
312 --enable-encoder=ENCODER enable specified FFmpeg encoder
313 --disable-parser=PARSER disable specified FFmpeg parser
314 --enable-parser=PARSER enable specified FFmpeg parser
315 --disable-demuxer=DEMUXER disable specified FFmpeg demuxer
316 --enable-demuxer=DEMUXER enable specified FFmpeg demuxer
317 --disable-muxer=MUXER disable specified FFmpeg muxer
318 --enable-muxer=MUXER enable specified FFmpeg muxer
321 --disable-vidix-internal disable internal VIDIX [for x86 *nix]
322 --disable-vidix-external disable external VIDIX [for x86 *nix]
323 --enable-gl build with OpenGL render support [autodetect]
324 --enable-dga[=n] build with DGA [n in {1, 2} ] support [autodetect]
325 --enable-vesa build with VESA support [autodetect]
326 --enable-svga build with SVGAlib support [autodetect]
327 --enable-sdl build with SDL render support [autodetect]
328 --enable-aa build with AAlib render support [autodetect]
329 --enable-caca build with CACA render support [autodetect]
330 --enable-ggi build with GGI render support [autodetect]
331 --enable-ggiwmh build with GGI libggiwmh extension [autodetect]
332 --enable-directx build with DirectX support [autodetect]
333 --enable-dxr2 build with DXR2 render support [autodetect]
334 --enable-dxr3 build with DXR3/H+ render support [autodetect]
335 --enable-ivtv build with IVTV TV-Out render support [autodetect]
336 --enable-dvb build with support for output via DVB-Card [autodetect]
337 --enable-dvbhead build with DVB support (HEAD version) [autodetect]
338 --enable-mga build with mga_vid (for Matrox G200/G4x0/G550) support
339 (check for /dev/mga_vid) [autodetect]
340 --enable-xmga build with mga_vid X Window support
341 (check for X & /dev/mga_vid) [autodetect]
342 --enable-xv build with Xv render support for X 4.x [autodetect]
343 --enable-xvmc build with XvMC acceleration for X 4.x [disable]
344 --enable-vm build with XF86VidMode support for X11 [autodetect]
345 --enable-xinerama build with Xinerama support for X11 [autodetect]
346 --enable-x11 build with X11 render support [autodetect]
347 --enable-xshape build with XShape support [autodetect]
348 --enable-fbdev build with FBDev render support [autodetect]
349 --enable-mlib build with mediaLib support (Solaris only) [disable]
350 --enable-3dfx build with obsolete /dev/3dfx support [disable]
351 --enable-tdfxfb build with tdfxfb (Voodoo 3/banshee) support [disable]
352 --enable-s3fb build with s3fb (S3 ViRGE) support [disable]
353 --enable-directfb build with DirectFB support [autodetect]
354 --enable-zr build with ZR360[56]7/ZR36060 support [autodetect]
355 --enable-bl build with Blinkenlights support [disable]
356 --enable-tdfxvid build with tdfx_vid support [disable]
357 --disable-tga disable targa output support [enable]
358 --disable-pnm disable pnm output support [enable]
359 --disable-md5sum disable md5sum output support [enable]
362 --disable-alsa disable ALSA sound support [autodetect]
363 --disable-ossaudio disable OSS sound support [autodetect]
364 --disable-arts disable aRts sound support [autodetect]
365 --disable-esd disable esd sound support [autodetect]
366 --disable-polyp disable Polypaudio sound support [autodetect]
367 --disable-jack disable JACK sound support [autodetect]
368 --disable-openal disable OpenAL sound support [autodetect]
369 --disable-nas disable NAS sound support [autodetect]
370 --disable-sgiaudio disable SGI sound support [autodetect]
371 --disable-sunaudio disable Sun sound support [autodetect]
372 --disable-win32waveout disable Windows waveout sound support [autodetect]
373 --disable-select disable using select() on audio device [enable]
375 Miscellaneous options:
376 --enable-runtime-cpudetection Enable runtime CPU detection [disable]
377 --enable-cross-compile Enable cross-compilation [autodetect]
378 --cc=COMPILER use this C compiler to build MPlayer [gcc]
379 --host-cc=COMPILER use this C compiler to build apps needed for the build process [gcc]
380 --as=ASSEMBLER use this assembler to build MPlayer [as]
381 --target=PLATFORM target platform (i386-linux, arm-linux, etc)
382 --enable-static build a statically linked binary. Set further linking
383 options with --enable-static="-lslang -lncurses"
384 --charset convert the help messages to this charset
385 --language=list a white space or comma separated list of languages
386 for translated man pages, the first language is the
387 primary and therefore used for translated messages
388 and GUI (also the environment variable \$LINGUAS is
390 (Available: $LANGUAGES all)
391 --with-install=PATH use a custom install program (useful if your OS uses
392 a GNU-incompatible install utility by default and
393 you want to use GNU version)
394 --install-path=PATH the path to a custom install program
395 this option is obsolete and will be removed soon,
396 use --with-install instead.
399 --enable-mmx build with MMX support [autodetect]
400 --enable-mmxext build with MMX2 support (PIII, Athlon) [autodetect]
401 --enable-3dnow build with 3DNow! support [autodetect]
402 --enable-3dnowext build with extended 3DNow! support [autodetect]
403 --enable-sse build with SSE support [autodetect]
404 --enable-sse2 build with SSE2 support [autodetect]
405 --enable-shm build with shm support [autodetect]
406 --enable-altivec build with Altivec support (PowerPC) [autodetect]
407 --enable-armv5te build with DSP extensions support (ARM) [autodetect]
408 --enable-iwmmxt build with iWMMXt support (ARM) [autodetect]
409 --disable-fastmemcpy disable 3DNow!/SSE/MMX optimized memcpy() [enable]
410 --enable-big-endian Force byte order to big-endian [autodetect]
411 --enable-debug[=1-3] compile debugging information into mplayer [disable]
412 --enable-profile compile profiling information into mplayer [disable]
413 --disable-sighandler disable sighandler for crashes [enable]
414 --enable-crash-debug enable automatic gdb attach on crash [disable]
415 --enable-dynamic-plugins Enable support for dynamic a/v plugins [disable]
417 Hazardous options a.k.a. "DO NOT REPORT ANY BUGS!"
418 --disable-gcc-check disable gcc version checking [enable]
420 Use these options if autodetection fails (Options marked with (*) accept
421 multiple paths separated by ':'):
422 --with-extraincdir=DIR extra headers (png, mad, sdl, ...) in DIR (*)
423 --with-extralibdir=DIR extra linker search paths in DIR (*)
424 --extra-libs=FLAGS extra linker flags
425 --with-x11libdir=DIR X library files in DIR (*)
426 --with-mliblibdir=DIR libmlib (mediaLib support) in DIR (Solaris only)
427 --with-codecsdir=DIR Binary codec files in DIR
428 --with-win32libdir=DIR W*ndows DLL files in DIR
429 --with-xanimlibdir=DIR XAnim DLL files in DIR
430 --with-reallibdir=DIR RealPlayer DLL files in DIR
431 --with-xvidlibdir=DIR libxvidcore (XviD) in DIR (*)
432 --with-x264libdir=DIR libx264 in DIR
433 --with-libdtslibdir=DIR libdts library in DIR (*)
434 --with-livelibdir=DIR LIVE555 Streaming Media libraries in DIR
435 --with-toolamelibdir=DIR Toolame library in DIR
436 --with-xmmsplugindir=DIR XMMS plugins in DIR
437 --with-xmmslibdir=DIR libxmms.so.1 in DIR
438 --with-cdparanoialibdir=DIR cdparanoia libraries (libcdda_*) in DIR (*)
439 --with-xvmclib=NAME name of adapter-specific library (e.g. XvMCNVIDIA)
441 --with-freetype-config=PATH path to freetype-config
442 (e.g. /opt/bin/freetype-config)
443 --with-fribidi-config=PATH path to fribidi-config
444 (e.g. /opt/bin/fribidi-config)
445 --with-glib-config=PATH path to glib*-config (e.g. /opt/bin/glib-config)
446 --with-gtk-config=PATH path to gtk*-config (e.g. /opt/bin/gtk-config)
447 --with-sdl-config=PATH path to sdl*-config (e.g. /opt/bin/sdl-config)
448 --with-dvdnav-config=PATH path to dvdnav-config (e.g. /opt/bin/dvdnav-config)
450 This configure script is NOT autoconf-based, even though its output is similar.
451 It will try to autodetect all configuration options. If you --enable an option
452 it will be forcefully turned on, skipping autodetection. This can break
453 compilation, so you need to know what you are doing.
458 for parm
in "$@" ; do
465 # 1st pass checking for vital options
478 test "$CC" && _cc
="$CC"
481 _runtime_cpudetection
=no
486 _target
=`echo $ac_option | cut -d '=' -f 2`
489 _cc
=`echo $ac_option | cut -d '=' -f 2`
492 _host_cc
=`echo $ac_option | cut -d '=' -f 2`
495 _as
=`echo $ac_option | cut -d '=' -f 2`
510 _ld_static
="-static `echo $ac_option | cut -d '=' -f 2`"
512 --with-extraincdir=*)
513 _inc_extra
=-I`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -I,g'`
515 --with-extralibdir=*)
516 _ld_extra
=-L`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
519 _extra_libs
=`echo $ac_option | cut -d '=' -f 2`
521 --enable-runtime-cpudetection)
522 _runtime_cpudetection
=yes
524 --disable-runtime-cpudetection)
525 _runtime_cpudetection
=no
527 --enable-cross-compile)
530 --disable-cross-compile)
534 _install
=`echo $ac_option | cut -d '=' -f 2 | sed 's/\/$//'`"/install"
537 _install
=`echo $ac_option | cut -d '=' -f 2 `
549 _debug
=`echo $_echo_n '-g'$_echo_c; echo $ac_option | cut -d '=' -f 2`
557 # Determine our OS name and CPU architecture
558 if test -z "$_target" ; then
560 system_name
=`uname -s 2>&1`
561 case "$system_name" in
562 Linux|FreeBSD|NetBSD|BSD
/OS|OpenBSD|SunOS|QNX|Darwin|GNU|BeOS|MorphOS|AIX
)
570 [cC
][yY
][gG
][wW
][iI
][nN
]*)
577 system_name
="$system_name-UNKNOWN"
582 # host's CPU/instruction set
583 host_arch
=`uname -p 2>&1`
585 i386|sparc|ppc|alpha|arm|mips|vax
)
587 powerpc
) # Darwin returns 'powerpc'
590 *) # uname -p on Linux returns 'unknown' for the processor type,
591 # OpenBSD returns 'Intel Pentium/MMX ("Genuine Intel" 586-class)'
593 # Maybe uname -m (machine hardware name) returns something we
596 # x86/x86pc is used by QNX
597 case "`uname -m 2>&1`" in
598 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
;;
599 ia64
) host_arch
=ia64
;;
601 if [ -n "`$_cc -dumpmachine | sed -n '/^x86_64-/p;/^amd64-/p'`" -a \
602 -z "`echo $CFLAGS | grep -- -m32`" ]; then
608 macppc|ppc|ppc64
) host_arch
=ppc
;;
609 alpha
) host_arch
=alpha
;;
610 sparc
) host_arch
=sparc
;;
611 sparc64
) host_arch
=sparc64
;;
612 parisc
*|hppa
*|
9000*) host_arch
=hppa
;;
613 arm
*|zaurus|cats
) host_arch
=arm
;;
614 s390
) host_arch
=s390
;;
615 s390x
) host_arch
=s390x
;;
616 mips
*) host_arch
=mips
;;
617 vax
) host_arch
=vax
;;
618 *) host_arch
=UNKNOWN
;;
622 else # if test -z "$_target"
623 system_name
=`echo $_target | cut -d '-' -f 2`
624 case "`echo $system_name | tr A-Z a-z`" in
625 linux
) system_name
=Linux
;;
626 freebsd
) system_name
=FreeBSD
;;
627 netbsd
) system_name
=NetBSD
;;
628 bsd
/os
) system_name
=BSD
/OS
;;
629 openbsd
) system_name
=OpenBSD
;;
630 sunos
) system_name
=SunOS
;;
631 qnx
) system_name
=QNX
;;
632 morphos
) system_name
=MorphOS
;;
633 mingw32msvc
) system_name
=MINGW32
;;
635 # We need to convert underscores so that values like k6-2 and pentium-mmx can be passed
636 host_arch
=`echo $_target | cut -d '-' -f 1 | tr '_' '-'`
639 echo "Detected operating system: $system_name"
640 echo "Detected host architecture: $host_arch"
642 # LGB: temporary files
643 for I
in "$TMPDIR" "$TEMPDIR" "/tmp" ; do
647 TMPLOG
="configure.log"
649 TMPC
="$I/mplayer-conf-$RANDOM-$$.c"
650 TMPCPP
="$I/mplayer-conf-$RANDOM-$$.cpp"
651 TMPO
="$I/mplayer-conf-$RANDOM-$$.o"
652 TMPS
="$I/mplayer-conf-$RANDOM-$$.S"
656 # FIXME: A lot of stuff is installed under /usr/local
657 # NK: But we should never use this stuff implicitly since we call compiler
658 # from /usr we should be sure that there no effects from other compilers
659 # (libraries) which might be installed into /usr/local. Let users use this
660 # stuff explicitly as command line argument. In other words: It would be
661 # resonable to have only /usr/include or only /usr/local/include.
664 _ld_extra
="$_ld_extra -L/usr/local/lib"
665 _inc_extra
="$_inc_extra -I/usr/local/include"
679 # Check how to call 'head' and 'tail'. Newer versions spit out warnings
680 # if used as 'head -1' instead of 'head -n 1', but older versions don't
682 if test "`(echo line1 ; echo line2) | head -1 2>/dev/null`" = "line1" ; then
683 _head
() { head -$1 2>/dev
/null
; }
685 _head
() { head -n $1 2>/dev
/null
; }
687 if test "`(echo line1 ; echo line2) | tail -1 2>/dev/null`" = "line2" ; then
688 _tail
() { tail -$1 2>/dev
/null
; }
690 _tail
() { tail -n $1 2>/dev
/null
; }
693 # Checking CC version...
694 if test "$_gcc_check" = yes ; then
695 # Intel C++ Compilers (no autoselect, use CC=/some/binary ./configure)
696 if test "`basename $_cc`" = "icc" ||
test "`basename $_cc`" = "ecc"; then
697 echocheck
"$_cc version"
699 cc_name
=`$_cc -V 2>&1 | _head 1 | cut -d ',' -f 1`
700 cc_version
=`$_cc -V 2>&1 | _head 1 | cut -d ',' -f 2 | cut -d ' ' -f 3`
701 _cc_major
=`echo $cc_version | cut -d '.' -f 1`
702 _cc_minor
=`echo $cc_version | cut -d '.' -f 2`
703 # TODO verify older icc/ecc compatibility
706 cc_version
="v. ?.??, bad"
710 cc_version
="$cc_version, ok"
714 cc_version
="$cc_version, bad"
718 echores
"$cc_version"
720 for _cc
in "$_cc" gcc gcc-3.4 gcc-3.3 gcc-3.2 gcc-3.1 gcc3 gcc-3.0 cc
; do
721 echocheck
"$_cc version"
723 cc_name
=`$_cc -v 2>&1 | _tail 1 | cut -d ' ' -f 1`
724 cc_version
=`$_cc -dumpversion 2>&1`
725 if test "$?" -gt 0; then
726 cc_version
="not found"
730 cc_version
="v. ?.??, bad"
733 2.95.
[2-9]|
2.95.
[2-9][-.
]*|
[3-4].
*)
734 _cc_major
=`echo $cc_version | cut -d '.' -f 1`
735 _cc_minor
=`echo $cc_version | cut -d '.' -f 2`
736 _cc_mini
=`echo $cc_version | cut -d '.' -f 3`
737 cc_version
="$cc_version, ok"
744 cc_version
="$cc_version, bad"
748 echores
"$cc_version"
749 test "$cc_verc_fail" = "no" && break
752 if test "$cc_verc_fail" = yes ; then
755 *** Please downgrade/upgrade C compiler to version gcc-2.95, 3.x or 4.x! ***
757 You are not using a supported compiler. We do not have the time to make sure
758 everything works with compilers other than the ones we use. Use either the
759 same compiler as we do, or use --disable-gcc-check but DO *NOT* REPORT BUGS
760 unless you can reproduce them after recompiling with a 2.95.x or 3/4.x version!
762 Note for gcc 2.96 users: Some versions of this compiler are known to miscompile
763 mplayer and lame (which is used for mencoder). If you get compile errors,
764 first upgrade to the latest 2.96 release (minimum 2.96-85) and try again.
765 If the problem still exists, try with gcc 3.x (or 2.95.x) *BEFORE* reporting
768 GCC 2.96 IS NOT AND WILL NOT BE SUPPORTED BY US !
770 *** For details please read DOCS/HTML/en/users-vs-dev.html ***
773 die
"Bad gcc version"
778 ******************************************************************************
780 Hmm. You really want to compile MPlayer with an *UNSUPPORTED* C compiler?
781 Ok. You know. Do it. Did you read DOCS/HTML/en/users-vs-dev.html???
783 DO NOT SEND BUGREPORTS OR COMPLAIN, it's *YOUR* compiler's fault!
784 Get ready for mysterious crashes, no-picture bugs, strange noises... REALLY!
785 Lame which is used by mencoder produces weird errors, too.
787 If you have any problem, install a GCC 2.95.x or 3.x version and try again.
788 If the problem _still_ exists, then read DOCS/HTML/en/bugreports.html !
790 *** DO NOT SEND BUG REPORTS OR COMPLAIN it's *YOUR* compiler's fault! ***
792 ******************************************************************************
800 test "$_host_cc" || _host_cc
=$_cc
803 echocheck
"cross compilation"
804 if test $_cross_compile = auto
; then
806 int main() { return 0; }
809 cc_check
&& "$TMPO" && _cross_compile
=no
811 echores
$_cross_compile
813 if test $_cross_compile = yes; then
821 # now that we know what compiler should be used for compilation, try to find
822 # out which assembler is used by the $_cc compiler
823 if test "$_as" = auto
; then
824 _as
=`$_cc -print-prog-name=as`
825 test -z "$_as" && _as
=as
828 # XXX: this should be ok..
830 # Cygwin has /proc/cpuinfo, but only supports Intel CPUs
831 # FIXME: Remove the cygwin check once AMD CPUs are supported
832 if test -r /proc
/cpuinfo
&& not cygwin
; then
833 # Linux with /proc mounted, extract CPU information from it
834 _cpuinfo
="cat /proc/cpuinfo"
835 elif test -r /compat
/linux
/proc
/cpuinfo
&& not x86
; then
836 # FreeBSD with Linux emulation /proc mounted,
837 # extract CPU information from it
838 _cpuinfo
="cat /compat/linux/proc/cpuinfo"
839 elif darwin
&& not x86
; then
840 # use hostinfo on Darwin
843 # use 'lsattr' on AIX
844 _cpuinfo
="lsattr -E -l proc0 -a type"
846 # all other OSes try to extract CPU information from a small helper
847 # program TOOLS/cpuinfo instead
848 $_cc -o TOOLS
/cpuinfo TOOLS
/cpuinfo.c
849 _cpuinfo
="TOOLS/cpuinfo"
852 if x86 || x86_64
; then
853 # gather more CPU information
854 pname
=`$_cpuinfo | grep 'model name' | cut -d ':' -f 2 | _head 1`
855 pvendor
=`$_cpuinfo | grep 'vendor_id' | cut -d ':' -f 2 | cut -d ' ' -f 2 | _head 1`
856 pfamily
=`$_cpuinfo | grep 'cpu family' | cut -d ':' -f 2 | cut -d ' ' -f 2 | _head 1`
857 pmodel
=`$_cpuinfo | grep -v 'model name' | grep 'model' | cut -d ':' -f 2 | cut -d ' ' -f 2 | _head 1`
858 pstepping
=`$_cpuinfo | grep 'stepping' | cut -d ':' -f 2 | cut -d ' ' -f 2 | _head 1`
860 exts
=`$_cpuinfo | egrep 'features|flags' | cut -d ':' -f 2 | _head 1`
862 pparam
=`echo $exts | sed -e s/k6_mtrr/mtrr/ -e s/cyrix_arr/mtrr/ -e s/centaur_mcr/mtrr/ \
863 -e s/xmm/sse/ -e s/kni/sse/`
865 for ext
in $pparam ; do
866 eval _
$ext=auto
&& eval _
$ext=yes
869 # SSE implies MMX2, but not all SSE processors report the mmxext CPU flag.
870 test $_sse = yes && _mmxext
=yes
872 echocheck
"CPU vendor"
873 echores
"$pvendor ($pfamily:$pmodel:$pstepping)"
880 i
[3-9]86|x86|x86pc|k5|k6|k6-2|k6-3|pentium
*|athlon
*|i586-i686
)
881 _def_arch
="#define ARCH_X86 1"
882 _target_arch
="TARGET_ARCH_X86 = yes"
888 3) proc
=i386 iproc
=386 ;;
889 4) proc
=i486 iproc
=486 ;;
890 5) iproc
=586 # LGB: models are: K5/SSA5 K5 K5 K5 ? ? K6 K6 K6-2 K6-3
891 # K6 model 13 are the K6-2+ and K6-III+, only differing in cache size.
892 if test "$pmodel" -eq 9 -o "$pmodel" -eq 13; then
894 elif test "$pmodel" -ge 8; then
896 elif test "$pmodel" -ge 6; then
903 # It's a bit difficult to determine the correct type of Family 6
904 # AMD CPUs just from their signature. Instead, we check directly
905 # whether it supports SSE.
906 if test "$_sse" = yes; then
907 # gcc treats athlon-xp, athlon-4 and athlon-mp similarly.
910 # Again, gcc treats athlon and athlon-tbird similarly.
915 # k8 cpu-type only supported in gcc >= 3.4.0, but that will be
916 # caught and remedied in the optimization tests below.
920 *) proc
=k8 iproc
=686 ;;
925 3) proc
=i386 iproc
=386 ;;
926 4) proc
=i486 iproc
=486 ;;
928 if test "$pmodel" -eq 4 ||
test "$pmodel" -eq 8; then
929 proc
=pentium-mmx
# 4 is desktop, 8 is mobile
935 if test "$pmodel" -eq 9 -o "$pmodel" -ge 13; then
937 elif test "$pmodel" -ge 7; then
939 elif test "$pmodel" -ge 3; then
946 # A nocona in 32-bit mode has no more capabilities than a prescott.
947 if test "$pmodel" -ge 3; then
953 *) proc
=prescott iproc
=686 ;;
959 if test "$pmodel" -ge 8; then
961 elif test "$pmodel" -ge 4; then
968 if test "$pmodel" -ge 9; then
975 *) proc
=i686 iproc
=i686
;;
980 3) proc
=i386 iproc
=386 ;;
981 4) proc
=i486 iproc
=486 ;;
982 *) proc
=i586 iproc
=586 ;;
986 proc
=i586 iproc
=586 ;;
989 # check that gcc supports our CPU, if not, fall back to earlier ones
990 # LGB: check -mcpu and -march swithing step by step with enabling
991 # to fall back till 386.
993 # gcc >= 3.4.0 doesn't support -mcpu, we have to use -mtune instead
995 if [ "$cc_vendor" = "gnu" ] && ([ "$_cc_major" -gt 3 ] ||
( [ "$_cc_major" = 3 ] && [ "$_cc_minor" -ge 4 ])) ; then
1001 echocheck
"GCC & CPU optimization abilities"
1003 int main(void) { return 0; }
1005 if test "$_runtime_cpudetection" = no
; then
1006 if test "$proc" = "k8" -o "$proc" = "opteron" -o "$proc" = "athlon64" -o "$proc" = "athlon-fx" ; then
1007 cc_check
-march=$proc $cpuopt=$proc || proc
=athlon-xp
1009 if test "$proc" = "athlon-xp" ||
test "$proc" = "athlon-4" ||
test "$proc" = "athlon-tbird"; then
1010 cc_check
-march=$proc $cpuopt=$proc || proc
=athlon
1012 if test "$proc" = "k6-3" ||
test "$proc" = "k6-2"; then
1013 cc_check
-march=$proc $cpuopt=$proc || proc
=k6
1015 if test "$proc" = "k6" ||
test "$proc" = "c3"; then
1016 if not cc_check
-march=$proc $cpuopt=$proc; then
1017 if cc_check
-march=i586
$cpuopt=i686
; then
1024 if test "$proc" = "nocona" ||
test "$proc" = "prescott" ; then
1025 cc_check
-march=$proc $cpuopt=$proc || proc
=pentium4
1027 if test "$proc" = "pentium4" ||
test "$proc" = "pentium-m" ||
test "$proc" = "pentium3" ||
test "$proc" = "pentium2" ||
test "$proc" = "athlon" ||
test "$proc" = "c3-2"; then
1028 cc_check
-march=$proc $cpuopt=$proc || proc
=i686
1030 if test "$proc" = "i686" ||
test "$proc" = "pentium-mmx" ||
test "$proc" = "winchip-c6" ||
test "$proc" = "winchip2"; then
1031 cc_check
-march=$proc $cpuopt=$proc || proc
=i586
1033 if test "$proc" = "i586"; then
1034 cc_check
-march=$proc $cpuopt=$proc || proc
=i486
1036 if test "$proc" = "i486" ; then
1037 cc_check
-march=$proc $cpuopt=$proc || proc
=i386
1039 if test "$proc" = "i386" ; then
1040 cc_check
-march=$proc $cpuopt=$proc || proc
=error
1042 if test "$proc" = "error" ; then
1043 echores
"CPU optimization disabled. CPU not recognized or your compiler is too old."
1047 elif test "$proc" = "i586-i686"; then
1048 _march
="-march=i586"
1049 _mcpu
="$cpuopt=i686"
1052 _march
="-march=$proc"
1053 _mcpu
="$cpuopt=$proc"
1056 else # if test "$_runtime_cpudetection" = no
1057 # i686 is probably the most common CPU - optimize for it
1058 _mcpu
="$cpuopt=i686"
1059 # at least i486 required, for bswap instruction
1060 _march
="-march=i486"
1061 cc_check
$_mcpu || _mcpu
=""
1062 cc_check
$_march $_mcpu || _march
=""
1065 ## Gabucino : --target takes effect here (hopefully...) by overwriting
1066 ## autodetected mcpu/march parameters
1067 if test "$_target" ; then
1068 # TODO: it may be a good idea to check GCC and fall back in all cases
1069 if test "$host_arch" = "i586-i686"; then
1070 _march
="-march=i586"
1071 _mcpu
="$cpuopt=i686"
1073 _march
="-march=$host_arch"
1074 _mcpu
="$cpuopt=$host_arch"
1082 i586|k5|k6|k6-2|k6-3|pentium|pentium-mmx
) iproc
=586 ;;
1083 i686|athlon
*|pentium
*) iproc
=686 ;;
1092 _def_arch
='#define ARCH_IA64 1'
1093 _target_arch
='TARGET_ARCH_IA64 = yes'
1102 _def_arch
='#define ARCH_X86_64 1'
1103 _target_arch
='TARGET_ARCH_X86_64 = yes'
1106 # gcc >= 3.4.0 doesn't support -mcpu, we have to use -mtune instead
1107 if test "$cc_vendor" = "gnu" && test "$_cc_major" -gt 3 -o "$_cc_major" -eq 3 -a "$_cc_minor" -ge 4 ; then
1116 # 64-bit prescotts exist, but as far as GCC is concerned they have the
1117 # same capabilities as a nocona.
1123 echocheck
"GCC & CPU optimization abilities"
1125 int main(void) { return 0; }
1127 # This is a stripped-down version of the i386 fallback.
1128 if test "$_runtime_cpudetection" = no
; then
1129 # --- AMD processors ---
1130 if test "$proc" = "k8" -o "$proc" = "opteron" -o "$proc" = "athlon64" -o "$proc" = "athlon-fx" ; then
1131 cc_check
-march=$proc $cpuopt=$proc || proc
=athlon-xp
1133 # This will fail if gcc version < 3.3, which is ok because earlier
1134 # versions don't really support 64-bit on amd64.
1135 # Is this a valid assumption? -Corey
1136 if test "$proc" = "athlon-xp" ||
test "$proc" = "athlon-4" ; then
1137 cc_check
-march=$proc $cpuopt=$proc || proc
=error
1139 # --- Intel processors ---
1140 if test "$proc" = "nocona" ||
test "$proc" = "prescott" ; then
1141 cc_check
-march=$proc $cpuopt=$proc || proc
=pentium4
1143 if test "$proc" = "pentium4" ||
test "$proc" = "pentium4m" ; then
1144 cc_check
-march=$proc $cpuopt=$proc || proc
=error
1147 _march
="-march=$proc"
1148 _mcpu
="$cpuopt=$proc"
1149 if test "$proc" = "error" ; then
1150 echores
"CPU optimization disabled. CPU not recognized or your compiler is too old."
1165 _def_arch
='#define ARCH_SPARC 1'
1166 _target_arch
='TARGET_ARCH_SPARC = yes'
1169 echocheck
"CPU type"
1171 case "`echo $karch`" in
1176 sun4u
) proc
=v9 _vis
='yes' _def_vis
='#define HAVE_VIS = yes' ;;
1190 _def_arch
='#define ARCH_SPARC 1'
1191 _target_arch
='TARGET_ARCH_SPARC = yes'
1193 _def_vis
='#define HAVE_VIS = yes'
1201 arm|armv4l|armv5tel
)
1202 _def_arch
='#define ARCH_ARMV4L 1'
1203 _target_arch
='TARGET_ARCH_ARMV4L = yes'
1212 _def_arch
='#define ARCH_POWERPC 1'
1213 _def_dcbzl
='#define NO_DCBZL 1'
1214 _target_arch
='TARGET_ARCH_POWERPC = yes'
1222 echocheck
"CPU type"
1223 case $system_name in
1225 proc
=`$_cpuinfo | grep 'cpu' | cut -d ':' -f 2 | cut -d ',' -f 1 | cut -b 2- | _head 1`
1226 if test -n "`$_cpuinfo | grep altivec`"; then
1231 proc
=`$_cpuinfo | grep "Processor type" | cut -f 3 -d ' ' | sed 's/ppc//'`
1232 if [ `sysctl -n hw.vectorunit` -eq 1 -o \
1233 "`sysctl -n hw.optional.altivec 2> /dev/null`" = "1" ]; then
1238 # only gcc 3.4 works reliably with AltiVec code under NetBSD
1240 2*|
3.0*|
3.1*|
3.2*|
3.3*)
1243 if [ `sysctl -n machdep.altivec` -eq 1 ]; then
1250 proc
=`$_cpuinfo | grep 'type' | cut -f 2 -d ' ' | sed 's/PowerPC_//'`
1253 if test "$_altivec" = yes; then
1254 echores
"$proc altivec"
1259 echocheck
"GCC & CPU optimization abilities"
1261 if test -n "$proc"; then
1263 601) _march
='-mcpu=601' _mcpu
='-mtune=601' ;;
1264 603) _march
='-mcpu=603' _mcpu
='-mtune=603' ;;
1265 603e|
603ev
) _march
='-mcpu=603e' _mcpu
='-mtune=603e' ;;
1266 604|
604e|
604r|
604ev
) _march
='-mcpu=604' _mcpu
='-mtune=604' ;;
1267 740|
740/750|
745/755) _march
='-mcpu=740' _mcpu
='-mtune=740' ;;
1268 750|
750CX
) _march
='-mcpu=750' _mcpu
='-mtune=750' ;;
1269 POWER
) _march
='-mcpu=power' _mcpu
='-mtune=power' ;;
1270 POWER2
) _march
='-mcpu=power2' _mcpu
='-mtune=power2' ;;
1271 POWER3
) _march
='-mcpu=power3' _mcpu
='-mtune=power3' ;;
1274 # gcc 3.1(.1) and up supports 7400 and 7450
1275 if test "$_cc_major" -ge "3" && test "$_cc_minor" -ge "1" ||
test "$_cc_major" -ge "4"; then
1277 7400*|
7410*) _march
='-mcpu=7400' _mcpu
='-mtune=7400' ;;
1278 7447*|
7450*|
7455*) _march
='-mcpu=7450' _mcpu
='-mtune=7450' ;;
1282 # gcc 3.2 and up supports 970
1283 if test "$_cc_major" -ge "3" && test "$_cc_minor" -ge "3" ||
test "$_cc_major" -ge "4"; then
1285 970*|PPC970
*) _march
='-mcpu=970' _mcpu
='-mtune=970'
1286 _def_dcbzl
='#undef NO_DCBZL' ;;
1290 # gcc 3.3 and up supports POWER4
1291 if test "$_cc_major" -ge "3" && test "$_cc_minor" -ge "3" ||
test "$_cc_major" -ge "4"; then
1293 POWER4
) _march
='-mcpu=power4' _mcpu
='-mtune=power4' ;;
1297 # gcc 4.0 and up supports POWER5
1298 if test "$_cc_major" -ge "4"; then
1300 POWER5
*) _march
='-mcpu=power5' _mcpu
='-mtune=power5' ;;
1306 if test -n "$_mcpu"; then
1307 _optimizing
=`echo $_mcpu | cut -c 8-`
1308 echores
"$_optimizing"
1316 _def_arch
='#define ARCH_ALPHA 1'
1317 _target_arch
='TARGET_ARCH_ALPHA = yes'
1321 echocheck
"CPU type"
1324 unsigned long ver, mask;
1325 asm ("implver %0" : "=r" (ver));
1326 asm ("amask %1, %0" : "=r" (mask) : "r" (-1));
1327 printf("%ld-%x\n", ver, ~mask);
1331 $_cc -o "$TMPO" "$TMPC"
1334 0-0) proc
="ev4"; cpu_understands_mvi
="0";;
1335 1-0) proc
="ev5"; cpu_understands_mvi
="0";;
1336 1-1) proc
="ev56"; cpu_understands_mvi
="0";;
1337 1-101) proc
="pca56"; cpu_understands_mvi
="1";;
1338 2-303) proc
="ev6"; cpu_understands_mvi
="1";;
1339 2-307) proc
="ev67"; cpu_understands_mvi
="1";;
1340 2-1307) proc
="ev68"; cpu_understands_mvi
="1";;
1344 echocheck
"GCC & CPU optimization abilities"
1345 if test "$proc" = "ev68" ; then
1346 cc_check
-mcpu=$proc || proc
=ev67
1348 if test "$proc" = "ev67" ; then
1349 cc_check
-mcpu=$proc || proc
=ev6
1356 echocheck
"MVI instruction support in GCC"
1357 if test "$_cc_major" -ge "3" && test "$cpu_understands_mvi" = "1" ; then
1358 _def_gcc_mvi_support
="#define CAN_COMPILE_ALPHA_MVI 1"
1361 _def_gcc_mvi_support
="#undef CAN_COMPILE_ALPHA_MVI"
1362 echores
"no, GCC = `$_cc -dumpversion 2>&1` (must be >= 3), CPU = $proc (must be pca56 or later)"
1367 _def_arch
='#define ARCH_SGI_MIPS 1'
1368 _target_arch
='TARGET_ARCH_SGI_MIPS = yes'
1376 echocheck
"CPU type"
1377 proc
=`hinv -c processor | grep CPU | cut -d " " -f3`
1378 case "`echo $proc`" in
1379 R3000
) _march
='-mips1' _mcpu
='-mtune=r2000' ;;
1380 R4000
) _march
='-mips3' _mcpu
='-mtune=r4000' ;;
1381 R4400
) _march
='-mips3' _mcpu
='-mtune=r4400' ;;
1382 R4600
) _march
='-mips3' _mcpu
='-mtune=r4600' ;;
1383 R5000
) _march
='-mips4' _mcpu
='-mtune=r5000' ;;
1384 R8000|R10000|R12000|R14000|R16000
) _march
='-mips4' _mcpu
='-mtune=r8000' ;;
1386 # gcc < 3.x does not support -mtune.
1387 if test "$cc_vendor" = "gnu" && test "$_cc_major" -lt 3 ; then
1396 _def_arch
='#define ARCH_PA_RISC 1'
1397 _target_arch
='TARGET_ARCH_PA_RISC = yes'
1406 _def_arch
='#define ARCH_S390 1'
1407 _target_arch
='TARGET_ARCH_S390 = yes'
1416 _def_arch
='#define ARCH_S390X 1'
1417 _target_arch
='TARGET_ARCH_S390X = yes'
1426 _def_arch
='#define ARCH_VAX 1'
1427 _target_arch
='TARGET_ARCH_VAX = yes'
1436 echo "The architecture of your CPU ($host_arch) is not supported by this configure script"
1437 echo "It seems nobody has ported MPlayer to your OS or CPU type yet."
1438 die
"unsupported architecture $host_arch"
1440 esac # case "$host_arch" in
1442 if test "$_runtime_cpudetection" = yes ; then
1457 if x86
&& test "$_runtime_cpudetection" = no
; then
1459 if test "$1" = yes ; then
1460 echocheck
"kernel support of $2"
1463 void catch() { exit(1); }
1465 signal(SIGILL, catch);
1466 __asm__ __volatile__ ("$3":::"memory");return(0);
1470 if cc_check
&& tmp_run
; then
1472 _optimizing
="$_optimizing $2"
1476 echo "It seems that your kernel does not correctly support $2."
1477 echo "To use $2 extensions in MPlayer, you have to upgrade/recompile your kernel!"
1484 extcheck
$_mmx "mmx" "emms" || _mmx
=no
1485 extcheck
$_mmxext "mmxext" "sfence" || _mmxext
=no
1486 extcheck
$_3dnow "3dnow" "femms" || _3dnow
=no
1487 extcheck
$_3dnowext "3dnowext" "pswapd %%mm0, %%mm0" || _3dnowext
=no
1488 extcheck
$_sse "sse" "xorps %%xmm0, %%xmm0" || _sse
=no _gcc3_ext
="$_gcc3_ext -mno-sse"
1489 extcheck
$_sse2 "sse2" "xorpd %%xmm0, %%xmm0" || _sse2
=no _gcc3_ext
="$_gcc3_ext -mno-sse2"
1490 echocheck
"mtrr support"
1493 if test "$_mtrr" = yes ; then
1494 _optimizing
="$_optimizing mtrr"
1497 if test "$_gcc3_ext" != ""; then
1498 # if we had to disable sse/sse2 because the active kernel does not
1499 # support this instruction set extension, we also have to tell
1500 # gcc3 to not generate sse/sse2 instructions for normal C code
1502 int main(void) { return 0; }
1504 cc_check
$_march $_gcc3_ext && _march
="$_march $_gcc3_ext"
1510 # intrinsics headers for use with FFmpeg
1511 if test "$_sse" = yes ; then
1512 echocheck
"xmmintrin.h"
1514 #include <xmmintrin.h>
1515 int main() { _mm_sfence(); return 0; }
1518 cc_check
-msse && _builtin_vector
=yes
1519 if test "$_builtin_vector" = yes ; then
1520 _def_builtin_vector
='#define HAVE_BUILTIN_VECTOR 1'
1522 _def_builtin_vector
='#undef HAVE_BUILTIN_VECTOR'
1524 echores
"$_builtin_vector"
1527 if test "$_3dnow" = yes ; then
1528 echocheck
"mm3dnow.h"
1530 #include <mm3dnow.h>
1531 int main() { _m_femms(); return 0; }
1534 cc_check
-m3dnow && _mm3dnow
=yes
1535 if test "$_mm3dnow" = yes ; then
1536 _def_mm3dnow
='#define HAVE_MM3DNOW 1'
1538 _def_mm3dnow
='#undef HAVE_MM3DNOW'
1544 echocheck
"assembler support of -pipe option"
1546 int main(void) { return 0; }
1548 cc_check
-pipe && _pipe
="-pipe" && echores
"yes" || echores
"no"
1551 echocheck
"compiler support of named assembler arguments"
1553 _def_named_asm_args
="#define NAMED_ASM_ARGS 1"
1554 if test "$cc_vendor" = "gnu" && test "$_cc_major" -lt 3 \
1555 -o "$_cc_major" -eq 3 -a "$_cc_minor" = 0 ; then
1557 _def_named_asm_args
="#undef NAMED_ASM_ARGS"
1559 echores
$_named_asm_args
1562 # Checking for CFLAGS
1564 if test "$_profile" != "" ||
test "$_debug" != "" ; then
1565 CFLAGS
="-W -Wall -O2 $_march $_mcpu $_debug $_profile"
1566 if test "$_cc_major" -ge "3" ; then
1567 CFLAGS
=`echo "$CFLAGS" | sed -e 's/\(-Wall\)/\1 -Wno-unused-parameter/'`
1570 elif test -z "$CFLAGS" ; then
1571 CFLAGS
="-O4 $_march $_mcpu $_pipe -ffast-math -fomit-frame-pointer"
1575 if test -n "$LDFLAGS" ; then
1576 _ld_extra
="$_ld_extra $LDFLAGS"
1579 if test -n "$CPPFLAGS" ; then
1580 _inc_extra
="$_inc_extra $CPPFLAGS"
1584 _prefix
="/usr/local"
1586 # GOTCHA: the variables below defines the default behavior for autodetection
1587 # and have - unless stated otherwise - at least 2 states : yes no
1588 # If autodetection is available then the third state is: auto
1595 _libavdecoders
=`grep 'register_avcodec(&[a-z0-9_]*_decoder)' libavcodec/allcodecs.c | sed 's/.*&\(.*\)).*/\1/'`
1596 _libavencoders
=`grep 'register_avcodec(&[a-z0-9_]*_encoder)' libavcodec/allcodecs.c | sed 's/.*&\(.*\)).*/\1/'`
1597 _libavparsers
=`grep 'av_register_codec_parser(&[a-z]' libavcodec/allcodecs.c | sed 's/.*&\(.*\)).*/\1/'`
1598 _libavdemuxers
=`grep 'av_register_input_format(&[a-z]' libavformat/allformats.c | sed 's/.*&\(.*\)).*/\1/'`
1599 _libavmuxers
=`grep 'av_register_output_format(&[a-z]' libavformat/allformats.c | sed 's/.*&\(.*\)).*/\1/'`
1602 _libavformat_so
=auto
1604 _libpostproc_so
=auto
1605 _libavcodec_mpegaudio_hp
=yes
1610 _dga
=auto
# 1 2 no auto
1612 _xvmc
=no
#auto when complete
1649 _tremor_internal
=yes
1651 _tremor_external
=auto
1666 _dvdnavconfig
=dvdnav-config
1677 _mlib
=no
#broken, thus disabled
1697 _vidix_internal
=auto
1698 _vidix_external
=auto
1734 _macosx_finder_support
=no
1737 _freetypeconfig
='freetype-config'
1739 _fribidiconfig
='fribidi-config'
1742 _gethostbyname2
=auto
1751 case "$ac_option" in
1757 --enable-gcc-check) ;;
1758 --disable-gcc-check) ;;
1759 --enable-static*) ;;
1760 --disable-static*) ;;
1761 --with-extraincdir=*) ;;
1762 --with-extralibdir=*) ;;
1764 --enable-runtime-cpudetection) ;;
1765 --disable-runtime-cpudetection) ;;
1766 --enable-cross-compile) ;;
1767 --disable-cross-compile) ;;
1768 --install-path=*) ;;
1769 --with-install=*) ;;
1770 --enable-profile) ;;
1771 --disable-profile) ;;
1773 --enable-debug=*) ;;
1777 --enable-mencoder) _mencoder
=yes ;;
1778 --disable-mencoder) _mencoder
=no
;;
1779 --enable-dynamic-plugins) _dynamic_plugins
=yes ;;
1780 --disable-dynamic-plugins) _dynamic_plugins
=no
;;
1781 --enable-x11) _x11
=yes ;;
1782 --disable-x11) _x11
=no
;;
1783 --enable-xshape) _xshape
=yes ;;
1784 --disable-xshape) _xshape
=no
;;
1785 --enable-xv) _xv
=yes ;;
1786 --disable-xv) _xv
=no
;;
1787 --enable-xvmc) _xvmc
=yes ;;
1788 --disable-xvmc) _xvmc
=no
;;
1789 --enable-sdl) _sdl
=yes ;;
1790 --disable-sdl) _sdl
=no
;;
1791 --enable-directx) _directx
=yes ;;
1792 --disable-directx) _directx
=no
;;
1793 --enable-win32waveout) _win32waveout
=yes ;;
1794 --disable-win32waveout) _win32waveout
=no
;;
1795 --enable-nas) _nas
=yes ;;
1796 --disable-nas) _nas
=no
;;
1797 --enable-png) _png
=yes ;;
1798 --disable-png) _png
=no
;;
1799 --enable-jpeg) _jpeg
=yes ;;
1800 --disable-jpeg) _jpeg
=no
;;
1801 --enable-pnm) _pnm
=yes ;;
1802 --disable-pnm) _pnm
=no
;;
1803 --enable-md5sum) _md5sum
=yes ;;
1804 --disable-md5sum) _md5sum
=no
;;
1805 --enable-gif) _gif
=yes ;;
1806 --disable-gif) _gif
=no
;;
1807 --enable-gl) _gl
=yes ;;
1808 --disable-gl) _gl
=no
;;
1809 --enable-ggi) _ggi
=yes ;;
1810 --disable-ggi) _ggi
=no
;;
1811 --enable-ggiwmh) _ggiwmh
=yes ;;
1812 --disable-ggiwmh) _ggiwmh
=no
;;
1813 --enable-aa) _aa
=yes ;;
1814 --disable-aa) _aa
=no
;;
1815 --enable-caca) _caca
=yes ;;
1816 --disable-caca) _caca
=no
;;
1817 --enable-svga) _svga
=yes ;;
1818 --disable-svga) _svga
=no
;;
1819 --enable-vesa) _vesa
=yes ;;
1820 --disable-vesa) _vesa
=no
;;
1821 --enable-fbdev) _fbdev
=yes ;;
1822 --disable-fbdev) _fbdev
=no
;;
1823 --enable-dvb) _dvb
=yes ;;
1824 --disable-dvb) _dvb
=no
;;
1825 --enable-dvbhead) _dvbhead
=yes ;;
1826 --disable-dvbhead) _dvbhead
=no
;;
1827 --enable-dxr2) _dxr2
=yes ;;
1828 --disable-dxr2) _dxr2
=no
;;
1829 --enable-dxr3) _dxr3
=yes ;;
1830 --disable-dxr3) _dxr3
=no
;;
1831 --enable-ivtv) _ivtv
=yes ;;
1832 --disable-ivtv) _ivtv
=no
;;
1833 --enable-iconv) _iconv
=yes ;;
1834 --disable-iconv) _iconv
=no
;;
1835 --enable-langinfo) _langinfo
=yes ;;
1836 --disable-langinfo) _langinfo
=no
;;
1837 --enable-rtc) _rtc
=yes ;;
1838 --disable-rtc) _rtc
=no
;;
1839 --enable-libdv) _libdv
=yes ;;
1840 --disable-libdv) _libdv
=no
;;
1841 --enable-ossaudio) _ossaudio
=yes ;;
1842 --disable-ossaudio) _ossaudio
=no
;;
1843 --enable-arts) _arts
=yes ;;
1844 --disable-arts) _arts
=no
;;
1845 --enable-esd) _esd
=yes ;;
1846 --disable-esd) _esd
=no
;;
1847 --enable-polyp) _polyp
=yes ;;
1848 --disable-polyp) _polyp
=no
;;
1849 --enable-jack) _jack
=yes ;;
1850 --disable-jack) _jack
=no
;;
1851 --enable-openal) _openal
=yes ;;
1852 --disable-openal) _openal
=no
;;
1853 --enable-mad) _mad
=yes ;;
1854 --disable-mad) _mad
=no
;;
1855 --enable-toolame) _toolame
=yes ;;
1856 --disable-toolame) _toolame
=no
;;
1857 --enable-twolame) _twolame
=yes ;;
1858 --disable-twolame) _twolame
=no
;;
1859 --enable-libcdio) _libcdio
=yes ;;
1860 --disable-libcdio) _libcdio
=no
;;
1861 --enable-liblzo) _liblzo
=yes ;;
1862 --disable-liblzo) _liblzo
=no
;;
1863 --enable-libvorbis) _libvorbis
=yes ;;
1864 --disable-libvorbis) _libvorbis
=no
;;
1865 --enable-speex) _speex
=yes ;;
1866 --disable-speex) _speex
=no
;;
1867 --enable-tremor-internal) _tremor_internal
=yes ;;
1868 --disable-tremor-internal) _tremor_internal
=no
;;
1869 --enable-tremor-low) _tremor_low
=yes ;;
1870 --disable-tremor-low) _tremor_low
=no
;;
1871 --enable-tremor-external) _tremor_external
=yes ;;
1872 --disable-tremor-external) _tremor_external
=no
;;
1873 --enable-theora) _theora
=yes ;;
1874 --disable-theora) _theora
=no
;;
1875 --enable-mp3lib) _mp3lib
=yes ;;
1876 --disable-mp3lib) _mp3lib
=no
;;
1877 --enable-liba52) _liba52
=yes ;;
1878 --disable-liba52) _liba52
=no
;;
1879 --enable-libdts) _libdts
=yes ;;
1880 --disable-libdts) _libdts
=no
;;
1881 --enable-libmpeg2) _libmpeg2
=yes ;;
1882 --disable-libmpeg2) _libmpeg2
=no
;;
1883 --enable-musepack) _musepack
=yes ;;
1884 --disable-musepack) _musepack
=no
;;
1885 --enable-faad-internal) _faad_internal
=yes ;;
1886 --disable-faad-internal) _faad_internal
=no
;;
1887 --enable-faad-external) _faad_external
=yes ;;
1888 --disable-faad-external) _faad_external
=no
;;
1889 --enable-faac) _faac
=yes ;;
1890 --disable-faac) _faac
=no
;;
1891 --enable-ladspa) _ladspa
=yes ;;
1892 --disable-ladspa) _ladspa
=no
;;
1893 --enable-xmms) _xmms
=yes ;;
1894 --disable-xmms) _xmms
=no
;;
1895 --enable-dvdread) _dvdread
=yes ;;
1896 --disable-dvdread) _dvdread
=no
;;
1897 --enable-mpdvdkit) _mpdvdkit
=yes ;;
1898 --disable-mpdvdkit) _mpdvdkit
=no
;;
1899 --enable-dvdnav) _dvdnav
=yes ;;
1900 --disable-dvdnav) _dvdnav
=no
;;
1901 --enable-xanim) _xanim
=yes ;;
1902 --disable-xanim) _xanim
=no
;;
1903 --enable-real) _real
=yes ;;
1904 --disable-real) _real
=no
;;
1905 --enable-live) _live
=yes ;;
1906 --disable-live) _live
=no
;;
1907 --enable-xinerama) _xinerama
=yes ;;
1908 --disable-xinerama) _xinerama
=no
;;
1909 --enable-mga) _mga
=yes ;;
1910 --disable-mga) _mga
=no
;;
1911 --enable-xmga) _xmga
=yes ;;
1912 --disable-xmga) _xmga
=no
;;
1913 --enable-vm) _vm
=yes ;;
1914 --disable-vm) _vm
=no
;;
1915 --enable-xf86keysym) _xf86keysym
=yes ;;
1916 --disable-xf86keysym) _xf86keysym
=no
;;
1917 --enable-mlib) _mlib
=yes ;;
1918 --disable-mlib) _mlib
=no
;;
1919 --enable-sunaudio) _sunaudio
=yes ;;
1920 --disable-sunaudio) _sunaudio
=no
;;
1921 --enable-sgiaudio) _sgiaudio
=yes ;;
1922 --disable-sgiaudio) _sgiaudio
=no
;;
1923 --enable-alsa) _alsa
=yes ;;
1924 --disable-alsa) _alsa
=no
;;
1925 --enable-tv) _tv
=yes ;;
1926 --disable-tv) _tv
=no
;;
1927 --enable-tv-bsdbt848) _tv_bsdbt848
=yes ;;
1928 --disable-tv-bsdbt848) _tv_bsdbt848
=no
;;
1929 --enable-tv-v4l1) _tv_v4l1
=yes ;;
1930 --disable-tv-v4l1) _tv_v4l1
=no
;;
1931 --enable-tv-v4l2) _tv_v4l2
=yes ;;
1932 --disable-tv-v4l2) _tv_v4l2
=no
;;
1933 --enable-radio) _radio
=yes ;;
1934 --enable-radio-capture) _radio_capture
=yes ;;
1935 --disable-radio-capture) _radio_capture
=no
;;
1936 --disable-radio) _radio
=no
;;
1937 --enable-radio-v4l) _radio_v4l
=yes ;;
1938 --disable-radio-v4l) _radio_v4l
=no
;;
1939 --enable-radio-v4l2) _radio_v4l2
=yes ;;
1940 --disable-radio-v4l2) _radio_v4l2
=no
;;
1941 --enable-pvr) _pvr
=yes ;;
1942 --disable-pvr) _pvr
=no
;;
1943 --enable-fastmemcpy) _fastmemcpy
=yes ;;
1944 --disable-fastmemcpy) _fastmemcpy
=no
;;
1945 --enable-network) _network
=yes ;;
1946 --disable-network) _network
=no
;;
1947 --enable-winsock2) _winsock2
=yes ;;
1948 --disable-winsock2) _winsock2
=no
;;
1949 --enable-smb) _smbsupport
=yes ;;
1950 --disable-smb) _smbsupport
=no
;;
1951 --enable-vidix-internal) _vidix_internal
=yes ;;
1952 --disable-vidix-internal) _vidix_internal
=no
;;
1953 --enable-vidix-external) _vidix_external
=yes ;;
1954 --disable-vidix-external) _vidix_external
=no
;;
1955 --enable-joystick) _joystick
=yes ;;
1956 --disable-joystick) _joystick
=no
;;
1957 --enable-xvid) _xvid
=yes ;;
1958 --disable-xvid) _xvid
=no
;;
1959 --enable-x264) _x264
=yes ;;
1960 --disable-x264) _x264
=no
;;
1961 --enable-nut) _nut
=yes ;;
1962 --disable-nut) _nut
=no
;;
1963 --enable-libavutil) _libavutil
=yes ;;
1964 --disable-libavutil) _libavutil
=no
;;
1965 --enable-libavutil_so) _libavutil_so
=yes ;;
1966 --disable-libavutil_so) _libavutil_so
=no
;;
1967 --enable-libavcodec) _libavcodec
=yes ;;
1968 --disable-libavcodec) _libavcodec
=no
;;
1969 --enable-libavcodec_so) _libavcodec_so
=yes ;;
1970 --disable-libavcodec_so) _libavcodec_so
=no
;;
1971 --enable-amr_nb) _amr_nb
=yes ;;
1972 --disable-amr_nb) _amr_nb
=no
;;
1973 --enable-amr_nb-fixed) _amr_nb_fixed
=yes ;;
1974 --disable-amr_nb-fixed) _amr_nb_fixed
=no
;;
1975 --enable-amr_wb) _amr_wb
=yes ;;
1976 --disable-amr_wb) _amr_wb
=no
;;
1977 --enable-decoder=*) _libavdecoders
="$_libavdecoders `echo $ac_option | cut -d '=' -f 2`" ;;
1978 --disable-decoder=*) _libavdecoders
=`echo $_libavdecoders | sed "s/\`echo $ac_option | cut
-d '=' -f 2\
`//g"` ;;
1979 --enable-encoder=*) _libavencoders
="$_libavencoders `echo $ac_option | cut -d '=' -f 2`" ;;
1980 --disable-encoder=*) _libavencoders
=`echo $_libavencoders | sed "s/\`echo $ac_option | cut
-d '=' -f 2\
`//g"` ;;
1981 --enable-parser=*) _libavparsers
="$_libavparsers `echo $ac_option | cut -d '=' -f 2`" ;;
1982 --disable-parser=*) _libavparsers
=`echo $_libavparsers | sed "s/\`echo $ac_option | cut
-d '=' -f 2\
`//g"` ;;
1983 --enable-demuxer=*) _libavdemuxers
="$_libavdemuxers `echo $ac_option | cut -d '=' -f 2`" ;;
1984 --disable-demuxer=*) _libavdemuxers
=`echo $_libavdemuxers | sed "s/\`echo $ac_option | cut
-d '=' -f 2\
`//g"` ;;
1985 --enable-muxer=*) _libavmuxers
="$_libavmuxers `echo $ac_option | cut -d '=' -f 2`" ;;
1986 --disable-muxer=*) _libavmuxers
=`echo $_libavmuxers | sed "s/\`echo $ac_option | cut
-d '=' -f 2\
`//g"` ;;
1987 --enable-libavformat) _libavformat
=yes;;
1988 --disable-libavformat) _libavformat
=no
;;
1989 --enable-libavformat_so) _libavformat_so
=yes ;;
1990 --disable-libavformat_so) _libavformat_so
=no
;;
1991 --enable-libpostproc) _libpostproc
=yes ;;
1992 --disable-libpostproc) _libpostproc
=no
;;
1993 --enable-libpostproc_so) _libpostproc_so
=yes ;;
1994 --disable-libpostproc_so) _libpostproc_so
=no
;;
1995 --enable-libavcodec_mpegaudio_hp) _libavcodec_mpegaudio_hp
=yes ;;
1996 --disable-libavcodec_mpegaudio_hp) _libavcodec_mpegaudio_hp
=no
;;
1998 --enable-libfame) _libfame
=yes ;;
1999 --disable-libfame) _libfame
=no
;;
2000 --enable-lirc) _lirc
=yes ;;
2001 --disable-lirc) _lirc
=no
;;
2002 --enable-lircc) _lircc
=yes ;;
2003 --disable-lircc) _lircc
=no
;;
2004 --enable-gui) _gui
=yes ;;
2005 --disable-gui) _gui
=no
;;
2006 --enable-gtk1) _gtk1
=yes ;;
2007 --disable-gtk1) _gtk1
=no
;;
2008 --enable-termcap) _termcap
=yes ;;
2009 --disable-termcap) _termcap
=no
;;
2010 --enable-termios) _termios
=yes ;;
2011 --disable-termios) _termios
=no
;;
2012 --enable-3dfx) _3dfx
=yes ;;
2013 --disable-3dfx) _3dfx
=no
;;
2014 --enable-s3fb) _s3fb
=yes ;;
2015 --disable-s3fb) _s3fb
=no
;;
2016 --enable-tdfxfb) _tdfxfb
=yes ;;
2017 --disable-tdfxvid) _tdfxvid
=no
;;
2018 --enable-tdfxvid) _tdfxvid
=yes ;;
2019 --disable-tga) _tga
=no
;;
2020 --enable-tga) _tga
=yes ;;
2021 --enable-tdfxfb) _tdfxfb
=yes ;;
2022 --disable-tdfxfb) _tdfxfb
=no
;;
2023 --enable-directfb) _directfb
=yes ;;
2024 --disable-directfb) _directfb
=no
;;
2025 --enable-zr) _zr
=yes ;;
2026 --disable-zr) _zr
=no
;;
2027 --enable-bl) _bl
=yes ;;
2028 --disable-bl) _bl
=no
;;
2029 --enable-mtrr) _mtrr
=yes ;;
2030 --disable-mtrr) _mtrr
=no
;;
2031 --enable-largefiles) _largefiles
=yes ;;
2032 --disable-largefiles) _largefiles
=no
;;
2033 --enable-shm) _shm
=yes ;;
2034 --disable-shm) _shm
=no
;;
2035 --enable-select) _select
=yes ;;
2036 --disable-select) _select
=no
;;
2037 --enable-linux-devfs) _linux_devfs
=yes ;;
2038 --disable-linux-devfs) _linux_devfs
=no
;;
2039 --enable-cdparanoia) _cdparanoia
=yes ;;
2040 --disable-cdparanoia) _cdparanoia
=no
;;
2041 --enable-big-endian) _big_endian
=yes ;;
2042 --disable-big-endian) _big_endian
=no
;;
2043 --enable-bitmap-font) _bitmap_font
=yes ;;
2044 --disable-bitmap-font) _bitmap_font
=no
;;
2045 --enable-freetype) _freetype
=yes ;;
2046 --disable-freetype) _freetype
=no
;;
2047 --enable-fontconfig) _fontconfig
=yes ;;
2048 --disable-fontconfig) _fontconfig
=no
;;
2049 --enable-unrarlib) _unrarlib
=yes ;;
2050 --disable-unrarlib) _unrarlib
=no
;;
2051 --enable-ftp) _ftp
=yes ;;
2052 --disable-ftp) _ftp
=no
;;
2053 --enable-vstream) _vstream
=yes ;;
2054 --disable-vstream) _vstream
=no
;;
2055 --enable-pthreads) _pthreads
=yes ;;
2056 --disable-pthreads) _pthreads
=no
;;
2057 --enable-ass) _ass
=yes ;;
2058 --disable-ass) _ass
=no
;;
2059 --enable-rpath) _rpath
=yes ;;
2060 --disable-rpath) _rpath
=no
;;
2062 --enable-fribidi) _fribidi
=yes ;;
2063 --disable-fribidi) _fribidi
=no
;;
2065 --enable-enca) _enca
=yes ;;
2066 --disable-enca) _enca
=no
;;
2068 --enable-inet6) _inet6
=yes ;;
2069 --disable-inet6) _inet6
=no
;;
2071 --enable-gethostbyname2) _gethostbyname2
=yes ;;
2072 --disable-gethostbyname2) _gethostbyname2
=no
;;
2074 --enable-dga) _dga
=auto
;; # as we don't know if it's 1 or 2
2075 --enable-dga=*) _dga
=`echo $ac_option | cut -d '=' -f 2` ;;
2076 --disable-dga) _dga
=no
;;
2078 --enable-menu) _menu
=yes ;;
2079 --disable-menu) _menu
=no
;;
2081 --enable-qtx) _qtx
=yes ;;
2082 --disable-qtx) _qtx
=no
;;
2084 --enable-macosx) _macosx
=yes ;;
2085 --disable-macosx) _macosx
=no
;;
2086 --enable-macosx-finder-support) _macosx_finder_support
=yes ;;
2087 --disable-macosx-finder-support) _macosx_finder_support
=no
;;
2088 --enable-macosx-bundle) _macosx_bundle
=yes;;
2089 --disable-macosx-bundle) _macosx_bundle
=no
;;
2091 --enable-sortsub) _sortsub
=yes ;;
2092 --disable-sortsub) _sortsub
=no
;;
2095 _charset
=`echo $ac_option | cut -d '=' -f 2`
2098 _language
=`echo $ac_option | cut -d '=' -f 2`
2102 _win32libdir
=`echo $ac_option | cut -d '=' -f 2`
2103 _xanimlibdir
=`echo $ac_option | cut -d '=' -f 2`
2104 _reallibdir
=`echo $ac_option | cut -d '=' -f 2`
2106 --with-win32libdir=*)
2107 _win32libdir
=`echo $ac_option | cut -d '=' -f 2`
2109 --with-xanimlibdir=*)
2110 _xanimlibdir
=`echo $ac_option | cut -d '=' -f 2`
2112 --with-reallibdir=*)
2113 _reallibdir
=`echo $ac_option | cut -d '=' -f 2`
2115 --with-livelibdir=*)
2116 _livelibdir
=`echo $ac_option | cut -d '=' -f 2`
2119 --with-xmmslibdir=*)
2120 _xmmslibdir
=`echo $ac_option | cut -d '=' -f 2`
2123 --with-xmmsplugindir=*)
2124 _xmmsplugindir
=`echo $ac_option | cut -d '=' -f 2`
2127 --enable-crash-debug)
2130 --disable-crash-debug)
2133 --enable-sighandler)
2136 --disable-sighandler)
2140 --enable-sse) _sse
=yes ;;
2141 --disable-sse) _sse
=no
;;
2142 --enable-sse2) _sse2
=yes ;;
2143 --disable-sse2) _sse2
=no
;;
2144 --enable-mmxext) _mmxext
=yes ;;
2145 --disable-mmxext) _mmxext
=no
;;
2146 --enable-3dnow) _3dnow
=yes ;;
2147 --disable-3dnow) _3dnow
=no _3dnowext
=no
;;
2148 --enable-3dnowext) _3dnow
=yes _3dnowext
=yes ;;
2149 --disable-3dnowext) _3dnowext
=no
;;
2150 --enable-altivec) _altivec
=yes ;;
2151 --disable-altivec) _altivec
=no
;;
2152 --enable-armv5te) _armv5te
=yes ;;
2153 --disable-armv5te) _armv5te
=no
;;
2154 --enable-iwmmxt) _iwmmxt
=yes ;;
2155 --disable-iwmmxt) _iwmmxt
=no
;;
2156 --enable-mmx) _mmx
=yes ;;
2157 --disable-mmx) # 3Dnow! and MMX2 require MMX
2158 _3dnow
=no _3dnowext
=no _mmx
=no _mmxext
=no
;;
2160 --enable-win32) _win32
=yes ;;
2161 --disable-win32) _win32
=no
;;
2164 _ld_x11
=-L`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
2167 _xvmclib
=`echo $ac_option | cut -d '=' -f 2`
2169 --with-xvidlibdir=*)
2170 _ld_xvid
=-L`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
2172 --with-libdtslibdir=*)
2173 _ld_libdts
=-L`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
2175 --with-x264libdir=*)
2176 _ld_x264
=-L`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
2178 --with-mliblibdir=*)
2179 _ld_mlib
=-L`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
2181 --with-sdl-config=*)
2182 _sdlconfig
=`echo $ac_option | cut -d '=' -f 2`
2184 --with-freetype-config=*)
2185 _freetypeconfig
=`echo $ac_option | cut -d '=' -f 2`
2187 --with-fribidi-config=*)
2188 _fribidiconfig
=`echo $ac_option | cut -d '=' -f 2`
2190 --with-gtk-config=*)
2191 _gtkconfig
=`echo $ac_option | cut -d '=' -f 2`
2193 --with-glib-config=*)
2194 _glibconfig
=`echo $ac_option | cut -d '=' -f 2`
2196 --with-dvdnav-config=*)
2197 _dvdnavconfig
=`echo $ac_option | cut -d '=' -f 2`
2199 --with-cdparanoialibdir=*)
2200 _ld_cdparanoia
=-L`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
2202 --with-toolamelibdir=*)
2203 _ld_toolame
=-L`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
2206 _prefix
=`echo $ac_option | cut -d '=' -f 2`
2209 _bindir
=`echo $ac_option | cut -d '=' -f 2`
2212 _datadir
=`echo $ac_option | cut -d '=' -f 2`
2215 _mandir
=`echo $ac_option | cut -d '=' -f 2`
2218 _confdir
=`echo $ac_option | cut -d '=' -f 2`
2221 _libdir
=`echo $ac_option | cut -d '=' -f 2`
2225 echo "Unknown parameter: $ac_option"
2232 # Atmos: moved this here, to be correct, if --prefix is specified
2233 test -z "$_bindir" && _bindir
="$_prefix/bin"
2234 test -z "$_datadir" && _datadir
="$_prefix/share/mplayer"
2235 test -z "$_mandir" && _mandir
="$_prefix/man"
2236 test -z "$_confdir" && _confdir
="$_prefix/etc/mplayer"
2237 test -z "$_libdir" && _libdir
="$_prefix/lib"
2240 # Checking assembler (_as) compatibility...
2241 # Added workaround for older as that reads from stdin by default - atmos
2242 as_version
=`echo '' | $_as -version 2>&1 | sed -n 's/^.*assembler \(version \)*\([0-9.]*\).*$/\2/p'`
2243 echocheck
"assembler ($_as $as_version)"
2245 _pref_as_version
='2.9.1'
2247 if test "$_mmx" = yes ; then
2248 echo 'emms' >> $TMPS
2250 if test "$_3dnow" = yes ; then
2251 _pref_as_version
='2.10.1'
2252 echo 'femms' >> $TMPS
2254 if test "$_3dnowext" = yes ; then
2255 _pref_as_version
='2.10.1'
2256 echo 'pswapd %mm0, %mm0' >> $TMPS
2258 if test "$_mmxext" = yes ; then
2259 _pref_as_version
='2.10.1'
2260 echo 'movntq %mm0, (%eax)' >> $TMPS
2262 if test "$_sse" = yes ; then
2263 _pref_as_version
='2.10.1'
2264 echo 'xorps %xmm0, %xmm0' >> $TMPS
2266 #if test "$_sse2" = yes ; then
2267 # _pref_as_version='2.11'
2268 # echo 'xorpd %xmm0, %xmm0' >> $TMPS
2270 $_as $TMPS -o $TMPO > /dev
/null
2>&1 || as_verc_fail
=yes
2272 if test "$as_verc_fail" != yes ; then
2275 _res_comment
="Upgrade binutils to ${_pref_as_version} ..."
2277 die
"obsolete binutils version"
2282 echocheck
".align is a power of two"
2283 if test "$_asmalign_pot" = auto
; then
2286 main() { asm (".align 3"); }
2288 cc_check
&& _asmalign_pot
=yes
2290 if test "$_asmalign_pot" = "yes" ; then
2291 _def_asmalign_pot
='#define ASMALIGN(ZEROBITS) ".align " #ZEROBITS "\n\t"'
2293 _def_asmalign_pot
='#define ASMALIGN(ZEROBITS) ".align 1<<" #ZEROBITS "\n\t"'
2295 echores
$_asmalign_pot
2298 #FIXME: This should happen before the check for CFLAGS..
2301 # check if altivec is supported by the compiler, and how to enable it
2303 _altivec_gcc_flags
=''
2305 if test "$_altivec" = yes -o "$_runtime_cpudetection" = yes ; then
2306 echocheck
"GCC altivec support"
2314 FSF_flags
='-maltivec -mabi=altivec'
2315 Darwin_flags
='-faltivec -D__APPLE_ALTIVEC__'
2317 # check for Darwin-style flags first, since
2318 # gcc-3.3 (August Update from Apple) on MacOS 10.2.8
2319 # accepts but ignores FSF-style flags...
2321 if test -z "$p"; then
2322 cc_check
$Darwin_flags && p
='Darwin'
2324 if test -z "$p"; then
2325 cc_check
$FSF_flags && p
='FSF'
2329 FSF
) _altivec_gcc_flags
="$FSF_flags" _altivec
=yes ;;
2330 Darwin
) _altivec_gcc_flags
="$Darwin_flags" _altivec
=yes ;;
2334 if test -z "$p"; then
2337 p
="$p-style ($_altivec_gcc_flags)"
2343 # check if <altivec.h> should be included
2345 _def_altivec_h
='#undef HAVE_ALTIVEC_H'
2347 if test "$_altivec" = yes ; then
2348 echocheck
"altivec.h"
2350 #include <altivec.h>
2351 int main(void) { return 0; }
2354 cc_check
$_altivec_gcc_flags && _have_altivec_h
=yes
2355 if test "$_have_altivec_h" = yes ; then
2356 _def_altivec_h
='#define HAVE_ALTIVEC_H 1'
2358 echores
"$_have_altivec_h"
2361 # disable runtime cpudetection if
2362 # - we cannot generate altivec code
2363 # - altivec is disabled by the user
2365 if test "$_runtime_cpudetection" = yes -a "$_altivec" = no
; then
2366 _runtime_cpudetection
=no
2369 # show that we are optimizing for altivec (if enabled and supported)
2371 if test "$_runtime_cpudetection" = no
-a "$_altivec" = yes ; then
2372 _optimizing
="$_optimizing altivec"
2375 # if altivec is enabled, make sure the correct flags turn up in CFLAGS
2377 if test "$_altivec" = yes ; then
2378 #FIXME: _mcpu is used for CFLAGS, this needs to be set earlier
2379 #_mcpu="$_mcpu $_altivec_gcc_flags"
2380 CFLAGS
="$CFLAGS $_altivec_gcc_flags"
2383 # setup _def_altivec correctly
2385 if test "$_altivec" = yes ; then
2386 _def_altivec
='#define HAVE_ALTIVEC 1'
2388 _def_altivec
='#undef HAVE_ALTIVEC'
2393 echocheck
"ARMv5TE (Enhanced DSP Extensions)"
2394 if test $_armv5te = "auto" ; then
2397 __asm__ __volatile__ ("qadd r0, r0, r0");
2401 cc_check
&& _armv5te
=yes
2405 echocheck
"iWMMXt (Intel XScale SIMD instructions)"
2406 if test $_iwmmxt = "auto" ; then
2409 __asm__ __volatile__ ("wunpckelub wr6, wr4");
2413 cc_check
&& _iwmmxt
=yes
2418 _def_mmx
='#undef HAVE_MMX'
2419 test "$_mmx" = yes && _def_mmx
='#define HAVE_MMX 1'
2420 _def_mmxext
='#undef HAVE_MMX2'
2421 test "$_mmxext" = yes && _def_mmxext
='#define HAVE_MMX2 1'
2422 _def_3dnow
='#undef HAVE_3DNOW'
2423 test "$_3dnow" = yes && _def_3dnow
='#define HAVE_3DNOW 1'
2424 _def_3dnowext
='#undef HAVE_3DNOWEX'
2425 test "$_3dnowext" = yes && _def_3dnowext
='#define HAVE_3DNOWEX 1'
2426 _def_sse
='#undef HAVE_SSE'
2427 test "$_sse" = yes && _def_sse
='#define HAVE_SSE 1'
2428 _def_sse2
='#undef HAVE_SSE2'
2429 test "$_sse2" = yes && _def_sse2
='#define HAVE_SSE2 1'
2430 _def_armv5te
='#undef HAVE_ARMV5TE'
2431 test "$_armv5te" = yes && _def_armv5te
='#define HAVE_ARMV5TE 1'
2432 _def_iwmmxt
='#undef HAVE_IWMMXT'
2433 test "$_iwmmxt" = yes && _def_iwmmxt
='#define HAVE_IWMMXT 1'
2435 # Checking kernel version...
2436 if x86
&& linux
; then
2438 kernel_version
=`uname -r 2>&1`
2439 echocheck
"$system_name kernel version"
2440 case "$kernel_version" in
2441 '') kernel_version
="?.??"; _k_verc_fail
=yes;;
2442 [0-1].
[0-9].
[0-9]*|
2.
[0-3].
[0-9]*)
2443 _k_verc_problem
=yes;;
2445 if test "$_k_verc_problem" = yes && test "$_sse" = yes ; then
2448 if test "$_k_verc_fail" ; then
2449 echores
"$kernel_version, fail"
2450 echo "WARNING! If you want to run MPlayer on this system, get prepared for problems!"
2451 echo "2.2.x has limited SSE support. Upgrade the kernel or use --disable-sse if you"
2452 echo "experience crashes. MPlayer tries to autodetect if your kernel correctly"
2453 echo "supports SSE, but you have been warned! If you are using a kernel older than"
2454 echo "2.2.x you must upgrade it to get SSE support!"
2455 # die "Your kernel is too old for this CPU." # works fine on some 2.2.x so don't die (later check will test)
2457 echores
"$kernel_version, ok"
2461 if test "$_vidix_internal" = auto
; then
2463 # should check for x86 systems supporting VIDIX (does QNX have VIDIX?)
2464 x86
&& _vidix_internal
=yes
2465 x86_64
&& _vidix_internal
=yes
2466 ppc
&& linux
&& _vidix_internal
=yes
2467 alpha
&& linux
&& _vidix_internal
=yes
2468 qnx
&& _vidix_internal
=no
2469 sunos
&& _vidix_internal
=no
2470 beos
&& _vidix_internal
=no
2471 darwin
&& _vidix_internal
=no
2474 echocheck
"MPlayer binary name"
2477 _prg_mencoder
="mencoder.exe"
2480 _prg_mencoder
="mencoder"
2485 # On QNX we must link to libph - Gabucino
2487 _ld_arch
="$_ld_arch -lph"
2490 # checking for a working awk, I'm using mawk first, because it's fastest - atmos
2492 if test "$_vidix_internal" = yes ; then
2495 for _awk
in mawk gawk nawk
awk; do
2496 if ( $_awk 'BEGIN{testme();}function testme(){print"";}' ) >> "$TMPLOG" 2>&1; then
2501 test "$_awk_verc_fail" = yes && _awk
=no
2503 if test "$_awk_verc_fail" = yes; then
2504 echo "VIDIX needs awk, but no working implementation was found!"
2505 echo "Try the GNU version, which can be downloaded from:"
2506 echo "ftp://ftp.gnu.org/gnu/gawk/"
2507 echo "If you don't need VIDIX, you can use configure --disable-vidix instead."
2512 # If IRIX we must use ar instead of ranlib (not present on IRIX systems)
2519 ######################
2520 # MAIN TESTS GO HERE #
2521 ######################
2524 echocheck
"extra headers"
2525 if test "$_inc_extra" ; then
2526 echores
"$_inc_extra"
2532 echocheck
"extra libs"
2533 if test "$_ld_extra" ; then
2534 echores
"$_ld_extra"
2541 int main(void) { return 0; }
2543 if cc_check
-lposix ; then
2544 _ld_arch
="$_ld_arch -lposix"
2552 int main(void) { return 0; }
2554 if cc_check
-lm ; then
2563 echocheck
"langinfo"
2564 if test "$_langinfo" = auto
; then
2566 #include <langinfo.h>
2567 int main(void) { nl_langinfo(CODESET); return 0; }
2570 cc_check
&& _langinfo
=yes
2572 if test "$_langinfo" = yes ; then
2573 _def_langinfo
='#define USE_LANGINFO 1'
2575 _def_langinfo
='#undef USE_LANGINFO'
2577 echores
"$_langinfo"
2580 echocheck
"language"
2581 test -z "$_language" && _language
=$LINGUAS
2582 _language
=`echo $_language | sed 's/,/ /g'`
2583 echo $_language |
grep all
> /dev
/null || LANGUAGES
="$_language en"
2584 for lang
in $_language ; do
2585 test "$lang" = all
&& lang
=en
2586 if test -f "help/help_mp-${lang}.h" ; then
2590 echo -n "$lang not found, "
2591 _language
=`echo $_language | sed "s/$lang *//"`
2594 test -z "$_language" && _language
=en
2595 _mp_help
="help/help_mp-${_language}.h"
2596 test -f $_mp_help || die
"$_mp_help not found"
2597 for lang
in $LANGUAGES ; do
2598 if test -f "DOCS/man/$lang/mplayer.1" ; then
2599 MAN_LANG
="$MAN_LANG $lang"
2602 _doc_lang
=$_language
2603 test -d DOCS
/xml
/$_doc_lang || _doc_lang
=en
2604 echores
"using $_language (man pages: $MAN_LANG)"
2607 echocheck
"enable sighandler"
2608 if test "$_sighandler" = yes ; then
2609 _def_sighandler
='#define ENABLE_SIGHANDLER 1'
2611 _def_sighandler
='#undef ENABLE_SIGHANDLER'
2613 echores
"$_sighandler"
2615 echocheck
"runtime cpudetection"
2616 if test "$_runtime_cpudetection" = yes ; then
2617 _optimizing
="Runtime CPU-Detection enabled"
2618 _def_runtime_cpudetection
='#define RUNTIME_CPUDETECT 1'
2620 _def_runtime_cpudetection
='#undef RUNTIME_CPUDETECT'
2622 echores
"$_runtime_cpudetection"
2625 echocheck
"restrict keyword"
2626 for restrict_keyword
in restrict __restrict __restrict__
; do
2627 echo "void foo(char * $restrict_keyword p); int main(){}" > $TMPC
2629 _def_restrict_keyword
=$restrict_keyword
2633 if [ -n "$_def_restrict_keyword" ]; then
2634 echores
"$_def_restrict_keyword"
2638 # Avoid infinite recursion loop ("#define restrict restrict")
2639 if [ "$_def_restrict_keyword" != "restrict" ]; then
2640 _def_restrict_keyword
="#define restrict $_def_restrict_keyword"
2642 _def_restrict_keyword
=""
2646 echocheck
"__builtin_expect"
2647 # GCC branch prediction hint
2650 a = __builtin_expect (a, 10);
2651 return a == 10 ? 0 : 1;
2653 int main() { return foo(10) && foo(0); }
2656 cc_check
&& _builtin_expect
=yes
2657 if test "$_builtin_expect" = yes ; then
2658 _def_builtin_expect
='#define HAVE_BUILTIN_EXPECT 1'
2660 _def_builtin_expect
='#undef HAVE_BUILTIN_EXPECT'
2662 echores
"$_builtin_expect"
2668 int main(void) { (void) kstat_open(); (void) kstat_close(0); return 0; }
2671 cc_check
-lkstat && _kstat
=yes
2672 if test "$_kstat" = yes ; then
2673 _def_kstat
="#define HAVE_LIBKSTAT 1"
2674 _ld_arch
="-lkstat $_ld_arch"
2676 _def_kstat
="#undef HAVE_LIBKSTAT"
2682 # required for nanosleep on some systems
2685 int main(void) { (void) nanosleep(0, 0); return 0; }
2688 cc_check
-lposix4 && _posix4
=yes
2689 if test "$_posix4" = yes ; then
2690 _ld_arch
="-lposix4 $_ld_arch"
2697 int main(void) { long (*foo)(float); foo = lrintf; (void)(*foo)(0.0); return 0; }
2700 cc_check
-D_GNU_SOURCE $_ld_lm && _lrintf
=yes
2701 if test "$_lrintf" = yes ; then
2702 _def_lrintf
="#define HAVE_LRINTF 1"
2704 _def_lrintf
="#undef HAVE_LRINTF"
2711 int main(void) { (void) round(0.0); return 0; }
2714 cc_check
$_ld_lm && _round
=yes
2715 if test "$_round" = yes ; then
2716 _def_round
="#define HAVE_ROUND 1"
2718 _def_round
="#undef HAVE_ROUND"
2722 echocheck
"nanosleep"
2723 # also check for nanosleep
2726 int main(void) { (void) nanosleep(0, 0); return 0; }
2729 cc_check
$_ld_arch && _nanosleep
=yes
2730 if test "$_nanosleep" = yes ; then
2731 _def_nanosleep
='#define HAVE_NANOSLEEP 1'
2733 _def_nanosleep
='#undef HAVE_NANOSLEEP'
2735 echores
"$_nanosleep"
2739 # for Solaris (socket stuff is in -lsocket, gethostbyname and friends in -lnsl):
2740 # for BeOS (socket stuff is in -lsocket, gethostbyname and friends in -lbind):
2743 #include <sys/socket.h>
2744 int main(void) { (void) gethostbyname(0); (void) socket(AF_INET, SOCK_STREAM, 0); return 0; }
2746 for _ld_tmp
in "-lsocket -lbind" "-lsocket -ldnet" "-lsocket -lnsl" "-lnsl" "-lsocket" ; do
2747 cc_check
$_ld_tmp && _ld_sock
="$_ld_tmp" && break
2749 if test $_winsock2 = auto
&& not cygwin
; then
2752 #include <winsock2.h>
2753 int main(void) { (void) gethostbyname(0); return 0; }
2755 cc_check
-lws2_32 && _ld_sock
="-lws2_32" && _winsock2
=yes
2757 if test "$_ld_sock" ; then
2758 _res_comment
="using $_ld_sock"
2765 if test $_winsock2 = yes ; then
2767 _def_winsock2
='#define HAVE_WINSOCK2 1'
2769 _def_winsock2
='#undef HAVE_WINSOCK2'
2774 echocheck
"inet_pton()"
2776 #include <sys/types.h>
2777 #include <sys/socket.h>
2778 #include <arpa/inet.h>
2779 int main(void) { (void) inet_pton(0, 0, 0); return 0; }
2781 if test "$_winsock2" = yes ; then
2782 _res_comment
="using winsock2 functions instead"
2784 elif cc_check
$_ld_sock ; then
2785 # NOTE: Linux has libresolv but does not need it
2787 _res_comment
="using $_ld_sock"
2789 elif cc_check
$_ld_sock -lresolv ; then
2790 # NOTE: needed for SunOS at least
2791 _ld_sock
="$_ld_sock -lresolv"
2792 _res_comment
="using $_ld_sock"
2795 _res_comment
="trying inet_aton next"
2798 echocheck
"inet_aton()"
2800 #include <sys/types.h>
2801 #include <sys/socket.h>
2802 #include <arpa/inet.h>
2803 int main(void) { (void) inet_aton(0, 0); return 0; }
2806 if cc_check
$_ld_sock ; then
2807 # NOTE: Linux has libresolv but does not need it
2809 _res_comment
="using $_ld_sock"
2810 elif cc_check
$_ld_sock -lresolv ; then
2811 # NOTE: needed for SunOS at least
2812 _ld_sock
="$_ld_sock -lresolv"
2813 _res_comment
="using $_ld_sock"
2817 _res_comment
="network support disabled"
2819 echores
"$_use_aton"
2822 _def_use_aton
='#undef USE_ATON'
2823 if test "$_use_aton" = yes; then
2824 _def_use_aton
='#define USE_ATON 1'
2828 echocheck
"inttypes.h (required)"
2830 #include <inttypes.h>
2831 int main(void) { return 0; }
2834 cc_check
&& _inttypes
=yes
2835 echores
"$_inttypes"
2837 if test "$_inttypes" = no
; then
2838 echocheck
"bitypes.h (inttypes.h predecessor)"
2840 #include <sys/bitypes.h>
2841 int main(void) { return 0; }
2843 cc_check
&& _inttypes
=yes
2844 if test "$_inttypes" = yes ; then
2845 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."
2847 die
"Cannot find header either inttypes.h or bitypes.h (see DOCS/HTML/$_doc_lang/faq.html)."
2852 echocheck
"int_fastXY_t in inttypes.h"
2854 #include <inttypes.h>
2856 volatile int_fast16_t v= 0;
2860 cc_check
&& _fast_inttypes
=yes
2861 if test "$_fast_inttypes" = yes ; then
2865 _def_fast_inttypes
='
2866 typedef signed char int_fast8_t;
2867 typedef signed int int_fast16_t;
2868 typedef signed int int_fast32_t;
2869 typedef unsigned char uint_fast8_t;
2870 typedef unsigned int uint_fast16_t;
2871 typedef unsigned int uint_fast32_t;
2872 typedef unsigned long long uint_fast64_t;'
2874 echores
"$_fast_inttypes"
2877 echocheck
"word size"
2878 _mp_wordsize
="#undef MP_WORDSIZE"
2881 #include <sys/types.h>
2882 int main(void) { printf("%d\n", sizeof(size_t)*8); return 0; }
2884 cc_check
&& _wordsize
=`$TMPO` && _mp_wordsize
="#define MP_WORDSIZE $_wordsize"
2885 echores
"$_wordsize"
2888 echocheck
"stddef.h"
2891 int main(void) { return 0; }
2894 cc_check
&& _stddef
=yes
2895 if test "$_stddef" = yes ; then
2896 _def_stddef
='#define HAVE_STDDEF_H 1'
2898 _def_stddef
='#undef HAVE_STDDEF_H'
2903 echocheck
"malloc.h"
2906 int main(void) { (void) malloc(0); return 0; }
2909 cc_check
&& _malloc
=yes
2910 if test "$_malloc" = yes ; then
2911 _def_malloc
='#define HAVE_MALLOC_H 1'
2913 _def_malloc
='#undef HAVE_MALLOC_H'
2915 # malloc.h emits a warning in FreeBSD and OpenBSD
2916 freebsd || openbsd
&& _def_malloc
='#undef HAVE_MALLOC_H'
2920 echocheck
"memalign()"
2921 # XXX restrict to x86 ? extend to other CPUs/cacheline sizes ?
2924 int main (void) { (void) memalign(64, sizeof(char)); return 0; }
2927 cc_check
&& _memalign
=yes
2928 if test "$_memalign" = yes ; then
2929 _def_memalign
='#define HAVE_MEMALIGN 1'
2931 _def_memalign
='#undef HAVE_MEMALIGN'
2932 _def_map_memalign
='#define memalign(a,b) malloc(b)'
2933 not darwin
&& _def_memalign_hack
='#define MEMALIGN_HACK 1'
2935 echores
"$_memalign"
2938 echocheck
"alloca.h"
2941 int main(void) { (void) alloca(0); return 0; }
2944 cc_check
&& _alloca
=yes
2946 _def_alloca
='#define HAVE_ALLOCA_H 1'
2948 _def_alloca
='#undef HAVE_ALLOCA_H'
2955 #include <sys/types.h>
2956 #include <sys/mman.h>
2957 int main(void) { (void) mmap(0, 0, 0, 0, 0, 0); return 0; }
2960 cc_check
&& _mman
=yes
2961 if test "$_mman" = yes ; then
2962 _def_mman
='#define HAVE_SYS_MMAN_H 1'
2964 _def_mman
='#undef HAVE_SYS_MMAN_H'
2969 #include <sys/types.h>
2970 #include <sys/mman.h>
2971 int main(void) { void *p = MAP_FAILED; return 0; }
2973 _mman_has_map_failed
=no
2974 cc_check
&& _mman_has_map_failed
=yes
2975 if test "$_mman_has_map_failed" = yes ; then
2976 _def_mman_has_map_failed
=''
2978 _def_mman_has_map_failed
='#define MAP_FAILED ((void *) -1)'
2981 echocheck
"dynamic loader"
2984 int main(void) { dlopen(0, 0); dlclose(0); dlsym(0, 0); return 0; }
2987 for _ld_tmp
in "" "-ldl" ; do
2988 cc_check
$_ld_tmp && _ld_dl
="$_ld_tmp" && _dl
=yes && break
2990 if test "$_dl" = yes ; then
2991 _def_dl
='#define HAVE_LIBDL 1'
2993 _def_dl
='#undef HAVE_LIBDL'
2998 echocheck
"dynamic a/v plugins support"
2999 if test "$_dl" = no
; then
3002 if test "$_dynamic_plugins" = yes ; then
3003 _def_dynamic_plugins
='#define DYNAMIC_PLUGINS 1'
3005 _def_dynamic_plugins
='#undef DYNAMIC_PLUGINS'
3007 echores
"$_dynamic_plugins"
3010 #echocheck "dynamic linking"
3011 # FIXME !! make this dynamic detection work and modify at the end (search _ld_dl_dynamic)
3012 # also gcc flags are different, but ld flags aren't (-Bdynamic/-Bstatic/-Bsymbolic)
3014 #int main(void) { return 0; }
3016 #if cc_check -rdynamic ; then
3017 # _ld_dl_dynamic='-rdynamic'
3018 #elif cc_check -Bdynamic ; then
3019 # _ld_dl_dynamic='-Bdynamic'
3020 #elif cc_check ; then
3023 #echores "using $_ld_dl_dynamic"
3025 _def_threads
='#undef HAVE_THREADS'
3028 if test "$_pthreads" = auto
; then
3030 #include <pthread.h>
3031 void* func(void *arg) { return arg; }
3032 int main(void) { pthread_t tid; return pthread_create (&tid, 0, func, 0) == 0 ? 0 : 1; }
3036 for _ld_tmp
in "-lpthreadGC2" "" "-lpthread" "-pthread" ; do
3037 # for crosscompilation, we cannot execute the program, be happy if we can link statically
3038 cc_check
$_ld_tmp && (tmp_run ||
test "$_ld_static") && _ld_pthread
="$_ld_tmp" && _pthreads
=yes && break
3042 if test "$_pthreads" = yes ; then
3043 _res_comment
="using $_ld_pthread"
3044 _def_pthreads
='#define HAVE_PTHREADS 1'
3045 _def_threads
='#define HAVE_THREADS 1'
3047 _res_comment
="v4l, vo_gl, ao_alsa, ao_nas, ao_macosx, win32 loader disabled"
3048 _def_pthreads
='#undef HAVE_PTHREADS'
3049 _nas
=no
; _tv_v4l1
=no
; _macosx
=no
3050 if not mingw32
; then
3054 echores
"$_pthreads"
3058 if test "$_rpath" = yes ; then
3059 for I
in `echo $_ld_extra | sed 's/-L//g'` ; do
3060 tmp
="$tmp ` echo $I | sed 's/.*/ -L& -Wl,-R&/'`"
3067 if test "$_iconv" = auto
; then
3068 _iconv_tmp
='#include <iconv.h>'
3074 #define INBUFSIZE 1024
3075 #define OUTBUFSIZE 4096
3077 char inbuffer[INBUFSIZE];
3078 char outbuffer[OUTBUFSIZE];
3083 char *tocode="UTF-8";
3084 char *fromcode="cp1250";
3085 if ((icdsc = iconv_open (tocode, fromcode)) != (iconv_t)(-1)) {
3086 while ((numread = read (0, inbuffer, INBUFSIZE))) {
3087 char *iptr=inbuffer;
3088 char *optr=outbuffer;
3089 size_t inleft=numread;
3090 size_t outleft=OUTBUFSIZE;
3091 if (iconv(icdsc, (const char **)&iptr, &inleft, &optr, &outleft)
3093 write (1, outbuffer, OUTBUFSIZE - outleft);
3096 if (iconv_close(icdsc) == -1)
3102 for _ld_tmp
in "" "-liconv" "-liconv $_ld_dl" ; do
3103 cc_check
$_ld_lm $_ld_tmp && _ld_iconv
="$_ld_tmp" && _iconv
=yes && break
3106 if test "$_iconv" = yes ; then
3107 _def_iconv
='#define USE_ICONV 1'
3109 _def_iconv
='#undef USE_ICONV'
3114 echocheck
"sys/soundcard.h"
3116 #include <sys/soundcard.h>
3117 int main(void) { return 0; }
3120 cc_check
&& _sys_soundcard
=yes
3121 if test "$_sys_soundcard" = yes ; then
3122 _def_sys_soundcard
='#define HAVE_SYS_SOUNDCARD_H 1'
3123 _include_soundcard
='#include <sys/soundcard.h>'
3125 _def_sys_soundcard
='#undef HAVE_SYS_SOUNDCARD_H'
3127 echores
"$_sys_soundcard"
3129 if test "$_sys_soundcard" != yes ; then
3130 echocheck
"soundcard.h"
3132 #include <soundcard.h>
3133 int main(void) { return 0; }
3136 cc_check
&& _soundcard
=yes
3137 if linux ||
test "$_ossaudio" != no
; then
3138 # use soundcard.h on Linux, or when OSS support is enabled
3139 echores
"$_soundcard"
3141 # we don't want to use soundcard.h on non-Linux if OSS support not enabled!
3142 _res_comment
= "but ignored!"
3143 echores
"$_soundcard"
3146 if test "$_soundcard" = yes ; then
3147 _def_soundcard
='#define HAVE_SOUNDCARD_H 1'
3148 _include_soundcard
='#include <soundcard.h>'
3150 _def_soundcard
='#undef HAVE_SOUNDCARD_H'
3153 _def_soundcard
='#undef HAVE_SOUNDCARD_H'
3157 echocheck
"sys/dvdio.h"
3160 #include <sys/dvdio.h>
3161 int main(void) { return 0; }
3164 cc_check
&& _dvdio
=yes
3165 if test "$_dvdio" = yes ; then
3166 _def_dvdio
='#define DVD_STRUCT_IN_SYS_DVDIO_H 1'
3168 _def_dvdio
='#undef DVD_STRUCT_IN_SYS_DVDIO_H'
3173 echocheck
"sys/cdio.h"
3176 #include <sys/cdio.h>
3177 int main(void) { return 0; }
3180 cc_check
&& _cdio
=yes
3181 if test "$_cdio" = yes ; then
3182 _def_cdio
='#define DVD_STRUCT_IN_SYS_CDIO_H 1'
3184 _def_cdio
='#undef DVD_STRUCT_IN_SYS_CDIO_H'
3189 echocheck
"linux/cdrom.h"
3191 #include <sys/types.h>
3192 #include <linux/cdrom.h>
3193 int main(void) { return 0; }
3196 cc_check
&& _cdrom
=yes
3197 if test "$_cdrom" = yes ; then
3198 _def_cdrom
='#define DVD_STRUCT_IN_LINUX_CDROM_H 1'
3200 _def_cdrom
='#undef DVD_STRUCT_IN_LINUX_CDROM_H'
3208 int main(void) { return 0; }
3211 cc_check
&& _dvd
=yes
3212 if test "$_dvd" = yes ; then
3213 _def_dvd
='#define DVD_STRUCT_IN_DVD_H 1'
3215 _def_dvd
='#undef DVD_STRUCT_IN_DVD_H'
3221 echocheck
"BSDI dvd.h"
3224 int main(void) { return 0; }
3227 cc_check
&& _bsdi_dvd
=yes
3228 if test "$_bsdi_dvd" = yes ; then
3229 _def_bsdi_dvd
='#define DVD_STRUCT_IN_BSDI_DVDIOCTL_DVD_H 1'
3231 _def_bsdi_dvd
='#undef DVD_STRUCT_IN_BSDI_DVDIOCTL_DVD_H'
3233 echores
"$_bsdi_dvd"
3238 # also used by AIX, but AIX does not support VCD and/or libdvdread
3239 echocheck
"HP-UX SCSI header"
3241 #include <sys/scsi.h>
3242 int main(void) { return 0; }
3245 cc_check
&& _hpux_scsi_h
=yes
3246 if test "$_hpux_scsi_h" = yes ; then
3247 _def_hpux_scsi_h
='#define HPUX_SCTL_IO 1'
3249 _def_hpux_scsi_h
='#undef HPUX_SCTL_IO'
3251 echores
"$_hpux_scsi_h"
3256 echocheck
"userspace SCSI headers (Solaris)"
3258 # include <unistd.h>
3259 # include <stropts.h>
3260 # include <sys/scsi/scsi_types.h>
3261 # include <sys/scsi/impl/uscsi.h>
3262 int main(void) { return 0; }
3265 cc_check
&& _sol_scsi_h
=yes
3266 if test "$_sol_scsi_h" = yes ; then
3267 _def_sol_scsi_h
='#define SOLARIS_USCSI 1'
3269 _def_sol_scsi_h
='#undef SOLARIS_USCSI'
3271 echores
"$_sol_scsi_h"
3276 if test "$_termcap" = auto
; then
3278 int main(void) { tgetent(); return 0; }
3281 for _ld_tmp
in "-lncurses" "-ltinfo" "-ltermcap"; do
3282 cc_check
$_ld_tmp && _ld_termcap
="$_ld_tmp" && _termcap
=yes && break
3285 if test "$_termcap" = yes ; then
3286 _def_termcap
='#define USE_TERMCAP 1'
3287 _res_comment
="using $_ld_termcap"
3289 _def_termcap
='#undef USE_TERMCAP'
3295 if test "$_termios" = auto
; then
3297 #include <sys/termios.h>
3298 int main(void) { return 0; }
3301 cc_check
&& _termios
=yes
3302 _def_termios_h_name
='sys/termios.h'
3305 if test "$_termios" = auto
; then
3307 #include <termios.h>
3308 int main(void) { return 0; }
3311 cc_check
&& _termios
=yes
3312 _def_termios_h_name
='termios.h'
3315 if test "$_termios" = yes ; then
3316 _def_termios
='#define HAVE_TERMIOS 1'
3317 _def_termios_h
='#undef HAVE_TERMIOS_H'
3318 _def_termios_sys_h
='#undef HAVE_SYS_TERMIOS_H'
3320 if test "$_def_termios_h_name" = 'sys/termios.h' ; then
3321 _def_termios_sys_h
='#define HAVE_SYS_TERMIOS_H 1'
3322 elif test "$_def_termios_h_name" = 'termios.h' ; then
3323 _def_termios_h
='#define HAVE_TERMIOS_H 1'
3325 _res_comment
="using $_def_termios_h_name"
3327 _def_termios
='#undef HAVE_TERMIOS'
3328 _def_termios_h_name
=''
3335 if test "$_shm" = auto
; then
3337 #include <sys/types.h>
3338 #include <sys/shm.h>
3339 int main(void) { shmget(0, 0, 0); shmat(0, 0, 0); shmctl(0, 0, 0); return 0; }
3342 cc_check
&& _shm
=yes
3344 if test "$_shm" = yes ; then
3345 _def_shm
='#define HAVE_SHM 1'
3347 _def_shm
='#undef HAVE_SHM'
3352 # XXX: FIXME, add runtime checking
3353 echocheck
"linux devfs"
3354 echores
"$_linux_devfs"
3357 echocheck
"scandir()"
3359 int main (void) { scandir("", 0, 0, 0); alphasort(0, 0); return 0; }
3362 cc_check
&& _scandir
=yes
3363 if test "$_scandir" = yes ; then
3364 _def_scandir
='#define HAVE_SCANDIR 1'
3366 _def_scandir
='#undef HAVE_SCANDIR'
3371 echocheck
"strsep()"
3374 int main (void) { char *s = "Hello, world!"; (void) strsep(&s, ","); return 0; }
3377 cc_check
&& _strsep
=yes
3378 if test "$_strsep" = yes ; then
3379 _def_strsep
='#define HAVE_STRSEP 1'
3381 _def_strsep
='#undef HAVE_STRSEP'
3385 echocheck
"strlcpy()"
3388 int main (void) { char *s = "Hello, world!", t[20]; (void) strlcpy(t, s, sizeof( t )); return 0; }
3391 cc_check
&& _strlcpy
=yes
3392 if test "$_strlcpy" = yes ; then
3393 _def_strlcpy
='#define HAVE_STRLCPY 1'
3395 _def_strlcpy
='#undef HAVE_STRLCPY'
3399 echocheck
"strlcat()"
3402 int main (void) { char *s = "Hello, world!", t[20]; (void) strlcat(t, s, sizeof( t )); return 0; }
3405 cc_check
&& _strlcat
=yes
3406 if test "$_strlcat" = yes ; then
3407 _def_strlcat
='#define HAVE_STRLCAT 1'
3409 _def_strlcat
='#undef HAVE_STRLCAT'
3413 echocheck
"fseeko()"
3416 int main (void) { int i; i = fseeko(stdin, 0, 0); return 0; }
3419 cc_check
&& _fseeko
=yes
3420 if test "$_fseeko" = yes ; then
3421 _def_fseeko
='#define HAVE_FSEEKO 1'
3423 _def_fseeko
='#undef HAVE_FSEEKO'
3427 echocheck
"localtime_r()"
3430 int main( void ) { localtime_r(NULL, NULL); }
3433 cc_check
&& _localtime_r
=yes
3434 if test "$_localtime_r" = yes ; then
3435 _def_localtime_r
='#define HAVE_LOCALTIME_R 1'
3437 _def_localtime_r
='#undef HAVE_LOCALTIME_R'
3439 echores
"$_localtime_r"
3441 echocheck
"vsscanf()"
3444 int main(void) { vsscanf(0, 0, 0); return 0; }
3447 cc_check
&& _vsscanf
=yes
3448 if test "$_vsscanf" = yes ; then
3449 _def_vsscanf
='#define HAVE_VSSCANF 1'
3451 _def_vsscanf
='#undef HAVE_VSSCANF'
3459 int main(void) { swab(0, 0, 0); return 0; }
3462 cc_check
&& _swab
=yes
3463 if test "$_swab" = yes ; then
3464 _def_swab
='#define HAVE_SWAB 1'
3466 _def_swab
='#undef HAVE_SWAB'
3470 echocheck
"POSIX select()"
3474 #include <sys/types.h>
3476 #include <sys/time.h>
3478 int main(void) {int nfds = 1; fd_set readfds; struct timeval timeout; select(nfds,&readfds,NULL,NULL,&timeout); return 0; }
3481 cc_check
&& _posix_select
=yes
3482 if test "$_posix_select" = no
; then
3483 _def_no_posix_select
='#define HAVE_NO_POSIX_SELECT 1'
3485 _def_no_posix_select
='#undef HAVE_NO_POSIX_SELECT'
3487 echores
"$_posix_select"
3490 echocheck
"gettimeofday()"
3493 #include <sys/time.h>
3494 int main(void) {struct timeval tv_start; gettimeofday(&tv_start, NULL); return 0; }
3497 cc_check
&& _gettimeofday
=yes
3498 if test "$_gettimeofday" = yes ; then
3499 _def_gettimeofday
='#define HAVE_GETTIMEOFDAY 1'
3501 _def_gettimeofday
='#undef HAVE_GETTIMEOFDAY'
3503 echores
"$_gettimeofday"
3510 int main(void) { glob_t gg; glob("filename",0,NULL,&gg); return 0; }
3513 cc_check
&& _glob
=yes
3514 if test "$_glob" = yes ; then
3515 _def_glob
='#define HAVE_GLOB 1'
3517 _def_glob
='#undef HAVE_GLOB'
3522 echocheck
"setenv()"
3525 int main (void){ setenv("","",0); return 0; }
3528 cc_check
&& _setenv
=yes
3529 if test "$_setenv" = yes ; then
3530 _def_setenv
='#define HAVE_SETENV 1'
3532 _def_setenv
='#undef HAVE_SETENV'
3538 echocheck
"sysi86()"
3540 #include <sys/sysi86.h>
3541 int main (void) { sysi86(0); return 0; }
3544 cc_check
&& _sysi86
=yes
3545 if test "$_sysi86" = yes ; then
3546 _def_sysi86
='#define HAVE_SYSI86 1'
3548 _def_sysi86
='#undef HAVE_SYSI86'
3554 echocheck
"sys/sysinfo.h"
3556 #include <sys/sysinfo.h>
3558 struct sysinfo s_info;
3564 cc_check
&& _sys_sysinfo
=yes
3565 if test "$_sys_sysinfo" = yes ; then
3566 _def_sys_sysinfo
='#define HAVE_SYS_SYSINFO_H 1'
3568 _def_sys_sysinfo
='#undef HAVE_SYS_SYSINFO_H'
3570 echores
"$_sys_sysinfo"
3575 echocheck
"Mac OS X APIs"
3576 if test "$_macosx" = auto
; then
3577 productName
=`/usr/bin/sw_vers -productName`
3578 if test "$productName" = "Mac OS X" ; then
3582 _def_macosx
='#undef MACOSX'
3583 _noaomodules
="macosx $_noaomodules"
3584 _novomodules
="quartz $_novomodules"
3587 if test "$_macosx" = yes ; then
3589 #include <Carbon/Carbon.h>
3590 #include <QuickTime/QuickTime.h>
3591 #include <CoreAudio/CoreAudio.h>
3595 CFRunLoopRunInMode(kCFRunLoopDefaultMode, 0, false);
3598 if cc_check
-framework Carbon
-framework QuickTime
-framework CoreAudio
; then
3600 _macosx_frameworks
="-framework Carbon -framework QuickTime -framework CoreAudio -framework AudioUnit -framework AudioToolbox"
3601 _def_macosx
='#define MACOSX 1'
3602 _aosrc
="$_aosrc ao_macosx.c"
3603 _aomodules
="macosx $_aomodules"
3604 _vosrc
="$_vosrc vo_quartz.c"
3605 _vomodules
="quartz $_vomodules"
3608 _def_macosx
='#undef MACOSX'
3609 _noaomodules
="macosx $_noaomodules"
3610 _novomodules
="quartz $_novomodules"
3613 #include <Carbon/Carbon.h>
3614 #include <QuartzCore/CoreVideo.h>
3617 if cc_check
-framework Carbon
-framework QuartzCore
-framework OpenGL
; then
3618 _vosrc
="$_vosrc vo_macosx.m"
3619 _vomodules
="macosx $_vomodules"
3620 _macosx_frameworks
="$_macosx_frameworks -framework Cocoa -framework QuartzCore -framework OpenGL"
3621 _def_macosx_corevideo
='#define MACOSX_COREVIDEO 1'
3622 _macosx_corevideo
=yes
3624 _novomodules
="macosx $_novomodules"
3625 _def_macosx_corevideo
='#undef MACOSX_COREVIDEO'
3626 _macosx_corevideo
=no
3631 echocheck
"Mac OS X Finder Support"
3632 if test "$_macosx_finder_support" = auto
; then
3633 _macosx_finder_support
=$_macosx
3635 if test "$_macosx_finder_support" = yes; then
3636 _def_macosx_finder_support
='#define MACOSX_FINDER_SUPPORT 1'
3637 _macosx_finder_support
=yes
3639 _def_macosx_finder_support
='#undef MACOSX_FINDER_SUPPORT'
3640 _macosx_finder_support
=no
3642 echores
"$_macosx_finder_support"
3644 echocheck
"Mac OS X Bundle file locations"
3645 if test "$_macosx_bundle" = auto
; then
3646 _macosx_bundle
=$_macosx_finder_support
3648 if test "$_macosx_bundle" = yes; then
3649 _def_macosx_bundle
='#define MACOSX_BUNDLE 1'
3651 _def_macosx_bundle
='#undef MACOSX_BUNDLE'
3654 echores
"$_macosx_bundle"
3659 echocheck
"Samba support (libsmbclient)"
3660 if test "$_smbsupport" = yes; then
3661 _ld_smb
="-lsmbclient"
3663 if test "$_smbsupport" = auto
; then
3666 #include <libsmbclient.h>
3667 int main(void) { smbc_opendir("smb://"); return 0; }
3669 for _ld_tmp
in "-lsmbclient" "-lsmbclient $_ld_dl" "-lsmbclient $_ld_dl -lnsl" "-lsmbclient $_ld_dl -lssl -lnsl" ; do
3670 cc_check
$_ld_tmp && _ld_smb
="$_ld_tmp" && _smbsupport
=yes && break
3674 if test "$_smbsupport" = yes; then
3675 _def_smbsupport
="#define LIBSMBCLIENT"
3676 _inputmodules
="smb $_inputmodules"
3678 _def_smbsupport
="#undef LIBSMBCLIENT"
3679 _noinputmodules
="smb $_noinputmodules"
3681 echores
"$_smbsupport"
3690 if test "$_3dfx" = yes ; then
3691 _def_3dfx
='#define HAVE_3DFX 1'
3692 _vosrc
="$_vosrc vo_3dfx.c"
3693 _vomodules
="3dfx $_vomodules"
3695 _def_3dfx
='#undef HAVE_3DFX'
3696 _novomodules
="3dfx $_novomodules"
3702 if test "$_tdfxfb" = yes ; then
3703 _def_tdfxfb
='#define HAVE_TDFXFB 1'
3704 _vosrc
="$_vosrc vo_tdfxfb.c"
3705 _vomodules
="tdfxfb $_vomodules"
3707 _def_tdfxfb
='#undef HAVE_TDFXFB'
3708 _novomodules
="tdfxfb $_novomodules"
3713 if test "$_s3fb" = yes ; then
3714 _def_s3fb
='#define HAVE_S3FB 1'
3715 _vosrc
="$_vosrc vo_s3fb.c"
3716 _vomodules
="s3fb $_vomodules"
3718 _def_s3fb
='#undef HAVE_S3FB'
3719 _novomodules
="s3fb $_novomodules"
3724 if test "$_tdfxvid" = yes ; then
3725 _def_tdfxvid
='#define HAVE_TDFX_VID 1'
3726 _vosrc
="$_vosrc vo_tdfx_vid.c"
3727 _vomodules
="tdfx_vid $_vomodules"
3729 _def_tdfxvid
='#undef HAVE_TDFX_VID'
3730 _novomodules
="tdfx_vid $_novomodules"
3735 if test "$_tga" = yes ; then
3736 _def_tga
='#define HAVE_TGA 1'
3737 _vosrc
="$_vosrc vo_tga.c"
3738 _vomodules
="tga $_vomodules"
3740 _def_tga
='#undef HAVE_TGA'
3741 _novomodules
="tga $_novomodules"
3746 echocheck
"DirectFB"
3747 if test "$_directfb" = auto
; then
3749 if linux
&& test -c /dev
/fb0
; then
3751 #include <directfb.h>
3752 int main(void) { IDirectFB *foo; DirectFBInit(0,0); return 0; }
3754 for _inc_tmp
in "" -I/usr
/local
/include
/directfb \
3755 -I/usr
/include
/directfb
-I/usr
/local
/include
-I/usr
/include
; do
3756 cc_check
$_inc_tmp -ldirectfb && _directfb
=yes && \
3757 _inc_extra
="$_inc_extra $_inc_tmp" && break
3763 expr $1 \
* 65536 + $2 \
* 256 + $3
3766 if test "$_directfb" = yes; then
3768 #include <directfb_version.h>
3770 dfb_ver = DIRECTFB_MAJOR_VERSION.DIRECTFB_MINOR_VERSION.DIRECTFB_MICRO_VERSION
3773 if $_cc -E $TMPC $_inc_extra > "$TMPO"; then
3774 _directfb_version
=`sed -n 's/^dfb_ver[^0-9]*\(.*\)/\1/p' "$TMPO" | tr -d '()'`
3775 _dfb_major
=`echo $_directfb_version | cut -d . -f 1`
3776 _dfb_minor
=`echo $_directfb_version | cut -d . -f 2`
3777 _dfb_micro
=`echo $_directfb_version | cut -d . -f 3`
3778 _dfb_version
=$
(dfb_version
$_dfb_major $_dfb_minor $_dfb_micro)
3779 if test "$_dfb_version" -ge $
(dfb_version
0 9 13); then
3780 _def_directfb_version
="#define DIRECTFBVERSION $_dfb_version"
3781 _res_comment
="$_directfb_version"
3783 _def_directfb_version
='#undef DIRECTFBVERSION'
3785 _res_comment
="version >=0.9.13 required"
3789 _res_comment
="failed to get version"
3792 echores
"$_directfb"
3794 if test "$_directfb" = yes ; then
3795 _def_directfb
='#define HAVE_DIRECTFB 1'
3796 if test "$_dfb_version" -ge $
(dfb_version
0 9 13); then
3797 _vosrc
="$_vosrc vo_directfb2.c"
3798 _vomodules
="directfb $_vomodules"
3799 _ld_directfb
='-ldirectfb'
3801 _novomodules
="directfb $_novomodules"
3804 if test "$_dfb_version" -ge $
(dfb_version
0 9 15); then
3805 _vosrc
="$_vosrc vo_dfbmga.c"
3806 _vomodules
="dfbmga $_vomodules"
3808 _novomodules
="dfbmga $_novomodules"
3811 _def_directfb
='#undef HAVE_DIRECTFB'
3812 _novomodules
="dfbmga directfb $_novomodules"
3816 echocheck
"X11 headers presence"
3817 for I
in `echo $_inc_extra | sed s/-I//g` /usr
/X11
/include
/usr
/X11R
6/include
/usr
/include
/X11R6
/usr
/include
/usr
/openwin
/include
; do
3818 if test -f "$I/X11/Xlib.h" ; then
3821 _res_comment
="using $I"
3825 #FIXME: This is ugly as it can duplicate a -I parameter..
3826 _inc_extra
="$_inc_extra $_inc_x11"
3827 if test -z "$_inc_x11" ; then
3830 _res_comment
="check if the dev(el) packages are installed"
3832 echores
"$_x11_headers"
3836 if test "$_x11" != no
; then
3838 #include <X11/Xlib.h>
3839 #include <X11/Xutil.h>
3840 int main(void) { (void) XCreateWindow(0,0,0,0,0,0,0,0,0,0,0,0); return 0; }
3842 for I
in $_ld_x11 "" -L/usr
/X11R
6/lib
-L/usr
/lib
/X11R6
-L/usr
/X11
/lib \
3843 -L/usr
/lib32
-L/usr
/openwin
/lib
-L/usr
/X11R
6/lib64
-L/usr
/lib
; do
3844 _ld_x11
="$I -lXext -lX11 $_ld_sock $_ld_pthread"
3846 _ld_x11
="$_ld_x11 -Wl,-R`echo $I | sed s/^-L//`"
3848 cc_check
$_ld_x11 && _x11
=yes && break
3851 if test "$_x11" = yes ; then
3852 _def_x11
='#define HAVE_X11 1'
3853 _vosrc
="$_vosrc x11_common.c vo_x11.c vo_xover.c"
3854 _vomodules
="x11 xover $_vomodules"
3857 _def_x11
='#undef HAVE_X11'
3859 _novomodules
="x11 $_novomodules"
3860 _res_comment
="check if the dev(el) packages are installed"
3861 # disable stuff that depends on X
3862 _xv
=no
; _xvmc
=no
; _xinerama
=no
; _vm
=no
; _xf86keysym
=no
; _dga
=no
3870 if test "$_x11" = yes ; then
3872 #include <X11/Xmd.h>
3873 #include <X11/Xlib.h>
3874 #include <X11/Xutil.h>
3875 #include <X11/Xatom.h>
3876 #include <X11/extensions/dpms.h>
3878 (void) DPMSQueryExtension(0, 0, 0);
3881 cc_check
-lXdpms $_ld_x11 && _xdpms3
=yes
3883 #include <X11/Xlib.h>
3884 #include <X11/extensions/dpms.h>
3886 (void) DPMSQueryExtension(0, 0, 0);
3889 cc_check
$_ld_x11 && _xdpms4
=yes
3891 if test "$_xdpms4" = yes ; then
3892 _def_xdpms
='#define HAVE_XDPMS 1'
3893 _res_comment
="using Xdpms 4"
3895 elif test "$_xdpms3" = yes ; then
3896 _def_xdpms
='#define HAVE_XDPMS 1'
3897 _ld_x11
="-lXdpms $_ld_x11"
3898 _res_comment
="using Xdpms 3"
3901 _def_xdpms
='#undef HAVE_XDPMS'
3907 if test "$_xv" = auto
; then
3909 #include <X11/Xlib.h>
3910 #include <X11/extensions/Xvlib.h>
3912 (void) XvGetPortAttribute(0, 0, 0, 0);
3913 (void) XvQueryPortAttributes(0, 0, 0);
3917 cc_check
-lXv $_ld_x11 && _xv
=yes
3920 if test "$_xv" = yes ; then
3921 _def_xv
='#define HAVE_XV 1'
3923 _vosrc
="$_vosrc vo_xv.c"
3924 _vomodules
="xv $_vomodules"
3926 _def_xv
='#undef HAVE_XV'
3927 _novomodules
="xv $_novomodules"
3933 if test "$_xv" = yes && test "$_xvmc" != no
; then
3936 #include <X11/Xlib.h>
3937 #include <X11/extensions/Xvlib.h>
3938 #include <X11/extensions/XvMClib.h>
3940 (void) XvMCQueryExtension(0,0,0);
3941 (void) XvMCCreateContext(0,0,0,0,0,0,0);
3944 for _ld_tmp
in $_xvmclib XvMCNVIDIA XvMCW I810XvMC
; do
3945 cc_check
-lXvMC -l$_ld_tmp $_ld_xv $_ld_x11 && _xvmc
=yes && _xvmclib
="$_ld_tmp" && break
3948 if test "$_xvmc" = yes ; then
3949 _def_xvmc
='#define HAVE_XVMC 1'
3950 _ld_xvmc
="-lXvMC -l$_xvmclib"
3951 _vosrc
="$_vosrc vo_xvmc.c"
3952 _vomodules
="xvmc $_vomodules"
3953 _res_comment
="using $_xvmclib"
3955 _def_xvmc
='#undef HAVE_XVMC'
3956 _novomodules
="xvmc $_novomodules"
3961 echocheck
"Xinerama"
3962 if test "$_xinerama" = auto
; then
3964 #include <X11/Xlib.h>
3965 #include <X11/extensions/Xinerama.h>
3966 int main(void) { (void) XineramaIsActive(0); return 0; }
3969 cc_check
-lXinerama $_ld_x11 && _xinerama
=yes
3972 if test "$_xinerama" = yes ; then
3973 _def_xinerama
='#define HAVE_XINERAMA 1'
3974 _ld_xinerama
='-lXinerama'
3976 _def_xinerama
='#undef HAVE_XINERAMA'
3978 echores
"$_xinerama"
3981 # Note: the -lXxf86vm library is the VideoMode extension and though it's not
3982 # needed for DGA, AFAIK every distribution packages together with DGA stuffs
3983 # named 'X extensions' or something similar.
3984 # This check may be useful for future mplayer versions (to change resolution)
3985 # If you run into problems, remove '-lXxf86vm'.
3987 if test "$_vm" = auto
; then
3989 #include <X11/Xlib.h>
3990 #include <X11/extensions/xf86vmode.h>
3991 int main(void) { (void) XF86VidModeQueryExtension(0, 0, 0); return 0; }
3994 cc_check
-lXxf86vm $_ld_x11 && _vm
=yes
3996 if test "$_vm" = yes ; then
3997 _def_vm
='#define HAVE_XF86VM 1'
4000 _def_vm
='#undef HAVE_XF86VM'
4004 # Check for the presence of special keycodes, like audio control buttons
4005 # that XFree86 might have. Used to be bundled with the xf86vm check, but
4006 # has nothing to do with xf86vm and XFree 3.x has xf86vm but does NOT
4007 # have these new keycodes.
4008 echocheck
"XF86keysym"
4009 if test "$_xf86keysym" = auto
; then
4012 #include <X11/Xlib.h>
4013 #include <X11/XF86keysym.h>
4014 int main(void) { return XF86XK_AudioPause; }
4016 cc_check
$_ld_x11 && _xf86keysym
=yes
4018 if test "$_xf86keysym" = yes ; then
4019 _def_xf86keysym
='#define HAVE_XF86XK 1'
4021 _def_xf86keysym
='#undef HAVE_XF86XK'
4023 echores
"$_xf86keysym"
4026 # Version 2 is preferred to version 1 if available
4027 if test "$_dga" = auto
; then
4029 #include <X11/Xlib.h>
4030 #include <X11/extensions/xf86dga.h>
4031 int main (void) { (void) XF86DGASetViewPort(0, 0, 0, 0); return 0; }
4034 cc_check
-lXxf86dga -lXxf86vm $_ld_x11 && _dga
=1
4037 #include <X11/Xlib.h>
4038 #include <X11/extensions/xf86dga.h>
4039 int main (void) { (void) XDGASetViewport(0, 0, 0, 0, 0); return 0; }
4041 cc_check
-lXxf86dga $_ld_x11 && _dga
=2
4044 _def_dga
='#undef HAVE_DGA'
4045 _def_dga2
='#undef HAVE_DGA2'
4046 if test "$_dga" = 1 ; then
4047 _def_dga
='#define HAVE_DGA 1'
4048 _ld_dga
='-lXxf86dga'
4049 _vosrc
="$_vosrc vo_dga.c"
4050 _vomodules
="dga $_vomodules"
4051 _res_comment
="using DGA 1.0"
4052 elif test "$_dga" = 2 ; then
4053 _def_dga
='#define HAVE_DGA 1'
4054 _def_dga2
='#define HAVE_DGA2 1'
4055 _ld_dga
='-lXxf86dga'
4056 _vosrc
="$_vosrc vo_dga.c"
4057 _vomodules
="dga $_vomodules"
4058 _res_comment
="using DGA 2.0"
4059 elif test "$_dga" = no
; then
4060 _novomodules
="dga $_novomodules"
4062 die
"DGA version must be 1 or 2"
4068 #Note: this test is run even with --enable-gl since we autodetect $_ld_gl
4069 if (test "$_x11" = yes || win32
) && test "$_gl" != no
; then
4072 int main(void) { return 0; }
4075 if cc_check
$_ld_x11 -lGL $_ld_lm ; then
4077 _ld_gl
="-lGL $_ld_dl"
4078 elif cc_check
$_ld_x11 -lGL $_ld_lm $_ld_pthread ; then
4080 _ld_gl
="-lGL $_ld_pthread $_ld_dl"
4081 elif cc_check
-lopengl32 ; then
4084 _ld_gl
="-lopengl32 -lgdi32"
4089 if test "$_gl" = yes ; then
4090 _def_gl
='#define HAVE_GL 1'
4091 _vosrc
="$_vosrc vo_gl.c vo_gl2.c gl_common.c"
4092 if test "$_gl_win32" = yes ; then
4093 _def_gl_win32
='#define GL_WIN32 1'
4094 _vosrc
="$_vosrc w32_common.c"
4095 _res_comment
="win32 version"
4097 _vomodules
="opengl $_vomodules"
4099 _def_gl
='#undef HAVE_GL'
4100 _def_gl_win32
='#undef GL_WIN32'
4101 _novomodules
="opengl $_novomodules"
4106 echocheck
"/dev/mga_vid"
4107 if test "$_mga" = auto
; then
4109 test -c /dev
/mga_vid
&& _mga
=yes
4111 if test "$_mga" = yes ; then
4112 _def_mga
='#define HAVE_MGA 1'
4113 _vosrc
="$_vosrc vo_mga.c"
4114 _vomodules
="mga $_vomodules"
4116 _def_mga
='#undef HAVE_MGA'
4117 _novomodules
="mga $_novomodules"
4122 # echocheck "syncfb"
4124 # test "$_mga" = yes && _syncfb=yes
4125 # if test "$_syncfb" = yes ; then
4126 # _def_syncfb='#define HAVE_SYNCFB 1'
4127 # _vosrc="$_vosrc vo_syncfb.c"
4129 # _def_syncfb='#undef HAVE_SYNCFB'
4131 # echores "$_syncfb"
4135 if test "$_xmga" = auto
; then
4137 test "$_x11" = yes && test "$_mga" = yes && _xmga
=yes
4139 if test "$_xmga" = yes ; then
4140 _def_xmga
='#define HAVE_XMGA 1'
4141 _vosrc
="$_vosrc vo_xmga.c"
4142 _vomodules
="xmga $_vomodules"
4144 _def_xmga
='#undef HAVE_XMGA'
4145 _novomodules
="xmga $_novomodules"
4151 if test "$_ggi" = auto
; then
4153 #include <ggi/ggi.h>
4154 int main(void) { return 0; }
4157 cc_check
-lggi && _ggi
=yes
4159 if test "$_ggi" = yes ; then
4160 _def_ggi
='#define HAVE_GGI 1'
4162 _vosrc
="$_vosrc vo_ggi.c"
4163 _vomodules
="ggi $_vomodules"
4165 _def_ggi
='#undef HAVE_GGI'
4166 _novomodules
="ggi $_novomodules"
4170 echocheck
"GGI extension: libggiwmh"
4171 if test "$_ggiwmh" = auto
; then
4174 #include <ggi/ggi.h>
4175 #include <ggi/wmh.h>
4176 int main(void) { return 0; }
4178 cc_check
-lggi -lggiwmh && _ggiwmh
=yes
4180 # needed to get right output on obscure combination
4181 # like --disable-ggi --enable-ggiwmh
4182 if test "$_ggi" = yes && test "$_ggiwmh" = yes ; then
4183 _def_ggiwmh
='#define HAVE_GGIWMH 1'
4184 _ld_ggi
="$_ld_ggi -lggiwmh"
4187 _def_ggiwmh
='#undef HAVE_GGIWMH'
4193 if test "$_aa" = auto
; then
4196 extern struct aa_hardware_params aa_defparams;
4197 extern struct aa_renderparams aa_defrenderparams;
4201 (void) aa_init(0, 0, 0);
4202 c = aa_autoinit(&aa_defparams);
4203 p = aa_getrenderparams();
4204 aa_autoinitkbd(c,0);
4208 for _ld_tmp
in "-laa" "$_ld_x11 -laa" ; do
4209 cc_check
$_ld_tmp && _ld_aa
=$_ld_tmp && _aa
=yes && break
4212 if test "$_aa" = yes ; then
4213 _def_aa
='#define HAVE_AA 1'
4215 _ld_aa
=`aalib-config --libs | cut -d " " -f 2,5,6`
4217 _vosrc
="$_vosrc vo_aa.c"
4218 _vomodules
="aa $_vomodules"
4220 _def_aa
='#undef HAVE_AA'
4221 _novomodules
="aa $_novomodules"
4227 if test "$_caca" = auto
; then
4229 if ( caca-config
--version ) >> "$TMPLOG" 2>&1 ; then
4232 #ifdef CACA_API_VERSION_1
4235 int main(void) { (void) caca_init(); return 0; }
4237 cc_check
`caca-config --libs` && _caca
=yes
4240 if test "$_caca" = yes ; then
4241 _def_caca
='#define HAVE_CACA 1'
4242 _inc_extra
="$_inc_extra `caca-config --cflags`"
4243 _ld_caca
=`caca-config --libs`
4244 _vosrc
="$_vosrc vo_caca.c"
4245 _vomodules
="caca $_vomodules"
4247 _def_caca
='#undef HAVE_CACA'
4248 _novomodules
="caca $_novomodules"
4254 if test "$_svga" = auto
; then
4257 int main(void) { return 0; }
4260 cc_check
-lvga $_ld_lm && _svga
=yes
4262 if test "$_svga" = yes ; then
4263 _def_svga
='#define HAVE_SVGALIB 1'
4265 _vosrc
="$_vosrc vo_svga.c"
4266 _vomodules
="svga $_vomodules"
4268 _def_svga
='#undef HAVE_SVGALIB'
4269 _novomodules
="svga $_novomodules"
4275 if test "$_fbdev" = auto
; then
4277 linux
&& test -c /dev
/fb0
&& _fbdev
=yes
4279 if test "$_fbdev" = yes ; then
4280 _def_fbdev
='#define HAVE_FBDEV 1'
4281 _vosrc
="$_vosrc vo_fbdev.c vo_fbdev2.c"
4282 _vomodules
="fbdev $_vomodules"
4284 _def_fbdev
='#undef HAVE_FBDEV'
4285 _novomodules
="fbdev $_novomodules"
4292 if test "$_dvb" = auto
; then
4295 #include <sys/poll.h>
4296 #include <sys/ioctl.h>
4301 #include <ost/dmx.h>
4302 #include <ost/frontend.h>
4303 #include <ost/sec.h>
4304 #include <ost/video.h>
4305 #include <ost/audio.h>
4306 int main(void) {return 0;}
4308 for _inc_tmp
in "" "-I/usr/src/DVB/ost/include" ; do
4309 cc_check
$_inc_tmp && _dvb
=yes && \
4310 _inc_extra
="$_inc_extra $_inc_tmp" && break
4314 if test "$_dvb" = yes ; then
4315 _def_dvb
='#define HAVE_DVB 1'
4316 _def_dvb_in
='#define HAS_DVBIN_SUPPORT 1'
4317 _aomodules
="mpegpes(dvb) $_aomodules"
4318 _vomodules
="mpegpes(dvb) $_vomodules"
4321 echocheck
"DVB HEAD"
4322 if test "$_dvbhead" = auto
; then
4326 #include <sys/poll.h>
4327 #include <sys/ioctl.h>
4332 #include <linux/dvb/dmx.h>
4333 #include <linux/dvb/frontend.h>
4334 #include <linux/dvb/video.h>
4335 #include <linux/dvb/audio.h>
4336 int main(void) {return 0;}
4338 for _inc_tmp
in "" "-I/usr/src/DVB/include" ; do
4339 cc_check
$_inc_tmp && _dvbhead
=yes && \
4340 _inc_extra
="$_inc_extra $_inc_tmp" && break
4344 if test "$_dvbhead" = yes ; then
4345 _def_dvb
='#define HAVE_DVB_HEAD 1'
4346 _def_dvb_in
='#define HAS_DVBIN_SUPPORT 1'
4347 _aomodules
="mpegpes(dvb) $_aomodules"
4348 _vomodules
="mpegpes(dvb) $_vomodules"
4351 if test "$_dvbhead" = no
&& test "$_dvb" = no
; then
4352 _def_dvb
='#undef HAVE_DVB'
4353 _def_dvb_in
='#undef HAS_DVBIN_SUPPORT '
4354 _aomodules
="mpegpes(file) $_aomodules"
4355 _vomodules
="mpegpes(file) $_vomodules"
4358 if test "$_dvb" = yes ||
test "$_dvbhead" = yes ; then
4360 _inputmodules
="dvb $_inputmodules"
4363 _noinputmodules
="dvb $_noinputmodules"
4366 echocheck
"PNG support"
4367 if test "$_png" = auto
; then
4370 # Don't check for -lpng on irix since it has its own libpng
4371 # incompatible with the GNU libpng
4372 _res_comment
="disabled on irix (not GNU libpng)"
4378 printf("png.h : %s\n", PNG_LIBPNG_VER_STRING);
4379 printf("libpng: %s\n", png_libpng_ver);
4380 return (strcmp(PNG_LIBPNG_VER_STRING, png_libpng_ver));
4383 if cc_check
-lpng -lz $_ld_lm ; then
4387 _res_comment
="mismatch of library and header versions"
4393 if test "$_png" = yes ; then
4394 _def_png
='#define HAVE_PNG 1'
4396 _vosrc
="$_vosrc vo_png.c"
4397 _vomodules
="png $_vomodules"
4399 _def_png
='#undef HAVE_PNG'
4400 _novomodules
="png $_novomodules"
4403 echocheck
"JPEG support"
4404 if test "$_jpeg" = auto
; then
4411 #include <jpeglib.h>
4416 if cc_check
-ljpeg $_ld_lm ; then
4424 if test "$_jpeg" = yes ; then
4425 _def_jpeg
='#define HAVE_JPEG 1'
4426 _vosrc
="$_vosrc vo_jpeg.c"
4427 _vomodules
="jpeg $_vomodules"
4430 _def_jpeg
='#undef HAVE_JPEG'
4431 _novomodules
="jpeg $_novomodules"
4436 echocheck
"PNM support"
4437 if test "$_pnm" = yes; then
4438 _def_pnm
="#define HAVE_PNM"
4439 _vosrc
="$_vosrc vo_pnm.c"
4440 _vomodules
="pnm $_vomodules"
4442 _def_pnm
="#undef HAVE_PNM"
4443 _novomodules
="pnm $_novomodules"
4449 echocheck
"GIF support"
4450 # This is to appease people who want to force gif support.
4451 # If it is forced to yes, then we still do checks to determine
4452 # which gif library to use.
4453 if test "$_gif" = yes ; then
4458 if test "$_gif" = auto
; then
4461 #include <gif_lib.h>
4466 for _ld_tmp
in "-lungif" "-lungif $_ld_x11" "-lgif" "-lgif $_ld_x11" ; do
4467 cc_check
$_ld_tmp && tmp_run
&& _ld_gif
="$_ld_tmp" && _gif
=yes && break
4471 # If no library was found, and the user wants support forced,
4472 # then we force it on with libgif, as this is the safest
4473 # assumption IMHO. (libungif & libregif both create symbolic
4474 # links to libgif. We also assume that no x11 support is needed,
4475 # because if you are forcing this, then you _should_ know what
4476 # you are doing. [ Besides, package maintainers should never
4477 # have compiled x11 deps into libungif in the first place. ] )
4480 if test "$_force_gif" = yes && test "$_gif" = no
; then
4485 if test "$_gif" = yes ; then
4486 _def_gif
='#define HAVE_GIF 1'
4487 _vosrc
="$_vosrc vo_gif89a.c"
4488 _codecmodules
="gif $_codecmodules"
4489 _vomodules
="gif89a $_vomodules"
4490 _res_comment
="old version, some encoding functions disabled"
4491 _def_gif_4
='#undef HAVE_GIF_4'
4495 #include <gif_lib.h>
4496 void catch() { exit(1); }
4498 signal(SIGSEGV, catch); // catch segfault
4499 printf("EGifPutExtensionFirst is at address %p\n", EGifPutExtensionFirst);
4500 EGifSetGifVersion("89a"); // this will segfault a buggy gif lib.
4504 if cc_check
"$_ld_gif" && tmp_run
; then
4505 _def_gif_4
='#define HAVE_GIF_4 1'
4509 _def_gif
='#undef HAVE_GIF'
4510 _def_gif_4
='#undef HAVE_GIF_4'
4511 _novomodules
="gif89a $_novomodules"
4512 _nocodecmodules
="gif $_nocodecmodules"
4517 case "$_gif" in yes*)
4518 echocheck
"broken giflib workaround"
4519 _def_gif_tvt_hack
='#define HAVE_GIF_TVT_HACK 1'
4522 #include <gif_lib.h>
4525 printf("UserData is at address %p\n", gif.UserData);
4529 if cc_check
"$_ld_gif" && tmp_run
; then
4530 _def_gif_tvt_hack
='#undef HAVE_GIF_TVT_HACK'
4539 echocheck
"VESA support"
4540 if test "$_vesa" = auto
; then
4543 int main(void) { vbeVersion(); return 0; }
4546 cc_check
-lvbe -llrmi && _vesa
=yes
4548 if test "$_vesa" = yes ; then
4549 _def_vesa
='#define HAVE_VESA 1'
4550 _ld_vesa
="-lvbe -llrmi"
4551 _vosrc
="$_vosrc vo_vesa.c vesa_lvo.c gtf.c"
4552 _vomodules
="vesa $_vomodules"
4554 _def_vesa
='#undef HAVE_VESA'
4555 _novomodules
="vesa $_novomodules"
4565 if test -z "$_sdlconfig" ; then
4566 if ( sdl-config
--version ) >>"$TMPLOG" 2>&1 ; then
4567 _sdlconfig
="sdl-config"
4568 elif ( sdl11-config
--version ) >>"$TMPLOG" 2>&1 ; then
4569 _sdlconfig
="sdl11-config"
4574 if test "$_sdl" = auto ||
test "$_sdl" = yes ; then
4577 int main(int argc, char *argv[]) { return 0; }
4580 if "$_sdlconfig" --version >>"$TMPLOG" 2>&1 ; then
4581 if cc_check
`$_sdlconfig --cflags` `$_sdlconfig --libs` >>"$TMPLOG" 2>&1 ; then
4582 _sdlversion
=`$_sdlconfig --version | sed 's/[^0-9]//g'`
4583 if test "$_sdlversion" -gt 116 ; then
4584 if test "$_sdlversion" -lt 121 ; then
4585 _def_sdlbuggy
='#define BUGGY_SDL'
4587 _def_sdlbuggy
='#undef BUGGY_SDL'
4591 _res_comment
="outdated"
4596 if test "$_sdl" = yes ; then
4597 _def_sdl
='#define HAVE_SDL 1'
4599 _ld_sdl
=`$_sdlconfig --libs | cut -d " " -f 1,4,6 | sed s/no-cygwin/cygwin/`
4600 _inc_extra
="$_inc_extra `$_sdlconfig --cflags | cut -d " " -f 1,5,6 | sed s/no-cygwin/cygwin/`"
4602 _ld_sdl
=`$_sdlconfig --libs | sed s/-mwindows//`
4603 _inc_extra
="$_inc_extra `$_sdlconfig --cflags | sed s/-Dmain=SDL_main//`"
4605 _ld_sdl
=`$_sdlconfig --libs`
4606 _inc_extra
="$_inc_extra `$_sdlconfig --cflags`"
4608 _vosrc
="$_vosrc vo_sdl.c"
4609 _vomodules
="sdl $_vomodules"
4610 _aosrc
="$_aosrc ao_sdl.c"
4611 _aomodules
="sdl $_aomodules"
4612 _res_comment
="using $_sdlconfig"
4614 _def_sdl
='#undef HAVE_SDL'
4615 _novomodules
="sdl $_novomodules"
4616 _noaomodules
="sdl $_noaomodules"
4623 echocheck
"Windows waveout"
4624 if test "$_win32waveout" = auto
; then
4626 #include <windows.h>
4627 #include <mmsystem.h>
4628 int main(void) { return 0; }
4631 cc_check
-lwinmm && _win32waveout
=yes
4633 if test "$_win32waveout" = yes ; then
4634 _def_win32waveout
='#define HAVE_WIN32WAVEOUT 1'
4635 _ld_win32libs
="-lwinmm $_ld_win32libs"
4636 _aosrc
="$_aosrc ao_win32.c"
4637 _aomodules
="win32 $_aomodules"
4639 _def_win32waveout
='#undef HAVE_WIN32WAVEOUT'
4640 _noaomodules
="win32 $_noaomodules"
4642 echores
"$_win32waveout"
4645 if test "$_directx" = auto
; then
4647 #include <windows.h>
4650 int main(void) { return 0; }
4653 cc_check
-lgdi32 && _directx
=yes
4655 if test "$_directx" = yes ; then
4656 _def_directx
='#define HAVE_DIRECTX 1'
4657 _ld_win32libs
="-lgdi32 $_ld_win32libs"
4658 _vosrc
="$_vosrc vo_directx.c"
4659 _vomodules
="directx $_vomodules"
4660 _aosrc
="$_aosrc ao_dsound.c"
4661 _aomodules
="dsound $_aomodules"
4663 _def_directx
='#undef HAVE_DIRECTX'
4664 _novomodules
="directx $_novomodules"
4665 _noaomodules
="dsound $_noaomodules"
4673 if test "$_nas" = auto
; then
4675 #include <audio/audiolib.h>
4676 int main(void) { return 0; }
4679 cc_check
$_ld_lm -laudio -lXt $_ld_x11 && _nas
=yes
4681 if test "$_nas" = yes ; then
4682 _def_nas
='#define HAVE_NAS 1'
4683 _ld_nas
="-laudio -lXt $_ld_x11"
4684 _aosrc
="$_aosrc ao_nas.c"
4685 _aomodules
="nas $_aomodules"
4687 _noaomodules
="nas $_noaomodules"
4688 _def_nas
='#undef HAVE_NAS'
4693 if test "$_dxr2" = auto
; then
4696 #include <dxr2ioctl.h>
4697 int main(void) { return 0; }
4699 for _inc_tmp
in "" -I/usr
/local
/include
/dxr2
-I/usr
/include
/dxr2
; do
4700 cc_check
$_inc_tmp && _dxr2
=yes && \
4701 _inc_extra
="$_inc_extra $_inc_tmp" && break
4704 if test "$_dxr2" = yes; then
4705 _def_dxr2
='#define HAVE_DXR2 1'
4706 _vosrc
="$_vosrc vo_dxr2.c"
4707 _aosrc
="$_aosrc ao_dxr2.c"
4708 _aomodules
="dxr2 $_aomodules"
4709 _vomodules
="dxr2 $_vomodules"
4711 _def_dxr2
='#undef HAVE_DXR2'
4712 _noaomodules
="dxr2 $_noaomodules"
4713 _novomodules
="dxr2 $_novomodules"
4718 if test "$_dxr3" = auto
; then
4720 #include <linux/em8300.h>
4721 int main(void) { return 0; }
4724 cc_check
&& _dxr3
=yes
4726 if test "$_dxr3" = yes ; then
4727 _def_dxr3
='#define HAVE_DXR3 1'
4728 _vosrc
="$_vosrc vo_dxr3.c"
4729 _vomodules
="dxr3 $_vomodules"
4731 _def_dxr3
='#undef HAVE_DXR3'
4732 _novomodules
="dxr3 $_novomodules"
4737 echocheck
"IVTV TV-Out"
4738 if test "$_ivtv" = auto
; then
4741 #include <inttypes.h>
4742 #include <linux/types.h>
4743 #include <linux/videodev2.h>
4744 #include <linux/ivtv.h>
4745 int main(void) { return 0; }
4748 cc_check
&& _ivtv
=yes
4750 if test "$_ivtv" = yes ; then
4751 _def_ivtv
='#define HAVE_IVTV 1'
4752 _vosrc
="$_vosrc vo_ivtv.c"
4753 _vomodules
="ivtv $_vomodules"
4754 _aosrc
="$_aosrc ao_ivtv.c"
4755 _aomodules
="ivtv $_aomodules"
4757 _def_ivtv
='#undef HAVE_IVTV'
4758 _novomodules
="ivtv $_novomodules"
4759 _noaomodules
="ivtv $_noaomodules"
4765 if test "$_libfame" = auto
; then
4767 test "$_dxr2" = yes && _libfame
=auto
4768 test "$_dxr3" = yes && _libfame
=auto
4769 test "$_dvb" = yes && _libfame
=auto
4771 if test "$_libfame" = auto
; then
4773 if test -d libfame
&& test -f libfame
/fame.h
; then
4774 # disable libfame on Cygwin as porting makes no sense
4775 cygwin || _libfame
=yes
4777 _res_comment
="no libfame dir"
4782 _def_libfame
='#undef USE_LIBFAME'
4783 if test "$_libfame" = yes ; then
4784 _def_libfame
='#define USE_LIBFAME 1'
4785 _ld_libfame
='libfame/libfame.a'
4794 echocheck
"OSS Audio"
4795 if test "$_ossaudio" = auto
; then
4797 #include <sys/ioctl.h>
4799 int main(void) { int arg = SNDCTL_DSP_SETFRAGMENT; return 0; }
4802 cc_check
&& _ossaudio
=yes
4804 if test "$_ossaudio" = yes ; then
4805 _def_ossaudio
='#define USE_OSS_AUDIO 1'
4806 _aosrc
="$_aosrc ao_oss.c"
4807 _aomodules
="oss $_aomodules"
4808 if test "$_linux_devfs" = yes; then
4809 _def_ossaudio_devdsp
='#define PATH_DEV_DSP "/dev/sound/dsp"'
4810 _def_ossaudio_devmixer
='#define PATH_DEV_MIXER "/dev/sound/mixer"'
4813 #include <sys/ioctl.h>
4815 #ifdef OPEN_SOUND_SYSTEM
4816 int main(void) { return 0; }
4818 #error Not the real thing
4822 cc_check
&& _real_ossaudio
=yes
4823 if test "$_real_ossaudio" = yes; then
4824 _def_ossaudio_devdsp
='#define PATH_DEV_DSP "/dev/dsp"'
4825 elif netbsd || openbsd
; then
4826 _def_ossaudio_devdsp
='#define PATH_DEV_DSP "/dev/sound"'
4827 _ld_arch
="$_ld_arch -lossaudio"
4829 _def_ossaudio_devdsp
='#define PATH_DEV_DSP "/dev/dsp"'
4831 _def_ossaudio_devmixer
='#define PATH_DEV_MIXER "/dev/mixer"'
4834 _def_ossaudio
='#undef USE_OSS_AUDIO'
4835 _def_ossaudio_devdsp
='#define PATH_DEV_DSP ""'
4836 _def_ossaudio_devmixer
='#define PATH_DEV_MIXER ""'
4837 _noaomodules
="oss $_noaomodules"
4839 echores
"$_ossaudio"
4843 if test "$_arts" = auto
; then
4845 if ( artsc-config
--version ) >> "$TMPLOG" 2>&1 ; then
4849 int main(void) { return 0; }
4851 cc_check
`artsc-config --libs` `artsc-config --cflags` && tmp_run
&& _arts
=yes
4856 if test "$_arts" = yes ; then
4857 _def_arts
='#define USE_ARTS 1'
4858 _aosrc
="$_aosrc ao_arts.c"
4859 _aomodules
="arts $_aomodules"
4860 _ld_arts
=`artsc-config --libs`
4861 _inc_extra
="$_inc_extra `artsc-config --cflags`"
4863 _noaomodules
="arts $_noaomodules"
4869 if test "$_esd" = auto
; then
4871 if ( esd-config
--version ) >> "$TMPLOG" 2>&1 ; then
4875 int main(void) { return 0; }
4877 cc_check
`esd-config --libs` `esd-config --cflags` && tmp_run
&& _esd
=yes
4883 if test "$_esd" = yes ; then
4884 _def_esd
='#define USE_ESD 1'
4885 _aosrc
="$_aosrc ao_esd.c"
4886 _aomodules
="esd $_aomodules"
4887 _ld_esd
=`esd-config --libs`
4888 _inc_extra
="$_inc_extra `esd-config --cflags`"
4890 echocheck
"esd_get_latency()"
4893 int main(void) { return esd_get_latency(0); }
4895 cc_check
`esd-config --libs` `esd-config --cflags` && _esd_latency
=yes && _def_esd_latency
='#define HAVE_ESD_LATENCY'
4896 echores
"$_esd_latency"
4898 _def_esd
='#undef USE_ESD'
4899 _def_esd_latency
='#undef HAVE_ESD_LATENCY'
4900 _noaomodules
="esd $_noaomodules"
4904 if test "$_polyp" = auto
; then
4906 if pkg-config
--exists 'polyplib >= 0.6 polyplib-error >= 0.6 polyplib-mainloop >= 0.6' ; then
4909 #include <polyp/polyplib.h>
4910 #include <polyp/mainloop.h>
4911 #include <polyp/polyplib-error.h>
4912 int main(void) { return 0; }
4914 cc_check
`pkg-config --libs --cflags polyplib polyplib-error polyplib-mainloop` && tmp_run
&& _polyp
=yes
4920 if test "$_polyp" = yes ; then
4921 _def_polyp
='#define USE_POLYP 1'
4922 _aosrc
="$_aosrc ao_polyp.c"
4923 _aomodules
="polyp $_aomodules"
4924 _ld_polyp
=`pkg-config --libs polyplib polyplib-error polyplib-mainloop`
4925 _inc_extra
="$_inc_extra `pkg-config --cflags polyplib polyplib-error polyplib-mainloop`"
4927 _def_polyp
='#undef USE_POLYP'
4928 _noaomodules
="polyp $_noaomodules"
4933 if test "$_jack" = auto
; then
4937 #include <jack/jack.h>
4938 int main(void) { jack_client_new("test"); return 0; }
4940 if cc_check
-ljack ; then
4942 elif cc_check
`pkg-config --libs --cflags --silence-errors jack` ; then
4943 _ld_jack
="`pkg-config --libs jack`"
4944 _inc_extra
="$_inc_extra "`pkg-config --cflags jack`""
4950 if test "$_jack" = yes ; then
4951 _def_jack
='#define USE_JACK 1'
4952 _aosrc
="$_aosrc ao_jack.c"
4953 _aomodules
="jack $_aomodules"
4955 _noaomodules
="jack $_noaomodules"
4960 if test "$_openal" = auto
; then
4965 alSourceQueueBuffers(0, 0, 0);
4966 // alGetSourcei(0, AL_SAMPLE_OFFSET, 0);
4970 if cc_check
-lopenal ; then
4971 _ld_openal
="-lopenal"
4975 if test "$_openal" = yes ; then
4976 _def_openal
='#define USE_OPENAL 1'
4977 _aosrc
="$_aosrc ao_openal.c"
4978 _aomodules
="openal $_aomodules"
4980 _noaomodules
="openal $_noaomodules"
4984 echocheck
"ALSA audio"
4985 if test "$_alsa" != no
; then
4988 #include <sys/asoundlib.h>
4989 #if !((SND_LIB_MAJOR == 0) && (SND_LIB_MINOR == 5))
4990 #error "alsa version != 0.5.x"
4992 int main(void) { return 0; }
4994 cc_check
-lasound $_ld_dl $_ld_pthread && _alsaver
='0.5.x'
4997 #include <sys/asoundlib.h>
4998 #if !((SND_LIB_MAJOR == 0) && (SND_LIB_MINOR == 9))
4999 #error "alsa version != 0.9.x"
5001 int main(void) { return 0; }
5003 cc_check
-lasound $_ld_dl $_ld_pthread && _alsaver
='0.9.x-sys'
5005 #include <alsa/asoundlib.h>
5006 #if !((SND_LIB_MAJOR == 0) && (SND_LIB_MINOR == 9))
5007 #error "alsa version != 0.9.x"
5009 int main(void) { return 0; }
5011 cc_check
-lasound $_ld_dl $_ld_pthread && _alsaver
='0.9.x-alsa'
5014 #include <sys/asoundlib.h>
5015 #if !((SND_LIB_MAJOR == 1) && (SND_LIB_MINOR == 0))
5016 #error "alsa version != 1.0.x"
5018 int main(void) { return 0; }
5020 cc_check
-lasound $_ld_dl $_ld_pthread && _alsaver
='1.0.x-sys'
5022 #include <alsa/asoundlib.h>
5023 #if !((SND_LIB_MAJOR == 1) && (SND_LIB_MINOR == 0))
5024 #error "alsa version != 1.0.x"
5026 int main(void) { return 0; }
5028 cc_check
-lasound $_ld_dl $_ld_pthread && _alsaver
='1.0.x-alsa'
5030 _def_alsa5
='#undef HAVE_ALSA5'
5031 _def_alsa9
='#undef HAVE_ALSA9'
5032 _def_alsa1x
='#undef HAVE_ALSA1X'
5033 _def_sys_asoundlib_h
='#undef HAVE_SYS_ASOUNDLIB_H'
5034 _def_alsa_asoundlib_h
='#undef HAVE_ALSA_ASOUNDLIB_H'
5035 if test "$_alsaver" ; then
5037 if test "$_alsaver" = '0.5.x' ; then
5039 _aosrc
="$_aosrc ao_alsa5.c"
5040 _aomodules
="alsa5 $_aomodules"
5041 _def_alsa5
='#define HAVE_ALSA5 1'
5042 _def_sys_asoundlib_h
='#define HAVE_SYS_ASOUNDLIB_H 1'
5043 _res_comment
="using alsa 0.5.x and sys/asoundlib.h"
5044 elif test "$_alsaver" = '0.9.x-sys' ; then
5046 _aosrc
="$_aosrc ao_alsa.c"
5047 _aomodules
="alsa $_aomodules"
5048 _def_alsa9
='#define HAVE_ALSA9 1'
5049 _def_sys_asoundlib_h
='#define HAVE_SYS_ASOUNDLIB_H 1'
5050 _res_comment
="using alsa 0.9.x and sys/asoundlib.h"
5051 elif test "$_alsaver" = '0.9.x-alsa' ; then
5053 _aosrc
="$_aosrc ao_alsa.c"
5054 _aomodules
="alsa $_aomodules"
5055 _def_alsa9
='#define HAVE_ALSA9 1'
5056 _def_alsa_asoundlib_h
='#define HAVE_ALSA_ASOUNDLIB_H 1'
5057 _res_comment
="using alsa 0.9.x and alsa/asoundlib.h"
5058 elif test "$_alsaver" = '1.0.x-sys' ; then
5060 _aosrc
="$_aosrc ao_alsa.c"
5061 _aomodules
="alsa $_aomodules"
5062 _def_alsa1x
="#define HAVE_ALSA1X 1"
5063 _def_alsa_asoundlib_h
='#define HAVE_SYS_ASOUNDLIB_H 1'
5064 _res_comment
="using alsa 1.0.x and sys/asoundlib.h"
5065 elif test "$_alsaver" = '1.0.x-alsa' ; then
5067 _aosrc
="$_aosrc ao_alsa.c"
5068 _aomodules
="alsa $_aomodules"
5069 _def_alsa1x
="#define HAVE_ALSA1X 1"
5070 _def_alsa_asoundlib_h
='#define HAVE_ALSA_ASOUNDLIB_H 1'
5071 _res_comment
="using alsa 1.0.x and alsa/asoundlib.h"
5074 _res_comment
="unknown version"
5076 _ld_alsa
="-lasound $_ld_dl $_ld_pthread"
5078 _noaomodules
="alsa $_noaomodules"
5083 echocheck
"Sun audio"
5084 if test "$_sunaudio" = auto
; then
5086 #include <sys/types.h>
5087 #include <sys/audioio.h>
5088 int main(void) { audio_info_t info; AUDIO_INITINFO(&info); return 0; }
5091 cc_check
&& _sunaudio
=yes
5093 if test "$_sunaudio" = yes ; then
5094 _def_sunaudio
='#define USE_SUN_AUDIO 1'
5095 _aosrc
="$_aosrc ao_sun.c"
5096 _aomodules
="sun $_aomodules"
5098 _def_sunaudio
='#undef USE_SUN_AUDIO'
5099 _noaomodules
="sun $_noaomodules"
5101 echores
"$_sunaudio"
5105 echocheck
"Sun mediaLib"
5106 if test "$_mlib" = auto
; then
5110 int main(void) { mlib_VideoColorYUV2ABGR420(0,0,0,0,0,0,0,0,0); return 0; }
5112 cc_check
$_ld_mlib -lmlib && _mlib
=yes
5114 if test "$_mlib" = yes ; then
5115 _def_mlib
='#define HAVE_MLIB 1'
5116 _ld_mlib
="$_ld_mlib `echo $_ld_mlib | sed s/^-L/-R/` -lmlib"
5118 _def_mlib
='#undef HAVE_MLIB'
5125 echocheck
"SGI audio"
5126 if test "$_sgiaudio" = auto
; then
5127 # check for SGI audio
5129 #include <dmedia/audio.h>
5130 int main(void) { return 0; }
5133 cc_check
&& _sgiaudio
=yes
5135 if test "$_sgiaudio" = "yes" ; then
5136 _def_sgiaudio
='#define USE_SGI_AUDIO 1'
5137 _ld_sgiaudio
='-laudio'
5138 _aosrc
="$_aosrc ao_sgi.c"
5139 _aomodules
="sgi $_aomodules"
5141 _def_sgiaudio
='#undef USE_SGI_AUDIO'
5142 _noaomodules
="sgi $_noaomodules"
5144 echores
"$_sgiaudio"
5148 echocheck
"VCD support"
5149 if linux || bsdos || freebsd || netbsd || sunos || darwin
; then
5150 _inputmodules
="vcd $_inputmodules"
5151 _def_vcd
='#define HAVE_VCD 1'
5154 _def_vcd
='#undef HAVE_VCD'
5155 _noinputmodules
="vcd $_noinputmodules"
5156 _res_comment
="not supported on this OS"
5161 echocheck
"DVD support (libdvdnav)"
5162 if test "$_dvdnav" = auto
; then
5163 $_dvdnavconfig --version >> $TMPLOG 2>&1 || _dvdnav
=no
5165 if test "$_dvdnav" = auto
; then
5168 int main(void) { dvdnav_t *dvd=0; return 0; }
5171 _dvdnavdir
=`$_dvdnavconfig --cflags`
5172 _dvdnavlibs
=`$_dvdnavconfig --libs`
5173 _dvdnavvsn
=`$_dvdnavconfig --version | sed "s/\.//g"`
5175 _dvdnavmajor
=`echo $_dvdnavvsn | cut -d. -f2`
5176 test "$_dvdnavmajor" -ge 2 -o "$_dvdnavvsn" -ge 0110 && \
5177 cc_check
$_dvdnavdir $_dvdnavlibs $_used_css $_ld_dl $_ld_pthread && _dvdnav
=yes
5179 if test "$_dvdnav" = yes ; then
5181 _def_dvdnav
='#define USE_DVDNAV 1'
5182 _ld_dvdnav
=`$_dvdnavconfig --libs`
5183 _dvdnav_version
=`$_dvdnavconfig --version | sed "s/\.//g"`
5184 _def_dvdnav_version
="#define DVDNAVVERSION $_dvdnav_version"
5185 _inc_extra
="$_inc_extra `$_dvdnavconfig --cflags`"
5186 _inputmodules
="dvdnav $_inputmodules"
5188 #disable mpdvdkit and dvdread checks: dvdread will be enabled using dvdnav's version of dvdread
5192 _def_dvdnav
='#undef USE_DVDNAV'
5193 _noinputmodules
="dvdnav $_noinputmodules"
5197 echocheck
"DVD support (libmpdvdkit2)"
5198 if test "$_mpdvdkit" = auto
; then
5200 if linux || freebsd || netbsd || darwin || openbsd || win32 || sunos || hpux
; then
5201 test -f "./libmpdvdkit2/Makefile" && _mpdvdkit
=yes
5204 if test "$_mpdvdkit" = yes ; then
5205 if test "$_dvd" = yes ||
test "$_cdrom" = yes ||
test "$_cdio" = yes ||
test "$_dvdio" = yes ||
test "$_bsdi_dvd" = yes ||
test "$_hpux_scsi_h" = yes || darwin || win32
; then
5206 _inputmodules
="mpdvdkit2 $_inputmodules"
5207 _dvdread
=libmpdvdkit2
5209 _noinputmodules
="mpdvdkit2 $_noinputmodules"
5211 _def_dvd_linux
='#undef HAVE_LINUX_DVD_STRUCT'
5212 _def_dvd_bsd
='#undef HAVE_BSD_DVD_STRUCT'
5213 _dev_dvd_openbsd
='#undef HAVE_OPENBSD_DVD_STRUCT'
5214 _def_dvd_darwin
='#undef DARWIN_DVD_IOCTL'
5215 if linux || netbsd || openbsd || bsdos
; then
5216 _def_dvd_linux
='#define HAVE_LINUX_DVD_STRUCT 1'
5218 _dev_dvd_openbsd
='#define HAVE_OPENBSD_DVD_STRUCT 1'
5222 _def_dvd_bsd
='#define HAVE_BSD_DVD_STRUCT 1'
5225 _def_dvd_darwin
='#define DARWIN_DVD_IOCTL'
5230 _noinputmodules
="mpdvdkit2 $_noinputmodules"
5232 echores
"$_mpdvdkit"
5234 echocheck
"DVD support (libdvdread)"
5235 if test "$_dvdread" = auto
; then
5237 #include <inttypes.h>
5238 #include <dvdread/dvd_reader.h>
5239 #include <dvdread/ifo_types.h>
5240 #include <dvdread/ifo_read.h>
5241 #include <dvdread/nav_read.h>
5242 int main(void) { return 0; }
5245 if test "$_dl" = yes; then
5247 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -ldvdread $_ld_dl && \
5251 _def_mpdvdkit
="#undef USE_MPDVDKIT"
5255 _def_dvdread
='#define USE_DVDREAD 1'
5256 if test "$_dvdnav" != yes ; then
5257 _ld_dvdread
='-ldvdread'
5259 _inputmodules
="dvdread $_inputmodules"
5263 _def_dvdread
='#undef USE_DVDREAD'
5264 _noinputmodules
="dvdread $_noinputmodules"
5268 _def_dvdread
='#define USE_DVDREAD 1'
5269 _ld_dvdread
='-Llibmpdvdkit2 -lmpdvdkit'
5270 _noinputmodules
="dvdread $_noinputmodules"
5271 _def_mpdvdkit
="#define USE_MPDVDKIT 2"
5274 _res_comment
="disabled by libmpdvdkit2"
5279 if test "$_have_dvd" = yes ; then
5280 _def_have_dvd
='#define HAVE_DVD 1'
5282 _def_have_dvd
='#undef HAVE_DVD'
5286 echocheck
"cdparanoia"
5287 if test "$_cdparanoia" = auto
; then
5289 #include <cdda_interface.h>
5290 #include <cdda_paranoia.h>
5291 // This need a better test. How ?
5292 int main(void) { return 1; }
5295 for _inc_tmp
in "" "-I/usr/include/cdda" "-I/usr/local/include/cdda" ; do
5296 cc_check
$_inc_tmp $_ld_cdparanoia -lcdda_interface -lcdda_paranoia $_ld_lm && \
5297 _cdparanoia
=yes && _inc_extra
="$_inc_extra $_inc_tmp" && break
5300 if test "$_cdparanoia" = yes ; then
5302 _def_cdparanoia
='#define HAVE_CDDA'
5303 _inputmodules
="cdda $_inputmodules"
5304 _ld_cdparanoia
="$_ld_cdparanoia -lcdda_interface -lcdda_paranoia"
5305 openbsd
&& _ld_cdparanoia
="$_ld_cdparanoia -lutil"
5307 _def_cdparanoia
='#undef HAVE_CDDA'
5308 _noinputmodules
="cdda $_noinputmodules"
5310 echores
"$_cdparanoia"
5314 if test "$_libcdio" = auto
&& test "$_cdparanoia" = no
; then
5315 if pkg-config
--exists libcdio
; then
5318 #include <cdio/version.h>
5319 #include <cdio/cdda.h>
5320 #include <cdio/paranoia.h>
5323 printf("%s\n", CDIO_VERSION);
5329 for _inc_tmp
in "" "-I/usr/include/cdio" "-I/usr/local/include/cdio" ; do
5330 cc_check
`pkg-config --cflags --libs libcdio_paranoia` $_inc_tmp $_ld_lm \
5331 && tmp_run
&& _libcdio
=yes && _inc_extra
="$_inc_extra $_inc_tmp" && break
5337 if test "$_libcdio" = yes && test "$_cdparanoia" = no
; then
5339 _def_libcdio
='#define HAVE_LIBCDIO'
5340 _def_cdparanoia
='#define HAVE_CDDA'
5341 _def_havelibcdio
='yes'
5342 _inputmodules
="cdda $_inputmodules"
5343 _inc_extra
="$_inc_extra `pkg-config --cflags libcdio`"
5344 _ld_libcdio
=`pkg-config --libs libcdio_paranoia`
5346 if test "$_cdparanoia" = yes ; then
5347 _res_comment
="using cdparanoia"
5349 _def_libcdio
='#undef HAVE_LIBCDIO'
5350 _def_havelibcdio
='no'
5355 echocheck
"bitmap font support"
5356 if test "$_bitmap_font" = yes ; then
5357 _def_bitmap_font
="#define HAVE_BITMAP_FONT 1"
5359 _def_bitmap_font
="#undef HAVE_BITMAP_FONT"
5361 echores
"$_bitmap_font"
5364 echocheck
"freetype >= 2.0.9"
5366 # freetype depends on iconv
5367 if test "$_iconv" = no
; then
5369 _res_comment
="iconv support needed"
5372 if test "$_freetype" = auto
; then
5373 if ( $_freetypeconfig --version ) >/dev
/null
2>&1 ; then
5376 #include <ft2build.h>
5377 #include FT_FREETYPE_H
5378 #if ((FREETYPE_MAJOR < 2) || ((FREETYPE_MINOR == 0) && (FREETYPE_PATCH < 9)))
5379 #error "Need FreeType 2.0.9 or newer"
5384 FT_Int major=-1,minor=-1,patch=-1;
5385 int err=FT_Init_FreeType(&library);
5387 printf("Couldn't initialize freetype2 lib, err code: %d\n",err);
5390 FT_Library_Version(library,&major,&minor,&patch); // in v2.1.0+ only :(((
5391 printf("freetype2 header version: %d.%d.%d library version: %d.%d.%d\n",
5392 FREETYPE_MAJOR,FREETYPE_MINOR,FREETYPE_PATCH,
5393 (int)major,(int)minor,(int)patch );
5394 if(major!=FREETYPE_MAJOR || minor!=FREETYPE_MINOR){
5395 printf("Library and header version mismatch! Fix it in your distribution!\n");
5402 cc_check
`$_freetypeconfig --cflags` `$_freetypeconfig --libs` && tmp_run
&& _freetype
=yes
5407 if test "$_freetype" = yes ; then
5408 _def_freetype
='#define HAVE_FREETYPE'
5409 _inc_extra
="$_inc_extra `$_freetypeconfig --cflags`"
5410 _ld_freetype
=`$_freetypeconfig --libs`
5412 _def_freetype
='#undef HAVE_FREETYPE'
5414 echores
"$_freetype"
5416 if test "$_freetype" = no
; then
5418 _res_comment
="freetype support needed"
5420 echocheck
"fontconfig"
5421 if test "$_fontconfig" = auto
; then
5424 #include <fontconfig/fontconfig.h>
5429 printf("Couldn't initialize fontconfig lib\n");
5437 if cc_check
-lfontconfig ; then
5438 _ld_fontconfig
="-lfontconfig"
5439 elif cc_check
`pkg-config --silence-errors --cflags --libs fontconfig` ; then
5440 _inc_extra
="$_inc_extra `pkg-config --cflags fontconfig`"
5441 _ld_fontconfig
=`pkg-config --libs fontconfig`
5446 if test "$_fontconfig" = yes ; then
5447 _def_fontconfig
='#define HAVE_FONTCONFIG'
5449 _def_fontconfig
='#undef HAVE_FONTCONFIG'
5451 echores
"$_fontconfig"
5454 echocheck
"SSA/ASS support"
5455 # libass depends on FreeType
5456 if test "$_freetype" = no
; then
5458 _res_comment
="FreeType support needed"
5461 if test "$_ass" = auto
; then
5463 #include <ft2build.h>
5464 #include FT_FREETYPE_H
5465 #if ((FREETYPE_MAJOR < 2) || (FREETYPE_MINOR < 1) || ((FREETYPE_MINOR == 1) && (FREETYPE_PATCH < 8)))
5466 #error "Need FreeType 2.1.8 or newer"
5468 int main() { return 0; }
5471 cc_check
`$_freetypeconfig --cflags` `$_freetypeconfig --libs` && tmp_run
&& _ass
=yes
5472 if test "$_ass" = no
; then
5473 _res_comment
="FreeType >= 2.1.8 needed"
5476 if test "$_ass" = yes ; then
5477 _def_ass
='#define USE_ASS'
5479 _def_ass
='#undef USE_ASS'
5484 echocheck
"fribidi with charsets"
5485 if test "$_fribidi" = auto
; then
5486 if ( $_fribidiconfig --version ) >/dev
/null
2>&1 ; then
5489 /* workaround for fribidi 0.10.4 and below */
5490 #define FRIBIDI_CHARSET_UTF8 FRIBIDI_CHAR_SET_UTF8
5491 #include <fribidi/fribidi.h>
5494 if(fribidi_parse_charset("UTF-8") != FRIBIDI_CHAR_SET_UTF8) {
5495 printf("Fribidi headers are not consistents with the library!\n");
5502 cc_check
`$_fribidiconfig --cflags` `$_fribidiconfig --libs` && tmp_run
&& _fribidi
=yes
5507 if test "$_fribidi" = yes ; then
5508 _def_fribidi
='#define USE_FRIBIDI'
5509 _inc_extra
="$_inc_extra `$_fribidiconfig --cflags`"
5510 _ld_fribidi
=`$_fribidiconfig --libs`
5512 _def_fribidi
='#undef USE_FRIBIDI'
5518 if test "$_enca" = auto
; then
5525 langs = enca_get_languages(&langcnt);
5530 cc_check
-lenca $_ld_lm && _enca
=yes
5532 if test "$_enca" = yes ; then
5533 _def_enca
='#define HAVE_ENCA 1'
5536 _def_enca
='#undef HAVE_ENCA'
5544 int main(void) { (void) inflate(0, Z_NO_FLUSH); return 0; }
5547 cc_check
-lz && _zlib
=yes
5548 if test "$_zlib" = yes ; then
5549 _def_zlib
='#define HAVE_ZLIB 1'
5552 _def_zlib
='#undef HAVE_ZLIB'
5558 if test "$_rtc" = auto
; then
5560 #include <sys/ioctl.h>
5562 #include <linux/rtc.h>
5565 #define RTC_PIE_ON RTCIO_PIE_ON
5567 int main(void) { return RTC_PIE_ON; }
5570 cc_check
&& _rtc
=yes
5573 if test "$_rtc" = yes ; then
5574 _def_rtc
='#define HAVE_RTC 1'
5576 _def_rtc
='#undef HAVE_RTC'
5581 echocheck
"external liblzo support"
5582 if test "$_liblzo" = auto
; then
5586 int main(void) { lzo_init();return 0; }
5588 cc_check
-llzo && _liblzo
=yes
5590 if test "$_liblzo" = yes ; then
5591 _def_liblzo
='#define USE_LIBLZO 1'
5593 _codecmodules
="liblzo $_codecmodules"
5595 _def_liblzo
='#undef USE_LIBLZO'
5596 _nocodecmodules
="liblzo $_nocodecmodules"
5601 echocheck
"mad support"
5602 if test "$_mad" = auto
; then
5606 int main(void) { return 0; }
5608 cc_check
-lmad && _mad
=yes
5610 if test "$_mad" = yes ; then
5611 _def_mad
='#define USE_LIBMAD 1'
5613 _codecmodules
="libmad $_codecmodules"
5615 _def_mad
='#undef USE_LIBMAD'
5616 _nocodecmodules
="libmad $_nocodecmodules"
5621 if test "$_toolame" = auto
; then
5623 #include <toolame.h>
5624 int main(void) { toolame_init(); return 0; }
5627 cc_check
$_ld_toolame -ltoolame $_ld_lm && _toolame
=yes
5629 if test "$_toolame" = yes ; then
5630 _def_toolame
='#define HAVE_TOOLAME 1'
5631 _toolame_lib
="-ltoolame"
5632 _codecmodules
="toolame $_codecmodules"
5634 _def_toolame
='#undef HAVE_TOOLAME'
5635 _nocodecmodules
="toolame $_nocodecmodules"
5637 if test "$_toolamedir" ; then
5638 _res_comment
="using $_toolamedir"
5643 if test "$_twolame" = auto
; then
5645 #include <twolame.h>
5646 int main(void) { twolame_init(); return 0; }
5649 _twolame_lib
="-ltwolame"
5650 cc_check
$_twolame_lib $_ld_lm && _twolame
=yes
5652 if test "$_twolame" = yes ; then
5653 _def_twolame
='#define HAVE_TWOLAME 1'
5654 _codecmodules
="twolame $_codecmodules"
5656 _def_twolame
='#undef HAVE_TWOLAME'
5658 _nocodecmodules
="twolame $_nocodecmodules"
5662 echocheck
"OggVorbis support"
5663 if test "$_tremor_internal" = yes; then
5665 elif test "$_tremor_external" = auto
; then
5668 #include <tremor/ivorbiscodec.h>
5669 int main(void) { vorbis_packet_blocksize(0,0); return 0; }
5671 cc_check
-logg -lvorbisidec $_ld_lm && _tremor_external
=yes && _libvorbis
=no
5673 if test "$_libvorbis" = auto
; then
5676 #include <vorbis/codec.h>
5677 int main(void) { vorbis_packet_blocksize(0,0); return 0; }
5679 cc_check
-lvorbis -logg $_ld_lm && _libvorbis
=yes
5681 if test "$_tremor_internal" = yes ; then
5683 _def_vorbis
='#define HAVE_OGGVORBIS 1'
5684 _def_tremor
='#define TREMOR 1'
5685 _codecmodules
="tremor(internal) $_codecmodules"
5686 _res_comment
="internal Tremor"
5687 if test "$_tremor_low" = yes ; then
5688 _tremor_flags
='-D_LOW_ACCURACY_'
5689 _res_comment
="internal low accuracy Tremor"
5691 elif test "$_tremor_external" = yes ; then
5693 _def_vorbis
='#define HAVE_OGGVORBIS 1'
5694 _def_tremor
='#define TREMOR 1'
5695 _codecmodules
="tremor(external) $_codecmodules"
5696 _res_comment
="external Tremor"
5697 _ld_vorbis
='-logg -lvorbisidec'
5698 elif test "$_libvorbis" = yes ; then
5700 _def_vorbis
='#define HAVE_OGGVORBIS 1'
5701 _codecmodules
="libvorbis $_codecmodules"
5702 _res_comment
="libvorbis"
5703 _ld_vorbis
='-lvorbis -logg'
5706 _nocodecmodules
="libvorbis $_nocodecmodules"
5710 echocheck
"libspeex (version >= 1.1 required)"
5711 if test "$_speex" = auto
; then
5714 #include <speex/speex.h>
5718 speex_decode_int(dec, &bits, dec);
5721 cc_check
-lspeex $_ld_lm && _speex
=yes
5723 if test "$_speex" = yes ; then
5724 _def_speex
='#define HAVE_SPEEX 1'
5726 _codecmodules
="speex $_codecmodules"
5728 _def_speex
='#undef HAVE_SPEEX'
5729 _nocodecmodules
="speex $_nocodecmodules"
5733 echocheck
"OggTheora support"
5734 if test "$_theora" = auto
; then
5737 #include <theora/theora.h>
5741 /* theora is in flux, make sure that all interface routines and
5742 * datatypes exist and work the way we expect it, so we don't break
5752 theora_info_init (&inf);
5753 theora_comment_init (&tc);
5757 /* we don't want to execute this kind of nonsense; just for making sure
5758 * that compilation works... */
5759 memset(&op, 0, sizeof(op));
5760 r = theora_decode_header (&inf, &tc, &op);
5761 r = theora_decode_init (&st, &inf);
5762 t = theora_granule_time (&st, op.granulepos);
5763 r = theora_decode_packetin (&st, &op);
5764 r = theora_decode_YUVout (&st, &yuv);
5770 for _ld_theora
in "`pkg-config --silence-errors --libs --cflags theora`" "-ltheora"; do
5771 cc_check
$_ld_theora && _theora
=yes && break
5773 if test "$_theora" = no
&& test "$_tremor_internal" = yes; then
5774 for _ld_theora
in "`pkg-config --silence-errors --libs --cflags theora`" "-ltheora"; do
5775 cc_check
-I. tremor
/bitwise.c
$_ld_theora && _theora
=yes && break
5779 if test "$_theora" = yes ; then
5780 _def_theora
='#define HAVE_OGGTHEORA 1'
5781 _codecmodules
="libtheora $_codecmodules"
5782 # when --enable-theora is forced, we'd better provide a probably sane
5783 # $_ld_theora than nothing
5784 test -z "$_ld_theora" && _ld_theora
="-ltheora -logg"
5786 _def_theora
='#undef HAVE_OGGTHEORA'
5787 _nocodecmodules
="libtheora $_nocodecmodules"
5792 echocheck
"mp3lib support"
5793 if test "$_mp3lib" = yes ; then
5794 _def_mp3lib
='#define USE_MP3LIB 1'
5795 _codecmodules
="mp3lib $_codecmodules"
5797 _def_mp3lib
='#undef USE_MP3LIB'
5798 _nocodecmodules
="mp3lib $_nocodecmodules"
5802 echocheck
"liba52 support"
5803 if test "$_liba52" = yes ; then
5804 _def_liba52
='#define USE_LIBA52 1'
5805 _codecmodules
="liba52 $_codecmodules"
5807 _def_liba52
='#undef USE_LIBA52'
5808 _nocodecmodules
="liba52 $_nocodecmodules"
5812 echocheck
"libdts support"
5813 if test "$_libdts" = auto
; then
5816 #include <inttypes.h>
5818 int main(void) { dts_init (0); return 0; }
5820 cc_check
$_ld_libdts -ldts $_ld_lm && _libdts
=yes
5822 if test "$_libdts" = yes ; then
5823 _def_libdts
='#define CONFIG_DTS 1'
5824 _ld_libdts
="$_ld_libdts -ldts"
5825 _codecmodules
="libdts $_codecmodules"
5827 _def_libdts
='#undef CONFIG_DTS'
5828 _nocodecmodules
="libdts $_nocodecmodules"
5832 echocheck
"libmpeg2 support"
5833 if test "$_libmpeg2" = yes ; then
5834 _def_libmpeg2
='#define USE_LIBMPEG2 1'
5835 _codecmodules
="libmpeg2 $_codecmodules"
5837 _def_libmpeg2
='#undef USE_LIBMPEG2'
5838 _nocodecmodules
="libmpeg2 $_nocodecmodules"
5840 echores
"$_libmpeg2"
5842 echocheck
"libmpcdec (musepack, version >= 1.2.1 required)"
5843 if test "$_musepack" = auto
; then
5846 #include <mpcdec/mpcdec.h>
5848 mpc_streaminfo info;
5849 mpc_decoder decoder;
5850 mpc_decoder_set_streaminfo(&decoder, &info);
5851 mpc_decoder_decode_frame(&decoder, NULL, 0, NULL);
5854 cc_check
-lmpcdec $_ld_lm && _musepack
=yes
5856 if test "$_musepack" = yes ; then
5857 _def_musepack
='#define HAVE_MUSEPACK 1'
5858 _ld_musepack
='-lmpcdec'
5859 _codecmodules
="musepack $_codecmodules"
5861 _def_musepack
='#undef HAVE_MUSEPACK'
5862 _nocodecmodules
="musepack $_nocodecmodules"
5864 echores
"$_musepack"
5867 echocheck
"FAAC (AAC encoder) support"
5868 if test "$_faac" = auto
; then
5870 #include <inttypes.h>
5872 int main(void) { unsigned long x, y; faacEncOpen(48000, 2, &x, &y); return 0; }
5875 for _ld_tmp
in "-lfaac" "-lfaac -lmp4v2 -lstdc++" ; do
5876 cc_check
-c -O4 $_ld_tmp $_ld_lm && _ld_faac
="$_ld_tmp" && _faac
=yes && break
5879 if test "$_faac" = yes ; then
5880 _def_faac
="#define HAVE_FAAC 1"
5881 _def_lavc_faac
="#define CONFIG_FAAC 1"
5882 _codecmodules
="faac $_codecmodules"
5884 _def_faac
="#undef HAVE_FAAC"
5885 _nocodecmodules
="faac $_nocodecmodules"
5890 echocheck
"FAAD2 (AAC) support"
5891 if test "$_faad_internal" = auto
; then
5892 if x86
&& test cc_vendor
=gnu
; then
5894 3.1*|
3.2) # ICE/insn with these versions
5896 _res_comment
="broken gcc"
5905 elif test "$_faad_internal" = no
&& test "$_faad_external" = auto
; then
5910 #ifndef FAAD_MIN_STREAMSIZE
5911 #error Too old version
5913 int main(void) { faacDecHandle testhand; faacDecFrameInfo testinfo; testhand = faacDecOpen(); faacDecInit(0, 0, 0, 0, 0); return 0; }
5915 cc_check
$_ld_faad $_ld_lm && _faad_external
=yes
5918 if test "$_faad_internal" = yes ; then
5919 _def_faad_internal
="#define USE_FAAD_INTERNAL 1"
5921 elif test "$_faad_external" = yes ; then
5924 _def_faad_internal
="#undef USE_FAAD_INTERNAL"
5928 if test "$_faad" = yes ; then
5929 _def_faad
='#define HAVE_FAAD 1'
5930 _codecmodules
="faad2 $_codecmodules"
5932 _def_faad
='#undef HAVE_FAAD'
5933 _nocodecmodules
="faad2 $_nocodecmodules"
5939 echocheck
"LADSPA plugin support"
5940 if test "$_ladspa" = auto
; then
5945 const LADSPA_Descriptor *ld = NULL;
5950 cc_check
&& _ladspa
=yes
5952 if test "$_ladspa" = yes; then
5953 _def_ladspa
="#define HAVE_LADSPA"
5954 _afsrc
="$_afsrc af_ladspa.c"
5955 _afmodules
="ladspa $_afmodules"
5957 _def_ladspa
="#undef HAVE_LADSPA"
5958 _noafmodules
="ladspa $_noafmodules"
5964 if x86
&& not qnx
; then
5966 if test "$_win32" = auto
; then
5967 if test -z "$_win32libdir" ; then
5968 for I
in "$_libdir/codecs" "$_libdir/win32" /usr
/local
/lib
/codecs
/usr
/lib
/codecs
/usr
/local
/lib
/win32
/usr
/lib
/win32
; do
5969 if test -d "$I" ; then
5974 # Fall back on a subfolder of the current dir on Windows
5975 mingw32
&& _win32libdir
="codecs"
5979 echocheck
"Win32 codec DLL support"
5980 if test "$_win32" = auto
; then
5982 test -n "$_win32libdir" && _win32
=yes
5984 if test "$_win32" = yes ; then
5985 _def_win32
='#define USE_WIN32DLL 1'
5986 _res_comment
="using $_win32libdir"
5988 _def_win32
='#undef USE_WIN32DLL'
5989 _nocodecmodules
="win32 $_nocodecmodules"
5993 if test "$_win32" != no
; then
5994 _def_win32_loader
='#undef WIN32_LOADER'
5995 echocheck
"Win32 loader support"
5996 _ld_win32
='loader/libloader.a loader/dshow/libDS_Filter.a loader/dmo/libDMO_Filter.a'
5997 _dep_win32
='loader/libloader.a loader/dshow/libDS_Filter.a loader/dmo/libDMO_Filter.a'
5998 _codecmodules
="win32 $_codecmodules"
6000 x86
&& _ld_win32
="$_ld_win32 -li386"
6003 _def_win32_loader
='#define WIN32_LOADER 1'
6005 _ld_win32libs
="$_ld_win32libs -ladvapi32 -lole32"
6006 _res_comment
="using native windows"
6011 fi #if x86 && not qnx
6015 echocheck
"XAnim DLL"
6016 if test "$_xanim" = auto
; then
6018 _res_comment
="dynamic loader support needed"
6019 if test "$_dl" = yes ; then
6020 _res_comment
="no suitable directory found - see DOCS/HTML/$_doc_lang/codecs.html"
6021 if test -z "$_xanimlibdir" ; then
6022 for I
in "$_libdir/codecs" /usr
/local
/lib
/xanim
/mods
/usr
/lib
/xanim
/mods
/usr
/lib
/xanim
$XANIM_MOD_DIR ; do
6023 if test -d "$I" ; then
6029 test "$_xanimlibdir" && _xanim
=yes
6032 if test "$_xanim" = yes ; then
6033 _def_xanim
='#define USE_XANIM 1'
6034 _def_xanim_path
="#define XACODEC_PATH \"$_xanimlibdir\""
6035 _codecmodules
="xanim $_codecmodules"
6036 _res_comment
="using $_xanimlibdir"
6038 _def_xanim
='#undef USE_XANIM'
6039 _def_xanim_path
='#undef XACODEC_PATH'
6040 _nocodecmodules
="xanim $_nocodecmodules"
6044 echocheck
"RealPlayer DLL"
6045 if test "$_real" = auto
; then
6047 _res_comment
="dynamic loader support needed"
6048 if test "$_dl" = yes ||
test "$_win32" = yes ; then
6049 # if test "$_dl" = yes ; then
6050 _res_comment
="tested only on Linux/FreeBSD/NetBSD/Cygwin/MinGW/Darwin"
6051 if linux || freebsd || netbsd || win32 || darwin
; then
6052 _res_comment
="no suitable directory found - see DOCS/HTML/$_doc_lang/codecs.html"
6053 if test -z "$_reallibdir" ; then
6054 for I
in "$_libdir/codecs" "$_libdir/real" /usr
/lib
/real \
6055 /usr
/lib
/RealPlayer
{9,8,}/Codecs
/usr
/local
/RealPlayer
{9,8,}/Codecs \
6056 /usr
/local
/lib
/RealPlayer
{9,8,}/Codecs
/opt
/RealPlayer
{9,8,}/{Real
/,}Codecs \
6057 {~
,}/Applications
/RealOne\ Player.app
/Contents
/MacOS
/Library
/Codecs \
6059 if test -d "$I" ; then
6063 # Fall back on a subfolder of the current dir on Windows
6064 mingw32
&& _reallibdir
="codecs"
6067 test "$_reallibdir" && _real
=yes
6071 if test "$_real" = yes ; then
6072 _def_real
='#define USE_REALCODECS 1'
6073 _def_real_path
="#define REALCODEC_PATH \"$_reallibdir\""
6074 _codecmodules
="real $_codecmodules"
6075 _res_comment
="using $_reallibdir"
6077 _def_real
='#undef USE_REALCODECS'
6078 _def_real_path
="#undef REALCODEC_PATH"
6079 _nocodecmodules
="real $_nocodecmodules"
6084 echocheck
"LIVE555 Streaming Media libraries"
6085 if test "$_live" = auto
&& test "$_network" = yes ; then
6086 cat > $TMPCPP << EOF
6087 #include <liveMedia.hh>
6088 #if (LIVEMEDIA_LIBRARY_VERSION_INT < 1090195200)
6089 #error Please upgrade to version 2004.07.19 or later of the "LIVE555 Streaming Media" libraries - available from <www.live555.com/liveMedia/>
6095 for I
in "$_livelibdir" "$_libdir/live" "/usr/lib/live" "/usr/local/live" "/usr/local/lib/live" ; do
6096 cxx_check
-I$I/liveMedia
/include
-I$I/UsageEnvironment
/include
-I$I/groupsock
/include
&& _livelibdir
=$I && _live
=yes && break
6098 if test "$_live" != yes ; then
6099 if cxx_check
-I/usr
/include
/liveMedia
-I/usr
/include
/UsageEnvironment
-I/usr
/include
/groupsock
; then
6104 if test "$_live" = yes && test "$_network" = yes ; then
6105 _res_comment
="using $_livelibdir"
6106 _def_live
='#define STREAMING_LIVE555 1'
6107 _ld_live
="$_livelibdir/liveMedia/libliveMedia.a \
6108 $_livelibdir/groupsock/libgroupsock.a \
6109 $_livelibdir/UsageEnvironment/libUsageEnvironment.a \
6110 $_livelibdir/BasicUsageEnvironment/libBasicUsageEnvironment.a \
6112 _inc_extra
="$_inc_extra -I$_livelibdir/liveMedia/include \
6113 -I$_livelibdir/UsageEnvironment/include \
6114 -I$_livelibdir/BasicUsageEnvironment/include \
6115 -I$_livelibdir/groupsock/include"
6116 _inputmodules
="live555 $_inputmodules"
6117 elif test "$_live_dist" = yes && test "$_network" = yes ; then
6118 _res_comment
="using distribution version"
6120 _def_live
='#define STREAMING_LIVE555 1'
6121 _ld_live
="-lliveMedia -lgroupsock -lUsageEnvironment -lBasicUsageEnvironment -lstdc++"
6122 _inc_extra
="$_inc_extra -I/usr/include/liveMedia -I/usr/include/UsageEnvironment \
6123 -I/usr/include/BasicUsageEnvironment -I/usr/include/groupsock"
6124 _inputmodules
="live555 $_inputmodules"
6126 _def_live
='#undef STREAMING_LIVE555'
6127 _noinputmodules
="live555 $_noinputmodules"
6132 echocheck
"FFmpeg libavutil (static)"
6133 if test "$_libavutil" = auto
; then
6134 if test -d libavutil
; then
6140 echores
"$_libavutil"
6142 echocheck
"FFmpeg libavcodec (static)"
6143 if test "$_libavcodec" = auto
; then
6144 # Note: static linking is preferred to dynamic linking
6146 _res_comment
="see DOCS/HTML/$_doc_lang/codecs.html"
6147 if test -d libavcodec
&& test -f libavcodec
/utils.c
; then
6148 _res_comment
="old ffmpeg version, use CVS !"
6149 if grep avcodec_find_encoder_by_name libavcodec
/utils.c
> /dev
/null
2>&1 ; then
6150 # check if libavutil is a required
6152 #include "libavcodec/avcodec.h"
6153 #if LIBAVCODEC_BUILD >= 3211265
6154 #error We need libavutil!
6156 int main(void) { return 0; }
6159 if cc_check
-I.
-I.
/libavutil
; then
6160 _libavutil_required
="no"
6162 _libavutil_required
="yes"
6164 _res_comment
="libavutil availability does not fit libavcodec version"
6165 if test "$_libavutil_required" = "$_libavutil"; then
6172 echores
"$_libavcodec"
6174 echocheck
"FFmpeg libavformat (static)"
6175 if test "$_libavformat" = auto
; then
6176 # Note: static linking is preferred to dynamic linking
6178 if test -d libavformat
&& test -f libavformat
/utils.c
; then
6182 echores
"$_libavformat"
6184 echocheck
"FFmpeg libpostproc (static)"
6185 if test "$_libpostproc" = auto
; then
6187 if test -d libpostproc
&& test -f libpostproc
/postprocess.h
; then
6191 echores
"$_libpostproc"
6194 if test "$_libavutil" != yes ; then
6195 echocheck
"FFmpeg libavutil (dynamic)"
6196 if test "$_libavutil_so" = auto
; then
6199 #include <ffmpeg/common.h>
6200 int main(void) { ff_gcd(1,1); return 0; }
6202 if pkg-config
--exists libavutil
; then
6203 _inc_libavutil
=`pkg-config --cflags libavutil`
6204 _ld_libavutil
=`pkg-config --libs libavutil`
6205 cc_check
$_inc_libavutil $_ld_libavutil && _libavutil_so
=yes
6206 elif cc_check
-lavutil $_ld_lm ; then
6209 if test "$_libavutil_so" == yes ; then
6210 _res_comment
="using libavutil.so, but static libavutil is recommended"
6213 # neither static nor shared libavutil is available, but it is mandatory ...
6214 if test "$_libavutil_so" = no
; then
6215 die
"You need static or shared libavutil, MPlayer will not compile without!"
6217 echores
"$_libavutil_so"
6218 fi #if test "$_libavutil" != yes ; then
6220 if test "$_libavcodec" != yes ; then
6221 echocheck
"FFmpeg libavcodec (dynamic)"
6222 if test "$_libavcodec_so" = auto
; then
6224 _res_comment
="libavcodec.so is broken/obsolete"
6225 # FIXME : check for avcodec_find_encoder_by_name() for mencoder
6227 #include <ffmpeg/avcodec.h>
6229 avcodec_find_encoder_by_name("");
6233 if pkg-config
--exists libavcodec
; then
6234 _inc_libavcodec
=`pkg-config --cflags libavcodec`
6235 _ld_libavcodec
=`pkg-config --libs libavcodec`
6236 cc_check
$_inc_libavcodec $_ld_libavcodec && _libavcodec_so
=yes
6237 elif cc_check
-lavcodec $_ld_lm ; then
6240 if test "$_libavcodec_so" == yes ; then
6241 _res_comment
="using libavcodec.so, but static libavcodec is recommended"
6244 echores
"$_libavcodec_so"
6245 fi #if test "$_libavcodec" != yes ; then
6247 if test "$_libavformat" != yes ; then
6248 echocheck
"FFmpeg libavformat (dynamic)"
6249 if test "$_libavformat_so" = auto
; then
6252 #include <ffmpeg/avformat.h>
6253 #include <ffmpeg/opt.h>
6254 int main(void) { av_alloc_format_context(); return 0; }
6256 if pkg-config
--exists libavformat
; then
6257 _inc_libavformat
=`pkg-config --cflags libavformat`
6258 _ld_libavformat
=`pkg-config --libs libavformat`
6259 cc_check
$_inc_libavformat $_ld_libavformat && _libavformat_so
=yes
6260 elif cc_check
$_ld_lm -lavformat ; then
6263 if test "$_libavformat_so" == yes ; then
6264 _res_comment
="using libavformat.so, but static libavformat is recommended"
6267 echores
"$_libavformat_so"
6268 fi #if test "$_libavformat" != yes ; then
6270 if test "$_libpostproc" != yes ; then
6271 echocheck
"FFmpeg libpostproc (dynamic)"
6272 if test "$_libpostproc_so" = auto
; then
6275 #define USE_LIBPOSTPROC 1
6276 #include <inttypes.h>
6277 #include <postproc/postprocess.h>
6279 pp_get_mode_by_name_and_quality("de", 0);
6282 if cc_check
-lpostproc $_ld_lm ; then
6284 _res_comment
="using libpostproc.so, but static libpostproc is recommended"
6287 echores
"$_libpostproc_so"
6288 fi #if test "$_libpostproc" != yes ; then
6290 _def_libavutil
='#undef USE_LIBAVUTIL'
6291 _def_libavutil_so
='#undef USE_LIBAVUTIL_SO'
6292 if test "$_libavutil" = yes ; then
6293 _def_libavutil
='#define USE_LIBAVUTIL 1'
6294 elif test "$_libavutil_so" = yes ; then
6295 _def_libavutil_so
='#define USE_LIBAVUTIL_SO 1'
6298 _def_libavcodec
='#undef USE_LIBAVCODEC'
6299 _def_libavcodec_so
='#undef USE_LIBAVCODEC_SO'
6300 _def_lavc_dsputil
='#undef USE_LIBAVCODEC_DSPUTIL'
6301 if test "$_libavcodec_mpegaudio_hp" = yes ; then
6302 _def_libavcodec_mpegaudio_hp
='#define CONFIG_MPEGAUDIO_HP 1'
6304 if test "$_libavcodec" = yes ; then
6305 _def_libavcodec
='#define USE_LIBAVCODEC 1'
6306 _def_lavc_dsputil
='#define USE_LIBAVCODEC_DSPUTIL'
6307 _ld_libavcodec
='libavcodec/libavcodec.a'
6308 _dep_libavcodec
='libavcodec/libavcodec.a'
6309 _codecmodules
="libavcodec $_codecmodules"
6310 if test "$_libavutil" = yes; then
6311 _ld_libavutil
='libavutil/libavutil.a'
6312 _dep_libavutil
='libavutil/libavutil.a'
6314 elif test "$_libavcodec_so" = yes ; then
6315 _def_libavcodec
='#define USE_LIBAVCODEC 1'
6316 _def_libavcodec_so
='#define USE_LIBAVCODEC_SO 1'
6317 test "$_ld_libavcodec" || _ld_libavcodec
='-lavcodec'
6318 _codecmodules
="libavcodec.so $_codecmodules"
6320 _nocodecmodules
="libavcodec $_nocodecmodules"
6323 _def_libavformat
='#undef USE_LIBAVFORMAT'
6324 _def_libavformat_so
='#undef USE_LIBAVFORMAT_SO'
6325 _def_libavformat_win32
='#undef CONFIG_WIN32'
6326 if test "$_libavformat" = yes ; then
6327 _def_libavformat
='#define USE_LIBAVFORMAT 1'
6328 _ld_libavformat
='libavformat/libavformat.a'
6329 _dep_libavformat
='libavformat/libavformat.a'
6331 _def_libavformat_win32
='#define CONFIG_WIN32 1'
6334 if test "$_libavformat_so" = yes ; then
6335 _def_libavformat_so
='#define USE_LIBAVFORMAT_SO 1'
6336 test "$_ld_libavformat" || _ld_libavformat
='-lavformat'
6338 _def_libavformat_win32
='#define CONFIG_WIN32 1'
6343 _def_libpostproc
='#undef USE_LIBPOSTPROC'
6344 _def_libpostproc_so
='#undef USE_LIBPOSTPROC_SO'
6345 if test "$_libpostproc" = yes ; then
6346 _def_libpostproc
='#define USE_LIBPOSTPROC 1'
6347 _ld_libpostproc
='libpostproc/libpostproc.a'
6348 _dep_libpostproc
='libpostproc/libpostproc.a'
6350 if test "$_libpostproc_so" = yes ; then
6351 _def_libpostproc_so
='#define USE_LIBPOSTPROC_SO 1'
6352 _ld_libpostproc
='-lpostproc'
6356 echocheck
"md5sum support"
6357 if test "$_md5sum" = yes; then
6358 _def_md5sum
="#define HAVE_MD5SUM"
6359 _vosrc
="$_vosrc vo_md5sum.c"
6360 _vomodules
="md5sum $_vomodules"
6362 _def_md5sum
="#undef HAVE_MD5SUM"
6363 _novomodules
="md5sum $_novomodules"
6367 echocheck
"AMR narrowband"
6368 if test "$_amr_nb" = auto
; then
6370 if test -f libavcodec
/amr_float
/sp_dec.c
; then
6371 if test "$_libavcodec" = yes ; then
6374 _res_comment
="libavcodec (static) is required by amr_nb, sorry"
6378 if test "$_amr_nb" = yes ; then
6380 _def_amr
='#define CONFIG_AMR 1'
6381 _def_amr_nb
='#define CONFIG_AMR_NB 1'
6383 _def_amr_nb
='#undef CONFIG_AMR_NB'
6387 echocheck
"AMR narrowband, fixed point"
6388 if test "$_amr_nb_fixed" = auto
; then
6390 if test -f libavcodec
/amr
/dtx_dec.c
; then
6391 if test "$_libavcodec" = yes ; then
6392 if test "$_amr_nb" = no
; then
6395 _res_comment
="disabled by amr_nb"
6398 _res_comment
="libavcodec (static) is required by amr_nb-fixed, sorry"
6402 if test "$_amr_nb_fixed" = yes ; then
6404 _def_amr
='#define CONFIG_AMR 1'
6405 _def_amr_nb_fixed
='#define CONFIG_AMR_NB_FIXED 1'
6407 _def_amr_nb_fixed
='#undef CONFIG_AMR_NB_FIXED'
6409 echores
"$_amr_nb_fixed"
6411 if test "$_amr_nb" = yes ||
test "$_amr_nb_fixed" = yes ; then
6412 _codecmodules
="amr_nb $_codecmodules"
6414 _nocodecmodules
="amr_nb $_nocodecmodules"
6417 echocheck
"AMR wideband"
6418 if test "$_amr_wb" = auto
; then
6420 if test -f libavcodec
/amrwb_float
/dec_dtx.c
; then
6421 if test "$_libavcodec" = yes ; then
6424 _res_comment
="libavcodec (static) is required by amr_wb, sorry"
6428 if test "$_amr_wb" = yes ; then
6430 _def_amr
='#define CONFIG_AMR 1'
6431 _def_amr_wb
='#define CONFIG_AMR_WB 1'
6432 _codecmodules
="amr_wb $_codecmodules"
6434 _def_amr_wb
='#undef CONFIG_AMR_WB'
6435 _nocodecmodules
="amr_wb $_nocodecmodules"
6439 echocheck
"libdv-0.9.5+"
6440 if test "$_libdv" = auto
; then
6443 #include <libdv/dv.h>
6444 int main(void) { dv_encoder_t* enc=dv_encoder_new(1,1,1); return 0; }
6446 cc_check
-ldv $_ld_lm && _libdv
=yes
6448 if test "$_libdv" = yes ; then
6449 _def_libdv
='#define HAVE_LIBDV095 1'
6451 _codecmodules
="libdv $_codecmodules"
6453 _def_libdv
='#undef HAVE_LIBDV095'
6454 _nocodecmodules
="libdv $_nocodecmodules"
6459 if test "$_zr" = auto
; then
6460 #36067's seem to identify themselves as 36057PQC's, so the line
6461 #below should work for 36067's and 36057's.
6462 if grep -e "Multimedia video controller: Zoran Corporation ZR36057" /proc
/pci
> /dev
/null
2>&1; then
6468 if test "$_zr" = yes ; then
6469 if test "$_libavcodec" = yes ; then
6470 _def_zr
='#define HAVE_ZR 1'
6471 _vosrc
="$_vosrc vo_zr2.c vo_zr.c jpeg_enc.c"
6472 _vomodules
="zr zr2 $_vomodules"
6474 _res_comment
="libavcodec (static) is required by zr, sorry"
6475 _novomodules
="zr $_novomodules"
6476 _def_zr
='#undef HAVE_ZR'
6479 _def_zr
='#undef HAVE_ZR'
6480 _novomodules
="zr zr2 $_novomodules"
6485 if test "$_bl" = yes ; then
6486 _def_bl
='#define HAVE_BL 1'
6487 _vosrc
="$_vosrc vo_bl.c"
6488 _vomodules
="bl $_vomodules"
6490 _def_bl
='#undef HAVE_BL'
6491 _novomodules
="bl $_novomodules"
6498 int main(void) { xvid_init(0, 0, 0, 0); return 0; }
6500 _ld_xvid
="$_ld_xvid -lxvidcore"
6502 if test "$_xvid" != no
&& cc_check
$_ld_xvid $_ld_lm ; then
6504 _def_xvid3
='#define HAVE_XVID3 1'
6505 _def_xvid4
='#undef HAVE_XVID4'
6506 _codecmodules
="xvid $_codecmodules"
6510 int main(void) { xvid_global(0, 0, 0, 0); return 0; }
6512 if test "$_xvid" != no
;then
6513 if cc_check
$_ld_xvid $_ld_lm ; then
6515 elif cc_check
$_ld_xvid $_ld_lm $_ld_pthread ; then
6517 _ld_xvid
="$_ld_xvid $_ld_pthread"
6521 if test "$_xvid4" = yes ; then
6524 _def_xvid3
='#undef HAVE_XVID3'
6525 _def_xvid4
='#define HAVE_XVID4 1'
6526 _codecmodules
="xvid $_codecmodules"
6530 _def_xvid3
='#undef HAVE_XVID3'
6531 _def_xvid4
='#undef HAVE_XVID4'
6532 _nocodecmodules
="xvid $_nocodecmodules"
6537 if test "$_xvid4" = yes ; then
6538 echocheck
"XviD two pass plugin"
6541 int main(void) { xvid_plugin_2pass2_t s; s.vbv_size=0; return 0; }
6543 if cc_check
$_ld_xvid $_ld_lb ; then
6545 _def_lavc_xvid
='#define CONFIG_XVID 1'
6548 _def_lavc_xvid
='#undef CONFIG_XVID'
6550 echores
"$_lavc_xvid"
6554 _def_decore_xvid
='#undef DECORE_XVID'
6555 _def_encore_xvid
='#undef ENCORE_XVID'
6556 if test "$_xvid" = yes ; then
6557 echocheck
"DivX4 compatibility in XviD"
6560 int main(void) { (void) decore(0, 0, 0, 0); return 0; }
6562 cc_check
$_ld_lm "$_ld_xvid" && _xvidcompat
=yes
6563 echores
"$_xvidcompat"
6567 if test "$_x264" = auto
; then
6569 #include <inttypes.h>
6572 #error We do not support old versions of x264. Get the latest from SVN.
6574 int main(void) { x264_encoder_open((void*)0); return 0; }
6576 _ld_x264
="$_ld_x264 -lx264 $_ld_pthread"
6578 if cc_check
$_ld_x264 $_ld_lm ; then
6580 elif test "$_x11" = yes && cc_check
$_ld_x264 $_ld_x11 $_ld_lm ; then
6582 _ld_x264
="$_ld_x264 $_ld_x11"
6586 if test "$_x264" = yes ; then
6588 _def_x264
='#define HAVE_X264 1'
6589 _def_lavc_x264
='#define CONFIG_X264 1'
6590 _codecmodules
="x264 $_codecmodules"
6594 _def_x264
='#undef HAVE_X264'
6595 _def_lavc_x264
='#undef CONFIG_X264'
6596 _nocodecmodules
="x264 $_nocodecmodules"
6602 if test "$_nut" = auto
; then
6606 #include <inttypes.h>
6608 int main(void) { (void)nut_error(0); return 0; }
6612 cc_check
$_ld_nut && _nut
=yes
6615 if test "$_nut" = yes ; then
6616 _def_nut
='#define HAVE_LIBNUT 1'
6619 _def_nut
='#undef HAVE_LIBNUT'
6624 # mencoder requires (optional) those libs: libmp3lame
6625 if test "$_mencoder" != no
; then
6627 echocheck
"libmp3lame (for mencoder)"
6629 _def_mp3lame_preset
='#undef HAVE_MP3LAME_PRESET'
6630 _def_mp3lame_preset_medium
='#undef HAVE_MP3LAME_PRESET_MEDIUM'
6632 #include <lame/lame.h>
6633 int main(void) { lame_version_t lv; (void) lame_init(); get_lame_version_numerical(&lv); printf("%d%d\n",lv.major,lv.minor); return 0; }
6635 # Note: libmp3lame usually depends on vorbis
6636 cc_check
-lmp3lame $_ld_vorbis $_ld_lm && tmp_run
&& _mp3lame
=yes
6637 if test "$_mp3lame" = yes ; then
6638 _def_mp3lame
="#define HAVE_MP3LAME"
6639 _def_lavc_mp3lame
="#define CONFIG_MP3LAME 1"
6640 _ld_mp3lame
="-lmp3lame $_ld_vorbis"
6642 #include <lame/lame.h>
6643 int main(void) { int p = STANDARD_FAST; return 0; }
6645 cc_check
$_ld_mp3lame $_ld_lm && _def_mp3lame_preset
="#define HAVE_MP3LAME_PRESET"
6647 #include <lame/lame.h>
6648 int main(void) { int p = MEDIUM_FAST; return 0; }
6650 cc_check
$_ld_mp3lame $_ld_lm && _def_mp3lame_preset_medium
="#define HAVE_MP3LAME_PRESET_MEDIUM"
6651 echo $_libavencoders |
grep -q mp3lame
&& _lavc_mp3lame
=yes || _lavc_mp3lame
=no
6653 _def_mp3lame
='#undef HAVE_MP3LAME'
6659 echocheck
"mencoder"
6660 _mencoder_flag
='#undef HAVE_MENCODER'
6661 if test "$_mencoder" = yes ; then
6662 _mencoder_flag
='#define HAVE_MENCODER'
6663 _def_muxers
='#define CONFIG_MUXERS 1'
6665 # mpeg1video for vf_lavc, snow for vf_uspp and vf_mcdeint
6666 _libavencoders
="mpeg1video_encoder snow_encoder"
6669 echores
"$_mencoder"
6671 echocheck
"fastmemcpy"
6672 # fastmemcpy check is done earlier with tests of CPU & binutils features
6673 if test "$_fastmemcpy" = yes ; then
6674 _def_fastmemcpy
='#define USE_FASTMEMCPY 1'
6676 _def_fastmemcpy
='#undef USE_FASTMEMCPY'
6678 echores
"$_fastmemcpy"
6680 echocheck
"UniquE RAR File Library"
6681 if test "$_unrarlib" = yes ; then
6682 _def_unrarlib
='#define USE_UNRARLIB 1'
6684 _def_unrarlib
='#undef USE_UNRARLIB'
6686 echores
"$_unrarlib"
6688 echocheck
"TV interface"
6689 if test "$_tv" = yes ; then
6690 _def_tv
='#define USE_TV 1'
6691 _inputmodules
="tv $_inputmodules"
6693 _noinputmodules
="tv $_noinputmodules"
6694 _def_tv
='#undef USE_TV'
6700 echocheck
"*BSD BrookTree 848 TV interface"
6701 if test "$_tv_bsdbt848" = auto
; then
6703 if test "$_tv" = yes ; then
6705 #include <sys/types.h>
6706 #if defined(__NetBSD__)
6707 #include <dev/ic/bt8xx.h>
6709 #include <machine/ioctl_bt848.h>
6711 int main(void) { return 0; }
6713 cc_check
&& _tv_bsdbt848
=yes
6716 if test "$_tv_bsdbt848" = yes ; then
6717 _def_tv_bsdbt848
='#define HAVE_TV_BSDBT848 1'
6718 _inputmodules
="tv-bsdbt848 $_inputmodules"
6720 _def_tv_bsdbt848
='#undef HAVE_TV_BSDBT848'
6721 _noinputmodules
="tv-bsdbt848 $_noinputmodules"
6723 echores
"$_tv_bsdbt848"
6727 echocheck
"Video 4 Linux TV interface"
6728 if test "$_tv_v4l1" = auto
; then
6730 if test "$_tv" = yes && linux
; then
6733 #include <linux/videodev.h>
6734 int main(void) { return 0; }
6736 cc_check
&& _tv_v4l1
=yes
6739 if test "$_tv_v4l1" = yes ; then
6741 _def_tv_v4l
='#define HAVE_TV_V4L 1'
6742 _def_tv_v4l1
='#define HAVE_TV_V4L1 1'
6743 _inputmodules
="tv-v4l $_inputmodules"
6745 _noinputmodules
="tv-v4l1 $_noinputmodules"
6746 _def_tv_v4l
='#undef HAVE_TV_V4L'
6751 echocheck
"Video 4 Linux 2 TV interface"
6752 if test "$_tv_v4l2" = auto
; then
6754 if test "$_tv" = yes && linux
; then
6757 #include <linux/types.h>
6758 #include <linux/videodev2.h>
6759 int main(void) { return 0; }
6761 cc_check
&& _tv_v4l2
=yes
6764 if test "$_tv_v4l2" = yes ; then
6766 _def_tv_v4l
='#define HAVE_TV_V4L 1'
6767 _def_tv_v4l2
='#define HAVE_TV_V4L2 1'
6768 _inputmodules
="tv-v4l2 $_inputmodules"
6770 _noinputmodules
="tv-v4l2 $_noinputmodules"
6771 _def_tv_v4l2
='#undef HAVE_TV_V4L2'
6776 echocheck
"Radio interface"
6777 if test "$_radio" = yes ; then
6778 _def_radio
='#define USE_RADIO 1'
6779 _inputmodules
="radio $_inputmodules"
6780 if test "$_alsa9" != yes -a "$_alsa1x" != yes -a "$_ossaudio" != yes ; then
6783 if test "$_radio_capture" = yes ; then
6784 _def_radio_capture
="#define USE_RADIO_CAPTURE 1"
6786 _def_radio_capture
="#undef USE_RADIO_CAPTURE"
6789 _noinputmodules
="radio $_noinputmodules"
6790 _def_radio
='#undef USE_RADIO'
6791 _def_radio_capture
="#undef USE_RADIO_CAPTURE"
6795 echocheck
"Capture for Radio interface"
6796 echores
"$_radio_capture"
6798 echocheck
"Video 4 Linux 2 Radio interface"
6799 if test "$_radio_v4l2" = auto
; then
6801 if test "$_radio" = yes && linux
; then
6804 #include <linux/types.h>
6805 #include <linux/videodev2.h>
6806 int main(void) { return 0; }
6808 cc_check
&& _radio_v4l2
=yes
6811 if test "$_radio_v4l2" = yes ; then
6812 _def_radio_v4l2
='#define HAVE_RADIO_V4L2 1'
6814 _def_radio_v4l2
='#undef HAVE_RADIO_V4L2'
6816 echores
"$_radio_v4l2"
6818 echocheck
"Video 4 Linux Radio interface"
6819 if test "$_radio_v4l" = auto
; then
6821 if test "$_radio" = yes && linux
; then
6824 #include <linux/videodev.h>
6825 int main(void) { return 0; }
6827 cc_check
&& _radio_v4l
=yes
6830 if test "$_radio_v4l" = yes ; then
6831 _def_radio_v4l
='#define HAVE_RADIO_V4L 1'
6833 _def_radio_v4l
='#undef HAVE_RADIO_V4L'
6835 echores
"$_radio_v4l"
6837 if test "$_radio_v4l" = no
&& test "$_radio_v4l2" = no
&& test "$_radio" = yes ; then
6838 die
"Radio driver requires V4L or V4L2!"
6841 echocheck
"Video 4 Linux 2 MPEG PVR interface"
6842 if test "$_pvr" = auto
; then
6844 if test "$_tv_v4l2" = yes && linux
; then
6847 #include <inttypes.h>
6848 #include <linux/types.h>
6849 #include <linux/videodev2.h>
6850 int main(void) { struct v4l2_ext_controls ext; return 0; }
6852 cc_check
&& _pvr
=yes
6855 if test "$_pvr" = yes ; then
6856 _def_pvr
='#define HAVE_PVR 1'
6857 _inputmodules
="pvr $_inputmodules"
6859 _noinputmodules
="pvr $_noinputmodules"
6860 _def_pvr
='#undef HAVE_PVR'
6865 echocheck
"audio select()"
6866 if test "$_select" = no
; then
6867 _def_select
='#undef HAVE_AUDIO_SELECT'
6868 elif test "$_select" = yes ; then
6869 _def_select
='#define HAVE_AUDIO_SELECT 1'
6875 # FIXME network check
6876 if test "$_network" = yes ; then
6877 _def_network
='#define MPLAYER_NETWORK 1'
6878 _ld_network
="$_ld_sock"
6879 _inputmodules
="network $_inputmodules"
6881 _noinputmodules
="network $_noinputmodules"
6882 _def_network
='#undef MPLAYER_NETWORK'
6888 if not beos
&& test "$_ftp" = yes ; then
6889 _def_ftp
='#define HAVE_FTP 1'
6890 _inputmodules
="ftp $_inputmodules"
6892 _noinputmodules
="ftp $_noinputmodules"
6893 _def_ftp
='#undef HAVE_FTP'
6897 echocheck
"vstream client"
6898 if test "$_vstream" = auto
; then
6901 #include <vstream-client.h>
6902 void vstream_error(const char *format, ... ) {}
6903 int main(void) { vstream_start(); return 0; }
6905 cc_check
-lvstream-client && _vstream
=yes
6907 if test "$_vstream" = yes ; then
6908 _def_vstream
='#define HAVE_VSTREAM 1'
6909 _inputmodules
="vstream $_inputmodules"
6910 _ld_vstream
='-lvstream-client'
6912 _noinputmodules
="vstream $_noinputmodules"
6913 _def_vstream
='#undef HAVE_VSTREAM'
6918 echocheck
"byte order"
6919 if test "$_big_endian" = auto
; then
6921 short ascii_name[] = { (('M'<<8)|'P'),(('l'<<8)|'a'),(('y'<<8)|'e'),(('r'<<8)|'B'),
6922 (('i'<<8)|'g'),(('E'<<8)|'n'),(('d'<<8)|'i'),(('a'<<8)|'n'),0};
6924 return (int)ascii_name;
6928 if strings $TMPO |
grep -l MPlayerBigEndian
>/dev
/null
; then
6934 echo -n "failed to autodetect byte order, defaulting to "
6937 if test "$_big_endian" = yes ; then
6938 _byte_order
='big-endian'
6939 _def_words_endian
='#define WORDS_BIGENDIAN 1'
6941 _byte_order
='little-endian'
6942 _def_words_endian
='#undef WORDS_BIGENDIAN'
6944 echores
"$_byte_order"
6946 echocheck
"OSD menu"
6947 if test "$_menu" = yes ; then
6948 _def_menu
='#define HAVE_MENU 1'
6950 _def_menu
='#undef HAVE_MENU'
6955 echocheck
"QuickTime codecs"
6956 if test "$_qtx" = auto
; then
6957 test "$_win32" = yes || darwin
&& _qtx
=yes
6959 if test "$_qtx" = yes ; then
6960 _def_qtx
='#define USE_QTX_CODECS 1'
6961 _codecmodules
="qtx $_codecmodules"
6963 _def_qtx
='#undef USE_QTX_CODECS'
6964 _nocodecmodules
="qtx $_nocodecmodules"
6969 echocheck
"Subtitles sorting"
6970 if test "$_sortsub" = yes ; then
6971 _def_sortsub
='#define USE_SORTSUB 1'
6973 _def_sortsub
='#undef USE_SORTSUB'
6978 echocheck
"XMMS inputplugin support"
6979 if test "$_xmms" = yes ; then
6981 if ( xmms-config
--version ) >/dev
/null
2>&1 ; then
6982 if test -z "$_xmmsplugindir" ; then
6983 _xmmsplugindir
=`xmms-config --input-plugin-dir`
6985 if test -z "$_xmmslibdir" ; then
6986 _xmmslibdir
=`xmms-config --exec-prefix`/lib
6989 if test -z "$_xmmsplugindir" ; then
6990 _xmmsplugindir
=/usr
/lib
/xmms
/Input
6992 if test -z "$_xmmslibdir" ; then
6993 _xmmslibdir
=/usr
/lib
6997 _def_xmms
='#define HAVE_XMMS 1'
6999 _xmms_lib
="${_xmmslibdir}/libxmms.dylib"
7001 _xmms_lib
="${_xmmslibdir}/libxmms.so.1 -export-dynamic"
7004 _def_xmms
='#undef HAVE_XMMS'
7009 if test "$_inet6" = auto
; then
7011 #include <sys/types.h>
7012 #include <sys/socket.h>
7013 int main(void) { socket(AF_INET6, SOCK_STREAM, AF_INET6); }
7020 if test "$_inet6" = yes ; then
7021 _def_inet6
='#define HAVE_AF_INET6 1'
7023 _def_inet6
='#undef HAVE_AF_INET6'
7028 echocheck
"gethostbyname2"
7029 if test "$_gethostbyname2" = auto
; then
7031 #include <sys/types.h>
7032 #include <sys/socket.h>
7034 int main(void) { gethostbyname2("", AF_INET); }
7042 if test "$_gethostbyname2" = yes ; then
7043 _def_gethostbyname2
='#define HAVE_GETHOSTBYNAME2 1'
7045 _def_gethostbyname2
='#undef HAVE_GETHOSTBYNAME2'
7047 echores
"$_gethostbyname2"
7050 # --------------- GUI specific tests begin -------------------
7053 if test "$_gui" = yes ; then
7055 # Required libraries
7056 test "$_png" != yes && die
"The GUI requires PNG support, please install libpng and libpng-dev packages."
7058 test "$_x11" != yes && die
"X11 support required for GUI compilation."
7060 echocheck
"XShape extension"
7061 if test "$_xshape" = auto
; then
7064 #include <X11/Xlib.h>
7065 #include <X11/Xproto.h>
7066 #include <X11/Xutil.h>
7067 #include <X11/extensions/shape.h>
7070 char *name = ":0.0";
7073 int eventbase, errorbase;
7074 if (getenv("DISPLAY"))
7075 name=getenv("DISPLAY");
7076 wsDisplay=XOpenDisplay(name);
7077 if (!XShapeQueryExtension(wsDisplay,&eventbase,&errorbase))
7079 XCloseDisplay(wsDisplay);
7083 cc_check
$_ld_x11 && _xshape
=yes
7085 if test "$_xshape" = yes ; then
7086 _def_xshape
='#define HAVE_XSHAPE 1'
7088 die
"The GUI requires the X11 extension XShape (which was not found)."
7093 if test "$_gtk1" = no
; then
7095 echocheck
"GTK+ version"
7097 if pkg-config gtk
+-2.0
--exists ; then
7098 _gtk
=`pkg-config gtk+-2.0 --modversion 2>/dev/null`
7099 _inc_extra
="$_inc_extra `pkg-config gtk+-2.0 --cflags 2>/dev/null`"
7100 _ld_gtk
=`pkg-config gtk+-2.0 --libs 2>/dev/null`
7104 if pkg-config glib-2.0
--exists ; then
7105 echocheck
"glib version"
7106 _glib
=`pkg-config glib-2.0 --modversion 2>/dev/null`
7107 _ld_glib
=`pkg-config glib-2.0 --libs 2>/dev/null`
7110 _def_gui
='#define HAVE_NEW_GUI 1'
7111 _def_gtk2_gui
='#define HAVE_GTK2_GUI 1'
7114 echo "GLIB-2 devel packages were not found, trying GTK 1.2"
7117 echo "GTK-2 devel packages were not found, trying GTK 1.2"
7122 if test "$_gtk1" = yes ; then
7123 # Check for old GTK (1.2.x)
7124 echocheck
"GTK version"
7125 if test -z "$_gtkconfig" ; then
7126 if ( gtk-config
--version ) >/dev
/null
2>&1 ; then
7127 _gtkconfig
="gtk-config"
7128 elif ( gtk12-config
--version ) >/dev
/null
2>&1 ; then
7129 _gtkconfig
="gtk12-config"
7131 die
"The GUI requires GTK devel packages (which were not found)."
7134 _gtk
=`$_gtkconfig --version 2>&1`
7135 _inc_extra
="$_inc_extra `$_gtkconfig --cflags 2>&1`"
7136 _ld_gtk
=`$_gtkconfig --libs 2>&1`
7137 echores
"$_gtk (using $_gtkconfig)"
7140 echocheck
"glib version"
7141 if test -z "$_glibconfig" ; then
7142 if ( glib-config
--version ) >/dev
/null
2>&1 ; then
7143 _glibconfig
="glib-config"
7144 elif ( glib12-config
--version ) >/dev
/null
2>&1 ; then
7145 _glibconfig
="glib12-config"
7147 die
"The GUI requires GLIB devel packages (which were not found)"
7150 _glib
=`$_glibconfig --version 2>&1`
7151 _ld_glib
=`$_glibconfig --libs 2>&1`
7152 echores
"$_glib (using $_glibconfig)"
7154 _def_gui
='#define HAVE_NEW_GUI 1'
7155 _def_gtk2_gui
='#undef HAVE_GTK2_GUI'
7159 _ld_win32libs
="-lcomdlg32 -lcomctl32 -lshell32 -lkernel32 $_ld_win32libs"
7160 _def_gui
='#define HAVE_NEW_GUI 1'
7161 _def_gtk2_gui
='#undef HAVE_GTK2_GUI'
7164 else #if test "$_gui"
7165 _def_gui
='#undef HAVE_NEW_GUI'
7166 _def_gtk2_gui
='#undef HAVE_GTK2_GUI'
7168 # --------------- GUI specific tests end -------------------
7171 if test "$_charset" = "noconv" ; then
7173 elif test -z "$_charset" ; then
7174 if test "$_gtk1" = yes ; then
7175 _charset
=`cat ${_mp_help}.charset`
7180 if test "$_charset" ; then
7181 _def_charset
="#define MSG_CHARSET \"$_charset\""
7183 _def_charset
="#undef MSG_CHARSET"
7186 if test "$_charset" = `cat ${_mp_help}.charset` ; then
7187 # hack to disable conversion in the Makefile
7191 if test "$_charset" ; then
7192 echocheck
"iconv program"
7193 iconv -f `cat ${_mp_help}.charset` -t $_charset ${_mp_help} > /dev
/null
2>> "$TMPLOG"
7194 if test "$?" -ne 0 ; then
7196 echo "No working iconv program found, use "
7197 echo "--charset=`cat ${_mp_help}.charset` to continue anyway."
7198 echo "If you also have problems with iconv library functions use --charset=noconv."
7199 echo "Messages in the GTK-2 interface will be broken then."
7206 #############################################################################
7208 echocheck
"automatic gdb attach"
7209 if test "$_crash_debug" = yes ; then
7210 _def_crash_debug
='#define CRASH_DEBUG 1'
7212 _def_crash_debug
='#undef CRASH_DEBUG'
7215 echores
"$_crash_debug"
7218 CFLAGS
="$CFLAGS -mdynamic-no-pic -falign-loops=16 -DSYS_DARWIN -DCONFIG_DARWIN -shared-libgcc"
7220 CFLAGS
="$CFLAGS -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk"
7222 if [ "$_cc_major" = 3 ] && [ "$_cc_minor" -lt 1 ]; then
7223 CFLAGS
="$CFLAGS -no-cpp-precomp"
7226 # libavcodec (from ffmpeg) requires CONFIG_DARWIN to enable AltiVec on Darwin/MacOSX
7227 test "$_altivec" = yes && CFLAGS
="$CFLAGS -DCONFIG_DARWIN"
7230 # use flag for HPUX missing setenv()
7231 CFLAGS
="$CFLAGS -DHPUX"
7235 CFLAGS
="$CFLAGS -D_REENTRANT"
7237 # FIXME bsd needs this so maybe other OS'es
7238 CFLAGS
="$CFLAGS -D_THREAD_SAFE"
7240 # 64 bit file offsets?
7241 if test "$_largefiles" = yes || freebsd
; then
7242 CFLAGS
="$CFLAGS -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
7243 if test "$_dvdread" = yes ; then
7244 # dvdread support requires this (for off64_t)
7245 CFLAGS
="$CFLAGS -D_LARGEFILE64_SOURCE"
7249 echocheck
"compiler support for -fno-PIC"
7252 int main(void) { return 0; }
7254 if cc_check
-fno-PIC ; then
7255 CFLAGS
="-fno-PIC $CFLAGS"
7261 echores
"only used for x86"
7264 echocheck
"compiler support for noexecstack"
7266 int main(void) { return 0; }
7268 if cc_check
-Wl,-z,noexecstack
; then
7269 _ld_extra
="-Wl,-z,noexecstack $_ld_extra"
7275 if cc_check
-Wdeclaration-after-statement ; then
7276 CFLAGS
="-Wdeclaration-after-statement $CFLAGS"
7279 echocheck
"ftello()"
7280 # if we don't have ftello use the osdep/ compatibility module
7283 #include <sys/types.h>
7284 int main (void) { ftello(stdin); return 0; }
7287 cc_check
&& _ftello
=yes
7288 if test "$_ftello" = yes ; then
7289 _def_ftello
='#define HAVE_FTELLO 1'
7291 _def_ftello
='#undef HAVE_FTELLO'
7295 # Determine OS dependent libs
7297 _def_confwin32
='#define WIN32'
7298 #CFLAGS="$CFLAGS -D__CYGWIN__ -D__CYGWIN_USE_BIG_TYPES__"
7299 # stat.st_size with BIG_TYPES is broken (not set) ::atmos
7300 CFLAGS
="$CFLAGS -D__CYGWIN__"
7304 _confwin32
='TARGET_WIN32 = yes'
7306 _confwin32
='TARGET_WIN32 = no'
7309 # Dynamic linking flags
7310 # (FIXME: 'echocheck "dynamic linking"' above and modify here accordingly)
7312 bsd
&& _ld_dl_dynamic
='-rdynamic'
7313 if test "$_real" = yes ||
test "$_xanim" = yes && not win32
&& not qnx
&& not darwin
; then
7314 _ld_dl_dynamic
='-rdynamic'
7317 _ld_arch
="$_ld_arch $_ld_pthread $_ld_dl $_ld_dl_dynamic"
7318 bsdos
&& _ld_arch
="$_ld_arch -ldvd"
7320 x86
&& _ld_arch
="$_ld_arch -li386"
7323 _def_debug
='#undef MP_DEBUG'
7324 test "$_debug" != "" && _def_debug
='#define MP_DEBUG 1'
7326 _def_linux
='#undef TARGET_LINUX'
7327 linux
&& _def_linux
='#define TARGET_LINUX 1'
7329 # TODO cleanup the VIDIX stuff here
7330 echocheck
"VIDIX (internal)"
7331 echores
"$_vidix_internal"
7333 echocheck
"VIDIX (external)"
7334 if test "$_vidix_external" = auto
; then
7337 #include <vidix/vidix.h>
7338 int main(void) { return 0; }
7340 cc_check
-lvidix && _vidix_external
=yes
7342 echores
"$_vidix_external"
7344 if test "$_vidix_internal" = yes ||
test "$_vidix_external" = yes ; then
7346 _def_vidix
='#define CONFIG_VIDIX 1'
7349 _def_vidix
='#undef CONFIG_VIDIX'
7352 if test "$_vidix_internal" = yes ; then
7353 _def_vidix_pfx
="#define MP_VIDIX_PFX \"$_libdir\" \"/mplayer/vidix/\" "
7354 elif test "$_vidix_external" = yes ; then
7355 _ld_vidix_external
="-lvidix"
7356 _def_vidix_pfx
='#define MP_VIDIX_PFX "" '
7359 if test "$_vidix" = yes; then
7360 _vosrc
="$_vosrc vo_cvidix.c"
7361 _vomodules
="cvidix $_vomodules"
7363 _novomodules
="cvidix $_novomodules"
7365 if test "$_vidix" = yes && win32
; then
7366 _vosrc
="$_vosrc vo_winvidix.c"
7367 _vomodules
="winvidix $_vomodules"
7368 _ld_win32libs
="-lgdi32 $_ld_win32libs"
7370 _novomodules
="winvidix $_novomodules"
7372 if test "$_vidix" = yes && test "$_x11" = yes; then
7373 _vosrc
="$_vosrc vo_xvidix.c"
7374 _vomodules
="xvidix $_vomodules"
7376 _novomodules
="xvidix $_novomodules"
7379 echocheck
"joystick"
7380 _def_joystick
='#undef HAVE_JOYSTICK'
7381 if test "$_joystick" = yes ; then
7383 # TODO add some check
7384 _def_joystick
='#define HAVE_JOYSTICK 1'
7386 _joystick
="no (unsupported under $system_name)"
7389 echores
"$_joystick"
7392 if test "$_lirc" = auto
; then
7394 if test -c /dev
/lirc
-o -c /dev
/lirc
/0 ; then
7396 #include <lirc/lirc_client.h>
7397 int main(void) { return 0; }
7399 cc_check
-llirc_client && _lirc
=yes
7402 if test "$_lirc" = yes ; then
7403 _def_lirc
='#define HAVE_LIRC 1'
7404 _ld_lirc
='-llirc_client'
7406 _def_lirc
='#undef HAVE_LIRC'
7411 if test "$_lircc" = auto
; then
7414 #include <lirc/lircc.h>
7415 int main(void) { return 0; }
7417 cc_check
-llircc && _lircc
=yes
7419 if test "$_lircc" = yes ; then
7420 _def_lircc
='#define HAVE_LIRCC 1'
7423 _def_lircc
='#undef HAVE_LIRCC'
7427 #############################################################################
7428 echo "Creating config.mak"
7429 cat > config.mak
<< EOF
7430 # -------- Generated by configure -----------
7433 MAN_LANG = $MAN_LANG
7434 TARGET_OS = $system_name
7436 prefix = \$(DESTDIR)$_prefix
7437 BINDIR = \$(DESTDIR)$_bindir
7438 DATADIR = \$(DESTDIR)$_datadir
7439 MANDIR = \$(DESTDIR)$_mandir
7440 CONFDIR = \$(DESTDIR)$_confdir
7441 LIBDIR = \$(DESTDIR)$_libdir
7442 # FFmpeg uses libdir instead of LIBDIR
7450 # FIXME: Should only be _inc_extra eventually.
7451 EXTRA_INC = $_inc_extra
7452 OPTFLAGS = $CFLAGS \$(EXTRA_INC)
7453 STRIPBINARIES = $_stripbinaries
7455 HELP_FILE = $_mp_help
7458 PRG_MENCODER = $_prg_mencoder
7460 MPLAYER_NETWORK = $_network
7462 STREAMING_LIVE555 = $_live
7464 MPLAYER_NETWORK_LIB = $_ld_live $_ld_vstream $_ld_network
7467 VIDIX = $_vidix_internal
7468 EXTERNAL_VIDIX = $_vidix_external
7469 EXTERNAL_VIDIX_LIB = $_ld_vidix_external
7471 CONFIG_MP3LAME = $_mp3lame
7476 LIBMPEG2 = $_libmpeg2
7477 TREMOR_INTERNAL = $_tremor_internal
7478 TREMOR_FLAGS = $_tremor_flags
7482 MUSEPACK = $_musepack
7484 UNRARLIB = $_unrarlib
7489 EXTRALIBS = $_extra_libs
7490 EXTRA_LIB = $_ld_extra
7491 Z_LIB = $_ld_static $_ld_zlib
7493 WIN32_LIB = $_ld_win32libs
7494 STATIC_LIB = $_ld_static
7495 ENCA_LIB = $_ld_enca
7496 HAVE_PTHREADS = $_pthreads
7498 LIBC_LIB = $_ld_libC
7500 HAVE_XVMC_ACCEL = $_xvmc
7507 LIB=\$(LIBPREF)\$(NAME)\$(LIBSUF)
7510 X_LIB = $_ld_gl $_ld_dga $_ld_xv $_ld_xvmc $_ld_vm $_ld_xinerama $_ld_x11 $_ld_sock
7512 MLIB_LIB = $_ld_mlib
7514 JPEG_LIB = $_ld_jpeg
7517 SVGA_LIB = $_ld_svga
7518 VESA_LIB = $_ld_vesa
7520 CACA_LIB = $_ld_caca
7528 ALSA_LIB = $_ld_alsa
7530 ARTS_LIB = $_ld_arts
7532 POLYP_LIB = $_ld_polyp
7533 JACK_LIB = $_ld_jack
7534 OPENAL_LIB = $_ld_openal
7535 SGIAUDIO_LIB = $_ld_sgiaudio
7537 # input/demuxer/codecs
7538 TERMCAP_LIB = $_ld_termcap
7539 JOYSTICK = $_joystick
7541 LIRC_LIB = $_ld_lirc
7542 LIRCC_LIB = $_ld_lircc
7547 TV_BSDBT848 = $_tv_bsdbt848
7550 HAVE_DVD = $_have_dvd
7552 DVDREAD_LIB = $_ld_dvdread
7553 DVDKIT2 = $_mpdvdkit
7555 DVDNAV_LIB = $_ld_dvdnav
7557 W32_DEP = $_dep_win32
7558 W32_LIB = $_ld_win32
7560 REAL_CODECS = $_real
7561 XANIM_CODECS = $_xanim
7562 AV_DEP = $_dep_libavformat $_dep_libavcodec $_dep_libavutil $_dep_libpostproc
7563 AV_LIB = $_ld_libavformat $_ld_libavcodec $_ld_libavutil $_ld_libpostproc
7564 CONFIG_LIBAVUTIL = $_libavutil
7565 CONFIG_LIBAVUTIL_SO = $_libavutil_so
7566 CONFIG_LIBAVCODEC = $_libavcodec
7567 CONFIG_LIBAVCODEC_SO = $_libavcodec_so
7568 CONFIG_LIBAVFORMAT = $_libavformat
7569 CONFIG_LIBAVFORMAT_SO = $_libavformat_so
7570 CONFIG_LIBPOSTPROC = $_libpostproc
7571 CONFIG_LIBPOSTPROC_SO = $_libpostproc_so
7574 FAME_LIB = $_ld_libfame
7576 LIBDV_LIB = $_ld_libdv
7577 ARCH_LIB = $_ld_arch $_ld_iconv
7580 XVID_LIB = $_ld_xvid
7582 X264_LIB = $_ld_x264
7585 CONFIG_DTS = $_libdts
7586 DTS_LIB = $_ld_libdts
7587 MENCODER = $_mencoder
7588 MP3LAME_LIB = $_ld_mp3lame
7589 LAVC_MP3LAME = $_lavc_mp3lame
7590 DIRECTFB_LIB = $_ld_directfb
7592 CDPARANOIA_LIB = $_ld_cdparanoia
7593 BITMAP_FONT = $_bitmap_font
7594 FREETYPE = $_freetype
7595 FREETYPE_LIB = $_ld_freetype
7596 FONTCONFIG_LIB = $_ld_fontconfig
7598 FRIBIDI_LIB = $_ld_fribidi
7599 LIBCDIO_LIB = $_ld_libcdio
7600 LIBLZO_LIB= $_ld_liblzo
7603 LIBVORBIS = $_vorbis
7604 VORBIS_LIB = $_ld_vorbis
7605 SPEEX_LIB = $_ld_speex
7606 LIBTHEORA = $_theora
7607 THEORA_LIB = $_ld_theora
7608 FAAD_LIB = $_ld_faad
7609 FAAD_INTERNAL = $_faad_internal
7610 LIBSMBCLIENT = $_smbsupport
7611 SMBSUPPORT_LIB = $_ld_smb
7612 XMMS_PLUGINS = $_xmms
7613 XMMS_LIB = $_xmms_lib
7615 MACOSX_FINDER_SUPPORT = $_macosx_finder_support
7616 MACOSX_BUNDLE = $_macosx_bundle
7617 MACOSX_FRAMEWORKS = $_macosx_frameworks
7618 MACOSX_COREVIDEO = $_macosx_corevideo
7620 TOOLAME_LIB=$_toolame_lib
7622 TWOLAME_LIB=$_twolame_lib
7623 MUSEPACK_LIB = $_ld_musepack
7627 CONFIG_AMR_NB=$_amr_nb
7628 CONFIG_AMR_NB_FIXED=$_amr_nb_fixed
7629 CONFIG_AMR_WB=$_amr_wb
7630 `echo $_libavdecoders | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/'`
7631 `echo $_libavencoders | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/'`
7632 `echo $_libavparsers | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/'`
7633 `echo $_libavdemuxers | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/'`
7634 `echo $_libavmuxers | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/'`
7636 CONFIG_XVID=$_lavc_xvid
7639 CONFIG_ENCODERS=$_mencoder
7640 CONFIG_MUXERS=$_mencoder
7642 RADIO_CAPTURE=$_radio_capture
7644 # --- Some stuff for autoconfigure ----
7649 TARGET_MMX2 = $_mmxext
7650 TARGET_3DNOW = $_3dnow
7651 TARGET_3DNOWEX = $_3dnowext
7653 TARGET_ALTIVEC = $_altivec
7654 TARGET_ARMV5TE = $_armv5te
7655 TARGET_IWMMXT = $_iwmmxt
7657 TARGET_BUILTIN_VECTOR = $_builtin_vector
7658 TARGET_BUILTIN_3DNOW = $_mm3dnow
7663 GTK_LIBS = $_ld_static \$(GTKLIB) \$(GLIBLIB)
7666 # --- libvo stuff ---
7669 # --- libao2 stuff ---
7672 # --- libaf stuff ---
7677 #############################################################################
7678 echo "Creating config.h"
7679 cat > config.h
<< EOF
7680 /* -------- This file has been automatically generated by configure ---------
7681 Note: Any changes in it will be lost when you run configure again. */
7683 /* Protect against multiple inclusion */
7684 #ifndef MPLAYER_CONFIG_H
7685 #define MPLAYER_CONFIG_H 1
7687 /* use GNU internationalization */
7690 /* name of messages charset */
7693 /* Runtime CPU detection */
7694 $_def_runtime_cpudetection
7696 /* Dynamic a/v plugins */
7697 $_def_dynamic_plugins
7699 /* "restrict" keyword */
7700 $_def_restrict_keyword
7702 /* __builtin_expect branch prediction hint */
7703 $_def_builtin_expect
7704 #ifdef HAVE_BUILTIN_EXPECT
7705 #define likely(x) __builtin_expect ((x) != 0, 1)
7706 #define unlikely(x) __builtin_expect ((x) != 0, 0)
7708 #define likely(x) (x)
7709 #define unlikely(x) (x)
7712 /* attribute(used) as needed by some compilers */
7713 #if (__GNUC__ * 100 + __GNUC_MINOR__ >= 300)
7714 # define attribute_used __attribute__((used))
7716 # define attribute_used
7719 /* compiler support for named assembler arguments */
7720 $_def_named_asm_args
7722 #define PREFIX "$_prefix"
7727 /* enable/disable SIGHANDLER */
7730 /* enable/disable automatic gdb attach on crash, requires SIGHANDLER */
7733 /* Toggles debugging informations */
7736 /* Toggles colorized output */
7737 //#define MSG_USE_COLORS 1
7739 /* Indicates that libcdio is available for VCD and CD-DA playback */
7742 /* Indicates that Ogle's libdvdread is available for DVD playback */
7745 /* Indicates that dvdread is from libmpdvdkit */
7748 /* Additional options for libmpdvdkit*/
7763 /* Common data directory (for fonts, etc) */
7764 #define MPLAYER_DATADIR "$_datadir"
7765 #define MPLAYER_CONFDIR "$_confdir"
7766 #define MPLAYER_LIBDIR "$_libdir"
7768 /* Define this to compile stream-caching support, it can be enabled via
7769 -cache <kilobytes> */
7770 #define USE_STREAM_CACHE 1
7772 /* Define if you are using XviD library */
7778 /* Define if you are using the X.264 library */
7781 /* Define if you are using libnut */
7784 /* Define to include support for libdv-0.9.5 */
7787 /* If build mencoder */
7790 /* Indicates if libmp3lame is available
7791 Note: for mencoder */
7793 $_def_mp3lame_preset
7794 $_def_mp3lame_preset_medium
7796 /* Define this to enable avg. byte/sec-based AVI sync method by default:
7797 (use -bps or -nobps commandline option for run-time method selection)
7798 -bps gives better sync for vbr mp3 audio, it is now default */
7799 #define AVI_SYNC_BPS 1
7801 /* Undefine this if you do not want to select mono audio (left or right)
7802 with a stereo MPEG layer 2/3 audio stream. The command line option
7803 -stereo has three possible values (0 for stereo, 1 for left-only, 2 for
7804 right-only), with 0 being the default.
7806 #define USE_FAKE_MONO 1
7808 /* Undefine this if your sound card driver has no working select().
7809 If you have kernel Oops, player hangups, or just no audio, you should
7810 try to recompile MPlayer with this option disabled! */
7813 /* define this to use iconv(3) function to codepage conversions */
7816 /* define this to use nl_langinfo function */
7819 /* define this to use RTC (/dev/rtc) for video timers */
7822 /* set up max. outburst. use 65536 for ALSA 0.5, for others 16384 is enough */
7823 #define MAX_OUTBURST 65536
7825 /* set up audio OUTBURST. Do not change this! */
7826 #define OUTBURST 512
7828 /* Define this if your system has the header file for the OSS sound interface */
7831 /* Define this if your system has the header file for the OSS sound interface
7832 * in /usr/include */
7835 /* Define this if your system has the sysinfo header */
7838 /* Define this if your system has ftello() */
7842 /* Need these for FILE and off_t an config.h is usually before other includes*/
7844 #include <sys/types.h>
7845 off_t ftello(FILE *);
7848 /* Define this if your system has the "malloc.h" header file */
7851 /* memalign is mapped to malloc if unsupported */
7856 /* assembler handling of .align */
7859 /* Define this if your system has the "alloca.h" header file */
7862 /* Define this if your system has the "sys/mman.h" header file */
7864 $_def_mman_has_map_failed
7866 /* Define this if you have the elf dynamic linker -ldl library */
7869 /* Define this if you have the kstat kernel statistics library */
7872 /* Define this if you have zlib */
7875 #define CONFIG_ZLIB 1
7878 /* Define this if you have shm support */
7881 /* Define this if your system has scandir & alphasort */
7884 /* Define this if your system has strsep */
7887 /* Define this if your system has strlcpy */
7889 #ifndef HAVE_STRLCPY
7890 unsigned int strlcpy (char *dest, const char *src, unsigned int size);
7893 /* Define this if your system has strlcat */
7895 #ifndef HAVE_STRLCAT
7896 unsigned int strlcat (char *dest, const char *src, unsigned int size);
7899 /* Define this if your system has fseeko */
7902 /* Need these for FILE and off_t an config.h is usually before other includes*/
7904 #include <sys/types.h>
7905 int fseeko(FILE *, off_t, int);
7910 /* Define this if your system has vsscanf */
7913 /* Define this if your system has swab */
7916 /* Define this if your system has no posix select */
7917 $_def_no_posix_select
7919 /* Define this if your system has gettimeofday */
7922 /* Define this if your system has glob */
7925 /* Define this if your system has setenv */
7928 int setenv(const char *name, const char *val, int overwrite);
7931 /* Define this if your system has sysi86 */
7934 /* Define this if your system has pthreads */
7937 /* Define this if you enabled thread support for libavcodec */
7940 /* LIRC (remote control, see www.lirc.org) support: */
7944 * LIRCCD (LIRC client daemon)
7945 * See http://www.dolda2000.cjb.net/~fredrik/lirccd/
7949 /* DVD navigation support using libdvdnav */
7951 $_def_dvdnav_version
7953 /* Define this to enable MPEG 1/2 image postprocessing (requires a FAST CPU!) */
7954 #define MPEG12_POSTPROC 1
7956 /* Define this to enable image postprocessing in libavcodec (requires a FAST CPU!) */
7958 $_def_libpostproc_so
7960 /* Win32 DLL support */
7962 #define WIN32_PATH "$_win32libdir"
7964 /* Mac OS X specific features */
7966 $_def_macosx_finder_support
7968 $_def_macosx_corevideo
7970 /* Build our Win32-loader */
7973 /* ffmpeg's libavcodec support (requires libavcodec source) */
7977 $_def_libavcodec_mpegaudio_hp
7979 /* ffmpeg's libavformat support (requires libavformat source) */
7981 $_def_libavformat_so
7982 $_def_libavformat_win32
7987 /* Use libavcodec's decoders */
7988 #define CONFIG_DECODERS 1
7989 /* Use libavcodec's encoders */
7990 #define CONFIG_ENCODERS 1
7992 /* Use libavformat's demuxers */
7993 #define CONFIG_DEMUXERS 1
7994 /* Use libavformat's muxers */
7997 #define CONFIG_GPL 1
7999 /* Use amr codecs from libavcodec (requires amr sources) */
8005 /* Use specific parts from FFmpeg. */
8006 `echo $_libavdecoders | tr '[a-z] ' '[A-Z]\n' | sed 's/^/#define CONFIG_/;s/$/ 1/'`
8007 `echo $_libavencoders | tr '[a-z] ' '[A-Z]\n' | sed 's/^/#define CONFIG_/;s/$/ 1/'`
8008 `echo $_libavparsers | tr '[a-z] ' '[A-Z]\n' | sed 's/^/#define CONFIG_/;s/$/ 1/'`
8009 `echo $_libavdemuxers | tr '[a-z] ' '[A-Z]\n' | sed 's/^/#define CONFIG_/;s/$/ 1/'`
8010 `echo $_libavmuxers | tr '[a-z] ' '[A-Z]\n' | sed 's/^/#define CONFIG_/;s/$/ 1/'`
8016 /* Use codec libs included in mplayer CVS / source dist: */
8022 /* Use libfame encoder filter */
8025 /* XAnim DLL support */
8027 /* Default search path */
8030 /* RealPlayer DLL support */
8032 /* Default search path */
8035 /* LIVE555 Streaming Media library support */
8038 /* Use 3dnow/mmxext/sse/mmx optimized fast memcpy() [maybe buggy... signal 4]*/
8041 /* Use unrarlib for Vobsubs */
8044 /* gui support, please do not edit this option */
8048 /* Audio output drivers */
8050 $_def_ossaudio_devdsp
8051 $_def_ossaudio_devmixer
8061 $_def_sys_asoundlib_h
8062 $_def_alsa_asoundlib_h
8068 /* Enable fast OSD/SUB renderer (looks ugly, but uses less CPU power) */
8070 #undef FAST_OSD_TABLE
8072 /* Enable TV Interface support */
8075 /* Enable Video 4 Linux TV interface support */
8078 /* Enable Video 4 Linux 1 TV interface support */
8081 /* Enable Video 4 Linux 2 TV interface support */
8084 /* Enable *BSD BrookTree TV interface support */
8087 /* Enable Radio Interface support */
8090 /* Enable Capture for Radio Interface support */
8093 /* Enable Video 4 Linux Radio interface support */
8096 /* Enable Video 4 Linux 2 Radio interface support */
8099 /* Enable Video 4 Linux 2 MPEG PVR support */
8102 /* Define if your processor stores words with the most significant
8103 byte first (like Motorola and SPARC, unlike Intel and VAX). */
8108 /* For the PPC. G5 has the dcbzl when in 64bit mode but G4s and earlier do not
8109 have the instruction. */
8112 /* libmpeg2 wants ARCH_PPC and the rest of mplayer use ARCH_POWERPC,
8113 * define ARCH_PPC if ARCH_POWERPC is set to cope with that.
8119 /* the same issue as with ARCH_POWERPC but with ffmpeg/libavcodec */
8124 /* only gcc3 can compile mvi instructions */
8125 $_def_gcc_mvi_support
8127 /* Define this for Cygwin build for win32 */
8130 /* Define this to any prefered value from 386 up to infinity with step 100 */
8131 #define __CPU__ $iproc
8140 #define DEFAULT_CDROM_DEVICE "/vol/dev/aliases/cdrom0"
8141 #define DEFAULT_DVD_DEVICE DEFAULT_CDROM_DEVICE
8143 #define DEFAULT_CDROM_DEVICE "/dev/cdrom"
8144 #define DEFAULT_DVD_DEVICE "/dev/dvd"
8145 #elif defined(WIN32)
8146 #define DEFAULT_CDROM_DEVICE "D:"
8147 #define DEFAULT_DVD_DEVICE "D:"
8148 #elif defined(SYS_DARWIN)
8149 #define DEFAULT_CDROM_DEVICE "/dev/disk1"
8150 #define DEFAULT_DVD_DEVICE "/dev/rdiskN"
8151 #elif defined(__OpenBSD__)
8152 #define DEFAULT_CDROM_DEVICE "/dev/rcd0a"
8153 #define DEFAULT_DVD_DEVICE DEFAULT_CDROM_DEVICE
8154 #elif defined(__FreeBSD__)
8155 #define DEFAULT_CDROM_DEVICE "/dev/acd0"
8156 #define DEFAULT_DVD_DEVICE DEFAULT_CDROM_DEVICE
8158 #define DEFAULT_CDROM_DEVICE "/dev/cdrom"
8159 #define DEFAULT_DVD_DEVICE "/dev/dvd"
8163 /*----------------------------------------------------------------------------
8165 ** NOTE: Instead of modifying these definitions here, use the
8166 ** --enable/--disable options of the ./configure script!
8167 ** See ./configure --help for details.
8169 *---------------------------------------------------------------------------*/
8171 /* C99 lrintf function available */
8174 /* round function is available */
8177 /* yes, we have inttypes.h */
8178 #define HAVE_INTTYPES_H 1
8180 /* int_fastXY_t emulation */
8183 /* nanosleep support */
8189 /* termcap flag for getch2.c */
8192 /* termios flag for getch2.c */
8197 /* enable PNG support */
8200 /* enable JPEG support */
8203 /* enable PNM support */
8206 /* enable md5sum support */
8209 /* enable GIF support */
8214 /* enable bitmap font support */
8217 /* enable FreeType support */
8220 /* enable Fontconfig support */
8223 /* enable SSA/ASS support */
8226 /* enable FriBiDi usage */
8229 /* enable ENCA usage */
8232 /* liblzo support */
8235 #define CONFIG_LZO 1
8238 /* libmad support */
8241 /* enable OggVorbis support */
8245 /* enable Speex support */
8248 /* enable musepack support */
8251 /* enable OggTheora support */
8254 /* enable FAAD (AAC) support */
8258 /* enable FAAC (AAC encoder) support */
8261 /* enable LADSPA plugin support */
8264 /* enable network */
8267 /* enable ftp support */
8270 /* enable vstream support */
8273 /* enable winsock2 instead of Unix functions*/
8276 /* define this to use inet_aton() instead of inet_pton() */
8279 /* enables / disables cdparanoia support */
8282 /* enables / disables VIDIX usage */
8286 /* enables / disables new input joystick support */
8289 /* enables / disables QTX codecs */
8292 /* enables / disables osd menu */
8295 /* enables / disables subtitles sorting */
8298 /* XMMS input plugin support */
8300 #define XMMS_INPUT_PLUGIN_DIR "$_xmmsplugindir"
8302 /* enables inet6 support */
8305 /* do we have gethostbyname2? */
8306 $_def_gethostbyname2
8308 /* Extension defines */
8309 $_def_3dnow // only define if you have 3DNOW (AMD k6-2, AMD Athlon, iDT WinChip, etc.)
8310 $_def_3dnowext // only define if you have 3DNOWEXT (AMD Athlon, etc.)
8311 $_def_mmx // only define if you have MMX (newer x86 chips, not P54C/PPro)
8312 $_def_mmxext // only define if you have MMX2 (Athlon/PIII/4/CelII)
8313 $_def_sse // only define if you have SSE (Intel Pentium III/4 or Celeron II)
8314 $_def_sse2 // only define if you have SSE2 (Intel Pentium 4)
8315 $_def_altivec // only define if you have Altivec (G4)
8316 $_def_armv5te // only define if you have Enhanced DSP Extensions (ARM)
8317 $_def_iwmmxt // only define if you have XScale IWMMX (ARM)
8319 $_def_altivec_h // enables usage of altivec.h
8321 $_def_builtin_vector // enables usage of xmmintrin.h
8322 $_def_mm3dnow // enables usage of mm3dnow.h
8324 $_def_mlib // Sun mediaLib, available only on solaris
8325 $_def_vis // only define if you have VIS ( ultrasparc )
8327 /* libmpeg2 uses a different feature test macro for mediaLib */
8329 #define LIBMPEG2_MLIB 1
8333 #define SCREEN_SIZE_X 1
8334 #define SCREEN_SIZE_Y 1
8346 /* defined for SDLlib with keyrepeat bugs (before 1.2.1) */
8356 $_def_directfb_version
8380 #if defined(HAVE_GL) || defined(HAVE_X11) || defined(HAVE_XV)
8381 #define X11_FULLSCREEN 1
8384 #endif /* MPLAYER_CONFIG_H */
8387 #############################################################################
8391 Config files successfully generated by ./configure !
8393 Install prefix: $_prefix
8394 Data directory: $_datadir
8395 Config direct.: $_confdir
8397 Byte order: $_byte_order
8398 Optimizing for: $_optimizing
8401 Messages/GUI: $_language
8404 echo -n " Manual pages: $MAN_LANG"
8405 test "$LANGUAGES" = en
&& echo -n " (no localization selected, use --language=all)"
8410 Enabled optional drivers:
8411 Input: $_inputmodules
8412 Codecs: $_codecmodules
8413 Audio output: $_aomodules
8414 Video output: $_vomodules
8415 Audio filters: $_afmodules
8416 Disabled optional drivers:
8417 Input: $_noinputmodules
8418 Codecs: $_nocodecmodules
8419 Audio output: $_noaomodules
8420 Video output: $_novomodules
8421 Audio filters: $_noafmodules
8423 'config.h' and 'config.mak' contain your configuration options.
8424 Note: If you alter theses files (for instance CFLAGS) MPlayer may no longer
8425 compile *** DO NOT REPORT BUGS if you tweak these files ***
8427 'make' will now compile MPlayer and 'make install' will install it.
8428 Note: On non-Linux systems you might need to use 'gmake' instead of 'make'.
8433 if test "$_mtrr" = yes ; then
8434 echo "Please check mtrr settings at /proc/mtrr (see DOCS/HTML/$_doc_lang/video.html#mtrr)"
8438 if test "$_sdl" = "outdated" ; then
8440 You have an outdated version of libSDL installed (older than v1.1.7) and SDL
8441 support has therefore been disabled.
8443 Please upgrade to a more recent version (version 1.1.8 and above are known to
8444 work). You may get this library from: http://www.libsdl.org
8446 You need to rerun ./configure and recompile after updating SDL. If you are
8447 only interested in the libSDL audio drivers, then an older version might work.
8449 Use --enable-sdl to force usage of libSDL.
8455 if test "$_win32" = no
; then
8456 if test "$_win32libdir" ; then
8457 echo "Failed to find a Win32 codecs dir at $_win32libdir!"
8459 echo "Failed to find a Win32 codecs directory! (default: /usr/local/lib/codecs/)"
8462 Create it and copy the DLL files there! You can download the codecs from our
8463 homepage at http://www.mplayerhq.hu/MPlayer/releases/codecs/
8469 NOTE: Win32 codec DLLs are not supported on your CPU ($host_arch) or your
8470 operating system ($system_name). You may encounter a few files that cannot
8471 be played due to missing open source video/audio codec support.
8479 Check $TMPLOG if you wonder why an autodetection failed (check whether
8480 the development headers/packages are installed).
8481 Do not report compilation errors if you used any of the --enable-* options
8482 (except --enable-gui and maybe --enable-debug).
8484 If you suspect a bug, please read DOCS/HTML/$_doc_lang/bugreports.html.
8488 if test "$_warn_CFLAGS" = yes; then
8491 MPlayer compilation will use the CPPFLAGS/CFLAGS/LDFLAGS set by you, but:
8493 *** *** DO NOT REPORT BUGS IF IT DOES NOT COMPILE/WORK! *** ***
8495 It is strongly recommended to let MPlayer choose the correct CFLAGS!
8496 To do so, execute 'CFLAGS= ./configure <options>'
8502 rm -f "$TMPO" "$TMPC" "$TMPS" "$TMPCPP"