10l, avoid crash on invalid subtitle id
[mplayer/glamo.git] / configure
blobd804ee22e45c74ed1cb97070179d51ba6a37ba06
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 # Store the configure line that was used
57 _configuration="$*"
59 # Prefer these macros to full length text !
60 # These macros only return an error code - NO display is done
61 compile_check() {
62 echo >> "$TMPLOG"
63 cat "$1" >> "$TMPLOG"
64 echo >> "$TMPLOG"
65 echo "$_cc $CFLAGS $_inc_extra $_ld_static $_ld_extra $_libs_mplayer $_libs_mencoder -o $TMPO $@" >> "$TMPLOG"
66 rm -f "$TMPO"
67 $_cc $CFLAGS $_inc_extra $_ld_static $_ld_extra $_libs_mplayer $_libs_mencoder -o "$TMPO" "$@" >> "$TMPLOG" 2>&1
68 TMP="$?"
69 echo >> "$TMPLOG"
70 echo "ldd $TMPO" >> "$TMPLOG"
71 $_ldd "$TMPO" >> "$TMPLOG" 2>&1
72 echo >> "$TMPLOG"
73 return "$TMP"
76 cc_check() {
77 compile_check $TMPC $@
80 cxx_check() {
81 compile_check $TMPCPP $@ -lstdc++
84 tmp_run() {
85 "$TMPO" >> "$TMPLOG" 2>&1
88 # Display error message, flushes tempfile, exit
89 die () {
90 echo
91 echo "Error: $@" >&2
92 echo >&2
93 rm -f "$TMPO" "$TMPC" "$TMPS" "$TMPCPP"
94 echo "Check \"$TMPLOG\" if you do not understand why it failed."
95 exit 1
98 # OS test booleans functions
99 issystem() {
100 test "`echo $system_name | tr A-Z a-z`" = "`echo $1 | tr A-Z a-z`"
102 linux() { issystem "Linux" ; return "$?" ; }
103 sunos() { issystem "SunOS" ; return "$?" ; }
104 hpux() { issystem "HP-UX" ; return "$?" ; }
105 irix() { issystem "IRIX" ; return "$?" ; }
106 aix() { issystem "AIX" ; return "$?" ; }
107 cygwin() { issystem "CYGWIN" ; return "$?" ; }
108 freebsd() { issystem "FreeBSD" || issystem "GNU/kFreeBSD"; return "$?" ; }
109 netbsd() { issystem "NetBSD" ; return "$?" ; }
110 bsdos() { issystem "BSD/OS" ; return "$?" ; }
111 openbsd() { issystem "OpenBSD" ; return "$?" ; }
112 bsd() { freebsd || netbsd || bsdos || openbsd ; return "$?" ; }
113 qnx() { issystem "QNX" ; return "$?" ; }
114 darwin() { issystem "Darwin" ; return "$?" ; }
115 gnu() { issystem "GNU" ; return "$?" ; }
116 mingw32() { issystem "MINGW32" ; return "$?" ; }
117 morphos() { issystem "MorphOS" ; return "$?" ; }
118 win32() { cygwin || mingw32 ; return "$?" ; }
119 beos() { issystem "BEOS" ; return "$?" ; }
121 # arch test boolean functions
122 # x86/x86pc is used by QNX
123 x86_32() {
124 case "$host_arch" in
125 i[3-9]86|x86|x86pc|k5|k6|k6-2|k6-3|pentium*|athlon*|i586-i686) return 0 ;;
126 *) return 1 ;;
127 esac
130 x86_64() {
131 case "$host_arch" in
132 x86_64|amd64) return 0 ;;
133 *) return 1 ;;
134 esac
137 x86() {
138 x86_32 || x86_64
141 ppc() {
142 case "$host_arch" in
143 ppc) return 0;;
144 *) return 1;;
145 esac
148 alpha() {
149 case "$host_arch" in
150 alpha) return 0;;
151 *) return 1;;
152 esac
155 arm() {
156 case "$host_arch" in
157 arm) return 0;;
158 *) return 1;;
159 esac
162 # not boolean test: implement the posix shell "!" operator for a
163 # non-posix /bin/sh.
164 # usage: not {command}
165 # returns exit status "success" when the execution of "command"
166 # fails.
167 not() {
168 eval "$@"
169 test $? -ne 0
172 # Use this before starting a check
173 echocheck() {
174 echo "============ Checking for $@ ============" >> "$TMPLOG"
175 echo ${_echo_n} "Checking for $@ ... ${_echo_c}"
178 # Use this to echo the results of a check
179 echores() {
180 if test "$_res_comment" ; then
181 _res_comment="($_res_comment)"
183 echo "Result is: $@ $_res_comment" >> "$TMPLOG"
184 echo "##########################################" >> "$TMPLOG"
185 echo "" >> "$TMPLOG"
186 echo "$@ $_res_comment"
187 _res_comment=""
189 #############################################################################
191 # Check how echo works in this /bin/sh
192 case `echo -n` in
193 -n) _echo_n= _echo_c='\c' ;; # SysV echo
194 *) _echo_n='-n ' _echo_c= ;; # BSD echo
195 esac
197 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"`
199 show_help(){
200 cat << EOF
201 Usage: $0 [OPTIONS]...
203 Configuration:
204 -h, --help display this help and exit
206 Installation directories:
207 --prefix=DIR prefix directory for installation [/usr/local]
208 --bindir=DIR directory for installing binaries [PREFIX/bin]
209 --datadir=DIR directory for installing machine independent
210 data files (skins, etc) [PREFIX/share/mplayer]
211 --mandir=DIR directory for installing man pages [PREFIX/man]
212 --confdir=DIR directory for installing configuration files
213 [PREFIX/etc/mplayer]
214 --libdir=DIR directory for object code libraries [PREFIX/lib]
215 --codecsdir=DIR directory for binary codecs [LIBDIR/codecs]
216 --win32codecsdir=DIR directory for Windows DLLs [LIBDIR/codecs]
217 --xanimcodecsdir=DIR directory for XAnim codecs [LIBDIR/codecs]
218 --realcodecsdir=DIR directory for RealPlayer codecs [LIBDIR/codecs]
220 Optional features:
221 --disable-mencoder disable MEncoder (A/V encoder) compilation [enable]
222 --disable-mplayer disable MPlayer compilation [enable]
223 --enable-gui enable GMPlayer compilation (GTK+ GUI) [disable]
224 --enable-gtk1 force using GTK 1.2 for the GUI [disable]
225 --enable-largefiles enable support for files > 2GB [disable]
226 --enable-linux-devfs set default devices to devfs [disable]
227 --enable-termcap use termcap database for key codes [autodetect]
228 --enable-termios use termios database for key codes [autodetect]
229 --disable-iconv disable iconv for encoding conversion [autodetect]
230 --disable-langinfo do not use langinfo [autodetect]
231 --enable-lirc enable LIRC (remote control) support [autodetect]
232 --enable-lircc enable LIRCCD (LIRC client daemon) input [autodetect]
233 --enable-joystick enable joystick support [disable]
234 --disable-vm disable X video mode extensions [autodetect]
235 --disable-xf86keysym disable support for multimedia keys [autodetect]
236 --enable-radio enable radio interface [disable]
237 --enable-radio-capture enable radio capture (through PCI/line-in) [disable]
238 --disable-radio-v4l2 disable Video4Linux2 radio interface [autodetect]
239 --disable-radio-bsdbt848 disable BSD BT848 radio interface [autodetect]
240 --disable-tv disable TV interface (TV/DVB grabbers) [enable]
241 --disable-tv-v4l1 disable Video4Linux TV interface [autodetect]
242 --disable-tv-v4l2 disable Video4Linux2 TV interface [autodetect]
243 --disable-tv-bsdbt848 disable BSD BT848 interface [autodetect]
244 --disable-pvr disable Video4Linux2 MPEG PVR [autodetect]
245 --disable-rtc disable RTC (/dev/rtc) on Linux [autodetect]
246 --disable-network disable networking [enable]
247 --enable-winsock2 enable winsock2 [autodetect]
248 --enable-smb enable Samba (SMB) input [autodetect]
249 --enable-live enable LIVE555 Streaming Media [autodetect]
250 --disable-dvdnav disable libdvdnav [autodetect]
251 --disable-dvdread disable libdvdread [autodetect]
252 --disable-dvdread-internal disable internal libdvdread [autodetect]
253 --disable-libdvdcss-internal disable internal libdvdcss [autodetect]
254 --disable-cdparanoia disable cdparanoia [autodetect]
255 --disable-cddb disable cddb [autodetect]
256 --disable-bitmap-font disable bitmap font support [enable]
257 --disable-freetype disable FreeType 2 font rendering [autodetect]
258 --disable-fontconfig disable fontconfig font lookup [autodetect]
259 --disable-unrarlib disable Unique RAR File Library [enabled]
260 --enable-menu enable OSD menu (not DVD menu) [disabled]
261 --disable-sortsub disable subtitle sorting [enabled]
262 --enable-fribidi enable the FriBiDi libs [autodetect]
263 --disable-enca disable ENCA charset oracle library [autodetect]
264 --disable-macosx disable Mac OS X specific features [autodetect]
265 --disable-maemo disable maemo specific features [autodetect]
266 --enable-macosx-finder-support enable Mac OS X Finder invocation
267 parameter parsing [disabled]
268 --enable-macosx-bundle enable Mac OS X bundle file locations [autodetect]
269 --disable-inet6 disable IPv6 support [autodetect]
270 --disable-gethostbyname2 gethostbyname2 part of the C library [autodetect]
271 --disable-ftp disable FTP support [enabled]
272 --disable-vstream disable TiVo vstream client support [autodetect]
273 --disable-pthreads disable Posix threads support [autodetect]
274 --disable-ass disable internal SSA/ASS subtitle support [autodetect]
275 --enable-rpath enable runtime linker path for extra libs [disabled]
277 Codecs:
278 --enable-gif enable GIF support [autodetect]
279 --enable-png enable PNG input/output support [autodetect]
280 --enable-jpeg enable JPEG input/output support [autodetect]
281 --enable-libcdio enable external libcdio [autodetect]
282 --enable-liblzo enable external liblzo [autodetect]
283 --disable-win32 disable Win32 DLL support [enabled]
284 --disable-qtx disable QuickTime codecs support [enabled]
285 --disable-xanim disable XAnim codecs support [enabled]
286 --disable-real disable RealPlayer codecs support [enabled]
287 --disable-xvid disable XviD [autodetect]
288 --disable-x264 disable x264 [autodetect]
289 --disable-nut disable libnut [autodetect]
290 --disable-libavutil disable libavutil [autodetect]
291 --disable-libavcodec disable libavcodec [autodetect]
292 --disable-libavformat disable libavformat [autodetect]
293 --disable-libpostproc disable libpostproc [autodetect]
294 --disable-libavutil_so disable shared libavutil [autodetect]
295 --disable-libavcodec_so disable shared libavcodec [autodetect]
296 --disable-libavformat_so disable shared libavformat [autodetect]
297 --disable-libpostproc_so disable shared libpostproc [autodetect]
298 --disable-libavcodec_mpegaudio_hp disable high precision audio decoding
299 in libavcodec [enabled]
300 --disable-tremor-internal disable internal Tremor [enabled]
301 --enable-tremor-low enable lower accuracy internal Tremor [disabled]
302 --enable-tremor-external enable external Tremor [autodetect]
303 --disable-libvorbis disable libvorbis support [autodetect]
304 --disable-speex disable Speex support [autodetect]
305 --enable-theora enable OggTheora libraries [autodetect]
306 --enable-faad-external enable external FAAD2 (AAC) [autodetect]
307 --disable-faad-internal disable internal FAAD2 (AAC) [autodetect]
308 --enable-faad-fixed enable fixed-point mode in internal FAAD2 [disabled]
309 --disable-faac disable support for FAAC (AAC encoder) [autodetect]
310 --disable-ladspa disable LADSPA plugin support [autodetect]
311 --disable-libdv disable libdv 0.9.5 en/decoding support [autodetect]
312 --disable-mad disable libmad (MPEG audio) support [autodetect]
313 --disable-toolame disable Toolame (MPEG layer 2) encoding [autodetect]
314 --disable-twolame disable Twolame (MPEG layer 2) encoding [autodetect]
315 --enable-xmms enable XMMS input plugin support [disabled]
316 --enable-libdts enable libdts support [autodetect]
317 --disable-mp3lib disable builtin mp3lib [enabled]
318 --disable-liba52 disable builtin liba52 [enabled]
319 --disable-libmpeg2 disable builtin libmpeg2 [enabled]
320 --disable-musepack disable musepack support [autodetect]
321 --disable-amr_nb disable AMR narrowband, floating-point [autodetect]
322 --disable-amr_nb-fixed disable AMR narrowband, fixed-point [autodetect]
323 --disable-amr_wb disable AMR wideband, floating-point [autodetect]
324 --disable-decoder=DECODER disable specified FFmpeg decoder
325 --enable-decoder=DECODER enable specified FFmpeg decoder
326 --disable-encoder=ENCODER disable specified FFmpeg encoder
327 --enable-encoder=ENCODER enable specified FFmpeg encoder
328 --disable-parser=PARSER disable specified FFmpeg parser
329 --enable-parser=PARSER enable specified FFmpeg parser
330 --disable-demuxer=DEMUXER disable specified FFmpeg demuxer
331 --enable-demuxer=DEMUXER enable specified FFmpeg demuxer
332 --disable-muxer=MUXER disable specified FFmpeg muxer
333 --enable-muxer=MUXER enable specified FFmpeg muxer
335 Video output:
336 --disable-vidix-internal disable internal VIDIX [for x86 *nix]
337 --disable-vidix-external disable external VIDIX [for x86 *nix]
338 --enable-gl enable OpenGL video output [autodetect]
339 --enable-dga[=n] enable DGA [n in {1, 2} ] support [autodetect]
340 --enable-vesa enable VESA video output [autodetect]
341 --enable-svga enable SVGAlib video output [autodetect]
342 --enable-sdl enable SDL video output [autodetect]
343 --enable-aa enable AAlib video output [autodetect]
344 --enable-caca enable CACA video output [autodetect]
345 --enable-ggi enable GGI video output [autodetect]
346 --enable-ggiwmh enable GGI libggiwmh extension [autodetect]
347 --enable-directx enable DirectX video output [autodetect]
348 --enable-dxr2 enable DXR2 video output [autodetect]
349 --enable-dxr3 enable DXR3/H+ video output [autodetect]
350 --enable-ivtv enable IVTV TV-Out video output [autodetect]
351 --enable-dvb enable DVB video output [autodetect]
352 --enable-dvbhead enable DVB video output (HEAD version) [autodetect]
353 --enable-mga enable mga_vid video output [autodetect]
354 --enable-xmga enable mga_vid X11 video output [autodetect]
355 --enable-xv enable Xv video output [autodetect]
356 --enable-xvmc enable XvMC acceleration [disable]
357 --enable-vm enable XF86VidMode support [autodetect]
358 --enable-xinerama enable Xinerama support [autodetect]
359 --enable-x11 enable X11 video output [autodetect]
360 --enable-xshape enable XShape support [autodetect]
361 --enable-fbdev enable FBDev video output [autodetect]
362 --enable-mlib enable mediaLib video output (Solaris) [disable]
363 --enable-3dfx enable obsolete /dev/3dfx video output [disable]
364 --enable-tdfxfb enable tdfxfb video output [disable]
365 --enable-s3fb enable s3fb (S3 ViRGE) video output [disable]
366 --enable-directfb enable DirectFB video output [autodetect]
367 --enable-zr enable ZR360[56]7/ZR36060 video output [autodetect]
368 --enable-bl enable Blinkenlights video output [disable]
369 --enable-tdfxvid enable tdfx_vid video output [disable]
370 --disable-tga disable Targa video output [enable]
371 --disable-pnm disable PNM video output [enable]
372 --disable-md5sum disable md5sum video output [enable]
374 Audio output:
375 --disable-alsa disable ALSA audio output [autodetect]
376 --disable-ossaudio disable OSS audio output [autodetect]
377 --disable-arts disable aRts audio output [autodetect]
378 --disable-esd disable esd audio output [autodetect]
379 --disable-polyp disable Polypaudio audio output [autodetect]
380 --disable-jack disable JACK audio output [autodetect]
381 --disable-openal disable OpenAL audio output [autodetect]
382 --disable-nas disable NAS audio output [autodetect]
383 --disable-sgiaudio disable SGI audio output [autodetect]
384 --disable-sunaudio disable Sun audio output [autodetect]
385 --disable-win32waveout disable Windows waveout audio output [autodetect]
386 --disable-select disable using select() on the audio device [enable]
388 Miscellaneous options:
389 --enable-runtime-cpudetection enable runtime CPU detection [disable]
390 --enable-cross-compile enable cross-compilation [autodetect]
391 --cc=COMPILER C compiler to build MPlayer [gcc]
392 --host-cc=COMPILER C compiler for tools needed while building [gcc]
393 --as=ASSEMBLER assembler to build MPlayer [as]
394 --target=PLATFORM target platform (i386-linux, arm-linux, etc)
395 --enable-static build a statically linked binary
396 --charset=charset convert the console messages to this character set
397 --language=list a white space or comma separated list of languages for
398 translated man pages, the first language is used for
399 messages and the GUI (the environment variable
400 \$LINGUAS is also honored) [en]
401 (Available: $LANGUAGES all)
402 --with-install=PATH path to a custom install program
403 --enable-color-console enable color console output (UNSUPPORTED) [disable]
405 Advanced options:
406 --enable-mmx enable MMX [autodetect]
407 --enable-mmxext enable MMX2 (Pentium III, Athlon) [autodetect]
408 --enable-3dnow enable 3DNow! [autodetect]
409 --enable-3dnowext enable extended 3DNow! [autodetect]
410 --enable-sse enable SSE [autodetect]
411 --enable-sse2 enable SSE2 [autodetect]
412 --enable-shm enable shm [autodetect]
413 --enable-altivec enable AltiVec (PowerPC) [autodetect]
414 --enable-armv5te enable DSP extensions (ARM) [autodetect]
415 --enable-iwmmxt enable iWMMXt (ARM) [autodetect]
416 --disable-fastmemcpy disable 3DNow!/SSE/MMX optimized memcpy [enable]
417 --enable-big-endian force byte order to big-endian [autodetect]
418 --enable-debug[=1-3] compile-in debugging information [disable]
419 --enable-profile compile-in profiling information [disable]
420 --disable-sighandler disable sighandler for crashes [enable]
421 --enable-crash-debug enable automatic gdb attach on crash [disable]
422 --enable-dynamic-plugins enable dynamic A/V plugins [disable]
424 Hazardous options AKA "DO NOT REPORT ANY BUGS!"
425 --disable-gcc-check disable gcc version checking [enable]
427 Use these options if autodetection fails (Options marked with (*) accept
428 multiple paths separated by ':'):
429 --extra-libs=FLAGS extra linker flags
430 --extra-libs-mplayer=FLAGS extra linker flags for MPlayer
431 --extra-libs-mencoder=FLAGS extra linker flags for MEncoder
432 --with-extraincdir=DIR extra header search paths in DIR (*)
433 --with-extralibdir=DIR extra linker search paths in DIR (*)
434 --with-xvmclib=NAME adapter-specific library name (e.g. XvMCNVIDIA)
436 --with-freetype-config=PATH path to freetype-config
437 --with-fribidi-config=PATH path to fribidi-config
438 --with-glib-config=PATH path to glib*-config
439 --with-gtk-config=PATH path to gtk*-config
440 --with-sdl-config=PATH path to sdl*-config
441 --with-dvdnav-config=PATH path to dvdnav-config
443 This configure script is NOT autoconf-based, even though its output is similar.
444 It will try to autodetect all configuration options. If you --enable an option
445 it will be forcefully turned on, skipping autodetection. This can break
446 compilation, so you need to know what you are doing.
448 exit 0
449 } #show_help()
451 # GOTCHA: the variables below defines the default behavior for autodetection
452 # and have - unless stated otherwise - at least 2 states : yes no
453 # If autodetection is available then the third state is: auto
454 _mmx=auto
455 _3dnow=auto
456 _3dnowext=auto
457 _mmxext=auto
458 _sse=auto
459 _sse2=auto
460 _cmov=auto
461 _armv5te=auto
462 _iwmmxt=auto
463 _mtrr=auto
464 _install=install
465 _ranlib=ranlib
466 _ldconfig=ldconfig
467 _ldd=ldd
468 _cc=cc
469 test "$CC" && _cc="$CC"
470 _gcc_check=yes
471 _as=auto
472 _runtime_cpudetection=no
473 _cross_compile=auto
474 _prefix="/usr/local"
475 _libavutil=auto
476 _libavutil_so=auto
477 _libavcodec=auto
478 _amr_nb=auto
479 _amr_nb_fixed=auto
480 _amr_wb=auto
481 _libavdecoders_all=`sed -n 's/^[^#]*DEC.*, *\(.*\)).*/\1_decoder/p' libavcodec/allcodecs.c | tr '[a-z]' '[A-Z]'`
482 _libavdecoders=` echo $_libavdecoders_all | sed -e s/AAC_DECODER// -e s/MPEG4AAC_DECODER// -e s/LIBA52_DECODER// -e s/LIBGSM_DECODER// -e s/LIBGSM_MS_DECODER// -e s/LIBVORBIS_DECODER// `
483 _libavencoders_all=`sed -n 's/^[^#]*ENC.*, *\(.*\)).*/\1_encoder/p' libavcodec/allcodecs.c | tr '[a-z]' '[A-Z]'`
484 _libavencoders=` echo $_libavencoders_all | sed -e s/LIBGSM_ENCODER// -e s/LIBGSM_MS_ENCODER// -e s/LIBTHEORA_ENCODER// `
485 _libavparsers_all=`sed -n 's/^[^#]*PARSER.*, *\(.*\)).*/\1_parser/p' libavcodec/allcodecs.c | tr '[a-z]' '[A-Z]'`
486 _libavparsers=$_libavparsers_all
487 _libavdemuxers_all=`sed -n 's/^[^#]*DEMUX.*, *\(.*\)).*/\1_demuxer/p' libavformat/allformats.c | tr '[a-z]' '[A-Z]'`
488 _libavdemuxers=`echo $_libavdemuxers_all | sed -e s/AUDIO_DEMUXER// -e s/DC1394_DEMUXER// -e s/DV1394_DEMUXER// -e s/REDIR_DEMUXER// -e s/RTSP_DEMUXER// -e s/SDP_DEMUXER// -e s/VIDEO_GRAB_DEVICE_DEMUXER// -e s/X11_GRAB_DEVICE_DEMUXER// -e s/V4L2_DEMUXER// -e s/LIBNUT_DEMUXER// `
489 _libavmuxers_all=`sed -n 's/^[^#]*_MUX.*, *\(.*\)).*/\1_muxer/p' libavformat/allformats.c | tr '[a-z]' '[A-Z]'`
490 _libavmuxers=`echo $_libavmuxers_all | sed -e s/AUDIO_MUXER// -e s/RTP_MUXER// `
491 _libavcodec_so=auto
492 _libavformat=auto
493 _libavformat_so=auto
494 _libpostproc=auto
495 _libpostproc_so=auto
496 _libavcodec_mpegaudio_hp=yes
497 _mencoder=yes
498 _mplayer=yes
499 _x11=auto
500 _xshape=auto
501 _dga=auto # 1 2 no auto
502 _xv=auto
503 _xvmc=no #auto when complete
504 _sdl=auto
505 _directx=auto
506 _win32waveout=auto
507 _nas=auto
508 _png=auto
509 _jpeg=auto
510 _pnm=yes
511 _md5sum=yes
512 _gif=auto
513 _gl=auto
514 _ggi=auto
515 _ggiwmh=auto
516 _aa=auto
517 _caca=auto
518 _svga=auto
519 _vesa=auto
520 _fbdev=auto
521 _dvb=auto
522 _dvbhead=auto
523 _dxr2=auto
524 _dxr3=auto
525 _ivtv=auto
526 _iconv=auto
527 _langinfo=auto
528 _rtc=auto
529 _ossaudio=auto
530 _arts=auto
531 _esd=auto
532 _polyp=auto
533 _jack=auto
534 _openal=auto
535 _libcdio=auto
536 _liblzo=auto
537 _mad=auto
538 _toolame=auto
539 _twolame=auto
540 _tremor_internal=yes
541 _tremor_low=no
542 _tremor_external=auto
543 _libvorbis=auto
544 _speex=auto
545 _theora=auto
546 _mp3lib=yes
547 _liba52=yes
548 _libdts=auto
549 _libmpeg2=yes
550 _faad_internal=auto
551 _faad_external=auto
552 _faad_fixed=no
553 _faac=auto
554 _ladspa=auto
555 _xmms=no
556 _dvdnav=auto
557 _dvdnavconfig=dvdnav-config
558 _dvdread=auto
559 _dvdread_internal=auto
560 _libdvdcss_internal=auto
561 _xanim=auto
562 _real=auto
563 _live=auto
564 _xinerama=auto
565 _mga=auto
566 _xmga=auto
567 _vm=auto
568 _xf86keysym=auto
569 _mlib=no #broken, thus disabled
570 _sgiaudio=auto
571 _sunaudio=auto
572 _alsa=auto
573 _fastmemcpy=yes
574 _unrarlib=yes
575 _win32=auto
576 _select=yes
577 _radio=no
578 _radio_capture=no
579 _radio_v4l=auto
580 _radio_v4l2=auto
581 _radio_bsdbt848=auto
582 _tv=yes
583 _tv_v4l1=auto
584 _tv_v4l2=auto
585 _tv_bsdbt848=auto
586 _pvr=auto
587 _network=yes
588 _winsock2=auto
589 _smbsupport=auto
590 _vidix_internal=auto
591 _vidix_external=auto
592 _joystick=no
593 _xvid=auto
594 _x264=auto
595 _nut=auto
596 _lirc=auto
597 _lircc=auto
598 _gui=no
599 _gtk1=no
600 _termcap=auto
601 _termios=auto
602 _3dfx=no
603 _s3fb=no
604 _tdfxfb=no
605 _tdfxvid=no
606 _tga=yes
607 _directfb=auto
608 _zr=auto
609 _bl=no
610 _largefiles=no
611 #_language=en
612 _shm=auto
613 _linux_devfs=no
614 _charset="UTF-8"
615 _dynamic_plugins=no
616 _crash_debug=no
617 _sighandler=yes
618 _libdv=auto
619 _cdparanoia=auto
620 _cddb=auto
621 _big_endian=auto
622 _bitmap_font=yes
623 _freetype=auto
624 _fontconfig=auto
625 _menu=no
626 _qtx=auto
627 _macosx=auto
628 _maemo=auto
629 _macosx_finder_support=no
630 _macosx_bundle=auto
631 _sortsub=yes
632 _freetypeconfig='freetype-config'
633 _fribidi=auto
634 _fribidiconfig='fribidi-config'
635 _enca=auto
636 _inet6=auto
637 _gethostbyname2=auto
638 _ftp=yes
639 _musepack=auto
640 _vstream=auto
641 _pthreads=auto
642 _ass=auto
643 _rpath=no
644 _asmalign_pot=auto
645 _color_console=no
646 for ac_option do
647 case "$ac_option" in
648 --help|-help|-h)
649 show_help
651 --prefix=*)
652 _prefix=`echo $ac_option | cut -d '=' -f 2`
654 --bindir=*)
655 _bindir=`echo $ac_option | cut -d '=' -f 2`
657 --datadir=*)
658 _datadir=`echo $ac_option | cut -d '=' -f 2`
660 --mandir=*)
661 _mandir=`echo $ac_option | cut -d '=' -f 2`
663 --confdir=*)
664 _confdir=`echo $ac_option | cut -d '=' -f 2`
666 --libdir=*)
667 _libdir=`echo $ac_option | cut -d '=' -f 2`
669 --codecsdir=*)
670 _codecsdir=`echo $ac_option | cut -d '=' -f 2`
672 --win32codecsdir=*)
673 _win32codecsdir=`echo $ac_option | cut -d '=' -f 2`
675 --xanimcodecsdir=*)
676 _xanimcodecsdir=`echo $ac_option | cut -d '=' -f 2`
678 --realcodecsdir=*)
679 _realcodecsdir=`echo $ac_option | cut -d '=' -f 2`
681 --with-extraincdir=*)
682 _inc_extra=-I`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -I,g'`
684 --with-extralibdir=*)
685 _ld_extra=-L`echo $ac_option | cut -d '=' -f 2 | sed 's,:, -L,g'`
688 --with-install=*)
689 _install=`echo $ac_option | cut -d '=' -f 2 `
691 --with-xvmclib=*)
692 _xvmclib=`echo $ac_option | cut -d '=' -f 2`
695 --with-sdl-config=*)
696 _sdlconfig=`echo $ac_option | cut -d '=' -f 2`
698 --with-freetype-config=*)
699 _freetypeconfig=`echo $ac_option | cut -d '=' -f 2`
701 --with-fribidi-config=*)
702 _fribidiconfig=`echo $ac_option | cut -d '=' -f 2`
704 --with-gtk-config=*)
705 _gtkconfig=`echo $ac_option | cut -d '=' -f 2`
707 --with-glib-config=*)
708 _glibconfig=`echo $ac_option | cut -d '=' -f 2`
710 --with-dvdnav-config=*)
711 _dvdnavconfig=`echo $ac_option | cut -d '=' -f 2`
714 --extra-libs=*)
715 _extra_libs=`echo $ac_option | cut -d '=' -f 2`
717 --extra-libs-mplayer=*)
718 _libs_mplayer=`echo $ac_option | cut -d '=' -f 2`
720 --extra-libs-mencoder=*)
721 _libs_mencoder=`echo $ac_option | cut -d '=' -f 2`
724 --target=*)
725 _target=`echo $ac_option | cut -d '=' -f 2`
727 --cc=*)
728 _cc=`echo $ac_option | cut -d '=' -f 2`
730 --host-cc=*)
731 _host_cc=`echo $ac_option | cut -d '=' -f 2`
733 --as=*)
734 _as=`echo $ac_option | cut -d '=' -f 2`
736 --charset=*)
737 _charset=`echo $ac_option | cut -d '=' -f 2`
739 --language=*)
740 _language=`echo $ac_option | cut -d '=' -f 2`
743 --enable-static)
744 _ld_static='-static'
746 --disable-static)
747 _ld_static=''
749 --enable-profile)
750 _profile='-p'
752 --disable-profile)
753 _profile=
755 --enable-debug)
756 _debug='-g'
758 --enable-debug=*)
759 _debug=`echo $_echo_n '-g'$_echo_c; echo $ac_option | cut -d '=' -f 2`
761 --disable-debug)
762 _debug=
764 --enable-gcc-check) _gcc_check=yes ;;
765 --disable-gcc-check) _gcc_check=no ;;
766 --enable-runtime-cpudetection) _runtime_cpudetection=yes ;;
767 --disable-runtime-cpudetection) _runtime_cpudetection=no ;;
768 --enable-cross-compile) _cross_compile=yes ;;
769 --disable-cross-compile) _cross_compile=no ;;
770 --enable-mencoder) _mencoder=yes ;;
771 --disable-mencoder) _mencoder=no ;;
772 --enable-mplayer) _mplayer=yes ;;
773 --disable-mplayer) _mplayer=no ;;
774 --enable-dynamic-plugins) _dynamic_plugins=yes ;;
775 --disable-dynamic-plugins) _dynamic_plugins=no ;;
776 --enable-x11) _x11=yes ;;
777 --disable-x11) _x11=no ;;
778 --enable-xshape) _xshape=yes ;;
779 --disable-xshape) _xshape=no ;;
780 --enable-xv) _xv=yes ;;
781 --disable-xv) _xv=no ;;
782 --enable-xvmc) _xvmc=yes ;;
783 --disable-xvmc) _xvmc=no ;;
784 --enable-sdl) _sdl=yes ;;
785 --disable-sdl) _sdl=no ;;
786 --enable-directx) _directx=yes ;;
787 --disable-directx) _directx=no ;;
788 --enable-win32waveout) _win32waveout=yes ;;
789 --disable-win32waveout) _win32waveout=no ;;
790 --enable-nas) _nas=yes ;;
791 --disable-nas) _nas=no ;;
792 --enable-png) _png=yes ;;
793 --disable-png) _png=no ;;
794 --enable-jpeg) _jpeg=yes ;;
795 --disable-jpeg) _jpeg=no ;;
796 --enable-pnm) _pnm=yes ;;
797 --disable-pnm) _pnm=no ;;
798 --enable-md5sum) _md5sum=yes ;;
799 --disable-md5sum) _md5sum=no ;;
800 --enable-gif) _gif=yes ;;
801 --disable-gif) _gif=no ;;
802 --enable-gl) _gl=yes ;;
803 --disable-gl) _gl=no ;;
804 --enable-ggi) _ggi=yes ;;
805 --disable-ggi) _ggi=no ;;
806 --enable-ggiwmh) _ggiwmh=yes ;;
807 --disable-ggiwmh) _ggiwmh=no ;;
808 --enable-aa) _aa=yes ;;
809 --disable-aa) _aa=no ;;
810 --enable-caca) _caca=yes ;;
811 --disable-caca) _caca=no ;;
812 --enable-svga) _svga=yes ;;
813 --disable-svga) _svga=no ;;
814 --enable-vesa) _vesa=yes ;;
815 --disable-vesa) _vesa=no ;;
816 --enable-fbdev) _fbdev=yes ;;
817 --disable-fbdev) _fbdev=no ;;
818 --enable-dvb) _dvb=yes ;;
819 --disable-dvb) _dvb=no ;;
820 --enable-dvbhead) _dvbhead=yes ;;
821 --disable-dvbhead) _dvbhead=no ;;
822 --enable-dxr2) _dxr2=yes ;;
823 --disable-dxr2) _dxr2=no ;;
824 --enable-dxr3) _dxr3=yes ;;
825 --disable-dxr3) _dxr3=no ;;
826 --enable-ivtv) _ivtv=yes ;;
827 --disable-ivtv) _ivtv=no ;;
828 --enable-iconv) _iconv=yes ;;
829 --disable-iconv) _iconv=no ;;
830 --enable-langinfo) _langinfo=yes ;;
831 --disable-langinfo) _langinfo=no ;;
832 --enable-rtc) _rtc=yes ;;
833 --disable-rtc) _rtc=no ;;
834 --enable-libdv) _libdv=yes ;;
835 --disable-libdv) _libdv=no ;;
836 --enable-ossaudio) _ossaudio=yes ;;
837 --disable-ossaudio) _ossaudio=no ;;
838 --enable-arts) _arts=yes ;;
839 --disable-arts) _arts=no ;;
840 --enable-esd) _esd=yes ;;
841 --disable-esd) _esd=no ;;
842 --enable-polyp) _polyp=yes ;;
843 --disable-polyp) _polyp=no ;;
844 --enable-jack) _jack=yes ;;
845 --disable-jack) _jack=no ;;
846 --enable-openal) _openal=yes ;;
847 --disable-openal) _openal=no ;;
848 --enable-mad) _mad=yes ;;
849 --disable-mad) _mad=no ;;
850 --enable-toolame) _toolame=yes ;;
851 --disable-toolame) _toolame=no ;;
852 --enable-twolame) _twolame=yes ;;
853 --disable-twolame) _twolame=no ;;
854 --enable-libcdio) _libcdio=yes ;;
855 --disable-libcdio) _libcdio=no ;;
856 --enable-liblzo) _liblzo=yes ;;
857 --disable-liblzo) _liblzo=no ;;
858 --enable-libvorbis) _libvorbis=yes ;;
859 --disable-libvorbis) _libvorbis=no ;;
860 --enable-speex) _speex=yes ;;
861 --disable-speex) _speex=no ;;
862 --enable-tremor-internal) _tremor_internal=yes ;;
863 --disable-tremor-internal) _tremor_internal=no ;;
864 --enable-tremor-low) _tremor_low=yes ;;
865 --disable-tremor-low) _tremor_low=no ;;
866 --enable-tremor-external) _tremor_external=yes ;;
867 --disable-tremor-external) _tremor_external=no ;;
868 --enable-theora) _theora=yes ;;
869 --disable-theora) _theora=no ;;
870 --enable-mp3lib) _mp3lib=yes ;;
871 --disable-mp3lib) _mp3lib=no ;;
872 --enable-liba52) _liba52=yes ;;
873 --disable-liba52) _liba52=no ;;
874 --enable-libdts) _libdts=yes ;;
875 --disable-libdts) _libdts=no ;;
876 --enable-libmpeg2) _libmpeg2=yes ;;
877 --disable-libmpeg2) _libmpeg2=no ;;
878 --enable-musepack) _musepack=yes ;;
879 --disable-musepack) _musepack=no ;;
880 --enable-faad-internal) _faad_internal=yes ;;
881 --disable-faad-internal) _faad_internal=no ;;
882 --enable-faad-external) _faad_external=yes ;;
883 --disable-faad-external) _faad_external=no ;;
884 --enable-faad-fixed) _faad_fixed=yes ;;
885 --disable-faad-fixed) _faad_fixed=no ;;
886 --enable-faac) _faac=yes ;;
887 --disable-faac) _faac=no ;;
888 --enable-ladspa) _ladspa=yes ;;
889 --disable-ladspa) _ladspa=no ;;
890 --enable-xmms) _xmms=yes ;;
891 --disable-xmms) _xmms=no ;;
892 --enable-dvdread) _dvdread=yes ;;
893 --disable-dvdread) _dvdread=no ;;
894 --enable-dvdread-internal) _dvdread_internal=yes ;;
895 --disable-dvdread-internal) _dvdread_internal=no ;;
896 --enable-libdvdcss-internal) _libdvdcss_internal=yes ;;
897 --disable-libdvdcss-internal) _libdvdcss_internal=no ;;
898 --enable-dvdnav) _dvdnav=yes ;;
899 --disable-dvdnav) _dvdnav=no ;;
900 --enable-xanim) _xanim=yes ;;
901 --disable-xanim) _xanim=no ;;
902 --enable-real) _real=yes ;;
903 --disable-real) _real=no ;;
904 --enable-live) _live=yes ;;
905 --disable-live) _live=no ;;
906 --enable-xinerama) _xinerama=yes ;;
907 --disable-xinerama) _xinerama=no ;;
908 --enable-mga) _mga=yes ;;
909 --disable-mga) _mga=no ;;
910 --enable-xmga) _xmga=yes ;;
911 --disable-xmga) _xmga=no ;;
912 --enable-vm) _vm=yes ;;
913 --disable-vm) _vm=no ;;
914 --enable-xf86keysym) _xf86keysym=yes ;;
915 --disable-xf86keysym) _xf86keysym=no ;;
916 --enable-mlib) _mlib=yes ;;
917 --disable-mlib) _mlib=no ;;
918 --enable-sunaudio) _sunaudio=yes ;;
919 --disable-sunaudio) _sunaudio=no ;;
920 --enable-sgiaudio) _sgiaudio=yes ;;
921 --disable-sgiaudio) _sgiaudio=no ;;
922 --enable-alsa) _alsa=yes ;;
923 --disable-alsa) _alsa=no ;;
924 --enable-tv) _tv=yes ;;
925 --disable-tv) _tv=no ;;
926 --enable-tv-bsdbt848) _tv_bsdbt848=yes ;;
927 --disable-tv-bsdbt848) _tv_bsdbt848=no ;;
928 --enable-tv-v4l1) _tv_v4l1=yes ;;
929 --disable-tv-v4l1) _tv_v4l1=no ;;
930 --enable-tv-v4l2) _tv_v4l2=yes ;;
931 --disable-tv-v4l2) _tv_v4l2=no ;;
932 --enable-radio) _radio=yes ;;
933 --enable-radio-capture) _radio_capture=yes ;;
934 --disable-radio-capture) _radio_capture=no ;;
935 --disable-radio) _radio=no ;;
936 --enable-radio-v4l) _radio_v4l=yes ;;
937 --disable-radio-v4l) _radio_v4l=no ;;
938 --enable-radio-v4l2) _radio_v4l2=yes ;;
939 --disable-radio-v4l2) _radio_v4l2=no ;;
940 --enable-radio-bsdbt848) _radio_bsdbt848=yes ;;
941 --disable-radio-bsdbt848) _radio_bsdbt848=no ;;
942 --enable-pvr) _pvr=yes ;;
943 --disable-pvr) _pvr=no ;;
944 --enable-fastmemcpy) _fastmemcpy=yes ;;
945 --disable-fastmemcpy) _fastmemcpy=no ;;
946 --enable-network) _network=yes ;;
947 --disable-network) _network=no ;;
948 --enable-winsock2) _winsock2=yes ;;
949 --disable-winsock2) _winsock2=no ;;
950 --enable-smb) _smbsupport=yes ;;
951 --disable-smb) _smbsupport=no ;;
952 --enable-vidix-internal) _vidix_internal=yes ;;
953 --disable-vidix-internal) _vidix_internal=no ;;
954 --enable-vidix-external) _vidix_external=yes ;;
955 --disable-vidix-external) _vidix_external=no ;;
956 --enable-joystick) _joystick=yes ;;
957 --disable-joystick) _joystick=no ;;
958 --enable-xvid) _xvid=yes ;;
959 --disable-xvid) _xvid=no ;;
960 --enable-x264) _x264=yes ;;
961 --disable-x264) _x264=no ;;
962 --enable-nut) _nut=yes ;;
963 --disable-nut) _nut=no ;;
964 --enable-libavutil) _libavutil=yes ;;
965 --disable-libavutil) _libavutil=no ;;
966 --enable-libavutil_so) _libavutil_so=yes ;;
967 --disable-libavutil_so) _libavutil_so=no ;;
968 --enable-libavcodec) _libavcodec=yes ;;
969 --disable-libavcodec) _libavcodec=no ;;
970 --enable-libavcodec_so) _libavcodec_so=yes ;;
971 --disable-libavcodec_so) _libavcodec_so=no ;;
972 --enable-amr_nb) _amr_nb=yes ;;
973 --disable-amr_nb) _amr_nb=no ;;
974 --enable-amr_nb-fixed) _amr_nb_fixed=yes ;;
975 --disable-amr_nb-fixed) _amr_nb_fixed=no ;;
976 --enable-amr_wb) _amr_wb=yes ;;
977 --disable-amr_wb) _amr_wb=no ;;
978 --enable-decoder=*) _libavdecoders="$_libavdecoders `echo $ac_option | cut -d '=' -f 2`" ;;
979 --disable-decoder=*) _libavdecoders=`echo $_libavdecoders | sed "s/\`echo $ac_option | cut -d '=' -f 2\`//g"` ;;
980 --enable-encoder=*) _libavencoders="$_libavencoders `echo $ac_option | cut -d '=' -f 2`" ;;
981 --disable-encoder=*) _libavencoders=`echo $_libavencoders | sed "s/\`echo $ac_option | cut -d '=' -f 2\`//g"` ;;
982 --enable-parser=*) _libavparsers="$_libavparsers `echo $ac_option | cut -d '=' -f 2`" ;;
983 --disable-parser=*) _libavparsers=`echo $_libavparsers | sed "s/\`echo $ac_option | cut -d '=' -f 2\`//g"` ;;
984 --enable-demuxer=*) _libavdemuxers="$_libavdemuxers `echo $ac_option | cut -d '=' -f 2`" ;;
985 --disable-demuxer=*) _libavdemuxers=`echo $_libavdemuxers | sed "s/\`echo $ac_option | cut -d '=' -f 2\`//g"` ;;
986 --enable-muxer=*) _libavmuxers="$_libavmuxers `echo $ac_option | cut -d '=' -f 2`" ;;
987 --disable-muxer=*) _libavmuxers=`echo $_libavmuxers | sed "s/\`echo $ac_option | cut -d '=' -f 2\`//g"` ;;
988 --enable-libavformat) _libavformat=yes;;
989 --disable-libavformat) _libavformat=no ;;
990 --enable-libavformat_so) _libavformat_so=yes ;;
991 --disable-libavformat_so) _libavformat_so=no ;;
992 --enable-libpostproc) _libpostproc=yes ;;
993 --disable-libpostproc) _libpostproc=no ;;
994 --enable-libpostproc_so) _libpostproc_so=yes ;;
995 --disable-libpostproc_so) _libpostproc_so=no ;;
996 --enable-libavcodec_mpegaudio_hp) _libavcodec_mpegaudio_hp=yes ;;
997 --disable-libavcodec_mpegaudio_hp) _libavcodec_mpegaudio_hp=no ;;
999 --enable-lirc) _lirc=yes ;;
1000 --disable-lirc) _lirc=no ;;
1001 --enable-lircc) _lircc=yes ;;
1002 --disable-lircc) _lircc=no ;;
1003 --enable-gui) _gui=yes ;;
1004 --disable-gui) _gui=no ;;
1005 --enable-gtk1) _gtk1=yes ;;
1006 --disable-gtk1) _gtk1=no ;;
1007 --enable-termcap) _termcap=yes ;;
1008 --disable-termcap) _termcap=no ;;
1009 --enable-termios) _termios=yes ;;
1010 --disable-termios) _termios=no ;;
1011 --enable-3dfx) _3dfx=yes ;;
1012 --disable-3dfx) _3dfx=no ;;
1013 --enable-s3fb) _s3fb=yes ;;
1014 --disable-s3fb) _s3fb=no ;;
1015 --enable-tdfxfb) _tdfxfb=yes ;;
1016 --disable-tdfxfb) _tdfxfb=no ;;
1017 --disable-tdfxvid) _tdfxvid=no ;;
1018 --enable-tdfxvid) _tdfxvid=yes ;;
1019 --disable-tga) _tga=no ;;
1020 --enable-tga) _tga=yes ;;
1021 --enable-directfb) _directfb=yes ;;
1022 --disable-directfb) _directfb=no ;;
1023 --enable-zr) _zr=yes ;;
1024 --disable-zr) _zr=no ;;
1025 --enable-bl) _bl=yes ;;
1026 --disable-bl) _bl=no ;;
1027 --enable-mtrr) _mtrr=yes ;;
1028 --disable-mtrr) _mtrr=no ;;
1029 --enable-largefiles) _largefiles=yes ;;
1030 --disable-largefiles) _largefiles=no ;;
1031 --enable-shm) _shm=yes ;;
1032 --disable-shm) _shm=no ;;
1033 --enable-select) _select=yes ;;
1034 --disable-select) _select=no ;;
1035 --enable-linux-devfs) _linux_devfs=yes ;;
1036 --disable-linux-devfs) _linux_devfs=no ;;
1037 --enable-cdparanoia) _cdparanoia=yes ;;
1038 --disable-cdparanoia) _cdparanoia=no ;;
1039 --enable-cddb) _cddb=yes ;;
1040 --disable-cddb) _cddb=no ;;
1041 --enable-big-endian) _big_endian=yes ;;
1042 --disable-big-endian) _big_endian=no ;;
1043 --enable-bitmap-font) _bitmap_font=yes ;;
1044 --disable-bitmap-font) _bitmap_font=no ;;
1045 --enable-freetype) _freetype=yes ;;
1046 --disable-freetype) _freetype=no ;;
1047 --enable-fontconfig) _fontconfig=yes ;;
1048 --disable-fontconfig) _fontconfig=no ;;
1049 --enable-unrarlib) _unrarlib=yes ;;
1050 --disable-unrarlib) _unrarlib=no ;;
1051 --enable-ftp) _ftp=yes ;;
1052 --disable-ftp) _ftp=no ;;
1053 --enable-vstream) _vstream=yes ;;
1054 --disable-vstream) _vstream=no ;;
1055 --enable-pthreads) _pthreads=yes ;;
1056 --disable-pthreads) _pthreads=no ;;
1057 --enable-ass) _ass=yes ;;
1058 --disable-ass) _ass=no ;;
1059 --enable-rpath) _rpath=yes ;;
1060 --disable-rpath) _rpath=no ;;
1061 --enable-color-console) _color_console=yes ;;
1062 --disable-color-console) _color_console=no ;;
1064 --enable-fribidi) _fribidi=yes ;;
1065 --disable-fribidi) _fribidi=no ;;
1067 --enable-enca) _enca=yes ;;
1068 --disable-enca) _enca=no ;;
1070 --enable-inet6) _inet6=yes ;;
1071 --disable-inet6) _inet6=no ;;
1073 --enable-gethostbyname2) _gethostbyname2=yes ;;
1074 --disable-gethostbyname2) _gethostbyname2=no ;;
1076 --enable-dga) _dga=auto ;; # as we don't know if it's 1 or 2
1077 --enable-dga=*) _dga=`echo $ac_option | cut -d '=' -f 2` ;;
1078 --disable-dga) _dga=no ;;
1080 --enable-menu) _menu=yes ;;
1081 --disable-menu) _menu=no ;;
1083 --enable-qtx) _qtx=yes ;;
1084 --disable-qtx) _qtx=no ;;
1086 --enable-macosx) _macosx=yes ;;
1087 --disable-macosx) _macosx=no ;;
1088 --enable-macosx-finder-support) _macosx_finder_support=yes ;;
1089 --disable-macosx-finder-support) _macosx_finder_support=no ;;
1090 --enable-macosx-bundle) _macosx_bundle=yes;;
1091 --disable-macosx-bundle) _macosx_bundle=no;;
1093 --enable-maemo) _maemo=yes ;;
1094 --disable-maemo) _maemo=no ;;
1096 --enable-sortsub) _sortsub=yes ;;
1097 --disable-sortsub) _sortsub=no ;;
1099 --enable-crash-debug) _crash_debug=yes ;;
1100 --disable-crash-debug) _crash_debug=no ;;
1101 --enable-sighandler) _sighandler=yes ;;
1102 --disable-sighandler) _sighandler=no ;;
1103 --enable-win32) _win32=yes ;;
1104 --disable-win32) _win32=no ;;
1106 --enable-sse) _sse=yes ;;
1107 --disable-sse) _sse=no ;;
1108 --enable-sse2) _sse2=yes ;;
1109 --disable-sse2) _sse2=no ;;
1110 --enable-mmxext) _mmxext=yes ;;
1111 --disable-mmxext) _mmxext=no ;;
1112 --enable-3dnow) _3dnow=yes ;;
1113 --disable-3dnow) _3dnow=no _3dnowext=no ;;
1114 --enable-3dnowext) _3dnow=yes _3dnowext=yes ;;
1115 --disable-3dnowext) _3dnowext=no ;;
1116 --enable-cmov) _cmov=yes ;;
1117 --disable-cmov) _cmov=no ;;
1118 --enable-altivec) _altivec=yes ;;
1119 --disable-altivec) _altivec=no ;;
1120 --enable-armv5te) _armv5te=yes ;;
1121 --disable-armv5te) _armv5te=no ;;
1122 --enable-iwmmxt) _iwmmxt=yes ;;
1123 --disable-iwmmxt) _iwmmxt=no ;;
1124 --enable-mmx) _mmx=yes ;;
1125 --disable-mmx) # 3Dnow! and MMX2 require MMX
1126 _3dnow=no _3dnowext=no _mmx=no _mmxext=no ;;
1129 echo "Unknown parameter: $ac_option"
1130 exit 1
1133 esac
1134 done
1136 # Atmos: moved this here, to be correct, if --prefix is specified
1137 test -z "$_bindir" && _bindir="$_prefix/bin"
1138 test -z "$_datadir" && _datadir="$_prefix/share/mplayer"
1139 test -z "$_mandir" && _mandir="$_prefix/man"
1140 test -z "$_confdir" && _confdir="$_prefix/etc/mplayer"
1141 test -z "$_libdir" && _libdir="$_prefix/lib"
1143 # Determine our OS name and CPU architecture
1144 if test -z "$_target" ; then
1145 # OS name
1146 system_name=`uname -s 2>&1`
1147 case "$system_name" in
1148 Linux|FreeBSD|NetBSD|BSD/OS|OpenBSD|SunOS|QNX|Darwin|GNU|BeOS|MorphOS|AIX)
1150 IRIX*)
1151 system_name=IRIX
1153 GNU/kFreeBSD)
1154 system_name=FreeBSD
1156 HP-UX*)
1157 system_name=HP-UX
1159 [cC][yY][gG][wW][iI][nN]*)
1160 system_name=CYGWIN
1162 MINGW32*)
1163 system_name=MINGW32
1166 system_name="$system_name-UNKNOWN"
1168 esac
1171 # host's CPU/instruction set
1172 host_arch=`uname -p 2>&1`
1173 case "$host_arch" in
1174 i386|sparc|ppc|alpha|arm|mips|vax)
1176 powerpc) # Darwin returns 'powerpc'
1177 host_arch=ppc
1179 *) # uname -p on Linux returns 'unknown' for the processor type,
1180 # OpenBSD returns 'Intel Pentium/MMX ("Genuine Intel" 586-class)'
1182 # Maybe uname -m (machine hardware name) returns something we
1183 # recognize.
1185 # x86/x86pc is used by QNX
1186 case "`uname -m 2>&1`" in
1187 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 ;;
1188 ia64) host_arch=ia64 ;;
1189 x86_64|amd64)
1190 if [ -n "`$_cc -dumpmachine | sed -n '/^x86_64-/p;/^amd64-/p'`" -a \
1191 -z "`echo $CFLAGS | grep -- -m32`" ]; then
1192 host_arch=x86_64
1193 else
1194 host_arch=i386
1197 macppc|ppc|ppc64) host_arch=ppc ;;
1198 alpha) host_arch=alpha ;;
1199 sparc) host_arch=sparc ;;
1200 sparc64) host_arch=sparc64 ;;
1201 parisc*|hppa*|9000*) host_arch=hppa ;;
1202 arm*|zaurus|cats) host_arch=arm ;;
1203 s390) host_arch=s390 ;;
1204 s390x) host_arch=s390x ;;
1205 mips*) host_arch=mips ;;
1206 vax) host_arch=vax ;;
1207 *) host_arch=UNKNOWN ;;
1208 esac
1210 esac
1211 else # if test -z "$_target"
1212 system_name=`echo $_target | cut -d '-' -f 2`
1213 case "`echo $system_name | tr A-Z a-z`" in
1214 linux) system_name=Linux ;;
1215 freebsd) system_name=FreeBSD ;;
1216 gnu/kfreebsd) system_name=FreeBSD ;;
1217 netbsd) system_name=NetBSD ;;
1218 bsd/os) system_name=BSD/OS ;;
1219 openbsd) system_name=OpenBSD ;;
1220 sunos) system_name=SunOS ;;
1221 qnx) system_name=QNX ;;
1222 morphos) system_name=MorphOS ;;
1223 mingw32msvc) system_name=MINGW32 ;;
1224 esac
1225 # We need to convert underscores so that values like k6-2 and pentium-mmx can be passed
1226 host_arch=`echo $_target | cut -d '-' -f 1 | tr '_' '-'`
1229 echo "Detected operating system: $system_name"
1230 echo "Detected host architecture: $host_arch"
1232 if test "$_runtime_cpudetection" = yes && not x86 && not ppc; then
1233 die "Runtime CPU detection only works for x86, x86-64 and PPC!"
1236 # LGB: temporary files
1237 for I in "$TMPDIR" "$TEMPDIR" "/tmp" ; do
1238 test "$I" && break
1239 done
1241 TMPLOG="configure.log"
1242 rm -f "$TMPLOG"
1243 TMPC="$I/mplayer-conf-$RANDOM-$$.c"
1244 TMPCPP="$I/mplayer-conf-$RANDOM-$$.cpp"
1245 TMPO="$I/mplayer-conf-$RANDOM-$$.o"
1246 TMPS="$I/mplayer-conf-$RANDOM-$$.S"
1248 # config files
1250 # FIXME: A lot of stuff is installed under /usr/local
1251 # NK: But we should never use this stuff implicitly since we call compiler
1252 # from /usr we should be sure that there no effects from other compilers
1253 # (libraries) which might be installed into /usr/local. Let users use this
1254 # stuff explicitly as command line argument. In other words: It would be
1255 # resonable to have only /usr/include or only /usr/local/include.
1257 if openbsd ; then
1258 _ldconfig="ldconfig -R"
1261 if freebsd ; then
1262 _ld_extra="$_ld_extra -L/usr/local/lib"
1263 _inc_extra="$_inc_extra -I/usr/local/include"
1266 if darwin; then
1267 _ldd="otool -L"
1268 _ld_extra="$_ld_extra -L/usr/local/lib"
1269 _inc_extra="$_inc_extra -I/usr/local/include"
1272 if aix ; then
1273 _ld_extra="$_ld_extra -lC"
1276 # If IRIX we must use ar instead of ranlib (not present on IRIX systems)
1277 if irix ; then
1278 _ranlib='ar -r'
1279 elif linux ; then
1280 _ranlib='true'
1283 if win32 ; then
1284 _exesuf=".exe"
1285 # -lwinmm is always needed for osdep/timer-win2.c
1286 _ld_extra="$_ld_extra -lwinmm"
1289 # Check how to call 'head' and 'tail'. Newer versions spit out warnings
1290 # if used as 'head -1' instead of 'head -n 1', but older versions don't
1291 # know about '-n'.
1292 if test "`(echo line1 ; echo line2) | head -1 2>/dev/null`" = "line1" ; then
1293 _head() { head -$1 2>/dev/null ; }
1294 else
1295 _head() { head -n $1 2>/dev/null ; }
1297 if test "`(echo line1 ; echo line2) | tail -1 2>/dev/null`" = "line2" ; then
1298 _tail() { tail -$1 2>/dev/null ; }
1299 else
1300 _tail() { tail -n $1 2>/dev/null ; }
1303 # Checking CC version...
1304 if test "$_gcc_check" = yes ; then
1305 # Intel C++ Compilers (no autoselect, use CC=/some/binary ./configure)
1306 if test "`basename $_cc`" = "icc" || test "`basename $_cc`" = "ecc"; then
1307 echocheck "$_cc version"
1308 cc_vendor=intel
1309 cc_name=`$_cc -V 2>&1 | _head 1 | cut -d ',' -f 1`
1310 cc_version=`$_cc -V 2>&1 | _head 1 | cut -d ',' -f 2 | cut -d ' ' -f 3`
1311 _cc_major=`echo $cc_version | cut -d '.' -f 1`
1312 _cc_minor=`echo $cc_version | cut -d '.' -f 2`
1313 # TODO verify older icc/ecc compatibility
1314 case $cc_version in
1316 cc_version="v. ?.??, bad"
1317 cc_verc_fail=yes
1319 8.0|9.1)
1320 cc_version="$cc_version, ok"
1321 cc_verc_fail=no
1324 cc_version="$cc_version, bad"
1325 cc_verc_fail=yes
1327 esac
1328 echores "$cc_version"
1329 else
1330 for _cc in "$_cc" gcc gcc-3.4 gcc-3.3 gcc-3.2 gcc-3.1 gcc3 gcc-3.0 cc ; do
1331 echocheck "$_cc version"
1332 cc_vendor=gnu
1333 cc_name=`$_cc -v 2>&1 | _tail 1 | cut -d ' ' -f 1`
1334 cc_version=`$_cc -dumpversion 2>&1`
1335 if test "$?" -gt 0; then
1336 cc_version="not found"
1338 case $cc_version in
1340 cc_version="v. ?.??, bad"
1341 cc_verc_fail=yes
1343 2.95.[2-9]|2.95.[2-9][-.]*|[3-4].*)
1344 _cc_major=`echo $cc_version | cut -d '.' -f 1`
1345 _cc_minor=`echo $cc_version | cut -d '.' -f 2`
1346 _cc_mini=`echo $cc_version | cut -d '.' -f 3`
1347 cc_version="$cc_version, ok"
1348 cc_verc_fail=no
1350 'not found')
1351 cc_verc_fail=yes
1354 cc_version="$cc_version, bad"
1355 cc_verc_fail=yes
1357 esac
1358 echores "$cc_version"
1359 test "$cc_verc_fail" = "no" && break
1360 done
1361 fi # icc
1362 if test "$cc_verc_fail" = yes ; then
1363 cat <<EOF
1365 *** Please downgrade/upgrade C compiler to version gcc-2.95, 3.x or 4.x! ***
1367 You are not using a supported compiler. We do not have the time to make sure
1368 everything works with compilers other than the ones we use. Use either the
1369 same compiler as we do, or use --disable-gcc-check but DO *NOT* REPORT BUGS
1370 unless you can reproduce them after recompiling with a 2.95.x or 3/4.x version!
1372 Note for gcc 2.96 users: Some versions of this compiler are known to miscompile
1373 mplayer and lame (which is used for mencoder). If you get compile errors,
1374 first upgrade to the latest 2.96 release (minimum 2.96-85) and try again.
1375 If the problem still exists, try with gcc 3.x (or 2.95.x) *BEFORE* reporting
1376 bugs!
1378 GCC 2.96 IS NOT AND WILL NOT BE SUPPORTED BY US !
1381 die "Bad gcc version"
1383 else
1384 cat <<EOF
1386 ******************************************************************************
1388 Hmm. You really want to compile MPlayer with an *UNSUPPORTED* C compiler?
1389 Ok. You know. Do it.
1391 DO NOT SEND BUGREPORTS OR COMPLAIN, it's *YOUR* compiler's fault!
1392 Get ready for mysterious crashes, no-picture bugs, strange noises... REALLY!
1393 Lame which is used by mencoder produces weird errors, too.
1395 If you have any problem, install a GCC 2.95.x or 3.x version and try again.
1396 If the problem _still_ exists, then read DOCS/HTML/en/bugreports.html !
1398 *** DO NOT SEND BUG REPORTS OR COMPLAIN it's *YOUR* compiler's fault! ***
1400 ******************************************************************************
1404 read _answer
1407 echocheck "host cc"
1408 test "$_host_cc" || _host_cc=$_cc
1409 echores $_host_cc
1411 echocheck "cross compilation"
1412 if test $_cross_compile = auto ; then
1413 cat > $TMPC << EOF
1414 int main() { return 0; }
1416 _cross_compile=yes
1417 cc_check && "$TMPO" && _cross_compile=no
1419 echores $_cross_compile
1421 if test $_cross_compile = yes; then
1422 tmp_run() {
1423 return 0
1427 # ---
1429 # now that we know what compiler should be used for compilation, try to find
1430 # out which assembler is used by the $_cc compiler
1431 if test "$_as" = auto ; then
1432 _as=`$_cc -print-prog-name=as`
1433 test -z "$_as" && _as=as
1436 # XXX: this should be ok..
1437 _cpuinfo="echo"
1439 if test "$_runtime_cpudetection" = no ; then
1441 # Cygwin has /proc/cpuinfo, but only supports Intel CPUs
1442 # FIXME: Remove the cygwin check once AMD CPUs are supported
1443 if test -r /proc/cpuinfo && not cygwin; then
1444 # Linux with /proc mounted, extract CPU information from it
1445 _cpuinfo="cat /proc/cpuinfo"
1446 elif test -r /compat/linux/proc/cpuinfo && not x86_32 ; then
1447 # FreeBSD with Linux emulation /proc mounted,
1448 # extract CPU information from it
1449 _cpuinfo="cat /compat/linux/proc/cpuinfo"
1450 elif darwin && not x86_32 ; then
1451 # use hostinfo on Darwin
1452 _cpuinfo="hostinfo"
1453 elif aix; then
1454 # use 'lsattr' on AIX
1455 _cpuinfo="lsattr -E -l proc0 -a type"
1456 elif x86; then
1457 # all other OSes try to extract CPU information from a small helper
1458 # program TOOLS/cpuinfo instead
1459 $_cc -o TOOLS/cpuinfo TOOLS/cpuinfo.c
1460 _cpuinfo="TOOLS/cpuinfo"
1463 if x86 ; then
1464 # gather more CPU information
1465 pname=`$_cpuinfo | grep 'model name' | cut -d ':' -f 2 | _head 1`
1466 pvendor=`$_cpuinfo | grep 'vendor_id' | cut -d ':' -f 2 | cut -d ' ' -f 2 | _head 1`
1467 pfamily=`$_cpuinfo | grep 'cpu family' | cut -d ':' -f 2 | cut -d ' ' -f 2 | _head 1`
1468 pmodel=`$_cpuinfo | grep -v 'model name' | grep 'model' | cut -d ':' -f 2 | cut -d ' ' -f 2 | _head 1`
1469 pstepping=`$_cpuinfo | grep 'stepping' | cut -d ':' -f 2 | cut -d ' ' -f 2 | _head 1`
1471 exts=`$_cpuinfo | egrep 'features|flags' | cut -d ':' -f 2 | _head 1`
1473 pparam=`echo $exts | sed -e s/k6_mtrr/mtrr/ -e s/cyrix_arr/mtrr/ -e s/centaur_mcr/mtrr/ \
1474 -e s/xmm/sse/ -e s/kni/sse/`
1476 for ext in $pparam ; do
1477 eval test \$_$ext = auto 2>/dev/null && eval _$ext=kernel_check
1478 done
1480 # SSE implies MMX2, but not all SSE processors report the mmxext CPU flag.
1481 test $_sse = kernel_check && _mmxext=kernel_check
1483 echocheck "CPU vendor"
1484 echores "$pvendor ($pfamily:$pmodel:$pstepping)"
1486 echocheck "CPU type"
1487 echores "$pname"
1490 fi # test "$_runtime_cpudetection" = no
1493 case "$host_arch" in
1494 i[3-9]86|x86|x86pc|k5|k6|k6-2|k6-3|pentium*|athlon*|i586-i686)
1495 _def_arch_x86="#define ARCH_X86 1"
1496 _target_arch_x86="TARGET_ARCH_X86 = yes"
1497 _def_arch="#define ARCH_X86_32 1"
1498 _target_arch="TARGET_ARCH_X86_32 = yes"
1499 iproc=486
1500 proc=i486
1503 if test "$_runtime_cpudetection" = no ; then
1504 case "$pvendor" in
1505 AuthenticAMD)
1506 case "$pfamily" in
1507 3) proc=i386 iproc=386 ;;
1508 4) proc=i486 iproc=486 ;;
1509 5) iproc=586 # LGB: models are: K5/SSA5 K5 K5 K5 ? ? K6 K6 K6-2 K6-3
1510 # K6 model 13 are the K6-2+ and K6-III+, only differing in cache size.
1511 if test "$pmodel" -eq 9 -o "$pmodel" -eq 13; then
1512 proc=k6-3
1513 elif test "$pmodel" -eq 5 -o "$pmodel" -eq 10; then
1514 proc=geode
1515 elif test "$pmodel" -ge 8; then
1516 proc=k6-2
1517 elif test "$pmodel" -ge 6; then
1518 proc=k6
1519 else
1520 proc=i586
1523 6) iproc=686
1524 # It's a bit difficult to determine the correct type of Family 6
1525 # AMD CPUs just from their signature. Instead, we check directly
1526 # whether it supports SSE.
1527 if test "$_sse" = yes; then
1528 # gcc treats athlon-xp, athlon-4 and athlon-mp similarly.
1529 proc=athlon-xp
1530 else
1531 # Again, gcc treats athlon and athlon-tbird similarly.
1532 proc=athlon
1535 15) iproc=686
1536 # k8 cpu-type only supported in gcc >= 3.4.0, but that will be
1537 # caught and remedied in the optimization tests below.
1538 proc=k8
1541 *) proc=k8 iproc=686 ;;
1542 esac
1544 GenuineIntel)
1545 case "$pfamily" in
1546 3) proc=i386 iproc=386 ;;
1547 4) proc=i486 iproc=486 ;;
1548 5) iproc=586
1549 if test "$pmodel" -eq 4 || test "$pmodel" -eq 8; then
1550 proc=pentium-mmx # 4 is desktop, 8 is mobile
1551 else
1552 proc=i586
1555 6) iproc=686
1556 if test "$pmodel" -eq 15; then
1557 proc=core2
1558 elif test "$pmodel" -eq 9 -o "$pmodel" -ge 13; then
1559 proc=pentium-m
1560 elif test "$pmodel" -ge 7; then
1561 proc=pentium3
1562 elif test "$pmodel" -ge 3; then
1563 proc=pentium2
1564 else
1565 proc=i686
1568 15) iproc=686
1569 # A nocona in 32-bit mode has no more capabilities than a prescott.
1570 if test "$pmodel" -ge 3; then
1571 proc=prescott
1572 else
1573 proc=pentium4
1576 *) proc=prescott iproc=686 ;;
1577 esac
1579 CentaurHauls)
1580 case "$pfamily" in
1581 5) iproc=586
1582 if test "$pmodel" -ge 8; then
1583 proc=winchip2
1584 elif test "$pmodel" -ge 4; then
1585 proc=winchip-c6
1586 else
1587 proc=i586
1590 6) iproc=686
1591 if test "$pmodel" -ge 9; then
1592 proc=c3-2
1593 else
1594 proc=c3
1595 iproc=586
1598 *) proc=i686 iproc=i686 ;;
1599 esac
1601 unknown)
1602 case "$pfamily" in
1603 3) proc=i386 iproc=386 ;;
1604 4) proc=i486 iproc=486 ;;
1605 *) proc=i586 iproc=586 ;;
1606 esac
1609 proc=i586 iproc=586 ;;
1610 esac
1611 fi # test "$_runtime_cpudetection" = no
1614 # check that gcc supports our CPU, if not, fall back to earlier ones
1615 # LGB: check -mcpu and -march swithing step by step with enabling
1616 # to fall back till 386.
1618 # gcc >= 3.4.0 doesn't support -mcpu, we have to use -mtune instead
1620 if [ "$cc_vendor" = "gnu" ] && ([ "$_cc_major" -gt 3 ] || ( [ "$_cc_major" = 3 ] && [ "$_cc_minor" -ge 4 ])) ; then
1621 cpuopt=-mtune
1622 else
1623 cpuopt=-mcpu
1626 echocheck "GCC & CPU optimization abilities"
1627 cat > $TMPC << EOF
1628 int main(void) { return 0; }
1630 if test "$_runtime_cpudetection" = no ; then
1631 if test "$proc" = "k8"; then
1632 cc_check -march=$proc $cpuopt=$proc || proc=athlon-xp
1634 if test "$proc" = "athlon-xp"; then
1635 cc_check -march=$proc $cpuopt=$proc || proc=athlon
1637 if test "$proc" = "k6-3" || test "$proc" = "k6-2"; then
1638 cc_check -march=$proc $cpuopt=$proc || proc=k6
1640 if test "$proc" = "k6" || test "$proc" = "c3"; then
1641 if not cc_check -march=$proc $cpuopt=$proc; then
1642 if cc_check -march=i586 $cpuopt=i686; then
1643 proc=i586-i686
1644 else
1645 proc=i586
1649 if test "$proc" = "prescott" ; then
1650 cc_check -march=$proc $cpuopt=$proc || proc=pentium4
1652 if test "$proc" = "core2" ; then
1653 cc_check -march=$proc $cpuopt=$proc || proc=pentium-m
1655 if test "$proc" = "pentium4" || test "$proc" = "pentium-m" || test "$proc" = "pentium3" || test "$proc" = "pentium2" || test "$proc" = "athlon" || test "$proc" = "c3-2" || test "$proc" = "geode"; then
1656 cc_check -march=$proc $cpuopt=$proc || proc=i686
1658 if test "$proc" = "i686" || test "$proc" = "pentium-mmx" || test "$proc" = "winchip-c6" || test "$proc" = "winchip2"; then
1659 cc_check -march=$proc $cpuopt=$proc || proc=i586
1661 if test "$proc" = "i586"; then
1662 cc_check -march=$proc $cpuopt=$proc || proc=i486
1664 if test "$proc" = "i486" ; then
1665 cc_check -march=$proc $cpuopt=$proc || proc=i386
1667 if test "$proc" = "i386" ; then
1668 cc_check -march=$proc $cpuopt=$proc || proc=error
1670 if test "$proc" = "error" ; then
1671 echores "CPU optimization disabled. CPU not recognized or your compiler is too old."
1672 _mcpu=""
1673 _march=""
1674 _optimizing=""
1675 elif test "$proc" = "i586-i686"; then
1676 _march="-march=i586"
1677 _mcpu="$cpuopt=i686"
1678 _optimizing="$proc"
1679 else
1680 _march="-march=$proc"
1681 _mcpu="$cpuopt=$proc"
1682 _optimizing="$proc"
1684 else # if test "$_runtime_cpudetection" = no
1685 # i686 is probably the most common CPU - optimize for it
1686 _mcpu="$cpuopt=i686"
1687 # at least i486 required, for bswap instruction
1688 _march="-march=i486"
1689 cc_check $_mcpu || _mcpu=""
1690 cc_check $_march $_mcpu || _march=""
1693 ## Gabucino : --target takes effect here (hopefully...) by overwriting
1694 ## autodetected mcpu/march parameters
1695 if test "$_target" ; then
1696 # TODO: it may be a good idea to check GCC and fall back in all cases
1697 if test "$host_arch" = "i586-i686"; then
1698 _march="-march=i586"
1699 _mcpu="$cpuopt=i686"
1700 else
1701 _march="-march=$host_arch"
1702 _mcpu="$cpuopt=$host_arch"
1705 proc="$host_arch"
1707 case "$proc" in
1708 i386) iproc=386 ;;
1709 i486) iproc=486 ;;
1710 i586|k5|k6|k6-2|k6-3|pentium|pentium-mmx) iproc=586 ;;
1711 i686|athlon*|pentium*) iproc=686 ;;
1712 *) iproc=586 ;;
1713 esac
1716 echores "$proc"
1719 ia64)
1720 _def_arch='#define ARCH_IA64 1'
1721 _target_arch='TARGET_ARCH_IA64 = yes'
1722 iproc='ia64'
1723 proc=''
1724 _march=''
1725 _mcpu=''
1726 _optimizing=''
1729 x86_64|amd64)
1730 _def_arch='#define ARCH_X86_64 1'
1731 _target_arch='TARGET_ARCH_X86_64 = yes'
1732 _def_arch_x86="#define ARCH_X86 1"
1733 _target_arch_x86="TARGET_ARCH_X86 = yes"
1734 iproc='x86_64'
1736 # gcc >= 3.4.0 doesn't support -mcpu, we have to use -mtune instead
1737 if test "$cc_vendor" = "gnu" && test "$_cc_major" -gt 3 -o "$_cc_major" -eq 3 -a "$_cc_minor" -ge 4 ; then
1738 cpuopt=-mtune
1739 else
1740 cpuopt=-mcpu
1742 if test "$_runtime_cpudetection" = no ; then
1743 case "$pvendor" in
1744 AuthenticAMD)
1745 proc=k8;;
1746 GenuineIntel)
1747 case "$pmodel" in
1748 6) proc=core2;;
1750 # 64-bit prescotts exist, but as far as GCC is concerned they
1751 # have the same capabilities as a nocona.
1752 proc=nocona;;
1753 esac
1756 proc=error;;
1757 esac
1758 fi # test "$_runtime_cpudetection" = no
1760 echocheck "GCC & CPU optimization abilities"
1761 cat > $TMPC << EOF
1762 int main(void) { return 0; }
1764 # This is a stripped-down version of the i386 fallback.
1765 if test "$_runtime_cpudetection" = no ; then
1766 # --- AMD processors ---
1767 if test "$proc" = "k8"; then
1768 cc_check -march=$proc $cpuopt=$proc || proc=athlon-xp
1770 # This will fail if gcc version < 3.3, which is ok because earlier
1771 # versions don't really support 64-bit on amd64.
1772 # Is this a valid assumption? -Corey
1773 if test "$proc" = "athlon-xp"; then
1774 cc_check -march=$proc $cpuopt=$proc || proc=error
1776 # --- Intel processors ---
1777 if test "$proc" = "core2"; then
1778 cc_check -march=$proc $cpuopt=$proc || proc=nocona
1780 if test "$proc" = "nocona"; then
1781 cc_check -march=$proc $cpuopt=$proc || proc=pentium4
1783 if test "$proc" = "pentium4"; then
1784 cc_check -march=$proc $cpuopt=$proc || proc=error
1787 _march="-march=$proc"
1788 _mcpu="$cpuopt=$proc"
1789 if test "$proc" = "error" ; then
1790 echores "CPU optimization disabled. CPU not recognized or your compiler is too old."
1791 _mcpu=""
1792 _march=""
1794 else # if test "$_runtime_cpudetection" = no
1795 # x86-64 is an undocumented option, an intersection of k8 and nocona.
1796 _march="-march=x86-64"
1797 _mcpu="$cpuopt=x86-64"
1798 cc_check $_mcpu || _mcpu=""
1799 cc_check $_march $_mcpu || _march=""
1802 _optimizing=""
1804 echores "$proc"
1807 sparc)
1808 _def_arch='#define ARCH_SPARC 1'
1809 _target_arch='TARGET_ARCH_SPARC = yes'
1810 iproc='sparc'
1811 if sunos ; then
1812 echocheck "CPU type"
1813 karch=`uname -m`
1814 case "`echo $karch`" in
1815 sun4) proc=v7 ;;
1816 sun4c) proc=v7 ;;
1817 sun4d) proc=v8 ;;
1818 sun4m) proc=v8 ;;
1819 sun4u) proc=v9 _vis='yes' _def_vis='#define HAVE_VIS = yes' ;;
1820 sun4v) proc=v9 ;;
1821 *) proc=v8 ;;
1822 esac
1823 echores "$proc"
1824 else
1825 proc=v8
1827 _march=''
1828 _mcpu="-mcpu=$proc"
1829 _optimizing="$proc"
1832 sparc64)
1833 _def_arch='#define ARCH_SPARC 1'
1834 _target_arch='TARGET_ARCH_SPARC = yes'
1835 _vis='yes'
1836 _def_vis='#define HAVE_VIS = yes'
1837 iproc='sparc'
1838 proc='v9'
1839 _march=''
1840 _mcpu="-mcpu=$proc"
1841 _optimizing="$proc"
1844 arm|armv4l|armv5tel)
1845 _def_arch='#define ARCH_ARMV4L 1'
1846 _target_arch='TARGET_ARCH_ARMV4L = yes'
1847 iproc='arm'
1848 proc=''
1849 _march=''
1850 _mcpu=''
1851 _optimizing=''
1854 ppc)
1855 _def_arch='#define ARCH_POWERPC 1'
1856 _def_dcbzl='#define NO_DCBZL 1'
1857 _target_arch='TARGET_ARCH_POWERPC = yes'
1858 iproc='ppc'
1859 proc=''
1860 _march=''
1861 _mcpu=''
1862 _optimizing=''
1863 _altivec=no
1865 echocheck "CPU type"
1866 case $system_name in
1867 Linux)
1868 proc=`$_cpuinfo | grep 'cpu' | cut -d ':' -f 2 | cut -d ',' -f 1 | cut -b 2- | _head 1`
1869 if test -n "`$_cpuinfo | grep altivec`"; then
1870 _altivec=yes
1873 Darwin)
1874 proc=`$_cpuinfo | grep "Processor type" | cut -f 3 -d ' ' | sed 's/ppc//'`
1875 if [ `sysctl -n hw.vectorunit` -eq 1 -o \
1876 "`sysctl -n hw.optional.altivec 2> /dev/null`" = "1" ]; then
1877 _altivec=yes
1880 NetBSD)
1881 # only gcc 3.4 works reliably with AltiVec code under NetBSD
1882 case $cc_version in
1883 2*|3.0*|3.1*|3.2*|3.3*)
1886 if [ `sysctl -n machdep.altivec` -eq 1 ]; then
1887 _altivec=yes
1890 esac
1892 AIX)
1893 proc=`$_cpuinfo | grep 'type' | cut -f 2 -d ' ' | sed 's/PowerPC_//'`
1895 esac
1896 if test "$_altivec" = yes; then
1897 echores "$proc altivec"
1898 else
1899 echores "$proc"
1902 echocheck "GCC & CPU optimization abilities"
1904 if test -n "$proc"; then
1905 case "$proc" in
1906 601) _march='-mcpu=601' _mcpu='-mtune=601' ;;
1907 603) _march='-mcpu=603' _mcpu='-mtune=603' ;;
1908 603e|603ev) _march='-mcpu=603e' _mcpu='-mtune=603e' ;;
1909 604|604e|604r|604ev) _march='-mcpu=604' _mcpu='-mtune=604' ;;
1910 740|740/750|745/755) _march='-mcpu=740' _mcpu='-mtune=740' ;;
1911 750|750CX) _march='-mcpu=750' _mcpu='-mtune=750' ;;
1912 POWER) _march='-mcpu=power' _mcpu='-mtune=power' ;;
1913 POWER2) _march='-mcpu=power2' _mcpu='-mtune=power2' ;;
1914 POWER3) _march='-mcpu=power3' _mcpu='-mtune=power3' ;;
1915 *) ;;
1916 esac
1917 # gcc 3.1(.1) and up supports 7400 and 7450
1918 if test "$_cc_major" -ge "3" && test "$_cc_minor" -ge "1" || test "$_cc_major" -ge "4"; then
1919 case "$proc" in
1920 7400*|7410*) _march='-mcpu=7400' _mcpu='-mtune=7400' ;;
1921 7447*|7450*|7455*) _march='-mcpu=7450' _mcpu='-mtune=7450' ;;
1922 *) ;;
1923 esac
1925 # gcc 3.2 and up supports 970
1926 if test "$_cc_major" -ge "3" && test "$_cc_minor" -ge "3" || test "$_cc_major" -ge "4"; then
1927 case "$proc" in
1928 970*|PPC970*) _march='-mcpu=970' _mcpu='-mtune=970'
1929 _def_dcbzl='#undef NO_DCBZL' ;;
1930 *) ;;
1931 esac
1933 # gcc 3.3 and up supports POWER4
1934 if test "$_cc_major" -ge "3" && test "$_cc_minor" -ge "3" || test "$_cc_major" -ge "4"; then
1935 case "$proc" in
1936 POWER4) _march='-mcpu=power4' _mcpu='-mtune=power4' ;;
1937 *) ;;
1938 esac
1940 # gcc 4.0 and up supports POWER5
1941 if test "$_cc_major" -ge "4"; then
1942 case "$proc" in
1943 POWER5*) _march='-mcpu=power5' _mcpu='-mtune=power5' ;;
1944 *) ;;
1945 esac
1949 if test -n "$_mcpu"; then
1950 _optimizing=`echo $_mcpu | cut -c 8-`
1951 echores "$_optimizing"
1952 else
1953 echores "none"
1958 alpha)
1959 _def_arch='#define ARCH_ALPHA 1'
1960 _target_arch='TARGET_ARCH_ALPHA = yes'
1961 iproc='alpha'
1962 _march=''
1964 echocheck "CPU type"
1965 cat > $TMPC << EOF
1966 int main() {
1967 unsigned long ver, mask;
1968 asm ("implver %0" : "=r" (ver));
1969 asm ("amask %1, %0" : "=r" (mask) : "r" (-1));
1970 printf("%ld-%x\n", ver, ~mask);
1971 return 0;
1974 $_cc -o "$TMPO" "$TMPC"
1975 case `"$TMPO"` in
1977 0-0) proc="ev4"; cpu_understands_mvi="0";;
1978 1-0) proc="ev5"; cpu_understands_mvi="0";;
1979 1-1) proc="ev56"; cpu_understands_mvi="0";;
1980 1-101) proc="pca56"; cpu_understands_mvi="1";;
1981 2-303) proc="ev6"; cpu_understands_mvi="1";;
1982 2-307) proc="ev67"; cpu_understands_mvi="1";;
1983 2-1307) proc="ev68"; cpu_understands_mvi="1";;
1984 esac
1985 echores "$proc"
1987 echocheck "GCC & CPU optimization abilities"
1988 if test "$proc" = "ev68" ; then
1989 cc_check -mcpu=$proc || proc=ev67
1991 if test "$proc" = "ev67" ; then
1992 cc_check -mcpu=$proc || proc=ev6
1994 _mcpu="-mcpu=$proc"
1995 echores "$proc"
1997 _optimizing="$proc"
1999 echocheck "MVI instruction support in GCC"
2000 if test "$_cc_major" -ge "3" && test "$cpu_understands_mvi" = "1" ; then
2001 _def_gcc_mvi_support="#define CAN_COMPILE_ALPHA_MVI 1"
2002 echores "yes"
2003 else
2004 _def_gcc_mvi_support="#undef CAN_COMPILE_ALPHA_MVI"
2005 echores "no, GCC = `$_cc -dumpversion 2>&1` (must be >= 3), CPU = $proc (must be pca56 or later)"
2009 mips)
2010 _def_arch='#define ARCH_SGI_MIPS 1'
2011 _target_arch='TARGET_ARCH_SGI_MIPS = yes'
2012 iproc='sgi-mips'
2013 proc=''
2014 _march=''
2015 _mcpu=''
2016 _optimizing=''
2018 if irix ; then
2019 echocheck "CPU type"
2020 proc=`hinv -c processor | grep CPU | cut -d " " -f3`
2021 case "`echo $proc`" in
2022 R3000) _march='-mips1' _mcpu='-mtune=r2000' ;;
2023 R4000) _march='-mips3' _mcpu='-mtune=r4000' ;;
2024 R4400) _march='-mips3' _mcpu='-mtune=r4400' ;;
2025 R4600) _march='-mips3' _mcpu='-mtune=r4600' ;;
2026 R5000) _march='-mips4' _mcpu='-mtune=r5000' ;;
2027 R8000|R10000|R12000|R14000|R16000) _march='-mips4' _mcpu='-mtune=r8000' ;;
2028 esac
2029 # gcc < 3.x does not support -mtune.
2030 if test "$cc_vendor" = "gnu" && test "$_cc_major" -lt 3 ; then
2031 _mcpu=''
2033 echores "$proc"
2038 hppa)
2039 _def_arch='#define ARCH_PA_RISC 1'
2040 _target_arch='TARGET_ARCH_PA_RISC = yes'
2041 iproc='PA-RISC'
2042 proc=''
2043 _march=''
2044 _mcpu=''
2045 _optimizing=''
2048 s390)
2049 _def_arch='#define ARCH_S390 1'
2050 _target_arch='TARGET_ARCH_S390 = yes'
2051 iproc='390'
2052 proc=''
2053 _march=''
2054 _mcpu=''
2055 _optimizing=''
2058 s390x)
2059 _def_arch='#define ARCH_S390X 1'
2060 _target_arch='TARGET_ARCH_S390X = yes'
2061 iproc='390x'
2062 proc=''
2063 _march=''
2064 _mcpu=''
2065 _optimizing=''
2068 vax)
2069 _def_arch='#define ARCH_VAX 1'
2070 _target_arch='TARGET_ARCH_VAX = yes'
2071 iproc='vax'
2072 proc=''
2073 _march=''
2074 _mcpu=''
2075 _optimizing=''
2078 generic)
2079 _def_arch='#define ARCH_GENERIC 1'
2080 _target_arch='TARGET_ARCH_GENERIC = yes'
2081 iproc=''
2082 proc=''
2083 _march=''
2084 _mcpu=''
2085 _optimizing=''
2089 echo "The architecture of your CPU ($host_arch) is not supported by this configure script"
2090 echo "It seems nobody has ported MPlayer to your OS or CPU type yet."
2091 die "unsupported architecture $host_arch"
2093 esac # case "$host_arch" in
2095 if test "$_runtime_cpudetection" = yes ; then
2096 if x86 ; then
2097 _cmov=yes
2098 x86_32 && _cmov=no
2099 _mmx=yes
2100 _3dnow=yes
2101 _3dnowext=yes
2102 _mmxext=yes
2103 _sse=yes
2104 _sse2=yes
2105 _mtrr=yes
2107 if ppc; then
2108 _altivec=yes
2112 if x86 && test "$_runtime_cpudetection" = no ; then
2113 extcheck() {
2114 if test "$1" = kernel_check ; then
2115 echocheck "kernel support of $2"
2116 cat > $TMPC <<EOF
2117 #include <signal.h>
2118 void catch() { exit(1); }
2119 int main(void){
2120 signal(SIGILL, catch);
2121 __asm__ __volatile__ ("$3":::"memory");return(0);
2125 if cc_check && tmp_run ; then
2126 eval _$2=yes
2127 echores "yes"
2128 _optimizing="$_optimizing $2"
2129 return 0
2130 else
2131 eval _$2=no
2132 echores "failed"
2133 echo "It seems that your kernel does not correctly support $2."
2134 echo "To use $2 extensions in MPlayer, you have to upgrade/recompile your kernel!"
2135 return 1
2138 return 0
2141 extcheck $_mmx "mmx" "emms"
2142 extcheck $_mmxext "mmxext" "sfence"
2143 extcheck $_3dnow "3dnow" "femms"
2144 extcheck $_3dnowext "3dnowext" "pswapd %%mm0, %%mm0"
2145 extcheck $_sse "sse" "xorps %%xmm0, %%xmm0" || _gcc3_ext="$_gcc3_ext -mno-sse"
2146 extcheck $_sse2 "sse2" "xorpd %%xmm0, %%xmm0" || _gcc3_ext="$_gcc3_ext -mno-sse2"
2147 extcheck $_cmov "cmov" "cmovb %%eax,%%ebx"
2149 echocheck "mtrr support"
2150 if test "$_mtrr" = kernel_check ; then
2151 _mtrr="yes"
2152 _optimizing="$_optimizing mtrr"
2154 echores "$_mtrr"
2156 if test "$_gcc3_ext" != ""; then
2157 # if we had to disable sse/sse2 because the active kernel does not
2158 # support this instruction set extension, we also have to tell
2159 # gcc3 to not generate sse/sse2 instructions for normal C code
2160 cat > $TMPC << EOF
2161 int main(void) { return 0; }
2163 cc_check $_march $_gcc3_ext && _march="$_march $_gcc3_ext"
2169 echocheck "assembler support of -pipe option"
2170 cat > $TMPC << EOF
2171 int main(void) { return 0; }
2173 cc_check -pipe && _pipe="-pipe" && echores "yes" || echores "no"
2176 echocheck "compiler support of named assembler arguments"
2177 _named_asm_args=yes
2178 _def_named_asm_args="#define NAMED_ASM_ARGS 1"
2179 if test "$cc_vendor" = "gnu" && test "$_cc_major" -lt 3 \
2180 -o "$_cc_major" -eq 3 -a "$_cc_minor" = 0 ; then
2181 _named_asm_args=no
2182 _def_named_asm_args="#undef NAMED_ASM_ARGS"
2184 echores $_named_asm_args
2187 # Checking for CFLAGS
2188 _stripbinaries=yes
2189 if test "$_profile" != "" || test "$_debug" != "" ; then
2190 CFLAGS="-W -Wall -O2 $_march $_mcpu $_debug $_profile"
2191 if test "$_cc_major" -ge "3" ; then
2192 CFLAGS=`echo "$CFLAGS" | sed -e 's/\(-Wall\)/\1 -Wno-unused-parameter/'`
2194 _stripbinaries=no
2195 elif test -z "$CFLAGS" ; then
2196 if test "$cc_vendor" = "intel" ; then
2197 CFLAGS="-O2 $_march $_mcpu $_pipe -fomit-frame-pointer"
2198 elif test "$cc_vendor" != "gnu" ; then
2199 CFLAGS="-O2 $_march $_mcpu $_pipe"
2200 else
2201 CFLAGS="-O4 $_march $_mcpu $_pipe -ffast-math -fomit-frame-pointer"
2203 else
2204 _warn_CFLAGS=yes
2206 if test -n "$LDFLAGS" ; then
2207 _ld_extra="$_ld_extra $LDFLAGS"
2208 _warn_CFLAGS=yes
2209 elif test "$cc_vendor" = "intel" ; then
2210 _ld_extra="$_ld_extra -i-static"
2212 if test -n "$CPPFLAGS" ; then
2213 _inc_extra="$_inc_extra $CPPFLAGS"
2214 _warn_CFLAGS=yes
2219 if x86_32 ; then
2220 # Checking assembler (_as) compatibility...
2221 # Added workaround for older as that reads from stdin by default - atmos
2222 as_version=`echo '' | $_as -version 2>&1 | sed -n 's/^.*assembler \(version \)*\([0-9.]*\).*$/\2/p'`
2223 echocheck "assembler ($_as $as_version)"
2225 _pref_as_version='2.9.1'
2226 echo 'nop' > $TMPS
2227 if test "$_mmx" = yes ; then
2228 echo 'emms' >> $TMPS
2230 if test "$_3dnow" = yes ; then
2231 _pref_as_version='2.10.1'
2232 echo 'femms' >> $TMPS
2234 if test "$_3dnowext" = yes ; then
2235 _pref_as_version='2.10.1'
2236 echo 'pswapd %mm0, %mm0' >> $TMPS
2238 if test "$_mmxext" = yes ; then
2239 _pref_as_version='2.10.1'
2240 echo 'movntq %mm0, (%eax)' >> $TMPS
2242 if test "$_sse" = yes ; then
2243 _pref_as_version='2.10.1'
2244 echo 'xorps %xmm0, %xmm0' >> $TMPS
2246 #if test "$_sse2" = yes ; then
2247 # _pref_as_version='2.11'
2248 # echo 'xorpd %xmm0, %xmm0' >> $TMPS
2250 if test "$_cmov" = yes ; then
2251 _pref_as_version='2.10.1'
2252 echo 'cmovb %eax, %ebx' >> $TMPS
2254 $_as $TMPS -o $TMPO > /dev/null 2>&1 || as_verc_fail=yes
2256 if test "$as_verc_fail" != yes ; then
2257 echores "ok"
2258 else
2259 _res_comment="Upgrade binutils to ${_pref_as_version} ..."
2260 echores "failed"
2261 die "obsolete binutils version"
2264 fi #if x86_32
2266 echocheck ".align is a power of two"
2267 if test "$_asmalign_pot" = auto ; then
2268 _asmalign_pot=no
2269 cat > $TMPC << EOF
2270 main() { asm (".align 3"); }
2272 cc_check && _asmalign_pot=yes
2274 if test "$_asmalign_pot" = "yes" ; then
2275 _def_asmalign_pot='#define ASMALIGN(ZEROBITS) ".align " #ZEROBITS "\n\t"'
2276 else
2277 _def_asmalign_pot='#define ASMALIGN(ZEROBITS) ".align 1<<" #ZEROBITS "\n\t"'
2279 echores $_asmalign_pot
2282 #FIXME: This should happen before the check for CFLAGS..
2283 if ppc ; then
2285 # check if altivec is supported by the compiler, and how to enable it
2287 _altivec_gcc_flags=''
2289 if test "$_altivec" = yes -o "$_runtime_cpudetection" = yes ; then
2290 echocheck "GCC altivec support"
2292 p=''
2293 cat > $TMPC << EOF
2294 int main() {
2295 return 0;
2298 FSF_flags='-maltivec -mabi=altivec'
2299 Darwin_flags='-faltivec -D__APPLE_ALTIVEC__'
2301 # check for Darwin-style flags first, since
2302 # gcc-3.3 (August Update from Apple) on MacOS 10.2.8
2303 # accepts but ignores FSF-style flags...
2305 if test -z "$p"; then
2306 cc_check $Darwin_flags && p='Darwin'
2308 if test -z "$p"; then
2309 cc_check $FSF_flags && p='FSF'
2312 case $p in
2313 FSF) _altivec_gcc_flags="$FSF_flags" _altivec=yes ;;
2314 Darwin) _altivec_gcc_flags="$Darwin_flags" _altivec=yes ;;
2315 *) _altivec=no ;;
2316 esac
2318 if test -z "$p"; then
2319 p=none
2320 else
2321 p="$p-style ($_altivec_gcc_flags)"
2324 echores "$p"
2327 # check if <altivec.h> should be included
2329 _def_altivec_h='#undef HAVE_ALTIVEC_H'
2331 if test "$_altivec" = yes ; then
2332 echocheck "altivec.h"
2333 cat > $TMPC << EOF
2334 #include <altivec.h>
2335 int main(void) { return 0; }
2337 _have_altivec_h=no
2338 cc_check $_altivec_gcc_flags && _have_altivec_h=yes
2339 if test "$_have_altivec_h" = yes ; then
2340 _def_altivec_h='#define HAVE_ALTIVEC_H 1'
2342 echores "$_have_altivec_h"
2345 # disable runtime cpudetection if
2346 # - we cannot generate altivec code
2347 # - altivec is disabled by the user
2349 if test "$_runtime_cpudetection" = yes -a "$_altivec" = no ; then
2350 _runtime_cpudetection=no
2353 # show that we are optimizing for altivec (if enabled and supported)
2355 if test "$_runtime_cpudetection" = no -a "$_altivec" = yes ; then
2356 _optimizing="$_optimizing altivec"
2359 # if altivec is enabled, make sure the correct flags turn up in CFLAGS
2361 if test "$_altivec" = yes ; then
2362 #FIXME: _mcpu is used for CFLAGS, this needs to be set earlier
2363 #_mcpu="$_mcpu $_altivec_gcc_flags"
2364 CFLAGS="$CFLAGS $_altivec_gcc_flags"
2367 # setup _def_altivec correctly
2369 if test "$_altivec" = yes ; then
2370 _def_altivec='#define HAVE_ALTIVEC 1'
2371 else
2372 _def_altivec='#undef HAVE_ALTIVEC'
2376 if arm ; then
2377 echocheck "ARMv5TE (Enhanced DSP Extensions)"
2378 if test $_armv5te = "auto" ; then
2379 cat > $TMPC << EOF
2380 int main(void) {
2381 __asm__ __volatile__ ("qadd r0, r0, r0");
2384 _armv5te=no
2385 cc_check && _armv5te=yes
2387 echores "$_armv5te"
2389 echocheck "iWMMXt (Intel XScale SIMD instructions)"
2390 if test $_iwmmxt = "auto" ; then
2391 cat > $TMPC << EOF
2392 int main(void) {
2393 __asm__ __volatile__ ("wunpckelub wr6, wr4");
2396 _iwmmxt=no
2397 cc_check && _iwmmxt=yes
2399 echores "$_iwmmxt"
2402 _def_mmx='#undef HAVE_MMX'
2403 test "$_mmx" = yes && _def_mmx='#define HAVE_MMX 1'
2404 _def_mmxext='#undef HAVE_MMX2'
2405 test "$_mmxext" = yes && _def_mmxext='#define HAVE_MMX2 1'
2406 _def_3dnow='#undef HAVE_3DNOW'
2407 test "$_3dnow" = yes && _def_3dnow='#define HAVE_3DNOW 1'
2408 _def_3dnowext='#undef HAVE_3DNOWEX'
2409 test "$_3dnowext" = yes && _def_3dnowext='#define HAVE_3DNOWEX 1'
2410 _def_sse='#undef HAVE_SSE'
2411 test "$_sse" = yes && _def_sse='#define HAVE_SSE 1'
2412 _def_sse2='#undef HAVE_SSE2'
2413 test "$_sse2" = yes && _def_sse2='#define HAVE_SSE2 1'
2414 _def_cmov='#undef HAVE_CMOV'
2415 test "$_cmov" = yes && _def_cmov='#define HAVE_CMOV 1'
2416 _def_armv5te='#undef HAVE_ARMV5TE'
2417 test "$_armv5te" = yes && _def_armv5te='#define HAVE_ARMV5TE 1'
2418 _def_iwmmxt='#undef HAVE_IWMMXT'
2419 test "$_iwmmxt" = yes && _def_iwmmxt='#define HAVE_IWMMXT 1'
2421 # Checking kernel version...
2422 if x86_32 && linux ; then
2423 _k_verc_problem=no
2424 kernel_version=`uname -r 2>&1`
2425 echocheck "$system_name kernel version"
2426 case "$kernel_version" in
2427 '') kernel_version="?.??"; _k_verc_fail=yes;;
2428 [0-1].[0-9].[0-9]*|2.[0-3].[0-9]*)
2429 _k_verc_problem=yes;;
2430 esac
2431 if test "$_k_verc_problem" = yes && test "$_sse" = yes ; then
2432 _k_verc_fail=yes
2434 if test "$_k_verc_fail" ; then
2435 echores "$kernel_version, fail"
2436 echo "WARNING! If you want to run MPlayer on this system, get prepared for problems!"
2437 echo "2.2.x has limited SSE support. Upgrade the kernel or use --disable-sse if you"
2438 echo "experience crashes. MPlayer tries to autodetect if your kernel correctly"
2439 echo "supports SSE, but you have been warned! If you are using a kernel older than"
2440 echo "2.2.x you must upgrade it to get SSE support!"
2441 # die "Your kernel is too old for this CPU." # works fine on some 2.2.x so don't die (later check will test)
2442 else
2443 echores "$kernel_version, ok"
2447 if test "$_vidix_internal" = auto ; then
2448 _vidix_internal=no
2449 # should check for x86 systems supporting VIDIX (does QNX have VIDIX?)
2450 x86 && _vidix_internal=yes
2451 ppc && linux && _vidix_internal=yes
2452 alpha && linux && _vidix_internal=yes
2453 qnx && _vidix_internal=no
2454 sunos && _vidix_internal=no
2455 beos && _vidix_internal=no
2456 darwin && _vidix_internal=no
2460 # On QNX we must link to libph - Gabucino
2461 if qnx ; then
2462 _ld_extra="$_ld_extra -lph"
2465 # checking for a working awk, I'm using mawk first, because it's fastest - atmos
2466 _awk=
2467 if test "$_vidix_internal" = yes ; then
2468 _awk_verc_fail=yes
2469 echocheck "awk"
2470 for _awk in mawk gawk nawk awk; do
2471 if ( $_awk 'BEGIN{testme();}function testme(){print"";}' ) >> "$TMPLOG" 2>&1; then
2472 _awk_verc_fail=no
2473 break
2475 done
2476 test "$_awk_verc_fail" = yes && _awk=no
2477 echores "$_awk"
2478 if test "$_awk_verc_fail" = yes; then
2479 echo "VIDIX needs awk, but no working implementation was found!"
2480 echo "Try the GNU version, which can be downloaded from:"
2481 echo "ftp://ftp.gnu.org/gnu/gawk/"
2482 echo "If you don't need VIDIX, you can use configure --disable-vidix instead."
2483 die "no awk"
2487 ######################
2488 # MAIN TESTS GO HERE #
2489 ######################
2492 echocheck "extra headers"
2493 if test "$_inc_extra" ; then
2494 echores "$_inc_extra"
2495 else
2496 echores "none"
2500 echocheck "extra libs"
2501 if test "$_ld_extra" ; then
2502 echores "$_ld_extra"
2503 else
2504 echores "none"
2507 echocheck "-lposix"
2508 cat > $TMPC <<EOF
2509 int main(void) { return 0; }
2511 if cc_check -lposix ; then
2512 _ld_extra="$_ld_extra -lposix"
2513 echores "yes"
2514 else
2515 echores "no"
2518 echocheck "-lm"
2519 cat > $TMPC <<EOF
2520 int main(void) { return 0; }
2522 if cc_check -lm ; then
2523 _ld_lm="-lm"
2524 echores "yes"
2525 else
2526 _ld_lm=""
2527 echores "no"
2531 echocheck "langinfo"
2532 if test "$_langinfo" = auto ; then
2533 cat > $TMPC <<EOF
2534 #include <langinfo.h>
2535 int main(void) { nl_langinfo(CODESET); return 0; }
2537 _langinfo=no
2538 cc_check && _langinfo=yes
2540 if test "$_langinfo" = yes ; then
2541 _def_langinfo='#define USE_LANGINFO 1'
2542 else
2543 _def_langinfo='#undef USE_LANGINFO'
2545 echores "$_langinfo"
2548 echocheck "language"
2549 test -z "$_language" && _language=$LINGUAS
2550 _language=`echo $_language | sed 's/,/ /g'`
2551 echo $_language | grep all > /dev/null || LANGUAGES="$_language en"
2552 for lang in $_language ; do
2553 test "$lang" = all && lang=en
2554 if test -f "help/help_mp-${lang}.h" ; then
2555 _language=$lang
2556 break
2557 else
2558 echo ${_echo_n} "$lang not found, ${_echo_c}"
2559 _language=`echo $_language | sed "s/$lang *//"`
2561 done
2562 test -z "$_language" && _language=en
2563 _mp_help="help/help_mp-${_language}.h"
2564 test -f $_mp_help || die "$_mp_help not found"
2565 for lang in $LANGUAGES ; do
2566 if test -f "DOCS/man/$lang/mplayer.1" ; then
2567 MAN_LANG="$lang $MAN_LANG"
2569 done
2570 _doc_lang=$_language
2571 test -d DOCS/xml/$_doc_lang || _doc_lang=en
2572 echores "using $_language (man pages: $MAN_LANG)"
2575 echocheck "enable sighandler"
2576 if test "$_sighandler" = yes ; then
2577 _def_sighandler='#define ENABLE_SIGHANDLER 1'
2578 else
2579 _def_sighandler='#undef ENABLE_SIGHANDLER'
2581 echores "$_sighandler"
2583 echocheck "runtime cpudetection"
2584 if test "$_runtime_cpudetection" = yes ; then
2585 _optimizing="Runtime CPU-Detection enabled"
2586 _def_runtime_cpudetection='#define RUNTIME_CPUDETECT 1'
2587 else
2588 _def_runtime_cpudetection='#undef RUNTIME_CPUDETECT'
2590 echores "$_runtime_cpudetection"
2593 echocheck "restrict keyword"
2594 for restrict_keyword in restrict __restrict __restrict__ ; do
2595 echo "void foo(char * $restrict_keyword p); int main(){}" > $TMPC
2596 if cc_check; then
2597 _def_restrict_keyword=$restrict_keyword
2598 break;
2600 done
2601 if [ -n "$_def_restrict_keyword" ]; then
2602 echores "$_def_restrict_keyword"
2603 else
2604 echores "none"
2606 # Avoid infinite recursion loop ("#define restrict restrict")
2607 if [ "$_def_restrict_keyword" != "restrict" ]; then
2608 _def_restrict_keyword="#define restrict $_def_restrict_keyword"
2609 else
2610 _def_restrict_keyword=""
2614 echocheck "__builtin_expect"
2615 # GCC branch prediction hint
2616 cat > $TMPC << EOF
2617 int foo (int a) {
2618 a = __builtin_expect (a, 10);
2619 return a == 10 ? 0 : 1;
2621 int main() { return foo(10) && foo(0); }
2623 _builtin_expect=no
2624 cc_check && _builtin_expect=yes
2625 if test "$_builtin_expect" = yes ; then
2626 _def_builtin_expect='#define HAVE_BUILTIN_EXPECT 1'
2627 else
2628 _def_builtin_expect='#undef HAVE_BUILTIN_EXPECT'
2630 echores "$_builtin_expect"
2633 echocheck "kstat"
2634 cat > $TMPC << EOF
2635 #include <kstat.h>
2636 int main(void) { (void) kstat_open(); (void) kstat_close(0); return 0; }
2638 _kstat=no
2639 cc_check -lkstat && _kstat=yes
2640 if test "$_kstat" = yes ; then
2641 _def_kstat="#define HAVE_LIBKSTAT 1"
2642 _ld_extra="$_ld_extra -lkstat"
2643 else
2644 _def_kstat="#undef HAVE_LIBKSTAT"
2646 echores "$_kstat"
2649 echocheck "posix4"
2650 # required for nanosleep on some systems
2651 cat > $TMPC << EOF
2652 #include <time.h>
2653 int main(void) { (void) nanosleep(0, 0); return 0; }
2655 _posix4=no
2656 cc_check -lposix4 && _posix4=yes
2657 if test "$_posix4" = yes ; then
2658 _ld_extra="$_ld_extra -lposix4"
2660 echores "$_posix4"
2662 echocheck "lrintf"
2663 cat > $TMPC << EOF
2664 #include <math.h>
2665 int main(void) { long (*foo)(float); foo = lrintf; (void)(*foo)(0.0); return 0; }
2667 _lrintf=no
2668 cc_check -D_GNU_SOURCE $_ld_lm && _lrintf=yes
2669 if test "$_lrintf" = yes ; then
2670 _def_lrintf="#define HAVE_LRINTF 1"
2671 else
2672 _def_lrintf="#undef HAVE_LRINTF"
2674 echores "$_lrintf"
2676 echocheck "round"
2677 cat > $TMPC << EOF
2678 #include <math.h>
2679 int main(void) { (void) round(0.0); return 0; }
2681 _round=no
2682 cc_check $_ld_lm && _round=yes
2683 if test "$_round" = yes ; then
2684 _def_round="#define HAVE_ROUND 1"
2685 else
2686 _def_round="#undef HAVE_ROUND"
2688 echores "$_round"
2690 echocheck "nanosleep"
2691 # also check for nanosleep
2692 cat > $TMPC << EOF
2693 #include <time.h>
2694 int main(void) { (void) nanosleep(0, 0); return 0; }
2696 _nanosleep=no
2697 cc_check && _nanosleep=yes
2698 if test "$_nanosleep" = yes ; then
2699 _def_nanosleep='#define HAVE_NANOSLEEP 1'
2700 else
2701 _def_nanosleep='#undef HAVE_NANOSLEEP'
2703 echores "$_nanosleep"
2706 echocheck "socklib"
2707 # for Solaris (socket stuff is in -lsocket, gethostbyname and friends in -lnsl):
2708 # for BeOS (socket stuff is in -lsocket, gethostbyname and friends in -lbind):
2709 cat > $TMPC << EOF
2710 #include <netdb.h>
2711 #include <sys/socket.h>
2712 int main(void) { (void) gethostbyname(0); (void) socket(AF_INET, SOCK_STREAM, 0); return 0; }
2714 _socklib=no
2715 for _ld_tmp in "" "-lsocket -lbind" "-lsocket -ldnet" "-lsocket -lnsl" "-lnsl" "-lsocket" ; do
2716 cc_check $_ld_tmp && _ld_sock="$_ld_tmp" && _socklib=yes && break
2717 done
2718 if test $_winsock2 = auto && not cygwin ; then
2719 _winsock2=no
2720 cat > $TMPC << EOF
2721 #include <winsock2.h>
2722 int main(void) { (void) gethostbyname(0); return 0; }
2724 cc_check -lws2_32 && _ld_sock="-lws2_32" && _winsock2=yes
2726 test "$_ld_sock" && _res_comment="using $_ld_sock"
2727 echores "$_socklib"
2730 if test $_winsock2 = yes ; then
2731 _ld_sock="-lws2_32"
2732 _def_winsock2='#define HAVE_WINSOCK2 1'
2733 else
2734 _def_winsock2='#undef HAVE_WINSOCK2'
2738 _use_aton=no
2739 echocheck "inet_pton()"
2740 cat > $TMPC << EOF
2741 #include <sys/types.h>
2742 #include <sys/socket.h>
2743 #include <arpa/inet.h>
2744 int main(void) { (void) inet_pton(0, 0, 0); return 0; }
2746 if test "$_winsock2" = yes ; then
2747 _res_comment="using winsock2 functions instead"
2748 echores "no"
2749 elif cc_check $_ld_sock ; then
2750 # NOTE: Linux has libresolv but does not need it
2752 _res_comment="using $_ld_sock"
2753 echores "yes"
2754 elif cc_check $_ld_sock -lresolv ; then
2755 # NOTE: needed for SunOS at least
2756 _ld_sock="$_ld_sock -lresolv"
2757 _res_comment="using $_ld_sock"
2758 echores "yes"
2759 else
2760 _res_comment="trying inet_aton next"
2761 echores "no"
2763 echocheck "inet_aton()"
2764 cat > $TMPC << EOF
2765 #include <sys/types.h>
2766 #include <sys/socket.h>
2767 #include <arpa/inet.h>
2768 int main(void) { (void) inet_aton(0, 0); return 0; }
2770 _use_aton=yes
2771 if cc_check $_ld_sock ; then
2772 # NOTE: Linux has libresolv but does not need it
2774 _res_comment="using $_ld_sock"
2775 elif cc_check $_ld_sock -lresolv ; then
2776 # NOTE: needed for SunOS at least
2777 _ld_sock="$_ld_sock -lresolv"
2778 _res_comment="using $_ld_sock"
2779 else
2780 _use_aton=no
2781 _network=no
2782 _res_comment="network support disabled"
2784 echores "$_use_aton"
2787 _def_use_aton='#undef USE_ATON'
2788 if test "$_use_aton" = yes; then
2789 _def_use_aton='#define USE_ATON 1'
2792 echocheck "network"
2793 # FIXME network check
2794 if test "$_network" = yes ; then
2795 _def_network='#define MPLAYER_NETWORK 1'
2796 _ld_extra="$_ld_extra $_ld_sock"
2797 _inputmodules="network $_inputmodules"
2798 else
2799 _noinputmodules="network $_noinputmodules"
2800 _def_network='#undef MPLAYER_NETWORK'
2801 _ftp=no
2803 echores "$_network"
2805 echocheck "inttypes.h (required)"
2806 cat > $TMPC << EOF
2807 #include <inttypes.h>
2808 int main(void) { return 0; }
2810 _inttypes=no
2811 cc_check && _inttypes=yes
2812 echores "$_inttypes"
2814 if test "$_inttypes" = no ; then
2815 echocheck "bitypes.h (inttypes.h predecessor)"
2816 cat > $TMPC << EOF
2817 #include <sys/bitypes.h>
2818 int main(void) { return 0; }
2820 cc_check && _inttypes=yes
2821 if test "$_inttypes" = yes ; then
2822 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."
2823 else
2824 die "Cannot find header either inttypes.h or bitypes.h (see DOCS/HTML/$_doc_lang/faq.html)."
2829 echocheck "int_fastXY_t in inttypes.h"
2830 cat > $TMPC << EOF
2831 #include <inttypes.h>
2832 int main(void) {
2833 volatile int_fast16_t v= 0;
2834 return v; }
2836 _fast_inttypes=no
2837 cc_check && _fast_inttypes=yes
2838 if test "$_fast_inttypes" = yes ; then
2839 # nothing to do
2841 else
2842 _def_fast_inttypes='
2843 typedef signed char int_fast8_t;
2844 typedef signed int int_fast16_t;
2845 typedef signed int int_fast32_t;
2846 typedef signed long long int_fast64_t;
2847 typedef unsigned char uint_fast8_t;
2848 typedef unsigned int uint_fast16_t;
2849 typedef unsigned int uint_fast32_t;
2850 typedef unsigned long long uint_fast64_t;'
2852 echores "$_fast_inttypes"
2855 echocheck "word size"
2856 _mp_wordsize="#undef MP_WORDSIZE"
2857 cat > $TMPC << EOF
2858 #include <stdio.h>
2859 #include <sys/types.h>
2860 int main(void) { printf("%d\n", sizeof(size_t)*8); return 0; }
2862 cc_check && _wordsize=`$TMPO` && _mp_wordsize="#define MP_WORDSIZE $_wordsize"
2863 echores "$_wordsize"
2866 echocheck "stddef.h"
2867 cat > $TMPC << EOF
2868 #include <stddef.h>
2869 int main(void) { return 0; }
2871 _stddef=no
2872 cc_check && _stddef=yes
2873 if test "$_stddef" = yes ; then
2874 _def_stddef='#define HAVE_STDDEF_H 1'
2875 else
2876 _def_stddef='#undef HAVE_STDDEF_H'
2878 echores "$_stddef"
2881 echocheck "malloc.h"
2882 cat > $TMPC << EOF
2883 #include <malloc.h>
2884 int main(void) { (void) malloc(0); return 0; }
2886 _malloc=no
2887 cc_check && _malloc=yes
2888 if test "$_malloc" = yes ; then
2889 _def_malloc='#define HAVE_MALLOC_H 1'
2890 else
2891 _def_malloc='#undef HAVE_MALLOC_H'
2893 # malloc.h emits a warning in FreeBSD and OpenBSD
2894 freebsd || openbsd && _def_malloc='#undef HAVE_MALLOC_H'
2895 echores "$_malloc"
2898 echocheck "memalign()"
2899 # XXX restrict to x86 ? extend to other CPUs/cacheline sizes ?
2900 cat > $TMPC << EOF
2901 #include <malloc.h>
2902 int main (void) { (void) memalign(64, sizeof(char)); return 0; }
2904 _memalign=no
2905 cc_check && _memalign=yes
2906 if test "$_memalign" = yes ; then
2907 _def_memalign='#define HAVE_MEMALIGN 1'
2908 else
2909 _def_memalign='#undef HAVE_MEMALIGN'
2910 _def_map_memalign='#define memalign(a,b) malloc(b)'
2911 not darwin && _def_memalign_hack='#define CONFIG_MEMALIGN_HACK 1'
2913 echores "$_memalign"
2916 echocheck "alloca.h"
2917 cat > $TMPC << EOF
2918 #include <alloca.h>
2919 int main(void) { (void) alloca(0); return 0; }
2921 _alloca=no
2922 cc_check && _alloca=yes
2923 if cc_check ; then
2924 _def_alloca='#define HAVE_ALLOCA_H 1'
2925 else
2926 _def_alloca='#undef HAVE_ALLOCA_H'
2928 echores "$_alloca"
2931 echocheck "mman.h"
2932 cat > $TMPC << EOF
2933 #include <sys/types.h>
2934 #include <sys/mman.h>
2935 int main(void) { (void) mmap(0, 0, 0, 0, 0, 0); return 0; }
2937 _mman=no
2938 cc_check && _mman=yes
2939 if test "$_mman" = yes ; then
2940 _def_mman='#define HAVE_SYS_MMAN_H 1'
2941 else
2942 _def_mman='#undef HAVE_SYS_MMAN_H'
2944 echores "$_mman"
2946 cat > $TMPC << EOF
2947 #include <sys/types.h>
2948 #include <sys/mman.h>
2949 int main(void) { void *p = MAP_FAILED; return 0; }
2951 _mman_has_map_failed=no
2952 cc_check && _mman_has_map_failed=yes
2953 if test "$_mman_has_map_failed" = yes ; then
2954 _def_mman_has_map_failed=''
2955 else
2956 _def_mman_has_map_failed='#define MAP_FAILED ((void *) -1)'
2959 echocheck "dynamic loader"
2960 cat > $TMPC << EOF
2961 #include <dlfcn.h>
2962 int main(void) { dlopen(0, 0); dlclose(0); dlsym(0, 0); return 0; }
2964 _dl=no
2965 for _ld_tmp in "" "-ldl" ; do
2966 cc_check $_ld_tmp && _ld_dl="$_ld_tmp" && _dl=yes && break
2967 done
2968 if test "$_dl" = yes ; then
2969 _def_dl='#define HAVE_LIBDL 1'
2970 else
2971 _def_dl='#undef HAVE_LIBDL'
2973 echores "$_dl"
2976 echocheck "dynamic a/v plugins support"
2977 if test "$_dl" = no ; then
2978 _dynamic_plugins=no
2980 if test "$_dynamic_plugins" = yes ; then
2981 _def_dynamic_plugins='#define DYNAMIC_PLUGINS 1'
2982 else
2983 _def_dynamic_plugins='#undef DYNAMIC_PLUGINS'
2985 echores "$_dynamic_plugins"
2988 #echocheck "dynamic linking"
2989 # FIXME !! make this dynamic detection work and modify at the end (search _ld_dl_dynamic)
2990 # also gcc flags are different, but ld flags aren't (-Bdynamic/-Bstatic/-Bsymbolic)
2991 #cat > $TMPC << EOF
2992 #int main(void) { return 0; }
2993 #EOF
2994 #if cc_check -rdynamic ; then
2995 # _ld_dl_dynamic='-rdynamic'
2996 #elif cc_check -Bdynamic ; then
2997 # _ld_dl_dynamic='-Bdynamic'
2998 #elif cc_check ; then
2999 # _ld_dl_dynamic=''
3001 #echores "using $_ld_dl_dynamic"
3003 _def_threads='#undef HAVE_THREADS'
3005 echocheck "pthread"
3006 if test "$_pthreads" = auto ; then
3007 cat > $TMPC << EOF
3008 #include <pthread.h>
3009 void* func(void *arg) { return arg; }
3010 int main(void) { pthread_t tid; return pthread_create (&tid, 0, func, 0) == 0 ? 0 : 1; }
3012 _pthreads=no
3013 if not hpux ; then
3014 for _ld_tmp in "-lpthreadGC2" "" "-lpthread" "-pthread" ; do
3015 # for crosscompilation, we cannot execute the program, be happy if we can link statically
3016 cc_check $_ld_tmp && (tmp_run || test "$_ld_static") && _ld_pthread="$_ld_tmp" && _pthreads=yes && break
3017 done
3020 if test "$_pthreads" = yes ; then
3021 _res_comment="using $_ld_pthread"
3022 _def_pthreads='#define HAVE_PTHREADS 1'
3023 _def_threads='#define HAVE_THREADS 1'
3024 else
3025 _res_comment="v4l, vo_gl, ao_alsa, ao_nas, ao_macosx, win32 loader disabled"
3026 _def_pthreads='#undef HAVE_PTHREADS'
3027 _nas=no ; _tv_v4l1=no ; _macosx=no
3028 if not mingw32 ; then
3029 _win32=no
3032 echores "$_pthreads"
3034 echocheck "rpath"
3035 netbsd &&_rpath=yes
3036 if test "$_rpath" = yes ; then
3037 for I in `echo $_ld_extra | sed 's/-L//g'` ; do
3038 tmp="$tmp ` echo $I | sed 's/.*/ -L& -Wl,-R&/'`"
3039 done
3040 _ld_extra=$tmp
3042 echores "$_rpath"
3044 echocheck "iconv"
3045 if test "$_iconv" = auto ; then
3046 _iconv_tmp='#include <iconv.h>'
3048 cat > $TMPC << EOF
3049 #include <stdio.h>
3050 #include <unistd.h>
3051 $_iconv_tmp
3052 #define INBUFSIZE 1024
3053 #define OUTBUFSIZE 4096
3055 char inbuffer[INBUFSIZE];
3056 char outbuffer[OUTBUFSIZE];
3058 int main(void) {
3059 size_t numread;
3060 iconv_t icdsc;
3061 char *tocode="UTF-8";
3062 char *fromcode="cp1250";
3063 if ((icdsc = iconv_open (tocode, fromcode)) != (iconv_t)(-1)) {
3064 while ((numread = read (0, inbuffer, INBUFSIZE))) {
3065 char *iptr=inbuffer;
3066 char *optr=outbuffer;
3067 size_t inleft=numread;
3068 size_t outleft=OUTBUFSIZE;
3069 if (iconv(icdsc, (const char **)&iptr, &inleft, &optr, &outleft)
3070 != (size_t)(-1)) {
3071 write (1, outbuffer, OUTBUFSIZE - outleft);
3074 if (iconv_close(icdsc) == -1)
3079 _iconv=no
3080 for _ld_tmp in "" "-liconv" "-liconv $_ld_dl" ; do
3081 cc_check $_ld_lm $_ld_tmp && _ld_extra="$_ld_extra $_ld_tmp" && \
3082 _iconv=yes && break
3083 done
3085 if test "$_iconv" = yes ; then
3086 _def_iconv='#define USE_ICONV 1'
3087 else
3088 _def_iconv='#undef USE_ICONV'
3090 echores "$_iconv"
3093 echocheck "sys/soundcard.h"
3094 cat > $TMPC << EOF
3095 #include <sys/soundcard.h>
3096 int main(void) { return 0; }
3098 _sys_soundcard=no
3099 cc_check && _sys_soundcard=yes
3100 if test "$_sys_soundcard" = yes ; then
3101 _def_sys_soundcard='#define HAVE_SYS_SOUNDCARD_H 1'
3102 _include_soundcard='#include <sys/soundcard.h>'
3103 else
3104 _def_sys_soundcard='#undef HAVE_SYS_SOUNDCARD_H'
3106 echores "$_sys_soundcard"
3108 if test "$_sys_soundcard" != yes ; then
3109 echocheck "soundcard.h"
3110 cat > $TMPC << EOF
3111 #include <soundcard.h>
3112 int main(void) { return 0; }
3114 _soundcard=no
3115 cc_check && _soundcard=yes
3116 if linux || test "$_ossaudio" != no ; then
3117 # use soundcard.h on Linux, or when OSS support is enabled
3118 echores "$_soundcard"
3119 else
3120 # we don't want to use soundcard.h on non-Linux if OSS support not enabled!
3121 _res_comment= "but ignored!"
3122 echores "$_soundcard"
3123 _soundcard=no
3125 if test "$_soundcard" = yes ; then
3126 _def_soundcard='#define HAVE_SOUNDCARD_H 1'
3127 _include_soundcard='#include <soundcard.h>'
3128 else
3129 _def_soundcard='#undef HAVE_SOUNDCARD_H'
3131 else
3132 _def_soundcard='#undef HAVE_SOUNDCARD_H'
3136 echocheck "sys/dvdio.h"
3137 cat > $TMPC << EOF
3138 #include <unistd.h>
3139 #include <sys/dvdio.h>
3140 int main(void) { return 0; }
3142 _dvdio=no
3143 cc_check && _dvdio=yes
3144 if test "$_dvdio" = yes ; then
3145 _def_dvdio='#define DVD_STRUCT_IN_SYS_DVDIO_H 1'
3146 else
3147 _def_dvdio='#undef DVD_STRUCT_IN_SYS_DVDIO_H'
3149 echores "$_dvdio"
3152 echocheck "sys/cdio.h"
3153 cat > $TMPC << EOF
3154 #include <unistd.h>
3155 #include <sys/cdio.h>
3156 int main(void) { return 0; }
3158 _cdio=no
3159 cc_check && _cdio=yes
3160 if test "$_cdio" = yes ; then
3161 _def_cdio='#define DVD_STRUCT_IN_SYS_CDIO_H 1'
3162 else
3163 _def_cdio='#undef DVD_STRUCT_IN_SYS_CDIO_H'
3165 echores "$_cdio"
3168 echocheck "linux/cdrom.h"
3169 cat > $TMPC << EOF
3170 #include <sys/types.h>
3171 #include <linux/cdrom.h>
3172 int main(void) { return 0; }
3174 _cdrom=no
3175 cc_check && _cdrom=yes
3176 if test "$_cdrom" = yes ; then
3177 _def_cdrom='#define DVD_STRUCT_IN_LINUX_CDROM_H 1'
3178 else
3179 _def_cdrom='#undef DVD_STRUCT_IN_LINUX_CDROM_H'
3181 echores "$_cdrom"
3184 echocheck "dvd.h"
3185 cat > $TMPC << EOF
3186 #include <dvd.h>
3187 int main(void) { return 0; }
3189 _dvd=no
3190 cc_check && _dvd=yes
3191 if test "$_dvd" = yes ; then
3192 _def_dvd='#define DVD_STRUCT_IN_DVD_H 1'
3193 else
3194 _def_dvd='#undef DVD_STRUCT_IN_DVD_H'
3196 echores "$_dvd"
3199 if bsdos; then
3200 echocheck "BSDI dvd.h"
3201 cat > $TMPC << EOF
3202 #include <dvd.h>
3203 int main(void) { return 0; }
3205 _bsdi_dvd=no
3206 cc_check && _bsdi_dvd=yes
3207 if test "$_bsdi_dvd" = yes ; then
3208 _def_bsdi_dvd='#define DVD_STRUCT_IN_BSDI_DVDIOCTL_DVD_H 1'
3209 else
3210 _def_bsdi_dvd='#undef DVD_STRUCT_IN_BSDI_DVDIOCTL_DVD_H'
3212 echores "$_bsdi_dvd"
3213 fi #if bsdos
3216 if hpux; then
3217 # also used by AIX, but AIX does not support VCD and/or libdvdread
3218 echocheck "HP-UX SCSI header"
3219 cat > $TMPC << EOF
3220 #include <sys/scsi.h>
3221 int main(void) { return 0; }
3223 _hpux_scsi_h=no
3224 cc_check && _hpux_scsi_h=yes
3225 if test "$_hpux_scsi_h" = yes ; then
3226 _def_hpux_scsi_h='#define HPUX_SCTL_IO 1'
3227 else
3228 _def_hpux_scsi_h='#undef HPUX_SCTL_IO'
3230 echores "$_hpux_scsi_h"
3231 fi #if hpux
3234 if sunos; then
3235 echocheck "userspace SCSI headers (Solaris)"
3236 cat > $TMPC << EOF
3237 # include <unistd.h>
3238 # include <stropts.h>
3239 # include <sys/scsi/scsi_types.h>
3240 # include <sys/scsi/impl/uscsi.h>
3241 int main(void) { return 0; }
3243 _sol_scsi_h=no
3244 cc_check && _sol_scsi_h=yes
3245 if test "$_sol_scsi_h" = yes ; then
3246 _def_sol_scsi_h='#define SOLARIS_USCSI 1'
3247 else
3248 _def_sol_scsi_h='#undef SOLARIS_USCSI'
3250 echores "$_sol_scsi_h"
3251 fi #if sunos
3254 echocheck "termcap"
3255 if test "$_termcap" = auto ; then
3256 cat > $TMPC <<EOF
3257 int main(void) { tgetent(); return 0; }
3259 _termcap=no
3260 for _ld_tmp in "-lncurses" "-ltinfo" "-ltermcap"; do
3261 cc_check $_ld_tmp && _ld_extra="$_ld_extra $_ld_tmp" \
3262 && _termcap=yes && break
3263 done
3265 if test "$_termcap" = yes ; then
3266 _def_termcap='#define USE_TERMCAP 1'
3267 _res_comment="using $_ld_tmp"
3268 else
3269 _def_termcap='#undef USE_TERMCAP'
3271 echores "$_termcap"
3274 echocheck "termios"
3275 if test "$_termios" = auto ; then
3276 cat > $TMPC <<EOF
3277 #include <sys/termios.h>
3278 int main(void) { return 0; }
3280 _termios=auto
3281 cc_check && _termios=yes
3282 _def_termios_h_name='sys/termios.h'
3284 # second test:
3285 if test "$_termios" = auto ; then
3286 cat > $TMPC <<EOF
3287 #include <termios.h>
3288 int main(void) { return 0; }
3290 _termios=no
3291 cc_check && _termios=yes
3292 _def_termios_h_name='termios.h'
3295 if test "$_termios" = yes ; then
3296 _def_termios='#define HAVE_TERMIOS 1'
3297 _def_termios_h='#undef HAVE_TERMIOS_H'
3298 _def_termios_sys_h='#undef HAVE_SYS_TERMIOS_H'
3300 if test "$_def_termios_h_name" = 'sys/termios.h' ; then
3301 _def_termios_sys_h='#define HAVE_SYS_TERMIOS_H 1'
3302 elif test "$_def_termios_h_name" = 'termios.h' ; then
3303 _def_termios_h='#define HAVE_TERMIOS_H 1'
3305 _res_comment="using $_def_termios_h_name"
3306 else
3307 _def_termios='#undef HAVE_TERMIOS'
3308 _def_termios_h_name=''
3309 _termios=no
3311 echores "$_termios"
3314 echocheck "shm"
3315 if test "$_shm" = auto ; then
3316 cat > $TMPC << EOF
3317 #include <sys/types.h>
3318 #include <sys/shm.h>
3319 int main(void) { shmget(0, 0, 0); shmat(0, 0, 0); shmctl(0, 0, 0); return 0; }
3321 _shm=no
3322 cc_check && _shm=yes
3324 if test "$_shm" = yes ; then
3325 _def_shm='#define HAVE_SHM 1'
3326 else
3327 _def_shm='#undef HAVE_SHM'
3329 echores "$_shm"
3332 # XXX: FIXME, add runtime checking
3333 echocheck "linux devfs"
3334 echores "$_linux_devfs"
3337 echocheck "scandir()"
3338 cat > $TMPC << EOF
3339 int main (void) { scandir("", 0, 0, 0); alphasort(0, 0); return 0; }
3341 _scandir=no
3342 cc_check && _scandir=yes
3343 if test "$_scandir" = yes ; then
3344 _def_scandir='#define HAVE_SCANDIR 1'
3345 _need_scandir=no
3346 else
3347 _def_scandir='#undef HAVE_SCANDIR'
3348 _need_scandir=yes
3350 echores "$_scandir"
3353 echocheck "strsep()"
3354 cat > $TMPC << EOF
3355 #include <string.h>
3356 int main (void) { char *s = "Hello, world!"; (void) strsep(&s, ","); return 0; }
3358 _strsep=no
3359 cc_check && _strsep=yes
3360 if test "$_strsep" = yes ; then
3361 _def_strsep='#define HAVE_STRSEP 1'
3362 _need_strsep=no
3363 else
3364 _def_strsep='#undef HAVE_STRSEP'
3365 _need_strsep=yes
3367 echores "$_strsep"
3369 echocheck "strlcpy()"
3370 cat > $TMPC << EOF
3371 #include <string.h>
3372 int main (void) { char *s = "Hello, world!", t[20]; (void) strlcpy(t, s, sizeof( t )); return 0; }
3374 _strlcpy=no
3375 cc_check && _strlcpy=yes
3376 if test "$_strlcpy" = yes ; then
3377 _def_strlcpy='#define HAVE_STRLCPY 1'
3378 _need_strlcpy=no
3379 else
3380 _def_strlcpy='#undef HAVE_STRLCPY'
3381 _need_strlcpy=yes
3383 echores "$_strlcpy"
3385 echocheck "strlcat()"
3386 cat > $TMPC << EOF
3387 #include <string.h>
3388 int main (void) { char *s = "Hello, world!", t[20]; (void) strlcat(t, s, sizeof( t )); return 0; }
3390 _strlcat=no
3391 cc_check && _strlcat=yes
3392 if test "$_strlcat" = yes ; then
3393 _def_strlcat='#define HAVE_STRLCAT 1'
3394 _need_strlcat=no
3395 else
3396 _def_strlcat='#undef HAVE_STRLCAT'
3397 _need_strlcat=yes
3399 echores "$_strlcat"
3401 echocheck "fseeko()"
3402 cat > $TMPC << EOF
3403 #include <stdio.h>
3404 int main (void) { int i; i = fseeko(stdin, 0, 0); return 0; }
3406 _fseeko=no
3407 cc_check && _fseeko=yes
3408 if test "$_fseeko" = yes ; then
3409 _def_fseeko='#define HAVE_FSEEKO 1'
3410 _need_fseeko=no
3411 else
3412 _def_fseeko='#undef HAVE_FSEEKO'
3413 _need_fseeko=yes
3415 echores "$_fseeko"
3417 echocheck "localtime_r()"
3418 cat > $TMPC << EOF
3419 #include <time.h>
3420 int main( void ) { localtime_r(NULL, NULL); }
3422 _localtime_r=no
3423 cc_check && _localtime_r=yes
3424 if test "$_localtime_r" = yes ; then
3425 _def_localtime_r='#define HAVE_LOCALTIME_R 1'
3426 else
3427 _def_localtime_r='#undef HAVE_LOCALTIME_R'
3429 echores "$_localtime_r"
3431 echocheck "vsscanf()"
3432 cat > $TMPC << EOF
3433 #include <stdarg.h>
3434 int main(void) { vsscanf(0, 0, 0); return 0; }
3436 _vsscanf=no
3437 cc_check && _vsscanf=yes
3438 if test "$_vsscanf" = yes ; then
3439 _def_vsscanf='#define HAVE_VSSCANF 1'
3440 _need_vsscanf=no
3441 else
3442 _def_vsscanf='#undef HAVE_VSSCANF'
3443 _need_vsscanf=yes
3445 echores "$_vsscanf"
3448 echocheck "swab()"
3449 cat > $TMPC << EOF
3450 #include <unistd.h>
3451 int main(void) { swab(0, 0, 0); return 0; }
3453 _swab=no
3454 cc_check && _swab=yes
3455 if test "$_swab" = yes ; then
3456 _def_swab='#define HAVE_SWAB 1'
3457 _need_swab=no
3458 else
3459 _def_swab='#undef HAVE_SWAB'
3460 _need_swab=yes
3462 echores "$_swab"
3464 echocheck "POSIX select()"
3465 cat > $TMPC << EOF
3466 #include <stdio.h>
3467 #include <stdlib.h>
3468 #include <sys/types.h>
3469 #include <string.h>
3470 #include <sys/time.h>
3471 #include <unistd.h>
3472 int main(void) {int nfds = 1; fd_set readfds; struct timeval timeout; select(nfds,&readfds,NULL,NULL,&timeout); return 0; }
3474 _posix_select=no
3475 cc_check && _posix_select=yes
3476 if test "$_posix_select" = no ; then
3477 _def_no_posix_select='#define HAVE_NO_POSIX_SELECT 1'
3478 else
3479 _def_no_posix_select='#undef HAVE_NO_POSIX_SELECT'
3481 echores "$_posix_select"
3484 echocheck "gettimeofday()"
3485 cat > $TMPC << EOF
3486 #include <stdio.h>
3487 #include <sys/time.h>
3488 int main(void) {struct timeval tv_start; gettimeofday(&tv_start, NULL); return 0; }
3490 _gettimeofday=no
3491 cc_check && _gettimeofday=yes
3492 if test "$_gettimeofday" = yes ; then
3493 _def_gettimeofday='#define HAVE_GETTIMEOFDAY 1'
3494 _need_gettimeofday=no
3495 else
3496 _def_gettimeofday='#undef HAVE_GETTIMEOFDAY'
3497 _need_gettimeofday=yes
3499 echores "$_gettimeofday"
3502 echocheck "glob()"
3503 cat > $TMPC << EOF
3504 #include <stdio.h>
3505 #include <glob.h>
3506 int main(void) { glob_t gg; glob("filename",0,NULL,&gg); return 0; }
3508 _glob=no
3509 cc_check && _glob=yes
3510 if test "$_glob" = yes ; then
3511 _def_glob='#define HAVE_GLOB 1'
3512 _need_glob=no
3513 else
3514 _def_glob='#undef HAVE_GLOB'
3515 _need_glob=yes
3517 echores "$_glob"
3520 echocheck "setenv()"
3521 cat > $TMPC << EOF
3522 #include <stdlib.h>
3523 int main (void){ setenv("","",0); return 0; }
3525 _setenv=no
3526 cc_check && _setenv=yes
3527 if test "$_setenv" = yes ; then
3528 _def_setenv='#define HAVE_SETENV 1'
3529 _need_setenv=no
3530 else
3531 _def_setenv='#undef HAVE_SETENV'
3532 _need_setenv=yes
3534 echores "$_setenv"
3537 if sunos; then
3538 echocheck "sysi86()"
3539 cat > $TMPC << EOF
3540 #include <sys/sysi86.h>
3541 int main (void) { sysi86(0); return 0; }
3543 _sysi86=no
3544 cc_check && _sysi86=yes
3545 if test "$_sysi86" = yes ; then
3546 _def_sysi86='#define HAVE_SYSI86 1'
3547 else
3548 _def_sysi86='#undef HAVE_SYSI86'
3550 echores "$_sysi86"
3551 fi #if sunos
3554 echocheck "sys/sysinfo.h"
3555 cat > $TMPC << EOF
3556 #include <sys/sysinfo.h>
3557 int main(void) {
3558 struct sysinfo s_info;
3559 sysinfo(&s_info);
3560 return 0;
3563 _sys_sysinfo=no
3564 cc_check && _sys_sysinfo=yes
3565 if test "$_sys_sysinfo" = yes ; then
3566 _def_sys_sysinfo='#define HAVE_SYS_SYSINFO_H 1'
3567 else
3568 _def_sys_sysinfo='#undef HAVE_SYS_SYSINFO_H'
3570 echores "$_sys_sysinfo"
3573 if darwin; then
3575 echocheck "Mac OS X APIs"
3576 if test "$_macosx" = auto ; then
3577 productName=`/usr/bin/sw_vers -productName`
3578 if test "$productName" = "Mac OS X" ||
3579 test "$productName" = "Mac OS X Server" ; then
3580 _macosx=yes
3581 else
3582 _macosx=no
3583 _def_macosx='#undef MACOSX'
3584 _noaomodules="macosx $_noaomodules"
3585 _novomodules="quartz $_novomodules"
3588 if test "$_macosx" = yes ; then
3589 cat > $TMPC <<EOF
3590 #include <Carbon/Carbon.h>
3591 #include <QuickTime/QuickTime.h>
3592 #include <CoreAudio/CoreAudio.h>
3593 int main(void) {
3594 EnterMovies();
3595 ExitMovies();
3596 CFRunLoopRunInMode(kCFRunLoopDefaultMode, 0, false);
3599 if cc_check -framework Carbon -framework QuickTime -framework CoreAudio; then
3600 _ld_extra="$_ld_extra -framework Carbon -framework QuickTime -framework CoreAudio -framework AudioUnit -framework AudioToolbox"
3601 _def_macosx='#define MACOSX 1'
3602 _aosrc="$_aosrc ao_macosx.c"
3603 _aomodules="macosx $_aomodules"
3604 _vosrc="$_vosrc vo_quartz.c"
3605 _vomodules="quartz $_vomodules"
3606 else
3607 _macosx=no
3608 _def_macosx='#undef MACOSX'
3609 _noaomodules="macosx $_noaomodules"
3610 _novomodules="quartz $_novomodules"
3612 cat > $TMPC <<EOF
3613 #include <Carbon/Carbon.h>
3614 #include <QuartzCore/CoreVideo.h>
3615 int main(void) {}
3617 if cc_check -framework Carbon -framework QuartzCore -framework OpenGL; then
3618 _vosrc="$_vosrc vo_macosx.m"
3619 _vomodules="macosx $_vomodules"
3620 _ld_extra="$_ld_extra -framework Cocoa -framework QuartzCore -framework OpenGL"
3621 _def_macosx_corevideo='#define MACOSX_COREVIDEO 1'
3622 _macosx_corevideo=yes
3623 else
3624 _novomodules="macosx $_novomodules"
3625 _def_macosx_corevideo='#undef MACOSX_COREVIDEO'
3626 _macosx_corevideo=no
3629 echores "$_macosx"
3631 echocheck "Mac OS X Finder Support"
3632 if test "$_macosx_finder_support" = auto ; then
3633 _macosx_finder_support=$_macosx
3635 if test "$_macosx_finder_support" = yes; then
3636 _def_macosx_finder_support='#define MACOSX_FINDER_SUPPORT 1'
3637 _macosx_finder_support=yes
3638 else
3639 _def_macosx_finder_support='#undef MACOSX_FINDER_SUPPORT'
3640 _macosx_finder_support=no
3642 echores "$_macosx_finder_support"
3644 echocheck "Mac OS X Bundle file locations"
3645 if test "$_macosx_bundle" = auto ; then
3646 _macosx_bundle=$_macosx_finder_support
3648 if test "$_macosx_bundle" = yes; then
3649 _def_macosx_bundle='#define MACOSX_BUNDLE 1'
3650 else
3651 _def_macosx_bundle='#undef MACOSX_BUNDLE'
3652 _macosx_bundle=no
3654 echores "$_macosx_bundle"
3656 fi #if darwin
3659 echocheck "pkg-config"
3660 _pkg_config=pkg-config
3661 if `$_pkg_config --version > /dev/null 2>&1`; then
3662 echores "yes"
3663 else
3664 _pkg_config=false
3665 echores "no"
3669 echocheck "Samba support (libsmbclient)"
3670 if test "$_smbsupport" = yes; then
3671 _ld_extra="$_ld_extra -lsmbclient"
3673 if test "$_smbsupport" = auto; then
3674 _smbsupport=no
3675 cat > $TMPC << EOF
3676 #include <libsmbclient.h>
3677 int main(void) { smbc_opendir("smb://"); return 0; }
3679 for _ld_tmp in "-lsmbclient" "-lsmbclient $_ld_dl" "-lsmbclient $_ld_dl -lnsl" "-lsmbclient $_ld_dl -lssl -lnsl" ; do
3680 cc_check $_ld_tmp && _ld_extra="$_ld_extra $_ld_tmp" && \
3681 _smbsupport=yes && break
3682 done
3685 if test "$_smbsupport" = yes; then
3686 _def_smbsupport="#define LIBSMBCLIENT"
3687 _inputmodules="smb $_inputmodules"
3688 else
3689 _def_smbsupport="#undef LIBSMBCLIENT"
3690 _noinputmodules="smb $_noinputmodules"
3692 echores "$_smbsupport"
3695 #########
3696 # VIDEO #
3697 #########
3700 echocheck "3dfx"
3701 if test "$_3dfx" = yes ; then
3702 _def_3dfx='#define HAVE_3DFX 1'
3703 _vosrc="$_vosrc vo_3dfx.c"
3704 _vomodules="3dfx $_vomodules"
3705 else
3706 _def_3dfx='#undef HAVE_3DFX'
3707 _novomodules="3dfx $_novomodules"
3709 echores "$_3dfx"
3712 echocheck "tdfxfb"
3713 if test "$_tdfxfb" = yes ; then
3714 _def_tdfxfb='#define HAVE_TDFXFB 1'
3715 _vosrc="$_vosrc vo_tdfxfb.c"
3716 _vomodules="tdfxfb $_vomodules"
3717 else
3718 _def_tdfxfb='#undef HAVE_TDFXFB'
3719 _novomodules="tdfxfb $_novomodules"
3721 echores "$_tdfxfb"
3723 echocheck "s3fb"
3724 if test "$_s3fb" = yes ; then
3725 _def_s3fb='#define HAVE_S3FB 1'
3726 _vosrc="$_vosrc vo_s3fb.c"
3727 _vomodules="s3fb $_vomodules"
3728 else
3729 _def_s3fb='#undef HAVE_S3FB'
3730 _novomodules="s3fb $_novomodules"
3732 echores "$_s3fb"
3734 echocheck "tdfxvid"
3735 if test "$_tdfxvid" = yes ; then
3736 _def_tdfxvid='#define HAVE_TDFX_VID 1'
3737 _vosrc="$_vosrc vo_tdfx_vid.c"
3738 _vomodules="tdfx_vid $_vomodules"
3739 else
3740 _def_tdfxvid='#undef HAVE_TDFX_VID'
3741 _novomodules="tdfx_vid $_novomodules"
3743 echores "$_tdfxvid"
3745 echocheck "tga"
3746 if test "$_tga" = yes ; then
3747 _def_tga='#define HAVE_TGA 1'
3748 _vosrc="$_vosrc vo_tga.c"
3749 _vomodules="tga $_vomodules"
3750 else
3751 _def_tga='#undef HAVE_TGA'
3752 _novomodules="tga $_novomodules"
3754 echores "$_tga"
3757 echocheck "DirectFB"
3758 if test "$_directfb" = auto ; then
3759 _directfb=no
3760 cat > $TMPC <<EOF
3761 #include <directfb.h>
3762 int main(void) { IDirectFB *foo; DirectFBInit(0,0); return 0; }
3764 for _inc_tmp in "" -I/usr/local/include/directfb \
3765 -I/usr/include/directfb -I/usr/local/include -I/usr/include; do
3766 cc_check $_inc_tmp -ldirectfb && _directfb=yes && \
3767 _inc_extra="$_inc_extra $_inc_tmp" && break
3768 done
3771 dfb_version() {
3772 expr $1 \* 65536 + $2 \* 256 + $3
3775 if test "$_directfb" = yes; then
3776 cat > $TMPC << EOF
3777 #include <directfb_version.h>
3779 dfb_ver = DIRECTFB_MAJOR_VERSION.DIRECTFB_MINOR_VERSION.DIRECTFB_MICRO_VERSION
3782 if $_cc -E $TMPC $_inc_extra > "$TMPO"; then
3783 _directfb_version=`sed -n 's/^dfb_ver[^0-9]*\(.*\)/\1/p' "$TMPO" | tr -d '()'`
3784 _dfb_major=`echo $_directfb_version | cut -d . -f 1`
3785 _dfb_minor=`echo $_directfb_version | cut -d . -f 2`
3786 _dfb_micro=`echo $_directfb_version | cut -d . -f 3`
3787 _dfb_version=`dfb_version $_dfb_major $_dfb_minor $_dfb_micro`
3788 if test "$_dfb_version" -ge `dfb_version 0 9 13`; then
3789 _def_directfb_version="#define DIRECTFBVERSION $_dfb_version"
3790 _res_comment="$_directfb_version"
3791 else
3792 _def_directfb_version='#undef DIRECTFBVERSION'
3793 _directfb=no
3794 _res_comment="version >=0.9.13 required"
3796 else
3797 _directfb=no
3798 _res_comment="failed to get version"
3801 echores "$_directfb"
3803 if test "$_directfb" = yes ; then
3804 _def_directfb='#define HAVE_DIRECTFB 1'
3805 if test "$_dfb_version" -ge `dfb_version 0 9 13`; then
3806 _vosrc="$_vosrc vo_directfb2.c"
3807 _vomodules="directfb $_vomodules"
3808 _libs_mplayer="$_libs_mplayer -ldirectfb"
3809 else
3810 _novomodules="directfb $_novomodules"
3813 if test "$_dfb_version" -ge `dfb_version 0 9 15`; then
3814 _vosrc="$_vosrc vo_dfbmga.c"
3815 _vomodules="dfbmga $_vomodules"
3816 _def_dfbmga='#define HAVE_DFBMGA 1'
3817 else
3818 _novomodules="dfbmga $_novomodules"
3819 _def_dfbmga='#undef HAVE_DFBMGA'
3821 else
3822 _def_directfb='#undef HAVE_DIRECTFB'
3823 _novomodules="dfbmga directfb $_novomodules"
3827 echocheck "X11 headers presence"
3828 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
3829 if test -f "$I/X11/Xlib.h" ; then
3830 _inc_x11="-I$I"
3831 _x11_headers="yes"
3832 _res_comment="using $I"
3833 break
3835 done
3836 if test -z "$_inc_x11" ; then
3837 _x11=no
3838 _x11_headers="no"
3839 _res_comment="check if the dev(el) packages are installed"
3841 echores "$_x11_headers"
3844 echocheck "X11"
3845 if test "$_x11" != no ; then
3846 cat > $TMPC <<EOF
3847 #include <X11/Xlib.h>
3848 #include <X11/Xutil.h>
3849 int main(void) { (void) XCreateWindow(0,0,0,0,0,0,0,0,0,0,0,0); return 0; }
3851 for I in "" -L/usr/X11R6/lib -L/usr/lib/X11R6 -L/usr/X11/lib \
3852 -L/usr/lib32 -L/usr/openwin/lib -L/usr/X11R6/lib64 -L/usr/lib ; do
3853 if netbsd; then
3854 _ld_tmp="$I -lXext -lX11 $_ld_pthread -Wl,-R`echo $I | sed s/^-L//`"
3855 else
3856 _ld_tmp="$I -lXext -lX11 $_ld_pthread"
3858 cc_check $_inc_x11 $_ld_tmp && _libs_mplayer="$_libs_mplayer $_ld_tmp" \
3859 && _x11=yes && break
3860 done
3862 if test "$_x11" = yes ; then
3863 #FIXME: This is ugly as it can duplicate a -I parameter..
3864 _inc_extra="$_inc_extra $_inc_x11"
3865 _def_x11='#define HAVE_X11 1'
3866 _vosrc="$_vosrc x11_common.c vo_x11.c vo_xover.c"
3867 _vomodules="x11 xover $_vomodules"
3868 else
3869 _x11=no
3870 _def_x11='#undef HAVE_X11'
3871 _novomodules="x11 $_novomodules"
3872 _res_comment="check if the dev(el) packages are installed"
3873 # disable stuff that depends on X
3874 _xv=no ; _xvmc=no ; _xinerama=no ; _vm=no ; _xf86keysym=no ; _dga=no
3876 echores "$_x11"
3879 echocheck "DPMS"
3880 _xdpms3=no
3881 _xdpms4=no
3882 if test "$_x11" = yes ; then
3883 cat > $TMPC <<EOF
3884 #include <X11/Xmd.h>
3885 #include <X11/Xlib.h>
3886 #include <X11/Xutil.h>
3887 #include <X11/Xatom.h>
3888 #include <X11/extensions/dpms.h>
3889 int main(void) {
3890 (void) DPMSQueryExtension(0, 0, 0);
3893 cc_check -lXdpms && _xdpms3=yes
3894 cat > $TMPC <<EOF
3895 #include <X11/Xlib.h>
3896 #include <X11/extensions/dpms.h>
3897 int main(void) {
3898 (void) DPMSQueryExtension(0, 0, 0);
3901 cc_check && _xdpms4=yes
3903 if test "$_xdpms4" = yes ; then
3904 _def_xdpms='#define HAVE_XDPMS 1'
3905 _res_comment="using Xdpms 4"
3906 echores "yes"
3907 elif test "$_xdpms3" = yes ; then
3908 _def_xdpms='#define HAVE_XDPMS 1'
3909 _libs_mplayer="$_libs_mplayer -lXdpms"
3910 _res_comment="using Xdpms 3"
3911 echores "yes"
3912 else
3913 _def_xdpms='#undef HAVE_XDPMS'
3914 echores "no"
3918 echocheck "Xv"
3919 if test "$_xv" = auto ; then
3920 cat > $TMPC <<EOF
3921 #include <X11/Xlib.h>
3922 #include <X11/extensions/Xvlib.h>
3923 int main(void) {
3924 (void) XvGetPortAttribute(0, 0, 0, 0);
3925 (void) XvQueryPortAttributes(0, 0, 0);
3926 return 0; }
3928 _xv=no
3929 cc_check -lXv && _xv=yes
3932 if test "$_xv" = yes ; then
3933 _def_xv='#define HAVE_XV 1'
3934 _libs_mplayer="$_libs_mplayer -lXv"
3935 _vosrc="$_vosrc vo_xv.c"
3936 _vomodules="xv $_vomodules"
3937 else
3938 _def_xv='#undef HAVE_XV'
3939 _novomodules="xv $_novomodules"
3941 echores "$_xv"
3944 echocheck "XvMC"
3945 if test "$_xv" = yes && test "$_xvmc" != no ; then
3946 _xvmc=no
3947 cat > $TMPC <<EOF
3948 #include <X11/Xlib.h>
3949 #include <X11/extensions/Xvlib.h>
3950 #include <X11/extensions/XvMClib.h>
3951 int main(void) {
3952 (void) XvMCQueryExtension(0,0,0);
3953 (void) XvMCCreateContext(0,0,0,0,0,0,0);
3954 return 0; }
3956 for _ld_tmp in $_xvmclib XvMCNVIDIA XvMCW I810XvMC ; do
3957 cc_check -lXvMC -l$_ld_tmp && _xvmc=yes && _xvmclib="$_ld_tmp" && break
3958 done
3960 if test "$_xvmc" = yes ; then
3961 _def_xvmc='#define HAVE_XVMC 1'
3962 _libs_mplayer="$_libs_mplayer -lXvMC -l$_xvmclib"
3963 _vosrc="$_vosrc vo_xvmc.c"
3964 _vomodules="xvmc $_vomodules"
3965 _res_comment="using $_xvmclib"
3966 else
3967 _def_xvmc='#undef HAVE_XVMC'
3968 _novomodules="xvmc $_novomodules"
3970 echores "$_xvmc"
3973 echocheck "Xinerama"
3974 if test "$_xinerama" = auto ; then
3975 cat > $TMPC <<EOF
3976 #include <X11/Xlib.h>
3977 #include <X11/extensions/Xinerama.h>
3978 int main(void) { (void) XineramaIsActive(0); return 0; }
3980 _xinerama=no
3981 cc_check -lXinerama && _xinerama=yes
3984 if test "$_xinerama" = yes ; then
3985 _def_xinerama='#define HAVE_XINERAMA 1'
3986 _libs_mplayer="$_libs_mplayer -lXinerama"
3987 else
3988 _def_xinerama='#undef HAVE_XINERAMA'
3990 echores "$_xinerama"
3993 # Note: the -lXxf86vm library is the VideoMode extension and though it's not
3994 # needed for DGA, AFAIK every distribution packages together with DGA stuffs
3995 # named 'X extensions' or something similar.
3996 # This check may be useful for future mplayer versions (to change resolution)
3997 # If you run into problems, remove '-lXxf86vm'.
3998 echocheck "Xxf86vm"
3999 if test "$_vm" = auto ; then
4000 cat > $TMPC <<EOF
4001 #include <X11/Xlib.h>
4002 #include <X11/extensions/xf86vmode.h>
4003 int main(void) { (void) XF86VidModeQueryExtension(0, 0, 0); return 0; }
4005 _vm=no
4006 cc_check -lXxf86vm && _vm=yes
4008 if test "$_vm" = yes ; then
4009 _def_vm='#define HAVE_XF86VM 1'
4010 _libs_mplayer="$_libs_mplayer -lXxf86vm"
4011 else
4012 _def_vm='#undef HAVE_XF86VM'
4014 echores "$_vm"
4016 # Check for the presence of special keycodes, like audio control buttons
4017 # that XFree86 might have. Used to be bundled with the xf86vm check, but
4018 # has nothing to do with xf86vm and XFree 3.x has xf86vm but does NOT
4019 # have these new keycodes.
4020 echocheck "XF86keysym"
4021 if test "$_xf86keysym" = auto; then
4022 _xf86keysym=no
4023 cat > $TMPC <<EOF
4024 #include <X11/Xlib.h>
4025 #include <X11/XF86keysym.h>
4026 int main(void) { return XF86XK_AudioPause; }
4028 cc_check && _xf86keysym=yes
4030 if test "$_xf86keysym" = yes ; then
4031 _def_xf86keysym='#define HAVE_XF86XK 1'
4032 else
4033 _def_xf86keysym='#undef HAVE_XF86XK'
4035 echores "$_xf86keysym"
4037 echocheck "DGA"
4038 # Version 2 is preferred to version 1 if available
4039 if test "$_dga" = auto ; then
4040 cat > $TMPC << EOF
4041 #include <X11/Xlib.h>
4042 #include <X11/extensions/xf86dga.h>
4043 int main (void) { (void) XF86DGASetViewPort(0, 0, 0, 0); return 0; }
4045 _dga=no
4046 cc_check -lXxf86dga -lXxf86vm && _dga=1
4048 cat > $TMPC << EOF
4049 #include <X11/Xlib.h>
4050 #include <X11/extensions/xf86dga.h>
4051 int main (void) { (void) XDGASetViewport(0, 0, 0, 0, 0); return 0; }
4053 cc_check -lXxf86dga && _dga=2
4056 _def_dga='#undef HAVE_DGA'
4057 _def_dga2='#undef HAVE_DGA2'
4058 if test "$_dga" = 1 ; then
4059 _def_dga='#define HAVE_DGA 1'
4060 _libs_mplayer="$_libs_mplayer -lXxf86dga"
4061 _vosrc="$_vosrc vo_dga.c"
4062 _vomodules="dga $_vomodules"
4063 _res_comment="using DGA 1.0"
4064 elif test "$_dga" = 2 ; then
4065 _def_dga='#define HAVE_DGA 1'
4066 _def_dga2='#define HAVE_DGA2 1'
4067 _libs_mplayer="$_libs_mplayer -lXxf86dga"
4068 _vosrc="$_vosrc vo_dga.c"
4069 _vomodules="dga $_vomodules"
4070 _res_comment="using DGA 2.0"
4071 elif test "$_dga" = no ; then
4072 _novomodules="dga $_novomodules"
4073 else
4074 die "DGA version must be 1 or 2"
4076 echores "$_dga"
4079 echocheck "OpenGL"
4080 #Note: this test is run even with --enable-gl since we autodetect linker flags
4081 if (test "$_x11" = yes || win32 && test "$_macosx" != yes) && test "$_gl" != no ; then
4082 cat > $TMPC << EOF
4083 #include <GL/gl.h>
4084 int main(void) { return 0; }
4086 _gl=no
4087 if cc_check -lGL $_ld_lm ; then
4088 _gl=yes
4089 _libs_mplayer="$_libs_mplayer -lGL $_ld_dl"
4090 elif cc_check -lGL $_ld_lm $_ld_pthread ; then
4091 _gl=yes
4092 _libs_mplayer="$_libs_mplayer -lGL $_ld_pthread $_ld_dl"
4093 elif cc_check -lopengl32 ; then
4094 _gl=yes
4095 _gl_win32=yes
4096 _libs_mplayer="$_libs_mplayer -lopengl32 -lgdi32"
4098 else
4099 _gl=no
4101 if test "$_gl" = yes ; then
4102 _def_gl='#define HAVE_GL 1'
4103 _vosrc="$_vosrc vo_gl.c vo_gl2.c gl_common.c"
4104 if test "$_gl_win32" = yes ; then
4105 _def_gl_win32='#define GL_WIN32 1'
4106 _vosrc="$_vosrc w32_common.c"
4107 _res_comment="win32 version"
4109 _vomodules="opengl $_vomodules"
4110 else
4111 _def_gl='#undef HAVE_GL'
4112 _def_gl_win32='#undef GL_WIN32'
4113 _novomodules="opengl $_novomodules"
4115 echores "$_gl"
4118 echocheck "/dev/mga_vid"
4119 if test "$_mga" = auto ; then
4120 _mga=no
4121 test -c /dev/mga_vid && _mga=yes
4123 if test "$_mga" = yes ; then
4124 _def_mga='#define HAVE_MGA 1'
4125 _vosrc="$_vosrc vo_mga.c"
4126 _vomodules="mga $_vomodules"
4127 else
4128 _def_mga='#undef HAVE_MGA'
4129 _novomodules="mga $_novomodules"
4131 echores "$_mga"
4134 # echocheck "syncfb"
4135 # _syncfb=no
4136 # test "$_mga" = yes && _syncfb=yes
4137 # if test "$_syncfb" = yes ; then
4138 # _def_syncfb='#define HAVE_SYNCFB 1'
4139 # _vosrc="$_vosrc vo_syncfb.c"
4140 # else
4141 # _def_syncfb='#undef HAVE_SYNCFB'
4142 # fi
4143 # echores "$_syncfb"
4146 echocheck "xmga"
4147 if test "$_xmga" = auto ; then
4148 _xmga=no
4149 test "$_x11" = yes && test "$_mga" = yes && _xmga=yes
4151 if test "$_xmga" = yes ; then
4152 _def_xmga='#define HAVE_XMGA 1'
4153 _vosrc="$_vosrc vo_xmga.c"
4154 _vomodules="xmga $_vomodules"
4155 else
4156 _def_xmga='#undef HAVE_XMGA'
4157 _novomodules="xmga $_novomodules"
4159 echores "$_xmga"
4162 echocheck "GGI"
4163 if test "$_ggi" = auto ; then
4164 cat > $TMPC << EOF
4165 #include <ggi/ggi.h>
4166 int main(void) { return 0; }
4168 _ggi=no
4169 cc_check -lggi && _ggi=yes
4171 if test "$_ggi" = yes ; then
4172 _def_ggi='#define HAVE_GGI 1'
4173 _libs_mplayer="$_libs_mplayer -lggi"
4174 _vosrc="$_vosrc vo_ggi.c"
4175 _vomodules="ggi $_vomodules"
4176 else
4177 _def_ggi='#undef HAVE_GGI'
4178 _novomodules="ggi $_novomodules"
4180 echores "$_ggi"
4182 echocheck "GGI extension: libggiwmh"
4183 if test "$_ggiwmh" = auto ; then
4184 _ggiwmh=no
4185 cat > $TMPC << EOF
4186 #include <ggi/ggi.h>
4187 #include <ggi/wmh.h>
4188 int main(void) { return 0; }
4190 cc_check -lggi -lggiwmh && _ggiwmh=yes
4192 # needed to get right output on obscure combination
4193 # like --disable-ggi --enable-ggiwmh
4194 if test "$_ggi" = yes && test "$_ggiwmh" = yes ; then
4195 _def_ggiwmh='#define HAVE_GGIWMH 1'
4196 _libs_mplayer="$_libs_mplayer -lggiwmh"
4197 else
4198 _ggiwmh=no
4199 _def_ggiwmh='#undef HAVE_GGIWMH'
4201 echores "$_ggiwmh"
4204 echocheck "AA"
4205 if test "$_aa" = auto ; then
4206 cat > $TMPC << EOF
4207 #include <aalib.h>
4208 extern struct aa_hardware_params aa_defparams;
4209 extern struct aa_renderparams aa_defrenderparams;
4210 int main(void) {
4211 aa_context *c;
4212 aa_renderparams *p;
4213 (void) aa_init(0, 0, 0);
4214 c = aa_autoinit(&aa_defparams);
4215 p = aa_getrenderparams();
4216 aa_autoinitkbd(c,0);
4217 return 0; }
4219 _aa=no
4220 for _ld_tmp in "-laa" ; do
4221 cc_check $_ld_tmp && _libs_mplayer="$_libs_mplayer $_ld_tmp" && _aa=yes && break
4222 done
4224 if test "$_aa" = yes ; then
4225 _def_aa='#define HAVE_AA 1'
4226 if cygwin ; then
4227 _libs_mplayer="$_libs_mplayer `aalib-config --libs | cut -d " " -f 2,5,6`"
4229 _vosrc="$_vosrc vo_aa.c"
4230 _vomodules="aa $_vomodules"
4231 else
4232 _def_aa='#undef HAVE_AA'
4233 _novomodules="aa $_novomodules"
4235 echores "$_aa"
4238 echocheck "CACA"
4239 if test "$_caca" = auto ; then
4240 _caca=no
4241 if ( caca-config --version ) >> "$TMPLOG" 2>&1 ; then
4242 cat > $TMPC << EOF
4243 #include <caca.h>
4244 #ifdef CACA_API_VERSION_1
4245 #include <caca0.h>
4246 #endif
4247 int main(void) { (void) caca_init(); return 0; }
4249 cc_check `caca-config --libs` && _caca=yes
4252 if test "$_caca" = yes ; then
4253 _def_caca='#define HAVE_CACA 1'
4254 _inc_extra="$_inc_extra `caca-config --cflags`"
4255 _libs_mplayer="$_libs_mplayer `caca-config --libs`"
4256 _vosrc="$_vosrc vo_caca.c"
4257 _vomodules="caca $_vomodules"
4258 else
4259 _def_caca='#undef HAVE_CACA'
4260 _novomodules="caca $_novomodules"
4262 echores "$_caca"
4265 echocheck "SVGAlib"
4266 if test "$_svga" = auto ; then
4267 cat > $TMPC << EOF
4268 #include <vga.h>
4269 int main(void) { return 0; }
4271 _svga=no
4272 cc_check -lvga $_ld_lm && _svga=yes
4274 if test "$_svga" = yes ; then
4275 _def_svga='#define HAVE_SVGALIB 1'
4276 _libs_mplayer="$_libs_mplayer -lvga"
4277 _vosrc="$_vosrc vo_svga.c"
4278 _vomodules="svga $_vomodules"
4279 else
4280 _def_svga='#undef HAVE_SVGALIB'
4281 _novomodules="svga $_novomodules"
4283 echores "$_svga"
4286 echocheck "FBDev"
4287 if test "$_fbdev" = auto ; then
4288 _fbdev=no
4289 linux && test -c /dev/fb0 && _fbdev=yes
4291 if test "$_fbdev" = yes ; then
4292 _def_fbdev='#define HAVE_FBDEV 1'
4293 _vosrc="$_vosrc vo_fbdev.c vo_fbdev2.c"
4294 _vomodules="fbdev $_vomodules"
4295 else
4296 _def_fbdev='#undef HAVE_FBDEV'
4297 _novomodules="fbdev $_novomodules"
4299 echores "$_fbdev"
4303 echocheck "DVB"
4304 if test "$_dvb" = auto ; then
4305 _dvb=no
4306 cat >$TMPC << EOF
4307 #include <sys/poll.h>
4308 #include <sys/ioctl.h>
4309 #include <stdio.h>
4310 #include <time.h>
4311 #include <unistd.h>
4313 #include <ost/dmx.h>
4314 #include <ost/frontend.h>
4315 #include <ost/sec.h>
4316 #include <ost/video.h>
4317 #include <ost/audio.h>
4318 int main(void) {return 0;}
4320 for _inc_tmp in "" "-I/usr/src/DVB/ost/include" ; do
4321 cc_check $_inc_tmp && _dvb=yes && \
4322 _inc_extra="$_inc_extra $_inc_tmp" && break
4323 done
4325 echores "$_dvb"
4326 if test "$_dvb" = yes ; then
4327 _def_dvb='#define HAVE_DVB 1'
4328 _def_dvb_in='#define HAS_DVBIN_SUPPORT 1'
4329 _aomodules="mpegpes(dvb) $_aomodules"
4330 _vomodules="mpegpes(dvb) $_vomodules"
4333 echocheck "DVB HEAD"
4334 if test "$_dvbhead" = auto ; then
4335 _dvbhead=no
4337 cat >$TMPC << EOF
4338 #include <sys/poll.h>
4339 #include <sys/ioctl.h>
4340 #include <stdio.h>
4341 #include <time.h>
4342 #include <unistd.h>
4344 #include <linux/dvb/dmx.h>
4345 #include <linux/dvb/frontend.h>
4346 #include <linux/dvb/video.h>
4347 #include <linux/dvb/audio.h>
4348 int main(void) {return 0;}
4350 for _inc_tmp in "" "-I/usr/src/DVB/include" ; do
4351 cc_check $_inc_tmp && _dvbhead=yes && \
4352 _inc_extra="$_inc_extra $_inc_tmp" && break
4353 done
4355 echores "$_dvbhead"
4356 if test "$_dvbhead" = yes ; then
4357 _def_dvb='#define HAVE_DVB_HEAD 1'
4358 _def_dvb_in='#define HAS_DVBIN_SUPPORT 1'
4359 _aomodules="mpegpes(dvb) $_aomodules"
4360 _vomodules="mpegpes(dvb) $_vomodules"
4363 if test "$_dvbhead" = no && test "$_dvb" = no ; then
4364 _def_dvb='#undef HAVE_DVB'
4365 _def_dvb_in='#undef HAS_DVBIN_SUPPORT '
4366 _aomodules="mpegpes(file) $_aomodules"
4367 _vomodules="mpegpes(file) $_vomodules"
4370 if test "$_dvb" = yes || test "$_dvbhead" = yes ; then
4371 _dvbin=yes
4372 _inputmodules="dvb $_inputmodules"
4373 else
4374 _dvbin=no
4375 _noinputmodules="dvb $_noinputmodules"
4378 echocheck "PNG support"
4379 if test "$_png" = auto ; then
4380 _png=no
4381 if irix ; then
4382 # Don't check for -lpng on irix since it has its own libpng
4383 # incompatible with the GNU libpng
4384 _res_comment="disabled on irix (not GNU libpng)"
4385 else
4386 cat > $TMPC << EOF
4387 #include <png.h>
4388 #include <string.h>
4389 int main(void) {
4390 printf("png.h : %s\n", PNG_LIBPNG_VER_STRING);
4391 printf("libpng: %s\n", png_libpng_ver);
4392 return (strcmp(PNG_LIBPNG_VER_STRING, png_libpng_ver));
4395 if cc_check -lpng -lz $_ld_lm ; then
4396 if tmp_run ; then
4397 _png=yes
4398 else
4399 _res_comment="mismatch of library and header versions"
4404 echores "$_png"
4405 if test "$_png" = yes ; then
4406 _def_png='#define HAVE_PNG 1'
4407 _ld_extra="$_ld_extra -lpng -lz"
4408 _vosrc="$_vosrc vo_png.c"
4409 _vomodules="png $_vomodules"
4410 else
4411 _def_png='#undef HAVE_PNG'
4412 _novomodules="png $_novomodules"
4415 echocheck "JPEG support"
4416 if test "$_jpeg" = auto ; then
4417 _jpeg=no
4418 cat > $TMPC << EOF
4419 #include <stdio.h>
4420 #include <stdlib.h>
4421 #include <setjmp.h>
4422 #include <string.h>
4423 #include <jpeglib.h>
4424 int main(void) {
4425 return 0;
4428 if cc_check -ljpeg $_ld_lm ; then
4429 if tmp_run ; then
4430 _jpeg=yes
4434 echores "$_jpeg"
4436 if test "$_jpeg" = yes ; then
4437 _def_jpeg='#define HAVE_JPEG 1'
4438 _vosrc="$_vosrc vo_jpeg.c"
4439 _vomodules="jpeg $_vomodules"
4440 _ld_extra="$_ld_extra -ljpeg"
4441 else
4442 _def_jpeg='#undef HAVE_JPEG'
4443 _novomodules="jpeg $_novomodules"
4448 echocheck "PNM support"
4449 if test "$_pnm" = yes; then
4450 _def_pnm="#define HAVE_PNM"
4451 _vosrc="$_vosrc vo_pnm.c"
4452 _vomodules="pnm $_vomodules"
4453 else
4454 _def_pnm="#undef HAVE_PNM"
4455 _novomodules="pnm $_novomodules"
4457 echores "$_pnm"
4461 echocheck "GIF support"
4462 # This is to appease people who want to force gif support.
4463 # If it is forced to yes, then we still do checks to determine
4464 # which gif library to use.
4465 if test "$_gif" = yes ; then
4466 _force_gif=yes
4467 _gif=auto
4470 if test "$_gif" = auto ; then
4471 _gif=no
4472 cat > $TMPC << EOF
4473 #include <gif_lib.h>
4474 int main(void) {
4475 return 0;
4478 for _ld_gif in "-lungif" "-lgif" ; do
4479 cc_check $_ld_gif && tmp_run && _gif=yes && break
4480 done
4483 # If no library was found, and the user wants support forced,
4484 # then we force it on with libgif, as this is the safest
4485 # assumption IMHO. (libungif & libregif both create symbolic
4486 # links to libgif. We also assume that no x11 support is needed,
4487 # because if you are forcing this, then you _should_ know what
4488 # you are doing. [ Besides, package maintainers should never
4489 # have compiled x11 deps into libungif in the first place. ] )
4490 # </rant>
4491 # --Joey
4492 if test "$_force_gif" = yes && test "$_gif" = no ; then
4493 _gif=yes
4494 _ld_gif="-lgif"
4497 if test "$_gif" = yes ; then
4498 _def_gif='#define HAVE_GIF 1'
4499 _vosrc="$_vosrc vo_gif89a.c"
4500 _codecmodules="gif $_codecmodules"
4501 _vomodules="gif89a $_vomodules"
4502 _res_comment="old version, some encoding functions disabled"
4503 _def_gif_4='#undef HAVE_GIF_4'
4504 _ld_extra="$_ld_extra $_ld_gif"
4506 cat > $TMPC << EOF
4507 #include <signal.h>
4508 #include <gif_lib.h>
4509 void catch() { exit(1); }
4510 int main(void) {
4511 signal(SIGSEGV, catch); // catch segfault
4512 printf("EGifPutExtensionFirst is at address %p\n", EGifPutExtensionFirst);
4513 EGifSetGifVersion("89a"); // this will segfault a buggy gif lib.
4514 return 0;
4517 if cc_check "$_ld_gif" && tmp_run ; then
4518 _def_gif_4='#define HAVE_GIF_4 1'
4519 _res_comment=""
4521 else
4522 _def_gif='#undef HAVE_GIF'
4523 _def_gif_4='#undef HAVE_GIF_4'
4524 _novomodules="gif89a $_novomodules"
4525 _nocodecmodules="gif $_nocodecmodules"
4527 echores "$_gif"
4530 case "$_gif" in yes*)
4531 echocheck "broken giflib workaround"
4532 _def_gif_tvt_hack='#define HAVE_GIF_TVT_HACK 1'
4534 cat > $TMPC << EOF
4535 #include <gif_lib.h>
4536 int main(void) {
4537 GifFileType gif;
4538 printf("UserData is at address %p\n", gif.UserData);
4539 return 0;
4542 if cc_check "$_ld_gif" && tmp_run ; then
4543 _def_gif_tvt_hack='#undef HAVE_GIF_TVT_HACK'
4544 echores "disabled"
4545 else
4546 echores "enabled"
4549 esac
4552 echocheck "VESA support"
4553 if test "$_vesa" = auto ; then
4554 cat > $TMPC << EOF
4555 #include <vbe.h>
4556 int main(void) { vbeVersion(); return 0; }
4558 _vesa=no
4559 cc_check -lvbe -llrmi && _vesa=yes
4561 if test "$_vesa" = yes ; then
4562 _def_vesa='#define HAVE_VESA 1'
4563 _libs_mplayer="$_libs_mplayer -lvbe -llrmi"
4564 _vosrc="$_vosrc vo_vesa.c vesa_lvo.c gtf.c"
4565 _vomodules="vesa $_vomodules"
4566 else
4567 _def_vesa='#undef HAVE_VESA'
4568 _novomodules="vesa $_novomodules"
4570 echores "$_vesa"
4572 #################
4573 # VIDEO + AUDIO #
4574 #################
4577 echocheck "SDL"
4578 if test -z "$_sdlconfig" ; then
4579 if ( sdl-config --version ) >>"$TMPLOG" 2>&1 ; then
4580 _sdlconfig="sdl-config"
4581 elif ( sdl11-config --version ) >>"$TMPLOG" 2>&1 ; then
4582 _sdlconfig="sdl11-config"
4583 else
4584 _sdlconfig=false
4587 if test "$_sdl" = auto || test "$_sdl" = yes ; then
4588 cat > $TMPC << EOF
4589 #include <SDL.h>
4590 int main(int argc, char *argv[]) { return 0; }
4592 _sdl=no
4593 if "$_sdlconfig" --version >>"$TMPLOG" 2>&1 ; then
4594 if cc_check `$_sdlconfig --cflags` `$_sdlconfig --libs` >>"$TMPLOG" 2>&1 ; then
4595 _sdlversion=`$_sdlconfig --version | sed 's/[^0-9]//g'`
4596 if test "$_sdlversion" -gt 116 ; then
4597 if test "$_sdlversion" -lt 121 ; then
4598 _def_sdlbuggy='#define BUGGY_SDL'
4599 else
4600 _def_sdlbuggy='#undef BUGGY_SDL'
4602 _sdl=yes
4607 if test "$_sdl" = yes ; then
4608 _def_sdl='#define HAVE_SDL 1'
4609 if cygwin ; then
4610 _libs_mplayer="$_libs_mplayer `$_sdlconfig --libs | cut -d " " -f 1,4,6 | sed s/no-cygwin/cygwin/`"
4611 _inc_extra="$_inc_extra `$_sdlconfig --cflags | cut -d " " -f 1,5,6 | sed s/no-cygwin/cygwin/`"
4612 elif mingw32 ; then
4613 _libs_mplayer="$_libs_mplayer `$_sdlconfig --libs | sed -e s/-mwindows// -e s/-lmingw32//`"
4614 _inc_extra="$_inc_extra `$_sdlconfig --cflags | sed s/-Dmain=SDL_main//`"
4615 else
4616 _libs_mplayer="$_libs_mplayer `$_sdlconfig --libs`"
4617 _inc_extra="$_inc_extra `$_sdlconfig --cflags | sed s/-D_GNU_SOURCE=1//`"
4619 _vosrc="$_vosrc vo_sdl.c"
4620 _vomodules="sdl $_vomodules"
4621 _aosrc="$_aosrc ao_sdl.c"
4622 _aomodules="sdl $_aomodules"
4623 _res_comment="using $_sdlconfig"
4624 else
4625 _def_sdl='#undef HAVE_SDL'
4626 _novomodules="sdl $_novomodules"
4627 _noaomodules="sdl $_noaomodules"
4629 echores "$_sdl"
4632 if win32; then
4634 echocheck "Windows waveout"
4635 if test "$_win32waveout" = auto ; then
4636 cat > $TMPC << EOF
4637 #include <windows.h>
4638 #include <mmsystem.h>
4639 int main(void) { return 0; }
4641 _win32waveout=no
4642 cc_check -lwinmm && _win32waveout=yes
4644 if test "$_win32waveout" = yes ; then
4645 _def_win32waveout='#define HAVE_WIN32WAVEOUT 1'
4646 _libs_mplayer="$_libs_mplayer -lwinmm"
4647 _aosrc="$_aosrc ao_win32.c"
4648 _aomodules="win32 $_aomodules"
4649 else
4650 _def_win32waveout='#undef HAVE_WIN32WAVEOUT'
4651 _noaomodules="win32 $_noaomodules"
4653 echores "$_win32waveout"
4655 echocheck "Directx"
4656 if test "$_directx" = auto ; then
4657 cat > $TMPC << EOF
4658 #include <windows.h>
4659 #include <ddraw.h>
4660 #include <dsound.h>
4661 int main(void) { return 0; }
4663 _directx=no
4664 cc_check -lgdi32 && _directx=yes
4666 if test "$_directx" = yes ; then
4667 _def_directx='#define HAVE_DIRECTX 1'
4668 _libs_mplayer="$_libs_mplayer -lgdi32"
4669 _vosrc="$_vosrc vo_directx.c"
4670 _vomodules="directx $_vomodules"
4671 _aosrc="$_aosrc ao_dsound.c"
4672 _aomodules="dsound $_aomodules"
4673 else
4674 _def_directx='#undef HAVE_DIRECTX'
4675 _novomodules="directx $_novomodules"
4676 _noaomodules="dsound $_noaomodules"
4678 echores "$_directx"
4680 fi #if win32; then
4683 echocheck "NAS"
4684 if test "$_nas" = auto ; then
4685 cat > $TMPC << EOF
4686 #include <audio/audiolib.h>
4687 int main(void) { return 0; }
4689 _nas=no
4690 cc_check $_ld_lm -laudio -lXt && _nas=yes
4692 if test "$_nas" = yes ; then
4693 _def_nas='#define HAVE_NAS 1'
4694 _libs_mplayer="$_libs_mplayer -laudio -lXt"
4695 _aosrc="$_aosrc ao_nas.c"
4696 _aomodules="nas $_aomodules"
4697 else
4698 _noaomodules="nas $_noaomodules"
4699 _def_nas='#undef HAVE_NAS'
4701 echores "$_nas"
4703 echocheck "DXR2"
4704 if test "$_dxr2" = auto; then
4705 _dxr2=no
4706 cat > $TMPC << EOF
4707 #include <dxr2ioctl.h>
4708 int main(void) { return 0; }
4710 for _inc_tmp in "" -I/usr/local/include/dxr2 -I/usr/include/dxr2; do
4711 cc_check $_inc_tmp && _dxr2=yes && \
4712 _inc_extra="$_inc_extra $_inc_tmp" && break
4713 done
4715 if test "$_dxr2" = yes; then
4716 _def_dxr2='#define HAVE_DXR2 1'
4717 _vosrc="$_vosrc vo_dxr2.c"
4718 _aosrc="$_aosrc ao_dxr2.c"
4719 _aomodules="dxr2 $_aomodules"
4720 _vomodules="dxr2 $_vomodules"
4721 else
4722 _def_dxr2='#undef HAVE_DXR2'
4723 _noaomodules="dxr2 $_noaomodules"
4724 _novomodules="dxr2 $_novomodules"
4726 echores "$_dxr2"
4728 echocheck "DXR3/H+"
4729 if test "$_dxr3" = auto ; then
4730 cat > $TMPC << EOF
4731 #include <linux/em8300.h>
4732 int main(void) { return 0; }
4734 _dxr3=no
4735 cc_check && _dxr3=yes
4737 if test "$_dxr3" = yes ; then
4738 _def_dxr3='#define HAVE_DXR3 1'
4739 _vosrc="$_vosrc vo_dxr3.c"
4740 _vomodules="dxr3 $_vomodules"
4741 else
4742 _def_dxr3='#undef HAVE_DXR3'
4743 _novomodules="dxr3 $_novomodules"
4745 echores "$_dxr3"
4748 echocheck "IVTV TV-Out"
4749 if test "$_ivtv" = auto ; then
4750 cat > $TMPC << EOF
4751 #include <stdlib.h>
4752 #include <inttypes.h>
4753 #include <linux/types.h>
4754 #include <linux/videodev2.h>
4755 #include <linux/ivtv.h>
4756 int main(void) { return 0; }
4758 _ivtv=no
4759 cc_check && _ivtv=yes
4761 if test "$_ivtv" = yes ; then
4762 _def_ivtv='#define HAVE_IVTV 1'
4763 _vosrc="$_vosrc vo_ivtv.c"
4764 _vomodules="ivtv $_vomodules"
4765 _aosrc="$_aosrc ao_ivtv.c"
4766 _aomodules="ivtv $_aomodules"
4767 else
4768 _def_ivtv='#undef HAVE_IVTV'
4769 _novomodules="ivtv $_novomodules"
4770 _noaomodules="ivtv $_noaomodules"
4772 echores "$_ivtv"
4776 #########
4777 # AUDIO #
4778 #########
4781 echocheck "OSS Audio"
4782 if test "$_ossaudio" = auto ; then
4783 cat > $TMPC << EOF
4784 #include <sys/ioctl.h>
4785 $_include_soundcard
4786 int main(void) { int arg = SNDCTL_DSP_SETFRAGMENT; return 0; }
4788 _ossaudio=no
4789 cc_check && _ossaudio=yes
4791 if test "$_ossaudio" = yes ; then
4792 _def_ossaudio='#define USE_OSS_AUDIO 1'
4793 _aosrc="$_aosrc ao_oss.c"
4794 _aomodules="oss $_aomodules"
4795 if test "$_linux_devfs" = yes; then
4796 _def_ossaudio_devdsp='#define PATH_DEV_DSP "/dev/sound/dsp"'
4797 _def_ossaudio_devmixer='#define PATH_DEV_MIXER "/dev/sound/mixer"'
4798 else
4799 cat > $TMPC << EOF
4800 #include <sys/ioctl.h>
4801 $_include_soundcard
4802 #ifdef OPEN_SOUND_SYSTEM
4803 int main(void) { return 0; }
4804 #else
4805 #error Not the real thing
4806 #endif
4808 _real_ossaudio=no
4809 cc_check && _real_ossaudio=yes
4810 if test "$_real_ossaudio" = yes; then
4811 _def_ossaudio_devdsp='#define PATH_DEV_DSP "/dev/dsp"'
4812 elif netbsd || openbsd ; then
4813 _def_ossaudio_devdsp='#define PATH_DEV_DSP "/dev/sound"'
4814 _ld_extra="$_ld_extra -lossaudio"
4815 else
4816 _def_ossaudio_devdsp='#define PATH_DEV_DSP "/dev/dsp"'
4818 _def_ossaudio_devmixer='#define PATH_DEV_MIXER "/dev/mixer"'
4820 else
4821 _def_ossaudio='#undef USE_OSS_AUDIO'
4822 _def_ossaudio_devdsp='#define PATH_DEV_DSP ""'
4823 _def_ossaudio_devmixer='#define PATH_DEV_MIXER ""'
4824 _noaomodules="oss $_noaomodules"
4826 echores "$_ossaudio"
4829 echocheck "aRts"
4830 if test "$_arts" = auto ; then
4831 _arts=no
4832 if ( artsc-config --version ) >> "$TMPLOG" 2>&1 ; then
4834 cat > $TMPC << EOF
4835 #include <artsc.h>
4836 int main(void) { return 0; }
4838 cc_check `artsc-config --libs` `artsc-config --cflags` && tmp_run && _arts=yes
4843 if test "$_arts" = yes ; then
4844 _def_arts='#define USE_ARTS 1'
4845 _aosrc="$_aosrc ao_arts.c"
4846 _aomodules="arts $_aomodules"
4847 _libs_mplayer="$_libs_mplayer `artsc-config --libs`"
4848 _inc_extra="$_inc_extra `artsc-config --cflags`"
4849 else
4850 _noaomodules="arts $_noaomodules"
4852 echores "$_arts"
4855 echocheck "EsounD"
4856 if test "$_esd" = auto ; then
4857 _esd=no
4858 if ( esd-config --version ) >> "$TMPLOG" 2>&1 ; then
4860 cat > $TMPC << EOF
4861 #include <esd.h>
4862 int main(void) { return 0; }
4864 cc_check `esd-config --libs` `esd-config --cflags` && tmp_run && _esd=yes
4868 echores "$_esd"
4870 if test "$_esd" = yes ; then
4871 _def_esd='#define USE_ESD 1'
4872 _aosrc="$_aosrc ao_esd.c"
4873 _aomodules="esd $_aomodules"
4874 _libs_mplayer="$_libs_mplayer `esd-config --libs`"
4875 _inc_extra="$_inc_extra `esd-config --cflags`"
4877 echocheck "esd_get_latency()"
4878 cat > $TMPC << EOF
4879 #include <esd.h>
4880 int main(void) { return esd_get_latency(0); }
4882 cc_check `esd-config --libs` `esd-config --cflags` && _esd_latency=yes && _def_esd_latency='#define HAVE_ESD_LATENCY'
4883 echores "$_esd_latency"
4884 else
4885 _def_esd='#undef USE_ESD'
4886 _def_esd_latency='#undef HAVE_ESD_LATENCY'
4887 _noaomodules="esd $_noaomodules"
4890 echocheck "Polyp"
4891 if test "$_polyp" = auto ; then
4892 _polyp=no
4893 if $_pkg_config --exists 'polyplib >= 0.6 polyplib-error >= 0.6 polyplib-mainloop >= 0.6' ; then
4895 cat > $TMPC << EOF
4896 #include <polyp/polyplib.h>
4897 #include <polyp/mainloop.h>
4898 #include <polyp/polyplib-error.h>
4899 int main(void) { return 0; }
4901 cc_check `$_pkg_config --libs --cflags polyplib polyplib-error polyplib-mainloop` && tmp_run && _polyp=yes
4905 echores "$_polyp"
4907 if test "$_polyp" = yes ; then
4908 _def_polyp='#define USE_POLYP 1'
4909 _aosrc="$_aosrc ao_polyp.c"
4910 _aomodules="polyp $_aomodules"
4911 _libs_mplayer="$_libs_mplayer `$_pkg_config --libs polyplib polyplib-error polyplib-mainloop`"
4912 _inc_extra="$_inc_extra `$_pkg_config --cflags polyplib polyplib-error polyplib-mainloop`"
4913 else
4914 _def_polyp='#undef USE_POLYP'
4915 _noaomodules="polyp $_noaomodules"
4919 echocheck "JACK"
4920 if test "$_jack" = auto ; then
4921 _jack=yes
4923 cat > $TMPC << EOF
4924 #include <jack/jack.h>
4925 int main(void) { jack_client_new("test"); return 0; }
4927 if cc_check -ljack ; then
4928 _libs_mplayer="$_libs_mplayer -ljack"
4929 elif cc_check `$_pkg_config --libs --cflags --silence-errors jack` ; then
4930 _libs_mplayer="$_libs_mplayer `$_pkg_config --libs jack`"
4931 _inc_extra="$_inc_extra "`$_pkg_config --cflags jack`""
4932 else
4933 _jack=no
4937 if test "$_jack" = yes ; then
4938 _def_jack='#define USE_JACK 1'
4939 _aosrc="$_aosrc ao_jack.c"
4940 _aomodules="jack $_aomodules"
4941 else
4942 _noaomodules="jack $_noaomodules"
4944 echores "$_jack"
4946 echocheck "OpenAL"
4947 if test "$_openal" = auto ; then
4948 _openal=no
4949 cat > $TMPC << EOF
4950 #ifdef OPENAL_AL_H
4951 #include <OpenAL/al.h>
4952 #else
4953 #include <AL/al.h>
4954 #endif
4955 int main(void) {
4956 alSourceQueueBuffers(0, 0, 0);
4957 // alGetSourcei(0, AL_SAMPLE_OFFSET, 0);
4958 return 0;
4961 for I in "-lopenal" "-framework OpenAL" ; do
4962 cc_check $I && _openal=yes && break
4963 cc_check -DOPENAL_AL_H=1 $I && _def_openal_h='#define OPENAL_AL_H 1' && _openal=yes && break
4964 done
4965 test "$_openal" = yes && _libs_mplayer="$_libs_mplayer $I"
4967 if test "$_openal" = yes ; then
4968 _def_openal='#define USE_OPENAL 1'
4969 _aosrc="$_aosrc ao_openal.c"
4970 _aomodules="openal $_aomodules"
4971 else
4972 _noaomodules="openal $_noaomodules"
4974 echores "$_openal"
4976 echocheck "ALSA audio"
4977 if test "$_alsa" != no ; then
4978 _alsa=no
4979 cat > $TMPC << EOF
4980 #include <sys/asoundlib.h>
4981 #if !((SND_LIB_MAJOR == 0) && (SND_LIB_MINOR == 5))
4982 #error "alsa version != 0.5.x"
4983 #endif
4984 int main(void) { return 0; }
4986 cc_check -lasound $_ld_dl $_ld_pthread && _alsaver='0.5.x'
4988 cat > $TMPC << EOF
4989 #include <sys/asoundlib.h>
4990 #if !((SND_LIB_MAJOR == 0) && (SND_LIB_MINOR == 9))
4991 #error "alsa version != 0.9.x"
4992 #endif
4993 int main(void) { return 0; }
4995 cc_check -lasound $_ld_dl $_ld_pthread && _alsaver='0.9.x-sys'
4996 cat > $TMPC << EOF
4997 #include <alsa/asoundlib.h>
4998 #if !((SND_LIB_MAJOR == 0) && (SND_LIB_MINOR == 9))
4999 #error "alsa version != 0.9.x"
5000 #endif
5001 int main(void) { return 0; }
5003 cc_check -lasound $_ld_dl $_ld_pthread && _alsaver='0.9.x-alsa'
5005 cat > $TMPC << EOF
5006 #include <sys/asoundlib.h>
5007 #if !((SND_LIB_MAJOR == 1) && (SND_LIB_MINOR == 0))
5008 #error "alsa version != 1.0.x"
5009 #endif
5010 int main(void) { return 0; }
5012 cc_check -lasound $_ld_dl $_ld_pthread && _alsaver='1.0.x-sys'
5013 cat > $TMPC << EOF
5014 #include <alsa/asoundlib.h>
5015 #if !((SND_LIB_MAJOR == 1) && (SND_LIB_MINOR == 0))
5016 #error "alsa version != 1.0.x"
5017 #endif
5018 int main(void) { return 0; }
5020 cc_check -lasound $_ld_dl $_ld_pthread && _alsaver='1.0.x-alsa'
5022 _def_alsa5='#undef HAVE_ALSA5'
5023 _def_alsa9='#undef HAVE_ALSA9'
5024 _def_alsa1x='#undef HAVE_ALSA1X'
5025 _def_sys_asoundlib_h='#undef HAVE_SYS_ASOUNDLIB_H'
5026 _def_alsa_asoundlib_h='#undef HAVE_ALSA_ASOUNDLIB_H'
5027 if test "$_alsaver" ; then
5028 _alsa=yes
5029 if test "$_alsaver" = '0.5.x' ; then
5030 _alsa5=yes
5031 _aosrc="$_aosrc ao_alsa5.c"
5032 _aomodules="alsa5 $_aomodules"
5033 _def_alsa5='#define HAVE_ALSA5 1'
5034 _def_sys_asoundlib_h='#define HAVE_SYS_ASOUNDLIB_H 1'
5035 _res_comment="using alsa 0.5.x and sys/asoundlib.h"
5036 elif test "$_alsaver" = '0.9.x-sys' ; then
5037 _alsa9=yes
5038 _aosrc="$_aosrc ao_alsa.c"
5039 _aomodules="alsa $_aomodules"
5040 _def_alsa9='#define HAVE_ALSA9 1'
5041 _def_sys_asoundlib_h='#define HAVE_SYS_ASOUNDLIB_H 1'
5042 _res_comment="using alsa 0.9.x and sys/asoundlib.h"
5043 elif test "$_alsaver" = '0.9.x-alsa' ; then
5044 _alsa9=yes
5045 _aosrc="$_aosrc ao_alsa.c"
5046 _aomodules="alsa $_aomodules"
5047 _def_alsa9='#define HAVE_ALSA9 1'
5048 _def_alsa_asoundlib_h='#define HAVE_ALSA_ASOUNDLIB_H 1'
5049 _res_comment="using alsa 0.9.x and alsa/asoundlib.h"
5050 elif test "$_alsaver" = '1.0.x-sys' ; then
5051 _alsa1x=yes
5052 _aosrc="$_aosrc ao_alsa.c"
5053 _aomodules="alsa $_aomodules"
5054 _def_alsa1x="#define HAVE_ALSA1X 1"
5055 _def_alsa_asoundlib_h='#define HAVE_SYS_ASOUNDLIB_H 1'
5056 _res_comment="using alsa 1.0.x and sys/asoundlib.h"
5057 elif test "$_alsaver" = '1.0.x-alsa' ; then
5058 _alsa1x=yes
5059 _aosrc="$_aosrc ao_alsa.c"
5060 _aomodules="alsa $_aomodules"
5061 _def_alsa1x="#define HAVE_ALSA1X 1"
5062 _def_alsa_asoundlib_h='#define HAVE_ALSA_ASOUNDLIB_H 1'
5063 _res_comment="using alsa 1.0.x and alsa/asoundlib.h"
5064 else
5065 _alsa=no
5066 _res_comment="unknown version"
5068 _ld_extra="$_ld_extra -lasound $_ld_dl $_ld_pthread"
5069 else
5070 _noaomodules="alsa $_noaomodules"
5072 echores "$_alsa"
5075 echocheck "Sun audio"
5076 if test "$_sunaudio" = auto ; then
5077 cat > $TMPC << EOF
5078 #include <sys/types.h>
5079 #include <sys/audioio.h>
5080 int main(void) { audio_info_t info; AUDIO_INITINFO(&info); return 0; }
5082 _sunaudio=no
5083 cc_check && _sunaudio=yes
5085 if test "$_sunaudio" = yes ; then
5086 _def_sunaudio='#define USE_SUN_AUDIO 1'
5087 _aosrc="$_aosrc ao_sun.c"
5088 _aomodules="sun $_aomodules"
5089 else
5090 _def_sunaudio='#undef USE_SUN_AUDIO'
5091 _noaomodules="sun $_noaomodules"
5093 echores "$_sunaudio"
5096 if sunos; then
5097 echocheck "Sun mediaLib"
5098 if test "$_mlib" = auto ; then
5099 _mlib=no
5100 cat > $TMPC << EOF
5101 #include <mlib.h>
5102 int main(void) { mlib_VideoColorYUV2ABGR420(0,0,0,0,0,0,0,0,0); return 0; }
5104 cc_check -lmlib && _mlib=yes
5106 if test "$_mlib" = yes ; then
5107 _def_mlib='#define HAVE_MLIB 1'
5108 else
5109 _def_mlib='#undef HAVE_MLIB'
5111 echores "$_mlib"
5112 fi #if sunos
5115 if irix; then
5116 echocheck "SGI audio"
5117 if test "$_sgiaudio" = auto ; then
5118 # check for SGI audio
5119 cat > $TMPC << EOF
5120 #include <dmedia/audio.h>
5121 int main(void) { return 0; }
5123 _sgiaudio=no
5124 cc_check && _sgiaudio=yes
5126 if test "$_sgiaudio" = "yes" ; then
5127 _def_sgiaudio='#define USE_SGI_AUDIO 1'
5128 _libs_mplayer="$_libs_mplayer -laudio"
5129 _aosrc="$_aosrc ao_sgi.c"
5130 _aomodules="sgi $_aomodules"
5131 else
5132 _def_sgiaudio='#undef USE_SGI_AUDIO'
5133 _noaomodules="sgi $_noaomodules"
5135 echores "$_sgiaudio"
5136 fi #if irix
5139 echocheck "VCD support"
5140 if linux || bsdos || freebsd || netbsd || sunos || darwin ; then
5141 _inputmodules="vcd $_inputmodules"
5142 _def_vcd='#define HAVE_VCD 1'
5143 _vcd="yes"
5144 else
5145 _def_vcd='#undef HAVE_VCD'
5146 _noinputmodules="vcd $_noinputmodules"
5147 _res_comment="not supported on this OS"
5148 _vcd="no"
5150 echores "$_vcd"
5152 echocheck "DVD support (libdvdnav)"
5153 if test "$_dvdnav" = auto ; then
5154 $_dvdnavconfig --version >> $TMPLOG 2>&1 || _dvdnav=no
5156 if test "$_dvdnav" = auto ; then
5157 cat > $TMPC <<EOF
5158 #include <dvdnav.h>
5159 int main(void) { dvdnav_t *dvd=0; return 0; }
5161 _dvdnav=no
5162 _dvdnavdir=`$_dvdnavconfig --cflags`
5163 _dvdnavlibs=`$_dvdnavconfig --libs`
5164 _dvdnavvsn=`$_dvdnavconfig --version | sed "s/\.//g"`
5165 _dvdnavmajor=`echo $_dvdnavvsn | cut -d. -f2`
5166 test "$_dvdnavmajor" -ge 2 -o "$_dvdnavvsn" -ge 0110 && \
5167 cc_check $_dvdnavdir $_dvdnavlibs $_ld_dl $_ld_pthread && _dvdnav=yes
5169 if test "$_dvdnav" = yes ; then
5170 _largefiles=yes
5171 _def_dvdnav='#define USE_DVDNAV 1'
5172 _ld_extra="$_ld_extra `$_dvdnavconfig --libs`"
5173 _dvdnav_version=`$_dvdnavconfig --version | sed "s/\.//g"`
5174 _def_dvdnav_version="#define DVDNAVVERSION $_dvdnav_version"
5175 _inc_extra="$_inc_extra `$_dvdnavconfig --cflags`"
5176 _inputmodules="dvdnav $_inputmodules"
5178 #disable dvdread checks: dvdread will be enabled using dvdnav's version of dvdread
5179 _dvdread_internal=no
5180 _dvdread=yes
5181 else
5182 _def_dvdnav='#undef USE_DVDNAV'
5183 _noinputmodules="dvdnav $_noinputmodules"
5185 echores "$_dvdnav"
5188 echocheck "dvdread"
5189 if test "$_dvdread_internal" = auto ; then
5190 _dvdread_internal=no
5191 if linux || freebsd || netbsd || darwin || openbsd || win32 || sunos || hpux && \
5192 test "$_dvd" = yes || test "$_cdrom" = yes || test "$_cdio" = yes || \
5193 test "$_dvdio" = yes || test "$_bsdi_dvd" = yes || \
5194 test "$_hpux_scsi_h" = yes || darwin || win32 ; then
5195 _dvdread_internal=yes
5196 _dvdread=yes
5197 _res_comment="internal"
5199 elif test "$_dvdread" = auto ; then
5200 _dvdread=no
5201 if test "$_dl" = yes; then
5202 cat > $TMPC << EOF
5203 #include <inttypes.h>
5204 #include <dvdread/dvd_reader.h>
5205 #include <dvdread/ifo_types.h>
5206 #include <dvdread/ifo_read.h>
5207 #include <dvdread/nav_read.h>
5208 int main(void) { return 0; }
5210 cc_check -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE \
5211 -ldvdread $_ld_dl && _dvdread=yes && _res_comment="external"
5215 if test "$_dvdread_internal" = yes; then
5216 _def_dvdread_internal="#define USE_DVDREAD_INTERNAL 1"
5217 _def_dvdread='#define USE_DVDREAD 1'
5218 _inputmodules="dvdread $_inputmodules"
5219 _largefiles=yes
5220 elif test "$_dvdread" = yes; then
5221 _def_dvdread='#define USE_DVDREAD 1'
5222 _inputmodules="dvdread $_inputmodules"
5223 _largefiles=yes
5224 test "$_dvdnav" != yes && _ld_extra="$_ld_extra -ldvdread"
5225 else
5226 _def_dvdread_internal="#undef USE_DVDREAD_INTERNAL"
5227 _def_dvdread='#undef USE_DVDREAD'
5228 _noinputmodules="dvdread $_noinputmodules"
5230 echores "$_dvdread"
5233 echocheck "internal libdvdcss"
5234 if test "$_libdvdcss_internal" = auto ; then
5235 _libdvdcss_internal=no
5236 test "$_dvdread_internal" = yes && _libdvdcss_internal=yes
5238 if test "$_libdvdcss_internal" = yes ; then
5239 if linux || netbsd || openbsd || bsdos ; then
5240 _def_dvd_linux='#define HAVE_LINUX_DVD_STRUCT 1'
5241 openbsd && _dev_dvd_openbsd='#define HAVE_OPENBSD_DVD_STRUCT 1'
5242 elif freebsd ; then
5243 _def_dvd_bsd='#define HAVE_BSD_DVD_STRUCT 1'
5244 elif darwin ; then
5245 _def_dvd_darwin='#define DARWIN_DVD_IOCTL'
5246 _ld_extra="$_ld_extra -framework IOKit"
5248 _inputmodules="libdvdcss $_inputmodules"
5249 else
5250 _noinputmodules="libdvdcss $_noinputmodules"
5252 echores "$_libdvdcss_internal"
5255 echocheck "cdparanoia"
5256 if test "$_cdparanoia" = auto ; then
5257 cat > $TMPC <<EOF
5258 #include <cdda_interface.h>
5259 #include <cdda_paranoia.h>
5260 // This need a better test. How ?
5261 int main(void) {
5262 void *test = cdda_verbose_set;
5263 return test == (void *)1;
5266 _cdparanoia=no
5267 for _inc_tmp in "" "-I/usr/include/cdda" "-I/usr/local/include/cdda" ; do
5268 cc_check $_inc_tmp -lcdda_interface -lcdda_paranoia $_ld_lm && \
5269 _cdparanoia=yes && _inc_extra="$_inc_extra $_inc_tmp" && break
5270 done
5272 if test "$_cdparanoia" = yes ; then
5273 _cdda='yes'
5274 _ld_extra="$_ld_extra -lcdda_interface -lcdda_paranoia"
5275 openbsd && _ld_extra="$_ld_extra -lutil"
5277 echores "$_cdparanoia"
5280 echocheck "libcdio"
5281 if test "$_libcdio" = auto && test "$_cdparanoia" = no ; then
5282 cat > $TMPC << EOF
5283 #include <stdio.h>
5284 #include <cdio/version.h>
5285 #include <cdio/cdda.h>
5286 #include <cdio/paranoia.h>
5287 int main()
5289 void *test = cdda_verbose_set;
5290 printf("%s\n", CDIO_VERSION);
5291 return test == (void *)1;
5295 _libcdio=no
5296 for _ld_tmp in "" "-lwinmm" ; do
5297 _ld_tmp="-lcdio_cdda -lcdio -lcdio_paranoia $_ld_tmp"
5298 cc_check $_ld_tmp $_ld_lm \
5299 && _libcdio=yes && _ld_extra="$_ld_extra $_ld_tmp" && break
5300 done
5301 if test "$_libcdio" = no && $_pkg_config --exists libcdio_paranoia ; then
5302 _inc_tmp=`$_pkg_config --cflags libcdio_paranoia`
5303 _ld_tmp=`$_pkg_config --libs libcdio_paranoia`
5304 cc_check $_inc_tmp $_ld_tmp $_ld_lm && _libcdio=yes \
5305 && _ld_extra="$_ld_extra $_ld_tmp" && _inc_extra="$_inc_extra $_inc_tmp"
5308 if test "$_libcdio" = yes && test "$_cdparanoia" = no ; then
5309 _cdda='yes'
5310 _def_libcdio='#define HAVE_LIBCDIO'
5311 _def_havelibcdio='yes'
5312 else
5313 if test "$_cdparanoia" = yes ; then
5314 _res_comment="using cdparanoia"
5316 _def_libcdio='#undef HAVE_LIBCDIO'
5317 _def_havelibcdio='no'
5319 echores "$_libcdio"
5321 if test "$_cdda" = yes ; then
5322 test $_cddb = auto && test $_network = yes && not darwin && _cddb=yes
5323 _def_cdparanoia='#define HAVE_CDDA'
5324 _inputmodules="cdda $_inputmodules"
5325 else
5326 _def_cdparanoia='#undef HAVE_CDDA'
5327 _noinputmodules="cdda $_noinputmodules"
5330 if test "$_cddb" = yes ; then
5331 _def_cddb='#define HAVE_CDDB'
5332 _inputmodules="cddb $_inputmodules"
5333 else
5334 _cddb=no
5335 _def_cddb='#undef HAVE_CDDB'
5336 _noinputmodules="cddb $_noinputmodules"
5339 echocheck "bitmap font support"
5340 if test "$_bitmap_font" = yes ; then
5341 _def_bitmap_font="#define HAVE_BITMAP_FONT 1"
5342 else
5343 _def_bitmap_font="#undef HAVE_BITMAP_FONT"
5345 echores "$_bitmap_font"
5348 echocheck "freetype >= 2.0.9"
5350 # freetype depends on iconv
5351 if test "$_iconv" = no ; then
5352 _freetype=no
5353 _res_comment="iconv support needed"
5356 if test "$_freetype" = auto ; then
5357 if ( $_freetypeconfig --version ) >/dev/null 2>&1 ; then
5358 cat > $TMPC << EOF
5359 #include <stdio.h>
5360 #include <ft2build.h>
5361 #include FT_FREETYPE_H
5362 #if ((FREETYPE_MAJOR < 2) || ((FREETYPE_MINOR == 0) && (FREETYPE_PATCH < 9)))
5363 #error "Need FreeType 2.0.9 or newer"
5364 #endif
5365 int main()
5367 FT_Library library;
5368 FT_Int major=-1,minor=-1,patch=-1;
5369 int err=FT_Init_FreeType(&library);
5370 if(err){
5371 printf("Couldn't initialize freetype2 lib, err code: %d\n",err);
5372 exit(err);
5374 FT_Library_Version(library,&major,&minor,&patch); // in v2.1.0+ only :(((
5375 printf("freetype2 header version: %d.%d.%d library version: %d.%d.%d\n",
5376 FREETYPE_MAJOR,FREETYPE_MINOR,FREETYPE_PATCH,
5377 (int)major,(int)minor,(int)patch );
5378 if(major!=FREETYPE_MAJOR || minor!=FREETYPE_MINOR){
5379 printf("Library and header version mismatch! Fix it in your distribution!\n");
5380 exit(1);
5382 return 0;
5385 _freetype=no
5386 cc_check `$_freetypeconfig --cflags` `$_freetypeconfig --libs` && tmp_run && _freetype=yes
5387 else
5388 _freetype=no
5391 if test "$_freetype" = yes ; then
5392 _def_freetype='#define HAVE_FREETYPE'
5393 _inc_extra="$_inc_extra `$_freetypeconfig --cflags`"
5394 _ld_extra="$_ld_extra `$_freetypeconfig --libs`"
5395 else
5396 _def_freetype='#undef HAVE_FREETYPE'
5398 echores "$_freetype"
5400 if test "$_freetype" = no ; then
5401 _fontconfig=no
5402 _res_comment="freetype support needed"
5404 echocheck "fontconfig"
5405 if test "$_fontconfig" = auto ; then
5406 cat > $TMPC << EOF
5407 #include <stdio.h>
5408 #include <fontconfig/fontconfig.h>
5409 int main()
5411 int err = FcInit();
5412 if(err == FcFalse){
5413 printf("Couldn't initialize fontconfig lib\n");
5414 exit(err);
5416 return 0;
5420 _fontconfig=no
5421 for _ld_tmp in "" "-lexpat -lfreetype" "-lexpat -lfreetype -lz" ; do
5422 _ld_tmp="-lfontconfig $_ld_tmp"
5423 cc_check $_ld_tmp && _fontconfig=yes && _ld_extra="$_ld_extra $_ld_tmp" && break
5424 done
5425 if test "$_fontconfig" = no && $_pkg_config --exists fontconfig ; then
5426 _inc_tmp=`$_pkg_config --cflags fontconfig`
5427 _ld_tmp=`$_pkg_config --libs fontconfig`
5428 cc_check $_inc_tmp $_ld_tmp && _fontconfig=yes \
5429 && _ld_extra="$_ld_extra $_ld_tmp" && _inc_extra="$_inc_extra $_inc_tmp"
5432 if test "$_fontconfig" = yes ; then
5433 _def_fontconfig='#define HAVE_FONTCONFIG'
5434 else
5435 _def_fontconfig='#undef HAVE_FONTCONFIG'
5437 echores "$_fontconfig"
5440 echocheck "SSA/ASS support"
5441 # libass depends on FreeType
5442 if test "$_freetype" = no ; then
5443 _ass=no
5444 _res_comment="FreeType support needed"
5447 if test "$_ass" = auto ; then
5448 cat > $TMPC << EOF
5449 #include <ft2build.h>
5450 #include FT_FREETYPE_H
5451 #if ((FREETYPE_MAJOR < 2) || (FREETYPE_MINOR < 1) || ((FREETYPE_MINOR == 1) && (FREETYPE_PATCH < 8)))
5452 #error "Need FreeType 2.1.8 or newer"
5453 #endif
5454 int main() { return 0; }
5456 _ass=no
5457 cc_check `$_freetypeconfig --cflags` `$_freetypeconfig --libs` && tmp_run && _ass=yes
5458 if test "$_ass" = no ; then
5459 _res_comment="FreeType >= 2.1.8 needed"
5462 if test "$_ass" = yes ; then
5463 _def_ass='#define USE_ASS'
5464 else
5465 _def_ass='#undef USE_ASS'
5467 echores "$_ass"
5470 echocheck "fribidi with charsets"
5471 if test "$_fribidi" = auto ; then
5472 if ( $_fribidiconfig --version ) >/dev/null 2>&1 ; then
5473 cat > $TMPC << EOF
5474 #include <stdio.h>
5475 /* workaround for fribidi 0.10.4 and below */
5476 #define FRIBIDI_CHARSET_UTF8 FRIBIDI_CHAR_SET_UTF8
5477 #include <fribidi/fribidi.h>
5478 int main()
5480 if(fribidi_parse_charset("UTF-8") != FRIBIDI_CHAR_SET_UTF8) {
5481 printf("Fribidi headers are not consistents with the library!\n");
5482 exit(1);
5484 return 0;
5487 _fribidi=no
5488 cc_check `$_fribidiconfig --cflags` `$_fribidiconfig --libs` && tmp_run && _fribidi=yes
5489 else
5490 _fribidi=no
5493 if test "$_fribidi" = yes ; then
5494 _def_fribidi='#define USE_FRIBIDI'
5495 _inc_extra="$_inc_extra `$_fribidiconfig --cflags`"
5496 _ld_extra="$_ld_extra `$_fribidiconfig --libs`"
5497 else
5498 _def_fribidi='#undef USE_FRIBIDI'
5500 echores "$_fribidi"
5503 echocheck "ENCA"
5504 if test "$_enca" = auto ; then
5505 cat > $TMPC << EOF
5506 #include <enca.h>
5507 int main()
5509 const char **langs;
5510 size_t langcnt;
5511 langs = enca_get_languages(&langcnt);
5512 return 0;
5515 _enca=no
5516 cc_check -lenca $_ld_lm && _enca=yes
5518 if test "$_enca" = yes ; then
5519 _def_enca='#define HAVE_ENCA 1'
5520 _ld_extra="$_ld_extra -lenca"
5521 else
5522 _def_enca='#undef HAVE_ENCA'
5524 echores "$_enca"
5527 echocheck "zlib"
5528 cat > $TMPC << EOF
5529 #include <zlib.h>
5530 int main(void) { (void) inflate(0, Z_NO_FLUSH); return 0; }
5532 _zlib=no
5533 cc_check -lz && _zlib=yes
5534 if test "$_zlib" = yes ; then
5535 _def_zlib='#define HAVE_ZLIB 1'
5536 _ld_extra="$_ld_extra -lz"
5537 else
5538 _def_zlib='#undef HAVE_ZLIB'
5540 echores "$_zlib"
5543 echocheck "RTC"
5544 if test "$_rtc" = auto ; then
5545 cat > $TMPC << EOF
5546 #include <sys/ioctl.h>
5547 #ifdef __linux__
5548 #include <linux/rtc.h>
5549 #else
5550 #include <rtc.h>
5551 #define RTC_PIE_ON RTCIO_PIE_ON
5552 #endif
5553 int main(void) { return RTC_PIE_ON; }
5555 _rtc=no
5556 cc_check && _rtc=yes
5557 ppc && _rtc=no
5559 if test "$_rtc" = yes ; then
5560 _def_rtc='#define HAVE_RTC 1'
5561 else
5562 _def_rtc='#undef HAVE_RTC'
5564 echores "$_rtc"
5567 echocheck "liblzo2 support"
5568 if test "$_liblzo" = auto ; then
5569 _liblzo=no
5570 cat > $TMPC << EOF
5571 #include <lzo/lzo1x.h>
5572 int main(void) { lzo_init();return 0; }
5574 cc_check -llzo2 && _liblzo=yes
5576 if test "$_liblzo" = yes ; then
5577 _def_liblzo='#define USE_LIBLZO 1'
5578 _ld_extra="$_ld_extra -llzo2"
5579 _codecmodules="liblzo $_codecmodules"
5580 else
5581 _def_liblzo='#undef USE_LIBLZO'
5582 _nocodecmodules="liblzo $_nocodecmodules"
5584 echores "$_liblzo"
5587 echocheck "mad support"
5588 if test "$_mad" = auto ; then
5589 _mad=no
5590 cat > $TMPC << EOF
5591 #include <mad.h>
5592 int main(void) { return 0; }
5594 cc_check -lmad && _mad=yes
5596 if test "$_mad" = yes ; then
5597 _def_mad='#define USE_LIBMAD 1'
5598 _ld_extra="$_ld_extra -lmad"
5599 _codecmodules="libmad $_codecmodules"
5600 else
5601 _def_mad='#undef USE_LIBMAD'
5602 _nocodecmodules="libmad $_nocodecmodules"
5604 echores "$_mad"
5606 echocheck "Twolame"
5607 if test "$_twolame" = auto ; then
5608 cat > $TMPC <<EOF
5609 #include <twolame.h>
5610 int main(void) { twolame_init(); return 0; }
5612 _twolame=no
5613 cc_check -ltwolame $_ld_lm && _twolame=yes
5615 if test "$_twolame" = yes ; then
5616 _def_twolame='#define HAVE_TWOLAME 1'
5617 _libs_mencoder="$_libs_mencoder -ltwolame"
5618 _codecmodules="twolame $_codecmodules"
5619 else
5620 _def_twolame='#undef HAVE_TWOLAME'
5621 _nocodecmodules="twolame $_nocodecmodules"
5623 echores "$_twolame"
5625 echocheck "Toolame"
5626 if test "$_toolame" = auto ; then
5627 _toolame=no
5628 if test "$_twolame" = yes ; then
5629 _res_comment="disabled by twolame"
5630 else
5631 cat > $TMPC <<EOF
5632 #include <toolame.h>
5633 int main(void) { toolame_init(); return 0; }
5635 cc_check -ltoolame $_ld_lm && _toolame=yes
5638 if test "$_toolame" = yes ; then
5639 _def_toolame='#define HAVE_TOOLAME 1'
5640 _libs_mencoder="$_libs_mencoder -ltoolame"
5641 _codecmodules="toolame $_codecmodules"
5642 else
5643 _def_toolame='#undef HAVE_TOOLAME'
5644 _nocodecmodules="toolame $_nocodecmodules"
5646 if test "$_toolamedir" ; then
5647 _res_comment="using $_toolamedir"
5649 echores "$_toolame"
5651 echocheck "OggVorbis support"
5652 if test "$_tremor_internal" = yes; then
5653 _libvorbis=no
5654 elif test "$_tremor_external" = auto; then
5655 _tremor_external=no
5656 cat > $TMPC << EOF
5657 #include <tremor/ivorbiscodec.h>
5658 int main(void) { vorbis_packet_blocksize(0,0); return 0; }
5660 cc_check -logg -lvorbisidec $_ld_lm && _tremor_external=yes && _libvorbis=no
5662 if test "$_libvorbis" = auto; then
5663 _libvorbis=no
5664 cat > $TMPC << EOF
5665 #include <vorbis/codec.h>
5666 int main(void) { vorbis_packet_blocksize(0,0); return 0; }
5668 cc_check -lvorbis -logg $_ld_lm && _libvorbis=yes
5670 if test "$_tremor_internal" = yes ; then
5671 _vorbis=yes
5672 _def_vorbis='#define HAVE_OGGVORBIS 1'
5673 _def_tremor='#define TREMOR 1'
5674 _codecmodules="tremor(internal) $_codecmodules"
5675 _res_comment="internal Tremor"
5676 if test "$_tremor_low" = yes ; then
5677 _tremor_flags='-D_LOW_ACCURACY_'
5678 _res_comment="internal low accuracy Tremor"
5680 elif test "$_tremor_external" = yes ; then
5681 _vorbis=yes
5682 _def_vorbis='#define HAVE_OGGVORBIS 1'
5683 _def_tremor='#define TREMOR 1'
5684 _codecmodules="tremor(external) $_codecmodules"
5685 _res_comment="external Tremor"
5686 _ld_extra="$_ld_extra -logg -lvorbisidec"
5687 elif test "$_libvorbis" = yes ; then
5688 _vorbis=yes
5689 _def_vorbis='#define HAVE_OGGVORBIS 1'
5690 _codecmodules="libvorbis $_codecmodules"
5691 _res_comment="libvorbis"
5692 _ld_extra="$_ld_extra -lvorbis -logg"
5693 else
5694 _vorbis=no
5695 _nocodecmodules="libvorbis $_nocodecmodules"
5697 echores "$_vorbis"
5699 echocheck "libspeex (version >= 1.1 required)"
5700 if test "$_speex" = auto ; then
5701 _speex=no
5702 cat > $TMPC << EOF
5703 #include <speex/speex.h>
5704 int main(void) {
5705 SpeexBits bits;
5706 void *dec;
5707 speex_decode_int(dec, &bits, dec);
5710 cc_check -lspeex $_ld_lm && _speex=yes
5712 if test "$_speex" = yes ; then
5713 _def_speex='#define HAVE_SPEEX 1'
5714 _ld_extra="$_ld_extra -lspeex"
5715 _codecmodules="speex $_codecmodules"
5716 else
5717 _def_speex='#undef HAVE_SPEEX'
5718 _nocodecmodules="speex $_nocodecmodules"
5720 echores "$_speex"
5722 echocheck "OggTheora support"
5723 if test "$_theora" = auto ; then
5724 _theora=no
5725 cat > $TMPC << EOF
5726 #include <theora/theora.h>
5727 #include <string.h>
5728 int main(void)
5730 /* theora is in flux, make sure that all interface routines and
5731 * datatypes exist and work the way we expect it, so we don't break
5732 * mplayer */
5733 ogg_packet op;
5734 theora_comment tc;
5735 theora_info inf;
5736 theora_state st;
5737 yuv_buffer yuv;
5738 int r;
5739 double t;
5741 theora_info_init (&inf);
5742 theora_comment_init (&tc);
5744 return 0;
5746 /* we don't want to execute this kind of nonsense; just for making sure
5747 * that compilation works... */
5748 memset(&op, 0, sizeof(op));
5749 r = theora_decode_header (&inf, &tc, &op);
5750 r = theora_decode_init (&st, &inf);
5751 t = theora_granule_time (&st, op.granulepos);
5752 r = theora_decode_packetin (&st, &op);
5753 r = theora_decode_YUVout (&st, &yuv);
5754 theora_clear (&st);
5756 return 0;
5759 for _ld_theora in "`$_pkg_config --silence-errors --libs --cflags theora`" "-ltheora"; do
5760 cc_check $_ld_theora && _ld_extra="$_ld_extra $_ld_theora" \
5761 && _theora=yes && break
5762 done
5763 if test "$_theora" = no && test "$_tremor_internal" = yes; then
5764 for _ld_theora in "`$_pkg_config --silence-errors --libs --cflags theora`" "-ltheora"; do
5765 cc_check -I. tremor/bitwise.c $_ld_theora \
5766 && _ld_extra="$_ld_extra $_ld_theora" && theora=yes && break
5767 done
5770 if test "$_theora" = yes ; then
5771 _def_theora='#define HAVE_OGGTHEORA 1'
5772 _codecmodules="libtheora $_codecmodules"
5773 # when --enable-theora is forced, we'd better provide a probably sane
5774 # $_ld_theora than nothing
5775 test -z "$_ld_theora" && _ld_theora="-ltheora -logg"
5776 else
5777 _def_theora='#undef HAVE_OGGTHEORA'
5778 _nocodecmodules="libtheora $_nocodecmodules"
5780 echores "$_theora"
5782 echocheck "mp3lib support"
5783 if test "$_mp3lib" = yes ; then
5784 _def_mp3lib='#define USE_MP3LIB 1'
5785 _codecmodules="mp3lib $_codecmodules"
5786 else
5787 _def_mp3lib='#undef USE_MP3LIB'
5788 _nocodecmodules="mp3lib $_nocodecmodules"
5790 echores "$_mp3lib"
5792 echocheck "liba52 support"
5793 if test "$_liba52" = yes ; then
5794 _def_liba52='#define USE_LIBA52 1'
5795 _codecmodules="liba52 $_codecmodules"
5796 else
5797 _def_liba52='#undef USE_LIBA52'
5798 _nocodecmodules="liba52 $_nocodecmodules"
5800 echores "$_liba52"
5802 echocheck "libdts support"
5803 if test "$_libdts" = auto ; then
5804 _libdts=no
5805 cat > $TMPC << EOF
5806 #include <inttypes.h>
5807 #include <dts.h>
5808 int main(void) { dts_init (0); return 0; }
5810 cc_check -ldts $_ld_lm && _libdts=yes
5812 if test "$_libdts" = yes ; then
5813 _def_libdts='#define CONFIG_LIBDTS 1'
5814 _ld_extra="$_ld_extra -ldts"
5815 _codecmodules="libdts $_codecmodules"
5816 else
5817 _def_libdts='#undef CONFIG_LIBDTS'
5818 _nocodecmodules="libdts $_nocodecmodules"
5820 echores "$_libdts"
5822 echocheck "libmpeg2 support"
5823 if test "$_libmpeg2" = yes ; then
5824 _def_libmpeg2='#define USE_LIBMPEG2 1'
5825 _codecmodules="libmpeg2 $_codecmodules"
5826 else
5827 _def_libmpeg2='#undef USE_LIBMPEG2'
5828 _nocodecmodules="libmpeg2 $_nocodecmodules"
5830 echores "$_libmpeg2"
5832 echocheck "libmpcdec (musepack, version >= 1.2.1 required)"
5833 if test "$_musepack" = auto ; then
5834 _musepack=no
5835 cat > $TMPC << EOF
5836 #include <mpcdec/mpcdec.h>
5837 int main(void) {
5838 mpc_streaminfo info;
5839 mpc_decoder decoder;
5840 mpc_decoder_set_streaminfo(&decoder, &info);
5841 mpc_decoder_decode_frame(&decoder, NULL, 0, NULL);
5844 cc_check -lmpcdec $_ld_lm && _musepack=yes
5846 if test "$_musepack" = yes ; then
5847 _def_musepack='#define HAVE_MUSEPACK 1'
5848 _ld_extra="$_ld_extra -lmpcdec"
5849 _codecmodules="musepack $_codecmodules"
5850 else
5851 _def_musepack='#undef HAVE_MUSEPACK'
5852 _nocodecmodules="musepack $_nocodecmodules"
5854 echores "$_musepack"
5857 echocheck "FAAC (AAC encoder) support"
5858 if test "$_faac" = auto ; then
5859 cat > $TMPC <<EOF
5860 #include <inttypes.h>
5861 #include <faac.h>
5862 int main(void) { unsigned long x, y; faacEncOpen(48000, 2, &x, &y); return 0; }
5864 _faac=no
5865 for _ld_faac in "-lfaac" "-lfaac -lmp4v2 -lstdc++" ; do
5866 cc_check -O4 $_ld_faac $_ld_tmp $_ld_lm && _libs_mencoder="$_libs_mencoder $_ld_faac" && _faac=yes && break
5867 done
5869 if test "$_faac" = yes ; then
5870 _def_faac="#define HAVE_FAAC 1"
5871 if echo $_libavencoders | grep -q FAAC ; then
5872 _lavc_faac=yes
5873 _def_lavc_faac="#define CONFIG_LIBFAAC 1"
5874 _libs_mplayer="$_libs_mplayer $_ld_faac"
5875 else
5876 _lavc_faac=no
5877 _def_lavc_faac="#undef CONFIG_LIBFAAC"
5879 _codecmodules="faac $_codecmodules"
5880 else
5881 _def_faac="#undef HAVE_FAAC"
5882 _nocodecmodules="faac $_nocodecmodules"
5884 echores "$_faac (in libavcodec: $_lavc_faac)"
5887 echocheck "FAAD2 (AAC) support"
5888 if test "$_faad_internal" = auto ; then
5889 if x86_32 && test cc_vendor=gnu; then
5890 case $cc_version in
5891 3.1*|3.2) # ICE/insn with these versions
5892 _faad_internal=no
5893 _res_comment="broken gcc"
5896 _faad_internal=yes
5898 esac
5899 else
5900 _faad_internal=yes
5902 elif test "$_faad_internal" = no && test "$_faad_external" = auto ; then
5903 _faad_external=no
5904 cat > $TMPC << EOF
5905 #include <faad.h>
5906 #ifndef FAAD_MIN_STREAMSIZE
5907 #error Too old version
5908 #endif
5909 int main(void) { faacDecHandle testhand; faacDecFrameInfo testinfo; testhand = faacDecOpen(); faacDecInit(0, 0, 0, 0, 0); return 0; }
5911 cc_check -lfaad $_ld_lm && _faad_external=yes
5914 if test "$_faad_internal" = yes ; then
5915 _def_faad_internal="#define USE_FAAD_INTERNAL 1"
5916 _faad=yes
5917 _res_comment="internal floating-point"
5918 test "$_faad_fixed" = yes && _res_comment="internal fixed-point"
5919 elif test "$_faad_external" = yes ; then
5920 _faad=yes
5921 _ld_extra="$_ld_extra -lfaad"
5922 else
5923 _def_faad_internal="#undef USE_FAAD_INTERNAL"
5924 _faad=no
5927 if test "$_faad" = yes ; then
5928 _def_faad='#define HAVE_FAAD 1'
5929 _codecmodules="faad2 $_codecmodules"
5930 else
5931 _def_faad='#undef HAVE_FAAD'
5932 _nocodecmodules="faad2 $_nocodecmodules"
5934 echores "$_faad"
5937 echocheck "LADSPA plugin support"
5938 if test "$_ladspa" = auto ; then
5939 cat > $TMPC <<EOF
5940 #include <stdio.h>
5941 #include <ladspa.h>
5942 int main(void) {
5943 const LADSPA_Descriptor *ld = NULL;
5944 return 0;
5947 _ladspa=no
5948 cc_check && _ladspa=yes
5950 if test "$_ladspa" = yes; then
5951 _def_ladspa="#define HAVE_LADSPA"
5952 _afsrc="$_afsrc af_ladspa.c"
5953 _afmodules="ladspa $_afmodules"
5954 else
5955 _def_ladspa="#undef HAVE_LADSPA"
5956 _noafmodules="ladspa $_noafmodules"
5958 echores "$_ladspa"
5961 if test -z "$_codecsdir" ; then
5962 for dir in "$_libdir/codecs" "$_libdir/win32" /usr/local/lib/codecs \
5963 /usr/lib/codecs /usr/local/lib/win32 /usr/lib/win32 ; do
5964 if test -d "$dir" ; then
5965 _codecsdir="$dir"
5966 break;
5968 done
5970 # Fall back on default directory.
5971 if test -z "$_codecsdir" ; then
5972 _codecsdir="$_libdir/codecs"
5973 mingw32 && _codecsdir="codecs"
5977 echocheck "Win32 codecs"
5978 if test "$_win32" = auto ; then
5979 _win32=no
5980 if x86_32 && not qnx; then
5981 _win32=yes
5984 if test "$_win32" = yes ; then
5985 _def_win32='#define USE_WIN32DLL 1'
5986 test -z "$_win32codecsdir" && _win32codecsdir=$_codecsdir
5987 _res_comment="using $_win32codecsdir"
5988 openbsd && x86_32 && _ld_extra="$_ld_extra -li386"
5989 if not win32 ; then
5990 _def_win32_loader='#define WIN32_LOADER 1'
5991 else
5992 _ld_extra="$_ld_extra -ladvapi32 -lole32"
5993 _res_comment="using native windows"
5995 _codecmodules="win32 $_codecmodules"
5996 else
5997 _def_win32='#undef USE_WIN32DLL'
5998 _def_win32_loader='#undef WIN32_LOADER'
5999 _nocodecmodules="win32 $_nocodecmodules"
6001 echores "$_win32"
6004 echocheck "XAnim codecs"
6005 if test "$_xanim" = auto ; then
6006 _xanim=no
6007 _res_comment="dynamic loader support needed"
6008 if test "$_dl" = yes ; then
6009 _xanim=yes
6012 if test "$_xanim" = yes ; then
6013 test -z "$_xanimcodecsdir" && _xanimcodecsdir=$_codecsdir
6014 _def_xanim='#define USE_XANIM 1'
6015 _def_xanim_path="#define XACODEC_PATH \"$_xanimcodecsdir\""
6016 _codecmodules="xanim $_codecmodules"
6017 _res_comment="using $_xanimcodecsdir"
6018 else
6019 _def_xanim='#undef USE_XANIM'
6020 _def_xanim_path='#undef XACODEC_PATH'
6021 _nocodecmodules="xanim $_nocodecmodules"
6023 echores "$_xanim"
6026 echocheck "RealPlayer codecs"
6027 if test "$_real" = auto ; then
6028 _real=no
6029 _res_comment="dynamic loader support needed"
6030 if test "$_dl" = yes || test "$_win32" = yes &&
6031 (linux || freebsd || netbsd || win32 || darwin) ; then
6032 _real=yes
6035 if test "$_real" = yes ; then
6036 test -z "$_realcodecsdir" && _realcodecsdir="$_codecsdir"
6037 _def_real='#define USE_REALCODECS 1'
6038 _def_real_path="#define REALCODEC_PATH \"$_realcodecsdir\""
6039 _codecmodules="real $_codecmodules"
6040 _res_comment="using $_realcodecsdir"
6041 else
6042 _def_real='#undef USE_REALCODECS'
6043 _def_real_path="#undef REALCODEC_PATH"
6044 _nocodecmodules="real $_nocodecmodules"
6046 echores "$_real"
6049 echocheck "LIVE555 Streaming Media libraries"
6050 if test "$_live" = auto && test "$_network" = yes ; then
6051 cat > $TMPCPP << EOF
6052 #include <liveMedia.hh>
6053 #if (LIVEMEDIA_LIBRARY_VERSION_INT < 1090195200)
6054 #error Please upgrade to version 2004.07.19 or later of the "LIVE555 Streaming Media" libraries - available from <www.live555.com/liveMedia/>
6055 #endif
6056 int main(void) {}
6059 _live=no
6060 for I in $_inc_extra "-I$_libdir/live" "-I/usr/lib/live" "-I/usr/local/live" "-I/usr/local/lib/live" ; do
6061 cxx_check $I/liveMedia/include $I/UsageEnvironment/include \
6062 $I/groupsock/include && _livelibdir=`echo $I| sed s/-I//` && \
6063 _ld_extra="$_ld_extra $_livelibdir/liveMedia/libliveMedia.a \
6064 $_livelibdir/groupsock/libgroupsock.a \
6065 $_livelibdir/UsageEnvironment/libUsageEnvironment.a \
6066 $_livelibdir/BasicUsageEnvironment/libBasicUsageEnvironment.a \
6067 -lstdc++" \
6068 _inc_extra="$_inc_extra -I$_livelibdir/liveMedia/include \
6069 -I$_livelibdir/UsageEnvironment/include \
6070 -I$_livelibdir/BasicUsageEnvironment/include \
6071 -I$_livelibdir/groupsock/include" && \
6072 _live=yes && break
6073 done
6074 if test "$_live" != yes ; then
6075 if cxx_check -I/usr/include/liveMedia -I/usr/include/UsageEnvironment -I/usr/include/groupsock; then
6076 _live_dist=yes
6080 if test "$_live" = yes && test "$_network" = yes ; then
6081 _res_comment="using $_livelibdir"
6082 _def_live='#define STREAMING_LIVE555 1'
6083 _inputmodules="live555 $_inputmodules"
6084 elif test "$_live_dist" = yes && test "$_network" = yes ; then
6085 _res_comment="using distribution version"
6086 _live="yes"
6087 _def_live='#define STREAMING_LIVE555 1'
6088 _ld_extra="$_ld_extra -lliveMedia -lgroupsock -lUsageEnvironment -lBasicUsageEnvironment -lstdc++"
6089 _inc_extra="$_inc_extra -I/usr/include/liveMedia -I/usr/include/UsageEnvironment \
6090 -I/usr/include/BasicUsageEnvironment -I/usr/include/groupsock"
6091 _inputmodules="live555 $_inputmodules"
6092 else
6093 _def_live='#undef STREAMING_LIVE555'
6094 _noinputmodules="live555 $_noinputmodules"
6096 echores "$_live"
6099 echocheck "FFmpeg libavutil (static)"
6100 if test "$_libavutil" = auto ; then
6101 if test -d libavutil ; then
6102 _libavutil=yes
6103 else
6104 _libavutil=no
6107 echores "$_libavutil"
6109 echocheck "FFmpeg libavcodec (static)"
6110 if test "$_libavcodec" = auto ; then
6111 # Note: static linking is preferred to dynamic linking
6112 _libavcodec=no
6113 _res_comment="see DOCS/HTML/$_doc_lang/codecs.html"
6114 if test -d libavcodec && test -f libavcodec/utils.c ; then
6115 _res_comment="old ffmpeg version, use CVS !"
6116 if grep avcodec_find_encoder_by_name libavcodec/utils.c > /dev/null 2>&1 ; then
6117 # check if libavutil is a required
6118 cat > $TMPC << EOF
6119 #include "libavcodec/avcodec.h"
6120 #if LIBAVCODEC_BUILD >= 3211265
6121 #error We need libavutil!
6122 #endif
6123 int main(void) { return 0; }
6126 if cc_check -I. -I./libavutil; then
6127 _libavutil_required="no"
6128 else
6129 _libavutil_required="yes"
6131 _res_comment="libavutil availability does not fit libavcodec version"
6132 if test "$_libavutil_required" = "$_libavutil"; then
6133 _libavcodec="yes"
6134 _res_comment=""
6139 echores "$_libavcodec"
6141 echocheck "FFmpeg libavformat (static)"
6142 if test "$_libavformat" = auto ; then
6143 # Note: static linking is preferred to dynamic linking
6144 _libavformat=no
6145 if test -d libavformat && test -f libavformat/utils.c ; then
6146 _libavformat=yes
6149 echores "$_libavformat"
6151 echocheck "FFmpeg libpostproc (static)"
6152 if test "$_libpostproc" = auto ; then
6153 _libpostproc=no
6154 if test -d libpostproc && test -f libpostproc/postprocess.h ; then
6155 _libpostproc='yes'
6158 echores "$_libpostproc"
6161 if test "$_libavutil" != yes ; then
6162 echocheck "FFmpeg libavutil (dynamic)"
6163 if test "$_libavutil_so" = auto ; then
6164 _libavutil_so=no
6165 cat > $TMPC << EOF
6166 #include <ffmpeg/common.h>
6167 int main(void) { ff_gcd(1,1); return 0; }
6169 if $_pkg_config --exists libavutil ; then
6170 _inc_libavutil=`$_pkg_config --cflags libavutil`
6171 _ld_tmp=`$_pkg_config --libs libavutil`
6172 cc_check $_inc_libavutil $_ld_tmp && _ld_extra="$_ld_extra $_ld_tmp" \
6173 && _libavutil_so=yes
6174 elif cc_check -lavutil $_ld_lm ; then
6175 _ld_extra="$_ld_extra -lavutil"
6176 _libavutil_so=yes
6177 _res_comment="using libavutil.so, but static libavutil is recommended"
6180 # neither static nor shared libavutil is available, but it is mandatory ...
6181 if test "$_libavutil_so" = no ; then
6182 die "You need static or shared libavutil, MPlayer will not compile without!"
6184 echores "$_libavutil_so"
6185 fi #if test "$_libavutil" != yes ; then
6187 if test "$_libavcodec" != yes ; then
6188 echocheck "FFmpeg libavcodec (dynamic)"
6189 if test "$_libavcodec_so" = auto ; then
6190 _libavcodec_so=no
6191 _res_comment="libavcodec.so is broken/obsolete"
6192 # FIXME : check for avcodec_find_encoder_by_name() for mencoder
6193 cat > $TMPC << EOF
6194 #include <ffmpeg/avcodec.h>
6195 int main(void) {
6196 avcodec_find_encoder_by_name("");
6197 return 0;
6200 if $_pkg_config --exists libavcodec ; then
6201 _inc_libavcodec=`$_pkg_config --cflags libavcodec`
6202 _ld_tmp=`$_pkg_config --libs libavcodec`
6203 cc_check $_inc_libavcodec $_ld_tmp && _ld_extra="$_ld_extra $_ld_tmp" \
6204 && _libavcodec_so=yes
6205 elif cc_check -lavcodec $_ld_lm ; then
6206 _ld_extra="$_ld_extra -lavcodec"
6207 _libavcodec_so=yes
6208 _res_comment="using libavcodec.so, but static libavcodec is recommended"
6211 echores "$_libavcodec_so"
6212 fi #if test "$_libavcodec" != yes ; then
6214 if test "$_libavformat" != yes ; then
6215 echocheck "FFmpeg libavformat (dynamic)"
6216 if test "$_libavformat_so" = auto ; then
6217 _libavformat_so=no
6218 cat > $TMPC <<EOF
6219 #include <ffmpeg/avformat.h>
6220 #include <ffmpeg/opt.h>
6221 int main(void) { av_alloc_format_context(); return 0; }
6223 if $_pkg_config --exists libavformat ; then
6224 _inc_libavformat=`$_pkg_config --cflags libavformat`
6225 _ld_tmp=`$_pkg_config --libs libavformat`
6226 cc_check $_inc_libavformat $_ld_tmp && _ld_extra="$_ld_extra $_ld_tmp" \
6227 && _libavformat_so=yes
6228 elif cc_check $_ld_lm -lavformat ; then
6229 _ld_extra="$_ld_extra -lavformat"
6230 _libavformat_so=yes
6231 _res_comment="using libavformat.so, but static libavformat is recommended"
6234 echores "$_libavformat_so"
6235 fi #if test "$_libavformat" != yes ; then
6237 if test "$_libpostproc" != yes ; then
6238 echocheck "FFmpeg libpostproc (dynamic)"
6239 if test "$_libpostproc_so" = auto ; then
6240 _libpostproc_so=no
6241 cat > $TMPC << EOF
6242 #define USE_LIBPOSTPROC 1
6243 #include <inttypes.h>
6244 #include <postproc/postprocess.h>
6245 int main(void) {
6246 pp_get_mode_by_name_and_quality("de", 0);
6247 return 0;}
6249 if cc_check -lpostproc $_ld_lm ; then
6250 _ld_extra="$_ld_extra -lpostproc"
6251 _libpostproc_so=yes
6252 _res_comment="using libpostproc.so, but static libpostproc is recommended"
6255 echores "$_libpostproc_so"
6256 fi #if test "$_libpostproc" != yes ; then
6258 _def_libavutil='#undef USE_LIBAVUTIL'
6259 _def_libavutil_so='#undef USE_LIBAVUTIL_SO'
6260 if test "$_libavutil" = yes ; then
6261 _def_libavutil='#define USE_LIBAVUTIL 1'
6262 elif test "$_libavutil_so" = yes ; then
6263 _def_libavutil_so='#define USE_LIBAVUTIL_SO 1'
6266 _def_libavcodec='#undef USE_LIBAVCODEC'
6267 _def_libavcodec_so='#undef USE_LIBAVCODEC_SO'
6268 _def_lavc_dsputil='#undef USE_LIBAVCODEC_DSPUTIL'
6269 if test "$_libavcodec_mpegaudio_hp" = yes ; then
6270 _def_libavcodec_mpegaudio_hp='#define CONFIG_MPEGAUDIO_HP 1'
6272 if test "$_libavcodec" = yes ; then
6273 _def_libavcodec='#define USE_LIBAVCODEC 1'
6274 _def_lavc_dsputil='#define USE_LIBAVCODEC_DSPUTIL'
6275 _codecmodules="libavcodec $_codecmodules"
6276 elif test "$_libavcodec_so" = yes ; then
6277 _def_libavcodec='#define USE_LIBAVCODEC 1'
6278 _def_libavcodec_so='#define USE_LIBAVCODEC_SO 1'
6279 _codecmodules="libavcodec.so $_codecmodules"
6280 else
6281 _nocodecmodules="libavcodec $_nocodecmodules"
6284 _def_libavformat='#undef USE_LIBAVFORMAT'
6285 _def_libavformat_so='#undef USE_LIBAVFORMAT_SO'
6286 _def_libavformat_win32='#undef CONFIG_WIN32'
6287 if test "$_libavformat" = yes ; then
6288 _def_libavformat='#define USE_LIBAVFORMAT 1'
6289 if win32 ; then
6290 _def_libavformat_win32='#define CONFIG_WIN32 1'
6292 else
6293 if test "$_libavformat_so" = yes ; then
6294 _def_libavformat_so='#define USE_LIBAVFORMAT_SO 1'
6295 if win32 ; then
6296 _def_libavformat_win32='#define CONFIG_WIN32 1'
6301 _def_libpostproc='#undef USE_LIBPOSTPROC'
6302 _def_libpostproc_so='#undef USE_LIBPOSTPROC_SO'
6303 if test "$_libpostproc" = yes ; then
6304 _def_libpostproc='#define USE_LIBPOSTPROC 1'
6305 else
6306 if test "$_libpostproc_so" = yes ; then
6307 _def_libpostproc_so='#define USE_LIBPOSTPROC_SO 1'
6311 echocheck "md5sum support"
6312 if test "$_md5sum" = yes; then
6313 _def_md5sum="#define HAVE_MD5SUM"
6314 _vosrc="$_vosrc vo_md5sum.c"
6315 _vomodules="md5sum $_vomodules"
6316 else
6317 _def_md5sum="#undef HAVE_MD5SUM"
6318 _novomodules="md5sum $_novomodules"
6320 echores "$_md5sum"
6322 echocheck "AMR narrowband"
6323 if test "$_amr_nb" = auto ; then
6324 _amr_nb=no
6325 if test -f libavcodec/amr_float/sp_dec.c ; then
6326 if test "$_libavcodec" = yes ; then
6327 _amr_nb=yes
6328 else
6329 _res_comment="libavcodec (static) is required by amr_nb, sorry"
6333 if test "$_amr_nb" = yes ; then
6334 _amr=yes
6335 _def_amr='#define CONFIG_AMR 1'
6336 _def_amr_nb='#define CONFIG_AMR_NB 1'
6337 else
6338 _def_amr_nb='#undef CONFIG_AMR_NB'
6340 echores "$_amr_nb"
6342 echocheck "AMR narrowband, fixed point"
6343 if test "$_amr_nb_fixed" = auto ; then
6344 _amr_nb_fixed=no
6345 if test -f libavcodec/amr/dtx_dec.c ; then
6346 if test "$_libavcodec" = yes ; then
6347 if test "$_amr_nb" = no ; then
6348 _amr_nb_fixed=yes
6349 else
6350 _res_comment="disabled by amr_nb"
6352 else
6353 _res_comment="libavcodec (static) is required by amr_nb-fixed, sorry"
6357 if test "$_amr_nb_fixed" = yes ; then
6358 _amr=yes
6359 _def_amr='#define CONFIG_AMR 1'
6360 _def_amr_nb_fixed='#define CONFIG_AMR_NB_FIXED 1'
6361 else
6362 _def_amr_nb_fixed='#undef CONFIG_AMR_NB_FIXED'
6364 echores "$_amr_nb_fixed"
6366 if test "$_amr_nb" = yes || test "$_amr_nb_fixed" = yes ; then
6367 _codecmodules="amr_nb $_codecmodules"
6368 else
6369 _nocodecmodules="amr_nb $_nocodecmodules"
6372 echocheck "AMR wideband"
6373 if test "$_amr_wb" = auto ; then
6374 _amr_wb=no
6375 if test -f libavcodec/amrwb_float/dec_dtx.c ; then
6376 if test "$_libavcodec" = yes ; then
6377 _amr_wb=yes
6378 else
6379 _res_comment="libavcodec (static) is required by amr_wb, sorry"
6383 if test "$_amr_wb" = yes ; then
6384 _amr=yes
6385 _def_amr='#define CONFIG_AMR 1'
6386 _def_amr_wb='#define CONFIG_AMR_WB 1'
6387 _codecmodules="amr_wb $_codecmodules"
6388 else
6389 _def_amr_wb='#undef CONFIG_AMR_WB'
6390 _nocodecmodules="amr_wb $_nocodecmodules"
6392 echores "$_amr_wb"
6394 echocheck "libdv-0.9.5+"
6395 if test "$_libdv" = auto ; then
6396 _libdv=no
6397 cat > $TMPC <<EOF
6398 #include <libdv/dv.h>
6399 int main(void) { dv_encoder_t* enc=dv_encoder_new(1,1,1); return 0; }
6401 cc_check -ldv $_ld_pthread $_ld_lm && _libdv=yes
6403 if test "$_libdv" = yes ; then
6404 _def_libdv='#define HAVE_LIBDV095 1'
6405 _ld_extra="$_ld_extra -ldv"
6406 _codecmodules="libdv $_codecmodules"
6407 else
6408 _def_libdv='#undef HAVE_LIBDV095'
6409 _nocodecmodules="libdv $_nocodecmodules"
6411 echores "$_libdv"
6413 echocheck "zr"
6414 if test "$_zr" = auto ; then
6415 #36067's seem to identify themselves as 36057PQC's, so the line
6416 #below should work for 36067's and 36057's.
6417 if grep -e "Multimedia video controller: Zoran Corporation ZR36057" /proc/pci > /dev/null 2>&1; then
6418 _zr=yes
6419 else
6420 _zr=no
6423 if test "$_zr" = yes ; then
6424 if test "$_libavcodec" = yes ; then
6425 _def_zr='#define HAVE_ZR 1'
6426 _vosrc="$_vosrc vo_zr2.c vo_zr.c jpeg_enc.c"
6427 _vomodules="zr zr2 $_vomodules"
6428 else
6429 _res_comment="libavcodec (static) is required by zr, sorry"
6430 _novomodules="zr $_novomodules"
6431 _def_zr='#undef HAVE_ZR'
6433 else
6434 _def_zr='#undef HAVE_ZR'
6435 _novomodules="zr zr2 $_novomodules"
6437 echores "$_zr"
6439 echocheck "bl"
6440 if test "$_bl" = yes ; then
6441 _def_bl='#define HAVE_BL 1'
6442 _vosrc="$_vosrc vo_bl.c"
6443 _vomodules="bl $_vomodules"
6444 else
6445 _def_bl='#undef HAVE_BL'
6446 _novomodules="bl $_novomodules"
6448 echores "$_bl"
6451 echocheck "XviD"
6452 if test "$_xvid" = auto ; then
6453 _xvid=no
6454 cat > $TMPC << EOF
6455 #include <xvid.h>
6456 int main(void) { xvid_global(0, 0, 0, 0); return 0; }
6458 for _ld_tmp in "-lxvidcore $_ld_lm" "-lxvidcore $_ld_lm $_ld_pthread" ; do
6459 cc_check $_ld_tmp && _ld_extra="$_ld_extra $_ld_tmp" && _xvid=yes && break
6460 done
6463 if test "$_xvid" = yes ; then
6464 _def_xvid='#define HAVE_XVID4 1'
6465 _codecmodules="xvid $_codecmodules"
6466 else
6467 _def_xvid='#undef HAVE_XVID4'
6468 _nocodecmodules="xvid $_nocodecmodules"
6470 echores "$_xvid"
6472 if test "$_xvid" = yes ; then
6473 echocheck "XviD two pass plugin"
6474 cat > $TMPC << EOF
6475 #include <xvid.h>
6476 int main(void) { xvid_plugin_2pass2_t s; s.vbv_size=0; return 0; }
6478 if cc_check ; then
6479 _lavc_xvid=yes
6480 _def_lavc_xvid='#define CONFIG_XVID 1'
6481 else
6482 _lavc_xvid=no
6483 _def_lavc_xvid='#undef CONFIG_XVID'
6485 echores "$_lavc_xvid"
6489 echocheck "x264"
6490 if test "$_x264" = auto ; then
6491 cat > $TMPC << EOF
6492 #include <inttypes.h>
6493 #include <x264.h>
6494 #if X264_BUILD < 53
6495 #error We do not support old versions of x264. Get the latest from SVN.
6496 #endif
6497 int main(void) { x264_encoder_open((void*)0); return 0; }
6499 _x264=no
6500 for _ld_x264 in "-lx264 $_ld_pthread" "-lx264 $_ld_pthread $_ld_lm" ; do
6501 cc_check $_ld_x264 && _libs_mencoder="$_libs_mencoder $_ld_x264" && _x264=yes && break
6502 done
6505 if test "$_x264" = yes ; then
6506 _x264=yes
6507 _def_x264='#define HAVE_X264 1'
6508 _codecmodules="x264 $_codecmodules"
6509 if echo $_libavencoders | grep -q X264 ; then
6510 _lavc_x264=yes
6511 _def_lavc_x264='#define CONFIG_X264 1'
6512 _libs_mplayer="$_libs_mplayer $_ld_x264"
6513 else
6514 _lavc_x264=no
6515 _def_lavc_x264='#undef CONFIG_X264'
6517 else
6518 _x264=no
6519 _lavc_x264=no
6520 _def_x264='#undef HAVE_X264'
6521 _def_lavc_x264='#undef CONFIG_X264'
6522 _nocodecmodules="x264 $_nocodecmodules"
6524 echores "$_x264 (in libavcodec: $_lavc_x264)"
6527 echocheck "nut"
6528 if test "$_nut" = auto ; then
6529 cat > $TMPC << EOF
6530 #include <stdio.h>
6531 #include <stdlib.h>
6532 #include <inttypes.h>
6533 #include <libnut.h>
6534 int main(void) { (void)nut_error(0); return 0; }
6536 _nut=no
6537 cc_check -lnut && _nut=yes
6540 if test "$_nut" = yes ; then
6541 _def_nut='#define HAVE_LIBNUT 1'
6542 _ld_extra="$_ld_extra -lnut"
6543 else
6544 _def_nut='#undef HAVE_LIBNUT'
6546 echores "$_nut"
6549 # mencoder requires (optional) those libs: libmp3lame
6550 if test "$_mencoder" != no ; then
6552 echocheck "libmp3lame (for mencoder)"
6553 _mp3lame=no
6554 _def_mp3lame_preset='#undef HAVE_MP3LAME_PRESET'
6555 _def_mp3lame_preset_medium='#undef HAVE_MP3LAME_PRESET_MEDIUM'
6556 cat > $TMPC <<EOF
6557 #include <lame/lame.h>
6558 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; }
6560 # Note: libmp3lame usually depends on vorbis
6561 cc_check -lmp3lame $_ld_lm && tmp_run && _mp3lame=yes
6562 if test "$_mp3lame" = yes ; then
6563 _def_mp3lame="#define HAVE_MP3LAME"
6564 _ld_mp3lame=-lmp3lame
6565 _libs_mencoder="$_libs_mencoder $_ld_mp3lame"
6566 cat > $TMPC << EOF
6567 #include <lame/lame.h>
6568 int main(void) { lame_set_preset(NULL, STANDARD_FAST); return 0; }
6570 cc_check $_ld_mp3lame $_ld_lm && _def_mp3lame_preset="#define HAVE_MP3LAME_PRESET"
6571 cat > $TMPC << EOF
6572 #include <lame/lame.h>
6573 int main(void) { lame_set_preset(NULL, MEDIUM_FAST); return 0; }
6575 cc_check $_ld_mp3lame $_ld_lm && _def_mp3lame_preset_medium="#define HAVE_MP3LAME_PRESET_MEDIUM"
6576 if echo $_libavencoders | grep -q MP3LAME ; then
6577 _lavc_mp3lame=yes
6578 _def_lavc_mp3lame="#define CONFIG_LIBMP3LAME 1"
6579 _libs_mplayer="$_libs_mplayer $_ld_mp3lame"
6580 else
6581 _lavc_mp3lame=no
6582 _def_lavc_mp3lame="#undef CONFIG_LIBMP3LAME"
6584 else
6585 _def_mp3lame='#undef HAVE_MP3LAME'
6587 echores "$_mp3lame"
6591 echocheck "mencoder"
6592 _mencoder_flag='#undef HAVE_MENCODER'
6593 if test "$_mencoder" = yes ; then
6594 _mencoder_flag='#define HAVE_MENCODER'
6595 _def_muxers='#define CONFIG_MUXERS 1'
6596 else
6597 # mpeg1video for vf_lavc, snow for vf_uspp and vf_mcdeint
6598 _libavencoders="MPEG1VIDEO_ENCODER SNOW_ENCODER"
6599 _libavmuxers=""
6601 echores "$_mencoder"
6603 echocheck "fastmemcpy"
6604 # fastmemcpy check is done earlier with tests of CPU & binutils features
6605 if test "$_fastmemcpy" = yes ; then
6606 _def_fastmemcpy='#define USE_FASTMEMCPY 1'
6607 else
6608 _def_fastmemcpy='#undef USE_FASTMEMCPY'
6610 echores "$_fastmemcpy"
6612 echocheck "UniquE RAR File Library"
6613 if test "$_unrarlib" = yes ; then
6614 _def_unrarlib='#define USE_UNRARLIB 1'
6615 else
6616 _def_unrarlib='#undef USE_UNRARLIB'
6618 echores "$_unrarlib"
6620 echocheck "TV interface"
6621 if test "$_tv" = yes ; then
6622 _def_tv='#define USE_TV 1'
6623 _inputmodules="tv $_inputmodules"
6624 else
6625 _noinputmodules="tv $_noinputmodules"
6626 _def_tv='#undef USE_TV'
6628 echores "$_tv"
6631 if bsd; then
6632 echocheck "*BSD BrookTree 848 TV interface"
6633 if test "$_tv_bsdbt848" = auto ; then
6634 _tv_bsdbt848=no
6635 if test "$_tv" = yes ; then
6636 cat > $TMPC <<EOF
6637 #include <sys/types.h>
6638 #if defined(__NetBSD__)
6639 #include <dev/ic/bt8xx.h>
6640 #else
6641 #include <machine/ioctl_bt848.h>
6642 #endif
6643 int main(void) { return 0; }
6645 cc_check && _tv_bsdbt848=yes
6648 if test "$_tv_bsdbt848" = yes ; then
6649 _def_tv_bsdbt848='#define HAVE_TV_BSDBT848 1'
6650 _inputmodules="tv-bsdbt848 $_inputmodules"
6651 else
6652 _def_tv_bsdbt848='#undef HAVE_TV_BSDBT848'
6653 _noinputmodules="tv-bsdbt848 $_noinputmodules"
6655 echores "$_tv_bsdbt848"
6656 fi #if bsd
6659 echocheck "Video 4 Linux TV interface"
6660 if test "$_tv_v4l1" = auto ; then
6661 _tv_v4l1=no
6662 if test "$_tv" = yes && linux ; then
6663 cat > $TMPC <<EOF
6664 #include <stdlib.h>
6665 #include <linux/videodev.h>
6666 int main(void) { return 0; }
6668 cc_check && _tv_v4l1=yes
6671 if test "$_tv_v4l1" = yes ; then
6672 _tv_v4l=yes
6673 _def_tv_v4l='#define HAVE_TV_V4L 1'
6674 _def_tv_v4l1='#define HAVE_TV_V4L1 1'
6675 _inputmodules="tv-v4l $_inputmodules"
6676 else
6677 _noinputmodules="tv-v4l1 $_noinputmodules"
6678 _def_tv_v4l='#undef HAVE_TV_V4L'
6680 echores "$_tv_v4l1"
6683 echocheck "Video 4 Linux 2 TV interface"
6684 if test "$_tv_v4l2" = auto ; then
6685 _tv_v4l2=no
6686 if test "$_tv" = yes && linux ; then
6687 cat > $TMPC <<EOF
6688 #include <stdlib.h>
6689 #include <linux/types.h>
6690 #include <linux/videodev2.h>
6691 int main(void) { return 0; }
6693 cc_check && _tv_v4l2=yes
6696 if test "$_tv_v4l2" = yes ; then
6697 _tv_v4l=yes
6698 _def_tv_v4l='#define HAVE_TV_V4L 1'
6699 _def_tv_v4l2='#define HAVE_TV_V4L2 1'
6700 _inputmodules="tv-v4l2 $_inputmodules"
6701 else
6702 _noinputmodules="tv-v4l2 $_noinputmodules"
6703 _def_tv_v4l2='#undef HAVE_TV_V4L2'
6705 echores "$_tv_v4l2"
6708 echocheck "Radio interface"
6709 if test "$_radio" = yes ; then
6710 _def_radio='#define USE_RADIO 1'
6711 _inputmodules="radio $_inputmodules"
6712 if test "$_alsa9" != yes -a "$_alsa1x" != yes -a "$_ossaudio" != yes ; then
6713 _radio_capture=no
6715 if test "$_radio_capture" = yes ; then
6716 _def_radio_capture="#define USE_RADIO_CAPTURE 1"
6717 else
6718 _def_radio_capture="#undef USE_RADIO_CAPTURE"
6720 else
6721 _noinputmodules="radio $_noinputmodules"
6722 _def_radio='#undef USE_RADIO'
6723 _def_radio_capture="#undef USE_RADIO_CAPTURE"
6724 _radio_capture=no
6726 echores "$_radio"
6727 echocheck "Capture for Radio interface"
6728 echores "$_radio_capture"
6730 echocheck "Video 4 Linux 2 Radio interface"
6731 if test "$_radio_v4l2" = auto ; then
6732 _radio_v4l2=no
6733 if test "$_radio" = yes && linux ; then
6734 cat > $TMPC <<EOF
6735 #include <stdlib.h>
6736 #include <linux/types.h>
6737 #include <linux/videodev2.h>
6738 int main(void) { return 0; }
6740 cc_check && _radio_v4l2=yes
6743 if test "$_radio_v4l2" = yes ; then
6744 _def_radio_v4l2='#define HAVE_RADIO_V4L2 1'
6745 else
6746 _def_radio_v4l2='#undef HAVE_RADIO_V4L2'
6748 echores "$_radio_v4l2"
6750 echocheck "Video 4 Linux Radio interface"
6751 if test "$_radio_v4l" = auto ; then
6752 _radio_v4l=no
6753 if test "$_radio" = yes && linux ; then
6754 cat > $TMPC <<EOF
6755 #include <stdlib.h>
6756 #include <linux/videodev.h>
6757 int main(void) { return 0; }
6759 cc_check && _radio_v4l=yes
6762 if test "$_radio_v4l" = yes ; then
6763 _def_radio_v4l='#define HAVE_RADIO_V4L 1'
6764 else
6765 _def_radio_v4l='#undef HAVE_RADIO_V4L'
6767 echores "$_radio_v4l"
6769 if bsd && test "$_radio" = yes && test "$_radio_bsdbt848" = auto ; then
6770 echocheck "*BSD BrookTree 848 Radio interface header"
6771 for file in "dev/ic/bt8xx.h" \
6772 "machine/ioctl_bt848.h" \
6773 "dev/bktr/ioctl_bt848.h" \
6774 "dev/video/bktr/ioctl_bt848.h" ; do
6775 cat > $TMPC <<EOF
6776 #include <sys/types.h>
6777 #include <$file>
6778 int main(void) { return 0; }
6780 cc_check && _radio_bsdbt848_hdr=$file
6781 done
6782 echores "$_radio_bsdbt848_hdr"
6783 fi #if bsd && radio && radio_bsdbt848
6785 if test -n "$_radio_bsdbt848_hdr" ; then
6786 _def_radio_bsdbt848="#define RADIO_BSDBT848_HDR <$_radio_bsdbt848_hdr>"
6787 else
6788 _def_radio_bsdbt848='#undef RADIO_BSDBT848_HDR '
6791 if test "$_radio_v4l" = no && test "$_radio_v4l2" = no && \
6792 test -z "$_radio_bsdbt848_hdr" && test "$_radio" = yes ; then
6793 die "Radio driver requires BSD BT848, V4L or V4L2!"
6796 echocheck "Video 4 Linux 2 MPEG PVR interface"
6797 if test "$_pvr" = auto ; then
6798 _pvr=no
6799 if test "$_tv_v4l2" = yes && linux ; then
6800 cat > $TMPC <<EOF
6801 #include <stdlib.h>
6802 #include <inttypes.h>
6803 #include <linux/types.h>
6804 #include <linux/videodev2.h>
6805 int main(void) { struct v4l2_ext_controls ext; return 0; }
6807 cc_check && _pvr=yes
6810 if test "$_pvr" = yes ; then
6811 _def_pvr='#define HAVE_PVR 1'
6812 _inputmodules="pvr $_inputmodules"
6813 else
6814 _noinputmodules="pvr $_noinputmodules"
6815 _def_pvr='#undef HAVE_PVR'
6817 echores "$_pvr"
6820 echocheck "audio select()"
6821 if test "$_select" = no ; then
6822 _def_select='#undef HAVE_AUDIO_SELECT'
6823 elif test "$_select" = yes ; then
6824 _def_select='#define HAVE_AUDIO_SELECT 1'
6826 echores "$_select"
6829 echocheck "ftp"
6830 if not beos && test "$_ftp" = yes ; then
6831 _def_ftp='#define HAVE_FTP 1'
6832 _inputmodules="ftp $_inputmodules"
6833 else
6834 _noinputmodules="ftp $_noinputmodules"
6835 _def_ftp='#undef HAVE_FTP'
6837 echores "$_ftp"
6839 echocheck "vstream client"
6840 if test "$_vstream" = auto ; then
6841 _vstream=no
6842 cat > $TMPC <<EOF
6843 #include <vstream-client.h>
6844 void vstream_error(const char *format, ... ) {}
6845 int main(void) { vstream_start(); return 0; }
6847 cc_check -lvstream-client && _vstream=yes
6849 if test "$_vstream" = yes ; then
6850 _def_vstream='#define HAVE_VSTREAM 1'
6851 _inputmodules="vstream $_inputmodules"
6852 _ld_extra="$_ld_extra -lvstream-client"
6853 else
6854 _noinputmodules="vstream $_noinputmodules"
6855 _def_vstream='#undef HAVE_VSTREAM'
6857 echores "$_vstream"
6859 # endian testing
6860 echocheck "byte order"
6861 if test "$_big_endian" = auto ; then
6862 cat > $TMPC <<EOF
6863 short ascii_name[] = { (('M'<<8)|'P'),(('l'<<8)|'a'),(('y'<<8)|'e'),(('r'<<8)|'B'),
6864 (('i'<<8)|'g'),(('E'<<8)|'n'),(('d'<<8)|'i'),(('a'<<8)|'n'),0};
6865 int main(){
6866 return (int)ascii_name;
6869 if cc_check ; then
6870 if strings $TMPO | grep -l MPlayerBigEndian >/dev/null ; then
6871 _big_endian=yes
6872 else
6873 _big_endian=no
6875 else
6876 echo ${_echo_n} "failed to autodetect byte order, defaulting to ${_echo_c}"
6879 if test "$_big_endian" = yes ; then
6880 _byte_order='big-endian'
6881 _def_words_endian='#define WORDS_BIGENDIAN 1'
6882 else
6883 _byte_order='little-endian'
6884 _def_words_endian='#undef WORDS_BIGENDIAN'
6886 echores "$_byte_order"
6888 echocheck "OSD menu"
6889 if test "$_menu" = yes ; then
6890 _def_menu='#define HAVE_MENU 1'
6891 else
6892 _def_menu='#undef HAVE_MENU'
6894 echores "$_menu"
6897 echocheck "QuickTime codecs"
6898 if test "$_qtx" = auto ; then
6899 test "$_win32" = yes || darwin && _qtx=yes
6901 if test "$_qtx" = yes ; then
6902 _def_qtx='#define USE_QTX_CODECS 1'
6903 _codecmodules="qtx $_codecmodules"
6904 else
6905 _def_qtx='#undef USE_QTX_CODECS'
6906 _nocodecmodules="qtx $_nocodecmodules"
6908 echores "$_qtx"
6911 echocheck "Subtitles sorting"
6912 if test "$_sortsub" = yes ; then
6913 _def_sortsub='#define USE_SORTSUB 1'
6914 else
6915 _def_sortsub='#undef USE_SORTSUB'
6917 echores "$_sortsub"
6920 echocheck "XMMS inputplugin support"
6921 if test "$_xmms" = yes ; then
6922 if ( xmms-config --version ) >/dev/null 2>&1 ; then
6923 _xmmsplugindir=`xmms-config --input-plugin-dir`
6924 _xmmslibdir=`xmms-config --exec-prefix`/lib
6925 else
6926 _xmmsplugindir=/usr/lib/xmms/Input
6927 _xmmslibdir=/usr/lib
6930 _def_xmms='#define HAVE_XMMS 1'
6931 if darwin ; then
6932 _ld_extra="$_ld_extra ${_xmmslibdir}/libxmms.dylib"
6933 else
6934 _ld_extra="$_ld_extra ${_xmmslibdir}/libxmms.so.1 -export-dynamic"
6936 else
6937 _def_xmms='#undef HAVE_XMMS'
6939 echores "$_xmms"
6941 echocheck "inet6"
6942 if test "$_inet6" = auto ; then
6943 cat > $TMPC << EOF
6944 #include <sys/types.h>
6945 #include <sys/socket.h>
6946 #include <netinet/in.h>
6947 int main(void) { struct sockaddr_in6 six; socket(AF_INET6, SOCK_STREAM, AF_INET6); }
6949 _inet6=no
6950 if cc_check ; then
6951 _inet6=yes
6954 if test "$_inet6" = yes ; then
6955 _def_inet6='#define HAVE_AF_INET6 1'
6956 else
6957 _def_inet6='#undef HAVE_AF_INET6'
6959 echores "$_inet6"
6962 echocheck "gethostbyname2"
6963 if test "$_gethostbyname2" = auto ; then
6964 cat > $TMPC << EOF
6965 #include <sys/types.h>
6966 #include <sys/socket.h>
6967 #include <netdb.h>
6968 int main(void) { gethostbyname2("", AF_INET); }
6970 _gethostbyname2=no
6971 if cc_check ; then
6972 _gethostbyname2=yes
6976 if test "$_gethostbyname2" = yes ; then
6977 _def_gethostbyname2='#define HAVE_GETHOSTBYNAME2 1'
6978 else
6979 _def_gethostbyname2='#undef HAVE_GETHOSTBYNAME2'
6981 echores "$_gethostbyname2"
6984 # --------------- GUI specific tests begin -------------------
6985 echocheck "GUI"
6986 echo "$_gui"
6987 if test "$_gui" = yes ; then
6989 # Required libraries
6990 test "$_png" != yes && die "The GUI requires PNG support, please install libpng and libpng-dev packages."
6991 if not win32 ; then
6992 test "$_x11" != yes && die "X11 support required for GUI compilation."
6994 echocheck "XShape extension"
6995 if test "$_xshape" = auto ; then
6996 _xshape=no
6997 cat > $TMPC << EOF
6998 #include <X11/Xlib.h>
6999 #include <X11/Xproto.h>
7000 #include <X11/Xutil.h>
7001 #include <X11/extensions/shape.h>
7002 #include <stdlib.h>
7003 int main(void) {
7004 char *name = ":0.0";
7005 Display *wsDisplay;
7006 int exitvar = 0;
7007 int eventbase, errorbase;
7008 if (getenv("DISPLAY"))
7009 name=getenv("DISPLAY");
7010 wsDisplay=XOpenDisplay(name);
7011 if (!XShapeQueryExtension(wsDisplay,&eventbase,&errorbase))
7012 exitvar=1;
7013 XCloseDisplay(wsDisplay);
7014 return exitvar;
7017 cc_check && _xshape=yes
7019 if test "$_xshape" = yes ; then
7020 _def_xshape='#define HAVE_XSHAPE 1'
7021 else
7022 die "The GUI requires the X11 extension XShape (which was not found)."
7024 echores "$_xshape"
7026 #Check for GTK
7027 if test "$_gtk1" = no ; then
7028 #Check for GTK2 :
7029 echocheck "GTK+ version"
7031 if $_pkg_config gtk+-2.0 --exists ; then
7032 _gtk=`$_pkg_config gtk+-2.0 --modversion 2>/dev/null`
7033 _inc_extra="$_inc_extra `$_pkg_config gtk+-2.0 --cflags 2>/dev/null`"
7034 _libs_mplayer="$_libs_mplayer `$_pkg_config gtk+-2.0 --libs 2>/dev/null`"
7035 echores "$_gtk"
7037 # Check for GLIB2
7038 if $_pkg_config glib-2.0 --exists ; then
7039 echocheck "glib version"
7040 _glib=`$_pkg_config glib-2.0 --modversion 2>/dev/null`
7041 _libs_mplayer="$_libs_mplayer `$_pkg_config glib-2.0 --libs 2>/dev/null`"
7042 echores "$_glib"
7044 _def_gui='#define HAVE_NEW_GUI 1'
7045 _def_gtk2_gui='#define HAVE_GTK2_GUI 1'
7046 else
7047 _gtk1=yes
7048 echo "GLIB-2 devel packages were not found, trying GTK 1.2"
7050 else
7051 echo "GTK-2 devel packages were not found, trying GTK 1.2"
7052 _gtk1=yes
7056 if test "$_gtk1" = yes ; then
7057 # Check for old GTK (1.2.x)
7058 echocheck "GTK version"
7059 if test -z "$_gtkconfig" ; then
7060 if ( gtk-config --version ) >/dev/null 2>&1 ; then
7061 _gtkconfig="gtk-config"
7062 elif ( gtk12-config --version ) >/dev/null 2>&1 ; then
7063 _gtkconfig="gtk12-config"
7064 else
7065 die "The GUI requires GTK devel packages (which were not found)."
7068 _gtk=`$_gtkconfig --version 2>&1`
7069 _inc_extra="$_inc_extra `$_gtkconfig --cflags 2>&1`"
7070 _libs_mplayer="$_libs_mplayer `$_gtkconfig --libs 2>&1`"
7071 echores "$_gtk (using $_gtkconfig)"
7073 # Check for GLIB
7074 echocheck "glib version"
7075 if test -z "$_glibconfig" ; then
7076 if ( glib-config --version ) >/dev/null 2>&1 ; then
7077 _glibconfig="glib-config"
7078 elif ( glib12-config --version ) >/dev/null 2>&1 ; then
7079 _glibconfig="glib12-config"
7080 else
7081 die "The GUI requires GLIB devel packages (which were not found)"
7084 _glib=`$_glibconfig --version 2>&1`
7085 _libs_mplayer="$_libs_mplayer `$_glibconfig --libs 2>&1`"
7086 echores "$_glib (using $_glibconfig)"
7088 _def_gui='#define HAVE_NEW_GUI 1'
7089 _def_gtk2_gui='#undef HAVE_GTK2_GUI'
7092 else #if not win32
7093 _libs_mplayer="$_libs_mplayer -lcomdlg32 -lcomctl32 -lshell32 -lkernel32"
7094 _def_gui='#define HAVE_NEW_GUI 1'
7095 _def_gtk2_gui='#undef HAVE_GTK2_GUI'
7096 fi #if not win32
7098 else #if test "$_gui"
7099 _def_gui='#undef HAVE_NEW_GUI'
7100 _def_gtk2_gui='#undef HAVE_GTK2_GUI'
7101 fi #if test "$_gui"
7102 # --------------- GUI specific tests end -------------------
7105 if test "$_charset" = "noconv" ; then
7106 _charset=""
7108 if test "$_charset" ; then
7109 _def_charset="#define MSG_CHARSET \"$_charset\""
7110 else
7111 _def_charset="#undef MSG_CHARSET"
7114 if test "$_charset" = "UTF-8" ; then
7115 # hack to disable conversion in the Makefile
7116 _charset=""
7119 if test "$_charset" ; then
7120 echocheck "iconv program"
7121 iconv -f UTF-8 -t $_charset ${_mp_help} > /dev/null 2>> "$TMPLOG"
7122 if test "$?" -ne 0 ; then
7123 echores "no"
7124 echo "No working iconv program found, use "
7125 echo "--charset=UTF-8 to continue anyway."
7126 echo "If you also have problems with iconv library functions use --charset=noconv."
7127 echo "Messages in the GTK-2 interface will be broken then."
7128 exit 1
7129 else
7130 echores "yes"
7134 #############################################################################
7136 echocheck "automatic gdb attach"
7137 if test "$_crash_debug" = yes ; then
7138 _def_crash_debug='#define CRASH_DEBUG 1'
7139 else
7140 _def_crash_debug='#undef CRASH_DEBUG'
7141 _crash_debug=no
7143 echores "$_crash_debug"
7145 if darwin ; then
7146 CFLAGS="$CFLAGS -mdynamic-no-pic -falign-loops=16 -DSYS_DARWIN -DCONFIG_DARWIN -shared-libgcc"
7147 if [ "$_cc_major" = 3 ] && [ "$_cc_minor" -lt 1 ]; then
7148 CFLAGS="$CFLAGS -no-cpp-precomp"
7151 # libavcodec (from ffmpeg) requires CONFIG_DARWIN to enable AltiVec on Darwin/MacOSX
7152 test "$_altivec" = yes && CFLAGS="$CFLAGS -DCONFIG_DARWIN"
7154 if hpux ; then
7155 # use flag for HPUX missing setenv()
7156 CFLAGS="$CFLAGS -DHPUX"
7158 # Thread support
7159 if linux ; then
7160 CFLAGS="$CFLAGS -D_REENTRANT"
7161 elif bsd ; then
7162 # FIXME bsd needs this so maybe other OS'es
7163 CFLAGS="$CFLAGS -D_THREAD_SAFE"
7165 # 64 bit file offsets?
7166 if test "$_largefiles" = yes || freebsd ; then
7167 CFLAGS="$CFLAGS -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
7168 if test "$_dvdread" = yes ; then
7169 # dvdread support requires this (for off64_t)
7170 CFLAGS="$CFLAGS -D_LARGEFILE64_SOURCE"
7174 echocheck "compiler support for noexecstack"
7175 cat > $TMPC <<EOF
7176 int main(void) { return 0; }
7178 if cc_check -Wl,-z,noexecstack ; then
7179 _ld_extra="-Wl,-z,noexecstack $_ld_extra"
7180 echores "yes"
7181 else
7182 echores "no"
7185 if cc_check -Wdeclaration-after-statement ; then
7186 CFLAGS="-Wdeclaration-after-statement $CFLAGS"
7189 echocheck "ftello()"
7190 # if we don't have ftello use the osdep/ compatibility module
7191 cat > $TMPC << EOF
7192 #include <stdio.h>
7193 #include <sys/types.h>
7194 int main (void) { ftello(stdin); return 0; }
7196 _ftello=no
7197 cc_check && _ftello=yes
7198 if test "$_ftello" = yes ; then
7199 _def_ftello='#define HAVE_FTELLO 1'
7200 _need_ftello=no
7201 else
7202 _def_ftello='#undef HAVE_FTELLO'
7203 _need_ftello=yes
7205 echores "$_ftello"
7207 # Determine OS dependent libs
7208 if cygwin ; then
7209 _def_confwin32='#define WIN32'
7210 #CFLAGS="$CFLAGS -D__CYGWIN__ -D__CYGWIN_USE_BIG_TYPES__"
7211 # stat.st_size with BIG_TYPES is broken (not set) ::atmos
7212 CFLAGS="$CFLAGS -D__CYGWIN__"
7215 if win32 ; then
7216 _confwin32='TARGET_WIN32 = yes'
7217 else
7218 _confwin32='TARGET_WIN32 = no'
7221 # Dynamic linking flags
7222 # (FIXME: 'echocheck "dynamic linking"' above and modify here accordingly)
7223 _ld_dl_dynamic=''
7224 bsd && _ld_dl_dynamic='-rdynamic'
7225 if test "$_real" = yes || test "$_xanim" = yes && not win32 && not qnx && not darwin ; then
7226 _ld_dl_dynamic='-rdynamic'
7229 _ld_extra="$_ld_extra $_ld_pthread $_ld_dl $_ld_dl_dynamic"
7230 bsdos && _ld_extra="$_ld_extra -ldvd"
7231 netbsd && x86_32 && _ld_extra="$_ld_extra -li386"
7233 _def_debug='#undef MP_DEBUG'
7234 test "$_debug" != "" && _def_debug='#define MP_DEBUG 1'
7236 _def_linux='#undef TARGET_LINUX'
7237 linux && _def_linux='#define TARGET_LINUX 1'
7239 # TODO cleanup the VIDIX stuff here
7240 echocheck "VIDIX (internal)"
7241 echores "$_vidix_internal"
7243 echocheck "VIDIX (external)"
7244 if test "$_vidix_external" = auto; then
7245 _vidix_external=no
7246 cat > $TMPC <<EOF
7247 #include <vidix/vidix.h>
7248 int main(void) { return 0; }
7250 cc_check -lvidix && _vidix_external=yes
7252 echores "$_vidix_external"
7254 if test "$_vidix_internal" = yes || test "$_vidix_external" = yes ; then
7255 _vidix=yes
7256 _def_vidix='#define CONFIG_VIDIX 1'
7257 else
7258 _vidix=no
7259 _def_vidix='#undef CONFIG_VIDIX'
7262 if test "$_vidix_internal" = yes ; then
7263 _def_vidix_pfx="#define MP_VIDIX_PFX \"$_libdir\" \"/mplayer/vidix/\" "
7264 elif test "$_vidix_external" = yes ; then
7265 _libs_mplayer="$_libs_mplayer -lvidix"
7266 _def_vidix_pfx='#define MP_VIDIX_PFX "" '
7269 if test "$_vidix" = yes; then
7270 _vosrc="$_vosrc vo_cvidix.c"
7271 _vomodules="cvidix $_vomodules"
7272 else
7273 _novomodules="cvidix $_novomodules"
7275 if test "$_vidix" = yes && win32; then
7276 _vosrc="$_vosrc vo_winvidix.c"
7277 _vomodules="winvidix $_vomodules"
7278 _libs_mplayer="$_libs_mplayer -lgdi32"
7279 else
7280 _novomodules="winvidix $_novomodules"
7282 if test "$_vidix" = yes && test "$_x11" = yes; then
7283 _vosrc="$_vosrc vo_xvidix.c"
7284 _vomodules="xvidix $_vomodules"
7285 else
7286 _novomodules="xvidix $_novomodules"
7289 echocheck "joystick"
7290 _def_joystick='#undef HAVE_JOYSTICK'
7291 if test "$_joystick" = yes ; then
7292 if linux ; then
7293 # TODO add some check
7294 _def_joystick='#define HAVE_JOYSTICK 1'
7295 else
7296 _joystick="no (unsupported under $system_name)"
7299 echores "$_joystick"
7301 echocheck "lirc"
7302 if test "$_lirc" = auto ; then
7303 _lirc=no
7304 cat > $TMPC <<EOF
7305 #include <lirc/lirc_client.h>
7306 int main(void) { return 0; }
7308 cc_check -llirc_client && _lirc=yes
7310 if test "$_lirc" = yes ; then
7311 _def_lirc='#define HAVE_LIRC 1'
7312 _ld_extra="$_ld_extra -llirc_client"
7313 else
7314 _def_lirc='#undef HAVE_LIRC'
7316 echores "$_lirc"
7318 echocheck "lircc"
7319 if test "$_lircc" = auto ; then
7320 _lircc=no
7321 cat > $TMPC <<EOF
7322 #include <lirc/lircc.h>
7323 int main(void) { return 0; }
7325 cc_check -llircc && _lircc=yes
7327 if test "$_lircc" = yes ; then
7328 _def_lircc='#define HAVE_LIRCC 1'
7329 _ld_extra="$_ld_extra -llircc"
7330 else
7331 _def_lircc='#undef HAVE_LIRCC'
7333 echores "$_lircc"
7335 if arm; then
7336 # Detect maemo development platform libraries availability (http://www.maemo.org),
7337 # they are used when run on Nokia 770
7338 echocheck "maemo (Nokia 770)"
7339 if test "$_maemo" = auto ; then
7340 _maemo=no
7341 cat > $TMPC << EOF
7342 #include <libosso.h>
7343 int main(void) { (void) osso_initialize("", "", 0, NULL); return 0; }
7345 cc_check `$_pkg_config --cflags --libs libosso 2>/dev/null` && _maemo=yes
7347 if test "$_maemo" = yes ; then
7348 _def_maemo='#define HAVE_MAEMO 1'
7349 _inc_extra="$_inc_extra `$_pkg_config --cflags libosso`"
7350 _ld_extra="$_ld_extra `$_pkg_config --libs libosso` -lXsp"
7351 else
7352 _def_maemo='#undef HAVE_MAEMO'
7354 echores "$_maemo"
7357 echocheck "color console output"
7358 if test "$_color_console" = yes ; then
7359 _def_color_console='#define MSG_USE_COLORS 1'
7360 else
7361 _def_color_console='#undef MSG_USE_COLORS'
7363 echores "$_color_console"
7365 # linker paths should be the same for mencoder and mplayer
7366 _ld_tmp=""
7367 for I in $_libs_mplayer ; do
7368 _tmp=`echo $I | sed -e 's/^-L.*$//'`
7369 if test -z "$_tmp" ; then
7370 _ld_extra="$I $_ld_extra"
7371 else
7372 _ld_tmp="$_ld_tmp $I"
7374 done
7375 _libs_mplayer=$_ld_tmp
7377 #############################################################################
7378 # Take care of ffmpeg dependencies
7379 if test "$_zlib" = no ; then
7380 _libavdecoders=`echo $_libavdecoders | sed -e s/FLASHSV_DECODER// -e s/PNG_DECODER// -e s/ZMBV_DECODER// `
7381 _libavencoders=`echo $_libavencoders | sed -e s/FLASHSV_ENCODER// -e s/PNG_ENCODER// -e s/ZMBV_ENCODER// `
7383 if test "$_amr_nb" = no && test "$_amr_nb_fixed" = no ; then
7384 _libavdecoders=`echo $_libavdecoders | sed -e s/AMR_NB_DECODER// `
7385 _libavencoders=`echo $_libavencoders | sed -e s/AMR_NB_ENCODER// `
7387 if test "$_amr_wb" = no ; then
7388 _libavdecoders=`echo $_libavdecoders | sed -e s/AMR_WB_DECODER// `
7389 _libavencoders=`echo $_libavencoders | sed -e s/AMR_WB_ENCODER// `
7391 if test "$_libdts" = no ; then
7392 _libavdecoders=`echo $_libavdecoders | sed -e s/DTS_DECODER// `
7394 if test "$_xvmc" = no ; then
7395 _libavdecoders=`echo $_libavdecoders | sed -e s/MPEG_XVMC_DECODER// `
7397 if test "$_x264" = no || test "$_lavc_x264" = no ; then
7398 _libavencoders=`echo $_libavencoders | sed -e s/X264_ENCODER// `
7400 if test "$_xvid" = no || test "$_lavc_xvid" = no ; then
7401 _libavencoders=`echo $_libavencoders | sed -e s/XVID_ENCODER// `
7403 if test "$_faac" = no || test "$_lavc_faac" = no ; then
7404 _libavencoders=`echo $_libavencoders | sed -e s/FAAC_ENCODER// `
7406 if test "$_mp3lame" = no || test "$_lavc_mp3lame" = no ; then
7407 _libavencoders=`echo $_libavencoders | sed -e s/MP3LAME_ENCODER// `
7409 if test "$_libvorbis" = no ; then
7410 _libavencoders=`echo $_libavencoders | sed -e s/LIBVORBIS_ENCODER// `
7411 _libavmuxers=`echo $_libavmuxers | sed -e s/OGG_MUXER// `
7413 if test "$_nut" = no ; then
7414 _libavmuxers=`echo $_libavmuxers | sed -e s/LIBNUT_MUXER// `
7417 #############################################################################
7418 echo "Creating config.mak"
7419 cat > config.mak << EOF
7420 # -------- Generated by configure -----------
7422 LANG = C
7423 MAN_LANG = $MAN_LANG
7424 TARGET_OS = $system_name
7425 DESTDIR =
7426 prefix = \$(DESTDIR)$_prefix
7427 BINDIR = \$(DESTDIR)$_bindir
7428 DATADIR = \$(DESTDIR)$_datadir
7429 MANDIR = \$(DESTDIR)$_mandir
7430 CONFDIR = \$(DESTDIR)$_confdir
7431 LIBDIR = \$(DESTDIR)$_libdir
7432 # FFmpeg uses libdir instead of LIBDIR
7433 libdir = \$(LIBDIR)
7434 #AR = ar
7435 CC = $_cc
7436 HOST_CC = $_host_cc
7437 AWK = $_awk
7438 RANLIB = $_ranlib
7439 LDCONFIG = $_ldconfig
7440 INSTALL = $_install
7441 EXTRA_INC = $_inc_extra
7442 OPTFLAGS = $CFLAGS \$(EXTRA_INC)
7443 STRIPBINARIES = $_stripbinaries
7444 CHARSET = $_charset
7445 HELP_FILE = $_mp_help
7447 EXESUF = $_exesuf
7449 MPLAYER_NETWORK = $_network
7450 FTP = $_ftp
7451 STREAMING_LIVE555 = $_live
7452 VSTREAM = $_vstream
7453 STREAM_CACHE = yes
7454 DVBIN = $_dvbin
7455 VIDIX = $_vidix_internal
7456 EXTERNAL_VIDIX = $_vidix_external
7457 CONFIG_PP = yes
7458 MP3LAME = $_mp3lame
7459 LIBMENU = $_menu
7461 MP3LIB = $_mp3lib
7462 LIBA52 = $_liba52
7463 LIBMPEG2 = $_libmpeg2
7464 TREMOR_INTERNAL = $_tremor_internal
7465 TREMOR_FLAGS = $_tremor_flags
7466 FAAD = $_faad
7468 SPEEX = $_speex
7469 MUSEPACK = $_musepack
7471 UNRARLIB = $_unrarlib
7472 PNG = $_png
7473 JPEG = $_jpeg
7474 GIF = $_gif
7476 EXTRALIBS = $_extra_libs
7477 EXTRA_LIB = $_ld_extra $_ld_static $_ld_lm
7478 EXTRALIBS_MPLAYER = $_libs_mplayer
7479 EXTRALIBS_MENCODER = $_libs_mencoder
7481 HAVE_MLIB = $_mlib
7482 HAVE_PTHREADS = $_pthreads
7484 HAVE_XVMC_ACCEL = $_xvmc
7486 HAVE_SYS_MMAN_H = $_mman
7488 NEED_FSEEKO = $_need_fseeko
7489 NEED_FTELLO = $_need_ftello
7490 NEED_GETTIMEOFDAY = $_need_gettimeofday
7491 NEED_GLOB = $_need_glob
7492 NEED_SCANDIR = $_need_scandir
7493 NEED_SETENV = $_need_setenv
7494 NEED_STRLCAT = $_need_strlcat
7495 NEED_STRLCPY = $_need_strlcpy
7496 NEED_STRSEP = $_need_strsep
7497 NEED_SWAB = $_need_swab
7498 NEED_VSSCANF = $_need_vsscanf
7500 # for FFmpeg
7501 SRC_PATH=..
7502 BUILD_ROOT=..
7503 LIBPREF=lib
7504 LIBSUF=.a
7505 LIB=\$(LIBPREF)\$(NAME)\$(LIBSUF)
7507 # audio output
7508 OSS = $_ossaudio
7509 ALSA = $_alsa
7510 ALSA5 = $_alsa5
7511 ALSA9 = $_alsa9
7512 ALSA1X = $_alsa1x
7514 # input/demuxer/codecs
7515 JOYSTICK = $_joystick
7516 LIRC = $_lirc
7517 TV = $_tv
7518 TV_V4L = $_tv_v4l
7519 TV_V4L1 = $_tv_v4l1
7520 TV_V4L2 = $_tv_v4l2
7521 TV_BSDBT848 = $_tv_bsdbt848
7522 PVR = $_pvr
7523 VCD = $_vcd
7524 DVDREAD = $_dvdread
7525 DVDREAD_INTERNAL = $_dvdread_internal
7526 DVDCSS_INTERNAL = $_libdvdcss_internal
7527 DVDNAV = $_dvdnav
7528 WIN32DLL = $_win32
7529 QTX_CODECS = $_qtx
7530 REAL_CODECS = $_real
7531 XANIM_CODECS = $_xanim
7532 CONFIG_LIBAVUTIL = $_libavutil
7533 CONFIG_LIBAVUTIL_SO = $_libavutil_so
7534 CONFIG_LIBAVCODEC = $_libavcodec
7535 CONFIG_LIBAVCODEC_SO = $_libavcodec_so
7536 CONFIG_LIBAVFORMAT = $_libavformat
7537 CONFIG_LIBAVFORMAT_SO = $_libavformat_so
7538 CONFIG_LIBPOSTPROC = $_libpostproc
7539 CONFIG_LIBPOSTPROC_SO = $_libpostproc_so
7540 ZORAN = $_zr
7541 LIBLZO = $_liblzo
7542 LIBDV = $_libdv
7543 XVID4 = $_xvid
7544 X264 = $_x264
7545 LIBNUT = $_nut
7546 CONFIG_LIBDTS = $_libdts
7547 MPLAYER = $_mplayer
7548 MENCODER = $_mencoder
7549 CDDA = $_cdda
7550 CDDB = $_cddb
7551 BITMAP_FONT = $_bitmap_font
7552 FREETYPE = $_freetype
7553 CONFIG_ASS = $_ass
7554 LIBMAD = $_mad
7555 LIBVORBIS = $_vorbis
7556 LIBTHEORA = $_theora
7557 FAAD_INTERNAL = $_faad_internal
7558 FAAD_FIXED = $_faad_fixed
7559 LIBSMBCLIENT = $_smbsupport
7560 XMMS_PLUGINS = $_xmms
7561 MACOSX = $_macosx
7562 MACOSX_FINDER_SUPPORT = $_macosx_finder_support
7563 MACOSX_BUNDLE = $_macosx_bundle
7564 MACOSX_COREVIDEO = $_macosx_corevideo
7565 TOOLAME=$_toolame
7566 TWOLAME=$_twolame
7567 FAAC=$_faac
7568 CONFIG_AMR=$_amr
7569 CONFIG_AMR_NB=$_amr_nb
7570 CONFIG_AMR_NB_FIXED=$_amr_nb_fixed
7571 CONFIG_AMR_WB=$_amr_wb
7572 `echo $_libavdecoders | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/'`
7573 `echo $_libavencoders | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/'`
7574 `echo $_libavparsers | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/'`
7575 `echo $_libavdemuxers | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/'`
7576 `echo $_libavmuxers | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/'`
7577 CONFIG_LIBFAAC=$_lavc_faac
7578 CONFIG_LIBMP3LAME=$_lavc_mp3lame
7579 CONFIG_XVID=$_lavc_xvid
7580 CONFIG_X264=$_lavc_x264
7581 CONFIG_ZLIB=$_zlib
7582 CONFIG_GPL=yes
7583 CONFIG_ENCODERS=$_mencoder
7584 CONFIG_MUXERS=$_mencoder
7585 RADIO=$_radio
7586 RADIO_CAPTURE=$_radio_capture
7588 # --- Some stuff for autoconfigure ----
7589 $_target_arch
7590 $_target_arch_x86
7591 $_confwin32
7592 TARGET_CPU=$iproc
7593 TARGET_MMX = $_mmx
7594 TARGET_MMX2 = $_mmxext
7595 TARGET_3DNOW = $_3dnow
7596 TARGET_3DNOWEX = $_3dnowext
7597 TARGET_SSE = $_sse
7598 TARGET_CMOV = $_cmov
7599 TARGET_ALTIVEC = $_altivec
7600 TARGET_ARMV5TE = $_armv5te
7601 TARGET_IWMMXT = $_iwmmxt
7602 TARGET_VIS = $_vis
7603 TARGET_BUILTIN_VECTOR = $_builtin_vector
7604 TARGET_BUILTIN_3DNOW = $_mm3dnow
7606 # --- GUI stuff ---
7607 GUI = $_gui
7609 # --- libvo stuff ---
7610 VO_SRCS = $_vosrc
7612 # --- libao2 stuff ---
7613 AO_SRCS = $_aosrc
7615 # --- libaf stuff ---
7616 AF_SRCS = $_afsrc
7620 #############################################################################
7622 ff_config_enable () {
7623 for part in $1; do
7624 if ` echo $2 | grep $part > /dev/null `; then
7625 echo "#define CONFIG_$part 1"
7626 echo "#define ENABLE_$part 1"
7627 else
7628 echo "#define ENABLE_$part 0"
7630 done
7633 echo "Creating config.h"
7634 cat > config.h << EOF
7635 /* -------- This file has been automatically generated by configure ---------
7636 Note: Any changes in it will be lost when you run configure again. */
7638 /* Protect against multiple inclusion */
7639 #ifndef MPLAYER_CONFIG_H
7640 #define MPLAYER_CONFIG_H 1
7642 #define CONFIGURATION "$_configuration"
7644 /* make sure we never get lavformat's poll() emulation, the results are
7645 horrible if the X libs try to actually use it, see MPlayer-users
7646 Message-ID: <45D49541.8060101@infernix.net>
7647 Date: Thu, 15 Feb 2007 18:15:45 +0100
7648 Subject: [MPlayer-users] Crash with backtrace when playing back demuxed...
7650 #define HAVE_SYS_POLL_H 1
7652 /* use GNU internationalization */
7653 $_def_i18n
7655 /* name of messages charset */
7656 $_def_charset
7658 /* Runtime CPU detection */
7659 $_def_runtime_cpudetection
7661 /* Dynamic a/v plugins */
7662 $_def_dynamic_plugins
7664 /* "restrict" keyword */
7665 $_def_restrict_keyword
7667 /* __builtin_expect branch prediction hint */
7668 $_def_builtin_expect
7669 #ifdef HAVE_BUILTIN_EXPECT
7670 #define likely(x) __builtin_expect ((x) != 0, 1)
7671 #define unlikely(x) __builtin_expect ((x) != 0, 0)
7672 #else
7673 #define likely(x) (x)
7674 #define unlikely(x) (x)
7675 #endif
7677 /* attribute(used) as needed by some compilers */
7678 #if (__GNUC__ * 100 + __GNUC_MINOR__ >= 300)
7679 # define attribute_used __attribute__((used))
7680 #else
7681 # define attribute_used
7682 #endif
7684 /* compiler support for named assembler arguments */
7685 $_def_named_asm_args
7687 #define PREFIX "$_prefix"
7689 /* enable/disable SIGHANDLER */
7690 $_def_sighandler
7692 /* enable/disable automatic gdb attach on crash, requires SIGHANDLER */
7693 $_def_crash_debug
7695 /* Toggles debugging informations */
7696 $_def_debug
7698 /* Toggles color console output */
7699 $_def_color_console
7701 /* Indicates that libcdio is available for VCD and CD-DA playback */
7702 $_def_libcdio
7704 /* Indicates that Ogle's libdvdread is available for DVD playback */
7705 $_def_dvdread
7707 /* Indicates that dvdread is internal */
7708 $_def_dvdread_internal
7710 /* Additional options for libdvdread/libdvdcss */
7711 $_def_dvd
7712 $_def_cdrom
7713 $_def_cdio
7714 $_def_dvdio
7715 $_def_bsdi_dvd
7716 $_def_dvd_bsd
7717 $_def_dvd_linux
7718 $_dev_dvd_openbsd
7719 $_def_dvd_darwin
7720 $_def_sol_scsi_h
7721 $_def_hpux_scsi_h
7722 $_def_stddef
7724 /* Common data directory (for fonts, etc) */
7725 #define MPLAYER_DATADIR "$_datadir"
7726 #define MPLAYER_CONFDIR "$_confdir"
7727 #define MPLAYER_LIBDIR "$_libdir"
7729 /* Define this to compile stream-caching support, it can be enabled via
7730 -cache <kilobytes> */
7731 #define USE_STREAM_CACHE 1
7733 /* Define if you are using XviD library */
7734 $_def_xvid
7736 /* Define if you are using the X.264 library */
7737 $_def_x264
7739 /* Define if you are using libnut */
7740 $_def_nut
7742 /* Define to include support for libdv-0.9.5 */
7743 $_def_libdv
7745 /* If build mencoder */
7746 $_mencoder_flag
7748 /* Indicates if libmp3lame is available
7749 Note: for mencoder */
7750 $_def_mp3lame
7751 $_def_mp3lame_preset
7752 $_def_mp3lame_preset_medium
7754 /* Define this to enable avg. byte/sec-based AVI sync method by default:
7755 (use -bps or -nobps commandline option for run-time method selection)
7756 -bps gives better sync for vbr mp3 audio, it is now default */
7757 #define AVI_SYNC_BPS 1
7759 /* Undefine this if you do not want to select mono audio (left or right)
7760 with a stereo MPEG layer 2/3 audio stream. The command line option
7761 -stereo has three possible values (0 for stereo, 1 for left-only, 2 for
7762 right-only), with 0 being the default.
7764 #define USE_FAKE_MONO 1
7766 /* Undefine this if your sound card driver has no working select().
7767 If you have kernel Oops, player hangups, or just no audio, you should
7768 try to recompile MPlayer with this option disabled! */
7769 $_def_select
7771 /* define this to use iconv(3) function to codepage conversions */
7772 $_def_iconv
7774 /* define this to use nl_langinfo function */
7775 $_def_langinfo
7777 /* define this to use RTC (/dev/rtc) for video timers */
7778 $_def_rtc
7780 /* set up max. outburst. use 65536 for ALSA 0.5, for others 16384 is enough */
7781 #define MAX_OUTBURST 65536
7783 /* set up audio OUTBURST. Do not change this! */
7784 #define OUTBURST 512
7786 /* Define this if your system has the header file for the OSS sound interface */
7787 $_def_sys_soundcard
7789 /* Define this if your system has the header file for the OSS sound interface
7790 * in /usr/include */
7791 $_def_soundcard
7793 /* Define this if your system has the sysinfo header */
7794 $_def_sys_sysinfo
7796 /* Define this if your system has ftello() */
7798 $_def_ftello
7799 #ifndef HAVE_FTELLO
7800 /* Need these for FILE and off_t an config.h is usually before other includes*/
7801 #include <stdio.h>
7802 #include <sys/types.h>
7803 off_t ftello(FILE *);
7804 #endif
7806 /* Define this if your system has the "malloc.h" header file */
7807 $_def_malloc
7809 /* memalign is mapped to malloc if unsupported */
7810 $_def_memalign
7811 $_def_map_memalign
7812 $_def_memalign_hack
7814 /* assembler handling of .align */
7815 $_def_asmalign_pot
7817 /* Define this if your system has the "alloca.h" header file */
7818 $_def_alloca
7820 /* Define this if your system has the "sys/mman.h" header file */
7821 $_def_mman
7822 $_def_mman_has_map_failed
7824 /* Define this if you have the elf dynamic linker -ldl library */
7825 $_def_dl
7827 /* Define this if you have the kstat kernel statistics library */
7828 $_def_kstat
7830 /* Define this if you have zlib */
7831 $_def_zlib
7832 #ifdef HAVE_ZLIB
7833 #define CONFIG_ZLIB 1
7834 #endif
7836 /* Define this if you have shm support */
7837 $_def_shm
7839 /* Define this if your system has scandir & alphasort */
7840 $_def_scandir
7842 /* Define this if your system has strsep */
7843 $_def_strsep
7845 /* Define this if your system has strlcpy */
7846 $_def_strlcpy
7847 #ifndef HAVE_STRLCPY
7848 unsigned int strlcpy (char *dest, const char *src, unsigned int size);
7849 #endif
7851 /* Define this if your system has strlcat */
7852 $_def_strlcat
7853 #ifndef HAVE_STRLCAT
7854 unsigned int strlcat (char *dest, const char *src, unsigned int size);
7855 #endif
7857 /* Define this if your system has fseeko */
7858 $_def_fseeko
7859 #ifndef HAVE_FSEEKO
7860 /* Need these for FILE and off_t an config.h is usually before other includes*/
7861 #include <stdio.h>
7862 #include <sys/types.h>
7863 int fseeko(FILE *, off_t, int);
7864 #endif
7866 $_def_localtime_r
7868 /* Define this if your system has vsscanf */
7869 $_def_vsscanf
7871 /* Define this if your system has swab */
7872 $_def_swab
7874 /* Define this if your system has no posix select */
7875 $_def_no_posix_select
7877 /* Define this if your system has gettimeofday */
7878 $_def_gettimeofday
7880 /* Define this if your system has glob */
7881 $_def_glob
7883 /* Define this if your system has setenv */
7884 $_def_setenv
7885 #ifndef HAVE_SETENV
7886 int setenv(const char *name, const char *val, int overwrite);
7887 #endif
7889 /* Define this if your system has sysi86 */
7890 $_def_sysi86
7892 /* Define this if your system has pthreads */
7893 $_def_pthreads
7895 /* Define this if you enabled thread support for libavcodec */
7896 $_def_threads
7898 /* LIRC (remote control, see www.lirc.org) support: */
7899 $_def_lirc
7901 /* Support for maemo (http://www.maemo.org) */
7902 $_def_maemo
7905 * LIRCCD (LIRC client daemon)
7906 * See http://www.dolda2000.cjb.net/~fredrik/lirccd/
7908 $_def_lircc
7910 /* DVD navigation support using libdvdnav */
7911 $_def_dvdnav
7912 $_def_dvdnav_version
7914 /* Define this to enable MPEG 1/2 image postprocessing (requires a FAST CPU!) */
7915 #define MPEG12_POSTPROC 1
7917 /* Define this to enable image postprocessing in libavcodec (requires a FAST CPU!) */
7918 $_def_libpostproc
7919 $_def_libpostproc_so
7921 /* Win32 DLL support */
7922 $_def_win32
7923 #define WIN32_PATH "$_win32codecsdir"
7925 /* Mac OS X specific features */
7926 $_def_macosx
7927 $_def_macosx_finder_support
7928 $_def_macosx_bundle
7929 $_def_macosx_corevideo
7931 /* Build our Win32-loader */
7932 $_def_win32_loader
7934 /* ffmpeg's libavcodec support (requires libavcodec source) */
7935 $_def_libavcodec
7936 $_def_libavcodec_so
7937 $_def_lavc_dsputil
7938 $_def_libavcodec_mpegaudio_hp
7940 /* ffmpeg's libavformat support (requires libavformat source) */
7941 $_def_libavformat
7942 $_def_libavformat_so
7943 $_def_libavformat_win32
7945 $_def_libavutil
7946 $_def_libavutil_so
7948 /* Use libavcodec's decoders */
7949 #define CONFIG_DECODERS 1
7950 /* Use libavcodec's encoders */
7951 #define CONFIG_ENCODERS 1
7953 /* Use libavformat's demuxers */
7954 #define CONFIG_DEMUXERS 1
7955 /* Use libavformat's muxers */
7956 $_def_muxers
7958 #define CONFIG_GPL 1
7960 /* Use amr codecs from libavcodec (requires amr sources) */
7961 $_def_amr
7962 $_def_amr_nb
7963 $_def_amr_nb_fixed
7964 $_def_amr_wb
7966 /* Use specific parts from FFmpeg. */
7967 `ff_config_enable "$_libavdecoders_all" "$_libavdecoders"`
7968 `ff_config_enable "$_libavencoders_all" "$_libavencoders"`
7969 `ff_config_enable "$_libavparsers_all" "$_libavparsers"`
7970 `ff_config_enable "$_libavdemuxers_all" "$_libavdemuxers"`
7971 `ff_config_enable "$_libavmuxers_all" "$_libavmuxers"`
7973 $_def_lavc_faac
7974 $_def_lavc_xvid
7975 $_def_lavc_mp3lame
7976 $_def_lavc_x264
7978 /* Use codec libs included in mplayer CVS / source dist: */
7979 $_def_mp3lib
7980 $_def_liba52
7981 $_def_libdts
7982 $_def_libmpeg2
7984 /* XAnim DLL support */
7985 $_def_xanim
7986 /* Default search path */
7987 $_def_xanim_path
7989 /* RealPlayer DLL support */
7990 $_def_real
7991 /* Default search path */
7992 $_def_real_path
7994 /* LIVE555 Streaming Media library support */
7995 $_def_live
7997 /* Use 3dnow/mmxext/sse/mmx optimized fast memcpy() [maybe buggy... signal 4]*/
7998 $_def_fastmemcpy
8000 /* Use unrarlib for Vobsubs */
8001 $_def_unrarlib
8003 /* gui support, please do not edit this option */
8004 $_def_gui
8005 $_def_gtk2_gui
8007 /* Audio output drivers */
8008 $_def_ossaudio
8009 $_def_ossaudio_devdsp
8010 $_def_ossaudio_devmixer
8011 $_def_alsa5
8012 $_def_alsa9
8013 $_def_alsa1x
8014 $_def_arts
8015 $_def_esd
8016 $_def_esd_latency
8017 $_def_polyp
8018 $_def_jack
8019 $_def_openal
8020 $_def_openal_h
8021 $_def_sys_asoundlib_h
8022 $_def_alsa_asoundlib_h
8023 $_def_sunaudio
8024 $_def_sgiaudio
8025 $_def_win32waveout
8026 $_def_nas
8028 /* Enable fast OSD/SUB renderer (looks ugly, but uses less CPU power) */
8029 #undef FAST_OSD
8030 #undef FAST_OSD_TABLE
8032 /* Enable TV Interface support */
8033 $_def_tv
8035 /* Enable Video 4 Linux TV interface support */
8036 $_def_tv_v4l
8038 /* Enable Video 4 Linux 1 TV interface support */
8039 $_def_tv_v4l1
8041 /* Enable Video 4 Linux 2 TV interface support */
8042 $_def_tv_v4l2
8044 /* Enable *BSD BrookTree TV interface support */
8045 $_def_tv_bsdbt848
8047 /* Enable Radio Interface support */
8048 $_def_radio
8050 /* Enable Capture for Radio Interface support */
8051 $_def_radio_capture
8053 /* Enable Video 4 Linux Radio interface support */
8054 $_def_radio_v4l
8056 /* Enable Video 4 Linux 2 Radio interface support */
8057 $_def_radio_v4l2
8059 /* Enable *BSD BrookTree Radio interface support */
8060 $_def_radio_bsdbt848
8062 /* Enable Video 4 Linux 2 MPEG PVR support */
8063 $_def_pvr
8065 /* Define if your processor stores words with the most significant
8066 byte first (like Motorola and SPARC, unlike Intel and VAX). */
8067 $_def_words_endian
8069 $_def_arch
8070 $_def_arch_x86
8072 /* For the PPC. G5 has the dcbzl when in 64bit mode but G4s and earlier do not
8073 have the instruction. */
8074 $_def_dcbzl
8076 /* libmpeg2 wants ARCH_PPC and the rest of mplayer use ARCH_POWERPC,
8077 * define ARCH_PPC if ARCH_POWERPC is set to cope with that.
8079 #ifdef ARCH_POWERPC
8080 #define ARCH_PPC 1
8081 #endif
8083 /* the same issue as with ARCH_POWERPC but with ffmpeg/libavcodec */
8084 #ifdef ARCH_ARMV4L
8085 #define ARCH_ARM 1
8086 #endif
8088 /* only gcc3 can compile mvi instructions */
8089 $_def_gcc_mvi_support
8091 /* Define this for Cygwin build for win32 */
8092 $_def_confwin32
8094 /* Define this to any prefered value from 386 up to infinity with step 100 */
8095 #define __CPU__ $iproc
8097 $_mp_wordsize
8099 $_def_linux
8101 $_def_vcd
8103 #ifdef sun
8104 #define DEFAULT_CDROM_DEVICE "/vol/dev/aliases/cdrom0"
8105 #define DEFAULT_DVD_DEVICE DEFAULT_CDROM_DEVICE
8106 #elif defined(HPUX)
8107 #define DEFAULT_CDROM_DEVICE "/dev/cdrom"
8108 #define DEFAULT_DVD_DEVICE "/dev/dvd"
8109 #elif defined(WIN32)
8110 #define DEFAULT_CDROM_DEVICE "D:"
8111 #define DEFAULT_DVD_DEVICE "D:"
8112 #elif defined(SYS_DARWIN)
8113 #define DEFAULT_CDROM_DEVICE "/dev/disk1"
8114 #define DEFAULT_DVD_DEVICE "/dev/rdiskN"
8115 #elif defined(__OpenBSD__)
8116 #define DEFAULT_CDROM_DEVICE "/dev/rcd0a"
8117 #define DEFAULT_DVD_DEVICE DEFAULT_CDROM_DEVICE
8118 #elif defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
8119 #define DEFAULT_CDROM_DEVICE "/dev/acd0"
8120 #define DEFAULT_DVD_DEVICE DEFAULT_CDROM_DEVICE
8121 #else
8122 #define DEFAULT_CDROM_DEVICE "/dev/cdrom"
8123 #define DEFAULT_DVD_DEVICE "/dev/dvd"
8124 #endif
8127 /*----------------------------------------------------------------------------
8129 ** NOTE: Instead of modifying these definitions here, use the
8130 ** --enable/--disable options of the ./configure script!
8131 ** See ./configure --help for details.
8133 *---------------------------------------------------------------------------*/
8135 /* C99 lrintf function available */
8136 $_def_lrintf
8138 /* round function is available */
8139 $_def_round
8141 /* yes, we have inttypes.h */
8142 #define HAVE_INTTYPES_H 1
8144 /* int_fastXY_t emulation */
8145 $_def_fast_inttypes
8147 /* nanosleep support */
8148 $_def_nanosleep
8150 /* SMB support */
8151 $_def_smbsupport
8153 /* termcap flag for getch2.c */
8154 $_def_termcap
8156 /* termios flag for getch2.c */
8157 $_def_termios
8158 $_def_termios_h
8159 $_def_termios_sys_h
8161 /* enable PNG support */
8162 $_def_png
8164 /* enable JPEG support */
8165 $_def_jpeg
8167 /* enable PNM support */
8168 $_def_pnm
8170 /* enable md5sum support */
8171 $_def_md5sum
8173 /* enable GIF support */
8174 $_def_gif
8175 $_def_gif_4
8176 $_def_gif_tvt_hack
8178 /* enable bitmap font support */
8179 $_def_bitmap_font
8181 /* enable FreeType support */
8182 $_def_freetype
8184 /* enable Fontconfig support */
8185 $_def_fontconfig
8187 /* enable SSA/ASS support */
8188 $_def_ass
8190 /* enable FriBiDi usage */
8191 $_def_fribidi
8193 /* enable ENCA usage */
8194 $_def_enca
8196 /* liblzo support */
8197 $_def_liblzo
8198 #ifdef USE_LIBLZO
8199 #define CONFIG_LZO 1
8200 #endif
8202 /* libmad support */
8203 $_def_mad
8205 /* enable OggVorbis support */
8206 $_def_vorbis
8207 $_def_tremor
8209 /* enable Speex support */
8210 $_def_speex
8212 /* enable musepack support */
8213 $_def_musepack
8215 /* enable OggTheora support */
8216 $_def_theora
8218 /* enable FAAD (AAC) support */
8219 $_def_faad
8220 $_def_faad_internal
8222 /* enable FAAC (AAC encoder) support */
8223 $_def_faac
8225 /* enable LADSPA plugin support */
8226 $_def_ladspa
8228 /* enable network */
8229 $_def_network
8231 /* enable ftp support */
8232 $_def_ftp
8234 /* enable vstream support */
8235 $_def_vstream
8237 /* enable winsock2 instead of Unix functions*/
8238 $_def_winsock2
8240 /* define this to use inet_aton() instead of inet_pton() */
8241 $_def_use_aton
8243 /* enables / disables cdparanoia support */
8244 $_def_cdparanoia
8245 $_def_cddb
8247 /* enables / disables VIDIX usage */
8248 $_def_vidix
8249 $_def_vidix_pfx
8251 /* enables / disables new input joystick support */
8252 $_def_joystick
8254 /* enables / disables QTX codecs */
8255 $_def_qtx
8257 /* enables / disables osd menu */
8258 $_def_menu
8260 /* enables / disables subtitles sorting */
8261 $_def_sortsub
8263 /* XMMS input plugin support */
8264 $_def_xmms
8265 #define XMMS_INPUT_PLUGIN_DIR "$_xmmsplugindir"
8267 /* enables inet6 support */
8268 $_def_inet6
8270 /* do we have gethostbyname2? */
8271 $_def_gethostbyname2
8273 /* Extension defines */
8274 $_def_3dnow // only define if you have 3DNOW (AMD k6-2, AMD Athlon, iDT WinChip, etc.)
8275 $_def_3dnowext // only define if you have 3DNOWEXT (AMD Athlon, etc.)
8276 $_def_mmx // only define if you have MMX (newer x86 chips, not P54C/PPro)
8277 $_def_mmxext // only define if you have MMX2 (Athlon/PIII/4/CelII)
8278 $_def_sse // only define if you have SSE (Intel Pentium III/4 or Celeron II)
8279 $_def_sse2 // only define if you have SSE2 (Intel Pentium 4)
8280 $_def_cmov // only define if you have CMOV (i686+, without VIA C3)
8281 $_def_altivec // only define if you have Altivec (G4)
8282 $_def_armv5te // only define if you have Enhanced DSP Extensions (ARM)
8283 $_def_iwmmxt // only define if you have XScale IWMMX (ARM)
8285 $_def_altivec_h // enables usage of altivec.h
8287 $_def_mlib // Sun mediaLib, available only on solaris
8288 $_def_vis // only define if you have VIS ( ultrasparc )
8290 /* libmpeg2 uses a different feature test macro for mediaLib */
8291 #ifdef HAVE_MLIB
8292 #define LIBMPEG2_MLIB 1
8293 #endif
8295 /* libvo options */
8296 #define SCREEN_SIZE_X 1
8297 #define SCREEN_SIZE_Y 1
8298 $_def_x11
8299 $_def_xv
8300 $_def_xvmc
8301 $_def_vm
8302 $_def_xf86keysym
8303 $_def_xinerama
8304 $_def_gl
8305 $_def_gl_win32
8306 $_def_dga
8307 $_def_dga2
8308 $_def_sdl
8309 /* defined for SDLlib with keyrepeat bugs (before 1.2.1) */
8310 $_def_sdlbuggy
8311 $_def_directx
8312 $_def_ggi
8313 $_def_ggiwmh
8314 $_def_3dfx
8315 $_def_s3fb
8316 $_def_tdfxfb
8317 $_def_tdfxvid
8318 $_def_directfb
8319 $_def_directfb_version
8320 $_def_dfbmga
8321 $_def_zr
8322 $_def_bl
8323 $_def_mga
8324 $_def_xmga
8325 $_def_syncfb
8326 $_def_fbdev
8327 $_def_dxr2
8328 $_def_dxr3
8329 $_def_ivtv
8330 $_def_dvb
8331 $_def_dvb_in
8332 $_def_svga
8333 $_def_vesa
8334 $_def_xdpms
8335 $_def_aa
8336 $_def_caca
8337 $_def_tga
8338 $_def_toolame
8339 $_def_twolame
8341 /* used by GUI: */
8342 $_def_xshape
8344 #if defined(HAVE_GL) || defined(HAVE_X11) || defined(HAVE_XV)
8345 #define X11_FULLSCREEN 1
8346 #endif
8348 #endif /* MPLAYER_CONFIG_H */
8351 #############################################################################
8353 cat << EOF
8355 Config files successfully generated by ./configure !
8357 Install prefix: $_prefix
8358 Data directory: $_datadir
8359 Config direct.: $_confdir
8361 Byte order: $_byte_order
8362 Optimizing for: $_optimizing
8364 Languages:
8365 Messages/GUI: $_language
8368 echo ${_echo_n} " Manual pages: $MAN_LANG ${_echo_c}"
8369 test "$LANGUAGES" = en && echo ${_echo_n} " (no localization selected, use --language=all)${_echo_c}"
8370 echo
8372 cat << EOF
8374 Enabled optional drivers:
8375 Input: $_inputmodules
8376 Codecs: $_codecmodules
8377 Audio output: $_aomodules
8378 Video output: $_vomodules
8379 Audio filters: $_afmodules
8380 Disabled optional drivers:
8381 Input: $_noinputmodules
8382 Codecs: $_nocodecmodules
8383 Audio output: $_noaomodules
8384 Video output: $_novomodules
8385 Audio filters: $_noafmodules
8387 'config.h' and 'config.mak' contain your configuration options.
8388 Note: If you alter theses files (for instance CFLAGS) MPlayer may no longer
8389 compile *** DO NOT REPORT BUGS if you tweak these files ***
8391 'make' will now compile MPlayer and 'make install' will install it.
8392 Note: On non-Linux systems you might need to use 'gmake' instead of 'make'.
8397 if test "$_mtrr" = yes ; then
8398 echo "Please check mtrr settings at /proc/mtrr (see DOCS/HTML/$_doc_lang/video.html#mtrr)"
8399 echo
8402 if not x86_32; then
8403 cat <<EOF
8404 NOTE: Win32 codec DLLs are not supported on your CPU ($host_arch) or your
8405 operating system ($system_name). You may encounter a few files that cannot
8406 be played due to missing open source video/audio codec support.
8412 cat <<EOF
8413 Check $TMPLOG if you wonder why an autodetection failed (make sure
8414 development headers/packages are installed).
8416 NOTE: The --enable-* parameters unconditionally force options on, completely
8417 skipping autodetection. This behavior is unlike what you may be used to from
8418 autoconf-based configure scripts that can decide to override you. This greater
8419 level of control comes at a price. You may have to provide the correct compiler
8420 and linker flags yourself.
8421 If you used one of these options (except --enable-gui and similar ones that
8422 turn on internal features) and experience a compilation or linking failure,
8423 make sure you have passed the necessary compiler/linker flags to configure.
8425 If you suspect a bug, please read DOCS/HTML/$_doc_lang/bugreports.html.
8429 if test "$_warn_CFLAGS" = yes; then
8430 cat <<EOF
8432 MPlayer compilation will use the CPPFLAGS/CFLAGS/LDFLAGS set by you, but:
8434 *** *** DO NOT REPORT BUGS IF IT DOES NOT COMPILE/WORK! *** ***
8436 It is strongly recommended to let MPlayer choose the correct CFLAGS!
8437 To do so, execute 'CFLAGS= ./configure <options>'
8442 # Last move:
8443 rm -f "$TMPO" "$TMPC" "$TMPS" "$TMPCPP"