support for new ivtv api
[mplayer/glamo.git] / configure
blobfefe23c89a50ed645ea481f6b260fda61e6f393f
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 3.4 and up supports 440*
1941 if test "$_cc_major" -ge "3" && test "$_cc_minor" -ge "4" || test "$_cc_major" -ge "4"; then
1942 case "$proc" in
1943 440EP*) _march='-mcpu=440fp' _mcpu='-mtune=440fp' ;;
1944 440G* ) _march='-mcpu=440' _mcpu='-mtune=440' ;;
1945 *) ;;
1946 esac
1948 # gcc 4.0 and up supports POWER5
1949 if test "$_cc_major" -ge "4"; then
1950 case "$proc" in
1951 POWER5*) _march='-mcpu=power5' _mcpu='-mtune=power5' ;;
1952 *) ;;
1953 esac
1957 if test -n "$_mcpu"; then
1958 _optimizing=`echo $_mcpu | cut -c 8-`
1959 echores "$_optimizing"
1960 else
1961 echores "none"
1966 alpha)
1967 _def_arch='#define ARCH_ALPHA 1'
1968 _target_arch='TARGET_ARCH_ALPHA = yes'
1969 iproc='alpha'
1970 _march=''
1972 echocheck "CPU type"
1973 cat > $TMPC << EOF
1974 int main() {
1975 unsigned long ver, mask;
1976 asm ("implver %0" : "=r" (ver));
1977 asm ("amask %1, %0" : "=r" (mask) : "r" (-1));
1978 printf("%ld-%x\n", ver, ~mask);
1979 return 0;
1982 $_cc -o "$TMPO" "$TMPC"
1983 case `"$TMPO"` in
1985 0-0) proc="ev4"; cpu_understands_mvi="0";;
1986 1-0) proc="ev5"; cpu_understands_mvi="0";;
1987 1-1) proc="ev56"; cpu_understands_mvi="0";;
1988 1-101) proc="pca56"; cpu_understands_mvi="1";;
1989 2-303) proc="ev6"; cpu_understands_mvi="1";;
1990 2-307) proc="ev67"; cpu_understands_mvi="1";;
1991 2-1307) proc="ev68"; cpu_understands_mvi="1";;
1992 esac
1993 echores "$proc"
1995 echocheck "GCC & CPU optimization abilities"
1996 if test "$proc" = "ev68" ; then
1997 cc_check -mcpu=$proc || proc=ev67
1999 if test "$proc" = "ev67" ; then
2000 cc_check -mcpu=$proc || proc=ev6
2002 _mcpu="-mcpu=$proc"
2003 echores "$proc"
2005 _optimizing="$proc"
2007 echocheck "MVI instruction support in GCC"
2008 if test "$_cc_major" -ge "3" && test "$cpu_understands_mvi" = "1" ; then
2009 _def_gcc_mvi_support="#define CAN_COMPILE_ALPHA_MVI 1"
2010 echores "yes"
2011 else
2012 _def_gcc_mvi_support="#undef CAN_COMPILE_ALPHA_MVI"
2013 echores "no, GCC = `$_cc -dumpversion 2>&1` (must be >= 3), CPU = $proc (must be pca56 or later)"
2017 mips)
2018 _def_arch='#define ARCH_SGI_MIPS 1'
2019 _target_arch='TARGET_ARCH_SGI_MIPS = yes'
2020 iproc='sgi-mips'
2021 proc=''
2022 _march=''
2023 _mcpu=''
2024 _optimizing=''
2026 if irix ; then
2027 echocheck "CPU type"
2028 proc=`hinv -c processor | grep CPU | cut -d " " -f3`
2029 case "`echo $proc`" in
2030 R3000) _march='-mips1' _mcpu='-mtune=r2000' ;;
2031 R4000) _march='-mips3' _mcpu='-mtune=r4000' ;;
2032 R4400) _march='-mips3' _mcpu='-mtune=r4400' ;;
2033 R4600) _march='-mips3' _mcpu='-mtune=r4600' ;;
2034 R5000) _march='-mips4' _mcpu='-mtune=r5000' ;;
2035 R8000|R10000|R12000|R14000|R16000) _march='-mips4' _mcpu='-mtune=r8000' ;;
2036 esac
2037 # gcc < 3.x does not support -mtune.
2038 if test "$cc_vendor" = "gnu" && test "$_cc_major" -lt 3 ; then
2039 _mcpu=''
2041 echores "$proc"
2046 hppa)
2047 _def_arch='#define ARCH_PA_RISC 1'
2048 _target_arch='TARGET_ARCH_PA_RISC = yes'
2049 iproc='PA-RISC'
2050 proc=''
2051 _march=''
2052 _mcpu=''
2053 _optimizing=''
2056 s390)
2057 _def_arch='#define ARCH_S390 1'
2058 _target_arch='TARGET_ARCH_S390 = yes'
2059 iproc='390'
2060 proc=''
2061 _march=''
2062 _mcpu=''
2063 _optimizing=''
2066 s390x)
2067 _def_arch='#define ARCH_S390X 1'
2068 _target_arch='TARGET_ARCH_S390X = yes'
2069 iproc='390x'
2070 proc=''
2071 _march=''
2072 _mcpu=''
2073 _optimizing=''
2076 vax)
2077 _def_arch='#define ARCH_VAX 1'
2078 _target_arch='TARGET_ARCH_VAX = yes'
2079 iproc='vax'
2080 proc=''
2081 _march=''
2082 _mcpu=''
2083 _optimizing=''
2086 generic)
2087 _def_arch='#define ARCH_GENERIC 1'
2088 _target_arch='TARGET_ARCH_GENERIC = yes'
2089 iproc=''
2090 proc=''
2091 _march=''
2092 _mcpu=''
2093 _optimizing=''
2097 echo "The architecture of your CPU ($host_arch) is not supported by this configure script"
2098 echo "It seems nobody has ported MPlayer to your OS or CPU type yet."
2099 die "unsupported architecture $host_arch"
2101 esac # case "$host_arch" in
2103 if test "$_runtime_cpudetection" = yes ; then
2104 if x86 ; then
2105 _cmov=yes
2106 x86_32 && _cmov=no
2107 _mmx=yes
2108 _3dnow=yes
2109 _3dnowext=yes
2110 _mmxext=yes
2111 _sse=yes
2112 _sse2=yes
2113 _mtrr=yes
2115 if ppc; then
2116 _altivec=yes
2120 if x86 && test "$_runtime_cpudetection" = no ; then
2121 extcheck() {
2122 if test "$1" = kernel_check ; then
2123 echocheck "kernel support of $2"
2124 cat > $TMPC <<EOF
2125 #include <signal.h>
2126 void catch() { exit(1); }
2127 int main(void){
2128 signal(SIGILL, catch);
2129 __asm__ __volatile__ ("$3":::"memory");return(0);
2133 if cc_check && tmp_run ; then
2134 eval _$2=yes
2135 echores "yes"
2136 _optimizing="$_optimizing $2"
2137 return 0
2138 else
2139 eval _$2=no
2140 echores "failed"
2141 echo "It seems that your kernel does not correctly support $2."
2142 echo "To use $2 extensions in MPlayer, you have to upgrade/recompile your kernel!"
2143 return 1
2146 return 0
2149 extcheck $_mmx "mmx" "emms"
2150 extcheck $_mmxext "mmxext" "sfence"
2151 extcheck $_3dnow "3dnow" "femms"
2152 extcheck $_3dnowext "3dnowext" "pswapd %%mm0, %%mm0"
2153 extcheck $_sse "sse" "xorps %%xmm0, %%xmm0" || _gcc3_ext="$_gcc3_ext -mno-sse"
2154 extcheck $_sse2 "sse2" "xorpd %%xmm0, %%xmm0" || _gcc3_ext="$_gcc3_ext -mno-sse2"
2155 extcheck $_cmov "cmov" "cmovb %%eax,%%ebx"
2157 echocheck "mtrr support"
2158 if test "$_mtrr" = kernel_check ; then
2159 _mtrr="yes"
2160 _optimizing="$_optimizing mtrr"
2162 echores "$_mtrr"
2164 if test "$_gcc3_ext" != ""; then
2165 # if we had to disable sse/sse2 because the active kernel does not
2166 # support this instruction set extension, we also have to tell
2167 # gcc3 to not generate sse/sse2 instructions for normal C code
2168 cat > $TMPC << EOF
2169 int main(void) { return 0; }
2171 cc_check $_march $_gcc3_ext && _march="$_march $_gcc3_ext"
2177 echocheck "assembler support of -pipe option"
2178 cat > $TMPC << EOF
2179 int main(void) { return 0; }
2181 cc_check -pipe && _pipe="-pipe" && echores "yes" || echores "no"
2184 echocheck "compiler support of named assembler arguments"
2185 _named_asm_args=yes
2186 _def_named_asm_args="#define NAMED_ASM_ARGS 1"
2187 if test "$cc_vendor" = "gnu" && test "$_cc_major" -lt 3 \
2188 -o "$_cc_major" -eq 3 -a "$_cc_minor" = 0 ; then
2189 _named_asm_args=no
2190 _def_named_asm_args="#undef NAMED_ASM_ARGS"
2192 echores $_named_asm_args
2195 # Checking for CFLAGS
2196 _stripbinaries=yes
2197 if test "$_profile" != "" || test "$_debug" != "" ; then
2198 CFLAGS="-W -Wall -O2 $_march $_mcpu $_debug $_profile"
2199 if test "$_cc_major" -ge "3" ; then
2200 CFLAGS=`echo "$CFLAGS" | sed -e 's/\(-Wall\)/\1 -Wno-unused-parameter/'`
2202 _stripbinaries=no
2203 elif test -z "$CFLAGS" ; then
2204 if test "$cc_vendor" = "intel" ; then
2205 CFLAGS="-O2 $_march $_mcpu $_pipe -fomit-frame-pointer"
2206 elif test "$cc_vendor" != "gnu" ; then
2207 CFLAGS="-O2 $_march $_mcpu $_pipe"
2208 else
2209 CFLAGS="-O4 $_march $_mcpu $_pipe -ffast-math -fomit-frame-pointer"
2211 else
2212 _warn_CFLAGS=yes
2214 if test -n "$LDFLAGS" ; then
2215 _ld_extra="$_ld_extra $LDFLAGS"
2216 _warn_CFLAGS=yes
2217 elif test "$cc_vendor" = "intel" ; then
2218 _ld_extra="$_ld_extra -i-static"
2220 if test -n "$CPPFLAGS" ; then
2221 _inc_extra="$_inc_extra $CPPFLAGS"
2222 _warn_CFLAGS=yes
2227 if x86_32 ; then
2228 # Checking assembler (_as) compatibility...
2229 # Added workaround for older as that reads from stdin by default - atmos
2230 as_version=`echo '' | $_as -version 2>&1 | sed -n 's/^.*assembler \(version \)*\([0-9.]*\).*$/\2/p'`
2231 echocheck "assembler ($_as $as_version)"
2233 _pref_as_version='2.9.1'
2234 echo 'nop' > $TMPS
2235 if test "$_mmx" = yes ; then
2236 echo 'emms' >> $TMPS
2238 if test "$_3dnow" = yes ; then
2239 _pref_as_version='2.10.1'
2240 echo 'femms' >> $TMPS
2242 if test "$_3dnowext" = yes ; then
2243 _pref_as_version='2.10.1'
2244 echo 'pswapd %mm0, %mm0' >> $TMPS
2246 if test "$_mmxext" = yes ; then
2247 _pref_as_version='2.10.1'
2248 echo 'movntq %mm0, (%eax)' >> $TMPS
2250 if test "$_sse" = yes ; then
2251 _pref_as_version='2.10.1'
2252 echo 'xorps %xmm0, %xmm0' >> $TMPS
2254 #if test "$_sse2" = yes ; then
2255 # _pref_as_version='2.11'
2256 # echo 'xorpd %xmm0, %xmm0' >> $TMPS
2258 if test "$_cmov" = yes ; then
2259 _pref_as_version='2.10.1'
2260 echo 'cmovb %eax, %ebx' >> $TMPS
2262 $_as $TMPS -o $TMPO > /dev/null 2>&1 || as_verc_fail=yes
2264 if test "$as_verc_fail" != yes ; then
2265 echores "ok"
2266 else
2267 _res_comment="Upgrade binutils to ${_pref_as_version} ..."
2268 echores "failed"
2269 die "obsolete binutils version"
2272 fi #if x86_32
2274 echocheck ".align is a power of two"
2275 if test "$_asmalign_pot" = auto ; then
2276 _asmalign_pot=no
2277 cat > $TMPC << EOF
2278 main() { asm (".align 3"); }
2280 cc_check && _asmalign_pot=yes
2282 if test "$_asmalign_pot" = "yes" ; then
2283 _def_asmalign_pot='#define ASMALIGN(ZEROBITS) ".align " #ZEROBITS "\n\t"'
2284 else
2285 _def_asmalign_pot='#define ASMALIGN(ZEROBITS) ".align 1<<" #ZEROBITS "\n\t"'
2287 echores $_asmalign_pot
2290 #FIXME: This should happen before the check for CFLAGS..
2291 if ppc ; then
2293 # check if altivec is supported by the compiler, and how to enable it
2295 _altivec_gcc_flags=''
2297 if test "$_altivec" = yes -o "$_runtime_cpudetection" = yes ; then
2298 echocheck "GCC altivec support"
2300 p=''
2301 cat > $TMPC << EOF
2302 int main() {
2303 return 0;
2306 FSF_flags='-maltivec -mabi=altivec'
2307 Darwin_flags='-faltivec -D__APPLE_ALTIVEC__'
2309 # check for Darwin-style flags first, since
2310 # gcc-3.3 (August Update from Apple) on MacOS 10.2.8
2311 # accepts but ignores FSF-style flags...
2313 if test -z "$p"; then
2314 cc_check $Darwin_flags && p='Darwin'
2316 if test -z "$p"; then
2317 cc_check $FSF_flags && p='FSF'
2320 case $p in
2321 FSF) _altivec_gcc_flags="$FSF_flags" _altivec=yes ;;
2322 Darwin) _altivec_gcc_flags="$Darwin_flags" _altivec=yes ;;
2323 *) _altivec=no ;;
2324 esac
2326 if test -z "$p"; then
2327 p=none
2328 else
2329 p="$p-style ($_altivec_gcc_flags)"
2332 echores "$p"
2335 # check if <altivec.h> should be included
2337 _def_altivec_h='#undef HAVE_ALTIVEC_H'
2339 if test "$_altivec" = yes ; then
2340 echocheck "altivec.h"
2341 cat > $TMPC << EOF
2342 #include <altivec.h>
2343 int main(void) { return 0; }
2345 _have_altivec_h=no
2346 cc_check $_altivec_gcc_flags && _have_altivec_h=yes
2347 if test "$_have_altivec_h" = yes ; then
2348 _def_altivec_h='#define HAVE_ALTIVEC_H 1'
2350 echores "$_have_altivec_h"
2353 # disable runtime cpudetection if
2354 # - we cannot generate altivec code
2355 # - altivec is disabled by the user
2357 if test "$_runtime_cpudetection" = yes -a "$_altivec" = no ; then
2358 _runtime_cpudetection=no
2361 # show that we are optimizing for altivec (if enabled and supported)
2363 if test "$_runtime_cpudetection" = no -a "$_altivec" = yes ; then
2364 _optimizing="$_optimizing altivec"
2367 # if altivec is enabled, make sure the correct flags turn up in CFLAGS
2369 if test "$_altivec" = yes ; then
2370 #FIXME: _mcpu is used for CFLAGS, this needs to be set earlier
2371 #_mcpu="$_mcpu $_altivec_gcc_flags"
2372 CFLAGS="$CFLAGS $_altivec_gcc_flags"
2375 # setup _def_altivec correctly
2377 if test "$_altivec" = yes ; then
2378 _def_altivec='#define HAVE_ALTIVEC 1'
2379 else
2380 _def_altivec='#undef HAVE_ALTIVEC'
2384 if arm ; then
2385 echocheck "ARMv5TE (Enhanced DSP Extensions)"
2386 if test $_armv5te = "auto" ; then
2387 cat > $TMPC << EOF
2388 int main(void) {
2389 __asm__ __volatile__ ("qadd r0, r0, r0");
2392 _armv5te=no
2393 cc_check && _armv5te=yes
2395 echores "$_armv5te"
2397 echocheck "iWMMXt (Intel XScale SIMD instructions)"
2398 if test $_iwmmxt = "auto" ; then
2399 cat > $TMPC << EOF
2400 int main(void) {
2401 __asm__ __volatile__ ("wunpckelub wr6, wr4");
2404 _iwmmxt=no
2405 cc_check && _iwmmxt=yes
2407 echores "$_iwmmxt"
2410 _def_mmx='#undef HAVE_MMX'
2411 test "$_mmx" = yes && _def_mmx='#define HAVE_MMX 1'
2412 _def_mmxext='#undef HAVE_MMX2'
2413 test "$_mmxext" = yes && _def_mmxext='#define HAVE_MMX2 1'
2414 _def_3dnow='#undef HAVE_3DNOW'
2415 test "$_3dnow" = yes && _def_3dnow='#define HAVE_3DNOW 1'
2416 _def_3dnowext='#undef HAVE_3DNOWEX'
2417 test "$_3dnowext" = yes && _def_3dnowext='#define HAVE_3DNOWEX 1'
2418 _def_sse='#undef HAVE_SSE'
2419 test "$_sse" = yes && _def_sse='#define HAVE_SSE 1'
2420 _def_sse2='#undef HAVE_SSE2'
2421 test "$_sse2" = yes && _def_sse2='#define HAVE_SSE2 1'
2422 _def_cmov='#undef HAVE_CMOV'
2423 test "$_cmov" = yes && _def_cmov='#define HAVE_CMOV 1'
2424 _def_armv5te='#undef HAVE_ARMV5TE'
2425 test "$_armv5te" = yes && _def_armv5te='#define HAVE_ARMV5TE 1'
2426 _def_iwmmxt='#undef HAVE_IWMMXT'
2427 test "$_iwmmxt" = yes && _def_iwmmxt='#define HAVE_IWMMXT 1'
2429 # Checking kernel version...
2430 if x86_32 && linux ; then
2431 _k_verc_problem=no
2432 kernel_version=`uname -r 2>&1`
2433 echocheck "$system_name kernel version"
2434 case "$kernel_version" in
2435 '') kernel_version="?.??"; _k_verc_fail=yes;;
2436 [0-1].[0-9].[0-9]*|2.[0-3].[0-9]*)
2437 _k_verc_problem=yes;;
2438 esac
2439 if test "$_k_verc_problem" = yes && test "$_sse" = yes ; then
2440 _k_verc_fail=yes
2442 if test "$_k_verc_fail" ; then
2443 echores "$kernel_version, fail"
2444 echo "WARNING! If you want to run MPlayer on this system, get prepared for problems!"
2445 echo "2.2.x has limited SSE support. Upgrade the kernel or use --disable-sse if you"
2446 echo "experience crashes. MPlayer tries to autodetect if your kernel correctly"
2447 echo "supports SSE, but you have been warned! If you are using a kernel older than"
2448 echo "2.2.x you must upgrade it to get SSE support!"
2449 # die "Your kernel is too old for this CPU." # works fine on some 2.2.x so don't die (later check will test)
2450 else
2451 echores "$kernel_version, ok"
2455 if test "$_vidix_internal" = auto ; then
2456 _vidix_internal=no
2457 # should check for x86 systems supporting VIDIX (does QNX have VIDIX?)
2458 x86 && _vidix_internal=yes
2459 ppc && linux && _vidix_internal=yes
2460 alpha && linux && _vidix_internal=yes
2461 qnx && _vidix_internal=no
2462 sunos && _vidix_internal=no
2463 beos && _vidix_internal=no
2464 darwin && _vidix_internal=no
2468 # On QNX we must link to libph - Gabucino
2469 if qnx ; then
2470 _ld_extra="$_ld_extra -lph"
2473 # checking for a working awk, I'm using mawk first, because it's fastest - atmos
2474 _awk=
2475 if test "$_vidix_internal" = yes ; then
2476 _awk_verc_fail=yes
2477 echocheck "awk"
2478 for _awk in mawk gawk nawk awk; do
2479 if ( $_awk 'BEGIN{testme();}function testme(){print"";}' ) >> "$TMPLOG" 2>&1; then
2480 _awk_verc_fail=no
2481 break
2483 done
2484 test "$_awk_verc_fail" = yes && _awk=no
2485 echores "$_awk"
2486 if test "$_awk_verc_fail" = yes; then
2487 echo "VIDIX needs awk, but no working implementation was found!"
2488 echo "Try the GNU version, which can be downloaded from:"
2489 echo "ftp://ftp.gnu.org/gnu/gawk/"
2490 echo "If you don't need VIDIX, you can use configure --disable-vidix instead."
2491 die "no awk"
2495 ######################
2496 # MAIN TESTS GO HERE #
2497 ######################
2500 echocheck "extra headers"
2501 if test "$_inc_extra" ; then
2502 echores "$_inc_extra"
2503 else
2504 echores "none"
2508 echocheck "extra libs"
2509 if test "$_ld_extra" ; then
2510 echores "$_ld_extra"
2511 else
2512 echores "none"
2515 echocheck "-lposix"
2516 cat > $TMPC <<EOF
2517 int main(void) { return 0; }
2519 if cc_check -lposix ; then
2520 _ld_extra="$_ld_extra -lposix"
2521 echores "yes"
2522 else
2523 echores "no"
2526 echocheck "-lm"
2527 cat > $TMPC <<EOF
2528 int main(void) { return 0; }
2530 if cc_check -lm ; then
2531 _ld_lm="-lm"
2532 echores "yes"
2533 else
2534 _ld_lm=""
2535 echores "no"
2539 echocheck "langinfo"
2540 if test "$_langinfo" = auto ; then
2541 cat > $TMPC <<EOF
2542 #include <langinfo.h>
2543 int main(void) { nl_langinfo(CODESET); return 0; }
2545 _langinfo=no
2546 cc_check && _langinfo=yes
2548 if test "$_langinfo" = yes ; then
2549 _def_langinfo='#define USE_LANGINFO 1'
2550 else
2551 _def_langinfo='#undef USE_LANGINFO'
2553 echores "$_langinfo"
2556 echocheck "language"
2557 test -z "$_language" && _language=$LINGUAS
2558 _language=`echo $_language | sed 's/,/ /g'`
2559 echo $_language | grep all > /dev/null || LANGUAGES="$_language en"
2560 for lang in $_language ; do
2561 test "$lang" = all && lang=en
2562 if test -f "help/help_mp-${lang}.h" ; then
2563 _language=$lang
2564 break
2565 else
2566 echo ${_echo_n} "$lang not found, ${_echo_c}"
2567 _language=`echo $_language | sed "s/$lang *//"`
2569 done
2570 test -z "$_language" && _language=en
2571 _mp_help="help/help_mp-${_language}.h"
2572 test -f $_mp_help || die "$_mp_help not found"
2573 for lang in $LANGUAGES ; do
2574 if test -f "DOCS/man/$lang/mplayer.1" ; then
2575 MAN_LANG="$lang $MAN_LANG"
2577 done
2578 _doc_lang=$_language
2579 test -d DOCS/xml/$_doc_lang || _doc_lang=en
2580 echores "using $_language (man pages: $MAN_LANG)"
2583 echocheck "enable sighandler"
2584 if test "$_sighandler" = yes ; then
2585 _def_sighandler='#define ENABLE_SIGHANDLER 1'
2586 else
2587 _def_sighandler='#undef ENABLE_SIGHANDLER'
2589 echores "$_sighandler"
2591 echocheck "runtime cpudetection"
2592 if test "$_runtime_cpudetection" = yes ; then
2593 _optimizing="Runtime CPU-Detection enabled"
2594 _def_runtime_cpudetection='#define RUNTIME_CPUDETECT 1'
2595 else
2596 _def_runtime_cpudetection='#undef RUNTIME_CPUDETECT'
2598 echores "$_runtime_cpudetection"
2601 echocheck "restrict keyword"
2602 for restrict_keyword in restrict __restrict __restrict__ ; do
2603 echo "void foo(char * $restrict_keyword p); int main(){}" > $TMPC
2604 if cc_check; then
2605 _def_restrict_keyword=$restrict_keyword
2606 break;
2608 done
2609 if [ -n "$_def_restrict_keyword" ]; then
2610 echores "$_def_restrict_keyword"
2611 else
2612 echores "none"
2614 # Avoid infinite recursion loop ("#define restrict restrict")
2615 if [ "$_def_restrict_keyword" != "restrict" ]; then
2616 _def_restrict_keyword="#define restrict $_def_restrict_keyword"
2617 else
2618 _def_restrict_keyword=""
2622 echocheck "__builtin_expect"
2623 # GCC branch prediction hint
2624 cat > $TMPC << EOF
2625 int foo (int a) {
2626 a = __builtin_expect (a, 10);
2627 return a == 10 ? 0 : 1;
2629 int main() { return foo(10) && foo(0); }
2631 _builtin_expect=no
2632 cc_check && _builtin_expect=yes
2633 if test "$_builtin_expect" = yes ; then
2634 _def_builtin_expect='#define HAVE_BUILTIN_EXPECT 1'
2635 else
2636 _def_builtin_expect='#undef HAVE_BUILTIN_EXPECT'
2638 echores "$_builtin_expect"
2641 echocheck "kstat"
2642 cat > $TMPC << EOF
2643 #include <kstat.h>
2644 int main(void) { (void) kstat_open(); (void) kstat_close(0); return 0; }
2646 _kstat=no
2647 cc_check -lkstat && _kstat=yes
2648 if test "$_kstat" = yes ; then
2649 _def_kstat="#define HAVE_LIBKSTAT 1"
2650 _ld_extra="$_ld_extra -lkstat"
2651 else
2652 _def_kstat="#undef HAVE_LIBKSTAT"
2654 echores "$_kstat"
2657 echocheck "posix4"
2658 # required for nanosleep on some systems
2659 cat > $TMPC << EOF
2660 #include <time.h>
2661 int main(void) { (void) nanosleep(0, 0); return 0; }
2663 _posix4=no
2664 cc_check -lposix4 && _posix4=yes
2665 if test "$_posix4" = yes ; then
2666 _ld_extra="$_ld_extra -lposix4"
2668 echores "$_posix4"
2670 echocheck "lrintf"
2671 cat > $TMPC << EOF
2672 #include <math.h>
2673 int main(void) { long (*foo)(float); foo = lrintf; (void)(*foo)(0.0); return 0; }
2675 _lrintf=no
2676 cc_check -D_GNU_SOURCE $_ld_lm && _lrintf=yes
2677 if test "$_lrintf" = yes ; then
2678 _def_lrintf="#define HAVE_LRINTF 1"
2679 else
2680 _def_lrintf="#undef HAVE_LRINTF"
2682 echores "$_lrintf"
2684 echocheck "round"
2685 cat > $TMPC << EOF
2686 #include <math.h>
2687 int main(void) { (void) round(0.0); return 0; }
2689 _round=no
2690 cc_check $_ld_lm && _round=yes
2691 if test "$_round" = yes ; then
2692 _def_round="#define HAVE_ROUND 1"
2693 else
2694 _def_round="#undef HAVE_ROUND"
2696 echores "$_round"
2698 echocheck "nanosleep"
2699 # also check for nanosleep
2700 cat > $TMPC << EOF
2701 #include <time.h>
2702 int main(void) { (void) nanosleep(0, 0); return 0; }
2704 _nanosleep=no
2705 cc_check && _nanosleep=yes
2706 if test "$_nanosleep" = yes ; then
2707 _def_nanosleep='#define HAVE_NANOSLEEP 1'
2708 else
2709 _def_nanosleep='#undef HAVE_NANOSLEEP'
2711 echores "$_nanosleep"
2714 echocheck "socklib"
2715 # for Solaris (socket stuff is in -lsocket, gethostbyname and friends in -lnsl):
2716 # for BeOS (socket stuff is in -lsocket, gethostbyname and friends in -lbind):
2717 cat > $TMPC << EOF
2718 #include <netdb.h>
2719 #include <sys/socket.h>
2720 int main(void) { (void) gethostbyname(0); (void) socket(AF_INET, SOCK_STREAM, 0); return 0; }
2722 _socklib=no
2723 for _ld_tmp in "" "-lsocket -lbind" "-lsocket -ldnet" "-lsocket -lnsl" "-lnsl" "-lsocket" ; do
2724 cc_check $_ld_tmp && _ld_sock="$_ld_tmp" && _socklib=yes && break
2725 done
2726 if test $_winsock2 = auto && not cygwin ; then
2727 _winsock2=no
2728 cat > $TMPC << EOF
2729 #include <winsock2.h>
2730 int main(void) { (void) gethostbyname(0); return 0; }
2732 cc_check -lws2_32 && _ld_sock="-lws2_32" && _winsock2=yes
2734 test "$_ld_sock" && _res_comment="using $_ld_sock"
2735 echores "$_socklib"
2738 if test $_winsock2 = yes ; then
2739 _ld_sock="-lws2_32"
2740 _def_winsock2='#define HAVE_WINSOCK2 1'
2741 else
2742 _def_winsock2='#undef HAVE_WINSOCK2'
2746 _use_aton=no
2747 echocheck "inet_pton()"
2748 cat > $TMPC << EOF
2749 #include <sys/types.h>
2750 #include <sys/socket.h>
2751 #include <arpa/inet.h>
2752 int main(void) { (void) inet_pton(0, 0, 0); return 0; }
2754 if test "$_winsock2" = yes ; then
2755 _res_comment="using winsock2 functions instead"
2756 echores "no"
2757 elif cc_check $_ld_sock ; then
2758 # NOTE: Linux has libresolv but does not need it
2760 _res_comment="using $_ld_sock"
2761 echores "yes"
2762 elif cc_check $_ld_sock -lresolv ; then
2763 # NOTE: needed for SunOS at least
2764 _ld_sock="$_ld_sock -lresolv"
2765 _res_comment="using $_ld_sock"
2766 echores "yes"
2767 else
2768 _res_comment="trying inet_aton next"
2769 echores "no"
2771 echocheck "inet_aton()"
2772 cat > $TMPC << EOF
2773 #include <sys/types.h>
2774 #include <sys/socket.h>
2775 #include <arpa/inet.h>
2776 int main(void) { (void) inet_aton(0, 0); return 0; }
2778 _use_aton=yes
2779 if cc_check $_ld_sock ; then
2780 # NOTE: Linux has libresolv but does not need it
2782 _res_comment="using $_ld_sock"
2783 elif cc_check $_ld_sock -lresolv ; then
2784 # NOTE: needed for SunOS at least
2785 _ld_sock="$_ld_sock -lresolv"
2786 _res_comment="using $_ld_sock"
2787 else
2788 _use_aton=no
2789 _network=no
2790 _res_comment="network support disabled"
2792 echores "$_use_aton"
2795 _def_use_aton='#undef USE_ATON'
2796 if test "$_use_aton" = yes; then
2797 _def_use_aton='#define USE_ATON 1'
2800 echocheck "network"
2801 # FIXME network check
2802 if test "$_network" = yes ; then
2803 _def_network='#define MPLAYER_NETWORK 1'
2804 _ld_extra="$_ld_extra $_ld_sock"
2805 _inputmodules="network $_inputmodules"
2806 else
2807 _noinputmodules="network $_noinputmodules"
2808 _def_network='#undef MPLAYER_NETWORK'
2809 _ftp=no
2811 echores "$_network"
2813 echocheck "inttypes.h (required)"
2814 cat > $TMPC << EOF
2815 #include <inttypes.h>
2816 int main(void) { return 0; }
2818 _inttypes=no
2819 cc_check && _inttypes=yes
2820 echores "$_inttypes"
2822 if test "$_inttypes" = no ; then
2823 echocheck "bitypes.h (inttypes.h predecessor)"
2824 cat > $TMPC << EOF
2825 #include <sys/bitypes.h>
2826 int main(void) { return 0; }
2828 cc_check && _inttypes=yes
2829 if test "$_inttypes" = yes ; then
2830 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."
2831 else
2832 die "Cannot find header either inttypes.h or bitypes.h (see DOCS/HTML/$_doc_lang/faq.html)."
2837 echocheck "int_fastXY_t in inttypes.h"
2838 cat > $TMPC << EOF
2839 #include <inttypes.h>
2840 int main(void) {
2841 volatile int_fast16_t v= 0;
2842 return v; }
2844 _fast_inttypes=no
2845 cc_check && _fast_inttypes=yes
2846 if test "$_fast_inttypes" = yes ; then
2847 # nothing to do
2849 else
2850 _def_fast_inttypes='
2851 typedef signed char int_fast8_t;
2852 typedef signed int int_fast16_t;
2853 typedef signed int int_fast32_t;
2854 typedef signed long long int_fast64_t;
2855 typedef unsigned char uint_fast8_t;
2856 typedef unsigned int uint_fast16_t;
2857 typedef unsigned int uint_fast32_t;
2858 typedef unsigned long long uint_fast64_t;'
2860 echores "$_fast_inttypes"
2863 echocheck "word size"
2864 _mp_wordsize="#undef MP_WORDSIZE"
2865 cat > $TMPC << EOF
2866 #include <stdio.h>
2867 #include <sys/types.h>
2868 int main(void) { printf("%d\n", sizeof(size_t)*8); return 0; }
2870 cc_check && _wordsize=`$TMPO` && _mp_wordsize="#define MP_WORDSIZE $_wordsize"
2871 echores "$_wordsize"
2874 echocheck "stddef.h"
2875 cat > $TMPC << EOF
2876 #include <stddef.h>
2877 int main(void) { return 0; }
2879 _stddef=no
2880 cc_check && _stddef=yes
2881 if test "$_stddef" = yes ; then
2882 _def_stddef='#define HAVE_STDDEF_H 1'
2883 else
2884 _def_stddef='#undef HAVE_STDDEF_H'
2886 echores "$_stddef"
2889 echocheck "malloc.h"
2890 cat > $TMPC << EOF
2891 #include <malloc.h>
2892 int main(void) { (void) malloc(0); return 0; }
2894 _malloc=no
2895 cc_check && _malloc=yes
2896 if test "$_malloc" = yes ; then
2897 _def_malloc='#define HAVE_MALLOC_H 1'
2898 else
2899 _def_malloc='#undef HAVE_MALLOC_H'
2901 # malloc.h emits a warning in FreeBSD and OpenBSD
2902 freebsd || openbsd && _def_malloc='#undef HAVE_MALLOC_H'
2903 echores "$_malloc"
2906 echocheck "memalign()"
2907 # XXX restrict to x86 ? extend to other CPUs/cacheline sizes ?
2908 cat > $TMPC << EOF
2909 #include <malloc.h>
2910 int main (void) { (void) memalign(64, sizeof(char)); return 0; }
2912 _memalign=no
2913 cc_check && _memalign=yes
2914 if test "$_memalign" = yes ; then
2915 _def_memalign='#define HAVE_MEMALIGN 1'
2916 else
2917 _def_memalign='#undef HAVE_MEMALIGN'
2918 _def_map_memalign='#define memalign(a,b) malloc(b)'
2919 not darwin && _def_memalign_hack='#define CONFIG_MEMALIGN_HACK 1'
2921 echores "$_memalign"
2924 echocheck "alloca.h"
2925 cat > $TMPC << EOF
2926 #include <alloca.h>
2927 int main(void) { (void) alloca(0); return 0; }
2929 _alloca=no
2930 cc_check && _alloca=yes
2931 if cc_check ; then
2932 _def_alloca='#define HAVE_ALLOCA_H 1'
2933 else
2934 _def_alloca='#undef HAVE_ALLOCA_H'
2936 echores "$_alloca"
2939 echocheck "mman.h"
2940 cat > $TMPC << EOF
2941 #include <sys/types.h>
2942 #include <sys/mman.h>
2943 int main(void) { (void) mmap(0, 0, 0, 0, 0, 0); return 0; }
2945 _mman=no
2946 cc_check && _mman=yes
2947 if test "$_mman" = yes ; then
2948 _def_mman='#define HAVE_SYS_MMAN_H 1'
2949 else
2950 _def_mman='#undef HAVE_SYS_MMAN_H'
2952 echores "$_mman"
2954 cat > $TMPC << EOF
2955 #include <sys/types.h>
2956 #include <sys/mman.h>
2957 int main(void) { void *p = MAP_FAILED; return 0; }
2959 _mman_has_map_failed=no
2960 cc_check && _mman_has_map_failed=yes
2961 if test "$_mman_has_map_failed" = yes ; then
2962 _def_mman_has_map_failed=''
2963 else
2964 _def_mman_has_map_failed='#define MAP_FAILED ((void *) -1)'
2967 echocheck "dynamic loader"
2968 cat > $TMPC << EOF
2969 #include <dlfcn.h>
2970 int main(void) { dlopen(0, 0); dlclose(0); dlsym(0, 0); return 0; }
2972 _dl=no
2973 for _ld_tmp in "" "-ldl" ; do
2974 cc_check $_ld_tmp && _ld_dl="$_ld_tmp" && _dl=yes && break
2975 done
2976 if test "$_dl" = yes ; then
2977 _def_dl='#define HAVE_LIBDL 1'
2978 else
2979 _def_dl='#undef HAVE_LIBDL'
2981 echores "$_dl"
2984 echocheck "dynamic a/v plugins support"
2985 if test "$_dl" = no ; then
2986 _dynamic_plugins=no
2988 if test "$_dynamic_plugins" = yes ; then
2989 _def_dynamic_plugins='#define DYNAMIC_PLUGINS 1'
2990 else
2991 _def_dynamic_plugins='#undef DYNAMIC_PLUGINS'
2993 echores "$_dynamic_plugins"
2996 #echocheck "dynamic linking"
2997 # FIXME !! make this dynamic detection work and modify at the end (search _ld_dl_dynamic)
2998 # also gcc flags are different, but ld flags aren't (-Bdynamic/-Bstatic/-Bsymbolic)
2999 #cat > $TMPC << EOF
3000 #int main(void) { return 0; }
3001 #EOF
3002 #if cc_check -rdynamic ; then
3003 # _ld_dl_dynamic='-rdynamic'
3004 #elif cc_check -Bdynamic ; then
3005 # _ld_dl_dynamic='-Bdynamic'
3006 #elif cc_check ; then
3007 # _ld_dl_dynamic=''
3009 #echores "using $_ld_dl_dynamic"
3011 _def_threads='#undef HAVE_THREADS'
3013 echocheck "pthread"
3014 if test "$_pthreads" = auto ; then
3015 cat > $TMPC << EOF
3016 #include <pthread.h>
3017 void* func(void *arg) { return arg; }
3018 int main(void) { pthread_t tid; return pthread_create (&tid, 0, func, 0) == 0 ? 0 : 1; }
3020 _pthreads=no
3021 if not hpux ; then
3022 for _ld_tmp in "-lpthreadGC2" "" "-lpthread" "-pthread" ; do
3023 # for crosscompilation, we cannot execute the program, be happy if we can link statically
3024 cc_check $_ld_tmp && (tmp_run || test "$_ld_static") && _ld_pthread="$_ld_tmp" && _pthreads=yes && break
3025 done
3028 if test "$_pthreads" = yes ; then
3029 _res_comment="using $_ld_pthread"
3030 _def_pthreads='#define HAVE_PTHREADS 1'
3031 _def_threads='#define HAVE_THREADS 1'
3032 else
3033 _res_comment="v4l, vo_gl, ao_alsa, ao_nas, ao_macosx, win32 loader disabled"
3034 _def_pthreads='#undef HAVE_PTHREADS'
3035 _nas=no ; _tv_v4l1=no ; _macosx=no
3036 if not mingw32 ; then
3037 _win32=no
3040 echores "$_pthreads"
3042 echocheck "rpath"
3043 netbsd &&_rpath=yes
3044 if test "$_rpath" = yes ; then
3045 for I in `echo $_ld_extra | sed 's/-L//g'` ; do
3046 tmp="$tmp ` echo $I | sed 's/.*/ -L& -Wl,-R&/'`"
3047 done
3048 _ld_extra=$tmp
3050 echores "$_rpath"
3052 echocheck "iconv"
3053 if test "$_iconv" = auto ; then
3054 _iconv_tmp='#include <iconv.h>'
3056 cat > $TMPC << EOF
3057 #include <stdio.h>
3058 #include <unistd.h>
3059 $_iconv_tmp
3060 #define INBUFSIZE 1024
3061 #define OUTBUFSIZE 4096
3063 char inbuffer[INBUFSIZE];
3064 char outbuffer[OUTBUFSIZE];
3066 int main(void) {
3067 size_t numread;
3068 iconv_t icdsc;
3069 char *tocode="UTF-8";
3070 char *fromcode="cp1250";
3071 if ((icdsc = iconv_open (tocode, fromcode)) != (iconv_t)(-1)) {
3072 while ((numread = read (0, inbuffer, INBUFSIZE))) {
3073 char *iptr=inbuffer;
3074 char *optr=outbuffer;
3075 size_t inleft=numread;
3076 size_t outleft=OUTBUFSIZE;
3077 if (iconv(icdsc, (const char **)&iptr, &inleft, &optr, &outleft)
3078 != (size_t)(-1)) {
3079 write (1, outbuffer, OUTBUFSIZE - outleft);
3082 if (iconv_close(icdsc) == -1)
3087 _iconv=no
3088 for _ld_tmp in "" "-liconv" "-liconv $_ld_dl" ; do
3089 cc_check $_ld_lm $_ld_tmp && _ld_extra="$_ld_extra $_ld_tmp" && \
3090 _iconv=yes && break
3091 done
3093 if test "$_iconv" = yes ; then
3094 _def_iconv='#define USE_ICONV 1'
3095 else
3096 _def_iconv='#undef USE_ICONV'
3098 echores "$_iconv"
3101 echocheck "sys/soundcard.h"
3102 cat > $TMPC << EOF
3103 #include <sys/soundcard.h>
3104 int main(void) { return 0; }
3106 _sys_soundcard=no
3107 cc_check && _sys_soundcard=yes
3108 if test "$_sys_soundcard" = yes ; then
3109 _def_sys_soundcard='#define HAVE_SYS_SOUNDCARD_H 1'
3110 _include_soundcard='#include <sys/soundcard.h>'
3111 else
3112 _def_sys_soundcard='#undef HAVE_SYS_SOUNDCARD_H'
3114 echores "$_sys_soundcard"
3116 if test "$_sys_soundcard" != yes ; then
3117 echocheck "soundcard.h"
3118 cat > $TMPC << EOF
3119 #include <soundcard.h>
3120 int main(void) { return 0; }
3122 _soundcard=no
3123 cc_check && _soundcard=yes
3124 if linux || test "$_ossaudio" != no ; then
3125 # use soundcard.h on Linux, or when OSS support is enabled
3126 echores "$_soundcard"
3127 else
3128 # we don't want to use soundcard.h on non-Linux if OSS support not enabled!
3129 _res_comment= "but ignored!"
3130 echores "$_soundcard"
3131 _soundcard=no
3133 if test "$_soundcard" = yes ; then
3134 _def_soundcard='#define HAVE_SOUNDCARD_H 1'
3135 _include_soundcard='#include <soundcard.h>'
3136 else
3137 _def_soundcard='#undef HAVE_SOUNDCARD_H'
3139 else
3140 _def_soundcard='#undef HAVE_SOUNDCARD_H'
3144 echocheck "sys/dvdio.h"
3145 cat > $TMPC << EOF
3146 #include <unistd.h>
3147 #include <sys/dvdio.h>
3148 int main(void) { return 0; }
3150 _dvdio=no
3151 cc_check && _dvdio=yes
3152 if test "$_dvdio" = yes ; then
3153 _def_dvdio='#define DVD_STRUCT_IN_SYS_DVDIO_H 1'
3154 else
3155 _def_dvdio='#undef DVD_STRUCT_IN_SYS_DVDIO_H'
3157 echores "$_dvdio"
3160 echocheck "sys/cdio.h"
3161 cat > $TMPC << EOF
3162 #include <unistd.h>
3163 #include <sys/cdio.h>
3164 int main(void) { return 0; }
3166 _cdio=no
3167 cc_check && _cdio=yes
3168 if test "$_cdio" = yes ; then
3169 _def_cdio='#define DVD_STRUCT_IN_SYS_CDIO_H 1'
3170 else
3171 _def_cdio='#undef DVD_STRUCT_IN_SYS_CDIO_H'
3173 echores "$_cdio"
3176 echocheck "linux/cdrom.h"
3177 cat > $TMPC << EOF
3178 #include <sys/types.h>
3179 #include <linux/cdrom.h>
3180 int main(void) { return 0; }
3182 _cdrom=no
3183 cc_check && _cdrom=yes
3184 if test "$_cdrom" = yes ; then
3185 _def_cdrom='#define DVD_STRUCT_IN_LINUX_CDROM_H 1'
3186 else
3187 _def_cdrom='#undef DVD_STRUCT_IN_LINUX_CDROM_H'
3189 echores "$_cdrom"
3192 echocheck "dvd.h"
3193 cat > $TMPC << EOF
3194 #include <dvd.h>
3195 int main(void) { return 0; }
3197 _dvd=no
3198 cc_check && _dvd=yes
3199 if test "$_dvd" = yes ; then
3200 _def_dvd='#define DVD_STRUCT_IN_DVD_H 1'
3201 else
3202 _def_dvd='#undef DVD_STRUCT_IN_DVD_H'
3204 echores "$_dvd"
3207 if bsdos; then
3208 echocheck "BSDI dvd.h"
3209 cat > $TMPC << EOF
3210 #include <dvd.h>
3211 int main(void) { return 0; }
3213 _bsdi_dvd=no
3214 cc_check && _bsdi_dvd=yes
3215 if test "$_bsdi_dvd" = yes ; then
3216 _def_bsdi_dvd='#define DVD_STRUCT_IN_BSDI_DVDIOCTL_DVD_H 1'
3217 else
3218 _def_bsdi_dvd='#undef DVD_STRUCT_IN_BSDI_DVDIOCTL_DVD_H'
3220 echores "$_bsdi_dvd"
3221 fi #if bsdos
3224 if hpux; then
3225 # also used by AIX, but AIX does not support VCD and/or libdvdread
3226 echocheck "HP-UX SCSI header"
3227 cat > $TMPC << EOF
3228 #include <sys/scsi.h>
3229 int main(void) { return 0; }
3231 _hpux_scsi_h=no
3232 cc_check && _hpux_scsi_h=yes
3233 if test "$_hpux_scsi_h" = yes ; then
3234 _def_hpux_scsi_h='#define HPUX_SCTL_IO 1'
3235 else
3236 _def_hpux_scsi_h='#undef HPUX_SCTL_IO'
3238 echores "$_hpux_scsi_h"
3239 fi #if hpux
3242 if sunos; then
3243 echocheck "userspace SCSI headers (Solaris)"
3244 cat > $TMPC << EOF
3245 # include <unistd.h>
3246 # include <stropts.h>
3247 # include <sys/scsi/scsi_types.h>
3248 # include <sys/scsi/impl/uscsi.h>
3249 int main(void) { return 0; }
3251 _sol_scsi_h=no
3252 cc_check && _sol_scsi_h=yes
3253 if test "$_sol_scsi_h" = yes ; then
3254 _def_sol_scsi_h='#define SOLARIS_USCSI 1'
3255 else
3256 _def_sol_scsi_h='#undef SOLARIS_USCSI'
3258 echores "$_sol_scsi_h"
3259 fi #if sunos
3262 echocheck "termcap"
3263 if test "$_termcap" = auto ; then
3264 cat > $TMPC <<EOF
3265 int main(void) { tgetent(); return 0; }
3267 _termcap=no
3268 for _ld_tmp in "-lncurses" "-ltinfo" "-ltermcap"; do
3269 cc_check $_ld_tmp && _ld_extra="$_ld_extra $_ld_tmp" \
3270 && _termcap=yes && break
3271 done
3273 if test "$_termcap" = yes ; then
3274 _def_termcap='#define USE_TERMCAP 1'
3275 _res_comment="using $_ld_tmp"
3276 else
3277 _def_termcap='#undef USE_TERMCAP'
3279 echores "$_termcap"
3282 echocheck "termios"
3283 if test "$_termios" = auto ; then
3284 cat > $TMPC <<EOF
3285 #include <sys/termios.h>
3286 int main(void) { return 0; }
3288 _termios=auto
3289 cc_check && _termios=yes
3290 _def_termios_h_name='sys/termios.h'
3292 # second test:
3293 if test "$_termios" = auto ; then
3294 cat > $TMPC <<EOF
3295 #include <termios.h>
3296 int main(void) { return 0; }
3298 _termios=no
3299 cc_check && _termios=yes
3300 _def_termios_h_name='termios.h'
3303 if test "$_termios" = yes ; then
3304 _def_termios='#define HAVE_TERMIOS 1'
3305 _def_termios_h='#undef HAVE_TERMIOS_H'
3306 _def_termios_sys_h='#undef HAVE_SYS_TERMIOS_H'
3308 if test "$_def_termios_h_name" = 'sys/termios.h' ; then
3309 _def_termios_sys_h='#define HAVE_SYS_TERMIOS_H 1'
3310 elif test "$_def_termios_h_name" = 'termios.h' ; then
3311 _def_termios_h='#define HAVE_TERMIOS_H 1'
3313 _res_comment="using $_def_termios_h_name"
3314 else
3315 _def_termios='#undef HAVE_TERMIOS'
3316 _def_termios_h_name=''
3317 _termios=no
3319 echores "$_termios"
3322 echocheck "shm"
3323 if test "$_shm" = auto ; then
3324 cat > $TMPC << EOF
3325 #include <sys/types.h>
3326 #include <sys/shm.h>
3327 int main(void) { shmget(0, 0, 0); shmat(0, 0, 0); shmctl(0, 0, 0); return 0; }
3329 _shm=no
3330 cc_check && _shm=yes
3332 if test "$_shm" = yes ; then
3333 _def_shm='#define HAVE_SHM 1'
3334 else
3335 _def_shm='#undef HAVE_SHM'
3337 echores "$_shm"
3340 # XXX: FIXME, add runtime checking
3341 echocheck "linux devfs"
3342 echores "$_linux_devfs"
3345 echocheck "scandir()"
3346 cat > $TMPC << EOF
3347 int main (void) { scandir("", 0, 0, 0); alphasort(0, 0); return 0; }
3349 _scandir=no
3350 cc_check && _scandir=yes
3351 if test "$_scandir" = yes ; then
3352 _def_scandir='#define HAVE_SCANDIR 1'
3353 _need_scandir=no
3354 else
3355 _def_scandir='#undef HAVE_SCANDIR'
3356 _need_scandir=yes
3358 echores "$_scandir"
3361 echocheck "strsep()"
3362 cat > $TMPC << EOF
3363 #include <string.h>
3364 int main (void) { char *s = "Hello, world!"; (void) strsep(&s, ","); return 0; }
3366 _strsep=no
3367 cc_check && _strsep=yes
3368 if test "$_strsep" = yes ; then
3369 _def_strsep='#define HAVE_STRSEP 1'
3370 _need_strsep=no
3371 else
3372 _def_strsep='#undef HAVE_STRSEP'
3373 _need_strsep=yes
3375 echores "$_strsep"
3377 echocheck "strlcpy()"
3378 cat > $TMPC << EOF
3379 #include <string.h>
3380 int main (void) { char *s = "Hello, world!", t[20]; (void) strlcpy(t, s, sizeof( t )); return 0; }
3382 _strlcpy=no
3383 cc_check && _strlcpy=yes
3384 if test "$_strlcpy" = yes ; then
3385 _def_strlcpy='#define HAVE_STRLCPY 1'
3386 _need_strlcpy=no
3387 else
3388 _def_strlcpy='#undef HAVE_STRLCPY'
3389 _need_strlcpy=yes
3391 echores "$_strlcpy"
3393 echocheck "strlcat()"
3394 cat > $TMPC << EOF
3395 #include <string.h>
3396 int main (void) { char *s = "Hello, world!", t[20]; (void) strlcat(t, s, sizeof( t )); return 0; }
3398 _strlcat=no
3399 cc_check && _strlcat=yes
3400 if test "$_strlcat" = yes ; then
3401 _def_strlcat='#define HAVE_STRLCAT 1'
3402 _need_strlcat=no
3403 else
3404 _def_strlcat='#undef HAVE_STRLCAT'
3405 _need_strlcat=yes
3407 echores "$_strlcat"
3409 echocheck "fseeko()"
3410 cat > $TMPC << EOF
3411 #include <stdio.h>
3412 int main (void) { int i; i = fseeko(stdin, 0, 0); return 0; }
3414 _fseeko=no
3415 cc_check && _fseeko=yes
3416 if test "$_fseeko" = yes ; then
3417 _def_fseeko='#define HAVE_FSEEKO 1'
3418 _need_fseeko=no
3419 else
3420 _def_fseeko='#undef HAVE_FSEEKO'
3421 _need_fseeko=yes
3423 echores "$_fseeko"
3425 echocheck "localtime_r()"
3426 cat > $TMPC << EOF
3427 #include <time.h>
3428 int main( void ) { localtime_r(NULL, NULL); }
3430 _localtime_r=no
3431 cc_check && _localtime_r=yes
3432 if test "$_localtime_r" = yes ; then
3433 _def_localtime_r='#define HAVE_LOCALTIME_R 1'
3434 else
3435 _def_localtime_r='#undef HAVE_LOCALTIME_R'
3437 echores "$_localtime_r"
3439 echocheck "vsscanf()"
3440 cat > $TMPC << EOF
3441 #include <stdarg.h>
3442 int main(void) { vsscanf(0, 0, 0); return 0; }
3444 _vsscanf=no
3445 cc_check && _vsscanf=yes
3446 if test "$_vsscanf" = yes ; then
3447 _def_vsscanf='#define HAVE_VSSCANF 1'
3448 _need_vsscanf=no
3449 else
3450 _def_vsscanf='#undef HAVE_VSSCANF'
3451 _need_vsscanf=yes
3453 echores "$_vsscanf"
3456 echocheck "swab()"
3457 cat > $TMPC << EOF
3458 #include <unistd.h>
3459 int main(void) { swab(0, 0, 0); return 0; }
3461 _swab=no
3462 cc_check && _swab=yes
3463 if test "$_swab" = yes ; then
3464 _def_swab='#define HAVE_SWAB 1'
3465 _need_swab=no
3466 else
3467 _def_swab='#undef HAVE_SWAB'
3468 _need_swab=yes
3470 echores "$_swab"
3472 echocheck "POSIX select()"
3473 cat > $TMPC << EOF
3474 #include <stdio.h>
3475 #include <stdlib.h>
3476 #include <sys/types.h>
3477 #include <string.h>
3478 #include <sys/time.h>
3479 #include <unistd.h>
3480 int main(void) {int nfds = 1; fd_set readfds; struct timeval timeout; select(nfds,&readfds,NULL,NULL,&timeout); return 0; }
3482 _posix_select=no
3483 cc_check && _posix_select=yes
3484 if test "$_posix_select" = no ; then
3485 _def_no_posix_select='#define HAVE_NO_POSIX_SELECT 1'
3486 else
3487 _def_no_posix_select='#undef HAVE_NO_POSIX_SELECT'
3489 echores "$_posix_select"
3492 echocheck "gettimeofday()"
3493 cat > $TMPC << EOF
3494 #include <stdio.h>
3495 #include <sys/time.h>
3496 int main(void) {struct timeval tv_start; gettimeofday(&tv_start, NULL); return 0; }
3498 _gettimeofday=no
3499 cc_check && _gettimeofday=yes
3500 if test "$_gettimeofday" = yes ; then
3501 _def_gettimeofday='#define HAVE_GETTIMEOFDAY 1'
3502 _need_gettimeofday=no
3503 else
3504 _def_gettimeofday='#undef HAVE_GETTIMEOFDAY'
3505 _need_gettimeofday=yes
3507 echores "$_gettimeofday"
3510 echocheck "glob()"
3511 cat > $TMPC << EOF
3512 #include <stdio.h>
3513 #include <glob.h>
3514 int main(void) { glob_t gg; glob("filename",0,NULL,&gg); return 0; }
3516 _glob=no
3517 cc_check && _glob=yes
3518 if test "$_glob" = yes ; then
3519 _def_glob='#define HAVE_GLOB 1'
3520 _need_glob=no
3521 else
3522 _def_glob='#undef HAVE_GLOB'
3523 _need_glob=yes
3525 echores "$_glob"
3528 echocheck "setenv()"
3529 cat > $TMPC << EOF
3530 #include <stdlib.h>
3531 int main (void){ setenv("","",0); return 0; }
3533 _setenv=no
3534 cc_check && _setenv=yes
3535 if test "$_setenv" = yes ; then
3536 _def_setenv='#define HAVE_SETENV 1'
3537 _need_setenv=no
3538 else
3539 _def_setenv='#undef HAVE_SETENV'
3540 _need_setenv=yes
3542 echores "$_setenv"
3545 if sunos; then
3546 echocheck "sysi86()"
3547 cat > $TMPC << EOF
3548 #include <sys/sysi86.h>
3549 int main (void) { sysi86(0); return 0; }
3551 _sysi86=no
3552 cc_check && _sysi86=yes
3553 if test "$_sysi86" = yes ; then
3554 _def_sysi86='#define HAVE_SYSI86 1'
3555 else
3556 _def_sysi86='#undef HAVE_SYSI86'
3558 echores "$_sysi86"
3559 fi #if sunos
3562 echocheck "sys/sysinfo.h"
3563 cat > $TMPC << EOF
3564 #include <sys/sysinfo.h>
3565 int main(void) {
3566 struct sysinfo s_info;
3567 sysinfo(&s_info);
3568 return 0;
3571 _sys_sysinfo=no
3572 cc_check && _sys_sysinfo=yes
3573 if test "$_sys_sysinfo" = yes ; then
3574 _def_sys_sysinfo='#define HAVE_SYS_SYSINFO_H 1'
3575 else
3576 _def_sys_sysinfo='#undef HAVE_SYS_SYSINFO_H'
3578 echores "$_sys_sysinfo"
3581 if darwin; then
3583 echocheck "Mac OS X APIs"
3584 if test "$_macosx" = auto ; then
3585 productName=`/usr/bin/sw_vers -productName`
3586 if test "$productName" = "Mac OS X" ||
3587 test "$productName" = "Mac OS X Server" ; then
3588 _macosx=yes
3589 else
3590 _macosx=no
3591 _def_macosx='#undef MACOSX'
3592 _noaomodules="macosx $_noaomodules"
3593 _novomodules="quartz $_novomodules"
3596 if test "$_macosx" = yes ; then
3597 cat > $TMPC <<EOF
3598 #include <Carbon/Carbon.h>
3599 #include <QuickTime/QuickTime.h>
3600 #include <CoreAudio/CoreAudio.h>
3601 int main(void) {
3602 EnterMovies();
3603 ExitMovies();
3604 CFRunLoopRunInMode(kCFRunLoopDefaultMode, 0, false);
3607 if cc_check -framework Carbon -framework QuickTime -framework CoreAudio; then
3608 _ld_extra="$_ld_extra -framework Carbon -framework QuickTime -framework CoreAudio -framework AudioUnit -framework AudioToolbox"
3609 _def_macosx='#define MACOSX 1'
3610 _aosrc="$_aosrc ao_macosx.c"
3611 _aomodules="macosx $_aomodules"
3612 _vosrc="$_vosrc vo_quartz.c"
3613 _vomodules="quartz $_vomodules"
3614 else
3615 _macosx=no
3616 _def_macosx='#undef MACOSX'
3617 _noaomodules="macosx $_noaomodules"
3618 _novomodules="quartz $_novomodules"
3620 cat > $TMPC <<EOF
3621 #include <Carbon/Carbon.h>
3622 #include <QuartzCore/CoreVideo.h>
3623 int main(void) {}
3625 if cc_check -framework Carbon -framework QuartzCore -framework OpenGL; then
3626 _vosrc="$_vosrc vo_macosx.m"
3627 _vomodules="macosx $_vomodules"
3628 _ld_extra="$_ld_extra -framework Cocoa -framework QuartzCore -framework OpenGL"
3629 _def_macosx_corevideo='#define MACOSX_COREVIDEO 1'
3630 _macosx_corevideo=yes
3631 else
3632 _novomodules="macosx $_novomodules"
3633 _def_macosx_corevideo='#undef MACOSX_COREVIDEO'
3634 _macosx_corevideo=no
3637 echores "$_macosx"
3639 echocheck "Mac OS X Finder Support"
3640 if test "$_macosx_finder_support" = auto ; then
3641 _macosx_finder_support=$_macosx
3643 if test "$_macosx_finder_support" = yes; then
3644 _def_macosx_finder_support='#define MACOSX_FINDER_SUPPORT 1'
3645 _macosx_finder_support=yes
3646 else
3647 _def_macosx_finder_support='#undef MACOSX_FINDER_SUPPORT'
3648 _macosx_finder_support=no
3650 echores "$_macosx_finder_support"
3652 echocheck "Mac OS X Bundle file locations"
3653 if test "$_macosx_bundle" = auto ; then
3654 _macosx_bundle=$_macosx_finder_support
3656 if test "$_macosx_bundle" = yes; then
3657 _def_macosx_bundle='#define MACOSX_BUNDLE 1'
3658 else
3659 _def_macosx_bundle='#undef MACOSX_BUNDLE'
3660 _macosx_bundle=no
3662 echores "$_macosx_bundle"
3664 fi #if darwin
3667 echocheck "pkg-config"
3668 _pkg_config=pkg-config
3669 if `$_pkg_config --version > /dev/null 2>&1`; then
3670 echores "yes"
3671 else
3672 _pkg_config=false
3673 echores "no"
3677 echocheck "Samba support (libsmbclient)"
3678 if test "$_smbsupport" = yes; then
3679 _ld_extra="$_ld_extra -lsmbclient"
3681 if test "$_smbsupport" = auto; then
3682 _smbsupport=no
3683 cat > $TMPC << EOF
3684 #include <libsmbclient.h>
3685 int main(void) { smbc_opendir("smb://"); return 0; }
3687 for _ld_tmp in "-lsmbclient" "-lsmbclient $_ld_dl" "-lsmbclient $_ld_dl -lnsl" "-lsmbclient $_ld_dl -lssl -lnsl" ; do
3688 cc_check $_ld_tmp && _ld_extra="$_ld_extra $_ld_tmp" && \
3689 _smbsupport=yes && break
3690 done
3693 if test "$_smbsupport" = yes; then
3694 _def_smbsupport="#define LIBSMBCLIENT"
3695 _inputmodules="smb $_inputmodules"
3696 else
3697 _def_smbsupport="#undef LIBSMBCLIENT"
3698 _noinputmodules="smb $_noinputmodules"
3700 echores "$_smbsupport"
3703 #########
3704 # VIDEO #
3705 #########
3708 echocheck "3dfx"
3709 if test "$_3dfx" = yes ; then
3710 _def_3dfx='#define HAVE_3DFX 1'
3711 _vosrc="$_vosrc vo_3dfx.c"
3712 _vomodules="3dfx $_vomodules"
3713 else
3714 _def_3dfx='#undef HAVE_3DFX'
3715 _novomodules="3dfx $_novomodules"
3717 echores "$_3dfx"
3720 echocheck "tdfxfb"
3721 if test "$_tdfxfb" = yes ; then
3722 _def_tdfxfb='#define HAVE_TDFXFB 1'
3723 _vosrc="$_vosrc vo_tdfxfb.c"
3724 _vomodules="tdfxfb $_vomodules"
3725 else
3726 _def_tdfxfb='#undef HAVE_TDFXFB'
3727 _novomodules="tdfxfb $_novomodules"
3729 echores "$_tdfxfb"
3731 echocheck "s3fb"
3732 if test "$_s3fb" = yes ; then
3733 _def_s3fb='#define HAVE_S3FB 1'
3734 _vosrc="$_vosrc vo_s3fb.c"
3735 _vomodules="s3fb $_vomodules"
3736 else
3737 _def_s3fb='#undef HAVE_S3FB'
3738 _novomodules="s3fb $_novomodules"
3740 echores "$_s3fb"
3742 echocheck "tdfxvid"
3743 if test "$_tdfxvid" = yes ; then
3744 _def_tdfxvid='#define HAVE_TDFX_VID 1'
3745 _vosrc="$_vosrc vo_tdfx_vid.c"
3746 _vomodules="tdfx_vid $_vomodules"
3747 else
3748 _def_tdfxvid='#undef HAVE_TDFX_VID'
3749 _novomodules="tdfx_vid $_novomodules"
3751 echores "$_tdfxvid"
3753 echocheck "tga"
3754 if test "$_tga" = yes ; then
3755 _def_tga='#define HAVE_TGA 1'
3756 _vosrc="$_vosrc vo_tga.c"
3757 _vomodules="tga $_vomodules"
3758 else
3759 _def_tga='#undef HAVE_TGA'
3760 _novomodules="tga $_novomodules"
3762 echores "$_tga"
3765 echocheck "DirectFB"
3766 if test "$_directfb" = auto ; then
3767 _directfb=no
3768 cat > $TMPC <<EOF
3769 #include <directfb.h>
3770 int main(void) { IDirectFB *foo; DirectFBInit(0,0); return 0; }
3772 for _inc_tmp in "" -I/usr/local/include/directfb \
3773 -I/usr/include/directfb -I/usr/local/include -I/usr/include; do
3774 cc_check $_inc_tmp -ldirectfb && _directfb=yes && \
3775 _inc_extra="$_inc_extra $_inc_tmp" && break
3776 done
3779 dfb_version() {
3780 expr $1 \* 65536 + $2 \* 256 + $3
3783 if test "$_directfb" = yes; then
3784 cat > $TMPC << EOF
3785 #include <directfb_version.h>
3787 dfb_ver = DIRECTFB_MAJOR_VERSION.DIRECTFB_MINOR_VERSION.DIRECTFB_MICRO_VERSION
3790 if $_cc -E $TMPC $_inc_extra > "$TMPO"; then
3791 _directfb_version=`sed -n 's/^dfb_ver[^0-9]*\(.*\)/\1/p' "$TMPO" | tr -d '()'`
3792 _dfb_major=`echo $_directfb_version | cut -d . -f 1`
3793 _dfb_minor=`echo $_directfb_version | cut -d . -f 2`
3794 _dfb_micro=`echo $_directfb_version | cut -d . -f 3`
3795 _dfb_version=`dfb_version $_dfb_major $_dfb_minor $_dfb_micro`
3796 if test "$_dfb_version" -ge `dfb_version 0 9 13`; then
3797 _def_directfb_version="#define DIRECTFBVERSION $_dfb_version"
3798 _res_comment="$_directfb_version"
3799 else
3800 _def_directfb_version='#undef DIRECTFBVERSION'
3801 _directfb=no
3802 _res_comment="version >=0.9.13 required"
3804 else
3805 _directfb=no
3806 _res_comment="failed to get version"
3809 echores "$_directfb"
3811 if test "$_directfb" = yes ; then
3812 _def_directfb='#define HAVE_DIRECTFB 1'
3813 if test "$_dfb_version" -ge `dfb_version 0 9 13`; then
3814 _vosrc="$_vosrc vo_directfb2.c"
3815 _vomodules="directfb $_vomodules"
3816 _libs_mplayer="$_libs_mplayer -ldirectfb"
3817 else
3818 _novomodules="directfb $_novomodules"
3821 if test "$_dfb_version" -ge `dfb_version 0 9 15`; then
3822 _vosrc="$_vosrc vo_dfbmga.c"
3823 _vomodules="dfbmga $_vomodules"
3824 _def_dfbmga='#define HAVE_DFBMGA 1'
3825 else
3826 _novomodules="dfbmga $_novomodules"
3827 _def_dfbmga='#undef HAVE_DFBMGA'
3829 else
3830 _def_directfb='#undef HAVE_DIRECTFB'
3831 _novomodules="dfbmga directfb $_novomodules"
3835 echocheck "X11 headers presence"
3836 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
3837 if test -f "$I/X11/Xlib.h" ; then
3838 _inc_x11="-I$I"
3839 _x11_headers="yes"
3840 _res_comment="using $I"
3841 break
3843 done
3844 if test -z "$_inc_x11" ; then
3845 _x11=no
3846 _x11_headers="no"
3847 _res_comment="check if the dev(el) packages are installed"
3849 echores "$_x11_headers"
3852 echocheck "X11"
3853 if test "$_x11" != no ; then
3854 cat > $TMPC <<EOF
3855 #include <X11/Xlib.h>
3856 #include <X11/Xutil.h>
3857 int main(void) { (void) XCreateWindow(0,0,0,0,0,0,0,0,0,0,0,0); return 0; }
3859 for I in "" -L/usr/X11R6/lib -L/usr/lib/X11R6 -L/usr/X11/lib \
3860 -L/usr/lib32 -L/usr/openwin/lib -L/usr/X11R6/lib64 -L/usr/lib ; do
3861 if netbsd; then
3862 _ld_tmp="$I -lXext -lX11 $_ld_pthread -Wl,-R`echo $I | sed s/^-L//`"
3863 else
3864 _ld_tmp="$I -lXext -lX11 $_ld_pthread"
3866 cc_check $_inc_x11 $_ld_tmp && _libs_mplayer="$_libs_mplayer $_ld_tmp" \
3867 && _x11=yes && break
3868 done
3870 if test "$_x11" = yes ; then
3871 #FIXME: This is ugly as it can duplicate a -I parameter..
3872 _inc_extra="$_inc_extra $_inc_x11"
3873 _def_x11='#define HAVE_X11 1'
3874 _vosrc="$_vosrc x11_common.c vo_x11.c vo_xover.c"
3875 _vomodules="x11 xover $_vomodules"
3876 else
3877 _x11=no
3878 _def_x11='#undef HAVE_X11'
3879 _novomodules="x11 $_novomodules"
3880 _res_comment="check if the dev(el) packages are installed"
3881 # disable stuff that depends on X
3882 _xv=no ; _xvmc=no ; _xinerama=no ; _vm=no ; _xf86keysym=no ; _dga=no
3884 echores "$_x11"
3887 echocheck "DPMS"
3888 _xdpms3=no
3889 _xdpms4=no
3890 if test "$_x11" = yes ; then
3891 cat > $TMPC <<EOF
3892 #include <X11/Xmd.h>
3893 #include <X11/Xlib.h>
3894 #include <X11/Xutil.h>
3895 #include <X11/Xatom.h>
3896 #include <X11/extensions/dpms.h>
3897 int main(void) {
3898 (void) DPMSQueryExtension(0, 0, 0);
3901 cc_check -lXdpms && _xdpms3=yes
3902 cat > $TMPC <<EOF
3903 #include <X11/Xlib.h>
3904 #include <X11/extensions/dpms.h>
3905 int main(void) {
3906 (void) DPMSQueryExtension(0, 0, 0);
3909 cc_check && _xdpms4=yes
3911 if test "$_xdpms4" = yes ; then
3912 _def_xdpms='#define HAVE_XDPMS 1'
3913 _res_comment="using Xdpms 4"
3914 echores "yes"
3915 elif test "$_xdpms3" = yes ; then
3916 _def_xdpms='#define HAVE_XDPMS 1'
3917 _libs_mplayer="$_libs_mplayer -lXdpms"
3918 _res_comment="using Xdpms 3"
3919 echores "yes"
3920 else
3921 _def_xdpms='#undef HAVE_XDPMS'
3922 echores "no"
3926 echocheck "Xv"
3927 if test "$_xv" = auto ; then
3928 cat > $TMPC <<EOF
3929 #include <X11/Xlib.h>
3930 #include <X11/extensions/Xvlib.h>
3931 int main(void) {
3932 (void) XvGetPortAttribute(0, 0, 0, 0);
3933 (void) XvQueryPortAttributes(0, 0, 0);
3934 return 0; }
3936 _xv=no
3937 cc_check -lXv && _xv=yes
3940 if test "$_xv" = yes ; then
3941 _def_xv='#define HAVE_XV 1'
3942 _libs_mplayer="$_libs_mplayer -lXv"
3943 _vosrc="$_vosrc vo_xv.c"
3944 _vomodules="xv $_vomodules"
3945 else
3946 _def_xv='#undef HAVE_XV'
3947 _novomodules="xv $_novomodules"
3949 echores "$_xv"
3952 echocheck "XvMC"
3953 if test "$_xv" = yes && test "$_xvmc" != no ; then
3954 _xvmc=no
3955 cat > $TMPC <<EOF
3956 #include <X11/Xlib.h>
3957 #include <X11/extensions/Xvlib.h>
3958 #include <X11/extensions/XvMClib.h>
3959 int main(void) {
3960 (void) XvMCQueryExtension(0,0,0);
3961 (void) XvMCCreateContext(0,0,0,0,0,0,0);
3962 return 0; }
3964 for _ld_tmp in $_xvmclib XvMCNVIDIA XvMCW I810XvMC ; do
3965 cc_check -lXvMC -l$_ld_tmp && _xvmc=yes && _xvmclib="$_ld_tmp" && break
3966 done
3968 if test "$_xvmc" = yes ; then
3969 _def_xvmc='#define HAVE_XVMC 1'
3970 _libs_mplayer="$_libs_mplayer -lXvMC -l$_xvmclib"
3971 _vosrc="$_vosrc vo_xvmc.c"
3972 _vomodules="xvmc $_vomodules"
3973 _res_comment="using $_xvmclib"
3974 else
3975 _def_xvmc='#undef HAVE_XVMC'
3976 _novomodules="xvmc $_novomodules"
3978 echores "$_xvmc"
3981 echocheck "Xinerama"
3982 if test "$_xinerama" = auto ; then
3983 cat > $TMPC <<EOF
3984 #include <X11/Xlib.h>
3985 #include <X11/extensions/Xinerama.h>
3986 int main(void) { (void) XineramaIsActive(0); return 0; }
3988 _xinerama=no
3989 cc_check -lXinerama && _xinerama=yes
3992 if test "$_xinerama" = yes ; then
3993 _def_xinerama='#define HAVE_XINERAMA 1'
3994 _libs_mplayer="$_libs_mplayer -lXinerama"
3995 else
3996 _def_xinerama='#undef HAVE_XINERAMA'
3998 echores "$_xinerama"
4001 # Note: the -lXxf86vm library is the VideoMode extension and though it's not
4002 # needed for DGA, AFAIK every distribution packages together with DGA stuffs
4003 # named 'X extensions' or something similar.
4004 # This check may be useful for future mplayer versions (to change resolution)
4005 # If you run into problems, remove '-lXxf86vm'.
4006 echocheck "Xxf86vm"
4007 if test "$_vm" = auto ; then
4008 cat > $TMPC <<EOF
4009 #include <X11/Xlib.h>
4010 #include <X11/extensions/xf86vmode.h>
4011 int main(void) { (void) XF86VidModeQueryExtension(0, 0, 0); return 0; }
4013 _vm=no
4014 cc_check -lXxf86vm && _vm=yes
4016 if test "$_vm" = yes ; then
4017 _def_vm='#define HAVE_XF86VM 1'
4018 _libs_mplayer="$_libs_mplayer -lXxf86vm"
4019 else
4020 _def_vm='#undef HAVE_XF86VM'
4022 echores "$_vm"
4024 # Check for the presence of special keycodes, like audio control buttons
4025 # that XFree86 might have. Used to be bundled with the xf86vm check, but
4026 # has nothing to do with xf86vm and XFree 3.x has xf86vm but does NOT
4027 # have these new keycodes.
4028 echocheck "XF86keysym"
4029 if test "$_xf86keysym" = auto; then
4030 _xf86keysym=no
4031 cat > $TMPC <<EOF
4032 #include <X11/Xlib.h>
4033 #include <X11/XF86keysym.h>
4034 int main(void) { return XF86XK_AudioPause; }
4036 cc_check && _xf86keysym=yes
4038 if test "$_xf86keysym" = yes ; then
4039 _def_xf86keysym='#define HAVE_XF86XK 1'
4040 else
4041 _def_xf86keysym='#undef HAVE_XF86XK'
4043 echores "$_xf86keysym"
4045 echocheck "DGA"
4046 # Version 2 is preferred to version 1 if available
4047 if test "$_dga" = auto ; then
4048 cat > $TMPC << EOF
4049 #include <X11/Xlib.h>
4050 #include <X11/extensions/xf86dga.h>
4051 int main (void) { (void) XF86DGASetViewPort(0, 0, 0, 0); return 0; }
4053 _dga=no
4054 cc_check -lXxf86dga -lXxf86vm && _dga=1
4056 cat > $TMPC << EOF
4057 #include <X11/Xlib.h>
4058 #include <X11/extensions/xf86dga.h>
4059 int main (void) { (void) XDGASetViewport(0, 0, 0, 0, 0); return 0; }
4061 cc_check -lXxf86dga && _dga=2
4064 _def_dga='#undef HAVE_DGA'
4065 _def_dga2='#undef HAVE_DGA2'
4066 if test "$_dga" = 1 ; then
4067 _def_dga='#define HAVE_DGA 1'
4068 _libs_mplayer="$_libs_mplayer -lXxf86dga"
4069 _vosrc="$_vosrc vo_dga.c"
4070 _vomodules="dga $_vomodules"
4071 _res_comment="using DGA 1.0"
4072 elif test "$_dga" = 2 ; then
4073 _def_dga='#define HAVE_DGA 1'
4074 _def_dga2='#define HAVE_DGA2 1'
4075 _libs_mplayer="$_libs_mplayer -lXxf86dga"
4076 _vosrc="$_vosrc vo_dga.c"
4077 _vomodules="dga $_vomodules"
4078 _res_comment="using DGA 2.0"
4079 elif test "$_dga" = no ; then
4080 _novomodules="dga $_novomodules"
4081 else
4082 die "DGA version must be 1 or 2"
4084 echores "$_dga"
4087 echocheck "OpenGL"
4088 #Note: this test is run even with --enable-gl since we autodetect linker flags
4089 if (test "$_x11" = yes || win32 && test "$_macosx" != yes) && test "$_gl" != no ; then
4090 cat > $TMPC << EOF
4091 #include <GL/gl.h>
4092 int main(void) { return 0; }
4094 _gl=no
4095 if cc_check -lGL $_ld_lm ; then
4096 _gl=yes
4097 _libs_mplayer="$_libs_mplayer -lGL $_ld_dl"
4098 elif cc_check -lGL $_ld_lm $_ld_pthread ; then
4099 _gl=yes
4100 _libs_mplayer="$_libs_mplayer -lGL $_ld_pthread $_ld_dl"
4101 elif cc_check -lopengl32 ; then
4102 _gl=yes
4103 _gl_win32=yes
4104 _libs_mplayer="$_libs_mplayer -lopengl32 -lgdi32"
4106 else
4107 _gl=no
4109 if test "$_gl" = yes ; then
4110 _def_gl='#define HAVE_GL 1'
4111 _vosrc="$_vosrc vo_gl.c vo_gl2.c gl_common.c"
4112 if test "$_gl_win32" = yes ; then
4113 _def_gl_win32='#define GL_WIN32 1'
4114 _vosrc="$_vosrc w32_common.c"
4115 _res_comment="win32 version"
4117 _vomodules="opengl $_vomodules"
4118 else
4119 _def_gl='#undef HAVE_GL'
4120 _def_gl_win32='#undef GL_WIN32'
4121 _novomodules="opengl $_novomodules"
4123 echores "$_gl"
4126 echocheck "/dev/mga_vid"
4127 if test "$_mga" = auto ; then
4128 _mga=no
4129 test -c /dev/mga_vid && _mga=yes
4131 if test "$_mga" = yes ; then
4132 _def_mga='#define HAVE_MGA 1'
4133 _vosrc="$_vosrc vo_mga.c"
4134 _vomodules="mga $_vomodules"
4135 else
4136 _def_mga='#undef HAVE_MGA'
4137 _novomodules="mga $_novomodules"
4139 echores "$_mga"
4142 # echocheck "syncfb"
4143 # _syncfb=no
4144 # test "$_mga" = yes && _syncfb=yes
4145 # if test "$_syncfb" = yes ; then
4146 # _def_syncfb='#define HAVE_SYNCFB 1'
4147 # _vosrc="$_vosrc vo_syncfb.c"
4148 # else
4149 # _def_syncfb='#undef HAVE_SYNCFB'
4150 # fi
4151 # echores "$_syncfb"
4154 echocheck "xmga"
4155 if test "$_xmga" = auto ; then
4156 _xmga=no
4157 test "$_x11" = yes && test "$_mga" = yes && _xmga=yes
4159 if test "$_xmga" = yes ; then
4160 _def_xmga='#define HAVE_XMGA 1'
4161 _vosrc="$_vosrc vo_xmga.c"
4162 _vomodules="xmga $_vomodules"
4163 else
4164 _def_xmga='#undef HAVE_XMGA'
4165 _novomodules="xmga $_novomodules"
4167 echores "$_xmga"
4170 echocheck "GGI"
4171 if test "$_ggi" = auto ; then
4172 cat > $TMPC << EOF
4173 #include <ggi/ggi.h>
4174 int main(void) { return 0; }
4176 _ggi=no
4177 cc_check -lggi && _ggi=yes
4179 if test "$_ggi" = yes ; then
4180 _def_ggi='#define HAVE_GGI 1'
4181 _libs_mplayer="$_libs_mplayer -lggi"
4182 _vosrc="$_vosrc vo_ggi.c"
4183 _vomodules="ggi $_vomodules"
4184 else
4185 _def_ggi='#undef HAVE_GGI'
4186 _novomodules="ggi $_novomodules"
4188 echores "$_ggi"
4190 echocheck "GGI extension: libggiwmh"
4191 if test "$_ggiwmh" = auto ; then
4192 _ggiwmh=no
4193 cat > $TMPC << EOF
4194 #include <ggi/ggi.h>
4195 #include <ggi/wmh.h>
4196 int main(void) { return 0; }
4198 cc_check -lggi -lggiwmh && _ggiwmh=yes
4200 # needed to get right output on obscure combination
4201 # like --disable-ggi --enable-ggiwmh
4202 if test "$_ggi" = yes && test "$_ggiwmh" = yes ; then
4203 _def_ggiwmh='#define HAVE_GGIWMH 1'
4204 _libs_mplayer="$_libs_mplayer -lggiwmh"
4205 else
4206 _ggiwmh=no
4207 _def_ggiwmh='#undef HAVE_GGIWMH'
4209 echores "$_ggiwmh"
4212 echocheck "AA"
4213 if test "$_aa" = auto ; then
4214 cat > $TMPC << EOF
4215 #include <aalib.h>
4216 extern struct aa_hardware_params aa_defparams;
4217 extern struct aa_renderparams aa_defrenderparams;
4218 int main(void) {
4219 aa_context *c;
4220 aa_renderparams *p;
4221 (void) aa_init(0, 0, 0);
4222 c = aa_autoinit(&aa_defparams);
4223 p = aa_getrenderparams();
4224 aa_autoinitkbd(c,0);
4225 return 0; }
4227 _aa=no
4228 for _ld_tmp in "-laa" ; do
4229 cc_check $_ld_tmp && _libs_mplayer="$_libs_mplayer $_ld_tmp" && _aa=yes && break
4230 done
4232 if test "$_aa" = yes ; then
4233 _def_aa='#define HAVE_AA 1'
4234 if cygwin ; then
4235 _libs_mplayer="$_libs_mplayer `aalib-config --libs | cut -d " " -f 2,5,6`"
4237 _vosrc="$_vosrc vo_aa.c"
4238 _vomodules="aa $_vomodules"
4239 else
4240 _def_aa='#undef HAVE_AA'
4241 _novomodules="aa $_novomodules"
4243 echores "$_aa"
4246 echocheck "CACA"
4247 if test "$_caca" = auto ; then
4248 _caca=no
4249 if ( caca-config --version ) >> "$TMPLOG" 2>&1 ; then
4250 cat > $TMPC << EOF
4251 #include <caca.h>
4252 #ifdef CACA_API_VERSION_1
4253 #include <caca0.h>
4254 #endif
4255 int main(void) { (void) caca_init(); return 0; }
4257 cc_check `caca-config --libs` && _caca=yes
4260 if test "$_caca" = yes ; then
4261 _def_caca='#define HAVE_CACA 1'
4262 _inc_extra="$_inc_extra `caca-config --cflags`"
4263 _libs_mplayer="$_libs_mplayer `caca-config --libs`"
4264 _vosrc="$_vosrc vo_caca.c"
4265 _vomodules="caca $_vomodules"
4266 else
4267 _def_caca='#undef HAVE_CACA'
4268 _novomodules="caca $_novomodules"
4270 echores "$_caca"
4273 echocheck "SVGAlib"
4274 if test "$_svga" = auto ; then
4275 cat > $TMPC << EOF
4276 #include <vga.h>
4277 int main(void) { return 0; }
4279 _svga=no
4280 cc_check -lvga $_ld_lm && _svga=yes
4282 if test "$_svga" = yes ; then
4283 _def_svga='#define HAVE_SVGALIB 1'
4284 _libs_mplayer="$_libs_mplayer -lvga"
4285 _vosrc="$_vosrc vo_svga.c"
4286 _vomodules="svga $_vomodules"
4287 else
4288 _def_svga='#undef HAVE_SVGALIB'
4289 _novomodules="svga $_novomodules"
4291 echores "$_svga"
4294 echocheck "FBDev"
4295 if test "$_fbdev" = auto ; then
4296 _fbdev=no
4297 linux && test -c /dev/fb0 && _fbdev=yes
4299 if test "$_fbdev" = yes ; then
4300 _def_fbdev='#define HAVE_FBDEV 1'
4301 _vosrc="$_vosrc vo_fbdev.c vo_fbdev2.c"
4302 _vomodules="fbdev $_vomodules"
4303 else
4304 _def_fbdev='#undef HAVE_FBDEV'
4305 _novomodules="fbdev $_novomodules"
4307 echores "$_fbdev"
4311 echocheck "DVB"
4312 if test "$_dvb" = auto ; then
4313 _dvb=no
4314 cat >$TMPC << EOF
4315 #include <sys/poll.h>
4316 #include <sys/ioctl.h>
4317 #include <stdio.h>
4318 #include <time.h>
4319 #include <unistd.h>
4321 #include <ost/dmx.h>
4322 #include <ost/frontend.h>
4323 #include <ost/sec.h>
4324 #include <ost/video.h>
4325 #include <ost/audio.h>
4326 int main(void) {return 0;}
4328 for _inc_tmp in "" "-I/usr/src/DVB/ost/include" ; do
4329 cc_check $_inc_tmp && _dvb=yes && \
4330 _inc_extra="$_inc_extra $_inc_tmp" && break
4331 done
4333 echores "$_dvb"
4334 if test "$_dvb" = yes ; then
4335 _def_dvb='#define HAVE_DVB 1'
4336 _def_dvb_in='#define HAS_DVBIN_SUPPORT 1'
4337 _aomodules="mpegpes(dvb) $_aomodules"
4338 _vomodules="mpegpes(dvb) $_vomodules"
4341 echocheck "DVB HEAD"
4342 if test "$_dvbhead" = auto ; then
4343 _dvbhead=no
4345 cat >$TMPC << EOF
4346 #include <sys/poll.h>
4347 #include <sys/ioctl.h>
4348 #include <stdio.h>
4349 #include <time.h>
4350 #include <unistd.h>
4352 #include <linux/dvb/dmx.h>
4353 #include <linux/dvb/frontend.h>
4354 #include <linux/dvb/video.h>
4355 #include <linux/dvb/audio.h>
4356 int main(void) {return 0;}
4358 for _inc_tmp in "" "-I/usr/src/DVB/include" ; do
4359 cc_check $_inc_tmp && _dvbhead=yes && \
4360 _inc_extra="$_inc_extra $_inc_tmp" && break
4361 done
4363 echores "$_dvbhead"
4364 if test "$_dvbhead" = yes ; then
4365 _def_dvb='#define HAVE_DVB_HEAD 1'
4366 _def_dvb_in='#define HAS_DVBIN_SUPPORT 1'
4367 _aomodules="mpegpes(dvb) $_aomodules"
4368 _vomodules="mpegpes(dvb) $_vomodules"
4371 if test "$_dvbhead" = no && test "$_dvb" = no ; then
4372 _def_dvb='#undef HAVE_DVB'
4373 _def_dvb_in='#undef HAS_DVBIN_SUPPORT '
4374 _aomodules="mpegpes(file) $_aomodules"
4375 _vomodules="mpegpes(file) $_vomodules"
4378 if test "$_dvb" = yes || test "$_dvbhead" = yes ; then
4379 _dvbin=yes
4380 _inputmodules="dvb $_inputmodules"
4381 else
4382 _dvbin=no
4383 _noinputmodules="dvb $_noinputmodules"
4386 echocheck "PNG support"
4387 if test "$_png" = auto ; then
4388 _png=no
4389 if irix ; then
4390 # Don't check for -lpng on irix since it has its own libpng
4391 # incompatible with the GNU libpng
4392 _res_comment="disabled on irix (not GNU libpng)"
4393 else
4394 cat > $TMPC << EOF
4395 #include <png.h>
4396 #include <string.h>
4397 int main(void) {
4398 printf("png.h : %s\n", PNG_LIBPNG_VER_STRING);
4399 printf("libpng: %s\n", png_libpng_ver);
4400 return (strcmp(PNG_LIBPNG_VER_STRING, png_libpng_ver));
4403 if cc_check -lpng -lz $_ld_lm ; then
4404 if tmp_run ; then
4405 _png=yes
4406 else
4407 _res_comment="mismatch of library and header versions"
4412 echores "$_png"
4413 if test "$_png" = yes ; then
4414 _def_png='#define HAVE_PNG 1'
4415 _ld_extra="$_ld_extra -lpng -lz"
4416 _vosrc="$_vosrc vo_png.c"
4417 _vomodules="png $_vomodules"
4418 else
4419 _def_png='#undef HAVE_PNG'
4420 _novomodules="png $_novomodules"
4423 echocheck "JPEG support"
4424 if test "$_jpeg" = auto ; then
4425 _jpeg=no
4426 cat > $TMPC << EOF
4427 #include <stdio.h>
4428 #include <stdlib.h>
4429 #include <setjmp.h>
4430 #include <string.h>
4431 #include <jpeglib.h>
4432 int main(void) {
4433 return 0;
4436 if cc_check -ljpeg $_ld_lm ; then
4437 if tmp_run ; then
4438 _jpeg=yes
4442 echores "$_jpeg"
4444 if test "$_jpeg" = yes ; then
4445 _def_jpeg='#define HAVE_JPEG 1'
4446 _vosrc="$_vosrc vo_jpeg.c"
4447 _vomodules="jpeg $_vomodules"
4448 _ld_extra="$_ld_extra -ljpeg"
4449 else
4450 _def_jpeg='#undef HAVE_JPEG'
4451 _novomodules="jpeg $_novomodules"
4456 echocheck "PNM support"
4457 if test "$_pnm" = yes; then
4458 _def_pnm="#define HAVE_PNM"
4459 _vosrc="$_vosrc vo_pnm.c"
4460 _vomodules="pnm $_vomodules"
4461 else
4462 _def_pnm="#undef HAVE_PNM"
4463 _novomodules="pnm $_novomodules"
4465 echores "$_pnm"
4469 echocheck "GIF support"
4470 # This is to appease people who want to force gif support.
4471 # If it is forced to yes, then we still do checks to determine
4472 # which gif library to use.
4473 if test "$_gif" = yes ; then
4474 _force_gif=yes
4475 _gif=auto
4478 if test "$_gif" = auto ; then
4479 _gif=no
4480 cat > $TMPC << EOF
4481 #include <gif_lib.h>
4482 int main(void) {
4483 return 0;
4486 for _ld_gif in "-lungif" "-lgif" ; do
4487 cc_check $_ld_gif && tmp_run && _gif=yes && break
4488 done
4491 # If no library was found, and the user wants support forced,
4492 # then we force it on with libgif, as this is the safest
4493 # assumption IMHO. (libungif & libregif both create symbolic
4494 # links to libgif. We also assume that no x11 support is needed,
4495 # because if you are forcing this, then you _should_ know what
4496 # you are doing. [ Besides, package maintainers should never
4497 # have compiled x11 deps into libungif in the first place. ] )
4498 # </rant>
4499 # --Joey
4500 if test "$_force_gif" = yes && test "$_gif" = no ; then
4501 _gif=yes
4502 _ld_gif="-lgif"
4505 if test "$_gif" = yes ; then
4506 _def_gif='#define HAVE_GIF 1'
4507 _vosrc="$_vosrc vo_gif89a.c"
4508 _codecmodules="gif $_codecmodules"
4509 _vomodules="gif89a $_vomodules"
4510 _res_comment="old version, some encoding functions disabled"
4511 _def_gif_4='#undef HAVE_GIF_4'
4512 _ld_extra="$_ld_extra $_ld_gif"
4514 cat > $TMPC << EOF
4515 #include <signal.h>
4516 #include <gif_lib.h>
4517 void catch() { exit(1); }
4518 int main(void) {
4519 signal(SIGSEGV, catch); // catch segfault
4520 printf("EGifPutExtensionFirst is at address %p\n", EGifPutExtensionFirst);
4521 EGifSetGifVersion("89a"); // this will segfault a buggy gif lib.
4522 return 0;
4525 if cc_check "$_ld_gif" && tmp_run ; then
4526 _def_gif_4='#define HAVE_GIF_4 1'
4527 _res_comment=""
4529 else
4530 _def_gif='#undef HAVE_GIF'
4531 _def_gif_4='#undef HAVE_GIF_4'
4532 _novomodules="gif89a $_novomodules"
4533 _nocodecmodules="gif $_nocodecmodules"
4535 echores "$_gif"
4538 case "$_gif" in yes*)
4539 echocheck "broken giflib workaround"
4540 _def_gif_tvt_hack='#define HAVE_GIF_TVT_HACK 1'
4542 cat > $TMPC << EOF
4543 #include <gif_lib.h>
4544 int main(void) {
4545 GifFileType gif;
4546 printf("UserData is at address %p\n", gif.UserData);
4547 return 0;
4550 if cc_check "$_ld_gif" && tmp_run ; then
4551 _def_gif_tvt_hack='#undef HAVE_GIF_TVT_HACK'
4552 echores "disabled"
4553 else
4554 echores "enabled"
4557 esac
4560 echocheck "VESA support"
4561 if test "$_vesa" = auto ; then
4562 cat > $TMPC << EOF
4563 #include <vbe.h>
4564 int main(void) { vbeVersion(); return 0; }
4566 _vesa=no
4567 cc_check -lvbe -llrmi && _vesa=yes
4569 if test "$_vesa" = yes ; then
4570 _def_vesa='#define HAVE_VESA 1'
4571 _libs_mplayer="$_libs_mplayer -lvbe -llrmi"
4572 _vosrc="$_vosrc vo_vesa.c vesa_lvo.c gtf.c"
4573 _vomodules="vesa $_vomodules"
4574 else
4575 _def_vesa='#undef HAVE_VESA'
4576 _novomodules="vesa $_novomodules"
4578 echores "$_vesa"
4580 #################
4581 # VIDEO + AUDIO #
4582 #################
4585 echocheck "SDL"
4586 if test -z "$_sdlconfig" ; then
4587 if ( sdl-config --version ) >>"$TMPLOG" 2>&1 ; then
4588 _sdlconfig="sdl-config"
4589 elif ( sdl11-config --version ) >>"$TMPLOG" 2>&1 ; then
4590 _sdlconfig="sdl11-config"
4591 else
4592 _sdlconfig=false
4595 if test "$_sdl" = auto || test "$_sdl" = yes ; then
4596 cat > $TMPC << EOF
4597 #include <SDL.h>
4598 int main(int argc, char *argv[]) { return 0; }
4600 _sdl=no
4601 if "$_sdlconfig" --version >>"$TMPLOG" 2>&1 ; then
4602 if cc_check `$_sdlconfig --cflags` `$_sdlconfig --libs` >>"$TMPLOG" 2>&1 ; then
4603 _sdlversion=`$_sdlconfig --version | sed 's/[^0-9]//g'`
4604 if test "$_sdlversion" -gt 116 ; then
4605 if test "$_sdlversion" -lt 121 ; then
4606 _def_sdlbuggy='#define BUGGY_SDL'
4607 else
4608 _def_sdlbuggy='#undef BUGGY_SDL'
4610 _sdl=yes
4615 if test "$_sdl" = yes ; then
4616 _def_sdl='#define HAVE_SDL 1'
4617 if cygwin ; then
4618 _libs_mplayer="$_libs_mplayer `$_sdlconfig --libs | cut -d " " -f 1,4,6 | sed s/no-cygwin/cygwin/`"
4619 _inc_extra="$_inc_extra `$_sdlconfig --cflags | cut -d " " -f 1,5,6 | sed s/no-cygwin/cygwin/`"
4620 elif mingw32 ; then
4621 _libs_mplayer="$_libs_mplayer `$_sdlconfig --libs | sed -e s/-mwindows// -e s/-lmingw32//`"
4622 _inc_extra="$_inc_extra `$_sdlconfig --cflags | sed s/-Dmain=SDL_main//`"
4623 else
4624 _libs_mplayer="$_libs_mplayer `$_sdlconfig --libs`"
4625 _inc_extra="$_inc_extra `$_sdlconfig --cflags | sed s/-D_GNU_SOURCE=1//`"
4627 _vosrc="$_vosrc vo_sdl.c"
4628 _vomodules="sdl $_vomodules"
4629 _aosrc="$_aosrc ao_sdl.c"
4630 _aomodules="sdl $_aomodules"
4631 _res_comment="using $_sdlconfig"
4632 else
4633 _def_sdl='#undef HAVE_SDL'
4634 _novomodules="sdl $_novomodules"
4635 _noaomodules="sdl $_noaomodules"
4637 echores "$_sdl"
4640 if win32; then
4642 echocheck "Windows waveout"
4643 if test "$_win32waveout" = auto ; then
4644 cat > $TMPC << EOF
4645 #include <windows.h>
4646 #include <mmsystem.h>
4647 int main(void) { return 0; }
4649 _win32waveout=no
4650 cc_check -lwinmm && _win32waveout=yes
4652 if test "$_win32waveout" = yes ; then
4653 _def_win32waveout='#define HAVE_WIN32WAVEOUT 1'
4654 _libs_mplayer="$_libs_mplayer -lwinmm"
4655 _aosrc="$_aosrc ao_win32.c"
4656 _aomodules="win32 $_aomodules"
4657 else
4658 _def_win32waveout='#undef HAVE_WIN32WAVEOUT'
4659 _noaomodules="win32 $_noaomodules"
4661 echores "$_win32waveout"
4663 echocheck "Directx"
4664 if test "$_directx" = auto ; then
4665 cat > $TMPC << EOF
4666 #include <windows.h>
4667 #include <ddraw.h>
4668 #include <dsound.h>
4669 int main(void) { return 0; }
4671 _directx=no
4672 cc_check -lgdi32 && _directx=yes
4674 if test "$_directx" = yes ; then
4675 _def_directx='#define HAVE_DIRECTX 1'
4676 _libs_mplayer="$_libs_mplayer -lgdi32"
4677 _vosrc="$_vosrc vo_directx.c"
4678 _vomodules="directx $_vomodules"
4679 _aosrc="$_aosrc ao_dsound.c"
4680 _aomodules="dsound $_aomodules"
4681 else
4682 _def_directx='#undef HAVE_DIRECTX'
4683 _novomodules="directx $_novomodules"
4684 _noaomodules="dsound $_noaomodules"
4686 echores "$_directx"
4688 fi #if win32; then
4691 echocheck "NAS"
4692 if test "$_nas" = auto ; then
4693 cat > $TMPC << EOF
4694 #include <audio/audiolib.h>
4695 int main(void) { return 0; }
4697 _nas=no
4698 cc_check $_ld_lm -laudio -lXt && _nas=yes
4700 if test "$_nas" = yes ; then
4701 _def_nas='#define HAVE_NAS 1'
4702 _libs_mplayer="$_libs_mplayer -laudio -lXt"
4703 _aosrc="$_aosrc ao_nas.c"
4704 _aomodules="nas $_aomodules"
4705 else
4706 _noaomodules="nas $_noaomodules"
4707 _def_nas='#undef HAVE_NAS'
4709 echores "$_nas"
4711 echocheck "DXR2"
4712 if test "$_dxr2" = auto; then
4713 _dxr2=no
4714 cat > $TMPC << EOF
4715 #include <dxr2ioctl.h>
4716 int main(void) { return 0; }
4718 for _inc_tmp in "" -I/usr/local/include/dxr2 -I/usr/include/dxr2; do
4719 cc_check $_inc_tmp && _dxr2=yes && \
4720 _inc_extra="$_inc_extra $_inc_tmp" && break
4721 done
4723 if test "$_dxr2" = yes; then
4724 _def_dxr2='#define HAVE_DXR2 1'
4725 _vosrc="$_vosrc vo_dxr2.c"
4726 _aosrc="$_aosrc ao_dxr2.c"
4727 _aomodules="dxr2 $_aomodules"
4728 _vomodules="dxr2 $_vomodules"
4729 else
4730 _def_dxr2='#undef HAVE_DXR2'
4731 _noaomodules="dxr2 $_noaomodules"
4732 _novomodules="dxr2 $_novomodules"
4734 echores "$_dxr2"
4736 echocheck "DXR3/H+"
4737 if test "$_dxr3" = auto ; then
4738 cat > $TMPC << EOF
4739 #include <linux/em8300.h>
4740 int main(void) { return 0; }
4742 _dxr3=no
4743 cc_check && _dxr3=yes
4745 if test "$_dxr3" = yes ; then
4746 _def_dxr3='#define HAVE_DXR3 1'
4747 _vosrc="$_vosrc vo_dxr3.c"
4748 _vomodules="dxr3 $_vomodules"
4749 else
4750 _def_dxr3='#undef HAVE_DXR3'
4751 _novomodules="dxr3 $_novomodules"
4753 echores "$_dxr3"
4756 echocheck "IVTV TV-Out"
4757 if test "$_ivtv" = auto ; then
4758 cat > $TMPC << EOF
4759 #include <stdlib.h>
4760 #include <inttypes.h>
4761 #include <linux/types.h>
4762 #include <linux/videodev2.h>
4763 #include <linux/ivtv.h>
4764 int main(void) { return 0; }
4766 _ivtv=no
4767 cc_check && _ivtv=yes
4769 if test "$_ivtv" = yes ; then
4770 _def_ivtv='#define HAVE_IVTV 1'
4771 _vosrc="$_vosrc vo_ivtv.c"
4772 _vomodules="ivtv $_vomodules"
4773 _aosrc="$_aosrc ao_ivtv.c"
4774 _aomodules="ivtv $_aomodules"
4775 else
4776 _def_ivtv='#undef HAVE_IVTV'
4777 _novomodules="ivtv $_novomodules"
4778 _noaomodules="ivtv $_noaomodules"
4780 echores "$_ivtv"
4784 #########
4785 # AUDIO #
4786 #########
4789 echocheck "OSS Audio"
4790 if test "$_ossaudio" = auto ; then
4791 cat > $TMPC << EOF
4792 #include <sys/ioctl.h>
4793 $_include_soundcard
4794 int main(void) { int arg = SNDCTL_DSP_SETFRAGMENT; return 0; }
4796 _ossaudio=no
4797 cc_check && _ossaudio=yes
4799 if test "$_ossaudio" = yes ; then
4800 _def_ossaudio='#define USE_OSS_AUDIO 1'
4801 _aosrc="$_aosrc ao_oss.c"
4802 _aomodules="oss $_aomodules"
4803 if test "$_linux_devfs" = yes; then
4804 _def_ossaudio_devdsp='#define PATH_DEV_DSP "/dev/sound/dsp"'
4805 _def_ossaudio_devmixer='#define PATH_DEV_MIXER "/dev/sound/mixer"'
4806 else
4807 cat > $TMPC << EOF
4808 #include <sys/ioctl.h>
4809 $_include_soundcard
4810 #ifdef OPEN_SOUND_SYSTEM
4811 int main(void) { return 0; }
4812 #else
4813 #error Not the real thing
4814 #endif
4816 _real_ossaudio=no
4817 cc_check && _real_ossaudio=yes
4818 if test "$_real_ossaudio" = yes; then
4819 _def_ossaudio_devdsp='#define PATH_DEV_DSP "/dev/dsp"'
4820 elif netbsd || openbsd ; then
4821 _def_ossaudio_devdsp='#define PATH_DEV_DSP "/dev/sound"'
4822 _ld_extra="$_ld_extra -lossaudio"
4823 else
4824 _def_ossaudio_devdsp='#define PATH_DEV_DSP "/dev/dsp"'
4826 _def_ossaudio_devmixer='#define PATH_DEV_MIXER "/dev/mixer"'
4828 else
4829 _def_ossaudio='#undef USE_OSS_AUDIO'
4830 _def_ossaudio_devdsp='#define PATH_DEV_DSP ""'
4831 _def_ossaudio_devmixer='#define PATH_DEV_MIXER ""'
4832 _noaomodules="oss $_noaomodules"
4834 echores "$_ossaudio"
4837 echocheck "aRts"
4838 if test "$_arts" = auto ; then
4839 _arts=no
4840 if ( artsc-config --version ) >> "$TMPLOG" 2>&1 ; then
4842 cat > $TMPC << EOF
4843 #include <artsc.h>
4844 int main(void) { return 0; }
4846 cc_check `artsc-config --libs` `artsc-config --cflags` && tmp_run && _arts=yes
4851 if test "$_arts" = yes ; then
4852 _def_arts='#define USE_ARTS 1'
4853 _aosrc="$_aosrc ao_arts.c"
4854 _aomodules="arts $_aomodules"
4855 _libs_mplayer="$_libs_mplayer `artsc-config --libs`"
4856 _inc_extra="$_inc_extra `artsc-config --cflags`"
4857 else
4858 _noaomodules="arts $_noaomodules"
4860 echores "$_arts"
4863 echocheck "EsounD"
4864 if test "$_esd" = auto ; then
4865 _esd=no
4866 if ( esd-config --version ) >> "$TMPLOG" 2>&1 ; then
4868 cat > $TMPC << EOF
4869 #include <esd.h>
4870 int main(void) { return 0; }
4872 cc_check `esd-config --libs` `esd-config --cflags` && tmp_run && _esd=yes
4876 echores "$_esd"
4878 if test "$_esd" = yes ; then
4879 _def_esd='#define USE_ESD 1'
4880 _aosrc="$_aosrc ao_esd.c"
4881 _aomodules="esd $_aomodules"
4882 _libs_mplayer="$_libs_mplayer `esd-config --libs`"
4883 _inc_extra="$_inc_extra `esd-config --cflags`"
4885 echocheck "esd_get_latency()"
4886 cat > $TMPC << EOF
4887 #include <esd.h>
4888 int main(void) { return esd_get_latency(0); }
4890 cc_check `esd-config --libs` `esd-config --cflags` && _esd_latency=yes && _def_esd_latency='#define HAVE_ESD_LATENCY'
4891 echores "$_esd_latency"
4892 else
4893 _def_esd='#undef USE_ESD'
4894 _def_esd_latency='#undef HAVE_ESD_LATENCY'
4895 _noaomodules="esd $_noaomodules"
4898 echocheck "Polyp"
4899 if test "$_polyp" = auto ; then
4900 _polyp=no
4901 if $_pkg_config --exists 'polyplib >= 0.6 polyplib-error >= 0.6 polyplib-mainloop >= 0.6' ; then
4903 cat > $TMPC << EOF
4904 #include <polyp/polyplib.h>
4905 #include <polyp/mainloop.h>
4906 #include <polyp/polyplib-error.h>
4907 int main(void) { return 0; }
4909 cc_check `$_pkg_config --libs --cflags polyplib polyplib-error polyplib-mainloop` && tmp_run && _polyp=yes
4913 echores "$_polyp"
4915 if test "$_polyp" = yes ; then
4916 _def_polyp='#define USE_POLYP 1'
4917 _aosrc="$_aosrc ao_polyp.c"
4918 _aomodules="polyp $_aomodules"
4919 _libs_mplayer="$_libs_mplayer `$_pkg_config --libs polyplib polyplib-error polyplib-mainloop`"
4920 _inc_extra="$_inc_extra `$_pkg_config --cflags polyplib polyplib-error polyplib-mainloop`"
4921 else
4922 _def_polyp='#undef USE_POLYP'
4923 _noaomodules="polyp $_noaomodules"
4927 echocheck "JACK"
4928 if test "$_jack" = auto ; then
4929 _jack=yes
4931 cat > $TMPC << EOF
4932 #include <jack/jack.h>
4933 int main(void) { jack_client_new("test"); return 0; }
4935 if cc_check -ljack ; then
4936 _libs_mplayer="$_libs_mplayer -ljack"
4937 elif cc_check `$_pkg_config --libs --cflags --silence-errors jack` ; then
4938 _libs_mplayer="$_libs_mplayer `$_pkg_config --libs jack`"
4939 _inc_extra="$_inc_extra "`$_pkg_config --cflags jack`""
4940 else
4941 _jack=no
4945 if test "$_jack" = yes ; then
4946 _def_jack='#define USE_JACK 1'
4947 _aosrc="$_aosrc ao_jack.c"
4948 _aomodules="jack $_aomodules"
4949 else
4950 _noaomodules="jack $_noaomodules"
4952 echores "$_jack"
4954 echocheck "OpenAL"
4955 if test "$_openal" = auto ; then
4956 _openal=no
4957 cat > $TMPC << EOF
4958 #ifdef OPENAL_AL_H
4959 #include <OpenAL/al.h>
4960 #else
4961 #include <AL/al.h>
4962 #endif
4963 int main(void) {
4964 alSourceQueueBuffers(0, 0, 0);
4965 // alGetSourcei(0, AL_SAMPLE_OFFSET, 0);
4966 return 0;
4969 for I in "-lopenal" "-framework OpenAL" ; do
4970 cc_check $I && _openal=yes && break
4971 cc_check -DOPENAL_AL_H=1 $I && _def_openal_h='#define OPENAL_AL_H 1' && _openal=yes && break
4972 done
4973 test "$_openal" = yes && _libs_mplayer="$_libs_mplayer $I"
4975 if test "$_openal" = yes ; then
4976 _def_openal='#define USE_OPENAL 1'
4977 _aosrc="$_aosrc ao_openal.c"
4978 _aomodules="openal $_aomodules"
4979 else
4980 _noaomodules="openal $_noaomodules"
4982 echores "$_openal"
4984 echocheck "ALSA audio"
4985 if test "$_alsa" != no ; then
4986 _alsa=no
4987 cat > $TMPC << EOF
4988 #include <sys/asoundlib.h>
4989 #if !((SND_LIB_MAJOR == 0) && (SND_LIB_MINOR == 5))
4990 #error "alsa version != 0.5.x"
4991 #endif
4992 int main(void) { return 0; }
4994 cc_check -lasound $_ld_dl $_ld_pthread && _alsaver='0.5.x'
4996 cat > $TMPC << EOF
4997 #include <sys/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-sys'
5004 cat > $TMPC << EOF
5005 #include <alsa/asoundlib.h>
5006 #if !((SND_LIB_MAJOR == 0) && (SND_LIB_MINOR == 9))
5007 #error "alsa version != 0.9.x"
5008 #endif
5009 int main(void) { return 0; }
5011 cc_check -lasound $_ld_dl $_ld_pthread && _alsaver='0.9.x-alsa'
5013 cat > $TMPC << EOF
5014 #include <sys/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-sys'
5021 cat > $TMPC << EOF
5022 #include <alsa/asoundlib.h>
5023 #if !((SND_LIB_MAJOR == 1) && (SND_LIB_MINOR == 0))
5024 #error "alsa version != 1.0.x"
5025 #endif
5026 int main(void) { return 0; }
5028 cc_check -lasound $_ld_dl $_ld_pthread && _alsaver='1.0.x-alsa'
5030 _def_alsa5='#undef HAVE_ALSA5'
5031 _def_alsa9='#undef HAVE_ALSA9'
5032 _def_alsa1x='#undef HAVE_ALSA1X'
5033 _def_sys_asoundlib_h='#undef HAVE_SYS_ASOUNDLIB_H'
5034 _def_alsa_asoundlib_h='#undef HAVE_ALSA_ASOUNDLIB_H'
5035 if test "$_alsaver" ; then
5036 _alsa=yes
5037 if test "$_alsaver" = '0.5.x' ; then
5038 _alsa5=yes
5039 _aosrc="$_aosrc ao_alsa5.c"
5040 _aomodules="alsa5 $_aomodules"
5041 _def_alsa5='#define HAVE_ALSA5 1'
5042 _def_sys_asoundlib_h='#define HAVE_SYS_ASOUNDLIB_H 1'
5043 _res_comment="using alsa 0.5.x and sys/asoundlib.h"
5044 elif test "$_alsaver" = '0.9.x-sys' ; then
5045 _alsa9=yes
5046 _aosrc="$_aosrc ao_alsa.c"
5047 _aomodules="alsa $_aomodules"
5048 _def_alsa9='#define HAVE_ALSA9 1'
5049 _def_sys_asoundlib_h='#define HAVE_SYS_ASOUNDLIB_H 1'
5050 _res_comment="using alsa 0.9.x and sys/asoundlib.h"
5051 elif test "$_alsaver" = '0.9.x-alsa' ; then
5052 _alsa9=yes
5053 _aosrc="$_aosrc ao_alsa.c"
5054 _aomodules="alsa $_aomodules"
5055 _def_alsa9='#define HAVE_ALSA9 1'
5056 _def_alsa_asoundlib_h='#define HAVE_ALSA_ASOUNDLIB_H 1'
5057 _res_comment="using alsa 0.9.x and alsa/asoundlib.h"
5058 elif test "$_alsaver" = '1.0.x-sys' ; then
5059 _alsa1x=yes
5060 _aosrc="$_aosrc ao_alsa.c"
5061 _aomodules="alsa $_aomodules"
5062 _def_alsa1x="#define HAVE_ALSA1X 1"
5063 _def_alsa_asoundlib_h='#define HAVE_SYS_ASOUNDLIB_H 1'
5064 _res_comment="using alsa 1.0.x and sys/asoundlib.h"
5065 elif test "$_alsaver" = '1.0.x-alsa' ; then
5066 _alsa1x=yes
5067 _aosrc="$_aosrc ao_alsa.c"
5068 _aomodules="alsa $_aomodules"
5069 _def_alsa1x="#define HAVE_ALSA1X 1"
5070 _def_alsa_asoundlib_h='#define HAVE_ALSA_ASOUNDLIB_H 1'
5071 _res_comment="using alsa 1.0.x and alsa/asoundlib.h"
5072 else
5073 _alsa=no
5074 _res_comment="unknown version"
5076 _ld_extra="$_ld_extra -lasound $_ld_dl $_ld_pthread"
5077 else
5078 _noaomodules="alsa $_noaomodules"
5080 echores "$_alsa"
5083 echocheck "Sun audio"
5084 if test "$_sunaudio" = auto ; then
5085 cat > $TMPC << EOF
5086 #include <sys/types.h>
5087 #include <sys/audioio.h>
5088 int main(void) { audio_info_t info; AUDIO_INITINFO(&info); return 0; }
5090 _sunaudio=no
5091 cc_check && _sunaudio=yes
5093 if test "$_sunaudio" = yes ; then
5094 _def_sunaudio='#define USE_SUN_AUDIO 1'
5095 _aosrc="$_aosrc ao_sun.c"
5096 _aomodules="sun $_aomodules"
5097 else
5098 _def_sunaudio='#undef USE_SUN_AUDIO'
5099 _noaomodules="sun $_noaomodules"
5101 echores "$_sunaudio"
5104 if sunos; then
5105 echocheck "Sun mediaLib"
5106 if test "$_mlib" = auto ; then
5107 _mlib=no
5108 cat > $TMPC << EOF
5109 #include <mlib.h>
5110 int main(void) { mlib_VideoColorYUV2ABGR420(0,0,0,0,0,0,0,0,0); return 0; }
5112 cc_check -lmlib && _mlib=yes
5114 if test "$_mlib" = yes ; then
5115 _def_mlib='#define HAVE_MLIB 1'
5116 else
5117 _def_mlib='#undef HAVE_MLIB'
5119 echores "$_mlib"
5120 fi #if sunos
5123 if irix; then
5124 echocheck "SGI audio"
5125 if test "$_sgiaudio" = auto ; then
5126 # check for SGI audio
5127 cat > $TMPC << EOF
5128 #include <dmedia/audio.h>
5129 int main(void) { return 0; }
5131 _sgiaudio=no
5132 cc_check && _sgiaudio=yes
5134 if test "$_sgiaudio" = "yes" ; then
5135 _def_sgiaudio='#define USE_SGI_AUDIO 1'
5136 _libs_mplayer="$_libs_mplayer -laudio"
5137 _aosrc="$_aosrc ao_sgi.c"
5138 _aomodules="sgi $_aomodules"
5139 else
5140 _def_sgiaudio='#undef USE_SGI_AUDIO'
5141 _noaomodules="sgi $_noaomodules"
5143 echores "$_sgiaudio"
5144 fi #if irix
5147 echocheck "VCD support"
5148 if linux || bsdos || freebsd || netbsd || sunos || darwin ; then
5149 _inputmodules="vcd $_inputmodules"
5150 _def_vcd='#define HAVE_VCD 1'
5151 _vcd="yes"
5152 else
5153 _def_vcd='#undef HAVE_VCD'
5154 _noinputmodules="vcd $_noinputmodules"
5155 _res_comment="not supported on this OS"
5156 _vcd="no"
5158 echores "$_vcd"
5160 echocheck "DVD support (libdvdnav)"
5161 if test "$_dvdnav" = auto ; then
5162 $_dvdnavconfig --version >> $TMPLOG 2>&1 || _dvdnav=no
5164 if test "$_dvdnav" = auto ; then
5165 cat > $TMPC <<EOF
5166 #include <dvdnav.h>
5167 int main(void) { dvdnav_t *dvd=0; return 0; }
5169 _dvdnav=no
5170 _dvdnavdir=`$_dvdnavconfig --cflags`
5171 _dvdnavlibs=`$_dvdnavconfig --libs`
5172 _dvdnavvsn=`$_dvdnavconfig --version | sed "s/\.//g"`
5173 _dvdnavmajor=`echo $_dvdnavvsn | cut -d. -f2`
5174 test "$_dvdnavmajor" -ge 2 -o "$_dvdnavvsn" -ge 0110 && \
5175 cc_check $_dvdnavdir $_dvdnavlibs $_ld_dl $_ld_pthread && _dvdnav=yes
5177 if test "$_dvdnav" = yes ; then
5178 _largefiles=yes
5179 _def_dvdnav='#define USE_DVDNAV 1'
5180 _ld_extra="$_ld_extra `$_dvdnavconfig --libs`"
5181 _dvdnav_version=`$_dvdnavconfig --version | sed "s/\.//g"`
5182 _def_dvdnav_version="#define DVDNAVVERSION $_dvdnav_version"
5183 _inc_extra="$_inc_extra `$_dvdnavconfig --cflags`"
5184 _inputmodules="dvdnav $_inputmodules"
5186 #disable dvdread checks: dvdread will be enabled using dvdnav's version of dvdread
5187 _dvdread_internal=no
5188 _dvdread=yes
5189 else
5190 _def_dvdnav='#undef USE_DVDNAV'
5191 _noinputmodules="dvdnav $_noinputmodules"
5193 echores "$_dvdnav"
5196 echocheck "dvdread"
5197 if test "$_dvdread_internal" = auto ; then
5198 _dvdread_internal=no
5199 if linux || freebsd || netbsd || darwin || openbsd || win32 || sunos || hpux && \
5200 test "$_dvd" = yes || test "$_cdrom" = yes || test "$_cdio" = yes || \
5201 test "$_dvdio" = yes || test "$_bsdi_dvd" = yes || \
5202 test "$_hpux_scsi_h" = yes || darwin || win32 ; then
5203 _dvdread_internal=yes
5204 _dvdread=yes
5205 _res_comment="internal"
5207 elif test "$_dvdread" = auto ; then
5208 _dvdread=no
5209 if test "$_dl" = yes; then
5210 cat > $TMPC << EOF
5211 #include <inttypes.h>
5212 #include <dvdread/dvd_reader.h>
5213 #include <dvdread/ifo_types.h>
5214 #include <dvdread/ifo_read.h>
5215 #include <dvdread/nav_read.h>
5216 int main(void) { return 0; }
5218 cc_check -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE \
5219 -ldvdread $_ld_dl && _dvdread=yes && _res_comment="external"
5223 if test "$_dvdread_internal" = yes; then
5224 _def_dvdread_internal="#define USE_DVDREAD_INTERNAL 1"
5225 _def_dvdread='#define USE_DVDREAD 1'
5226 _inputmodules="dvdread $_inputmodules"
5227 _largefiles=yes
5228 elif test "$_dvdread" = yes; then
5229 _def_dvdread='#define USE_DVDREAD 1'
5230 _inputmodules="dvdread $_inputmodules"
5231 _largefiles=yes
5232 test "$_dvdnav" != yes && _ld_extra="$_ld_extra -ldvdread"
5233 else
5234 _def_dvdread_internal="#undef USE_DVDREAD_INTERNAL"
5235 _def_dvdread='#undef USE_DVDREAD'
5236 _noinputmodules="dvdread $_noinputmodules"
5238 echores "$_dvdread"
5241 echocheck "internal libdvdcss"
5242 if test "$_libdvdcss_internal" = auto ; then
5243 _libdvdcss_internal=no
5244 test "$_dvdread_internal" = yes && _libdvdcss_internal=yes
5246 if test "$_libdvdcss_internal" = yes ; then
5247 if linux || netbsd || openbsd || bsdos ; then
5248 _def_dvd_linux='#define HAVE_LINUX_DVD_STRUCT 1'
5249 openbsd && _dev_dvd_openbsd='#define HAVE_OPENBSD_DVD_STRUCT 1'
5250 elif freebsd ; then
5251 _def_dvd_bsd='#define HAVE_BSD_DVD_STRUCT 1'
5252 elif darwin ; then
5253 _def_dvd_darwin='#define DARWIN_DVD_IOCTL'
5254 _ld_extra="$_ld_extra -framework IOKit"
5256 _inputmodules="libdvdcss $_inputmodules"
5257 else
5258 _noinputmodules="libdvdcss $_noinputmodules"
5260 echores "$_libdvdcss_internal"
5263 echocheck "cdparanoia"
5264 if test "$_cdparanoia" = auto ; then
5265 cat > $TMPC <<EOF
5266 #include <cdda_interface.h>
5267 #include <cdda_paranoia.h>
5268 // This need a better test. How ?
5269 int main(void) {
5270 void *test = cdda_verbose_set;
5271 return test == (void *)1;
5274 _cdparanoia=no
5275 for _inc_tmp in "" "-I/usr/include/cdda" "-I/usr/local/include/cdda" ; do
5276 cc_check $_inc_tmp -lcdda_interface -lcdda_paranoia $_ld_lm && \
5277 _cdparanoia=yes && _inc_extra="$_inc_extra $_inc_tmp" && break
5278 done
5280 if test "$_cdparanoia" = yes ; then
5281 _cdda='yes'
5282 _ld_extra="$_ld_extra -lcdda_interface -lcdda_paranoia"
5283 openbsd && _ld_extra="$_ld_extra -lutil"
5285 echores "$_cdparanoia"
5288 echocheck "libcdio"
5289 if test "$_libcdio" = auto && test "$_cdparanoia" = no ; then
5290 cat > $TMPC << EOF
5291 #include <stdio.h>
5292 #include <cdio/version.h>
5293 #include <cdio/cdda.h>
5294 #include <cdio/paranoia.h>
5295 int main()
5297 void *test = cdda_verbose_set;
5298 printf("%s\n", CDIO_VERSION);
5299 return test == (void *)1;
5303 _libcdio=no
5304 for _ld_tmp in "" "-lwinmm" ; do
5305 _ld_tmp="-lcdio_cdda -lcdio -lcdio_paranoia $_ld_tmp"
5306 cc_check $_ld_tmp $_ld_lm \
5307 && _libcdio=yes && _ld_extra="$_ld_extra $_ld_tmp" && break
5308 done
5309 if test "$_libcdio" = no && $_pkg_config --exists libcdio_paranoia ; then
5310 _inc_tmp=`$_pkg_config --cflags libcdio_paranoia`
5311 _ld_tmp=`$_pkg_config --libs libcdio_paranoia`
5312 cc_check $_inc_tmp $_ld_tmp $_ld_lm && _libcdio=yes \
5313 && _ld_extra="$_ld_extra $_ld_tmp" && _inc_extra="$_inc_extra $_inc_tmp"
5316 if test "$_libcdio" = yes && test "$_cdparanoia" = no ; then
5317 _cdda='yes'
5318 _def_libcdio='#define HAVE_LIBCDIO'
5319 _def_havelibcdio='yes'
5320 else
5321 if test "$_cdparanoia" = yes ; then
5322 _res_comment="using cdparanoia"
5324 _def_libcdio='#undef HAVE_LIBCDIO'
5325 _def_havelibcdio='no'
5327 echores "$_libcdio"
5329 if test "$_cdda" = yes ; then
5330 test $_cddb = auto && test $_network = yes && not darwin && _cddb=yes
5331 _def_cdparanoia='#define HAVE_CDDA'
5332 _inputmodules="cdda $_inputmodules"
5333 else
5334 _def_cdparanoia='#undef HAVE_CDDA'
5335 _noinputmodules="cdda $_noinputmodules"
5338 if test "$_cddb" = yes ; then
5339 _def_cddb='#define HAVE_CDDB'
5340 _inputmodules="cddb $_inputmodules"
5341 else
5342 _cddb=no
5343 _def_cddb='#undef HAVE_CDDB'
5344 _noinputmodules="cddb $_noinputmodules"
5347 echocheck "bitmap font support"
5348 if test "$_bitmap_font" = yes ; then
5349 _def_bitmap_font="#define HAVE_BITMAP_FONT 1"
5350 else
5351 _def_bitmap_font="#undef HAVE_BITMAP_FONT"
5353 echores "$_bitmap_font"
5356 echocheck "freetype >= 2.0.9"
5358 # freetype depends on iconv
5359 if test "$_iconv" = no ; then
5360 _freetype=no
5361 _res_comment="iconv support needed"
5364 if test "$_freetype" = auto ; then
5365 if ( $_freetypeconfig --version ) >/dev/null 2>&1 ; then
5366 cat > $TMPC << EOF
5367 #include <stdio.h>
5368 #include <ft2build.h>
5369 #include FT_FREETYPE_H
5370 #if ((FREETYPE_MAJOR < 2) || ((FREETYPE_MINOR == 0) && (FREETYPE_PATCH < 9)))
5371 #error "Need FreeType 2.0.9 or newer"
5372 #endif
5373 int main()
5375 FT_Library library;
5376 FT_Int major=-1,minor=-1,patch=-1;
5377 int err=FT_Init_FreeType(&library);
5378 if(err){
5379 printf("Couldn't initialize freetype2 lib, err code: %d\n",err);
5380 exit(err);
5382 FT_Library_Version(library,&major,&minor,&patch); // in v2.1.0+ only :(((
5383 printf("freetype2 header version: %d.%d.%d library version: %d.%d.%d\n",
5384 FREETYPE_MAJOR,FREETYPE_MINOR,FREETYPE_PATCH,
5385 (int)major,(int)minor,(int)patch );
5386 if(major!=FREETYPE_MAJOR || minor!=FREETYPE_MINOR){
5387 printf("Library and header version mismatch! Fix it in your distribution!\n");
5388 exit(1);
5390 return 0;
5393 _freetype=no
5394 cc_check `$_freetypeconfig --cflags` `$_freetypeconfig --libs` && tmp_run && _freetype=yes
5395 else
5396 _freetype=no
5399 if test "$_freetype" = yes ; then
5400 _def_freetype='#define HAVE_FREETYPE'
5401 _inc_extra="$_inc_extra `$_freetypeconfig --cflags`"
5402 _ld_extra="$_ld_extra `$_freetypeconfig --libs`"
5403 else
5404 _def_freetype='#undef HAVE_FREETYPE'
5406 echores "$_freetype"
5408 if test "$_freetype" = no ; then
5409 _fontconfig=no
5410 _res_comment="freetype support needed"
5412 echocheck "fontconfig"
5413 if test "$_fontconfig" = auto ; then
5414 cat > $TMPC << EOF
5415 #include <stdio.h>
5416 #include <fontconfig/fontconfig.h>
5417 int main()
5419 int err = FcInit();
5420 if(err == FcFalse){
5421 printf("Couldn't initialize fontconfig lib\n");
5422 exit(err);
5424 return 0;
5428 _fontconfig=no
5429 for _ld_tmp in "" "-lexpat -lfreetype" "-lexpat -lfreetype -lz" ; do
5430 _ld_tmp="-lfontconfig $_ld_tmp"
5431 cc_check $_ld_tmp && _fontconfig=yes && _ld_extra="$_ld_extra $_ld_tmp" && break
5432 done
5433 if test "$_fontconfig" = no && $_pkg_config --exists fontconfig ; then
5434 _inc_tmp=`$_pkg_config --cflags fontconfig`
5435 _ld_tmp=`$_pkg_config --libs fontconfig`
5436 cc_check $_inc_tmp $_ld_tmp && _fontconfig=yes \
5437 && _ld_extra="$_ld_extra $_ld_tmp" && _inc_extra="$_inc_extra $_inc_tmp"
5440 if test "$_fontconfig" = yes ; then
5441 _def_fontconfig='#define HAVE_FONTCONFIG'
5442 else
5443 _def_fontconfig='#undef HAVE_FONTCONFIG'
5445 echores "$_fontconfig"
5448 echocheck "SSA/ASS support"
5449 # libass depends on FreeType
5450 if test "$_freetype" = no ; then
5451 _ass=no
5452 _res_comment="FreeType support needed"
5455 if test "$_ass" = auto ; then
5456 cat > $TMPC << EOF
5457 #include <ft2build.h>
5458 #include FT_FREETYPE_H
5459 #if ((FREETYPE_MAJOR < 2) || (FREETYPE_MINOR < 1) || ((FREETYPE_MINOR == 1) && (FREETYPE_PATCH < 8)))
5460 #error "Need FreeType 2.1.8 or newer"
5461 #endif
5462 int main() { return 0; }
5464 _ass=no
5465 cc_check `$_freetypeconfig --cflags` `$_freetypeconfig --libs` && tmp_run && _ass=yes
5466 if test "$_ass" = no ; then
5467 _res_comment="FreeType >= 2.1.8 needed"
5470 if test "$_ass" = yes ; then
5471 _def_ass='#define USE_ASS'
5472 else
5473 _def_ass='#undef USE_ASS'
5475 echores "$_ass"
5478 echocheck "fribidi with charsets"
5479 if test "$_fribidi" = auto ; then
5480 if ( $_fribidiconfig --version ) >/dev/null 2>&1 ; then
5481 cat > $TMPC << EOF
5482 #include <stdio.h>
5483 /* workaround for fribidi 0.10.4 and below */
5484 #define FRIBIDI_CHARSET_UTF8 FRIBIDI_CHAR_SET_UTF8
5485 #include <fribidi/fribidi.h>
5486 int main()
5488 if(fribidi_parse_charset("UTF-8") != FRIBIDI_CHAR_SET_UTF8) {
5489 printf("Fribidi headers are not consistents with the library!\n");
5490 exit(1);
5492 return 0;
5495 _fribidi=no
5496 cc_check `$_fribidiconfig --cflags` `$_fribidiconfig --libs` && tmp_run && _fribidi=yes
5497 else
5498 _fribidi=no
5501 if test "$_fribidi" = yes ; then
5502 _def_fribidi='#define USE_FRIBIDI'
5503 _inc_extra="$_inc_extra `$_fribidiconfig --cflags`"
5504 _ld_extra="$_ld_extra `$_fribidiconfig --libs`"
5505 else
5506 _def_fribidi='#undef USE_FRIBIDI'
5508 echores "$_fribidi"
5511 echocheck "ENCA"
5512 if test "$_enca" = auto ; then
5513 cat > $TMPC << EOF
5514 #include <enca.h>
5515 int main()
5517 const char **langs;
5518 size_t langcnt;
5519 langs = enca_get_languages(&langcnt);
5520 return 0;
5523 _enca=no
5524 cc_check -lenca $_ld_lm && _enca=yes
5526 if test "$_enca" = yes ; then
5527 _def_enca='#define HAVE_ENCA 1'
5528 _ld_extra="$_ld_extra -lenca"
5529 else
5530 _def_enca='#undef HAVE_ENCA'
5532 echores "$_enca"
5535 echocheck "zlib"
5536 cat > $TMPC << EOF
5537 #include <zlib.h>
5538 int main(void) { (void) inflate(0, Z_NO_FLUSH); return 0; }
5540 _zlib=no
5541 cc_check -lz && _zlib=yes
5542 if test "$_zlib" = yes ; then
5543 _def_zlib='#define HAVE_ZLIB 1'
5544 _ld_extra="$_ld_extra -lz"
5545 else
5546 _def_zlib='#undef HAVE_ZLIB'
5548 echores "$_zlib"
5551 echocheck "RTC"
5552 if test "$_rtc" = auto ; then
5553 cat > $TMPC << EOF
5554 #include <sys/ioctl.h>
5555 #ifdef __linux__
5556 #include <linux/rtc.h>
5557 #else
5558 #include <rtc.h>
5559 #define RTC_PIE_ON RTCIO_PIE_ON
5560 #endif
5561 int main(void) { return RTC_PIE_ON; }
5563 _rtc=no
5564 cc_check && _rtc=yes
5565 ppc && _rtc=no
5567 if test "$_rtc" = yes ; then
5568 _def_rtc='#define HAVE_RTC 1'
5569 else
5570 _def_rtc='#undef HAVE_RTC'
5572 echores "$_rtc"
5575 echocheck "liblzo2 support"
5576 if test "$_liblzo" = auto ; then
5577 _liblzo=no
5578 cat > $TMPC << EOF
5579 #include <lzo/lzo1x.h>
5580 int main(void) { lzo_init();return 0; }
5582 cc_check -llzo2 && _liblzo=yes
5584 if test "$_liblzo" = yes ; then
5585 _def_liblzo='#define USE_LIBLZO 1'
5586 _ld_extra="$_ld_extra -llzo2"
5587 _codecmodules="liblzo $_codecmodules"
5588 else
5589 _def_liblzo='#undef USE_LIBLZO'
5590 _nocodecmodules="liblzo $_nocodecmodules"
5592 echores "$_liblzo"
5595 echocheck "mad support"
5596 if test "$_mad" = auto ; then
5597 _mad=no
5598 cat > $TMPC << EOF
5599 #include <mad.h>
5600 int main(void) { return 0; }
5602 cc_check -lmad && _mad=yes
5604 if test "$_mad" = yes ; then
5605 _def_mad='#define USE_LIBMAD 1'
5606 _ld_extra="$_ld_extra -lmad"
5607 _codecmodules="libmad $_codecmodules"
5608 else
5609 _def_mad='#undef USE_LIBMAD'
5610 _nocodecmodules="libmad $_nocodecmodules"
5612 echores "$_mad"
5614 echocheck "Twolame"
5615 if test "$_twolame" = auto ; then
5616 cat > $TMPC <<EOF
5617 #include <twolame.h>
5618 int main(void) { twolame_init(); return 0; }
5620 _twolame=no
5621 cc_check -ltwolame $_ld_lm && _twolame=yes
5623 if test "$_twolame" = yes ; then
5624 _def_twolame='#define HAVE_TWOLAME 1'
5625 _libs_mencoder="$_libs_mencoder -ltwolame"
5626 _codecmodules="twolame $_codecmodules"
5627 else
5628 _def_twolame='#undef HAVE_TWOLAME'
5629 _nocodecmodules="twolame $_nocodecmodules"
5631 echores "$_twolame"
5633 echocheck "Toolame"
5634 if test "$_toolame" = auto ; then
5635 _toolame=no
5636 if test "$_twolame" = yes ; then
5637 _res_comment="disabled by twolame"
5638 else
5639 cat > $TMPC <<EOF
5640 #include <toolame.h>
5641 int main(void) { toolame_init(); return 0; }
5643 cc_check -ltoolame $_ld_lm && _toolame=yes
5646 if test "$_toolame" = yes ; then
5647 _def_toolame='#define HAVE_TOOLAME 1'
5648 _libs_mencoder="$_libs_mencoder -ltoolame"
5649 _codecmodules="toolame $_codecmodules"
5650 else
5651 _def_toolame='#undef HAVE_TOOLAME'
5652 _nocodecmodules="toolame $_nocodecmodules"
5654 if test "$_toolamedir" ; then
5655 _res_comment="using $_toolamedir"
5657 echores "$_toolame"
5659 echocheck "OggVorbis support"
5660 if test "$_tremor_internal" = yes; then
5661 _libvorbis=no
5662 elif test "$_tremor_external" = auto; then
5663 _tremor_external=no
5664 cat > $TMPC << EOF
5665 #include <tremor/ivorbiscodec.h>
5666 int main(void) { vorbis_packet_blocksize(0,0); return 0; }
5668 cc_check -logg -lvorbisidec $_ld_lm && _tremor_external=yes && _libvorbis=no
5670 if test "$_libvorbis" = auto; then
5671 _libvorbis=no
5672 cat > $TMPC << EOF
5673 #include <vorbis/codec.h>
5674 int main(void) { vorbis_packet_blocksize(0,0); return 0; }
5676 cc_check -lvorbis -logg $_ld_lm && _libvorbis=yes
5678 if test "$_tremor_internal" = yes ; then
5679 _vorbis=yes
5680 _def_vorbis='#define HAVE_OGGVORBIS 1'
5681 _def_tremor='#define TREMOR 1'
5682 _codecmodules="tremor(internal) $_codecmodules"
5683 _res_comment="internal Tremor"
5684 if test "$_tremor_low" = yes ; then
5685 _tremor_flags='-D_LOW_ACCURACY_'
5686 _res_comment="internal low accuracy Tremor"
5688 elif test "$_tremor_external" = yes ; then
5689 _vorbis=yes
5690 _def_vorbis='#define HAVE_OGGVORBIS 1'
5691 _def_tremor='#define TREMOR 1'
5692 _codecmodules="tremor(external) $_codecmodules"
5693 _res_comment="external Tremor"
5694 _ld_extra="$_ld_extra -logg -lvorbisidec"
5695 elif test "$_libvorbis" = yes ; then
5696 _vorbis=yes
5697 _def_vorbis='#define HAVE_OGGVORBIS 1'
5698 _codecmodules="libvorbis $_codecmodules"
5699 _res_comment="libvorbis"
5700 _ld_extra="$_ld_extra -lvorbis -logg"
5701 else
5702 _vorbis=no
5703 _nocodecmodules="libvorbis $_nocodecmodules"
5705 echores "$_vorbis"
5707 echocheck "libspeex (version >= 1.1 required)"
5708 if test "$_speex" = auto ; then
5709 _speex=no
5710 cat > $TMPC << EOF
5711 #include <speex/speex.h>
5712 int main(void) {
5713 SpeexBits bits;
5714 void *dec;
5715 speex_decode_int(dec, &bits, dec);
5718 cc_check -lspeex $_ld_lm && _speex=yes
5720 if test "$_speex" = yes ; then
5721 _def_speex='#define HAVE_SPEEX 1'
5722 _ld_extra="$_ld_extra -lspeex"
5723 _codecmodules="speex $_codecmodules"
5724 else
5725 _def_speex='#undef HAVE_SPEEX'
5726 _nocodecmodules="speex $_nocodecmodules"
5728 echores "$_speex"
5730 echocheck "OggTheora support"
5731 if test "$_theora" = auto ; then
5732 _theora=no
5733 cat > $TMPC << EOF
5734 #include <theora/theora.h>
5735 #include <string.h>
5736 int main(void)
5738 /* theora is in flux, make sure that all interface routines and
5739 * datatypes exist and work the way we expect it, so we don't break
5740 * mplayer */
5741 ogg_packet op;
5742 theora_comment tc;
5743 theora_info inf;
5744 theora_state st;
5745 yuv_buffer yuv;
5746 int r;
5747 double t;
5749 theora_info_init (&inf);
5750 theora_comment_init (&tc);
5752 return 0;
5754 /* we don't want to execute this kind of nonsense; just for making sure
5755 * that compilation works... */
5756 memset(&op, 0, sizeof(op));
5757 r = theora_decode_header (&inf, &tc, &op);
5758 r = theora_decode_init (&st, &inf);
5759 t = theora_granule_time (&st, op.granulepos);
5760 r = theora_decode_packetin (&st, &op);
5761 r = theora_decode_YUVout (&st, &yuv);
5762 theora_clear (&st);
5764 return 0;
5767 for _ld_theora in "`$_pkg_config --silence-errors --libs --cflags theora`" "-ltheora"; do
5768 cc_check $_ld_theora && _ld_extra="$_ld_extra $_ld_theora" \
5769 && _theora=yes && break
5770 done
5771 if test "$_theora" = no && test "$_tremor_internal" = yes; then
5772 for _ld_theora in "`$_pkg_config --silence-errors --libs --cflags theora`" "-ltheora"; do
5773 cc_check -I. tremor/bitwise.c $_ld_theora \
5774 && _ld_extra="$_ld_extra $_ld_theora" && theora=yes && break
5775 done
5778 if test "$_theora" = yes ; then
5779 _def_theora='#define HAVE_OGGTHEORA 1'
5780 _codecmodules="libtheora $_codecmodules"
5781 # when --enable-theora is forced, we'd better provide a probably sane
5782 # $_ld_theora than nothing
5783 test -z "$_ld_theora" && _ld_theora="-ltheora -logg"
5784 else
5785 _def_theora='#undef HAVE_OGGTHEORA'
5786 _nocodecmodules="libtheora $_nocodecmodules"
5788 echores "$_theora"
5790 echocheck "mp3lib support"
5791 if test "$_mp3lib" = yes ; then
5792 _def_mp3lib='#define USE_MP3LIB 1'
5793 _codecmodules="mp3lib $_codecmodules"
5794 else
5795 _def_mp3lib='#undef USE_MP3LIB'
5796 _nocodecmodules="mp3lib $_nocodecmodules"
5798 echores "$_mp3lib"
5800 echocheck "liba52 support"
5801 if test "$_liba52" = yes ; then
5802 _def_liba52='#define USE_LIBA52 1'
5803 _codecmodules="liba52 $_codecmodules"
5804 else
5805 _def_liba52='#undef USE_LIBA52'
5806 _nocodecmodules="liba52 $_nocodecmodules"
5808 echores "$_liba52"
5810 echocheck "libdts support"
5811 if test "$_libdts" = auto ; then
5812 _libdts=no
5813 cat > $TMPC << EOF
5814 #include <inttypes.h>
5815 #include <dts.h>
5816 int main(void) { dts_init (0); return 0; }
5818 cc_check -ldts $_ld_lm && _libdts=yes
5820 if test "$_libdts" = yes ; then
5821 _def_libdts='#define CONFIG_LIBDTS 1'
5822 _ld_extra="$_ld_extra -ldts"
5823 _codecmodules="libdts $_codecmodules"
5824 else
5825 _def_libdts='#undef CONFIG_LIBDTS'
5826 _nocodecmodules="libdts $_nocodecmodules"
5828 echores "$_libdts"
5830 echocheck "libmpeg2 support"
5831 if test "$_libmpeg2" = yes ; then
5832 _def_libmpeg2='#define USE_LIBMPEG2 1'
5833 _codecmodules="libmpeg2 $_codecmodules"
5834 else
5835 _def_libmpeg2='#undef USE_LIBMPEG2'
5836 _nocodecmodules="libmpeg2 $_nocodecmodules"
5838 echores "$_libmpeg2"
5840 echocheck "libmpcdec (musepack, version >= 1.2.1 required)"
5841 if test "$_musepack" = auto ; then
5842 _musepack=no
5843 cat > $TMPC << EOF
5844 #include <mpcdec/mpcdec.h>
5845 int main(void) {
5846 mpc_streaminfo info;
5847 mpc_decoder decoder;
5848 mpc_decoder_set_streaminfo(&decoder, &info);
5849 mpc_decoder_decode_frame(&decoder, NULL, 0, NULL);
5852 cc_check -lmpcdec $_ld_lm && _musepack=yes
5854 if test "$_musepack" = yes ; then
5855 _def_musepack='#define HAVE_MUSEPACK 1'
5856 _ld_extra="$_ld_extra -lmpcdec"
5857 _codecmodules="musepack $_codecmodules"
5858 else
5859 _def_musepack='#undef HAVE_MUSEPACK'
5860 _nocodecmodules="musepack $_nocodecmodules"
5862 echores "$_musepack"
5865 echocheck "FAAC (AAC encoder) support"
5866 if test "$_faac" = auto ; then
5867 cat > $TMPC <<EOF
5868 #include <inttypes.h>
5869 #include <faac.h>
5870 int main(void) { unsigned long x, y; faacEncOpen(48000, 2, &x, &y); return 0; }
5872 _faac=no
5873 for _ld_faac in "-lfaac" "-lfaac -lmp4v2 -lstdc++" ; do
5874 cc_check -O4 $_ld_faac $_ld_tmp $_ld_lm && _libs_mencoder="$_libs_mencoder $_ld_faac" && _faac=yes && break
5875 done
5877 if test "$_faac" = yes ; then
5878 _def_faac="#define HAVE_FAAC 1"
5879 if echo $_libavencoders | grep -q FAAC ; then
5880 _lavc_faac=yes
5881 _def_lavc_faac="#define CONFIG_LIBFAAC 1"
5882 _libs_mplayer="$_libs_mplayer $_ld_faac"
5883 else
5884 _lavc_faac=no
5885 _def_lavc_faac="#undef CONFIG_LIBFAAC"
5887 _codecmodules="faac $_codecmodules"
5888 else
5889 _def_faac="#undef HAVE_FAAC"
5890 _nocodecmodules="faac $_nocodecmodules"
5892 echores "$_faac (in libavcodec: $_lavc_faac)"
5895 echocheck "FAAD2 (AAC) support"
5896 if test "$_faad_internal" = auto ; then
5897 if x86_32 && test cc_vendor=gnu; then
5898 case $cc_version in
5899 3.1*|3.2) # ICE/insn with these versions
5900 _faad_internal=no
5901 _res_comment="broken gcc"
5904 _faad_internal=yes
5906 esac
5907 else
5908 _faad_internal=yes
5910 elif test "$_faad_internal" = no && test "$_faad_external" = auto ; then
5911 _faad_external=no
5912 cat > $TMPC << EOF
5913 #include <faad.h>
5914 #ifndef FAAD_MIN_STREAMSIZE
5915 #error Too old version
5916 #endif
5917 int main(void) { faacDecHandle testhand; faacDecFrameInfo testinfo; testhand = faacDecOpen(); faacDecInit(0, 0, 0, 0, 0); return 0; }
5919 cc_check -lfaad $_ld_lm && _faad_external=yes
5922 if test "$_faad_internal" = yes ; then
5923 _def_faad_internal="#define USE_FAAD_INTERNAL 1"
5924 _faad=yes
5925 _res_comment="internal floating-point"
5926 test "$_faad_fixed" = yes && _res_comment="internal fixed-point"
5927 elif test "$_faad_external" = yes ; then
5928 _faad=yes
5929 _ld_extra="$_ld_extra -lfaad"
5930 else
5931 _def_faad_internal="#undef USE_FAAD_INTERNAL"
5932 _faad=no
5935 if test "$_faad" = yes ; then
5936 _def_faad='#define HAVE_FAAD 1'
5937 _codecmodules="faad2 $_codecmodules"
5938 else
5939 _def_faad='#undef HAVE_FAAD'
5940 _nocodecmodules="faad2 $_nocodecmodules"
5942 echores "$_faad"
5945 echocheck "LADSPA plugin support"
5946 if test "$_ladspa" = auto ; then
5947 cat > $TMPC <<EOF
5948 #include <stdio.h>
5949 #include <ladspa.h>
5950 int main(void) {
5951 const LADSPA_Descriptor *ld = NULL;
5952 return 0;
5955 _ladspa=no
5956 cc_check && _ladspa=yes
5958 if test "$_ladspa" = yes; then
5959 _def_ladspa="#define HAVE_LADSPA"
5960 _afsrc="$_afsrc af_ladspa.c"
5961 _afmodules="ladspa $_afmodules"
5962 else
5963 _def_ladspa="#undef HAVE_LADSPA"
5964 _noafmodules="ladspa $_noafmodules"
5966 echores "$_ladspa"
5969 if test -z "$_codecsdir" ; then
5970 for dir in "$_libdir/codecs" "$_libdir/win32" /usr/local/lib/codecs \
5971 /usr/lib/codecs /usr/local/lib/win32 /usr/lib/win32 ; do
5972 if test -d "$dir" ; then
5973 _codecsdir="$dir"
5974 break;
5976 done
5978 # Fall back on default directory.
5979 if test -z "$_codecsdir" ; then
5980 _codecsdir="$_libdir/codecs"
5981 mingw32 && _codecsdir="codecs"
5985 echocheck "Win32 codecs"
5986 if test "$_win32" = auto ; then
5987 _win32=no
5988 if x86_32 && not qnx; then
5989 _win32=yes
5992 if test "$_win32" = yes ; then
5993 _def_win32='#define USE_WIN32DLL 1'
5994 test -z "$_win32codecsdir" && _win32codecsdir=$_codecsdir
5995 _res_comment="using $_win32codecsdir"
5996 openbsd && x86_32 && _ld_extra="$_ld_extra -li386"
5997 if not win32 ; then
5998 _def_win32_loader='#define WIN32_LOADER 1'
5999 else
6000 _ld_extra="$_ld_extra -ladvapi32 -lole32"
6001 _res_comment="using native windows"
6003 _codecmodules="win32 $_codecmodules"
6004 else
6005 _def_win32='#undef USE_WIN32DLL'
6006 _def_win32_loader='#undef WIN32_LOADER'
6007 _nocodecmodules="win32 $_nocodecmodules"
6009 echores "$_win32"
6012 echocheck "XAnim codecs"
6013 if test "$_xanim" = auto ; then
6014 _xanim=no
6015 _res_comment="dynamic loader support needed"
6016 if test "$_dl" = yes ; then
6017 _xanim=yes
6020 if test "$_xanim" = yes ; then
6021 test -z "$_xanimcodecsdir" && _xanimcodecsdir=$_codecsdir
6022 _def_xanim='#define USE_XANIM 1'
6023 _def_xanim_path="#define XACODEC_PATH \"$_xanimcodecsdir\""
6024 _codecmodules="xanim $_codecmodules"
6025 _res_comment="using $_xanimcodecsdir"
6026 else
6027 _def_xanim='#undef USE_XANIM'
6028 _def_xanim_path='#undef XACODEC_PATH'
6029 _nocodecmodules="xanim $_nocodecmodules"
6031 echores "$_xanim"
6034 echocheck "RealPlayer codecs"
6035 if test "$_real" = auto ; then
6036 _real=no
6037 _res_comment="dynamic loader support needed"
6038 if test "$_dl" = yes || test "$_win32" = yes &&
6039 (linux || freebsd || netbsd || win32 || darwin) ; then
6040 _real=yes
6043 if test "$_real" = yes ; then
6044 test -z "$_realcodecsdir" && _realcodecsdir="$_codecsdir"
6045 _def_real='#define USE_REALCODECS 1'
6046 _def_real_path="#define REALCODEC_PATH \"$_realcodecsdir\""
6047 _codecmodules="real $_codecmodules"
6048 _res_comment="using $_realcodecsdir"
6049 else
6050 _def_real='#undef USE_REALCODECS'
6051 _def_real_path="#undef REALCODEC_PATH"
6052 _nocodecmodules="real $_nocodecmodules"
6054 echores "$_real"
6057 echocheck "LIVE555 Streaming Media libraries"
6058 if test "$_live" = auto && test "$_network" = yes ; then
6059 cat > $TMPCPP << EOF
6060 #include <liveMedia.hh>
6061 #if (LIVEMEDIA_LIBRARY_VERSION_INT < 1090195200)
6062 #error Please upgrade to version 2004.07.19 or later of the "LIVE555 Streaming Media" libraries - available from <www.live555.com/liveMedia/>
6063 #endif
6064 int main(void) {}
6067 _live=no
6068 for I in $_inc_extra "-I$_libdir/live" "-I/usr/lib/live" "-I/usr/local/live" "-I/usr/local/lib/live" ; do
6069 cxx_check $I/liveMedia/include $I/UsageEnvironment/include \
6070 $I/groupsock/include && _livelibdir=`echo $I| sed s/-I//` && \
6071 _ld_extra="$_ld_extra $_livelibdir/liveMedia/libliveMedia.a \
6072 $_livelibdir/groupsock/libgroupsock.a \
6073 $_livelibdir/UsageEnvironment/libUsageEnvironment.a \
6074 $_livelibdir/BasicUsageEnvironment/libBasicUsageEnvironment.a \
6075 -lstdc++" \
6076 _inc_extra="$_inc_extra -I$_livelibdir/liveMedia/include \
6077 -I$_livelibdir/UsageEnvironment/include \
6078 -I$_livelibdir/BasicUsageEnvironment/include \
6079 -I$_livelibdir/groupsock/include" && \
6080 _live=yes && break
6081 done
6082 if test "$_live" != yes ; then
6083 if cxx_check -I/usr/include/liveMedia -I/usr/include/UsageEnvironment -I/usr/include/groupsock; then
6084 _live_dist=yes
6088 if test "$_live" = yes && test "$_network" = yes ; then
6089 _res_comment="using $_livelibdir"
6090 _def_live='#define STREAMING_LIVE555 1'
6091 _inputmodules="live555 $_inputmodules"
6092 elif test "$_live_dist" = yes && test "$_network" = yes ; then
6093 _res_comment="using distribution version"
6094 _live="yes"
6095 _def_live='#define STREAMING_LIVE555 1'
6096 _ld_extra="$_ld_extra -lliveMedia -lgroupsock -lUsageEnvironment -lBasicUsageEnvironment -lstdc++"
6097 _inc_extra="$_inc_extra -I/usr/include/liveMedia -I/usr/include/UsageEnvironment \
6098 -I/usr/include/BasicUsageEnvironment -I/usr/include/groupsock"
6099 _inputmodules="live555 $_inputmodules"
6100 else
6101 _def_live='#undef STREAMING_LIVE555'
6102 _noinputmodules="live555 $_noinputmodules"
6104 echores "$_live"
6107 echocheck "FFmpeg libavutil (static)"
6108 if test "$_libavutil" = auto ; then
6109 if test -d libavutil ; then
6110 _libavutil=yes
6111 else
6112 _libavutil=no
6115 echores "$_libavutil"
6117 echocheck "FFmpeg libavcodec (static)"
6118 if test "$_libavcodec" = auto ; then
6119 # Note: static linking is preferred to dynamic linking
6120 _libavcodec=no
6121 _res_comment="see DOCS/HTML/$_doc_lang/codecs.html"
6122 if test -d libavcodec && test -f libavcodec/utils.c ; then
6123 _res_comment="old ffmpeg version, use CVS !"
6124 if grep avcodec_find_encoder_by_name libavcodec/utils.c > /dev/null 2>&1 ; then
6125 # check if libavutil is a required
6126 cat > $TMPC << EOF
6127 #include "libavcodec/avcodec.h"
6128 #if LIBAVCODEC_BUILD >= 3211265
6129 #error We need libavutil!
6130 #endif
6131 int main(void) { return 0; }
6134 if cc_check -I. -I./libavutil; then
6135 _libavutil_required="no"
6136 else
6137 _libavutil_required="yes"
6139 _res_comment="libavutil availability does not fit libavcodec version"
6140 if test "$_libavutil_required" = "$_libavutil"; then
6141 _libavcodec="yes"
6142 _res_comment=""
6147 echores "$_libavcodec"
6149 echocheck "FFmpeg libavformat (static)"
6150 if test "$_libavformat" = auto ; then
6151 # Note: static linking is preferred to dynamic linking
6152 _libavformat=no
6153 if test -d libavformat && test -f libavformat/utils.c ; then
6154 _libavformat=yes
6157 echores "$_libavformat"
6159 echocheck "FFmpeg libpostproc (static)"
6160 if test "$_libpostproc" = auto ; then
6161 _libpostproc=no
6162 if test -d libpostproc && test -f libpostproc/postprocess.h ; then
6163 _libpostproc='yes'
6166 echores "$_libpostproc"
6169 if test "$_libavutil" != yes ; then
6170 echocheck "FFmpeg libavutil (dynamic)"
6171 if test "$_libavutil_so" = auto ; then
6172 _libavutil_so=no
6173 cat > $TMPC << EOF
6174 #include <ffmpeg/common.h>
6175 int main(void) { ff_gcd(1,1); return 0; }
6177 if $_pkg_config --exists libavutil ; then
6178 _inc_libavutil=`$_pkg_config --cflags libavutil`
6179 _ld_tmp=`$_pkg_config --libs libavutil`
6180 cc_check $_inc_libavutil $_ld_tmp && _ld_extra="$_ld_extra $_ld_tmp" \
6181 && _libavutil_so=yes
6182 elif cc_check -lavutil $_ld_lm ; then
6183 _ld_extra="$_ld_extra -lavutil"
6184 _libavutil_so=yes
6185 _res_comment="using libavutil.so, but static libavutil is recommended"
6188 # neither static nor shared libavutil is available, but it is mandatory ...
6189 if test "$_libavutil_so" = no ; then
6190 die "You need static or shared libavutil, MPlayer will not compile without!"
6192 echores "$_libavutil_so"
6193 fi #if test "$_libavutil" != yes ; then
6195 if test "$_libavcodec" != yes ; then
6196 echocheck "FFmpeg libavcodec (dynamic)"
6197 if test "$_libavcodec_so" = auto ; then
6198 _libavcodec_so=no
6199 _res_comment="libavcodec.so is broken/obsolete"
6200 # FIXME : check for avcodec_find_encoder_by_name() for mencoder
6201 cat > $TMPC << EOF
6202 #include <ffmpeg/avcodec.h>
6203 int main(void) {
6204 avcodec_find_encoder_by_name("");
6205 return 0;
6208 if $_pkg_config --exists libavcodec ; then
6209 _inc_libavcodec=`$_pkg_config --cflags libavcodec`
6210 _ld_tmp=`$_pkg_config --libs libavcodec`
6211 cc_check $_inc_libavcodec $_ld_tmp && _ld_extra="$_ld_extra $_ld_tmp" \
6212 && _libavcodec_so=yes
6213 elif cc_check -lavcodec $_ld_lm ; then
6214 _ld_extra="$_ld_extra -lavcodec"
6215 _libavcodec_so=yes
6216 _res_comment="using libavcodec.so, but static libavcodec is recommended"
6219 echores "$_libavcodec_so"
6220 fi #if test "$_libavcodec" != yes ; then
6222 if test "$_libavformat" != yes ; then
6223 echocheck "FFmpeg libavformat (dynamic)"
6224 if test "$_libavformat_so" = auto ; then
6225 _libavformat_so=no
6226 cat > $TMPC <<EOF
6227 #include <ffmpeg/avformat.h>
6228 #include <ffmpeg/opt.h>
6229 int main(void) { av_alloc_format_context(); return 0; }
6231 if $_pkg_config --exists libavformat ; then
6232 _inc_libavformat=`$_pkg_config --cflags libavformat`
6233 _ld_tmp=`$_pkg_config --libs libavformat`
6234 cc_check $_inc_libavformat $_ld_tmp && _ld_extra="$_ld_extra $_ld_tmp" \
6235 && _libavformat_so=yes
6236 elif cc_check $_ld_lm -lavformat ; then
6237 _ld_extra="$_ld_extra -lavformat"
6238 _libavformat_so=yes
6239 _res_comment="using libavformat.so, but static libavformat is recommended"
6242 echores "$_libavformat_so"
6243 fi #if test "$_libavformat" != yes ; then
6245 if test "$_libpostproc" != yes ; then
6246 echocheck "FFmpeg libpostproc (dynamic)"
6247 if test "$_libpostproc_so" = auto ; then
6248 _libpostproc_so=no
6249 cat > $TMPC << EOF
6250 #define USE_LIBPOSTPROC 1
6251 #include <inttypes.h>
6252 #include <postproc/postprocess.h>
6253 int main(void) {
6254 pp_get_mode_by_name_and_quality("de", 0);
6255 return 0;}
6257 if cc_check -lpostproc $_ld_lm ; then
6258 _ld_extra="$_ld_extra -lpostproc"
6259 _libpostproc_so=yes
6260 _res_comment="using libpostproc.so, but static libpostproc is recommended"
6263 echores "$_libpostproc_so"
6264 fi #if test "$_libpostproc" != yes ; then
6266 _def_libavutil='#undef USE_LIBAVUTIL'
6267 _def_libavutil_so='#undef USE_LIBAVUTIL_SO'
6268 if test "$_libavutil" = yes ; then
6269 _def_libavutil='#define USE_LIBAVUTIL 1'
6270 elif test "$_libavutil_so" = yes ; then
6271 _def_libavutil_so='#define USE_LIBAVUTIL_SO 1'
6274 _def_libavcodec='#undef USE_LIBAVCODEC'
6275 _def_libavcodec_so='#undef USE_LIBAVCODEC_SO'
6276 _def_lavc_dsputil='#undef USE_LIBAVCODEC_DSPUTIL'
6277 if test "$_libavcodec_mpegaudio_hp" = yes ; then
6278 _def_libavcodec_mpegaudio_hp='#define CONFIG_MPEGAUDIO_HP 1'
6280 if test "$_libavcodec" = yes ; then
6281 _def_libavcodec='#define USE_LIBAVCODEC 1'
6282 _def_lavc_dsputil='#define USE_LIBAVCODEC_DSPUTIL'
6283 _codecmodules="libavcodec $_codecmodules"
6284 elif test "$_libavcodec_so" = yes ; then
6285 _def_libavcodec='#define USE_LIBAVCODEC 1'
6286 _def_libavcodec_so='#define USE_LIBAVCODEC_SO 1'
6287 _codecmodules="libavcodec.so $_codecmodules"
6288 else
6289 _nocodecmodules="libavcodec $_nocodecmodules"
6292 _def_libavformat='#undef USE_LIBAVFORMAT'
6293 _def_libavformat_so='#undef USE_LIBAVFORMAT_SO'
6294 _def_libavformat_win32='#undef CONFIG_WIN32'
6295 if test "$_libavformat" = yes ; then
6296 _def_libavformat='#define USE_LIBAVFORMAT 1'
6297 if win32 ; then
6298 _def_libavformat_win32='#define CONFIG_WIN32 1'
6300 else
6301 if test "$_libavformat_so" = yes ; then
6302 _def_libavformat_so='#define USE_LIBAVFORMAT_SO 1'
6303 if win32 ; then
6304 _def_libavformat_win32='#define CONFIG_WIN32 1'
6309 _def_libpostproc='#undef USE_LIBPOSTPROC'
6310 _def_libpostproc_so='#undef USE_LIBPOSTPROC_SO'
6311 if test "$_libpostproc" = yes ; then
6312 _def_libpostproc='#define USE_LIBPOSTPROC 1'
6313 else
6314 if test "$_libpostproc_so" = yes ; then
6315 _def_libpostproc_so='#define USE_LIBPOSTPROC_SO 1'
6319 echocheck "md5sum support"
6320 if test "$_md5sum" = yes; then
6321 _def_md5sum="#define HAVE_MD5SUM"
6322 _vosrc="$_vosrc vo_md5sum.c"
6323 _vomodules="md5sum $_vomodules"
6324 else
6325 _def_md5sum="#undef HAVE_MD5SUM"
6326 _novomodules="md5sum $_novomodules"
6328 echores "$_md5sum"
6330 echocheck "AMR narrowband"
6331 if test "$_amr_nb" = auto ; then
6332 _amr_nb=no
6333 if test -f libavcodec/amr_float/sp_dec.c ; then
6334 if test "$_libavcodec" = yes ; then
6335 _amr_nb=yes
6336 else
6337 _res_comment="libavcodec (static) is required by amr_nb, sorry"
6341 if test "$_amr_nb" = yes ; then
6342 _amr=yes
6343 _def_amr='#define CONFIG_AMR 1'
6344 _def_amr_nb='#define CONFIG_AMR_NB 1'
6345 else
6346 _def_amr_nb='#undef CONFIG_AMR_NB'
6348 echores "$_amr_nb"
6350 echocheck "AMR narrowband, fixed point"
6351 if test "$_amr_nb_fixed" = auto ; then
6352 _amr_nb_fixed=no
6353 if test -f libavcodec/amr/dtx_dec.c ; then
6354 if test "$_libavcodec" = yes ; then
6355 if test "$_amr_nb" = no ; then
6356 _amr_nb_fixed=yes
6357 else
6358 _res_comment="disabled by amr_nb"
6360 else
6361 _res_comment="libavcodec (static) is required by amr_nb-fixed, sorry"
6365 if test "$_amr_nb_fixed" = yes ; then
6366 _amr=yes
6367 _def_amr='#define CONFIG_AMR 1'
6368 _def_amr_nb_fixed='#define CONFIG_AMR_NB_FIXED 1'
6369 else
6370 _def_amr_nb_fixed='#undef CONFIG_AMR_NB_FIXED'
6372 echores "$_amr_nb_fixed"
6374 if test "$_amr_nb" = yes || test "$_amr_nb_fixed" = yes ; then
6375 _codecmodules="amr_nb $_codecmodules"
6376 else
6377 _nocodecmodules="amr_nb $_nocodecmodules"
6380 echocheck "AMR wideband"
6381 if test "$_amr_wb" = auto ; then
6382 _amr_wb=no
6383 if test -f libavcodec/amrwb_float/dec_dtx.c ; then
6384 if test "$_libavcodec" = yes ; then
6385 _amr_wb=yes
6386 else
6387 _res_comment="libavcodec (static) is required by amr_wb, sorry"
6391 if test "$_amr_wb" = yes ; then
6392 _amr=yes
6393 _def_amr='#define CONFIG_AMR 1'
6394 _def_amr_wb='#define CONFIG_AMR_WB 1'
6395 _codecmodules="amr_wb $_codecmodules"
6396 else
6397 _def_amr_wb='#undef CONFIG_AMR_WB'
6398 _nocodecmodules="amr_wb $_nocodecmodules"
6400 echores "$_amr_wb"
6402 echocheck "libdv-0.9.5+"
6403 if test "$_libdv" = auto ; then
6404 _libdv=no
6405 cat > $TMPC <<EOF
6406 #include <libdv/dv.h>
6407 int main(void) { dv_encoder_t* enc=dv_encoder_new(1,1,1); return 0; }
6409 cc_check -ldv $_ld_pthread $_ld_lm && _libdv=yes
6411 if test "$_libdv" = yes ; then
6412 _def_libdv='#define HAVE_LIBDV095 1'
6413 _ld_extra="$_ld_extra -ldv"
6414 _codecmodules="libdv $_codecmodules"
6415 else
6416 _def_libdv='#undef HAVE_LIBDV095'
6417 _nocodecmodules="libdv $_nocodecmodules"
6419 echores "$_libdv"
6421 echocheck "zr"
6422 if test "$_zr" = auto ; then
6423 #36067's seem to identify themselves as 36057PQC's, so the line
6424 #below should work for 36067's and 36057's.
6425 if grep -e "Multimedia video controller: Zoran Corporation ZR36057" /proc/pci > /dev/null 2>&1; then
6426 _zr=yes
6427 else
6428 _zr=no
6431 if test "$_zr" = yes ; then
6432 if test "$_libavcodec" = yes ; then
6433 _def_zr='#define HAVE_ZR 1'
6434 _vosrc="$_vosrc vo_zr2.c vo_zr.c jpeg_enc.c"
6435 _vomodules="zr zr2 $_vomodules"
6436 else
6437 _res_comment="libavcodec (static) is required by zr, sorry"
6438 _novomodules="zr $_novomodules"
6439 _def_zr='#undef HAVE_ZR'
6441 else
6442 _def_zr='#undef HAVE_ZR'
6443 _novomodules="zr zr2 $_novomodules"
6445 echores "$_zr"
6447 echocheck "bl"
6448 if test "$_bl" = yes ; then
6449 _def_bl='#define HAVE_BL 1'
6450 _vosrc="$_vosrc vo_bl.c"
6451 _vomodules="bl $_vomodules"
6452 else
6453 _def_bl='#undef HAVE_BL'
6454 _novomodules="bl $_novomodules"
6456 echores "$_bl"
6459 echocheck "XviD"
6460 if test "$_xvid" = auto ; then
6461 _xvid=no
6462 cat > $TMPC << EOF
6463 #include <xvid.h>
6464 int main(void) { xvid_global(0, 0, 0, 0); return 0; }
6466 for _ld_tmp in "-lxvidcore $_ld_lm" "-lxvidcore $_ld_lm $_ld_pthread" ; do
6467 cc_check $_ld_tmp && _ld_extra="$_ld_extra $_ld_tmp" && _xvid=yes && break
6468 done
6471 if test "$_xvid" = yes ; then
6472 _def_xvid='#define HAVE_XVID4 1'
6473 _codecmodules="xvid $_codecmodules"
6474 else
6475 _def_xvid='#undef HAVE_XVID4'
6476 _nocodecmodules="xvid $_nocodecmodules"
6478 echores "$_xvid"
6480 if test "$_xvid" = yes ; then
6481 echocheck "XviD two pass plugin"
6482 cat > $TMPC << EOF
6483 #include <xvid.h>
6484 int main(void) { xvid_plugin_2pass2_t s; s.vbv_size=0; return 0; }
6486 if cc_check ; then
6487 _lavc_xvid=yes
6488 _def_lavc_xvid='#define CONFIG_XVID 1'
6489 else
6490 _lavc_xvid=no
6491 _def_lavc_xvid='#undef CONFIG_XVID'
6493 echores "$_lavc_xvid"
6497 echocheck "x264"
6498 if test "$_x264" = auto ; then
6499 cat > $TMPC << EOF
6500 #include <inttypes.h>
6501 #include <x264.h>
6502 #if X264_BUILD < 53
6503 #error We do not support old versions of x264. Get the latest from SVN.
6504 #endif
6505 int main(void) { x264_encoder_open((void*)0); return 0; }
6507 _x264=no
6508 for _ld_x264 in "-lx264 $_ld_pthread" "-lx264 $_ld_pthread $_ld_lm" ; do
6509 cc_check $_ld_x264 && _libs_mencoder="$_libs_mencoder $_ld_x264" && _x264=yes && break
6510 done
6513 if test "$_x264" = yes ; then
6514 _x264=yes
6515 _def_x264='#define HAVE_X264 1'
6516 _codecmodules="x264 $_codecmodules"
6517 if echo $_libavencoders | grep -q X264 ; then
6518 _lavc_x264=yes
6519 _def_lavc_x264='#define CONFIG_X264 1'
6520 _libs_mplayer="$_libs_mplayer $_ld_x264"
6521 else
6522 _lavc_x264=no
6523 _def_lavc_x264='#undef CONFIG_X264'
6525 else
6526 _x264=no
6527 _lavc_x264=no
6528 _def_x264='#undef HAVE_X264'
6529 _def_lavc_x264='#undef CONFIG_X264'
6530 _nocodecmodules="x264 $_nocodecmodules"
6532 echores "$_x264 (in libavcodec: $_lavc_x264)"
6535 echocheck "nut"
6536 if test "$_nut" = auto ; then
6537 cat > $TMPC << EOF
6538 #include <stdio.h>
6539 #include <stdlib.h>
6540 #include <inttypes.h>
6541 #include <libnut.h>
6542 int main(void) { (void)nut_error(0); return 0; }
6544 _nut=no
6545 cc_check -lnut && _nut=yes
6548 if test "$_nut" = yes ; then
6549 _def_nut='#define HAVE_LIBNUT 1'
6550 _ld_extra="$_ld_extra -lnut"
6551 else
6552 _def_nut='#undef HAVE_LIBNUT'
6554 echores "$_nut"
6557 # mencoder requires (optional) those libs: libmp3lame
6558 if test "$_mencoder" != no ; then
6560 echocheck "libmp3lame (for mencoder)"
6561 _mp3lame=no
6562 _def_mp3lame_preset='#undef HAVE_MP3LAME_PRESET'
6563 _def_mp3lame_preset_medium='#undef HAVE_MP3LAME_PRESET_MEDIUM'
6564 cat > $TMPC <<EOF
6565 #include <lame/lame.h>
6566 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; }
6568 # Note: libmp3lame usually depends on vorbis
6569 cc_check -lmp3lame $_ld_lm && tmp_run && _mp3lame=yes
6570 if test "$_mp3lame" = yes ; then
6571 _def_mp3lame="#define HAVE_MP3LAME"
6572 _ld_mp3lame=-lmp3lame
6573 _libs_mencoder="$_libs_mencoder $_ld_mp3lame"
6574 cat > $TMPC << EOF
6575 #include <lame/lame.h>
6576 int main(void) { lame_set_preset(NULL, STANDARD_FAST); return 0; }
6578 cc_check $_ld_mp3lame $_ld_lm && _def_mp3lame_preset="#define HAVE_MP3LAME_PRESET"
6579 cat > $TMPC << EOF
6580 #include <lame/lame.h>
6581 int main(void) { lame_set_preset(NULL, MEDIUM_FAST); return 0; }
6583 cc_check $_ld_mp3lame $_ld_lm && _def_mp3lame_preset_medium="#define HAVE_MP3LAME_PRESET_MEDIUM"
6584 if echo $_libavencoders | grep -q MP3LAME ; then
6585 _lavc_mp3lame=yes
6586 _def_lavc_mp3lame="#define CONFIG_LIBMP3LAME 1"
6587 _libs_mplayer="$_libs_mplayer $_ld_mp3lame"
6588 else
6589 _lavc_mp3lame=no
6590 _def_lavc_mp3lame="#undef CONFIG_LIBMP3LAME"
6592 else
6593 _def_mp3lame='#undef HAVE_MP3LAME'
6595 echores "$_mp3lame"
6599 echocheck "mencoder"
6600 _mencoder_flag='#undef HAVE_MENCODER'
6601 if test "$_mencoder" = yes ; then
6602 _mencoder_flag='#define HAVE_MENCODER'
6603 _def_muxers='#define CONFIG_MUXERS 1'
6604 else
6605 # mpeg1video for vf_lavc, snow for vf_uspp and vf_mcdeint
6606 _libavencoders="MPEG1VIDEO_ENCODER SNOW_ENCODER"
6607 _libavmuxers=""
6609 echores "$_mencoder"
6611 echocheck "fastmemcpy"
6612 # fastmemcpy check is done earlier with tests of CPU & binutils features
6613 if test "$_fastmemcpy" = yes ; then
6614 _def_fastmemcpy='#define USE_FASTMEMCPY 1'
6615 else
6616 _def_fastmemcpy='#undef USE_FASTMEMCPY'
6618 echores "$_fastmemcpy"
6620 echocheck "UniquE RAR File Library"
6621 if test "$_unrarlib" = yes ; then
6622 _def_unrarlib='#define USE_UNRARLIB 1'
6623 else
6624 _def_unrarlib='#undef USE_UNRARLIB'
6626 echores "$_unrarlib"
6628 echocheck "TV interface"
6629 if test "$_tv" = yes ; then
6630 _def_tv='#define USE_TV 1'
6631 _inputmodules="tv $_inputmodules"
6632 else
6633 _noinputmodules="tv $_noinputmodules"
6634 _def_tv='#undef USE_TV'
6636 echores "$_tv"
6639 if bsd; then
6640 echocheck "*BSD BrookTree 848 TV interface"
6641 if test "$_tv_bsdbt848" = auto ; then
6642 _tv_bsdbt848=no
6643 if test "$_tv" = yes ; then
6644 cat > $TMPC <<EOF
6645 #include <sys/types.h>
6646 #if defined(__NetBSD__)
6647 #include <dev/ic/bt8xx.h>
6648 #else
6649 #include <machine/ioctl_bt848.h>
6650 #endif
6651 int main(void) { return 0; }
6653 cc_check && _tv_bsdbt848=yes
6656 if test "$_tv_bsdbt848" = yes ; then
6657 _def_tv_bsdbt848='#define HAVE_TV_BSDBT848 1'
6658 _inputmodules="tv-bsdbt848 $_inputmodules"
6659 else
6660 _def_tv_bsdbt848='#undef HAVE_TV_BSDBT848'
6661 _noinputmodules="tv-bsdbt848 $_noinputmodules"
6663 echores "$_tv_bsdbt848"
6664 fi #if bsd
6667 echocheck "Video 4 Linux TV interface"
6668 if test "$_tv_v4l1" = auto ; then
6669 _tv_v4l1=no
6670 if test "$_tv" = yes && linux ; then
6671 cat > $TMPC <<EOF
6672 #include <stdlib.h>
6673 #include <linux/videodev.h>
6674 int main(void) { return 0; }
6676 cc_check && _tv_v4l1=yes
6679 if test "$_tv_v4l1" = yes ; then
6680 _tv_v4l=yes
6681 _def_tv_v4l='#define HAVE_TV_V4L 1'
6682 _def_tv_v4l1='#define HAVE_TV_V4L1 1'
6683 _inputmodules="tv-v4l $_inputmodules"
6684 else
6685 _noinputmodules="tv-v4l1 $_noinputmodules"
6686 _def_tv_v4l='#undef HAVE_TV_V4L'
6688 echores "$_tv_v4l1"
6691 echocheck "Video 4 Linux 2 TV interface"
6692 if test "$_tv_v4l2" = auto ; then
6693 _tv_v4l2=no
6694 if test "$_tv" = yes && linux ; then
6695 cat > $TMPC <<EOF
6696 #include <stdlib.h>
6697 #include <linux/types.h>
6698 #include <linux/videodev2.h>
6699 int main(void) { return 0; }
6701 cc_check && _tv_v4l2=yes
6704 if test "$_tv_v4l2" = yes ; then
6705 _tv_v4l=yes
6706 _def_tv_v4l='#define HAVE_TV_V4L 1'
6707 _def_tv_v4l2='#define HAVE_TV_V4L2 1'
6708 _inputmodules="tv-v4l2 $_inputmodules"
6709 else
6710 _noinputmodules="tv-v4l2 $_noinputmodules"
6711 _def_tv_v4l2='#undef HAVE_TV_V4L2'
6713 echores "$_tv_v4l2"
6716 echocheck "Radio interface"
6717 if test "$_radio" = yes ; then
6718 _def_radio='#define USE_RADIO 1'
6719 _inputmodules="radio $_inputmodules"
6720 if test "$_alsa9" != yes -a "$_alsa1x" != yes -a "$_ossaudio" != yes ; then
6721 _radio_capture=no
6723 if test "$_radio_capture" = yes ; then
6724 _def_radio_capture="#define USE_RADIO_CAPTURE 1"
6725 else
6726 _def_radio_capture="#undef USE_RADIO_CAPTURE"
6728 else
6729 _noinputmodules="radio $_noinputmodules"
6730 _def_radio='#undef USE_RADIO'
6731 _def_radio_capture="#undef USE_RADIO_CAPTURE"
6732 _radio_capture=no
6734 echores "$_radio"
6735 echocheck "Capture for Radio interface"
6736 echores "$_radio_capture"
6738 echocheck "Video 4 Linux 2 Radio interface"
6739 if test "$_radio_v4l2" = auto ; then
6740 _radio_v4l2=no
6741 if test "$_radio" = yes && linux ; then
6742 cat > $TMPC <<EOF
6743 #include <stdlib.h>
6744 #include <linux/types.h>
6745 #include <linux/videodev2.h>
6746 int main(void) { return 0; }
6748 cc_check && _radio_v4l2=yes
6751 if test "$_radio_v4l2" = yes ; then
6752 _def_radio_v4l2='#define HAVE_RADIO_V4L2 1'
6753 else
6754 _def_radio_v4l2='#undef HAVE_RADIO_V4L2'
6756 echores "$_radio_v4l2"
6758 echocheck "Video 4 Linux Radio interface"
6759 if test "$_radio_v4l" = auto ; then
6760 _radio_v4l=no
6761 if test "$_radio" = yes && linux ; then
6762 cat > $TMPC <<EOF
6763 #include <stdlib.h>
6764 #include <linux/videodev.h>
6765 int main(void) { return 0; }
6767 cc_check && _radio_v4l=yes
6770 if test "$_radio_v4l" = yes ; then
6771 _def_radio_v4l='#define HAVE_RADIO_V4L 1'
6772 else
6773 _def_radio_v4l='#undef HAVE_RADIO_V4L'
6775 echores "$_radio_v4l"
6777 if bsd && test "$_radio" = yes && test "$_radio_bsdbt848" = auto ; then
6778 echocheck "*BSD BrookTree 848 Radio interface header"
6779 for file in "dev/ic/bt8xx.h" \
6780 "machine/ioctl_bt848.h" \
6781 "dev/bktr/ioctl_bt848.h" \
6782 "dev/video/bktr/ioctl_bt848.h" ; do
6783 cat > $TMPC <<EOF
6784 #include <sys/types.h>
6785 #include <$file>
6786 int main(void) { return 0; }
6788 cc_check && _radio_bsdbt848_hdr=$file
6789 done
6790 echores "$_radio_bsdbt848_hdr"
6791 fi #if bsd && radio && radio_bsdbt848
6793 if test -n "$_radio_bsdbt848_hdr" ; then
6794 _def_radio_bsdbt848="#define RADIO_BSDBT848_HDR <$_radio_bsdbt848_hdr>"
6795 else
6796 _def_radio_bsdbt848='#undef RADIO_BSDBT848_HDR '
6799 if test "$_radio_v4l" = no && test "$_radio_v4l2" = no && \
6800 test -z "$_radio_bsdbt848_hdr" && test "$_radio" = yes ; then
6801 die "Radio driver requires BSD BT848, V4L or V4L2!"
6804 echocheck "Video 4 Linux 2 MPEG PVR interface"
6805 if test "$_pvr" = auto ; then
6806 _pvr=no
6807 if test "$_tv_v4l2" = yes && linux ; then
6808 cat > $TMPC <<EOF
6809 #include <stdlib.h>
6810 #include <inttypes.h>
6811 #include <linux/types.h>
6812 #include <linux/videodev2.h>
6813 int main(void) { struct v4l2_ext_controls ext; return 0; }
6815 cc_check && _pvr=yes
6818 if test "$_pvr" = yes ; then
6819 _def_pvr='#define HAVE_PVR 1'
6820 _inputmodules="pvr $_inputmodules"
6821 else
6822 _noinputmodules="pvr $_noinputmodules"
6823 _def_pvr='#undef HAVE_PVR'
6825 echores "$_pvr"
6828 echocheck "audio select()"
6829 if test "$_select" = no ; then
6830 _def_select='#undef HAVE_AUDIO_SELECT'
6831 elif test "$_select" = yes ; then
6832 _def_select='#define HAVE_AUDIO_SELECT 1'
6834 echores "$_select"
6837 echocheck "ftp"
6838 if not beos && test "$_ftp" = yes ; then
6839 _def_ftp='#define HAVE_FTP 1'
6840 _inputmodules="ftp $_inputmodules"
6841 else
6842 _noinputmodules="ftp $_noinputmodules"
6843 _def_ftp='#undef HAVE_FTP'
6845 echores "$_ftp"
6847 echocheck "vstream client"
6848 if test "$_vstream" = auto ; then
6849 _vstream=no
6850 cat > $TMPC <<EOF
6851 #include <vstream-client.h>
6852 void vstream_error(const char *format, ... ) {}
6853 int main(void) { vstream_start(); return 0; }
6855 cc_check -lvstream-client && _vstream=yes
6857 if test "$_vstream" = yes ; then
6858 _def_vstream='#define HAVE_VSTREAM 1'
6859 _inputmodules="vstream $_inputmodules"
6860 _ld_extra="$_ld_extra -lvstream-client"
6861 else
6862 _noinputmodules="vstream $_noinputmodules"
6863 _def_vstream='#undef HAVE_VSTREAM'
6865 echores "$_vstream"
6867 # endian testing
6868 echocheck "byte order"
6869 if test "$_big_endian" = auto ; then
6870 cat > $TMPC <<EOF
6871 short ascii_name[] = { (('M'<<8)|'P'),(('l'<<8)|'a'),(('y'<<8)|'e'),(('r'<<8)|'B'),
6872 (('i'<<8)|'g'),(('E'<<8)|'n'),(('d'<<8)|'i'),(('a'<<8)|'n'),0};
6873 int main(){
6874 return (int)ascii_name;
6877 if cc_check ; then
6878 if strings $TMPO | grep -l MPlayerBigEndian >/dev/null ; then
6879 _big_endian=yes
6880 else
6881 _big_endian=no
6883 else
6884 echo ${_echo_n} "failed to autodetect byte order, defaulting to ${_echo_c}"
6887 if test "$_big_endian" = yes ; then
6888 _byte_order='big-endian'
6889 _def_words_endian='#define WORDS_BIGENDIAN 1'
6890 else
6891 _byte_order='little-endian'
6892 _def_words_endian='#undef WORDS_BIGENDIAN'
6894 echores "$_byte_order"
6896 echocheck "OSD menu"
6897 if test "$_menu" = yes ; then
6898 _def_menu='#define HAVE_MENU 1'
6899 else
6900 _def_menu='#undef HAVE_MENU'
6902 echores "$_menu"
6905 echocheck "QuickTime codecs"
6906 if test "$_qtx" = auto ; then
6907 test "$_win32" = yes || darwin && _qtx=yes
6909 if test "$_qtx" = yes ; then
6910 _def_qtx='#define USE_QTX_CODECS 1'
6911 _codecmodules="qtx $_codecmodules"
6912 else
6913 _def_qtx='#undef USE_QTX_CODECS'
6914 _nocodecmodules="qtx $_nocodecmodules"
6916 echores "$_qtx"
6919 echocheck "Subtitles sorting"
6920 if test "$_sortsub" = yes ; then
6921 _def_sortsub='#define USE_SORTSUB 1'
6922 else
6923 _def_sortsub='#undef USE_SORTSUB'
6925 echores "$_sortsub"
6928 echocheck "XMMS inputplugin support"
6929 if test "$_xmms" = yes ; then
6930 if ( xmms-config --version ) >/dev/null 2>&1 ; then
6931 _xmmsplugindir=`xmms-config --input-plugin-dir`
6932 _xmmslibdir=`xmms-config --exec-prefix`/lib
6933 else
6934 _xmmsplugindir=/usr/lib/xmms/Input
6935 _xmmslibdir=/usr/lib
6938 _def_xmms='#define HAVE_XMMS 1'
6939 if darwin ; then
6940 _ld_extra="$_ld_extra ${_xmmslibdir}/libxmms.dylib"
6941 else
6942 _ld_extra="$_ld_extra ${_xmmslibdir}/libxmms.so.1 -export-dynamic"
6944 else
6945 _def_xmms='#undef HAVE_XMMS'
6947 echores "$_xmms"
6949 echocheck "inet6"
6950 if test "$_inet6" = auto ; then
6951 cat > $TMPC << EOF
6952 #include <sys/types.h>
6953 #include <sys/socket.h>
6954 #include <netinet/in.h>
6955 int main(void) { struct sockaddr_in6 six; socket(AF_INET6, SOCK_STREAM, AF_INET6); }
6957 _inet6=no
6958 if cc_check ; then
6959 _inet6=yes
6962 if test "$_inet6" = yes ; then
6963 _def_inet6='#define HAVE_AF_INET6 1'
6964 else
6965 _def_inet6='#undef HAVE_AF_INET6'
6967 echores "$_inet6"
6970 echocheck "gethostbyname2"
6971 if test "$_gethostbyname2" = auto ; then
6972 cat > $TMPC << EOF
6973 #include <sys/types.h>
6974 #include <sys/socket.h>
6975 #include <netdb.h>
6976 int main(void) { gethostbyname2("", AF_INET); }
6978 _gethostbyname2=no
6979 if cc_check ; then
6980 _gethostbyname2=yes
6984 if test "$_gethostbyname2" = yes ; then
6985 _def_gethostbyname2='#define HAVE_GETHOSTBYNAME2 1'
6986 else
6987 _def_gethostbyname2='#undef HAVE_GETHOSTBYNAME2'
6989 echores "$_gethostbyname2"
6992 # --------------- GUI specific tests begin -------------------
6993 echocheck "GUI"
6994 echo "$_gui"
6995 if test "$_gui" = yes ; then
6997 # Required libraries
6998 test "$_png" != yes && die "The GUI requires PNG support, please install libpng and libpng-dev packages."
6999 if not win32 ; then
7000 test "$_x11" != yes && die "X11 support required for GUI compilation."
7002 echocheck "XShape extension"
7003 if test "$_xshape" = auto ; then
7004 _xshape=no
7005 cat > $TMPC << EOF
7006 #include <X11/Xlib.h>
7007 #include <X11/Xproto.h>
7008 #include <X11/Xutil.h>
7009 #include <X11/extensions/shape.h>
7010 #include <stdlib.h>
7011 int main(void) {
7012 char *name = ":0.0";
7013 Display *wsDisplay;
7014 int exitvar = 0;
7015 int eventbase, errorbase;
7016 if (getenv("DISPLAY"))
7017 name=getenv("DISPLAY");
7018 wsDisplay=XOpenDisplay(name);
7019 if (!XShapeQueryExtension(wsDisplay,&eventbase,&errorbase))
7020 exitvar=1;
7021 XCloseDisplay(wsDisplay);
7022 return exitvar;
7025 cc_check && _xshape=yes
7027 if test "$_xshape" = yes ; then
7028 _def_xshape='#define HAVE_XSHAPE 1'
7029 else
7030 die "The GUI requires the X11 extension XShape (which was not found)."
7032 echores "$_xshape"
7034 #Check for GTK
7035 if test "$_gtk1" = no ; then
7036 #Check for GTK2 :
7037 echocheck "GTK+ version"
7039 if $_pkg_config gtk+-2.0 --exists ; then
7040 _gtk=`$_pkg_config gtk+-2.0 --modversion 2>/dev/null`
7041 _inc_extra="$_inc_extra `$_pkg_config gtk+-2.0 --cflags 2>/dev/null`"
7042 _libs_mplayer="$_libs_mplayer `$_pkg_config gtk+-2.0 --libs 2>/dev/null`"
7043 echores "$_gtk"
7045 # Check for GLIB2
7046 if $_pkg_config glib-2.0 --exists ; then
7047 echocheck "glib version"
7048 _glib=`$_pkg_config glib-2.0 --modversion 2>/dev/null`
7049 _libs_mplayer="$_libs_mplayer `$_pkg_config glib-2.0 --libs 2>/dev/null`"
7050 echores "$_glib"
7052 _def_gui='#define HAVE_NEW_GUI 1'
7053 _def_gtk2_gui='#define HAVE_GTK2_GUI 1'
7054 else
7055 _gtk1=yes
7056 echo "GLIB-2 devel packages were not found, trying GTK 1.2"
7058 else
7059 echo "GTK-2 devel packages were not found, trying GTK 1.2"
7060 _gtk1=yes
7064 if test "$_gtk1" = yes ; then
7065 # Check for old GTK (1.2.x)
7066 echocheck "GTK version"
7067 if test -z "$_gtkconfig" ; then
7068 if ( gtk-config --version ) >/dev/null 2>&1 ; then
7069 _gtkconfig="gtk-config"
7070 elif ( gtk12-config --version ) >/dev/null 2>&1 ; then
7071 _gtkconfig="gtk12-config"
7072 else
7073 die "The GUI requires GTK devel packages (which were not found)."
7076 _gtk=`$_gtkconfig --version 2>&1`
7077 _inc_extra="$_inc_extra `$_gtkconfig --cflags 2>&1`"
7078 _libs_mplayer="$_libs_mplayer `$_gtkconfig --libs 2>&1`"
7079 echores "$_gtk (using $_gtkconfig)"
7081 # Check for GLIB
7082 echocheck "glib version"
7083 if test -z "$_glibconfig" ; then
7084 if ( glib-config --version ) >/dev/null 2>&1 ; then
7085 _glibconfig="glib-config"
7086 elif ( glib12-config --version ) >/dev/null 2>&1 ; then
7087 _glibconfig="glib12-config"
7088 else
7089 die "The GUI requires GLIB devel packages (which were not found)"
7092 _glib=`$_glibconfig --version 2>&1`
7093 _libs_mplayer="$_libs_mplayer `$_glibconfig --libs 2>&1`"
7094 echores "$_glib (using $_glibconfig)"
7096 _def_gui='#define HAVE_NEW_GUI 1'
7097 _def_gtk2_gui='#undef HAVE_GTK2_GUI'
7100 else #if not win32
7101 _libs_mplayer="$_libs_mplayer -lcomdlg32 -lcomctl32 -lshell32 -lkernel32"
7102 _def_gui='#define HAVE_NEW_GUI 1'
7103 _def_gtk2_gui='#undef HAVE_GTK2_GUI'
7104 fi #if not win32
7106 else #if test "$_gui"
7107 _def_gui='#undef HAVE_NEW_GUI'
7108 _def_gtk2_gui='#undef HAVE_GTK2_GUI'
7109 fi #if test "$_gui"
7110 # --------------- GUI specific tests end -------------------
7113 if test "$_charset" = "noconv" ; then
7114 _charset=""
7116 if test "$_charset" ; then
7117 _def_charset="#define MSG_CHARSET \"$_charset\""
7118 else
7119 _def_charset="#undef MSG_CHARSET"
7122 if test "$_charset" = "UTF-8" ; then
7123 # hack to disable conversion in the Makefile
7124 _charset=""
7127 if test "$_charset" ; then
7128 echocheck "iconv program"
7129 iconv -f UTF-8 -t $_charset ${_mp_help} > /dev/null 2>> "$TMPLOG"
7130 if test "$?" -ne 0 ; then
7131 echores "no"
7132 echo "No working iconv program found, use "
7133 echo "--charset=UTF-8 to continue anyway."
7134 echo "If you also have problems with iconv library functions use --charset=noconv."
7135 echo "Messages in the GTK-2 interface will be broken then."
7136 exit 1
7137 else
7138 echores "yes"
7142 #############################################################################
7144 echocheck "automatic gdb attach"
7145 if test "$_crash_debug" = yes ; then
7146 _def_crash_debug='#define CRASH_DEBUG 1'
7147 else
7148 _def_crash_debug='#undef CRASH_DEBUG'
7149 _crash_debug=no
7151 echores "$_crash_debug"
7153 if darwin ; then
7154 CFLAGS="$CFLAGS -mdynamic-no-pic -falign-loops=16 -DSYS_DARWIN -DCONFIG_DARWIN -shared-libgcc"
7155 if [ "$_cc_major" = 3 ] && [ "$_cc_minor" -lt 1 ]; then
7156 CFLAGS="$CFLAGS -no-cpp-precomp"
7159 # libavcodec (from ffmpeg) requires CONFIG_DARWIN to enable AltiVec on Darwin/MacOSX
7160 test "$_altivec" = yes && CFLAGS="$CFLAGS -DCONFIG_DARWIN"
7162 if hpux ; then
7163 # use flag for HPUX missing setenv()
7164 CFLAGS="$CFLAGS -DHPUX"
7166 # Thread support
7167 if linux ; then
7168 CFLAGS="$CFLAGS -D_REENTRANT"
7169 elif bsd ; then
7170 # FIXME bsd needs this so maybe other OS'es
7171 CFLAGS="$CFLAGS -D_THREAD_SAFE"
7173 # 64 bit file offsets?
7174 if test "$_largefiles" = yes || freebsd ; then
7175 CFLAGS="$CFLAGS -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
7176 if test "$_dvdread" = yes ; then
7177 # dvdread support requires this (for off64_t)
7178 CFLAGS="$CFLAGS -D_LARGEFILE64_SOURCE"
7182 echocheck "compiler support for noexecstack"
7183 cat > $TMPC <<EOF
7184 int main(void) { return 0; }
7186 if cc_check -Wl,-z,noexecstack ; then
7187 _ld_extra="-Wl,-z,noexecstack $_ld_extra"
7188 echores "yes"
7189 else
7190 echores "no"
7193 if cc_check -Wdeclaration-after-statement ; then
7194 CFLAGS="-Wdeclaration-after-statement $CFLAGS"
7197 echocheck "ftello()"
7198 # if we don't have ftello use the osdep/ compatibility module
7199 cat > $TMPC << EOF
7200 #include <stdio.h>
7201 #include <sys/types.h>
7202 int main (void) { ftello(stdin); return 0; }
7204 _ftello=no
7205 cc_check && _ftello=yes
7206 if test "$_ftello" = yes ; then
7207 _def_ftello='#define HAVE_FTELLO 1'
7208 _need_ftello=no
7209 else
7210 _def_ftello='#undef HAVE_FTELLO'
7211 _need_ftello=yes
7213 echores "$_ftello"
7215 # Determine OS dependent libs
7216 if cygwin ; then
7217 _def_confwin32='#define WIN32'
7218 #CFLAGS="$CFLAGS -D__CYGWIN__ -D__CYGWIN_USE_BIG_TYPES__"
7219 # stat.st_size with BIG_TYPES is broken (not set) ::atmos
7220 CFLAGS="$CFLAGS -D__CYGWIN__"
7223 if win32 ; then
7224 _confwin32='TARGET_WIN32 = yes'
7225 else
7226 _confwin32='TARGET_WIN32 = no'
7229 # Dynamic linking flags
7230 # (FIXME: 'echocheck "dynamic linking"' above and modify here accordingly)
7231 _ld_dl_dynamic=''
7232 bsd && _ld_dl_dynamic='-rdynamic'
7233 if test "$_real" = yes || test "$_xanim" = yes && not win32 && not qnx && not darwin ; then
7234 _ld_dl_dynamic='-rdynamic'
7237 _ld_extra="$_ld_extra $_ld_pthread $_ld_dl $_ld_dl_dynamic"
7238 bsdos && _ld_extra="$_ld_extra -ldvd"
7239 netbsd && x86_32 && _ld_extra="$_ld_extra -li386"
7241 _def_debug='#undef MP_DEBUG'
7242 test "$_debug" != "" && _def_debug='#define MP_DEBUG 1'
7244 _def_linux='#undef TARGET_LINUX'
7245 linux && _def_linux='#define TARGET_LINUX 1'
7247 # TODO cleanup the VIDIX stuff here
7248 echocheck "VIDIX (internal)"
7249 echores "$_vidix_internal"
7251 echocheck "VIDIX (external)"
7252 if test "$_vidix_external" = auto; then
7253 _vidix_external=no
7254 cat > $TMPC <<EOF
7255 #include <vidix/vidix.h>
7256 int main(void) { return 0; }
7258 cc_check -lvidix && _vidix_external=yes
7260 echores "$_vidix_external"
7262 if test "$_vidix_internal" = yes || test "$_vidix_external" = yes ; then
7263 _vidix=yes
7264 _def_vidix='#define CONFIG_VIDIX 1'
7265 else
7266 _vidix=no
7267 _def_vidix='#undef CONFIG_VIDIX'
7270 if test "$_vidix_internal" = yes ; then
7271 _def_vidix_pfx="#define MP_VIDIX_PFX \"$_libdir\" \"/mplayer/vidix/\" "
7272 elif test "$_vidix_external" = yes ; then
7273 _libs_mplayer="$_libs_mplayer -lvidix"
7274 _def_vidix_pfx='#define MP_VIDIX_PFX "" '
7277 if test "$_vidix" = yes; then
7278 _vosrc="$_vosrc vo_cvidix.c"
7279 _vomodules="cvidix $_vomodules"
7280 else
7281 _novomodules="cvidix $_novomodules"
7283 if test "$_vidix" = yes && win32; then
7284 _vosrc="$_vosrc vo_winvidix.c"
7285 _vomodules="winvidix $_vomodules"
7286 _libs_mplayer="$_libs_mplayer -lgdi32"
7287 else
7288 _novomodules="winvidix $_novomodules"
7290 if test "$_vidix" = yes && test "$_x11" = yes; then
7291 _vosrc="$_vosrc vo_xvidix.c"
7292 _vomodules="xvidix $_vomodules"
7293 else
7294 _novomodules="xvidix $_novomodules"
7297 echocheck "joystick"
7298 _def_joystick='#undef HAVE_JOYSTICK'
7299 if test "$_joystick" = yes ; then
7300 if linux ; then
7301 # TODO add some check
7302 _def_joystick='#define HAVE_JOYSTICK 1'
7303 else
7304 _joystick="no (unsupported under $system_name)"
7307 echores "$_joystick"
7309 echocheck "lirc"
7310 if test "$_lirc" = auto ; then
7311 _lirc=no
7312 cat > $TMPC <<EOF
7313 #include <lirc/lirc_client.h>
7314 int main(void) { return 0; }
7316 cc_check -llirc_client && _lirc=yes
7318 if test "$_lirc" = yes ; then
7319 _def_lirc='#define HAVE_LIRC 1'
7320 _ld_extra="$_ld_extra -llirc_client"
7321 else
7322 _def_lirc='#undef HAVE_LIRC'
7324 echores "$_lirc"
7326 echocheck "lircc"
7327 if test "$_lircc" = auto ; then
7328 _lircc=no
7329 cat > $TMPC <<EOF
7330 #include <lirc/lircc.h>
7331 int main(void) { return 0; }
7333 cc_check -llircc && _lircc=yes
7335 if test "$_lircc" = yes ; then
7336 _def_lircc='#define HAVE_LIRCC 1'
7337 _ld_extra="$_ld_extra -llircc"
7338 else
7339 _def_lircc='#undef HAVE_LIRCC'
7341 echores "$_lircc"
7343 if arm; then
7344 # Detect maemo development platform libraries availability (http://www.maemo.org),
7345 # they are used when run on Nokia 770
7346 echocheck "maemo (Nokia 770)"
7347 if test "$_maemo" = auto ; then
7348 _maemo=no
7349 cat > $TMPC << EOF
7350 #include <libosso.h>
7351 int main(void) { (void) osso_initialize("", "", 0, NULL); return 0; }
7353 cc_check `$_pkg_config --cflags --libs libosso 2>/dev/null` && _maemo=yes
7355 if test "$_maemo" = yes ; then
7356 _def_maemo='#define HAVE_MAEMO 1'
7357 _inc_extra="$_inc_extra `$_pkg_config --cflags libosso`"
7358 _ld_extra="$_ld_extra `$_pkg_config --libs libosso` -lXsp"
7359 else
7360 _def_maemo='#undef HAVE_MAEMO'
7362 echores "$_maemo"
7365 echocheck "color console output"
7366 if test "$_color_console" = yes ; then
7367 _def_color_console='#define MSG_USE_COLORS 1'
7368 else
7369 _def_color_console='#undef MSG_USE_COLORS'
7371 echores "$_color_console"
7373 # linker paths should be the same for mencoder and mplayer
7374 _ld_tmp=""
7375 for I in $_libs_mplayer ; do
7376 _tmp=`echo $I | sed -e 's/^-L.*$//'`
7377 if test -z "$_tmp" ; then
7378 _ld_extra="$I $_ld_extra"
7379 else
7380 _ld_tmp="$_ld_tmp $I"
7382 done
7383 _libs_mplayer=$_ld_tmp
7385 #############################################################################
7386 # Take care of ffmpeg dependencies
7387 if test "$_zlib" = no ; then
7388 _libavdecoders=`echo $_libavdecoders | sed -e s/FLASHSV_DECODER// -e s/PNG_DECODER// -e s/ZMBV_DECODER// `
7389 _libavencoders=`echo $_libavencoders | sed -e s/FLASHSV_ENCODER// -e s/PNG_ENCODER// -e s/ZMBV_ENCODER// `
7391 if test "$_amr_nb" = no && test "$_amr_nb_fixed" = no ; then
7392 _libavdecoders=`echo $_libavdecoders | sed -e s/AMR_NB_DECODER// `
7393 _libavencoders=`echo $_libavencoders | sed -e s/AMR_NB_ENCODER// `
7395 if test "$_amr_wb" = no ; then
7396 _libavdecoders=`echo $_libavdecoders | sed -e s/AMR_WB_DECODER// `
7397 _libavencoders=`echo $_libavencoders | sed -e s/AMR_WB_ENCODER// `
7399 if test "$_libdts" = no ; then
7400 _libavdecoders=`echo $_libavdecoders | sed -e s/DTS_DECODER// `
7402 if test "$_xvmc" = no ; then
7403 _libavdecoders=`echo $_libavdecoders | sed -e s/MPEG_XVMC_DECODER// `
7405 if test "$_x264" = no || test "$_lavc_x264" = no ; then
7406 _libavencoders=`echo $_libavencoders | sed -e s/X264_ENCODER// `
7408 if test "$_xvid" = no || test "$_lavc_xvid" = no ; then
7409 _libavencoders=`echo $_libavencoders | sed -e s/XVID_ENCODER// `
7411 if test "$_faac" = no || test "$_lavc_faac" = no ; then
7412 _libavencoders=`echo $_libavencoders | sed -e s/FAAC_ENCODER// `
7414 if test "$_mp3lame" = no || test "$_lavc_mp3lame" = no ; then
7415 _libavencoders=`echo $_libavencoders | sed -e s/MP3LAME_ENCODER// `
7417 if test "$_libvorbis" = no ; then
7418 _libavencoders=`echo $_libavencoders | sed -e s/LIBVORBIS_ENCODER// `
7419 _libavmuxers=`echo $_libavmuxers | sed -e s/OGG_MUXER// `
7421 if test "$_nut" = no ; then
7422 _libavmuxers=`echo $_libavmuxers | sed -e s/LIBNUT_MUXER// `
7425 #############################################################################
7426 echo "Creating config.mak"
7427 cat > config.mak << EOF
7428 # -------- Generated by configure -----------
7430 LANG = C
7431 MAN_LANG = $MAN_LANG
7432 TARGET_OS = $system_name
7433 DESTDIR =
7434 prefix = \$(DESTDIR)$_prefix
7435 BINDIR = \$(DESTDIR)$_bindir
7436 DATADIR = \$(DESTDIR)$_datadir
7437 MANDIR = \$(DESTDIR)$_mandir
7438 CONFDIR = \$(DESTDIR)$_confdir
7439 LIBDIR = \$(DESTDIR)$_libdir
7440 # FFmpeg uses libdir instead of LIBDIR
7441 libdir = \$(LIBDIR)
7442 #AR = ar
7443 CC = $_cc
7444 HOST_CC = $_host_cc
7445 AWK = $_awk
7446 RANLIB = $_ranlib
7447 LDCONFIG = $_ldconfig
7448 INSTALL = $_install
7449 EXTRA_INC = $_inc_extra
7450 OPTFLAGS = $CFLAGS \$(EXTRA_INC)
7451 STRIPBINARIES = $_stripbinaries
7452 CHARSET = $_charset
7453 HELP_FILE = $_mp_help
7455 EXESUF = $_exesuf
7457 MPLAYER_NETWORK = $_network
7458 FTP = $_ftp
7459 STREAMING_LIVE555 = $_live
7460 VSTREAM = $_vstream
7461 STREAM_CACHE = yes
7462 DVBIN = $_dvbin
7463 VIDIX = $_vidix_internal
7464 EXTERNAL_VIDIX = $_vidix_external
7465 CONFIG_PP = yes
7466 MP3LAME = $_mp3lame
7467 LIBMENU = $_menu
7469 MP3LIB = $_mp3lib
7470 LIBA52 = $_liba52
7471 LIBMPEG2 = $_libmpeg2
7472 TREMOR_INTERNAL = $_tremor_internal
7473 TREMOR_FLAGS = $_tremor_flags
7474 FAAD = $_faad
7476 SPEEX = $_speex
7477 MUSEPACK = $_musepack
7479 UNRARLIB = $_unrarlib
7480 PNG = $_png
7481 JPEG = $_jpeg
7482 GIF = $_gif
7484 EXTRALIBS = $_extra_libs
7485 EXTRA_LIB = $_ld_extra $_ld_static $_ld_lm
7486 EXTRALIBS_MPLAYER = $_libs_mplayer
7487 EXTRALIBS_MENCODER = $_libs_mencoder
7489 HAVE_MLIB = $_mlib
7490 HAVE_PTHREADS = $_pthreads
7492 HAVE_XVMC_ACCEL = $_xvmc
7494 HAVE_SYS_MMAN_H = $_mman
7496 NEED_FSEEKO = $_need_fseeko
7497 NEED_FTELLO = $_need_ftello
7498 NEED_GETTIMEOFDAY = $_need_gettimeofday
7499 NEED_GLOB = $_need_glob
7500 NEED_SCANDIR = $_need_scandir
7501 NEED_SETENV = $_need_setenv
7502 NEED_STRLCAT = $_need_strlcat
7503 NEED_STRLCPY = $_need_strlcpy
7504 NEED_STRSEP = $_need_strsep
7505 NEED_SWAB = $_need_swab
7506 NEED_VSSCANF = $_need_vsscanf
7508 # for FFmpeg
7509 SRC_PATH=..
7510 BUILD_ROOT=..
7511 LIBPREF=lib
7512 LIBSUF=.a
7513 LIB=\$(LIBPREF)\$(NAME)\$(LIBSUF)
7515 # audio output
7516 OSS = $_ossaudio
7517 ALSA = $_alsa
7518 ALSA5 = $_alsa5
7519 ALSA9 = $_alsa9
7520 ALSA1X = $_alsa1x
7522 # input/demuxer/codecs
7523 JOYSTICK = $_joystick
7524 LIRC = $_lirc
7525 TV = $_tv
7526 TV_V4L = $_tv_v4l
7527 TV_V4L1 = $_tv_v4l1
7528 TV_V4L2 = $_tv_v4l2
7529 TV_BSDBT848 = $_tv_bsdbt848
7530 PVR = $_pvr
7531 VCD = $_vcd
7532 DVDREAD = $_dvdread
7533 DVDREAD_INTERNAL = $_dvdread_internal
7534 DVDCSS_INTERNAL = $_libdvdcss_internal
7535 DVDNAV = $_dvdnav
7536 WIN32DLL = $_win32
7537 QTX_CODECS = $_qtx
7538 REAL_CODECS = $_real
7539 XANIM_CODECS = $_xanim
7540 CONFIG_LIBAVUTIL = $_libavutil
7541 CONFIG_LIBAVUTIL_SO = $_libavutil_so
7542 CONFIG_LIBAVCODEC = $_libavcodec
7543 CONFIG_LIBAVCODEC_SO = $_libavcodec_so
7544 CONFIG_LIBAVFORMAT = $_libavformat
7545 CONFIG_LIBAVFORMAT_SO = $_libavformat_so
7546 CONFIG_LIBPOSTPROC = $_libpostproc
7547 CONFIG_LIBPOSTPROC_SO = $_libpostproc_so
7548 ZORAN = $_zr
7549 LIBLZO = $_liblzo
7550 LIBDV = $_libdv
7551 XVID4 = $_xvid
7552 X264 = $_x264
7553 LIBNUT = $_nut
7554 CONFIG_LIBDTS = $_libdts
7555 MPLAYER = $_mplayer
7556 MENCODER = $_mencoder
7557 CDDA = $_cdda
7558 CDDB = $_cddb
7559 BITMAP_FONT = $_bitmap_font
7560 FREETYPE = $_freetype
7561 CONFIG_ASS = $_ass
7562 LIBMAD = $_mad
7563 LIBVORBIS = $_vorbis
7564 LIBTHEORA = $_theora
7565 FAAD_INTERNAL = $_faad_internal
7566 FAAD_FIXED = $_faad_fixed
7567 LIBSMBCLIENT = $_smbsupport
7568 XMMS_PLUGINS = $_xmms
7569 MACOSX = $_macosx
7570 MACOSX_FINDER_SUPPORT = $_macosx_finder_support
7571 MACOSX_BUNDLE = $_macosx_bundle
7572 MACOSX_COREVIDEO = $_macosx_corevideo
7573 TOOLAME=$_toolame
7574 TWOLAME=$_twolame
7575 FAAC=$_faac
7576 CONFIG_AMR=$_amr
7577 CONFIG_AMR_NB=$_amr_nb
7578 CONFIG_AMR_NB_FIXED=$_amr_nb_fixed
7579 CONFIG_AMR_WB=$_amr_wb
7580 `echo $_libavdecoders | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/'`
7581 `echo $_libavencoders | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/'`
7582 `echo $_libavparsers | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/'`
7583 `echo $_libavdemuxers | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/'`
7584 `echo $_libavmuxers | tr '[a-z] ' '[A-Z]\n' | sed 's/^/CONFIG_/;s/$/=yes/'`
7585 CONFIG_LIBFAAC=$_lavc_faac
7586 CONFIG_LIBMP3LAME=$_lavc_mp3lame
7587 CONFIG_XVID=$_lavc_xvid
7588 CONFIG_X264=$_lavc_x264
7589 CONFIG_ZLIB=$_zlib
7590 CONFIG_GPL=yes
7591 CONFIG_ENCODERS=$_mencoder
7592 CONFIG_MUXERS=$_mencoder
7593 RADIO=$_radio
7594 RADIO_CAPTURE=$_radio_capture
7596 # --- Some stuff for autoconfigure ----
7597 $_target_arch
7598 $_target_arch_x86
7599 $_confwin32
7600 TARGET_CPU=$iproc
7601 TARGET_MMX = $_mmx
7602 TARGET_MMX2 = $_mmxext
7603 TARGET_3DNOW = $_3dnow
7604 TARGET_3DNOWEX = $_3dnowext
7605 TARGET_SSE = $_sse
7606 TARGET_CMOV = $_cmov
7607 TARGET_ALTIVEC = $_altivec
7608 TARGET_ARMV5TE = $_armv5te
7609 TARGET_IWMMXT = $_iwmmxt
7610 TARGET_VIS = $_vis
7611 TARGET_BUILTIN_VECTOR = $_builtin_vector
7612 TARGET_BUILTIN_3DNOW = $_mm3dnow
7614 # --- GUI stuff ---
7615 GUI = $_gui
7617 # --- libvo stuff ---
7618 VO_SRCS = $_vosrc
7620 # --- libao2 stuff ---
7621 AO_SRCS = $_aosrc
7623 # --- libaf stuff ---
7624 AF_SRCS = $_afsrc
7628 #############################################################################
7630 ff_config_enable () {
7631 for part in $1; do
7632 if ` echo $2 | grep $part > /dev/null `; then
7633 echo "#define CONFIG_$part 1"
7634 echo "#define ENABLE_$part 1"
7635 else
7636 echo "#define ENABLE_$part 0"
7638 done
7641 echo "Creating config.h"
7642 cat > config.h << EOF
7643 /* -------- This file has been automatically generated by configure ---------
7644 Note: Any changes in it will be lost when you run configure again. */
7646 /* Protect against multiple inclusion */
7647 #ifndef MPLAYER_CONFIG_H
7648 #define MPLAYER_CONFIG_H 1
7650 #define CONFIGURATION "$_configuration"
7652 /* make sure we never get lavformat's poll() emulation, the results are
7653 horrible if the X libs try to actually use it, see MPlayer-users
7654 Message-ID: <45D49541.8060101@infernix.net>
7655 Date: Thu, 15 Feb 2007 18:15:45 +0100
7656 Subject: [MPlayer-users] Crash with backtrace when playing back demuxed...
7658 #define HAVE_SYS_POLL_H 1
7660 /* use GNU internationalization */
7661 $_def_i18n
7663 /* name of messages charset */
7664 $_def_charset
7666 /* Runtime CPU detection */
7667 $_def_runtime_cpudetection
7669 /* Dynamic a/v plugins */
7670 $_def_dynamic_plugins
7672 /* "restrict" keyword */
7673 $_def_restrict_keyword
7675 /* __builtin_expect branch prediction hint */
7676 $_def_builtin_expect
7677 #ifdef HAVE_BUILTIN_EXPECT
7678 #define likely(x) __builtin_expect ((x) != 0, 1)
7679 #define unlikely(x) __builtin_expect ((x) != 0, 0)
7680 #else
7681 #define likely(x) (x)
7682 #define unlikely(x) (x)
7683 #endif
7685 /* attribute(used) as needed by some compilers */
7686 #if (__GNUC__ * 100 + __GNUC_MINOR__ >= 300)
7687 # define attribute_used __attribute__((used))
7688 #else
7689 # define attribute_used
7690 #endif
7692 /* compiler support for named assembler arguments */
7693 $_def_named_asm_args
7695 #define PREFIX "$_prefix"
7697 /* enable/disable SIGHANDLER */
7698 $_def_sighandler
7700 /* enable/disable automatic gdb attach on crash, requires SIGHANDLER */
7701 $_def_crash_debug
7703 /* Toggles debugging informations */
7704 $_def_debug
7706 /* Toggles color console output */
7707 $_def_color_console
7709 /* Indicates that libcdio is available for VCD and CD-DA playback */
7710 $_def_libcdio
7712 /* Indicates that Ogle's libdvdread is available for DVD playback */
7713 $_def_dvdread
7715 /* Indicates that dvdread is internal */
7716 $_def_dvdread_internal
7718 /* Additional options for libdvdread/libdvdcss */
7719 $_def_dvd
7720 $_def_cdrom
7721 $_def_cdio
7722 $_def_dvdio
7723 $_def_bsdi_dvd
7724 $_def_dvd_bsd
7725 $_def_dvd_linux
7726 $_dev_dvd_openbsd
7727 $_def_dvd_darwin
7728 $_def_sol_scsi_h
7729 $_def_hpux_scsi_h
7730 $_def_stddef
7732 /* Common data directory (for fonts, etc) */
7733 #define MPLAYER_DATADIR "$_datadir"
7734 #define MPLAYER_CONFDIR "$_confdir"
7735 #define MPLAYER_LIBDIR "$_libdir"
7737 /* Define this to compile stream-caching support, it can be enabled via
7738 -cache <kilobytes> */
7739 #define USE_STREAM_CACHE 1
7741 /* Define if you are using XviD library */
7742 $_def_xvid
7744 /* Define if you are using the X.264 library */
7745 $_def_x264
7747 /* Define if you are using libnut */
7748 $_def_nut
7750 /* Define to include support for libdv-0.9.5 */
7751 $_def_libdv
7753 /* If build mencoder */
7754 $_mencoder_flag
7756 /* Indicates if libmp3lame is available
7757 Note: for mencoder */
7758 $_def_mp3lame
7759 $_def_mp3lame_preset
7760 $_def_mp3lame_preset_medium
7762 /* Define this to enable avg. byte/sec-based AVI sync method by default:
7763 (use -bps or -nobps commandline option for run-time method selection)
7764 -bps gives better sync for vbr mp3 audio, it is now default */
7765 #define AVI_SYNC_BPS 1
7767 /* Undefine this if you do not want to select mono audio (left or right)
7768 with a stereo MPEG layer 2/3 audio stream. The command line option
7769 -stereo has three possible values (0 for stereo, 1 for left-only, 2 for
7770 right-only), with 0 being the default.
7772 #define USE_FAKE_MONO 1
7774 /* Undefine this if your sound card driver has no working select().
7775 If you have kernel Oops, player hangups, or just no audio, you should
7776 try to recompile MPlayer with this option disabled! */
7777 $_def_select
7779 /* define this to use iconv(3) function to codepage conversions */
7780 $_def_iconv
7782 /* define this to use nl_langinfo function */
7783 $_def_langinfo
7785 /* define this to use RTC (/dev/rtc) for video timers */
7786 $_def_rtc
7788 /* set up max. outburst. use 65536 for ALSA 0.5, for others 16384 is enough */
7789 #define MAX_OUTBURST 65536
7791 /* set up audio OUTBURST. Do not change this! */
7792 #define OUTBURST 512
7794 /* Define this if your system has the header file for the OSS sound interface */
7795 $_def_sys_soundcard
7797 /* Define this if your system has the header file for the OSS sound interface
7798 * in /usr/include */
7799 $_def_soundcard
7801 /* Define this if your system has the sysinfo header */
7802 $_def_sys_sysinfo
7804 /* Define this if your system has ftello() */
7806 $_def_ftello
7807 #ifndef HAVE_FTELLO
7808 /* Need these for FILE and off_t an config.h is usually before other includes*/
7809 #include <stdio.h>
7810 #include <sys/types.h>
7811 off_t ftello(FILE *);
7812 #endif
7814 /* Define this if your system has the "malloc.h" header file */
7815 $_def_malloc
7817 /* memalign is mapped to malloc if unsupported */
7818 $_def_memalign
7819 $_def_map_memalign
7820 $_def_memalign_hack
7822 /* assembler handling of .align */
7823 $_def_asmalign_pot
7825 /* Define this if your system has the "alloca.h" header file */
7826 $_def_alloca
7828 /* Define this if your system has the "sys/mman.h" header file */
7829 $_def_mman
7830 $_def_mman_has_map_failed
7832 /* Define this if you have the elf dynamic linker -ldl library */
7833 $_def_dl
7835 /* Define this if you have the kstat kernel statistics library */
7836 $_def_kstat
7838 /* Define this if you have zlib */
7839 $_def_zlib
7840 #ifdef HAVE_ZLIB
7841 #define CONFIG_ZLIB 1
7842 #endif
7844 /* Define this if you have shm support */
7845 $_def_shm
7847 /* Define this if your system has scandir & alphasort */
7848 $_def_scandir
7850 /* Define this if your system has strsep */
7851 $_def_strsep
7853 /* Define this if your system has strlcpy */
7854 $_def_strlcpy
7855 #ifndef HAVE_STRLCPY
7856 unsigned int strlcpy (char *dest, const char *src, unsigned int size);
7857 #endif
7859 /* Define this if your system has strlcat */
7860 $_def_strlcat
7861 #ifndef HAVE_STRLCAT
7862 unsigned int strlcat (char *dest, const char *src, unsigned int size);
7863 #endif
7865 /* Define this if your system has fseeko */
7866 $_def_fseeko
7867 #ifndef HAVE_FSEEKO
7868 /* Need these for FILE and off_t an config.h is usually before other includes*/
7869 #include <stdio.h>
7870 #include <sys/types.h>
7871 int fseeko(FILE *, off_t, int);
7872 #endif
7874 $_def_localtime_r
7876 /* Define this if your system has vsscanf */
7877 $_def_vsscanf
7879 /* Define this if your system has swab */
7880 $_def_swab
7882 /* Define this if your system has no posix select */
7883 $_def_no_posix_select
7885 /* Define this if your system has gettimeofday */
7886 $_def_gettimeofday
7888 /* Define this if your system has glob */
7889 $_def_glob
7891 /* Define this if your system has setenv */
7892 $_def_setenv
7893 #ifndef HAVE_SETENV
7894 int setenv(const char *name, const char *val, int overwrite);
7895 #endif
7897 /* Define this if your system has sysi86 */
7898 $_def_sysi86
7900 /* Define this if your system has pthreads */
7901 $_def_pthreads
7903 /* Define this if you enabled thread support for libavcodec */
7904 $_def_threads
7906 /* LIRC (remote control, see www.lirc.org) support: */
7907 $_def_lirc
7909 /* Support for maemo (http://www.maemo.org) */
7910 $_def_maemo
7913 * LIRCCD (LIRC client daemon)
7914 * See http://www.dolda2000.cjb.net/~fredrik/lirccd/
7916 $_def_lircc
7918 /* DVD navigation support using libdvdnav */
7919 $_def_dvdnav
7920 $_def_dvdnav_version
7922 /* Define this to enable MPEG 1/2 image postprocessing (requires a FAST CPU!) */
7923 #define MPEG12_POSTPROC 1
7925 /* Define this to enable image postprocessing in libavcodec (requires a FAST CPU!) */
7926 $_def_libpostproc
7927 $_def_libpostproc_so
7929 /* Win32 DLL support */
7930 $_def_win32
7931 #define WIN32_PATH "$_win32codecsdir"
7933 /* Mac OS X specific features */
7934 $_def_macosx
7935 $_def_macosx_finder_support
7936 $_def_macosx_bundle
7937 $_def_macosx_corevideo
7939 /* Build our Win32-loader */
7940 $_def_win32_loader
7942 /* ffmpeg's libavcodec support (requires libavcodec source) */
7943 $_def_libavcodec
7944 $_def_libavcodec_so
7945 $_def_lavc_dsputil
7946 $_def_libavcodec_mpegaudio_hp
7948 /* ffmpeg's libavformat support (requires libavformat source) */
7949 $_def_libavformat
7950 $_def_libavformat_so
7951 $_def_libavformat_win32
7953 $_def_libavutil
7954 $_def_libavutil_so
7956 /* Use libavcodec's decoders */
7957 #define CONFIG_DECODERS 1
7958 /* Use libavcodec's encoders */
7959 #define CONFIG_ENCODERS 1
7961 /* Use libavformat's demuxers */
7962 #define CONFIG_DEMUXERS 1
7963 /* Use libavformat's muxers */
7964 $_def_muxers
7966 #define CONFIG_GPL 1
7968 /* Use amr codecs from libavcodec (requires amr sources) */
7969 $_def_amr
7970 $_def_amr_nb
7971 $_def_amr_nb_fixed
7972 $_def_amr_wb
7974 /* Use specific parts from FFmpeg. */
7975 `ff_config_enable "$_libavdecoders_all" "$_libavdecoders"`
7976 `ff_config_enable "$_libavencoders_all" "$_libavencoders"`
7977 `ff_config_enable "$_libavparsers_all" "$_libavparsers"`
7978 `ff_config_enable "$_libavdemuxers_all" "$_libavdemuxers"`
7979 `ff_config_enable "$_libavmuxers_all" "$_libavmuxers"`
7981 $_def_lavc_faac
7982 $_def_lavc_xvid
7983 $_def_lavc_mp3lame
7984 $_def_lavc_x264
7986 /* Use codec libs included in mplayer CVS / source dist: */
7987 $_def_mp3lib
7988 $_def_liba52
7989 $_def_libdts
7990 $_def_libmpeg2
7992 /* XAnim DLL support */
7993 $_def_xanim
7994 /* Default search path */
7995 $_def_xanim_path
7997 /* RealPlayer DLL support */
7998 $_def_real
7999 /* Default search path */
8000 $_def_real_path
8002 /* LIVE555 Streaming Media library support */
8003 $_def_live
8005 /* Use 3dnow/mmxext/sse/mmx optimized fast memcpy() [maybe buggy... signal 4]*/
8006 $_def_fastmemcpy
8008 /* Use unrarlib for Vobsubs */
8009 $_def_unrarlib
8011 /* gui support, please do not edit this option */
8012 $_def_gui
8013 $_def_gtk2_gui
8015 /* Audio output drivers */
8016 $_def_ossaudio
8017 $_def_ossaudio_devdsp
8018 $_def_ossaudio_devmixer
8019 $_def_alsa5
8020 $_def_alsa9
8021 $_def_alsa1x
8022 $_def_arts
8023 $_def_esd
8024 $_def_esd_latency
8025 $_def_polyp
8026 $_def_jack
8027 $_def_openal
8028 $_def_openal_h
8029 $_def_sys_asoundlib_h
8030 $_def_alsa_asoundlib_h
8031 $_def_sunaudio
8032 $_def_sgiaudio
8033 $_def_win32waveout
8034 $_def_nas
8036 /* Enable fast OSD/SUB renderer (looks ugly, but uses less CPU power) */
8037 #undef FAST_OSD
8038 #undef FAST_OSD_TABLE
8040 /* Enable TV Interface support */
8041 $_def_tv
8043 /* Enable Video 4 Linux TV interface support */
8044 $_def_tv_v4l
8046 /* Enable Video 4 Linux 1 TV interface support */
8047 $_def_tv_v4l1
8049 /* Enable Video 4 Linux 2 TV interface support */
8050 $_def_tv_v4l2
8052 /* Enable *BSD BrookTree TV interface support */
8053 $_def_tv_bsdbt848
8055 /* Enable Radio Interface support */
8056 $_def_radio
8058 /* Enable Capture for Radio Interface support */
8059 $_def_radio_capture
8061 /* Enable Video 4 Linux Radio interface support */
8062 $_def_radio_v4l
8064 /* Enable Video 4 Linux 2 Radio interface support */
8065 $_def_radio_v4l2
8067 /* Enable *BSD BrookTree Radio interface support */
8068 $_def_radio_bsdbt848
8070 /* Enable Video 4 Linux 2 MPEG PVR support */
8071 $_def_pvr
8073 /* Define if your processor stores words with the most significant
8074 byte first (like Motorola and SPARC, unlike Intel and VAX). */
8075 $_def_words_endian
8077 $_def_arch
8078 $_def_arch_x86
8080 /* For the PPC. G5 has the dcbzl when in 64bit mode but G4s and earlier do not
8081 have the instruction. */
8082 $_def_dcbzl
8084 /* libmpeg2 wants ARCH_PPC and the rest of mplayer use ARCH_POWERPC,
8085 * define ARCH_PPC if ARCH_POWERPC is set to cope with that.
8087 #ifdef ARCH_POWERPC
8088 #define ARCH_PPC 1
8089 #endif
8091 /* the same issue as with ARCH_POWERPC but with ffmpeg/libavcodec */
8092 #ifdef ARCH_ARMV4L
8093 #define ARCH_ARM 1
8094 #endif
8096 /* only gcc3 can compile mvi instructions */
8097 $_def_gcc_mvi_support
8099 /* Define this for Cygwin build for win32 */
8100 $_def_confwin32
8102 /* Define this to any prefered value from 386 up to infinity with step 100 */
8103 #define __CPU__ $iproc
8105 $_mp_wordsize
8107 $_def_linux
8109 $_def_vcd
8111 #ifdef sun
8112 #define DEFAULT_CDROM_DEVICE "/vol/dev/aliases/cdrom0"
8113 #define DEFAULT_DVD_DEVICE DEFAULT_CDROM_DEVICE
8114 #elif defined(HPUX)
8115 #define DEFAULT_CDROM_DEVICE "/dev/cdrom"
8116 #define DEFAULT_DVD_DEVICE "/dev/dvd"
8117 #elif defined(WIN32)
8118 #define DEFAULT_CDROM_DEVICE "D:"
8119 #define DEFAULT_DVD_DEVICE "D:"
8120 #elif defined(SYS_DARWIN)
8121 #define DEFAULT_CDROM_DEVICE "/dev/disk1"
8122 #define DEFAULT_DVD_DEVICE "/dev/rdiskN"
8123 #elif defined(__OpenBSD__)
8124 #define DEFAULT_CDROM_DEVICE "/dev/rcd0a"
8125 #define DEFAULT_DVD_DEVICE DEFAULT_CDROM_DEVICE
8126 #elif defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
8127 #define DEFAULT_CDROM_DEVICE "/dev/acd0"
8128 #define DEFAULT_DVD_DEVICE DEFAULT_CDROM_DEVICE
8129 #else
8130 #define DEFAULT_CDROM_DEVICE "/dev/cdrom"
8131 #define DEFAULT_DVD_DEVICE "/dev/dvd"
8132 #endif
8135 /*----------------------------------------------------------------------------
8137 ** NOTE: Instead of modifying these definitions here, use the
8138 ** --enable/--disable options of the ./configure script!
8139 ** See ./configure --help for details.
8141 *---------------------------------------------------------------------------*/
8143 /* C99 lrintf function available */
8144 $_def_lrintf
8146 /* round function is available */
8147 $_def_round
8149 /* yes, we have inttypes.h */
8150 #define HAVE_INTTYPES_H 1
8152 /* int_fastXY_t emulation */
8153 $_def_fast_inttypes
8155 /* nanosleep support */
8156 $_def_nanosleep
8158 /* SMB support */
8159 $_def_smbsupport
8161 /* termcap flag for getch2.c */
8162 $_def_termcap
8164 /* termios flag for getch2.c */
8165 $_def_termios
8166 $_def_termios_h
8167 $_def_termios_sys_h
8169 /* enable PNG support */
8170 $_def_png
8172 /* enable JPEG support */
8173 $_def_jpeg
8175 /* enable PNM support */
8176 $_def_pnm
8178 /* enable md5sum support */
8179 $_def_md5sum
8181 /* enable GIF support */
8182 $_def_gif
8183 $_def_gif_4
8184 $_def_gif_tvt_hack
8186 /* enable bitmap font support */
8187 $_def_bitmap_font
8189 /* enable FreeType support */
8190 $_def_freetype
8192 /* enable Fontconfig support */
8193 $_def_fontconfig
8195 /* enable SSA/ASS support */
8196 $_def_ass
8198 /* enable FriBiDi usage */
8199 $_def_fribidi
8201 /* enable ENCA usage */
8202 $_def_enca
8204 /* liblzo support */
8205 $_def_liblzo
8206 #ifdef USE_LIBLZO
8207 #define CONFIG_LZO 1
8208 #endif
8210 /* libmad support */
8211 $_def_mad
8213 /* enable OggVorbis support */
8214 $_def_vorbis
8215 $_def_tremor
8217 /* enable Speex support */
8218 $_def_speex
8220 /* enable musepack support */
8221 $_def_musepack
8223 /* enable OggTheora support */
8224 $_def_theora
8226 /* enable FAAD (AAC) support */
8227 $_def_faad
8228 $_def_faad_internal
8230 /* enable FAAC (AAC encoder) support */
8231 $_def_faac
8233 /* enable LADSPA plugin support */
8234 $_def_ladspa
8236 /* enable network */
8237 $_def_network
8239 /* enable ftp support */
8240 $_def_ftp
8242 /* enable vstream support */
8243 $_def_vstream
8245 /* enable winsock2 instead of Unix functions*/
8246 $_def_winsock2
8248 /* define this to use inet_aton() instead of inet_pton() */
8249 $_def_use_aton
8251 /* enables / disables cdparanoia support */
8252 $_def_cdparanoia
8253 $_def_cddb
8255 /* enables / disables VIDIX usage */
8256 $_def_vidix
8257 $_def_vidix_pfx
8259 /* enables / disables new input joystick support */
8260 $_def_joystick
8262 /* enables / disables QTX codecs */
8263 $_def_qtx
8265 /* enables / disables osd menu */
8266 $_def_menu
8268 /* enables / disables subtitles sorting */
8269 $_def_sortsub
8271 /* XMMS input plugin support */
8272 $_def_xmms
8273 #define XMMS_INPUT_PLUGIN_DIR "$_xmmsplugindir"
8275 /* enables inet6 support */
8276 $_def_inet6
8278 /* do we have gethostbyname2? */
8279 $_def_gethostbyname2
8281 /* Extension defines */
8282 $_def_3dnow // only define if you have 3DNOW (AMD k6-2, AMD Athlon, iDT WinChip, etc.)
8283 $_def_3dnowext // only define if you have 3DNOWEXT (AMD Athlon, etc.)
8284 $_def_mmx // only define if you have MMX (newer x86 chips, not P54C/PPro)
8285 $_def_mmxext // only define if you have MMX2 (Athlon/PIII/4/CelII)
8286 $_def_sse // only define if you have SSE (Intel Pentium III/4 or Celeron II)
8287 $_def_sse2 // only define if you have SSE2 (Intel Pentium 4)
8288 $_def_cmov // only define if you have CMOV (i686+, without VIA C3)
8289 $_def_altivec // only define if you have Altivec (G4)
8290 $_def_armv5te // only define if you have Enhanced DSP Extensions (ARM)
8291 $_def_iwmmxt // only define if you have XScale IWMMX (ARM)
8293 $_def_altivec_h // enables usage of altivec.h
8295 $_def_mlib // Sun mediaLib, available only on solaris
8296 $_def_vis // only define if you have VIS ( ultrasparc )
8298 /* libmpeg2 uses a different feature test macro for mediaLib */
8299 #ifdef HAVE_MLIB
8300 #define LIBMPEG2_MLIB 1
8301 #endif
8303 /* libvo options */
8304 #define SCREEN_SIZE_X 1
8305 #define SCREEN_SIZE_Y 1
8306 $_def_x11
8307 $_def_xv
8308 $_def_xvmc
8309 $_def_vm
8310 $_def_xf86keysym
8311 $_def_xinerama
8312 $_def_gl
8313 $_def_gl_win32
8314 $_def_dga
8315 $_def_dga2
8316 $_def_sdl
8317 /* defined for SDLlib with keyrepeat bugs (before 1.2.1) */
8318 $_def_sdlbuggy
8319 $_def_directx
8320 $_def_ggi
8321 $_def_ggiwmh
8322 $_def_3dfx
8323 $_def_s3fb
8324 $_def_tdfxfb
8325 $_def_tdfxvid
8326 $_def_directfb
8327 $_def_directfb_version
8328 $_def_dfbmga
8329 $_def_zr
8330 $_def_bl
8331 $_def_mga
8332 $_def_xmga
8333 $_def_syncfb
8334 $_def_fbdev
8335 $_def_dxr2
8336 $_def_dxr3
8337 $_def_ivtv
8338 $_def_dvb
8339 $_def_dvb_in
8340 $_def_svga
8341 $_def_vesa
8342 $_def_xdpms
8343 $_def_aa
8344 $_def_caca
8345 $_def_tga
8346 $_def_toolame
8347 $_def_twolame
8349 /* used by GUI: */
8350 $_def_xshape
8352 #if defined(HAVE_GL) || defined(HAVE_X11) || defined(HAVE_XV)
8353 #define X11_FULLSCREEN 1
8354 #endif
8356 #endif /* MPLAYER_CONFIG_H */
8359 #############################################################################
8361 cat << EOF
8363 Config files successfully generated by ./configure !
8365 Install prefix: $_prefix
8366 Data directory: $_datadir
8367 Config direct.: $_confdir
8369 Byte order: $_byte_order
8370 Optimizing for: $_optimizing
8372 Languages:
8373 Messages/GUI: $_language
8376 echo ${_echo_n} " Manual pages: $MAN_LANG ${_echo_c}"
8377 test "$LANGUAGES" = en && echo ${_echo_n} " (no localization selected, use --language=all)${_echo_c}"
8378 echo
8380 cat << EOF
8382 Enabled optional drivers:
8383 Input: $_inputmodules
8384 Codecs: $_codecmodules
8385 Audio output: $_aomodules
8386 Video output: $_vomodules
8387 Audio filters: $_afmodules
8388 Disabled optional drivers:
8389 Input: $_noinputmodules
8390 Codecs: $_nocodecmodules
8391 Audio output: $_noaomodules
8392 Video output: $_novomodules
8393 Audio filters: $_noafmodules
8395 'config.h' and 'config.mak' contain your configuration options.
8396 Note: If you alter theses files (for instance CFLAGS) MPlayer may no longer
8397 compile *** DO NOT REPORT BUGS if you tweak these files ***
8399 'make' will now compile MPlayer and 'make install' will install it.
8400 Note: On non-Linux systems you might need to use 'gmake' instead of 'make'.
8405 if test "$_mtrr" = yes ; then
8406 echo "Please check mtrr settings at /proc/mtrr (see DOCS/HTML/$_doc_lang/video.html#mtrr)"
8407 echo
8410 if not x86_32; then
8411 cat <<EOF
8412 NOTE: Win32 codec DLLs are not supported on your CPU ($host_arch) or your
8413 operating system ($system_name). You may encounter a few files that cannot
8414 be played due to missing open source video/audio codec support.
8420 cat <<EOF
8421 Check $TMPLOG if you wonder why an autodetection failed (make sure
8422 development headers/packages are installed).
8424 NOTE: The --enable-* parameters unconditionally force options on, completely
8425 skipping autodetection. This behavior is unlike what you may be used to from
8426 autoconf-based configure scripts that can decide to override you. This greater
8427 level of control comes at a price. You may have to provide the correct compiler
8428 and linker flags yourself.
8429 If you used one of these options (except --enable-gui and similar ones that
8430 turn on internal features) and experience a compilation or linking failure,
8431 make sure you have passed the necessary compiler/linker flags to configure.
8433 If you suspect a bug, please read DOCS/HTML/$_doc_lang/bugreports.html.
8437 if test "$_warn_CFLAGS" = yes; then
8438 cat <<EOF
8440 MPlayer compilation will use the CPPFLAGS/CFLAGS/LDFLAGS set by you, but:
8442 *** *** DO NOT REPORT BUGS IF IT DOES NOT COMPILE/WORK! *** ***
8444 It is strongly recommended to let MPlayer choose the correct CFLAGS!
8445 To do so, execute 'CFLAGS= ./configure <options>'
8450 # Last move:
8451 rm -f "$TMPO" "$TMPC" "$TMPS" "$TMPCPP"