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 --disable-maemo Disable maemo specific features [autodetect]
252 --enable-macosx-finder-support Enable Mac OS X Finder invocation parameter parsing [disabled]
253 --enable-macosx-bundle Enable Mac OS X bundle file locations [autodetect]
254 --disable-inet6 Disable IPv6 support [autodetect]
255 --disable-gethostbyname2 gethostbyname() function is not provided by the C
257 --disable-ftp Disable ftp support [enabled]
258 --disable-vstream Disable tivo vstream client support [autodetect]
259 --disable-pthreads Disable Posix threads support [autodetect]
260 --disable-ass Disable internal SSA/ASS subtitles support [autodetect]
261 --enable-rpath Enable runtime linker path for extra libs [disabled]
264 --enable-gif enable gif support [autodetect]
265 --enable-png enable png input/output support [autodetect]
266 --enable-jpeg enable jpeg input/output support [autodetect]
267 --enable-libcdio enable external libcdio support [autodetect]
268 --enable-liblzo enable external liblzo support [autodetect]
269 --disable-win32 disable Win32 DLL support [autodetect]
270 --disable-qtx disable Quicktime codecs [autodetect]
271 --disable-xanim disable XAnim DLL support [autodetect]
272 --disable-real disable RealPlayer DLL support [autodetect]
273 --disable-xvid disable XviD codec [autodetect]
274 --disable-x264 disable H.264 encoder [autodetect]
275 --disable-nut disable libnut demuxer [autodetect]
276 --disable-libavutil disable libavutil [autodetect]
277 --disable-libavcodec disable libavcodec [autodetect]
278 --disable-libavformat disable libavformat [autodetect]
279 --disable-libpostproc disable libpostproc [autodetect]
280 --disable-libavutil_so disable shared libavutil [autodetect]
281 --disable-libavcodec_so disable shared libavcodec [autodetect]
282 --disable-libavformat_so disable shared libavformat [autodetect]
283 --disable-libpostproc_so disable shared libpostproc [autodetect]
284 --disable-libavcodec_mpegaudio_hp disable high precision audio decoding
285 in libavcodec [enabled]
286 --enable-libfame enable libfame realtime encoder [autodetect]
287 --disable-tremor-internal do not build internal Tremor support [enabled]
288 --enable-tremor-low build with lower accuracy internal Tremor [disabled]
289 --enable-tremor-external build with external Tremor [autodetect]
290 --disable-libvorbis disable libvorbis support [autodetect]
291 --disable-speex disable Speex support [autodetect]
292 --enable-theora build with OggTheora support [autodetect]
293 --enable-faad-external build with external FAAD2 (AAC) support [autodetect]
294 --disable-faad-internal disable internal FAAD2 (AAC) support [autodetect]
295 --enable-faad-fixed enable fixed-point mode in internal FAAD2 [disabled]
296 --disable-faac disable support for FAAC (AAC encoder) [autodetect]
297 --disable-ladspa disable LADSPA plugin support [autodetect]
298 --disable-libdv disable libdv 0.9.5 en/decoding support [autodetect]
299 --disable-mad disable libmad (MPEG audio) support [autodetect]
300 --disable-toolame disable Toolame (MPEG layer 2 audio) support in mencoder [autodetect]
301 --disable-twolame disable Twolame (MPEG layer 2 audio) support in mencoder [autodetect]
302 --enable-xmms build with XMMS inputplugin support [disabled]
303 --disable-mp3lib disable builtin mp3lib [enabled]
304 --disable-liba52 disable builtin liba52 [enabled]
305 --enable-libdts enable libdts support [autodetect]
306 --disable-libmpeg2 disable builtin libmpeg2 [enabled]
307 --disable-musepack disable musepack support [autodetect]
308 --disable-amr_nb disable amr narrowband, floating point [autodetect]
309 --disable-amr_nb-fixed disable amr narrowband, fixed point [autodetect]
310 --disable-amr_wb disable amr wideband, floating point [autodetect]
311 --disable-decoder=DECODER disable specified FFmpeg decoder
312 --enable-decoder=DECODER enable specified FFmpeg decoder
313 --disable-encoder=ENCODER disable specified FFmpeg encoder
314 --enable-encoder=ENCODER enable specified FFmpeg encoder
315 --disable-parser=PARSER disable specified FFmpeg parser
316 --enable-parser=PARSER enable specified FFmpeg parser
317 --disable-demuxer=DEMUXER disable specified FFmpeg demuxer
318 --enable-demuxer=DEMUXER enable specified FFmpeg demuxer
319 --disable-muxer=MUXER disable specified FFmpeg muxer
320 --enable-muxer=MUXER enable specified FFmpeg muxer
323 --disable-vidix-internal disable internal VIDIX [for x86 *nix]
324 --disable-vidix-external disable external VIDIX [for x86 *nix]
325 --enable-gl build with OpenGL render support [autodetect]
326 --enable-dga[=n] build with DGA [n in {1, 2} ] support [autodetect]
327 --enable-vesa build with VESA support [autodetect]
328 --enable-svga build with SVGAlib support [autodetect]
329 --enable-sdl build with SDL render support [autodetect]
330 --enable-aa build with AAlib render support [autodetect]
331 --enable-caca build with CACA render support [autodetect]
332 --enable-ggi build with GGI render support [autodetect]
333 --enable-ggiwmh build with GGI libggiwmh extension [autodetect]
334 --enable-directx build with DirectX support [autodetect]
335 --enable-dxr2 build with DXR2 render support [autodetect]
336 --enable-dxr3 build with DXR3/H+ render support [autodetect]
337 --enable-ivtv build with IVTV TV-Out render support [autodetect]
338 --enable-dvb build with support for output via DVB-Card [autodetect]
339 --enable-dvbhead build with DVB support (HEAD version) [autodetect]
340 --enable-mga build with mga_vid (for Matrox G200/G4x0/G550) support
341 (check for /dev/mga_vid) [autodetect]
342 --enable-xmga build with mga_vid X Window support
343 (check for X & /dev/mga_vid) [autodetect]
344 --enable-xv build with Xv render support for X 4.x [autodetect]
345 --enable-xvmc build with XvMC acceleration for X 4.x [disable]
346 --enable-vm build with XF86VidMode support for X11 [autodetect]
347 --enable-xinerama build with Xinerama support for X11 [autodetect]
348 --enable-x11 build with X11 render support [autodetect]
349 --enable-xshape build with XShape support [autodetect]
350 --enable-fbdev build with FBDev render support [autodetect]
351 --enable-mlib build with mediaLib support (Solaris only) [disable]
352 --enable-3dfx build with obsolete /dev/3dfx support [disable]
353 --enable-tdfxfb build with tdfxfb (Voodoo 3/banshee) support [disable]
354 --enable-s3fb build with s3fb (S3 ViRGE) support [disable]
355 --enable-directfb build with DirectFB support [autodetect]
356 --enable-zr build with ZR360[56]7/ZR36060 support [autodetect]
357 --enable-bl build with Blinkenlights support [disable]
358 --enable-tdfxvid build with tdfx_vid support [disable]
359 --disable-tga disable targa output support [enable]
360 --disable-pnm disable pnm output support [enable]
361 --disable-md5sum disable md5sum output support [enable]
364 --disable-alsa disable ALSA sound support [autodetect]
365 --disable-ossaudio disable OSS sound support [autodetect]
366 --disable-arts disable aRts sound support [autodetect]
367 --disable-esd disable esd sound support [autodetect]
368 --disable-polyp disable Polypaudio sound support [autodetect]
369 --disable-jack disable JACK sound support [autodetect]
370 --disable-openal disable OpenAL sound support [autodetect]
371 --disable-nas disable NAS sound support [autodetect]
372 --disable-sgiaudio disable SGI sound support [autodetect]
373 --disable-sunaudio disable Sun sound support [autodetect]
374 --disable-win32waveout disable Windows waveout sound support [autodetect]
375 --disable-select disable using select() on audio device [enable]
377 Miscellaneous options:
378 --enable-runtime-cpudetection Enable runtime CPU detection [disable]
379 --enable-cross-compile Enable cross-compilation [autodetect]
380 --cc=COMPILER use this C compiler to build MPlayer [gcc]
381 --host-cc=COMPILER use this C compiler to build apps needed for the build process [gcc]
382 --as=ASSEMBLER use this assembler to build MPlayer [as]
383 --target=PLATFORM target platform (i386-linux, arm-linux, etc)
384 --enable-static build a statically linked binary. Set further linking
385 options with --enable-static="-lslang -lncurses"
386 --charset convert the help messages to this charset
387 --language=list a white space or comma separated list of languages
388 for translated man pages, the first language is the
389 primary and therefore used for translated messages
390 and GUI (also the environment variable \$LINGUAS is
392 (Available: $LANGUAGES all)
393 --with-install=PATH use a custom install program (useful if your OS uses
394 a GNU-incompatible install utility by default and
395 you want to use GNU version)
396 --install-path=PATH the path to a custom install program
397 this option is obsolete and will be removed soon,
398 use --with-install instead.
401 --enable-mmx build with MMX support [autodetect]
402 --enable-mmxext build with MMX2 support (PIII, Athlon) [autodetect]
403 --enable-3dnow build with 3DNow! support [autodetect]
404 --enable-3dnowext build with extended 3DNow! support [autodetect]
405 --enable-sse build with SSE support [autodetect]
406 --enable-sse2 build with SSE2 support [autodetect]
407 --enable-shm build with shm support [autodetect]
408 --enable-altivec build with Altivec support (PowerPC) [autodetect]
409 --enable-armv5te build with DSP extensions support (ARM) [autodetect]
410 --enable-iwmmxt build with iWMMXt support (ARM) [autodetect]
411 --disable-fastmemcpy disable 3DNow!/SSE/MMX optimized memcpy() [enable]
412 --enable-big-endian Force byte order to big-endian [autodetect]
413 --enable-debug[=1-3] compile debugging information into mplayer [disable]
414 --enable-profile compile profiling information into mplayer [disable]
415 --disable-sighandler disable sighandler for crashes [enable]
416 --enable-crash-debug enable automatic gdb attach on crash [disable]
417 --enable-dynamic-plugins Enable support for dynamic a/v plugins [disable]
419 Hazardous options a.k.a. "DO NOT REPORT ANY BUGS!"
420 --disable-gcc-check disable gcc version checking [enable]
422 Use these options if autodetection fails (Options marked with (*) accept
423 multiple paths separated by ':'):
424 --with-extraincdir=DIR extra headers (png, mad, sdl, ...) in DIR (*)
425 --with-extralibdir=DIR extra linker search paths in DIR (*)
426 --extra-libs=FLAGS extra linker flags
427 --with-x11libdir=DIR X library files in DIR (*)
428 --with-mliblibdir=DIR libmlib (mediaLib support) in DIR (Solaris only)
429 --with-codecsdir=DIR Binary codec files in DIR
430 --with-win32libdir=DIR W*ndows DLL files in DIR
431 --with-xanimlibdir=DIR XAnim DLL files in DIR
432 --with-reallibdir=DIR RealPlayer DLL files in DIR
433 --with-xvidlibdir=DIR libxvidcore (XviD) in DIR (*)
434 --with-x264libdir=DIR libx264 in DIR
435 --with-libdtslibdir=DIR libdts library in DIR (*)
436 --with-livelibdir=DIR LIVE555 Streaming Media libraries in DIR
437 --with-toolamelibdir=DIR Toolame library in DIR
438 --with-xmmsplugindir=DIR XMMS plugins in DIR
439 --with-xmmslibdir=DIR libxmms.so.1 in DIR
440 --with-cdparanoialibdir=DIR cdparanoia libraries (libcdda_*) in DIR (*)
441 --with-xvmclib=NAME name of adapter-specific library (e.g. XvMCNVIDIA)
443 --with-freetype-config=PATH path to freetype-config
444 (e.g. /opt/bin/freetype-config)
445 --with-fribidi-config=PATH path to fribidi-config
446 (e.g. /opt/bin/fribidi-config)
447 --with-glib-config=PATH path to glib*-config (e.g. /opt/bin/glib-config)
448 --with-gtk-config=PATH path to gtk*-config (e.g. /opt/bin/gtk-config)
449 --with-sdl-config=PATH path to sdl*-config (e.g. /opt/bin/sdl-config)
450 --with-dvdnav-config=PATH path to dvdnav-config (e.g. /opt/bin/dvdnav-config)
452 This configure script is NOT autoconf-based, even though its output is similar.
453 It will try to autodetect all configuration options. If you --enable an option
454 it will be forcefully turned on, skipping autodetection. This can break
455 compilation, so you need to know what you are doing.
460 for parm
in "$@" ; do
467 # 1st pass checking for vital options
480 test "$CC" && _cc
="$CC"
483 _runtime_cpudetection
=no
488 _target
=`echo $ac_option | cut -d '=' -f 2`
491 _cc
=`echo $ac_option | cut -d '=' -f 2`
494 _host_cc
=`echo $ac_option | cut -d '=' -f 2`
497 _as
=`echo $ac_option | cut -d '=' -f 2`
512 _ld_static
="-static `echo $ac_option | cut -d '=' -f 2`"
514 --with-extraincdir=*)
515 _inc_extra
=-I`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -I,g'`
517 --with-extralibdir=*)
518 _ld_extra
=-L`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
521 _extra_libs
=`echo $ac_option | cut -d '=' -f 2`
523 --enable-runtime-cpudetection)
524 _runtime_cpudetection
=yes
526 --disable-runtime-cpudetection)
527 _runtime_cpudetection
=no
529 --enable-cross-compile)
532 --disable-cross-compile)
536 _install
=`echo $ac_option | cut -d '=' -f 2 | sed 's/\/$//'`"/install"
539 _install
=`echo $ac_option | cut -d '=' -f 2 `
551 _debug
=`echo $_echo_n '-g'$_echo_c; echo $ac_option | cut -d '=' -f 2`
559 # Determine our OS name and CPU architecture
560 if test -z "$_target" ; then
562 system_name
=`uname -s 2>&1`
563 case "$system_name" in
564 Linux|FreeBSD|NetBSD|BSD
/OS|OpenBSD|SunOS|QNX|Darwin|GNU|BeOS|MorphOS|AIX
)
572 [cC
][yY
][gG
][wW
][iI
][nN
]*)
579 system_name
="$system_name-UNKNOWN"
584 # host's CPU/instruction set
585 host_arch
=`uname -p 2>&1`
587 i386|sparc|ppc|alpha|arm|mips|vax
)
589 powerpc
) # Darwin returns 'powerpc'
592 *) # uname -p on Linux returns 'unknown' for the processor type,
593 # OpenBSD returns 'Intel Pentium/MMX ("Genuine Intel" 586-class)'
595 # Maybe uname -m (machine hardware name) returns something we
598 # x86/x86pc is used by QNX
599 case "`uname -m 2>&1`" in
600 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
;;
601 ia64
) host_arch
=ia64
;;
603 if [ -n "`$_cc -dumpmachine | sed -n '/^x86_64-/p;/^amd64-/p'`" -a \
604 -z "`echo $CFLAGS | grep -- -m32`" ]; then
610 macppc|ppc|ppc64
) host_arch
=ppc
;;
611 alpha
) host_arch
=alpha
;;
612 sparc
) host_arch
=sparc
;;
613 sparc64
) host_arch
=sparc64
;;
614 parisc
*|hppa
*|
9000*) host_arch
=hppa
;;
615 arm
*|zaurus|cats
) host_arch
=arm
;;
616 s390
) host_arch
=s390
;;
617 s390x
) host_arch
=s390x
;;
618 mips
*) host_arch
=mips
;;
619 vax
) host_arch
=vax
;;
620 *) host_arch
=UNKNOWN
;;
624 else # if test -z "$_target"
625 system_name
=`echo $_target | cut -d '-' -f 2`
626 case "`echo $system_name | tr A-Z a-z`" in
627 linux
) system_name
=Linux
;;
628 freebsd
) system_name
=FreeBSD
;;
629 netbsd
) system_name
=NetBSD
;;
630 bsd
/os
) system_name
=BSD
/OS
;;
631 openbsd
) system_name
=OpenBSD
;;
632 sunos
) system_name
=SunOS
;;
633 qnx
) system_name
=QNX
;;
634 morphos
) system_name
=MorphOS
;;
635 mingw32msvc
) system_name
=MINGW32
;;
637 # We need to convert underscores so that values like k6-2 and pentium-mmx can be passed
638 host_arch
=`echo $_target | cut -d '-' -f 1 | tr '_' '-'`
641 echo "Detected operating system: $system_name"
642 echo "Detected host architecture: $host_arch"
644 # LGB: temporary files
645 for I
in "$TMPDIR" "$TEMPDIR" "/tmp" ; do
649 TMPLOG
="configure.log"
651 TMPC
="$I/mplayer-conf-$RANDOM-$$.c"
652 TMPCPP
="$I/mplayer-conf-$RANDOM-$$.cpp"
653 TMPO
="$I/mplayer-conf-$RANDOM-$$.o"
654 TMPS
="$I/mplayer-conf-$RANDOM-$$.S"
658 # FIXME: A lot of stuff is installed under /usr/local
659 # NK: But we should never use this stuff implicitly since we call compiler
660 # from /usr we should be sure that there no effects from other compilers
661 # (libraries) which might be installed into /usr/local. Let users use this
662 # stuff explicitly as command line argument. In other words: It would be
663 # resonable to have only /usr/include or only /usr/local/include.
666 _ld_extra
="$_ld_extra -L/usr/local/lib"
667 _inc_extra
="$_inc_extra -I/usr/local/include"
681 # Check how to call 'head' and 'tail'. Newer versions spit out warnings
682 # if used as 'head -1' instead of 'head -n 1', but older versions don't
684 if test "`(echo line1 ; echo line2) | head -1 2>/dev/null`" = "line1" ; then
685 _head
() { head -$1 2>/dev
/null
; }
687 _head
() { head -n $1 2>/dev
/null
; }
689 if test "`(echo line1 ; echo line2) | tail -1 2>/dev/null`" = "line2" ; then
690 _tail
() { tail -$1 2>/dev
/null
; }
692 _tail
() { tail -n $1 2>/dev
/null
; }
695 # Checking CC version...
696 if test "$_gcc_check" = yes ; then
697 # Intel C++ Compilers (no autoselect, use CC=/some/binary ./configure)
698 if test "`basename $_cc`" = "icc" ||
test "`basename $_cc`" = "ecc"; then
699 echocheck
"$_cc version"
701 cc_name
=`$_cc -V 2>&1 | _head 1 | cut -d ',' -f 1`
702 cc_version
=`$_cc -V 2>&1 | _head 1 | cut -d ',' -f 2 | cut -d ' ' -f 3`
703 _cc_major
=`echo $cc_version | cut -d '.' -f 1`
704 _cc_minor
=`echo $cc_version | cut -d '.' -f 2`
705 # TODO verify older icc/ecc compatibility
708 cc_version
="v. ?.??, bad"
712 cc_version
="$cc_version, ok"
716 cc_version
="$cc_version, bad"
720 echores
"$cc_version"
722 for _cc
in "$_cc" gcc gcc-3.4 gcc-3.3 gcc-3.2 gcc-3.1 gcc3 gcc-3.0 cc
; do
723 echocheck
"$_cc version"
725 cc_name
=`$_cc -v 2>&1 | _tail 1 | cut -d ' ' -f 1`
726 cc_version
=`$_cc -dumpversion 2>&1`
727 if test "$?" -gt 0; then
728 cc_version
="not found"
732 cc_version
="v. ?.??, bad"
735 2.95.
[2-9]|
2.95.
[2-9][-.
]*|
[3-4].
*)
736 _cc_major
=`echo $cc_version | cut -d '.' -f 1`
737 _cc_minor
=`echo $cc_version | cut -d '.' -f 2`
738 _cc_mini
=`echo $cc_version | cut -d '.' -f 3`
739 cc_version
="$cc_version, ok"
746 cc_version
="$cc_version, bad"
750 echores
"$cc_version"
751 test "$cc_verc_fail" = "no" && break
754 if test "$cc_verc_fail" = yes ; then
757 *** Please downgrade/upgrade C compiler to version gcc-2.95, 3.x or 4.x! ***
759 You are not using a supported compiler. We do not have the time to make sure
760 everything works with compilers other than the ones we use. Use either the
761 same compiler as we do, or use --disable-gcc-check but DO *NOT* REPORT BUGS
762 unless you can reproduce them after recompiling with a 2.95.x or 3/4.x version!
764 Note for gcc 2.96 users: Some versions of this compiler are known to miscompile
765 mplayer and lame (which is used for mencoder). If you get compile errors,
766 first upgrade to the latest 2.96 release (minimum 2.96-85) and try again.
767 If the problem still exists, try with gcc 3.x (or 2.95.x) *BEFORE* reporting
770 GCC 2.96 IS NOT AND WILL NOT BE SUPPORTED BY US !
772 *** For details please read DOCS/HTML/en/users-vs-dev.html ***
775 die
"Bad gcc version"
780 ******************************************************************************
782 Hmm. You really want to compile MPlayer with an *UNSUPPORTED* C compiler?
783 Ok. You know. Do it. Did you read DOCS/HTML/en/users-vs-dev.html???
785 DO NOT SEND BUGREPORTS OR COMPLAIN, it's *YOUR* compiler's fault!
786 Get ready for mysterious crashes, no-picture bugs, strange noises... REALLY!
787 Lame which is used by mencoder produces weird errors, too.
789 If you have any problem, install a GCC 2.95.x or 3.x version and try again.
790 If the problem _still_ exists, then read DOCS/HTML/en/bugreports.html !
792 *** DO NOT SEND BUG REPORTS OR COMPLAIN it's *YOUR* compiler's fault! ***
794 ******************************************************************************
802 test "$_host_cc" || _host_cc
=$_cc
805 echocheck
"cross compilation"
806 if test $_cross_compile = auto
; then
808 int main() { return 0; }
811 cc_check
&& "$TMPO" && _cross_compile
=no
813 echores
$_cross_compile
815 if test $_cross_compile = yes; then
823 # now that we know what compiler should be used for compilation, try to find
824 # out which assembler is used by the $_cc compiler
825 if test "$_as" = auto
; then
826 _as
=`$_cc -print-prog-name=as`
827 test -z "$_as" && _as
=as
830 # XXX: this should be ok..
832 # Cygwin has /proc/cpuinfo, but only supports Intel CPUs
833 # FIXME: Remove the cygwin check once AMD CPUs are supported
834 if test -r /proc
/cpuinfo
&& not cygwin
; then
835 # Linux with /proc mounted, extract CPU information from it
836 _cpuinfo
="cat /proc/cpuinfo"
837 elif test -r /compat
/linux
/proc
/cpuinfo
&& not x86
; then
838 # FreeBSD with Linux emulation /proc mounted,
839 # extract CPU information from it
840 _cpuinfo
="cat /compat/linux/proc/cpuinfo"
841 elif darwin
&& not x86
; then
842 # use hostinfo on Darwin
845 # use 'lsattr' on AIX
846 _cpuinfo
="lsattr -E -l proc0 -a type"
847 elif x86 || x86_64
; then
848 # all other OSes try to extract CPU information from a small helper
849 # program TOOLS/cpuinfo instead
850 $_cc -o TOOLS
/cpuinfo TOOLS
/cpuinfo.c
851 _cpuinfo
="TOOLS/cpuinfo"
854 if x86 || x86_64
; then
855 # gather more CPU information
856 pname
=`$_cpuinfo | grep 'model name' | cut -d ':' -f 2 | _head 1`
857 pvendor
=`$_cpuinfo | grep 'vendor_id' | cut -d ':' -f 2 | cut -d ' ' -f 2 | _head 1`
858 pfamily
=`$_cpuinfo | grep 'cpu family' | cut -d ':' -f 2 | cut -d ' ' -f 2 | _head 1`
859 pmodel
=`$_cpuinfo | grep -v 'model name' | grep 'model' | cut -d ':' -f 2 | cut -d ' ' -f 2 | _head 1`
860 pstepping
=`$_cpuinfo | grep 'stepping' | cut -d ':' -f 2 | cut -d ' ' -f 2 | _head 1`
862 exts
=`$_cpuinfo | egrep 'features|flags' | cut -d ':' -f 2 | _head 1`
864 pparam
=`echo $exts | sed -e s/k6_mtrr/mtrr/ -e s/cyrix_arr/mtrr/ -e s/centaur_mcr/mtrr/ \
865 -e s/xmm/sse/ -e s/kni/sse/`
867 for ext
in $pparam ; do
868 eval _
$ext=auto
&& eval _
$ext=yes
871 # SSE implies MMX2, but not all SSE processors report the mmxext CPU flag.
872 test $_sse = yes && _mmxext
=yes
874 echocheck
"CPU vendor"
875 echores
"$pvendor ($pfamily:$pmodel:$pstepping)"
882 i
[3-9]86|x86|x86pc|k5|k6|k6-2|k6-3|pentium
*|athlon
*|i586-i686
)
883 _def_arch
="#define ARCH_X86 1"
884 _target_arch
="TARGET_ARCH_X86 = yes"
890 3) proc
=i386 iproc
=386 ;;
891 4) proc
=i486 iproc
=486 ;;
892 5) iproc
=586 # LGB: models are: K5/SSA5 K5 K5 K5 ? ? K6 K6 K6-2 K6-3
893 # K6 model 13 are the K6-2+ and K6-III+, only differing in cache size.
894 if test "$pmodel" -eq 9 -o "$pmodel" -eq 13; then
896 elif test "$pmodel" -ge 8; then
898 elif test "$pmodel" -ge 6; then
905 # It's a bit difficult to determine the correct type of Family 6
906 # AMD CPUs just from their signature. Instead, we check directly
907 # whether it supports SSE.
908 if test "$_sse" = yes; then
909 # gcc treats athlon-xp, athlon-4 and athlon-mp similarly.
912 # Again, gcc treats athlon and athlon-tbird similarly.
917 # k8 cpu-type only supported in gcc >= 3.4.0, but that will be
918 # caught and remedied in the optimization tests below.
922 *) proc
=k8 iproc
=686 ;;
927 3) proc
=i386 iproc
=386 ;;
928 4) proc
=i486 iproc
=486 ;;
930 if test "$pmodel" -eq 4 ||
test "$pmodel" -eq 8; then
931 proc
=pentium-mmx
# 4 is desktop, 8 is mobile
937 if test "$pmodel" -eq 9 -o "$pmodel" -ge 13; then
939 elif test "$pmodel" -ge 7; then
941 elif test "$pmodel" -ge 3; then
948 # A nocona in 32-bit mode has no more capabilities than a prescott.
949 if test "$pmodel" -ge 3; then
955 *) proc
=prescott iproc
=686 ;;
961 if test "$pmodel" -ge 8; then
963 elif test "$pmodel" -ge 4; then
970 if test "$pmodel" -ge 9; then
977 *) proc
=i686 iproc
=i686
;;
982 3) proc
=i386 iproc
=386 ;;
983 4) proc
=i486 iproc
=486 ;;
984 *) proc
=i586 iproc
=586 ;;
988 proc
=i586 iproc
=586 ;;
991 # check that gcc supports our CPU, if not, fall back to earlier ones
992 # LGB: check -mcpu and -march swithing step by step with enabling
993 # to fall back till 386.
995 # gcc >= 3.4.0 doesn't support -mcpu, we have to use -mtune instead
997 if [ "$cc_vendor" = "gnu" ] && ([ "$_cc_major" -gt 3 ] ||
( [ "$_cc_major" = 3 ] && [ "$_cc_minor" -ge 4 ])) ; then
1003 echocheck
"GCC & CPU optimization abilities"
1005 int main(void) { return 0; }
1007 if test "$_runtime_cpudetection" = no
; then
1008 if test "$proc" = "k8"; then
1009 cc_check
-march=$proc $cpuopt=$proc || proc
=athlon-xp
1011 if test "$proc" = "athlon-xp"; then
1012 cc_check
-march=$proc $cpuopt=$proc || proc
=athlon
1014 if test "$proc" = "k6-3" ||
test "$proc" = "k6-2"; then
1015 cc_check
-march=$proc $cpuopt=$proc || proc
=k6
1017 if test "$proc" = "k6" ||
test "$proc" = "c3"; then
1018 if not cc_check
-march=$proc $cpuopt=$proc; then
1019 if cc_check
-march=i586
$cpuopt=i686
; then
1026 if test "$proc" = "prescott" ; then
1027 cc_check
-march=$proc $cpuopt=$proc || proc
=pentium4
1029 if test "$proc" = "pentium4" ||
test "$proc" = "pentium-m" ||
test "$proc" = "pentium3" ||
test "$proc" = "pentium2" ||
test "$proc" = "athlon" ||
test "$proc" = "c3-2"; then
1030 cc_check
-march=$proc $cpuopt=$proc || proc
=i686
1032 if test "$proc" = "i686" ||
test "$proc" = "pentium-mmx" ||
test "$proc" = "winchip-c6" ||
test "$proc" = "winchip2"; then
1033 cc_check
-march=$proc $cpuopt=$proc || proc
=i586
1035 if test "$proc" = "i586"; then
1036 cc_check
-march=$proc $cpuopt=$proc || proc
=i486
1038 if test "$proc" = "i486" ; then
1039 cc_check
-march=$proc $cpuopt=$proc || proc
=i386
1041 if test "$proc" = "i386" ; then
1042 cc_check
-march=$proc $cpuopt=$proc || proc
=error
1044 if test "$proc" = "error" ; then
1045 echores
"CPU optimization disabled. CPU not recognized or your compiler is too old."
1049 elif test "$proc" = "i586-i686"; then
1050 _march
="-march=i586"
1051 _mcpu
="$cpuopt=i686"
1054 _march
="-march=$proc"
1055 _mcpu
="$cpuopt=$proc"
1058 else # if test "$_runtime_cpudetection" = no
1059 # i686 is probably the most common CPU - optimize for it
1060 _mcpu
="$cpuopt=i686"
1061 # at least i486 required, for bswap instruction
1062 _march
="-march=i486"
1063 cc_check
$_mcpu || _mcpu
=""
1064 cc_check
$_march $_mcpu || _march
=""
1067 ## Gabucino : --target takes effect here (hopefully...) by overwriting
1068 ## autodetected mcpu/march parameters
1069 if test "$_target" ; then
1070 # TODO: it may be a good idea to check GCC and fall back in all cases
1071 if test "$host_arch" = "i586-i686"; then
1072 _march
="-march=i586"
1073 _mcpu
="$cpuopt=i686"
1075 _march
="-march=$host_arch"
1076 _mcpu
="$cpuopt=$host_arch"
1084 i586|k5|k6|k6-2|k6-3|pentium|pentium-mmx
) iproc
=586 ;;
1085 i686|athlon
*|pentium
*) iproc
=686 ;;
1094 _def_arch
='#define ARCH_IA64 1'
1095 _target_arch
='TARGET_ARCH_IA64 = yes'
1104 _def_arch
='#define ARCH_X86_64 1'
1105 _target_arch
='TARGET_ARCH_X86_64 = yes'
1108 # gcc >= 3.4.0 doesn't support -mcpu, we have to use -mtune instead
1109 if test "$cc_vendor" = "gnu" && test "$_cc_major" -gt 3 -o "$_cc_major" -eq 3 -a "$_cc_minor" -ge 4 ; then
1118 # 64-bit prescotts exist, but as far as GCC is concerned they have the
1119 # same capabilities as a nocona.
1125 echocheck
"GCC & CPU optimization abilities"
1127 int main(void) { return 0; }
1129 # This is a stripped-down version of the i386 fallback.
1130 if test "$_runtime_cpudetection" = no
; then
1131 # --- AMD processors ---
1132 if test "$proc" = "k8"; then
1133 cc_check
-march=$proc $cpuopt=$proc || proc
=athlon-xp
1135 # This will fail if gcc version < 3.3, which is ok because earlier
1136 # versions don't really support 64-bit on amd64.
1137 # Is this a valid assumption? -Corey
1138 if test "$proc" = "athlon-xp"; then
1139 cc_check
-march=$proc $cpuopt=$proc || proc
=error
1141 # --- Intel processors ---
1142 if test "$proc" = "nocona"; then
1143 cc_check
-march=$proc $cpuopt=$proc || proc
=pentium4
1145 if test "$proc" = "pentium4"; then
1146 cc_check
-march=$proc $cpuopt=$proc || proc
=error
1149 _march
="-march=$proc"
1150 _mcpu
="$cpuopt=$proc"
1151 if test "$proc" = "error" ; then
1152 echores
"CPU optimization disabled. CPU not recognized or your compiler is too old."
1156 else # if test "$_runtime_cpudetection" = no
1157 # x86-64 is an undocumented option, an intersection of k8 and nocona.
1158 _march
="-march=x86-64"
1159 _mcpu
="$cpuopt=x86-64"
1160 cc_check
$_mcpu || _mcpu
=""
1161 cc_check
$_march $_mcpu || _march
=""
1170 _def_arch
='#define ARCH_SPARC 1'
1171 _target_arch
='TARGET_ARCH_SPARC = yes'
1174 echocheck
"CPU type"
1176 case "`echo $karch`" in
1181 sun4u
) proc
=v9 _vis
='yes' _def_vis
='#define HAVE_VIS = yes' ;;
1195 _def_arch
='#define ARCH_SPARC 1'
1196 _target_arch
='TARGET_ARCH_SPARC = yes'
1198 _def_vis
='#define HAVE_VIS = yes'
1206 arm|armv4l|armv5tel
)
1207 _def_arch
='#define ARCH_ARMV4L 1'
1208 _target_arch
='TARGET_ARCH_ARMV4L = yes'
1217 _def_arch
='#define ARCH_POWERPC 1'
1218 _def_dcbzl
='#define NO_DCBZL 1'
1219 _target_arch
='TARGET_ARCH_POWERPC = yes'
1227 echocheck
"CPU type"
1228 case $system_name in
1230 proc
=`$_cpuinfo | grep 'cpu' | cut -d ':' -f 2 | cut -d ',' -f 1 | cut -b 2- | _head 1`
1231 if test -n "`$_cpuinfo | grep altivec`"; then
1236 proc
=`$_cpuinfo | grep "Processor type" | cut -f 3 -d ' ' | sed 's/ppc//'`
1237 if [ `sysctl -n hw.vectorunit` -eq 1 -o \
1238 "`sysctl -n hw.optional.altivec 2> /dev/null`" = "1" ]; then
1243 # only gcc 3.4 works reliably with AltiVec code under NetBSD
1245 2*|
3.0*|
3.1*|
3.2*|
3.3*)
1248 if [ `sysctl -n machdep.altivec` -eq 1 ]; then
1255 proc
=`$_cpuinfo | grep 'type' | cut -f 2 -d ' ' | sed 's/PowerPC_//'`
1258 if test "$_altivec" = yes; then
1259 echores
"$proc altivec"
1264 echocheck
"GCC & CPU optimization abilities"
1266 if test -n "$proc"; then
1268 601) _march
='-mcpu=601' _mcpu
='-mtune=601' ;;
1269 603) _march
='-mcpu=603' _mcpu
='-mtune=603' ;;
1270 603e|
603ev
) _march
='-mcpu=603e' _mcpu
='-mtune=603e' ;;
1271 604|
604e|
604r|
604ev
) _march
='-mcpu=604' _mcpu
='-mtune=604' ;;
1272 740|
740/750|
745/755) _march
='-mcpu=740' _mcpu
='-mtune=740' ;;
1273 750|
750CX
) _march
='-mcpu=750' _mcpu
='-mtune=750' ;;
1274 POWER
) _march
='-mcpu=power' _mcpu
='-mtune=power' ;;
1275 POWER2
) _march
='-mcpu=power2' _mcpu
='-mtune=power2' ;;
1276 POWER3
) _march
='-mcpu=power3' _mcpu
='-mtune=power3' ;;
1279 # gcc 3.1(.1) and up supports 7400 and 7450
1280 if test "$_cc_major" -ge "3" && test "$_cc_minor" -ge "1" ||
test "$_cc_major" -ge "4"; then
1282 7400*|
7410*) _march
='-mcpu=7400' _mcpu
='-mtune=7400' ;;
1283 7447*|
7450*|
7455*) _march
='-mcpu=7450' _mcpu
='-mtune=7450' ;;
1287 # gcc 3.2 and up supports 970
1288 if test "$_cc_major" -ge "3" && test "$_cc_minor" -ge "3" ||
test "$_cc_major" -ge "4"; then
1290 970*|PPC970
*) _march
='-mcpu=970' _mcpu
='-mtune=970'
1291 _def_dcbzl
='#undef NO_DCBZL' ;;
1295 # gcc 3.3 and up supports POWER4
1296 if test "$_cc_major" -ge "3" && test "$_cc_minor" -ge "3" ||
test "$_cc_major" -ge "4"; then
1298 POWER4
) _march
='-mcpu=power4' _mcpu
='-mtune=power4' ;;
1302 # gcc 4.0 and up supports POWER5
1303 if test "$_cc_major" -ge "4"; then
1305 POWER5
*) _march
='-mcpu=power5' _mcpu
='-mtune=power5' ;;
1311 if test -n "$_mcpu"; then
1312 _optimizing
=`echo $_mcpu | cut -c 8-`
1313 echores
"$_optimizing"
1321 _def_arch
='#define ARCH_ALPHA 1'
1322 _target_arch
='TARGET_ARCH_ALPHA = yes'
1326 echocheck
"CPU type"
1329 unsigned long ver, mask;
1330 asm ("implver %0" : "=r" (ver));
1331 asm ("amask %1, %0" : "=r" (mask) : "r" (-1));
1332 printf("%ld-%x\n", ver, ~mask);
1336 $_cc -o "$TMPO" "$TMPC"
1339 0-0) proc
="ev4"; cpu_understands_mvi
="0";;
1340 1-0) proc
="ev5"; cpu_understands_mvi
="0";;
1341 1-1) proc
="ev56"; cpu_understands_mvi
="0";;
1342 1-101) proc
="pca56"; cpu_understands_mvi
="1";;
1343 2-303) proc
="ev6"; cpu_understands_mvi
="1";;
1344 2-307) proc
="ev67"; cpu_understands_mvi
="1";;
1345 2-1307) proc
="ev68"; cpu_understands_mvi
="1";;
1349 echocheck
"GCC & CPU optimization abilities"
1350 if test "$proc" = "ev68" ; then
1351 cc_check
-mcpu=$proc || proc
=ev67
1353 if test "$proc" = "ev67" ; then
1354 cc_check
-mcpu=$proc || proc
=ev6
1361 echocheck
"MVI instruction support in GCC"
1362 if test "$_cc_major" -ge "3" && test "$cpu_understands_mvi" = "1" ; then
1363 _def_gcc_mvi_support
="#define CAN_COMPILE_ALPHA_MVI 1"
1366 _def_gcc_mvi_support
="#undef CAN_COMPILE_ALPHA_MVI"
1367 echores
"no, GCC = `$_cc -dumpversion 2>&1` (must be >= 3), CPU = $proc (must be pca56 or later)"
1372 _def_arch
='#define ARCH_SGI_MIPS 1'
1373 _target_arch
='TARGET_ARCH_SGI_MIPS = yes'
1381 echocheck
"CPU type"
1382 proc
=`hinv -c processor | grep CPU | cut -d " " -f3`
1383 case "`echo $proc`" in
1384 R3000
) _march
='-mips1' _mcpu
='-mtune=r2000' ;;
1385 R4000
) _march
='-mips3' _mcpu
='-mtune=r4000' ;;
1386 R4400
) _march
='-mips3' _mcpu
='-mtune=r4400' ;;
1387 R4600
) _march
='-mips3' _mcpu
='-mtune=r4600' ;;
1388 R5000
) _march
='-mips4' _mcpu
='-mtune=r5000' ;;
1389 R8000|R10000|R12000|R14000|R16000
) _march
='-mips4' _mcpu
='-mtune=r8000' ;;
1391 # gcc < 3.x does not support -mtune.
1392 if test "$cc_vendor" = "gnu" && test "$_cc_major" -lt 3 ; then
1401 _def_arch
='#define ARCH_PA_RISC 1'
1402 _target_arch
='TARGET_ARCH_PA_RISC = yes'
1411 _def_arch
='#define ARCH_S390 1'
1412 _target_arch
='TARGET_ARCH_S390 = yes'
1421 _def_arch
='#define ARCH_S390X 1'
1422 _target_arch
='TARGET_ARCH_S390X = yes'
1431 _def_arch
='#define ARCH_VAX 1'
1432 _target_arch
='TARGET_ARCH_VAX = yes'
1441 echo "The architecture of your CPU ($host_arch) is not supported by this configure script"
1442 echo "It seems nobody has ported MPlayer to your OS or CPU type yet."
1443 die
"unsupported architecture $host_arch"
1445 esac # case "$host_arch" in
1447 if test "$_runtime_cpudetection" = yes ; then
1462 if x86
&& test "$_runtime_cpudetection" = no
; then
1464 if test "$1" = yes ; then
1465 echocheck
"kernel support of $2"
1468 void catch() { exit(1); }
1470 signal(SIGILL, catch);
1471 __asm__ __volatile__ ("$3":::"memory");return(0);
1475 if cc_check
&& tmp_run
; then
1477 _optimizing
="$_optimizing $2"
1481 echo "It seems that your kernel does not correctly support $2."
1482 echo "To use $2 extensions in MPlayer, you have to upgrade/recompile your kernel!"
1489 extcheck
$_mmx "mmx" "emms" || _mmx
=no
1490 extcheck
$_mmxext "mmxext" "sfence" || _mmxext
=no
1491 extcheck
$_3dnow "3dnow" "femms" || _3dnow
=no
1492 extcheck
$_3dnowext "3dnowext" "pswapd %%mm0, %%mm0" || _3dnowext
=no
1493 extcheck
$_sse "sse" "xorps %%xmm0, %%xmm0" || _sse
=no _gcc3_ext
="$_gcc3_ext -mno-sse"
1494 extcheck
$_sse2 "sse2" "xorpd %%xmm0, %%xmm0" || _sse2
=no _gcc3_ext
="$_gcc3_ext -mno-sse2"
1495 echocheck
"mtrr support"
1498 if test "$_mtrr" = yes ; then
1499 _optimizing
="$_optimizing mtrr"
1502 if test "$_gcc3_ext" != ""; then
1503 # if we had to disable sse/sse2 because the active kernel does not
1504 # support this instruction set extension, we also have to tell
1505 # gcc3 to not generate sse/sse2 instructions for normal C code
1507 int main(void) { return 0; }
1509 cc_check
$_march $_gcc3_ext && _march
="$_march $_gcc3_ext"
1515 echocheck
"assembler support of -pipe option"
1517 int main(void) { return 0; }
1519 cc_check
-pipe && _pipe
="-pipe" && echores
"yes" || echores
"no"
1522 echocheck
"compiler support of named assembler arguments"
1524 _def_named_asm_args
="#define NAMED_ASM_ARGS 1"
1525 if test "$cc_vendor" = "gnu" && test "$_cc_major" -lt 3 \
1526 -o "$_cc_major" -eq 3 -a "$_cc_minor" = 0 ; then
1528 _def_named_asm_args
="#undef NAMED_ASM_ARGS"
1530 echores
$_named_asm_args
1533 # Checking for CFLAGS
1535 if test "$_profile" != "" ||
test "$_debug" != "" ; then
1536 CFLAGS
="-W -Wall -O2 $_march $_mcpu $_debug $_profile"
1537 if test "$_cc_major" -ge "3" ; then
1538 CFLAGS
=`echo "$CFLAGS" | sed -e 's/\(-Wall\)/\1 -Wno-unused-parameter/'`
1541 elif test -z "$CFLAGS" ; then
1542 CFLAGS
="-O4 $_march $_mcpu $_pipe -ffast-math -fomit-frame-pointer"
1546 if test -n "$LDFLAGS" ; then
1547 _ld_extra
="$_ld_extra $LDFLAGS"
1550 if test -n "$CPPFLAGS" ; then
1551 _inc_extra
="$_inc_extra $CPPFLAGS"
1555 _prefix
="/usr/local"
1557 # GOTCHA: the variables below defines the default behavior for autodetection
1558 # and have - unless stated otherwise - at least 2 states : yes no
1559 # If autodetection is available then the third state is: auto
1566 _libavdecoders
=`grep 'register_avcodec(&[a-z0-9_]*_decoder)' libavcodec/allcodecs.c | sed 's/.*&\(.*\)).*/\1/'`
1567 _libavencoders
=`grep 'register_avcodec(&[a-z0-9_]*_encoder)' libavcodec/allcodecs.c | sed 's/.*&\(.*\)).*/\1/'`
1568 _libavparsers
=`grep 'av_register_codec_parser(&[a-z]' libavcodec/allcodecs.c | sed 's/.*&\(.*\)).*/\1/'`
1569 _libavdemuxers
=`grep 'av_register_input_format(&[a-z]' libavformat/allformats.c | sed 's/.*&\(.*\)).*/\1/'`
1570 _libavmuxers
=`grep 'av_register_output_format(&[a-z]' libavformat/allformats.c | sed 's/.*&\(.*\)).*/\1/'`
1573 _libavformat_so
=auto
1575 _libpostproc_so
=auto
1576 _libavcodec_mpegaudio_hp
=yes
1581 _dga
=auto
# 1 2 no auto
1583 _xvmc
=no
#auto when complete
1620 _tremor_internal
=yes
1622 _tremor_external
=auto
1638 _dvdnavconfig
=dvdnav-config
1649 _mlib
=no
#broken, thus disabled
1669 _vidix_internal
=auto
1670 _vidix_external
=auto
1707 _macosx_finder_support
=no
1710 _freetypeconfig
='freetype-config'
1712 _fribidiconfig
='fribidi-config'
1715 _gethostbyname2
=auto
1724 case "$ac_option" in
1730 --enable-gcc-check) ;;
1731 --disable-gcc-check) ;;
1732 --enable-static*) ;;
1733 --disable-static*) ;;
1734 --with-extraincdir=*) ;;
1735 --with-extralibdir=*) ;;
1737 --enable-runtime-cpudetection) ;;
1738 --disable-runtime-cpudetection) ;;
1739 --enable-cross-compile) ;;
1740 --disable-cross-compile) ;;
1741 --install-path=*) ;;
1742 --with-install=*) ;;
1743 --enable-profile) ;;
1744 --disable-profile) ;;
1746 --enable-debug=*) ;;
1750 --enable-mencoder) _mencoder
=yes ;;
1751 --disable-mencoder) _mencoder
=no
;;
1752 --enable-dynamic-plugins) _dynamic_plugins
=yes ;;
1753 --disable-dynamic-plugins) _dynamic_plugins
=no
;;
1754 --enable-x11) _x11
=yes ;;
1755 --disable-x11) _x11
=no
;;
1756 --enable-xshape) _xshape
=yes ;;
1757 --disable-xshape) _xshape
=no
;;
1758 --enable-xv) _xv
=yes ;;
1759 --disable-xv) _xv
=no
;;
1760 --enable-xvmc) _xvmc
=yes ;;
1761 --disable-xvmc) _xvmc
=no
;;
1762 --enable-sdl) _sdl
=yes ;;
1763 --disable-sdl) _sdl
=no
;;
1764 --enable-directx) _directx
=yes ;;
1765 --disable-directx) _directx
=no
;;
1766 --enable-win32waveout) _win32waveout
=yes ;;
1767 --disable-win32waveout) _win32waveout
=no
;;
1768 --enable-nas) _nas
=yes ;;
1769 --disable-nas) _nas
=no
;;
1770 --enable-png) _png
=yes ;;
1771 --disable-png) _png
=no
;;
1772 --enable-jpeg) _jpeg
=yes ;;
1773 --disable-jpeg) _jpeg
=no
;;
1774 --enable-pnm) _pnm
=yes ;;
1775 --disable-pnm) _pnm
=no
;;
1776 --enable-md5sum) _md5sum
=yes ;;
1777 --disable-md5sum) _md5sum
=no
;;
1778 --enable-gif) _gif
=yes ;;
1779 --disable-gif) _gif
=no
;;
1780 --enable-gl) _gl
=yes ;;
1781 --disable-gl) _gl
=no
;;
1782 --enable-ggi) _ggi
=yes ;;
1783 --disable-ggi) _ggi
=no
;;
1784 --enable-ggiwmh) _ggiwmh
=yes ;;
1785 --disable-ggiwmh) _ggiwmh
=no
;;
1786 --enable-aa) _aa
=yes ;;
1787 --disable-aa) _aa
=no
;;
1788 --enable-caca) _caca
=yes ;;
1789 --disable-caca) _caca
=no
;;
1790 --enable-svga) _svga
=yes ;;
1791 --disable-svga) _svga
=no
;;
1792 --enable-vesa) _vesa
=yes ;;
1793 --disable-vesa) _vesa
=no
;;
1794 --enable-fbdev) _fbdev
=yes ;;
1795 --disable-fbdev) _fbdev
=no
;;
1796 --enable-dvb) _dvb
=yes ;;
1797 --disable-dvb) _dvb
=no
;;
1798 --enable-dvbhead) _dvbhead
=yes ;;
1799 --disable-dvbhead) _dvbhead
=no
;;
1800 --enable-dxr2) _dxr2
=yes ;;
1801 --disable-dxr2) _dxr2
=no
;;
1802 --enable-dxr3) _dxr3
=yes ;;
1803 --disable-dxr3) _dxr3
=no
;;
1804 --enable-ivtv) _ivtv
=yes ;;
1805 --disable-ivtv) _ivtv
=no
;;
1806 --enable-iconv) _iconv
=yes ;;
1807 --disable-iconv) _iconv
=no
;;
1808 --enable-langinfo) _langinfo
=yes ;;
1809 --disable-langinfo) _langinfo
=no
;;
1810 --enable-rtc) _rtc
=yes ;;
1811 --disable-rtc) _rtc
=no
;;
1812 --enable-libdv) _libdv
=yes ;;
1813 --disable-libdv) _libdv
=no
;;
1814 --enable-ossaudio) _ossaudio
=yes ;;
1815 --disable-ossaudio) _ossaudio
=no
;;
1816 --enable-arts) _arts
=yes ;;
1817 --disable-arts) _arts
=no
;;
1818 --enable-esd) _esd
=yes ;;
1819 --disable-esd) _esd
=no
;;
1820 --enable-polyp) _polyp
=yes ;;
1821 --disable-polyp) _polyp
=no
;;
1822 --enable-jack) _jack
=yes ;;
1823 --disable-jack) _jack
=no
;;
1824 --enable-openal) _openal
=yes ;;
1825 --disable-openal) _openal
=no
;;
1826 --enable-mad) _mad
=yes ;;
1827 --disable-mad) _mad
=no
;;
1828 --enable-toolame) _toolame
=yes ;;
1829 --disable-toolame) _toolame
=no
;;
1830 --enable-twolame) _twolame
=yes ;;
1831 --disable-twolame) _twolame
=no
;;
1832 --enable-libcdio) _libcdio
=yes ;;
1833 --disable-libcdio) _libcdio
=no
;;
1834 --enable-liblzo) _liblzo
=yes ;;
1835 --disable-liblzo) _liblzo
=no
;;
1836 --enable-libvorbis) _libvorbis
=yes ;;
1837 --disable-libvorbis) _libvorbis
=no
;;
1838 --enable-speex) _speex
=yes ;;
1839 --disable-speex) _speex
=no
;;
1840 --enable-tremor-internal) _tremor_internal
=yes ;;
1841 --disable-tremor-internal) _tremor_internal
=no
;;
1842 --enable-tremor-low) _tremor_low
=yes ;;
1843 --disable-tremor-low) _tremor_low
=no
;;
1844 --enable-tremor-external) _tremor_external
=yes ;;
1845 --disable-tremor-external) _tremor_external
=no
;;
1846 --enable-theora) _theora
=yes ;;
1847 --disable-theora) _theora
=no
;;
1848 --enable-mp3lib) _mp3lib
=yes ;;
1849 --disable-mp3lib) _mp3lib
=no
;;
1850 --enable-liba52) _liba52
=yes ;;
1851 --disable-liba52) _liba52
=no
;;
1852 --enable-libdts) _libdts
=yes ;;
1853 --disable-libdts) _libdts
=no
;;
1854 --enable-libmpeg2) _libmpeg2
=yes ;;
1855 --disable-libmpeg2) _libmpeg2
=no
;;
1856 --enable-musepack) _musepack
=yes ;;
1857 --disable-musepack) _musepack
=no
;;
1858 --enable-faad-internal) _faad_internal
=yes ;;
1859 --disable-faad-internal) _faad_internal
=no
;;
1860 --enable-faad-external) _faad_external
=yes ;;
1861 --disable-faad-external) _faad_external
=no
;;
1862 --enable-faad-fixed) _faad_fixed
=yes ;;
1863 --disable-faad-fixed) _faad_fixed
=no
;;
1864 --enable-faac) _faac
=yes ;;
1865 --disable-faac) _faac
=no
;;
1866 --enable-ladspa) _ladspa
=yes ;;
1867 --disable-ladspa) _ladspa
=no
;;
1868 --enable-xmms) _xmms
=yes ;;
1869 --disable-xmms) _xmms
=no
;;
1870 --enable-dvdread) _dvdread
=yes ;;
1871 --disable-dvdread) _dvdread
=no
;;
1872 --enable-mpdvdkit) _mpdvdkit
=yes ;;
1873 --disable-mpdvdkit) _mpdvdkit
=no
;;
1874 --enable-dvdnav) _dvdnav
=yes ;;
1875 --disable-dvdnav) _dvdnav
=no
;;
1876 --enable-xanim) _xanim
=yes ;;
1877 --disable-xanim) _xanim
=no
;;
1878 --enable-real) _real
=yes ;;
1879 --disable-real) _real
=no
;;
1880 --enable-live) _live
=yes ;;
1881 --disable-live) _live
=no
;;
1882 --enable-xinerama) _xinerama
=yes ;;
1883 --disable-xinerama) _xinerama
=no
;;
1884 --enable-mga) _mga
=yes ;;
1885 --disable-mga) _mga
=no
;;
1886 --enable-xmga) _xmga
=yes ;;
1887 --disable-xmga) _xmga
=no
;;
1888 --enable-vm) _vm
=yes ;;
1889 --disable-vm) _vm
=no
;;
1890 --enable-xf86keysym) _xf86keysym
=yes ;;
1891 --disable-xf86keysym) _xf86keysym
=no
;;
1892 --enable-mlib) _mlib
=yes ;;
1893 --disable-mlib) _mlib
=no
;;
1894 --enable-sunaudio) _sunaudio
=yes ;;
1895 --disable-sunaudio) _sunaudio
=no
;;
1896 --enable-sgiaudio) _sgiaudio
=yes ;;
1897 --disable-sgiaudio) _sgiaudio
=no
;;
1898 --enable-alsa) _alsa
=yes ;;
1899 --disable-alsa) _alsa
=no
;;
1900 --enable-tv) _tv
=yes ;;
1901 --disable-tv) _tv
=no
;;
1902 --enable-tv-bsdbt848) _tv_bsdbt848
=yes ;;
1903 --disable-tv-bsdbt848) _tv_bsdbt848
=no
;;
1904 --enable-tv-v4l1) _tv_v4l1
=yes ;;
1905 --disable-tv-v4l1) _tv_v4l1
=no
;;
1906 --enable-tv-v4l2) _tv_v4l2
=yes ;;
1907 --disable-tv-v4l2) _tv_v4l2
=no
;;
1908 --enable-radio) _radio
=yes ;;
1909 --enable-radio-capture) _radio_capture
=yes ;;
1910 --disable-radio-capture) _radio_capture
=no
;;
1911 --disable-radio) _radio
=no
;;
1912 --enable-radio-v4l) _radio_v4l
=yes ;;
1913 --disable-radio-v4l) _radio_v4l
=no
;;
1914 --enable-radio-v4l2) _radio_v4l2
=yes ;;
1915 --disable-radio-v4l2) _radio_v4l2
=no
;;
1916 --enable-pvr) _pvr
=yes ;;
1917 --disable-pvr) _pvr
=no
;;
1918 --enable-fastmemcpy) _fastmemcpy
=yes ;;
1919 --disable-fastmemcpy) _fastmemcpy
=no
;;
1920 --enable-network) _network
=yes ;;
1921 --disable-network) _network
=no
;;
1922 --enable-winsock2) _winsock2
=yes ;;
1923 --disable-winsock2) _winsock2
=no
;;
1924 --enable-smb) _smbsupport
=yes ;;
1925 --disable-smb) _smbsupport
=no
;;
1926 --enable-vidix-internal) _vidix_internal
=yes ;;
1927 --disable-vidix-internal) _vidix_internal
=no
;;
1928 --enable-vidix-external) _vidix_external
=yes ;;
1929 --disable-vidix-external) _vidix_external
=no
;;
1930 --enable-joystick) _joystick
=yes ;;
1931 --disable-joystick) _joystick
=no
;;
1932 --enable-xvid) _xvid
=yes ;;
1933 --disable-xvid) _xvid
=no
;;
1934 --enable-x264) _x264
=yes ;;
1935 --disable-x264) _x264
=no
;;
1936 --enable-nut) _nut
=yes ;;
1937 --disable-nut) _nut
=no
;;
1938 --enable-libavutil) _libavutil
=yes ;;
1939 --disable-libavutil) _libavutil
=no
;;
1940 --enable-libavutil_so) _libavutil_so
=yes ;;
1941 --disable-libavutil_so) _libavutil_so
=no
;;
1942 --enable-libavcodec) _libavcodec
=yes ;;
1943 --disable-libavcodec) _libavcodec
=no
;;
1944 --enable-libavcodec_so) _libavcodec_so
=yes ;;
1945 --disable-libavcodec_so) _libavcodec_so
=no
;;
1946 --enable-amr_nb) _amr_nb
=yes ;;
1947 --disable-amr_nb) _amr_nb
=no
;;
1948 --enable-amr_nb-fixed) _amr_nb_fixed
=yes ;;
1949 --disable-amr_nb-fixed) _amr_nb_fixed
=no
;;
1950 --enable-amr_wb) _amr_wb
=yes ;;
1951 --disable-amr_wb) _amr_wb
=no
;;
1952 --enable-decoder=*) _libavdecoders
="$_libavdecoders `echo $ac_option | cut -d '=' -f 2`" ;;
1953 --disable-decoder=*) _libavdecoders
=`echo $_libavdecoders | sed "s/\`echo $ac_option | cut
-d '=' -f 2\
`//g"` ;;
1954 --enable-encoder=*) _libavencoders
="$_libavencoders `echo $ac_option | cut -d '=' -f 2`" ;;
1955 --disable-encoder=*) _libavencoders
=`echo $_libavencoders | sed "s/\`echo $ac_option | cut
-d '=' -f 2\
`//g"` ;;
1956 --enable-parser=*) _libavparsers
="$_libavparsers `echo $ac_option | cut -d '=' -f 2`" ;;
1957 --disable-parser=*) _libavparsers
=`echo $_libavparsers | sed "s/\`echo $ac_option | cut
-d '=' -f 2\
`//g"` ;;
1958 --enable-demuxer=*) _libavdemuxers
="$_libavdemuxers `echo $ac_option | cut -d '=' -f 2`" ;;
1959 --disable-demuxer=*) _libavdemuxers
=`echo $_libavdemuxers | sed "s/\`echo $ac_option | cut
-d '=' -f 2\
`//g"` ;;
1960 --enable-muxer=*) _libavmuxers
="$_libavmuxers `echo $ac_option | cut -d '=' -f 2`" ;;
1961 --disable-muxer=*) _libavmuxers
=`echo $_libavmuxers | sed "s/\`echo $ac_option | cut
-d '=' -f 2\
`//g"` ;;
1962 --enable-libavformat) _libavformat
=yes;;
1963 --disable-libavformat) _libavformat
=no
;;
1964 --enable-libavformat_so) _libavformat_so
=yes ;;
1965 --disable-libavformat_so) _libavformat_so
=no
;;
1966 --enable-libpostproc) _libpostproc
=yes ;;
1967 --disable-libpostproc) _libpostproc
=no
;;
1968 --enable-libpostproc_so) _libpostproc_so
=yes ;;
1969 --disable-libpostproc_so) _libpostproc_so
=no
;;
1970 --enable-libavcodec_mpegaudio_hp) _libavcodec_mpegaudio_hp
=yes ;;
1971 --disable-libavcodec_mpegaudio_hp) _libavcodec_mpegaudio_hp
=no
;;
1973 --enable-libfame) _libfame
=yes ;;
1974 --disable-libfame) _libfame
=no
;;
1975 --enable-lirc) _lirc
=yes ;;
1976 --disable-lirc) _lirc
=no
;;
1977 --enable-lircc) _lircc
=yes ;;
1978 --disable-lircc) _lircc
=no
;;
1979 --enable-gui) _gui
=yes ;;
1980 --disable-gui) _gui
=no
;;
1981 --enable-gtk1) _gtk1
=yes ;;
1982 --disable-gtk1) _gtk1
=no
;;
1983 --enable-termcap) _termcap
=yes ;;
1984 --disable-termcap) _termcap
=no
;;
1985 --enable-termios) _termios
=yes ;;
1986 --disable-termios) _termios
=no
;;
1987 --enable-3dfx) _3dfx
=yes ;;
1988 --disable-3dfx) _3dfx
=no
;;
1989 --enable-s3fb) _s3fb
=yes ;;
1990 --disable-s3fb) _s3fb
=no
;;
1991 --enable-tdfxfb) _tdfxfb
=yes ;;
1992 --disable-tdfxvid) _tdfxvid
=no
;;
1993 --enable-tdfxvid) _tdfxvid
=yes ;;
1994 --disable-tga) _tga
=no
;;
1995 --enable-tga) _tga
=yes ;;
1996 --enable-tdfxfb) _tdfxfb
=yes ;;
1997 --disable-tdfxfb) _tdfxfb
=no
;;
1998 --enable-directfb) _directfb
=yes ;;
1999 --disable-directfb) _directfb
=no
;;
2000 --enable-zr) _zr
=yes ;;
2001 --disable-zr) _zr
=no
;;
2002 --enable-bl) _bl
=yes ;;
2003 --disable-bl) _bl
=no
;;
2004 --enable-mtrr) _mtrr
=yes ;;
2005 --disable-mtrr) _mtrr
=no
;;
2006 --enable-largefiles) _largefiles
=yes ;;
2007 --disable-largefiles) _largefiles
=no
;;
2008 --enable-shm) _shm
=yes ;;
2009 --disable-shm) _shm
=no
;;
2010 --enable-select) _select
=yes ;;
2011 --disable-select) _select
=no
;;
2012 --enable-linux-devfs) _linux_devfs
=yes ;;
2013 --disable-linux-devfs) _linux_devfs
=no
;;
2014 --enable-cdparanoia) _cdparanoia
=yes ;;
2015 --disable-cdparanoia) _cdparanoia
=no
;;
2016 --enable-big-endian) _big_endian
=yes ;;
2017 --disable-big-endian) _big_endian
=no
;;
2018 --enable-bitmap-font) _bitmap_font
=yes ;;
2019 --disable-bitmap-font) _bitmap_font
=no
;;
2020 --enable-freetype) _freetype
=yes ;;
2021 --disable-freetype) _freetype
=no
;;
2022 --enable-fontconfig) _fontconfig
=yes ;;
2023 --disable-fontconfig) _fontconfig
=no
;;
2024 --enable-unrarlib) _unrarlib
=yes ;;
2025 --disable-unrarlib) _unrarlib
=no
;;
2026 --enable-ftp) _ftp
=yes ;;
2027 --disable-ftp) _ftp
=no
;;
2028 --enable-vstream) _vstream
=yes ;;
2029 --disable-vstream) _vstream
=no
;;
2030 --enable-pthreads) _pthreads
=yes ;;
2031 --disable-pthreads) _pthreads
=no
;;
2032 --enable-ass) _ass
=yes ;;
2033 --disable-ass) _ass
=no
;;
2034 --enable-rpath) _rpath
=yes ;;
2035 --disable-rpath) _rpath
=no
;;
2037 --enable-fribidi) _fribidi
=yes ;;
2038 --disable-fribidi) _fribidi
=no
;;
2040 --enable-enca) _enca
=yes ;;
2041 --disable-enca) _enca
=no
;;
2043 --enable-inet6) _inet6
=yes ;;
2044 --disable-inet6) _inet6
=no
;;
2046 --enable-gethostbyname2) _gethostbyname2
=yes ;;
2047 --disable-gethostbyname2) _gethostbyname2
=no
;;
2049 --enable-dga) _dga
=auto
;; # as we don't know if it's 1 or 2
2050 --enable-dga=*) _dga
=`echo $ac_option | cut -d '=' -f 2` ;;
2051 --disable-dga) _dga
=no
;;
2053 --enable-menu) _menu
=yes ;;
2054 --disable-menu) _menu
=no
;;
2056 --enable-qtx) _qtx
=yes ;;
2057 --disable-qtx) _qtx
=no
;;
2059 --enable-macosx) _macosx
=yes ;;
2060 --disable-macosx) _macosx
=no
;;
2061 --enable-macosx-finder-support) _macosx_finder_support
=yes ;;
2062 --disable-macosx-finder-support) _macosx_finder_support
=no
;;
2063 --enable-macosx-bundle) _macosx_bundle
=yes;;
2064 --disable-macosx-bundle) _macosx_bundle
=no
;;
2066 --enable-maemo) _maemo
=yes ;;
2067 --disable-maemo) _maemo
=no
;;
2069 --enable-sortsub) _sortsub
=yes ;;
2070 --disable-sortsub) _sortsub
=no
;;
2073 _charset
=`echo $ac_option | cut -d '=' -f 2`
2076 _language
=`echo $ac_option | cut -d '=' -f 2`
2080 _win32libdir
=`echo $ac_option | cut -d '=' -f 2`
2081 _xanimlibdir
=`echo $ac_option | cut -d '=' -f 2`
2082 _reallibdir
=`echo $ac_option | cut -d '=' -f 2`
2084 --with-win32libdir=*)
2085 _win32libdir
=`echo $ac_option | cut -d '=' -f 2`
2087 --with-xanimlibdir=*)
2088 _xanimlibdir
=`echo $ac_option | cut -d '=' -f 2`
2090 --with-reallibdir=*)
2091 _reallibdir
=`echo $ac_option | cut -d '=' -f 2`
2093 --with-livelibdir=*)
2094 _livelibdir
=`echo $ac_option | cut -d '=' -f 2`
2097 --with-xmmslibdir=*)
2098 _xmmslibdir
=`echo $ac_option | cut -d '=' -f 2`
2101 --with-xmmsplugindir=*)
2102 _xmmsplugindir
=`echo $ac_option | cut -d '=' -f 2`
2105 --enable-crash-debug)
2108 --disable-crash-debug)
2111 --enable-sighandler)
2114 --disable-sighandler)
2118 --enable-sse) _sse
=yes ;;
2119 --disable-sse) _sse
=no
;;
2120 --enable-sse2) _sse2
=yes ;;
2121 --disable-sse2) _sse2
=no
;;
2122 --enable-mmxext) _mmxext
=yes ;;
2123 --disable-mmxext) _mmxext
=no
;;
2124 --enable-3dnow) _3dnow
=yes ;;
2125 --disable-3dnow) _3dnow
=no _3dnowext
=no
;;
2126 --enable-3dnowext) _3dnow
=yes _3dnowext
=yes ;;
2127 --disable-3dnowext) _3dnowext
=no
;;
2128 --enable-altivec) _altivec
=yes ;;
2129 --disable-altivec) _altivec
=no
;;
2130 --enable-armv5te) _armv5te
=yes ;;
2131 --disable-armv5te) _armv5te
=no
;;
2132 --enable-iwmmxt) _iwmmxt
=yes ;;
2133 --disable-iwmmxt) _iwmmxt
=no
;;
2134 --enable-mmx) _mmx
=yes ;;
2135 --disable-mmx) # 3Dnow! and MMX2 require MMX
2136 _3dnow
=no _3dnowext
=no _mmx
=no _mmxext
=no
;;
2138 --enable-win32) _win32
=yes ;;
2139 --disable-win32) _win32
=no
;;
2142 _ld_x11
=-L`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
2145 _xvmclib
=`echo $ac_option | cut -d '=' -f 2`
2147 --with-xvidlibdir=*)
2148 _ld_xvid
=-L`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
2150 --with-libdtslibdir=*)
2151 _ld_libdts
=-L`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
2153 --with-x264libdir=*)
2154 _ld_x264
=-L`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
2156 --with-mliblibdir=*)
2157 _ld_mlib
=-L`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
2159 --with-sdl-config=*)
2160 _sdlconfig
=`echo $ac_option | cut -d '=' -f 2`
2162 --with-freetype-config=*)
2163 _freetypeconfig
=`echo $ac_option | cut -d '=' -f 2`
2165 --with-fribidi-config=*)
2166 _fribidiconfig
=`echo $ac_option | cut -d '=' -f 2`
2168 --with-gtk-config=*)
2169 _gtkconfig
=`echo $ac_option | cut -d '=' -f 2`
2171 --with-glib-config=*)
2172 _glibconfig
=`echo $ac_option | cut -d '=' -f 2`
2174 --with-dvdnav-config=*)
2175 _dvdnavconfig
=`echo $ac_option | cut -d '=' -f 2`
2177 --with-cdparanoialibdir=*)
2178 _ld_cdparanoia
=-L`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
2180 --with-toolamelibdir=*)
2181 _ld_toolame
=-L`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
2184 _prefix
=`echo $ac_option | cut -d '=' -f 2`
2187 _bindir
=`echo $ac_option | cut -d '=' -f 2`
2190 _datadir
=`echo $ac_option | cut -d '=' -f 2`
2193 _mandir
=`echo $ac_option | cut -d '=' -f 2`
2196 _confdir
=`echo $ac_option | cut -d '=' -f 2`
2199 _libdir
=`echo $ac_option | cut -d '=' -f 2`
2203 echo "Unknown parameter: $ac_option"
2210 # Atmos: moved this here, to be correct, if --prefix is specified
2211 test -z "$_bindir" && _bindir
="$_prefix/bin"
2212 test -z "$_datadir" && _datadir
="$_prefix/share/mplayer"
2213 test -z "$_mandir" && _mandir
="$_prefix/man"
2214 test -z "$_confdir" && _confdir
="$_prefix/etc/mplayer"
2215 test -z "$_libdir" && _libdir
="$_prefix/lib"
2218 # Checking assembler (_as) compatibility...
2219 # Added workaround for older as that reads from stdin by default - atmos
2220 as_version
=`echo '' | $_as -version 2>&1 | sed -n 's/^.*assembler \(version \)*\([0-9.]*\).*$/\2/p'`
2221 echocheck
"assembler ($_as $as_version)"
2223 _pref_as_version
='2.9.1'
2225 if test "$_mmx" = yes ; then
2226 echo 'emms' >> $TMPS
2228 if test "$_3dnow" = yes ; then
2229 _pref_as_version
='2.10.1'
2230 echo 'femms' >> $TMPS
2232 if test "$_3dnowext" = yes ; then
2233 _pref_as_version
='2.10.1'
2234 echo 'pswapd %mm0, %mm0' >> $TMPS
2236 if test "$_mmxext" = yes ; then
2237 _pref_as_version
='2.10.1'
2238 echo 'movntq %mm0, (%eax)' >> $TMPS
2240 if test "$_sse" = yes ; then
2241 _pref_as_version
='2.10.1'
2242 echo 'xorps %xmm0, %xmm0' >> $TMPS
2244 #if test "$_sse2" = yes ; then
2245 # _pref_as_version='2.11'
2246 # echo 'xorpd %xmm0, %xmm0' >> $TMPS
2248 $_as $TMPS -o $TMPO > /dev
/null
2>&1 || as_verc_fail
=yes
2250 if test "$as_verc_fail" != yes ; then
2253 _res_comment
="Upgrade binutils to ${_pref_as_version} ..."
2255 die
"obsolete binutils version"
2260 echocheck
".align is a power of two"
2261 if test "$_asmalign_pot" = auto
; then
2264 main() { asm (".align 3"); }
2266 cc_check
&& _asmalign_pot
=yes
2268 if test "$_asmalign_pot" = "yes" ; then
2269 _def_asmalign_pot
='#define ASMALIGN(ZEROBITS) ".align " #ZEROBITS "\n\t"'
2271 _def_asmalign_pot
='#define ASMALIGN(ZEROBITS) ".align 1<<" #ZEROBITS "\n\t"'
2273 echores
$_asmalign_pot
2276 #FIXME: This should happen before the check for CFLAGS..
2279 # check if altivec is supported by the compiler, and how to enable it
2281 _altivec_gcc_flags
=''
2283 if test "$_altivec" = yes -o "$_runtime_cpudetection" = yes ; then
2284 echocheck
"GCC altivec support"
2292 FSF_flags
='-maltivec -mabi=altivec'
2293 Darwin_flags
='-faltivec -D__APPLE_ALTIVEC__'
2295 # check for Darwin-style flags first, since
2296 # gcc-3.3 (August Update from Apple) on MacOS 10.2.8
2297 # accepts but ignores FSF-style flags...
2299 if test -z "$p"; then
2300 cc_check
$Darwin_flags && p
='Darwin'
2302 if test -z "$p"; then
2303 cc_check
$FSF_flags && p
='FSF'
2307 FSF
) _altivec_gcc_flags
="$FSF_flags" _altivec
=yes ;;
2308 Darwin
) _altivec_gcc_flags
="$Darwin_flags" _altivec
=yes ;;
2312 if test -z "$p"; then
2315 p
="$p-style ($_altivec_gcc_flags)"
2321 # check if <altivec.h> should be included
2323 _def_altivec_h
='#undef HAVE_ALTIVEC_H'
2325 if test "$_altivec" = yes ; then
2326 echocheck
"altivec.h"
2328 #include <altivec.h>
2329 int main(void) { return 0; }
2332 cc_check
$_altivec_gcc_flags && _have_altivec_h
=yes
2333 if test "$_have_altivec_h" = yes ; then
2334 _def_altivec_h
='#define HAVE_ALTIVEC_H 1'
2336 echores
"$_have_altivec_h"
2339 # disable runtime cpudetection if
2340 # - we cannot generate altivec code
2341 # - altivec is disabled by the user
2343 if test "$_runtime_cpudetection" = yes -a "$_altivec" = no
; then
2344 _runtime_cpudetection
=no
2347 # show that we are optimizing for altivec (if enabled and supported)
2349 if test "$_runtime_cpudetection" = no
-a "$_altivec" = yes ; then
2350 _optimizing
="$_optimizing altivec"
2353 # if altivec is enabled, make sure the correct flags turn up in CFLAGS
2355 if test "$_altivec" = yes ; then
2356 #FIXME: _mcpu is used for CFLAGS, this needs to be set earlier
2357 #_mcpu="$_mcpu $_altivec_gcc_flags"
2358 CFLAGS
="$CFLAGS $_altivec_gcc_flags"
2361 # setup _def_altivec correctly
2363 if test "$_altivec" = yes ; then
2364 _def_altivec
='#define HAVE_ALTIVEC 1'
2366 _def_altivec
='#undef HAVE_ALTIVEC'
2371 echocheck
"ARMv5TE (Enhanced DSP Extensions)"
2372 if test $_armv5te = "auto" ; then
2375 __asm__ __volatile__ ("qadd r0, r0, r0");
2379 cc_check
&& _armv5te
=yes
2383 echocheck
"iWMMXt (Intel XScale SIMD instructions)"
2384 if test $_iwmmxt = "auto" ; then
2387 __asm__ __volatile__ ("wunpckelub wr6, wr4");
2391 cc_check
&& _iwmmxt
=yes
2396 _def_mmx
='#undef HAVE_MMX'
2397 test "$_mmx" = yes && _def_mmx
='#define HAVE_MMX 1'
2398 _def_mmxext
='#undef HAVE_MMX2'
2399 test "$_mmxext" = yes && _def_mmxext
='#define HAVE_MMX2 1'
2400 _def_3dnow
='#undef HAVE_3DNOW'
2401 test "$_3dnow" = yes && _def_3dnow
='#define HAVE_3DNOW 1'
2402 _def_3dnowext
='#undef HAVE_3DNOWEX'
2403 test "$_3dnowext" = yes && _def_3dnowext
='#define HAVE_3DNOWEX 1'
2404 _def_sse
='#undef HAVE_SSE'
2405 test "$_sse" = yes && _def_sse
='#define HAVE_SSE 1'
2406 _def_sse2
='#undef HAVE_SSE2'
2407 test "$_sse2" = yes && _def_sse2
='#define HAVE_SSE2 1'
2408 _def_armv5te
='#undef HAVE_ARMV5TE'
2409 test "$_armv5te" = yes && _def_armv5te
='#define HAVE_ARMV5TE 1'
2410 _def_iwmmxt
='#undef HAVE_IWMMXT'
2411 test "$_iwmmxt" = yes && _def_iwmmxt
='#define HAVE_IWMMXT 1'
2413 # Checking kernel version...
2414 if x86
&& linux
; then
2416 kernel_version
=`uname -r 2>&1`
2417 echocheck
"$system_name kernel version"
2418 case "$kernel_version" in
2419 '') kernel_version
="?.??"; _k_verc_fail
=yes;;
2420 [0-1].
[0-9].
[0-9]*|
2.
[0-3].
[0-9]*)
2421 _k_verc_problem
=yes;;
2423 if test "$_k_verc_problem" = yes && test "$_sse" = yes ; then
2426 if test "$_k_verc_fail" ; then
2427 echores
"$kernel_version, fail"
2428 echo "WARNING! If you want to run MPlayer on this system, get prepared for problems!"
2429 echo "2.2.x has limited SSE support. Upgrade the kernel or use --disable-sse if you"
2430 echo "experience crashes. MPlayer tries to autodetect if your kernel correctly"
2431 echo "supports SSE, but you have been warned! If you are using a kernel older than"
2432 echo "2.2.x you must upgrade it to get SSE support!"
2433 # die "Your kernel is too old for this CPU." # works fine on some 2.2.x so don't die (later check will test)
2435 echores
"$kernel_version, ok"
2439 if test "$_vidix_internal" = auto
; then
2441 # should check for x86 systems supporting VIDIX (does QNX have VIDIX?)
2442 x86
&& _vidix_internal
=yes
2443 x86_64
&& _vidix_internal
=yes
2444 ppc
&& linux
&& _vidix_internal
=yes
2445 alpha
&& linux
&& _vidix_internal
=yes
2446 qnx
&& _vidix_internal
=no
2447 sunos
&& _vidix_internal
=no
2448 beos
&& _vidix_internal
=no
2449 darwin
&& _vidix_internal
=no
2452 echocheck
"MPlayer binary name"
2455 _prg_mencoder
="mencoder.exe"
2458 _prg_mencoder
="mencoder"
2463 # On QNX we must link to libph - Gabucino
2465 _ld_arch
="$_ld_arch -lph"
2468 # checking for a working awk, I'm using mawk first, because it's fastest - atmos
2470 if test "$_vidix_internal" = yes ; then
2473 for _awk
in mawk gawk nawk
awk; do
2474 if ( $_awk 'BEGIN{testme();}function testme(){print"";}' ) >> "$TMPLOG" 2>&1; then
2479 test "$_awk_verc_fail" = yes && _awk
=no
2481 if test "$_awk_verc_fail" = yes; then
2482 echo "VIDIX needs awk, but no working implementation was found!"
2483 echo "Try the GNU version, which can be downloaded from:"
2484 echo "ftp://ftp.gnu.org/gnu/gawk/"
2485 echo "If you don't need VIDIX, you can use configure --disable-vidix instead."
2490 # If IRIX we must use ar instead of ranlib (not present on IRIX systems)
2497 ######################
2498 # MAIN TESTS GO HERE #
2499 ######################
2502 echocheck
"extra headers"
2503 if test "$_inc_extra" ; then
2504 echores
"$_inc_extra"
2510 echocheck
"extra libs"
2511 if test "$_ld_extra" ; then
2512 echores
"$_ld_extra"
2519 int main(void) { return 0; }
2521 if cc_check
-lposix ; then
2522 _ld_arch
="$_ld_arch -lposix"
2530 int main(void) { return 0; }
2532 if cc_check
-lm ; then
2541 echocheck
"langinfo"
2542 if test "$_langinfo" = auto
; then
2544 #include <langinfo.h>
2545 int main(void) { nl_langinfo(CODESET); return 0; }
2548 cc_check
&& _langinfo
=yes
2550 if test "$_langinfo" = yes ; then
2551 _def_langinfo
='#define USE_LANGINFO 1'
2553 _def_langinfo
='#undef USE_LANGINFO'
2555 echores
"$_langinfo"
2558 echocheck
"language"
2559 test -z "$_language" && _language
=$LINGUAS
2560 _language
=`echo $_language | sed 's/,/ /g'`
2561 echo $_language |
grep all
> /dev
/null || LANGUAGES
="$_language en"
2562 for lang
in $_language ; do
2563 test "$lang" = all
&& lang
=en
2564 if test -f "help/help_mp-${lang}.h" ; then
2568 echo -n "$lang not found, "
2569 _language
=`echo $_language | sed "s/$lang *//"`
2572 test -z "$_language" && _language
=en
2573 _mp_help
="help/help_mp-${_language}.h"
2574 test -f $_mp_help || die
"$_mp_help not found"
2575 for lang
in $LANGUAGES ; do
2576 if test -f "DOCS/man/$lang/mplayer.1" ; then
2577 MAN_LANG
="$MAN_LANG $lang"
2580 _doc_lang
=$_language
2581 test -d DOCS
/xml
/$_doc_lang || _doc_lang
=en
2582 echores
"using $_language (man pages: $MAN_LANG)"
2585 echocheck
"enable sighandler"
2586 if test "$_sighandler" = yes ; then
2587 _def_sighandler
='#define ENABLE_SIGHANDLER 1'
2589 _def_sighandler
='#undef ENABLE_SIGHANDLER'
2591 echores
"$_sighandler"
2593 echocheck
"runtime cpudetection"
2594 if test "$_runtime_cpudetection" = yes ; then
2595 _optimizing
="Runtime CPU-Detection enabled"
2596 _def_runtime_cpudetection
='#define RUNTIME_CPUDETECT 1'
2598 _def_runtime_cpudetection
='#undef RUNTIME_CPUDETECT'
2600 echores
"$_runtime_cpudetection"
2603 echocheck
"restrict keyword"
2604 for restrict_keyword
in restrict __restrict __restrict__
; do
2605 echo "void foo(char * $restrict_keyword p); int main(){}" > $TMPC
2607 _def_restrict_keyword
=$restrict_keyword
2611 if [ -n "$_def_restrict_keyword" ]; then
2612 echores
"$_def_restrict_keyword"
2616 # Avoid infinite recursion loop ("#define restrict restrict")
2617 if [ "$_def_restrict_keyword" != "restrict" ]; then
2618 _def_restrict_keyword
="#define restrict $_def_restrict_keyword"
2620 _def_restrict_keyword
=""
2624 echocheck
"__builtin_expect"
2625 # GCC branch prediction hint
2628 a = __builtin_expect (a, 10);
2629 return a == 10 ? 0 : 1;
2631 int main() { return foo(10) && foo(0); }
2634 cc_check
&& _builtin_expect
=yes
2635 if test "$_builtin_expect" = yes ; then
2636 _def_builtin_expect
='#define HAVE_BUILTIN_EXPECT 1'
2638 _def_builtin_expect
='#undef HAVE_BUILTIN_EXPECT'
2640 echores
"$_builtin_expect"
2646 int main(void) { (void) kstat_open(); (void) kstat_close(0); return 0; }
2649 cc_check
-lkstat && _kstat
=yes
2650 if test "$_kstat" = yes ; then
2651 _def_kstat
="#define HAVE_LIBKSTAT 1"
2652 _ld_arch
="-lkstat $_ld_arch"
2654 _def_kstat
="#undef HAVE_LIBKSTAT"
2660 # required for nanosleep on some systems
2663 int main(void) { (void) nanosleep(0, 0); return 0; }
2666 cc_check
-lposix4 && _posix4
=yes
2667 if test "$_posix4" = yes ; then
2668 _ld_arch
="-lposix4 $_ld_arch"
2675 int main(void) { long (*foo)(float); foo = lrintf; (void)(*foo)(0.0); return 0; }
2678 cc_check
-D_GNU_SOURCE $_ld_lm && _lrintf
=yes
2679 if test "$_lrintf" = yes ; then
2680 _def_lrintf
="#define HAVE_LRINTF 1"
2682 _def_lrintf
="#undef HAVE_LRINTF"
2689 int main(void) { (void) round(0.0); return 0; }
2692 cc_check
$_ld_lm && _round
=yes
2693 if test "$_round" = yes ; then
2694 _def_round
="#define HAVE_ROUND 1"
2696 _def_round
="#undef HAVE_ROUND"
2700 echocheck
"nanosleep"
2701 # also check for nanosleep
2704 int main(void) { (void) nanosleep(0, 0); return 0; }
2707 cc_check
$_ld_arch && _nanosleep
=yes
2708 if test "$_nanosleep" = yes ; then
2709 _def_nanosleep
='#define HAVE_NANOSLEEP 1'
2711 _def_nanosleep
='#undef HAVE_NANOSLEEP'
2713 echores
"$_nanosleep"
2717 # for Solaris (socket stuff is in -lsocket, gethostbyname and friends in -lnsl):
2718 # for BeOS (socket stuff is in -lsocket, gethostbyname and friends in -lbind):
2721 #include <sys/socket.h>
2722 int main(void) { (void) gethostbyname(0); (void) socket(AF_INET, SOCK_STREAM, 0); return 0; }
2725 for _ld_tmp
in "" "-lsocket -lbind" "-lsocket -ldnet" "-lsocket -lnsl" "-lnsl" "-lsocket" ; do
2726 cc_check
$_ld_tmp && _ld_sock
="$_ld_tmp" && _socklib
=yes && break
2728 if test $_winsock2 = auto
&& not cygwin
; then
2731 #include <winsock2.h>
2732 int main(void) { (void) gethostbyname(0); return 0; }
2734 cc_check
-lws2_32 && _ld_sock
="-lws2_32" && _winsock2
=yes
2736 test "$_ld_sock" && _res_comment
="using $_ld_sock"
2740 if test $_winsock2 = yes ; then
2742 _def_winsock2
='#define HAVE_WINSOCK2 1'
2744 _def_winsock2
='#undef HAVE_WINSOCK2'
2749 echocheck
"inet_pton()"
2751 #include <sys/types.h>
2752 #include <sys/socket.h>
2753 #include <arpa/inet.h>
2754 int main(void) { (void) inet_pton(0, 0, 0); return 0; }
2756 if test "$_winsock2" = yes ; then
2757 _res_comment
="using winsock2 functions instead"
2759 elif cc_check
$_ld_sock ; then
2760 # NOTE: Linux has libresolv but does not need it
2762 _res_comment
="using $_ld_sock"
2764 elif cc_check
$_ld_sock -lresolv ; then
2765 # NOTE: needed for SunOS at least
2766 _ld_sock
="$_ld_sock -lresolv"
2767 _res_comment
="using $_ld_sock"
2770 _res_comment
="trying inet_aton next"
2773 echocheck
"inet_aton()"
2775 #include <sys/types.h>
2776 #include <sys/socket.h>
2777 #include <arpa/inet.h>
2778 int main(void) { (void) inet_aton(0, 0); return 0; }
2781 if cc_check
$_ld_sock ; then
2782 # NOTE: Linux has libresolv but does not need it
2784 _res_comment
="using $_ld_sock"
2785 elif cc_check
$_ld_sock -lresolv ; then
2786 # NOTE: needed for SunOS at least
2787 _ld_sock
="$_ld_sock -lresolv"
2788 _res_comment
="using $_ld_sock"
2792 _res_comment
="network support disabled"
2794 echores
"$_use_aton"
2797 _def_use_aton
='#undef USE_ATON'
2798 if test "$_use_aton" = yes; then
2799 _def_use_aton
='#define USE_ATON 1'
2803 echocheck
"inttypes.h (required)"
2805 #include <inttypes.h>
2806 int main(void) { return 0; }
2809 cc_check
&& _inttypes
=yes
2810 echores
"$_inttypes"
2812 if test "$_inttypes" = no
; then
2813 echocheck
"bitypes.h (inttypes.h predecessor)"
2815 #include <sys/bitypes.h>
2816 int main(void) { return 0; }
2818 cc_check
&& _inttypes
=yes
2819 if test "$_inttypes" = yes ; then
2820 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."
2822 die
"Cannot find header either inttypes.h or bitypes.h (see DOCS/HTML/$_doc_lang/faq.html)."
2827 echocheck
"int_fastXY_t in inttypes.h"
2829 #include <inttypes.h>
2831 volatile int_fast16_t v= 0;
2835 cc_check
&& _fast_inttypes
=yes
2836 if test "$_fast_inttypes" = yes ; then
2840 _def_fast_inttypes
='
2841 typedef signed char int_fast8_t;
2842 typedef signed int int_fast16_t;
2843 typedef signed int int_fast32_t;
2844 typedef unsigned char uint_fast8_t;
2845 typedef unsigned int uint_fast16_t;
2846 typedef unsigned int uint_fast32_t;
2847 typedef unsigned long long uint_fast64_t;'
2849 echores
"$_fast_inttypes"
2852 echocheck
"word size"
2853 _mp_wordsize
="#undef MP_WORDSIZE"
2856 #include <sys/types.h>
2857 int main(void) { printf("%d\n", sizeof(size_t)*8); return 0; }
2859 cc_check
&& _wordsize
=`$TMPO` && _mp_wordsize
="#define MP_WORDSIZE $_wordsize"
2860 echores
"$_wordsize"
2863 echocheck
"stddef.h"
2866 int main(void) { return 0; }
2869 cc_check
&& _stddef
=yes
2870 if test "$_stddef" = yes ; then
2871 _def_stddef
='#define HAVE_STDDEF_H 1'
2873 _def_stddef
='#undef HAVE_STDDEF_H'
2878 echocheck
"malloc.h"
2881 int main(void) { (void) malloc(0); return 0; }
2884 cc_check
&& _malloc
=yes
2885 if test "$_malloc" = yes ; then
2886 _def_malloc
='#define HAVE_MALLOC_H 1'
2888 _def_malloc
='#undef HAVE_MALLOC_H'
2890 # malloc.h emits a warning in FreeBSD and OpenBSD
2891 freebsd || openbsd
&& _def_malloc
='#undef HAVE_MALLOC_H'
2895 echocheck
"memalign()"
2896 # XXX restrict to x86 ? extend to other CPUs/cacheline sizes ?
2899 int main (void) { (void) memalign(64, sizeof(char)); return 0; }
2902 cc_check
&& _memalign
=yes
2903 if test "$_memalign" = yes ; then
2904 _def_memalign
='#define HAVE_MEMALIGN 1'
2906 _def_memalign
='#undef HAVE_MEMALIGN'
2907 _def_map_memalign
='#define memalign(a,b) malloc(b)'
2908 not darwin
&& _def_memalign_hack
='#define MEMALIGN_HACK 1'
2910 echores
"$_memalign"
2913 echocheck
"alloca.h"
2916 int main(void) { (void) alloca(0); return 0; }
2919 cc_check
&& _alloca
=yes
2921 _def_alloca
='#define HAVE_ALLOCA_H 1'
2923 _def_alloca
='#undef HAVE_ALLOCA_H'
2930 #include <sys/types.h>
2931 #include <sys/mman.h>
2932 int main(void) { (void) mmap(0, 0, 0, 0, 0, 0); return 0; }
2935 cc_check
&& _mman
=yes
2936 if test "$_mman" = yes ; then
2937 _def_mman
='#define HAVE_SYS_MMAN_H 1'
2939 _def_mman
='#undef HAVE_SYS_MMAN_H'
2944 #include <sys/types.h>
2945 #include <sys/mman.h>
2946 int main(void) { void *p = MAP_FAILED; return 0; }
2948 _mman_has_map_failed
=no
2949 cc_check
&& _mman_has_map_failed
=yes
2950 if test "$_mman_has_map_failed" = yes ; then
2951 _def_mman_has_map_failed
=''
2953 _def_mman_has_map_failed
='#define MAP_FAILED ((void *) -1)'
2956 echocheck
"dynamic loader"
2959 int main(void) { dlopen(0, 0); dlclose(0); dlsym(0, 0); return 0; }
2962 for _ld_tmp
in "" "-ldl" ; do
2963 cc_check
$_ld_tmp && _ld_dl
="$_ld_tmp" && _dl
=yes && break
2965 if test "$_dl" = yes ; then
2966 _def_dl
='#define HAVE_LIBDL 1'
2968 _def_dl
='#undef HAVE_LIBDL'
2973 echocheck
"dynamic a/v plugins support"
2974 if test "$_dl" = no
; then
2977 if test "$_dynamic_plugins" = yes ; then
2978 _def_dynamic_plugins
='#define DYNAMIC_PLUGINS 1'
2980 _def_dynamic_plugins
='#undef DYNAMIC_PLUGINS'
2982 echores
"$_dynamic_plugins"
2985 #echocheck "dynamic linking"
2986 # FIXME !! make this dynamic detection work and modify at the end (search _ld_dl_dynamic)
2987 # also gcc flags are different, but ld flags aren't (-Bdynamic/-Bstatic/-Bsymbolic)
2989 #int main(void) { return 0; }
2991 #if cc_check -rdynamic ; then
2992 # _ld_dl_dynamic='-rdynamic'
2993 #elif cc_check -Bdynamic ; then
2994 # _ld_dl_dynamic='-Bdynamic'
2995 #elif cc_check ; then
2998 #echores "using $_ld_dl_dynamic"
3000 _def_threads
='#undef HAVE_THREADS'
3003 if test "$_pthreads" = auto
; then
3005 #include <pthread.h>
3006 void* func(void *arg) { return arg; }
3007 int main(void) { pthread_t tid; return pthread_create (&tid, 0, func, 0) == 0 ? 0 : 1; }
3011 for _ld_tmp
in "-lpthreadGC2" "" "-lpthread" "-pthread" ; do
3012 # for crosscompilation, we cannot execute the program, be happy if we can link statically
3013 cc_check
$_ld_tmp && (tmp_run ||
test "$_ld_static") && _ld_pthread
="$_ld_tmp" && _pthreads
=yes && break
3017 if test "$_pthreads" = yes ; then
3018 _res_comment
="using $_ld_pthread"
3019 _def_pthreads
='#define HAVE_PTHREADS 1'
3020 _def_threads
='#define HAVE_THREADS 1'
3022 _res_comment
="v4l, vo_gl, ao_alsa, ao_nas, ao_macosx, win32 loader disabled"
3023 _def_pthreads
='#undef HAVE_PTHREADS'
3024 _nas
=no
; _tv_v4l1
=no
; _macosx
=no
3025 if not mingw32
; then
3029 echores
"$_pthreads"
3033 if test "$_rpath" = yes ; then
3034 for I
in `echo $_ld_extra | sed 's/-L//g'` ; do
3035 tmp
="$tmp ` echo $I | sed 's/.*/ -L& -Wl,-R&/'`"
3042 if test "$_iconv" = auto
; then
3043 _iconv_tmp
='#include <iconv.h>'
3049 #define INBUFSIZE 1024
3050 #define OUTBUFSIZE 4096
3052 char inbuffer[INBUFSIZE];
3053 char outbuffer[OUTBUFSIZE];
3058 char *tocode="UTF-8";
3059 char *fromcode="cp1250";
3060 if ((icdsc = iconv_open (tocode, fromcode)) != (iconv_t)(-1)) {
3061 while ((numread = read (0, inbuffer, INBUFSIZE))) {
3062 char *iptr=inbuffer;
3063 char *optr=outbuffer;
3064 size_t inleft=numread;
3065 size_t outleft=OUTBUFSIZE;
3066 if (iconv(icdsc, (const char **)&iptr, &inleft, &optr, &outleft)
3068 write (1, outbuffer, OUTBUFSIZE - outleft);
3071 if (iconv_close(icdsc) == -1)
3077 for _ld_tmp
in "" "-liconv" "-liconv $_ld_dl" ; do
3078 cc_check
$_ld_lm $_ld_tmp && _ld_iconv
="$_ld_tmp" && _iconv
=yes && break
3081 if test "$_iconv" = yes ; then
3082 _def_iconv
='#define USE_ICONV 1'
3084 _def_iconv
='#undef USE_ICONV'
3089 echocheck
"sys/soundcard.h"
3091 #include <sys/soundcard.h>
3092 int main(void) { return 0; }
3095 cc_check
&& _sys_soundcard
=yes
3096 if test "$_sys_soundcard" = yes ; then
3097 _def_sys_soundcard
='#define HAVE_SYS_SOUNDCARD_H 1'
3098 _include_soundcard
='#include <sys/soundcard.h>'
3100 _def_sys_soundcard
='#undef HAVE_SYS_SOUNDCARD_H'
3102 echores
"$_sys_soundcard"
3104 if test "$_sys_soundcard" != yes ; then
3105 echocheck
"soundcard.h"
3107 #include <soundcard.h>
3108 int main(void) { return 0; }
3111 cc_check
&& _soundcard
=yes
3112 if linux ||
test "$_ossaudio" != no
; then
3113 # use soundcard.h on Linux, or when OSS support is enabled
3114 echores
"$_soundcard"
3116 # we don't want to use soundcard.h on non-Linux if OSS support not enabled!
3117 _res_comment
= "but ignored!"
3118 echores
"$_soundcard"
3121 if test "$_soundcard" = yes ; then
3122 _def_soundcard
='#define HAVE_SOUNDCARD_H 1'
3123 _include_soundcard
='#include <soundcard.h>'
3125 _def_soundcard
='#undef HAVE_SOUNDCARD_H'
3128 _def_soundcard
='#undef HAVE_SOUNDCARD_H'
3132 echocheck
"sys/dvdio.h"
3135 #include <sys/dvdio.h>
3136 int main(void) { return 0; }
3139 cc_check
&& _dvdio
=yes
3140 if test "$_dvdio" = yes ; then
3141 _def_dvdio
='#define DVD_STRUCT_IN_SYS_DVDIO_H 1'
3143 _def_dvdio
='#undef DVD_STRUCT_IN_SYS_DVDIO_H'
3148 echocheck
"sys/cdio.h"
3151 #include <sys/cdio.h>
3152 int main(void) { return 0; }
3155 cc_check
&& _cdio
=yes
3156 if test "$_cdio" = yes ; then
3157 _def_cdio
='#define DVD_STRUCT_IN_SYS_CDIO_H 1'
3159 _def_cdio
='#undef DVD_STRUCT_IN_SYS_CDIO_H'
3164 echocheck
"linux/cdrom.h"
3166 #include <sys/types.h>
3167 #include <linux/cdrom.h>
3168 int main(void) { return 0; }
3171 cc_check
&& _cdrom
=yes
3172 if test "$_cdrom" = yes ; then
3173 _def_cdrom
='#define DVD_STRUCT_IN_LINUX_CDROM_H 1'
3175 _def_cdrom
='#undef DVD_STRUCT_IN_LINUX_CDROM_H'
3183 int main(void) { return 0; }
3186 cc_check
&& _dvd
=yes
3187 if test "$_dvd" = yes ; then
3188 _def_dvd
='#define DVD_STRUCT_IN_DVD_H 1'
3190 _def_dvd
='#undef DVD_STRUCT_IN_DVD_H'
3196 echocheck
"BSDI dvd.h"
3199 int main(void) { return 0; }
3202 cc_check
&& _bsdi_dvd
=yes
3203 if test "$_bsdi_dvd" = yes ; then
3204 _def_bsdi_dvd
='#define DVD_STRUCT_IN_BSDI_DVDIOCTL_DVD_H 1'
3206 _def_bsdi_dvd
='#undef DVD_STRUCT_IN_BSDI_DVDIOCTL_DVD_H'
3208 echores
"$_bsdi_dvd"
3213 # also used by AIX, but AIX does not support VCD and/or libdvdread
3214 echocheck
"HP-UX SCSI header"
3216 #include <sys/scsi.h>
3217 int main(void) { return 0; }
3220 cc_check
&& _hpux_scsi_h
=yes
3221 if test "$_hpux_scsi_h" = yes ; then
3222 _def_hpux_scsi_h
='#define HPUX_SCTL_IO 1'
3224 _def_hpux_scsi_h
='#undef HPUX_SCTL_IO'
3226 echores
"$_hpux_scsi_h"
3231 echocheck
"userspace SCSI headers (Solaris)"
3233 # include <unistd.h>
3234 # include <stropts.h>
3235 # include <sys/scsi/scsi_types.h>
3236 # include <sys/scsi/impl/uscsi.h>
3237 int main(void) { return 0; }
3240 cc_check
&& _sol_scsi_h
=yes
3241 if test "$_sol_scsi_h" = yes ; then
3242 _def_sol_scsi_h
='#define SOLARIS_USCSI 1'
3244 _def_sol_scsi_h
='#undef SOLARIS_USCSI'
3246 echores
"$_sol_scsi_h"
3251 if test "$_termcap" = auto
; then
3253 int main(void) { tgetent(); return 0; }
3256 for _ld_tmp
in "-lncurses" "-ltinfo" "-ltermcap"; do
3257 cc_check
$_ld_tmp && _ld_termcap
="$_ld_tmp" && _termcap
=yes && break
3260 if test "$_termcap" = yes ; then
3261 _def_termcap
='#define USE_TERMCAP 1'
3262 _res_comment
="using $_ld_termcap"
3264 _def_termcap
='#undef USE_TERMCAP'
3270 if test "$_termios" = auto
; then
3272 #include <sys/termios.h>
3273 int main(void) { return 0; }
3276 cc_check
&& _termios
=yes
3277 _def_termios_h_name
='sys/termios.h'
3280 if test "$_termios" = auto
; then
3282 #include <termios.h>
3283 int main(void) { return 0; }
3286 cc_check
&& _termios
=yes
3287 _def_termios_h_name
='termios.h'
3290 if test "$_termios" = yes ; then
3291 _def_termios
='#define HAVE_TERMIOS 1'
3292 _def_termios_h
='#undef HAVE_TERMIOS_H'
3293 _def_termios_sys_h
='#undef HAVE_SYS_TERMIOS_H'
3295 if test "$_def_termios_h_name" = 'sys/termios.h' ; then
3296 _def_termios_sys_h
='#define HAVE_SYS_TERMIOS_H 1'
3297 elif test "$_def_termios_h_name" = 'termios.h' ; then
3298 _def_termios_h
='#define HAVE_TERMIOS_H 1'
3300 _res_comment
="using $_def_termios_h_name"
3302 _def_termios
='#undef HAVE_TERMIOS'
3303 _def_termios_h_name
=''
3310 if test "$_shm" = auto
; then
3312 #include <sys/types.h>
3313 #include <sys/shm.h>
3314 int main(void) { shmget(0, 0, 0); shmat(0, 0, 0); shmctl(0, 0, 0); return 0; }
3317 cc_check
&& _shm
=yes
3319 if test "$_shm" = yes ; then
3320 _def_shm
='#define HAVE_SHM 1'
3322 _def_shm
='#undef HAVE_SHM'
3327 # XXX: FIXME, add runtime checking
3328 echocheck
"linux devfs"
3329 echores
"$_linux_devfs"
3332 echocheck
"scandir()"
3334 int main (void) { scandir("", 0, 0, 0); alphasort(0, 0); return 0; }
3337 cc_check
&& _scandir
=yes
3338 if test "$_scandir" = yes ; then
3339 _def_scandir
='#define HAVE_SCANDIR 1'
3341 _def_scandir
='#undef HAVE_SCANDIR'
3346 echocheck
"strsep()"
3349 int main (void) { char *s = "Hello, world!"; (void) strsep(&s, ","); return 0; }
3352 cc_check
&& _strsep
=yes
3353 if test "$_strsep" = yes ; then
3354 _def_strsep
='#define HAVE_STRSEP 1'
3356 _def_strsep
='#undef HAVE_STRSEP'
3360 echocheck
"strlcpy()"
3363 int main (void) { char *s = "Hello, world!", t[20]; (void) strlcpy(t, s, sizeof( t )); return 0; }
3366 cc_check
&& _strlcpy
=yes
3367 if test "$_strlcpy" = yes ; then
3368 _def_strlcpy
='#define HAVE_STRLCPY 1'
3370 _def_strlcpy
='#undef HAVE_STRLCPY'
3374 echocheck
"strlcat()"
3377 int main (void) { char *s = "Hello, world!", t[20]; (void) strlcat(t, s, sizeof( t )); return 0; }
3380 cc_check
&& _strlcat
=yes
3381 if test "$_strlcat" = yes ; then
3382 _def_strlcat
='#define HAVE_STRLCAT 1'
3384 _def_strlcat
='#undef HAVE_STRLCAT'
3388 echocheck
"fseeko()"
3391 int main (void) { int i; i = fseeko(stdin, 0, 0); return 0; }
3394 cc_check
&& _fseeko
=yes
3395 if test "$_fseeko" = yes ; then
3396 _def_fseeko
='#define HAVE_FSEEKO 1'
3398 _def_fseeko
='#undef HAVE_FSEEKO'
3402 echocheck
"localtime_r()"
3405 int main( void ) { localtime_r(NULL, NULL); }
3408 cc_check
&& _localtime_r
=yes
3409 if test "$_localtime_r" = yes ; then
3410 _def_localtime_r
='#define HAVE_LOCALTIME_R 1'
3412 _def_localtime_r
='#undef HAVE_LOCALTIME_R'
3414 echores
"$_localtime_r"
3416 echocheck
"vsscanf()"
3419 int main(void) { vsscanf(0, 0, 0); return 0; }
3422 cc_check
&& _vsscanf
=yes
3423 if test "$_vsscanf" = yes ; then
3424 _def_vsscanf
='#define HAVE_VSSCANF 1'
3426 _def_vsscanf
='#undef HAVE_VSSCANF'
3434 int main(void) { swab(0, 0, 0); return 0; }
3437 cc_check
&& _swab
=yes
3438 if test "$_swab" = yes ; then
3439 _def_swab
='#define HAVE_SWAB 1'
3441 _def_swab
='#undef HAVE_SWAB'
3445 echocheck
"POSIX select()"
3449 #include <sys/types.h>
3451 #include <sys/time.h>
3453 int main(void) {int nfds = 1; fd_set readfds; struct timeval timeout; select(nfds,&readfds,NULL,NULL,&timeout); return 0; }
3456 cc_check
&& _posix_select
=yes
3457 if test "$_posix_select" = no
; then
3458 _def_no_posix_select
='#define HAVE_NO_POSIX_SELECT 1'
3460 _def_no_posix_select
='#undef HAVE_NO_POSIX_SELECT'
3462 echores
"$_posix_select"
3465 echocheck
"gettimeofday()"
3468 #include <sys/time.h>
3469 int main(void) {struct timeval tv_start; gettimeofday(&tv_start, NULL); return 0; }
3472 cc_check
&& _gettimeofday
=yes
3473 if test "$_gettimeofday" = yes ; then
3474 _def_gettimeofday
='#define HAVE_GETTIMEOFDAY 1'
3476 _def_gettimeofday
='#undef HAVE_GETTIMEOFDAY'
3478 echores
"$_gettimeofday"
3485 int main(void) { glob_t gg; glob("filename",0,NULL,&gg); return 0; }
3488 cc_check
&& _glob
=yes
3489 if test "$_glob" = yes ; then
3490 _def_glob
='#define HAVE_GLOB 1'
3492 _def_glob
='#undef HAVE_GLOB'
3497 echocheck
"setenv()"
3500 int main (void){ setenv("","",0); return 0; }
3503 cc_check
&& _setenv
=yes
3504 if test "$_setenv" = yes ; then
3505 _def_setenv
='#define HAVE_SETENV 1'
3507 _def_setenv
='#undef HAVE_SETENV'
3513 echocheck
"sysi86()"
3515 #include <sys/sysi86.h>
3516 int main (void) { sysi86(0); return 0; }
3519 cc_check
&& _sysi86
=yes
3520 if test "$_sysi86" = yes ; then
3521 _def_sysi86
='#define HAVE_SYSI86 1'
3523 _def_sysi86
='#undef HAVE_SYSI86'
3529 echocheck
"sys/sysinfo.h"
3531 #include <sys/sysinfo.h>
3533 struct sysinfo s_info;
3539 cc_check
&& _sys_sysinfo
=yes
3540 if test "$_sys_sysinfo" = yes ; then
3541 _def_sys_sysinfo
='#define HAVE_SYS_SYSINFO_H 1'
3543 _def_sys_sysinfo
='#undef HAVE_SYS_SYSINFO_H'
3545 echores
"$_sys_sysinfo"
3550 echocheck
"Mac OS X APIs"
3551 if test "$_macosx" = auto
; then
3552 productName
=`/usr/bin/sw_vers -productName`
3553 if test "$productName" = "Mac OS X" ; then
3557 _def_macosx
='#undef MACOSX'
3558 _noaomodules
="macosx $_noaomodules"
3559 _novomodules
="quartz $_novomodules"
3562 if test "$_macosx" = yes ; then
3564 #include <Carbon/Carbon.h>
3565 #include <QuickTime/QuickTime.h>
3566 #include <CoreAudio/CoreAudio.h>
3570 CFRunLoopRunInMode(kCFRunLoopDefaultMode, 0, false);
3573 if cc_check
-framework Carbon
-framework QuickTime
-framework CoreAudio
; then
3575 _macosx_frameworks
="-framework Carbon -framework QuickTime -framework CoreAudio -framework AudioUnit -framework AudioToolbox"
3576 _def_macosx
='#define MACOSX 1'
3577 _aosrc
="$_aosrc ao_macosx.c"
3578 _aomodules
="macosx $_aomodules"
3579 _vosrc
="$_vosrc vo_quartz.c"
3580 _vomodules
="quartz $_vomodules"
3583 _def_macosx
='#undef MACOSX'
3584 _noaomodules
="macosx $_noaomodules"
3585 _novomodules
="quartz $_novomodules"
3588 #include <Carbon/Carbon.h>
3589 #include <QuartzCore/CoreVideo.h>
3592 if cc_check
-framework Carbon
-framework QuartzCore
-framework OpenGL
; then
3593 _vosrc
="$_vosrc vo_macosx.m"
3594 _vomodules
="macosx $_vomodules"
3595 _macosx_frameworks
="$_macosx_frameworks -framework Cocoa -framework QuartzCore -framework OpenGL"
3596 _def_macosx_corevideo
='#define MACOSX_COREVIDEO 1'
3597 _macosx_corevideo
=yes
3599 _novomodules
="macosx $_novomodules"
3600 _def_macosx_corevideo
='#undef MACOSX_COREVIDEO'
3601 _macosx_corevideo
=no
3606 echocheck
"Mac OS X Finder Support"
3607 if test "$_macosx_finder_support" = auto
; then
3608 _macosx_finder_support
=$_macosx
3610 if test "$_macosx_finder_support" = yes; then
3611 _def_macosx_finder_support
='#define MACOSX_FINDER_SUPPORT 1'
3612 _macosx_finder_support
=yes
3614 _def_macosx_finder_support
='#undef MACOSX_FINDER_SUPPORT'
3615 _macosx_finder_support
=no
3617 echores
"$_macosx_finder_support"
3619 echocheck
"Mac OS X Bundle file locations"
3620 if test "$_macosx_bundle" = auto
; then
3621 _macosx_bundle
=$_macosx_finder_support
3623 if test "$_macosx_bundle" = yes; then
3624 _def_macosx_bundle
='#define MACOSX_BUNDLE 1'
3626 _def_macosx_bundle
='#undef MACOSX_BUNDLE'
3629 echores
"$_macosx_bundle"
3634 echocheck
"Samba support (libsmbclient)"
3635 if test "$_smbsupport" = yes; then
3636 _ld_smb
="-lsmbclient"
3638 if test "$_smbsupport" = auto
; then
3641 #include <libsmbclient.h>
3642 int main(void) { smbc_opendir("smb://"); return 0; }
3644 for _ld_tmp
in "-lsmbclient" "-lsmbclient $_ld_dl" "-lsmbclient $_ld_dl -lnsl" "-lsmbclient $_ld_dl -lssl -lnsl" ; do
3645 cc_check
$_ld_tmp && _ld_smb
="$_ld_tmp" && _smbsupport
=yes && break
3649 if test "$_smbsupport" = yes; then
3650 _def_smbsupport
="#define LIBSMBCLIENT"
3651 _inputmodules
="smb $_inputmodules"
3653 _def_smbsupport
="#undef LIBSMBCLIENT"
3654 _noinputmodules
="smb $_noinputmodules"
3656 echores
"$_smbsupport"
3665 if test "$_3dfx" = yes ; then
3666 _def_3dfx
='#define HAVE_3DFX 1'
3667 _vosrc
="$_vosrc vo_3dfx.c"
3668 _vomodules
="3dfx $_vomodules"
3670 _def_3dfx
='#undef HAVE_3DFX'
3671 _novomodules
="3dfx $_novomodules"
3677 if test "$_tdfxfb" = yes ; then
3678 _def_tdfxfb
='#define HAVE_TDFXFB 1'
3679 _vosrc
="$_vosrc vo_tdfxfb.c"
3680 _vomodules
="tdfxfb $_vomodules"
3682 _def_tdfxfb
='#undef HAVE_TDFXFB'
3683 _novomodules
="tdfxfb $_novomodules"
3688 if test "$_s3fb" = yes ; then
3689 _def_s3fb
='#define HAVE_S3FB 1'
3690 _vosrc
="$_vosrc vo_s3fb.c"
3691 _vomodules
="s3fb $_vomodules"
3693 _def_s3fb
='#undef HAVE_S3FB'
3694 _novomodules
="s3fb $_novomodules"
3699 if test "$_tdfxvid" = yes ; then
3700 _def_tdfxvid
='#define HAVE_TDFX_VID 1'
3701 _vosrc
="$_vosrc vo_tdfx_vid.c"
3702 _vomodules
="tdfx_vid $_vomodules"
3704 _def_tdfxvid
='#undef HAVE_TDFX_VID'
3705 _novomodules
="tdfx_vid $_novomodules"
3710 if test "$_tga" = yes ; then
3711 _def_tga
='#define HAVE_TGA 1'
3712 _vosrc
="$_vosrc vo_tga.c"
3713 _vomodules
="tga $_vomodules"
3715 _def_tga
='#undef HAVE_TGA'
3716 _novomodules
="tga $_novomodules"
3721 echocheck
"DirectFB"
3722 if test "$_directfb" = auto
; then
3725 #include <directfb.h>
3726 int main(void) { IDirectFB *foo; DirectFBInit(0,0); return 0; }
3728 for _inc_tmp
in "" -I/usr
/local
/include
/directfb \
3729 -I/usr
/include
/directfb
-I/usr
/local
/include
-I/usr
/include
; do
3730 cc_check
$_inc_tmp -ldirectfb && _directfb
=yes && \
3731 _inc_extra
="$_inc_extra $_inc_tmp" && break
3736 expr $1 \
* 65536 + $2 \
* 256 + $3
3739 if test "$_directfb" = yes; then
3741 #include <directfb_version.h>
3743 dfb_ver = DIRECTFB_MAJOR_VERSION.DIRECTFB_MINOR_VERSION.DIRECTFB_MICRO_VERSION
3746 if $_cc -E $TMPC $_inc_extra > "$TMPO"; then
3747 _directfb_version
=`sed -n 's/^dfb_ver[^0-9]*\(.*\)/\1/p' "$TMPO" | tr -d '()'`
3748 _dfb_major
=`echo $_directfb_version | cut -d . -f 1`
3749 _dfb_minor
=`echo $_directfb_version | cut -d . -f 2`
3750 _dfb_micro
=`echo $_directfb_version | cut -d . -f 3`
3751 _dfb_version
=$
(dfb_version
$_dfb_major $_dfb_minor $_dfb_micro)
3752 if test "$_dfb_version" -ge $
(dfb_version
0 9 13); then
3753 _def_directfb_version
="#define DIRECTFBVERSION $_dfb_version"
3754 _res_comment
="$_directfb_version"
3756 _def_directfb_version
='#undef DIRECTFBVERSION'
3758 _res_comment
="version >=0.9.13 required"
3762 _res_comment
="failed to get version"
3765 echores
"$_directfb"
3767 if test "$_directfb" = yes ; then
3768 _def_directfb
='#define HAVE_DIRECTFB 1'
3769 if test "$_dfb_version" -ge $
(dfb_version
0 9 13); then
3770 _vosrc
="$_vosrc vo_directfb2.c"
3771 _vomodules
="directfb $_vomodules"
3772 _ld_directfb
='-ldirectfb'
3774 _novomodules
="directfb $_novomodules"
3777 if test "$_dfb_version" -ge $
(dfb_version
0 9 15); then
3778 _vosrc
="$_vosrc vo_dfbmga.c"
3779 _vomodules
="dfbmga $_vomodules"
3780 _def_dfbmga
='#define HAVE_DFBMGA 1'
3782 _novomodules
="dfbmga $_novomodules"
3783 _def_dfbmga
='#undef HAVE_DFBMGA'
3786 _def_directfb
='#undef HAVE_DIRECTFB'
3787 _novomodules
="dfbmga directfb $_novomodules"
3791 echocheck
"X11 headers presence"
3792 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
3793 if test -f "$I/X11/Xlib.h" ; then
3796 _res_comment
="using $I"
3800 #FIXME: This is ugly as it can duplicate a -I parameter..
3801 _inc_extra
="$_inc_extra $_inc_x11"
3802 if test -z "$_inc_x11" ; then
3805 _res_comment
="check if the dev(el) packages are installed"
3807 echores
"$_x11_headers"
3811 if test "$_x11" != no
; then
3813 #include <X11/Xlib.h>
3814 #include <X11/Xutil.h>
3815 int main(void) { (void) XCreateWindow(0,0,0,0,0,0,0,0,0,0,0,0); return 0; }
3817 for I
in $_ld_x11 "" -L/usr
/X11R
6/lib
-L/usr
/lib
/X11R6
-L/usr
/X11
/lib \
3818 -L/usr
/lib32
-L/usr
/openwin
/lib
-L/usr
/X11R
6/lib64
-L/usr
/lib
; do
3819 _ld_x11
="$I -lXext -lX11 $_ld_sock $_ld_pthread"
3821 _ld_x11
="$_ld_x11 -Wl,-R`echo $I | sed s/^-L//`"
3823 cc_check
$_ld_x11 && _x11
=yes && break
3826 if test "$_x11" = yes ; then
3827 _def_x11
='#define HAVE_X11 1'
3828 _vosrc
="$_vosrc x11_common.c vo_x11.c vo_xover.c"
3829 _vomodules
="x11 xover $_vomodules"
3832 _def_x11
='#undef HAVE_X11'
3834 _novomodules
="x11 $_novomodules"
3835 _res_comment
="check if the dev(el) packages are installed"
3836 # disable stuff that depends on X
3837 _xv
=no
; _xvmc
=no
; _xinerama
=no
; _vm
=no
; _xf86keysym
=no
; _dga
=no
3845 if test "$_x11" = yes ; then
3847 #include <X11/Xmd.h>
3848 #include <X11/Xlib.h>
3849 #include <X11/Xutil.h>
3850 #include <X11/Xatom.h>
3851 #include <X11/extensions/dpms.h>
3853 (void) DPMSQueryExtension(0, 0, 0);
3856 cc_check
-lXdpms $_ld_x11 && _xdpms3
=yes
3858 #include <X11/Xlib.h>
3859 #include <X11/extensions/dpms.h>
3861 (void) DPMSQueryExtension(0, 0, 0);
3864 cc_check
$_ld_x11 && _xdpms4
=yes
3866 if test "$_xdpms4" = yes ; then
3867 _def_xdpms
='#define HAVE_XDPMS 1'
3868 _res_comment
="using Xdpms 4"
3870 elif test "$_xdpms3" = yes ; then
3871 _def_xdpms
='#define HAVE_XDPMS 1'
3872 _ld_x11
="-lXdpms $_ld_x11"
3873 _res_comment
="using Xdpms 3"
3876 _def_xdpms
='#undef HAVE_XDPMS'
3882 if test "$_xv" = auto
; then
3884 #include <X11/Xlib.h>
3885 #include <X11/extensions/Xvlib.h>
3887 (void) XvGetPortAttribute(0, 0, 0, 0);
3888 (void) XvQueryPortAttributes(0, 0, 0);
3892 cc_check
-lXv $_ld_x11 && _xv
=yes
3895 if test "$_xv" = yes ; then
3896 _def_xv
='#define HAVE_XV 1'
3898 _vosrc
="$_vosrc vo_xv.c"
3899 _vomodules
="xv $_vomodules"
3901 _def_xv
='#undef HAVE_XV'
3902 _novomodules
="xv $_novomodules"
3908 if test "$_xv" = yes && test "$_xvmc" != no
; then
3911 #include <X11/Xlib.h>
3912 #include <X11/extensions/Xvlib.h>
3913 #include <X11/extensions/XvMClib.h>
3915 (void) XvMCQueryExtension(0,0,0);
3916 (void) XvMCCreateContext(0,0,0,0,0,0,0);
3919 for _ld_tmp
in $_xvmclib XvMCNVIDIA XvMCW I810XvMC
; do
3920 cc_check
-lXvMC -l$_ld_tmp $_ld_xv $_ld_x11 && _xvmc
=yes && _xvmclib
="$_ld_tmp" && break
3923 if test "$_xvmc" = yes ; then
3924 _def_xvmc
='#define HAVE_XVMC 1'
3925 _ld_xvmc
="-lXvMC -l$_xvmclib"
3926 _vosrc
="$_vosrc vo_xvmc.c"
3927 _vomodules
="xvmc $_vomodules"
3928 _res_comment
="using $_xvmclib"
3930 _def_xvmc
='#undef HAVE_XVMC'
3931 _novomodules
="xvmc $_novomodules"
3936 echocheck
"Xinerama"
3937 if test "$_xinerama" = auto
; then
3939 #include <X11/Xlib.h>
3940 #include <X11/extensions/Xinerama.h>
3941 int main(void) { (void) XineramaIsActive(0); return 0; }
3944 cc_check
-lXinerama $_ld_x11 && _xinerama
=yes
3947 if test "$_xinerama" = yes ; then
3948 _def_xinerama
='#define HAVE_XINERAMA 1'
3949 _ld_xinerama
='-lXinerama'
3951 _def_xinerama
='#undef HAVE_XINERAMA'
3953 echores
"$_xinerama"
3956 # Note: the -lXxf86vm library is the VideoMode extension and though it's not
3957 # needed for DGA, AFAIK every distribution packages together with DGA stuffs
3958 # named 'X extensions' or something similar.
3959 # This check may be useful for future mplayer versions (to change resolution)
3960 # If you run into problems, remove '-lXxf86vm'.
3962 if test "$_vm" = auto
; then
3964 #include <X11/Xlib.h>
3965 #include <X11/extensions/xf86vmode.h>
3966 int main(void) { (void) XF86VidModeQueryExtension(0, 0, 0); return 0; }
3969 cc_check
-lXxf86vm $_ld_x11 && _vm
=yes
3971 if test "$_vm" = yes ; then
3972 _def_vm
='#define HAVE_XF86VM 1'
3975 _def_vm
='#undef HAVE_XF86VM'
3979 # Check for the presence of special keycodes, like audio control buttons
3980 # that XFree86 might have. Used to be bundled with the xf86vm check, but
3981 # has nothing to do with xf86vm and XFree 3.x has xf86vm but does NOT
3982 # have these new keycodes.
3983 echocheck
"XF86keysym"
3984 if test "$_xf86keysym" = auto
; then
3987 #include <X11/Xlib.h>
3988 #include <X11/XF86keysym.h>
3989 int main(void) { return XF86XK_AudioPause; }
3991 cc_check
$_ld_x11 && _xf86keysym
=yes
3993 if test "$_xf86keysym" = yes ; then
3994 _def_xf86keysym
='#define HAVE_XF86XK 1'
3996 _def_xf86keysym
='#undef HAVE_XF86XK'
3998 echores
"$_xf86keysym"
4001 # Version 2 is preferred to version 1 if available
4002 if test "$_dga" = auto
; then
4004 #include <X11/Xlib.h>
4005 #include <X11/extensions/xf86dga.h>
4006 int main (void) { (void) XF86DGASetViewPort(0, 0, 0, 0); return 0; }
4009 cc_check
-lXxf86dga -lXxf86vm $_ld_x11 && _dga
=1
4012 #include <X11/Xlib.h>
4013 #include <X11/extensions/xf86dga.h>
4014 int main (void) { (void) XDGASetViewport(0, 0, 0, 0, 0); return 0; }
4016 cc_check
-lXxf86dga $_ld_x11 && _dga
=2
4019 _def_dga
='#undef HAVE_DGA'
4020 _def_dga2
='#undef HAVE_DGA2'
4021 if test "$_dga" = 1 ; then
4022 _def_dga
='#define HAVE_DGA 1'
4023 _ld_dga
='-lXxf86dga'
4024 _vosrc
="$_vosrc vo_dga.c"
4025 _vomodules
="dga $_vomodules"
4026 _res_comment
="using DGA 1.0"
4027 elif test "$_dga" = 2 ; then
4028 _def_dga
='#define HAVE_DGA 1'
4029 _def_dga2
='#define HAVE_DGA2 1'
4030 _ld_dga
='-lXxf86dga'
4031 _vosrc
="$_vosrc vo_dga.c"
4032 _vomodules
="dga $_vomodules"
4033 _res_comment
="using DGA 2.0"
4034 elif test "$_dga" = no
; then
4035 _novomodules
="dga $_novomodules"
4037 die
"DGA version must be 1 or 2"
4043 #Note: this test is run even with --enable-gl since we autodetect $_ld_gl
4044 if (test "$_x11" = yes || win32
) && test "$_gl" != no
; then
4047 int main(void) { return 0; }
4050 if cc_check
$_ld_x11 -lGL $_ld_lm ; then
4052 _ld_gl
="-lGL $_ld_dl"
4053 elif cc_check
$_ld_x11 -lGL $_ld_lm $_ld_pthread ; then
4055 _ld_gl
="-lGL $_ld_pthread $_ld_dl"
4056 elif cc_check
-lopengl32 ; then
4059 _ld_gl
="-lopengl32 -lgdi32"
4064 if test "$_gl" = yes ; then
4065 _def_gl
='#define HAVE_GL 1'
4066 _vosrc
="$_vosrc vo_gl.c vo_gl2.c gl_common.c"
4067 if test "$_gl_win32" = yes ; then
4068 _def_gl_win32
='#define GL_WIN32 1'
4069 _vosrc
="$_vosrc w32_common.c"
4070 _res_comment
="win32 version"
4072 _vomodules
="opengl $_vomodules"
4074 _def_gl
='#undef HAVE_GL'
4075 _def_gl_win32
='#undef GL_WIN32'
4076 _novomodules
="opengl $_novomodules"
4081 echocheck
"/dev/mga_vid"
4082 if test "$_mga" = auto
; then
4084 test -c /dev
/mga_vid
&& _mga
=yes
4086 if test "$_mga" = yes ; then
4087 _def_mga
='#define HAVE_MGA 1'
4088 _vosrc
="$_vosrc vo_mga.c"
4089 _vomodules
="mga $_vomodules"
4091 _def_mga
='#undef HAVE_MGA'
4092 _novomodules
="mga $_novomodules"
4097 # echocheck "syncfb"
4099 # test "$_mga" = yes && _syncfb=yes
4100 # if test "$_syncfb" = yes ; then
4101 # _def_syncfb='#define HAVE_SYNCFB 1'
4102 # _vosrc="$_vosrc vo_syncfb.c"
4104 # _def_syncfb='#undef HAVE_SYNCFB'
4106 # echores "$_syncfb"
4110 if test "$_xmga" = auto
; then
4112 test "$_x11" = yes && test "$_mga" = yes && _xmga
=yes
4114 if test "$_xmga" = yes ; then
4115 _def_xmga
='#define HAVE_XMGA 1'
4116 _vosrc
="$_vosrc vo_xmga.c"
4117 _vomodules
="xmga $_vomodules"
4119 _def_xmga
='#undef HAVE_XMGA'
4120 _novomodules
="xmga $_novomodules"
4126 if test "$_ggi" = auto
; then
4128 #include <ggi/ggi.h>
4129 int main(void) { return 0; }
4132 cc_check
-lggi && _ggi
=yes
4134 if test "$_ggi" = yes ; then
4135 _def_ggi
='#define HAVE_GGI 1'
4137 _vosrc
="$_vosrc vo_ggi.c"
4138 _vomodules
="ggi $_vomodules"
4140 _def_ggi
='#undef HAVE_GGI'
4141 _novomodules
="ggi $_novomodules"
4145 echocheck
"GGI extension: libggiwmh"
4146 if test "$_ggiwmh" = auto
; then
4149 #include <ggi/ggi.h>
4150 #include <ggi/wmh.h>
4151 int main(void) { return 0; }
4153 cc_check
-lggi -lggiwmh && _ggiwmh
=yes
4155 # needed to get right output on obscure combination
4156 # like --disable-ggi --enable-ggiwmh
4157 if test "$_ggi" = yes && test "$_ggiwmh" = yes ; then
4158 _def_ggiwmh
='#define HAVE_GGIWMH 1'
4159 _ld_ggi
="$_ld_ggi -lggiwmh"
4162 _def_ggiwmh
='#undef HAVE_GGIWMH'
4168 if test "$_aa" = auto
; then
4171 extern struct aa_hardware_params aa_defparams;
4172 extern struct aa_renderparams aa_defrenderparams;
4176 (void) aa_init(0, 0, 0);
4177 c = aa_autoinit(&aa_defparams);
4178 p = aa_getrenderparams();
4179 aa_autoinitkbd(c,0);
4183 for _ld_tmp
in "-laa" "$_ld_x11 -laa" ; do
4184 cc_check
$_ld_tmp && _ld_aa
=$_ld_tmp && _aa
=yes && break
4187 if test "$_aa" = yes ; then
4188 _def_aa
='#define HAVE_AA 1'
4190 _ld_aa
=`aalib-config --libs | cut -d " " -f 2,5,6`
4192 _vosrc
="$_vosrc vo_aa.c"
4193 _vomodules
="aa $_vomodules"
4195 _def_aa
='#undef HAVE_AA'
4196 _novomodules
="aa $_novomodules"
4202 if test "$_caca" = auto
; then
4204 if ( caca-config
--version ) >> "$TMPLOG" 2>&1 ; then
4207 #ifdef CACA_API_VERSION_1
4210 int main(void) { (void) caca_init(); return 0; }
4212 cc_check
`caca-config --libs` && _caca
=yes
4215 if test "$_caca" = yes ; then
4216 _def_caca
='#define HAVE_CACA 1'
4217 _inc_extra
="$_inc_extra `caca-config --cflags`"
4218 _ld_caca
=`caca-config --libs`
4219 _vosrc
="$_vosrc vo_caca.c"
4220 _vomodules
="caca $_vomodules"
4222 _def_caca
='#undef HAVE_CACA'
4223 _novomodules
="caca $_novomodules"
4229 if test "$_svga" = auto
; then
4232 int main(void) { return 0; }
4235 cc_check
-lvga $_ld_lm && _svga
=yes
4237 if test "$_svga" = yes ; then
4238 _def_svga
='#define HAVE_SVGALIB 1'
4240 _vosrc
="$_vosrc vo_svga.c"
4241 _vomodules
="svga $_vomodules"
4243 _def_svga
='#undef HAVE_SVGALIB'
4244 _novomodules
="svga $_novomodules"
4250 if test "$_fbdev" = auto
; then
4252 linux
&& test -c /dev
/fb0
&& _fbdev
=yes
4254 if test "$_fbdev" = yes ; then
4255 _def_fbdev
='#define HAVE_FBDEV 1'
4256 _vosrc
="$_vosrc vo_fbdev.c vo_fbdev2.c"
4257 _vomodules
="fbdev $_vomodules"
4259 _def_fbdev
='#undef HAVE_FBDEV'
4260 _novomodules
="fbdev $_novomodules"
4267 if test "$_dvb" = auto
; then
4270 #include <sys/poll.h>
4271 #include <sys/ioctl.h>
4276 #include <ost/dmx.h>
4277 #include <ost/frontend.h>
4278 #include <ost/sec.h>
4279 #include <ost/video.h>
4280 #include <ost/audio.h>
4281 int main(void) {return 0;}
4283 for _inc_tmp
in "" "-I/usr/src/DVB/ost/include" ; do
4284 cc_check
$_inc_tmp && _dvb
=yes && \
4285 _inc_extra
="$_inc_extra $_inc_tmp" && break
4289 if test "$_dvb" = yes ; then
4290 _def_dvb
='#define HAVE_DVB 1'
4291 _def_dvb_in
='#define HAS_DVBIN_SUPPORT 1'
4292 _aomodules
="mpegpes(dvb) $_aomodules"
4293 _vomodules
="mpegpes(dvb) $_vomodules"
4296 echocheck
"DVB HEAD"
4297 if test "$_dvbhead" = auto
; then
4301 #include <sys/poll.h>
4302 #include <sys/ioctl.h>
4307 #include <linux/dvb/dmx.h>
4308 #include <linux/dvb/frontend.h>
4309 #include <linux/dvb/video.h>
4310 #include <linux/dvb/audio.h>
4311 int main(void) {return 0;}
4313 for _inc_tmp
in "" "-I/usr/src/DVB/include" ; do
4314 cc_check
$_inc_tmp && _dvbhead
=yes && \
4315 _inc_extra
="$_inc_extra $_inc_tmp" && break
4319 if test "$_dvbhead" = yes ; then
4320 _def_dvb
='#define HAVE_DVB_HEAD 1'
4321 _def_dvb_in
='#define HAS_DVBIN_SUPPORT 1'
4322 _aomodules
="mpegpes(dvb) $_aomodules"
4323 _vomodules
="mpegpes(dvb) $_vomodules"
4326 if test "$_dvbhead" = no
&& test "$_dvb" = no
; then
4327 _def_dvb
='#undef HAVE_DVB'
4328 _def_dvb_in
='#undef HAS_DVBIN_SUPPORT '
4329 _aomodules
="mpegpes(file) $_aomodules"
4330 _vomodules
="mpegpes(file) $_vomodules"
4333 if test "$_dvb" = yes ||
test "$_dvbhead" = yes ; then
4335 _inputmodules
="dvb $_inputmodules"
4338 _noinputmodules
="dvb $_noinputmodules"
4341 echocheck
"PNG support"
4342 if test "$_png" = auto
; then
4345 # Don't check for -lpng on irix since it has its own libpng
4346 # incompatible with the GNU libpng
4347 _res_comment
="disabled on irix (not GNU libpng)"
4353 printf("png.h : %s\n", PNG_LIBPNG_VER_STRING);
4354 printf("libpng: %s\n", png_libpng_ver);
4355 return (strcmp(PNG_LIBPNG_VER_STRING, png_libpng_ver));
4358 if cc_check
-lpng -lz $_ld_lm ; then
4362 _res_comment
="mismatch of library and header versions"
4368 if test "$_png" = yes ; then
4369 _def_png
='#define HAVE_PNG 1'
4371 _vosrc
="$_vosrc vo_png.c"
4372 _vomodules
="png $_vomodules"
4374 _def_png
='#undef HAVE_PNG'
4375 _novomodules
="png $_novomodules"
4378 echocheck
"JPEG support"
4379 if test "$_jpeg" = auto
; then
4386 #include <jpeglib.h>
4391 if cc_check
-ljpeg $_ld_lm ; then
4399 if test "$_jpeg" = yes ; then
4400 _def_jpeg
='#define HAVE_JPEG 1'
4401 _vosrc
="$_vosrc vo_jpeg.c"
4402 _vomodules
="jpeg $_vomodules"
4405 _def_jpeg
='#undef HAVE_JPEG'
4406 _novomodules
="jpeg $_novomodules"
4411 echocheck
"PNM support"
4412 if test "$_pnm" = yes; then
4413 _def_pnm
="#define HAVE_PNM"
4414 _vosrc
="$_vosrc vo_pnm.c"
4415 _vomodules
="pnm $_vomodules"
4417 _def_pnm
="#undef HAVE_PNM"
4418 _novomodules
="pnm $_novomodules"
4424 echocheck
"GIF support"
4425 # This is to appease people who want to force gif support.
4426 # If it is forced to yes, then we still do checks to determine
4427 # which gif library to use.
4428 if test "$_gif" = yes ; then
4433 if test "$_gif" = auto
; then
4436 #include <gif_lib.h>
4441 for _ld_tmp
in "-lungif" "-lungif $_ld_x11" "-lgif" "-lgif $_ld_x11" ; do
4442 cc_check
$_ld_tmp && tmp_run
&& _ld_gif
="$_ld_tmp" && _gif
=yes && break
4446 # If no library was found, and the user wants support forced,
4447 # then we force it on with libgif, as this is the safest
4448 # assumption IMHO. (libungif & libregif both create symbolic
4449 # links to libgif. We also assume that no x11 support is needed,
4450 # because if you are forcing this, then you _should_ know what
4451 # you are doing. [ Besides, package maintainers should never
4452 # have compiled x11 deps into libungif in the first place. ] )
4455 if test "$_force_gif" = yes && test "$_gif" = no
; then
4460 if test "$_gif" = yes ; then
4461 _def_gif
='#define HAVE_GIF 1'
4462 _vosrc
="$_vosrc vo_gif89a.c"
4463 _codecmodules
="gif $_codecmodules"
4464 _vomodules
="gif89a $_vomodules"
4465 _res_comment
="old version, some encoding functions disabled"
4466 _def_gif_4
='#undef HAVE_GIF_4'
4470 #include <gif_lib.h>
4471 void catch() { exit(1); }
4473 signal(SIGSEGV, catch); // catch segfault
4474 printf("EGifPutExtensionFirst is at address %p\n", EGifPutExtensionFirst);
4475 EGifSetGifVersion("89a"); // this will segfault a buggy gif lib.
4479 if cc_check
"$_ld_gif" && tmp_run
; then
4480 _def_gif_4
='#define HAVE_GIF_4 1'
4484 _def_gif
='#undef HAVE_GIF'
4485 _def_gif_4
='#undef HAVE_GIF_4'
4486 _novomodules
="gif89a $_novomodules"
4487 _nocodecmodules
="gif $_nocodecmodules"
4492 case "$_gif" in yes*)
4493 echocheck
"broken giflib workaround"
4494 _def_gif_tvt_hack
='#define HAVE_GIF_TVT_HACK 1'
4497 #include <gif_lib.h>
4500 printf("UserData is at address %p\n", gif.UserData);
4504 if cc_check
"$_ld_gif" && tmp_run
; then
4505 _def_gif_tvt_hack
='#undef HAVE_GIF_TVT_HACK'
4514 echocheck
"VESA support"
4515 if test "$_vesa" = auto
; then
4518 int main(void) { vbeVersion(); return 0; }
4521 cc_check
-lvbe -llrmi && _vesa
=yes
4523 if test "$_vesa" = yes ; then
4524 _def_vesa
='#define HAVE_VESA 1'
4525 _ld_vesa
="-lvbe -llrmi"
4526 _vosrc
="$_vosrc vo_vesa.c vesa_lvo.c gtf.c"
4527 _vomodules
="vesa $_vomodules"
4529 _def_vesa
='#undef HAVE_VESA'
4530 _novomodules
="vesa $_novomodules"
4540 if test -z "$_sdlconfig" ; then
4541 if ( sdl-config
--version ) >>"$TMPLOG" 2>&1 ; then
4542 _sdlconfig
="sdl-config"
4543 elif ( sdl11-config
--version ) >>"$TMPLOG" 2>&1 ; then
4544 _sdlconfig
="sdl11-config"
4549 if test "$_sdl" = auto ||
test "$_sdl" = yes ; then
4552 int main(int argc, char *argv[]) { return 0; }
4555 if "$_sdlconfig" --version >>"$TMPLOG" 2>&1 ; then
4556 if cc_check
`$_sdlconfig --cflags` `$_sdlconfig --libs` >>"$TMPLOG" 2>&1 ; then
4557 _sdlversion
=`$_sdlconfig --version | sed 's/[^0-9]//g'`
4558 if test "$_sdlversion" -gt 116 ; then
4559 if test "$_sdlversion" -lt 121 ; then
4560 _def_sdlbuggy
='#define BUGGY_SDL'
4562 _def_sdlbuggy
='#undef BUGGY_SDL'
4566 _res_comment
="outdated"
4571 if test "$_sdl" = yes ; then
4572 _def_sdl
='#define HAVE_SDL 1'
4574 _ld_sdl
=`$_sdlconfig --libs | cut -d " " -f 1,4,6 | sed s/no-cygwin/cygwin/`
4575 _inc_extra
="$_inc_extra `$_sdlconfig --cflags | cut -d " " -f 1,5,6 | sed s/no-cygwin/cygwin/`"
4577 _ld_sdl
=`$_sdlconfig --libs | sed s/-mwindows//`
4578 _inc_extra
="$_inc_extra `$_sdlconfig --cflags | sed s/-Dmain=SDL_main//`"
4580 _ld_sdl
=`$_sdlconfig --libs`
4581 _inc_extra
="$_inc_extra `$_sdlconfig --cflags`"
4583 _vosrc
="$_vosrc vo_sdl.c"
4584 _vomodules
="sdl $_vomodules"
4585 _aosrc
="$_aosrc ao_sdl.c"
4586 _aomodules
="sdl $_aomodules"
4587 _res_comment
="using $_sdlconfig"
4589 _def_sdl
='#undef HAVE_SDL'
4590 _novomodules
="sdl $_novomodules"
4591 _noaomodules
="sdl $_noaomodules"
4598 echocheck
"Windows waveout"
4599 if test "$_win32waveout" = auto
; then
4601 #include <windows.h>
4602 #include <mmsystem.h>
4603 int main(void) { return 0; }
4606 cc_check
-lwinmm && _win32waveout
=yes
4608 if test "$_win32waveout" = yes ; then
4609 _def_win32waveout
='#define HAVE_WIN32WAVEOUT 1'
4610 _ld_win32libs
="-lwinmm $_ld_win32libs"
4611 _aosrc
="$_aosrc ao_win32.c"
4612 _aomodules
="win32 $_aomodules"
4614 _def_win32waveout
='#undef HAVE_WIN32WAVEOUT'
4615 _noaomodules
="win32 $_noaomodules"
4617 echores
"$_win32waveout"
4620 if test "$_directx" = auto
; then
4622 #include <windows.h>
4625 int main(void) { return 0; }
4628 cc_check
-lgdi32 && _directx
=yes
4630 if test "$_directx" = yes ; then
4631 _def_directx
='#define HAVE_DIRECTX 1'
4632 _ld_win32libs
="-lgdi32 $_ld_win32libs"
4633 _vosrc
="$_vosrc vo_directx.c"
4634 _vomodules
="directx $_vomodules"
4635 _aosrc
="$_aosrc ao_dsound.c"
4636 _aomodules
="dsound $_aomodules"
4638 _def_directx
='#undef HAVE_DIRECTX'
4639 _novomodules
="directx $_novomodules"
4640 _noaomodules
="dsound $_noaomodules"
4648 if test "$_nas" = auto
; then
4650 #include <audio/audiolib.h>
4651 int main(void) { return 0; }
4654 cc_check
$_ld_lm -laudio -lXt $_ld_x11 && _nas
=yes
4656 if test "$_nas" = yes ; then
4657 _def_nas
='#define HAVE_NAS 1'
4658 _ld_nas
="-laudio -lXt $_ld_x11"
4659 _aosrc
="$_aosrc ao_nas.c"
4660 _aomodules
="nas $_aomodules"
4662 _noaomodules
="nas $_noaomodules"
4663 _def_nas
='#undef HAVE_NAS'
4668 if test "$_dxr2" = auto
; then
4671 #include <dxr2ioctl.h>
4672 int main(void) { return 0; }
4674 for _inc_tmp
in "" -I/usr
/local
/include
/dxr2
-I/usr
/include
/dxr2
; do
4675 cc_check
$_inc_tmp && _dxr2
=yes && \
4676 _inc_extra
="$_inc_extra $_inc_tmp" && break
4679 if test "$_dxr2" = yes; then
4680 _def_dxr2
='#define HAVE_DXR2 1'
4681 _vosrc
="$_vosrc vo_dxr2.c"
4682 _aosrc
="$_aosrc ao_dxr2.c"
4683 _aomodules
="dxr2 $_aomodules"
4684 _vomodules
="dxr2 $_vomodules"
4686 _def_dxr2
='#undef HAVE_DXR2'
4687 _noaomodules
="dxr2 $_noaomodules"
4688 _novomodules
="dxr2 $_novomodules"
4693 if test "$_dxr3" = auto
; then
4695 #include <linux/em8300.h>
4696 int main(void) { return 0; }
4699 cc_check
&& _dxr3
=yes
4701 if test "$_dxr3" = yes ; then
4702 _def_dxr3
='#define HAVE_DXR3 1'
4703 _vosrc
="$_vosrc vo_dxr3.c"
4704 _vomodules
="dxr3 $_vomodules"
4706 _def_dxr3
='#undef HAVE_DXR3'
4707 _novomodules
="dxr3 $_novomodules"
4712 echocheck
"IVTV TV-Out"
4713 if test "$_ivtv" = auto
; then
4716 #include <inttypes.h>
4717 #include <linux/types.h>
4718 #include <linux/videodev2.h>
4719 #include <linux/ivtv.h>
4720 int main(void) { return 0; }
4723 cc_check
&& _ivtv
=yes
4725 if test "$_ivtv" = yes ; then
4726 _def_ivtv
='#define HAVE_IVTV 1'
4727 _vosrc
="$_vosrc vo_ivtv.c"
4728 _vomodules
="ivtv $_vomodules"
4729 _aosrc
="$_aosrc ao_ivtv.c"
4730 _aomodules
="ivtv $_aomodules"
4732 _def_ivtv
='#undef HAVE_IVTV'
4733 _novomodules
="ivtv $_novomodules"
4734 _noaomodules
="ivtv $_noaomodules"
4740 if test "$_libfame" = auto
; then
4742 test "$_dxr2" = yes && _libfame
=auto
4743 test "$_dxr3" = yes && _libfame
=auto
4744 test "$_dvb" = yes && _libfame
=auto
4746 if test "$_libfame" = auto
; then
4748 if test -d libfame
&& test -f libfame
/fame.h
; then
4749 # disable libfame on Cygwin as porting makes no sense
4750 cygwin || _libfame
=yes
4752 _res_comment
="no libfame dir"
4757 _def_libfame
='#undef USE_LIBFAME'
4758 if test "$_libfame" = yes ; then
4759 _def_libfame
='#define USE_LIBFAME 1'
4760 _ld_libfame
='libfame/libfame.a'
4769 echocheck
"OSS Audio"
4770 if test "$_ossaudio" = auto
; then
4772 #include <sys/ioctl.h>
4774 int main(void) { int arg = SNDCTL_DSP_SETFRAGMENT; return 0; }
4777 cc_check
&& _ossaudio
=yes
4779 if test "$_ossaudio" = yes ; then
4780 _def_ossaudio
='#define USE_OSS_AUDIO 1'
4781 _aosrc
="$_aosrc ao_oss.c"
4782 _aomodules
="oss $_aomodules"
4783 if test "$_linux_devfs" = yes; then
4784 _def_ossaudio_devdsp
='#define PATH_DEV_DSP "/dev/sound/dsp"'
4785 _def_ossaudio_devmixer
='#define PATH_DEV_MIXER "/dev/sound/mixer"'
4788 #include <sys/ioctl.h>
4790 #ifdef OPEN_SOUND_SYSTEM
4791 int main(void) { return 0; }
4793 #error Not the real thing
4797 cc_check
&& _real_ossaudio
=yes
4798 if test "$_real_ossaudio" = yes; then
4799 _def_ossaudio_devdsp
='#define PATH_DEV_DSP "/dev/dsp"'
4800 elif netbsd || openbsd
; then
4801 _def_ossaudio_devdsp
='#define PATH_DEV_DSP "/dev/sound"'
4802 _ld_arch
="$_ld_arch -lossaudio"
4804 _def_ossaudio_devdsp
='#define PATH_DEV_DSP "/dev/dsp"'
4806 _def_ossaudio_devmixer
='#define PATH_DEV_MIXER "/dev/mixer"'
4809 _def_ossaudio
='#undef USE_OSS_AUDIO'
4810 _def_ossaudio_devdsp
='#define PATH_DEV_DSP ""'
4811 _def_ossaudio_devmixer
='#define PATH_DEV_MIXER ""'
4812 _noaomodules
="oss $_noaomodules"
4814 echores
"$_ossaudio"
4818 if test "$_arts" = auto
; then
4820 if ( artsc-config
--version ) >> "$TMPLOG" 2>&1 ; then
4824 int main(void) { return 0; }
4826 cc_check
`artsc-config --libs` `artsc-config --cflags` && tmp_run
&& _arts
=yes
4831 if test "$_arts" = yes ; then
4832 _def_arts
='#define USE_ARTS 1'
4833 _aosrc
="$_aosrc ao_arts.c"
4834 _aomodules
="arts $_aomodules"
4835 _ld_arts
=`artsc-config --libs`
4836 _inc_extra
="$_inc_extra `artsc-config --cflags`"
4838 _noaomodules
="arts $_noaomodules"
4844 if test "$_esd" = auto
; then
4846 if ( esd-config
--version ) >> "$TMPLOG" 2>&1 ; then
4850 int main(void) { return 0; }
4852 cc_check
`esd-config --libs` `esd-config --cflags` && tmp_run
&& _esd
=yes
4858 if test "$_esd" = yes ; then
4859 _def_esd
='#define USE_ESD 1'
4860 _aosrc
="$_aosrc ao_esd.c"
4861 _aomodules
="esd $_aomodules"
4862 _ld_esd
=`esd-config --libs`
4863 _inc_extra
="$_inc_extra `esd-config --cflags`"
4865 echocheck
"esd_get_latency()"
4868 int main(void) { return esd_get_latency(0); }
4870 cc_check
`esd-config --libs` `esd-config --cflags` && _esd_latency
=yes && _def_esd_latency
='#define HAVE_ESD_LATENCY'
4871 echores
"$_esd_latency"
4873 _def_esd
='#undef USE_ESD'
4874 _def_esd_latency
='#undef HAVE_ESD_LATENCY'
4875 _noaomodules
="esd $_noaomodules"
4879 if test "$_polyp" = auto
; then
4881 if pkg-config
--exists 'polyplib >= 0.6 polyplib-error >= 0.6 polyplib-mainloop >= 0.6' ; then
4884 #include <polyp/polyplib.h>
4885 #include <polyp/mainloop.h>
4886 #include <polyp/polyplib-error.h>
4887 int main(void) { return 0; }
4889 cc_check
`pkg-config --libs --cflags polyplib polyplib-error polyplib-mainloop` && tmp_run
&& _polyp
=yes
4895 if test "$_polyp" = yes ; then
4896 _def_polyp
='#define USE_POLYP 1'
4897 _aosrc
="$_aosrc ao_polyp.c"
4898 _aomodules
="polyp $_aomodules"
4899 _ld_polyp
=`pkg-config --libs polyplib polyplib-error polyplib-mainloop`
4900 _inc_extra
="$_inc_extra `pkg-config --cflags polyplib polyplib-error polyplib-mainloop`"
4902 _def_polyp
='#undef USE_POLYP'
4903 _noaomodules
="polyp $_noaomodules"
4908 if test "$_jack" = auto
; then
4912 #include <jack/jack.h>
4913 int main(void) { jack_client_new("test"); return 0; }
4915 if cc_check
-ljack ; then
4917 elif cc_check
`pkg-config --libs --cflags --silence-errors jack` ; then
4918 _ld_jack
="`pkg-config --libs jack`"
4919 _inc_extra
="$_inc_extra "`pkg-config --cflags jack`""
4925 if test "$_jack" = yes ; then
4926 _def_jack
='#define USE_JACK 1'
4927 _aosrc
="$_aosrc ao_jack.c"
4928 _aomodules
="jack $_aomodules"
4930 _noaomodules
="jack $_noaomodules"
4935 if test "$_openal" = auto
; then
4940 alSourceQueueBuffers(0, 0, 0);
4941 // alGetSourcei(0, AL_SAMPLE_OFFSET, 0);
4945 if cc_check
-lopenal ; then
4946 _ld_openal
="-lopenal"
4950 if test "$_openal" = yes ; then
4951 _def_openal
='#define USE_OPENAL 1'
4952 _aosrc
="$_aosrc ao_openal.c"
4953 _aomodules
="openal $_aomodules"
4955 _noaomodules
="openal $_noaomodules"
4959 echocheck
"ALSA audio"
4960 if test "$_alsa" != no
; then
4963 #include <sys/asoundlib.h>
4964 #if !((SND_LIB_MAJOR == 0) && (SND_LIB_MINOR == 5))
4965 #error "alsa version != 0.5.x"
4967 int main(void) { return 0; }
4969 cc_check
-lasound $_ld_dl $_ld_pthread && _alsaver
='0.5.x'
4972 #include <sys/asoundlib.h>
4973 #if !((SND_LIB_MAJOR == 0) && (SND_LIB_MINOR == 9))
4974 #error "alsa version != 0.9.x"
4976 int main(void) { return 0; }
4978 cc_check
-lasound $_ld_dl $_ld_pthread && _alsaver
='0.9.x-sys'
4980 #include <alsa/asoundlib.h>
4981 #if !((SND_LIB_MAJOR == 0) && (SND_LIB_MINOR == 9))
4982 #error "alsa version != 0.9.x"
4984 int main(void) { return 0; }
4986 cc_check
-lasound $_ld_dl $_ld_pthread && _alsaver
='0.9.x-alsa'
4989 #include <sys/asoundlib.h>
4990 #if !((SND_LIB_MAJOR == 1) && (SND_LIB_MINOR == 0))
4991 #error "alsa version != 1.0.x"
4993 int main(void) { return 0; }
4995 cc_check
-lasound $_ld_dl $_ld_pthread && _alsaver
='1.0.x-sys'
4997 #include <alsa/asoundlib.h>
4998 #if !((SND_LIB_MAJOR == 1) && (SND_LIB_MINOR == 0))
4999 #error "alsa version != 1.0.x"
5001 int main(void) { return 0; }
5003 cc_check
-lasound $_ld_dl $_ld_pthread && _alsaver
='1.0.x-alsa'
5005 _def_alsa5
='#undef HAVE_ALSA5'
5006 _def_alsa9
='#undef HAVE_ALSA9'
5007 _def_alsa1x
='#undef HAVE_ALSA1X'
5008 _def_sys_asoundlib_h
='#undef HAVE_SYS_ASOUNDLIB_H'
5009 _def_alsa_asoundlib_h
='#undef HAVE_ALSA_ASOUNDLIB_H'
5010 if test "$_alsaver" ; then
5012 if test "$_alsaver" = '0.5.x' ; then
5014 _aosrc
="$_aosrc ao_alsa5.c"
5015 _aomodules
="alsa5 $_aomodules"
5016 _def_alsa5
='#define HAVE_ALSA5 1'
5017 _def_sys_asoundlib_h
='#define HAVE_SYS_ASOUNDLIB_H 1'
5018 _res_comment
="using alsa 0.5.x and sys/asoundlib.h"
5019 elif test "$_alsaver" = '0.9.x-sys' ; then
5021 _aosrc
="$_aosrc ao_alsa.c"
5022 _aomodules
="alsa $_aomodules"
5023 _def_alsa9
='#define HAVE_ALSA9 1'
5024 _def_sys_asoundlib_h
='#define HAVE_SYS_ASOUNDLIB_H 1'
5025 _res_comment
="using alsa 0.9.x and sys/asoundlib.h"
5026 elif test "$_alsaver" = '0.9.x-alsa' ; then
5028 _aosrc
="$_aosrc ao_alsa.c"
5029 _aomodules
="alsa $_aomodules"
5030 _def_alsa9
='#define HAVE_ALSA9 1'
5031 _def_alsa_asoundlib_h
='#define HAVE_ALSA_ASOUNDLIB_H 1'
5032 _res_comment
="using alsa 0.9.x and alsa/asoundlib.h"
5033 elif test "$_alsaver" = '1.0.x-sys' ; then
5035 _aosrc
="$_aosrc ao_alsa.c"
5036 _aomodules
="alsa $_aomodules"
5037 _def_alsa1x
="#define HAVE_ALSA1X 1"
5038 _def_alsa_asoundlib_h
='#define HAVE_SYS_ASOUNDLIB_H 1'
5039 _res_comment
="using alsa 1.0.x and sys/asoundlib.h"
5040 elif test "$_alsaver" = '1.0.x-alsa' ; then
5042 _aosrc
="$_aosrc ao_alsa.c"
5043 _aomodules
="alsa $_aomodules"
5044 _def_alsa1x
="#define HAVE_ALSA1X 1"
5045 _def_alsa_asoundlib_h
='#define HAVE_ALSA_ASOUNDLIB_H 1'
5046 _res_comment
="using alsa 1.0.x and alsa/asoundlib.h"
5049 _res_comment
="unknown version"
5051 _ld_alsa
="-lasound $_ld_dl $_ld_pthread"
5053 _noaomodules
="alsa $_noaomodules"
5058 echocheck
"Sun audio"
5059 if test "$_sunaudio" = auto
; then
5061 #include <sys/types.h>
5062 #include <sys/audioio.h>
5063 int main(void) { audio_info_t info; AUDIO_INITINFO(&info); return 0; }
5066 cc_check
&& _sunaudio
=yes
5068 if test "$_sunaudio" = yes ; then
5069 _def_sunaudio
='#define USE_SUN_AUDIO 1'
5070 _aosrc
="$_aosrc ao_sun.c"
5071 _aomodules
="sun $_aomodules"
5073 _def_sunaudio
='#undef USE_SUN_AUDIO'
5074 _noaomodules
="sun $_noaomodules"
5076 echores
"$_sunaudio"
5080 echocheck
"Sun mediaLib"
5081 if test "$_mlib" = auto
; then
5085 int main(void) { mlib_VideoColorYUV2ABGR420(0,0,0,0,0,0,0,0,0); return 0; }
5087 cc_check
$_ld_mlib -lmlib && _mlib
=yes
5089 if test "$_mlib" = yes ; then
5090 _def_mlib
='#define HAVE_MLIB 1'
5091 _ld_mlib
="$_ld_mlib `echo $_ld_mlib | sed s/^-L/-R/` -lmlib"
5093 _def_mlib
='#undef HAVE_MLIB'
5100 echocheck
"SGI audio"
5101 if test "$_sgiaudio" = auto
; then
5102 # check for SGI audio
5104 #include <dmedia/audio.h>
5105 int main(void) { return 0; }
5108 cc_check
&& _sgiaudio
=yes
5110 if test "$_sgiaudio" = "yes" ; then
5111 _def_sgiaudio
='#define USE_SGI_AUDIO 1'
5112 _ld_sgiaudio
='-laudio'
5113 _aosrc
="$_aosrc ao_sgi.c"
5114 _aomodules
="sgi $_aomodules"
5116 _def_sgiaudio
='#undef USE_SGI_AUDIO'
5117 _noaomodules
="sgi $_noaomodules"
5119 echores
"$_sgiaudio"
5123 echocheck
"VCD support"
5124 if linux || bsdos || freebsd || netbsd || sunos || darwin
; then
5125 _inputmodules
="vcd $_inputmodules"
5126 _def_vcd
='#define HAVE_VCD 1'
5129 _def_vcd
='#undef HAVE_VCD'
5130 _noinputmodules
="vcd $_noinputmodules"
5131 _res_comment
="not supported on this OS"
5136 echocheck
"DVD support (libdvdnav)"
5137 if test "$_dvdnav" = auto
; then
5138 $_dvdnavconfig --version >> $TMPLOG 2>&1 || _dvdnav
=no
5140 if test "$_dvdnav" = auto
; then
5143 int main(void) { dvdnav_t *dvd=0; return 0; }
5146 _dvdnavdir
=`$_dvdnavconfig --cflags`
5147 _dvdnavlibs
=`$_dvdnavconfig --libs`
5148 _dvdnavvsn
=`$_dvdnavconfig --version | sed "s/\.//g"`
5150 _dvdnavmajor
=`echo $_dvdnavvsn | cut -d. -f2`
5151 test "$_dvdnavmajor" -ge 2 -o "$_dvdnavvsn" -ge 0110 && \
5152 cc_check
$_dvdnavdir $_dvdnavlibs $_used_css $_ld_dl $_ld_pthread && _dvdnav
=yes
5154 if test "$_dvdnav" = yes ; then
5156 _def_dvdnav
='#define USE_DVDNAV 1'
5157 _ld_dvdnav
=`$_dvdnavconfig --libs`
5158 _dvdnav_version
=`$_dvdnavconfig --version | sed "s/\.//g"`
5159 _def_dvdnav_version
="#define DVDNAVVERSION $_dvdnav_version"
5160 _inc_extra
="$_inc_extra `$_dvdnavconfig --cflags`"
5161 _inputmodules
="dvdnav $_inputmodules"
5163 #disable mpdvdkit and dvdread checks: dvdread will be enabled using dvdnav's version of dvdread
5167 _def_dvdnav
='#undef USE_DVDNAV'
5168 _noinputmodules
="dvdnav $_noinputmodules"
5172 echocheck
"DVD support (libmpdvdkit2)"
5173 if test "$_mpdvdkit" = auto
; then
5175 if linux || freebsd || netbsd || darwin || openbsd || win32 || sunos || hpux
; then
5176 test -f "./libmpdvdkit2/Makefile" && _mpdvdkit
=yes
5179 if test "$_mpdvdkit" = yes ; then
5180 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
5181 _inputmodules
="mpdvdkit2 $_inputmodules"
5182 _dvdread
=libmpdvdkit2
5184 _noinputmodules
="mpdvdkit2 $_noinputmodules"
5186 _def_dvd_linux
='#undef HAVE_LINUX_DVD_STRUCT'
5187 _def_dvd_bsd
='#undef HAVE_BSD_DVD_STRUCT'
5188 _dev_dvd_openbsd
='#undef HAVE_OPENBSD_DVD_STRUCT'
5189 _def_dvd_darwin
='#undef DARWIN_DVD_IOCTL'
5190 if linux || netbsd || openbsd || bsdos
; then
5191 _def_dvd_linux
='#define HAVE_LINUX_DVD_STRUCT 1'
5193 _dev_dvd_openbsd
='#define HAVE_OPENBSD_DVD_STRUCT 1'
5197 _def_dvd_bsd
='#define HAVE_BSD_DVD_STRUCT 1'
5200 _def_dvd_darwin
='#define DARWIN_DVD_IOCTL'
5205 _noinputmodules
="mpdvdkit2 $_noinputmodules"
5207 echores
"$_mpdvdkit"
5209 echocheck
"DVD support (libdvdread)"
5210 if test "$_dvdread" = auto
; then
5212 #include <inttypes.h>
5213 #include <dvdread/dvd_reader.h>
5214 #include <dvdread/ifo_types.h>
5215 #include <dvdread/ifo_read.h>
5216 #include <dvdread/nav_read.h>
5217 int main(void) { return 0; }
5220 if test "$_dl" = yes; then
5222 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -ldvdread $_ld_dl && \
5226 _def_mpdvdkit
="#undef USE_MPDVDKIT"
5230 _def_dvdread
='#define USE_DVDREAD 1'
5231 if test "$_dvdnav" != yes ; then
5232 _ld_dvdread
='-ldvdread'
5234 _inputmodules
="dvdread $_inputmodules"
5238 _def_dvdread
='#undef USE_DVDREAD'
5239 _noinputmodules
="dvdread $_noinputmodules"
5243 _def_dvdread
='#define USE_DVDREAD 1'
5244 _ld_dvdread
='-Llibmpdvdkit2 -lmpdvdkit'
5245 _noinputmodules
="dvdread $_noinputmodules"
5246 _def_mpdvdkit
="#define USE_MPDVDKIT 2"
5249 _res_comment
="disabled by libmpdvdkit2"
5254 if test "$_have_dvd" = yes ; then
5255 _def_have_dvd
='#define HAVE_DVD 1'
5257 _def_have_dvd
='#undef HAVE_DVD'
5261 echocheck
"cdparanoia"
5262 if test "$_cdparanoia" = auto
; then
5264 #include <cdda_interface.h>
5265 #include <cdda_paranoia.h>
5266 // This need a better test. How ?
5267 int main(void) { return 1; }
5270 for _inc_tmp
in "" "-I/usr/include/cdda" "-I/usr/local/include/cdda" ; do
5271 cc_check
$_inc_tmp $_ld_cdparanoia -lcdda_interface -lcdda_paranoia $_ld_lm && \
5272 _cdparanoia
=yes && _inc_extra
="$_inc_extra $_inc_tmp" && break
5275 if test "$_cdparanoia" = yes ; then
5277 _def_cdparanoia
='#define HAVE_CDDA'
5278 _inputmodules
="cdda $_inputmodules"
5279 _ld_cdparanoia
="$_ld_cdparanoia -lcdda_interface -lcdda_paranoia"
5280 openbsd
&& _ld_cdparanoia
="$_ld_cdparanoia -lutil"
5282 _def_cdparanoia
='#undef HAVE_CDDA'
5283 _noinputmodules
="cdda $_noinputmodules"
5285 echores
"$_cdparanoia"
5289 if test "$_libcdio" = auto
&& test "$_cdparanoia" = no
; then
5290 if pkg-config
--exists libcdio
; then
5293 #include <cdio/version.h>
5294 #include <cdio/cdda.h>
5295 #include <cdio/paranoia.h>
5298 printf("%s\n", CDIO_VERSION);
5304 for _inc_tmp
in "" "-I/usr/include/cdio" "-I/usr/local/include/cdio" ; do
5305 cc_check
`pkg-config --cflags --libs libcdio_paranoia` $_inc_tmp $_ld_lm \
5306 && tmp_run
&& _libcdio
=yes && _inc_extra
="$_inc_extra $_inc_tmp" && break
5312 if test "$_libcdio" = yes && test "$_cdparanoia" = no
; then
5314 _def_libcdio
='#define HAVE_LIBCDIO'
5315 _def_cdparanoia
='#define HAVE_CDDA'
5316 _def_havelibcdio
='yes'
5317 _inputmodules
="cdda $_inputmodules"
5318 _inc_extra
="$_inc_extra `pkg-config --cflags libcdio`"
5319 _ld_libcdio
=`pkg-config --libs libcdio_paranoia`
5321 if test "$_cdparanoia" = yes ; then
5322 _res_comment
="using cdparanoia"
5324 _def_libcdio
='#undef HAVE_LIBCDIO'
5325 _def_havelibcdio
='no'
5330 echocheck
"bitmap font support"
5331 if test "$_bitmap_font" = yes ; then
5332 _def_bitmap_font
="#define HAVE_BITMAP_FONT 1"
5334 _def_bitmap_font
="#undef HAVE_BITMAP_FONT"
5336 echores
"$_bitmap_font"
5339 echocheck
"freetype >= 2.0.9"
5341 # freetype depends on iconv
5342 if test "$_iconv" = no
; then
5344 _res_comment
="iconv support needed"
5347 if test "$_freetype" = auto
; then
5348 if ( $_freetypeconfig --version ) >/dev
/null
2>&1 ; then
5351 #include <ft2build.h>
5352 #include FT_FREETYPE_H
5353 #if ((FREETYPE_MAJOR < 2) || ((FREETYPE_MINOR == 0) && (FREETYPE_PATCH < 9)))
5354 #error "Need FreeType 2.0.9 or newer"
5359 FT_Int major=-1,minor=-1,patch=-1;
5360 int err=FT_Init_FreeType(&library);
5362 printf("Couldn't initialize freetype2 lib, err code: %d\n",err);
5365 FT_Library_Version(library,&major,&minor,&patch); // in v2.1.0+ only :(((
5366 printf("freetype2 header version: %d.%d.%d library version: %d.%d.%d\n",
5367 FREETYPE_MAJOR,FREETYPE_MINOR,FREETYPE_PATCH,
5368 (int)major,(int)minor,(int)patch );
5369 if(major!=FREETYPE_MAJOR || minor!=FREETYPE_MINOR){
5370 printf("Library and header version mismatch! Fix it in your distribution!\n");
5377 cc_check
`$_freetypeconfig --cflags` `$_freetypeconfig --libs` && tmp_run
&& _freetype
=yes
5382 if test "$_freetype" = yes ; then
5383 _def_freetype
='#define HAVE_FREETYPE'
5384 _inc_extra
="$_inc_extra `$_freetypeconfig --cflags`"
5385 _ld_freetype
=`$_freetypeconfig --libs`
5387 _def_freetype
='#undef HAVE_FREETYPE'
5389 echores
"$_freetype"
5391 if test "$_freetype" = no
; then
5393 _res_comment
="freetype support needed"
5395 echocheck
"fontconfig"
5396 if test "$_fontconfig" = auto
; then
5399 #include <fontconfig/fontconfig.h>
5404 printf("Couldn't initialize fontconfig lib\n");
5412 if cc_check
-lfontconfig ; then
5413 _ld_fontconfig
="-lfontconfig"
5414 elif cc_check
`pkg-config --silence-errors --cflags --libs fontconfig` ; then
5415 _inc_extra
="$_inc_extra `pkg-config --cflags fontconfig`"
5416 _ld_fontconfig
=`pkg-config --libs fontconfig`
5421 if test "$_fontconfig" = yes ; then
5422 _def_fontconfig
='#define HAVE_FONTCONFIG'
5424 _def_fontconfig
='#undef HAVE_FONTCONFIG'
5426 echores
"$_fontconfig"
5429 echocheck
"SSA/ASS support"
5430 # libass depends on FreeType
5431 if test "$_freetype" = no
; then
5433 _res_comment
="FreeType support needed"
5436 if test "$_ass" = auto
; then
5438 #include <ft2build.h>
5439 #include FT_FREETYPE_H
5440 #if ((FREETYPE_MAJOR < 2) || (FREETYPE_MINOR < 1) || ((FREETYPE_MINOR == 1) && (FREETYPE_PATCH < 8)))
5441 #error "Need FreeType 2.1.8 or newer"
5443 int main() { return 0; }
5446 cc_check
`$_freetypeconfig --cflags` `$_freetypeconfig --libs` && tmp_run
&& _ass
=yes
5447 if test "$_ass" = no
; then
5448 _res_comment
="FreeType >= 2.1.8 needed"
5451 if test "$_ass" = yes ; then
5452 _def_ass
='#define USE_ASS'
5454 _def_ass
='#undef USE_ASS'
5459 echocheck
"fribidi with charsets"
5460 if test "$_fribidi" = auto
; then
5461 if ( $_fribidiconfig --version ) >/dev
/null
2>&1 ; then
5464 /* workaround for fribidi 0.10.4 and below */
5465 #define FRIBIDI_CHARSET_UTF8 FRIBIDI_CHAR_SET_UTF8
5466 #include <fribidi/fribidi.h>
5469 if(fribidi_parse_charset("UTF-8") != FRIBIDI_CHAR_SET_UTF8) {
5470 printf("Fribidi headers are not consistents with the library!\n");
5477 cc_check
`$_fribidiconfig --cflags` `$_fribidiconfig --libs` && tmp_run
&& _fribidi
=yes
5482 if test "$_fribidi" = yes ; then
5483 _def_fribidi
='#define USE_FRIBIDI'
5484 _inc_extra
="$_inc_extra `$_fribidiconfig --cflags`"
5485 _ld_fribidi
=`$_fribidiconfig --libs`
5487 _def_fribidi
='#undef USE_FRIBIDI'
5493 if test "$_enca" = auto
; then
5500 langs = enca_get_languages(&langcnt);
5505 cc_check
-lenca $_ld_lm && _enca
=yes
5507 if test "$_enca" = yes ; then
5508 _def_enca
='#define HAVE_ENCA 1'
5511 _def_enca
='#undef HAVE_ENCA'
5519 int main(void) { (void) inflate(0, Z_NO_FLUSH); return 0; }
5522 cc_check
-lz && _zlib
=yes
5523 if test "$_zlib" = yes ; then
5524 _def_zlib
='#define HAVE_ZLIB 1'
5527 _def_zlib
='#undef HAVE_ZLIB'
5533 if test "$_rtc" = auto
; then
5535 #include <sys/ioctl.h>
5537 #include <linux/rtc.h>
5540 #define RTC_PIE_ON RTCIO_PIE_ON
5542 int main(void) { return RTC_PIE_ON; }
5545 cc_check
&& _rtc
=yes
5548 if test "$_rtc" = yes ; then
5549 _def_rtc
='#define HAVE_RTC 1'
5551 _def_rtc
='#undef HAVE_RTC'
5556 echocheck
"external liblzo support"
5557 if test "$_liblzo" = auto
; then
5561 int main(void) { lzo_init();return 0; }
5563 cc_check
-llzo && _liblzo
=yes
5565 if test "$_liblzo" = yes ; then
5566 _def_liblzo
='#define USE_LIBLZO 1'
5568 _codecmodules
="liblzo $_codecmodules"
5570 _def_liblzo
='#undef USE_LIBLZO'
5571 _nocodecmodules
="liblzo $_nocodecmodules"
5576 echocheck
"mad support"
5577 if test "$_mad" = auto
; then
5581 int main(void) { return 0; }
5583 cc_check
-lmad && _mad
=yes
5585 if test "$_mad" = yes ; then
5586 _def_mad
='#define USE_LIBMAD 1'
5588 _codecmodules
="libmad $_codecmodules"
5590 _def_mad
='#undef USE_LIBMAD'
5591 _nocodecmodules
="libmad $_nocodecmodules"
5596 if test "$_toolame" = auto
; then
5598 #include <toolame.h>
5599 int main(void) { toolame_init(); return 0; }
5602 cc_check
$_ld_toolame -ltoolame $_ld_lm && _toolame
=yes
5604 if test "$_toolame" = yes ; then
5605 _def_toolame
='#define HAVE_TOOLAME 1'
5606 _toolame_lib
="-ltoolame"
5607 _codecmodules
="toolame $_codecmodules"
5609 _def_toolame
='#undef HAVE_TOOLAME'
5610 _nocodecmodules
="toolame $_nocodecmodules"
5612 if test "$_toolamedir" ; then
5613 _res_comment
="using $_toolamedir"
5618 if test "$_twolame" = auto
; then
5620 #include <twolame.h>
5621 int main(void) { twolame_init(); return 0; }
5624 _twolame_lib
="-ltwolame"
5625 cc_check
$_twolame_lib $_ld_lm && _twolame
=yes
5627 if test "$_twolame" = yes ; then
5628 _def_twolame
='#define HAVE_TWOLAME 1'
5629 _codecmodules
="twolame $_codecmodules"
5631 _def_twolame
='#undef HAVE_TWOLAME'
5633 _nocodecmodules
="twolame $_nocodecmodules"
5637 echocheck
"OggVorbis support"
5638 if test "$_tremor_internal" = yes; then
5640 elif test "$_tremor_external" = auto
; then
5643 #include <tremor/ivorbiscodec.h>
5644 int main(void) { vorbis_packet_blocksize(0,0); return 0; }
5646 cc_check
-logg -lvorbisidec $_ld_lm && _tremor_external
=yes && _libvorbis
=no
5648 if test "$_libvorbis" = auto
; then
5651 #include <vorbis/codec.h>
5652 int main(void) { vorbis_packet_blocksize(0,0); return 0; }
5654 cc_check
-lvorbis -logg $_ld_lm && _libvorbis
=yes
5656 if test "$_tremor_internal" = yes ; then
5658 _def_vorbis
='#define HAVE_OGGVORBIS 1'
5659 _def_tremor
='#define TREMOR 1'
5660 _codecmodules
="tremor(internal) $_codecmodules"
5661 _res_comment
="internal Tremor"
5662 if test "$_tremor_low" = yes ; then
5663 _tremor_flags
='-D_LOW_ACCURACY_'
5664 _res_comment
="internal low accuracy Tremor"
5666 elif test "$_tremor_external" = yes ; then
5668 _def_vorbis
='#define HAVE_OGGVORBIS 1'
5669 _def_tremor
='#define TREMOR 1'
5670 _codecmodules
="tremor(external) $_codecmodules"
5671 _res_comment
="external Tremor"
5672 _ld_vorbis
='-logg -lvorbisidec'
5673 elif test "$_libvorbis" = yes ; then
5675 _def_vorbis
='#define HAVE_OGGVORBIS 1'
5676 _codecmodules
="libvorbis $_codecmodules"
5677 _res_comment
="libvorbis"
5678 _ld_vorbis
='-lvorbis -logg'
5681 _nocodecmodules
="libvorbis $_nocodecmodules"
5685 echocheck
"libspeex (version >= 1.1 required)"
5686 if test "$_speex" = auto
; then
5689 #include <speex/speex.h>
5693 speex_decode_int(dec, &bits, dec);
5696 cc_check
-lspeex $_ld_lm && _speex
=yes
5698 if test "$_speex" = yes ; then
5699 _def_speex
='#define HAVE_SPEEX 1'
5701 _codecmodules
="speex $_codecmodules"
5703 _def_speex
='#undef HAVE_SPEEX'
5704 _nocodecmodules
="speex $_nocodecmodules"
5708 echocheck
"OggTheora support"
5709 if test "$_theora" = auto
; then
5712 #include <theora/theora.h>
5716 /* theora is in flux, make sure that all interface routines and
5717 * datatypes exist and work the way we expect it, so we don't break
5727 theora_info_init (&inf);
5728 theora_comment_init (&tc);
5732 /* we don't want to execute this kind of nonsense; just for making sure
5733 * that compilation works... */
5734 memset(&op, 0, sizeof(op));
5735 r = theora_decode_header (&inf, &tc, &op);
5736 r = theora_decode_init (&st, &inf);
5737 t = theora_granule_time (&st, op.granulepos);
5738 r = theora_decode_packetin (&st, &op);
5739 r = theora_decode_YUVout (&st, &yuv);
5745 for _ld_theora
in "`pkg-config --silence-errors --libs --cflags theora`" "-ltheora"; do
5746 cc_check
$_ld_theora && _theora
=yes && break
5748 if test "$_theora" = no
&& test "$_tremor_internal" = yes; then
5749 for _ld_theora
in "`pkg-config --silence-errors --libs --cflags theora`" "-ltheora"; do
5750 cc_check
-I. tremor
/bitwise.c
$_ld_theora && _theora
=yes && break
5754 if test "$_theora" = yes ; then
5755 _def_theora
='#define HAVE_OGGTHEORA 1'
5756 _codecmodules
="libtheora $_codecmodules"
5757 # when --enable-theora is forced, we'd better provide a probably sane
5758 # $_ld_theora than nothing
5759 test -z "$_ld_theora" && _ld_theora
="-ltheora -logg"
5761 _def_theora
='#undef HAVE_OGGTHEORA'
5762 _nocodecmodules
="libtheora $_nocodecmodules"
5767 echocheck
"mp3lib support"
5768 if test "$_mp3lib" = yes ; then
5769 _def_mp3lib
='#define USE_MP3LIB 1'
5770 _codecmodules
="mp3lib $_codecmodules"
5772 _def_mp3lib
='#undef USE_MP3LIB'
5773 _nocodecmodules
="mp3lib $_nocodecmodules"
5777 echocheck
"liba52 support"
5778 if test "$_liba52" = yes ; then
5779 _def_liba52
='#define USE_LIBA52 1'
5780 _codecmodules
="liba52 $_codecmodules"
5782 _def_liba52
='#undef USE_LIBA52'
5783 _nocodecmodules
="liba52 $_nocodecmodules"
5787 echocheck
"libdts support"
5788 if test "$_libdts" = auto
; then
5791 #include <inttypes.h>
5793 int main(void) { dts_init (0); return 0; }
5795 cc_check
$_ld_libdts -ldts $_ld_lm && _libdts
=yes
5797 if test "$_libdts" = yes ; then
5798 _def_libdts
='#define CONFIG_DTS 1'
5799 _ld_libdts
="$_ld_libdts -ldts"
5800 _codecmodules
="libdts $_codecmodules"
5802 _def_libdts
='#undef CONFIG_DTS'
5803 _nocodecmodules
="libdts $_nocodecmodules"
5807 echocheck
"libmpeg2 support"
5808 if test "$_libmpeg2" = yes ; then
5809 _def_libmpeg2
='#define USE_LIBMPEG2 1'
5810 _codecmodules
="libmpeg2 $_codecmodules"
5812 _def_libmpeg2
='#undef USE_LIBMPEG2'
5813 _nocodecmodules
="libmpeg2 $_nocodecmodules"
5815 echores
"$_libmpeg2"
5817 echocheck
"libmpcdec (musepack, version >= 1.2.1 required)"
5818 if test "$_musepack" = auto
; then
5821 #include <mpcdec/mpcdec.h>
5823 mpc_streaminfo info;
5824 mpc_decoder decoder;
5825 mpc_decoder_set_streaminfo(&decoder, &info);
5826 mpc_decoder_decode_frame(&decoder, NULL, 0, NULL);
5829 cc_check
-lmpcdec $_ld_lm && _musepack
=yes
5831 if test "$_musepack" = yes ; then
5832 _def_musepack
='#define HAVE_MUSEPACK 1'
5833 _ld_musepack
='-lmpcdec'
5834 _codecmodules
="musepack $_codecmodules"
5836 _def_musepack
='#undef HAVE_MUSEPACK'
5837 _nocodecmodules
="musepack $_nocodecmodules"
5839 echores
"$_musepack"
5842 echocheck
"FAAC (AAC encoder) support"
5843 if test "$_faac" = auto
; then
5845 #include <inttypes.h>
5847 int main(void) { unsigned long x, y; faacEncOpen(48000, 2, &x, &y); return 0; }
5850 for _ld_tmp
in "-lfaac" "-lfaac -lmp4v2 -lstdc++" ; do
5851 cc_check
-c -O4 $_ld_tmp $_ld_lm && _ld_faac
="$_ld_tmp" && _faac
=yes && break
5854 if test "$_faac" = yes ; then
5855 _def_faac
="#define HAVE_FAAC 1"
5856 _def_lavc_faac
="#define CONFIG_FAAC 1"
5857 _codecmodules
="faac $_codecmodules"
5859 _def_faac
="#undef HAVE_FAAC"
5860 _nocodecmodules
="faac $_nocodecmodules"
5865 echocheck
"FAAD2 (AAC) support"
5866 if test "$_faad_internal" = auto
; then
5867 if x86
&& test cc_vendor
=gnu
; then
5869 3.1*|
3.2) # ICE/insn with these versions
5871 _res_comment
="broken gcc"
5880 elif test "$_faad_internal" = no
&& test "$_faad_external" = auto
; then
5885 #ifndef FAAD_MIN_STREAMSIZE
5886 #error Too old version
5888 int main(void) { faacDecHandle testhand; faacDecFrameInfo testinfo; testhand = faacDecOpen(); faacDecInit(0, 0, 0, 0, 0); return 0; }
5890 cc_check
$_ld_faad $_ld_lm && _faad_external
=yes
5893 if test "$_faad_internal" = yes ; then
5894 _def_faad_internal
="#define USE_FAAD_INTERNAL 1"
5896 _res_comment
="internal floating-point"
5897 test "$_faad_fixed" = yes && _res_comment
="internal fixed-point"
5898 elif test "$_faad_external" = yes ; then
5901 _def_faad_internal
="#undef USE_FAAD_INTERNAL"
5905 if test "$_faad" = yes ; then
5906 _def_faad
='#define HAVE_FAAD 1'
5907 _codecmodules
="faad2 $_codecmodules"
5909 _def_faad
='#undef HAVE_FAAD'
5910 _nocodecmodules
="faad2 $_nocodecmodules"
5916 echocheck
"LADSPA plugin support"
5917 if test "$_ladspa" = auto
; then
5922 const LADSPA_Descriptor *ld = NULL;
5927 cc_check
&& _ladspa
=yes
5929 if test "$_ladspa" = yes; then
5930 _def_ladspa
="#define HAVE_LADSPA"
5931 _afsrc
="$_afsrc af_ladspa.c"
5932 _afmodules
="ladspa $_afmodules"
5934 _def_ladspa
="#undef HAVE_LADSPA"
5935 _noafmodules
="ladspa $_noafmodules"
5941 if x86
&& not qnx
; then
5943 if test "$_win32" = auto
; then
5944 if test -z "$_win32libdir" ; then
5945 for I
in "$_libdir/codecs" "$_libdir/win32" /usr
/local
/lib
/codecs
/usr
/lib
/codecs
/usr
/local
/lib
/win32
/usr
/lib
/win32
; do
5946 if test -d "$I" ; then
5951 # Fall back on a subfolder of the current dir on Windows
5952 mingw32
&& _win32libdir
="codecs"
5956 echocheck
"Win32 codec DLL support"
5957 if test "$_win32" = auto
; then
5959 test -n "$_win32libdir" && _win32
=yes
5961 if test "$_win32" = yes ; then
5962 _def_win32
='#define USE_WIN32DLL 1'
5963 _res_comment
="using $_win32libdir"
5965 _def_win32
='#undef USE_WIN32DLL'
5966 _nocodecmodules
="win32 $_nocodecmodules"
5970 if test "$_win32" != no
; then
5971 _def_win32_loader
='#undef WIN32_LOADER'
5972 echocheck
"Win32 loader support"
5973 _ld_win32
='loader/libloader.a loader/dshow/libDS_Filter.a loader/dmo/libDMO_Filter.a'
5974 _dep_win32
='loader/libloader.a loader/dshow/libDS_Filter.a loader/dmo/libDMO_Filter.a'
5975 _codecmodules
="win32 $_codecmodules"
5977 x86
&& _ld_win32
="$_ld_win32 -li386"
5980 _def_win32_loader
='#define WIN32_LOADER 1'
5982 _ld_win32libs
="$_ld_win32libs -ladvapi32 -lole32"
5983 _res_comment
="using native windows"
5988 fi #if x86 && not qnx
5992 echocheck
"XAnim DLL"
5993 if test "$_xanim" = auto
; then
5995 _res_comment
="dynamic loader support needed"
5996 if test "$_dl" = yes ; then
5997 _res_comment
="no suitable directory found - see DOCS/HTML/$_doc_lang/codecs.html"
5998 if test -z "$_xanimlibdir" ; then
5999 for I
in "$_libdir/codecs" /usr
/local
/lib
/xanim
/mods
/usr
/lib
/xanim
/mods
/usr
/lib
/xanim
$XANIM_MOD_DIR ; do
6000 if test -d "$I" ; then
6006 test "$_xanimlibdir" && _xanim
=yes
6009 if test "$_xanim" = yes ; then
6010 _def_xanim
='#define USE_XANIM 1'
6011 _def_xanim_path
="#define XACODEC_PATH \"$_xanimlibdir\""
6012 _codecmodules
="xanim $_codecmodules"
6013 _res_comment
="using $_xanimlibdir"
6015 _def_xanim
='#undef USE_XANIM'
6016 _def_xanim_path
='#undef XACODEC_PATH'
6017 _nocodecmodules
="xanim $_nocodecmodules"
6021 echocheck
"RealPlayer DLL"
6022 if test "$_real" = auto
; then
6024 _res_comment
="dynamic loader support needed"
6025 if test "$_dl" = yes ||
test "$_win32" = yes ; then
6026 # if test "$_dl" = yes ; then
6027 _res_comment
="tested only on Linux/FreeBSD/NetBSD/Cygwin/MinGW/Darwin"
6028 if linux || freebsd || netbsd || win32 || darwin
; then
6029 _res_comment
="no suitable directory found - see DOCS/HTML/$_doc_lang/codecs.html"
6030 if test -z "$_reallibdir" ; then
6031 for I
in "$_libdir/codecs" "$_libdir/real" /usr
/lib
/real \
6032 /usr
/lib
/RealPlayer
{9,8,}/Codecs
/usr
/local
/RealPlayer
{9,8,}/Codecs \
6033 /usr
/local
/lib
/RealPlayer
{9,8,}/Codecs
/opt
/RealPlayer
{9,8,}/{Real
/,}Codecs \
6034 {~
,}/Applications
/RealOne\ Player.app
/Contents
/MacOS
/Library
/Codecs \
6036 if test -d "$I" ; then
6040 # Fall back on a subfolder of the current dir on Windows
6041 mingw32
&& _reallibdir
="codecs"
6044 test "$_reallibdir" && _real
=yes
6048 if test "$_real" = yes ; then
6049 _def_real
='#define USE_REALCODECS 1'
6050 _def_real_path
="#define REALCODEC_PATH \"$_reallibdir\""
6051 _codecmodules
="real $_codecmodules"
6052 _res_comment
="using $_reallibdir"
6054 _def_real
='#undef USE_REALCODECS'
6055 _def_real_path
="#undef REALCODEC_PATH"
6056 _nocodecmodules
="real $_nocodecmodules"
6061 echocheck
"LIVE555 Streaming Media libraries"
6062 if test "$_live" = auto
&& test "$_network" = yes ; then
6063 cat > $TMPCPP << EOF
6064 #include <liveMedia.hh>
6065 #if (LIVEMEDIA_LIBRARY_VERSION_INT < 1090195200)
6066 #error Please upgrade to version 2004.07.19 or later of the "LIVE555 Streaming Media" libraries - available from <www.live555.com/liveMedia/>
6072 for I
in "$_livelibdir" "$_libdir/live" "/usr/lib/live" "/usr/local/live" "/usr/local/lib/live" ; do
6073 cxx_check
-I$I/liveMedia
/include
-I$I/UsageEnvironment
/include
-I$I/groupsock
/include
&& _livelibdir
=$I && _live
=yes && break
6075 if test "$_live" != yes ; then
6076 if cxx_check
-I/usr
/include
/liveMedia
-I/usr
/include
/UsageEnvironment
-I/usr
/include
/groupsock
; then
6081 if test "$_live" = yes && test "$_network" = yes ; then
6082 _res_comment
="using $_livelibdir"
6083 _def_live
='#define STREAMING_LIVE555 1'
6084 _ld_live
="$_livelibdir/liveMedia/libliveMedia.a \
6085 $_livelibdir/groupsock/libgroupsock.a \
6086 $_livelibdir/UsageEnvironment/libUsageEnvironment.a \
6087 $_livelibdir/BasicUsageEnvironment/libBasicUsageEnvironment.a \
6089 _inc_extra
="$_inc_extra -I$_livelibdir/liveMedia/include \
6090 -I$_livelibdir/UsageEnvironment/include \
6091 -I$_livelibdir/BasicUsageEnvironment/include \
6092 -I$_livelibdir/groupsock/include"
6093 _inputmodules
="live555 $_inputmodules"
6094 elif test "$_live_dist" = yes && test "$_network" = yes ; then
6095 _res_comment
="using distribution version"
6097 _def_live
='#define STREAMING_LIVE555 1'
6098 _ld_live
="-lliveMedia -lgroupsock -lUsageEnvironment -lBasicUsageEnvironment -lstdc++"
6099 _inc_extra
="$_inc_extra -I/usr/include/liveMedia -I/usr/include/UsageEnvironment \
6100 -I/usr/include/BasicUsageEnvironment -I/usr/include/groupsock"
6101 _inputmodules
="live555 $_inputmodules"
6103 _def_live
='#undef STREAMING_LIVE555'
6104 _noinputmodules
="live555 $_noinputmodules"
6109 echocheck
"FFmpeg libavutil (static)"
6110 if test "$_libavutil" = auto
; then
6111 if test -d libavutil
; then
6117 echores
"$_libavutil"
6119 echocheck
"FFmpeg libavcodec (static)"
6120 if test "$_libavcodec" = auto
; then
6121 # Note: static linking is preferred to dynamic linking
6123 _res_comment
="see DOCS/HTML/$_doc_lang/codecs.html"
6124 if test -d libavcodec
&& test -f libavcodec
/utils.c
; then
6125 _res_comment
="old ffmpeg version, use CVS !"
6126 if grep avcodec_find_encoder_by_name libavcodec
/utils.c
> /dev
/null
2>&1 ; then
6127 # check if libavutil is a required
6129 #include "libavcodec/avcodec.h"
6130 #if LIBAVCODEC_BUILD >= 3211265
6131 #error We need libavutil!
6133 int main(void) { return 0; }
6136 if cc_check
-I.
-I.
/libavutil
; then
6137 _libavutil_required
="no"
6139 _libavutil_required
="yes"
6141 _res_comment
="libavutil availability does not fit libavcodec version"
6142 if test "$_libavutil_required" = "$_libavutil"; then
6149 echores
"$_libavcodec"
6151 echocheck
"FFmpeg libavformat (static)"
6152 if test "$_libavformat" = auto
; then
6153 # Note: static linking is preferred to dynamic linking
6155 if test -d libavformat
&& test -f libavformat
/utils.c
; then
6159 echores
"$_libavformat"
6161 echocheck
"FFmpeg libpostproc (static)"
6162 if test "$_libpostproc" = auto
; then
6164 if test -d libpostproc
&& test -f libpostproc
/postprocess.h
; then
6168 echores
"$_libpostproc"
6171 if test "$_libavutil" != yes ; then
6172 echocheck
"FFmpeg libavutil (dynamic)"
6173 if test "$_libavutil_so" = auto
; then
6176 #include <ffmpeg/common.h>
6177 int main(void) { ff_gcd(1,1); return 0; }
6179 if pkg-config
--exists libavutil
; then
6180 _inc_libavutil
=`pkg-config --cflags libavutil`
6181 _ld_libavutil
=`pkg-config --libs libavutil`
6182 cc_check
$_inc_libavutil $_ld_libavutil && _libavutil_so
=yes
6183 elif cc_check
-lavutil $_ld_lm ; then
6186 if test "$_libavutil_so" = yes ; then
6187 _res_comment
="using libavutil.so, but static libavutil is recommended"
6190 # neither static nor shared libavutil is available, but it is mandatory ...
6191 if test "$_libavutil_so" = no
; then
6192 die
"You need static or shared libavutil, MPlayer will not compile without!"
6194 echores
"$_libavutil_so"
6195 fi #if test "$_libavutil" != yes ; then
6197 if test "$_libavcodec" != yes ; then
6198 echocheck
"FFmpeg libavcodec (dynamic)"
6199 if test "$_libavcodec_so" = auto
; then
6201 _res_comment
="libavcodec.so is broken/obsolete"
6202 # FIXME : check for avcodec_find_encoder_by_name() for mencoder
6204 #include <ffmpeg/avcodec.h>
6206 avcodec_find_encoder_by_name("");
6210 if pkg-config
--exists libavcodec
; then
6211 _inc_libavcodec
=`pkg-config --cflags libavcodec`
6212 _ld_libavcodec
=`pkg-config --libs libavcodec`
6213 cc_check
$_inc_libavcodec $_ld_libavcodec && _libavcodec_so
=yes
6214 elif cc_check
-lavcodec $_ld_lm ; then
6217 if test "$_libavcodec_so" = yes ; then
6218 _res_comment
="using libavcodec.so, but static libavcodec is recommended"
6221 echores
"$_libavcodec_so"
6222 fi #if test "$_libavcodec" != yes ; then
6224 if test "$_libavformat" != yes ; then
6225 echocheck
"FFmpeg libavformat (dynamic)"
6226 if test "$_libavformat_so" = auto
; then
6229 #include <ffmpeg/avformat.h>
6230 #include <ffmpeg/opt.h>
6231 int main(void) { av_alloc_format_context(); return 0; }
6233 if pkg-config
--exists libavformat
; then
6234 _inc_libavformat
=`pkg-config --cflags libavformat`
6235 _ld_libavformat
=`pkg-config --libs libavformat`
6236 cc_check
$_inc_libavformat $_ld_libavformat && _libavformat_so
=yes
6237 elif cc_check
$_ld_lm -lavformat ; then
6240 if test "$_libavformat_so" = yes ; then
6241 _res_comment
="using libavformat.so, but static libavformat is recommended"
6244 echores
"$_libavformat_so"
6245 fi #if test "$_libavformat" != yes ; then
6247 if test "$_libpostproc" != yes ; then
6248 echocheck
"FFmpeg libpostproc (dynamic)"
6249 if test "$_libpostproc_so" = auto
; then
6252 #define USE_LIBPOSTPROC 1
6253 #include <inttypes.h>
6254 #include <postproc/postprocess.h>
6256 pp_get_mode_by_name_and_quality("de", 0);
6259 if cc_check
-lpostproc $_ld_lm ; then
6261 _res_comment
="using libpostproc.so, but static libpostproc is recommended"
6264 echores
"$_libpostproc_so"
6265 fi #if test "$_libpostproc" != yes ; then
6267 _def_libavutil
='#undef USE_LIBAVUTIL'
6268 _def_libavutil_so
='#undef USE_LIBAVUTIL_SO'
6269 if test "$_libavutil" = yes ; then
6270 _def_libavutil
='#define USE_LIBAVUTIL 1'
6271 elif test "$_libavutil_so" = yes ; then
6272 _def_libavutil_so
='#define USE_LIBAVUTIL_SO 1'
6275 _def_libavcodec
='#undef USE_LIBAVCODEC'
6276 _def_libavcodec_so
='#undef USE_LIBAVCODEC_SO'
6277 _def_lavc_dsputil
='#undef USE_LIBAVCODEC_DSPUTIL'
6278 if test "$_libavcodec_mpegaudio_hp" = yes ; then
6279 _def_libavcodec_mpegaudio_hp
='#define CONFIG_MPEGAUDIO_HP 1'
6281 if test "$_libavcodec" = yes ; then
6282 _def_libavcodec
='#define USE_LIBAVCODEC 1'
6283 _def_lavc_dsputil
='#define USE_LIBAVCODEC_DSPUTIL'
6284 _ld_libavcodec
='libavcodec/libavcodec.a'
6285 _dep_libavcodec
='libavcodec/libavcodec.a'
6286 _codecmodules
="libavcodec $_codecmodules"
6287 if test "$_libavutil" = yes; then
6288 _ld_libavutil
='libavutil/libavutil.a'
6289 _dep_libavutil
='libavutil/libavutil.a'
6291 elif test "$_libavcodec_so" = yes ; then
6292 _def_libavcodec
='#define USE_LIBAVCODEC 1'
6293 _def_libavcodec_so
='#define USE_LIBAVCODEC_SO 1'
6294 test "$_ld_libavcodec" || _ld_libavcodec
='-lavcodec'
6295 _codecmodules
="libavcodec.so $_codecmodules"
6297 _nocodecmodules
="libavcodec $_nocodecmodules"
6300 _def_libavformat
='#undef USE_LIBAVFORMAT'
6301 _def_libavformat_so
='#undef USE_LIBAVFORMAT_SO'
6302 _def_libavformat_win32
='#undef CONFIG_WIN32'
6303 if test "$_libavformat" = yes ; then
6304 _def_libavformat
='#define USE_LIBAVFORMAT 1'
6305 _ld_libavformat
='libavformat/libavformat.a'
6306 _dep_libavformat
='libavformat/libavformat.a'
6308 _def_libavformat_win32
='#define CONFIG_WIN32 1'
6311 if test "$_libavformat_so" = yes ; then
6312 _def_libavformat_so
='#define USE_LIBAVFORMAT_SO 1'
6313 test "$_ld_libavformat" || _ld_libavformat
='-lavformat'
6315 _def_libavformat_win32
='#define CONFIG_WIN32 1'
6320 _def_libpostproc
='#undef USE_LIBPOSTPROC'
6321 _def_libpostproc_so
='#undef USE_LIBPOSTPROC_SO'
6322 if test "$_libpostproc" = yes ; then
6323 _def_libpostproc
='#define USE_LIBPOSTPROC 1'
6324 _ld_libpostproc
='libpostproc/libpostproc.a'
6325 _dep_libpostproc
='libpostproc/libpostproc.a'
6327 if test "$_libpostproc_so" = yes ; then
6328 _def_libpostproc_so
='#define USE_LIBPOSTPROC_SO 1'
6329 _ld_libpostproc
='-lpostproc'
6333 echocheck
"md5sum support"
6334 if test "$_md5sum" = yes; then
6335 _def_md5sum
="#define HAVE_MD5SUM"
6336 _vosrc
="$_vosrc vo_md5sum.c"
6337 _vomodules
="md5sum $_vomodules"
6339 _def_md5sum
="#undef HAVE_MD5SUM"
6340 _novomodules
="md5sum $_novomodules"
6344 echocheck
"AMR narrowband"
6345 if test "$_amr_nb" = auto
; then
6347 if test -f libavcodec
/amr_float
/sp_dec.c
; then
6348 if test "$_libavcodec" = yes ; then
6351 _res_comment
="libavcodec (static) is required by amr_nb, sorry"
6355 if test "$_amr_nb" = yes ; then
6357 _def_amr
='#define CONFIG_AMR 1'
6358 _def_amr_nb
='#define CONFIG_AMR_NB 1'
6360 _def_amr_nb
='#undef CONFIG_AMR_NB'
6364 echocheck
"AMR narrowband, fixed point"
6365 if test "$_amr_nb_fixed" = auto
; then
6367 if test -f libavcodec
/amr
/dtx_dec.c
; then
6368 if test "$_libavcodec" = yes ; then
6369 if test "$_amr_nb" = no
; then
6372 _res_comment
="disabled by amr_nb"
6375 _res_comment
="libavcodec (static) is required by amr_nb-fixed, sorry"
6379 if test "$_amr_nb_fixed" = yes ; then
6381 _def_amr
='#define CONFIG_AMR 1'
6382 _def_amr_nb_fixed
='#define CONFIG_AMR_NB_FIXED 1'
6384 _def_amr_nb_fixed
='#undef CONFIG_AMR_NB_FIXED'
6386 echores
"$_amr_nb_fixed"
6388 if test "$_amr_nb" = yes ||
test "$_amr_nb_fixed" = yes ; then
6389 _codecmodules
="amr_nb $_codecmodules"
6391 _nocodecmodules
="amr_nb $_nocodecmodules"
6394 echocheck
"AMR wideband"
6395 if test "$_amr_wb" = auto
; then
6397 if test -f libavcodec
/amrwb_float
/dec_dtx.c
; then
6398 if test "$_libavcodec" = yes ; then
6401 _res_comment
="libavcodec (static) is required by amr_wb, sorry"
6405 if test "$_amr_wb" = yes ; then
6407 _def_amr
='#define CONFIG_AMR 1'
6408 _def_amr_wb
='#define CONFIG_AMR_WB 1'
6409 _codecmodules
="amr_wb $_codecmodules"
6411 _def_amr_wb
='#undef CONFIG_AMR_WB'
6412 _nocodecmodules
="amr_wb $_nocodecmodules"
6416 echocheck
"libdv-0.9.5+"
6417 if test "$_libdv" = auto
; then
6420 #include <libdv/dv.h>
6421 int main(void) { dv_encoder_t* enc=dv_encoder_new(1,1,1); return 0; }
6423 cc_check
-ldv $_ld_pthread $_ld_lm && _libdv
=yes
6425 if test "$_libdv" = yes ; then
6426 _def_libdv
='#define HAVE_LIBDV095 1'
6428 _codecmodules
="libdv $_codecmodules"
6430 _def_libdv
='#undef HAVE_LIBDV095'
6431 _nocodecmodules
="libdv $_nocodecmodules"
6436 if test "$_zr" = auto
; then
6437 #36067's seem to identify themselves as 36057PQC's, so the line
6438 #below should work for 36067's and 36057's.
6439 if grep -e "Multimedia video controller: Zoran Corporation ZR36057" /proc
/pci
> /dev
/null
2>&1; then
6445 if test "$_zr" = yes ; then
6446 if test "$_libavcodec" = yes ; then
6447 _def_zr
='#define HAVE_ZR 1'
6448 _vosrc
="$_vosrc vo_zr2.c vo_zr.c jpeg_enc.c"
6449 _vomodules
="zr zr2 $_vomodules"
6451 _res_comment
="libavcodec (static) is required by zr, sorry"
6452 _novomodules
="zr $_novomodules"
6453 _def_zr
='#undef HAVE_ZR'
6456 _def_zr
='#undef HAVE_ZR'
6457 _novomodules
="zr zr2 $_novomodules"
6462 if test "$_bl" = yes ; then
6463 _def_bl
='#define HAVE_BL 1'
6464 _vosrc
="$_vosrc vo_bl.c"
6465 _vomodules
="bl $_vomodules"
6467 _def_bl
='#undef HAVE_BL'
6468 _novomodules
="bl $_novomodules"
6475 int main(void) { xvid_init(0, 0, 0, 0); return 0; }
6477 _ld_xvid
="$_ld_xvid -lxvidcore"
6479 if test "$_xvid" != no
&& cc_check
$_ld_xvid $_ld_lm ; then
6481 _def_xvid3
='#define HAVE_XVID3 1'
6482 _def_xvid4
='#undef HAVE_XVID4'
6483 _codecmodules
="xvid $_codecmodules"
6487 int main(void) { xvid_global(0, 0, 0, 0); return 0; }
6489 if test "$_xvid" != no
;then
6490 if cc_check
$_ld_xvid $_ld_lm ; then
6492 elif cc_check
$_ld_xvid $_ld_lm $_ld_pthread ; then
6494 _ld_xvid
="$_ld_xvid $_ld_pthread"
6498 if test "$_xvid4" = yes ; then
6501 _def_xvid3
='#undef HAVE_XVID3'
6502 _def_xvid4
='#define HAVE_XVID4 1'
6503 _codecmodules
="xvid $_codecmodules"
6507 _def_xvid3
='#undef HAVE_XVID3'
6508 _def_xvid4
='#undef HAVE_XVID4'
6509 _nocodecmodules
="xvid $_nocodecmodules"
6514 if test "$_xvid4" = yes ; then
6515 echocheck
"XviD two pass plugin"
6518 int main(void) { xvid_plugin_2pass2_t s; s.vbv_size=0; return 0; }
6520 if cc_check
$_ld_xvid $_ld_lb ; then
6522 _def_lavc_xvid
='#define CONFIG_XVID 1'
6525 _def_lavc_xvid
='#undef CONFIG_XVID'
6527 echores
"$_lavc_xvid"
6531 _def_decore_xvid
='#undef DECORE_XVID'
6532 _def_encore_xvid
='#undef ENCORE_XVID'
6533 if test "$_xvid" = yes ; then
6534 echocheck
"DivX4 compatibility in XviD"
6537 int main(void) { (void) decore(0, 0, 0, 0); return 0; }
6539 cc_check
$_ld_lm "$_ld_xvid" && _xvidcompat
=yes
6540 echores
"$_xvidcompat"
6544 if test "$_x264" = auto
; then
6546 #include <inttypes.h>
6549 #error We do not support old versions of x264. Get the latest from SVN.
6551 int main(void) { x264_encoder_open((void*)0); return 0; }
6553 _ld_x264
="$_ld_x264 -lx264 $_ld_pthread"
6555 if cc_check
$_ld_x264 $_ld_lm ; then
6557 elif test "$_x11" = yes && cc_check
$_ld_x264 $_ld_x11 $_ld_lm ; then
6559 _ld_x264
="$_ld_x264 $_ld_x11"
6563 if test "$_x264" = yes ; then
6565 _def_x264
='#define HAVE_X264 1'
6566 _def_lavc_x264
='#define CONFIG_X264 1'
6567 _codecmodules
="x264 $_codecmodules"
6571 _def_x264
='#undef HAVE_X264'
6572 _def_lavc_x264
='#undef CONFIG_X264'
6573 _nocodecmodules
="x264 $_nocodecmodules"
6579 if test "$_nut" = auto
; then
6583 #include <inttypes.h>
6585 int main(void) { (void)nut_error(0); return 0; }
6589 cc_check
$_ld_nut && _nut
=yes
6592 if test "$_nut" = yes ; then
6593 _def_nut
='#define HAVE_LIBNUT 1'
6596 _def_nut
='#undef HAVE_LIBNUT'
6601 # mencoder requires (optional) those libs: libmp3lame
6602 if test "$_mencoder" != no
; then
6604 echocheck
"libmp3lame (for mencoder)"
6606 _def_mp3lame_preset
='#undef HAVE_MP3LAME_PRESET'
6607 _def_mp3lame_preset_medium
='#undef HAVE_MP3LAME_PRESET_MEDIUM'
6609 #include <lame/lame.h>
6610 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; }
6612 # Note: libmp3lame usually depends on vorbis
6613 cc_check
-lmp3lame $_ld_vorbis $_ld_lm && tmp_run
&& _mp3lame
=yes
6614 if test "$_mp3lame" = yes ; then
6615 _def_mp3lame
="#define HAVE_MP3LAME"
6616 _def_lavc_mp3lame
="#define CONFIG_MP3LAME 1"
6617 _ld_mp3lame
="-lmp3lame $_ld_vorbis"
6619 #include <lame/lame.h>
6620 int main(void) { int p = STANDARD_FAST; return 0; }
6622 cc_check
$_ld_mp3lame $_ld_lm && _def_mp3lame_preset
="#define HAVE_MP3LAME_PRESET"
6624 #include <lame/lame.h>
6625 int main(void) { int p = MEDIUM_FAST; return 0; }
6627 cc_check
$_ld_mp3lame $_ld_lm && _def_mp3lame_preset_medium
="#define HAVE_MP3LAME_PRESET_MEDIUM"
6628 echo $_libavencoders |
grep -q mp3lame
&& _lavc_mp3lame
=yes || _lavc_mp3lame
=no
6630 _def_mp3lame
='#undef HAVE_MP3LAME'
6636 echocheck
"mencoder"
6637 _mencoder_flag
='#undef HAVE_MENCODER'
6638 if test "$_mencoder" = yes ; then
6639 _mencoder_flag
='#define HAVE_MENCODER'
6640 _def_muxers
='#define CONFIG_MUXERS 1'
6642 # mpeg1video for vf_lavc, snow for vf_uspp and vf_mcdeint
6643 _libavencoders
="mpeg1video_encoder snow_encoder"
6646 echores
"$_mencoder"
6648 echocheck
"fastmemcpy"
6649 # fastmemcpy check is done earlier with tests of CPU & binutils features
6650 if test "$_fastmemcpy" = yes ; then
6651 _def_fastmemcpy
='#define USE_FASTMEMCPY 1'
6653 _def_fastmemcpy
='#undef USE_FASTMEMCPY'
6655 echores
"$_fastmemcpy"
6657 echocheck
"UniquE RAR File Library"
6658 if test "$_unrarlib" = yes ; then
6659 _def_unrarlib
='#define USE_UNRARLIB 1'
6661 _def_unrarlib
='#undef USE_UNRARLIB'
6663 echores
"$_unrarlib"
6665 echocheck
"TV interface"
6666 if test "$_tv" = yes ; then
6667 _def_tv
='#define USE_TV 1'
6668 _inputmodules
="tv $_inputmodules"
6670 _noinputmodules
="tv $_noinputmodules"
6671 _def_tv
='#undef USE_TV'
6677 echocheck
"*BSD BrookTree 848 TV interface"
6678 if test "$_tv_bsdbt848" = auto
; then
6680 if test "$_tv" = yes ; then
6682 #include <sys/types.h>
6683 #if defined(__NetBSD__)
6684 #include <dev/ic/bt8xx.h>
6686 #include <machine/ioctl_bt848.h>
6688 int main(void) { return 0; }
6690 cc_check
&& _tv_bsdbt848
=yes
6693 if test "$_tv_bsdbt848" = yes ; then
6694 _def_tv_bsdbt848
='#define HAVE_TV_BSDBT848 1'
6695 _inputmodules
="tv-bsdbt848 $_inputmodules"
6697 _def_tv_bsdbt848
='#undef HAVE_TV_BSDBT848'
6698 _noinputmodules
="tv-bsdbt848 $_noinputmodules"
6700 echores
"$_tv_bsdbt848"
6704 echocheck
"Video 4 Linux TV interface"
6705 if test "$_tv_v4l1" = auto
; then
6707 if test "$_tv" = yes && linux
; then
6710 #include <linux/videodev.h>
6711 int main(void) { return 0; }
6713 cc_check
&& _tv_v4l1
=yes
6716 if test "$_tv_v4l1" = yes ; then
6718 _def_tv_v4l
='#define HAVE_TV_V4L 1'
6719 _def_tv_v4l1
='#define HAVE_TV_V4L1 1'
6720 _inputmodules
="tv-v4l $_inputmodules"
6722 _noinputmodules
="tv-v4l1 $_noinputmodules"
6723 _def_tv_v4l
='#undef HAVE_TV_V4L'
6728 echocheck
"Video 4 Linux 2 TV interface"
6729 if test "$_tv_v4l2" = auto
; then
6731 if test "$_tv" = yes && linux
; then
6734 #include <linux/types.h>
6735 #include <linux/videodev2.h>
6736 int main(void) { return 0; }
6738 cc_check
&& _tv_v4l2
=yes
6741 if test "$_tv_v4l2" = yes ; then
6743 _def_tv_v4l
='#define HAVE_TV_V4L 1'
6744 _def_tv_v4l2
='#define HAVE_TV_V4L2 1'
6745 _inputmodules
="tv-v4l2 $_inputmodules"
6747 _noinputmodules
="tv-v4l2 $_noinputmodules"
6748 _def_tv_v4l2
='#undef HAVE_TV_V4L2'
6753 echocheck
"Radio interface"
6754 if test "$_radio" = yes ; then
6755 _def_radio
='#define USE_RADIO 1'
6756 _inputmodules
="radio $_inputmodules"
6757 if test "$_alsa9" != yes -a "$_alsa1x" != yes -a "$_ossaudio" != yes ; then
6760 if test "$_radio_capture" = yes ; then
6761 _def_radio_capture
="#define USE_RADIO_CAPTURE 1"
6763 _def_radio_capture
="#undef USE_RADIO_CAPTURE"
6766 _noinputmodules
="radio $_noinputmodules"
6767 _def_radio
='#undef USE_RADIO'
6768 _def_radio_capture
="#undef USE_RADIO_CAPTURE"
6772 echocheck
"Capture for Radio interface"
6773 echores
"$_radio_capture"
6775 echocheck
"Video 4 Linux 2 Radio interface"
6776 if test "$_radio_v4l2" = auto
; then
6778 if test "$_radio" = yes && linux
; then
6781 #include <linux/types.h>
6782 #include <linux/videodev2.h>
6783 int main(void) { return 0; }
6785 cc_check
&& _radio_v4l2
=yes
6788 if test "$_radio_v4l2" = yes ; then
6789 _def_radio_v4l2
='#define HAVE_RADIO_V4L2 1'
6791 _def_radio_v4l2
='#undef HAVE_RADIO_V4L2'
6793 echores
"$_radio_v4l2"
6795 echocheck
"Video 4 Linux Radio interface"
6796 if test "$_radio_v4l" = auto
; then
6798 if test "$_radio" = yes && linux
; then
6801 #include <linux/videodev.h>
6802 int main(void) { return 0; }
6804 cc_check
&& _radio_v4l
=yes
6807 if test "$_radio_v4l" = yes ; then
6808 _def_radio_v4l
='#define HAVE_RADIO_V4L 1'
6810 _def_radio_v4l
='#undef HAVE_RADIO_V4L'
6812 echores
"$_radio_v4l"
6814 if test "$_radio_v4l" = no
&& test "$_radio_v4l2" = no
&& test "$_radio" = yes ; then
6815 die
"Radio driver requires V4L or V4L2!"
6818 echocheck
"Video 4 Linux 2 MPEG PVR interface"
6819 if test "$_pvr" = auto
; then
6821 if test "$_tv_v4l2" = yes && linux
; then
6824 #include <inttypes.h>
6825 #include <linux/types.h>
6826 #include <linux/videodev2.h>
6827 int main(void) { struct v4l2_ext_controls ext; return 0; }
6829 cc_check
&& _pvr
=yes
6832 if test "$_pvr" = yes ; then
6833 _def_pvr
='#define HAVE_PVR 1'
6834 _inputmodules
="pvr $_inputmodules"
6836 _noinputmodules
="pvr $_noinputmodules"
6837 _def_pvr
='#undef HAVE_PVR'
6842 echocheck
"audio select()"
6843 if test "$_select" = no
; then
6844 _def_select
='#undef HAVE_AUDIO_SELECT'
6845 elif test "$_select" = yes ; then
6846 _def_select
='#define HAVE_AUDIO_SELECT 1'
6852 # FIXME network check
6853 if test "$_network" = yes ; then
6854 _def_network
='#define MPLAYER_NETWORK 1'
6855 _ld_network
="$_ld_sock"
6856 _inputmodules
="network $_inputmodules"
6858 _noinputmodules
="network $_noinputmodules"
6859 _def_network
='#undef MPLAYER_NETWORK'
6865 if not beos
&& test "$_ftp" = yes ; then
6866 _def_ftp
='#define HAVE_FTP 1'
6867 _inputmodules
="ftp $_inputmodules"
6869 _noinputmodules
="ftp $_noinputmodules"
6870 _def_ftp
='#undef HAVE_FTP'
6874 echocheck
"vstream client"
6875 if test "$_vstream" = auto
; then
6878 #include <vstream-client.h>
6879 void vstream_error(const char *format, ... ) {}
6880 int main(void) { vstream_start(); return 0; }
6882 cc_check
-lvstream-client && _vstream
=yes
6884 if test "$_vstream" = yes ; then
6885 _def_vstream
='#define HAVE_VSTREAM 1'
6886 _inputmodules
="vstream $_inputmodules"
6887 _ld_vstream
='-lvstream-client'
6889 _noinputmodules
="vstream $_noinputmodules"
6890 _def_vstream
='#undef HAVE_VSTREAM'
6895 echocheck
"byte order"
6896 if test "$_big_endian" = auto
; then
6898 short ascii_name[] = { (('M'<<8)|'P'),(('l'<<8)|'a'),(('y'<<8)|'e'),(('r'<<8)|'B'),
6899 (('i'<<8)|'g'),(('E'<<8)|'n'),(('d'<<8)|'i'),(('a'<<8)|'n'),0};
6901 return (int)ascii_name;
6905 if strings $TMPO |
grep -l MPlayerBigEndian
>/dev
/null
; then
6911 echo -n "failed to autodetect byte order, defaulting to "
6914 if test "$_big_endian" = yes ; then
6915 _byte_order
='big-endian'
6916 _def_words_endian
='#define WORDS_BIGENDIAN 1'
6918 _byte_order
='little-endian'
6919 _def_words_endian
='#undef WORDS_BIGENDIAN'
6921 echores
"$_byte_order"
6923 echocheck
"OSD menu"
6924 if test "$_menu" = yes ; then
6925 _def_menu
='#define HAVE_MENU 1'
6927 _def_menu
='#undef HAVE_MENU'
6932 echocheck
"QuickTime codecs"
6933 if test "$_qtx" = auto
; then
6934 test "$_win32" = yes || darwin
&& _qtx
=yes
6936 if test "$_qtx" = yes ; then
6937 _def_qtx
='#define USE_QTX_CODECS 1'
6938 _codecmodules
="qtx $_codecmodules"
6940 _def_qtx
='#undef USE_QTX_CODECS'
6941 _nocodecmodules
="qtx $_nocodecmodules"
6946 echocheck
"Subtitles sorting"
6947 if test "$_sortsub" = yes ; then
6948 _def_sortsub
='#define USE_SORTSUB 1'
6950 _def_sortsub
='#undef USE_SORTSUB'
6955 echocheck
"XMMS inputplugin support"
6956 if test "$_xmms" = yes ; then
6958 if ( xmms-config
--version ) >/dev
/null
2>&1 ; then
6959 if test -z "$_xmmsplugindir" ; then
6960 _xmmsplugindir
=`xmms-config --input-plugin-dir`
6962 if test -z "$_xmmslibdir" ; then
6963 _xmmslibdir
=`xmms-config --exec-prefix`/lib
6966 if test -z "$_xmmsplugindir" ; then
6967 _xmmsplugindir
=/usr
/lib
/xmms
/Input
6969 if test -z "$_xmmslibdir" ; then
6970 _xmmslibdir
=/usr
/lib
6974 _def_xmms
='#define HAVE_XMMS 1'
6976 _xmms_lib
="${_xmmslibdir}/libxmms.dylib"
6978 _xmms_lib
="${_xmmslibdir}/libxmms.so.1 -export-dynamic"
6981 _def_xmms
='#undef HAVE_XMMS'
6986 if test "$_inet6" = auto
; then
6988 #include <sys/types.h>
6989 #include <sys/socket.h>
6990 int main(void) { socket(AF_INET6, SOCK_STREAM, AF_INET6); }
6997 if test "$_inet6" = yes ; then
6998 _def_inet6
='#define HAVE_AF_INET6 1'
7000 _def_inet6
='#undef HAVE_AF_INET6'
7005 echocheck
"gethostbyname2"
7006 if test "$_gethostbyname2" = auto
; then
7008 #include <sys/types.h>
7009 #include <sys/socket.h>
7011 int main(void) { gethostbyname2("", AF_INET); }
7019 if test "$_gethostbyname2" = yes ; then
7020 _def_gethostbyname2
='#define HAVE_GETHOSTBYNAME2 1'
7022 _def_gethostbyname2
='#undef HAVE_GETHOSTBYNAME2'
7024 echores
"$_gethostbyname2"
7027 # --------------- GUI specific tests begin -------------------
7030 if test "$_gui" = yes ; then
7032 # Required libraries
7033 test "$_png" != yes && die
"The GUI requires PNG support, please install libpng and libpng-dev packages."
7035 test "$_x11" != yes && die
"X11 support required for GUI compilation."
7037 echocheck
"XShape extension"
7038 if test "$_xshape" = auto
; then
7041 #include <X11/Xlib.h>
7042 #include <X11/Xproto.h>
7043 #include <X11/Xutil.h>
7044 #include <X11/extensions/shape.h>
7047 char *name = ":0.0";
7050 int eventbase, errorbase;
7051 if (getenv("DISPLAY"))
7052 name=getenv("DISPLAY");
7053 wsDisplay=XOpenDisplay(name);
7054 if (!XShapeQueryExtension(wsDisplay,&eventbase,&errorbase))
7056 XCloseDisplay(wsDisplay);
7060 cc_check
$_ld_x11 && _xshape
=yes
7062 if test "$_xshape" = yes ; then
7063 _def_xshape
='#define HAVE_XSHAPE 1'
7065 die
"The GUI requires the X11 extension XShape (which was not found)."
7070 if test "$_gtk1" = no
; then
7072 echocheck
"GTK+ version"
7074 if pkg-config gtk
+-2.0
--exists ; then
7075 _gtk
=`pkg-config gtk+-2.0 --modversion 2>/dev/null`
7076 _inc_extra
="$_inc_extra `pkg-config gtk+-2.0 --cflags 2>/dev/null`"
7077 _ld_gtk
=`pkg-config gtk+-2.0 --libs 2>/dev/null`
7081 if pkg-config glib-2.0
--exists ; then
7082 echocheck
"glib version"
7083 _glib
=`pkg-config glib-2.0 --modversion 2>/dev/null`
7084 _ld_glib
=`pkg-config glib-2.0 --libs 2>/dev/null`
7087 _def_gui
='#define HAVE_NEW_GUI 1'
7088 _def_gtk2_gui
='#define HAVE_GTK2_GUI 1'
7091 echo "GLIB-2 devel packages were not found, trying GTK 1.2"
7094 echo "GTK-2 devel packages were not found, trying GTK 1.2"
7099 if test "$_gtk1" = yes ; then
7100 # Check for old GTK (1.2.x)
7101 echocheck
"GTK version"
7102 if test -z "$_gtkconfig" ; then
7103 if ( gtk-config
--version ) >/dev
/null
2>&1 ; then
7104 _gtkconfig
="gtk-config"
7105 elif ( gtk12-config
--version ) >/dev
/null
2>&1 ; then
7106 _gtkconfig
="gtk12-config"
7108 die
"The GUI requires GTK devel packages (which were not found)."
7111 _gtk
=`$_gtkconfig --version 2>&1`
7112 _inc_extra
="$_inc_extra `$_gtkconfig --cflags 2>&1`"
7113 _ld_gtk
=`$_gtkconfig --libs 2>&1`
7114 echores
"$_gtk (using $_gtkconfig)"
7117 echocheck
"glib version"
7118 if test -z "$_glibconfig" ; then
7119 if ( glib-config
--version ) >/dev
/null
2>&1 ; then
7120 _glibconfig
="glib-config"
7121 elif ( glib12-config
--version ) >/dev
/null
2>&1 ; then
7122 _glibconfig
="glib12-config"
7124 die
"The GUI requires GLIB devel packages (which were not found)"
7127 _glib
=`$_glibconfig --version 2>&1`
7128 _ld_glib
=`$_glibconfig --libs 2>&1`
7129 echores
"$_glib (using $_glibconfig)"
7131 _def_gui
='#define HAVE_NEW_GUI 1'
7132 _def_gtk2_gui
='#undef HAVE_GTK2_GUI'
7136 _ld_win32libs
="-lcomdlg32 -lcomctl32 -lshell32 -lkernel32 $_ld_win32libs"
7137 _def_gui
='#define HAVE_NEW_GUI 1'
7138 _def_gtk2_gui
='#undef HAVE_GTK2_GUI'
7141 else #if test "$_gui"
7142 _def_gui
='#undef HAVE_NEW_GUI'
7143 _def_gtk2_gui
='#undef HAVE_GTK2_GUI'
7145 # --------------- GUI specific tests end -------------------
7148 if test "$_charset" = "noconv" ; then
7150 elif test -z "$_charset" ; then
7151 if test "$_gtk1" = yes ; then
7152 _charset
=`cat ${_mp_help}.charset`
7157 if test "$_charset" ; then
7158 _def_charset
="#define MSG_CHARSET \"$_charset\""
7160 _def_charset
="#undef MSG_CHARSET"
7163 if test "$_charset" = `cat ${_mp_help}.charset` ; then
7164 # hack to disable conversion in the Makefile
7168 if test "$_charset" ; then
7169 echocheck
"iconv program"
7170 iconv -f `cat ${_mp_help}.charset` -t $_charset ${_mp_help} > /dev
/null
2>> "$TMPLOG"
7171 if test "$?" -ne 0 ; then
7173 echo "No working iconv program found, use "
7174 echo "--charset=`cat ${_mp_help}.charset` to continue anyway."
7175 echo "If you also have problems with iconv library functions use --charset=noconv."
7176 echo "Messages in the GTK-2 interface will be broken then."
7183 #############################################################################
7185 echocheck
"automatic gdb attach"
7186 if test "$_crash_debug" = yes ; then
7187 _def_crash_debug
='#define CRASH_DEBUG 1'
7189 _def_crash_debug
='#undef CRASH_DEBUG'
7192 echores
"$_crash_debug"
7195 CFLAGS
="$CFLAGS -mdynamic-no-pic -falign-loops=16 -DSYS_DARWIN -DCONFIG_DARWIN -shared-libgcc"
7197 CFLAGS
="$CFLAGS -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk"
7199 if [ "$_cc_major" = 3 ] && [ "$_cc_minor" -lt 1 ]; then
7200 CFLAGS
="$CFLAGS -no-cpp-precomp"
7203 # libavcodec (from ffmpeg) requires CONFIG_DARWIN to enable AltiVec on Darwin/MacOSX
7204 test "$_altivec" = yes && CFLAGS
="$CFLAGS -DCONFIG_DARWIN"
7207 # use flag for HPUX missing setenv()
7208 CFLAGS
="$CFLAGS -DHPUX"
7212 CFLAGS
="$CFLAGS -D_REENTRANT"
7214 # FIXME bsd needs this so maybe other OS'es
7215 CFLAGS
="$CFLAGS -D_THREAD_SAFE"
7217 # 64 bit file offsets?
7218 if test "$_largefiles" = yes || freebsd
; then
7219 CFLAGS
="$CFLAGS -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
7220 if test "$_dvdread" = yes ; then
7221 # dvdread support requires this (for off64_t)
7222 CFLAGS
="$CFLAGS -D_LARGEFILE64_SOURCE"
7226 echocheck
"compiler support for -fno-PIC"
7229 int main(void) { return 0; }
7231 if cc_check
-fno-PIC ; then
7232 CFLAGS
="-fno-PIC $CFLAGS"
7238 echores
"only used for x86"
7241 echocheck
"compiler support for noexecstack"
7243 int main(void) { return 0; }
7245 if cc_check
-Wl,-z,noexecstack
; then
7246 _ld_extra
="-Wl,-z,noexecstack $_ld_extra"
7252 if cc_check
-Wdeclaration-after-statement ; then
7253 CFLAGS
="-Wdeclaration-after-statement $CFLAGS"
7256 echocheck
"ftello()"
7257 # if we don't have ftello use the osdep/ compatibility module
7260 #include <sys/types.h>
7261 int main (void) { ftello(stdin); return 0; }
7264 cc_check
&& _ftello
=yes
7265 if test "$_ftello" = yes ; then
7266 _def_ftello
='#define HAVE_FTELLO 1'
7268 _def_ftello
='#undef HAVE_FTELLO'
7272 # Determine OS dependent libs
7274 _def_confwin32
='#define WIN32'
7275 #CFLAGS="$CFLAGS -D__CYGWIN__ -D__CYGWIN_USE_BIG_TYPES__"
7276 # stat.st_size with BIG_TYPES is broken (not set) ::atmos
7277 CFLAGS
="$CFLAGS -D__CYGWIN__"
7281 _confwin32
='TARGET_WIN32 = yes'
7283 _confwin32
='TARGET_WIN32 = no'
7286 # Dynamic linking flags
7287 # (FIXME: 'echocheck "dynamic linking"' above and modify here accordingly)
7289 bsd
&& _ld_dl_dynamic
='-rdynamic'
7290 if test "$_real" = yes ||
test "$_xanim" = yes && not win32
&& not qnx
&& not darwin
; then
7291 _ld_dl_dynamic
='-rdynamic'
7294 _ld_arch
="$_ld_arch $_ld_pthread $_ld_dl $_ld_dl_dynamic"
7295 bsdos
&& _ld_arch
="$_ld_arch -ldvd"
7297 x86
&& _ld_arch
="$_ld_arch -li386"
7300 _def_debug
='#undef MP_DEBUG'
7301 test "$_debug" != "" && _def_debug
='#define MP_DEBUG 1'
7303 _def_linux
='#undef TARGET_LINUX'
7304 linux
&& _def_linux
='#define TARGET_LINUX 1'
7306 # TODO cleanup the VIDIX stuff here
7307 echocheck
"VIDIX (internal)"
7308 echores
"$_vidix_internal"
7310 echocheck
"VIDIX (external)"
7311 if test "$_vidix_external" = auto
; then
7314 #include <vidix/vidix.h>
7315 int main(void) { return 0; }
7317 cc_check
-lvidix && _vidix_external
=yes
7319 echores
"$_vidix_external"
7321 if test "$_vidix_internal" = yes ||
test "$_vidix_external" = yes ; then
7323 _def_vidix
='#define CONFIG_VIDIX 1'
7326 _def_vidix
='#undef CONFIG_VIDIX'
7329 if test "$_vidix_internal" = yes ; then
7330 _def_vidix_pfx
="#define MP_VIDIX_PFX \"$_libdir\" \"/mplayer/vidix/\" "
7331 elif test "$_vidix_external" = yes ; then
7332 _ld_vidix_external
="-lvidix"
7333 _def_vidix_pfx
='#define MP_VIDIX_PFX "" '
7336 if test "$_vidix" = yes; then
7337 _vosrc
="$_vosrc vo_cvidix.c"
7338 _vomodules
="cvidix $_vomodules"
7340 _novomodules
="cvidix $_novomodules"
7342 if test "$_vidix" = yes && win32
; then
7343 _vosrc
="$_vosrc vo_winvidix.c"
7344 _vomodules
="winvidix $_vomodules"
7345 _ld_win32libs
="-lgdi32 $_ld_win32libs"
7347 _novomodules
="winvidix $_novomodules"
7349 if test "$_vidix" = yes && test "$_x11" = yes; then
7350 _vosrc
="$_vosrc vo_xvidix.c"
7351 _vomodules
="xvidix $_vomodules"
7353 _novomodules
="xvidix $_novomodules"
7356 echocheck
"joystick"
7357 _def_joystick
='#undef HAVE_JOYSTICK'
7358 if test "$_joystick" = yes ; then
7360 # TODO add some check
7361 _def_joystick
='#define HAVE_JOYSTICK 1'
7363 _joystick
="no (unsupported under $system_name)"
7366 echores
"$_joystick"
7369 if test "$_lirc" = auto
; then
7371 if test -c /dev
/lirc
-o -c /dev
/lirc
/0 ; then
7373 #include <lirc/lirc_client.h>
7374 int main(void) { return 0; }
7376 cc_check
-llirc_client && _lirc
=yes
7379 if test "$_lirc" = yes ; then
7380 _def_lirc
='#define HAVE_LIRC 1'
7381 _ld_lirc
='-llirc_client'
7383 _def_lirc
='#undef HAVE_LIRC'
7388 if test "$_lircc" = auto
; then
7391 #include <lirc/lircc.h>
7392 int main(void) { return 0; }
7394 cc_check
-llircc && _lircc
=yes
7396 if test "$_lircc" = yes ; then
7397 _def_lircc
='#define HAVE_LIRCC 1'
7400 _def_lircc
='#undef HAVE_LIRCC'
7405 # Detect maemo development platform libraries availability (http://www.maemo.org),
7406 # they are used when run on Nokia 770
7407 echocheck
"maemo (Nokia 770)"
7408 if test "$_maemo" = auto
; then
7411 #include <libosso.h>
7412 int main(void) { (void) osso_initialize("", "", 0, NULL); return 0; }
7414 cc_check
`pkg-config --cflags --libs libosso 2>/dev/null` && _maemo
=yes
7416 if test "$_maemo" = yes ; then
7417 _def_maemo
='#define HAVE_MAEMO 1'
7418 _inc_extra
="$_inc_extra `pkg-config --cflags libosso`"
7419 _ld_extra
="$_ld_extra `pkg-config --libs libosso` -lXsp"
7421 _def_maemo
='#undef HAVE_MAEMO'
7426 #############################################################################
7427 echo "Creating config.mak"
7428 cat > config.mak
<< EOF
7429 # -------- Generated by configure -----------
7432 MAN_LANG = $MAN_LANG
7433 TARGET_OS = $system_name
7435 prefix = \$(DESTDIR)$_prefix
7436 BINDIR = \$(DESTDIR)$_bindir
7437 DATADIR = \$(DESTDIR)$_datadir
7438 MANDIR = \$(DESTDIR)$_mandir
7439 CONFDIR = \$(DESTDIR)$_confdir
7440 LIBDIR = \$(DESTDIR)$_libdir
7441 # FFmpeg uses libdir instead of LIBDIR
7449 # FIXME: Should only be _inc_extra eventually.
7450 EXTRA_INC = $_inc_extra
7451 OPTFLAGS = $CFLAGS \$(EXTRA_INC)
7452 STRIPBINARIES = $_stripbinaries
7454 HELP_FILE = $_mp_help
7457 PRG_MENCODER = $_prg_mencoder
7459 MPLAYER_NETWORK = $_network
7461 STREAMING_LIVE555 = $_live
7463 MPLAYER_NETWORK_LIB = $_ld_live $_ld_vstream $_ld_network
7466 VIDIX = $_vidix_internal
7467 EXTERNAL_VIDIX = $_vidix_external
7468 EXTERNAL_VIDIX_LIB = $_ld_vidix_external
7470 CONFIG_MP3LAME = $_mp3lame
7475 LIBMPEG2 = $_libmpeg2
7476 TREMOR_INTERNAL = $_tremor_internal
7477 TREMOR_FLAGS = $_tremor_flags
7481 MUSEPACK = $_musepack
7483 UNRARLIB = $_unrarlib
7488 EXTRALIBS = $_extra_libs
7489 EXTRA_LIB = $_ld_extra
7490 Z_LIB = $_ld_static $_ld_zlib
7492 WIN32_LIB = $_ld_win32libs
7493 STATIC_LIB = $_ld_static
7494 ENCA_LIB = $_ld_enca
7495 HAVE_PTHREADS = $_pthreads
7497 LIBC_LIB = $_ld_libC
7499 HAVE_XVMC_ACCEL = $_xvmc
7506 LIB=\$(LIBPREF)\$(NAME)\$(LIBSUF)
7509 X_LIB = $_ld_gl $_ld_dga $_ld_xv $_ld_xvmc $_ld_vm $_ld_xinerama $_ld_x11 $_ld_sock
7511 MLIB_LIB = $_ld_mlib
7513 JPEG_LIB = $_ld_jpeg
7516 SVGA_LIB = $_ld_svga
7517 VESA_LIB = $_ld_vesa
7519 CACA_LIB = $_ld_caca
7527 ALSA_LIB = $_ld_alsa
7529 ARTS_LIB = $_ld_arts
7531 POLYP_LIB = $_ld_polyp
7532 JACK_LIB = $_ld_jack
7533 OPENAL_LIB = $_ld_openal
7534 SGIAUDIO_LIB = $_ld_sgiaudio
7536 # input/demuxer/codecs
7537 TERMCAP_LIB = $_ld_termcap
7538 JOYSTICK = $_joystick
7540 LIRC_LIB = $_ld_lirc
7541 LIRCC_LIB = $_ld_lircc
7546 TV_BSDBT848 = $_tv_bsdbt848
7549 HAVE_DVD = $_have_dvd
7551 DVDREAD_LIB = $_ld_dvdread
7552 DVDKIT2 = $_mpdvdkit
7554 DVDNAV_LIB = $_ld_dvdnav
7556 W32_DEP = $_dep_win32
7557 W32_LIB = $_ld_win32
7559 REAL_CODECS = $_real
7560 XANIM_CODECS = $_xanim
7561 AV_DEP = $_dep_libavformat $_dep_libavcodec $_dep_libavutil $_dep_libpostproc
7562 AV_LIB = $_ld_libavformat $_ld_libavcodec $_ld_libavutil $_ld_libpostproc
7563 CONFIG_LIBAVUTIL = $_libavutil
7564 CONFIG_LIBAVUTIL_SO = $_libavutil_so
7565 CONFIG_LIBAVCODEC = $_libavcodec
7566 CONFIG_LIBAVCODEC_SO = $_libavcodec_so
7567 CONFIG_LIBAVFORMAT = $_libavformat
7568 CONFIG_LIBAVFORMAT_SO = $_libavformat_so
7569 CONFIG_LIBPOSTPROC = $_libpostproc
7570 CONFIG_LIBPOSTPROC_SO = $_libpostproc_so
7573 FAME_LIB = $_ld_libfame
7575 LIBDV_LIB = $_ld_libdv
7576 ARCH_LIB = $_ld_arch $_ld_iconv
7579 XVID_LIB = $_ld_xvid
7581 X264_LIB = $_ld_x264
7584 CONFIG_DTS = $_libdts
7585 DTS_LIB = $_ld_libdts
7586 MENCODER = $_mencoder
7587 MP3LAME_LIB = $_ld_mp3lame
7588 LAVC_MP3LAME = $_lavc_mp3lame
7589 DIRECTFB_LIB = $_ld_directfb
7591 CDPARANOIA_LIB = $_ld_cdparanoia
7592 BITMAP_FONT = $_bitmap_font
7593 FREETYPE = $_freetype
7594 FREETYPE_LIB = $_ld_freetype
7595 FONTCONFIG_LIB = $_ld_fontconfig
7597 FRIBIDI_LIB = $_ld_fribidi
7598 LIBCDIO_LIB = $_ld_libcdio
7599 LIBLZO_LIB= $_ld_liblzo
7602 LIBVORBIS = $_vorbis
7603 VORBIS_LIB = $_ld_vorbis
7604 SPEEX_LIB = $_ld_speex
7605 LIBTHEORA = $_theora
7606 THEORA_LIB = $_ld_theora
7607 FAAD_LIB = $_ld_faad
7608 FAAD_INTERNAL = $_faad_internal
7609 FAAD_FIXED = $_faad_fixed
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: */
7943 /* Support for maemo (http://www.maemo.org) */
7947 * LIRCCD (LIRC client daemon)
7948 * See http://www.dolda2000.cjb.net/~fredrik/lirccd/
7952 /* DVD navigation support using libdvdnav */
7954 $_def_dvdnav_version
7956 /* Define this to enable MPEG 1/2 image postprocessing (requires a FAST CPU!) */
7957 #define MPEG12_POSTPROC 1
7959 /* Define this to enable image postprocessing in libavcodec (requires a FAST CPU!) */
7961 $_def_libpostproc_so
7963 /* Win32 DLL support */
7965 #define WIN32_PATH "$_win32libdir"
7967 /* Mac OS X specific features */
7969 $_def_macosx_finder_support
7971 $_def_macosx_corevideo
7973 /* Build our Win32-loader */
7976 /* ffmpeg's libavcodec support (requires libavcodec source) */
7980 $_def_libavcodec_mpegaudio_hp
7982 /* ffmpeg's libavformat support (requires libavformat source) */
7984 $_def_libavformat_so
7985 $_def_libavformat_win32
7990 /* Use libavcodec's decoders */
7991 #define CONFIG_DECODERS 1
7992 /* Use libavcodec's encoders */
7993 #define CONFIG_ENCODERS 1
7995 /* Use libavformat's demuxers */
7996 #define CONFIG_DEMUXERS 1
7997 /* Use libavformat's muxers */
8000 #define CONFIG_GPL 1
8002 /* Use amr codecs from libavcodec (requires amr sources) */
8008 /* Use specific parts from FFmpeg. */
8009 `echo $_libavdecoders | tr '[a-z] ' '[A-Z]\n' | sed 's/^/#define CONFIG_/;s/$/ 1/'`
8010 `echo $_libavencoders | tr '[a-z] ' '[A-Z]\n' | sed 's/^/#define CONFIG_/;s/$/ 1/'`
8011 `echo $_libavparsers | tr '[a-z] ' '[A-Z]\n' | sed 's/^/#define CONFIG_/;s/$/ 1/'`
8012 `echo $_libavdemuxers | tr '[a-z] ' '[A-Z]\n' | sed 's/^/#define CONFIG_/;s/$/ 1/'`
8013 `echo $_libavmuxers | tr '[a-z] ' '[A-Z]\n' | sed 's/^/#define CONFIG_/;s/$/ 1/'`
8019 /* Use codec libs included in mplayer CVS / source dist: */
8025 /* Use libfame encoder filter */
8028 /* XAnim DLL support */
8030 /* Default search path */
8033 /* RealPlayer DLL support */
8035 /* Default search path */
8038 /* LIVE555 Streaming Media library support */
8041 /* Use 3dnow/mmxext/sse/mmx optimized fast memcpy() [maybe buggy... signal 4]*/
8044 /* Use unrarlib for Vobsubs */
8047 /* gui support, please do not edit this option */
8051 /* Audio output drivers */
8053 $_def_ossaudio_devdsp
8054 $_def_ossaudio_devmixer
8064 $_def_sys_asoundlib_h
8065 $_def_alsa_asoundlib_h
8071 /* Enable fast OSD/SUB renderer (looks ugly, but uses less CPU power) */
8073 #undef FAST_OSD_TABLE
8075 /* Enable TV Interface support */
8078 /* Enable Video 4 Linux TV interface support */
8081 /* Enable Video 4 Linux 1 TV interface support */
8084 /* Enable Video 4 Linux 2 TV interface support */
8087 /* Enable *BSD BrookTree TV interface support */
8090 /* Enable Radio Interface support */
8093 /* Enable Capture for Radio Interface support */
8096 /* Enable Video 4 Linux Radio interface support */
8099 /* Enable Video 4 Linux 2 Radio interface support */
8102 /* Enable Video 4 Linux 2 MPEG PVR support */
8105 /* Define if your processor stores words with the most significant
8106 byte first (like Motorola and SPARC, unlike Intel and VAX). */
8111 /* For the PPC. G5 has the dcbzl when in 64bit mode but G4s and earlier do not
8112 have the instruction. */
8115 /* libmpeg2 wants ARCH_PPC and the rest of mplayer use ARCH_POWERPC,
8116 * define ARCH_PPC if ARCH_POWERPC is set to cope with that.
8122 /* the same issue as with ARCH_POWERPC but with ffmpeg/libavcodec */
8127 /* only gcc3 can compile mvi instructions */
8128 $_def_gcc_mvi_support
8130 /* Define this for Cygwin build for win32 */
8133 /* Define this to any prefered value from 386 up to infinity with step 100 */
8134 #define __CPU__ $iproc
8143 #define DEFAULT_CDROM_DEVICE "/vol/dev/aliases/cdrom0"
8144 #define DEFAULT_DVD_DEVICE DEFAULT_CDROM_DEVICE
8146 #define DEFAULT_CDROM_DEVICE "/dev/cdrom"
8147 #define DEFAULT_DVD_DEVICE "/dev/dvd"
8148 #elif defined(WIN32)
8149 #define DEFAULT_CDROM_DEVICE "D:"
8150 #define DEFAULT_DVD_DEVICE "D:"
8151 #elif defined(SYS_DARWIN)
8152 #define DEFAULT_CDROM_DEVICE "/dev/disk1"
8153 #define DEFAULT_DVD_DEVICE "/dev/rdiskN"
8154 #elif defined(__OpenBSD__)
8155 #define DEFAULT_CDROM_DEVICE "/dev/rcd0a"
8156 #define DEFAULT_DVD_DEVICE DEFAULT_CDROM_DEVICE
8157 #elif defined(__FreeBSD__)
8158 #define DEFAULT_CDROM_DEVICE "/dev/acd0"
8159 #define DEFAULT_DVD_DEVICE DEFAULT_CDROM_DEVICE
8161 #define DEFAULT_CDROM_DEVICE "/dev/cdrom"
8162 #define DEFAULT_DVD_DEVICE "/dev/dvd"
8166 /*----------------------------------------------------------------------------
8168 ** NOTE: Instead of modifying these definitions here, use the
8169 ** --enable/--disable options of the ./configure script!
8170 ** See ./configure --help for details.
8172 *---------------------------------------------------------------------------*/
8174 /* C99 lrintf function available */
8177 /* round function is available */
8180 /* yes, we have inttypes.h */
8181 #define HAVE_INTTYPES_H 1
8183 /* int_fastXY_t emulation */
8186 /* nanosleep support */
8192 /* termcap flag for getch2.c */
8195 /* termios flag for getch2.c */
8200 /* enable PNG support */
8203 /* enable JPEG support */
8206 /* enable PNM support */
8209 /* enable md5sum support */
8212 /* enable GIF support */
8217 /* enable bitmap font support */
8220 /* enable FreeType support */
8223 /* enable Fontconfig support */
8226 /* enable SSA/ASS support */
8229 /* enable FriBiDi usage */
8232 /* enable ENCA usage */
8235 /* liblzo support */
8238 #define CONFIG_LZO 1
8241 /* libmad support */
8244 /* enable OggVorbis support */
8248 /* enable Speex support */
8251 /* enable musepack support */
8254 /* enable OggTheora support */
8257 /* enable FAAD (AAC) support */
8261 /* enable FAAC (AAC encoder) support */
8264 /* enable LADSPA plugin support */
8267 /* enable network */
8270 /* enable ftp support */
8273 /* enable vstream support */
8276 /* enable winsock2 instead of Unix functions*/
8279 /* define this to use inet_aton() instead of inet_pton() */
8282 /* enables / disables cdparanoia support */
8285 /* enables / disables VIDIX usage */
8289 /* enables / disables new input joystick support */
8292 /* enables / disables QTX codecs */
8295 /* enables / disables osd menu */
8298 /* enables / disables subtitles sorting */
8301 /* XMMS input plugin support */
8303 #define XMMS_INPUT_PLUGIN_DIR "$_xmmsplugindir"
8305 /* enables inet6 support */
8308 /* do we have gethostbyname2? */
8309 $_def_gethostbyname2
8311 /* Extension defines */
8312 $_def_3dnow // only define if you have 3DNOW (AMD k6-2, AMD Athlon, iDT WinChip, etc.)
8313 $_def_3dnowext // only define if you have 3DNOWEXT (AMD Athlon, etc.)
8314 $_def_mmx // only define if you have MMX (newer x86 chips, not P54C/PPro)
8315 $_def_mmxext // only define if you have MMX2 (Athlon/PIII/4/CelII)
8316 $_def_sse // only define if you have SSE (Intel Pentium III/4 or Celeron II)
8317 $_def_sse2 // only define if you have SSE2 (Intel Pentium 4)
8318 $_def_altivec // only define if you have Altivec (G4)
8319 $_def_armv5te // only define if you have Enhanced DSP Extensions (ARM)
8320 $_def_iwmmxt // only define if you have XScale IWMMX (ARM)
8322 $_def_altivec_h // enables usage of altivec.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
8381 #if defined(HAVE_GL) || defined(HAVE_X11) || defined(HAVE_XV)
8382 #define X11_FULLSCREEN 1
8385 #endif /* MPLAYER_CONFIG_H */
8388 #############################################################################
8392 Config files successfully generated by ./configure !
8394 Install prefix: $_prefix
8395 Data directory: $_datadir
8396 Config direct.: $_confdir
8398 Byte order: $_byte_order
8399 Optimizing for: $_optimizing
8402 Messages/GUI: $_language
8405 echo -n " Manual pages: $MAN_LANG"
8406 test "$LANGUAGES" = en
&& echo -n " (no localization selected, use --language=all)"
8411 Enabled optional drivers:
8412 Input: $_inputmodules
8413 Codecs: $_codecmodules
8414 Audio output: $_aomodules
8415 Video output: $_vomodules
8416 Audio filters: $_afmodules
8417 Disabled optional drivers:
8418 Input: $_noinputmodules
8419 Codecs: $_nocodecmodules
8420 Audio output: $_noaomodules
8421 Video output: $_novomodules
8422 Audio filters: $_noafmodules
8424 'config.h' and 'config.mak' contain your configuration options.
8425 Note: If you alter theses files (for instance CFLAGS) MPlayer may no longer
8426 compile *** DO NOT REPORT BUGS if you tweak these files ***
8428 'make' will now compile MPlayer and 'make install' will install it.
8429 Note: On non-Linux systems you might need to use 'gmake' instead of 'make'.
8434 if test "$_mtrr" = yes ; then
8435 echo "Please check mtrr settings at /proc/mtrr (see DOCS/HTML/$_doc_lang/video.html#mtrr)"
8439 if test "$_sdl" = "outdated" ; then
8441 You have an outdated version of libSDL installed (older than v1.1.7) and SDL
8442 support has therefore been disabled.
8444 Please upgrade to a more recent version (version 1.1.8 and above are known to
8445 work). You may get this library from: http://www.libsdl.org
8447 You need to rerun ./configure and recompile after updating SDL. If you are
8448 only interested in the libSDL audio drivers, then an older version might work.
8450 Use --enable-sdl to force usage of libSDL.
8456 if test "$_win32" = no
; then
8457 if test "$_win32libdir" ; then
8458 echo "Failed to find a Win32 codecs dir at $_win32libdir!"
8460 echo "Failed to find a Win32 codecs directory! (default: /usr/local/lib/codecs/)"
8463 Create it and copy the DLL files there! You can download the codecs from our
8464 homepage at http://www.mplayerhq.hu/MPlayer/releases/codecs/
8470 NOTE: Win32 codec DLLs are not supported on your CPU ($host_arch) or your
8471 operating system ($system_name). You may encounter a few files that cannot
8472 be played due to missing open source video/audio codec support.
8480 Check $TMPLOG if you wonder why an autodetection failed (check whether
8481 the development headers/packages are installed).
8482 Do not report compilation errors if you used any of the --enable-* options
8483 (except --enable-gui and maybe --enable-debug).
8485 If you suspect a bug, please read DOCS/HTML/$_doc_lang/bugreports.html.
8489 if test "$_warn_CFLAGS" = yes; then
8492 MPlayer compilation will use the CPPFLAGS/CFLAGS/LDFLAGS set by you, but:
8494 *** *** DO NOT REPORT BUGS IF IT DOES NOT COMPILE/WORK! *** ***
8496 It is strongly recommended to let MPlayer choose the correct CFLAGS!
8497 To do so, execute 'CFLAGS= ./configure <options>'
8503 rm -f "$TMPO" "$TMPC" "$TMPS" "$TMPCPP"