man/hu/mplayer.1 synced with 20336
[mplayer/glamo.git] / configure
blob33ad2d35009a7aafdd498752a381ba8f065f561c
1 #! /bin/sh
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
26 # cat > $TMPC << EOF
27 # #include <feature.h>
28 # int main(void) { return 0; }
29 # EOF
30 # _feature=no
31 # cc_check && _feature=yes
32 # if test "$_feature" = yes ; then
33 # _def_feature='#define HAVE_FEATURE 1'
34 # else
35 # _def_feature='#undef HAVE_FEATURE'
36 # fi
37 # echores "$_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
53 LC_ALL=C
54 export LC_ALL
56 # Prefer these macros to full length text !
57 # These macros only return an error code - NO display is done
58 compile_check() {
59 echo >> "$TMPLOG"
60 cat "$1" >> "$TMPLOG"
61 echo >> "$TMPLOG"
62 echo "$_cc $CFLAGS $_inc_extra $_ld_static $_ld_extra -o $TMPO $@" >> "$TMPLOG"
63 rm -f "$TMPO"
64 $_cc $CFLAGS $_inc_extra $_ld_static $_ld_extra -o "$TMPO" "$@" >> "$TMPLOG" 2>&1
65 TMP="$?"
66 echo >> "$TMPLOG"
67 echo "ldd $TMPO" >> "$TMPLOG"
68 $_ldd "$TMPO" >> "$TMPLOG" 2>&1
69 echo >> "$TMPLOG"
70 return "$TMP"
73 cc_check() {
74 compile_check $TMPC $@
77 cxx_check() {
78 compile_check $TMPCPP $@ -lstdc++
81 tmp_run() {
82 "$TMPO" >> "$TMPLOG" 2>&1
85 # Display error message, flushes tempfile, exit
86 die () {
87 echo
88 echo "Error: $@" >&2
89 echo >&2
90 rm -f "$TMPO" "$TMPC" "$TMPS" "$TMPCPP"
91 echo "Check \"$TMPLOG\" if you do not understand why it failed."
92 exit 1
95 # OS test booleans functions
96 issystem() {
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
120 x86() {
121 case "$host_arch" in
122 i[3-9]86|x86|x86pc|k5|k6|k6-2|k6-3|pentium*|athlon*|i586-i686) return 0 ;;
123 *) return 1 ;;
124 esac
127 x86_64() {
128 case "$host_arch" in
129 x86_64|amd64) return 0 ;;
130 *) return 1 ;;
131 esac
134 ppc() {
135 case "$host_arch" in
136 ppc) return 0;;
137 *) return 1;;
138 esac
141 alpha() {
142 case "$host_arch" in
143 alpha) return 0;;
144 *) return 1;;
145 esac
148 arm() {
149 case "$host_arch" in
150 arm) return 0;;
151 *) return 1;;
152 esac
155 # not boolean test: implement the posix shell "!" operator for a
156 # non-posix /bin/sh.
157 # usage: not {command}
158 # returns exit status "success" when the execution of "command"
159 # fails.
160 not() {
161 eval "$@"
162 test $? -ne 0
165 # Use this before starting a check
166 echocheck() {
167 echo "============ Checking for $@ ============" >> "$TMPLOG"
168 echo ${_echo_n} "Checking for $@ ... ${_echo_c}"
171 # Use this to echo the results of a check
172 echores() {
173 if test "$_res_comment" ; then
174 _res_comment="($_res_comment)"
176 echo "Result is: $@ $_res_comment" >> "$TMPLOG"
177 echo "##########################################" >> "$TMPLOG"
178 echo "" >> "$TMPLOG"
179 echo "$@ $_res_comment"
180 _res_comment=""
182 #############################################################################
184 # Check how echo works in this /bin/sh
185 case `echo -n` in
186 -n) _echo_n= _echo_c='\c' ;; # SysV echo
187 *) _echo_n='-n ' _echo_c= ;; # BSD echo
188 esac
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"`
192 show_help(){
193 cat << EOF
194 Usage: $0 [OPTIONS]...
196 Configuration:
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
202 [PREFIX/bin]
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
207 [PREFIX/etc/mplayer]
208 --libdir=DIR use this prefix for object code libraries [PREFIX/lib]
210 Optional features:
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
256 library [autodetect]
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]
263 Codecs:
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
322 Video output:
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]
363 Audio output:
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
391 honored) [en]
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.
400 Advanced options:
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.
457 exit 0
458 } #show_help()
460 for parm in "$@" ; do
461 case $parm in
462 --help|-help|-h)
463 show_help
464 esac
465 done
467 # 1st pass checking for vital options
468 _mmx=auto
469 _3dnow=auto
470 _3dnowext=auto
471 _mmxext=auto
472 _sse=auto
473 _sse2=auto
474 _armv5te=auto
475 _iwmmxt=auto
476 _mtrr=auto
477 _install=install
478 _ranlib=ranlib
479 _cc=cc
480 test "$CC" && _cc="$CC"
481 _gcc_check=yes
482 _as=auto
483 _runtime_cpudetection=no
484 _cross_compile=auto
485 for ac_option do
486 case "$ac_option" in
487 --target=*)
488 _target=`echo $ac_option | cut -d '=' -f 2`
490 --cc=*)
491 _cc=`echo $ac_option | cut -d '=' -f 2`
493 --host-cc=*)
494 _host_cc=`echo $ac_option | cut -d '=' -f 2`
496 --as=*)
497 _as=`echo $ac_option | cut -d '=' -f 2`
499 --enable-gcc-check)
500 _gcc_check=yes
502 --disable-gcc-check)
503 _gcc_check=no
505 --enable-static)
506 _ld_static='-static'
508 --disable-static)
509 _ld_static=''
511 --enable-static=*)
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'`
520 --extra-libs=*)
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)
530 _cross_compile=yes
532 --disable-cross-compile)
533 _cross_compile=no
535 --install-path=*)
536 _install=`echo $ac_option | cut -d '=' -f 2 | sed 's/\/$//'`"/install"
538 --with-install=*)
539 _install=`echo $ac_option | cut -d '=' -f 2 `
541 --enable-profile)
542 _profile='-p'
544 --disable-profile)
545 _profile=
547 --enable-debug)
548 _debug='-g'
550 --enable-debug=*)
551 _debug=`echo $_echo_n '-g'$_echo_c; echo $ac_option | cut -d '=' -f 2`
553 --disable-debug)
554 _debug=
556 esac
557 done
559 # Determine our OS name and CPU architecture
560 if test -z "$_target" ; then
561 # OS name
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)
566 IRIX*)
567 system_name=IRIX
569 HP-UX*)
570 system_name=HP-UX
572 [cC][yY][gG][wW][iI][nN]*)
573 system_name=CYGWIN
575 MINGW32*)
576 system_name=MINGW32
579 system_name="$system_name-UNKNOWN"
581 esac
584 # host's CPU/instruction set
585 host_arch=`uname -p 2>&1`
586 case "$host_arch" in
587 i386|sparc|ppc|alpha|arm|mips|vax)
589 powerpc) # Darwin returns 'powerpc'
590 host_arch=ppc
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
596 # recognize.
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 ;;
602 x86_64|amd64)
603 if [ -n "`$_cc -dumpmachine | sed -n '/^x86_64-/p;/^amd64-/p'`" -a \
604 -z "`echo $CFLAGS | grep -- -m32`" ]; then
605 host_arch=x86_64
606 else
607 host_arch=i386
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 ;;
621 esac
623 esac
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 ;;
636 esac
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
646 test "$I" && break
647 done
649 TMPLOG="configure.log"
650 rm -f "$TMPLOG"
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"
656 # config files
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.
665 if freebsd ; then
666 _ld_extra="$_ld_extra -L/usr/local/lib"
667 _inc_extra="$_inc_extra -I/usr/local/include"
670 _ldd=ldd
671 if darwin; then
672 _ldd="otool -L"
675 if aix ; then
676 _ld_libC="-lC"
677 else
678 _ld_libC=""
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
683 # know about '-n'.
684 if test "`(echo line1 ; echo line2) | head -1 2>/dev/null`" = "line1" ; then
685 _head() { head -$1 2>/dev/null ; }
686 else
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 ; }
691 else
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"
700 cc_vendor=intel
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
706 case $cc_version in
708 cc_version="v. ?.??, bad"
709 cc_verc_fail=yes
711 8.0)
712 cc_version="$cc_version, ok"
713 cc_verc_fail=no
716 cc_version="$cc_version, bad"
717 cc_verc_fail=yes
719 esac
720 echores "$cc_version"
721 else
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"
724 cc_vendor=gnu
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"
730 case $cc_version in
732 cc_version="v. ?.??, bad"
733 cc_verc_fail=yes
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"
740 cc_verc_fail=no
742 'not found')
743 cc_verc_fail=yes
746 cc_version="$cc_version, bad"
747 cc_verc_fail=yes
749 esac
750 echores "$cc_version"
751 test "$cc_verc_fail" = "no" && break
752 done
753 fi # icc
754 if test "$cc_verc_fail" = yes ; then
755 cat <<EOF
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
768 bugs!
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"
777 else
778 cat <<EOF
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 ******************************************************************************
798 read _answer
801 echocheck "host cc"
802 test "$_host_cc" || _host_cc=$_cc
803 echores $_host_cc
805 echocheck "cross compilation"
806 if test $_cross_compile = auto ; then
807 cat > $TMPC << EOF
808 int main() { return 0; }
810 _cross_compile=yes
811 cc_check && "$TMPO" && _cross_compile=no
813 echores $_cross_compile
815 if test $_cross_compile = yes; then
816 tmp_run() {
817 return 0
821 # ---
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..
831 _cpuinfo="echo"
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
843 _cpuinfo="hostinfo"
844 elif aix; then
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
869 done
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)"
877 echocheck "CPU type"
878 echores "$pname"
881 case "$host_arch" in
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"
887 case "$pvendor" in
888 AuthenticAMD)
889 case "$pfamily" in
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
895 proc=k6-3
896 elif test "$pmodel" -ge 8; then
897 proc=k6-2
898 elif test "$pmodel" -ge 6; then
899 proc=k6
900 else
901 proc=i586
904 6) iproc=686
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.
910 proc=athlon-xp
911 else
912 # Again, gcc treats athlon and athlon-tbird similarly.
913 proc=athlon
916 15) iproc=686
917 # k8 cpu-type only supported in gcc >= 3.4.0, but that will be
918 # caught and remedied in the optimization tests below.
919 proc=k8
922 *) proc=k8 iproc=686 ;;
923 esac
925 GenuineIntel)
926 case "$pfamily" in
927 3) proc=i386 iproc=386 ;;
928 4) proc=i486 iproc=486 ;;
929 5) iproc=586
930 if test "$pmodel" -eq 4 || test "$pmodel" -eq 8; then
931 proc=pentium-mmx # 4 is desktop, 8 is mobile
932 else
933 proc=i586
936 6) iproc=686
937 if test "$pmodel" -eq 9 -o "$pmodel" -ge 13; then
938 proc=pentium-m
939 elif test "$pmodel" -ge 7; then
940 proc=pentium3
941 elif test "$pmodel" -ge 3; then
942 proc=pentium2
943 else
944 proc=i686
947 15) iproc=686
948 # A nocona in 32-bit mode has no more capabilities than a prescott.
949 if test "$pmodel" -ge 3; then
950 proc=prescott
951 else
952 proc=pentium4
955 *) proc=prescott iproc=686 ;;
956 esac
958 CentaurHauls)
959 case "$pfamily" in
960 5) iproc=586
961 if test "$pmodel" -ge 8; then
962 proc=winchip2
963 elif test "$pmodel" -ge 4; then
964 proc=winchip-c6
965 else
966 proc=i586
969 6) iproc=686
970 if test "$pmodel" -ge 9; then
971 proc=c3-2
972 else
973 proc=c3
974 iproc=586
977 *) proc=i686 iproc=i686 ;;
978 esac
980 unknown)
981 case "$pfamily" in
982 3) proc=i386 iproc=386 ;;
983 4) proc=i486 iproc=486 ;;
984 *) proc=i586 iproc=586 ;;
985 esac
988 proc=i586 iproc=586 ;;
989 esac
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
998 cpuopt=-mtune
999 else
1000 cpuopt=-mcpu
1003 echocheck "GCC & CPU optimization abilities"
1004 cat > $TMPC << EOF
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
1020 proc=i586-i686
1021 else
1022 proc=i586
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."
1046 _mcpu=""
1047 _march=""
1048 _optimizing=""
1049 elif test "$proc" = "i586-i686"; then
1050 _march="-march=i586"
1051 _mcpu="$cpuopt=i686"
1052 _optimizing="$proc"
1053 else
1054 _march="-march=$proc"
1055 _mcpu="$cpuopt=$proc"
1056 _optimizing="$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"
1074 else
1075 _march="-march=$host_arch"
1076 _mcpu="$cpuopt=$host_arch"
1079 proc="$host_arch"
1081 case "$proc" in
1082 i386) iproc=386 ;;
1083 i486) iproc=486 ;;
1084 i586|k5|k6|k6-2|k6-3|pentium|pentium-mmx) iproc=586 ;;
1085 i686|athlon*|pentium*) iproc=686 ;;
1086 *) iproc=586 ;;
1087 esac
1090 echores "$proc"
1093 ia64)
1094 _def_arch='#define ARCH_IA64 1'
1095 _target_arch='TARGET_ARCH_IA64 = yes'
1096 iproc='ia64'
1097 proc=''
1098 _march=''
1099 _mcpu=''
1100 _optimizing=''
1103 x86_64|amd64)
1104 _def_arch='#define ARCH_X86_64 1'
1105 _target_arch='TARGET_ARCH_X86_64 = yes'
1106 iproc='x86_64'
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
1110 cpuopt=-mtune
1111 else
1112 cpuopt=-mcpu
1114 case "$pvendor" in
1115 AuthenticAMD)
1116 proc=k8;;
1117 GenuineIntel)
1118 # 64-bit prescotts exist, but as far as GCC is concerned they have the
1119 # same capabilities as a nocona.
1120 proc=nocona;;
1122 proc=error;;
1123 esac
1125 echocheck "GCC & CPU optimization abilities"
1126 cat > $TMPC << EOF
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."
1153 _mcpu=""
1154 _march=""
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=""
1164 _optimizing=""
1166 echores "$proc"
1169 sparc)
1170 _def_arch='#define ARCH_SPARC 1'
1171 _target_arch='TARGET_ARCH_SPARC = yes'
1172 iproc='sparc'
1173 if sunos ; then
1174 echocheck "CPU type"
1175 karch=`uname -m`
1176 case "`echo $karch`" in
1177 sun4) proc=v7 ;;
1178 sun4c) proc=v7 ;;
1179 sun4d) proc=v8 ;;
1180 sun4m) proc=v8 ;;
1181 sun4u) proc=v9 _vis='yes' _def_vis='#define HAVE_VIS = yes' ;;
1182 sun4v) proc=v9 ;;
1183 *) proc=v8 ;;
1184 esac
1185 echores "$proc"
1186 else
1187 proc=v8
1189 _march=''
1190 _mcpu="-mcpu=$proc"
1191 _optimizing="$proc"
1194 sparc64)
1195 _def_arch='#define ARCH_SPARC 1'
1196 _target_arch='TARGET_ARCH_SPARC = yes'
1197 _vis='yes'
1198 _def_vis='#define HAVE_VIS = yes'
1199 iproc='sparc'
1200 proc='v9'
1201 _march=''
1202 _mcpu="-mcpu=$proc"
1203 _optimizing="$proc"
1206 arm|armv4l|armv5tel)
1207 _def_arch='#define ARCH_ARMV4L 1'
1208 _target_arch='TARGET_ARCH_ARMV4L = yes'
1209 iproc='arm'
1210 proc=''
1211 _march=''
1212 _mcpu=''
1213 _optimizing=''
1216 ppc)
1217 _def_arch='#define ARCH_POWERPC 1'
1218 _def_dcbzl='#define NO_DCBZL 1'
1219 _target_arch='TARGET_ARCH_POWERPC = yes'
1220 iproc='ppc'
1221 proc=''
1222 _march=''
1223 _mcpu=''
1224 _optimizing=''
1225 _altivec=no
1227 echocheck "CPU type"
1228 case $system_name in
1229 Linux)
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
1232 _altivec=yes
1235 Darwin)
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
1239 _altivec=yes
1242 NetBSD)
1243 # only gcc 3.4 works reliably with AltiVec code under NetBSD
1244 case $cc_version in
1245 2*|3.0*|3.1*|3.2*|3.3*)
1248 if [ `sysctl -n machdep.altivec` -eq 1 ]; then
1249 _altivec=yes
1252 esac
1254 AIX)
1255 proc=`$_cpuinfo | grep 'type' | cut -f 2 -d ' ' | sed 's/PowerPC_//'`
1257 esac
1258 if test "$_altivec" = yes; then
1259 echores "$proc altivec"
1260 else
1261 echores "$proc"
1264 echocheck "GCC & CPU optimization abilities"
1266 if test -n "$proc"; then
1267 case "$proc" in
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' ;;
1277 *) ;;
1278 esac
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
1281 case "$proc" in
1282 7400*|7410*) _march='-mcpu=7400' _mcpu='-mtune=7400' ;;
1283 7447*|7450*|7455*) _march='-mcpu=7450' _mcpu='-mtune=7450' ;;
1284 *) ;;
1285 esac
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
1289 case "$proc" in
1290 970*|PPC970*) _march='-mcpu=970' _mcpu='-mtune=970'
1291 _def_dcbzl='#undef NO_DCBZL' ;;
1292 *) ;;
1293 esac
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
1297 case "$proc" in
1298 POWER4) _march='-mcpu=power4' _mcpu='-mtune=power4' ;;
1299 *) ;;
1300 esac
1302 # gcc 4.0 and up supports POWER5
1303 if test "$_cc_major" -ge "4"; then
1304 case "$proc" in
1305 POWER5*) _march='-mcpu=power5' _mcpu='-mtune=power5' ;;
1306 *) ;;
1307 esac
1311 if test -n "$_mcpu"; then
1312 _optimizing=`echo $_mcpu | cut -c 8-`
1313 echores "$_optimizing"
1314 else
1315 echores "none"
1320 alpha)
1321 _def_arch='#define ARCH_ALPHA 1'
1322 _target_arch='TARGET_ARCH_ALPHA = yes'
1323 iproc='alpha'
1324 _march=''
1326 echocheck "CPU type"
1327 cat > $TMPC << EOF
1328 int main() {
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);
1333 return 0;
1336 $_cc -o "$TMPO" "$TMPC"
1337 case `"$TMPO"` in
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";;
1346 esac
1347 echores "$proc"
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
1356 _mcpu="-mcpu=$proc"
1357 echores "$proc"
1359 _optimizing="$proc"
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"
1364 echores "yes"
1365 else
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)"
1371 mips)
1372 _def_arch='#define ARCH_SGI_MIPS 1'
1373 _target_arch='TARGET_ARCH_SGI_MIPS = yes'
1374 iproc='sgi-mips'
1375 proc=''
1376 _march=''
1377 _mcpu=''
1378 _optimizing=''
1380 if irix ; then
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' ;;
1390 esac
1391 # gcc < 3.x does not support -mtune.
1392 if test "$cc_vendor" = "gnu" && test "$_cc_major" -lt 3 ; then
1393 _mcpu=''
1395 echores "$proc"
1400 hppa)
1401 _def_arch='#define ARCH_PA_RISC 1'
1402 _target_arch='TARGET_ARCH_PA_RISC = yes'
1403 iproc='PA-RISC'
1404 proc=''
1405 _march=''
1406 _mcpu=''
1407 _optimizing=''
1410 s390)
1411 _def_arch='#define ARCH_S390 1'
1412 _target_arch='TARGET_ARCH_S390 = yes'
1413 iproc='390'
1414 proc=''
1415 _march=''
1416 _mcpu=''
1417 _optimizing=''
1420 s390x)
1421 _def_arch='#define ARCH_S390X 1'
1422 _target_arch='TARGET_ARCH_S390X = yes'
1423 iproc='390x'
1424 proc=''
1425 _march=''
1426 _mcpu=''
1427 _optimizing=''
1430 vax)
1431 _def_arch='#define ARCH_VAX 1'
1432 _target_arch='TARGET_ARCH_VAX = yes'
1433 iproc='vax'
1434 proc=''
1435 _march=''
1436 _mcpu=''
1437 _optimizing=''
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
1448 if x86; then
1449 _mmx=yes
1450 _3dnow=yes
1451 _3dnowext=yes
1452 _mmxext=yes
1453 _sse=yes
1454 _sse2=yes
1455 _mtrr=yes
1457 if ppc; then
1458 _altivec=yes
1462 if x86 && test "$_runtime_cpudetection" = no ; then
1463 extcheck() {
1464 if test "$1" = yes ; then
1465 echocheck "kernel support of $2"
1466 cat > $TMPC <<EOF
1467 #include <signal.h>
1468 void catch() { exit(1); }
1469 int main(void){
1470 signal(SIGILL, catch);
1471 __asm__ __volatile__ ("$3":::"memory");return(0);
1475 if cc_check && tmp_run ; then
1476 echores "yes"
1477 _optimizing="$_optimizing $2"
1478 return 0
1479 else
1480 echores "failed"
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!"
1483 return 1
1486 return 0
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"
1496 echores "$_mtrr"
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
1506 cat > $TMPC << EOF
1507 int main(void) { return 0; }
1509 cc_check $_march $_gcc3_ext && _march="$_march $_gcc3_ext"
1515 echocheck "assembler support of -pipe option"
1516 cat > $TMPC << EOF
1517 int main(void) { return 0; }
1519 cc_check -pipe && _pipe="-pipe" && echores "yes" || echores "no"
1522 echocheck "compiler support of named assembler arguments"
1523 _named_asm_args=yes
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
1527 _named_asm_args=no
1528 _def_named_asm_args="#undef NAMED_ASM_ARGS"
1530 echores $_named_asm_args
1533 # Checking for CFLAGS
1534 _stripbinaries=yes
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/'`
1540 _stripbinaries=no
1541 elif test -z "$CFLAGS" ; then
1542 CFLAGS="-O4 $_march $_mcpu $_pipe -ffast-math -fomit-frame-pointer"
1543 else
1544 _warn_CFLAGS=yes
1546 if test -n "$LDFLAGS" ; then
1547 _ld_extra="$_ld_extra $LDFLAGS"
1548 _warn_CFLAGS=yes
1550 if test -n "$CPPFLAGS" ; then
1551 _inc_extra="$_inc_extra $CPPFLAGS"
1552 _warn_CFLAGS=yes
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
1560 _libavutil=auto
1561 _libavutil_so=auto
1562 _libavcodec=auto
1563 _amr_nb=auto
1564 _amr_nb_fixed=auto
1565 _amr_wb=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/'`
1571 _libavcodec_so=auto
1572 _libavformat=auto
1573 _libavformat_so=auto
1574 _libpostproc=auto
1575 _libpostproc_so=auto
1576 _libavcodec_mpegaudio_hp=yes
1577 _libfame=auto
1578 _mencoder=yes
1579 _x11=auto
1580 _xshape=auto
1581 _dga=auto # 1 2 no auto
1582 _xv=auto
1583 _xvmc=no #auto when complete
1584 _sdl=auto
1585 _directx=auto
1586 _win32waveout=auto
1587 _nas=auto
1588 _png=auto
1589 _jpeg=auto
1590 _pnm=yes
1591 _md5sum=yes
1592 _gif=auto
1593 _gl=auto
1594 _ggi=auto
1595 _ggiwmh=auto
1596 _aa=auto
1597 _caca=auto
1598 _svga=auto
1599 _vesa=auto
1600 _fbdev=auto
1601 _dvb=auto
1602 _dvbhead=auto
1603 _dxr2=auto
1604 _dxr3=auto
1605 _ivtv=auto
1606 _iconv=auto
1607 _langinfo=auto
1608 _rtc=auto
1609 _ossaudio=auto
1610 _arts=auto
1611 _esd=auto
1612 _polyp=auto
1613 _jack=auto
1614 _openal=auto
1615 _libcdio=auto
1616 _liblzo=auto
1617 _mad=auto
1618 _toolame=auto
1619 _twolame=auto
1620 _tremor_internal=yes
1621 _tremor_low=no
1622 _tremor_external=auto
1623 _libvorbis=auto
1624 _speex=auto
1625 _theora=auto
1626 _mp3lib=yes
1627 _liba52=yes
1628 _libdts=auto
1629 _libmpeg2=yes
1630 _faad_internal=auto
1631 _faad_external=auto
1632 _faad_fixed=no
1633 _faac=auto
1634 _ladspa=auto
1635 _xmms=no
1636 _have_dvd=no
1637 _dvdnav=auto
1638 _dvdnavconfig=dvdnav-config
1639 _dvdread=auto
1640 _mpdvdkit=auto
1641 _xanim=auto
1642 _real=auto
1643 _live=auto
1644 _xinerama=auto
1645 _mga=auto
1646 _xmga=auto
1647 _vm=auto
1648 _xf86keysym=auto
1649 _mlib=no #broken, thus disabled
1650 _sgiaudio=auto
1651 _sunaudio=auto
1652 _alsa=auto
1653 _fastmemcpy=yes
1654 _unrarlib=yes
1655 _win32=auto
1656 _select=yes
1657 _radio=no
1658 _radio_capture=no
1659 _radio_v4l=auto
1660 _radio_v4l2=auto
1661 _tv=yes
1662 _tv_v4l1=auto
1663 _tv_v4l2=auto
1664 _tv_bsdbt848=auto
1665 _pvr=auto
1666 _network=yes
1667 _winsock2=auto
1668 _smbsupport=auto
1669 _vidix_internal=auto
1670 _vidix_external=auto
1671 _joystick=no
1672 _xvid=auto
1673 _x264=auto
1674 _nut=auto
1675 _lirc=auto
1676 _lircc=auto
1677 _gui=no
1678 _gtk1=no
1679 _termcap=auto
1680 _termios=auto
1681 _3dfx=no
1682 _s3fb=no
1683 _tdfxfb=no
1684 _tdfxvid=no
1685 _tga=yes
1686 _directfb=auto
1687 _zr=auto
1688 _bl=no
1689 _largefiles=no
1690 #_language=en
1691 _shm=auto
1692 _linux_devfs=no
1693 #_charset=utf8
1694 _dynamic_plugins=no
1695 _crash_debug=no
1696 _sighandler=yes
1697 _libdv=auto
1698 _cdparanoia=auto
1699 _big_endian=auto
1700 _bitmap_font=yes
1701 _freetype=auto
1702 _fontconfig=auto
1703 _menu=no
1704 _qtx=auto
1705 _macosx=auto
1706 _maemo=auto
1707 _macosx_finder_support=no
1708 _macosx_bundle=auto
1709 _sortsub=yes
1710 _freetypeconfig='freetype-config'
1711 _fribidi=auto
1712 _fribidiconfig='fribidi-config'
1713 _enca=auto
1714 _inet6=auto
1715 _gethostbyname2=auto
1716 _ftp=yes
1717 _musepack=auto
1718 _vstream=auto
1719 _pthreads=auto
1720 _ass=auto
1721 _rpath=no
1722 _asmalign_pot=auto
1723 for ac_option do
1724 case "$ac_option" in
1725 # Skip 1st pass
1726 --target=*) ;;
1727 --cc=*) ;;
1728 --host-cc=*) ;;
1729 --as=*) ;;
1730 --enable-gcc-check) ;;
1731 --disable-gcc-check) ;;
1732 --enable-static*) ;;
1733 --disable-static*) ;;
1734 --with-extraincdir=*) ;;
1735 --with-extralibdir=*) ;;
1736 --extra-libs=*) ;;
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) ;;
1745 --enable-debug) ;;
1746 --enable-debug=*) ;;
1747 --disable-debug) ;;
1749 # Real 2nd pass
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 ;;
2072 --charset=*)
2073 _charset=`echo $ac_option | cut -d '=' -f 2`
2075 --language=*)
2076 _language=`echo $ac_option | cut -d '=' -f 2`
2079 --with-codecsdir=*)
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)
2106 _crash_debug=yes
2108 --disable-crash-debug)
2109 _crash_debug=no
2111 --enable-sighandler)
2112 _sighandler=yes
2114 --disable-sighandler)
2115 _sighandler=no
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 ;;
2141 --with-x11libdir=*)
2142 _ld_x11=-L`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
2144 --with-xvmclib=*)
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'`
2183 --prefix=*)
2184 _prefix=`echo $ac_option | cut -d '=' -f 2`
2186 --bindir=*)
2187 _bindir=`echo $ac_option | cut -d '=' -f 2`
2189 --datadir=*)
2190 _datadir=`echo $ac_option | cut -d '=' -f 2`
2192 --mandir=*)
2193 _mandir=`echo $ac_option | cut -d '=' -f 2`
2195 --confdir=*)
2196 _confdir=`echo $ac_option | cut -d '=' -f 2`
2198 --libdir=*)
2199 _libdir=`echo $ac_option | cut -d '=' -f 2`
2203 echo "Unknown parameter: $ac_option"
2204 exit 1
2207 esac
2208 done
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"
2217 if x86 ; then
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'
2224 echo 'nop' > $TMPS
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
2251 echores "ok"
2252 else
2253 _res_comment="Upgrade binutils to ${_pref_as_version} ..."
2254 echores "failed"
2255 die "obsolete binutils version"
2258 fi #if x86
2260 echocheck ".align is a power of two"
2261 if test "$_asmalign_pot" = auto ; then
2262 _asmalign_pot=no
2263 cat > $TMPC << EOF
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"'
2270 else
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..
2277 if ppc ; then
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"
2286 p=''
2287 cat > $TMPC << EOF
2288 int main() {
2289 return 0;
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'
2306 case $p in
2307 FSF) _altivec_gcc_flags="$FSF_flags" _altivec=yes ;;
2308 Darwin) _altivec_gcc_flags="$Darwin_flags" _altivec=yes ;;
2309 *) _altivec=no ;;
2310 esac
2312 if test -z "$p"; then
2313 p=none
2314 else
2315 p="$p-style ($_altivec_gcc_flags)"
2318 echores "$p"
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"
2327 cat > $TMPC << EOF
2328 #include <altivec.h>
2329 int main(void) { return 0; }
2331 _have_altivec_h=no
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'
2365 else
2366 _def_altivec='#undef HAVE_ALTIVEC'
2370 if arm ; then
2371 echocheck "ARMv5TE (Enhanced DSP Extensions)"
2372 if test $_armv5te = "auto" ; then
2373 cat > $TMPC << EOF
2374 int main(void) {
2375 __asm__ __volatile__ ("qadd r0, r0, r0");
2378 _armv5te=no
2379 cc_check && _armv5te=yes
2381 echores "$_armv5te"
2383 echocheck "iWMMXt (Intel XScale SIMD instructions)"
2384 if test $_iwmmxt = "auto" ; then
2385 cat > $TMPC << EOF
2386 int main(void) {
2387 __asm__ __volatile__ ("wunpckelub wr6, wr4");
2390 _iwmmxt=no
2391 cc_check && _iwmmxt=yes
2393 echores "$_iwmmxt"
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
2415 _k_verc_problem=no
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;;
2422 esac
2423 if test "$_k_verc_problem" = yes && test "$_sse" = yes ; then
2424 _k_verc_fail=yes
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)
2434 else
2435 echores "$kernel_version, ok"
2439 if test "$_vidix_internal" = auto ; then
2440 _vidix_internal=no
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"
2453 if win32 ; then
2454 _prg="mplayer.exe"
2455 _prg_mencoder="mencoder.exe"
2456 else
2457 _prg="mplayer"
2458 _prg_mencoder="mencoder"
2460 echores $_prg
2463 # On QNX we must link to libph - Gabucino
2464 if qnx ; then
2465 _ld_arch="$_ld_arch -lph"
2468 # checking for a working awk, I'm using mawk first, because it's fastest - atmos
2469 _awk=
2470 if test "$_vidix_internal" = yes ; then
2471 _awk_verc_fail=yes
2472 echocheck "awk"
2473 for _awk in mawk gawk nawk awk; do
2474 if ( $_awk 'BEGIN{testme();}function testme(){print"";}' ) >> "$TMPLOG" 2>&1; then
2475 _awk_verc_fail=no
2476 break
2478 done
2479 test "$_awk_verc_fail" = yes && _awk=no
2480 echores "$_awk"
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."
2486 die "no awk"
2490 # If IRIX we must use ar instead of ranlib (not present on IRIX systems)
2491 if irix ; then
2492 _ranlib='ar -r'
2493 elif linux ; then
2494 _ranlib='true'
2497 ######################
2498 # MAIN TESTS GO HERE #
2499 ######################
2502 echocheck "extra headers"
2503 if test "$_inc_extra" ; then
2504 echores "$_inc_extra"
2505 else
2506 echores "none"
2510 echocheck "extra libs"
2511 if test "$_ld_extra" ; then
2512 echores "$_ld_extra"
2513 else
2514 echores "none"
2517 echocheck "-lposix"
2518 cat > $TMPC <<EOF
2519 int main(void) { return 0; }
2521 if cc_check -lposix ; then
2522 _ld_arch="$_ld_arch -lposix"
2523 echores "yes"
2524 else
2525 echores "no"
2528 echocheck "-lm"
2529 cat > $TMPC <<EOF
2530 int main(void) { return 0; }
2532 if cc_check -lm ; then
2533 _ld_lm="-lm"
2534 echores "yes"
2535 else
2536 _ld_lm=""
2537 echores "no"
2541 echocheck "langinfo"
2542 if test "$_langinfo" = auto ; then
2543 cat > $TMPC <<EOF
2544 #include <langinfo.h>
2545 int main(void) { nl_langinfo(CODESET); return 0; }
2547 _langinfo=no
2548 cc_check && _langinfo=yes
2550 if test "$_langinfo" = yes ; then
2551 _def_langinfo='#define USE_LANGINFO 1'
2552 else
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
2565 _language=$lang
2566 break
2567 else
2568 echo -n "$lang not found, "
2569 _language=`echo $_language | sed "s/$lang *//"`
2571 done
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"
2579 done
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'
2588 else
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'
2597 else
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
2606 if cc_check; then
2607 _def_restrict_keyword=$restrict_keyword
2608 break;
2610 done
2611 if [ -n "$_def_restrict_keyword" ]; then
2612 echores "$_def_restrict_keyword"
2613 else
2614 echores "none"
2616 # Avoid infinite recursion loop ("#define restrict restrict")
2617 if [ "$_def_restrict_keyword" != "restrict" ]; then
2618 _def_restrict_keyword="#define restrict $_def_restrict_keyword"
2619 else
2620 _def_restrict_keyword=""
2624 echocheck "__builtin_expect"
2625 # GCC branch prediction hint
2626 cat > $TMPC << EOF
2627 int foo (int a) {
2628 a = __builtin_expect (a, 10);
2629 return a == 10 ? 0 : 1;
2631 int main() { return foo(10) && foo(0); }
2633 _builtin_expect=no
2634 cc_check && _builtin_expect=yes
2635 if test "$_builtin_expect" = yes ; then
2636 _def_builtin_expect='#define HAVE_BUILTIN_EXPECT 1'
2637 else
2638 _def_builtin_expect='#undef HAVE_BUILTIN_EXPECT'
2640 echores "$_builtin_expect"
2643 echocheck "kstat"
2644 cat > $TMPC << EOF
2645 #include <kstat.h>
2646 int main(void) { (void) kstat_open(); (void) kstat_close(0); return 0; }
2648 _kstat=no
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"
2653 else
2654 _def_kstat="#undef HAVE_LIBKSTAT"
2656 echores "$_kstat"
2659 echocheck "posix4"
2660 # required for nanosleep on some systems
2661 cat > $TMPC << EOF
2662 #include <time.h>
2663 int main(void) { (void) nanosleep(0, 0); return 0; }
2665 _posix4=no
2666 cc_check -lposix4 && _posix4=yes
2667 if test "$_posix4" = yes ; then
2668 _ld_arch="-lposix4 $_ld_arch"
2670 echores "$_posix4"
2672 echocheck "lrintf"
2673 cat > $TMPC << EOF
2674 #include <math.h>
2675 int main(void) { long (*foo)(float); foo = lrintf; (void)(*foo)(0.0); return 0; }
2677 _lrintf=no
2678 cc_check -D_GNU_SOURCE $_ld_lm && _lrintf=yes
2679 if test "$_lrintf" = yes ; then
2680 _def_lrintf="#define HAVE_LRINTF 1"
2681 else
2682 _def_lrintf="#undef HAVE_LRINTF"
2684 echores "$_lrintf"
2686 echocheck "round"
2687 cat > $TMPC << EOF
2688 #include <math.h>
2689 int main(void) { (void) round(0.0); return 0; }
2691 _round=no
2692 cc_check $_ld_lm && _round=yes
2693 if test "$_round" = yes ; then
2694 _def_round="#define HAVE_ROUND 1"
2695 else
2696 _def_round="#undef HAVE_ROUND"
2698 echores "$_round"
2700 echocheck "nanosleep"
2701 # also check for nanosleep
2702 cat > $TMPC << EOF
2703 #include <time.h>
2704 int main(void) { (void) nanosleep(0, 0); return 0; }
2706 _nanosleep=no
2707 cc_check $_ld_arch && _nanosleep=yes
2708 if test "$_nanosleep" = yes ; then
2709 _def_nanosleep='#define HAVE_NANOSLEEP 1'
2710 else
2711 _def_nanosleep='#undef HAVE_NANOSLEEP'
2713 echores "$_nanosleep"
2716 echocheck "socklib"
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):
2719 cat > $TMPC << EOF
2720 #include <netdb.h>
2721 #include <sys/socket.h>
2722 int main(void) { (void) gethostbyname(0); (void) socket(AF_INET, SOCK_STREAM, 0); return 0; }
2724 _socklib=no
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
2727 done
2728 if test $_winsock2 = auto && not cygwin ; then
2729 _winsock2=no
2730 cat > $TMPC << EOF
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"
2737 echores "$_socklib"
2740 if test $_winsock2 = yes ; then
2741 _ld_sock="-lws2_32"
2742 _def_winsock2='#define HAVE_WINSOCK2 1'
2743 else
2744 _def_winsock2='#undef HAVE_WINSOCK2'
2748 _use_aton=no
2749 echocheck "inet_pton()"
2750 cat > $TMPC << EOF
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"
2758 echores "no"
2759 elif cc_check $_ld_sock ; then
2760 # NOTE: Linux has libresolv but does not need it
2762 _res_comment="using $_ld_sock"
2763 echores "yes"
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"
2768 echores "yes"
2769 else
2770 _res_comment="trying inet_aton next"
2771 echores "no"
2773 echocheck "inet_aton()"
2774 cat > $TMPC << EOF
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; }
2780 _use_aton=yes
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"
2789 else
2790 _use_aton=no
2791 _network=no
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)"
2804 cat > $TMPC << EOF
2805 #include <inttypes.h>
2806 int main(void) { return 0; }
2808 _inttypes=no
2809 cc_check && _inttypes=yes
2810 echores "$_inttypes"
2812 if test "$_inttypes" = no ; then
2813 echocheck "bitypes.h (inttypes.h predecessor)"
2814 cat > $TMPC << EOF
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."
2821 else
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"
2828 cat > $TMPC << EOF
2829 #include <inttypes.h>
2830 int main(void) {
2831 volatile int_fast16_t v= 0;
2832 return v; }
2834 _fast_inttypes=no
2835 cc_check && _fast_inttypes=yes
2836 if test "$_fast_inttypes" = yes ; then
2837 # nothing to do
2839 else
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"
2854 cat > $TMPC << EOF
2855 #include <stdio.h>
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"
2864 cat > $TMPC << EOF
2865 #include <stddef.h>
2866 int main(void) { return 0; }
2868 _stddef=no
2869 cc_check && _stddef=yes
2870 if test "$_stddef" = yes ; then
2871 _def_stddef='#define HAVE_STDDEF_H 1'
2872 else
2873 _def_stddef='#undef HAVE_STDDEF_H'
2875 echores "$_stddef"
2878 echocheck "malloc.h"
2879 cat > $TMPC << EOF
2880 #include <malloc.h>
2881 int main(void) { (void) malloc(0); return 0; }
2883 _malloc=no
2884 cc_check && _malloc=yes
2885 if test "$_malloc" = yes ; then
2886 _def_malloc='#define HAVE_MALLOC_H 1'
2887 else
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'
2892 echores "$_malloc"
2895 echocheck "memalign()"
2896 # XXX restrict to x86 ? extend to other CPUs/cacheline sizes ?
2897 cat > $TMPC << EOF
2898 #include <malloc.h>
2899 int main (void) { (void) memalign(64, sizeof(char)); return 0; }
2901 _memalign=no
2902 cc_check && _memalign=yes
2903 if test "$_memalign" = yes ; then
2904 _def_memalign='#define HAVE_MEMALIGN 1'
2905 else
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"
2914 cat > $TMPC << EOF
2915 #include <alloca.h>
2916 int main(void) { (void) alloca(0); return 0; }
2918 _alloca=no
2919 cc_check && _alloca=yes
2920 if cc_check ; then
2921 _def_alloca='#define HAVE_ALLOCA_H 1'
2922 else
2923 _def_alloca='#undef HAVE_ALLOCA_H'
2925 echores "$_alloca"
2928 echocheck "mman.h"
2929 cat > $TMPC << EOF
2930 #include <sys/types.h>
2931 #include <sys/mman.h>
2932 int main(void) { (void) mmap(0, 0, 0, 0, 0, 0); return 0; }
2934 _mman=no
2935 cc_check && _mman=yes
2936 if test "$_mman" = yes ; then
2937 _def_mman='#define HAVE_SYS_MMAN_H 1'
2938 else
2939 _def_mman='#undef HAVE_SYS_MMAN_H'
2941 echores "$_mman"
2943 cat > $TMPC << EOF
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=''
2952 else
2953 _def_mman_has_map_failed='#define MAP_FAILED ((void *) -1)'
2956 echocheck "dynamic loader"
2957 cat > $TMPC << EOF
2958 #include <dlfcn.h>
2959 int main(void) { dlopen(0, 0); dlclose(0); dlsym(0, 0); return 0; }
2961 _dl=no
2962 for _ld_tmp in "" "-ldl" ; do
2963 cc_check $_ld_tmp && _ld_dl="$_ld_tmp" && _dl=yes && break
2964 done
2965 if test "$_dl" = yes ; then
2966 _def_dl='#define HAVE_LIBDL 1'
2967 else
2968 _def_dl='#undef HAVE_LIBDL'
2970 echores "$_dl"
2973 echocheck "dynamic a/v plugins support"
2974 if test "$_dl" = no ; then
2975 _dynamic_plugins=no
2977 if test "$_dynamic_plugins" = yes ; then
2978 _def_dynamic_plugins='#define DYNAMIC_PLUGINS 1'
2979 else
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)
2988 #cat > $TMPC << EOF
2989 #int main(void) { return 0; }
2990 #EOF
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
2996 # _ld_dl_dynamic=''
2998 #echores "using $_ld_dl_dynamic"
3000 _def_threads='#undef HAVE_THREADS'
3002 echocheck "pthread"
3003 if test "$_pthreads" = auto ; then
3004 cat > $TMPC << EOF
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; }
3009 _pthreads=no
3010 if not hpux ; then
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
3014 done
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'
3021 else
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
3026 _win32=no
3029 echores "$_pthreads"
3031 echocheck "rpath"
3032 netbsd &&_rpath=yes
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&/'`"
3036 done
3037 _ld_extra=$tmp
3039 echores "$_rpath"
3041 echocheck "iconv"
3042 if test "$_iconv" = auto ; then
3043 _iconv_tmp='#include <iconv.h>'
3045 cat > $TMPC << EOF
3046 #include <stdio.h>
3047 #include <unistd.h>
3048 $_iconv_tmp
3049 #define INBUFSIZE 1024
3050 #define OUTBUFSIZE 4096
3052 char inbuffer[INBUFSIZE];
3053 char outbuffer[OUTBUFSIZE];
3055 int main(void) {
3056 size_t numread;
3057 iconv_t icdsc;
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)
3067 != (size_t)(-1)) {
3068 write (1, outbuffer, OUTBUFSIZE - outleft);
3071 if (iconv_close(icdsc) == -1)
3076 _iconv=no
3077 for _ld_tmp in "" "-liconv" "-liconv $_ld_dl" ; do
3078 cc_check $_ld_lm $_ld_tmp && _ld_iconv="$_ld_tmp" && _iconv=yes && break
3079 done
3081 if test "$_iconv" = yes ; then
3082 _def_iconv='#define USE_ICONV 1'
3083 else
3084 _def_iconv='#undef USE_ICONV'
3086 echores "$_iconv"
3089 echocheck "sys/soundcard.h"
3090 cat > $TMPC << EOF
3091 #include <sys/soundcard.h>
3092 int main(void) { return 0; }
3094 _sys_soundcard=no
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>'
3099 else
3100 _def_sys_soundcard='#undef HAVE_SYS_SOUNDCARD_H'
3102 echores "$_sys_soundcard"
3104 if test "$_sys_soundcard" != yes ; then
3105 echocheck "soundcard.h"
3106 cat > $TMPC << EOF
3107 #include <soundcard.h>
3108 int main(void) { return 0; }
3110 _soundcard=no
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"
3115 else
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"
3119 _soundcard=no
3121 if test "$_soundcard" = yes ; then
3122 _def_soundcard='#define HAVE_SOUNDCARD_H 1'
3123 _include_soundcard='#include <soundcard.h>'
3124 else
3125 _def_soundcard='#undef HAVE_SOUNDCARD_H'
3127 else
3128 _def_soundcard='#undef HAVE_SOUNDCARD_H'
3132 echocheck "sys/dvdio.h"
3133 cat > $TMPC << EOF
3134 #include <unistd.h>
3135 #include <sys/dvdio.h>
3136 int main(void) { return 0; }
3138 _dvdio=no
3139 cc_check && _dvdio=yes
3140 if test "$_dvdio" = yes ; then
3141 _def_dvdio='#define DVD_STRUCT_IN_SYS_DVDIO_H 1'
3142 else
3143 _def_dvdio='#undef DVD_STRUCT_IN_SYS_DVDIO_H'
3145 echores "$_dvdio"
3148 echocheck "sys/cdio.h"
3149 cat > $TMPC << EOF
3150 #include <unistd.h>
3151 #include <sys/cdio.h>
3152 int main(void) { return 0; }
3154 _cdio=no
3155 cc_check && _cdio=yes
3156 if test "$_cdio" = yes ; then
3157 _def_cdio='#define DVD_STRUCT_IN_SYS_CDIO_H 1'
3158 else
3159 _def_cdio='#undef DVD_STRUCT_IN_SYS_CDIO_H'
3161 echores "$_cdio"
3164 echocheck "linux/cdrom.h"
3165 cat > $TMPC << EOF
3166 #include <sys/types.h>
3167 #include <linux/cdrom.h>
3168 int main(void) { return 0; }
3170 _cdrom=no
3171 cc_check && _cdrom=yes
3172 if test "$_cdrom" = yes ; then
3173 _def_cdrom='#define DVD_STRUCT_IN_LINUX_CDROM_H 1'
3174 else
3175 _def_cdrom='#undef DVD_STRUCT_IN_LINUX_CDROM_H'
3177 echores "$_cdrom"
3180 echocheck "dvd.h"
3181 cat > $TMPC << EOF
3182 #include <dvd.h>
3183 int main(void) { return 0; }
3185 _dvd=no
3186 cc_check && _dvd=yes
3187 if test "$_dvd" = yes ; then
3188 _def_dvd='#define DVD_STRUCT_IN_DVD_H 1'
3189 else
3190 _def_dvd='#undef DVD_STRUCT_IN_DVD_H'
3192 echores "$_dvd"
3195 if bsdos; then
3196 echocheck "BSDI dvd.h"
3197 cat > $TMPC << EOF
3198 #include <dvd.h>
3199 int main(void) { return 0; }
3201 _bsdi_dvd=no
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'
3205 else
3206 _def_bsdi_dvd='#undef DVD_STRUCT_IN_BSDI_DVDIOCTL_DVD_H'
3208 echores "$_bsdi_dvd"
3209 fi #if bsdos
3212 if hpux; then
3213 # also used by AIX, but AIX does not support VCD and/or libdvdread
3214 echocheck "HP-UX SCSI header"
3215 cat > $TMPC << EOF
3216 #include <sys/scsi.h>
3217 int main(void) { return 0; }
3219 _hpux_scsi_h=no
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'
3223 else
3224 _def_hpux_scsi_h='#undef HPUX_SCTL_IO'
3226 echores "$_hpux_scsi_h"
3227 fi #if hpux
3230 if sunos; then
3231 echocheck "userspace SCSI headers (Solaris)"
3232 cat > $TMPC << EOF
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; }
3239 _sol_scsi_h=no
3240 cc_check && _sol_scsi_h=yes
3241 if test "$_sol_scsi_h" = yes ; then
3242 _def_sol_scsi_h='#define SOLARIS_USCSI 1'
3243 else
3244 _def_sol_scsi_h='#undef SOLARIS_USCSI'
3246 echores "$_sol_scsi_h"
3247 fi #if sunos
3250 echocheck "termcap"
3251 if test "$_termcap" = auto ; then
3252 cat > $TMPC <<EOF
3253 int main(void) { tgetent(); return 0; }
3255 _termcap=no
3256 for _ld_tmp in "-lncurses" "-ltinfo" "-ltermcap"; do
3257 cc_check $_ld_tmp && _ld_termcap="$_ld_tmp" && _termcap=yes && break
3258 done
3260 if test "$_termcap" = yes ; then
3261 _def_termcap='#define USE_TERMCAP 1'
3262 _res_comment="using $_ld_termcap"
3263 else
3264 _def_termcap='#undef USE_TERMCAP'
3266 echores "$_termcap"
3269 echocheck "termios"
3270 if test "$_termios" = auto ; then
3271 cat > $TMPC <<EOF
3272 #include <sys/termios.h>
3273 int main(void) { return 0; }
3275 _termios=auto
3276 cc_check && _termios=yes
3277 _def_termios_h_name='sys/termios.h'
3279 # second test:
3280 if test "$_termios" = auto ; then
3281 cat > $TMPC <<EOF
3282 #include <termios.h>
3283 int main(void) { return 0; }
3285 _termios=no
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"
3301 else
3302 _def_termios='#undef HAVE_TERMIOS'
3303 _def_termios_h_name=''
3304 _termios=no
3306 echores "$_termios"
3309 echocheck "shm"
3310 if test "$_shm" = auto ; then
3311 cat > $TMPC << EOF
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; }
3316 _shm=no
3317 cc_check && _shm=yes
3319 if test "$_shm" = yes ; then
3320 _def_shm='#define HAVE_SHM 1'
3321 else
3322 _def_shm='#undef HAVE_SHM'
3324 echores "$_shm"
3327 # XXX: FIXME, add runtime checking
3328 echocheck "linux devfs"
3329 echores "$_linux_devfs"
3332 echocheck "scandir()"
3333 cat > $TMPC << EOF
3334 int main (void) { scandir("", 0, 0, 0); alphasort(0, 0); return 0; }
3336 _scandir=no
3337 cc_check && _scandir=yes
3338 if test "$_scandir" = yes ; then
3339 _def_scandir='#define HAVE_SCANDIR 1'
3340 else
3341 _def_scandir='#undef HAVE_SCANDIR'
3343 echores "$_scandir"
3346 echocheck "strsep()"
3347 cat > $TMPC << EOF
3348 #include <string.h>
3349 int main (void) { char *s = "Hello, world!"; (void) strsep(&s, ","); return 0; }
3351 _strsep=no
3352 cc_check && _strsep=yes
3353 if test "$_strsep" = yes ; then
3354 _def_strsep='#define HAVE_STRSEP 1'
3355 else
3356 _def_strsep='#undef HAVE_STRSEP'
3358 echores "$_strsep"
3360 echocheck "strlcpy()"
3361 cat > $TMPC << EOF
3362 #include <string.h>
3363 int main (void) { char *s = "Hello, world!", t[20]; (void) strlcpy(t, s, sizeof( t )); return 0; }
3365 _strlcpy=no
3366 cc_check && _strlcpy=yes
3367 if test "$_strlcpy" = yes ; then
3368 _def_strlcpy='#define HAVE_STRLCPY 1'
3369 else
3370 _def_strlcpy='#undef HAVE_STRLCPY'
3372 echores "$_strlcpy"
3374 echocheck "strlcat()"
3375 cat > $TMPC << EOF
3376 #include <string.h>
3377 int main (void) { char *s = "Hello, world!", t[20]; (void) strlcat(t, s, sizeof( t )); return 0; }
3379 _strlcat=no
3380 cc_check && _strlcat=yes
3381 if test "$_strlcat" = yes ; then
3382 _def_strlcat='#define HAVE_STRLCAT 1'
3383 else
3384 _def_strlcat='#undef HAVE_STRLCAT'
3386 echores "$_strlcat"
3388 echocheck "fseeko()"
3389 cat > $TMPC << EOF
3390 #include <stdio.h>
3391 int main (void) { int i; i = fseeko(stdin, 0, 0); return 0; }
3393 _fseeko=no
3394 cc_check && _fseeko=yes
3395 if test "$_fseeko" = yes ; then
3396 _def_fseeko='#define HAVE_FSEEKO 1'
3397 else
3398 _def_fseeko='#undef HAVE_FSEEKO'
3400 echores "$_fseeko"
3402 echocheck "localtime_r()"
3403 cat > $TMPC << EOF
3404 #include <time.h>
3405 int main( void ) { localtime_r(NULL, NULL); }
3407 _localtime_r=no
3408 cc_check && _localtime_r=yes
3409 if test "$_localtime_r" = yes ; then
3410 _def_localtime_r='#define HAVE_LOCALTIME_R 1'
3411 else
3412 _def_localtime_r='#undef HAVE_LOCALTIME_R'
3414 echores "$_localtime_r"
3416 echocheck "vsscanf()"
3417 cat > $TMPC << EOF
3418 #include <stdarg.h>
3419 int main(void) { vsscanf(0, 0, 0); return 0; }
3421 _vsscanf=no
3422 cc_check && _vsscanf=yes
3423 if test "$_vsscanf" = yes ; then
3424 _def_vsscanf='#define HAVE_VSSCANF 1'
3425 else
3426 _def_vsscanf='#undef HAVE_VSSCANF'
3428 echores "$_vsscanf"
3431 echocheck "swab()"
3432 cat > $TMPC << EOF
3433 #include <unistd.h>
3434 int main(void) { swab(0, 0, 0); return 0; }
3436 _swab=no
3437 cc_check && _swab=yes
3438 if test "$_swab" = yes ; then
3439 _def_swab='#define HAVE_SWAB 1'
3440 else
3441 _def_swab='#undef HAVE_SWAB'
3443 echores "$_swab"
3445 echocheck "POSIX select()"
3446 cat > $TMPC << EOF
3447 #include <stdio.h>
3448 #include <stdlib.h>
3449 #include <sys/types.h>
3450 #include <string.h>
3451 #include <sys/time.h>
3452 #include <unistd.h>
3453 int main(void) {int nfds = 1; fd_set readfds; struct timeval timeout; select(nfds,&readfds,NULL,NULL,&timeout); return 0; }
3455 _posix_select=no
3456 cc_check && _posix_select=yes
3457 if test "$_posix_select" = no ; then
3458 _def_no_posix_select='#define HAVE_NO_POSIX_SELECT 1'
3459 else
3460 _def_no_posix_select='#undef HAVE_NO_POSIX_SELECT'
3462 echores "$_posix_select"
3465 echocheck "gettimeofday()"
3466 cat > $TMPC << EOF
3467 #include <stdio.h>
3468 #include <sys/time.h>
3469 int main(void) {struct timeval tv_start; gettimeofday(&tv_start, NULL); return 0; }
3471 _gettimeofday=no
3472 cc_check && _gettimeofday=yes
3473 if test "$_gettimeofday" = yes ; then
3474 _def_gettimeofday='#define HAVE_GETTIMEOFDAY 1'
3475 else
3476 _def_gettimeofday='#undef HAVE_GETTIMEOFDAY'
3478 echores "$_gettimeofday"
3481 echocheck "glob()"
3482 cat > $TMPC << EOF
3483 #include <stdio.h>
3484 #include <glob.h>
3485 int main(void) { glob_t gg; glob("filename",0,NULL,&gg); return 0; }
3487 _glob=no
3488 cc_check && _glob=yes
3489 if test "$_glob" = yes ; then
3490 _def_glob='#define HAVE_GLOB 1'
3491 else
3492 _def_glob='#undef HAVE_GLOB'
3494 echores "$_glob"
3497 echocheck "setenv()"
3498 cat > $TMPC << EOF
3499 #include <stdlib.h>
3500 int main (void){ setenv("","",0); return 0; }
3502 _setenv=no
3503 cc_check && _setenv=yes
3504 if test "$_setenv" = yes ; then
3505 _def_setenv='#define HAVE_SETENV 1'
3506 else
3507 _def_setenv='#undef HAVE_SETENV'
3509 echores "$_setenv"
3512 if sunos; then
3513 echocheck "sysi86()"
3514 cat > $TMPC << EOF
3515 #include <sys/sysi86.h>
3516 int main (void) { sysi86(0); return 0; }
3518 _sysi86=no
3519 cc_check && _sysi86=yes
3520 if test "$_sysi86" = yes ; then
3521 _def_sysi86='#define HAVE_SYSI86 1'
3522 else
3523 _def_sysi86='#undef HAVE_SYSI86'
3525 echores "$_sysi86"
3526 fi #if sunos
3529 echocheck "sys/sysinfo.h"
3530 cat > $TMPC << EOF
3531 #include <sys/sysinfo.h>
3532 int main(void) {
3533 struct sysinfo s_info;
3534 sysinfo(&s_info);
3535 return 0;
3538 _sys_sysinfo=no
3539 cc_check && _sys_sysinfo=yes
3540 if test "$_sys_sysinfo" = yes ; then
3541 _def_sys_sysinfo='#define HAVE_SYS_SYSINFO_H 1'
3542 else
3543 _def_sys_sysinfo='#undef HAVE_SYS_SYSINFO_H'
3545 echores "$_sys_sysinfo"
3548 if darwin; then
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
3554 _macosx=yes
3555 else
3556 _macosx=no
3557 _def_macosx='#undef MACOSX'
3558 _noaomodules="macosx $_noaomodules"
3559 _novomodules="quartz $_novomodules"
3562 if test "$_macosx" = yes ; then
3563 cat > $TMPC <<EOF
3564 #include <Carbon/Carbon.h>
3565 #include <QuickTime/QuickTime.h>
3566 #include <CoreAudio/CoreAudio.h>
3567 int main(void) {
3568 EnterMovies();
3569 ExitMovies();
3570 CFRunLoopRunInMode(kCFRunLoopDefaultMode, 0, false);
3573 if cc_check -framework Carbon -framework QuickTime -framework CoreAudio; then
3574 _macosx=yes
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"
3581 else
3582 _macosx=no
3583 _def_macosx='#undef MACOSX'
3584 _noaomodules="macosx $_noaomodules"
3585 _novomodules="quartz $_novomodules"
3587 cat > $TMPC <<EOF
3588 #include <Carbon/Carbon.h>
3589 #include <QuartzCore/CoreVideo.h>
3590 int main(void) {}
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
3598 else
3599 _novomodules="macosx $_novomodules"
3600 _def_macosx_corevideo='#undef MACOSX_COREVIDEO'
3601 _macosx_corevideo=no
3604 echores "$_macosx"
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
3613 else
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'
3625 else
3626 _def_macosx_bundle='#undef MACOSX_BUNDLE'
3627 _macosx_bundle=no
3629 echores "$_macosx_bundle"
3631 fi #if darwin
3634 echocheck "Samba support (libsmbclient)"
3635 if test "$_smbsupport" = yes; then
3636 _ld_smb="-lsmbclient"
3638 if test "$_smbsupport" = auto; then
3639 _smbsupport=no
3640 cat > $TMPC << EOF
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
3646 done
3649 if test "$_smbsupport" = yes; then
3650 _def_smbsupport="#define LIBSMBCLIENT"
3651 _inputmodules="smb $_inputmodules"
3652 else
3653 _def_smbsupport="#undef LIBSMBCLIENT"
3654 _noinputmodules="smb $_noinputmodules"
3656 echores "$_smbsupport"
3659 #########
3660 # VIDEO #
3661 #########
3664 echocheck "3dfx"
3665 if test "$_3dfx" = yes ; then
3666 _def_3dfx='#define HAVE_3DFX 1'
3667 _vosrc="$_vosrc vo_3dfx.c"
3668 _vomodules="3dfx $_vomodules"
3669 else
3670 _def_3dfx='#undef HAVE_3DFX'
3671 _novomodules="3dfx $_novomodules"
3673 echores "$_3dfx"
3676 echocheck "tdfxfb"
3677 if test "$_tdfxfb" = yes ; then
3678 _def_tdfxfb='#define HAVE_TDFXFB 1'
3679 _vosrc="$_vosrc vo_tdfxfb.c"
3680 _vomodules="tdfxfb $_vomodules"
3681 else
3682 _def_tdfxfb='#undef HAVE_TDFXFB'
3683 _novomodules="tdfxfb $_novomodules"
3685 echores "$_tdfxfb"
3687 echocheck "s3fb"
3688 if test "$_s3fb" = yes ; then
3689 _def_s3fb='#define HAVE_S3FB 1'
3690 _vosrc="$_vosrc vo_s3fb.c"
3691 _vomodules="s3fb $_vomodules"
3692 else
3693 _def_s3fb='#undef HAVE_S3FB'
3694 _novomodules="s3fb $_novomodules"
3696 echores "$_s3fb"
3698 echocheck "tdfxvid"
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"
3703 else
3704 _def_tdfxvid='#undef HAVE_TDFX_VID'
3705 _novomodules="tdfx_vid $_novomodules"
3707 echores "$_tdfxfb"
3709 echocheck "tga"
3710 if test "$_tga" = yes ; then
3711 _def_tga='#define HAVE_TGA 1'
3712 _vosrc="$_vosrc vo_tga.c"
3713 _vomodules="tga $_vomodules"
3714 else
3715 _def_tga='#undef HAVE_TGA'
3716 _novomodules="tga $_novomodules"
3718 echores "$_tga"
3721 echocheck "DirectFB"
3722 if test "$_directfb" = auto ; then
3723 _directfb=no
3724 cat > $TMPC <<EOF
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
3732 done
3735 dfb_version() {
3736 expr $1 \* 65536 + $2 \* 256 + $3
3739 if test "$_directfb" = yes; then
3740 cat > $TMPC << EOF
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"
3755 else
3756 _def_directfb_version='#undef DIRECTFBVERSION'
3757 _directfb=no
3758 _res_comment="version >=0.9.13 required"
3760 else
3761 _directfb=no
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'
3773 else
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'
3781 else
3782 _novomodules="dfbmga $_novomodules"
3783 _def_dfbmga='#undef HAVE_DFBMGA'
3785 else
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/X11R6/include /usr/include/X11R6 /usr/include /usr/openwin/include ; do
3793 if test -f "$I/X11/Xlib.h" ; then
3794 _inc_x11="-I$I"
3795 _x11_headers="yes"
3796 _res_comment="using $I"
3797 break
3799 done
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
3803 _x11=no
3804 _x11_headers="no"
3805 _res_comment="check if the dev(el) packages are installed"
3807 echores "$_x11_headers"
3810 echocheck "X11"
3811 if test "$_x11" != no ; then
3812 cat > $TMPC <<EOF
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/X11R6/lib -L/usr/lib/X11R6 -L/usr/X11/lib \
3818 -L/usr/lib32 -L/usr/openwin/lib -L/usr/X11R6/lib64 -L/usr/lib ; do
3819 _ld_x11="$I -lXext -lX11 $_ld_sock $_ld_pthread"
3820 if netbsd; then
3821 _ld_x11="$_ld_x11 -Wl,-R`echo $I | sed s/^-L//`"
3823 cc_check $_ld_x11 && _x11=yes && break
3824 done
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"
3830 else
3831 _x11=no
3832 _def_x11='#undef HAVE_X11'
3833 _ld_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
3839 echores "$_x11"
3842 echocheck "DPMS"
3843 _xdpms3=no
3844 _xdpms4=no
3845 if test "$_x11" = yes ; then
3846 cat > $TMPC <<EOF
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>
3852 int main(void) {
3853 (void) DPMSQueryExtension(0, 0, 0);
3856 cc_check -lXdpms $_ld_x11 && _xdpms3=yes
3857 cat > $TMPC <<EOF
3858 #include <X11/Xlib.h>
3859 #include <X11/extensions/dpms.h>
3860 int main(void) {
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"
3869 echores "yes"
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"
3874 echores "yes"
3875 else
3876 _def_xdpms='#undef HAVE_XDPMS'
3877 echores "no"
3881 echocheck "Xv"
3882 if test "$_xv" = auto ; then
3883 cat > $TMPC <<EOF
3884 #include <X11/Xlib.h>
3885 #include <X11/extensions/Xvlib.h>
3886 int main(void) {
3887 (void) XvGetPortAttribute(0, 0, 0, 0);
3888 (void) XvQueryPortAttributes(0, 0, 0);
3889 return 0; }
3891 _xv=no
3892 cc_check -lXv $_ld_x11 && _xv=yes
3895 if test "$_xv" = yes ; then
3896 _def_xv='#define HAVE_XV 1'
3897 _ld_xv='-lXv'
3898 _vosrc="$_vosrc vo_xv.c"
3899 _vomodules="xv $_vomodules"
3900 else
3901 _def_xv='#undef HAVE_XV'
3902 _novomodules="xv $_novomodules"
3904 echores "$_xv"
3907 echocheck "XvMC"
3908 if test "$_xv" = yes && test "$_xvmc" != no ; then
3909 _xvmc=no
3910 cat > $TMPC <<EOF
3911 #include <X11/Xlib.h>
3912 #include <X11/extensions/Xvlib.h>
3913 #include <X11/extensions/XvMClib.h>
3914 int main(void) {
3915 (void) XvMCQueryExtension(0,0,0);
3916 (void) XvMCCreateContext(0,0,0,0,0,0,0);
3917 return 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
3921 done
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"
3929 else
3930 _def_xvmc='#undef HAVE_XVMC'
3931 _novomodules="xvmc $_novomodules"
3933 echores "$_xvmc"
3936 echocheck "Xinerama"
3937 if test "$_xinerama" = auto ; then
3938 cat > $TMPC <<EOF
3939 #include <X11/Xlib.h>
3940 #include <X11/extensions/Xinerama.h>
3941 int main(void) { (void) XineramaIsActive(0); return 0; }
3943 _xinerama=no
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'
3950 else
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'.
3961 echocheck "Xxf86vm"
3962 if test "$_vm" = auto ; then
3963 cat > $TMPC <<EOF
3964 #include <X11/Xlib.h>
3965 #include <X11/extensions/xf86vmode.h>
3966 int main(void) { (void) XF86VidModeQueryExtension(0, 0, 0); return 0; }
3968 _vm=no
3969 cc_check -lXxf86vm $_ld_x11 && _vm=yes
3971 if test "$_vm" = yes ; then
3972 _def_vm='#define HAVE_XF86VM 1'
3973 _ld_vm='-lXxf86vm'
3974 else
3975 _def_vm='#undef HAVE_XF86VM'
3977 echores "$_vm"
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
3985 _xf86keysym=no
3986 cat > $TMPC <<EOF
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'
3995 else
3996 _def_xf86keysym='#undef HAVE_XF86XK'
3998 echores "$_xf86keysym"
4000 echocheck "DGA"
4001 # Version 2 is preferred to version 1 if available
4002 if test "$_dga" = auto ; then
4003 cat > $TMPC << EOF
4004 #include <X11/Xlib.h>
4005 #include <X11/extensions/xf86dga.h>
4006 int main (void) { (void) XF86DGASetViewPort(0, 0, 0, 0); return 0; }
4008 _dga=no
4009 cc_check -lXxf86dga -lXxf86vm $_ld_x11 && _dga=1
4011 cat > $TMPC << EOF
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"
4036 else
4037 die "DGA version must be 1 or 2"
4039 echores "$_dga"
4042 echocheck "OpenGL"
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
4045 cat > $TMPC << EOF
4046 #include <GL/gl.h>
4047 int main(void) { return 0; }
4049 _gl=no
4050 if cc_check $_ld_x11 -lGL $_ld_lm ; then
4051 _gl=yes
4052 _ld_gl="-lGL $_ld_dl"
4053 elif cc_check $_ld_x11 -lGL $_ld_lm $_ld_pthread ; then
4054 _gl=yes
4055 _ld_gl="-lGL $_ld_pthread $_ld_dl"
4056 elif cc_check -lopengl32 ; then
4057 _gl=yes
4058 _gl_win32=yes
4059 _ld_gl="-lopengl32 -lgdi32"
4061 else
4062 _gl=no
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"
4073 else
4074 _def_gl='#undef HAVE_GL'
4075 _def_gl_win32='#undef GL_WIN32'
4076 _novomodules="opengl $_novomodules"
4078 echores "$_gl"
4081 echocheck "/dev/mga_vid"
4082 if test "$_mga" = auto ; then
4083 _mga=no
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"
4090 else
4091 _def_mga='#undef HAVE_MGA'
4092 _novomodules="mga $_novomodules"
4094 echores "$_mga"
4097 # echocheck "syncfb"
4098 # _syncfb=no
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"
4103 # else
4104 # _def_syncfb='#undef HAVE_SYNCFB'
4105 # fi
4106 # echores "$_syncfb"
4109 echocheck "xmga"
4110 if test "$_xmga" = auto ; then
4111 _xmga=no
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"
4118 else
4119 _def_xmga='#undef HAVE_XMGA'
4120 _novomodules="xmga $_novomodules"
4122 echores "$_xmga"
4125 echocheck "GGI"
4126 if test "$_ggi" = auto ; then
4127 cat > $TMPC << EOF
4128 #include <ggi/ggi.h>
4129 int main(void) { return 0; }
4131 _ggi=no
4132 cc_check -lggi && _ggi=yes
4134 if test "$_ggi" = yes ; then
4135 _def_ggi='#define HAVE_GGI 1'
4136 _ld_ggi='-lggi'
4137 _vosrc="$_vosrc vo_ggi.c"
4138 _vomodules="ggi $_vomodules"
4139 else
4140 _def_ggi='#undef HAVE_GGI'
4141 _novomodules="ggi $_novomodules"
4143 echores "$_ggi"
4145 echocheck "GGI extension: libggiwmh"
4146 if test "$_ggiwmh" = auto ; then
4147 _ggiwmh=no
4148 cat > $TMPC << EOF
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"
4160 else
4161 _ggiwmh=no
4162 _def_ggiwmh='#undef HAVE_GGIWMH'
4164 echores "$_ggiwmh"
4167 echocheck "AA"
4168 if test "$_aa" = auto ; then
4169 cat > $TMPC << EOF
4170 #include <aalib.h>
4171 extern struct aa_hardware_params aa_defparams;
4172 extern struct aa_renderparams aa_defrenderparams;
4173 int main(void) {
4174 aa_context *c;
4175 aa_renderparams *p;
4176 (void) aa_init(0, 0, 0);
4177 c = aa_autoinit(&aa_defparams);
4178 p = aa_getrenderparams();
4179 aa_autoinitkbd(c,0);
4180 return 0; }
4182 _aa=no
4183 for _ld_tmp in "-laa" "$_ld_x11 -laa" ; do
4184 cc_check $_ld_tmp && _ld_aa=$_ld_tmp && _aa=yes && break
4185 done
4187 if test "$_aa" = yes ; then
4188 _def_aa='#define HAVE_AA 1'
4189 if cygwin ; then
4190 _ld_aa=`aalib-config --libs | cut -d " " -f 2,5,6`
4192 _vosrc="$_vosrc vo_aa.c"
4193 _vomodules="aa $_vomodules"
4194 else
4195 _def_aa='#undef HAVE_AA'
4196 _novomodules="aa $_novomodules"
4198 echores "$_aa"
4201 echocheck "CACA"
4202 if test "$_caca" = auto ; then
4203 _caca=no
4204 if ( caca-config --version ) >> "$TMPLOG" 2>&1 ; then
4205 cat > $TMPC << EOF
4206 #include <caca.h>
4207 #ifdef CACA_API_VERSION_1
4208 #include <caca0.h>
4209 #endif
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"
4221 else
4222 _def_caca='#undef HAVE_CACA'
4223 _novomodules="caca $_novomodules"
4225 echores "$_caca"
4228 echocheck "SVGAlib"
4229 if test "$_svga" = auto ; then
4230 cat > $TMPC << EOF
4231 #include <vga.h>
4232 int main(void) { return 0; }
4234 _svga=no
4235 cc_check -lvga $_ld_lm && _svga=yes
4237 if test "$_svga" = yes ; then
4238 _def_svga='#define HAVE_SVGALIB 1'
4239 _ld_svga="-lvga"
4240 _vosrc="$_vosrc vo_svga.c"
4241 _vomodules="svga $_vomodules"
4242 else
4243 _def_svga='#undef HAVE_SVGALIB'
4244 _novomodules="svga $_novomodules"
4246 echores "$_svga"
4249 echocheck "FBDev"
4250 if test "$_fbdev" = auto ; then
4251 _fbdev=no
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"
4258 else
4259 _def_fbdev='#undef HAVE_FBDEV'
4260 _novomodules="fbdev $_novomodules"
4262 echores "$_fbdev"
4266 echocheck "DVB"
4267 if test "$_dvb" = auto ; then
4268 _dvb=no
4269 cat >$TMPC << EOF
4270 #include <sys/poll.h>
4271 #include <sys/ioctl.h>
4272 #include <stdio.h>
4273 #include <time.h>
4274 #include <unistd.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
4286 done
4288 echores "$_dvb"
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
4298 _dvbhead=no
4300 cat >$TMPC << EOF
4301 #include <sys/poll.h>
4302 #include <sys/ioctl.h>
4303 #include <stdio.h>
4304 #include <time.h>
4305 #include <unistd.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
4316 done
4318 echores "$_dvbhead"
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
4334 _dvbin=yes
4335 _inputmodules="dvb $_inputmodules"
4336 else
4337 _dvbin=no
4338 _noinputmodules="dvb $_noinputmodules"
4341 echocheck "PNG support"
4342 if test "$_png" = auto ; then
4343 _png=no
4344 if irix ; 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)"
4348 else
4349 cat > $TMPC << EOF
4350 #include <png.h>
4351 #include <string.h>
4352 int main(void) {
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
4359 if tmp_run ; then
4360 _png=yes
4361 else
4362 _res_comment="mismatch of library and header versions"
4367 echores "$_png"
4368 if test "$_png" = yes ; then
4369 _def_png='#define HAVE_PNG 1'
4370 _ld_png='-lpng -lz'
4371 _vosrc="$_vosrc vo_png.c"
4372 _vomodules="png $_vomodules"
4373 else
4374 _def_png='#undef HAVE_PNG'
4375 _novomodules="png $_novomodules"
4378 echocheck "JPEG support"
4379 if test "$_jpeg" = auto ; then
4380 _jpeg=no
4381 cat > $TMPC << EOF
4382 #include <stdio.h>
4383 #include <stdlib.h>
4384 #include <setjmp.h>
4385 #include <string.h>
4386 #include <jpeglib.h>
4387 int main(void) {
4388 return 0;
4391 if cc_check -ljpeg $_ld_lm ; then
4392 if tmp_run ; then
4393 _jpeg=yes
4397 echores "$_jpeg"
4399 if test "$_jpeg" = yes ; then
4400 _def_jpeg='#define HAVE_JPEG 1'
4401 _vosrc="$_vosrc vo_jpeg.c"
4402 _vomodules="jpeg $_vomodules"
4403 _ld_jpeg="-ljpeg"
4404 else
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"
4416 else
4417 _def_pnm="#undef HAVE_PNM"
4418 _novomodules="pnm $_novomodules"
4420 echores "$_pnm"
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
4429 _force_gif=yes
4430 _gif=auto
4433 if test "$_gif" = auto ; then
4434 _gif=no
4435 cat > $TMPC << EOF
4436 #include <gif_lib.h>
4437 int main(void) {
4438 return 0;
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
4443 done
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. ] )
4453 # </rant>
4454 # --Joey
4455 if test "$_force_gif" = yes && test "$_gif" = no ; then
4456 _gif=yes
4457 _ld_gif="-lgif"
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'
4468 cat > $TMPC << EOF
4469 #include <signal.h>
4470 #include <gif_lib.h>
4471 void catch() { exit(1); }
4472 int main(void) {
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.
4476 return 0;
4479 if cc_check "$_ld_gif" && tmp_run ; then
4480 _def_gif_4='#define HAVE_GIF_4 1'
4481 _res_comment=""
4483 else
4484 _def_gif='#undef HAVE_GIF'
4485 _def_gif_4='#undef HAVE_GIF_4'
4486 _novomodules="gif89a $_novomodules"
4487 _nocodecmodules="gif $_nocodecmodules"
4489 echores "$_gif"
4492 case "$_gif" in yes*)
4493 echocheck "broken giflib workaround"
4494 _def_gif_tvt_hack='#define HAVE_GIF_TVT_HACK 1'
4496 cat > $TMPC << EOF
4497 #include <gif_lib.h>
4498 int main(void) {
4499 GifFileType gif;
4500 printf("UserData is at address %p\n", gif.UserData);
4501 return 0;
4504 if cc_check "$_ld_gif" && tmp_run ; then
4505 _def_gif_tvt_hack='#undef HAVE_GIF_TVT_HACK'
4506 echores "disabled"
4507 else
4508 echores "enabled"
4511 esac
4514 echocheck "VESA support"
4515 if test "$_vesa" = auto ; then
4516 cat > $TMPC << EOF
4517 #include <vbe.h>
4518 int main(void) { vbeVersion(); return 0; }
4520 _vesa=no
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"
4528 else
4529 _def_vesa='#undef HAVE_VESA'
4530 _novomodules="vesa $_novomodules"
4532 echores "$_vesa"
4534 #################
4535 # VIDEO + AUDIO #
4536 #################
4539 echocheck "SDL"
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"
4545 else
4546 _sdlconfig=false
4549 if test "$_sdl" = auto || test "$_sdl" = yes ; then
4550 cat > $TMPC << EOF
4551 #include <SDL.h>
4552 int main(int argc, char *argv[]) { return 0; }
4554 _sdl=no
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'
4561 else
4562 _def_sdlbuggy='#undef BUGGY_SDL'
4564 _sdl=yes
4565 else
4566 _res_comment="outdated"
4571 if test "$_sdl" = yes ; then
4572 _def_sdl='#define HAVE_SDL 1'
4573 if cygwin ; then
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/`"
4576 elif mingw32 ; then
4577 _ld_sdl=`$_sdlconfig --libs | sed s/-mwindows//`
4578 _inc_extra="$_inc_extra `$_sdlconfig --cflags | sed s/-Dmain=SDL_main//`"
4579 else
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"
4588 else
4589 _def_sdl='#undef HAVE_SDL'
4590 _novomodules="sdl $_novomodules"
4591 _noaomodules="sdl $_noaomodules"
4593 echores "$_sdl"
4596 if win32; then
4598 echocheck "Windows waveout"
4599 if test "$_win32waveout" = auto ; then
4600 cat > $TMPC << EOF
4601 #include <windows.h>
4602 #include <mmsystem.h>
4603 int main(void) { return 0; }
4605 _win32waveout=no
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"
4613 else
4614 _def_win32waveout='#undef HAVE_WIN32WAVEOUT'
4615 _noaomodules="win32 $_noaomodules"
4617 echores "$_win32waveout"
4619 echocheck "Directx"
4620 if test "$_directx" = auto ; then
4621 cat > $TMPC << EOF
4622 #include <windows.h>
4623 #include <ddraw.h>
4624 #include <dsound.h>
4625 int main(void) { return 0; }
4627 _directx=no
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"
4637 else
4638 _def_directx='#undef HAVE_DIRECTX'
4639 _novomodules="directx $_novomodules"
4640 _noaomodules="dsound $_noaomodules"
4642 echores "$_directx"
4644 fi #if win32; then
4647 echocheck "NAS"
4648 if test "$_nas" = auto ; then
4649 cat > $TMPC << EOF
4650 #include <audio/audiolib.h>
4651 int main(void) { return 0; }
4653 _nas=no
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"
4661 else
4662 _noaomodules="nas $_noaomodules"
4663 _def_nas='#undef HAVE_NAS'
4665 echores "$_nas"
4667 echocheck "DXR2"
4668 if test "$_dxr2" = auto; then
4669 _dxr2=no
4670 cat > $TMPC << EOF
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
4677 done
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"
4685 else
4686 _def_dxr2='#undef HAVE_DXR2'
4687 _noaomodules="dxr2 $_noaomodules"
4688 _novomodules="dxr2 $_novomodules"
4690 echores "$_dxr2"
4692 echocheck "DXR3/H+"
4693 if test "$_dxr3" = auto ; then
4694 cat > $TMPC << EOF
4695 #include <linux/em8300.h>
4696 int main(void) { return 0; }
4698 _dxr3=no
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"
4705 else
4706 _def_dxr3='#undef HAVE_DXR3'
4707 _novomodules="dxr3 $_novomodules"
4709 echores "$_dxr3"
4712 echocheck "IVTV TV-Out"
4713 if test "$_ivtv" = auto ; then
4714 cat > $TMPC << EOF
4715 #include <stdlib.h>
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; }
4722 _ivtv=no
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"
4731 else
4732 _def_ivtv='#undef HAVE_IVTV'
4733 _novomodules="ivtv $_novomodules"
4734 _noaomodules="ivtv $_noaomodules"
4736 echores "$_ivtv"
4739 echocheck "libfame"
4740 if test "$_libfame" = auto ; then
4741 _libfame=no
4742 test "$_dxr2" = yes && _libfame=auto
4743 test "$_dxr3" = yes && _libfame=auto
4744 test "$_dvb" = yes && _libfame=auto
4746 if test "$_libfame" = auto ; then
4747 _libfame=no
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
4751 else
4752 _res_comment="no libfame dir"
4755 echores "$_libfame"
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'
4764 #########
4765 # AUDIO #
4766 #########
4769 echocheck "OSS Audio"
4770 if test "$_ossaudio" = auto ; then
4771 cat > $TMPC << EOF
4772 #include <sys/ioctl.h>
4773 $_include_soundcard
4774 int main(void) { int arg = SNDCTL_DSP_SETFRAGMENT; return 0; }
4776 _ossaudio=no
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"'
4786 else
4787 cat > $TMPC << EOF
4788 #include <sys/ioctl.h>
4789 $_include_soundcard
4790 #ifdef OPEN_SOUND_SYSTEM
4791 int main(void) { return 0; }
4792 #else
4793 #error Not the real thing
4794 #endif
4796 _real_ossaudio=no
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"
4803 else
4804 _def_ossaudio_devdsp='#define PATH_DEV_DSP "/dev/dsp"'
4806 _def_ossaudio_devmixer='#define PATH_DEV_MIXER "/dev/mixer"'
4808 else
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"
4817 echocheck "aRts"
4818 if test "$_arts" = auto ; then
4819 _arts=no
4820 if ( artsc-config --version ) >> "$TMPLOG" 2>&1 ; then
4822 cat > $TMPC << EOF
4823 #include <artsc.h>
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`"
4837 else
4838 _noaomodules="arts $_noaomodules"
4840 echores "$_arts"
4843 echocheck "EsounD"
4844 if test "$_esd" = auto ; then
4845 _esd=no
4846 if ( esd-config --version ) >> "$TMPLOG" 2>&1 ; then
4848 cat > $TMPC << EOF
4849 #include <esd.h>
4850 int main(void) { return 0; }
4852 cc_check `esd-config --libs` `esd-config --cflags` && tmp_run && _esd=yes
4856 echores "$_esd"
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()"
4866 cat > $TMPC << EOF
4867 #include <esd.h>
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"
4872 else
4873 _def_esd='#undef USE_ESD'
4874 _def_esd_latency='#undef HAVE_ESD_LATENCY'
4875 _noaomodules="esd $_noaomodules"
4878 echocheck "Polyp"
4879 if test "$_polyp" = auto ; then
4880 _polyp=no
4881 if pkg-config --exists 'polyplib >= 0.6 polyplib-error >= 0.6 polyplib-mainloop >= 0.6' ; then
4883 cat > $TMPC << EOF
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
4893 echores "$_polyp"
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`"
4901 else
4902 _def_polyp='#undef USE_POLYP'
4903 _noaomodules="polyp $_noaomodules"
4907 echocheck "JACK"
4908 if test "$_jack" = auto ; then
4909 _jack=yes
4911 cat > $TMPC << EOF
4912 #include <jack/jack.h>
4913 int main(void) { jack_client_new("test"); return 0; }
4915 if cc_check -ljack ; then
4916 _ld_jack="-ljack"
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`""
4920 else
4921 _jack=no
4925 if test "$_jack" = yes ; then
4926 _def_jack='#define USE_JACK 1'
4927 _aosrc="$_aosrc ao_jack.c"
4928 _aomodules="jack $_aomodules"
4929 else
4930 _noaomodules="jack $_noaomodules"
4932 echores "$_jack"
4934 echocheck "OpenAL"
4935 if test "$_openal" = auto ; then
4936 _openal=no
4937 cat > $TMPC << EOF
4938 #include <AL/al.h>
4939 int main(void) {
4940 alSourceQueueBuffers(0, 0, 0);
4941 // alGetSourcei(0, AL_SAMPLE_OFFSET, 0);
4942 return 0;
4945 if cc_check -lopenal ; then
4946 _ld_openal="-lopenal"
4947 _openal=yes
4950 if test "$_openal" = yes ; then
4951 _def_openal='#define USE_OPENAL 1'
4952 _aosrc="$_aosrc ao_openal.c"
4953 _aomodules="openal $_aomodules"
4954 else
4955 _noaomodules="openal $_noaomodules"
4957 echores "$_openal"
4959 echocheck "ALSA audio"
4960 if test "$_alsa" != no ; then
4961 _alsa=no
4962 cat > $TMPC << EOF
4963 #include <sys/asoundlib.h>
4964 #if !((SND_LIB_MAJOR == 0) && (SND_LIB_MINOR == 5))
4965 #error "alsa version != 0.5.x"
4966 #endif
4967 int main(void) { return 0; }
4969 cc_check -lasound $_ld_dl $_ld_pthread && _alsaver='0.5.x'
4971 cat > $TMPC << EOF
4972 #include <sys/asoundlib.h>
4973 #if !((SND_LIB_MAJOR == 0) && (SND_LIB_MINOR == 9))
4974 #error "alsa version != 0.9.x"
4975 #endif
4976 int main(void) { return 0; }
4978 cc_check -lasound $_ld_dl $_ld_pthread && _alsaver='0.9.x-sys'
4979 cat > $TMPC << EOF
4980 #include <alsa/asoundlib.h>
4981 #if !((SND_LIB_MAJOR == 0) && (SND_LIB_MINOR == 9))
4982 #error "alsa version != 0.9.x"
4983 #endif
4984 int main(void) { return 0; }
4986 cc_check -lasound $_ld_dl $_ld_pthread && _alsaver='0.9.x-alsa'
4988 cat > $TMPC << EOF
4989 #include <sys/asoundlib.h>
4990 #if !((SND_LIB_MAJOR == 1) && (SND_LIB_MINOR == 0))
4991 #error "alsa version != 1.0.x"
4992 #endif
4993 int main(void) { return 0; }
4995 cc_check -lasound $_ld_dl $_ld_pthread && _alsaver='1.0.x-sys'
4996 cat > $TMPC << EOF
4997 #include <alsa/asoundlib.h>
4998 #if !((SND_LIB_MAJOR == 1) && (SND_LIB_MINOR == 0))
4999 #error "alsa version != 1.0.x"
5000 #endif
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
5011 _alsa=yes
5012 if test "$_alsaver" = '0.5.x' ; then
5013 _alsa5=yes
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
5020 _alsa9=yes
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
5027 _alsa9=yes
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
5034 _alsa1x=yes
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
5041 _alsa1x=yes
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"
5047 else
5048 _alsa=no
5049 _res_comment="unknown version"
5051 _ld_alsa="-lasound $_ld_dl $_ld_pthread"
5052 else
5053 _noaomodules="alsa $_noaomodules"
5055 echores "$_alsa"
5058 echocheck "Sun audio"
5059 if test "$_sunaudio" = auto ; then
5060 cat > $TMPC << EOF
5061 #include <sys/types.h>
5062 #include <sys/audioio.h>
5063 int main(void) { audio_info_t info; AUDIO_INITINFO(&info); return 0; }
5065 _sunaudio=no
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"
5072 else
5073 _def_sunaudio='#undef USE_SUN_AUDIO'
5074 _noaomodules="sun $_noaomodules"
5076 echores "$_sunaudio"
5079 if sunos; then
5080 echocheck "Sun mediaLib"
5081 if test "$_mlib" = auto ; then
5082 _mlib=no
5083 cat > $TMPC << EOF
5084 #include <mlib.h>
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"
5092 else
5093 _def_mlib='#undef HAVE_MLIB'
5095 echores "$_mlib"
5096 fi #if sunos
5099 if irix; then
5100 echocheck "SGI audio"
5101 if test "$_sgiaudio" = auto ; then
5102 # check for SGI audio
5103 cat > $TMPC << EOF
5104 #include <dmedia/audio.h>
5105 int main(void) { return 0; }
5107 _sgiaudio=no
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"
5115 else
5116 _def_sgiaudio='#undef USE_SGI_AUDIO'
5117 _noaomodules="sgi $_noaomodules"
5119 echores "$_sgiaudio"
5120 fi #if irix
5123 echocheck "VCD support"
5124 if linux || bsdos || freebsd || netbsd || sunos || darwin ; then
5125 _inputmodules="vcd $_inputmodules"
5126 _def_vcd='#define HAVE_VCD 1'
5127 _vcd="yes"
5128 else
5129 _def_vcd='#undef HAVE_VCD'
5130 _noinputmodules="vcd $_noinputmodules"
5131 _res_comment="not supported on this OS"
5132 _vcd="no"
5134 echores "$_vcd"
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
5141 cat > $TMPC <<EOF
5142 #include <dvdnav.h>
5143 int main(void) { dvdnav_t *dvd=0; return 0; }
5145 _dvdnav=no
5146 _dvdnavdir=`$_dvdnavconfig --cflags`
5147 _dvdnavlibs=`$_dvdnavconfig --libs`
5148 _dvdnavvsn=`$_dvdnavconfig --version | sed "s/\.//g"`
5149 _used_css=
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
5155 _largefiles=yes
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
5164 _mpdvdkit=no
5165 _dvdread=yes
5166 else
5167 _def_dvdnav='#undef USE_DVDNAV'
5168 _noinputmodules="dvdnav $_noinputmodules"
5170 echores "$_dvdnav"
5172 echocheck "DVD support (libmpdvdkit2)"
5173 if test "$_mpdvdkit" = auto ; then
5174 _mpdvdkit=no
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
5183 else
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'
5192 if openbsd ; then
5193 _dev_dvd_openbsd='#define HAVE_OPENBSD_DVD_STRUCT 1'
5195 else
5196 if freebsd ; then
5197 _def_dvd_bsd='#define HAVE_BSD_DVD_STRUCT 1'
5198 else
5199 if darwin ; then
5200 _def_dvd_darwin='#define DARWIN_DVD_IOCTL'
5204 else
5205 _noinputmodules="mpdvdkit2 $_noinputmodules"
5207 echores "$_mpdvdkit"
5209 echocheck "DVD support (libdvdread)"
5210 if test "$_dvdread" = auto ; then
5211 cat > $TMPC << EOF
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; }
5219 _dvdread=no
5220 if test "$_dl" = yes; then
5221 cc_check \
5222 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -ldvdread $_ld_dl && \
5223 _dvdread=yes
5226 _def_mpdvdkit="#undef USE_MPDVDKIT"
5227 case "$_dvdread" in
5228 yes)
5229 _largefiles=yes
5230 _def_dvdread='#define USE_DVDREAD 1'
5231 if test "$_dvdnav" != yes ; then
5232 _ld_dvdread='-ldvdread'
5234 _inputmodules="dvdread $_inputmodules"
5235 _have_dvd=yes
5238 _def_dvdread='#undef USE_DVDREAD'
5239 _noinputmodules="dvdread $_noinputmodules"
5241 libmpdvdkit2)
5242 _largefiles=yes
5243 _def_dvdread='#define USE_DVDREAD 1'
5244 _ld_dvdread='-Llibmpdvdkit2 -lmpdvdkit'
5245 _noinputmodules="dvdread $_noinputmodules"
5246 _def_mpdvdkit="#define USE_MPDVDKIT 2"
5247 _have_dvd=yes
5248 _dvdread=no
5249 _res_comment="disabled by libmpdvdkit2"
5251 esac
5252 echores "$_dvdread"
5254 if test "$_have_dvd" = yes ; then
5255 _def_have_dvd='#define HAVE_DVD 1'
5256 else
5257 _def_have_dvd='#undef HAVE_DVD'
5261 echocheck "cdparanoia"
5262 if test "$_cdparanoia" = auto ; then
5263 cat > $TMPC <<EOF
5264 #include <cdda_interface.h>
5265 #include <cdda_paranoia.h>
5266 // This need a better test. How ?
5267 int main(void) { return 1; }
5269 _cdparanoia=no
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
5273 done
5275 if test "$_cdparanoia" = yes ; then
5276 _cdda='yes'
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"
5281 else
5282 _def_cdparanoia='#undef HAVE_CDDA'
5283 _noinputmodules="cdda $_noinputmodules"
5285 echores "$_cdparanoia"
5288 echocheck "libcdio"
5289 if test "$_libcdio" = auto && test "$_cdparanoia" = no ; then
5290 if pkg-config --exists libcdio ; then
5291 cat > $TMPC << EOF
5292 #include <stdio.h>
5293 #include <cdio/version.h>
5294 #include <cdio/cdda.h>
5295 #include <cdio/paranoia.h>
5296 int main()
5298 printf("%s\n", CDIO_VERSION);
5299 return 0;
5303 _libcdio=no
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
5307 done
5308 else
5309 _libcdio=no
5312 if test "$_libcdio" = yes && test "$_cdparanoia" = no ; then
5313 _cdda='yes'
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`
5320 else
5321 if test "$_cdparanoia" = yes ; then
5322 _res_comment="using cdparanoia"
5324 _def_libcdio='#undef HAVE_LIBCDIO'
5325 _def_havelibcdio='no'
5327 echores "$_libcdio"
5330 echocheck "bitmap font support"
5331 if test "$_bitmap_font" = yes ; then
5332 _def_bitmap_font="#define HAVE_BITMAP_FONT 1"
5333 else
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
5343 _freetype=no
5344 _res_comment="iconv support needed"
5347 if test "$_freetype" = auto ; then
5348 if ( $_freetypeconfig --version ) >/dev/null 2>&1 ; then
5349 cat > $TMPC << EOF
5350 #include <stdio.h>
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"
5355 #endif
5356 int main()
5358 FT_Library library;
5359 FT_Int major=-1,minor=-1,patch=-1;
5360 int err=FT_Init_FreeType(&library);
5361 if(err){
5362 printf("Couldn't initialize freetype2 lib, err code: %d\n",err);
5363 exit(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");
5371 exit(1);
5373 return 0;
5376 _freetype=no
5377 cc_check `$_freetypeconfig --cflags` `$_freetypeconfig --libs` && tmp_run && _freetype=yes
5378 else
5379 _freetype=no
5382 if test "$_freetype" = yes ; then
5383 _def_freetype='#define HAVE_FREETYPE'
5384 _inc_extra="$_inc_extra `$_freetypeconfig --cflags`"
5385 _ld_freetype=`$_freetypeconfig --libs`
5386 else
5387 _def_freetype='#undef HAVE_FREETYPE'
5389 echores "$_freetype"
5391 if test "$_freetype" = no ; then
5392 _fontconfig=no
5393 _res_comment="freetype support needed"
5395 echocheck "fontconfig"
5396 if test "$_fontconfig" = auto ; then
5397 cat > $TMPC << EOF
5398 #include <stdio.h>
5399 #include <fontconfig/fontconfig.h>
5400 int main()
5402 int err = FcInit();
5403 if(err == FcFalse){
5404 printf("Couldn't initialize fontconfig lib\n");
5405 exit(err);
5407 return 0;
5411 _fontconfig=yes
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`
5417 else
5418 _fontconfig=no
5421 if test "$_fontconfig" = yes ; then
5422 _def_fontconfig='#define HAVE_FONTCONFIG'
5423 else
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
5432 _ass=no
5433 _res_comment="FreeType support needed"
5436 if test "$_ass" = auto ; then
5437 cat > $TMPC << EOF
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"
5442 #endif
5443 int main() { return 0; }
5445 _ass=no
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'
5453 else
5454 _def_ass='#undef USE_ASS'
5456 echores "$_ass"
5459 echocheck "fribidi with charsets"
5460 if test "$_fribidi" = auto ; then
5461 if ( $_fribidiconfig --version ) >/dev/null 2>&1 ; then
5462 cat > $TMPC << EOF
5463 #include <stdio.h>
5464 /* workaround for fribidi 0.10.4 and below */
5465 #define FRIBIDI_CHARSET_UTF8 FRIBIDI_CHAR_SET_UTF8
5466 #include <fribidi/fribidi.h>
5467 int main()
5469 if(fribidi_parse_charset("UTF-8") != FRIBIDI_CHAR_SET_UTF8) {
5470 printf("Fribidi headers are not consistents with the library!\n");
5471 exit(1);
5473 return 0;
5476 _fribidi=no
5477 cc_check `$_fribidiconfig --cflags` `$_fribidiconfig --libs` && tmp_run && _fribidi=yes
5478 else
5479 _fribidi=no
5482 if test "$_fribidi" = yes ; then
5483 _def_fribidi='#define USE_FRIBIDI'
5484 _inc_extra="$_inc_extra `$_fribidiconfig --cflags`"
5485 _ld_fribidi=`$_fribidiconfig --libs`
5486 else
5487 _def_fribidi='#undef USE_FRIBIDI'
5489 echores "$_fribidi"
5492 echocheck "ENCA"
5493 if test "$_enca" = auto ; then
5494 cat > $TMPC << EOF
5495 #include <enca.h>
5496 int main()
5498 const char **langs;
5499 size_t langcnt;
5500 langs = enca_get_languages(&langcnt);
5501 return 0;
5504 _enca=no
5505 cc_check -lenca $_ld_lm && _enca=yes
5507 if test "$_enca" = yes ; then
5508 _def_enca='#define HAVE_ENCA 1'
5509 _ld_enca='-lenca'
5510 else
5511 _def_enca='#undef HAVE_ENCA'
5513 echores "$_enca"
5516 echocheck "zlib"
5517 cat > $TMPC << EOF
5518 #include <zlib.h>
5519 int main(void) { (void) inflate(0, Z_NO_FLUSH); return 0; }
5521 _zlib=no
5522 cc_check -lz && _zlib=yes
5523 if test "$_zlib" = yes ; then
5524 _def_zlib='#define HAVE_ZLIB 1'
5525 _ld_zlib='-lz'
5526 else
5527 _def_zlib='#undef HAVE_ZLIB'
5529 echores "$_zlib"
5532 echocheck "RTC"
5533 if test "$_rtc" = auto ; then
5534 cat > $TMPC << EOF
5535 #include <sys/ioctl.h>
5536 #ifdef __linux__
5537 #include <linux/rtc.h>
5538 #else
5539 #include <rtc.h>
5540 #define RTC_PIE_ON RTCIO_PIE_ON
5541 #endif
5542 int main(void) { return RTC_PIE_ON; }
5544 _rtc=no
5545 cc_check && _rtc=yes
5546 ppc && _rtc=no
5548 if test "$_rtc" = yes ; then
5549 _def_rtc='#define HAVE_RTC 1'
5550 else
5551 _def_rtc='#undef HAVE_RTC'
5553 echores "$_rtc"
5556 echocheck "external liblzo support"
5557 if test "$_liblzo" = auto ; then
5558 _liblzo=no
5559 cat > $TMPC << EOF
5560 #include <lzo1x.h>
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'
5567 _ld_liblzo='-llzo'
5568 _codecmodules="liblzo $_codecmodules"
5569 else
5570 _def_liblzo='#undef USE_LIBLZO'
5571 _nocodecmodules="liblzo $_nocodecmodules"
5573 echores "$_liblzo"
5576 echocheck "mad support"
5577 if test "$_mad" = auto ; then
5578 _mad=no
5579 cat > $TMPC << EOF
5580 #include <mad.h>
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'
5587 _ld_mad='-lmad'
5588 _codecmodules="libmad $_codecmodules"
5589 else
5590 _def_mad='#undef USE_LIBMAD'
5591 _nocodecmodules="libmad $_nocodecmodules"
5593 echores "$_mad"
5595 echocheck "Toolame"
5596 if test "$_toolame" = auto ; then
5597 cat > $TMPC <<EOF
5598 #include <toolame.h>
5599 int main(void) { toolame_init(); return 0; }
5601 _toolame=no
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"
5608 else
5609 _def_toolame='#undef HAVE_TOOLAME'
5610 _nocodecmodules="toolame $_nocodecmodules"
5612 if test "$_toolamedir" ; then
5613 _res_comment="using $_toolamedir"
5615 echores "$_toolame"
5617 echocheck "Twolame"
5618 if test "$_twolame" = auto ; then
5619 cat > $TMPC <<EOF
5620 #include <twolame.h>
5621 int main(void) { twolame_init(); return 0; }
5623 _twolame=no
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"
5630 else
5631 _def_twolame='#undef HAVE_TWOLAME'
5632 _twolame_lib=""
5633 _nocodecmodules="twolame $_nocodecmodules"
5635 echores "$_twolame"
5637 echocheck "OggVorbis support"
5638 if test "$_tremor_internal" = yes; then
5639 _libvorbis=no
5640 elif test "$_tremor_external" = auto; then
5641 _tremor_external=no
5642 cat > $TMPC << EOF
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
5649 _libvorbis=no
5650 cat > $TMPC << EOF
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
5657 _vorbis=yes
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
5667 _vorbis=yes
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
5674 _vorbis=yes
5675 _def_vorbis='#define HAVE_OGGVORBIS 1'
5676 _codecmodules="libvorbis $_codecmodules"
5677 _res_comment="libvorbis"
5678 _ld_vorbis='-lvorbis -logg'
5679 else
5680 _vorbis=no
5681 _nocodecmodules="libvorbis $_nocodecmodules"
5683 echores "$_vorbis"
5685 echocheck "libspeex (version >= 1.1 required)"
5686 if test "$_speex" = auto ; then
5687 _speex=no
5688 cat > $TMPC << EOF
5689 #include <speex/speex.h>
5690 int main(void) {
5691 SpeexBits bits;
5692 void *dec;
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'
5700 _ld_speex='-lspeex'
5701 _codecmodules="speex $_codecmodules"
5702 else
5703 _def_speex='#undef HAVE_SPEEX'
5704 _nocodecmodules="speex $_nocodecmodules"
5706 echores "$_speex"
5708 echocheck "OggTheora support"
5709 if test "$_theora" = auto ; then
5710 _theora=no
5711 cat > $TMPC << EOF
5712 #include <theora/theora.h>
5713 #include <string.h>
5714 int main(void)
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
5718 * mplayer */
5719 ogg_packet op;
5720 theora_comment tc;
5721 theora_info inf;
5722 theora_state st;
5723 yuv_buffer yuv;
5724 int r;
5725 double t;
5727 theora_info_init (&inf);
5728 theora_comment_init (&tc);
5730 return 0;
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);
5740 theora_clear (&st);
5742 return 0;
5745 for _ld_theora in "`pkg-config --silence-errors --libs --cflags theora`" "-ltheora"; do
5746 cc_check $_ld_theora && _theora=yes && break
5747 done
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
5751 done
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"
5760 else
5761 _def_theora='#undef HAVE_OGGTHEORA'
5762 _nocodecmodules="libtheora $_nocodecmodules"
5763 _ld_theora=""
5765 echores "$_theora"
5767 echocheck "mp3lib support"
5768 if test "$_mp3lib" = yes ; then
5769 _def_mp3lib='#define USE_MP3LIB 1'
5770 _codecmodules="mp3lib $_codecmodules"
5771 else
5772 _def_mp3lib='#undef USE_MP3LIB'
5773 _nocodecmodules="mp3lib $_nocodecmodules"
5775 echores "$_mp3lib"
5777 echocheck "liba52 support"
5778 if test "$_liba52" = yes ; then
5779 _def_liba52='#define USE_LIBA52 1'
5780 _codecmodules="liba52 $_codecmodules"
5781 else
5782 _def_liba52='#undef USE_LIBA52'
5783 _nocodecmodules="liba52 $_nocodecmodules"
5785 echores "$_liba52"
5787 echocheck "libdts support"
5788 if test "$_libdts" = auto ; then
5789 _libdts=no
5790 cat > $TMPC << EOF
5791 #include <inttypes.h>
5792 #include <dts.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"
5801 else
5802 _def_libdts='#undef CONFIG_DTS'
5803 _nocodecmodules="libdts $_nocodecmodules"
5805 echores "$_libdts"
5807 echocheck "libmpeg2 support"
5808 if test "$_libmpeg2" = yes ; then
5809 _def_libmpeg2='#define USE_LIBMPEG2 1'
5810 _codecmodules="libmpeg2 $_codecmodules"
5811 else
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
5819 _musepack=no
5820 cat > $TMPC << EOF
5821 #include <mpcdec/mpcdec.h>
5822 int main(void) {
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"
5835 else
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
5844 cat > $TMPC <<EOF
5845 #include <inttypes.h>
5846 #include <faac.h>
5847 int main(void) { unsigned long x, y; faacEncOpen(48000, 2, &x, &y); return 0; }
5849 _faac=no
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
5852 done
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"
5858 else
5859 _def_faac="#undef HAVE_FAAC"
5860 _nocodecmodules="faac $_nocodecmodules"
5862 echores "$_faac"
5865 echocheck "FAAD2 (AAC) support"
5866 if test "$_faad_internal" = auto ; then
5867 if x86 && test cc_vendor=gnu; then
5868 case $cc_version in
5869 3.1*|3.2) # ICE/insn with these versions
5870 _faad_internal=no
5871 _res_comment="broken gcc"
5874 _faad_internal=yes
5876 esac
5877 else
5878 _faad_internal=yes
5880 elif test "$_faad_internal" = no && test "$_faad_external" = auto ; then
5881 _ld_faad='-lfaad'
5882 _faad_external=no
5883 cat > $TMPC << EOF
5884 #include <faad.h>
5885 #ifndef FAAD_MIN_STREAMSIZE
5886 #error Too old version
5887 #endif
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"
5895 _faad=yes
5896 _res_comment="internal floating-point"
5897 test "$_faad_fixed" = yes && _res_comment="internal fixed-point"
5898 elif test "$_faad_external" = yes ; then
5899 _faad=yes
5900 else
5901 _def_faad_internal="#undef USE_FAAD_INTERNAL"
5902 _faad=no
5905 if test "$_faad" = yes ; then
5906 _def_faad='#define HAVE_FAAD 1'
5907 _codecmodules="faad2 $_codecmodules"
5908 else
5909 _def_faad='#undef HAVE_FAAD'
5910 _nocodecmodules="faad2 $_nocodecmodules"
5911 _ld_faad=
5913 echores "$_faad"
5916 echocheck "LADSPA plugin support"
5917 if test "$_ladspa" = auto ; then
5918 cat > $TMPC <<EOF
5919 #include <stdio.h>
5920 #include <ladspa.h>
5921 int main(void) {
5922 const LADSPA_Descriptor *ld = NULL;
5923 return 0;
5926 _ladspa=no
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"
5933 else
5934 _def_ladspa="#undef HAVE_LADSPA"
5935 _noafmodules="ladspa $_noafmodules"
5937 echores "$_ladspa"
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
5947 _win32libdir="$I"
5948 break;
5950 done
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
5958 _win32=no
5959 test -n "$_win32libdir" && _win32=yes
5961 if test "$_win32" = yes ; then
5962 _def_win32='#define USE_WIN32DLL 1'
5963 _res_comment="using $_win32libdir"
5964 else
5965 _def_win32='#undef USE_WIN32DLL'
5966 _nocodecmodules="win32 $_nocodecmodules"
5968 echores "$_win32"
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"
5976 if openbsd ; then
5977 x86 && _ld_win32="$_ld_win32 -li386"
5979 if not win32 ; then
5980 _def_win32_loader='#define WIN32_LOADER 1'
5981 else
5982 _ld_win32libs="$_ld_win32libs -ladvapi32 -lole32"
5983 _res_comment="using native windows"
5985 echores "$_win32"
5988 fi #if x86 && not qnx
5992 echocheck "XAnim DLL"
5993 if test "$_xanim" = auto ; then
5994 _xanim=no
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
6001 _xanimlibdir="$I"
6002 break;
6004 done
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"
6014 else
6015 _def_xanim='#undef USE_XANIM'
6016 _def_xanim_path='#undef XACODEC_PATH'
6017 _nocodecmodules="xanim $_nocodecmodules"
6019 echores "$_xanim"
6021 echocheck "RealPlayer DLL"
6022 if test "$_real" = auto ; then
6023 _real=no
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 \
6035 "$_win32libdir"; do
6036 if test -d "$I" ; then
6037 _reallibdir="$I"
6038 break
6040 # Fall back on a subfolder of the current dir on Windows
6041 mingw32 && _reallibdir="codecs"
6042 done
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"
6053 else
6054 _def_real='#undef USE_REALCODECS'
6055 _def_real_path="#undef REALCODEC_PATH"
6056 _nocodecmodules="real $_nocodecmodules"
6058 echores "$_real"
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/>
6067 #endif
6068 int main(void) {}
6071 _live=no
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
6074 done
6075 if test "$_live" != yes ; then
6076 if cxx_check -I/usr/include/liveMedia -I/usr/include/UsageEnvironment -I/usr/include/groupsock; then
6077 _live_dist=yes
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 \
6088 -lstdc++"
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"
6096 _live="yes"
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"
6102 else
6103 _def_live='#undef STREAMING_LIVE555'
6104 _noinputmodules="live555 $_noinputmodules"
6106 echores "$_live"
6109 echocheck "FFmpeg libavutil (static)"
6110 if test "$_libavutil" = auto ; then
6111 if test -d libavutil ; then
6112 _libavutil=yes
6113 else
6114 _libavutil=no
6117 echores "$_libavutil"
6119 echocheck "FFmpeg libavcodec (static)"
6120 if test "$_libavcodec" = auto ; then
6121 # Note: static linking is preferred to dynamic linking
6122 _libavcodec=no
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
6128 cat > $TMPC << EOF
6129 #include "libavcodec/avcodec.h"
6130 #if LIBAVCODEC_BUILD >= 3211265
6131 #error We need libavutil!
6132 #endif
6133 int main(void) { return 0; }
6136 if cc_check -I. -I./libavutil; then
6137 _libavutil_required="no"
6138 else
6139 _libavutil_required="yes"
6141 _res_comment="libavutil availability does not fit libavcodec version"
6142 if test "$_libavutil_required" = "$_libavutil"; then
6143 _libavcodec="yes"
6144 _res_comment=""
6149 echores "$_libavcodec"
6151 echocheck "FFmpeg libavformat (static)"
6152 if test "$_libavformat" = auto ; then
6153 # Note: static linking is preferred to dynamic linking
6154 _libavformat=no
6155 if test -d libavformat && test -f libavformat/utils.c ; then
6156 _libavformat=yes
6159 echores "$_libavformat"
6161 echocheck "FFmpeg libpostproc (static)"
6162 if test "$_libpostproc" = auto ; then
6163 _libpostproc=no
6164 if test -d libpostproc && test -f libpostproc/postprocess.h ; then
6165 _libpostproc='yes'
6168 echores "$_libpostproc"
6171 if test "$_libavutil" != yes ; then
6172 echocheck "FFmpeg libavutil (dynamic)"
6173 if test "$_libavutil_so" = auto ; then
6174 _libavutil_so=no
6175 cat > $TMPC << EOF
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
6184 _libavutil_so=yes
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
6200 _libavcodec_so=no
6201 _res_comment="libavcodec.so is broken/obsolete"
6202 # FIXME : check for avcodec_find_encoder_by_name() for mencoder
6203 cat > $TMPC << EOF
6204 #include <ffmpeg/avcodec.h>
6205 int main(void) {
6206 avcodec_find_encoder_by_name("");
6207 return 0;
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
6215 _libavcodec_so=yes
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
6227 _libavformat_so=no
6228 cat > $TMPC <<EOF
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
6238 _libavformat_so=yes
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
6250 _libpostproc_so=no
6251 cat > $TMPC << EOF
6252 #define USE_LIBPOSTPROC 1
6253 #include <inttypes.h>
6254 #include <postproc/postprocess.h>
6255 int main(void) {
6256 pp_get_mode_by_name_and_quality("de", 0);
6257 return 0;}
6259 if cc_check -lpostproc $_ld_lm ; then
6260 _libpostproc_so=yes
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"
6296 else
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'
6307 if win32 ; then
6308 _def_libavformat_win32='#define CONFIG_WIN32 1'
6310 else
6311 if test "$_libavformat_so" = yes ; then
6312 _def_libavformat_so='#define USE_LIBAVFORMAT_SO 1'
6313 test "$_ld_libavformat" || _ld_libavformat='-lavformat'
6314 if win32 ; then
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'
6326 else
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"
6338 else
6339 _def_md5sum="#undef HAVE_MD5SUM"
6340 _novomodules="md5sum $_novomodules"
6342 echores "$_md5sum"
6344 echocheck "AMR narrowband"
6345 if test "$_amr_nb" = auto ; then
6346 _amr_nb=no
6347 if test -f libavcodec/amr_float/sp_dec.c ; then
6348 if test "$_libavcodec" = yes ; then
6349 _amr_nb=yes
6350 else
6351 _res_comment="libavcodec (static) is required by amr_nb, sorry"
6355 if test "$_amr_nb" = yes ; then
6356 _amr=yes
6357 _def_amr='#define CONFIG_AMR 1'
6358 _def_amr_nb='#define CONFIG_AMR_NB 1'
6359 else
6360 _def_amr_nb='#undef CONFIG_AMR_NB'
6362 echores "$_amr_nb"
6364 echocheck "AMR narrowband, fixed point"
6365 if test "$_amr_nb_fixed" = auto ; then
6366 _amr_nb_fixed=no
6367 if test -f libavcodec/amr/dtx_dec.c ; then
6368 if test "$_libavcodec" = yes ; then
6369 if test "$_amr_nb" = no ; then
6370 _amr_nb_fixed=yes
6371 else
6372 _res_comment="disabled by amr_nb"
6374 else
6375 _res_comment="libavcodec (static) is required by amr_nb-fixed, sorry"
6379 if test "$_amr_nb_fixed" = yes ; then
6380 _amr=yes
6381 _def_amr='#define CONFIG_AMR 1'
6382 _def_amr_nb_fixed='#define CONFIG_AMR_NB_FIXED 1'
6383 else
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"
6390 else
6391 _nocodecmodules="amr_nb $_nocodecmodules"
6394 echocheck "AMR wideband"
6395 if test "$_amr_wb" = auto ; then
6396 _amr_wb=no
6397 if test -f libavcodec/amrwb_float/dec_dtx.c ; then
6398 if test "$_libavcodec" = yes ; then
6399 _amr_wb=yes
6400 else
6401 _res_comment="libavcodec (static) is required by amr_wb, sorry"
6405 if test "$_amr_wb" = yes ; then
6406 _amr=yes
6407 _def_amr='#define CONFIG_AMR 1'
6408 _def_amr_wb='#define CONFIG_AMR_WB 1'
6409 _codecmodules="amr_wb $_codecmodules"
6410 else
6411 _def_amr_wb='#undef CONFIG_AMR_WB'
6412 _nocodecmodules="amr_wb $_nocodecmodules"
6414 echores "$_amr_wb"
6416 echocheck "libdv-0.9.5+"
6417 if test "$_libdv" = auto ; then
6418 _libdv=no
6419 cat > $TMPC <<EOF
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'
6427 _ld_libdv="-ldv"
6428 _codecmodules="libdv $_codecmodules"
6429 else
6430 _def_libdv='#undef HAVE_LIBDV095'
6431 _nocodecmodules="libdv $_nocodecmodules"
6433 echores "$_libdv"
6435 echocheck "zr"
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
6440 _zr=yes
6441 else
6442 _zr=no
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"
6450 else
6451 _res_comment="libavcodec (static) is required by zr, sorry"
6452 _novomodules="zr $_novomodules"
6453 _def_zr='#undef HAVE_ZR'
6455 else
6456 _def_zr='#undef HAVE_ZR'
6457 _novomodules="zr zr2 $_novomodules"
6459 echores "$_zr"
6461 echocheck "bl"
6462 if test "$_bl" = yes ; then
6463 _def_bl='#define HAVE_BL 1'
6464 _vosrc="$_vosrc vo_bl.c"
6465 _vomodules="bl $_vomodules"
6466 else
6467 _def_bl='#undef HAVE_BL'
6468 _novomodules="bl $_novomodules"
6470 echores "$_bl"
6472 echocheck "XviD"
6473 cat > $TMPC << EOF
6474 #include <xvid.h>
6475 int main(void) { xvid_init(0, 0, 0, 0); return 0; }
6477 _ld_xvid="$_ld_xvid -lxvidcore"
6478 _xvid4=no
6479 if test "$_xvid" != no && cc_check $_ld_xvid $_ld_lm ; then
6480 _xvid=yes
6481 _def_xvid3='#define HAVE_XVID3 1'
6482 _def_xvid4='#undef HAVE_XVID4'
6483 _codecmodules="xvid $_codecmodules"
6484 else
6485 cat > $TMPC << EOF
6486 #include <xvid.h>
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
6491 _xvid4=yes
6492 elif cc_check $_ld_xvid $_ld_lm $_ld_pthread ; then
6493 _xvid4=yes;
6494 _ld_xvid="$_ld_xvid $_ld_pthread"
6498 if test "$_xvid4" = yes ; then
6499 _xvid=yes
6500 _xvid4=yes
6501 _def_xvid3='#undef HAVE_XVID3'
6502 _def_xvid4='#define HAVE_XVID4 1'
6503 _codecmodules="xvid $_codecmodules"
6504 else
6505 _xvid=no
6506 _ld_xvid=''
6507 _def_xvid3='#undef HAVE_XVID3'
6508 _def_xvid4='#undef HAVE_XVID4'
6509 _nocodecmodules="xvid $_nocodecmodules"
6512 echores "$_xvid"
6514 if test "$_xvid4" = yes ; then
6515 echocheck "XviD two pass plugin"
6516 cat > $TMPC << EOF
6517 #include <xvid.h>
6518 int main(void) { xvid_plugin_2pass2_t s; s.vbv_size=0; return 0; }
6520 if cc_check $_ld_xvid $_ld_lb ; then
6521 _lavc_xvid=yes
6522 _def_lavc_xvid='#define CONFIG_XVID 1'
6523 else
6524 _lavc_xvid=no
6525 _def_lavc_xvid='#undef CONFIG_XVID'
6527 echores "$_lavc_xvid"
6530 _xvidcompat=no
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"
6535 cat > $TMPC << EOF
6536 #include <divx4.h>
6537 int main(void) { (void) decore(0, 0, 0, 0); return 0; }
6539 cc_check $_ld_lm "$_ld_xvid" && _xvidcompat=yes
6540 echores "$_xvidcompat"
6543 echocheck "x264"
6544 if test "$_x264" = auto ; then
6545 cat > $TMPC << EOF
6546 #include <inttypes.h>
6547 #include <x264.h>
6548 #if X264_BUILD < 53
6549 #error We do not support old versions of x264. Get the latest from SVN.
6550 #endif
6551 int main(void) { x264_encoder_open((void*)0); return 0; }
6553 _ld_x264="$_ld_x264 -lx264 $_ld_pthread"
6554 _x264=no
6555 if cc_check $_ld_x264 $_ld_lm ; then
6556 _x264=yes
6557 elif test "$_x11" = yes && cc_check $_ld_x264 $_ld_x11 $_ld_lm ; then
6558 _x264=yes
6559 _ld_x264="$_ld_x264 $_ld_x11"
6563 if test "$_x264" = yes ; then
6564 _x264=yes
6565 _def_x264='#define HAVE_X264 1'
6566 _def_lavc_x264='#define CONFIG_X264 1'
6567 _codecmodules="x264 $_codecmodules"
6568 else
6569 _x264=no
6570 _ld_x264=''
6571 _def_x264='#undef HAVE_X264'
6572 _def_lavc_x264='#undef CONFIG_X264'
6573 _nocodecmodules="x264 $_nocodecmodules"
6575 echores "$_x264"
6578 echocheck "nut"
6579 if test "$_nut" = auto ; then
6580 cat > $TMPC << EOF
6581 #include <stdio.h>
6582 #include <stdlib.h>
6583 #include <inttypes.h>
6584 #include <nut.h>
6585 int main(void) { (void)nut_error(0); return 0; }
6587 _ld_nut="-lnut"
6588 _nut=no
6589 cc_check $_ld_nut && _nut=yes
6592 if test "$_nut" = yes ; then
6593 _def_nut='#define HAVE_LIBNUT 1'
6594 else
6595 _ld_nut=''
6596 _def_nut='#undef HAVE_LIBNUT'
6598 echores "$_nut"
6601 # mencoder requires (optional) those libs: libmp3lame
6602 if test "$_mencoder" != no ; then
6604 echocheck "libmp3lame (for mencoder)"
6605 _mp3lame=no
6606 _def_mp3lame_preset='#undef HAVE_MP3LAME_PRESET'
6607 _def_mp3lame_preset_medium='#undef HAVE_MP3LAME_PRESET_MEDIUM'
6608 cat > $TMPC <<EOF
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"
6618 cat > $TMPC << EOF
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"
6623 cat > $TMPC << EOF
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
6629 else
6630 _def_mp3lame='#undef HAVE_MP3LAME'
6632 echores "$_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'
6641 else
6642 # mpeg1video for vf_lavc, snow for vf_uspp and vf_mcdeint
6643 _libavencoders="mpeg1video_encoder snow_encoder"
6644 _libavmuxers=""
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'
6652 else
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'
6660 else
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"
6669 else
6670 _noinputmodules="tv $_noinputmodules"
6671 _def_tv='#undef USE_TV'
6673 echores "$_tv"
6676 if bsd; then
6677 echocheck "*BSD BrookTree 848 TV interface"
6678 if test "$_tv_bsdbt848" = auto ; then
6679 _tv_bsdbt848=no
6680 if test "$_tv" = yes ; then
6681 cat > $TMPC <<EOF
6682 #include <sys/types.h>
6683 #if defined(__NetBSD__)
6684 #include <dev/ic/bt8xx.h>
6685 #else
6686 #include <machine/ioctl_bt848.h>
6687 #endif
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"
6696 else
6697 _def_tv_bsdbt848='#undef HAVE_TV_BSDBT848'
6698 _noinputmodules="tv-bsdbt848 $_noinputmodules"
6700 echores "$_tv_bsdbt848"
6701 fi #if bsd
6704 echocheck "Video 4 Linux TV interface"
6705 if test "$_tv_v4l1" = auto ; then
6706 _tv_v4l1=no
6707 if test "$_tv" = yes && linux ; then
6708 cat > $TMPC <<EOF
6709 #include <stdlib.h>
6710 #include <linux/videodev.h>
6711 int main(void) { return 0; }
6713 cc_check && _tv_v4l1=yes
6716 if test "$_tv_v4l1" = yes ; then
6717 _tv_v4l=yes
6718 _def_tv_v4l='#define HAVE_TV_V4L 1'
6719 _def_tv_v4l1='#define HAVE_TV_V4L1 1'
6720 _inputmodules="tv-v4l $_inputmodules"
6721 else
6722 _noinputmodules="tv-v4l1 $_noinputmodules"
6723 _def_tv_v4l='#undef HAVE_TV_V4L'
6725 echores "$_tv_v4l1"
6728 echocheck "Video 4 Linux 2 TV interface"
6729 if test "$_tv_v4l2" = auto ; then
6730 _tv_v4l2=no
6731 if test "$_tv" = yes && linux ; then
6732 cat > $TMPC <<EOF
6733 #include <stdlib.h>
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
6742 _tv_v4l=yes
6743 _def_tv_v4l='#define HAVE_TV_V4L 1'
6744 _def_tv_v4l2='#define HAVE_TV_V4L2 1'
6745 _inputmodules="tv-v4l2 $_inputmodules"
6746 else
6747 _noinputmodules="tv-v4l2 $_noinputmodules"
6748 _def_tv_v4l2='#undef HAVE_TV_V4L2'
6750 echores "$_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
6758 _radio_capture=no
6760 if test "$_radio_capture" = yes ; then
6761 _def_radio_capture="#define USE_RADIO_CAPTURE 1"
6762 else
6763 _def_radio_capture="#undef USE_RADIO_CAPTURE"
6765 else
6766 _noinputmodules="radio $_noinputmodules"
6767 _def_radio='#undef USE_RADIO'
6768 _def_radio_capture="#undef USE_RADIO_CAPTURE"
6769 _radio_capture=no
6771 echores "$_radio"
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
6777 _radio_v4l2=no
6778 if test "$_radio" = yes && linux ; then
6779 cat > $TMPC <<EOF
6780 #include <stdlib.h>
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'
6790 else
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
6797 _radio_v4l=no
6798 if test "$_radio" = yes && linux ; then
6799 cat > $TMPC <<EOF
6800 #include <stdlib.h>
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'
6809 else
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
6820 _pvr=no
6821 if test "$_tv_v4l2" = yes && linux ; then
6822 cat > $TMPC <<EOF
6823 #include <stdlib.h>
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"
6835 else
6836 _noinputmodules="pvr $_noinputmodules"
6837 _def_pvr='#undef HAVE_PVR'
6839 echores "$_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'
6848 echores "$_select"
6851 echocheck "network"
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"
6857 else
6858 _noinputmodules="network $_noinputmodules"
6859 _def_network='#undef MPLAYER_NETWORK'
6860 _ftp=no
6862 echores "$_network"
6864 echocheck "ftp"
6865 if not beos && test "$_ftp" = yes ; then
6866 _def_ftp='#define HAVE_FTP 1'
6867 _inputmodules="ftp $_inputmodules"
6868 else
6869 _noinputmodules="ftp $_noinputmodules"
6870 _def_ftp='#undef HAVE_FTP'
6872 echores "$_ftp"
6874 echocheck "vstream client"
6875 if test "$_vstream" = auto ; then
6876 _vstream=no
6877 cat > $TMPC <<EOF
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'
6888 else
6889 _noinputmodules="vstream $_noinputmodules"
6890 _def_vstream='#undef HAVE_VSTREAM'
6892 echores "$_vstream"
6894 # endian testing
6895 echocheck "byte order"
6896 if test "$_big_endian" = auto ; then
6897 cat > $TMPC <<EOF
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};
6900 int main(){
6901 return (int)ascii_name;
6904 if cc_check ; then
6905 if strings $TMPO | grep -l MPlayerBigEndian >/dev/null ; then
6906 _big_endian=yes
6907 else
6908 _big_endian=no
6910 else
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'
6917 else
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'
6926 else
6927 _def_menu='#undef HAVE_MENU'
6929 echores "$_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"
6939 else
6940 _def_qtx='#undef USE_QTX_CODECS'
6941 _nocodecmodules="qtx $_nocodecmodules"
6943 echores "$_qtx"
6946 echocheck "Subtitles sorting"
6947 if test "$_sortsub" = yes ; then
6948 _def_sortsub='#define USE_SORTSUB 1'
6949 else
6950 _def_sortsub='#undef USE_SORTSUB'
6952 echores "$_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
6965 else
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'
6975 if darwin ; then
6976 _xmms_lib="${_xmmslibdir}/libxmms.dylib"
6977 else
6978 _xmms_lib="${_xmmslibdir}/libxmms.so.1 -export-dynamic"
6980 else
6981 _def_xmms='#undef HAVE_XMMS'
6983 echores "$_xmms"
6985 echocheck "inet6"
6986 if test "$_inet6" = auto ; then
6987 cat > $TMPC << EOF
6988 #include <sys/types.h>
6989 #include <sys/socket.h>
6990 int main(void) { socket(AF_INET6, SOCK_STREAM, AF_INET6); }
6992 _inet6=no
6993 if cc_check ; then
6994 _inet6=yes
6997 if test "$_inet6" = yes ; then
6998 _def_inet6='#define HAVE_AF_INET6 1'
6999 else
7000 _def_inet6='#undef HAVE_AF_INET6'
7002 echores "$_inet6"
7005 echocheck "gethostbyname2"
7006 if test "$_gethostbyname2" = auto ; then
7007 cat > $TMPC << EOF
7008 #include <sys/types.h>
7009 #include <sys/socket.h>
7010 #include <netdb.h>
7011 int main(void) { gethostbyname2("", AF_INET); }
7013 _gethostbyname2=no
7014 if cc_check ; then
7015 _gethostbyname2=yes
7019 if test "$_gethostbyname2" = yes ; then
7020 _def_gethostbyname2='#define HAVE_GETHOSTBYNAME2 1'
7021 else
7022 _def_gethostbyname2='#undef HAVE_GETHOSTBYNAME2'
7024 echores "$_gethostbyname2"
7027 # --------------- GUI specific tests begin -------------------
7028 echocheck "GUI"
7029 echo "$_gui"
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."
7034 if not win32 ; then
7035 test "$_x11" != yes && die "X11 support required for GUI compilation."
7037 echocheck "XShape extension"
7038 if test "$_xshape" = auto ; then
7039 _xshape=no
7040 cat > $TMPC << EOF
7041 #include <X11/Xlib.h>
7042 #include <X11/Xproto.h>
7043 #include <X11/Xutil.h>
7044 #include <X11/extensions/shape.h>
7045 #include <stdlib.h>
7046 int main(void) {
7047 char *name = ":0.0";
7048 Display *wsDisplay;
7049 int exitvar = 0;
7050 int eventbase, errorbase;
7051 if (getenv("DISPLAY"))
7052 name=getenv("DISPLAY");
7053 wsDisplay=XOpenDisplay(name);
7054 if (!XShapeQueryExtension(wsDisplay,&eventbase,&errorbase))
7055 exitvar=1;
7056 XCloseDisplay(wsDisplay);
7057 return exitvar;
7060 cc_check $_ld_x11 && _xshape=yes
7062 if test "$_xshape" = yes ; then
7063 _def_xshape='#define HAVE_XSHAPE 1'
7064 else
7065 die "The GUI requires the X11 extension XShape (which was not found)."
7067 echores "$_xshape"
7069 #Check for GTK
7070 if test "$_gtk1" = no ; then
7071 #Check for GTK2 :
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`
7078 echores "$_gtk"
7080 # Check for GLIB2
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`
7085 echores "$_glib"
7087 _def_gui='#define HAVE_NEW_GUI 1'
7088 _def_gtk2_gui='#define HAVE_GTK2_GUI 1'
7089 else
7090 _gtk1=yes
7091 echo "GLIB-2 devel packages were not found, trying GTK 1.2"
7093 else
7094 echo "GTK-2 devel packages were not found, trying GTK 1.2"
7095 _gtk1=yes
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"
7107 else
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)"
7116 # Check for GLIB
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"
7123 else
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'
7135 else #if not win32
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'
7139 fi #if not win32
7141 else #if test "$_gui"
7142 _def_gui='#undef HAVE_NEW_GUI'
7143 _def_gtk2_gui='#undef HAVE_GTK2_GUI'
7144 fi #if test "$_gui"
7145 # --------------- GUI specific tests end -------------------
7148 if test "$_charset" = "noconv" ; then
7149 _charset=""
7150 elif test -z "$_charset" ; then
7151 if test "$_gtk1" = yes ; then
7152 _charset=`cat ${_mp_help}.charset`
7153 else
7154 _charset="UTF-8"
7157 if test "$_charset" ; then
7158 _def_charset="#define MSG_CHARSET \"$_charset\""
7159 else
7160 _def_charset="#undef MSG_CHARSET"
7163 if test "$_charset" = `cat ${_mp_help}.charset` ; then
7164 # hack to disable conversion in the Makefile
7165 _charset=""
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
7172 echores "no"
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."
7177 exit 1
7178 else
7179 echores "yes"
7183 #############################################################################
7185 echocheck "automatic gdb attach"
7186 if test "$_crash_debug" = yes ; then
7187 _def_crash_debug='#define CRASH_DEBUG 1'
7188 else
7189 _def_crash_debug='#undef CRASH_DEBUG'
7190 _crash_debug=no
7192 echores "$_crash_debug"
7194 if darwin ; then
7195 CFLAGS="$CFLAGS -mdynamic-no-pic -falign-loops=16 -DSYS_DARWIN -DCONFIG_DARWIN -shared-libgcc"
7196 if x86 ; then
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"
7206 if hpux ; then
7207 # use flag for HPUX missing setenv()
7208 CFLAGS="$CFLAGS -DHPUX"
7210 # Thread support
7211 if linux ; then
7212 CFLAGS="$CFLAGS -D_REENTRANT"
7213 elif bsd ; then
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"
7227 if x86; then
7228 cat > $TMPC <<EOF
7229 int main(void) { return 0; }
7231 if cc_check -fno-PIC ; then
7232 CFLAGS="-fno-PIC $CFLAGS"
7233 echores "yes"
7234 else
7235 echores "no"
7237 else
7238 echores "only used for x86"
7241 echocheck "compiler support for noexecstack"
7242 cat > $TMPC <<EOF
7243 int main(void) { return 0; }
7245 if cc_check -Wl,-z,noexecstack ; then
7246 _ld_extra="-Wl,-z,noexecstack $_ld_extra"
7247 echores "yes"
7248 else
7249 echores "no"
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
7258 cat > $TMPC << EOF
7259 #include <stdio.h>
7260 #include <sys/types.h>
7261 int main (void) { ftello(stdin); return 0; }
7263 _ftello=no
7264 cc_check && _ftello=yes
7265 if test "$_ftello" = yes ; then
7266 _def_ftello='#define HAVE_FTELLO 1'
7267 else
7268 _def_ftello='#undef HAVE_FTELLO'
7270 echores "$_ftello"
7272 # Determine OS dependent libs
7273 if cygwin ; then
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__"
7280 if win32 ; then
7281 _confwin32='TARGET_WIN32 = yes'
7282 else
7283 _confwin32='TARGET_WIN32 = no'
7286 # Dynamic linking flags
7287 # (FIXME: 'echocheck "dynamic linking"' above and modify here accordingly)
7288 _ld_dl_dynamic=''
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"
7296 if netbsd ; then
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
7312 _vidix_external=no
7313 cat > $TMPC <<EOF
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
7322 _vidix=yes
7323 _def_vidix='#define CONFIG_VIDIX 1'
7324 else
7325 _vidix=no
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"
7339 else
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"
7346 else
7347 _novomodules="winvidix $_novomodules"
7349 if test "$_vidix" = yes && test "$_x11" = yes; then
7350 _vosrc="$_vosrc vo_xvidix.c"
7351 _vomodules="xvidix $_vomodules"
7352 else
7353 _novomodules="xvidix $_novomodules"
7356 echocheck "joystick"
7357 _def_joystick='#undef HAVE_JOYSTICK'
7358 if test "$_joystick" = yes ; then
7359 if linux ; then
7360 # TODO add some check
7361 _def_joystick='#define HAVE_JOYSTICK 1'
7362 else
7363 _joystick="no (unsupported under $system_name)"
7366 echores "$_joystick"
7368 echocheck "lirc"
7369 if test "$_lirc" = auto ; then
7370 _lirc=no
7371 if test -c /dev/lirc -o -c /dev/lirc/0 ; then
7372 cat > $TMPC <<EOF
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'
7382 else
7383 _def_lirc='#undef HAVE_LIRC'
7385 echores "$_lirc"
7387 echocheck "lircc"
7388 if test "$_lircc" = auto ; then
7389 _lircc=no
7390 cat > $TMPC <<EOF
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'
7398 _ld_lircc='-llircc'
7399 else
7400 _def_lircc='#undef HAVE_LIRCC'
7402 echores "$_lircc"
7404 if arm; then
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
7409 _maemo=no
7410 cat > $TMPC << EOF
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"
7420 else
7421 _def_maemo='#undef HAVE_MAEMO'
7423 echores "$_maemo"
7426 #############################################################################
7427 echo "Creating config.mak"
7428 cat > config.mak << EOF
7429 # -------- Generated by configure -----------
7431 LANG = C
7432 MAN_LANG = $MAN_LANG
7433 TARGET_OS = $system_name
7434 DESTDIR =
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
7442 libdir = \$(LIBDIR)
7443 #AR = ar
7444 CC = $_cc
7445 HOST_CC = $_host_cc
7446 AWK = $_awk
7447 RANLIB = $_ranlib
7448 INSTALL = $_install
7449 # FIXME: Should only be _inc_extra eventually.
7450 EXTRA_INC = $_inc_extra
7451 OPTFLAGS = $CFLAGS \$(EXTRA_INC)
7452 STRIPBINARIES = $_stripbinaries
7453 CHARSET = $_charset
7454 HELP_FILE = $_mp_help
7456 PRG = $_prg
7457 PRG_MENCODER = $_prg_mencoder
7459 MPLAYER_NETWORK = $_network
7460 FTP = $_ftp
7461 STREAMING_LIVE555 = $_live
7462 VSTREAM = $_vstream
7463 MPLAYER_NETWORK_LIB = $_ld_live $_ld_vstream $_ld_network
7464 STREAM_CACHE = yes
7465 DVBIN = $_dvbin
7466 VIDIX = $_vidix_internal
7467 EXTERNAL_VIDIX = $_vidix_external
7468 EXTERNAL_VIDIX_LIB = $_ld_vidix_external
7469 CONFIG_PP = yes
7470 CONFIG_MP3LAME = $_mp3lame
7471 LIBMENU = $_menu
7473 MP3LIB = $_mp3lib
7474 LIBA52 = $_liba52
7475 LIBMPEG2 = $_libmpeg2
7476 TREMOR_INTERNAL = $_tremor_internal
7477 TREMOR_FLAGS = $_tremor_flags
7478 FAAD = $_faad
7480 SPEEX = $_speex
7481 MUSEPACK = $_musepack
7483 UNRARLIB = $_unrarlib
7484 PNG = $_png
7485 JPEG = $_jpeg
7486 GIF = $_gif
7488 EXTRALIBS = $_extra_libs
7489 EXTRA_LIB = $_ld_extra
7490 Z_LIB = $_ld_static $_ld_zlib
7491 HAVE_MLIB = $_mlib
7492 WIN32_LIB = $_ld_win32libs
7493 STATIC_LIB = $_ld_static
7494 ENCA_LIB = $_ld_enca
7495 HAVE_PTHREADS = $_pthreads
7496 MATH_LIB = $_ld_lm
7497 LIBC_LIB = $_ld_libC
7499 HAVE_XVMC_ACCEL = $_xvmc
7501 # for FFmpeg
7502 SRC_PATH=..
7503 BUILD_ROOT=..
7504 LIBPREF=lib
7505 LIBSUF=.a
7506 LIB=\$(LIBPREF)\$(NAME)\$(LIBSUF)
7508 # video output
7509 X_LIB = $_ld_gl $_ld_dga $_ld_xv $_ld_xvmc $_ld_vm $_ld_xinerama $_ld_x11 $_ld_sock
7510 GGI_LIB = $_ld_ggi
7511 MLIB_LIB = $_ld_mlib
7512 PNG_LIB = $_ld_png
7513 JPEG_LIB = $_ld_jpeg
7514 GIF_LIB = $_ld_gif
7515 SDL_LIB = $_ld_sdl
7516 SVGA_LIB = $_ld_svga
7517 VESA_LIB = $_ld_vesa
7518 AA_LIB = $_ld_aa
7519 CACA_LIB = $_ld_caca
7521 # audio output
7522 OSS = $_ossaudio
7523 ALSA = $_alsa
7524 ALSA5 = $_alsa5
7525 ALSA9 = $_alsa9
7526 ALSA1X = $_alsa1x
7527 ALSA_LIB = $_ld_alsa
7528 NAS_LIB = $_ld_nas
7529 ARTS_LIB = $_ld_arts
7530 ESD_LIB = $_ld_esd
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
7539 LIRC = $_lirc
7540 LIRC_LIB = $_ld_lirc
7541 LIRCC_LIB = $_ld_lircc
7542 TV = $_tv
7543 TV_V4L = $_tv_v4l
7544 TV_V4L1 = $_tv_v4l1
7545 TV_V4L2 = $_tv_v4l2
7546 TV_BSDBT848 = $_tv_bsdbt848
7547 PVR = $_pvr
7548 VCD = $_vcd
7549 HAVE_DVD = $_have_dvd
7550 DVDREAD = $_dvdread
7551 DVDREAD_LIB = $_ld_dvdread
7552 DVDKIT2 = $_mpdvdkit
7553 DVDNAV = $_dvdnav
7554 DVDNAV_LIB = $_ld_dvdnav
7555 WIN32DLL = $_win32
7556 W32_DEP = $_dep_win32
7557 W32_LIB = $_ld_win32
7558 QTX_CODECS = $_qtx
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
7571 ZORAN = $_zr
7572 FAME = $_libfame
7573 FAME_LIB = $_ld_libfame
7574 LIBDV = $_libdv
7575 LIBDV_LIB = $_ld_libdv
7576 ARCH_LIB = $_ld_arch $_ld_iconv
7577 XVID = $_xvid
7578 XVID4 = $_xvid4
7579 XVID_LIB = $_ld_xvid
7580 X264 = $_x264
7581 X264_LIB = $_ld_x264
7582 LIBNUT = $_nut
7583 NUT_LIB = $_ld_nut
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
7590 CDDA = $_cdda
7591 CDPARANOIA_LIB = $_ld_cdparanoia
7592 BITMAP_FONT = $_bitmap_font
7593 FREETYPE = $_freetype
7594 FREETYPE_LIB = $_ld_freetype
7595 FONTCONFIG_LIB = $_ld_fontconfig
7596 CONFIG_ASS = $_ass
7597 FRIBIDI_LIB = $_ld_fribidi
7598 LIBCDIO_LIB = $_ld_libcdio
7599 LIBLZO_LIB= $_ld_liblzo
7600 LIBMAD = $_mad
7601 MAD_LIB = $_ld_mad
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
7614 MACOSX = $_macosx
7615 MACOSX_FINDER_SUPPORT = $_macosx_finder_support
7616 MACOSX_BUNDLE = $_macosx_bundle
7617 MACOSX_FRAMEWORKS = $_macosx_frameworks
7618 MACOSX_COREVIDEO = $_macosx_corevideo
7619 TOOLAME=$_toolame
7620 TOOLAME_LIB=$_toolame_lib
7621 TWOLAME=$_twolame
7622 TWOLAME_LIB=$_twolame_lib
7623 MUSEPACK_LIB = $_ld_musepack
7624 FAAC=$_faac
7625 FAAC_LIB=$_ld_faac
7626 CONFIG_AMR=$_amr
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/'`
7635 CONFIG_FAAC=$_faac
7636 CONFIG_XVID=$_lavc_xvid
7637 CONFIG_X264=$_x264
7638 CONFIG_GPL=yes
7639 CONFIG_ENCODERS=$_mencoder
7640 CONFIG_MUXERS=$_mencoder
7641 RADIO=$_radio
7642 RADIO_CAPTURE=$_radio_capture
7644 # --- Some stuff for autoconfigure ----
7645 $_target_arch
7646 $_confwin32
7647 TARGET_CPU=$iproc
7648 TARGET_MMX = $_mmx
7649 TARGET_MMX2 = $_mmxext
7650 TARGET_3DNOW = $_3dnow
7651 TARGET_3DNOWEX = $_3dnowext
7652 TARGET_SSE = $_sse
7653 TARGET_ALTIVEC = $_altivec
7654 TARGET_ARMV5TE = $_armv5te
7655 TARGET_IWMMXT = $_iwmmxt
7656 TARGET_VIS = $_vis
7657 TARGET_BUILTIN_VECTOR = $_builtin_vector
7658 TARGET_BUILTIN_3DNOW = $_mm3dnow
7660 # --- GUI stuff ---
7661 GTKLIB = $_ld_gtk
7662 GLIBLIB = $_ld_glib
7663 GTK_LIBS = $_ld_static \$(GTKLIB) \$(GLIBLIB)
7664 GUI = $_gui
7666 # --- libvo stuff ---
7667 VO_SRCS = $_vosrc
7669 # --- libao2 stuff ---
7670 AO_SRCS = $_aosrc
7672 # --- libaf stuff ---
7673 AF_SRCS = $_afsrc
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 */
7688 $_def_i18n
7690 /* name of messages charset */
7691 $_def_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)
7707 #else
7708 #define likely(x) (x)
7709 #define unlikely(x) (x)
7710 #endif
7712 /* attribute(used) as needed by some compilers */
7713 #if (__GNUC__ * 100 + __GNUC_MINOR__ >= 300)
7714 # define attribute_used __attribute__((used))
7715 #else
7716 # define attribute_used
7717 #endif
7719 /* compiler support for named assembler arguments */
7720 $_def_named_asm_args
7722 #define PREFIX "$_prefix"
7724 #define USE_OSD 1
7725 #define USE_SUB 1
7727 /* enable/disable SIGHANDLER */
7728 $_def_sighandler
7730 /* enable/disable automatic gdb attach on crash, requires SIGHANDLER */
7731 $_def_crash_debug
7733 /* Toggles debugging informations */
7734 $_def_debug
7736 /* Toggles colorized output */
7737 //#define MSG_USE_COLORS 1
7739 /* Indicates that libcdio is available for VCD and CD-DA playback */
7740 $_def_libcdio
7742 /* Indicates that Ogle's libdvdread is available for DVD playback */
7743 $_def_dvdread
7745 /* Indicates that dvdread is from libmpdvdkit */
7746 $_def_mpdvdkit
7748 /* Additional options for libmpdvdkit*/
7749 $_def_dvd
7750 $_def_cdrom
7751 $_def_cdio
7752 $_def_dvdio
7753 $_def_bsdi_dvd
7754 $_def_dvd_bsd
7755 $_def_dvd_linux
7756 $_dev_dvd_openbsd
7757 $_def_dvd_darwin
7758 $_def_sol_scsi_h
7759 $_def_hpux_scsi_h
7760 $_def_stddef
7761 $_def_have_dvd
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 */
7773 $_def_xvid3
7774 $_def_xvid4
7775 $_def_decore_xvid
7776 $_def_encore_xvid
7778 /* Define if you are using the X.264 library */
7779 $_def_x264
7781 /* Define if you are using libnut */
7782 $_def_nut
7784 /* Define to include support for libdv-0.9.5 */
7785 $_def_libdv
7787 /* If build mencoder */
7788 $_mencoder_flag
7790 /* Indicates if libmp3lame is available
7791 Note: for mencoder */
7792 $_def_mp3lame
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! */
7811 $_def_select
7813 /* define this to use iconv(3) function to codepage conversions */
7814 $_def_iconv
7816 /* define this to use nl_langinfo function */
7817 $_def_langinfo
7819 /* define this to use RTC (/dev/rtc) for video timers */
7820 $_def_rtc
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 */
7829 $_def_sys_soundcard
7831 /* Define this if your system has the header file for the OSS sound interface
7832 * in /usr/include */
7833 $_def_soundcard
7835 /* Define this if your system has the sysinfo header */
7836 $_def_sys_sysinfo
7838 /* Define this if your system has ftello() */
7840 $_def_ftello
7841 #ifndef HAVE_FTELLO
7842 /* Need these for FILE and off_t an config.h is usually before other includes*/
7843 #include <stdio.h>
7844 #include <sys/types.h>
7845 off_t ftello(FILE *);
7846 #endif
7848 /* Define this if your system has the "malloc.h" header file */
7849 $_def_malloc
7851 /* memalign is mapped to malloc if unsupported */
7852 $_def_memalign
7853 $_def_map_memalign
7854 $_def_memalign_hack
7856 /* assembler handling of .align */
7857 $_def_asmalign_pot
7859 /* Define this if your system has the "alloca.h" header file */
7860 $_def_alloca
7862 /* Define this if your system has the "sys/mman.h" header file */
7863 $_def_mman
7864 $_def_mman_has_map_failed
7866 /* Define this if you have the elf dynamic linker -ldl library */
7867 $_def_dl
7869 /* Define this if you have the kstat kernel statistics library */
7870 $_def_kstat
7872 /* Define this if you have zlib */
7873 $_def_zlib
7874 #ifdef HAVE_ZLIB
7875 #define CONFIG_ZLIB 1
7876 #endif
7878 /* Define this if you have shm support */
7879 $_def_shm
7881 /* Define this if your system has scandir & alphasort */
7882 $_def_scandir
7884 /* Define this if your system has strsep */
7885 $_def_strsep
7887 /* Define this if your system has strlcpy */
7888 $_def_strlcpy
7889 #ifndef HAVE_STRLCPY
7890 unsigned int strlcpy (char *dest, const char *src, unsigned int size);
7891 #endif
7893 /* Define this if your system has strlcat */
7894 $_def_strlcat
7895 #ifndef HAVE_STRLCAT
7896 unsigned int strlcat (char *dest, const char *src, unsigned int size);
7897 #endif
7899 /* Define this if your system has fseeko */
7900 $_def_fseeko
7901 #ifndef HAVE_FSEEKO
7902 /* Need these for FILE and off_t an config.h is usually before other includes*/
7903 #include <stdio.h>
7904 #include <sys/types.h>
7905 int fseeko(FILE *, off_t, int);
7906 #endif
7908 $_def_localtime_r
7910 /* Define this if your system has vsscanf */
7911 $_def_vsscanf
7913 /* Define this if your system has swab */
7914 $_def_swab
7916 /* Define this if your system has no posix select */
7917 $_def_no_posix_select
7919 /* Define this if your system has gettimeofday */
7920 $_def_gettimeofday
7922 /* Define this if your system has glob */
7923 $_def_glob
7925 /* Define this if your system has setenv */
7926 $_def_setenv
7927 #ifndef HAVE_SETENV
7928 int setenv(const char *name, const char *val, int overwrite);
7929 #endif
7931 /* Define this if your system has sysi86 */
7932 $_def_sysi86
7934 /* Define this if your system has pthreads */
7935 $_def_pthreads
7937 /* Define this if you enabled thread support for libavcodec */
7938 $_def_threads
7940 /* LIRC (remote control, see www.lirc.org) support: */
7941 $_def_lirc
7943 /* Support for maemo (http://www.maemo.org) */
7944 $_def_maemo
7947 * LIRCCD (LIRC client daemon)
7948 * See http://www.dolda2000.cjb.net/~fredrik/lirccd/
7950 $_def_lircc
7952 /* DVD navigation support using libdvdnav */
7953 $_def_dvdnav
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!) */
7960 $_def_libpostproc
7961 $_def_libpostproc_so
7963 /* Win32 DLL support */
7964 $_def_win32
7965 #define WIN32_PATH "$_win32libdir"
7967 /* Mac OS X specific features */
7968 $_def_macosx
7969 $_def_macosx_finder_support
7970 $_def_macosx_bundle
7971 $_def_macosx_corevideo
7973 /* Build our Win32-loader */
7974 $_def_win32_loader
7976 /* ffmpeg's libavcodec support (requires libavcodec source) */
7977 $_def_libavcodec
7978 $_def_libavcodec_so
7979 $_def_lavc_dsputil
7980 $_def_libavcodec_mpegaudio_hp
7982 /* ffmpeg's libavformat support (requires libavformat source) */
7983 $_def_libavformat
7984 $_def_libavformat_so
7985 $_def_libavformat_win32
7987 $_def_libavutil
7988 $_def_libavutil_so
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 */
7998 $_def_muxers
8000 #define CONFIG_GPL 1
8002 /* Use amr codecs from libavcodec (requires amr sources) */
8003 $_def_amr
8004 $_def_amr_nb
8005 $_def_amr_nb_fixed
8006 $_def_amr_wb
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/'`
8014 $_def_lavc_faac
8015 $_def_lavc_xvid
8016 $_def_lavc_mp3lame
8017 $_def_lavc_x264
8019 /* Use codec libs included in mplayer CVS / source dist: */
8020 $_def_mp3lib
8021 $_def_liba52
8022 $_def_libdts
8023 $_def_libmpeg2
8025 /* Use libfame encoder filter */
8026 $_def_libfame
8028 /* XAnim DLL support */
8029 $_def_xanim
8030 /* Default search path */
8031 $_def_xanim_path
8033 /* RealPlayer DLL support */
8034 $_def_real
8035 /* Default search path */
8036 $_def_real_path
8038 /* LIVE555 Streaming Media library support */
8039 $_def_live
8041 /* Use 3dnow/mmxext/sse/mmx optimized fast memcpy() [maybe buggy... signal 4]*/
8042 $_def_fastmemcpy
8044 /* Use unrarlib for Vobsubs */
8045 $_def_unrarlib
8047 /* gui support, please do not edit this option */
8048 $_def_gui
8049 $_def_gtk2_gui
8051 /* Audio output drivers */
8052 $_def_ossaudio
8053 $_def_ossaudio_devdsp
8054 $_def_ossaudio_devmixer
8055 $_def_alsa5
8056 $_def_alsa9
8057 $_def_alsa1x
8058 $_def_arts
8059 $_def_esd
8060 $_def_esd_latency
8061 $_def_polyp
8062 $_def_jack
8063 $_def_openal
8064 $_def_sys_asoundlib_h
8065 $_def_alsa_asoundlib_h
8066 $_def_sunaudio
8067 $_def_sgiaudio
8068 $_def_win32waveout
8069 $_def_nas
8071 /* Enable fast OSD/SUB renderer (looks ugly, but uses less CPU power) */
8072 #undef FAST_OSD
8073 #undef FAST_OSD_TABLE
8075 /* Enable TV Interface support */
8076 $_def_tv
8078 /* Enable Video 4 Linux TV interface support */
8079 $_def_tv_v4l
8081 /* Enable Video 4 Linux 1 TV interface support */
8082 $_def_tv_v4l1
8084 /* Enable Video 4 Linux 2 TV interface support */
8085 $_def_tv_v4l2
8087 /* Enable *BSD BrookTree TV interface support */
8088 $_def_tv_bsdbt848
8090 /* Enable Radio Interface support */
8091 $_def_radio
8093 /* Enable Capture for Radio Interface support */
8094 $_def_radio_capture
8096 /* Enable Video 4 Linux Radio interface support */
8097 $_def_radio_v4l
8099 /* Enable Video 4 Linux 2 Radio interface support */
8100 $_def_radio_v4l2
8102 /* Enable Video 4 Linux 2 MPEG PVR support */
8103 $_def_pvr
8105 /* Define if your processor stores words with the most significant
8106 byte first (like Motorola and SPARC, unlike Intel and VAX). */
8107 $_def_words_endian
8109 $_def_arch
8111 /* For the PPC. G5 has the dcbzl when in 64bit mode but G4s and earlier do not
8112 have the instruction. */
8113 $_def_dcbzl
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.
8118 #ifdef ARCH_POWERPC
8119 #define ARCH_PPC 1
8120 #endif
8122 /* the same issue as with ARCH_POWERPC but with ffmpeg/libavcodec */
8123 #ifdef ARCH_ARMV4L
8124 #define ARCH_ARM 1
8125 #endif
8127 /* only gcc3 can compile mvi instructions */
8128 $_def_gcc_mvi_support
8130 /* Define this for Cygwin build for win32 */
8131 $_def_confwin32
8133 /* Define this to any prefered value from 386 up to infinity with step 100 */
8134 #define __CPU__ $iproc
8136 $_mp_wordsize
8138 $_def_linux
8140 $_def_vcd
8142 #ifdef sun
8143 #define DEFAULT_CDROM_DEVICE "/vol/dev/aliases/cdrom0"
8144 #define DEFAULT_DVD_DEVICE DEFAULT_CDROM_DEVICE
8145 #elif defined(HPUX)
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
8160 #else
8161 #define DEFAULT_CDROM_DEVICE "/dev/cdrom"
8162 #define DEFAULT_DVD_DEVICE "/dev/dvd"
8163 #endif
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 */
8175 $_def_lrintf
8177 /* round function is available */
8178 $_def_round
8180 /* yes, we have inttypes.h */
8181 #define HAVE_INTTYPES_H 1
8183 /* int_fastXY_t emulation */
8184 $_def_fast_inttypes
8186 /* nanosleep support */
8187 $_def_nanosleep
8189 /* SMB support */
8190 $_def_smbsupport
8192 /* termcap flag for getch2.c */
8193 $_def_termcap
8195 /* termios flag for getch2.c */
8196 $_def_termios
8197 $_def_termios_h
8198 $_def_termios_sys_h
8200 /* enable PNG support */
8201 $_def_png
8203 /* enable JPEG support */
8204 $_def_jpeg
8206 /* enable PNM support */
8207 $_def_pnm
8209 /* enable md5sum support */
8210 $_def_md5sum
8212 /* enable GIF support */
8213 $_def_gif
8214 $_def_gif_4
8215 $_def_gif_tvt_hack
8217 /* enable bitmap font support */
8218 $_def_bitmap_font
8220 /* enable FreeType support */
8221 $_def_freetype
8223 /* enable Fontconfig support */
8224 $_def_fontconfig
8226 /* enable SSA/ASS support */
8227 $_def_ass
8229 /* enable FriBiDi usage */
8230 $_def_fribidi
8232 /* enable ENCA usage */
8233 $_def_enca
8235 /* liblzo support */
8236 $_def_liblzo
8237 #ifdef USE_LIBLZO
8238 #define CONFIG_LZO 1
8239 #endif
8241 /* libmad support */
8242 $_def_mad
8244 /* enable OggVorbis support */
8245 $_def_vorbis
8246 $_def_tremor
8248 /* enable Speex support */
8249 $_def_speex
8251 /* enable musepack support */
8252 $_def_musepack
8254 /* enable OggTheora support */
8255 $_def_theora
8257 /* enable FAAD (AAC) support */
8258 $_def_faad
8259 $_def_faad_internal
8261 /* enable FAAC (AAC encoder) support */
8262 $_def_faac
8264 /* enable LADSPA plugin support */
8265 $_def_ladspa
8267 /* enable network */
8268 $_def_network
8270 /* enable ftp support */
8271 $_def_ftp
8273 /* enable vstream support */
8274 $_def_vstream
8276 /* enable winsock2 instead of Unix functions*/
8277 $_def_winsock2
8279 /* define this to use inet_aton() instead of inet_pton() */
8280 $_def_use_aton
8282 /* enables / disables cdparanoia support */
8283 $_def_cdparanoia
8285 /* enables / disables VIDIX usage */
8286 $_def_vidix
8287 $_def_vidix_pfx
8289 /* enables / disables new input joystick support */
8290 $_def_joystick
8292 /* enables / disables QTX codecs */
8293 $_def_qtx
8295 /* enables / disables osd menu */
8296 $_def_menu
8298 /* enables / disables subtitles sorting */
8299 $_def_sortsub
8301 /* XMMS input plugin support */
8302 $_def_xmms
8303 #define XMMS_INPUT_PLUGIN_DIR "$_xmmsplugindir"
8305 /* enables inet6 support */
8306 $_def_inet6
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 */
8328 #ifdef HAVE_MLIB
8329 #define LIBMPEG2_MLIB 1
8330 #endif
8332 /* libvo options */
8333 #define SCREEN_SIZE_X 1
8334 #define SCREEN_SIZE_Y 1
8335 $_def_x11
8336 $_def_xv
8337 $_def_xvmc
8338 $_def_vm
8339 $_def_xf86keysym
8340 $_def_xinerama
8341 $_def_gl
8342 $_def_gl_win32
8343 $_def_dga
8344 $_def_dga2
8345 $_def_sdl
8346 /* defined for SDLlib with keyrepeat bugs (before 1.2.1) */
8347 $_def_sdlbuggy
8348 $_def_directx
8349 $_def_ggi
8350 $_def_ggiwmh
8351 $_def_3dfx
8352 $_def_s3fb
8353 $_def_tdfxfb
8354 $_def_tdfxvid
8355 $_def_directfb
8356 $_def_directfb_version
8357 $_def_dfbmga
8358 $_def_zr
8359 $_def_bl
8360 $_def_mga
8361 $_def_xmga
8362 $_def_syncfb
8363 $_def_fbdev
8364 $_def_dxr2
8365 $_def_dxr3
8366 $_def_ivtv
8367 $_def_dvb
8368 $_def_dvb_in
8369 $_def_svga
8370 $_def_vesa
8371 $_def_xdpms
8372 $_def_aa
8373 $_def_caca
8374 $_def_tga
8375 $_def_toolame
8376 $_def_twolame
8378 /* used by GUI: */
8379 $_def_xshape
8381 #if defined(HAVE_GL) || defined(HAVE_X11) || defined(HAVE_XV)
8382 #define X11_FULLSCREEN 1
8383 #endif
8385 #endif /* MPLAYER_CONFIG_H */
8388 #############################################################################
8390 cat << EOF
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
8401 Languages:
8402 Messages/GUI: $_language
8405 echo -n " Manual pages: $MAN_LANG"
8406 test "$LANGUAGES" = en && echo -n " (no localization selected, use --language=all)"
8407 echo
8409 cat << EOF
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)"
8436 echo
8439 if test "$_sdl" = "outdated" ; then
8440 cat <<EOF
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.
8455 if x86; then
8456 if test "$_win32" = no ; then
8457 if test "$_win32libdir" ; then
8458 echo "Failed to find a Win32 codecs dir at $_win32libdir!"
8459 else
8460 echo "Failed to find a Win32 codecs directory! (default: /usr/local/lib/codecs/)"
8462 cat << EOF
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/
8468 else
8469 cat <<EOF
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.
8478 cat <<EOF
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
8490 cat <<EOF
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>'
8502 # Last move:
8503 rm -f "$TMPO" "$TMPC" "$TMPS" "$TMPCPP"